18
Universität Heidelberg Seminar: Verschlüsselungsalgorithmen im Internet Prof. Dr. Reinelt und D. Ahr PGP Pretty Good Privacy Referent: Dirk Zechnall SS 2001

PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

Embed Size (px)

Citation preview

Page 1: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

Universität HeidelbergSeminar: Verschlüsselungsalgorithmen im Internet

Prof. Dr. Reinelt und D. Ahr

PGP

Pretty Good Privacy

Referent: Dirk ZechnallSS 2001

Page 2: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

Inhaltsverzeichnis

1 Allgemeines.................................................................................................................1

2 Geschichte von PGP („the Pretty Good revolution“(Adam Back)).......................1

3 Vorteile von PGP........................................................................................................2

4 Geschichten am Rande..............................................................................................2

5 PGP Vorgehensweise.................................................................................................3

6 Die Verschlüsselungsalgorithmen, Kompressions- und Hashverfahren...............4

6.1 Die symmetrischen Verfahren.................................................................................4

6.1.1 Block Chiffre Modi.............................................................................................4

6.1.2 IDEA (International Data Encryption Algorithm)..............................................5

6.1.3 CAST..................................................................................................................5

6.1.4 Triple DES (Data Encryption Standart)..............................................................5

6.1.5 AES (Advanced Encryption Standart)................................................................5

6.1.6 Twofish...............................................................................................................5

6.2 Die asymmetrischen Verfahren...............................................................................5

6.2.1 RSA (Rivest, Shamir, Adleman)........................................................................6

6.2.2 ElGamal/DSS (Digital-Signature-Standart)........................................................6

6.3 Die Hashverfahren...................................................................................................6

Page 3: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

6.3.1 MD5 (Message-Digest-Algorithm Version 5)....................................................6

6.3.2 SHA (Secure Hash Algorithm)...........................................................................6

6.4 Die Kompressionsverfahren....................................................................................6

6.4.1 LZS (Stac compression)......................................................................................6

6.4.2 Deflate.................................................................................................................7

7 Schlüsselkennung (Schlüssel ID)...............................................................................7

8 Zufallszahlen...............................................................................................................7

9 Schlüsselerzeugung....................................................................................................7

10 Passphrase (Passwort Phrase, Mantra)....................................................................8

11 Public Schlüssel Verwaltung.....................................................................................8

11.1 Austausch öffentlicher Schlüssel.............................................................................8

11.2 Fingerabdrücke und Passbilder................................................................................9

11.3 Web Of Trust...........................................................................................................9

11.3.1 Public-Schlüssel-Zertifikate..............................................................................10

11.3.1.1 Weitere Zertifizierungsmöglichkeiten.............................................................10

11.3.2 Unterschreiben eines Schlüssels.......................................................................10

11.3.3 Unterschreiben des eigenen Schlüssels.............................................................11

11.4 Certification Authority (CA, Zertifizierungsinstanz)............................................11

11.4.1 Stable Large Email Database (SLED)..............................................................11

Page 4: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

11.4.2 Heise Verlag: C’t-Krypto-Kampagne...............................................................11

12 Bekannte (nur zum Teil gebannte) Sicherheitsprobleme von PGP.....................12

12.1 ADK-Gau (dokumentiert am 23/24.08.2000).......................................................12

12.2 KLIMA-ROSA-Angriff (20.03.2001)...................................................................12

12.3 ASCII ARMOR PARSER (09.04.2001)...............................................................12

13 Weitere Nutzung von PGP......................................................................................13

13.1 PGPdisk.................................................................................................................13

13.1.1 PGPwiping / PGPfreeSpaceWiping..................................................................13

13.2 PGPfone.................................................................................................................13

13.3 PGPnet...................................................................................................................13

14 PGP Versionen.........................................................................................................13

15 Literatur ....................................................................................................................14

15.1 Bücher....................................................................................................................14

15.2 Internet...................................................................................................................14

Page 5: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

PGP – Pretty Good Privacy 1

„If privacy is outlawed, only outlaws will have privacy.“(Philip Zimmermann)

1 Allgemeines

PGP steht für „Pretty Good Privacy“, zu deutsch etwa „recht gute Privatsphäre“. Es handeltsich um ein hochsicheres Ver- und Entschlüsselungsprogramm, das für sehr vieleverschiedene Rechner und Betriebssysteme existiert, so z.B. auf Amiga, Atari, Macintosh,MS-DOS, Microsoft Windows (3.1, 3.11, 95, 98, 2000, NT), Unix, Linux, etc.OpenPGP ist ein Standart (für fast alle E-Mail Verschlüsselungsprogramme der Welt), der ausdem Datenformat von PGP 5.x/6.x entwickelt wurde. Die Internet Engineering Task Force(IETF) hat diesen Standart (mit Namen RFC 2440) 1997 festgelegt. RFC 2440 definiert allewichtigen Konventionen der in Kapitel 6-11 beschriebenen Elemente von PGP.GnuPG steht für „Gnu Privacy Guard“, also „Gnu-Wächter für Privatsphäre“. GnuPG ist einefreie Implementation des OpenPGP-Standards. Es ist derzeit unter den meisten Unix-Varianten und (mit leichten Einschränkungen) Windows 95/98/2000/NT einsetzbar.PGP und GnuPG gestatten den Austausch von Nachrichten ohne Verzicht auf Privatsphäre,Authentifikation und Komfort. Hierbei verstehen man unter Privatsphäre, dass eine Nachrichtnur von den gewünschten Adressaten gelesen werden kann, unter Authentifikation, dass eineNachricht überprüfbarerweise von der Person stammt, von der sie zu stammen scheint(elektronische Unterschrift), und unter Komfort, dass der Anwender sich keine unnötigenGedanken darüber machen muss, wo er welche Schlüssel aufbewahrt und welchen Schlüsseler zum Datenaustausch mit wem benutzt. Dies ist einer der Schwachpunkte beiherkömmlicher Verschlüsselungssoftware.

