Sicherheitsaspekte
Einfhrung Kryptographie
Pretty Good Privacy (PGP)
Internet zwischen fremden Partnern ist unsicher
Internet Transport Protokoll beinhaltet keine Mechanismen zur Datensicherheit
Übertragung kann abgehört und verfälscht werden
==> Problem bei vertraulichen Informationen
==> sichere Übertragung ist erforderlich um Nutzungsmöglichkeiten des Internets zu erhöhen
Pakete können
werden.
Sicherheit ist
Client/Server selber müssen sicher sein
Transformation von Nachrichten (messages, plain text) in verschlsselte Nachrichten (cipher text) mit Hilfe von Algorithmen / Programmen (cipher suites) und Schlsseln (keys).
geheime Algorithmen (-> unpraktikabel)
Standard Versuch bei Banken und Telecoms
bekannte Algorithmen mit geheimen Schlüsseln
im internationalen Security Bereich
gleicher Schlüssel für Ver- und Entschlüsselung
sehr schnell
Problem: Anzahl der Schlüssel bei n Partnern
Problem: sicherer Austausch der Schlüssel
Beispiele: DES, RC4, Triple-DES, RC2, Idea, Fortezza (PINs, TANs)
unterschiedliche Schlüssel für Ver- und Entschlüsselung
”ffentliche und private Schlssel (public und private key)
relativ langsam
bei richtiger Wahl der Parameter sehr / beliebig sicher
Sicherheit basiert auf der Schwierigkeit der
Faktorisierung grosser Zahlen,
bzw. der Berechung des diskreten Logarithmus (in endlichen K”rpern)
Beispiele: RSA, DSA, Diffie-Hellman
Diffie-Hellman (exponential key exchange): zum Aufbau von sicheren Verbindungen aus einem unsicheren Zustand (allerdings ohne Authentifizierung)
Prüfsummenbildung (Hash Verfahren)
Berechnung einer Zahl aus einer Nachricht
Zahl verändert sich, wenn sich die Nachricht ändert
die Nachricht kann nicht aus der Zahl rekonstruiert werden
Beispiele: MD5, SHA, SHA1
Message Authentication Code (MAC)
basiert auf Digest (Hash) und asymmetrischer Verschlüsselung
Berechnung und Verschlüsselung der Prüfsumme
gewährleistet Authentizität
ben”tigt unabh„ngige Verwalter: Certification Authority (CA),
sichert die Authentizit„t von Schlsseln zu.
basiert auf asymmetrischer Verschlüsselung,
die CA codiert public keys von Teilnehmern mit ihrem private key
Server verschickt sein Zertifikat an Client
bzw. auch umgekehrt: Client verschickt sein Zertifikat an Server
Zertifikat bestätigt Echtheit des Servers (Echtheit = Zuordnung Server zu public key)
public key der CA muß dem Client bekannt sein
l”st Anonymit„tsproblem bei digitalem Geld
Unterschrift durch Umschlag mit Kohlepapier
zB. Zertifizierung von eCash unter Wahrung der Anonymität
Entwickelt von Paul Zimmermann fr private Emails
bietet Datenschutz und Authentifizierung
bietet digitale Unterschriften
basiert auf RSA, IDEA und MD5
Verwaltung von ”ffentlichen Schlsseln
kann als normale SMTP Email versendet werden
Konkurenzsoftware: Privacy Enhanced Mail (PEM), RFCs 1421 bis 1424
OpenPGP als RFC 2440
Gnu PGP (GPG) implementiert OpenPGP, komplettes Open Source Paket
Untersttzte kryptografische Verfahren bei GnuPG:
Erzeugen eines eigenen Schlsselpaars mit ”ffentlichem und privatem Teil
Versenden des eigenen ”ffentlichen Schlssels
Entgegennehmen von ”ffentlichen Schlsseln anderer Leute
Verwalten der (”ffentlichen und privaten) Schlsseln am Schlsselbund (key ring)
Ver- und Entschlsseln von Dokumenten
Signieren und Verifizieren von Dokumenten
Editieren von Schlsseln, d.h. Žndern von Optionen, z.B. Gltigkeitsdauer verl„ngern
Zurckrufen / Ungltigmachen von Schlsseln
šberprfen der Schlssel anderer Leute
Verwalten der Vertrauensbeziehungen
Nutzung von Schlssel-Servern
Zur Benutzung von (Gnu)PGP muss zun„chst ein ”ffentlicher und ein privater Schlssel erzeugt werden.
Die PGP Schlssel mssen nicht wie bei SSL/TLS von einer (unabh„ngigen) Instanz zertifiziert werden.
Jede(r) macht sich eine eigene Bewertung von der Vertrauenswrdigkeit der ”ffentlichen Schlssel, die verwendet werden.
”ffentliche Schlssel, die pers”nlich z.B. ber eine Diskette ausgetauscht werden sind vertrauenswrdiger als Schlssel, die von einer Web-Seite oder von Dritten bezogen werden.
dadurch wird ein "web of trust" gebildet
Schlsselerzeugung mit gpg --gen-key
> gpg --gen-key gpg (GnuPG) 1.2.2-rc1-SuSE; Copyright (C) 2002 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. gpg: WARNUNG: Sensible Daten k”nnten auf Platte ausgelagert werden. gpg: siehe http://www.gnupg.org/de/faq.html fr weitere Informationen gpg: /home/krabel/.gnupg: Verzeichnis erzeugt gpg: Neue Konfigurationsdatei `/home/krabel/.gnupg/gpg.conf' erstellt gpg: WARNUNG: Die Optionen in `/home/krabel/.gnupg/gpg.conf' sind in diesem Programml auf noch nicht aktiv gpg: Schlsselbund `/home/krabel/.gnupg/secring.gpg' erstellt gpg: Schlsselbund `/home/krabel/.gnupg/pubring.gpg' erstellt Bitte w„hlen Sie, welche Art von Schlssel Sie m”chten: (1) DSA und ElGamal (voreingestellt) (2) DSA (nur signieren/beglaubigen) (5) RSA (nur signieren/beglaubigen) Ihre Auswahl? 1 Das DSA-Schlsselpaar wird 1024 Bit haben. Es wird ein neues ELG-E Schlsselpaar erzeugt. kleinste Schlssell„nge ist 768 Bit standard Schlssell„nge ist 1024 Bit gr”áte sinnvolle Schlssell„nge ist 2048 Bit Welche Schlssell„nge wnschen Sie? (1024) Die verlangte Schlssell„nge betr„gt 1024 Bit Bitte w„hlen Sie, wie lange der Schlssel gltig bleiben soll. 0 = Schlssel verf„llt nie <n> = Schlssel verf„llt nach n Tagen <n>w = Schlssel verf„llt nach n Wochen <n>m = Schlssel verf„llt nach n Monaten <n>y = Schlssel verf„llt nach n Jahren Wie lange bleibt der Schlssel gltig? (0) 10 Key verf„llt am Sam 24 Mai 2004 11:15:26 CEST Ist dies richtig? (j/n) j Sie ben”tigen eine User-ID, um Ihren Schlssel eindeutig zu machen; das Programm baut diese User-ID aus Ihrem echten Namen, einem Kommentar und Ihrer E-Mail-Adresse in dieser Form auf: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" Ihr Name ("Vorname Nachname"): Hanno Krabel E-Mail-Adresse: krabel@uni-mannheim.de Kommentar: Testen von PGP Sie haben diese User-ID gew„hlt: "Hanno Krabel (Testen von PGP) <krabel@uni-mannheim.de>" Žndern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(B)eenden? F Sie ben”tigen ein Mantra, um den geheimen Schlssel zu schtzen. eingabe des mantra Wir mssen eine ganze Menge Zufallswerte erzeugen. Sie k”nnen dies untersttzen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas tippen, die Maus verwenden oder irgendwelche anderen Programme benutzen. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++ +++++++++++..++++++++++...+++++++++++++++++++++++++>++++++++++....................... ................+++++ Wir mssen eine ganze Menge Zufallswerte erzeugen. Sie k”nnen dies untersttzen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas tippen, die Maus verwenden oder irgendwelche anderen Programme benutzen. .++++++++++++++++++++.+++++.+++++.+++++++++++++++.++++++++++++++++++++...++++++++++++ +++.++++++++++++++++++++..++++++++++.++++++++++...++++++++++>.+++++.................. .................+++++^^^ gpg: /home/krabel/.gnupg/trustdb.gpg: trust-db erzeugt ™ffentlichen und geheimen Schlssel erzeugt und signiert. Schlssel ist als uneingeschr„nkt vertrauenswrdig gekennzeichnet. pub 1024D/ABDFB5BB 2004-05-14 Hanno Krabel (Testen von PGP) <krabel@uni-mannheim.de> Schl.-Fingerabdruck = D611 446D 2208 E2EB CA7D 2A50 BAF0 ABDF 9016 B5BB sub 1024g/FECD33F5 2004-05-14 [verf„llt: 2004-05-24]
Erzeugung eines Wiederrufs fr den Schlssel mit gpg --gen-revoke
gpg --output revoke-krabel.asc --gen-revoke krabel gpg: WARNUNG: Sensible Daten k”nnten auf Platte ausgelagert werden. gpg: siehe http://www.gnupg.org/de/faq.html fr weitere Informationen sec 1024D/30066B17 2004-05-18 Hanno Krabel (Testen von GnuPG) <krabel@uni-mannheim.de> Create a revocation certificate for this key? yes Please select the reason for the revocation: 0 = Kein Grund angegeben 1 = Hinweis: Dieser Schlssel ist nicht mehr sicher 2 = Schlssel ist berholt 3 = Schlssel wird nicht mehr benutzt Q = Cancel (Probably you want to select 1 here) Ihre Auswahl? 1 Enter an optional description; end it with an empty line: > fuer alle faelle > Reason for revocation: Hinweis: Dieser Schlssel ist nicht mehr sicher fuer alle faelle Is this okay? yes Sie ben”tigen ein Mantra, um den geheimen Schlssel zu entsperren. Benutzer: "Hanno Krabel (Testen von GnuPG) <krabel@uni-mannheim.de>" 1024-Bit DSA Schlssel, ID 30066B17, erzeugt 2004-05-18 eingabe des mantra gpg: GPG-Agent ist in dieser Sitzung nicht vorhanden ASCII armored output forced. Revocation certificate created. Please move it to a medium which you can hide away; if Mallory gets access to this certificate he can use it to make your key unusable. It is smart to print this certificate and store it away, just in case your media become unreadable. But have some caution: The print system of your machine might store the data and make it available to others!
Speichern des (eigenen) ”ffentlichen Schlssels gpg --export
gpg --armour --export krabel gpg: WARNUNG: Sensible Daten k”nnten auf Platte ausgelagert werden. gpg: siehe http://www.gnupg.org/de/faq.html fr weitere Informationen -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux) mQGiBD5CCYkRBAC0yeXR92PpxwqAeu5u/4jGN+Tv+Mcrl21bJmRhc1NR1bonbWKt ... CQANLwAACgkQuvCQFqvftbt+7gCgklW5dmBwdm3h2dSeLpo+Mhea4s4AoJ/TETgm kY2mUPI2L6CIwU7FU/CK =/dgh -----END PGP PUBLIC KEY BLOCK-----
Einfgen eines ”ffentlichen Schlssels gpg --import
gpg --import krabel.pub gpg: WARNUNG: Sensible Daten k”nnten auf Platte ausgelagert werden. gpg: siehe http://www.gnupg.org/de/faq.html fr weitere Informationen gpg: Schlssel D9689977: "Hanno Krabel (Testen von GnuPG) <krabel@uni-mannheim.de>" Nicht ge„ndert gpg: Anzahl insgesamt bearbeiteter Schlssel: 1 gpg: unver„ndert: 1
Verschlsseln gpg --encrypt
gpg --armour --output maildoc.sec --encrypt --recipient krabel maildoc.txt gpg: WARNUNG: Sensible Daten k”nnten auf Platte ausgelagert werden. gpg: siehe http://www.gnupg.org/de/faq.html fr weitere Informationen Datei 'maildoc.sec' existiert bereits. šberschreiben (j/N)? j
Verschlsselte Datei:
-----BEGIN PGP MESSAGE----- Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux) hQEOA5gA7p1IVxqJEAQA3fPS7jWYAWqF4o5fItzqDldXw/+v1WNC/ulZj414CpKP ... 4viqnRXziOhoP6eSCOgZX+AOCW02qMqOQ9efZep7xU+0EnG3q57OUFD+oiFZvGsG gJPkk6wC =vNiC -----END PGP MESSAGE-----
Entschlsseln mit gpg --decrypt
gpg --output maildoc.decrypt --decrypt maildoc.sec gpg: WARNUNG: Sensible Daten k”nnten auf Platte ausgelagert werden. gpg: siehe http://www.gnupg.org/de/faq.html fr weitere Informationen Sie ben”tigen ein Mantra, um den geheimen Schlssel zu entsperren. Benutzer: "Hanno Krabel (Testen von GnuPG) <krabel@uni-mannheim.de>" 1024-Bit ELG-E Schlssel, ID B2B73599, erzeugt 2004-05-18 (Hauptschlssel-ID 30021B17) eingabe des mantra gpg: GPG-Agent ist in dieser Sitzung nicht vorhanden gpg: verschlsselt mit 1024-Bit ELG-E Schlssel, ID B2B73599, erzeugt 2004-05-18 "Hanno Krabel (Testen von GnuPG) <krabel@uni-mannheim.de>"
Signieren mit gpg --sign
oder gpg --clearsign
oder gpg --detach-sign
gpg --armour --output maildoc.sign --sign maildoc.txt gpg: WARNUNG: Sensible Daten k”nnten auf Platte ausgelagert werden. gpg: siehe http://www.gnupg.org/de/faq.html fr weitere Informationen Sie ben”tigen ein Mantra, um den geheimen Schlssel zu entsperren. Benutzer: "Helmut Knebel (Testen von GnuPG) <knebel@.uni-mannheim.de>" 1024-Bit DSA Schlssel, ID 30366B17, erzeugt 2004-05-18 gpg: GPG-Agent ist in dieser Sitzung nicht vorhanden
Inhalt der Datei mit Signatur:
-----BEGIN PGP MESSAGE----- Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux) owGbwMvMwCS4yEfxvAFbtjjjmvlJ3LmJmTkp+cl6JRUldifdPrpm5ikEJ5ZUKVSV ... zOFl/Hd+er34byHl4Jd8mpyzyp5/f8MwP1hF8WDu86Uimvwn+8Mi10/rWXM4EAA= =9+OW -----END PGP MESSAGE-----
Verifizieren erfolgt mit gpg --verify
gpg --verify maildoc.sign gpg: WARNUNG: Sensible Daten k”nnten auf Platte ausgelagert werden. gpg: siehe http://www.gnupg.org/de/faq.html fr weitere Informationen gpg: Unterschrift vom Mon 19 Mai 2004 23:04:49 CEST, DSA Schlssel ID 30366B17 gpg: Korrekte Unterschrift von "Helmut Knebel (Testen von GnuPG) <knebel@rz.uni-mannheim.de>"
Anzeigen erfolgt mit gpg --list-keys
oder
gpg --list-public-keys
oder
gpg --list-secret-keys
gpg --list-keys gpg: WARNUNG: Sensible Daten k”nnten auf Platte ausgelagert werden. gpg: siehe http://www.gnupg.org/faq.html fr weitere Informationen /home/heinz/.gnupg/pubring.gpg ------------------------------ pub 1024D/578126CA 2004-06-14 Karl Dall (Komiker) <dall@karl.de> sub 1024g/8FBEEFC6 2004-06-14 [verf„llt: 2004-07-14]
gpg --fingerprint gpg: WARNUNG: Sensible Daten k”nnten auf Platte ausgelagert werden. gpg: siehe http://www.gnupg.org/faq.html fr weitere Informationen /home/heinz/.gnupg/pubring.gpg ------------------------------ pub 1024D/578126CA 2004-06-14 Karl Dall (Komiker) <dall@karl.de> Schl.-Fingerabdruck = 549C F204 1680 E453 2081 8823 4024 42B1 5781 26CA sub 1024g/8FBEEFC6 2004-06-14 [verf„llt: 2004-07-14]
Die Pflege der Schlssel erfolgt (auch interaktiv)
mit gpg --edit-key
gpg --edit-key 578126CA gpg (GnuPG) 1.2.2; Copyright (C) 2003 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. gpg: WARNUNG: Sensible Daten k”nnten auf Platte ausgelagert werden. gpg: siehe http://www.gnupg.org/faq.html fr weitere Informationen Geheimer Schlssel ist vorhanden. pub 1024D/578126CA erstellt: 2004-06-14 verf„llt: 2004-07-14 Vertrauen: u/u sub 1024g/8FBEEFC6 erstellt: 2004-06-14 verf„llt: 2004-07-14 (1). Karl Dall (Komiker) <dall@karl.de> Befehl> help quit Men verlassen save speichern und Men verlassen fpr "Fingerabdruck" anzeigen list Schlssel und User-IDs auflisten check Liste der Signaturen sign Den Schlssel signieren delsig Signatur entfernen expire Žndern des Verfallsdatums toggle Umschalten zwischen Anzeige geheimer und ”ffentlicher Schlssel passwd Die Passphrase „ndern trust Den "Owner trust" „ndern revsig Signaturen widerrufen disable Schlssel abschalten
Die gesammelten ”ffentlichen Schlssel k”nnen nach Vertrauensleveln klassifiziert werden:
šber diese Klassifizierung k”nnen dann auch Schlssel fr gltig eingestuft werden, die man nicht selbst berprft hat.
Danach ist ein Schlssel gltig, wenn folgende Bedingungen erfllt sind:
der Schlssel ist von gengend gltigen Schlsseln signiert, d.h.
von mir pers”nlich, oder
durch einen, dem ich voll vertraue, oder
die mindestens drei, denen ich marginal vertraue
die Anzahl der Signierschritte zwischen dem Schlssel und dem eigenen Schlssel betr„gt weniger als fnf
Teil 1 erstellt unter Verwendung eines Seminarvortrags von Robert Schulz.
© Universität Mannheim, Rechenzentrum, 1998-2007.
Heinz KredelLast modified: Sun Jan 28 13:26:48 CET 2007