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.
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:
-
MYNAME definiert die voreingestellte Benutzeridentifikation
(default user ID) für den geheimen Schlüssel beim digitalen Unterschreiben,
die benutzt wird, wenn kein spezieller Benutzer angegeben wird.
-
LANGUAGE, bestimmt, in welcher Sprache das Programm den Dialog
führt. Je nach Version oder Quelle gibt es: en = Englisch (standardmäßig),
fr = Französisch, de = Deutsch, it = Italienisch, usw.
-
TMP definiert das Verzeichnis, in dem temporäre Dateien
liegen.
-
BAKRING bestimmt den Pfad, in dem die Sicherheitskopie des
"Secret Keyring" (die Datei, die die privaten, geheimen Schlüssel
enthält) gespeichert ist. In der Regel verweist der Pfad auf das Diskettenlaufwerk
(MS-DOS: A:\SECRING.PGP) Die restlichen Parameter belassen Sie zunächst
so, wie sie "aus der Tüte" fallen.
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:
-
Nur mit dieser Zeichenkette können Sie die sicherheitsrelevanten
Teile von PGP nutzen. Vergessen Sie dieses Paßwort, geht nichts mehr.
-
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 ]