2 Geschichte von PGP („the Pretty Good revolution“(AdamBack))

- 1976 erfinden die Kryptographen Whitfield Diffie und Martin Hellman die public keyVerschlüsselung

- 1977 erfinden Ron Rivest, Adi Shamir, und Len Adleman am MIT (MassachusetsInstitute for Technology) das public key Verfahren RSA (beruht auf dem Problem derFaktorisierung von großen Zahlen).

- Interessant ist, dass Patentrechte an RSA außerhalb den Vereinigten Staaten nichtvergeben wurden, da im Gegensatz zu Amerika dort Patentrechte vor derVeröffentlichung angemeldet werden müssen.

- 1991 Senats-Beschluss 266, der beinhaltet, dass jede Verschlüsselungssoftware eineHintertür beinhalten muss, die der Regierung erlaubt Einsicht zu nehmen.

- Dieser Beschluss veranlasste Zimmermann PGP (verbesserte Version 2.0) zu schreibenund so schnell wie möglich mit der Hilfe einiger Freunde PGP im Internet zuveröffentlichen und aus den Staaten zu exportieren, bevor der Beschluss in Kraft trat.

„trying to control the free flow of information on the internet is like trying to plug asieve (dt. Sieb) with a hole in it” (Quelle unbekannt)

„National borders are just speed bumps on the information superhighway” (TimMay)

Page 6: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

PGP – Pretty Good Privacy 2

- Nach in Kraft treten des Beschlusses werden Ermittlungen gegen Zimmermann vonSeiten der amerikanischen Regierung (und NSA) geführt. Sie können ihm jedoch nichtsanhängen, da er PGP 1.0 schriftlich beigefügt hat, dass er keine Verantwortung fürandere übernimmt, die PGP ohne Erlaubnis exportieren. (Zimmermann wurde durcheinen „legal defense fund“ bei Verhandlungen finanziell unterstützt)

- Der Verstoß gegen Patentrechte für RSA in Amerika veranlasste Zimmermann PGP 2.5mit einer langsameren Version von RSA (RSAREF 1.0) herauszubringen.

- 1996 gründet Zimmermann - nachdem die Ermittlungen gegen ihn eingestellt wurden –die Firma PGP Included, die ende 1997 von Network Associates übernommen wird

- Interessant ist, dass Exportverletzungen von PGP in den USA von der ITAR(International Traffic in Arms Regulation) geahndet werden, d.h. PGP wird als Waffeangesehen.

Schön nachzulesen in URL: http://www.cypherspace.org/~adam/timeline/

3 Vorteile von PGP

- sichere Kommunikation zwischen Personen, die sich nie direkt getroffen haben müssen –ein abhörsicherer Kanal für den Austausch eines Schlüssels ist nicht erforderlich!

- PGP ist schnell!- PGP bietet digitale Unterschriften!- PGP bietet eine ausgefeilte Schlüsselverwaltung!- PGP komprimiert die Daten und spaltet sie gegebenenfalls auf um eine schnellere

Übertragung per E-Mail zu gewährleisten!- PGP ist auf beinahe jedem Betriebssystem einsetzbar!

4 Geschichten am Rande

- „Ich bin von der Sicherheit von PGP nicht so überzeugt, wie während meines Studiumsvon der Sicherheit meines „genialen“ Verschlüsselungsverfahrens. Wäre ich von PGPvollkommen überzeugt, wäre das ein schlechtes Zeichen. Aber ich bin ziemlich sicher,dass PGP keine ins Auge springenden Schwachstellen hat. Die Algorithmen, die in PGPverwendet werden, stammen von zivilen Kryptographen mit sehr gutem Ruf, und sie sindeingehend untersucht worden. Selbstverständlich ist der komplette Sourcecode erhältlich,so dass jeder, der programmieren kann (oder eine vertrauenswürdige Bekannte hat, diedazu in der Lage ist), das System durchleuchten kann. Der Quellcode ist über Jahreprofessionell entwickelt worden. Im übrigen arbeite ich nicht für die NSA. Ich hoffe,dass der Schritt, Vertrauen in PGP zu gewinnen, nicht zu viel Überwindung kostet.“(Philip Zimmermann, 1995)

- Brian Snow, ein hochrangiger Kryptograph der NSA, eines der US-amerikanischenGeheimdienste, sagte einmal, er würde keinem Verschlüsselungsalgorithmus über denWeg trauen, der von jemandem entwickelt sei, der nicht sehr viel Erfahrung mit demKnacken von Verschlüsselungen hat. Eine durchaus sinnvolle Einstellung. Im Bereichder kommerziellen Softwareentwicklung scheint es fast niemanden zu geben, auf dendieses Kriterium zutrifft. Snow sieht das ähnlich: „Und das macht unseren Job bei derNSA um einiges einfacher.“ Gruselige Vorstellung.

Page 7: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

PGP – Pretty Good Privacy 3

5 PGP Vorgehensweise

Um die Vorgehensweise von PGP zu verstehen, muss man drei Dinge verstanden haben (dasjedoch nur oberflächlich):1. Was ist ein Public- und ein Private-Key2. Wie verschlüsselt PGP Nachrichten?3. Was ist eine digitale Unterschrift und wie verwendet PGP digitale Unterschriften?

Ad. 1: Bildlich gesprochen (Stallings, 1995) ist ein Public-Key ein Schlüssel, der ein Schlossnur in eine Richtung (z.B. linksherum) drehen/schlissen kann und ein Private-Key einSchlüssel, der dasselbe Schloss nur in die andere Richtung (z.B. rechtsrum)drehen/schließen kann. Der Public-Key wird veröffentlicht, d.h. jedem zugänglichgemacht. Der Private-Key bleibt beim Besitzer und sollte diesem auch nicht abhandenkommen.

