diff --git a/doc/manual/gnupg-desktop-manual-de.org b/doc/manual/gnupg-desktop-manual-de.org index 23f967fc..061cf481 100644 --- a/doc/manual/gnupg-desktop-manual-de.org +++ b/doc/manual/gnupg-desktop-manual-de.org @@ -1,5390 +1,5390 @@ #+STARTUP: showall indent #+TITLE: GnuPG Desktop Benutzerhandbuch #+AUTHOR: GnuPG.com #+DATE: Januar 2020 # #+OPTIONS: toc:nil #+LaTeX_CLASS: book #+LaTeX_CLASS_OPTIONS: [a4paper,10pt,twoside,openright,titlepage] #+LATEX_HEADER: \usepackage{times} # LATEX_HEADER: \usepackage{fancyhdr} #+LATEX_HEADER: \usepackage{makeidx} #+LATEX_HEADER_EXTRA: \DeclareUnicodeCharacter{21A9}{$\hookleftarrow$} #+macro: Button /[\thinsp{}$1\thinsp]/ #+macro: Menu /$1/ #+macro: MarginPGP @@latex:\marginpar{\includegraphics[width=1.5cm]{images-compendium/openpgp-icon.png}}@@ #+macro: MarginCMS @@latex:\marginpar{\includegraphics[width=1.5cm]{images-compendium/smime-icon.png}}@@ #+BEGIN_LaTeX \parindent 0cm \parskip\medskipamount \frontmatter \begin{titlepage} \begin{center} \includegraphics[width=0.8\textwidth]{images-compendium/gpg4win-logo.png} \\[10mm] \LARGE GnuPG Desktop Benutzerhandbuch \\[3mm] \Large \textmd{Die universelle Krypto-Lösung} \\[10mm] \vspace*{100mm} \small Von GnuPG.com - Den GnuPG Experten \\[10mm] \large Januar 2020 \end{center} \end{titlepage} #+END_LaTeX ** Impressum #+LaTeX: \thispagestyle{empty} Copyright \copyright{} 2002 Bundesministerium für Wirtschaft und Technologie\footnote{Wenn dieses Dokument kopiert, verteilt und/oder verändert wird, soll außer dieser Copyright-Notiz in keiner Form der Eindruck eines Zusammenhanges mit dem Bundesministerium für Wirtschaft und Technologie erweckt werden.}\\ Copyright \copyright{} 2005 g10 Code GmbH\\ Copyright \copyright{} 2009, 2010, 2017 Intevation GmbH Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 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"'. {\small [Dieser Absatz ist eine unverbindliche Übersetzung des oben stehenden Hinweises.]}\\ Es wird die Erlaubnis gegeben, dieses Dokument zu kopieren, zu verteilen und/oder zu verändern unter den Bedingungen der GNU Free Documentation License, Version 1.2 oder einer späteren, von der Free Software Foundation veröffentlichten Version. Es gibt keine unveränderlichen Abschnitte, keinen vorderen Umschlagtext und keinen hinteren Umschlagtext. Eine Kopie der "`GNU Free Documentation License"' findet sich im Anhang mit dem gleichnamigen Titel. Inoffizielle Übersetzungen dieser Lizenz finden Sie unter http://www.gnu.org/licenses/translations.html. #+LaTeX:\newpage ** Über dieses Kompendium Das Gpg4win-Kompendium besteht aus drei Teilen: - *Part [[#part:Einsteiger][“Für Einsteiger”]]*: Der Schnelleinstieg in Gpg4win. - *Part [[#part:Fortgeschrittene]["`Für Fortgeschrittene"]]*: Das Hintergrundwissen zu Gpg4win. - *Part Anhang:weiterführende technische Informationen zu Gpg4win. - *Part [[#part:Einsteiger]["Für Einsteiger"]] führt Sie kurz und knapp durch die Installation und die alltägliche Benutzung der Gpg4win-Programmkomponenten. Der Übungsroboter \textbf{Adele} wird Ihnen dabei behilflich sein und ermöglicht Ihnen, die \Email{}-Ver- und Entschlüsselung (mit OpenPGP) so lange zu üben, bis Sie sich vertraut im Umgang mit Gpg4win gemacht haben. Der Zeitbedarf für das Durcharbeiten des Schnelleinstiegs hängt unter anderem davon ab, wie gut Sie sich mit Ihrem PC und Windows auskennen. Sie sollten sich in etwa eine Stunde Zeit nehmen.\\ - *Part [[#part:Fortgeschrittene]["Für Fortgeschrittene"]] liefert Hintergrundwissen, das Ihnen die grundlegenden Mechanismen von Gpg4win verdeutlicht und die etwas seltener benutzten Fähigkeiten erläutert. Teil I und II können unabhängig voneinander benutzt werden. Zu Ihrem besseren Ver\-ständnis sollten Sie aber möglichst beide Teile in der angegebenen Reihenfolge lesen.\\ - *Part Anhang: hier finden Sie Details zu spezifischen technischen Themen rund um Gpg4win, unter anderem zur Outlook-Programmerweiterung GpgOL.\\ Genau wie das Kryptografie-Programmpaket Gpg4win, wurde dieses Kompendium nicht für Mathematiker, Geheimdienstler und Kryptografen geschrieben, sondern \textbf{für jedermann.}\\ Das Programmpaket Gpg4win und das Gpg4win-Kompendium sind verfügbar unter: \\ \uniurl{http://www.gpg4win.de} #+LaTeX:\newpage ** über dieses Kompendium In diesem Kompendium werden folgende Textauszeichnungen benutzt: \begin{itemize} \item \textit{Kursiv} wird dann verwendet, wenn etwas auf dem Bildschirm erscheint (z.B. in Menüs oder Dialogen). Zum Kennzeichnen von \Button{Schaltflächen} werden zusätzlich eckige Klammern benutzt. Kursiv werden vereinzelt auch einzelne Wörter im Text gesetzt, wenn deren Bedeutung in einem Satz betont, das Schriftbild aber nicht durch die Auszeichnung \textbf{fett} gestört werden soll (z.B.: \textit{nur} OpenPGP). \item \textbf{Fett} werden einzelne Wörter oder Sätze gesetzt, die besonders wichtig und damit hervorzuheben sind. Diese Auszeichnung unterstützt den Leser bei der schnelleren Erfassung hervorgehobener Schlüsselbegriffe und wichtiger Passagen. \item \texttt{Feste Laufweite} wird für alle Dateinamen, Pfadangaben, URLs, Quellcode sowie Ein- und Ausgaben (z.B. von Kommandozeilen) verwendet. \end{itemize} Im folgenden werden die Ausdrücke und Kennzeichnungen verwendet: \begin{itemize} %TODO: Dieser Punkt muss noch überarbeitet und agepasst werden \item Sie werden im folgenden immer wieder von \glqq{}Schlüsseln\grqq{} und \glqq{}Zertifikaten\grqq{} lesen. In der OpenPGP-Welt hat sich der Begriff \glqq{}Schlüssel\grqq{} durchgesetzt. Für die Nutzung von S/MIME wird der Begriff \glqq{}Zertifikat\grqq{} verwendet. In diesem Kompendium wird primär Schlüssel verwendet. Nur wenn es explizit um S/MIME geht, wird Zertifikat genutzt. Die Software \textit{Kleopatra} war einst ein reines Verwaltungsprogramm für S/MIME-Zertifikate. Erst nachträglich wurde es um die Verwaltung für OpenPGP-Schlüssel erweitert. \item Wenn in einem Kapitel explizit auf die Nutzung mit S/MIME eingegangen wird, wird darauf am Rand mit diesem Symbol hingewiesen: \begin{latexonly} %no hyperlatex \begin{center} %\includegraphics[width=2.5cm]{images-compendium/openpgp-icon} %\hspace{1cm} \includegraphics[width=2.5cm]{images-compendium/smime-icon} \end{center} \end{latexonly} \end{itemize} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Part I +\clearpage +\T\part{Für Einsteiger} +\W\part*{\textbf{I Für Einsteiger}} +\label{part:Einsteiger} +\addtocontents{toc}{\protect\vspace{0.3cm}} +\addtocontents{toc}{\protect\vspace{0.3cm}} + -\die folgenden Programme: -chapter{Gpg4win -- Kryptografie für alle} +\chapter{Gpg4win -- Kryptografie für alle} \index{Kryptografie} Was ist Gpg4win?\index{Gpg4win} Die deutsche Wikipedia beantwortet diese Frage so: \begin{quote} \textit{Gpg4win (GNU Privacy Guard for Windows) ist ein Installationspaket für Windows zur E-Mail- und Datei-Verschlüsselung. Gpg4win ermöglicht das einfache und kostenfreie Ver- und Entschlüsseln von E-Mails, Dateien und Datei-Ordnern. Ebenso kann mittels digitaler Signaturen die Integrität und die Authentizität der verschlüsselten E-Mails und Dateien überprüft werden. Das Paket besteht aus verschiedenen Programmkomponenten und einem Handbuch. } -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Part I -\clearpage -\T\part{Für Einsteiger} -\W\part*{\textbf{I Für Einsteiger}} -\label{part:Einsteiger} -\addtocontents{toc}{\protect\vspace{0.3cm}} -\addtocontents{toc}{\protect\vspace{0.3cm}} - - -\END_QUOTE +\end{quote} Die Handbücher "`Einsteiger"' und "`Durchblicker"' wurden für die vorliegende zweite Version unter der Bezeichnung "`Kompendium"' zusammengeführt. -Gpg4win umfasst in Version 2 +Gpg4win umfasst in Version 2 die folgenden Programme: + \begin{itemize} \item \textbf{GnuPG}\index{GnuPG}\\ GnuPG ist das Kernstück von Gpg4win -- die eigentliche Verschlüsselungs-Software. \item \textbf{Kleopatra}\index{Kleopatra}\\ Die zentrale Zertifikatsverwaltung\index{Zertifikatsverwaltung} von Gpg4win, die für eine einheitliche Benutzerführung bei allen kryptografischen Operationen sorgt. \item \textbf{GNU Privacy Assistent (GPA)}\index{GNU Privacy Assistent|see{GPA}}\index{GPA}\\ ist ein alternatives Programm zum Verwalten von Zertifikaten neben Kleopatra. \item \textbf{GnuPG für Outlook (GpgOL)}\index{GnuPG für Outlook|see{GpgOL}}\index{GpgOL}\\ ist eine Erweiterung für Microsoft Outlook 2003 und 2007, die verwendet wird, um Nachrichten zu signieren bzw. zu verschlüsseln. \item \textbf{GPG Explorer eXtension (GpgEX)}\index{GPG Explorer eXtension|see{GpgEX}}\index{GpgEX}\\ ist eine Erweiterung für den Windows-Explorer\index{Windows-Explorer}, mit der man Dateien über das Kontextmenü signieren bzw. verschlüsseln kann. \end{itemize} Mit dem Verschlüsselungsprogramm GnuPG (GNU Privacy Guard) kann jedermann \Email{}s sicher, einfach und kostenlos verschlüsseln. GnuPG kann ohne jede Restriktion privat oder kommerziell benutzt werden. Die von GnuPG eingesetzte Verschlüsselungstechnologie ist sicher und kann nach dem heutigen Stand von Forschung und Technik nicht gebrochen werden. GnuPG ist \textbf{Freie Software}\footnote{Oft auch als Open Source Software (OSS) bezeichnet.}.\index{Freie Software} Das bedeutet, dass jedermann das Recht hat, sie nach Belieben kommerziell oder privat zu nutzen. Jeder kann und darf den Quellcode der Programme untersuchen und -- sofern er das notwendige Fachwissen dazu hat -- Änderungen daran durchführen und diese weitergeben. Für eine Sicherheits-Software ist diese Transparenz -- der garantierte Einblick in den Quellcode -- eine unverzichtbare Grundlage. Nur so lässt sich die Vertrauenswürdigkeit der Programmierung und des Programmes wirklich prüfen. GnuPG basiert auf dem internationalen Standard \textbf{OpenPGP}\index{OpenPGP} (RFC 4880), ist vollständig kompatibel zu PGP und benutzt auch die gleiche Infrastruktur (Schlüsselserver etc.) wie dieser. Seit Version 2 von GnuPG wird auch der kryptografische Standard \textbf{S/MIME}\index{S/MIME} (IETF RFC 3851, ITU-T X.509\index{X.509} und ISIS-MTT/Common PKI) unterstützt. PGP ("`Pretty Good Privacy"')\index{PGP} ist keine Freie Software, sie war lediglich vor vielen Jahren kurzzeitig zu ähnlichen Bedingungen wie GnuPG erhältlich. Diese Version entspricht aber schon lange nicht mehr dem Stand der Technik. Die Vorläufer von Gpg4win wurden durch das Bundesministerium für Wirtschaft und Technologie \index{Bundesministerium für Wirtschaft und Technologie} im Rahmen der Aktion "`Sicherheit im Internet"' unterstützt. Gpg4win und Gpg4win2 wurden durch das Bundesamt für Sicherheit in der Informationstechnik (BSI) \index{Bundesamt für Sicherheit in der Informationstechnik} unterstützt. Weitere Informationen zu GnuPG und weiteren Projekten der Bundesregierung zum Schutz im Internet finden Sie auf den Webseiten \uniurl[www.bsi.bund.de]{http://www.bsi.bund.de} und \uniurl[www.bsi-fuer-buerger.de]{http://www.bsi-fuer-buerger.de} des Bundesamtes für Sicherheit in der Informationstechnik. + \clearpage \chapter{\Email{}s verschlüsseln: weil der Briefumschlag fehlt} \label{ch:why} \index{Briefumschlag} Die Verschlüsselung von Nachrichten wird manchmal als das zweitälteste Gewerbe der Welt bezeichnet. Verschlüsselungstechniken benutzten schon der Pharao Khnumhotep II, Herodot und Cäsar. Dank Gpg4win ist Verschlüsselung nunmehr nicht mehr nur für Könige, sondern für jedermann frei und kostenlos zugänglich. \htmlattributes*{img}{width=300} \IncludeImage[width=0.9\textwidth]{egyptian-stone} Die Computertechnik hat uns phantastische Mittel in die Hand gegeben, um rund um den Globus miteinander zu kommunizieren und uns zu informieren. Aber Rechte und Freiheiten, die in anderen Kommunikationsformen längst selbstverständlich sind, muss man sich in den neuen Technologien erst sichern. Das Internet ist so schnell und massiv über uns hereingebrochen, dass man mit der Wahrung unserer Rechte noch nicht so recht nachgekommen ist. Beim altmodischen Briefschreiben schützen Sie die Inhalte von Mitteilungen ganz selbstverständlich mit einem Briefumschlag. Der Umschlag schützt die Nachrichten vor fremden Blicken, eine Manipulation am Umschlag kann man leicht bemerken. Nur wenn etwas nicht so wichtig ist, schreibt man es auf eine ungeschützte Postkarte, die auch der Briefträger oder andere lesen können. \clearpage Ob die Nachricht wichtig, vertraulich oder geheim ist, das bestimmen Sie selbst und niemand sonst. Diese Entscheidungsfreiheit haben Sie bei \Email{}s nicht. Eine normale \Email{} ist immer offen wie eine Postkarte, und der elektronische "`Briefträger"' -- und andere -- können sie jederzeit lesen. Die Sache ist sogar noch schlimmer: Die Computertechnik bietet nicht nur die Möglichkeiten, die vielen Millionen \Email{}s täglich zu befördern und zu verteilen, sondern sie auch zu kontrollieren. Niemand hätte je ernsthaft daran gedacht, alle Briefe und Postkarten zu sammeln, ihren Inhalt auszuwerten oder Absender und Empfänger zu protokollieren. Das wäre einfach nicht machbar gewesen oder es hätte zu lange gedauert. Mit der modernen Computertechnik ist es jedoch technisch möglich. Es gibt mehr als einen Hinweis darauf, dass dies genau heute schon im großen Stil mit \Email{} geschieht. Ein Artikel über das Echelon-System\footnote{\uniurl[\EchelonUrl]{\EchelonUrl}} \index{Echelon-System} liefert dazu interessantes Hintergrundwissen. Denn: der Umschlag fehlt. #+ATTR_HTML: width=300 #+ATTR_LaTeX: width=0.5\textwidth [[file:images-compendium/sealed-envelope.png]] clearpage \chapter{So funktioniert Gpg4win} \label{ch:FunctionOfGpg4win} Das Besondere an Gpg4win und der zugrundeliegenden \textbf{"`Public-Key"'"=Methode}\index{Public-Key-Methode@""`Public-Key""'-Methode} ist, dass sie jeder verstehen kann und soll. Nichts daran ist Geheimwissen ­-- es ist nicht einmal besonders schwer zu begreifen. Die Benutzung der einzelnen Programmkomponenten von Gpg4win ist sehr einfach, seine Wirkungsweise dagegen ziemlich kompliziert. Sie werden in diesem Kapitel erklärt bekommen, wie Gpg4win funktioniert ­-- nicht in allen Details, aber so, dass die Prinzipien dahinter deutlicher werden. Wenn Sie diese Prinzipien kennen, werden Sie ein hohes Vertrauen in die Sicherheit von Gpg4win gewinnen. Am Ende dieses Buches, in Kapitel \ref{ch:themath}, können Sie ­-- wenn Sie wollen ­-- auch noch die letzten Geheimnisse um die "`Public-Key"'-Kryptografie lüften und entdecken, warum mit Gpg4win verschlüsselte Nachrichten nach heutigem Stand der Technik nicht zu knacken sind. \clearpage \subsubsection{Der Herr der Schlüsselringe} Wenn man etwas sehr Wertvolles sichern will, schließt man es am besten ein -- mit einem Schlüssel. Noch besser mit einem Schlüssel, den es nur einmal gibt und den man ganz sicher aufbewahrt. \htmlattributes*{img}{width=300} \IncludeImage[width=0.5\textwidth]{schlapphut-with-key} Denn wenn dieser Schlüssel in die falschen Hände fällt, ist es um die Sicherheit des wertvollen Gutes geschehen. Dessen Sicherheit steht und fällt mit der Sicherheit und Einmaligkeit des Schlüssels. Also muss man den Schlüssel mindestens genauso gut absichern, wie das zu sichernde Gut selbst. Damit er nicht kopiert werden kann, muss auch die genaue Beschaffenheit des Schlüssels völlig geheim gehalten werden. \clearpage Geheime Schlüssel sind in der Kryptografie ein alter Hut: Schon immer hat man Botschaften geheim zu halten versucht, indem man den Schlüssel verbarg. Dies wirklich sicher zu machen, ist sehr umständlich und dazu auch sehr fehleranfällig. \htmlattributes*{img}{width=300} \IncludeImage[width=0.5\textwidth]{tangled-schlapphut} Das Grundproblem bei der "`gewöhnlichen"' geheimen Nachrichtenübermittlung ist, dass für Ver- und Entschlüsselung derselbe Schlüssel benutzt wird und dass sowohl der Absender als auch der Em\-pfänger diesen geheimen Schlüssel kennen müssen. Aus diesem Grund nennt man solche Verschlüsselungssysteme auch \textbf{"`symmetrische Verschlüsselung"'}.\index{Symmetrische Verschlüsselung} Dies führt zu einer ziemlich paradoxen Situation: Bevor man mit einer solchen Methode ein Geheimnis (eine verschlüsselte Nachricht) mitteilen kann, muss man schon vorher ein anderes Geheimnis mitgeteilt haben: den Schlüssel. Und da liegt der Hase im Pfeffer: Man muss sich ständig mit dem Problem herumärgern, dass der Schlüssel unbedingt ausgetauscht werden muss, aber auf keinen Fall von einem Dritten abgefangen werden darf. \clearpage Gpg4win dagegen arbeitet ­-- außer mit dem geheimen Schlüssel -- mit einem weiteren Schlüssel (engl. "`key"'), der vollkommen frei und öffentlich (engl. "`public"') zugänglich ist. Man spricht daher auch von einem "`Public-Key"'-Verschlüsselungssystem. Das klingt widersinnig, ist es aber nicht. Der Witz an der Sache: Es muss kein geheimer Schlüssel mehr ausgetauscht werden. Im Gegenteil: Der geheime Schlüssel darf auf keinen Fall ausgetauscht werden! Weitergegeben wird nur der öffentliche Schlüssel~-- und den darf sowieso jeder kennen. Mit Gpg4win benutzen Sie also ein Schlüsselpaar\index{Schlüsselpaar} -- einen geheimen und einen zweiten öffentlichen Schlüssel. Beide Schlüsselteile sind durch eine komplexe mathematische Formel untrennbar miteinander verbunden. Nach heutiger wissenschaftlicher und technischer Kenntnis ist es unmöglich, einen Schlüsselteil aus dem anderen zu berechnen und damit das Verfahren zu knacken. In Kapitel \ref{ch:themath} bekommen Sie erklärt, warum das so ist. \htmlattributes*{img}{width=300} \IncludeImage[width=0.5\textwidth]{verleihnix} \clearpage Das Prinzip der Public-Key-Verschlüsselung\index{Public-Key-Methode@""`Public-Key""'-Methode} ist recht einfach: Der \textbf{geheime} oder \textbf{private Schlüssel} (engl. ,,secret key'' oder ,,private key'') muss geheim gehalten werden. Der \textbf{öffentliche Schlüssel} (engl. "`public key"') soll so öffentlich wie möglich gemacht werden. Beide Schlüsselteile haben ganz und gar unterschiedliche Aufgaben: \bigskip \begin{quote} Der geheime Schlüsselteil \textbf{entschlüsselt} Nachrichten. \end{quote} \htmlattributes*{img}{width=300} \IncludeImage[width=0.75\textwidth]{key-with-shadow-bit} \begin{quote} Der öffentliche Schlüsselteil \textbf{verschlüsselt} Nachrichten. \end{quote} \clearpage \subsubsection{Der öffentliche Brieftresor} \index{Brieftresor} In einem kleinen Gedankenspiel wird die Methode des "`Public-Key"'-Verschlüsselungssystems und ihr Unterschied zur symmetrischen Verschlüsselung\index{Symmetrische Verschlüsselung} ("`Geheimschlüssel-Methode"' oder engl. "`Non-Public-Key"'-Methode) \index{Non-Public-Key-Methode@""`Non-Public-Key""'-Methode|see{Symmetrische Verschlüsselung}} deutlicher ... \bigskip \textbf{Die "`Geheimschlüssel-Methode"' geht so:} Stellen Sie sich vor, Sie stellen einen Brieftresor vor Ihrem Haus auf, über den Sie geheime Nachrichten übermitteln wollen. Der Brieftresor ist mit einem Schloss verschlossen, zu dem es nur einen einzigen Schlüssel gibt. Niemand kann ohne diesen Schlüssel etwas hineinlegen oder herausnehmen. Damit sind Ihre geheimen Nachrichten zunächst einmal gut gesichert -- so sicher wie in einem Tresor. \htmlattributes*{img}{width=300} \IncludeImage[width=0.75\textwidth]{letter-into-safe} Da es nur einen Schlüssel gibt, muss Ihr Korrespondenzpartner denselben Schlüssel wie Sie haben, um den Brieftresor damit auf- und zuschließen und eine geheime Nachricht deponieren zu können. \clearpage Diesen Schlüssel müssen Sie Ihrem Korrespondenzpartner auf geheimem Wege übergeben. \bigskip \bigskip \htmlattributes*{img}{width=300} \IncludeImage[width=0.75\textwidth]{secret-key-exchange} \clearpage Erst wenn der andere den geheimen Schlüssel hat, kann er den Brieftresor öffnen und die geheime Nachricht lesen. Alles dreht sich also um diesen Schlüssel: Wenn ein Dritter ihn kennt, ist es sofort aus mit den geheimen Botschaften. Sie und Ihr Korrespondenzpartner müssen ihn also \textbf{genauso} geheim austauschen wie die Botschaft selbst. Aber ­-- eigentlich könnten Sie ihm bei dieser Gelegenheit ja auch gleich die geheime Mitteilung übergeben ... \textbf{Übertragen auf die \Email{}-Verschlüsselung:} Weltweit müssten alle \Email{}-Teilnehmer geheime Schlüssel besitzen und auf geheimem Wege austauschen, bevor sie geheime Nachrichten per \Email{} versenden könnten. Vergessen Sie diese Möglichkeit am besten sofort wieder ... \htmlattributes*{img}{width=300} \IncludeImage[width=0.75\textwidth]{letter-out-of-safe} \clearpage \textbf{Nun zur "`Public-Key"'-Methode:} Sie installieren wieder einen Brieftresor \index{Brieftresor} vor Ihrem Haus. Aber: Dieser Brieftresor ist ­-- ganz im Gegensatz zu dem ersten Beispiel -- stets offen. Direkt daneben hängt --­ weithin öffentlich sichtbar -- ein Schlüssel, mit dem jedermann den Brieftresor zuschließen kann (asymmetrisches Verschlüsselungsverfahren). \index{Asymmetrische Verschlüsselung} \textbf{Zuschließen, aber nicht aufschließen:} das ist der Trick! \htmlattributes*{img}{width=300} \IncludeImage[width=0.7\textwidth]{pk-safe-open} Dieser Schlüssel gehört Ihnen und -- Sie ahnen es: Es ist Ihr öffentlicher Schlüssel. Wenn jemand Ihnen eine geheime Nachricht hinterlassen will, legt er sie in den Brieftresor und schließt mit Ihrem öffentlichen Schlüssel ab. Jedermann kann das tun, denn der Schlüssel dazu ist ja völlig frei zugänglich. Kein anderer kann den Brieftresor nun öffnen und die Nachricht lesen. Selbst derjenige, der die Nachricht in dem Brieftresor eingeschlossen hat, kann ihn nicht wieder aufschließen, z.B. um die Botschaft nachträglich zu verändern. Denn die öffentliche Schlüsselhälfte taugt ja nur zum Abschließen. Aufschließen kann man den Brieftresor nur mit einem einzigen Schlüssel: Ihrem eigenen geheimen, privaten Schlüsselteil. \clearpage \textbf{Wieder übertragen auf die \Email{}-Verschlüsselung:} Jedermann kann eine \Email{} an Sie verschlüsseln. Er benötigt dazu keineswegs einen geheimen, sondern ganz im Gegenteil einen vollkommen öffentlichen\index{Schlüssel!öffentlicher}, "`ungeheimen"' Schlüssel. Nur ein einziger Schlüssel entschlüsselt die \Email{} wieder: Ihr privater, geheimer Schlüssel\index{Schlüssel!geheimer}\index{Schlüssel!privater}. Spielen Sie das Gedankenspiel noch einmal anders herum durch: Wenn Sie einem anderen eine geheime Nachricht zukommen lassen wollen, benutzen Sie dessen Brieftresor mit seinem öffentlichen, frei verfügbaren Schlüssel. Sie müssen Ihren Briefpartner dazu nicht persönlich kennen, ihn getroffen oder je mit ihm gesprochen haben, denn sein öffentlicher Schlüssel ist überall und jederzeit zugänglich. Wenn Sie Ihre Nachricht hinterlegt und den Brieftresor des Empfängers mit seinem öffentlichen Schlüssel wieder verschlossen haben, ist sie völlig unzugänglich für jeden anderen, auch für Sie selbst. Nur der Empfänger kann den Brieftresor mit seinem privaten Schlüssel öffnen und die Nachricht lesen. \T\enlargethispage{2\baselineskip} \htmlattributes*{img}{width=300} \IncludeImage[width=0.75\textwidth]{pk-safe-opened-with-sk} \clearpage \textbf{Aber was ist nun eigentlich gewonnen:} Es gibt doch immer noch einen geheimen Schlüssel!? Der Unterschied gegenüber der "`Non-Public-Key"'-Methode ist allerdings ein gewaltiger: Ihren privater Schlüssel kennen und benutzen nur Sie selbst. Er wird niemals einem Dritten mitgeteilt ­-- die Notwendigkeit einer geheimen Übergabe entfällt, sie verbietet sich sogar. Es muss überhaupt nichts Geheimes mehr zwischen Absender und Empfänger ausgetauscht werden -- weder eine geheime Vereinbarung noch ein geheimes Codewort. Das ist ­-- im wahrsten Sinne des Wortes -- der Knackpunkt: Alle symmetrischen Verschlüsselungsverfahren können geknackt werden, weil ein Dritter sich beim Schlüsselaustausch in den Besitz des Schlüssels bringen kann. Dieses Risiko entfällt, weil ein geheimer Schlüssel nicht ausgetauscht wird und sich nur an einem einzigen, sehr sicheren Ort befindet: dem eigenen Schlüsselbund\index{Schlüsselbund} -- letztendlich Ihrem eigenen Gedächtnis. Diese moderne Methode der Verschlüsselung mit einem nicht geheimen und öffentlichen sowie einem geheimen und privaten Schlüsselteil nennt man auch "`asymmetrische Verschlüsselung"'. \index{Asymmetrische Verschlüsselung} \clearpage \chapter{Die Passphrase} \label{ch:passphrase} \index{Passphrase} Wie Sie im letzten Kapitel gelesen haben, ist der private Schlüssel eine der wichtigsten Komponenten beim "`Public-Key"'- oder asymmetrischen Verschlüsselungsverfahren. Man muss ihn zwar nicht mehr auf geheimem Wege mit seinen Korrespondenzpartnern austauschen, aber nach wie vor ist seine Sicherheit der Schlüssel zur Sicherheit des "`ganzen"' Kryptografieverfahrens. Technisch gesehen ist der private Schlüssel einfach eine Datei, die auf dem eigenen Rechner gespeichert wird. Um unbefugte Zugriffe auf diese Datei auszuschließen, wird sie zweifach gesichert: \htmlattributes*{img}{width=300} \IncludeImage[width=0.5\textwidth]{think-passphrase} Zunächst darf kein anderer Benutzer des Rechners die Datei lesen oder in sie schreiben können -- was kaum zu garantieren ist, da zum einen der Administrator des Computers immer auf alle Dateien zugreifen kann, zum anderen der Rechner verloren oder durch Viren\index{Viren}, Würmer\index{Würmer} oder Trojaner\index{Trojaner} ausspioniert werden kann. Daher ist ein weiterer Schutz notwendig: eine Passphrase. Kein Passwort -- die Passphrase sollte nicht nur aus einem Wort bestehen, sondern z.B. aus einem Satz. Sie sollten diese Passphrase wirklich "`im Kopf"' behalten und niemals aufschreiben müssen. Trotzdem darf sie nicht erraten werden können. Das klingt vielleicht widersprüchlich, ist es aber nicht. Es gibt einige erprobte Tricks, mit deren Hilfe Sie sich eine völlig individuelle, leicht zu merkende und nur sehr schwer zu erratende Passphrase ausdenken können. \clearpage Denken Sie an einen Ihnen gut bekannten Satz, z.B.: $\qquad$\verb-Ein blindes Huhn findet auch einmal ein Korn.- Aus diesem Satz nehmen Sie beispielsweise jeden dritten Buchstaben: $\qquad$\verb-nieufdahnlnr- \texttt{\scriptsize{(Ei\textbf{n} bl\textbf{i}nd\textbf{e}s H\textbf{u}hn \textbf{f}in\textbf{d}et \textbf{a}uc\textbf{h} ei\textbf{n}ma\textbf{l} ei\textbf{n} Ko\textbf{r}n.)}} Diesen Buchstabensalat können Sie sich zunächst sicher nicht gut merken, aber Sie werden ihn eigentlich nie vergessen, solange Sie den ursprünglichen Satz im Kopf haben. Im Laufe der Zeit und je öfter Sie ihn benutzen, prägt sich so eine Passphrase in Ihr Gedächtnis. Erraten kann diese Passphrase niemand. Denken Sie an ein Ereignis, das sich bereits fest in Ihrem persönlichen Langzeitgedächtnis verankert hat. Vielleicht gibt es einen Satz, mit dem sich Ihr Kind oder Ihr Partner "`unvergesslich"' gemacht hat. Oder eine Ferienerinnerung oder eine Textzeile aus einem für Sie wichtigen Lied. Verwenden Sie kleine und große Buchstaben, Nummern, Sonder- und Leerzeichen durcheinander. Im Prinzip ist alles erlaubt, auch Umlaute, Sonderzeichen, Ziffern usw. Aber Vorsicht -- falls Sie Ihren geheimen Schlüssel im Ausland an einem fremden Rechner benutzen wollen, bedenken Sie, dass fremdsprachige Tastaturen diese Sonderzeichen oft nicht haben. Beispielsweise werden Sie Umlaute (ä, ö, ü usw.) nur auf einer deutschen Tastatur finden. Machen Sie Rechtschreibfehler, z.B. "`feLer"' statt "`Fehler"'. Natürlich müssen Sie sich diese "`feLer"' gut merken können. Oder wechseln Sie mittendrin die Sprache. Aus dem schönen Satz: $\qquad$\verb-In München steht ein Hofbräuhaus.- könnte man beispielsweise diese Passphrase machen: $\qquad$\verb-inMinschen stet 1h0f breuhome- Denken Sie sich einen Satz aus, der möglichst unsinnig ist, den Sie sich aber doch merken können, wie z.B.: $\qquad$\verb-Es blaut so garstig beim Walfang, neben- $\qquad$\verb-Taschengeld, auch im Winter.- Eine Passphrase in dieser Länge ist ein sicherer Schutz für Ihren geheimen Schlüssel. Sie darf auch kürzer sein, wenn Sie einige Buchstaben groß schreiben, z.B. so: $\qquad$\verb-Es blAut nEBen TaschengeLd auch im WiNter.- Das ist nun kürzer, aber nicht mehr so leicht zu merken. Wenn Sie eine noch kürzere Passphrase verwenden, indem Sie hier und da Sonderzeichen benutzen, haben Sie zwar bei der Eingabe weniger zu tippen, aber die Wahrscheinlichkeit, dass Sie Ihre Passphrase vergessen, wird dabei größer. Ein extremes Beispiel für eine möglichst kurze, aber dennoch sehr sichere Passphrase ist dieses hier: $\qquad$\verb-R!Qw"s,UIb *7\$- In der Praxis haben sich solche Zeichenfolgen allerdings als recht wenig brauchbar herausgestellt, da man einfach zu wenig Anhaltspunkte für die Erinnerung hat. \clearpage Eine \textbf{schlechte Passphrase} ist blitzschnell "`geknackt"', wenn sie ... \begin{itemize} \item ... schon für einen anderen Zweck benutzt wird (z.B. für einen \Email{}-Account oder Ihr Handy). Die gleiche Passphrase wäre damit bereits einer anderen, möglicherweise unsicheren Software bekannt. Falls hier ein Hacker erfolgreich zuschlägt, ist Ihre Passphrase so gut wie nichts mehr wert. \item ... aus einem Wörterbuch stammt. Passphrase-Knackprogramme können in Minutenschnelle komplette digitale Wörterbücher über ein Passwort laufen lassen -- bis eines der Wörter passt. \item ... aus einem Geburtsdatum, einem Namen oder anderen öffentlichen Informationen besteht. Wer vorhat, Ihre \Email{} zu entschlüsseln, wird sich diese Daten beschaffen. \item ... ein landläufiges Zitat ist; wie z.B. "`das wird böse enden"' oder "`to be or not to be"'. Auch mit derartigen gängigen Zitaten testen Passphrase-Knackprogramme eine Passphrase. \item ... aus nur einem Wort oder aus weniger als 8 Zeichen besteht. Denken Sie sich unbedingt eine längere Passphrase aus. \end{itemize} Wenn Sie nun Ihre Passphrase zusammenstellen, nehmen Sie \textbf{auf gar keinen Fall} eines der oben angeführten Beispiele. Denn es liegt auf der Hand: Wenn sich jemand ernsthaft darum bemüht, Ihre Passphrase herauszubekommen, würde er zuerst ausprobieren, ob Sie nicht eines dieser Beispiele genommen haben. \bigskip \textbf{Seien Sie kreativ!} Denken Sie sich jetzt eine Passphrase aus! Unvergesslich und unknackbar. In Kapitel~\ref{ch:CreateKeyPair} werden Sie diese Passphrase bei der Erzeugung Ihres Schlüsselpaars benötigen. Vorher müssen Sie aber noch ein weiteres Problem aus dem Weg räumen: Irgendjemand muss beglaubigen, dass die Person, die Ihnen geheime Nachrichten schicken will, auch tatsächlich echt ist. \clearpage \chapter{Zwei Wege, ein Ziel: OpenPGP \& S/MIME} \label{ch:openpgpsmime} \index{OpenPGP} \index{S/MIME} Sie haben gesehen, wie wichtig der "`Umschlag"' um Ihre \Email{} ist und wie man ihn mit den Mitteln der modernen Informationstechnologie bereitstellt: ein Brieftresor, \index{Brieftresor} in den jedermann verschlüsselte Mails legen kann, die nur Sie als Besitzer des Brieftresors entschlüsseln können. Es ist unmöglich, die Verschlüsselung zu knacken, solange der private Schlüssel zum "`Tresor"' Ihr Geheimnis bleibt. Allerdings: Wenn man genauer darüber nachdenkt, gibt es noch ein zweites Problem. Weiter oben haben Sie gelesen, dass man -- im Gegensatz zur Geheimschlüssel-Methode -- den Briefpartner nicht persönlich treffen muss, damit er eine geheime Nachricht übermitteln kann. Wie kann man dann aber sicher sein, dass er auch tatsächlich derjenige ist, für den er sich ausgibt? Beim \Email{}-Verkehr kennen Sie in den seltensten Fällen alle Ihre Briefpartner persönlich -- und wer sich wirklich hinter einer \Email{}-Adresse verbirgt, kann man nicht ohne Weiteres feststellen. Also muss nicht nur die Geheimhaltung der Nachricht gewährleistet sein, sondern auch die Identität des Absenders -- die \textbf{Authentizität}. \index{Authentizität} Irgendjemand muss also beglaubigen, dass die Person, die Ihnen geheime Nachrichten schicken will, auch tatsächlich echt ist. Im Alltagsleben dient zu dieser "`Authentisierung"'\index{Authentisierung} ein Ausweis, eine Unterschrift oder eine Urkunde, die von einer Behörde oder einem Notar beglaubigt wurde. Die Berechtigung zur Beglaubigung bezieht diese Institution von einer übergeordneten Behörde und letztendlich vom Gesetzgeber. Anders betrachtet, handelt es sich um eine Vertrauenskette\index{Vertrauenskette}, die sich von "`oben"' nach "`unten"' verzweigt: man spricht von einem \textbf{"`hierarchischen Vertrauenskonzept"'}. \index{Hierarchisches Vertrauenskonzept} Dieses Konzept findet sich bei Gpg4win oder anderen \Email{}-Verschlüsselungsprogrammen fast spiegelbildlich in \textbf{S/MIME} wieder. Dazu kommt \textbf{OpenPGP}, ein weiteres Konzept, das so nur im Internet funktioniert. S/MIME und OpenPGP haben beide die gleiche Aufgabe: das Verschlüsseln und Signieren von Daten. Beide benutzen die bereits bekannte Public-Key-Methode. Es gibt zwar einige wichtige Unterschiede, aber letztlich bietet keiner der Standards einen allgemeinen Vorteil gegenüber dem anderen. Deshalb können Sie mit Gpg4win beide Verfahren einsetzen. \clearpage Die Entsprechung des hierarchischen Vertrauenskonzepts hat den schönen Namen "`Secure / Multipurpose Internet Mail Extension"' oder \textbf{S/MIME}. Mit S/MIME müssen Sie Ihren öffentlichen Schlüssel von einer dazu berechtigten Organisation beglaubigen lassen, bevor er wirklich nutzbar wird. Das Zertifikat dieser Organisation wurde wiederum mit dem Zertifikat einer höher stehenden Organisation beglaubigt, usw. -- bis man zu einem sogenannten Wurzelzertifikat kommt. Diese hierarchische Vertrauenskette hat meist drei Glieder: das Wurzelzertifikat, das Zertifikat des Zertifikatsausstellers \index{Zertifikatsaussteller} (auch CA\index{Certificate Authority (CA)} für Certificate Authority genannt) und schließlich Ihr eigenes, das Anwenderzertifikat. Als zweite, alternative, nicht kompatible Methode der Beglaubigung dient der Standard \textbf{OpenPGP}, der keine Vertrauenshierarchie aufbaut, sondern ein \textbf{"`Netz des Vertrauens"'} (Web of Trust). \index{Web of Trust} Das Web of Trust bildet die Grundstruktur des nicht hierarchischen Internets und seiner Nutzer nach. Vertraut zum Beispiel der Teilnehmer B dem Teilnehmer A, könnte B auch dem öffentlichen Schlüssel des ihm selbst unbekannten Teilnehmers C vertrauen, wenn dieser Schlüssel durch A beglaubigt wurde. Mit OpenPGP besteht also die Möglichkeit, ohne die Beglaubigung einer höheren Stelle verschlüsselte Daten und \Email{}s auszutauschen. Es reicht aus, wenn Sie der \Email{}-Adresse und dem dazugehörigen Schlüssel Ihres Kommunikationspartners vertrauen. Ob nun mit einer Vertrauenshierarchie oder einem Web of Trust -- die Authentisierung des Absenders ist mindestens ebenso wichtig wie der Schutz der Nachricht. Im weiteren Verlauf dieses Kompendiums kommen wir auf diese wichtige Sicherheitsmaßnahme noch einmal zurück. Im Moment sollte Ihnen dieser Kenntnisstand ausreichen, um Gpg4win zu installieren und die folgenden Kapitel zu verstehen: \begin{itemize} \item Beide Verfahren -- \textbf{OpenPGP} und \textbf{S/MIME} -- bieten die notwendige Sicherheit. \item Die Verfahren sind \textbf{nicht kompatibel} miteinander. Sie bieten zwei alternative Methoden zur Authentisierung Ihrer geheimen Kommunikation. Man sagt somit, sie sind nicht interoperabel. \item Gpg4win ermöglicht die bequeme \textbf{parallele} Nutzung beider Verfahren -- Sie müssen sich aber bei jeder Verschlüsselung/Signierung für eines der beiden entscheiden. \end{itemize} \clearpage \chapter{Installation von Gpg4win} \index{Installation} In den Kapiteln 1 bis 5 haben Sie einiges über die Hintergründe der Verschlüsselung erfahren. Gpg4win funktioniert zwar auch, ohne dass Sie verstehen warum, aber im Gegensatz zu anderen Programmen wollen Sie Gpg4win schließlich Ihre geheime Korrespondenz anvertrauen. Da sollten Sie schon wissen, was vor sich geht. Mit diesem Wissen sind Sie nun bereit, Gpg4win zu installieren und Ihr Schlüsselpaar einzurichten. Sollte bereits eine GnuPG-basierte Anwendung auf Ihrem Rechner installiert sein, dann lesen bitte im Anhang \ref{ch:migration} nach, wie Sie Ihre vorhandenen Schlüssel übernehmen können. Sie benötigen für die Installation auf Ihrem Windows 32 oder 64-bit System Administratorrechte. Wenn Sie Gpg4win aus dem Internet laden, achten Sie unbedingt darauf, dass Sie die Datei von einer vertrauenswürdigen Seite erhalten, z.B.: \uniurl[https://www.gpg4win.de]{https://www.gpg4win.de}. Zum Start der Installation klicken Sie nach dem Download auf die Datei: \Filename{gpg4win-3.0.0.exe} (oder mit einer höheren Versionsnummer). % screenshot: UAT Abfrage beim starten des Installers \IncludeImage[width=0.85\textwidth]{sc-inst-uat_de} Die Frage, ob Sie das Programm installieren wollen, beantworten Sie mit \Button{Ja}. \clearpage Der Installationsassistent startet und befragt Sie zuerst nach der Sprache für den Installationsvorgang: % screenshot: Installer Sprachenauswahl \IncludeImage[width=0.5\textwidth]{sc-inst-language_de} Bestätigen Sie Ihre Sprachauswahl mit \Button{OK}. Anschließend begrüßt Sie dieser Willkommensdialog: % screenshot: Installer Willkommensseite \IncludeImage[width=0.85\textwidth]{sc-inst-welcome_de} Beenden Sie alle auf Ihrem Rechner laufenden Programme und klicken Sie dann auf \Button{Weiter}. \clearpage Auf der Seite mit der \textbf{Komponentenauswahl} können Sie entscheiden, welche Programme Sie installieren möchten. Eine Vorauswahl ist bereits getroffen. Sie können bei Bedarf einzelne Komponenten auch später installieren. Wenn Sie die Maus über eine Komponente ziehen, erscheint eine Kurzbeschreibung. % screenshot: Auswahl zu installierender Komponenten \IncludeImage[width=0.85\textwidth]{sc-inst-components_de} Klicken Sie auf \Button{Weiter}. \clearpage Nun wird Ihnen ein Ordner zur Installation vorgeschlagen, z.B.: \Filename{C:$\backslash$Programm Files(x86)$\backslash$Gpg4win} Übernehmen Sie den Vorschlag oder suchen Sie einen anderen Ordner aus, in dem Sie Gpg4win installieren wollen. % screenshot: Auswahl des Installationsverzeichnis. \IncludeImage[width=0.85\textwidth]{sc-inst-directory_de} Klicken Sie anschließend auf \Button{Installieren}. \clearpage Während der nun folgenden \textbf{Installation} sehen Sie einen Fortschrittsbalken und Informationen, welche Datei momentan installiert wird. % screenshot: Ready page Installer \IncludeImage[width=0.85\textwidth]{sc-inst-progress_de} Nachdem die Installation abgeschlossen ist, drücken Sie bitte auf \Button{Weiter}. \clearpage Nach erfolgreicher Installation wird Ihnen diese letzte Seite des Installationsvorgangs angezeigt: % screenshot: Finish page Installer \IncludeImage[width=0.85\textwidth]{sc-inst-finished_de} Es wird Ihnen angeboten Kleopatra direkt zu starten. Zudem haben Sie die Möglochkeit sich die README-Datei anzeigen zu lassen, die wichtige Informationen zu der soeben installierten Gpg4win-Version enthält. Sofern Sie die README-Datei ansehen wollen, aktivieren Sie diese Option. Klicken Sie schließlich auf \Button{Fertig stellen}. \textbf{Das war's schon!} Sie haben Gpg4win erfolgreich installiert und können nun loslegen. Für Informationen zur \textbf{automatischen Installation} von Gpg4win, wie sie z.B. für Soft\-ware\-verteilungs-Systeme interessant ist, lesen Sie bitte im Anhang \ref{ch:auto} "`Automatische Installation von Gpg4win"' weiter. \clearpage \chapter{Erstellung eines Schlüsselpaars} \label{ch:CreateKeyPair} \index{Zertifikat!erstellen} \index{Schlüssel!erzeugen} %TODO : Vllt. Erklärung Zertifikat vs. Keypair erklären und woher das Wording % kommt Nachdem Sie gelesen haben, warum GnuPG eigentlich so sicher ist (Kapitel~\ref{ch:FunctionOfGpg4win}) und wie eine gute Passphrase als Schutz Ihres geheimen Schlüssels entsteht (Kapitel~\ref{ch:passphrase}), können Sie nun Ihr persönliches Schlüsselpaar\index{Schlüsselpaar} erzeugen. Wie Sie im Kapitel~\ref{ch:FunctionOfGpg4win} gesehen haben, besteht ein Schlüsselpaar aus einem öffentlichen und einem geheimen Schlüssel. Ergänzt durch \Email{}-Adresse, Benutzerkennung etc., die Sie bei der Erstellung angeben (den sogenannten Metadaten), erhalten Sie Ihr Schlüsselpaar mit dem öffentlichen \textit{und} dem geheimen Schlüssel. Diese Definition gilt sowohl für OpenPGP-Schlüssel wie auch für S/MIME-Zertifikate (S/MIME-Zertifikate entsprechen einem Standard mit der Bezeichnung "`X.509"'\index{X.509}). ~\\ \textbf{Eigentlich müsste man diesen wichtigen Schritt der Schlüsselpaar-Erzeugung ein paar Mal üben können ...} Genau das können Sie tun -- allerdings nur für OpenPGP: Ihr Vertrauen in Gpg4win wird sich durch diese "`Trockenübung"' festigen, und die "`heiße Phase"' der OpenPGP-Schlüsselpaar-Erzeugung wird danach kein Problem mehr sein. \clearpage \textbf{Los geht's!} Rufen Sie das Programm Kleopatra über das Windows-Startmenü auf. Daraufhin sehen Sie das Hauptfenster von Kleopatra\index{Kleopatra}: \index{Zertifikatsverwaltung} % screenshot: Kleopatra main window \htmlattributes*{img}{width=508} \IncludeImage[width=\textwidth]{sc-kleopatra-mainwindow-empty_de} Zu Beginn ist diese Übersicht leer, da Sie noch keine Schlüssel erstellt (oder importiert) haben. Klicken Sie auf \Button{Schlüsselpaar erstellen} (oder alternativ \Menu{Datei$\rightarrow$Neues~Schlüsselpaar}). Im folgenden Dialog entscheiden Sie sich für ein Format, in dem anschließend ein Schlüsselpaar erstellt werden soll. Sie haben die Wahl zwischen \textbf{OpenPGP} (PGP/MIME) oder \textbf{X.509} (S/MIME). Die Unterschiede und Gemeinsamkeiten beider Verfahren wurden bereits in Kapitel~\ref{ch:openpgpsmime} erläutert. \label{chooseCertificateFormat} % screenshot: Kleopatra - New certificate - Choose format %TODO: Zertifikat steht drüber, aber alles heißt Schlüsselpaar? Konsistenz \IncludeImage[width=0.85\textwidth]{sc-kleopatra-ChooseCertificateFormat_de} \clearpage Je nachdem, ob Sie sich für OpenPGP oder X.509 (S/MIME) entschieden haben, lesen Sie nun also bitte entweder: \begin{itemize} \item Abschnitt \ref{createKeyPairOpenpgp}: \textbf{OpenPGP-Schlüsselpaar erstellen} oder \item Abschnitt \ref{createKeyPairX509}: \textbf{X.509-Zertifikat erstellen} \T (siehe Seite \pageref{createKeyPairX509}). \end{itemize} \section{OpenPGP-Schlüsselpaar erstellen} \label{createKeyPairOpenpgp} \index{OpenPGP!Zertifikat erstellen} %TODO: "Zertifikat" im Kleo-Dialog ändern in "Schlüsselpaar" %TODO: Neuer Screenshot (Next/Cancel) Klicken Sie im Auswahldialog auf \Button{Persönliches OpenPGP-Schlüsselpaar erzeugen}. Geben Sie im nun folgenden Dialog Ihren Namen und Ihre \Email{}-Adresse an. Name und \Email{}-Adresse sind später öffentlich sichtbar. Optional können Sie einen Kommentar zum Schlüsselpaar eingeben. Normalerweise bleibt dieses Feld leer; wenn Sie aber einen Schlüssel zu Testzwecken erzeugen, sollten Sie dort als Erinnerung "`Test"' eingeben. Dieser Kommentar ist Teil Ihrer Benutzerkennung und genau wie der Name und die \Email{}-Adresse später öffentlich sichtbar. % screenshot: Creating OpenPGP Certificate - Personal details\\ %TODO: Neuer Screenshot (Next/Cancel) \IncludeImage[width=0.85\textwidth]{sc-kleopatra-openpgp-personalDetails_de} Wenn Sie die OpenPGP-Schlüsselpaar-Erzeugung zunächst einmal \textbf{testen} wollen, dann können Sie einfach einen beliebigen Namen und irgendeine ausgedachte \Email{}-Adresse eingeben, z.B.:\\ \Filename{Alice} und \Filename{alice@gpg4win.de} Die \textbf{erweiterten Einstellungen} benötigen Sie nur in Ausnahmefällen. Sie können sich im Kleopatra-Handbuch (über \Menu{Hilfe$\rightarrow$Handbuch zu Kleopatra}) über die Details informieren. Klicken Sie auf \Button{Weiter}. \clearpage Es werden abschließend noch einmal alle wesentlichen Eingaben und Einstellungen zur \textbf{Kontrolle} aufgelistet. Falls Sie sich für die (vorbelegten) Experten-Einstellungen interessieren, können Sie diese über die Option \Menu{Alle Details} einsehen. % screenshot: Creating OpenPGP Certificate - Review Parameters %TODO: Neuer Screenshot (Cancel) \IncludeImage[width=0.85\textwidth]{sc-kleopatra-openpgp-reviewParameters_de} Wenn alles korrekt ist, klicken Sie anschließend auf \Button{Schlüssel erzeugen}. \clearpage Jetzt folgt der wichtigste Teil: die Eingabe Ihrer \textbf{Passphrase}! Für die Schlüsselpaarerzeugung müssen Sie Ihre persönliche Passphrase eingeben: % screenshot: New certificate - pinentry %TODO: Neuer Screenshot (Cancel) \IncludeImage[width=0.45\textwidth]{sc-kleopatra-openpgp-pinentry_de} Wenn Sie Kapitel~\ref{ch:passphrase} gelesen haben, dann sollten Sie jetzt eine einfach zu merkende und schwer zu knackende geheime Passphrase parat haben. Geben Sie diese in den oben gezeigten Dialog ein! Beachten Sie bitte, dass dieses Fenster unter Umständen im Hintergrund geöffnet wurde und damit auf den ersten Blick nicht sichtbar ist. Wenn die Passphrase nicht sicher genug ist, weil sie zu kurz ist oder keine Zahlen oder Sonderzeichen enthält, werden Sie darauf hingewiesen. Auch an dieser Stelle können Sie ­-- wenn Sie wollen ­-- zunächst eine \textbf{Test-Passphrase} eingeben oder auch gleich "`Ernst machen"'. Um sicherzugehen, dass Sie sich nicht vertippt haben, müssen Sie Ihre geheime Passphrase zweimal eingeben. Bestätigen Sie Ihre Eingabe jeweils mit \Button{OK}. \clearpage Nun wird Ihr OpenPGP-Schlüsselpaar erzeugt: % screenshot: Creating OpenPGP Certificate - Create Key %TODO: Neuer Screenshot (Next/Cancel) \IncludeImage[width=0.85\textwidth]{sc-kleopatra-openpgp-createKey_de} Dies kann u.U. einige Minuten dauern. Sie können die Erzeugung der benötigten Zufallszahlen unterstützen, indem Sie im unteren Eingabefeld irgendetwas eingeben. Was Sie dort tippen, spielt keine Rolle: was Sie schreiben, wird nicht verwendet, nur die Zeitspannen zwischen den einzelnen Tastendrücken. Sie können auch mit einer anderen Anwendung Ihres Rechner weiterarbeiten und erhöhen damit ebenfalls leicht die Qualität des erzeugten Schlüsselpaars. \clearpage Sobald die \textbf{Schlüsselpaarerzeugung erfolgreich} abgeschlossen ist, erhalten Sie folgenden Dialog: % screenshot: Creating OpenPGP certificate - key successfully created %TODO: Neuer Screenshot (Next/Cancel) \IncludeImage[width=0.85\textwidth]{sc-kleopatra-openpgp-keyPairCreated_de} Im Ergebnis-Textfeld wird der 40-stellige "`Fingerabdruck"'\index{Fingerabdruck} Ihres neu generierten OpenPGP-Schlüssels angezeigt. Dieser Fingerabdruck (engl. "`Fingerprint"') ist weltweit eindeutig, d.h. keine andere Person besitzt einen Schlüssel mit identischem Fingerabdruck. Es ist sogar vielmehr so, dass es schon mit 8 Zeichen ein außerordentlicher Zufall wäre, wenn diese weltweit ein zweites Mal vorkämen. Daher werden oft nur die letzten 8 Zeichen des Fingerabdrucks verwendet bzw. angezeigt und als Schlüsselkennung\index{Schlüsselkennung} (oder Schlüssel-ID)\index{Schlüssel!-ID} bezeichnet. Dieser Fingerabdruck identifiziert die Identität des Schlüssels wie der Fingerabdruck einer Person. Sie brauchen sich den Fingerabdruck nicht zu merken oder %TODO: Zertifikatdetails in Kleo zu "Details" ändern abzuschreiben. In den Details von Kleopatra können Sie sich ihn jederzeit später anzeigen lassen. \clearpage Als Nächstes können Sie eine oder auch (hintereinander) mehrere der folgenden drei Schaltflächen betätigen: \begin{description} \item[Sicherheitskopie Ihres (geheimen) Schlüssels erstellen...]~\\ Geben Sie hier den Pfad an, unter dem Ihr vollständiges Schlüsselpaars (also der geheime \textit{und} öffentliche Schlüssel) exportiert werden soll: % screenshot: New OpenPGP certificate - export key %TODO: Neuer Screenshot \IncludeImage[width=0.5\textwidth]{sc-kleopatra-openpgp-exportSecretKey_de} Kleopatra wählt automatisch den Dateityp und speichert Ihren Schlüssel als \Filename{.asc} bzw. \Filename{.gpg} Datei ab -- abhängig davon, ob Sie die Option \textbf{ASCII-geschützt} (engl. "`ASCII armor"') ein- bzw. ausschalten. Klicken Sie anschließend zum Exportieren auf \Button{OK}. \textbf{Wichtig:} Falls Sie die Datei auf der Festplatte abspeichern, so sollten Sie diese Datei schnellstens auf einen anderen Datenträger (USB-Stick, Diskette oder CD-ROM) kopieren und die Originaldatei rückstandslos löschen, d.h. nicht im Papierkorb belassen! Bewahren Sie diesen Datenträger mit der Sicherheitskopie sicher auf. Sie können eine Sicherheitskopie auch noch später anlegen; wählen Sie hierzu aus dem Kleopa\-tra-Hauptmenü: %TODO: In Kleo evtl. anpassen? \Menu{Datei$\rightarrow$Geheimes Zertifikat exportieren...} (vgl. Kapitel \ref{ch:ImExport}). \item[Schlüssel per \Email{} versenden...]~\\ Nach dem Klick auf diese Schaltfläche sollte eine neue \Email{} erstellt werden -- mit Ihrem neuen öffentlichen Schlüssel im Anhang. Ihr geheimer OpenPGP-Schlüssel wird selbstverständlich \textit{nicht} versendet. Geben Sie eine Empfänger-\Email{}-Adresse an und ergänzen Sie ggf. den vorbereiteten Text dieser \Email{}. \textbf{Beachten Sie:} Nicht alle \Email{}-Programme unterstützen diese Funktion. Es geht aber natürlich auch manuell: Sollte sich kein neues \Email{}-Fenster öffnen, so beenden Sie den %TODO: Oder heißt es Schlüsselpaar-erstellungs-Assistent? Assistenten, speichern Ihren öffentlichen %TODO: In Kleo evtl auf Schlüssel exportieren ändern? Schlüssel durch \Menu{Datei$\rightarrow$Zertifikat exportieren} und versenden diese Datei per \Email{} an Ihre Korrespondenzpartner. \item[Zertifikate zu Zertifikatsserver senden...]~\\ Wie Sie einen weltweit verfügbaren OpenPGP-Zertifikatsserver in Kleopatra einrichten und wie Sie anschließend Ihr öffentliches Zertifikat auf diesem Server veröffentlichen, erfahren Sie in Kapitel~\ref{ch:keyserver}. \end{description} Ihr OpenPGP-Schlüsselpaar ist damit fertig erstellt. Beenden Sie anschließend den Kleopatra-Assistenten mit \Button{Fertigstellen}. \clearpage \textbf{Damit ist die Erzeugung Ihres OpenPGP-Schlüsselpaares abgeschlossen. Sie besitzen nun einen einzigartigen elektronischen Schlüssel.} Sie befinden sich nun wieder im Hauptfenster von Kleopatra. Den soeben erzeugten OpenPGP-Schlüssel finden Sie in der Übericht: % screenshot: Kleopatra with new openpgp certificate \htmlattributes*{img}{width=508} \IncludeImage[width=0.85\textwidth]{sc-kleopatra-withOpenpgpTestkey_de} Doppelklicken Sie auf Ihren neuen Schlüssel, um alle Details sehen zu können: % screenshot: details of openpgp certificate \IncludeImage[width=0.85\textwidth]{sc-kleopatra-openpgp-certificateDetails_de} Was bedeuten die einzelnen Details? Ihr Schlüssel ist unbegrenzt gültig, d.h. es hat kein "`eingebautes Verfallsdatum"'. Um die Gültigkeit nachträglich zu verändern, klicken Sie auf \Button{Ablaufdatum ändern}. \textbf{Weitere Details zum Schlüssel finden Sie im Kapitel~\ref{ch:CertificateDetails}.} \clearpage \section{X.509-Zertifikat erstellen} \label{createKeyPairX509} \index{X.509!Zertifikat erstellen} \T\marginSmime Klicken Sie im Schlüsselpaar-Auswahldialog von Seite~\pageref{chooseCertificateFormat} auf die Schaltfläche\\ \Button{Persönliches X.509-Schlüsselpaar und Beglaubigungs-Anfrage erstellen}. Geben Sie im nun folgenden Fenster Ihren Namen (CN = common name), Ihre \Email{}-Adresse (EMAIL), Ihre Organisation (O = organization) und Ihren Ländercode (C = country) an. Optional können Sie noch Ort (L = locality) und Abteilung (OU = organizational unit) ergänzen. Wenn Sie die X.509-Schlüsselpaar-Erzeugung zunächst einmal \textbf{testen} wollen, dann machen Sie beliebige Angaben für Name, Organisation sowie Ländercode und geben irgendeine ausgedachte \Email{}-Adresse ein, z.B.: \Filename{CN=Bob,O=Test,C=DE,EMAIL=bob@gpg4win.de} % screenshot: New X.509 Certificate - Personal details \IncludeImage[width=0.85\textwidth]{sc-kleopatra-x509-personalDetails_de} Die \textbf{erweiterten Einstellungen} benötigen Sie nur in Ausnahmefällen. Sie können sich im Kleopatra-Handbuch (über \Menu{Hilfe$\rightarrow$Handbuch zu Kleopatra}) über die Details informieren. Klicken Sie auf \Button{Weiter}. \clearpage Es werden nun noch einmal alle wesentlichen Eingaben und Einstellungen zur \textbf{Kontrolle} aufgelistet. Falls Sie sich für die (vorbelegten) Experten-Einstellungen interessieren, können Sie diese über die Option \Menu{Alle Details} einsehen. % screenshot: New X.509 Certificate - Review Parameters \IncludeImage[width=0.85\textwidth]{sc-kleopatra-x509-reviewParameters_de} Wenn alles korrekt ist, klicken Sie auf \Button{Schlüssel erzeugen}. Jetzt folgt der wichtigste Teil: die Eingabe Ihrer \textbf{Passphrase}! Das Vorgehen ist analog zu OpenPGP aus dem vorherigen Abschnitt \ref{createKeyPairOpenpgp}. \clearpage %Jetzt folgt der wichtigste Teil: die Eingabe Ihrer \textbf{Passphrase}! %Für die Schlüsselpaarerzeugung werden Sie aufgefordert, Ihre %Passphrase einzugeben: % screenshot: New X.509 certificate - pinentry %\IncludeImage[width=0.45\textwidth]{sc-kleopatra-x509-pinentry_de} %Wenn Sie Kapitel~\ref{ch:passphrase} gelesen haben, dann sollten Sie %jetzt eine einfach zu merkende und schwer zu knackende geheime %Passphrase parat haben. Geben Sie sie in den oben gezeigten Dialog %ein! %Beachten Sie bitte, dass dieses Fenster unter Umständen im Hintergrund %geöffnet wurde und damit auf den ersten Blick nicht sichtbar ist. %Wenn die Passphrase nicht sicher genug ist, weil sie zu kurz ist oder %keine Zahlen oder Sonderzeichen enthält, werden Sie darauf %hingewiesen. %Auch an dieser Stelle können Sie ­-- wenn Sie wollen ­-- zunächst eine %\textbf{Test-Passphrase} eingeben oder auch gleich "`Ernst machen"'. %Um sicherzugehen, dass Sie sich nicht vertippt haben, müssen Sie Ihre geheime %Passphrase zweimal eingeben. Abschließend werden Sie noch ein drittes %Mal aufgefordert, Ihre Passphrase einzugeben: Sie signieren dabei Ihre %Zertifikatsanfrage\index{Zertifikatsanfrage} an die zuständige %Beglaubigungsinstanz. Bestätigen Sie Ihre Eingaben jeweils mit %\Button{OK}. %\clearpage %Nun wird Ihr X.509-Schlüsselpaar angelegt: % screenshot: New X.509 Certificate - Create Key %\IncludeImage[width=0.85\textwidth]{sc-kleopatra-x509-createKey_de} %Dies kann u.U. einige Minuten dauern. Sie können die Erzeugung der %benötigten Zufallszahlen unterstützen, indem Sie im unteren Eingabefeld %irgendetwas eingeben. Was Sie dort tippen, spielt keine Rolle: was %Sie schreiben, wird nicht verwendet, nur die Zeitspannen zwischen den %einzelnen Tastendrücken. Sie können auch mit einer anderen Anwendung %Ihres Rechner weiterarbeiten und erhöhen damit ebenfalls leicht die %Qualität des erzeugten Schlüsselpaars. %\clearpage Sobald die \textbf{Schlüsselpaarerzeugung erfolgreich} abgeschlossen ist, erhalten Sie folgenden Dialog: % screenshot: New X.509 certificate - key successfully created \IncludeImage[width=0.85\textwidth]{sc-kleopatra-x509-keyPairCreated_de} Die nächsten Schritte werden durch die beiden folgenden Schaltflächen ausgelöst: \begin{description} \item[Anfrage in Datei speichern...]~\\ Geben Sie hier den Pfad an, unter dem Ihre X.509-Zertifikatsanfrage gesichert werden soll, und bestätigen Sie Ihre Eingabe. Kleopatra fügt beim Speichern automatisch die Dateiendung \Filename{.p10} hinzu. Diese Datei kann später an eine Beglaubigungsinstanz (kurz CA für Certificate Authority\index{Certificate Authority (CA)}) gesendet werden. Etwas weiter unten weisen wir Sie auf cacert.org hin, eine nicht kommerzielle Beglaubigungsinstanz (CA), die kostenlos X.509-Zertifikate ausstellt. \item[Anfrage per \Email{} versenden...]~\\ Es wird eine neue \Email{} erstellt -- mit der soeben erstellten Zertifikatsanfrage im Anhang. Geben Sie eine Empfänger-\Email{}-Adresse an -- in der Regel die Ihrer zuständigen Beglaubigungsinstanz -- und ergänzen Sie ggf. den vorbereiteten Text dieser \Email{}. \textbf{Beachten Sie:} Nicht alle \Email{}-Programme unterstützen diese Funktion. Es geht aber natürlich auch manuell: Sollte sich kein neues \Email{}-Fenster öffnen, dann speichern Sie Ihre Anfrage zunächst in eine Datei (siehe oben) und versenden diese Datei per \Email{} an Ihre Beglaubigungsinstanz (Certificate Authority, CA). Sobald die Anfrage von der CA bearbeitet wurde, erhalten Sie von Ihrem zuständigen CA-Systemadministrator das fertige und von der CA unterzeichnete X.509-Zertifikat. Dieses müssen Sie dann nur noch in Kleopatra importieren (vgl. Kapitel \ref{ch:ImExport}). \end{description} Beenden Sie anschließend den Kleopatra-Assistenten mit \Button{Fertigstellen}. \clearpage \subsubsection{Erstellung eines X.509-Zertifikats mit www.cacert.org} CAcert\index{CAcert} ist eine nicht kommerzielle Beglaubigungsinstanz (CA), die kostenlos X.509-Zertifikate ausstellt. Damit wird eine Alternative zu den kommerziellen Root-CAs geboten, die zum Teil recht hohe Gebühren für ihre Zertifikate erheben. Damit Sie sich ein (Client-)Zertifikat bei CAcert erstellen können, müssen Sie sich zunächst bei \uniurl[www.cacert.org]{http://www.cacert.org} registrieren. Sofort anschließend können Sie ein oder mehrere Client-Zertifikat(e) auf cacert.org erstellen: Sie sollten dabei auf eine ausreichende Schlüssellänge (z.B. 2048 Bit) achten. Im dortigen Web-Assistenten legen Sie Ihre sichere Pass\-phrase für Ihr Zertifikat fest. Ihr Client-Zertifikat wird nun erstellt. Im Anschluss daran erhalten Sie eine \Email{} mit zwei Links zu Ihrem neu erstellten X.509-Zertifikat und dem dazugehörigen CAcert-Root-Zertifikat. Laden Sie sich beide Zertifikate herunter. Folgen Sie den Anweisungen und installieren Sie Ihr Zertifikat in Ihrem Browser. Bei Firefox können Sie danach z.B. über \Menu{Bearbeiten$\rightarrow$Einstellungen$\rightarrow$Erweitert$\rightarrow$Zertifikate} Ihr installiertes Zertifikat unter dem ersten Reiter "`Ihre Zertifikate"' mit dem Namen (CN) \textbf{CAcert WoT User} finden. Sie können nun ein persönliches X.509-Zertifikat ausstellen, das Ihren Namen im CN-Feld trägt. Dazu müssen Sie Ihren CAcert-Account von anderen Mitgliedern des CACert-Web-of-Trust beglaubigen lassen. Wie Sie eine derartige Bestätigung in die Wege leiten, erfahren Sie auf den Internetseiten von CAcert. Speichern Sie abschließend eine Sicherungskopie Ihres persönlichen X.509-Zerti\-fikats. Die Sicherungskopie erhält automatisch die Endung \Filename{.p12}. \textbf{Achtung:} Diese \Filename{.p12} Datei enthält Ihren öffentlichen \textit{und} Ihren geheimen Schlüssel. Achten Sie daher unbedingt darauf, dass diese Datei nicht in fremde Hände gelangt. Wie Sie Ihr persönliches X.509-Zertifikat in Kleopatra importieren, erfahren Sie in Kapitel \ref{ch:ImExport}. \clearpage \chapter{Schnellstart mit Übungen für OpenPGP} \label{ch:quickstart} \label{ch:decrypt} In den folgenden zwei Unterkapiteln werden Ihnen zwei Anleitungen für einen Schnelleinstieg in die wichtigsten Funktionen gegeben. Sie werden lernen, wie man Dateien und \Email{}s ver- und entschlüsselt. \section{Dateiverschlüsselung} \label{sec:quickfileencryption} \index{Datei!verschlüsseln} Dateien lassen sich, wie \Email{}s, signieren und verschlüsseln. Das sollten Sie im folgenden Abschnitt mit GpgEX und Kleopatra einmal durchspielen. Selektieren Sie eine (oder mehrere) Datei(en), öffnen Sie mit der rechten Maustaste das Kontextmenü und wählen Sie hier \Menu{Signieren und verschlüsseln} aus: % screenshot GpgEX contextmenu sign/encrypt \IncludeImage[width=0.5\textwidth]{sc-gpgex-contextmenu-signEncrypt_de} \clearpage Sie erhalten diesen Dialog zum Signieren/Verschlüsseln einer Datei: %TODO: neuer Screenshot (cancel) % screenshot kleopatra encrypt file, step 1 \IncludeImage[width=0.85\textwidth]{sc-kleopatra-encryptFile1_de} Für wen soll die Datei verschlüsselt werden? Wählen Sie im folgenden Dialog einen oder mehrere Empfänger-Schlüssel aus. Lassen Sie aber unbedingt die Option \Menu{Für mich verschlüsseln} aktiv. Wie sie weitere Einstellungen ändern, können Sie unter Abschnitt \ref{sec_signFile} nachschlagen. Klicken Sie abschließend auf \Button{Signieren / Verschlüsseln}. Geben Sie nun Ihre geheime Passphrase ein. \clearpage Nach erfolgreicher Verschlüsselung sollte Ihr Ergebnisfenster etwa so aussehen: %TODO: Neuer Screenshot (Cancel/Finish) % screenshot kleopatra encrypt file, step 3: successful \IncludeImage[width=0.85\textwidth]{sc-kleopatra-encryptFile3_de} Das war's! Sie haben Ihre Datei erfolgreich verschlüsselt! \clearpage \subsubsection{Datei entschlüsseln} \index{Datei!entschlüsseln} Nun kann die zuvor verschlüsselte Datei zum Testen einmal entschlüsselt werden. Dazu sollten Sie vorher beim Verschlüsseln auch mit Ihrem eigenen Schlüssel verschlüsselt haben -- andernfalls können Sie die Datei nicht mit Ihrem geheimen Schlüssel entschlüsseln. Selektieren Sie die verschlüsselte Datei und wählen Sie im Kontextmenü des Windows-Explorers den Eintrag \Menu{Entschlüsseln und prüfen}: % screenshot contextmenu verifiy/decrypt \IncludeImage[width=0.5\textwidth]{sc-gpgex-contextmenu-verifyDecrypt_de} \clearpage Im folgenden Entschlüsselungsdialog können Sie bei Bedarf noch den Ausgabe-Ordner verändern. % screenshot kleopatra decrypt file, step 1 \IncludeImage[width=0.85\textwidth]{sc-kleopatra-decryptFile1_de} Klicken Sie abschließend auf \Button{Entschlüsseln/Prüfen}. Geben Sie anschließend Ihre Passphrase ein. Sie sollten nun die entschlüsselte Datei problemlos lesen oder mit einem entsprechenden Programm verwenden können. \clearpage \section{\Email{}-Verschlüsselung} \label{sec:mailEncryption} Ihr Partner bei diesen Übungen wird \textbf{Edward} sein. Edward ist ein Testservice, der von der Free Software Foundation betrieben wird. Wir bedanken uns bei der Free Software Foundation für den Betrieb von Edward. Der Vorgänger von Edward baut auf dem Projekt GnuPP\index{GnuPP} auf und hörte auf dem Namen \textbf{Adele}. Dieser Name wird in diesem Abschnitt weiterhin verwendet. Das Gpg4win-Team hat keinen Einfluss auf den Betrieb von Adele/Edward und kann nicht gewährleisten, dass der Testservice antwortet. Sollte es Probleme mit Adele geben, schauen Sie bitte unter \url{https://wiki.gnupg.org/EmailExercisesRobot} nach. Mit Hilfe von Adele können Sie Ihr erzeugtes OpenPGP-Schlüsselpaar ausprobieren und testen. Nachdem Sie Ihren Schlüssel erstellt haben, wollen Sie direkt loslegen. Sie können das Prozedere zunächst mit einem freundlichen \Email{}-Roboter üben. Adele soll Ihnen dabei behilflich sein. Die folgenden Übungen gelten nur für OpenPGP. Anmerkungen zum Veröffentlichen von öffentlichen X.509-Zertifikaten finden Sie auf Seite~\pageref{publishPerEmailx509}. \textbf{Adele} ist ein sehr netter \Email{}-Roboter, mit dem Sie zwanglos korrespondieren können. Bitte beachten Sie, dass Adele eventuell nicht immer antwortet. Falls Sie nicht antwortet, üben Sie lieber mit einem Menschen. Weil man gewöhnlich mit einer klugen und netten jungen Frau lieber korrespondiert als mit einem Stück Software (was er in Wirklichkeit natürlich ist), können Sie sich Adele so vorstellen: % Cartoon: Adele mit Buch in der Hand vor Rechner ``you have mail"' \IncludeImage[width=0.5\textwidth]{adele01} Um mit Adele zu kommunizieren, müssen Sie ihr Ihren öffentlichen Schlüssel per \Email{} schicken. Außerdem müssen Sie Adeles Schlüssel importieren, um Adele eine verschlüsselte \Email{} zu senden. \textbf{Um sichere \Email{}s austauschen zu können, müssen beide Partner jeweils den öffentlichen Schlüssel des anderen besitzen und benutzen.} \index{Zertifikat!exportieren} Um Ihren Schlüssel zu exportieren selektieren Sie in Kleopatra den öffentlichen Schlüssel (durch Klicken auf die entsprechende Zeile in der Liste der Schlüssel) und klicken Sie dann auf \Menu{Datei$\rightarrow$Schlüssel exportieren...} im Menü. Wählen Sie einen geeigneten Dateiort\index{Signatur!prüfen mit GpgOL} Um Adeles Schlüssel zu erhalten, müssen Sie zunächst Adeles Schlüssel importieren, denn ohne Adeles öffentlichen Schlüssel, können Sie ihr keine verschlüsselten \Email{}s senden. Wählen Sie im Kleopatra-Fenster die Schaltfläche \Button{Auf Server Suchen}. Geben Sie in die Suchfläche die \Email{}-Adresse von Adele ein (\texttt{edward-de@fsf.org}) und bestätigen Sie Ihre Suche. Unter den Suchergebnissen wählen Sie nun den Schlüssel mit den Schlüssel-ID \texttt{C09A61E8}. Abschließend wählen Sie unten im Fenster die Schaltfläche \Button{Importieren}. %TODO: Neuer Screenshot (Close) \IncludeImage[width=0.7\textwidth]{sc-kleopatra-searchKeyEdward_de} Den Anschließenden Dialog zur Schlüsselverfikation verlassen Sie mit \Menu{Nein}. Mehr zu diesem Thema finden Sie in Abschnitt \ref{ch:checkkey}. Öffnen Sie eine neue \Email{} und füllen Sie etwas in die Betreffzeile, wie \glqq{}Verschlüsselungstest\grqq{}. Fügen Sie als Anhang den gerade exportierten Schlüssel hinzu und achten Sie darauf, dass das Verschlüsseln-Symbol aktiv ist. Geben Sie als Zieladresse \texttt{edward-de@fsf.org} an und senden Sie die \Email{} ab. Nach einigen Minuten sollten Sie eine verschlüsselte Antwort von Adele erhalten. Diese Antwort von Adele entschlüsseln Sie mit Ihrem eigenen geheimen Schlüssel. Adele verhält sich also genau wie ein richtiger Korrespondenzpartner. Allerdings sind Adeles \Email{}s leider bei weitem nicht so interessant, wie die Ihrer echten Korrespondenzpartner. Andererseits können Sie mit Adele so oft üben, wie Sie wollen -- was Ihnen ein menschlicher Adressat wahrscheinlich irgendwann ziemlich übel nehmen würde. Herzlichen Glückwunsch! Sie haben erfolgreich verschlüsselt kommuniziert! \T\enlargethispage{\baselineskip} \clearpage \chapter{Öffentliche Schlüssel importieren} In Kapitel \ref{ch:decrypt} wurde bereits kurz erläutert, wie man einen öffentlichen Schlüssel von einem Schlüsselserver importiert. Wenn Sie nun mit einer Person kommunizieren wollen, die ihren öffentlichen Schlüssel nicht auf einem Schlüsselserver hat, so müssen Sie diesen Schlüssel auf anderen Wegen importieren. In diesem Kapitel werden die beiden Möglichkeiten beschrieben, wie Sie einen Schlüssel importieren können. Falls Sie sich im speziellen für das Importieren eines geheimen Schlüssels interessieren, springen Sie direkt zu Kapitel \ref{ch:ImExport}. Nach einem Schlüsselimport werden Sie immer gefragt ob und wie sie diesem Schlüssel vertrauen wollen. Diesen Dialog können Sie für Zunächst ignorieren und mit \Menu{Nein} verlassen. Auf Dieses Thema gehen wir näher im kommenden Abschnitt \ref{ch:checkkey} ein. \section{Importieren aus Datei} \label{sec_importfromfile} Zum Importieren eines zuvor exportierten oder als \Email{}-Anhang zugesendeten öffentlichen Schlüssels, klicken Sie auf %TODO: Oder Schlüssel importieren? Oder generell "importieren" - Dann in Kleo ändern \Menu{Datei $\to$ Zertifikat importieren...} und wählen Sie die zu importierende Datei aus. Anschließend erhalten Sie einen Ergebnisdialog über den erfolgten Schlüsselimport. %TODO: Bild machen %TODO: Kören von Was ein Bild zu machen ist %Ein Beispiel für ein solches %Informationsfenster finden Sie nach dem folgenden Absatz. %Handelt es sich um eine PKCS12-Datei (z.B. vom Typ \texttt{.p12}), so werden %Sie %zunächst nach der Passphrase zum Entsperren des geheimen Schlüssels gefragt. %\IncludeImage[width=0.4\textwidth]{sc-pinentry-p12-import-a_de} %Setzen Sie nun eine Passphrase, gegebenenfalls auch eine neue, mit der nach dem %Importvorgang Ihr geheimer Schlüssel geschützt werden soll. %\IncludeImage[width=0.4\textwidth]{sc-pinentry-p12-import-b_de} %Wiederholen Sie Ihre Passphrase-Eingabe. %\newpage %Nach dem importieren sehen Sie ein Informationsfenster, dass Ihnen die %Ergebnisse des Importvorgangs auflistet; hier am Beispiel eines geheimen %OpenPGP-Schlüssels. %\IncludeImage[width=0.4\textwidth]{sc-kleopatra-import-openpgp-secret-key_de} %Kleopatra hat damit den Schlüssel exportiert. Wenn es ein geheimer Schlüssel %TODO: oder Schlüssel? - Dann auch in Kleo ändern %war, finden Sie Ihn unter dem Reiter \glqq{}Meine Zertifikate\grqq{} in der %TODO: Oder Schlüsselverwaltung? - Dann auch in Kleo ändern %Zertifikatsverwaltung. \clearpage \section{Importieren vom Schlüsselserver} \label{sec_importfromkeyserver} %Um einen Schlüssel von einem Schlüsselserver zu importieren, müssen wir %zunächst einen Schlüsselserver hinzufügen. Dies richten wir zunächst für %OpenPGP-Schlüssel ein. Im kommenden Abschnitt wird näher auf S/MIME %eingegangen. %TODO: Screenhot machen udn die beiden Fenster erklären %TODO: keys.gnupg.net ist per Default nach Installation eingerichtet! %Bitte testen und beschreiben. Es gibt viele öffentliche Schlüsselserver, die alle untereinander synchronisiert sind. Diese sind zu einem Kollektiv unter der Adresse \texttt{keys.gnupg.net} erreichbar. Nach der Installation ist dieses bereits ein Schlüsselserver hinterlegt. Um einen anderen Server als Schlüsselserver hinzuzufügen, öffnen Sie das Schlüsselserver-Menü \Menu{Einstellungen $\to$ Kleopatra einrichten ...} und wählen Sie dort \Menu{Schlüsselserver}. Fügen Sie über die Schaltfläche \Menu{Neu} einen neuen Eintrag in die Liste hinzu. Dort erscheint nun ein vorkonfigurierter Eintrag für \texttt{keys.gnupg.net}. Diese Einstellung kann mit \Menu{OK} bestätigt werden. %TODO: erst Schlüsselserver hinzufügen, dann suche. Bei Schlüsselserver auf OPenPGP und SMIME unterscheiden. Weitere Informationen zu diesem Thema finden Sie unter Kapitel \ref{ch:keyserver}. \textbf{Herzlichen Glückwunsch!} - Sie haben erfolgreich einen Schlüsselserver eingerichtet und können nun über die Schaltfläche \Button{Auf Server suchen} nach Namen oder \Email{}-Adressen von Kommunikationspartnern suchen. %\clearpage \chapter{Öffentliche Schlüssel prüfen} \label{ch:checkkey} \label{ch:trust} Woher wissen Sie eigentlich, dass der fremde (öffentliche) Schlüssel wirklich vom genannten Absender stammt? Und umgekehrt -- warum sollte Ihr Korrespondenzpartner glauben, dass der öffentliche Schlüssel, den Sie ihm geschickt haben, auch wirklich von Ihnen stammt? Die Absenderangabe auf einer \Email{} besagt eigentlich gar nichts, genauso wie die Absenderangabe auf einem Briefumschlag. Wenn Ihre Bank z.B. eine \Email{} mit Ihrem Namen und der Anweisung erhält, Ihr sämtliches Guthaben auf ein Nummernkonto auf den Bahamas zu überweisen, wird sie sich hoffentlich weigern -- \Email{}-Adresse hin oder her. Eine \Email{}-Adresse besagt überhaupt nichts über die Identität des Absenders. \subsubsection{Der Fingerabdruck} \index{Fingerabdruck} Wenn Sie nur einen kleinen Kreis von Korrespondenzpartnern haben, ist die Sache mit der Identität schnell geregelt: Sie prüfen den Fingerabdruck des anderen Schlüssels. Jeder Schlüssel trägt eine einmalige Kennzeichnung, die es zweifelsfrei identifiziert; besser noch als ein Fingerabdruck eines Menschen. Deshalb bezeichnet man diese Kennzeichnung ebenfalls als "`Fingerabdruck"'. Wenn Sie sich die Details eines Schlüssels in Kleopatra anzeigen lassen, z.B. durch Doppelklick auf den Schlüssel, sehen Sie u.a. dessen 40-stelligen Fingerabdruck: % screenshot: Kleopatra key details with fingerprint %TODO: neuer Screenshot (Cancel) \IncludeImage[width=0.85\textwidth]{sc-kleopatra-openpgp-certificateDetails_de} ~\\ Wie gesagt -- der Fingerabdruck identifiziert den Schlüssel und seinen Besitzer eindeutig. Rufen Sie Ihren Korrespondenzpartner einfach an und lassen Sie sich von ihm den Fingerabdruck seines Schlüssels vorlesen. Wenn die Angaben mit dem Ihnen vorliegenden Schlüssel übereinstimmen, haben Sie eindeutig den richtigen Schlüssel. Natürlich können Sie sich auch persönlich mit dem Eigentümer des Schlüssels treffen oder auf einem anderen Wege sicherstellen, dass Schlüssel und Eigentümer zusammen gehören. Häufig ist der Fingerabdruck auch auf Visitenkarten abgedruckt; wenn Sie also eine garantiert authentische Visitenkarte haben, so können Sie sich den Anruf ersparen. \subsubsection{OpenPGP-Schlüssel beglaubigen} \index{Zertifikat!beglaubigen} %\T\marginOpenpgp Nachdem Sie sich "`per Fingerabdruck"' von der Echtheit des Schlüssels überzeugt haben, können Sie ihn beglaubigen -- allerdings nur in OpenPGP. Bei X.509 können Benutzer keine Schlüssel beglaubigen -- das bleibt den Beglaubigungsinstanzen (CAs) vorbehalten. Durch das Beglaubigen eines Schlüssels teilen Sie anderen (Gpg4win-)Benutzern mit, dass Sie diesen Schlüssel für echt -- also authentisch -- halten: Sie übernehmen so etwas wie die "`Patenschaft"' für diesen Schlüssel und erhöhen das allgemeine Vertrauen in seine Echtheit. ~\\ \textbf{Wie funktioniert das Beglaubigen nun genau?}\\ Selektieren Sie in Kleopatra den OpenPGP-Schlüssel, den Sie für echt halten und beglaubigen möchten. Wählen Sie anschließend im Menü: \Menu{Zertifikate$\rightarrow$Schlüssel beglaubigen...} \clearpage Im nachfolgenden Dialog bestätigen Sie nun noch einmal den zu beglaubigenden OpenPGP-Schlüssel und den Fingerabdruck mit \Button{Weiter}: % screenshot: Kleopatra certify certificate 1 % TODO: Neuer Screenshot (Cancel Next) \IncludeImage[width=0.85\textwidth]{sc-kleopatra-certifyCertificate1_de} Im nächsten Schritt wählen Sie Ihren eigenen OpenPGP-Schlüssel aus, mit dem Sie den im letzten Schritt ausgewählten Schlüssel beglaubigen wollen: % screenshot: Kleopatra certify certificate 2 % TODO: Neuer Screenshot (Cancel) \IncludeImage[width=0.85\textwidth]{sc-kleopatra-certifyCertificate2_de} Entscheiden Sie hier, ob Sie \Button{Nur für mich selbst beglaubigen} oder \Button{Für alle sichtbar beglaubigen} wollen. Bei letzterer Variante haben Sie die Option, den beglaubigten Schlüssel anschließend auf einen OpenPGP-Schlüsselserver hochzuladen und damit der Welt einen mit Ihrer Beglaubigung versehenen, aktualisierten Schlüssel zur Verfügung zu stellen. Bestätigen Sie Ihre Auswahl mit \Button{Beglaubigen}. Wie beim Signieren einer \Email{} müssen Sie auch beim Beglaubigen eines Schlüssel (mit Ihrem privaten Schlüssel) Ihre Passphrase eingeben. Erst nach korrekter Eingabe ist die Beglaubigung abgeschlossen. Nach erfolgreicher Beglaubigung erhalten Sie folgendes Fenster: % screenshot: Kleopatra certify certificate 3 \IncludeImage[width=0.85\textwidth]{sc-kleopatra-certifyCertificate3_de} %~\\ Wollen Sie die erfolgte Beglaubigung nun einmal prüfen?\\ Dann %öffnen Sie die Schlüsseldetails des eben beglaubigten Schlüssels. % TODO: Dieses Feature mit 3.0 entfallen?? %Wählen Sie den Reiter %\Menu{Benutzer-Kennungen und % Beglaubigungen} und klicken Sie auf die Schaltfläche \Button{Hole % Beglaubigungen ein}. %Sortiert nach den Benutzerkennungen sehen Sie alle Beglaubigungen, %die in diesem Schlüssel enthalten sind. Hier sollten Sie auch Ihren Schlüssel %wiederfinden, mit dem Sie soeben beglaubigt haben. \clearpage \subsubsection{Das Netz des Vertrauens in OpenPGP} \index{Netz des Vertrauens|see{Web of Trust}} \index{Web of Trust} %\T\marginOpenpgp Durch das Beglaubigen von Schlüsseln entsteht -- auch über den Kreis von Gpg4win-Benutzern und Ihre täglichen Korrespondenz hinaus -- ein "`Netz des Vertrauens"' ("`Web of Trust"', WoT), bei dem Sie nicht mehr zwangsläufig darauf angewiesen sind, ein OpenPGP-Schlüssel direkt auf Echtheit (Autentizität) zu prüfen. \htmlattributes*{img}{width=300} \IncludeImage[width=0.85\textwidth]{key-with-sigs} Natürlich steigt das Vertrauen in einen Schlüssel, wenn mehrere Leute es beglaubigen. Ihren eigenen OpenPGP-Schlüssel wird im Laufe der Zeit die Beglaubigungen vieler anderer GnuPG-Benutzer tragen. Damit können immer mehr Menschen darauf vertrauen, dass dieser Schlüssel wirklich Ihnen und niemandem sonst gehört. Wenn man dieses "`Web of Trust"' weiterspinnt, entsteht eine flexible Beglaubigungs-Infra\-struktur. Eine einzige Möglichkeit ist denkbar, mit der man diese Schlüsselprüfung aushebeln kann: Jemand schiebt Ihnen einen falschen Schlüssel unter. Also einen öffentlichen OpenPGP-Schlüssel, der vorgibt, von X zu stammen, in Wirklichkeit aber von Y ausgetauscht wurde. Wenn ein solcher gefälschter Schlüssel beglaubigt wird, hat das "`Netz des Vertrauens"' natürlich ein Loch. Deshalb ist es so wichtig, sich zu vergewissern, ob ein Schlüssel wirklich zu der Person gehört, der es zu gehören vorgibt, bevor man es beglaubigt. Was aber, wenn eine Bank oder Behörde prüfen möchte, ob die Schlüssel ihrer Kunden echt sind? Alle anzurufen kann hier sicher nicht die Lösung sein~... \clearpage \subsubsection{Beglaubigungsinstanzen bei X.509} \index{Beglaubigungsinstanzen} \index{Certificate Authority (CA)} Hier braucht man eine "`übergeordnete"' Instanz, der alle Benutzer vertrauen können. Sie prüfen ja auch nicht persönlich den Personalausweis eines Unbekannten durch einen Anruf beim Ein\-wohner\-melde\-amt, sondern vertrauen darauf, dass die ausstellende Behörde diese Überprüfung korrekt durchgeführt und beglaubigt hat. %\T\marginOpenpgp Solche Beglaubigungsinstanzen gibt es auch für OpenPGP-Schlüssel. In Deutschland bietet unter anderem z.B. die Zeitschrift c't schon lange einen solchen Dienst kostenlos an, ebenso wie viele Universitäten. Wenn man also einen OpenPGP-Schlüssel erhält, der durch eine solche Beglaubigungsinstanz per Beglaubigung seine Echtheit bestätigt, sollte man sich darauf verlassen können. \T\marginSmime Derartige Beglaubigungsinstanzen oder "`Trust Center"' sind auch bei anderen Verschlüsselungsverfahren -- wie z.B. S/MIME -- vorgesehen. Im Gegensatz zum ,,Web of Trust'' sind sie hierarchisch strukturiert: Es gibt eine "`Oberste Beglaubigungsinstanz"', die weitere "`Unterinstanzen"' beglaubigt und ihnen das Recht gibt, Benutzerzertifikate zu beglaubigen (vgl. Kapitel~\ref{ch:openpgpsmime}). Am besten ist diese Infrastruktur mit einem Siegel vergleichbar: Die Plakette auf Ihrem Autonummernschild kann Ihnen nur eine dazu berechtigte Institution geben, die die Befugnis dazu wiederum von einer übergeordneten Stelle erhalten hat. Technisch ist eine Beglaubigung \index{Beglaubigung} nichts anderes als eine Signatur eines Schlüssels durch den Beglaubigenden. Die hierarchischen Beglaubigungs-Infrastrukturen entsprechen natürlich wesentlich besser den Bedürfnissen staatlicher und behördlicher Instanzen als das lose, auf gegenseitigem Vertrauen beruhende "`Web of Trust"' von GnuPG. Der Kern der Beglaubigung selbst ist allerdings völlig identisch: Gpg4win unterstützt neben dem "`Web of Trust"' (OpenPGP) zusätzlich auch eine hierarchische Beglaubigungsstruktur (S/MIME). Demnach bietet Gpg4win eine Grundlage, um dem Signaturgesetz\index{Signaturgesetz} der Bundesrepublik Deutschland zu entsprechen. \T\ifthenelse{\boolean{DIN-A5}}{\newpage}{} Wenn Sie sich weiter für dieses Thema interessieren, dann können Sie sich z.B. bei folgenden Webadressen über dieses und viele andere IT-Sicherheits-Themen informieren: \begin{itemize} \item \uniurl[www.bsi.bund.de]{http://www.bsi.bund.de} \item \uniurl[www.bsi-fuer-buerger.de]{http://www.bsi-fuer-buerger.de} \item \uniurl[www.gpg4win.de]{http://www.gpg4win.de} \end{itemize} Eine weitere, eher technische Informationsquelle zum Thema der Beglaubigungsinfrastrukturen bietet das GnuPG-Handbuch, das Sie ebenfalls im Internet finden unter:\\ \uniurl[www.gnupg.org/gph/de/manual]{http://www.gnupg.org/gph/de/manual} \clearpage \chapter{\Email{}s signieren und verschlüsseln} \label{ch:emailsignandencrypt} \label{sec_encsig} Sie wissen: Normalerweise verschlüsseln Sie eine Nachricht mit Hilfe des öffentlichen Schlüssels Ihres Korrespondenzpartners, der dann mit seinem geheimen Schlüssel die \Email{} entschlüsselt. Die umgekehrte Möglichkeit -- Verschlüsselung mit dem geheimen Schlüssel -- macht keinen Sinn, weil alle Welt den dazugehörigen öffentlichen Schlüssel kennt und die Nachricht damit entschlüsseln könnte. Es gibt aber ein anderes Verfahren, um mit Ihrem geheimen Schlüssel eine Datei zu erzeugen: die Signatur. Solch eine digitale Signatur bestätigt eindeutig die Urheberschaft -- denn wenn jemand Ihren öffentlichen Schlüssel auf diese Datei (die Signatur) anwendet und diese Prüfung erfolgreich ist, so kann diese Datei nur von Ihrem privaten Schlüssel kodiert worden sein. Und zu dem dürfen ja nur Sie selbst Zugang haben. Sie können beide Möglichkeiten kombinieren, also eine \Email{} signieren und verschlüsseln: \begin{enumerate} \item Sie \textbf{signieren} die Botschaft mit Ihrem eigenen geheimen Schlüssel. Damit ist die Urheberschaft nachweisbar. \item Dann \textbf{verschlüsseln} Sie den Text mit dem öffentlichen Schlüssel des Korrespondenzpartners. \end{enumerate} Damit hat die Botschaft sozusagen zwei Sicherheitsmerkmale: \begin{enumerate} \item Ihr Siegel auf der Nachricht: die Signatur mit Ihrem geheimen Schlüssel. \item Einen soliden äußeren Umschlag: die Verschlüsselung mit dem öffentlichem Schlüssel des Korrespondenzpartners. \end{enumerate} \T\ifthenelse{\boolean{DIN-A5}}{\newpage}{} Ihr Korrespondenzpartner öffnet die äußere, starke Hülle mit seinem eigenen geheimen Schlüssel. Hiermit ist die Geheimhaltung gewährleistet, denn nur dieser Schlüssel kann den Text dekodieren. Das Siegel liest er mit Ihrem öffentlichem Schlüssel und hat den Beweis Ihrer Urheberschaft, denn wenn Ihr öffentlicher Schlüssel passt, kann das Siegel (die digitale Signatur) nur mit Ihrem geheimen Schlüssel kodiert worden sein. Sehr trickreich und~-- wenn man ein wenig darüber nachdenkt -- auch ganz einfach. Dieses Kapitel beschäftigt sich mit dem Signieren und Verschlüsseln von \Email{}s mit dem Outlook-Plugin GpgOL. \clearpage \section{\Email{}s signieren und verschlüsseln mit GpgOL} %Tatsächlich ist die Signierung einer \Email{} noch einfacher als die %Verschlüsselung (vgl. Kapitel~\ref{ch:encrypt}). Nachdem Sie eine neue %\Email{} verfasst haben, gehen Sie -- analog zur Verschlüsselung -- %folgende Schritte durch: %\begin{itemize} % \item Nachricht signiert versenden % \item Schlüssel auswählen % \item Signierung abschließen %\end{itemize} Das Signieren und Verschlüsseln einer \Email{} ist sehr einfach. Nachdem Sie eine neue \Email{} verfasst haben, gehen sie folgende Schritte durch: \begin{itemize} \item Nachricht signiert und verschlüsselt senden \item Schlüssel auswählen \item Signierung und Verschlüsselung abschließen \end{itemize} Auf den nächsten Seiten werden diese Schritte im Detail beschrieben. ~\\ Verfassen Sie zunächst in Outlook eine neue \Email{} und adressieren Sie diese an Ihren Korrespondenzpartner. Die Standardauswahl zum Signieren und Verschlüsseln ist bereits für Sie markiert. %Bevor Sie Ihre Nachricht abschicken, geben Sie noch an, dass Ihre %Nachricht signiert versendet werden soll: Dazu aktivieren Sie die %Schaltfläche mit dem signierenden Stift oder alternativ den %Menüeintrag \Menu{Format$\rightarrow$Nachricht signieren}. %Wenn Sie den Schlüssel ihrer Korrespondenzpartner bereits in Kleopatra %importiert haben, wählen Sie die %GpgOL-Schaltfläche zum Signieren/Verschlüsseln aus. Ihr \Email{}-Fenster sollte anschließend etwa so aussehen: % screenshot: OL composer with example address and body text %TODO: Screenshot neu machen \IncludeImage[width=0.85\textwidth]{sc-ol-sendSignedMail_de} Klicken Sie nun auf \Button{Senden}. \clearpage \subsubsection{Schlüsselauswahl} GpgOL erkennt automatisch, für welches Protokoll -- OpenPGP oder S/MIME -- Ihr eigner privater Schlüssel zum Signieren und Verschlüsseln vorliegt. Sollten Sie gleichzeitig einen eigenen OpenPGP-Schlüssel \textit{und} ein S/MIME-Zertifikat mit der gleichen \Email{}-Adresse besitzen, fragt Sie Kleopatra vor dem Signieren nach dem gewünschten Protokollverfahren, oder haben Sie vom gewählten Verfahren mehrere eigene Schlüssel (z.B. zwei OpenPGP-Schlüssel zu der gleichen \Email{}-Adresse), dann öffnet Kleopatra ein Fenster, in dem Ihre eigenen Schlüssel angezeigt werden, zu denen Ihnen jeweils ein geheimer Schlüssel vorliegt: % screenshot: kleopatra format choice dialog \IncludeImage[width=0.45\textwidth]{sc-kleopatra-format-choice_de} Bestätigen Sie Ihre Auswahl anschließend mit \Button{OK}. \clearpage \subsubsection{Signierung und Verschlüsselung abschließen} Um die Signierung und Verschlüsselung Ihrer \Email{} abzuschließen, werden Sie aufgefordert, im folgenden Pinentry-Fenster\index{Pinentry} Ihre geheime Passphrase einzugeben: % screenshot: kleopatra sign dialog 2 - choose certificate %TODO: Neuer Screenhot! \IncludeImage[width=0.5\textwidth]{sc-kleopatra-sign-OpenpgpPinentry_de} Dies ist notwendig, denn Sie wissen: \begin{quote} \textbf{Signieren können Sie nur mit Ihrem eigenen geheimen Schlüssel.} \end{quote} Logisch, denn nur Ihr geheimer Schlüssel bestätigt Ihre Identität. Der Kor\-res\-pon\-denz\-partner kann dann mit Ihrem öffentlichen Schlüssel, den er bereits hat oder sich besorgen kann, Ihre Identität prüfen und die \Email{} entschlüsseln. Denn nur Ihr geheimer Schlüssel passt zu Ihrem öffentlichem Schlüssel. Bestätigen Sie Ihre Passphrase-Eingabe mit \Button{OK}. Ihre Nachricht wird nun signiert, verschlüsselt und versendet. %TODO: Passwort-Caching erklären Ihnen wird vielleicht schon aufgefallen sein, dass Sie nicht jedes mal Ihre Passphrase erneut eingeben müssen. Sie wird im Hintergrund für einige Zeit gespeichert. \textbf{Herzlichen Glückwunsch! Sie haben Ihre erste \Email{} signiert und verschlüsselt!} \textit{Übrigens}: Sie können eine Nachricht auch nur signieren oder nur verschlüsseln. Klicken Sie dazu auf das GpgOL Symbol in der Nachricht. Der Ablauf ist analog zu dem hier beschriebenen. Es wird aber davon abgeraten, eine Nachricht nur zu verschlüsseln, da hierbei nicht die Urheberschaft der Nachricht geschützt wird. \clearpage \subsection{Signatur prüfen mit GpgOL} \index{Signatur!prüfen mit GpgOL} Angenommen, Sie erhalten eine signierte \Email{} Ihres Korrespondenzpartners. Die Überprüfung dieser digitalen Signatur ist sehr einfach. Alles, was Sie dazu brauchen, ist der öffentliche Schlüssel Ihres Korrespondenzpartners, den Sie vor der Überprüfung in Ihre Schlüsselverwaltung importiert haben sollten (vgl. Kapitel~\ref{sec_importfromfile}). Um eine signierte \Email{} zu prüfen, gehen Sie wie folgt vor: Starten Sie Outlook und öffnen Sie eine signierte \Email{}. GpgOL übergibt die \Email{} automatisch an Kleopatra zur Prüfung der Signatur. Kleopatra meldet das Ergebnis in einem Statusdialog, z.B.: % screenshot: Kleopatra - successfully verify dialog % TODO: Screenshot erneuern \IncludeImage[width=0.85\textwidth]{sc-kleopatra-verifySignedMail_de} Die Signaturprüfung war erfolgreich! %TODO: prüfen und ggf. anpassen Möchten Sie die Überprüfung noch einmal manuell aufrufen, so wählen Sie im Menü der geöffneten \Email{} \Menu{Extras$\rightarrow$GpgOL Entschlüsseln/Prüfen}. Sollte die Signaturprüfung fehlschlagen, ist das ein Warnsignal, dass Ihre \Email{} manipuliert sein könnte! D.h., jemand hat vielleicht den Inhalt oder den Betreff der \Email{} verändert. Allerdings muss eine gebrochene Signatur nicht zwangsläufig bedeuten, dass die \Email{} manipuliert wurde. Es ist ebenfalls nicht auszuschließen, dass die \Email{} durch eine fehlerhafte Übertragung verändert wurde. Nehmen Sie in jedem Fall eine gebrochene Signatur ernst und fordern Sie immer die \Email{} erneut beim Absender an! \clearpage \section{E-Mails signieren} \label{sec_emailsignonly} \label{ch:sign} \index{E-Mail!signieren} Sie haben in Kapitel~\ref{ch:trust} gelesen, wie Sie sich von der Echtheit eines öffentlichen Schlüssels überzeugen und es dann mit Ihrem eigenen geheimen Schlüssel signieren können. Dieser Abschnitt beschäftigt sich damit, wie Sie nicht nur einen Schlüssel, sondern auch eine komplette \textbf{\Email{} signieren} können. Das bedeutet, dass Sie die \Email{} mit einer digitalen Signatur versehen -- einer Art elektronischem Siegel. So "`versiegelt"' ist der Text dann zwar noch für jeden lesbar, aber der Empfänger kann feststellen, ob die \Email{} unterwegs manipuliert oder verändert wurde. Die Signatur garantiert Ihrem Empfänger, dass die Nachricht tatsächlich von Ihnen stammt. Und: Wenn Sie mit jemandem korrespondieren, dessen öffentlichen Schlüssel Sie nicht haben (aus welchem Grund auch immer), können Sie so die Nachricht wenigstens mit Ihrem eigenen privaten Schlüssel "`versiegeln"'. Sie haben sicher bemerkt, dass diese digitale Signatur\index{Signatur!digitale} nicht mit der \Email{}-"`Signatur"' identisch ist, die man manchmal unter eine \Email{} setzt und die z.B. Telefonnummer, Adresse und Webseite nennt. Während diese \Email{}-Signaturen einfach nur als eine Art Visitenkarte fungieren, schützt die digitale Signatur Ihre \Email{} vor Manipulationen und bestätigt den Absender eindeutig. Übrigens ist die digitale Signatur auch nicht mit der qualifizierten elektronischen Signatur\index{Signatur!qualifizierte elektronische} gleichzusetzen, wie sie im Signaturgesetz \index{Signaturgesetz} vom 22.~Mai 2001 in Kraft getreten ist. Für die private oder berufliche \Email{}-Kommunikation erfüllt sie allerdings genau denselben Zweck. % cartoon: Müller mit Schlüssel \htmlattributes*{img}{width=300} \T\ifthenelse{\boolean{DIN-A5}}{ \T\IncludeImage[width=0.5\textwidth]{man-with-signed-key} \T} \T{ \IncludeImage[width=0.35\textwidth]{man-with-signed-key} \T} \clearpage \section{\Email{}s verschlüsselt archivieren \htmlonly{\html{br}\html{br}}} \label{ch:archive} \index{E-Mail!verschlüsselt archivieren} Ihre wichtigen -- und daher möglicherweise verschlüsselten -- \Email{}s sollten Sie auch so archivieren: verschlüsselt. Natürlich können Sie einfach eine Klartext-Fassung Ihrer Texte aufbewahren, aber das wäre eigentlich nicht angebracht. Wenn Ihre Mitteilung geheimhaltungsbedürftig war, sollte sie auch nicht im Klartext auf Ihrem Rechner gespeichert sein. Sie sollten also stets Ihre verschlüsselt gesendeten \Email{}s auch \textit{verschlüsselt} aufbewahren! Sie ahnen das Problem: Zum Entschlüsseln Ihrer archivierten (versendeten) \Email{}s brauchen Sie aber den geheimen Schlüssel des Empfängers -- und den haben Sie nicht und werden ihn nie haben ... Also was tun? Ganz einfach: \textbf{Sie verschlüsseln zusätzlich auch an sich selbst!} Die Nachricht wird einmal für Ihren eigentlichen Korrespondenzpartner verschlüsselt und ein zweites Mal auch für Sie selbst (mit Hilfe Ihres öffentlichen Schlüssels). So können Sie die \Email{} später einfach mit Ihrem eigenen geheimen Schlüssel wieder lesbar machen. Jede verschlüsselte Nachricht wird von GpgOL automatisch auch an Ihren eigenen öffentlichen Schlüssel verschlüsselt. Dazu nutzt GpgOL Ihre Absender-\Email{}-Adresse. Sollten Sie mehrere Schlüssel zu einer Adresse besitzen, so müssen Sie sich beim Verschlüsselungsvorgang entscheiden, mit welchem Schlüssel verschlüsselt werden soll. \clearpage \subsubsection{Kurz zusammengefasst} Sie haben gelernt, wie Sie eine \Email{} mit Ihrem geheimen Schlüssel \textbf{signieren} -- und mit dem öffentlichen Schlüssel Ihres Korrespondenzpartners \textbf{verschlüsseln}. Damit beherrschen Sie nun die beiden wichtigsten Techniken für einen sicheren \Email{}-Versand: signieren und verschlüsseln. Sie sollten beide Techniken stets kombinieren. Sie können aber bei jeder neuen \Email{} entscheiden, wie Sie Ihre Nachricht versenden wollen -- je nachdem, wie wichtig und schutzbedürftig der Inhalt Ihrer \Email{} ist. Zusätzlich sollte jede verschlüsselte \Email{} auch zusätzlich an Sie selbst verschlüsselt sein. Dafür sorgt GpgOL automatisch. \clearpage \chapter{Dateien signieren und verschlüsseln} \label{ch:EncFiles} \index{GpgEX} Nicht nur \Email{}s, sondern auch einzelne Dateien können Sie mit Gpg4win signieren und verschlüsseln. Das Prinzip ist das gleiche: \begin{itemize} \item Sie \textbf{signieren} eine Datei mit Hilfe Ihres geheimen Schlüssels, um sicherzugehen, dass die Datei unverändert bleibt. \item Sie \textbf{verschlüsseln} eine Datei mit Hilfe eines öffentlichen Schlüssels, um die Datei vor unbefugten Personen geheim zu halten. \end{itemize} Mit der Gpg4win-Programmkomponente \textbf{GpgEX} können Sie Dateien ganz einfach aus dem Windows-Explorer heraus signieren oder verschlüsseln -- egal, ob mit OpenPGP oder S/MIME. Dieses Kapitel erläutert Ihnen, wie das genau funktioniert. Sollten Sie eine Datei als \Email{}-Anhang verschicken, übernimmt z.B. GpgOL automatisch die Signierung bzw. Verschlüsselung der Datei zusammen mit Ihrer \Email{}. Sie brauchen sich in diesem Fall nicht gesondert darum zu kümmern. \clearpage \section{Dateien signieren, verschlüsseln und prüfen} \label{sec_signFile} \index{Datei!signieren} Beim Signieren einer Datei kommt es vorrangig nicht auf die Geheimhaltung, sondern auf die Unverändertheit\index{Unverändertheit} (Integrität)\index{Integrität|see{Unverändertheit}} der Datei an. Die Signierung können Sie bequem mit \textbf{GpgEX} aus dem Kontextmenü des Windows-Explorers ausführen. Selektieren Sie eine (oder mehrere) Datei(en) oder Ordner und öffnen Sie mit der rechten Maustaste das Kontextmenü: % screenshot GpgEX contextmenu sign/encrypt % TODO: Neuer Screenshot (Sign and Encrypt) \IncludeImage[width=0.5\textwidth]{sc-gpgex-contextmenu-signEncrypt_de} Dort wählen Sie \Menu{Signieren} und \Menu{Für mich verschlüsseln} aus. In beiden Menüpunkten sollte ihr eigener Schlüssel ausgewählt sein. Unter dem Punkt \Menu{Für andere verschlüsseln} können Sie auch andere Schlüssel angeben. \clearpage Selektieren Sie im erscheinenden Fenster die Option \Menu{Signieren}: % screenshot sign file, step 1 % TODO: Neuer Screenshot (Cancel) \IncludeImage[width=0.85\textwidth]{sc-kleopatra-signFile1_de} %Bei Bedarf können Sie die Option \Menu{Ausgabe als Text (ASCII % armor\index{ASCII armor})} %aktivieren. Die Signaturdatei erhält damit eine Dateiendung %\Filename{.asc} (OpenPGP) bzw. \Filename{.pem} (S/MIME). Diese %Dateitypen können mit jedem Texteditor geöffnet werden -- Sie sehen %dort allerdings nur den Buchstaben- und Ziffernsalat, den Sie schon %kennen. %Ist diese Option nicht ausgewählt, so wird eine Signaturdatei mit %einer Endung \Filename{.sig} (OpenPGP) bzw. \Filename{.p7s} (S/MIME) erstellt. %Diese Dateien sind Binärdateien, sie können also nicht mit einem Texteditor %angesehen werden. Klicken Sie anschließend auf \Button{Weiter}. %\clearpage %Im folgenden Dialog wählen Sie -- sofern nicht schon vorausgewählt -- %Ihren geheimen (OpenPGP oder S/MIME) Schlüssel aus, mit dem Sie die %Datei signieren möchten. % screenshot sign file, step 2: choose sign certificates %\IncludeImage[width=0.85\textwidth]{sc-kleopatra-signFile2_de} %Bestätigen Sie Ihre Auswahl mit \Button{Signieren}. Geben Sie nun Ihre Passphrase in den Pinentry-Dialog ein. \clearpage Nach erfolgreicher Signierung und Verschlüsselung erhalten Sie folgendes Fenster: % screenshot sign file, step 3: finish % TODO: Neuer Screenshot (Finish/Cancel) \IncludeImage[width=0.85\textwidth]{sc-kleopatra-signFile3_de} Sie haben damit Ihre Datei erfolgreich signiert und verschlüsselt. Beim Signieren einer Datei wird stets eine "`abgetrennte"' (separate) Signatur verwendet. Dies bedeutet, dass Ihre zu signierende Datei unverändert bleibt und eine zweite Datei mit der eigentlichen Signatur erzeugt wird. Um die Signatur später zu prüfen, sind beide Dateien notwendig. %Folgendes Beispiel zeigt noch einmal, welche neue Datei Sie erhalten, %wenn Sie Ihre ausgewählte Datei (hier \Filename{.txt}) mit %OpenPGP bzw. S/MIME signieren. Es sind insgesamt vier Dateitypen als %Ergebnis möglich: %\begin{description} % \item[OpenPGP:]~\\ % \Filename{.txt $\rightarrow$ .txt\textbf{.sig}}\\ % \Filename{.txt $\rightarrow$ .txt\textbf{.asc}} % ~ \small (bei Ausgabe als Text/ASCII-armor) % \normalsize % \item[S/MIME:]~\\ % \Filename{.txt $\rightarrow$ .txt\textbf{.p7s}}\\ % \Filename{.txt $\rightarrow$ .txt\textbf{.pem}} % ~ \small{ (bei Ausgabe als Text/ASCII-armor)} % \normalsize %\end{description} \clearpage \subsubsection{Signatur prüfen} \index{Datei!Signatur prüfen} Prüfen Sie nun, ob die eben signierte Datei integer -- d.h. korrekt -- ist! Zum Überprüfen der Unverändertheit (Integrität) und der Authentizität müssen die Signatur-Datei -- also die mit der Endung \Filename{.sig}, \Filename{.asc}, \Filename{.p7s} oder \Filename{.pem} -- und die signierte Originaldatei (Originaldatei) in demselben Dateiordner liegen. Selektieren Sie die Signatur-Datei und wählen Sie aus dem Kontextmenü des Windows-Explorers den Eintrag \Menu{Entschlüsseln und prüfen}: % screenshot GpgEX contextmenu verifiy/decrypt % TODO: Neuer Screenshot (Decrypt and Verify) \IncludeImage[width=0.5\textwidth]{sc-gpgex-contextmenu-verifyDecrypt_de} \clearpage Daraufhin erhalten Sie folgendes Fenster: % screenshot kleopatra verify file, step 1 % TODO: Neuer Screenshot (Save All/Cancel und Fensterüberschrift) \IncludeImage[width=0.85\textwidth]{sc-kleopatra-verifyFile1_de} Kleopatra zeigt unter \Menu{Ausgabe-Ordner} den vollständigen Pfad zur ausgewählten Signatur-Datei an. Dieser kann angepasst werden. Das Ergebnis zeigt, dass die Signatur korrekt ist -- also die Datei integer ist und somit \textbf{nicht} verändert wurde. %Die Option \Menu{Eingabe-Datei ist eine abgetrennte Signatur} ist %aktiviert, da Sie ja Ihre Originaldatei (hier: \Menu{Signierte Datei}) %mit der Eingabe-Datei signiert haben. Kleopatra findet automatisch %die zugehörige signierte Originaldatei in demselben Datei-Ordner. Automatisch ist auch für den \Menu{Ausgabe-Ordner} der gleichen Pfad ausgewählt. Dieser wird aber erst relevant, wenn Sie mehr als eine Datei gleichzeitig verarbeiten. Die Signaturprüfung wird schon angezeigt und über \Button{Speichern} können Sie die entschlüsselte und geprüfte Datei sichern. %Bestätigen Sie die gegebenen Operationen mit %\Button{Entschlüsseln/Prüfen}. %\clearpage %Nach erfolgreicher Überprüfung der Signatur erhalten Sie folgendes %Fenster: % screenshot kleopatra verify file, step 2 %\IncludeImage[width=0.85\textwidth]{sc-kleopatra-verifyFile2_de} \clearpage Selbst wenn nur ein Zeichen in der Originaldatei hinzugefügt, gelöscht oder geändert wurde, wird die Signatur als gebrochen angezeigt (Kleopatra stellt das Ergebnis als rote Warnung dar): % screenshot kleopatra verify file, step 2a (bad signature) \IncludeImage[width=0.85\textwidth]{sc-kleopatra-verifyFile2a-badSignature_de} \subsubsection{Kurz zusammengefasst} Sie haben gelernt, wie Sie mit GpgEX: \begin{itemize} \item Dateien signieren \item signierte Dateien prüfen \item Dateien verschlüsseln \item verschlüsselte Dateien entschlüsseln \end{itemize} \subsubsection{Gleichzeitig signieren und verschlüsseln} Diese Option ist Ihnen sicher schon in den entsprechenden Dialogen aufgefallen. Wählen Sie sie aus, dann kombiniert GpgEX beide Krypto-Operationen in einem Schritt. Beachten Sie, dass immer {\em zuerst signiert}, erst danach verschlüsselt wird. Die Signatur wird also immer als geheim mitverschlüsselt. Sie kann nur von denjenigen gesehen und geprüft werden, die die Datei erfolgreich entschlüsseln konnten. %Möchten Sie Dateien signieren \textit{und} verschlüsseln, ist das %derzeit nur mit OpenPGP möglich. \clearpage \chapter{Öffentliche Schlüssel veröffentlichen} %TODO: Die Möglichkeiten aufzählen (Mail, eigene Website etc.) und auf Keyserver weiter eingehen \label{ch:publishCertificate} \index{Zertifikat!verbreiten} Um Ihren Schlüssel anderen Korrespondenzpartnern zur Verfügung zu stellen, müssen Sie Ihren öffentlichen Schlüssel verbreiten. Sie haben in Kapitel \ref{sec:mailEncryption} bereits gelesen, wie man einen öffentlichen Schlüssel exportiert und ihn versendet, in diesem Abschnitt gehen wir nun auf die Veröffentlichung Ihres öffentlichen Schlüssels auf einem Schlüsselserver ein. Mehr zu diesem Thema finden Sie unter Abschnitt \ref{ch:keyserver}. \section{Veröffentlichen auf OpenPGP-Schlüsselservern} \label{sec_publishPerKeyserver} Wählen Sie in der Schlüsselübersicht in Kleopatra Ihren Schlüssel aus. Über \Menu{Datei $\to$ Auf Server veröffentlichen..} öffnet sich folgender Dialog \IncludeImage[width=0.85\textwidth]{sc-kleopatra-publishKey_de} Lesen Sie die Meldung aufmerksam und bestätigen Sie den Dialog. Wenn der Schlüssel erfolgreich auf den Schlüsselserver exportiert wurde. Erhalten Sie folgende Nachricht: \IncludeImage[width=0.3\textwidth]{sc-kleopatra-publishKey1_de} Ihr Schlüssel ist nun erfolgreich auf dem Schlüsselserver veröffentlicht und Korrespondenzpartner können ihn einfach über die Schlüsselsuche finden. \section{Veröffentlichen von X.509-Zertifikaten} \label{publishPerEmailx509} Für das Veröffentlichen von X.509-Zertifikaten ist der Anbieter zuständig. Wenn Sie Ihre Zertifikatsanfrage zum Anbieter geschickt haben und ein gültiges Zertifikat erhalten haben, ist dies im Normalfall über den Schlüsselserver des Anbieters verfügbar. Dies ist jedoch von Anbieter zu Anbieter unterschiedlich. Wie man einen Schlüsselsever für X.509 Zertifikate hinzufügt, wird in Abschnitt \ref{ch:keyserver} besprochen. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Part II % page break in toc \addtocontents{toc}{\protect\newpage} \clearpage \T\part{Für Fortgeschrittene} \W\part*{\textbf{II Für Fortgeschrittene}} \label{part:Fortgeschrittene} \addtocontents{toc}{\protect\vspace{0.3cm}} \clearpage \chapter{Schlüssel im Detail} \label{ch:CertificateDetails} \index{Zertifikatsdetails} In Kapitel \ref{ch:CreateKeyPair} haben Sie sich schon den Detaildialog Ihres erzeugten Schlüsselpaares angesehen. Viele Angaben zu Ihrem Schlüsselpaar sind dort aufgelistet. Nachfolgend die Wichtigsten, mit kurzen Hinweisen auf die Unterschiede zwischen OpenPGP-Schlüsseln und X.509-Zertifikaten: % TODO: Screenshot vom Detaildialog OpenPGP + ggf. zusätzlich X.509 wäre sehr hilfreich zur % Veranschaulichung \begin{description} \item[Die Benutzerkennung\index{Zertifikat!Benutzerkennung}] besteht aus dem Namen und der \Email{}-Adresse, die Sie während der Schlüsselpaarerzeugung eingegeben haben, also z.B.: \Filename{Alice } Für OpenPGP-Schlüssel können Sie mit Kleopatra über den %TODO: Oder Schlüssel? - Dann in Kleo anpassen Menüpunkt \Menu{Zertifikate$\rightarrow$% \T\ifthenelse{\boolean{DIN-A5}}{}{ }% Benutzerkennung hinzufügen...} Ihr Schlüsselpaar um weitere Benutzerkennungen erweitern. Das ist dann sinnvoll, wenn Sie z.B. für eine weitere \Email{}-Adresse den Schlüssel nutzen möchten. Beachten Sie: Hinzufügen neuer Benutzerkennungen ist in Kleopatra nur für OpenPGP-Schlüssel möglich, nicht aber für X.509-Zertifikate. \item[Der Fingerabdruck] wird verwendet, um mehrere Schlüssel voneinander zu unterscheiden. Mit dieser Kennung können Sie nach (öffentlichen) Schlüsseln suchen, die z.B. auf einem weltweit verfügbaren OpenPGP-Schlüsselserver (engl. "`key server"') oder auf einem X.509-Zertifikats\-server liegen. Was Schlüsselserver sind, erfahren Sie im folgenden Kapitel. \item[Die Schlüssel-ID\index{Schlüsselkennung}\index{Schlüssel!-ID}] (auch Schlüsselkennung genannt) besteht aus den letzten acht Stellen des Fingerabdrucks. Die wesentlich geringere Länge macht die Schlüsselkennung einfacher handhabbar, erhöht aber das Risiko von Mehrdeutigkeiten (unterschiedliche Schlüssel mit derselben Kennung). \item[Die Gültigkeit\index{Zertifikat!Gültigkeit}] von Schlüsseln bezeichnet die Dauer ihrer Gültigkeit und ggf. ihr Verfallsdatum.\index{Verfallsdatum} Für OpenPGP-Schlüssel ist die Gültigkeit normalerweise auf \Menu{Unbegrenzt} gesetzt. Sie können dies mit Kleopatra ändern, indem Sie auf die Schaltfläche \Button{Ablaufdatum ändern} in den Details klicken -- oder das Menü %TODO: Menü in Schlüssel ändern? - Dann in Kleo ändern \Menu{Zertifikate$\rightarrow$Ablaufdatum ändern} auswählen -- und ein neues Datum eintragen. Damit können Sie Schlüssel für eine begrenzte Zeit gültig erklären, z.B. um sie an externe Mitarbeiter auszugeben. Die Gültigkeitsdauer von X.509-Zertifikaten wird bei der Ausstellung von der Beglaubigungsinstanz (CA) festgelegt und kann nicht vom Nutzer geändert werden. \item[Das Vertrauen in den Schlüsselinhaber (nur OpenPGP)] %\T\marginOpenpgp beziffert Ihre eigene, subjektive Zuversicht, dass der Besitzer des OpenPGP-Schlüssels echt (authentisch) ist und auch andere OpenPGP-Schlüssel korrekt beglaubigen wird. Sie können das Vertrauen über die Schaltfläche \Button{Vertrauen in den Schlüsselinhaber ändern} in den Details oder über das %TODO: Menü in Schlüssel ändern? - Dann in Kleo ändern Menü \Menu{Zertifikate$\rightarrow$Vertrauens\-status ändern} einstellen. Der Vertrauensstatus ist nur für OpenPGP-Schlüssel relevant. Für X.509-Zerti\-fikate gibt es diese Methode der Vertrauensstellung nicht. \item[Die Beglaubigungen (nur OpenPGP)] %\T\marginOpenpgp Ihres OpenPGP-Schlüssels beinhalten die Benutzerkennungen derjenigen Schlüsselinhaber, die sich von der Echtheit Ihres Schlüssels überzeugt und es dann auch beglaubigt haben. Das Vertrauen in die Echtheit Ihres Schlüssels steigt mit der Anzahl an Beglaubigungen, die Sie von anderen Nutzern erhalten. Beglaubigungen sind nur für OpenPGP-Schlüssel relevant. Für X.509-Zertifi\-kate gibt es diese Methode der Vertrauensstellung nicht. \end{description} \T\ifthenelse{\boolean{DIN-A5}}{\enlargethispage{2\baselineskip}}{} ~\\ Diese Details müssen Sie für die tagtägliche Benutzung von Gpg4win nicht unbedingt kennen, aber sie werden relevant, wenn Sie neue Schlüssel erhalten oder ändern wollen. \clearpage \chapter{Die Schlüsselserver} \label{ch:keyserver} \index{Zertifikatsserver} Die Nutzung eines Schlüsselservers zum Verbreiten Ihres öffentlichen (OpenPGP- oder X.509-) Schlüssel wurde bereits im Abschnitt~\ref{sec_publishPerKeyserver} einführend erläutert. Dieses Kapitel beschäftigt sich mit den Details von Schlüsselservern und zeigt Ihnen, wie Sie diese mit Kleopatra nutzen können. Schlüsselserver können von allen Programmen benutzt werden, die die Standards OpenPGP bzw. X.509 unterstützen. Kleopatra unterstützt beide Arten, also sowohl OpenPGP-Schlüsselserver als auch X.509-Zerti\-fi\-katsserver. \T\ifthenelse{\boolean{DIN-A5}}{\newpage}{} \begin{description} \item[OpenPGP-Schlüsselserver]%\T\marginOpenpgp \index{Zertifikatsserver!OpenPGP} (im Englischen auch "`key server"' genannt) sind dezentral organisiert und synchronisieren sich weltweit miteinander. Aktuelle Statistiken über ihre Zahl oder die Anzahl der dort liegenden OpenPGP-Schlüssel gibt es nicht. Dieses verteilte Netz von OpenPGP-Schlüsselserver sorgt für eine bessere Verfügbarkeit und verhindert, dass einzelne Systemadministratoren Schlüssel löschen, um so die sichere Kommunikation unmöglich zu machen ("`Denial of Service"'-Angriff).\index{Denial of Service} \htmlattributes*{img}{width=300} \IncludeImage[width=0.5\textwidth]{keyserver-world} \item[X.509-Zertifikatsserver] \T\marginSmime \index{Zertifikatsserver!X.509} werden in der Regel von den Beglaubigungsinstanzen (CAs) über LDAP\index{LDAP} bereitgestellt und manchmal auch als Verzeichnisdienste für X.509-Zertifikate bezeichnet. \end{description} \clearpage \section{Schlüsselserver einrichten} \label{configureCertificateServer} \index{Zertifikatsserver!einrichten} Öffnen Sie den Konfigurationsdialog von Kleopatra:\\ \Menu{Einstellungen $\rightarrow$ Kleopatra einrichten...} %TODO: Heißt es in Kleo wirklich überall Schlüsselserver? Legen Sie unter der Gruppe \Menu{Schlüsselserver} einen neuen Schlüsselserver an, indem Sie auf die Schaltfläche \Menu{Neu} klicken. Wählen Sie zwischen \Menu{OpenPGP} oder \Menu{X.509}. Bei \Menu{OpenPGP} wird in die Liste ein voreingestellter OpenPGP-Schlüsselserver mit der Serveradresse \Filename{hkp://keys.gnupg.net} (Port: 11371, Protokoll: hkp) hinzugefügt. Sie können diesen ohne Änderung direkt verwenden -- oder Sie nutzen eine der vorgeschlagenen OpenPGP-Serveradressen von der nächsten Seite. Bei \Menu{X.509} erhalten Sie folgende Vorbelegungen für einen X.509-Zertifikatsserver: (Protokoll: ldap, Servername: server, Server-Port: 389). Vervollständigen Sie die Angaben zu Servername und Basis-DN Ihres X.509-Zertifikatsservers und prüfen Sie den Server-Port. Sollte Ihr Schlüsselserver Benutzername und Passwort fordern, so aktivieren Sie die Option \Menu{Benutzerauthentisierung notwendig} und tragen Ihre gewünschten Angaben ein. \T\ifthenelse{\boolean{DIN-A5}}{\newpage}{} Der folgende Screenshot zeigt einen konfigurierten OpenPGP"=Schlüsselserver: % screenshot: Kleopatra OpenPGP certificate server config dialog \IncludeImage[width=0.85\textwidth]{sc-kleopatra-configureKeyserver_de} Bestätigen Sie abschließend Ihre Konfiguration mit \Button{OK}. Ihr Schlüsselserver ist nun erfolgreich eingerichtet. Um sicherzugehen, dass Sie den Schlüsselserver korrekt konfiguriert haben, ist es hilfreich, z.B. eine Schlüsselserver auf dem Server zu starten (Anleitung siehe Abschnitt~\ref{searchAndImportCertificateFromServer}). \textbf{Proxy-Einstellung:}\index{Proxy} Falls Sie einen Proxy in Ihrem Netzwerk nutzen, müssen Sie die Schlüsselserver-Adresse in der Datei:\\ \Filename{\%APPDATA\%\back{}gnupg\back{}gpg.conf}\\ ergänzen. Fügen Sie dazu in der Datei eine weitere Zeile ein, mit dem Inhalt: \\ \Filename{keyserver-options http-proxy=} Erläuterungen zur systemweiten Konfiguration von X.509-Zertifikatsservern finden Sie im Abschnitt~\ref{x509CertificateServers}. \subsubsection{OpenPGP-Schlüsselserver-Adressen} %TODO: Eventuell Outdated %\T\marginOpenpgp Es wird empfohlen, nur moderne OpenPGP-Schlüsselserver zu verwenden, da nur diese mit den neueren Merkmalen von OpenPGP umgehen können. Hier eine Auswahl von gut funktionierenden Schlüsselserver: \begin{itemize} \item hkp://blackhole.pca.dfn.de \item hkp://pks.gpg.cz \item hkp://pgp.cns.ualberta.ca \item hkp://minsky.surfnet.nl \item hkp://keyserver.ubuntu.com \item hkp://keyserver.pramberger.at \item http://keyserver.pramberger.at \item http://gpg-keyserver.de \end{itemize} Sollten Sie Probleme mit einer Firewall haben, so versuchen Sie es am besten mit Schlüsselserver, deren URL mit \Filename{http://} beginnen. Die Schlüsselserver unter den Adressen \begin{itemize} \item hkp://keys.gnupg.net (Vorauswahl von Kleopatra, siehe Bildschirmfoto auf vorheriger Seite) \item hkp://subkeys.pgp.net \end{itemize} sind ein Sammelpunkt für ein ganzes Netz dieser Server; es wird dann zufällig ein konkreter Server ausgewählt. \textbf{Achtung:} Nicht \Filename{ldap://keyserver.pgp.com} als Schlüsselserver benutzen, weil dieser sich nicht mit den anderen Servern synchronisiert (Stand: Mai 2010). \clearpage \section{X.509 Schlüsselserver einrichten} \label{sec:x509Keyserver} Wenn Sie einen S/MIME Schlüssel importieren wollen, müssen Sie sich zunächst über die Adresse des Schlüsselservers und der Basis-DN (Basis Domain-Name) Informieren. Diese erhalten Sie von Ihrem System-Administrator oder Kommunikations-Partner. Sobald Sie diese Informationen haben, öffnen Sie unter \Menu{Einstellungen $\to$ Kleopatra einrichten ...} das \Menu{Schlüsselserver}-Menü. Dort fügen Sie mit der Schaltfläche \Menu{Neu} einen neuen Eintrag der Liste hinzu. Sie können die vorausgwählten Informationen durch Ihre ersetzen. Wenn Sie z.B. Die Informationen erhalten haben, dass der Schlüsselserver die URL \texttt{ldap://ca.gnupg.org:389/} und die Basis-DN \texttt{o="GnuPG", C=DE} besitzt, dann wählen Sie als \Menu{Protokoll} \glqq{}\texttt{ldap}\grqq{} aus, tragen unter \Menu{Server} \glqq{}ca.gnupg.org\grqq{} ein, unter \Menu{Port} tragen Sie\glqq{}\texttt{389}\grqq{} ein, bei \Menu{Basis-DN} tragen Sie \glqq{}\texttt{o="GnuPG", C=DE}\grqq{} ein und setzen am Ende einen Haken unter der \Menu{X.509}-Option. Bestätigen Sie abschließend Ihren Eintrag mit \Menu{OK}. \section{Schlüssel auf Schlüsselservern suchen und importieren} \label{searchAndImportCertificateFromServer} \index{Zertifikatsserver!Suche nach Zertifikaten} \index{Zertifikat!importieren} Nachdem Sie mindestens einen Schlüsselserver eingerichtet haben, können Sie nun dort nach Schlüsseln suchen und diese anschließend importieren. Klicken Sie dazu in Kleopatra auf \Menu{Datei$\rightarrow$Auf Server suchen...}. Sie erhalten einen Suchdialog, in dessen Eingabefeld Sie den Namen des Schlüsselbesitzers -- oder eindeutiger und daher besser geeignet -- seine \Email{}-Adresse seines Schlüssels eingeben können. % screenshot: Kleopatra certification search dialog %TODO: Neuer Screenshot (Close) \IncludeImage[width=0.85\textwidth]{sc-kleopatra-certificateSearchOnKeyserver_de} Um die Details eines ausgewählten Zertifikats zu sehen, klicken Sie auf die Schaltfläche \Button{Details...}. Wenn Sie nun eines der gefundenen Schlüssel in Ihre lokale Schlüsselsammlung einfügen möchten, selektieren Sie das Schlüssel aus der Liste der Suchergebnisse und klicken Sie auf \Button{Importieren}. Kleopatra zeigt Ihnen anschließend einen Dialog mit den Ergebnissen des Importvorgangs an. Bestätigen Sie diesen mit \Button{OK}. War der Import erfolgreich, finden Sie nun das ausgewählte Schlüssel %TODO: Schlüsselverwaltung vs. Zertifikatsverwaltung? in der Zertifikatsverwaltung von Kleopatra. % Section Doppelt zu Kapitel 13 %\section{Schlüssel auf OpenPGP-Schlüsselserver exportieren} %\index{Zertifikat!exportieren} %\T\marginOpenpgp %Wenn Sie einen OpenPGP-Schlüsselserver wie im Abschnitt %\ref{configureCertificateServer} beschrieben eingerichtet haben, %genügt ein Maus\-klick, und Ihr öffentlicher OpenPGP-Schlüssel ist %unterwegs rund um die Welt. %Wählen Sie Ihren OpenPGP-Schlüssel in Kleopatra aus und klicken Sie %TODO: Müsste nun anders heißen %anschließend auf den Menüeintrag: \Menu{Datei$\rightarrow$Zertifikate %nach Server exportieren...}. %Sie brauchen Ihren Schlüssel nur an irgendeinen der verfügbaren %OpenPGP-Schlüsselserver zu senden, denn fast alle synchronisieren %sich weltweit miteinander. Es kann ein, zwei Tage dauern, bis Ihr %OpenPGP-Schlüssel wirklich überall verfügbar ist, aber dann haben Sie %einen "`globales"' Schlüssel. %Sollten Sie Ihren Schlüssel exportieren, ohne zuvor einen %OpenPGP-Schlüsselserver eingerichtet zu haben, so schlägt Ihnen %Kleopatra den bereits voreingestellten Server %\Filename{hkp://keys.gnupg.net} zur Verwendung vor. \clearpage \chapter{Dateianhänge verschlüsseln} \index{Dateianhänge verschlüsseln} Wenn Sie eine verschlüsselte \Email{} versenden und Dateien anhängen, so wollen Sie in der Regel sicherlich auch, dass diese Anhänge verschlüsselt werden. Bei einer komfortablen Integration von GnuPG in Ihr \Email{}-Programm sollten Anhänge genauso behandelt werden wie der eigentliche Text Ihrer \Email{}, also signiert, verschlüsselt oder beides zusammen. \textbf{GpgOL übernimmt die Verschlüsselung und Signierung von Anhängen automatisch.} Bei weniger komfortabel in einem \Email{}-Programm integriertem Verschlüsselungswerkzeugen müssen Sie aufpassen: Die Anhänge werden oft unverschlüsselt mitgesendet. Was kann man in so einem Fall tun? Ganz einfach: Sie verschlüsseln den Anhang getrennt und hängen ihn dann in verschlüsseltem Zustand an die \Email{} an. Dies läuft also auf ein ganz gewöhnliches Verschlüsseln von Dateien hinaus, das in Kapitel~\ref{ch:EncFiles} beschrieben ist. bol\clearpage \chapter{Im- und Export eines geheimen Schlüssels} \label{ch:ImExport} In den Kapiteln \ref{ch:publishCertificate} und \ref{sec_importfromfile} wurde der Im- und Export von Schlüsseln erläutert. Sie haben Ihren eigenen Schlüssel exportiert, um ihn zu veröffentlichen, und den Schlüssel Ihres Korrespondenzpartners importiert und so "`an Ihrem Schlüsselbund\index{Schlüsselbund} %TODO: Schlüsselverwaltung vs. Zertifikatsverwaltung befestigt"' (d.h. in Ihre Schlüsselverwaltung aufgenommen). Dabei ging es stets um \textbf{öffentliche} Schlüssel. Es gibt aber auch hin und wieder die Notwendigkeit, einen \textbf{geheimen} Schlüssel zu im- oder exportieren. Wenn Sie z.B. ein bereits vorhandenes (OpenPGP oder S/MIME) Schlüsselpaar mit Gpg4win weiterbenutzen wollen, müssen Sie es importieren. Oder wenn Sie Gpg4win von einem anderen Rechner aus benutzen wollen, muss ebenfalls zunächst das gesamte Schlüsselpaar dorthin transferiert werden --~der öffentliche und der geheime Schlüssel. \clearpage \section{Export} \index{Zertifikat!exportieren} Immer, wenn Sie einen geheimen Schlüssel auf einen anderen Rechner transferieren oder auf einer anderen Festplattenpartition bzw. einem Sicherungsmedium speichern wollen, müssen Sie mit Kleopatra eine Sicherungskopie erstellen. Eine solche Sicherungskopie haben Sie evtl. schon einmal am Ende Ihrer OpenPGP-Schlüsselpaar\-erzeu\-gung angelegt. Da Ihr OpenPGP-Schlüssel aber inzwischen weitere Beglaubigungen haben kann, sollten Sie ihn ggf. erneut sichern. Öffnen Sie Kleopatra, selektieren Sie Ihren eigenen Schlüsseln und %TODO: Auf Schlüssel ändern? - dann in Kleo anpassen klicken Sie auf \Menu{Datei$\rightarrow$Geheimen Schlüssel exportieren}. % screenshot kleopatra export secret key \IncludeImage[width=0.6\textwidth]{sc-kleopatra-openpgp-exportSecretKey_de} Wählen Sie den Pfad und den Dateinamen der Ausgabedatei. Der Dateityp wird automatisch gesetzt. Abhängig davon, ob Sie einen geheimen OpenPGP- oder S/MIME-Schlüssel exportieren wollen, ist standardmäßig die Dateiendung \Filename{.gpg} (OpenPGP) oder \Filename{.p12} (S/MIME) ausgewählt. Bei diesen Dateien handelt es sich um Binärdateien, die Ihr Schlüsselpaar (inkl. geheimem Schlüssel) verschlüsselt enthalten. Bei Aktivierung der Option \Menu{ASCII-geschützt (ASCII armor\index{ASCII armor})} erhalten Sie die Dateiendung \Filename{.asc} (OpenPGP) bzw. \Filename{.pem} (S/MIME). Diese Dateitypen können mit jedem Texteditor geöffnet werden -- Sie sehen dort allerdings nur den Buchstaben- und Ziffernsalat, den Sie schon kennen. Ist diese Option nicht ausgewählt, so wird eine verschlüsselte Datei mit der Endung \Filename{.gpg} (OpenPGP) oder \Filename{.p12} (S/MIME) angelegt. Diese Dateien sind Binärdateien, sie können also nicht mit einem Texteditor angesehen werden. Beide Schlüsselteile -- der öffentliche und der geheime -- werden von Kleopatra in \textbf{einem} einzigen geheimen Schlüsselpaar abgespeichert. \textbf{Achtung:} Behandeln Sie diese Datei sehr sorgfältig. Sie enthält Ihren geheimen Schlüssel und damit sehr sicherheitskritische Informationen! \clearpage \section{Import} \index{Zertifikat!importieren} Zum Importieren Ihres zuvor exportierten geheimen Schlüssels in Kleopatra gehen Sie so vor, wie Sie es vom Import fremder öffentlicher Schlüssel gewohnt sind (vgl. Kapitel~\ref{ch:importCertificate}): %TODO: Menü anpassen in Kleo? Klicken Sie auf \Menu{Datei$\rightarrow$Schlüssel importieren...} und wählen Sie die zu importierende Datei aus. Handelt es sich um eine PKCS12-Datei (z.B. vom Typ \Filename{.p12}), so werden Sie zunächst nach der Passphrase zum Entsperren des geheimen Schlüssels gefragt: % screenshot pinentry p12 import (I) % TODO: Neuer Screenshot (Cancel) \IncludeImage[width=0.5\textwidth]{sc-pinentry-p12-import-a_de} Setzen Sie nun eine Passphrase, gegebenenfalls auch eine neue, mit der nach dem Importvorgang Ihr geheimer Schlüssel geschützt werden soll: % screenshot pinentry p12 import (II) % TODO: Neuer Screenshot - alles Englisch \IncludeImage[width=0.5\textwidth]{sc-pinentry-p12-import-b_de} Wiederholen Sie Ihre Passphrase-Eingabe. Sollte Ihre Passphrase zu kurz sein oder nur aus Buchstaben bestehen, werden Sie entsprechend gewarnt. %\clearpage %Nach dem erfolgreichen Importieren sehen Sie ein Informationsfenster, %das Ihnen die Ergebnisse des Importvorgangs auflistet; hier am %Beispiel eines geheimen OpenPGP-Schlüssels: % screenshot kleopatra import secret key - status %\IncludeImage[width=0.6\textwidth]{sc-kleopatra-import-openpgp-secret-key_de} Kleopatra hat damit sowohl den geheimen als auch den öffentlichen Schlüssel aus der Sicherungsdatei importiert. Ihr Schlüssel ist damit %TODO: Die Reiter heißen immernoch komisch - evtl in Kleo ändern %TODO: Schlüsselverwaltung vs. Zertifikatsverwaltung unter "`Meine Zertifikate"' in der Zertifikatsverwaltung von Kleopatra sichtbar. Sichern Sie die Sicherungskopie Ihres geheimen Schlüssels -- möglichst auf einem physikalisch gesicherten (z.B. in einem Tresor) externen Medium. Löschen Sie sie danach von Ihrer Festplatte und denken Sie auch daran, die gelöschte Datei aus Ihrem "`Papierkorb"' zu entfernen. Andernfalls stellt diese Datei ein großes Sicherheitsrisiko für Ihre geheime \Email{}-Verschlüsselung dar.\\ \clearpage %TODO: Eventuell outdated \T\ifthenelse{\boolean{DIN-A5}}{\newpage}{} %\T\marginOpenpgp Es kann in einigen Fällen vorkommen, dass Sie ein mit PGP ("`Pretty Good Privacy"') exportierten Schlüssel nicht importieren können: Sie geben zwar die richtige Passphrase ein, diese wird aber nicht akzeptiert. Der Grund ist, dass bestimmte Versionen von PGP intern einen Algorithmus (IDEA) verwenden, den GnuPG aus rechtlichen Gründen nicht unterstützen kann. Um das Problem zu beheben, ändern Sie in PGP einfach die Passphrase und exportieren/importieren Sie das OpenPGP-Schlüssel erneut. Sollte dies auch nicht funktionieren, so setzen Sie die Passphrase in PGP auf "`leer"'; d.h. auf keinen Schutz und exportieren/importieren Sie wieder -- in diesem Fall müssen Sie unbedingt sicherstellen, dass Sie sowohl die \textbf{Datei sicher löschen} als auch in PGP und in Gpg4win danach wieder eine echte \textbf{Passphrase setzen.} ~\\ \textbf{Herzlichen Glückwunsch! Sie haben damit erfolgreich Ihr Schlüsselpaar exportiert und wieder importiert.} \clearpage \section{Paperkey} \label{paperkey} Mit Paperkey haben Sie die Möglichkeit Ihren privaten Schlüssel nicht nur auf digitale Medien zu sichern, sondern auf analoge, so können Sie ihn z.B. in einem Bankschließfach hinterlegen und von diesem analogen Medium auch wieder herstellen. \textbf{Wichtig:} Dies ist nur für OpenPGP-Schlüssel möglich. \subsection{Export mit Paperkey} Wählen Sie dazu das zu exportierende Schlüsselpaar in der Übersicht aus. Über \Menu{Datei $\to$ Geheimen Schlüssel drucken...} öffnen Sie den Dialog zum drucken Ihres Schlüssels. Geben Sie zunächst die Passphrase Ihres Schlüssels ein. % TODO: Neuer Screenshot (Cancel) \IncludeImage[width=0.6\textwidth]{sc-kleopatra-paperkey1_de} Anschließend öffnet sich ein Druck-Dialog. Über diesen wählen Sie Ihren Drucker aus und drucken Ihren privaten Schlüssel. Heften Sie dieses Dokument an einen sicheren Ort zur Verwahrung. Es sollte nicht in fremde Hände gelangen! \subsection{Import mit Paperkey} Um den zuvor exportierten Schlüssel wieder zu importieren, müssen Sie zunächst sicherstellen, dass Ihr öffentlicher Schlüssel bereits in Kleopatra vorhanden ist. Anschließend öffnen Sie ein Textdokument und tippen den Paperkey ab. Machen Sie einen Rechtsklick auf Ihren öffentlichen Schlüssel und klicken Sie auf \Menu{Details}. Wählen Sie im nun auftauchenden Schlüsseldialog den Knopf \Button{Weitere Details...}. Abschließend tätigen Sie einen Rechtsklick auf einen der angezeigten Einträge. Nun wählen sie die Option zum importieren aus und navigieren im Dateidialog zu ihrem abgetippten Paperkey. \clearpage \chapter{Konfiguration von Smartcards \label{Smartcards}} Smartcards oder auch Chipkarten sind kleine Plastikkarten mit Chips auf ihnen, die einen kleinen Mikroprozessor enthalten. Sie kennen wahrscheinlich bereits einige Smartcards, wie zum Beispiel Simkarten in Handys oder Krankenkassenkarten. Zur Verwendung mit OpenPGP oder X.509 gibt es spezielle Karten, die mit GnuPG genutzt werden können. Ähnlich wie Krankenkassenkarten oder Simkarten haben die Smartcards, die mit GnuPG verwendet werden können, bestimmte Eigenschaften. Die Smartcards fungieren dabei als Speicher für den privaten Schlüssel und führen alle kryptografischen Operationen auf der Karte selbst durch. Dies kann für einige Szenarien sehr spannend sein, denn so muss der private Schlüssel selbst nicht mehr auf dem Computer, mit dem Sie arbeiten, nicht mehr vorhanden sein. \section{Nutzung von Smartcards mit OpenPGP \label{OpenPGPSmartcard}} Zunächst muss die Frage beantwortet werden, ob eine Sicherheitskopie des Schlüssel behalten werden soll oder ob der Schlüssel ausschließlich auf der Smartcard existieren soll. Beide Möglichkeiten haben Ihre Vor- und Nachteile. Wenn der Schlüssel ausschließlich auf der Karte existieren soll, kann er nachträglich nicht mehr von der Karte kopiert werden. Dies bringt zusätzliche Sicherheit, sobald die Karte jedoch defekt ist oder abhanden kommt, haben Sie keinen Zugriff mehr auf den Schlüssel. Für die meisten Fälle bietet es sich an, den Schlüssel auf einem Rechner zu erstellen, mit Hilfe von Paperkey\ref{paperkey} zu exportieren und den erstellten Schlüssel auf die Smartcard zu übertragen. Im Folgenden werden wir auf beide Fälle eingehen. \subsection{Erstellen des OpenPGP-Schlüssels auf der SmartCard} Schließen Sie das Smartcard-Lesegerät an Ihren Computer an. In Kleopatra finden Sie unter dem Punkt \Menu{Extras $\to$ SmartCards verwalten} die Einstellungen für Ihre Smartcard. Stecken Sie die zu benutzende SmartCard in das Lesegerät und drücken Sie \Button{F5} und warten Sie, dass die SmartCard erkannt wird. %TODO: Eventuell Screenshot einfügen - Habe aber keine Leere Karte Klicken Sie in SmartCard-Übersicht auf die Schaltfläche \Button{Neue Schlüssel erzeugen}. Anschließend geben Sie die Informationen für die Schlüsselerzeugung ein. % screenshot kleopatra user information for smartcard \IncludeImage[width=0.6\textwidth]{sc-kleopatra-smartCard1_de} Achten Sie dabei auf das Feld \Menu{Verschlüsselungs Schlüssel extern sichern}. Dieses Feld sollte aktiv bleiben, damit Sie abschließend eine Sicherheitskopie Ihres Schlüssels machen können. Anschließend werden die Schlüssel auf der Karte erzeugt. % screenshot kleopatra loading card screen \IncludeImage[width=0.3\textwidth]{sc-kleopatra-smartCard2_de} Je nach verwendetem SmartCard-Leser kann es während der Erzeugung zu einer Abfrage des Administrations-PINs der Karte kommen. Dieser liegt der Kartenanleitung bei. Während der Schlüsselerzeugung werden Sie gebeten eine Passphrase einzugeben, hierbei gelten die gleichen Richtlinien wie auch bei der Erstellung des herkömmlichen Schlüssels. % screenshot kleopatra passphrase \IncludeImage[width=0.6\textwidth]{sc-kleopatra-smartCard3_de} Abschließend können Sie Ihren erstellen Schlüssel sichern. Beachten Sie dabei: Wenn der Schlüssel nicht gesichert wird und sie den Zugang zu Ihrer SmartCard verlieren, gibt es keine andere Möglichkeit mehr an Ihr Schlüsselpaar zu gelangen! \clearpage \IncludeImage[width=0.5\textwidth]{sc-kleopatra-smartCard4_de} \textbf{Herzlichen Glückwunsch!} Sie haben erfolgreich einen Schlüssel auf Ihrer SmartCard erstellen. Bei zukünftigen kryptografischen Operationen werden Sie nun immer gebeten Ihre Smartcard in das Lesegerät einzuführen und ggf. eine PIN oder Passphrase darüber einzugeben. %TODO: Option gibt es noch nicht %\subsection{Kopieren eines vorhandenen Schlüssels auf die SmartCard} \clearpage \section{Nutzung von NetKey-Cards mit X.509} \label{X509Smartcard} X.509 Smartcards kommen im Unterschied zu OpenPGP Karten üblicherweise mit vorkonfigurierten Zertifikaten, welche von der Zertifizierungstelle eingerichtet wurden. Kleopatra unterstützt die NetKey Karten der Telekom. Bei der ersten Verwendung einer X.509 Smartcard muss eine PIN für die jeweiligen Zertifikate gesetzt werden. Zudem müssen die Zertifikate der Karte im Gpg4win-System registriert werden damit diese für Kryptographie- Aktionen zur Auswahl stehen. Legt man eine, unbekannte, unterstützte X.509 Smartcard in einen Kartenleser ein blinkt das Systemtray Icon von Kleopatra. Nach einem Linksklick öffnet sich der Einrichtungsdialog um eine anfängliche PIN zu setzen: \IncludeImage[width=0.8\textwidth]{sc-kleopatra-smartCard_netkey_1_de} Dabei ist ein Spezialfall bei NetKey Karten das diese zwei Zertifikate unterstützen. Ein gewöhnliches und ein weiteres für qualifizierte Signaturen.\footnote{ \url{https://de.wikipedia.org/wiki/Signaturgesetz_(Deutschland)}} Nachdem die anfänglichen PINs eingerichtet sind können die Zertifikate registriert werden. Dazu kann man erneut auf das blinkende Symbol klicken. Es folgen einige Diagnoseausgaben. Diese können ignoriert werden. Anschließend sind die Zertifikate im System registriert. Alternativ zum Tray Icon können beide Aktionen auch über die SmartCard-Verwaltung angestoßen werden. Das Menü erreichen Sie über \Menu{Extras $\to$ SmartCards verwalten}. Ansicht einer nicht initialisierten NetKey Karte: \IncludeImage[width=0.7\textwidth]{sc-kleopatra-smartCard_netkey_2_de} Mit ``Zertifikate neu Laden" werden die Zertifikate der SmartCard registriert: \IncludeImage[width=0.7\textwidth]{sc-kleopatra-smartCard_netkey_4_de} Ist alles eingerichtet werden die auf der Karte vorhandenen Zertifikate in der SmartCard-Verwaltung angezeigt. \IncludeImage[width=0.7\textwidth]{sc-kleopatra-smartCard_netkey_3_de} \clearpage \chapter{Systemweite Konfiguration und Vorbelegung für \protect{S/MIME}} \label{ch:smime-configuration} \T\enlargethispage{\baselineskip} \T\marginSmime Im Rahmen einer zentralen Softwareverteilung oder in Umgebungen, in denen viele Anwender auf einem gemeinsamen Rechner arbeiten, ist es sinnvoll, einige systemweite Vorgaben und Vorbelegungen für Gpg4win einzurichten. Das betrifft vor allem S/MIME, denn bei vorgegebenen Vertrauensketten ist es sinnvoll, dass die Anwender die Informationen dazu miteinander teilen. Einige typische systemweite Einstellungen sind: \begin{description} \item[Vertrauenswürdige Wurzelzertifikate:] \index{Vertrauenswürdige Wurzelzertifikate} \index{Wurzelzertifikat} Um zu vermeiden, dass jeder Anwender selbst die notwendigen Wurzelzertifikate suchen und installieren sowie deren Vertrauenswürdigkeit prüfen und beglaubigen muss (vgl. Abschnitt \ref{sec_allow-mark-trusted}), ist eine systemweite Vorbelegung der wichtigsten Wurzelzertifikate sinnvoll. Dazu sollten die Wurzelzertifikate abgelegt -- wie in Abschnitt \ref{trustedrootcertsdirmngr} beschrieben -- und die vertrauenswürdigen Wurzelzertifikate definiert werden -- wie in Abschnitt \ref{sec_systemtrustedrootcerts} beschrieben. \item[Direkt verfügbare CA-Zertifikate:] \index{CA-Zertifikat} Um den Anwendern zusätzlich die Mühe zu ersparen, die Zertifikate der Beglaubigungsinstanzen (Certificate Authorities, CAs) zu suchen und zu importieren, ist auch hier eine systemweite Vorbelegung der wichtigsten CA-Zertifikate sinnvoll. Eine Beschreibung hierzu finden Sie im Abschnitt \ref{extracertsdirmngr}. \item[Proxy für Zertifikatsserver- und Sperrlisten-Suche:] \index{Proxy} Für die Gültigkeitsinformationen bieten die X.509-Protokolle verschiedene Möglichkeiten an. Von den meisten Zertifizierungsstellen werden Sperrlisten\index{Sperrlisten} (auch CRLs \index{CRLs|see{Sperrlisten}} genannt, nach RFC5280) und OSCP\index{OSCP} (Online Certificate Status Protocol, nach RFC2560) unterstützt. OSCP bringt zeitnähere Informationen, hat aber den Nachteil, dass Netzverkehr bis zum OSCP-Dienst erfolgt und daran auch gut erkannt werden kann, mit welchen Partnern gerade Nachrichten ausgetauscht werden. GnuPG kann mit beiden Möglichkeiten umgehen, es ist die Komponente "`DirMngr"' \index{Directory Manager|see{DirMngr}} \index{DirMngr}, welche als systemweiter Dienst läuft. Es können interne Netzwerke keine direkten Verbindungen der einzelnen Rechner nach außen zulassen (zentrale Firewall), sondern einen Stellvertreterdienst (einen sogenannten "`Proxy"') vorsehen. Der DirMngr kann ebenfalls mit HTTP- und LDAP-Proxies \index{LDAP} \index{HTTP} umgehen. S/MIME-Zertifikate enthalten meist die Angabe, wo Ihre Sperrliste extern abgeholt werden kann. Oft kommt dabei HTTP vor, aber auch Verzeichnisdienste über LDAP\index{LDAP}. Anders als bei OpenPGP kann sich der Klient nicht aussuchen, wo er die Sperrliste abholen kann, er muss den verfügbaren Angaben folgen. Da manche Zertifikate ausschließlich Sperrlisten per LDAP zur Verfügung stellen, ist es erforderlich sowohl HTTP- als auch LDAP-Abfragen nach außen zuzulassen. Sofern möglich, kann ein Stellvertreterdienst auf Inhaltsebene sicherstellen, dass X.509-Sperrlisten ausschließlich mit korrekten Informationen übermittelt werden. \clearpage Ist in Ihrem Netzwerk für die bei OpenPGP bzw. S/MIME wichtigen HTTP- und HKP- oder LDAP-Abfragen ein Proxy nötig, so führen Sie folgende Schritte durch: \begin{enumerate} \item Stellen Sie X.509-Zertifikatsserver-Suche auf einen Proxy ein, wie in Abschnitt~\ref{x509CertificateServers} beschrieben. \item Stellen Sie Sperrlisten-Suche auf einen Proxy ein, wie ebenfalls in Abschnitt~\ref{x509CertificateServers} beschrieben. \item Starten Sie den DirMngr neu (siehe Abschnitt~\ref{dirmngr-restart}). \end{enumerate} \end{description} \clearpage \chapter{Bekannte Probleme und Abhilfen} \index{Problembehebungen} \section{GpgOL-Menüs und -Dialoge nicht mehr in Outlook zu finden} \index{Outlook} Es kann vorkommen, dass die von GpgOL zu Outlook hinzugefügten Menüs und Dialoge nicht mehr zu finden sind. Das kann dann passieren, wenn ein technisches Problem auftrat und Outlook aus diesem Grund die GpgOL-Komponente deaktiviert hat. Reaktivieren Sie GpgOL über das Outlook-Menü:\\ Outlook2007: \Menu{?$\rightarrow$Deaktivierte Elemente}\\ Outlook2003: \Menu{?$\rightarrow$Info$\rightarrow$Deaktivierte Elemente} Um GpgOL manuell zu (de-)aktivieren, nutzen Sie den Add-In-Manager von Outlook: \begin{itemize} \item \textbf{Outlook2003:} \Menu{Extras$\rightarrow$Optionen$\rightarrow$Weitere$\rightarrow$Erweiterte Optionen... $\rightarrow$ Add-In-Manager...} \item \textbf{Outlook2007:} \Menu{Extras$\rightarrow$Vertrauensstellungscenter$\rightarrow$Add-Ins} -- dann unter \Menu{Verwalten} die \Menu{Exchange-Clienterweiterungen} auswählen und auf \Button{Gehe zu...} klicken. \end{itemize} \section{GpgOL-Schaltflächen sind in Outlook2003 nicht in der Symbolleiste} Wenn bereits viele Schaltflächen in der Symbolleiste des Nachrichtenfensters vorhanden sind, so stellt Outlook2003 die Signieren-/Verschlüsseln-Icons von GpgOL nicht unbedingt sofort sichtbar dar. Sie können diese Schaltflächen aber anzeigen lassen, indem Sie in der Symbolleiste auf das kleine Icon mit dem Pfeil nach unten klicken (\Menu{Optionen für Symbolleiste}): Sie erhalten eine Übersicht aller nicht angezeigten Schaltflächen. Ein Klick auf einen dieser Einträge verschiebt ihn in den sichtbaren Teil der Symbolleiste. \section{GpgOL-Schaltflächen sind in Outlook2007 unter "`Add-Ins"'} Mit Outlook2007 wurde die sogenannte "`Ribbon"'-Oberfläche eingeführt. Diese Multifunktionsleis\-te im Outlook-Nachrichtenfenster besitzt verschiedene Registerkarten. Die GpgOL-Schaltflächen (für Verschlüsseln, Signieren etc.) sind unter der Registerkarte "`Add-Ins"' eingeordnet; so wie alle Schaltflächen von Erweiterungen durch Outlook dort angelegt werden. Eine Integration der GpgOL-Schalt\-flächen z.B. unter "`Nachrichten"' ist nicht möglich. Sie können Ihre \Menu{Symbolleiste für den Schnellzugriff} anpassen und dort die Symleistenbefehle der Add-In-Registerkarte aufnehmen. \section{Fehler beim Start von GpgOL} Haben Sie Gpg4win (und damit die Programmkomponente GpgOL) erst auf einem Laufwerk installiert, anschließend wieder deinstalliert und auf einem anderen Laufwerk erneut installiert? Dann kann es sein, dass Outlook weiterhin den GpgOL-Pfad auf dem ersten (alten) Laufwerk sucht. Dabei wird beim Start von Outlook die Programmerweiterung GpgOL nicht mehr gestartet und folgende Fehlermeldung erscheint: \Menu{Die Erweiterung '\Filename{}' konnte nicht installiert oder geladen werden. Das Problem kann u.U. durch das Benutzen von 'Erkennen und Reparieren' in der Hilfe behoben werden.} Lösen können Sie dieses Problem, in dem Sie den Outlook-internen (zwischengespeicherten) Programmerweiterungs-Pfad zurücksetzen. Löschen Sie dazu bitte folgende Datei:\\ \Filename{\%APPDATA\%\back{}Lokale Einstellungen\back{}Anwendungsdaten\back{}Microsoft\back{}\T\\ Outlook\back{}extend.dat} \textbf{Dabei sollte Outlook nicht laufen.} Anschließend starten Sie Outlook erneut. Outlook mit GpgOL sollten nun problemlos funktionieren. \section{Installation von Gpg4win auf einem virtuellen Laufwerk} Beachten Sie bitte, dass eine Installation von Gpg4win auf einem (mit dem Befehl \Filename{subst} simulierten) \textbf{virtuellen Laufwerk} nicht möglich ist. Diese virtuellen Laufwerke sind nur lokal für den aktuellen Benutzer nutzbar. Systemdienste (wie der DirMngr) sehen diese Laufwerke nicht. Der Installationspfad ist damit ungültig -- die Installation stoppt mit einem Fehler in der Art \linebreak \Filename{error:StartService: ec=3}. Installieren Sie bitte Gpg4win auf einem systemweit verfügbaren Laufwerk. \section{GpgOL überprüft keine InlinePGP"=\Email{}s von "`CryptoEx"'} \index{CryptoEx} Um signierte bzw. verschlüsselte InlinePGP-\Email{}s zu prüfen bzw. zu entschlüsseln, die von der Outlook-Programmerweiterung "`CryptoEx"' versendet wurden, muss in den GpgOL-Optionen die S/MIME-Unterstützung eingeschaltet sein. Versichern Sie sich, dass die folgende Option in Outlook unter \Menu{Extras$\rightarrow$Optionen$\rightarrow$GpgOL} aktiv ist:\\ \Menu{S/MIME Unterstützung einschalten}. \clearpage \section{Keine S/MIME-Operationen möglich (Systemdienst "`DirMngr"' läuft nicht)} \label{dirmngr-restart} \index{DirMngr} \T\marginSmime Der "`Directory Manager"' (DirMngr) ist ein durch Gpg4win installierter %TODO: Oder Schlüsselserver? Kontext. Dienst, der die Zugriffe auf Zertifikatsserver verwaltet. Eine Aufgabe des DirMngr ist das Laden von Sperrlisten (CRLs) für S/MIME-Zertifikate. Es kann vorkommen, dass die S/MIME-Operationen (Signaturerstellung und -prüfung, Ver- oder Entschlüsselung) nicht durchgeführt werden können, weil DirMngr nicht verfügbar ist. In der Voreinstellung von Gpg4win ist es zwingend notwendig, dass DirMngr die Sperrlisten prüft -- geschieht das nicht, darf die jeweilige Operation nicht ausgeführt werden, da möglicherweise ein kompromittiertes Zertifikat genutzt wird. Abhilfe schafft ein Neustart des DirMngr durch den Systemadministrator. Dies erfolgt über \Menu{Systemsteuerung$\rightarrow$Verwaltung$\rightarrow$Dienste}. In der Liste finden Sie DirMngr -- über das Kontextmenü kann der Dienst neu gestartet werden. %\clearpage \section{Keine S/MIME-Operationen möglich (CRLs nicht verfügbar)} \label{smime-problem-crl} \T\marginSmime Es kann vorkommen, dass die S/MIME-Operationen (Signaturerstellung und -prüfung, Ver- oder Entschlüsselung) nicht durchgeführt werden können, weil CRLs nicht verfügbar sind. In der Voreinstellung von \T\ifthenelse{\boolean{DIN-A5}}{\linebreak}{} Gpg4win ist es zwingend notwendig, dass Sperrlisten\index{Sperrlisten} geprüft werden -- geschieht das nicht, darf die jeweilige Operation nicht ausgeführt werden, da möglicherweise ein kompromittiertes Zertifikat genutzt wird. Abhilfe schafft das Einrichten eines Stellvertreterdienstes ("`Proxies"') für das Abholen der Sperrlisten (vgl. Abschnitt~\ref{x509CertificateServers}). Im Notfall (oder zum Testen) lassen sich die CRL-Prüfungen auch abschalten. Öffnen Sie dafür das Kleopatra-Menü \Menu{Einstellungen$\rightarrow$Kleopatra einrichten} und anschließend die Gruppe \Menu{S/MIME-Prüfung}. Aktivieren Sie hier die Option \Menu{Nie Sperrlisten zu Rate ziehen}.\\ \textbf{Achtung:} Machen Sie sich bewusst, dass in diesem Fall ein wesentlich höheres Risiko besteht, ein kompromittiertes Zertifikat zu nutzen. Das Abschalten der Sperrlisten-Prüfung ist niemals einer Alternative zur Einrichtung eines Proxies. \T\ifthenelse{\boolean{DIN-A5}}{}{\clearpage} \section{Keine S/MIME-Operationen möglich (Wurzelzertifikat nicht vertrauenswürdig)} \label{smime-problem-rootcertificate} \index{Wurzelzertifikate} \T\marginSmime Für eine vollständige Prüfung von X.509-Zertifikatsketten \index{Zertifikatskette} muss dem jeweiligen Wurzelzertifikat vertraut werden. Andernfalls kann keine S/MIME-Operationen (Signaturerstellung und -prüfung, Ver- oder Entschlüsselung) durchgeführt werden. Um einem Wurzelzertifikat das Vertrauen auszusprechen, haben Sie zwei Möglichkeiten: \begin{itemize} \item Den Fingerabdruck des entsprechenden Wurzelzertifikats in eine \textit{systemweite} Konfigurationsdatei schreiben. Damit ist die Wurzel für alle Nutzer vertrauenswürdig. Sie müssen hierfür Windows-Administratorrechte besitzen. Eine genaue Erläuterung finden Sie im Abschnitt~\ref{sec_systemtrustedrootcerts}. \item Das Wurzelzertifikat durch den Benutzer setzen (keine systemweite Anpassung nötig). Dazu müssen Sie einmalig die Option \Menu{Erlauben, Wurzelzertifikate als vertrauenswürdig zu markieren} in Kleopatras Einstellung aktivieren. Anschließend werden Sie nach jedem Importieren neuer Wurzelzertifikate gefragt, ob Sie diesem vertrauen wollen. Genaueres dazu im Abschnitt~\ref{sec_allow-mark-trusted}. \end{itemize} \clearpage \chapter{Dateien und Einstellungen von Gpg4win} \section{Persönliche Einstellungen der Anwender} Die persönlichen Einstellungen für jeden Anwender befinden sich im Dateiordner:\\ \Filename{\%APPDATA\%\back{}gnupg}\\ Oft entspricht das dem Dateiordner: \\ \Filename{C:\back{}Dokumente und Einstellungen\back{}\back{}Anwendungsdaten\back{}% \T\ifthenelse{\boolean{DIN-A5}}{\\}{}% gnupg\back{}} Beachten Sie, dass es sich um einen versteckten Dateiordner handelt. Um ihn sichtbar zu schalten, müssen Sie im Explorer über das Menü \Menu{Extras$\rightarrow$Ordneroptionen} im Reiter \Menu{Ansicht} die Option \Menu{Alle Dateien und Ordner anzeigen} unter der Gruppe \Menu{Versteckte Dateien und Ordner} aktivieren. In diesem Dateiordner befinden sich sämtliche persönlichen GnuPG-Daten, also die privaten Schlüssel, Schlüsselpaare, Vertrauensstellungen und Konfigurationen. Bei einer Deinstallation von Gpg4win wird dieser Ordner \textit{nicht} gelöscht. Denken Sie daran, regelmäßig Sicherheitskopien dieses Ordners anzulegen. \section{Zwischengespeicherte Sperrlisten} \index{Sperrlisten} \T\marginSmime Der systemweite Dienst DirMngr (Directory Manager) \index{DirMngr} prüft unter anderem, ob ein X.509-Zertifikat gesperrt ist und daher nicht verwendet werden darf. Dafür werden Sperrlisten (CRLs) von den Ausgabestellen der Zertifikate (CAs) abgeholt und für die Dauer ihrer Gültigkeit zwischengespeichert. Abgelegt werden diese Sperrlisten unter:\newline \Filename{C:\back{}Dokumente und Einstellungen\back{}LocalService\back{}Lokale\T\newline Einstellungen\back{}Anwendungsdaten\back{}GNU\back{}cache\back{}dirmngr\back{}crls.d\back{}} Hierbei handelt es sich um \textit{geschützte} Dateien, die standardmäßig vom Explorer nicht angezeigt werden. Sollten Sie dennoch die Anzeige dieser Dateien wünschen, deaktivieren Sie die Option \Menu{Geschützte Systemdateien ausblenden} in den \Menu{Ansicht}-Einstellungen des Windows-Explorers. In diesem Dateiordner sollten keine Änderungen vorgenommen werden. \T\ifthenelse{\boolean{DIN-A5}}{}{\clearpage} \section{Vertrauenswürdige Wurzelzertifikate von DirMngr} \label{trustedrootcertsdirmngr} \index{DirMngr} \index{Vertrauenswürdige Wurzelzertifikate} \index{Wurzelzertifikate} \T\marginSmime Für eine vollständige Prüfung von X.509-Zertifikaten muss den Wurzelzertifikaten vertraut werden, mit deren Hilfe die Sperrlisten signiert wurden. Die Wurzelzertifikate, denen der DirMngr systemweit bei den Prüfungen vertrauen soll, werden im folgenden Dateiordner abgelegt: \Filename{C:\back{}Dokumente und Einstellungen\back{}All Users\back{}Anwendungsdaten\back{}\T\newline GNU\back{}etc\back{}dirmngr\back{}trusted-certs\back{}} \W~\\\\ \textbf{Wichtig:} Die entsprechenden Wurzelzertifikate müssen als Dateien im Dateiformat DER mit der Dateinamens"=Erweiterung \Filename{.crt} oder \Filename{.der} im o.g. Dateiordner vorliegen. Der DirMngr läuft als systemweiter Dienst und muss nach Änderungen im "`trusted-certs"'-Dateiordner neu gestartet werden. Anschließend sind die dort abgelegten Wurzelzertifikate für alle Anwender als \textbf{vertrauenswürdig} gesetzt. Beachten Sie auch Abschnitt \ref{sec_systemtrustedrootcerts}, um den Wurzelzertifikaten vollständig (systemweit) zu vertrauen. \T\ifthenelse{\boolean{DIN-A5}}{\newpage}{} \section{Weitere Zertifikate von DirMngr} \label{extracertsdirmngr} \T\marginSmime Da vor einer Krypto-Operation die X.509-Zertifikatskette geprüft werden soll, muss somit auch das jeweilige Zertifikat der Beglaubigungsinstanz ("`Certificate Authority"', CA) geprüft werden. Für eine direkte Verfügbarkeit können CA-Zertifikate\index{CA-Zertifikat} in diesem (systemweiten) Dateiordner abgelegt werden:\newline \Filename{C:\back{}Dokumente und Einstellungen\back{}All Users\back{}Anwendungsdaten\back{}\T\newline GNU\back{}lib\back{}dirmngr\back{}extra-certs\back{}} Zertifikate, die nicht hier oder bei den Anwendern vorliegen, müssen automatisch von X.509-Zer\-ti\-fi\-kats\-servern geladen werden.\\ Diese CA-Zertifikate können aber auch immer manuell vom Anwender importiert werden. Es ist sinnvoll, im Rahmen von systemweiten Vorgaben hier die wichtigsten CA-Zertifikate abzulegen. \clearpage \section{Systemweite Konfiguration zur Verwendung externer X.509-Zertifikatsserver \label{x509CertificateServers}} \T\marginSmime GnuPG kann so konfiguriert werden, dass bei Bedarf fehlende X.509-Zertifikate oder Sperrlisten auf externen X.509-Zertifikatsservern gesucht werden (vgl. auch Kapitel~\ref{ch:smime-configuration}).\\ Für die \textbf{X.509-Zertifikatssuche} verwendet der Systemdienst DirMngr eine Liste von Zertifikatsservern, die in der Datei\newline \Filename{C:\back{}Dokumente und Einstellungen\back{}All Users\back{}Anwendungsdaten\back{}\T\\ GNU\back{}etc\back{}dirmngr\back{}ldapservers.conf}\\ angegeben werden können. Diese Zertifikatsserver werden für alle Nutzer (systemweit) verwendet. Jeder Nutzer kann darüber hinaus noch weitere, benutzerspezifische Zertifikatsserver für die Zertifikatssuche einrichten -- z.B. direkt über Kleopatra (vgl. Kapitel~\ref{configureCertificateServer}). Die genaue Syntax für die Zertifikatsserver-Einträge in der o.g. Konfigurationsdatei lautet: \Filename{HOSTNAME:PORT:USERNAME:PASSWORD:BASE\_DN} Sind im internen Netz die Zugänge zu externen X.509-Zertifikatsservern mittels Firewall gesperrt, so kann man in der \Filename{ldapservers.conf} einen Proxy-Dienst\index{Proxy} für die entsprechende Durchleitung der Zertifikatssuche konfigurieren, wie folgende Zeile im Beispiel illustriert: \Filename{proxy.mydomain.example:389:::O=myorg,C=de}\\ Für die Suche von \textbf{Sperrlisten}\index{Sperrlisten} (CRLs) gibt es im gleichen Verzeichnis eine Konfigurationsdatei von DirMngr: \Filename{C:\back{}Dokumente und Einstellungen\back{}All Users\back{}Anwendungsdaten\back{}\T\\ GNU\back{}etc\back{}dirmngr\back{}dirmngr.conf} Beachten Sie, dass nur Administratoren diese Datei schreiben dürfen. Folgende Proxy-Optionen können Sie nach Bedarf in dieser Konfigurationsdatei ergänzen (jede Option in einer Zeile): %TODO: Gilt das auch für Schlüsselserver? \begin{itemize} \item \Filename{http-proxy HOST[:PORT]} \index{HTTP} Diese Option verwendet \Filename{HOST} und \Filename{PORT} für den Zugang zum Zertifikatsserver. Die Umgebungsvariable \Filename{http\_proxy} wird bei Verwendung dieser Option überschrieben. Ein Beispiel:\\ \Filename{http-proxy http://proxy.mydomain.example:8080} \item \Filename{ldap-proxy HOST[:PORT]} \index{LDAP} Diese Option verwendet \Filename{HOST} und \Filename{PORT} für den Zugang zum Zertifikatsserver. Ist keine Portnummer angegeben, wird der Standard LDAP-Port 389 benutzt. Diese Option überschreibt die im Zertifikat enthaltene LDAP-URL bzw. nutzt \Filename{HOST} und \Filename{PORT}, wenn keine LDAP-URL angegeben ist. \item \Filename{only-ldap-proxy} Diese Option sorgt dafür, dass DirMngr niemals irgendetwas anderes nutzt als den unter \Filename{ldap-proxy} konfigurierten Proxy. Denn normalerweise versucht DirMngr andere konfigurierte Zertifikatsserver zu verwenden, wenn die Verbindung über \Filename{ldap-proxy} fehl schlägt. \end{itemize} \clearpage \section{Systemweite vertrauenswürdige Wurzelzertifikate} \label{sec_systemtrustedrootcerts} \index{Wurzelzertifikate} \T\marginSmime Die systemweit als vertrauenswürdig vorbelegten Wurzelzertifikate werden definiert in der Datei\\ \Filename{C:\back{}Dokumente und Einstellungen\back{}All Users\back{}Anwendungsdaten\T\\ \back{}GNU\back{}etc\back{}gnupg\back{}trustlist.txt} \index{trustlist.txt} Um ein Wurzelzertifikat als vertrauenswürdig zu markieren, muss der entsprechende Fingerabdruck des Zertifikats, gefolgt von einem Leerzeichen und einem großen \Filename{S}, in die o.g. Datei eingetragen werden. Ein Zertifikat wird explizit als nicht vertrauenswürdig markiert, wenn die Zeile mit dem Präfix "`\Filename{!}"' beginnt. Sie können hier auch mehrere Wurzelzertifikate eintragen. Zu beachten ist dann, dass jeder Fingerabdruck in einer neuen Zeile steht. Eine Zeile, die mit einem \texttt{\#} beginnt wird als Kommentar behandelt und ignoriert. Wichtig: Abschließend (am Ende der Datei) muss eine Leerzeile erfolgen. Ein Beispiel: \T\ifthenelse{\boolean{DIN-A5}}{\scriptsize}{} \begin{verbatim} # CN=Wurzel ZS 3,O=Intevation GmbH,C=DE A6935DD34EF3087973C706FC311AA2CCF733765B S # CN=PCA-1-Verwaltung-02/O=PKI-1-Verwaltung/C=DE DC:BD:69:25:48:BD:BB:7E:31:6E:BB:80:D3:00:80:35:D4:F8:A6:CD S # CN=Root-CA/O=Schlapphuete/L=Pullach/C=DE !14:56:98:D3:FE:9C:CA:5A:31:6E:BC:81:D3:11:4E:00:90:A3:44:C2 S \end{verbatim} \T\ifthenelse{\boolean{DIN-A5}}{\normalsize}{} Es kann in einigen Fällen sinnvoll sein, die Kriterien bei der Überprüfung der Wurzelzertifikate zu verringern. Sie können dazu hinter \Filename{S} eine weitere Flagge \Filename{relax} setzen: \Filename{ S relax} \textbf{Wichtig:} Die Verwendung von \Filename{relax} setzt die Sicherheit herab, muss daher individuell entschieden werden und sollte nur bei Problemen verwendet werden. Genauere Details finden Sie in der aktuellen GnuPG-Dokumentation (Punkt "`trustlist.txt"'):\\ \T\ifthenelse{\boolean{DIN-A5}}{ \T\scriptsize \T\texttt{http://www.gnupg.org/documentation/manuals/gnupg/Agent-Configuration.html} \T\normalsize \T} \T{ \uniurl{http://www.gnupg.org/documentation/manuals/gnupg/Agent-Configuration.html} \T} Die genaue Syntax für die Einträge in die trustlist.txt lautet also:\\ \Filename{[!] S [relax]}\\ wobei \Filename{!} und \Filename{relax} optional sind. Anstelle der Flagge \Filename{S} sind noch die Werte \Filename{P} und \Filename{*} vorgesehen, die für zukünftigen Gebrauch reserviert sind. \textbf{Wichtig:} Damit Wurzelzertifikate in Kleopatra vollständig als vertrauenswürdig markiert werden (Zertifikat wird blau hinterlegt), müssen die Wurzelzertifikate zusätzlich für den DirMngr abgelegt werden, wie unter Abschnitt \ref{trustedrootcertsdirmngr} beschrieben. \clearpage \section{Vertrauenswürdigkeit der Wurzelzertifikate durch Benutzer markieren} \label{sec_allow-mark-trusted} \index{Vertrauenswürdige Wurzelzertifikate} \index{Wurzelzertifikate} \T\marginSmime Wurzelzertifikate können auch jeweils von den einzelnen Benutzern als vertrauenswürdig markiert werden -- eine systemweite Konfiguration (siehe Abschnitt \ref{trustedrootcertsdirmngr} und \ref{sec_systemtrustedrootcerts}) ist dann nicht erforderlich. Öffnen Sie das Kleopatra-Menü \Menu{Einstellungen$\rightarrow$Kleopatra einrichten} und anschließend die Gruppe \Menu{S/MIME-Prüfung}. Aktivieren Sie hier die Option \Menu{Erlauben, Wurzelzertifikate als vertrauenswürdig zu markieren}. Dadurch werden Sie beim Gebrauch eines bisher nicht als vertrauenswürdig eingestuften Wurzelzertifikats gefragt, ob Sie es nun als vertrauenswürdig einstufen wollen. Beachten Sie, dass der gpg-agent ggf. einmalig neu gestartet werden muss, bevor die Änderung wirksam wird (z.B. durch ausloggen und wieder einloggen). Die von Ihnen als vertrauenswürdig (oder wahlweise explizit als nicht vertrauenswürdig) gekennzeichneten Wurzelzertifikate werden automatisch in folgender Datei gespeichert:\\ \Filename{C:\back{}Dokumente und Einstellungen\back{}\back{}\T\\ Anwendungsdaten\back{}gnupg\back{}trustlist.txt} \index{trustlist.txt} Für die trustlist.txt gilt die gleiche Syntax wie im Abschnitt~\ref{sec_systemtrustedrootcerts} beschrieben. \clearpage \chapter{Probleme in den Gpg4win-Programmen aufspüren (Logdateien)} \index{Logdatei} Es kann vorkommen, dass eine der Gpg4win-Programmkomponenten nicht wie erwartet zu funktionieren scheint. Nicht selten ist dabei eine Besonderheit der Arbeitsumgebung verantwortlich, sodass die Softwareentwickler von Gpg4win das beobachtete Problem gar nicht selbst nachvollziehen können. Um die Softwareentwickler bei der Problemsuche zu unterstützen oder auch, damit der Anwender selbst einmal in die technischen Detail-Abläufe hineinschnuppern kann, bieten die Gpg4win-Programme Unterstützung an. In der Regel muss diese Unterstützung aber erst einmal eingeschaltet werden. Eine der wichtigsten Hilfsmittel sind Logdateien: Dort werden detaillierte Diagnose-Informationen zu den internen technischen Vorgängen festgehalten. Ein Softwareentwickler kann ein Problem und die mögliche Lösung oft leicht anhand dieser Logdatei erkennen, auch wenn das Problem auf den ersten Blick unverständlich wirken mag. Wenn Sie einen Fehler-Bericht an die Softwareentwickler senden wollen, so finden Sie auf dieser Web-Seite einige Hinweise: \uniurl{http://www.gpg4win.de/reporting-bugs-de.html} Logdateien -- unter o.g. URL als ,,Debug-Informationen'' bezeichnet -- bieten oft wertvolle Hinweise und sollten daher einem Fehlerbericht beigefügt werden. In diesem Kapitel wird beschrieben, wie Sie Programmablauf-Informationen (darum handelt es sich letztlich bei den Logdateien) zu den einzelnen Gpg4win-Programmen einschalten können. \clearpage \section{Logdateien von Kleopatra einschalten} \index{Logdatei!von Kleopatra} Die Logdaten von Kleopatra bestehen aus vielen Dateien, daher besteht der erste Schritt darin, zunächst einen Dateiordner für die Logdateien zu erstellen. Denkbar ist z.B.: \Filename{C:\back{}TEMP\back{}kleologdir} Bitte beachten Sie hierbei, dass es hier um Einstellungen des Anwenders, nicht des Systemadministrators geht. Die Einstellungen müssen also für jeden Anwender, der Logdaten von Kleopatra erstellen möchte, separat vorgenommen werden und es muss darauf geachtet werden, dass unterschiedliche \Filename{kleologdir}-Dateiordner verwendet werden. Der Pfad zu diesem Ordner muss nun in der neuen Umgebungsvariablen \Filename{KLEOPATRA\_LOGDIR} vermerkt werden: Öffnen Sie dazu die Systemsteuerung, wählen Sie dort \Menu{System}, dann den Reiter \Menu{Erweitert} und schließlich den Knopf \Button{Umgebungsvariablen}. Fügen Sie dort folgende neue \textbf{Benutzervariable} ein: \begin{quote} Name der Variable: \Filename{KLEOPATRA\_LOGDIR} Wert der Variable: ~~\Filename{C:\back{}TEMP\back{}kleologdir} \end{quote} Beachten Sie, dass der angegebene Dateiordner existieren muss. Sie können ihn auch nachträglich erstellen. Um die Logfunktion wirksam werden zu lassen, muss Kleopatra beendet und neu gestartet werden und der Dateiordner der Logdaten existieren sowie für Kleopatra beschreibbar sein. Während Kleopatra verwendet wird, zeichnet es Ablauf-Informationen in der Datei \Filename{kleo-log} (Haupt-Logdatei) auf sowie möglicherweise viele Dateien mit einem Namen nach dem Schema:\\ \Filename{pipe-input--} Möglicherweise reichen diese Informationen einem Softwareentwickler nicht, um den Fehler zu erkennen. Er wird Sie dann bitten, eine weitere Umgebungsvariable anzulegen -- so wie Sie es schon oben getan haben: \begin{quote} Name der Variable: \Filename{KLEOPATRA\_LOGOPTIONS} Wert der Variable: ~~\Filename{all} \end{quote} Möglicherweise werden die Logdateien sehr schnell sehr groß. Sie sollten diese Logdaten\--Auf\-zeich\-nung nur einschalten, um ein bestimmtes Fehlverhalten zu provozieren und dabei aufzuzeichnen. Anschließend schalten Sie die Aufzeichnung wieder aus, indem Sie die Umgebungsvariable löschen oder ihren Namen leicht variieren (für späteres leichtes Reaktivieren). Vergessen Sie nicht, die Logdateien zu löschen oder zu verschieben, gerade wenn sie sehr umfangreich geworden sind oder es sich um sehr viele Dateien handelt. Bevor Sie eine neue Aufzeichnung beginnen, ist es ebenfalls sinnvoll, die Logdateien zu entfernen. \clearpage \section{Logdatei von GpgOL einschalten} \index{Logdatei!von GpgOL} Um die Logdatei von GpgOL einzuschalten, müssen Sie einen "`Registry-Editor"' starten. Geben Sie dazu das Kommando \Filename{regedit} unter \Menu{Start$\rightarrow$Ausführen} oder in einer Eingabeaufforderung ein. Wählen Sie nun aus der Baumstruktur auf der linken Seite den folgenden GpgOL-Schlüssel aus:\\ \Filename{HKEY\_CURRENT\_USER\back{}Software\back{}GNU\back{}GpgOL} Auf der rechten Seite sehen Sie nun eine Liste von Einträgen (sogenannte Zeichenfolgen) mit teilweise bereits vordefinierten Werten. Diese Einträge werden nach dem ersten Start von Outlook mit GpgOL angelegt. Zum Aktivieren der GpgOL-Logdatei führen Sie einen Doppelklick auf den Eintrag \Filename{enableDebug} aus und setzen Sie dessen Wert auf \Filename{1}. Als Wert für \Filename{logFile} geben Sie nun einen Namen für die Datei an, in die die Logdatei geschrieben werden soll, z.B.: \Filename{C:\back{}TEMP\back{}gpgol.log} Starten Sie Outlook neu, um die Aufzeichnung zu starten. Bedenken Sie, dass diese Datei sehr umfangreich werden kann. Stellen Sie \Filename{enableDebug} auf \Filename{0}, sobald Sie die GpgOL-Logdatenaufzeichnung nicht mehr benötigen. Vergessen Sie auch hier nicht, die Logdatei zu löschen oder zu verschieben, gerade wenn sie umfangreich geworden ist. Bevor Sie eine neue Aufzeichnung beginnen, ist es ebenfalls sinnvoll die Logdatei zu entfernen. Fortgeschrittene technische Informationen zu GpgOL -- wie z.B. weitere mögliche Werte für \Filename{enableDebug} -- finden Sie im technischen (englischsprachigen) Handbuch von GpgOL. Es befindet sich in Ihrem Gpg4win-Installations\-verzeichnis, in der Regel:\newline \Filename{C:\back{}Programme\back{}GNU\back{}GnuPG\back{}share\back{}doc\back{}gpgol\back{}gpgol.pdf} \clearpage \section{Logdatei von DirMngr einschalten} \index{DirMngr} \index{Logdatei!von DirMngr} Bei DirMngr handelt es sich um einen systemweiten Dienst und daher ist das Einschalten der Logdatei nur mit Administratorrechten möglich. Um die Logdatei einzuschalten, öffnen Sie zunächst folgende Konfigurationsdatei:\\ \Filename{C:\back{}Dokumente und Einstellungen\back{}All Users\back{}Anwendungsdaten\back{}\T\\ GNU\back{}etc\back{}dirmngr\back{}dirmngr.conf} Fügen Sie die folgenden zwei Zeilen in die Konfigurationsdatei ein (den Pfad zur Logdatei können Sie natürlich anpassen): \begin{quote} \Filename{debug-all} \\ \Filename{log-file C:\back{}TEMP\back{}dirmngr.log} \end{quote} Starten Sie anschließend den Dienst DirMngr unter \Menu{Systemsteuerung$\rightarrow$Ver\-waltung$\rightarrow$Dienste} neu, sodass die geänderte Konfigurationsdatei neu eingelesen wird und die vorgenommenen Einstellungen wirksam werden. Kommentieren Sie Ihre Anpassung in o.g. Konfigurationsdatei aus (also \texttt{\#~debug-all}), sobald Sie die DirMngr-Logdtenaufzeichnung nicht mehr benötigen. Vergessen Sie auch hier nicht, die Logdatei zu löschen oder zu verschieben, gerade wenn sie umfangreich geworden ist. Bevor Sie eine neue Aufzeichnung beginnen, ist es ebenfalls sinnvoll die Logdatei zu entfernen. \clearpage \section{Logdatei von GnuPG einschalten} \index{Logdatei!von GnuPG} Für folgende GnuPG-Komponenten können Sie jeweils einzeln das Anlegen einer Logdatei einschalten: \begin{itemize} \item GPG Agent \item GPG für S/MIME \item GPG für OpenPGP \item Smartcard Daemon \end{itemize} Für diese Programme können Anwender persönliche Konfigurationen vornehmen. Dazu gehört auch das Einstellen einer Protokolldatei für den Programmablauf. Eingeschaltet wird die jeweilige Logdatei im GnuPG Backend -- erreichbar über das Kleopatra-Menü \Menu{Einstellungen$\rightarrow$Kleopatra einrichten...$\rightarrow$GnuPG-System}. Für jedes der o.g. vier Programme existieren in diesem Konfigurationsfenster zwei Debug-Optionen: \begin{itemize} \item Option \Menu{Setze die Debug-Stufe auf}\\ Hier definieren Sie die Ausführlichkeit der aufzuzeichnenden Informationen. Die Debug-Stufe \Menu{4 - Guru} ist die höchste Stufe und erzeugt dementsprechend große Dateien. Schalten Sie daher die Logdateien wieder aus (Debug-Stufe \Menu{0 - Keine}), wenn Sie diese nicht mehr benötigen. \item Option \Menu{Schreibe im Servermodus Logs auf DATEI}\\ Geben Sie hier die Logdatei an, in der alle Debug-Informationen gespeichert werden sollen, z.B.: \Filename{C:\back{}TEMP\back{}gpg-agent.log} \end{itemize} Starten Sie anschließend Kleopatra neu (ggf. müssen Sie zuvor einen noch laufenden gpg-agent über den Task-Manager beenden), oder aber Sie loggen sich aus und melden sich neu an Ihrem Windows-System an. Vergessen Sie auch hier nicht, die Logdatei zu löschen oder zu verschieben, gerade wenn sie umfangreich geworden ist. Bevor Sie eine neue Aufzeichnung beginnen, ist es ebenfalls sinnvoll die Logdatei zu entfernen. \clearpage \section{Logdatei von GpgME einschalten} \index{Logdatei!von GpgME} Die Logdatei-Einstellungen für GpgME ("`GnuPG Made Easy"') müssen -- ebenso wie bei Kleopatra -- für jeden Anwender separat vorgenommen werden. Öffnen Sie die Windows-Systemsteuerung, wählen Sie dort \Menu{System}, dann den Reiter \Menu{Erweitert} und schließlich den Knopf \Button{Umgebungsvariablen}. Fügen Sie dort folgende neue \textbf{Benutzervariable} ein: \begin{quote} Name der Variable: \Filename{GPGME\_DEBUG} Wert der Variable: ~\Filename{}, also z.B.: \T\ifthenelse{\boolean{DIN-A5}}{\newline}{} \Filename{5;c:\back{}TEMP\back{}gpgme.log} \end{quote} Beachten Sie, dass der angegebene Dateiordner existieren muss. Sie können ihn auch nachträglich erstellen. Als Diagnosestufe\index{Diagnosestufe} wird hier der Wert \Filename{5} empfohlen. In den meisten Fällen liefert diese Stufe ausreichend Informationen. Falls nicht, können fortgeschrittene Nutzer diesen Wert schrittweise erhöhen. Zum Ausschalten der Logdatenaufzeichnung setzen Sie die Diagnosestufe auf den Wert \Filename{0} oder entfernen Sie die Benutzervariable. Vergessen Sie auch hier nicht, die Logdatei zu löschen oder zu verschieben, gerade wenn sie umfangreich geworden ist. Bevor Sie eine neue Aufzeichnung beginnen, ist es ebenfalls sinnvoll die Logdatei zu entfernen. \clearpage \chapter{Warum Gpg4win nicht zu knacken ist ...} \label{ch:themath} ..., jedenfalls nicht mit heute bekannten Methoden, und falls die Software frei von Fehlern ist. In der Realität liefern allerdings genau diese Fehler in den Programmen, bei ihrer Benutzung oder im Betriebssystem die Möglichkeiten, um doch noch an die geheimen Informationen zu gelangen. Freie Software bietet allerdings die denkbar besten Voraussetzungen, um diese Fehler zu vermeiden. In jedem Beispiel dieses Kompendiums haben Sie gesehen, dass zwischen dem geheimen und dem öffentlichen Schlüssel eine Verbindung besteht. Nur wenn beide zueinander passen, können geheime Botschaften entschlüsselt werden. Das Geheimnis dieser mathematischen Verbindung müssen Sie nicht unbedingt kennen -- Gpg4win funktioniert für Sie auch so. Man kann diese komplexe mathematische Methode aber auch als Nichtmathematiker verstehen, da nur die Grundrechenarten (Addition, Subtraktion, Multiplikation, Division) benötigt werden, um eine spezielle Art der Addition und Multiplikation zu definieren. Es gehört sowohl zur Sicherheitsphilosophie\index{Sicherheitsphilosophie} der Kryptografie wie auch zum Prinzip der Freien Software, dass es keine geheim gehaltenen Methoden und Algorithmen gibt. Letztendlich versteht man auch erst dadurch wirklich, warum GnuPG (die eigentliche Maschinerie hinter Gpg4win) sicher ist. Hier beginnt also sozusagen die Kür nach dem Pflichtteil. % page break in toc %\addtocontents{toc}{\protect\newpage} \clearpage \chapter{GnuPG und das Geheimnis der großen Zahlen \htmlonly{\html{p}} } \label{ch:secretGnupg} {\Large Kryptografie für Nicht-Mathematiker}\\ Es ist schon versucht worden, den RSA-Algorithmus\index{RSA-Algorithmus|(}, auf dem GnuPG basiert\footnote{Es wird hier RSA als Beispiel verwendet, da RSA als Voreinstellung von GnuPG verwendet wird und einfacher zu verstehen ist als der Elgamal-Algorithmus.}, zu "`knacken"', also einen privaten Schlüssel zu berechnen, wenn man lediglich den öffentlichen Schlüssel kennt. Diese Berechnung ist aber noch nie für Schlüssellängen von 1.024 Bit und mehr gelungen, wie sie in GnuPG verwendet werden. Es ist zwar theoretisch möglich, aber praktisch nicht durchführbar. Denn selbst bei vielen Jahren Rechenzeit und Abertausenden von vernetzten Rechnern würde nicht genügend Speicher zur Verfügung stehen, um den letzten Schritt dieser Berechnung durchführen zu können. Es kann allerdings durchaus möglich sein, dass eines Tages eine geniale Idee die Mathematik revolutioniert und eine schnelle Lösung des mathematischen Problems liefert, welches hinter RSA steckt -- allerdings wohl nicht sehr bald. Das Bundesamt für Sicherheit in der Informationstechnik (BSI) veröffentlicht von Zeit zu Zeit Prognosen und Einschätzungen, welche Schlüssellängen noch wie viele Jahre für absolute Geheimhaltung benutzt werden sollen. GnuPG erfüllt mit seinen Standardeinstellungen diese Mindestanforderungen. Wie im vorigen Kapitel schon angerissen, ist die Mathematik der mit Abstand sicherste Teil der praktisch angewandten Kryptografie. \clearpage Im Folgenden erfahren Sie, wie diese mathematische Methode funktioniert. Nicht in allen Einzelheiten (das würde den Rahmen dieser Anleitung bei Weitem sprengen), aber doch so, dass Sie bei etwas Mitrechnen selbst mathematisch korrekt ver- und entschlüsseln können und dabei das "`Geheimnis der großen Zahlen"' entdecken. Man kann diese komplexe mathematische Methode auch als Nichtmathematiker verstehen, da nur die Grundrechenarten benötigt werden. Wie gesagt: Hier beginnt der Kürteil, und bei der Kür geht es immer etwas mehr zur Sache als im Pflichtprogramm. Letztendlich versteht man dann aber, warum GnuPG sicher ist. Zwei Begriffsklärungen vorneweg: \begin{quote} Ein \textbf{Algorithmus} ist eine mathematische Prozedur zur Veränderung oder Transformation von Daten oder Informationen. \textbf{Arithmetik} ist die Methode, nach der Sie Zahlen addieren und multiplizieren. \end{quote} Die Verschlüsselung mit GnuPG basiert auf dem sogenannten RSA-Algorithmus\footnote{RSA ist eigentlich optional, da aus Patentgründen der Elgamal-Algorithmus, beruhend auf dem schwieriger zu erklärenden Problem des diskreten Logarithmus, als Standard in GnuPG verwendet wird.}. RSA steht für die Nachnamen von Ron Rivest, Ami Shamir und Leonard Adleman, die diesen Algorithmus im Jahr 1978 entdeckt haben. Dieser Algorithmus verwendet einen Typ der Arithmetik, die Rechnen mit Restklassen oder "`Modulo-Arithmetik"' \index{Modulo-Arithmetik} heißt. \clearpage \section{Das Rechnen mit Restklassen} \index{Restklassen} Wenn man mit Restklassen rechnet, so bedeutet dies, dass man nur mit dem "`Rest"' rechnet, der nach einer ganzzahligen Teilung durch eine bestimmte Zahl übrigbleibt. Diese Zahl, durch die geteilt wird, nennt man den "`Modul"' oder die "`Modulzahl"'. Wenn Sie beispielsweise mit dem Teiler oder der Modulzahl 5 rechnen, sagt man auch, "`ich rechne modulo 5"'. Wie das Rechnen mit Restklassen -- auch Modulo-Arithmetik oder Kongruenzrechnung genannt -- funktioniert, kann man sich gut klarmachen, wenn man sich das Zifferblattes einer Uhr vorstellt: \htmlattributes*{img}{width=300} \IncludeImage[width=0.5\textwidth]{clock-face} Diese Uhr ist ein Beispiel für das Rechnen mit modulo 12 (die Modulzahl ist also 12) -- eine Uhr mit einem normalen Zifferblatt, allerdings mit einer 0 anstelle der 12. Sie können damit Modulo-Arithmetik betreiben, indem Sie einfach den gedachten Zeiger bewegen. Um beispielsweise $3 + 2$ zu rechnen, beginnen Sie bei der Ziffer 2 und drehen den Zeiger um 3 Striche weiter (oder Sie starten bei der 3 und drehen 2 Striche weiter, was natürlich auf dasselbe hinausläuft). Das Ergebnis ist 5. Zählt man auf diese Weise $7 + 8$ zusammen, erhält man 3. Denn 3 ist der Rest, wenn man 15 (also $7 + 8$) durch 12 teilt. Um 5 mit 7 zu multiplizieren, beginnt man bei 0 und dreht 7 mal jeweils um 5 Striche weiter (oder auch bei 0 beginnend 5 mal um 7 Striche). In beiden Fällen bleibt der Zeiger bei 11 stehen. Denn 11 ist der Rest, wenn 35 (also $7 * 5$) durch 12 geteilt wird. \clearpage Beim Rechnen mit Restklassen addieren und teilen Sie Zahlen also nach den normalen Regeln der Alltagsarithmetik, verwenden dabei jedoch immer nur den Rest nach der Teilung. Um anzuzeigen, dass Sie nach den Regeln der Modulo-Arithmetik und nicht nach denen der üblichen Arithmetik rechnen, schreibt man den Modul (Sie wissen schon -- den Teiler) dazu. Man sagt dann z.B. "`4 modulo 5"', schreibt aber kurz "`$4 \bmod 5$"'. Bei Modulo-5 z.B. hat man dann eine Uhr, auf deren Zifferblatt es nur die 0, 1, 2, 3 und 4 gibt. Also: \[ 4 \bmod 5 + 3 \bmod 5 = 7 \bmod 5 = 2 \bmod 5 \] Anders ausgedrückt, ist in der Modulo-5-Arithmetik das Ergebnis aus 4 plus 3 gleich 2. \\ Ein weiteres Beispiel in Modulo-5-Arithmetik: \[ 8 \bmod 5 + 6 \bmod 5 = 14 \bmod 5 = 4 \bmod 5 \] Sie sehen auch, dass es egal ist, in welcher Reihenfolge Sie vorgehen, weil Sie nämlich auch schreiben können: \[ 8 \bmod 5 + 6 \bmod 5 = 3 \bmod 5 + 1 \bmod 5 = 4 \bmod 5 \] Denn 3 ist dasselbe wie 8, und 1 dasselbe wie 6, da Sie sich ja nur für den jeweiligen Rest nach der Teilung durch 5 interessieren. An den letzten Beispielen wird deutlich, dass bei der Modulo-Arithmetik jederzeit ein ganzzahliges Vielfaches der Modulzahl (hier 5) addiert werden kann, das Rechenergebnis aber stets dasselbe bleibt. \clearpage Dieses Schema funktioniert auch beim Multiplizieren. Ein Beispiel: \[ 4 \bmod 5 * 2 \bmod 5 = 8 \bmod 5 = 3 \bmod 5 \] Ebenso können Sie schreiben: \[ 9 \bmod 5 * 7 \bmod 5 = 63 \bmod 5 = 3 \bmod 5 \] da Sie einfach 60, also $5 * 12$, abziehen können. Man könnte aber auch schreiben: \[ 9 \bmod 5 * 7 \bmod 5 = 4 \bmod 5 * 2 \bmod 5 = 8 \bmod 5 = 3 \bmod 5 \] denn 4 entspricht 9, und 2 entspricht 7, wenn Sie nur den Rest nach Teilung durch 5 betrachten. Wiederum können Sie feststellen, dass es egal ist, wenn Sie das Vielfache von 5 einfach weglassen. Da dadurch alles einfacher wird, machen Sie das, bevor Sie Zahlen addieren oder multiplizieren. Das bedeutet, dass Sie sich lediglich um die Zahlen 0, 1, 2, 3 und 4 kümmern müssen, wenn Sie mit der Modulo-5-Arithmetik rechnen. Denn Sie können ja alles, was durch 5 teilbar ist, weglassen. Noch drei Beispiele mit anderen Modulzahlen: \begin{enumerate} \item[I.] $ 5 \bmod 11 * 3 \bmod 11 = 15 \bmod 11 = 4 \bmod 11 $ \item[II.] $ 2 \bmod 7 * 4 \bmod 7 = 1 \bmod 7 $ \item[III.] $ 13 \bmod 17 * 11 \bmod 17 = 7 \bmod 17 $\\ Das letzte Beispiel wird klar, wenn man bedenkt, dass in normaler Arithmetik gerechnet $ 13 * 11 = 143 $ und $ 143 = 8 * 17 + 7 $ ist. \end{enumerate} \clearpage \section{RSA-Algorithmus und Rechnen mit Restklassen} Computer speichern Buchstaben als Zahlen. Alle Buchstaben und Symbole auf der Computertastatur werden in Wirklichkeit als Zahlen gespeichert, die typisch zwischen 0 und 255 liegen. Sie können also eine Nachricht auch in eine Zahlenfolge umwandeln. Nach welcher Methode (oder welchem Algorithmus) dies geschieht, wird im nächsten Abschnitt beschrieben. Darin wird die Methode vorgestellt, nach der die Verschlüsselung mit GnuPG funktioniert: den RSA-Algorithmus. Dieser Algorithmus wandelt eine Zahlenfolge (die ja eine Nachricht darstellen kann) so in eine andere Zahlenfolge um (also eine Transformation), dass die Nachricht dabei verschlüsselt wird. Wenn man dabei nach dem richtigen Verfahren vorgeht, wird die Nachricht sicher kodiert und kann nur noch vom rechtmäßigen Empfänger dekodiert werden. Das sind die Grundlagen des RSA-Algorithmus: Sie selbst haben bei der Erzeugung eines Schlüsselpaares während der Eingabe Ihrer Passphrase zwei große Primzahlen\index{Primzahlen|(} erzeugt, ohne es zu bemerken (dieser werden mit $p$ und $q$ bezeichnet). Nur Sie --­ oder in der Praxis Ihr Rechner --­ kennen diese beiden Primzahlen und Sie müssen für deren Geheimhaltung sorgen. Es werden daraus nun drei weitere Zahlen erzeugt: \begin{description} \item [Die erste Zahl] ist das Ergebnis der Multiplikation der beiden Primzahlen, also ihr Produkt. Dieses Produkt wird als \textit{Modulus} und mit dem Buchstaben $n$ bezeichnet. Dies ist die Modulzahl, mit der Sie später immer rechnen werden. \item [Die zweite Zahl] ist der sogenannte \textit{öffentliche Exponent} $e$ und eine Zahl, an die bestimmte Anforderungen gestellt werden: teilerfremd zu $(p-1)(q-1)$. Häufig wird hier 41 oder 65537 benutzt. \item [Die dritte Zahl] wird errechnet aus dem öffentlichen Exponent (der zweiten Zahl) und den beiden Primzahlen. Diese Zahl ist der \textit{geheime Exponent} und wird mit $d$ bezeichnet. Die Formel zur Berechnung lautet: \[ d = e^{-1} \bmod (p - 1)(q -1) \] \end{description} Die erste und die zweite Zahl werden veröffentlicht ­-- das ist Ihr öffentlicher Schlüssel. Beide werden dazu benutzt, Nachrichten zu verschlüsseln. Die dritte Zahl muss von Ihnen geheim gehalten werden ­-- es ist Ihr geheimer Schlüssel. Die beiden Primzahlen ($p$ und $q$) werden danach nicht mehr benötigt. Wenn eine verschlüsselte Nachricht empfangen wird, kann sie entschlüsselt werden mit Hilfe der ersten ($n$) und der dritten Zahl ($d$). Nur der Empfänger kennt beide Schlüsselteile ­-- seinen öffentlichen und seinen geheimen Schlüssel. Der Rest der Welt kennt nur den öffentlichen Schlüssel ($n$ und $e$). Die Trick des RSA-Algorithmus liegt nun darin, dass es unmöglich ist, aus dem öffentlichen Schlüsselteil ($n$ und $e$) den geheimen Schlüsselteil ($d$) zu errechnen und damit die Botschaft zu entschlüsseln -- denn: Nur wer im Besitz von $d$ ist, kann die Botschaft entschlüsseln. \clearpage \section{RSA-Verschlüsselung mit kleinen Zahlen} Sie verwenden hier erst einmal kleine Zahlen, um deutlich zu machen, wie die Methode funktioniert. In der Praxis verwendet man jedoch viel größere Primzahlen, die aus vielen Ziffern bestehen. Nehmen Sie die Primzahlen 7 und 11. Damit verschlüsseln Sie Zahlen ­-- oder Buchstaben, was für den Rechner dasselbe ist -- nach dem RSA-Algorithmus. Und zwar erzeugen Sie zunächst den öffentlichen Schlüssel. \begin{description} \item [Die erste Zahl] ist 77, nämlich das Ergebnis der Multiplikation der beiden Primzahlen, 7 und 11. 77 dient Ihnen im weiteren Verlauf als Modulus zur Ver- und Entschlüsselung. \item [Die zweite Zahl] ist der öffentliche Exponent. Sie wählen hier 13. \item [Die dritte Zahl] ist der geheime Schlüssel. Diese Zahl wird wie folgt errechnet: Zunächst ziehen Sie von Ihren Primzahlen 7 und 11 jeweils die Zahl 1 ab (also $7 - 1$ und $11 - 1$) und multiplizieren die beiden resultierenden Zahlen miteinander. In dem Beispiel ergibt das 60: $( 7 - 1 ) * ( 11 - 1) = 60$. 60 ist Ihre Modulzahl für die weiterführende Berechnung des geheimen Schlüssels (sie ist aber nicht mit dem eigentlichen Modulus 77 zu verwechseln). Sie suchen jetzt eine Zahl, die multipliziert mit dem öffentlichen Schlüssel die Zahl 1 ergibt, wenn man mit dem Modul 60 rechnet: \[ 13 \bmod 60 *~?~\bmod 60 = 1 \bmod 60 \] Die einzige Zahl, die diese Bedingung erfüllt, ist 37, denn \[ 13 \bmod 60 * 37 \bmod 60 = 481 \bmod 60 = 1 \bmod 60 \] 37 ist die einzige Zahl, die multipliziert mit 13 die Zahl 1 ergibt, wenn man mit dem Modul 60 rechnet. \end{description} \clearpage \subsubsection{Sie verschlüsseln mit dem öffentlichen Schlüssel eine Nachricht} Nun zerlegen Sie die Nachricht in eine Folge von Zahlen zwischen 0 und 76, also 77 Zahlen, denn sowohl Verschlüsselung als auch Entschlüsselung verwenden den Modul 77 (das Produkt aus den Primzahlen 7 und 11). Jede einzelne dieser Zahlen wird nun nach der Modulo-77-Arithmetik 13 mal mit sich selbst multipliziert. Sie erinnern sich: Die 13 ist Ihr öffentlicher Schlüssel. Nehmen Sie ein Beispiel mit der Zahl 2: Sie wird in die Zahl 30 umgewandelt, weil $ 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 = 2^{13} = 8192 = 30 \bmod 77 $ sind. Ein weiteres Beispiel: 75 wird in die Zahl 47 umgewandelt, denn 75 wird 13 mal mit sich selbst multipliziert und durch 77 geteilt, so dass der Rest 47 entsteht. Wenn man eine solche Rechnung für alle Zahlen zwischen 0 und 76 durchführt und die Ergebnisse in eine Tabelle einsetzt, sieht diese so aus: \W\xmlattributes*{table}{BORDER} \htmlattributes*{td}{BGCOLOR="gray"} \begin{table}[htbp] \begin{center} \begin{Label}{table1} \begin{tabular}{|r||r|r|r|r|r|r|r|r|r|r|} \hline \bf \T\cellcolor{gray} &\bf 0&\bf 1&\bf 2&\bf 3&\bf 4&\bf 5&\bf 6&\bf 7& \bf 8&\bf 9\\ \hline \hline \bf 0& 0& 1& 30& 38& 53& 26& 62& 35& 50& 58\\ \hline \bf 10& 10& 11& 12& 41& 49& 64& 37& 73& 46& 61\\ \hline \bf 20& 69& 21& 22& 23& 52& 60& 75& 48& 7& 57\\ \hline \bf 30& 72& 3& 32& 33& 34& 63& 71& 9& 59& 18\\ \hline \bf 40& 68& 6& 14& 43& 44& 45& 74& 5& 20& 70\\ \hline \bf 50& 29& 2& 17& 25& 54& 55& 56& 8& 16& 31\\ \hline \bf 60& 4& 40& 13& 28& 36& 65& 66& 67& 19& 27\\ \hline \bf 70& 42& 15& 51& 24& 39& 47& 76\htmlattributes*{td}{BGCOLOR="gray"} & \T\cellcolor{gray} \htmlattributes*{td}{BGCOLOR="gray"} & \T\cellcolor{gray} \htmlattributes*{td}{BGCOLOR="gray"} & \T\cellcolor{gray} \T\\ \hline \end{tabular} \texorhtml{\caption}{\htmlcaption}{~} \end{Label}\end{center} \end{table} \W\textit{Tabelle 1}\\\\\\ In der linken Spalte stehen die 10er-Stellen, in der oberen Zeile die 1er-Stellen. \clearpage \subsubsection{Entschlüsseln Sie eine Nachricht mit dem privaten Schlüssel} Um das Beispiel mit der 2 von oben umzukehren, also die Nachricht zu dekodieren, multiplizieren Sie 30 (die umgewandelte 2) 37 mal mit sich selbst ($30^{37}$). Das Ergebnis wird modulo der Modulzahl 77 gerechnet. Sie erinnern sich: 37 ist der geheime Schlüssel. Diese wiederholte Multiplikation ergibt eine Zahl, die $2 \bmod 77$ ist. Das andere Beispiel: Die Zahl $47 \bmod 77$ wird zur Zahl $75 \bmod 77$ dekodiert. Tabelle \link*{2}[\ref{table2}]{table2} zeigt die genaue Zuordnung der 77 Zahlen zwischen 0 und 76. \W\xmlattributes*{table}{BORDER} \htmlattributes*{td}{BGCOLOR="gray"} \begin{table}[htbp] \begin{center} \begin{Label}{table2} \begin{tabular}{|r||r|r|r|r|r|r|r|r|r|r|} \hline \bf \T\cellcolor{gray} &\bf 0&\bf 1&\bf 2&\bf 3&\bf 4&\bf 5&\bf 6&\bf 7& \bf 8&\bf 9\\ \hline \hline \bf 0& 0& 1& 51& 31& 60& 47& 41& 28& 57& 37\\ \hline \bf 10& 10& 11& 12& 62& 42& 71& 58& 52& 39& 68\\ \hline \bf 20& 48& 21& 22& 23& 73& 53& 5& 69& 63& 50\\ \hline \bf 30& 2& 59& 32& 33& 34& 7& 64& 16& 3& 74\\ \hline \bf 40& 61& 13& 70& 43& 44& 45& 18& 75& 27& 14\\ \hline \bf 50& 8& 72& 24& 4& 54& 55& 56& 29& 9& 38\\ \hline \bf 60& 25& 19& 6& 35& 15& 65& 66& 67& 40& 20\\ \hline \bf 70& 49& 36& 30& 17& 46& 26& 76\htmlattributes*{td}{BGCOLOR="gray"} & \T\cellcolor{gray} \htmlattributes*{td}{BGCOLOR="gray"} & \T\cellcolor{gray} \htmlattributes*{td}{BGCOLOR="gray"} & \T\cellcolor{gray} \T\\ \hline \end{tabular} %TODO: Hyperlatex's htmlcaption generates wrong html code -> so set caption %part for tex only; and set htmlcaption as normal text below the table %\texorhtml{\caption}{\htmlcaption}{Zahlentransformation modulo 77, unter Verwendung %des geheimen Schlüssels 37} \T\caption{Zahlentransformation modulo 77, unter Verwendung des geheimen Schlüssels 37} \end{Label}\end{center} \end{table} \W\textit{Tabelle 2: Zahlentransformation modulo 77, unter Verwendung des geheimen Schlüssels 37}\\\\\\ Um eine Zahl mit Tabelle \link*{2}[\ref{table2}]{table2} zu transformieren, gehen Sie nach der gleichen Methode vor wie bei Tabelle~\link*{1}[\ref{table1}]{table1}. Ein Beispiel: 60 wird transformiert in die Zahl in Zeile 60 und Spalte 0. Also wird 60 zu 25 transformiert. Das überrascht nicht, denn wenn man davon ausgeht, dass Sie bei der Umwandlung von 25 mit Hilfe von Tabelle~\link*{1}[\ref{table1}]{table1} als Ergebnis 60 erhalten, dann sollten Sie auch bei der Transformation von 60 mit Hilfe von Tabelle \link*{2}[\ref{table2}]{table2} zum Ergebnis 25 gelangen. Dabei haben Sie den öffentlichen Schlüssel, hier die 13, zur Umwandlung bzw. Kodierung einer Zahl verwendet und den geheimen Schlüssel 37, um sie zurückzuwandeln bzw. zu dekodieren. Sowohl für die Verschlüsselung als auch für die Entschlüsselung haben Sie sich der Modulo-77-Arithmetik bedient. \clearpage \subsubsection{Zusammenfassung} Sie haben ... \begin{itemize} \item durch den Rechner zwei zufällige Primzahlen erzeugen lassen; \item daraus das Produkt und den öffentlichen und den geheimen Schlüssel gebildet; \item mit dem öffentlichen Schlüssel eine Nachricht verschlüsselt; \item mit dem geheimen Schlüssel eine Nachricht entschlüsselt. \end{itemize} Diese beiden Primzahlen können so groß gewählt werden, dass es unmöglich ist, sie einzig aus dem öffentlich bekannt gemachten Produkt zu ermitteln. Das begründet die Sicherheit des RSA-Algorithmus. Sie haben gesehen, dass die Rechnerei sogar in diesem einfachen Beispiel recht aufwändig geworden ist. In diesem Fall hat die Person, die den Schlüssel öffentlich gemacht hat, die Zahlen 77 und 13 als öffentlichen Schlüssel bekanntgegeben. Damit kann jedermann dieser Person mit der oben beschriebenen Methode --­ wie im Beispiel der Tabelle~\link*{1}[\ref{table1}]{table1} --­ eine verschlüsselte Zahl oder Zahlenfolge schicken. Der rechtmäßige Empfänger der verschlüsselten Zahlenfolge kann diese dann mit Hilfe der Zahl 77 und dem geheimen Schlüssel 37 dekodieren. \T\ifthenelse{\boolean{DIN-A5}}{\newpage}{} In diesem einfachen Beispiel ist die Verschlüsselung natürlich nicht sonderlich sicher. Es ist klar, dass 77 das Produkt aus 7 und 11 ist. Folglich kann man den Code in diesem einfachen Beispiel leicht knacken. Ein aufmerksamer Leser wird auch bemerkt haben, dass etliche Zahlen, z.B. die Zahl 11 und ihr Vielfaches (also 22, 33 etc.) und die benachbarten Zahlen sich in sich selbst umwandeln. \W\xmlattributes*{table}{BORDER} \htmlattributes*{td}{BGCOLOR="gray"} \begin{table}[htbp] \begin{center} \begin{Label}{table3} \begin{tabular}{|r||r|r|r|r|r|r|r|r|r|r|} \hline \bf \T\cellcolor{gray} &\bf 0&\bf 1&\bf 2&\bf 3&\bf 4&\bf 5&\bf 6&\bf 7& \bf 8&\bf 9\\ \hline \hline \bf 0& 0& 1& 51& 31& 60& 47& 41& 28& 57& 37\\ \hline \bf 10\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 10\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 11\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 12& 62& 42& 71& 58& 52& 39& 68\\ \hline \bf 20& 48\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 21\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 22\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 23& 73& 53& 5& 69& 63& 50\\ \hline \bf 30& 2& 59\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 32\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 33\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 34& 7& 64& 16& 3& 74\\ \hline \bf 40& 61& 13& 70\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 43\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 44\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 45& 18& 75& 27& 14\\ \hline \bf 50& 8& 72& 24& 4\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 54\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 55\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 56& 29& 9& 38\\ \hline \bf 60& 25& 19& 6& 35& 15\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 65\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 66\htmlattributes*{td}{BGCOLOR="lightgray"} & \T\cellcolor{lightgray} 67& 40& 20\\ \hline \bf 70& 49& 36& 30& 17& 46& 26& 76\htmlattributes*{td}{BGCOLOR="gray"} & \T\cellcolor{gray} \htmlattributes*{td}{BGCOLOR="gray"} & \T\cellcolor{gray} \htmlattributes*{td}{BGCOLOR="gray"} & \T\cellcolor{gray} \T\\ \hline \end{tabular} %TODO: %\texorhtml{\caption}{\htmlcaption}{~} \T\caption{~} \end{Label}\end{center} \end{table} \W\textit{Tabelle 3}\\\\\\ \clearpage Das erscheint als ein weiterer Schwachpunkt dieser Verschlüsselungsmethode: Man könnte annehmen, dass die Sicherheit des Algorithmus dadurch beeinträchtigt würde. Doch stellen Sie sich nun vor, das Produkt zweier großer Primzahlen, die auf absolut willkürliche Art und Weise gewählt werden, ergäbe: \begin{verbatim} 114,381,625,757,888,867,669,235,779,976,146,612,010, 218,296,721,242,362,562,561,842,935,706,935,245,733, 897,830,597,123,563,958,705,058,989,075,147,599,290, 026,879,543,541 \end{verbatim} Hier ist überhaupt nicht mehr ersichtlich, welche die beiden zugrunde liegenden Primzahlen sind. Folglich ist es extrem aufwändig, aufgrund des öffentlichen Schlüssels den geheimen Schlüssel zu ermitteln. Selbst die schnellsten Rechnern der Welt würden sehr lange benötigen, die beiden Primzahlen zu errechnen. Man muss die Primzahlen also nur groß genug wählen, damit ihre Berechnung aus dem Produkt so lange dauert, dass alle bekannten Methoden daran in der Praxis scheitern. Außerdem nimmt der Anteil der Zahlen, die in sich selbst transformiert werden --­ wie man sie oben in den Tabellen~\link*{1}[\ref{table1}]{table1} und \link*{2}[\ref{table2}]{table2} findet -- stetig ab, je größer die Primzahlen werden. Von Primzahlen in der Größenordnung, die Sie in der Praxis bei der Verschlüsselung verwenden, ist dieser Teil so klein, dass der RSA-Algorithmus davon in keiner Weise beeinträchtigt wird. Je größer die Primzahlen, desto sicherer die Verschlüsselung. Trotzdem kann ein normaler PC ohne weiteres das Produkt aus zwei großen Primzahlen bilden. Kein Rechner der Welt dagegen kann aus diesem Produkt wieder die ursprünglichen Primzahlen herausrechnen --­ jedenfalls nicht in vertretbarer Zeit. \clearpage \section{Die Darstellung mit verschiedenen Basiszahlen} Um zu verstehen, wie Nachrichten verschlüsselt werden, sollte man wissen, wie ein Rechner Zahlen speichert, und vor allem, wie sie in unterschiedlichen Zahlenbasen dargestellt werden können. Dazu machen Sie sich zunächst mit den Zahlenpotenzen vertraut. Zwei hoch eins, dargestellt als $2^1 = 2$; \\ zwei hoch drei, dargestellt als $2^3 = 2 * 2 * 2 = 8$;\\ zwei hoch zehn, dargestellt als $2^{10} = 2*2*2*2*2*2*2*2*2*2 = 1024$. Jede Zahl hoch 0 ist gleich 1, z.B. $2^0 = 1$ und $5^0 = 1$. Verallgemeinert bedeutet dies, dass eine potenzierte Zahl so oft mit sich selbst multipliziert wird, wie es die Hochzahl (Potenz) angibt. Das Konzept einer Zahlenbasis veranschaulicht z.B. ein Kilometerzähler im Auto: Das rechte Rad zählt nach jedem Kilometer eine Stelle weiter und zwar nach der vertrauten Abfolge der Zahlen:\\ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, ... Jedesmal, wenn das rechte Rad wieder 0 erreicht, zählt das Rad links davon eine Stelle hoch. Und jedesmal, wenn dieses zweite Rad die 0 erreicht, erhöht das Rad links davon um eins ... und so weiter. \htmlattributes*{img}{width=300} \IncludeImage[width=0.4\textwidth]{mileage-indicator} Das rechte Rad zählt die einzelnen Kilometer. Wenn es eine 8 angezeigt, dann sind dies 8 Kilometer. Das Rad links davon zeigt jeweils die vollen zehn Kilometer an: Eine 5 bedeutet 50 Kilometer. Dann folgen die Hunderter: Steht dort 7, dann bedeutet dies 700 Kilometer. Nach dem gleichen Prinzip stellen Sie ja auch Ihre normale Zahlen mit den Ziffern 0 bis 9 dar. "`578"', z.B., bedeutet $5 * 10^2 + 7 * 10^1 + 8 * 10^0 = 500 + 70 + 8$, und dies entspricht 578. Hier haben Sie die "`5"' stellvertretend für fünfhundert, "`7"' für siebzig und "`8"' für acht. In diesem Fall ist die Basis 10, eine für Sie vertraute Basis. Also steht die rechte Ziffer für die Einer der betreffenden Zahl (d.h., sie wird mit 1 multipliziert), die Ziffer links davon steht für die Zehner (d.h., wird mit 10 multipliziert), die nächste Ziffer wiederum für die Hunderter (d.h., sie wird mit 100 multipliziert) und so weiter. Da man Zahlen normalerweise zur Basis 10 darstellt, machen Sie sich nicht die Mühe, die Basis extra anzugeben. Formal würde man dies bei der Zahl 55 mit der Schreibweise $55_{10}$ anzeigen, wobei die tiefgestellte Zahl die Basis anzeigt. Wenn Sie Zahlen nicht zur Basis 10 darstellen, so müssen Sie dies mit Hilfe einer solchen tiefgestellten Basiszahl anzeigen. Angenommen, die Anzeige des Kilometerzählers hätte statt der Ziffern 0 bis 9 nur noch 0 bis 7. Das rechte Rädchen würde nach jedem Kilometer um eine Ziffer höher zählen, wobei die Zahlenfolge so aussehen würde: \[ 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, ... \] Ihr dreistelliger Tacho zur Basis 8 stellt z.B. folgende Zahl dar: \[ 356 \] Die 6 auf dem rechten Rädchen zählt einzelne Kilometer, also $6*8^0=6$ Kilometer.\\ Die 5 auf dem Rädchen in der Mitte für $5 * 8^1$, also 40 Kilometer.\\ Die 3 links steht für je 64 Kilometer pro Umdrehung, also hier $3 * 8^2$ Kilometer. So rechnet man also mit Zahlen zur Basis 8. Ein Beispiel: $72_8$ bedeutet $7 * 8^1 + 2 * 8^0 = 58$. \\ Bei dieser Art der Darstellung steht die "`2"' aus der 72 für 2, aber die "`7"' steht für $7 * 8$. Größere Zahlen werden schrittweise genauso aufgebaut, sodass $453_8$ eigentlich $4 * 64 + 5 * 8 + 3$ bedeutet, was $299_{10}$ ergibt.\\ Bei $453_8$ steht die "`3"' für 3, die "`5"' für $5 * 8$ und die "`4"' für $4 * 64$, wobei sich die "`64"' wiederum aus $8 * 8$ herleitet. Im angeführten Beispiel werden die Ziffern, von rechts nach links gehend, mit aufsteigenden Potenzen von 8 multipliziert. Die rechte Ziffer wird mit $8^0$ (das ist 1) multipliziert, die links daneben mit $8^1$ (das ist 8), die nächste links davon mit $8^2$ (das ist 64) und so weiter. Wenn man Zahlen zur Basis 10 darstellt, gibt es keine höhere Ziffer als 9 (also 10 minus 1). Sie verfügen also über keine Ziffer, die 10 oder eine größere Zahl darstellt. Um 10 darzustellen, brauchen Sie zwei Ziffern, mit denen Sie dann die "`10"' schreiben können.\\ Sie haben also nur die Ziffern 0 bis 9.\\ So ähnlich ist es, wenn Sie mit der Basiszahl 8 rechnen: Dann haben Sie nur die Ziffern 0 bis 7 zur Verfügung. Wollen Sie zu dieser Basis eine höhere Zahl als sieben darstellen, müssen Sie wieder zwei Ziffern verwenden -- z.B. $9_{10}$ ist $11_8$, $73_{10}$ ist $111_8$. \clearpage Rechner speichern Zahlen als eine Folge von Nullen und Einsen. Man nennt dies Binärsystem oder Rechnen mit der Basiszahl 2, weil Sie nur die Ziffern 0 und 1 verwenden. Stellen Sie sich vor, Sie würden die Kilometer mit einem Tachometer zählen, auf dessen Rädchen sich nur zwei Ziffern befinden: 0 und 1. Die Zahl $10101_2$ z.B. bedeutet im Binärsystem: \[ 1*2^4+0*2^3+1*2^2+0*2^1+1*2^0 = 1 * 16 + 0 * 8 + 1 * 4 + 0 * 2 + 1 = 21 \] In der Informatik verwendet man auch Gruppen von acht Binärziffern, genannt "`Byte"'. Ein Byte kann Werte zwischen 0 -- dargestellt als Byte $00000000_2$ -- und 255 -- dargestellt als Byte $11111111_2$ -- annehmen. Ein Byte stellt also Zahlen zur Basis $2^8 = 256$ dar. Zwei weitere Beispiele: $ 10101010_2 = 170 $ $ 00000101_2 = 5 $ Da ein Rechner die Buchstaben, Ziffern und Satzzeichen als Bytes speichert, schauen Sie sich an, welche Rolle dabei die Darstellung zur Basis 256 spielt. \clearpage Nehmen Sie die Silbe "`un"'. Das "`u"' wird im Rechner als 117 gespeichert und das "`n"' als 110. Diese Zahlenwerte sind für Rechner standardisiert und werden ASCII-Code genannt. Sie können also die Silbe "`un"' darstellen durch die Zahl: $117 * 2^{8*1} + 110 * 2^{8*0} = 117 * 256 + 110 = 30062$ Entsprechend würde man die Buchstabenfolge "`und"' mit der Zahl $117 * 2^{8*2} + 110 * 2^{8*1} + 100 * 2^{8*0} = 117 * 65536 + 110 * 256 + 100 = 7695972$ darstellen, denn das "`d"' wird durch 100 repräsentiert. Sie haben hier also Zahlen und Symbole, die auf der Computertastatur als normale Zahlen zur Basis 10 stehen, intern durch Zahlen zur Basis $2^8 = 256$ repräsentiert. Entsprechend können Sie aus jeder Nachricht eine große Zahl machen. Aus einer langen Nachricht wird also eine gewaltig große Zahl. Und diese sehr große Zahl wollen Sie nun nach dem RSA-Algorithmus verschlüsseln. Sie dürfen allerdings dabei die Zahl, zu der die Nachricht verschlüsselt wird, nicht größer werden lassen als das Produkt der Primzahlen (Modulus). Ansonsten bekommen Sie Probleme, wie Sie gleich noch sehen werden.\\ \T\ifthenelse{\boolean{DIN-A5}}{\newpage}{} Die folgende Prozedur umfasst mehrere Schritte, die hier zunächst zusammengefasst und anschließend in Einzelschritten dargestellt werden: \begin{enumerate} \item Die Nachricht \emph{aba, cad, aca} wandeln Sie -- wie beschrieben -- in Zahlen um. \item Diese Darstellung, beispielhaft zur Basis $2^2=4$ (statt $2^8=256$), wandeln Sie in eine Darstellung zur Basis 10 um, damit Sie zur Verschlüsselung die Tabelle~\link*{1}[\ref{table1}]{table1} benutzen können, in der die Zahlen ja auch auf 10er-Basis dargestellt werden. Dabei entsteht eine kodierte Nachricht zur Basis 10. \item Um die Kodierung im Vergleich zum "`Klartext"' zu erkennen, rechnen Sie die zur Basis 10 kodierte Nachricht auf die Basis 4 zurück und wandeln sie dann wieder in eine Buchstabensequenz. \item So entsteht aus der Nachricht \emph{aba, cad, aca} die verschlüsselte Nachricht \emph{dbb, ddd, dac}. \end{enumerate} \clearpage Und nun ausführlich: \begin{enumerate} \item Die Nachricht \emph{aba, cad, aca} wandeln Sie in Zahlen um. Angenommen, Sie beschränken sich bei den Nachrichten auf die 4 Buchstaben a, b, c und d. In diesem -- wirklich sehr einfachen -- Beispiel können Sie die vier Buchstaben durch die Zahlenwerte 0, 1, 2 und 3 darstellen und haben dann: \[ a = 0, b = 1, c = 2 ~\mbox{und}~ d = 3 \] Verschlüsseln Sie nun die Nachricht \emph{aba, cad, aca}. Sie kodieren diese Nachricht mit Hilfe der Primzahlen\index{Primzahlen|)} 7 und 11, mit dem öffentlichen Schlüssel 77 und 13 und dem dazugehörenden geheimen Schlüssel 37. Dieses Beispiel kennen Sie bereits aus dem früheren Kapitel: Sie haben damit die Tabellen~\link*{1}[\ref{table1}]{table1} und \link*{2}[\ref{table2}]{table2} konstruiert.\\ \item Diese Darstellung zur Basis 4 wandeln Sie in eine Darstellung zur Basis 10 um. Damit können Sie zur Verschlüsselung die Tabelle~\link*{1}[\ref{table1}]{table1} benutzen, in denen die Zahlen ja auch auf 10er-Basis dargestellt werden. Weil Sie vier Buchstaben für die Nachricht verwenden, rechnen Sie zur Basis 4. Für die Rechnung modulo 77 müssen Sie die Nachricht in Stücke von je drei Zeichen Länge zerlegen, weil die größte dreiziffrige Zahl zur Basis 4 die $333_4$ ist. Zur Basis 10 hat diese Zahl den Wert 63. Würden Sie stattdessen die Nachricht in vier Zeichen lange Stücke zerlegen, würde $3333_4$ den Wert $76_{10}$ übersteigen und es würden unerwünschte Doppeldeutigkeiten entstehen. Folglich würde die Nachricht in dreiziffrigen Stücken nun \[ aba, cad, aca \] ergeben. Geben Sie den Zeichen nun ihre Zahlenwerte und vergessen dabei nicht, dass die Stücke dreiziffrige Zahlen zur Basis 4 darstellen. \T\ifthenelse{\boolean{DIN-A5}}{\newpage}{} Da Sie die Buchstaben durch die Zahlen a = 0, b = 1, c = 2, d = 3 darstellen, wird die Nachricht zu: \[ 010_4, 203_4, 020_4 \] Zur Basis 10 wird diese Nachricht durch die Zahlenfolge 4, 35, 8 dargestellt. Warum? Nehmen Sie z.B. das mittlere Stück $203_4$: \T\begin{eqnarray*} \W\begin{tabular}{rrr} 3 * 4^0, & ~\mbox{also}~ 3 * 1, & ~\mbox{also}~ 3. \\ 0 * 4^1, & ~\mbox{also}~ 0 * 4, & ~\mbox{also}~ 0. \\ 2 * 4^2, & ~\mbox{also}~ 2 * 16, & ~\mbox{also}~ 32.\\ \W\end{tabular} \T\end{eqnarray*} \T\ifthenelse{\boolean{DIN-A5}}{}{\clearpage} \item Jetzt können Sie zur Verschlüsselung die Tabelle~\link*{1}[\ref{table1}]{table1} von Seite \pageref{table1} benutzen, die ja zur Basis 10 berechnet wurde. Diese Tabelle benutzen wir, weil Sie mit dem schon bekannten Schlüsselpaar arbeiten wollen. Dabei entsteht eine kodierte Nachricht zur Basis 10. Zum Verschlüsseln der Nachricht nehmen Sie jetzt die o.g. Tabelle~\link*{1}[\ref{table1}]{table1} zur Hilfe. Die Nachricht wird nun zu der Zahlenfolge 53, 63, 50 (zur Basis 10).\\ \item Wird sie nun wieder zur Basis 4 konvertiert, ergibt die Nachricht nun $311_4, 333_4, 302_4$. Konvertiert man diese zu einer Buchstabensequenz, erhält man \emph{dbb, ddd, dac}, was sich nun erheblich von der ursprünglichen Nachricht unterscheidet. Man kehrt nun also den Prozess um und transformiert die Zahlenfolge 53, 63, 50 mit Tabelle~\link*{2}[\ref{table2}]{table2} und erhält die Sequenz 4, 35, 8. Und das entspricht als Zahlenfolge genau der ursprünglichen Nachricht. Anhand der Tabellen \link*{1}[\ref{table1}]{table1} und \link*{2}[\ref{table2}]{table2} können Sie ebenso gut Nachrichten unter Verwendung des geheimen Schlüssels (d.h., erst Tabelle~\link*{2}[\ref{table2}]{table2} benutzen) verschlüsseln, dann mit dem öffentlichen Schlüssel (d.h., Tabelle~\link*{1}[\ref{table1}]{table1} als zweites benutzen) dekodieren und damit Ihre ursprüngliche Zahl wieder herstellen. Das bedeutet, dass der Inhaber des geheimen Schlüssels damit Nachrichten unter Verwendung des RSA-Algorithmus verschlüsseln kann, die daher eindeutig nur von ihm stammen können. \end{enumerate} \clearpage \subsubsection{Fazit:} Wie Sie gesehen haben, ist die ganze Angelegenheit zwar im Detail kompliziert, im Prinzip aber durchaus nachvollziehbar. Sie sollen schließlich nicht einer Methode einfach nur vertrauen, sondern ­-- zumindest ansatzweise ­-- ihre Funktionsweise durchschauen. Sehr viele tiefergehende Details sind leicht in anderen Büchern (z.B.: R.~Wobst, "`Abenteuer Kryptologie"') oder im Internet zu finden. \index{RSA-Algorithmus|)} \vfill \textbf{Immerhin wissen Sie nun:} Wenn jemand sich an Ihren verschlüsselten \Email{}s zu schaffen macht, ist er durchaus so lange damit beschäftigt, dass er nicht mehr erleben dürfte, diese dann noch lesen zu können... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Appendix % page break in toc (for A5 paper only) \T\ifthenelse{\boolean{DIN-A5}}{addtocontents{toc}{\protect\newpage}}{} \appendix \T\part{Anhang} \W\part*{\textbf{III Anhang}} \addtocontents{toc}{\protect\vspace{0.3cm}} %\T\chapter{Glossar} %\W\chapter*{A Glossar} %\label{glossar} %[Dieses Glossar ist noch in Arbeit.] %\begin{description} % \item[OpenPGP] ... % \item[X.509] ... %\end{description} \T\chapter{Hinweise zur Outlook"=Programmerweiterung GpgOL} \W\chapter*{A Hinweise zur Outlook-Programmerweiterung GpgOL} \label{appendix:gpgol} \index{Outlook!Programmerweiterung} GpgOL ist eine Programmerweiterung für Microsoft Outlook, es integriert dort die Bedienung von GnuPG. GpgOL wird durch den Gpg4win-Installationsassistenten installiert. Beim nächsten Start von Outlook finden Sie in Ihrer Adressleiste einen Eintrag für GpgOL. Wenn Sie auf den Pfeil neben dem Schriftzug klicken kommen Sie in das Einstellungsmenü: % screenshot: GpgOL options % TODO: Neuer Screenshot - English und Beta \IncludeImage[width=0.65\textwidth]{sc-gpgol-options_de} \clearpage Die Karteikarte \Menu{GpgOL} unterteilt sich in zwei Bereiche: \begin{enumerate} \item \textbf{Allgemein} \begin{itemize} \item \Menu{S/MIME Unterstützung einschalten} Nach der Installation von Gpg4win ist die S/MIME-Funktionalität in GpgOL deaktiviert. Damit ist die S/MIME-Unterstützung von GnuPG gemeint. Outlook selbst unterstützt ebenfalls X.509 und S/MIME, arbeitet aber natürlich nicht mit der Gpg4win-Komponente GnuPG. Konkret %TODO: Schlüsselmanagement heißt das, dass alle Einstellungen, das Schlüsselmanagement und die Benutzerdialoge unterschiedlich sind. Es ist zu beachten, dass Outlook von sich aus OpenPGP-Unterstützung anbietet. Wenn Sie S/MIME in Outlook mit Gpg4win nutzen möchten, aktivieren Sie die GpgOL-Option\index{GpgOL-Optionen} \Menu{S/MIME Unterstützung einschalten}. Sollten Sie das von Outlook unterstützte S/MIME nutzen wollen, lassen Sie diese GpgOL-S/MIME-Option deaktiviert. \end{itemize} \item \textbf{Nachrichten Versenden} \begin{itemize} \item \Menu{Neue Nachrichten per Voreinstellungen verschlüsseln} \item \Menu{Neue Nachrichten per Voreinstellungen signieren} Diese beiden Optionen in diesem Bereich steuern, ob per Voreinstellung neue Nachrichten verschlüsselt und/oder signiert werden sollen. Sie können dies aber immer noch bei der Erstellung einer Nachricht individuell verändern. Lediglich die Schaltflächen sind schon entsprechend aktiviert. \item \Menu{Sende OpenPGP Nachrichten ohne Anhänge als PGP/Inline} Es gibt zwei verschieden Wege eine \Email{} verschlüsselt oder signiert zu senden. Zum einen PGP/MIME und zum anderen PGP/Inline. Diese unterscheiden Sich darin, wie Ihre Nachricht signiert wird. Mit PGP/Inline wird der reine Textblock signiert und verschlüsselt und mit PGP/MIME wird der Komplette E-Mail Inhalt signiert und verschlüsselt. Deswegen steht die PGP/Inline Methode auch nur bei Nachrichten ohne Anhängen zur Verfügung. Wir raten davon ab diese Methode dauerhaft zu aktivieren. \item \Menu{Wähle Verschlüsselungseinstellungen automatisch bei Antwort oder Weiterleitung} Wenn Sie eine verschlüsselte oder signierte Nachricht erhalten, wird eine sinnvollen kryptografischen Voreinstellung für die Weiterleitung oder Antwort vorgenommen. Dies Option ist standardmäßig aktiviert. \item \Menu{Suche automatisch nach OpenPGP Schlüsseln bei Verschlüsselung} Wenn Sie eine Nachricht an einen bislang unbekannten Empfänger senden und die Option zum verschlüsseln aktiviert haben, so wird automatisch auf dem Schlüsselserver (siehe Kapitel \ref{ch:keyserver}) nach einem passenden Schlüssel für den Empfänger gesucht. \end{itemize} \end{enumerate} Alle Optionen sind nach einer Neuinstallation bereits sinnvoll vorbelegt. \clearpage %\label{OLandWord} %Um verschlüsselte Nachrichten mit Outlook versenden zu können, müssen %Sie sicherstellen, dass Sie \textbf{nicht} Microsoft Word zum %Verfassen der Nachrichten benutzen. %Des Weiteren ist anzuraten auf HTML-Nachrichten zu verzichten.\\ %Sie können dies im Menüpunkt \Menu{Extras$\rightarrow$Optionen} auf der %Karteikarte \Menu{E-Mail-Format} kontrollieren. Das Nachrichtenformat %sollte auf \Menu{Nur-Text} eingestellt sein (siehe markierter %Bereich). Sollten Sie dennoch HTML für signierte oder verschlüsselte %\Email{}s verwenden, können dabei beim Empfänger die %Formatierungsinformationen verloren gehen. % screenshot: Outlook E-Mail-Format options %\IncludeImage[width=0.6\textwidth]{sc-gpgol-options-textformat_de} %\textbf{Beachten Sie:} %Mit der Programmerweiterung GpgOL von Gpg4win wird Outlook 2003/2007 %um die Möglichkeit erweitert, mit \Email{}s nach dem OpenPGP-Standard %umzugehen. \\ %Gpg4win befähigt Outlook 2007 unter WindowsXP und Outlook 2003 auch, %AES-verschlüsselte S/MIME-\Email{}s zu entschlüsseln und %zu erzeugen, da Gpg4win mit GnuPG eine eigene, von Outlook und Windows %unabhängige Kryptokomponente mitbringt. Nur Outlook 2007 unter Windows %Vista beherrscht AES-verschlüsselte S/MIME-\Email{}s auch ohne Gpg4win. %\clearpage \T\chapter{GnuPG mit anderen \Email{}-Programmen nutzen} \W\chapter*{B GnuPG mit anderen \Email{}-Programmen nutzen} \label{ch:plugins} Das Gpg4win-Kompendium geht vor allem auf das \Email{}-Programm Outlook ein. GnuPG ist jedoch mit allen anderen \Email{}-Programmen auch verwendbar. Große Unterschiede gibt es jedoch im Bedienkomfort: Je besser GnuPG in ein \Email{}-Programm integriert ist, desto einfacher die Verwendung. Die einfachste Methode, z.B. wenn ein \Email{}-Programm überhaupt nichts über GnuPG weiß, ist die Verschlüsselung via Zwischenablage mit Hilfe von Kleopatra. Dies funktioniert nur für OpenPGP, für S/MIME und komplexe PGP/MIME-\Email{}s werden Sie über eine Zwischenspeicherung als Datei gehen müssen. Beide Methoden werden im ersten Teil dieses Kompendiums beschrieben. Eine Integration von GnuPG wird derzeit für folgende \Email{}-Programme unter Windows angeboten: \begin{description} \item[Thunderbird] mit \textbf{Enigmail}\footnote{\uniurl{http://www.thunderbird-mail.de/wiki/Enigmail\_OpenPGP}}. \index{Thunderbird} \index{Enigmail} \item[Outlook ab Version 2003] mit GpgOL. GpgOL ist Bestandteil des Gpg4win-Pakets. \index{Outlook} \item[Claws Mail:]\index{Claws Mail} Dieses \Email{}-Programm ist verwandt mit dem Gpg4win-Paket und kann optional installiert werden. Eine solche Installation konfiguriert bereits die Programmerweiterung für die Verwendung von PGP/MIME und S/MIME. Diese Erweiterung verwendet jedoch nicht Kleopatra und bietet daher derzeit nicht denselben Komfort, wie die Outlook-Erweiterung GpgOL. \item[KMail/Kontact:]\index{KMail}\index{Kontact} Eine komfortable und erprobte Integration von GnuPG bieten KMail und Kontact. Sie sind für nahezu jedes GNU/Linux-System und neuerdings auch für Windows und MacOS X verfügbar. \end{description} \clearpage \T\chapter{Automatische Installation von Gpg4win} \W\chapter*{C Automatische Installation von Gpg4win} \label{ch:auto} \index{Automatische Installation} In diesem Kapitel wird die automatisierte Installation (ohne Benutzerdialoge) erläutert. In einigen Fällen, wie z.B. für Software-Verteilungssysteme, ist es notwendig, dass die Installation von Gpg4win ohne die Interaktion über Dialoge funktioniert. Um aber trotzdem vorab alle Installationseinstellungen bestimmen zu können, unterstützt Gpg4win das Setzen des Installationspfads und weiterer Optionen auf der Kommandozeile wie auch in einer Steuerungsdatei. Der Installationspfad kann mit der Option \Filename{/D=} angegeben werden, welche als letzte Option auf der Kommandozeile übergeben werden muss. Der Dateiname (hier: \Filename{gpg4win.exe}) kann je nach Version variieren. Die Groß-/Kleinschreibung bei der Eingabe in der Kommandozeile ist hierbei wichtig. Eventuell sind noch Zugriffsrechte (z.B. lesen und schreiben) auf den Installationsordner zu setzen. Ein Beispiel:\\ \Filename{gpg4win.exe /D=D:\back{}Programme\back{}Gpg4win} ~\\Mit der Option \Filename{/S} läuft die Installation "`still"' (also ohne Dialog) ab. Ohne Angabe von weiteren Parametern werden alle Voreinstellungen übernommen. Gpg4win unterstützt auch eine sogenannte Steuerungsdatei. Mit der Option \Filename{/C=} kann eine Steuerungsdatei (Name endet üblicherweise auf \Filename{.ini}) angegeben werden. Ein weiteres Beispiel:\\ \Filename{gpg4win.exe /S /C=C:\back{}TEMP\back{}gpg4win.ini} ~\\ \T\ifthenelse{\boolean{DIN-A5}}{\newpage}{} Diese \Filename{.ini} Datei sollte genau einen Abschnitt \Filename{[gpg4win]} enthalten. Dort können diverse Einstellungen vorgenommen werden, darunter absolute Pfadangaben für die zu installierenden Konfigura\-tionsdateien. Relative Pfade, also abhängig vom aktuellen Arbeitsverzeichnis, dürfen hier nicht angegeben werden. Absolute Pfade enthalten den vollständigen Pfad inklusive der Laufwerksangabe. In der Regel sind die Einstellungen dann anzugeben, wenn nicht die Voreinstellung verwendet werden soll. Ausnahmen davon sind im Beispiel auf der nächsten Seite dokumentiert. \clearpage Hier ist ein Beispiel für den Inhalt einer Steuerungsdatei, das \textbf{alle} erlaubten Schlüsselworte zeigt: \T\ifthenelse{\boolean{DIN-A5}}{\scriptsize}{} \begin{verbatim} [gpg4win] ; Installationseinstellungen. Weg- oder leer lassen für ; Voreinstellung inst_gpgol = true inst_gpgex = true inst_kleopatra = true inst_gpa = true inst_compendium = true ; Die Stellen, an denen Verknüpfungen erzeugt werden sollen. inst_start_menu = true inst_desktop = true \end{verbatim} \T\ifthenelse{\boolean{DIN-A5}}{\normalsize}{} Ein entsprechender Aufruf zur automatischen Installation mit einer Steuerungsdatei \Filename{gpg4win.ini} und einem Installationspfad \Filename{D:\back{}Programme\back{}Gpg4win} könnte also wie folgt aussehen:\\ \Filename{ \T\ifthenelse{\boolean{DIN-A5}}{\scriptsize}{} gpg4win.exe /S /C=C:\back{}TEMP\back{}gpg4win.ini /D=D:\back{}Programme\back{}Gpg4win \T\ifthenelse{\boolean{DIN-A5}}{\normalsize}{} } \clearpage \T\chapter{Umstieg von anderen Programmen} \W\chapter*{D Umstieg von anderen Programmen} \label{ch:migration} Dieser Abschnitt erläutert Ihnen, wie Sie von anderen GnuPG-basierten Programmen auf Gpg4win umsteigen können. Das Installationsprogramm erkennt einige dieser Programme und warnt Sie in diesem Fall. Generell ist es ratsam, eine vorhandene Installation eines anderen GnuPG-basierten Programms zu entfernen, bevor Gpg4win installiert wird. Es ist hier wichtig, die vorhandenen Schlüssel vorher zu sichern. Der einzige sinnvolle Weg, dies zu tun, vollzieht sich unter Verwendung der im alten Programm vorhandenen Möglichkeiten. Suchen Sie sowohl nach einem Menüpunkt, um Ihre privaten (geheimen) Schlüssel zu sichern, als auch nach einem Menüpunkt, um alle vorhandenen öffentlichen Schlüssel zu sichern. Sichern Sie diese dann in einer oder mehreren Dateien. Sobald Sie Gpg4win installiert haben, prüfen Sie, ob Ihre alten Schlüssel bereits vorhanden sind. Sie können dies mit den %TODO: Zertifikatsmanager vs. Schlüsselmanager Zertifikatsmanagern Kleopatra oder GPA machen. Sind die Schlüssel schon vorhanden, so entsprach das alte Verschlüsselungssystem bereits den neuen Konventionen zum Speicherort für die Schlüssel und Sie müssen nichts weiter unternehmen. Wenn die alten Schlüssel nicht erscheinen, so importieren Sie diese einfach aus den erstellten Sicherungsdateien. Lesen Sie hierzu das Kapitel~\ref{ch:ImExport}. %TODO: Schlüsselmanager vs. Zertifikatsmanager Falls Ihr altes Kryptografiesystem den Zertifikatsmanager GPA verwendet, so können Sie die dort vorhandene Backupmöglichkeit benutzen. Diese sollte sehr ähnlich zu dieser Funktion der GPA-Version aus Gpg4win sein. Falls Sie keinen anderen Weg finden, Ihre alten Schlüssel wiederzufinden, so suchen Sie bitte mit den Bordmitteln von Windows nach Dateien mit den Namen \Filename{secring.gpg} und \Filename{pubring.gpg} und importieren diese beiden Dateien mittels Kleopatra\footnote{Dies ist nicht der offizielle Weg, funktioniert aber noch mit allen aktuellen GnuPG-Versionen.}. \clearpage \T\section*{Migration von Gpg4win-1.1.x nach Gpg4win-2.x} \W\section*{D.1 Migration von Gpg4win-1.1.x nach Gpg4win-2.x} \index{Migration von Gpg4win} Es wird dringend empfohlen, zunächst Gpg4win-1.1.x zu deinstallieren, bevor anschließend Gpg4win-2.x installiert wird. \subsubsection{Technischer Hintergrund} Das Problem bei einer Migration \textit{ohne} Deinstallation von Gpg4win-1.1.x ist folgende Sequenz: 1. Installation von Gpg4win in der Version X, inkl. Komponente K. 2. Installation von Gpg4win in der Version X+1, aber Komponente K wird diesmal deselektiert.\\ Effekt: Die alte Komponente von K bleibt installiert in der Version X. 3. Deinstallation von Gpg4win in der Version X+1.\\ Effekt: Die Komponente K der Version X bleibt verwaist zurück.\\ Dies ist eine Beschränkung von Gpg4win seit der ersten Version. \textbf{Anmerkung 1}: Beim Sprung von 1.1.x auf 2.x tritt dieser Fall \textit{immer} ein, da bestimmte Komponenten K nicht mehr existieren (z.B. GpgEE), also auf jeden Fall (automatisch) als deselektiert zu betrachten sind. \textbf{Anmerkung 2}: Im Falle von MSI übernimmt Windows die Aufgabe, nicht mehr verwendete Komponenten zu entfernen. Das bedeutet, dass der MSI-Installationsassistent in dem obigen Szenario korrekt handelt (alte Komponente K in Version X ist nach Schritt 2 nicht mehr auf dem Betriebssystem vorhanden). \clearpage \T\chapter{Deinstallation von Gpg4win} \W\chapter*{E Deinstallation von Gpg4win} \index{Deinstallation} %TODO: Verweise zum Sichern von Schlüssel einfügen %TODO: Brauchen wir das noch? Kann das Weg? Verweis zur Webseite? Soll Gpg4win deinstalliert werden, dann sollten Sie zunächst alle nicht notwendigen Anwendungen beenden und alle Schlüssel sichern. Falls Sie auf Ihrem Rechner mit eingeschränkten Rechten arbeiten sollten, ist es für die Deinstallation außerdem notwendig, mit \textbf{Administratorrechten} angemeldet zu sein. Wurde die Installation bereits über Ihr Benutzerkonto durchgeführt, so verfügt es über Administratorrechte. ~\\ \textbf{Wichtig:}\\ Bevor Sie die Deinstallation durchführen, sollten Sie unbedingt Ihre mit GpgOL bearbeiteten \Email{}s in Outlook von den GpgOL-Informationen "`bereinigen"'. Denn: Gpg4win/GpgOL setzt für jede Krypto-\Email{} in Outlook eine bestimmte Markierung. Sie müssen vor der Deinstallation diese Markierung zurücksetzen, damit andere Kryptografiesoftware Ihre \Email{}s später korrekt lesen und z.B. entschlüsseln kann. GpgOL stellt Ihnen für diese \textbf{Re-Migration}\index{Re-Migration von GpgOL} direkt in Outlook folgende Funktion bereit:\\ Wählen Sie einen Outlook-\Email{}-Ordner aus, dessen \Email{}s Sie zurücksetzen möchten, und klicken Sie im Menü von Outlook auf \Menu{Extras $\rightarrow$ GpgOL Eigenschaften aus diesem Ordner entfernen}. Sie werden darauf hingewiesen, dass GpgOL (für die anschließende Deinstallation) ausgeschaltet wird. Bestätigen Sie die Frage, ob Sie die \Email{}s der jeweiligen Ordner von den Markierungen durch GpgOL reinigen wollen, mit \Menu{Ja}.\\ Führen Sie dieses Kommando nun für alle Outlook-Ordner durch. Nachdem Sie alle Ordner zurückgesetzt haben, beginnen Sie mit der Deinstallation von Gpg4win.\\ \T\ifthenelse{\boolean{DIN-A5}}{\newpage}{} Es gibt drei Möglichkeiten die Deinstallation auszuführen: \begin{itemize} \item Einmal mit den Bordmitteln von Microsoft Windows: Öffnen Sie \Menu{Start$\rightarrow$Einstellungen$\rightarrow$Systemsteuerung$\rightarrow$Software} und wählen Sie dann \Menu{GnuPG for Windows} aus. Mit dem Knopf \Button{Entfernen} deinstallieren Sie alle Gpg4win-Programmkomponenten von Ihrem Betriebssystem. \item Die zweite Möglichkeit zur Deinstallation von Gpg4win bietet Ihnen die ausführbare Datei \Filename{gpg4win-uninstall.exe}. Sie wird mit Gpg4win mitgeliefert und liegt im Installationsordner (in der Regel \Filename{C:$\backslash$Programme$\backslash$GNU$\backslash$GnuPG$\backslash$}). Falls Sie bei der Installation einen anderen als den voreingestellten Pfad gewählt hatten, werden Sie das Deinstallationsprogramm an entsprechender Stelle finden. \item Diese ausführbare Datei ist auch im Startmenü unter Gpg4win vorhanden. \end{itemize} \newpage In allen drei Fällen werden alle Dateien von Gpg4win aus dem Installationsordner sowie die Verknüpfungen in Startmenü, Desktop und Schnellstartleiste entfernt. \textbf{Nicht} gelöscht werden die benutzerspezifischen und systemweiten Anwendungs-Dateiordner mit den Konfigurationseinstellungen: \begin{itemize} \item Benutzerspezifische GnuPG-Anwendungsdaten\\ in \Filename{\%APPDATA\%\back{}gnupg}, das entspricht in der Regel dem Dateiordner: \\ \Filename{C:\back{}Dokumente und Einstellungen\back{}\back{}\T\\ Anwendungsdaten\back{}gnupg\back{}} In diesem \Filename{gnupg}-Dateiordner befinden sich sämtliche persönlichen GnuPG-Daten, also die persönlichen Schlüssel, Vertrauensstellungen und Programmkonfigurationen. \item Systemweite GnuPG-Anwendungsdaten\\ in \Filename{\%COMMON\_APPDATA\%\back{}GNU}, das entspricht in der Regel dem Dateiordner: \\ \Filename{C:\back{}Dokumente und Einstellungen\back{}All Users\back{}\T\\ Anwendungsdaten\back{}GNU\back{}} \end{itemize} \T\section*{Deinstallation von Gpg4win-1.1.3} \W\section*{F.1 Deinstallation von Gpg4win-1.1.3} Nach der Deinstallation von Gpg4win-1.1.3 bleiben folgende Dateiordner bzw. Registryschlüssel zurück: \begin{itemize} \item Dateinamen:\\ \Filename{\%APPDATA\%$\backslash$gnupg} (Wird von einer Gpg4win2-Installation \textit{weiter} verwendet.)\\ Wichtig: Hier sind Ihre persönlichen privaten und öffentlichen Schlüssel sowie GnuPG-Ein\-stellungen enthalten. \item Registryschlüssel:\\ \Filename{HKLM$\backslash$Software$\backslash$GNU$\backslash$GnuPG} (Wird von einer Gpg4win2"=Installation \textit{nicht} mehr verwendet.)\\ \Filename{HKCU$\backslash$Software$\backslash$GNU$\backslash$GPG4Win} (Wird von einer Gpg4win2"=Installation \textit{nicht} mehr verwendet.)\\ \Filename{HKCU$\backslash$Software$\backslash$GNU$\backslash$GpgOL} (Wird von einer Gpg4win2"=Installation \textit{weiter} verwendet.)\\ \Filename{HKCU$\backslash$Software$\backslash$GPGee} (Wird von einer Gpg4win2"=Installation \textit{nicht} mehr verwendet.) \end{itemize} \clearpage \T\chapter{Historie} \W\chapter*{F Historie} \T\ifthenelse{\boolean{DIN-A5}}{\enlargethispage{2\baselineskip}}{} \begin{itemize} \item "`GnuPP\index{GnuPP} für Einsteiger"', 1. Auflage März 2002 und\\ "`GnuPP für Durchblicker"', 1. Auflage März 2002,\\ Autoren: Manfred J. Heinze, TextLab text+media\\ Beratung: Lutz Zolondz, G-N-U GmbH\\ Illustrationen: Karl Bihlmeier, Bihlmeier \& Kramer GbR\\ Layout: Isabel Kramer, Bihlmeier \& Kramer GbR\\ Fachtext: Dr. Francis Wray, e-mediate Ltd.\\ Redaktion: Ute Bahn, TextLab text+media\\ Herausgeber: Bundesministerium für Wirtschaft und Technologie (BMWi)\\ Verfügbar unter \uniurl{http://www.gnupp.de/pdf/einsteiger.pdf} \T\ifthenelse{\boolean{DIN-A5}}{\\}{} und \T\ifthenelse{\boolean{DIN-A5}}{}{\\} \uniurl{http://www.gnupp.de/pdf/durchblicker.pdf}. % Der Abschnitt "`History"' ist im Originaldokument nicht vorhanden % und wurde von Werner Koch beigefügt. \item Revidierte nicht-veröffentlichte Version von TextLab text+media. \item "`Gpg4win für Einsteiger"' und "`Gpg4win für Durchblicker"', Dezember 2005 \\ \"Uberarbeitung: Werner Koch, g10 Code GmbH\\ Herausgeber: die Gpg4win-Initiative \item Dank der Erlaubnis des BMWi vom 14. November 2007 wurde der unveränderbare Abschnitt "`Impressum"' entfernt und an die aktuelle Version angepasst. \item Das "`Gpg4win-Kompendium"' fasst "`Gpg4win für Einsteiger"' und "`Gpg4win für Durchblicker"' zusammen und ist in den Jahren 2009/2010 umfassend für Gpg4win2 aktualisiert und ergänzt worden.\\ Grundlegende \"Uberarbeitung:\\ Werner Koch, g10 Code GmbH\\ Florian v. Samson, Bundesamt f\"ur Sicherheit in der Informationstechnik (BSI)\\ Emanuel Sch\"utze, Intevation GmbH\\ Dr. Jan-Oliver Wagner, Intevation GmbH \item Im Rahmen von des BSI Auftrages "`Gpg4all"' im Jahre 2017 umfassend überarbeitet, ergänzt und aktualisiert worden.\\ Grundlegende \"Uberarbeitung:\\ Jochen Saalfeld, Intevation GmbH\\ Emanuel Schütze, Intevation GmbH Das Programmpaket Gpg4win und das Gpg4win-Kompendium sind verfügbar unter: \T\ifthenelse{\boolean{DIN-A5}}{}{\\} \uniurl{http://www.gpg4win.de} \end{itemize} \clearpage %GNU Free Documentation License \input{fdl-book.tex} \clearpage % in Inhaltsverzeichnis aufnehmen \T\pdfbookmark[-1]{Index}{Index} \T\begingroup \T\let\WriteBookmarks\relax \T\phantomsection \T\addcontentsline{toc}{chapter}{Index} \T\endgroup % Index ausgeben \T\printindex \end{document}