Claus Schönleber
 

Geheimnisträger

 © 1996/1999, alle Rechte vorbehalten
(Bearbeitete Version eines im Jahre 1996 auf der Webseite der "DOS - Das PC Magazin" erschienenen Artikels)
 
Schon im Kamasutram ist davon die Rede, Cäsar tat es und auch James Bond. Was Sie schon immer darüber wissen wollten, aber nie zu fragen wagten, wird Ihnen hier erzählt.

Verschlüsseln in der Praxis.

Mit dem Programm PGP (Pretty Good Privacy) von Phil Zimmermann können seit geraumer Zeit auch normale Anwender Hochleistungskryptographie für beliebige Zwecke nutzen. Ob Sie Ihren Schatz den Termin für ein Rendezvous mitteilen wollen oder einem Geschäftspartner eine Mitteilung zukommen lassen wollen, von der die Konkurrenz nichts zu wissen braucht, jeder ist heute in der Lage, seinem individuellen Bedürfnis nach Privatsphäre in entsprechender Qualität Rechnung zu tragen.

Täglich nutzen Millionen von Teilnehmern die Dienste, die über das Internet trannsportiert werden, um Nachrichten auszutauschen. Viele Inhalte haben einen vertraulichen Charakter. Dank größerer Rechenleistungen und dem Programm PGP bleibt Ihre Privatsphäre stets gewahrt.

PGP gibt es für viele Betriebssysteme. Besonders unter UNIX hat es viele Freunde gefunden. Eins vorweg: Es gibt mehr Lösungen als PGP (die Deutsche Telekom AG bietet mit TELESEC ein umfassendes Paket auf diesem Sektor an); gleichwohl gehört PGP zu den bekanntesten Kryptoprodukten auf dem Markt.

Installation, Vorbereitung

PGP kommt in der Regel als ZIP-Datei. Über das Internet finden Sie das Programm unter folgenden Adressen: ftp://ftp.cert.dfn.de/pub/tools/crypt/pgp/pc oder ftp://ftp.funet.fi/pub/crypt/cryptography/pgp-local. Richten Sie zunächst ein Verzeichnis auf Ihrer Festplatte ein. Danach entpacken Sie das ZIP-Archiv in diesem Verzeichnis mit der Option "-d".
 
unzip -d pgp263.zip
Wichtig! Lesen Sie anschließend unbedingt die Installations- und Gebrauchsanleitung.

Tun Sie das nicht, laufen Sie Gefahr, nicht nur sich selbst, sondern auch anderen zu schaden. Nehmen Sie sich Zeit dazu. Wenn Sie der englischen Sprache nicht mächtig sind, sei Ihnen das Buch "Verschlüsselungsverfahren für PC-Daten"; Franzis-Verlag (Feldkirchen), 1995" empfohlen. PGP gehört zu den Programmen, die mit Systemvariablen arbeiten. Folgende zwei Variablen müssen Sie in den Umgebungsbereich der Startdatei eintragen (MS-DOS):
 

SET PGPPATH=C:\PGP SET
PATH=C:\PGP;%PATH%
Achten Sie darauf, daß der Pfad "C:\PGP" auch gesetzt ist (MS-DOS). Als nächstes bearbeiten Sie die Datei CONFIG.TXT im Verzeichnis von PGP (MS-DOS; nicht zu verwechseln mit CONFIG.SYS von MS-DOS!). Dort stehen einige Grundeinstellungen, die Sie an Ihre Bedürfnisse anpassen können. Wie üblich besteht die Datei aus Leerzeilen, Kommentarzeilen (durch ein "#" eingeleitet) und aus Parameterzeilen. Die wichtigsten Parameter in Kurzform:

Bedeutung von Schlüsselpaar und Paßwort