Ad. 2: PGP kombiniert zwei Verschlüsselungsverfahren (hybrides Modell). Einsymmetrisches Verfahren und das Public-Key-Verfahren. Zuerst wird der zu sendendeText mittels symmetrischem Verfahrens verschlüsselt unter der Hinzunahme eineszufällig erstellten „Sessionschlüssels“ (vgl. Kapitel 8), danach wird dieserSessionschlüssel mit dem Public-Key des Empfängers verschlüsselt und der Nachrichtangefügt. Diese Nachricht kann jetzt, da sie verschlüsselt ist und nur der Empfänger denPrivate-Key zum entschlüsseln besitzt, über einen unsicheren Kanal (z.B. E-Mail)verschickt werden. Der Empfänger kehrt das Verfahren um indem er mit seinem Private-Key den Sessionschlüssel und danach mit diesem die Nachricht entschlüsselt.

Ad. 3: Eine digitale Unterschrift hat zwei Funktionen:- Man muss mit Sicherheit sagen können, dass ein signierter Text vom Signierer

stammt!- Man muss sicher sein können, dass der Text nach dem Signieren nicht mehr

verändert wurde!Beide Funktionen sind in PGP implementiert. Indem die Nachricht mit dem Private-Keyvom Sender verschlüsselt wird, kann der Empfänger (der seinen Public-Key besitzt) mitSicherheit sagen, dass die Nachricht vom Sender kommt (vorausgesetzt kein andererbesitzt den Private-Key vom Sender). Das ist jedoch noch nicht ausreichend um diezweite Forderung an eine digitale Signatur zu erfüllen: die Nachricht könnte unterwegsverändert werden, ohne dass der Empfänger etwas davon merkt. Darum erstellt PGP vordem Verschlüsseln der Nachricht mit dem Private-Key einen 160-Bit-Hash-Code derNachricht. Diesmal muss nur der Hash-Code verschlüsselt werden (die Nachricht bleibtlesbar) und beide Funktionen sind erfüllt. Der Empfänger kann nämlich den Hash-Codeder Nachricht ermitteln, die Nachricht entschlüsseln (mit dem Public-Key) und beideHash-Codes vergleichen. Mann nennt also einen mit dem Private-Key des Signierersverschlüsselten Hasch-Code einer Nachricht die digitale Unterschrift.

Page 8: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

PGP – Pretty Good Privacy 4

Jetzt zu der Reihenfolge der verwendeten Verfahren in PGP:

Funktion Verw. Algorithm. BeschreibungDigitale Unterschrift RSA, SHA1 SHA1 erstellt von einer Nachricht

einen Hash-Code. Dieser wird mit demprivate-Schlüssel (RSA) vom Senderverschlüsselt und der Nachrichtbeigefügt

Komprimierung ZIP Komprimierung zu Übertragungs- undSpeicherzwecken

NachrichtenverschlüsselungCAST / IDEA, RSA Ein CAST bzw. IDEA Session-Schlüssel verschlüsselt die Nachricht.Dieser Session-Schlüssel wird mit dempublic-Schlüssel (RSA) vomEmpfänger verschlüsselt und in dieNachricht eingefügt

E-Mail-Kompatibilität Radix 64 ASCII Armor(6-Bit ASCII-Code)

Verschlüsselung erzeugt verkürzte 8-Bit-Bytes. Radix 64 wandelt diese inASCII-Format um (= ASCII-Armor =drei 8-Bit-Blöcke werden zu vier 6-Bit-Blöcken zusammengefasst)

Aufspaltung ----- Für eine möglichst schnelle undsichere Übertragung spaltet PGPNachrichten vor dem Senden auf undsetzt sie später beim Empfängerwieder zusammen

PGP Vorgehensweise

6 Die Verschlüsselungsalgorithmen, Kompressions- undHashverfahren

6.1 Die symmetrischen Verfahren

6.1.1 Block Chiffre Modi

- ECB (Electronic Codebook): derselbe Klartextblock wird immer auf denselben Outputabgebildet.

Nachteile von ECB: der Klartextblock kann erstens wiedererkannt werden und es ist zweitensmöglich, Nachrichten zu verändern, ohne die Verschlüsselung umgehen zu müssen.- CFB (Cipher Feedback): Rückführung der verschlüsselten Textes (von PGP benutzt bei

allen symmetrischen Verfahren)- CBC (Cipher Block Chaining): Verkettung von Blöcken verschlüsselten TextesVorteile von CFB und CBC: der Klartext wird vor der Verschlüsselung mit dem vorherigenverschlüsselten Block verknüpft, damit hängt die Verschlüsselung sowohl vom Klartextblockals auch der Nachricht vor diesem Block ab.

Page 9: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

PGP – Pretty Good Privacy 5

6.1.2 IDEA (International Data Encryption Algorithm)

