% gpg4win-compendium-de.tex
% Note, that this a HyperLaTeX source and not plain LaTeX!

% DIN A4
\documentclass[a4paper,11pt,oneside,openright,titlepage]{scrbook}

% DIN A5
%\documentclass[a5paper,10pt,twoside,openright,titlepage,DIV11,normalheadings]{scrbook}

\usepackage{ifthen}
\usepackage{hyperlatex}

% Switch between papersize DIN A4 and A5
% Note: please comment in/out one of the related documentclass lines above
\T\newboolean{DIN-A5}
%\T\setboolean{DIN-A5}{true}


% define packages
\usepackage{times}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\T\usepackage[ngerman]{babel}
\W\usepackage[german]{babel}
\usepackage{ifpdf}
\usepackage{graphicx}
\usepackage{alltt}
\usepackage{moreverb}
\T\ifthenelse{\boolean{DIN-A5}}{}{\usepackage{a4wide}}
\usepackage{microtype}
\W\usepackage{rhxpanel}
\W\usepackage{sequential}
\usepackage[table]{xcolor}
\usepackage{color}

\usepackage{fancyhdr}
\usepackage{makeidx}


% write any html files directly into this directory
% XXX: This is currently deactivated, but sooner or later
% we need this to not let smae filenames overwrite each other
% when we have more than one compendium. The Makefile.am needs
% to be updated for this as well - not a trivial change.
\W\htmldirectory{compendium-html/de}

% Hyperref should be among the last packages loaded
\usepackage[breaklinks,
    bookmarks,
    bookmarksnumbered,
    pdftitle={Das Gpg4win-Kompendium},
    pdfauthor={Emanuel Schütze, Werner Koch, Florian v. Samson, Dr.
      Jan-Oliver Wagner, Ute Bahn, Karl Bihlmeier, Manfred J. Heinze,
      Isabel Kramer, Dr. Francis Wray},
    pdfsubject={Sichere E-Mail- und Datei-Verschlüsselung mit GnuPG für Windows},
    pdfkeywords={Gpg4win, E-Mail, Datei, verschlüsseln, entschlüsseln,
    signieren, OpenPGP, S/MIME, X.509, Zertifikat, Kleopatra, GpgOL,
    GpgEX, GnuPG, sicher, E-Mail-Sicherheit, Kryptografie, Public-Key,
    Freie Software, Signatur, prüfen, FLOSS, Open Source Software, PKI, Ordner} 
]{hyperref}

% set graphic extension
\begin{latexonly}
    \ifpdf
        \DeclareGraphicsExtensions{.png}
    \else
        \DeclareGraphicsExtensions{.eps}
    \fi
\end{latexonly}

