Rechnernetze
Home Nach oben Stichworte

Grundkonzepte von PGP

PGP löst das Grundproblem der Kommunikation in öffentlichen Netzen, indem es durch asymmetrische Chiffren einen Schlüsselaustausch durchführt, wobei der Schlüssel mit symmetrischen Chiffren die eigentlichen Daten schützt. OpenPGP ist ein Standard (RFC2440), der die Interoperabilität von PGP sicherstellen will. 

Um eine Nachricht zu verschlüsseln, wird diese mit einem "Sitzungsschlüssel", der vom PGP-System automatisch generiert wird, symmetrisch verschlüsselt. Der Sitzungsschlüssel wird mit dem öffentlichen Schlüssel des Empfängers asymmetrisch verschlüsselt und zusammen mit der Nachricht an den Empfänger geschickt.

Dieser kann zunächst den Sitzungsschlüssel mit seinem privaten Schlüssel asymmetrisch entschlüsseln, und dann mit dem vereinbarten symmetrischen Verfahren die Nachricht entschlüsseln.

Da Kompressionsverfahren auf chiffrierten Texten normalerweise nicht gut arbeiten, sieht OpenPGP vor, vor der Verschlüsselung eine Datenkompression durchzuführen.

   

Um die Nachricht zu authentisieren wird eine Digitale Unterschrift der Nachricht erzeugt. Dazu wird von der (unverschlüsselten und nicht komprimierten) Nachricht ein Hash-Wert erzeugt, der mit dem privaten Schlüssel des Absenders signiert wird. Diese Digitale Unterschrift wird an die Nachricht angehängt.

Der Empfänger bewahrt die Digitale Unterschrift in der verschlüsselten Form auf. Zur Authentisierung wird der Hashwert erneut berechnet und mit der entschlüsselten Digitalen Unterschrift des Absenders verglichen.

Der Standard gestattet, dass nur signierte, also nicht verschlüsselte Nachrichten versendet werden.

Damit verschlüsselte Nachrichten verschickt werden können, müssen diese u.U. in druckbaren ASCII-Code umgewandelt werden. OpenPGP sieht die Umwandlung in das Radix64-Format vor, welches Bytefolgen in Folgen von 7-Bit-Werten mit druckbaren Zeichen darstellt. Dadurch wird die Nachricht u.U. länger als die ursprüngliche Nachricht. Der Standard empfiehlt die Erweiterung dieses Konzepts, wie in OpenPGP-MIME (RFC 2015) beschrieben.

PGP unterstützt zur Zeit RSA und ElGamal (DH/DSS) als asymmetrische und IDEA, 3DES und CAST als symmetrische Verfahren (Abschnitt 5).