15.02.2013 Aufrufe

Teil I Aufbau und Betrieb einer Zertifizierungsinstanz - DFN-CERT

Teil I Aufbau und Betrieb einer Zertifizierungsinstanz - DFN-CERT

Teil I Aufbau und Betrieb einer Zertifizierungsinstanz - DFN-CERT

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>DFN</strong>-PCA<br />

Handbuch<br />

<strong>Aufbau</strong> <strong>und</strong> <strong>Betrieb</strong> <strong>einer</strong><br />

<strong>Zertifizierungsinstanz</strong><br />

Ingmar Camphausen<br />

Stefan Kelm<br />

Britta Liedtke<br />

Lars Weber<br />

März 2000<br />

<strong>DFN</strong>-PCA Vogt-Kölln-Straße 30 D-22527 Hamburg


Zusammenfassung<br />

Die oberste Zertifizierungsstelle (CA) des Deutschen Forschungsnetzes (<strong>DFN</strong>) will mit diesem<br />

Handbuch für Zertifizierungstellen die Nutzung von Public-Key-Verfahren erleichtern <strong>und</strong><br />

fördern. Das Handbuch beschreibt die Abläufe bei der Planung, Einrichtung <strong>und</strong> dem <strong>Betrieb</strong><br />

<strong>einer</strong> CA für eine exemplarische <strong>DFN</strong>-Mitgliedseinrichtung. Es werden dabei nicht nur technische,<br />

sondern ebenso organisatorische <strong>und</strong> rechtliche Aspekte (Datenschutz, Signaturgesetz)<br />

behandelt. Um Anwendern dieses Handbuches den <strong>Aufbau</strong> <strong>und</strong> die Inbetriebnahme <strong>einer</strong> eigenen<br />

Zertifizierungsstelle zu vereinfachen, werden entsprechende detaillierte Schritt-für-Schritt-<br />

Anleitungen für die meisten Routine-Tätigkeiten <strong>einer</strong> CA gegeben.<br />

Da sich dieses Handbuch in erster Linie an Anwender aus dem universitären <strong>und</strong> Forschungsbereich<br />

wendet, stehen Open-Source-Programme zur Zertifizierung <strong>und</strong> zum <strong>Betrieb</strong> der CA<br />

wie PGP, OpenSSL <strong>und</strong> Apache im Mittelpunkt der Betrachtungen. Zwei der drei <strong>Teil</strong>e dieses<br />

Handbuches erklären daher ausführlich die Installation, Konfiguration <strong>und</strong> Benutzung von<br />

OpenSSL <strong>und</strong> des Apache HTTP-Servers in <strong>einer</strong> Zertifizierungsstelle.<br />

Das Handbuch wird durch einen umfangreichen Anhang abger<strong>und</strong>et, der u.a. eine generi-<br />

sche Low-Level-Zertifizierungsrichtlinie, Beschreibungen einiger nützlicher Zertifizierungs-<br />

werkzeuge <strong>und</strong> Beispiel-Konfigurationen für PGP, OpenSSL <strong>und</strong> Apache enthält.<br />

Abstract<br />

The top-level (‘root’) certification authority (CA) of the German Research Network (<strong>DFN</strong>) provides<br />

this manual in order to simplify the introduction and use of public key based infrastructures.<br />

The process of planning, establishing and running a certification authority is described,<br />

whereby a fictive member institution of the <strong>DFN</strong> Association is used to exemplify the discussion.<br />

In addition to step-by-step guides for most routine proceedures, a thorough analysis of<br />

organizational and legal aspects is provided, whereby the German laws and the EU Directives<br />

pertaining to data privacy and digital signatures are considered.<br />

As this handbook is primarily intended for the research and educational communities, opensource<br />

software is used by the CA. Detailed instructions are therefore provided, with which the<br />

reader is lead through the process of compiling, installing, configuring and using the Apache<br />

HTTP server with OpenSSL in a CA environment.<br />

The manual’s appendix contains a generic low-level certification policy, descriptions of some<br />

useful certification tools, example configurations for PGP, OpenSSL and Apache.


Vorwort<br />

Ziel des Projektes „PCA im <strong>DFN</strong> – <strong>Aufbau</strong> <strong>einer</strong> Policy Certification Authority (PCA) für das Deutsche<br />

Forschungsnetz“ 1 (<strong>DFN</strong>-PCA) ist der kontinuierliche <strong>Aufbau</strong> <strong>einer</strong> Vertrauensinfrastruktur zur<br />

Beglaubigung, Verteilung <strong>und</strong> Verwaltung von öffentlichen Schlüsseln, wie sie für gängige kryptographische<br />

Verfahren gebraucht werden. Dabei wird im Projekt ein “bottom-up”-Ansatz verfolgt,<br />

bei dem nach <strong>und</strong> nach mehr <strong>DFN</strong>-Mitgliedseinrichtungen eine entsprechende eigene Infrastruktur<br />

in ihrem Hause aufbauen, die dann durch Verknüpfung mit der <strong>DFN</strong>-PCA <strong>und</strong> untereinander zu<br />

einem immer dichter werdenden Netz wächst.<br />

Aus der Praxis des <strong>DFN</strong>-PCA-Projektes, den Anrufen <strong>und</strong> E-Mails vieler Nachfrager <strong>und</strong> dem<br />

persönlichen Kontakt auf Tagungen wie dem <strong>DFN</strong>-<strong>CERT</strong>-Workshop oder dem <strong>DFN</strong>-Arbeitskreis<br />

„Security“ wissen die PCA-Mitarbeiter, daß es einen großen Bedarf an Informationen zum <strong>Aufbau</strong><br />

<strong>und</strong> <strong>Betrieb</strong> <strong>einer</strong> Zertifizierungsstelle wie auch zur Einrichtung <strong>und</strong> dem <strong>Betrieb</strong> eines sicheren<br />

(SSL-)Webservers gibt – <strong>und</strong> bislang immer noch zu wenig entsprechende Dokumentation.<br />

Die rege Resonanz, auf die die Diplomarbeit des Projekt-Mitarbeiters Herrn CAMPHAUSEN zudem<br />

gestoßen war, <strong>und</strong> die diversen Veränderungen besonders auf dem Gebiet der rechtlichen Rahmenbedingungen,<br />

die sich seit der Abgabe der Arbeit Anfang 1999 ergeben hatten, ließen es aus Sicht<br />

des PCA-Projektes sinnvoll erscheinen, eine überarbeitete <strong>und</strong> um das Gebiet Server-Zertifizierung<br />

erweiterte Fassung dieser Arbeit als Handbuch herauszugeben.<br />

Zugleich liegen mit diesem Handbuch nun erstmals das bisherige OpenSSL-Handbuch <strong>und</strong> das bisherige<br />

SSL-Apache-Handbuch des <strong>DFN</strong>-PCA-Projektes, die bislang nur als Online-Dokumente existierten<br />

2 , auch in gedruckter Form vor, wodurch sich hoffentlich der Kreis ihrer Anwenderinnen<br />

<strong>und</strong> Anwender noch vergrößert.<br />

Zielgruppe<br />

Das vorliegende Handbuch wendet sich an Personen, die mit dem <strong>Aufbau</strong> <strong>einer</strong> Zertifizierungsstelle<br />

oder <strong>einer</strong> kompletten Infrastruktur für Public-Key-Zertifikate betraut sind oder dies erwägen,<br />

ebenso wie an Administratoren, die einen WWW-Server um sichere Zugriffsmöglichkeiten via SSL<br />

erweitern wollen. Gleichermaßen kann es aber dem gestandenen CA-Operator als Gelegenheit dienen,<br />

seine praktischen Erfahrungen zu hinterfragen oder vielleicht doch noch die eine oder andere<br />

1 Das Projekt wird unter der Nr. TK 602–SD 111 aus Mitteln des B<strong>und</strong>esministeriums für Bildung <strong>und</strong> Forschung<br />

(BMBF) durch den Verein zur Förderung eines Deutschen Forschungsnetzes e.V. – <strong>DFN</strong>-Verein – finanziert.<br />

2 http://www.pca.dfn.de/dfnpca/certify/ssl/handbuch/<br />

v


vi<br />

Anregung zu bekommen. Das Handbuch ist sowohl für die konzeptionelle Vorbereitung <strong>einer</strong> eigenen<br />

Zertifizierungsstelle oder -infrastruktur als auch als Nachschlagewerk oder Checkliste bei der<br />

praktischen täglichen Arbeit in <strong>einer</strong> CA oder mit einem eigenen SSL-Server gedacht.<br />

Der erste <strong>Teil</strong> des Handbuches befaßt sich hauptsächlich mit konzeptionellen <strong>und</strong> organisatorischen<br />

Aspekten des <strong>Aufbau</strong>s <strong>und</strong> <strong>Betrieb</strong>s <strong>einer</strong> <strong>Zertifizierungsinstanz</strong>, er sollte insofern auch für „Neulinge“<br />

auf diesem Gebiet <strong>und</strong> für Leserinnen <strong>und</strong> Leser, die keine Programmier- oder Administrationserfahrung<br />

mit Computern haben, verständlich sein, zumal in einem Einführungskapitel die wichtigsten<br />

Gr<strong>und</strong>lagen <strong>und</strong> Begriffe erläutert werden. (Kenntnisse <strong>und</strong> Erfahrungen mit Verschlüsselung,<br />

Public-Key-Verfahren oder -Zertifizierung, mit PGP, S/MIME oder SSL schaden natürlich nicht,<br />

sind aber keine Voraussetzung für die Arbeit mit diesem Handbuch.)<br />

<strong>Teil</strong> II <strong>und</strong> III sind hingegen stärker technisch ausgerichtet; zu ihrem Verständnis sind Gr<strong>und</strong>lagen-<br />

Kenntnisse in UNIX <strong>und</strong> in der Übersetzung <strong>und</strong> Installation von Software-Paketen sowie von<br />

Public-Key-Zertifizierung erforderlich.<br />

Entstehungsgeschichte<br />

Dieses Handbuch basiert auf mehreren Dokumenten <strong>und</strong> entstand unter Beteiligung aller Mitarbeiter<br />

des <strong>DFN</strong>-PCA-Projektes: <strong>Teil</strong> I sowie ein Großteil der Anhänge sind eine Weiterentwicklung<br />

<strong>und</strong> Verallgem<strong>einer</strong>ung des Konzeptes für eine Zertifizierungsstelle für die FU Berlin, das INGMAR<br />

CAMPHAUSEN 1999 als Diplomarbeit geschrieben hat [Cam99]. In die Überarbeitung floß u.a. das<br />

Feedback ein, das er von STEFAN KELM als Mitbetreuer der Diplomarbeit bekommen hatte. Bei<br />

<strong>Teil</strong> II <strong>und</strong> III sowie den dazugehörigen Anhängen handelt es sich um fortgeschriebene Versionen<br />

des OpenSSL- <strong>und</strong> des SSL-Apache-Handbuches der <strong>DFN</strong>-PCA, die zur Zeit beide von LARS WE-<br />

BER betreut werden. BRITTA LIEDTKE steuerte schließlich ihre praktische Erfahrung aus der Zertifizierungsarbeit<br />

im <strong>DFN</strong>-PCA-Projekt insbesondere zu den Abschnitten über PGP <strong>und</strong> den Anhang<br />

mit der Aufwandsabschätzung bei.<br />

Dieses Handbuch wurde im März 2000 zum ersten <strong>DFN</strong>-PCA-Tutorium als <strong>Teil</strong> der Tutoriumsunterlagen<br />

für die <strong>Teil</strong>nehmer erstmalig aufgelegt.<br />

Struktur der Arbeit<br />

Dieses Handbuch ist in drei <strong>Teil</strong>e nebst einem Anhang gegliedert:<br />

<strong>Teil</strong> I enthält das Konzept zu Planung, <strong>Aufbau</strong> <strong>und</strong> <strong>Betrieb</strong> <strong>einer</strong> eigenen Public-Key-<br />

Zertifizierungsstelle, die nach den Richtlinien (der Policy) der <strong>DFN</strong>-PCA betrieben<br />

<strong>und</strong> in die <strong>DFN</strong>-Zertifizierungsstruktur eingeb<strong>und</strong>en werden soll<br />

<strong>Teil</strong> II ist das Handbuch zur Software OpenSSL, deren Installation, Konfiguration <strong>und</strong> Benutzung<br />

zu Zertifizierungszwecken beschrieben wird


Vorwort vii<br />

<strong>Teil</strong> III erläutert, wie das Programm OpenSSL aus <strong>Teil</strong> II benutzt werden kann, um den verbreiteten<br />

Web-Server Apache auch als HTTPS-Server einsetzen zu können, so daß<br />

mit SSL/TLS gesicherte Verbindungen zu ihm aufgebaut werden können<br />

Die Schwerpunkte der einzelnen Kapitel:<br />

TEIL I<br />

Kapitel 1 beschreibt die Motivation, die diese Arbeit entstehen ließ<br />

Kapitel 2 erläutert die theoretischen Gr<strong>und</strong>lagen von Public-Key-Verschlüsselung, digitalen<br />

Signaturen, Zertifikaten <strong>und</strong> Certification Authorities, soweit sie für das Verständnis<br />

des Handbuches wichtig sind<br />

Kapitel 3 stellt eine Bestandsaufnahme dessen dar, was in der Praxis an Standards, Verfahren,<br />

Software <strong>und</strong> rechtlichen Regelungen im Zusammenhang mit Zertifizierung existiert<br />

Kapitel 4 enthält das Konzept für die exemplarische Zertifizierungsstelle <strong>einer</strong> fiktiven Universität<br />

(„UNI“); wobei die Entwurfsziele erläutert, Lösungsansätze vorgeschlagen<br />

<strong>und</strong> begründet <strong>und</strong> sowohl rechtliche als auch kryptographische <strong>und</strong> organisatorische<br />

Aspekte des Zertifizierungsbetriebs diskutiert werden<br />

Kapitel 5 gibt detaillierte Hinweise, wie bei der praktischen Realisierung <strong>und</strong> dem <strong>Betrieb</strong> <strong>einer</strong><br />

eigenen Zertifizierungsstelle verfahren werden sollte <strong>und</strong> worauf dabei besonders zu<br />

achten ist<br />

Kapitel 6 zeigt mögliche zukünftige Entwicklungen <strong>und</strong> Perspektiven für eine Zertifizierungsstelle<br />

auf<br />

TEIL II<br />

Kapitel 7 erläutert die Konfiguration, Übersetzung <strong>und</strong> Installation von OpenSSL<br />

Kapitel 8 beschreibt die von OpenSSL unterstützten X.509-Zertifikat-Erweiterungen sowie deren<br />

Bedeutung <strong>und</strong> Nutzung<br />

Kapitel 9 befaßt sich mit der Konfigurationsdatei von OpenSSL <strong>und</strong> den darin zur Verfügung<br />

stehenden Optionen<br />

Kapitel 10 schildert, wie mit OpenSSL Zertifizierungs-Requests <strong>und</strong> Zertifikate erzeugt werden<br />

können<br />

Kapitel 11 führt in den Umgang mit Widerrufslisten für Public-Key-Zertifikate (CRLs) unter<br />

OpenSSL ein<br />

Kapitel 12 gibt Erfahrungen aus Tests <strong>und</strong> dem praktischen Einsatz von OpenSSL zur Zertifizierung<br />

wieder, wobei insbesondere auf die Nutzung von OpenSSL-Zertifikaten mit den<br />

beiden verbreiteten WWW-Browsern Netscape Communicator <strong>und</strong> Internet Explorer<br />

eingegangen wird


viii<br />

Kapitel 13 r<strong>und</strong>et den OpenSSL-<strong>Teil</strong> mit einigen nützlichen Tools ab, die OpenSSL ideal ergänzen<br />

TEIL III<br />

Kapitel 14 Installation <strong>und</strong> Einrichtung des Apache-Webservers als HTTPS-Server unter Verwendung<br />

von OpenSSL<br />

Kapitel 15 <strong>Betrieb</strong> des SSL-Apache<br />

ANHANG<br />

Anhang A enthält Empfehlungen von Büchern, Artikeln, Online-Dokumenten, WWW-<br />

Hyperlink-Sammlungen <strong>und</strong> Mailinglisten, die im Zusammenhang mit dem Thema<br />

dieses Handbuches erwähnenswert sind<br />

Anhang B ist ein Bezugsquellen-Nachweis für Programme <strong>und</strong> Geräte, die im Hauptteil genannt<br />

werden<br />

Anhang C führt ein Beispiel dafür an, wie die Konfigurationsdatei des Programms PGP 2.6.3in<br />

für dessen Einsatz in <strong>einer</strong> Zertifizierungsstelle aussehen kann<br />

Anhang D listet eine Reihe <strong>und</strong>okumentierter PGP-Optionen auf<br />

Anhang E Beispiel für eine OpenSSL-Konfigurationsdatei für den OpenSSL-Einsatz in <strong>einer</strong><br />

Zertifizierungshierarchie<br />

Anhang F dient als Nachschlagewerk für die diversen Kommandos <strong>und</strong> Parameter, die das<br />

OpenSSL-Paket umfaßt<br />

Anhang G gibt ein Beispiel für die Konfigurationsdatei httpd.conf des Apache-Webservers<br />

Anhang H stellt einige Software-Werkzeuge für die Analyse von X.509-Zertifikaten <strong>und</strong> von<br />

PGP-Schlüsseln vor<br />

Anhang I liefert Beispiele für Probleme aus der Zertifizierungspraxis sowohl bei Browser-<br />

Zertifikaten als auch beim Zertifizieren von PGP-Schlüsseln<br />

Anhang J wirft einen Blick auf den zeitlichen <strong>und</strong> finanziellen Aufwand, der mit den verschiedenen<br />

Auf- <strong>und</strong> Ausbaustufen <strong>einer</strong> Zertifizierungsstelle der vorgeschlagenen Form<br />

vermutlich verb<strong>und</strong>en wäre<br />

Anhang K gibt eine exemplarische “Low-Level”-Policy für die <strong>DFN</strong>-PCA-konforme Arbeit <strong>einer</strong><br />

Zertifizierungsstelle wieder<br />

Anhang L umfaßt eine kleine Auswahl von „Standard-E-Mails“ als Formulierungsvorschläge<br />

für Nachrichten, wie sie bei der Arbeit <strong>einer</strong> Zertifizierungsstelle immer wieder verschickt<br />

werden müssen<br />

Anhang M nennt die Anschriften <strong>und</strong> sonstigen Kontakt-Informationen einiger Institutionen, die<br />

im Zusammenhang mit Public-Key-Zertifizierung <strong>und</strong> Verschlüsselung von Interesse<br />

sein könnten


Vorwort ix<br />

WICHTIGER HINWEIS<br />

DIESES DOKUMENT (DAS „CA-HANDBUCH“) ENTSTAND IN EINEM <strong>DFN</strong>-PROJEKT AN DER<br />

UNIVERSITÄT HAMBURG UND WURDE NACH BESTEM WISSEN UND GEWISSEN VERFASST.<br />

DENNOCH WIRD KEINE HAFTUNG FÜR DIE KORREKTHEIT, VOLLSTÄNDIGKEIT ODER AN-<br />

WENDBARKEIT DER HIER BESCHRIEBENEN INFORMATIONEN UND DER VORGESCHLAGENEN<br />

MASSNAHMEN ÜBERNOMMEN. FERNER KANN KEINE HAFTUNG FÜR EVENTUELLE SCHÄDEN,<br />

ENTSTANDEN DURCH DIE ANWENDUNG DER IN DIESEM DOKUMENT BESCHRIEBENEN ANWEI-<br />

SUNGEN, ÜBERNOMMEN WERDEN. DIE VERANTWORTUNG FÜR DIE VERWENDUNG DER HIER<br />

BESCHRIEBENEN KONZEPTE, VERFAHREN UND PROGRAMME LIEGT ALLEIN BEI DEN JEWEI-<br />

LIGEN ANWENDERN.<br />

Noch eine Bitte. . .<br />

Wir würden uns sehr freuen, wenn Sie, sehr geehrte Anwenderin, sehr geehrter Anwender, uns mit<br />

Ihrem Feedback helfen würden, das vorliegende CA-Handbuch weiterzuentwickeln <strong>und</strong> noch besser<br />

auf Ihre Wünsche <strong>und</strong> Bedürfnisse abzustimmen! Bitte lassen Sie uns wissen, welche Abschnitte<br />

Sie bei Ihrer Arbeit mit diesem Handbuch als besonders hilfreich oder womöglich als entbehrlich<br />

empf<strong>und</strong>en haben, was Sie vielleicht darin vermißt haben oder welche Stellen aus Ihrer Sicht anders<br />

formuliert werden sollten.<br />

Auch wenn Sie sonstige Anregungen, Korrekturen oder Hinweise auf eventuelle Fehler in diesem<br />

Handbuch haben, zögern Sie bitte nicht, uns diese – gerne auch verschlüsselt – zukommen zu lassen.<br />

Am Ende dieses Handbuches finden Sie dazu die Mailadresse, Faxnummer <strong>und</strong> Postanschrift des<br />

<strong>DFN</strong>-PCA-Projektes sowie unsere Schlüsselinformationen.


Inhaltsverzeichnis<br />

Vorwort v<br />

Abbildungsverzeichnis xix<br />

I <strong>Aufbau</strong> <strong>und</strong> <strong>Betrieb</strong> <strong>einer</strong> <strong>Zertifizierungsinstanz</strong> 1<br />

1 Motivation 3<br />

2 Theoretische Gr<strong>und</strong>lagen 7<br />

2.1 Public-Key-Verschlüsselung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

2.2 Digitale Signaturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

2.3 Zertifizierungsstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

2.4 Public-Key-Zertifikate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

2.4.1 Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

2.4.2 Allgem<strong>einer</strong> <strong>Aufbau</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

2.5 Widerrufslisten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

2.6 Zertifizierungsrichtlinien („Policy“) . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

2.6.1 Zweck <strong>einer</strong> Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

2.6.2 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />

3 Public-Key-Zertifizierung in der Praxis 17<br />

3.1 Gebräuchliche Zertifikat-Formate . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

3.1.1 X.509 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

3.1.2 PGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

3.2 Zertifizierungsstellen-Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

3.2.1 X.509 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

3.2.2 PGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />

3.3 Zertifizierungsstellen in Deutschland . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

3.3.1 Nichtkommerzielle CAs . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

3.3.2 Kommerzielle CAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

3.4 Forschungs- <strong>und</strong> Pilotprojekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

3.4.1 Pilotprojekte in Deutschland . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />

3.4.2 EU-Projekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

3.5 Rechtlicher Rahmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

3.5.1 Gesetz zur digitalen Signatur . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

3.5.2 Verordnung zur digitalen Signatur . . . . . . . . . . . . . . . . . . . . . . 31<br />

3.5.3 EU-Richtlinie zu Rahmenbedingungen elektronischer Signaturen . . . . . 32<br />

3.5.4 Datenschutz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />

xi


xii INHALTSVERZEICHNIS<br />

4 Konzept für eine Zertifizierungsstelle (“plan”) 35<br />

4.1 Entwurfsziel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

4.2 Outsourcen oder Do-it-yourself ? . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

4.3 Überblick über das Konzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

4.4 Begründung für den vorgeschlagenen Ansatz . . . . . . . . . . . . . . . . . . . . 38<br />

4.4.1 Warum zwei Policies? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />

4.4.2 Warum ein unvernetzter Zertifizierungsrechner? . . . . . . . . . . . . . . . 39<br />

4.4.3 Warum ein mobiler Zertifizierungsrechner? . . . . . . . . . . . . . . . . . 39<br />

4.5 Low-Level CA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />

4.6 Medium-Level CA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

4.7 Sicherheitsbedrohungen für die CA <strong>und</strong> Gegenmaßnahmen . . . . . . . . . . . . . 43<br />

4.8 Die Zertifizierungsrichtlinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

4.8.1 Welche Algorithmen sollen unterstützt werden? . . . . . . . . . . . . . . . 47<br />

4.8.2 Separate Signier- <strong>und</strong> Entschlüsselungsschlüssel . . . . . . . . . . . . . . 48<br />

4.8.3 Schlüssellängen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48<br />

4.8.4 Zulässige Benutzerkennungen . . . . . . . . . . . . . . . . . . . . . . . . 50<br />

4.8.5 Prüfung der Mailadresse . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

4.8.6 Proof of Possession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

4.8.7 Gültigkeitsdauer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

4.8.8 Sperrung von Zertifikaten . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />

4.8.9 Re-Zertifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />

4.8.10 Key-Rollover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

4.8.11 Gruppenschlüssel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

4.8.12 Pseudonyme <strong>und</strong> anonyme Zertifikate . . . . . . . . . . . . . . . . . . . . 57<br />

4.8.13 Einbindung in die <strong>DFN</strong>-Zertifizierungshierarchie . . . . . . . . . . . . . . 58<br />

4.8.14 Nachgeordnete Zertifizierungsstellen . . . . . . . . . . . . . . . . . . . . 58<br />

4.8.15 Abweichungen von den <strong>DFN</strong>-Policies? . . . . . . . . . . . . . . . . . . . 58<br />

4.8.16 Unterschiede zwischen der Low- <strong>und</strong> der Medium-Level Policy . . . . . . 59<br />

4.9 X.509-Zertifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />

4.10 Erstellung <strong>einer</strong> X.509-UNI-CA-Policy . . . . . . . . . . . . . . . . . . . . . . . 61<br />

4.11 Datensicherung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

4.12 Arbeitsorganisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />

4.12.1 Mehr-Augen-Prinzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

4.12.2 Zurechenbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

4.12.3 Vertretungsregelung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />

4.12.4 Ausscheiden eines Mitarbeiters . . . . . . . . . . . . . . . . . . . . . . . 65<br />

4.13 Qualitätssicherung (der Sub-CAs) . . . . . . . . . . . . . . . . . . . . . . . . . . 66<br />

4.14 Dokumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66<br />

4.14.1 Liste nachgeordneter Zertifizierungsstellen . . . . . . . . . . . . . . . . . 66<br />

4.14.2 Liste der Registrierungsstellen . . . . . . . . . . . . . . . . . . . . . . . . 67<br />

4.14.3 Installations- <strong>und</strong> Bedienungsanleitungen . . . . . . . . . . . . . . . . . . 67<br />

4.14.4 Lokalisierung (Sprachanpassung) . . . . . . . . . . . . . . . . . . . . . . 68<br />

4.14.5 Leitfäden für die Zertifizierung . . . . . . . . . . . . . . . . . . . . . . . . 68<br />

4.14.6 Hinweise zum Schutz des Private-Keys . . . . . . . . . . . . . . . . . . . 68<br />

4.14.7 Key-Signing-Parties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68


INHALTSVERZEICHNIS xiii<br />

4.15 Software-Pflege (FTP-Server) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />

4.15.1 Anwendungssoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />

4.15.2 Server-Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />

4.15.3 CA-Software (für Sub-CAs) . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />

4.16 Außendarstellung der CA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />

4.16.1 Benennung: ‘CA’ vs. ‘Trustcenter’ . . . . . . . . . . . . . . . . . . . . . . 72<br />

4.16.2 Vertrauen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />

4.16.3 WWW-Präsenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74<br />

4.16.4 Erreichbarkeit der CA als Einrichtung . . . . . . . . . . . . . . . . . . . . 75<br />

4.16.5 Verteilung des authentischen CA-Signierschlüssels . . . . . . . . . . . . . 77<br />

4.16.6 Vorträge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

4.16.7 Zertifizierung vor Ort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

4.16.8 Mails an zertifizierte Nutzer . . . . . . . . . . . . . . . . . . . . . . . . . 80<br />

4.17 Cross-Zertifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80<br />

4.18 Kooperationsmöglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />

4.18.1 Registrierungsstellen oder nachgeordnete CAs . . . . . . . . . . . . . . . 81<br />

4.18.2 Uni-Verwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />

4.18.3 Externe Projekte <strong>und</strong> Einrichtungen . . . . . . . . . . . . . . . . . . . . . 82<br />

4.19 Rechtliche Aspekte des CA-<strong>Betrieb</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . 83<br />

4.19.1 Krypto-Regulierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83<br />

4.19.2 Haftung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84<br />

4.19.3 Versicherungsschutz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86<br />

4.19.4 Möglichkeit zu SigG-konformer Arbeit . . . . . . . . . . . . . . . . . . . 87<br />

4.19.5 Beweiswert nicht SigG-konformer Signaturen . . . . . . . . . . . . . . . . 89<br />

4.19.6 Exportkontrolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90<br />

4.20 Entwicklungsperspektiven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91<br />

4.20.1 Fortschreibung <strong>und</strong> Anpassung der Policies . . . . . . . . . . . . . . . . . 91<br />

4.20.2 Verlagerung des Schwerpunktes der Arbeit in der Zertifizierungsstelle . . . 93<br />

4.20.3 Ausbaustufen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />

4.20.4 Zertifizierungs-Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />

4.20.5 Neue Anwendungen im Zusammenhang mit Public-Key-Verfahren . . . . 97<br />

5 Praktische Umsetzung des CA-Konzeptes 99<br />

5.1 Zertifizierungsplattform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br />

5.1.1 Der Zertifizierungsrechner . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br />

5.1.2 <strong>Betrieb</strong>ssystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br />

5.1.3 Zertifizierungssoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100<br />

5.1.4 Speichermedium für den geheimen Signierschlüssel . . . . . . . . . . . . 101<br />

5.2 Vorgehen bei Einrichtung der CA (“build”) . . . . . . . . . . . . . . . . . . . . . 101<br />

5.2.1 Auswahl <strong>und</strong> Beschaffung der Hardware . . . . . . . . . . . . . . . . . . 101<br />

5.2.2 Beschaffung der Software . . . . . . . . . . . . . . . . . . . . . . . . . . 104<br />

5.2.3 Hardware-Vorbereitungen . . . . . . . . . . . . . . . . . . . . . . . . . . 105<br />

5.2.4 Installation des <strong>Betrieb</strong>ssystems . . . . . . . . . . . . . . . . . . . . . . . 105<br />

5.2.5 Tests vor der Inbetriebnahme . . . . . . . . . . . . . . . . . . . . . . . . . 105<br />

5.2.6 Einrichten der Benutzerbereiche . . . . . . . . . . . . . . . . . . . . . . . 106


xiv INHALTSVERZEICHNIS<br />

5.2.7 Installation der CA-Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . 106<br />

5.2.8 Schlüsselerzeugung für die CA . . . . . . . . . . . . . . . . . . . . . . . . 106<br />

5.2.9 Vorbereitung der CA-Mitarbeiter . . . . . . . . . . . . . . . . . . . . . . . 107<br />

5.2.10 Vorbereitung der Rechenzentrums-Mitarbeiter (Schulung) . . . . . . . . . 108<br />

5.2.11 Einbindung in die Rechenzentrums-Infrastruktur . . . . . . . . . . . . . . 108<br />

5.2.12 Interne Probeläufe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110<br />

5.2.13 Policy-Verabschiedung <strong>und</strong> -Bekanntgabe . . . . . . . . . . . . . . . . . . 110<br />

5.2.14 Zertifizierung durch die <strong>DFN</strong>-PCA . . . . . . . . . . . . . . . . . . . . . 111<br />

5.3 PR-Anlässe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111<br />

5.4 <strong>Betrieb</strong> der CA (“run”) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112<br />

5.4.1 Beispiel-Szenarien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112<br />

5.4.2 Objekt-Lebenszyklen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113<br />

5.4.3 Terminsachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115<br />

5.4.4 Step-by-Step-Anleitungen . . . . . . . . . . . . . . . . . . . . . . . . . . 117<br />

5.4.5 Notfallpläne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121<br />

5.5 Stolpersteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122<br />

6 Ausblick 125<br />

6.1 Absehbare technische Entwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . 125<br />

6.1.1 Software, Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125<br />

6.1.2 Infrastrukturen, Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . 127<br />

6.2 Erweiterung des Aufgabenfeldes der UNI-CA . . . . . . . . . . . . . . . . . . . . 129<br />

6.3 Auslaufen des <strong>DFN</strong>-PCA-Projektes . . . . . . . . . . . . . . . . . . . . . . . . . 130<br />

II Zertifizierung mit OpenSSL 131<br />

7 OpenSSL-0.9.5 133<br />

7.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133<br />

7.2 Installation von OpenSSL-0.9.5-dev . . . . . . . . . . . . . . . . . . . . . . . . 134<br />

7.2.1 Konfiguration <strong>und</strong> Übersetzung . . . . . . . . . . . . . . . . . . . . . . . 134<br />

7.2.2 Übersetzung als Programmsammlung . . . . . . . . . . . . . . . . . . . 135<br />

7.2.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137<br />

8 Unterstützte Zertifikaterweiterungen 141<br />

8.1 Critical Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142<br />

8.2 Basic Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142<br />

8.3 Key Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143<br />

8.4 Extended Key Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144<br />

8.5 Subject Key Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146<br />

8.6 Authority Key Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146<br />

8.7 Subject Alternative Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147<br />

8.8 Issuer Alternative Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147<br />

8.9 Certificate Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147<br />

8.10 CRL Distribution Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148<br />

8.11 Netscape Certificate Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . 149


INHALTSVERZEICHNIS xv<br />

9 Die OpenSSL-Konfigurationsdatei 151<br />

10 Erzeugen von Requests <strong>und</strong> Zertifikaten 155<br />

10.1 Erzeugen eines Root-CA-Zertifikats . . . . . . . . . . . . . . . . . . . . . . . . . 155<br />

10.2 Erzeugen eines Certificate Requests . . . . . . . . . . . . . . . . . . . . . . . . . 157<br />

10.3 Signieren eines Certificate Requests . . . . . . . . . . . . . . . . . . . . . . . . . 159<br />

11 Certificate Revocation Lists mit OpenSSL 161<br />

11.1 <strong>Aufbau</strong> der Indexdatei index.txt . . . . . . . . . . . . . . . . . . . . . . . . 161<br />

11.2 Widerruf eines Zertifikats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162<br />

11.3 CRL Authority Key Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163<br />

11.4 CRL Issuer Alternative Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163<br />

12 Testbericht: Praxis-Erfahrungen 165<br />

12.1 OpenSSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165<br />

12.2 Zertifikate <strong>und</strong> Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166<br />

12.2.1 Export aus dem Browser . . . . . . . . . . . . . . . . . . . . . . . . . . 166<br />

12.2.2 Import in den Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . 167<br />

12.3 Zertifikate <strong>und</strong> CRLs mit dem Netscape Browser . . . . . . . . . . . . . . . . . . 168<br />

12.3.1 Zertifikate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168<br />

12.3.2 CRLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170<br />

12.4 Zertifikate <strong>und</strong> CRLs mit Microsoft Browser . . . . . . . . . . . . . . . . . . . . 171<br />

12.4.1 Zertifikate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171<br />

12.4.2 CRLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173<br />

13 Ergänzende Programme 175<br />

13.1 pfx-0.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175<br />

13.1.1 Übersetzung <strong>und</strong> Installation . . . . . . . . . . . . . . . . . . . . . . . . 175<br />

13.1.2 Anwendung von pfx . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176<br />

13.2 pkcs12-054 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177<br />

13.3 ca-fix-0.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177<br />

III Integration von SSL in den Apache-Webserver 179<br />

14 Installation der Software 181<br />

14.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181<br />

14.2 Benötigte Software-Pakete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182<br />

14.3 Das Paket mm-1.0.12.tar.gz . . . . . . . . . . . . . . . . . . . . . . . . . 182<br />

14.4 Das Paket openssl-0.9.4.tar.gz . . . . . . . . . . . . . . . . . . . . . . 184<br />

14.5 Das Paket mod_ssl-2.4.10-1.3.9 . . . . . . . . . . . . . . . . . . . . . . 186<br />

14.6 Das Paket apache_1.3.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187<br />

14.6.1 Apache ohne DSO-Support . . . . . . . . . . . . . . . . . . . . . . . . . 188<br />

14.6.2 Apache mit DSO-Support . . . . . . . . . . . . . . . . . . . . . . . . . . 189<br />

14.6.3 Installation des SSL-Apache durch Kopieren . . . . . . . . . . . . . . . . 190<br />

14.6.4 Gruppen- <strong>und</strong> Benutzerrechte . . . . . . . . . . . . . . . . . . . . . . . . 192<br />

14.7 Übersetzung von neuen Mod-SSL-Versionen . . . . . . . . . . . . . . . . . . . . 193


xvi INHALTSVERZEICHNIS<br />

15 <strong>Betrieb</strong> des SSL-Apache 195<br />

15.1 Virtuelle Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195<br />

15.2 Erzeugen eines Server-Zertifikats . . . . . . . . . . . . . . . . . . . . . . . . . . 196<br />

15.2.1 Erzeugen eines Zertifikats durch make certificate . . . . . . . . . 196<br />

15.2.2 Zertifizierung durch eine CA . . . . . . . . . . . . . . . . . . . . . . . . 198<br />

15.3 Prüfung von Client-Zertifikaten . . . . . . . . . . . . . . . . . . . . . . . . . . . 199<br />

15.4 Widerrufslisten (CRLs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201<br />

15.5 Starten <strong>und</strong> Stoppen des Apache . . . . . . . . . . . . . . . . . . . . . . . . . . 202<br />

Anhang 205<br />

A Empfehlenswerte Lektüre 207<br />

A.1 Online-Dokumente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207<br />

A.2 Linksammlungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208<br />

A.3 Mailinglisten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209<br />

A.4 Bücher, Aufsätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210<br />

B Bezugsquellen 211<br />

B.1 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211<br />

B.2 Notebooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212<br />

B.3 Spezial-Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213<br />

C PGP-Beispielkonfiguration config.txt 217<br />

D Undokumentierte PGP-Optionen 223<br />

E openssl.cnf – Beispiel-Datei 225<br />

F Aufrufparameter <strong>und</strong> Optionen von openssl 233<br />

G httpd.conf – Beispielkonfiguration für Apache-Webserver 245<br />

H Zertifikat-Analyse-Tools 257<br />

H.1 Werkzeuge für X.509-Zertifikate . . . . . . . . . . . . . . . . . . . . . . . . . . . 257<br />

H.1.1 md5 <strong>und</strong> md5sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257<br />

H.1.2 OpenSSLs x509 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258<br />

H.1.3 asn1parse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260<br />

H.1.4 dumpasn1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261<br />

H.2 Werkzeuge für PGP-Zertifikate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263<br />

H.2.1 pgpacket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263<br />

H.2.2 pgpsort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265<br />

I Hürden bei der Zertifizierung 267<br />

I.1 Probleme mit X.509-Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267<br />

I.2 Probleme mit PGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268<br />

J Aufwandsabschätzung 271


INHALTSVERZEICHNIS xvii<br />

K Low-Level-Policy (Mustertext) 277<br />

L Standard-CA-Mails 287<br />

M Kontaktinformationen anderer Stellen 295<br />

Abkürzungsverzeichnis 299<br />

Literaturverzeichnis 304<br />

Informationen zur <strong>DFN</strong>-PCA 321<br />

Kontakt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321<br />

Schlüsselinformationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321


Abbildungsverzeichnis<br />

3.1 Struktur eines X.509v3-Zertifikates . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

3.2 PGP Public-Key – Grobstruktur einschließlich Zertifikaten . . . . . . . . . . . . . 20<br />

3.3 Struktur eines PGP Public-Keys <strong>und</strong> eines PGP-Key-Zertifikates . . . . . . . . . . 20<br />

12.1 Netscape-Fehlermeldung bei wiederholtem Laden <strong>einer</strong> CRL . . . . . . . . . . . . 170<br />

12.2 Netscape-Fehlermeldung: überschrittene Gültigkeitsdauer <strong>einer</strong> CRL . . . . . . . . 171<br />

12.3 Internet Explorer: Import eines Zertifikates . . . . . . . . . . . . . . . . . . . . . 172<br />

B.1 Protego SG100 Security Generator (Aufmaß) . . . . . . . . . . . . . . . . . . . . 214<br />

B.2 Protego SG100 Security Generator im Einsatz . . . . . . . . . . . . . . . . . . . . 215<br />

I.1 Browser-Fehlermeldungen bei 2048 bit-Server-Schlüssel . . . . . . . . . . . . . . 267<br />

xix


<strong>Teil</strong> I<br />

<strong>Aufbau</strong> <strong>und</strong> <strong>Betrieb</strong> <strong>einer</strong><br />

<strong>Zertifizierungsinstanz</strong><br />

1


Kapitel 1<br />

Motivation<br />

Aufgabe der „Allianz von Technik <strong>und</strong> Datenschutz“ (Simitis)<br />

ist vor allem die Entwicklung <strong>und</strong> Verbreitung<br />

von ‘privacy enhancing technologies’. Sie soll<br />

datenschutzfördernde Sicherheitsarchitekturen anbieten ... .<br />

— STEFAN WALZ [Wal97, S. 28]<br />

Ohne Verschlüsselung gibt es bei der Kommunikation per E-Mail keine Vertraulichkeit. Als Beleg<br />

müßten die beiden folgenden Zitate eigentlich ausreichen, um jeden Skeptiker davon zu überzeugen,<br />

daß abgehört wird:<br />

12,6% der 1000 führenden Unternehmen in den USA haben Eingriffe in ihr E-Mail-System entdeckt;<br />

mindestens jede zehnte Nachricht werde unbefugt abgefangen oder mitgelesen – laut PGP-Entwicklern<br />

ist es sogar jede vierte [CZ98e].<br />

Der US-Geheimdienst NSA hört europaweit E-Mails ab [Ebe98, Wri98a, S. 19] <strong>und</strong> betreibt ein welt-<br />

weites Abhörnetz, das vor allem gegen nicht-militärische Ziele gerichtet ist [Hag97]. Dabei kooperie-<br />

ren EU <strong>und</strong> USA bei diesem weltweiten Überwachungssystem [StW97].<br />

Und während sich der Zwischenbericht des EU-Parlamentes noch über das NSA-Abhörnetz empört<br />

“If even half of these allegations are true then the European Parliament must act to ensure that<br />

such powerful surveillance systems operate to a more democratic consensus now that the Cold<br />

War has ended. [...] No proper Authority in the USA would allow a similar EU spy network to<br />

operate from American soil without strict limitations, if at all. [...] [The] European Parliament<br />

is advised to set up appropriate independent audit and oversight procedures and that any effort<br />

to outlaw encryption by EU citizens should be denied until and unless such democratic and<br />

accountable systems are in place, if at all.” [Wri98b]<br />

plant die EU ziemlich im Verborgenen <strong>und</strong> bislang kaum beachtet mit „ENFOPOL“ schon etwas<br />

Ähnliches [SH98b].<br />

3


4 Kapitel 1. Motivation<br />

Ohne Verschlüsselungsverfahren (Kryptographie) ist nicht nur die Vertraulichkeit der elektronischen<br />

Kommunikation gefährdet, es ist, wie z.B. DAMKER et al. demonstrieren [DFS96] – <strong>und</strong><br />

wie es vermutlich viele Internet-Nutzer bereits selber erlebt haben (etwa in Form <strong>einer</strong> E-Mail von<br />

schroeder@kanzleramt.de o.ä.) – auch keine sichere Feststellung des Urhebers (Authentizität)<br />

oder der Unverfälschtheit <strong>einer</strong> Nachricht (Integrität) möglich.<br />

Und dennoch fehlt es immer noch an der unterstützenden Infrastruktur für den breiten Einsatz von<br />

geeigneten kryptographischen Verfahren. Was RÜDIGER GRIMM 1997 beklagte, ist, wenn auch<br />

vielleicht in etwas abgeschwächter Form, immer noch aktuell:<br />

„Es werden global kompatible Zertifizierungsinfrastrukturen gebraucht, in denen jeder Bürger<br />

jeden öffentlichen Signaturschlüssel glaubwürdig verifizieren kann, ohne vorher mit seinem Be-<br />

sitzer einen bilateralen Prüfvorgang durchlaufen zu müssen. [...] Warum aber gibt es diese Zer-<br />

tifizierungsinfrastruktur nicht längst, wenn sie doch so dringend gebraucht wird? Die Verfahren<br />

sind seit fast zehn Jahren bekannt. Hier gibt es ein Henne-Ei-Problem, indem die Zertifizie-<br />

rungsinfrastruktur <strong>einer</strong>seits <strong>und</strong> die Sicherheitsanwendungen andererseits aufeinander warten.<br />

[...] Unternehmer sind nicht bereit, in den <strong>Aufbau</strong> von <strong>Zertifizierungsinstanz</strong>en zu investieren,<br />

wenn man mit den neuen Signaturschlüsseln nichts anfangen kann: Sie warten darauf, daß es ...<br />

interessante Anwendungen gibt, die eine Nachfrage nach <strong>einer</strong> Schlüsselverwaltung erzeugen.<br />

Umgekehrt investiert aber kein Anwender in teure Zusatzfunktionen in die schon bestehenden<br />

Internetanwendungen für Email <strong>und</strong> Word Wide Web [sic], wenn dafür Schlüssel gebraucht<br />

werden, die es nirgends gibt ...“ [Gri97, S. 217]<br />

Das Projekt „Policy Certification Authority für den <strong>DFN</strong>“ (<strong>DFN</strong>-PCA) zielt darauf ab, innerhalb<br />

des Deutschen Forschungsnetzes eine Zertifizierungsinfrastruktur aufzubauen. Als ein <strong>Teil</strong> davon<br />

sind <strong>Zertifizierungsinstanz</strong>en in den <strong>DFN</strong>-Mitgliedseinrichtungen vorgesehen, die mithelfen (werden),<br />

den von GRIMM genannten „Teufelskreis“ zu durchbrechen. Mit dem hier vorgelegten CA-<br />

Handbuch will die <strong>DFN</strong>-PCA interessierten Einrichtungen <strong>und</strong> Personen im <strong>DFN</strong>, aber auch außerhalb<br />

des Forschungsnetzes, eine Handreichung bieten, die ihnen dabei helfen soll, eine eigene<br />

<strong>Zertifizierungsinstanz</strong> aufzubauen <strong>und</strong> zu betreiben. Auf diese Weise kann <strong>und</strong> soll eine breite Zertifizierungsinfrastruktur<br />

entstehen, die in möglichst vielen der <strong>DFN</strong>-Mitgliedseinrichtungen verankert<br />

ist.<br />

Gerade Forschungseinrichtungen müßten ein originäres Interesse daran haben, Know-how im Umgang<br />

mit Public-Key-Verschlüsselung <strong>und</strong> elektronischen Signaturen zu sammeln, denn sie können<br />

bereits heute vom Einsatz dieser Techniken ganz praktisch profitieren: 1998 hat die EU den Auftrag<br />

für die Einrichtung <strong>und</strong> den <strong>Betrieb</strong> <strong>einer</strong> Zertifizierungsstelle ausgeschrieben, die die elektronische<br />

Einreichung von Geboten <strong>und</strong> Anträgen zu Forschungs- <strong>und</strong> Entwicklungs-Programmen der EU<br />

ermöglichen soll [EUK98a]. Diese Stelle ist inzwischen eingerichtet <strong>und</strong> kann von jeder Einrichtung<br />

in Anspruch genommen werden, die EU-Projekt-Proposals auf elektronischem Weg einreichen<br />

möchte. 1<br />

Auch bei der Verwaltung <strong>einer</strong> eigenen Internet-Domain lassen sich Public-Key-Verfahren sinnvoll<br />

einsetzen <strong>und</strong> tragen zu <strong>einer</strong> größeren Sicherheit bei: Änderungswünsche an den Einträgen<br />

1 http://fp5-csp.org


in der RIPE 2 -Datenbank, über die die europäischen Internetnummern vergeben werden, können –<br />

<strong>und</strong> sollten – inzwischen mit digitalen PGP-Signaturen authentifiziert werden, um gefälschten Änderungsaufträgen<br />

einen Riegel vorzuschieben. [Zsa99]<br />

Auch die neue B<strong>und</strong>esregierung verschließt sich diesen Vorzügen nicht, nachdem der ehemalige<br />

Innenminister Kanther noch ein vehementer Verfechter staatlicher Abhörbefugnisse war. In ihrem<br />

„Eckwertepapier zur Kryptopolitik“ 3 vom 2. Juni 1999 beschließt die B<strong>und</strong>esregierung u.a.:<br />

„Die B<strong>und</strong>esregierung beabsichtigt nicht, die freie Verfügbarkeit von Verschlüsselungsproduk-<br />

ten in Deutschland einzuschränken. Sie sieht in der Anwendung sicherer Verschlüsselung eine<br />

entscheidende Voraussetzung für den Datenschutz der Bürger, für die Entwicklung des elektro-<br />

nischen Geschäftsverkehrs sowie den Schutz von Unternehmensgeheimnissen.“<br />

Mit der „Initiative des B<strong>und</strong>esministeriums für Wirtschaft <strong>und</strong> Technologie für mehr Sicherheit<br />

in der Informationsgesellschaft“ 4 will sie darüberhinaus „... Projekte durch[zu]führen, u.a. um die<br />

Transparenz technischer Vorgänge zu verbessern <strong>und</strong> dadurch die Nutzer zu mehr Eigenverantwortlichkeit<br />

anzuregen. [...] Gerade ... bei den privaten Internet-Nutzern besteht ... noch erheblicher<br />

Informationsbedarf [...]“ [BMW99b]. Im Rahmen dieser Initiative fördert das Ministerium auch die<br />

Integration von starker Open-Source-Kryptosoftware („Gnu Privacy Guard“ 5 ) in verbreitete Mailprogramme.<br />

6<br />

Erfreulicherweise kann jede Sicherungsinfrastruktur für digitale Signatursysteme, die technisch zuverlässige<br />

Signierschlüssel bereitstellt, auch dazu benutzt werden, Verschlüsselungsschlüssel (Konzelationsschlüssel)<br />

sicher auszutauschen [HP96]. Insofern hilft eine Zertifizierungsinfrastruktur, den<br />

Nutzern entsprechen der Forderungen der Datenschutzbeauftragten im Sinne ihres informationellen<br />

Selbstbestimmungsrechtes Hilfsmittel <strong>und</strong> Verfahren an die Hand zu geben, mittels derer sie die<br />

Authentizität <strong>und</strong> Integrität, aber auch die Vertraulichkeit ihrer Kommunikation selber sicherstellen<br />

können.<br />

Ein weiterer Gr<strong>und</strong>, sich für den verstärkten Gebrauch von Verschlüsselung einzusetzen <strong>und</strong> die<br />

Voraussetzungen für einen solchen auf breiter Basis zu schaffen, liegt in der Langlebigkeit einmal<br />

verschickter E-Mails begründet. Festplattenplatz ist billig geworden, <strong>und</strong> so werden elektronische<br />

Mitteilungen (auch unwichtige) länger aufgehoben als früher vergleichbare Notizen oder Briefe,<br />

die irgendwann aus Platzgründen aussortiert wurden. Heute können solche Mitteilungen nicht nur<br />

in großer Zahl archiviert, sondern bei Bedarf auch blitzschnell nach Suchkriterien durchsucht <strong>und</strong><br />

die Ergebnisse dann ohne größere Umstände elektronisch weitergeleitet oder auf Knopfdruck einem<br />

großen Empfängerkreis zugänglich gemacht werden.<br />

Hinzu kommt noch (zumindest bei der Kommunikation mit öffentlichen Einrichtungen) die Gefahr,<br />

daß Dritte über Akteneinsichtsregelungen Einblick in die persönlichen Schreiben bekommen könnten<br />

[Mee99] – ein Umstand, dessen sich sicher nur die wenigsten von uns bewußt sind, wenn sie mit<br />

<strong>einer</strong> Behörde Schrift- bzw. E-Mailverkehr führen. Dieser Punkt betrifft uns in der B<strong>und</strong>esrepublik<br />

2 http://www.ripe.net<br />

3 dokumentiert unter http://www.dud.de/dud/doks/kreg990602.htm<br />

4 http://www.sicherheit-im-internet.de<br />

5 http://www.gnupg.org<br />

6 http://www.sicherheit-im-internet.de/download/pm-gnupg.pdf<br />

5


6 Kapitel 1. Motivation<br />

(noch) nicht in gleichem Maße wie beispielsweise die US-Amerikaner, die schon lange ein Akteneinsichtsrecht<br />

(“Freedom of Information”, FOI) haben. 1998 hat jedoch mit Brandenburg das erste<br />

Land der B<strong>und</strong>esrepublik ein entsprechendes Gesetz [AIG98] erlassen, inzwischen sind auf Länderebene<br />

Berlin 7 <strong>und</strong> Schleswig-Holstein 8 dem Brandenburger Vorbild gefolgt, <strong>und</strong> auf B<strong>und</strong>esebene<br />

hat die neue Regierungskoalition die Einführung eines Akteneinsichtsrechts in Deutschland<br />

als Ziel in ihrem Koalitionsvertrag 9 festgeschrieben.<br />

Es gibt also auch in Deutschland immer mehr Gründe, verschlüsselt zu mailen – „Nicht immer, aber<br />

immer öfter!“ ; –)<br />

7<br />

http://www.datenschutz-berlin.de/recht/bln/ifg/ifg.htm<br />

8<br />

http://www.rewi.hu-berlin.de/Datenschutz/DSB/SH/material/themen/presse/<br />

ldsgifg.htm<br />

9<br />

online dokumentiert auf dem Webserver der SPD unter http://www.spd.de/politik/koalition/, Ab-<br />

schnitt IX „Sicherheit für alle – Bürgerrechte stärken“, Punkt 13 „Beteiligungsrechte“


Kapitel 2<br />

Theoretische Gr<strong>und</strong>lagen<br />

Die Schlüssel werden golden <strong>und</strong> silbern gemalt.<br />

Der goldene ... bedeutet die Gewalt, zu lösen <strong>und</strong> zu öffnen.<br />

Der silberne ... versinnbildet die Gewalt, zu binden <strong>und</strong> zu schließen.<br />

— BRUNO B. HEIM, Wappenbrauch <strong>und</strong> Wappenrecht<br />

in der Kirche, zitiert nach [Rab70, S. 214]<br />

Nachfolgend werden die theoretischen Gr<strong>und</strong>lagen der Public-Key-Verschlüsselung sehr kurz umrissen.<br />

Eine gewisse Vertrautheit mit Public-Key-Verfahren ist daher von Vorteil beim Arbeiten mit<br />

diesem Handbuch. 1<br />

2.1 Public-Key-Verschlüsselung<br />

DIFFIE <strong>und</strong> HELLMAN stellten 1976 ein für die Kryptographie revolutionäres Verfahren vor<br />

[DH76], das sie zurecht mit “New Directions in Cryptography” überschrieben. 2 Sie brachen darin<br />

mit den bis dahin gängigen Verschlüsselungsverfahren, bei denen Sender <strong>und</strong> Empfänger beide<br />

denselben geheimzuhaltenden Schlüssel sowohl zum Ver- als auch zum Entschlüsseln benutzen (sogenannte<br />

single key oder auch ‘symmetrische’ Verschlüsselungsverfahren). Sie schlugen vielmehr<br />

vor, daß Sender <strong>und</strong> Empfänger jeweils ein Schlüsselpaar erzeugen, das aus zwei Komponenten<br />

besteht, die in einem bestimmten mathematischen Bezug zueinander stehen.<br />

Soll nun eine Nachricht vertraulich übermittelt werden, so verschlüsselt der Absender sie mit der<br />

einen Komponente des Empfängerschlüssels, die dafür öffentlich bekannt sein muß – dem öffentlichen<br />

Schlüssel oder auch public key. Entschlüsseln kann diese Nachricht nun nur derjenige, der<br />

über die andere Komponente des Schlüssels verfügt. Diese sollte also geheimgehalten werden, damit<br />

kein Dritter unbefugt die verschlüsselte Nachricht lesen kann. Diese geheime Komponente wird<br />

als secret key oder auch als private key bezeichnet. Zur Veranschaulichung wird oft das Bild eines<br />

1 Einen guten, verständlichen Überblick über die gr<strong>und</strong>legenden Mechanismen bietet z.B. GEHRING [Geh98].<br />

2 Der britische Geheimdienst CESG hat kürzlich behauptet, bereits einige Jahre zuvor das Konzept der Public-Key-<br />

Verschlüsselung entdeckt, es aber nicht öffentlich gemacht zu haben [Ell97]. In der nicht-militärischen Kryptologie gelten<br />

daher nach wie vor Diffie <strong>und</strong> Hellman als die „Erfinder“ der Public-Key-Verschlüsselung.<br />

7


8 Kapitel 2. Theoretische Gr<strong>und</strong>lagen<br />

Briefkastens herangezogen. Der Absender kann eine Nachricht hineinwerfen (= verschlüsseln), sie<br />

aber nicht mehr wieder herausholen (= entschlüsseln). Das kann nur der Inhaber des passenden<br />

„privaten“ Schlüssels zu diesem Briefkasten – eben der Inhaber des Secret Keys. Aufgr<strong>und</strong> der unterschiedlichen<br />

Schlüssel, die zum Ver- <strong>und</strong> zum Entschlüsseln verwendet werden, spricht man statt<br />

von Public-Key-Verschlüsselung gelegentlich auch von „asymmetrischer“ Verschlüsselung.<br />

Auf diese Weise muß nur jeder seinen öffentlichen Schlüssel bekannt geben, <strong>und</strong> schon können ihm<br />

alle Leute, auch wildfremde, die ihm nie zuvor persönlich begegnet sind, verschlüsselt <strong>und</strong> damit<br />

vertraulich Nachrichten zukommen lassen. Das ist ein wesentlicher Fortschritt gegenüber allen Verfahren,<br />

die man bis dahin kannte, bei denen jedes Sender-Empfänger-Paar einen separaten Schlüssel<br />

ausmachen mußte – bei <strong>einer</strong> größeren Zahl von Kommunikationsteilnehmern ein fast unlösbares<br />

Unterfangen. Bei den Public-Key-Verfahren hingegen ist es egal, ob 10 oder 10 000 Menschen miteinander<br />

kommunizieren wollen, jeder muß nur (s)einen öffentlichen Schlüssel bekannt geben, quasi<br />

seinen „Briefkasten aufhängen“, um in diesem Bild zu bleiben.<br />

Es gibt dabei nun nur ein kleines, anderes Problem: Woran erkennt man, ob ein Briefkasten wirklich<br />

zu demjenigen gehört, dessen Name darauf prangt? Oder, auf die Verschlüsselung bezogen:<br />

Wie kann ein Absender <strong>einer</strong> Nachricht sicher sein, daß er wirklich den authentischen öffentlichen<br />

Schlüssel des beabsichtigten Empfängers vorliegen hat <strong>und</strong> nicht irgendeinen anderen Schlüssel,<br />

den ihm jemand untergeschoben hat? Bei <strong>einer</strong> großen Zahl von (potentiellen) Kommunikationsteilnehmern<br />

kann man sich nicht mehr mit jeder oder jedem persönlich treffen, um den öffentlichen<br />

Schlüssel des jeweils anderen sozusagen „aus erster Hand“ zu erhalten. Man spricht in diesem Zusammenhang<br />

auch vom „Schlüsselverteilungsproblem“, das sich glücklicherweise durch organisatorische<br />

Vorkehrungen stark reduzieren läßt (s. 2.3).<br />

Ungünstigerweise sind die Rechenoperationen, auf denen Public-Key-Verfahren üblicherweise aufbauen,<br />

sehr aufwendig <strong>und</strong> dieses Verfahren entsprechend langsam, besonders, wenn längere Nachrichten<br />

damit verschlüsselt werden sollen. Auch lassen sich die Gr<strong>und</strong>operationen für Public-Key-<br />

Verfahren, das Rechnen mit sehr großen Zahlen (mehr als 100 Stellen), nicht so gut auf einem<br />

Mikroprozessor ausführen wie die Basisoperationen, aus denen einige der besten herkömmlichen,<br />

symmetrischen Verschlüsselungsverfahren aufgebaut sind. (Beispiele für bekannte Vertreter dieser<br />

Verfahren sind der Data Encryption Standard, DES, <strong>und</strong> der International Data Encryption Algorithm,<br />

IDEA [DES77, LM91].) Um nun den Vorteil der Public-Key-Verschlüsselung – einfachere<br />

Schlüsselverteilung – mit den Vorzügen der symmetrischen Verschlüsselung – sehr schnell <strong>und</strong> besonders<br />

effizient in Hardware realisierbar – zu kombinieren, bedient man sich <strong>einer</strong> Kombination<br />

aus beiden: Es wird ein zufälliger Sitzungsschlüssel (session key, quasi ein „Einmal-Schlüssel“) erzeugt,<br />

der nur für die symmetrische Verschlüsselung <strong>einer</strong> einzigen Nachricht verwendet wird. Die<br />

vertraulich zu übermittelnde Nachricht wird z.B. mit DES unter diesem Sitzungsschlüssel chiffriert.<br />

Der Sitzungsschlüssel selber ist typischerweise nur wenige Bytes groß <strong>und</strong> wird nun wiederum selber<br />

mittels asymmetrischer Verschlüsselung unter Verwendung des Public-Keys der beabsichtigten<br />

Empfängerin der Nachricht verschlüsselt. (Das geht trotz Public-Key-Verschlüsselung schnell, weil<br />

der Session-Key so kurz ist.) Beide verschlüsselten Informationen, der Chiffretext der ursprünglichen<br />

Nachricht <strong>und</strong> der des zu ihrer Verschlüsselung verwendeten Einmalschlüssels, werden nun zusammen<br />

an die Empfängerin übermittelt. Diese entschlüsselt zuerst den Public-Key-verschlüsselten<br />

Session-Key, wozu sie ihren geheimen Schlüssel benutzt. Keine andere Person, auch kein „Lauscher“,<br />

könnte auf diese Weise den Sitzungsschlüssel ermitteln, da ja – sorgfältigen Umgang mit


2.2. Digitale Signaturen 9<br />

dem Private-Key vorausgesetzt – niemand sonst über den zum öffentlichen Schlüssel der Empfängerin<br />

korrespondierenden geheimen Schlüssel verfügt. Die Empfängerin erhält auf diese Weise den<br />

Sitzungsschlüssel <strong>und</strong> kann dann mit dessen Hilfe die herkömmlich verschlüsselte Nachricht wieder<br />

lesbar machen. Eine solche Kombination aus herkömmlicher <strong>und</strong> Public-Key-Verschlüsselung<br />

bezeichnet man auch als „Hybrid“-Verfahren.<br />

Die bekannteste konkrete Umsetzung des Public-Key-Ansatzes dürfte das RSA-Verfahren sein<br />

[RSA78], das nach seinen drei Erfindern RONALD RIVEST, FIAT SHAMIR <strong>und</strong> LEONARD ADLE-<br />

MAN benannt ist <strong>und</strong> das die Gr<strong>und</strong>lage für die Arbeit der gleichnamigen Firma (RSA Data Security,<br />

heute eine Tochter von Security Dynamics) darstellt. Beispiele für Programme, in denen Public-<br />

Key-Verschlüsselung vorkommt, <strong>und</strong> zwar meist als <strong>Teil</strong> <strong>einer</strong> Hybrid-Verschlüsselung, also in<br />

Kombination mit symmetrischen Verschlüsselungsverfahren, sind das Verschlüsselungsprogramm<br />

Pretty Good Privacy (PGP) [Zim95] <strong>und</strong> alle WWW-Browser, die die verschlüsselte Übertragung<br />

via Secure Socket Layer (SSL) [FKK96] unterstützen.<br />

2.2 Digitale Signaturen<br />

Manche der Public-Key-Verschlüsselungsverfahren verfügen über eine zusätzliche Eigenschaft, die<br />

sie noch für einen anderen Zweck einsetzbar macht: Ver- <strong>und</strong> Entschlüsselungsoperation sind kommutativ,<br />

d.h. das Resultat ist dasselbe, egal ob erst ver- <strong>und</strong> dann entschlüsselt wird oder umgekehrt.<br />

Man kann also auch eine Nachricht zuerst mit dem geheimen Schlüssel „entschlüsseln“ <strong>und</strong> sie<br />

danach mit dem öffentlichen Schlüssel „verschlüsseln“ <strong>und</strong> erhält am Ende auch bei dieser Ausführungsreihenfolge<br />

wieder den ursprünglichen Klartext. Dies kann man sich zu Nutze machen, um<br />

die Urheberschaft eines Dokumentes zu kennzeichnen, es quasi zu „unterschreiben“: Der Absender,<br />

der eine Nachricht digital unterzeichnen möchte, verschlüsselt diese mit seinem Private-Key,<br />

auf den niemand außer ihm Zugriff hat. Das Ergebnis ist eine Nachricht, die aussieht, als wäre sie<br />

verschlüsselt. Sie erweckt aber nur den Anschein als ob, denn jeder kann mit dem Public-Key des<br />

Absenders diese „Verschlüsselung“ wieder rückgängig machen <strong>und</strong> erhält dann den Klartext. Durch<br />

die Entschlüsselungsoperation mit dem öffentlichen Schlüssel erfolgt quasi eine Prüfung der Unterschrift<br />

bzw. des vermuteten Absenders. Ergibt diese Operation sinnvollen Klartext, so kann die<br />

vorhergehende Verschlüsselungsoperation nur mit dem korrespondierenden Private-Key durchgeführt<br />

worden sein – <strong>und</strong> auf den sollte, normalen Umgang mit geheimen Schlüsseln vorausgesetzt,<br />

nur der Inhaber zugreifen können. Also muß diese Nachricht von ihm stammen. Man könnte sagen,<br />

er hat sie mit seinem geheimen Schlüssel signiert.<br />

Da, wie bereits in 2.1 erwähnt, Public-Key-Verfahren ziemlich rechenaufwendig sind, zu unterschreibende<br />

Nachrichten aber mitunter auch sehr groß werden können, greift man auch hier wieder<br />

zu einem Trick, um nicht nur möglichst kurze Datenfolgen mit dem Public-Key-Verfahren bearbeiten<br />

zu müssen: Statt eine ganze, möglicherweise sehr große, Nachricht mit dem geheimen Schlüssel<br />

zu „verschlüsseln“, um sie zu signieren, wird eine Art Prüfsumme, eine mathematische „Kurzfassung“<br />

der Nachricht verschlüsselt, die dann zusammen mit der eigentlichen Nachricht übermittelt<br />

wird. Dazu bedient man sich sogenannter Hash-Funktionen – man spricht auch von message digests<br />

–, die große Nachrichten mit beliebiger Länge auf eine sehr kurze Bitfolge abbilden können.<br />

Der Empfänger <strong>einer</strong> auf diese Weise signierten Nachricht muß nun mehrere Schritte ausführen,<br />

um die digitale Signatur zu der Nachricht prüfen zu können: Der Text der eigentlichen Nachricht


10 Kapitel 2. Theoretische Gr<strong>und</strong>lagen<br />

wird von der angefügten Signatur getrennt. Dann wird über diesem Text nach demselben Verfahren<br />

wie beim Absender die Prüfsumme berechnet. Das Ergebnis dieser Berechnung wird mit der<br />

Zahl verglichen, die man erhält, indem man die signierte Prüfsumme, die ebenfalls Bestandteil der<br />

übermittelten Nachricht war, mit dem Public-Key des Absenders „entschlüsselt“. Sind beide Zahlen<br />

identisch, heißt das, daß der Absender die Hash-Funktion auf genau den Text angewendet haben<br />

muß, der auch beim Empfänger (zusammen mit der Signatur) angekommen ist. Weicht hingegen die<br />

vom Empfänger ermittelte Prüfsumme von der ab, die der Absender als Signatur mit der Nachricht<br />

mitgeschickt hat, so ist entweder die Nachricht unterwegs verändert worden oder zum Prüfen der<br />

Signatur wurde der falsche Public-Key verwendet, <strong>und</strong> die Nachricht hat einen anderen Urheber.<br />

Um außerdem noch erkennen zu können, wann ein Dokument auf diese Weise digital unterschrieben<br />

wurde, wird außer der Prüfsumme meistens noch ein Zeitstempel mit „verschlüsselt“. Dadurch läßt<br />

sich dann beim Empfänger auch erkennen, ob eventuell eine alte Nachricht von einem Angreifer<br />

erneut eingespielt wurde (eine sog. replay attack).<br />

Auch für die Prüfung <strong>einer</strong> digitalen Signatur ist es unerläßlich, daß der Empfänger den authentischen<br />

Schlüssel des vermuteten Absenders vorliegen hat, denn nur dann kann er mit Gewißheit<br />

prüfen, ob eine Nachricht von dieser Person stammt. Damit sind wir wieder beim Problem der verläßlichen<br />

Verteilung der authentischen öffentlichen Schlüssel angelangt.<br />

2.3 Zertifizierungsstellen<br />

Die direkte Übergabe eines Public-Keys bei einem persönlichen Kontakt (z.B. auf <strong>einer</strong> Diskette)<br />

oder die Übermittlung durch einen vertrauenswürdigen Kurier oder über eine gesicherte Standleitungsverbindung<br />

ist die naheliegendste Art <strong>und</strong> Weise, den authentischen öffentlichen Schlüssel<br />

eines Kommunikationspartners zu erhalten. Sie entspricht dem in [ISO] beschriebenen Verfahren<br />

Public-Key Distribution without a Trusted Third Party – Public-Key Transport Mechanism 1: using<br />

an Authenticated Channel.<br />

Die Übermittlung des Public-Keys auf unsicherem Wege, z.B. per E-Mail, oder der Abruf von einem<br />

Keyserver oder <strong>einer</strong> Homepage mit anschließender Überprüfung beispielsweise durch telefonischen<br />

Vergleich des Schlüssels oder s<strong>einer</strong> kryptographischen Prüfsumme (bei Schlüsseln sagt man<br />

auch “Fingerprint” dazu; das ist letztlich nichts anderes als der Hash-Wert oder der message digest<br />

des betreffenden Schlüssels) analog zu Public-Key Transport Mechanism 2: Authentication using<br />

a Second Channel [a.a.O.] ist eine weitere – einfachere <strong>und</strong> daher häufigere – Art <strong>und</strong> Weise des<br />

authentischen Schlüsselaustausches. Darunter fällt auch der Austausch des Fingerprints auf Visitenkarten<br />

bei einem direkten persönlichen Kontakt (= der zweite, authentische Kommunikationskanal)<br />

o.ä. <strong>und</strong> das anschließende Vergleichen dieses Fingerprints mit der errechneten Prüfsumme des via<br />

unsicherem Kanal erhaltenen Schlüssels.<br />

Aber auch diese Vorgehensweise ist nicht immer praktikabel; oft wird man mit neuen, fremden<br />

Kommunikationspartnern Public-Key-gesichert kommunizieren wollen, mit denen ein direkter Kontakt<br />

(vorerst) u.U. nicht möglich ist <strong>und</strong> deren Stimme man nicht – oder nicht gut genug – für eine<br />

telefonische Überprüfung des Fingerprints kennt.<br />

In diesem Fall kommen die Zertifizierungsstellen (engl. certification authorities – CAs) ins Spiel:


2.3. Zertifizierungsstellen 11<br />

“The introduction of a CA reduces the problem of authentic user public key distribution to the<br />

problem of authentic distribution of the CA’s public key, at the expense of a trusted center (the<br />

CA).” [ISO]<br />

Eine Zertifizierungsstelle – synonym wird auch der Begriff ‘<strong>Zertifizierungsinstanz</strong>’ verwendet –<br />

stellt digitale Bestätigungen (Zertifikate, siehe 2.4) aus. In ihnen bestätigt sie mit ihrer digitalen<br />

Signatur die Bindung eines bestimmten Public-Keys (<strong>und</strong> damit implizit auch des zugehörigen<br />

Private-Keys) an eine Person, Institution oder Instanz (die beispielsweise auch ein Rechner sein<br />

kann), die in dem Zertifikat namentlich benannt wird. Die Zertifizierungsstelle bietet damit also<br />

einen Dienst ganz ähnlich <strong>einer</strong> notariellen Beglaubigung dafür, daß ein bestimmter Public-Key<br />

<strong>und</strong> eine bestimmte Person zusammengehören.<br />

Es wird dadurch eine Komplexitätsreduktion möglich: statt vieler individueller Public-Keys muß<br />

nur noch der öffentliche Schlüssel der Zertifizierungsstelle authentisch verteilt werden. Liegt er<br />

<strong>einer</strong> Person vor, kann diese mit s<strong>einer</strong> Hilfe die digitalen Unterschriften der Zertifizierungsstelle<br />

unter jedem der von ihr ausgestellten Zertifikate überprüfen <strong>und</strong> sich damit der Echtheit <strong>und</strong> Unverfälschtheit<br />

aller von ihr ausgestellten Zertifikate vergewissern. Stimmt die Unterschrift, dann kann<br />

aus dem betreffenden Zertifikat der öffentliche Schlüssel der darin genannten Person abgelesen<br />

werden. Allerdings muß man dafür dem Aussteller des Zertifikates, also der betreffenden CA, dahingehend<br />

vertrauen, daß sie immer korrekt zertifiziert <strong>und</strong> keine falschen Bestätigungen ausstellt.<br />

Hat man dieses Vertrauen in die Arbeit der CA nicht, so bringt die Verschiebung des Schlüsselverteilproblems<br />

auf den CA-Schlüssel keinen wirklichen Vorteil.<br />

Sehr wichtig, ja geradezu essentiell für die Arbeit <strong>einer</strong> Zertifizierungsstelle ist also ihre Glaubwürdigkeit<br />

bei möglichst vielen Nutzern. Nur wenn die Anwender bereit sind, sich auf die Bestätigung<br />

eines fremden öffentlichen Schlüssels durch die betreffende CA zu verlassen, hat diese eine Arbeitsgr<strong>und</strong>lage.<br />

Also muß es im Interesse der Zertifizierungsstelle sein, alles zu tun, um sich ihre<br />

entsprechende Reputation zu erhalten – oder eine solche gegebenenfalls auch erst zu erarbeiten<br />

(siehe dazu auch 4.16.2).<br />

Im einzelnen läßt sich der Vorgang der Public-Key-Zertifizierung durch eine Zertifizierungsstelle in<br />

die folgenden <strong>Teil</strong>schritte gliedern:<br />

Erzeugung eines Schlüsselpaares (beim Zertifikatnehmer selbst oder in der Zertifizierungsstelle)<br />

Registrierung <strong>und</strong> Identifizierung des Zertifikatnehmers direkt bei der CA oder in <strong>einer</strong> Außenstelle<br />

von ihr (im letzteren Fall spricht man auch von <strong>einer</strong> Registrierungsstelle, registration<br />

authority, RA), ggf. erfolgt dort auch die Übergabe <strong>einer</strong> Kopie des öffentlichen Schlüssels<br />

vom Zertifikatnehmer an die CA/RA<br />

gegebenenfalls: Übermittlung der Daten aus dem Zertifizierungsantrag von der RA an die<br />

Zertifizierungsstelle<br />

Zertifizierung des Schlüssels (sofern alle Voraussetzungen dafür wie Schlüssellänge, eindeutiger<br />

Name des Schlüsselinhabers usw., erfüllt sind)<br />

Aushändigung oder Übermittlung des Zertifikates an den Schlüsselinhaber


12 Kapitel 2. Theoretische Gr<strong>und</strong>lagen<br />

Veröffentlichung des Zertifikates durch die Zertifizierungsstelle mittels geeigneter<br />

Verzeichnis- oder Verteildienste<br />

Hinzu kommen können später noch Dienste wie die Re-Zertifizierung eines Schlüssels, wenn ein<br />

bereits erteiltes Zertifikat abzulaufen droht, oder auch die Sperrung des Zertifikates, wenn entsprechende<br />

Gründe dafür vorliegen.<br />

Nicht jede Zertifizierungsstelle muß alle diese Tätigkeitsfelder abdecken; es ist gut möglich, daß<br />

sich manche Stellen auf einen <strong>Teil</strong> dieser Aufgaben beschränken <strong>und</strong> sie andere <strong>Teil</strong>aufgaben, beispielsweise<br />

den <strong>Betrieb</strong> eines Verzeichnisdienstes, an Partnerunternehmen oder andere Anbieter delegieren.<br />

Die Zertifizierung von Schlüsseln als zentraler Tätigkeitsbereich <strong>einer</strong> Zertifizierungsstelle<br />

wird allerdings immer dazugehören.<br />

Einrichtungen, die nicht nur Zertifizierungsdienste anbieten, sondern die beispielsweise zusätzlich<br />

auch Schlüssel für Nutzer generieren, Sicherungskopien geheimer K<strong>und</strong>enschlüssel verwahren oder<br />

Zeitstempeldienste offerieren, werden häufig auch als Trustcenter oder auch als Trusted Third Party<br />

(TTP), also als ein „vertrauenswürdiger Dritter“ bezeichnet (siehe dazu auch 4.16.1). Ihnen muß,<br />

im Unterschied zu <strong>einer</strong> reinen Zertifizierungsstelle, auch der Zertifikatnehmer – also derjenige,<br />

dessen Schlüssel zertifiziert wird – Vertrauen entgegenbringen, denn er muß sich darauf verlassen,<br />

daß das Trustcenter wie zugesichert nach der Schlüsselerzeugung <strong>und</strong> -aushändigung alle Spuren<br />

des geheimen Schlüssels vernichtet bzw. daß das Trustcenter die hinterlegte Sicherheitskopie des<br />

Private-Key auch wirklich geheimhält.<br />

2.4 Public-Key-Zertifikate<br />

2.4.1 Funktion<br />

Public-Key-Zertifikate stellen die Verbindung her zwischen <strong>einer</strong> Identität (<strong>einer</strong> Person oder <strong>einer</strong><br />

Instanz) <strong>und</strong> einem öffentlichen Schlüssel. Indirekt wird damit aufgr<strong>und</strong> des Zusammenhangs<br />

zwischen öffentlichem <strong>und</strong> geheimem Schlüssel auch ein Bezug zwischen Identität <strong>und</strong> Secret-Key<br />

hergestellt. Zertifikate helfen dabei, auf unsicheren Transportwegen öffentliche Schlüssel authentisch<br />

auszutauschen. Derartige Zertifikate sind eine wichtige Voraussetzung/ein wichtiges Hilfsmittel<br />

beim Einsatz von Public-Key-Kryptographie.<br />

2.4.2 Allgem<strong>einer</strong> <strong>Aufbau</strong><br />

Public-Key-Zertifikate enthalten mindestens einen öffentlichen Schlüssel, den Namen (die Identität)<br />

der betreffenden Person oder Instanz <strong>und</strong> eine digitale Signatur, die den Urheber dieser Bestätigung<br />

nachprüfbar macht <strong>und</strong> zugleich unbemerkte Modifikationen des Zertifikates verhindert<br />

(Authentizitäts- <strong>und</strong> Integritätsschutz). Darüber hinaus können Public-Key-Zertifikate noch diverse<br />

andere zusätzliche Bestandteile umfassen wie etwa<br />

Seriennummer des Zertifikates<br />

Bezeichnung des Schlüssels, der zum Signieren benutzt wurde


2.5. Widerrufslisten 13<br />

Algorithmus, der zum Signieren des Zertifikates benutzt wurde<br />

Algorithmus <strong>und</strong> Parameter, mit denen der zertifizierte Schlüssel benutzt werden soll<br />

Angaben, zu welchen Zwecken der zertifizierte Schlüssel eingesetzt werden darf<br />

Gültigkeitsdauer bzw. frühestes Gültigkeitsdatum sowie Verfallsdatum des Zertifikates<br />

zusätzliche Angaben über den Zertifikatnehmer, z.B. zu dessen Beruf, Qualifikation, Zulassungen<br />

usw.<br />

Haftungsbeschränkungen oder -obergrenzen<br />

Alternative Namen oder Kommunikationsadressen des Zertifikatausstellers<br />

Alternative Namen oder Kommunikationsadressen des Zertifikatnehmers<br />

Verweise auf Zertifikate für den Unterschriftenschlüssel des Ausstellers<br />

Verweise auf Sperrlisten (siehe 2.5), auf denen dieses Zertifikat gegebenenfalls geführt wird<br />

Verweise auf Möglichkeiten zur Online-Abfrage des Zertifikatstatus’<br />

Konkrete Beispiele verbreiteter Zertifikat-Formate werden im nächsten Kapitel in Abschnitt 3.1<br />

vorgestellt.<br />

2.5 Widerrufslisten<br />

Es sind Situationen denkbar, in denen ein Zertifikataussteller noch während der Gültigkeitsdauer eines<br />

von ihm ausgestellten Zertifikates die darin gegebene Bestätigung für ungültig erklären möchte,<br />

beispielsweise weil im Nachhinein bekannt wurde, daß das Zertifikat vom Zertifikatnehmer unter<br />

Angabe falscher Daten (Name usw.) erschlichen wurde oder weil der zum zertifizierten öffentlichen<br />

Schlüssel gehörende geheime Schlüssel einem Angreifer in die Hände gefallen („kompromittiert“)<br />

ist. Zu diesem Zweck werden Zertifikat-Widerrufslisten verwendet (certificate revocation<br />

lists, CRLs), auch ‘Sperrlisten’ genannt. Auf ihnen werden üblicherweise die Seriennummern derjenigen<br />

Zertifikate <strong>einer</strong> <strong>Zertifizierungsinstanz</strong> aufgeführt, die für ungültig erklärt werden <strong>und</strong> deren<br />

regulärer, im Zertifikat angegebener Gültigkeitszeitraum noch nicht abgelaufen ist. (Nach Ablauf<br />

dieses Zeitraumes besitzt das Zertifikat in jedem Fall keine Gültigkeit mehr <strong>und</strong> muß daher auch<br />

nicht weiter auf der Sperrliste geführt werden.)<br />

Diese Sperrlisten werden, genau wie die Zertifikate, von der ausgebenden Stelle digital signiert, um<br />

Verfälschungen erkennen zu können. In der Regel enthalten sie zusätzlich einen Zeitstempel <strong>und</strong><br />

eine Angabe, wann die nächste Aktualisierung dieser Sperrliste stattfindet. (Anhand dieser Daten<br />

läßt sich gegebenenfalls erkennen, ob eine veraltete Version der Liste vorliegt.)<br />

Vergleichen lassen sich solche Sperrlisten am ehesten mit den Listen mit Seriennummern gestohlener<br />

oder in Lösegeldzahlungen verwendeter Geldscheine oder mit Listen der Nummern gestohlener<br />

<strong>und</strong> deshalb gesperrter Sparbücher, Schecks oder Kreditkarten.


14 Kapitel 2. Theoretische Gr<strong>und</strong>lagen<br />

Die Zertifikat-Sperrlisten werden ganz analog zu den genannten Beispielen aus dem Geschäftsleben<br />

verwendet: Jemand, der sich auf ein Zertifikat zur Authentifizierung eines öffentlichen Schlüssels<br />

verläßt, sollte zuvor unbedingt auch die entsprechende Widerrufsliste des betreffenden Zertifikatausstellers<br />

konsultieren <strong>und</strong> sich vergewissern, daß das fragliche Zertifikat dort nicht aufgeführt,<br />

also gesperrt wurde.<br />

Sperrlisten haben unter anderem den Nachteil, daß sie immer eine gewisse zeitliche „Unschärfe“<br />

aufweisen: Ein Dritter, der sich auf ein Zertifikat verlassen will, muß u.U. das Erscheinen der nächsten<br />

Ausgabe der betreffenden Sperrliste abwarten, um ganz sicher gehen zu können, daß das Zertifikat<br />

nicht in der Zeit seit dem Erscheinen der vorigen Widerrufsliste gesperrt wurde. Als eine<br />

Ergänzung bzw. eine Alternative zu Sperrlisten, die diesen Nachteil vermeidet, wurde daher das<br />

Verfahren erdacht, den Widerrufsstatus eines Zertifikates online genau in dem Moment abzufragen,<br />

in dem der Schlüssel aus dem Zertifikat verwendet werden soll. Für diese Anfrage wird die<br />

Seriennummer des fraglichen Zertifikates an die Anfrage-Schnittstelle der <strong>Zertifizierungsinstanz</strong><br />

übermittelt, die daraufhin als Antwort „gültig“ oder „ungültig“ liefert. Die IETF hat ein entsprechendes<br />

Verfahren für derartige Status-Abfragen in ihrem RFC 2560 X.509 Internet Public Key<br />

Infrastructure, Online Certificate Status Protocol – OCSP [AAG 99] beschrieben.<br />

2.6 Zertifizierungsrichtlinien („Policy“)<br />

„Das Problem der Zertifizierung öffentlicher Schlüssel läßt sich in folgenden Fragen zusam-<br />

menfassen: Wer zertifiziert? Wer zertifiziert den Zertifizierer? Nach welchen Regeln <strong>und</strong> Richt-<br />

linien wird zertifiziert? Was wird zertifiziert? – Auf jeden Fall die Bindung zwischen Person,<br />

Name <strong>und</strong> Schlüssel. Aber auch die Qualität der Schlüssel, die zugehörige Zertifizierungskette,<br />

die Zertifizierungsregeln? Der soziale Bezug, Rollen <strong>und</strong> Zugriffsrechte? Welche Dienste ge-<br />

hören zu <strong>einer</strong> Zertifizierung? Auch die Schlüsselgeneration? [Die] Rekonstruktion verlorener<br />

Schlüssel (<strong>und</strong> wie das)? Widerruf mißbrauchter oder verlorener Schlüssel? Speicherung von<br />

Schlüsseln? Ausgabe von Chipkarten mit geheimen Schlüsseln? Welche Garantien gibt eine<br />

Zertifizierung? Welche Haftung?“ [Gri95, S. 121]<br />

Antworten auf alle oder wenigstens die meisten dieser Fragen sollten für eine bestimmte Zertifizierungsstelle<br />

deren Zertifizierungsrichtlinien (die sogenannte Policy, international oft auch Certification<br />

Practice Statement, CPS) geben.<br />

2.6.1 Zweck <strong>einer</strong> Policy<br />

Eine nachvollziehbare <strong>und</strong> nach festgelegten Regeln erfolgende Zertifizierung ist es ja gerade, die<br />

eine CA von einem beliebigen, unbekannten Zertifizierer unterscheidet. Das Arbeiten nach selbstgesetzten<br />

(oder von außen – z.B. durch Gesetze oder Selbstverpflichtungen <strong>einer</strong> Branche – vorgegebenen),<br />

offengelegten Regeln ermöglicht es einem Dritten, der ein Zertifikat nutzen will, erst,<br />

die Glaubwürdigkeit <strong>und</strong> Verläßlichkeit des Zertifizierers einzuschätzen <strong>und</strong> sich zu entscheiden,<br />

inwieweit er dessen Aussage vertrauen will bzw. kann.


2.6. Zertifizierungsrichtlinien („Policy“) 15<br />

„TTPs [Trusted Third Parties] benötigen zur Begründung ihrer Vertrauenswürdigkeit eine veröf-<br />

fentlichte Policy, die eine klare Darstellung der Aufgaben <strong>und</strong> Sicherheitsanforderungenumfaßt<br />

<strong>und</strong> möglichst benutzerüberprüfbar realisiert ist.“ [FHK95, S. 2]<br />

Damit eine Zertifizierungs-Policy diesem Anspruch gerecht werden kann, muß sie auf der einen Seite<br />

ausführlich genug sein, damit sich Nutzer ihrer Zertifikate ein Bild von der Arbeitsweise der CA<br />

machen können, auf der anderen Seite darf sie aber auch nicht zu umfangreich <strong>und</strong> detailliert sein,<br />

weil sie dann unübersichtlich würde. In Abschnitt 2.6.2 werden einige Policy-Beispiele genannt, die<br />

jeweils unterschiedliche Aspekte dieser Anforderungen besonders betonen.<br />

2.6.2 Beispiele<br />

Eine Policy dient nicht nur der Information Dritter, die Zertifikate nutzen wollen, sondern auch zur<br />

Absicherung der <strong>Zertifizierungsinstanz</strong>, die nach ihren Vorgaben zu zertifizieren verspricht. Schließlich<br />

geht es bei der Formulierung <strong>einer</strong> Policy auch darum, Haftungsregeln festzulegen (soweit dies<br />

rechtlich zulässig ist) bzw. diese im Sinne der Zertifizierungsstelle zu gestalten <strong>und</strong> für den Fall von<br />

Regreßforderungen <strong>und</strong> Rechtsstreitigkeiten eine günstige Ausgangsposition zu schaffen. Andererseits<br />

darf natürlich vor allem bei <strong>einer</strong> kommerziell arbeitenden Zertifizierungsstelle die Policy die<br />

Interessen <strong>und</strong> Bedürfnissen der K<strong>und</strong>en <strong>und</strong> von deren Kommunikationspartnern nicht völlig ignorieren,<br />

sonst beraubt sich die CA selber ihrer Geschäftsgr<strong>und</strong>lage. Wenn der Policy-Text nun aber<br />

auch den Anforderungen von Juristen genügen muß, dürfte denen im Zweifelsfall Vorrang vor der<br />

Verständlichkeit für technische oder juristische Laien gegeben werden. Das kann dann zu solchen<br />

CPS’ wie dem von VeriSign Inc. [Ver97] führen, das zwar auf mehr als 50 Seiten sehr genau alle<br />

Aspekte der Zertifizierung durch VeriSign <strong>und</strong> der daraus resultierenden Haftung durch das Unternehmen<br />

beschreibt, dadurch aber so umfangreich geworden ist, daß vermutlich kaum ein Nutzer je<br />

die Richtlinien vollständig zur Kenntnis nehmen wird.<br />

Das Public-Key-Verfahren bzw. das Zertifikat-Format (siehe auch 3.1), auf das sich die Policy bezieht,<br />

kann die Verständlichkeit <strong>einer</strong> Policy ebenfalls beeinflussen: Ein komplexes Verfahren oder<br />

Format mit vielen Optionen wird in den Zertifizierungsrichtlinien sicher nur schwer präzise <strong>und</strong><br />

verständlich zugleich zu beschreiben sein. Darüber hinaus macht es auch einen Unterschied, ob die<br />

Zertifizierung als Dienst für Dritte angeboten oder eher für eigene Zwecke intern betrieben wird.<br />

Beide Punkte werden an dem Vorschlag von DIRK FOX für eine „PGP-Policy für Unternehmen“<br />

[Fox98] deutlich, die auf nur zwei Seiten knapp <strong>und</strong> übersichtlich Zertifizierungs- <strong>und</strong> Umgangsregeln<br />

für die gesicherte firmeninterne <strong>und</strong> -externe elektronische Kommunikation beschreibt. Ihr<br />

kommt zugute, daß sie auf eine überschaubare, geschlossene Benutzergruppe (noch dazu mit Weisungsbefugten)<br />

abzielt <strong>und</strong> sich nicht an einen offenen Nutzerkreis richtet.


16 Kapitel 2. Theoretische Gr<strong>und</strong>lagen


Kapitel 3<br />

Public-Key-Zertifizierung in der Praxis<br />

3.1 Gebräuchliche Zertifikat-Formate<br />

In der praktischen Anwendung spielen hauptsächlich zwei Zertifikat-Formate für öffentliche Schlüssel<br />

eine Rolle: Das in der ITU-Empfehlung X.509 1 in der Version 3 von 1997 [ITU97] standardisierte<br />

Zertifikat-Format <strong>und</strong> das Nachrichten- <strong>und</strong> Zertifikat-Format des Programms PGP (“Pretty<br />

Good Privacy”) [Zim95] <strong>und</strong> der dazu kompatiblen Software.<br />

Der Kontrast zur doch recht großen Zahl von Programmen, die Public-Key-Verfahren verwenden,<br />

erklärt sich dadurch, daß die meisten von ihnen auf das Format aus X.509 setzen, zumindest was<br />

das Austauschformat für Zertifikate angeht. X.509 hat sich hier aufgr<strong>und</strong> seines Status’ als Standard<br />

<strong>und</strong> dank der Flexibilität, die mit der nunmehr dritten Version dieses Formates erreicht wird,<br />

durchgesetzt.<br />

Der gr<strong>und</strong>sätzliche <strong>Aufbau</strong> von Zertifikaten nach diesen beiden Format-Definitionen wird nachfolgend<br />

erläutert.<br />

3.1.1 X.509<br />

Als <strong>Teil</strong> der X.500-Standard-Serie, die den Verzeichnisdienst (directory service) beschreibt, entstand<br />

1991 der CCITT- (heute ITU-)Standard X.509, der ein auf dem X.500-Verzeichnisdienst basierendes<br />

Authentication Framework beschrieb. In ihm wurde ein Austauschformat für Public-Key-<br />

Zertifikate definiert, das im Laufe der Jahre weiter verf<strong>einer</strong>t <strong>und</strong> ergänzt wurde:<br />

X.509v1 Die erste Fassung des X.509-Standards von 1991 sah ein einfaches Format für die Zertifikate<br />

vor. Neben den typischen Informationen Schlüsselinhaber, Public-Key <strong>und</strong> Unterschrift<br />

des Ausstellers (jeweils noch nebst der Angabe, welcher Algorithmus zu Gr<strong>und</strong>e liegt), die<br />

sozusagen das „minimale Zertifikat“ beschreiben, umfaßte es lediglich eine Seriennummer,<br />

einen Ausstellernamen <strong>und</strong> die Angabe eines zeitlichen Gültigkeitsbereiches.<br />

X.509v2 Mit der Überarbeitung des X.509-Standards <strong>und</strong> der daraus resultierenden Version von<br />

1993 änderte sich am Zertifikat-Format nicht viel. Es wurde lediglich eine Versionsnummer<br />

1 identisch mit ISO-Standard ISO/IEC 9594-8<br />

17


18 Kapitel 3. Public-Key-Zertifizierung in der Praxis<br />

hinzugefügt, die dazu diente, Zertifikate im neuen Format von X.509v1-Zertifikaten unterscheiden<br />

zu können. Außerdem wurde je ein zusätzliches, optionales Feld für Inhaber (subject)<br />

<strong>und</strong> Aussteller (issuer) mit aufgenommen (subjectUniqueIdentifier respektive issuerUniqueIdentifier),<br />

in dem jeweils weitere Informationen zu dem Betreffenden angegeben werden<br />

können.<br />

X.509v3 Die nochmals überarbeitete Fassung des Standards von 1997 [ITU97] sieht dagegen erhebliche<br />

Erweiterungen des X.509-Zertifikat-Formates vor. Es wird dadurch flexibler, um<br />

beispielsweise besser die von den X.500-Konventionen abweichenden Internet-Namen für<br />

Rechner, Mailadressen oder WWW-Seiten anstelle eines X.500-Namens für den Inhaber oder<br />

Aussteller in ein Zertifikat aufnehmen zu können.<br />

In X.509v3 sind generische Zertifikat-Erweiterungen (extensions) vorgesehen, die es ermöglichen,<br />

bei Bedarf auf einfache Weise zusätzliche Informationen in das Format mit aufzunehmen.<br />

Es kann dadurch individuell an die Bedürfnisse z.B. in einem Unternehmen oder<br />

die Anforderungen <strong>einer</strong> bestimmten Anwendung angepaßt werden, ohne dafür den Standard<br />

ändern oder von ihm abweichen zu müssen.<br />

Diese neuen Erweiterungen können als ‘kritisch’ markiert werden, dann muß eine Anwendung,<br />

die das betreffende Zertifikat verarbeitet, diese Erweiterung auch verarbeiten können;<br />

andernfalls muß sie das Zertifikat als ungültig interpretieren. Es wurden für einige<br />

häufig auftretende Anforderungen bereits einige Extensions in der neuen Version des Standards<br />

definiert. Weiterhin wurden Komponenten für zusätzliche Informationen zu den jeweiligen<br />

Schlüsseln vorgesehen (Abb. 3.1 zeigt den schematischen <strong>Aufbau</strong> eines X.509v3-<br />

Zertifikates).<br />

Version Number<br />

Serial Number<br />

Signature (Algor. ID + Param.)<br />

IssuerName<br />

Validity<br />

SubjectName<br />

Subject Public Key (+ Algor. ID)<br />

Subject Unique ID<br />

Issuer Unique ID<br />

Extensions<br />

Signature<br />

Not Before<br />

Not After<br />

Extension #1<br />

Extension #2<br />

.<br />

.<br />

.<br />

Extension #n<br />

extension ID<br />

criticality flag<br />

ext. Value<br />

Abb. 3.1: Struktur eines X.509v3-Zertifikates


3.1. Gebräuchliche Zertifikat-Formate 19<br />

In Abschnitt H.1 zeigt ein Beispiel, wie man sich bei einem konkreten X.509-Zertifikat diese Datenstrukturen<br />

mit verschiedenen Tools anzeigen lassen kann.<br />

3.1.2 PGP<br />

PGP (“Pretty Good Privacy”) bezeichnet ein bestimmtes Programm (bzw. inzwischen etliche Varianten<br />

<strong>und</strong> Versionen eines Programms) <strong>und</strong> zugleich den von diesem Programm gesetzten Standard,<br />

was das Format verschlüsselter Nachrichten, der entsprechenden Schlüssel usw. angeht. Erst nachträglich<br />

wurden die von PGP benutzten Nachrichten-, Schlüssel- <strong>und</strong> Zertifikatformate in einem<br />

RFC [ASZ96] beschrieben <strong>und</strong> damit „standardisiert“. Man könnte dieses Format auch als „klassisches“<br />

PGP-Format beschreiben, da es schon von 1992 stammt. Mittlerweile existiert mit dem<br />

verabschiedeten OpenPGP-RFC [CDFT98] eine Weiterentwicklung, die Anregungen von X.509v3<br />

<strong>und</strong> aus dem jahrelangen Einsatz von PGP – inzwischen auch in PGP-Zertifizierungsstellen – aufgreift<br />

(siehe zu OpenPGP auch Abschnitt 6.1.1).<br />

Der OpenPGP-Standard sieht ein flexibles neues Signatur-Format mit Sub-Paketen vor, die zusätzliche<br />

Informationen zu der betreffenden Unterschrift enthalten können, z.B. den Beginn oder das<br />

Ende der Gültigkeitsdauer <strong>einer</strong> Unterschrift, den vom Schlüsselinhaber bevorzugten symmetrischen<br />

Verschlüsselungsalgorithmus usw. Eine detaillierte Beschreibung dieses Formates würde allerdings<br />

den Rahmen dieses Dokumentes sprengen. (Die Definition des OpenPGP-Paket-Formates<br />

im OpenPGP-RFC umfaßt 25 Seiten...)<br />

Zur besseren Veranschaulichung des PGP-Schlüssel-Formates hier zunächst die typische Ausgabe<br />

der Kommandozeilen-Version von PGP 2.6. Angezeigt werden alle Schlüssel, die den <strong>Teil</strong>string<br />

ingmar in <strong>einer</strong> Benutzerkennung enthalten:<br />

$ pgp -kvv ingmar<br />

[...]<br />

Type Bits/KeyID Date User ID<br />

pub 1024/4F570BA3 1993/06/18 Ingmar Camphausen <br />

sig BB1D9F6D ct magazine <strong>CERT</strong>IFICATE <br />

sig 28CBE7F5 Felix von Leitner <br />

sig D5327CB9 wietse venema <br />

sig 4F570BA3 Ingmar Camphausen <br />

Ingmar Camphausen <br />

sig 4F570BA3 Ingmar Camphausen <br />

Ingmar Camphausen <br />

sig 5CF94C71 Alexander Geschonneck


20 Kapitel 3. Public-Key-Zertifizierung in der Praxis<br />

– Ingmar Camphausen <br />

– Ingmar Camphausen <br />

– Ingmar Camphausen <br />

Signaturen von anderen PGP-Nutzern unter einzelnen der Benutzerkennungen, die die Verbindung<br />

zwischen dem Schlüssel <strong>und</strong> der jeweiligen UserID bestätigen<br />

Etwas schematischer dargestellt sieht die Struktur dieses öffentlichen Schlüssels einschließlich der<br />

Zertifikate so aus wie in Abb. 3.2.<br />

Public key packet<br />

UserID packet<br />

Signature packet<br />

UserID packet<br />

Signature packet<br />

Signature packet<br />

.<br />

.<br />

.<br />

Abb. 3.2: PGP Public-Key – Grobstruktur einschließlich Zertifikaten<br />

Die <strong>Teil</strong>strukturen Public-Key-Paket <strong>und</strong> Signature-Paket sind selbst wieder strukturiert. Sie bestehen<br />

aus den in Abb. 3.3 gezeigten Komponenten, wobei <strong>Teil</strong>bild b sozusagen das PGP-„Zertifikat“-<br />

Format beschreibt. (Im Anhang H.2.1 findet sich ein Beispiel dafür, wie diese Strukturen mittels<br />

eines Tools angezeigt werden können.)<br />

a)<br />

packet structure field<br />

version number<br />

timestamp of key<br />

creation<br />

validity period<br />

PK cryptosystem type<br />

public modulus n<br />

publ. encr. exponent e<br />

.<br />

b)<br />

packet struct. field<br />

version number<br />

length(data to hash)<br />

signature classification<br />

sign. timestamp<br />

KeyID sign key<br />

PK cryptosystem type<br />

mess.digest algor. type<br />

checksum<br />

encr. mess. digest<br />

Abb. 3.3: Struktur a) eines PGP Public-Keys b) eines PGP-Key-Zertifikates


3.2. Zertifizierungsstellen-Software 21<br />

Einzelheiten des alten, „klassischen“ PGP-Zertifikat- <strong>und</strong> Schlüsselformates sind in den Büchern<br />

von STALLINGS [Sta94] <strong>und</strong> KAUFMAN et al. [KPS95] beschrieben.<br />

3.2 Zertifizierungsstellen-Software<br />

Nachdem im vorigen Abschnitt die gängigen Zertifikat-Formate dargestellt wurden, soll hier ein<br />

kurzer Überblick über entsprechende CA-Software gegeben werden, mit der solche X.509- bzw.<br />

PGP-Zertifikate ausgestellt werden können.<br />

3.2.1 X.509<br />

Da sich X.509 als Standard etablieren konnte <strong>und</strong> von fast allen Anbietern außer PGP/Network<br />

Associates benutzt wird, ist die Zahl der Zertifizierungsprogramme, die auf X.509 basieren, so groß,<br />

daß eine umfassende Darstellung den Rahmen dieses Handbuches sprengen würde. Einen Eindruck<br />

von der Vielzahl der Angebote Vermittelt der <strong>Teil</strong> „Toolkits“ der “PKI Link Page” 2 des <strong>DFN</strong>-PCA-<br />

Projektes.<br />

Kommerzielle Produkte<br />

Einen ersten Überblick über (kommerzielle) Zertifizierungssoftware, die X.509-Zertifikate unterstützt,<br />

bieten z.B. [Rai98], [GS00], [Cam98a, S. 32 f.] oder die Produktliste der am Projekt SPHINX<br />

(siehe 3.4.1.2) beteiligten Hersteller 3 .<br />

Frei verfügbare Software<br />

Erwähnt werden muß an dieser Stelle zuerst das wohl (auch) für diese Zwecke meistgenutzte frei<br />

<strong>und</strong> im Sourcecode verfügbare Programm SSLeay von ERIC A. YOUNG bzw. dessen Nachfolger<br />

OpenSSL – in der Hauptsache eine SSL/TLS-Implementierung, die aber darüber hinaus auch<br />

Routinen für das Erzeugen <strong>und</strong> (in Gr<strong>und</strong>zügen) das Verwalten von X.509v3-Zertifikaten bietet.<br />

SSLeay/OpenSSL wurde <strong>und</strong> wird komplett außerhalb der USA entwickelt <strong>und</strong> <strong>und</strong> ist insofern von<br />

deren Exportbeschränkungen nicht betroffen.<br />

Ein weiteres vielversprechendes Open-Source-Projekt ist OpenCA 4 . In diesem Projekt wird an einem<br />

Toolkit für typische Operationen zur Verwaltung von X.509-Zertifikaten gearbeitet. Ziel ist<br />

“... studying and refining the security scheme that guarantees the best model to be used in a CA<br />

and developing software to easily setup and manage a Certification Authority.”<br />

pyCA 5 baut auf OpenSSL auf. Es bietet eine Sammlung von in der Sprache Python geschriebenen<br />

Skripten <strong>und</strong> CGI-BIN-Programmen zu OpenSSL, mit denen sich eine Zertifizierungsstelle komfortabler<br />

als mit dem „nackten“ OpenSSL aufbauen <strong>und</strong> betreiben läßt.<br />

2 http://www.pca.dfn.de/dfnpca/pki-links.html<br />

3 http://www.bsi.b<strong>und</strong>.de/aufgaben/projekte/sphinx/herstell.htm<br />

4 http://www.openca.org<br />

5 http://sites.inka.de/ms/python/pyca/


22 Kapitel 3. Public-Key-Zertifizierung in der Praxis<br />

3.2.2 PGP<br />

Für die Zertifizierung von PGP-Schlüsseln gibt es bislang keine dezidierte Software für Zertifizierungsstellen,<br />

da der PGP-Ansatz eine Zertifizierung „von gleich zu gleich“ <strong>und</strong> keine herausgehobene<br />

Instanz wie eine CA vorsieht. Bei PGP-Zertifizierung müssen also auch die Zertifizierungsstellen<br />

auf die normale PGP-Anwendungssoftware zurückgreifen – oder mit <strong>einer</strong> der verfügbaren<br />

Software-Bibliotheken PGP-kompatible Software selbst entwickeln.<br />

Frei verfügbare Software<br />

Außerhalb Nordamerikas legal erhältlich <strong>und</strong> im Sourcecode verfügbar (wenn auch z.T. nicht immer<br />

völlig frei von Nutzungsbeschränkungen) sind die folgenden Implementierungen:<br />

PGP 2 (“classic”), die rein Kommandzeilen-orientierten Versionen von PGP in diversen Varianten,<br />

deren Abschluß PGP 2.6.3ia “international, Patchlevel a” <strong>und</strong> PGP 2.6.3in „international<br />

– Individual Network“, eine Weiterentwicklung aus PGP 2.6.3ia für den Einsatz in<br />

Zertifizierungsstellen (s. Anhang B.1) darstellen<br />

PGP 5.0i ff., die PGP-Versionen mit grafischer Bedienoberfläche <strong>und</strong> Integration in bzw.<br />

Plugins für gängige Mailprogramme – den derzeitigen Schlußpunkt dieses Entwicklungszweiges<br />

stellt PGP 6.5.1i dar, das auch in <strong>einer</strong> Kommandozeilen-Version (mit entsprechen<br />

geringerer Funktionalität) vorliegt<br />

Gnu Privacy Guard (GnuPG, GPG), eine unter der Gnu Public License (GPL) 6 zugängliche,<br />

OpenPGP-konforme Kommandozeilen-Software, die zur Zeit in einem vom B<strong>und</strong>esministerium<br />

für Wirtschaft <strong>und</strong> Technologie geförderten Projekt der German Unix User Group<br />

(GUUG) um eine grafische Bedienoberfläche <strong>und</strong> Plugins für verbreitete Mailprogramme ergänzt<br />

werden soll<br />

Einzelheiten insbesondere zu den PGP 2.x-Versionen <strong>und</strong> deren Herkunft sowie zu GnuPG nennt<br />

ROESSLER [Roe98]. (Bezugsquellen für die genannten Programme können Anhang B.1 entnommen<br />

werden.)<br />

Darüber hinaus existieren mehrere freie Software-Bibliotheken, die PGP-Funktionalität anbieten<br />

bzw. das Nachrichtenformat von PGP unterstützen:<br />

die Library PGPlib 7 von TAGE STABELL-KULOE, Uni Tromsø<br />

CTClib bzw. CTCjava 8 von IAN MILLER <strong>und</strong> „Mr. Tines“<br />

das Java-Krypto-Toolkit Cryptix 9<br />

6 http://www.gnu.org/copyleft/gpl.html<br />

7 ftp://ftp.cert.dfn.de/pub/dfnpca/tools/pgp/utils/PGPlib.tar.gz<br />

8 http://www.bifroest.demon.co.uk/ctc/<br />

9 http://www.cryptix.org


3.3. Zertifizierungsstellen in Deutschland 23<br />

Kommerzielle PGP-Software<br />

Neben den „freien“ Versionen bzw. Implementierungen des PGP-Standards bieten auch einige Firmen<br />

kommerzielle PGP-Versionen oder zu PGP kompatible Software an. Zu nennen wäre natürlich<br />

an erster Stelle die ehemalige Firma PGP Inc., heute <strong>Teil</strong> von Network Associates 10 mit ihrem<br />

Produkt PGP 6.5 (für Unix, Windows <strong>und</strong> MacOS) sowie ihrer PGP Total Network Security-<br />

Produktlinie. Daneben bieten die Ascom Systec AG mit „ascom MAIL / IDEA@exchange“ <strong>und</strong><br />

die Glück & Kanja GmbH mit ihrer „CryptoEx Security Suite“ (siehe Anhang B.1) vergleichbar<br />

umfassende Lösungen an.<br />

3.3 Zertifizierungsstellen in Deutschland<br />

Das Signaturgesetz (siehe 3.5.1) trat 1997 in Kraft, doch auch zuvor existierten in Deutschland<br />

schon Zertifizierungsstellen, die öffentliche Schlüssel beglaubigten. Hier soll eine Auswahl all dieser<br />

teilweise kommerziell betriebenen, teilweise nicht gewinnorientiert arbeitenden Einrichtungen<br />

kurz vorgestellt werden.<br />

3.3.1 Nichtkommerzielle CAs<br />

Größtenteils schon vor der Verabschiedung des SigG wurden die folgenden „Non-Profit“-<br />

Zertifizierungsstellen betrieben. Sie bieten die Zertifizierung von PGP-Schlüsseln, teilweise die<br />

Ausstellung von X.509-Zertifikaten <strong>und</strong> zum <strong>Teil</strong> auch beides an:<br />

<strong>DFN</strong>-PCA 11 , PGP + X.509 (siehe 3.4.1.5)<br />

Zertifizierungshierarchie des Individual Network (IN) e.V. 12 mit Zertifizierungsstellen in einigen<br />

der Regionaldomains des IN, PGP (X.509 in Vorbereitung) [Cam98b]<br />

Krypto-Kampagne <strong>und</strong> pgpCA der Computerzeitschrift c’t 13 , PGP, auf den großen Computer<strong>und</strong><br />

Informationstechnik-Messen in Deutschland (CeBIT, Systems, IFA) am Stand des Heise-<br />

Verlages 14 , hat bereits über 4000 PGP-Schlüssel zertifiziert [Luc97, Luc98, Luc99a]<br />

GMD Trustfactory 15 , X.509, die ICE-TEL-CA für Deutschland im Rahmen des ICE-TEL-<br />

Projektes (siehe 3.4.2.1), betrieben von der Secude GmbH<br />

Darüber hinaus gibt es eine ganze Zahl weiterer, kl<strong>einer</strong>er nicht-kommerziell arbeitender Zertifizierungsstellen<br />

(siehe The PKI Page 16 der <strong>DFN</strong>-PCA, die auch Verweise auf viele kommerzielle <strong>und</strong><br />

nicht-kommerzielle <strong>Zertifizierungsinstanz</strong>en in anderen Ländern enthält).<br />

10<br />

http://www.nai.com bzw. http://www.pgpinternational.com<br />

11<br />

http://www.pca.dfn.de<br />

12<br />

http://www.in-ca.individual.net<br />

13<br />

http://www.heise.de/ct/pgpCA/<br />

14<br />

http://www.heise.de<br />

15<br />

http://www.secude.com/GMD-TrustFactory/<br />

16<br />

http://www.pca.dfn.de/dfnpca/pki-links.html


24 Kapitel 3. Public-Key-Zertifizierung in der Praxis<br />

3.3.2 Kommerzielle CAs<br />

Bereits seit längerem tätig sind folgende kommerzielle Zertifizierungsdienstleister mit Sitz in<br />

Deutschland (ohne Anspruch auf Vollständigkeit):<br />

TC TrustCenter for Security in Data Networks GmbH 17 , Hamburg,<br />

Competence Center Informatik GmbH 18 , Meppen,<br />

IKS GmbH 19 , Jena, <strong>und</strong><br />

Secunet GmbH 20 , Essen.<br />

Seit dem 25. Januar 1999 ist die Root-CA nach dem Signaturgesetz (SigG), die sog. „zuständige<br />

Behörde“, in <strong>Betrieb</strong> [Tsp99a, Luc99b]. Die erste von ihr zugelassene Zertifizierungsstelle war das<br />

Produktzentrum Telesec der Deutschen Telekom AG. Für 1999 wurden nach Auskunft der „zuständigen<br />

Behörde“ noch „zwei bis sieben“ weiteren Genehmigungen für SigG-Zertifizierungsstellen<br />

erwartet, offenbar ergaben sich dabei aber Verzögerungen, denn in 1999 wurde keine weitere SigG-<br />

Zertifizierungsstelle bestätigt. Im Februar 2000 erhielt nun mit dem Geschäftsfeld SignTrust der<br />

Deutschen Post AG, die zweite Zertifizierungsstelle den „Segen“ der SigG-Wurzelinstanz [Pos00].<br />

Insgesamt gibt es über 30 Antragsteller für die Zulassung als SigG-Zertifizierungsstelle; darunter<br />

befinden sich Telekommunikationsunternehmen <strong>und</strong> Krankenhäuser [Tsp99a] ebenso wie die <strong>DFN</strong>-<br />

PCA <strong>und</strong> die folgenden Unternehmen bzw. Einrichtungen [CZ98k, MoP98, SH98a]:<br />

D-Trust, Berlin, ein Joint-Venture der Debis IT Security Services GmbH <strong>und</strong> der B<strong>und</strong>esdruckerei<br />

GmbH<br />

TÜV-Informationstechnik (TÜV-IT)<br />

DATEV Datenverarbeitung <strong>und</strong> Dienstleistung für den steuerberatenden Beruf eG, Nürnberg<br />

die B<strong>und</strong>esnotarkammer<br />

der Gesamtverband der Deutschen Versicherungswirtschaft Deutschland<br />

DE-CODA Gesellschaft zur elektronischen Zertifizierung von Dokumenten mbH, Bonn, eine<br />

100%ige Tochter des Deutschen Industrie- <strong>und</strong> Handelstages (DIHT)<br />

3.4 Forschungs- <strong>und</strong> Pilotprojekte<br />

Einige Feldversuche <strong>und</strong> Pilotprojekte in Deutschland <strong>und</strong> in Europa haben sichere elektronische<br />

Kommunikation zum Gegenstand. Sie betreffen sowohl die Verwaltung auf B<strong>und</strong>es- <strong>und</strong> Länderebene<br />

als auch Forschungseinrichtungen <strong>und</strong> Unternehmen. Wenn auch in der überwiegenden Zahl<br />

17 http://www.trustcenter.de<br />

18 http://www.cci.de<br />

19 http://www.iks-jena.de<br />

20 http://www.secunet.de


3.4. Forschungs- <strong>und</strong> Pilotprojekte 25<br />

dieser Projekte das Zertifikatformat X.509 (siehe 3.1.1) verwendet wird – meist im Zusammenhang<br />

mit der in Deutschland entwickelten MailTrusT-Spezifikation –, gibt es doch auch einige öffentliche<br />

Stellen, die beispielsweise auf (Open)PGP setzen. Zu diesen zählen u.a. der Städtetag Baden-<br />

Württemberg 21 <strong>und</strong> das B<strong>und</strong>esverfassungsgericht, das seine Urteile bzw. Urteilsbegründungen im<br />

WWW in PGP-signierter Form nachprüfbar authentisch veröffentlicht 22 .<br />

3.4.1 Pilotprojekte in Deutschland<br />

3.4.1.1 Informationsverb<strong>und</strong> Berlin – Bonn<br />

Infolge des Regierungsumzuges von Bonn nach Berlin kommt der Sicherstellung der Kommunikation<br />

<strong>und</strong> Zusammenarbeit der Parlamentseinrichtungen <strong>und</strong> Regierungsbehörden innerhalb beider<br />

<strong>und</strong> zwischen beiden Städten eine herausragende Bedeutung zu. Der Informationsverb<strong>und</strong> Berlin-<br />

Bonn (IVBB) liefert die technischen <strong>und</strong> organisatorischen Voraussetzungen für den Informationsaustausch<br />

u.a. zwischen den Ressorts, mit dem B<strong>und</strong>estag, dem B<strong>und</strong>esrat <strong>und</strong> dem B<strong>und</strong>espräsidialamt.<br />

Den Gefährdungen beim elektronischen Dokumentenaustausch im IVBB soll durch den<br />

Einsatz von Public-Key-Verfahren entgegengewirkt werden [AE97, S. 146]. Die einzurichtenden<br />

Verfahren sollen dabei konform zum Signaturgesetz sein, zum einen im Sinne <strong>einer</strong> „Vorbildfunktion“<br />

der B<strong>und</strong>esverwaltung, zum anderen um den Behörden einen sicheren Austausch digitaler<br />

Dokumente mit Dritten zu ermöglichen [AE97, S. 147].<br />

3.4.1.2 SPHINX – Pilotversuch der B<strong>und</strong>esverwaltung<br />

Im Bereich der gesamten B<strong>und</strong>esverwaltung sollen Verfahren zur Verschlüsselung <strong>und</strong> digitalen<br />

Signatur eingesetzt werden, um beim Dokumentenaustausch in elektronischer Form, z.B. per E-<br />

Mail oder über interne Netze, Ende-zu-Ende-Sicherheit zu erreichen.<br />

Im Rahmen des SPHINX-Pilotversuches 23 wurden daher Produkte verschiedener Hersteller nach<br />

dem MailTrust-Standard 24 [Bau96] des TeleTrust e.V. 25 zur Realisierung der Ende-zu-Ende-<br />

Sicherheit im Bereich der öffentlichen Verwaltung erprobt sowie die für den Einsatz derartiger<br />

Sicherheitsmaßnahmen erforderlichen Voraussetzungen geschaffen, u.a. der <strong>Aufbau</strong> <strong>und</strong> <strong>Betrieb</strong><br />

von Zertifizierungsstellen, die die benötigten Schlüssel bereitstellen. Es sollte dabei nachgewiesen<br />

werden, daß ein sicherer Dokumentenaustausch auf Basis der verwendeten Standards herstellerübergreifend<br />

möglich ist, <strong>und</strong> es sollten Erfahrungswerte für künftige Beratungs- <strong>und</strong> Beschaffungsmaßnahmen<br />

gewonnen werden über geeignete Produkte, den Aufwand für Installationen <strong>und</strong><br />

Schulungen, Technikgestaltung <strong>und</strong> Anwenderakzeptanz sowie über den Aufwand für den <strong>Aufbau</strong><br />

<strong>und</strong> <strong>Betrieb</strong> von Zertifizierungsstellen. 26<br />

21 http://www.redtenbacher.de/signatur/index.htm<br />

22 http://www.b<strong>und</strong>esverfassungsgericht.de/text/sicherheit.html<br />

23 Projekt-Homepage http://www.darmstadt.gmd.de/SPHINX/<br />

24 Die Version 2.0 der MailTrusT-Spezifikation ist seit Mitte März online unter http://www.secorvo.de/<br />

publikat/mttspc20.zip verfügbar<br />

25 http://www.teletrust.de<br />

26 http://www.bsi.b<strong>und</strong>.de/aufgaben/projekte/sphinx/


26 Kapitel 3. Public-Key-Zertifizierung in der Praxis<br />

Der <strong>Teil</strong>nehmerkreis des Pilotversuchs umfaßte circa 200 Mitarbeiter aus dem Bereich der B<strong>und</strong>esbehörden<br />

mit Sitz in Bonn sowie einige <strong>Teil</strong>nehmer in den B<strong>und</strong>esländern <strong>und</strong> dem kommunalen<br />

Bereich, zwei <strong>Teil</strong>nehmer aus dem Ausland <strong>und</strong> circa 20 Mitarbeiter privater Firmen. Dazu gehörten<br />

u.a. das Auswärtige Amt, das B<strong>und</strong>eskanzleramt, das B<strong>und</strong>eskriminalamt, das B<strong>und</strong>esministerium<br />

der Finanzen, das B<strong>und</strong>esministerium des Innern, der Deutsche B<strong>und</strong>estag, das Landesamt für Datenverarbeitung<br />

<strong>und</strong> Statistik Potsdam, die Regulierungsbehörde für Telekommunikation <strong>und</strong> Post<br />

<strong>und</strong> das Sächsische Staatsministerium des Inneren.<br />

Inzwischen läuft eine weitere Phase des Pilotversuchs, an der diesmal r<strong>und</strong> 600 <strong>Teil</strong>nehmer aus<br />

B<strong>und</strong>es-, Länder- <strong>und</strong> Kommunalverwaltungen, der EU-Kommission sowie aus Firmen beteiligt<br />

sind. Ende 2000 soll dann die gesicherte elektronische Kommunikation in den staatlichen Stellen<br />

auf breiter Front eingeführt werden (siehe SPHINX-Webseite).<br />

3.4.1.3 Elektronische Post in den obersten Landesbehörden Nordrhein-Westfalens<br />

Das B<strong>und</strong>esland Nordrhein-Westfalen startete bereits 1991 ein Pilotprojekt „Einsatz der elektronischen<br />

Post (MHS/X.400) in den obersten Landesbehörden des Landes Nordrhein-Westfalen“ <strong>und</strong><br />

baut seit 1992 ein landesweites Netz für elektronische Post auf. Über dieses Netz können inzwischen<br />

von über 50 000 PC-Arbeitsplätzen elektronische Dokumente übertragen werden. Um dabei<br />

die Vertraulichkeit datenschutzrechtlich relevanter oder sonst geheimhaltungsbedürftiger Informationen<br />

sicherzustellen, setzt die Landesverwaltung ein Produkt zur Verschlüsselung <strong>und</strong> für elektronische<br />

Unterschriften ein. Die Schlüsselverwaltung <strong>und</strong> Zertifizierung erfolgt dabei zentral über das<br />

Landesamt für Datenverarbeitung <strong>und</strong> Statistik; der <strong>Aufbau</strong> eines Trustcenters für X.509-Zertifikate<br />

ist geplant [Rud97].<br />

3.4.1.4 Digitale Signaturen für die Landesverwaltung von Niedersachsen<br />

Die niedersächsische Landesverwaltung hat im Januar 2000 mit der Deutschen Telekom eine Vereinbarung<br />

getroffen, die die Einführung von digitalen Signaturen im Landesdienst ermöglicht. 27<br />

Niedersachsen will nun die elektronischen Unterschriften bei allen Mitarbeitern einführen – seit<br />

Jahresbeginn werden bereits digitale Signaturen an Landesbedienstete ausgegeben. Nach Abschluss<br />

der Umstellung sollen 12.000 Bedienstete an 700 Standorten mit elektronischen Unterschriften arbeiten.<br />

28<br />

3.4.1.5 Projekt <strong>DFN</strong>-PCA<br />

Seit Januar 1996 wird an der Universität Hamburg das Pilotprojekt „Policy Certification Authority“<br />

(PCA) des <strong>DFN</strong>-Vereins betrieben. Es wurde zwischenzeitlich bis zum 31.12.2000 verlängert.<br />

In diesem Projekt werden die nachstehenden Ziele verfolgt [KL96]:<br />

<strong>Aufbau</strong> <strong>und</strong> <strong>Betrieb</strong> <strong>einer</strong> PCA: Die <strong>DFN</strong>-PCA soll Zertifikate für organisationsweite CAs<br />

erstellen, aber auch Netzwerkmanager <strong>und</strong> Systemadministratoren bei der Einrichtung eige-<br />

27 http://www.dtag.de/dtag/presse/artikel/0,1018,x505,00.html<br />

28 http://www.heise.de/bin/nt.print/newsticker/data/jk-28.01.00-003/


3.4. Forschungs- <strong>und</strong> Pilotprojekte 27<br />

ner CAs unterstützen. Gr<strong>und</strong>lage ist eine hierarchische Struktur von Zertifizierungsstellen<br />

innerhalb des <strong>DFN</strong>, wie sie in PEM [Ken93b] bzw. [Ken93a] vorgesehen ist.<br />

Betreuung <strong>und</strong> Unterstützung der Anwender <strong>und</strong> CA-Administratoren in <strong>DFN</strong>-<br />

Mitgliedseinrichtungen, <strong>und</strong> zwar bei allgemeinen Fragen zu Zertifizierung, <strong>Zertifizierungsinstanz</strong>en,<br />

kryptographischen Verfahren, digitalen Signaturen etc., bei der Zertifizierung<br />

untergeordneter Organisations-CAs durch die <strong>DFN</strong>-PCA, bei der Zertifizierung von End-<br />

Anwendern, in deren Einrichtung es noch keine eigene Zertifizierungsstelle gibt (zu diesem<br />

Zwecke betreibt die <strong>DFN</strong>-PCA bis auf weiteres eine eigene zusätzliche CA unterhalb der<br />

<strong>DFN</strong>-PCA) <strong>und</strong> bei der Kooperation mit anderen Gruppen.<br />

Unterstützung der gesicherten Kommunikation zwischen <strong>DFN</strong>-Mitgliedern (untereinander)<br />

<strong>und</strong> mit anderen, z.B. durch Kooperation mit kommerziell betriebenen Zertifizierungsstellen<br />

<strong>und</strong> durch Integration in entsprechende europäische Infrastrukturen.<br />

Untersuchungen <strong>und</strong> Forschungen, vor allem praktische Tests relevanter Softwarepakete für<br />

den Einsatz innerhalb <strong>einer</strong> CA, sowie Analysen von neuen Programmen <strong>und</strong> Konzepten.<br />

Die <strong>DFN</strong>-PCA war darüberhinaus die nationale CA für Deutschland im Rahmen des EU-<br />

Forschungsprojektes ICE-TEL (siehe 3.4.2.1).<br />

3.4.2 EU-Projekte<br />

Im folgenden sind diejenigen Vorhaben <strong>und</strong> abgeschlossenen EU-Projekte aufgeführt, die <strong>Zertifizierungsinstanz</strong>en<br />

oder -Infrastrukturen zum Hauptgegenstand haben. Daneben gibt es die in Kapitel<br />

1 bereits erwähnte Möglichkeit, Geboten <strong>und</strong> Anträgen zu Forschungs- <strong>und</strong> Entwicklungs-<br />

Programmen der EU auf elektronischem Wege einzureichen, nachdem sich der Antragsteller hat<br />

zertifizieren lassen. Weitere Forschungs- <strong>und</strong> Entwicklungsprojekte im Rahmen verschiedener EU-<br />

Programme, die ebenfalls CAs oder TTPs involvieren, können der Übersicht http://www.<br />

ispo.cec.be/ecommerce/issues/digisig/digisign4.htm entnommen werden.<br />

3.4.2.1 ICE-TEL<br />

ICE-TEL 29 sollte die Vertrauenswürdigkeit des Internet für die industrielle universitäre Forschung<br />

erhöhen, Nutzern in mehreren europäischen Ländern sollten durch das Projekt Zertifizierungsdienste<br />

für öffentliche Schlüssel <strong>und</strong> entsprechende Werkzeuge für deren Einsatz zur Verfügung<br />

gestellt werden. Getestet wurden die entwickelten Verfahren bei der Kommunikation der<br />

nationalen Computer Emergency Response Teams (<strong>CERT</strong>s). Ausserdem wurde eine X.509v3-<br />

Zertifizierungsinfrastruktur mit CAs in Dänemark (ICE-TEL-Root-CA 30 ), Deutschland (siehe<br />

3.4.1.5), Italien, Norwegen, Slowenien, Spanien <strong>und</strong> England aufgebaut.<br />

29 http://www.darmstadt.gmd.de/ice-tel/<br />

30 http://ice-tel.uni-c.dk/ice-ca/


28 Kapitel 3. Public-Key-Zertifizierung in der Praxis<br />

3.4.2.2 ICE-CAR<br />

Während ICE-TEL den <strong>Aufbau</strong> <strong>einer</strong> europäischen Zertifizierungs-Infrastruktur zum Ziel hatte, soll<br />

das seit 1. Januar 1999 laufende Anschlußprojekt ICE-CAR 31 Anwendungsdemonstrationen der<br />

ICE-TEL Sicherheitstechnologien geben <strong>und</strong> helfen, die im Rahmen von ICE-TEL eingerichtete<br />

Infrastruktur mit <strong>einer</strong> erweiterten Zielsetzung weiter zu betreiben. Insbesondere soll das Projekt<br />

die Komponenten bereitstellen helfen, die für eine sichere Nutzung des Internet in Handel <strong>und</strong><br />

Verwaltung in Europa benötigt werden. Dazu sollen die vorhandenen (in ICE-TEL entwickelten)<br />

Sicherheits-Werkzeuge unter den Gesichtspunkten der Bedienbarkeit <strong>und</strong> der Interoperabilität angewendet<br />

<strong>und</strong> weiterentwickelt werden.<br />

3.4.2.3 EUROTRUST<br />

Im EuroTrust-Projekt 32 wird ein ähnliches Ziel wie in ICE-CAR verfolgt (<strong>Aufbau</strong> <strong>einer</strong> CA-/TTP-<br />

Infrastruktur), wobei der Schwerpunkt stärker auf den kommerziellen Aspekten des CA-<strong>Betrieb</strong>s<br />

sowie auf key recovery bzw. key escrow liegt als bei ICE-CAR. Es soll die Einrichtung von TTP<strong>und</strong><br />

CA-Diensten in mehreren Staaten der EU untersucht werden, <strong>und</strong> sie sollen in einen zu entwickelnden<br />

europaweiten Rahmen eingeb<strong>und</strong>en werden [GNRS98].<br />

3.4.2.4 Trust Infrastructure for Europe (TIE)<br />

Im Rahmen des 1999 gestarteten EU-Forschungsprojektes TIE soll eine offene, interoperable <strong>und</strong><br />

sichere Vertrauensinfrastruktur „entwickelt“ werden, indem die technischen, rechtlichen <strong>und</strong> Geschäftspraktiken<br />

etabliert <strong>und</strong> interoperable Produkte entwickelt werden, die die Voraussetzung für<br />

eine solche Infrastruktur darstellen. 33 Das Hauptziel ist dabei die Entwicklung neuer sicherer kommerzieller<br />

Dienste r<strong>und</strong> um die Anwendung sicheres messaging. Kosten <strong>und</strong> Nutzen der Einrichtung<br />

öffentlicher, privat betriebener Zertifizierungsstellen sollen im Rahmen des Projektes ebenso ermittelt<br />

werden wie die Auswirkungen auf die Öffentlichkeit <strong>und</strong> die Verbraucher.<br />

3.4.2.5 Sicheres transeuropäisches Verwaltungs-Netz<br />

Alcatel <strong>und</strong> die Belgische Firma GlobalSign wurden Ende Februar 1999 von der EU-Kommission<br />

damit beauftragt, ein mit Public-Key-Verfahren abgesichertes Kommunikationsnetz zwischen<br />

Regierungen <strong>und</strong> Verwaltungen der EU-Mitgliedsstaaten aufzubauen – nach der GlobalSign-<br />

Pressemitteilung 34 ein „wichtiger Schritt in Richtung <strong>einer</strong> größeren Verbreitung digitaler Zertifikate<br />

in Wirtschaft <strong>und</strong> Verwaltung“.<br />

31 http://ice-car.darmstadt.gmd.de<br />

32 http://www.cordis.lu/infosec/src/study7.htm<br />

33 http://www.ispo.cec.be/ecommerce/issues/digisig/digisign4.htm<br />

34 http://www.globalsign.net/company/press/alcatel.cfm


3.5. Rechtlicher Rahmen 29<br />

3.5 Rechtlicher Rahmen<br />

Für den <strong>Betrieb</strong> <strong>einer</strong> Zertifizierungsstelle sind viele gesetzliche Vorschriften relevant. Die wichtigsten,<br />

weil am konkretesten auf Zertifizierungsstellen abzielenden, sind das deutsche Signaturgesetz<br />

mit der zugehörigen Signaturverordnung <strong>und</strong> die Anfang 2000 in Kraft getretene EU-Richtlinie zur<br />

elektronischen Signatur. Darüber hinaus sind die Datenschutzgesetze der Länder bzw. des B<strong>und</strong>es<br />

maßgeblich. Wenn digitale Signaturen <strong>und</strong>/oder Verschlüsselungsverfahren betrieblich eingeführt<br />

werden sollen (<strong>und</strong> nicht nur als Angebot zur freiwilligen Nutzung), kommen außerdem noch die<br />

entsprechenden arbeitsrechtlichen Regelungen hinzu (Arbeitnehmerdatenschutz, Mitbestimmung<br />

etc.) 35<br />

3.5.1 Gesetz zur digitalen Signatur<br />

Das Gesetz zur digitalen Signatur [Sig97a], auch Signaturgesetz oder kurz SigG, ist seit 1. August<br />

1997 in Kraft. Es zielt darauf ab, Rahmenbedingungen zu schaffen, „unter denen digitale Signaturen<br />

als sicher gelten <strong>und</strong> Fälschungen digitaler Signaturen oder Verfälschungen von signierten<br />

Daten zuverlässig festgestellt werden können“ (§ 1 Abs. 1). – Insofern ist es also eher ein<br />

„Sicherungsinfrastruktur-Gesetz“ als ein „Signaturgesetz“ <strong>und</strong> seine Bezeichnung leicht irreführend.<br />

– Die B<strong>und</strong>esrepublik hat damit als eines der ersten Länder den Versuch unternommen, einen<br />

Rahmen für den Einsatz <strong>und</strong> die Anerkennung eines Äquivalents zur eigenhändigen Unterschrift in<br />

der Welt der digitalen Kommunikation zu etablieren.<br />

Der Anwendungsbereich des SigG umfaßt Zertifizierungsstellen, für deren <strong>Betrieb</strong> es <strong>einer</strong> Genehmigung<br />

der im Gesetz als „zuständige Behörde“ bezeichneten obersten <strong>Zertifizierungsinstanz</strong><br />

bedarf (§ 4 Abs. 1). Die Aufgabe dieser „Wurzelinstanz“ wird im SigG der Regulierungsbehörde<br />

für Telekommunikation <strong>und</strong> Post zugewiesen (§ 3). Leider mangelt es dem Signaturgesetz in einem<br />

wichtigen Punkt an Bestimmtheit bzw. Eindeutigkeit: Eine Zertifizierungsstelle wird in ihm definiert<br />

als „eine natürliche oder juristische Person, die die Zuordnung von öffentlichen Signaturschlüsseln<br />

zu natürlichen Personen bescheinigt <strong>und</strong> dafür eine Genehmigung gemäß § 4 besitzt“ (§ 2 Abs. 2).<br />

Damit liegt ein Zirkelschluß vor, der Unklarheit darüber bewirkt, ob die Lizensierung freiwillig oder<br />

obligatorisch sein soll. § 1 Abs. 2 stellt ausdrücklich die Anwendung anderer Verfahren frei, während<br />

§ 4 Abs. 1 <strong>und</strong> die Begründung zum Gesetz eine Lizensierungspflicht für jegliches Ausstellen<br />

von Zertifikaten nahelegen [Roß97].<br />

Die Erteilung <strong>einer</strong> Lizenz zum <strong>Betrieb</strong> <strong>einer</strong> Zertifizierungsstelle ist nach dem SigG an drei Voraussetzungen<br />

geknüpft:<br />

Zuverlässigkeit des Antragstellers<br />

Fachk<strong>und</strong>e des in der Stelle tätigen Personals<br />

Erfüllung der technischen <strong>und</strong> organisatorischen Sicherheitsanforderungen des Gesetzes an<br />

die Zertifizierungsstelle (Nachweis durch Vorlage eines Sicherheitskonzeptes <strong>und</strong> die Bestä-<br />

35 Auf einige interessante Aspekte im Zusammenhang mit der betrieblichen Nutzung von Public-Key-Verfahren geht<br />

GERLING ein [Ger00], so u.a. den Umstand, daß die Gültigkeitsdauer von Schlüsseln oder Zertifikaten, sofern sie veröffentlicht<br />

werden, keinen Rückschluß z.B. auf ein „nur“ befristetes Arbeitsverhältnis zulassen darf.


30 Kapitel 3. Public-Key-Zertifizierung in der Praxis<br />

tigung der Umsetzung des Konzeptes durch eine von der zuständigen Behörde anerkannte<br />

Prüfstelle)<br />

Personen, die den Anschein erwecken, über eine Lizenz als Zertifizierungsstelle nach dem SigG zu<br />

verfügen, ohne daß dies der Fall ist, kann die Tätigkeit der Lizensierung untersagt werden (§ 13<br />

Abs. 1).<br />

Das SigG sieht eine zweistufige Zertifizierungshierarchie vor: Auf oberster Ebene befindet sich<br />

die „zuständige Behörde“ genannte Wurzelzertifizierungsinstanz, die die eigentlichen, privatwirtschaftlich<br />

betriebenen Zertifizierungsstellen (zweite Ebene) zertifiziert. Diese wiederum stellen die<br />

Zertifikate für die Anwender aus.<br />

So begrüßenswert das SigG als schnelle Reaktion auf technische Neuerungen <strong>und</strong> die durch das Gesetz<br />

geschaffene Rechtssicherheit auch sein mögen, es bleiben auch einige Kritikpunkte, von denen<br />

hier nur die wichtigsten kurz erwähnt werden sollen (ausführlichere Darstellungen finden sich z.B.<br />

in [Roß97] <strong>und</strong> [Rei97c]): Die vorgegebene Zertifizierungsstruktur ist sehr rigide <strong>und</strong> orientiert sich<br />

vor allem an bereits existierenden Trustcentern; es sind keine spezifischen Haftungsregelungen vorgesehen<br />

(vgl. 4.19.2); die Sicherheitsanforderungen sind sehr hoch <strong>und</strong> lassen kaum Raum für von<br />

einem Trustcenter abweichende Geschäftsmodelle – kl<strong>einer</strong>e Unternehmen oder Spartenanbieter,<br />

die nur eine <strong>Teil</strong> der Trustcenter-Dienste offerieren wollen, dürften kaum in der Lage sein, die hohen<br />

Anforderungen zu erfüllen. Darüber hinaus ist der Gesetzestext an manchen Stellen unpräzise,<br />

so bei der Verwendung des Begriffes ‘öffentlicher Signaturschlüssel’, wenn eigentlich ein (öffentlicher)<br />

Schlüssel zum Prüfen <strong>und</strong> nicht zum Erstellen von Signaturen gemeint ist (§ 2 Abs. 3 u.a.),<br />

oder in § 3, wo von „Zertifikaten [sic], die zum Signieren von Zertifikaten eingesetzt werden“, die<br />

Rede ist.<br />

Obschon seit 1997 in Kraft, verläuft die Umsetzung des Signaturgesetzes <strong>und</strong> der es begleitenden<br />

Bestimmungen nur schleppend. Die darin vorgesehene Wurzelinstanz („zuständige Behörde“)<br />

ist erst seit Herbst 1998 betriebsbereit, <strong>und</strong> bis Ende 1999 erhielt von ihr erst eine SigG-<br />

Zertifizierungsstelle (Telesec) ihre Zulassung; im Februar 2000 dann mit der Deutsche Post Sign-<br />

Trust die zweite (siehe 3.3.2). Die Anlaufphase gestaltete sich dabei durchaus nicht ohne Probleme:<br />

So gab es bei den wenigen h<strong>und</strong>ert Zertifizierungen, die die Telesec bislang nach dem SigG durchgeführt<br />

hat, aus der Sicht eines kritischen <strong>Teil</strong>nehmers durchaus einiges anzumerken, wie KELM in<br />

[Kel99] schreibt.<br />

1999 stand die Evaluierung des SigG nach den – wenigen bis dahin vorliegenden – Erfahrungen<br />

der ersten zwei Jahre an. Der Evaluierungsbericht 36 sieht wenig Änderungsbedarf. Im großen <strong>und</strong><br />

ganzen habe sich das SigG in der geltenden Form „bewährt“. Lediglich aus der zum Zeitpunkt s<strong>einer</strong><br />

Erstellung schon im Entwurf vorliegenden EU-Richtlinie (siehe 3.5.3) leitet er einen – geringen –<br />

Änderungsbedarf in einigen Punkten ab. Seine Gr<strong>und</strong>aussage ist aber „Weiter so!“.<br />

36 Bericht der B<strong>und</strong>esregierung über die Erfahrungen <strong>und</strong> Entwicklungen bei den neuen Informations- <strong>und</strong> Kommunikationsdiensten<br />

im Zusammenhang mit der Umsetzung des Informations- <strong>und</strong> Kommunikationsdienste-Gesetzes (IuKDG)<br />

vom 18. Juni 1999, http://www.iid.de/iukdg/berichte/BERICHTiukdg-neu-2.html


3.5. Rechtlicher Rahmen 31<br />

3.5.2 Verordnung zur digitalen Signatur<br />

In § 16 SigG wird die B<strong>und</strong>esregierung ermächtigt, durch Rechtsverordnung Details zur Digitalen<br />

Signatur <strong>und</strong> zu SigG-Zertifizierungsstellen zu regeln, die im Signaturgesetz selbst ausgespart<br />

wurden. Dies betrifft alle wesentlichen Einzelheiten der Zertifizierung, der Pflichten <strong>einer</strong> Zertifizierungsstelle<br />

<strong>und</strong> der Maßnahmen, mit denen ihre Einhaltung kontrolliert werden soll.<br />

Die B<strong>und</strong>esregierung hat in der Verordnung zur digitalen Signatur (Signaturverordnung – SigV)<br />

[Sig97b] die entsprechende Ausgestaltung der o.g. Bereiche geregelt.<br />

In der SigV ist unter anderem festgelegt,<br />

daß die Identifikation des in der SigV als ‘Antragsteller’ bezeichneten Zertifikatnehmers bei<br />

der erstmaligen Beantragung anhand des Personalausweises oder des Reisepasses „oder auf<br />

andere geeignete Weise“ vorzunehmen ist (bei Folgeanträgen kann von <strong>einer</strong> erneuten Identifikation<br />

abgesehen werden, wenn der Folgeantrag mit <strong>einer</strong> digitalen Signatur des Antragstellers<br />

versehen ist) (§ 3 Abs. 1)<br />

daß die Zertifizierungsstelle den Zertifikatnehmer über die Verhaltensweisen <strong>und</strong> Maßnahmen<br />

aufklären muß, mit denen er seinen geheimen Signaturschlüssel vor unbefugtem Zugriff<br />

schützen muß bzw. die er bei der Prüfung fremder digitaler Signaturen vornehmen sollte (§ 4<br />

Abs. 1), es sei denn, der Betreffende ist bereits entsprechend unterrichtet worden (§ 4 Abs. 2)<br />

daß Signaturschlüssel durchaus auch vom Zertifikatnehmer selbst unter eigener Kontrolle<br />

(<strong>und</strong> nicht von der Zertifizierungsstelle) generiert werden können (§ 5 Abs. 1)<br />

daß SigG-Zertifikate eine maximale Gültigkeitsdauer von fünf Jahren aufweisen dürfen (§ 7)<br />

daß eine Fotokopie des Personalausweises oder Reisepasses des Zertifikatnehmers anzufertigen<br />

(§ 13 Abs. 1) <strong>und</strong> zusammen mit seinem Zertifizierungsantrag sowie allen anderen zugehörigen<br />

Unterlagen 35 Jahre lang aufzubewahren ist (§ 13 Abs. 2).<br />

Bemerkenswert ist, daß darüber hinaus nicht nur dem Zertifikatinhaber oder seinem Vertretungsbevollmächtigten,<br />

sondern auch der SigG-Wurzelinstanz von jeder Zertifizierungsstelle eine Möglichkeit<br />

geboten werden muß, das betreffende (bzw. im Falle der „zuständigen Behörde“ wohl jedes)<br />

Zertifikat auf telefonischem Wege nach geeigneter Authentifizierung des Anrufers unverzüglich<br />

sperren zu lassen (§ 9 Abs. 1 SigV). Hierdurch wird eine Möglichkeit geschaffen, mit der der Staat<br />

letztlich jede SigG-konforme digitale Signatur einzelner Personen ab einem bestimmten Zeitpunkt<br />

verhindern könnte – eine sehr weitgehende Eingriffsbefugnis, die ggf. für den Betroffenen quasi<br />

der technisch durchgesetzten Beschränkung gleichkäme, k<strong>einer</strong>lei Verträge mehr unterzeichnen<br />

<strong>und</strong> sich nicht mehr ausweisen zu können. Der Betroffene wäre geradezu s<strong>einer</strong> digitalen „Identität“<br />

beraubt. Diese Durchgriffsbefugnis <strong>einer</strong> übergeordneten <strong>Zertifizierungsinstanz</strong> auf die Nutzerzertifikate<br />

<strong>einer</strong> nachgeordneten CA ist außergewöhnlich. Dieser <strong>Teil</strong> von § 9 Abs. 1 wird interessanterweise<br />

auch in der Begründung der B<strong>und</strong>esregierung zur SigV [BRD97] mit keinem Wort<br />

kommentiert oder auch nur erwähnt. Dort heißt es zu § 9 Abs. 1 lediglich:<br />

„Die Regelung dient dem Schutz der Signaturschlüssel-Inhaber sowie der dritten Personen, de-<br />

ren Angaben zur Vertretungsmacht in ein Zertifikat aufgenommen wurden. Durch die verlang-<br />

te Bekanntgabe <strong>einer</strong> Rufnummer (Telefon) [der Zertifizierungsstelle] soll eine unverzügliche


32 Kapitel 3. Public-Key-Zertifizierung in der Praxis<br />

Sperrung [eines Zertifikats] ermöglicht werden, da eine Telefonverbindung praktisch jederzeit<br />

hergestellt werden kann. Die Bekanntgabe weiterer Telekommunikationsanschlüsse (z.B. Fax)<br />

bleibt unbenommen. Als Authentisierungsverfahren kommt z.B. ein Paßwortverfahren in Be-<br />

tracht.“<br />

§ 9 Abs. 1 SigV schreibt letztlich eine Schnittstelle vor, mit der die Bestimmungen von § 13 Abs. 5<br />

SigG besonders schnell durchgesetzt werden können. Dort ist zwar vorgesehen, daß Zertifikate <strong>einer</strong><br />

Zertifizierungsstelle ihre Gültigkeit behalten, selbst wenn die Wurzelinstanz die Genehmigung<br />

für den <strong>Betrieb</strong> dieser Stelle widerruft; die „zuständige Behörde“ kann aber eine Sperrung von<br />

Zertifikaten anordnen, „wenn Tatsachen die Annahme rechtfertigen, daß Zertifikate gefälscht oder<br />

nicht hinreichend fälschungssicher sind oder ... zur Anwendung der Signaturschlüssel eingesetzte<br />

technische Komponenten Sicherheitsmängel aufweisen, die eine unbemerkte Fälschung digitaler<br />

Signaturen oder eine unbemerkte Verfälschung signierter Daten zulassen.“<br />

Auch die Signaturverordnung bleibt noch bewußt allgemein <strong>und</strong> unspezifisch, was geeignete technische<br />

Sicherungsverfahren <strong>und</strong> Schutzmaßnahmen angeht; derartige Festlegungen wurden aus der<br />

SigV in eine mehrteilige SigG-Interoperabilitätsspezifikation („Schnittstellenspezifikation zur Entwicklung<br />

interoperabler Verfahren <strong>und</strong> Komponenten nach SigG/SigV“, SigI), die zur Zeit noch<br />

entwickelt wird, <strong>und</strong> zwei Maßnahmenkataloge für technische Komponenten <strong>und</strong> für Zertifizierungsstellen<br />

[RTP98] ausgelagert (§ 12 Abs. 2 <strong>und</strong> § 16 Abs. 6), die von der Regulierungsbehörde<br />

geführt <strong>und</strong> im B<strong>und</strong>esanzeiger veröffentlicht werden. (Siehe auch Abschnitt 4.19.4 in Kapitel 4 zu<br />

Details der Anforderungen.)<br />

3.5.3 EU-Richtlinie zu Rahmenbedingungen elektronischer Signaturen<br />

Die EU hat die Gefahr divergierender nationaler Regelungen der digitalen Signatur sowie unterschiedlicher<br />

Maßnahmen auf dem Gebiet der Kryptographie <strong>und</strong> drohender daraus resultierender<br />

Hemmnisse für den freien Waren- <strong>und</strong> Dienstleistungsverkehr frühzeitig erkannt <strong>und</strong> bereits 1997<br />

die Mitteilung der EU-Kommission zu „Sicherheit <strong>und</strong> Vertrauen in elektronische Kommunikation<br />

– ein europäischer Rahmen für digitale Signaturen <strong>und</strong> Verschlüsselung“ [EUK97] vorgelegt. Zuvor<br />

waren bereits vorbereitende Gutachten <strong>und</strong> Studien zu diesem Gebiet eingeholt worden. In dieser<br />

Mitteilung heißt es – im Kontrast zum deutschen Signaturgesetz:<br />

„Da die Lizenzierungspflicht für CAs nicht der einzige Weg ist zu <strong>einer</strong> Übereinstimmung zwi-<br />

schen den Aktivitäten der CA <strong>einer</strong>seits <strong>und</strong> den Vorstellungen der Öffentlichkeit, wie Vertrauen<br />

in digitale Signaturen gefördert werden kann andererseits, müßte ein Regulierungsrahmen auf<br />

EU-Ebene die Koexistenz sowohl lizenzierter als auch unlizenzierter CAs vorsehen.“ [EUK97]<br />

Mit dem ersten Entwurf <strong>einer</strong> EU-Richtlinie über gemeinsame Rahmenbedingungen für elektronische<br />

Signaturen [EUK98b] vom 13. Mai 1998 wurden die Ziele der Mitteilung von 1997 dann<br />

konkretisiert. Im Unterschied zum deutschen Signaturgesetz sah der erste Richtlinienentwurf die<br />

Durchsetzung konkrete Haftungsanforderungen vor, die als marktwirtschaftliches Steuerungsinstrument<br />

ein hohes Sicherheitsniveau sicherstellen sollten. Der Entwurf blieb bewußt funktional<br />

gehalten statt technisch, um eine Offenheit für zukünftige Verfahren zu gewährleisten. In einigen


3.5. Rechtlicher Rahmen 33<br />

Punkten hätten, wäre dieser Entwurf verabschiedet worden, die Bestimmungen des SigG angepaßt<br />

werden müssen, <strong>und</strong> zwar sowohl, was die bereits erwähnten Haftungsregelungen angeht, als auch<br />

den im Richtlinienentwurf verlangten freien Marktzugang von Zertifizierungsdiensten. Demzufolge<br />

sind nationale Akkreditierungsverfahren (wie in der B<strong>und</strong>esrepublik mit dem SigG) auf freiwilliger<br />

Basis zwar zulässig, Zulassungsverfahren <strong>und</strong> Anforderungen müssen jedoch transparent <strong>und</strong><br />

nichtdiskriminierend sein – ein Punkt, zu dem die im SigG vorgesehene starre, zweistufige Zertifizierungshierarchie<br />

wohl nicht konform wäre [FG98].<br />

Am 25. Januar 1999 wurde ein zweiter, überarbeiteter Entwurf für die EU-Signatur-Richtlinie vorgelegt<br />

[EUK99]. Der Rat blieb darin bei s<strong>einer</strong> Auffassung, daß den Anbietern von Zertifizierungsdiensten<br />

ein freier Marktzugang gewährt werden müsse <strong>und</strong> sie ihre Dienste ohne vorherige Zulassung<br />

anbieten können sollten; er schrieb auch vor, daß die rechtliche Anerkennung von digitalen<br />

Signaturen anhand objektiver Kriterien erfolgen <strong>und</strong> nicht von der Lizenzierung eines Dienstanbieters<br />

abhängig gemacht werden sollte. Der zweite Richtlinienentwurf unterschied sich vom ersten<br />

allerdings dahingehend, daß darin – offensichtlich auf Betreiben Deutschlands – neben dem<br />

Konstrukt der electronic signature auch eine advanced electronic signature definiert wurde (Art. 2<br />

Abs. 1bis), die rechtlich der eigenhändigen Unterschrift gleichgestellt <strong>und</strong> als Beweismittel in Gerichtsverfahren<br />

zugelassen werden sollte (Art. 5 Abs. 1). Die einfachen electronic signatures sollten<br />

aber andererseits nicht alleine deswegen ihre Beweiskraft verlieren, weil es sich um Beweismittel<br />

in elektronischer Form handelt, sie nicht auf einem Zertifikat eines lizenzierten Anbieters beruhen<br />

oder sie nicht mit einem sicheren Unterschriften-Gerät (secure signature creation device) erzeugt<br />

wurden (Art. 5 Abs. 2).<br />

Mit einigen Korrekturen des Europäischen Parlamentes wurde der zweite Richtlinien-Entwurf<br />

schließlich zum „Gemeinsamen Standpunkt“ von EU-Parlament <strong>und</strong> -Rat, der schließlich am<br />

30. Novemver 1999 verabschiedet wurde [EU99]. Mit ihrer Veröffentlichung im Amtsblatt der Europäischen<br />

Gemeinschaften trat die EU-Richtlinie dann am 19. Januar 2000 in Kraft.<br />

Den Mitgliedsstaaten der EU bleibt nun eine Frist von 18 Monaten, die Richtlinie in nationales<br />

Recht umzusetzen. In Deutschland sollen die erforderlichen Anpassungen des SigG im Rahmen<br />

der ohnehin anstehenden Überarbeitung dieses Gesetzes erfolgen; ein erster Entwurf eines<br />

Signaturgesetz-Änderungsgesetzes 37 – SigGÄndG – wird zur Zeit diskutiert.<br />

3.5.4 Datenschutz<br />

„Da CAs in der Lage sein müssen, Schlüsselinhaber zu identifizieren <strong>und</strong> deshalb Informa-<br />

tionen über diese sammeln müssen, sind sie den in der EU-Datenschutzrichtlinie festgeleg-<br />

ten Bestimmungen der Gemeinschaft über Weiterverarbeitung <strong>und</strong> Sicherheit von Daten sowie<br />

Übertragung von Daten in Drittstaaten unterworfen. Zum Beispiel dürfen CAs Daten nur dann<br />

sammeln <strong>und</strong> weiterverarbeiten, wenn die einzelne Person zugestimmt hat oder eine gesetzliche<br />

Ermächtigung hierfür besteht.“ [EUK97]<br />

Diese Anforderung, die sich auch im o.g. zweiten Entwurf <strong>einer</strong> EU-Signatur-Richtlinie wiederfindet<br />

(Art. 8 Abs. 2), deckt sich mit den Bestimmungen, die das Signaturgesetz bzw. die deutschen<br />

Datenschutzgesetze auf B<strong>und</strong>es- bzw. Landesebene vorsehen.<br />

37 ftp://ftp.pca.dfn.de/pub/dfnpca/sigg/SigGAendG.pdf


34 Kapitel 3. Public-Key-Zertifizierung in der Praxis<br />

Das Signaturgesetz enthält ausdrückliche Regelungen zum Datenschutz bei der Zertifizierung, insofern<br />

hat es als die spezifischere gesetzliche Regelung Vorrang vor den Bestimmungen des B<strong>und</strong>esoder<br />

der Landesdatenschutzgesetze. In § 12 Abs. 1 SigG heißt es:<br />

„Die Zertifizierungsstelle darf personenbezogene Daten nur unmittelbar beim Betroffenen<br />

selbst <strong>und</strong> nur insoweit erheben, als dies für Zwecke eines Zertifikates erforderlich ist. Eine<br />

Datenerhebung bei Dritten ist nur mit Einwilligung des Betroffenen zulässig. Für andere als die<br />

in Satz 1 genannten Zwecke dürfen die Daten nur verwendet werden, wenn dieses Gesetz oder<br />

eine andere Rechtsvorschrift es erlaubt oder der Betroffene eingewilligt hat.“<br />

Es wäre zwar noch zu diskutieren, ob diese Bestimmungen nicht lediglich für solche Zertifizierungsstellen<br />

gelten, die nach § 4 SigG lizenziert sind. Letztlich würde das aber kaum etwas an den<br />

Voraussetzungen für eine zulässige Verarbeitung personenbezogener Daten ändern, denn privatwirtschaftlich<br />

organisierte Zertifizierungsstellen zählen zum nicht-öffentlichen Bereich <strong>und</strong> fallen<br />

somit in den Geltungsbereich des B<strong>und</strong>esdatenschutzgesetzes (BDSG) [BDS90], <strong>und</strong> für Zertifizierungsstellen<br />

in <strong>einer</strong> Körperschaft des öffentlichen (Landes-)Rechts wie eine Universität gilt – soweit<br />

nicht bereichsspezifische Normen existieren (z.B. das Hochschulgesetz des jeweiligen B<strong>und</strong>eslandes<br />

oder die Satzungen der Hochschulen) – das jeweilige Landes-Datenschutzgesetz. 38 Sowohl<br />

BDSG als auch Landesdatenschutzgesetze lassen ebenfalls die Erhebung <strong>und</strong> Verarbeitung personenbezogener<br />

Daten nur entweder auf der Gr<strong>und</strong>lage des jeweiligen Datenschutzgesetzes bzw. <strong>einer</strong><br />

besonderen Rechtsvorschrift oder aufgr<strong>und</strong> <strong>einer</strong> expliziten Einwilligung des Betroffenen zu (siehe<br />

z.B. § 4 Abs. 1 BDSG).<br />

Da es die B<strong>und</strong>esrepublik Deutschland versäumt hat, die EU-Datenschutzrichtlinie [EUP95] fristgemäß<br />

in nationales Recht umzusetzen, gilt die Richtlinie nun unmittelbar – im Falle von Rechtsstreitigkeiten<br />

sind die bestehenden Datenschutzgesetze daher in ihrem Sinne auszulegen [DSB98].<br />

Immerhin liegt mittlerweile ein Entwurf <strong>einer</strong> neuen Fassung des BDSG mit Begründung vor, 39 <strong>und</strong><br />

die B<strong>und</strong>esregierung hofft, diesen noch im Laufe des Jahres 2000 zu verabschieden.<br />

38 Es gibt aber auch Ausnahmen: So gilt beispielsweise für Mitarbeiter der Berliner Universitäten <strong>und</strong> ihre Daten gemäß<br />

§ 34 Abs. 2 Berliner Datenschutzgesetz das BDSG <strong>und</strong> nicht das Berliner Datenschutzgesetz.<br />

39 http://www.dud.de/dud/files/bdsg0799.zip


Kapitel 4<br />

Konzept für eine Zertifizierungsstelle<br />

(“plan”)<br />

Nachdem die theoretischen Gr<strong>und</strong>lagen für Public-Key-Verfahren <strong>und</strong> -Zertifizierung bereits kurz<br />

umrissen wurden, soll nun in diesem Abschnitt Gedanken zur Einrichtung <strong>einer</strong> Zertifizierungsstelle<br />

in <strong>einer</strong> <strong>DFN</strong>-Mitgliedseinrichtung dargelegt werden. Bei der praktischen Umsetzung sollten diese<br />

theoretischen Hinweise u.a. durch Ortstermine in der Einrichtung, die die Zertifizierungsstelle später<br />

beherbergen soll, ergänzt werden, damit die baulichen <strong>und</strong> sonstigen Gegebenheiten vor Ort in<br />

Augenschein genommen werden <strong>und</strong> in die Planung mit einfließen können.<br />

Die nachstehenden Überlegungen sind so allgemein bzw. so gr<strong>und</strong>sätzlicher Natur, daß sie fast<br />

immer auf eine konkrete CA-Planung anwendbar sein oder zumindest wertvolle Anregungen geben<br />

sollten.<br />

Im ersten Abschnitt dieses Kapitels werden die Ziele beschrieben, die diesem (exemplarischen)<br />

Konzept zugr<strong>und</strong>e liegen. Danach wird erläutert, welche Vorteile die Realisierung <strong>einer</strong> Zertifizierungsstelle<br />

mit eigenen Mitteln für die jeweilige Einrichtung bietet. Es folgt ein Überblick über die<br />

wichtigsten Punkte der dafür vorgeschlagenen Lösung, deren Einzelheiten dann in den nachfolgenden<br />

Abschnitten dargestellt <strong>und</strong> begründet werden.<br />

4.1 Entwurfsziel<br />

Die Universität zu ..., im folgenden UNI genannt, verfügt bislang nicht über eine eigene Zertifizierungsstelle<br />

für öffentliche Schlüssel. Es hat bereits erste – wenn auch noch vereinzelte – Nachfragen<br />

nach Schlüsselzertifizierungen an das Rechenzentrum der UNI <strong>und</strong> an die Benutzerbetreuung gegeben.<br />

Außerdem betreibt das ebenfalls in ... ansässige Forschungsinstitut ... bereits eine eigene CA<br />

(wenn auch bislang nur mit mäßiger Resonanz). Es ist allerdings absehbar, daß die Zahl der Nachfragen<br />

nach Schlüsselzertifizierung <strong>und</strong> Beratung r<strong>und</strong> um Verschlüsselung <strong>und</strong> digitale Signaturen<br />

aufgr<strong>und</strong> der Umsetzung des Signaturgesetzes <strong>und</strong> der wachsenden Zahl entsprechender Angebote<br />

am Markt in nächster Zeit eher zu- als abnehmen wird. Es ist ferner nicht auszuschließen, daß ein<br />

einzelnes Ereignis (das könnte beispielsweise das Angebot <strong>einer</strong> großen Bank sein, die Kontoführung<br />

bei ihr jetzt auch per verschlüsselter <strong>und</strong> signierter E-Mail abzuwickeln) eine plötzliche große<br />

35


36 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Nachfrage nach Zertifizierungsdiensten auslöst, der sich das Rechenzentrum dann nicht entziehen<br />

könnte. Auch für diesen Fall will die UNI gerüstet sein.<br />

Das vorliegende Konzept soll einen Vorschlag oder eine Handreichung für eine mögliche Vorgehensweise<br />

bei der Realisierung <strong>einer</strong> eigenen CA an der UNI sein. Dabei soll die UNI beispielhaft<br />

für jede größere Hochschule oder sonstige Einrichtung stehen, die Mitglied im <strong>DFN</strong>-Verein ist.<br />

In diesem Abschnitt wird dazu ein Konzept entwickelt werden, auf dessen Gr<strong>und</strong>lage eine Zertifizierungsstelle<br />

für öffentliche Schlüssel an der UNI betrieben werden könnte. Das Konzept soll die<br />

Vorgehensweise beim <strong>Aufbau</strong> <strong>und</strong> beim späteren <strong>Betrieb</strong> der CA möglichst verständlich beschreiben,<br />

so daß anhand dieses Konzeptes auch Uni-Angehörige, die zwar eine gewisse Erfahrung im<br />

Umgang mit Computern haben, die jedoch keine Zertifizierungsspezialisten oder Kryptographie-<br />

Experten sind, die vorgeschlagene Arbeits- <strong>und</strong> Funktionsweise der Zertifizierungsstelle nachvollziehen<br />

<strong>und</strong> die zu ihrer Einrichtung erforderlichen Schritte unternehmen können.<br />

Da die Hochschulen Mitglieder des <strong>DFN</strong>-Vereins sind <strong>und</strong> dieser mit dem Projekt <strong>einer</strong> <strong>DFN</strong>-<br />

“Policy Certification Authority” (PCA) eine Wurzel-Zertifizierungsstelle innerhalb des Deutschen<br />

Forschungsnetzes etabliert hat, soll das Konzept es ermöglichen, die Zertifizierungsstelle oder einen<br />

<strong>Teil</strong> von ihr als certification authority (CA) der UNI (im folgenden UNI-CA genannt) im Sinne der<br />

Zertifizierungsrichtlinien der <strong>DFN</strong>-PCA zu betreiben.<br />

Im Rahmen des hier dargelegten Konzeptes wird u.a. eine geeignete Zertifizierungsrichtlinie für die<br />

UNI-CA entworfen, die den Rahmen für den späteren Praxisbetrieb setzt. Dabei sollen auch die typischerweise<br />

an <strong>einer</strong> Universität gegebenen Rahmenbedingungen berücksichtigt werden, so z.B. die<br />

Fluktuation unter den Studierenden, Zeitverträge bei vielen der wissenschaftlichen Universitätsmitarbeitern,<br />

ausländische Studierende <strong>und</strong> Gastwissenschaftler (die u.U. andere Personaldokumente<br />

als einen Personalausweis besitzen!), beschränkte bis geringe Sach- <strong>und</strong> Personalmittel speziell für<br />

eine solche Zertifizierungsstelle etc. Die UNI-CA soll Zertifizierungsdienste sowohl für die Sicherung<br />

der E-Mail-Kommunikation von Universitätsangehörigen als auch für den gesicherten Zugriff<br />

auf WWW-Ressourcen der UNI anbieten.<br />

Eine Betrachtung der rechtlichen Rahmenbedingungen für den <strong>Betrieb</strong> <strong>einer</strong> Zertifizierungsstelle<br />

nebst möglicher Haftungsfragen erfolgt in diesem Handbuch ebenfalls. Allerdings ist unter seinen<br />

Autoren kein Jurist, insofern sollte, bevor/wenn es zur Umsetzung kommt, auch die Rechtsabteilung<br />

der jeweiligen Einrichtung konsultiert werden. In diesem Zusammenhang ist auch von<br />

Interesse, ob – <strong>und</strong> wenn ja unter welchen Voraussetzungen – der <strong>Betrieb</strong> <strong>einer</strong> Signaturgesetzkonformen<br />

Zertifizierungsstelle an der UNI denkbar wäre. Es sollen daher entweder die dafür zusätzlich<br />

erforderlichen Vorkehrungen beschrieben oder aber es soll begründet werden, warum ein<br />

Signaturgesetz-konformer <strong>Betrieb</strong> <strong>einer</strong> zukünftigen UNI-CA bei der jetzigen Fassung des Signaturgesetzes,<br />

der entsprechenden Verordnung <strong>und</strong> der zugehörigen Ausführungsbestimmungen nicht<br />

möglich scheint.<br />

Wichtig ist, folgendes nicht aus den Augen zu verlieren: Das Ziel ist keine Forschungs-CA, sondern<br />

der Regelbetrieb <strong>einer</strong> Zertifizierungsstelle als Service für die Angehörigen der UNI (<strong>und</strong> eventuell<br />

auch für Dritte).


4.2. Outsourcen oder Do-it-yourself? 37<br />

4.2 Outsourcen oder Do-it-yourself?<br />

Viele Unternehmen würden in dieser Situation einen entsprechenden Auftrag an Dienstleister vergeben<br />

oder zumindest versuchen abzuschätzen, ob es nicht womöglich günstiger ist, die Dienstleistungen<br />

der UNI-CA von einem externen Anbieter einzukaufen, oder doch insgesamt die Vorteile<br />

überwiegen, wenn man eine solche CA mit eigenen Mitteln realisiert.<br />

Es gibt inzwischen erste Praxisbeispiele, welche Kosten einzelnen Unternehmen bei der Einführung<br />

<strong>einer</strong> Public-Key-Infrastruktur entstanden sind: Über einen Zeitraum von fünf Jahren kommen<br />

bei 5 000 Nutzern gut 100 Dollar pro User [Mac98] zusammen. Andere Studien nennen zwischen<br />

400 000 <strong>und</strong> 1,6 Millionen DM [NC98] für die gleiche Anzahl von Zertifizierungen <strong>und</strong> den gleichen<br />

Zeitraum.<br />

An diesen Summen wird deutlich, daß es für die UNI kaum zu finanzieren wäre, wenn sie diese<br />

Dienstleistung out-sourcen würde <strong>und</strong> tatsächlich ein großer <strong>Teil</strong> der Studenten oder auch nur der<br />

Rechenzentrumsnutzer Gebrauch von <strong>einer</strong> Zertifizierungsmöglichkeit machen würde. 1<br />

Eine Inhouse-Lösung hätte einen weiteren, nicht unerheblichen Vorteil: Durch die Verknüpfung von<br />

Rechenzentrum <strong>und</strong> Zertifizierungsstelle könnte Know-how erworben <strong>und</strong> könnten Synergieeffekte<br />

genutzt werden für alle anderen (Netzwerk-)Bereiche, in die jetzt oder in Zukunft ebenfalls Public-<br />

Key-Verfahren Einzug halten werden (siehe dazu auch 4.20.5).<br />

4.3 Überblick über das Konzept<br />

Die UNI-CA soll gr<strong>und</strong>sätzlich nach den Richtlinien der <strong>DFN</strong>-PCA arbeiten <strong>und</strong> eine Zertifizierung<br />

durch die <strong>DFN</strong>-PCA anstreben. Das Konzept ist so gewählt, daß diese Prämisse erfüllt wird.<br />

Die UNI-CA kann bis auf weiteres nicht als Zertifizierungsstelle nach dem deutschen Signaturgesetz<br />

betrieben werden, weil dessen Anforderungen an organisatorische, technische, personelle<br />

<strong>und</strong> bauliche Maßnahmen so hoch sind, daß sie die Möglichkeiten der UNI bzw. ihres Rechenzentrums<br />

übersteigen – zumal ja auch noch nicht abzusehen ist, ob ein entsprechender Bedarf für<br />

Signaturgesetz-konforme Zertifizierung vorhanden wäre, der einen solchen Aufwand rechtfertigen<br />

würde.<br />

Den Schwerpunkt der Arbeit der UNI-CA (<strong>und</strong> deswegen auch der Betrachtungen in diesem <strong>Teil</strong> des<br />

Handbuches) stellt die sichere Kommunikation mittels PGP dar. Dieses Programm bzw. Austauschformat<br />

besitzt eine hohe Verbreitung – weltweit nutzen zwischen sechs <strong>und</strong> 20 Millionen Menschen<br />

PGP [Moe99, SW97] – <strong>und</strong> stellt zur Zeit den De-facto-Standard für vertrauliche <strong>und</strong>/oder authentische<br />

Kommunikation per E-Mail <strong>und</strong> im Usenet dar. (<strong>DFN</strong>-<strong>CERT</strong>: „Die Signatur von <strong>DFN</strong>-<strong>CERT</strong>-<br />

Mitteilungen erfolgt bis auf weiteres ausschließlich mit PGP, da dies das zur Zeit am verbreitesten<br />

[sic] Verfahren ist.“ [CER94])<br />

Hinzu kommt, daß die X.509-Zertifizierung im <strong>DFN</strong> sich derzeit in <strong>einer</strong> Umbruchsphase befindet.<br />

Es wurden schon seit längerem X.509-Zertifikate von der <strong>DFN</strong>-PCA bzw. deren User-CA ausgestellt;<br />

diese zielten jedoch auf den Einsatz in PEM ab, einem Standard, der im Vergleich zu PGP<br />

keine große Verbreitung im Internet erlangt hat. Mittlerweile werden unter <strong>einer</strong> dritten, vorläufigen<br />

1 Zu weiteren Argumenten für oder wider einen Auftrag an ein externes Unternehmen siehe MOSES [Mos97].


38 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

<strong>DFN</strong>-Policy aber auch X.509v3-Zertifikate für den Einsatz mit HTTPS-Servern <strong>und</strong> in WWW-<br />

Browsern von der <strong>DFN</strong>-PCA ausgestellt, was eine Betrachtung zur Zeit etwas schwierig macht.<br />

Mit nur geringen Anpassungen bzw. geringem Mehraufwand sollte aber auch die X.509-<br />

Zertifizierung von der UNI-CA angeboten werden können, wenn Bedarf dafür besteht. Die Vorschläge<br />

dieses Konzeptes sind so angelegt, daß die UNI-CA damit alle technisch-organisatorischen<br />

Voraussetzungen auch für eine X.509-Zertifizierung durch die <strong>DFN</strong>-PCA erfüllt <strong>und</strong> sie sich eventuell<br />

auch schon „X.509-zertifizieren“ lassen könnte. <strong>Teil</strong> II dieses Handbuches befaßt sich allgemein<br />

(nicht speziell auf die UNI-CA bezogen) mit der X.509-Zertifizierung unter Verwendung der Software<br />

OpenSSL; an diesen Ausführungen könnte sich bei Bedarf auch die UNI-CA orientieren.<br />

Die <strong>DFN</strong>-PCA hat zwei separate Gruppen von Zertifizierungsrichtlinien, nach denen sie arbeitet,<br />

eine Low- <strong>und</strong> eine Medium-Level Policy, die sich in den unterstützten Formaten <strong>und</strong> in den Sicherheitsanforderungen<br />

unterscheiden. Daneben wird seit Ende 1998 auch noch eine „World Wide<br />

Web-Policy“ für die Zertifizierung von Web-Browsern <strong>und</strong> -Servern angewendet. Eine PGP-<br />

Zertifizierung ist nur in der <strong>DFN</strong>-Low-Level-Policy vorgesehen. Diese ist gleichzeitig aber an vielen<br />

Stellen auslegungsfähig formuliert, enthält viele „Kann“-Bestimmungen <strong>und</strong> Empfehlungen anstelle<br />

konkreter Anforderungen oder Vorgaben <strong>und</strong> ermöglicht es, mit wenig Sicherheitsaufwand,<br />

aber eben auch mit einem begrenzten Sicherheitsniveau eine Zertifizierungsstelle zu betreiben. Die<br />

<strong>DFN</strong>-Medium-Level-Policy hingegen stellt höhere Sicherheitsanforderungen an Betreiber <strong>und</strong> Zertifizierungswillige,<br />

sieht aber keine PGP-Zertifizierung vor. Die technische Ausstattung <strong>und</strong> die<br />

Arbeitsabläufe der UNI-CA sollten daher gr<strong>und</strong>sätzlich (auch hinsichtlich der PGP-Zertifizierung)<br />

so ausgelegt werden, daß eine Zertifizierung nach der <strong>DFN</strong>-Medium-Level-Policy möglich ist.<br />

Die UNI-CA soll nach diesem Konzept die Zertifizierung nach zwei unterschiedlich strengen Policies<br />

anbieten:<br />

<strong>einer</strong> „Low-Level Security“ Policy, nach der ausschließlich PGP-zertifiziert wird <strong>und</strong><br />

<strong>einer</strong> „Medium-Level Security“ Policy, nach der sowohl PGP- als auch X.509-<br />

Zertifizierungen vorgenommen werden (können)<br />

Als Zertifizierungsrechner wird ein unvernetzter, tragbarer Computer vorgeschlagen, der mit zwei<br />

austauschbaren Festplatten ausgestattet wird, von denen eine die Low-Level- <strong>und</strong> eine die Medium-<br />

Level-CA „beherbergt“ (jeweils Software <strong>und</strong> Zertifizierungsdaten). Dieser Rechner sollte in einem<br />

abschließbaren Schrank, über dessen Schlüssel nur die autorisierten CA-Mitarbeiter verfügen, im<br />

Serverraum des Rechenzentrums aufbewahrt werden, wenn er nicht benutzt wird. Nur zur Zertifizierung<br />

darf der Rechner nebst der entsprechenden Festplatte für die CA entnommen werden; er ist<br />

nach Gebrauch umgehend wieder in diesem Schrank einzuschließen.<br />

4.4 Begründung für den vorgeschlagenen Ansatz<br />

4.4.1 Warum zwei Policies?<br />

Eine Universitäts-Zertifizierungsstelle wird sich in besonderem Maße dem Spagat zwischen zwei<br />

relativ gegensätzlichen Anforderungen stellen müssen: Sie muß auf der einen Seite Zertifizierungs-


4.4. Begründung für den vorgeschlagenen Ansatz 39<br />

dienste mit einem angemessen hohen Sicherheitsniveau anbieten, sie muß auf der anderen Seite<br />

aber auch Aufklärungs- <strong>und</strong> Schulungsarbeit leisten <strong>und</strong> so erst für eine breite(re) Nutzerbasis sorgen.<br />

Um neue Nutzer für den Einsatz von Verschlüsselung bzw. digitalen Unterschriften zu gewinnen,<br />

dürfen die Zugangs- oder Einstiegshürden nicht zu hoch sein, sonst werden Interessierte<br />

abgeschreckt <strong>und</strong> aufgr<strong>und</strong> des hohen Aufwandes von <strong>einer</strong> Zertifizierung abgehalten. Sind andererseits<br />

die Zertifizierungsrichtlinien zu lax, werden erfahrenere Nutzer dies erkennen, kritisieren<br />

<strong>und</strong> sich mit der Nutzung der CA-Dienste zurückhalten.<br />

Die vorgeschlagenen zwei CAs mit unterschiedlich hohen Sicherheitsanforderungen stellen eine<br />

Lösung für dieses Problem dar. Die Hürden für die Erst-Zertifizierung sind bei der Low-Level-CA<br />

bewußt niedrig gehalten, <strong>und</strong> wessen Interesse einmal geweckt ist <strong>und</strong> wer für Sicherheitsfragen<br />

sensibilisiert wurde, der wird auch einen höheren Aufwand bei der Zertifizierung in Kauf nehmen,<br />

wenn dadurch ein höheres Zertifizierungs- bzw. Sicherheitsniveau erreicht wird.<br />

4.4.2 Warum ein unvernetzter Zertifizierungsrechner?<br />

Ein über Netzwerkverbindungen erreichbarer Rechner eröffnet einem Angreifer derartig viele Möglichkeiten,<br />

aus der Anonymität des Internet heraus einen Angriffsversuch zu unternehmen, daß ein<br />

wirksamer Schutz nur mit sehr hohem administrativem Aufwand erreicht werden kann (wenn überhaupt):<br />

„Bei vernetzten Rechnern ist die Abstrahlsicherheit vernachlässigbar, da [dort] andere Angriffe<br />

sehr viel einfacher sind.“ [Wol98] Das IT-Gr<strong>und</strong>schutzhandbuch des BSI stellt dazu fest:<br />

„Sind die meisten IT-Anwendungen auf einem IT-System nur mittelschutzbedürftig <strong>und</strong> sind<br />

nur eine oder wenige hochschutzbedürftig, so ist unter Kostengesichtspunkten zu prüfen, diese<br />

hochschutzbedürftigen auf ein isoliertes IT-System auszulagern.“ [BSI98]<br />

Insofern ist es unter dem Gesichtspunkt der sparsamen Ressourcenverwendung – hier: Arbeitszeit<br />

– sinnvoll, einen unvernetzten Rechner einzusetzen. Auch die <strong>DFN</strong>-PCA legt aus diesen Gründen<br />

in jeder ihrer drei Policies den CAs jeweils nahe, nach Möglichkeit einen unvernetzten Rechner als<br />

Zertifizierungsrechner einzusetzen.<br />

4.4.3 Warum ein mobiler Zertifizierungsrechner?<br />

Bei der Frage des Zertifizierungsrechners stellt ein mobiler Computer einen günstigen Kompromiß<br />

zwischen den verschiedenen Anforderungen dar, die an ein solches Gerät zu richten sind bzw. die<br />

durch den Rahmen ‘Universitätsrechenzentrum’ vorgegeben sind: Der Zugang zu bzw. Zugriff auf<br />

diesen Rechner darf im Interesse von Verfügbarkeit <strong>und</strong> Integrität dieses Gerätes <strong>und</strong> der darauf<br />

befindlichen Software nur kontrolliert <strong>und</strong> nur dem berechtigten (möglichst kleinen) Personenkreis<br />

möglich sein. Das bedeutet, daß für einen stationären Zertifizierungsrechner ein eigener Raum erforderlich<br />

wäre, zu dem nur die autorisierten CA-Mitarbeiter Zugang haben. Das wiederum hieße,<br />

daß zum einen ein Raum dafür bereitgestellt werden müßte, der für anderweitige Nutzung ausfiele,<br />

zum anderen würde das aber auch bedeuten, daß die CA-Mitarbeiter für die Zertifizierung eben<br />

diesen Raum aufsuchen <strong>und</strong> dort arbeiten müssen. Es müßte, da wohl k<strong>einer</strong> der Rechenzentrumsmitarbeiter<br />

seinen Arbeitsraum aufgeben würde, ein bislang ungenutzter Raum sein – der dann


40 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

vermutlich unattraktiv z.B. im Tiefgeschoß läge, schlecht beleuchtet wäre o.ä. (ansonsten würde<br />

er sicher nicht leerstehen). Dies wiederum trüge nicht zur Motivation der CA-Administratoren bei,<br />

wenn sie sich zur Arbeit am Zertifizierungsrechner in einen solchen Raum begeben müßten. Während<br />

der <strong>Aufbau</strong>phase <strong>und</strong> zu Beginn des Regelbetriebes wäre wegen der voraussichtlich zunächst<br />

geringen Nachfrage vermutlich kein Mitarbeiter nur mit Zertifizierungsaufgaben betraut, sondern<br />

diese Arbeit müßte von den betroffenen Mitarbeitern neben ihren übrigen Aufgaben wahrgenommen<br />

werden.<br />

Ein solcher dezidierter CA-Rechnerraum müßte – nach Möglichkeit – auch durch eine Einbruchs<strong>und</strong><br />

Feuermelde-Anlage usw. geschützt werden, was weiteren zusätzlichen Aufwand für entsprechende<br />

Installationen bedeuten würde. Demgegenüber hätte ein tragbarer, unvernetzter Rechner<br />

den Vorteil, daß man ihn in einem (eventuell schon vorhandenen) Tresor, Schutzschrank oder abschließbaren<br />

Schrank aufbewahren könnte, während er nicht benutzt wird. Dieser Schrank könnte<br />

im Serverraum des Rechenzentrums untergebracht werden, das in der Regel bereits über Feuer- <strong>und</strong><br />

Einbruchsmelder verfügt, oder er befindet sich ohnehin schon dort.<br />

Neben dem isolierten Zertifizierungsrechner wird bei vielen Tätigkeiten im Rahmen der Zertifizierung<br />

zusätzlich ein zweiter vernetzter Rechner benötigt, beispielsweise um Zertifikate per E-Mail<br />

an die Schlüsselinhaber zu verschicken, Zertifikate über einen Verzeichnisdienst zugänglich zu machen<br />

oder auch die zu zertifizierenden Schlüssel von einem Keyserver abzurufen. Ein mobiler Zertifizierungsrechner<br />

kann am Arbeitsplatz des betreffenden CA-Mitarbeiters benutzt werden, während<br />

anderenfalls in dem dezidierten CA-Rechnerraum auch noch ein zweiter, vernetzter Rechner untergebracht<br />

werden müßte. (Alternativ müßte ein aufwendiger Datenträgeraustausch zwischen beiden<br />

Rechnern praktiziert werden.)<br />

Anschluß- <strong>und</strong> Verlängerungskabel erleichtern das Abhören [Wol98]. Insofern bietet ein Laptop<br />

zusätzlich den (kleinen) Vorteil, daß keine externe Verkabelung anfällt <strong>und</strong> es Lauschern nicht zusätzlich<br />

einfacher gemacht wird.<br />

Ein Vorteil eines Laptops als Zertifizierungsrechner: Tragbare Computer sind (zumindest im Akku-<br />

<strong>Betrieb</strong>) nicht mit dem Stromnetz im Gebäude verb<strong>und</strong>en; dadurch entfällt ein weiterer möglicher<br />

Weg, auf dem ansonsten Signale bis über den Sicherungskasten oder sogar den Hausanschluß hinaus<br />

abgehört werden können [Wol98]. – Das LC-Display eines Laptops bietet hingegen nach WOLFF<br />

keinen oder keinen nennenswerten Vorteil gegenüber herkömmlichen Röhrenmonitoren, was die<br />

Abstrahlsicherheit angeht, denn es ist meist die Grafikkarte, die die stärkste Abstrahlung liefert,<br />

<strong>und</strong> nicht der Bildschirm.<br />

Ein tragbarer Computer bietet als Zertifizierungsrechner noch einen weiteren Vorteil: Er ermöglicht<br />

es, Zertifizierungen vor Ort vorzunehmen, beispielsweise an anderen UNI-Standorten, von denen<br />

aus das UNI-Rechenzentrum nur schwer zu erreichen ist, oder direkt im Anschluß an Vorträge oder<br />

Informationsveranstaltungen über Verschlüsselung bzw. digitale Signaturen.<br />

4.5 Low-Level CA<br />

Die Low-Level UNI-CA nutzt die Freiheiten der <strong>DFN</strong>-Low-Level-Policy <strong>und</strong> legt deren niedrige<br />

Sicherheitsanforderungen zu ihren Gunsten aus. Sie dient dazu, die UNI-CA <strong>und</strong> ihre Service-<br />

Angebote öffentlichkeitswirksam präsentieren zu können, Interesse bei potentiellen Nutzern zu


4.6. Medium-Level CA 41<br />

wecken <strong>und</strong> die Zugangshürden für sie so niedrig wie möglich zu halten, indem die Low-Level<br />

UNI-CA quasi „zu den Nutzern kommt“. Die Low-Level-Zertifizierung kann dank des mobilen<br />

Zertifizierungsrechners auch außerhalb des Rechenzentrums durchgeführt werden, beispielsweise<br />

im Rahmen von Schulungen oder Kursen in anderen <strong>Teil</strong>en der Universität oder im Rahmen von<br />

Festivitäten (Sommerfest o.ä.).<br />

Die Low-Level-CA verwahrt den geheimen Signierschlüssel auf der Low-Level-CA-Festplatte des<br />

Zertifizierungsrechners, ihre Zertifizierungen darf von einem CA-Mitarbeiter alleine vorgenommen<br />

werden (kein Vier-Augen-Prinzip). Die Low-Level-CA darf, wenn dies gewünscht wird, auch<br />

Schlüsselpaare für die Nutzer erzeugen, damit Interessenten, die noch nicht über ein Schlüsselpaar<br />

verfügen, es sich vor Ort bei der CA erzeugen <strong>und</strong> gleich zertifizieren lassen können.<br />

Zertifiziert werden kann jeder, der bei entsprechenden Gelegenheiten (s.o.) bei der Low-Level CA<br />

vorstellig wird. Das Low-Level-Zertifikat ist also nicht an den Studenten- oder Mitarbeiter-Status<br />

an der UNI geb<strong>und</strong>en. (In den Situationen oder Umgebungen, in denen die Low-Level-CA arbeiten<br />

soll, wäre eine solche Überprüfung kaum sinnvoll möglich bzw. würde UNI-externe Interessenten<br />

abschrecken, statt sie für das Thema zu gewinnen.)<br />

Vor der Low-Level-Zertifizierung findet lediglich eine Identitätsprüfung anhand eines Personaldokumentes<br />

statt; bei der Low-Level-Zertifizierung ist keine weitere Prüfung der Erreichbarkeit unter<br />

<strong>einer</strong> eventuell in der Benutzerkennung vorhandenen Mailadresse vorgesehen, <strong>und</strong> es findet auch<br />

keine Prüfung statt, ob der Antragsteller auch im Besitz des Private-Keys ist, der mit dem zu zertifizierenden<br />

Public-Key korrespondiert. Diese Prüfung wäre, wenn sich die UNI-CA im Rahmen<br />

<strong>einer</strong> Veranstaltung präsentiert, wohl kaum möglich, denn wer hat schon seinen Private-Key immer<br />

bei sich <strong>und</strong> wäre dann auch noch bereit, ihn vor anderen Menschen – womöglich noch auf einem<br />

fremdem Rechner! – einzusetzen?<br />

Die hier beschriebene Low-Level UNI-CA ist also als eine „Jedermann-“ <strong>und</strong> „Schnupper-<br />

Zertifizierungsstelle“ konzipiert; sie ist sozusagen eine CA „zum Anfassen“ (oder Kennenlernen).<br />

Das mit ihrer Policy erreichte Sicherheitsniveau ist eher niedrig. Daher setzt die Low-Level<br />

CA auch keine Registrierungsstellen oder nachgeordneten CAs ein <strong>und</strong> führt auch keine Cross-<br />

Zertifizierungen mit anderen Zertifizierungsstellen durch, <strong>und</strong> ihre Zertifikate haben im Vergleich<br />

zur Medium-Level Zertifizierungsstelle eine kurze Gültigkeitsdauer. Auch ist keine Verlängerung<br />

der Low-Level-Zertifikate vorgesehen, nur die Ausstellung eines neuen Zertifikates nach erneutem<br />

persönlichem Kontakt. Dadurch soll ein Anreiz geschaffen werden, sich um die – in dieser Hinsicht<br />

vorteilhafte – Medium-Level-Zertifizierung zu bemühen.<br />

4.6 Medium-Level CA<br />

Die Sicherheitsanforderungen an den <strong>Betrieb</strong> der Medium-Level CA sind um einiges strenger als<br />

bei der Low-Level-CA, schließlich gibt auch die Medium-Level <strong>DFN</strong>-Policy höhere Anforderungen<br />

vor:<br />

Die Zertifizierung durch die Medium-Level UNI-CA richtet sich an diejenigen, die entweder von<br />

vornherein hohe Sicherheitsanforderungen haben oder die sozusagen durch die Low-Level UNI-CA<br />

„auf den Geschmack gebracht“ worden sind <strong>und</strong> nun die Medium-Level-Zertifizierung ausprobieren<br />

oder von deren Vorteilen profitieren wollen.


42 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Bei der Medium-Level CA wird der geheime Signierschlüssel verschlüsselt <strong>und</strong> Paßsatz- bzw.<br />

PIN-geschützt auf einem Wechselmedium (Diskette, ZIP-Disk, PCMCIA-Steckkarte, ggf. auch<br />

Chipkarte) gespeichert, das unter Verschluß gehalten wird, solange es nicht benutzt wird. Sowohl<br />

dieses Wechselmedium als auch die Festplatte, auf der sich die Daten <strong>und</strong> die Software für die<br />

Medium-Level-CA befinden, darf das schützende Rechenzentrum nicht verlassen; die Medium-<br />

Level-Zertifizierung findet nur dort statt. (Die Registrierung der Zertifizierungswilligen ist ggf. auch<br />

an anderen Standorten zulässig.)<br />

Der Zugriff auf den Signierschlüssel der Medium-Level-CA kann nur von zwei befugten CA-<br />

Mitarbeitern zusammen erfolgen, so daß hier also das Vier-Augen-Prinzip durchgesetzt wird, um<br />

Fehlern oder Betrug durch „Insider“ vorzubeugen.<br />

Das Schlüsselpaar für eine Medium-Level-Zertifizierung muß vom Schlüsselinhaber erzeugt worden<br />

sein; die Medium-Level CA generiert keine Nutzerschlüssel.<br />

Für eine Medium-Level-Zertifizierung müssen die folgenden Bedingungen erfüllt sein:<br />

Der Zertifizierungswillige ist bei einem persönlichen Kontakt mit den CA-Mitarbeitern unter<br />

Vorlage eines gültigen amtlichen Personaldokumentes identifiziert worden<br />

der Betreffende ist Angehöriger (Student/Mitarbeiter) oder Projektpartner der UNI <strong>und</strong> kann<br />

dies durch geeignete Unterlagen nachweisen (z.B. Studentenausweis, Deckblatt des Gehaltsbogens,<br />

Kooperationsvertrag)<br />

die ggf. zu zertifizierende Mailadresse ist eine Mailadresse <strong>einer</strong> Einrichtung der UNI oder<br />

eines ihrer Projektpartner<br />

der Betreffende konnte von der UNI-CA unter dieser Mailadresse erreicht werden<br />

der Zertifizierungswillige hat gegenüber der UNI-CA nachgewiesen, daß er im Besitz des<br />

Private-Key ist, der zu dem zu zertifizierenden Public-Key gehört (sog. proof of possession,<br />

PoP – das kann z.B. dadurch geschehen, daß der Betreffende eine challenge genannte Zufallszahl<br />

mit dem geheimen Schlüssel signiert <strong>und</strong> das Ergebnis an die UNI-CA übermittelt,<br />

die dann unter Verwendung des Public-Keys prüft, ob die Signatur wirklich mit dem korrespondierenden<br />

geheimen Schlüssel geleistet wurde)<br />

Die Zertifikate der Medium-Level-CA haben eine längere Gültigkeitsdauer als die der Low-Level-<br />

CA (nahe an der Obergrenze, die die <strong>DFN</strong>-Policy noch zuläßt). Eine Re-Zertifizierung kann auf<br />

eine entsprechende digitale signierte Nachricht hin erfolgen (u.U. mit erneutem Nachweis, daß der<br />

Schlüsselinhaber weiterhin im Besitz des passenden Private-Keys ist).<br />

Die Medium-Level UNI-CA darf, wenn sie es für angebracht hält, Registrierungsstellen (RAs)<br />

einrichten <strong>und</strong> bei Bedarf auch nachgeordnete CAs aus anderen Einrichtungen der UNI zertifizieren.<br />

Es ist allerdings maximal eine CA-Ebene unterhalb der UNI-CA zulässig; die Sub-CAs<br />

dürfen also ihrerseits keine ihnen nachgeordneten CAs betreiben oder zertifizieren (wohl aber eigene<br />

Registrierungsstellen, falls der Bedarf dafür vorhanden ist). Darüber hinaus darf die Medium-<br />

Level- CA Cross-Zertifizierungen mit anderen Zertifizierungsstellen inner- <strong>und</strong> außerhalb der <strong>DFN</strong>-<br />

Zertifizierungshierachie eingehen, wenn ihre Verantwortlichen dies für sinnvoll <strong>und</strong> vorteilhaft halten.


4.7. Sicherheitsbedrohungen für die CA <strong>und</strong> Gegenmaßnahmen 43<br />

4.7 Sicherheitsbedrohungen für die CA <strong>und</strong> Gegenmaßnahmen<br />

The obvious mathematical breakthrough<br />

to break modern encryption<br />

would be development of an easy way<br />

to factor large prime[!] numbers.<br />

— BILL GATES, The Road Ahead [Gat95, S. 265]<br />

Diese „Bedrohung“ für Public-Key-Kryptographie, die BILL GATES in seinem Buch formuliert,<br />

ist eine der harmlosesten für eine Zertifizierungsstelle, denn ihr Eintrittsrisiko ist gleich null. (Es<br />

wird niemals gelingen, Primzahlen zu faktorisieren.) Die wohl eigentlich gemeinte Gefahr, daß<br />

große Nicht-Primzahlen effizient faktorisiert werden könnten, ist hingegen eine reale Bedrohung,<br />

die allerdings nicht nur Zertifizierungsstellen beträfe, wenn sie Wirklichkeit würde, sondern die<br />

dann ganze Klassen von Public-Key-Algorithmen unbrauchbar machen würde.<br />

Insofern gelten für eine Zertifizierungsstelle auch alle anderen Bedrohungen, denen die jeweils verwendeten<br />

Public-Key-Verfahren allgemein ausgesetzt sind. 2 Sollten sich hier Angriffsmöglichkeiten<br />

ergeben, so wäre zwar auch die UNI-CA als Anwenderin der betroffenen Verfahren gefährdet, es<br />

gäbe aber für den betreffenden Angreifer wesentlich lohnendere Ziele.<br />

Neben den kryptographischen Schwachstellen oder Angriffsmöglichkeiten bietet eine Zertifizierungsstelle<br />

einem Angreifer aber auch andere Ansatzpunkte für sein Vorgehen. Er muß beispielsweise<br />

nicht den geheimen Schlüssel auf kryptographischem Wege „brechen“, sondern er kann auch<br />

versuchen, sich Schwachstellen in den Arbeitsabläufen oder der Zugangskontrolle in der Zertifizierungsstelle<br />

zunutze zu machen.<br />

Eine Zertifizierungsstelle ist spezifischen Bedrohungen ausgesetzt [ISO96]:<br />

unauthorized disclosure of the key<br />

corruption/unauthorized modification/deletion of the key [...]<br />

unauthorized revocation of the key<br />

delay in executing key management functions [...]<br />

Die schwerwiegendste Bedrohung für eine Zertifizierungsstelle ist mit Sicherheit das Bekanntwerden<br />

oder der Mißbrauch ihres geheimen Zertifizierungsschlüssels, denn der CA droht dabei ein<br />

enormer Vertrauensverlust in den Augen aller derjenigen, die sie bislang für zuverlässig <strong>und</strong> glaubwürdig<br />

gehalten haben. Dies gilt es daher durch technische <strong>und</strong> sonstige Vorkehrungen zu verhindern.<br />

Der Private Key der UNI-CA ist, um ein Bekanntwerden zu verhindern <strong>und</strong> um die Anforderungen<br />

der <strong>DFN</strong>-Zertifizierungsrichtlinien zu erfüllen, auf einem separaten Speichermedium aufzubewahren,<br />

wenn er nicht gerade benutzt wird. Das Speichermedium könnte in diesem Fall eine Diskette<br />

oder eine CD-ROM sein, die wie der Rechner selber bei Nichtgebrauch in einem Schutzschrank unter<br />

Verschluß gehalten wird. Der Schlüssel muß auf diesem Speichermedium durch eine PIN oder<br />

2 Beispiele für konkrete Angriffsmöglichkeiten speziell auf PGP nennt [inf96].


44 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

ein nicht-triviales Paßwort geschützt vorliegen. So ist sichergestellt, daß selbst der Zugriff auf diesen<br />

Schlüsseldatenträger einem Angreifer noch nicht den geheimen Schlüssel preisgibt. Durch diese<br />

Verschlüsselung würde es einem Angreifer auch erheblich erschwert, den CA-Schlüssel unbemerkt<br />

durch einen anderen Schlüssel s<strong>einer</strong> Wahl zu ersetzen.<br />

„Insgesamt muß festgestellt werden, daß das Sicherheitsbewußtsein generell schlecht ausge-<br />

prägt ist. Dies ist <strong>einer</strong> der wichtigsten Punkte, die im Rahmen <strong>einer</strong> Sicherheits-Policy ange-<br />

gangen werden muß, umso mehr als die Mitarbeiter mit ihrem Wissen nicht nur die wichtig-<br />

ste Ressource <strong>einer</strong> Unternehmung sondern auch das größte Bedrohungspotential darstellen.“<br />

(HANNES LÖHR, , in <strong>einer</strong> E-Mail an Ingmar Camphausen)<br />

Um einen Insider-Mißbrauch, beispielsweise durch einen der CA-Administratoren, zu erschweren,<br />

wären zusätzliche Schutzvorkehrungen möglich. Sie würden aber die Zertifizierungsarbeit um einiges<br />

umständlicher machen, wären jedoch bei <strong>einer</strong> CA mit mittlerem oder hohem Sicherheitsniveau<br />

durchaus angemessen oder sogar unumgänglich.<br />

Diese Vorkehrungen können z.B. darin bestehen, daß es einem einzelnen Mitarbeiter unmöglich<br />

gemacht wird, alleine sicherheitsrelevante Aktionen, beispielsweise mit dem geheimen Zertifizierungsschlüssel,<br />

auszuführen. Bei der UNI-CA ließe sich dies für die Medium-Level CA mit einfachen<br />

Mitteln erreichen, indem bei der Schlüsselerzeugung <strong>und</strong> initialen Festlegung der Passphrase,<br />

also des verlängerten Paßwortes, unter dem der geheime CA-Signierschlüssel verschlüsselt wird,<br />

zwei Personen jeweils einen <strong>Teil</strong> dieser Passphrase festlegen, ohne daß der jeweils andere diesen<br />

<strong>Teil</strong> erfährt. So ließe sich ein Vier-Augen-Prinzip für den Zugriff auf den geheimen Schlüssel erzwingen.<br />

(Diese einfache Umsetzung ist nur wirkungsvoll, wenn nicht <strong>einer</strong> der beiden Beteiligten<br />

dem anderen sein Paßwort verrät; sollte dies geschehen, hätte zumindest <strong>einer</strong> der Beteiligten alleine<br />

– unauthorisiert – Zugriff auf den Private-Key.)<br />

Weitere Angriffe, die auf Angriffsmöglichkeiten im ganzen System <strong>einer</strong> Public-Key-Infrastruktur<br />

abzielen <strong>und</strong> eine CA nicht physikalisch, wohl aber logisch attackieren, schildert ZIESCHANG in<br />

[Zie97].<br />

Eine umfassende Risiko-Analyse nebst Ableitung entsprechender Gegenmaßnahmen, wie sie an<br />

dieser Stelle eigentlich durchgeführt werden sollte, würde den Rahmen dieses Handbuchs sprengen,<br />

aus diesem Gr<strong>und</strong> kann hier nur eine erste grobe Einschätzung vorgenommen werden.<br />

Nach den Kriterien des BSI IT-Gr<strong>und</strong>schutzhandbuches [BSI98] erscheint eine Einstufung der UNI-<br />

CA in den mittleren Schutzbedarf angemessen, da die darin genannten Orientierungskriterien für<br />

den Schutzbedarf „hoch“<br />

Verstöße gegen Vorschriften <strong>und</strong> Gesetze mit erheblichen Konsequenzen<br />

Vertragsverletzungen mit hohen Konventionalstrafen<br />

Möglicher Mißbrauch personenbezogener Daten hat erhebliche Auswirkungen auf die gesellschaftliche<br />

Stellung oder die wirtschaftlichen Verhältnisse des Betroffenen<br />

Eine Beeinträchtigung der körperlichen Unversehrtheit kann nicht absolut ausgeschlossen<br />

werden


4.7. Sicherheitsbedrohungen für die CA <strong>und</strong> Gegenmaßnahmen 45<br />

Ein IT-Systemausfall ist nur bis zu einem Tag tolerabel<br />

als nicht zutreffend eingeschätzt werden. „Niedrig“ dürfte der Schutzbedarf <strong>einer</strong> Zertifizierungsstelle<br />

auf der anderen Seite auch nicht sein.<br />

Bei maximal mittlerem Schutzbedarf liefert das GSHB mit seinem Baustein-Konzept eine Vorgehensweise,<br />

bei deren Umsetzung eine ausreichende Gr<strong>und</strong>sicherung der einbezogenen Systeme erzielt<br />

wird. Dazu sollten die GSHB-Bausteine<br />

Organisation<br />

Personal<br />

Notfall-Vorsorgekonzept<br />

Datensicherungskonzept<br />

Gebäude<br />

Büroraum<br />

Datenträgerarchiv<br />

Schutzschränke<br />

Unix-System<br />

Tragbarer PC<br />

E-Mail<br />

genutzt werden.<br />

Ein wichtiger Punkt muß in diesem Zusammenhang hervorgehoben werden: Die getroffene grobe<br />

Einstufung kann nur den späteren <strong>Betrieb</strong>szustand in der Form abbilden, in der er in dem hier vorliegenden<br />

Konzept antizipiert wurde. Wenn sich nach der Inbetriebnahme die Nutzung oder die Bedeutung<br />

der Zertifizierungsstelle erheblich verändert, muß die Schutzbedarfsermittlung regelmäßig<br />

anhand der dann vorliegenden konkreten Nutzungssituation <strong>und</strong> der dann geltenden Rahmenbedingungen<br />

überprüft <strong>und</strong> gegebenenfalls korrigiert oder präzisiert werden. Unter Umständen ergeben<br />

sich daraus später auch höhere Anforderungen an das Schutz- <strong>und</strong> Sicherheitsniveau, beispielsweise<br />

dann, wenn größere finanzielle Werte von der ordnungsgemäßen Arbeit der Zertifizierungsstelle<br />

abhängen oder wenn sich die gesetzlichen Rahmenbedingungen für ihre Zertifizierungstätigkeit gegenüber<br />

der jetzigen Situation erheblich verändern. Ein weiterer Anlaß, das Sicherheitskonzept <strong>und</strong><br />

den Schutzbedarf <strong>einer</strong> erneuten Prüfung zu unterziehen, können sicherheitsrelevante Vorfälle sein,<br />

da sie möglicherweise Schwachstellen im existierenden Konzept offenbaren.


46 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

4.8 Die Zertifizierungsrichtlinien<br />

Wie in Kapitel 3 beschrieben, gibt es mit PGP <strong>und</strong> X.509 zwei verschiedene etablierte Standards<br />

für das Format von Public-Key-Zertifikaten. Beide haben ihren jeweiligen Anwendungsbereich, in<br />

dem sie jeweils dominieren – PGP bei E-Mail-Kommunikation, X.509 bei anderen Anwendungen<br />

wie z.B. der gesicherten Nutzung des World Wide Web.<br />

Bei der Festlegung von Zertifizierungsrichtlinien steht man nun vor der Frage, ob diese beiden unterschiedlichen<br />

Formate, die jeweils einige Besonderheiten nach sich ziehen, in <strong>einer</strong> allgemein geltenden<br />

Policy für die betreffende Zertifizierungsstelle zusammen abgehandelt werden sollten oder ob<br />

nicht getrennte Policies für jedes der beiden Formate (oder sogar für jede spezifische Anwendung)<br />

die bessere Lösung sind.<br />

Eingedenk der Tatsache, daß die Policy zu allererst dazu dienen soll, denjenigen eine Einschätzung<br />

der Arbeit der betreffenden Zertifizierungsstelle zu ermöglichen, die sich auf ein von ihr ausgestelltes<br />

Zertifikat stützen wollen (vgl. Abschnitt 2.6.1), dürfte es sinnvoll sein, durch eine klare Trennung<br />

für mehr Übersichtlichkeit zu sorgen. Dies gilt umso mehr, als es in Zukunft eher mehr als weniger<br />

Anwendungen für Public-Key-Verfahren geben wird <strong>und</strong> insofern eine einzige, umfassende Policy<br />

immer umfangreicher <strong>und</strong> komplexer werden müßte. Außerdem braucht auf diese Weise der Zertifikatnutzer<br />

nur den Text zu lesen, der für ihn bzw. das vorliegende Zertifikatformat oder die jeweilige<br />

Anwendung relevant ist. Die jeweilige Policy kann so knapper <strong>und</strong> klarer formuliert werden, <strong>und</strong> es<br />

sind keine bedingten <strong>Teil</strong>e oder Fallunterscheidungen in ihr erforderlich, die sie schwerer verständlich<br />

<strong>und</strong> unübersichtlich machen würden.<br />

Gr<strong>und</strong>lagen, auf denen alle Policies <strong>einer</strong> CA aufbauen – gewisse Procederes, Minimalanforderungen<br />

usw. – dürften für diejenigen, die das interessiert, auch beim Lesen <strong>und</strong> Vergleichen der<br />

spezifischen Policies deutlich werden. Eine Voraussetzung dafür ist natürlich, daß eine gewisse<br />

Einheitlichkeit sowohl in der Struktur der Dokumente (soweit möglich) als auch in den Sicherheitsanforderungen<br />

gewahrt bleibt. Das erleichtert es einem Zertifikatnutzer auch, sich in <strong>einer</strong> der<br />

anderen anwendungsspezifischen Policies <strong>einer</strong> Zertifizierungsstelle zurechtzufinden, wenn er eine<br />

oder mehrere andere davon bereits kennt.<br />

Wichtig für die Glaubwürdigkeit der Zertifizierungsstelle ist dabei, daß die Policies zusammengenommen<br />

nicht widersprüchlich sind <strong>und</strong> daß, wenn Punkte auftreten, die widersprüchlich sind,<br />

verständlich erklärt wird, warum eine bestimmte Regelung in diesem Zusammenhang so <strong>und</strong> in<br />

einem anderen so getroffen wurde. Ungünstig wäre es, wenn beispielsweise in <strong>einer</strong> PGP-Policy<br />

für RSA-Schlüssel eine Mindestlänge von 1024 bit gefordert <strong>und</strong> mit der kryptographischen Unsicherheit<br />

von Schlüsseln, die wesentlich kürzer sind, begründet wird, dann aber in <strong>einer</strong> Policy<br />

derselben CA, die ein vergleichbares Sicherheitsniveau bei <strong>einer</strong> anderen Anwendung garantieren<br />

soll, plötzlich 512 bit RSA-Schlüssellänge als völlig ausreichend dargestellt werden.<br />

Ein höheres Sicherheitsniveau beispielsweise <strong>einer</strong> Hochsicherheits-Policy gegenüber <strong>einer</strong> als weniger<br />

streng bezeichneten Policy für die gleichen Schlüssel- bzw. Zertifikatformate sollte sich im<br />

Sinne der Nachvollziehbarkeit <strong>und</strong> Glaubwürdigkeit auch in entsprechenden höheren Anforderungen<br />

<strong>und</strong> schärferen Bestimmungen in dieser Hochsicherheits-Policy widerspiegeln. Es wäre wenig<br />

überzeugend <strong>und</strong> Anlaß zu Mißtrauen, wenn beide Policies identische Anforderungen formulieren<br />

würden <strong>und</strong> dennoch die eine als „Hochsicherheits-Policy“ deklariert würde.


4.8. Die Zertifizierungsrichtlinien 47<br />

Im Anhang K dieses Handbuches ist ein Vorschlag für eine Low-Level UNI-CA-Policy wiedergegeben,<br />

die die in diesem Konzept beschriebenen Anforderungen in entsprechende Regeln umsetzt.<br />

Eine entsprechende Medium-Level Policy könnte darauf aufbauen; in 4.8.16 werden die Punkte<br />

benannt, in denen sie gegenüber dem Low-Level-Policy-Entwurf geändert oder erweitert werden<br />

müßte.<br />

4.8.1 Welche Algorithmen sollen unterstützt werden?<br />

Bei der PGP-Zertifizierung sollten nur RSA-Schlüssel im PGP 2.6-Format unterstützt werden, <strong>und</strong><br />

zwar aus folgenden Gründen:<br />

Kompatibilitätsgründe: Mit der Einführung neuer PGP-Versionen können nicht mehr alle<br />

PGP-Anwender gesichert miteinander kommunizieren – zumindest dann nicht, wenn<br />

sie unterschiedliche Verfahren benutzen. Die PGP-Versionen bis PGP 2.6 benutzen RSA-<br />

Verschlüsselung <strong>und</strong> -Signaturen <strong>und</strong> MD5 als Hash-Algorithmus. PGP 5 <strong>und</strong> 6 verwenden<br />

hingegen den Digital Signature Standard (DSS) als Signatur- <strong>und</strong> Diffie-Hellman/ElGamal<br />

als Verschlüsselungsverfahren.<br />

Im DSS ist – ohne zwingenden Gr<strong>und</strong> – eine maximale Schlüssellänge von 1024 bit festgelegt<br />

worden. Damit kann, wer standardkonform bleiben will, nicht mehr auf längere DSS-<br />

Schlüssel ausweichen, falls Fortschritte in der Rechnerleistung <strong>und</strong>/oder der Kryptanalyse<br />

1024 bit-DSS-Schlüssel als unsicher erscheinen lassen.<br />

Es steht bislang keine stabile PGP-Version für Unix-<strong>Betrieb</strong>ssysteme zur Verfügung, die die<br />

neuen Schlüsselformate unterstützt. Die PGP-Versionen, die dies tun, sind bislang nur für die<br />

„Wintel-“ <strong>und</strong> die MacOS-Plattformen erhältlich. (Ob die neue Version 6.5.1i die erforderliche<br />

Stabilität aufweist, muß sich im Test <strong>und</strong> im <strong>Betrieb</strong> erst noch erweisen.)<br />

Unter http://www.shub-internet.org/why_not_pgp_5.html finden sich weitere<br />

Gründe, die gegen das neue Schlüsselformat bzw. die neuen PGP-Versionen sprechen; eine neutrale<br />

Gegenüberstellung der Pro- <strong>und</strong> Contra-Argumente bietet [Sim99].<br />

RSA-Signaturen haben gegenüber DSS-Signaturen noch den Vorzug, daß sie sich schneller verifizieren<br />

lassen als beispielsweise DSA-1024 bit-Signaturen. Da eine Signatur nur einmal erzeugt,<br />

aber gerade in Umgebungen mit Zertifizierungsstellen mehrfach verifiziert wird, ist in solchen Umgebungen<br />

RSA vorteilhaft [Wie98].<br />

Ein Risiko bei dieser Entscheidung soll nicht verschwiegen werden: Auf die Message-Digest-<br />

Funktion, die bei den PGP-RSA-Keys verwendet wird (Ronald Rivests MD5 Algorithmus), ist inzwischen<br />

ein leichter kryptanalytischer Schatten gefallen. HANS DOBBERTIN hat gezeigt [Dob96],<br />

daß eines der Design-Ziele, die beim Entwurf von MD5 zugr<strong>und</strong>e gelegt wurden, verfehlt wurde.<br />

Damit ist das Verfahren noch nicht gebrochen worden, aber sein Ruf ist unter Kryptographen nicht<br />

mehr der Beste.<br />

Ungeachtet dieses einen Nachteils sollte im Interesse der Gewährleistung <strong>einer</strong> Interoperabilität<br />

auch mit den Anwendern, die mit PGP 2.6 arbeiten, <strong>und</strong> angesichts der Vorzüge, die das RSA-<br />

Verfahren bietet, bis auf weiteres nur die Zertifizierung von RSA-Schlüsseln angeboten werden.


48 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Die <strong>DFN</strong>-PCA unterstützt bislang ebenfalls ausschließlich RSA-Schlüssel, insofern gibt es, zumindest<br />

hinsichtlich der CA-Schlüssel, keine große Wahlmöglichkeit, sofern eine <strong>DFN</strong>-Zertifizierung<br />

angestrebt wird. (Allerdings könnte eine nachgeordnete CA sich einen RSA-Schlüssel <strong>DFN</strong>zertifizieren<br />

lassen, mit diesem dann aber auch DSS/DH-Keys zertifizieren, indem sie eine der<br />

neueren PGP-Versionen einsetzt.)<br />

4.8.2 Separate Signier- <strong>und</strong> Entschlüsselungsschlüssel<br />

Die Medium-Level <strong>DFN</strong>-Policy schreibt für Zertifizierungsstellen eine Funktionstrennung bei ihren<br />

Schlüsseln vor: Für Zertifizierungsaufgaben <strong>und</strong> für die vertrauliche Kommunikation mit der<br />

jeweiligen Stelle müssen unterschiedliche Schlüssel verwendet werden.<br />

Durch diese Trennung wird zum einen das kryptographische Material verringert, das einem Angreifer<br />

für die Kryptanalyse zur Verfügung steht (jeder der beiden Schlüssel wird weniger oft benutzt,<br />

als wenn nur ein Schlüssel für alle Anwendungszwecke verwendet würde), zum anderen werden die<br />

Folgen <strong>einer</strong> Schlüssel-Kompromittierung begrenzt – es kann dann im Falle eines Falles eben nur<br />

entweder die verschlüsselte Kommunikation vom Angreifer gelesen, oder Unterschriften der CA<br />

gefälscht werden, aber nicht beides, wenn nur ein Schlüssel kompromittiert wurde [For94].<br />

Eine weitere vorbeugende Schadensbegrenzung ist möglich, indem die Schlüssel regelmäßig gewechselt<br />

werden <strong>und</strong> nur eine begrenzte Lebens- <strong>und</strong> Benutzungsdauer haben (siehe Abschnitt<br />

4.8.7.2).<br />

Ein weiterer Vorteil ergibt sich für die UNI-CA, wenn auch die Low-Level CA mit getrennten<br />

Schlüsseln arbeitet (obwohl sie dazu nach der entsprechenden <strong>DFN</strong>-Policy nicht verpflichtet wäre):<br />

Beide CAs können einen gemeinsamen Schlüssel als Kommunikationsschlüssel verwenden, so<br />

daß es für Kommunikationspartner der UNI-CA einfacher wird, verschlüsselt an sie zu mailen, weil<br />

dabei nicht noch einmal zwischen Low-Level- <strong>und</strong> Medium-Level-Verschlüsselungsschlüssel unterschieden<br />

werden muß.<br />

Da bei PGP-RSA-Schlüsseln die PGP-Versionen mit Ausnahme von PGP2.6.3in keine Software-<br />

Unterstützung für eine automatische Berücksichtigung <strong>einer</strong> solchen Funktionstrennung bieten,<br />

sollte diese (auch) durch entsprechende Klartext-Angaben in der Benutzerkennung wie etwa Zertifizierungsschlüssel<br />

oder SIGN ONLY key signalisiert werden, so daß alle PGP-Anwender unabhängig<br />

von der verwendeten Software-Version erkennen können, für welchen Zweck ein bestimmter CA-<br />

Schlüssel vorgesehen ist.<br />

4.8.3 Schlüssellängen<br />

Bereits 1994 wurde ein 426-Bit-RSA-Key gebrochen – zwar dauerte dies damals acht Monate, aber<br />

dafür wurde auch nicht der effizienteste bekannte Algorithmus für diesen Angriff verwendet. 1977<br />

hatte der Auslober dieser Aufgabe, RSA-Miterfinder RON RIVEST, noch prognostiziert, er würde<br />

deren Brechen nicht mehr miterleben [Fox95]. Anfang 1999 wurde bereits ein 465-Bit-RSA-Key<br />

(die “RSA-140-Challenge”) geknackt [Con99], <strong>und</strong> inzwischen sind sogar 512-Bit-RSA-Schlüssel<br />

gebrochen worden 3 .<br />

3 http://www.rsasecurity.com/rsalabs/challenges/factoring/rsa155.html


4.8. Die Zertifizierungsrichtlinien 49<br />

Die Faktorisierung von RSA-140 hat nach konservativer Schätzung [Con99] r<strong>und</strong> 2000 MIPS-Jahre<br />

Rechenzeit beansprucht. 4 Es waren also r<strong>und</strong> ¢¡£¡£¡¥¤£¦§¡©¨�¤��£�£��¤� ���¤��£�¢¡£¡�����¤�¦§¡���¨ Rechenschritte<br />

zum Brechen von RSA-140 erforderlich. Bei RSA-155, dem geknackten 512-bit-RSA-Schlüssel,<br />

betrug der Rechenaufwand ca. 8000 MIPS-Jahre. 5<br />

Ein Linux-Cluster von Alpha-Rechnern mit <strong>einer</strong> Rechenleistung von etwa 20 GFLOPS kostet heute<br />

nur noch ca. 150 000 Dollar; man landet damit in den „Top 500“ der Superrechner auf Platz 315<br />

[Die98]. Nimmt man nun einmal sehr vorsichtig an, daß eine Fließkomma-Operation pro Sek<strong>und</strong>e<br />

<strong>einer</strong> Mikroprozessor-Instruktion entspricht (was so nicht der Fall ist – es ist, wie gesagt, eine sehr<br />

zurückhaltende Abschätzung), dann könnte ein solcher Cluster mit seinen 20 GFLOPS �<br />

¥¤�¦§¡����<br />

Operationen pro Sek<strong>und</strong>e RSA-140 in weniger als ��¤�¦§¡�¨ Sek<strong>und</strong>en = 876 St<strong>und</strong>en oder einem<br />

guten Monat brechen. Die Faktorisierung eines 512-bit-RSA-Keys ist nach [Con99] r<strong>und</strong> sieben<br />

Mal aufwendiger als die von RSA-140. Bei entsprechend höherem Kapitaleinsatz ließe sich mit<br />

mehreren derartigen Clustern <strong>und</strong> einem Aufwand von vielleicht <strong>einer</strong> Million Dollar ein 512-bit-<br />

Schlüssel ebenfalls in etwa 30 Tagen, bei einem Etat von zehn Millionen Dollar also in weniger als<br />

drei Tagen brechen.<br />

Mittlerweile plant das US-Energieministerium für die ersten Jahre des neuen Jahrtausends Rechner<br />

mit <strong>einer</strong> Leistung von bis zu 100 Tera-FLOPS, also mehr als 100 Billionen Fließkommaberechnungen<br />

pro Sek<strong>und</strong>e.<br />

In Zukunft werden vielleicht DNA-Computing [Adl98] oder Quanten-Computing [Sho97, Rin97,<br />

Lom98] weitere, signifikante Steigerungen der Rechengeschwindigkeit ermöglichen. Da man außerdem<br />

nicht ausschließen kann, daß die kryptanalytischen Attacken weiter verbessert werden –<br />

das eingangs erwähnte Beispiel mit RON RIVEST belegt, wie schwierig es selbst für Fachleute auf<br />

diesem Gebiet ist, eine zutreffende längerfristige Prognose zu geben –, erscheint es umso angemessener,<br />

wenn die Medium-Level <strong>DFN</strong>-Policy mindestens 1024-Bit-Signierschlüssel verlangt, aber<br />

ausdrücklich sagt „oder nach Möglichkeit länger“.<br />

Die Regulierungsbehörde für Telekommunikation <strong>und</strong> Post (RegTP) als „zuständige Behörde“ gemäß<br />

SigG schreibt folgende Schlüssellängen für RSA-Schlüssel vor 6 : 768 bit oder länger, wenn bis<br />

Ende des Jahres 2000, <strong>und</strong> 1024 bit oder länger, wenn bis Ende 2003 die Sicherheit des Verfahrens<br />

gewährleistet sein soll. Sie selber verwendete zunächst RSA-Schlüssel mit <strong>einer</strong> Länge von 1024<br />

bit [BAz98], inzwischen solche mit 2048 bit 7 .<br />

SCHNEIER ist in [Sch96, S. 162] sogar noch vorsichtiger – oder unbefangener als eine staatliche<br />

Behörde? Er empfahl bereits 1995 die in der nachstehenden Tabelle genannten Schlüssellängen,<br />

wenn man auch in dem jeweiligen Jahr noch vor Angriffen eines einzelnen Unternehmens sicher<br />

sein will.<br />

4<br />

Ein MIPS-Jahr ist die Zahl der Rechenoperationen, die ein Computer innerhalb eines Jahres ausführen kann, wenn<br />

er eine Million Anweisungen pro Sek<strong>und</strong>en (million instructions per second, MIPS) ausführen kann.<br />

5<br />

http://www.rsasecurity.com/news/pr/990826-2.html<br />

6<br />

Bekanntmachung im B<strong>und</strong>esanzeiger Nr. 31 vom 14. Februar 1998 bzw. online unter<br />

http://www.regtp.de/imperia/md/content/tech_reg_t/digisign/8.pdf<br />

7<br />

http://www.regtp.de/tech_reg_tele/in_06-02-02-00-00_m/01/index.html


50 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Jahr empfohlene Schlüssellänge<br />

1995 1280 bit<br />

2000 1280 bit<br />

2005 1536 bit<br />

2010 1536 bit<br />

2015 2048 bit<br />

Wenn man sich auch vor Geheimdiensten schützen will, sollten die Schlüssellängen nach SCHNEIER<br />

noch einmal um einiges größer (“substantially bigger”) gewählt werden.<br />

Angesichts dieser Angaben sollte die UNI-CA selber RSA-Schlüssel mit mindestens 1536 bit Länge<br />

verwenden <strong>und</strong> die Schlüssellänge gegebenenfalls in den nächsten Jahren beim Schlüsselwechsel<br />

erhöhen.<br />

Hier muß die weitere Entwicklung besonders aufmerksam verfolgt werden, um gegebenenfalls<br />

rechtzeitig die Policies <strong>und</strong> die Länge der eigenen Schlüssel an sich ändernde Anforderungen oder<br />

bei Bekanntwerden neuer Angriffsmöglichkeiten anpassen zu können. Es empfiehlt sich, z.B. die<br />

diesbezüglichen Vorgaben der RegTP bzw. des BSI für SigG-CAs zu beachten. LENSTRA <strong>und</strong><br />

VERHEULs Papier “Selecting Cryptographic Key Sizes” 8 kann dabei als Entscheidungshilfe mit<br />

einbezogen werden.<br />

Im Sinne der Interoperabilität verschiedener PGP-Versionen bzw. -Schlüssel kann es sinnvoll<br />

sein, auch eine Obergrenze für die Schlüssellänge vorzugeben. Es sind Probleme einzelner PGP-<br />

Implementierungen bzw. auf einzelnen <strong>Betrieb</strong>ssystem-Plattformen mit Schlüsseln größer als 2048<br />

bit bekannt. Daher wird für die UNI-CA-Policies vorgeschlagen, im Interesse der Interoperabilität<br />

bis auf weiteres neben der Mindest- auch eine Maximallänge für alle Schlüssel von 2048 bit<br />

vorzuschreiben.<br />

4.8.4 Zulässige Benutzerkennungen<br />

Bei der Low-Level-Zertifizierung ist eine Beschränkung der zulässigen Benutzerkennungen nicht<br />

sinnvoll möglich, da ja auch Universitätsfremde die Gelegenheit zur Zertifizierung wahrnehmen<br />

können <strong>und</strong> sollen. Deren Mailadressen ließen sich ja vom unvernetzten Zertifizierungsrechner aus<br />

gar nicht <strong>und</strong> auch sonst nicht unverzüglich prüfen – andernfalls wäre eine sofortige Zertifizierung<br />

nicht möglich (<strong>und</strong> damit die Gr<strong>und</strong>idee der Low-Level CA hinfällig). In diesem Fall kann daher<br />

bei der Benutzerkennung lediglich darauf geachtet werden, daß sie den Vornamen <strong>und</strong> Namen des<br />

Schlüsselinhabers enthält.<br />

Bei der Zertifizierung nach der Medium-Level-Policy sind die Abgabe des Antrags nebst Identitätsprüfung<br />

zeitlich von der eigentlichen Zertifizierung entkoppelt. Aufgr<strong>und</strong> der Prüfung der Mailadresse<br />

kommt es ja in jedem Fall zu <strong>einer</strong> gewissen Verzögerung. Da die Medium-Level UNI-CA<br />

nur UNI-Angehörige zertifizieren soll, ist eine Beschränkung auf solche Benutzerkennungen, die<br />

eine UNI-Mailadresse enthalten, sinnvoll <strong>und</strong> praktikabel.<br />

Abweichungen von der genauen Schreibweise von Vorname(n) <strong>und</strong> Zuname im vorgelegten Personaldokument<br />

sind nur bei Sonderzeichen (Umlauten, Accents) erlaubt; die deutschen Umlaute <strong>und</strong><br />

8 http://www.cryptosavvy.com/cryptosizes.pdf


4.8. Die Zertifizierungsrichtlinien 51<br />

das scharfe s können durch die übliche Umschreibung (‘ae’ für ‘ä’, ... ‘sz’ oder ‘ss’ für ‘ß’), andere<br />

akzentuierte Buchstaben durch den entsprechenden nicht-akzentuierten Buchstaben ersetzt werden<br />

(‘e’ statt ‘é’, ‘c’ statt ‘č’ oder ‘ç’ usw.).<br />

Gegebenenfalls ist dem Benutzer Gelegenheit zu geben, innerhalb <strong>einer</strong> von der CA festzusetzenden<br />

Frist eine Benutzerkennung für den betreffenden PGP-Schlüssel nachzureichen, die die o.g.<br />

Anforderungen erfüllt.<br />

Wenn bei nicht-lateinischen Schriften im vorgelegten Personaldokument die Schreibweise in lateinischen<br />

Buchstaben fraglich ist, sollte die Schreibung gewählt werden, die auch auf dem Studentenausweis<br />

oder dem Deckblatt des Gehaltsnachweises verwendet wird.<br />

4.8.5 Prüfung der Mailadresse<br />

Mit <strong>einer</strong> verschlüsselten Mail an den Zertifizierungswilligen kann die CA testen, ob derjenige unter<br />

<strong>einer</strong> bestimmten Mailadresse erreichbar ist. Die Test-Mail sollte eine wechselnde, nicht vorhersagbare<br />

Kennung oder Code-Nummer (challenge) enthalten, die der Empfänger an die CA zurücksenden<br />

muß. Die Mail der CA mit dieser Challenge muß verschlüsselt sein, damit nicht jemand, der<br />

zufällig oder absichtlich den Mail-Verkehr des eigentlichen Empfängers belauscht, diese Challenge<br />

mitlesen kann. Aus demselben Gr<strong>und</strong> sollte sie von dem Betreffenden auch wieder verschlüsselt an<br />

die Zertifizierungsstelle zurückgeschickt werden. Zusätzlich kann die Zertifizierungsstelle in dieser<br />

Mail auch noch ein Codewort oder eine Geheimzahl angeben, mit der der Nutzer sich gegenüber der<br />

CA als berechtigt ausweisen kann, falls er einmal eine Sperrung des Zertifikates für seinen Schlüssel<br />

veranlassen wollen sollte. (Der Vorteil, dieses Codewort in derselben Nachricht wie die Challenge<br />

zu verschicken, besteht darin, daß die CA mit der Response des Zertifizierungswilligen quasi über<br />

eine Empfangsbestätigung desjenigen auch für das Codewort verfügt.)<br />

4.8.6 Proof of Possession<br />

Um neben der Erreichbarkeit auch noch zu prüfen, ob ein Nutzer auch im Besitz des Private-Keys<br />

ist, der zu dem zu zertifizierenden Public-Key gehört, muß der Betreffende die Challenge der Zertifizierungsstelle<br />

nicht nur verschlüsselt an sie zurücksenden, sondern er muß sie zuvor bzw. zugleich<br />

auch signieren. Damit erhält die CA, sofern diese Antwort (response) sie erreicht, einen nachprüfbaren<br />

Beleg dafür, daß der Absender über den geheimen Schlüssel verfügen muß, der mit dem<br />

öffentlichen Schlüssel korrespondiert, der zertifiziert werden soll.<br />

4.8.7 Gültigkeitsdauer<br />

4.8.7.1 Gültigkeitsdauer der Policy<br />

Die Policy sollte eine Angabe enthalten, bis wann sie gilt oder, wenn ihre Gültigkeit nicht vorab<br />

zeitlich beschränkt ist, unter welchen Umständen <strong>und</strong> wann sie geändert werden kann.<br />

Auch bei <strong>einer</strong> gegebenen Gültigkeitsdauer erscheint es im Sinne größtmöglicher Klarheit für die<br />

Nutzer überlegenswert, ob nicht in jedem Fall beschrieben werden sollte, wer über eventuelle Än-


52 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

derungen oder eine Neufassung oder Verlängerung der Zertifizierungsrichtlinien der betreffenden<br />

CA zu befinden hat.<br />

4.8.7.2 Gültigkeitsdauer der Zertifikate<br />

Die Gültigkeitsdauer der Zertifikate <strong>und</strong> eine eventuelle Verlängerungsmöglichkeit sollten sich an<br />

der Handhabung der Benutzerbereiche orientieren. Für die Low-Level-Policy könnte beispielsweise<br />

eine Gültigkeitsdauer von sechs Monaten sinnvoll sein, wenn die Benutzerbereiche der Studierenden<br />

an der UNI jedes Semester verlängert werden müssen.<br />

Bei PGP-Zertifikaten kann eine Gültigkeitsdauer lediglich implizit durch die Gültigkeitsdauer des<br />

Unterschriftenschlüssels angegeben werden (vgl. [USC99]), insofern ergibt sich hier kein über das<br />

Jahr hinweg „gleitendes“ Gültigkeitsfenster, sondern es existieren Stichtage (Verfallsdatum des Signierschlüssels),<br />

an denen damit auch eine große Zahl von Zertifikate ungültig wird. 9 Bei X.509-<br />

Zertifikaten gibt es dieses Phänomen nicht, da jedes Zertifikat einen individuellen Gültigkeitsbeginn<br />

<strong>und</strong> ein individuelles Verfallsdatum aufweisen kann, das jeweils vom Zertifizierer bestimmt wird.<br />

Die <strong>DFN</strong>-Policies legen für Nutzer-Zertifikate eine maximale Gültigkeitsdauer von einem Jahr fest.<br />

(Diese Aussage wird allerdings nur für X.509-Zertifikate gemacht, da ja bei den PGP-Zertifikaten<br />

nicht direkt eine Gültigkeitsdauer angegeben werden kann.) Dieser Punkt ist sicherlich diskussionswürdig,<br />

da bei strenger Prüfung insbesondere nach den Medium-Level Richtlinien eine längere<br />

Gültigkeitsdauer vertretbar sein müßte – selbst das Signaturgesetz sieht mit maximal fünf Jahren<br />

bzw. dem Ablauf der Eignung eines kryptographischen Verfahrens eine sehr viel höhere maximale<br />

Gültigkeitsdauer vor – <strong>und</strong> bei <strong>einer</strong> größeren Zahl ausgestellter Zertifikate ansonsten auch<br />

der Arbeitsaufwand durch ständige (Re-)Zertifizierungsanträge erhebliche Ausmaße annimmt. Da<br />

für PGP-Zertifikate in der <strong>DFN</strong>-Low-Level-Policy keine maximale Gültigkeitsdauer vorgeschrieben<br />

ist, bestünde hier nach den Buchstaben der Policy die Möglichkeit, einen beliebigen Gültigkeitszeitraum<br />

zu wählen. Geht man jedoch nach dem Geist der Policy, also der Absicht, die bei<br />

ihrer Abfassung zu Gr<strong>und</strong>e lag, so muß man auch für PGP-Zertifikate dieselbe Obergrenze wie bei<br />

X.509-Zertifikaten von einem Jahr für die Gültigkeitsdauer ansetzen.<br />

Für die UNI-CA Low-Level Policy wird daher eine maximale Gültigkeitsdauer der Nutzerzertifikate<br />

von 6 Monaten vorgeschlagen, für die Medium-Level Policy eine solche von 12 Monaten.<br />

Für PGP, bei dem die Gültigkeitsdauer des Zertifizierungsschlüssels implizit über die Gültigkeitsdauer<br />

der Zertifikate mit entscheidet, wird vorgeschlagen, sich an den Anfangsterminen der Hochschulsemester<br />

zu orientieren. Da zum jeweiligen Semester- <strong>und</strong> dann auch CA-Schlüsselwechsel<br />

einige Arbeit anfällt <strong>und</strong> außerdem viele Studierende erst zum Vorlesungsbeginn wieder an ihrem<br />

Studienort sind, sollte der Gültigkeitszeitraum von altem <strong>und</strong> neuem Signierschlüssel sich leicht<br />

überlappen, damit es nicht zu Problemen an einem Übergangstag oder mit eventuell erforderlichen<br />

Nach-Zertifizierungen kommt (siehe 4.8.10). Der betreffende Schlüssel für ein neues Semester<br />

könnte dann schon einige Tage vor dessen Beginn generiert <strong>und</strong> z.B. auch schon von der <strong>DFN</strong>-PCA<br />

zertifiziert werden (der Beginn der Gültigkeitsdauer eines PGP-Keys ergibt sich implizit aus seinem<br />

Erstellungsdatum) <strong>und</strong> würde dann ab dem ersten Tag des neuen Semesters für die Zertifizierung<br />

eingesetzt.<br />

9 Eine Ausnahme stellt in dieser Hinsicht die aktuelle PGP-Version 6.5.1i dar: Sie ermöglicht es dem Nutzer erstmals<br />

(bei PGP), eine Gültigkeitsdauer für Zertifikate anzugeben.


4.8. Die Zertifizierungsrichtlinien 53<br />

Es läßt sich bei den PGP-Zertifikaten nach diesem Ansatz leider nicht vermeiden, daß der Gültigkeitszeitraum<br />

eines Zertifikates umso kürzer ist, je später im Semester es ausgestellt wurde. Dies<br />

wird sich erst ändern, wenn OpenPGP-kompatible Implementierungen zur Verfügung stehen <strong>und</strong><br />

eingesetzt werden, da damit dann auch den Signaturen <strong>und</strong> Zertifikaten eine eigene, vom Signierschlüssel<br />

unabhängige Gültigkeitsdauer zugewiesen werden kann. (PGP 6.5.1i ist die erste Version,<br />

in der dieses Feature des OpenPGP-Standards unterstützt wird.)<br />

Würde man anders vorgehen <strong>und</strong> beispielsweise das Verfallsdatum des Signierschlüssels so wählen,<br />

daß auch Zertifikate, die am Semesterende ausgestellt werden, noch ein Jahr gültig sind, bestünde<br />

das Problem, daß sich für früher im Semester erteilte Zertifikate eine Gültigkeitsdauer von mehr als<br />

einem Jahr ergäbe.<br />

„... sollte die Zertifizierungsinfrastruktur so ausgelegt sein, daß im Normalfall weder eine gülti-<br />

ge Signatur zu einem bestimmten Prüfzeitpunkt als ungültig erscheint noch umgekehrt. [...] Ei-<br />

ne Zertifizierungsstelle stellt keine rückwirkenden Zertifikate aus: Der Gültigkeitsbeginn eines<br />

angeforderten Zertifikats ist frühestens der Zeitpunkt der Zertifikatserstellung.“ [BS97, S. 335]<br />

Diese Aussage betrifft ausschließlich X.509-Zertifikate; bei PGP beginnt die Gültigkeitsdauer eines<br />

Zertifikates mit dem Zeitpunkt s<strong>einer</strong> Erstellung (<strong>und</strong> der läßt sich ohne Manipulation der Systemzeit<br />

auf dem Zertifizierungsrechner nicht verändern, sondern hat automatisch die von BAUSPIESS<br />

<strong>und</strong> SCHEERHORN geforderte Eigenschaft).<br />

„Werden Schlüssel in <strong>einer</strong> Anwendung häufig gewechselt, dann verringert dies die Wahr-<br />

scheinlichkeit <strong>einer</strong> Kompromittierung <strong>und</strong> damit auch den entstehenden Schaden. Verwendet<br />

man Schlüssel über einen langen Zeitraum, dann gibt es zu diesem Schlüssel eine große Men-<br />

ge an Klartext- <strong>und</strong> Schlüsseltextpaaren. Unter der Voraussetzung, daß man auf diese Paare<br />

zugreifen kann, können Attacken auf Kryptosysteme ... schnell zum Erfolg führen.“ [HW98,<br />

S. 161]<br />

In diesem Sinne wäre es also günstig, kürzere Wechselintervalle bzw. Gültigkeitszeiträume für die<br />

CA-Schlüssel zu verwenden, insbesondere, wenn viele Schlüssel zertifiziert werden. Da zur Zeit<br />

bei der gängigen Public-Key-Software noch kein automatischer Schlüsselwechsel unterstützt wird,<br />

sollte die Gültigkeitsdauer der CA-Schlüssel <strong>und</strong> der Zertifikate nicht zu kurz gewählt werden,<br />

damit die Nutzer nicht mit dem manuellen Key-Update <strong>und</strong> <strong>einer</strong> Vielzahl von Schlüsseln der CA<br />

überfordert werden.<br />

Der (oder die) Kommunikationsschlüssel <strong>einer</strong> CA ist bei Verwendung separater Schlüssel für Zertifizierung<br />

<strong>und</strong> vertrauliche Kommunikation unabhängig von der Gültigkeitsdauer der Zertifikate<br />

oder des Signierschlüssels. Da im Falle s<strong>einer</strong> Kompromittierung die Vertraulichkeit der gesamten<br />

damit verschlüsselten Kommunikation mit der Zertifizierungsstelle gefährdet ist, sollte, um das potentielle<br />

Ausmaß des Schadens in solch einem Falle zu begrenzen, der Kommunikationsschlüssel<br />

häufiger gewechselt werden. (Auch hier gilt wieder die vorstehend gemachte Einschränkung, daß<br />

die Nutzer nicht durch zu häufigen Schlüsselwechsel überfordert werden dürfen.) Es wird daher<br />

vorgeschlagen, für jedes Semester einen separaten Kommunikationsschlüssel zu benutzen. Dieser<br />

Gültigkeitszeitraum sollte für die Nutzer noch am einfachsten nachzuvollziehen sein. Alternativ


54 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

könnte auch ein jährlich wechselnder Kommunikationsschlüssel vorteilhaft sein, da eventuelle externe<br />

Kommunikationspartner u.U. nicht so gut mit dem Beginn bzw. Ende der einzelnen Semester<br />

vertraut sind <strong>und</strong> dann aus Unwissenheit möglicherweise häufig einen veralteten Kommunikationsschlüssel<br />

verwenden.<br />

4.8.8 Sperrung von Zertifikaten<br />

4.8.8.1 Sperrung eines PGP-Zertifikats<br />

Die Sperrmethode, ein Zertifikat auf eine „schwarze Liste“ zu setzen <strong>und</strong> es so als gesperrt oder<br />

ungültig zu kennzeichnen, läßt sich bei PGP-Zertifikaten nicht ohne weiteres umsetzen. PGP kennt<br />

kein Sperrlisten-Konzept, was dazu führt, daß alle Versuche, eine solche Lösung zu etablieren, an<br />

der fehlenden Unterstützung von Widerrufslisten durch die verfügbaren PGP-Implementierungen<br />

scheitern.<br />

Gr<strong>und</strong>sätzlich gibt es mindestens drei Möglichkeiten, wie die Sperrung eines PGP-Zertifikates<br />

durch den Zertifizierenden ausgedrückt werden kann:<br />

Sperrlisten (auch Widerrufslisten, CRLs)<br />

Zertifikat-Widerrufszertifikate (Certificate Revocations)<br />

Zertifizierung mit einem ausdrücklichen „Widerrufsschlüssel“<br />

Die letzte Variante wird ebenso wenig wie die erste von den gängigen PGP-Programmen unterstützt<br />

<strong>und</strong> ist insofern ganz auf die Aufmerksamkeit des Nutzers angewiesen; außerdem läßt sie sich leicht<br />

fälschen, da auch ein Angreifer einen PGP-Schlüssel erzeugen kann, dessen Zertifikate auf den<br />

ersten Blick genau wie die des Widerrufsschlüssels aussehen. (vgl. 4.16.5)<br />

Die Widerrufslisten erfordern ebenfalls die manuelle Intervention des Nutzers. Bei ihnen kommt<br />

erschwerend hinzu, daß nicht einmal ihr Format oder die F<strong>und</strong>stelle, an der die Sperrliste <strong>einer</strong> CA<br />

zu finden sein sollte, einheitlich gehandhabt wird geschweige denn standardisiert ist.<br />

Da PGP-„Widerrufslisten“ in den <strong>DFN</strong>-Zertifizierungsrichtlinien für PGP nicht zwingend vorgesehen<br />

sind, es dafür auch k<strong>einer</strong>lei standardisiertes Format oder eine verbreitete automatische Abfragemöglichkeit<br />

gibt, sollte auf Versuche, das CRL-Konzept von X.509 auch auf die PGP-Zertifikat-<br />

Handhabung zu übertragen, ganz verzichtet werden. Die wenigsten Anwender werden (so sie die betreffende<br />

Adresse überhaupt anhand Signatur unter einem Public-Key ermitteln können) den Weboder<br />

FTP-Server <strong>einer</strong> CA nach <strong>einer</strong> PGP-Widerrufsliste durchsuchen, diese „händisch“ herunterladen,<br />

prüfen <strong>und</strong> ggf. in ihr enthaltene Zertifikat-Rückrufe berücksichtigen.<br />

Einzig die Zertifikat-Widerrufszertifikate sind schon früh im PGP-Paketformat definiert worden<br />

[ASZ96, S. 15], PGP-Versionen bis PGP2.6.3ia werteten die entsprechende Struktur jedoch noch<br />

nicht aus. Neuere PGP-Versionen (ab PGP2.6.3in) „verstehen“ entsprechende Zertifikatwiderrufe<br />

<strong>und</strong> zeigen sie an, so daß es bei Verwendung dieser Versionen dem Unterzeichner möglich ist, eine<br />

Signatur unter einem PGP-Key nachträglich für ungültig zu erklären, also dieses PGP-„Zertifikat“<br />

zu „sperren“. Diese Sperrungen werden ansonsten wie Unterschriftenpakete unter einem PGP-<br />

Public-Key behandelt <strong>und</strong> können genau wie die Public-Keys extrahiert <strong>und</strong> verteilt werden, z.B.


4.8. Die Zertifizierungsrichtlinien 55<br />

über den PGP-Keyserver-Verb<strong>und</strong>. Dieses Konzept des Zertifikat-Widerrufs ist auch von anderer<br />

Stelle unabhängig von PGP als Alternative zur Verwendung von Sperrlisten (CRLs) aufgegriffen<br />

<strong>und</strong> verallgem<strong>einer</strong>t worden [Rue95].<br />

Eine vierte, nicht wirklich sinnvolle Variante besteht in der Möglichkeit, daß der Zertifizierer seinen<br />

Zertifizierungsschlüssel mit einem Key Revocation Certificate widerruft – dann aber sind alle jemals<br />

mit diesem Schlüssel unterschriebenen Zertifikate ungültig <strong>und</strong> nicht nur das eine, das ursprünglich<br />

gesperrt werden sollte. Diese Lösung verbietet sich daher in den meisten Fällen von selbst.<br />

4.8.8.2 Sperrung auf Veranlassung des Schlüsselinhabers<br />

Bevor die CA ein Zertifikat auf Veranlassung des Zertifikatnehmers sperrt, muß sie sich vergewissern,<br />

daß die entsprechende Aufforderung tatsächlich vom Zertifikatnehmer stammt <strong>und</strong> nicht von<br />

<strong>einer</strong> nicht-authorisierten anderen Person. Ohne Anspruch auf Vollständigkeit sind die folgenden<br />

drei Möglichkeiten gegeben, wie sich der Betreffende eindeutig identifizieren kann:<br />

durch persönliches Erscheinen bei der CA <strong>und</strong> Vorlage eines Personaldokumentes (wie bei<br />

der Beantragung des Zertifikats)<br />

durch eine signierte E-Mail an die CA mit dem Widerrufswunsch, die mit dem geheimen<br />

Schlüssel signiert ist, dessen öffentliche Komponente gesperrt werden soll<br />

durch Angabe eines geheimen Codewortes per Mail oder auch telefonisch, das vertraulich<br />

zwischen dem Schlüsselinhaber <strong>und</strong> der Zertifizierungsstelle für genau diesen Fall vereinbart<br />

wurde (kann z.B. als <strong>Teil</strong> <strong>einer</strong> verschlüsselten Challenge-Mail geschickt worden sein, mit<br />

der die CA die Erreichbarkeit des Antragstellers unter der zu zertifizierenden Mailadresse<br />

getestet hatte)<br />

4.8.8.3 Sperrung auf Veranlassung der CA<br />

Eine sinnvolle Nutzung der Zertifikate als digitaler Werks- oder Studentenausweis wäre nur dann<br />

möglich, wenn ein Zertifikat für den Schlüssel eines ausscheidenden Universitätsangehörigen zeitnah<br />

zu dessen Ausscheiden gesperrt würde. Das setzt wiederum voraus, daß die CA über Mitarbeiter<br />

bzw. Studierende, die die UNI verlassen, umgehend informiert wird. Dies könnte zentral durch die<br />

Immatrikulations- bzw. Personalstelle passieren, es wäre aber – zumindest bei den Mitarbeitern –<br />

vorstellbar, daß sie sich selber in der Zertifizierungsstelle abmelden müssen, diese quasi auf einem<br />

entsprechenden Laufzettel quittieren müßte, daß der Betreffende sein Ausscheiden angezeigt hat.<br />

Beide Varianten dürften jedoch mit einigem Aufwand verb<strong>und</strong>en sein.<br />

Ein Abgleich der Personal- oder Studierendenliste mit den Zertifikatnehmern der CA wäre eine<br />

andere Alternative, die allerdings aus Datenschutzgründen problematisch erscheint <strong>und</strong> die, da der<br />

Abgleich vermutlich nicht täglich stattfinden könnte, auch nur eine grobe zeitliche Auflösung erreichen<br />

würde, z.B. ein quartalsweiser oder monatlicher Abgleich. Damit wäre aber an einen Einsatz<br />

der Zertifikate als elektronischer Werks- oder Studentenausweis der UNI kaum zu denken, es sei<br />

denn, maximal drei Monate bzw. vier Wochen mögliche Mißbrauchsfrist erschienen vertretbar. (Auf<br />

der anderen Seite müßte man hier sicher auch berücksichtigen, wie genau herkömmliche Ausweise


56 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

oder Nachweise wie der Studentenausweis den Status des Inhabers zu einem bestimmten Zeitpunkt<br />

wiedergeben.)<br />

Das UNI-Immatrikulationsbüro übermittelt schon jetzt jeweils zu Beginn des Semesters die zurückgemeldeten<br />

bzw. neu-immatrikulierten Studierenden an das Rechenzentrum, so daß die Benutzerbereiche<br />

ausgeschiedener Studenten gesperrt werden können. Anhand dieser Informationen wäre<br />

es zusätzlich möglich, noch nicht abgelaufene Medium-Level-Zertifikate zu sperren, falls der Betreffende<br />

seinen Status als Studierender verloren hat. (Wenn derjenige Mitarbeiter der Universität<br />

geworden sein sollte, kann er seinen Schlüssel neu zertifizieren lassen.) Auf diese Weise ist zwar<br />

noch keine hohe zeitliche Auflösung möglich, aber zu Beginn eines neuen Semesters wären dann<br />

nur noch die alten Zertifikate derjenigen Studierenden weiter gültig, die nach wie vor an der UNI<br />

eingeschrieben sind. Diese Sperrung ist auch deswegen erforderlich, weil der Benutzername einige<br />

Monate nach der Sperrung bzw. Löschung wieder neu vergeben werden kann. Im Extremfall würde<br />

dann ein Namensvetter des vorherigen Inhabers dieselbe Mailadresse innerhalb der UNI bekommen<br />

können wie dieser. Damit es dann nicht zu der unerwünschten Situation kommt, daß die UNI-CA<br />

womöglich für dieselbe Benutzerkennung in einem Schlüssel zwei unterschiedliche Schlüssel für<br />

zwei Personen zertifiziert hätte <strong>und</strong> beide Zertifikate gleichzeitig gültig wären, sollte mit der Sperrung<br />

bzw. Löschung eines Benutzerbereiches auch ein eventuell für die zugehörige Mailadresse<br />

ausgestelltes Zertifikat der UNI-Zertifizierungsstelle widerrufen werden.<br />

Ähnlich sieht der Ablauf bei den Benutzerbereichen der Universitätsmitarbeiter aus: Dort übermittelt<br />

die Personalstelle die Daten aller Mitarbeiter an das Rechenzentrum, so daß deren Benutzerbereiche<br />

verlängert (<strong>und</strong> die der ausgeschiedenen Mitarbeiter entsprechend gesperrt) werden können.<br />

4.8.9 Re-Zertifizierung<br />

Eine Re-Zertifizierung oder auch Nachzertifizierung ist nur für die Medium-Level-Zertifizierung<br />

vorgesehen. Nur dort sind die Sicherheitsprüfungen bei der Erst-Zertifizierung so gründlich, daß eine<br />

Re-Zertifizierung aufgr<strong>und</strong> eines digital signierten Antrages vertretbar erscheint. Außerdem soll<br />

für die Zertifikatnehmer ein Anreiz geschaffen werden, sich nach der Medium-Level Policy zertifizieren<br />

zu lassen. Die Möglichkeit, dort sein Zertifikat verlängern zu lassen <strong>und</strong> nicht jedes Semester<br />

wieder persönlich vorstellig werden zu müssen, dient diesem Ziel ebenso wie die gr<strong>und</strong>sätzlich<br />

längere Gültigkeitsdauer der Medium-Level Zertifikate.<br />

Die Re-Zertifizierung findet nur auf Antrag des Benutzers statt, wenn der Signierschlüssel, mit<br />

dem das Zertifikat für seinen Key unterschrieben wurde, abläuft. Bei einem Schlüsselwechsel auf<br />

Seiten des Benutzers steht es dem Betreffenden frei, eine Zertifizierung des neuen Schlüssels zu<br />

beantragen, indem er persönlich bei der CA vorstellig wird. Ein Zertifizierungsantrag für einen<br />

neuen Schlüssel kann nicht auf elektronischem Wege gestellt werden; auf diese Weise ist nur die<br />

Re-Zertifizierung eines bereits zertifizierten Schlüssels (also eine „Verlängerung“ von dessen Zertifikat)<br />

möglich. Es bleibt dem Nutzer überlassen, ob er nach Erhalt des Zertifikates für seinen neuen<br />

Schlüssel die Sperrung des alten Zertifikates veranlaßt (oder selbst einen Schlüssel-Widerruf generiert)<br />

oder ob sein alter <strong>und</strong> neuer Schlüssel beide weiter gültig sein sollen.<br />

Eine Re-Zertifizierung kann bei Bedarf zusätzlich auch davon abhängig gemacht werden, daß der<br />

Schlüsselinhaber weiterhin Universitätsangehöriger ist, also nicht inzwischen seinen Mitarbeiter-


4.8. Die Zertifizierungsrichtlinien 57<br />

oder Studentenstatus verloren hat. Dies könnte ggf. anhand der Daten der Personalstelle oder des<br />

Immatrikulationsamtes verifiziert werden.<br />

4.8.10 Key-Rollover<br />

Die leicht überlappende Gültigkeitsdauer, die für die CA-Schlüssel vorgeschlagen wurde<br />

(s. 4.8.7.2), hat auch noch einen anderen Gr<strong>und</strong>:<br />

„[Die CA muß] dafür sorgen, daß ihr bis zum Ende der Gültigkeit ihres bisherigen Schlüssels<br />

‘genügend’ Zeit verbleibt, um beantragte Nachzertifizierungen zu erfüllen. Offenbar hängt die<br />

dafür erforderliche Zeitspanne davon ab, wieviele Nachzertifizierungen die CA auszuführen<br />

hat.“ [BS97, S. 336]<br />

Kann dies nicht gewährleistet werden, so wären Zertifikatinhaber trotz rechtzeitigen Antrags auf<br />

Nachzertifizierung nach Ablauf des alten CA-Schlüssels ohne gültiges Zertifikat. Diese unerfreuliche<br />

Situation sollte wenn irgend möglich vermieden werden.<br />

4.8.11 Gruppenschlüssel<br />

Die Zertifizierung von Gruppenschlüsseln durch die UNI-CA ist vorerst nicht vorgesehen. Deren<br />

Zertifizierung erscheint als nicht sinnvoll, da eine Zurechenbarkeit nicht gegeben ist (jedes Gruppenmitglied<br />

kann eine mit diesem Schlüssel signierte Nachricht unterschrieben haben) <strong>und</strong> außerdem<br />

Gruppenschlüssel auf einfache Weise vereinbart werden können, wenn die Gruppenmitglieder<br />

über individuelle Schlüssel verfügen: Das Ziel <strong>einer</strong> Zertifizierung eines Gruppenschlüssels durch<br />

eine CA läßt sich ebenso gut erreichen, indem <strong>einer</strong> der Ansprechpartner der Gruppe mit seinem<br />

Schlüssel einen separaten Gruppenschlüssel signiert.<br />

Gruppenschlüssel bringen weiterhin das Problem mit sich, daß beim Ausscheiden eines Gruppenmitgliedes<br />

der Schlüssel gewechselt werden müßte, wenn die Vertraulichkeit der auf diese Weise<br />

geschützten Kommunikation weiterhin sichergestellt bleiben soll.<br />

Die einzige Ausnahme von dieser Regel stellt der Kommunikationsschlüssel der Zertifizierungsstelle<br />

selber dar; er darf von der CA zertifiziert werden.<br />

4.8.12 Pseudonyme <strong>und</strong> anonyme Zertifikate<br />

Da wissenschaftliche Arbeiten in der Regel unter dem eigenen Namen <strong>und</strong> nicht unter Pseudonym<br />

veröffentlicht werden, liegt es nahe, bis auf weiteres keine pseudonymen oder anonymen Zertifikate<br />

ausstellen.<br />

Andererseits fordern die Datenschutzbeauftragten mit einiger Berechtigung, daß es im Sinne der<br />

Datensparsamkeit möglich sein muß, Dienste auch anonym oder unter Pseudonym zu nutzen, sofern<br />

die technisch möglich ist. Insofern würde also auch das Angebot <strong>einer</strong> anonymen oder pseudonymen<br />

Zertifizierung durchaus Sinn machen.


58 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Da die <strong>DFN</strong>-PCA selbst bislang noch keine Erfahrung mit entsprechenden anonymen oder pseudonymen<br />

Zertifizierungen gesammelt hat, können an dieser Stelle noch keine Hinweise oder Empfehlungen<br />

ausgesprochen werden.<br />

4.8.13 Einbindung in die <strong>DFN</strong>-Zertifizierungshierarchie<br />

4.8.13.1 Registrierungsstellen<br />

Die <strong>DFN</strong>-Zertifizierungshierarchie sieht vor, daß von den Zertifizierungsstellen in den einzelnen<br />

<strong>DFN</strong>-Mitgliedseinrichtungen mehrere Registrierungsstellen (RAs) betrieben werden können, um<br />

für die Nutzer den Weg zur Zertifizierungsstelle zu verkürzen. Zertifizierungswillige können ihren<br />

Zertifizierungsantrag statt bei der CA bei <strong>einer</strong> der RAs stellen, die dann auch gleich die Identitätsprüfung<br />

vornimmt.<br />

Bei der Entscheidung für oder gegen Registrierungsstellen sollte abgewogen werden zwischen den<br />

Vorteilen durch die Nähe zum Benutzer <strong>und</strong> die leichtere Erreichbarkeit dieser „Außenstellen“ der<br />

CA <strong>und</strong> den Nachteilen, die sich durch eine zu starke Aufsplitterung ergeben (Mehrfacharbeit,<br />

Hardware-Ressourcen in der RA). Die (ggf. erst erwartete) Nachfrage sollte ausreichend groß sein,<br />

so daß sich der organisatorische Mehraufwand <strong>einer</strong> zusätzlichen Registrierungsstelle lohnt.<br />

Potentielle RA-Standorte sind zum einen <strong>Teil</strong>e der Universität, die sehr weit vom Campus entfernt<br />

liegen, so daß es den dort Beschäftigten oder Studierenden nicht zugemutet werden soll, für eine<br />

Zertifizierung einen längeren Anfahrtsweg oder eine längere Abwesenheit vom Arbeitsplatz in Kauf<br />

nehmen zu müssen.<br />

Registrierungsstellen sind für die Zertifizierung nach der Low-Level Policy nicht erforderlich, da ja<br />

die Low-Level CA selber mobil ist <strong>und</strong> bei Bedarf vor Ort zertifizieren kann.<br />

4.8.14 Nachgeordnete Zertifizierungsstellen<br />

Wenn die Nachfrage nach Zertifizierungsdiensten so stark zunimmt, daß sie selbst mit Registrierungsstellen<br />

an den Orten mit besonders großer Nachfrage kaum zu befriedigen ist, oder wenn aus<br />

anderen Gründen eine eigene Zertifizierungsstelle in <strong>einer</strong> Einrichtung der UNI betrieben werden<br />

soll, dann dürfen nach der Low-Level- <strong>und</strong> der Medium-Level <strong>DFN</strong>-Policy auch nachgeordnete<br />

Zertifizierungsstellen (Sub-CAs) innerhalb <strong>einer</strong> <strong>DFN</strong>-Mitgliedseinrichtung etabliert werden. Diese<br />

können dann eigenverantwortlich die Schlüssel ihrer Nutzer (z.B. der jeweiligen Fachbereichsangehörigen)<br />

zertifizieren, stehen aber unter der Aufsicht der Zertifizierungsstelle der gesamten<br />

Mitgliedseinrichtung <strong>und</strong> müssen sich an deren Richtlinien (<strong>und</strong> die des <strong>DFN</strong>) halten.<br />

RAs <strong>und</strong> Sub-CAs stellen eine Möglichkeit der „Lastverteilung“ bzw. -entzerrung dar, erfordern<br />

aber auch einigen zusätzlichen Betreuungs-, Prüf- <strong>und</strong> Koordinationsaufwand von seiten der CA.<br />

4.8.15 Abweichungen von den <strong>DFN</strong>-Policies?<br />

CAs, die nach <strong>einer</strong> der <strong>DFN</strong>-Policies zertifiziert werden wollen, müssen die entsprechende Policy<br />

erfüllen/einhalten. Das muß aber nicht bedeuten, daß eine Abweichung von der betreffenden Policy


4.8. Die Zertifizierungsrichtlinien 59<br />

immer – quasi zwangsläufig – zur „Disqualifikation“ für eine Zertifizierung durch die <strong>DFN</strong>-PCA<br />

führen muß. Vielmehr steht es der jeweiligen CA durchaus frei, in einzelnen Punkten schärfere<br />

Anforderungen zu stellen als in der entsprechenden <strong>DFN</strong>-Policy. In 5.1 Regeln für die Zertifizierung<br />

von CAs der <strong>DFN</strong>-WWW-Policy heißt es dazu beispielsweise:<br />

„[...] über diese Policy hinausgehende Richtlinien können bei Bedarf von dieser CA [der ober-<br />

sten innerhalb der jeweiligen Organisation, sozusagen die organisationsweite „Root-CA“] in<br />

<strong>einer</strong> eigenen Policy festgelegt werden.“<br />

Mißverständliche, widersprüchliche oder unklare Formulierungen sollten natürlich, wenn eine eigene<br />

Policy formuliert wird, darin nach Möglichkeit vermieden werden.<br />

Wenn die Policy in verschiedenen Formaten (HTML, ASCII, Postscript) bereitgehalten wird, sollte<br />

unbedingt sichergestellt sein, daß diese Dokumente ungeachtet der unterschiedlichen Formate<br />

inhaltlich identisch sind <strong>und</strong> sich nicht in Details unterscheiden, was zu Irritationen <strong>und</strong> einem<br />

Glaubwürdigkeitsdefizit der betreffenden Zertifizierungsstelle führen könnte.<br />

Ein Hinweis, wer nach dem Ablauf der aktuell gültigen Policy über die Annahme <strong>einer</strong> neuen oder<br />

die Verlängerung der alten Policy entscheidet, könnte zu mehr Transparenz für die Nutzer beitragen.<br />

Auch das Procedere, in dem dies geschieht (Werden mögliche Änderungen zuvor irgendwo diskutiert?<br />

Wer ist an der Überarbeitung beteiligt? In welcher Form wird letztlich entschieden?), könnte<br />

in der eigenen Policy dokumentiert werden.<br />

Abschnitt 4 über die Sicherheitsanforderungen an die eingesetzte Rechentechnik ist sowohl in der<br />

Medium-Level als auch in der Low-Level <strong>DFN</strong>-Policy mit „Sicherheit der PCA-Ausstattung“ überschrieben.<br />

Diese Überschrift sollte bei <strong>einer</strong> eigenen Policy (<strong>und</strong> wird bei <strong>einer</strong> Überarbeitung der<br />

<strong>DFN</strong>-Policies) dem tatsächlichen Abschnittsinhalt angepaßt werden, der jeweils nicht nur die PCA-,<br />

sondern auch die CA-, RA- <strong>und</strong> Nutzer-Rechnerausstattung umfassen muß (bzw. umfaßt).<br />

4.8.16 Unterschiede zwischen der Low- <strong>und</strong> der Medium-Level Policy<br />

Um aus der der Low-Level UNI-CA-Policy eine Medium-Level Policy im Sinne der in Abschnitt 4.6<br />

gegebenen Beschreibung der Medium-Level-Anforderungen zu entwickeln, müßte die im Anhang<br />

K wiedergegebene Low-Level-Policy in folgender Hinsicht bzw. in folgenden Punkten geändert<br />

bzw. ergänzt werden:<br />

höhere Sicherheitsanforderungen an die CA:<br />

– Aufbewahrung des geheimen CA-Signierschlüssels auf externem Datenträger<br />

– Vier-Augen-Prinzip beim Zugriff auf den geheimen CA-Signierschlüssel<br />

höhere Sicherheitsanforderungen an die Zertifikatnehmer:<br />

– Prüfung der UNI-Zugehörigkeit<br />

– nur UNI-Mailadressen zertifizierbar<br />

– Prüfung der Mailadresse durch Zusenden <strong>einer</strong> „Challenge“


60 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

– Nachweis über Besitz des korrespondierenden Private-Keys<br />

andere Gültigkeitsdauer der Schlüssel bzw. damit auch der Zertifikate<br />

keine Schlüsselgenerierung für den Zertifikatnehmer (außer bei der Zertifizierung der Schlüssel<br />

der CA selbst)<br />

Sub-CAs sind möglich<br />

, deren Zertifizierung etc. muß beschrieben werden<br />

Registrierungsstellen sind möglich ; es muß festgelegt werden, welche technischen Voraussetzungen<br />

dort gegeben sein müssen <strong>und</strong> wie die Weiterleitung der Zertifizierungsdaten<br />

erfolgen soll<br />

Cross-Zertifizierungen mit anderen CAs sind erlaubt<br />

eine Re-Zertifizierung ist vorgesehen, die entsprechenden Abläufe müssen beschrieben werden<br />

Die mit einem markierten Punkte sind nach der <strong>DFN</strong>-Medium-Level-Policy nicht zwingend<br />

erforderlich; sie ergeben sich aus den in diesem Konzept vorgeschlagenen Medium-Level-<br />

Anforderungen.<br />

Einige der entsprechenden Passagen könnten – unter Berücksichtigung der im vorigen Abschnitt<br />

gemachten Vorschläge – mit den erforderlichen Anpassungen aus der Medium-Level-Policy der<br />

<strong>DFN</strong>-PCA übernommen werden.<br />

4.9 X.509-Zertifizierung<br />

Auf die Ausstellung von X.509-Zertifikaten kann hier aus Platzgründen nicht in allen Einzelheiten<br />

eingegangen werden. Es sollen daher nur die wesentlichen Unterschiede zur PGP-Zertifizierung<br />

umrissen werden. Eine detaillierte Beschreibungen der X.509-Zertifizierung unter Verwendung der<br />

frei verfügbaren X.509-Software OpenSSL findet man in <strong>Teil</strong> II dieses Handbuches oder auch in<br />

[Rei97a, Rei98].<br />

Der vielleicht gr<strong>und</strong>legendste Unterschied zur PGP-Zertifizierung besteht darin, daß X.509 im Regelfall<br />

eine Zertifizierung in <strong>einer</strong> Richtung zwischen ungleichen Partnern vorsieht: Eine herausgehobene<br />

<strong>Zertifizierungsinstanz</strong> bestätigt die Authentizität des Schlüssels eines Zertifikatnehmers<br />

(der ein Nutzer oder eine untergeordnete Zertifizierungsstelle sein kann). Der Zertifikatnehmer wird<br />

bei X.509 in den meisten Fällen nicht s<strong>einer</strong>seits ein Zertifikat für die CA ausstellen, während das<br />

bei der PGP-Zertifizierung „von gleich zu gleich“ den Normalfall darstellt.<br />

Aufgr<strong>und</strong> dieser Situation kann die Zertifizierungsstelle, anders als bei PGP, alleine entscheiden,<br />

welche Angaben sie in ein Zertifikat mit aufnimmt. Der Zertifikatnehmer kann zwar seine entsprechenden<br />

Wünsche an die CA übermitteln, ob sie berücksichtigt werden, bleibt allein die Entscheidung<br />

der Zertifizierungsstelle. Die ist also anders als bei der Benutzerkennung von PGP nicht an<br />

einen vom Nutzer vorgegebenen Namen geb<strong>und</strong>en, sondern kann diesen bei Bedarf selbst modifizieren<br />

oder ergänzen (z.B. falls er ansonsten nicht eindeutig oder schon anderweitig vergeben<br />

ist), wobei die Namensgebung in X.509 auf dem Konzept der strukturierten Distinguished Names


4.10. Erstellung <strong>einer</strong> X.509-UNI-CA-Policy 61<br />

basiert. Dabei setzt sich ein vollständiger Name aus mehreren einzelnen Komponenten mit vorgegebener<br />

Struktur <strong>und</strong> Semantik zusammen.<br />

X.509-Zertifikate, insbesondere jene nach der neuesten Version des Standards, weisen erheblich<br />

mehr Bestandteile auf als PGP-Zertifikate (siehe dazu auch Kapitel 3.1). Dies ermöglicht anders<br />

als bei PGP u.a. eine flexiblere <strong>und</strong> explizite Angabe der individuellen Gültigkeitsdauer für jedes<br />

einzelne X.509-Zertifikat. (Dadurch werden manche Abläufe gegenüber der PGP-Zertifizierung<br />

erheblich einfacher.) Da außerdem im X.509-Standard bereits Komponenten im Zertifikat für Funktionsbeschränkungen<br />

(„nur zum Signieren“, „nur zum Verschlüsseln“, „nur zur Zertifizierung“ u.a.)<br />

definiert sind, ist die Umsetzung der in der <strong>DFN</strong>-Policy für CAs nahe gelegten (Low-Level-Policy)<br />

bzw. geforderten Verwendung (Medium-Level-Policy) getrennter Schlüsselpaare erheblich einfacher<br />

<strong>und</strong> wird besser durch existierende Software unterstützt.<br />

In X.509 sind von der ersten Version von 1988 an Widerrufslisten als Möglichkeit vorgesehen,<br />

einmal erteilte Zertifikate zu sperren. Daher muß jede Software, die X.509-Unterstützung für sich<br />

reklamiert, mit derartigen Sperrlisten umgehen können. Auch das Format der Sperrlisten ist im<br />

Standard genau definiert, so daß hier nicht so unterschiedliche, individuell gewählte Sperrlisten-<br />

Formate entstehen, wie dies bei PGP leider der Fall ist.<br />

X.509 bietet Möglichkeiten, bei der Zertifizierung <strong>einer</strong> nachgeordneten CA im Zertifikat für diese<br />

CA festzulegen, daß sie beispielsweise nur für einen bestimmten Namensraum zuständig ist <strong>und</strong> nur<br />

für Nutzer oder Sub-CAs mit bestimmten Namensbestandteilen Zertifikate ausstellen darf.<br />

4.10 Erstellung <strong>einer</strong> X.509-UNI-CA-Policy<br />

Mit dem Entwurf für eine PGP-Low-Level-Policy für die UNI-CA im Anhang K dieses Handbuches<br />

<strong>und</strong> den in Abschnitt 4.8.16 genannten Änderungen, die daraus eine Medium-Level-Policy machen<br />

würden, ist die PGP-Zertifizierung nach diesem Konzept abgedeckt. Da sich, wie im vorigen<br />

Abschnitt beschrieben, die X.509-Zertifizierung in einigen Punkten nicht unerheblich von der von<br />

PGP-Schlüsseln unterscheidet, stellt sich nun die Frage, wie gegenüber <strong>einer</strong> Medium-Level-PGP-<br />

Policy eine X.509-Zertifizierungsrichtlinie mit vergleichbaren Sicherheitsanforderungen aussehen<br />

könnte.<br />

Die nachfolgenden Punkte beschreiben grob die Arbeitsschritte, die unternommen werden könnten,<br />

um aus der Medium-Level PGP-Policy eine X.509-Policy für die UNI-CA zu machen:<br />

Die Abschnitte über die Wahl <strong>einer</strong> PGP-Benutzerkennung könnten entfallen; stattdessen<br />

müßte festgelegt werden, welche Anforderungen zulässige X.500-Distinguished Names erfüllen<br />

müssen. Der X.500-Name der UNI-CA müßte genannt werden. Alle Angaben, die bei<br />

PGP-Schlüsseln mangels anderer Möglichkeiten im Klartext in der Benutzerkennung angegeben<br />

wurden (Anwendungsbeschränkungen für den Schlüssel, Gültigkeitsdauer), müßten in<br />

ihrem Format nicht mehr explizit in der Policy festgelegt (höchstens referenziert oder erklärt)<br />

werden, weil sie in X.509 bereits definiert sind.<br />

Passagen, die sich ausschließlich auf PGP beziehen (wie die Nennung der unterstützten<br />

Schlüsselformate), könnten entfallen bzw. wären durch entsprechende Angaben für X.509-<br />

Zertifikate zu ersetzen.


62 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Die PEM-Namensunterordnung (Namensbestandteile des CA-Distinguished Names müssen<br />

unverändert im Nutzernamen enthalten sein) verhindert eine Zertifizierung für Externe. Das<br />

heißt, daß die X.509-CAs als reine organizational CAs fungieren, ohne daß dies ausdrücklich<br />

in der <strong>DFN</strong>-Policy gesagt wird. Wenn diese Beschränkung beabsichtigt ist, sollte sie auch<br />

offen genannt werden; wenn nicht, müßte die Policy an dieser Stelle weniger strikt formuliert<br />

werden.<br />

Die Sperrung von Zertifikaten erfolgt mittels Widerrufslisten (CRLs). Einzelheiten zu deren<br />

Veröffentlichung müßten genannt werden.<br />

Die Abschnitte zur Gültigkeitsdauer könnten kürzer gefaßt werden <strong>und</strong> die Gültigkeitsdauer<br />

der Zertifikate unabhängig von der der CA-Schlüssel oder von Stichtagen regeln.<br />

Der Verweis auf die Medium-Level-Policy müßte durch einen entsprechenden auf die Low-<br />

Level-Policy ersetzt werden.<br />

Eine ausdrückliche Prüfung mittels Challenge-Response-Verfahren, ob der Nutzer auch über<br />

den Private-Key verfügt (PoP), der zu dem zu zertifizierenden Public-Key gehört, könnte entfallen,<br />

wenn der elektronisch übermittelte X.509-Zertifizierungsantrag (Certificate Request)<br />

bereits signiert ist. Die entsprechenden Passagen zur PoP-Challenge könnten entfallen oder<br />

allgem<strong>einer</strong> formuliert werden.<br />

X.509-Zertifikate werden nicht auf PGP-Keyservern, sondern mittels anderer Dienste zugänglich<br />

gemacht, z.B. im X.500-Verzeichnisdienst veröffentlicht. Der betreffende Abschnitt wäre<br />

entsprechend umzuformulieren.<br />

Besonderheiten, die bei speziellen Formen der X.509-Zertifizierung (Zertifizierung von<br />

WWW-Servern, Software-Publisher-Zertifikaten oder Zertifizierung von WWW-Clients) vorzusehen<br />

sind, könnten aus der WWW-Policy der <strong>DFN</strong>-PCA [KL99] übernommen werden.<br />

Gleiches gilt für die Zertifikat-Erweiterungen.<br />

Selbstverständlich wäre es ebenso möglich, die entsprechende <strong>DFN</strong>-PCA-Policy zur X.509-<br />

Zertifizierung als Gr<strong>und</strong>lage zu verwenden <strong>und</strong> dann anhand der in den vorigen Abschnitten beschriebenen<br />

Änderungsvorschläge <strong>und</strong> Besonderheiten der UNI-CA daraus auf diesem Wege eine<br />

eigene (Medium-Level) UNI-CA X.509-Policy zu erstellen.<br />

4.11 Datensicherung<br />

Eine regelmäßige Datensicherung ist auch bei der UNI-CA geboten, liefe diese doch sonst Gefahr,<br />

bei einem Hardware-Defekt, einem Brand o.ä. erst ihre Arbeitsmittel, dann ihr Kapital – das Vertrauen<br />

der Nutzer – <strong>und</strong> dann schließlich ihre Arbeitsgr<strong>und</strong>lage zu verlieren. Der Software- <strong>und</strong><br />

Datenbestand des Zertifizierungsrechners sollte daher in kurzen Abständen (wöchentlich) komplett<br />

auf Magnetband gesichert werden. Eine Datensicherung über eine Netzwerkverbindung zu einem<br />

anderen Rechner darf nicht erfolgen; der Zertifizierungsrechner muß ausschließlich “standalone”<br />

betrieben werden.


4.12. Arbeitsorganisation 63<br />

Allerdings gilt es dabei eines zu beachten, um sich den Umgang mit den Sicherungskopien nicht<br />

unnötig kompliziert zu machen:<br />

“A digital signature private key is never backed-up – if it is lost, a new key pair is simply<br />

generated for the signer. ... A digital signature private key is never archived ...” [For94, S. 1]<br />

“Non-repudiation requires that users generate and control access to [their] signing keys. Unlike<br />

decryption keys, backing up signing keys is neither required nor acceptable.” [Cur98, S. 3]<br />

Es besteht in der Tat kein Gr<strong>und</strong>, eine Sicherungs- oder Archivkopie des Signierschlüssels anzufertigen:<br />

Wenn der Schlüssel durch Löschung oder einen Schaden des Datenträgers, auf dem er gespeichert<br />

ist, nicht mehr verfügbar ist, wird sein Zertifikat von der übergeordneten Zertifizierungsstelle<br />

widerrufen, <strong>und</strong> die UNI-CA generiert sich einen neuen Signierschlüssel <strong>und</strong> läßt diesen zertifizieren.<br />

Mit dem alten Key geleistete Unterschriften können dann trotzdem weiterhin verifiziert werden,<br />

solange nur der öffentliche Schlüssel wenigstens noch in <strong>einer</strong> Kopie vorliegt (z.B. in einem Verzeichnisdienst).<br />

Und wenn der Signierschlüssel durch Diebstahl o.ä. einem Angreifer – günstigenfalls<br />

verschlüsselt, aber man weiß ja nicht, ob es dem Angreifer nicht doch gelingt, diesen letzten<br />

Schutz auch noch zu brechen – in die Hände fällt, so hilft auch eine Sicherungskopie nicht gegen<br />

die Kompromittierung des Schlüssels.<br />

4.12 Arbeitsorganisation<br />

Bei der Auswahl der mit dem <strong>Betrieb</strong> der CA betrauten Mitarbeiter sollten einige wichtige Punkte<br />

beachtet werden, denn<br />

„Das Vertrauen in die neu entstehenden ... Trust Center kann sich bisher kaum aus Erfahrungen<br />

speisen, sondern wird eher auf einem Vertrauensvorschuß bzw. bei denjenigen, die aus bekann-<br />

ten Institutionen hervorgegangen sind, auf <strong>einer</strong> Vertrauensübertragung beruhen.“ [BBFK98,<br />

S. 21]<br />

Postulieren wir, daß das UNI-Rechenzentrum bei den Angehörigen der Universität einen guten Ruf<br />

hat, ihm <strong>und</strong> seinen Mitarbeitern aufgr<strong>und</strong> der von ihnen geleisteten Arbeit Vertrauen entgegengebracht<br />

wird, so muß es das Ziel sein, dieses Vertrauen, diesen Vertrauensvorschuß auch auf die<br />

neue Institution UNI-CA zu übertragen oder günstige Voraussetzungen dafür zu schaffen, daß die<br />

Rechenzentrumsnutzer dies tun.<br />

„Vertrauen in Institutionen umfaßt sowohl Systemvertrauen als auch Personenvertrauen in Ver-<br />

treter <strong>einer</strong> Institution, mit denen Erfahrungen gemacht wurden. Solche ‘Zugangspunkte’ ...<br />

sind wichtig für die Vertrauensbildung in Institutionen.“ [BBFK98, S. 16]<br />

Es spielt also durchaus eine Rolle, wer in der Zertifizierungsstelle arbeitet. Längerfristig dürfte<br />

auch eine gewisse Kontinuität im Personal der CA wichtig sein, die nach außen hin sichtbar werden<br />

muß. Daher empfiehlt es sich, auch mindestens einen festangestellten Rechenzentrumsmitarbeiter<br />

(Dauerstelle) für die CA-Arbeit abzustellen oder einzuteilen, um zu vermeiden, daß die CA


64 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

im halbjährlichen oder jährlichen Wechsel „nur“ von studentischen Mitarbeitern oder kurzzeitig<br />

beschäftigten RZ-Mitarbeitern betrieben wird. Ein zu häufiger Wechsel im CA-Personal würde aufgr<strong>und</strong><br />

der unvermeidlichen Einarbeitungszeit auch jedesmal eine Unterbrechung darstellen <strong>und</strong> zu<br />

Verzögerungen führen.<br />

Neben einem „festen“ CA-Mitarbeiter können selbstverständlich auch studentische Hilfskräfte oder<br />

Mitarbeiter mit Zeitverträgen beteiligt werden, es sollte aber eben nicht vorkommen, daß die Stellen<br />

solcher Leute auslaufen, sie nicht weiterbeschäftigt werden können <strong>und</strong> die Zertifizierungsstelle<br />

womöglich plötzlich personell völlig von vorne anfangen muß.<br />

Weiterhin sind zwei Punkte von Bedeutung für eine erfolgreiche Arbeit der CA: die Motivation<br />

sowie die Sorgfalt <strong>und</strong> Zuverlässigkeit der CA-Administratoren. Insofern sollten nach Möglichkeit<br />

Personen diese Arbeit übernehmen (dürfen) – das wäre der Idealfall –, die schon vorher Interesse<br />

an Sicherheits-, Datenschutz oder Vertraulichkeitsaspekten hatten <strong>und</strong>/oder die für ihre besonders<br />

umsichtige <strong>und</strong> gewissenhafte Arbeitsweise bekannt sind.<br />

4.12.1 Mehr-Augen-Prinzip<br />

Viele Angriffe erfolgen durch „Insider“ [CZ98d, CZ98f, CZ98m], also durch Mitarbeiter oder sonstige<br />

Angehörige der geschädigten Institution. Daher sollten vorsorglich auch gegen Mißbrauch<br />

oder Schädigungen durch CA-Mitarbeiter Vorkehrungen getroffen werden.<br />

Hierzu zählt zum Beispiel, den Zugriff auf wichtige Ressourcen so zu regulieren, daß er nicht von<br />

einem Mitarbeiter alleine ausgeübt werden kann. Für den Signierschlüssel der Medium-Level UNI-<br />

CA ist ein solches Vorgehen vorgesehen; der Schlüssel soll bei der Generierung durch eine Aufteilung<br />

des Paßwortes zum Zugriff auf den Schlüssel so gesichert werden, daß nur die zwei betreffenden<br />

CA-Mitarbeiter zusammen ihn für eine Operation freigeben können. Das würde allerdings den<br />

eigentlichen Zertifizierungsvorgang um einiges aufwendiger machen, weil dafür dann immer beide<br />

Mitarbeiter zugleich zugegen sein müßten.<br />

Diese Maßnahme ist eine Möglichkeit, einen gewissen Schutz vor Insider-Mißbrauch zu erzielen.<br />

Sie ist nicht absolut wirksam, da sie umgangen werden könnte, indem <strong>einer</strong> der betreffenden CA-<br />

Mitarbeiter dem anderen seinen <strong>Teil</strong> des Doppel-Paßwortes verrät (was er eigentlich nicht dürfte,<br />

aber es läßt sich letztlich nicht verhindern).<br />

4.12.2 Zurechenbarkeit<br />

Eine andere Stelle, an der durch Insider-Manipulationen falsche Zertifikate bewirkt werden könnten,<br />

ist die Identitätsprüfung bzw. die Entgegennahme des Zertifizierungsantrages. Wenn hier <strong>einer</strong><br />

der CA-Mitarbeiter falsche Angaben in einen Zertifizierungsantrag einträgt <strong>und</strong> diesen unter die<br />

übrigen Anträge mischt, so könnte er damit erreichen, daß ein Zertifikat ausgestellt wird, das die<br />

gefälschten Angaben bestätigt. Wirksam vermeiden ließe sich dieser Angriff nur, indem auch bei<br />

der Antragsentgegennahme mehrere CA-Mitarbeiter beteiligt würden.<br />

Unter Umständen reicht aber auch schon die Aussicht, daß der Verantwortliche für ein erschlichenes<br />

Zertifikat nachträglich festgestellt werden <strong>und</strong> zur Rechenschaft gezogen werden kann, um potentielle<br />

Insider-Täter von ihrem Vorhaben abzubringen. Dies ist <strong>einer</strong> der Gründe dafür, warum in


4.12. Arbeitsorganisation 65<br />

der Signaturverordnung vorgesehen ist, daß vom Personaldokument des Antragstellers eine Ablichtung<br />

anzufertigen <strong>und</strong> zu den Antragsunterlagen zu nehmen ist. Eine Fälschung könnte, wenn sie<br />

dann später auffällt, an dieser Stelle nicht nur festgestellt, sondern auch der Verantwortliche (Fehler<br />

oder Betrug durch den CA-Mitarbeiter oder Fälschung des Personaldokumentes durch einen externen<br />

Angreifer) festgestellt werden. Dies setzt voraus, daß bei jedem Zertifizierungsantrag vermerkt<br />

wird, wer die Identitätsprüfung vorgenommen hat.<br />

Falls die UNI-CA also besonders stark abgesichert betrieben werden soll, wäre es zu überlegen, ob<br />

nicht auch dort eine Kopie vom Ausweisdokument jedes Antragstellers angefertigt werden sollte. In<br />

jedem Fall muß der CA-Mitarbeiter, der eine Identitätsprüfung vorgenommen hat, den betreffenden<br />

Antrag namentlich mit einem Bearbeitungsvermerk kennzeichnen, damit sich, falls Unregelmäßigkeiten<br />

festgestellt werden, zurückverfolgen läßt, wer den Antrag entgegengenommen (<strong>und</strong> bei der<br />

Identitätskontrolle möglicherweise fahrlässig oder vorsätzlich falsche Angaben aufgenommen) hat.<br />

4.12.3 Vertretungsregelung<br />

Wenn der Zugriff auf den Signierschlüssel der Zertifizierungsstelle nur zwei Mitarbeitern gemeinsam<br />

möglich ist <strong>und</strong> dafür in jedem Fall die Kenntnis eines Paßwortes erforderlich ist, kommt <strong>einer</strong><br />

umsichtigen <strong>und</strong> rechtzeitigen Planung der Urlaubs- <strong>und</strong> eventueller Krankheitsvertretung eine besondere<br />

Bedeutung zu. Wenn nur ein Mitarbeiter ein wichtiges Paßwort kennt <strong>und</strong> gerade nicht im<br />

Hause ist, dann wird dadurch u.U. die CA-Arbeit in starkem Maße beeinträchtigt, mindestens verzögert.<br />

Auf der anderen Seite sollen aber auch nur so wenig wie möglich Mitarbeiter Zugriff auf<br />

diesen besonders sensiblen Key haben, um die Zahl potentieller Mißbraucher möglichst klein zu<br />

halten.<br />

Denkbar wäre hier als eine Lösungsmöglichkeit, daß beide CA-Administratoren mit Schlüsselzugriff<br />

ihren <strong>Teil</strong> der Passphrase jeweils einem anderen Rechenzentrumsmitarbeiter ihres Vertrauens<br />

weitersagen. So wären in jedem Fall Regelverletzungen von zwei Personen erforderlich, um Zugriff<br />

auf den geheimen Signierschlüssel zu bekommen. Da ein Insider alleine nicht das zweiteilige Paßwort<br />

ändern könnte, bestünde auch nicht die Gefahr, daß <strong>einer</strong> der CA-Mitarbeiter alleine den geheimen<br />

Schlüssel durch Änderung der Passphrase „blockieren“ <strong>und</strong> für alle anderen CA-Mitarbeiter<br />

unzugänglich machen könnte.<br />

4.12.4 Ausscheiden eines Mitarbeiters<br />

Das Ausscheiden eines Mitarbeiters (<strong>und</strong> ggf. die Einstellung <strong>einer</strong> Ersatzkraft) zieht immer einige<br />

typische Aktivitäten nach sich [Lic97]. Ist der Betreffende <strong>einer</strong> der CA-Mitarbeiter mit Paßwortkenntnis,<br />

so müssen neben der obligatorischen Rückgabe von Raum- <strong>und</strong> Schrankschlüsseln auch<br />

Paßworte dokumentiert oder weitergegeben <strong>und</strong> anschließend aus Sicherheitsgründen – der Ausscheidende<br />

ist ja in Kürze ein potentieller externer Angreifer – geändert werden.<br />

Weiterhin sollte, so noch die Gelegenheit dazu besteht, der Betreffende seinen Nachfolger einweisen<br />

oder sogar noch einarbeiten. Ist der ausscheidende Mitarbeiter von der CA als Registrierungsinstanz<br />

benannt worden, so muß bei seinem Weggang die Liste der RAs aktualisiert werden; war<br />

derjenige der Ansprechpartner der UNI-CA gegenüber der <strong>DFN</strong>-PCA, so sollte diese unverzüglich,


66 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

nach Möglichkeit noch durch den bisherigen Ansprechpartner, über die sich ergebende personelle<br />

Veränderung informiert werden.<br />

4.13 Qualitätssicherung (der Sub-CAs)<br />

„Das muß nicht bedeuten, daß Verstöße ... das Vertrauen in die Institution sofort zerstören.<br />

Voraussetzung ist allerdings, daß sie als Einzelfälle auftreten <strong>und</strong> sanktioniert werden. Ein ge-<br />

wisses Maß an institutionellem Mißtrauen in Form von Kontrollen kann das Vertrauen in eine<br />

Institution sogar stärken ...“ [BBFK98, S. 16]<br />

Wenn die UNI-CA sich dazu entschließt, Registrierungsinstanzen oder sogar nachgeordnete Zertifizierungsstellen<br />

einzurichten, dann muß sie auch sicherstellen, daß diese die Policy wie bei der<br />

Ernennung schriftlich garantiert einhalten. Derartige Kontrollen sind denkbar z.B. in Form von<br />

Stichproben-Prüfungen bei der betreffenden CA/RA mittels unangekündigter oder sogar verdeckter<br />

Kontrollen (Test-Zertifizierungen) oder in Form von agents provocateurs, die die CA/RA zu Fehlern<br />

zu provozieren versuchen. Entscheidend dafür, daß die Regeln durch die Sub-CAs/RAs auch<br />

eingehalten werden, sind die Einsicht in deren Sinn <strong>und</strong> in deren Notwendigkeit – beides sollte also<br />

ausreichend vermittelt werden – <strong>und</strong> für den Fall eines Verstoßes auch eine Auswahl an abgestuften<br />

Sanktionsmitteln bis hin zum Entzug der Zertifizierung oder der Registrierungsbefugnis.<br />

4.14 Dokumentation<br />

Einer guten Dokumentation kommt ebenso wie der Öffentlichkeitsarbeit der CA (siehe 4.16) eine<br />

wesentliche Bedeutung zu:<br />

„Neben möglichst niedrigen Eingangshürden ist die Durchschaubarkeit (Transparenz) des Sy-<br />

stems ein zentrales Element der Bürgerfre<strong>und</strong>lichkeit. Dieser Aspekt steht auch in Verbindung<br />

mit der Sicherungsinfrastruktur. Denn die Sicherheit der Kommunikationsbeziehungen ist we-<br />

sentlich davon abhängig, daß der Umgang mit digitalen Signaturen verständlich <strong>und</strong> die Bedeu-<br />

tung <strong>und</strong> Zusicherung von Zertifikaten ... ausreichend nachvollziehbar ist.“ [Drä96]<br />

Die Dokumentation ist sowohl nach außen hin für die Nutzer als auch zu internen Zwecken der<br />

CA (z.B. für den Fall eines Mitarbeiterwechsels) wichtig. Schon die Policy zwingt dazu, gewisse<br />

Angaben oder Informationen zu dokumentieren <strong>und</strong> teilweise zugänglich zu machen.<br />

4.14.1 Liste nachgeordneter Zertifizierungsstellen<br />

Wenn Sub-CAs eingerichtet werden, sollte eine stets auf dem aktuellen Stand befindliche Übersicht<br />

über alle Sub-CAs der betreffenden Zertifizierungsstelle geführt werden. Intern braucht die UNI-<br />

CA diese Daten sowieso, <strong>und</strong> ihre Zusammenstellung erleichtert es Nutzern, einen Überblick über<br />

den <strong>Teil</strong> der Zertifizierungsinfrastruktur zu behalten oder zu erlangen, an dessen Spitze die UNI-CA<br />

steht.


4.14. Dokumentation 67<br />

4.14.2 Liste der Registrierungsstellen<br />

Die Medium-Level-Policy der <strong>DFN</strong>-PCA verlangt ausdrücklich, daß halbjährlich eine Liste mit<br />

allen von der herausgebenden CA benannten Registrierungsstellen bzw. den mit dieser Funktion<br />

betrauten Personen publiziert wird. Dies dient dem Schutz Zertifizierungswilliger, die sich durch<br />

einen Blick auf diese Liste (bei großer Skepsis auch durch direkte Nachfrage bei der CA selbst)<br />

darüber informieren können, ob eine bestimmte Person tatsächlich befugt ist, als RA zu agieren.<br />

4.14.3 Installations- <strong>und</strong> Bedienungsanleitungen<br />

Dokumentiert werden sollte, welche Mindest-Schlüssellängen empfohlen bzw. in der Policy vorgeschrieben<br />

werden, welche der verfügbaren Schlüsselformate bzw. Verschlüsselungsalgorithmen<br />

unterstützt werden <strong>und</strong> wie in einem typischen Benutzerbereich PGP installiert oder das für alle<br />

Nutzer netzweit installierte PGP für die eigene Nutzung konfiguriert werden kann. Hier sind ggf.<br />

auch Empfehlungen angebracht, wie Schlüssel im von der CA unterstützten Format erzeugt werden<br />

können oder welche Schritte notwendig sind, um Schlüssel in diesem Format mit anderen (neueren)<br />

PGP-Versionen nutzen zu können.<br />

Hierzu gehören Hinweise zum einen für die Nutzer der Rechner- <strong>und</strong> Terminal-Arbeitsplätze im<br />

Rechenzentrum der Universität – <strong>und</strong>, soweit die geleistet werden kann, auch Informationen für<br />

die Nutzer in den Fachbereichen –, zum anderen Hinweise für die Universitätsangehörigen, die<br />

die Möglichkeit zur Einwahl (dial-up) nutzen. Wichtig wären in diesem Zusammenhang auch Hinweise,<br />

wie Nutzer, die von beiden Zugangsmöglichkeiten Gebrauch machen, ihren oder ihre PGP-<br />

Schlüssel geschickterweise handhaben sollten. Die Adresse, unter der sie E-Mail empfangen können,<br />

ist schließlich bei beiden Zugangsmöglichkeiten identisch, im einen Fall dürfte es sich aber<br />

bei dem Rechner, an dem sie arbeiten, typischerweise um einen PC unter eigener administrativer<br />

Kontrolle handeln (Dialup), im anderen vermutlich eher um eine fremd-administrierte Workstation<br />

(Campus-Netz).<br />

Denkbar wäre in diesen Fällen, entweder zwei Schlüsselpaare zu verwenden, von denen das eine<br />

– für besonders sensible Kommunikation – nur auf dem heimischen PC benutzt wird, während das<br />

andere auf den Rechnern im Campus-Netz verwendet wird, oder aber verschlüsselte Mails gr<strong>und</strong>sätzlich<br />

zu Hause zu lesen. Bei der ersten Variante ergibt sich die Schwierigkeit, daß es Sache des<br />

Absenders <strong>einer</strong> vertraulichen Nachricht ist zu entscheiden, mit welchem Empfängerschlüssel die<br />

Nachricht gegebenenfalls verschlüsselt wird; es kann also vorkommen, daß ein Kommunikationspartner<br />

den „falschen“ Schlüssel benutzt, indem er etwa eine Mail schickt, die vom Campus-Netz<br />

aus gelesen werden soll, diese aber mit dem Schlüssel verschlüsselt, dessen geheimes Pendant nur<br />

auf dem privaten Rechner des Empfängers eingesetzt wird. Dies führt dazu, daß der Empfänger die<br />

Nachricht im Uni-Rechnernetz nicht entschlüsseln kann, so daß es zu Verzögerungen in der Kommunikation<br />

kommt oder der Absender die Nachricht erneut <strong>und</strong> diesmal mit dem zweiten Schlüssel<br />

des Empfängers verschlüsseln muß (also u.U. ein erheblicher Aufwand für die Kommunikationspartner).<br />

Die zweite Variante, nur auf dem Rechner zu entschlüsseln, der sich unter eigener Kontrolle<br />

befindet, ist unter Sicherheitsaspekten vorteilhaft, führt aber wieder dazu, daß bei der „normalen“<br />

E-Mail-Kommunikation seltener oder gar nicht verschlüsselt wird, da in diesem Falle der geheime<br />

Schlüssel nicht im Uni-Rechnernetz zur Verfügung steht.


68 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

4.14.4 Lokalisierung (Sprachanpassung)<br />

Da gerade an <strong>einer</strong> Universität nicht alle Computernutzer deutsche Muttersprachler sind (<strong>und</strong> selbst<br />

unter denen manche die englischsprachige Variante eines Programms bevorzugen mögen), sollten<br />

von Seiten der CA bzw. der Netzwerk-Administratoren alle erforderlichen Vorbereitungen getroffen<br />

werden, damit die Nutzer PGP auch mit anderen Sprach-Einstellungen verwenden können.<br />

Mindestens sollte dokumentiert sein, wie bei Bedarf Ausgaben in <strong>einer</strong> anderen Sprache erzeugt<br />

werden können <strong>und</strong> welche Installations- oder Konfigurationsschritte dafür erforderlich sind.<br />

Dies erscheint umso wichtiger, als gerade bei Sicherheitssoftware Fehlbedienungen aufgr<strong>und</strong> von<br />

Programm-Ausgaben in <strong>einer</strong> für den Nutzer schwer verständlichen Sprache gravierende Folgen<br />

haben können. (Umgekehrt bedeutet dies aber auch, daß – sofern verfügbar – auch Versionen der<br />

Verschlüsselungssoftware mit deutschsprachiger Bedienoberfläche bereitgehalten werden sollten,<br />

da viele Benutzer sich damit besser zurechtfinden werden als mit <strong>einer</strong> englischsprachigen Version!)<br />

4.14.5 Leitfäden für die Zertifizierung<br />

Zur Dokumentation für die Nutzer sollte die CA auch Hinweise parat halten, welche Schritte ein<br />

Nutzer unternehmen muß, wenn er eine Schlüsselzertifizierung wünscht. D.h. die Abläufe <strong>und</strong> Interaktionen<br />

Nutzer – CA sollten beschränkt auf die Schritte dargestellt werden, bei denen der Nutzer<br />

direkt involviert ist.<br />

4.14.6 Hinweise zum Schutz des Private-Keys<br />

Der Geheimhaltung des – oder der – eigenen Private-Keys kommt eine große Bedeutung zu, denn<br />

mit ihr steht oder fällt letztlich die Vertraulichkeit bzw. die Zurechenbarkeit <strong>einer</strong> Nachricht. Deswegen<br />

sollte die CA auch Empfehlungen dazu parat haben, wie jeder Nutzer seinen geheimen Schlüssel<br />

wirkungsvoll schützen kann – sowohl auf einem PC, der erfahrungsgemäß viele Sicherheitslücken<br />

<strong>und</strong> damit Angriffsmöglichkeiten aufweisen kann, als auch bei der Verwendung des Schlüssels<br />

innerhalb eines Rechnernetzes, in dem andere Personen Superuser-Rechte haben. Hierbei sind<br />

beispielsweise Zusammenstellungen wie die von RALF SENDEREK [Sen98] hilfreich. Diese Informationen<br />

könnten sinnvollerweise auch mit einem <strong>Teil</strong> des Zertifizierungsantrages dem Benutzer<br />

ausgehändigt werden <strong>und</strong> bei ihm verbleiben. Auf diesem <strong>Teil</strong> könnten dann zusätzlich die jeweils<br />

aktuellen Schlüsselinformationen zu den Signierschlüsseln der CA sowie ihre Kontaktangaben (Anschrift,<br />

Telefonnummer, Mailadressen) angeführt werden, so daß der Zertifikatnehmer sie leicht zur<br />

Hand hat, falls er mit der CA in Kontakt treten möchte.<br />

4.14.7 Key-Signing-Parties<br />

Um die Nutzung von Verschlüsselung zu stärken <strong>und</strong> zugleich die Anwender von Verschlüsselungssoftware<br />

in unterhaltsame <strong>und</strong> öffentlichkeitswirksame Aktivitäten einzubeziehen, bieten sich Key-<br />

Signing-Parties an, bei denen die <strong>Teil</strong>nehmenden untereinander ihre Public-Keys bzw. deren Fingerprint<br />

austauschen, ohne daß eine Zertifizierungsstelle involviert sein muß. (Unter Umständen


4.15. Software-Pflege (FTP-Server) 69<br />

kommt auch von Nutzerseite die Frage, wie so etwas organisiert werden kann.) Daher sollte auch<br />

eine Anleitung <strong>Teil</strong> der Dokumentation sein, wie man ein solches Key-Signing organisieren <strong>und</strong><br />

durchführen kann. (Eine kurze Beschreibung, wie ein Key-Signing organisiert werden kann, findet<br />

sich z.B. als Punkt 6.8 in der Comp.security.pgp-FAQ 10 .)<br />

4.15 Software-Pflege (FTP-Server)<br />

Eine Aufgabe, der sich die UNI-CA ebenfalls annehmen sollte, ist die Pflege eines FTP-Servers<br />

mit Verschlüsselungssoftware für möglichst alle der an der Universität gängigen Rechnertypen <strong>und</strong><br />

<strong>Betrieb</strong>ssysteme. Mindestens die vom Rechenzentrum selbst angebotenen oder unterstützten Plattformen<br />

sollten dabei abgedeckt werden.<br />

Der Zertifizierungsstelle wird aufgr<strong>und</strong> ihres größeren Know-hows auf diesem Gebiet ziemlich automatisch<br />

auch die Aufgabe zukommen, existierende Software mit (Public-Key-)Verschlüsselung<br />

auf ihre kryptographische Sicherheit hin zu bewerten oder zumindest die Einschätzungen von Fachleuten<br />

auf diesem Gebiet für ihre Nutzer zu dokumentieren (<strong>und</strong> im Extremfall <strong>einer</strong> gravierenden<br />

Sicherheitslücke diese auch darüber zu informieren). Dies betrifft insbesondere die unterschiedlichen<br />

Software-Versionen, die sich aus den US-Exportbestimmungen ergeben, die die Ausfuhr von<br />

starker Verschlüsselung außer in Sonderfällen bisher nicht zuließen (vgl. 4.19.6).<br />

Die UNI-CA sollte dazu Empfehlungen geben, welche von möglicherweise verschiedenen verfügbaren<br />

Versionen eines Programms unter Sicherheitsaspekten bevorzugt benutzt werden sollte. Zusätzlich<br />

könnte die Zertifizierungsstelle auch Patches bereitstellen <strong>und</strong> dokumentieren, die die starke<br />

Verschlüsselung in „Exportversionen“ von US-Software wieder einschalten. 11<br />

Im Zuge der Software-Bereitstellung durch die UNI-CA könnte es sich bei stärkerer Nachfrage<br />

nach kommerziellen Verschlüsselungsprogrammen oder kommerzieller Anwendungssoftware mit<br />

Verschlüsselung als sinnvoll erweisen, Bestellungen oder den Verkauf solcher Software an Universitätsangehörige<br />

abzuwickeln, wie es die Benutzerbetreuung oder die Rechenzentren mancher<br />

Hochschulen bereits mit allgem<strong>einer</strong> Software tun (siehe [FUB99]), oder sogar Campus-Lizenzen<br />

für die UNI zu beschaffen, falls die Nachfrage nach einem bestimmten Produkt sehr groß ist oder<br />

so erheblich günstigere Konditionen möglich werden.<br />

Die Software, die die CA auf ihrem FTP-Server bereitstellen sollte, läßt sich in die drei Kategorien<br />

Anwendungssoftware<br />

Server-Software <strong>und</strong><br />

CA-Software<br />

unterteilen, wobei eine eindeutige Zuordnung eines Programms in nur eine dieser Kategorien vermutlich<br />

nicht immer möglich sein wird.<br />

10 http://www.iks-jena.de/mitarb/lutz/security/pgpfaq.html<br />

11 z.B. FARRELL MCKAYS „Fortify“ für den Netscape Navigator, http://www.fortify.net


70 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

4.15.1 Anwendungssoftware<br />

Am stärksten wird Anwendungssoftware wie PGP selber, Web-Browser mit Verschlüsselungsfunktionalität<br />

oder Mail-Useragents mit integrierter Public-Key-Verschlüsselung nachgefragt werden,<br />

aber auch z.B. Newsreader mit PGP-Unterstützung oder Public-Key-verschlüsselnde Werkzeuge<br />

wie ssh.<br />

Bei den Web-Browsern sollte den Nutzern deutlich gemacht werden, wie stark oder schwach die<br />

Verschlüsselung ist, die von den unterschiedlichen Produkten bzw. deren verschiedenen Export-,<br />

Freeware- oder internationalen Versionen unterstützt wird. Hier sind insbesondere die durch die<br />

Offenlegung des Netscape Navigator-Quellcodes ermöglichte Open-Source-Version dieses Programms,<br />

Cryptozilla 12 , mit starker Verschlüsselung <strong>und</strong> der nicht von den US-Exportbestimmungen<br />

betroffene Browser Opera zu nennen, der ab Version 3.5 ebenfalls starke 128-Bit-Verschlüsselung<br />

unterstützt [CZ98i] <strong>und</strong> demnächst auch für Linux, Solaris <strong>und</strong> MacOS erhältlich sein soll [CZ98j].<br />

Da inzwischen die US-Exportbestimmungen gelockert wurden, sind nun auch Browser-Versionen<br />

mit starker Verschlüsselung von Netscape 13 <strong>und</strong> von Microsoft 14 international erhältlich.<br />

4.15.2 Server-Software<br />

Für die Absicherung von WWW-Servern durch starke Verschlüsselung werden bestimmte Versionen<br />

der jeweiligen Server-Software (oder Patches zu diesen Programmen) benötigt, die die CA ebenfalls<br />

zusammenstellen <strong>und</strong> bereithalten sollte. Administratoren in den einzelnen Fachbereichen werden<br />

sich von der Zertifizierungsstelle, die letztlich von vielen Nutzern als eine Art Competence Center<br />

für alle Verschlüsselungsbelange angesehen werden wird, Hilfe bei der Auswahl geeigneter Server-<br />

Software oder bei deren Installation <strong>und</strong> sicherheitstechnischer Konfiguration erhoffen. Letztlich<br />

sollen für solche Server dann ja auch von der UNI-CA die Zertifikate ausgestellt werden.<br />

4.15.3 CA-Software (für Sub-CAs)<br />

Spätestens dann, wenn die UNI-CA eigene nachgeordnete Zertifizierungsstellen zuläßt, wird es auch<br />

erforderlich, diesen geeignete CA-Software <strong>und</strong> vielleicht auch Hinweise zu deren Einsatz unter den<br />

spezifischen Bedingungen der UNI zur Verfügung zu stellen. Daher sollte auch ein entsprechender<br />

<strong>Teil</strong> mit CA-Software, -Tools usw. auf dem FTP-Server der UNI-CA eingeplant werden.<br />

4.16 Außendarstellung der CA<br />

„Wir haben weltweit sechs Millionen User der Verschlüsselungssoftware PGP, aber unsere An-<br />

tivirussoftware wird schon von 60 Millionen benutzt.“ Bill Larson in [Moe99]<br />

Wie das Zitat von NAI-Chef BILL LARSON belegt, existiert ein großes Potential an durchaus sicherheitsbewußten<br />

oder für Sicherheitsgefahren sensibilisierten Computernutzern, das aber bislang<br />

12 http://www.cryptozilla.org<br />

13 http://www.netscape.com/newsref/pr/newsrelease794.html<br />

14 http://www.microsoft.com/presspass/press/2000/Jan00/encryptionPR.asp


4.16. Außendarstellung der CA 71<br />

hinsichtlich des Einsatzes von Verschlüsselungstechnik noch kaum erschlossen ist. Daher muß es<br />

auch die Aufgabe <strong>einer</strong> Zertifizierungsstelle sein, das Bewußtsein der Anwender für Sicherheitsrisiken<br />

bei der elektronischen Kommunikation oder der Internet-Nutzung zu wecken <strong>und</strong> zu schärfen.<br />

Dies kann auf eher humorvolle Weise geschehen, durch Texte wie den von ANDREAS PFITZMANN<br />

zum „Schlüsselhinterlegungs- <strong>und</strong> Aufbewahrungsgesetz“ 15 , aber auch durch die Vorbildwirkung<br />

der Zertifizierungsstelle <strong>und</strong> anderer Einrichtungen oder Personen.<br />

Aus diesem Gr<strong>und</strong> sollte die Zertifizierungsstelle <strong>und</strong>, wenn irgend möglich, das ganze Rechenzentrum<br />

die Sicherheitsverfahren, deren Einsatz sie propagieren, auch selber sichtbar anwenden. (Das<br />

ist auch eine Sache der Glaubwürdigkeit.) Ein erster Schritt in dieser Richtung könnte beispielsweise<br />

darin bestehen, die wichtigsten WWW-Server des Rechenzentrums bzw. der UNI HTTPS-fähig<br />

zu machen, so daß auch verschlüsselte Verbindungen zu ihnen möglich sind. (Eine Anleitung, wie<br />

dies mit dem weit verbreiteten HTTP-Server apache durchgeführt werden kann, ist in <strong>Teil</strong> III dieses<br />

Handbuches wiedergegeben.) Auf diese Neuerung müßte natürlich auch angemessen hingewiesen<br />

werden (durch News-Postings in geeignete UNI-interne Newsgruppen, durch Artikel in der UNI-<br />

Hauszeitung oder durch Hinweise auf den Einstiegsseiten der Server), damit möglichst viele Nutzer<br />

davon erfahren.<br />

Eine weitere Möglichkeit bestünde darin, daß die RZ-Mitarbeiter sich PGP-Schlüssel erzeugen<br />

<strong>und</strong> in ihren Mail-Signatures darauf hinweisen, daß jetzt auch eine verschlüsselte E-Mail-<br />

Kommunikation mit ihnen möglich ist oder daß sie ihre News-Postings mit PGP digital signieren.<br />

(Bei Klartext-Signaturen, wie sie PGP unterstützt, bleibt der eigentliche Text weiterhin lesbar, auch<br />

für alle Anwender, die PGP nicht nutzen, insofern wäre dies problemlos möglich <strong>und</strong> würde niemanden<br />

daran hindern, die Postings lesen zu können.)<br />

Positiv zu vermerken ist, daß die Sensibilität für das Thema Verschlüsselung bzw. Vertraulichkeit<br />

bei elektronischer Kommunikation wächst, wie das folgende Zitat aus dem ötv-magazin belegt:<br />

„Ein Einfallstor für Datenspione aller Art ist die E-Mail. Einmal versendet, kann sie von Sy-<br />

stemverwaltern, Mitarbeitern des Providers oder den Datenfahndern der internationalen Ge-<br />

heimdienste jederzeit mitgelesen werden. Im neuen Datenschutzgesetz sind das Archivieren<br />

der E-Mail-Kommunikation durch die Provider <strong>und</strong> ein Zugriff der Geheimdienste vorgese-<br />

hen. Schützen läßt sich die E-Mail-Kommunikation nur durch konsequente Verschlüsselung.<br />

Von den vielen Verschlüsselungstechniken hat sich bis vor kurzem »Pretty Good Privacy«<br />

(http://www.pgp.com) als besonders wirksam erwiesen.<br />

(Aus »journalist Medienpraxis« 8/1998)“ [ötv99]<br />

<strong>und</strong> auch die „Verbraucherschützer raten zur Verschlüsselung“, wie der Berliner TAGESSPIEGEL<br />

zu berichten weiß [Tsp99b].<br />

Um in der Anlaufphase gezielt Nutzer anzusprechen, die bereits PGP zur Verschlüsselung einsetzen<br />

<strong>und</strong> die daher vermutlich am leichtesten für die Nutzung der Dienste <strong>einer</strong> Zertifizierungsstelle<br />

gewonnen werden können, wäre eine gezielte Mail mit dem Hinweis auf das neue Angebot an alle<br />

PGP-Nutzer der UNI denkbar. Dazu könnten von den PGP-Keyservern alle Schlüssel abgefragt<br />

werden, die die Zeichenkette ‘UNI’ oder ‘UNI.de’ in <strong>einer</strong> ihrer Benutzerkennungen enthalten.<br />

Die entsprechenden Adressen könnte man anmailen <strong>und</strong> die betreffenden Personen so auf das neue<br />

15 http://www.zerberus.de/texte/ccc/ccc95/div/pfitz/satire.htm


72 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Angebot hinweisen. (Allerdings gilt es hier sorgsam abzuwägen, ob diese Aktion nicht „nach hinten<br />

losgehen“ könnte, <strong>und</strong> zwar dann, wenn viele der angeschriebenen die Mail eher als spam, also als<br />

belästigende, unverlangt zugesandte Nachricht, auffassen!)<br />

Eine andere Aktionsform, mit der die Zertifizierungsstelle den Zusammenhalt der UNI-PGP-Nutzer<br />

untereinander fördern <strong>und</strong> sie miteinander persönlicher bekanntmachen könnte, wären Key-Signing-<br />

Parties (siehe 4.14.7) im Rahmen anderer geeigneter Anlässe. Damit eine solche Key-Signing-Party<br />

ein Erfolg wird, sind einige organisatorische Vorbereitungen zu treffen; würde die UNI-CA diese<br />

Aufgabe übernehmen, so würde sie durch gelungene Key-Signing-Parties die Nutzer sicher auch<br />

zur Nachahmung anregen.<br />

Weitergehende öffentlichkeitswirksame Aktivitäten der Zertifizierungsstelle könnten z.B. in Kooperationen<br />

mit dem Datenschutzbeauftragten der UNI oder dem des betreffenden B<strong>und</strong>eslandes oder<br />

mit Verbraucherverbänden (s.o.) bestehen. (Siehe dazu auch Abschnitt 4.18.)<br />

Nachstehend werden nun einige spezielle Gesichtspunkte, die <strong>Teil</strong>e der Außendarstellung oder der<br />

Öffentlichkeitsarbeit <strong>einer</strong> Zertifizierungsstelle betreffen, näher erörtert.<br />

4.16.1 Benennung: ‘CA’ vs. ‘Trustcenter’<br />

Der Begriff ‘Trustcenter’ wird unterschiedlich gebraucht: Manche Autoren verwenden ihn pauschal<br />

für alle Vertrauensinstanzen, andere verknüpfen den Begriff mit <strong>einer</strong> bestimmten baulichorganisatorischen<br />

Ausprägung:<br />

„Ist die Vertrauensinstanz räumlich <strong>und</strong> organisatorisch verselbständigt, quasi als eigene Trutz-<br />

burg hinter Beton, Außenhautsicherungen <strong>und</strong> Zutrittskontrollen abgesichert, wird sie als Trust-<br />

center bezeichnet.“ [BHK<br />

94, S. 41]<br />

Unter anderem in Dokumenten der Europäischen Union bedeutet der Begriff ‘Trustcenter’ oder auch<br />

‘Trusted Third Party’ (TTP), also ein vertrauenswürdiger Dritter, fast immer zugleich auch ‘eine<br />

Stelle zur Hinterlegung geheimer Schlüssel’ (Stichwort key escrow bzw. key recovery), die gegebenenfalls<br />

den Sicherheitsbehörden eines Landes den Zugriff auf die Schlüssel ermöglicht. Insofern<br />

ist, zumindest für „Eingeweihte“, der Begriff ‘Trustcenter’ nicht mehr so positiv oder neutral, wie<br />

er für einen neutralen Beobachter zunächst erscheinen mag. Die EU-Kommission hält dies selber<br />

fest, indem sie in [EUK97, 2., dt. Fassung] bemerkt:<br />

„TTPs ... werden jedoch häufig mit dem rechtmäßigen Zugriff auf Schlüssel in Verbindung<br />

gebracht [...]. Es ist nicht ausgeschlossen, daß TTPs auch als CA, wie in dieser Mitteilung be-<br />

schrieben, fungieren können. Die Aufgaben beider Einrichtungen werden jedoch als verschie-<br />

den angesehen.“<br />

An anderer Stelle im selben Dokument wird die Kommission sogar noch deutlicher, wenn sie im<br />

Zusammenhang mit dem Schutz vor „Identitätsdiebstahl“ feststellt:<br />

„CAs muß es deshalb verboten sein, private Schlüssel aufzubewahren. Das wiederum un-<br />

terscheidet CAs von TTPs, welche gerade das Aufbewahren von Informationen über private<br />

Schlüssel zu ihren Aufgaben zählen.“


4.16. Außendarstellung der CA 73<br />

Das alleine wäre schon Gr<strong>und</strong> genug, mit Blick auf die EU-Richtlinie zu elektronischen Signaturen<br />

(vgl. 3.5.3) auf derartige Angebote an die Nutzer zu verzichten. Dieser Verzicht sollte auch aus<br />

einem anderen Gr<strong>und</strong> umso leichter fallen: Die sichere Erzeugung bzw. Speicherung oder Archivierung<br />

geheimer Nutzerschlüssel ist mit erheblichem Aufwand für die betreffende Stelle verb<strong>und</strong>en<br />

– auch aus diesem Gr<strong>und</strong> sollte die UNI-CA bis auf weiteres keine derartigen Trustcenter-Dienste<br />

anbieten. 16<br />

4.16.2 Vertrauen<br />

Das Vertrauen ist eine zarte Pflanze;<br />

ist es zerstört, so kommt es sobald nicht wieder.<br />

— OTTO von BISMARCK, nach [Ull60, S. 349]<br />

Vertrauen kann nicht „erzeugt“, wohl aber können die Rahmenbedingungen, die sein Entstehen<br />

begünstigen, geschaffen werden. Vertrauen kann beschrieben werden als riskante Vorleistung bzw.<br />

ein mittlerer Zustand im Spannungsfeld zwischen Wissen <strong>und</strong> Nichtwissen.<br />

„Der Wissende braucht nicht zu vertrauen. [...] Das Fehlen vollständiger Informationen ist also<br />

eine Hauptbedingung dafür, daß Vertrauen erforderlich ist. Eine Position, die Vertrauen vor<br />

allem unter dem Aspekt der Vertrauenswürdigkeit betrachtet <strong>und</strong> ... davon ausgeht, daß nur<br />

vertraut wird, wenn etwas sicher ist, verfehlt diesen wichtigen Punkt ...“ [BBFK98, S. 3–4].<br />

Vertrauen ist „spröde“ wie ein Kristall, sagen Sozialwissenschaftler. Es wächst nur langsam, <strong>und</strong> es<br />

kann durch eine heftige Einwirkung von außen vollständig zerstört werden – umso mehr muß <strong>einer</strong><br />

Zertifizierungsstelle, die ihre Existenz ja letztlich in dem Vertrauen begründet, das ihr die Zertifikatnutzer<br />

entgegenbringen, daran gelegen sein, dieses Vertrauen zu bewahren <strong>und</strong> Erschütterungen<br />

zu vermeiden.<br />

Die UNI-CA wäre allerdings nicht nur auf solche „Werbe-“ oder „vertrauensbildenden Maßnahmen“<br />

angewiesen, sondern könnte selber auch von ihrer anzunehmenden personellen <strong>und</strong> räumlichorganisatorischen<br />

Verzahnung mit dem UNI-Rechenzentrum <strong>und</strong> von dessen positivem Image (so<br />

vorhanden) bei den meisten Internet-Nutzern der UNI profitieren:<br />

Wenn die Namen von Herstellern <strong>und</strong> Betreibern bereits bekannt sind <strong>und</strong> bislang für solide<br />

Produkte <strong>und</strong> Dienstleistungen standen, wird man der neuen Technik u.U. im voraus mehr Ver-<br />

trauen schenken, als wenn auch sie in der Öffentlichkeit großenteils unbekannt sind. ... Auch<br />

neue Unternehmen, die aus bekannten hervorgehen oder mit ihnen in anderer Weise in Verbin-<br />

dung gebracht werden können, profitieren von solchen Analogien. [BBFK98, 15] (siehe auch<br />

4.12)<br />

Ein ganz heikler Punkt ist in diesem Zusammenhang auch die Schlüsselerzeugung:<br />

16 Zu <strong>einer</strong> Erörterung der angemessenen Bezeichnung für die noch umfassendere Public-Key-Infrastruktur siehe HAM-<br />

MER [Ham98]


74 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

„Die Vertrauenswürdigkeit eines Trust Centers ist viel leichter (bzw. nur) zu erreichen, wenn<br />

es keine geheimen <strong>Teil</strong>nehmerschlüssel kennt. Selbst wenn die Schlüssel nach der Erzeugung<br />

wirklich sofort gelöscht werden, läßt sich dies nicht beweisen. Es bleibt stets Raum für Ge-<br />

rüchte <strong>und</strong> Unterstellungen. Es sollte also im eigenen Interesse eines Trust Centers sein, keine<br />

geheimen Schlüssel [für die <strong>Teil</strong>nehmer] zu erzeugen. Wer eine Sicherungsinfrastruktur auf-<br />

baut, muß dem <strong>Teil</strong>nehmer Optionen geben, seine Schlüssel sicher zu generieren. Wie aber<br />

die obigen Bemerkungen gezeigt haben, ist eine alleinige Generierung in einem Trust Center<br />

ungeeignet.“ [Fed97] 17<br />

Daher ist auch die Schlüsselgenerierung für <strong>Teil</strong>nehmer ausschließlich für die Low-Level UNI-CA<br />

vorgesehen. Sie soll (<strong>und</strong> kann) kein hohes Sicherheitsniveau bei der Zertifizierung gewährleisten<br />

– dafür ist die Medium-Level-CA vorgesehen –, sondern ihr Hauptzweck besteht darin, möglichst<br />

öffentlichkeitswirksam zu agieren; sie muß sich dabei allerdings davor hüten, durch nachlässiges<br />

Verhalten die Vertrauenswürdigkeit der UNI-CA insgesamt zu gefährden.<br />

4.16.3 WWW-Präsenz<br />

Natürlich gehört für eine Institution, die sich ausschließlich mit Dienstleistungen im Zusammenhang<br />

mit digitaler Kommunikation <strong>und</strong> dem Internet befaßt, zur Außendarstellung auch eine entsprechende<br />

WWW-Präsenz.<br />

Die UNI-CA sollte diesen Weg nutzen, um ihre Arbeit, die Gr<strong>und</strong>lagen dafür <strong>und</strong> entsprechende<br />

Dokumentation für alle Interessierten (auch für relying parties) in leicht zugänglicher Form zur Verfügung<br />

zu stellen. An anderer Stelle wurde bereits erwähnt, daß im Interesse ihrer Glaubwürdigkeit<br />

die Zertifizierungsstelle selbst auch diejenigen Sicherungsmöglichkeiten (verschlüsselte Kommunikation,<br />

digital signierte öffentliche Ankündigungen, SSL-gesicherter Zugriff auf ihre Web-Seiten)<br />

nutzen sollte, die sie als Dienste anbietet <strong>und</strong> deren Nutzung sie fördern will.<br />

Bei der Software-Verteilung haben die WWW-Seiten gegenüber dem FTP-Server den Vorzug, daß<br />

mit ihrer Hilfe noch besser die Struktur des Software-Angebotes deutlich gemacht <strong>und</strong> daß Hinweise<br />

zu einzelnen Programm-Versionen unmittelbar mit diesen verknüpft dargestellt werden können.<br />

Eine Studie zu Vertrauen in Anbieter von electronic commerce im World Wide Web <strong>und</strong> zu deren<br />

Web-Auftritt [CSA99] ergab einige interessante Aspekte, die man beim Web-Auftritt der neuen<br />

„Marke“ UNI-CA beherzigen sollte:<br />

Auch wenn sich Vertrauen erst langsam im Laufe der Zeit einstellt, muß Vertrauenswürdigkeit<br />

dem Besucher <strong>einer</strong> Web-Site vom ersten Kontakt an vermittelt werden.<br />

Eine neue Firmenmarke (brand) im WWW braucht eine exzellente Navigation <strong>und</strong> K<strong>und</strong>enzufriedenheit,<br />

wenn ihr vertraut werden soll.<br />

17 Die entgegengesetzte Position pro Schlüsselgenerierung im Trustcenter wird von ROLAND NEHL (Deutsche Telekom<br />

AG/Telesec) in [Neh97] vertreten. Nicht sonderlich überzeugend allerdings sein Argument, das Trustcenter hätte gar kein<br />

Interesse daran, Kenntnis des geheimen Schlüssels eines K<strong>und</strong>en zu erlangen, da es ja selber ein Schlüsselpaar erzeugen<br />

<strong>und</strong> dann den öffentlichen Schlüssel als vorgeblich den des K<strong>und</strong>en zertifizieren könnte – dieser Angriff würde viel<br />

schneller auffallen als die Kenntnis des geheimen Nutzerschlüssels.


4.16. Außendarstellung der CA 75<br />

Der Bekanntheitsgrad <strong>einer</strong> Web-Site ist wichtig für das Vertrauen, das ihr die Besucher entgegenbringen.<br />

Web-basierende Sicherheits-Markennamen-Symbole wie VeriSign vermitteln dem Besucher<br />

Vertrauenswürdigkeit.<br />

Die Bedeutung <strong>einer</strong> guten Gestaltung <strong>und</strong> Benutzerführung beim WWW-Auftritt also gerade für<br />

eine Zertifizierungsstelle, für die es ja wie für kaum eine andere Einrichtung auf das Vertrauen<br />

ihrer „K<strong>und</strong>schaft“ ankommt, kann daher nicht genug betont werden. Zum Glück läßt sich auch mit<br />

einfachen Mitteln, mit kostenlosen Tools <strong>und</strong> vertretbarem Aufwand ein gelungener Web-Auftritt<br />

mit <strong>einer</strong> Corporate Identity erzielen [BP99]. Aufgr<strong>und</strong> des letzten Punktes bietet es sich darüber<br />

hinaus an, den Web-Auftritt der UNI-CA mit einigen geeigneten, bekannten seals of support zu<br />

versehen, beispielsweise jenen für PGP, SSL, OpenSSL oder „pro Verschlüsselung“ allgemein.<br />

4.16.4 Erreichbarkeit der CA als Einrichtung<br />

Für eine <strong>Zertifizierungsinstanz</strong> <strong>und</strong> ihre Registrierungsstellen, die ja auf den persönlichen Kontakt<br />

mit den Zertifikatnehmern angewiesen sind, ist eine gute Erreichbarkeit durch die Nutzer unabdingbar.<br />

Das betrifft sowohl die geographische Lage ihrer Räumlichkeiten, als auch die Öffnungs- oder<br />

Bürozeiten, als auch ihre sonstigen Kommunikationsverbindungen. Alle diese Angaben müssen für<br />

die (potentiellen) Nutzer leicht zugänglich <strong>und</strong> mit wenig Aufwand ermittelbar sein.<br />

4.16.4.1 Büro <strong>und</strong> Sprechzeiten<br />

Einzelne CA-Mitarbeiter oder Raumnummern der Zertifizierungsstelle sollten nicht in der Policy<br />

genannt werden, da diese ansonsten geändert werden müßte, bloß weil eventuell das CA-Büro innerhalb<br />

des Gebäudes einige Zimmer weiter zieht oder weil ein Mitarbeiter ausscheidet.<br />

Hinsichtlich der Büro-Sprechzeiten der UNI-CA bieten sich zwei Alternativen an: Entweder die<br />

Zertifizierungsanträge können in der allgemeinen Benutzerberatung während deren Öffnungszeiten<br />

abgegeben werden <strong>und</strong> werden dort von einem der RZ-Mitarbeiter entgegengenommen, der dort<br />

gerade Dienst tut (dann müßten diese Personen über die vorzunehmenden Kontrollen bei der Identitätsprüfung<br />

informiert <strong>und</strong> in die Arbeitsorganisation der CA einbezogen werden), oder aber es<br />

wird eine separate „Zertifizierungs-Sprechst<strong>und</strong>e“ angeboten, während der Zertifizierungsanträge<br />

abgegeben <strong>und</strong> Fragen zur Zertifizierung gestellt werden können. Bei der zweiten Variante wäre der<br />

Umfang der wöchentlichen Sprechzeiten vermutlich geringer, dafür wäre sichergestellt, daß <strong>einer</strong><br />

der CA-Mitarbeiter für die Fragen zur Verfügung steht, außerdem müßten nicht so viele Mitarbeiter<br />

wie bei der ersten Variante koordiniert werden.<br />

4.16.4.2 Hotline für Notfälle<br />

Für eine umgehende Verständigung der CA im Falle <strong>einer</strong> Schlüsselkompromittierung könnte eine<br />

„Notrufnummer“ hilfreich sein. Allerdings bestünde bei ihr vermutlich das Problem, daß sich kaum<br />

verhindern ließe, daß sie von den Nutzern auch angerufen würde, wenn sie irgendwelche Fragen zur


76 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Zertifizierung oder zu Verschlüsselungssoftware haben <strong>und</strong> gar keine Dringlichkeit ihrer Anfrage<br />

gegeben ist.<br />

Wenn ein solcher Service nicht angeboten wird, sollte in den Policies der UNI-CA deutlich gemacht<br />

werden, innerhalb welcher Zeiträume die CA typischerweise erreicht werden kann, wie lang also<br />

schlimmstenfalls die Zeitspanne zwischen der Entdeckung <strong>einer</strong> Schlüsselkompromittierung <strong>und</strong><br />

der Sperrung des betreffenden Zertifikates ist.<br />

4.16.4.3 E-Mail<br />

Für die Kommunikation mit der UNI-CA per E-Mail muß zunächst einmal die Mailadresse festgelegt<br />

werden. Sie wird auch in der Policy genannt <strong>und</strong> muß nach den Vorgaben der Low-Level <strong>DFN</strong>-<br />

Policy bei PGP-Schlüsseln in der Benutzerkennung des CA-Signierschlüssels enthalten sein (Abschnitt<br />

8.1). Naheliegend <strong>und</strong> angenehm kurz wäre ca@UNI.de, aber es sind auch andere Varianten<br />

denkbar (zertifizierungsstelle@UNI.de, uni-ca@rz.UNI.de, ...) Es dürfte sinnvoll<br />

sein, für die UNI-CA als Einrichtung nur eine einzige E-Mailadresse zu verwenden <strong>und</strong> nicht für<br />

jede der Policies eine eigene Adresse, etwa der Art low-ca@UNI.de usw., vorzusehen. Falls die<br />

Nachfrage nach Zertifizierungsdiensten später einmal sehr groß werden sollte, kann eine Aufteilung<br />

vielleicht hilfreich sein, während der Startphase <strong>und</strong> der ersten Zeit der CA-Tätigkeit dürften sich<br />

aber die Anfragen in Grenzen halten – insbesondere, da es zu den Low-Level-Zertifikaten nicht so<br />

viele Fragen an die CA geben dürfte, weil diese ja unmittelbar ausgestellt <strong>und</strong> dem Zertifikatnehmer<br />

ausgehändigt werden.<br />

Ein weiterer wichtiger Punkt, der von Anfang an geklärt sein muß, ist die Handhabung der verschiedenen<br />

CA-Schlüssel bzw. von Mails „der CA“ nach außen. Zu klären sind die Punkte<br />

Unter welchem Absender bzw. von welchem Account aus werden die Antworten der CA<br />

verschickt?<br />

Mit welchem/wessen Schlüssel (von wem) werden sie gegebenenfalls (oder immer?) signiert?<br />

Mit einem Schlüssel der CA? – Das dürfte dann nicht der Zertifizierungsschlüssel sein. Oder<br />

mit dem Schlüssel des antwortenden Mitarbeiters?<br />

Wird ein einheitliches Reply-to: bei den ausgehenden Mails der Zertifizierungsstelle verwendet<br />

(empfehlenswert, damit die Kommunikation weiterhin an die Adresse der CA <strong>und</strong> nicht<br />

die eines einzelnen Mitarbeiters gerichtet bleibt), <strong>und</strong> wenn ja: Welche Adresse wird angegeben?<br />

Soll von allen ausgehenden CA-Mails eine Kopie oder Blindkopie an eine CA-Mailadresse<br />

geschickt werden? (an welche?)<br />

Vorgeschlagen wird eine Vorgehensweise analog zu der bei <strong>DFN</strong>-<strong>CERT</strong> <strong>und</strong> -PCA. Dort gibt es<br />

einen „Team-Key“ genannten Schlüssel für die vertrauliche Kommunikation mit dem <strong>CERT</strong>, über<br />

dessen geheime Komponente alle <strong>CERT</strong>-Mitarbeiter verfügen, <strong>und</strong> die Mitarbeiter signieren die<br />

Nachrichten, die sie im Rahmen ihrer <strong>CERT</strong>-Arbeit versenden, mit ihrem persönlichen Schlüssel<br />

[CER94]. Der Zertifizierungsschlüssel der CA wird ausschließlich für das Signieren von Zertifikaten,<br />

Zertifikatwiderrufen, Cross-Zertifikaten, Sperrlisten <strong>und</strong> Policies verwendet.


4.16. Außendarstellung der CA 77<br />

Die Mails, die in der Funktion als CA-Mitarbeiter verschickt werden, sollten alle ein ‘Cc:’ sowie ein<br />

‘Reply-to:’ auf die Mailadresse der UNI-CA enthalten. Darüber hinaus sollte die CA nach außen hin<br />

auch in ihren E-Mails ein einheitliches Erscheinungsbild wahren, insbesondere was das PGP-Format<br />

der Mails angeht. Hier muß eine Entscheidung zwischen zwei Varianten getroffen <strong>und</strong> dann in der<br />

Praxis auf ihre Tauglichkeit erprobt werden, die dann auch von den CA-Mitarbeitern eingehalten<br />

werden sollte – auch wenn dies für sie u.U. heißen kann, daß sie für die CA-Tätigkeit ein anderes<br />

als ihr individuell bevorzugtes Mail-Programm benutzen müßten (siehe dazu auch Abschnitt 5.2.9).<br />

4.16.5 Verteilung des authentischen CA-Signierschlüssels<br />

Zertifizierungsstellen reduzieren zwar das Problem der Verteilung authentischer Schlüssel (vgl. 2.3),<br />

schaffen es aber nicht völlig aus der Welt: Zumindest der Schlüssel, mit dem die Signaturen der<br />

jeweiligen Zertifizierungsstelle überprüft werden können, muß noch in authentischer Form zu den<br />

Zertifikat-Nutzern transportiert werden.<br />

Üblicherweise bedient man sich dazu nicht-elektronischer Kommunikationswege wie Kuriere<br />

oder Drucksachen. So muß nach § 8 (2) SigV die „zuständige Behörde“, die Wurzel-<br />

<strong>Zertifizierungsinstanz</strong> nach dem Signaturgesetz, ihre Schlüssel im B<strong>und</strong>esanzeiger veröffentlichen<br />

18 , die pgpCA der c’t nutzt das Impressum der eigenen Zeitschrift (alle Ausgaben seit Start<br />

der Krypto-Kampagne zur CeBIT 1997), die <strong>DFN</strong>-PCA verfügen mit den <strong>DFN</strong>-Mitteilungen über<br />

ein geeignetes Verbreitungsmedium, <strong>und</strong> die IN-Root-CA ist mit dem Fingerprint ihres Schlüssels<br />

beim Linux Magazin [LIN] untergekommen. 19<br />

Zwei Möglichkeiten zur Schlüsselverteilung für die UNI-CA <strong>und</strong> zugleich eine gute Gelegenheit,<br />

sich mittels eines Artikels einem breiteren Publikum bekannt zu machen, wären die regelmäßigen<br />

UNI-Publikationen <strong>und</strong> das gedruckte Vorlesungsverzeichnis der UNI.<br />

Eine andere Gelegenheit, den öffentlichen UNI-CA-Schlüssel zur Prüfung von CA-Signaturen unter<br />

den RZ-Nutzern zu verteilen <strong>und</strong> sich selbst bekannt zu machen, böte eine CD-ROM der Zertifizierungsstelle<br />

– oder aber es wird die nächste Gelegenheit genutzt, die Schlüsseldaten der öffentlichen<br />

CA-Schlüssel <strong>und</strong> einige Zusatzinformationen auf der „Dialup“-Software-CD-ROM mit unterzubringen,<br />

die das UNI-Rechenzentrum seinen Nutzern anbietet. Hier wäre bei der Produktion des<br />

Masters bzw. der Abnahme der fertiggepreßten CD-ROMs vom Hersteller besonders zu kontrollieren,<br />

daß auch die authentischen CA-Schlüssel <strong>und</strong> keine Fälschungen auf den Medien gespeichert<br />

sind. Ein Nachteil besteht bei den nicht überschreibbaren CD-ROMs: Ein eventueller Schlüsselwechsel<br />

könnte nicht nachvollzogen werden, falls die CD-ROM in <strong>einer</strong> hohen Auflage gepreßt<br />

würde <strong>und</strong> sie nicht schnell genug verteilt wird. Oder, noch ungünstiger: eine Kompromittierung<br />

des UNI-CA-Schlüssels führte, falls sie denn einträte, dazu, daß sich ein solcher kompromittierter,<br />

nicht mehr verwendbarer Schlüssel auf den noch vorhandenen CD-ROMs befände. Bei Disketten<br />

wäre es hingegen möglich, entsprechende neue Schlüssel auf die Datenträger zu kopieren. Insofern<br />

ist die Lösung mit Disketten, die auch der Schleswig-Holsteinische Datenschutzbeauftragte für<br />

seinen PGP-Key gewählt hat, eventuell günstiger.<br />

18 so erstmalig im B<strong>und</strong>esanzeiger Nr. 186 vom 6. Oktober 1998<br />

19 Die im März 2000 gültigen Schlüsselinformationen der <strong>DFN</strong>-PCA sind auch ganz am Ende dieses Handbuches<br />

abgedruckt.


78 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Wichtig ist in jedem Fall der eindringliche Hinweis an die Nutzer, sich immer erst zu vergewissern,<br />

daß sie den authentischen Schlüssel erhalten haben, bevor sie sich auf die damit signierten Zertifikate<br />

verlassen. Ein Vorfall von 1997 mag deutlich machen, daß dies gar nicht oft genug betont werden<br />

kann:<br />

Im Sommer 1997 waren einige „exponierte“ PGP-Schlüssel wie der Zertifizierungsschlüssel der<br />

c’t-CA <strong>und</strong> der Signierschlüssel der IN-Root-CA Ziel eines unbekannten Angreifers. Der Unbekannte<br />

spielte Fälschungen der entsprechenden Schlüssel auf den internationalen PGP-Keyservern<br />

ein, vermutlich mit dem Ziel, andere PGP-Anwender zu verwirren <strong>und</strong> die betreffenden CAs zu<br />

diskreditieren:<br />

Type Bits/KeyID Date User ID<br />

pub 2048/93478F6B 1997/06/17 in-ca@individual.net SIGN EXPIRE:1998-12-31<br />

Root CA des Individual Network e.V. <br />

Key fingerprint = F9 B7 D9 68 AC 0D 18 18 96 1C 3B BA 78 47 B3 14<br />

pub 2048/D8759C65 1997/03/10 in-ca@individual.net SIGN EXPIRE:1998-12-31<br />

Root CA des Individual Network e.V.<br />

Key fingerprint = 1B E1 4F F7 EC DE 3B 09 6E 5A 9F 6F 13 CB AF C7<br />

Die oberen Daten sind die des gefälschten, die unteren die des authentischen 1997er-Signierschlüssels<br />

der IN-Root-CA. Entsprechend sind nachstehend zuerst die Schlüsselinformationen des gefälschten<br />

<strong>und</strong> dann die des authentischen Zertifizierungsschlüssels der c’t pgpCA wiedergegeben:<br />

Type Bits/KeyID Date User ID<br />

pub 1024/604D8FFB 1997/03/05 ct magazine <strong>CERT</strong>IFICATE <br />

Key fingerprint = 17 01 93 C0 06 59 27 6B 49 12 F6 D9 B2 14 D4 A5<br />

pub 1024/BB1D9F6D 1997/03/04 ct magazine <strong>CERT</strong>IFICATE <br />

Key fingerprint = 22 09 55 9D 72 60 87 B0 02 C3 71 9C 4E 0E 07 77<br />

Original <strong>und</strong> Fälschung unterscheiden sich jeweils zwar noch in einigen Punkten (KeyID, hinterer<br />

<strong>Teil</strong> der UserID, Fingerprint, Erstellungsdatum), aber ein etwas entschlossenerer Angreifer hätte<br />

leicht auch einen gefälschten Schlüssel mit identischem Erstellungsdatum fabrizieren können – etwa<br />

indem er die Rechneruhr vor der Schlüsselerzeugung entsprechend zurückstellt. Er hätte daneben<br />

die User-ID völlig identisch wählen können <strong>und</strong> vielleicht sogar auch noch versucht, eine Fälschung<br />

mit derselben numerischen Key-ID wie der des betreffenden CA-Schlüssels zu generieren. (Daß es<br />

gr<strong>und</strong>sätzlich möglich ist, einen Schlüssel mit derselben numerischen Kennung wie der eines anderen<br />

Keys zu erzeugen, zeigen der 1998er-Signierschlüssel der IN-Root-CA <strong>und</strong> der überregionalen<br />

IN-CA – siehe 5.5. Inzwischen gibt es sogar schon die ersten PGP-Schlüssel, bei denen alle 64 Bits<br />

der KeyID identisch sind, nicht nur die 32 Bits, die normalerweise angezeigt werden! 20 )<br />

Diese Fälschungen sind möglich, weil man die User-ID bei PGP-Schlüsseln selbst bestimmen <strong>und</strong><br />

beliebige öffentliche Schlüssel auf den Keyservern ablegen kann, ohne daß zuvor eine Identitätsprüfung<br />

stattgef<strong>und</strong>en hat. Leider kann man bei der Funktionsweise der etablierten PGP-Keyserver<br />

nicht verhindern, daß sich ein Spaßvogel oder Angreifer einen Schlüssel mit derselben Benutzerkennung<br />

wie der eines existierenden Schlüssels generiert <strong>und</strong> diese Fälschung auf die Keyserver<br />

lädt. Die Fälschung ist dann nur bei genauem Hinsehen anhand der Signaturen für diesen Schlüssel<br />

20 http://www.rubin.ch/pgp/keyring/


4.16. Außendarstellung der CA 79<br />

oder anhand des Fingerprints vom Original zu unterscheiden. Und selbst das kann unter Umständen<br />

noch nicht ausreichend sein: Es ist ratsam, immer Fingerprint, Schlüssellänge <strong>und</strong> Erstellungsdatum<br />

zu vergleichen, denn der Fingerprint alleine kann unter Umständen durch Variation der Schlüssellänge<br />

<strong>und</strong>/oder des Erstellungsdatums nachgeahmt werden [How97]; insofern müssen zusätzlich<br />

dazu auch die Schlüssellänge <strong>und</strong> das Erstellungsdatum eines Schlüssels verglichen werden, um<br />

sicher sein zu können, daß der authentische Key vorliegt. Die CA sollte daher immer diese drei<br />

Informationen zusammen weiterverteilen.<br />

4.16.6 Vorträge<br />

Vorträge innerhalb der UNI, in denen das neue Angebot ‘Zertifizierung’ vorgestellt <strong>und</strong> erläutert<br />

wird, bieten der CA ebenfalls eine Möglichkeit, auf sich aufmerksam zu machen – <strong>und</strong> zugleich die<br />

Chance, die Gr<strong>und</strong>lagen <strong>und</strong> die Bedeutung von Verschlüsselung zu erläutern.<br />

Zusätzlich könnte in anderen Kursen oder Schulungen, die das Rechenzentrum oder die Benutzerbetreuung<br />

durchführen, auf Verschlüsselung <strong>und</strong> auf die neuen Zertifizierungsdienste (oder auf<br />

entsprechende Vorträge) hingewiesen werden, wann immer sich dies thematisch anbietet, beispielsweise<br />

in Einsteiger- oder Fortgeschrittenen-Kursen zu electronic mail, zur Administration von Web-<br />

Servern oder bei Schulungsveranstaltungen mit Datenschutz-Bezug (natürlich auch bei dezidierten<br />

PGP-Vorträgen...).<br />

In diesem Rahmen wäre es auch wichtig, nicht nur die wissenschaftlichen <strong>und</strong> studentischen Angehörigen<br />

der UNI als Zielgruppe anzupeilen, sondern auch die Mitarbeiter der Universitätsverwaltung<br />

einzubeziehen, schließlich wird auch dort ein wachsender Anteil der Kommunikation auf<br />

elektronischem Wege abgewickelt. In Absprache mit einzelnen Abteilungen der Verwaltung, die<br />

vielleicht schon besonders weit sind bei der Einführung von E-Mail an den Arbeitsplätzen, könnte<br />

dort gezielt eine „Sprechst<strong>und</strong>e“ oder eine Informationsveranstaltung der CA-Mitarbeiter angesetzt<br />

werden. Andere potentielle Adressaten wären Abteilungen, die wie die Personalstelle besonders<br />

sensible Daten verarbeiten <strong>und</strong> die daher verpflichtet sind, technische Vorkehrungen gegen unbefugten<br />

Einblick in diese Daten zu treffen.<br />

4.16.7 Zertifizierung vor Ort<br />

Die Low-Level UNI-CA wurde gezielt so konzipiert, daß sie weder technisch noch nach ihren<br />

Zertifizierungsrichtlinien an das Rechenzentrum geb<strong>und</strong>en ist. Sie soll vielmehr zu den Nutzern<br />

kommen können <strong>und</strong> vor Ort ihre Zertifizierungsdienste anbieten. Dazu könnte sich die Low-Level<br />

CA mit ihrem Zertifizierungsrechner <strong>und</strong> einigem geeigneten Informationsmaterial (Policy, Zertifizierungsanträge,<br />

Schlüsselinformationen auf Papier, Diskette oder CD-ROM, Werbe-Aufkleber für<br />

Verschlüsselung – siehe M) mit <strong>einer</strong> Art Stand z.B. an stark frequentierten Punkten auf dem Campus<br />

oder am Rande von Veranstaltungen mit Sicherheitsbezug oder starkem Publikumsverkehr o.ä.<br />

postieren. Sie könnte aber auch nach Absprache bzw. auf Anforderung einen Außentermin wahrnehmen.<br />

Auf diese Weise ließen sich, insbesondere, wenn ein geeigneter Blickfang (gläserner Rechner,<br />

überdimensionaler Schlüssel o.ä.) eingesetzt wird, Nutzer ansprechen, die sonst vielleicht nicht den<br />

Weg ins Rechenzentrum finden würden.


80 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Solange die Nachfrage so gering ist, daß sich die Einrichtung von Registrierungsstellen nicht lohnt,<br />

besteht mit der Low-Level CA immerhin eine Möglichkeit, einzelne Zertifizierungstermine an anderen<br />

Standorten oder in anderen Einrichtungen der UNI abzuhalten, so daß nicht alle zertifizierungswilligen<br />

Nutzer den u.U. weiten Weg zum Rechenzentrum auf sich nehmen müssen.<br />

4.16.8 Mails an zertifizierte Nutzer<br />

Eine weitere Möglichkeit zur „K<strong>und</strong>enpflege“ bestünde für die CA in regelmäßigen R<strong>und</strong>-Mails an<br />

alle von ihr Zertifizierten. Darin könnten Hinweise auf aktuelle Sicherheitsprobleme in gängigen<br />

Programmen, auf neue Angebote der Zertifizierungsstelle, auf erfolgte Cross-Zertifizierungen u.ä.<br />

gegeben werden. Wenn die Policy, nach der ein User zertifiziert ist, die Möglichkeit <strong>einer</strong> Verlängerung<br />

eines Zertifikates vorsieht, so könnte man ihn auch einige Zeit vor Ablauf des alten Zertifikates<br />

daran erinnern <strong>und</strong> ihm so rechtzeitig vor dem Ablauf der Gültigkeitsdauer die Gelegenheit geben,<br />

wegen <strong>einer</strong> Re-Zertifizierung aktiv zu werden. Wenn eine Re-Zertifizierung (innerhalb gewisser<br />

Grenzen, was z.B. die Anzahl möglicher Re-Zertifizierungen angeht) automatisch erfolgt, könnte<br />

dem Nutzer auf diesem Weg sein neues Zertifikat zugestellt werden.<br />

Die Zertifikatnehmer sollten auf dem Zertifizierungsantrag bei der Einwilligung in die Verarbeitung<br />

ihrer persönlichen Daten auch danach gefragt werden, ob sie derartige Mails wie die o.g. bekommen<br />

möchten. Wer gr<strong>und</strong>sätzlich gar keine E-Mails von der CA bekommen möchte, sollte ausdrücklich<br />

bestätigen, daß er zur Kenntnis genommen hat, daß er dann auch bei eventuellen Sicherheitswarnungen<br />

nicht informiert werden kann.<br />

Da die Möglichkeit, die Zertifikatnehmer per E-Mail zu informieren, für Schadensfälle wie das<br />

Bekanntwerden des CA-Signierschlüssels ohnehin vorgesehen <strong>und</strong> technisch eingerichtet werden<br />

muß (s. 5.4.5), wäre der zusätzlich erforderliche Aufwand für derartige R<strong>und</strong>-Mails gering.<br />

4.17 Cross-Zertifizierung<br />

Eine Cross-Zertifizierung zwischen zwei <strong>Zertifizierungsinstanz</strong>en bedeutet, daß beide beteiligten<br />

CAs den Signierschlüssel der jeweils anderen CA bestätigen. Es findet also hier ausnahmsweise<br />

eine Zertifizierung „von gleich zu gleich“ statt; die Cross-Zertifizierung drückt keine Über- oder<br />

Unterordnung der einen der beiden beteiligten CAs unter die andere CA aus.<br />

Die Cross-Zertifizierung ist nur für die vorgeschlagene Medium-Level UNI-CA vorgesehen; die<br />

Low-Level-CA führt keine Cross-Zertifizierungen durch.<br />

Der Ablauf <strong>einer</strong> solchen CA-Cross-Zertifizierung unterscheidet sich nicht von dem bei der Zertifizierung<br />

eines Nutzers; es wird auch hier wieder die Identität des jeweiligen Gegenüber geprüft. Bei<br />

der Cross-Zertifizierung von CAs kommt nach der <strong>DFN</strong>-Policy lediglich noch die Prüfung hinzu,<br />

ob der jeweilige Gegenüber überhaupt der Einrichtung angehört, als deren CA-Mitarbeiter er sich<br />

ausgibt. Unter Umständen könnte man hier für die UNI-CA die Anforderungen bei <strong>einer</strong> Cross-<br />

Zertifizierung noch verschärfen, indem verlangt wird, daß sich ihre Mitarbeiter vor der Durchführung<br />

<strong>einer</strong> Cross-Zertifizierung vergewissern, daß der Mitarbeiter der anderen CA auch zur Vertretung<br />

s<strong>einer</strong> Einrichtung befugt ist. (Diese Vergewisserung könnte passieren, indem der Mitarbeiter


4.18. Kooperationsmöglichkeiten 81<br />

eine Vollmacht s<strong>einer</strong> Einrichtung vorweist oder indem in der betreffenden Einrichtung rückgefragt<br />

wird.)<br />

Wenn im Großraum der UNI bereits einige andere Zertifizierungsstellen existieren (z.B. an anderen<br />

Rechenzentren, Forschungseinrichtungen oder Hochschulen, eventuell auch von kommerziellen<br />

oder ehrenamtlich betriebenen CAs) oder sich im <strong>Aufbau</strong> befinden, dann könnte sich die UNI-CA<br />

bemühen, das lokale Zertifizierungsnetz durch Cross-Zertifizierungen mit diesen CAs zu verstärken<br />

<strong>und</strong> so die von den anderen CAs ausgestellten Zertifikate auch für ihre Zertifikatnehmer nutzbar zu<br />

machen.<br />

Die <strong>DFN</strong>-Zertifizierungsrichtlinien sehen eine solche Möglichkeit ausdrücklich vor, <strong>und</strong> auch die<br />

<strong>DFN</strong>-PCA hat bereits mehrere Cross-Zertifizierungen absolviert, so unter anderem mit der pgp-<br />

CA der Fachzeitschrift c’t <strong>und</strong> der Root-CA des Individual Network [IN97, <strong>DFN</strong>97] sowie einigen<br />

ausländischen CAs.<br />

Eine Crosszertifizierungs-Vereinbarung mit <strong>einer</strong> anderen CA kann auch aus ganz pragmatischen<br />

Gründen zustandekommen, z.B. wenn <strong>einer</strong> der UNI-CA-Administratoren einen Mitarbeiter <strong>einer</strong><br />

anderen CA trifft (z.B. weil er ihn persönlich kennt oder am Rande <strong>einer</strong> Tagung sieht) <strong>und</strong> beide<br />

diesen persönlichen Kontakt zu <strong>einer</strong> Cross-Zertifizierung nutzen wollen.<br />

4.18 Kooperationsmöglichkeiten<br />

Durch Kooperationen mit anderen Einrichtungen oder Projekten kann die UNI-CA nicht nur Synergieeffekte<br />

nutzen oder arbeitsteilig vorgehen, um unterschiedliche Tätigkeitsschwerpunkte auszunutzen<br />

<strong>und</strong> zu neuen Diensten zusammenzuführen, sondern sich auch einem breiteren Personenkreis<br />

bekanntmachen. Daher sollten derartige Möglichkeiten, wenn das Projekt ernsthaft <strong>und</strong> längerfristig<br />

verfolgt werden soll, unbedingt gesucht <strong>und</strong> genutzt werden.<br />

Eine Zusammenarbeit mit der UNI-CA kann unterschiedlich ausfallen, je nachdem, was das Anliegen<br />

der kooperierenden Einrichtung ist. Die nachfolgenden Beispiele können Anregungen geben,<br />

mit wem <strong>und</strong> in welcher Form eine Zusammenarbeit der UNI-CA erfolgen könnte.<br />

4.18.1 Registrierungsstellen oder nachgeordnete CAs<br />

Die vielleicht naheliegendste Form der Zusammenarbeit könnte für die UNI-CA darin bestehen, daß<br />

sie in einzelnen Fachbereichen der UNI oder auch in einzelnen Abteilungen der Universitätsverwaltung<br />

Registrierungsinstanzen oder sogar Sub-CAs einrichtet bzw. dort eingerichtete CAs oder RAs<br />

zertifiziert.<br />

4.18.1.1 Fachbereiche<br />

Unter den Fachbereichen der UNI dürften diejenigen die geeignetsten Kandidaten für eine eigene<br />

Registrierungs- oder sogar Zertifizierungsstelle sein, die selber ein eigenes Rechenzentrum oder<br />

eigene Rechnernetze betreiben <strong>und</strong> administrieren – z.B. ein Fachbereich wie die Informatik –, da<br />

dort das für eine CA oder für deren Unterstützung erforderliche Know-how am ehesten vorhanden


82 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

sein dürfte. (Die Informatik könnte u.U. auch ein akademisches Interesse am <strong>Betrieb</strong> <strong>einer</strong> eigenen<br />

CA haben.)<br />

Daneben kämen noch solche Fachbereiche in Frage, die wie z.B. die Sozialwissenschaften oder<br />

die Medizin viel mit persönlichen Daten (Umfrageergebnisse, Krankendaten) zu tun haben oder<br />

die bereits einen <strong>Teil</strong> der Kommunikation zwischen den Studenten <strong>und</strong> den Hochschullehrern per<br />

E-Mail abwickeln <strong>und</strong> nun auf diesem Weg Noten oder Aufgabenstellungen vertraulich mitteilen<br />

möchten.<br />

4.18.1.2 Verwaltung<br />

Verfügt die Universitätsverwaltung über eine eigene EDV-Abteilung, so wäre auch dort zumindest<br />

die technische Umsetzung <strong>einer</strong> Registrierungs- oder Zertifizierungsstelle kein Problem. Bei <strong>einer</strong><br />

Universität mit stark zersplittertem Campus <strong>und</strong> vielen getrennten Standorten könnte der Einsatz<br />

von Verschlüsselung auch die Arbeit der Verwaltung vereinfachen <strong>und</strong> beschleunigen: Dank digitaler<br />

Unterschriften könnte die Kommunikation per E-Mail eindeutig einem Urheber zugeordnet<br />

<strong>und</strong> so für andere Anwendungsbereiche als bisher genutzt werden, z.B. im Rahmen der internen<br />

elektronischen Beschaffung oder des elektronischen Bestellwesens.<br />

4.18.2 Uni-Verwaltung<br />

Die Kooperationsmöglichkeiten für die UNI-CA mit der Universitätsverwaltung sind vielfältiger<br />

<strong>und</strong> umfassen mehr Möglichkeiten als nur die Einrichtung von RAs oder Sub-CAs. Wie bereits in<br />

Abschnitt 4.16.6 erwähnt, beschränkt sich die Nutzbarkeit der Dienste, die eine Zertifizierungsstelle<br />

anbietet, nicht auf die wissenschaftliche Kommunikation – auch die Verwaltung könnte von den<br />

neuen Möglichkeiten, die Public-Key-Verfahren eröffnen, profitieren. Als Beispiel für eine denkbare<br />

Anwendung aus einem ähnlichen Umfeld mag hier der Zugriff über das Internet auf Großrechner-<br />

Daten aus dem firmen-internen Netz unter Verwendung von Zertifikat-basierter Authentifizierung<br />

<strong>und</strong> SSL(eay) dienen [Hub98]. Andere Gebiete, in denen sich ebenfalls Anwendungsmöglichkeiten<br />

ergeben, wären solche Bereiche, in denen vertrauliche Informationen gehandhabt werden (Personaldaten,<br />

<strong>Betrieb</strong>sarzt, Finanzabteilung, Personalrat) oder Kooperationen mit externen Partnern, in<br />

deren Rahmen Daten zur Verfügung gestellt werden, die vertraulich behandelt werden müssen.<br />

4.18.3 Externe Projekte <strong>und</strong> Einrichtungen<br />

Als potentielle Partner für Cross-Zertifizierungen wurden andere örtliche CAs bereits genannt.<br />

Natürlich muß eine Zusammenarbeit mit ihnen nicht unbedingt (nur) in Form <strong>einer</strong> Cross-<br />

Zertifizierung erfolgen; ebenso wären konzertierte Aktionen oder ein Erfahrungsaustausch mit diesen<br />

Einrichtungen denkbar.<br />

Es kommen jedoch nicht nur andere Zertifizierungsstellen als Kooperationspartner in Frage. Inhaltliche<br />

Anknüpfungspunkte gäbe es beispielsweise mit dem Forschungsprojekt <strong>DFN</strong> Directory Service<br />

(DDS) 21 der sich intensiv mit der Speicherung von Public-Keys – auch von PGP-Schlüsseln – im<br />

21 http://www.directory.dfn.de/


4.19. Rechtliche Aspekte des CA-<strong>Betrieb</strong>s 83<br />

X.500-Verzeichnisdienst befaßt [Spa99], oder mit dem Verb<strong>und</strong>projekt UNICORE 22 [AS98], das<br />

es zertifizierten Nutzern ermöglichen will, über ein WWW-Interface Aufträge für Berechnungen<br />

(jobs) an Höchstleistungsrechner absetzen zu können.<br />

Eine weitere Möglichkeit wäre eine Beteiligung an der Initiative des B<strong>und</strong>esministeriums für Wirtschaft<br />

<strong>und</strong> Technologie für mehr Sicherheit in der Informationsgesellschaft [BMW99a] (siehe<br />

Kap. 1).<br />

Hinsichtlich der grafischen Gestaltung von Aufklebern, Logos <strong>und</strong> dergleichen könnte man sich am<br />

Vorgehen des Schleswig-Holsteinischen Landesbeauftragten für Datenschutz orientierten <strong>und</strong> beispielsweise<br />

auf das Know-how des Fachbereichs Design oder der örtlichen Kunsthochschule o.ä.<br />

zurückgreifen <strong>und</strong> damit zugleich dortigen Studenten praxisnahe <strong>und</strong> interessante Aufgabenstellungen<br />

anbieten.<br />

4.19 Rechtliche Aspekte des CA-<strong>Betrieb</strong>s<br />

4.19.1 Krypto-Regulierung<br />

Die Auseinandersetzung darüber, ob die Verwendung starker Verschlüsselungsverfahren reglementiert<br />

oder sogar verboten werden soll, weil sonst die staatlichen Sicherheitsinteressen gefährdet wären,<br />

bezeichnet man als „Krypto-Kontroverse“. In ihr stehen sich auf der einen Seite die Interessenvertreter<br />

der Sicherheitsorgane <strong>und</strong> Geheimdienste, auf der anderen die Advokaten eines Datenschutzes<br />

durch Technik <strong>und</strong> der freien Verwendung kryptographischer Verfahren zum Selbstschutz<br />

im Sinne des informationellen Selbstbestimmungsrechts gegenüber.<br />

Während 1997 <strong>und</strong> 1998 vom damaligen Innenminister KANTHER eine Krypto-Regulierung 23 befürwortet<br />

wurde [SPI96, SPI98, CZ98g], steht die neue B<strong>und</strong>esregierung dem Einsatz von Verschlüsselung<br />

erheblich wohlwollender gegenüber [Bir98, Kre99b], siehe Kapitel 1. Exemplarisch<br />

wird dieser Umschwung – von ‘Sinneswandel’ kann ja angesichts des Regierungswechsels schlecht<br />

gesprochen werden... – an der Aussage von MICHAEL HANGE, BSI-Vizepräsident, deutlich:<br />

„Wir möchten ... den Ausbau <strong>einer</strong> interoperablen Public-Key-Infrastruktur (PKI) vorantreiben<br />

<strong>und</strong> auf ein höheres Sicherheitsniveau – Stichwort Signaturgesetz – migrieren.“ [SH99]<br />

Da immer wieder gegenteilige Aussagen zu hören sind, soll hier noch einmal in aller Deutlichkeit<br />

klargestellt werden:<br />

Es gibt zur Zeit (März 2000) kein Verbot der Nutzung kryptographischer Verfahren<br />

in der B<strong>und</strong>esrepublik Deutschland <strong>und</strong> auch keine gesetzliche Beschränkung<br />

der maximalen Schlüssellängen; anderslautende Behauptungen sind schlichtweg<br />

falsch!<br />

22 http://www.fz-juelich.de/zam/RD/coop/unicore/<br />

23 http://www.fitug.de/ulf/krypto/verbot.html


84 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Doch selbst wenn sich einmal die Verfechter eines Krypto-Verbotes durchsetzen sollten, bliebe fraglich,<br />

ob entsprechende gesetzliche Regelungen nicht spätestens vom B<strong>und</strong>esverfassungsgericht gekippt<br />

würden. Ein Verbot oder eine gesetzliche Einschränkungen der Verwendung starker Verschlüsselung<br />

wäre in Deutschland ein Gr<strong>und</strong>rechtseingriff bzw. eine Beschränkung der Gr<strong>und</strong>freiheiten,<br />

wie sie u.a. in der Europäischen Menschenrechtskonvention als Mindeststandards festgeschrieben<br />

sind, <strong>und</strong> – da unverhältnismäßig bzw. nicht zur Erreichung des beabsichtigten Zieles geeignet –<br />

unzulässig [BRR97, Dir98].<br />

Auch auf internationaler Ebene gibt die Entwicklung Anlaß zum Optimismus: eine Lockerung<br />

entsprechender restriktiver gesetzlicher Regelungen war während der jüngsten Zeit in<br />

Großbritannien[CZ98b, Med99], Frankreich[CZ97, Jos99, Sch99] <strong>und</strong> Finnland 24 zu vermerken.<br />

Dem stehen allerdings auf der anderen Seite die Genehmigungspflicht für kryptographische Verfahren<br />

in Rußland sowie umstrittene Gesetzgebungspläne 25 in Großbritannien gegenüber, die in der<br />

“Regulation of Investigatory Powers Bill” 26 die Preisgabe geheimer Schlüssel vorsehen, wenn die<br />

Sicherheitsbehörden dies fordern, <strong>und</strong> die das Nichtbefolgen – z.B. auch bei gelöschten Schlüsseln<br />

o.ä. – mit bis zu zwei Jahren Haft unter Strafe stellen.<br />

4.19.2 Haftung<br />

Die nachfolgenden Ausführungen geben die augenblickliche rechtliche Situation Anfang des Jahres<br />

2000 wieder. Da mittlerweile jedoch die EU-Richtlinie zu elektronischen Signaturen in Kraft ist<br />

<strong>und</strong> die nationalen Gesetzgeber verpflichtet sind, deren Bestimmungen bis zum 19. Juli 2001 in nationales<br />

Recht umzusetzen (siehe 3.5.3), dürfen die Haftungsregelungen nicht außer Acht gelassen<br />

werden, die die EU-Richtlinie vorsieht:<br />

Der Zertifizierungsdiensteanbieter (= CA) haftet<br />

für die Richtigkeit der Informationen in einem qualifizierten Zertifikat (<strong>und</strong> für dessen Vollständigkeit<br />

im Sinne der Richtlinie)<br />

dafür, daß der Zertifikatnehmer zum Zeitpunkt der Zertifikaterstellung im Besitz derjenigen<br />

geheimen Signaturerstellungsdaten (= Secret-Key) ist, deren korrespondierende Signaturprüfdaten<br />

(= Public-Key) im Zertifikat zertifiziert werden<br />

die Anwendbarkeit der Signaturerstellungs- <strong>und</strong> -prüfdaten, falls sie vom Diensteanbieter erzeugt<br />

werden (also daß beide Komponenten eines Schlüsselpaares zusammenpassen)<br />

gegenüber den Zertifikatnutzern, falls er mindestens fahrlässig den Widerruf des Zertifikats<br />

nicht registriert hat<br />

Dafür muß der Anbieter über die erforderlichen Finanzmittel verfügen oder entsprechend versichert<br />

sein.<br />

Der Zertifizierungsdiensteanbieter haftet nicht für Schäden, die bei der Überschreitung <strong>einer</strong> im<br />

Zertifikat angegebenen Obergrenze des Transaktionswertes entstehen.<br />

24 http://www.mintc.fi/www/sivut/dokumentit/tiedote/viestinta/ti260499508eng.htm<br />

25 http://www.fipr.org/rip/prfeb10.html<br />

26 http://www.homeoffice.gov.uk/oicd/ripbill.htm


4.19. Rechtliche Aspekte des CA-<strong>Betrieb</strong>s 85<br />

Noch sind sie in Deutschland zwar nicht geltendes Recht, die Gerichte werden sich aber in entsprechenden<br />

Streitfällen – ähnlich wie beim Datenschutzrecht, wo eine Umsetzung der EU-Richtlinie<br />

in deutsches Recht (trotz Fristablauf!) ebenfalls noch nicht erfolgt ist (vgl. 3.5.4) – bereits an den<br />

Bestimmungen der EU-Richtlinie orientieren, solange diese noch nicht ihren Niederschlag in Form<br />

von nationalen Gesetzen gef<strong>und</strong>en hat.<br />

Haftung für Schäden aus der Zertifizierung<br />

Nach der momentanen Rechtslage spielt es für die Frage der Haftung der Zertifizierungsstellen keine<br />

Rolle, ob es sich um eine Stelle im Sinne des § 2 SigG handelt oder nicht. Der Gesetzgeber hat bei<br />

Erlaß des Signaturgesetzes auf eine eigene Haftungsregelung sowie auf eine Haftungsbegrenzung –<br />

entgegen teilweise anderer Erwägungen im Gesetzgebungsverfahren – letztendlich doch verzichtet<br />

(s. 3.5.1). Somit gelten sowohl für Zertifizierungsstellen i.S.d. SigG als auch für sonstige Zertifizierungsstellen<br />

die allgemeinen zivilrechtlichen Haftungsregelungen:<br />

Wenn aufgr<strong>und</strong> von technischen Defekten, betrügerischen Manipulationen oder fahrlässigem Fehlverhalten<br />

von Mitarbeitern der Zertifizierungsstelle bei der Ausgabe oder Verwaltung von Zertifikaten<br />

Schäden entweder beim Zertifikatnehmer oder bei einem am Zertifizierungsvorgang nicht<br />

beteiligten Dritten entstehen, haftet die Zertifizierungsstelle dafür.<br />

Zwischen der Zertifizierungsstelle (bzw. der Institution, die die Stelle betreibt) <strong>und</strong> dem Inhaber des<br />

von dieser Stelle erteilten Zertifikates besteht ein vertragliches Schuldverhältnis, aus dem für jede<br />

der beteiligten Parteien entsprechende Haupt-, Schutz- <strong>und</strong> Nebenpflichten gegenüber der anderen<br />

Partei folgen. Seitens der Zertifizierungsstelle zählen hierzu im allgemeinen die ordnungsgemäße<br />

Schlüsselzuordnung <strong>und</strong> -verwaltung, die Ausstellung eines gültigen Zertifikates, in entsprechenden<br />

Fällen auch dessen Sperrung, die Einrichtung ausreichender Sicherheitsvorkehrungen, die zutreffende<br />

Auskunftserteilung bei Zertifikatsabfragen sowie ggf. auch die geeignete Generierung von<br />

Schlüsseln. Verstößt die Zertifizierungsstelle bzw. <strong>einer</strong> ihrer Mitarbeiter schuldhaft (auch fahrlässig)<br />

gegen eine der vorgenannten Pflichten, so hat die Zertifizierungsstelle hierfür gegenüber dem<br />

Vertragspartner einzustehen. Die Haftung der Zertifizierungsstelle umfaßt den Ersatz von Vermögensschäden<br />

ebenso wie den Gewinn, der dem Vertragspartner durch die Pflichtverletzung entgeht<br />

[Tim97].<br />

Ein Haftungsausschluß in den Nutzungs-/Geschäftsbedingungen der Zertifizierungsstelle ist dabei<br />

nur möglich für den Fall fahrlässigen Verschuldens. Die Haftung für Schäden bei grob fahrlässigem<br />

<strong>und</strong> vorsätzlichem Verhalten ist nicht ausschließbar. Ebenso ist eine Haftungsbegrenzung auf eine<br />

bestimmte Schadenssumme nicht möglich. Diese Regelungen gelten auch dann, wenn die Zertifizierungsstelle<br />

ihre Leistungen unentgeltlich anbietet. Die Unentgeltlichkeit <strong>einer</strong> Leistung führt mithin<br />

nicht zu einem generellen Haftungsausschluß [Hil98].<br />

Zwischen einem geschädigten Dritten <strong>und</strong> der Zertifizierungsstelle klafft hingegen eine Haftungslücke:<br />

Hier bestehen keine vertraglichen Beziehungen, das Produkthaftungsgesetz greift nur bei<br />

privater Nutzung von Produkten <strong>und</strong> gilt nicht für Dienstleistungen. Nach § 831 BGB haftet die<br />

Zertifizierungsstelle zwar für Schäden, die ihre Mitarbeiter als sog. Verrichtungsgehilfen bei Dritten<br />

verursachen. Die Zertifizierungsstelle haftet außerdem nach § 823 BGB, wenn sie ihre inneren<br />

<strong>Betrieb</strong>sabläufe nicht so organisiert hat, daß die Anleitung <strong>und</strong> Überwachung der den Schaden ver-


86 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

ursachenden Mitarbeiter durch leitende Mitarbeiter gewährleistet ist. In diesen Fällen hat ein Geschädigter<br />

jedoch gr<strong>und</strong>sätzlich nur einen Ersatzanspruch bei Beeinträchtigung sogenannter „absoluter<br />

Rechte <strong>und</strong> Rechtsgüter“ (Leib, Leben, Ges<strong>und</strong>heit, Persönlichkeitsrecht, Eigentum) – solche<br />

Arten von Schäden dürften bei der typischen Tätigkeit <strong>einer</strong> Zertifizierungsstelle relativ selten sein<br />

[Tim97] –, jedoch nicht bei Vermögensschäden [Roß97, S. 79].<br />

Sollte der Dritte jedoch durch Mitarbeiter der Zertifizierungsstelle auf betrügerische Weise oder<br />

sittenwidrig geschädigt worden sein, so haftet die Zertifizierungsstelle auch für Vermögensschäden<br />

(§§ 823 Abs. 2, 826 BGB). Da in beiden Fällen jedoch eine vorsätzliche Schädigung Voraussetzung<br />

ist, folgt aus lediglich fahrlässigem Verhalten keine Haftung der Zertifizierungsstelle für Vermögensschäden<br />

[Hil98].<br />

Haftung für Schäden durch fehlerhafte Software<br />

Bietet eine Zertifizierungsstelle nicht nur die direkten Zertifizierungsdienste an, sondern hält darüber<br />

hinaus, wie beispielsweise die <strong>DFN</strong>-PCA, auch Software auf ihrem WWW- oder FTP-Server<br />

zum Download bereit, so kann sie unter Umständen auch für Fehler oder Viren in diesen Programmen<br />

haftbar gemacht werden [Hoe97, S. 81–91].<br />

Bei kostenlos verteilter Software ist die Sicherheitserwartung der Nutzer gering, entsprechend niedrig<br />

sind die Sorgfaltspflichten des Anbieters hinsichtlich Stichprobenkontrollen anzusetzen (insbesondere<br />

dann, wenn beispielsweise auf das Risiko des Virenbefalls hingewiesen wird oder Anti-<br />

Viren-Programme auf dem Server angeboten werden). Werden allerdings spezielle Programmpakete<br />

für den Anwender bereitgestellt, so kann dies gehobene Sicherheitserwartungen beim Nutzer<br />

wecken – insbesondere, wenn eine Zertifizierungsstelle dies tut –, die wiederum zu höheren Sorgfaltspflichten<br />

seitens des Anbieters führen. Er hat Produktbeobachtungspflichten <strong>und</strong> für Software,<br />

die über die Einrichtung lizensiert wird <strong>und</strong> für die Support o.ä. von ihm angeboten wird, eine Instruktionspflicht,<br />

d.h. eine Pflicht zur Einweisung in den Umgang mit dem Programm, wozu auch<br />

der Hinweis auf mögliche Gefahren zählen kann [Hoe97, S. 86 f.].<br />

4.19.3 Versicherungsschutz<br />

Wie im vorigen Abschnitt dargelegt, haftet eine Zertifizierungsstelle, auch eine, die unentgeltlich<br />

tätig ist, in bestimmten Situationen für Schäden, die aus ihrer Arbeit resultieren [Tim97]. Das Fazit<br />

in <strong>einer</strong> entsprechenden Stellungnahme für den Individual Network e.V. [Hil98] lautete daher:<br />

„Es ist ratsam, wenn die Zertifizierungsstellen entsprechende Haftpflichtversicherungen ab-<br />

schließen. Ansonsten haftet allein die Organisation, die die Zertifizierungsstelle trägt, mit ihrem<br />

gesamten Vermögen.“<br />

Ein solcher Versicherungsschutz ist allerdings nicht so einfach zu bekommen: Der Gerling-<br />

Versicherungskonzern, an neuen Geschäftsfeldern sonst durchaus interessiert <strong>und</strong> eher aufgeschlossen<br />

gegenüber neuen Ideen, lehnte es beispielsweise bislang aus gr<strong>und</strong>sätzlichen Erwägungen ab,<br />

eine entsprechende Police abzuschließen. Nach Auskunft von LUTZ DONNERHACKE, Mitarbeiter<br />

der bei Gerling anfragenden <strong>und</strong> auf dem Gebiet der Zertifizierung kommerziell tätigen IKS GmbH:


4.19. Rechtliche Aspekte des CA-<strong>Betrieb</strong>s 87<br />

„Gerling kann sich nicht entscheiden. Deutsches Recht sieht keine Haftung für CAs vor, EU-Recht<br />

sieht durchaus eine Haftung vor.“ Hinzu kommt, daß viele Versicherungen vorhersagbare Risiken<br />

im normalen Geschäftsablauf gr<strong>und</strong>sätzlich nicht versichern [Kar99] <strong>und</strong> aus diesem Gr<strong>und</strong> auch<br />

nicht bereit sind, die Tätigkeit <strong>einer</strong> Zertifizierungsstelle entsprechend abzusichern. Darüber hinaus<br />

mag noch ein ganz anderer Gr<strong>und</strong> ursächlich sein für die Zurückhaltung der Versicherungsunternehmen:<br />

Es ist im Vorhinein in k<strong>einer</strong> Weise absehbar, gegenüber wem <strong>und</strong> für welche Zwecke ein<br />

Zertifikatnehmer seinen Schlüssel einsetzen wird, daher ist eine Risikokalkulation <strong>und</strong> Versicherung<br />

des so ermittelten Risikos kaum möglich [Tim97].<br />

Es ist zur Zeit also noch schwierig, die Tätigkeit von Zertifizierungsstellen zu versichern, zumal<br />

bislang auch kaum Erfahrungen mit deren Arbeit vorliegen, die es den Versicherungen vielleicht<br />

eher ermöglichen würden, das Schadensrisiko einzuschätzen <strong>und</strong> die Höhe der Prämien zu kalkulieren.<br />

Eventuell bringen hier die Haftungsregelungen, wie sie im Entwurf zu <strong>einer</strong> EU-Richtlinie<br />

zu elektronischen Signaturen vorgesehen sind (s. 3.5.3), Bewegung in den Markt. Diese wäre umso<br />

wünschenswerter, als die möglichen Kosten aufgr<strong>und</strong> von Rechtsstreitigkeiten, die aus Internet-<br />

Angeboten resultieren, schnell ein erhebliches Ausmaß annehmen können: Die angebotenen Informationen<br />

(hier: Zertifikate) können jederzeit weltweit abgerufen <strong>und</strong> genutzt werden, häufig ist<br />

dann der Ort des Abrufs oder des Schadens der Ort der rechtlichen Auseinandersetzung [Rec98].<br />

4.19.4 Möglichkeit zu SigG-konformer Arbeit<br />

Wenn schon eine Zertifizierungsstelle an der UNI eingerichtet werden soll, stellt sich angesichts des<br />

1997 verabschiedeten Signaturgesetzes die Frage, ob es nicht sinnvoll <strong>und</strong> möglich wäre, die UNI-<br />

CA als Zertifizierungsstelle im Sinne des SigG zu betreiben. Dies dürfte sich aber nur schwer <strong>und</strong><br />

mit hohem finanziellen, personellen, baulichen <strong>und</strong> organisatorischen Aufwand umsetzen lassen,<br />

denn SigG <strong>und</strong> SigV sowie die zugehörigen Maßnahmenkataloge für Zertifizierungsstellen bzw. für<br />

technische Komponenten stellen sehr hohe Sicherheitsanforderungen. 27<br />

Die Zertifizierung selbst durch die zuständige Behörde soll zwar nach der Schätzung der B<strong>und</strong>esregierung<br />

nur etwa 3 000 bis 5 000 DM kosten [BRD97], die Kosten, die vorher <strong>und</strong> im laufenden<br />

<strong>Betrieb</strong> für Umbauten, Sicherungsmaßnahmen <strong>und</strong> Personal anfallen, dürften jedoch um Größenordnungen<br />

darüber liegen.<br />

So sieht der Maßnahmenkatalog nach § 12 Abs. 2 SigV [RTP98, MZ 5.4] vor, daß ein Notfallkonzept<br />

gewährleisten muß, daß auch im Falle beispielsweise eines Brandes mögliche Ausfallzeiten des<br />

von der Zertifizierungsstelle obligatorisch anzubietenden Verzeichnisdienstes „auf ein Minimum beschränkt<br />

bleiben“. Was darunter genau zu verstehen ist, wurde aus dem sehr viel ausführlicheren,<br />

300seitigen ENTWURF Maßnahmenkatalog für digitale Signaturen [RTP97, S. 59] deutlich, in dem<br />

es dazu heißt, daß folgende „Obergrenzen einzuhalten sind: 1. Die maximale Ausfallzeit muß kl<strong>einer</strong><br />

als drei St<strong>und</strong>en sein. [...]“ Auch wenn dieser detaillierte Katalog in dieser Form nicht mehr als endgültige<br />

Empfehlung verabschiedet wurde, kann man doch davon ausgehen, daß letztlich die darin<br />

genannten Empfehlungen der Maßstab für die Sicherheitsvorkehrungen in der Zertifizierungsstel-<br />

27 Nicht alle Maßnahmen, die in den Katalogen genannt werden, sind obligatorisch; einige Punkte stellen bloß Empfehlungen<br />

dar, bei deren Einhaltung die Erfüllung der Sicherheitsanforderungen nach SigG/SigV als gewährleistet angesehen<br />

wird. Wird auf diese Maßnahmen verzichtet oder von den Empfehlungen abgewichen, so ist die Gleichwertigkeit<br />

der stattdessen ergriffenen Maßnahmen oder Vorkehrungen nachzuweisen.


88 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

le sind, den die Prüfstellen anlegen werden, wenn sie die Umsetzung eines SigG/SigV-konformen<br />

Sicherheitskonzeptes in der Zertifizierungsstelle bestätigen sollen.<br />

Dem ausführlichen Katalog-Entwurf zufolge ist weiterhin für die besonders sicherheitsrelevanten<br />

Schritte bei der Schlüsselerzeugung für die CA (<strong>und</strong> gegebenenfalls für die Zertifikatnehmer) sowie<br />

bei der Erstellung oder der Sperrung von Zertifikaten das Vier-Augen-Prinzip anzuwenden, so<br />

daß also für die betreffenden Arbeitsschritte jeweils zwei CA-Mitarbeiter vorgesehen werden müßten.<br />

Die Zertifizierungsstelle wird mindestens drei oder vier Mitarbeiter haben müssen, um eine<br />

Rollentrennung realisieren zu können (diejenigen Mitarbeiter, die für die Registrierung <strong>und</strong> Identifizierung<br />

der Zertifizierungswilligen bzw. für das Ausstellen der Zertifikate zuständig sind, dürfen<br />

zum Beispiel nicht zugleich die Rolle des internen Revisors innehaben).<br />

Nach § 13 Abs. 2 hat die Zertifizierungsstelle über die Sicherheitsmaßnahmen <strong>und</strong> über die konkreten,<br />

im laufenden <strong>Betrieb</strong> anfallenden Daten eine Dokumentation zu führen <strong>und</strong> diese mindestens 35<br />

Jahre lang aufzubewahren <strong>und</strong> sicherzustellen, daß die erforderlichen Geräte zur Verfügung stehen,<br />

um digitale Daten aus der Dokumentation während dieser Zeitspanne abrufen zu können. (Immerhin<br />

muß die Dokumentation von Auskünften an Sicherheitsbehörden im Vergleich dazu nur 12 Monate<br />

aufbewahrt werden <strong>und</strong> kann dann gelöscht werden.) Es muß nicht nur die Verfügbarkeit der Dokumentation,<br />

also auch die Lesbarkeit digitaler Dokumente, während dieses Zeitraumes sichergestellt<br />

werden, sondern diese Unterlagen müssen auch vor dem Zugriff Unbefugter geschützt aufbewahrt<br />

werden. Es wären also voraussichtlich auch gesicherte Lagerräume für das Archiv der Zertifizierungsstelle<br />

notwendig. Ferner wären die Ausgabe <strong>und</strong> vorherige Personalisierung von technischen<br />

Komponenten, die nach dem SigG die Signaturschlüssel der Anwender speichern müssen (z.B.<br />

Chipkarten), nebst entsprechender gesicherter Lager- <strong>und</strong> Verarbeitungsräume vorzusehen.<br />

Insgesamt müßten für die verschiedenen Aufgabenbereiche der Zertifizierungsstelle (Registrierung,<br />

Schlüsselgenerierung/Personalisierung des Schlüsselträgers, Zertifizierung, Verzeichnisdienst) Sicherheitsbereiche<br />

gebildet werden, die räumlich <strong>und</strong> baulich voneinander abgegrenzt sein müßten.<br />

Der Bereich der Schlüsselgenerierung bzw. -zertifizierung müßte durch Personenschleusen abgetrennt,<br />

zutrittsgeschützt <strong>und</strong> darüber hinaus gegen kompromittierende elektromagnetische Abstrahlung<br />

geschützt sein, für Publikumsverkehr dürfte nur der Registrierungs- <strong>und</strong> Ausgabebereich zugänglich<br />

sein [Rei97b, S. 38]. Zutritts- <strong>und</strong> Sabotageschutz für die Räume der Zertifizierungsstelle<br />

würden auch eine entsprechend widerstandsfähige Außenhaut des Gebäudes nebst Überwachungs<strong>und</strong><br />

Alarmanlagen einschließen [RTP97, S. 52 f.][SW].<br />

Auch für die Anwender SigG-konformer Zertifikate dürften erhebliche Kosten entstehen: Die einzusetzenden<br />

technischen Komponenten zur Speicherung der Schlüssel, zum Erstellen <strong>und</strong> Prüfen<br />

von Signaturen nach dem SigG müssen nach den Kriterien für die Bewertung der Sicherheit von<br />

Systemen der Informationstechnik eine hohe Sicherheitseinstufung aufweisen, sie werden folglich<br />

wegen des damit verb<strong>und</strong>enen Aufwandes bei der Herstellung der Geräte <strong>und</strong> für die entsprechende<br />

Sicherheitsprüfung nicht unerhebliche Kosten verursachen. Es ist, wenigstens zur Zeit, fraglich, ob<br />

die potentiellen Nutzer <strong>einer</strong> SigG-konformen Zertifizierungsstelle bereit wären, diese Kosten sowohl<br />

für die auf ihrer Seite erforderliche Hardware als auch für die Zertifizierung selbst zu tragen.<br />

Für die Universität müßte ggf. eine umfassende Kosten-Nutzen-Abschätzung vorgenommen werden,<br />

um zu prüfen, ob der mögliche Vorteil <strong>und</strong> das Einsparungspotential durch den Einsatz von<br />

digitalen Signaturen nach dem SigG so groß sind, daß sie die Kosten für die Einrichtung <strong>und</strong> den<br />

<strong>Betrieb</strong> <strong>einer</strong> gesetzeskonformen Zertifizierungsstelle überwiegen.


4.19. Rechtliche Aspekte des CA-<strong>Betrieb</strong>s 89<br />

Eventuell ist aber auch die Etablierung <strong>einer</strong> Alternative zu SigG-CAs wichtig <strong>und</strong> man ist eines<br />

Tages froh darüber, daß es sie gibt. Bei einem Ausfall der einen Infrastruktur, z.B. wegen eines<br />

Durchbruchs in der numerischen Mathematik oder in der Kryptanalyse, stünde dann immer noch<br />

die andere Infrastruktur zur Verfügung [Zie97, S. 343]. Das würde aber voraussetzen, daß in beiden<br />

separaten Infrastrukturen auch unterschiedliche Algorithmen verwendet werden, was bislang aber<br />

nicht der Fall ist.<br />

Wenn die EU-Signatur-Richtlinie in deutsches Recht umgesetzt sein wird – fristgerecht müßte dies<br />

bis spätestens Mitte 2001 geschehen –, wird sich auch eine andere Möglichkeit zur SigG-konformen<br />

Arbeit eröffnen: Wenn dann eine entsprechende Versicherung abgeschlossen werden könnte (eventuell<br />

<strong>DFN</strong>-weit für alle <strong>DFN</strong>-CAs?), die etwaige Haftungsrisiken abdecken würde, dann ließe sich<br />

eine <strong>DFN</strong>-(P)CA nach der EU-Signatur-Richtlinie betreiben. Sie würde dann zwar vielleicht nur<br />

einfache (nicht die ‘qualifizierten’) Zertifikate gemäß der Richtlinie bzw. gemäß der dann geltenden<br />

Neufassung des SigG ausstellen, solchen Zertifikaten bzw. den mit ihnen verb<strong>und</strong>enen elektronischen<br />

Signaturen dürfte aber nicht von vornherein die Wirksamkeit <strong>und</strong> Zulässigkeit als Beweismittel<br />

in Gerichtsverfahren abgesprochen werden.<br />

Eine weitere Möglichkeit zu <strong>einer</strong> SigG-konformen Arbeit könnte dann gegeben sein, wenn Angebote<br />

wie das eines „virtuellen Trustcenter“, das die Deutsche Post SignTrust anbietet 28 , nach dem<br />

SigG anerkannt werden.<br />

4.19.5 Beweiswert nicht SigG-konformer Signaturen<br />

Das SigG zwingt nicht zu SigG-Zertifizierungsstelle <strong>und</strong> -Signaturen, sondern ist nur ein Angebot,<br />

das eine gewisse rechtliche Bevorzugung genießt – Stichwort „Vertrauensvorschuß“. Vor Gericht<br />

sind SigG-konforme Signaturen daher ebenso wie Signaturen, die mit anderen Verfahren erstellt<br />

wurden, der freien Beweiswürdigung des Richters unterworfen; die SigG-Signaturen haben dann<br />

lediglich den Vorteil für sich, daß bei ihnen eine hohe Sicherheit vermutet werden dürfte, während<br />

dies bei Signaturen nach anderen Verfahren erst glaubhaft gemacht werden muß (bei dieser komplexen<br />

<strong>und</strong> spezifischen Materie vermutlich durch einen Gutachter). Da es aber noch keine Streitfälle,<br />

geschweige denn Rechtssprechung, zum Thema Signaturgesetz gibt, läßt sich noch nicht absehen,<br />

wie die Richter gegebenenfalls urteilen werden <strong>und</strong> ob beispielsweise SigG-Signaturen tatsächlich<br />

einen Vorteil gegenüber sonstigen Signaturen bieten, falls es zu einem Rechtsstreit kommt, oder<br />

ob nicht andere Verfahren bei entsprechend gutachterlich bestätigter Tauglichkeit eventuell ebenso<br />

anerkannt werden wie (möglicherweise) die Signaturen nach dem SigG.<br />

Anders sieht die Situation aus, wenn – wie in § 1 Abs. 2 SigG vorgesehen – in zukünftigen Rechtsnormen<br />

ausdrücklich die Form der digitalen Signatur nach dem SigG verlangt oder sie als Alternative<br />

zur Schriftform zugelassen wird. 29 In diesen Fällen würden nicht SigG-konforme Verfahren von<br />

vornherein nicht in Frage kommen.<br />

Davon abgesehen werden manche der <strong>DFN</strong>-CA-Zertifikate sowieso nie SigG-konform sein können,<br />

da sie nicht für Personen, sondern für Server – also für Maschinen bzw. für Computer <strong>und</strong> darauf<br />

laufende (SSL-Server-)Programme – ausgestellt werden. Von daher kann zumindest die <strong>DFN</strong>-<br />

28 Faltblatt Virtual eTrust – „Werden Sie Zertifizierungsstelle für digitale Signaturen.“<br />

29 Ein erster entsprechender Gesetzentwurf zur „Elektronischen Form“ existiert bereits.


90 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Server-CA nie SigG-konform sein, <strong>und</strong> die <strong>DFN</strong>-PCA folglich auch nicht, wenn sie diese Server-CA<br />

zertifiziert!<br />

Aber auch andere arbeiten nicht unbedingt nach den Vorgaben des Signaturgesetzes, wenn es um<br />

Schlüsselzertifizierung geht, sondern verfolgen eigene Ideen <strong>und</strong> Ziele <strong>und</strong> arbeiten nach eigenen<br />

Regeln. So hat z.B. ein internationales Konsortium unter Beteiligung der Deutschen, der Dresdner<br />

Bank <strong>und</strong> der HypoVereinsbank mit Identrus 30 (vormals Global Trust Enterprise) ein weltweites<br />

Unternehmen gegründet, das mit den Finanzinstituten s<strong>einer</strong> Gründungsfirmen als CAs Identitätszertifikate<br />

auf der Basis der Root-CA von CertCo 31 ausstellen will [Cer98, CZ98a]. Und es ist doch<br />

mehr als fraglich, ob bei dieser weltumspannenden Kooperation ausgerechnet die Bestimmungen<br />

des deutschen Signaturgesetzes angewandt werden...<br />

4.19.6 Exportkontrolle<br />

Nach der Neuregelung der Exportkontrollen gemäß dem Wassenaar-Abkommen ist jetzt Verschlüsselungssoftware<br />

bis 56 Bit symmetrischer Schlüssellänge <strong>und</strong> bei Massenprodukten bis 64 Bit<br />

Schlüssellänge von der Exportkontrolle ausgenommen <strong>und</strong> darf beliebig exportiert werden [CZ98c].<br />

Bisher war Massenmarkt- <strong>und</strong> Public-Domain-Software nach der EG-Dual-Use-Verordnung von der<br />

Exportkontrolle ausgenommen; das neue Abkommen ist also in diesem Punkt restriktiver, da nun<br />

auch die Schlüssellänge entscheidet, ob eine Ausfuhrgenehmigung erforderlich ist [SH98c].<br />

Software für größere Schlüssellängen darf nicht ohne weiteres exportiert werden (sie steht unter Exportkontrolle);<br />

das bedeutet aber auch nicht, daß ihre Ausfuhr gr<strong>und</strong>sätzlich verboten wäre. Es ist<br />

Sache der einzelnen Mitgliedsländer des Wassenaar-Abkommens, wie sie die vereinbarten Regeln<br />

national gesetzgeberisch umsetzen bzw. ob ein Produkt, das unter Exportkontrolle steht, trotzdem<br />

ausgeführt werden darf. Außerdem scheint es dabei auch einigen Interpretationsspielraum zu geben.<br />

So hat Dänemark bereits einen Journalisten dazu angehalten, die Download-Möglichkeit von<br />

PGP von s<strong>einer</strong> Web-Site zu deaktivieren. Die B<strong>und</strong>esrepublik will hingegen erst in sechs Monaten<br />

mit der nationalen Umsetzung der Übereinkunft beginnen. Im Wirtschaftsministerium teilt man<br />

die dänische Auffassung, PGP sei “Mass Market Software” <strong>und</strong> damit exportkontrollpflichtig, nicht<br />

[CZ99b, Moe98]. Die Internet Engineering Steering Group (IESG) <strong>und</strong> das Internet Architecture<br />

Board (IAB) haben hingegen mit einem scharfen Protest auf die neuen Vereinbarungen reagiert<br />

[BC98], vermutlich weil die Mitgliedsstaaten verpflichtet sind, die – meist einstimmig getroffenen<br />

– Vereinbarungen in einem bestimmten Zeitrahmen in nationales Recht zu übertragen <strong>und</strong> anzuwenden<br />

[Rot98a, S. 9]. – Im Zweifelsfall hilft vielleicht eine Anfrage an das B<strong>und</strong>esausfuhramt (siehe<br />

Anhang M) weiter.<br />

„Die (käuflichen) Web-Browser (z.B. Netscape Navigator Gold) sind als mass market software<br />

für jedermann frei erhältlich <strong>und</strong> dazu entwickelt, vom Benutzer selbst installiert zu werden. ...<br />

Die im Internet kostenlos erhältlichen Web-Browser sind als Public Domain Software geneh-<br />

migungsfrei.“ [Rot98a, S. 9]<br />

Doch richtig aufatmen kann man z.B. als Administrator eines FTP-Servers trotzdem nicht – es gibt<br />

etliche andere Software mit kryptographischer Funktionalität, deren Export aus der B<strong>und</strong>esrepu-<br />

30 http://www.identrus.com<br />

31 http://www.certco.com


4.20. Entwicklungsperspektiven 91<br />

blik zwar nicht genehmigungspflichtig oder gar verboten sein mag, die aber sehr wohl unter die<br />

US-amerikanischen Re-Exportkontrollen fällt. Diese extraterritorialen Kontrollen sind zwar völkerrechtswidrig,<br />

das hindert die Vereinigten Staaten aber nicht daran, sie bei sich bietender Gelegenheit<br />

durchzusetzen (z.B. bei Urlaubsreisen der Betroffenen in die USA). Da die meisten Software-<br />

Bibliotheken von US-Firmen produziert <strong>und</strong> angeboten werden, außerhalb der USA entwickelte<br />

Software meistens mindestens eine dieser Standard-Bibliotheken benutzt, fällt die so entwickelte<br />

Software nach US-Rechtsauffassung unter die amerikanischen Re-Exportkontrollen [Rot98b]. 32<br />

4.20 Entwicklungsperspektiven<br />

Eine Weiterentwicklung der UNI-CA könnte in mehrere Richtungen – durchaus auch zeitlich parallel<br />

– <strong>und</strong> aus unterschiedlichen Gründen geschehen:<br />

wachsende Nachfrage bis hin zur vollen Ausschöpfung des existierenden Potentials an Nutzern<br />

bei höheren (�<br />

Sicherheitsanforderungen<br />

nahmen)<br />

neue Anwendungen <strong>und</strong> Dienste<br />

4.20.1 Fortschreibung <strong>und</strong> Anpassung der Policies<br />

technische, organisatorische <strong>und</strong> bauliche Maß-<br />

Bei den Policies dürfte eine kontinuierliche Fortschreibung sinnvoll sein. Das bedeutet nicht, daß<br />

ständig Änderungen daran vorgenommen werden sollten, man sollte sie in <strong>einer</strong> einmal geltenden<br />

Form aber andererseits auch nicht als „für die Ewigkeit“ formuliert betrachten. Die <strong>DFN</strong>-PCA<br />

entwickelt ihre Policies weiter (die nächste Änderung wird vermutlich, wenn nichts Unvorhergesehenes<br />

passiert, zum 1. Januar 2001 vorgenommen werden, denn dann laufen die geltenden Policies<br />

<strong>und</strong> das aktuelle PCA-Projekt aus), insofern könnten Anpassungen der UNI-Policies erforderlich<br />

werden, sofern weiterhin eine Zertifizierung durch die <strong>DFN</strong>-PCA gewünscht wird. In diesem Zusammenhang<br />

muß sich auch zeigen, ob besser ein monolithisches Policy-Dokument (mit internen<br />

Fallunterscheidungen) oder besser mehrere format- oder anwendungsspezifische Policies zum Einsatz<br />

kommen sollten. Die <strong>DFN</strong>-PCA hat bisher versucht, mit ihren Policies anwendungs-, z.T. auch<br />

format-übergreifend zu bleiben, während in diesem Konzept für die UNI-CA eine Trennung zumindest<br />

nach den Zertifikatformaten vorgeschlagen wird. Die Policies werden auch vor dem Hintergr<strong>und</strong><br />

der individuellen Gegebenheiten <strong>und</strong> Erfahrungen fortgeschrieben werden müssen, die die<br />

jeweilige CA mit ihnen in der Praxis gemacht hat. Mit der enger werdenden europäischen Integration<br />

dürfte beispielsweise die Frage häufiger auftreten, wie ausländische Ausweisdokumente bei<br />

der Identitätsprüfung gehandhabt werden sollten. (Kein CA-Mitarbeiter wird alle Pässe oder Ausweispapiere<br />

auch nur der EU-Staaten so gut kennen, daß er Fälschungen sofort als solche erkennen<br />

könnte.)<br />

32 Interessant wäre es in diesem Zusammenhang zu erfahren, ob auch solche Programme unter die US-Re-<br />

Exportkontrollen fallen, die nicht statisch gelinkt sind, folglich auch keine Bestandteile von US-Software enthalten, aber<br />

u.U. dynamisch geb<strong>und</strong>ene US-Software-Bibliotheken nutzen.


92 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Bei wachsenden Nutzerzahlen wird eine möglichst effiziente Handhabung <strong>und</strong> Durchführung der<br />

einzelnen Arbeitsschritte <strong>einer</strong> Zertifizierung immer wichtiger. 33 Der Automatisierung des Zertifizierungsprozesses<br />

(sei es durch selbstgeschriebene Skripte, sei es durch den Einsatz neuer CA-<br />

Software wie beispielsweise der, die von SIMON FRISCHEISEN im Rahmen <strong>einer</strong> Diplomarbeit an<br />

der TU München [Fri99] entwickelt wird) kommt daher mit zunehmender Nachfrage nach den Zertifizierungsdiensten<br />

eine immer größere Bedeutung zu. Ein Punkt, an dem die CA-Arbeit sich voraussichtlich<br />

konzentrieren dürfte, ist der hohe Arbeitsaufwand bei der Verwaltung der zertifizierten<br />

Keys <strong>und</strong> der Re-Zertifizierung bei einem Schlüsselwechsel der CA. Überhaupt sind die Funktionen<br />

<strong>und</strong> Protokolle für ein effizientes <strong>und</strong> für den Anwender möglichst transparentes Key-Management<br />

gerade erst im Entstehen <strong>und</strong> noch lange nicht umfassend in der Praxis erprobt. Hier darf man auch<br />

auf die Erfahrungen der SigG-Zertifizierungsstellen gespannt sein, so sie denn hoffentlich einen <strong>Teil</strong><br />

ihrer Erfahrungen auch publizieren werden.<br />

Ein weiterer Punkt, der sicher erst in einiger Zeit relevant werden wird, wenn die gesicherte Individualkommunikation<br />

etabliert ist, dürfte die Zertifizierung von Gruppenschlüsseln, z.B. für verschlüsselte<br />

Mailinglisten sein. Dabei werden dann möglicherweise auch Performance-Fragen eine<br />

größere Rolle spielen (z.B. bei großen Mailinglisten mit mehreren tausend Empfängern). Auch eine<br />

stärkere Unterstützung von Anonymitäts- <strong>und</strong>/oder Pseudonymitätsdiensten – gerade durch eine<br />

Forschungseinrichtung! – wäre denkbar.<br />

Die weiteren Fortschritte der Kryptographie können schließlich ebenfalls eine Entwicklung anstoßen<br />

oder ein nicht eingeplantes Vorgehen erforderlich machen. So ist nicht auszuschließen, daß<br />

die bislang entdeckten Schwachpunkte im Hash-Algorithmus MD5 in Zukunft so weit ausgenutzt<br />

werden könnten, daß er als Message Digest nicht mehr weiter eingesetzt werden kann. Im Fall eines<br />

kryptographischen oder mathematischen Durchbruches könnte sogar das RSA-Verfahren gebrochen<br />

werden; dann müßte überall, wo es bisher eingesetzt wird, auf andere Verfahren oder Verfahrensklassen<br />

ausgewichen werden. In beiden Fällen würde der Kompatibilitätsaspekt, der in diesem<br />

Konzept noch als Begründung für das Festhalten an PGP 2.6 mit seinem MD5-Message Digest genannt<br />

wird (s. 4.8.1), gegenüber den Sicherheitsbelangen in den Hintergr<strong>und</strong> treten. Um für solch<br />

einen Fall besser gewappnet zu sein, ist es auch wichtig, daß neue Verschlüsselungsstandards bzw.<br />

-formate so flexibel formuliert werden, daß ein Wechsel des Verschlüsselungs- oder des Message-<br />

Digest-Verfahrens möglich ist, ohne deswegen den Standard oder den restlichen <strong>Teil</strong> der Software<br />

ändern zu müssen. 34<br />

Die beiden letzten Punkte, Zertifizierung von Gruppenschlüsseln <strong>und</strong> Weiterentwicklung der Kryptographie,<br />

könnten u.U. ebenfalls eine Änderung der Policies nach sich ziehen. Gleiches gilt für die<br />

Nachbereitung oder Aufarbeitung von sicherheitsrelevanten Vorfällen in <strong>einer</strong> CA. Gegebenenfalls<br />

müssen aus derartigen Geschehnissen auch entsprechende Konsequenzen gezogen werden, z.B. für<br />

die Arbeitsorganisation oder die erforderlichen Schutzmaßnahmen, so daß eine Policy-Anpassung<br />

unumgänglich wird.<br />

33<br />

Siehe dazu auch [FSV98]; über Praxiserfahrung im Umgang mit <strong>einer</strong> großen Zahl von Zertifizierungsanträgen kann<br />

heute bereits die pgpCA der c’t Auskunft geben (Anschrift s. Anhang M)<br />

34<br />

Im zukünftigen Internet-Protokoll IPv6 haben die Autoren diesem Umstand beispielsweise schon Rechnung getra-<br />

gen.


4.20. Entwicklungsperspektiven 93<br />

4.20.2 Verlagerung des Schwerpunktes der Arbeit in der Zertifizierungsstelle<br />

Je nach der Phase, in der sich die UNI-CA befindet, wird sich der voraussichtliche Schwerpunkt des<br />

Arbeitsaufwandes für den CA-<strong>Betrieb</strong> im Laufe der Zeit verlagern:<br />

4.20.3 Ausbaustufen<br />

Phase Aktivitätsschwerpunkt<br />

Einrichtung Beschaffung, Installation<br />

Inbetriebnahme Einspielen der Abläufe <strong>und</strong> Verantwortlichkeiten,<br />

Bekanntmachen der Dienste<br />

Wachstum Dokumentation, Aufklärung <strong>und</strong> Sensibilisierung<br />

der (potentiellen) Anwender<br />

Fortbestehen Aspekte des Schlüsselmanagements (Re-Zertifizierung,<br />

Key-Rollover)<br />

Massenbetrieb Automatisierung, Pflege der Dokumentation, Überarbeitung<br />

des Sicherheitskonzeptes<br />

Die nachfolgende Tabelle zeigt eine mögliche Abfolge von Ausbaustufen der UNI-CA nebst <strong>einer</strong><br />

Schätzung, wie lange die jeweilige Phase etwa dauern könnten. Die zeitliche Abfolge ist dabei in<br />

k<strong>einer</strong> Weise zwingend oder zwangsläufig, naheliegend ist nur, daß die ersten beiden genannten<br />

Punkte den übrigen vorangehen dürften.<br />

Dauer Aktivität<br />

�<br />

5.¡ -/6.¡<br />

3 Mann-Monate (MM) Vorbereitung, <strong>Aufbau</strong> <strong>und</strong> Inbetriebnahme der Low-Level CA<br />

1 MM Inbetriebnahme der Medium-Level CA<br />

1 – 2 MM Unterstützung von X.509-Zertifizierungen<br />

MM Zertifizierung von PGP -/OpenPGP-Schlüsseln<br />

1 MM Eröffnung von Registrierungsstellen<br />

2 MM Einrichtung von nachgeordneten CAs<br />

4.20.4 Zertifizierungs-Hardware<br />

Nicht nur die Policy kann oder muß im Laufe der Zeit weiterentwickelt werden; auch die Hardware-<br />

Ausstattung der Zertifizierungsstelle kann ausgebaut oder verf<strong>einer</strong>t werden. Dabei können verschiedene<br />

Aspekte betont werden, die in den folgenden Abschnitten genauer beschrieben werden.<br />

Zur Zeit ist die Auswahl an geeigneten Produkten, die auch unter freien Unix-Versionen unterstützt<br />

werden, noch nicht sehr groß, daher werden im Anhang B.3 ff. Geräte beispielhaft genannt, die<br />

diese Anforderung erfüllen.<br />

4.20.4.1 Schutz vor elektromagnetischer Abstrahlung (TEMPEST)<br />

[Luc96, Kuh98] beschreiben Angriffe, die die elektromagnetische Abstrahlung (EMA) eines Rechners<br />

ausnutzen, um ohne direkten physikalischen Zugang oder Zugriff auf den Rechner Informationen<br />

„abzuhören“. Bezogen auf den Zertifizierungsrechner könnte das beispielsweise bedeuten,


94 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

daß ein Angreifer die Tastendrücke aufzeichnet, die bei der Eingabe der Passphrase für den Signierschlüssel<br />

passieren. Schafft er es dann noch, Zugriff auf den Schlüsseldatenträger zu bekommen,<br />

kann er den geheimen Signierschlüssel der CA kopieren <strong>und</strong> dann mißbräuchlich einsetzen.<br />

Eine Entwicklungsmöglichkeit oder Ausbaustufe der UNI-CA könnte daher darauf abzielen, diese<br />

Strahlung beim CA-Rechner stärker abzuschirmen <strong>und</strong> so mögliche TEMPEST-Angriffe zu<br />

erschweren. Dies könnte entweder durch einen dezidierten abgeschirmten Rechnerraum (Faradayscher<br />

Käfig; leitende, metalldurchwirkte Tapeten u.ä.) oder aber durch den Einsatz eines speziell<br />

gegen solche Strahlung abgeschirmten CA-Rechners geschehen. 35 Der Preis für einen PC in TEM-<br />

PEST-Ausführung liegt laut WOLFF [Wol98] bei r<strong>und</strong> 30 000 DM; ein dazu passender entsprechend<br />

abgeschirmter Drucker kostet zusätzlich noch einmal ca. 15 000 DM. LUCKHARDT [Luc96]<br />

schreibt, man müsse bei TEMPEST-Hardware etwa mit dem Vierfachen des Normalpreises rechnen.<br />

Nachteilig ist, daß der TEMPEST-Schutz völlig neu ausgemessen werden muß, wenn auch nur ein<br />

<strong>Teil</strong> (z.B. eine Controller-Karte) am Gesamtsystem ausgetauscht wird. Ein weiteres Problem bei<br />

TEMPEST-Rechnern ist der hohe zeitliche Aufwand bei der Herstellung <strong>und</strong> die geringe Nachfrage,<br />

die zusammen dazu führen, daß TEMPEST-Geräte der schnellebigen Informationstechnik<br />

meist um etwa drei Jahre hinterherhinken. Man kann also heutzutage einen TEMPEST-486er-PC<br />

oder gerade einmal einen Pentium-PC in TEMPEST-Ausführung bekommen, jedoch keinen Stateof-the-art-Rechner<br />

[Wol98].<br />

Eine andere Schutzvorkehrung gegen EMA kann im Einsatz eines „Störsenders“ bestehen, der in<br />

einem Umkreis um den Einsatzort (nahe am Zertifizierungsrechner) die EMA auf allen Frequenzen<br />

mit anderen Signalen dergestalt überlagert, daß ein Lauscher mit seinen Empfangsgeräten die<br />

für ihn interessanten Signale nicht mehr empfangen kann. Ein Beispiel für ein solches im Handel<br />

erhältliches Gerät ist das Data Safety Device (siehe Anhang B.3).<br />

4.20.4.2 Chipkarten<br />

Eine Erhöhung der Sicherheit ließe sich u.U. auch durch den Einsatz von Chipkarten erreichen,<br />

auf denen die geheimen CA-Schlüssel gespeichert werden können <strong>und</strong> die diese nie preisgeben.<br />

Dafür müssen diese Karten zusätzlich in der Lage sein, entsprechende Ver- oder Entschlüsselungs<strong>und</strong><br />

Signier-Operationen selbst <strong>und</strong> ausschließlich im Mikroprozessor der Chipkarte durchzuführen,<br />

ohne daß dabei die Zentraleinheit des Zertifizierungsrechners gebraucht wird. Derartige Krypto-<br />

Chipkarten werden durch das Signaturgesetz <strong>und</strong> dessen Umsetzung einen Nachfrage-Schub bekommen<br />

<strong>und</strong> dann hoffentlich durch die großen Stückzahlen auch erheblich preiswerter werden.<br />

Aber auch Chipkarten sind nicht 100prozentig sicher [AK96, Zie98], man sollte sich daher nicht<br />

der trügerischen Annahme hingeben, sobald (Krypto-)Chipkarten eingesetzt werden, wären keine<br />

Angriffe auf die CA oder ihre geheimen Schlüssel mehr möglich.<br />

35 Solche Rechner sind mittlerweile am freien Markt erhältlich, u.a. bei Siemens/Fürth (siehe Anhang B.3); allerdings<br />

wird die Käuferadresse an das B<strong>und</strong>esamt für Sicherheit in der Informationstechnik (BSI) übermittelt [Luc96]. Weitere<br />

Anbieter finden sich auf der TEMPEST-Web-Seite von JOEL MCNAMARA (siehe Anhang A.1)


4.20. Entwicklungsperspektiven 95<br />

4.20.4.3 Dezidierte Krypto-Hardware<br />

Die Langzahl-Rechenoperationen, die für die gängigen Public-Key-Operationen ausgeführt werden<br />

müssen, sind aufwendig <strong>und</strong> verbrauchen, gerade wenn viele solcher Operationen schnell hintereinander<br />

ausgeführt werden sollen, viel Rechenzeit. Wenn bei <strong>einer</strong> hohen Anzahl von Zugriffen<br />

beispielsweise auf einen HTTPS-Server die CPU-Leistung für die aufwendigen Public-Key-<br />

Berechnungen nicht mehr ausreichend ist, um erträglich kurze Antwortzeiten sicherzustellen, ist<br />

der Einsatz von speziellen Krypto-Coprozessor-Boards im betroffenen Server (oder auch in einem<br />

CA-Rechner, falls der überlastet ist) möglich. Ein Beispiel für solche Geräte sind die Produkte aus<br />

der „nFast“-Krypto-Beschleuniger-Familie der Firma nCipher (siehe Anhang B.3). Sie können beispielsweise<br />

auch mit dem gängigen Web-Server apache eingesetzt werden <strong>und</strong> werden über eine<br />

SCSI-Schnittstelle angeschlossen.<br />

Solche spezielle Krypto-Hardware hat einen Vorteil, der zugleich ein Nachteil sein kann: Sie ist<br />

meist tamper resistant aufgebaut, d.h. so versiegelt, daß eine Analyse ihres Inneren nicht möglich<br />

ist. Man ist daher gezwungen, sich auf die Zusicherungen des Herstellers über die kryptographischen<br />

Eigenschaften z.B. des in so einem Modul enthaltenen Schlüssel- <strong>und</strong> Zufallszahlengenerators<br />

zu verlassen. Bestenfalls können seine Ergebnisse ausgelesen <strong>und</strong> extern weiterverarbeitet<br />

werden, eine Gelegenheit zu <strong>einer</strong> gründlichen Analyse, wie sie z.B. bei reinen Software-Lösungen<br />

bei Vorliegen des Quellcodes möglich ist, hat man bei Krypto-Hardware in der Regel nicht.<br />

4.20.4.4 Hardware-Zufallszahlengenerator<br />

Die Erzeugung von Schlüsseln ist ein besonders sensibler Punkt bei allen kryptographischen Verfahren.<br />

Die Schlüssel sollen für einen Angreifer nicht vorhersag- oder -bestimmbar sein, müssen<br />

also möglichst echte Zufallszahlen sein. Echter Zufall ist nun aber etwas, das sich mittels Software<br />

mit ihren genau festgelegten Arbeitsschritten kaum erzeugen läßt.<br />

Sicherheitsfachleute schlugen schon vor Jahren vor, einen physikalischen Zufallszahlengenerator,<br />

also Hardware, für diese Aufgabe zu verwenden:<br />

“Is there any hope for strong portable randomness in the future? There might be. All that’s<br />

needed is a physical source of unpredictable numbers.<br />

A thermal noise or radioactive decay source and a fast, free-running oscillator would do the trick<br />

directly [...]. This is a trivial amount of hardware, and could easily be included as a standard<br />

part of a computer system’s architecture. [...] All that’s needed is the common perception among<br />

computer vendors that this small additional hardware and the software to access it is necessary<br />

and useful.” [CES94]<br />

Aber erst jetzt setzt mit Intel ein Hersteller von Massenmarkt-Computer-Hardware dies in die Tat<br />

um <strong>und</strong> realisiert einen solchen Zufallszahlengenerator in einem Produkt: Der neue Pentium-III-<br />

Prozessor enthält (neben der unter Datenschutzgesichtspunkten eher bedenklichen Seriennummer)<br />

auch einen Hardware-Zufallszahlengenerator [IW99, JK99].<br />

Alternativ könnten aber auch Ansätze wie der in [HJJS98] erfolgreich sein, die auf üblicherweise<br />

vorhandener Hardware – hier: Festplatten – aufbauen <strong>und</strong> diese zur Gewinnung echter Zufallszahlen<br />

nutzen.


96 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Ein kryptographisch starker Zufallszahlengenerator ist für eine CA vor allem bei der Erzeugung<br />

von Schlüsseln wichtig. Wenn die CA nicht gleichzeitig auch als Trustcenter arbeitet <strong>und</strong> für ihre<br />

Nutzer die Schlüsselpaare generiert, sondern nur als Zertifizierungsstelle auftritt, dann ist der Nutzen<br />

eines Hardware-Zufallszahlengenerators auf die seltenen Momente beschränkt, in denen die CA<br />

selbst ihre neuen Schlüssel generiert. Beim Zertifizieren von Schlüsseln werden keine Zufallszahlen<br />

benötigt.<br />

Zufallszahlenerzeugung als „Werbegag“ für die CA bei Veranstaltungen Die Computerzeitschrift<br />

c’t bot auf der diesjährigen CeBIT nicht nur die Zertifizierung von PGP-Schlüsseln, sondern<br />

für alle neugierig Gewordenen, die ihren Schlüssel nicht dabei hatten oder noch gar nicht über einen<br />

solchen verfügen, gleichzeitig auch noch als besonderen Service die Schlüsselgenerierung an:<br />

„Allen, die noch keinen PGP-Schlüssel besitzen, bieten wir auf der Messe eine Möglichkeit zur<br />

Schlüsselgenerierung an. Der dabei eingesetzte DOS-Rechner bootet von CD-ROM <strong>und</strong> besitzt<br />

als einziges Speichermedium eine Diskette, auf der die Schlüsseldaten landen. Diese Diskette<br />

nehmen Sie mit nach Hause – auf dem System können keine Spuren Ihres geheimen PGP-Keys<br />

verbleiben.“ [Luc99a]<br />

Eine werbewirksame Idee, die sich mit der Zufallszahlenerzeugung als Zutat für Schlüsselgenerierung<br />

zu <strong>einer</strong> PR-Aktion für die Low-Level UNI-CA kombinieren ließe: radioaktiver Zerfall, Höhenstrahlung<br />

o.ä. könnte als Rauschquelle mit entsprechendem abenteuerlich-auffallendem Geräte-<br />

<strong>Aufbau</strong> dienen. (Eventuell ließe sich die jeweilige Zufalls-Quelle danach wählen, in welchem Umfeld<br />

die CA gerade dargestellt werden soll; also z.B. eine physikalische Rauschquelle wie eine<br />

Diode, wenn Physiker angesprochen werden sollen, oder Radioaktivität, wenn es darum geht, Chemiker<br />

zu interessieren usw.) Die von diesem Generator gelieferte Bitfolge könnte dann auf Diskette<br />

gespeichert <strong>und</strong> anschließend dem Interessenten ausgehändigt werden. Oder sie würde, als Verf<strong>einer</strong>ung<br />

der o.g. c’t-Aktion, in einen „gläsernen Rechner“ geleitet, der vom CD-ROM bootet <strong>und</strong><br />

unter Verwendung der Zufallszahlenfolge ein Schlüsselpaar generiert.<br />

Der gläserne Rechner dient dabei mehr als Blickfang <strong>und</strong> dazu, den Leuten zeigen zu können,<br />

daß wirklich keine Festplatte o.ä. eingebaut ist, die den gerade erzeugten geheimen Schlüssel des<br />

Nutzers eventuell doch speichern könnte. – Das schützt allerdings trotzdem nicht vor <strong>einer</strong> schlechten<br />

oder gezielt manipulierten Implementierung der Schlüsselgenerierungs-Software, die dann vielleicht<br />

gar keine wirklich zufälligen Schlüssel erzeugt oder die den generierten geheimen Schlüssel<br />

versteckt in den Public-Key einbettet, so daß ihn der wissende Angreifer daraus später extrahieren<br />

kann [How97]. Insofern ist dieses Verfahren eher eine Attraktion, um einige Leute auf Verschlüsselung<br />

aufmerksam zu machen <strong>und</strong> sie dafür zu gewinnen. Höheren Sicherheitsanforderungen wird<br />

diese Variante der Schlüsselerzeugung nicht gerecht, noch zumal wo sie ja in aller Öffentlichkeit<br />

passiert <strong>und</strong> insofern einem Angreifer zusätzliche Möglichkeiten bietet.<br />

Zu einem solchen Verfahren, bei dem Zufallszahlen verschiedener Qualität aus verschiedenen Quellen<br />

einfließen, schreibt FEDERRATH [Fed97]:<br />

„Das generierte Schlüsselpaar ist dabei mindestens so sicher wie der sicherste Zufallszahlenan-<br />

teil. Es könnten also sowohl vom <strong>Teil</strong>nehmer als auch vom Trust Center Zufallszahlen in das


4.20. Entwicklungsperspektiven 97<br />

Gerät eingegeben werden, wobei der beste Zufallsanteil die minimale Güte der Schlüsselerzeu-<br />

gung bestimmt.“<br />

Das stärkste Glied in der Kette bestimmt also, wie stark das Ganze ist – ein sehr erfreulicher Umstand!<br />

Das alles gilt natürlich unter dem Vorbehalt, daß die verwendete Software, die die Zufallszahlen-<br />

Eingaben als Ausgangsbasis für die Schlüsselerzeugung nutzt, zuverlässig arbeitet <strong>und</strong> diese Zufallszahlen<br />

nach dem „Stand der Kunst“ zu Schlüsseln weiterverarbeitet. Es wäre allerdings wünschenswert,<br />

daß Software, die Schlüssel generiert, zukünftig auch das „Zumischen“ von Zufallszahlen<br />

z.B. aus <strong>einer</strong> oder mehreren anderen Quellen, beispielsweise aus <strong>einer</strong> Datei auf <strong>einer</strong> Diskette,<br />

ermöglicht. Dann könnte eine CA statt der Schlüsselgenerierung die bloße Erzeugung von echten<br />

Zufallszahlen „zum Abfüllen“ <strong>und</strong> Mitnehmen anbieten. Diese könnten dann vom Anwender auf<br />

einem Datenträger mit nach Hause genommen <strong>und</strong> dort bei der nächsten Schlüsselerzeugung „beigemischt“<br />

werden.<br />

4.20.4.5 Biometrische Verfahren<br />

Biometrische Verfahren zur Zugriffssicherung können auch in <strong>einer</strong> CA eingesetzt werden, z.B. um<br />

den Zugriff auf den geheimen Signierschlüssel zu kontrollieren. Das wäre eine andere denkbare Erweiterung<br />

<strong>und</strong> Verf<strong>einer</strong>ung der CA-Hardware-Ausstattung, die zugleich einen zusätzlichen Schutz<br />

vor unbefugtem Zugriff auf den Private-Key böte.<br />

Der Biomouse Fingerabdruck-Scanner (siehe Anhang B.3) ist eines der wenigen biometrischen Geräte,<br />

die auch mit Treibern bzw. einem Developer Toolkit für Unix/Linux erhältlich sind, insofern<br />

könnte er für die UNI-CA interessant sein, wenn dort auch biometrische Verfahren zum Einsatz<br />

kommen sollen.<br />

4.20.5 Neue Anwendungen im Zusammenhang mit Public-Key-Verfahren<br />

Die Tätigkeit der UNI-CA muß nicht auf die Zertifizierung von Schlüsseln beschränkt bleiben. Es<br />

bietet sich vielmehr an, das dabei gewonnene Know-how auch im Rahmen der übrigen Aufgaben<br />

des Rechenzentrums einzusetzen. Eine konkrete Anwendung soll das verdeutlichen. Mit ihr werden<br />

sich Einrichtungen, die wie die das UNI-RZ mit Netzwerkverwaltung befaßt sind, ohnehin in nicht<br />

allzu ferner Zeit zu befassen haben:<br />

DNSsec, die Sicherheits-Erweiterungen für den Domain Name Service (DNS) [Gil97, Eas99] schützen<br />

gegen bisher mögliche Angriffe auf den DNS wie z.B. DNS-Spoofing [MW97, Mar99], indem<br />

DNS-Einträgen ein neuer Eintragstyp hinzugefügt wird, der eine digitale Unterschrift zu den übrigen<br />

Einträgen enthält. Anhand dieser digitalen Signatur läßt sich dann leicht feststellen, ob der<br />

DNS-Eintrag in unverfälschter, authentischer Form übermittelt wurde <strong>und</strong> wirklich von dem für die<br />

betreffende Zone maßgeblichen Server stammt.<br />

Zugleich bietet DNSsec auch ein alternatives Verteilmedium für Zertifikate in Form des entsprechend<br />

erweiterten DNS an, so daß dieser Standard auch aus diesem Gr<strong>und</strong> für eine Zertifizierungsstelle<br />

interessant ist.


98 Kapitel 4. Konzept für eine Zertifizierungsstelle (“plan”)<br />

Bis vor kurzem fehlte es noch an der Anwendung von DNSsec in großem Umfang, weil die einzige<br />

verfügbare Version der verbreiteten DNS-Serversoftware BIND mit DNSsec-Unterstützung<br />

auf <strong>einer</strong> veralteten BIND-Version 4.x beruhte. Da mittlerweile BIND 8.x-Versionen mit DNSsec-<br />

Funktionalität verfügbar sind, wird die Zahl der DNS-Server mit DNSsec-Unterstützung nunmehr<br />

bald steigen.<br />

Im September 1998 hat die US-Regierung einen entsprechenden Auftrag für den Schutz des DNS<br />

(„kryptographische Authentifizierung“) an die Firma Network Associates vergeben [CZ98l]. NAI<br />

veranschlagt für die Entwicklung einen Zeitraum von etwa 18 Monaten. Wenn dieser Zeitplan halbwegs<br />

einhalten wird, dürfte man spätestens ab Ende 2000 mit einem signifikant steigenden Einsatz<br />

von DNSsec im Internet rechnen.


Kapitel 5<br />

Praktische Umsetzung des<br />

CA-Konzeptes<br />

Dieses Kapitel ist als Handreichung für die Vorbereitung <strong>und</strong> Umsetzung des im vorigen Kapitel<br />

beschriebenen Konzeptes für die UNI-CA gedacht. Es beschreibt zum <strong>Teil</strong> sehr konkret, dabei teilweise<br />

auch in stichpunktartiger Form oder in Form von Checklisten, wie dabei vorgegangen werden<br />

sollte.<br />

5.1 Zertifizierungsplattform<br />

5.1.1 Der Zertifizierungsrechner<br />

Als Zertifizierungsrechner ist ein mobiler, tragbarer Rechner vorgesehen. Damit wird es der Low-<br />

Level UNI-CA möglich sein, flexibel vor Ort bei verschiedenen Gelegenheiten ihre Zertifizierungsdienste<br />

anbieten <strong>und</strong> demonstrieren zu können. Die Möglichkeit, eine physikalische Diebstahlssicherung<br />

anzubringen, mit der das Gerät vor Wegnahme geschützt werden kann, ist unbedingt vorzusehen,<br />

vor allem für externe Termine mit Publikumskontakt, da tragbare Computer einem erheblichen<br />

Diebstahlsrisiko ausgesetzt sind. 1996 wurden 265 000 tragbare Computer gestohlen (Zahlen<br />

von Safeware Insurance, nach [Per98]).<br />

5.1.2 <strong>Betrieb</strong>ssystem<br />

Der Zertifizierungsrechner der UNI-CA sollte unter dem <strong>Betrieb</strong>ssystem Linux betrieben werden<br />

<strong>und</strong> zwar aus folgenden Gründen, die für Linux sprechen:<br />

Linux läuft auf gängigen tragbaren Computern (wenn auch nicht auf allen)<br />

Linux ist „Open-Source“, eine Eigenschaft, die gerade bei sicherheitsrelevanten Anwendungen<br />

von Vorteil ist [Neu99]<br />

MICHAEL HANGE, Vizepräsident des B<strong>und</strong>esamtes für Sicherheit in der Informationstech-<br />

nik:<br />

99


100 Kapitel 5. Praktische Umsetzung des CA-Konzeptes<br />

„Vorteile [von Linux] sehen wir im höheren Stabilitätsgrad im Server-Bereich sowie im<br />

Bereich höherschutzbedürftiger Anwendungen. ... Generell sollte man die Transparenz,<br />

die das System zur Zeit hat, in Zukunft erhalten. Die freie Verfügbarkeit ist ein enormer<br />

Vorteil.“ [SH99, S. 218]<br />

Schwächen von Microsoft-<strong>Betrieb</strong>ssystemen bei Sicherheitsaspekten [CZ98h] <strong>und</strong> mangelnde<br />

Reaktion von Microsoft auf Hinweise auf Fehler in Sicherheitsfunktionen ihrer Produkte,<br />

wie von PETER GUTMANN in [Gut98] geschildert<br />

Zusätzlich könnte eventuell ein verschlüsselndes Filesystem eingesetzt werden. CFS [Bla93] verschlüsselt<br />

nur mit DES, das mag besser sein als ein unverschlüsseltes Dateisystem, ist aber nicht<br />

mehr zeitgemäß, da DES inzwischen innerhalb weniger Tage oder sogar St<strong>und</strong>en geknackt werden<br />

kann [EFF98].<br />

TCFS 1 [CP, Mau97] bietet eine breitere Palette von Verschlüsselungsalgorithmen zur Auswahl.<br />

Je nach Leistungsfähigkeit der verwendeten CPU <strong>und</strong> Verfügbarkeit eines entsprechenden Krypto-<br />

Moduls für TCFS sollte IDEA als Verschlüsselungsverfahren der Vorzug vor 3DES gegeben werden.<br />

DES oder RC5 sollten nicht verwendet werden. Da TCFS über NFS angesprochen wird, müßte<br />

auf dem CA-Rechner auch ein NFS-Server laufen. Beide, CFS <strong>und</strong> TCFS, werden auch in [Sch98]<br />

dargestellt.<br />

Die Integrität der Software <strong>und</strong> der Daten auf dem Zertifizierungsrechner sollte regelmäßig überprüft<br />

werden. Um dies zu gewährleisten, kann beispielsweise das bewährte Sicherheits-Tool tripwire<br />

[KS94] eingesetzt werden. Es bildet Prüfsummen nach verschiedenen kryptographischen Verfahren<br />

über den einzelnen Dateien <strong>und</strong> speichert diese für spätere Vergleichsläufe ab.<br />

5.1.3 Zertifizierungssoftware<br />

Als Zertifizierungssoftware für PGP-Schlüssel wird PGP 2.6.3in vorgeschlagen, eine PGP-Version,<br />

die speziell auf den Einsatz in Zertifizierungsumgebungen zugeschnitten ist <strong>und</strong> einige der – fehlerträchtigen<br />

<strong>und</strong> mühsamen – Plausibilitätsprüfungen automatisch vornimmt, die bei <strong>einer</strong> Zertfizierung<br />

durchgeführt werden sollten. Außerdem unterstützt diese Version bei Verwendung separater<br />

RSA-Schlüssel für das Signieren <strong>und</strong> Entschlüsseln die automatische Benutzung des jeweils vorgesehenen<br />

Schlüssels, so daß bei der verlangten Funktionstrennung (siehe 4.8.2) die Gefahr von<br />

Verwechslungen <strong>und</strong> Fehlbenutzungen reduziert wird.<br />

PGP 2.6.3in ist außerdem die einzige PGP 2.x-Version, die Zertifikatwiderrufe unterstützt, insofern<br />

bleibt eigentlich kaum eine Wahl, zumal die Unix-Variante der neueren PGP-Versionen (PGP 5.0i,<br />

PGP 6.5.1i) aus den in 4.8.1 genannten Gründen (noch) nicht eingesetzt werden soll. Im Anhang<br />

I.2 werden weitere Gründe dafür aufgeführt, warum gerade PGP2.6.3in in der UNI-CA verwendet<br />

werden sollte.<br />

1 http://mikonos.dia.unisa.it/tcfs


5.2. Vorgehen bei Einrichtung der CA (“build”) 101<br />

5.1.4 Speichermedium für den geheimen Signierschlüssel<br />

Die Policy sieht eine Speicherung des geheimen CA-Signierschlüssels auf einem Wechselmedium<br />

vor. Als Trägermedium für die Schlüsseldaten, insbesondere die Private-Keys der CA, ist eine<br />

Floppy-Disk bzw. ZIP-Disk vorgesehen.<br />

Ein Speichern der geheimen Schlüssel auf <strong>einer</strong> CD-ROM hätte zwar den Vorteil, daß diese nicht<br />

mehr von einem Angreifer im <strong>Betrieb</strong> verändert werden könnten, dem stünden aber zwei Nachteile<br />

gegenüber: Zum einen wäre dann eventuell ein Akku-<strong>Betrieb</strong> des CA-Rechners nicht mehr möglich<br />

– manche CD-Laufwerke verbrauchen (zu)viel Strom –, zum anderen könnten die öffentlichen<br />

Schlüssel der CA nicht mehr auf demselben Medium gespeichert werden, da zumindest bei PGP<br />

auch neu zertifizierte Schlüssel dem Public-Keyring hinzugefügt werden.<br />

Eventuell ist es sogar möglich, einen Boot-Loader bzw. ein „Mini-Filesystem“ auf dem Schlüsselmedium<br />

unterzubringen <strong>und</strong> dann ein verschlüsseltes Filesystem von der Festplatte selbst zu booten.<br />

Die Festplatte enthielte dann ausschließlich ein verschlüsseltes Filesystem, das ohne das zugehörige<br />

Paßwort <strong>und</strong> ohne die entsprechende Boot-Diskette nicht sinnvoll angesprochen werden könnte.<br />

Sofern es Treiberunterstützung für PCMCIA-Memory-Cards unter Linux gibt, die die entsprechenden<br />

Schnittstellen des Laptop ansteuern können, könnte auch eine solche Memory-Card als Speichermedium<br />

für den oder die geheimen Schlüssel in Erwägung gezogen werden. Der Vorteil dieser<br />

Lösung bestünde darin, daß ein potentieller Angreifer schon ein PCMCIA-Karten-taugliches Gerät<br />

mit sich führen müßte, um schnell <strong>und</strong> unbemerkt den Schlüssel von der Memory-Card zu kopieren.<br />

Außerdem bliebe das Floppy-Laufwerk des Rechners für den Datenträgeraustausch frei, <strong>und</strong> es<br />

müßte nicht zusätzlich ein ZIP-Laufwerk vorhanden sein.<br />

Die Diskette mit den geheimen Schlüsseln sollte mit einem langen Farbstreifen, der im <strong>Betrieb</strong><br />

aus dem Floppy-Laufwerk heraushängt, auffällig markiert werden, ähnlich etwa einem Werkstatt-<br />

Schlüssel, damit sie sofort auffällt, wenn sie sich im Laufwerk befindet, <strong>und</strong> dort nicht vergessen<br />

wird, <strong>und</strong> damit immer deutlich ist, daß dies kein x-beliebiger Datenträger ist.<br />

5.2 Vorgehen bei Einrichtung der CA (“build”)<br />

5.2.1 Auswahl <strong>und</strong> Beschaffung der Hardware<br />

Da der CA-Rechner unter dem <strong>Betrieb</strong>ssystem Linux betrieben werden soll, ist bei der Auswahl<br />

der Hardware darauf zu achten, daß ein System angeschafft wird, dessen Komponenten von Linux<br />

unterstützt werden. Der Grafik-Chipsatz des Laptops muß von Linux unterstützt werden bzw. es<br />

sollte ein Rechner mit einem Chipsatz ausgewählt werden, für den es im Sourcecode verfügbare<br />

Grafiktreiber (X-Server) unter Linux gibt. Ebenfalls kritisch bei Linux auf tragbaren Rechnern sind<br />

der Treiber-Support für den So<strong>und</strong>chip <strong>und</strong> für den CardBus-Controller [DK98].<br />

Sowohl Intel-basierte Laptops als auch Apple PowerBooks sind gr<strong>und</strong>sätzlich geeignet, denn für<br />

beide ist Linux verfügbar. 2 Ein Vergleich von Apple-PowerBooks <strong>und</strong> Notebook-PCs findet sich in<br />

[MR98].<br />

2 Linux für PowerPC: http://www.linuxppc.org, http://www.mklinux.org, beide besprochen in<br />

[Wil98]


102 Kapitel 5. Praktische Umsetzung des CA-Konzeptes<br />

Vor dem Kauf sollten verfügbare Quellen über den Einsatz von Linux auf tragbaren Computern wie<br />

z.B. die Linux on Laptops-Web-Seite von KENNETH E. HARKER (siehe Anhang A.2) konsultiert<br />

werden, da die Installation nicht trivial ist <strong>und</strong> nur manche der Geräte <strong>und</strong> Chipsätze unterstützt<br />

werden. 3<br />

Da das Arbeitskonzept zwei separate Festplatten vorsieht, damit die Low-Level- <strong>und</strong> die Medium-<br />

Level UNI-CA physikalisch getrennt werden können, darf beim Rechnerkauf ein zweiter Festplatteneinschub<br />

nebst Festplatte nicht vergessen werden. Beide Festplatten sind dabei ausreichend<br />

groß zu dimensionieren – der PGP Public-Keyring des internationalen PGP-Keyserver-Verb<strong>und</strong>es<br />

ist bereits heute größer als 500 MB (die Datei pubring.pgp auf ftp.pgp.net war am 21. Februar 1999<br />

542 MB groß), <strong>und</strong> die entsprechende Datenbank der Keyserver-Software [Hor96] nimmt nach<br />

Aussagen der <strong>DFN</strong>-PCA sogar bereits r<strong>und</strong> 2 GB Plattenplatz ein. Bei <strong>einer</strong> angenommenen durchschnittlichen<br />

Größe eines PGP-Public-Keys von 20 KB wäre der angenommene Schlüsselring mit<br />

den öffentlichen Schlüsseln von 25 000 Rechenzentrums-Nutzern schon 500 MB groß (<strong>und</strong> PGP<br />

legt während der Arbeit eine Zwischenkopie des gesamten Schlüsselb<strong>und</strong>es an), daher sollte hier<br />

der Festplattenplatz besser nicht zu knapp bemessen werden.<br />

Der Festplatten-Einschub des Rechners muß leicht zugänglich sein; die Festplatte soll ohne<br />

Schraub-Arbeiten am Rechner ausgewechselt werden können (damit die Festplatte für den Low-<br />

Security-CA-<strong>Betrieb</strong> leicht statt derjenigen für die Medium-Security-CA eingesetzt werden kann,<br />

wenn der CA-Rechner zu einem Termin außerhalb des Rechenzentrums mitgenommen werden soll).<br />

Andererseits sollte der Ausbau nicht in wenigen Sek<strong>und</strong>en durchgeführt werden können, da sonst<br />

bei einem CA-Einsatz außer Haus die Gefahr zu groß ist, daß ein Angreifer in einem unbeobachteten<br />

Moment „zugreift“ – eventuell schützt hier auch die Diebstahlsicherung (s.u.).<br />

Der Laptop sollte über ein internes ZIP-Laufwerk verfügen – alternativ kommt stattdessen auch<br />

ein LS-120- oder HiFD-Laufwerk in Frage, sofern es dafür ebenfalls Treiberunterstützung unter<br />

Linux gibt – das ggf. anstelle eines internen CD-ROMs installiert werden könnte <strong>und</strong> sollte. Auf<br />

diesem Medium sollen die geheimen Schlüssel <strong>und</strong> die Public-Keyrings abgelegt werden.<br />

Das Gerät muß über ein internes Floppy-Laufwerk verfügen, damit ein Wechselmedium zur Verfügung<br />

steht, um Schlüssel entgegennehmen bzw. Zertifikate auf die Disketten von Nutzern schreiben<br />

zu können. Ein externes Floppy-Laufwerk ist dafür nur begrenzt geeignet, weil damit die Portabilität<br />

erheblich reduziert <strong>und</strong> insofern der Vorteil des tragbaren Rechners (fast) wieder aufgehoben würde.<br />

ZIP- <strong>und</strong> Diskettenlaufwerk sollten auch bei Akku-<strong>Betrieb</strong> gleichzeitig benutzt werden können (bei<br />

manchen Modellen ist eine gleichzeitige Benutzung nur bei Netzbetrieb möglich), damit nicht ständig<br />

im einzigen Laufwerk ein Medium zum Datenaustausch mit gegen das Schlüsselträger-Medium<br />

(u.U.) ausgetauscht werden muß.<br />

Als CD-ROM-Laufwerk kann auch ein externes Laufwerk mit passendem Interface eingesetzt<br />

werden; eventuell braucht auch kein CD-Laufwerk extra für den CA-Rechner angeschafft zu werden<br />

<strong>und</strong> zwar dann, wenn ein solches Laufwerk bereits im Rechenzentrum vorhanden ist <strong>und</strong> am SCSI-<br />

Anschluß des CA-Rechners – PCMCIA-Adapter oder Schnittstelle an <strong>einer</strong> eventuellen Docking-<br />

Station – betrieben werden kann.<br />

3 Einen ersten Eindruck von den Hürden, die es bei der Installation von Linux auf einem Notebook zu überwinden gilt,<br />

gibt [DK98].


5.2. Vorgehen bei Einrichtung der CA (“build”) 103<br />

Im Interesse der Zukunftssicherheit <strong>und</strong> des Investitionsschutzes sollte der Laptop auch über einen<br />

USB-Anschluß verfügen, über den sich ggf. weitere Peripheriegeräte (Drucker, weiteres CD- oder<br />

Diskettenlaufwerk, Biometrie-Hardware, Kartenleser etc.) anschließen läßt.<br />

Zubehör<br />

Eine SCSI-Adapterkarte zum Anschluß von SCSI-Bandlaufwerken für die Datensicherung wird<br />

benötigt, es sei denn, es wird auch eine Docking-Station mit SCSI-Anschluß gekauft; dann kann der<br />

separate SCSI-Adapter entfallen.<br />

Die Anschaffung eines tragbaren Druckers mit passender Schnittstelle zum Anschluß an den Laptop<br />

– ein Netzwerkdrucker kann bzw. darf ja nicht benutzt werden! – könnte lohnenswert sein.<br />

Es sollte dabei kein Thermo-Drucker gewählt werden, denn deren Ausdrucke sind nicht dokumentenecht,<br />

was nachteilig wäre, wenn im „Außeneinsatz“ der CA Zertifizierungsanträge damit<br />

ausgedruckt würden <strong>und</strong> diese nach einiger Zeit verblaßten. Auch hier gilt es wieder, auf die erforderliche<br />

Treiberunterstützung unter Linux sowohl für die Anschlußschnittstelle als auch für das<br />

Druckerfabrikat zu achten. (Ein USB-Drucker hätte ggf. den Vorteil, daß der Druckerport am Laptop<br />

beispielsweise für einen externen Hardware-Zufallszahlengenerator frei bliebe, denn manche dieser<br />

Geräte werden am Parallelport betrieben.) Ein möglichst leichter (portabler) Drucker wäre für die<br />

Außentermine der CA natürlich vorteilhaft.<br />

Lithium-Ionen-Akkus (Li-Ionen) sind vorzuziehen, weil sie leichter sind, bei gleicher Größe eine<br />

höhere Energiedichte aufweisen als herkömmliche NiMH-Akkumulatoren <strong>und</strong> darüber hinaus<br />

nicht zum bei NiCd-Akkus gefürchteten „Memory-Effekt“ neigen. Nach Möglichkeit sollten daher<br />

Li-Ionen-Akkus beschafft werden, <strong>und</strong> zwar zwei Stück, da die Laufzeit eines Laptop-Rechners mit<br />

<strong>einer</strong> Akku-Ladung meist nur r<strong>und</strong> drei St<strong>und</strong>en beträgt. Das könnte dann „außer Haus“ zu Problemen<br />

führen, wenn die CA auf <strong>einer</strong> Veranstaltung präsent ist <strong>und</strong> währenddessen, womöglich in<br />

einem Moment besonders großer Nachfrage, der Akku leer wird. Wenn auf einem solchen Event die<br />

Möglichkeit besteht eine Steckdose zu benutzen – umso besser, aber das wird vielleicht nicht immer<br />

der Fall sein, zum Beispiel dann nicht, wenn die Stände im Freien aufgebaut sind (Sommerfest).<br />

Die Anschaffung von gleich zwei Akkus erscheint auch aus einem anderen Gr<strong>und</strong> sinnvoll: Die<br />

Innovationszyklen <strong>und</strong> Produkt-Lebensdauern gerade bei Laptops sind so kurz, daß u.U. etwas längere<br />

Zeit nach dem Kauf bereits keine passenden Ersatzteile oder Ersatz-Akkus mehr für das „veraltete“<br />

Gerät erhältlich sind. Diese Gefahr droht insbesondere bei No-Name-Fabrikaten, weshalb<br />

Markengeräten der Vorzug gegeben werden sollte. (Alternativ kann man sich auch vom Händler<br />

den Mindestzeitraum für die Ersatzteilversorgung schriftlich garantieren lassen.)<br />

Es sollte gleich beim Rechnerkauf eine Diebstahlsicherung passend zum Laptop erworben werden<br />

(Stahlseil mit Schloß <strong>und</strong> Befestigungsmöglichkeit am Rechner), damit der CA-Rechner beim<br />

Außer-Haus-Einsatz gegen Wegnahme gesichert werden kann.<br />

Eventuell könnte eine sog. Docking-Station für den Laptop eine sinnvolle Anschaffung sein (sofern<br />

für das gewählte Rechnermodell verfügbar). Sie würde es z.B. ermöglichen, einen externen Monitor<br />

anzuschließen, falls im Rechenzentrum am CA-Rechner gearbeitet werden soll <strong>und</strong> das kleine LC-<br />

Display als störend empf<strong>und</strong>en wird. Außerdem bieten manche Docking-Stations einen eingebauten


104 Kapitel 5. Praktische Umsetzung des CA-Konzeptes<br />

SCSI-Adapter, so daß auf diese Weise die Datensicherung einfacher durchgeführt werden könnte<br />

bzw. keine zusätzliche SCSI-Controller-Karte mehr benötigt würde.<br />

Von einigen Herstellern werden inzwischen besonders robuste, stoß- <strong>und</strong> spritzwasserunempfindliche<br />

Laptops angeboten (siehe Anhang B.2) – wenn also ein Gerät, das die übrigen Anforderungen<br />

erfüllt, zusätzlich auch noch besonders stabil ist, so daß es den harten Einsatz an einem von<br />

Menschen umlagerten CA-Stand <strong>und</strong> den Transport zwischen Veranstaltungsort <strong>und</strong> Rechenzentrum<br />

sowie im Rechenzentrum selbst besser überstehen kann, wäre das ein zusätzlicher Pluspunkt.<br />

Zuzusichernde Eigenschaften<br />

Beim Kauf sollte der Verkäufer die Linux-Tauglichkeit des Laptops <strong>und</strong> des Zubehörs schriftlich<br />

garantieren oder ein Rückgaberecht für den Fall der Nicht-Tauglichkeit einräumen.<br />

5.2.2 Beschaffung der Software<br />

Das <strong>Betrieb</strong>ssystem wird auf <strong>einer</strong> CD-ROM oder ZIP-Disk als Installationsmedium benötigt. Da<br />

der CA-Rechner nicht (auch nicht bei der Erst-Installation) vernetzt betrieben werden darf, müssen<br />

alle erforderlichen Programme <strong>und</strong> Daten per Wechselmedium oder CD-ROM auf den Laptop gebracht<br />

werden. 4 Es wird also bei der Installation zusätzlich ein zweiter Rechner mit Internet-Zugang<br />

<strong>und</strong> ZIP-Laufwerk (LS-120-/HiFD-Laufwerk) benötigt, sofern nicht alle benötigte Software bereits<br />

auf CD-ROM(s) vorliegt. Dieser Rechner muß ZIP-Medien in dem Dateisystem-Format beschreiben<br />

können, das der CA-Rechner bzw. dessen <strong>Betrieb</strong>ssystem lesen kann.<br />

Es werden zusätzlich mindestens folgende Programme benötigt (die eventuell nicht auf der<br />

Installations-CD-ROM oder darauf nicht in der betreffenden Version enthalten sind):<br />

Tripwire zur Integritätskontrolle für den CA-Rechner<br />

PGP PGP2.6.3in für die PGP-Zertifizierung<br />

OpenSSL für die Ausstellung von X.509-Zertifikaten (Nachfolger von SSLeay, siehe <strong>Teil</strong> II dieses<br />

Handbuches)<br />

Bezugsquellen für alle drei Pakete finden sich im Anhang B.1.<br />

Alle drei Programme sind von ihren Autoren PGP-signiert worden (bei Tripwire versteckt sich die<br />

PGP-Signatur in dem .tar-Archiv). Auf dem vernetzten Rechner sollte als erstes geprüft werden,<br />

ob diese Signaturen sich verifizieren lassen, d.h. ob die Software-Archive in unverfälschter Form<br />

vorliegen. Dies geschieht durch Aufruf von ‘pgp FILENAME.asc’. (Diese Prüfung ist sinnvoll nur<br />

möglich, wenn der öffentliche Schlüssel des jeweiligen Autors bereits in authentischer Form vorliegt.)<br />

4 Das mag im ersten Moment sehr streng erscheinen, dient aber letztlich dazu, eine genau definierte, reproduzierbare<br />

Software-Umgebung auf dem CA-Rechner zu schaffen. Bei <strong>einer</strong> Installation über eine Netzwerkverbindung könnte man<br />

nie sicher sein, was letztlich genau an Daten auf den CA-Rechner gelangt.


5.2. Vorgehen bei Einrichtung der CA (“build”) 105<br />

5.2.3 Hardware-Vorbereitungen<br />

Viele aktuelle Laptop-Rechner verfügen heute über eine Infrarot-Schnittstelle. Da der CA-Rechner<br />

nicht auf diesem Weg vernetzt werden soll <strong>und</strong> mittels dieses Kanals nicht angreifbar sein darf, ist<br />

die IR-Schnittstelle licht<strong>und</strong>urchlässig, aber reversibel abzukleben (reversibel für den Fall, daß der<br />

Rechner später einmal für andere Zwecke genutzt werden soll).<br />

Die Empfehlungen z.B. des Berliner Datenschutzbeauftragten zum Einsatz von Laptops [DSB92]<br />

sollten ebenfalls, soweit sinnvoll anwendbar, berücksichtigt werden, gleiches gilt für die entsprechenden<br />

bzw. in 4.7 genannten Bausteine des BSI-Gr<strong>und</strong>schutzhandbuches.<br />

Insbesondere sollte<br />

das BIOS-Paßwort gesetzt werden<br />

ein eventuell vorhandener BIOS-Schutz von Master- <strong>und</strong> System-Bootsektor aktiviert werden<br />

(so verfügbar)<br />

ein Screen-Locker aktiviert werden (wenn vom BIOS unterstützt)<br />

der Bootvorgang bzw. Single-user-Boot Paßwort-geschützt werden<br />

das Booten vom Floppy-Laufwerk sollte abgeschaltet werden (ggf. auch erst direkt nach der<br />

Installation, falls nicht von CD-ROM gebootet werden kann <strong>und</strong> eine Boot-Disk den Installationsvorgang<br />

starten muß)<br />

5.2.4 Installation des <strong>Betrieb</strong>ssystems<br />

Bei der Installation von Linux wird eine Partitionierung der Festplatte erforderlich, dabei muß eingeplant<br />

werden, daß Keyserver-Datenbank-Dateien mit mehr als 2 GB Größe auftreten können.<br />

Netzwerkunterstützung muß deaktiviert werden (NFS ggf. aktiviert lassen, falls mit TCFS gearbeitet<br />

werden soll – siehe 5.1.2), Treiber für Netzwerkkarten <strong>und</strong> Infrarot-Schnittstelle sind ganz<br />

zu entfernen bzw. gar nicht erst einzubinden. Es sollte mit einem „minimalen System“ gearbeitet<br />

werden. (Es werden allerdings die Entwickler-Tools wie gcc usw. benötigt, da die CA-Software –<br />

pgp, openssl – im Quellcode vorliegt <strong>und</strong> erst auf dem CA-Rechner übersetzt werden muß. Diese<br />

Übersetzung darf auf keinem anderen Rechner vorgenommen werden.)<br />

Die erforderlichen Treiber für ZIP-Laufwerk, CD-ROM, SCSI-Adapter, Bandlaufwerke (Datensicherung)<br />

dürfen nicht vergessen werden <strong>und</strong> sind mitzuinstallieren, darüber hinaus auch eventuell<br />

existierende Jahr-2000-Patches.<br />

Der Rechner sollte so konfiguriert werden, daß nach dem Hochfahren deutlich zu erkennen ist, ob<br />

die Festplatte der Low-Level- oder die der Medium-Level UNI-CA eingebaut ist, der Rechner also<br />

gerade der Low-Level- oder der Medium-Level-Zertifizierungsrechner ist.<br />

5.2.5 Tests vor der Inbetriebnahme<br />

Vor der richtigen Inbetriebnahme des Zertifizierungsrechners sind Datensicherungs-Tests durchführen:


106 Kapitel 5. Praktische Umsetzung des CA-Konzeptes<br />

Läßt sich der Streamer ansprechen?<br />

Lassen sich Dateien aus Backups wiederherstellen?<br />

Wie kann/muß gegebenenfalls nach einem Totalausfall der Festplatte das komplette System<br />

aus den Backups neu installiert werden?<br />

5.2.6 Einrichten der Benutzerbereiche<br />

Es sollten separate Benutzerbereiche für die PGP- <strong>und</strong> die X.509-Zertifizierung vorgesehen werden,<br />

damit diese Aufgaben ggf. von verschiedenen Mitarbeitern wahrgenommen werden können<br />

<strong>und</strong> ihre jeweiligen Zugriffsmöglichkeiten dann auf den ihnen zugewiesenen Aufgabenbereich beschränkt<br />

sind. Für alle Benutzerbereiche sollten ein Auto-Logout bei Leerlauf (idled oder ein entsprechendes<br />

Feature der jeweiligen Shell) <strong>und</strong> ein ebenfalls zeitgesteuerter Bildschirmschoner <strong>und</strong><br />

Screen-Locker konfiguriert werden.<br />

5.2.7 Installation der CA-Tools<br />

Als erstes der drei oben unter 5.2.2 genannten Programme sollte Tripwire auf dem Laptop installiert<br />

werden – vor PGP <strong>und</strong> SSLeay, damit eventuelle Veränderungen an der Ausgangsinstallation, die<br />

durch diese Programme hervorgerufen werden könnten, bereits detektiert werden. Vor der Installation<br />

von PGP <strong>und</strong> SSLeay/OpenSSL auf dem CA-Rechner sollte also nicht nur die Installation,<br />

sondern auch die Konfiguration von tripwire <strong>und</strong> die Initialisierung von dessen Datenbank abgeschlossen<br />

sein. Die Installation von OpenSSL selbst ist ausführlich in <strong>Teil</strong> II dieses Handbuches<br />

ab S. 133 beschrieben, die von PGP kann z.B. dem <strong>DFN</strong>-<strong>CERT</strong> Informations-Bulletin DIB-94:05 5<br />

entnommen werden (einschließlich eines wichtigen Hinweises zur Installation von PGP 6.5.1i).<br />

5.2.8 Schlüsselerzeugung für die CA<br />

Bereits vor der Erzeugung des oder der geheimen CA-Schlüssel sollte der dafür vorgesehene Datenträger<br />

(ZIP-Disk, Floppy) mit einem langen, signalfarbenen Papierstreifen, ähnlich einem Anhänger<br />

an einem Werkstattschlüssel, markiert worden sein, damit dieses Speichermedium überall sofort erkannt<br />

wird <strong>und</strong> auffällt, falls es doch einmal versehentlich unbenutzt herumliegen sollte <strong>und</strong> nicht<br />

ordnungsgemäß weggeschlossen verwahrt wird.<br />

Bei der Schlüsselerzeugung muß die Mailadresse der CA als <strong>Teil</strong> der Benutzerkennung (bzw. des<br />

Distinguished Names bei X.509-Zertifikaten) angegeben werden, d.h. sie muß zu diesem Zeitpunkt<br />

feststehen <strong>und</strong> sollte auch schon benutzt werden können. An diese Benutzerkennung werden in der<br />

Low-Level <strong>DFN</strong>-Policy einige Anforderungen gestellt, die von der gewählten Kennung für die CA-<br />

Schlüssel erfüllt werden müssen. Hinweise dazu gibt der PGP: Leitfaden zur CA-Zertifizierung 6 der<br />

<strong>DFN</strong>-PCA; im Zweifelsfalle sollte vor <strong>einer</strong> Schlüsselerzeugung Rücksprache mit der <strong>DFN</strong>-PCA<br />

gehalten werden, da diese letztendlich die CA <strong>und</strong> ihre Schlüssel „absegnen“ muß.<br />

5 http://www.cert.dfn.de/infoserv/dib/dib-9405.html<br />

6 http://www.pca.dfn.de/dfnpca/certify/pgp/instca.html


5.2. Vorgehen bei Einrichtung der CA (“build”) 107<br />

Wenn dann die CA-Schlüssel generiert werden <strong>und</strong> z.B. PGP um Tastendrücke bittet, um seinen<br />

Zufallszahlen-Pool für die Schlüsselerzeugung zu füllen, dann sollte besonders darauf geachtet<br />

werden, zufällige Eingaben zu machen, denn die sind nach [Lin98] unter Unix die einzige wirkliche<br />

Zufallszahlen-Quelle bei der Schlüsselerzeugung. Alle anderen vermeintlichen Zufallsquellen<br />

– system calls von times() <strong>und</strong> gettimeofday() – liefern recht gut vorhersagbare oder im Nachhinein<br />

für einen Angreifer eingrenzbare Werte.<br />

Die dann erforderliche Festlegung der Passphrase sollte unter Berücksichtigung des PGP passphrase<br />

FAQs [Wil97] bzw. der Tips von RALF SENDEREK [Sen98] zur Wahl <strong>einer</strong> guten Passphrase<br />

erfolgen. Falls das vorgeschlagene Vier-Augen-Prinzip für den Zugriff auf den Medium-Level UNI-<br />

CA-Signierschlüssel realisiert werden soll, müssen beide involvierten CA-Mitarbeiter getrennt voneinander<br />

ihren <strong>Teil</strong> der Passphrase festlegen, ohne daß der jeweils andere sehen kann, was eingeben<br />

wird.<br />

Wie wichtig eine gute Passphrase ist, belegt der Vorfall mit dem Caligula-Word-Makrovirus, das auf<br />

befallenen Rechnern nach einem eventuell vorhandenen PGP-Secret-Keyring sucht <strong>und</strong> diesen per<br />

FTP an einen anderen Rechner übermittelt (wo vermutlich versucht wurde bzw. wird, die Passphrase<br />

zu knacken, die den Private-Key schützt) [CZ99a].<br />

Der geheime Kommunikationsschlüssel der CA ist sodann an alle CA-Mitarbeiter unter Mitteilung<br />

der ihn schützenden Passphrase zu verteilen. Falls dafür eine initiale, einfach zu merkende/ratende<br />

Passphrase benutzt wurde, sind alle Betroffenen nochmals darauf hinzuweisen, daß sie umgehend<br />

eine eigene, nicht-triviale Passphrase für den Schlüssel setzen müssen.<br />

5.2.9 Vorbereitung der CA-Mitarbeiter<br />

5.2.9.1 Zu verwendendes PGP-Nachrichtenformat<br />

Diejenigen Rechenzentrumsmitarbeiter, die CA-Aufgaben wahrnehmen sollen, müssen darauf hingewiesen<br />

werden, welche Form PGP-Mails der UNI-CA haben sollen. Es muß eine Entscheidung<br />

getroffen werden zwischen dem „klassischen“ Format [ASZ96], bei dem die Nachrichten üblicherweise<br />

als MIME-Typ text/plain verschickt werden, <strong>und</strong> einem etwas neueren Format [Elk96], das<br />

den Vorteil bietet, daß die Content-Types der MIME-Bodyparts der E-Mail als multipart/encrypted;<br />

protocol="application/pgp-encrypted" respektive als multipart/signed; protocol="application/pgpsignature"<br />

gekennzeichnet sind (was die automatische Erkennung <strong>und</strong> Verarbeitung durch das Mailprogramm<br />

erleichtert), das aber nicht von allen Mail-Useragents erzeugt <strong>und</strong> erkannt wird.<br />

Die Entscheidung für das eine oder andere Format dürfte auch stark von den Vorlieben der einzelnen<br />

Beteiligten hinsichtlich ihres bevorzugten Mail-UAs abhängen: mutt unterstützt beispielsweise<br />

ausschließlich das neuere MIME-PGP-Format nach RFC 2015, andere Mail-Programme nur das<br />

alte (so beispielsweise manche elm-Versionen oder Skripte für pine).<br />

Was bei dieser Entscheidung nicht unberücksichtigt bleiben sollte, sind die Kommunikationspartner,<br />

die mit dem gewählten Format klarkommen müssen. Da Prognosen darüber, ob das MIME-PGP-<br />

Format mehr oder weniger Schwierigkeiten <strong>und</strong> Nachfragen nach sich ziehen würde, nur schwer<br />

möglich sind, kommt es hier wohl wirklich auf die Erfahrungen in der Praxis an – falls die meisten<br />

der Zertifizierungsinteressierten mutt benutzen, ist das MIME-Format möglicherweise unproblema-


108 Kapitel 5. Praktische Umsetzung des CA-Konzeptes<br />

tisch; bei überwiegend anderen Vorlieben könnte es damit hingegen zu vermehrten Nachfragen von<br />

seiten der Nutzer kommen, die mit der Zertifizierungsstelle per E-Mail korrespondieren. Hier droht<br />

also u.U. vermeidbare Mehrarbeit durch eine ungeschickte Wahl des Formates.<br />

5.2.9.2 Zu verwendende Mailadressen<br />

Damit die gesamte Mail-Kommunikation der Zertifizierungsstelle für alle Mitarbeiter nachvollzieh<strong>und</strong><br />

lesbar bleibt, sollte jede E-Mail, die ein CA-Mitarbeiter in dieser Funktion verschickt, als Kopie<br />

an die Mailadresse der Zertifizierungsstelle gesandt <strong>und</strong> bei vertraulichen Nachrichten diese auch an<br />

die CA mit-verschlüsselt werden. So ist zum einen sichergestellt, daß dort alle ausgehenden „CA-<br />

Mails“ dokumentiert sind, zum anderen, daß diese E-Mails – auch die verschlüsselt verschickten –<br />

für alle CA-Mitarbeiter lesbar bleiben, da diese ja alle über den geheimen Kommunikationsschlüssel<br />

der CA verfügen.<br />

5.2.10 Vorbereitung der Rechenzentrums-Mitarbeiter (Schulung)<br />

Damit die Rechenzentrumsmitarbeiter mit gutem Beispiel vorangehen können (vgl. 4.16), sollte<br />

ihnen ein kl<strong>einer</strong> zeitlicher „Vorsprung“, eine Einarbeitungszeit gegenüber den normalen Nutzern<br />

verschafft werden, indem sie bereits einige Zeit vor der offiziellen Ankündigung der UNI-CA eine<br />

Einweisung in die Benutzung von PGP <strong>und</strong> ggf. anderer Public-Key-Software erhalten. Das gibt<br />

ihnen die Chance, sich bereits mit dem Programm vertraut zu machen, bevor eventuell Anfragen<br />

dazu an sie gerichtet werden. Außerdem können die Betreffenden dann in der Testphase (siehe<br />

5.2.12) besser als „Versuchskaninchen“ fungieren.<br />

Es sollten vorsorglich alle Rechenzentrumsmitarbeiter <strong>und</strong> nicht nur die CA-Administratoren auf<br />

die Bedeutung des CA-Rechners <strong>und</strong> des markierten Datenträgers mit den geheimen CA-Schlüsseln<br />

hingewiesen werden.<br />

5.2.11 Einbindung in die Rechenzentrums-Infrastruktur<br />

5.2.11.1 Technische Infrastruktur<br />

Damit mit der <strong>Betrieb</strong>saufnahme der Zertifizierungsstelle die Nutzer der Rechnerarbeitsplätze im<br />

Rechenzentrum <strong>und</strong> der Dialup-Zugänge die auf diese Weise propagierte Verschlüsselung auch anwenden<br />

können, sollten die entsprechenden Vorkehrungen hinsichtlich der vom Rechenzentrum<br />

zur Verfügung gestellten Software getroffen werden. Gängige Mail-Useragents wie mutt, elm, pine<br />

oder exmh sollten in <strong>einer</strong> aktuellen Version vorliegen, die eine möglichst einfache Integration von<br />

PGP (bzw. anderer Verschlüsselungssoftware) zuläßt. Insbesondere sollte das Mailprogramm, das<br />

in der Standard-Arbeitsumgebung vorgesehen oder vorgegeben ist, möglichst über entsprechende<br />

Funktionalität verfügen bzw. dahingehend erweitert oder aktualisiert werden. Es sind aber nicht<br />

nur Mail-Programme, die verschlüsselungstauglich gemacht werden sollten; ebenfalls einbezogen<br />

werden sollten Newsreader, da auch im Usenet PGP eingesetzt wird – dort vornehmlich, um Beiträge<br />

zu signieren <strong>und</strong> dadurch den Absender nachprüfbar zu machen <strong>und</strong> sich vor Fälschungen zu<br />

schützen. Gegebenenfalls sind entsprechend neue Versionen dieser Software <strong>und</strong> der zugehörigen


5.2. Vorgehen bei Einrichtung der CA (“build”) 109<br />

Plugins oder Skripte zu installieren, die eventuell für die Integration der Verschlüsselungsfunktionalität<br />

notwendig sind.<br />

5.2.11.2 Organisatorische Vorbereitungen<br />

Es muß eine Möglichkeit geschaffen werden, die Zertifizierungsanträge vor unbefugtem Zugriff <strong>und</strong><br />

unbefugter Einsicht geschützt zu verwahren. Sie sind vertraulich zu handhaben, da sie personenbezogene<br />

Daten enthalten, <strong>und</strong> sie müssen vor unbefugten Änderungen, vor der Wegnahme <strong>und</strong> vor<br />

dem unbefugten Hinzufügen von Anträgen geschützt sein. Anderenfalls könnte ein Angreifer sich<br />

eine unzulässige Zertifizierung erschleichen, indem er einen Antrag mit falschen Angaben unter die<br />

richtigen Anträge mischt.<br />

Nach erfolgter Zertifizierung müssen die Anträge weiterhin gesichert aufbewahrt werden, da ein <strong>Teil</strong><br />

der darin enthaltenen Daten weiterhin vertraulich bleiben muß (Personalausweisnummer) <strong>und</strong> die<br />

Anträge zu Revisionszwecken gebraucht werden könnten, wenn es Zweifel an der Richtigkeit <strong>einer</strong><br />

Zertifizierung gibt. Außerdem werden sie benötigt, wenn im Falle <strong>einer</strong> CA-Key-Kompromittierung<br />

alle mit dem kompromittierten Schlüssel signierten Zertifikate durch neue ersetzt werden müssen.<br />

Neben den Arbeitsabläufen ist auch sicherzustellen, daß regelmäßig die Mailingliste der <strong>DFN</strong>-<br />

Zertifizierungshierarchie (s. Anhang A.3) verfolgt wird. Diese Aufgabe muß einem oder mehreren<br />

CA-Mitarbeitern übertragen werden, <strong>und</strong> die Liste ist entsprechend zu subskribieren.<br />

5.2.11.3 Materialien<br />

Zertifizierungsanträge Es müssen Zertifizierungsanträge in ausreichender Zahl vervielfältigt<br />

werden, so daß sie für die Zertifizierungssprechst<strong>und</strong>e, externe Auftritte der Low-Level UNI-CA<br />

oder andere Gelegenheiten, bei denen Anträge auf Schlüsselzertifizierung gestellt werden können,<br />

vorrätig sind.<br />

Die Antragsformulare sollten auch auf den Web-Seiten der UNI-CA angeboten werden, damit Zertifizierungswillige<br />

sich diese vorab ausdrucken <strong>und</strong> ausfüllen können. Auch auf dem Low-Level-CA-<br />

Rechner sollten sie in elektronischer Form vorgehalten werden, damit vor Ort Anträge ausgedruckt<br />

werden können, falls die Vorräte schneller als erwartet aufgebraucht sind.<br />

Überlegenswert ist, die Antragsformulare nur als PDF-Datei anzubieten, damit es nicht ganz so<br />

einfach ist, einzelne Passagen darin vor dem Ausdrucken zu ändern oder wegzulassen; anderenfalls<br />

müßten die CA-Mitarbeiter, die die Anträge entgegennehmen, jeden einzelnen dahingehend prüfen,<br />

ob nicht etwas Wichtiges darauf weggelassen wurde.<br />

Da von der Zertifizierungsstelle personenbezogene Daten erhoben <strong>und</strong> verarbeitet werden, ist es<br />

empfehlenswert, den betrieblichen Datenschutzbeauftragten zu informieren <strong>und</strong> eventuell auch vorab<br />

zu konsultieren, so daß dieser z.B. einen prüfenden Blick auf den Vordruck für den Zertifizierungsantrag<br />

werfen kann.<br />

Schlüsselinformationen Die Zertifizierungsstelle muß für die Zertifikatnehmer auch die Angaben<br />

zu ihrem Signierschlüssel <strong>und</strong> dem der <strong>DFN</strong>-PCA (oder Kopien der Schlüssel selbst) bereit halten,


110 Kapitel 5. Praktische Umsetzung des CA-Konzeptes<br />

um sie ihnen aushändigen zu können. Diese Informationen bilden die Gr<strong>und</strong>lage für die spätere<br />

Nutzung der von der CA ausgestellten Zertifikate. Ihre Authentizität ist daher von höchster Wichtigkeit;<br />

es muß unter allen Umständen vermieden werden, daß hier ein Angreifer seinen Schlüssel<br />

oder seine Schlüsselinformationen gegen die der UNI-CA austauscht!<br />

Die Zettel oder Datenträger mit den Schlüsseln oder Schlüsselinformationen müssen daher vor unbefugtem<br />

Zugriff sicher verwahrt werden. Andererseits müssen sie zugänglich sein, wenn ein Zertifizierungswilliger<br />

erscheint <strong>und</strong> einen Zertifizierungsantrag stellt, damit sie ihm dann ausgehändigt<br />

werden können.<br />

5.2.12 Interne Probeläufe<br />

Zur Einübung, zur Optimierung der Abläufe <strong>und</strong> damit eventuelle Fehler noch keine dramatischen<br />

Folgen für das Ansehen der CA haben, sollten die Arbeitsabläufe bei allen Phasen der Zertifizierung<br />

<strong>und</strong> der sonstigen CA-Arbeit realitätsnah durchgespielt werden.<br />

Hierzu könnten die Schlüssel der RZ-Mitarbeiter bzw. die Schlüssel einiger PGP-Interessierter probezertifiziert<br />

werden, mit einem ausdrücklich als „Test-Key“ gekennzeichneten CA-Schlüssel (oder<br />

einem Schlüssel mit einem Decknamen) <strong>und</strong> <strong>einer</strong> kurzen Gültigkeitsdauer. Die Gültigkeitsdauer<br />

sollte so bemessen sein, daß auch Aspekte wie ein Schlüsselwechsel der CA im Rahmen dieser<br />

Tests simuliert werden können.<br />

Erprobt werden muß auch die Vorgehensweise bei der Sperrung eines Zertifikates, damit hier später<br />

im Ernstfall keine Fehler unterlaufen. Ebenfalls sollte auch die Re-Zertifizierung von Keys durchexerziert<br />

werden.<br />

Eventuell in dieser Phase zutage getretene Schwächen oder Fehler in der Policy können zu dieser<br />

Zeit noch relativ leicht durch Korrektur derselben behoben werden.<br />

5.2.13 Policy-Verabschiedung <strong>und</strong> -Bekanntgabe<br />

Es ist eine eindeutige Regelung zu treffen, wer die UNI-CA-Policy letztlich abzusegnen hat oder zu<br />

Änderungen befugt ist. Diese Regelung sollte, eventuell auch als Information in der Policy selbst,<br />

bekanntgemacht werden.<br />

Die Policy sollte vor ihrer Verabschiedung unbedingt auch mit der <strong>DFN</strong>-PCA abgestimmt sein,<br />

damit es nicht im Nachhinein zu Problemen mit der Einbindung der UNI-CA in die <strong>DFN</strong>-<br />

Zertifizierungshierarchie kommt! Auch bei Änderungen bzw. vor der Verabschiedung <strong>einer</strong> geänderten<br />

Fassung der Policy sollte vorsorglich immer die <strong>DFN</strong>-PCA beteiligt werden.<br />

Zu Beginn der Zertifizierungstätigkeit der UNI-CA könnte die Policy erst einmal als „vorläufig“<br />

<strong>und</strong> in der Erprobung deklariert <strong>und</strong> relativ kurz befristet werden. Wenn sich dann nach den ersten<br />

Wochen oder Monaten der Arbeit nach dieser Policy gezeigt hat, ob sie noch Schwachpunkte enthält,<br />

die korrigiert werden müßten, oder ob sie so als endgültige Policy verwendet werden kann,<br />

dann kann die endgültige Fassung in Kraft gesetzt werden.


5.3. PR-Anlässe 111<br />

5.2.14 Zertifizierung durch die <strong>DFN</strong>-PCA<br />

Nachdem es nun eine – hoffentlich mit der <strong>DFN</strong>-PCA abgestimmte – UNI-CA Policy <strong>und</strong> Schlüsselpaare<br />

zum Signieren <strong>und</strong> für die Kommunikation mit der UNI-CA gibt, ist die Zeit für die Zertifizierung<br />

durch die <strong>DFN</strong>-PCA gekommen. Dafür ist der persönliche Kontakt zwischen dem von s<strong>einer</strong><br />

Einrichtung authorisierten Ansprechpartner der UNI-CA mit einem <strong>DFN</strong>-PCA-Mitarbeiter erforderlich.<br />

Es muß also entweder jemand nach Hamburg zur <strong>DFN</strong>-PCA reisen, oder der persönliche<br />

Kontakt erfolgt bei am Rande <strong>einer</strong> Tagung oder Konferenz, auf der Vertreter beider Einrichtungen<br />

zugegen sind (geeignet wäre z.B. die <strong>DFN</strong>-<strong>Betrieb</strong>stagung, die üblicherweise in Berlin stattfindet<br />

<strong>und</strong> auf der meistens ein Vertreter der <strong>DFN</strong>-PCA anwesend ist).<br />

Zuvor muß allerdings noch ein Schlüsselwiderruf (Key Revocation Certificate) wie unter 5.4.4.1<br />

beschrieben erzeugt werden.<br />

Bei dem Treffen hat dann der Vertreter der UNI-CA folgendes zu übergeben bzw. vorzulegen:<br />

eine „Ernennungsurk<strong>und</strong>e“, d.h. ein Bestätigungsschreiben z.B. des Rechenzentrumsleiters<br />

auf offiziellem Briefpapier der UNI, in dem die Zertifizierung durch die <strong>DFN</strong>-PCA beantragt<br />

<strong>und</strong> der UNI-CA-Mitarbeiter namentlich genannt <strong>und</strong> für den CA-<strong>Betrieb</strong> bevollmächtigt<br />

wird<br />

eine Diskette mit dem Public-Key der UNI-CA <strong>und</strong> dem zugehörigen Key Revocation Certificate<br />

den CA-Zertifizierungsantrag [PCAb]<br />

seinen gültigen Ausweis<br />

(Weitere Einzelheiten beschreibt [PCAa].)<br />

Der <strong>DFN</strong>-PCA-Mitarbeiter übergibt bei dieser Gelegenheit die authentischen Schlüsselinformationen<br />

zu den Signierschlüsseln der <strong>DFN</strong>-PCA.<br />

Etwas später erhält die CA dann von der <strong>DFN</strong>-PCA per Mail das Zertifikat für ihren Signierschlüssel.<br />

5.3 PR-Anlässe<br />

Es bieten sich einzelne der bisher beschriebenen Wegmarken während der Einrichtungsphase der<br />

UNI-CA dazu an, vorab ein wenig Werbung in eigener Sache für die UNI-CA zu betreiben, indem<br />

entsprechende Ankündigungen in die passenden (internen) UNI-Newsgruppen (so vorhanden)<br />

gepostet werden:<br />

Ankündigung/Vorstellung der UNI-CA Dies kann beispielsweise so etwas wie eine Absichtserklärung<br />

oder eine Vorankündigung sein


112 Kapitel 5. Praktische Umsetzung des CA-Konzeptes<br />

Freiwillige für Testläufe gesucht Hiermit könnten Nutzer angesprochen werden, die sich bereits<br />

mit PGP auskennen <strong>und</strong> die Interesse daran haben, am <strong>Aufbau</strong> der UNI-CA als Test-<br />

Zertifikatnehmer mitzuwirken (falls die Rechenzentrumsmitarbeiter selber dafür aus irgendeinem<br />

Gr<strong>und</strong> nicht in Frage kommen)<br />

UNI-CA Root-Schlüssel generiert<br />

Zertifizierung durch die <strong>DFN</strong>-PCA Es darf gefeiert werden, die UNI-CA hat ihren offiziellen<br />

„Segen“ von der höchsten <strong>Zertifizierungsinstanz</strong> im <strong>DFN</strong> bekommen<br />

Erste Nutzerschlüssel / erster Server zertifiziert<br />

Cross-Zertifizierungen mit anderen Einrichtungen sind jedes Mal eine Meldung wert, zumal sie<br />

vermutlich nicht allzu häufig vorkommen<br />

Zertifizierungstermine Das können Ankündigungen sein, daß die UNI-CA am Termin ¡ ¡ ¡ im<br />

Gebäude ¡ ¢ ¢ wieder die Vor-Ort-Zertifizierung gemäß ihrer Low-Level-Policy anbietet<br />

Sicherheitswarnungen mit direktem Bezug zu oder Auswirkungen auf gängige Verschlüsselungsprogramme<br />

sollten ebenfalls vermeldet werden<br />

Neue Services, Angebotserweiterungen Hier könnte auf neue, zusätzliche Angebote der UNI-CA<br />

hingewiesen werden, wenn sie ihr Tätigkeitsgebiet ausdehnt<br />

5.4 <strong>Betrieb</strong> der CA (“run”)<br />

5.4.1 Beispiel-Szenarien<br />

In diesem Abschnitt wird der Ablauf <strong>einer</strong> idealtypischen Zertifizierung sowohl nach der Mediumals<br />

auch nach der Low-Level Policy dargestellt.<br />

5.4.1.1 Medium-Level-Zertifizierung (im Rechenzentrum)<br />

Die Medium-Level-Zertifizierung verläuft in zwei zeitlich <strong>und</strong> räumlich getrennten <strong>Teil</strong>schritten:<br />

Antragstellung <strong>und</strong> Identitätsprüfung auf der einen <strong>und</strong> eigentlicher Zertifizierungsvorgang auf der<br />

anderen Seite. Akteure sind der Zertifikatnehmer, ein CA-Mitarbeiter bei der Registrierung <strong>und</strong> ein<br />

CA-Mitarbeiter bei der Zertifizierung.<br />

Antragstellung Ein Zertifikatnehmer hat vom Angebot der UNI-CA gehört <strong>und</strong> will seinen PGP-<br />

Schlüssel nach der Medium-Level-CA-Policy zertifizieren lassen. Er sucht dazu das Rechenzentrum<br />

auf <strong>und</strong> betritt das Zertifizierungsbüro, wo er von einem Mitarbeiter der UNI-CA empfangen wird.<br />

Der Zertifikatnehmer erhält vom CA-Mitarbeiter einen Medium-Level-Zertifizierungsantrag <strong>und</strong><br />

füllt ihn aus. Anschließend unterschreibt er den Antrag vor den Augen des CA-Mitarbeiters. Dieser<br />

nimmt den Antrag entgegen, läßt sich den Personalausweis des Zertifikatnehmers zeigen, zeichnet<br />

den Antrag gegen <strong>und</strong> verschließt ihn in einem Schubfach. Dann gibt er dem Zertifikatnehmer eine


5.4. <strong>Betrieb</strong> der CA (“run”) 113<br />

Diskette, die ausweislich des Aufklebers die Zertifizierungsschlüssel der UNI-CA <strong>und</strong> der <strong>DFN</strong>-<br />

PCA enthält. Der Zertifikatnehmer verläßt das Rechenzentrum, während der CA-Mitarbeiter die<br />

eingegangenen Anträge zum Zertifizierer bringt.<br />

Zertifizierung Der Zertifizierer nimmt sich einen der neuen Anträge <strong>und</strong> prüft, ob der öffentliche<br />

Schlüssel des Antragstellers bereits vorliegt [ja, der Antragsteller hat ihn vorab per Mail eingesandt]<br />

<strong>und</strong> ob er alle Anforderungen der Medium-Level-Policy erfüllt. [Dies ist der Fall.] Daraufhin<br />

schickt der Zertifizierer eine verschlüsselte E-Mail mit <strong>einer</strong> Zufallszahl an die UNI-Mailadresse<br />

des Antragstellers. Er erhält kurze Zeit später diese Zufallszahl in <strong>einer</strong> vom Antragsteller signierten<br />

Mail zurück <strong>und</strong> kann die Signatur erfolgreich verifizieren. Der Zertifizierer weiß nun, daß der<br />

Antragsteller auch über den korrespondierenden geheimen Schlüssel verfügt. Damit sind alle Voraussetzungen<br />

erfüllt, der Zertifizierer schaltet gemeinsam mit einem CA-Kollegen den geheimen<br />

Signierschlüssel der CA durch Eingabe des Paßwortes frei <strong>und</strong> signiert damit den Public-Key des<br />

Antragstellers. Das so erzeugte Zertifikat schickt er per E-Mail an den Antragsteller <strong>und</strong> spielt es<br />

online in einen Verzeichnisdienst ein.<br />

5.4.1.2 Low-Level-Zertifizierung (außer Haus)<br />

Bei der Low-Level-Zertifizierung finden Antragstellung, Identitätsprüfung <strong>und</strong> Schlüsselzertifizierung<br />

an einem Ort <strong>und</strong> zu <strong>einer</strong> Zeit direkt hintereinander statt. Akteure sind der Zertifikatnehmer<br />

<strong>und</strong> der CA-Mitarbeiter.<br />

Die UNI-CA ist z.B. auf dem Sommerfest der UNI mit einem Stand vertreten. Ein Zertifikatnehmer,<br />

der seinen Public-Key immer auf <strong>einer</strong> Diskette bei sich hat, will sich von der UNI-CA zertifizieren<br />

lassen. Er nimmt sich am UNI-CA-Stand einen der dort bereitliegenden Zertifizierungsanträge <strong>und</strong><br />

füllt ihn aus. Dann gibt er ihn der UNI-CA-Mitarbeiterin, die den Stand betreut <strong>und</strong> dort mit einem<br />

Laptop steht. Die CA-Mitarbeiterin verlangt den Ausweis zu sehen, schaut mehrmals prüfend in<br />

den Antrag, auf den Ausweis <strong>und</strong> ins Gesicht des Zertifikatnehmers <strong>und</strong> schreibt dann „OK Müller<br />

17.7.99“ auf das Feld mit der Überschrift „für Bearbeitungsvermerke freilassen“ auf dem Zertifizierungsantrag.<br />

Sie fragt sodann den Zertifikatnehmer, ob dieser seinen Public-Key bei sich habe,<br />

dieser bejaht <strong>und</strong> reicht ihr die Diskette mit dem Schlüssel. Die CA-Mitarbeiterin liest den Key<br />

von der Diskette in den Zertifizierungsrechner ein, prüft, ob der Schlüssel alle Anforderungen der<br />

Low-Level-Policy erfüllt, vergleicht die Schlüsselinformationen auf dem Antrag mit denen, die ihr<br />

der Zertifizierungsrechner anzeigt <strong>und</strong> zertifiziert dann den öffentlichen Schlüssel des Zertifikatnehmers.<br />

Anschließend speichert sie das Zertifikat auf der Diskette des Zertifikatnehmers, wirft sie aus<br />

<strong>und</strong> händigt sie dem Zertifikatnehmer zusammen mit einem Zettel mit der Aufschrift „Schlüssel-<br />

Infos Low-Level UNI-CA“ (<strong>und</strong> den entsprechenden Daten) aus. Später zurück im Rechenzentrum<br />

wird die CA-Admininistratorin das so erzeugte Zertifikat an die Keyserver schicken.<br />

5.4.2 Objekt-Lebenszyklen<br />

Der folgende Abschnitt betrachtet die Abläufe r<strong>und</strong> um die UNI-CA unter dem Gesichtspunkt, was<br />

mit den Daten-Objekten passiert, die dabei bewegt <strong>und</strong> verändert werden. Dargestellt wird der Lebenszyklus<br />

des Signier- <strong>und</strong> des Kommunikationsschlüsselspaares der UNI-CA unter normalen Be-


114 Kapitel 5. Praktische Umsetzung des CA-Konzeptes<br />

dingungen – d.h. es findet keine Kompromittierung während der Schlüssellebensdauer statt – sowie<br />

eines prototypischen von der UNI-CA ausgestellten Zertifikates. Ausgangsbasis dieses Szenarios ist<br />

die Annahme, daß die Gültigkeit eines Zertifikates mittels der Gültigkeitsdauer des Zertifizierungsschlüssels<br />

implizit ausgedrückt <strong>und</strong> nicht direkt (wie mit der neuesten PGP-Version möglich) im<br />

Zertifikat selber angegeben wird (vgl. dazu 4.8.7.2).<br />

5.4.2.1 Lebenszyklus des CA-Zertifizierungsschlüssels<br />

Zwei Wochen vor dem Ende des Wintersemesters wird der Zertifizierungsschlüssel der Medium-<br />

Level UNI-CA für die kommenden zwölf Monate zusammen mit seinem zugehörigen öffentlichen<br />

Schlüssel erzeugt. Mit ihm wird ein Zertifikat für den Public-Key ausgestellt. Der Public-Key wird<br />

zusätzlich mit dem noch gültigen alten Zertfizierungsschlüssel signiert, während der geheime Zertifizierungsschlüssel<br />

(Private-Key) auf eine grellbunte Diskette kopiert wird. Ein Widerruf s<strong>einer</strong><br />

selbst wird zusammen mit dem zugehörigen Public-Key an die <strong>DFN</strong>-PCA übermittelt, die den<br />

Public-Key ebenfalls zertifiziert <strong>und</strong> den Schlüssel-Widerruf sicher verwahrt. Dann bekommt der<br />

Signierschlüssel viel zu tun: Lauter andere Schlüssel, deren Zertifikat gerade abgelaufen ist, werden<br />

mit ihm neu zertifiziert. Anschließend wird die Diskette mit dem Zertifizierungsschlüssel in einem<br />

Schrank eingeschlossen, aus dem sie nur selten wieder herausgenommen wird. Wenn dies geschieht,<br />

werden mit dem Private-Key andere Schlüssel, Schlüsselwiderrufe oder Sperrlisten signiert. Nach<br />

r<strong>und</strong> sechs Monaten bekommt der Zertifizierungsschlüssel wieder mehr zu tun: Mit ihm werden<br />

nun vor allem Schlüsselwiderrufe signiert, weil viele andere Zertifikatinhaber im laufenden Semester<br />

aus der UNI ausgeschieden sind, was zum Semesterwechsel festgestellt wird. Da die Medium-<br />

Level UNI-CA nur Zertifikate für Personen ausstellt, die der Universität angehören, werden die<br />

Zertifikate für die Schlüssel aller anderen, die keine UNI-Angehörigen mehr sind, gelöscht. Danach<br />

wird es wieder ruhiger. Kurz vor seinem ersten „Geburtstag“ wird mit dem Zertifizierungsschlüssel<br />

dann die öffentliche Komponente seines Nachfolgers signiert. Ganz kurz nach dem Erreichen eines<br />

Alters von zwölf Monaten wird der Zertifizierungsschlüssel dann gelöscht; der zugehörige Public-<br />

Key hingegen existiert in h<strong>und</strong>erten von Kopien weiter, die weiterhin zum Prüfen der zuvor mit dem<br />

Private-Key ausgestellten Signaturen <strong>und</strong> Zertifikate verwendet werden.<br />

“A digital signature private key must be securely destroyed when its active lifetime terminates.<br />

If its value is disclosed, even a long time after it is no longer actively used, it may still be used<br />

to forge signatures on old documents.” [For94]<br />

5.4.2.2 Lebenszyklus des CA-Kommunikationsschlüssels<br />

Genau zum Beginn des Sommersemesters wird das Kommunikationsschlüsselpaar erzeugt. Es soll<br />

sechs Monate lang benutzt werden. Als erstes wird sein öffentlicher <strong>Teil</strong> mit dem geheimen Signierschlüssel<br />

signiert <strong>und</strong> anschließend in alle Welt verteilt. Der geheime <strong>Teil</strong> wird auf sicherem<br />

Wege zusammen mit der Passphrase in Kopien an die Mitarbeiter der UNI-CA ausgehändigt. Sie<br />

benutzen ihn anschließend, um eingehende verschlüsselte Mails für die UNI-CA zu entschlüsseln.<br />

Mit Ablauf des Semesters wird mit dem geheimen Kommunikationsschlüssel ein Schlüsselwiderruf<br />

erzeugt <strong>und</strong> in alle Welt verteilt (z.B. über die Keyserver). Damit ist nach außen hin deutlich,


5.4. <strong>Betrieb</strong> der CA (“run”) 115<br />

daß seine öffentliche Komponente nicht mehr benutzt werden sollte, <strong>und</strong> die geheime Komponente<br />

wandert ins Archiv.<br />

5.4.2.3 Lebenszyklus eines Zertifikates<br />

Mitten im Semester wird ein Zertifikat für den Schlüssel des Studenten Mustermann erzeugt. Er war<br />

persönlich bei der UNI-CA, hat seinen Studentenstatus belegt, woraufhin sein öffentlicher Schlüssel<br />

mit dem geheimen Zertifizierungsschlüssel der Medium-Level UNI-CA unterzeichnet wurde,<br />

der noch bis zum Ende des nächsten Semesters (also noch r<strong>und</strong> neun Monate) gilt. Drei Monate<br />

später ereilt viele andere Zertifikate ihr planmäßiges oder vorfristiges Ende: Der Low-Level-<br />

Zertifizierungsschlüssel der UNI-CA läuft kurz nach dem Ende des Semesters ab, <strong>und</strong> alle mit<br />

ihm ausgestellten Zertifikate werden dadurch ungültig. Außerdem gibt es einige Medium-Level-<br />

Zertifikate, die vorzeitig gesperrt werden, weil die Inhaber ihrer Schlüssel nicht mehr an der UNI<br />

immatrikuliert oder beschäftigt sind. Kurz vor Ablauf des nächsten Semesters wird das Zertifikat<br />

dann noch einmal von der UNI-CA selbst verwendet: Sie prüft damit die Unterschrift unter <strong>einer</strong><br />

E-Mail des Studenten Mustermann an die UNI-CA, in der er um eine Re-Zertifizierung seines<br />

Schlüssels bittet. Da die Unterschrift sich erfolgreich mit dem öffentlichen Schlüssel Mustermanns<br />

im Zertifikat verifizieren läßt, erstellt die UNI-CA mit ihrem neuen Zertifizierungsschlüssel für das<br />

kommende Semester ein neues Zertifikat, das diesmal ein Jahr lang gilt (wenn es nicht widerrufen<br />

wird ...). Das alte Zertifikat läuft dann mit dem Ende der Gültigkeitsdauer des alten Signierschlüssels<br />

ab.<br />

5.4.3 Terminsachen<br />

Aus <strong>einer</strong> anderen Perspektive sind Zeiträume <strong>und</strong> Termine, an denen etwas geschieht oder geschehen<br />

muß, wichtiger als die Objekte, mit denen etwas passiert. Diese Sichtweise für verschiedene regelmäßig<br />

wiederkehrende oder einmalige Stichtags-Aktivitäten stellen die nachfolgenden Abschnitte<br />

dar, indem sie die Tätigkeiten der CA nennen, die zum jeweiligen Termin oder im angegebenen<br />

Rhythmus ausgeführt werden sollten oder müssen.<br />

5.4.3.1 Wöchentlich zu erledigen<br />

Korrektheit der Systemzeit auf dem CA-Rechner direkt beim Hochfahren prüfen – der Rechner<br />

kann sich nicht über eine Netzwerkverbindung mit den NTP-Servern synchronisieren,<br />

eventuell geht daher seine Uhr stärker falsch als die der übrigen, vernetzten UNI-Rechner<br />

(nötigenfalls korrigieren)<br />

kl<strong>einer</strong> Integritätscheck mit tripwire<br />

anstehende Zertifizierungen <strong>und</strong> Zertifikatwiderrufe durchführen<br />

inkrementelles Backup anfertigen<br />

<strong>DFN</strong>-PCA-Mailingliste verfolgen<br />

Mail für die CA beantworten/News lesen


116 Kapitel 5. Praktische Umsetzung des CA-Konzeptes<br />

Laptop-Akkus aufladen<br />

5.4.3.2 Monatlich wiederkehrende Arbeiten<br />

Kontrolle des CA-Rechners (Kompletter Integritätscheck mit tripwire, Prüfen der Logfiles)<br />

Komplett-Datensicherung, Wiederherstellbarkeit des Systems aus den Datensicherungen testen<br />

CRL-Erneuerung im in der Policy festgelegten Rhythmus (laut <strong>DFN</strong>-Policy mindestens monatlich),<br />

falls mit Sperrlisten gearbeitet wird<br />

eventuell: Präsenz auf regelmäßig monatlich stattfindenden Veranstaltungen<br />

5.4.3.3 Halbjährlich wiederkehrende Arbeiten (Semesterende)<br />

Key-Rollover der Low-Level UNI-CA: Zertifizierungsschlüssel wird ungültig<br />

Benachrichtigung der Zertifikatnehmer, deren Zertifikat wegen des ablaufenden Zertifizierungsschlüssels<br />

ungültig wird<br />

Key-Rollover der UNI-CA: Kommunikationsschlüssel wird ungültig<br />

Archivierung alter Kommunikationsschlüssel<br />

Löschung abgelaufener Signierschlüssel<br />

Re-Zertifizierung von Nutzern<br />

Veröffentlichung der Liste der Sub-CAs (sofern zertifiziert), der RAs <strong>und</strong> der RA-<br />

Vereinbarung (Wortlaut)<br />

5.4.3.4 Jährlich<br />

Key-Rollover der Medium-Level UNI-CA: Zertifizierungsschlüssel wird ungültig<br />

Benachrichtigung der Zertifikatnehmer, deren Zertifikat wegen des ablaufenden Zertifizierungsschlüssels<br />

ungültig wird<br />

Expire des Medium-Level Signierschlüssels<br />

User anschreiben <strong>und</strong> auf Möglichkeit der Re-Zertifizierung hinweisen<br />

eventuell: Präsenz auf jährlich stattfindenden Veranstaltungen


5.4. <strong>Betrieb</strong> der CA (“run”) 117<br />

5.4.3.5 Stichtags-Aktivitäten (ca. einmalig)<br />

29.2.2000 Datum prüfen: 2000 ist ein Schaltjahr, obwohl Vielfaches von 100 (weil auch Vielfaches<br />

von 400)<br />

31.12.2000 Auslaufen der <strong>DFN</strong>-Policies, Ende des <strong>DFN</strong>-PCA-Projektes<br />

Ablauf der UNI-CA-Policies<br />

Bis zu diesem Zeitpunkt sollte feststehen, in welcher Form bzw. nach welcher Policy<br />

die Low-Level- bzw. die Medium-Level-CA über den letzten Gültigkeitstag der<br />

bisherigen Policies hinaus arbeiten sollen. Eventuell wird mit dem Inkrafttreten <strong>einer</strong><br />

neuen oder geänderten Policy ein (außerplanmäßiger) Wechsel der CA-Schlüssel<br />

erforderlich.<br />

5.4.4 Step-by-Step-Anleitungen<br />

Hinter vielen der bislang mit einem Stichwort genannten Procederes wie „Schlüssel prüfen“ verbergen<br />

sich in Wirklichkeit etliche Einzelschritte. Die folgenden Anleitungen bzw. Checklisten sollen<br />

helfen, keinen der Punkte zu vergessen. Ein <strong>Teil</strong> der Punkte könnte bei entsprechender Software-<br />

Unterstützung durch spezielle CA-Software auch automatisiert erfolgen (z.B. bestimmte Abgleiche<br />

oder die Eintragung in eine Liste bereits zertifizierter Namen oder Schlüssel).<br />

5.4.4.1 Erzeugung eines Schlüsselwiderrufs (Key Revocation Certificate)<br />

1. Backup von Public- <strong>und</strong> Private-Key-Ring machen<br />

2. Funktionsfähigkeit der Backups testen<br />

3. Schlüsselwiderruf erzeugen<br />

4. Schlüsselwiderruf in Datei extrahieren<br />

5. Originalschlüssel aus Backup einlesen (Achtung: das Backup wird noch gebraucht!)<br />

6. testen, ob das Einlesen funktioniert hat (Key muß jetzt wieder unwiderrufen sein)<br />

7. Widerruf testen<br />

8. Originalschlüssel wiederherstellen<br />

9. Schlüsselwiderruf auf Diskette sichern (ggf. herkömmlich paßwort-verschlüsseln) <strong>und</strong> an<br />

<strong>DFN</strong>-PCA weitergeben<br />

10. eigene Kopie des Schlüsselwiderrufs sicher verwahren


118 Kapitel 5. Praktische Umsetzung des CA-Konzeptes<br />

5.4.4.2 Registrierung <strong>und</strong> Identitätsprüfung<br />

Entgegennahme des Zertifizierungsantrages sowie des Personaldokumentes (<strong>und</strong> ggf. des<br />

Public-Keys auf Diskette)<br />

Ist der Antrag so leserlich, daß auch eine Person, die nicht zugleich das Personaldokument<br />

sieht, in der Lage ist, den Namen eindeutig zu entziffern?<br />

Ist das Personaldokument noch gültig?<br />

Sichtprüfung: Stimmen Antragsteller <strong>und</strong> Abbildung im Personalausweis überein? (Ansonsten<br />

könnte jeder Taschendieb mit einem gestohlenen Personaldokument ein Zertifikat unter<br />

falschem Namen beantragen!)<br />

stimmen Vorname(n) <strong>und</strong> Name im Personalausweis mit denen auf dem Antrag überein?<br />

(ansonsten könnte jeder Taschendieb mit einem gestohlenen Personaldokument ein Zertifikat<br />

unter falschem Namen beantragen)<br />

Vergleichen der geleisteten Unterschrift mit der im Personaldokument (wichtig: Die Unterschrift<br />

darf erst im Beisein des CA-Mitarbeiters geleistet werden, weil sonst äußerliche Ähnlichkeit<br />

z.B. von Geschwistern Betrugsmöglichkeiten eröffnen würde!)<br />

Bei Medium-Zertifizierung: Studentenausweis/Gehaltszettel/Projekt-Zettel zeigen lassen <strong>und</strong><br />

prüfen, ob der dort genannte/eingedruckte Name mit dem im Personaldokument übereinstimmt<br />

Diskette mit den Public-Keys bzw. Zettel mit den Schlüsselinfos der UNI-CA aushändigen<br />

Antrag namentlich kennzeichnen <strong>und</strong> sicher verwahren bzw. gesichert an die CA weiterleiten<br />

5.4.4.3 Schlüsselprüfung<br />

Liegt der Schlüssel bereits vor, oder muß er angefordert werden?<br />

Stimmen der Name <strong>und</strong> ggf. die Mailadresse aus der UserID (bzw. dem Subject-DN bei<br />

X.509-Zertifizierungen) mit dem Angaben auf dem Antrag überein?<br />

Sind Schlüssellänge <strong>und</strong> Erstellungsdatum des Schlüssels <strong>und</strong> die Angaben im Antrag identisch?<br />

Liegt das Erstellungsdatum des vorliegenden öffentlichen Schlüssels zwischen dem Erstellungsdatum<br />

von PGP 2.x <strong>und</strong> dem aktuellen Datum?<br />

Ggf. wenn eine Gültigkeitsdauer im Schlüssel enthalten ist: Ist der Schlüssel noch nicht abgelaufen?<br />

Ggf. wenn eine Gültigkeitsdauer sowohl in der Benutzerkennung als auch im PGP Key-Paket<br />

enthalten ist: stimmen beide überein?<br />

Erfüllt die Benutzerkennung alle Policy-Anforderungen (wie Schreibweise, UNI-<br />

Mailadresse)?


5.4. <strong>Betrieb</strong> der CA (“run”) 119<br />

Ist die Benutzerkennung selbst-signiert mit diesem Key?<br />

Hat der Schlüssel die erforderliche Mindestlänge?<br />

Ggf.: Hat der Schlüssel höchstens die maximal zulässige Länge?<br />

5.4.4.4 Ablauf bei Medium-Level-Zertifizierung<br />

neue Zertifizierungsanträge entgegennehmen<br />

Prüfungen nach Checkliste<br />

Challenge mailen <strong>und</strong> auf Antrag vermerken<br />

Antwort auf Challenge archivieren<br />

Prüfung: stammt die Signatur unter der Challenge wirklich vom zu zertifizierenden Key?<br />

Public-Key auf Wechselmedium speichern<br />

CA-Rechner <strong>und</strong> Schlüsselmedium aus Schutzschrank nehmen<br />

möglichst kein Netz-, sondern Akku-<strong>Betrieb</strong> bei der Zertifizierung<br />

möglichst keine Zuschauer oder Besucher bei der Zertifizierung (außer dem zweiten CA-<br />

Mitarbeiter, der wegen des Vier-Augen-Prinzips erforderlich ist)<br />

CA-Rechner hochfahren, als Medium-Level-CA-Mitarbeiter anmelden<br />

zu zertifizierende Schlüssel vom Wechselmedium einlesen<br />

Schlüsselträger mounten/aktivieren<br />

(*) Zertifizierung starten, Name, Schlüssellänge, Key-ID <strong>und</strong> Erstellungsdatum prüfen<br />

prüfen, ob die UserID schon für einen anderen Key vergeben ist <strong>und</strong> falls ja, neuen Schlüssel<br />

nicht zertifizieren (<strong>und</strong> Abbruch bzw. nächster Key)<br />

richtige Benutzerkennung zusammen mit dem anderen CA-Admin signieren<br />

Zertifizierung auf dem Antragsformular <strong>und</strong> auch in eventuell geführten Logfiles vermerken<br />

Zertifikat extrahieren<br />

. . . [ggf. weitere Schlüssel auf diese Weise zertifizieren]<br />

Schlüsselmedium unmounten<br />

neue Zertifikate auf Wechselmedium sichern <strong>und</strong> sie damit auf einen vernetzten Rechner bringen<br />

CA-Rechner <strong>und</strong> Schlüsselmedium sicher verwahren<br />

Zertifikat publizieren (an Keyserver mailen) <strong>und</strong> an User mailen


120 Kapitel 5. Praktische Umsetzung des CA-Konzeptes<br />

User(-Mailadresse) ggf. in Liste oder Datenbank als ‘zertifiziert’ vermerken (für R<strong>und</strong>mails<br />

usw.)<br />

Antrag sicher archivieren/ablegen<br />

5.4.4.5 Ablauf bei Low-Level-Zertifizierung<br />

CA-Rechner <strong>und</strong> ggf. Low-Level-CA-Schlüsselmedium aus Schutzschrank entnehmen<br />

aktuelle Version des globalen Public-Keyrings von einem der PGP-Keyserver auf den CA-<br />

Rechner kopieren (via Datenträgeraustausch – Achtung, das File ist groß!) als „Schlüsselvorrat“<br />

für den <strong>Betrieb</strong> unterwegs als Service für alle, die ihren Public-Key nicht ständig bei sich<br />

tragen, ihn aber trotzdem gerne vor Ort zertifiziert haben möchten<br />

Integritätsprüfung mit tripwire, weil defekte Software oder Keys zu irreversiblen Folgen führen<br />

würden, da dadurch verursachte unbrauchbare Zertifikate dann schon ausgegeben wären<br />

sonstige Peripherie (Drucker, Ersatz-Akku, Anträge, Poster) mitnehmen<br />

Stand aufbauen:<br />

– Material auslegen<br />

– CA-Rechner aufbauen <strong>und</strong> gegen Wegnahme mit Seilschloß sichern<br />

– Anmelden auf CA-Rechner als Low-CA-Mitarbeiter <strong>und</strong> ggf. Mounten des Schlüsselmediums<br />

Schlüsselprüfung gemäß 5.4.4.3 durchführen<br />

keine Challenge erforderlich<br />

Public-Key aus Keyserver-Datei entnehmen bzw. von Diskette des Antragstellers einlesen<br />

Zertifizierung nach 5.4.4.4 ab (*) durchlaufen<br />

Zertifikat sichern<br />

Zertifizierung auf Antrag vermerken <strong>und</strong> Antrag sicher verwahren<br />

ggf. Zertifikat auf Diskette des Antragstellers speichern<br />

UNI-CA- <strong>und</strong> <strong>DFN</strong>-PCA-Public-Keys aushändigen<br />

. . .<br />

bei Pausen o.ä.: Schlüsselmedium deaktivieren <strong>und</strong> sicher verwahren, Rechner nicht unbeaufsichtigt<br />

lassen<br />

. . .<br />

Abbau <strong>und</strong> Rücktransport<br />

neue Zertifikate mit Wechselmedium von CA-Rechner auf vernetzten Rechner transportieren


5.4. <strong>Betrieb</strong> der CA (“run”) 121<br />

Schlüsselmedium wegschließen<br />

neue Zertifikate an User <strong>und</strong> Keyserver mailen <strong>und</strong> ggf. in Logfile eintragen<br />

Anträge ablegen bzw. archivieren<br />

Backup machen<br />

CA-Rechner wegschließen<br />

Akkus aufladen!!<br />

5.4.5 Notfallpläne<br />

5.4.5.1 Hardware-Ausfall Zertifizierungsrechner<br />

Wird eine Reparatur des Zertifizierungsrechners erforderlich, so sind zwei Anforderungen gefährdet:<br />

Die Verfügbarkeit des Rechners ist nicht mehr gewährleistet (bzw. die Wieder-Verfügbarkeit<br />

unter ungünstigen Umständen sogar überhaupt nicht absehbar), <strong>und</strong> die Integrität der Software <strong>und</strong><br />

der Daten auf dem Rechner ist gefährdet, sei es durch unbeabsichtigte Änderungen oder Löschungen<br />

während der Reparaturarbeiten, sei es durch mutwillige Manipulationen in dieser Zeit. Ein<br />

möglicher Ausweg könnte darin bestehen, die Festplatte aus dem Gerät zu entfernen, bevor es zur<br />

Reparatur gegeben wird. Eventuell erschwert das dann aber die Fehlersuche bzw. die Reparatur.<br />

Gegebenenfalls müßte die Platte gelöscht werden, bevor sie die Hände der CA-Mitarbeiter verläßt.<br />

Auch für diese Situation wäre also ein aktuelles Backup umso wichtiger, besonders im Hinblick auf<br />

die Low-Level-CA-Festplatte, da sie beim mobilen Einsatz <strong>einer</strong> höheren physikalischen Belastung<br />

<strong>und</strong> Gefährdung ausgesetzt ist. Sollte der CA-Rechner bei einem Defekt so ausfallen, daß es nicht<br />

mehr möglich ist, die Festplatte zu löschen, während sie in ihm betrieben wird, so muß sie an einen<br />

anderen Rechner angeschlossen <strong>und</strong> dort gelöscht <strong>und</strong> anschließend neu formatiert werden.<br />

Ein anderer Ausweg könnte darin bestehen, die Medium-Level-CA-Festplatte in das Gerät einzubauen,<br />

bevor es zur Reparatur gegeben wird. Diese Harddisk enthält keine vertraulichen Daten (der<br />

geheime Schlüssel ist auf einem separaten Datenträger gespeichert, <strong>und</strong> die Nutzerdaten in den<br />

Zertifikaten sind zur Veröffentlichung bestimmt), <strong>und</strong> wenn der Rechner aus der Werkstatt zurückkommt,<br />

könnte anhand der Integritätsprüfung mit (beispielsweise) tripwire festgestellt werden, ob<br />

<strong>und</strong> wenn ja welche Dateien modifiziert, gelöscht oder hinzugefügt worden sind. Diese müßten dann<br />

ggf. von der letzten Sicherungskopie wieder eingespielt werden.<br />

5.4.5.2 „Tag X“ (CA-Schlüssel-Kompromittierung)<br />

Um in diesem Fall alle erforderlichen Maßnahmen ergreifen zu können, ist es wichtig, daß bereits<br />

vorher während der normalen Zertifizierung entsprechende Vorbereitungen getroffen werden. Dazu<br />

gehört u.a., eine Möglichkeit vorzusehen, wie alle Zertifikatnehmer per E-Mail benachrichtigt<br />

werden können, falls es zu <strong>einer</strong> Kompromittierung eines CA-Schlüssels <strong>und</strong> in deren Folge zu <strong>einer</strong><br />

Sperrung aller mit dem Key unterzeichneten Zertifikate kommt. Andere Fälle, in denen diese


122 Kapitel 5. Praktische Umsetzung des CA-Konzeptes<br />

Kommunikationsmöglichkeit genutzt werden sollte, um Informationen an die CA-Nutzer weiterzugeben,<br />

wären beispielsweise eine Adreßänderung der Zertifizierungsstelle oder das Bekanntwerden<br />

gr<strong>und</strong>sätzlicher Sicherheitslücken in oder neuer Angriffe auf gängige Verschlüsselungsverfahren.<br />

Wird der geheime Signierschlüssel der CA entwendet oder kann diese Möglichkeit bei seinem Verschwinden<br />

zumindest nicht ausgeschlossen werden, so ergibt sich bei PGP ein Problem: Der Schlüssel<br />

<strong>und</strong> alle mit ihm ausgestellten Zertifikate müßten so schnell wie möglich für ungültig erklärt<br />

werden, indem für ihn ein Schlüsselwiderruf (Key Revocation Certificate, KRC) ausgestellt wird.<br />

Dies ist aber nur unter Verwendung des Schlüssels selbst möglich, der ja in diesem Falle nicht mehr<br />

vorliegt. Für genau diesen Fall ist das vorsorgliche Erzeugen eines Schlüsselwiderrufes gedacht.<br />

Da die <strong>DFN</strong>-Policy für jede von ihr zertifizierte CA die Hinterlegung eines solchen KRC bei der<br />

<strong>DFN</strong>-PCA vorschreibt, kann nun darauf zurückgegriffen werden. Die <strong>DFN</strong>-PCA müßte also auf<br />

geeignete Weise <strong>und</strong> möglichst umgehend davon unterrichtet werden, daß eine Kompromittierung<br />

vermutet wird oder zumindest nicht ausgeschlossen werden kann <strong>und</strong> daher der Widerruf für den<br />

betreffenden Schlüssel veröffentlicht werden sollte. (Da die <strong>DFN</strong>-PCA pro Mitgliedseinrichtung<br />

nur eine CA zertifiziert, sollte es hier keine Mehrdeutigkeiten geben, welcher Schlüssel gemeint<br />

ist.)<br />

5.5 Stolpersteine<br />

Zum Schluß noch einige Beispiele für kuriose Dinge, die besser vermieden werden sollten oder die<br />

unerwartet Schwierigkeiten bereiten können:<br />

alle zertifizierten Schlüssel werden (ausschließlich) als selbst-extrahierendes .exe-File auf<br />

dem WWW-Server der CA vorgehalten<br />

Widerrufslisten (für PGP-Schlüssel) sind nicht unterschrieben<br />

Widerrufslisten (für PGP-Schlüssel) sind zwar unterschrieben, jedoch nicht mit dem Signierschlüssel<br />

der CA<br />

In der Policy werden viele neue/ungebräuchliche Abkürzungen eingeführt<br />

KeyIDs unterschiedlicher Schlüssel sind nicht zwangsläufig verschieden:<br />

$ pgp -kvc 0x19980101<br />

[...]<br />

Type Bits/KeyID Date User ID<br />

pub 2048/19980101 1998/01/12 in-ca@individual.net SIGN EXPIRE:1999-12-31<br />

Ueberregionale CA des Individual Network e.V.<br />

Expire: 1999/12/31 SIGNature only<br />

Key fingerprint = C4 0E 2C 31 1D DB 5F DB AF 5F 2C AF 9D 44 13 10<br />

pub 2048/19980101 1998/01/12 in-ca@individual.net SIGN EXPIRE:1999-12-31<br />

Root CA des Individual Network e.V.<br />

Expire: 1999/12/31 SIGNature only<br />

Key fingerprint = B3 06 9A 8D 38 04 3C 75 41 32 EE DC 8B 7D 61 0D<br />

2 matching keys fo<strong>und</strong>.


5.5. Stolpersteine 123<br />

Es können PGP-Keys mit einem Erstellungsdatum in der Zukunft auftreten:<br />

pub 2048/FEECC7A5 2018/06/14 Michael [...] <br />

Es können Tippfehler in den UserIDs vorliegen:<br />

Type Bits/KeyID Date User ID<br />

pub 1024/0XXXXXXX 2000/02/xx xxxxxxxxxxxxxx <br />

=<br />

Wie verfährt man bei ungewöhnlichen Darstellungen von Sonderzeichen im Namen in der<br />

UserID, z.B. bei Umlauten, die als 8bit-ISO-Latin1-Zeichen in der UserID vorkommen <strong>und</strong><br />

auf Rechner mit anderer Zeichensatz-Codierung als Sonderzeichen dargestellt werden?<br />

Sind Schlüssel zertifizierbar, bei denen der Name des Inhabers einen Umlaut enthält, dieser in<br />

der UserID aber mit dem nicht-umgelauteten Vokal geschrieben ist (also z.B. Name ‘Müller’,<br />

UserID ‘... Muller ...’ )?<br />

Sollen Schlüssel zertifiziert werden, die den Namen in der UserID nicht in der Standardform<br />

‘Vorname Nachname E-Mailadresse’ enthalten, sondern nur als Bestandteil der Mailadresse,<br />

etwa hans.mustermann@UNI.de ?<br />

Probleme bei der X.509-Zertifizierung bereitet vor allem die eindeutige Zuordnung zwischen Zertifizierungsantrag<br />

<strong>und</strong> einem Zertifizierungs-Request (Certificate Signing Request, CSR), wenn dieser<br />

nur per E-Mail übermittelt wird. Viele Programme, die X.509-Zertifikate verarbeiten, bieten<br />

k<strong>einer</strong>lei Möglichkeit, sich den erzeugten CSR oder eine kryptographische Prüfsumme (Hash-Wert,<br />

Message Digest) davon anzeigen zu lassen, so daß – anders als bei PGP – auch kein „Fingerprint“<br />

o.ä. im Zertifizierungsantrag angegeben werden kann. Es fehlt dann an der Verknüpfung zwischen<br />

schriftlichem Zertifizierungsantrag <strong>und</strong> dem elektronischen CSR, was z.B. Verwechslungen begünstigt.<br />

(Möglicher workaro<strong>und</strong>: siehe Anhang H.1.1)


124 Kapitel 5. Praktische Umsetzung des CA-Konzeptes


Kapitel 6<br />

Ausblick<br />

The challenge is ... to provide the infrastructure<br />

for automatable Trust Management for everyday life.<br />

We need to protect our own identities<br />

and be sure of our correspondents’.<br />

— ROHIT KHARE, The World Wide Web Journal [Kha97]<br />

Zum Abschluß soll noch der Versuch unternommen werden, absehbare Entwicklungen <strong>und</strong> Trends<br />

im Zusammenhang mit der Public-Key-Zertifizierung zu skizzieren <strong>und</strong> zukünftige Herausforderungen<br />

für eine Zertifizierungsstelle auszuloten.<br />

Die rasche Entwicklung <strong>und</strong> der hohe Innovationsdruck auf dem Gebiet der Informations- <strong>und</strong> Kommunikationstechnik<br />

lassen einen Stillstand oder das Ausruhen auf dem Erreichten kaum zu. Auch<br />

<strong>und</strong> gerade das Feld der Sicherheit ist davon betroffen. Daher soll in diesem Abschnitt versucht werden,<br />

Standardisierungsbestrebungen <strong>und</strong> Konzepte von Bedeutung für Public-Key-Infrastrukturen<br />

sowie mögliche zusätzliche Aufgabengebiete für eine UNI-CA ebenso zu umreißen wie solche<br />

Aufgaben, die sich für sie daraus ergeben könnten, daß ihre Dienste in nicht allzu ferner Zukunft<br />

etabliert sein werden <strong>und</strong> sie den Status eines (Pilot-)Projektes hinter sich lassen wird.<br />

6.1 Absehbare technische Entwicklung<br />

Die technische Entwicklung im Zertifizierungsumfeld betrifft vor allem zwei Felder: neue Standards<br />

<strong>und</strong> daraus resultierend zumeist auch neue Programme oder Software-Versionen <strong>und</strong> gänzlich neue<br />

Konzepte, die mittel- bis langfristig auch Änderungen an der gerade erst entstehenden Zertifizierungsinfrastruktur<br />

erforderlich machen könnten.<br />

6.1.1 Software, Standards<br />

Hinsichtlich der Standardisierung mit Bezug zu Public-Key-Verfahren sind drei wichtige Entwicklungen<br />

absehbar:<br />

125


126 Kapitel 6. Ausblick<br />

Die Internet Public Key Infrastructure-Arbeitsgruppe (PKIX) 1 der Internet Engineering Task Force<br />

hat inzwischen die ersten Standards für eine Internet-PKI auf Basis von X.509-Zertifikaten vorgelegt,<br />

2 der Wichtigste darunter sicher [FHPS99]. Darin werden u.a. die Abläufe zur Überprüfung<br />

eines Zertifizierungspfades <strong>und</strong> Formate für Zertifikate <strong>und</strong> Widerrufslisten beschrieben, die in der<br />

zukünftigen Internet-X.509-Public-Key-Infrastruktur verwendet werden sollen. Da diese Standards<br />

(<strong>und</strong> teilweise noch Entwürfe) gerade erst verabschiedet wurden, existieren noch kaum Implementierungen,<br />

die diese Verfahren umsetzen. Da so gut wie alle großen Anbieter von Zertifizierungssoftware<br />

oder entsprechenden Dienstleistungen am Entwurf dieser Standards beteiligt waren <strong>und</strong><br />

sind, kann man aber davon ausgehen, daß die meisten diesen neuen Internet-Standard auch in ihren<br />

Produkten umsetzen werden. Für eine Zertifizierungsstelle bedeuten diese Internet-Standards, daß<br />

entsprechende standard-konforme Software eingesetzt werden sollte, sobald sie verfügbar ist. Damit<br />

einher gehen einige neue Dienste für Zertifikat-Überprüfungen, wie z.B. das Online Certificate<br />

Status Protocol, das ebenfalls von der PKIX-Arbeitsgruppe entwickelt wurde [AAG 99].<br />

Die Anhänger von PGP versuchen, mit dem OpenPGP-Standard [CDFT98] ein Gegengewicht <strong>und</strong><br />

eine Alternative zu dem von vielen großen Firmen, insbesondere Netscape <strong>und</strong> Microsoft, unterstützten<br />

S/MIME zu etablieren. Da PGP mit seinen bis zu 20 Millionen Anwendern weltweit zur Zeit<br />

noch den De-facto-Standard für vertrauliche E-Mail-Kommunikation im Internet darstellt [SW97],<br />

dürfte viel davon abhängen, ob die PGP-Gemeinde mit den unterschiedlichen, teilweise untereinander<br />

inkompatiblen kommerziellen <strong>und</strong> nicht-kommerziellen PGP-Versionen weiter zersplittert <strong>und</strong><br />

so an Bedeutung verliert, oder ob freie <strong>und</strong> kommerzielle Implementierungen dank des OpenPGP-<br />

Standards interoperabel sein werden. Viel wird in dieser Hinsicht wohl davon abhängen, ob Network<br />

Associates, der Anbieter der kommerziellen PGP-Versionen, sich selbst an die unter eigener<br />

Federführung entwickelte OpenPGP-Spezifikation halten oder aber eigene Wege gehen wird. Die<br />

Entwickler freier PGP-Versionen wie z.B. Gnu Privacy Guard [Roe98, Lei99] werden sich aller<br />

Voraussicht nach an den Standard halten (schon um angesichts der geringeren Verbreitung ihrer jeweiligen<br />

Software deren Chancen nicht leichtfertig weiter zu schmälern). Der OpenPGP-RFC selbst<br />

wird aktiv weiterentwickelt, zur Zeit liegt ein erster Internet-Draft für sein Nachfolger-Dokument<br />

vor [CDFT99].<br />

Weitergehende Interoperabilität könnte eine Integration von PGP <strong>und</strong> X.509 bringen, die dann<br />

vermutlich am wahrscheinlichsten in Form von X.509-Unterstützung durch PGP/Network Associates<br />

realisiert würde, da X.509 sich außerhalb des PGP-Umfeldes als Standard-Zertifikatformat<br />

etabliert hat. Network Associates selber plant eine entsprechende Unterstützung von X.509 für zukünftige<br />

Versionen ihrer PGP-Software-Suite, wie die folgende Aussage von SIMON LEECH, Prime<br />

Support Account Manager, Network Associates International B.V., vom 8. Dezember 1998 an JOHN<br />

HORTON, weitergeleitet an die PGP-Directory-Mailingliste 3 , belegt:<br />

Thanks for your enquiry regarding PGP and x509 compatibility. According to our internal PGP<br />

roadmap, full support for x.509 will be included in PGP v7.0, which will include an integrated<br />

PGP/x509 CA server and will be available in the second half of 1999.<br />

1 http://www.imc.org/ietf-pkix/<br />

2 Einen Überblick gibt die Web-Seite der Arbeitsgruppe (s. vorige Fußnote 1) oder die PKIX-Roadmap [AT99]<br />

3 Archiv der Liste unter http://www.dante.net/np/listarchives/pgp.html


6.1. Absehbare technische Entwicklung 127<br />

However, v6.5 will include integration of our PGP VPN client, which will include support of<br />

both PGP and RSA based x509v3 certificates. This will hopefully be available in Q1/Q2 next<br />

year.<br />

Damit gäbe es dann mit X.509 ein einheitliches Zertifikatformat, was die Arbeit von Zertifizierungsstellen<br />

erheblich erleichtern könnte, da dann nicht mehr PGP- <strong>und</strong> X.509-Zertifizierung separat betrieben<br />

werden müßten.<br />

PGP 6.5 ist mittlerweile verfügbar <strong>und</strong> unterstützt in s<strong>einer</strong> VPN-Funktionalität tatsächlich X.509.<br />

Auch wenn sich die Version 7.0 um etwa ein Jahr verzögern dürfte, bleibt doch zu hoffen, daß NAI<br />

seine PGP-Roadmap einhält <strong>und</strong> in PGP 7.0 volle X.509-Unterstützung realisiert.<br />

Ende 2000 läuft ferner das US-Patent auf den RSA-Algorithmus 4 aus. Damit wird er in wenigen<br />

Monaten lizenzfrei nutzbar sein, was es erleichtern dürfte, ihn als (einen) Standard- oder sogar<br />

Default-Algorithmus in IETF-Standards oder in kommerziellen oder freien Software-Produkten einzusetzen.<br />

– Dies wäre u.U. auch unter dem Aspekt der Absicherung gegen den Ausfall einzelner<br />

Verfahren hilfreich, auf die am Ende des folgenden Abschnittes näher eingegangen wird.<br />

6.1.2 Infrastrukturen, Konzepte<br />

Am einfachsten realisierbar <strong>und</strong> insofern auch am wahrscheinlichsten dürfte die Kombination <strong>und</strong><br />

Integration von Zertifizierungsdiensten mit anderen bereits existierenden Diensten sein. So hilft<br />

z.B. der PathServer von MICHAEL REITER <strong>und</strong> STUART STUBBLEBINE [RS97b] dabei, Zertifizierungspfade<br />

zum Schlüssel eines Kommunikationspartners im ansonsten eher unstrukturierten PGP<br />

Web-of-Trust zu finden. Diese Suchmöglichkeit ist bisher noch kaum bekannt, <strong>und</strong> sie wird auch<br />

noch nicht systematisch von anderen Programmen genutzt. Hier liegt noch einiges Entwicklungspotential<br />

brach, insbesondere in Zusammenhang mit komplexeren Verfahren zur Vertrauensbewertung<br />

als den bisher üblichen (siehe auch die Ausführungen zu Trust Metrics im nächsten Absatz).<br />

Ein weiteres Beispiel sind Zeitstempeldienste, wie sie beispielsweise die Zertifizierungsstelle der<br />

Humboldt-Universität zu Berlin bereits für interne Zwecke oder auch der PGP Digital Timestamping<br />

Service von MATTHEW RICHARDSON [Ric97] anbieten <strong>und</strong> wie sie die PKIX-Arbeitsgruppe<br />

der IETF standardisiert [ACPZ00]. An <strong>einer</strong> Integration solcher Dienste, die die Zertifizierung von<br />

öffentlichen Schlüsseln gut ergänzen würden, fehlt es bislang; sie könnte die Nutzung aller dieser<br />

Angebote erheblich steigern.<br />

Die heute existierenden oder im <strong>Aufbau</strong> befindlichen Zertifizierungsinfrastrukturen haben so gut<br />

wie alle einen wesentlichen Punkt gemeinsam: Sie sind in der Regel hierarchisch aufgebaut, <strong>und</strong><br />

ein Nutzer ihrer Dienste muß allen übergeordneten oder sogar allen Zertifizierungsstellen vertrauen,<br />

wenn er die von ihnen ausgestellten Zertifikate nutzen will. Bestenfalls hat er die Möglichkeit,<br />

eine Entweder-Oder-Entscheidung zu treffen zwischen „Ja, ich vertraue dieser CA (bedingungslos<br />

<strong>und</strong> uneingeschränkt)“ <strong>und</strong> „Nein, in diese CA <strong>und</strong> ihre Arbeit habe ich kein Vertrauen“. Abstufungen<br />

wie „erscheint mir ziemlich vertrauenswürdig“ oder „scheint meist zuverlässig zu arbeiten“<br />

lassen sich in dem vorherrschenden Zertifizierungsmodell nicht ausdrücken. Zumindest einen kleinen<br />

Schritt weiter geht hier PGP mit den Vertrauensbewertungen, die der Nutzer für andere Personen<br />

4 http://www.patents.ibm.com/details?&pn=US04405829__&s_all=1


128 Kapitel 6. Ausblick<br />

vergeben kann, <strong>und</strong> mit der Vorgabe der Zahl an PGP-Zertifikaten „einigermaßen“ vertrauenswürdiger<br />

Personen, die benötigt werden, damit ein fremder PGP-Schlüssel als authentisch eingestuft<br />

wird (PGP-Konfigurationsparameter Marginals_Needed).<br />

Im „klassischen“ hierarchischen Zertifizierungsmodell sind darüber hinaus – abgesehen von Cross-<br />

Zertifizierungen – auch keine red<strong>und</strong>anten Zertifizierungspfade vorgesehen. Fällt eine Zertifizierungsstelle<br />

z.B. aufgr<strong>und</strong> eines key compromise aus, so sind damit alle ihr in der Zertifizierungshierarchie<br />

untergeordneten CAs <strong>und</strong> Nutzer vom restlichen <strong>Teil</strong> der Hierarchie isoliert. – Auch hier<br />

schneidet das Web-of-Trust-Modell der PGP-Zertifizierung etwas besser ab: Hier können beliebige,<br />

auch mehrere <strong>und</strong> indirekte Pfade zwischen zwei Knoten im Zertifizierungsgraph existieren.<br />

Das hierarchische Zertifizierungsmodell ist aber nicht zwingend. Es gibt andere Ansätze, die flexiblere<br />

<strong>und</strong> mehr Zertifizierungspfade zulassen <strong>und</strong> dann anhand mathematischer Modelle die Aussagekraft<br />

<strong>und</strong> Vertrauenswürdigkeit einzelner Pfade in dem resultierenden Zertifizierungsnetz zu<br />

ermitteln suchen [RS97a, ARH97]. Anhand von sog. trust metrics, also <strong>einer</strong> zahlenmäßigen (<strong>und</strong><br />

bei Bedarf änderbaren) Bewertung für jeden Zertifikat-Aussteller oder sogar für jedes Zertifikat, läßt<br />

sich bei diesen Modellen das Vertrauen in die Zertifizierung, die Dritte vorgenommen haben, f<strong>einer</strong><br />

abgestuft bewerten als im bool’sch bewerteten hierarchischen Ansatz. Mehrere voneinander unabhängige<br />

Zertifizierungspfade, die zum selben Schlüssel führen, können bei solchen Vertrauensmetriken<br />

die Wahrscheinlichkeit oder das Vertrauen erhöhen, daß der betreffende Schlüssel authentisch<br />

ist.<br />

Ein zusätzliches Betätigungsfeld könnte sich aus anderen Sicherheits- oder Zertifizierungs-<br />

Architekturen ergeben, in denen man nicht darauf angewiesen ist, <strong>einer</strong> „Root-CA“ o.ä. zu vertrauen.<br />

5 Hintergr<strong>und</strong> dieser alternativen Ansätze ist die Überlegung, daß man normalerweise niemandem<br />

mehr Vertrauen entgegenbringt als sich selbst – oder wie es Khare <strong>und</strong> Rifkin formulieren:<br />

“Relying on hierarchical CAs weakens the principle of trusting yourself, since it requires blan-<br />

ket trust in very large scale CAs, with corresponding conflicts of interest.” [KR97, S. 39]<br />

Schließlich kann man hier auch noch einen Punkt nennen, der sich pointiert mit „Katastrophen-<br />

Vorsorge“ beschreiben ließe: die Einführung alternativer Verschlüsselungs-, Authentifizierungs- <strong>und</strong><br />

Zertifizierungsverfahren, um eine unter Sicherheitsgesichtspunkten unerfreuliche Abhängigkeit von<br />

einem einzigen Verfahren oder <strong>einer</strong> einzigen Infrastruktur (single point of failure) zu vermeiden. 6<br />

Dies wird umso wichtiger werden, je stärker Public-Key-Verfahren <strong>und</strong> elektronische Kommunikation<br />

herkömmliche Wege des Nachrichtenaustausches verdrängen (<strong>und</strong> diese in der Folge immer<br />

stärker reduziert werden, so daß keine Rückfall-Alternativen mehr zur Verfügung stehen), zumal<br />

die Stärke der kryptographischen Verfahren, auf denen bislang die verbreitetsten der Public-Key-<br />

Verfahren aufbauen, nicht mathematisch bewiesen worden ist, sondern nur vermutet wird.<br />

5 Beispiele für solche Ansätze sind die Simple Distributed Security Infrastructure, SDSI [LR96] <strong>und</strong> die Simple Public-<br />

Key Infrastructure, SPKI [Ell99, EFL 99].<br />

6<br />

siehe dazu ZIESCHANG [Zie97, S. 343]


6.2. Erweiterung des Aufgabenfeldes der UNI-CA 129<br />

6.2 Erweiterung des Aufgabenfeldes der UNI-CA<br />

Eine Zertifizierungsstelle könnte, wenn Interesse besteht, ihr Tätigkeitsfeld nach <strong>und</strong> nach, je nach<br />

Nachfrage <strong>und</strong> ihren eigenen personellen, technischen usw. Möglichkeiten, erweitern. Sie könnte<br />

beispielsweise selbst einen Zeitstempeldienst anbieten oder den <strong>einer</strong> anderen Einrichtung zugänglich<br />

machen, unter Umständen würde sie zunächst auch erst einmal intern Zeitstempeldienste wie<br />

das „Ewige Logfile“ [Don96] zu Protokollierungszwecken nutzen (auch bzw. eventuell zuerst für<br />

interne Audit-Zwecke der CA). Für interne Nachweiszwecke wären auch Konzepte wie das eines<br />

sicheren Logfiles auf unsicheren Maschinen [KS98] geeignet.<br />

Darüber hinaus sind weiterhin Aktivitäten denkbar wie<br />

die Übernahme der Aufgabe <strong>einer</strong> Registrierungs- <strong>und</strong> Ausgabestelle für SigG-Zertifikate<br />

bzw. -Chipkarten<br />

Unterstützung bei der Verwendung von SigG-Software (damit ist mit großer Wahrscheinlichkeit<br />

zu rechnen – die UNI-Nutzer werden das dem Kompetenzgebiet der CA-Mitarbeiter<br />

zuordnen <strong>und</strong> mit Fragen dazu auf sie zukommen, gerade wenn herstellerunabhängiger Rat<br />

gesucht oder gebraucht wird)<br />

der Verkauf von Smartcard-Lesern<br />

Anonymitäts- <strong>und</strong> Pseudonymitätsdienste, z.B. für die Nutzung des World Wide Web durch<br />

die UNI-Angehörigen<br />

das Signieren von Inhaltsbewertungen (ratings) für WWW-Seiten [MR96, DLLC97]<br />

Support für digitale Signaturen in PDF-Dokumenten [ENT99]<br />

Public-Key-authentisierter Ressourcen-Zugriff, z.B. auf den UNI-Compute-Server, wie dies<br />

bereits im UNICORE-Projekt [AS98] erprobt wird<br />

Ferner wäre es mittelfristig denkbar, den Login auf den Rechnern des Campus-Netzes mit Nutzername<br />

<strong>und</strong> Paßwort auf eine Public-Key-Authentifizierung umzustellen oder zumindest eine kryptographische<br />

Absicherung einfacher Paßwort-Logins durch asymmetrische Verschlüsselungsverfahren<br />

[HK98] einzuführen.<br />

Der zuletzt genannte Punkt könnte für die UNI noch aus einem anderen Gr<strong>und</strong> sehr interessant<br />

sein: In Firmen wurden erhebliche Einsparmöglichkeiten durch Public-Key-Authentifizierung beim<br />

Login festgestellt [NC98], weil dadurch weniger Arbeitszeit bei der Login-Prozedur verlorengeht<br />

<strong>und</strong> weil der Helpdesk nicht so viele Anfragen wegen Login- oder Paßwort-Problemen bekommt.<br />

Weiterhin wären auch Einsparungen für die Universität insgesamt denkbar, die möglich werden,<br />

wenn Arbeitsabläufe effizienter <strong>und</strong> ohne Medienwechsel gestaltet <strong>und</strong> dann Verschlüsselung <strong>und</strong><br />

Signaturen nun vollständig elektronisch abgewickelt können.<br />

Ein weiterer Punkt, der ebenfalls zu konkreten Einsparungen im Universitätshaushalt führen könnte,<br />

wäre die Möglichkeit, Universitätswahlen <strong>und</strong> -abstimmungen online durchzuführen <strong>und</strong> dadurch<br />

Versandkosten für die Wahlunterlagen <strong>und</strong> Wahlbriefe zu sparen. 7<br />

7 Ein entsprechendes vom BMWi gefördertes Pilotprojekt wird an der Universität Osnabrück durchgeführt. Einen <strong>Teil</strong><br />

des Projektes soll auch eine aufzubauende Zertifizierungsstelle darstellen [BMW99a].


130 Kapitel 6. Ausblick<br />

6.3 Auslaufen des <strong>DFN</strong>-PCA-Projektes<br />

Das jetzige <strong>DFN</strong>-PCA-Forschungsprojekt ist bis 31. Dezember 2000 befristet. Der Forschungsaspekt<br />

der Projektarbeit wird mit hoher Wahrscheinlichkeit auch über das Jahr 2000 hinaus fortbestehen<br />

bzw. fortgesetzt werden. Falls das Projekt jedoch nicht mehr als Forschungsprojekt weitergeführt<br />

werden sollte, sondern ausschließlich <strong>Teil</strong> eines regulären Dienstangebots – z.B. der <strong>DFN</strong>-<br />

<strong>CERT</strong> GmbH – für die <strong>DFN</strong>-Mitgliedseinrichtungen würde, so würde sich auch die Frage stellen,<br />

ob dann nicht möglicherweise eine Lizensierung des in PGP verwendeten symmetrischen IDEA-<br />

Verfahrens erforderlich wird. (Zur Zeit sind keine Lizenzen erforderlich, wie Rechteinhaber AS-<br />

COM der <strong>DFN</strong>-PCA 1996 auf Anfrage bestätigt hat. 8 ) Immerhin bliebe es ja auch nach Beendigungen<br />

des Forschungsprojektes <strong>DFN</strong>-PCA bei <strong>einer</strong> Nutzung von IDEA im Deutschen Forschungsnetz<br />

– also auch weiterhin zu Forschungszwecken. ASCOM könnte das aber möglicherweise anders interpretieren<br />

<strong>und</strong> sich auf den Standpunkt stellen, ihre “Special conditions applicable for European<br />

research projects” gälten dann nicht mehr, so daß aus Sicht von ASCOM möglicherweise diese<br />

Passage ihrer Lizenzbedingungen 9 griffe:<br />

“Any use of the algorithm after termination of a project, including activities resulting from a<br />

project and for purposes not directly related to the project, strictly requires a site license, product<br />

license or end-user license.”<br />

Hier wird also Klärungsbedarf entstehen, inwieweit für den PGP-Einsatz in der <strong>DFN</strong>-PCA (oder deren<br />

Träger) <strong>und</strong> in den Sub-CAs zukünftig eventuell IDEA-Lizenzen erforderlich werden könnten,<br />

wenn das PCA-Projekt ausläuft. Für den einzelnen Anwender, der PGP privat nutzt, ändert sich mit<br />

dem Auslaufen des PCA-Projektes nichts, ebenso wenig wie für Projekte, in denen PGP verwendet<br />

wird.<br />

8 http://www.pca.dfn.de/dfnpca/ascom.html<br />

9 http://www.ascom.ch/infosec/idea/types.html


<strong>Teil</strong> II<br />

Zertifizierung mit OpenSSL<br />

131


Kapitel 7<br />

OpenSSL-0.9.5<br />

7.1 Einleitung<br />

OpenSSL ist eine frei verfügbare Implementierung des SSL/TLS-Protokolls <strong>und</strong> bietet zusätzlich<br />

Funktionen zur Zertifikat-Verwaltung sowie verschiedene kryptographische Funktionen. Es basiert<br />

auf dem SSLeay-Paket, das von ERIC A. YOUNG <strong>und</strong> TIM HUDSON entwickelt wurde. OpenSSL<br />

als Nachfolger von SSLeay wird derzeit von <strong>einer</strong> unabhängigen Gruppe weiterentwickelt.<br />

Das Paket umfaßt mehrere Applikationen, z.B. zur Erzeugung von Zertifikaten, von Zertifizierungsanträgen<br />

<strong>und</strong> zur Verschlüsselung. Diese einzelnen Applikationen sind zusammengefaßt in einem<br />

Kommandozeilen-Programm: openssl.<br />

Der Schwerpunkt dieses Dokuments liegt auf dem praktischen Einsatz von OpenSSL zur Erzeugung,<br />

Verwaltung <strong>und</strong> Verwendung von Zertifikaten. Die Funktionen zur Zertifikatverwaltung in<br />

OpenSSL sind ursprünglich nicht für den <strong>Betrieb</strong> <strong>einer</strong> CA gedacht gewesen. Es sollten lediglich<br />

Zertifikate erzeugt werden können, um das (zertifikatbasierte) SSL/TLS-Protokoll sinnvoll einsetzen<br />

zu können. Die Entwicklung des OpenSSL-<strong>Teil</strong>s, der für die Zertifikatverwaltung notwendig<br />

ist, ist inzwischen so weit vorangeschritten, daß der <strong>Betrieb</strong> kl<strong>einer</strong> bis mittlerer CAs gut möglich<br />

ist.<br />

Die letzte OpenSSL-Anwender-Version (0.9.4) stammt vom 9.6.1999. Dieses Dokument bezieht<br />

sich auf die OpenSSL-Entwickler-Version 0.9.5-dev. Die in diesem Dokument gemachten Angaben<br />

sollten sich problemlos auf die nächste Anwender-Version beziehen lassen. Nach Herausgabe der<br />

neuen Anwender-Version wird dieses Dokument ggf. angepaßt werden. Die Entwickler-Versionen,<br />

„snapshot“ genannt, tragen die Bezeichnung openssl-SNAP-2000mmdd, wobei mm <strong>und</strong> dd für<br />

die Monats- bzw. Tages-Zahl stehen. Die SNAP-Bezeichnung wird in diesem Dokument immer dann<br />

verwendet, wenn es um konkrete Kommandos zu Übersetzung bzw. Installation geht. Andernfalls<br />

wird die Bezeichnung openssl-0.9.5-dev verwendet.<br />

Die Entwickler-Version zeichnet sich gegenüber der letzten Anwender-Version u.a. durch eine deutlich<br />

verbesserte Dokumentation aus. Für viele <strong>Teil</strong>e des Programms sind jetzt Manual-Seiten vorhanden.<br />

133


134 Kapitel 7. OpenSSL-0.9.5<br />

7.2 Installation von OpenSSL-0.9.5-dev<br />

Es gibt zwei Möglichkeiten, das Paket zu kompilieren. Die erste Möglichkeit faßt die einzelnen Applikationen<br />

zu einem monolithischen Programm zusammen, openssl. Auf die einzelnen Applikationen<br />

wird dann zugegriffen, indem openssl mit dem Applikationsnamen als erstem Parameter<br />

aufgerufen wird.<br />

Die zweite Möglichkeit kompiliert die Applikationen als eigenständige Programme, es gibt kein<br />

monolithisches Programm.<br />

Für beide Möglichkeiten ist die Konfiguration <strong>und</strong> teilweise auch die Übersetzung <strong>und</strong> Installation<br />

des Paketes gleich. Daher wird ggf. beides gemeinsam behandelt.<br />

Alle Angaben zur Übersetzung <strong>und</strong> Konfiguration des Paketes beziehen sich auf das <strong>Betrieb</strong>ssystem<br />

SunOS 5.5.1 (Solaris 2.5.1), den C-Compiler gcc-2.7.2.1 <strong>und</strong> openssl-SNAP-<br />

20000222.tar.gz.<br />

7.2.1 Konfiguration <strong>und</strong> Übersetzung<br />

Zunächst wird das OpenSSL-Quell-Paket ausgepackt, z.B. in /usr/src:<br />

gzip -dc openssl-SNAP-2000mmdd.tar.gz tar -xvf -<br />

Nach Wechsel in das Quell-Verzeichnis openssl-SNAP-2000mmdd wird das Paket konfiguriert.<br />

Zur Konfiguration können mehrere Optionen angegeben werden. Hier wird nur auf zwei Optionen<br />

eingegangen, die anderen werden in der Datei openssl-SNAP-2000mmdd/INSTALL<br />

beschrieben. Mit der Option --prefix=xxx wird ein Pfad angegeben, unterhalb dessen die<br />

OpenSSL Programm-Dateien installiert werden. Es werden dann bei <strong>einer</strong> automatischen Installation<br />

die Verzeichnisse xxx/bin, xxx/lib <strong>und</strong> xxx/include/openssl angelegt. Mit der<br />

Option --openssldir=xxx wird festgelegt, in welchem Verzeichnis die Dateien bzw. Verzeichnisse<br />

zur Zertifikatverwaltung <strong>und</strong> die Manual-Seiten abgelegt werden. Es werden dann<br />

die Verzeichnisse xxx/certs, xxx/misc, xxx/private, xxx/man <strong>und</strong> die Konfigurationsdatei<br />

xxx/openssl.cnf angelegt.<br />

Konfiguriert wird das Paket durch folgenden Befehl:<br />

sh ./config --prefix=/usr/local --openssldir=/usr/local/etc/ssl<br />

Nun kann das Paket übersetzt werden. Durch die Übersetzung werden Bibliotheken erzeugt, die<br />

auch für die Erzeugung der Programmsammlung (siehe 7.2.2) benötigt werden. Daher sind die<br />

folgenden Befehl auch auszuführen, wenn nur die Programmsammlung erzeugt werden soll.<br />

make<br />

Mit folgendem Befehl werden umfangreiche Tests des übersetzten Pakets durchgeführt:


7.2. Installation von OpenSSL-0.9.5-dev 135<br />

make test<br />

Erfolgte der Testlauf im Sinne der Tests fehlerfrei, kommt abschließend eine Meldung ähnlich der<br />

folgenden:<br />

OpenSSL 0.9.5-dev 09 Aug 1999<br />

built on: Mon Feb 14 10:44:30 MET 2000<br />

platform: solaris-sparcv8-gcc<br />

options: bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) idea(int) blowfish(ptr)<br />

compiler: gcc -DTHREADS -D_REENTRANT -mv8 -O3 -fomit-frame-pointer -<br />

Wall -DB_ENDIAN -DBN_DIV2W<br />

‘test’ is up to date.<br />

Soll das monolithische Programm eingesetzt werden, kann jetzt mit der Installation, die im übernächsten<br />

Abschnitt (7.2.3) beschrieben wird, fortgefahren werden.<br />

Zur Erzeugung der Programmsammlung ist eine weiterer Übersetzungsschritt notwendig. Er wird<br />

im nächsten Abschnitt beschrieben.<br />

7.2.2 Übersetzung als Programmsammlung<br />

Nach Ausführung des make-Befehls im vorigen Abschnitt (7.2.1) liegt jetzt das komplette Paket<br />

übersetzt vor. Die Übersetzung diente aber nur dazu, die Bibliotheken libssl.a <strong>und</strong> libcrypto.a<br />

im Quellverzeichnis zu erzeugen. Sie sind notwendig für die weitere Übersetzung. Die<br />

einzelnen Applikationen werden am einfachsten mit folgendem Shell-Skript im Quell-Verzeichnis<br />

übersetzt. Da die einzelnen Applikationen z.T. unterschiedliche Programmteile <strong>und</strong> Bibliotheken<br />

benötigen, fällt die Übersetzung für jedes Programm etwas unterschiedlich aus. Die benötigten Bibliotheken<br />

werden statisch in die Programme gelinkt, so daß die Programme jeweils um die fünf<br />

Megabytes groß sind.<br />

Vor der Ausführung des Skriptes muß ein Verzeichnis out angelegt werden. Im Skript wird<br />

angenommen, daß out <strong>und</strong> das OpenSSL-Quell-Verzeichnis im selben Verzeichnis liegen, z.B.<br />

/usr/src. Außerdem muß in der Datei openssl-SNAP-2000mmdd/apps/app_rand.c<br />

eine kleine Änderung vorgenommen werden:<br />

Die folgende Zeile in app_rand.c<br />

112 #include "apps.h"<br />

ersetzen durch<br />

112 #define NON_MAIN<br />

113 #include "apps.h"<br />

114 #<strong>und</strong>ef NON_MAIN


136 Kapitel 7. OpenSSL-0.9.5<br />

Nach dem Wechsel in das Verzeichnis /usr/src <strong>und</strong> Anlegen des Verzeichnisses<br />

/usr/src/out kann das folgende Skript ausgeführt werden:<br />

#!/bin/sh<br />

FLAGS=’-mv8 -O3 -fomit-frame-pointer -Icrypto -Iinclude -Wall’<br />

cd openssl-SNAP-2000mmdd<br />

for i in speed verify version ; do<br />

gcc ${FLAGS} -o ../out/$i apps/$i.c libcrypto.a<br />

done<br />

for i in asn1pars crl crl2p7 dgst dh dsa enc nseq pkcs7 pkcs8 rsa ; do<br />

gcc ${FLAGS} -o ../out/$i apps/$i.c apps/apps.c libcrypto.a<br />

done<br />

mv ../out/asn1pars ../out/asn1parse<br />

mv ../out/crl2p7 ../out/crl2pkcs7<br />

gcc ${FLAGS} -o ../out/errstr apps/errstr.c apps/apps.c \<br />

libssl.a libcrypto.a<br />

for i in ciphers sess_id ; do<br />

gcc ${FLAGS} -o ../out/$i apps/$i.c apps/apps.c \<br />

libssl.a libcrypto.a -lsocket<br />

done<br />

for i in ca dhparam dsaparam gendh gendsa genrsa passwd pkcs12 \<br />

req smime x509 ; do<br />

gcc ${FLAGS} -o ../out/$i apps/$i.c apps/apps.c apps/app_rand.c \<br />

libssl.a libcrypto.a<br />

done<br />

gcc ${FLAGS} -o ../out/s_time apps/s_time.c apps/app_rand.c apps/s_cb.c<br />

\<br />

libssl.a libcrypto.a -lsocket -lnsl<br />

for i in s_client s_server ; do<br />

gcc ${FLAGS} -o ../out/$i apps/$i.c \<br />

apps/app_rand.c apps/s_cb.c apps/s_socket.c \<br />

libssl.a libcrypto.a -lsocket -lnsl<br />

done<br />

cd ..<br />

Für die spkac-Applikationen war die Übersetzung nicht erfolgreich.


7.2. Installation von OpenSSL-0.9.5-dev 137<br />

Die Installation erfolgt durch Kopieren der Dateien. Dazu kann wie in der zweiten Hälfte des nächsten<br />

Abschnitts (7.2.3) beschrieben vorgegangen werden. Dabei muß allerdings der dritte Punkt<br />

ersetzt werden. Statt<br />

cp apps/openssl tools/c_rehash $(SSLDIR)/bin/<br />

muß folgendes Kommando gegeben werden:<br />

cp ../out/* tools/c_rehash $(SSLDIR)/bin/<br />

7.2.3 Installation<br />

Nachdem das Paket übersetzt wurde, kann es jetzt installiert werden. Zunächst wird eine automatischen<br />

Installation beschrieben, <strong>und</strong> dann eine alternative Installation durch Kopieren. Die Programmsammlung<br />

kann nicht automatisch installiert werden. Sie muß durch Kopieren Installiert<br />

werden.<br />

Die automatische Installation erfolgt durch das Kommando<br />

make install<br />

Achtung:<br />

In $(SSLDIR) muß noch das Verzeichnis newcerts angelegt werden. Der install-Befehl<br />

erzeugt es nicht. Das Verzeichnis wird aber von der Default-Konfigurationsdatei openssl.cnf<br />

(s.u.) verlangt, um dort die erzeugten Zertifikate abzulegen.<br />

Jetzt muß noch eine Datei angelegt werden, die die aktuelle Seriennummer des herauszugebenden<br />

Zertifikats in hexadezimaler Form enthält:<br />

echo "01"<br />

$(SSLETC)/serial<br />

Dann muß noch eine Indexdatei für die erzeugten Zertifikate angelegt werden:<br />

touch $(SSLETC)/index.txt<br />

Die beiden Dateien serial <strong>und</strong> index.txt werden nach jeder erfolgreichen Zertifizierung eines<br />

Requests durch das Programm ca geändert, d.h. die Seriennummer in serial wird um den Wert<br />

eins erhöht, <strong>und</strong> in index.txt wird das herausgegebene Zertifikat registriert (siehe index.txt<br />

(11.1)).<br />

Es ist wichtig, daß die OpenSSL-Konfigurationsdatei $(SSL_DIR)/lib/openssl.cnf vor<br />

dem Benutzen der OpenSSL-Applikationen durchgesehen <strong>und</strong> den Erfordernissen angepaßt wird.<br />

(Siehe Beispiel im Anhang opsenssl.cnf (E).)


138 Kapitel 7. OpenSSL-0.9.5<br />

Wer etwas mehr Kontrolle über die Installation haben will, kann sich an folgendes Verfahren halten<br />

(Installation durch Kopieren).<br />

Die ausführbaren Dateien, die Header-Dateien, die Bibliotheken <strong>und</strong> die Manual-Seiten können in<br />

eine vorhandene Verzeichnisstruktur kopiert werden. Das können die entsprechenden Verzeichnisse<br />

in /usr/local sein (bin, include, lib <strong>und</strong> man). Für die Installation der Konfigurationsdatei<br />

<strong>und</strong> der Verzeichnisse zur Zertifikatverwaltung muß zunächst ein Verzeichnis erzeugt werden, z.B.<br />

/usr/local/etc/ssl. Der Pfad dieses Verzeichnisses sollte günstigerweise mit dem vor der<br />

Kompilierung angegebenen (--openssldir) übereinstimmen. Andernfalls funktionieren einige<br />

Applikationen nicht ganz vollständig, da der Pfad in die Bibliothek libcrypto.a einkompiliert<br />

wird. In diesem Verzeichnis werden dann die Verzeichnisse crl, certs, newcerts, misc <strong>und</strong><br />

private erzeugt. Anschließend werden die Dateien kopiert:<br />

$(SSLDIR) = Installationspfad für Programmdateien<br />

$(SSLETC) = Installationspfad für Dateien zur Zertifikatverwaltung<br />

cp libcrypto.a libssl.a $(SSLDIR)/lib/<br />

chmod 644 $(SSLDIR)/lib/*<br />

cp apps/openssl tools/c_rehash $(SSLDIR)/bin/<br />

chmod 755 $(SSLDIR)/bin/*<br />

cp -r include/openssl $(SSLDIR)/include/<br />

rsaref.h wird nicht benötigt <strong>und</strong> kann gelöscht werden:<br />

rm $(SSLDIR)/include/openssl/rsaref.h<br />

chmod 644 $(SSLDIR)/include/*<br />

cp tools/c_i* tools/c_hash tools/c_name apps/CA.pl apps/CA.sh<br />

apps/der_chop $(SSLETC)/misc/<br />

chmod 755 $(SSLETC)/misc/*<br />

cp apps/openssl.cnf $(SSLETC)<br />

chmod 644 $(SSLETC)/openssl.cnf<br />

Die Installation der Manual-Seiten ist etwas aufwendiger, da sie im pod-Format vorliegen. Sie müssen<br />

durch das Perl-Skript pod2man in Manual-Seiten gewandelt werden. Das kann durch Aufruf<br />

des entsprechenden Abschnitts im Makefile geschehen:<br />

make install_docs<br />

Alternativ kann auch das folgende Shell-Skript aufgerufen werden, welches eine Adaption des<br />

install_docs-Abschnitts ist. Die einzelnen Manual-Sektionen werden durch das Skript in<br />

/tmp installiert <strong>und</strong> können dann von root in das gewünschte Verzeichnis kopiert werden.


7.2. Installation von OpenSSL-0.9.5-dev 139<br />

#!/bin/sh<br />

VERSION=0.9.5-dev<br />

TOP=/usr/src/openssl-SNAP-2000mmdd<br />

mkdir /tmp/man1 /tmp/man3 tmp/man5 /tmp/man7<br />

for i in ${TOP}/doc/apps/*.pod; do<br />

cd ‘dirname $i‘<br />

fn=‘basename $i .pod‘<br />

sec=‘[ "$fn" = "config" ] && echo 5 || echo 1‘<br />

perl ${TOP}/util/pod2man.pl --section=$sec --center=OpenSSL \<br />

--release=${VERSION} ‘basename $i‘ \<br />

> /tmp/man$sec/‘basename $i .pod‘.$sec<br />

done<br />

for i in ${TOP}/doc/crypto/*.pod ${TOP}/doc/ssl/*.pod; do<br />

cd ‘dirname $i‘<br />

fn=‘basename $i .pod‘<br />

sec=‘[ "$fn" = "des_modes" ] && echo 7 || echo 3‘<br />

perl ${TOP}/util/pod2man.pl --section=$sec --center=OpenSSL \<br />

--release=${VERSION} ‘basename $i‘ \<br />

> /tmp/man$sec/‘basename $i .pod‘.$sec<br />

done<br />

Nun können die Seiten von root kopiert werden:<br />

#!/bin/sh<br />

for i in 1 3 5 7 ; do cp /tmp/man${i}/* /usr/local/man${i}/ ; end<br />

Jetzt muß noch eine Datei angelegt werden, die die aktuelle Seriennummer des herauszugebenden<br />

Zertifikats in hexadezimaler Form enthält:<br />

echo "01"<br />

$(SSLETC)/serial<br />

Dann muß noch eine Indexdatei für die erzeugten Zertifikate angelegt werden:<br />

touch $(SSLETC)/index.txt


140 Kapitel 7. OpenSSL-0.9.5


Kapitel 8<br />

Unterstützte Zertifikaterweiterungen<br />

Zertifikaterweiterungen (Extensions) sind von großer Bedeutung für den Umgang mit Zertifikaten.<br />

Die Extensions steuern den Verwendungszweck von Zertifikaten, sofern die Anwendungssoftware<br />

diese Extensions korrekt interpretiert. Leider ist es so, daß Anwendungssoftware <strong>und</strong> Zertifikat-<br />

Herausgeber die Verwendung <strong>und</strong> Bedeutung identischer Extensions teilweise recht unterschiedlich<br />

interpretieren. Genaueres zu dieser Problematik findet sich im lesenswerten X.509 Style Guide 1 von<br />

PETER GUTMANN.<br />

Üblicherweise werden Extensions durch eine (P)CA beim Signieren eines Request in das dann erstellte<br />

Zertifikat gebracht. Die Bedeutung der „Certificate Standard Extensions“ wird im RFC 2459<br />

[FHPS99] beschrieben. Für den <strong>Betrieb</strong> <strong>einer</strong> CA ist es unumgänglich, sich mit diesen Extensions<br />

auseinanderzusetzen.<br />

OpenSSL in der Version 0.9.5-dev unterstützt die folgenden X.509v3-Extensions:<br />

Standard Certificate Extensions<br />

– Basic Constraints (siehe Abschnitt 8.2)<br />

– Key Usage (siehe Abschnitt 8.3)<br />

– Extended Key Usage (siehe Abschnitt 8.4)<br />

– Subject Key Identifier (siehe Abschnitt 8.5)<br />

– Authority Key Identifier (siehe Abschnitt 8.6)<br />

– Subject Alternative Name (siehe Abschnitt 8.7)<br />

– Issuer Alternative Name (siehe Abschnitt 8.8)<br />

– Certificate Policies (siehe Abschnitt 8.9)<br />

– CRL Distribution Points (siehe Abschnitt 8.10)<br />

Netscape Certificate Extensions 2 (proprietär) (siehe Abschnitt 8.11)<br />

1 http://www.cs.auckland.ac.nz/~pgut001/pubs/x509guide.txt<br />

2 http://home.netscape.com/eng/security/certs.html<br />

141


142 Kapitel 8. Unterstützte Zertifikaterweiterungen<br />

Es ist auch möglich, eigene Erweiterungen zu registrieren (was Netscape mit den „Netscape Certificate<br />

Extensions“ gemacht hat). Solange diese Erweiterungen nicht als „Critical“ markiert sind,<br />

sollte jede Anwendung, die diese Erweiterungen nicht kennt, diese ignorieren (das Zertifikat also<br />

akzeptieren).<br />

Extensions, die von OpenSSL (noch) nicht direkt unterstützt werden, können in ihrer hexadezimalen<br />

Kodierung angegeben werden. Dazu müssen der object identifier (OID) <strong>und</strong> die ASN.1-Syntax der<br />

Extension bekannt sein. Die ASN.1-Syntax wird dann in ihrer DER-Form (distinguished encoding<br />

rules, beschrieben in ITU-T-Empfehlung X.208) als hexadezimale Kodierung direkt angegeben.<br />

Auf diese Möglichkeit wird hier nicht weiter eingegangen. Genaueres dazu findet sich in der Datei<br />

openssl.txt im Verzeichnis doc der OpenSSL-Quellen.<br />

8.1 Critical Bit<br />

Das Critical Bit ist ein Flag, das für die meisten Extensions im Zertifikat gesetzt werden kann. Es<br />

wird beim Signieren durch eine CA zusammen mit der Extension gesetzt. Bei korrekter Implementierung<br />

<strong>einer</strong> Anwendung (z.B. eines Browsers) muß diese eine als Critical markierte Extension<br />

interpretieren können. Ist die Anwendung dazu nicht in der Lage (die Anwendung „kennt“ die Extension<br />

nicht), hat sie das Zertifikat, das diese Extension enthält, zurückzuweisen. Auch dann, wenn<br />

das Zertifikat technisch korrekt ist. Das Critical Bit soll also eine Möglichkeit bieten, eine bestimmte<br />

Verwendung eines Zertifikats zu erzwingen.<br />

Da Zertifikate, die dieses Bit gesetzt haben, zurückgewiesen werden können, sollte der Einsatz des<br />

Critical Bit gut überlegt werden. Es gibt beispielsweise verschiedene Ansichten über die Verwendung<br />

der einzelnen Key Usage Attribute (s.u. (8.3)), so daß eine Critical-Markierung hier nicht ohne<br />

„Risiko“ ist.<br />

8.2 Basic Constraints<br />

Mittels Basic Constraints kann eine Anwendung erkennen, ob es sich bei einem Zertifikat um ein<br />

CA-Zertifikat handelt oder nicht. Diese Extension sollte in jedem CA-Zertifikat verwendet <strong>und</strong><br />

als Critical markiert werden, auch wenn möglicherweise einige Anwendungen wegen der Critical-<br />

Markierung das Zertifikat zurückweisen.<br />

Basic Constraints besteht aus einem Feld cA, welches ein BOOLEAN ist, sowie einem optionalen<br />

INTEGER-Feld, pathLenConstraint. Für CA-Zertifikate muß das cA-Feld auf TRUE<br />

gesetzt werden, für andere auf FALSE. Laut RFC 2459 sollte Basic Constraints in Nicht-CA-<br />

Zertifikaten nicht verwendet werden, also auch nicht, wenn die Extension FALSE markiert ist.<br />

pathLenConstraint ist nur sinnvoll in CA-Zertifikaten <strong>und</strong> gibt an, wieviele CA-Ebenen unterhalb<br />

des CA-Zertifikats maximal zulässig sind. Ein Wert 0 bedeutet hierbei, diese CA gibt nur<br />

Anwendungs- bzw. Benutzerzertifikate heraus. Basic Constraints sollte immer als Critical markiert<br />

werden.


8.3. Key Usage 143<br />

Laut STEPHEN N. HENSON 3 ist die Basic Constraints Extension unbedingt erforderlich in CA-<br />

Zertifikaten, die S/MIME Benutzer zertifizieren. Andernfalls wird die S/MIME-Mail beim Empfänger<br />

aufgr<strong>und</strong> eines ungültigen CA-Zertifikats zurückgewiesen.<br />

Sowohl der Netscape- als auch der Microsoft-Browser interpretieren die Extension. (HENSON hat<br />

allerdings die Beobachtung gemacht 4 , daß „Microsoft Outlook Express 98“ gr<strong>und</strong>sätzlich Schwierigkeiten<br />

mit Critical markierten Extension hat: “Unfortunately Microsoft Outlook 98 chokes on<br />

critical extensions...”.) Outlook Express 5 scheint diese Probleme nicht mehr zu haben.<br />

(Für genauere Angaben siehe RFC 2459 [FHPS99] sowie die Beispiel-Konfigurationsdatei im Anhang<br />

E.)<br />

In der Konfigurationsdatei:<br />

basicConstraints = [critical,] CA: TRUE FALSE [, pathlen:n]<br />

8.3 Key Usage<br />

Key Usage steuert den Verwendungzweck des zu einem Zertifikat gehörendenen Schlüssels: z.B.<br />

darf ein Schlüssel nur zum Signieren von CRL’s, nur zur Daten-Verschlüsselung oder nur zum<br />

Unterschreiben verwendet werden. Laut Netscape Dokumentation vom 13.08.97 5 wird Key Usage<br />

vom Netscape Browser (NSC) zur Beschränkung der Verwendung von Zertifikaten ausgewertet.<br />

Allerdings nur, wenn Key Usage als Critical (s.u. (8.1)) markiert ist. Liegen andererseits mehrere<br />

Zertifikate vor (z.B. eines zum Signieren, eines zum Verschlüsseln), bestimmt Key Usage (Critical<br />

oder nicht), welches Zertifikat vom Browser verwendet wird.<br />

Laut Microsoft-Dokumentation 6 wertet der MS Internet Explorer (MSIE) Key Usage aus, egal ob<br />

Critical oder nicht. Das deckt sich aber nicht ganz mit den gemachten Erfahrungen (siehe 12.4).<br />

Üblicherweise wird Key Usage eingesetzt, um die Verwendung des Public Keys (<strong>und</strong> somit auch<br />

des Private Keys), an den diese Extension durch die Zertifizierung geb<strong>und</strong>en wird, zu beschränken.<br />

Das funktioniert natürlich nur, wenn die Applikation, mit der das Zertifikat verwendet wird, diese<br />

Extension auch interpretiert. Der Netscape Browser (Version 4.06) beispielsweise verweigert den<br />

Kontakt zu einem SSL-Server, wenn im Server-Zertifikat das Flag für Digital Signature gesetzt <strong>und</strong><br />

dieses Critical markiert ist. Laut Netscape-Dokumentation sollte dieses Flag in einem SSL-Client-<br />

Zertifikat gesetzt sein. Für einen SSL-Server hätte dagegen Key Encipherment gesetzt sein müssen.<br />

Der Browser läßt daher keine SSL-Verbindung zu <strong>und</strong> bricht den Verbindungswunsch mit der Meldung<br />

“The certificate is not approved for the attempted operation” ab. Dasselbe Zertifikat wurde<br />

aber vom Microsoft-Browser (Ver. 4.01) problemlos akzeptiert. In der Microsoft-Dokumentation<br />

steht im Abschnitt zum Thema Key Usage: “The only Microsoft Application that currently enforces<br />

KeyUsage is Microsoft Outlook.”<br />

3<br />

http://www.drh-consultancy.demon.co.uk/caornot.html<br />

4<br />

http://www.drh-consultancy.demon.co.uk/ca-fix.html<br />

5<br />

Netscape Certificate Extensions – Communicator 4.0 Version, http://home.netscape.com/eng/<br />

security/comm4-cert-exts.html<br />

6<br />

Structuring X.509 Certificates for Use with Microsoft Products, http://www.microsoft.com/security/<br />

ca/structuring.htm


144 Kapitel 8. Unterstützte Zertifikaterweiterungen<br />

Die nachstehende Beschreibung erfolgt in Anlehnung an die oben erwähnte Netscape-<br />

Dokumentation <strong>und</strong> RFC 2459. Es stehen neun Werte für das Schlüsselwort keyUsage in der<br />

Konfigurationsdatei openssl.cnf zur Verfügung:<br />

� £����������������<br />

��¡��¤¡�������� � ��� ¢¡¤£¦¥¨§�©<br />

� ¡�£¦��¡���� � ������¡���� ����� ������¡¤���<br />

�������������������������<br />

����� ���¤����¡¤�<br />

����¥����¤�������¦���¤���¤������¡��¦¡�¥��¤¥�������£¦§���¡¤£��<br />

��� ¡¤����¡�������� � © � �¦�¦¡ � � � ��¥�� � �¦����¡���� � £�����¥¦�<br />

��¡��¤������¡¤£���� � � ����������������������� ������¡�£����<br />

� © � �¦�¦¡ ��� ��������������¥�¡¤����¡¤£¦��¡�����¡¤¥¨��¡�£���¡����<br />

�¦���<br />

����¡¤£���§�� ��� � � ����¡¤������¡¤£¦¥��<br />

�<br />

����� ���¤����¡¤�<br />

����¥����¤�������¦���¤���¤������¡��¦¡�¥��¤¥�������£¦§���¡¤£��<br />

��� ¡¤����¡�������� � © � �¦�¦¡ � � � ��¥�� � �¦����¡���� � £ � ¡¤£¦�<br />

������������¡¤£���� � � ����������������������� ������¡�£����<br />

� © � �¦�¦¡ ��� ��������������¥�¡¤����¡¤£¦��¡�����¡¤¥¨��¡�£���¡����<br />

�¦���<br />

����¡¤£���§�� ��� � � ����¡¤������¡¤£¦¥��<br />

�<br />

����� ������¡¤������������¡¤£¦��¡¤����¡�¥¨��¡¤£���¡���� ���<br />

����� ������������� ������������� �<br />

��� � ��¡�£���������¡¤£�¡���� �����<br />

����� ������¡¤������������¡¤£¦��¡¤����¡�¥¨��¡¤£���¡���� ���<br />

��¡¤� � ¡¤£¦¥�������� ��������������������� � �<br />

� ��¡¤£���������¡¤£�¡����<br />

¡�£¦¥���������¥�¡��<br />

� ��£�¡�¡ � ¡���¥ ����������������������� �<br />

� £ � ¡�£¦��¡���� � ��� � ¡�� � ����� � © � �¦�¦¡ � � � ��¥�� � �¦�����<br />

��¡¤�<br />

� £ � ¡�£��¦��� � © � �¦�¦¡ ��� ����������������£ � � � ¡����<br />

����¥���������������¡¤£ � ¡���¥ ������������������������������� ����¥�¡¤����� � �¦����¡�����¡¤������� � © � �¦�¦¡ � ���<br />

�<br />

����� ������¡¤������£���� ��� ����� � © � �¦�¦¡ ��� ��������¡ � ¡���¥<br />

��¡¤��������������¡¤£ � ¡���¥ ����������������������������� �<br />

��¡¤£¦��¡�����¡¤¥��<br />

� £���£�© � § � ����������� � ¡¤� ��� ¥�¡���������������¥ � £�¡��<br />

��¡¤���<br />

� ¡�� � ������¥������ ��������������������������� � � ��� ¡¤£ ����� � � ��� � ¡�� � ¡�£¦¥���������¥�¡������<br />

�����<br />

� £���£ © � § � ������������� � ¥�� � ��¥����¦��¡¤£¦¥�¡���������������¥ � £�¡��<br />

��¡¤���<br />

��������¥�� � ����������¥ � £�¡ ������������������������������� � � ��� ¡¤£ � ¡�� ����� � � ��� � ¡�� � ¡¤£¦¥���������¥�¡������<br />

(Für genauere Angaben siehe RFC 2459 [FHPS99] sowie die Beispiel-Konfigurationsdatei im Anhang<br />

E.)<br />

In der der Konfigurationsdatei:<br />

keyUsage = [critical,] ein oder mehrere der obigen Bezeichner (mittlere Spalte)<br />

8.4 Extended Key Usage<br />

Extended Key Usage kann ergänzend oder anstelle von Key Usage verwendet werden. Die Extension<br />

beschränkt analog Key Usage die Verwendung des zertifizierten Public-Keys. Beispielsweise<br />

könnte die Verwendung von CA-Zertifikaten, welche die entsprechende Basic Constraints <strong>und</strong> Key<br />

Usage Extension enthalten, f<strong>einer</strong> unterschieden werden. Extended Key Usage könnte dazu auf<br />

serverAuth gesetzt sein, so daß der CA-Schlüssel lediglich zum Überprüfen von SSL-Serveraber<br />

nicht von SSL-Client-Zertifikaten dient.<br />

Auch Extended Key Usage kann critical gesetzt sein <strong>und</strong> es gilt das im Abschnitt Critical Bit<br />

(8.1) gesagte.<br />

Jede Organisation kann eigene Werte für die Extension Extended Key Usage registrieren lassen.<br />

Unter anderem Netscape <strong>und</strong> Microsoft haben das getan.<br />

OpenSSL kennt die in der Tabelle aufgeführten symbolischen Werte für das Schlüsselwort extendedKeyUsage.<br />

Es können aber auch andere Werte für die Extension durch Angabe der entsprechenden<br />

OID gesetzt werden.


8.4. Extended Key Usage 145<br />

� £����������������������<br />

��¡��¤¡�������� ¢¡¤£¦¥¨§�©<br />

��� �������������������¦����� � ¡¤£¦��¡���� � ������¡¤��� ����� ������¡¤���<br />

�<br />

�����¨��������������¥�¡����¦�������<br />

¢¡ � ��¡¤£���¡¤£ � � ¥���¡���¥����¦��¡�£ � ���������� ¢¡ � ����¡¤£���¡�£��<br />

�¨����<br />

� ¥���¡���¥�������¥������ ������������������� � � £����� �¡ � ��� � ��¡���¥��<br />

�<br />

¢¡ � � � ��¡¤��¥ � � ¥���¡���¥����¦��¡�£ � ���������� ¢¡ � ��� � ��¡���¥��<br />

�¨����<br />

� ¥���¡���¥�������¥������ ������������������� � � £����� �¡ � ����¡¤£���¡¤£<br />

�<br />

��������������������� ��¡¤��� � £�����������¡¤£ � ������������£�����£���������������¡<br />

������¡��������������<br />

� ��£���¥�¡¤�¤¥������ ����������������������������� ��¡¤��� � £ � ¡¤£¦��¡���� � ��������¥�������������������§�¥��¨��£�¡<br />

�������<br />

� ����������� ��� ¡���¥¦�������¦����¡�£¦¥�¡�� � ���<br />

������¡���¥������������ ���¤������������������� ����������¡�£<br />

� ��¡�� © ��£�����¡�����¡¤£¦¥¦£�� � ¡������ © � £�������¡�����¡���¥���¥�¡�����¡ � �<br />

�<br />

� � � ������¡�������������� �����������������<br />

�������������<br />

� ������¡�������������� �����������������<br />

��������¡�£������<br />

�����¤£����¦��§�¥¦������¥�¡����¦�������<br />

� ��¥�������¥�������������� �����������������<br />

��£<br />

��������� ��¡¤£���¡�£¦����¡¤£¦¥���������¥�����¥���� � � � � � ��¡¤£���¡¤£������<br />

��¡�£���¡¤£�����¥�¡�����£¦����¥��<br />

¡¤£��¦��� � © � �¦�¦¡ ��� ������������������¡�¥¦£����¦����¡¤����¡¤���¨� � £<br />

�����¤£¦����¥�¡������ � ¡�������¥�¡�� ��������� ����¥�¡����¦������¥�¡���� � ¡¤£��¦��� � © � �¦�¦¡ ��� ��� �<br />

��¡¤¥��¦������¡¤������¥�¡����¦�������<br />

��������� ��¡¤£���¡�£¦����¡¤£¦¥���������¥�����¥ � � � � � � � ��¡¤£���¡¤£������<br />

��¡�£���¡¤£�����¥�¡�����£¦����¥��<br />

In der Microsoft-Dokumentation (s.o.) steht, daß für den Einsatz von Zertifikaten im Zusammenhang<br />

mit Microsofts „Authenticode“ nur der Wert codeSigning für Extended Key Usage angegeben<br />

sein darf. Ebenfalls in dieser Dokumentation steht, daß die Gültigkeit von Extended Key<br />

Usage im Anwendungszertifikat nur gegeben ist, wenn sämtliche Zertifikate der Zertifikatkette diese<br />

Extension enthalten. Ist die Extension dagegen garnicht enthalten, sollen MS-Anwendungen das<br />

Zertifikat für jeden durch Key Usage beschriebenen Zweck als gültig interpretieren.<br />

Auch Netscape scheint das Setzen der Extension in allen Zertifikaten der Kette zu unterstützen. Es<br />

scheint aber doch fraglich, wieviel Sinn es beispielsweise macht, in einen CA-Zertifikat Extended<br />

Key Usage auf email zu setzen, damit die Extension in einem Anwendungszertifikat gültig ist. Die<br />

Empfehlungen von Netscape für diese Extension können im Installation and Deployment Guide 7 ,<br />

Appendix B, nachgelesen werden.<br />

Zu Netscapes bzw. Microsofts SGC (“Server Gated Cryptography”) ist anzumerken, daß die Verwendung<br />

dieser Werte nur im Zusammenhang mit speziellen CA-Zertifikaten sinnvoll ist. Diese<br />

CA-Zertifikate werden durch ein Flag im Browser als für SGC geeignet gekennzeichnet. Ein eigenes<br />

CA-Zertifikat kann nur nach Import in den Browser <strong>und</strong> anschließendem Patchen der Zertifikat-<br />

Datenbank (Netscape) mit diesem Flag ausgestattet werden. Genaueres steht in der Datei READ-<br />

ME.GlobalID des SSL-Apache-Pakets 8 .<br />

Eine Empfehlung für die Werte dieser Extension ist nur schwer zu geben, gerade wegen der MS-<br />

Forderung, daß die Extension in allen Zertifikaten der Kette enthalten sein muß. Am sinnvollsten<br />

scheint es zu sein, ganz auf diese Extension zu verzichten.<br />

7 http://developer.netscape.com/docs/manuals/cms/41/dep_gide/ext.htm<br />

8 http://www.modssl.org/


146 Kapitel 8. Unterstützte Zertifikaterweiterungen<br />

(Für genauere Angaben siehe RFC 2459 [FHPS99] sowie die Beispiel-Konfigurationsdatei im Anhang<br />

E.)<br />

In der Konfigurationsdatei:<br />

keyUsage = [critical,] ein oder mehrere der obigen Bezeichner (mittlere Spalte)[,<br />

OID]<br />

8.5 Subject Key Identifier<br />

Die Extension Subject Key Identifier enthält den Hash-Wert des Public Keys eines Zertifikates.<br />

Dadurch kann ein zu einem Public Key gehörendes Zertifikat effizient gesucht werden. So wird<br />

die Überprüfung von Zertifikatketten <strong>und</strong> bei mehreren Anwendungszertifikaten die Auswahl des<br />

richtigen Zertifikats unterstützt. Diese Extension sollte sowohl in CA-Zertifikaten als auch in Anwendungszertifikaten<br />

enthalten sein.<br />

(Für genauere Angaben siehe RFC 2459 [FHPS99] sowie die Beispiel-Konfigurationsdatei im Anhang<br />

E.)<br />

In der Konfigurationsdatei:<br />

subjectKeyIdentifier = hash<br />

8.6 Authority Key Identifier<br />

Die Extension Authority Key Identifier besteht aus drei Feldern: keyIdentifier, authorityCertIssuer<br />

<strong>und</strong> authorityCertSerialNumber. Laut RFC 2459 kann ein Schlüssel<br />

mittels dieser Extension auf zwei Arten identifiziert werden: entweder durch alleiniges Setzen des<br />

keyIdentifier-Feldes, oder durch Setzen der anderen beiden Felder. Diese Extension unterstützt<br />

die Überprüfung von Zertifikatketten.<br />

Microsoft empfiehlt die zweite Variante, damit eine Zertifikatkette überprüft werden kann. RFC<br />

2459 empfiehlt die erste Variante.<br />

(Für genauere Angaben siehe RFC 2459 [FHPS99] sowie die Beispiel-Konfigurationsdatei im Anhang<br />

E.)<br />

In der Konfigurationsdatei:<br />

authorityKeyIdentifier = [keyid[:always]][, issuer[:always]]<br />

Ist keyid gesetzt, wird Subject Key Identifier (siehe oben (8.5)) des Herausgeber-Zertifikats kopiert.<br />

Kann der Wert dieser Extension nicht kopiert werden (weil Subject Key Identifier nicht gesetzt<br />

war) <strong>und</strong> ist keyid auf always gesetzt, wird mit <strong>einer</strong> Fehlermeldung abgebrochen. Ist keyid<br />

nicht always gesetzt, werden alternativ das Issuer-Feld <strong>und</strong> die Seriennummer kopiert. Ist issuer<br />

auf always gesetzt, werden immer das Issuer-Feld <strong>und</strong> die Seriennummer kopiert.


8.7. Subject Alternative Name 147<br />

8.7 Subject Alternative Name<br />

Die Extension Subject Alternative Name kann verwendet werden, um weitere Bezeichner für ein<br />

Subject in das Zertifikat zu bringen. Es sind E-Mail-Adressen, DNS-Namen, IP-Adressen, URIs <strong>und</strong><br />

registrierte IDs (RIDs), auch mehrfach, möglich. Diese können auch beliebig kombiniert werden.<br />

(Für genauere Angaben siehe RFC 2459 [FHPS99] sowie die Beispiel-Konfigurationsdatei im Anhang<br />

E.)<br />

In der Konfigurationsdatei:<br />

subjectAltName= [email: copy name@mail.de ] [,<br />

URL:http://my.url.here/] [, RID:1.2.3.4][, IP:1.2.3.4]<br />

8.8 Issuer Alternative Name<br />

Die Extension Issuer Alternative Name ist wie Subject Alternative Name (8.7) aufgebaut.<br />

Hier wird allerdings nicht email:copy sondern issuer:copy unterstützt. Dabei werden die<br />

Angaben vom Subject Alternative Name des Herausgeber-Zertifikats kopiert.<br />

(Für genauere Angaben siehe RFC 2459 [FHPS99] sowie die Beispiel-Konfigurationsdatei im Anhang<br />

E.)<br />

In der Konfigurationsdatei:<br />

subjectAltName= [issuer:copy][, URL:http://my.url.here/][,<br />

RID:1.2.3.4][, IP:1.2.3.4]<br />

8.9 Certificate Policies<br />

Die Extension Certificate Policies verweist auf die Policy, unter der ein Zertifikat herausgegeben<br />

wurde. Laut RFC 2459 sollte die Extension lediglich aus <strong>einer</strong> OID bestehen. Eine Anwendung,<br />

die Zertifikate prüft, sollte eine Liste mit den OIDs akzeptierter Policies enthalten <strong>und</strong> diese gegen<br />

die Policy-OID eines Zertifikats vergleichen. Dann wird das Zertifikat entsprechend akzeptiert oder<br />

zurückgewiesen.<br />

Wenn die OID nicht ausreichend ist (weil z.B. die eingesetzten Applikation keine OID-Listen unterstützen),<br />

beschreibt RFC 2459 die Möglichkeit einen URI anzugeben, der auf die Policy der CA<br />

verweist (Certification Practice Statement, CPS). Für Anwendungszertifikate <strong>und</strong> CA-Zertifikate,<br />

die an andere Organisationen (also nicht die der Herausgeber-CA) herausgegeben werden, kann<br />

zusätzlich eine User Notice festgelegt werden.<br />

Die User Notice besteht aus zwei optionalen Feldern: noticeRef <strong>und</strong> explicitText. Das erste<br />

Feld noticeRef besteht aus dem Organisations-Namen <strong>und</strong> <strong>einer</strong> Nummer. Der Nummer ist


148 Kapitel 8. Unterstützte Zertifikaterweiterungen<br />

ein Text zugeordnet <strong>und</strong> soll wieder durch eine Anwendung mit <strong>einer</strong> entsprechen Liste interpretiert<br />

werden. Findet eine Anwendung diese Nummer in ihrer Liste, soll sie den zugehörigen Text<br />

anzeigen. Das zweite Feld enthält einen, maximal 200 Zeichen umfassenden, frei gestaltbaren Text<br />

<strong>und</strong> steht direkt im Zertifikat. Eine Anwendung soll diesen dann bei Verwendung des Zertifikats<br />

anzeigen.<br />

Microsoft-Anwendungen scheinen mit der Extension Schwierigkeiten zu haben, wie PETER GUT-<br />

MANN in seinem X.509 Style Guide beschreibt:<br />

“Although various MS programs give the impression of handling certificate policies, they only<br />

have a single hardcoded policy which is the Verisign CPS. To see an example of this, create a<br />

certificate with a policy of (for example) ‘This policy isn’t worth the paper it’s not written on’<br />

and view the cert using Outlook Express. What’s displayed will be the Verisign CPS.”<br />

Outlook Express 5 <strong>und</strong> der Internet Explorer 5 scheinen diese Probleme nicht mehr zu haben. Eine<br />

User Notice wird für Benutzerzertifikate korrekt angezeigt. Die URL für das CPS wird ebenfalls<br />

ausgewertet <strong>und</strong> die entsprechende Seite angezeigt.<br />

(Einzelheiten siehe RFC 2459 [FHPS99] sowie die Beispiel-Konfigurationsdatei im Anhang E.)<br />

In der Konfigurationsdatei:<br />

certificatePolicies=[ia5org,]OID[, OID, ...][,@polsect]<br />

Laut OpenSSL-Dokumentation von STEPHEN N. HENSON (im Quell-Verzeichnis des OpenSSL-<br />

Pakets unter doc/openssl.txt) ist die ia5org-Option für die Verwendung mit dem Internet<br />

Explorer erforderlich, obwohl sie nicht RFC-konform ist.<br />

Die Option @polsect verweist auf einen Abschnitt in der Konfigurationsdatei, der die Werte für<br />

das CPS <strong>und</strong> indirekt für das User Notice Feld enthält:<br />

[ polsect ]<br />

policyIdentifier=OID<br />

CPS="http://www.ca.de/policy.html"<br />

userNotice=@notice<br />

[ notice ]<br />

explicitText="Nur zur Verschluesselung von E-Mail (S/MIME)"<br />

organisation="CA Org."<br />

noticeNumbers=4, 2<br />

8.10 CRL Distribution Points<br />

Die Extension CRL Distribution Points legt fest, wo eine Widerrufliste (CRL) der Herausgeber-CA<br />

abgerufen werden kann. Gr<strong>und</strong>sätzlich sind laut RFC 2459 alle Optionen, die bei Subject Alternative


8.11. Netscape Certificate Extensions 149<br />

Name (siehe 8.7) verwendet werden können, auch hier einsetzbar. OpenSSL unterstützt allerdings<br />

bisher nur die Verwendung eines URIs. Dieser muß aus der absoluten Adresse der CRL bestehen.<br />

(Siehe RFC 2459 [FHPS99] oder die Beispiel-Konfigurationsdatei im Anhang E.)<br />

In der Konfigurationsdatei:<br />

crlDistributionPoints=URI:http://www.ca.de/ca1.crl [,<br />

URI:http://www.ca.de/ca2.crl ... ]<br />

8.11 Netscape Certificate Extensions<br />

Zu den Netscape Certificate Extensions 9 ist anzumerken, daß diese nicht Critical gesetzt werden<br />

sollten. Ein SSL-Server-Zertifikat, in dem beispielsweise das Netscape-SSL-Server-Bit (nsCert-<br />

Type=critical,server) Critical gesetzt ist, wird von einem Microsoft-Browser (der diese<br />

Extension nicht kennt) zurückgewiesen werden. Ein solches Server-Zertifikat würde also eine SSL-<br />

Verbindung von Microsoft-Clients zum Server ausschließen.<br />

Folgende Netscape-Erweiterungen werden von OpenSSL-0.9.5-dev unterstützt (die Schlüsselwörter<br />

für die OpenSSL-Konfigurationsdatei stehen in Klammern):<br />

netscape-cert-type (nsCertType)<br />

netscape-base-url (nsBaseUrl)<br />

netscape-revocation-url (nsRevocationUrl)<br />

netscape-ca-revocation-url (nsCaRevocationUrl)<br />

netscape-cert-renewal-url (nsRenewalUrl)<br />

netscape-ca-policy-url (nsCaPolicyUrl)<br />

netscape-ssl-server-name (nsSslServerName)<br />

netscape-comment (nsComment)<br />

Wichtig ist die Erweiterung Netscape Cert Type, um für die mit OpenSSL erzeugten Zertifikate<br />

den Verwendungszweck (zumindest für Netscape-Browser) zu beeinflussen. Der Internet-Explorer<br />

scheint die Netscape-Extensions zu ignorieren. Für die Erweiterung Netscape Cert Type stehen die<br />

folgenden acht Werte für das Schlüsselwort nsCertType in der Konfigurationsdatei zur Verfügung:<br />

9 http://home.netscape.com/eng/security/certs.html


150 Kapitel 8. Unterstützte Zertifikaterweiterungen<br />

� £��������������������<br />

¢¡¤£¦¥¨§�©<br />

�<br />

�������������������������<br />

¡���¡ � ¥ � ���<br />

��� ��¡�£¦¥���������¥�¡�� ����� ��������¡�£�¡��<br />

��������� ���<br />

��������������¡�£¦¥���������¥<br />

�<br />

������������¡�¥��¨¡¤¥���� ����¡�£�� � �¦� � ��¡���¡����<br />

��������¡���¥�¡��������<br />

��������������¡�£¦¥���������¥ ������������� ¡�� � ¥���¡�£�� � ��¡�£¦¥���������¡¤£�¡��<br />

�������������<br />

� ��� � �<br />

¡�£ ¡�£ ��¡�£�������¡���¥���� � ��¡�£¦¥���������¡�£�¡��<br />

����� ��������������¡�£¦¥���������¥ ���������<br />

�<br />

��¡¤£¦¥¨§�© � £�� � ��© � ��§�¥�����¡�� � ¥�� � ���<br />

��������������� ��¡��¦¡�£<br />

�<br />

��¡¤£¦¥���������¥ ��� �����¦¡���¥�¡������ ������������¡¤¥��¨¡�¥���� ��� � �¦��������¡�£�¡��<br />

�������������<br />

����������������� ¡�� � ¥���¡¤£¦����¡�£¦¥���������¥<br />

���������<br />

�����������<br />

� �<br />

� � ¡�£ ¡�£¦����¡�£¦¥���������¥<br />

����� �����<br />

����������� ����� ����� ��������¡���¥¦����¡¤£¦¥���������¥<br />

Es sind auch Kombinationen der einzelnen Bezeichnungen möglich, so steht z.B. nsCert-<br />

Type=objCA, emailCA, sslCA für ein CA-Zertifikat, mit dem Zertifikate für Objekt-<br />

Signierung, S/MIME-Benutzer <strong>und</strong> SSL-Server/-Clients herausgegeben werden können. Die Bedeutung<br />

der anderen Attribute kann Anhang E entnommen werden.


Kapitel 9<br />

Die OpenSSL-Konfigurationsdatei<br />

Eine Beispiel-Konfigurationsdatei findet sich im Anhang openssl.cnf (E).<br />

Die Belegung von Aufruf-Optionen der OpenSSL-Applikationen wird weitestgehend durch die<br />

Konfigurationsdatei $(SSLETC)/openssl.cnf bestimmt. Sie ist ähnlich aufgebaut wie eine<br />

Windows-Ini-Datei. Einzelne Abschnitte sind durch Bezeichner der Form [ uvwxyz ] gekennzeichnet.<br />

Innerhalb dieser Abschnitte können Variablen vereinbart werden. Dabei ist es auch möglich,<br />

Umgebungsvariablen zu überschreiben, z.B. mit<br />

ENV::PATH = /usr/local/bin:$PATH<br />

Außerdem können Werte von gesetzten Umgebungsvariablen einzelnen Variablen der Konfigurationsdateien<br />

zugeordnet werden, z.B. mit<br />

ca_default = $ENV::ENV_CA_DEFAULT<br />

Enthält die Umgebungsvariable ENV_CA_DEFAULT den Wert Server_CA, wird bei der nächsten<br />

Zertifizierung durch die Applikation ca der Abschnitt ca_default gewählt. Analog könnte eine<br />

Umgebungsvariable ENV_EXT, die die Bezeichnung eines Abschnitts mit Zertifikat-Erweiterungen<br />

Extensions enthält, gesetzt werden:<br />

x509_extensions = $ENV::ENV_EXT<br />

Die Datei gliedert sich grob in zwei Abschnitte: [ ca ], in dem Voreinstellungen für die Erzeugung<br />

eines Zertifikats vorgenommen werden, <strong>und</strong> entsprechend [ req ] für die Erzeugung eines<br />

„Zertifizierungswunsches“ (Request). Auf diese voreingestellten Abschnitte wird zugegriffen, wenn<br />

openssl mit dem Parameter ca bzw. req aufgerufen wird. (openssl req Parameter... erzeugt<br />

einen Request, openssl ca Parameter... signiert einen Request.)<br />

Sowohl ca als auch req bieten die Möglichkeit, über die Option -config die zu verwendende<br />

Konfigurationsdatei explizit anzugeben. So könnte jeweils eine Konfigurationsdatei speziell für<br />

Netscape-Browser <strong>und</strong> eine andere für Microsoft-Browser gestaltet sein.<br />

151


152 Kapitel 9. Die OpenSSL-Konfigurationsdatei<br />

Es ist auch möglich, innerhalb <strong>einer</strong> Konfigurationsdatei mehrere CA-Abschnitte zu definieren,<br />

je nachdem, welche Art Request signiert werden soll. Dadurch kann innerhalb <strong>einer</strong> Konfigurationsdatei<br />

eine CA-Konfiguration zur Server-Zertifizierung (z.B. [ Server_CA ]), eine Konfiguration<br />

zur Client-Zertifizierung (z.B. [ Client_CA ]) <strong>und</strong> eine Konfiguration zur S/MIME-<br />

Zertifizierung 1 (z.B. [ SMIME_CA ]) verwaltet werden. Bei Aufruf von openssl mit dem Parameter<br />

ca kann dann mit der Option -name Client_CA z.B. auf eine Client-CA-Konfiguration<br />

zugegriffen werden. Alternativ kann die Auswahl des Konfigurations-Abschnitts durch die oben erwähnte<br />

Umgebungsvariable ENV_CA_DEFAULT erfolgen. (Statt der im letzten Absatz erwähnten<br />

zwei speziellen Konfigurationsdateien kann das gleiche auch über entsprechende Konfigurationsabschnitte<br />

innerhalb <strong>einer</strong> Datei erreicht werden.)<br />

Sollen verschiedene Zertifikattypen durch eine CA herausgegeben werden, können unterschiedlich<br />

benannte Abschnitte, die die jeweiligen Extensions enthalten, in der Konfigurations-Datei angelegt<br />

werden. Der gewünschte Abschnitt wird dann über die Umgebungsvariable ENV_EXT ausgewählt,<br />

wenn in der Konfigurationsdatei x509_extensions = $ENV::ENV_EXT gesetzt ist. (Anm.:<br />

Das gleiche kann auch über die oben erwähnten speziellen Konfigurationsdateien erreicht werden.)<br />

Innerhalb von CA-Abschnitten werden drei Schlüsselwörter erkannt, die auf weitere Abschnitte in<br />

<strong>einer</strong> Konfigurationsdatei verweisen. Die Schlüsselwörter lauten:<br />

x509_extensions<br />

crl_extensions<br />

policy<br />

x509_extensions verweist auf einen Abschnitt, in dem Extensions für neue Zertifikate festgelegt<br />

sind. In diesem Abschnitt könnten die Extensions für ein Benutzer- oder ein CA-Zertifikat<br />

festgelegt werden.<br />

crl_extensions verweist auf einen entsprechenden Abschnitt für Extensions, die in eine<br />

Zertifikat-Widerrufliste (certificate revocation list, CRL) gebracht werden sollen.<br />

policy schließlich weist auf einen Abschnitt, in dem festgelegt wird, inwieweit der Name in<br />

einem zu signierenden Request mit dem des CA-Zertifikats übereinstimmen muß. Beispielsweise<br />

kann festgelegt werden, daß die Angaben zum Land übereinstimmen müssen.<br />

Im req-Abschnitt werden vier Schlüsselwörter erkannt:<br />

distinguished_name<br />

attributes<br />

x509_extensions<br />

req_extensions<br />

1 http://www.rsa.com/rsa/S-MIME/


distinguished_name weist auf einen Abschnitt, in dem festgelegt wird, welche Namensfelder<br />

bei der Erzeugung des Requests abgefragt werden, sowie deren Default-Werte.<br />

Über attributes werden optionale Felder festgelegt, die zusätzlich in den Request gebracht<br />

werden können. Diese dienen zum Widerruf eines Zertifikats bei Verlust des Private-Key. Genaueres<br />

steht im Abschnitt Erzeugen von Requests (10.2).<br />

Auch im req-Abschnitt gibt es einen Bereich, auf den ein Schlüsselwort x509_extensions<br />

verweist. Im Unterschied zu x509_extensions im ca-Bereich, werden hier die Extensions<br />

festgelegt, die bei Erzeugung eines selbstsignierten Zertifikats (Wurzel- oder Root-Zertifikat) in ein<br />

solches Zertifikat gebracht werden.<br />

Im vierten Bereich, auf den req_extensions weist, werden Extensions festgelegt, die in einen<br />

Request gebracht werden. Üblicherweise werden Extensions allerdings durch eine CA beim Signieren<br />

eines Requests in das Zertifikat gebracht. Es ist aber auch denkbar, daß der Zertifikatnehmer<br />

bei der Erzeugung eines Requests festlegt, welche Extensions sein Zertifikat enthalten soll. Eine<br />

CA könnte dann diese Extensions in das Zertifikat übernehmen. Es sollte unbedingt mit der CA<br />

abgesprochen werden, ob sie Requests mit Extensions signiert.<br />

Ein ausführliches Beispiel <strong>einer</strong> Konfigurationsdatei mit mehreren Abschnitten findet sich im Anhang<br />

openssl.cnf (E)<br />

153


154 Kapitel 9. Die OpenSSL-Konfigurationsdatei


Kapitel 10<br />

Erzeugen von Requests <strong>und</strong> Zertifikaten<br />

Die folgenden Abschnitte beschreiben die Erzeugung eines selbstsignierten Zertifikats, das sogenannte<br />

Root-Zertifikat, sowie Erzeugung <strong>und</strong> Signierung eines Requests. Dabei sollte beachtet werden,<br />

daß die Gültigkeitsdauer eines neuen Zertifikats vollständig innerhalb des Gültigkeitsbereiches<br />

des Zertifikats der signierenden CA liegt. MS-Produkte weisen sonst möglicherweise dieses neue<br />

Zertifikat als ungültig zurück. Weiter ist es empfehlenswert, nach Herausgabe eines CA-Zertifikats<br />

einen Tag zu warten, bevor der zugehörige Private-Key zur Zertifizierung eingesetzt wird.<br />

Netscape- <strong>und</strong> Microsoft-Browser mit <strong>einer</strong> Versionsnummer kl<strong>einer</strong> als 4.0 können nicht mit<br />

Schlüssellängen größer als 1024 Bit umgehen. Das gilt sowohl für CA- als auch für Anwendungs-<br />

Zertifikate. Die Browser zeigen eine irreführende Meldung an, daß das Server-Zertifikat eine ungültige<br />

Signatur hat oder gr<strong>und</strong>sätzlich fehlerhaft ist, obwohl das Zertifikat technisch korrekt ist. (Vgl.<br />

Anhang I.1)<br />

Im Verzeichnis $(SSLETC)/misc gibt es ein Perl-Skript, CA.pl. Mit dem Skript können ebenfalls<br />

Zertifikate <strong>und</strong> Requests erzeugt werden. Das Skript soll den Einstieg in die Handhabung von<br />

Zertifikaten mit OpenSSL erleichtern, indem komplexe Kommandos <strong>und</strong> die Konfiguration gekapselt<br />

werden. Das Skript ist dokumentiert, muß aber möglicherweise noch angepaßt werden. Auf den<br />

Einsatz des Skriptes wird hier nicht weiter eingegangen.<br />

10.1 Erzeugen eines Root-CA-Zertifikats<br />

Die im obigen Abschnitt (8) aufgeführten Erweiterungen werden üblicherweise beim Zertifizieren<br />

eines Requests mit OpenSSL durch eine CA in das Zertifikat gebracht. In der Konfigurationsdatei<br />

(siehe openssl.cnf (E)) gibt es einen Abschnitt [ v3_ca ], in dem festgelegt werden<br />

kann (<strong>und</strong> sollte!), welche Zertifikat-Erweiterungen bei Erzeugung eines (selbstsignierten) Root-<br />

Zertifikats gesetzt werden.<br />

Im folgenden ein Beispiel zur Erzeugung eines Root-CA-Zertifikats:<br />

1. Editieren von openssl.cnf, Setzen der Zertifikat-Erweiterungen im Abschnitt<br />

[ v3_ca ]. Um z.B. ein Root-CA-Zertifikat zu erzeugen, mit dem SSL-CA-, S/MIME-<br />

155


156 Kapitel 10. Erzeugen von Requests <strong>und</strong> Zertifikaten<br />

CA- <strong>und</strong> Object-Signing-CA-Zertifikate herausgegeben werden können, sollte die Netscape<br />

Certificate Extension folgenderweise gesetzt sein:<br />

nsCertType = sslCA, emailCA, objCA<br />

2. Mögliche Werte für die anderen Extensions:<br />

basicConstraints = critical, CA:TRUE<br />

keyUsage = cRLSign, keyCertSign<br />

subjectKeyIdentifier = hash<br />

authorityKeyIdentifier = keyid, issuer:always<br />

subjectAltName = email:copy<br />

issuerAltName = issuer:copy<br />

crlDistributionPoints = URI:http://crlserver.domain.de/CA.crl<br />

Die unter 1. <strong>und</strong> 2. aufgeführten Einträge müssen in der Konfigurationsdatei in dem<br />

beim Schlüsselwort x509_extensions genannten Bereich gemacht werden, also z.B.<br />

im Bereich [ v3_ca ]. Das Schlüsselwort x509_extensions kann sowohl im ca-<br />

Abschnitt als auch im req-Abschnitt stehen. Für das selbstsignierte Zertifikat muß<br />

x509_extensions im Bereich [ req ] der Konfigurationsdatei auf v3_ca gesetzt<br />

werden.<br />

3. Initialisieren des Zufallszahlen-Generator-Status. Dieser Status ist eine Datei,<br />

die durch jeden Zugriff verändert wird. Die Datei kann z.B. als<br />

/usr/local/etc/ssl/private/.rand engelegt werden. Es sollte die Umgebungsvariable<br />

$RANDFILE auf diese Datei gesetzt werden. Initialisiert wird der Status dann<br />

durch folgenden Befehl:<br />

cp ˜/.pgp/randseed.bin $RANDFILE<br />

4. Erzeugen eines 2048-Bit-Schlüssels:<br />

Vor Aufruf dieses Befehls muß die Umgebungsvariable $RANDFILE gesetzt sein, sonst findet<br />

das folgende Kommando die Datei mit dem Zufallszahlen-Status nicht <strong>und</strong> ein einkompilierter<br />

Default wird wirksam.<br />

openssl genrsa -des3 -out $(SSLETC)/private/CAkey.pem -rand<br />

Zufallsdaten 2048<br />

Achtung:<br />

Ohne die Option -des3 (oder -des, -idea) wird der Schlüssel unverschlüsselt abgespeichert!<br />

5. Erzeugen des selbstsignierten Root-CA-Zertifikats:


10.2. Erzeugen eines Certificate Requests 157<br />

openssl req -new -x509 -days 730 -key<br />

$(SSLETC)/private/CAkey.pem -out $(SSLETC)/private/CAcert.pem<br />

Achtung:<br />

Über die Option -days wird die Gültigkeitsdauer des Root-Zertifikats in Tagen festgelegt.<br />

Beginn des Zeitraums ist der Zeitpunkt der Erzeugung des Zertifikats.<br />

6. Anzeigen des erzeugten Zertifikats:<br />

openssl x509 -in ./CAcert.pem -text more<br />

Das Zertifikat muß jetzt noch in das Verzeichnis $(SSLETC)/certs als 00.pem kopiert werden.<br />

Der Name ergibt sich aus der hexadezimalen Seriennummer des Zertifikats (hier 00) <strong>und</strong> dem<br />

Suffix .pem. Anschließend sollte das Zertifikat noch über seinen Hash-Wert verlinkt werden (siehe<br />

Anmerkung unten).<br />

cp $(SSLETC)/private/CAcert.pem $(SSLETC)/certs/00.pem<br />

cd $(SSLETC)/certs<br />

ln -s 00.pem ‘openssl x509 -hash -noout -in 00.pem‘.0<br />

Alternativ zu dem Link-Befehl kann auch das Shell-Skript c_rehash in $(SSLETC)/bin aufgerufen<br />

werden. Das Skript erzeugt für alle im Verzeichnis certs gef<strong>und</strong>enen Zertifikate die nötigen<br />

Links. Der Hash-Wert besteht aus 64 Bit <strong>und</strong> wird aus den Angaben des Subject-Feldes (also<br />

Distinguished Name <strong>und</strong> eventuell Email-Adresse des Herausgebers) des Zertifikats gebildet.<br />

Anmerkung:<br />

Alle neuen Zertifikate sollten über ihren Hash-Wert verlinkt werden. Das ist deshalb von Bedeutung,<br />

weil die Suche nach Zertifikaten <strong>und</strong> der damit verb<strong>und</strong>ene Vergleich ausschließlich über die Hash-<br />

Werte der Zertifikate erfolgt.<br />

10.2 Erzeugen eines Certificate Requests<br />

Zur Erzeugung eines beliebigen Requests (CA, Server, Client) muß zunächst ein Schlüsselpaar generiert<br />

werden. Mit folgendem Befehl wird ein 1024 Bit Schlüssel erzeugt:<br />

openssl genrsa -des3 -out MyKey.pem -rand file1:file2:... 1024<br />

Vorher sollte allerdings der Zufallszahlen-Status initialisiert worden sein. Die nach der Option<br />

-rand angegebenen Dateien dienen als zusätzliche Zufallsdaten für die Schlüsselerzeugung. Abhängig<br />

vom später verwendeten Browser ist die Schlüssellänge zu beachten. Für den MS-Internet-<br />

Explorer in der internationalen (Export-)Version ist die Schlüssellänge für ein Benutzerzertifikat<br />

gr<strong>und</strong>sätzlich auf 512 Bit begrenzt. Die 1024 im obigen Kommando muß dann durch 512 ersetzt<br />

werden. Für die Netscape Navigator/Communicator (NSC) Export-Version gilt im Prinzip die


158 Kapitel 10. Erzeugen von Requests <strong>und</strong> Zertifikaten<br />

gleiche Beschränkung. Die Schlüssellänge kann aber bis auf 2048 Bit erhöht werden, indem das<br />

Zertifikat extern (z.B. mit openssl) erzeugt <strong>und</strong> anschließend als .p12-Datei (siehe HENSONS<br />

PKCS#12-Seite 1 ) in den NSC importiert wird (siehe PFX (13.1) bzw. PKCS12 (12.2)). Da die USA<br />

die Export-Beschränken für Kryptosoftware gelockert haben, sollten demnächst Browser-Versionen<br />

zur Verfügung stehen, die diese Beschränkung der Schlüssellänge nicht mehr haben. (Siehe dazu<br />

Abschnitt 4.15.1.)<br />

Die Schlüsselerzeugung hätte bei dem folgenden Request-Kommando gleichzeitig mit der Request-<br />

Erzeugung durch die Option -newkey veranlaßt werden können; diese Variante bietet aber keine<br />

Möglichkeit, zusätzliche Zufallsdaten anzugeben.<br />

Die Erzeugung des Requests erfolgt durch folgenden Befehl:<br />

openssl req -new -key MyKey.pem -out MyReq.pem<br />

Nach Eingabe des Befehls müssen folgende Angaben gemacht werden (beispielhafte Eingaben sind<br />

in doppelten Anführungsstrichen):<br />

Using configuration from /usr/local/etc/ssl/openssl.cnf<br />

Enter PEM pass phrase: "passphrase"<br />

You are about to be asked to enter information that will be incorporated<br />

into your certificate request.<br />

What you are about to enter is what is called a Distinguished Name or a DN.<br />

There are quite a few fields but you can leave some blank<br />

For some fields there will be a default value,<br />

If you enter ’.’, the field will be left blank.<br />

-----<br />

Country Name (2 letter code) [AU]: "DE"<br />

State or Province Name (full name) [Some-State]: "Schleswig-Holstein"<br />

Locality Name (eg, city) []: "Kiel"<br />

Organization Name (eg, company) [Internet Widgits Pty Ltd]: "Universitaet Kiel"<br />

Organizational Unit Name (eg, section) []: "Studis"<br />

Common Name (eg, YOUR name) []: "Fred Neumann"<br />

Email Address []: "neumann@inf.uni-kiel.de"<br />

Please enter the following ’extra’ attributes<br />

to be sent with your certificate request<br />

A challenge password []: "passphrase vergessen"<br />

An optional company name []: "Informatik Uni Kiel"<br />

(Für den genauen Inhalt muß die zertifizierende CA bzw. deren Policy konsultiert werden.)<br />

Die beiden letzten Angaben tauchen als Klartext im Attribut-Bereich des Requests auf. Soll später<br />

ein Zertifikat zurückgerufen werden, kann sich der Inhaber gegenüber der CA, auch bei Verlust des<br />

Private Keys, durch Angabe dieser Felder als Inhaber „ausweisen“. Die Verwaltung dieser Angaben<br />

kann von der CA durchgeführt werden.<br />

Je nach Verwendungszweck des späteren Zertifikats muß bei den Angaben folgendes beachtet werden:<br />

1 http://www.rsa.com/rsalabs/pubs/PKCS/html/pkcs-12.html


10.3. Signieren eines Certificate Requests 159<br />

Verwendung als S/MIME-Zertifikat:<br />

Die E-Mail-Adresse muß vorhanden sein oder sie wird über die Extension Subject Alternative<br />

Name (8.7) gesetzt (Aufgabe der CA).<br />

Verwendung als SSL-Server-Zertifikat:<br />

Als CommonName muß der Server-Name angegeben werden, z.B. www.site.com. Ebenfalls<br />

sinnvoll ist es, den Server-Namen zusätzlich über die Extension nsSslServerName<br />

zu setzen (Aufgabe der CA).<br />

Verwendung als CA-Zertifikat:<br />

Keine Vorgaben. Sinnvoll wäre die Angabe der E-Mail-Adresse des CA-Administrators.<br />

Es scheint Probleme mit dem Navigator <strong>und</strong> dem Internet-Explorer zu geben, wenn einige Zeichen<br />

wie ‘_’ oder ‘&’ im DN auftauchen. HENSON empfiehlt daher, nur Zeichen vom Typ Printable<br />

String (mit Ausnahme der E-Mail-Adresse) zu verwenden. Die so zulässige Menge an Zeichen<br />

umfaßt die folgenden:<br />

A-Z a-z 0-9 ’ ( ) + , - . / : = ? leerzeichen<br />

Der erzeugte Request (also nur die Datei MyReq.pem, nicht die Datei mit dem Schlüsselpaar) kann<br />

dann auf Diskette kopiert <strong>und</strong> <strong>einer</strong> CA zum Signieren (also: Zertifizieren, siehe Abschnitt Signieren<br />

(10.3)) vorgelegt werden. Nach der Zertifizierung kann dann das Zertifikat zusammen mit dem<br />

privaten Schlüssel als .p12-Datei in den jeweiligen Browser importiert werden (siehe PFX (13.1)<br />

<strong>und</strong> PKCS12 (12.2)).<br />

10.3 Signieren eines Certificate Requests<br />

Das Signieren eines einzelnen Requests erfolgt durch folgenden Befehl:<br />

openssl ca -name ca_name -keyfile CAkey.pem -in MyReq.pem -out<br />

MyCert.pem -outdir $(SSLETC)/certs<br />

Der Wert von ca_name steht hier für den gewünschten Abschnitt der Konfigurationsdatei, also z.B.<br />

Client_CA. Es ist auch möglich, Gültigkeitsbeginn <strong>und</strong> -ende für das Zertifikat festzulegen. Dazu<br />

muß das obige Kommando um die Optionen -startdate <strong>und</strong> -enddate erweitert werden. Als<br />

Parameter wird bei den Optionen ein UTC-Zeitstempel der Form YYMMDDHHMMSSZ angegeben.<br />

Wegen der UTC-Zeit muß bei der Angabe der St<strong>und</strong>en während der Winterzeit eine St<strong>und</strong>e, <strong>und</strong><br />

während der Sommerzeit zwei St<strong>und</strong>en zur lokalen Zeit (Deutschland), bzw. zu dem gewünschten<br />

Zeitpunkt, hinzugefügt werden.<br />

Nach Eingabe des Befehls kommt eine Meldung folgender Art (Eingaben stehen in doppelten Anführungsstrichen):


160 Kapitel 10. Erzeugen von Requests <strong>und</strong> Zertifikaten<br />

Using configuration from /usr/local/etc/ssl/openssl.cnf<br />

Enter PEM pass phrase: "passphrase"<br />

Check that the request matches the signature<br />

Signature ok<br />

The Subjects Distinguished Name is as follows<br />

countryName :PRINTABLE:’DE’<br />

stateOrProvinceName :PRINTABLE:’Schleswig-Holstein’<br />

localityName :PRINTABLE:’Kiel’<br />

organizationName :PRINTABLE:’Universitaet Kiel’<br />

organizationalUnitName:PRINTABLE:’Studis’<br />

commonName :PRINTABLE:’Fred Neumann’<br />

emailAddress :IA5STRING:’neumann@inf.uni-kiel.de’<br />

Certificate is to be certified until Feb 12 12:10:12 2001 GMT (365 days)<br />

Sign the certificate? [y/n]: "y"<br />

1 out of 1 certificate requests certified, commit? [y/n] "y"<br />

Write out database with 1 new entries<br />

Data Base Updated<br />

Findet sich die Konfigurationsdatei (KD) openssl.cnf nicht in dem bei der Konfiguration des<br />

OpenSSL-Pakets angegebenen SSL-Verzeichnis, kann die Angabe im ca-Kommando mittels<br />

-config /pfad/Konfigname erfolgen. Oder es wird die Umgebungsvariable OPENSSL_CONF auf<br />

/pfad/Konfigname gesetzt. Wenn die Datei mit dem CA-Key in der KD angegeben ist, kann die<br />

Angabe bei -keyfile ebenfalls wegfallen. Mit der Option -name kann ein spezieller Eintrag in<br />

der KD, z.B. der Abschnitt Server_CA, abgearbeitet werden (siehe Anhang openssl.cnf E).<br />

Durch das Signieren werden möglicherweise einige Extensions in das Zertifikat gebracht. Vor dem<br />

Signieren eines Requests muß unbedingt sichergestellt sein, daß die richtigen Extensions gesetzt<br />

sind bzw. der richtige Abschnitt in der KD gewählt wird (siehe Abschnitt 10.3 <strong>und</strong> Anhang E).<br />

Für ein S/MIME-Zertifikat könnte Key Usage (keyUsage) auf Digital Signature <strong>und</strong> Data Encipherment<br />

gesetzt werden, sowie Netscape Cert Type (nsCertType) auf email.<br />

Sind in der KD keine anderen Angaben gemacht worden, befindet sich das neu erstellte Zertifikat<br />

in der bei -out angegebenen Datei. Außerdem wird im bei -outdir angegebenen Verzeichnis<br />

$(SSLETC)/certs eine Kopie abgelegt. Der Name der Kopie setzt sich aus der Seriennummer<br />

des Zertifikats <strong>und</strong> der Endung .pem zusammen, also z.B. 0a.pem. Die Seriennummer<br />

des gerade herausgegebenen Zertifikats findet sich im Zertifikat selber (openssl x509<br />

-in myCert.pem -noout -serial) oder in der Datei $(SSLETC)/serial.old. Das<br />

neue Zertifikat muß noch über den Hash-Wert verlinkt werden. Dazu wird in das Verzeichnis<br />

$(SSLETC)/certs gewechselt <strong>und</strong> das folgende Kommando gegeben:<br />

ln -s 0a.pem ‘openssl x509 -in 0a.pem -hash -noout‘.0


Kapitel 11<br />

Certificate Revocation Lists mit OpenSSL<br />

CRLs sind Listen, die Seriennummer <strong>und</strong> Zeitpunkt des Rückrufs eines Zertifikats enthalten, sowie<br />

den DN der CA. Sie werden von der CA signiert <strong>und</strong> in regelmäßigen Abständen veröffentlicht<br />

(siehe Abschnitt 2.5).<br />

Auch CRLs können Extensions enthalten. Sie werden beim Signieren <strong>einer</strong> CRL durch eine CA in<br />

die CRL gebracht. OpenSSL unterstützt bisher die Extensions CRL Authority Key Identifier (11.3)<br />

<strong>und</strong> CRL Issuer Alternative Name (11.4). Die Verwendung dieser Extensions zeichnet (u.a.) eine<br />

X.509v2-CRL aus. Werden diese Extensions nicht verwendet (durch Löschen oder Auskommentieren<br />

des Schlüsselworts crl_extensions in openssl.cnf), erzeugt obiges Kommando eine<br />

X.509v1-CRL. Das ist deshalb von Bedeutung, weil Netscape Browser mit v2 CRLs (noch) nicht<br />

umgehen können. Beim Laden <strong>einer</strong> CRL gibt der Browser die folgende Meldung aus: “The certificate<br />

revocation list you are trying to load has an invalid format.”<br />

11.1 <strong>Aufbau</strong> der Indexdatei index.txt<br />

In der Datei index.txt ist eine Art text-basierte Datenbank, in der die herausgegebenen Zertifikate<br />

registriert werden. Die Datei ist von großer Bedeutung für die Verwaltung der Zertifikate. Die<br />

ca-Applikation z.B. prüft über die letzte Spalte der Datei, ob ein DN schon vergeben wurde.<br />

Beispieleintrag eines Zertifikats in index.txt:<br />

V 981210145000Z "leer" 01 unknown /C=DE/O=Uni/OU=Inf/CN=TestCA/Email= \<br />

testca@uni.de<br />

Die Indexdatei besteht aus sechs Spalten, jeweils getrennt durch einen Tabulator (nicht durch Leerzeichen).<br />

Die Einträge in den einzelnen Spalten haben die folgende Bedeutung:<br />

1. Status des Zertifikats. Einer der Buchstaben R (revoked), E (expired) oder V (valid).<br />

161


162 Kapitel 11. Certificate Revocation Lists mit OpenSSL<br />

2. Ablaufzeitpunkt des Zertifikats. Format ist YYMMDDHHMMSSZ in UTC-Zeit<br />

3. Ist in obiger Beispielzeile leer. Die Spalte kann aber ebenfalls einen Ablaufzeitpunkt<br />

YYMMDDHHMMSSZ in UTC-Zeit enthalten. Ist hier ein Zeitstempel eingetragen, entspricht<br />

er dem Widerrufszeitpunkt des Zertifikats. Dann muß in der ersten Spalte (statt V)<br />

ein R stehen. Für ein gültiges Zertifikat ist diese Spalte leer.<br />

4. Hexadezimale Seriennummer des Zertifikats.<br />

5. Wo das Zertifikat zu finden ist. Wird derzeit immer mit „unknown“ besetzt.<br />

6. Der Name des Zertifikatinhabers. Üblicherweise der Distinguished Name <strong>und</strong> die E-Mail-<br />

Adresse.<br />

Gr<strong>und</strong>sätzlich ist es möglich, über Veränderung der Indexdatei eine irrtümliche Zertifizierung „rückgängig“<br />

zu machen. Das wird erreicht, indem die letzte Zeile gelöscht, <strong>und</strong> der Zähler in der Datei<br />

serial um Eins erniedrigt wird. Das gilt allerdings nur für das zuletzt herausgegebene Zertifikat,<br />

<strong>und</strong> auch nur, wenn es noch nicht veröffentlicht wurde. Gr<strong>und</strong>sätzlich ist für einen ernsthaften CA-<br />

<strong>Betrieb</strong> von solchen Veränderungen der Indexdatei abzuraten. Der bessere Weg wäre der Widerruf<br />

des betreffenden Zertifikats.<br />

11.2 Widerruf eines Zertifikats<br />

In Abhängigkeit vom Status der Zertifikate, die in der Indexdatei $(SSLETC)/index.txt durch<br />

Gültigkeit, Seriennummer <strong>und</strong> Distinguished Name (DN) repräsentiert werden, kann mit dem folgenden<br />

Kommando eine Certificate Revocation List erzeugt werden. Anschließend muß die CRL<br />

noch in das DER-Format gewandelt werden, da die viele Browser nur mit diesem Format umgehen<br />

können.<br />

openssl ca -gencrl -out $(SSLETC)/crl/crl.pem<br />

openssl crl -in $(SSLETC)/crl/crl.pem -outform der -out<br />

$(SSLETC)/crl/crl.der<br />

Vorher müssen die gewünschten Zertifikate zurückgerufen werden. Dazu wird folgendes Kommando<br />

verwendet:<br />

openssl ca -revoke cert.pem<br />

Die von dem Kommando durchgeführten Änderungen der Indexdatei sind die selben, die im folgenden<br />

Verfahren beschrieben werden.<br />

Alternativ kann die Indexdatei mit einem Texteditor geändert werden. Soll ein Zertifikat widerrufen<br />

werden, kann mit einem Editor die Indexdatei (von Hand oder per Skript) geändert werden. In<br />

der ersten Spalte muß das V durch ein R ersetzt <strong>und</strong> in der dritten (bisher leeren) Spalte muß der


11.3. CRL Authority Key Identifier 163<br />

Widerrufszeitpunkt eingetragen werden. Wegen der UTC-Zeit muß bei der Angabe der St<strong>und</strong>en<br />

während der Winterzeit eine St<strong>und</strong>e, <strong>und</strong> während der Sommerzeit zwei St<strong>und</strong>en, zur lokalen Zeit<br />

(Deutschland) bzw. zu dem gewünschten Zeitpunkt, hinzugefügt werden.<br />

Dann kann mit dem obigen Kommando ca -gencrl eine CRL mit dem widerrufenen Zertifikat<br />

erzeugt werden.<br />

11.3 CRL Authority Key Identifier<br />

Diese Extension besteht aus drei Feldern: keyIdentifier, authorityCertIssuer <strong>und</strong><br />

authorityCertSerialNumber. Laut RFC 2459 kann der Schlüssel mittels dieser Extension<br />

auf zwei Arten identifiziert werden: entweder durch alleiniges Setzen des keyIdentifier-Feldes oder<br />

durch Setzen der beiden anderen Felder. Die Extension dient dazu, Zertifikate der Herausgeber-CA<br />

zu identifizieren.<br />

RFC 2459 empfiehlt die erste Variante.<br />

(Für genauere Angaben siehe RFC 2459 [FHPS99] sowie die Beispiel-Konfigurationsdatei im Anhang<br />

E.)<br />

In der Konfigurationsdatei:<br />

authorityKeyIdentifier = [keyid[:always]][,issuer[:always]]<br />

11.4 CRL Issuer Alternative Name<br />

Diese Extension ist wie Subject Alternative Name (8.7) aufgebaut <strong>und</strong> dient dazu, zusätzliche Informationen<br />

zum Herausgeber in die CRL zu bringen.<br />

(Für genauere Angaben siehe RFC 2459 [FHPS99] sowie die Beispiel-Konfigurationsdatei im Anhang<br />

E.)<br />

In der Konfigurationsdatei:<br />

subjectAltName= [issuer:copy] [, URL:http://my.url.here/] [,<br />

RID:1.2.3.4] [, IP:1.2.3.4]


164 Kapitel 11. Certificate Revocation Lists mit OpenSSL


Kapitel 12<br />

Testbericht: Praxis-Erfahrungen<br />

12.1 OpenSSL<br />

Die folgenden Angaben beziehen sich auf eine Entwickler-Version von OpenSSL. Es ist daher möglich,<br />

daß die geschilderten Erfahrungen nicht mehr für die nächste Anwender-Version von OpenSSL<br />

gelten.<br />

Die OpenSSL-Applikation ca unterscheidet zwischen Groß-/Klein-Schreibung in Zertifikaten <strong>und</strong><br />

Anforderungen! Mit anderen Worten, es ist möglich, ein inhaltlich gleiches Zertifikat zweimal herauszugeben;<br />

z.B. einmal mit Locality Name Hamburg <strong>und</strong> das andere Mal mit HAMBURG. Auch ist<br />

es möglich, daß sich vielleicht nur ein zusätzliches Leerzeichen eingeschlichen hat. Die Zertifikate<br />

würden sich jedoch durch die Seriennummer <strong>und</strong> die unterschiedliche Signatur unterscheiden.<br />

Die Erzeugung eines Root-CA-Zertifikat ist in OpenSSL besser gelöst als in SSLeay, da es jetzt<br />

nicht mehr notwendig ist, Extensions nachträglich in das Zertifikat zu patchen. Allerdings wird bei<br />

der Erzeugung eines Root-Zertifikats kein Eintrag in die Index-Datei (index.txt) vorgenommen.<br />

Ebenso ist die Seriennummer des Root-Zertifikats auf „00“ festgelegt. Beides ist nicht immer<br />

wünschenswert.<br />

Zertifikate werden von OpenSSL über Hash-Werte, die über den Distinguished Name (<strong>und</strong> eventuell<br />

die E-Mail-Adresse) gebildet werden, identifiziert. Probleme können auftreten, wenn ein Root-<br />

Zertifikat erneuert werden muß <strong>und</strong> der Distinguished Name nicht geändert werden kann oder soll.<br />

Die Konsequenzen sind offensichtlich: Verläßt sich eine Anwendung (womit hier nicht nur OpenSSL<br />

gemeint ist) zur Identifizierung des Root-Zertifikats nur auf den Hash-Wert des Issuer-DN (aus dem<br />

zu prüfenden Zertifikat) <strong>und</strong> nicht zusätzlich auf die Extension Authority Key Identifier, kann das<br />

Root-Zertifikat nicht mehr (eindeutig) identifiziert werden. Die Überprüfung von Zertifikatketten<br />

würde dann vermutlich fehlschlagen.<br />

Ein Verzeichnis newcerts wird bei Aufruf von make install nicht angelegt. Die Default-<br />

Konfigurationsdatei erwartet dieses Verzeichnis aber. Das Verzeichnis muß daher nachträglich angelegt<br />

werden.<br />

Ungünstig ist, daß der Pfad des Zertifikatverzeichnisses (z.B. /usr/local/etc/ssl) in die Bibliothek<br />

libcrypto.a einkompiliert wird. Einige Applikationen, z.B. pkcs12 zum Lesen von<br />

165


166 Kapitel 12. Testbericht: Praxis-Erfahrungen<br />

Zertifikatketten, greifen auf diese Pfade zu. Das erschwert die Verwaltung von mehreren unabhängigen<br />

Zertifikatverzeichnissen oder die Änderung dieses Verzeichnisses.<br />

Ansonsten ist die Verwaltung von Zertifikaten <strong>und</strong> der <strong>Betrieb</strong> <strong>einer</strong> CA mit OpenSSL gut möglich.<br />

An einigen Stellen ist allerdings Handarbeit notwendig, die aber auch teilweise als Cron-Job mit<br />

Hilfe von Skripten erledigt werden kann. Dazu zählen folgende Punkte:<br />

Neu herausgegebene Zertifikate müssen über ihren Hash-Wert „verlinkt“ werden.<br />

Es gibt keinen Automatismus, der die Indexdatei auf abgelaufene Zertifikate überprüft <strong>und</strong><br />

Einträge entsprechend markiert.<br />

12.2 Zertifikate <strong>und</strong> Browser<br />

Durch die OpenSSL-Applikation pkcs12 können Anwendungs- <strong>und</strong> CA-Zertifikate in die Browser<br />

importiert werden. Das Programm arbeitet nur mit dem Navigator ab Vers. 4.04 <strong>und</strong> dem Explorer<br />

ab Vers. 4.0 zusammen. Für ältere Browser-Versionen muß das PFX-Programm (siehe Kapitel 13.1)<br />

verwendet werden. Außerdem ist es möglich, Benutzerzertifikate mit Schlüssellängen bis zu 2048<br />

Bit als .p12-Datei in eine Export-Version des Navigators 4.x zu laden. Da die USA die Export-<br />

Beschränken für Kryptosoftware gelockert haben, sollten in Kürze Browser-Versionen zur Verfügung<br />

stehen, bei denen diese workaro<strong>und</strong>s nicht mehr erforderlich sind, um mit starken Schlüssellänge<br />

arbeiten zu können.<br />

PKCS-12 ist ein Standard, der ein Format beschreibt, in dem Zertifikate <strong>und</strong> Schlüssel außerhalb<br />

von Anwendungen gespeichert werden können. Zertifikate <strong>und</strong> Schlüssel, die in diesem Format vorliegen,<br />

können dann von verschiedenen Anwendungen gelesen bzw. in diesem Format geschrieben<br />

(exportiert) werden.<br />

Neben dem Import von Zertifikaten besteht auch die Möglichkeit, das aus den Browser im PKCS-<br />

12-Format exportierte Zertifikate für OpenSSL verfügbar zu machen.<br />

12.2.1 Export aus dem Browser<br />

Um beispielsweise ein mittels der Netscape Export-Funktion aus dem Browser exportiertes Zertifikat<br />

cert.p12 für OpenSSL zugänglich zu machen, ist folgender Befehl notwendig:<br />

pkcs12 -in cert.p12 -out cert.pem [-des3 -des -idea]<br />

Es wird nach einem Import-Paßwort gefragt; es ist das Paßwort, das beim Zertifikat-Export mit Netscape<br />

angegeben werden mußte <strong>und</strong> mit dem cert.p12 verschlüsselt wurde. Die Optionen -des3,<br />

-des, bzw. -idea geben an, ob <strong>und</strong> wie das Zertifikat <strong>und</strong> der Schlüssel, welche sich nach Ausführung<br />

des obigen Kommandos in cert.p12 befinden, verschlüsselt werden sollen. Es wird dazu<br />

wieder nach einem Paßwort gefragt.


12.2. Zertifikate <strong>und</strong> Browser 167<br />

12.2.2 Import in den Browser<br />

Um ein Zertifikat in ein vom Browser importierbares Format zu wandeln:<br />

pkcs12 -export -name Listbox-Name -in cert.pem -inkey key.pem<br />

-out file.p12<br />

Listbox-Name ist der Bezeichner, unter dem das importierte Zertifikat später in <strong>einer</strong> der Security-<br />

Rubriken des Browsers geführt werden soll. Nach dem die Datei file.p12 erzeugt wurde, kann sie<br />

über die Import-Funktion der Browser importiert werden.<br />

Zusammen mit einem Benutzer-Zertifikat können auch CA-Zertifikate in einen Browser importiert<br />

werden. Dazu werden Benutzer-Zertifikat <strong>und</strong> die CA-Zertifikate durch das pkcs12-Kommando in<br />

eine Datei geschrieben. Das folgende Kommando funktioniert allerdings nur, wenn das Verzeichnis<br />

ssl/certs unterhalb des Pfades, der bei der Konfiguration des Paketes (siehe 7.2.3) angegeben<br />

wurde, vorliegt. Der Pfad ist in die Bibliothek libcrypto.a einkompiliert <strong>und</strong> kann nicht geändert<br />

werden. Es müssen alle CA-Zertifikate der Kette (auch das Root-Zertifikat) im Verzeichnis<br />

ssl/certs vorliegen <strong>und</strong> über ihre Hash-Werte (siehe oben (10.3)) verlinkt sein.<br />

Um eine Zertifikat-Kette in ein vom Browser importierbares Format zu wandeln:<br />

pkcs12 -chain -export -name Listbox-Name -in cert.pem -inkey<br />

key.pem -out file.p12<br />

Sollen die CAs der Zertifikatkette ebenfalls eine Bezeichnung bekommen, kann dazu die Option<br />

-caname "CA Name", auch mehrfach, verwendet werden. Damit die Zuordnung der Bezeichner<br />

zu den CAs stimmt, müssen als erstes der Bezeichner für die Root-CA <strong>und</strong> die nächsten Bezeichner<br />

entsprechend der Kette aufgeführt werden. Dieser sogenannte „Friendly Name“ für CA-Zertifikate<br />

wird von Microsoft-Produkten unterstützt.<br />

Statt mit der Option -chain kann ein CA-Zertifikat über die Option -certfile cacerts.pem<br />

angegeben werden. Sollen es mehrere sein, werden sie mit in die Datei geschrieben, z.B. durch<br />

folgendes Kommando:<br />

cat ca1.pem ca2.pem ca3.pem<br />

cacerts.pem<br />

Nachdem die .p12-Datei erzeugt wurde, kann das Benutzer-Zertifikat in den Browser importiert<br />

werden (<strong>und</strong> damit zugleich auch die CA-Zertifikate). Das Benutzer-Zertifikat kommt in die Rubrik<br />

„Security/Yours“ <strong>und</strong> die CA-Zertifikate nach „Security/Signers“. Für die CA-Zertifikate muß dann<br />

mittels des „Edit“-Buttons im NSC noch mitgeteilt werden, wofür sie jeweils gültig sein sollen. Es<br />

gibt drei Alternativen zur Auswahl: Zertifizierung von SSL-Servern, von E-Mail-Benutzern oder<br />

von Software-Entwicklern. Diese Auswahl gilt auch für Wurzel-Zertifikate, die nur untergeordnete<br />

CAs signieren, wobei dann die Auswahl inhaltlich wenig Sinn macht. Wenn das Wurzel-Zertifikat<br />

für einen Verwendungszweck als gültig akzeptiert wurde, muß eine Auswahl für untergeordnete<br />

CAs nicht mehr getroffen werden, auch wenn es hier u.U. Sinn machen würde. Erst nach Auswahl<br />

des Verwendungszwecks verläuft eine Überprüfung des Benutzer-Zertifikats erfolgreich.


168 Kapitel 12. Testbericht: Praxis-Erfahrungen<br />

Auf diese Weise können aber nur CA-Zertifikate mit gesetzten „CA-Bit“ importiert werden, also<br />

solche, bei denen nsCertType auf sslCA, emailCA, objCA oder basicConstraints bzw.<br />

eine von deren Kombinationen im CA-Zertifikat gesetzt sind.<br />

12.3 Zertifikate <strong>und</strong> CRLs mit dem Netscape Browser<br />

Zertifikate <strong>und</strong> CRLs können von einem HTTP-Server als spezielle MIME-Types an einen Browser<br />

gesendet werden. Dazu müssen die Zertifikate <strong>und</strong> die CRLs im (binären) DER-Format vorliegen.<br />

Üblicherweise erzeugen die OpenSSL-Applikationen Dateien im PEM-Format (Base64). Es besteht<br />

aber die Möglichkeit, die Dateien nachträglich in das DER-Format umzuwandeln. Zertifikate werden<br />

durch folgenden Befehl in das DER-Format umgewandelt:<br />

openssl x509 -in cert.pem -outform der -out cert.der<br />

Der entsprechende Befehl, um eine CRL in das DER-Format zu wandeln:<br />

openssl crl -in crl.pem -outform der -out crl.der<br />

Achtung:<br />

Netscape-Browser akzeptieren (bisher) keine X.509v2-CRLs. Genaueres steht im Abschnitt über<br />

CRLs (11).<br />

12.3.1 Zertifikate<br />

Mit OpenSSL erzeugte Zertifikate lassen sich in den Netscape Communicator/Navigator relativ<br />

einfach importieren. Das Zertifikat im (binären) DER-Format kann von einem HTTP-Server als<br />

<strong>einer</strong> der folgenden MIME-Types an den Browser geschickt werden:<br />

application/x-x509-email-cert<br />

application/x-x509-user-cert<br />

application/x-x509-ca-cert<br />

Dazu werden die Zertifikate auf einem Server zum Herunterladen zur Verfügung gestellt. Die Datei<br />

mime.types des jeweiligen Web-Servers (z.B. Apache) muß um die obigen Typen ergänzt<br />

werden. Die Dateiendung, die den MIME-Types zugeordnet wird, muß mit der Dateiendung der<br />

Zertifikate übereinstimmen. Der Server kennzeichnet dann beim Senden die Datei mit dem entsprechenden<br />

MIME-Type. Der MIME-Type signalisiert dem Browser, daß es sich um ein Zertifikat<br />

handelt, <strong>und</strong> der Browser startet dann einen entsprechenden Interaktions-Modus. Der Browser bietet<br />

dem Benutzer in Abhängigkeit vom MIME-Type <strong>und</strong> der Erweiterung Netscape-Cert-Type eine<br />

Auswahl an, für welchen Zweck ein Zertifikat bestimmt ist. Im folgenden eine Aufstellung der<br />

Browser-Vorschläge 1 in Abhängigkeit von Cert- <strong>und</strong> MIME-Type.


12.3. Zertifikate <strong>und</strong> CRLs mit dem Netscape Browser 169<br />

���������¢���������¢��� ���¢�¢����� ���������¢�����¢�����������¤���������������������������<br />

¢¡¤£¦¥¦§©¨©�©�¤��¥<br />

������������������� �¢��������������������� �����¦�¢����� ���������¤�������������������©�����¤�������<br />

�����¤£¦�<br />

���¦������������� �����¦�¢����� �������������������¢�������<br />

¥����©�¦�¦£¦�<br />

���¢����� �����¦�¢����� �������¢�������¤�������������<br />

¡©¡¦�¤£¦�<br />

������������������� �����¦�¢����� ��� �¢������������� �¢�¢� �����������������<br />

§�¥�¡�¥¦§©��¥¦�<br />

�������������������������¦���������¢��� �����¦�¢����� ���¤���¤�����������������¤�¢���<br />

�����©¡©���¦<br />

���¦����������������������������������� �����¦�¢����� ���������¤�������������������©�����¤�������<br />

¥����©�¦�<br />

���¢�����������©��� �����¦�¢����� �������¢�������¤�������������<br />

¡¤¥¦§¦��¥¦§<br />

�¨ ���¢��������������� �����¦�¢����� �������������������¢�������<br />

�¦����¥¤<br />

Zertifikate als MIME-Type x-x509-ca-cert gesendet: siehe obige Tabelle<br />

Zertifikate als MIME-Type x-x509-user-cert gesendet:<br />

Alle Zertifikate werden unabhängig vom Netscape-Cert-Type als „eigene E-Mail Benutzer-<br />

Zertifikate“ erkannt.<br />

Zertifikate als MIME-Type x-x509-email-cert gesendet:<br />

Alle Zertifikate werden unabhängig vom Netscape-Cert-Type als „fremdes E-Mail Benutzer-<br />

Zertifikat“ erkannt. Nachdem die Zertifikate akzeptiert wurden, werden sie allerdings in unterschiedliche<br />

NSC-Zertifikat-Rubriken, „People“ <strong>und</strong> „Certificate/Signers“ einsortiert. Die drei<br />

Zertifikat-Typen (nsCertType objCA, objsign, server), die in der Aufstellung fehlen,<br />

sind nach Akzeptieren des Zertifikats in k<strong>einer</strong> Rubrik des Browsers mehr aufzufinden.<br />

���������¢�������¢����� ���¢�¢����� ���������¢�����¢�����������¤���������������¢���¢�������<br />

�¢���©�¦�©�©�¦�¦���<br />

���¤������������� �����¦�¢����� �������������������¢�������<br />

�������¦�<br />

����������� �©�¤�¦�¦� �������¢�������¤�������������<br />

�����¦�¢�����<br />

�������������������¢�������<br />

�����������<br />

�©�¤�¦�¦�<br />

������������������� �����¦�¢���<br />

�����¤�¦�©���¤�<br />

���¤����������������������������������� �����¦�¢���<br />

�������¦�<br />

�¦�©�¤�¤��� ������������������� �����¦�¢���<br />

Der NSC akzeptiert Schlüssellängen von 2048 Bit für CA-Zertifikate. Für Benutzerzertifikate beträgt<br />

die max. Schlüssellänge 512 Bit bei der Export-Version des Browser. Im allgemeinen werden<br />

CA-Zertifikate von einem Server (die entsprechende Konfiguration des Servers vorausgesetzt) im<br />

binären DER-Format zur Verfügung gestellt. Der Benutzer kann dann das CA-Zertifikat als MIME-<br />

Type x-x509-ca-cert (in der Regel über eine HTML-Seite) in den Browser laden. Er wird dabei<br />

durch einen Interaktionmodus geführt, in dessen Verlauf er bestimmen kann, welches Vertrauen<br />

er dem Zertifikat entgegen bringt. Laut STEPHEN N. HENSON 2 kann jedes Zertifikat, unabhängig<br />

von der Art der enthaltenen Extensions, nach Durchlaufen des Interaktions-Modus als CA für jeden<br />

Zweck akzeptiert werden. Das kann dann zu Problemen führen, wenn die CA für einen Zweck<br />

akzeptiert wurde, den die Extensions im CA-Zertifikat nicht unterstützen. Ist in dem CA-Zertifikat<br />

z.B. kein Bit gesetzt, welches die CA als Herausgeber von S/MIME-Zertifikaten kennzeichnet, <strong>und</strong><br />

wird ein von dieser CA herausgegebenes Zertifikat zum Signieren von E-Mail verwendet, wird die<br />

Mail beim Empfänger wegen des ungültigen CA-Zertifikats abgewiesen.<br />

Die Möglichkeit, CA-Zertifikate über Benutzerzertifikate ohne Web-Server in den NSC zu importieren,<br />

wird im Abschnitt über PFX (13.1) bzw. PKCS12 (12.2) beschrieben.<br />

1 http://home.netscape.com/eng/security/comm4-cert-download.html<br />

2 http://www.drh-consultancy.demon.co.uk/caornot.html


170 Kapitel 12. Testbericht: Praxis-Erfahrungen<br />

Eine Schlüsselerzeugung mit anschließender Online-Zertifizierung wird unterstützt. Da der Schlüssel<br />

vom Browser erzeugt wird, ist hier bei der Export-Version die Schlüssellänge auf 512 Bit beschränkt.<br />

Bei Verwendung der oben genannten Programme ist es möglich, die max. Schlüssellänge<br />

für Benutzerzertifikate auf 2048 Bit zu erhöhen (getestet mit Version 4.0 <strong>und</strong> 4.05). SSL-Server-<br />

Zertifikate werden beim Anwählen eines SSL-Servers automatisch geladen. Liegt das CA-Zertifikat<br />

für einen solchen Server nicht vor, wird ebenfalls ein Interaktionsmodus gestartet, in dessen Verlauf<br />

der Benutzer selber entscheiden muß, welches Vertrauen er dem Server-Zertifikat entgegenbringt.<br />

Liegt dagegen das CA-Zertifikat vor, bekommt der Benutzer in Abhängigkeit von der vorgenommenen<br />

Einstellung am Browser keine oder nur eine kleine Meldung. (Es sei an dieser Stelle darauf<br />

hingewiesen, daß der Server beim Verbindungsaufbau die Möglichkeit hat, zusätzlich zu seinem<br />

eigenen Zertifikat auch die Zertifikate der übergeordneten CA(s) mitzuliefern.)<br />

12.3.2 CRLs<br />

Achtung:<br />

Netscape-Browser akzeptieren (bisher) keine X.509v2 CRLs. Genaueres steht in Kapitel 11.<br />

Leider scheint der Netscape-Browser die Extension CRL Distribution Points nicht zu unterstützen.<br />

Eine CRL muß daher explizit vom Anwender geladen werden. Eine CRL kann nur in den Browser<br />

geladen werden, wenn sie durch den Anwender von einem Server als spezieller MIME-Type heruntergeladen<br />

wird. Diese Mechanismus wird im folgenden beschrieben. Die aufgeführten MIME-<br />

Types müssen wieder, wie im vorigen Abschnitt (12.3.1) beschrieben, eigentragen sein. Ebenso<br />

müssen die Dateiendungen übereinstimmen.<br />

Die im folgenden verwendeten CRLs waren vom Typ X.509v1 <strong>und</strong> lagen im DER-Format vor.<br />

CRL als MIME-Type application/x-pkcs7-crl gesendet:<br />

Der Browser (Vers. 4.03) akzeptiert die CRL, ohne eine Meldung auszugeben. Wird versucht, die<br />

CRL ein zweites Mal zu laden, wird die in Abb. 12.1 dargestellte Error-Box angezeigt.<br />

Abb. 12.1: Netscape-Fehlermeldung bei wiederholtem Laden <strong>einer</strong> CRL<br />

Nachdem in einem Browser Vers. 4.05 eine CRL geladen wurde, taucht im Security Fenster nach<br />

Anwahl der Rubrik „Signers“ ein neuer Button „Edit/View CRL’s “ auf. Darüber lassen sich CRLs<br />

anzeigen, löschen <strong>und</strong> neu laden.<br />

CRL als MIME-Type application/x-x509-crl gesendet:


12.4. Zertifikate <strong>und</strong> CRLs mit Microsoft Browser 171<br />

Der Browser (Vers. 4.03) lädt das CRL-Binary nicht als CRL, sondern als Text mit entsprechend<br />

kryptischen Zeichen im Browser-Fenster.<br />

Wurde eine CRL, die ein widerrufenes SSL-Server Zertifikat enthielt, in einen Browser der Vers.<br />

4.05 gebracht, wird anschließend eine Verbindung zu dem entsprechenden SSL-Server verweigert.<br />

Allerdings mit <strong>einer</strong> wenig hilfreichen Meldung der Art „Es gibt Schwierigkeiten...“<br />

Der Browser gibt folgende Meldung aus, wenn der Gültigkeitszeitraum <strong>einer</strong> schon geladenen CRL<br />

überschritten ist:<br />

Abb. 12.2: Netscape-Fehlermeldung: überschrittene Gültigkeitsdauer <strong>einer</strong> CRL<br />

Es muß dann zunächst die aktuelle CRL geladen werden, bevor erneut eine Verbindung aufgebaut<br />

werden kann.<br />

12.4 Zertifikate <strong>und</strong> CRLs mit Microsoft Browser<br />

Der Internet Explorer (MSIE) unterstützt u.a. die Standard X509v3-Attribute wie Basic Constraints<br />

<strong>und</strong> Key Usage (siehe jedoch Zertifizieren (10.3)). Um ein CA-Zertifikat für den MSIE als solches<br />

zu kennzeichnen, muß das „CA-Bit“ in Form von Basic Constraints gesetzt werden. Außerdem kann<br />

über Key Usage die Verwendung des Zertifikats eingeschränkt werden. Der Browser interpretiert<br />

laut MS-Dokumentation Key Usage immer, egal ob Critical oder nicht.<br />

Die von HENSON geschilderten Probleme mit Critical Extensions scheinen zumindest für MS Outlook<br />

Express 5 nicht mehr zu gelten. Eine Zertifikat-Kette mit Critical gesetzten Basic Constraints<br />

ließ sich problemlos importieren.<br />

Die folgende Angaben beziehen sich hauptsächlich auf den MSIE 4.0 <strong>und</strong> zum <strong>Teil</strong> auf Version 5.x.<br />

Es ist dabei zu berücksichtigen, daß sich das Verhalten der Browsers unter Windows NT in Abhängigkeit<br />

vom installierten Servicepack ändern kann. Gleiches gilt vermutlich auch für Windows<br />

9x.<br />

12.4.1 Zertifikate<br />

Root-CA-Zertifikate können über einen Web-Server als MIME-Type application/x-x509ca-cert<br />

gesendet werden (s.o. (12.3.1)). Sie werden als CA-Zertifikate für „Netzwerk-Client-“,<br />

„Netzwerk-Server-Authentifikation“, „Sichere-E-Mail“ <strong>und</strong> „Software-Herausgeber“ akzeptiert. Es


172 Kapitel 12. Testbericht: Praxis-Erfahrungen<br />

besteht die Möglichkeit, über Kontrollkästchen die Beschränkungen des Zertifikats einzeln zu (de-)<br />

aktivieren. Nach dem Akzeptieren findet sich das Zertifikat in der Rubrik „Ansicht / Internetoptionen<br />

/ Inhalt / Agenturen“.<br />

Erhebliche Probleme gibt es allerdings mit CA-Zertifikaten, die nicht selbstsigniert, also keine Root-<br />

Zertifikate sind. Bis Version 4.x läßt sich ein solches Zertifikat nur durch eine der folgenden Improvisationen<br />

installieren:<br />

1. Das Zertifikat wird als MIME-Type application/pkcs7-mime auf einem Server zur<br />

Verfügung gestellt. Zur Installation des MIME-Types siehe obigen Abschnitt (12.3.1). Beim<br />

Laden des Zertifikats wird das MS Address Book wab.exe aufgerufen, wenn es installiert<br />

ist. Danach besteht die Möglichkeit, das Zertifikat über eine Dialogbox als gültig zu akzeptieren.<br />

Das Zertifikat erscheint dann zwar nicht in der Liste der vertrauenswürdigen CAs, aber<br />

von dieser CA herausgegebene Server-Zertifikate werden als gültig anerkannt.<br />

2. Soll das CA-Zertifikat in der Liste der vertrauenswürdigen CAs erscheinen, wird das MS-<br />

Programm certmgr.exe benötigt. Das CA-Zertifikat muß von einem Server als MIME-<br />

Type application/x-x509-ca-cert heruntergeladen <strong>und</strong> lokal abgespeichert werden,<br />

z.B. unter dem Namen cacert.crt. Jetzt muß eine DOS-Shell gestartet werden. In der<br />

DOS-Shell wird in das Verzeichnis gewechselt, in dem certmgr.exe <strong>und</strong> cacert.crt<br />

vorliegen. Jetzt wird das Zertifikat durch folgendes Kommando geladen (Reihenfolge der Parameter<br />

unbedingt beachten!):<br />

certmgr -c cacert.crt -s Root -add<br />

Hat das Importieren des Zertifikats fehlerfrei funktioniert, wird die Meldung „CertMgr Succeeded“<br />

ausgegeben, <strong>und</strong> es erscheint Dialogbox, die durch das Klicken auf „Yes“ zu beenden<br />

ist (Abb. 12.3).<br />

Abb. 12.3: Internet Explorer: Import eines Zertifikates<br />

Mit dem IE Version 5.x ist dieses Verfahren nicht mehr notwendig. Es gibt jetzt eine Rubrik für nicht<br />

selbstsignierte CAs. Die Version 5.x zeichnet sich gegenüber der 4er-Version durch eine gr<strong>und</strong>sätzlich<br />

verbesserte Verwaltung von Zertifikaten aus. Allerdings werden vom Benutzer akzeptierte<br />

Server-Zertifikate in die Rubrik „Eigene Zertifikate“ einsortiert, es gibt keine Rubrik für Server-<br />

Zertifikate.


12.4. Zertifikate <strong>und</strong> CRLs mit Microsoft Browser 173<br />

Benutzer-Zertifikate können auf zwei Arten in den MSIE gebracht werden. Die eine Art umfaßt<br />

die Schlüssel- <strong>und</strong> Request-Erzeugung mit dem Browser durch Ausführen eines Java- oder VB-<br />

Skript. Anschließend wird der Request online zertifiziert. Auf diese Methode wird hier nicht weiter<br />

eingegangen.<br />

Die zweite Möglichkeit besteht darin, wie im Abschnitt Erzeugen von Requests (10.2) beschrieben<br />

einen mit OpenSSL erzeugten Request zu signieren <strong>und</strong> diesen anschließend als .p12-Datei in den<br />

Browser zu importieren. Dazu wird in der Rubrik „Ansicht / Internetoptionen / Inhalt / Eigene“ eine<br />

Dialogbox geöffnet, wo über den Button „Importieren“ ein Zertifikat importiert werden kann. Die<br />

in den Browser gebrachten Zertifikate stehen im MS-Mail Programm Outlook-Express (OE) zur<br />

Verfügung, wenn die im Zertifikat angegebene E-Mail-Adresse mit der im OE übereinstimmt.<br />

Beim Versuch eine .p12-Datei in die 5er-Version des Browsers bzw. von Outlook Express zu<br />

laden, fällt auf, daß diese die Endung .p12 nicht kennen. Erkannt wird die Endung .pfx. Die<br />

.p12-Datei läßt sich aber trotzdem laden, wenn die Ansicht auf „alle Dateien“ erweitert <strong>und</strong> die<br />

Datei dann ausgewählt wird. Eine .p12-Datei läßt sich, zumindest unter Windows 98, auch durch<br />

einen „Doppelklick“ auf die Datei laden. Es wird dann der „Internet-Assistent für die Zertifikatverwaltung“<br />

gestartet.<br />

Unglücklicherweise werden persönliche Zertifikate <strong>und</strong> Private-Keys durch den 4er IE nicht geschützt.<br />

Der einzige Schutz besteht in der Zugangsbeschränkung durch das <strong>Betrieb</strong>ssystem. STE-<br />

PHEN HENSON beschreibt in einem Dokument 3 , wie der Schutz des Private-Keys durch den MS<br />

certmgr nach dem Installieren eines Zertifikats erhöht werden kann.<br />

12.4.2 CRLs<br />

CRLs bezieht der MSIE über eine im Zertifikat angegebene URI. Die URI wird über die Extension<br />

CRL Distribution Points in ein Zertifikat gebracht. Eine Zertifikatprüfung erfolgt erst, wenn im<br />

4er-Browser in der Rubrik „Ansicht / Internetoptionen / Erweitert“ im Abschnitt „Sicherheit“ das<br />

Kontrollkästchen „Auf zurückgezogene Zertifikate überprüfen“ angewählt ist.<br />

In der 5er-Version heißt die Rubrik „Extras / Internetoptionen / Erweitert“. Dort sind die Kontrollkästchen<br />

„Auf zurückgerufenen Serverzertifikate“ bzw. „Zertifikate von Herausgebern prüfen“<br />

anzuwählen. Damit OE 5 auf zurückgerufene Benutzer-Zertifikate prüft, muß in der Rubrik „Extras<br />

/ Optionen / Sicherheit / Weitere Einstellungen“ das Kästchen „Auf zurückgezogene Digitale<br />

ID’s prüfen“ angewählt werden. Die CRLs werden dann automatisch über die entsprechende URL<br />

bezogen.<br />

Es ist auch möglich, CRLs über die Import-Funktion des Zertifikat-Assistenten (OE 5) zu Laden.<br />

Der Assistent erkennt am Datei-Inhalt, daß es sich um eine CRL handelt. Leider scheint es keine<br />

Möglichkeit zu geben, die geladenen CRLs anzeigen zu lassen. Auch kann der Inhalt der CRLs<br />

nicht angezeigt werden.<br />

Die Handhabung von CRLs scheint auch noch nicht ganz ausgereift zu sein. Ein Benutzer-Zertifikat<br />

wurde vom Zertifikat-Assistenten als nicht überprüfbar markiert, da keine CRL der CA vorlag. Die<br />

CA war eine Zwischen-CA, für die aber eine CRL geladen war. Für die Root-CA, die die Zwischen-<br />

CA zertifiziert hat, lag dagegen keine CRL vor . . .<br />

3 http://www.drh-consultancy.demon.co.uk/cexport.html


174 Kapitel 12. Testbericht: Praxis-Erfahrungen


Kapitel 13<br />

Ergänzende Programme<br />

13.1 pfx-0.1.2<br />

Das Programm pfx-0.1.2 von STEPHEN N. HENSON ermöglicht es, vom Netscape Communicator/Navigator<br />

<strong>und</strong> MS-Internet-Explorer (jeweils ab Vers. 4.0x) exportierte Zertifikate für OpenSSL<br />

lesbar zu machen, bzw. mit OpenSSL erzeugte Zertifikate in den NSC <strong>und</strong> den MSIE zu importieren.<br />

Außerdem ist es möglich, Benutzerzertifikate mit Schlüssellängen bis zu 2048 Bit als .p12-Datei<br />

in den NSC zu laden. Für NSC ab Vers. 4.04 <strong>und</strong> MSIE ab Vers. 4.0x sollte statt pfx das pkcs12-<br />

Programm (siehe PKCS12 (12.2)) verwendet werden.<br />

13.1.1 Übersetzung <strong>und</strong> Installation<br />

Folgende Änderungen sind im Makefile vorzunehmen:<br />

($(SSLDIR)=Installationsverzeichnis, $(SSLS-<br />

RC)=Quellverzeichnis)<br />

Zeile 1, SSLINC=/usr/local/ssl/include:<br />

Wenn die Include-Dateien von OpenSSL mit installiert wurden, Pfad auf $(SSL-<br />

DIR)/include, sonst Pfad auf $(SSLSRC)/include setzen.<br />

Zeile 2, SSLLIB=/usr/local/ssl/lib:<br />

Pfad auf SSLLIB=$(SSLDIR)/lib setzen.<br />

Zeile 3, CFLAGS=-Wall -O2 -I$(SSLINC) -g:<br />

Flags ändern in<br />

CFLAGS=-fomit-frame-pointer -mv8 -Wall -O2 -I$(SSLINC)<br />

In Zeile 11, cc -g -L$(SSLLIB) -o pfx $(OBJS) -lcrypto:<br />

cc durch gcc ersetzen <strong>und</strong> die Option -g entfernen.<br />

175


176 Kapitel 13. Ergänzende Programme<br />

Schließlich ist das Programm mit<br />

make ’CC=gcc’<br />

zu übersetzen.<br />

Als Installationsverzeichnis bietet sich $(SSLDIR)/bin an:<br />

cp $(PFX_SRC)/pfx $(SSLDIR)/bin<br />

chmod 755 $(SSLDIR)/bin/pfx<br />

13.1.2 Anwendung von pfx<br />

Export aus einen Browser<br />

Um ein mittels der Netscape Export-Funktion aus dem Browser exportiertes Benutzer-Zertifikat<br />

cert.p12 für OpenSSL zugänglich zu machen, ist folgender Befehl notwendig:<br />

pfx -in cert.p12 -out cert.pem [-des3 -des -idea]<br />

Es wird nach einem Import-Paßwort gefragt; es ist das Paßwort, das beim Zertifikat-Export mit Netscape<br />

angegeben werden mußte <strong>und</strong> mit dem cert.p12 verschlüsselt wurde. Die Optionen -des3,<br />

-des, bzw. -idea geben an, ob <strong>und</strong> wie das exportierte Zertifikat verschlüsselt werden soll.<br />

Import in einen Browser<br />

Um ein mit OpenSSL erstelltes Zertifikat in den NSC zu importieren:<br />

pfx -export -name Listbox-Name -out cert.p12 -in cert.pem<br />

Listbox-Name ist die Bezeichnung, unter der das Zertifikat nach dem Import im Browser in <strong>einer</strong><br />

Security-Rubrik geführt wird.<br />

Nach dem Schlüssel-Paßwort wird ein weiteres Paßwort erfragt; es ist das Paßwort um die<br />

cert.p12-Datei zu verschlüsseln. Das so vorbereitete Zertifikat kann über die NSC-Import-<br />

Funktion importiert werden. Der Browser erwartet als zweites Paßwort (das erste diente zum Freigeben<br />

der NSC Zertifikat-Datenbank) das Paßwort, mit dem die .p12-Datei verschlüsselt wurde. Die<br />

Zertifikate werden nur in den NSC-Bereich „Security/Yours“, also als „eigene E-Mail-Zertifikate“,<br />

gebracht.<br />

Mit folgendem Befehl kann indirekt auch ein CA-Zertifikat in den Netscape-Browser geladen werden:<br />

pfx -export -name Listbox-Name -in usercert.pem -inkey user-<br />

key.pem -out mycert.p12 -certfile CAcert.pem


13.2. pkcs12-054 177<br />

Das CA-Zertifikat wird an ein vorher erzeugtes Benutzer-Zertifikat usercert.pem geb<strong>und</strong>en. Anschließend<br />

kann das Benutzer-Zertifikat importiert werden <strong>und</strong> damit gleichzeitig das „angehängte“<br />

CA-Zertifikat. Das Benutzer-Zertifikat kommt in die Rubrik „Security/Yours“ <strong>und</strong> das CA-Zertifikat<br />

nach „Security/Signers“. Für das CA-Zertifikat muß dann mittels des „Edit“-Buttons im NSC noch<br />

mitgeteilt werden, wofür das CA-Zertifikat gültig sein soll. Erst dann verläuft eine Überprüfung<br />

des Benutzer-Zertifikats erfolgreich. Auf diese Weise können aber nur Zertifikate mit gesetztem<br />

„CA-Bit“ importiert werden, also wenn nsCertType auf sslCA, emailCA, objCA bzw. deren<br />

Kombinationen gesetzt ist.<br />

Weiter ist es möglich, Zertifikat-Ketten in den Browser zu importieren. Voraussetzung ist, daß alle<br />

¢¡ ¦ Zertifikate das „CA-Bit“ gesetzt haben. Mit folgendem Befehl werden an ein Zertifikat alle<br />

in der Zertifikat-Hierarchie darüber liegenden Zertifikate einschließlich des Root-CA-Zertifikats an<br />

das Zertifikat geb<strong>und</strong>en:<br />

pfx -export -name Listbox-Name -in usercert.pem -inkey user-<br />

key.pem -out usercert.p12 -chain<br />

Das Kommando funktioniert nur erfolgreich, wenn die CA-Zertifikate nach $(SSLDIR)/certs<br />

kopiert <strong>und</strong> deren Hash-Werte gebildet worden sind (s. die Anmerkung am Ende des Abschnitts<br />

über die Hash-Werte (10.1)). Die mit einem Zertifikat verb<strong>und</strong>enen CA-Zertifikate werden alle in<br />

den Browser gebracht <strong>und</strong> sind über die Browser-Rubrik „Signers“ zugänglich. Eine erfolgreiche<br />

Überprüfung der Zertifikate setzt voraus, daß zumindest für das Root-CA-Zertifikat der „CA-Typ“<br />

(Server-CA, Client-CA usw.) mit Hilfe des Browsers eingestellt wird (s.o., Edit-Button (13.1.2)).<br />

13.2 pkcs12-054<br />

Das Programm pkcs12-054 bzw. dessen bereitgestellte Funktionalität ist in OpenSSL-0.9.5-dev<br />

vollständig integriert (siehe Abschnitt 12.2). Somit wird pkcs12-054 nicht mehr benötigt.<br />

13.3 ca-fix-0.3<br />

Die von dem Programm CA-Fix bereitgestellte Funktionalität ist in OpenSSL-0.9.5-dev vollständig<br />

integriert. Somit wird CA-Fix nicht mehr benötigt.


178 Kapitel 13. Ergänzende Programme


<strong>Teil</strong> III<br />

Integration von SSL in den<br />

Apache-Webserver<br />

179


Kapitel 14<br />

Installation der Software<br />

14.1 Einleitung<br />

Dieser <strong>Teil</strong> des Handbuches richtet sich an alle, die sich für einen SSL-fähigen Apache-Web-Server<br />

interessieren <strong>und</strong> genaueres über die Konfiguration des SSL-<strong>Teil</strong>s eines solchen Servers wissen wollen.<br />

Diese Dokumentation kann <strong>und</strong> soll nicht die gr<strong>und</strong>sätzliche Konfiguration eines „normalen“<br />

Apache beschreiben. Daher werden im folgenden Kenntnisse über Konfiguration <strong>und</strong> <strong>Betrieb</strong> eines<br />

solchen Servers vorausgesetzt.<br />

Durch ein SSL-Paket (Mod-SSL) werden neue SSL-bezogene Server-Direktiven in den Apache gebracht.<br />

Diese SSL-Direktiven werden ausführlich in der Dokumentation des SSL-Pakets erläutert.<br />

Einige dieser Direktiven werden zusätzlich in den einzelnen Abschnitten von Kapitel 15 dargestellt.<br />

Zunächst einige Anmerkungen über den Zusammenhang zwischen Apache-SSL <strong>und</strong> SSL-Apache.<br />

Der Apache enthält k<strong>einer</strong>lei Kryptoroutinen. Wie im nächsten Abschnitt erläutert wird, ist es deshalb<br />

notwendig, Schnittstellen zu <strong>einer</strong> Krypto-Software (OpenSSL) in die Apache-Quellen zu „patchen“.<br />

Dazu stehen zwei Software-Pakete zur Verfügung: ein Paket, das von BEN LAURIE entwickelt<br />

wird, <strong>und</strong> ein anderes, das unter Koordination von RALF S. ENGELSCHALL entwickelt<br />

wird. Der SSL-Server, der bei der Verwendung von LAURIES Paket entsteht, wird üblicherweise<br />

Apache-SSL genannt. Der unter Verwendung von ENGELSCHALLS Paket erstellte Server heißt dagegen<br />

Mod-SSL-Apache, im Folgenden kurz SSL-Apache.<br />

Beide bieten eine recht ähnliche Funktionalität. Das Vergleichen der Pakete in den entsprechenden<br />

Mailinglisten hat in der Vergangenheit zu recht „engagierten“ Auseinandersetzungen geführt. Daher<br />

soll hier nur kurz erläutert werden, warum für diese Dokumentation die Wahl auf das Paket von<br />

ENGELSCHALL fiel. Zum Zeitpunkt der Entscheidung unterstützte das Paket die Verwendung von<br />

Widerruflisten <strong>und</strong> bestach durch seine umfangreiche Dokumentation. Dies kann inzwischen durchaus<br />

auch der Fall für das Paket von LAURIE sein. Die Empfehlung lautet daher, sich beide Pakete<br />

anzuschauen <strong>und</strong> dasjenige zu wählen, welches den eigenen Anforderungen am ehesten Genüge tut.<br />

181


182 Kapitel 14. Installation der Software<br />

14.2 Benötigte Software-Pakete<br />

Bevor der SSL-Apache-Server in <strong>Betrieb</strong> genommen werden kann, müssen zunächst einige<br />

Software-Pakete übersetzt <strong>und</strong> installiert werden. Der SSL-Server liegt nicht als ein komplettes<br />

Quell-Paket vor. Das liegt daran, daß der Apache-HTTP-Server (ohne SSL-Funktionalität) von <strong>einer</strong><br />

internationalen Gruppe entwickelt wird, darunter auch Mitglieder aus den USA. In den USA bestanden<br />

<strong>und</strong> bestehen z.T. immer noch gewisse Export-Beschränkungen hinsichtlich Krypto-Software<br />

<strong>und</strong> -Schnittstellen. Daher erfolgt die Entwicklung des Servers ohne SSL-Funktionalität bzw.<br />

Schnittstellen. Die SSL-Funktionalität wird durch ein außerhalb der USA entwickeltes Software-<br />

Paket, OpenSSL, bereitgestellt. Die benötigten Schnittstellen zwischen Apache <strong>und</strong> dem OpenSSL-<br />

Paket werden schließlich durch das (ebenfalls außerhalb der USA entwickelte) Mod-SSL-Paket in<br />

die Apache-Server-Quellen „gepatched“.<br />

Die Übersetzung <strong>und</strong> Installation der einzelnen Pakete wird in den folgenden Abschnitten beschrieben.<br />

Es sind im Prinzip vier Software-Pakete notwendig:<br />

1. Die Sourcen des HTTP-Servers Apache, apache_1.3.9.tar.gz<br />

2. Die Sourcen des TLS-/SSL-Pakets OpenSSL, openssl-0.9.4.tar.gz<br />

3. Die Sourcen, die den Apache um die Schnittstellen zum TLS-/SSL-Paket erweitern,<br />

mod_ssl-2.4.10-1.3.9.tar.gz<br />

4. die Quellen zur Verwaltung von Shared-Memory, mm-1.0.12.tar.gz (optional, weil „lediglich“<br />

die Performanz des SSL-Apache-Servers verbessert wird)<br />

Informationen zu Installation <strong>und</strong> <strong>Betrieb</strong> des OpenSSL-Pakets sind wegen ihres Umfangs in einem<br />

separaten <strong>Teil</strong> dieses Handbuches (<strong>Teil</strong> II) beschrieben. Eine Kurzfassung zur Übersetzung <strong>und</strong> Installation<br />

der aktuellsten verfügbaren Anwenderversion von OpenSSL, OpenSSL-0.9.4, findet sich<br />

in Abschnitt 14.4.<br />

Alle in diesem Dokument gemachten Angaben zur Übersetzung <strong>und</strong> Konfiguration der einzelnen<br />

Software-Pakete beziehen sich auf das <strong>Betrieb</strong>ssystem SunOS 5.5.1 (Solaris 2.5.1) <strong>und</strong> den C-<br />

Compiler gcc-2.7.2.1.<br />

14.3 Das Paket mm-1.0.12.tar.gz<br />

Wie im vorigen Abschnitt angedeutet, ist dieses Paket für den <strong>Betrieb</strong> des Servers nicht unbedingt<br />

erforderlich, aber wegen der verbesserten Performanz sinnvoll.<br />

Das MM-Paket (MM steht für „memory mapped“) wurde von RALF S. ENGELSCHALL entwickelt.<br />

Es stellt eine einheitliche Schnittstelle zur Verwaltung von Shared-Memory auf verschiedenen<br />

Plattformen zur Verfügung. Im Zusammenhang mit SSL-Apache kann bei Verwendung der MM-<br />

Bibliothek ein RAM-basierter SSL-Session-Cache anstelle eines Festplatten-Cache eingesetzt werden.


14.3. Das Paket mm-1.0.12.tar.gz 183<br />

Auspacken der Quellen in einem Verzeichnis (z.B. /usr/src):<br />

gzip -dc mm-1.0.12.tar.gz tar -xvf -<br />

Mit dem folgenden Befehl (nach dem Wechsel in das MM-Verzeichnis) wird das Paket konfiguriert:<br />

cd mm-1.0.12<br />

sh ./configure --prefix=/usr/local<br />

Die Option --prefix=xxx ermöglicht die Angabe eines Pfades, unter dem nach der Übersetzung<br />

ein Konfigurationsskript (xxx/bin), die Bibliothek (xxx/lib), Header-Dateien (xxx/include)<br />

<strong>und</strong> Manual-Seiten (xxx/man/man1 <strong>und</strong> xxx/man/man3) installiert werden. Soll später nicht<br />

das komplette Paket installiert werden sondern nur die Bibliothek, oder wenn die Installation<br />

durch Kopieren erfolgen soll, empfiehlt es sich, --prefix=/usr/local zu ersetzen durch<br />

--prefix=‘pwd‘. Die spätere, in jedem Fall notwendige Installation durch make install<br />

erfolgt dann im aktuellen Verzeichnis, also dem Quell-Verzeichnis.<br />

Durch den Aufruf von make install werden nicht nur Dateien installiert, sondern es wird auch<br />

die benötigte Bibliothek erzeugt. Daher ist der Aufruf nicht so ohne weiteres zu ersetzen. Die Angabe<br />

von --prefix=‘pwd‘ bietet die Möglichkeit <strong>einer</strong> lokalen Installation. Die benötigte Bibliothek<br />

kann dann in das gewünschte Verzeichnis kopiert werden. Entsprechendes gilt für die anderen<br />

Dateien.<br />

Der Aufruf des configure-Befehls konfiguriert das Paket zur Erzeugung <strong>einer</strong> statischen <strong>und</strong> <strong>einer</strong><br />

dynamischen Bibliothek. Soll die MM-Bibliothek statisch in den Apache gelinkt werden, muß<br />

die ausschließliche Erzeugung statischer Bibliotheken durch Konfiguration mit folgendem Kommando<br />

(anstelle des obenstehenden) veranlaßt werden:<br />

sh ./configure --disable-shared --prefix=/usr/local<br />

Die Übersetzung des Pakets erfolgt durch Aufruf von<br />

make<br />

Testen des Pakets durch Aufruf von<br />

make test<br />

Bei erfolgreichem Test wird nach <strong>einer</strong> Reihe von Test-Daten die folgende Meldung ausgegeben:<br />

OK - ALL TESTS SUCCESSFULLY PASSED.<br />

Abschließend kann das Paket mit folgendem Befehl installiert werden:


184 Kapitel 14. Installation der Software<br />

make install<br />

Wurde bei obigem Configure-Kommando die Option --prefix nicht auf ‘pwd‘ gesetzt, ist<br />

die Installation abgeschlossen. Der restliche <strong>Teil</strong> dieses Abschnitts bezieht sich auf die Installation<br />

durch Kopieren der einzelnen Dateien.<br />

Soll die statische MM-Bibliothek verwendet werden, ist eine Installation der Bibliothek im Prinzip<br />

nicht notwendig. Es reicht, bei der Konfiguration des Apache (s. 14.6) die MM-Konfigurations-<br />

Variable EAPI_MM auf den Pfad zum lib-Verzeichnis mit der statischen Bibliothek zu setzen,<br />

z.B. EAPI_MM=/usr/src/mm-1.0.12. Unterhalb dieses Verzeichnisses findet sich auch das<br />

include-Verzeichnis mit der MM-Header-Datei. Soll die statische Bibliothek trotzdem installiert<br />

werden, sind die folgenden Kommandos notwendig:<br />

cp lib/libmm.a lib/libmm.la /usr/local/lib<br />

chmod 644 /usr/local/lib/libmm.a /usr/local/lib/libmm.la<br />

cp include/mm.h /usr/local/include<br />

chmod 644 /usr/local/include/mm.h<br />

Soll der SSL-Apache die dynamische Bibliothek verwenden, muß die Bibliothek entweder in einem<br />

der üblichen Bibliotheks-Verzeichnisse installiert werden oder es muß vor dem Start des<br />

SSL-Apache die Umgebungsvariable LD_LIBRARY_PATH um das Verzeichnis, welches die MM-<br />

Bibliothek enthält, erweitert werden. Soll die Installation der dynamischen Bibliothek z.B. in<br />

/usr/local/lib erfolgen, sind nachstehende Kommandos notwendig:<br />

cp lib/libmm.so.10.0.12 /usr/local/lib<br />

cd /usr/local/lib && ln -s libmm.so.10.0.12 libmm.so<br />

ln -s libmm.so.10.0.12 libmm.so.10<br />

chmod 755 libmm.so.10.0.12<br />

cp include/mm.h /usr/local/include<br />

chmod 644 /usr/local/include/mm.h<br />

Damit ist die Installation des MM-Pakets abgeschlossen.<br />

14.4 Das Paket openssl-0.9.4.tar.gz<br />

Wie schon erwähnt wurde, fällt dieser Abschnitt knapp aus, da OpenSSL ein ganzer separater <strong>Teil</strong><br />

dieses Handbuches gewidmet ist (<strong>Teil</strong> II).<br />

Auspacken der Quellen in einem Verzeichnis (z.B. /usr/src):


14.4. Das Paket openssl-0.9.4.tar.gz 185<br />

gzip -dc openssl-0.9.4.tar.gz tar -xvf -<br />

Mit dem folgenden Befehl (nach dem Wechsel in das OpenSSL-Quell-Verzeichnis) wird das Paket<br />

konfiguriert:<br />

sh config --prefix=/usr/local<br />

Die Option --prefix=xxx ermöglicht die Angabe eines Pfades, unter dem nach der Übersetzung<br />

Bibliotheken (xxx/lib), Header-Dateien (xxx/include/openssl), Binaries (xxx/bin), sowie<br />

verschiedene Dateien zur Verwaltung <strong>und</strong> Herausgabe von Zertifikaten (xxx/ssl) installiert werden.<br />

Genaueres dazu steht in der Dokumentation des Pakets.<br />

Übersetzen des Pakets durch Aufruf von<br />

make<br />

Ein Test des übersetzten Pakets wird durch folgendes Kommando durchgeführt:<br />

make test<br />

Bei erfolgreichem Test wird am Ende des Testlaufs eine Meldung ähnlich der folgenden ausgegeben:<br />

Signed certificate is in newcert.pem<br />

newcert.pem: OK<br />

OpenSSL 0.9.4 09 Aug 1999<br />

built on: Thu Aug 12 12:14:31 MET DST 1999<br />

platform: solaris-sparcv8-gcc<br />

options: bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) idea(int) blowfish(ptr)<br />

compiler: gcc -DTHREADS -D_REENTRANT -mv8 -O3 -fomit-frame-pointer -Wall -<br />

DB_ENDIAN -DBN_DIV2W<br />

‘test’ is up to date.<br />

Abschließend kann das Paket mit dem folgenden Befehl installiert werden:<br />

make install<br />

Sollen die Dateien statt mit dem install-Befehl durch Kopieren installiert werden, sind folgende<br />

Kommandos notwendig:<br />

($(SSLDIR)=Installationspfad von OpenSSL, z.B. /usr/local):<br />

mkdir $(SSLDIR)/include $(SSLDIR)/include/openssl $(SSL-<br />

DIR)/bin $(SSLDIR)/lib<br />

cd /usr/src/openssl-0.9.4


186 Kapitel 14. Installation der Software<br />

cp lib* $(SSLDIR)/lib/<br />

cp include/openssl/* $(SSLDIR)/include/openssl/<br />

cp apps/openssl tools/c_rehash $(SSLDIR)/bin/<br />

Optional (weil nicht zur Übersetzung des SSL-Apache erforderlich) kann jetzt noch eine<br />

Verzeichnis-Struktur zur Herausgabe von Zertifikaten mittels des OpenSSL-Pakets etabliert werden:<br />

mkdir $(SSLDIR)/ssl $(SSLDIR)/ssl/private $(SSLDIR)/ssl/misc<br />

$(SSLDIR)/ssl/lib $(SSLDIR)/ssl/certs<br />

cd /usr/src/openssl-0.9.4/tools<br />

cp c_hash c_issuer c_info c_name .$(SSLDIR)/ssl/misc<br />

cd /usr/src/openssl-0.9.4/apps<br />

cp CA.pl CA.sh der_chop $(SSLDIR)/openssl/misc<br />

cp apps/openssl.cnf $(SSLDIR)/ssl<br />

Die vernünftige Nutzung dieser Struktur, also letztlich der <strong>Betrieb</strong> <strong>einer</strong> CA, setzt Wissen über die<br />

Handhabung von Zertifikaten voraus. Das gilt besonders, wenn Zertifikate für den SSL-Apache <strong>und</strong><br />

für Anwendungen selbst herausgegeben werden sollen. Aber auch, wenn „lediglich“ ein Request<br />

für eine Zertifizierung durch eine externe CA erzeugt werden soll, ist es unumgänglich, sich etwas<br />

eingehender mit dem Paket zu beschäftigen.<br />

Wie eine Serverzertifikat-Anforderung (Request) erzeugt werden kann, steht in Kapitel 15.2.<br />

Damit ist die Installation des OpenSSL-Pakets abgeschlossen.<br />

14.5 Das Paket mod_ssl-2.4.10-1.3.9<br />

Das Mod-SSL-Paket enthält eine umfangreiche Dokumentation zur Installation <strong>und</strong> zum <strong>Betrieb</strong><br />

des SSL-Apache. Sie ist im Quell-Verzeichnis des Pakets unter pkg.ssldoc zu finden.<br />

In diesem Abschnitt wird die Konfiguration des Mod-SSL-Pakets beschrieben. Dieses Paket wird<br />

nicht separat übersetzt, da es dazu dient, die Apache-Quellen zu verändern bzw. zu erweitern. Es<br />

werden die notwendigen Schnittstellen zum OpenSSL-Paket in die Apache-Quellen „gepatched“.<br />

Die so veränderten Apache-Quellen müssen dann später übersetzt werden.<br />

Auspacken der Quellen in einem Verzeichnis (z.B. in /usr/src):<br />

gzip -dc mod_ssl-2.4.10-1.3.9.tar.gz tar -xvf -<br />

Bevor das Mod-SSL-Paket konfiguriert werden kann, müssen zunächst die Apache-Quellen entpackt<br />

werden (z.B. in /usr/src):


14.6. Das Paket apache_1.3.9 187<br />

gzip -dc apache_1.3.9.tar.gz tar -xvf -<br />

Mit den folgenden Befehlen wird das Mod-SSL-Paket konfiguriert <strong>und</strong> gleichzeitig die notwendigen<br />

Veränderungen am Apache-Quellcode vorgenommen:<br />

cd mod_ssl-2.4.10-1.3.9<br />

sh ./configure --with-apache=../apache_1.3.9<br />

Bei der Option --with-apache= muß der Pfad angegeben werden, der auf die zuvor entpackten<br />

Apache-Quellen weist.<br />

Verlief die Ausführung des vorstehenden Kommandos erfolgreich, wird eine abschließende Meldung<br />

ausgegeben:<br />

Done: source extension and patches successfully applied.<br />

14.6 Das Paket apache_1.3.9<br />

Das Apache-Paket enthält eine umfangreiche Dokumentation des Servers im HTML-Format. Die<br />

Dokumentation befindet sich im Quell-Verzeichnis unterhalb des Verzeichnisses htdocs. Ebenfalls<br />

in diesem Verzeichnis befindet sich nach dem „Patchen“ der Apache-Quellen die Mod-SSL-<br />

Dokumentation.<br />

Der Apache-Web-Server besteht aus verschiedenen Modulen, die die Funktionalität des Servers bestimmen.<br />

Die Auswahl dieser Module ist abhängig vom vorgesehenen Einsatz des Servers: z.B.<br />

davon, ob CGI-Skripte oder Benutzerverzeichnisse zugelassen werden sollen. Zur Verwendung<br />

von CGI-Skripten ist dann das Modul mod_cgi erforderlich, <strong>und</strong> zur Unterstützung von User-<br />

Verzeichnissen das Modul mod_userdir. Daher ist es unumgänglich, sich mit den Modulen <strong>und</strong><br />

deren Funktionalität auseinanderzusetzen. Je nach gewünschtem Einsatz des Servers werden die<br />

Module bei dem untenstehenden Konfigurationsbefehl mit angegeben.<br />

Die im Folgenden vorgestellte Konfiguration erlaubt u.a. den <strong>Betrieb</strong> eines SSL-fähigen HTTP-<br />

Servers <strong>und</strong> die Verwendung von CGI-Skripten. Die vorgestellte Konfiguration unterstützt aber beispielsweise<br />

nicht die automatische Generierung von Index-Dateien in FTP-Verzeichnissen. Benutzerverzeichnisse<br />

werden ebenfalls nicht unterstützt.<br />

Zur Übersetzung kann der Apache auf zwei verschiedene Arten konfiguriert werden: mit Unterstützung<br />

für zur Laufzeit ladbare Module, den sogenannten „DSO-Support“ (DSO, Dynamic Shared<br />

Object), <strong>und</strong> ohne diesen DSO-Support.<br />

In Hinsicht auf die SSL-Fähigkeit des Servers unterscheiden sich die beiden Konfigurationsvarianten<br />

in folgender Weise:<br />

Werden DSO-Module vom Server nicht unterstützt, müssen die Original-Server-Quellen bei<br />

Herausgabe <strong>einer</strong> neuen Mod-SSL-Version erneut „gepatched“ <strong>und</strong> übersetzt werden.


188 Kapitel 14. Installation der Software<br />

Unterstützt der Server DSO-Module, kann die Laufzeitkonfiguration des Servers (festgelegt in<br />

der Datei httpd.conf) einfach geändert werden. Erfordert eine neue Konfigurationsdirektive<br />

die Funktionalität eines nicht geladenen Moduls, kann dieses nachgeladen werden. Nicht<br />

benötigte Module werden nicht geladen. Voraussetzung ist, daß sämtliche Module übersetzt<br />

vorliegen.<br />

Neue Mod-SSL-Version können übersetzt <strong>und</strong> anstelle des alten SSL-Moduls geladen werden.<br />

So muß nur das Modul <strong>und</strong> nicht der ganze Server übersetzt werden. Genaueres steht im<br />

Abschnitt 14.7.<br />

Nachteilig an der DSO-Variante sind leichte Performanz-Einbußen zur Laufzeit <strong>und</strong> eine etwas<br />

längere Startdauer des Servers.<br />

Denkbar ist auch, zunächst einen DSO-Server mit sämtlichen Modulen zu übersetzen. Mit diesen<br />

können dann verschiedene Modul-Konfigurationen getestet werden. Der letztlich eingesetzte Server<br />

könnte dann nur mit den benötigten Modulen in der Nicht-DSO-Variante übersetzt <strong>und</strong> anschließend<br />

eingesetzt werden.<br />

Es sei hier angemerkt, daß unnötige Module Speicherplatz kosten (in der DSO-Variante nur, wenn<br />

sie geladen werden) <strong>und</strong> das Risiko erhöhen, daß der Server durch falsche Konfiguration kompromittierbar<br />

wird.<br />

14.6.1 Apache ohne DSO-Support<br />

Die gewünschten Module werden beim Aufruf des Konfigurations-Befehls configure angegeben.<br />

Wegen der verschiedenen Möglichkeiten, diese Module zusammenzustellen, wird im Folgenden<br />

eine Beispielkonfiguration aufgeführt, die mit der Server-Konfigurationsdatei im Anhang G<br />

funktioniert. Die unten angegebenen Module ermöglichen den <strong>Betrieb</strong> eines SSL-Servers <strong>und</strong> erlauben<br />

die Verwendung von CGI-Skripten.<br />

Die Quellen des Apache liegen, wie im Abschnitt 14.5 beschrieben, „gepatched“ vor, z.B. unter<br />

/usr/src/apache_1.3.9. Nach Wechsel in das Apache-Quell-Verzeichnis erfolgt die Konfiguration<br />

durch das folgende, etwas längere Kommando:<br />

env SSL_BASE=/usr/local \<br />

EAPI_MM=/usr/local \<br />

CC="gcc" OPTIM="-O3 -mv8 -fomit-frame-pointer" \<br />

sh ./configure --prefix=/usr/local/apache \<br />

--disable-module=all --disable-rule=SSL_COMPAT \<br />

--enable-module=env \<br />

--enable-module=log_config --enable-module=mime \<br />

--enable-module=negotiation --enable-module=dir \<br />

--enable-module=cgi --enable-module=actions \<br />

--enable-module=access --enable-module=setenvif \<br />

--enable-module=alias --enable-module=ssl<br />

Die Variable SSL_BASE weist auf den Zweig des Dateisystems, in dem das OpenSSL-Paket installiert<br />

bzw. übersetzt wurde. Das gleiche gilt für EAPI_MM in Bezug auf die MM-Bibliothek. Der


14.6. Das Paket apache_1.3.9 189<br />

bei der Option --prefix= angegebene Pfad veranlaßt, daß bei einem späteren Aufruf von make<br />

install sämtliche Apache-Dateien unter diesem Verzeichnis in verschiedene Unterverzeichnisse<br />

installiert werden.<br />

Die einfachste Möglichkeit, ein f<strong>einer</strong> angepaßtes Installations-Layout zu bekommen, besteht in<br />

der Anpassung der Datei config.layout im Apache-Quellverzeichnis (apache_1.3.9). Zu<br />

dieser Layout-Datei kann ein eigenes benanntes Layout hinzugefügt werden, welches statt mit der<br />

Option --prefix=xxx mit der Option --with-layout=layoutname angegeben wird. Es ist<br />

auch möglich, die einzelnen Dateien nach der Übersetzung durch Kopieren an die gewünschte Stelle<br />

zu kopieren. Diese Variante wird im Abschnitt 14.6.3 vorgestellt.<br />

Die Übersetzung wird durch folgendes Kommando gestartet:<br />

make<br />

Die Übersetzung sollte ohne Fehler oder Warnungen erfolgen.<br />

14.6.2 Apache mit DSO-Support<br />

Die in diesem Abschnitt vorgestellte Konfiguration konfiguriert die Server-Quellen so, daß sämtliche<br />

möglichen Module des Servers übersetzt <strong>und</strong> installiert werden. Welche Module dann tatsächlich<br />

für den <strong>Betrieb</strong> des Servers geladen werden, wird über die Konfigurationsdatei (siehe Anhang<br />

G) festgelegt. (Alternativ können auch nur die tatsächlich benötigten Module durch mehrfache<br />

Verwendung der Option --enable-shared=Modulname bei untenstehendem Konfigurations-<br />

Kommando angegeben werden.)<br />

Damit der Apache die Bibliotheken des MM-Pakets findet, muß die Umgebungsvariable<br />

LD_LIBRARY_PATH den Pfad /usr/local/lib enthalten.<br />

Der folgende Befehl konfiguriert die Apache-Quellen so, daß sämtliche Apache-Module <strong>und</strong> das<br />

SSL-Modul kompiliert werden:<br />

env SSL_BASE=/usr/local \<br />

EAPI_MM=/usr/local \<br />

CC=’gcc’ OPTIM=’-O3 -mv8 -fomit-frame-pointer’ \<br />

sh ./configure \<br />

--prefix=/usr/local/apache \<br />

--enable-shared=ssl \<br />

--disable-rule=SSL_COMPAT \<br />

--enable-shared=max \<br />

--enable-shared=remain<br />

Sollen einzelne Module von der Konfiguration ausgenommen werden, kann die Konfigurations-<br />

Option --disable=Modulname eingesetzt werden:


190 Kapitel 14. Installation der Software<br />

env SSL_BASE=/usr/local \<br />

EAPI_MM=/usr/local \<br />

CC=’gcc’ \<br />

OPTIM=’-O3 -mv8 -fomit-frame-pointer’ \<br />

sh ./configure \<br />

--prefix=/usr/local/apache \<br />

--enable-shared=ssl \<br />

--enable-shared=max \<br />

--enable-shared=remain \<br />

--disable-shared=auth_db \<br />

--disable-module=auth_db \<br />

--disable-shared=auth_digest \<br />

--disable-module=auth_digest<br />

Die Variable SSL_BASE weist auf den Zweig des Dateisystems, in dem das OpenSSL-Paket installiert<br />

bzw. übersetzt wurde. Das gleiche gilt für EAPI_MM in Bezug auf die MM-Bibliothek. Der<br />

bei der Option --prefix= angegebene Pfad veranlaßt, daß bei einem späteren Aufruf von make<br />

install sämtliche Apache-Dateien unter diesem Verzeichnis in verschiedene Unterverzeichnisse<br />

installiert werden.<br />

Die einfachste Möglichkeit, ein f<strong>einer</strong> angepaßtes Installations-Layout zu bekommen, besteht in<br />

der Anpassung der Datei config.layout im Apache-Quellverzeichnis (apache_1.3.9). Zu<br />

dieser Layout-Datei kann ein eigenes benanntes Layout hinzugefügt werden, welches statt der Option<br />

--prefix=xxx mit der Option --with-layout=layoutname angegeben wird. Es ist auch<br />

möglich, die einzelnen Dateien nach der Übersetzung an die gewünschte Stelle zu kopieren. Diese<br />

Variante wird im nachfolgenden Abschnitt 14.6.3 vorgestellt.<br />

Die Übersetzung erfolgt durch Aufruf von<br />

make<br />

Es ist möglich, die gewünschten Module alle explizit aufzuführen. Die im vorigen Abschnitt 14.6.1<br />

vorgestellte Nicht-DSO-Konfiguration wird zur DSO-Konfiguration, wenn in der Konfiguration alle<br />

--enable-module Optionen durch --enable-shared ersetzt werden.<br />

14.6.3 Installation des SSL-Apache durch Kopieren<br />

Nachfolgend wird die Installation eines „normalen“ HTTP-Servers auf Port 80 <strong>und</strong> eines SSL-<br />

Servers auf Port 443 beschrieben.<br />

Die vorgestellte Installation ist beispielhaft zu verstehen <strong>und</strong> kann von Fall zu Fall sehr unterschiedlich<br />

aussehen. Die Installation kann durch make install automatisch erfolgen. Dabei werden<br />

aber auch Dateien installiert, die eher für einen Test-<strong>Betrieb</strong> gedacht sind. Daher wird auf diese Option<br />

hier nicht weiter eingegangen <strong>und</strong> im folgenden gezeigt, wie die notwendigen Dateien durch<br />

Kopieren installiert werden.


14.6. Das Paket apache_1.3.9 191<br />

Die Installation der Dateien <strong>und</strong> die <strong>Betrieb</strong>s-Konfiguration des Servers sind voneinander abhängig.<br />

Die <strong>Betrieb</strong>s-Konfiguration des Servers erfolgt über eine Konfigurationsdatei. Die Beispiel-<br />

Konfigurationsdatei im Anhang G beschreibt den <strong>Betrieb</strong> eines Nicht-SSL-Servers (üblicherweise<br />

auf Port 80) <strong>und</strong> eines SSL-Servers auf Port 443. Dafür werden zwei Hauptverzeichnisse angelegt.<br />

Das erste nimmt innerhalb von fünf oder sechs Unterverzeichnissen die Konfigurationsdateien, Log-<br />

Dateien, CGI-Skripte, Icons, SSL-Dateien (Zertifikate u.a.) <strong>und</strong> eventuell die Apache-Module (eines<br />

DSO-Servers) auf. Das andere Hauptverzeichnis enthält zwei Unterverzeichnisse, die für je einen<br />

Server das sogenannte „Document-Root-Verzeichnis“ bilden. Diese Unterverzeichnisse nehmen die<br />

HTML-Seiten auf, die von dem jeweiligen Server gesendet werden sollen.<br />

Zum <strong>Aufbau</strong> der Verzeichnisstruktur sind folgende Befehle notwendig:<br />

($(APADIR)=Apache-Installationspfad, z.B. $(APADIR)=/usr/local/apache),<br />

($(WWW)=HTML-Root-Verzeichnis, z.B. $(WWW)=/var/www)<br />

mkdir $(APADIR) $(APADIR)/conf $(APADIR)/logs $(APADIR)/icons<br />

$(APADIR)/cgi-bin $(APADIR)/ssl $(APADIR)/ssl/cacerts $(APA-<br />

DIR)/ssl/crls<br />

mkdir $(WWW) $(WWW)/www80 $(WWW)/www443<br />

Wurde der Server mit DSO-Unterstützung übersetzt, muß zusätzlich noch ein Verzeichnis<br />

libexec angelegt werden, welches die übersetzten Apache-Module aufnimmt.<br />

mkdir $(APADIR)/libexec<br />

Die man-Seiten, die ausführbaren Dateien bzw. Skripte sowie die HTML-Dokumentation des<br />

Servers werden im entsprechenden Zweig des Dateibaums installiert, also z.B. unterhalb<br />

/usr/local/man bzw. in /usr/local/bin <strong>und</strong> /usr/local/doc. Die Dokumentation<br />

bzw. die Manual-Seiten sind zur Laufzeit nicht erforderlich <strong>und</strong> können bei Bedarf weggelassen<br />

werden.<br />

Jetzt können die Dateien kopiert werden.<br />

Für einen ersten Test des Servers kann die mit dem Apache <strong>und</strong> die mit dem Mod-SSL-Paket gelieferte<br />

Hauptseite kopiert werden.<br />

1. cd /usr/src/apache_1.3.9<br />

2. cp src/httpd /usr/local/bin<br />

3. cd src/support<br />

4. cp ap apachectl apxs dbmmanage htdigest htpasswd<br />

log_server_status logresolve split_logfile suexec<br />

/usr/local/bin<br />

Diese Dateien müssen nicht alle vorhanden sein, da die Übersetzung in Abhängigkeit von<br />

den gewählten Modulen erfolgt.


192 Kapitel 14. Installation der Software<br />

5. cd /usr/src/apache_1.3.9<br />

6. cp conf/mime.types $(APADIR)/conf<br />

7. cp conf/httpd.conf-dist $(APADIR)/conf/httpd.conf<br />

8. cp support/*.1 /usr/local/man/man1<br />

9. cp support/*.8 /usr/local/man/man8<br />

10. cp htdocs/index.html $(WWW)/www80<br />

11. cp htdocs/manual/mod/mod_ssl/index.html $(WWW)/www443<br />

12. cp htdocs/apache_pb.gif $(APADIR)/icons<br />

Wurde der Server mit DSO-Unterstützung übersetzt, müssen noch die Module kopiert werden. Da<br />

diese zum <strong>Teil</strong> auf diverse Unterverzeichnisse verteilt sind, wird das find-Kommando eingesetzt:<br />

cp ‘find . -name "*.soprint‘ $(APADIR)/libexec/<br />

Wichtig:<br />

In jedem Fall ist vor Aufnahme des regulären <strong>Betrieb</strong>s des Servers die Konfigurationsdatei<br />

httpd.conf im Verzeichnis $(APADIR)/conf anzupassen. Eine Beispieldatei findet sich im<br />

Anhang G.<br />

14.6.4 Gruppen- <strong>und</strong> Benutzerrechte<br />

Aus Sicherheitsgründen sollte für den Server unbedingt ein eigener Benutzer (hier httpsd) <strong>und</strong><br />

eine eigene Gruppe (hier www) eingerichtet werden. Der Server muß vom Benutzer root gestartet<br />

werden, damit der Server sich an die privilegierten Ports (80 <strong>und</strong> 443) binden kann. Anschliessend<br />

werden Kind-Prozesse gestartet, die die Anfragen bedienen. Der Eltern-Prozeß läuft unter<br />

der User-ID root, die Kind-Prozesse unter der in der Konfigurationsdatei angegebenen (weniger<br />

privilegierten) User- bzw. Group-ID, also z.B. httpsd bzw. www. Weiterhin ist es sinnvoll, einen<br />

eigenen User (hier wwwadm) zur Pflege der Web-Seiten einzurichten. Der User wwwadm gehört<br />

dann derselben Gruppe wie der Server an (hier www).<br />

Im folgenden ein Vorschlag zum Setzen von Benutzern, Gruppen <strong>und</strong> den Rechten.<br />

Es soll hier nochmal betont werden, daß große Aufmerksamkeit bei Vergabe der Rechte <strong>und</strong> Festlegung<br />

der Gruppen walten sollte. Ein falsch konfigurierter Server eröffnet möglicherweise einen<br />

nicht autorisierten Zugang zum Rechner! Insbesondere sollten Dateien, die von Prozessen mit der<br />

UID root gelesen werden, nicht von anderen geschrieben werden können.<br />

Setzen von Benutzer <strong>und</strong> Gruppe:<br />

chown -R root:root $(APADIR)


14.7. Übersetzung von neuen Mod-SSL-Versionen 193<br />

chown -R wwwadm:www $(APADIR)/icons $(APADIR)/cgi $(APA-<br />

DIR)/ssl $(www)/www80 $(WWW)/www443<br />

Setzen der Rechte:<br />

chmod -R 755 $(APADIR)<br />

chmod -R 700 $(APADIR)/logs $(APADIR)/ssl<br />

chmod 750 $(APADIR)/conf $(APADIR)/icons $(APADIR)/cgi $(APA-<br />

DIR)/crls<br />

$(APADIR)/cacerts $(WWW)/www80 $(WWW)/www443<br />

chmod 600 $(APADIR)/conf/*<br />

chmod 640 $(APADIR)/icons/* $(WWW)/www80/* $(WWW)/www443/*<br />

Für das DSO-Module-Verzeichnis:<br />

chown root:root $(APADIR)/libexec/*<br />

chmod 755 $(APADIR)/libexec/*<br />

Zum Starten bzw. Stoppen des Servers siehe Abschnitt 15.5.<br />

14.7 Übersetzung von neuen Mod-SSL-Versionen<br />

Bevor ein neues Mod-SSL-Paket mit dem Apache in <strong>Betrieb</strong> genommen wird, sollte auf jeden Fall<br />

die Datei CHANGES des Mod-SSL-Pakets gelesen werden. Möglicherweise wurden nicht nur Fehler<br />

beseitigt, sondern auch neue Konfigurationsdirektiven eingeführt oder alte Direktiven geändert.<br />

Entsprechend müßte dann vor dem Start des Servers eine Anpassung der Konfigurationsdatei vorgenommen<br />

werden.<br />

Wurde der Apache ohne DSO-Support installiert, also die Module statisch in den Apache eingeb<strong>und</strong>en,<br />

muß der Apache zusammen mit dem neuen Mod-SSL-Paket komplett übersetzt <strong>und</strong> installiert<br />

werden (wie in 14.6 beschrieben). Dazu müssen die Apache-Quellen erneut ausgepackt werden, <strong>und</strong><br />

nicht etwa die „alten“, schon „gepatchten“ Quellen wiederverwendet werden.<br />

Wurde der Apache mit DSO-Support <strong>und</strong> SSL-Modul installiert, vereinfacht sich die Installation der<br />

neuen Mod-SSL-Version. Das Vorgehen wird im folgenden beschrieben.<br />

Es wird angenommen, daß die Installation des OpenSSL-Pakets <strong>und</strong> des Apache unter<br />

/usr/local erfolgte. Insbesondere das mitgelieferte Perl-Skript mit Namen apxs muß unter<br />

dem angegebenen Pfad zur Verfügung stehen. In diesem Skript sind u.a. die Pfade eingetragen, in<br />

denen der Apache bzw. seine Komponenten installiert wurden.


194 Kapitel 14. Installation der Software<br />

cd /usr/src<br />

gzip -dc mod_ssl-2.4.x-1.3.9.tar.gz<br />

cd mod_ssl-2.4.x-1.3.9<br />

env CC=gcc sh ./configure \<br />

--with-apxs=/usr/local/bin/apxs \<br />

--with-ssl=/usr/local<br />

make<br />

Vor Ausführung des nächsten Befehls sollte das alte Modul umbenannt werden, um im Zweifelsfall<br />

die letzte (lauffähige) SSL-Apache-Version wiederherstellen zu können. Anschließend wird dann<br />

das neue Modul kopiert:<br />

cp /usr/local/apache/libexec/libssl.so<br />

/usr/local/apache/libexec/libssl.so.old<br />

cp mod_ssl-2.4.n-1.3.9/pkg.sslmod/libssl.so<br />

/usr/local/apache/libexec/<br />

chown root:root $(APADIR)/libexec/libssl.so<br />

chmod 755 /usr/local/apache/libexec/libssl.so<br />

Dann muß der Server gestoppt <strong>und</strong> gestartet werden:<br />

1. kill -TERM ‘cat /usr/local/apache/logs/httpsd.pid‘<br />

2. /usr/local/bin/httpd -DSSL<br />

Genaueres zum Starten bzw. Stoppen steht in Kapitel 15.5.


Kapitel 15<br />

<strong>Betrieb</strong> des SSL-Apache<br />

Bevor der SSL-Apache in <strong>Betrieb</strong> genommen werden kann, muß normalerweise ein Schlüsselpaar<br />

nebst Zertifikat für den Server erzeugt werden. Ohne dieses Server-Zertifikat kommt keine SSL- <strong>und</strong><br />

somit keine verschlüsselte Verbindung zustande. Das Zertifikat enthält den Public-Key sowie u.a.<br />

den Namen des Servers. Bei einem SSL-Verbindungswunsch des Client wird das Server-Zertifikat<br />

vom Server an den Client geschickt. Wurde das Zertifikat durch eine dem Client bekannte CA<br />

herausgegeben (d.h. das CA-Zertifikat liegt dem Client vor), kann der Client die Gültigkeit der<br />

Signatur des Server-Zertifikats mit Hilfe des Public-Keys im CA-Zertifikat prüfen. Ist die Signatur<br />

in Ordnung <strong>und</strong> das Zertifikat gültig, kann es akzeptiert werden.<br />

Abhängig vom Browser <strong>und</strong> s<strong>einer</strong> Konfiguration wird der Benutzer von der Zertifikat-Prüfung u.U.<br />

nichts merken, wenn das CA-Zertifikat zuvor in den Browser importiert <strong>und</strong> als gültig anerkannt<br />

wurde. Liegt dem Client jedoch kein CA-Zertifikat vor, entscheidet der Benutzer, ob das Zertifikat<br />

vertrauenswürdig ist oder nicht. Der Benutzer muß dazu üblicherweise eine vom Browser initiierte<br />

Interaktion „durchklicken“, an deren Ende der Benutzer die Gültigkeit des Server-Zertifikats explizit<br />

anerkennt. Damit ist der Server authentifiziert. Anschließend werden dann Session-Keys vereinbart,<br />

so daß die Nutz-Informationen verschlüsselt übertragen werden können.<br />

15.1 Virtuelle Server<br />

Es ist möglich, mehrere virtuelle Server zu betreiben. Diese Server werden vom selben Eltern-<br />

Prozeß gestartet <strong>und</strong> können über verschiedene Namen angesprochen werden. Jeder Server kann<br />

sein eigenes Document-, CGI-Verzeichnis usw. haben. Auf diese Weise können mehrere WWW-<br />

Server auf demselben Rechner verwaltet werden.<br />

Die Namen dieser (virtuellen) Server werden alle derselben IP-Nummer zugeordnet <strong>und</strong> müssen in<br />

einem Nameserver eingetragen sein. Der Apache wählt dann den gewünschten Server anhand des<br />

von den (meisten) Browsern mitgesendeten Servernamen aus. Mehrere SSL-Server können auf diese<br />

Weise nicht betrieben werden, denn bevor der Browser den Namen des gewünschten Servers sendet,<br />

erfolgt das SSL-Handshake. Zum Zeitpunkt des Handshakes sind jedoch lediglich IP- <strong>und</strong> Port-<br />

Nummern bekannt. Daher kann für jede IP- <strong>und</strong> Port-Nummer nur ein SSL-Server aufgesetzt<br />

werden. Daraus ergeben sich zwei Möglichkeiten, mehrere virtuelle SSL-Server zu betreiben: durch<br />

195


196 Kapitel 15. <strong>Betrieb</strong> des SSL-Apache<br />

Zuordnung von mehreren IP-Nummern zum Netzwerk-Interface bzw. durch die Verwendung von<br />

mehreren Ports.<br />

Erfolgt der Einsatz der virtuellen SSL-Server mittels unterschiedlicher IP-Nummern, werden diese<br />

IP-basiert genannt. Zu der Verwendung von anderen Port-Nummern als 443 für einen SSL-Server<br />

ist anzumerken, daß die meisten Ports unterhalb von 1024 für andere Dienste vergeben sind. Zudem<br />

muß die Port-Nummer dann in der gewünschten URL mit angegeben werden, was aus Anwendersicht<br />

nicht sehr komfortabel ist. Virtuelle SSL-Server sind also möglich, sollten aber IP-basiert sein.<br />

15.2 Erzeugen eines Server-Zertifikats<br />

In diesem Abschnitt werden zwei Möglichkeiten vorgestellt, ein Server-Zertifikat zu erzeugen. Die<br />

erste Möglichkeit verwendet die vom Mod-SSL-Paket zur Verfügung gestellten Hilfsmittel. Es wird<br />

ein Server-Test-Zertifikat erzeugt, welches durch eine Test-CA signiert wurde. Die zweite Variante<br />

beschreibt die Erzeugung eines Requests mit anschließender Zertifizierung durch eine reale CA.<br />

Beide Varianten verwenden das openssl-Binary des SSL-Pakets OpenSSL. Da der SSL-Apache<br />

ohne kompiliertes OpenSSL-Paket nicht zu übersetzen wäre, sollte dieses Binary vorhanden sein.<br />

15.2.1 Erzeugen eines Zertifikats durch make certificate<br />

In diesem Abschnitt beschriebene Mod-SSL-Direktiven (siehe Dokumentation des Mod-SSL-<br />

Pakets):<br />

SSLCertificateFile<br />

SSLCertificateKeyFile<br />

SSLCACertificateFile<br />

SSLCACertificatePath<br />

Nachdem der Apache übersetzt wurde, kann durch Aufruf von make certificate im<br />

Apache-Quell-Verzeichnis ein Server-Zertifikat mit zugehörigem 1024-Bit-Schlüssel erstellt werden.<br />

In einzelnen Schritten („STEP 1-4“) werden die Angaben zur Erzeugung <strong>einer</strong> Server-<br />

Zertifikatanforderung (Serverrequest) abgefragt. Die Fragen sind sehr ausführlich <strong>und</strong> sollten keine<br />

Probleme bereiten. U.a. werden Angaben zu Land, B<strong>und</strong>esstaat usw. abgefragt. Wichtig ist die Angabe<br />

Common Name: Hier ist unbedingt der Server-Name anzugeben, also z.B. www.name.de.<br />

Andernfalls werden Browser eine Warnung ausgeben, daß der Server möglicherweise nicht derjenige<br />

ist, als der er sich ausgibt.<br />

Im letzten Schritt („STEP 4“) wird nach <strong>einer</strong> Passphrase gefragt, mittels der der Private-Key des<br />

Servers geschützt werden soll. Diese Passphrase wird bei jedem Starten des Servers abgefragt, um<br />

den Private-Key entsperren zu können. (Diskussionen über Vor- <strong>und</strong> Nachteile eines verschlüsselten<br />

Server-Keys tauchen immer mal wieder auf, <strong>und</strong> auch hier wird keine „letzte“ Antwort gegeben.


15.2. Erzeugen eines Server-Zertifikats 197<br />

Klar ist, daß die Angabe <strong>einer</strong> Passphrase beim Start des Servers ein unbeaufsichtigtes Starten erschwert.<br />

)<br />

Abschließend wird der Request zertifiziert <strong>und</strong> liegt dann im Verzeichnis conf/ssl.crt/ unter<br />

dem Namen server.crt vor. Das zugehörige (von Mod-SSL mitgelieferte) CA-Zertifikat findet<br />

sich im Apache-Quell-Baum unter conf/ssl.crt/snakeoil-ca-rsa.crt. Für einen Test<br />

können die beiden Zertifikate <strong>und</strong> der Server-Key conf/ssl.key/server.key in das Apache-<br />

Verzeichnis kopiert werden:<br />

cp conf/ssl.crt/server.crt $(APADIR)/ssl/serverCert.pem<br />

cp conf/ssl.key/server.key $(APADIR)/ssl/serverKey.pem<br />

cp conf/ssl.crt/snakeoil-ca-rsa.crt $(APA-<br />

DIR)/ssl/cacerts/snakeCA.pem<br />

Rechte <strong>und</strong> Gruppe anpassen:<br />

chown root:other $(APADIR)/ssl/*.pem<br />

chmod 400 $(APADIR)/ssl/*.pem<br />

chown -R www:wwwadm $(APADIR)/cacerts<br />

chmod 440 $(APADIR)/cacerts/*<br />

Die entsprechenden Konfigurations-Direktiven müssen in der Konfigurationsdatei httpd.conf<br />

(siehe Anhang G) gesetzt sein, z.B.:<br />

SSLCertificateFile /usr/local/apache/ssl/serverCert.pem<br />

Die Direktive weist auf die Datei mit dem Serverzertifikat.<br />

SSLCertificateKeyFile /usr/local/apache/ssl/serverKey.pem<br />

Die Direktive weist auf die Datei mit dem Private-Key des Servers. Sollte sich der Server-<br />

Key zusammen mit dem Server-Zertifikat in <strong>einer</strong> Datei befinden, muß hier ebenfalls die<br />

Zertifikatdatei angegeben werden.<br />

SSLCACertificateFile /usr/local/apache/ssl/cacerts/snakeCA.pem<br />

Die Direktive weist auf die Datei mit dem CA-Zertifikat. CA-Zertifikate werden benötigt, um<br />

eine Client-Zertifikatprüfung durchzuführen. Es können mehrere CA-Zertifikate in eine Datei<br />

geschrieben werden: z.B. cat ca1.pem ca2.pem ca3.pem<br />

cas.pem.<br />

SSLCACertificatePath /usr/local/apache/ssl/cacerts<br />

Die Direktive dient ebenfalls dazu, dem Server Zugriff auf CA-Zertifikate zu geben. Der<br />

Unterschied zu SSLCACertificateFile liegt in der Verwaltung der CA-Zertifikate. Für<br />

SSLCACertificatePath müssen alle Zertifikate einzeln in das benannte Verzeichnis kopiert<br />

werden (hier: .../cacerts). Anschließ werden sie dann über ihre Hash-Werte durch<br />

die Ausführung des Shell-Skripts c_rehash (aus dem OpenSSL-Paket) verlinkt. Ohne diese<br />

Links findet der Apache die CA-Zertifikate nicht:


198 Kapitel 15. <strong>Betrieb</strong> des SSL-Apache<br />

cd $(APACHE)/ssl/cacerts<br />

chmod 640 $(APADIR)/ssl/cacerts/*<br />

c_rehash<br />

15.2.2 Zertifizierung durch eine CA<br />

Bei dieser Methode wird zunächst ein Request erzeugt, welcher anschließend durch eine CA signiert<br />

wird. Diese CA kann natürlich auch vom Betreiber des Servers realisiert werden; hierzu kann<br />

ebenfalls das OpenSSL-Paket eingesetzt werden. Auf diese Variante der Realisierung <strong>einer</strong> CA wird<br />

hier nicht weiter eingegangen.<br />

Zur Erzeugung eines Requests muß zunächst ein Schlüsselpaar generiert werden. Mit folgendem<br />

Befehl wird ein 1024 Bit-Schlüssel erzeugt (bei Bedarf ist der OpenSSL-Pfad zu ergänzen):<br />

openssl genrsa -out serverKey.pem -rand file1:file2:... 1024<br />

Vorher sollte allerdings die Umgebungsvariable RANDFILE gesetzt <strong>und</strong> der Zufallszahlen-Status<br />

initialisiert worden sein. Dazu kann irgendeine Datei mit (Pseudo-)Zufallsdaten nach $(RAND-<br />

FILE) kopiert werden. Die nach der Option -rand angegebenen Dateien dienen als zusätzliche<br />

Zufallsdaten für die Schlüsselerzeugung.<br />

Das genrsa-Kommando erzeugt ein unverschlüsseltes Schlüsselpaar, der Private-Key ist also von<br />

jedem verwendbar. Ist eine Verschlüsselung des Private-Keys gewünscht, kann bei obigem Kommando<br />

zusätzlich die Option -des3 angegeben werden.<br />

Die Erzeugung des Requests erfolgt anschließend durch folgenden Befehl:<br />

openssl req -new -inkey serverKey.pem -out severReq.pem<br />

Nach Eingabe des Befehls müssen folgende Angaben gemacht werden (beispielhafte Eingaben sind<br />

in doppelten Anführungsstrichen):<br />

Using configuration from /usr/local/openssl/openssl.cnf<br />

Enter PEM pass phrase:<br />

You are about to be asked to enter information that will be incorporated<br />

into your certificate request.<br />

What you are about to enter is what is called a Distinguished Name or a DN.<br />

There are quite a few fields but you can leave some blank<br />

For some fields there will be a default value,<br />

If you enter ’.’, the field will be left blank.<br />

-----<br />

Country Name (2 letter code) [AU]:"DE"<br />

State or Province Name (full name) [Some-State]:"Schleswig-Holstein"<br />

Locality Name (eg, city) []:"Kiel"<br />

Organization Name (eg, company) [Internet Widgits Pty Ltd]:"WWW UnLtd"<br />

Organizational Unit Name (eg, section) []:"Abt. Web-Server"<br />

Common Name (eg, YOUR name) []:"www.www-unltd.de"<br />

Email Address []:"wwwadmin@www-unltd.de"<br />

Please enter the following "extra" attributes<br />

to be sent with your certificate request<br />

A challenge password []:<br />

An optional company name []:


15.3. Prüfung von Client-Zertifikaten 199<br />

(Für den genauen Inhalt muß die zertifizierende CA bzw. deren Policy konsultiert werden.)<br />

Achtung:<br />

Soll der signierte Request später als SSL-Server-Zertifikat verwendet werden, muß als Common<br />

Name unbedingt der Server-Name angegeben werden!<br />

Die beiden letzten Angaben (challenge password <strong>und</strong> optional company name) tauchen<br />

als Klartext im Attribut-Bereich des Requests auf. Soll später ein Zertifikat zurückgerufen<br />

werden, kann sich der Inhaber gegenüber der CA, auch bei Verlust des Private-Keys, durch Angabe<br />

dieser Felder als Inhaber „ausweisen“. Die Verwaltung dieser Angaben kann von der unterzeichnenden<br />

CA durchgeführt werden. Ob die signierende CA diese Felder unterstützt, sollte mit der CA<br />

geklärt werden.<br />

Der so erzeugte Request (die Datei serverReq.pem) kann dann <strong>einer</strong> CA zum Signieren vorgelegt<br />

werden. Alternativ kann auch eine eigene (Test-)CA installiert <strong>und</strong> der Request signiert werden.<br />

Auf diese Möglichkeit wird hier nicht weiter eingegangen. Liegt das Server-Zertifikat später vor,<br />

werden das Zertifikat <strong>und</strong> der Private-Key nach $(APADIR)/ssl kopiert.<br />

Für die Konfiguration der Mod-SSL-Direktiven gelten die im Abschnitt 15.2.1 gemachten Anmerkungen.<br />

15.3 Prüfung von Client-Zertifikaten<br />

In diesem Abschnitt werden die folgenden Mod-SSL-Direktiven beschrieben (siehe Dokumentation<br />

des Mod-SSL-Pakets):<br />

SSLVerifyClient<br />

SSLVerifyDepth<br />

SSLRequire<br />

SSLOptions<br />

SSLRequireSSL<br />

Ist zusätzlich zu der obligatorischen Server-Authentifizierung (siehe Kapitel 15) noch eine Client-<br />

Authentifizierung erforderlich, schickt der Client sein Zertifikat während des SSL-Handshakes an<br />

den Server. Der Server sendet dazu dem Client eine zufällige Nachricht, die dieser dann signiert<br />

zusammen mit seinem Zertifikat an den Server sendet. Dieser kann dann die Signatur mit dem<br />

Public-Key aus dem Client-Zertifikat überprüfen. Das Client-Zertifikat selbst wird dann ebenfalls<br />

überprüft, wozu das Zertifikat der Herausgeber-CA erforderlich ist.<br />

SSLVerifyClient<br />

Der SSL-Server kann in Bezug auf die Client-Authentifizierung auf vier verschiedene Arten konfiguriert<br />

werden (Schlüsselwort SSLVerifyClient):


200 Kapitel 15. <strong>Betrieb</strong> des SSL-Apache<br />

none<br />

optional<br />

require<br />

Es ist kein Zertifikat erforderlich, es erfolgt also keine Client-Authentisierung.<br />

Ein gültiges Zertifikat wird akzeptiert, ist aber nicht erforderlich.<br />

Ein gültiges Zertifikat muß vorgelegt werden. Außerdem muß es überprüfbar sein, der Server<br />

muß also das Zertifikat der Unterzeichner-CA vorliegen haben.<br />

optional_no_ca<br />

Ein gültiges Zertifikat kann vorgelegt werden, muß aber nicht überprüfbar sein.<br />

Für einen realen <strong>Betrieb</strong> kommen none oder require in Frage. Die anderen Werte können für<br />

einen Test-Server interessant sein.<br />

Durch Setzen der SSLVerifyClient-Direktive auf require erhält ein Client erst nach<br />

erfolgter Authentisierung Zugriff auf die HTML-Seiten eines Servers. Es ist aber auch möglich,<br />

dem Client Zugriff auf das Document-Root-Verzeichnis ohne Zertifikat zu gewähren (SSLVerifyClient<br />

none) <strong>und</strong> dann den Zugriff auf Seiten in einem Unterverzeichnis erst nach<br />

erfolgreicher Client-Authentisierung zuzulassen. Dazu wird eine zweite SSLVerifyClient-<br />

Direktive innerhalb <strong>einer</strong> Directory-Anweisung für dieses Unterverzeichnis auf require<br />

gesetzt. Der Ablauf ist dann folgender: Der Client kontaktiert den Server, <strong>und</strong> es wird zunächst<br />

eine Server-Authentifizierung durchgeführt. Danach hat der Client Zugriff auf das Document-Root-<br />

Verzeichnis. Versucht dann der Client, von den nicht geschützten Seiten auf die Seiten in dem durch<br />

SSLVerifyClient require geschützten Verzeichnis zuzugreifen, werden die Bedingungen<br />

für die SSL-Verbindung erneut ausgehandelt (Renegotiation). Der Server fordert dann vom Client<br />

ein Zertifikat <strong>und</strong> gestattet den Zugriff erst nach erfolgreicher Authentisierung des Clients.<br />

SSLVerifyDepth<br />

Zusammen mit der Direktive SSLVerifyClient wird die Direktive SSLVerifyDepth n<br />

eingesetzt. Durch die Zahl n wird die maximale Länge der zu prüfenden Zertifikatkette festgelegt.<br />

Ein Wert von n=1 bedeutet, daß der Client direkt von <strong>einer</strong> Root-CA signiert wurde. Ein Wert von<br />

3 erlaubt die Prüfung <strong>einer</strong> Zertifikatkette aus drei CA-Zertifikaten <strong>und</strong> Client-Zertifikat.<br />

SSLRequire, SSLOptions, SSLRequireSSL<br />

Wie das Client-Zertifikat auszusehen hat, kann sehr fein durch die SSLRequire-Direktive kontrolliert<br />

werden. Der SSL-Server setzt, wenn die Direktive SSLOptions die Option +Export-<br />

CertData enthält, mehrere Umgebungsvariablen, deren Werte aus den einzelnen Zertifikatfeldern<br />

bestehen. Beispielweise kann die Variable SSL_CLIENT_S_DN_L den Wert Kiel haben, also<br />

den Inhalt des Locality-Feldes (L) aus dem Distinguished Name (DN) des Zertifikat-Subjects (S).<br />

Die Bezeichnungen der anderen Variablen bauen sich analog auf. Ein vollständige Liste der Namen<br />

der gesetzten Variablen kann der Mod-SSL-Dokumentation entnommen werden.


15.4. Widerrufslisten (CRLs) 201<br />

Das oben bei der SSLVerifyClient-Direktive angeführte Beispiel des durch Renegotiation geschützten<br />

Unterverzeichnisses kann durch Verwendung dieser Variablen weiter verf<strong>einer</strong>t werden:<br />

z.B. sollen nur Clients mit überprüfbarem Zertifikat Zugriff auf das Unterverzeichnis bekommen,<br />

wenn das Zertifikat im Locality-Feld des DN die Zeichenkette Kiel enthält. Die entsprechende<br />

Direktive zur Prüfung des Locality-Feldes sieht so aus:<br />

SSLOptions +ExportCertData +OptRenegotiate +StrictRequire<br />

SSLRequire %{SSL_CLIENT_S_DN_L} eq "Kiel"<br />

Die Option +StrictRequire zu setzen, hat eine Sicherungsfunktion. Wenn unter den nicht-<br />

SSL-Direktiven des Apache die Direktive Satisfy auf any gesetzt ist, kann ein Client einen ungewollten<br />

Zugriff auf das Unterverzeichnis bekommen. Bei gleichzeitiger Verwendung von SSL-<br />

Require <strong>und</strong> SSLRequireSSL erhält ein Client Zugang, sobald eine der Direktiven den Zugang<br />

zuläßt, die andere Direktive aber nicht. Durch Setzen von +StrictRequire wird der Zugriff verweigert,<br />

auch wenn eine der beiden Direktiven es zulassen würde. Die Satisfy any-Direktive<br />

ist somit in diesem Fall unwirksam.<br />

15.4 Widerrufslisten (CRLs)<br />

In diesem Abschnitt beschriebene Mod-SSL-Direktiven:<br />

SSLCARevocationPath<br />

SSLCARevocationFile<br />

Das mod_ssl-Paket unterstützt die Verwendung von Widerrufslisten (CRL) mit dem Apache.<br />

Eine CRL enthält die Seriennummern zurückgerufener Zertifikate <strong>und</strong> den Namen der CA, die die<br />

CRL herausgegeben hat. Wird eine der folgenden Direktiven benutzt, werden Client-Zertifikate bei<br />

aktivierter Client-Authentisierung anhand <strong>einer</strong> CRL geprüft. Ist ein Client-Zertifikat widerrufen<br />

worden, wird der Zugriff dieses Clients abgelehnt. CRLs werden in regelmäßigen Abständen (z.B.<br />

wöchentlich oder monatlich) von den CAs herausgegeben. CRLs sind keine differentiellen Listen,<br />

sondern enthalten immer alle von <strong>einer</strong> CA widerrufenen Zertifikate. Die alte CRL <strong>einer</strong> CA kann<br />

also durch die neu herausgegebene CRL ersetzt werden. Trotzdem kann es sinnvoll sein, alte CRLs<br />

aufzubewahren (s.u.). Für jede unter den SSLCACertificate...-Direktiven (s.o.) angegebene<br />

CA sollte die entsprechende CRL dem Server zur Verfügung stehen.<br />

SSLCARevocationPath, SSLCARevocationFile<br />

Die CRLs werden dem Apache über eine der folgenden Direktiven (analog den<br />

SSLCACertificate-Direktiven) zur Verfügung gestellt, z.B.:<br />

SSLCARevocationFile /usr/local/apache/ssl/crl.crl


202 Kapitel 15. <strong>Betrieb</strong> des SSL-Apache<br />

Die Direktive weist auf eine Datei mit der CRL. Liegen CRLs von verschiedenen CAs<br />

vor, können alle CRLs in eine Datei geschrieben werden: z.B. cat ca1.crl ca2.crl<br />

ca3.crl crl.crl.<br />

SSLCARevocationPath /usr/local/apache/ssl/crls<br />

Die Direktive hat dieselbe Funktion wie SSLCARevocationFile. Die Unterschied liegt<br />

in der Verwaltung der CRLs. Für SSLCARevocationPath müssen alle Zertifikate einzeln<br />

in das benannte Verzeichnis kopiert werden (hier: .../ssl/crls). Anschließend müssen<br />

die Listen dann über ihre Hash-Werte verlinkt werden. Bei mehreren Listen läßt sich das am<br />

einfachsten durch das unten stehende Shell-Skript erledigen.<br />

CAs geben üblicherweise CRLs heraus, die immer sämtliche aktuell widerrufenen Zertifikate enthalten.<br />

Daher kann die alte CRL <strong>einer</strong> CA gelöscht (oder besser für Archivierungszwecke umbenannt)<br />

werden. Das folgende Shell-Skript löscht zunächst den Hash-Link auf die alte CRL <strong>und</strong><br />

benennt dann die alte CRL um, indem das aktuelle Datum angehängt wird. Anschließend wird<br />

die neue CRL verschoben <strong>und</strong> verlinkt. Im Beispiel wird angenommen, daß die neue CRL unter<br />

/tmp/bsp.crl vorliegt <strong>und</strong> im Verzeichnis /usr/local/apache/ssl/crls installiert<br />

werden soll.<br />

#!/bin/sh<br />

cd /usr/local/apache/ssl/crls<br />

rm ‘openssl crl -in /tmp/bsp.crl -hash -noout‘.r0<br />

mv bsp.crl bsp.crl.‘date ’+%m%d%y’‘<br />

mv /tmp/bsp.crl .<br />

ln -s $i ‘openssl crl -in bsp.crl -hash -noout‘.r0<br />

chmod 644 bsp.crl.*<br />

Die Verwaltung der CRLs ist mit einem gewissen Aufwand verb<strong>und</strong>en, da CRLs von CAs u.U.<br />

monatlich aktualisiert werden <strong>und</strong> entsprechend die Listen auf dem SSL-Server zu warten sind.<br />

Möglicherweise läßt sich der Vorgang durch ein entsprechendes Skript per Cron-Job automatisieren.<br />

Sollte die CRL nicht (wie im Skript angenommen) im PEM-Format vorliegen, sondern im DER-<br />

Format, muß in dem Skript in der zweiten Zeile (nach openssl crl) noch die Option -inform<br />

der eingefügt werden.<br />

15.5 Starten <strong>und</strong> Stoppen des Apache<br />

Der Server kann über das Skript apachectl oder durch Eingabe eines der folgenden Kommandos<br />

gestartet bzw. gestoppt werden:<br />

/usr/local/bin/httpd<br />

In der Beispiel-Konfigurationsdatei im Anhang G sind die SSL-bezogenen <strong>Teil</strong>e der Apache-<br />

Konfiguration über IfDefine SSL ... /IfDefine SSL gekapselt. Somit startet<br />

dieses Kommando den Apache ohne SSL-Funktionalität.


15.5. Starten <strong>und</strong> Stoppen des Apache 203<br />

/usr/local/bin/httpd -DSSL<br />

Mit diesem Kommando wird der Apache mit zusätzlicher mit SSL-Funktionalität gestartet.<br />

kill -TERM ‘cat /usr/local/apache/logs/httpd.pid‘<br />

Mit diesem Kommando wird der Server gestoppt.<br />

Nach Eingabe des zweiten Kommandos wird der Schlüssel für den SSL-Server geladen. Liegt dieser<br />

verschlüsselt vor, wird nach <strong>einer</strong> Passphrase gefragt. Nach Eingabe der Passphrase startet der Server<br />

dann. Das impliziert, daß beim Starten des SSL-Servers jemand zugegen sein muß. Alternativ<br />

kann die Passphrase in <strong>einer</strong> – wie auch immer beschaffenen – Datei abgelegt werden. Wichtig ist<br />

nur, daß die Passphrase von dieser Datei bzw. dem Programm auf der Standardausgabe ausgegeben<br />

wird. Dazu muß die SSL-Direktive SSLPassPhraseDialog auf den Pfad zu dieser Datei<br />

gesetzt werden:<br />

SSLPassPhraseDialog /usr/local/bin/gibpassphrase<br />

Voreinstellung der Direktive ist builtin, was für die Eingabe der Passphrase am Prompt steht.<br />

Bei einem unbeaufsichtigten Start des Servers (z.B. nach einem Reboot) kann mit dem obigen ersten<br />

Kommando (per init-Skript) bei verschlüsselter Passphrase zumindest der Nicht-SSL-Server wieder<br />

in <strong>Betrieb</strong> genommen werden. Oder es kann alternativ die Passphrase-Datei eingesetzt werden.<br />

Das Skript apachectl nutzt letztlich die obigen drei Kommandos. Die Funktion der obigen Kommandos<br />

würde mit dem Skript durch folgende Aufrufe erreicht:<br />

/usr/local/bin/apachectl<br />

/usr/local/bin/apachectl startssl<br />

/usr/local/bin/apachectl stop<br />

Das Skript bietet noch eine Reihe weiterer Funktionen, allerdings z.T. in Abhängigkeit von der<br />

Server-Konfiguration. Für weitere Informationen wird auf das kommentierte Skript verwiesen.


204 Kapitel 15. <strong>Betrieb</strong> des SSL-Apache


Anhang<br />

205


Anhang A<br />

Empfehlenswerte Lektüre<br />

A.1 Online-Dokumente<br />

OpenSSL- <strong>und</strong> SSL-Apache-Handbuch der <strong>DFN</strong>-PCA<br />

regelmäßig aktualisierte Versionen von <strong>Teil</strong> II <strong>und</strong> III dieses Handbuches<br />

http://www.pca.dfn.de/dfnpca/certify/ssl/handbuch/<br />

zu digitalen Signaturen, Public-Key-Verschlüsselung <strong>und</strong> ihren kryptographischen Gr<strong>und</strong>lagen<br />

Online-Fassung der Diplomarbeit Digitale Signaturen von ROBERT GEHRING [Geh98]<br />

http://ig.cs.tu-berlin.de/ap/rg/002/<br />

zur Krypto-Kontroverse<br />

ULF MÖLLERS Webseite<br />

http://www.fitug.de/ulf/krypto/verbot.html<br />

zu Kryptographie <strong>und</strong> Recht weltweit<br />

B-J. KOOPS Crypto Law Survey<br />

http://cwis.kub.nl/~frw/people/koops/lawsurvy.htm<br />

zu Datenschutz allgemein<br />

WWW-Angebot des Berliner Datenschutzbeauftragten<br />

http://www.datenschutz.de<br />

zur Exportkontrolle<br />

Homepage des Wassenaar Sekretariats<br />

zu ASN.1<br />

http://www.wassenaar.org<br />

BURTON KALISKIS Layman’s Guide to a Subset of ASN.1, BER, and DER [Kal93]<br />

ftp://ftp.rsasecurity.com/pub/pkcs/ps/layman.ps<br />

OSS Nokalvas ASN.1 Ressourcen-Seite<br />

http://www.oss.com/asn1/index.html<br />

207


208 Anhang A. Empfehlenswerte Lektüre<br />

zu X.509 <strong>und</strong> ASN.1<br />

Peter Gutmanns X.509 Style Guide<br />

http://www.cs.auckland.ac.nz/~pgut001/pubs/x509guide.txt<br />

zur IT-Gr<strong>und</strong>sicherung<br />

BSI Gr<strong>und</strong>schutzhandbuch-Homepage<br />

http://www.bsi.b<strong>und</strong>.de/gshb/_start.htm<br />

„Maximalforderungen“ beim <strong>Betrieb</strong> <strong>einer</strong> Zertifizierungsstelle<br />

Maßnahmenkatalog für digitale Signaturen von RegTP <strong>und</strong> BSI (als Anregung, was unternommen<br />

werden kann bzw. müßte)<br />

http://www.bsi.b<strong>und</strong>.de/aufgaben/projekte/pbdigsig/download/<br />

kat.pdf<br />

zu TEMPEST (elektromagnetische Abstrahlung)<br />

JOEL MCNAMARAS “Complete, Unofficial TEMPEST Information Page”<br />

http://www.eskimo.com/~joelm/tempest.html<br />

zu Angriffen auf die PGP-Verschlüsselung<br />

BILL UNRUHS “PGP Attacks”<br />

http://axion.physics.ubc.ca/pgp-attack.html<br />

JOEL MCNAMARAS “Practical Attacks on PGP”<br />

http://www.eskimo.com/~joelm/pgpatk.html<br />

zum geplanten europäischen Überwachungsprogramm ENFOPOL [SH98b]<br />

Dokumentation ENFOPOL-Papiere des Netzmagazin TELEPOLIS 1 (Heise Verlag)<br />

http://www.heise.de/tp/deutsch/special/enfo/default.html<br />

A.2 Linksammlungen<br />

zu PGP-Versionen/-Integration/-Plugins/-Dokumentation<br />

PGP international Homepage<br />

http://www.pgpi.com<br />

zu Kryptographie<br />

ULF MÖLLERS Krypto-Seite<br />

http://www.fitug.de/ulf/krypto/<br />

zur Krypto-Kontroverse<br />

Webseite der Projektgruppe verfassungsverträgliche Technikgestaltung e.V. (provet)<br />

http://www.provet.org/kk/kkindex.htm<br />

1 http://www.heise.de/tp/


A.3. Mailinglisten 209<br />

Gesetzestexte<br />

Juristisches Internetprojekt der Universität des Saarlandes, Institut für Rechtsinformatik<br />

http://www.jura.uni-sb.de<br />

zum Telekommunikationsgesetz<br />

NICOLAS REICHELTS Webseite<br />

http://www.crypto.de/tkg<br />

zu CAs, PKI <strong>und</strong> verwandten Gebieten<br />

Die “Comprehensive List of Public-Key Infrastructure Links” der <strong>DFN</strong>-PCA<br />

http://www.pca.dfn.de/dfnpca/pki-links.html<br />

MARCH BRANCHAUDS PKI References Page<br />

http://www.xcert.com/~marcnarc/PKI/<br />

zu Zufallszahlen-Erzeugung<br />

DAVID WAGNERS “online resources for collecting randomness”<br />

http://www.cs.berkeley.edu/~daw/rnd/index.html<br />

zu Computersicherheit allgemein<br />

Uni Siegen Security-Server<br />

http://www.uni-siegen.de/security/<br />

zu Linux auf tragbaren Computern<br />

KENNETH E. HARKERS “Linux on Laptops”-Webseite<br />

http://www.cs.utexas.edu/users/kharker/linux-laptop/mirrors.html<br />

A.3 Mailinglisten<br />

win-pca Die PCA-Diskussions- <strong>und</strong> -Mitteilungsliste des <strong>DFN</strong> (unmoderiert)<br />

win-pca-request@pca.dfn.de<br />

ietf-pkix Die Diskussionsliste der Internet Engineering Task Force (IETF), in der die Public-<br />

Key Infrastructure on X.509 basis (PKIX) diskutiert <strong>und</strong> entwickelt wird (englisch)<br />

ietf-pkix-request@imc.org<br />

cert-talk Die Diskussionsliste für alle Fragen r<strong>und</strong> um X.509-Zertifikate <strong>und</strong> -Zertifizierung<br />

(englisch)<br />

majordomo@mail.structuredarts.com


210 Anhang A. Empfehlenswerte Lektüre<br />

A.4 Bücher, Aufsätze<br />

zur Geschichte der (herkömmlichen, symmetrischen) Kryptographie<br />

DAVID KAHN: The Codebreakers. The Comprehensive History of Secret Communication<br />

from Ancient Times to the Internet. 2. Aufl., Dezember 1996. Scribner Book Company; ISBN<br />

0-6848-3130-9.<br />

zur US-National Security Agency (NSA)<br />

über den US-Geheimdienst, der für die Auslandsüberwachung zuständig <strong>und</strong> zugleich der<br />

weltgrößte Arbeitgeber für Kryptologen ist<br />

JAMES BAMFORD: The Puzzle Palace. A Report on America’s Most Secret Agency. Penguin<br />

Books, New York, 1983. ISBN 0-1400-6748-5.<br />

zur Frage der Haftung von Zertifizierungsstellen<br />

BIRTE TIMM: Signaturgesetz <strong>und</strong> Haftungsrecht, Datenschutz <strong>und</strong> Datensicherheit (DuD)<br />

9/97, S. 525 ff.


Anhang B<br />

Bezugsquellen<br />

Die Hinweise zu Hardware sind nicht als Empfehlung zu verstehen, sondern nur beispielhaft gemeint.<br />

Andere Hersteller haben möglicherweise vergleichbare oder ähnliche Geräte in ihrem Sortiment.<br />

B.1 Software<br />

PGP2.6.3in: ftp://ftp.individual.net/doc/IN/IN-CA/pgp/pgp263in/<br />

GnuPG: http://www.gnupg.org<br />

ftp://ftp.gnupg.org/pub/gcrypt/<br />

ftp://ftp.guug.de/pub/gcrypt/ (Mirror)<br />

OpenSSL: http://www.openssl.org<br />

ftp://ftp.cert.dfn.de/pub/tools/crypt/openssl/source/<br />

(Mirror)<br />

pkcs12 (obsolet), pfx:<br />

http://www.drh-consultancy.demon.co.uk/pkcs12faq.html<br />

ca-fix (obsolet):<br />

http://www.drh-consultancy.demon.co.uk/ca-fix.html<br />

Apache-SSL:<br />

http://www.apache-ssl.org<br />

ftp://ftp.pca.dfn.de/pub/tools/net/sslapache/ (Mirror)<br />

mod_ssl: http://www.modssl.org<br />

ftp://ftp.pca.dfn.de/pub/tools/net/mod_ssl/ (Mirror)<br />

Fortify: FARRELL MCKAYS starke Verschlüsselung für Netscape-Browser<br />

http://www.fortify.net<br />

ftp://ftp.pca.dfn.de/pub/tools/net/Fortify/ (Mirror)<br />

Opera: Shareware-Browser mit starker Verschlüsselung<br />

http://www.operasoftware.com/download.html<br />

211


212 Anhang B. Bezugsquellen<br />

Netscape Certificate Server Extras:<br />

MS CertMgr:<br />

http://developer.netscape.com/tech/security/certs/certs.html<br />

http://www.microsoft.com/security/tech/certificates/formats.asp<br />

http://msdn.microsoft.com/downloads/tools/authcodeie4/authcodeie4.asp?<br />

http://www.microsoft.com/security/downloads/certinst.exe<br />

dumpasn1: http://www.cs.auckland.ac.nz/~pgut001/dumpasn1.c<br />

http://www.cs.auckland.ac.nz/~pgut001/dumpasn1.cfg<br />

Secude: Ein von der GMD entwickeltes Krypto-Toolkit<br />

http://www.darmstadt.gmd.de/secude/<br />

Tripwire: ftp://ftp.cert.dfn.de/pub/tools/admin/Tripwire/Tripwire-1.2.tar.gz<br />

CryptoEx Security Suite:<br />

Glück & Kanja GmbH<br />

Christian-Pleß-Str. 11–13<br />

D-63069 Offenbach<br />

Telefon: 0 69 / 80 07 06 - 10<br />

Telefax: 0 69 / 80 07 06 - 66<br />

info@glueckkanja.de<br />

http://www.glueckkanja.de<br />

ascom MAIL / IDEA@exchange:<br />

Ascom Systec AG<br />

Gewerbepark<br />

CH-5506 Mägenwil<br />

Telefon: (+41) 62 / 889 - 52 11<br />

Telefax: (+41) 62 / 889 - 59 90<br />

SEMS@ascom.ch<br />

http://www.ascom.ch/systec/<br />

B.2 Notebooks<br />

Panasonic Toughbook CF-71 robust, SuperDisk Drive LS-120 optional möglich<br />

Panasonic Toughbook 45NJ48 robust, “all-in-one”<br />

Panasonic Ruggby CF-25 spritzwasserbeständig, LS-120 optional möglich<br />

Panasonic Deutschland GmbH<br />

Winsbergring 15<br />

D-22525 Hamburg<br />

Telefon: 040 / 85 49 - 27 76<br />

Telefax: 040 / 85 49 - 25 00<br />

http://www.panasonic.de


B.3. Spezial-Hardware 213<br />

Rocky II – „das Outdoor Notebook“ schlagfest, internes CD-ROM <strong>und</strong> Floppy-LW<br />

roda computer GmbH<br />

Landstr. 6<br />

D-77839 Lichtenau<br />

Telefon: 0 72 27 / 95 79 - 0<br />

Telefax: 0 72 27 / 95 79 - 20<br />

E-Mail: mail@roda-computer.com<br />

http://www.roda-computer.com<br />

Apple G3 PowerBooks schnell 1 , SCSI-Anschluß integriert 2 , gleichzeitiger <strong>Betrieb</strong> von internem<br />

CD-ROM <strong>und</strong> Floppy möglich<br />

Apple Response Center<br />

Dornacher Str. 3 d<br />

D-85622 Feldkirchen<br />

Telefon: 0 18 05 / 00 06 22<br />

Telefax: 0 18 05 / 00 06 23<br />

E-Mail: de.response@euro.apple.com<br />

http://www.apple.com/de/powerbook/<br />

B.3 Spezial-Hardware<br />

Krypto-Beschleuniger<br />

“nFast”-Crypto-Accelerator-Familie, Testberichte u.a. in [Edw98, Mac97]<br />

Biometrie<br />

nCipher Corporation Ltd.<br />

Andrew Newton<br />

Mühlenkoppel 27<br />

D-22889 Tangstedt<br />

Telefon: 0 41 09 / 25 08 51<br />

Telefax: 0 41 09 / 25 08 53<br />

andrew@ncipher.com<br />

http://www.ncipher.com/international/german.html<br />

„Biomouse“/„Biomouse PLUS“ Fingerprintscanner 3 – <strong>einer</strong> der wenigen Scanner, die auch mit<br />

Treibern bzw. einem Developer Toolkit für Unix/Linux erhältlich sind.<br />

1<br />

Geschwindigkeitsvergleich zwischen Apple PowerBooks <strong>und</strong> Notebook-PCs siehe [MR98]<br />

2<br />

bei den neuesten PowerBooks nicht mehr<br />

3<br />

Vorteil von Fingerabdruck-Scan (<strong>und</strong> Iris-Scan) gegenüber Stimm-, Gesichts- oder Unterschriftenerkennung: Sie<br />

weisen eine um den Faktor ¢¡¤£<br />

– ¥¡§¦<br />

geringere false acceptance rate auf, bei ihnen liegt also der Anteil der fälschlich<br />

akzeptierten Personen um Größenordnungen unter denen anderer biometrischer Verfahren [Pet97, S. 52]. Nachteil z.B.<br />

gegenüber Handschriften-basierten Systemen: Man kann maximal zehn Mal den „Schlüssel“ (das Merkmal) wechseln...


214 Anhang B. Bezugsquellen<br />

Preis: ca. 600 DM ohne bzw. 700 DM mit integriertem Kartenleser (Besprechung in [Lan98])<br />

Importeur:<br />

AlphaNet Online GmbH<br />

Konrad-Adenauer-Ufer 37<br />

D-50668 Köln<br />

Telefon: 02 21 / 37 00 - 0<br />

Telefax: 02 21 / 37 00 - 370<br />

E-Mail: security@alphanet.de<br />

http://www.alphanet.de/biomouse.htm<br />

Hardware-Zufallszahlengenerator<br />

Protego SG100 Security Generator<br />

Kl<strong>einer</strong> Zufallszahlengenerator für serielle Schnittstelle (Abb. B.1 <strong>und</strong> B.2), würde wegen der kleinen<br />

Maße besonders gut zu einem Laptop als CA-Rechner passen <strong>und</strong> wäre, da er ohne eigene<br />

Stromversorgung auskommt, ebenso mobil. Der in Aussicht gestellte Linux-Treiber für den SG 100<br />

ist allerdings vorerst nicht erhältlich. (“The Linux driver project has been discontinued. We will restart<br />

this project only if a high-volume customer requests a Linux driver.”) (US$140, Mengenrabatt<br />

ab 10 Stück)<br />

Abb. B.1: Protego SG100 Security Generator (Aufmaß)<br />

Protego Information AB<br />

Gamma-Paviljongen IDEON<br />

Sölvegatan 41<br />

SE - 223 70 L<strong>und</strong><br />

SCHWEDEN<br />

Telefon: +46 (0)46 286 36 30<br />

Telefax: +46 (0)46 286 36 40<br />

sales@protego.se<br />

http://www.protego.se/sg100_en.htm<br />

Siehe auch [SU97] mit weiteren Anbietern von HW-Zufallszahlengeneratoren.


B.3. Spezial-Hardware 215<br />

TEMPEST-Hardware<br />

TEMPEST-PCs <strong>und</strong> Zubehör<br />

Abb. B.2: Protego SG100 Security Generator im Einsatz<br />

Siemens AG<br />

Bereich Automatisierungstechnik<br />

Kombinationstechnik<br />

AUT 7 B3<br />

Postfach 23 55<br />

D-90713 Fürth<br />

Telefon: 0911 / 750 - 93 68<br />

Telefax: 0911 / 750 - 98 98<br />

TEMPEST-Abschirmgerät „SecuDat“ / „Data Safety Device“<br />

unterbindet/überlagert weitgehend die elektromagnetische Abstrahlung [Kre99a] (ca. 2500 DM)<br />

Teller Bau- <strong>und</strong> Entwicklungs GmbH<br />

Hr. Wolff<br />

Friedrichstr. 95<br />

D-10117 Berlin<br />

Telefon: 0 30 / 20 96 - 27 41<br />

Telefax: 0 30 / 20 96 - 27 43<br />

oder Kontaktaufnahme mit Herrn Wolff über ANDY MÜLLER-MAGUHN vom Chaos Computer<br />

Club


216 Anhang B. Bezugsquellen


Anhang C<br />

PGP-Beispielkonfiguration<br />

config.txt<br />

Das nachfolgende Beispiel zeigt, wie eine Konfigurationsdatei “config.txt” beim Einsatz von<br />

PGP2.6.3in für die UNI-Zertifizierungsstelle aussehen könnte. Erläuterungen sind in die Kommentare<br />

(vom ’#’ bis zum jeweiligen Zeilenende) eingefügt.<br />

#<br />

# Beispiel-Konfigurationsdatei "config.txt" fuer PGP 2.6.3in<br />

# fuer die UNI-CA<br />

#<br />

# Blank lines are ignored, as is anything following a ’#’.<br />

# Keywords are not case-sensitive.<br />

# Whatever appears in here can be overridden on the command line,<br />

# by specifying (for example) "+armor=on".<br />

# The language we will be using for displaying messages to the user.<br />

Language = en # ’Language = de’, falls deutsche PGP-Meldungen<br />

# bevorzugt werden (entsprechende Sprach-Meldungsdatei<br />

# "language.txt" mit Eintraegen fuer die gewuenschte<br />

# Sprache muss installiert sein; anderenfalls wird die<br />

# Meldung auf Englisch ausgegeben)<br />

# Character set for displaying messages and for conversion of text files.<br />

# If you set this variable to anything else than latin1, koi8 or noconv,<br />

# PGP will do character set conversions if TextMode = on or if you specify<br />

# the -t option when encrypting or signing a file.<br />

#<br />

# Available character sets:<br />

#<br />

# latin1 - ISO-Latin/1 (ISO 8859/1)<br />

# cp850 - IBM codepage 850 (International)<br />

# cp852 - IBM codepage 852 (Eastern Europe)<br />

# cp860 - IBM codepage 860 (Portuguese)<br />

# cp866 - IBM codepage 866 (Russian)<br />

# alt_codes - Cyrillic (Russian)<br />

# koi8 - Cyrillic (Russian)<br />

# keybcs2 - KEYBCS 2 (Eastern Europe)<br />

# next - NeXTSTEP<br />

# mac - Macintosh<br />

# ascii - 7-bit ASCII<br />

217


218 Anhang C. PGP-Beispielkonfiguration config.txt<br />

CharSet = latin1 # z.B. fuer typische Linux-Installationen<br />

# TMP is the directory name for PGP scratch files, usually a RAM disk.<br />

# It can be overridden by the environment variable TMP.<br />

TMP = "/tmp"<br />

# sollte auf eine ggf. einzurichtende RAM-Disk zeigen<br />

# alternativ auf ein Verzeichnis auf dem Wechselmedium,<br />

# auf dem der geheime Schluessel gespeichert wird<br />

# (damit keine sensiblen temporaeren Dateien -- auch<br />

# nicht voruebergehend -- auf der *Festplatte* des<br />

# CA-Rechners gespeichert werden)<br />

# Pager is the file viewing program used for viewing messages with -m<br />

# If not set or set to "pgp", a built-in pager will be used. The pager set<br />

# in config.txt will override the environment variable PAGER.<br />

Pager = "more" # ...beispielsweise, falls ein externer Pager bevorzugt wird<br />

# ArmorLines is the maximum number of lines per packet when creating a<br />

# transport armored file. Set to 0 to disable splitting in parts.<br />

ArmorLines = 0 # sollte auf ’0’ gesetzt sein, damit nicht lange<br />

# Ausgabe-Dateien von PGP in viele kleine "Haeppchen"<br />

# zerlegt werden (diese Option ist historisch bedingt<br />

# <strong>und</strong> diente dazu, grosse PGP-Nachrichten per Mail ueber<br />

# Systeme senden zu koennen, die ein Groessenlimit fuer<br />

# einzelne E-Mails hatten)<br />

Armor = on # Use -a flag for ASCII armor whenever applicable<br />

# keine Binaer-Ausgaben erzeugen, sondern ASCII-"armor"<br />

# (Format aehnlich dem BASE64-Encoding von MIME oder<br />

# dem Output, den UUENCODE erzeugt)<br />

TextMode = on # Attempt to use -t option where applicable<br />

Clearsig = on # Use ASCII armor even for unencrypted signed messages<br />

# Texte so signieren, dass sie auch fuer Empfaenger ohne<br />

# PGP lesbar bleiben; es wird dann nur eine Signatur<br />

# angehaengt - der zu signierende Text selber wird quasi<br />

# im Klartext lesbar "eingebettet" in den resultierenden Text<br />

#Verbose = 2 # Verbose diagnostic messages<br />

# Verbose = 0 # Be quiet<br />

# aktivieren, falls gewuenscht, wird aber<br />

# etwas unuebersichtlich<br />

# Fuer interaktives Arbeiten nicht empfehlenswert;<br />

# kann eventuell beim Einsatz von PGP in Skripten<br />

# sinnvoll sein (<strong>und</strong> sollte dann mit dem Kommando-<br />

# zeilen-Switch ’+batchmode’ kombiniert werden)<br />

# Compress = off # Suppress compression to aid debugging


# sollte ausgeschaltet bleiben, da die Kompression<br />

# vor dem Verschluesseln Red<strong>und</strong>anz aus dem Klartext<br />

# entfernt <strong>und</strong> so einem Angreifer die Arbeit erschwert<br />

# ShowPass = on # Echo password when user types it<br />

# SOLLTE *NIE* AKTIVIERT SEIN -- anderenfalls waere z.B.<br />

# die Kombination zweier <strong>Teil</strong>-Passsaetze zwecks Umsetzung<br />

# des Vier-Augen-Prinzips nach dem ersten Aufruf obsolet,<br />

# da ja dann beide beteiligten den <strong>Teil</strong>-Passsatz des jeweils<br />

# anderen lesen koennten<br />

Interactive = on # Interactively prompt the user when adding keys (-ka)<br />

# empfehlenswert, damit Schluessel nicht automatisch in den<br />

# Public-Keyring uebernommen werden, sondern nur auf<br />

# Nachfrage <strong>und</strong> ausdrueckliche Bestaetigung<br />

EncryptToSelf = on # Encrypt all messages with your own public key<br />

# MyName is substring of default userid for secret key to make signatures.<br />

# If not set, PGP will use the first key on your secret keyring (the last<br />

# key you created) if you don’t specify the user with -u<br />

MyName = "UNI-CA SoSe 1999 Certification Key"<br />

# eindeut. <strong>Teil</strong>string der UserID des CA-SIGN-Keys,<br />

# alternativ die hexadezimale KeyID dieses Schluessels<br />

# MyEtsId is substring of default userid for public key to encrypt to self<br />

# If not set, PGP will use the first key on your secret keyring (the last<br />

# key you created) if you don’t specify the user with -u<br />

MyEtsId = "Communication Key "<br />

# eindeutiger <strong>Teil</strong>string der UserID<br />

# des CA-KOMMUNIKATIONSschluessels, alternativ die<br />

# hexadezimale KeyID dieses Schluessels<br />

# AutoSign = off # Don’t sign new userids<br />

# sollte deaktiviert bleiben, damit neu-generierte eigene<br />

# Schluessel sofort nach dem Generieren selbst-signiert<br />

# <strong>und</strong> damit vor unbemerkten Manipulationen geschuetzt werden<br />

Unknown_Certs = off<br />

# unterdrueckt die Anzeige unbekannter Zertifikate<br />

# macht die Ausgaben von PGP uebersichtlicher, zumal<br />

# bei User- oder CA-Schluesseln, die von vielen unbekannten<br />

# Dritten signiert sind<br />

# andernfalls hat man -zig Meldungen der Form<br />

#<br />

# sig (Unknown signator, can’t be checked)<br />

#<br />

# zwischen den wichtigen Ausgaben von PGP (bei ’pgp -kv’)<br />

219


220 Anhang C. PGP-Beispielkonfiguration config.txt<br />

# Number of completely trusted signatures needed to make a key valid.<br />

Completes_Needed = 1<br />

# z.B. die <strong>DFN</strong>-PCA <strong>und</strong> die von ihr zertifizierten<br />

# Schluessel anderer <strong>Zertifizierungsinstanz</strong>en<br />

# Number of marginally trusted signatures needed to make a key valid.<br />

Marginals_Needed = 9999<br />

# in <strong>einer</strong> CA-Umgebung sollten "Introducer"<br />

# (in diesem Falle ausschliesslich CAs)<br />

# entweder vertrauenswuerdig sein oder nicht,<br />

# aber nicht "ein bisschen". Daher duerfte<br />

# es sinnvoll sein zu verhindern, dass<br />

# mehrere "halb-vertrauenswuerdige"<br />

# Zertifizierungen anderer Stellen einen<br />

# Schluessel als gueltig erscheinen lassen koennten<br />

# How many levels of introducers may introduce other introducers.<br />

Cert_Depth = 2 # Eine Indirektionsstufe, d.h. die <strong>DFN</strong>-PCA<br />

# koennte beispielsweise die oeffentlichen Schluessel<br />

# anderer CAs, die sie zertifiziert hat, "introducen"<br />

# Bei ‘Cert_Depth = 2’ koennten diese anderen CAs<br />

# selber wieder oeffentliche Schluessel Dritter<br />

# "einfuehren", also beispielsweise die ihrer Nutzer<br />

# oder <strong>einer</strong> anderen cross-zertfizierten CA (oder auch<br />

# <strong>einer</strong> eigenen Sub-CA oder <strong>einer</strong> eigenen<br />

# Registrierungsstelle)<br />

# Eine Beschraenkung auf ‘Cert_Depth = 1’ ist in jedem<br />

# Fall die ‘konservativere’, vorsichtigere Variante<br />

# TZFix is hours to add to time() to get GMT, for GMT timestamps.<br />

# Since MSDOS assumes local time is US Pacific time, and pre-corrects<br />

# Pacific time to GMT, make TZFix=0 for California, -1 for Colorado,<br />

# -2 for Chicago, -3 for NY, -8 for London, -9 for Amsterdam.<br />

# However, if your MSDOS environmental variable TZ is properly defined<br />

# for your timezone, you can leave TZFix=0. Unix systems probably<br />

# shouldn’t need to worry about setting TZFix.<br />

# TZFix = 0 # i.d.R. nur unter DOS/Windows relevant<br />

# BakRing is the path to a backup copy of your secret keyring, usually<br />

# on floppy disk. Your secret keys will be compared with the backup copy<br />

# when doing a keyring check (pgp -kc)<br />

# BakRing = "a:\secring.pgp"<br />

# Da der geheime Schluessel bereits auf einem externen Datentraeger<br />

# gespeichert ist, ausserdem ein Backup des geheimen Signierschluessels<br />

# nicht sinnvoll ist (vgl. entsprechende Ausfuehrungen im Hauptteil<br />

# der Arbeit unter ‘Archivierung’), duerfte diese Option nicht gebraucht<br />

# werden<br />

# Paths to keyrings and seed file for random generator.<br />

SecRing = "/mountpoint_keymedium/secring.pgp"


# ‘/mountpoint_keymedium’ sollte<br />

# das Verzeichnis sein, als das<br />

# das Wechselmedium mit den<br />

# geheimen Schluesseln gemountet<br />

# wurde<br />

PubRing = "/mountpoint_keymedium/pubring.pgp"<br />

# falls auch die Public-Keys auf dem<br />

# Wechselmedium gespeichert werden<br />

# PubRing = "/pfad_zum_PGP-Verzeichnis/pubring.pgp"<br />

# falls die Public-Keys auf der<br />

# Festplatte abgelegt werden<br />

# ‘/pfad_zum_PGP-Verzeichnis’ muß<br />

# der vollstaendige Pfad sein, oder<br />

# aber "pubring.pgp" muß in dem<br />

# Verzeichnis liegen, auf das die<br />

# Umgebungsvariable PGPPATH verweist<br />

# RandSeed = "randseed.bin"<br />

# hier koennte eventuell "/dev/random" o.ae. eingetragen<br />

# werden, falls der CA-Rechner mit einem kryptographisch<br />

# starken (Hardware-)Zufallszahlengenerator ausgestattet<br />

# ist<br />

# Ansonsten empfiehlt es sich, auch diese Datei auf dem<br />

# Wechselmedium mit den geheimen Schluesseln unterzu-<br />

# bringen, was aber nur moeglich ist, wenn dieses<br />

# schreibbar ist (randseed.bin wird des oefteren<br />

# mit neuen Zufallszahlen aufgefuellt) -- hier duerfte<br />

# es also zu <strong>einer</strong> Abwaegung zwischen dem Schutz des<br />

# geheimen Schluessels <strong>und</strong> dem Zufallszahlenvorrat fuer<br />

# Session-Keys kommen muessen, die bei <strong>einer</strong> CA im<br />

# Zweifel zugunsten der secret keys ausfallen sollte<br />

# Add optional comment to ASCII armor output.<br />

Comment = "Zertifizierungsstelle UNI"<br />

# Hier koennte IHRE Werbung stehen! ;-)<br />

# der Kommentar sollte kuerzer als<br />

# 66 Zeichen sein, da ihm noch ein<br />

# ’Comment: ’ vorangestellt wird <strong>und</strong><br />

# es sonst oft Probleme mit zu langen<br />

# Textzeilen gibt, die dann z.B. vom<br />

# Mail-UA umgebrochen werde -- was<br />

# beim Empfaenger zu Problemen bei der<br />

# Verarbeitung der entsprechenden Mail<br />

# mit PGP fuehrt<br />

# An dieser Stelle laesst sich ein Hinweis auf die Homepage der<br />

# Zertifizierungsstelle unterbringen, oder ein Aufruf, doch bitte oefter<br />

# zu Verschluesselung zwecks Schutz der Privatsphaere zu greifen, oder<br />

# der Appell, seine Schluessel von der UNI-CA zertifizieren zu lassen...<br />

#<br />

# Diese Kommentarzeile wird bei allen von PGP generierten Ausgaben mit<br />

# eingefuegt, so beispielsweise in den Vorspann von extrahierten Schluesseln<br />

# oder von Signaturen:<br />

#<br />

# -----BEGIN PGP MESSAGE-----<br />

# Version: 2.6.3in<br />

# Comment: Zertifizierungsstelle der UNI<br />

#<br />

# hQEMA+CY00q2yzDZAQgAxAZcglv36InvtHFVbdvmBXGRmzKPn8LBuX7vXWpReeBM<br />

221


222 Anhang C. PGP-Beispielkonfiguration config.txt<br />

# T9eekuhWEoUoTwXwpC9HAXH6nyzI/5URdNM0qUtJJf4w3OZM9vTbU1ric3UAVsi1<br />

# ytCVoQM8faeElu/8FvFonl9ezcgACBgcEYQoiA+NELmy3GJZpmr1O90fWkMwfOSP<br />

# [...]<br />

#<br />

# oder<br />

#<br />

# -----BEGIN PGP SIGNATURE-----<br />

# Version: 2.6.3in<br />

# Charset: next<br />

# Comment: Use PGP for e-mails like envelopes for letters!<br />

#<br />

# mQBtAzHIH3AAAAEDANcnGb6IZYKgkwyLFmiXMMvGPK+n2YSev0Bwg64x4/0XMuyo<br />

# [...]<br />

#<br />

#<br />

# EOF<br />

Die speziell für den Einsatz in Zertifizierungsumgebungen (weiter-)entwickelte Version PGP263in<br />

bietet einige Optionen, die in PGP2.6.3 noch nicht vorgesehen sind. Auf die entsprechende zusätzliche<br />

Funktionalität müßte, wenn eine andere PGP2.6-Version als 2.6.3in eingesetzt wird, verzichtet<br />

bzw. diese müßten auf andere Weise, nötigenfalls manuell, nachgebildet werden: MyEtsId<br />

<strong>und</strong> Unknown_Certs existieren nur in der “in”-Version. Weitere Vorzüge dieser Version sind in<br />

[CD98, Cam98c] beschrieben.


Anhang D<br />

Undokumentierte PGP-Optionen<br />

Undokumentierte Features <strong>und</strong> Optionen von PGP 2.6.x (nach <strong>einer</strong> Liste von CHRISTIAN SCHNEI-<br />

DER , dokumentiert auf http://www.uni-siegen.<br />

de/security/krypto/pgp-udf.html):<br />

-km ‘pgp -km’ oder auch (falls der Schlüsselb<strong>und</strong> sehr groß ist <strong>und</strong> man sich alles in<br />

Ruhe anschauen will) ‘pgp -km > output.txt’ zeigt eine Kette von Signaturen aus<br />

dem Public-Key Ring an. Ausgehend vom “ultimately trusted”-Key (der eigene, zu<br />

dem sich der dazugehörige Private Key im Secret Key Ring befindet) werden alle<br />

Schlüssel angezeigt, die mit diesem Key signiert sind; dann werden alle Schlüssel<br />

angezeigt, die von einem dieser Keys signiert sind usw. – quasi eine Art „Lawine“<br />

oder Kettenreaktion.<br />

-L Dieser zusätzliche Parameter (kann auch kleingeschrieben werden) kann bei allen<br />

PGP-Optionen mit angegeben werden <strong>und</strong> bewirkt, daß PGP Debug-Informationen<br />

anzeigt. Statt ‘pgp -L...’ kann man aber auch ‘pgp +verbose=2’ eingeben, das hat<br />

dieselbe Wirkung.<br />

-kg <br />

Der zusätzliche Parameter gibt bei der Erzeugung eines neuen Schlüsselpaares<br />

an, wie groß der sogenannte “public exponent” werden soll.<br />

-da <br />

Diese Option wandelt eine Datei in PGP-ASCII-Armor-Codierung [ASZ96] (vergleichbar<br />

etwas dem MIME-BASE64-Encoding) in eine Datei mit dem entsprechenden<br />

Binär-Inhalt um (vergleichbar mit dem MIME-8bit-Encoding)<br />

+makerandom= <br />

Dieser Parameter erzeugt eine Datei , die Zufallsbytes enthält.<br />

So kann man sich z.B. eine Challenge erzeugen lassen oder einen Sitzungsschlüssel.<br />

Es wird dabei der interne Pseudo-Zufallszahlengenerator von PGP benutzt.<br />

+encrypttoself<br />

Dieser Parameter (der auch in der Konfigurationsdatei von PGP, “config.txt”, auftauchen<br />

kann – dann z.B. in der Form ‘encrypttoself = ON’) bewirkt, daß bei <strong>einer</strong><br />

223


224 Anhang D. Undokumentierte PGP-Optionen<br />

Verschlüsselung die zu verschlüsselnde Nachricht nicht nur an den oder die angegebenen<br />

Empfänger sondern zusätzlich auch immer an den mit dem Eintrag “MY-<br />

NAME” in der Konfigurationsdatei vorgegebenen Empfänger (beispielsweise einen<br />

selbst) verschlüsselt wird. Wenn man diese Option benutzt, braucht man sich beim<br />

Verschlüsseln nicht mehr explizit als Verschlüsselungsempfänger mit anzugeben <strong>und</strong><br />

kann trotzdem die resultierende Mail (z.B. im Postausgangs-Ordner) entschlüsseln.


Anhang E<br />

openssl.cnf – Beispiel-Datei<br />

Die folgende Beispiel-Konfigurationsdatei enthält drei Abschnitte für verschiedene CA-<br />

Konfigurationen. Der erste Abschnitt [ Root_CA ] enthält eine Konfiguration zur Herausgabe<br />

von CA-Zertifikaten, entsprechend [ Server_CA ] zur Herausgabe von SSL-Server-<br />

Zertifikaten (Server 1 bis N) <strong>und</strong> [ User_CA ] für die Herausgabe von Benutzer-Zertifikaten<br />

(User 1 bis N). Damit kann die unten dargestellte Zertifizierungshierarchie realisiert werden.<br />

Server_CA<br />

Root_CA<br />

User_CA<br />

Server 1 Server N User 1 User N<br />

A<br />

B<br />

"A zertifiziert B"<br />

Die einzelnen CA-Abschnitte unterscheiden sich vor allem in der Angabe zum Extension-Abschnitt,<br />

der beim Schlüsselwort x509_extensions im jeweiligen CA-Abschnitt festgelegt ist. Über den<br />

Extension-Abschnitt wird bestimmt, welche Extensions die herausgegebenen Zertifikate enthalten<br />

<strong>und</strong> somit ihr Verwendungszweck. Die CA-Abschnitte werden bei der der Zertifizierung von<br />

Requests durch das ca-Kommando mit der Option -name angewählt (siehe Abschnitt Signieren<br />

(10.3)).<br />

Für die drei CA-Abschnitte gemeinsame Werte können auch am Anfang der Konfigurationsdatei<br />

vor dem ersten Abschnitt (hier [ new_oids ] festgelegt werden.<br />

#<br />

# OpenSSL example configuration file.<br />

# This is mostly being used for generation of certificate requests.<br />

#<br />

# RANDFILE = $ENV::HOME/.rnd<br />

# oid_file = $ENV::HOME/.oid<br />

# oid_section = new_oids<br />

225


226 Anhang E. openssl.cnf – Beispiel-Datei<br />

# To use this configuration file with the "-extfile" option of the<br />

# "openssl x509" utility, name here the section containing the<br />

# X.509v3 extensions to use:<br />

# extensions =<br />

# (Alternatively, use a configuration file that has only<br />

# X.509v3 extensions in its main [= default] section.)<br />

pfad = /usr/local/etc/ssl<br />

[ new_oids ]<br />

# We can add new OIDs in here for use by ’ca’ and ’req’.<br />

# Add a simple OID like this:<br />

# testoid1=1.2.3.4<br />

# Or use config file substitution like this:<br />

# testoid2=${testoid1}.5.6<br />

####################################################################<br />

[ ca ]<br />

default_ca = Server_CA # The default ca section<br />

####################################################################<br />

[ Root_CA ] # Abschnitt fuer eine Root CA<br />

dir = $pfad/PCA # Where everything is kept<br />

certs = $dir/certs # Where the issued certs are kept<br />

crl_dir = $dir/crl # Where the issued crl are kept<br />

database = $dir/index.txt # database index file.<br />

new_certs_dir = $dir/newcerts # default place for new certs.<br />

certificate = $dir/PCAcert.pem # The CA certificate<br />

serial = $dir/serial # The current serial number<br />

crl = $dir/crl.pem # The current CRL<br />

private_key = $dir/private/PCAkey.pem # The private key<br />

RANDFILE = $dir/private/.rand # private random number file<br />

x509_extensions = PCA_ext # The extentions to add to the cert<br />

# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs<br />

# so this is commented out by default to leave a V1 CRL.<br />

#crl_extensions = crl_ext # Extensions to add to CRL<br />

default_days = 730 # how long to certify for<br />

default_crl_days= 30 # how long before next CRL<br />

default_md = md5 # which md to use.<br />

preserve = no # keep passed DN ordering<br />

# A few difference way of specifying how similar the request should look<br />

# For type CA, the listed attributes must be the same, and the optional<br />

# and supplied fields are just that :-)<br />

policy = policy_match<br />

######################################################################<br />

[ Server_CA ] # Abschnitt fuer eine Server CA<br />

dir = $pfad/SCA # Where everything is kept<br />

certs = $dir/certs # Where the issued certs are kept<br />

crl_dir = $dir/crl # Where the issued crl are kept


database = $dir/index.txt # database index file.<br />

new_certs_dir = $dir/newcerts # default place for new certs.<br />

certificate = $dir/SCAcert.pem # The CA certificate<br />

serial = $dir/serial # The current serial number<br />

crl = $dir/crl.pem # The current CRL<br />

private_key = $dir/private/SCAkey.pem # The private key<br />

RANDFILE = $dir/private/.rand # private random number file<br />

x509_extensions = SCA_ext # The extentions to add to the cert<br />

#crl_extensions = crl_ext # Extensions to add to CRL<br />

default_days = 365 # how long to certify for<br />

default_crl_days= 30 # how long before next CRL<br />

default_md = md5 # which md to use.<br />

preserve = no # keep passed DN ordering<br />

policy = policy_anything<br />

######################################################################<br />

[ User_CA ] # Abschnitt fuer eine User CA<br />

dir = $pfad/UCA # Where everything is kept<br />

certs = $dir/certs # Where the issued certs are kept<br />

crl_dir = $dir/crl # Where the issued crl are kept<br />

database = $dir/index.txt # database index file.<br />

new_certs_dir = $dir/newcerts # default place for new certs.<br />

certificate = $dir/UCAcert.pem # The CA certificate<br />

serial = $dir/serial # The current serial number<br />

crl = $dir/crl.pem # The current CRL<br />

private_key = $dir/private/UCAkey.pem # The private key<br />

RANDFILE = $dir/private/.rand # private random number file<br />

x509_extensions = UCA_ext # The extentions to add to the cert<br />

#crl_extensions = crl_ext # Extensions to add to CRL<br />

default_days = 365 # how long to certify for<br />

default_crl_days= 30 # how long before next CRL<br />

default_md = md5 # which md to use.<br />

preserve = no # keep passed DN ordering<br />

policy = policy_anything<br />

######################################################################<br />

# For the CA policy<br />

# Auch hier gilt:<br />

# ... you must list all acceptable ’object’ types.<br />

[ policy_match ]<br />

countryName = match<br />

stateOrProvinceName = supplied<br />

localityName = optional<br />

organizationName = supplied<br />

organizationalUnitName = optional<br />

commonName = supplied<br />

emailAddress = optional<br />

# For the ’anything’ policy<br />

# At this point in time, you must list all acceptable ’object’<br />

# types.<br />

227


228 Anhang E. openssl.cnf – Beispiel-Datei<br />

[ policy_anything ]<br />

countryName = match<br />

stateOrProvinceName = optional<br />

localityName = optional<br />

organizationName = optional<br />

organizationalUnitName = optional<br />

commonName = supplied<br />

emailAddress = optional<br />

####################################################################<br />

[ req ]<br />

default_bits = 1024<br />

default_keyfile = privkey.pem<br />

distinguished_name = req_distinguished_name<br />

attributes = req_attributes<br />

x509_extensions = v3_ca # The extentions to add to the self signed cert<br />

# Passwords for private keys if not present they will be prompted for<br />

# input_password = secret<br />

# output_password = secret<br />

# This sets a mask for permitted string types. There are several options.<br />

# default: PrintableString, T61String, BMPString.<br />

# pkix : PrintableString, BMPString.<br />

# utf8only: only UTF8Strings.<br />

# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).<br />

# MASK:XXXX a literal mask value.<br />

# WARNING: current versions of Netscape crash on BMPStrings or UTF8Strings<br />

# so use this option with caution!<br />

string_mask = nombstr<br />

# req_extensions = v3_req # The extensions to add to a certificate request<br />

######################################################################<br />

[ req_distinguished_name ]<br />

countryName = Country Name (2 letter code)<br />

countryName_default = DE<br />

countryName_min = 2<br />

countryName_max = 2<br />

stateOrProvinceName = State or Province Name (full name)<br />

#stateOrProvinceName_default = Schleswig-Holstein<br />

localityName = Locality Name (eg, city)<br />

#localityName_default = Kiel<br />

0.organizationName = Organization Name (eg, company)<br />

#0.organizationName_default = Universitaet Kiel<br />

# we can do this but it is not needed normally :-)<br />

#1.organizationName = Second Organization Name (eg, company)<br />

#1.organizationName_default = World Wide Web Pty Ltd<br />

organizationalUnitName = Organizational Unit Name (eg, section)<br />

#organizationalUnitName_default = Studis<br />

commonName = Common Name (eg, YOUR name)


commonName_max = 64<br />

emailAddress = Email Address<br />

emailAddress_max = 60<br />

# SET-ex3 = SET extension number 3<br />

######################################################################<br />

[ req_attributes ]<br />

# Das Challenge Password dient dazu, sich bei Verlust des geheimen Schluessels<br />

# gegenueber der Herausgeber-CA fuer einen Zertifikatwiderruf auszuweisen.<br />

# Wird bei Erstellung der Zertifikat-Anforderung erfragt.<br />

challengePassword = A challenge password<br />

challengePassword_min = 4<br />

challengePassword_max = 20<br />

unstructuredName = An optional company name<br />

######################################################################<br />

[ PCA_ext ]<br />

# This goes against PKIX guidelines but some CAs do it and some software<br />

# requires this to avoid interpreting an end user certificate as a CA.<br />

basicConstraints = critical, CA:TRUE<br />

# Moeglich: digitalSignature, nonRepudiation, keyEncipherment,<br />

# dataEncipherment, keyAgreement, keyCertSign,<br />

# cRLSign, encipherOnly, decipherOnly<br />

keyUsage = cRLSign, keyCertSign<br />

# PKIX recommendations<br />

subjectKeyIdentifier = hash<br />

authorityKeyIdentifier = keyid,issuer:always<br />

# Import the email address.<br />

subjectAltName = email:copy<br />

# Copy subject details<br />

issuerAltName = issuer:copy<br />

crlDistributionPoints = URI:http://mystic.pca.dfn.de/PCA.crl<br />

# Moeglich: client, server, email, objsign, reserved, sslCA, emailCA, objCA<br />

nsCertType = sslCA, emailCA, objCA<br />

# Hier kann der den folgenden Url’s gemeinsame Url-Stamm angeben werden.<br />

nsBaseUrl = https://mystic.pca.dfn.de/<br />

# Die Seite mit der CA-Policy<br />

nsCaPolicyUrl = http://www.pca.dfn.de/dfnpca/policy/wwwpolicy.html<br />

# Ein Text, der von Netscape-Browsern angezeigt wird<br />

nsComment = This certificate was issued by a PCA\n\<br />

just for testing.<br />

# Hier kann eine Online-Zertifikatspruefung stattfinden, indem auf die<br />

# Url in der Form ../foo.cgi?aaaa zugegriffen wird. "aaaa" ist dabei<br />

# die ASCII-kodierte Seriennummer des Zertifikats. Dann kann das Zertifikat<br />

# per OpenSSL geprueft werden. Wird vermutlich nur in Serverzertifikaten <strong>und</strong><br />

229


230 Anhang E. openssl.cnf – Beispiel-Datei<br />

# durch Netscape-Browser unterstuetzt<br />

# Zurueckgegeben wird eine dezimale 0 oder 1<br />

# nsRevocationUrl = cgi/non-CA-rev.cgi?<br />

# Nur gueltig in CA-Zertifikaten. Bedeutung nicht ganz klar.<br />

# nsCaRevocationUrl = cgi/CA-rev.cgi?<br />

# Wird verwendet um einem Benutzer die Erneuerung seines Zertifikats zu<br />

# erleichtern. Ueblicherweise steckt dahinter ein CGI-Script, auf das per<br />

# HTTP GET in der Form ../foo.cgi?aaaa zugegriffen wird. "aaaa" ist wieder<br />

# Seriennummer. Zurueckgegeben werden kann ein Antrags-Formular zur Erneuerung<br />

# des Zertifikats.<br />

# nsRenewalUrl = cgi/check-renw.cgi?<br />

######################################################################<br />

[ SCA_ext ]<br />

# basicConstraints = critical, CA:FALSE<br />

keyUsage = digitalSignature, keyEncipherment<br />

subjectKeyIdentifier = hash<br />

authorityKeyIdentifier = keyid,issuer:always<br />

subjectAltName = email:copy<br />

issuerAltName = issuer:copy<br />

crlDistributionPoints = URI:http://mystic.pca.dfn.de/SCA.crl<br />

nsCertType = server<br />

nsBaseUrl = https://mystic.pca.dfn.de/<br />

nsCaPolicyUrl = http://www.pca.dfn.de/dfnpca/policy/wwwpolicy.html<br />

nsComment = This certificate was issued by a Server CA<br />

nsRevocationUrl = cgi/non-CA-rev.cgi?<br />

# nsRenewalUrl = cgi/check-renw.cgi?<br />

######################################################################<br />

[ UCA_ext ]<br />

# basicConstraints = critical, CA:FALSE<br />

keyUsage = digitalSignature, keyEncipherment, keyAgreement<br />

subjectKeyIdentifier = hash<br />

authorityKeyIdentifier = keyid,issuer:always<br />

subjectAltName = email:copy<br />

issuerAltName = issuer:copy<br />

crlDistributionPoints = URI:http://mystic.pca.dfn.de/UCA.crl<br />

nsCertType = client, email<br />

nsBaseUrl = https://mystic.pca.dfn.de/<br />

nsCaPolicyUrl = http://www.pca.dfn.de/dfnpca/policy/wwwpolicy.html<br />

nsComment = This certificate was issued by a User CA<br />

nsRevocationUrl = cgi/non-CA-rev.cgi?<br />

# nsRenewalUrl = cgi/check-renw.cgi?<br />

######################################################################<br />

[ v3_ca ]<br />

basicConstraints = critical, CA:TRUE<br />

subjectKeyIdentifier = hash<br />

authorityKeyIdentifier = keyid:always,issuer:always<br />

keyUsage = cRLSign, keyCertSign<br />

nsCertType = sslCA, emailCA, objCA<br />

subjectAltName = email:copy<br />

issuerAltName = issuer:copy<br />

crlDistributionPoints = URI:http://mystic.pca.dfn.de/PCA.crl<br />

nsBaseUrl = https://mystic.pca.dfn.de/


nsCaPolicyUrl = http://www.pca.dfn.de/dfnpca/policy/wwwpolicy.html<br />

nsComment = This certificate is a Root CA Certificate<br />

# RAW DER hex encoding of an extension: beware experts only!<br />

# 1.2.3.5=RAW:02:03<br />

# You can even override a supported extension:<br />

# basicConstraints = critical, RAW:30:03:01:01:FF<br />

######################################################################<br />

[ crl_ext ]<br />

# CRL extensions.<br />

# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.<br />

issuerAltName = issuer:copy<br />

authorityKeyIdentifier = keyid:always,issuer:always<br />

231


232 Anhang E. openssl.cnf – Beispiel-Datei


Anhang F<br />

Aufrufparameter <strong>und</strong> Optionen von<br />

openssl<br />

openssl<br />

Standard commands<br />

asn1parse ca ciphers crl crl2pkcs7<br />

dgst dh dhparam dsa dsaparam<br />

enc errstr gendh gendsa genrsa<br />

nseq passwd pkcs12 pkcs7 pkcs8<br />

req rsa s_client s_server s_time<br />

sess_id smime speed spkac verify<br />

version x509<br />

Message Digest commands (see the ‘dgst’ command for more details)<br />

md2 md5 mdc2 rmd160 sha<br />

sha1<br />

Cipher commands (see the ‘enc’ command for more details)<br />

base64 bf bf-cbc bf-cfb bf-ecb<br />

bf-ofb cast cast-cbc cast5-cbc cast5-cfb<br />

cast5-ecb cast5-ofb des des-cbc des-cfb<br />

des-ecb des-ede des-ede-cbc des-ede-cfb des-ede-ofb<br />

des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb des-ofb<br />

des3 desx idea idea-cbc idea-cfb<br />

idea-ecb idea-ofb rc2 rc2-40-cbc rc2-64-cbc<br />

rc2-cbc rc2-cfb rc2-ecb rc2-ofb rc4<br />

rc4-40 rc5 rc5-cbc rc5-cfb rc5-ecb<br />

rc5-ofb<br />

asn1parse<br />

asn1parse [options]


234 Anhang F. Aufrufparameter <strong>und</strong> Optionen von openssl<br />

-i indent entries<br />

-oid file file of extra oid definitions<br />

-strparse offset<br />

a series of these can be used to ’dig’ into multiple<br />

ASN1 blob wrappings<br />

-out filename output DER encoding to file<br />

ca<br />

usage: ca args<br />

-verbose - Talk alot while doing things<br />

-config file - A config file<br />

-name arg - The particular CA definition to use<br />

-gencrl - Generate a new CRL<br />

-crldays days - Days is when the next CRL is due<br />

-crlhours hours - Hours is when the next CRL is due<br />

-startdate YYMMDDHHMMSSZ - certificate validity notBefore<br />

-enddate YYMMDDHHMMSSZ - certificate validity notAfter (overrides -days)<br />

-days arg - number of days to certify the certificate for<br />

-md arg - md to use, one of md2, md5, sha or sha1<br />

-policy arg - The CA ’policy’ to support<br />

-keyfile arg - PEM private key file<br />

-key arg - key to decode the private key if it is encrypted<br />

-cert file - The CA certificate<br />

-in file - The input PEM encoded certificate request(s)<br />

-out file - Where to put the output file(s)<br />

-outdir dir - Where to put output certificates<br />

-infiles .... - The last argument, requests to process<br />

-spkac file - File contains DN and signed public key and challenge<br />

-ss_cert file - File contains a self signed cert to sign<br />

-preserveDN - Don’t re-order the DN<br />

-batch - Don’t ask questions<br />

-msie_hack - msie modifications to handle all those universal strings<br />

-revoke file - Revoke a certificate (given in file)<br />

-extensions .. - Extension section (override value in config file)<br />

-crlexts .. - CRL extension section (override value in config file)<br />

ciphers<br />

Nach Aufruf von ciphers werden die von OpenSSL unterstützten Cipher-Suites angezeigt.<br />

crl<br />

usage: crl args<br />

-inform arg - input format - default PEM (DER or PEM)<br />

-outform arg - output format - default PEM<br />

-text - print out a text format version<br />

-in arg - input file - default stdin<br />

-out arg - output file - default stdout<br />

-hash - print hash value<br />

-issuer - print issuer DN<br />

-lastupdate - lastUpdate field<br />

-nextupdate - nextUpdate field


-noout - no CRL output<br />

-CAfile name - verify CRL using certificates in file "name"<br />

-CApath dir - verify CRL using certificates in "dir"<br />

crl2pkcs7<br />

crl2pkcs7 [options] outfile<br />

where options are<br />

-inform arg input format - DER or PEM<br />

-outform arg output format - DER or PEM<br />

-in arg input file<br />

-out arg output file<br />

-certfile arg certificates file of chain to a trusted CA<br />

(can be used more than once)<br />

-nocrl no crl to load, just certs from ’-certfile’<br />

dgst<br />

options are<br />

-c to output the digest with separating colons<br />

-d to output debug info<br />

-md5 to use the md5 message digest algorithm (default)<br />

-md2 to use the md2 message digest algorithm<br />

-sha1 to use the sha1 message digest algorithm<br />

-sha to use the sha message digest algorithm<br />

-mdc2 to use the mdc2 message digest algorithm<br />

-ripemd160 to use the ripemd160 message digest algorithm<br />

dh<br />

dh [options] outfile<br />

where options are<br />

-inform arg input format - one of DER PEM<br />

-outform arg output format - one of DER PEM<br />

-in arg input file<br />

-out arg output file<br />

-check check the DH parameters<br />

-text print a text form of the DH parameters<br />

-C Output C code<br />

-noout no output<br />

dhparam<br />

dhparam [options] [numbits]<br />

where options are<br />

-inform arg input format - one of DER PEM<br />

-outform arg output format - one of DER PEM<br />

-in arg input file<br />

-out arg output file<br />

-check check the DH parameters<br />

-text print a text form of the DH parameters<br />

235


236 Anhang F. Aufrufparameter <strong>und</strong> Optionen von openssl<br />

-C Output C code<br />

-2 generate parameters using 2 as the generator value<br />

-5 generate parameters using 5 as the generator value<br />

numbits number of bits in to generate (default 512)<br />

-rand file:file:...<br />

- load the file (or the files in the directory) into<br />

the random number generator<br />

-noout no output<br />

dsa<br />

dsa [options] outfile<br />

where options are<br />

-inform arg input format - DER or PEM<br />

-outform arg output format - DER or PEM<br />

-in arg input file<br />

-passin arg input file pass phrase<br />

-out arg output file<br />

-passout arg output file pass phrase<br />

-des encrypt PEM output with cbc des<br />

-des3 encrypt PEM output with ede cbc des using 168 bit key<br />

-idea encrypt PEM output with cbc idea<br />

-text print the key in text<br />

-noout don’t print key out<br />

-modulus print the DSA public value<br />

dsaparam<br />

dsaparam [options] [bits] outfile<br />

where options are<br />

-inform arg input format - DER or PEM<br />

-outform arg output format - DER or PEM<br />

-in arg input file<br />

-out arg output file<br />

-text print the key in text<br />

-C Output C code<br />

-noout no output<br />

-rand files to use for random number input<br />

number number of bits to use for generating private key<br />

enc<br />

options are<br />

-in input file<br />

-out output fileencrypt<br />

-e encrypt<br />

-d decrypt<br />

-a/-base64 base64 encode/decode, depending on encryption flag<br />

-k key is the next argument<br />

-kfile key is the first line of the file argument<br />

-K/-iv key/iv in hex is the next argument<br />

-[pP] print the iv/key (then exit if -P)<br />

-bufsize buffer size<br />

Cipher Types


des : 56 bit key DES encryption<br />

des_ede :112 bit key ede DES encryption<br />

des_ede3:168 bit key ede DES encryption<br />

idea :128 bit key IDEA encryption<br />

rc2 :128 bit key RC2 encryption<br />

bf :128 bit key Blowfish encryption<br />

-rc4 :128 bit key RC4 encryption<br />

-des-ecb -des-cbc -des-cfb -des-ofb -des (des-cbc)<br />

-des-ede -des-ede-cbc -des-ede-cfb -des-ede-ofb -desx -none<br />

-des-ede3 -des-ede3-cbc -des-ede3-cfb -des-ede3-ofb -des3 (des-ede3-cbc)<br />

-idea-ecb -idea-cbc -idea-cfb -idea-ofb -idea (idea-cbc)<br />

-rc2-ecb -rc2-cbc -rc2-cfb -rc2-ofb -rc2 (rc2-cbc)<br />

-bf-ecb -bf-cbc -bf-cfb -bf-ofb -bf (bf-cbc)<br />

-cast5-ecb -cast5-cbc -cast5-cfb -cast5-ofb -cast (cast5-cbc)<br />

-rc5-ecb -rc5-cbc -rc5-cfb -rc5-ofb -rc5 (rc5-cbc)<br />

errstr<br />

usage: errstr [-stats] ...<br />

gendh<br />

usage: gendh [args] [numbits]<br />

-out file - output the key to ’file<br />

-2 use 2 as the generator value<br />

-5 use 5 as the generator value<br />

-rand file:file:...<br />

- load the file (or the files in the directory) into<br />

the random number generator<br />

gendsa<br />

usage: gendsa [args] dsaparam-file<br />

-out file - output the key to ’file’<br />

-des - encrypt the generated key with DES in cbc mode<br />

-des3 - encrypt the generated key with DES in ede cbc mode (168 bit key)<br />

-idea - encrypt the generated key with IDEA in cbc mode<br />

-rand file:file:...<br />

- load the file (or the files in the directory) into<br />

the random number generator<br />

dsaparam-file<br />

- a DSA parameter file as generated by the dsaparam command<br />

genrsa<br />

usage: genrsa [args] [numbits]<br />

-des encrypt the generated key with DES in cbc mode<br />

-des3 encrypt the generated key with DES in ede cbc mode (168 bit key)<br />

-idea encrypt the generated key with IDEA in cbc mode<br />

-out file output the key to ’file<br />

-passout arg output file pass phrase<br />

-f4 use F4 (0x10001) for the E value<br />

237


238 Anhang F. Aufrufparameter <strong>und</strong> Optionen von openssl<br />

-3 use 3 for the E value<br />

-rand file:file:...<br />

load the file (or the files in the directory) into<br />

the random number generator<br />

nseq<br />

Netscape certificate sequence utility<br />

Usage nseq [options]<br />

where options are<br />

-in file input file<br />

-out file output file<br />

-toseq output NS Sequence file<br />

passwd<br />

Usage: passwd [options] [passwords]<br />

where options are<br />

-crypt standard Unix password algorithm (default)<br />

-apr1 MD5-based password algorithm<br />

-salt string use provided salt<br />

-in file read passwords from file<br />

-stdin read passwords from stdin<br />

-quiet no warnings<br />

-table format output as table<br />

-reverse switch table columns<br />

pkcs12<br />

Usage: pkcs12 [options]<br />

where options are<br />

-export output PKCS12 file<br />

-chain add certificate chain<br />

-inkey file private key if not infile<br />

-certfile f add all certs in f<br />

-name "name" use name as friendly name<br />

-caname "nm" use nm as CA friendly name (can be used more than once).<br />

-in infile input filename<br />

-out outfile output filename<br />

-noout don’t output anything, just verify.<br />

-nomacver don’t verify MAC.<br />

-nocerts don’t output certificates.<br />

-clcerts only output client certificates.<br />

-cacerts only output CA certificates.<br />

-nokeys don’t output private keys.<br />

-info give info about PKCS#12 structure.<br />

-des encrypt private keys with DES<br />

-des3 encrypt private keys with triple DES (default)<br />

-idea encrypt private keys with idea<br />

-nodes don’t encrypt private keys<br />

-noiter don’t use encryption iteration<br />

-maciter use MAC iteration<br />

-twopass separate MAC, encryption passwords<br />

-descert encrypt PKCS#12 certificates with triple DES (default RC2-40)<br />

-certpbe alg specify certificate PBE algorithm (default RC2-40)<br />

-keypbe alg specify private key PBE algorithm (default 3DES)


-keyex set MS key exchange type<br />

-keysig set MS key signature type<br />

-password p set import/export password (NOT RECOMMENDED)<br />

-passin p input file pass phrase<br />

-passout p output file pass phrase<br />

-rand file:file:...<br />

load the file (or the files in the directory) into<br />

the random number generator<br />

pkcs7<br />

pkcs7 [options] outfile<br />

where options are<br />

-inform arg input format - DER or PEM<br />

-outform arg output format - DER or PEM<br />

-in arg input file<br />

-out arg output file<br />

-print_certs print any certs or crl in the input<br />

-text print full details of certificates<br />

-noout don’t output encoded data<br />

pkcs8<br />

Usage pkcs8 [options]<br />

where options are<br />

-in file input file<br />

-inform X input format (DER or PEM)<br />

-passin arg input file pass phrase<br />

-envpassin arg environment variable containing input file pass phrase<br />

-outform X output format (DER or PEM)<br />

-out file output file<br />

-passout arg output file pass phrase<br />

-topk8 output PKCS8 file<br />

-nooct use (nonstandard) no octet format<br />

-embed use (nonstandard) embedded DSA parameters format<br />

-nsdb use (nonstandard) DSA Netscape DB format<br />

-noiter use 1 as iteration count<br />

-nocrypt use or expect unencrypted private key<br />

-v2 alg use PKCS#5 v2.0 and cipher "alg"<br />

-v1 obj use PKCS#5 v1.5 and cipher "alg"<br />

req<br />

req [options] outfile<br />

where options are<br />

-inform arg input format - DER or PEM<br />

-outform arg output format - DER or PEM<br />

-in arg input file<br />

-out arg output file<br />

-text text form of request<br />

-noout do not output REQ<br />

-verify verify signature on REQ<br />

-modulus RSA modulus<br />

-nodes don’t encrypt the output key<br />

239


240 Anhang F. Aufrufparameter <strong>und</strong> Optionen von openssl<br />

-key file use the private key contained in file<br />

-keyform arg key file format<br />

-keyout arg file to send the key to<br />

-newkey rsa:bits generate a new RSA key of ’bits’ in size<br />

-newkey dsa:file generate a new DSA key, parameters taken from CA in ’file’<br />

-[digest] Digest to sign with (md5, sha1, md2, mdc2)<br />

-config file request template file.<br />

-new new request.<br />

-x509 output a x509 structure instead of a cert. req.<br />

-days number of days a x509 generated by -x509 is valid for.<br />

-newhdr output "NEW" in the header lines<br />

-asn1-kludge Output the ’request’ in a format that is wrong but some CA’s<br />

have been reported as requiring<br />

-extensions .. specify certificate extension section (override value in config file)<br />

-reqexts .. specify request extension section (override value in config file)<br />

rsa<br />

rsa [options] outfile<br />

where options are<br />

-inform arg input format - one of DER NET PEM<br />

-outform arg output format - one of DER NET PEM<br />

-in arg input file<br />

-passin arg input file pass phrase<br />

-in arg input file<br />

-out arg output file<br />

-passout arg output file pass phrase<br />

-des encrypt PEM output with cbc des<br />

-des3 encrypt PEM output with ede cbc des using 168 bit key<br />

-idea encrypt PEM output with cbc idea<br />

-text print the key in text<br />

-noout don’t print key out<br />

-modulus print the RSA key modulus<br />

-check verify key consistency<br />

-pubin expect a public key in input file<br />

-pubout output a public key<br />

s_client<br />

usage: s_client args<br />

-host host - use -connect instead<br />

-port port - use -connect instead<br />

-connect host:port - who to connect to (default is localhost:4433)<br />

-verify arg - turn on peer certificate verification<br />

-cert arg - certificate file to use, PEM format assumed<br />

-key arg - Private key file to use, PEM format assumed, in cert file if<br />

not specified but cert file is.<br />

-CApath arg - PEM format directory of CA’s<br />

-CAfile arg - PEM format file of CA’s<br />

-reconnect - Drop and re-make the connection with the same Session-ID<br />

-pause - sleep(1) after each read(2) and write(2) system call<br />

-showcerts - show all certificates in the chain<br />

-debug - extra output<br />

-nbio_test - more ssl protocol testing<br />

-state - print the ’ssl’ states<br />

-nbio - Run with non-blocking IO


-crlf - convert LF from terminal into CRLF<br />

-quiet - no s_client output<br />

-ssl2 - just use SSLv2<br />

-ssl3 - just use SSLv3<br />

-tls1 - just use TLSv1<br />

-no_tls1/-no_ssl3/-no_ssl2 - turn off that protocol<br />

-bugs - Switch on all SSL implementation bug workaro<strong>und</strong>s<br />

-cipher - preferred cipher to use, use the ’openssl ciphers’<br />

command to see what is available<br />

s_server<br />

usage: s_server [args ...]<br />

-accept arg - port to accept on (default is 4433)<br />

-context arg - set session ID context<br />

-verify arg - turn on peer certificate verification<br />

-Verify arg - turn on peer certificate verification, must have a cert.<br />

-cert arg - certificate file to use, PEM format assumed<br />

(default is server.pem)<br />

-key arg - Private Key file to use, PEM format assumed, in cert file if<br />

not specified (default is server.pem)<br />

-dcert arg - second certificate file to use (usually for DSA)<br />

-dkey arg - second private key file to use (usually for DSA)<br />

-dhparam arg - DH parameter file to use, in cert file if not specified<br />

or a default set of parameters is used<br />

-nbio - Run with non-blocking IO<br />

-nbio_test - test with the non-blocking test bio<br />

-crlf - convert LF from terminal into CRLF<br />

-debug - Print more output<br />

-state - Print the SSL states<br />

-CApath arg - PEM format directory of CA’s<br />

-CAfile arg - PEM format file of CA’s<br />

-nocert - Don’t use any certificates (Anon-DH)<br />

-cipher arg - play with ’openssl ciphers’ to see what goes here<br />

-quiet - No server output<br />

-no_tmp_rsa - Do not generate a tmp RSA key<br />

-ssl2 - Just talk SSLv2<br />

-ssl3 - Just talk SSLv3<br />

-tls1 - Just talk TLSv1<br />

-no_ssl2 - Just disable SSLv2<br />

-no_ssl3 - Just disable SSLv3<br />

-no_tls1 - Just disable TLSv1<br />

-no_dhe - Disable ephemeral DH<br />

-bugs - Turn on SSL bug compatibility<br />

-www - Respond to a ’GET /’ with a status page<br />

-WWW - Respond to a ’GET / HTTP/1.0’ with file ./<br />

s_time<br />

usage: s_time <br />

-connect host:port - host:port to connect to (default is localhost:4433)<br />

-nbio - Run with non-blocking IO<br />

-ssl2 - Just use SSLv2<br />

-ssl3 - Just use SSLv3<br />

-bugs - Turn on SSL bug compatibility<br />

241


242 Anhang F. Aufrufparameter <strong>und</strong> Optionen von openssl<br />

-new - Just time new connections<br />

-reuse - Just time connection reuse<br />

-www page - Retrieve ’page’ from the site<br />

-time arg - max number of seconds to collect data, default 30<br />

-verify arg - turn on peer certificate verification, arg == depth<br />

-cert arg - certificate file to use, PEM format assumed<br />

-key arg - RSA file to use, PEM format assumed, key is in cert file<br />

file if not specified by this option<br />

-CApath arg - PEM format directory of CA’s<br />

-CAfile arg - PEM format file of CA’s<br />

-cipher - preferred cipher to use, play with ’openssl ciphers’<br />

sess_id<br />

usage: sess_id args<br />

-inform arg - input format - default PEM (DER or PEM)<br />

-outform arg - output format - default PEM<br />

-in arg - input file - default stdin<br />

-out arg - output file - default stdout<br />

-text - print ssl session id details<br />

-cert - output certificate<br />

-noout - no CRL output<br />

-context arg - set the session ID context<br />

smime<br />

Usage smime [options] cert.pem ...<br />

where options are<br />

-encrypt encrypt message<br />

-decrypt decrypt encrypted message<br />

-sign sign message<br />

-verify verify signed message<br />

-pk7out output PKCS#7 structure<br />

-des3 encrypt with triple DES<br />

-des encrypt with DES<br />

-rc2-40 encrypt with RC2-40 (default)<br />

-rc2-64 encrypt with RC2-64<br />

-rc2-128 encrypt with RC2-128<br />

-nointern don’t search certificates in message for signer<br />

-nosigs don’t verify message signature<br />

-noverify don’t verify signers certificate<br />

-nocerts don’t include signers certificate when signing<br />

-nodetach use opaque signing<br />

-noattr don’t include any signed attributes<br />

-binary don’t translate message to text<br />

-certfile file other certificates file<br />

-signer file signer certificate file<br />

-recip file recipient certificate file for decryption<br />

-in file input file<br />

-inkey file input private key (if not signer or recipient)<br />

-out file output file<br />

-to addr to address<br />

-from ad from address<br />

-subject s subject<br />

-text include or delete text MIME headers<br />

-CApath dir trusted certificates directory


-CAfile file trusted certificates file<br />

-rand file:file:...<br />

load the file (or the files in the directory) into<br />

the random number generator<br />

cert.pem recipient certificate(s) for encryption<br />

speed<br />

bad value, pick one of<br />

md2 mdc2 md5 hmac sha1 rmd160<br />

idea-cbc rc2-cbc rc5-cbc bf-cbc<br />

des-cbc des-ede3 rc4<br />

rsa512 rsa1024 rsa2048 rsa4096<br />

dsa512 dsa1024 dsa2048<br />

idea rc2 des rsa blowfish<br />

spkac<br />

spkac [options]<br />

where options are<br />

-in arg input file<br />

-out arg output file<br />

-key arg create SPKAC using private key<br />

-passin arg input file pass phrase<br />

-challenge arg challenge string<br />

-spkac arg alternative SPKAC name<br />

-noout don’t print SPKAC<br />

-pubkey output public key<br />

-verify verify SPKAC signature<br />

verify<br />

usage: verify [-verbose] [-CApath path] [-CAfile file] cert1 cert2 ...<br />

recognized usages:<br />

sslclient SSL client<br />

sslserver SSL server<br />

nssslserver Netscape SSL server<br />

smimesign S/MIME signing<br />

smimeencrypt S/MIME encryption<br />

crlsign CRL signing<br />

version<br />

usage:version -[avbofp]<br />

243


244 Anhang F. Aufrufparameter <strong>und</strong> Optionen von openssl<br />

x509<br />

usage: x509 args<br />

-inform arg - input format - default PEM (one of DER, NET or PEM)<br />

-outform arg - output format - default PEM (one of DER, NET or PEM)<br />

-keyform arg - private key format - default PEM<br />

-CAform arg - CA format - default PEM<br />

-CAkeyform arg - CA key format - default PEM<br />

-in arg - input file - default stdin<br />

-out arg - output file - default stdout<br />

-passin arg - private key password<br />

-envpassin arg - read private key password from environment variable "arg"<br />

-serial - print serial number value<br />

-hash - print hash value<br />

-subject - print subject DN<br />

-issuer - print issuer DN<br />

-startdate - notBefore field<br />

-enddate - notAfter field<br />

-purpose - print out certificate purposes<br />

-dates - both Before and After dates<br />

-modulus - print the RSA key modulus<br />

-pubkey - output the public key<br />

-fingerprint - print the certificate fingerprint<br />

-alias - output certificate alias<br />

-noout - no certificate output<br />

-trustout - output a "trusted" certificate<br />

-clrtrust - clear all trusted purposes<br />

-clrreject - clear all rejected purposes<br />

-addtrust arg - trust certificate for a given purpose<br />

-addreject arg - reject certificate for a given purpose<br />

-setalias arg - set certificate alias<br />

-days arg - How long till expiry of a signed certificate - def 30 days<br />

-signkey arg - self sign cert with arg<br />

-x509toreq - output a certification request object<br />

-req - input is a certificate request, sign and output.<br />

-CA arg - set the CA certificate, must be PEM format.<br />

-CAkey arg - set the CA key, must be PEM format<br />

missing, it is assumed to be in the CA file.<br />

-CAcreateserial - create serial number file if it does not exist<br />

-CAserial - serial file<br />

-text - print the certificate in text form<br />

-C - print out C code forms<br />

-md2/-md5/-sha1/-mdc2 - digest to use<br />

-extfile - configuration file with X509V3 extensions to add<br />

-extensions - section from config file with X509V3 extensions to add


Anhang G<br />

httpd.conf – Beispielkonfiguration<br />

für Apache-Webserver<br />

# The configuration directives are grouped into three basic sections:<br />

# 1. Directives that control the operation of the Apache server process as a<br />

# whole (the ’global environment’).<br />

# 2. Directives that define the parameters of the ’main’ or ’default’ server,<br />

# which responds to requests that aren’t handled by a virtual host.<br />

# These directives also provide default values for the settings<br />

# of all virtual hosts.<br />

# 3. Settings for virtual hosts, which allow Web requests to be sent to<br />

# different IP addresses or hostnames and have them handled by the<br />

# same Apache server process.<br />

# ServerType legt fest, wie der Server gestartet wird. Moeglich sind<br />

# "inetd" oder "standalone". Mit inetd wird der Server von inetd ueber einen<br />

# Eintrag in inetd.conf gestartet. Wird der Server auf diese Weise gestartet,<br />

# wird fuer jeden HTTP-Request ein neuer Server gestartet <strong>und</strong> anschliessend<br />

# beendet. Die Folge ist, dass der Rechner stark belastet werden kann. Und<br />

# ausserdem:<br />

# SSL Servers MUST be standalone, currently.<br />

ServerType standalone<br />

# ServerRoot: The directory the server’s config, error, and log files<br />

# are kept in<br />

ServerRoot "/usr/local/apache"<br />

# PidFile: The file the server should log its pid to<br />

PidFile logs/httpd.pid<br />

# ScoreBoardFile: File used to store internal server process information.<br />

# Not all architectures require this. But if yours does (you’ll know because<br />

# this file will be created when you run Apache) then you *must* ensure that<br />

# no two invocations of Apache share the same scoreboard file.<br />

# ScoreBoardFile logs/apache_runtime_status<br />

245


246 Anhang G. httpd.conf – Beispielkonfiguration für Apache-Webserver<br />

# Saemtliche Server-Direktiven befinden sich in httpd.conf. Daher:<br />

ResourceConfig /dev/null<br />

AccessConfig /dev/null<br />

# Nach wieviel Sek<strong>und</strong>en die Verbindung geschlossen wird.<br />

Timeout 300<br />

# Ermoeglicht es, mehrere Anfragen ueber eine TCP-Verbindung abzusetzen.<br />

KeepAlive On<br />

# MaxKeepAliveRequests: The maximum number of requests to allow<br />

# during a persistent connection. Set to 0 to allow an unlimited amount.<br />

# We recommend you leave this number high, for maximum performance.<br />

MaxKeepAliveRequests 100<br />

# KeepAliveTimeout: Number of seconds to wait for the next request from the<br />

# same client on the same connection.<br />

KeepAliveTimeout 15<br />

# Server-pool size regulation. Rather than making you guess how many<br />

# server processes you need, Apache dynamically adapts to the load it<br />

# sees --- that is, it tries to maintain enough server processes to<br />

# handle the current load, plus a few spare servers to handle transient<br />

# load spikes (e.g., multiple simultaneous requests from a single<br />

# Netscape browser).<br />

#<br />

# It does this by periodically checking how many servers are waiting<br />

# for a request. If there are fewer than MinSpareServers, it creates<br />

# a new spare. If there are more than MaxSpareServers, some of the<br />

# spares die off. The default values are probably OK for most sites.<br />

MinSpareServers 5<br />

MaxSpareServers 10<br />

# Number of servers to start initially --- should be a reasonable ballpark<br />

# figure.<br />

StartServers 5<br />

# Limit on total number of servers running, i.e., limit on the number<br />

# of clients who can simultaneously connect --- if this limit is ever<br />

# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.<br />

# It is intended mainly as a brake to keep a runaway server from taking<br />

# the system with it as it spirals down...<br />

MaxClients 150<br />

# MaxRequestsPerChild: the number of requests each child process is<br />

# allowed to process before the child dies. The child will exit so<br />

# as to avoid problems after prolonged use when Apache (and maybe the


# libraries it uses) leak memory or other resources. On most systems, this<br />

# isn’t really needed, but a few (such as Solaris) do have notable leaks<br />

# in the libraries.<br />

#<br />

# NOTE: This value does not include keepalive requests after the initial<br />

# request per connection. For example, if a child process handles<br />

# an initial request and 10 subsequent "keptalive" requests, it<br />

# would only count as 1 request towards this limit.<br />

#<br />

MaxRequestsPerChild 10000<br />

# Die Port-Direktive legt fest, an welchem Port der Server horcht. Sind<br />

# zusaetzlich<br />

# noch Listen oder BindAddress gesetzt, hat die Direktive keine Wirkung. Soll<br />

# allerdings der Default-Port ein anderer als 80 sein, muss der Port ueber<br />

# die Port-Anweisung gesetzt sein.<br />

# Port setzt ausserdem die Umgebungs-Variable "SERVER_PORT", die fuer CGI <strong>und</strong><br />

# SSI benoetigt wird.<br />

# The default port for SSL is 443...<br />

Port 80<br />

#############################################################################<br />

#############################################################################<br />

#<br />

# Die folgenden Zeilen mit den LoadModule- <strong>und</strong> AddModule-Direktiven sind fuer<br />

# einen DSO-Apache gedacht. Kommt ein Nicht-DSO-Server zum Einsatz, sollten die<br />

# Zeilen bis zu der Zeile "# Ende der DSO-relevanten Direktiven"<br />

# auskommentiert oder geloescht werden.<br />

#<br />

#<br />

# Dynamic Shared Object (DSO) Support<br />

#<br />

# To be able to use the functionality of a module which was built as a DSO you<br />

# have to place corresponding ‘LoadModule’ lines at this location so the<br />

# directives contained in it are actually available _before_ they are used.<br />

# Please read the file README.DSO in the Apache 1.3 distribution for more<br />

# details about the DSO mechanism and run ‘httpd -l’ for the list of already<br />

# built-in (statically linked and thus always available) modules in your httpd<br />

# binary.<br />

#<br />

# Note: The order is which modules are loaded is important. Don’t change<br />

# the order below without expert advice.<br />

#<br />

# Example:<br />

# LoadModule foo_module libexec/mod_foo.so<br />

LoadModule mmap_static_module libexec/mod_mmap_static.so<br />

LoadModule vhost_alias_module libexec/mod_vhost_alias.so<br />

LoadModule env_module libexec/mod_env.so<br />

# LoadModule define_module libexec/mod_define.so<br />

LoadModule config_log_module libexec/mod_log_config.so<br />

# LoadModule agent_log_module libexec/mod_log_agent.so<br />

# LoadModule referer_log_module libexec/mod_log_referer.so<br />

# LoadModule mime_magic_module libexec/mod_mime_magic.so<br />

LoadModule mime_module libexec/mod_mime.so<br />

LoadModule negotiation_module libexec/mod_negotiation.so<br />

# LoadModule status_module libexec/mod_status.so<br />

# LoadModule info_module libexec/mod_info.so<br />

# LoadModule includes_module libexec/mod_include.so<br />

247


248 Anhang G. httpd.conf – Beispielkonfiguration für Apache-Webserver<br />

# LoadModule autoindex_module libexec/mod_autoindex.so<br />

LoadModule dir_module libexec/mod_dir.so<br />

LoadModule cgi_module libexec/mod_cgi.so<br />

# LoadModule asis_module libexec/mod_asis.so<br />

# LoadModule imap_module libexec/mod_imap.so<br />

LoadModule action_module libexec/mod_actions.so<br />

# LoadModule speling_module libexec/mod_speling.so<br />

# LoadModule userdir_module libexec/mod_userdir.so<br />

LoadModule alias_module libexec/mod_alias.so<br />

# LoadModule rewrite_module libexec/mod_rewrite.so<br />

LoadModule access_module libexec/mod_access.so<br />

# LoadModule auth_module libexec/mod_auth.so<br />

# LoadModule anon_auth_module libexec/mod_auth_anon.so<br />

# LoadModule dbm_auth_module libexec/mod_auth_dbm.so<br />

# LoadModule digest_module libexec/mod_digest.so<br />

# LoadModule proxy_module libexec/libproxy.so<br />

# LoadModule cern_meta_module libexec/mod_cern_meta.so<br />

# LoadModule expires_module libexec/mod_expires.so<br />

# LoadModule headers_module libexec/mod_headers.so<br />

# LoadModule usertrack_module libexec/mod_usertrack.so<br />

# LoadModule example_module libexec/mod_example.so<br />

# LoadModule unique_id_module libexec/mod_unique_id.so<br />

LoadModule setenvif_module libexec/mod_setenvif.so<br />

<br />

LoadModule ssl_module libexec/libssl.so<br />

<br />

# Reconstruction of the complete module list from all available modules<br />

# (static and shared ones) to achieve correct module execution order.<br />

# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]<br />

ClearModuleList<br />

AddModule mod_mmap_static.c<br />

AddModule mod_vhost_alias.c<br />

AddModule mod_env.c<br />

# AddModule mod_define.c<br />

AddModule mod_log_config.c<br />

# AddModule mod_log_agent.c<br />

# AddModule mod_log_referer.c<br />

# AddModule mod_mime_magic.c<br />

AddModule mod_mime.c<br />

AddModule mod_negotiation.c<br />

# AddModule mod_status.c<br />

# AddModule mod_info.c<br />

# AddModule mod_include.c<br />

# AddModule mod_autoindex.c<br />

AddModule mod_dir.c<br />

AddModule mod_cgi.c<br />

# AddModule mod_asis.c<br />

# AddModule mod_imap.c<br />

AddModule mod_actions.c<br />

# AddModule mod_speling.c<br />

# AddModule mod_userdir.c<br />

AddModule mod_alias.c<br />

# AddModule mod_rewrite.c<br />

AddModule mod_access.c<br />

# AddModule mod_auth.c<br />

# AddModule mod_auth_anon.c<br />

# AddModule mod_auth_dbm.c<br />

# AddModule mod_digest.c


# AddModule mod_proxy.c<br />

# AddModule mod_cern_meta.c<br />

# AddModule mod_expires.c<br />

# AddModule mod_headers.c<br />

# AddModule mod_usertrack.c<br />

# AddModule mod_example.c<br />

# AddModule mod_unique_id.c<br />

AddModule mod_so.c<br />

AddModule mod_setenvif.c<br />

<br />

AddModule mod_ssl.c<br />

<br />

# Ende der DSO-relevanten Direktiven<br />

#<br />

#############################################################################<br />

#############################################################################<br />

# Hat der Server mehrere Interfaces, horcht er auf jedem Interface, auf den bei<br />

# "Port" angegebenen Port. Es ist auch moeglich, verschiedene IP-Adressen<br />

# anzugeben (soweit der Rechner entsprechend konfiguriert ist). Ebenso sind<br />

# unterschiedliche Hostnames moeglich. Listen hat hoehere<br />

# Prioritaet als Port <strong>und</strong> BindAdress.<br />

Listen 127.0.0.42:80<br />

<br />

Port 443<br />

Listen 127.0.0.42:443<br />

<br />

# User- <strong>und</strong> Group-Direktive setzen die UserID bzw. Group-ID, unter der der<br />

# Server laeuft. Am besten einen eigenen User <strong>und</strong> Group einrichten <strong>und</strong> Server<br />

# als root starten. Nach dem Start wechselt der Server auf den weniger<br />

# priviligierten User-/Group-ID.<br />

User www<br />

Group wwwadm<br />

# An wen geht eine Meldung im Fehlerfall, z.B. steht diese Adresse<br />

# auf vom Server generierten Seiten mit Fehlermeldungen.<br />

ServerAdmin wwwadmin@name.de<br />

# ServerName allows you to set a host name which is sent back to clients for<br />

# your server if it’s different than the one the program would get (i.e., use<br />

# "www" instead of the host’s real name).<br />

#<br />

# Note: You cannot just invent host names and hope they work. The name you<br />

# define here must be a valid DNS name for your host. If you don’t <strong>und</strong>erstand<br />

# this, ask your network administrator.<br />

# If your host doesn’t have a registered DNS name, enter its IP address here.<br />

# You will have to access it by its address (e.g., http://123.45.67.89/)<br />

# anyway, and this will make redirections work in a sensible way.<br />

#<br />

ServerName www.name.de<br />

249


250 Anhang G. httpd.conf – Beispielkonfiguration für Apache-Webserver<br />

# DocumentRoot: The directory out of which you will serve your<br />

# documents. By default, all requests are taken from this directory, but<br />

# symbolic links and aliases may be used to point to other locations.<br />

DocumentRoot "/var/www/www80"<br />

# Durch folgende Anweisung wird Default-Zugriff auf das gesamte Datei-System<br />

# des Rechners abgeschaltet, sowie alle Includes <strong>und</strong> .htaccess-overrides.<br />

# Bei Bedarf kann der Zugriff fuer einzelne Verzeichnisse durch eine neue<br />

# Directory-Anweisung wieder eingeschaltet werden.<br />

# Directory bezieht sich auf den absoluten Pfad.<br />

# Die Anweisungen Directory, Files, Location, bilden eine Hirarchie mit in<br />

# dieser Reihenfolge zunehmender Prioritaet. Die Angabe von<br />

# Verzeichnissen kann fuer alle drei Direktiven auch durch Wildcards <strong>und</strong><br />

# Regulaere Ausdruecke erfolgen.<br />

<br />

order deny,allow<br />

# Zugriff aus allen Domains verbieten<br />

deny from all<br />

# ExecCGI, FollowSymLinks, Includes, Indexes, Multiview abschalten<br />

Options none<br />

# .htaccess-Dateien ignorieren<br />

AllowOverride none<br />

<br />

# Wegen der oben erwaehnten Prioritaets-Hierarchie muss hier eine Directory-D<br />

# verwendet werden, obwohl eine "Location /" dasselbe bezeichnet.<br />

<br />

# Nach "deny from all" in der "Directory /"-Anweisung wird hier wieder der<br />

# Zugriff gestattet. Der Zugriff sollte auch gestattet werden, damit<br />

# bei <strong>einer</strong> Standard-Anfrage der Default "index.html" zurueckgeliefert<br />

# werden kann. In darauffolgenden "Directory"-Anweisungen kann der<br />

# Zugriff wieder auf HTML-Dateien beschraenkt werden.<br />

Order allow,deny<br />

allow from all<br />

<br />

# Fuer alle Unterverzeichnisse Zugriff verbieten.<br />

# Muss Directory statt Location sein, da sonst die Beschraenkung mit deny<br />

# nicht mehr ueber Files fuer HTML-docs gemildert werden koennte (Location hat<br />

# hoehere Prioritaet als Files).<br />

<br />

order deny,allow<br />

deny from all<br />

<br />

# Durch folgende Anweisungen wird der Name der Index-Datei festgelegt<br />

DirectoryIndex index.html


# UseCanonicalName: (new for 1.3) With this setting turned on, whenever<br />

# Apache needs to construct a self-referencing URL (a URL that refers back<br />

# to the server the response is coming from) it will use ServerName and<br />

# Port to form a "canonical" name. With this setting off, Apache will<br />

# use the hostname:port that the client supplied, when possible. This<br />

# also affects SERVER_NAME and SERVER_PORT in CGI scripts.<br />

UseCanonicalName On<br />

# TypesConfig describes where the mime.types file (or equivalent) is<br />

# to be fo<strong>und</strong>.<br />

# Die neuen, SSL-bezogenen MIMI-Types werden weiter unten im SSL-<strong>Teil</strong><br />

# des Servers mit der Direktive "AddType" hinzugefuegt. Somit ist<br />

# keine Aenderung von "mime.types" noetig.<br />

TypesConfig conf/mime.types<br />

# Default Mime-Type, wenn kein passender Eintrag gef<strong>und</strong>en wurde.<br />

DefaultType text/plain<br />

# "Off" in der folgenden Direktive schreibt die IP-Nummern der Clients statt<br />

# deren Namen in die Log-Dateien. Andernfalls werden die Namen per<br />

# DNS-Lookup geholt, was sich negativ auf die Performanz des Servers<br />

# auswirkt.<br />

HostnameLookups Off<br />

# ErrorLog: The location of the error log file.<br />

# If you do not specify an ErrorLog directive within a <br />

# container, error messages relating to that virtual host will be<br />

# logged here. If you *do* define an error logfile for a <br />

# container, that host’s errors will be logged there and not here.<br />

ErrorLog logs/80error.log<br />

# LogLevel: Control the number of messages logged to the error_log.<br />

# Possible values include: debug, info, notice, warn, error, crit,<br />

# alert, emerg.<br />

LogLevel warn<br />

# The following directives define some format nicknames for use with<br />

# a CustomLog directive (see below).<br />

#<br />

# Custom logging<br />

# Datum/Zeit (t), 1. Zeile der Client-Anfrage(r), Http-Statuscode(s), Groesse<br />

# der gelieferten Datei (b), Protokollierung von Http-Headern (i)<br />

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />

LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />

LogFormat "%{Referer}i -> %U" referer<br />

LogFormat "%{User-agent}i" agent<br />

# If you would like to have agent and referer logfiles, uncomment the<br />

# following directives.<br />

251


252 Anhang G. httpd.conf – Beispielkonfiguration für Apache-Webserver<br />

#<br />

#CustomLog logs/referer_log referer<br />

#CustomLog logs/agent_log agent<br />

# If you prefer a single logfile with access, agent, and referer information<br />

# (Combined Logfile Format) you can use the following directive.<br />

CustomLog logs/80access.log combined<br />

# Optionally add a line containing the server version and virtual host<br />

# name to server-generated pages (error documents, FTP directory listings,<br />

# mod_status and mod_info output etc., but not CGI generated documents).<br />

# Set to "EMail" to also include a mailto: link to the ServerAdmin.<br />

# Set to one of: On | Off | EMail<br />

ServerSignature Off<br />

# Alias fuer die Icons<br />

Alias /icons/ /usr/local/apache/icons/<br />

# Folgendes kann als Location-Direktive gesetzt werden (da innerhalb<br />

# DocumentRoot <strong>und</strong> hoehere Prioritaet als Directory).<br />

<br />

Order deny,allow<br />

allow from all<br />

<br />

<br />

Order deny,allow<br />

allow from all<br />

<br />

# CGI-Skripte sollten nicht im Dokument-Root stehen, werden aber relativ dazu<br />

# verwendet. Daher<br />

ScriptAlias /cgi/ /usr/local/apache/cgi-bin/<br />

<br />

# Setzen des cgi-Handlers auf genau eine Datei. Durch mehrere<br />

# Files-Anweisungen entsprechend auf mehrere Dateien. Etwas Paranoid,<br />

# alternativ kann jede auf cgi endende Datei "freigeschaltet" werden.<br />

SetHandler cgi-script<br />

order deny,allow<br />

allow from all<br />

<br />

# Die beiden Borwser-Typen (Mozilla/2 gilt sowohl fuer Navigator 2 wie<br />

# auch fuer aeltere MSIE-Versionen, die sich als Navigator ausgegeben<br />

# haben) haben Probleme mit persistenten Verbindungen. Daher keine<br />

# persistenten Verbindungen fuer diese Browser ("noekeepalive").


# Ausserdem hat der MSIE Probleme mit HTTP/1.1-Antworten. Die Anfragen<br />

# kommen zwar in HTTP/1.1 vom MSIE; durch die "downgrade-1.0"-Option wird dem<br />

# Apache allerdings eine HTTP/1.0-Anfrage vorgetaeuscht, so dass die<br />

# Antwort in HTTP/1.0 erfolgt <strong>und</strong> die Probleme mit MSIE vermieden werden.<br />

BrowserMatch "Mozilla/2" nokeepalive<br />

BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0<br />

# Schwierigkeiten mit dem von mod_rewrite eingefuegten<br />

# "Vary"-Headern. Daher keine solche Header bei folgendem Browser-Typ<br />

# einfuegen.<br />

# BrowserMatch "MSIE 4\.0" force-no-vary<br />

# The following directive disables HTTP/1.1 responses to browsers which<br />

# are in violation of the HTTP/1.0 spec by not being able to grok a<br />

# basic 1.1 response.<br />

# Der Apache signalisiert in seinen Antworten, dass er ein HTTP/1.1<br />

# faehiger Server ist. Einige Clients interpretieren dass<br />

# faelschlicherweise Angabe zum Protokoll der Anworten <strong>und</strong> verweigern<br />

# die Annahme der Antwort. Daher wird diesen Clients mit folgenden<br />

# Direktiven ein HTTP/1.0 angeboten...<br />

BrowserMatch "RealPlayer 4\.0" force-response-1.0<br />

BrowserMatch "Java/1\.0" force-response-1.0<br />

BrowserMatch "JDK/1\.0" force-response-1.0<br />

###############################################################################<br />

###############################################################################<br />

##<br />

## SSL Global Context<br />

##<br />

## All SSL configuration in this context applies both to<br />

## the main server and all SSL-enabled virtual hosts.<br />

##<br />

<br />

# Neue SSL-relevante Mime-Types hinzufuegen.<br />

AddType application/x-pkcs7-crl crl<br />

AddType application/x-x509-ca-cert cacrt<br />

AddType application/x-x509-email-cert emailcrt<br />

AddType application/x-x509-user-cert usercrt<br />

<br />

<br />

# Pass Phrase Dialog:<br />

# Configure the pass phrase gathering process.<br />

# The filtering dialog program (‘builtin’ is a internal<br />

# terminal dialog) has to provide the pass phrase on stdout.<br />

SSLPassPhraseDialog builtin<br />

# Inter-Process Session Cache:<br />

# Configure the SSL Session Cache: First either ‘none’<br />

# or ‘dbm:/path/to/file’ for the mechanism to use and<br />

# second the expiring timeout (in seconds).<br />

#<br />

253


254 Anhang G. httpd.conf – Beispielkonfiguration für Apache-Webserver<br />

# "shm" benoetigt die MM-Bibliothek.<br />

# SSLSessionCache none<br />

SSLSessionCache shm:logs/ssl_scache(512000)<br />

# SSLSessionCache dbm:logs/ssl_scache<br />

SSLSessionCacheTimeout 300<br />

# Semaphore:<br />

# Configure the path to the mutual explusion semaphore the<br />

# SSL engine uses internally for inter-process synchronization.<br />

# SSLMutex file:logs/ssl_mutex<br />

SSLMutex sem<br />

# Pseudo Random Number Generator (PRNG):<br />

# Configure one or more sources to seed the PRNG of the<br />

# SSL library. The seed data should be of good random quality.<br />

#<br />

# Leider kein /dev/random unter Solaris. Es gibt aber die Moeglichkeit,<br />

# ueber externe Programme Zufallsdaten zuzufuehren (z.B. "truerand" im<br />

# Mod-SSL-Quell-Verzeichnis unter "pkg.contrib")<br />

# SSLRandomSeed startup exec:/usr/local/bin/truerand 16<br />

# Ohne "truerand":<br />

SSLRandomSeed startup builtin<br />

SSLRandomSeed connect builtin<br />

# Logging:<br />

# The home of the dedicated SSL protocol logfile. Errors are<br />

# additionally duplicated in the general error log file. Put<br />

# this somewhere where it cannot be used for symlink attacks on<br />

# a real server (i.e. somewhere where only root can write).<br />

# Log levels are (ascending order: higher ones include lower ones):<br />

# none, error, warn, info, trace, debug.<br />

SSLLog logs/ssl_engine.log<br />

SSLLogLevel info<br />

<br />

<br />

##<br />

## SSL Virtual Host Context<br />

##<br />

# Gr<strong>und</strong>saetzlich gilt, dass jeder virtuelle Host die Werte der im<br />

# "Hauptserver" gesetzten Direktiven "erbt".<br />

<br />

# Im Document-Root-Verzeichnis wird auf eine<br />

# Client-Authentifizierung verzichtet.<br />

# General setup for the virtual host<br />

DocumentRoot /var/www/www443<br />

ServerName www.name.de


ServerAdmin wwwadm@name.de<br />

ErrorLog logs/443error.log<br />

CustomLog logs/443access.log \<br />

"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"<br />

SSLVerifyClient none<br />

SSLEngine on<br />

SSLProtocol all -SSLv2<br />

# SSL Cipher Suite: Ueber diese Direktive kann festgelegt werden,<br />

# welche Krypto-Algorithmen <strong>und</strong> in welcher Prioritaet diese verwendet<br />

# werden.<br />

SSLCipherSuite ALL:!ADH:!SSLv2:!eNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP<br />

SSLCertificateFile /usr/local/apache/ssl/serverCert.pem<br />

SSLCertificateKeyFile /usr/local/apache/ssl/serverKey.pem<br />

# SSLCertificateChainFile /usr/local/apache/ssl/cacerts/cachain.pem<br />

SSLCACertificatePath /usr/local/apache/ssl/cacerts<br />

# SSLCACertificateFile /usr/local/apache/ssl/CAcerts.pem<br />

SSLCARevocationPath /usr/local/apache/ssl/crls<br />

# SSLCARevocationFile /usr/local/apache/ssl/crls.pem<br />

<br />

# Nach "deny from all" in der "Directory /"-Anweisung wird hier<br />

# wieder der Zugriff gestattet.<br />

allow from all<br />

<br />

<br />

order deny,allow<br />

deny from all<br />

<br />

<br />

# Auf Dateien in diesem Verzeichnis sollen nur Clients mit<br />

# gueltigem Zertifikat zugreifen koennen. Das erfordert u.U.<br />

# ein erneutes SSL-Handshake ("Renegotiation"), da eine SSL-Session<br />

# besteht, der Client aber noch nicht authentifiziert wurde.<br />

SSLVerifyClient require<br />

SSLVerifyDepth 5<br />

SSLOptions +ExportCertData +StrictRequire +OptRenegotiate<br />

# Verf<strong>einer</strong>te Zugriffssteuerung ueber Zertifikat-Attribute.<br />

# Hat nur indirekt etwas mit der x509-basierten Zugriffskontrolle<br />

# zutun, da nicht nur die Gueltigkeit des Client-Zertifkats<br />

# Vorraussetzung ist, sondern das Zertifikat gewisse<br />

# (DN-)Eigenschaften besitzen muss.<br />

# Vom Prinzip her eher mit <strong>einer</strong> Passwort-gesteuerten<br />

# Zugriffskontrolle vergleichbar.<br />

SSLRequire %{SSL_CLIENT_S_DN_C} eq "DE" \<br />

255


256 Anhang G. httpd.conf – Beispielkonfiguration für Apache-Webserver<br />

allow from all<br />

<br />

and %{SSL_CLIENT_S_DN_L} eq "Kiel" \<br />

and %{SSL_CLIENT_S_DN_O} eq "WWW UnLtd"<br />

# Wieder mal Browser-"Macken" abfangen.<br />

SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown<br />

<br />


Anhang H<br />

Zertifikat-Analyse-Tools<br />

H.1 Werkzeuge für X.509-Zertifikate<br />

H.1.1 md5 <strong>und</strong> md5sum<br />

Bei der Ausstellung von X.509-Zertifikaten durch eine CA können Werkzeuge hilfreich sein, die<br />

eine kryptographisch starke Prüfsumme (einen Message Digest oder auch Hash-Wert) über <strong>einer</strong><br />

Datei berechnen können. Ein sehr bekannter Message Digest ist das Verfahren „MD5“. Mit s<strong>einer</strong><br />

Hilfe kann eine Prüfsumme z.B. über einem PEM-codierten Zertfizierungs-Request ermittelt werden,<br />

also über einem Zertifizierungsantrag, der in <strong>einer</strong> ASCII-Darstellung etwa dieser Art vorliegt:<br />

-----BEGIN <strong>CERT</strong>IFICATE-----<br />

MIIFfDCCBGSgAwIBAgIBAjANBgkqhkiG9w0BAQQFADCBlTELMAkGA1UEBhMCREUx<br />

ITAfBgNVBAoTGERldXRzY2hlcyBGb3JzY2h1bmdzbmV0ejEQMA4GA1UECxMHREZO<br />

...<br />

MsX23YbB+MAVsMaChV0lzsIbh6lSPPEif6o0pkEJM1JhU0I+TCuaSrAXs3S7BRbS<br />

uRyOjKjcfvw6WqGG8lrN+WMfjyjdQDEUjn0lCIO+S/RdjVQ8WnEdQK44VGFInL5i<br />

5atnqN+GcTY+lco5TjfsAA==<br />

-----END <strong>CERT</strong>IFICATE-----<br />

Befindet sich ein solcher Request z.B. in der Datei “certreq.pem”, so kann eine MD5-Prüfsumme<br />

mit einem der folgenden Tools daraus berechnet werden:<br />

md5sum<br />

<strong>Teil</strong> der PGP-Source-Distribution (Verzeichnis “contrib”):<br />

md5<br />

$ md5sum certreq.pem<br />

3b7dad5e5e62a4b7d2782dc703205b30 certreq.pem<br />

Eines der Programme aus dem OpenSSL-Paket (ggf. als ‘openssl md5 ...’ aufrufen, falls es<br />

sonst nicht gef<strong>und</strong>en wird):<br />

$ openssl md5 certreq.pem<br />

MD5(certreq.pem)= 3b7dad5e5e62a4b7d2782dc703205b30<br />

257


258 Anhang H. Zertifikat-Analyse-Tools<br />

(Ein MD5-Programm kann auch als <strong>Teil</strong> <strong>einer</strong> <strong>Betrieb</strong>ssystem-Installation ohnehin schon auf einem<br />

Rechner vorhanden sein.)<br />

Mit einem solchen MD5-Tool läßt sich also eine eindeutige, kurze Prüfsumme eines Zertifizierungs-<br />

Requests, ähnlich dem PGP-Fingerprint bei PGP-Schlüsseln, errechnen. Derjenige, der den entsprechenden<br />

Zertifizierungsantrag stellt, hat damit die Möglichkeit, auch bei <strong>einer</strong> X.509-Zertifizierung<br />

seinen Schlüssel anhand dieses eindeutigen Merkmals verwechslungsfrei zu identifizieren, indem<br />

er die MD5-Prüfsumme auf dem Antrag mit angibt.<br />

H.1.2 OpenSSLs x509<br />

OpenSSL stellt nicht nur Routinen bzw. Programme für die SSL-Kommunikation <strong>und</strong> zur Zertifizierung<br />

bereit, sondern bietet darüber hinaus auch einige Werkzeuge zur Handhabung <strong>und</strong> Untersuchung<br />

von X.509-Zertifikaten. Eines davon ist x509 (vgl. 12.3 / Übersicht der x509-Optionen in<br />

Anhang F), mit dem sich der Inhalt von Zertifikaten im X.509-Format anzeigen läßt.<br />

Es liege beispielsweise ein Zertifikat der <strong>DFN</strong>-PCA in <strong>einer</strong> Datei “dfnpca.pem” in BASE64-<br />

Codierung vor, wie sie in [BF93] definiert ist:<br />

$ cat dfnpca.pem<br />

-----BEGIN <strong>CERT</strong>IFICATE-----<br />

MIIFfDCCBGSgAwIBAgIBAjANBgkqhkiG9w0BAQQFADCBlTELMAkGA1UEBhMCREUx<br />

ITAfBgNVBAoTGERldXRzY2hlcyBGb3JzY2h1bmdzbmV0ejEQMA4GA1UECxMHREZO<br />

LVBDQTEuMCwGA1UEAxMlREZOIFRvcCBMZXZlbCBDZXJ0aWZpY2F0aW9uIEF1dGhv<br />

cml0eTEhMB8GCSqGSIb3DQEJARYSY2VydGlmeUBwY2EuZGZuLmRlMB4XDTk4MTEw<br />

MzE2NDcyM1oXDTAwMTEwMjE2NDcyM1owgZIxCzAJBgNVBAYTAkRFMSEwHwYDVQQK<br />

ExhEZXV0c2NoZXMgRm9yc2NodW5nc25ldHoxEDAOBgNVBAsTB0RGTi1QQ0ExKzAp<br />

...<br />

MsX23YbB+MAVsMaChV0lzsIbh6lSPPEif6o0pkEJM1JhU0I+TCuaSrAXs3S7BRbS<br />

uRyOjKjcfvw6WqGG8lrN+WMfjyjdQDEUjn0lCIO+S/RdjVQ8WnEdQK44VGFInL5i<br />

5atnqN+GcTY+lco5TjfsAA==<br />

-----END <strong>CERT</strong>IFICATE-----<br />

Dann läßt sich mittels des Programms x509 die Struktur des Zertifikates in dieser Datei <strong>und</strong> der<br />

Inhalt s<strong>einer</strong> Bestandteile sichtbar machen:<br />

$ x509 -text -noout < dfnpca.pem<br />

Certificate:<br />

Data:<br />

Version: 3 (0x2)<br />

Serial Number: 2 (0x2)<br />

Signature Algorithm: md5WithRSAEncryption<br />

Issuer: C=DE, O=Deutsches Forschungsnetz, OU=<strong>DFN</strong>-PCA, CN=<strong>DFN</strong> Top Level Certification<br />

Authority/Email=certify@pca.dfn.de<br />

Validity<br />

Not Before: Nov 3 16:47:23 1998 GMT<br />

Not After : Nov 2 16:47:23 2000 GMT<br />

Subject: C=DE, O=Deutsches Forschungsnetz, OU=<strong>DFN</strong>-PCA, CN=<strong>DFN</strong> Server Certification<br />

Authority/Email=certify@pca.dfn.de<br />

Subject Public Key Info:<br />

Public Key Algorithm: rsaEncryption<br />

RSA Public Key: (2048 bit)<br />

Modulus (2048 bit):<br />

00:be:63:c9:0a:5a:57:0e:1b:d3:b3:04:90:00:f6:


H.1. Werkzeuge für X.509-Zertifikate 259<br />

68:96:69:2a:35:b3:49:4e:8e:7c:06:c7:5a:b3:11:<br />

d5:54:fc:b6:21:34:83:c0:15:0b:12:63:1b:11:f5:<br />

...<br />

13:c6:bb:df:90:95:d1:3e:df:21:cd:9d:56:8a:84:<br />

5c:93<br />

Exponent: 65537 (0x10001)<br />

X509v3 extensions:<br />

Netscape Cert Type:<br />

SSL CA<br />

Netscape Base Url:<br />

https://mystic.pca.dfn.de/<br />

Netscape CA Policy Url:<br />

http://www.pca.dfn.de/dfnpca/policy/wwwpolicy.html<br />

Netscape Comment:<br />

This certificate was issued by the <strong>DFN</strong>-PCA, the Top Level<br />

Certification Authority of the German Research Network (Deutsches Forschungsnetz, <strong>DFN</strong>).<br />

The key owner’s identity was authenticated in accordance with the <strong>DFN</strong> World Wide Web Policy,<br />

Version 0.90<br />

Netscape Revocation Url:<br />

cgi/check-rev.cgi?<br />

X509v3 Basic Constraints: critical<br />

CA:TRUE<br />

X509v3 Key Usage:<br />

Certificate Sign, CRL Sign<br />

Signature Algorithm: md5WithRSAEncryption<br />

a2:ad:51:c0:66:89:0c:7e:52:3e:6e:60:25:a2:45:0a:60:d1:<br />

ee:57:63:7e:a2:08:50:12:1f:f1:50:4f:08:4c:3f:db:b6:8d:<br />

74:32:60:aa:35:11:f6:ce:d3:a0:74:89:ce:ad:2b:05:c8:75:<br />

...<br />

8e:7d:25:08:83:be:4b:f4:5d:8d:54:3c:5a:71:1d:40:ae:38:<br />

54:61:48:9c:be:62:e5:ab:67:a8:df:86:71:36:3e:95:ca:39:<br />

4e:37:ec:00<br />

x509 (das Programm, nicht der Standard!) weist eine Vielzahl von Optionen auf (siehe F), mit denen<br />

es z.B. auch möglich ist, sich gezielt nur eine einzelne Komponente eines Zertifikates anzeigen zu<br />

lassen (hilfreich beispielsweise bei der Weiterverarbeitung mit Shellskripten):<br />

$ x509 -subject -noout < dfnpca.pem<br />

subject=/C=DE/O=Deutsches Forschungsnetz/OU=<strong>DFN</strong>-PCA/CN=<strong>DFN</strong> Server Certification<br />

Authority/Email=certify@pca.dfn.de<br />

Doch x509 kann noch mehr: Mit s<strong>einer</strong> Hilfe lassen sich Zertifikate aus einem der drei Darstellungsformate<br />

DER, PEM oder NET in jedes der jeweils anderen umwandeln. Will man beispielsweise das<br />

Zertifikat in der oben genannten Datei “dfnpca.pem” in die DER-Codierung umwandeln, z.B. um<br />

es mit einem anderen Programm weiterzuverarbeiten, das nur mit DER-codierten Zertifikaten umgehen<br />

kann, so erreicht man das durch folgenden Aufruf:<br />

x509 -inform PEM -outform DER < dfnpca.pem > dfnpca.der<br />

oder auch<br />

x509 -inform PEM -outform DER -in dfnpca.pem -out dfnpca.der<br />

Anschließend liegt in der so erzeugten Datei “dfnpca.der” das Zertifikat in ASN.1-DER-Codierung<br />

vor.


260 Anhang H. Zertifikat-Analyse-Tools<br />

H.1.3 asn1parse<br />

Ein weiteres Tool aus dem SSLeay-Paket ist asn1parse (siehe auch F). Es dient dazu, die ASN.1-<br />

Codierung eines Zertifikates nachvollziehen oder überprüfen zu können.<br />

Gehen wir wieder wie im obigen Beispiel von einem Zertifikat in DER-Codierung in der Datei<br />

“dfnpca.der” aus, so sähen Aufruf <strong>und</strong> Ausgabe von asn1parse (auszugsweise) so aus:<br />

$ asn1parse -inform DER < der/dfnpca.der<br />

0:d=0 hl=4 l=1404 cons: SEQUENCE<br />

4:d=1 hl=4 l=1124 cons: SEQUENCE<br />

8:d=2 hl=2 l= 3 cons: cont [ 0 ]<br />

10:d=3 hl=2 l= 1 prim: INTEGER :02<br />

13:d=2 hl=2 l= 1 prim: INTEGER :02<br />

16:d=2 hl=2 l= 13 cons: SEQUENCE<br />

18:d=3 hl=2 l= 9 prim: OBJECT :md5WithRSAEncryption<br />

29:d=3 hl=2 l= 0 prim: NULL<br />

31:d=2 hl=3 l= 149 cons: SEQUENCE<br />

34:d=3 hl=2 l= 11 cons: SET<br />

36:d=4 hl=2 l= 9 cons: SEQUENCE<br />

38:d=5 hl=2 l= 3 prim: OBJECT :countryName<br />

43:d=5 hl=2 l= 2 prim: PRINTABLESTRING :DE<br />

47:d=3 hl=2 l= 33 cons: SET<br />

49:d=4 hl=2 l= 31 cons: SEQUENCE<br />

51:d=5 hl=2 l= 3 prim: OBJECT :organizationName<br />

56:d=5 hl=2 l= 24 prim: PRINTABLESTRING :Deutsches Forschungsnetz<br />

82:d=3 hl=2 l= 16 cons: SET<br />

84:d=4 hl=2 l= 14 cons: SEQUENCE<br />

86:d=5 hl=2 l= 3 prim: OBJECT :organizationalUnitName<br />

91:d=5 hl=2 l= 7 prim: PRINTABLESTRING :<strong>DFN</strong>-PCA<br />

100:d=3 hl=2 l= 46 cons: SET<br />

102:d=4 hl=2 l= 44 cons: SEQUENCE<br />

104:d=5 hl=2 l= 3 prim: OBJECT :commonName<br />

109:d=5 hl=2 l= 37 prim: PRINTABLESTRING :<strong>DFN</strong> Top Level Certification Authority<br />

148:d=3 hl=2 l= 33 cons: SET<br />

150:d=4 hl=2 l= 31 cons: SEQUENCE<br />

152:d=5 hl=2 l= 9 prim: OBJECT :emailAddress<br />

163:d=5 hl=2 l= 18 prim: IA5STRING :certify@pca.dfn.de<br />

183:d=2 hl=2 l= 30 cons: SEQUENCE<br />

185:d=3 hl=2 l= 13 prim: UTCTIME :981103164723Z<br />

200:d=3 hl=2 l= 13 prim: UTCTIME :001102164723Z<br />

[...]<br />

368:d=3 hl=2 l= 13 cons: SEQUENCE<br />

370:d=4 hl=2 l= 9 prim: OBJECT :rsaEncryption<br />

381:d=4 hl=2 l= 0 prim: NULL<br />

383:d=3 hl=4 l= 271 prim: BIT STRING<br />

658:d=2 hl=4 l= 470 cons: cont [ 3 ]<br />

662:d=3 hl=4 l= 466 cons: SEQUENCE<br />

666:d=4 hl=2 l= 17 cons: SEQUENCE<br />

668:d=5 hl=2 l= 9 prim: OBJECT :Netscape Cert Type<br />

679:d=5 hl=2 l= 4 prim: OCTET STRING<br />

685:d=4 hl=2 l= 41 cons: SEQUENCE<br />

687:d=5 hl=2 l= 9 prim: OBJECT :Netscape Base Url<br />

698:d=5 hl=2 l= 28 prim: OCTET STRING<br />

728:d=4 hl=2 l= 65 cons: SEQUENCE<br />

730:d=5 hl=2 l= 9 prim: OBJECT :Netscape CA Policy Url<br />

741:d=5 hl=2 l= 52 prim: OCTET STRING<br />

795:d=4 hl=4 l= 268 cons: SEQUENCE<br />

799:d=5 hl=2 l= 9 prim: OBJECT :Netscape Comment<br />

810:d=5 hl=3 l= 254 prim: OCTET STRING<br />

1067:d=4 hl=2 l= 33 cons: SEQUENCE


H.1. Werkzeuge für X.509-Zertifikate 261<br />

1069:d=5 hl=2 l= 9 prim: OBJECT :Netscape Revocation Url<br />

1080:d=5 hl=2 l= 20 prim: OCTET STRING<br />

1102:d=4 hl=2 l= 15 cons: SEQUENCE<br />

1104:d=5 hl=2 l= 3 prim: OBJECT :X509v3 Basic Constraints<br />

1109:d=5 hl=2 l= 1 prim: BOOLEAN :255<br />

1112:d=5 hl=2 l= 5 prim: OCTET STRING<br />

1119:d=4 hl=2 l= 11 cons: SEQUENCE<br />

1121:d=5 hl=2 l= 3 prim: OBJECT :X509v3 Key Usage<br />

1126:d=5 hl=2 l= 4 prim: OCTET STRING<br />

[...]<br />

Auch asn1parse ist wie x509 in der Lage, Zertifikate in den drei Darstellungsformen DER, PEM<br />

<strong>und</strong> TXT zu verarbeiten. Es kann aber darüberhinaus auch die Struktur <strong>und</strong> den Inhalt beliebiger<br />

anderer Objekte, die ASN.1-codiert vorliegen, anzeigen.<br />

H.1.4 dumpasn1<br />

Von PETER GUTMANN gibt es ein kleines Tool namens dumpasn1, mit dessen Hilfe man sich<br />

ebenfalls die Bestandteile eines X.509-Zertifikates anzeigen lassen kann. (Quelle: http://www.<br />

cs.auckland.ac.nz/~pgut001/dumpasn1.c)<br />

dumpasn1 stellt die einzelnen ASN.1-Strukturen dar, aus denen sich das jeweilige X.509-Zertifikat<br />

zusammensetzt. Dazu muß das Zertifikat in <strong>einer</strong> Datei in DER-Codierung (distinguished encoding<br />

rules, eine rechnerunabhängige, eindeutige Repräsentation für die Übertragung von Informationen<br />

in ASN.1-Struktur zwischen beliebigen Rechner- <strong>und</strong> <strong>Betrieb</strong>ssystemplattformen, daher auch als<br />

network encoding bezeichnet) vorliegen.<br />

Der Aufruf <strong>und</strong> die Ausgaben von dumpasn1 mit demselben Zertifikat der <strong>DFN</strong>-PCA wie oben (das<br />

vorher lediglich mit x509 in die DER-Darstellung umgewandelt wurde) würde dann auszugsweise<br />

so aussehen:<br />

$ dumpasn1 dfnpca.der<br />

[...]<br />

0 30 1404: SEQUENCE {<br />

4 30 1124: SEQUENCE {<br />

8 A0 3: [0] {<br />

10 02 1: INTEGER 2<br />

: }<br />

13 02 1: INTEGER 2<br />

16 30 13: SEQUENCE {<br />

18 06 9: OBJECT IDENTIFIER<br />

: md5withRSAEncryption (1 2 840 113549 1 1 4)<br />

29 05 0: NULL<br />

: }<br />

31 30 149: SEQUENCE {<br />

34 31 11: SET {<br />

36 30 9: SEQUENCE {<br />

38 06 3: OBJECT IDENTIFIER countryName (2 5 4 6)<br />

43 13 2: PrintableString ’DE’<br />

: }<br />

: }<br />

47 31 33: SET {<br />

49 30 31: SEQUENCE {<br />

51 06 3: OBJECT IDENTIFIER organizationName (2 5 4 10)


262 Anhang H. Zertifikat-Analyse-Tools<br />

56 13 24: PrintableString ’Deutsches Forschungsnetz’<br />

: }<br />

: }<br />

82 31 16: SET {<br />

84 30 14: SEQUENCE {<br />

86 06 3: OBJECT IDENTIFIER organizationalUnitName (2 5 4 11)<br />

91 13 7: PrintableString ’<strong>DFN</strong>-PCA’<br />

: }<br />

: }<br />

[...]<br />

364 30 290: SEQUENCE {<br />

368 30 13: SEQUENCE {<br />

370 06 9: OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1)<br />

381 05 0: NULL<br />

: }<br />

383 03 271: BIT STRING 0 unused bits<br />

: 30 82 01 0A 02 82 01 01 00 BE 63 C9 0A 5A 57 0E<br />

: 1B D3 B3 04 90 00 F6 68 96 69 2A 35 B3 49 4E 8E<br />

: 7C 06 C7 5A B3 11 D5 54 FC B6 21 34 83 C0 15 0B<br />

: 12 63 1B 11 F5 86 71 8D 1A DC 6F F2 BF FB C4 FA<br />

: 9E 90 BF 50 69 8F 84 61 EA 8A AB 68 21 C9 A6 79<br />

: 9F 46 6D 8F F1 DC 13 3E 66 F5 E4 F9 CE AB CC 65<br />

: 3F BC 25 FE D1 5A 5B D4 29 E9 70 F9 5E 24 6D 21<br />

: DC 33 DD C0 5D 0F 15 E0 7C DC 9C 4A 5C 6A 74 58<br />

: [ Another 142 bytes skipped ]<br />

: }<br />

658 A3 470: [3] {<br />

662 30 466: SEQUENCE {<br />

666 30 17: SEQUENCE {<br />

668 06 9: OBJECT IDENTIFIER<br />

: netscape-cert-type (2 16 840 1 113730 1 1)<br />

679 04 4: OCTET STRING<br />

: 03 02 00 04<br />

: }<br />

685 30 41: SEQUENCE {<br />

687 06 9: OBJECT IDENTIFIER<br />

: netscape-base-url (2 16 840 1 113730 1 2)<br />

698 04 28: OCTET STRING<br />

: 16 1A 68 74 74 70 73 3A 2F 2F 6D 79 73 74 69 63<br />

: 2E 70 63 61 2E 64 66 6E 2E 64 65 2F<br />

: }<br />

728 30 65: SEQUENCE {<br />

730 06 9: OBJECT IDENTIFIER<br />

: netscape-ca-policy-url (2 16 840 1 113730 1 8)<br />

741 04 52: OCTET STRING<br />

: 16 32 68 74 74 70 3A 2F 2F 77 77 77 2E 70 63 61<br />

: 2E 64 66 6E 2E 64 65 2F 64 66 6E 70 63 61 2F 70<br />

: 6F 6C 69 63 79 2F 77 77 77 70 6F 6C 69 63 79 2E<br />

: 68 74 6D 6C<br />

: }<br />

: 72 69 74 79 20 6F 66 20 74 68 65 20 47 65 72 6D<br />

: 61 6E 20 52 65 73 65 61 72 63 68 20 4E 65 74 77<br />

: 6F 72 6B 0A 28 44 65 75 74 73 63 68 65 73 20 46<br />

: [ Another 126 bytes skipped ]<br />

: }<br />

[...]<br />

: }<br />

0 warnings, 0 errors.<br />

Dank der separaten Konfigurationsdatei “dumpasn1.cfg” (oder <strong>einer</strong> per Kommandozeilenoption<br />

‘-cfile’ anzugebenden Datei) lassen sich neuen numerischen Object-Identifiern (OIDs), wie sie beispielsweise<br />

durch neue Versionen von X.509 eingeführt werden oder aus privaten Zertifikaterweite-


H.2. Werkzeuge für PGP-Zertifikate 263<br />

rungen resultieren könnten, Klartextbezeichnungen zuordnen, so daß die Ausgaben von dumpasn1<br />

leichter verständlich bleiben.<br />

H.2 Werkzeuge für PGP-Zertifikate<br />

H.2.1 pgpacket<br />

Ein ähnliches Tool wie die unter H.1 genannten existiert auch für PGP bzw. dessen Schlüssel<strong>und</strong><br />

Zertifikatformat, inzwischen erfreulicherweise sogar für RSA- <strong>und</strong> für DSS/DH-PGP-Keys:<br />

pgpacket von MARK E. SHOULSON , zu finden u. a. auf<br />

ftp://ftp.cert.dfn.de/pub/tools/crypt/pgp/utils/pgpacket3.1.pl.gz.<br />

Ein Beispiel soll die Arbeit mit pgpacket verdeutlichen. Im Public-Keyring befindet sich u.a. der<br />

Schlüssel von Vera Heinau mit den folgenden Signaturen:<br />

$ pgp -kvv heinau<br />

[...]<br />

Key ring: ’pubring.pgp’, looking for user ID "heinau".<br />

Type Bits/KeyID Date User ID<br />

pub 1024/00F0D5E9 1995/08/29 Vera Heinau <br />

sig* 4F570BA3 Ingmar Camphausen <br />

sig 00F0D5E9 Vera Heinau <br />

Vera Heinau <br />

sig* 84B3BC11 in-ca@in-berlin.de (SIGN EXPIRE:2000-01-01) Regionale<br />

CA des Individual Network e.V.<br />

sig 00F0D5E9 Vera Heinau <br />

[...]<br />

1 matching key fo<strong>und</strong>.<br />

Extrahiert man ihn nun (mittels ‘pgp -kx heinau keyfile’) in eine Datei “keyfile”, so läßt er sich wie<br />

folgt mit pgpacket analysieren:<br />

$ pgpacket -u="pubring.pgp" keyfile<br />

---------------------------<br />

Packet Type: Public-Key Packet<br />

Length: 141<br />

Version Byte: 3<br />

Key Created: 29 Aug 1995 23:10:02<br />

Valid forever<br />

Algorithm: 1 (RSA)<br />

N: 0xC3DC0FB677B34F98C69DC96B1FC136615C4BA3487DB00524D74E1D35DC10CD17823190CFFEFFDA<br />

93CC6651FB40E5DEC049E2A3B1688C61DB1CB21750B14D4EBD62637F8A457A86CC62DBB755279662<br />

D391F6DA7CD64A175A693222E0FED17FF4A8DDBA046C2B8D4A37FCAA59925536F1E6772CC8CB4F84<br />

D3F2A2F2F600F0D5E9<br />

E: 0x13<br />

---------------------------<br />

Packet Type: User ID Packet<br />

Length: 37<br />

User ID: "Vera Heinau "<br />

---------------------------<br />

Packet Type: Secret-Key Encrypted Packet (signature)


264 Anhang H. Zertifikat-Analyse-Tools<br />

Length: 149<br />

Version: 3<br />

Adding 5 bytes of header to digest<br />

Positive ID Key certification (unsupported)<br />

Signature Created: 17 Jan 1998 01:43:52<br />

Signing Key ID: 0x144F2D454F570BA3<br />

User ID for above key: "Ingmar Camphausen "<br />

Public-Key Algorithm: 1 (RSA)<br />

Message Digest Algorithm: 1 (MD5)<br />

Check bytes: 0x316D<br />

128 bytes of data<br />

---------------------------<br />

Packet Type: Secret-Key Encrypted Packet (signature)<br />

Length: 149<br />

Version: 3<br />

Adding 5 bytes of header to digest<br />

Generic Key certification<br />

Signature Created: 29 May 1997 00:37:37<br />

Signing Key ID: 0xF2A2F2F600F0D5E9<br />

User ID for above key: "Vera Heinau "<br />

User ID for above key: "Vera Heinau "<br />

Public-Key Algorithm: 1 (RSA)<br />

Message Digest Algorithm: 1 (MD5)<br />

Check bytes: 0x1219<br />

128 bytes of data<br />

---------------------------<br />

Packet Type: User ID Packet<br />

Length: 39<br />

User ID: "Vera Heinau "<br />

[...]<br />

pgpacket läßt sich auch auf die geheimen PGP-Schlüssel anwenden; damit hat man also ein Werkzeug<br />

an der Hand, mit dessen Hilfe sich z.B. – Zugriff auf den Private-Key vorausgesetzt – bei Bedarf<br />

die Zahlen auslesen <strong>und</strong> anzeigen lassen, aus denen der geheime Schlüssel zusammengesetzt<br />

ist. Dafür muß zuerst die Passphrase durch einen Leerstring ersetzt (‘pgp -ke keyid secring.pgp’)<br />

<strong>und</strong> anschließend dieser so entstandene – ungeschützte! – geheime Schlüssel extrahiert werden.<br />

Danach läßt er sich ebenso wie ein öffentlicher Schlüssel mit pgpacket analysieren:<br />

$ pgpacket2 -vau="./pubring.pgp" secuni<br />

---------------------------<br />

Packet Type: Secret Key Packet<br />

Length: 472<br />

Version Byte: 3<br />

Key Created: 20 Mar 1999 19:49:00<br />

Valid for 195 days<br />

Algorithm: 1 (RSA)<br />

N: 0xBA8533C0055E5DB332AEF85A11AFF43143407011DC76B96F83E28D30E61D9230F529277...<br />

E: 0x11<br />

Protection Algorithm: 0 (None)<br />

D: 0x2666B7D4B5CFA9E12105E7D64EEF8519337E3530DA90E9F14FDBD1C64D7E8F0A145B4BE...<br />

P: 0xC9FD611381A598ADD6AF808497D5EE4A0710E5635B2FDF6020DFEDC970440C7EEB1D2C0...<br />

Q: 0xEC64E84A223C6B8AC91BAD586CC7782712626894D67BE76CAFC948C35397D41835D94D1...<br />

U: 0xA27E8EDE002F695BEB438AA8D6EFAD5D49B9C847E1CB81014C74354F2361835BF394ECE...<br />

Checksum: 0xAB9E<br />

---------------------------<br />

Packet Type: User ID Packet


H.2. Werkzeuge für PGP-Zertifikate 265<br />

Length: 91<br />

User ID: "UNI-CA, SoSe 1999 Certification Key ...<br />

H.2.2 pgpsort<br />

Zur Handhabung <strong>und</strong> „Pflege“ der PGP 2.6-Keyring-Dateien – das könnte vor allem für eine CA<br />

wichtig werden, wenn ihr Public-Keyring sehr groß geworden ist – kann man sich eines Tools bedienen,<br />

das zu der PGP-Distribution dazugehört: Das Programm stammt von Ståle Schumacher, dem<br />

Administrator der „internationalen“ PGP-Homepage www.pgpi.com, heißt pgpsort <strong>und</strong> findet sich<br />

im Unterverzeichnis ‘contrib/pgpsort/’ der PGP 2.6-Distribution.<br />

pgpsort sortiert ganze Keyrings neu, z.B. nach dem Erstellungsdatum der Schlüssel, deren Länge,<br />

der numerischen KeyID oder der (textuellen) UserID. Es kann nebenbei auch noch defekte Schlüssel<br />

aus dem Schlüsselb<strong>und</strong> entfernen, die PGP anderenfalls zu ständigen akustischen Warnmeldungen<br />

veranlassen.<br />

Beispiel:<br />

$ pgpsort +d pubring.pgp<br />

Keyring ’pubring.pgp’ sorted on date.<br />

$ pgp -kv<br />

Pretty Good Privacy(tm) 2.6.3in - Public-key encryption for the masses.<br />

(c) 1990-96 Philip Zimmermann, Phil’s Pretty Good Software. 1997-10-07<br />

International version - not for use in the USA. Does not use RSAREF.<br />

Current time: 1999/02/23 00:18 GMT<br />

Key ring: ’pubring.pgp’<br />

Type Bits/KeyID Date User ID<br />

pub 768/2246421D 1995/07/18 Heiko Schlichting <br />

Heiko Schlichting <br />

Heiko Schlichting <br />

pub 1024/00F0D5E9 1995/08/29 Vera Heinau <br />

Vera Heinau <br />

Vera Heinau <br />

Vera Heinau <br />

pub 2048/FE93EAB9 1997/04/16 <strong>DFN</strong>-User-CA, <strong>CERT</strong>IFICATION ONLY KEY (Low Level: 1997-1998)<br />

pub 2048/4EB02EDD 1998/07/30 ZIB-CA, Certification Only Key <br />

pub 2048/C72929BD 1998/07/30 ZIB-CA, Encryption Key <br />

pub 2048/F7E87B9D 1998/12/29 <strong>DFN</strong>-PCA, <strong>CERT</strong>IFICATION ONLY KEY (Low-Level: 1999-2000)<br />

pub 1024/06753A4D 1999/03/20 UNI-CA, SoSe 1999 Certification Key <br />

Expire: 1999/10/01 SIGNature only<br />

pub 1024/A6A81269 1999/03/20 UNI-CA, SoSe 1999 Communication Key <br />

Expire: 1999/10/01 ENCRyption only<br />

9 matching keys fo<strong>und</strong>.<br />

Die Schlüssel sind nun aufsteigend nach ihrem Generierungsdatum (Spalte ‘Date’) sortiert <strong>und</strong> liegen<br />

in dieser Reihenfolge im “pubring.pgp” vor. – Diese Funktionalität könnte beispielsweise nützlich<br />

sein, wenn für eine Datenbank alle Schlüssel eines Keyrings in nach ihrer KeyID geordneter<br />

Reihenfolge benötigt werden, z.B. weil sie dann schneller in die Datenbank einsortiert werden können<br />

oder weil dann ein schnellerer Such-Zugriff möglich ist.


266 Anhang H. Zertifikat-Analyse-Tools


Anhang I<br />

Hürden bei der Zertifizierung<br />

I.1 Probleme mit X.509-Software<br />

Trotz der Standardisierung des Zertifikatformates in der ITU-Recommendation X.509 bzw. dem<br />

ISO/IEC-Standard ISO/IEC 9594-8 verhalten sich Programme, die diesen Standard unterstützen,<br />

gelegentlich unerwartet oder uneinheitlich. Das hängt häufig nicht so sehr mit dem Zertifikatformat<br />

selbst, sondern mehr mit den komplexen Abläufen bei deren Verifikation zusammen. So ist<br />

beispielsweise vom Microsoft Internet Explorer bekannt, daß sich verschiedene Versionen unterschiedlich<br />

verhalten, wenn die Gültigkeitsdauer der Schlüssel bzw. Zertifikate übergeordneter CAs<br />

sich überlappen <strong>und</strong> nicht im Gültigkeitszeitraum des Schlüssels der jeweils nächsthöheren Zertifizierungsstelle<br />

enthalten sind.<br />

Andere Probleme haben teilweise fast schon banale Ursachen, die aber für den Außenstehenden<br />

schwer bis gar nicht zu erkennen sind [Cam98b]. Die folgenden Screenshots mögen das belegen:<br />

(a) NS-Navigator/Linux (b) NS-Navigator 3.0/Windows 95<br />

(c) NS-Navigator 2.02/Windows 95 (d) Microsoft Internet Explorer 3.0<br />

Abb. I.1: Browser-Fehlermeldungen bei 2048 bit-Server-Schlüssel<br />

267


268 Anhang I. Hürden bei der Zertifizierung<br />

Sie zeigen Fehlermeldungen verschiedener Versionen von Netscapes Navigator <strong>und</strong> Microsofts Internet<br />

Explorer, die durch einen zu langen CA-Schlüssel hervorgerufen wurden. Beide Programme<br />

verwenden in ihren Versionen kl<strong>einer</strong> als 4.0 eine Langzahl-Bibliothek, die nicht auf CA-Schlüssel<br />

von beispielsweise 2048 bit Länge ausgelegt ist <strong>und</strong> folglich einen Fehlercode zurückliefert, wenn<br />

ein solcher Schlüssel von einem Server übermittelt wird.<br />

Im Benutzerinterface dieser Browser wird dann offenbar nur getestet, ob (irgend)ein Fehler aufgetreten<br />

ist, <strong>und</strong> wenn ja wird die – in diesem Fall völlig irreführende – Standard-Fehlermeldung<br />

ausgegeben. Das Phänomen kann mit entsprechenden alten Versionen der beiden Browser nachvollzogen<br />

werden, indem z.B. der Server https://security.iks-jena.de kontaktiert wird.<br />

Dieser Server verwendet einen 2048 bit-Schlüssel.<br />

Dies ist gerade für Zertifizierungsstellen umso gravierender, als zumindest einige dieser Fehlermeldungen<br />

fälschlicherweise den Eindruck erwecken, mit dem Zertifikat des Servers wäre etwas<br />

nicht in Ordnung; hier wirkt sich also die Beschränktheit der in den Programmen verwendeten<br />

Langzahl-Bibliothek zu Lasten <strong>einer</strong> u.U. völlig ordnungsgemäß <strong>und</strong> sorgfältig arbeitenden Zertifizierungsstelle<br />

aus <strong>und</strong> könnte deren Reputation – obgleich in der Sache völlig unbegründet –<br />

schweren Schaden zufügen. Gerade in der <strong>Aufbau</strong>phase <strong>einer</strong> Zertifizierungsstelle könnte sich dies<br />

verheerend auswirken <strong>und</strong> die betreffende Stelle von vornherein in den Augen der Anwender diskreditieren!<br />

WWW-Software (Browser- <strong>und</strong> sogar Server-Software) bietet dem Anwender oder Administrator<br />

häufig k<strong>einer</strong>lei Möglichkeit, sich den eigenen Public-Key oder dessen Fingerprint anzeigen zu lassen.<br />

Das macht es bei einem Zertifizierungsantrag für den betreffenden Schlüssel schwierig, diese<br />

Information mit anzugeben. Ohne diese Angabe ist aber die eindeutige Zuordnung zwischen einem<br />

Zertifizierungsantrag <strong>und</strong> dem elektronisch übermittelten certificate request mit darin enthaltenem<br />

Public-Key nicht möglich, so daß die Zertifizierungsstelle sich mit solchen vagen <strong>und</strong> unsicheren<br />

Anhaltspunkten wie der zeitlichen Koinzidenz behelfen muß. (Dies ist <strong>einer</strong> der Punkte, die die<br />

Ausstellung von X.509-Zertifikaten unnötig erschweren.) Ein workaro<strong>und</strong> kann die Berechnung <strong>einer</strong><br />

kryptographischen Prüfsumme sein, wenn zumindest eine lokale Kopie des Certificate Requests<br />

vorliegt (siehe H.1).<br />

Die Erfahrung zeigt, daß bei neuen Browser-Versionen (oder auch allgemein neuen Versionen eines<br />

Programms) Vorsicht angebracht ist: Zwar werden oft bekannt Sicherheitslücken oder Fehler aus<br />

alten Versionen darin behoben, aber die neue Version enthält u.U. neuen, bislang noch nicht entdeckte<br />

Fehler. Dies trifft insbesondere auf den Bereich Zertifikat-Handhabung zu, in dem es immer<br />

wieder neue, überraschende Erfahrungen zu machen gibt.<br />

I.2 Probleme mit PGP<br />

Der gravierendste Fehler zuerst: PGP zeigt auch Zertifikate von solchen Schlüsseln weiterhin als<br />

„gültig“ an, die widerrufen worden sind. Im nachfolgenden Beispiel ist der Key von Uta Ungültig<br />

widerrufen worden.<br />

$ pgp -kv uta<br />

[...]


I.2. Probleme mit PGP 269<br />

Key ring: ’pubring.pgp’, looking for user ID "uta".<br />

Type Bits/KeyID Date User ID<br />

pub 399/BD7054C9 1998/05/25 *** KEY REVOKED ***<br />

Uta Ungueltig <br />

1 matching key fo<strong>und</strong>.<br />

Uta hatte zuvor den Schlüssel von Ingmar Camphausen signiert. Ruft man nun nach dem Schlüsselwiderruf<br />

von Uta Ungültig die Zertifikatsprüfung für den Schlüssel von Ingmar auf, so sieht die<br />

Ausgabe von PGP so aus:<br />

$ pgp -kc ingmar<br />

[...]<br />

Key ring: ’pubring.pgp’, looking for user ID "ingmar@i".<br />

Type Bits/KeyID Date User ID<br />

pub 1024/4F570BA3 1993/06/18 Ingmar Camphausen <br />

sig! BD7054C9 1998/05/25 Uta Ungueltig <br />

[...]<br />

Es wird also in k<strong>einer</strong> Weise davor gewarnt, daß der Schlüssel selber, mit dem die Unterschrift<br />

unter Ingmars Key erzeugt worden ist, widerrufen worden ist! (Diese Information wäre ja bei der<br />

Einschätzung der Signatur von Uta durchaus wichtig.)<br />

Weiteres PGP-Fehlverhalten, u.a. die mangelhafte Plausibilitätsprüfung der in PGP-Schlüsseln, -<br />

Signaturen <strong>und</strong> -Zertifikaten vorliegenden Zeitstempel, ist in [CD98] dokumentiert. Diese beiden<br />

Schwächen sind in der Version PGP2.6.3in behoben.<br />

PGP 2-Versionen kommen mit den Schlüsseln im neuen Format, das ab PGP 5 verwendet wird (d.h.<br />

DSS/ElGamal-Keys), nicht klar <strong>und</strong> geben die Fehlermeldung “unknown packet format” aus, wenn<br />

versucht wird, einen solchen Schlüssel dem Public-Keyring hinzuzufügen.<br />

PGP 2.6.x gibt keine Fehlermeldung aus, wenn der Public-Keyring schreibgeschützt ist <strong>und</strong> versucht<br />

wurde, einen neuen Schlüssel hinzuzufügen oder einen bereits vorhandenen zu zertifizieren (also<br />

schreibend auf den Public-Keyring zuzugreifen). Es entsteht der Eindruck, man hätte erfolgreich<br />

einen neuen fremden Schlüssel zertifiziert <strong>und</strong> ihn dem Public-Keyring hinzugefügt, der Ablauf ist<br />

auch völlig identisch, die Änderungen konnten aber am Ende nicht abgespeichert werden.<br />

Ein Problem, das mit PGP unter UNIX auftritt: die Diskette mit dem Secret-Keyring wird versehentlich<br />

aus dem Laufwerk entnommen, aber das darauf befindliche Dateisystem nicht ungemountet.<br />

Aufgr<strong>und</strong> der I/O-Buffer des UNIX-Filesystems macht sich das Fehlen des Mediums u.U. nicht<br />

gleich bemerkbar, es kommt aber zu Inkonsistenzen zwischen dem Abbild des Dateisystems in den<br />

Puffern im Hauptspeicher <strong>und</strong> dem tatsächlichen Aussehen auf dem Speichermedium.<br />

Ähnliche Problem treten bei PGP 5 auf: Die Software (UNIX-Version) arbeitet nicht mit schreibgeschützten<br />

Secret-Keyringen. Das ist besonders ungünstig, da diese Datei so gut wie möglich <strong>und</strong><br />

mit allen zur Verfügung stehenden Mitteln vor unbefugter Kenntnisnahme, aber auch vor Manipulationen<br />

geschützt werden sollte <strong>und</strong> man sie daher sinnvollerweise hardware-mäßig schreibschützen<br />

sollte, wenn das Speichermedium es zuläßt (<strong>und</strong> das ist ja bei Wechselmedien häufig der Fall).<br />

Manche RSA-Schlüssel, die mit älteren PGP-Versionen (PGP 2.6) erzeugt worden sind, bereiten<br />

beim Import in die neuen PGP-Versionen Probleme <strong>und</strong> lassen sich nicht richtig einbinden. (Die


270 Anhang I. Hürden bei der Zertifizierung<br />

<strong>DFN</strong>-PCA-Mitarbeiter haben noch nicht herausgef<strong>und</strong>en, welche Eigenschaft alle problematischen<br />

Schlüssel gemeinsam haben.)<br />

PGP 2.6 <strong>und</strong> PGP 6.5.1 verhalten sich auch beim Verifizieren mancher Signaturen unerwartet unterschiedlich:<br />

Eine Prüfung der separaten Signatur 1 zu der Archiv-Datei, die Version 2.6.0 des WU-<br />

FTP-Servers enthält 2 , liefert bei PGP 6.5.1 ein “Good Signature” <strong>und</strong> bei PGP 2.6.2 <strong>und</strong> 2.6.3in ein<br />

“Bad Signature”.<br />

1 ftp://ftp.cert.dfn.de/pub/tools/net/wuarchive-ftpd/wu-ftpd-2.6.0.tar.gz.asc<br />

2 ftp://ftp.cert.dfn.de/pub/tools/net/wuarchive-ftpd/wu-ftpd-2.6.0.tar.gz


Anhang J<br />

Aufwandsabschätzung<br />

Schlimm sind die Schlüssel,<br />

die nur schließen auf, nicht zu;<br />

Mit solchem Schlüsselb<strong>und</strong><br />

im Haus verarmest Du.<br />

— RÜCKERT, Weisheit des Brahmanen, nach [Zoo54, S. 682]<br />

Eine wichtige Rolle bei der Entscheidung für oder gegen die Einrichtung <strong>einer</strong> Zertifizierungsstelle<br />

bzw. bei der Entscheidung, diese Dienstleistung bei einem externen Anbieter einzukaufen oder<br />

sie selber anzubieten, spielt – nicht nur bei Signaturgesetz-konformen Zertifizierungsstellen – der<br />

personelle <strong>und</strong> finanzielle Aufwand, der damit einhergeht.<br />

An dieser Stelle sollen daher einige Vergleichszahlen aus entsprechenden Projekten genannt <strong>und</strong><br />

der Versuch unternommen werden, zumindest eine erste grobe Schätzung des für eine UNI-<br />

Zertifizierungsstelle zu erwartenden Aufwandes vorzunehmen.<br />

Eine Studie der Giga-Group für den Anbieter von Zertifizierungssoftware Entrust Technologies<br />

[Mac98] nennt für einen 5-Jahres-Zeitraum folgende Enterprise Support Costs für die Versorgung<br />

mit Basic Certificates for Web Authentication, also für Identitätszertifikate, wie sie auch die UNI-CA<br />

ausstellen soll:<br />

Nutzer prognostizierte Kosten<br />

5 000 ca. 600 000 US-Dollar<br />

20 000 ca. 850 000 US-Dollar (Inhouse-Lösung) bis<br />

1,3 Mill. US-Dollar (Out-Sourcing)<br />

Interessant dabei ist, wie sich diese Kosten aufteilen: Von den 600 000 US-Dollar für die Versorgung<br />

von 5 000 Nutzern mit Zertifikaten kalkuliert die Giga-Group-Studie für Lizenzen, Hardware <strong>und</strong><br />

Software ca. 50 000 US-Dollar, für Installation, Wartung, Support, Zertifizierung <strong>und</strong> den <strong>Betrieb</strong><br />

hingegen 550 000 US-Dollar.<br />

Daß die in der Giga-Group-Studie genannten Zahlen durchaus realistisch sind, belegen die Erfahrungswerte<br />

aus der Einrichtung <strong>einer</strong> Zertifizierungsstelle für die ScotiaBank Inc., Toronto: Dort<br />

271


272 Anhang J. Aufwandsabschätzung<br />

wurde mit einem Etat von zwei Millionen Dollar eine firmeneigene CA etabliert, die inzwischen<br />

40 000 Zertifikate ausgestellt hat [Bru98].<br />

<strong>Aufbau</strong><br />

Die <strong>Aufbau</strong>phase umfaßt, ggf. ausgehend vom vorliegenden Konzept, die Auswahl <strong>und</strong> Beschaffung<br />

geigneter Hardware, die Installation, Konfiguration <strong>und</strong> den Test von <strong>Betrieb</strong>ssystem, Treibern, zusätzlichen<br />

Peripheriegeräten <strong>und</strong> Zertifizierungssoftware. Weiterhin den <strong>Aufbau</strong> des WWW- <strong>und</strong><br />

FTP-Servers für die UNI-CA sowie die Erstellung oder Beschaffung entsprechender Dokumentation,<br />

Vordrucke usw.<br />

Zeitlicher Aufwand<br />

Materialkosten<br />

Einarbeitung in das Konzept, Verf<strong>einer</strong>ung/Anpassung, Abstimmung 20 h<br />

Hardware- <strong>und</strong> Software-Beschaffung, -Installation 90 h<br />

Dokumentation (intern <strong>und</strong> extern), WWW-Server 120 h<br />

FTP-Server, Zusammenstellung der Anwender-Software 30 h<br />

Integration in die RZ-Arbeitsabläufe 10 h<br />

Probeläufe, interne Schulung der Mitarbeiter 30 h<br />

Regelbetrieb Anlaufphase<br />

Laptop 4 000 – 15 000 DM<br />

ZIP o. LS120-Laufwerk 600 DM<br />

zweiter Akku 500 DM<br />

zweite Festplatte 800 DM<br />

SCSI-Controller 500 DM<br />

Diebstahlschutz 200 DM<br />

portabler Drucker 700 DM<br />

Schutzschrank, -schlüssel 500 DM<br />

Wechselmedien, Magnetbänder 250 DM<br />

Papier, Schilder, Vordrucke, ... 250 DM<br />

ca. 8 – 19 TDM<br />

300 h<br />

Während der ersten Zeit nach der Einrichtung <strong>und</strong> offiziellen Bekanntgabe des neuen Services ‘Zertifizierung’<br />

wird die Nachfrage vermutlich noch relativ gering ausfallen. Eventuell werden sich<br />

zunächst diejenigen melden, die schon jetzt intensive PGP-Nutzer sind, doch nach diesem möglichen<br />

ersten „Mini-Ansturm“ ist damit zu rechnen, daß es nur gelegentlich Nachfragen nach der<br />

Zertifizierung geben wird.


Einen nicht unerheblichen <strong>Teil</strong> der Zeit, der r<strong>und</strong> um die Zertifizierungstätigkeit aufgewendet werden<br />

muß, dürfte während dieser Phase durch das Einüben der Abläufe, Anpassen von Handlungsleitfäden<br />

<strong>und</strong> Anleitungen an die ersten praktischen Erfahrungen usw. beansprucht werden. Auch die<br />

Aktivitäten, die dem Ziel dienen, den neuen Service innerhalb der UNI bekanntzumachen, dürften<br />

in dieser Phase mehr Zeit in Anspruch nehmen als die Zertifizierungstätigkeit selbst.<br />

Zeitlicher Aufwand<br />

ca. 5 Minuten bei der Entgegennahme jedes Zertifizierungsantrages nebst Identitätsprüfung<br />

nochmals etwa 10 bis 20 Minuten für die Zertifizierung des Schlüssels, das Veröffentlichen<br />

des Zertifikates <strong>und</strong> die Benachrichtigung des Zertifikatnehmers, wenn alle diese Schritte manuell<br />

<strong>und</strong> noch ohne die Unterstützung z.B. entsprechender Skripte oder Utilities ausgeführt<br />

werden (bei X.509-Schlüsseln eher etwas länger)<br />

Bei <strong>einer</strong> geschätzten Nachfrage von zehn bis 20 Interessenten pro Woche wäre also mit einem<br />

Arbeitsaufwand von wöchentlich r<strong>und</strong> vier St<strong>und</strong>en zu rechnen (zeitlichen „Leerlauf“ durch Wartezeiten<br />

aufgr<strong>und</strong> geringer Nachfrage z.B. während <strong>einer</strong> Nutzer-Sprechst<strong>und</strong>e nicht eingerechnet).<br />

In den Leitlinien [ABR97, S. 21 f.] zum SPHINX-Projekt (siehe 3.4.1.2), das CAs in einigen B<strong>und</strong>esbehörden<br />

vorsieht, rechnen die Autoren mit folgendem Aufwand für eine CA: bei kleinen CAs<br />

je eine halbe Stelle für allgemeine Administration <strong>und</strong> Organisation sowie für die technische Betreuung<br />

<strong>und</strong> Wartung. Für eine große CA wird mit bis zu zwei Stellen für Administration <strong>und</strong> Organisation<br />

<strong>und</strong> eine Stelle für die Technik gerechnet. Hinzu kommt jeweils ein Nutzer-abhängiger<br />

Aufwand von r<strong>und</strong> 30 Minuten pro <strong>Teil</strong>nehmer <strong>und</strong> Jahr bei nicht-automatisiertem <strong>Betrieb</strong>.<br />

Materialkosten<br />

In dieser Phase fallen so gut wie keine Materialkosten durch die Zertifizierungstätigkeit an, außer<br />

vielleicht den Kosten für Disketten, falls die eigenen Schlüssel auf diesem Weg an die Benutzer<br />

ausgegeben werden.<br />

Vollausbau<br />

Für eine „Vollversorgung“ aller UNI-Angehörigen mit Zertifizierungsdiensten <strong>und</strong> entsprechend<br />

breiter Nachfrage sieht die Kalkulation anders aus:<br />

Es ist zum einen zu erwarten, daß diese Situation nicht von heute auf morgen eintritt, sondern<br />

daß die UNI-CA-Mitarbeiter bis dahin eine gewisse Routine in den üblichen Aufgaben <strong>und</strong> Abläufen<br />

entwickelt haben. Wenn die Nachfrage ein bestimmtes Maß übersteigt, werden sich die<br />

CA-Administratoren vermutlich auch damit befassen, wie die Arbeitsabläufe effizienter gestaltet<br />

werden können <strong>und</strong> ob nicht durch die Automatisierung eines <strong>Teil</strong>s der Arbeit (Schlüssel vom<br />

Benutzer anfordern, falls er noch nicht vorliegt; Zusenden des Zertifikates <strong>und</strong> der UNI-CA- <strong>und</strong><br />

273


274 Anhang J. Aufwandsabschätzung<br />

<strong>DFN</strong>-PCA-Schlüssel nach erfolgter Zertifizierung usw.) der menschliche Arbeitsaufwand pro Zertifizierung<br />

reduziert, fehlerträchtige oder wenig herausfordernde Tätigkeiten an Software delegiert<br />

werden können. Besonders interessant dürften in dieser Hinsicht auch die Ergebnisse der Diplomarbeit<br />

von SIMON FRISCHEISEN sein [Fri99], in der es um die Software-Unterstützung für den<br />

organisatorischen <strong>Teil</strong> der Arbeit <strong>einer</strong> Zertifizierungsstelle geht.<br />

Die durchschnittliche Bearbeitungszeit pro Zertifizierungsfall sollte sich dadurch auf insgesamt etwa<br />

fünf Minuten senken lassen.<br />

Die bisherigen Schätzungen bezogen sich auf die Zertifizierung von Personenschlüsseln. Bei der<br />

Ausstellung von Server-Zertifikaten für den <strong>Betrieb</strong> eines HTTPS-Servers liegt der Aufwand aufgr<strong>und</strong><br />

der vielen zu prüfenden <strong>und</strong> anschließend auch einzugebenden Daten um einiges höher; Erfahrungswerte<br />

aus anderen Zertifizierungsstellen besagen, daß hierfür mit einem Arbeitszeitaufwand<br />

von etwa <strong>einer</strong> halben St<strong>und</strong>e gerechnet werden muß.<br />

Für die in diesem Stadium des Ausbaus der UNI-CA sicher ebenfalls verstärkt nachgefragten<br />

Schulungs- <strong>und</strong> Beratungsdienstleistungen ist demgegenüber mit einem nochmals erheblich höheren<br />

Zeitaufwand pro Fall zu rechnen (Aussage eines kommerziell tätigen Zertifizierers: drei bis vier<br />

St<strong>und</strong>en Beratungsaufwand pro K<strong>und</strong>e).<br />

Zeitlicher Aufwand<br />

Fiktive 10 000 Nutzer <strong>und</strong> UNI-Mitarbeiter – wenn Public-Key-Verfahren erst einmal ubiquitär<br />

oder sogar unverzichtbar sind im Internet, wird jede Nutzerin <strong>und</strong> jeder Nutzer seine persönlichen<br />

Schlüssel zertifizieren lassen wollen (oder müssen) – wollen mit Zertifikaten für ihre persönlichen<br />

Schlüssel versorgt werden. (Bei konstanter Größe der Studierenden- <strong>und</strong> Mitarbeiterzahlen dürfte<br />

irgendwann ein Gleichgewichtszustand erreicht sein, in dem sich die Zahl der Uni-Abgänger <strong>und</strong><br />

ausscheidenden Mitarbeiter, deren Schlüssel zertifiziert waren, etwa die Waage hält mit der Zahl<br />

derjenigen, die neu an die UNI kommen <strong>und</strong> diesen Dienst in Anspruch nehmen.)<br />

Da die Gültigkeit <strong>einer</strong> Zertifizierung zeitlich begrenzt ist, besteht wegen der erforderlichen Re-<br />

Zertifizierung selbst bei ansonsten völlig gleichbleibendem Studenten- <strong>und</strong> Personalbestand regelmäßig<br />

Bedarf nach Diensten der Zertifizierungsstelle.<br />

Es ist zu hoffen, daß, bis dieser Nachfrage- bzw. Ausbauzustand der UNI-CA erreicht ist, die Gültigkeitsdauer<br />

bei allen Zertifikaten „gleitend“ <strong>und</strong> nicht an einen Stichtag geb<strong>und</strong>en festgelegt werden<br />

kann. Dadurch würde sich die Arbeit entzerren, <strong>und</strong> es wäre eine relativ gleichmäßige Verteilung der<br />

Arbeitsbelastung über das ganze Jahr möglich. (Anders heute: zumindest bei der PGP-Zertifizierung<br />

in der vorgeschlagenen Form würden zu ein oder zwei Stichtagen im Jahr die CA-Schlüssel <strong>und</strong> mit<br />

ihnen die Zertifikate ablaufen, so daß auf einen Schlag eine große Anzahl von Re-Zertifizierungen<br />

zu bewältigen wäre.) Doch selbst unter dieser Prämisse wären pro Monat durchschnittlich knapp<br />

1 000 (Re-)Zertifizierungen abzuwickeln – allein für die Personen-Zertifikate (Server-Zertifizierung<br />

nicht mitgerechnet), d.h. pro Arbeitstag etwa 50 Anträge zu bearbeiten. Selbst unter der optimistischen<br />

Annahme, daß pro Antrag insgesamt nur etwa fünf Minuten Bearbeitungsaufwand anfielen,<br />

hieße das, daß nur für die Zertifizierung selbst bereits eine <strong>Teil</strong>zeit-Stelle eingeplant werden müßte<br />

(Schulungen, Wartungsaufwand <strong>und</strong> Operating der Zertifizierungsstelle einmal völlig außen vor).<br />

Setzt man hingegen die 30 Minuten pro <strong>Teil</strong>nehmer an, die beim SPHINX-Projekt zugr<strong>und</strong>egelegt


wurden (s.o.), so wären alleine für die Zertifizierung drei Vollzeitkräfte erforderlich (zzgl. der dann<br />

sicher mindestens drei Mitarbeiter für Organisation <strong>und</strong> Technik). Exakter abschätzen lassen werden<br />

sich diese Zahlen erst, wenn konkrete Erfahrungen aus den ersten Monaten <strong>Betrieb</strong> der UNI-CA<br />

vorliegen <strong>und</strong> die unvermeidlichen Anlaufprobleme überw<strong>und</strong>en sind.<br />

Bei dieser Abschätzung wurde vorausgesetzt, daß die Zertifizierung weiterhin zentral nur in der<br />

UNI-CA im Rechenzentrum erfolgen würde. Bei Nachfrage nach Zertifizierungsdiensten in dieser<br />

Größenordnung drängt es sich aber geradezu auf, die Möglichkeit von Registrierungs- oder eigenen<br />

Zertifizierungsstellen in einzelnen Fachbereichen oder Verwaltungseinheiten der Universität zu nutzen<br />

<strong>und</strong> so zu <strong>einer</strong> Entzerrung <strong>und</strong> besseren zeitlichen <strong>und</strong> räumlichen Verteilung der Nachfrage zu<br />

gelangen. Die Arbeit in jeder einzelnen der UNI-Zertifizierungsstellen ist dann entsprechend geringer,<br />

andererseits fällt zusätzliche Arbeit durch die erforderliche Kommunikation bzw. Abstimmung<br />

zwischen den beteiligten Stellen an, beispielsweise zwischen der UNI-CA <strong>und</strong> den Außenstellen,<br />

die die Registrierung <strong>und</strong> Identitätsprüfung vornehmen.<br />

Kosten<br />

Noch bevor die Nachfrage nach Zertifizierung ein solches Ausmaß erreicht haben wird, dürfte die in<br />

diesem Konzept vorgeschlagene initiale Geräteausstattung nicht mehr ausreichend sein. Zumal bei<br />

<strong>einer</strong> solchen Durchdringung aller anderen Dienste mit Public-Key-Verfahren auch ganz andere Anforderungen<br />

hinsichtlich der Verfügbarkeit als die für die Startphase der UNI-CA zugr<strong>und</strong>egelegten<br />

gestellt würden.<br />

Wenn die Public-Key-Verfahren erst einmal so sehr Einzug in den Arbeitsalltag der Wissenschaftler<br />

<strong>und</strong> Verwaltungsmitarbeiter gehalten haben, würde bei <strong>einer</strong> „zentralistischen“ Lösung (nur eine<br />

universitätsweite Zertifizierungsstelle) vermutlich nicht mehr mit tragbaren Computern gearbeitet,<br />

sondern dieser hohe Aufwand <strong>und</strong> die hohen Anforderungen an Sicherheit <strong>und</strong> Verfügbarkeit der<br />

Zertifizierungsdienste würden die Nutzung eines eigenen zugangskontrollierten CA-Rechnerraumes<br />

nahelegen, in dem der Zertifizierungsrechner betrieben würde. Dadurch entstünden mindestens entsprechende<br />

einmalige Kosten für die Einrichtung <strong>und</strong> Absicherung dieses Raumes <strong>und</strong> eventuell<br />

erforderliche neue Hardware.<br />

Doch auch bei der Alternative, einem eher dezentralen Ansatz mit mehreren oder sogar vielen<br />

Zertifizierungs- oder Registrierungsstellen in den UNI-Einrichtungen würden Hardware-Kosten<br />

durch die Zertifizierungsrechner entstehen, die dann an jedem der Standorte gebraucht würden.<br />

Noch ist eine so große Nachfrage nicht vorhanden, wenn es aber einmal soweit ist, dann existieren<br />

bis dahin vermutlich auch Firmen, die sich auf entsprechende Dienstleistungen spezialisiert haben.<br />

Bei Nutzerzahlen von mehreren Zehntausend Zertifikatnehmern könnte es sich dann vielleicht auch<br />

rechnen, die entsprechenden Dienste extern einzukaufen.<br />

275


276 Anhang J. Aufwandsabschätzung


Anhang K<br />

Low-Level-Policy (Mustertext)<br />

(Letzte Änderung dieser Policy: ...)<br />

Vorbemerkung zu dieser Version<br />

Dies ist die Version ... der Low-Level-Policy der UNI-CA. Diese Version ist [ein Entwurf | vorläufig | ...] <strong>und</strong> beruht auf<br />

der Low-Level-Policy der <strong>DFN</strong>-PCA, Version 1.2. Sie soll den Anforderungen der Low-Level <strong>DFN</strong>-Policy an eine CA<br />

gerecht werden.<br />

1 Einleitung<br />

Dieses Dokument enthält die Low-Level Zertifizierungsrichtlinien (die sog. Policy der Zertifizierungsstelle der UNI<br />

(nachfolgend auch UNI-CA genannt). Dabei handelt es sich um Zertifizierung mit moderaten Sicherheitsanforderungen<br />

an die Zertifizierungsstelle, bei der Ausstellung der Zertifikate <strong>und</strong> an die Zertifikatnehmer.<br />

Die UNI-CA wird betrieben als <strong>Teil</strong> der <strong>DFN</strong>-Zertifizierungshierarchie (siehe 3.2) im Sinne der Low-Level-Policy der<br />

<strong>DFN</strong>-PCA [<strong>DFN</strong>-PCA]. Die UNI-CA macht dabei Gebrauch von der in Abschnitt 5.1 „Regeln für die Zertifizierung<br />

von CAs“ der <strong>DFN</strong>-PCA Low-Level Policy <strong>einer</strong> Zertifizierungsstelle ausdrücklich zugestandenen Möglichkeit, über die<br />

<strong>DFN</strong>-Policy hinausgehende Richtlinien bei Bedarf in <strong>einer</strong> eigenen Policy festzulegen. Es gelten also für die Arbeit der<br />

Low-Level UNI-CA die <strong>DFN</strong>-PCA Low-Level Zertifizierungsrichtlinien, verschärft bzw. verf<strong>einer</strong>t durch die in diesem<br />

Dokument genannten zusätzlichen Vorgaben.<br />

Der Sinn dieses Dokumentes ist es, Benutzern (relying parties) die Einschätzung der durch die Low-Level UNI-CA<br />

ausgestellten Zertifikate zu ermöglichen.<br />

Die Policy der ebenfalls von der UNI-CA betriebenen Medium-Level Zertifizierungsstelle mit höheren Sicherheitsanforderungen<br />

als denen der Low-Level UNI-CA ist in einem separaten Dokument beschrieben.<br />

Die in diesem Dokument getroffenen Aussagen sind für die Arbeit der Low-Level UNI-CA bindend. (Dies gilt nicht für<br />

diejenigen <strong>Teil</strong>e, die gesetzlichen Vorschriften widersprechen. Derartige Widersprüche sind nicht beabsichtigt; sollten sie<br />

aber dennoch auftreten, so verlieren dadurch die übrigen Vorgaben dieser Policy nicht ihre Gültigkeit.) Die Low-Level<br />

UNI-CA zertifiziert ausschließlich nach den Richtlinien dieser Policy.<br />

2 Identität der UNI-CA<br />

Adresse UNI-CA<br />

Zertifizierungsstelle der Universität ...<br />

Zentrales Rechenzentrum<br />

Musterstraße 77<br />

277


278 Anhang K. Low-Level-Policy (Mustertext)<br />

D-99999 ....<br />

Germany<br />

Telefon: (+49) ...<br />

Telefax: (+49) ...<br />

E-Mail-Adresse<br />

ca@UNI.de<br />

Allgemeine Informationsdienste der UNI-CA<br />

FTP-Server: ftp://ca.UNI.de<br />

WWW-Server: http://ca.UNI.de bzw. https://ca.UNI.de<br />

Auf diesen Servern finden Sie die Wurzelzertifikate der <strong>DFN</strong>-PCA, die Zertifikate der <strong>DFN</strong>-PCA für die<br />

UNI-CA, die Schlüssel zur vertraulichen Kommunikation mit den UNI-CA-Mitarbeitern sowie weitere<br />

Informationen zur UNI-CA <strong>und</strong> zum Projekt <strong>DFN</strong>-PCA.<br />

Gültigkeit dieses Dokumentes<br />

... bis ... [Alternativ: ab ...]<br />

3 Zuständigkeitsbereich der UNI-CA<br />

Der Zuständigkeitsbereich der UNI-CA umfaßt die Einrichtungen der UNI <strong>und</strong> deren Angehörige sowie deren Projekt-<br />

Partner. Das Ziel der UNI-CA besteht darin, den UNI-Angehörigen eine Infrastruktur zur Verfügung zu stellen, die sie<br />

bei der vertrauenswürdigen Kommunikation untereinander <strong>und</strong> mit den Angehörigen anderer <strong>DFN</strong>-Einrichtungen sowie<br />

mit Dritten unterstützt <strong>und</strong> umgekehrt Dritten die vertrauenswürdige Kommunikation mit UNI-Angehörigen möglich<br />

macht. Die Basis dafür bilden Dienste, die die Unverfälschtheit (Integrität), den Urheberschafts- bzw. Identitätsnachweis<br />

(Authentizität) <strong>und</strong> die Vertraulichkeit (Geheimhaltung des Inhaltes) von auf elektronischem Wege ausgetauschten<br />

Nachrichten gewährleisten.<br />

Für die Zwecke der internationalen Kommunikation wird über die <strong>DFN</strong>-Zertifizierungshierarchie eine Anbindung an<br />

andere entsprechende Infrastrukturen nach Maßgabe der Möglichkeiten bereitgestellt.<br />

Die Low-Level UNI-CA wird nur Zertifikate für Benutzer ausstellen, keine CA-Zertifikate.<br />

3.1 Die <strong>DFN</strong>-Zertifizierungshierarchie<br />

Das Projekt <strong>DFN</strong>-PCA sieht die Einrichtung <strong>einer</strong> Zertifizierungshierarchie innerhalb der <strong>DFN</strong>-Mitgliedseinrichtungen<br />

vor, an deren Spitze die <strong>DFN</strong>-PCA als Root-CA, also als oberste Zertifizierungsstelle steht. Die <strong>DFN</strong>-PCA ist erreichbar<br />

unter<br />

<strong>DFN</strong>-PCA<br />

Universität Hamburg<br />

FB Informatik – RZ<br />

Vogt-Kölln-Str. 30<br />

D-22527 Hamburg<br />

Telefon: (0 40) 428 83-2262<br />

Telefax: (0 40) 428 83-2241<br />

E-Mail: dfnpca@pca.dfn.de (PGP-Schlüssel erhältlich)<br />

Die Zertifizierungshierarchie unterhalb der <strong>DFN</strong>-PCA besteht aus drei verschiedenen Einheiten (Zertifikatnehmern):<br />

<strong>Zertifizierungsinstanz</strong>en (CAs)<br />

optionalen Registrierungsinstanzen (RAs)<br />

Benutzern<br />

Die internationale Anbindung der kompletten <strong>DFN</strong>-Zertifizierungshierarchie an andere Hierarchien kann durch eine gegenseitige<br />

Zertifizierung (Cross-Zertifizierung) der <strong>DFN</strong>-PCA mit anderen PCAs erfolgen. Die Eingliederung der <strong>DFN</strong>-<br />

Hierarchie in eine Internet-weite Infrastruktur kann erfolgen, sobald eine entsprechende Instanz (genannt Internet PCA


Registration Authority, IPRA) verfügbar ist. In jedem Fall werden die <strong>Teil</strong>nehmer der <strong>DFN</strong>-Hierarchie über internationale<br />

Anbindungen <strong>und</strong> Cross-Zertifizierungen informiert.<br />

Das Ziel der <strong>DFN</strong>-Zertifizierungshierarchie ist es, pro wissenschaftlicher Einrichtung eine CA zu betreiben, welche direkt<br />

von der <strong>DFN</strong>-PCA zertifiziert wird. Für die UNI als <strong>DFN</strong>-Mitgliedseinrichtung ist dies die UNI-CA. Diese CAs haben<br />

die Möglichkeit, ihrerseits Zertifikate für Benutzer <strong>und</strong> untergeordnete Sub-CAs zu erteilen; das genaue Konzept zum<br />

<strong>Aufbau</strong> <strong>und</strong> <strong>Betrieb</strong> solcher CAs ist in [RFC 1422] (s. Literaturverzeichnis) erläutert.<br />

Unterhalb der <strong>DFN</strong>-PCA operierende CAs haben weiterhin die Möglichkeit – durch den Vorgang der Cross-Zertifizierung<br />

mit anderen CAs –, eigene Verbindungen zu <strong>Zertifizierungsinstanz</strong>en bzw. -infrastrukturen von Einrichtungen herzustellen,<br />

welche nicht dem <strong>DFN</strong>-Verein angehören.<br />

Der öffentliche Schlüssel der <strong>DFN</strong>-PCA ist in einem selbst-signierten Zertifikat (Wurzel-Zertifikat), ausgestellt durch die<br />

<strong>DFN</strong>-PCA, enthalten. Alle <strong>Teil</strong>nehmer der Infrastruktur erhalten dieses Wurzel-Zertifikat im Zuge der eigenen Zertifizierung<br />

<strong>und</strong> können somit die Authentizität <strong>und</strong> Gültigkeit aller unterhalb der <strong>DFN</strong>-PCA erteilten Zertifikate überprüfen.<br />

Die Low-Level-PCA unterstützt auch den Einsatz des Programms PGP (“Pretty Good Privacy“). Obwohl in dem von<br />

PGP propagierten Vertrauensmodell (dem sog. “Web-of-trust”) der Einsatz von <strong>Zertifizierungsinstanz</strong>en nicht vorgesehen<br />

ist, sind die technischen Voraussetzungen zum <strong>Betrieb</strong> <strong>einer</strong> PGP-<strong>Zertifizierungsinstanz</strong> gr<strong>und</strong>sätzlich gegeben, so daß<br />

derartige Dienste angeboten werden können.<br />

Der Sinn von PGP-CAs ist die Einrichtung vertrauenswürdiger Instanzen, die durch ihre digitalen Signaturen die Bindung<br />

eines Public-Keys an einen Benutzer (bzw. dessen Benutzer-ID) herstellen. Die digitale Signatur <strong>einer</strong> PGP-CA soll auf<br />

diese Weise einem Public-Key ein größeres Maß an Vertrauenswürdigkeit geben, als durch die Signaturen beliebiger<br />

Benutzer erreicht werden kann.<br />

3.2 Rechtliche Bedeutung<br />

Eine Zertifizierung durch die UNI-CA ist keine Zertifizierung im Sinne des Signaturgesetzes [SigG]. Die UNI-CA erhebt<br />

nicht den Anspruch, eine Zertifizierungsstelle im Sinne von § 2 Abs. 2 des Signaturgesetzes zu sein.<br />

Ein Anspruch auf die Erteilung eines Zertifikates durch die UNI-CA besteht nicht.<br />

Die rechtliche Beweiskraft digitaler Signaturen ist derzeit noch offen. Der Sinn <strong>einer</strong> <strong>DFN</strong>-weiten Public-Key-<br />

Infrastruktur, deren <strong>Teil</strong> die UNI-CA ist, liegt in der Schaffung der technischen Voraussetzungen für eine gesicherte<br />

elektronische Kommunikation.<br />

Insbesondere der <strong>DFN</strong>-Verein, die UNI sowie die Mitarbeiter der UNI-CA übernehmen keine Form der Gewährleistung.<br />

Alle Aufgaben werden von den UNI-CA-Mitarbeitern nach bestem Wissen <strong>und</strong> Gewissen durchgeführt.<br />

4 Sicherheitsanforderungen<br />

Durch die <strong>Teil</strong>nahme an <strong>einer</strong> Public-Key-Infrastruktur entstehen für alle Beteiligten bestimmte Anforderungen hinsichtlich<br />

der Sicherheit der eingesetzten Hard- <strong>und</strong> Software <strong>einer</strong>seits sowie des verantwortungsvollen Umgangs mit<br />

kryptographischen Schlüsseln andererseits. Die Anforderungen an die <strong>DFN</strong>-PCA <strong>und</strong> die CAs sind dabei höher als die<br />

an RAs oder Nutzer gestellten, da der Mißbrauch eines PCA-/CA-Schlüssels allen untergeordneten Zertifikaten die Vertrauenswürdigkeit<br />

entziehen würde <strong>und</strong> insofern viel gravierendere Auswirkungen hätte.<br />

4.1 Sicherheitsanforderungen an die <strong>DFN</strong>-PCA<br />

Die Vorgaben für die Low-Level <strong>DFN</strong>-PCA sind in den Low-Level Zertifizierungsrichtlinien der <strong>DFN</strong>-PCA [<strong>DFN</strong>-PCA]<br />

beschrieben.<br />

4.2 Sicherheitsanforderungen an die UNI-CA<br />

Die UNI-CA arbeitet nach folgenden Maßgaben:<br />

279


280 Anhang K. Low-Level-Policy (Mustertext)<br />

Für die Dienste der UNI-CA wird ein Rechner eingesetzt, der in geeigneter Weise vor mißbräuchlicher Benutzung<br />

geschützt ist. Der unbefugte Zugriff auf den CA-Rechner <strong>und</strong> eventuell gespeicherte Schlüsseldaten wird durch<br />

den Einsatz geeigneter Hard- <strong>und</strong> Software unterb<strong>und</strong>en. Es wird ein Rechner ohne jeglichen Netzwerkanschluß<br />

eingesetzt; dieser Rechner wird physikalisch geschützt aufbewahrt (Zugangs- / Zugriffskontrolle).<br />

Die UNI-CAs verwendet getrennte asymmetrische Schlüsselpaare zum Signieren <strong>und</strong> zum Entschlüsseln.<br />

Geheime Schlüssel der UNI-CA zum Erzeugen digitaler Signaturen müssen vor Mißbrauch durch Unbefugte<br />

geschützt werden <strong>und</strong> dürfen nicht weitergegeben werden. Die Verantwortung hierfür liegt bei den Administratoren<br />

der CA, die daher angehalten sind, vom CA-Rechner getrennte Speichermedien (z.B. SmartCard, Wechsel-<br />

Festplatte, Diskette) zur Speicherung der geheimen Schlüssel einzusetzen, soweit dies technisch möglich ist. Der<br />

Zugriff auf diese geheimen CA-Schlüssel wird in jedem Fall durch Paßworte bzw. PINs geschützt, die nur den<br />

CA-Administratoren bekannt sind <strong>und</strong> niemals im Klartext abgelegt oder notiert werden.<br />

Mit dem geheimen Signatur-Schlüssel der UNI-CA werden ausschließlich Benutzer-Schlüssel, Zertifikat-<br />

Widerrufe oder die Policy der UNI-CA unterschrieben. Der geheime Signatur-Schlüssel wird nicht für Kommunikationszwecke<br />

verwendet.<br />

Asymmetrische Schlüsselpaare der UNI-CA zur Erzeugung von Signaturen weisen eine Mindestlänge von<br />

1024 Bits auf. Aus Kompatibilitätsgründen dürfen sie zugleich nicht länger als 2047 Bits sein<br />

In solchen Fällen, in denen die Low-Level UNI-CA asymmetrische Schlüsselpaare für die Nutzer erzeugt, müssen<br />

nach der Erzeugung <strong>und</strong> Schlüsselübergabe an den Nutzer auf Seiten der UNI-CA alle Kopien des geheimen<br />

Schlüssels des Nutzers oder Bestandteile oder Zwischenergebnisse aus der Schlüsselgenerierung, aus denen der<br />

geheime Nutzer-Schlüssel ermittelt werden könnte, endgültig gelöscht werden.<br />

Sämtliche persönlichen Daten der Zertifikatnehmer, die den UNI-CA-Mitarbeitern bei der Zertifizierung über<br />

die Schlüssel- <strong>und</strong> Zertifikatdaten hinaus bekannt werden (z.B. die Personalausweisnummer), werden von den<br />

UNI-CA-Mitarbeitern vertraulich behandelt <strong>und</strong> ausschließlich zu internen Dokumentationszwecken erhoben; sie<br />

werden nicht veröffentlicht.<br />

4.3 Sicherheitsanforderungen an Benutzer<br />

Benutzer im Sinne dieser Policy sind natürliche Personen, die die Zertifizierungsdienste der UNI-CA in Anspruch nehmen<br />

(Zertifikatnehmer). Folgende Anforderungen werden an die Zertifikatnehmer der UNI-CA gestellt:<br />

Der geheime Schlüssel des Benutzers muß ausreichend vor Mißbrauch durch Unbefugte geschützt <strong>und</strong> darf nicht<br />

weitergegeben werden; hierfür ist jeder Benutzer selbst verantwortlich. Werden keine SmartCards zum Speichern<br />

des geheimen Schlüssels eingesetzt, ist der Zugriff auf den geheimen Schlüssel des Benutzers durch ein Paßwort<br />

bzw. eine PIN zu schützen. Weder die optionale SmartCard noch das Paßwort bzw. die PIN dürfen an andere<br />

Benutzer oder CA-Administratoren weitergegeben werden. Der Benutzer wird hierauf bei der Zertifizierung<br />

ausdrücklich hingewiesen.<br />

Der zu zertifizierende Schlüssel des Benutzers muß eine Mindestlänge von 1024 Bits aufweisen. Abweichend<br />

davon dürfen auch Schlüssel zertifiziert werden, die kürzer als 1024 Bits, jedoch mindestens 768 Bits lang sind,<br />

sofern sie ausweislich des entsprechenden Zeitstempels im PGP-Public-Key bereits vor [ dem Inkrafttreten dieser<br />

Policy | dem ... ] erzeugt wurden. Ab dem 1.1.2001 werden keine Schlüssel mehr zertifiziert, die kürzer als 1024<br />

Bits sind.<br />

5 Zertifizierungsregeln<br />

Die Low-level UNI-CA führt keine Cross-Zertifizierungen mit anderen Zertifizierungsstellen durch. Sie zertifiziert keine<br />

nachgeordneten CAs <strong>und</strong> auch keine Registrierungsstellen (RAs), sondern ausschließlich Nutzer, genauer: deren öffentliche<br />

Schlüssel. Die einzige Ausnahme von dieser Regel bilden der Zertifizierungs- <strong>und</strong> der Kommunikationsschlüssel der<br />

Low-Level UNI-CA selbst: Sie werden mit einem Selbst-Zertifikat versehen.<br />

Dieser Abschnitt beschreibt technische <strong>und</strong> organisatorische Richtlinien <strong>und</strong> Prozeduren, die bei <strong>einer</strong> Zertifizierung von<br />

Benutzern zu beachten sind.


Anonyme oder pseudonyme Zertifikate werden von der UNI-CA nicht ausgestellt. Ebenso werden keine Zertifikate für<br />

Gruppenschlüssel ausgestellt (einzige Ausnahme: der Kommunikationsschlüssel der UNI-CA selbst; er ist nicht an eine<br />

einzige Person geb<strong>und</strong>en, sondern wird von allen UNI-CA-Mitarbeitern zum Lesen von verschlüsselt an die UNI-CA<br />

geschickten Nachrichten verwendet).<br />

In keinem Fall werden Zertifizierungswünsche automatisiert bearbeitet; es muß sichergestellt sein, daß die Zertifizierung<br />

erst nach <strong>einer</strong> Interaktion durch einen der CA-Mitarbeiter erfolgt.<br />

5.1 Unterstützte Schlüsselformate<br />

Die Low-Level UNI-CA zertifiziert bis auf weiteres ausschließlich PGP-RSA-Schlüssel. DH/DSS-Schlüssel, wie sie z.B.<br />

von PGP 5 erzeugt werden, werden von der UNI-CA nicht zertifiziert.<br />

5.2 Schlüsselgenerierung<br />

Ein Benutzer, der zertifiziert werden möchte, generiert zunächst (oder besitzt schon) ein persönliches asymmetrisches<br />

Schlüsselpaar <strong>und</strong> übermittelt anschließend den selbst-signierten PGP-Public-Key) per E-Mail oder mittels eines Datenträgers<br />

an die UNI-CA. Wenn der Nutzer dies wünscht <strong>und</strong> die CA dies anbietet, wird das asymmetrische Schlüsselpaar<br />

des Benutzers auch von der CA erzeugt. Dabei sind von der UNI-CA die in Abschnitt 4.2 beschriebenen Sicherheitsanforderungen<br />

einzuhalten.<br />

5.3 Namenswahl (Benutzerkennung)<br />

PGP-Benutzer werden durch eine Benutzer-ID identifiziert, die aus <strong>einer</strong> beliebigen Kombination von ASCII-Zeichen<br />

bestehen kann. Bei der Benutzung von PGP kann zunächst jeder <strong>Teil</strong>nehmer die Benutzer-ID frei wählen. Um dennoch<br />

ein sinnvolles <strong>und</strong> korrekt funktionierendes Zertifizierungsmodell zu erreichen, muß die Bindung eines PGP-Public-Keys<br />

an einen Benutzer sichergestellt sein. Daher werden an zu zertifizierende PGP-Benutzer-IDs folgende Anforderungen<br />

gestellt:<br />

Benutzer-IDs müssen eine eindeutige Bindung zwischen dem Public-Key <strong>und</strong> der Identität des Benutzers herstellen.<br />

Daher muß der Vor- <strong>und</strong> Zuname des Benutzers, wenn möglich auch eine E-Mail-Adresse, unter der er<br />

erreichbar ist, innerhalb der Benutzer-ID vorhanden sein. Weitere Bestandteile der Benutzerkennung sind zulässig,<br />

sofern sie nicht irreführend sind oder mit ihnen eine zusätzliche Eigenschaft oder Funktion des Schlüsselinhabers<br />

charakterisiert wird, die die UNI-CA ansonsten vor <strong>einer</strong> Zertifizierung nachprüfen müßte. (Eine Benutzerkennung<br />

wie Hans Schmidt , Diplom-Biologe, Ute Durchschnitt, UNI-<br />

Praesidentin oder Prof. Dr. Y. Mustermensch wäre also nicht zertifizierbar.)<br />

Ergänzungen in der Benutzer-ID, die eine Gültigkeitsdauer oder eine Anwendungsbeschränkung des Schlüssels andeuten<br />

sollen (z.B. ‘SIGN’ für Schlüssel, die nur zur Unterschriftenprüfung, nicht aber zum Verschlüsseln benutzt werden sollen,<br />

oder EXPIRE wie oben für den UNI-CA-Signierschlüssel beschrieben), sind ebenfalls zulässig. Ein Verfallsdatum in der<br />

Benutzerkennung muß aber, wenn es verwendet wird <strong>und</strong> zugleich im PGP-Public-Key-Packet ein Verfallsdatum für den<br />

Schlüssel angegeben ist, mit diesem übereinstimmen; andernfalls darf dieser Schlüssel von der UNI-CA nicht zertifiziert<br />

werden.<br />

Schlüssel mit abgelaufener Gültigkeitsdauer werden ebensowenig zertifiziert wie solche mit einem „Erstellungsdatum“,<br />

das in der Zukunft liegt.<br />

Beispiele für zertifizierbare PGP-Benutzer-IDs im Sinne dieser Policy sind:<br />

Arnold J. Rimmer, Uni Hamburg <br />

<br />

"Katharina Benutzer" (SIGN)<br />

Joe Juhser, 21. Dezember 1967, Hamburg (EXPIRE:2000-01-18)<br />

281


282 Anhang K. Low-Level-Policy (Mustertext)<br />

5.4 Identitätsprüfung<br />

Um unerlaubte Zertifizierungswünsche zu erkennen, hat sich die UNI-CA vor jeder Zertifizierung in geeigneter Weise<br />

von der Identität desjenigen Schlüsselinhabers zu überzeugen, welcher eine Zertifizierung wünscht. Dieser Vorgang kann<br />

nur durch persönlichen Kontakt vor der Zertifizierung erfolgen.<br />

Der Benutzer muß sich persönlich vorstellen, um der CA die Prüfung s<strong>einer</strong> Identität zu ermöglichen. Für den Prozeß<br />

der Verifikation ist die Vorlage eines gültigen Personalausweises oder Reisepasses bzw. eines entsprechenden amtlichen<br />

Dokumentes mit Lichtbild erforderlich.<br />

5.5 Anforderungen an den Schlüssel<br />

Zertifikate werden ausschließlich dann erteilt, wenn der zu zertifizierende Public-Key über die in Abschnitt 4 festgelegten<br />

Mindest- <strong>und</strong> Höchstlängen verfügt, die zu zertifizierende Benutzerkennung die Anforderungen in Abschnitt 8 erfüllt <strong>und</strong><br />

sich die UNI-CA in geeigneter Weise von der Identität des Schlüsselinhabers überzeugt hat. Schlüssel, die ein Verfallsdatum<br />

enthalten, werden von der UNI-CA nur vor diesem Datum zertifiziert; abgelaufene Schlüssel oder abgelaufene<br />

Benutzerkennungen werden nicht von der UNI-CA zertifiziert.<br />

Im Zertifizierungsantrag sind die kryptographische Prüfsumme (der sog. „Fingerprint") des öffentlichen Schlüssels, der<br />

zertifiziert werden soll, sowie dessen Schlüssellänge <strong>und</strong> sein Erstellungsdatum anzugeben. Die UNI-CA hat sich vor<br />

der Zertifizierung anhand dieser Angaben zu vergewissern, daß der richtige Public-Key vorliegt. Der Public-Key muß<br />

in jedem Fall eine Selbst-Signatur des Inhabers aufweisen; solange diese nicht vorhanden ist, darf er nicht zertifiziert<br />

werden. (Eine fehlende Selbst-Signatur kann vom Schlüsselinhaber nachgereicht werden.)<br />

Die Low-Level UNI-CA führt vor der Zertifizierung eines Schlüssels keine Prüfung durch, ob der Schlüsselinhaber auch<br />

über den Private-Key verfügt, der mit dem zu zertifizierenden Public-Key korrespondiert (sog. proof of possession, PoP).<br />

Ebenso prüft die Low-Level UNI-CA vor <strong>einer</strong> Zertifizierung nicht, ob der Schlüsselinhaber tatsächlich unter der Mailadresse<br />

erreichbar ist, die eventuell in der zu zertifizierenden Benutzerkennung enthalten ist. Das Zertifikat der Low-Level<br />

UNI-CA bezieht sich also ausschließlich auf den Namen des Schlüsselinhabers.<br />

5.6 Gültigkeitsdauer<br />

Ein PGP-Zertifikat enthält gr<strong>und</strong>sätzlich den Public-Key sowie die Benutzer-ID. Da eine Gültigkeitsdauer digitaler Signaturen<br />

von vielen gebräuchlichen PGP-Versionen nicht unterstützt wird, begrenzt alleine die Gültigkeit des Zertifizierungsschlüssels<br />

(implizit) die Gültigkeitsdauer eines PGP-Zertifikats. Neben den für eine Gültigkeitsdauer vorgesehenen<br />

Datenstrukturen im PGP-Public-Key-Packet wird auch in der Benutzerkennung des Low-Level UNI-CA-Schlüssels durch<br />

Angabe der Zeichenfolge ‘EXPIRE:jjjj-mm-tt’ das entsprechende Verfallsdatum des betreffenden Signierchlüssels angegeben.<br />

(jjjj ist dabei durch die entsprechende vierstellige Jahreszahl, mm durch die zweistellige numerische Darstellung<br />

des Monats, ggf. mit führender Null, <strong>und</strong> tt entsprechend durch die Nummer des Tages im Monat, ggf. ebenfalls mit<br />

führender ‘0’, zu ersetzen.) Dadurch wird erreicht, daß auch PGP-Anwender, deren PGP-Version die Gültigkeitsdauer<br />

von PGP-Schlüsseln oder -Zertifikaten nicht automatisch auswertet, erkennen können, bis wann ein UNI-CA-Schlüssel<br />

gültig ist <strong>und</strong> bis wann folglich auch die damit ausgestellten Zertifikate höchstens gültig sind.<br />

Die Zertifikate der Low-Level UNI-CA haben eine Gültigkeitsdauer von sieben Monaten. Sie werden 15 Tage vor Beginn<br />

jedes Hochschulsemesters erzeugt <strong>und</strong> gelten jeweils bis zum 15. Tag des folgenden Semsters.<br />

5.7 Verlängerung von Zertifikaten<br />

Zertifikate werden nicht automatisch durch die UNI-CA erneuert oder verlängert. Eine Re-Zertifizierung erfolgt nicht,<br />

es ist stattdessen ein neuer normaler Zertifizierungsantrag (wie bei der erstmaligen Zertifizierung) bei der Low-Level<br />

UNI-CA zu stellen.


6 Management von Zertifikaten<br />

Die PGP-Zertifikate, die die UNI-CA ausstellt, werden von ihr auf den PGP-Keyservern des internationalen PGP-<br />

Keyserver-Verb<strong>und</strong>es (http://www.pgp.net/) veröffentlicht.<br />

Alle Zertifikatnehmer der UNI-CA erklären sich mit der Veröffentlichung ihres Zertifikates einverstanden. Sie werden<br />

auf die Publikation der Daten auf den Zertifizierungsanträgen ausdrücklich hingewiesen. Ohne diese Einwilligung kann<br />

keine Zertifizierung erfolgen.<br />

7 Widerruf von Zertifikaten<br />

Die UNI-CA behält sich vor, von ihr erteilte Zertifikate jederzeit vor Ablauf der Gültigkeitsdauer ohne öffentliche Nennung<br />

expliziter Gründe zu widerrufen. Dem Schlüsselinhaber wird die UNI-CA über den Widerruf informieren <strong>und</strong> ihm<br />

auf Anfrage die Gründe mitteilen, die sie dazu veranlaßt haben.<br />

Jeder Zertifikatnehmer der UNI-CA kann von ihr ohne Angabe von Gründen verlangen, daß sie das entsprechende Zertifikat<br />

für seinen Schlüssel widerruft. Die UNI-CA hat diesem Verlangen nachzukommen, sobald sie sich durch geeignete<br />

Schritte davon überzeugt hat, daß der Antrag vom Zertifikatnehmer selbst stammt bzw. von ihm autorisiert ist.<br />

Wird der eigene geheime Schlüssel Dritten bekannt, so hat der betroffene Nutzer unverzüglich die UNI-CA zu benachrichtigen<br />

<strong>und</strong> den Widerruf des eigenen Zertifikates veranlassen, sobald er Kenntnis von diesem Umstand hat.<br />

Die Low-Level <strong>DFN</strong>-Policy macht für den Widerruf von PGP-Zertifikaten keine konkreten Vorgaben für die CA; die<br />

dort gemachte Aussage, eine CA könne ein PGP-Zertifikat nicht widerrufen, ist technisch dank neuer PGP-Versionen<br />

nicht mehr zutreffend. Daneben wird in der <strong>DFN</strong>-Policy lediglich die Möglichkeit eines Schlüsselwiderrufs durch den<br />

Schlüsselinhaber selbst erwähnt <strong>und</strong> darauf hingewiesen, daß an der Verteilung solcher Widerrufe mittels eines X.500-<br />

Verzeichnisdienstes geforscht wird.<br />

Die UNI-CA wird daher eigene Zertifikate auf folgende Weise widerrufen:<br />

Viele PGP-Versionen (PGP2.6.3in, PGP 5.x, PGP 6.x) unterstützen inzwischen die Möglichkeit eines Zertifikat-<br />

Widerrufs. Da die bislang praktizierte Vorgehensweise zum Widerruf eines PGP-Zertifikates durch eine CA, die Veröffentlichung<br />

des betreffenden Zertifikates auf <strong>einer</strong> Sperr- oder Widerrufsliste (engl. certificate revocation list, CRL),<br />

für PGP in k<strong>einer</strong> Weise standardisiert war <strong>und</strong> daher auch von k<strong>einer</strong> der PGP-Versionen unterstützt wurde, wird die<br />

UNI-CA nicht mit derartigen Sperrlisten arbeiten. Stattdessen wird sie Zertifikat-Widerrufe einsetzen <strong>und</strong> diese über die<br />

PGP-Keyserver allen PGP-Anwendern zugänglich machen.<br />

Es besteht darüber hinaus für alle Benutzer die Möglichkeit, einen Schlüsselwiderruf, ein sog. key revocation certificate,<br />

zu erzeugen <strong>und</strong> dieses Zertifikat im Falle des Widerrufs über die PGP-Keyserver zu verteilen, um die Ungültigkeit des<br />

eigenen Public-Keys bekanntzumachen.<br />

Wichtiger Hinweis für relying parties:<br />

Eine Person, die sich auf das Zertifikat der UNI-CA für den PGP-Schlüssel <strong>einer</strong> anderen Person verlassen will, muß<br />

zweierlei tun, um sichergehen zu können, daß ein eventuell existierendes Zertifikat der UNI-CA für den betreffenden<br />

Schlüssel nicht mittlerweile von der UNI-CA widerrufen wurde:<br />

Es muß eine PGP-Version benutzt werden, die PGP-Zertifikatwiderrufe verarbeiten kann <strong>und</strong> sie anzeigt<br />

Es muß der betreffende PGP-Schlüssel einschließlich aller anhängigen Zertifikate von einem der Server des PGP-<br />

Keyserver-Verb<strong>und</strong>es www.pgp.net heruntergeladen <strong>und</strong> anschließend geprüft werden, ob nicht ein Widerruf des<br />

UNI-CA-Zertifikates vorliegt.<br />

(Da die Server des PGP-Keyserver-Verb<strong>und</strong>es jeweils untereinander ihre Schlüssel- <strong>und</strong> Zertifikatdaten synchronisieren,<br />

kann es dabei zu einem „Unsicherheitszeitraum“ von in der Regel maximal einem Tag kommen, in dem zwar die Zertifizierungsstelle<br />

eventuell ihr Zertifikat für einen Schlüssel widerrufen hat, dieser Widerruf aber noch nicht alle Server des<br />

Verb<strong>und</strong>es erreicht hat.)<br />

283


284 Anhang K. Low-Level-Policy (Mustertext)<br />

8 Verschiedenes<br />

Es wird keine Haftung für die Korrektheit, Vollständigkeit oder Anwendbarkeit der enthaltenen Informationen <strong>und</strong> der<br />

vorgeschlagenen Maßnahmen übernommen. Ferner kann keine Haftung für eventuelle Schäden, entstanden durch die<br />

Inanspruchnahme der Dienste der UNI-CA oder die Nutzung eines oder mehrerer von ihr ausgestellter Zertifikate, übernommen<br />

werden. Die Verantwortung für die Verwendung der oben beschriebenen Verfahren <strong>und</strong> Programme liegt allein<br />

bei den die Installation durchführenden Administratoren <strong>und</strong> Benutzern.<br />

Die UNI-CA behält sich vor, Zertifizierungswünschen nicht nachzukommen. Ferner kann keine Garantie für die Verfügbarkeit<br />

der UNI-CA-Dienste übernommen werden. Es besteht derzeit keine Möglichkeit, diese Dienste auf <strong>einer</strong> 24-<br />

St<strong>und</strong>en-Basis anzubieten.<br />

Die UNI-CA fragt niemals Nutzer nach ihrer geheimen Passphrase, dem Code-Wort oder -satz, mit dem der geheime<br />

Nutzerschlüssel (private key) vor unbefugtem Zugriff geschützt ist!<br />

Datenschutz<br />

Alle Zertifikatnehmer stimmen mit dem Antrag auf Zertifizierung der Speicherung <strong>und</strong> Verarbeitung ihrer bei der Zertifizierung<br />

anfallenden Daten, die auch maschinell erfolgen wird, durch die zertifizierende Instanz zu.<br />

Erklärung der <strong>Teil</strong>nehmer<br />

Alle <strong>Teil</strong>nehmer der <strong>DFN</strong>-Hierarchie haben vor ihrer Zertifizierung handschriftlich eine Erklärung zu unterzeichnen, in<br />

der sie über ihre Rechte <strong>und</strong> Pflichten sowie über die Risiken <strong>und</strong> Gefahren beim Einsatz von Public-Key-Systemen<br />

aufgeklärt wurden. Diese Erklärung, die im Einzelfall auch vom <strong>Teil</strong>nehmer an die zertifizierende CA gefaxt werden<br />

kann, wird von der zertifizierenden Instanz verwahrt <strong>und</strong> beinhaltet in erster Linie die Zustimmung zu den Richtlinien<br />

dieser Policy sowie gegebenenfalls eine Erklärung darüber, von welcher Partei das zu zertifizierende asymmetrische<br />

Schlüsselpaar erzeugt wurde. Außerdem enthält diese Erklärung auch die Einwilligung des Schlüsselinhabers in die<br />

Veröffentlichung seines Zertifikates.<br />

Maßgebliche Fassung dieser Policy<br />

Eventuell werden Übersetzungen dieser Policy in andere Sprachen verfügbar gemacht, um beispielsweise die internationale<br />

Zusammenarbeit mit anderen CAs zu ermöglichen <strong>und</strong> Anwendern von Public-Key-Verfahren weltweit die Möglichkeit<br />

zu geben, die Arbeitsweise der Low-Level UNI-CA nachzuvollziehen <strong>und</strong> so die Verläßlichkeit ihrer Zertifikate<br />

einschätzen zu können. Maßgeblich ist jedoch in jedem Fall die deutschsprachige Version in ihrer jeweils aktuellsten<br />

Fassung.<br />

Gebühren<br />

Für die Leistungen der UNI-CA werden keine Gebühren erhoben.<br />

„Dienstaufsicht“<br />

Nutzer, die mit der Arbeit der UNI-CA unzufrieden sind, weil sie konkretes Fehlverhalten festgestellt haben, werden<br />

gebeten, ihr Anliegen den UNI-CA-Mitarbeitern per E-Mail oder persönlich während der Sprechzeiten mitzuteilen.<br />

Darüber hinaus steht den Betroffenen die Möglichkeit offen, sich bei Policy-Verstößen der UNI-CA an die <strong>DFN</strong>-PCA als<br />

übergeordnete Kontrollinstanz zu wenden (Adresse siehe 3.1).


Literaturverzeichnis<br />

[<strong>DFN</strong>-PCA] S. Kelm, B. Liedtke: <strong>DFN</strong>-PCA – Low-Level Policy. Zertifizierungsrichtlinien für das PCA-Projekt, Version<br />

1.2, 1. Januar 1999<br />

[PGP] Philip Zimmermann: The Official PGP User’s Guide, MIT Press, 1995<br />

[RFC 1422] S. Kent: Privacy Enhancement for Internet Electronic Mail: Part II: Certificate-Based Key Management,<br />

Februar 1993<br />

[RFC 1875] N. Berge: UNINETT PCA Policy Statements, Dezember 1995<br />

[SigG] Gesetz zur digitalen Signatur (Signaturgesetz – SigG) vom 22. Juli 1997, BGBl. I, S. 1870 ff.<br />

Abkürzungsverzeichnis<br />

CA: Certification Authority (<strong>Zertifizierungsinstanz</strong>)<br />

CRL: Certificate Revocation List (Widerrufsliste)<br />

<strong>DFN</strong>: Verein zur Förderung eines Deutschen Forschungsnetzes e.V.<br />

FTP: File Transfer Protocol<br />

ID: Identifier<br />

IPRA: Internet PCA Registration Authority<br />

PCA: Policy Certification Authority<br />

PIN: Personal Identification Number<br />

PGP: Pretty Good Privacy<br />

RA: Registration Authority (Registrierungsinstanz)<br />

RFC: Request for Comment<br />

SigG: Signaturgesetz<br />

WiN: Wissenschaftsnetz<br />

285


286 Anhang K. Low-Level-Policy (Mustertext)


Anhang L<br />

Standard-CA-Mails<br />

Bestimmte Anfragen <strong>und</strong> Abläufe wiederholen sich für die Mitarbeiter <strong>einer</strong> Zertifizierungsstelle<br />

immer wieder. Dazu gehören auch Standardantworten bzw. -anschreiben zu den am häufigsten<br />

vorkommenden Fragen bzw. Zertifizierungsproblemen. Nachfolgend sollen einige Beispiele dafür<br />

gegeben werden, welche Situationen oft auftreten <strong>und</strong> wie eine entsprechende E-Mail-Reaktion eines<br />

CA-Mitarbeiters aussehen könnte.<br />

Mail an die CA mit falschem Key verschlüsselt<br />

Hallo ... ,<br />

Du hast PGP-verschlüsselte Mail an die UNI-CA <br />

geschickt.<br />

Leider hast Du für die Verschlüsselung den Key 0x06753A4D, UserID<br />

UNI-Berlin CA, SoSe 1999 Certification Key <br />

verwendet.<br />

Dieser Key ist nicht zur Sicherung der Vertraulichkeit der Kommunikation<br />

mit der UNI-CA vorgesehen, sondern er wird ausschließlich dazu verwendet,<br />

Schlüssel zu zertifizieren <strong>und</strong> Schlüsselwiderrufe zu signieren (Private-<br />

Key, Verwendung durch die UNI-CA) bzw. entsprechende Unterschriften der<br />

UNI-CA zu verifizieren (entsprechender Public-Key). Dafür steht auch das<br />

’SIGN’ in der UserID dieses Keys.<br />

Deine Mail konnte daher von den UNI-CA-Mitarbeitern nicht gelesen werden.<br />

Bitte schicke die Mail(s) noch einmal <strong>und</strong> benutze dabei den Schlüssel<br />

Type Bits/KeyID Date User ID<br />

pub 1024/A6A81269 1999/03/20 UNI CA, SoSe 1999 Communication Key <br />

wenn Du die Inhalte D<strong>einer</strong> Kommunikation mit der UNI-CA vor<br />

unbefugter Kenntnisnahme durch Dritte schützen willst. (Unten ange-<br />

287


288 Anhang L. Standard-CA-Mails<br />

hängt findest Du den kompletten Key in PGP-ASCII-Armor-Darstellung).<br />

[Grußformel]<br />

[angefügter Schlüssel]<br />

Nutzerschlüssel ist nicht auf Keyserver<br />

Hallo ....,<br />

Du hast die Zertifizierung Deinen PGP-Public-Keys mit der KeyID<br />

0xMMMMMMMM bei der UNI-CA beantragt.<br />

Dieser PGP-Key ist bisher *nicht* auf den internationalen Keyservern<br />

gespeichert, so daß wir ihn nicht von dort herunterladen können.<br />

Damit wir den Schlüssel trotzdem zertifizieren können, schick’ uns<br />

bitte eine Kopie dieses Public-Keys per Mail an ‘ca@UNI.de’.<br />

[Grußformel]<br />

Nutzerschlüssel weist keine Selbst-Signatur auf<br />

Hallo xxxx,<br />

Du hattest einen Antrag auf Zertifizierung Deines PGP-Keys<br />

Type Bits/KeyID Date User ID<br />

......<br />

durch die UNI-CA gestellt.<br />

Dieser Key bzw. die betreffende o.g. UserID ist nicht von Dir selber<br />

unterschrieben (zumindest nicht die Kopie, die auf den internationalen<br />

PGP-Keyservern liegt).<br />

Das solltest Du umgehend nachholen - warum, das kannst Du im unten<br />

angefügten Text aus der deutschsprachigen Übersetzung des<br />

"Comp.security.pgp FAQ", übersetzt von Lutz Donnerhacke, nachlesen.<br />

Solange der Schlüssel/die betreffende UserID nicht selbst-signiert<br />

ist, kann er nicht von der UNI-CA zertifiziert werden; das<br />

verbieten die Fu-CA-Zertifizierungsrichtlinien:<br />

5 Zertifizierungsregeln<br />

[...]<br />

Der Public-Key muß in jedem Fall eine Selbst-Signatur des<br />

Inhabers aufweisen; anderenfalls darf er nicht zertifiziert<br />

werden. (Eine fehlende Selbst-Signatur kann vom Schlüsselinhaber<br />

nachgereicht werden.) Liegt sie vor <strong>und</strong> sind alle anderen<br />

o.g. Voraussetzungen erfüllt, darf der Schlüssel von der CA


zertifiziert werden.)<br />

Bitte maile an ’ca@UNI.de’ eine Kopie Deines o.g. PGP Public<br />

Keys, nachdem Du den Key/die UserID selbst unterschrieben hast!<br />

[Grußformel]<br />

Keine DSS/DH-Schlüssel<br />

[Anrede]<br />

die von Dir registrierten persoenlichen Daten <strong>und</strong> den Public-Key haben<br />

wir erhalten. Leider koennen wir aus Kompatibiliaetsgruenden derzeit noch<br />

keine PGP-Schluessel der "neuen Generation" (DSS/DH-Keys von PGP 5.x <strong>und</strong><br />

6.x) zertifizieren.<br />

Wir testen derzeit die neue PGP-Version <strong>und</strong> werden Deinen Schluessel<br />

zertifizieren, sobald diese Version fuer den laufenden <strong>Betrieb</strong> der UNI-CA<br />

verwendet werden kann. Wir werden Deinen zertifizierten Key anschliessend<br />

per Email an Dich schicken.<br />

Wir bitten um etwas Geduld!<br />

[Grussformel]<br />

Diskrepanz zwischen Schlüssel <strong>und</strong> Antrag<br />

[Anrede]<br />

Du hast die Zertifizierung Deinen PGP-Schlüssels 0xMMMMMMMM bei der UNI-CA<br />

beantragt.<br />

Leider stimmen die von Dir auf dem Zertifizierungsantrag gemachten Angaben<br />

nicht mit den uns vorliegenden Schlüsselinformationen überein oder sind<br />

unvollständig!<br />

(Eventuell ist Dir einfach ein Zahlen- oder Buchstabendreher unterlaufen,<br />

oder wir konnten Deine Handschrift nicht entziffern.)<br />

Eine Zertifizierung kann aber nur erfolgen, wenn die Angaben im<br />

Zertifizierungsantrag mit dem uns vorliegenden Schlüssel übereinstimmen.<br />

Du hast jedoch die Möglichkeit, einen neuen Zertifizierungsantrag für<br />

Deinen o.g. Schlüssel bei der UNI-CA zu stellen. Dieser Antrag kann von<br />

uns aber nur von Dir persönlich entgegengenommen werden; Du müßtest<br />

uns also gegebenenfalls zu unseren Sprechzeiten im Zertifizierungsbüro,<br />

....<br />

289


290 Anhang L. Standard-CA-Mails<br />

besuchen.<br />

[Grußformel]<br />

Zu kurzer Nutzerschlüssel<br />

[Anrede]<br />

Du hast die Zertifizierung Deinen PGP-Schlüssels 0xMMMMMMMM bei der UNI-CA<br />

beantragt.<br />

Dein Schlüssel ist jedoch fuer eine Zertifizierung durch die UNI-CA<br />

nicht lang genug.<br />

Unsere Zertifizierungspolicy schreibt eine Mindestlänge von ... Bits<br />

vor, damit ein Schlüssel zertifiziert werden kann. In diesem Punkt<br />

können, dürfen <strong>und</strong> wollen wir keine Ausnahmen machen.<br />

Wenn Du gerne eine von der UNI-CA zertifizierten PGP-Schlüssel haben<br />

möchtest, müßtest Du bitte einen neuen, ausreichend langen Key erzeugen<br />

<strong>und</strong> dann für diesen neuen Schlüssel einen Zertifizierungsantrag bei uns<br />

abgeben.<br />

[Grußformel]<br />

Fertiges Zertifikat<br />

[Anrede]<br />

nachstehend findest Du das von Dir beantragte Zertifikat der<br />

Low-Level UNI-CA für Deinen PGP-Public-Key sowie die aktuellen<br />

Zertifizierungsschlüssel der UNI-CA <strong>und</strong> der <strong>DFN</strong>-PCA. Diese Keys bzw.<br />

deren Fingerprint, KeyID <strong>und</strong> Länge solltest Du auch beim persönlichen<br />

Kontakt mit den Mitarbeitern der UNI-CA ausgehändigt bekommen haben.<br />

Ansonsten findest Du den Fingerprint der UNI-CA-Schlüssel nebst<br />

der übrigen zur Verifikation erforderlichen Angaben im aktuellen<br />

UNI-Vorlesungsverzeichnis <strong>und</strong> im Impressum der "UNI-News".<br />

Viel Spaß mit PGP!<br />

[Grußformel]<br />

[alternativ: Anschreiben <strong>und</strong> Schlüssel in separaten Mails, falls sie sich<br />

so leichter automatisch generieren lassen]<br />

Key for user ID: Michaela Musterfrau <br />

768-bit key, key ID MMMMMMM, created 1995/07/18


-----BEGIN PGP PUBLIC KEY BLOCK-----<br />

Version: 2.6.3in<br />

Comment: Zertifizierungsstelle der UNI<br />

mQBtAzBMM5kAAAEDAOA3PTMQIjcHMRtkYq+WP2uGftMTlnzOoNaaYdOYX37jCdUC<br />

ZRkbucVhA43XwXhewNipKsBZe+jzuSCR4znV1bMnkk38y2WhceDr8jo/lL0c7cf4<br />

...<br />

[zertifizierter Schlüssel]<br />

...<br />

4PiIIJvTzZYOnnDY3xUsb3VHIaM1jyTnqopZGDoCEODxcKcBVr76z4Fv5i/t/2gT<br />

sZ1IXsKyhF0QhWYHeC3xcmoDYmC1y0uyb4jX6pYzqX6d<br />

=F/5f<br />

-----END PGP PUBLIC KEY BLOCK-----<br />

Key for user ID: UNI CA, SoSe 1999 Certification Key<br />

(SIGN EXPIRE:1999-10-15)<br />

1024-bit key, key ID 06753A4D, created 1999/02/20<br />

Key is a SIGNature only key.<br />

-----BEGIN PGP PUBLIC KEY BLOCK-----<br />

[...]<br />

-----END PGP PUBLIC KEY BLOCK-----<br />

Key for user ID: <strong>DFN</strong>-User-CA, <strong>CERT</strong>IFICATION ONLY KEY (Low Level: 1997-1998)<br />

<br />

2048-bit key, key ID FE93EAB9, created 1997/04/16<br />

-----BEGIN PGP PUBLIC KEY BLOCK-----<br />

[...]<br />

-----END PGP PUBLIC KEY BLOCK-----<br />

Re-Zertifizierung eines Schlüssels<br />

[Anrede]<br />

Du hast vor einiger Zeit Deinen PGP-Key<br />

Type Bits/KeyID Date User ID<br />

pub 1024/00000000 1999/11/22 Erwin Mustermann <br />

von der UNI-CA zertifizieren lassen. (Das Zertifikat wurde Dir per<br />

E-Mail zugeschickt <strong>und</strong> auf den Keyservern des internationalen<br />

Keyserververb<strong>und</strong>es www.pgp.net abgelegt.)<br />

Der Schlüssel der UNI-CA, mit dem Dein Key von uns signiert wurde,<br />

läuft demnächst ab, d.h. er ist dann nicht mehr gültig. Mit Ablauf<br />

s<strong>einer</strong> Gültigkeitsdauer verfallen wegen Zeitablaufs auch die mit ihm<br />

ausgestellten Zertifikate.<br />

[alternativ:<br />

291


292 Anhang L. Standard-CA-Mails<br />

Du hast die Re-Zertifizierung dieses Schlüssels durch die UNI-CA beantragt]<br />

Die Re-Zertifizierung kann nach einfacherer Überprüfung als bei der<br />

Erst-Zertifizierung <strong>und</strong> diesmal *ohne* persönlichen Kontakt zwischen Dir<br />

<strong>und</strong> der UNI-CA erfolgen.<br />

Diese Mail dient dazu, zweierlei zu prüfen:<br />

1. Bist Du nach wie vor im Besitz des Private Keys, der zum o.g.<br />

Public-Key gehört?<br />

2. Bist Du noch immer unter der oben in D<strong>einer</strong> Key-UserID<br />

genannten Mailadresse erreichbar?<br />

Wenn Du diese Nachricht erhalten hast <strong>und</strong> sie entschlüsseln kannst,<br />

dann sind die beiden Bedingungen oben erfüllt. Und nur dann ist eine<br />

Re-Zertifizierung Deines PGP-Keys möglich.<br />

Bitte sende als Nachweis, daß Du diese Mail erhalten <strong>und</strong> entschlüsselt<br />

hast <strong>und</strong> daß Du eine Re-Zertifizierung Deines o.g. PGP-Schlüssels durch<br />

die UNI-CA wünschst, die folgende ’Challenge’ (eine "Herausforderung",<br />

die ein potentieller Angreifer nicht durch Raten herausbekommen kann)<br />

in <strong>einer</strong> MIT DEINEM o.g. SCHLÜSSEL PGP-SIGNIERTEN <strong>und</strong> an die UNI-CA<br />

VERSCHLÜSSELTEN Mail an die Mailadresse ’ca@UNI.DE’.<br />

(Der UNI-CA Verschlüsselungs-Key ist unten angefügt.)<br />

[.........] {Zufallszahl}<br />

Mit D<strong>einer</strong> entsprechenden Antwort-Mail erhält die UNI-CA einen<br />

Beleg dafür, daß Du offenbar unter der betreffenden Mailadresse erreichbar<br />

bist. (Adernfalls könntest Du die "Challenge" nicht kennen,<br />

da diese zufällig gewählt wurde <strong>und</strong> somit nach menschlichem Ermessen<br />

nicht erraten werden oder aus der verschlüsselten Mail von einem<br />

Angreifer ersehen werden kann.)<br />

Wenn Deine Antwort-Mail außerdem wie verlangt von Dir PGP-signiert ist,<br />

dann kann die UNI-CA daran sehen, daß Du wirklich im Besitz des<br />

privaten Schlüssels zum obigen öffentlichen Schlüssel bist. (Nur<br />

dann kannst Du nämlich eine PGP-Signatur erzeugt haben, die sich mit<br />

Deinem öffentlichen Schlüssel erfolgreich verifizieren läßt!)<br />

Diese Challenge dient zugleich auch als sog. "gemeinsames Geheimnis"<br />

("shared secret"), das nur Dir <strong>und</strong> der UNI-CA bekannt ist. Es ist<br />

Dein "Berechtigungsnachweis", falls Du per E-Mail den WIDERRUF der<br />

UNI-CA-Signatur unter diesem Key bzw. dieser Benutzerkennung Deines Keys<br />

beantragen möchtest <strong>und</strong> z.B. wegen des Verlustes Deines Secret Keys oder<br />

wegen <strong>einer</strong> vergessenen Passphrase für diesen Key nicht mehr in der<br />

Lage bist, selber eine Key Revocation oder zumindest eine PGP-signierte<br />

Widerrufs-Anforderung zu erzeugen <strong>und</strong> an die UNI-CA zu senden.<br />

Du solltest die o.g. Challenge also unbedingt vor unbefugtem Zugriff<br />

sicher verwahren - wer sie kennt, kann veranlassen, daß die UNI-CA


ihr Zertifikat für Deinen Schlüssel widerruft!<br />

[Grußformel]<br />

Anlage:<br />

Der Kommunikationsschlüssel der UNI-CA für 1999<br />

-----BEGIN PGP PUBLIC KEY BLOCK-----<br />

[...]<br />

-----END PGP PUBLIC KEY BLOCK-----<br />

293


294 Anhang L. Standard-CA-Mails


Anhang M<br />

Kontaktinformationen anderer Stellen<br />

SigG-Wurzelinstanz („Zuständige Behörde“)<br />

Die „Zuständige Behörde“ ist die oberste Zertifizierungsstelle (Root-CA), die das Signaturgesetz<br />

vorsieht. Ihr sind alle anderen SigG-Zertifizierungsstellen untergeordnet. Wahrgenommen wird diese<br />

Aufgabe gemäß § 3 des Gesetzes zur Digitalen Signatur von der<br />

Regulierungsbehörde für Telekommunikation <strong>und</strong> Post<br />

Referat Sicherheit in der Telekommunikation / Digitale Signatur<br />

Canisiusstraße 21<br />

D-55122 Mainz<br />

Ansprechpartner: Herr Schwemmer<br />

Telefon 0 61 31 / 18 - 22 10<br />

Telefax 0 61 31 / 18 - 56 18<br />

E-Mail: DigitaleSignatur@regtp.de<br />

http://www.regtp.de<br />

http://www.nrca-ds.de 1 = Verzeichnisdienst der SigG-Root-CA<br />

c’t pgpCA<br />

c’t pgpCA<br />

Ansprechpartner: Herr Luckhardt<br />

Verlag Heinz Heise GmbH & Co KG<br />

Postfach 61 04 07<br />

D-30604 Hannover<br />

Telefon: 05 11 / 53 52 - 5 13 (Hotline, nur 13–14 Uhr)<br />

Telefax: 05 11 / 53 52 - 4 17<br />

E-Mail: pgpCA@ct.heise.de<br />

http://www.heise.de/ct/pgpCA/<br />

1 National Root Certification Authority for Digital Signatures<br />

295


296 Anhang M. Kontaktinformationen anderer Stellen<br />

Datenschutzbeauftragter Schleswig-Holstein<br />

Der Landesbeauftragte für den Datenschutz<br />

Schleswig-Holstein<br />

Düsternbrooker Weg 82<br />

D-24105 Kiel<br />

Telefon: 04 31 / 9 88 - 12 00<br />

Telefax: 04 31 / 9 88 - 12 23<br />

E-Mail: LDSH@netzservice.de (PGP-Key 0x8BFDD679)<br />

http://www.schleswig-holstein.datenschutz.de<br />

Tip: Der Schleswig-Holsteinische Datenschutzbeauftragte ist eine gute Quelle für witzige Aufkleber<br />

pro Verschlüsselung <strong>und</strong> für entsprechende Faltblätter. Sie werden nach unserer Erfahrung auf<br />

Anfrage – bis zu gewissen Grenzen auch in größeren Stückzahlen – zugeschickt.<br />

B<strong>und</strong>esausfuhramt<br />

B<strong>und</strong>esausfuhramt (BAFA)<br />

Frankfurter Straße 29–35<br />

D-65760 Eschborn<br />

Postadresse:<br />

Postfach 5160<br />

D-65726 Eschborn<br />

Telefon: 0 61 96 / 9 08 - 0<br />

Telefax: 0 61 96 / 9 08 - 8 00<br />

http://www.b<strong>und</strong>esausfuhramt.de<br />

E-Mail: poststelle@b<strong>und</strong>esausfuhramt.de<br />

B<strong>und</strong>esamt für Sicherheit in der Informationstechnik (BSI)<br />

B<strong>und</strong>esamt für Sicherheit in der Informationstechnik<br />

Godesberger Allee 183<br />

D-53133 Bonn<br />

Postadresse:<br />

Postfach 20 03 63<br />

D-53133 Bonn<br />

Telefon: 02 28 / 95 82 - 0<br />

Telefax: 02 28 / 95 82 - 4 00<br />

http://www.bsi.de<br />

E-Mail: gshb@bsi.de für Fragen zum Gr<strong>und</strong>schutzhandbuch


Sonstige Zertifizierungsstellen<br />

Die Anschriften weiterer wichtiger Zertifizierungsstellen aus aller Welt können dem Global Trust<br />

Register (GTR) entnommen werden, das vom Team um Professor ROSS ANDERSON (Cambridge)<br />

herausgegeben wird. Das Verzeichnis nennt Namen, Anschriften, Online-Adressen <strong>und</strong> Schlüsselinformationen<br />

der Public-Keys von etlichen h<strong>und</strong>ert der wichtigsten Zertifizierungsstellen weltweit,<br />

von Computer Emergency Response Teams (<strong>CERT</strong>s) aus etlichen Ländern <strong>und</strong> von wichtigen Einzelpersonen<br />

aus dem Bereich der Computersicherheit. Die 1998er-Ausgabe des GTR ist zusätzlich<br />

auch online verfügbar [ACL 98, ACP99].<br />

297


298 Anhang M. Kontaktinformationen anderer Stellen


Abkürzungsverzeichnis<br />

3DES Triple-DES ( DES), symmetrisches Verschlüsselungsverfahren<br />

AGB Allgemeine Geschäftsbedingungen<br />

AMBIX<br />

<strong>DFN</strong>-Projekt „Aufnahme von Mail-Benutzern in das X.500-Directory“<br />

ASCII American Standard Code for Information Interchange<br />

ASN.1 Abstract Syntax Notation One, geräteunabhängiges Darstellungs- <strong>und</strong> Austauschformat<br />

für Daten<br />

BDSG B<strong>und</strong>esdatenschutzgesetz<br />

BGB Bürgerliches Gesetzbuch<br />

BGBl. B<strong>und</strong>esgesetzblatt<br />

BIND Berkeley Internet Name Domain, Server-Programm, das Internet-Namen in Internet-<br />

Adressen auflöst<br />

BIOS Basic Input/Output System<br />

BlnDSG Berliner Datenschutzgesetz<br />

BMWi B<strong>und</strong>esministerium für Wirtschaft <strong>und</strong> Technologie<br />

BSI B<strong>und</strong>esamt für Sicherheit in der Informationstechnik<br />

C Country, X.500-Attribut für ‘Land’<br />

CA Certification Authority (selten: Certificate Authority), Zertifizierungsstelle<br />

CCITT Comité Consultatif International Pour Télégraphique et Téléphonique, Organ der<br />

ITU<br />

CD-ROM Compact-Disc – Read-Only Media<br />

CEO Chief Executive Officer, Geschäftsführer<br />

<strong>CERT</strong> Computer Emergency Response Team, Computer-Notfallteam<br />

CESG Communications-Electronics Security Group, britische Regierungsstelle für Kryptographie<br />

<strong>und</strong> Kommunikationssicherheit<br />

CFS Cryptographic Filesystem, verschlüsselndes Dateisystem<br />

CGI Common Gateway Interface, Schnittstelle zum dynamischen Erzeugen von WWW-<br />

Seiten<br />

CN Common Name, X.500-Attribut für technische Namen<br />

CPS Certification Practice Statement, etwa<br />

„AGB“ <strong>einer</strong> CA<br />

CPU Central Processing Unit, Zentraleinheit (Mikroprozessor)<br />

299


300 Anhang M. Abkürzungsverzeichnis<br />

CRL Certificate Revocation List, Sperr-/Widerrufsliste, auf der ungültig gewordene Zertifikate<br />

geführt werden<br />

CSR Certificate Signing Request, Zertifizierungswunsch<br />

DER Distinguished Encoding Rules, ASN.1-Darstellungsformat<br />

DES Data Encryption Standard, symmetrischer Verschlüsselungsalgorithmus, US-<br />

Standard<br />

<strong>DFN</strong> Deutsches Forschungsnetz (Verein zur Förderung eines deutschen Forschungsnetzes<br />

e. V.)<br />

DH Diffie-Hellman, Public-Key-Verschlüsselungsverfahren (benannt nach seinen Erfindern<br />

Whitfield Diffie <strong>und</strong> Martin Hellman)<br />

DIHT Deutscher Industrie- <strong>und</strong> Handelstag<br />

DN Distinguished Name, eindeutiger Name gemäß X.500<br />

DNA Desoxyribonucleic Acid, Desoxyribonukleinsäure ( DNS); Träger der Erbinformationen<br />

DNS Domain Name Service, Internet-Namensdienst ( BIND); auch: Desoxyribonukleinsäure<br />

( DNA)<br />

DOS Disc Operating System, <strong>Betrieb</strong>ssystem<br />

DSA Digital Signature Algorithm, mathem. Verfahren zur Erzeugung digitaler Signaturen<br />

DSO Dynamic Shared Object, zur Laufzeit ladbare Programmmodule<br />

DSS Digital Signature Standard, US-Standard, der den Einsatz des DSA beschreibt<br />

E2S End-to-End Security, Ende-zu-Ende-Sicherheit<br />

EMA Elektromagnetische Abstrahlung<br />

EMRK Europäische Menschenrechtskonvention<br />

EU Europäische Union<br />

FAQ Frequently Asked Questions, Sammlung häufig gestellter Fragen <strong>und</strong> Antworten zu<br />

einem Thema<br />

FB Fachbereich<br />

FLOPS Floating-point Operations per Second, Fließkomma-Operationen pro Sek<strong>und</strong>e (Maß<br />

für die Rechengeschwindigkeit <strong>einer</strong> CPU)<br />

FOI Freedom of Information, Informationsfreiheit (freier Zugang zu [amtlichen] Informationen)<br />

FTP File Transfer Protocol, Internet-Standard zur Datei-Übertragung<br />

GB Gigabyte<br />

GMD GMD – Forschungszentrum Informationstechnik GmbH (ehem. Gesellschaft für Mathematik<br />

<strong>und</strong> Datenverarbeitung)<br />

GPL GNU General Public License, Lizenzbestimmungen, unter denen viele Open-Source-<br />

Programme vertrieben werden<br />

GSHB Gr<strong>und</strong>schutz-Handbuch des BSI<br />

GUI Graphical User Interface, graphische Benutzeroberfläche<br />

GUUG German Unix User Group, Deutsche Unix-Anwendervereinigung


HTML Hypertext Mark-up Language, Struktur- <strong>und</strong> Auszeichnungssprache für Hypertext-<br />

Dokumente<br />

HTTP Hypertext Transfer Protocol, Anwendungsprotokoll zur Übertragung von Hypertext-<br />

Dokumenten<br />

HTTPS Secure Hypertext Transfer Protocol, sicheres HTTP<br />

IAB Internet Architecture Board, Wahlgremium, Schlichtungsorgan <strong>und</strong> Beratergruppe<br />

der Internet Society, veröffentlicht die RFC-Dokumente<br />

ICE Interworking Public Key Certification Infrastructure for Europe, EU-Forschungsprojekt<br />

zum <strong>Aufbau</strong> <strong>einer</strong> Public-Key-Zertifizierungs-Infrastruktur in Europa<br />

ICE-CAR Interworking Public Key Certification Infrastructure for European Commerce, Administration<br />

and Research<br />

ID Identity/Identification Data, Identitätsdaten<br />

IDEA International Data Encryption Algorithm, symmetrisches Verschlüsselungsverfahren<br />

IE Internet Explorer ( MSIE)<br />

IEC International Engineering Consortium, internationales Standardisierungsgremium<br />

IESG Internet Engineering Steering Group, leitet gemeinsam mit dem<br />

IETF geführten Internet-Standards-Entwicklungsprozeß<br />

301<br />

IAB den von der<br />

IETF Internet Engineering Task Force, loser Zusammenschluß von Menschen, die das Internet<br />

voranbringen/weiterentwickeln (wollen)<br />

IP Internet Protocol, die gemeinsame „Sprache“, die alle Rechner des Internet miteinander<br />

„sprechen“<br />

IFA Internationale Funkausstellung Berlin<br />

IR Infrared, Infrarot<br />

ISO International Standardization Organization<br />

IT Information Technology, Informationstechnik<br />

ITU International Telecommunication Union, internationales Gremium der staatlichen<br />

Post- <strong>und</strong> Telekommunikationsministerien<br />

IVBB Informationsverb<strong>und</strong> Berlin–Bonn<br />

KD Konfigurationsdatei<br />

KRC Key Revocation Certificate, Schlüsselwiderruf<br />

L Locality, X.500-Attribut für ‘Ort’<br />

LCD Liquid Crystal Display, Flüssigkristall-Anzeige<br />

MacOS (Apple) Macintosh Operating System, <strong>Betrieb</strong>ssystem<br />

MB Megabyte<br />

MD5 Message Digest #5, kryptographisches Prüfsummenverfahren<br />

MHS Message Handling System, Standard zum Austausch elektronischer Nachrichten<br />

MIME Multi-purpose Internet Mail Extensions, Erweiterung des Internet-Mail-Formates<br />

MIPS Million Instructions per Second, Rechenoperationen pro Sek<strong>und</strong>e<br />

MS Microsoft, US-Soft- <strong>und</strong> -Hardware-Hersteller


302 Anhang M. Abkürzungsverzeichnis<br />

MSIE<br />

MS Internet Explorer, Software<br />

NAI Network Associates Inc., Computer- <strong>und</strong> Netzwerk-Sicherheitsunternehmen, hält die<br />

Rechte an PGP<br />

NFS Network File System, System zum Zugriff auf Dateisysteme zwischen vernetzten<br />

Computern<br />

NiCd Nickel-Cadmium, Akkumulatoren-Typ<br />

NiMH Nickel-Metallhydrid, Akkumulatoren-Typ<br />

NRW Nordrhein-Westfalen<br />

NSA National Security Agency, scherzhaft auch “No such agency”, US-Geheimdienst, für<br />

Kommunikationssicherheit <strong>und</strong> -überwachung zuständig<br />

NSC Netscape Communicator/Navigator, Software<br />

O<br />

X.500-Attribut für ‘Organisation’<br />

OCSP Online Certificate Status Protocol, Internet-Anwendungsprotokoll zur Abfrage eines<br />

Zertifikat-Gültigkeitsstatus’<br />

OE<br />

MS Outlook Express, Software<br />

OID Object Identifier, numerischer ASN.1-Objekt-Bezeichner<br />

OU Organizational Unit, X.500-Attribut für ‘Organisationseinheit’ (i.S.v. „Abteilung“,<br />

„Bereich“)<br />

PCMCIA Personal Computer Memory Card (Ĩnternational Association)<br />

PC Personal Computer<br />

PDF Portable Document Format, Format zum Dokumentenaustausch<br />

PEM Privacy Enhancement for Internet Electronic Mail, Internet-Standard für gesicherte<br />

E-Mail-Kommunikation<br />

PFX Personal Information Exchange, Austauschformat für vertrauliche persönliche Informationen,<br />

z.B. eigene geheime Schlüssel<br />

PGP “Pretty Good Privacy”, Verschlüsselungssoftware<br />

PIN persönliche Identifikationsnummer<br />

PKCS Public Key Cryptography Standard, technisches Dokument der Firma RSA Security<br />

Inc.<br />

PKI Public-Key-Infrastruktur (Infrastruktur zur Verteilung <strong>und</strong> Verwaltung öffentlicher<br />

Schlüssel <strong>und</strong> entsprechender Zertifikate)<br />

PKIX Internet Public-Key-Infrastruktur auf X.509-Basis<br />

PoP Proof of Possession, Besitznachweis<br />

PR Public Relations, öffentlichkeitsarbeit<br />

RA Registration Authority, Registrierungsstelle<br />

RC5 Ron’s Cipher #5, symmetrisches Verschlüsselungsverfahren von Ronald Rivest<br />

( RSA)<br />

RegTP Regulierungsbehörde für Telekommunikation <strong>und</strong> Post<br />

RFC Request for Comments, Dokument der<br />

RID Registered<br />

ID<br />

IETF


RIPE Réseaux IP Européens, europäische Vergabestelle für<br />

RNG Random Number Generator, Zufallszahlengenerator<br />

IP-(Netz-)Nummern<br />

RSA Public-Key-Verfahren, benannt nach seinen Erfindern Ron Rivest, Fiat Shamir <strong>und</strong><br />

Leonard Adleman (auch: von ihnen gegründete Firma)<br />

RZ Rechenzentrum<br />

S/MIME Secure/Multipurpose Internet Mail Extensions, Erweiterung des MIME-Formates<br />

um Sicherheitsfunktionalität<br />

SCSI Small Computer System Interface, Computer-Schnittstelle<br />

SGC Server-gated Cryptography, spezielle Form der Aktivierung von starker Verschlüsselung<br />

SHA Secure Hash Algorithm, kryptographisches Prüfsummenverfahren<br />

SigG Signaturgesetz<br />

SigV Signaturverordnung<br />

SPD Sozialdemokratische Partei Deutschlands<br />

SSL Secure Socket Layer, Sicherheitsprotokoll für den Datenaustausch via<br />

ST State, X.500-Attribut für ‘B<strong>und</strong>esstaat’<br />

STOA Scientific and Technological Options Assessment, technisches Beratungsgremium des<br />

EU-Parlaments<br />

TCFS Transparent Cryptographic Filesystem, ein für den Benutzer „transparent“, d.h. ohne<br />

aufzufallen verschlüsselndes Dateisystem ( CFS)<br />

TIE Trust Infrastructure for Europe, EU-Forschungsprojekt<br />

TKG Telekommunikationsgesetz<br />

TLS Transport Layer Security, Weiterentwicklung von SSL<br />

TTP Trusted Third Party, vertrauenswürdige(r) Dritte(r)<br />

TU Technische Universität<br />

TÜV Technischer Überwachungsverein<br />

UA User Agent (meist in Mail-UA), Anwender-Software<br />

UID User-<br />

ID<br />

URI Uniform Resource Identifier<br />

URL Uniform Resource Locator<br />

USB Universal Serial Bus, Computer-Schnittstelle<br />

UTC Universal Time Coordinates, Weltzeit<br />

VPN Virtual Private Network, sichere Verbindung mehrerer eigener Rechner über ein (teilweise)<br />

unsicheres Medium<br />

W3C World Wide Web Consortium, Standardisierungsgremium<br />

WWW World Wide Web<br />

XOR Exklusiv-Oder<br />

X.208<br />

ITU-T Empfehlung X.208 Spezifikation der “Abstract Syntax Notation One”<br />

IP<br />

303


304 Anhang M. Abkürzungsverzeichnis<br />

X.400<br />

X.500<br />

X.509<br />

ITU-T Empfehlung X.400 “Message Handling System”<br />

ITU-T Empfehlung X.500 “The Directory”<br />

ITU-T Empfehlung X.509 “The Directory – Authentication Framework”<br />

ZZG Zufallszahlen-Generator


Literaturverzeichnis<br />

[AAG<br />

99] ADAMS, CARLISLE, RICH ANKNEY, SLAVA GALPERIN, AMBARISH MALPANI <strong>und</strong><br />

MICHAEL MYERS: RFC 2560: X.509 Internet Public Key Infrastructure Online Certificate<br />

Status Protocol – OCSP, Juni 1999.<br />

[ABR97] ADEN, J.-U., FRITZ BAUSPIESS <strong>und</strong> R. RUDELOFF: Ende-zu-Ende-Sicherheit für<br />

elektronischen Dokumentenaustausch – Infrastruktur <strong>und</strong> Leitlinien für die B<strong>und</strong>esverwaltung,<br />

15. Juni 1997. Entwurf, Version 0.12.<br />

http://www.bsi.b<strong>und</strong>.de/aufgaben/projekte/sphinx/endeende.htm.<br />

[ACL<br />

98] ANDERSON, ROSS J., BRUNO CRISPO, JONG-HYEON LEE, CHARALAMPOS MANIFAVAS,<br />

VÁCLAV MATYÁŠ, JR <strong>und</strong> FABIEN A. P. PETITCOLAS (Hrsg.): The Global Trust Register for<br />

1998. Northgate Consultant, Wrestlingworth, Sandy, Bedfordshire SG19 2HA, UK, 1998. Die<br />

Online-Version des GTR von 1998 ist abrufbar unter<br />

http://www.cl.cam.ac.uk/Research/Security/Trust-Register/.<br />

[ACP99] ANDERSON, ROSS J., BRUNO CRISPO <strong>und</strong> FABIEN PETITCOLAS: The Global Trust Register.<br />

MIT Press, April 1999.<br />

[ACPZ00] ADAMS, CARLISLE, PAT CAIN, DENIS PINKAS <strong>und</strong> ROBERT ZUCCHERATO: Internet X.509<br />

Public Key Infrastructure Time Stamp Protocol (TSP), Januar 2000. Internet-Draft PKIX<br />

Working Group (work in progress) .<br />

[Adl98] ADLEMAN, LEONARD M.: Rechnen mit DNA. Spektrum der Wissenschaft, Seiten 70–77,<br />

November 1998.<br />

[AE97] ADEN, JÖRG-UDO <strong>und</strong> OLAF ERBER: Der <strong>Aufbau</strong> des Informationsverb<strong>und</strong>s Berlin-Bonn<br />

(IVBB) unter besonderer Berücksichtigung von Sicherheitsfragen. In BSI-Kongreß [BSI97],<br />

Seiten 137–150.<br />

[AIG98] Akteneinsichts- <strong>und</strong> Informationszugangsgesetz (AIG) Brandenburg, 10. März 1998. GVBl. I,<br />

S. 46, online unter<br />

http://www.brandenburg.de/land/lfdbbg/gesetze/aig.htm.<br />

[AK96] ANDERSON, ROSS J. <strong>und</strong> MARKUS KUHN: Tamper Resistance – a Cautionary Note. In The<br />

Second USENIX Workshop on Electronic Commerce Proceedings, Seiten 1–11, Oakland,<br />

California, 18.–21. November 1996. The USENIX Association.<br />

[ARH97] ABDUL-RAHMAN, ALFAREZ <strong>und</strong> STEPHEN HAILES: A Distributed Trust Model. In<br />

Proceedings ACM New Security Paradigms Workshop, Seiten 48–60, Langdale, Cumbria, UK,<br />

23.–26. September 1997.<br />

[AS98] ALMOND, JIM <strong>und</strong> DAVE SNELLING: UNICORE: Secure and Uniform Access to Distributed<br />

Resources via the World Wide Web, 13. Oktober 1998. Online unter<br />

http://www.fz-juelich.de/zam/RD/coop/unicore/whitepaper.ps.<br />

305


306 LITERATURVERZEICHNIS<br />

[ASZ96] ATKINS, DEREK, WILLIAM STALLINGS <strong>und</strong> PHILIP ZIMMERMANN: RFC 1991: PGP<br />

Message Exchange Format, August 1996.<br />

[AT99] ARSENAULT, ALFRED <strong>und</strong> SEAN TURNER: Internet X.509 Public Key Infrastructure – PKIX<br />

Roadmap, 22. Oktober 1999. Internet-Draft PKIX Working Group (work in progress)<br />

.<br />

[Bau96] BAUSPIESS, FRITZ: MailTrusT 1.1. Spezifikation, TeleTrusT e.V., 18. Dezember 1996. online<br />

unter http://www.darmstadt.gmd.de/mailtrust/MTTv1/mttspc11.pdf.<br />

[BAz98] Bekanntmachung zur digitalen Signatur nach dem Signaturgesetz <strong>und</strong> der Signaturverordnung<br />

vom 28. September 1998, 6. Oktober 1998. B<strong>und</strong>esanzeiger Nr. 186.<br />

[BBFK98] BARTHEL, JOCHEN, HANS-JOACHIM BRACZYK, GERHARD FUCHS <strong>und</strong> KORNELIA<br />

KONRAD: Vertrauensbildung aus soziologischer Sicht – das Beispiel Sicherheit in der<br />

Kommunikationstechnik. In MÜLLER, GÜNTER <strong>und</strong> KURT-HERMANN STAPF [MS98], Seiten<br />

119–147.<br />

[BBPT98] BAUKNECHT, KURT, ALFRED BÜLLESBACH, HARTMUT POHL <strong>und</strong> STEPHANIE TEUFEL<br />

(Hrsg.): Sicherheit in Informationssystemen. Proceedings der Fachtagung SIS ’98, Zürich,<br />

1998. vdf Hochschulverlag.<br />

[BC98] BAKER, FRED (IESG AND IETF CHAIR), <strong>und</strong> BRIAN CARPENTER (IAB CHAIR): Harmful<br />

changes to the Wassenaar Arrangement, 18. Dezember 1998. Mail an die IETF-Announce<br />

Mailingliste, online unter http://www.ietf.org/mail-archive/<br />

ietf-announce/Current/msg02603.html.<br />

[BDS90] B<strong>und</strong>esdatenschutzgesetz –BDSG– (Artikel 1 des Gesetzes zur Fortentwicklung der<br />

Datenverarbeitung <strong>und</strong> des Datenschutzes), 20. Dezember 1990. BGBl. I, S. 2954.<br />

[BF93] BORENSTEIN, NATHANIEL S. <strong>und</strong> NED FREED: RFC 1521: MIME (Multipurpose Internet<br />

Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet<br />

Message Bodies, September 1993.<br />

[BHK<br />

94] BIZER, JOHANN, VOLKER HAMMER, CHRISTEL KUMBRUCK, ULRICH PORDESCH,<br />

ALEXANDER ROSSNAGEL, HEINZ SARBINOWSKI, MICHAEL J. SCHNEIDER,<br />

PROJEKTGRUPPE VERFASSUNGSVERTRÄGLICHE TECHNIKGESTALTUNG E.V. (PROVET)<br />

<strong>und</strong> GESELLSCHAFT FÜR MATHEMATIK UND DATENVERARBEITUNG MBH (GMD): Die<br />

Simulationsstudie Rechtspflege. Eine neue Methode zur Technikgestaltung für Telekooperation.<br />

Edition Sigma, Berlin, 1994.<br />

[Bir98] BIRNBAUM, ROBERT: „Mir ist auch mal die Hand ausgerutscht“. Der Tagesspiegel, Seite 5,<br />

12. November 1998.<br />

[Bla93] BLAZE, MATT: A Cryptographic File System for Unix. In 1st ACM Conference on<br />

Communications and Computing Security, Seiten 158–165, Fairfax, VA, 1993.<br />

[BMW99a] BUNDESMINISTERIUM FÜR WIRTSCHAFT UND TECHNOLOGIE: Mosdorf gibt Startschuß für<br />

Projekt Wahlen im Internet, 3. März 1999. Pressemitteilung, online unter<br />

http://www.bmwi.de/presse/1999/0303prm2.html.<br />

[BMW99b] BUNDESMINISTERIUM FÜR WIRTSCHAFT UND TECHNOLOGIE: Initiative des<br />

B<strong>und</strong>esministeriums für Wirtschaft <strong>und</strong> Technologie für mehr Sicherheit in der<br />

Informationsgesellschaft findet breite Unterstützung, 1. März 1999. Pressemitteilung, online<br />

unter http://www.bmwi.de/presse/1999/0301prm1.html.<br />

[BP99] BÖTTGER, CHRISTIAN <strong>und</strong> NIELS POLLEM: Indianische Rauchzeichen. <strong>Aufbau</strong> <strong>einer</strong> Website<br />

mit Corporate Identity. iX Magazin für professionelle Informationstechnik, (3):112, 1999.


LITERATURVERZEICHNIS 307<br />

[BRD97] Begründung zur Verordnung zur digitalen Signatur, 8. Oktober 1997. Fassung des Beschlusses<br />

der B<strong>und</strong>esregierung, online unter<br />

http://www.iid.de/rahmen/sigv_begr.html.<br />

[BRR97] BIZER, JOHANN, JOACHIM RIESS <strong>und</strong> ALEXANDER ROSSNAGEL: Beschränkungen<br />

kryptographischer Verfahren sind verfassungswidrig, 14. Januar 1997. Online unter<br />

http://www.provet.org/kk/stenahme.htm.<br />

[Bru98] BRUNO, LEE: Banking On Trust. Data Communications, Seiten 43–47, 21. Mai 1998.<br />

[BS97] BAUSPIESS, FRITZ <strong>und</strong> ALFRED SCHEERHORN: Zertifikatswechsel <strong>und</strong> Schlüsselgültigkeiten.<br />

Datenschutz <strong>und</strong> Datensicherheit, 21(6):334–340, 1997.<br />

[BSI97] Mit Sicherheit in die Informationsgesellschaft. Tagungsband 5. Deutscher<br />

IT-Sicherheitskongreß des BSI 1997, Ingelheim, 1997. SecuMedia Verlag.<br />

[BSI98] BUNDESAMT FÜR SICHERHEIT IN DER INFORMATIONSTECHNIK: IT-Gr<strong>und</strong>schutzhandbuch<br />

1998. Maßnahmenempfehlung für den mittleren Schutzbedarf (CD-ROM), 1998.<br />

[Bun97] BUNDESAMT FÜR SICHERHEIT IN DER INFORMATIONSTECHNIK: Kulturelle<br />

Beherrschbarkeit digitaler Signaturen. SecuMedia-Verlag, Ingelheim, 1997.<br />

[Cam98a] CAMPHAUSEN, INGMAR: Entwurf <strong>und</strong> Implementierung eines generischen Verfahrens zum<br />

Abruf von Public-Key-Zertifikaten, 16. Juni 1998. Studienarbeit, TU Berlin.<br />

[Cam98b] CAMPHAUSEN, INGMAR: Erfahrungen beim <strong>Aufbau</strong> <strong>einer</strong> b<strong>und</strong>esweiten<br />

Zertifizierungsinfrastruktur für den Individual Network e. V. In BAUKNECHT, KURT et al.<br />

[BBPT98], Seiten 387–410. Online unter<br />

http://www.in-ca.in-berlin.de/doc/papers/SIS98/sis98.zip.<br />

[Cam98c] CAMPHAUSEN, INGMAR: Schlüsselzertifizierung mit PGP. Datenschutz <strong>und</strong> Datensicherheit,<br />

22(7):382–385, 1998. (Basiert in <strong>Teil</strong>en auf dem Vortrag zu [CD98]).<br />

[Cam99] CAMPHAUSEN, INGMAR: Entwurf eines Konzeptes für eine Zertifizierungsstelle für die Freie<br />

Universität Berlin. Diplomarbeit, Technische Universität Berlin, März 1999.<br />

http://userpage.fu-berlin.de/~ingmar/diplomarb/.<br />

[CD98] CAMPHAUSEN, INGMAR <strong>und</strong> LUTZ DONNERHACKE: Probleme beim PGP-Einsatz in<br />

Zertifizierungsstellen <strong>und</strong> deren Lösung mit PGP2.6.3in <strong>und</strong> OpenPGP. Seiten B1–B16,<br />

Hamburg, März 1998. Verein zur Förderung eines Deutschen Forschungsnetzes e.V. Online<br />

unter ftp:<br />

//ftp.fokus.gmd.de/pub/docs/platin/1998/camphausen-dfncert.ps.<br />

[CDFT98] CALLAS, JOHN, LUTZ DONNERHACKE, HAL FINNEY <strong>und</strong> RODNEY THAYER: RFC 2440:<br />

OpenPGP Message Format, November 1998.<br />

[CDFT99] CALLAS, JON, LUTZ DONNERHACKE, HAL FINNEY <strong>und</strong> RODNEY THAYER: OpenPGP<br />

Message Format, Dezember 1999. Internet-Draft Network Working Group (work in progress)<br />

.<br />

[CER94] <strong>DFN</strong>-<strong>CERT</strong>: Informationsbulletin Public-Key-Infrastruktur, 20. Dezember 1994.<br />

Informationsbulletin DIB-94:07, letzte Änderung: 15. März 1999,<br />

http://www.cert.dfn.de/infoserv/dib/dib-9407.html.<br />

[Cer98] <strong>CERT</strong>CO, INC.: Major financial institutions announce new company to provide businesses<br />

globally with a single electronic identity, 21. Oktober 1998. Pressemitteilung.<br />

[CES94] CROCKER, STEVE, DONALD EASTLAKE <strong>und</strong> JEFFREY SCHILLER: RFC 1750: Randomness<br />

Recommendations for Security, Dezember 1994.


308 LITERATURVERZEICHNIS<br />

[Con99] CONTINI, SCOTT: The Factorization of RSA-140. RSA Laboratories’ Bulletin, (10), 8. März<br />

1999. Online unter ftp://ftp.rsa.com/pub/pdfs/bulletn10.pdf bzw. Meldung<br />

unter http://www.rsa.com/rsalabs/html/rsa140.html).<br />

[CP] CATTANEO, G. <strong>und</strong> G. PERSIANO: Design and Implementation of a Transparent<br />

Cryptographic file system for Unix. http://mikonos.dia.unisa.it/tcfs.<br />

[CSA99] CHESKIN RESEARCH AND STUDIO ARCHETYPE/SAPIENT: eCommerce Trust Study, Januar<br />

1999. Online abrufbar unter http://www.studioarchetype.com/cheskin.<br />

[Cur98] CURRY, IAN: Key Update and the Complete Story on the Need for Two Key Pairs, Dezember<br />

1998. Whitepaper, Entrust Technologies. Online abrufbar unter<br />

http://www.entrust.com/resources/pdf/2keypairs10.pdf.<br />

[CZ97] Frankreich strebt Key Recovery an – Nachschlüssel für Internet-Mails gefordert. Computer<br />

Zeitung, (43):6, 23. Oktober 1997.<br />

[CZ98a] Banken vergeben digitale Signaturen. Konsortium ignoriert deutsches Gesetz. Computer<br />

Zeitung, (44):1, 29. Oktober 1998.<br />

[CZ98b] Britanniens Tony greift nach dem Key. Computer Zeitung, (19):1, 7. Mai 1998.<br />

[CZ98c] Cocom-Nachfolger: Einigung bei Krypto. Computer Zeitung, (50), 1998.<br />

[CZ98d] Datendiebe sitzen in eigenen Reihen. Computer Zeitung, (15):1, 9. April 1998.<br />

[CZ98e] Firmen klagen über E-Mail-Piraterie – Jede zehnte Nachricht wird mitgelesen. Computer<br />

Zeitung, (25):20, 18. Juni 1998.<br />

[CZ98f] Hacker verursachen Milliardenschäden. Mitarbeiter begehen 70 Prozent der Delikte.<br />

Computer Zeitung, (26):6, 25. Juni 1998.<br />

[CZ98g] Kanther bläst zum Krypto-Angriff. Computer Zeitung, (7):1, 1998.<br />

[CZ98h] Linux soll Leid lindern – NT ist zu unsicher. Computer Zeitung, (25):5, 18. Juni 1998.<br />

[CZ98i] Opera-Browser fügt 128-Bit-Slüssel zu. Computer Zeitung, (42):15, 15. Oktober 1998.<br />

[CZ98j] Opera kündigt sich für Linux an. Computer Zeitung, (28):11, 9. Juli 1998.<br />

[CZ98k] Sichere Daten – Neues Trust Center. Computer Zeitung, (8):16, 19. Februar 1998.<br />

[CZ98l] Sicherheit für Domains. Computer Zeitung, (37):5, 10. September 1998.<br />

[CZ98m] Sicherheit kein Thema. Computer Zeitung, (36):21, 3. September 1998.<br />

[CZ99a] Caligula reißt ins PGP-Netz Löcher. Computer Zeitung, Seite 1, 11. Februar 1999.<br />

[CZ99b] Kopenhagen führt erste Kontrollen durch: Krypto-Regelung bald auf EU-Basis. Computer<br />

Zeitung, (1+2):3, 14. Januar 1999.<br />

[DES77] Data Encryption Standard, Januar 1977. Federal Information Processing Standard (FIPS) PUB<br />

46, National Bureau of Standards, US Dept. of Commerce.<br />

[<strong>DFN</strong>97] Digitale Signaturen anerkannt, 20. November 1997. Presse-Information des <strong>DFN</strong>-Vereins,<br />

online unter http://www.dfn.de/presse/dfn-presse/pm97-11-20.html.<br />

[DFS96] DAMKER, HERBERT, HANNES FEDERRATH <strong>und</strong> MICHAEL J. SCHNEIDER:<br />

Maskerade-Angriffe im Internet. Eine Demonstration von Unsicherheit. Datenschutz <strong>und</strong><br />

Datensicherheit, (5):286–294, 1996.<br />

[DH76] DIFFIE, WHITFIELD <strong>und</strong> MARTIN E. HELLMAN: New Directions in Cryptography. IEEE<br />

Trans. on IT, IT-22(6):644–654, November 1976.


LITERATURVERZEICHNIS 309<br />

[Die98] DIEDRICH, OLIVER: Supercomputer aus Alpha-Rechnern: Linux-Cluster unter den 500<br />

schnellsten Supercomputern. c’t Magazin für Computertechnik, (14):50, 1998.<br />

[Dir98] DIREGGER, EKKEHARD: Kryptographie <strong>und</strong> Menschenrechte. Beschränkungen der<br />

Kryptographie im Lichte der EMRK [Europ. Menschenrechtskonvention]. Datenschutz <strong>und</strong><br />

Datensicherheit, 22(1):28–31, 1998.<br />

[DK98] DIEDRICH, OLIVER <strong>und</strong> JÜRGEN KURI: Zwerge mit exotischen Fre<strong>und</strong>en. Linux <strong>und</strong> OS/2 auf<br />

aktuellen Mittelklasse-Notebooks. c’t Magazin für Computertechnik, (12):182–189, 1998.<br />

[DLLC97] DESAUTELS, PHILIP, PETER LIPP, BRIAN LAMACCHIA <strong>und</strong> YANG-HUA CHU: DSig 1.0<br />

Signature Labels. Using PICS 1.1 Labels for Digital Signatures. In WWWJournal [WWW97],<br />

Seiten 29–48. Inzwischen W3C-Empfehlung PICS Signed Labels (DSig) 1.0 Specification vom<br />

27. Mai 1998, online http://www.w3.org/TR/REC-DSig-label/.<br />

[Dob96] DOBBERTIN, HANS: The Status of MD5 After a Recent Attack. CryptoBytes, 2(2), 1996.<br />

[Don96] DONNERHACKE, LUTZ: Medienbruch – Sicherung langfristiger Beweise, 1996. Online unter<br />

http://www.iks-jena.de/mitarb/lutz/logfile/.<br />

[Drä96] DRÄGER, DIETMAR: Vertrauliche Kommunikation zwischen Bürger <strong>und</strong> Verwaltung.<br />

Diplomarbeit, Technische Universität Berlin, November 1996. Online abrufbar unter<br />

http://ig.cs.tu-berlin.de/da/041/.<br />

[DSB92] BERLINER DATENSCHUTZBEAUFTRAGTER: Datenschutzrechtliche Anforderungen beim<br />

Einsatz von Laptops, 2. Auflage, 1992. Broschüre der Reihe „Materialien zum Datenschutz“.<br />

[DSB98] Garstka: Europäische Datenschutzrichtlinie ist zu beachten, 30. Oktober 1998.<br />

Pressemitteilung des Berliner Datenschutzbeauftragten, online unter<br />

http://www.datenschutz-berlin.de/aktuelle/presse98/presse15.htm.<br />

[Eas99] EASTLAKE, DONALD: RFC 2535: Domain Name System Security Extensions, März 1999.<br />

[Ebe98] EBELING, ADOLF: US-Geheimdienst fängt europaweit E-Mails ab. Heise Newsticker,<br />

9. Januar 1998.<br />

[Edw98] EDWARDS, MARK JOSEPH: nFast/KM improves Web performance. INFOWORLD,<br />

24. August 1998.<br />

[EFF98] Cracking DES. Secrets of Encryption Research, Wiretap Politics & Chip Design. O’Reilly &<br />

Associates, Juli 1998.<br />

Details zum DES-Crack der Electronic Frontier Fo<strong>und</strong>ation online unter<br />

http://www.eff.org/descracker/.<br />

[EFL<br />

99] ELLISON, CARL M., BILL FRANTZ, BUTLER LAMPSON, RON RIVEST, BRIAN THOMAS<br />

<strong>und</strong> TATU YLONEN: RFC 2693: SPKI Certificate Theory, September 1999.<br />

[Elk96] ELKINS, MICHAEL: RFC 2015: MIME Security with Pretty Good Privacy (PGP), Oktober<br />

1996.<br />

[Ell97] ELLIS, J. H.: The Story of Non-Secret Encryption, 17. Dezember 1997. Angeblich von 1987,<br />

online unter http://www.cesg.gov.uk/about/nsecret/ellis.htm.<br />

[Ell99] ELLISON, CARL M.: RFC 2692: SPKI Requirements, September 1999.<br />

[ENT99] Integration with Entrust/PKI Extends Adobe Acrobat 4.0 Digital Signature Technology to<br />

Protect Documents from Unauthorized Access or Alterations, 16. Februar 1999.<br />

Pressemitteilung Entrust Technologies, online unter<br />

http://www.entrust.com/news/1999/02_16_99_2.htm.


310 LITERATURVERZEICHNIS<br />

[EU99] RICHTLINIE 1999/93/EG DES EUROPÄISCHEN PARLAMENTES UND DES RATES über<br />

gemeinschaftliche Rahmenbedingungen für elektronische Signaturen, 13. Dezember 1999.<br />

Online unter ftp://ftp.pca.dfn.de/pub/pca/docs/SigG/Europe/l_<br />

01320000119de00120020.pdf.<br />

[EUK97] EUROPÄISCHE KOMMISSION: Ensuring security and trust in electronic communication –<br />

Towards a European framework for digital signatures and encryption, Oktober 1997.<br />

COM(97)503.<br />

[EUK98a] EU-KOMMISSION, GD XIII/03: Ausschreibung über Zertifizierungsdienste zur Unterstützung<br />

der elektronischen Kommunikation zwischen den Dienststellen der Kommission <strong>und</strong><br />

Rechtspersonen im Zusammenhang mit FuE-Programmen der Gemeinschaft, 25. August 1998.<br />

Online verfügbar via http://www.cordis.lu/fifth/src/docs.htm.<br />

[EUK98b] EUROPÄISCHE KOMMISSION: Proposal for a European Parliament and Council Directive on<br />

a common framework for electronic signatures, 13. Mai 1998. COM(1998)297final.<br />

[EUK99] RAT DER EUROPÄISCHEN KOMMISSION: Draft for a European Parliament and Council<br />

Directive on a common framework for electronic signatures, 25. Januar 1999. Online unter<br />

http://www.dud.de/dud/files/egsigrwd3.zip.<br />

[EUP95] Richtlinie 95/46/EG des Europäischen Parlaments <strong>und</strong> des Rates zum Schutz natürlicher<br />

Personen bei der Verarbeitung personenbezogener Daten <strong>und</strong> zum freien Datenverkehr,<br />

23. November 1995. Amtsblatt der Europäischen Gemeinschaften L 281, online unter<br />

http://www2.echo.lu/legal/de/datenschutz/datensch.html.<br />

[Fed97] FEDERRATH, HANNES: Schlüsselgenerierung in Trust Centern? Einseitig sicher ist nicht<br />

sicher genug. Datenschutz <strong>und</strong> Datensicherheit, 21(2):98–99, 1997.<br />

[FG98] FOX, DIRK <strong>und</strong> RÜDIGER GRIMM: Entwurf <strong>einer</strong> EU-Richtlinie zu Rahmenbedingungen<br />

„elektronischer Signaturen“. Datenschutz <strong>und</strong> Datensicherheit, 22(7):407–408, 1998.<br />

[FHK95] FOX, DIRK, PATRICK HORSTER <strong>und</strong> PETER KRAIBEEK: Gr<strong>und</strong>überlegungen zu Trust<br />

Centern. In HORSTER, PATRICK [Hor95], Seiten 1–10. Online unter<br />

http://www.secorvo.de/publikat/trustcen.htm.<br />

[FHPS99] FORD, WARWICK, RUSSELL HOUSLEY, TIM POLK <strong>und</strong> DAVID SOLO: RFC 2459: Internet<br />

X.509 Public Key Infrastructure – Certificate and CRL Profile, Januar 1999.<br />

[FKK96] FREIER, ALAN O., PHILIP KARLTON <strong>und</strong> PAUL C. KOCHER: The SSL Protocol Version 3.0,<br />

18. November 1996. , Online-Dokument<br />

http://home.netscape.com/eng/ssl3/.<br />

[For94] FORD, WARWICK: The Need for Separate Key Pairs for Symmetric Key Transfer and Digital<br />

Signature. Entrust Technologies, Februar 1994. Entrust Technologies White Paper, issue 1.0.<br />

[Fox95] FOX, DIRK: Automatische Autogramme. c’t Magazin für Computertechnik, Seiten 278–284,<br />

November 1995. http://www.heise.de/ct/95/10/278/.<br />

[Fox98] FOX, DIRK: Eine „PGP“-Policy für Unternehmen. Datenschutz <strong>und</strong> Datensicherheit,<br />

22(9):519–520, 1998.<br />

[Fri99] FRISCHEISEN, SIMON: Konzeption <strong>und</strong> prototypische Implementierung eines Systems für den<br />

organisatorischen <strong>Betrieb</strong> <strong>einer</strong> Zertifizierungs-Autorität (CA) am LRZ. Diplomarbeit, TU<br />

München, August 1999. http://wwwca.lrz-muenchen.de/dev/doc/<br />

Ausarbeitung/final/Ausarbeitung.ps.gz.


LITERATURVERZEICHNIS 311<br />

[FSV98] FALTIN, UTE, WOLFGANG SCHNEIDER <strong>und</strong> URSULA VIEBEG: SPHINX Pilotversuch<br />

Ende-zu-Ende-Sicherheit. Abschlußbericht Phase 1, GMD – Forschungszentrum<br />

Informationstechnik GmbH, Institut für Telekooperationstechnik, Darmstadt, 31. Dezember<br />

1998. Online abrufbar unter<br />

http://www.darmstadt.gmd.de/SPHINX/AB1PDF.zip.<br />

[FUB99] FREIE UNIVERSITÄT BERLIN, ZENTRALEINRICHTUNG FÜR DATENVERARBEITUNG<br />

(ZEDAT): ZEDAT in Zahlen, 1999. Stand: 1. Januar 1999.<br />

[Gat95] GATES, WILLIAM: The Road Ahead. Viking, 1995.<br />

[Geh98] GEHRING, ROBERT: Digitale Signaturen. Diplomarbeit, Technische Universität Berlin, März<br />

1998. Online (größtenteils) abrufbar unter<br />

http://ig.cs.tu-berlin.de/ap/rg/002/.<br />

[Ger00] GERLING, RAINER W.: Einführung von E-Mail <strong>und</strong> PGP in großen Unternehmen. In<br />

Proceedings 7. Workshop „Sicherheit in vernetzten Systemen“, Seiten H1–H14, Hamburg,<br />

März 2000. <strong>DFN</strong>-<strong>CERT</strong>.<br />

[Gil97] GILMORE, JOHN: Security for the Domain Name System. In WWWJournal [WWW97], Seiten<br />

175–180.<br />

[GNRS98] GRUFFERTY, SHARON, JACK NAGLE, GUIDO REINKE <strong>und</strong> PETER SYLVESTER: Report to the<br />

Commission of the European Communities DG XIII/Infosec for the EUROTRUST PKI pilot<br />

service. Techn. Report, Baltimore Technologies/PriceWaterhouse/edelweb, Juli 1998.<br />

[Gri95] GRIMM, RÜDIGER: Verfahren zur Sicherung der Vertraulichkeit, Authentizität <strong>und</strong> Integrität.<br />

Notwendigkeit von <strong>Zertifizierungsinstanz</strong>en. In NUTZERGRUPPE HOCHSCHULVERWALTUNG<br />

IM <strong>DFN</strong> <strong>und</strong> HIS GMBH (Hrsg.): <strong>DFN</strong>-Tagung 1995: „Sichere Datenübertragung in offenen<br />

Netzen“, Seiten 112–131, August 1995.<br />

[Gri97] GRIMM, RÜDIGER: Rechts- <strong>und</strong> Zahlungssicherheit im Internet. In KUBICEK, KLUMPP,<br />

MÜLLER, NEU <strong>und</strong> ROSSNAGEL (Hrsg.): Jahrbuch Telekommunikation <strong>und</strong> Gesellschaft 1997,<br />

Seiten 211–220. R.v. Decker’s Verlag, Heidelberg, 1997.<br />

[GS00] GIALOURIS, EVANGELOS <strong>und</strong> KLAUS SCHMEH: Schlüsselgewalt. iX Magazin für<br />

professionelle Informationstechnik, (2):93–96, 2000.<br />

[Gut98] GUTMANN, PETER: How to recover private keys for Microsoft Internet Explorer Internet<br />

Information Server, Outlook Express, and many others – or – Where do your encryption keys<br />

want to go today?, 20. Januar 1998. Mail an die Cypherpunks-Mailingliste; online unter<br />

http://www.cs.auckland.ac.nz/~pgut001/pubs/breakms.txt.<br />

[Hag96] HAGER, NICKY: Secret Power. New Zealand’s Role in the International Spy Network. Craig<br />

Potton Publishing, PO Box 555, Nelson, New Zealand, 1996. Reprint 1996; kann unter<br />

http://www.fas.org/irp/eprint/sp/index.html bestellt werden.<br />

[Hag97] HAGER, NICKY: Exposing the Global Surveillance System. CovertAction Quarterly, (59),<br />

Winter 1996/1997. Online unter http://caq.com/CAQ59GlobalSnoop.html;<br />

Auszug aus [Hag96].<br />

[Ham98] HAMMER, VOLKER: Wie nennen wir Infrastrukturen für die Schlüsselverwaltung?<br />

Datenschutz <strong>und</strong> Datensicherheit, 22(2):91–92, 1998. Online unter<br />

http://www.provet.org/iukdg/sis-sis.htm.<br />

[Hil98] HILTWEIN, JÖRG: Stellungnahme für den Individual Network e.V. zur Frage der Haftung <strong>einer</strong><br />

nicht-kommerziellen Zertifizierungsstelle. E-Mail an I. Camphausen, 21. März 1998.


312 LITERATURVERZEICHNIS<br />

[HJJS98] HILLYER, BRUCE K., MARKUS JAKOBSSON, ARI JUELS <strong>und</strong> ELIZABETH SHRIVER: A<br />

Practical Secure Physical Random Bit Generator. In 5th ACM Conference on Computer and<br />

Communications Security, Seiten 103–111, San Francisco, California, 3.–5. November 1998.<br />

ACM SIGSAC, ACM Press.<br />

[HK98] HALEVI, SHAI <strong>und</strong> HUGO KRAWCZYK: Public-key cryptography and password protocols. In<br />

5th ACM Conference on Computer and Communications Security, Seiten 122–131, San<br />

Francisco, California, 3.–5. November 1998. ACM SIGSAC, ACM Press.<br />

[Hoe97] HOEREN, THOMAS: Haftung des Vereins zur Förderung eines Deutschen<br />

Forschungsnetzes e.V. als Online-Diensteanbieter. Rechtsgutachten, <strong>DFN</strong>-Verein, Juli 1997.<br />

ftp://ftp.dfn.de/pub/net/www/data/berichte/ber83.ps.<br />

[Hor95] HORSTER, PATRICK (Hrsg.): Trust Center. Proceedings der Arbeitskonferenz Trust Center 95.<br />

Vieweg, Braunschweig, 1995.<br />

[Hor96] HOROWITZ, MARC: A PGP Public Key Server. Diplomarbeit, MIT, 24. Februar 1996. Online<br />

unter http://www.mit.edu/afs/net.mit.edu/project/pks/thesis/<br />

paper/thesis.html.<br />

[How97] HOWLAND, GARY: Fun and Games with PGP, 8. August 1997. Online unter<br />

http://www.hotlava.com/doc/fag-pgp/.<br />

[HP96] HUHN, MICHAELA <strong>und</strong> ANDREAS PFITZMANN: Technische Randbedingungen jeder<br />

Kryptoregulierung. Datenschutz <strong>und</strong> Datensicherheit, (1):23–26, 1996. Online unter<br />

http://www.zerberus.de/texte/ccc/ccc95/div/pfitz/krypto.htm.<br />

[Hub98] HUBERTZ, JOHANNES: Ins Allerheiligste. Projektbericht: AS400 sicher im Internet. iX<br />

Magazin für professionelle Informationstechnik, (1):104–107, 1998.<br />

[HW98] HORSTER, PATRICK <strong>und</strong> PETRA WOHLMACHER: Gr<strong>und</strong>überlegungen zur Gestaltung von<br />

Sicherheitsinfrastrukturen. In BAUKNECHT, KURT et al. [BBPT98], Seiten 139–168.<br />

[IN97] INDIVIDUAL NETWORK E.V.: Oberste Zertifizierungsstellen des Deutschen Forschungsnetzes<br />

<strong>und</strong> des Individual Network e.V. erkennen sich gegenseitig an, 5. November 1997.<br />

Presseerklärung, online unter<br />

http://www.in-ca.individual.net/presse/1997-11-05.in-ca.<br />

[inf96] INFINITY D A E M O N9@N E T C O M.C O M / R O U T E@I N F O N E X U S.C O M: PGP Attacks, Februar<br />

1996. v0.50 [beta], dokumentiert von Bill Unruh unter<br />

http://axion.physics.ubc.ca/pgp-attack.html.<br />

[ISO] ISO/IEC DIS 11770-3 Information technology – Security techniques – Key management – Part<br />

3: Mechanisms using asymmetric techniques.<br />

[ISO96] ISO/IEC 11770-1:1996 Information technology – Security techniques – Key management –<br />

Part 1: Framework, 1996.<br />

[ITU97] ITU-T Recommendation X.509 (1997:E) The Directory: Authentication Framework, Juni 1997.<br />

X.509v3 = ISO/IEC 9594-8. (Die wichtigen Struktur-Definitionen aus diesem Standard sind<br />

auch im Anhang von [FHPS99] wiedergegeben.).<br />

[IW99] Verschlüsselung inbegriffen. Information Week, (3):12, 4. Februar 1999.<br />

[JK99] JUN, BENJAMIN <strong>und</strong> PAUL KOCHER: The Intel Random Number Generator. Techn. Report,<br />

Intel Corporation, 22. April 1999. Cryptography Research, Inc. White Paper. Online unter<br />

http://www.cryptography.com/intelRNG.pdf.


LITERATURVERZEICHNIS 313<br />

[Jos99] Discours et interventions, 19. Januar 1999. Conférence de presse de Monsieur Lionel Jospin,<br />

Premier ministre, à l’issue du Comitée interministériel pour la société de l’information, Hôtel<br />

de Matignon. Online unter<br />

http://www.premier-ministre.gouv.fr/PM/D190199.HTM.<br />

[Kal93] KALISKI, JR., BURT: A Layman’s Guide to a Subset of ASN.1, BER, and DER. Technical<br />

Note, RSA Laboratories, 1. November 1993. Link auf<br />

http://www.rsasecuritu.com/rsalabs/pkcs/.<br />

[Kar99] KAREPIN, ROLF: Etliche Bugs werfen Haftungsfragen auf. Computer Zeitung, (3):4,<br />

21. Januar 1999.<br />

[Kel99] KELM, STEFAN: Signed in Germany? SigG-Zertifikate für’s Volk. Datenschutz <strong>und</strong><br />

Datensicherheit, 23(9), 1999.<br />

[Ken93a] KENT, STEPHEN T.: Internet Privacy Enhanced Mail. Comm. of the ACM, 36(8):48–60,<br />

August 1993.<br />

[Ken93b] KENT, STEVEN: Privacy Enhancement for Internet Electronic Mail: Part II: Certificate-Based<br />

Key Management, Februar 1993.<br />

[Kha97] KHARE, ROHIT: Web Security. A Matter of Trust. In WWWJournal [WWW97], Seite 2.<br />

Editorial.<br />

[KL96] KELM, STEFAN <strong>und</strong> BRITTA LIEDTKE: <strong>DFN</strong>-PCA – Sicherheit im Netz. Das Pilotprojekt<br />

„Policy Certification Authority“ – PCA. <strong>DFN</strong>-Mitteilungen, (40):12–16, März 1996. Online<br />

verfügbar unter http://www.rtb-nord.uni-hannover.de/dfn/<br />

mitteilungen/html/heft40/s11/s11.html.<br />

[KL99] KELM, STEFAN <strong>und</strong> BRITTA LIEDTKE: <strong>DFN</strong>-PCA Die World Wide Web Policy. Universität<br />

Hamburg, 4. Januar 1999. Zertifizierungsrichtlinien für das PCA-Projekt, Version 0.90<br />

(vorläufige Fassung), online unter<br />

http://www.pca.dfn.de/dfnpca/policy/wwwpolicy.html.<br />

[KPS95] KAUFMAN, CHARLIE, RADIA PERLMAN <strong>und</strong> MIKE SPECINER: Network Security. Prentice<br />

Hall, März 1995. Prentice Hall Series in Computer Networking and Distributed Systems, ISBN<br />

0-1306-1466-1.<br />

[KR97] KHARE, ROHIT <strong>und</strong> ADAM RIFKIN: Weaving A Web of Trust. In WWWJournal [WWW97],<br />

Seiten 77–112.<br />

[Kre99a] KREMPL, STEFAN: Konzerne im Visier. c’t Magazin für Computertechnik, (4):182–184, 1999.<br />

Interview mit Abhörspezialist Hans-Georg Wolf über Lauschangriffe von Geheimdiensten auf<br />

Unternehmen, http://www.heise.de/ct/99/04/182/.<br />

[Kre99b] KREMPL, STEFAN: Kryptographie <strong>und</strong> die Kraft des Faktischen. Der Tagesspiegel, Seite 30,<br />

24. Januar 1999.<br />

[KS94] KIM, GENE H. <strong>und</strong> EUGENE H. SPAFFORD: The Design and Implementation of Tripwire: A<br />

File System Integrity Checker. In Proceedings of the 2nd ACM Conference on Computer and<br />

Communication Security, 1994.<br />

[KS98] KELSEY, JOHN <strong>und</strong> BRUCE SCHNEIER: Cryptographic Support for Secure Logs on Untrusted<br />

Machines. In The Seventh USENIX Security Symposium Proceedings, Seiten 53–62. USENIX<br />

Press, Januar 1998.<br />

[Kuh98] KUHN, MARKUS: In die Röhre geguckt. Unerwünschte Abstrahlung erlaubt Lauschangriff. c’t<br />

Magazin für Computertechnik, (24):90–97, 1998.


314 LITERATURVERZEICHNIS<br />

[Lan98] LANGE, BARBARA: Zehn kleine Fingerlein. Login per Fingerabdruck: BioMouse GINA 2.6.<br />

iX Magazin für professionelle Informationstechnik, (10):58, 1998.<br />

[Lei99] LEICH, STEFFEN: Schlüsselkind. Freie PGP-Implementierung GnuPG. iX Magazin für<br />

professionelle Informationstechnik, (3):94–98, 1999.<br />

[Lic97] LICHT, RAINER: Sicherheitsmaßnahmen beim Ausscheiden von Mitarbeitern. KES Zeitschrift<br />

für Kommunikations- <strong>und</strong> EDV-Sicherheit, (2):15–19, 1997.<br />

[LIN] LINUX MAGAZIN. Herausgegeben von Rudolf Strobl. Linux-Magazin Verlag, München.<br />

Homepage: http://www.linux-magazin.de.<br />

[Lin98] LINDSEY, CHARLES H.: Critique of PGP Key Generation, 4. August 1998. Online<br />

http://www.cs.man.ac.uk/~chl/critique.html.<br />

[LM91] LAI, X. <strong>und</strong> J. L. MASSEY: A Proposal for a New Block Encryption Standard. In Proceedings<br />

of Eurocrypt ’90, Nr. 473 Reihe LNCS, Seiten 389–404. Springer, 1991.<br />

[Lom98] LOMONACO, JR., SAMUEL J.: A Quick Glance at Quantum Cryptography, 8. November 1998.<br />

Online unter http://xxx.lanl.gov/abs/quant-ph/9811056.<br />

[LR96] LAMPSON, BUTLER <strong>und</strong> RONALD L. RIVEST: SDSI – A Simple Distributed Security<br />

Infrastructure, 15. September 1996. Version 1.0<br />

http://theory.lcs.mit.edu/~rivest/sdsi10.ps, neuere Versionen: siehe<br />

SDIS-Homepage http://theory.lcs.mit.edu/~cis/sdsi.html.<br />

[Luc96] LUCKHARDT, NORBERT: Horchideen. Datenspionage durch kompromittierende Abstrahlung.<br />

c’t Magazin für Computertechnik, (6):70–73, 1996.<br />

[Luc97] LUCKHARDT, NORBERT: Schlüsselringen. Auf der IFA geht die c’t-Krypto-Kampagne in die<br />

zweite R<strong>und</strong>e. c’t Magazin für Computertechnik, (9):276, 1997.<br />

[Luc98] LUCKHARDT, NORBERT: Nächste R<strong>und</strong>e. Die c’t-Krypto-Kampagne geht weiter. c’t Magazin<br />

für Computertechnik, (6):32–33, 1998. http://www.heise.de/ct/98/06/032/.<br />

[Luc99a] LUCKHARDT, NORBERT: c’t-Krypto-Kampagne. Die Zertifizierungsaktion geht ins dritte Jahr.<br />

c’t Magazin für Computertechnik, (6):99, 15. März 1999.<br />

http://www.heise.de/ct/99/06/099/.<br />

[Luc99b] LUCKHARDT, NORBERT: Digitale Signatur: Jetzt gilt’s. Heise Newsticker, 26. Januar 1999.<br />

http://www.heise.de/newsticker/data/nl-26.01.99-000/.<br />

[Mac97] MACHEFSKY, IRA: A First Look at Cryptographic Accelerators. Techn. Report, Giga<br />

Information Group, 29. Dezember 1997.<br />

[Mac98] MACHEFSKY, IRA: A Total Economic Impact Analysis of Two PKI Vendors: Entrust and<br />

VeriSign. Techn. Report, Giga Information Group, Norwell, MA, USA, September 1998.<br />

Online abrufbar unter<br />

http://www.entrust.com/resources/pdf/pki_tei_report.pdf.<br />

Das „Gegenstück“ der Firma Verisign findet man unter http://www.verisign.com/<br />

whitepaper/enterprise/difference/introduction.html.<br />

[Mar99] MARTIUS, KAI: Nachschlag. Domain Name System gegen Mißbrauch schützen. iX Magazin<br />

für professionelle Informationstechnik, (2):108–113, 1999.<br />

[Mau97] MAURIELLO, ERMELINDO: TCFS: Transparent Cryptographic File System. Linux Journal,<br />

Seiten 64–68, August 1997.<br />

[Med99] MEDOSCH, ARMIN: Überraschende Wendung in UK-Kryptopolitik. Telepolis, 7. März 1999.<br />

http://www.heise.de/tp/deutsch/inhalt/te/1821/1.html.


LITERATURVERZEICHNIS 315<br />

[Mee99] MEEKS, BROCK N.: The Privacy Hoax. Comm. of the ACM, 42(2):17–19, Februar 1999.<br />

[Moe98] MOECHEL, ERICH: Kryptoexportkontrolle: Protestgruppen organisieren sich. Telepolis,<br />

8. Dezember 1998.<br />

http://www.heise.de/tp/deutsch/inhalt/te/1708/1.html.<br />

[Moe99] MOECHEL, ERICH: Virenattacken im Netz wirken wie biologische Waffen. Interview mit Bill<br />

Larson, Network Associates (NAI). Computer Zeitung, (9):25, 4. März 1999.<br />

[MoP98] Brief <strong>und</strong> Siegel per Chip. B<strong>und</strong>esdruckerei entwickelt Internet-Codesystem. Berliner<br />

Morgenpost, Seite 11, 16. August 1998.<br />

[Mos97] MOSES, TIM: Building a public key infrastructure – in-source or out-source?, 1997.<br />

Whitepaper, Entrust Technologies.<br />

[MR96] MILLER, JAMES <strong>und</strong> PAUL RESNICK: PICS: Internet Access Control Without Censorship.<br />

Comm. of the ACM, 39(10):87–93, Oktober 1996.<br />

[MR98] MEYER, CARSTEN <strong>und</strong> JÜRGEN RINK: Das große Messen. c’t Magazin für Computertechnik,<br />

(15):114–118, 1998.<br />

[MS98] MÜLLER, GÜNTER <strong>und</strong> KURT-HERMANN STAPF (Hrsg.): Mehrseitige Sicherheit in der<br />

Kommunikationstechnik: Band 2. Erwartung, Akzeptanz, Nutzung. Addison-Wesley, Bonn,<br />

Reading Massachusetts, 1998.<br />

[MW97] MRAZ, VIKTOR <strong>und</strong> KLAUS WEIDNER: Falsch verb<strong>und</strong>en. Gefahr durch DNS-Spoofing. c’t<br />

Magazin für Computertechnik, (10):286–290, 1997.<br />

http://www.heise.de/ct/97/10/286/.<br />

[NC98] Zertifizierte Sicherheit zahlt sich aus. Network Computing, Seiten 50–51, 14. Dezember 1998.<br />

[Neh97] NEHL, ROLAND: Schlüsselgenerierung in Trust Centern? Vertrauen durch Trust Center.<br />

Datenschutz <strong>und</strong> Datensicherheit, 21(2):100–101, 1997.<br />

[Neu99] NEUMANN, PETER G.: Robust Open-Source Software. Comm. of the ACM, 42(2):128,<br />

Februar 1999.<br />

[ötv99] E-Mail lockt Spione. das ötv-magazin, (1–2):24, 1999.<br />

[PCAa] <strong>DFN</strong>-PCA: Leitfaden zur CA-Zertifizierung. Online unter<br />

http://www.pca.dfn.de/dfnpca/certify/pgp/instca.html.<br />

[PCAb] <strong>DFN</strong>-PCA: <strong>Teil</strong>nehmer-Erklärung zwischen <strong>DFN</strong>-PCA <strong>und</strong> CA. Online unter<br />

http://www.pca.dfn.de/dfnpca/certify/ca.html.<br />

[Per98] PERLUSZ, STEFANO: Survey on Trust Enhancing Products in the Security Domain,<br />

27. Oktober 1998. http://ntsta.jrc.it/dsa/surviv.htm.<br />

[Pet97] PETZEL, ERHARD: Sichere Authentisierung. KES, Zeitschrift für Kommunikations- <strong>und</strong><br />

EDV-Sicherheit, (1):50–56, 1997.<br />

[Pos00] Offizieller Startschuss für das Trustcenter – Deutsche Post Signtrust erhält<br />

Genehmigungsurk<strong>und</strong>e, 24. Februar 2000. Pressemitteilung der Deutschen Post AG,<br />

http://www.deutschepost.de/postag/news/new0002/ne000206.html.<br />

[Rab70] RABBOW, ARNOLD: dtv-Lexikon politischer Symbole A–Z. Deutscher Taschenbuch Verlag,<br />

München, 1970.<br />

[Rai98] RAISON, ANDRÉ: Schlüsselfertig. Kryptographie-Lösungen für Intra- <strong>und</strong> Internet. iX<br />

Magazin für professionelle Informationstechnik, (12):120–123, 1998.


316 LITERATURVERZEICHNIS<br />

[Rec98] RECKINGER, GABRIELE: Haftpflichtversicherungen müssen auf Internet-Risiken hin angepaßt<br />

werden. Computer Zeitung, (42):4, 15. Oktober 1998.<br />

[Rei97a] REIF, HOLGER: Herr der Zertifikate. iX Magazin für professionelle Informationstechnik,<br />

(4):176–183, 1997. http://www.heise.de/ix/artikel/1997/04/176/.<br />

[Rei97b] REISEN, ANDRE: Anforderungen an sichere Trustcenter vor dem Hintergr<strong>und</strong> des<br />

Signaturgesetzes. In BSI-Kongreß [BSI97], Seiten 27–44.<br />

[Rei97c] REISEN, ANDRE: Signaturgesetz <strong>und</strong> -verordnung: Die ersten Schritte, 1997.<br />

http://www.bsi.b<strong>und</strong>.de/pbdigsig/download/siswv.pdf.<br />

[Rei98] REIF, HOLGER: Winnetou <strong>und</strong> Old SSLeay. iX Magazin für professionelle<br />

Informationstechnik, (7):128–132, 1998.<br />

http://www.heise.de/ix/artikel/1998/07/128/.<br />

[Ric97] RICHARDSON, MATTHEW: PGP Digital Timestamping Service, 29. April 1997. Online unter<br />

http://www.itconsult.co.uk/stamper/stampinf.htm.<br />

[Rin97] RINK, JÜRGEN: Alice im W<strong>und</strong>erland. Quantenrechner: Auf dem Sprung zur Realität? c’t<br />

Magazin für Computertechnik, (3):110–116, 1997.<br />

[Roß97] ROSSNAGEL, ALEXANDER: Das Signaturgesetz. Eine kritische Bewertung des Gesetzentwurfs<br />

der B<strong>und</strong>esregierung. Datenschutz <strong>und</strong> Datensicherheit, 21(2):75–81, 1997.<br />

[Roe98] ROESSLER, THOMAS: PGP – „Kryptographie fürs Volk“. Datenschutz <strong>und</strong> Datensicherheit,<br />

22(7):377–381, 1998.<br />

[Rot98a] ROTH, HARALD: Exportkontrollen für Verschlüsselungsprodukte. Datenschutz <strong>und</strong><br />

Datensicherheit, 22(1):8–13, 1998.<br />

[Rot98b] ROTH, HARALD: Exportkontrollen für Verschlüsselungsprodukte (<strong>Teil</strong> II). Datenschutz <strong>und</strong><br />

Datensicherheit, 22(2):81–85, 1998.<br />

[RS97a] REITER, MICHAEL K. <strong>und</strong> STUART G. STUBBLEBINE: Path Independence for Authentication<br />

in Large-Scale Systems. In Proceedings of the 4th ACM Conference on Computer and<br />

Communications Security, April 1997.<br />

[RS97b] REITER, MICHAEL K. <strong>und</strong> STUART G. STUBBLEBINE: Toward Acceptable Metrics of<br />

Authentication. In Proceedings New Security Paradigms Workshop, Seiten 48–60, Langdale,<br />

Cumbria, UK, 23.–26. September 1997. ACM.<br />

[RSA78] RIVEST, RONALD L., ADI SHAMIR <strong>und</strong> LEONARD M. ADLEMAN: A Method for obtaining<br />

Digital Signatures and Public Key Cryptosystems. Comm. of the ACM, 21(2):120–126,<br />

Februar 1978.<br />

[RTP97] REGULIERUNGSBEHÖRDE FÜR TELEKOMMUNIKATION UND POST: ENTWURF<br />

Maßnahmenkatalog für digitale Signaturen – auf Gr<strong>und</strong>lage von SigG <strong>und</strong> SigV –, 1997. Nach<br />

Angaben des B<strong>und</strong>esamtes für Sicherheit in der Informationstechnik, Stand 18.11.1997,<br />

Version 1.0, online unter http:<br />

//www.bsi.b<strong>und</strong>.de/aufgaben/projekte/pbdigsig/download/kat.pdf.<br />

[RTP98] REGULIERUNGSBEHÖRDE FÜR TELEKOMMUNIKATION UND POST: Maßnahmenkatalog für<br />

Zertifizierungsstellen nach dem Signaturgesetz, 1998. Nach Angaben des B<strong>und</strong>esamtes für<br />

Sicherheit in der Informationstechnik, Stand: 15. Juli 1998, online unter http:<br />

//www.regtp.de/imperia/md/content/tech_reg_t/digisign/6.pdf.<br />

[Rud97] RUDLOFF, DIRK: Sichere elektronische Post für Behörden in NRW. In BSI-Kongreß [BSI97],<br />

Seiten 461–472.


LITERATURVERZEICHNIS 317<br />

[Rue95] RUEPPEL, RAINER A.: Revocation and Revocation Certificates. In Proceedings of the EDI<br />

Trusted Third Party Workshop, Barcelona, Februar 1995.<br />

[Sch96] SCHNEIER, BRUCE: Applied Cryptography. Wiley, 2. Auflage, 1996.<br />

[Sch98] SCHMIDT, JÜRGEN: Die Geheimniskrämer. Verschlüsselnde Dateisysteme für Linux. c’t<br />

Magazin für Computertechnik, (19):228–230, 1998.<br />

[Sch99] SCHRÖDER, BURKHARD: Frankreich verschlüsselt. Der Tagesspiegel, Seite 30, 24. Januar<br />

1999.<br />

[Sen98] SENDEREK, RALF: Die Sicherheit des geheimen Schlüssels, August 1998. Online-Dokument<br />

http://www-users.informatik.rwth-aachen.de/~senderek/certify/<br />

schutz.html.<br />

[SH98a] SCHULZKI-HADDOUTI, CHRISTIANE: Mehr Sicherheit mit „Digitalen Ausweisen“. Der<br />

Tagesspiegel, Seite 30, 26. Juli 1998.<br />

[SH98b] SCHULZKI-HADDOUTI, CHRISTIANE: Überwachungskontinent Europa. EU-Pläne für<br />

Überwachungsmaßnahmen enthüllt. c’t Magazin für Computertechnik, (25):48–49, 1998.<br />

http://www.heise.de/ct/98/25/048/.<br />

[SH98c] SCHULZKI-HADDOUTI, CHRISTIANE: Umrüstung. Kryptographie gilt weiterhin als Waffe. c’t<br />

Magazin für Computertechnik, (26):52–53, 1998.<br />

http://www.heise.de/ct/98/26/052/.<br />

[SH99] SCHULZKI-HADDOUTI, CHRISTIANE: Scheideweg. BSI soll ‘bürgernahe Beratungsstelle’<br />

werden. c’t Magazin für Computertechnik, (5):216–218, 1999.<br />

[Sho97] SHOR, PETER W.: Polynomial-time Algorithms for Prime Factorization and Discrete<br />

Logarithms on a Quantum Computer. SIAM Journal on Computing, 26:1484ff, 1997. Online<br />

unter http://xxx.lanl.gov/abs/quant-ph/9508027.<br />

[Sig97a] Gesetz zur digitalen Signatur (Signaturgesetz – SigG), 22. Juli 1997. Artikel 3 des Gesetz zur<br />

Regelung der Rahmenbedingungen für Informations- <strong>und</strong> Kommunikationsdienste<br />

(Informations- <strong>und</strong> Kommunikationsdienste-Gesetz – IuKDG), BGBl. I S. 1870, 1872, online<br />

unter http://www.iid.de/rahmen/iukdgbt.html.<br />

[Sig97b] Verordnung zur digitalen Signatur (Signaturverordnung – SigV), 22. Oktober 1997. BGBl. I<br />

S. 2498, online unter http://www.iid.de/rahmen/sigv.html, Begündung dazu<br />

unter http://www.iid.de/rahmen/sigv_begr.html (siehe [BRD97]).<br />

[Sim99] SIMPSON, SAM: PGP DH vs. RSA FAQ, 20. November 1999. Version 1.5,<br />

http://www.scramdisk.clara.net/pgpfaq.html.<br />

[Spa99] SPANIER, KURT: LDAP <strong>und</strong> die Ablage von PGP-Schlüsseln im X.500-Directory. In<br />

Proceedings 6. Workshop „Sicherheit in vernetzten Systemen“, Seiten H1–H14, Hamburg,<br />

März 1999. <strong>DFN</strong>-<strong>CERT</strong>. Online unter<br />

ftp://ftp-ambix.directory.dfn.de/ambix/Cert-6/LDAP-PGP.ps.gz.<br />

[SPI96] Ein Schlüssel für den Staat. Der Spiegel, (52):16, 1996.<br />

[SPI98] Geheime Botschaften im Netz. Der Spiegel, (8):22–24, 1998.<br />

[Sta94] STALLINGS, WILLIAM: Network and Internetwork Security. Prentice Hall, 1994.<br />

[StW97] European Union and FBI Launch Global Surveillance System. Report, Statewatch, PO Box<br />

1516, London N16 0EW, UK, Februar 1997. Online unter http:<br />

//www.privacy.org/pi/activities/tapping/statewatch_tap_297.html.


318 LITERATURVERZEICHNIS<br />

[SU97] SCHMEH, KLAUS <strong>und</strong> HUBERT UEBELACKER: Zufallstreffer. Kryptographisch sichere<br />

Zufallsgeneratoren. c’t Magazin für Computertechnik, (14):220–223, 1997.<br />

[SW] STUMM, FRANK-STEFAN <strong>und</strong> FRANK WEBER: Maßnahmenempfehlungen: Infrastruktur für<br />

Zertifizierungsstellen (SigG/SigV). B<strong>und</strong>esamt für Sicherheit in der Informationstechnik,<br />

online unter http:<br />

//www.bsi.de/aufgaben/projekte/pbdigsig/download/tcinfra.pdf.<br />

[SW97] SCHOLVIN-WULFF, BARBARA: Sicherheitsexperten streiten um einen Mail-Standard.<br />

Computer Zeitung, (51+52):9, 18. Dezember 1997.<br />

[Tim97] TIMM, BIRTE: Signaturgesetz <strong>und</strong> Haftungsrecht. Datenschutz <strong>und</strong> Datensicherheit,<br />

21(9):525–528, 1997.<br />

[Tsp99a] Regulierer gibt digitale Unterschrift frei. Der Tagesspiegel, Seite 18, 26. Januar 1999.<br />

[Tsp99b] Verbraucherschützer raten zur Verschlüsselung. Der Tagesspiegel, Seite 30, 12. Februar 1999.<br />

[Ull60] ULLRICH, KARL-HEINZ: Das Goldene Buch der Zitate. SÜD-WEST Verlags- <strong>und</strong><br />

Vertriebs-GmbH, München, 1960.<br />

[USC99] ARBEITSGRUPPE USCA DES RECHENZENTRUMS DER UNIVERSITÄT STUTTGART:<br />

Universität Stuttgart Certification Authority: Certification Policy, 16. März 1999. Version<br />

1.1.1, online unter http://ca.uni-stuttgart.de/POLICY/.<br />

[Ver97] VERISIGN, INC.: VERISIGN <strong>CERT</strong>IFICATION PRACTICE STATEMENT IN SUPPORT OF<br />

VERISIGN’S PUBLIC <strong>CERT</strong>IFICATION SERVICES CLASS 1–3 DIGITAL IDs /<br />

<strong>CERT</strong>IFICATES. Mountain View, CA, 30. Mai 1997. Version 1.2, ISBN 0-9653555-2-7,<br />

online unter http://www.verisign.com/repository/CPS1.2/.<br />

[Wal97] WALZ, STEFAN: Ist „Privatheit“ im Multimedia-Zeitalter noch zu retten? In BSI [Bun97],<br />

Seiten 25–30.<br />

[Wie98] WIENER, MICHAEL J.: Performance Comparison of Public-Key Cryptosystems. CryptoBytes,<br />

4(1):1,3–5, 1998.<br />

[Wil97] WILLIAMS, RANDALL T.: The passphrase FAQ, version 1.04, 23. März 1997. Online abrufbar<br />

unter http://www.stack.nl/~galactus/remailers/passphrase-faq.html.<br />

[Wil98] WILZOPOLSKI, AXEL: Power im Pinguin-Land. MkLinux <strong>und</strong> Linux-PMac auf Power<br />

Macintosh. iX Magazin für professionelle Informationstechnik, (5):96–98, 1998. Online unter<br />

http://www.heise.de/ix/artikel/1997/05/096/.<br />

[Wol98] WOLF, HANS-GEORG: Kompromittierende Emissionen, 29. Dezember 1998. Vortrag auf dem<br />

Chaos Computer Congress 1998, Berlin.<br />

[Wri98a] WRIGHT, STEVE: An appraisal of technologies for political control. Report für das Europ.<br />

Parlament, Directorate General for Research, Omega Fo<strong>und</strong>ation, Manchester, 6. Januar 1998.<br />

PE 166 499, online unter<br />

http://www.heise.de/tp/deutsch/inhalte/te/1393/s1.html.<br />

[Wri98b] WRIGHT, STEVE: An appraisal of technologies for political control. STOA Interim Study,<br />

Executive Summary, Omega Fo<strong>und</strong>ation, Manchester, September 1998. Online unter<br />

http://www.europarl.eu.int/dg4/stoa/en/publi/166499/execsum.htm.<br />

[WWW97] Web Security. A Matter of Trust. The World Wide Web Journal. O’Reilly, Sommer 1997.<br />

[Zie97] ZIESCHANG, THILO: Sicherheitsrisiken bei der Schlüsselzertifizierung. Datenschutz <strong>und</strong><br />

Datensicherheit, 21(6):341–343, 1997.


LITERATURVERZEICHNIS 319<br />

[Zie98] ZIESCHANG, THILO: Fisch <strong>und</strong> Chips. iX Magazin für professionelle Informationstechnik,<br />

(9):48–52, 1998.<br />

[Zim95] ZIMMERMANN, PHILIP: The Official PGP User’s Guide. MIT Press, 1995. Deutsche<br />

Übersetzung von Abel Deuring <strong>und</strong> Christopher Creutzig, erschienen im Verlag Art<br />

d’Ameublement, 4. Aufl., Bielefeld, 1999, ISBN 3-9802182-9-5, Online-Fassung unter<br />

http://www.foebud.org/pgp/.<br />

[Zoo54] ZOOZMANN, RICHARD: Zitatenschatz der Weltliteratur. Verlag Praktisches Wissen, Berlin, 8.<br />

Auflage, 1954.<br />

[Zsa99] ZSAKO, JANOS: RFC 2726: PGP authentication for RIPE database updates, Dezember 1999.


320 LITERATURVERZEICHNIS


Informationen zur <strong>DFN</strong>-PCA<br />

Kontakt<br />

<strong>DFN</strong> Policy Certification Authority (<strong>DFN</strong>-PCA)<br />

Universität Hamburg<br />

FB Informatik – RZ<br />

Vogt-Kölln-Straße 30<br />

D-22527 Hamburg<br />

Telefon: 0 40 / 4 28 83 - 22 62<br />

Telefax: 0 40 / 4 28 83 - 22 41<br />

E-Mail: dfnpca@pca.dfn.de (PGP-Key 0xE77ADB85, s. nächste Seite)<br />

http://www.pca.dfn.de/dfnpca/<br />

Detaillierte Informationen zu allen aktuellen Zertifikaten <strong>und</strong> Widerrufslisten der <strong>DFN</strong>-PCA erhalten<br />

Sie unter:<br />

http://www.pca.dfn.de/dfnpca/keys.html<br />

ftp://ftp.pca.dfn.de/pub/pca/keys/<br />

Schlüsselinformationen<br />

PGP-Schlüssel<br />

Low-Level Policy<br />

PCA (Wurzelzertifikat):<br />

Benutzer-ID:<br />

<strong>DFN</strong>-PCA, <strong>CERT</strong>IFICATION ONLY KEY (Low-Level: 1999-2000) <br />

Schlüssel-ID: F7E87B9D<br />

Schlüssellänge: 2048 Bits – Erstellungsdatum: 1998/12/29<br />

Fingerprint: 65 70 72 74 B5 E0 3F F0 EA 7C AB E4 46 5F B8 B2<br />

321


322 Anhang M. Informationen zur <strong>DFN</strong>-PCA<br />

User-CA:<br />

Benutzer-ID:<br />

<strong>DFN</strong>-User-CA, <strong>CERT</strong>IFICATION ONLY KEY (Low Level: 1999-2000)<br />

<br />

Schlüssel-ID: 890C0981<br />

Schlüssellänge: 2048 Bits – Erstellungsdatum: 1999/01/05<br />

Fingerprint: 6C 02 E0 5C 67 3A 41 59 BC A6 C8 00 19 D4 58 49<br />

<strong>DFN</strong>-PCA (Kommunikationsschlüssel):<br />

Benutzer-ID:<br />

<strong>DFN</strong>-PCA, ENCRYPTION KEY <br />

Schlüssel-ID: E77ADB85<br />

Schlüssellänge: 2048 Bits – Erstellungsdatum: 1998/04/21<br />

Fingerprint: 48 BE 74 79 7F 5D BD 4C 65 2B 98 53 DD 5A 03 05<br />

X.509-Zertifikate<br />

World Wide Web Policy<br />

<strong>DFN</strong> Top Level CA (Wurzelzertifikat):<br />

Certificate:<br />

Version: 3 (0x2)<br />

Serial Number: 1 (0x1)<br />

Signature Algorithm: md5WithRSAEncryption<br />

Issuer: C=DE, O=Deutsches Forschungsnetz, OU=<strong>DFN</strong>-PCA, \<br />

CN=<strong>DFN</strong> Top Level Certification Authority/Email=certify@pca.dfn.de<br />

Validity<br />

Not Before: Oct 29 18:03:10 1998 GMT<br />

Not After : Dec 31 18:03:10 2001 GMT<br />

Subject: C=DE, O=Deutsches Forschungsnetz, OU=<strong>DFN</strong>-PCA, \<br />

CN=<strong>DFN</strong> Top Level Certification Authority/Email=certify@pca.dfn.de<br />

Subject Public Key Info:<br />

Public Key Algorithm: rsaEncryption<br />

RSA Public Key: (2048 bit)<br />

X509v3 extensions:<br />

Key Usage: keyCertSign cRLSign<br />

Basic Constraints: allowed to act as a CA !<br />

Identifier: Certificate Type<br />

Critical: no<br />

Certified Usage:<br />

SSL CA<br />

E-mail CA<br />

Object Signing CA<br />

MD5 Fingerprint=45:BB:9B:C8:8A:A4:84:8B:2D:A0:08:8F:9E:B6:B8:10


<strong>DFN</strong> Server CA:<br />

Certificate:<br />

Version: 3 (0x2)<br />

Serial Number: 2 (0x2)<br />

Signature Algorithm: md5WithRSAEncryption<br />

Issuer: C=DE, O=Deutsches Forschungsnetz, OU=<strong>DFN</strong>-PCA, \<br />

CN=<strong>DFN</strong> Top Level Certification Authority/Email=certify@pca.dfn.de<br />

Validity<br />

Not Before: Nov 3 16:47:23 1998 GMT<br />

Not After : Nov 2 16:47:23 2000 GMT<br />

Subject: C=DE, O=Deutsches Forschungsnetz, OU=<strong>DFN</strong>-PCA, \<br />

CN=<strong>DFN</strong> Server Certification Authority/Email=certify@pca.dfn.de<br />

Subject Public Key Info:<br />

Public Key Algorithm: rsaEncryption<br />

RSA Public Key: (2048 bit)<br />

X509v3 extensions:<br />

Key Usage: keyCertSign cRLSign<br />

Basic Constraints: allowed to act as a CA !<br />

Identifier: Certificate Type<br />

Critical: no<br />

Certified Usage:<br />

SSL CA<br />

MD5 Fingerprint=89:95:E8:3F:CD:EF:9B:62:5B:5C:FE:05:27:D1:34:D8<br />

323

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!