GNU-Handbuch (Manual) zum Schutze der Privatsphäre

of 93 /93
Das GNU-Handbuch zum Schutze der Privatsphäre

Embed Size (px)

description

Kryptographie - GnuPG (der GNU Privacy Guard) ist ein Programm zum Verschlüsseln und Signieren von digitalen Daten und arbeitet unabhängig von den jeweiligen Datenformaten (E-Mail, Textdateien, Bilddaten, Sourcecode, Datenbanken, komplette Festplatten usw.). Es entspricht der im RFC2440 festgelegten OpenPGP-Spezifikation und ist kompatibel zu PGP 5.x der Firma NAI. GnuPG verwendet dazu hauptsächlich ein hybrides Verfahren mit öffentlichem Schlüssel. Gesichtet von www.thanh.ch

Transcript of GNU-Handbuch (Manual) zum Schutze der Privatsphäre

  • Das GNU-Handbuch zum Schutze der Privatsphre
  • Das GNU-Handbuch zum Schutze der Privatsphre Copyright 2000 von Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License. Richten Sie bitte Ihre Fragen, Fehlermeldungen oder Anregungen, sofern sie dieses Handbuch betreffen, an die Mailingliste . Mike Ashley ist der Autor des orginalen englischen Version dieses Handbuchs, Beitrge lieferten auch Matthew Copeland, Joergen Grahn und David Wheeler. J. Horacio MG hat das Handbuch ins Spanische bersetzt. Harald Martin, Roland Goretzki und Peter Neuhaus haben das Handbuch ins Deutsche bersetzt. Peter Neuhaus hat das Handbuch berarbeitet und erweitert.
  • Inhaltsverzeichnis Vorwort .......................................................................................................................................................6 Warum Kryptographie? ......................................................................................................................6 Warum GnuPG? .................................................................................................................................8 Aufbau des Buches.............................................................................................................................9 1 Konzepte ................................................................................................................................................10 Symmetrische Verschlsselung........................................................................................................10 Public-Key-Verschlsselung ............................................................................................................11 Hybride Verschlsselungsverfahren.................................................................................................12 Digitale Unterschriften.....................................................................................................................13 2 Grundlagen............................................................................................................................................15 Erzeugen eines neuen Schlsselpaares ............................................................................................15 Erzeugen einer Widerrufurkunde ...........................................................................................17 Austauschen von Schlsseln ............................................................................................................18 Exportieren eines ffentlichen Schlssels ..............................................................................18 Importieren eines ffentlichen Schlssels ..............................................................................18 Ver- und Entschlsseln von Dokumenten ........................................................................................20 Digitale Signaturen ..........................................................................................................................21 Dokumente mit Klartextsignatur ............................................................................................22 Abgetrennte Signatur..............................................................................................................23 3 Schlsselverwaltung .............................................................................................................................25 Verwaltung Ihres Schlsselpaares ....................................................................................................25 Schlssel-Integritt .................................................................................................................26 Editieren von Schlsseln ........................................................................................................27 Widerrufen von Schlssel-Komponenten ...............................................................................28 Aktualisieren des Verfallsdatums ...........................................................................................30 Authentisieren anderer Schlssel .....................................................................................................30 Vertrauen in den Eigentmer eines Schlssels .......................................................................31 Authentisieren von Schlsseln im Web of Trust ....................................................................33 Weitergabe von Schlsseln...............................................................................................................35 4 GnuPG im Alltagsgebrauch.................................................................................................................38 Denition Ihres Sicherheitsbedarfs ..................................................................................................38 Die Wahl der Schlssellnge ..................................................................................................39 Der Schutz Ihres geheimen Schlssels ...................................................................................39 Auswhlen der Verfallsdaten und Benutzung von Unterschlsseln .......................................41 Verwaltung Ihres Web of Trust................................................................................................42 Aufbau Ihres Web of Trust................................................................................................................43 3
  • 5 Kryptogesetzgebung .............................................................................................................................46 Benutzungsbeschrnkungen.............................................................................................................46 Ausfuhrbeschrnkungen...................................................................................................................46 Digitale Signaturen ..........................................................................................................................47 A GNU Free Documentation License.....................................................................................................48 0 PREAMBLE .................................................................................................................................48 1 APPLICABILITY AND DEFINITIONS .....................................................................................48 2 VERBATIM COPYING................................................................................................................49 3 COPYING IN QUANTITY ..........................................................................................................49 4 MODIFICATIONS........................................................................................................................50 5 COMBINING DOCUMENTS......................................................................................................52 6 COLLECTIONS OF DOCUMENTS ...........................................................................................52 7 AGGREGATION WITH INDEPENDENT WORKS...................................................................52 8 TRANSLATION ...........................................................................................................................53 9 TERMINATION............................................................................................................................53 10 FUTURE REVISIONS OF THIS LICENSE..............................................................................53 How to use this License for your documents ...................................................................................54 B Ressourcen im Internet........................................................................................................................55 GnuPG..............................................................................................................................................55 Kryptographie allgemein..................................................................................................................56 Kryptographie-Gesetzgebung ..........................................................................................................56 Link-Sammlungen............................................................................................................................56 Key Server........................................................................................................................................57 C Installation von GnuPG.......................................................................................................................58 Unix und GNU/Linux ......................................................................................................................58 D Referenz ................................................................................................................................................60 gpg manpage ....................................................................................................................................60 E Glossar...................................................................................................................................................80 Weitere Bcher zum Thema Kryptographie.........................................................................................92 4
  • Abbildungsverzeichnis 3-1 Ein hypothetisches Vertrauensnetz......................................................................................................34 5
  • Vorwort [Grundgesetz Artikel 10, Absatz 1: Das Briefgeheimnis sowie das Post- und Fernmeldegeheimnis sind unverletzlich.] [Eckpunkte der deutschen Kryptopolitik, verabschiedet vom deutschen Bundeskabinett am 2. Juni 1999: Der Einsatz kryptographischer Verfahren ist von auerordentlicher Bedeutung fr eine efziente technische Kriminalprvention. Dies gilt sowohl fr die Gewhrleistung der Authentizitt und Integritt des Datenverkehrs wie auch fr den Schutz der Vertraulichkeit.] Elektronische Daten spielen im Zeitalter des Computers und der weltweiten Vernetzung eine herausragende Rolle. Privatleute, Firmen, Politiker, Organisationen und Behrden machen zunehmend Gebrauch von der bequemen, schnellen und preisgnstigen Mglichkeit, per E-Mail zu kommunizieren, und nutzen elektronische Speichermedien (Festplatten, Disketten, CDROMs), um darauf ihre persnlichen Daten, Forschungsergebnisse, Firmengeheimnisse, Kunden- oder Patienteninformationen, Statisken, Notizen, Entwrfe, Umsatzzahlen usw. zu speichern. Bei der Abwicklung von Geschftsvorgngen (Bestellung, Bezahlung, Vertrge) spielt das Internet eine immer wichtigere Rolle. Den Weg, den Ihre Daten ber das Internet zu einer Zieladresse gehen, knnen Sie weder vorhersagen noch vorherbestimmen. Alle Daten, die unverschlsselt (oder mit einer unsicheren Methode verschlsselt) bers Netz gehen, sind quasi ffentlich. Man mu davon ausgehen, das diese Daten - von wem auch immer - mitgelesen oder manipuliert und - zu welchem Zweck auch immer - mibraucht werden knnen. Daten, die Sie auf Ihrem Computer abgespeichert haben, sind meist nicht sicher vor unbefugten Zugriffen. Viele Rechner sind nicht einmal mit einem Pawortschutz versehen, und selbst bei vorhandenem Pawortschutz gibt es vielfltige Mglichkeiten, an diese Daten zu gelangen. Noch nie war es so einfach und effektiv mglich, in Ihre Privatsphre einzudringen oder Zugang zu Ihren vertraulichen Informationen zu erlangen. Warum Kryptographie? Kryptographie (die Wissenschaft von der Verschlsselung) gewhrleistet 6
  • Vorwort Vertraulichkeit Integritt und Authentizitt Ihrer Daten und Ihrer Kommunikation. Wenn Sie E-Mails unverschlsselt verschicken, mssen Sie sich darber im klaren sein, da deren Inhalt weniger vertraulich ist als bei einer Postkarte. Die Administratoren sowohl Ihres Mailservers als auch des Empfngers knnten ohne weiteres ihre E-Mails lesen, abfangen oder verndern. Auf ihrem Weg zum Empfnger durchlaufen E-Mails unter Umstnden etliche Rechner. Jeder, der Zugang zu einem dieser Rechner hat, auch jeder Cracker1, der durch irgendwelche Sicherheitslcher in diese Rechner eindringt, kann mhelos auf Ihre E-Mails zugreifen. Unter Umstnden werden Ihre E-Mails sogar auf der Festplatte eines dieser Zwischenrechner gespeichert. Auch knnte der Carrier, also der, der die Datenleitungen zu Verfgung stellt (in Deutschland meist die Deutsche Telekom oder Colt-Telekom) die Datenpakete, die ber seine Leitungen gehen, gezielt ltern. Es ist auch nicht auszuschlieen, da jemand diese Leitungen von auen anzapft. Es geht aber nicht allein darum, sich gegen Cracker oder korrupte Sytemadministratoren zu schtzen, sondern auch gegen das planmige Eindringen staatlicher Organisationen (des eigenen oder eines anderen Landes) in Ihre Privatsphre. Die Geheimdienste vieler Lnder ltern heutzutage nicht nur Telefongesprche, sondern zunehmend auch die Daten, die ber das Internet transportiert werden, um daraus wirtschaftlich, politisch oder fr die Strafverfolgung nutzbare Daten zu gewinnen. Eine Studie der Kommission zur Technikfolgeabschtzung des Europaparlamentes (STOA - Scientic and Technological Options Assessment) ber die Entwicklung von berwachungstechnologie und dem Risiko des Mibrauchs wirtschaftlicher Informationen zeigt beispielsweise, da das Belauschen elekronischer Kommunikation bereits systematisch und in groem Stil betrieben wird. Eines der prominentesten Beispiele ist das ECHELON-System, das von den USA, Kanada, Grobritannien, Australien und Neuseeland gemeinsam unterhalten wird. Ursprnglich zum Belauschen des Ostblocks konzipiert, sammeln heute ber 120 Stationen mit groem Aufwand Informationen unter anderem durch Abhren von Satellitenverbindungen und Transatlantikkabeln, um Daten ber Einzelpersonen, Organisationen, Regierungen, Wirtschaftsunternehmen, Forschungsprojekte und internationale Institutionen zu gewinnen. Auf europischer Ebene plant die Arbeitsgruppe Polizeiliche Zusammenarbeit des Europa-Rats konkrete Manahmen fr die berwachung des Telekommunikations-Verkehrs. Das ENFOPOL 98 genannte Dokument schliet ausdrcklich das Internet und zuknftige Technologien mit ein. Auch Daten, die unverschlsselt auf der Festplatte Ihres Rechners oder eines anderen Speichermediums liegen, sind vor unbefugten Zugriffen nicht sicher. Jemand knnte sich ber eine Netzwerkverbindung Zugang verschaffen bzw. sich durch Diebstahl oder Einbruch in Besitz Ihrer Daten bringen. Wenn Sie Ihre Daten verschlsselt haben, kann ein Angreifer - selbst wenn er physisch im Besitz der Daten ist nicht auf diese zugreifen. Ein weiteres Problem ist das Authentizieren von elektronischen Daten. Wie bereits oben erwhnt, ist es 7
  • Vorwort mglich, die Absenderadresse und den Inhalt eines E-Mails zu flschen. Gerade bei ofzieller oder geschftlicher Korrespondenz, dem Austausch von Dokumenten und dem Abwickeln von Geschftsvorgngen ber das Internet ist es wichtig, den Absender eindeutig zu identizieren und die Integritt der Daten berprfen zu knnen. Die einzige Mglichkeit, um Vertraulichkeit, Integritt und Authentizitt von elektronischen Dokumenten zu gewhrleisten, ist die Benutzung wirkungsvoller kryptographischer Verfahren, wie sie etwa bei GnuPG Anwendung nden. Durch Verschlsselung erreichen Sie, da Ihre Daten nur von den Personen gelesen werden knnen, fr die sie auch bestimmt sind. E-Mails werden quasi in einen Briefumschlag gesteckt, der nur vom Empfnger geffnet werden kann. Darberhinaus wird durch digitale Unterschriften eine eindeutige Zuordnung zum Urheber der Signatur mglich, und Manipulationen des Dokumentes oder Vortuschen eines falschen Urhebers (Absenders) lassen sich feststellen. In der Elektronischen Datenverarbeitung sollte fr Sie die gleiche Sicherheit selbstverstndlich sein wie in anderen Bereichen. Wahrscheinlich wrden Sie weder ein intimes Liebesgestndnis, noch eine Mitteilung an Ihren Rechtsanwalt, noch Ihre wissenschaftliche oder geschftliche Korrespondenz per Postkarte schicken. Auch lassen Sie wahrscheinlich keine vertraulichen Dokumente offen in Ihrer Wohnung oder an Ihrem Arbeitsplatz liegen. Ebensowenig wrden Sie einen Kaufvertrag ohne rechtsgltige Unterschrift akzeptieren. Verschlsselung und digitale Signaturen sollten also ein alltglicher Vorgang fr Sie sein. Ob Sie nun beruiches oder privates Interesse am Schutz Ihrer Daten haben: mangelndes Problembewutsein ist das grte Risiko. Warum GnuPG? GnuPG (der GNU Privacy Guard) ist ein Programm zum Verschlsseln und Signieren von digitalen Daten und arbeitet unabhngig von den jeweiligen Datenformaten (E-Mail, Textdateien, Bilddaten, Sourcecode, Datenbanken, komplette Festplatten usw.). Es entspricht der im RFC2440 festgelegten OpenPGP-Spezikation und ist kompatibel zu PGP 5.x der Firma NAI. GnuPG verwendet dazu hauptschlich ein hybrides Verfahren mit ffentlichem Schlssel. Zum Verschlsseln kann GnuPG aber ebenso ausschlielich symmetrische Verfahren einsetzen. GnuPG ist derzeit eine der sichersten Anwendungen zum Verschlsseln und Signieren von Daten. Bei sorgfltiger Anwendung ist eine Verschlsselung mit GnuPG auch in absehbarer Zukunft nicht zu knacken. Im Gegensatz zu anderen Verschlsselungsprogrammen wie beispielsweise PGP von der Firma NAI ist GnuPG freie Software. Das bedeutet unter anderem, da der Programm-Quellcode frei verfgbar, frei von Patenten und frei von einschrnkenden Lizenzbedingungen ist2. Jeder Anwender kann so das Programm auf seine Integritt hin prfen. Das heit beispielsweise, da sich Hintertren (Key Recovery) oder Generalschlssel (Key Escrow) nicht versteckt einbauen lassen und jeder Anwender die Mglichkeit hat, Fehler zu beseitigen, das Programm zu verbessern oder nach seinen Vorstellungen zu verndern. Darberhinaus ist GnuPG nicht - wie beispielsweise amerikanische 8
  • Vorwort Verschlsselungsprogramme - durch Ausfuhrbestimmungen knstlich in seiner Funktionalitt und Sicherheit beschrnkt. Aufbau des Buches Die grundlegenden Konzepte und Hintergrnde der Verschlsselung und digitaler Signaturen werden in Kapitel 1 Konzepte behandelt. Kapitel 2 Grundlagen fhrt in die Arbeit mit GnuPG ein; die wichtigsten Funktionen, Arbeitsschritte und Optionen werden dort am Beispiel erklrt. In Kapitel 3 Schlsselverwaltung wird ausfhrlich auf das Editieren, Authentizieren und Verwalten von Schlsseln eingegangen. Auf die wichtigsten Aspekte des praktischen Einsatzes und das Web of Trust wird in Kapitel 4 GnuPG im Alltagsgebrauch eingegangen. Kapitel 5 gibt einen kurzen berblick ber die Kryptographie-Gesetzgebung. Im Anhang des Buches nden Sie ein ausfhrliches Glossar, das die verwendeten Fachausdrcke erklrt, ein Literaturverzeichnis, eine Sammlung von Internet-Ressourcen sowie eine Anleitung zur Installation von GnuPG. Funoten 1 Eine Person, die vorstzlich, unbefugterweise und oft mit bsartiger Absicht in fremde Rechnersysteme eindringt, im deutlichen Gegensatz zu Hacker, womit ein gutmeinender Computer-Freak gemeint ist (RFC 1983) 2 GnuPG steht unter der sogenannten GNU General Public License (GPL) der Free Software Foundation, die im Anhang des Buches abgedruckt ist. 9
  • Kapitel 1 Konzepte GnuPG verwendet mehrere kryptographische Verfahren wie beispielsweise symmetrische Verschlsselung, Public-Key-Verschlsselung und Einweg-Hashing. Natrlich knnen Sie GnuPG auch ohne tiefere Kenntnis dieser Konzepte benutzen, doch wenn Sie GnuPG effektiv einsetzen mchten, sollten Sie ein wenig Hintergrundwissen haben. Dieses Kapitel fhrt in die grundlegenden kryptographischen Konzepte ein, wie sie von GnuPG benutzt werden. Andere Bcher behandeln diese Themen viel detaillierter. Empfehlenswerte Bcher zum tieferen Studium sind beispielsweise Bruce Schneier (http://www.counterpane.com/schneier.html)s Angewandte Kryptographie (http://www.awl.de/katalog/item.asp?bnm=3893198547) oder Reinhard Wobsts Abenteuer Kryptologie (http://www.awl.de/katalog/item.asp?bnm=3827314135). Weitere Literaturhinweise nden sich im Anhang B. Symmetrische Verschlsselung Eine symmetrische Verschlsselung benutzt zum Ver- und Entschlsseln denselben Schlssel. Zwei Korrespondenzpartner, die eine symmetrische Verschlsselung benutzen, mssen sich vorher ber den Schlssel einigen. Mit diesem Schlssel verschlsselt der Absender die Nachricht und schickt sie an den Empfnger, der sie unter Benutzung desselben Schlssels wiederherstellt. Nach diesem Prinzip funktionierte beispielsweise die deutsche Enigma. Die jeweiligen Tages-Schlssel wurden als Code-Bcher ausgegeben, und jeden Tag konsultierte dann ein Funker seine Kopie des Code-Buchs, um den aktuellen Tagesschlssel zu ermitteln, mit dem der Funkverkehr fr den betreffenden Tag dann verund entschlsselt wurde. Zu den modernen Beispielen fr symmetrische Verschlsselungen gehren z.B. Blowsh und IDEA. Ein gutes Verschlsselungverfahren legt den Schwerpunkt der Sicherheit auf die Geheimhaltung des Schlssels und nicht auf die Geheimhaltung des verwendeten Algorithmus. Mit anderen Worten, es ist keine Hilfe fr einen Angreifer, wenn das Verschlsselungsverfahren bekannt ist, solange er nicht im Besitz des Schlssels selbst ist. Die von GnuPG benutzten Verschlsselungsverfahren beruhen auf diesen Prinzipien. Da die gesamte Sicherheit auf dem Schlssel beruht, ist es wichtig, da der Schlssel mit verfgbaren Mitteln nicht zu erraten ist. Daraus folgt, da der Vorrat an mglichen Schlsseln, der sogenannte key space, mglichst gro sein mu. Whrend seiner Zeit in Los Alamos war der Nobelpreistrger Richard Feynman berhmt fr seine Fhigkeit, Safes zu knacken. Um es noch geheimnisvoller zu machen, schleppte er einen Satz von Werkzeugen mit, zu denen ein altes Stethoskop gehrte. In Wirklichkeit wandte er jedoch eine ganze Reihe von Tricks an, um die Zahl der Kombinationen, die er ausprobieren mute, zu reduzieren; dann ng er an zu raten, bis er die richtige Kombination fand. Mit anderen Worten, er verringerte die Gre des key space. 10
  • Kapitel 1 Konzepte Die Briten benutzten im 2. Weltkrieg Maschinen, um Schlssel zu erraten. Die deutsche Enigma hatte einen sehr groen key space, doch die Briten bauten spezialisierte Rechenmaschinen, Bombes genannt, um systematisch alle Schlssel auszuprobieren, bis der jeweilige Tagesschlssel gefunden war. Manchmal fanden sie den Tagesschlssel innerhalb der Benutzungsdauer des neuen Schlssels, an manchen Tagen fanden sie den richtigen Schlssel berhaupt nicht. Heute knnen Computer sehr schnell Schlssel erraten, und eben deshalb ist in modernen Verschlsselungsverfahren die Schlsselgre uerst wichtig. Die DES-Verschlsselung zum Beispiel benutzt einen 56-Bit-Schlssel; das bedeutet, da es 256, also genau 72.057.594.037.927.936 mgliche Schlssel gibt (das sind mehr als 72 Billiarden). Obwohl das eine sehr groe Zahl ist, kann ein normaler Mehrzweckcomputer den gesamten key space innerhalb von Tagen prfen. Ein spezialisierter Computer braucht hierfr mglicherweise nur ein paar Stunden. Die moderneren Verschlsselungsverfahren wie beispielsweise Blowsh und IDEA benutzen smtlich 128-Bit-Schlssel, was bedeutet, da es 2128 (340.282.366.920.938.463.463.374.607.431.768.211.456!!!) mgliche Schlssel gibt. Dies sind so unglaublich viel mehr Kombinationen als bei einer 56-Bit-Verschlsselung, da sogar selbst dann, wenn man alle Computer der Welt zusammen arbeiten liee, das bisherige Alter des Universums noch eine zu kurze Zeit sein knnte, um den richtigen Schlssel zu nden. Public-Key-Verschlsselung Das Hauptproblem bei symmetrischen Verschlsselungen ist nicht die Sicherheit der eingesetzten Verfahren, sondern der Austausch der Schlssel. Wenn zwei Kommunikationspartner einmal die Schlssel ausgetauscht haben, kann der betreffende Schlssel fr sicheren Datenaustausch benutzt werden. Die Frage ist nur, auf welchem sicheren Wege der Schlsselaustausch stattgefunden hat. Wahrscheinlich wre es fr einen Angreifer viel leichter, den Schlssel abzufangen, als alle mglichen Schlssel im key space auszuprobieren (eine Erfahrung, die die Deutschen mit ihrer Enigma auch machen muten). Ein weiteres Problem ist die Anzahl der insgesamt benutzten Schlssel. Wenn die Zahl der Leute, die miteinander kommunizieren wollen, n betrgt, so werden insgesamt n(n-1)/2 Schlssel (also beispielsweise 45 Schlssel bei 10 Leuten) bentigt. Dies mag fr eine geringe Personenzahl noch angehen, lt sich aber bei groen Personengruppen nicht mehr handhaben. Der Sinn von Verschlsselungsverfahren mit ffentlichem Schlssel besteht darin, da das Sicherheitsrisiko beim gegenseitigen Schlsselaustausch gnzlich vermieden wird. Jeder hat ein Schlsselpaar mit einem ffentlichen und einem geheimen Schlssel. Zum Verschlsseln einer Nachricht benutzt man den ffentlichen Schlssel des Empfngers, und nur dieser kann sie mit seinem geheimen Schlssel wieder entschlsseln. Dadurch lst man das Problem des Schlsselaustausches bei symmetrischer Verschlsselung. Sender und Empfnger brauchen sich nicht auf einen Schlssel zu einigen. Erforderlich ist nur, da der Absender eine Kopie des ffentlichen Schlssels des Empfngers besitzt. Dieser eine ffentliche Schlssel kann von jedem benutzt werden, der mit dem Empfnger kommunizieren will. Somit sind dann insgesamt nur 11
  • Kapitel 1 Konzepte n Schlsselpaare notwendig, wenn n Leute verschlsselt miteinander kommunizieren wollen. Die Verschlsselung mit ffentlichem Schlssel beruht auf sogenannten Falltr-Algorithmen bzw. Einweg-Hashes. Das sind Funktionen, die leicht zu berechnen sind, doch umgekehrt ist es praktisch unmglich, aus dem Ergebnis dieser Hash-Funktionen wieder den Ausgangswert zu berechnen. So ist es z.B. leicht, zwei Primzahlen miteinander zu multiplizieren, um eine Nichtprimzahl zu erhalten, es ist aber schwer, eine Nichtprimzahl in ihre Primfaktoren zu zerlegen. Falltr-Algorithmen sind hnlich, haben aber eine Falltr. Das heit: Wenn ein Stck Information bekannt ist, kann man leicht die Umkehrfunktion berechnen. Wenn Sie z.B. eine aus zwei Primfaktoren bestehende Zahl haben, so macht die Kenntnis eines der Faktoren es leicht, den zweiten zu berechnen. Angenommen, ein Verfahren beruhe auf der Bildung einer Zahl aus Primfaktoren, dann enthlt der ffentliche Schlssel eine aus zwei groen Primfaktoren zusammengesetzte Zahl, und das Verschlsselungsverfahren benutzt dann diese Nichtprimzahl zum Verschlsseln der Nachricht. Das Verfahren zum Wiederherstellen dieser Nachricht erfordert dann die Kenntnis der Primfaktoren. So ist die Entschlsselung mglich, wenn Sie den privaten Schlssel haben, der einen der Faktoren enthlt, ist aber praktisch unmglich, wenn Sie ihn nicht haben. Wie bei guten symmetrischen Verschlsselungsverfahren beruht die Sicherheit auch bei Public-Key-Verfahren ausschlielich auf dem Schlssel. Aus diesem Grund kann man die Schlsselgre als ein Ma fr die Sicherheit des Systems nehmen. Allerdings kann man die Gre eines symmetrischen Schlssels nicht mit der von Public-Key-Verfahren vergleichen, um Rckschlsse auf deren relative Sicherheit ziehen zu knnen. Bei einem Brute-Force-Angriff auf eine symmetrische Verschlsselung mit einer Schlsselgre von 80 Bit mu der Angreifer bis zu 280-1 Schlssel ausprobieren, um den richtigen Schlssel zu nden. Bei einem Brute-Force-Angriff auf eine Public-Key-Verschlsselung mu der Angreifer bei einer Schlsselgre von 512 Bit eine in 512 Bit codierte (bis zu 155 Dezimalstellen umfassende) Nichtprimzahl in ihre Primfaktoren zerlegen. Der Rechenaufwand fr den Angriff weist je nach der Verschlsselung gewaltige Unterschiede auf. Whrend 128 Bit fr symmetrische Schlssel ausreichen, werden angesichts der heutigen Verfahren zur Faktorisierung grosser Zahlen fr die meisten Zwecke ffentliche Schlssel mit 1024 Bits empfohlen. Hybride Verschlsselungsverfahren Public-Key-Verschlsselung ist kein Allheilmittel. Viele symmetrische Verfahren sind vom Sicherheitsstandpunkt aus betrachtet wirksamer, und die Ver- und Entschlsselung ist bei Public-Key-Verfahren aufwendiger als bei entsprechenden symmetrischen Systemen, sie sind aber nichtsdestoweniger ein wirksames Werkzeug fr den sicheren Austausch von symmetrischen Schlsseln. Das ist die Idee bei hybriden Verschlsselungssystemen. Eine hybride Verschlsselung benutzt sowohl eine symmetrische Verschlsselung als auch ein asymmetrisches Public-Key-Verfahren. Die eigentliche Nachricht wird mit einem symmetrischen 12
  • Kapitel 1 Konzepte Sitzungsschlssel verschlsselt, welcher von einem Zufallsgenerator erzeugt wird. Dieser Sitzungsschlssel wird dann mit dem ffentlichen Schlssel des Empfngers verschlsselt. Sowohl PGP als auch GnuPG benutzen hybride Verschlsselungsverfahren. Der mit dem ffentlichen Schlssel des Empfngers verschlsselte Sitzungsschlssel und die symmetrisch verschlsselte Nachricht werden automatisch zusammengefat. Der geheime Schlssel des Empfngers wird zum Entschlsseln des Sitzungsschlssels verwendet, und dieser wird dann zum Entschlsseln der eigentlichen Nachricht verwendet. Ein hybrides Verschlsselungsverfahren ist immer nur so gut wie der unsicherste Teil, egal ob das die Public-Key-Verschlsselung oder die symmetrische Verschlsselung ist. Da die symmetrischen Sitzungsschlssel bei jedem Vorgang neu erzeugt werden, knnte ein Angreifer - selbst wenn er einen Sitzungsschlssel entschlsseln knnte - nur die mit dem betreffenden Sitzungsschlssel verschlsselte Nachricht entschlsseln. Er mte also fr jede weitere Nachricht, die er lesen mchte, erneut einen Sitzungsschlssel entschlsseln. Digitale Unterschriften Eine Hash-Funktion 1 ist eine kryptographische Prfsumme. Durch eine eindeutige Funktion wird aus einer Datei eine wesentlich krzere Datensequenz erzeugt, die ein eindeutiges Abbild der Ursprungsdatei ist. Die digitale Unterschrift eines Dokumentes ist das Ergebnis der Anwendung einer Hash-Funktion auf das Dokument. Um fr digitale Unterschriften brauchbar zu sein, mu die Hash-Funktion jedoch zwei wichtige Eigenschaften haben: Erstens sollte es unmglich sein, zwei Dokumente zu nden, die dasselbe Hash-Ergebnis haben. Zweitens sollte es bei einem gegebenen Hash-Ergebnis schwer sein, das ursprnglich Dokument wiederherzustellen, aus dem dieser Hash erzeugt wurde. Einige Public-Key-Verfahren knnten auch zum Unterschreiben von Dokumenten benutzt werden.2 Der Unterzeichner verschlsselt das Dokument mit seinem privaten Schlssel. Jeder, der die Unterschrift prfen und das Dokument sehen will, benutzt einfach den ffentlichen Schlssel des Unterzeichners, um das Dokument zu entschlsseln. Dieses Verfahren besitzt in der Tat die beiden Eigenschaften, die eine gute Hash-Funktion braucht, doch ist es in der Praxis zu langsam, um effektiv nutzbar zu sein. Besser ist es, spezielle Hash-Algorithmen zu benutzen, welche diese beiden wichtigen Eigenschaften aufweisen; wie beispielsweise SHA1 und RIPE-MD160. Bei einem solchen Verfahren wird der Hash-Wert eines Dokumentes als Unterschrift verwendet. Man kann die Unterschrift dadurch prfen, da man auf die Kopie des Dokumentes ebenfalls die Hash-Funktion anwendet und den Hash-Wert, den man erhlt, mit dem Hash-Wert des Originaldokumentes vergleicht. Wenn beide Werte bereinstimmen, dann sind beide Dokumente identisch. 13
  • Kapitel 1 Konzepte Das Problem ist jetzt natrlich, Hash-Funktionen fr digitale Unterschriften zu benutzen, ohne einem Angreifer das Manipulieren der Unterschrift zu ermglichen. Wenn das Dokument und die Unterschrift unverschlsselt geschickt werden, knnte ein Angreifer das Dokument verndern und eine entsprechende neue Unterschrift erzeugen, ohne da der Empfnger es merkt. Wenn nur das Dokument verschlsselt wird, knnte ein Angreifer die Unterschrift verflschen und so das Scheitern einer Unterschriftsprfung verursachen. Eine dritte Mglichkeit besteht darin, ein hybrides Verfahren zu benutzen, um sowohl die Unterschrift als auch das Dokument zu verschlsseln. Der Unterzeichner benutzt seinen privaten Schlssel, und jedermann kann dessen ffentlichen Schlssel benutzen, um die Unterschrift und das Dokument zu prfen. Dies klingt zwar gut, ist aber in Wirklichkeit Unsinn. Wenn dieses Verfahren das Dokument wirklich sichern knnte, wrde es dieses auch gegen Verflschung sichern, und dann wre die Unterschrift gar nicht ntig. Das ernstlichere Problem ist jedoch, da dies keinen Schutz gegen Verflschung bietet, weder fr die Unterschrift noch fr das Dokument. Bei diesem Verfahren wird nur der Sitzungsschlssel fr die symmetrische Verschlsselung unter Benutzung des privaten Schlssels des Unterzeichners verschlsselt. Jeder kann den ffentlichen Schlssel benutzen, um den Sitzungsschlssel wiederherzustellen. Deshalb ist es fr einen Angreifer einfach, den Sitzungsschlssel wiederherzustellen und ihn zum Verschlsseln von Ersatzdokumenten und Ersatzunterschriften zu benutzen, die er dann im Namen des Absenders an andere schickt. Ein wirklich funktionierendes Verfahren ist es, nur die Unterschrift mit einem Public-Key-Verfahren zu verschlsseln. Das heit, es wird der geheime Schlssel des Unterzeichners benutzt, um die digitale Unterschrift zu erzeugen, die dann jeder mit dem dazugehrigen ffentlichen Schlssel checken kann. Das unterzeichnete Dokument kann man unverschlsselt verschicken, wenn es ffentlich ist oder verschlsselt, wenn es vertraulich ist. Wenn das Dokument nach dem Unterzeichnen verndert wurde, wird die Unterschriftsprfung negativ ausfallen. Der von GnuPG standardmig benutzte Digital Signature Algorithm (DSA) arbeitet nach dieser Methode. Funoten 1 Eine einfache Hash-Funktion ist f (x) = 0 fr alle ganzen Zahlen x. Eine interessantere Hash-Funktion ist f (x) = x mod 37, welche x auf den Rest von x dividiert durch 37 abbildet. 2 Die Verschlsselung mu die Eigenschaft haben, da der aktuelle ffentliche oder private Schlssel vom Verschlsselungsverfahren als der ffentliche Schlssel benutzt werden knnte. RSA ist ein Beispiel eines solchen Verfahrens, ElGamal dagegen nicht. 14
  • Kapitel 2 Grundlagen Dieses Kapitel fhrt in die wesentlichen Funktionen des GNU Privacy Guard ein. Hier lernen Sie, wie man Schlsselpaare erzeugt, Schlssel austauscht und berprft, Dokumente verschlsselt, entschlsselt und durch digitale Unterschriften authentiziert. Wie bereits in Kapitel 1 erwhnt, bedient sich GnuPG eines Public-Key-Verfahrens, um eine sichere Kommunikation zu gewhrleisten. In einem solchen System hat jeder Benutzer ein Schlsselpaar, bestehend aus einem geheimen Schlssel und einem ffentlichen Schlssel. Der geheime Schlssel darf unter keinen Umstnden jemand anderem zugnglich sein. Den ffentlichen Schlssel sollte man fr jeden, mit dem man kommunizieren mchte, zugnglich machen. GnuPG benutzt ein erweitertes Schema, bei dem jeder Benutzer jeweils ein primres Schlsselpaar hat und optional weitere untergeordnete Schlsselpaare haben kann. Das primre und das untergeordnete Schlsselpaar werden gebndelt, um die Schlsselverwaltung zu erleichtern; das Bndel kann vereinfacht als ein Schlsselpaar betrachtet werden. Erzeugen eines neuen Schlsselpaares Damit Sie GnuPG zum Verschlsseln, Entschlsseln oder Signieren einsetzen knnen, bentigen Sie ein Schlsselpaar, das aus einem geheimen und einem ffentlichen Schlssel besteht. Mit der Kommandozeilen-Option --gen-key knnen Sie ein neues primres Schlsselpaar erzeugen: gpg --gen-key gpg (GnuPG) 1.0.1; Copyright (C) 1999 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. alice$ Bitte whlen Sie, welche Art von Schlssel Sie mchten: (1) DSA und ElGamal (voreingestellt) (2) DSA (nur signieren/beglaubigen) (4) ElGamal (signieren/beglaubigen und verschlsseln) Ihre Auswahl? Mit GnuPG knnen Sie verschiedene Typen von Schlsselpaaren erzeugen, doch mu der primre Schlssel Unterschriften liefern knnen. Es gibt daher nur drei Optionen. Option 1 erzeugt wirklich zwei Schlsselpaare, nmlich ein DSA-Schlsselpaar, das nur zum Unterschreiben geeignet ist, und auerdem noch ein untergeordnetes ElGamal-Schlsselpaar fr die Verschlsselung. Option 2 erzeugt nur das DSA-Schlsselpaar. Option 41 erzeugt ein einzelnes ElGamal-Schlsselpaar, das sowohl zum Unterzeichnen als auch zum Verschlsseln verwendbar ist. In allen Fllen ist es mglich, spter noch weitere Unterschlssel fr die Verschlsselung und Unterzeichnung hinzuzufgen. In der Regel sollten Sie hier die Standardoption auswhlen. 15
  • Kapitel 2 Grundlagen Als nchstes whlen Sie die Schlsselgre. Bei einem DSA-Schlssel mu diese zwischen 512 und 1024 Bits liegen, ein ElGamal-Schlssel dagegen kann - zumindest theoretisch - eine beliebige Gre haben. Der GnuPG erfordert es allerdings, da die Schlssel nicht kleiner als 768 Bits sind. Wenn Option 1 mit einer Schlsselgre von mehr als 1024 Bit gewhlt wurde, hat der ElGamal-Schlssel die verlangte Gre, doch der DSA-Schlssel wird maximal 1024 Bits haben. Der DSA Schlssel wird 1024 Bits haben. Es wird ein neues ELG-E Schlsselpaar erzeugt. kleinste Schlssellnge ist 768 Bit standard Schlssellnge ist 1024 Bit grte sinnvolle Schlssellnge ist 2048 Bit Welche Schlssellnge wnschen Sie? (1024) Je grer der Schlssel ist, desto sicherer ist er gegen Brute-Force-Angriffe, doch sollte fr die meisten Zwecke die Standard-Schlsselgre ausreichend sein, da es einfacher wre, die Verschlsselung zu umgehen, als sie zu knacken. Auerdem wird mit zunehmender Schlsselgre die Ver- und Entschlsselung langsamer, und auch die Unterschrift wird lnger. Einmal festgelegt, kann die Schlsselgre nicht nachtrglich gendert werden. Schlielich mssen Sie noch ein Verfallsdatum whlen. Wenn Option 1 gewhlt wurde, gilt dieses Verfallsdatum sowohl fr die ElGamal- als auch die DSA-Schlsselpaare. Bitte whlen Sie, wie lange der Schlssel gltig bleiben soll. 0 = Schlssel verfllt nie = Schlssel verfllt nach n Tagen w = Schlssel verfllt nach n Wochen m = Schlssel verfllt nach n Monaten y = Schlssel verfllt nach n Jahren Der Schlssel bleibt wie lange gltig? (0) Fr die meisten Flle reicht ein Schlssel ohne Verfallsdatum vllig aus. Allerdings sollte man das Verfallsdatum immer sorgfltig auswhlen; denn, obwohl es sich auch noch nachtrglich ndern lt, kann es umstndlich sein, das genderte Verfallsdatum allen Ihren Kommunikationspartnern mitzuteilen. Im nchsten Schritt mssen Sie eine Benutzer-ID (Benutzer-Kennung) angeben. Das dient dazu, den soeben erzeugten Schlssel einer realen Person zuzuordnen. Sie bentigen 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) Ihr Name (Vorname Nachname): Es wird zunchst nur eine Benutzer-ID erzeugt, doch knnen Sie spter weitere Benutzer-IDs hinzufgen, wenn Sie den Schlssel in verschiedenen Situationen benutzen wollen, also beispielsweise bei der Arbeit in Ihrer Firma oder fr Ihre politische Arbeit. Die Benutzer-ID sollten Sie mit aller Sorgfalt whlen, da Sie sie spter nicht mehr ndern knnen. 16
  • Kapitel 2 Grundlagen Damit Ihr geheimer Schlssel nicht von anderen mibraucht werden kann, wird er von GnuPG mit einem symmetrischen Verfahren verschlsselt. Dazu geben Sie ein sogenanntes Mantra (einen Pawort-Satz) ein, das Sie wiederum jedesmal bentigen, wenn Sie auf Ihren geheimen Schlssel zugreifen. Sie bentigen ein Mantra, um den geheimen Schlssel zu schtzen. Geben Sie das Mantra ein: Die Lnge des Mantra ist theoretisch unbegrenzt. Sie sollten es mit Sorgfalt auswhlen. Unter dem Gesichtspunkt der Sicherheit ist das Mantra einer der schwchsten Punkte im GnuPG (wie auch in anderen Verschlsselungssystemen mit ffentlichen Schlsseln), da es Ihr einziger Schutz ist, falls jemand in den Besitz Ihres privaten Schlssels kommt. Man sollte fr das Mantra keine Wrter aus einem Wrterbuch oder Lexikon nehmen und nicht nur die Buchstaben des Alphabets, sondern auch Sonderzeichen verwenden. Je lnger das Mantra ist, desto sicherer ist es, aber andererseits sollten Sie sich das Mantra auch gut merken knnen; nichts ist fataler als das Mantra auf einem Zettel oder in einer Datei zu notieren. Ein gut gewhltes Mantra ist entscheidend fr Ihre Datensicherheit. Es ist beispielsweise keine gute Idee, einen bekannten Ausspruch oder ein Zitat einer bekannten Persnlichkeit als Mantra zu nehmen. Das wrde die Chance erhhen, das Mantra zu erraten: ein Angreifer knnte einfach den Computer eine Zitatenliste durchprobieren lassen. Am besten denkt man sich einen unsinnigen Satz wie z.B: Die Currywurst schmeckt nach Zimt und Zucker oder Helmut Kohl ist bekanntermaen Vegetarier aus. Ihrer Phantasie sind hierbei keine Grenzen gesetzt. Wenn Sie auch noch ein paar Rechtschreibfehler und Sonderzeichen einbauen, ist ein Wrterbuchangriff praktisch unmglich: Dat Krriwurst schmckt nach #imt und #ucker. Benutzen Sie auch auf keinen Fall eines der soeben aufgefhrten Beispiele!!. Erzeugen einer Widerrufurkunde Nach dem Erzeugen Ihres Schlsselpaars sollten Sie sofort mit der Option --gen-revoke eine Widerrufurkunde fr Ihre Schlssel erzeugen. Wenn Sie Ihr Mantra vergessen oder wenn Ihr privater Schlssel kompromittiert oder verloren gegangen ist, knnen Sie mit dieser Widerrufurkunde andere davon in Kenntnis setzen, da der dazugehrige ffentliche Schlssel nicht mehr benutzt werden sollte. Ein zurckgerufener ffentlicher Schlssel kann noch benutzt werden, um Unterschriften zu prfen, die Sie vor dem Widerruf abgegeben haben, er kann jedoch nicht benutzt werden, um knftige Mitteilungen an Sie zu verschlsseln. Vorausgesetzt, Sie haben noch Zugang zu Ihrem widerrufenen geheimen Schlssel, so knnen Sie selbstverstndlich noch Daten entschlsseln, die vor dem Widerruf fr Sie verschlsselt worden sind. alice$ gpg --output revoke.asc --gen-revoke mykey [...] 17
  • Kapitel 2 Grundlagen wobei mykey entweder die Schlssel-ID Ihres ersten Schlsselpaares oder irgendein Teil einer dazugehrigen Benutzer-ID ist. Die erzeugte Widerrufurkunde wird in die Datei revoke.asc, bzw., wenn man die Option --output weglt, auf die Standard-Ausgabe geschrieben. Da die Widerrufurkunde kurz ist, ist es kein Problem, eine ausgedruckte Kopie der Widerrufurkunde irgendwo sicher aufzubewahren, z.B. in Ihrem Bankschliefach. Die Widerrufurkunde sollten Sie aber auf keinen Fall an Stellen aufbewahren, zu denen andere Personen Zugang haben, da im Prinzip jeder die Widerrufurkunde verffentlichen und so den entsprechenden Schlssel nutzlos machen knnte. Austauschen von Schlsseln Um mit anderen zu kommunizieren, mssen Sie untereinander Ihre ffentlichen Schlssel austauschen. Zum Auisten der Schlssel in Ihrem ffentlichen Schlsselbund verwenden Sie die Befehlszeilen-Option --list-keys. gpg --list-keys /users/alice/.gnupg/pubring.gpg --------------------------------------pub 1024D/FB5797A9 2000-06-06 Alice (Rechtsanwltin) sub 1024g/C8B3998F 2000-06-06 alice$ Exportieren eines ffentlichen Schlssels Um jemandem Ihren ffentlichen Schlssel zu schicken, mssen Sie diesen zunchst exportieren. Hierzu benutzt man die Kommandozeilen-Option --export. Zur Indentikation des zu exportierenden ffentlichen Schlssels dient entweder die Schlssel-ID oder irgendein Teil der Benutzer-ID. alice$ gpg --output alice.gpg --export [email protected] Der Schlssel wird in einem binren Format exportiert, doch kann dies unerwnscht sein, wenn Sie den Schlssel per E-Mail verschicken oder auf einer WWW-Seite verffentlichen wollen. GnuPG untersttzt daher die Kommandozeilen-Option --armor2 die bewirkt, da der Output im ASCII-Format ausgegeben wird. (Im Allgemeinen kann jeder Output von GnuPG - beispielsweise Schlssel, verschlsselte Dokumente oder Unterschriften - im ASCII-Format dargestellt werden, indem man die --armor-Option hinzufgt.) gpg --armor --export [email protected] -----BEGIN PGP PUBLIC KEY BLOCK----Version: GnuPG v1.0.1 (GNU/Linux) Comment: For info see http://www.gnupg.org alice$ [...] -----END PGP PUBLIC KEY BLOCK----- 18
  • Kapitel 2 Grundlagen Importieren eines ffentlichen Schlssels Ein ffentlicher Schlssel kann zu Ihrem ffentlichen Schlsselbund hinzugefgt werden, und zwar mit folgender Option: --import gpg --import blake.gpg gpg: Schlssel B2690E6F: ffentlicher Schlssel importiert gpg: Anzahl insgesamt bearbeiteter Schlssel: 1 gpg: importiert: 1 alice$ gpg --list-keys /users/alice/.gnupg/pubring.gpg --------------------------------------pub 1024D/FB5797A9 2000-06-06 Alice (Rechtsanwltin) sub 1024g/C8B3998F 2000-06-06 alice$ pub sub 1024D/B2690E6F 2000-06-06 Blake (Staatsanwalt) 1024g/F251B862 2000-06-06 Wenn ein Schlssel einmal importiert ist, sollte er auf Authentizitt berprft werden. GnuPG arbeitet mit einem wirksamen und exiblen Vertrauensmodell, bei dem Sie nicht jeden Schlssel persnlich zu authentizieren brauchen, den Sie importieren. Einige Schlssel knnen dies jedoch erfordern. Ein Schlssel wird dadurch authentiziert, da Sie den Fingerabdruck des Schlssels berpfen und dann den Schlssel unterschreiben, um seine Gltigkeit zu besttigen. Der Fingerabdruck eines Schlssels kann schnell mit der Befehlszeilen-Option --fingerprint geprft werden, um aber den Schlssel zu besttigen, mssen Sie ihn editieren. alice$ pub sub (1) gpg --edit-key [email protected] 1024D/B2690E6F created: 2000-06-06 expires: never 1024g/F251B862 created: 2000-06-06 expires: never Blake (Staatsanwalt) trust: -/q Befehl> fpr pub 1024D/B2690E6F 2000-06-06 Blake (Staatsanwalt) Fingerprint: 6A51 852C 7491 95B5 C5F0 731C 141F C008 B269 0E6F Um den Fingerabdruck zu berprfen, mssen Sie den Eigentmer des Schlssels kontaktieren und die Fingerabdrcke vergleichen. Sie knnen persnlich oder per Telefon mit ihm sprechen oder auf beliebigem anderen Wege kommunizieren, solange nur garantiert ist, da es sich um den rechtmigen Eigentmer handelt. Stimmen beide Fingerabdrcke berein, dann knnen Sie sicher sein, da Sie eine echte Kopie des ffentlichen Schlssels haben. Nach dem Prfen des Fingerabdrucks knnen Sie den Schlssel unterschreiben, um ihn zu authentizieren. Da die Schlsselberprfung ein Schwachpunkt in der Kryptographie mit ffentlichem Schlssel ist, sollten Sie uerste Sorgfalt walten lassen und den Fingerabdruck eines Schlssels immer gemeinsam mit dem Eigentmer prfen, bevor Sie den Schlssel unterschreiben. Befehl> sign 19
  • Kapitel 2 Grundlagen pub 1024D/B2690E6F created: 2000-06-06 expires: never trust: -/q Fingerprint: 6A51 852C 7491 95B5 C5F0 731C 141F C008 B269 0E6F Blake (Staatsanwalt) Sind Sie wirklich sicher, da Sie vorstehenden Schlssel mit Ihrem Schlssel beglaubigen wollen: Alice (Rechtsanwltin) Wirklich unterschreiben? Sie knnen sich jederzeit vergewissern, welche Unterschrift Sie hinzugefgt haben. Jede Benutzer-ID auf dem Schlssel hat dann sowohl eine oder mehrere Eigenbeglaubigungen als auch eine Unterschrift von jedem Benutzer, der den Schlssel authentiziert hat. Befehl> check uid Blake (Staatsanwalt) sig! B2690E6F 2000-06-06 [Eigenbeglaubigung] sig! FB5797A9 2000-06-06 Alice (Rechtsanwltin) Ver- und Entschlsseln von Dokumenten Der ffentliche und der geheime Schlssel haben jeweils eine spezische Aufgabe beim Ver- und Entschlsseln von Dokumenten. Das Public-Key-Verfahren kann man sich wie einen offenen Safe vorstellen. Wenn jemand ein Dokument unter Benutzung eines ffentlichen Schlssels verschlsselt, wird dieses Dokument in den Safe gelegt, der Safe geschlossen und das Kombinationsschlo mehrmals verdreht. Der entsprechende geheime Schlssel ist die Kombination, mit der man den Safe wieder ffnen und das Dokument wieder herausholen kann. Mit anderen Worten, es kann nur die Person, die den geheimen Schlssel hat, auf ein Dokument zugreifen, das unter Benutzung des dazugehrigen ffentlichen Schlssels verschlsselt worden ist. Das Verfahren fr das Ver- und Entschlsseln von Dokumenten ist bei diesem Modell einfach: eine Nachricht an Alice verschlsseln Sie unter Verwendung von Alices ffentlichem Schlssel, und diese entschlsselt sie mit ihrem geheimen Schlssel. Umgekehrt geht es genauso: Alice verschlsselt eine Nachricht an Sie mit Ihrem ffentlichen Schlssel, welche Sie dann mit Ihrem geheimen Schlssel entschlsseln knnen. Um ein Dokument zu verschlsseln, benutzt man die Option --encrypt. Dazu mssen Sie die ffentlichen Schlssel der vorgesehenen Empfnger haben. Sollten Sie auf der Kommandozeile den Namen der zu verschlsselnden Datei nicht angeben, werden die zu verschlsselnden Daten von der Standard-Eingabe gelesen. Das verschlsselte Resultat wird auf die Standard-Ausgabe oder in die Datei, die durch die Option --output speziziert ist, geschrieben. Das Dokument wird darberhinaus auch noch komprimiert. 20
  • Kapitel 2 Grundlagen alice$ gpg --output doc.gpg --encrypt --recipient [email protected] doc Mit der Option --recipient wird der ffentliche Schlssel speziziert, mit dem das Dokument verschlsselt werden soll. Entschlsseln lt sich das so verschlsselte Dokument jedoch nur von jemandem mit dem dazugehrigen geheimen Schlssel. Das bedeutet konsequenterweise aber auch, da Sie selbst ein so verschlsseltes Dokument nur wieder entschlsseln knnen, wenn Sie Ihren eigenen ffentlichen Schlssel in die Empfngerliste aufgenommen haben. Zum Entschlsseln einer Nachricht wird die Option --decrypt benutzt. Sie bentigen dazu den geheimen Schlssel, fr den die Nachricht verschlsselt wurde und das Mantra, mit dem der geheime Schlssel geschtzt ist. gpg --output doc --decrypt doc.gpg Sie bentigen ein Mantra, um den geheimen Schlssel zu entsperren. Benutzer: Blake (Staatsanwalt) 1024-Bit ELG-E Schlssel, ID F251B862, erzeugt 2000-06-06 (Hauptschlssel-ID B2690E6F) blake$ Geben Sie das Mantra ein: Mit GnuPG knnen Sie aber auch ohne Anwendung eines Public-Key-Verfahrens Dokumente verschlsseln und stattdessen ein symmetrisches Verfahren benutzen. Der Schlssel fr die symmetrische Verschlsselung wird aus einem Pawort - besser noch, einem Pawort-Satz - generiert, das auf gar keinen Fall dem Mantra zum Schutz Ihres privaten Schlssels entsprechen sollte. Je lnger das gewhlte Pawort ist, desto sicherer ist der Schlssel. Wenn Sie diesen symmetrischen Schlssel an jemanden weitergeben, sollten Sie dazu einen sicheren Weg whlen. Ein Dokument lt sich so durch Benutzung der Option--symmetricverschlsseln. gpg --output doc.gpg --symmetric doc Geben Sie das Mantra ein: alice$ Symmetrische Verfahren empfehlen sich beispielsweise, wenn Sie die verschlsselten Daten nicht weiter geben mchten, das Problem der Pawortbergabe also entfllt. Ein mgliches Anwendungsbeispiel wre, da Sie alte E-Mails oder alte Datenstze aus Ihrer Umsatzstatisk auf ihrer Festplatte oder einer CDROM archivieren und vor fremden Zugriffen schtzen mchten. Oder Sie knnen auch ganze Verzeichnisse oder Festplatten verschlsseln. Digitale Signaturen Eine digitale Unterschrift oder Signatur ist am ehesten mit einem Siegel zu vergleichen. Mit dem Siegel wird die Integritt eines Dokumentes besttigt, das sich in einem Umschlag bendet, und ermglicht, da sich eine nachtrgliche Manipulation feststellen lt. Wenn das Dokument nachfolgend in irgendeiner Weise verndert wird, ergibt die Prfung der Signatur ein negatives Ergebnis. Auerdem ermglicht die Signatur eine zweifelsfreie Zuordnung des Absenders. Eine digitale Unterschrift kann so 21
  • Kapitel 2 Grundlagen demselben Zweck wie eine handgeschriebene Unterschrift dienen mit dem zustzlichen Vorteil, eine Handhabe gegen Verflschung zu bieten. Die GnuPG-Quelltextdistribution ist z.B. so unterschrieben, da die Benutzer nachprfen knnen, da der Quelltext nachtrglich nicht verndert worden ist und auch wirklich vom GnuPG-Team stammt. Die rechtliche Verbindlichkeit von digitalen Unterschriften ist von Land zu Land verschieden. In Deutschland ist das Signaturgesetz augenblicklich einer Novellierung unterworfen. Weitere Informationen und Quellenverweise nden Sie in Kapitel 4. Bei der Erzeugung und Prfung von Unterschriften benutzt man das ffentlich/geheime Schlsselpaar anders als bei der Ver- und Entschlsselung. Die Unterschrift wird hier mit dem geheimen Schlssel des Unterzeichnenden erzeugt und dann jeweils mit dem entsprechenden ffentlichen Schlssel geprft. So wrde beispielsweise Alice ihren geheimen Schlssel benutzen, um ihren letzten Beitrag fr eine Zeitschrift zu signieren. Der Redakteur, der Alices Artikel bearbeitet, benutzt dann ihren ffentlichen Schlssel, um die Unterschrift zu prfen und so sicherzustellen, da der Beitrag wirklich von Alice selbst stammt und auch nicht nachtrglich verndert worden ist. Als Konsequenz aus der Verwendung digitaler Signaturen ergibt sich, da sich kaum abstreiten lt, da man eine digitale Unterschrift geleistet hat, da dies ja bedeuten wrde, da der geheime Schlssel kompromittiert wurde. Die Kommandozeilen-Option --sign wird zum Erzeugen einer digitalen Unterschrift verwendet. Mit der Option --output legen Sie fest, in welche Datei das signierte Dokument geschrieben wird. alice$ gpg --output doc.sig --sign doc Sie bentigen ein Mantra, um den geheimen Schlssel zu entsperren. Benutzer: Alice (Rechtsanwltin) 1024-bit DSA Schlssel, 1024D/FB5797A9, erzeugt 2000-06-06 Geben Sie das Mantra ein: Das Dokument wird vor dem Unterschreiben komprimiert und die Ausgabe erfolgt im binren Format. Haben Sie ein unterschriebenes Dokument erhalten, knnen Sie die Unterschrift prfen, und zwar optional ohne oder mit Entnahme des unterschriebenen Originaldokumentes. Zur bloen berprfung der Unterschrift benutzen Sie die Option --verify. Wenn Sie auerdem das unterzeichnete Dokument entnehmen wollen, verwenden Sie die Option --decrypt. blake$ gpg --output doc --decrypt doc.sig gpg: Unterschrift vom Die 06 Jun 2000 17:19:52 CEST, DSA Schlssel ID FB5797A9 gpg: Korrekte Unterschrift von Alice (Rechtsanwltin) Dokumente mit Klartextsignatur 22
  • Kapitel 2 Grundlagen In Fllen, in denen es unerwnscht ist, das Dokument beim Unterschreiben zu komprimieren, benutzt man die Option --clearsign. Das bewirkt, da eine in ASCII dargestellte Signatur das Dokument wie ein Briefumschlag umgibt, das Dokument an sich aber nicht verndert wird. Der Vorteil dieses Verfahrens ist, da der Empfnger das Dokument auch ohne Prfung der Signatur lesen kann. alice$ gpg --clearsign doc Sie bentigen ein Mantra, um den geheimen Schlssel zu entsperren. Benutzer: Alice (Rechtsanwltin) 1024-Bit DSA Schlssel, ID FB5797A9, erzeugt 2000-06-06 Geben Sie das Mantra ein: GnuPG markiert dann im Klartext den Anfang des signierten Dokuments und hngt am Ende einen Block mit der eigentlichen OpenPGP-Signatur an. -----BEGIN PGP SIGNED MESSAGE----Hash: SHA1 Hier steht irgend ein von GnuPG signierter Text [...] -----BEGIN PGP SIGNATURE----Version: GnuPG v1.0.1 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE5Pf40WyoKbftXl6kRAsWJAJ4hj7FzPX8M9MWZav9u6yjbHXWGKwCfSiKA wTaJ/lfY1ETv3R/uJrtGTbI= =BDOH -----END PGP SIGNATURE----- Abgetrennte Signatur Der Nachteil bei signierten Dokumenten ist, da der Empfnger das Originaldokument aus der unterschriebenen Version erst wiederherstellen mu bzw. bei einem im Klartext unterschriebenen Dokument dieses gegebenenfalls noch editieren mu. Deshalb gibt es als Drittes noch die Mglichkeit, Dokumente mit abgetrennter Unterschrift zu signieren. Dazu verwendet man die Option --detach-sig. Die Signatur wird dann in einer separaten Datei abgelegt. Das eigentliche Dokument bleibt unverndert. alice$ gpg --output doc.sig --detach-sig doc Sie bentigen ein Mantra, um den geheimen Schlssel zu entsperren. Benutzer: Alice (Rechtsanwltin) 1024-Bit DSA Schlssel, ID FB5797A9, erzeugt 2000-06-06 Geben Sie das Mantra ein: 23
  • Kapitel 2 Grundlagen Um die Signatur zu prfen, bentigen Sie sowohl das eigentliche Dokument als auch die abgetrennte Unterschrift. Die Option --verify kann zum Prfen der Signatur benutzt werden. gpg --verify doc.sig doc gpg: Unterschrift vom Die 06 Jun 2000 17:34:43 CEST, DSA Schlssel ID FB5797A9 gpg: Korrekte Unterschrift von Alice (Rechtsanwltin) blake$ Funoten 1 Mit der Option 3 lt sich ein ElGamal-Schlsselpaar erzeugen, mit dem Sie keine Unterschriften leisten knnen. 2 Viele Kommandozeilen-Optionen, die hug benutzt werden, knnen auch in einer Kongurationsdatei deniert werden. 24
  • Kapitel 3 Schlsselverwaltung Schlsselverflschungen sind ein nicht zu unterschtzender Unsicherheitsfaktor bei der Public-Key-Kryptographie. Ein Angreifer kann beispielsweise die Schlsselbunde eines Benutzers manipulieren oder sich einen ffentlichen Schlssel mit einer vorgetuschten Identitt erzeugen und ihn an andere zum Herunterladen und Benutzen schicken. Wenn z.B. Chloe unbemerkt die Nachrichten, welche Alice an Blake sendet, lesen will, dann knnte sie folgendermaen vorgehen: zuerst erzeugt sie ein neues Schlsselpaar mit einer geflschten Benutzer-ID. Dann ersetzt sie Alices Kopie von Blakes ffentlichem Schlssel durch den neuen Schlssel. Anschlieend fngt sie die Nachrichten ab, die Alice an Blake sendet. Diese Nachrichten kann sie dann mit dem neuen geheimen Schlssel entschlsseln. Dann verschlsselt sie die Nachricht wieder, aber diesmal mit dem echten ffentlichen Schlssel von Blake und schickt sie weiter an Blake. Chloe kann jetzt - ohne da jemand etwas bemerkt - alle von Alice an Blake geschickten Nachrichten mitlesen. Eine gute Schlsselverwaltung ist entscheidend fr die Integritt Ihrer eigenen Schlsselbunde, wie auch der Schlsselbunde anderer Benutzer. Der Kern der Schlsselverwaltung von GnuPG ist das Signieren von Schlsseln und verfolgt zwei Hauptzwecke: es erlaubt Ihnen, Verflschungen an Ihrem Schlsselbund zu entdecken, und es ermglicht Ihnen, die Zugehrigkeit eines Schlssels zu der von der jeweiligen Benutzer-ID genannten Person zu berprfen. Schlsselunterschriften werden in einem Web of Trust genannten Schema benutzt, um die Authentisierung auch auf Schlssel auszudehnen, die nicht direkt von Ihnen selbst, sondern von anderen Personen, denen Sie zutrauen, Schlssel nur nach sorgfltiger Prfung zu signieren, signiert worden sind. Durch eine gewissenhafte Schlsselverwaltung knnen Sie Schlsselverflschungen als einen praktischen Angriff auf ihre sichere und vertrauliche Kommunikation abwehren. Verwaltung Ihres Schlsselpaares Ein Schlsselpaar besteht aus einem ffentlichen und einem geheimen Schlssel und einem Satz von Benutzer-IDs, um die Schlssel einer realen Person zuzuordnen. Jeder dieser Bestandteile enthlt Informationen ber sich selbst. Bei einem ffentlichen Schlssel sind dies seine ID sowie Angaben darber, wann er erzeugt worden ist, wann seine Gltigkeit abluft usw. Bei der Benutzer-ID sind das der Name der realen Person, die durch die ID identiziert wird, eine optionale Bemerkung sowie eine E-mail-Adresse. Der geheime Schlssel enthlt dagegen keine Informationen ber die Benutzer-ID. Wenn Sie Informationen ber ein Schlsselpaar sehen mchten, dann rufen Sie am besten mit der Kommandozeilen-Option --edit-key den Schlsseleditor auf. Zum Beispiel: chloe$ gpg --edit-key [email protected] Geheimer Schlssel ist vorhanden. 25
  • Kapitel 3 Schlsselverwaltung pub sub sub sub (1) (2) 1024D/1B087D04 created: 2000-06-07 expires: 2048g/6A3E902A created: 2000-06-07 expires: 1792G/7D5D4DAE created: 2000-06-07 expires: 960D/C0A27DBE created: 2000-06-07 expires: Chloe (Journalistin) Chloe (Freie Autorin) never trust: -/u never 2002-06-07 2002-06-07 Befehl> Zusammen mit dem ffentlichen Schlssel wird angezeigt, ob der geheime Schlssel verfgbar ist oder nicht. Alle Informationen ber die Bestandteile des ffentlichen Schlssels werden dann aufgelistet. Die erste Spalte gibt den Typ des Schlssels an. Das Schlsselwort pub identiziert den ffentlichen Hauptschlssel und das Schlsselwort sub identiziert einen untergeordneten ffentlichen Schlssel (Subkey). Die zweite Spalte gibt Lnge, Typ und ID des Schlssels an. Dabei steht D fr DSA-Schlssel, g fr einen nur zur Verschlsselung geeigneten ElGamal-Schlssel und G fr einen ElGamal-Schlssel, der sowohl zur Verschlsselung als auch zum Unterschreiben verwendet werden kann. Das Datum der Erzeugung und das Verfallsdatum wird in den Spalten drei und vier angegeben. Die Benutzer-IDs werden nach den Schlsseln angegeben. Es stehen noch weitere Befehle zu Verfgung, um zustzliche Informationen ber die Schlssel zu erhalten. Der Befehl toggle schaltet zwischen den ffentlichen und den geheimen Komponenten eines Schlsselpaares um, wenn tatschlich beides zur Verfgung steht. Befehl> toggle sec sbb sbb sbb (1) (2) 1024D/1B087D04 created: 2000-06-07 expires: 2048g/6A3E902A created: 2000-06-07 expires: 1792G/7D5D4DAE created: 2000-06-07 expires: 960D/C0A27DBE created: 2000-06-07 expires: Chloe (Journalistin) Chloe (Freie Autorin) never never 2002-06-07 2002-06-07 Die Information ist hnlich der Auistung fr die Komponente des ffentlichen Schlssels. Das Schlsselwort sec identiziert den geheimen Hauptschlssel und das Schlsselwort ssb identiziert die geheimen Subkeys. Die Benutzer-IDs vom ffentlichen Schlssel werden der Bequemlichkeit halber auch aufgelistet. Schlssel-Integritt Wenn Sie Ihren ffentlichen Schlssel weitergeben, so geben Sie damit die ffentlichen Komponenten Ihres Hauptschlssels und Ihrer Subkeys ebenso wie Ihre Benutzer-IDs weiter. Wenn Sie diese Informationen jedoch ungeschtzt weitergeben, so besteht ein Sicherheitsrisiko, da es fr einen potentiellen Angreifer mglich ist, den Schlssel zu verflschen. Der ffentliche Schlssel kann durch Hinzufgen oder Ersetzen von Schlsseln oder von Benutzer-IDs modiziert werden. Der Angreifer knnte beispielsweise durch Verflschen der E-Mail-Adresse einer Benutzer-ID die E-Mail an sich selbst 26
  • Kapitel 3 Schlsselverwaltung umleiten. Durch Vernderung der ffentlichen Schlssel wre der Angreifer auch in der Lage, die zu ihm umgeleiteten Nachrichten zu entschlsseln. Die Benutzung digitaler Signaturen ist die Lsung fr dieses Problem. Indem man den ffentlichen Schlssel sowie die Benutzer-IDs mit seinem geheimen Schlssel unterzeichnet, lassen sich Verflschungen daran leicht feststellen. Dieser Vorgang wird Eigenbeglaubigung genannt; ein ffentlicher Schlssel, der eigenbeglaubigte Benutzer-IDs enthlt, wird Zertikat genannt. Ein Beispiel: Chloe hat zwei Benutzer-IDs und drei untergeordnete ffentliche Schlssel bzw. Subkeys. Die Unterschriften auf den Benutzer-IDs knnen mit dem Befehl check im Schlsseleditior geprft werden. gpg --edit-key chloe geheimer Schlssel ist vorhanden. chloe$ pub sub sub sub (1) (2) 1024D/1B087D04 created: 2000-06-07 expires: 2048g/6A3E902A created: 2000-06-07 expires: 1792G/7D5D4DAE created: 2000-06-07 expires: 960D/C0A27DBE created: 2000-06-07 expires: Chloe (Journalistin) Chloe (Freie Autorin) never trust: -/u never 2002-06-07 2002-06-07 Befehl> check uid Chloe (Journalistin) sig! 1B087D04 2000-06-07 [Eigenbeglaubigung] uid Chloe (Freie Autorin) sig! 1B087D04 2000-06-07 [Eigenbeglaubigung] Wie erwartet, wird fr jede Unterschrift der primre Schlssel mit der Schlssel-ID 0x26B6AAE1 genommen. Die Eigenbeglaubigungen auf den Subkeys sind in dem ffentlichen Schlssel enthalten, doch werden sie vom Schlsseleditor nicht gezeigt. Editieren von Schlsseln Zu Ihrem ursprnglichen Schlsselpaar knnen Sie spter sowohl neue Subkeys als auch neue Benutzer-IDs hinzufgen. Eine neue Benutzer-ID wird durch Verwendung des Befehls adduid erzeugt. Dabei werden Sie wieder nach Ihrem wirklichem Namen, E-Mail-Adresse und einer optionalen Bemerkung gefragt. Ein Subkey wird durch Verwendung des Befehls addkey hinzugefgt und kann von beliebigem Typ sein. Das ist so hnlich, wie Sie es vom Erzeugen Ihres anfnglichen Schlsselpaares kennen. Wenn Sie einen neuen Subkey oder eine neue Benutzer-ID erzeugen, so werden diese mit Ihrem geheimen Schlssel eigenbeglaubigt; deshalb mssen Sie auch Ihr Mantra eingeben, wenn der Schlssel erzeugt wird. Zustzliche Benutzer-IDs sind ntzlich, wenn Sie fr verschiedene Zwecke verschiedene IDs bentigen. So wollen Sie vielleicht eine Benutzer-ID fr Ihre Arbeit, eine fr Ihre politische Ttigkeit und eine 27
  • Kapitel 3 Schlsselverwaltung weitere fr private Korrespondenz haben. Ihre Mitarbeiter und Geschftspartner, Politische Mitstreiter und Freunde werden Sie dann jeweils unter einer anderen ID kennen. Zustzliche Subkeys sind ebenfalls ntzlich. Die zu Ihrem primren ffentlichen Schlssel gehrigen Benutzer-IDs werden von den Leuten, mit denen Sie kommunizieren, authentisiert, deshalb erfordert eine nderung des primren Schlssels eine nochmalige Besttigung. Wenn Sie mit vielen Leuten kommunizieren, kann dies schwierig und zeitaufwendig sein. Andererseits ist es gut, von Zeit zu Zeit die Subkeys fr die Verschlsselung zu ndern. Wenn ein Schlssel kompromittiert wurde, ist die Sicherheit aller mit diesem Schlssel verschlsselten Daten gefhrdet. Durch das ndern der Schlssel erreichen Sie jedoch, da in der Zukunft zu verschlsselnde Daten nicht auch noch gefhrdet werden. Subkeys und Benutzer-IDs knnen auch gelscht werden. Dazu mssen Sie diese zunchst im Schlsseleditor auswhlen, indem Sie die Befehle key bzw. uid benutzen. So whlt beispielsweise der Befehl key 2 den zweiten Subkey aus; ein nochmaliger Aufruf des Befehls key 2 macht diese Auswahl wieder rckgngig. Wird key ohne Argument aufgerufen, wird die komplette Auswahl an Subkeys wieder aufgehoben. Das gleiche gilt fr den Befehl uid. Wenn Sie die zu lschenden Benutzer-IDs ausgewhlt haben, werden diese mit dem Befehl deluid aus Ihrem Schlssel entfernt. Ebenso lscht der Befehl delkey alle ausgewhlten Subkeys aus Ihren ffentlichen und geheimen Schlsseln. Fr die lokale Schlsselverwaltung ist das Lschen von Schlssel-Komponenten ein geeignetes Mittel, um die ffentlichen Schlssel anderer von unntigem Ballast frei zu halten. Hingegen sollten Sie normalerweise keine Benutzer-IDs und Subkeys von Ihrem eigenen Schlssel entfernen, da Sie so die Weiterverbreitung dieses Schlssels verkomplizieren. Wenn ein anderer GnuPG-Benutzer Ihren aktuellen ffentlichen Schlssel importiert, wird dieser standardmig mit dessen alter Kopie Ihres ffentlichen Schlssels zusammengefhrt. Dadurch werden effektiv alle Komponenten wieder hergestellt, die Sie gelscht haben. Um den Schlssel wirklich zu aktualisieren, mte der Benutzer zuerst die alte Version Ihres Schlssels lschen und dann die neue Version importieren. Dies bringt eine zustzliche Belastung fr Ihre Kommunikationspartner mit sich. Es ist daher auch keine gute Idee, Ihren aktualisierten Schlssel zu einem Key-Server zu schicken. Zum Aktualisieren Ihres eigenen Schlssels ist es folglich besser, die jeweiligen Schlsselkomponenten zu widerrufen, statt sie zu lschen. Widerrufen von Schlssel-Komponenten Um einen Subkey zu widerrufen, whlen Sie ihn im Schlsseleditor aus, dann knnen Sie ihn mit dem Befehl revkey widerrufen. Der Schlssel wird dadurch widerrufen, da man dem Schlssel eine Widerruf-Unterschrift hinzufgt. Anders als bei der Kommandozeilen-Option --gen-revoke tritt der Widerruf sofort in Kraft. Befehl> key 2 pub 1024D/1B087D04 sub 2048g/6A3E902A sub* 1792G/7D5D4DAE created: 2000-06-07 expires: never trust: -/u created: 2000-06-07 expires: never created: 2000-06-07 expires: 2002-06-07 28
  • Kapitel 3 Schlsselverwaltung sub (1) (2) 960D/6E82436B created: 2000-06-07 expires: 2002-06-07 Chloe (Journalistin) Chloe (Freie Autorin) Befehl> revkey Mchten Sie diesen Schlssel wirklich wiederrufen? j Sie bentigen ein Mantra, um den geheimen Schlssel zu entsperren. Benutzer: "Chloe (Journalistin) " 1024-Bit DSA Schlssel, ID 1B087D04, erzeugt 2000-06-07 pub sub sub rev! sub (1) (2) 1024D/1B087D04 created: 2000-06-07 expires: 2048g/6A3E902A created: 2000-06-07 expires: 1792G/7D5D4DAE created: 2000-06-07 expires: subkey has been revoked: 2000-06-07 960D/6E82436B created: 2000-06-07 expires: Chloe (Journalistin) Chloe (Freie Autorin) never trust: -/u never 2002-06-07 2002-06-07 Beim Widerrufen einer Benutzer-ID wird anders verfahren. Durch Unterschriften auf einer Benutzer-ID wird besttigt, da der Eigentmer des Schlssels tatschlich identisch mit der in der Benutzer-ID genannten Person ist. In der Theorie beschreibt eine Benutzer-ID eine Person fr immer, da diese Person sich nie ndert. In der Praxis knnen sich jedoch Elemente der Benutzer-ID, so z.B. die E-Mail-Adresse oder eine Bemerkung, mit der Zeit verndern und so die Benutzer-ID unbrauchbar machen. Die Spezikation von OpenPGP untersttzt den Widerruf einer Benutzer-ID nicht. Man kann sich aber dadurch helfen, da man seine Eigenbeglaubigung fr die entsprechende Benutzer-ID widerruft. Aus den zuvor beschriebenen Sicherheitsgrnden werden die Korrespondenzpartner keiner Benutzer-ID ohne gltige Eigenbeglaubigung trauen, GnuPG lehnt den Import eines solchen Schlssels sogar gnzlich ab. Eine Unterschrift wird unter Verwendung des Befehls revsig. widerrufen. Da Sie eine beliebige Zahl von Benutzer-IDs unterschrieben haben knnen, verlangt der Schlsseleditor von Ihnen fr jede Unterschrift eine Entscheidung, ob sie widerrufen werden soll oder nicht. Befehl> revsig Befehl> revsig Sie haben folgende User-IDs beglaubigt: Chloe (Journalistin) beglaubigt durch 1B087D04 um 2000-06-07 beglaubigt durch 1B087D04 um 2000-06-07 User-ID: Chloe (Journalistin) unterschrieben mit Ihrem Schlssel 1B087D04 um 2000-06-07 Ein Widerrufszertifikat fr diese Unterschrift erzeugen (j/N)n User-ID: Chloe (Freie Autorin) unterschrieben mit Ihrem Schlssel 1B087D04 um 2000-06-07 Ein Widerrufszertifikat fr diese Unterschrift erzeugen (j/N)j Es werden nun folgende Beglaubigungen entfernt: Chloe (Freie Autorin) beglaubiigt durch 1B087D04 um 2000-06-07 Wirklich ein Unterschrift-Widerrufszertifikat erzeugen? (j/N) j 29
  • Kapitel 3 Schlsselverwaltung Sie bentigen ein Mantra, um den geheimen Schlssel zu entsperren. Benutzer: Chloe (Journalistin) 1024-Bit DSA Schlssel, ID 1B087D04, erzeugt 2000-06-07 pub sub sub rev! sub (1) (2) 1024D/1B087D04 created: 2000-06-07 expires: 2048g/6A3E902A created: 2000-06-07 expires: 1792G/7D5D4DAE created: 2000-06-07 expires: subkey has been revoked: 2000-06-07 960D/6E82436B created: 2000-06-07 expires: Chloe (Journalistin) Chloe (Freie Autorin) never trust: -/u never 2002-06-07 2002-06-07 Eine widerrufene Benutzer-ID wird durch die Widerrufs-Signatur auf der Benutzer-ID angezeigt, wenn die Unterschriften auf den Benutzer-IDs des Schlssels aufgelistet werden. Befehl check uid Chloe (Journalistin) sig! 1B087D04 2000-06-07 [Eigenbeglaubigung] uid Chloe (Freie Autorin) rev! 1B087D04 2000-06-07 [Widerruf] sig! 1B087D04 2000-06-07 [Eigenbeglaubigung] Ein Widerruf sowohl der Subkeys als auch der Eigenbeglaubigung auf Benutzer-IDs fgt dem Schlssel eine Widerrufs-Signatur hinzu. Da also nur etwas hinzugefgt und nichts gelscht wird, ist ein Widerruf fr andere stets sichtbar, wenn Ihr aktueller ffentlicher Schlssel weitergegeben und mit anderen lteren Kopien davon zusammengefhrt wird. Der Widerruf garantiert deshalb, da jeder die aktuelle Kopie Ihres ffentlichen Schlssels haben kann. Aktualisieren des Verfallsdatums Das Verfallsdatum eines Schlssels kann mit dem Befehl expire im Schlsseleditor aktualisiert werden. Wenn kein Schlssel ausgewhlt ist, wird das Verfallsdatum des primren Schlssels aktualisiert, ansonsten das des jeweils ausgewhlten Subkeys. Das Verfallsdatum eines Schlssels ist mit der Eigenbeglaubigung des Schlssels verbunden. Es wird dadurch aktualisiert, da man die alte Eigenbeglaubigung lscht und eine neue hinzufgt. Da die Korrespondenzpartner die alte Eigenbeglaubigung noch nicht gelscht haben, werden sie eine zustzliche Eigenbeglaubigung auf dem Schlssel sehen, wenn sie ihre Kopie Ihres Schlssels aktualisieren. Die jngste Eigenbeglaubigung hat jedoch jeweils Vorrang, und so werden alle Korrespondenzpartner unzweideutig die Verfallsdaten Ihrer Schlssel kennen. 30
  • Kapitel 3 Schlsselverwaltung Authentisieren anderer Schlssel Wie in Kapitel 2 bereits bereits ausfhrlich besprochen, wird der ffentliche Schlssel eines Korrespondenzpartners dadurch authentisiert, da Sie persnlich den Fingerabdruck seines Schlssels prfen und dann seinen ffentlichen Schlssel mit Ihrem geheimen Schlssel unterschreiben. Durch das persnliche Prfen des Fingerabdrucks knnen Sie sicher sein, da der Schlssel wirklich ihm gehrt. Da Sie den Schlssel unterschrieben haben, knnen Sie sicher sein, jede Verflschung an ihm in der Zukunft zu entdecken. Leider ist dieses Verfahren umstndlich, wenn Sie entweder eine groe Zahl von Schlsseln authentisieren mssen oder wenn Sie mit Leuten kommunizieren, welche Sie nicht persnlich kennen. GnuPG geht dieses Problem mit einem Mechanismus an, der allgemein als Web of Trust bezeichnet wird. Im Web of Trust wird die Verantwortlichkeit fr das Authentisieren ffentlicher Schlssel an Personen bertragen, denen Sie zutrauen, bei der Authentisierung von Schlsseln die ntige Sorgfalt walten zu lassen. Nehmen Sie zum Beispiel folgendes an: Alice hat Blakes Schlssel unterschrieben und Blake hat Chloes Schlssel und Dharmas Schlssel unterschrieben. Wenn Alice Blake hinsichtlich der ordnungsgemen Authentisierung von Schlsseln vertraut, dann kann sie davon ausgehen, da Chloes und Dharmas Schlssel gltig sind, ohne da sie diese persnlich prfen mu. Sie benutzt einfach ihre authentisierte Kopie von Blakes ffentlichem Schlssel, um zu prfen, da Blakes Unterschriften auf den ffentlichen Schlsseln von Chloe und Dharma echt sind. Im allgemeinen wird, wenn Alice bei allen Partnern vllig darauf vertraut, da diese die von ihnen unterschriebenen Schlssel richtig authentisieren, auch jeder mit einem gltigen Schlssel unterschriebene Schlssel als gltig betrachtet. Der Ausgangspunkt ist Alices Schlssel, dessen Gltigkeit vorausgesetzt wird. Vertrauen in den Eigentmer eines Schlssels Vertrauen ist in der Praxis natrlich immer subjektiv. So ist beispielsweise Blakes Schlssel fr Alice gltig, da sie ihn selbst unterschrieben hat, aber vielleicht traut sie Blake kein richtiges Authentisieren der von ihm unterschriebenen Schlssel zu. In diesem Fall knnte sie die Gltigkeit von Chloes und Dharmas Schlssel bezweifeln, da sich diese nur auf Blakes Unterschrift sttzt. Das Web of Trust trgt diesem Umstand Rechnung, indem es jedem ffentlichen Schlssel in Ihrem Schlsselbund eine Angabe darber zuordnet, inwieweit Sie dem Eigentmer des Schlssels dahingehend vertrauen, da er Schlssel erst nach grndlicher Prfung authentisiert. Es gibt vier Vertrauensstufen: Unbekannt 31
  • Kapitel 3 Schlsselverwaltung Es ist nichts ber die Fhigkeit des Eigentmers bekannt, Schlssel vor dem Signieren zu authentisieren. Alle Schlssel in Ihrem ffentlichen Schlsselbund, die Ihnen nicht gehren, fallen zunchst unter diese Vertrauensstufe. Kein Vertrauen Der Eigentmer ist dafr bekannt, andere Schlssel nicht korrekt zu unterschreiben. Teilweises Vertrauen Der Eigentmer versteht die Implikationen des Unterschreibens von Schlsseln und authentisiert Schlssel richtig, bevor er sie unterschreibt. Volles Vertrauen Der Eigentmer hat ein ausgezeichnetes Verstndnis hinsichtlich des Unterschreibens von Schlsseln, und seine Unterschrift auf einem Schlssel wre so gut wie Ihre eigene. Das Vertrauensma eines Schlssels ist etwas, das Sie alleine dem Schlssel zuordnen, und es wird als private Information betrachtet. Es wird nicht mit dem Schlssel verpackt, wenn dieser exportiert wird; es wird sogar getrennt von Ihren Schlsselbunden in einer gesonderten Trustdatenbank (trustdb.gpg) gespeichert. Der GnuPG-Schlsseleditor kann benutzt werden, um das Ma Ihres Vertrauens in den Eigentmer eines Schlssels anzugeben. Der Befehl lautet trust (Andererseits fragt GnuPG auch nach, wenn es die Information braucht und noch kein Vertrauensma angegeben wurde). In diesem Beispiel gibt Alice das Ma ihres Vertrauens zu Blake an und aktualisiert dann entsprechend die Trustdatenbank, um neu zu ermitteln, welche Schlssel auf der Basis ihrer neuen Einstufung von Blake gltig sind. alice$ pub sub (1) gpg --edit-key blake 1024D/B2690E6F created: 2000-06-06 expires: never 1024g/F251B862 created: 2000-06-06 expires: never Blake (Staatsanwalt) trust: -/f Befehl> trust pub sub (1) 1024D/B2690E6F created: 2000-06-06 expires: never 1024g/F251B862 created: 2000-06-06 expires: never Blake (Staatsanwalt) trust: -/f Bitte entscheiden Sie, inwieweit Sie diesem User zutrauen, den Schlssel eines anderen Users korrekt zu prfen (Vergleich mit Lichtbildausweisen, Vergleich der Fingerabdrcke aus unterschiedlichen Quellen ...)? 1 2 3 4 s = = = = = Wei nicht so recht Kein Vertrauen Ich vertraue ihm normalerweise Ich vertraue ihm vollstndig Bitte weitere Informationen anzeigen 32
  • Kapitel 3 Schlsselverwaltung m = Zurck zum Men Ihre Auswahl? 3 pub sub (1) 1024D/B2690E6F created: 2000-06-06 expires: never 1024g/F251B862 created: 2000-06-06 expires: never Blake (Staatsanwalt) trust: m/f Befehl> quit Das Vertrauen 1 in den Schlssel-Eigentmer und in die Gltigkeit des Schlssels wird rechts neben dem Schlssel angezeigt. An erster Stelle wird das Vertrauen in den Eigentmer angezeigt, dann das Vertrauen in die Gltigkeit des Schlssels. Die vier Vertrauensstufen werden folgendermaen abgekrzt: Unbekannt (q), kein Vertrauen (n), teilweises Vertrauen (m) und volles Vertrauen (f) * ??? (pn) In diesem Fall ist Blakes Schlssel voll gltig, da Alice ihn selbst unterschrieben hat. Anfangs fallen Blakes Schlssel fr sie unter die Vertrauensstufe Unbekannt, doch sie entscheidet sich dafr, ihn unter Teilweises Vertrauen einzustufen. Authentisieren von Schlsseln im Web of Trust Das Web of Trust ist ein exibleres und komfortableres Verfahren zur Authentisierung eines Schlssels. Frher wurde ein Schlssel nur dann als gltig betrachtet, wenn er von Ihnen persnlich unterzeichnet war. Nach diesem Verfahren wird jetzt auch ein Schlssel K als gltig betrachtet, wenn er die folgenden zwei Bedingungen erfllt: 1. Schlssel K ist von gengend gltigen Schlsseln unterschrieben, das heit, da er entweder von Ihnen persnlich oder von einem Schlssel vollen Vertrauens oder von drei Schlsseln teilweisen Vertrauens unterschrieben wurde. 2. Der Pfad unterschriebener Schlssel, der vom Schlssel K zurck zu Ihrem eigenen Schlssel fhrt, besteht aus maximal fnf Schritten. 33
  • Kapitel 3 Schlsselverwaltung Die Pfadlnge, die Anzahl der erforderlichen Schlssel Ihres teilweisen Vertrauens und die erforderliche Anzahl der Schlssel Ihres vollen Vertrauens knnen Ihrer jeweiligen Vertrauensstufe angepat werden. Die oben angegebenen Zahlen sind die von GnuPG benutzten Standardwerte. Abbildung 3-1 zeigt ein Web of Trust, das seinen Ausgangspunkt bei Alice hat. Das Diagramm zeigt anschaulich, wer wessen Schlssel unterschrieben hat und welche Schlssel Alice aufgrund ihres Vertrauens in die anderen Mitglieder des Web of Trust als gltig betrachtet. * Potential bug: --completes-needed on command line seems to be ignored when combined with --update-trustdb. Value is taken correctly if put in options le, however. In diesem Beispiel wird angenommen, da zwei Schlssel teilweisen Vertrauens oder ein Schlssel vollen Vertrauens bentigt werden, um einen anderen Schlssel zu authentisieren. Die maximale Pfadlnge betrgt drei Schritte. Abbildung 3-1 Ein hypothetisches Vertrauensnetz Vertrauen teilweise Gltigkeit vllig teilweise Dharma vllig Blake, Chloe, Dharma, Francis Blake, Dharma Francis Blake, Chloe, Dharma Chloe, Dharma Chloe, Francis Blake, Dharma Blake, Chloe, Dharma Elena Blake, Chloe, Elena Blake, Chloe, Dharma, Francis Blake, Chloe, Elena, Francis * *** berarbeiten und mit abb 3-1 abgleichen Beim Berechnen der gltigen Schlssel in dem Beispiel gilt folgendes: Blakes und Dharmas Schlssel werden immer als voll gltig betrachtet, da sie direkt von Alice unterschrieben worden sind. Die Gltigkeit der anderen Schlssel hngt vom Vertrauen ab. Im ersten Fall geniet Dharma volles Vertrauen, woraufhin die Schlssel von Chloe und Francis als gltig betrachtet werden. Im zweiten Beispiel genieen Blake und Dharma nur teilweises Vertrauen. Da nun zwei Schlssel teilweisen Vertrauens ntig sind, um einen Schlssel voll zu authentisieren, wird der Schlssel von Chloe als voll gltig, der von Francis aber nur als teilweise gltig betrachtet. Falls Chloe und Dharma nur teilweises Vertrauen genieen, wird Chloes Schlssel nur teilweise gltig sein, whend Dharmas Schlssel voll gltig ist. Der Schlssel von Francis jedoch wird ebenfalls nur als teilweise gltig betrachtet, da nur ein 34
  • Kapitel 3 Schlsselverwaltung voll gltiger Schlssel zur Authentisierung anderer Schlssel benutzt werden kann, und Dharmas Schlssel der einzige voll gltige Schlssel ist, der zum Unterschreiben des Schlssels von Francis benutzt worden ist. Wenn teilweises Vertrauen in Blakes Schlssel hinzukommt, kann Chloes Schlssel voll gltig werden und kann dann zur vollen Authentisierung des Schlssels von Francis und zur teilweisen Authentisierung des Schlssels von Elena benutzt werden. Wenn schlielich Blake, Chloe und Elena volles Vertrauen genieen, reicht dies noch nicht aus, um den Schlssel von Geoff zu authentisieren, da die maximal zulssige Lnge des Zertizierungspfades aus drei Schritten bestehen soll, die Pfadlnge von Geoff zurck zu Alice jedoch vier Schritte betrgt. * gehrt vielleicht nach dailyuse Das Web of Trust ermglicht es Ihnen, GnuPG genau Ihren Vorstellungen von Sicherheit anzupassen. Sie knnten beispielsweise auf mehreren kurzen Pfaden von Ihrem Schlssel aus zu einem anderen Schlssel K bestehen, um diesem zu vertrauen. Vielleicht entscheiden Sie sich aber auch fr lngere Pfade oder sogar nur einen Pfad von Ihrem Schlssel zu dem anderen Schlssel K. Wenn Sie mehrfache kurze Pfade voraussetzen, so ist das eine starke Garantie dafr, da Schlssel K demjenigen gehrt, von dem Sie dies annehmen. Der Preis dafr ist natrlich, da die Authentisierung von Schlsseln schwieriger ist, da Sie persnlich mehr Schlssel unterschreiben mssen, als wenn Sie weniger und dafr lngere Pfade akzeptieren. Weitergabe von Schlsseln Im Idealfall wird ein Schlssel durch persnliche bergabe an Ihre Korrespondenzpartner weitergegeben. In der Praxis werden jedoch Schlssel oft per E-Mail oder irgendein anderes elektronisches Kommunikationsmittel weitergegeben. Die Weitergabe per E-Mail ist durchaus annehmbar, wenn Sie nur einige wenige Korrespondenzpartner haben. Wenn Sie viele Korrespondenzpartner haben, knnten Sie beispielsweise Ihre(n) ffentlichen Schlssel auf Ihrer Homepage im Web publizieren. Das setzt jedoch voraus, da Ihre Korrespondenzpartner auch wissen, wo sie Ihre(n) Schlssel nden knnen. Um dieses Problem zu lsen, gibt es Key-Server, die ffentliche Schlssel sammeln und weitergeben. Ein bei dem Server eingegangener ffentlicher Schlssel wird entweder der Datenbank des Servers hinzugefgt oder mit Ihrem eventuell schon vorhandenen Schlssel zusammengefhrt. Wenn eine Anfrage nach einem Schlssel beim Server eingeht, durchsucht dieser seine Datenbank und sendet den angeforderten ffentlichen Schlssel zurck, wenn er ihn gefunden hat. * wk: bin da anderer Meinung! GnuPG und Keyserver werden das in Zukunft nicht mehr zulassen Ein Schlssel-Server ist auch sinnvoll, wenn viele Leute hug die Schlssel anderer Leute unterschreiben. Ohne einen Schlssel-Server wrde Blake, wenn er Alices Schlssel unterschreibt, an Alice eine Kopie ihres von ihm unterschriebenen Schlssels schicken, so da Alice den so aktualisierten 35
  • Kapitel 3 Schlsselverwaltung Schlssel ihrem Schlsselbund hinzufgen und ihn auch an alle ihre Korrespondenzpartner weitergeben knnte. Mit dieser Mhe gengen Alice und Blake weitgehend ihrer Verantwortung gegenber der Allgemeinheit durch den Aufbau engmaschiger Vertrauensnetze und helfen so, die Sicherheit von GPG zu verbessern. Dies ist jedoch sehr lstig, wenn das Unterschreiben von Schlsseln hug vorkommt. Durch die Benutzung eines Schlssel-Servers wird das etwas leichter. Wenn nun Blake Alices Schlssel unterschreibt, so schickt er den unterschriebenen Schlssel an den Schlssel-Server, welcher dann Blakes Unterschrift seiner Kopie von Alices Schlssel hinzufgt. Personen, die daran interessiert sind, ihre Kopie von Alices Schlssel zu aktualisieren, wenden sich dann selbstndig an den Schlssel-Server, um sich den aktualisierten Schlssel zu holen. Alice braucht sich mit der Weitergabe berhaupt nicht zu befassen und kann Unterschriften auf ihrem Schlssel wie jeder andere auch einfach durch Anfrage bei einem Schlssel-Server holen. * --keyserver must come before --send-keys or --recv-key . This appears to be a bug. ?? TESTEN! Ein oder mehr Schlssel knnen unter Verwendung der Kommandozeilen-Option --send-keys an den Key-Server geschickt werden. Die Option erwartet eine Schlssel-ID oder Benutzer-ID als Argument und schickt die so spezizierten Schlssel an den Key-Server. Der Key-Server, an den die Schlssel geschickt werden sollen, wird durch die Kommandozeilen-Option --keyserver speziziert. In hnlicher Weise wird die Option --recv-keys benutzt, um Schlssel von einem Key-Server zu holen, doch mssen Sie hier den Schlssel mit einer Schlssel-ID spezizieren. Im folgenden Beispiel aktualisiert Alice ihren ffentlichen Schlssel mit neuen Unterschriften vom Key-Server blackhole.pca.dfn.de und schickt dann ihre Kopie von Blakes ffentlichem Schlssel ebenfalls dorthin, um alle neuen Unterschriften, die sie hinzugefgt hat, weiterzugeben. gpg --keyserver wwwkeys.de.pgp.net --recv-key FB5797A9 gpg: Schlssels FB5797A9 von wwwkeys.de.pgp.net wird angefordert ... gpg: Schlssel FB5797A9: 1 neue Signatur gpg: Anzahl insgesamt bearbeiteter Schlssel: 1 gpg: neue Signaturen: 1 alice$ gpg --keyserver wwwkeys.de.pgp.net --send-key [email protected] gpg: Senden an wwwkeys.de.pgp.net erfolgreich (status=200) alice$ Weltweit gibt es eine Vielzahl bekannter Key-Server. Die greren Key-Server synchronisieren sich wechselseitig. Am Besten benutzen Sie einen gut erreichbaren Key-Server im Internet und tauschen dann regelmig ber diesen Schlssel aus. Eine kleine Auswahl gngiger Key-Server nden Sie im Anhang C des Buches. Funoten 1 GnuPG berfrachtet das Wort Vertrauen, indem sowohl Vertrauen in einen Eigentmer als auch Vertrauen in einen Schlssel gemeint sein kann. Dies kann Verwirrung stiften. Manchmal wird das Vertrauen in einen Eigentmer zur klareren Unterscheidung als Ownertrust bezeichnet. In diesem Handbuch ist jedoch der Begriff Vertrauen durchweg in der Bedeutung Vertrauen in den 36
  • Kapitel 3 Schlsselverwaltung Eigentmer eines Schlssels benutzt worden, und der Begriff Gltigkeit bezieht sich darauf, da ein Schlssel der mit der Schlssel-ID verknpften Person gehrt. 37
  • Kapitel 4 GnuPG im Alltagsgebrauch GnuPG ist nicht nur eine komplexe Software, sondern es gibt auch einige technische, gesellschaftliche und rechtliche Aspekte, die bercksichtigt werden sollten: Technisch mu es verschiedenen Situationen mit drastisch unterschiedlichen Sicherheitsanforderungen gerecht werden, was die Schlsselverwaltung kompliziert. Die Benutzung von GnuPG ist nicht unbedingt eine rein persnliche Entscheidung. Um GnuPG effektiv nutzen zu knnen, mssen beide miteinander kommunizierenden Seiten es benutzen. Die Haltung der Gesetzgeber zur elektronischen Verschlsselung und zu digitalen Signaturen unterscheidet sich von Land zu Land. Insbesondere die Frage einer legalen Benutzung von GnuPG bzw. Verschlsselung im allgemeinen steht gegenwrtig bei vielen nationalen Regierungen zur Debatte. Auf diese Aspekte wollen wir im folgenden eingehen. Denition Ihres Sicherheitsbedarfs Einer der wic