Entwickler: Xuejia Lai und James Massey an der Eidgenössischen technischen Hochschule inZürich128 Bit-SchlüsselVorteil: sehr schnellDie EFF (electronic frontier foundation, http://www.eff.org/) hat die Machbarkeit 1998demonstriert DES zu knacken, indem sie ein Gerät gebaut haben, das eine DES-Verschlüsselung in maximal sieben Stunden auflöst. Mit einer vergleichbaren Hardware fürIDEA bräuchte ein Angriff etwa 7*2 (128-56)=33,056,565,380,087,516,495,872 Stunden, wasetwa 4*1018 Jahren entspricht. Zum Vergleich: Das Alter des Weltalls wird derzeit auf etwa1.5*109 Jahre geschätzt, also etwa ein Milliardstel der Zeit, um mit aktueller, spezielloptimierter Hardware eine 128 Bit-Verschlüsselung zu brechen.

6.1.3 CAST

Entwickler: Carlisle Adams und Stafford Tavares64 Bit-SchlüsselVorteil:- verwendet im Gegensatz zu DES keine festen S-Boxen, sondern es werden für jede

Anwendung neue konstruiert (S-Boxen hängen nicht vom Schlüssel ab)- widersteht differentieller und linearer Kryptanalyse(Nachteil: relativ kurzer Schlüssel mach Brute-Force-Angriff schneller)

6.1.4 Triple DES (Data Encryption Standart)

112 Bit-SchlüsselNachteile von 3DES gegenüber IDEA:- Langsamer- 112-Bit Schlüssellänge- Vertrauensfrage (NSA hat wahrscheinlich bei der Entwicklung von DES die Finger im

Spiel gehabt à man vermutet Hintertüren in den noch nicht ganz verstandenen Teilen)Vorteil von 3DES: es ist frei von Lizenzgebühren

6.1.5 AES (Advanced Encryption Standart)

Entwickler: Rijndael, basiert auf DES

6.1.6 Twofish

Entwickler: Counterplane Labs

6.2 Die asymmetrischen Verfahren

Ab Version 6.5.1 unterstützt PGP zwei Schlüsselarten - den herkömmlichen, in älteren PGP-Versionen verwendeten RSA-Schlüssel und den neuen ElGamal/DSS-Schlüsseltyp, der einhöheres Maß an Sicherheit (bei gleicher Schlüssellänge) im Internet bietet. Jedoch gibt esBefürworter von RSA, da der Algorithmus schon viel länger untersucht worden ist und bishernoch nicht geknackt wurde.Nachteil: langsamer als symmetrische VerfahrenVorteil: einfacher und sicherer Schlüsselaustausch

Page 10: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

PGP – Pretty Good Privacy 6

6.2.1 RSA (Rivest, Shamir, Adleman)

RSA ist das bekannteste und am besten untersuchte asymmetrische Verfahren. Es lässt sichsowohl für Verschlüsselung als auch für elektronische Unterschriften einsetzen. Der größteNachteil von diesem Verfahren war, dass es in den USA patentiert war. Jedoch ist diesePatent seit dem 20. September 2000 ausgelaufen.Vorteil: RSA ist das bekannteste und am besten untersuchte asymmetrische Verfahren

6.2.2 ElGamal/DSS (Digital-Signature-Standart)

Das Verfahren nach ElGamal ist eine Modifikation des ersten asymmetrischen Verfahrens,das 1976 von Diffie und Hellman veröffentlicht wurde. Das Verfahren nach Diffie-Hellmaneignet sich ausschließlich dazu, über einen öffentlichen, bidirektionalen Kommunikationsweg(also beispielsweise eine Internet-Verbindung oder per Telephon) einen geheimen Schlüsselzu vereinbaren, ist aber für E-Mail nicht geeignet.Der ElGamal/DSS-Schlüsseltyp kann einen Masterschlüssel zum Unterschreiben sowiemehrere Verschlüsselungsteilschlüssel enthalten. Daneben kann er in mehrere Teile aufgeteiltwerden. Das Verfahren ist nicht mehr patentiert.Vorteil: vermutlich höhere Sicherheit bei gleicher Schlüssellänge als bei RSAAchtung: PGP verwendet fälschlicherweise den Kürzel DH (=Diffie-Hellman) obwohl derAlgorithmus von ElGamal dahinter steckt.

6.3 Die Hashverfahren

6.3.1 MD5 (Message-Digest-Algorithm Version 5)

Entwickler: Ron Rivest (1992)128 Bit-HaschfunktionNachteil: vor einem Jahr geknackt worden

6.3.2 SHA (Secure Hash Algorithm)

Entwickler: NSA, NIST(National Institute for Standards and Technology) (1992)Aus dem „digital signature standard“ und von MD4 abgeleitet.160 Bit-Haschfunktion à besseren Schutz gegen Brute-Force-AngriffeVorteil: hat kryptanalytischen Angriffen bisher standgehalten

6.4 Die Kompressionsverfahren

Vorteil:- Spart Übertragungszeit und Festplattenkapazität- Erhöht die Sicherheit der Verschlüsselung (reduziert Redundanz)PGP besitzt internes Kompressionsprogramm, jedoch kann auch jedes andere Programm zurKompression verwendet werden. Vor Version 7 wurde das Freeware Zip-Verfahren vonGailly, Adler und Wales basierend auf Pkzip 2.0 von PKWare verwendet. Version 7.0.3benutzt zur Kompression LZS oder Deflate.

6.4.1 LZS (Stac compression)

Entwickler: Storer und Szymanski (1982)Basiert auf LZW-Algorithmus.

Page 11: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

PGP – Pretty Good Privacy 7

6.4.2 Deflate

Wird zur Kompression von PNG (Portable Network Graphics) benutzt. Ist schneller undeffizienter als LZW.

Infos zu Kompressionsverfahren findet man auf der Seite der Universität Karlsruhe URL:http://goethe.ira.uka.de/seminare/redundanz/.

7 Schlüsselkennung (Schlüssel ID)

Jeder PGP-Schlüssel hat zusätzlich zum Namen und der E-Mail-Adresse eine Kennung, dieaus den vom Programm generierten Schlüsseldaten abgeleitet wird. Diese Kennung verwendetPGP intern (d.h., ohne den Benutzer damit zu behelligen), um die Schlüssel voneinander zuunterscheiden. Zwei verschiedene Schlüssel können dieselbe Benutzer-ID haben, dieKennung aber ist aller Wahrscheinlichkeit nach stets verschieden.PGP (Versionen 5.x/6.x/7.x, OpenPGP, GnuPG) verwendet die letzten 64 Bit des Public-Schlüssels, von denen nur die letzten 32 Bit angezeigt werden, z.B. 0x6ce93239.

8 Zufallszahlen

Zufallszahlen benötigt das Erzeugen eines Schlüsselpaares, die Wahl eines session key undaus technischen Gründen auch die asymmetrische Verschlüsselung oder das Unterschreiben.„Echte Zufallsdaten“ (z.B. Umgebungslärm: Schwankungen von Festplattengeschwindig-keiten, Mausbewegungen, Zeitmessungen von Tastatureingaben, aktuelle Uhrzeit,...) sinddabei Basis eines kryptographisch zuverlässigen Pseudozufallszahlengenerators, umwechselnde Einmal-Schlüssel für die konventionelle Verschlüsselung einzelner Dateien zuerzeugen.Die Datei randseed.bin erstellt solche Zufallszahlen. Sie sollte wenigstens etwas geschütztsein, obwohl PGP sie vor und nach jeder Benutzung kryptographisch "in die Mangel nimmt".Denn ein Angreifer könnte die nächsten Schlüssel, die PGP generieren wird, oder die letztenSchlüssel, die PGP generiert hat, berechnen.Um sicher zu gehen, kann die Datei randseed.bin vor jedem Start von PGP einfach gelöschtwerden. Allerdings muss man dann für die Verschlüsselung eines Klartextes jedesmalungefähr 90 Tastendrücke für die Erzeugung einer echten Zufallszahl ausführen. Hierbeisammelt PGP deutlich mehr Informationen als benötigt und speichert das „mehr“ in derrandseed.bin. Normalerweise sind neue Tastatureingaben nur nötig, wenn PGP dieZufallsinformationen in der randseed.bin „aufgebraucht“ hat.

9 Schlüsselerzeugung

Man soll sich auf jeden Fall auch ein RSA-Key-Paar erzeugen, um mit Personenkommunizieren zu können die PGP vor Version 5.0 benutzen. Dieser Personenkreis ist nachwie vor in der Mehrzahl, wodurch ein persönlicher RSA-Key fast als Pflicht zu bezeichnenist. Zusätzlich gibt es bei PGP-Puristen starke Vorbehalte gegen die DH/DSS-Keys da hier beider Firmenversion von PGP „Nachschlüssel“ konfiguriert werden können (fraglich ob noch inPGP 7.0.3 möglich?).

Page 12: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

PGP – Pretty Good Privacy 8

10 Passphrase (Passwort Phrase, Mantra)

Die Passphrase ist ein langes Passwort, das der Verschlüsselung des Private Keys dient. ImGegensatz zu einem Rechnerpasswort sollte man hier auch tatsächlich einen ganzen Satz (mitSatzzeichen) verwenden, diesen im Gedächtnis behalten und ähnlich wie ein PIN nieaufschreiben. Zu beachten ist, dass- man ohne Kenntnis der Passphrase nie wieder an den eigenen Private-Key gelangt.- die Passphrase den Private-Key gut schützen muss. Immerhin kann sich damit jemand bei

digitalem Informationsaustausch die Identität des Anderen verleihen.Nach Philip Zimmermann sollte man daher 5 Regeln zur Erstellung einer Passphrasebeachten:1. Passphrase sollte nicht so leicht erraten werden können!2. Passphrase sollte leicht zu merken sein!3. Passphrase sollte leicht einzugeben sein!4. Passphrase sollte einmalig sein!5. Auf jeden Fall Regel Nummer 1 befolgen!

Und folgende weitere Regeln nach Stallings Garfinkel und anderen:6. Passphrase sollte länger als 8 Buchstaben sein (je länger desto besser)!7. Passphrase sollte keine Namen bzw. Daten (z.B. Geburtsdaten) von Personen aus der

Verwandtschaft oder dem Freundeskreis enthalten!8. Passphrase sollte keine gängigen Wörter aus Wörterbüchern enthalten!9. Passphrase sollte keine Permutationen aus 2. und/oder 3. enthalten!

11 Public Schlüssel Verwaltung

Die Verwaltung der öffentlichen Schlüssel ist die „Archillessehne“ der Public-Key-Verschlüsselung und ein Großteil der Software von Verschlüsselungsprogrammen dient nurdiesem Zweck.

11.1 Austausch öffentlicher Schlüssel

Möglichkeiten:- 2 Personen tauschen direkt (physischer Austausch) ihre öffentlichen Schlüssel- 2 Personen tauschen per E-Mail ihre öffentlichen Schlüssel- 2 Personen tauschen via public-Schlüssel-Server ihre öffentlichen SchlüsselProbleme:- Beim Austausch per Mail existiert die Gefahr des „Lauschangriffs“: Person 1 (P1)

schickt seinen öffentlichen Schlüssel an Person 2 (P2). Ein Unbekannter (U) fängt dieNachricht ab, speichert den Schlüssel von P1 und schickt P2 einen Schlüssel den Uerstellt hat, jedoch mit der UserID von P1. Genauso macht er es umgekehrt(Schlüsselübergabe von P2 nach P1). Jetzt kann U alle Nachrichten zwischen P1 und P2lesen.

- Beim Austausch via public-Schlüssel-Server sollte gewährleistet werden, dass zu derjeweiligen UserID auch der private-Schlüssel-Inhaber gehört den man in „real life“erwarten würde.

Welche Möglichkeiten gibt es in PGP um diese Probleme so weit wie möglich zu umgehen?

Page 13: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

PGP – Pretty Good Privacy 9

11.2 Fingerabdrücke und Passbilder

Der Fingerabdruck eines öffentlichen Schlüssels ist ein 160-Bit SHA1-Hash-Code (~40 Hex-Zeichen). Dieser repräsentiert eindeutig einen öffentlichen Schlüssels (dieWahrscheinlichkeit, dass 2 Schlüssel den gleichen Fingerabdruck haben beträgt weniger als1,2*1024). Darum besteht also die Möglichkeit über einen sicheren Weg den öffentlichenSchlüssel anhand des Fingerabdrucks zu verifizieren. Man kann ihn z.B. auch an E-Mails (viaE-Mail-Signatur Funktion) anhängen, auf Homepages veröffentlichen oder per Telefonaustauschen.Zusätzlich kann man in PGP Version 7.0.3 dem öffentlichen Schlüssel auch Passbilderanhängen, die keine sichere, jedoch zusätzliche Identifikation bieten.

11.3 Web Of Trust

Ein Netz auf Vertrauensbasis kennt man aus dem täglichen Leben. Es gibt Menschen, denenman vertraut, und solche, bei denen man vorsichtig ist. Unter denen, den wir vertrauen,unterscheiden wir zusätzlich solche, mit der Eigenschaft, dass wir in Menschen ihresVertrauens wiederum vertrauen können. PGP benutz dieses (doch recht kompliziertklingende) Vertrauensmodell und unterscheidet zwei Kriterien:Trust : Vertrauensparameter. Vertrauen, dass man einem User zubilligt und damit auch dasVertrauen in einen Key, der von diesem User signiert wurde. Dieser Parameter bestimmt vorallem das Vertrauen in die Fähigkeit eines Users andere Schlüssel zu zertifizieren.Validity : Gültigkeit, Authentizität eines Public Keys. Bezeichnet den Grad, inwieweit derPublic Key wirklich dem User zuzuordnen ist.

Abbildung 1: Ein Beispiel für die PGP-Vertrauenssicherung

Als Benutzer hat man also die Möglichkeit Public-Schlüssel-Zertifikate (s. Kapitel 11.3.1) zusignieren um damit die Gültigkeit (Validity) eines öffentlichen Schlüssels zu bestätigen. Dereigene Schlüssel ist per Definition gültig und wird von sich selber unterschrieben (warum?

Page 14: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

PGP – Pretty Good Privacy 10

Siehe Kapitel 11.3.3). Als zweite Option kann man das Vertrauen in ein zuvorunterschriebenen Schlüssel geben indem man einen Regler in drei Stufen von „untrusted“nach „trusted“ schieben kann (die mittlere Stufe des Reglers zeigt an, dass man sich nichtsicher ist, ob man der Person traut oder nicht). Indem man einer Person, deren Schlüssel manzuvor unterschrieben hat, vertrauen gibt, werden weitere öffentliche Schlüssel für einengültig, die die „Person des Vertrauens“ unterzeichnet hat (als Beispiel s. Abbildung 1).Ein somit entstehendes Vertrauensnetz wird passenderweise „web of trust“ genannt. DieGefahren hierbei sind – analog zum realen Leben – der nicht verantwortungsvolle Umgangmit Vertrauen.

11.3.1 Public-Schlüssel-Zertifikate1

Die Schlüssel werden in sogenannten Schlüsselzertifikaten ("key certificates") aufbewahrt,die außer dem Schlüssel selbst noch einen kurzen Text mit Namen und E-mail/Netzadresse(Benutzer-ID, ab Version 5 Unicode-Zeichen verwendbar) des Inhabers und den Vermerk,wann der Schlüssel erzeugt wurde, enthalten. "Public key certificates" enthalten dieöffentlichen Schlüssel, während "secret key certificates" die privaten Schlüssel beinhalten.(Normen sind dabei RfC1991 als "altes Format" und RfC2440 als „neues Format“, sieheOpenPGP in Kapitel 1). Ein Schlüsselzertifikat ist also der öffentliche Schlüssel und seineBenutzer ID.Im neuen Datenformat ab Version 5 hat man die Möglichkeit, innerhalb eines Zertifikatesmehrere Schlüssel (mit einer gemeinsamen User-Kennung) zu haben. Vorteile:- Mehrere kurzweilige Schlüssel können mit einem länger gültigen Schlüssel

(Masterschlüssel) unterschrieben werden- Verschiedene Algorithmen können in verschiedenen Schlüsseln für Unterschriften und

Verschlüsselung verwendet werden.Von einem Signaturschlüssel-Zertifikat bzw. einer Zertifizierungsstelle im Sinne desSignaturgesetzes SigG (Teil des Gesetzes zur Regelung der Rahmenbedingungen fürInformations- und Kommunikationsdienste, IuKDG) kann demnach natürlich nicht die Redesein. Eine Zertifizierungsstelle im Sinne des SigG hat sich von der Zuordnung einesöffentlichen Signaturschlüssels (Public-Key) zu einer natürlichen Person zuverlässig zuüberzeugen. In Kapitel 11.4 sind denkbar Verfahren beschrieben.

11.3.1.1 Weitere Zertifizierungsmöglichkeiten

Verfahren um die Echtheit eines Schlüssels zu überprüfen:- Abrufmöglichkeit des Keys von der Homepage.- Automatische Anforderung des Keys per E-Mail (bietet u.a. Pegasus-Mail)- Anhang des Key-Fingerprints (z.B. F606 6582 A66A 8277 3B6B 4E4B AE76 D28E) an

jede ausgehend Mail.- Notfalls telefonischer Abgleich des Fingerprints. Hier bietet PGP ab Version 6.5.1i auch

eine Neuerung. Der obige Hexcode wird jetzt auch in unverwechselbarer Form, ähnlichzu einem Buchstabieralphabet, auf englische Wörter abgebildet. Die sind dann amTelefon leichter vorzulesen.

11.3.2 Unterschreiben eines Schlüssels

Wie schon erwähnt drückt das Unterschreiben eines Schlüssels das Vertrauen in die

1 Die Idee der Public-Schlüssel-Zertifikate wurde zum ersten Mal in einer Diplomarbeit (Kohnfelder, L.

Towards A Practical Public-Key-Cryptosystem, MIT, Mai 1978) entwickelt. Weil die Public-Schlüssel-Zertifikate inzwischen so eine wichtige Rolle spielen, ist sie wahrscheinlich eine der am häufigstenerwähnten Diplomarbeiten überhaupt.

Page 15: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

PGP – Pretty Good Privacy 11

Gültigkeit des Schlüssels und Besitzers aus. Der verantwortungsvolle Umgang mit demVergeben solcher Unterschriften ist die Basis des „web of trusts“ und einziger Garant für eine„pretty secure communication“.

11.3.3 Unterschreiben des eigenen Schlüssels

Das Unterschreiben des eigenen Schlüssels hat den Vorteil von digitalen Unterschriftenallgemein:- Der Schlüssel stammt mit Sicherheit von demjenigen, der den Private-Schlüssel des

Signierers hat (hoffentlich er selbst)- Der Schlüssel kann nicht unbemerkt verändert werden (dank Hash-Code)Darum wird grundsätzlich von PGP jeder erstellte Schlüssel automatisch unterschreiben.

11.4 Certification Authority (CA, Zertifizierungsinstanz)

Bei der Erzeugung seines Schlüssels gibt ein PGP-Anwender seine E-Mail-Adresse undseinen Namen in der Benutzerkennung an. Dabei könnte er allerdings schummeln; deshalbmuss man sich vor der Benutzung eines Public-Keys davon überzeugen, dass er auch wirklichzu seinem vorgeblichen Adressaten gehört. Besonders schwierig ist das, wenn man sich(noch) nicht persönlich kennt. Die „Echtheit“ eines Schlüssels kann aber auch durch dieDigitale Signatur eines Dritten bestätigt werden, dem man vertraut. Wenn dieser „Dritte“ eineallgemein anerkannte Zertifizierungsinstanz ist kann diesem Schlüssel wahrscheinlich vertrautwerden. Denkbare Verfahren der Zertifizierung sind:- Die Person legt ihren Public-Key persönlich zur Zertifizierung bei einer

Zertifizierungsstelle vor. Diese kontrolliert via Personalausweis die Übereinstimmungzwischen Person und Schlüsseldaten und bestätigt anschließend durch eine digitaleUnterschrift des fremden Public-Keys dessen Echtheit (vgl. Kapitel 11.4.2).

- Die Person lässt sich z.B. bei einem Notar oder einem Postamt die Übereinstimmungzwischen Person und Schlüsseldaten bestätigen und schickt dies an dieZertifizierungsstelle (vgl. Kapitel 11.4.1).

11.4.1 Stable Large Email Database (SLED)

Die SLED ist ein Online-Dienst, zu dem eine Datenbank von PGP-Public-Schlüsseln gehört.Public-Schlüssel in dieser Datenbank sind durch SLED signiert, wodurch angezeigt wird, dassdie Authentizität des Anwenders überprüft wurde. Das Antragsformular wird per Postzugeschickt wobei ein Post-ID-Verfahren die Identität des Absenders überprüft. SLED’s sindgebührenpflichtig.

11.4.2 Heise Verlag: C’t-Krypto-Kampagne

Zur CeBIT 97 hat der Heise-Verlag erstmals einen kostenlosen Zertifizierungs-Service fürPGP-Schlüssel angeboten. Die Authentizität der Schlüssels wurde dadurch gewährleistet, dassder Heise-Verlag die dazugehörigen PGP-Fingerprints im nächsten c’t-Heft abgedruckthaben. Mehr dazu unter http://www.heise.de/ct/pgpCA/.

Page 16: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

PGP – Pretty Good Privacy 12

12 Bekannte (nur zum Teil gebannte) Sicherheitsprobleme vonPGP

12.1 ADK-Gau (dokumentiert am 23/24.08.2000)

ADK/CMRK-Key : Additional Decryption Key, ein zusätzlicher Public Key, an den, nebendem Empfänger, (zwangsweise) mitverschlüsselt wird. Auch Corporate Message RecoveryKey genannt.Nach einer Veröffentlichung von Ralf Senderek ( http://senderek.de/security/key-experiments.html) ist es möglich einen öffentlichen Schlüssel so abzuändern, dass er trotzHash-Signatur noch gültig bleibt, jedoch ein Angreifer über den ADK-Schlüssel zugriff aufalle verschlüsselten Texte hat. Er stellte fest, dass der öffentliche Schlüssel aus zwei Teilenbesteht, wobei der erste Teil mit der Hash-Funktion signiert ist, der zweite Teil jedoch durchkeinen Hash geschützt ist. Während also eine Veränderung des ersten Teils zu einer korruptenSignatur führen würde, wäre eine Einbringung oder Abänderung von Informationen imzweiten Teil möglich, ohne das die Signatur und damit die Validität des Keys korrumpiertwäre. Ab Version 6.5.8 ist dieses Problem behoben

12.2 KLIMA-ROSA-Angriff (20.03.2001)

Bennat nach den beiden tschechischen Kryptologen Vlastimil Klima und Tomas Rosa der zurICZ Gruppe gehörenden Firma Decros im Auftrag des tschechischen Geheimdienstes. ImKlima-Rosa Szenario muss ein Angreifer physischen Zugriff auf den private key einerZielperson in Form des privaten Schlüsselbundes, sprich sekring.skr, bzw. des exportiertenprivate keys in Form einer Datei nehmen. Der Angreifer führt einige wenige Modifikationenin den öffentlichen und geheimen Bestandteilen des Datenpakets aus, das den private keyenthält und schiebt diese modifizierte Version der Zielperson unter.Wenn die Zielperson das nächste Mal Signaturen mit dem modifizierten private key erstelltund der Angreifer im Besitz einer derart signierten Nachricht ist, kann der Angreifer miteinem Programm aus der Signatur den private key der Zielperson berechnen und anschließenddamit selbst authentische Signaturen im Namen der Zielperson erstellen.Abschließend speichert er die ursprüngliche Version des private keys am Ursprungsortzurück, um seinen Einsatz zu vertuschen.

12.3 ASCII ARMOR PARSER (09.04.2001)

Chris Anley hat festgestellt, dass einer Signatur ein beliebiger Binärcode hinzugefügt werdenkann. Bei einer Überprüfung der Signatur würde dieser Binärcode extrahiert und im aktuellenVerzeichnis gespeichert. So könnte z.B. eine DLL-Komponente von PGP überschriebenwerden. Der ASCII ARMOR PARSER-Angriff kann nur auf Windows Plattformen gestartetwerden. Für Version 7.0.3 existiert bereits ein Patch.

Page 17: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

PGP – Pretty Good Privacy 13

13 Weitere Nutzung von PGP

13.1 PGPdisk

PGP Anwendung mit der CAST-128 verschlüsselte Containerdateien verwendet werden, dieals zusätzliches Laufwerk eingebunden werden. D.h. PGPdisk ermöglicht eine Festplatte(oder einen Teil dieser) so zu konfigurieren, dass z.B. Daten mit drag and drop auf Ihrverschlüsselt abgelegt werden können (nicht in PGP 7.0.3 enthalten).

13.1.1 PGPwiping / PGPfreeSpaceWiping

PGP kann Dateien auf einer Festplatte so löschen, dass sie auch in speziellen Labors nichtmehr restauriert werden können (vergleichbar mit BestCrypt Wipe 2.35 von Jetico, Inc.).

13.2 PGPfone

PGPfone ermöglicht das verschlüsselte telefonieren via Internet (nicht in PGP 7.0.3enthalten).

13.3 PGPnet

Eine mehr oder weniger effiziente Firewall- Implementierung mit PGP.

14 PGP Versionen

PGPVersionen

Algorithmen Anmerkungen

Asymmetrisch Symmetrisch Hash Kompr. Format1.0 RSA Bass-O-Matic MD4 LZHuf Uuencode 91 entstanden

2.0 RSA IDEA MD5 ZIP (Pkzip) (Radix 64)ACSIIArmor

SofortigeVerbesserung dessymmetr. Alg.

5.0 DH(ElGamal) IDEA MD5 ZIP ASCIIArmor

ADK-Gau, ASCIIARMOR PARSER,KLIMA-ROSA-ANGRIFF

6.0 RSA/DH IDEA u.a. MD5 ZIP ASCIIArmor

ADK-Gau, ASCIIARMOR PARSER,KLIMA-ROSA-ANGRIFF, PGPdisk1.0

7.0.3 DH/DSS, RSA CAST, IDEA,AES, 3DES,Twofish

SHA1,MD5

LZS,Deflate

ASCIIArmor

ASCII ARMORPARSER mit Patch,KLIMA-ROSA-ANGRIFF, PGPnet,PGPkeys, PlugIns,letzte Version mitBeteiligung von PhilZimmermann

PGP Versionen (nicht vollständig!)

Page 18: PGP Pretty Good Privacy - iwr.uni- · PDF file-PGP ist auf beinahe jedem Betriebssystem einsetzbar! 4 Geschichten am Rande-„Ich bin von der Sicherheit von PGP nicht so überzeugt,

PGP – Pretty Good Privacy 14

„Why don't you always send your paper mail on postcards?Why require a warrant for police searches of your house?Are you trying to hide something?If you hide your mail inside envelopes, does that mean you mustbe a subversive or a drug dealer, or maybe a paranoid nut?Do law-abiding citizens have any need to encrypt their email?”(Philip Zimmermann)

15 Literatur

15.1 Bücher

Beutelspacher, Albrecht, Jörg Schwenk und Klaus-Dieter Wolfenstetter. Moderne Verfahrender Kryptographie: Von RSA zu Zero-Knowledge. Braunschweig: Vieweg, 1995.

Bins, Elmar K. und Boris-A. Piwinger. Newsgroups: Weltweit diskutieren. Bonn:International Thomson Publishing, 1997.

Coutinho, S. C. The mathematics of ciphers: number theory and RSA cryptography.Natick,MA: A K Peters, 1998.

Garfinkel, Simson L. PGP: Pretty Good Privacy. Bonn: O’Reilly International ThomsonVerlag, 1996.

Smith, Richard E.: Internet-Kryptographie. Boston [u.a.]: Addison-Wesley. 1998.

Schneier, Bruce. E-Mail Security (with PGP and PEM). New York: John Wiley & Sons,1995.

Schneier, Bruce. Angewandte Kryptographie – Protokolle, Algorithmen und Sourcecode in C.Bonn [u.a.]: Addison-Wesley, 1996.

Stallings, William. Datensicherheit mit PGP. München: Prentice Hall Verlag, 1995.

Weikert, Alexandra und Hubert Weikert. Kryptographie mit dem Computer:Verschlüsselungs-Praxis mit PGP. München: Pflaum, 1997.

15.2 Internet

Creutzig, Christopher und Buhl, Andreas. FoeBuD e.V. [Hrsg.]. PGP - Pretty Good Privacy.Der Briefumschlag für Ihre elektronische Post - Deutschsprachige Anleitung zuminternationalen Verschlüsselungsprogramm. URL: http://www.foebud.org/pgp/html/-pgp.html [Stand 12.7.2001].

Heise-Verlag, C’t. URL: http://www.heise.de/ct/pgpCA/pgp.shtml [Stand 12.7.2001].

Raven, Kai. Deutsche Anleitung zu PGP. URL: http://home.nexgo.de/kraven/index.html[Stand 12.7.2001].

PGP Home Page. URL: http://www.pgpi.org/ [Stand 12.7.2001].