Rechnernetze
Home Nach oben Stichworte

Tamper Resistant Module

Die Verteilung der Terminalschlüssel muss in der Regel extern erfolgen. Dazu werden besondere Geräte verwendet, die nur unter kontrolliertem Zugriff (Passwort, Schlüssel) auf eine hermetisch abgeschlossene Chiffrebox (TRM=Tamper Resistant Module) Zugriff gestatten. Die Verwaltung der Schlüssel erfolgt in der Regel stets so, dass Schlüssel außerhalb der TRM nur verschlüsselt gespeichert oder transportiert werden. Neben der Erzeugung neuer Schlüssel (Zufallsgenerator, Pseudozufall) ist auch die sorgfältige Zerstörung eines Schlüssels nach dessen Gebrauch zu beachten.

Ein von der Firma IBM entwickeltes Verfahren benutzt zwei Masterschlüssel km0 und km1, welche der Chiffrierung der Terminalschlüssel kt bzw. der Sitzungsschlüssel ks im Schlüsselzentrum dienen. Die Masterschlüssel werden nur in dem TRM gespeichert, sind also nicht direkt lesbar.

Terminalschlüssel kt werden als Ekm1(kt) verschlüsselt im normalen Speicher verwahrt. Sitzungsschlüssel werden in der Form Ekm0(ks) zufällig erzeugt und in dieser Form im Speicher abgelegt. Beide werden außerhalb des TRM niemals unverschlüsselt gespeichert.

Daten d können im Schlüsselzentrum oder im Host durch die Funktionen d'=Eks(d) ver- und durch d=Dks(d') entschlüsselt werden. Da der Schlüssel ks nur in der Form Ekm0(ks) im Schlüsselzentrum bekannt ist, muss die Funktion d'=EDkm0(Ekm0(ks))(d) zum Verschlüsseln

 

bzw. die Funktion d=DDkm0(Ekm0(ks))(d') zum Entschlüsseln

von Daten verwendet werden.

Es müssen zwei Masterschlüssel eingeführt werden, da sonst eine Offenlegung des Schlüssels ks im Schlüsselzentrum möglich wäre, wenn Ekt(ks) bei der Übertragung erlauscht würde. Als zu übertragender Sitzungsschlüssel wird im Schlüsselzentrum x=Ekt(ks) erzeugt. Mit dem einzigen Schlüssel km gilt dann wie im Falle der Entschlüsselung von Daten, dass ks=DDkm(Ekm(kt))(Ekt(ks)).

Da jedoch kmo und km1 verschieden sind, ist nur die Operation DDkm0(Ekm1(kt))(Ekt(ks))

möglich, die natürlich nicht das gewünschte Ergebnis ks liefert.

Terminalschlüssel kt werden in dem TRM verwendet, um Sitzungsschlüssel zu verschlüsseln: ks' = Ekt(ks), wobei kt und ks wieder nicht offengelegt zu werden brauchen, da sie vor der Anwendung jeweils direkt entschlüsselt werden. Neue Sitzungsschlüssel werden in der Form Ekm0(ks) durch einen Zufallszahlengenerator erzeugt. Probleme mit den Paritybit des Schlüssels nach dessen Dechiffrierung werden ignoriert.

Für die Speicherung von Dateien werden ähnliche Schlüsselmechanismen verwendet, so dass Daten auch sicher gespeichert werden können. Beide Verfahren können jedoch niemals die gleichen Schlüssel verwenden; es werden daher zwei Masterschlüssel  km0 und km2 benutzt.

Andere Verfahren kommen mit weniger Masterschlüsseln aus, z.B. Schlüssel mit besonderen Zusätzen (tagged keys). Das Schlüsselmanagement im Bankenbereich wird in einem eigenen Standard (ISO 8732) behandelt.