Um PGP jetzt einzusetzen, fehlt nur noch Ihr persönliches Schlüsselpaar. Denn ohne Schlüssel gibt es keine Verschlüsselung. Bevor Sie diesen mit Hilfe des Programms festlegen, entscheiden Sie, mit welcher Sicherheitsstufe dieser ausgelegt sein sein soll. Wir empfehlen von den zur Auswahl stehenden die größtmögliche und damit sicherste, am besten 2048. Je nach Version stehen Schlüssellängen zwischen 512, 768 bis zu 2048 Bit zur Verfügung. Einen Schlüssel mit 2048 Bit Länge legt man mit dem folgenden Befehl an: pgp -kg 2048 Legen Sie doch zur Übung ein Schlüsselpaar "test" an. Verwenden Sie dazu ausnahmsweise die kürzeste Schlüssellänge. Der Wert läßt sich übrigens jederzeit wieder entfernen. PGP fragt jetzt nach einer Identifikation für den Schlüssel. Das kann eine beliebige Zeichenkette sein. In unserem Beispiel verwenden wir einen Namen, ergänzt um eine e-mail-Adresse:
Hans.Dampf <hans.dampf@alle.gassen.de>
Um Einträge in der Schlüsseldatei zu schützen, ist ein Paßwort (pass phrase) notwendig. Nur mit diesem legitimieren Sie sich gegenüber dem Programm PGP als befugter Schlüsselbenutzer. Das ist so ähnlich wie eine PIN bei ec-Karten. An dieser Stelle müssen Sie sehr sorgsam sein, denn:
  1. Nur mit dieser Zeichenkette können Sie die sicherheitsrelevanten Teile von PGP nutzen. Vergessen Sie dieses Paßwort, geht nichts mehr.
  2. Falls ein Unbefugter darüber Kenntnis erhält, kann dieser in ihrem Namen sicherheitssensible Vorgänge veranlassen.
Ihr Paßwort darf verständlicherweise nicht allzu einfach sein (Sie haben doch sicher "Wargames" oder "Sneakers" gesehen). Notieren Sie es nirgends, schon gar nicht unter der Tastatur oder im Notizbuch unter "G" wie "geheim".

Jeder PGP-Benutzer erzeugt über das Programm seine Schlüssel. Es ist also theoretisch vorstellbar, daß mehr als ein Nutzer dasselbe Schlüsselpaar erhält. Damit das nicht passiert, versucht das Programm durch einen kleinen Trick, für jeden Benutzer andere Schlüssel zu berechnen: Jeder Anwender hat eine unterschiedliche Art zu tippen. Die Zeitintervalle zwischen zwei Anschlägen nutzt PGP, um eine zufällige Reihe von Zahlen zu ermitteln. Sie werden deswegen aufgefordert, einen beliebigen Text zu tippen. Dabei ist es völlig unwichtig, was sie tippen und auch, ob es fehlerhaft ist oder nicht. Das Programm mißt hier einfach die unterschiedlichen Pausen zwischen den Anschlägen und errechnet daraus die benötigte Reihe von Zufallszahlen. Je nach gewählter Schlüssellänge kann das auch länger dauern. Mit einem akustischen Signal bedeutet PGP dem Anwender, daß es nun genügend Werte erhalten hat.

PGP in der Praxis

PGP beherrscht asymmetrisches Verschlüsseln. Um eine verschlüsselte Nachricht zu empfangen, müssen andere den öffentlichen Teil Ihres Schlüsselpaares kennen. Sie haben also dafür zu sorgen, daß dieser öffentliche Teil anderen potentiellen Partnern bekanntgemacht wird. Um das zu tun, extrahieren Sie den Schlüssel zunächst aus der Schlüsseldatei (public keyring) mit
 
pgp -kx
oder
pgp -kxa
Mit dem ersten Befehl extrahieren Sie den echten Schlüssel in einer Binärdatei. Diese können Sie auf einer Diskette weitergeben, aber Sie können sie nicht als Newsartikel in verschiedenen Netzen oder als e-mail im Internet versenden, da hier Text als Standardformat verlangt wird. Deswegen erstellt der zweite Befehl eine Textversion, die beispielsweise so aussieht:


-----BEGIN PGP PUBLIC KEY BLOCK-----
Version:        2.6.1
mQBNAzHNrIUAAAECAMas+OlmbLnNsaG8jCKVxAMFHJ1raO2e29jnna8bLLHCwo4P 
e6Cu216o3YSZTrWsBQaF8Ch/dKKOaoIDxJo/sVUABRG0JkhhbnMgRGFtcGYgPGhh 
bnMuZGFtcGZAYWxsZS5nYXNzZW4uZGU+ =q30W
-----END PGP PUBLIC KEY BLOCK-----