% set page header/footer
\T\ifthenelse{\boolean{DIN-A5}}
{% DIN A5
    \T\fancyhead{} % clear all fields
    \T\fancyhead[LO,RE]{\itshape\nouppercase{\leftmark}}
    \T\fancyhead[RO,LE]{\large\thepage}
    \T\fancyfoot[CE]{www.bomots.de}
    \T\fancyfoot[CO]{Sichere E-Mail}
    \T\pagestyle{fancy}
    \renewcommand\chaptermark[1]{\markboth{\thechapter. \ #1}{}}
    \renewcommand{\footrulewidth}{0.2pt} 
}
{% DIN A4 
    \T\fancyhead{} % clear all fields
    \T\fancyhead[LO,RE]{Das Gpg4win-Kompendium \compendiumVersionDE
        %\T\manualinprogress
        \T\\
        \T\itshape\nouppercase{\leftmark}}
    \T\fancyhead[RO,LE]{\includegraphics[height=0.7cm]{images-compendium/gpg4win-logo}}
    \T\fancyfoot[C]{\thepage}
    \T\pagestyle{fancy}
}

\makeindex

% define custom commands
\newcommand{\Button}[1]{[\,\textit{#1}\,]}
\newcommand{\Menu}[1]{\textit{#1}}
\newcommand{\Filename}[1]{\small{\texttt{#1}}\normalsize}
\newcommand{\Email}{E-Mail}
\newcommand{\EchelonUrl}{http://www.heise.de/tp/r4/artikel/6/6928/1.html}
\newcommand\margin[1]{\marginline {\sffamily\scriptsize #1}}
\newcommand{\marginOpenpgp}{\marginline{\vspace{10pt}\includegraphics[width=1.5cm]{images-compendium/openpgp-icon}}}
\newcommand{\marginSmime}{\marginline{\vspace{10pt}\includegraphics[width=1.5cm]{images-compendium/smime-icon}}}
\newcommand{\IncludeImage}[2][]{
\begin{center}
\texorhtml{%
  \includegraphics[#1]{images-compendium/#2}%
}{%
  \htmlimg{../images-compendium/#2.png}%
}
\end{center}
}

% custom colors
\definecolor{gray}{rgb}{0.4,0.4,0.4}
\definecolor{lightgray}{rgb}{0.7,0.7,0.7}

\T\parindent 0cm
\T\parskip\medskipamount

% Get the version information from another file.
% That file is created by the configure script.
\input{version.tex}


% Define universal url command.
% Used for latex _and_ hyperlatex (redefine see below).
% 1. parameter = link text (optional);
% 2. parameter = url
% e.g.: \uniurl[example link]{http:\\example.com}
\newcommand{\uniurl}[2][]{%
\ifthenelse{\equal{#1}{}}
{\texorhtml{\href{#2}{\Filename{#2}}}{\xlink{#2}{#2}}}
{\texorhtml{\href{#2}{\Filename{#1}}}{\xlink{#1}{#2}}}}

%%% HYPERLATEX %%%
\begin{ifhtml}
    % HTML title
    \htmltitle{Gpg4win-Kompendium}
    % TOC link in panel
    \htmlpanelfield{Inhalt}{hlxcontents}
    % link to EN version    
    \htmlpanelfield{\htmlattributes*{img}{style=border:none title=English}
        \htmlimg{../images-hyperlatex/english.png}{English}}{../en/\HlxThisUrl}
    % name of the html files
    \htmlname{gpg4win-compendium}
    % redefine bmod
    \newcommand{\bmod}{mod}
    % use hlx icons (default path)
    \newcommand{\HlxIcons}{../images-hyperlatex}

    % Footer
    \htmladdress{$\copyright$ \compendiumDateDE, v\compendiumVersionDE
        %\manualinprogress
    \html{br/}
    \html{small}
    Das Gpg4win-Kompendium ist unter der
    \link{GNU Free Documentation License v1.2}{fdl} lizensiert.
    \html{/small}}

    % Changing the formatting of footnotes
    \renewenvironment{thefootnotes}{\chapter*{Fußnoten}\begin{description}}{\end{description}}

    % redefine universal url for hyperlatex (details see above)
    \newcommand{\linktext}{0}
    \renewcommand{\uniurl}[2][]{%
        \renewcommand{\linktext}{1}%
        % link text is not set
        \begin{ifequal}{#1}{}%
            \xlink{#2}{#2}%
            \renewcommand{linktext}{0}%
        \end{ifequal}
        % link text is set
        \begin{ifset}{linktext}%
             \xlink{#1}{#2}%
    \end{ifset}}

    % german style
    \htmlpanelgerman
    \extrasgerman
    \dategerman
    \captionsgerman


    % SECTIONING:
    %
    % on _startpage_: show short(!) toc (only part+chapter)
    \setcounter {htmlautomenu}{1}
    % chapters should be <H1>, Sections <H2> etc.
    % (see hyperlatex package book.hlx)
    \setcounter{HlxSecNumBase}{-1}
    % show _numbers_ of parts, chapters and sections in toc
    \setcounter {secnumdepth}{1}
    % show parts, chapters and sections in toc (no subsections, etc.)
    \setcounter {tocdepth}{2}
    % show every chapter (with its sections) in _one_ html file
    \setcounter{htmldepth}{2}

    % set counters and numberstyles
    \newcounter{part}
    \renewcommand{\thepart}{\arabic{part}}
    \newcounter{chapter}
    \renewcommand{\thecapter}{\arabic{chapter}}
    \newcounter{section}[chapter]
    \renewcommand{\thesection}{\thechapter.\arabic{section}}
\end{ifhtml}


%%% TITLEPAGE %%%

\title{
    \htmlattributes*{img}{width=300}
    \IncludeImage[width=0.5\textwidth]{gpg4win-logo}%
    \T~\newline
    \T\ifthenelse{\boolean{DIN-A5}}%
    % DIN A5:
    {\begin{latexonly}
        \LARGE Das Gpg4win-Kompendium \\[0.3cm]
        \large \textmd{Sichere E-Mail- und Datei-Verschlüsselung
        \\[-0.3cm] mit GnuPG für Windows}
     \end{latexonly}  
    }%
    % DIN A4:
    {Das Gpg4win-Kompendium \\
      \texorhtml{\Large \textmd}{\large}
      {Sichere E-Mail- und Datei-Verschlüsselung mit GnuPG für
      Windows}
    }
}
\author{
    % Hyperlatex: Add links to pdf versions and Homepage
    \htmlonly{
        \xml{p}\small
        \xlink{Aktuelle PDF-Version zum Download}{http://wald.intevation.org/frs/?group_id=11}\xml{br}
        Zur \xlink{Gpg4win-Homepage}{http://www.gpg4win.de/}\xml{p}
    }
    % Authors
    \T\\[-1cm]
      \small Basierend auf einer Fassung von
    \T\\[-0.2cm]
      \small Ute Bahn, Karl Bihlmeier, Manfred J. Heinze,
      \small Isabel Kramer und Dr. Francis Wray.
      \texorhtml{\\[0.2cm]}{\\}
      \small Grundlegend überarbeitet von
    \T\\[-0.2cm]
      \small Werner Koch, Florian v. Samson, Emanuel Schütze und Dr. Jan-Oliver Wagner.
    \T\\[0.4cm]
}

\date{
    \T\ifthenelse{\boolean{DIN-A5}}%
    % DIN A5:
    {\begin{latexonly}
        \large Eine Veröffentlichung der Gpg4win-Initiative
        \\[0.2cm]
        Version \compendiumVersionDE~vom \compendiumDateDE 
     \end{latexonly}
    }%
    % DIN A4:
    {Eine Veröffentlichung der Gpg4win-Initiative
      \\[0.2cm]
      Version \compendiumVersionDE~vom \compendiumDateDE 
    }
}


%%% BEGIN DOCUMENT %%%

\begin{document}
\T\pdfbookmark[0]{Titelseite}{titel}
% set title page
\texorhtml{
    \ifthenelse{\boolean{DIN-A5}}
    {\noindent\hspace*{7mm}\parbox{\textwidth}{\centering\maketitle}\cleardoublepage}
    {\maketitle}
}
{\maketitle}


% improved handling of long (outstanding) lines
\T\setlength\emergencystretch{3em} \tolerance=1000


\T\section*{Impressum}
\W\chapter*{Impressum}\\

\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 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.



\clearpage
\chapter*{Über dieses Kompendium}
\T\ifthenelse{\boolean{DIN-A5}}{\enlargethispage{2\baselineskip}}{}

Das Gpg4win-Kompendium besteht aus drei Teilen:

\begin{itemize}
\item \textbf{Teil~\link*{1}[\ref{part:Einsteiger}]{part:Einsteiger} "`Für Einsteiger"'}: Der
    Schnelleinstieg in Gpg4win.

\item \textbf{Teil~\link*{2}[\ref{part:Fortgeschrittene}]{part:Fortgeschrittene} "`Für
    Fortgeschrittene"'}:
    Das Hintergrundwissen zu Gpg4win.

\item \textbf{Anhang}: Weiterführende technische Informationen zu
    Gpg4win.\\
\end{itemize}

\textbf{Teil~\link*{1}[\ref{part:Einsteiger}]{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.\\

\textbf{Teil~\link*{2}[\ref{part:Fortgeschrittene}]{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.\\

Im \textbf{Anhang} 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}

\clearpage
\chapter*{Legende \htmlonly{\html{br}\html{br}}}

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}

\cleardoublepage
\T\pdfbookmark[0]{\contentsname}{toc}
\tableofcontents

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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}}


\chapter{Gpg4win -- Kryptografie für alle}
\index{Kryptografie}

Was ist Gpg4win?\index{Gpg4win} Die deutsche Wikipedia beantwortet diese Frage so: 
\begin{quote}
    \textit{Gpg4win ist ein Installationspaket für Windows (2000/XP/2003/Vista)
mit Computer-Programmen und Handbüchern zur \Email{}- und
Dateiverschlüsselung.  Dazu gehören die Verschlüsselungs-Soft\-ware
GnuPG sowie mehrere Anwendungen und die Dokumentation.  Gpg4win selbst
und die in Gpg4win enthaltenen Programme sind Freie
Software.}

\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 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.
    \item \textbf{Claws Mail}\index{Claws Mail}\\ ist ein vollständiges
        \Email{}-Programm mit sehr guter Unterstützung für GnuPG.
\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 2440), ist vollständig kompatibel
zu PGP und benutzt auch die gleiche Infrastruktur (Zertifikatsserver
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.de]{http://www.bsi.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 der
Wikipedia über das 
Echelon-System\footnote{\uniurl[\EchelonUrl]{\EchelonUrl}}
\index{Echelon-System}
liefert dazu interessantes Hintergrundwissen.

Denn: der Umschlag fehlt.

\htmlattributes*{img}{width=300}
\IncludeImage[width=0.5\textwidth]{sealed-envelope}

\clearpage
Was Ihnen hier vorgeschlagen wird, ist ein "`Umschlag"' für Ihre
elektronischen Briefe. Ob Sie ihn benutzen, wann, für wen und wie oft,
ist ganz allein Ihre Sache. Software wie Gpg4win gibt Ihnen lediglich
die Wahlfreiheit zurück. Die Wahl, ob Sie persönlich eine Nachricht
für wichtig und schützenswert halten oder nicht.

Das ist der Kern des Rechts auf Brief-, Post- und
Fernmeldegeheimnis\index{Fernmeldegeheimnis}\index{Postgeheimnis}\index{Briefgeheimnis}
im Grundgesetz, und dieses Recht können Sie mit Hilfe des
Programmpakets Gpg4win wahrnehmen. Sie müssen diese Software nicht
benutzen -- Sie müssen ja auch keinen Briefumschlag benutzen. Aber es
ist Ihr gutes Recht.

Um dieses Recht zu sichern, bietet Gpg4win Ihnen eine sogenannte
"`starke Verschlüsselungstechnik"'. "`Stark"' bedeutet hier: mit keinem
bekannten Mittel zu knacken. In vielen Ländern waren starke
Verschlüsselungsmethoden bis vor ein paar Jahren den Militärs und
Regierungsbehörden vorbehalten. Das Recht, sie für jeden Bürger
nutzbar zu machen, haben sich die Internetnutzer mühsam erobert;
manchmal auch mit der Hilfe von klugen und weitsichtigen Menschen in
Regierungsinstitutionen, wie im Falle der Unterstützung von Freier
Software für die Verschlüsselung.  GnuPG wird von Sicherheitsexperten
in aller Welt als eine praktikable und sichere Software angesehen.

\textbf{Wie wertvoll diese Sicherheit für Sie ist, liegt ganz in Ihrer
Hand.}

Sie allein bestimmen das Verhältnis zwischen Bequemlichkeit bei der
Verschlüsselung und größtmöglicher Sicherheit.  Dazu gehören die
wenigen, aber umso wichtigeren Vorkehrungen, die Sie treffen müssen,
um Gpg4win richtig zu nutzen. In diesem Kompendium wird Ihnen
dieses Vorgehen Schritt für Schritt erläutern.


\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 (im öffentlichen
Zertifikat)~-- 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
Zertifikat 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}

Kapitel~\ref{ch:CreateKeyPair} dieses Kompendiums zur Erzeugung des
Schlüsselpaares verzweigt sich aus diesem Grund zu beiden Methoden. Am Ende
von Kapitel~\ref{ch:CreateKeyPair} fließen die Informationen wieder
zusammen.

\begin{latexonly} %no hyperlatex
Im weiteren Verlauf dieses Kompendiums weisen wir mit diesen beiden 
Symbolen auf die beiden Alternativen hin:

\begin{center}
\includegraphics[width=2.5cm]{images-compendium/openpgp-icon}
\hspace{1cm}
\includegraphics[width=2.5cm]{images-compendium/smime-icon}
\end{center}
\end{latexonly}


\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 (wie z.B.  GnuPP, GnuPT, WinPT oder GnuPG Basics), 
dann lesen bitte im Anhang \ref{ch:migration} nach, wie Sie Ihre
vorhandenen Zertifikate übernehmen können.

Sie können Gpg4win aus dem Internet oder von einer CD laden und
installieren.  Sie benötigen dafür Administratorrechte in Ihrem
Windows-Betriebssystem. 

Wenn Sie Gpg4win aus dem Internet laden, achten Sie unbedingt darauf,
dass Sie die Datei von einer vertrauenswürdigen Seite erhalten, z.B.:
\uniurl[www.gpg4win.de]{http://www.gpg4win.de}. Zum Start der
Installation klicken Sie nach dem Download auf die Datei:

\Filename{gpg4win-2.0.0.exe} (oder mit einer höheren Versionsnummer).

Falls Sie Gpg4win auf einer CD-ROM erhalten haben, öffnen Sie sie und
klicken Sie auf das Installations-Icon "`Gpg4win"'.
Die weitere Installation ist dann identisch.

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
Die nächste Seite präsentiert das  \textbf{Lizenzabkommen} -- es ist
nur dann wichtig, wenn Sie Gpg4win verändern oder weitergeben wollen.
Wenn Sie die Software einfach nur benutzen wollen, dann können Sie das
sofort tun -- auch ohne die Lizenz zu lesen.

% screenshot: Lizenzseite des Installers
\IncludeImage[width=0.85\textwidth]{sc-inst-license_de}

Klicken Sie 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. Hilfreich ist auch die Anzeige des benötigten
Festplatten-Platzes aller ausgewählten Komponenten.

% 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$Programme$\backslash$GNU$\backslash$GnuPG}

Ü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{Weiter}.

\clearpage
Jetzt können Sie festlegen, welche \textbf{Verknüpfungen} installiert
werden -- voreingestellt ist eine Verknüpfung mit dem Startmenü.  Diese
Verknüpfungen können Sie später mit den Bordmitteln von Windows
verändern.

% screenshot: Auswahl der Startlinks
\IncludeImage[width=0.85\textwidth]{sc-inst-options_de}

Klicken Sie anschließend auf \Button{Weiter}.

\clearpage
Wenn Sie die Voreinstellung -- \textbf{Verknüpfung mit dem Startmenü}
-- ausgewählt haben, dann können Sie auf der Folgeseite den Namen
dieses Startmenüs festlegen oder einfach übernehmen.

% screenshot:  Startmenu auswählen
\IncludeImage[width=0.85\textwidth]{sc-inst-startmenu_de}

Klicken Sie dann auf \Button{Installieren}.

\clearpage
Während der nun folgenden \textbf{Installation} sehen Sie einen
Fortschrittsbalken und Informationen, welche Datei momentan
installiert wird.  Sie können jederzeit auf \Button{Details~anzeigen}
drücken, um ein Protokoll der Installation sichtbar zu machen.

% 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 die README-Datei anzeigen zu lassen, die
wichtige Informationen zu der soeben installierten Gpg4win-Version
enthält.  Sofern Sie die README-Datei nicht ansehen wollen,
deaktivieren Sie diese Option.

Klicken Sie schließlich auf \Button{Fertig stellen}.

\clearpage
In einigen Fällen kann es vorkommen, dass Windows neu gestartet werden
muss. In diesem Fall sehen Sie statt der vorherigen die folgende Seite:

% screenshot: Finish page Installer with reboot
\IncludeImage[width=0.85\textwidth]{sc-inst-finished2_de}

Sie können hier auswählen, ob Windows sofort oder später manuell neu
gestartet werden soll.

Klicken Sie auf \Button{Fertig stellen}.

%TODO: NSIS-Installer anpassen, dass vor diesem
%Reboot-Installationsdialog auch ein Hinweis auf die README-Datei
%erscheint.
Lesen Sie bitte die README-Datei mit aktuellen Informationen zu der
soeben installierten Gpg4win-Version. Sie finden diese Datei z.B.
über das Startmenü:\\
\Menu{Start$\rightarrow$Programme$\rightarrow$Gpg4win$\rightarrow$Dokumentation$\rightarrow$Gpg4win README}

\clearpage
\textbf{Das war's schon!}

Sie haben Gpg4win erfolgreich installiert und können es gleich zum
ersten Mal starten.

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 Zertifikats}
\label{ch:CreateKeyPair}
\index{Zertifikat!erstellen}
\index{Schlüssel!erzeugen}

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
geheimes Zertifikat mit dem öffentlichen \textit{und} dem geheimen
Schlüssel.

Diese Definition gilt sowohl für OpenPGP wie auch für S/MIME
(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 ...}

\T\marginOpenpgp
Genau das können Sie tun -- allerdings nur für OpenPGP:

Wenn Sie sich für die OpenPGP-Methode der Beglaubigung
\index{Beglaubigung} entscheiden,
das "`Web of Trust"', dann können Sie den gesamten Ablauf der
Schlüsselpaar-Erzeugung, Verschlüsselung und Entschlüsselung
durchspielen, so oft Sie wollen, bis Sie ganz sicher sind.

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.

Ihr Partner bei diesen Übungen wird \textbf{Adele} sein.  Adele ist
ein Testservice, der noch aus dem Vorgänger-Projekt GnuPP\index{GnuPP}
stammt und bis auf Weiteres in Betrieb ist.  Auch in diesem Kompendium
können wir die Benutzung des Übungsroboters nur empfehlen. Wir
bedanken uns bei den Inhabern von gnupp.de für den Betrieb von Adele.

Mit Hilfe von Adele können Sie Ihr OpenPGP-Schlüsselpaar, das Sie
gleich erzeugen werden, ausprobieren und testen, bevor Sie damit Ernst
machen. Doch dazu später mehr.

\clearpage
\textbf{Los geht's!}
Rufen Sie das Programm Kleopatra über das Windows-Startmenü auf:

% screenshot Startmenu with Kleopatra highlighted
\htmlattributes*{img}{width=400}
\IncludeImage[width=0.7\textwidth]{sc-kleopatra-startmenu_de}

Daraufhin sehen Sie das Hauptfenster von Kleopatra\index{Kleopatra} --
die Zertifikatsverwaltung:
\index{Zertifikatsverwaltung}

% screenshot: Kleopatra main window
\htmlattributes*{img}{width=508}
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-mainwindow-empty_de}

Zu Beginn ist diese Übersicht leer, da Sie noch keine
Zertifikate erstellt (oder importiert) haben. 

\clearpage
Klicken Sie auf \Menu{Datei$\rightarrow$Neues~Zertifikat}. 

Im folgenden Dialog entscheiden Sie sich für ein Format, in dem
anschließend ein Zertifikat erstellt werden soll.  Sie haben die Wahl
zwischen \textbf{OpenPGP} (PGP/MIME) oder \textbf{X.509} (S/MIME).
Die Unterschiede und Gemeinsamkeiten wurden bereits in
Kapitel~\ref{ch:openpgpsmime} erläutert.

\label{chooseCertificateFormat}
% screenshot: Kleopatra - New certificate - Choose format
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-ChooseCertificateFormat_de}

~\\Dieses Kapitel des Kompendiums verzweigt sich an dieser Stelle zu beiden
Methoden.  Am Ende des Kapitels fließen die Informationen wieder
zusammen.

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-Zertifikat erstellen} \T(siehe nächste
        Seite) oder
    \item Abschnitt \ref{createKeyPairX509}:
        \textbf{X.509-Zertifikat erstellen} \T (siehe Seite
        \pageref{createKeyPairX509}).
\end{itemize}



\clearpage
\section{OpenPGP-Zertifikat erstellen}
\label{createKeyPairOpenpgp}
\index{OpenPGP!Zertifikat erstellen}

\T\marginOpenpgp
Klicken Sie im Zertifikats-Auswahldialog auf \Button{Persönliches
OpenPGP-Schlüsselpaar erzeugen}.


Geben Sie im nun folgenden Fenster 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
\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{Heinrich Heine} und \Filename{heinrich@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 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: Creating OpenPGP Certificate - Review Parameters
\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
\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 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. Bestätigen Sie Ihre Eingabe jeweils mit
\Button{OK}.

\clearpage
Nun wird Ihr OpenPGP-Schlüsselpaar angelegt: 
% screenshot: Creating OpenPGP Certificate - Create Key
\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
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-openpgp-keyPairCreated_de}

Im Ergebnis-Textfeld wird der 40-stellige
"`Fingerabdruck"'\index{Fingerabdruck} Ihres neu
generierten OpenPGP-Zertifikats angezeigt. Dieser Fingerabdruck (engl.
"`Fingerprint"') ist weltweit eindeutig, d.h. keine andere Person
besitzt ein Zertifikat 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 Zertifikats wie
der Fingerabdruck einer Person.

Sie brauchen sich den Fingerabdruck nicht zu merken oder
abzuschreiben. In den Zertifikatsdetails 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) Zertifikats erstellen...]~\\
    Geben Sie hier den Pfad an, unter dem Ihr vollständiges Zertifikat
    (das Ihr neues Schlüsselpaar enthält, also den geheimen
    \textit{und} öffentlichen Schlüssel) exportiert werden soll:

    % screenshot: New OpenPGP certificate - export key
    \IncludeImage[width=0.5\textwidth]{sc-kleopatra-openpgp-exportSecretKey_de}

    Kleopatra wählt automatisch den Dateityp und speichert Ihr
    Zertifikat 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ü:
    \Menu{Datei$\rightarrow$Geheimes Zertifikat exportieren...} (vgl.
    Kapitel \ref{ch:ImExport}).

\item[Zertifikat per \Email{} versenden...]~\\ Nach dem Klick auf
    diese Schaltfläche sollte eine neue \Email{} erstellt werden --
    mit Ihrem neuen öffentlichen Zertifikat 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
    Zertifikats\-erstellungs-Assistenten, speichern Ihr öffentliches
    Zertifikat durch \Menu{Datei$\rightarrow$Zertifikat exportieren}
    und versenden diese Datei per \Email{} an Ihre
    Korrespondenzpartner. Weitere Details finden Sie im
    Abschnitt~\ref{sec_publishPerEmail}.

\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-Zertifikat ist damit fertig erstellt.  Beenden Sie
anschließend den Kleopatra-Assistenten mit \Button{Fertigstellen}.

Weiter geht's mit dem Abschnitt~\ref{sec_finishKeyPairGeneration} 
auf Seite~\pageref{sec_finishKeyPairGeneration}. Von dort an
sind die Erklärungen für OpenPGP und X.509 wieder identisch.


\clearpage
\section{X.509-Zertifikat erstellen}
\label{createKeyPairX509}
\index{X.509!Zertifikat erstellen}

\T\marginSmime
Klicken Sie im Zertifikatsformat-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=Heinrich
Heine,O=Test,C=DE,EMAIL=heinrich@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}.

\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}

\T\marginSmime
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}.

~\\
Weiter geht's mit Abschnitt \ref{sec_finishKeyPairGeneration} auf der
nächsten Seite. Von nun an sind die Erklärungen für OpenPGP und X.509
wieder identisch.


\clearpage
\section{Zertifikatserstellung abgeschlossen}
\label{sec_finishKeyPairGeneration}

\textbf{Damit ist die Erzeugung Ihres OpenPGP- bzw.
X.509-Schlüsselpaares abgeschlossen.  Sie besitzen nun einen
einzigartigen elektronischen Schlüssel.}

Im weiteren Verlauf des Kompendiums wird nur noch ein
OpenPGP-Zertifikat als Beispiel verwendet -- alles Gesagte gilt aber
auch entsprechend für ein X509-Zertifikat.

%TODO: X.509-Zertifikat noch nicht in Kleopatra sichtbar!

Sie befinden sich nun wieder im Hauptfenster von Kleopatra. 
Das soeben erzeugte OpenPGP-Zertifikat finden Sie in der
Zertifikatsverwaltung unter dem Reiter \Menu{Meine Zertifikate}:

% screenshot: Kleopatra with new openpgp certificate
\htmlattributes*{img}{width=508}
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-withOpenpgpTestkey_de}

\clearpage
Doppelklicken Sie auf Ihr neues Zertifikat, um alle Zertifikatsdetails
sehen zu können:

% screenshot: details of openpgp certificate
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-openpgp-certificateDetails_de}

Was bedeuten die einzelnen Zertifikatsdetails?

Ihr Zertifikat 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 Zertifikat finden Sie im
Kapitel~\ref{ch:CertificateDetails}.}


\clearpage
\chapter{Verbreitung des öffentlichen Zertifikats}
\label{ch:publishCertificate}
\index{Zertifikat!verbreiten}

Beim täglichen Gebrauch von Gpg4win ist es sehr praktisch, dass Sie es
beim Verschlüsseln und Signaturprüfen stets nur mit "`ungeheimen"'
(also öffentlichen) Zertifikaten zu tun haben, die nur öffentliche
Schlüssel enthalten. Solange Ihr eigener geheimer Schlüssel und die
ihn schützende Passphrase sicher sind, haben Sie das Wichtigste zur
Geheimhaltung bereits erledigt.

Jedermann darf und soll Ihr öffentliches Zertifikat haben, und Sie
können und sollen öffentliche Zertifikate von Ihren
Korrespondenzpartnern haben -- je mehr, desto besser.

Denn:

\textbf{Um sichere \Email{}s austauschen zu können, müssen beide
Partner jeweils das öffentliche Zertifikat des anderen besitzen und
benutzen. Natürlich benötigt der Empfänger auch ein Programm, das mit
Zertifikaten umgehen kann -- wie z.B. das Softwarepaket Gpg4win mit
der Zertifikatsverwaltung Kleopatra.}

Wenn Sie also an jemanden verschlüsselte \Email{}s schicken wollen,
müssen Sie dessen öffentliches Zertifikat haben und zum Verschlüsseln
benutzen.

Wenn -- andersherum -- jemand Ihnen verschlüsselte \Email{}s schicken
will, muss er Ihr öffentliches Zertifikat haben und zum Verschlüsseln
benutzen.

Deshalb sollten Sie nun Ihr öffentliches Zertifikat zugänglich machen.
Je nachdem, wie groß der Kreis Ihrer Korrespondenzpartner ist und
welches Zertifikatsformat Sie einsetzen, gibt es dazu verschiedene
Möglichkeiten. Verbreiten Sie Ihr öffentliches Zertifikat
beispielsweise ...

\begin{itemize}
    \item ... direkt per \textbf{\Email{}} an bestimmte
    Korrespondenzpartner -- siehe Abschnitt~\ref{sec_publishPerEmail}.
    \item ... auf einem \textbf{OpenPGP-Zertifikatsserver} 
        (gilt \textit{nur} für OpenPGP) -- siehe Abschnitt~\ref{sec_publishPerKeyserver}.
    \item ... über die eigene Homepage.
    \item ... persönlich, z.B. per USB-Stick.
\end{itemize}

Die ersten beiden Varianten können Sie sich nun auf den folgenden
Seiten näher anschauen.

\clearpage
\section{Veröffentlichen per \Email{}, mit Übung für OpenPGP}
\label{sec_publishPerEmail}

Sie wollen Ihr öffentliches Zertifikat Ihrem Korrespondenzpartner
bekannt machen?  Schicken Sie ihm doch einfach Ihr exportiertes
öffentliches Zertifikat per \Email{}. Wie das genau funktioniert,
erfahren Sie in diesem Abschnitt.\\ 

\T\marginOpenpgp
Üben Sie jetzt diesen Vorgang einmal mit Ihrem öffentlichen
OpenPGP-Zertifikat!  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. Weil man gewöhnlich mit einer klugen
und netten jungen Dame lieber korrespondiert als mit einem Stück
Software (was sie 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}

Schicken Sie zunächst Adele Ihr öffentliches OpenPGP-Zertifikat. Mit
Hilfe des öffentlichen Schlüssels aus diesem Zertifikat sendet Adele
eine verschlüsselte \Email{} an Sie zurück.

Diese Antwort von Adele entschlüsseln Sie mit Ihrem eigenen geheimen
Schlüssel. Damit Sie wiederum Adele verschlüsselt antworten können,
legt Adele ihr eigenes öffentliches Zertifikat bei.

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 ziemlich übel nehmen würde.

Exportieren Sie also nun Ihr öffentliches OpenPGP-Zertifikat und
senden dieses per \Email{} an Adele. Wie das geht, erfahren Sie auf
den nächsten Seiten.


\clearpage
\subsubsection{Exportieren Ihres öffentlichen OpenPGP-Zertifikats}
\index{Zertifikat!exportieren}

Selektieren Sie in Kleopatra das zu exportierende öffentliche
Zertifikat (durch Klicken auf die entsprechende Zeile in der Liste der
Zertifikate) und klicken Sie dann auf
\Menu{Datei$\rightarrow$Zertifikate exportieren...} im Menü.  Wählen
Sie einen geeigneten Dateiordner auf Ihrem PC aus und speichern Sie
das öffentliche Zertifikat im Dateityp \Filename{.asc} ab, z.B.:
\Filename{mein-OpenPGP-Zertifikat.asc}.  Die beiden anderen zur
Auswahl stehenden Dateitypen, \Filename{.gpg} oder \Filename{.pgp},
speichern Ihr Zertifikat im Binärformat. D.h., sie sind, anders als
eine \Filename{.asc}-Datei, nicht im Texteditor lesbar.

Achten Sie beim Auswählen des Menüpunktes unbedingt darauf, dass Sie
auch wirklich nur Ihr öffentliches Zertifikat exportieren -- und
\textit{nicht} aus Versehen das Zertifikat Ihres kompletten
Schlüsselpaars mit zugehörigem geheimen Schlüssel.

Sehen Sie sich zur Kontrolle einmal diese Datei an. Nutzen Sie dazu
den Windows-Explorer und wählen Sie denselben Order aus, den Sie beim
Exportieren angegeben haben.

\textbf{Öffnen} Sie die exportierte Zertifikats-Datei mit einem
Texteditor, z.B. mit WordPad. Sie sehen Ihr öffentliches
OpenPGP-Zertifikat im Texteditor so, wie es wirklich aussieht -- ein
ziemlich wirrer Text- und Zahlenblock:
\T\enlargethispage{\baselineskip}

% screenshot: Editor mit ascii armored key
\IncludeImage[width=0.85\textwidth]{sc-wordpad-editOpenpgpKey_de}

\clearpage
Bei der Veröffentlichung Ihres OpenPGP-Zertifikats per \Email{} gibt es
zwei Varianten, die berücksichtigen, ob ein \Email{}-Programm Anhänge
versenden kann oder nicht.

\subsubsection{Variante 1: Öffentliches OpenPGP-Zertifikat als
\Email{}-Text versenden}

Diese Möglichkeit funktioniert immer, selbst wenn Sie ­-- z.B. bei
manchen \Email{}-Diensten im Web ­-- keine Dateien anhängen können.\\
Zudem bekommen Sie so Ihr öffentliches Zertifikat zum ersten Mal zu
Gesicht und wissen, was sich dahinter verbirgt und woraus das
Zertifikat eigentlich besteht.

\textbf{Markieren} Sie nun im Texteditor das gesamte öffentliche
Zertifikat von

\Filename{-----BEGIN PGP PUBLIC KEY BLOCK-----}\\
bis\\
\Filename{-----END PGP PUBLIC KEY BLOCK-----}

und \textbf{kopieren} Sie es mit dem Menübefehl oder mit dem
Tastaturkürzel \Filename{Strg+C}. Damit haben Sie das Zertifikat in
den Speicher Ihres Rechners (bei Windows Zwischenablage genannt)
kopiert.

Nun starten Sie Ihr \Email{}-Programm ­-- es spielt keine Rolle,
welches Sie benutzen -- und fügen Ihr öffentliches Zertifikat in eine
leere \Email{} ein.  Der Tastaturbefehl zum Einfügen ("`Paste"')
lautet bei Windows \Filename{Strg+V}. Diesen Vorgang ­-- Kopieren und
Einfügen ­-- kennen Sie vielleicht als "`Copy \& Paste"'.

Das \Email{}-Programm  sollte so eingestellt sein, dass reine
Textnachrichten gesendet werden und keine HTML-formatierten Nachrichten
(vgl. Abschnitt \ref{sec_brokenSignature} und Anhang
\ref{appendix:gpgol}).

\textbf{Adressieren} Sie nun diese \Email{} an
\Filename{adele@gnupp.de} und schreiben Sie in die Betreffzeile z.B.
\Menu{Mein öffentliches OpenPGP-Zertifikat}.

\clearpage
So etwa sollte Ihre \Email{} nun aussehen:

% screenshot: Outlook composer fenster mit openpgp zertifikat.
\IncludeImage[width=0.85\textwidth]{sc-ol-adele-sendOpenpgpKey-inline_de}

Schicken Sie die \Email{} an Adele ab.

Nur zur Vorsicht: Natürlich sollten Ihre \Email{}s Ihre
\textit{eigene} \Email{}-Adresse als Absender haben. Andernfalls werden
Sie nie Antwort von Adele bekommen ...

\clearpage
\subsubsection{Variante 2: Öffentliches OpenPGP-Zertifikat als \Email{}-Anhang
versenden}

Alternativ zu Variante 1 können Sie natürlich Ihr exportiertes
öffentliches OpenPGP-Zertifikat auch direkt als
\textbf{\Email{}-Dateianhang} versenden. Das ist oftmals das
einfachere und gebräuchlichere Verfahren. Sie haben oben die "`Copy \&
Paste"'-Methode zuerst kennengelernt, weil sie transparenter und
leichter nachzuvollziehen ist.

Schreiben Sie Adele nun noch einmal eine neue \Email{} -- diesmal mit
der Zertifikatsdatei im Anhang:

Fügen Sie die vorher exportierte Zertifikatsdatei als Anhang zu Ihrer
neuen \Email{} hinzu -- genauso wie Sie es mit jeder anderen Datei
auch machen (z.B. durch Ziehen der Datei in das leere \Email-Fenster).
Ergänzen Sie den Empfänger (\Filename{adele@gnupp.de}) und einen
Betreff, z.B.: \Menu{Mein öffentliches OpenPGP-Zertifikat - als
Dateianhang}.

Selbstverständlich dürfen Sie auch noch ein paar erklärende Sätze
dazuschreiben.  Adele braucht diese Erklärung jedoch nicht, denn sie
ist zu nichts anderem als zu diesem Übungszweck programmiert worden.

Ihre fertige \Email{} sollte dann etwa so aussehen:
\T\enlargethispage{2\baselineskip}

% screenshot: Outlook composer fenster mit openpgp zertifikat im Anhang
\IncludeImage[width=0.85\textwidth]{sc-ol-adele-sendOpenpgpKey-attachment_de}

Senden Sie nun die \Email{} mit Anhang an Adele ab.

\clearpage
\subsubsection{Kurz zusammengefasst}

Sie haben Ihr öffentliches OpenPGP-Zertifikat in Kleopatra in eine
Datei exportiert. Anschließend haben Sie einmal den Inhalt der Datei
direkt in eine \Email{} kopiert und einmal die komplette Datei als
\Email{}-Anhang beigefügt. Beide \Email{}s haben Sie an einen
Korrespondenzpartner geschickt -- in Ihrem Fall also an Adele.

Genauso gehen Sie vor, wenn Sie Ihr öffentliches Zertifikat an eine
echte \Email{}-Adresse senden. In der Regel sollten Sie öffentliche
Zertifikate als Dateianhang versenden, wie in Variante 2 geschildert.
Dies ist für Sie und Ihren Empfänger das Einfachste. Und es hat den
Vorteil, dass Ihr Empfänger Ihre Zertifikatsdatei direkt (ohne Umwege)
in seine Zertifikatsverwaltung (z.B. Kleopatra) importieren kann.

\clearpage
\section{Veröffentlichen per OpenPGP-Zertifikatsserver}
\label{sec_publishPerKeyserver}

\T\marginOpenpgp
\textbf{Beachten Sie bitte: Nur Ihr OpenPGP-Zertifikat lässt sich über
einen OpenPGP-Zertifikats\-server verbreiten.}

Die Publizierung Ihres öffentlichen OpenPGP-Zertifikats auf einem
öffentlichen Zertifikatsserver bietet sich eigentlich immer an, selbst
wenn Sie nur mit wenigen Partnern verschlüsselte \Email{}s
austauschen. Ihr öffentliches Zertifikat ist dann für jedermann
zugänglich auf einem Server im Internet verfügbar. Sie ersparen sich
dadurch das Versenden Ihres Zertifikats per \Email{} an jeden Ihrer
Korrespondenzpartner.

Allerdings kann die Veröffentlichung Ihrer \Email{}-Adresse auf einem
Zertifikatsserver auch bedeuten, dass sich das Spam-Aufkommen für
diese \Email{}-Adresse erhöht. Dagegen hilft nur ein wirksamer
Spam-Schutz.

~\\ \textbf{Und so geht's:} Wählen Sie Ihr öffentliches
OpenPGP-Zertifikat in Kleopatra aus und klicken Sie im Menü auf
\Menu{Datei$\rightarrow$Zertifikate nach Server exportieren...}.

Sofern Sie noch keinen Zertifikatsserver definiert haben, bekommen Sie
eine Warnmeldung:

% screenshot: Kleopatra keyserver export warning
\IncludeImage[width=0.6\textwidth]{sc-kleopatra-exportCertificateToServer_de}

Es ist der öffentliche OpenPGP-Zertifikatsserver
\Filename{keys.gnupg.net} bereits voreingestellt.  Klicken Sie auf
\Button{Fortsetzen}, um Ihr ausgewähltes öffentliches Zertifikat an
diesen Server zu schicken. Von dort aus wird Ihr öffentliches
Zertifikat an alle weltweit verbundenen Zertifikatsserver
weitergereicht.  Jedermann kann Ihr öffentliches Zertifikat dann von
einem dieser OpenPGP-Zertifikatsserver herunterladen und dazu
benutzen, Ihnen eine sichere \Email{} zu schreiben.

Wenn Sie den Ablauf nur testen, dann schicken Sie das Übungszertifikat
bitte \textit{nicht} ab: Klicken Sie im obigen Dialog auf
\Button{Abbrechen}.  Das Testzertifikat ist wertlos und kann nicht
mehr vom Zertifikatsserver entfernt werden.  Sie glauben nicht, wie
viele Testzertifikate mit Namen wie "`Julius Caesar"', "`Helmut Kohl"'
oder "`Bill Clinton"' dort schon seit Jahren herumliegen ...

\clearpage
\subsubsection{Kurz zusammengefasst}
Sie wissen nun, wie Sie Ihr öffentliches OpenPGP-Zertifikat auf einem
OpenPGP-Zertifikatsserver im Internet veröffentlichen.

\textbf{Wie Sie das öffentliche OpenPGP-Zertifikat eines
Korrespondenzpartners auf Zertifikatsservern suchen und importieren,
erfahren Sie im Kapitel~\ref{ch:keyserver}.  Sie können dieses Kapitel
jetzt lesen oder später, wenn Sie diese Funktion benötigen.}


\clearpage
\section{Veröffentlichen von X.509-Zertifikaten}
\label{publishPerEmailx509}

\T\marginSmime
Bei öffentlichen X.509-Zertifikaten funktioniert die Sache sogar noch
einfacher: es genügt, wenn Sie Ihrem Korrespondenzpartner eine
signierte S/MIME-\Email{} senden. Ihr öffentliches X.509-Zertifikat
ist in dieser Signatur enthalten und kann von dem Empfänger in seine
Zertifikatsverwaltung importiert werden.

Leider müssen Sie bei X.509-Zertifikaten auf ein paar Übungsrunden mit
Adele verzichten, denn Adele unterstützt nur OpenPGP.  Zum Üben
sollten Sie sich also einen anderen Korrespondenzpartner aussuchen
oder testweise an sich selbst schreiben.

Die Verbreitung von öffentlichen X.509-Zertifikaten erfolgt in einigen
Fällen durch die Beglaubigungsinstanz (CA). Das passiert typischerweise
über X.509-Zertifikatsserver, die sich im Unterschied zu den
OpenPGP-Zertifikatsservern allerdings nicht weltweit synchronisieren.

Beim Exportieren Ihres öffentlichen X.509-Zertifikats können Sie die
vollständige öffentliche Zertifikatskette\index{Zertifikatskette}
markieren und in einer Datei
abspeichern -- in der Regel also Wurzelzertifikat,
CA-Zertifikat\index{CA-Zertifikat} und
Persönliches Zertifikat --  oder nur Ihr öffentliches Zertifikat.

Ersteres ist empfehlenswert, denn Ihrem Korrespondenzpartner fehlen
möglicherweise Teile der Kette, die er sonst zusammensuchen müsste.
Klicken Sie dazu in Kleopatra alle Elemente der Zertifikatskette mit
gedrückter Shift-/Umschalttaste an und exportieren Sie die so markierten
Zertifikate gemeinsam in eine Datei.

Hatte Ihr Korrespondenzpartner das Wurzelzertifikat noch nicht, so
muss er diesem das Vertrauen aussprechen bzw. durch einen
Administrator aussprechen lassen, um letztlich auch Ihnen zu
vertrauen. Ist das bereits vorher geschehen (z.B. weil sie beide zu
der selben  "`Wurzel"' gehören), dann besteht diese
Vertrauensstellung bereits.


\clearpage
\chapter{\Email{}s entschlüsseln, mit Übung für OpenPGP}
\label{ch:decrypt}
\index{E-Mail!entschlüsseln}

Alles, was Sie zum Entschlüsseln von \Email{}s benötigen, ist Gpg4win,
das Zertifikat Ihres Schlüsselpaars und natürlich Ihre Passphrase.

In diesem Kapitel wird Schritt für Schritt erklärt, wie Sie Ihre
\Email{}s in Microsoft Outlook mit der Gpg4win-Programmkomponente
GpgOL entschlüsseln. \index{Outlook}

\T\marginOpenpgp
Zunächst können Sie diesen Vorgang wieder mit Adele und Ihrem
öffentlichen OpenPGP-Zertifikat üben. Die folgenden Übungen gelten
wieder nur für OpenPGP -- Anmerkungen zur Entschlüsselung von
S/MIME-\Email{}s finden Sie am Ende dieses Kapitels auf Seite
\pageref{encrypt-smime}.

Abschnitt~\ref{sec_publishPerEmail} haben Sie Ihr öffentliches
OpenPGP-Zertifikat an Adele geschickt. Mit Hilfe dieses Zertifikats
verschlüsselt Adele nun eine \Email{} und sendet die Nachricht an Sie
zurück. Nach kurzer Zeit sollten Sie Adeles Antwort erhalten.

\T\enlargethispage{\baselineskip}

% cartoon: Adele typing and sending a mail
\IncludeImage[width=0.5\textwidth]{adele02}

\clearpage
\subsubsection{Nachricht mit MS Outlook und GpgOL entschlüsseln}

Für die meisten \Email{}-Programme gibt es spezielle
Programmerweiterungen (engl. "`plugins"'), mit denen die Ver- und
Entschlüsselung direkt im jeweiligen \Email{}-Programm erledigt werden
kann.  \textbf{GpgOL} ist eine solche Programmerweiterung für MS
Outlook, das in diesem Abschnitt benutzt wird, um die \Email{} von
Adele zu entschlüsseln. Hinweise zu weiteren Software-Lösungen finden
Sie im Anhang~\ref{ch:plugins}.  Sie können diesen Abschnitt jetzt
lesen oder später, wenn Sie diese Funktion benötigen.

~\\ Starten Sie MS Outlook und öffnen Sie die Antwort-\Email{} von
Adele.

Kleopatra haben Sie bisher nur als Zertifikatsverwaltung
kennengelernt.  Das Programm leistet aber weitaus mehr: Es kann die
eigentliche Verschlüsselungs-Software GnuPG steuern und damit nicht
nur Ihre Zertifikate verwalten, sondern auch sämtliche
kryptografischen Aufgaben (eben mit Hilfe von GnuPG) erledigen.
Kleopatra sorgt für die graphische Benutzeroberfläche, also die
Dialoge, die Sie als Benutzer sehen, während Sie eine \Email{} ver-
oder entschlüsseln.

Kleopatra bearbeitet also die verschlüsselte \Email{} von Adele. Diese
\Email{} hat Adele mit \textit{Ihrem} öffentlichen OpenPGP-Schlüssel
verschlüsselt.

Um die Nachricht zu entschlüsseln, fragt Kleopatra Sie nun nach Ihrer
Passphrase, die Ihren privaten Schlüssel schützt. Geben Sie Ihre
Passphrase ein.

Die Entschlüsselung war erfolgreich, wenn Sie keinen Fehlerdialog
bekommen! Sie können nun die entschlüsselte \Email{} lesen.

Einen genauen Ergebnisdialog der Entschlüsselung können Sie manuell
aufrufen, indem Sie im Menü der geöffneten \Email{}
auf \Menu{Extras$\rightarrow$GpgOL Entschlüsseln/Prüfen} klicken.

Doch nun wollen Sie sicher das Ergebnis, die entschlüsselte Nachricht, endlich einmal sehen ...

\clearpage
\subsubsection{Die entschlüsselte Nachricht}

Die entschlüsselte Antwort von Adele sieht in etwa so
aus\footnote{Abhängig von der Softwareversion von Adele kann dies auch
etwas unterschiedlich aussehen.}:

%TODO: besser ein Screenshot von einer Adele-Mail in OL.
%TODO: Schlüssel -> Zertifikat

\begin{verbatim}
Hallo Heinrich Heine,

hier ist die verschlüsselte Antwort auf Ihre E-Mail.

Ihr öffentlicher Schlüssel mit der Schlüssel-ID
FE7EEC85C93D94BA und der Bezeichnung
`Heinrich Heine <heinrich@gpg4win.de>'
wurde von mir empfangen.

Anbei der öffentliche Schlüssel von adele@gnupp.de,
dem freundlichen E-Mail-Roboter.

Viele Grüße,
adele@gnupp.de
\end{verbatim}

Der Textblock, der darauf folgt, ist das öffentliche Zertifikat von
Adele.

Im nächsten Kapitel werden Sie dieses Zertifikat importieren und zu
Ihrer Zertifikatsverwaltung hinzufügen. Importierte öffentliche
Zertifikate können Sie jederzeit zum Verschlüsseln von Nachrichten an
Ihren Korrespondenzpartner benutzen oder zum Prüfen dessen signierter
\Email{}s verwenden.

\clearpage
\subsubsection{Kurz zusammengefasst}

\begin{enumerate}
    \item Sie haben eine verschlüsselte \Email{} mit Ihrem geheimen
        Schlüssel entschlüsselt.
    \item Ihr Korrespondenzpartner hat sein eigenes öffentliches
        Zertifikat beigelegt, damit Sie ihm verschlüsselt antworten
        können.
\end{enumerate}


\subsubsection{\Email{}s entschlüsseln mit S/MIME}
\label{encrypt-smime}

\T\marginSmime
So werden also \Email{}s mit dem geheimen OpenPGP-Schlüssel
entschlüsselt -- wie funktioniert das Ganze mit S/MIME?

Die Antwort lautet auch hier: genauso wie bei OpenPGP!

Zum Entschlüsseln einer S/MIME-verschlüsselten \Email{} öffnen Sie die
Nachricht in Outlook und geben im Pinentry-Dialog Ihre Passphrase ein.
Sie bekommen einen ähnlichen Statusdialog wie bei OpenPGP. Nach dem
Schließen dieses Dialogs sehen Sie die entschlüsselte S/MIME-\Email{}.

Im Unterschied zu OpenPGP-Entschlüsselungen müssen Sie bei S/MIME
allerdings auf ein paar Übungsrunden mit Adele verzichten, denn Adele
unterstützt nur OpenPGP.

\clearpage
\chapter{Öffentliches Zertifikat importieren}
\label{ch:importCertificate}
\index{Zertifikat!importieren}

Ihr Korrespondenzpartner muss nicht jedes Mal sein öffentliches
Zertifikat mitschicken, wenn er Ihnen signiert schreibt.  Sie bewahren
sein öffentliches Zertifikat einfach in Ihrer Zertifikatsverwaltung
auf -- z.B. Kleopatra.

\subsubsection{Öffentliches Zertifikat abspeichern}

Bevor Sie ein öffentliches Zertifikat in Kleopatra importieren, müssen
Sie es in einer Datei abspeichern. Abhängig davon, ob Sie das
Zertifikat als \Email{}-Dateianhang oder als Textblock innerhalb Ihrer
\Email{} bekommen haben, gehen Sie wie folgt vor:

\begin{itemize}

\item Liegt das öffentliche Zertifikat  als \textbf{Dateianhang} bei,
    speichern Sie es auf Ihrer Festplatte ab -- genau wie Sie es von
    Ihrem \Email{}-Programm gewohnt sind.

\item Wurde das öffentliche Zertifikat als \textbf{Textblock}
    innerhalb der \Email{} übermittelt, dann müssen Sie das
    vollständige Zertifikat markieren:

    Bei (öffentlichen) OpenPGP-Zertifikaten markieren Sie den Bereich
    von

    \Filename{-----BEGIN PGP PUBLIC KEY BLOCK-----}\\ bis\\
    \Filename{-----END PGP PUBLIC KEY BLOCK-----}

    so wie Sie es im Abschnitt~\ref{sec_publishPerEmail} schon
    getan haben.

    Setzen Sie den markierten Abschnitt per Copy \& Paste in einen
    Texteditor ein und speichern Sie das öffentliche Zertifikat ab.
    Als Dateiendung sollten Sie für OpenPGP-Zertifikate
    \Filename{.asc} oder \Filename{.gpg} und für X.509-Zertifikate
    \Filename{.pem} oder \Filename{.der} wählen.

\end{itemize}

\clearpage
\subsubsection{Öffentliches Zertifikat in Kleopatra importieren}

Ob Sie nun das öffentliche Zertifikat als \Email{}-Anhang oder als
Textblock abgespeichert haben -- in beiden Fällen importieren
Sie es in Ihre Zertifikatsverwaltung Kleopatra.

Starten Sie dafür Kleopatra, sofern das Programm noch nicht läuft.

Klicken Sie im Menü auf \Menu{Datei$\rightarrow$Zertifikat
importieren...}, suchen das eben abgespeicherte öffentliche Zertifikat
aus und importieren es.  Sie erhalten einen Informations-Dialog mit
dem Ergebnis des Importvorgangs:

% screenshot: Kleopatra - certificate import dialog
\IncludeImage[width=0.5\textwidth]{sc-kleopatra-import-certificate_de}

Das erfolgreich importierte, öffentliche Zertifikat wird nun in
Kleopatra angezeigt -- und zwar unter einem separaten Reiter
\Menu{Importierte Zertifikate} von
\Menu{<Pfad-zur-Zertifikatsdatei>}:

% screenshot Kleopatra with new certificate
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-withAdeleKey_de}

Dieser Reiter dient zur Kontrolle, weil einer Datei durchaus auch mehr
als nur ein Zertifikat enthalten kann. Schließen Sie diesen Reiter
über das Menü \Menu{Fenster$\rightarrow$Reiter schließen} (oder über
die "`Reiter schließen"'-Schaltfläche am rechten Fensterrand).

Wechseln Sie auf den Reiter "`Andere Zertifikate"'. Hier sollten Sie nun
das von Ihnen importierte öffentliche Zertifikat ebenfalls sehen.

Damit haben Sie ein fremdes Zertifikat~-- in diesem Beispiel das
öffentliche OpenPGP-Zertifikat von Adele -- in Ihre
Zertifikatsverwaltung importiert. Sie können dieses Zertifikat nun
jederzeit benutzen, um verschlüsselte Nachrichten an den Besitzer
dieses Zertifikats zu senden und dessen Signaturen zu prüfen.

Sobald Sie \Email{}s häufiger und mit vielen Korrespondenzpartnern
verschlüsselt austauschen, wollen Sie wahrscheinlich die Zertifikate
über weltweit erreichbare Zertifikatsserver suchen und importieren
wollen. Wie das geht, können Sie im Kapitel~\ref{ch:keyserver}
nachlesen.\\

\subsubsection{Bevor Sie weitermachen, eine ganz wichtige Frage:}
Woher wissen Sie eigentlich, dass das öffentliche OpenPGP-Zertifikat
wirklich von Adele stammt? Man kann \Email{}s auch unter falschem
Namen versenden -- die Absenderangabe besagt eigentlich gar nichts.

Wie können Sie also sichergehen, dass ein öffentliches Zertifikat auch
wirklich seinem Absender gehört?

\textbf{Diese Kernfrage der Zertifikatsprüfung wird im nächsten
Kapitel~\ref{ch:trust} erläutert.}

\clearpage
\chapter{Die Zertifikatsprüfung}
\label{ch:trust}

Woher wissen Sie eigentlich, dass das fremde Zertifikat wirklich vom
genannten Absender stammt? Und umgekehrt -- warum sollte Ihr
Korrespondenzpartner glauben, dass das Zertifikat, das 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.

\clearpage
\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 Zertifikats.

Jedes Zertifikat 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 Zertifikats in Kleopatra anzeigen
lassen, z.B. durch Doppelklick auf das Zertifikat, sehen Sie u.a.
dessen 40-stelligen Fingerabdruck:

% screenshot: GPA key listing with fingerprint
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-openpgp-certificateDetails_de}

Der Fingerabdruck des oben dargestellten OpenPGP-Zertifikats ist
also:\\ \Filename{7EDC0D141A82250847448E91FE7EEC85C93D94BA}

~\\ Wie gesagt -- der Fingerabdruck identifiziert das Zertifikat und
seinen Besitzer eindeutig.

Rufen Sie Ihren Korrespondenzpartner einfach an und lassen Sie sich
von ihm den Fingerabdruck seines Zertifikats vorlesen. Wenn die
Angaben mit dem Ihnen vorliegenden Zertifikat übereinstimmen, haben
Sie eindeutig das richtige Zertifikat.

Natürlich können Sie sich auch persönlich mit dem Eigentümer des
Zertifikats treffen oder auf einem anderen Wege sicherstellen, dass
Zertifikat 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.


\clearpage
\subsubsection{OpenPGP-Zertifikat beglaubigen}
\index{Zertifikat!beglaubigen}

\T\marginOpenpgp
Nachdem Sie sich "`per Fingerabdruck"' von der Echtheit des
Zertifikats überzeugt haben, können Sie es beglaubigen -- allerdings
nur in OpenPGP.  Bei X.509 können Benutzer keine Zertifikate
beglaubigen -- das bleibt den Beglaubigungsinstanzen (CAs)
vorbehalten.


Durch das Beglaubigen eines Zertifikats teilen Sie anderen
(Gpg4win-)Benutzern mit, dass Sie dieses Zertifikat für echt -- also
autentisch -- halten:
Sie übernehmen so etwas wie die "`Patenschaft"' für dieses Zertifikat
und erhöhen das allgemeine Vertrauen in seine Echtheit.

~\\
\textbf{Wie funktioniert das Beglaubigen nun genau?}\\
Selektieren Sie in Kleopatra das OpenPGP-Zertifikat, das Sie für echt
halten und beglaubigen möchten. Wählen Sie anschließend im Menü:
\Menu{Zertifikate$\rightarrow$Zertifikat beglaubigen...}

Im nachfolgenden Dialog bestätigen Sie nun noch einmal das zu
beglaubigende OpenPGP-Zertifikat mit \Button{Weiter}:

% screenshot: Kleopatra certify certificate 1
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-certifyCertificate1_de}

\clearpage
Im nächsten Schritt wählen Sie Ihr eigenes OpenPGP-Zertifikat aus, mit dem Sie das
im letzten Schritt ausgewählte Zertifikat beglaubigen wollen:

% screenshot: Kleopatra certify certificate 2
\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, das beglaubigte Zertifikat anschließend
auf einen OpenPGP-Zertifikatsserver hochzuladen und damit der Welt
ein mit Ihrer Beglaubigung versehenes, aktualisiertes Zertifikat 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 Zertifikats (mit Ihrem privaten Schlüssel) Ihre Passphrase
eingeben. Erst nach korrekter Eingabe ist die Beglaubigung
abgeschlossen.

\clearpage
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 Zertifikatsdetails des eben beglaubigten Zertifikats.
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 Zertifikat enthalten sind. Hier sollten Sie auch Ihr
Zertifikat wiederfinden, mit dem Sie soeben beglaubigt haben.

\clearpage
\subsubsection{Das Netz des Vertrauens}
\index{Netz des Vertrauens|see{Web of Trust}}
\index{Web of Trust}

\T\marginOpenpgp
Durch das Beglaubigen von Zertifikaten 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-Zertifikat
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 ein Zertifikat, wenn mehrere Leute
es beglaubigen. Ihr eigenes OpenPGP-Zertifikat wird im Laufe der Zeit
die Beglaubigungen vieler anderer GnuPG-Benutzer tragen. Damit können
immer mehr Menschen darauf vertrauen, dass dieses Zertifikat 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
Zertifikatsprüfung aushebeln kann: Jemand schiebt Ihnen ein falsches
Zertifikat unter. Also einen öffentlichen OpenPGP-Schlüssel, der
vorgibt, von X zu stammen, in Wirklichkeit aber von Y ausgetauscht
wurde.  Wenn ein solches gefälschtes Zertifikat beglaubigt wird, hat
das "`Netz des Vertrauens"' natürlich ein Loch. Deshalb ist es so
wichtig, sich zu vergewissern, ob ein Zertifikat 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
Zertifikate ihrer Kunden echt sind? Alle anzurufen kann hier sicher
nicht die Lösung sein~...


\clearpage
\subsubsection{Beglaubigungsinstanzen}
\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-Zertifikate.
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 ein OpenPGP-Zertifikat erhält, das 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 Zertifikates 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.de]{http://www.bsi.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 verschlüsseln}
\label{ch:encrypt}
\index{E-Mail!verschlüsseln}

Jetzt wird es noch einmal spannend: Sie versenden eine verschlüsselte
\Email{}.

In diesem Beispiel brauchen Sie dazu Outlook (oder ein anderes
\Email{}-Programm, das Kryptografie unterstützt), Kleopatra und
natürlich ein öffentliches Zertifikat Ihres Korrespondenzpartners.


\textbf{Hinweis für OpenPGP:}

\T\marginOpenpgp
Zum Üben der Verschlüsselung mit OpenPGP können Sie wieder Adele
nutzen; S/MIME wird dagegen, wie Sie wissen, von Adele nicht
unterstützt.  Ihre zu verschlüsselnde \Email{} an \Filename
{adele@gnupp.de}.  Der Inhalt der Nachricht ist beliebig -- Adele kann
nicht wirklich lesen.

\T\ifthenelse{\boolean{DIN-A5}}{\newpage}{}

\textbf{Hinweis für S/MIME:}

\T\marginSmime
Nach der Installation von Gpg4win ist die S/MIME-Funktionalität in
GpgOL bereits aktiviert. Wenn Sie S/MIME (mit GnuPG) ausschalten
wollen, um z.B. Outlooks eigene S/MIME-Funktionalität zu nutzen,
müssen Sie in dem folgenden GpgOL-Optionsdialog unter
\Menu{Extras$\rightarrow$Optionen$\rightarrow$GpgOL} die Option
\Menu{S/MIME Unterstützung einschalten} deaktivieren:

% screenshot: GpgOL options
\T\ifthenelse{\boolean{DIN-A5}}{
    \T\IncludeImage[width=0.75\textwidth]{sc-gpgol-options_de}
\T}
\T{
    \IncludeImage[width=0.55\textwidth]{sc-gpgol-options_de}
\T}


\clearpage
\subsubsection{Nachricht verschlüsselt versenden}

Verfassen Sie zunächst in Outlook eine neue \Email{} und adressieren
Sie diese an Ihren Korrespondenzpartner.

Dann veranlassen Sie, dass Sie Ihre Nachricht verschlüsselt versendet
wird: Wählen Sie im Menü des Nachrichtenfensters den Punkt
\Menu{Extras$\rightarrow$Nachricht verschlüsseln}.  Die Schaltfläche
mit dem Schloss-Icon in der Symbolleiste ist aktiviert -- Sie können
auch direkt auf das Schloss klicken.

Ihr Outlook-Nachrichtenfenster sollte nun etwa so aussehen:

% screenshot: OL composer with Adele's address and body text
\IncludeImage[width=0.85\textwidth]{sc-ol-sendEncryptedMail_de}

Klicken Sie nun auf \Button{Senden}.

\label{encryptProtocol} ~\\Gpg4win erkennt nun automatisch, für
welches Protokoll -- OpenPGP oder S/MIME -- das öffentliche Zertifikat
Ihres Korrespondenzpartners vorliegt.

Sofern die Zertifikatsauswahl eindeutig ist -- d.h., Sie haben nur ein
Zertifikat, dass zu der Empfänger-\Email{}-Adresse passt -- wird Ihre
Nachricht verschlüsselt und versendet.


\clearpage
\subsubsection{Zertifikatsauswahl}
\index{Zertifikat!Auswahl}
Wenn Kleopatra das Empfängerzertifikat anhand der \Email{}-Adresse
nicht eindeutig bestimmen kann, z.B. wenn Sie ein OpenPGP-
\textit{und} ein S/MIME-Zertifikat von Ihrem Korrespondenzpartner
haben, öffnet sich ein Auswahldialog, in dem Sie das Zertifikat
selbstständig auswählen können.

% screenshot: kleopatra encryption dialog - certificate selection
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-encrypt-selectCertificate_de}

Sollte Kleopatra das öffentliche Zertifikat Ihres
Korrespondenzpartners nicht finden, haben Sie es vermutlich noch nicht
in Ihre Zertifikatsverwaltung importiert (vgl.
Kapitel~\ref{ch:importCertificate}) oder beglaubigt (bei OpenPGP;
vgl. Kapitel~\ref{ch:trust}), bzw. dem Wurzelzertifikat der
Zertifizierungskette das Vertrauen ausgesprochen (bei S/MIME; vgl.
Kapitel~\ref{sec_allow-mark-trusted}).


Sie benötigen das korrekte öffentliche Zertifikat Ihres
Korrespondenzpartners, denn damit muss Ihre Nachricht schließlich
verschlüsselt werden.

Erinnern Sie sich an den Grundsatz aus Kapitel~\ref{ch:FunctionOfGpg4win}:
\begin{quote}
  \textbf{Wenn Sie einem anderen eine verschlüsselte \Email{}s
  schicken wollen, benutzen Sie dessen öffentliches Zertifikat.}
\end{quote}


\clearpage
\subsubsection{Verschlüsselung abschließen}
Wenn Ihre Nachricht erfolgreich verschlüsselt und versendet wurde,
erhalten Sie eine Meldung, die Ihnen dies bestätigt:

% screenshot: kleopatra encryption successfully
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-encryption-successful_de}

\textbf{Herzlichen Glückwunsch! Sie haben Ihre erste \Email{}
verschlüsselt!}


\chapter{\Email{}s signieren}
\label{ch:sign}
\index{E-Mail!signieren}

Sie haben in Kapitel~\ref{ch:trust} gelesen, wie Sie sich von der
Echtheit eines öffentlichen OpenPGP-Zertifikats überzeugen und es dann
mit Ihrem eigenen geheimen OpenPGP-Schlüssel signieren können.

Dieses Kapitel beschäftigt sich damit, wie Sie nicht nur ein
Zertifikat, 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 öffentliches Zertifikat 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.

\T\ifthenelse{\boolean{DIN-A5}}{\newpage}{}
Ü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{Signieren mit GpgOL}
\T\enlargethispage{\baselineskip}
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 Zertifikatsauswahl
    \item Signierung abschließen
\end{itemize}

Auf den nächsten Seiten werden diese Schritte im Detail beschrieben.

%\clearpage
\subsubsection{Nachricht signiert versenden}

Verfassen Sie zunächst in Outlook eine neue \Email{} und adressieren
Sie diese an Ihren Korrespondenzpartner.

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}.

Ihr \Email{}-Fenster sollte anschließend etwa so aussehen:

% screenshot: OL composer with Adele's address and body text
\IncludeImage[width=0.85\textwidth]{sc-ol-sendSignedMail_de}

Klicken Sie nun auf \Button{Senden}.

\clearpage
\subsubsection{Zertifikatsauswahl}

Genauso wie beim Verschlüsseln von \Email{}s erkennt Gpg4win
automatisch, für welches Protokoll -- OpenPGP oder S/MIME -- Ihr
eigenes Zertifikat (mit dem geheimen Schlüssel zum Signieren) vorliegt.

Sollten Sie ein eigenes OpenPGP- \textit{und} S/MIME-Zertifikat mit
der gleichen \Email{}-Adresse besitzen, fragt Sie Kleopatra vor dem
Signieren nach dem gewünschten Protokollverfahren:

% screenshot: kleopatra format choice dialog
\IncludeImage[width=0.45\textwidth]{sc-kleopatra-format-choice_de}

Haben Sie vom gewählten Verfahren mehrere eigene Zertifikate (z.B.
zwei OpenPGP-Zertifikate zu der gleichen \Email{}-Adresse), dann
öffnet Kleopatra ein Fenster, in dem Ihre eigenen Zertifikate (hier
OpenPGP) angezeigt werden, zu denen Ihnen jeweils ein geheimer
Schlüssel vorliegt:

% screenshot: kleopatra format choice dialog
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-sign-selectCertificate_de}

Bestätigen Sie Ihre Auswahl anschließend mit \Button{OK}.


\clearpage
\subsubsection{Signierung abschließen}
Um die Signierung Ihrer \Email{} abzuschließen, werden Sie
aufgefordert, im folgenden Pinentry-Fenster\index{Pinentry} Ihre geheime Passphrase einzugeben:

% screenshot: kleopatra sign dialog 2 - choose certificate
\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 Zertifikat, das
er bereits hat oder sich besorgen kann, Ihre Identität prüfen.  Denn
nur Ihr geheimer Schlüssel passt zu Ihrem öffentlichen Zertifikat.

Bestätigen Sie Ihre Passphrase-Eingabe mit \Button{OK}.  Ihre
Nachricht wird nun signiert und versendet.

\T\ifthenelse{\boolean{DIN-A5}}{\newpage}{}
Nach erfolgreicher Signierung Ihrer Nachricht erhalten Sie folgenden
Ergebnisdialog:

% screenshot: kleopatra sign successful
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-sign-successful_de}

\textbf{Herzlichen Glückwunsch! Sie haben Ihre erste \Email{}
signiert!}


\clearpage
\subsubsection{Kurz zusammengefasst}
Sie haben gelernt, wie Sie eine \Email{} mit Ihrem eigenen Zertifikat
-- das Ihren geheimen Schüssel enthält -- \textbf{signieren}.

Sie wissen, wie Sie eine \Email{} mit dem öffentlichen Zertifikat
Ihres Korrespondenzpartners \textbf{verschlüsseln}.

Damit beherrschen Sie nun die beiden wichtigsten Techniken für einen
sicheren \Email{}-Versand: verschlüsseln und signieren.

Natürlich können Sie beide Techniken auch kombinieren. Entscheiden Sie
ab sofort bei jeder neuen \Email{}, wie Sie Ihre Nachricht versenden
wollen -- je nachdem, wie wichtig und schutzbedürftig der Inhalt Ihrer
\Email{} ist:

\begin{itemize}
    \item unverschlüsselt
    \item verschlüsselt
    \item signiert
    \item signiert und verschlüsselt (mehr dazu im
        Abschnitt~\ref{sec_encsig})
\end{itemize}

Diese vier Kombinationen können Sie entweder mit OpenPGP oder mit
S/MIME realisieren.

\clearpage
\section{Signatur mit GpgOL prüfen}
\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 das öffentliche OpenPGP- oder
X.509-Zertifikat Ihres Korrespondenzpartners.  Dessen öffentliches
Zertifikat sollten Sie vor der Überprüfung bereits in Ihre
Zertifikatsverwaltung importiert haben (vgl.
Kapitel~\ref{ch:importCertificate}).

Um eine signierte OpenPGP- oder S/MIME-\Email{} zu prüfen, gehen Sie
genauso vor wie bei der Entschlüsselung einer \Email{} (vgl.
Kapitel~\ref{ch:decrypt}):

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
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-verifySignedMail_de}

Die Signaturprüfung war erfolgreich! Schließen Sie den Dialog, um die
signierte \Email{} zu lesen.

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, dann bedeutet das, dass
die Nachricht bei der Übertragung verändert wurde.  Aufgrund der
technischen Gegebenheiten im Internet ist es nicht auszuschließen,
dass die \Email{} durch eine fehlerhafte Übertragung unabsichtlich
verändert wurde. Das ist zunächst der wahrscheinlichste Fall. Es kann
jedoch auch bedeuten, dass der Text absichtlich verändert wurde.

Wie Sie in einem solchen Fall mit der gebrochenen Signatur umgehen
sollten, erfahren Sie im Abschnitt~\ref{sec_brokenSignature}.

\clearpage
\section{Gründe für eine gebrochene Signatur}
\label{sec_brokenSignature}
\index{Signatur!gebrochene}

Es gibt mehrere Gründe, die zu einem Bruch einer Signatur führen
können:

Wenn Sie bei einer Signaturprüfung den Vermerk "`Bad signature"' oder
"`Überprüfung fehlgeschlagen"' erhalten, 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!\\

Es ist empfehlenswert, Ihr \Email{}-Programm  so einzustellen, dass
Sie \Email{}s nur im "`Text"'-Format und \textbf{nicht} im
"`HTML"'-Format versenden.  Sollten Sie dennoch HTML für signierte
oder verschlüsselte \Email{}s verwenden, können dabei beim Empfänger
die Formatierungsinformationen verloren gehen, was zum Bruch der
Signatur führen kann.

Bei Outlook 2003 und 2007 können Sie unter
\Menu{Extras$\rightarrow$Optionen$\rightarrow$E-Mail-Format} das
Nachrichtenformat auf \Menu{Nur Text} umstellen.


\clearpage
\section{Verschlüsseln und Signieren}
\label{sec_encsig}
\index{E-Mail!verschlüsseln und signieren}

Sie wissen: Normalerweise verschlüsseln Sie eine Nachricht mit Hilfe
des öffentlichen Zertifikats 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 das dazugehörige
öffentliche Zertifikat kennt und die Nachricht damit entschlüsseln
könnte.

Wie Sie aber in diesem Kapitel bereits gelesen haben, gibt es 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 Ihr öffentliches Zertifikat 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 die \Email{}
verschlüsseln und signieren:

\begin{enumerate}
    \item Sie \textbf{signieren} die Botschaft mit Ihren eigenen
        geheimen Schlüssel. Damit ist die Urheberschaft nachweisbar.
    \item Dann \textbf{verschlüsseln} Sie den Text mit dem
        öffentlichen Zertifikat 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 öffentlichen Zertifikat 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 öffentlichen Zertifikat und hat den Beweis
Ihrer Urheberschaft, denn wenn Ihr öffentliches Zertifikat 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.


\clearpage
\chapter{\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 Sie 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
-- z.B. Adele -- verschlüsselt und ein zweites Mal auch für Sie, mit
Hilfe Ihres eigenen öffentlichen Zertifikats. So können Sie die
\Email{} später einfach mit Ihrem eigenen geheimen Schlüssel wieder
lesbar machen.

Jede verschlüsselte Nachricht wird von Gpg4win automatisch auch an Ihr
eigenes Zertifikat verschlüsselt. Dazu nutzt Gpg4win Ihre
Absender-\Email{}-Adresse. Sollten Sie mehrere Zertifikate zu einer
Adresse besitzen, so müssen Sie sich beim Verschlüsselungsvorgang
entscheiden, an welches Zertifikat verschlüsselt werden soll.

\clearpage
\subsubsection{Kurz zusammengefasst}

\begin{enumerate}
    \item Sie haben mit dem öffentlichen Zertifikat Ihres
        Korrespondenzpartners eine \Email{} verschlüsselt und ihm
        damit geantwortet.
    \item Kleopatra verschlüsselt Ihre gesendeten verschlüsselten
        \Email{}s auch zusätzlich mit Ihrem eigenen öffentlichen
        Zertifikat, sodass die Nachrichten für Sie lesbar bleiben.
\end{enumerate}


\vspace{1cm}
\textbf{Das war's! Zum Ende dieses ersten Teils des Kompendiums
besitzen Sie nun ein sehr fundiertes Einsteigerwissen über Gpg4win.}

\textbf{Willkommen in der Welt der freien und sicheren \Email{}"=Verschlüsselung!}

Für ein noch besseres Verständnis, wie Gpg4win im Hintergrund wirklich
funktioniert, wird empfohlen, dass Sie sich nun mit dem zweiten
Teil des Gpg4win-Kompendiums beschäftigten. Sie werden sehen,
dass Sie viele spannende Dinge darin entdecken werden!


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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{Zertifikat im Detail}
\label{ch:CertificateDetails}
\index{Zertifikatsdetails}

In Kapitel \ref{sec_finishKeyPairGeneration} haben Sie sich schon den
Detaildialog Ihres erzeugten Zertifikats angesehen. Viele Angaben zu
Ihrem Zertifikat sind dort aufgelistet. Im folgenden Abschnitt
erhalten Sie einen genaueren Überblick über die wichtigsten Punkte,
mit kurzen Hinweisen auf die Unterschiede zwischen OpenPGP- und
X.509-Zertifikaten. Es geht hierbei um:

\begin{itemize}
\item die Benutzerkennung\index{Zertifikat!Benutzerkennung}
\item den Fingerabdruck
\item die Schlüssel-ID\index{Schlüsselkennung}\index{Schlüssel!-ID}
\item die Gültigkeit\index{Zertifikat!Gültigkeit}
\item das Vertrauen in den Zertifikatsinhaber \textbf{(nur OpenPGP)}
\item die Beglaubigungen \textbf{(nur OpenPGP)}
\end{itemize}

\begin{description}

\item[Die Benutzerkennung] besteht aus dem Namen und der
    \Email{}-Adresse, die Sie während der Zertifikatserzeugung
    eingegeben haben, also z.B.: \\ \Filename{Heinrich Heine
    <heinrich@gpg4win.de>}

    Für OpenPGP-Zertifikate können Sie mit Kleopatra über den
    Menüpunkt \Menu{Zertifikate$\rightarrow$%
    \T\ifthenelse{\boolean{DIN-A5}}{}{ }%
    Benutzerkennung hinzufügen...} 
    Ihr Zertifikat um weitere Benutzerkennungen
    erweitern.  Das ist dann sinnvoll, wenn Sie z.B.  für eine weitere
    \Email{}-Adresse dasselbe Zertifikat nutzen möchten.

    Beachten Sie: Hinzufügen neuer Benutzerkennungen ist in Kleopatra
    nur für OpenPGP-Zerti\-fikate möglich, nicht aber für X.509.

\item[Der Fingerabdruck] wird verwendet, um mehrere Zertifikate
    voneinander zu unterscheiden. Mit dieser Kennung können Sie nach
    (öffentlichen) Zertifikaten suchen, die z.B. auf einem weltweit
    verfügbaren OpenPGP-Zertifikatsserver (engl. "`key server"')
    oder auf einem X.509-Zertifikats\-server liegen.  Was
    Zertifikatsserver sind, erfahren Sie im folgenden Kapitel.

\item[Die Schlüssel-ID] (auch Schlüsselkennung genannt) besteht aus
    den letzten acht Stellen des Fingerabdrucks und erfüllt denselben
    Zweck wie dieser. Die wesentlich geringere Länge macht die
    Schlüsselkennung einfacher handhabbar, 
    erhöht aber das Risiko von Mehrdeutigkeiten (unterschiedliche
    Zertifikate mit derselben Kennung).

\item[Die Gültigkeit] von Zertifikaten bezeichnet die Dauer ihrer
    Gültigkeit und ggf. ihr Verfallsdatum.\index{Verfallsdatum}
    
    Für OpenPGP-Zertifikate 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
    Zertifikatsdetails klicken -- oder das Menü
    \Menu{Zertifikate$\rightarrow$Ablaufdatum ändern} auswählen -- und
    ein neues Datum eintragen. Damit können Sie Zertifikate 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
    Zertifikatsausstellung von der Beglaubigungsinstanz (CA)
    festgelegt und kann nicht vom Nutzer geändert werden.

\item[Das Vertrauen in den Zertifikatsinhaber] \T\marginOpenpgp
    beziffert Ihre eigene, subjektive Zuversicht, dass der Besitzer
    des OpenPGP-Zertifikats echt (authentisch) ist und auch andere
    OpenPGP-Zertifikate korrekt beglaubigen wird.  Sie können das
    Vertrauen über die Schaltfläche \Button{Vertrauen in den
    Zertifikatsinhaber ändern} in den Zertifikatsdetails oder über das
    Menü \Menu{Zertifikate$\rightarrow$Vertrauens\-status ändern}
    einstellen.

    Der Vertrauensstatus ist nur für OpenPGP-Zertifikate relevant.
    Für X.509-Zerti\-fikate gibt es diese Methode der
    Vertrauensstellung nicht.

\item[Die Beglaubigungen] \T\marginOpenpgp
    Ihres OpenPGP-Zertifikats beinhalten die
    Benutzerkennungen derjenigen Zertifikatsinhaber, die
    sich von der Echtheit Ihres Zertifikats überzeugt und es dann auch
    beglaubigt haben. Das Vertrauen in die Echtheit Ihres Zertifikats
    steigt mit der Anzahl an Beglaubigungen, die Sie von anderen
    Nutzern erhalten.

    Beglaubigungen sind nur für OpenPGP-Zertifikate 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 Zertifikatsdetails müssen Sie für die tagtägliche Benutzung von
Gpg4win nicht unbedingt kennen, aber sie werden relevant, wenn Sie
neue Zertifikate erhalten oder ändern wollen.

Wie Sie fremde Zertifikate prüfen und beglaubigen und was genau das
"`Netz des Vertrauens"' ist, haben Sie bereits in Kapitel
\ref{ch:trust} gelesen.


\clearpage
\chapter{Die Zertifikatsserver}
\label{ch:keyserver}
\index{Zertifikatsserver}

Die Nutzung eines Zertifikatsservers zum Verbreiten Ihres öffentlichen
(OpenPGP- oder X.509-) Zertifikats wurde bereits im
Abschnitt~\ref{sec_publishPerKeyserver} einführend erläutert. Dieses
Kapitel beschäftigt sich mit den Details von Zertifikatsservern und
zeigt Ihnen, wie Sie diese mit Kleopatra nutzen können.

Zertifikatsserver können von allen Programmen benutzt werden, die die
Standards OpenPGP bzw. X.509 unterstützen.  Kleopatra unterstützt
beide Arten, also sowohl OpenPGP- als auch X.509-Zerti\-fi\-katsserver.


\T\ifthenelse{\boolean{DIN-A5}}{\newpage}{}

\begin{description}

\item[OpenPGP-Zertifikatsserver]\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-Zertifikate gibt es nicht.  Dieses verteilte
    Netz von OpenPGP-Zertifikatsservern sorgt für eine bessere
    Verfügbarkeit und verhindert, dass einzelne Systemadministratoren
    Zertifikate 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{Zertifikatsserver einrichten}
\label{configureCertificateServer}
\index{Zertifikatsserver!einrichten}

Öffnen Sie den Konfigurationsdialog von Kleopatra:\\
\Menu{Einstellungen $\rightarrow$ Kleopatra einrichten...}


Legen Sie unter der Gruppe \Menu{Zertifikatsserver} einen neuen
Zertifikatsserver 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-Zertifikatsserver 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 Zertifikatsserver 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"=Zertifikatsserver:

% 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
Zertifikatsserver ist nun erfolgreich eingerichtet.

Um sicherzugehen, dass Sie den Zertifikatsserver korrekt konfiguriert
haben, ist es hilfreich, z.B. eine Zertifikatssuche auf dem Server zu
starten (Anleitung siehe
Abschnitt~\ref{searchAndImportCertificateFromServer}).

\textbf{Proxy-Einstellung:}\index{Proxy} Falls Sie einen Proxy in Ihrem Netzwerk
nutzen, sollten Sie die Zertifikatsserver-Adresse in der Spalte
\Menu{Servername} um den Parameter \Filename{http-proxy=<proxydomain>}
ergänzen. Der vollständige Servername könnte also z.B. lauten:\\
\Filename{keys.gnupg.net http-proxy=proxy.hq}\\ Kontrollieren und ggf.
korrigieren können Sie die Zertifikatsserver"=Konfigurationen auch in
der Datei: \Filename{\%APPDATA\%\back{}gnupg\back{}gpg.conf}\\

Erläuterungen zur systemweiten Konfiguration von X.509-Zertifikatsservern
finden Sie im Abschnitt~\ref{x509CertificateServers}.

\subsubsection{OpenPGP-Zertifikatsserver-Adressen}

\T\marginOpenpgp
Es wird empfohlen, nur moderne OpenPGP-Zertifikatsserver zu verwenden,
da nur diese mit den neueren Merkmalen von OpenPGP umgehen können.

Hier eine Auswahl von gut funktionierenden Zertifikatsservern:
\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 Zertifikatsservern, deren URL mit \Filename{http://}
beginnen.

Die Zertifikatsserver 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
Zertifikatsserver benutzen, weil dieser sich nicht mit den anderen Servern
synchronisiert (Stand: Mai 2010).

\clearpage
\section{Zertifikate auf Zertifikatsservern suchen und importieren}
\label{searchAndImportCertificateFromServer}
\index{Zertifikatsserver!Suche nach Zertifikaten}
\index{Zertifikat!importieren}
Nachdem Sie mindestens einen Zertifikatsserver eingerichtet haben,
können Sie nun dort nach Zertifikaten suchen und diese anschließend
importieren.

Klicken Sie dazu in Kleopatra auf \Menu{Datei$\rightarrow$Zertifikate
auf Server suchen...}.

Sie erhalten einen Suchdialog, in dessen Eingabefeld Sie den Namen des
Zertifikatsbesitzers -- oder eindeutiger und daher besser geeignet --
seine \Email{}-Adresse seines Zertifikats eingeben können.

% screenshot: Kleopatra certification search dialog
\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 Zertifikate in Ihre lokale
Zertifikatssammlung einfügen möchten, selektieren Sie das
Zertifikat 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 Zertifikat
in der Zertifikatsverwaltung von Kleopatra.

\section{Zertifikate auf OpenPGP-Zertifikatsserver exportieren}
\index{Zertifikat!exportieren}

\T\marginOpenpgp
Wenn Sie einen OpenPGP-Zertifikatsserver wie im Abschnitt
\ref{configureCertificateServer} beschrieben eingerichtet haben,
genügt ein Maus\-klick, und Ihr öffentliches OpenPGP-Zertifikat ist
unterwegs rund um die Welt.

Wählen Sie Ihr OpenPGP-Zertifikat in Kleopatra aus und klicken Sie
anschließend auf den Menüeintrag: \Menu{Datei$\rightarrow$Zertifikate
nach Server exportieren...}.

Sie brauchen Ihr Zertifikat nur an irgendeinen der verfügbaren
OpenPGP-Zertifikatsserver zu senden, denn fast alle synchronisieren
sich weltweit miteinander. Es kann ein, zwei Tage dauern, bis Ihr
OpenPGP-Zertifikat wirklich überall verfügbar ist, aber dann haben Sie
ein "`globales"' Zertifikat.

Sollten Sie Ihr Zertifikat exportieren, ohne zuvor einen
OpenPGP-Zertifikatsserver 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.


\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
      Zertifikats, um sicherzugehen, dass die Datei unverändert
      bleibt.

  \item Sie \textbf{verschlüsseln} eine Datei mit Hilfe eines
      öffentlichen Zertifikats, um die Datei vor unbefugten Personen
      geheim zu halten.
\end{itemize}

Mit der Anwendung \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 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
\IncludeImage[width=0.3\textwidth]{sc-gpgex-contextmenu-signEncrypt_de}

Dort wählen Sie \Menu{Signieren und verschlüsseln} aus.

\clearpage
Selektieren Sie im erscheinenden Fenster die Option \Menu{Signieren}:

% screenshot sign file, step 1
\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 --
Ihr geheimes (OpenPGP oder S/MIME) Zertifikat 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 erhalten Sie folgendes Fenster:

% screenshot sign file, step 3: finish
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-signFile3_de}

Sie haben damit Ihre Datei erfolgreich signiert.

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{<dateiname>.txt}) mit
OpenPGP bzw. S/MIME signieren. Es sind insgesamt vier Dateitypen als
Ergebnis möglich:

\T\ifthenelse{\boolean{DIN-A5}}{\enlargethispage{2\baselineskip}}{}

\begin{description}
    \item[OpenPGP:]~\\
    \Filename{<dateiname>.txt $\rightarrow$ <dateiname>.txt\textbf{.sig}}\\
    \Filename{<dateiname>.txt $\rightarrow$ <dateiname>.txt\textbf{.asc}}
    ~ \small (bei Ausgabe als Text/ASCII-armor)
    \normalsize

    \item[S/MIME:]~\\
    \Filename{<dateiname>.txt $\rightarrow$ <dateiname>.txt\textbf{.p7s}}\\
    \Filename{<dateiname>.txt $\rightarrow$ <dateiname>.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
\IncludeImage[width=0.3\textwidth]{sc-gpgex-contextmenu-verifyDecrypt_de}

\clearpage
Daraufhin erhalten Sie folgendes Fenster:

% screenshot kleopatra verify file, step 1
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-verifyFile1_de}

Kleopatra zeigt unter \Menu{Eingabe-Datei} den vollständigen Pfad zur
ausgewählten Signatur-Datei an.

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.

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}

Das Ergebnis zeigt, dass die Signatur korrekt ist -- also die Datei
integer ist und somit \textbf{nicht} verändert wurde.

\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}


\clearpage
\section{Dateien verschlüsseln und entschlüsseln}
\index{Datei!verschlüsseln}

Genauso wie \Email{}s lassen sich Dateien nicht nur signieren, sondern
auch verschlüsseln. Das sollten Sie im folgenden Abschnitt mit GpgEX
und Kleopatra einmal durchspielen.

Selektieren Sie eine (oder mehrere) Datei(en) und öffnen Sie mit der
rechten Maustaste das Kontextmenü:

% screenshot GpgEX contextmenu sign/encrypt
\IncludeImage[width=0.3\textwidth]{sc-gpgex-contextmenu-signEncrypt_de}

Wählen Sie hier wieder \Menu{Signieren und verschlüsseln} aus.

\clearpage
Sie erhalten den Dialog, den Sie vom Signieren einer Datei (vgl.
Abschnitt~\ref{sec_signFile}) bereits kennen.

Wählen Sie im oberen Feld auf die Option \Menu{Verschlüsseln}:

% screenshot kleopatra encrypt file, step 1
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-encryptFile1_de}

\T\ifthenelse{\boolean{DIN-A5}}{\enlargethispage{2\baselineskip}}{}

Die Verschlüsselungseinstellungen sollten Sie nur bei Bedarf
umstellen:
\begin{description}
    \item[Ausgabe als Text (ASCII armor\index{ASCII armor}):] Bei
        Aktivierung dieser Option erhalten Sie die verschlüsselte
        Datei mit einer 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) bzw.
        \Filename{.p7m} (S/MIME) angelegt. Diese Dateien sind
        Binärdateien, sie können also nicht mit einem Texteditor
        angesehen werden.

    \item[Unverschlüsseltes Original anschließend löschen:] Ist diese
        Option aktiviert, wird Ihre ausgewählte Originaldatei nach dem
        Verschlüsseln gelöscht.
\end{description}

Klicken Sie auf \Button{Weiter}.

\clearpage
Für wen soll die Datei verschlüsselt werden? Wählen Sie im folgenden
Dialog einen oder mehrere Empfänger-Zertifikate aus:

% screenshot kleopatra encrypt file, step 2
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-encryptFile2_de}

Zum Auswählen selektieren Sie im oberen Teil die gewünschten
Zertifikate und drücken Sie auf \Button{Hinzufügen}.  Sie bekommen
alle ausgewählten Zertifikate im unteren Dialogteil zur Kontrolle noch
einmal angezeigt.

Abhängig vom gewählten Empfänger-Zertifikat und dessen Typ (OpenPGP
oder S/MIME) wird Ihre Datei anschließend mit Hilfe von OpenPGP und/oder
S/MIME verschlüsselt. Haben Sie also ein OpenPGP-Zertifikat
\textit{und} ein S/MIME-Zertifikat ausgewählt, werden Sie zwei
verschlüsselte Dateien erhalten.  Die möglichen Dateitypen der
verschlüsselten Dateien finden Sie auf der nächsten Seite.

\T\ifthenelse{\boolean{DIN-A5}}{\enlargethispage{\baselineskip}}{}

Klicken Sie nun auf \Button{Verschlüsseln}: Die Datei wird
verschlüsselt.

\clearpage
Nach erfolgreicher Verschlüsselung sollte Ihr Ergebnisfenster etwa so
aussehen:
% 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!

\T\ifthenelse{\boolean{DIN-A5}}{\newpage}{}

Wie beim Signieren einer Datei hängt das Ergebnis von der gewählten
Verschlüsselungsmethode (OpenPGP oder S/MIME) ab.  Beim Verschlüsseln
Ihrer Originaldatei (hier \Filename{<dateiname>.txt}) sind insgesamt
vier Dateitypen als Ergebnis möglich:

\begin{description}
    \item[OpenPGP:]~\\
    \Filename{<dateiname>.txt $\rightarrow$ <dateiname>.txt\textbf{.gpg}}\\
    \Filename{<dateiname>.txt $\rightarrow$ <dateiname>.txt\textbf{.asc}}
    ~ \small (bei Ausgabe als Text/ASCII-armor)
    \normalsize

    \item[S/MIME:]~\\
    \Filename{<dateiname>.txt $\rightarrow$ <dateiname>.txt\textbf{.p7m}}\\
    \Filename{<dateiname>.txt $\rightarrow$ <dateiname>.txt\textbf{.pem}}
    ~ \small{ (bei Ausgabe als Text/ASCII-armor)}
    \normalsize
\end{description}

Eine dieser vier möglichen verschlüsselten Ergebnisdateien geben Sie
nun an Ihren ausgewählten Empfänger weiter. Anders als beim Signieren
einer Datei wird die unverschlüsselte Originaldatei natürlich
\textbf{nicht} weitergegeben.

\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 an Ihr eigenes
Zertifikat verschlüsselt haben -- andernfalls können Sie die Datei
nicht mit Ihrem geheimen Schlüssel entschlüsseln (vgl.
Kapitel~\ref{ch:archive}).

Selektieren Sie die verschlüsselte Datei -- also eine mit der Endung
\Filename{.gpg}, \Filename{.asc}, \Filename{.p7m} oder \Filename{.pem}
-- und wählen Sie im Kontextmenü des Windows-Explorers
den Eintrag \Menu{Entschlüsseln und prüfen}:

% screenshot contextmenu verifiy/decrypt
\IncludeImage[width=0.3\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 auf \Button{Entschlüsseln/Prüfen}.

Geben Sie anschließend Ihre Passphrase ein.

\clearpage
Das Ergebnis zeigt, dass die Entschlüsselung erfolgreich war:

% screenshot kleopatra decrypt file, step 2
\IncludeImage[width=0.85\textwidth]{sc-kleopatra-decryptFile2_de}

Sie sollten nun die entschlüsselte Datei problemlos lesen oder mit
einem entsprechenden Programm verwenden können.

\clearpage
\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 Aufgaben
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{Im- und Export eines geheimen Zertifikats}
\label{ch:ImExport}

In den Kapiteln \ref{ch:publishCertificate} und
\ref{ch:importCertificate} wurde der Im- und Export von Zertifikaten
erläutert. Sie haben Ihr eigenes Zertifikat exportiert, um es zu
veröffentlichen, und das Zertifikat Ihres Korrespondenzpartners
importiert und so "`an Ihrem Schlüsselbund\index{Schlüsselbund}
befestigt"' (d.h. in Ihre Zertifikatsverwaltung 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 ein geheimes Zertifikat 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-Zertifikats\-erzeu\-gung angelegt. Da Ihr OpenPGP-Zertifikat
aber inzwischen weitere Beglaubigungen haben kann, sollten Sie es ggf.
erneut sichern.

Öffnen Sie Kleopatra, selektieren Sie Ihr eigenes Zertifikat und
klicken Sie auf \Menu{Datei$\rightarrow$Geheimes Zertifikat 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 Zertifikat (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 Zertifikat
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 Zertifikats in
Kleopatra gehen Sie so vor, wie Sie es vom Import fremder
öffentlicher Zertifikate gewohnt sind (vgl.
Kapitel~\ref{ch:importCertificate}):

Klicken Sie auf \Menu{Datei$\rightarrow$Zertifikat 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)
\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)
\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-Zertifikats:

% 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 Zertifikat ist damit
unter "`Meine Zertifikate"' in der Zertifikatsverwaltung von Kleopatra
sichtbar.

Sichern Sie die Sicherungskopie Ihres
geheimen Zertifikats -- 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.\\

\T\ifthenelse{\boolean{DIN-A5}}{\newpage}{}
\T\marginOpenpgp
Es kann in einigen Fällen vorkommen, dass Sie ein mit PGP ("`Pretty
Good Privacy"') exportiertes Zertifikat 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-Zertifikat 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
\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 Umgebungen, in denen
viele Anwender auf einem 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} (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 Symbolleistenbefehle 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{<alter-Pfad-zu-gpgol.dll>}' 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
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{}<name>\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, Zertifikate,
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): 
\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{<FINGERABDRUCK> 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{[!]<FINGERABDRUCK> 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{}<Nutzername>\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-<ZEITSTEMPEL>-<ZUFALLSZEICHEN>}

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{<DEBUGLEVEL;PFAD>}, 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 Ben 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 Zertifikats 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 ist 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.

Da Outlook ein proprietäres Produkt, also nicht als Freie Software mit
Quelltext verfügbar ist, hat die Integration eine Reihe von ,,Ecken
und Kanten''. Oder mit anderen Worten: Die Bedienung ist nicht so
komfortabel, wie es beispielsweise \Email{}-Programme mit integrierter
Verschlüsselungs- und Signaturkomponente bieten (z.B. KMail/Kontact).

\T\ifthenelse{\boolean{DIN-A5}}{\newpage}{}
GpgOL wird durch den Gpg4win-Installationsassistenten installiert.
Beim nächsten Start von Outlook findet sich im Menü
\Menu{Extras$\rightarrow$Optionen} eine Karteikarte \Menu{GpgOL}:

% screenshot: GpgOL options
\T\ifthenelse{\boolean{DIN-A5}}{
    \T\IncludeImage[width=0.75\textwidth]{sc-gpgol-options_de}
\T}
\T{
    \IncludeImage[width=0.65\textwidth]{sc-gpgol-options_de}
\T}

\clearpage
Die Karteikarte \Menu{GpgOL} unterteilt sich in drei Bereiche:
\begin{enumerate}
    \item \textbf{Allgemein:}

        \T\marginSmime
        \Menu{S/MIME Unterstützung einschalten}

        Nach der Installation von Gpg4win ist die
        S/MIME-Funktionalität in GpgOL aktiviert.  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
        heißt das, dass alle Einstellungen, das Zertifikatsmanagement
        und die Benutzerdialoge unterschiedlich sind. Es ist zu
        beachten, dass Outlook von sich aus keine
        OpenPGP-Unterstützung anbietet.

        Wenn Sie S/MIME in Outlook mit Gpg4win nutzen möchten,
        lassen Sie die GpgOL-Option\index{GpgOL-Optionen} \Menu{S/MIME Unterstützung
        einschalten} aktiviert. Sollten Sie das von Outlook
        unterstützte S/MIME nutzen wollen, deaktivieren Sie diese
        GpgOL-S/MIME-Option.

    \item \textbf{Senden von Nachrichten:}

        \Menu{Neue Nachrichten per Voreinstellungen verschlüsseln}\\
        \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 \textbf{Lesen von Nachrichten:}

        \Menu{HTML-Darstellung anzeigen wenn möglich}

        Diese Option kann benutzt werden, um die HTML-Version einer
        Nachricht anzuzeigen. Im Normalfall, oder falls kein
        HTML-Format vorhanden ist, wird die Nachricht im
        Text-Format dargestellt.

        \Menu{Verschlüsselte Nachricht als Anlage anzeigen}

        Der verschlüsselte Teil der Nachricht wird zusätzlich als
        Anhang angezeigt. Der Anwender kann so den verschlüsselten
        Teil separat speichern oder auf andere Weise
        weiterverarbeiten.
\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 wird im Gpg4win-Paket
    mitgeliefert 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=<PFAD>}
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=<INIFILE>} 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_claws_mail = false
  inst_compendium_de = true
  inst_man_novice_en = true

  ; Die Stellen, an denen Verknüpfungen erzeugt werden sollen.
  inst_start_menu = true
  inst_desktop = false
  inst_quick_launch_bar = false

  ; Im Gegensatz zu den anderen Optionen überschreibt diese Option
  ; die Einstellung des Benutzers im Installationsassistenten.
  inst_start_menu_folder = Gpg4win

  ; Standard-Konfigurationsdateien.
  gpg.conf = D:\config\gpg-site.conf
  gpg-agent.conf = D:\config\gpg-agent-site.conf
  trustlist.txt = D:\config\trustlist-site.txt
  dirmngr.conf = D:\config\dirmngr-site.conf
  dirmngr_ldapserver.conf = D:\config\dirmngr_ldapserver-site.conf
  scdaemon.conf = D:\config\scdaemon-site.txt
  gpa.conf = D:\config\gpa-site.conf
\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 Zertifikate 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) Zertifikate zu sichern, als auch
nach einem Menüpunkt, um alle vorhandenen öffentlichen Zertifikate zu
sichern. Sichern Sie diese dann in einer oder mehreren Dateien.

Sobald Sie Gpg4win installiert haben, prüfen Sie, ob Ihre alten
Zertifikate bereits vorhanden sind. Sie können dies mit den
Zertifikatsmanagern Kleopatra oder GPA machen. Sind die Zertifikate
schon vorhanden, so entsprach das alte Verschlüsselungssystem bereits
den neuen Konventionen zum
Speicherort für die Zertifikate und Sie müssen nichts weiter
unternehmen.

Wenn die alten Zertifikate nicht erscheinen, so importieren Sie diese
einfach aus den erstellten Sicherungsdateien. Lesen Sie hierzu das
Kapitel~\ref{ch:ImExport}.

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 Zertifikate
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 Zertifikaten einfügen

Soll Gpg4win deinstalliert werden, dann sollten Sie zunächst alle
nicht notwendigen Anwendungen beenden und alle Zertifikate 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 bestimmten 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{}<Benutzername>\back{}\T\\
        Anwendungsdaten\back{}gnupg\back{}}

        In diesem \Filename{gnupg}-Dateiordner befinden sich sämtliche
        persönlichen GnuPG-Daten, also die persönlichen Zertifikate,
        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 Zertifikate 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

      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}
