Vier Schritte zu sicher verschlüsselten Private Keys

Das Geheimnis sicherer Identitäten

5. November 2007, 23:00 Uhr | Ansgar Dodt/wj Ansgar Dodt ist Director of Sales Embedded Systems EMEA bei Safenet.

Je mehr Nutzer digitale Transaktionen durchführen, umso mehr Identitäten gilt es zu verwalten. Auch entsprechend viele Schlüssel müssen möglichst sicher gespeichert werden. Viele der Techniken eignen sich zur Verwaltung von Tausenden von Keys. Wenn es jedoch um Millionen dieser Schlüssel geht, stoßen eine Reihe von Verfahren an ihre Grenzen.

Bei den meisten Authentifizierungsmethoden – beispielsweise über Smartcards – kommen
asymmetrische, aber mathematisch miteinander verwandte Schlüsselpaare zum Einsatz, die jeweils aus
einem Public- und einem Private Key (einem öffentlichen und einem privaten Schlüssel) bestehen. Der
Public-Key dient dazu, Daten zu verschlüsseln. Der Private Key kommt bei der Entschlüsselung und
der digitalen Signatur zum Einsatz. Damit Private Keys, mit deren Hilfe Dritte auf
geschäftskritische E-Mails zugreifen könnten, nicht in die falschen Hände geraten, sichert man
diese Schlüssel ab.

Hardwaremodule als sicherer Speicherort

Bei geringen Datenmengen reicht die Speicherung auf Smartcards aus. Die Nachteile: Smartcards
haben sehr begrenzte Speicherkapazitäten und arbeiten mit geringer Geschwindigkeit. Im Bereich
Onlinebanking oder bei webbasierten E-Mail-Accounts weicht man zur Lösung des Problems auf
Softwareprodukte wie Datenbank-Management-Software-Systeme (DBMS) aus. Diese Datenbanken sind in
der Lage, sehr große Mengen von Schlüsseln zu verwalten. Leider bieten sie jedoch nicht genug
Sicherheit. Eine zuverlässige Alternative stellen so genannte Hardwaresicherheitsmodule (HSMs) dar.
Sie eignen sich dazu, eine große Anzahl optimal gesicherter Private Keys zu erzeugen und zu
schützen. Manchmal ist es jedoch nötig, die Daten aus den HSMs zu exportieren – sei es aufgrund der
Speicherbegrenzung bei einer größeren Anzahl von Schlüsseln oder weil die Schlüssel zwar im HSM
erstellt, dann jedoch auf Smartcards gespeichert werden sollen. Auch falls die HSMs selbst nicht
transportiert werden können, kann von Fall zu Fall ein Export der Private Keys aus den Geräten
erforderlich sein.

Das richtige Exportverfahren

Zur Absicherung der Keys beim Export aus den HSMs kommen verschiedene Techniken zum Einsatz. Das
Grundgerüst ist bei allen Methoden dasselbe: Zuerst erstellt man den Private Key innerhalb eines
Hardwaresicherheitsmoduls. Anschließend wird der Private Key verschlüsselt und bekommt einen so
genannten "kryptografischen Wrapper" zugeteilt. Aus diesem Grund nennt man das Verfahren auch "Key
Wrapping". Zur Übertragung des "gewrappten" Private Keys zu einem anderen HSM, einer Datenbank oder
einer Smartcard wird der verschlüsselte Key aus dem HSM exportiert. Die verschiedenen Verfahren
unterscheiden sich hinsichtlich der Sicherheit. In vielen Fällen greifen Unternehmen zur
3DES-Verschlüsselung mit folgenden Verfahrensschritten:

BER Encode: Zuerst wird der Private Key in eine Standarddatei umgewandelt,
definiert nach PKCS#8. Dieser Schritt wird als "BER Encode" bezeichnet.

3DES-Verschlüsselung: Anschließend wird der so encodierte Private Key anhand
eines PADs verschlüsselt. Dieser PAD ist ein einmaliger 3DES-Key, der innerhalb des HSMs erstellt
wird und die Grundlage für die Verschlüsselung bildet.

Exportieren des Keys: Die mit 3DES verschlüsselte Datei wird aus dem HSM
exportiert und in einer Datenbank oder auf einer Smartcard gespeichert.

