© istockphoto.com/Diane Diederich
Teil 1: Kryptografische Grundlagen

Kryptografie mit dem PKCS #11


PKCS #11 (Public-Key Cryptographic Standard) ist der De-facto-Standard für die Programmierung von kryptografischen Tokens wie Smartcards, Hardware Security Modules (HSM) oder Trusted Platform Modules (TPM). Die ersten Veröffentlichungen dieses Standards durch RSA Security Inc. reichen bis ins Jahr 1994 zurück. Ziel dieser Standardisierung war und ist die Vereinheitlichung einer plattformunabhängigen Schnittstelle für die Programmierung kryptografischer Hardware. Dadurch soll erreicht werden, dass die Hersteller der jeweiligen Securityhardware ein generisches kryptografisches API zur Verfügung stellen, das ein produktübergreifendes Programmieren ermöglicht.

Der erste Teil dieses zweiteiligen Artikels gibt zunächst einen einführenden Abriss über aktuelle Standards und Technologien moderner kryptografischer Systeme. Basierend auf den vorgestellten kryptografischen Technologien wird die konkrete Realisierung einer Public Key Infrastructure (PKI) aufgezeigt. Daran anschließend werden die gebräuchlichsten kryptografischen Tokens und ihre Eigenschaften beschrieben. Eine Einführung in die wichtigsten kryptografischen Algorithmen und Verfahren rundet diesen ersten Artikelteil ab.

Schutz digitaler Daten

Sensible Daten in digitaler Form müssen mit geeigneten Technologien vor unberechtigtem Zugriff und vorsätzlicher Manipulation geschützt werden. Aktuelle kryptografische Verfahren sind hier das Mittel der Wahl und gewinnen diesbezüglich immer mehr an Bedeutung. Jedoch reicht es nicht, Algorithmen mit erhöhten Schlüssellängen einzusetzen, um die Verschlüsselung oder das sichere Schlüsselmanagement zu optimieren. Vielmehr bieten die nachstehend detailliert beschriebenen kryptografischen Hardwarekomponenten im Vergleich zu ausschließlichen Softwarelösungen den weitaus höheren Gewinn an Sicherheit. Natürlich sind höhere Sicherheitsstands nicht zum Nulltarif zu bekommen. Es ist daher fallweise abzuwägen, inwieweit beispielsweise ein teures HSM einer preisgünstigen Smartcard vorzuziehen ist.

Primäranforderungen für sicherheitsrelevante Daten

Vertraulichkeit: Zur Gewährleistung der Vertraulichkeit müssen die durch ein IT-System zu verarbeitenden oder über Kommunikationseinrichtungen zu übertragenden Daten durch Verschlüsselung vor unberechtigtem Zugriff geschützt werden. Es ist sicherzustellen, dass die relevanten Informationen ausschließlich den autorisierten Kommunikationspartnern zugänglich sind.

Integrität: Die Korrektheit des Inhalts und der unmanipulierte Zustand einer Nachricht werden als Integrität bezeichnet. Realisieren lässt sich Integrität mithilfe einer digitalen Signatur, da diese direkt mit dem Inhalt der Nachricht verknüpft ist und somit etwaige Manipulationen sicher erkannt werden können.

Authentizität: Steht für die Echtheit und Glaubwürdigkeit einer Nachricht sowie die Vertrauenswürdigkeit eines Kommunikationspartners. Auch hier lässt sich zum Beispiel die Authentizität eines Nachrichtensenders mit einer digitalen Signatur verifizieren.

Nichtabstreitbarkeit: Hat zum Ziel, dass das Senden und das Empfangen von Daten und Nachrichten nicht in Abrede gestellt werden kann. Grundsätzlich wird zwischen Nichtabstreitbarkeit der Herkunft und Nichtabstreitbarkeit des Erhalts unterschieden. Der Sender einer Nachricht offenbart seine Identität durch eine digitale Signatur, sodass der Empfänger die Herkunft der Nachricht nachweisen bzw. verifizieren kann. Soll zudem der Empfang der Nachricht belastbar nachzuweisen sein, muss eine dritte Instanz hinzugezogen werden, die das Versenden der Nachricht an den Empfänger kontrolliert und mit einem Zeitstempel versehen protokolliert.

Wie unschwer zu erkennen ist, erfordern diese Primäranforderungen adäquate kryptografische Technologien, wobei Vertraulichkeit auf Verschlüsselung basiert, während die übrigen genannten Primäranforderungen auf digitalen Signaturen beruhen.

Kryptografische Schlüssel

Grundsätzlich werden symmetrische und asymmetrische kryptografische Verfahren unterschieden. Erstgenannte basieren auf einem einzigen Schlüssel, dem so genannten geheimen Schlüssel (Secret Key). Dieser Schlüssel dient sowohl für das Verschlüsseln als auch das Entschlüsseln von digitalen Daten.

Im Gegensatz hierzu gelangt bei den asymmetrischen Verfahren ein mathematisch korreliertes Schlüsselpaar zum Einsatz, und zwar in Form eines privaten Schlüssels (Private Key) und eines öffentlichen Schlüssels (Public Key). Der öffentliche Schlüssel wird für das Verschlüsseln von Daten bzw. das Verifizieren von digitalen Signaturen verwendet. Für das Entschlüsseln von Daten bzw. Generieren von digitalen Signaturen ist der private Schlüssel erforderlich.

Sowohl symmetrische als auch asymmetrische Schlüssel müssen zunächst generiert und anschließend so sicher wie nur möglich gespeichert werden. Das heißt, diese Schlüssel müssen primär vor Diebstahl und unbefugter Benutzung geschützt werden. Dies kann entweder mit einem reinen Software-API und einem Software-Key­store (Datei), wie beispielsweise CNG (Cryptography Next Generation von Microsoft), oder mit den nachstehend vorgestellten kryptografischen Tokens geschehen.

Der geheime symmetrische Schlüssel und der private asymmetrische Schlüssel dürfen den Keystore – egal ob Software oder Token – niemals unverschlüsselt verlassen. Falls ein Backup eines solchen Schlüssels angefertigt werden soll, wird der Schlüssel vor dem Export mit einem Masterkey intern verschlüsselt. Dass die sichere „Verwahrung“ digitaler Schlüssel extrem wichtig ist, wird klar, wenn man sich die Konsequenzen eines kompromittierten Schlüssels vor Augen führt: Ist nämlich der geheime oder private Schlüssel kompromittiert, sind alle mit diesen Schlüsseln angefertigten digitalen Signaturen oder verschlüsselten Dokumente wertlos, also eb...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang