GNU Privacy Guard
- Eine freie Alternative zu PGP -
Das Briefgeheimnis sowie das Post- und Fernmeldegeheimnis sind unverletzlich. Grundgesetz, Artikel 10, Abs 1.
|
Achim D. Brucker
brucker@freiburg.linux.de
19. November 1999
Inhalt
- Einführung
- Private Key Verfahren - Symmetrische Verfahren
- Verschlüsselungs- und Authentifizierungsverfahren
- Warum braucht die Welt GnuPG
- GnuPG im Alltag
- Ausblick
- Referenzen
- Über dieses Dokument ...
Einführung
Was ist der GNU Privacy Guard - gnupg
GnuPG ist ein Programm zur sicheren offline Kommunikation. Es kann als freier Ersatz für das ursprünglich von Phil Zimmermann entwickelte Pretty Good Privacy (PGP) dienen.
Warum Verschlüsseln
Das Verschlüsseln von Nachrichten ist ein im Grundgesetz verbürgtes Recht.
- Emails sind wie Postkarten, jeder kann sie lesen. Trotzdem werden oft private Daten unverschlüßelt als Email versendet.
- Signaturen und Verschlüsselung dienen der Authentifizierung der Absender und Empfänger. Sie ersetzen die Unterschrift.
- Nur die Datenverschlüsselung kann die Rechten und Pflichten, die sich aus dem Datenschutz ergeben, umsetzen.
Private Key Verfahren - Symmetrische Verfahren
- Symmetrische Verfahren verwenden denselben Schlüssel zum ver- und entschlüsseln.
- Sender und Empfänger müssen den Schlüssel kennen und ihn geheim halten.
- einfaches Beispiel, die XOR-Verschlüsselung:
Daten: 10100111001 Schlüssel: 10101001010 verschlüsselte Daten: 00001110011
- Der Suchraum wächst exponentiell mit der Schlüssellänge. DES verwendet
z.B. 56 Bit Schlüssel. Mit einer Brute Force Attacke müssten
1#1
Schlüssel ausprobiert werden. - Schlüssellängen unter 64 Bit gelten heute nicht mehr als sicher,
empfohlen werden Längen von 128 Bit:
2#2
- Verfahren: Enigma, DES, 3DES, Blowfish, Twofish, IDEA
- PGP verwendet IDEA für die Datenverschlüsselung.
- Nachteile symmetrischer Verfahren:
- Der Schlüsselaustausch ist schwierig.
- Wenn 3#3 Personen privat untereinander kommunizieren wollen, sind 4#4 Schlüsselpaare notwendig.
Verschlüsselungs- und Authentifizierungsverfahren
Public Key Verfahren - Asymmetrische Verfahren
- Jeder Teilnehmer hat einen privaten und einen öffentlichen Schlüssel:
- Mit dem öffentliche Schlüssel werden Nachrichten an den Besitzer verschlüsselt.
- Mit dem privaten Schlüssel kann der Besitzer an ihn gesendete Nachrichten entschlüsseln.
- Verfahren: RSA, ElGamal, Rabin
- PGP verwendet RSA, GnuPGP ElGamal
- Die Verschlüsselung basiert auf ,,trapdoor``-Funktionen.
- Eine ,,trapdoor``-Funktion ist eine one-way``-Funktionen
mit einer ,,Hintertüre``.
Meist basiert die Funktion auf der Primfaktorzerlegung. Ist eine große Zahl gegeben, die das Produkt zweier Primzahlen darstellt ist es sehr schwer die beiden Primfaktoren zu bestimmen. Kennt man allerdings die Hintertüre (einen Primfaktor) ist es sehr leicht möglich, den zweiten Faktor zu berechnen. - Die Schlüssellänge von symmetrischen und asymmetrischen Verfahren kann nicht direkt verglichen werden. Bei einem asymmetrischen Verfahren mit einer 512 Bit Schlüssellänge muß ein Angreifer eine Binärzahl mit 512 Bit (entsprechend einer Dezimalzahl bis 155 Stellen) in ihre Primzahlen zerlegen.
- Es wird eine Schlüssellänge von 1024 Bit empfohlen.
Hybride Verfahren
- Leider sind asymmetrische Verfahren kein Allheilmittel.
- Meistens sind symmetrische Verfahren sicherer als asymmetrische Verfahren.
- Hybride Verfahren verwenden sowohl ein symmetrisches als auch ein
asymmetrisches Verfahren (wie GnuPG und PGP es verwenden):
- Der Schlüssel für das symmetrische Verfahren wird mit dem asymmetrischen Verfahren verschlüsselt.
- Die Nachricht wird mit dem symmetrischen Verfahren verschlüsselt.
- Der Emfpänger entschlüsselt mit seinem privaten Schlüssel den ,,session key``, mit dem die Nachricht entschlüsselt werden kann.
- Ein hyprides Verfahren ist nicht stärker als das verwendete symmetrische oder asymmetrische Verfahren. Aber: Wenn ein Angreifer einen ,,session key`` entschlüsselt, so kann er nur eine Nachricht lesen.
Hash Verfahren - Fingerprints und Signaturen
- Eine Hash-Funktionen zerlegt den Urbildraum in Teilmengen, die auf
dasselbe Element im Zielraum abgebildet werden, z.B.:
5#5
- Eine digitale Signatur ist das Ergebnis des Anwenden einer Hashfunktion auf ein Dokument.
- Hash-Funktionen für Signaturen müssen zwei Bedingen erfüllen:
- Es muss schwer sein, zwei Dokumente mit demselben Hash-Wert zu finden
- Es muss schwer sein, aus dem Hash-Wert das Dokument zu rekonstruieren.
- Um die Echtheit zu garantieren, wird der Hash-Wert mit dem privaten Schlüssel des signierenden verschlüsselt. Somit kann jeder mit dem öffentlichen Schlüssel die Echtheit überprüfen.
- Verwendet werden z.B. SHA oder MD5
Warum braucht die Welt GnuPG
Warum eine freie OpenPGP notwendig ist
- Freie Software (public domain, GPL) unterliegt nicht dem Waasenar Abkommen
- RSA und IDEA sind patentiert und damit für freie Software nicht einsetzbar.
- ,,no security by obscurity``
- PGP 5.x und 6.x erfüllen nicht den OpenPGP Standard
- PGP 5.x konnte ,,plötzlich`` Message Recovery
Ausflug: Softwarepatente
- RSA:
- patentiert in den USA, außerhalb kann RSA uneingeschränkt genutzt werden
- In den USA nur als (langsame) Referenzimplementierung vom MIT ohne Lizenz möglich. Genauer Status unklar.
- Patent läuft im September 2000 aus
- IDEA:
- Weltweit (soweit möglich) patentiert.
- für nichtkomerzielle Nutzung frei
- Patent läuft am im Jahr 2011 aus.
Aktuell: 1999-11-15
Die Entwickler von GnuPG unter Leitung Werner Koch werden vom Bundesministeriums für Wirtschaft und Technologie (BMWi) mit 250.000 DM unterstützt. Nächstes Jahr sollen weitere Gelder folgen.Mit dem Konzept von GPG könnte ein Werkzeug geschaffen werden, das als 'public domain'-Software ohne Einschränkungen für alle Benutzerschichten - Behörden, kommerzielle Nutzer und Privatbenutzer eingeschlossen - frei und unentgeltlich verfügbar ist.Hubertus Soquat, Referent für IT-Sicherheit im BMWi.
GnuPG im Alltag
Verfügbarkeit und Anwendung
- Verfügbar unter Linux und den meisten Unixen, sowie Windows
- Integration in diverse Mailer (z.B. mutt, xfmail, Mailcrypt)
- durch Wrapper auf der Kommandozeile zu PGP 2.x kompatibel
- Frontends für Gnome (GnomePGP) und KDE (Geheimniss) verfügbar
Die wichtigsten Merkmale
- verwendet keine patentierten Algorithmen
- verwendet GPL, komplett neu geschrieben
- implementiert die OpenPGP-Spezifikation
- kompatibel zu PGP 5.x
- mit Erweiterung kompatibel zu PGP 2.x
- Unterstützt: DSA, 3DES, Blowfish, Twofish, CAST5, MD5, SHA-1, RIPE-MD-160 und TIGER
- Schlüssel können ablaufen
- unterstützt Key-Server
GnuPG für PGP 2.x Anwender
- PGP 2.x verwendet die patentierten Verfahren RSA und IDEA.
- Um zu PGP 2.x kompatibel zu sein, müssen die Referenzimplementierungen von IDEA und RSA als Modul zur verfügung gestellt werden.
- Nachdem die Module RSA und IDEA GnuPG zur verfügung stehen, kann es problemlos als PGP 2.x Ersatz genutzt werden.
- Obwohl der alte PGP 2.x Key benutzt werden kann, sollte man sich einen neuen GnuPG Key generieren.
- Für Debian gibt es entsprechende Pakete.
Ausblick
Weiter Vorträge:Mit GnuPG 1.0 steht dem Anwender ein ausgereiftes freies Verschlüsselungsprogramm zur Verfügung, dessen Weiterentwicklung sogar durch Steuergelder gesichert ist. GnuPG ist ein vollwertiger Ersatz für das kommerzielle PGP.
- Verschlüsselte Dateisysteme unter Linux.
- Betrachtung von Verschlüsselungsalgorithmen mit ihren Stärken und Schwächen.
- GnuPG step by step mit Key-signing Party.
- Anekdoten über Enigma, DES und RSA.
Referenzen
- GnuPG: http://www.gnupg.org
- PGP: http://www.pgpi.com
- GnuPG Dokumentation: http://http://www.gnupg.org/gph/en/manual/book1.html
- GnuPG Mini Howto (deutsch): http://www.stud.uni-goettingen.de/~s070674/GnuPGMiniHowto/GPGMiniHowto.html
- PGP2x nach GnuPG http://www.gnupg.org/gph/en/pgp2x/t1.html
- PGP5x nach GnuPG http://technocage.com/~caskey/gpg/pgp2gnupg.html
- Krypto Links: http://www.informatik.uni-freiburg.de/~luca/securitylinks.html
- RFC 2440: http://www.gnupg.org/rfc2440.html