Diesen Abschnitt können Sie getrost über Textmedien verbreiten. Ab und zu werden Sie auch die Schlüssel anderer zertifizieren. Wer diese Mechanismen in Datennetzen (z.B. Internet) benutzt, dem stehen viele Zusatzwerkzeuge zur Verfügung. Normalerweise müssen Sie hier in zwei Schritten arbeiten: Bearbeiten einer Datei mit PGP, danach das Versenden der Datei. Entsprechende Zusatzwerkzeuge integrieren PGP, in der Art, daß die gewohnte Arbeitsweise nicht verändert wird. Dem Anwender erscheint das Arbeiten mit PGP nicht anders als das normale Arbeiten im Netz. Da die angesprochenen Werkzeuge allerdings oftmals im Unixbereich angesiedelt sind, soll dieser Aspekt hier vernachlässigt werden. Interessenten finden in ihrem "Hausnetz" genügend Hinweise auf solche Werkzeuge. Zur alltäglichen Praxis: Standardfall wird der Wunsch sein, an einen bestimmten Empfänger, mit dem man keinen direkten Schlüssel austauschen kann, eine verschlüsselte Nachricht zu senden. Dies geschieht sehr einfach mit dem Befehl
 
pgp -e textdatei empfaenger_id
Dazu muß man selbstverständlich den Empfängerschlüssel (empfaenger_id) kennen und in seinen lokalen "public keyring" eingetragen haben. Sie sollten beizeiten über sichere Kanäle mit möglichst vielen Anwendern die (öffentlichen) Schlüssel austauschen. Ein sicherer Kanal ist beispielsweise eine Diskette, die persönlich übergeben wird. Einen neuen Empfängerschlüssel tragen Sie ein, indem Sie eine Datei, die die Schlüsseldaten eines neuen Partners (neue_schluesseldatei) enthält, Ihrem lokalen "keyring" (lokale_schluesseldatei) hinzufügen:
pgp -ka neue_schluesseldatei [lokale_schluesseldatei]
An diese Stelle gehört eine äußerst wichtige Bemerkung, die man nicht oft genug wiederholen kann:
 

Tragen Sie niemals einen fremden Schlüssel ein, von dem Sie nicht mit absoluter Sicherheit wissen, ob er echt ist!  

Wenn Sie einen Schlüssel nicht selbst verifizieren können, tragen Sie höchstens noch zertifizierte Schlüssel (der durch eine dritte Person bestätigt ist) ein. Allerdings müssen Sie nicht jedem Zertifikat glauben. Unterscheiden Sie durchaus zwischen vertrauenswürdigen und nicht vertrauenswürdigen Zertifikaten. Wenn Sie Ihrem Empfänger den Inhalt einer Nachricht gesichert und glaubhaft zusenden möchten (Verschlüsselung ist hierbei nebensächlich), dann müssen Sie die Datei digital unterschreiben. Dies geschieht einfach durch

pgp -s textdatei [-u eigene_id]
oder
pgp -sta textfile [-u your_userid]
wobei die erste Version nur mit PGP wieder lesbar gemacht werden kann, da das Resultat eine Binärdatei ist. Der zweite Befehl erzeugt eine lesbare Textdatei, die beispielsweise so aussieht: 
-----BEGIN PGP SIGNED MESSAGE-----
Dies ist ein Text, der mit PGP signiert wurde. Der Text bleibt trotzdem lesbar, 
jedoch wird jede Veraenderung bemerkt. -----BEGIN PGP SIGNATURE-----
Version: 2.6.1
iQBVAwUBMc29KWqCA8SaP7FVAQE8QQH+KgEULm9eiQROD0pnEnHRtmBrkVYf8wRk 
VedGcAMYo7hZY1aHzQ3XSopfk0Gl0fLxqLz05mkSqjNIJCVU3FwQGQ== =mGMW
-----END PGP SIGNATURE-----




Eine so behandelte Datei kann getrost per e-mail verschickt oder als Newsartikel veröffentlicht werden. Die Empfänger werden immer in der Lage sein, eine unrechtmäßige Veränderung durch Dritte zu bemerken. Das Kombinieren von "verschlüsseln" und "digital unterschreiben" erfolgt durch:
pgp -es textdatei empfaenger_id [-u eigene_id]
Natürlich bietet PGP auch konventionalle, symmetrische Verschlüsselung an. In diesem Falle muß der Empfänger jedoch vorher über einen wirklich sicheren Kanal über den benutzten Schlüssel unterrichtet worden sein. Der Vorgang wird durch
 
