PGP – Pretty Good Privacy
• PGP entsteht
Ausgangspunkt für die Entstehung von PGP war die Tatsache, dass E-Mail auch heute noch weniger sicher ist als eine Postkarte. Phil Zimmermann (1982 inhaftiert wegen aktivem Auftreten gegen das nukleare Wettrüsten) ein, keineswegs konservativer, Softwareunternehmer aus Boulder ( Colorado ) fing Mitte der achtziger Jahre an PGP zu schreiben. 1991 wurde die erste Version (PGP Version 1.0) fertig gestellt.
Zimmermann wurde sogleich schnell mit Gesetzen und Problemen konfrontiert. Zum einen hatte er sehr viel Zeit und Geld in PGP investiert was ihn fast in den Ruin getrieben hat und zugleich bedeutete dass, das er möglichst bald Geld damit verdienen musste. Zum anderen wurde 1991 ein neues Gesetz erlassen was besagte, dass jeder Anbieter von Kommunikationsgeräten und –diensten verpflichtet ist auf Verlangen staatlichen Behörden den Klartext der Datenströme die durch die betreffenden Geräte und Netze fließen zu liefern. Desweiteren hatte Zimmermann keine freie Lizenz des RSA Verfahrens. Durch die Lizenzprobleme war es auch nicht möglich das Programm zu verkaufen. Zimmermann gab PGP einem Freund der es über das Usenet in das Internet brachte wodurch Zimmermann gegen die Exportbestimmungen verstoß und dadurch RSADSI, FBI, NSA und andere Dienste am Hals hatte. Dennoch erschien 1992 das PGP Release 2.0 indem der zur Verschlüsselung verwendete Bass- O-Matic Algorithmus durch den IDEA Algorithmus ersetzt wurde. Offenbar ist es immer noch unbekannt wer PGP tatsächlich ins Netz eingeschleust hat.
• Patentprobleme
Ab 1993 arbeitete Zimmermann mit der Firma ViaCrypt zusammen welche eine legale RSA Lizenz besitzt. Weiterhin bekam er Unterstützung vom MIT an dem das RSA Verfahren ursprünglich entwickelt wurde. Am MIT hatte man eine Softwarebibliothek (RSAREF) erstellt deren Benutzung für nicht kommerzielle Zwecke kostenlos war.
So entstand ab PGP 2.6 die erste richtig legale Version.
• Die Sicherheit der USA in Gefahr !?
Phil Zimmermann verletzte die Exportbestimmungen der USA welche der nationalen Sicherheit dienen. Weshalb ihm ein Ermittlungsverfahren angehängt wurde. Die ganze Angelegenheit wurde der Öffentlichkeit bekannt und führte sogar dazu, dass in aller Welt Spenden für Zimmermann gesammelt wurden um den Prozess zu finanzieren.
Durch die Sensibilisierung der Öffentlichkeit wurde der Druck auf die Behörden immer größer bis dann das Verfahren am 11. Januar 1996 nach 28 Monaten eingestellt wurde.
Reaktionen offizieller Stellen lassen darauf schließen, dass mit PGP auch gewissen geheimdienstlichen Tätigkeiten ein Riegel vorgeschoben wurde.
• Wozu überhaupt PGP ? Privatsphäre Integrität
Authentifizierung
• Auf welchen Plattformen PGP läuft
Amiga OS/2
Atari PalmOS
BeOS Unix
EPOC (Psion etc.) Windows 2000
MacOS Windows 3.x
MS-DOS Windows 95/98/NT
Newton Windows ME
Windows XP
• Was PGP schon immer kann
o PGP erzeugt Paare privater und öffentlicher Schlüssel für das RSA Verfahren o PGP erzeugt zufällige Sitzungsschlüssel, chiffriert mit ihnen Dateien und fügt
den Sitzungsschlüssel (welcher zuvor mit dem öffentlichen Schlüssel des Empfängers verschlüsselt wurde) hinzu.
Das verschlüsseln des Textes erfolgt mit einem symmetrischen Verfahren.
o Das Programm kann die Textformate verschiedener Betriebssysteme (Unix, Mac, Windows) in ein einheitliches Zwischenformat konvertieren bzw. zurück konvertieren.
o PGP dechiffriert Mail, indem der Sitzungsschlüssel abgetrennt wird und mit dem eigenen privaten Schlüssel dechiffriert wird. Mit dem dechriffrierten Sitzungsschlüssel wird die Mail wieder in Klartext verwandelt.
o Es können Dateien digital signiert werden und Unterschriften überprüft werden.
o Desweiteren werden folgende Funktionen zur Schlüsselverwaltung bereitgestellt:
Öffentliche –und private Schlüssel werden getrennt aufbewahrt, wobei die privaten nur chiffriert abgelegt werden.
Man kann mit PGP fremde öffentliche Schlüssel unterschreiben, zu den vorhandenen hinzufügen und auch Schlüssel löschen bzw.
zurückziehen.
Die Vertrauenswürdigkeit eines öffentlichen Schlüssels kann ebenfalls überprüft werden.
• Vergleich DES und IDEA beim durchprobieren aller Schlüssel
o PGP 2.6.x kennt nur ein symmetrisches Verfahren: IDEA™. IDEA ist ein Algorithmus, der 64 Bit lange Daten-"Blöcke" mit einem 128 Bit-Schlüssel kodiert. Zur Verdeutlichung, was "128 Bit Schlüssel" bedeuten: Die 56 Bit, die DES verwendet (was seit einiger Zeit auch Ausfuhrgenehmigungen aus den USA erhält), sind in wenigen Stunden durch einfaches Ausprobieren zu knacken, wenn man einen Teil des Klartextes kennt oder zumindest erkennen kann (Text, Programm, Bilddatei,...). Die EFF (electronic frontier foundation,
http://www.eff.org/) hat die Machbarkeit 1998 demonstriert, indem sie ein Gerät gebaut haben, das eine DES-Verschlüsselung in maximal sieben Stunden auflöst. Mit einer vergleichbaren Hardware für IDEA bräuchte
ein Angriff etwa Stunden, was
etwa 4*1018 Jahren entspricht. Zum Vergleich: Das Alter des Weltalls wird derzeit auf etwa 1.5*109 Jahre geschätzt, also etwa ein Milliardstel der Zeit, um mit aktueller, speziell optimierter Hardware eine 128 Bit-
Verschlüsselung zu brechen. Auch wenn wir eine nochmals deutlich schnellere Entwicklung der Rechner annehmen als bislang geschehen, wird von uns niemand mehr erleben, daß es Hardware nach bisheriger Technologie gibt, die alle möglichen IDEA-Schlüssel ausprobieren kann. Quantencomputer sind ein ganz anderes Thema, aber die müßten erst einmal mehr als fünf bis zehn Bit Rechenleistung aufbringen...
• Was PGP in der aktuellen Version 8.0 (Windows) noch zusätzlich kann
o Folgende symmetrische Verfahren stehen beispielsweise in der Version 8.0 zur Verfügung
IDEA
AES
CAST
3DES
Twofish
o Unterstützung von ICQ Messages (nur lizenzierte Version)
Via Plugin kann jede ICQ Message per Knopfdruck (das Plugin erzeugt diesen Knopf) verschlüsselt werden.
Das Versenden / Empfangen des Public Keys geschieht ebenfalls sehr komfortabel per Knopfdruck über den ICQ Message Dialog
o Smartcards
In Verbindung mit einem Smartcard Lese – Schreibgerät ist es möglich seine Schlüsselpaare ausschließlich auf dieser Karte auf zu bewahren.
Dies erhöht die Sicherheit noch einmal um Längen, da die Schlüssel auf dem PC überhaupt nicht mehr gespeichert werden müssen. Jedoch muss man zum verschlüsseln immer die Karte im PC eingesteckt haben und sie nicht stecken lassen, wenn auch andere Personen Zugang zum PC
haben. Es gibt keine Möglichkeit den Privaten Schlüssel von der Karte zu exportieren.
o PGPDisk - Verschlüsseln von ganzen Teilen der Festplatte (nur lizenzierte Version)
Es wird ein vom Benutzer vorgegebener Bereich der Festplatte zur Speicherung verschlüsselter Daten reserviert.
Dieser Bereich ist für den PC wie eine zusätzliche Festplatte mit einem weiteren Laufwerksbuchstaben.
Dieses Laufwerk kann immer nur derjenige mounten der im Besitz der Passphrase ist. Dann kommt er jedoch auch nur an die verschlüsselten Daten.
Um die Daten wieder zu entschlüsseln benötigt man wieder den passenden privaten Schlüssel.
Wozu überhaupt sollte ich meine Festplatte verschlüsseln, wenn ich doch der einzige Mensch bin der diesen benutzt ?
Weil jemand auf den heimischen Rechner zugreifen könnte während man im Internet surft (eher ein Windowsproblem)
Weil man brisante Daten auf einem Notebook schützen möchte. Dieses könnte gestohlen werden. Und so wären die Daten trotzdem geschützt.
o Integration in Mail Programme durch Plugins und Automatisierung
(nur lizenzierte Version)
Die Integration in ein Mail Programm erzeugt dort einen neuen Knopf zum verschlüsseln der Mails.
Zusätzlich kann in PGP angegeben werden, dass jede Mail automatisch vor dem Versenden verschlüsselt werden soll.
• Wie PGP verschlüsselt
o PGP erzeugt einen Sitzungsschlüssel.
Der Sitzungsschlüssel wird anhand zufälliger Daten wie Mausposition, Tastenanschläge usw. ermittelt.
o PGP verwendet den Sitzungsschlüssel um die Nachricht mit dem IDEA Algorithmus zu verschlüsseln.
o PGP chiffriert den Sitzungsschlüssel per RSA Verfahren mit dem öffentlichen Schlüssel des Empfängers.
o Zuletzt wird der chiffrierte Sitzungsschlüssel und die chiffrierte Mail
„zusammengebastelt“ und somit zum versenden fertig gemacht.
2D 5F 4D 56 7F
$GD/&SHGDJ\?
„Das ist ein Text der signiert werden muss !!!“
„Das ist ein Text der signiert werden muss !!!“
$GD/&SHGDJ
&%)D)dkdfj34 5345k3)(/$j4h3 5lk34j5lk34
Dokument mit Signatur wird mit Sitzungsschlüssel verschlüsselt.
• Wie PGP entschlüsselt
o Es wird der chiffrierte Sitzungsschlüssel von der eigentlichen Nachricht getrennt.
o Der Empfänger kann nun den chiffrierte Sitzungsschlüssel mit Hilfe seines privaten Schlüssels von seinem RSA Schlüsselpaar und seiner selbstgewählten Passphrase entschlüsseln.
o Nach erhalt des Sitzungsschlüssels kann die Nachricht selbst entschlüsselt werden.
• Wie PGP eine Nachricht beim Sender digital signiert
Dokument
Verschlüsseltes u. sign. Dokument
Hashwert
Signatur
Chiffr. mit priv. Key
o Von der Nachricht wird mit der Einweg Hashfunktion MD5/SHA1 ein Hashwert erstellt.
o Der erhaltene Hashwert wird mit dem privaten Schlüssel des Senders verschlüsselt => digitale Signatur
o Die Signatur zusammen mit der Nachricht wird mit dem Sitzungsschlüssel chiffriert und dieser wiederum mit dem öffentlichen Schlüssel des Empfängers.
• Wie PGP eine Nachricht mit digitaler Signatur beim Empfänger überprüft o Die Nachricht inklusive Signatur wird wie jede andere entschlüsselt
(dechiffrieren des Sitzungsschlüssels und damit entschlüsseln der Nachricht) o Der Hashwert wird mit dem öffentlichen Schlüssel des Senders entschlüsselt
(nur mit diesem möglich) wodurch die Herkunft sichergestellt ist.
o Und durch abgleichen der Hashwerte wird sichergestellt, dass nichts an der Nachricht verändert wurde.
• Schlüsselgenerierung für RSA:
PGP wird um Eingaben auf der Tastatur bitten. Die Zeitspannen zwischen den Anschlägen werden als Zufallsdaten verwendet. Computer können zwar Pseudo-Zufallszahlen 'errechnen', aber wirklich zufällige Werte sind auf Rechnern sehr schwer zu bekommen. Das Abtippen von Text z.B. aus einem Buch ergibt für diesen Zweck übrigens einen breitere Verteilung der Daten, als das schnelle 'Wegtippen' der Anschläge.
Das Berechnen eines 1024-bit-Schlüssels kann je nach Rechenleistung einige Minuten dauern.
Rechner / Betriebssystem Beispielzeiten für die Erzeugung eines 1024-bit-Schlüssels:
• Archimedes ARM3 180 s
• DOS:
486DX2/66 25-140 s 486/33 3 min
386DX40 155 s 286/12 ca. 30 min
• Linux:
486DX33 GCC2.5.7 27-73 CPU-Sekunden
• AMIGA:
A500 > 40 min A3000 4 min
Diese Angaben sind nur ungefähre Werte: PGP braucht zwei große Primzahlen. Um diese zu ermitteln, wählt es zufällig Zahlen aus und überprüft mit Hilfe einiger Tests, ob diese
Primzahlen sind; d.h. die ermittelten Zeitangaben sind mehr oder weniger zufällig.
Glossar:
AES:
(Advanced Encryption Standard). Seit Ende 2000 die Standard-Verschlüsselung in den USA.
(Zuvor spielte DES diese Rolle.) AES basiert auf dem belgischen Rijndael-Algorithmus, der von den Kryptographie-Spezialisten Joan Daemen und Vincent Rijmen entwickelt wurde.
Der AES-Standard soll Daten der US-Behörden schützen, die als vertraulich, aber nicht geheim gelten. Es wird erwartet, dass er auch im privaten Sektor Verwendung findet. Zurzeit wird dort vornehmlich eine Weiterentwicklung seines Vorgängers namens Triple DES verwendet.
Cast:
Cast arbeitet ähnlich wie DES, ist aber zwei- bis dreimal schneller. Der Algorithmus unterstützt variable Schlüssellängen von 40 bis 128 Bits. Der Algorithmus gilt als ziemlich sicher.
DES:
(Data Encryption Standard)
Von IBM entwickeltes Verschlüsselungssystem von 1974, das von 1977 bis 2000 von der US- Regierung als offizielles Datenchiffriersystem eingesetzt wurde. In einer symmetrischen Verschlüsselung werden Blöcke zu je 64 Bits mit einem 56-Bit-Schlüssel codiert.
Einweg Hashfunktion:
Bei sogenannten 'Hashen' wird eine Art "Quersumme" über die Daten gebildet. Das Ergebnis ist je nach Hashverfahren ein Ergebnis fester Länge (z. B. 160 Bit). Egal, ob ihre Daten nun 1Kbyte oder 1MByte groß sind. Dieses Hashergebnis ist vergleichbar mit einem
Fingerabdruck der Daten. Wenn man auch nur ein Zeichen in den Daten (z. B.
Worddokument) der Übertragung ändert und wieder einen Hashwert bildet, ist dieser anders als der Erste. Man kannt also mit Hilfe des Hashwertes feststellen, ob irgendwas an den Daten, z. B. während einer Übertragung, verändert worden ist.
IDEA:
(International Data Encryption Standard)
Idea ist ein möglicher Ersatz für DES. Der Algorithmus arbeitet wie DES mit 64-Bit-Blöcken, benutzt aber einen 128-Bit-Schlüssel.
Keyring (dt. Schlüsselbund):
Datenbank oder auch einfach nur eine Datei mit mehreren (eigenen oder fremden) Schlüsseln.
MD5 (Message Digest-Algorithmus von Ron Rivest):
Generiert für einen Input einen 128 Bit langen Hashcode den Fingerprint (gilt als unsicher) Mounten
Das Mounten bezeichnet das Einbinden eines Dateisystems in den lokalen Verzeichnisbaum.
Passphrase:
Die Passphrase hat dieselbe Aufgabe wie ein Passwort. Jedoch kann die Passphrase aus mehreren Worten und Satzzeichen bestehen. Die Passphrase schützt den Private Key.
Plugin:
Mit PlugIn werden "Einschübe" für diverse Programme bezeichnet. Diese Einschübe
erweitern das Rahmenprogramm um bestimmte Eigenschaften, müssen aber nicht als externes Programm aufgerufen werden sondern fügen sich in das bestehende Programm ein. Ein Beispiel ist der Netscape Navigator, der "von sich aus" keine QuickTime Filme abspielen kann. Das QuickTime PlugIn erweitert den Navigator um diese Fähigkeit.
SHA1:
(Secure Hash Algorithm One)
Von der NSA entwickelter Hashalgorithmus (Einweg Hashfunktion).
Twofish:
Von Bruce Schneier entwickelter, symmetrischer Verschlüsselungsalgorithmus mit wahlweise 128 oder 256 Bit Schlüssellänge.