Das beschriebene Verfahren hat zwei Schwachpunkte: Es berücksichtigt nur den Private Key,
ignoriert aber dessen so genannte Attribute Flags – zusätzliche Informationen, die zusammen mit dem
Private Key abgespeichert sind und ihm besondere Eigenschaften zuweisen. Bei manchen Attributen,
die nur administrativen Zwecken dienen und beispielsweise den Namen des verwendeten Zertifikats
angeben, ist es nicht sicherheitskritisch, wenn die Information verloren geht. Andere Attribute
hingegen enthalten spezifische Sicherheitsanweisungen. Ohne diese Attribute fehlen wichtige
Informationen über den sicheren Umgang mit den Keys. Ein weiterer kritischer Aspekt des Verfahrens
ist die Möglichkeit, den 3DES-Wrapping-Code als eigenen Schlüssel aus dem HSM zu exportieren.
Hierzu ist kein spezielles Hacking-Wissen nötig, die Möglichkeiten sind laut Standard definiert.
Exportiert man aber sowohl den verschlüsselten Private Key als auch den 3DES-Wrapping-Code, so
führt dies zu einem ähnlichen Effekt, als ob man zwar die Haustüre abschließt, den Schlüssel aber
anschließend vor die Türe legt: Der Sicherheitsaufwand ist nutzlos.

Das Sicherheitsproblem der Key-Wrapping-Methoden lässt sich mit einem Verfahren umgehen, das
einen Extraschritt umfasst und das auf eine andere Verschlüsselungsmethode setzt.

Vorbereitung des Key-Objekts: In einem ersten Schritt wird hier nicht nur der Private Key,
sondern das gesamte Key-Objekt umgewandelt, das aus dem Key und den dazugehörigen Attributen in
einem großen Datenstrang besteht (Flat Data).

Integritäts-Check: Ein anschließender Integritäts-Check des gesamten Key-Objekts dient dazu,
eventuelle Korruptionen aufzudecken. Dieser Check wird in mehreren Schritten durchgeführt. Sollten
nach dem Export Attribute-Flags fehlen, zeigt der Integritäts-Check diesen Fehler an. Das Verfahren
schließt Daten, die den Integritäts-Check nicht bestanden haben, aus.

Key Masking: Bestehen die Daten den Check, wird das Key-Objekt zusammen mit seinen Daten aus dem
Integritäts-Check in einem mehrstufigen Verfahren verschlüsselt. Diesen Prozess bezeichnet man als "
Key Masking". Basis ist der "Masking Key", ein 512-Bit-Schlüssel, der bei Safenet innerhalb einer
K3-Cryptographic-Engine (HSM) gespeichert wird. Zuerst wird der PRNG (Pseudo Random Number
Generator) des HSMs mit einem Derivat des Masking-Keys gespeist, um den Datenstrang des encodierten
Key-Objekts zu "maskieren". Als nächstes erstellt der HRNG (Hardware Random Number Generator)
innerhalb des HSM einen PAD für die AES-256-Bit-Verschlüsselung. Mit Hilfe dieses Keys wird das
vorbereitete Key-Objekt anschließend verschlüsselt.

Wrapped-Key-Export: Zum Abschluss wird der 256-Bit Key (PAD für die AES-Verschlüsselung) mit
Hilfe des Masking Keys selbst verschlüsselt und dem Key-Objekt angehängt.

Anders als bei anderen Verfahren ist es in diesem Fall nicht möglich, dass der Key für die
Verschlüsselung die sicheren Grenzen des HSMs verlässt und eventuell in die Hände Dritter gerät.
Damit bleibt die Verschlüsselung sicher. Ein weiterer erheblicher Vorteil dieses Verfahrens ist die
gemeinsame Verschlüsselung von Private Key, Attribute Flags und Daten aus dem Integritäts-Check.
Dies schließt aus, dass dem einmal exportierten Private Key andere Eigenschaften zugewiesen werden.
Der Integritäts-Check verhindert zudem, dass das Key-Objekt unbemerkt verändert wird und
unberechtigte Daten in den Key-Management-Prozess gelangen. Somit sorgt das Verfahren für
zuverlässige Schlüssel, die auch jenseits der Grenzen der HSMs sicher bleiben.

Zusammenfassung

Die vierstufige Vorgehensweise beim Key-Wrapping erfüllt die hohen Anforderungen an ein
Key-Management, das sich zur Verwaltung sehr großer Schlüsselmengen eignet – beispielsweise für die
Absicherung webbasierter E-Mail-Kommunikation. Die Verschlüsselung des gesamten Key-Objekts sowie
der Integritäts-Check machen die Methode äußerst zuverlässig und verhindern, dass sich korrupte
Keys in den Prozess einschleichen können. Die mehrstufige Verschlüsselung beruht zudem auf einem
Verfahren, das mehrere Algorithmen berücksichtigt, und ist somit stärker als die
3DES-Verschlüsselung, die bei anderen Wrapping-Verfahren zum Einsatz kommt. Auf diese Weise wird
die Basis für sicheres Identitätsmanagement geschaffen, auf das sich auch Unternehmen in
hochsensiblen Bereichen wie dem Finanz- oder Regierungssektor verlassen können.


Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Lampertz GmbH & Co. KG

Matchmaker+