pgp -c textdatei
gestartet. Das von PGP benutzte symmetrische Verfahren ist IDEA, eine Entwicklung der Fa. ASCOM (Schweiz). Noch einfacher ist das Dechiffrieren oder Überprüfen der digitalen Unterschrift einer Datei:
 
pgp chiffrierte_datei [-o resultat_datei]
Stellen Sie sich vor, Sie haben Ihren öffentlichen Schlüssel über einen unsicheren Kanal verbreitet und der Empfänger möchte nun überprüfen, ob er korrekt ist. Dafür bietet PGP den Fingerabdruck (fingerprint) eines Schlüssels. Beispielsweise kann man so mit dem Kommunikationspartner über Telefon den Schlüssel verifizieren. Da der Fingerabdruck kürzer ist als der Schlüssel, geht das einerseits schneller und andererseits gibt es eine wesentlich kleinere Fehlerquote bei der akustisch-verbalen Übertragung. Das Extrahieren des Fingerabdrucks geschieht durch
 
pgp -kvc [benutzer_id] [schluessel_datei]
Schließlich zeigen wir noch, wie Sie einen öffentlichen Schlüssel eines anderen zertifizieren (für andere als wahr bestätigen) können. Dazu beachten Sie unbedingt, daß ein fahrlässiges Zertifikat nicht nur Ihnen, sondern auch anderen großen Schaden zufügen kann. Zertifizieren Sie also niemals leichtsinnig!
 
pgp -ks fremde_id [-u eigene_id] [schluessel_datei]

Rechtliche Bestimmungen

Wer mit Verschlüsselungssoftware arbeitet, sollte sich darüber im klaren sein, daß nicht jeder Staat verschlüsselte Kommunikation zuläßt. Zwar ist es prinzipiell nicht möglich, von einer beliebigen Datei zu sagen, sie sei verschlüsselt oder nicht. Das liegt in der Natur der Dinge. Aber zumindest manche Juristen hält es nicht davon ab, Verschlüsselung teilweise oder ganz zu verbieten. Auch der Ex- oder Import von entsprechend leistungsfähiger Soft- oder Hardware ist oft eingeschränkt. So gibt es in Deutschland zur Zeit keinerlei Beschränkung auf diesem Gebiet (obschon man in Regierungskreisen genau das gerade überlegt). Aber schon in Frankreich gibt es so vielfältige Einschränkungen, daß man in der Praxis schon von einem Verschlüsselungsverbot reden kann. In Rußland ist verschlüsselte Kommunikation ebenfalls per Präsidentendekret verboten. In den USA ist Verschlüsselung zwar nicht eingeschränkt, aber der Export ist durch eine Art Kriegswaffenkontrollgesetz (ITAR) geregelt, da gute Verschlüsselungssoftware dort als Munition gilt. Wenn Sie also beispielsweise über das Internet PGP holen wollen, sollten Sie das nicht von einem US-amerikanischen oder kanadischen Rechner tun. In der Regel wird man auch bei "Betreten" der Rechner darauf hingewiesen Alles in allem ist PGP ein nützliches Programm, das bei korrekter Benutzung ausreichenden Schutz bietet. PGP ist geeignet für den Austausch von Nachrichten bestimmter Gruppen, allerdings kann es den Forderungen nach einem Verfahren zur breiten Massennutzung kaum entsprechen. Dazu ist eine professionellere Infrastruktur zur Schlüsselverwaltung notwendig (z.B. PEM, FH Koblenz oder TELESEC, Deutsche Telekom AG; beide siehe [1]). Und Sie sollten stets beachten, daß PGP ausschließlich zur privaten Nutzung zulässig ist. Kommerzielle Nutzung fordert die kommerzielle Version von PGP, die von einigen Firmen angeboten wird. Wenn man sich an die (manchmal allerdings verworrenen) rechtlichen Bestimmungen hält, die wenigstens im eigenen Lande gelten, dann kann man bei der Kommunikation über offene Netze auch mit PGP einen effektiven Schutz vor unbefugtem Belauschen in Anspruch nehmen. Und wem die schriftliche Kommunikation zu umständlich ist, für den gibt es auch schon PGP-Phone, ein PGP zum Telefonieren.

PGP in der Version 5 sollte gemieden werden, weil es Schlüsselhinterlegung bei dritten Parteien ermöglicht.

Literatur

[1] Schönleber: Verschlüsselungsverfahren für PC-Daten; Feldkirchen: Franzis-Verlag, 1995; ISBN 3-7723-5043-7
[2] Schönleber, Keck: InterNet Handbuch; Poing: Franzis´-Verlag, 1995
[3] Kahn: The Codebreakers; New York: Macmillan Publishing Co., 1967
[4] Metzge: Handlexikon der Philosophie; Heidelberg: Kerle Verlag, 1949
[5] Kamasutram, Ausgabe Verlag für Sexualliteratur, Stuttgart; 5. Auflage
[6] Philosophisches Wörterbuch; Leipzig: VEB Bibliographisches Institut, 1974
[7] Duden Informatik; Mannheim, Wien, Zürich: Dudenverlag Bibliographisches Institut, 1989
[8] Tanenbaum: Computer Networks; Englewood Cliffs: Prentice Hall, 1987
[9] Spektrum der Wissenschaft, Januar 1989, S.6-10
[10] Spektrum der Wissenschaft, Mai 1993, S.19-24
[11] Ron Rivest (Network Working Group): Request for Comments 1321 - The MD5 Message-Digest Algorithm;
MIT Laboratory for Computer Science and RSA Data Security, Inc., April 1992.
[12] NIST: Federal Information Processing Standards Publication YY, Draft: Specifications for a Secure Hash Standard (SHS); 22. Januar 1992.
[13] Cryptography FAQ (Frequently Asked Questions); Text aus dem Usenet/Internet; newsgroups sci.crypt, news.answers. Beiträge an: crypt-comments@math.ncsu.edu
[14] c't 9/85, p.74.
[15] Diffie, Hellmann: New directions in cryptography; IEEE Trans. Inform. Theory IT-22, 6(Nov. 1976), 644-654
[16] Rivest, Shamir, Adleman: A Method for Obtaining Digital Signatures and Public-Key Cryptosystems; Communications of the ACM, Feb. 1978, Vol. 21, No. 2, 120-126
[17] Lenstra: Factoring integers with elliptic curves; Annals of Mathematics, 126(1987), 649-673)
[18] LaMacchia, Odlyzko: Compuitation of Discrete Logarithms in Prime Fields; Designs, Codes and Cryptography, 1, 47-62(1991)
[19] Ronald Rivest; RSA-129-Challenge; Scientific American; 8/77
[20] Schneier; Applied Cryptography; John Wiley & Sons; 1994
[21] Hellmann; Die Mathematik neuer Verschlüsselungssysteme; Spektrum der Wissenschaft, 10/79
[22] Beutelspacher: Kryptologie; Braunschweig, Wiesbaden: Vieweg, 1993
[23] Charles Vanden Eynden: Elementary Number Theory; New York: Random House, 1987
[24] Müller, A.Pfitzmann, Stierand: Rechnergestützte Steganographie - Wie sie funnktioniert und warum folglich jede Reglementierung von Verschlüsselung unsinnig ist; Datenschutz und Datensicherung 18/6 (1994) 318-326
[25] B.Pfitzmann, M.Waidner, A.Pfitzmann: Rechtssicherheit trotz Anonymität in offenen digitalen Systemen; Kiel: Verlag C.Schönleber, 1. Kieler Netztage ´93 - Kongreßband (1993) 55-93
[26] Molva (EUROCOM Inst.), Tsudik (IBM Zürich): Authentication Method with impersonal Token Cards; Proceedings of 1993 IEEE Symposium on Research in Security and Privacy.
[27] Wayner: Using Content-Addressable Search Engines To Encrypt and Break DES; Paper, Computer Science Departement Cornell University, Ithaca NY 14853 [D]
[28] Ruland: Informationssicherheit in Datennetzen; Bergheim: Datacom, 1993
[29] Berth: Sichere offene Datennetze; Spektrum der Wissenschaft, 5/1995, 46-55
[30] Leibrich: Verschlüsselung und Kriminalität - Eine Bedrohung
 

[ Home ]