Inhaltsverzeichnis
Eine zunehmende Anzahl an Authentifizierungsmechanismen basieren auf kryptografischen Verfahren. In diesem Zusammenhang spielen digitale Zertifikate, mit denen kryptografische Schlüssel ihren jeweiligen Eigentümern zugewiesen werden, eine wichtige Rolle. Diese Zertifikate werden für die Kommunikation, beispielsweise auf ID-Karten in Unternehmen, verwendet. Die Generierung und Verwaltung von Zertifikaten wird meistens von offiziellen Einrichtungen geregelt, die dies als Dienstleistung anbieten. In einigen Fällen kann es jedoch sinnvoll sein, diese Aufgaben selbst auszuführen, beispielsweise wenn ein Unternehmen keine persönlichen Daten an Dritte weitergeben möchte.
In YaST stehen zwei Module für die Zertifizierung zur Verfügung, die grundlegende Verwaltungsfunktionen für digitale X.509-Zertifikate zur Verfügung stellen. In den nachfolgenden Abschnitten werden die Grundlagen der digitalen Zertifizierung und die Erstellung und Verwaltung von Zertifikaten dieses Typs mit YaST erläutert. Weitere Informationen finden Sie unter http://www.ietf.org/html.charters/pkix-charter.html.
Bei der digitalen Zertifizierung werden kryptografische Prozesse für die Verschlüsselung von Daten verwendet, um die Daten vor Zugriffen durch unbefugte Personen zu schützen. Die Benutzerdaten werden mithilfe eines zweiten Datensatzes oder Schlüssels verschlüsselt. Der Schlüssel wird in einem mathematischen Prozess auf die Benutzerdaten angewendet, sodass ein geänderter Datensatz entsteht, dessen ursprünglicher Inhalt nicht mehr ermittelt werden kann. Mittlerweile wird die asymmetrische Verschlüsselung am häufigsten verwendet (öffentliche Schlüsselmethode). Schlüssel kommen immer paarweise vor:
Der private Schlüssel muss vom Schlüsseleigentümer sicher aufbewahrt werden. Durch eine versehentliche Veröffentlichung des privaten Schlüssels wird das Schlüsselpaar nutzlos.
Der Schlüsseleigentümer bringt den öffentlichen Schlüssel in Umlauf, damit er von Dritten verwendet werden kann.
Da der öffentliche Schlüsselprozess eine gängige Methode ist, befinden sich zahlreiche öffentliche Schlüssel im Umlauf. Für eine erfolgreiche Nutzung dieses Systems muss jeder Benutzer sicher sein, dass sich ein öffentlicher Schlüssel tatsächlich im Besitz des angenommenen Eigentümers befindet. Die Zuweisung von Benutzern zu öffentlichen Schlüsseln wird durch vertrauenswürdige Organisationen durch Zertifikate mit öffentlichen Schlüsseln bestätigt. Diese Zertifikate enthalten den Namen des Schlüsseleigentümers, den entsprechenden öffentlichen Schlüssel und die elektronische Signatur der Person, die das Zertifikat ausstellt.
Vertrauenswürdige Organisationen, die Zertifikate mit öffentlichen Schlüsseln ausstellen und signieren, gehören in der Regel einer Zertifizierungsinfrastruktur an, die auch für andere Bereiche der Zertifikatsverwaltung, wie die Veröffentlichung, Rücknahme und Erneuerung von Zertifikaten, verantwortlich sind. Eine Infrastruktur dieser Art wird allgemein als PKI (Public Key Infrastructure, Infrastruktur für öffentliche Schlüssel) bezeichnet. Eine bekannte PKI ist der Standard OpenPGP, in dem Benutzer ihre Zertifikate selbst ohne zentrale Autorisierungspunkte veröffentlichen. Diese Zertifizierungen werden vertrauenswürdig, wenn Sie von anderen Personen im „Verbürgungsnetz“ signiert werden.
Die Public Key Infrastructure X.509 (PKIX) ist ein alternatives, von der IETF (Internet Engineering Task Force) definiertes Modell, das heute als Vorlage für beinahe alle öffentlich verwendeten PKIs dient. In diesem Modell erfolgt die Authentifizierung über Zertifizierungsstellen in einer hierarchischen Baumstruktur. Der Stamm des Baums ist die Stammzertifizierungsstelle, mit der alle untergeordneten Zertifizierungsstellen zertifiziert werden. Über die unterste Ebene der untergeordneten Zertifizierungsstellen werden Benutzerzertifikate ausgestellt. Die Benutzerzertifikate sind aufgrund der Zertifizierung vertrauenswürdig, die bis zur Stammzertifizierungsstelle zurückverfolgt werden kann.
Die Sicherheit einer solchen PKI ist von der Vertrauenswürdigkeit der Zertifizierungsstellenzertifikate abhängig. Um den PKI-Kunden die Zertifizierungspraxis zu verdeutlichen, definiert der PKI-Operator ein Certification Practice Statement (CPS), in dem die Vorgehensweisen für die Zertifikatsverwaltung festgelegt werden. Auf diese Weise soll sichergestellt werden, dass von der PKI nur vertrauenswürdige Zertifikate ausgestellt werden.
Bei einem X.509-Zertifikat handelt es sich um eine Datenstruktur mit mehreren festen Feldern und optionalen zusätzlichen Erweiterungen. Die Textfelder enthalten hauptsächlich den Namen des Schlüsseleigentümers, den öffentlichen Schlüssel und die Daten zur ausstellenden Zertifizierungsstelle (Name und Signatur). Aus Sicherheitsgründen sollte ein Zertifikat nur über eine begrenzte Zeit gültig sein, sodass auch für dieses Datum ein Feld zur Verfügung steht. Die Zertifizierungsstelle garantiert die Gültigkeit des Zertifikats über den angegebenen Zeitraum. Gemäß CPS ist in der Regel die PKI (die ausstellende Zertifizierungsstelle) erforderlich, um vor dem Ablauf ein neues Zertifikat zu erstellen.
Die Erweiterungen können beliebige zusätzliche Informationen enthalten. Eine Anwendung muss nur dann eine Erweiterung bewerten können, wenn sie als kritisch definiert ist. Wenn eine Anwendung eine kritische Erweiterung nicht erkennt, muss sie das Zertifikat ablehnen. Einige Erweiterungen, wie Signatur oder Verschlüsselung, sind nur für bestimmte Anwendungen nützlich.
Tabelle 35.1 zeigt die Felder eines grundlegenden X.509-Zertifikats der Version 3 an.
Tabelle 35.1. X.509v3-Zertifikat
Feld |
Inhalt |
---|---|
Version |
Die Version des Zertifikats, beispielsweise v3 |
Seriennummer |
Eindeutige Zertifikats-ID (eine Ganzzahl) |
Signatur |
Die ID des zum Signieren des Zertifikats verwendeten Algorithmus |
Aussteller |
Der eindeutige Name (DN) der ausstellenden Stelle (CA) |
Gültigkeit |
Die Gültigkeitsdauer |
Betreff |
Der eindeutige Name (DN) des Eigentümers |
Subject Public Key Info (Betreff: Info zu öffentlichem Schlüssel) |
Der öffentliche Schlüssel des Eigentümers und die ID des Algorithmus |
Issuer Unique ID (Eindeutige ID des Ausstellers) |
Die eindeutige ID der ausstellenden Zertifizierungsstelle (optional) |
Subject Unique ID (Betreff: Eindeutige ID) |
Die eindeutige ID des Eigentümers (optional) |
Extensions |
Optionale zusätzliche Informationen, wie „KeyUsage“ oder „BasicConstraints“. |
Wenn ein Zertifikat vor seinem Ablauf nicht vertrauenswürdig wird, muss es umgehend blockiert werden. Dies ist unter Umständen erforderlich, wenn der private Schlüssel beispielsweise versehentlich veröffentlicht wurde. Das Blockieren von Zertifikaten ist besonders dann wichtig, wenn der private Schlüssel einer Zertifizierungsstelle und nicht zu einem Benutzerzertifikat gehört. In diesem Fall müssen alle von der relevanten Zertifizierungsstelle ausgestellten Zertifikate umgehend blockiert werden. Wenn ein Zertifikat blockiert wird, muss die PKI (die verantwortliche Zertifizierungsstelle) diese Informationen allen beteiligten Personen über eine Zertifikatswiderrufsliste (CRL, Certificate Revocation List) zur Verfügung stellen.
Diese Listen werden von der Zertifizierungsstelle in regelmäßigen Abständen an öffentlichen CRL-Veröffentlichungspunkten bereitgestellt. Optional kann der CRL-Veröffentlichungspunkt als Erweiterung im Zertifikat benannt werden, sodass ein Prüfer die aktuelle CRL zur Validierung abrufen kann. Eine Möglichkeit, dies zu tun, ist das Online Certificate Status-Protokoll (OCSP). Die Authentizität der CRLs wird über die Signatur der ausstellenden Zertifizierungsstelle gewährleistet. In Tabelle 35.2 werden die grundlegenden Bestandteile einer X.509-CRL dargestellt.
Tabelle 35.2. X.509-Zertifikatswiderrufsliste (CRL)
Feld |
Inhalt |
---|---|
Version |
Die Version der CRL, beispielsweise v2 |
Signatur |
Die ID des zum Signieren der CRL verwendeten Algorithmus |
Aussteller |
Eindeutiger Name (DN) des Veröffentlichers der CRL (in der Regel die ausstellende Zertifizierungsstelle) |
This Update (Diese Aktualisierung) |
Der Zeitpunkt der Veröffentlichung dieser CRL (Datum und Uhrzeit) |
Nächste Aktualisierung |
Der Zeitpunkt der Veröffentlichung der nächsten CRL (Datum und Uhrzeit) |
Liste der widerrufenen Zertifikate |
Jeder Eintrag enthält die Seriennummer des Zertifikats, den Widerrufszeitpunkt und optionale Erweiterungen (CRL-Eintragserweiterungen) |
Extensions |
Optionale CRL-Erweiterungen |
Die Zertifikate und CRLs für eine Zertifizierungsstelle müssen über ein Repository öffentlich verfügbar gemacht werden. Da die Zertifikate und die CRLs durch die Signatur vor Fälschungen geschützt werden, muss das Repository selbst nicht besonders geschützt werden. Stattdessen wird versucht, einen möglichst einfachen und schnellen Zugriff zu ermöglichen. Aus diesem Grund werden Zertifikate häufig auf LDAP- oder HTTP-Servern bereitgestellt. Erläuterungen zu LDAP finden Sie in Kapitel 26, LDAP – Ein Verzeichnisdienst. Kapitel 28, Der HTTP-Server Apache enthält Informationen zu HTTP-Servern.
YaST enthält Module für die grundlegende Verwaltung von X.509-Zertifikaten. Dies beinhaltet hauptsächlich die Erstellung von Zertifizierungsstellen, untergeordneten Zertifizierungsstellen und Ihrer jeweiligen Zertifikate. Die Dienste einer PKI gehen weit über die einfache Erstellung und Verteilung von Zertifikaten und CRLs hinaus. Der Betrieb einer PKI erfordert eine gut strukturierte Verwaltungsinfrastruktur, über die kontinuierliche Aktualisierungen von Zertifikaten und CRLs möglich sind. Diese Infrastruktur wird durch kommerzielle PKI-Produkte bereitgestellt und kann auch teilweise automatisiert werden. YaST enthält Werkzeuge für die Erstellung und Verteilung von Zertifizierungsstellen und Zertifikaten, die entsprechende Hintergrund-Infrastruktur kann momentan jedoch nicht bereitgestellt werden. Zum Einrichten einer kleinen PKI können die verfügbaren YaST-Module verwendet werden. Sie sollten eine „offizielle“ oder kommerzielle PKI jedoch über kommerzielle Produkte erstellen.