Samstag, 31. Juli 2010 |
Der Aufbau eines hierarchischen Zertifizierungssystems unterscheidet sich vom in About Security #80 vorgestellten Web of Trust in einem entscheidenden Punkt: Während sich beim Web of Thrust die Benutzer gegenseitig zertifizieren, geschieht dies bei einem hierarchischen System ausschließlich durch extra dafür eingerichtete, vertrauenswürdige Instanzen. Diese Zertifizierungsstellen (Certificate Authority, CA) zertifizieren sich untereinander gegenseitig und bestätigen damit die Vertrauenswürdigkeit des jeweils anderen. Benutzer können daher den von einer beliebigen CA signierten Schlüsseln vertrauen, sofern deren Zertifikat von einer in ihren Augen vertrauenswürdigen CA signiert wurde. Das Ganze kann als Baumstruktur betrachtet werden, in der das eigene Zertifikat jeder CA sowohl von den über als auch den unter ihr liegenden CAs signiert wurde. An der Spitze kann eine Master-CA stehen, sodass im Idealfall jeder Benutzer die Zertifikate jedes anderen Benutzers prüfen kann.
N E U ! Security
aktuell
Täglich aktuelle Security-Infos!
Möchte Alice Bobs signierte Nachricht prüfen, besorgt sie sich seinen öffentlichen Schlüssel und prüft das Zertifikat. Vertraut sie der ausstellenden CA, z.B. weil sie ihr bereits als zuverlässig bekannt ist, kann sie den Schlüssel danach sofort verwenden. Andernfalls muss sie eine andere CA finden, die ein Zertifikat für die von Bob verwendete CA ausgestellt hat und der sie vertraut.
In der Abbildung wurde Alices Schlüssel von CA A zertifiziert, Bobs von CA B. Beide kennen die Schlüssel der jeweils "eigenen" CA und vertrauen den damit signierten Zertifikaten. CA A hat CA 1 zertifiziert, sodass Alice Zertifikaten vertrauen kann, die von CA 1 ausgestellt wurden. Jetzt muss sie sich in der Hierarchie nach oben durcharbeiten, bis sie eine CA findet, von der aus sie zu CA B gelangt. In der Abbildung ist dies CA 5: Deren Zertifikaten vertraut CA 3 und CA 5 selbst vertraut CA 4. Den Schlüssel von CA 3 vertraut Alice, nachdem sie das zugehörige Zertifikat mit der Signatur von CA 1 geprüft hat. Nachdem Alice also CA 3 ihr Vertrauen geschenkt hat, kann sie der Reihe nach die Zertifikate von CA 5, CA 4, CA 2 und schließlich CA B prüfen.
Es ist durchaus möglich, dass es keinen Weg von Alice zu Bob gibt, da niemand bereit ist, die Vertrauenswürdigkeit von CA B zu bezeugen. Dann muss entweder Bob ein Zertifikat einer anderen CA vorweisen, deren Vertrauenswürdigkeit von Alice geprüft werden kann oder Alice muss sich selbst davon überzeugen, ob sie CA B für vertrauenswürdig hält. Ist beides erfolglos, darf Alice Bobs Signatur nicht trauen.
Das bereits in About Security #73 erwähnte Secure Sockets Layer (SSL)-Protokoll und sein Nachfolger Transport Layer Security (TLS) (definiert in RFC 4346) verwenden ein hierarchisches Zertifizierungssystem.
TLS besteht aus zwei Schichten, dem TLS Record Protocol und den darauf aufbauenden Protokollen TLS Alert, TLS Change Cipher Spec, TLS Handshake und TLS Application Data. Das TLS Record Protocol ist die untere der Schichten und sichert die Verbindung. Es setzt auf die Transportschicht auf (in der Regel TCP, siehe About Security #29) und stellt eine Ende-zu-Ende-Verschlüsselung durch Anwendung symmetrischer Verschlüsselungsalgorithmen und die Sicherung von Integrität und Authentizität durch Hinzufügen eines Message Authentication Code (MAC, siehe About Security #77) zur Verfügung. Das TLS Handshake Protocol in der oberen Schicht ist für die Prüfung der Identität der Kommunikationspartner sowie die Aushandlung und den Austausch des Schlüssels für die symmetrische Verschlüsselung durch das TLS Record Protocol zuständig. Die Aufgaben der weiteren Protokolle in der oberen Schicht: Das TLS Change Cipher Spec Protocol startet die geschützte Kommunikation im ausgehandelten Kontext. Das TLS Alert Protocol wird für den Austausch von Alarmmeldungen verwendet. Das TLS Application Data Protocol dient der transparenten Übertragung der Daten über das TLS Record Protocol. Über dem TLS-Protokoll befindet sich die Anwendungsschicht mit Protokollen wie z.B. HTTPS (siehe About Security #29).
TLS im TCP/IP-Schichtenmodell:
|
||
|
||
|
||
|
||
|
||
|
Der Handshake kann vereinfacht in vier Schritte unterteilt werden:
Der hier interessierende Punkt ist das Prüfen des Zertifikats. SSL und TLS verwenden X.509-Zertifikate, die in RFC 3280 standardisiert wurden.
Allgemeiner Aufbau eines X.509-Zertifikats:
Die Arbeit mit X.509-Zertifikaten wird in der nächsten Folge beschrieben.
Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!
About Security – Übersicht zum aktuellen Thema "Kryptographie - Anwendungen"