-
Die Erfindung betrifft ein Verfahren und ein System zum kryptographischen Schutz einer Applikation.
-
Aus dem Stand der Technik ist es bekannt, dass im Rahmen eines so genannten Cloud-Computing durch einen Dienstbetreiber Rechenleistung Dritten zur Verfügung gestellt wird, welche diese Rechenleistung zur Ausführung von Applikationen nutzen. Die Applikationen laufen dabei auf einem Rechenzentrum des Dienstbetreibers, das sich entweder konzentriert an einem Ort befinden kann oder auch zur Erbringung von flexiblen Diensten verteilt zusammengeschaltet sein kann.
-
Ein Kunde des Dienstbetreibers in der Form eines Applikationseigners, der eine zu ihm gehörige Applikation auf dem Rechenzentrum des Dienstbetreibers laufen lassen möchte, ist daran interessiert, dass der Dienstbetreiber keine Möglichkeit hat, auf die Applikation bzw. durch die Applikation erzeugte Applikationsdaten zugreifen kann. Es müssen somit Schutzmaßnahmen getroffen werden, mit denen System-Administratoren auf Seiten des Dienstbetreibers von der Applikation abgeschirmt werden. Eine Maßnahme dieser Abschirmung ist z. B. die Verschlüsselung von kritischen Daten, welche die Applikation auf entsprechenden Speichermitteln, insbesondere auf Festplatten, des Rechenzentrums des Dienstbetreibers speichert. Dadurch kann ein unbemerkter Zugriff durch System-Administratoren des Rechenzentrums auf Daten der Applikation verhindert werden. Ein Problem ist dabei die sichere Verwahrung der zur Verschlüsselung verwendeten kryptographischen Schlüssel.
-
Aus dem Stand der Technik sind so genannte Sicherheitsmodule, insbesondere in der Form von Hardware-Sicherheitsmodulen, bekannt. Diese ermöglichen in einer sicheren Umgebung, insbesondere in der Form einer Chipkarte oder eines Security-Tokens, die Speicherung von geheimen Schlüsseln, wobei nur über eine Authentisierung ein Zugriff auf die gespeicherten Schlüssel ermöglicht wird. Üblicherweise wird zur Authentisierung eine so genannte PIN verwendet, welche von dem Besitzer des Sicherheitsmoduls zum Zugriff auf die darauf gespeicherten Daten eingegeben werden muss. Wird im Rahmen einer Auslagerung einer Applikation auf ein Rechenzentrum eines externen Dienstbetreibers ein Sicherheitsmodul zur Speicherung von kryptographischen Schlüsseln zur Verschlüsselung von Applikationsdaten verwendet, so erweist es sich als nachteilhaft, dass bei einer herkömmlichen Authentisierung über eine PIN bei jedem Zugriff auf das Sicherheitsmodul diese PIN manuell eingegeben werden muss.
-
In der
US 2006/0285693 A1 ist ein System beschrieben, in dem Applikationen auf fremden Rechnern ausgeführt werden, wobei der Schlüssel zur Verschlüsselung der Daten von einem Management Server zur Verfügung gestellt wird.
-
In der
DE 19925910 A1 ist ein Verfahren zum Bearbeiten von Daten auf einem Zentralserver beschrieben, wobei die Schlüssel zur Verschlüsselung der Daten teilweise auf Servern und teilweise auf personalisierten Chipkarten abgelegt sind.
-
Aufgabe der Erfindung ist es deshalb, eine Applikation eines Applikationseigners in einem Rechenzentrum eines externen Dienstbetreibers gegenüber unbefugten Zugriffen des Dienstbetreibers über ein Sicherheitsmodul zu schützen, wobei ein automatischer gesicherter Zugriff der Applikation auf Daten des Sicherheitsmoduls ermöglicht wird.
-
Diese Aufgabe wird durch das Verfahren gemäß Patentanspruch 1 bzw. das System gemäß Patentanspruch 14 gelöst. Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen definiert.
-
Das erfindungsgemäße Verfahren dient zum kryptographischen Schutz einer Applikation, welche einem Applikationseigner zu geordnet ist und in einem Rechenzentrum ausgeführt wird, das von einem externen, nicht zum Applikationseigner gehörenden Dienstbetreiber verwaltet wird. Unter Applikationseigner ist dabei eine Instanz bzw. Institution, wie z. B. ein Unternehmen, zu verstehen. Dieser Instanz bzw. Institution gehört die Applikation, insbesondere wurde die Applikation auch von dieser Instanz bzw. Institution entwickelt. Der Begriff des Rechenzentrums ist im Sinne der Erfindung weit zu verstehen und kann eine oder mehrere Rechner an einem festen Ort bzw. verteilt an verschiedenen Orten umfassen, wobei über diese Rechner Rechenleistung zur Ausführung von Rechenvorgängen bereitgestellt wird. Die Verwaltung des Rechenzentrums wird wiederum durch eine Instanz bzw. Institution (insbesondere ein Unternehmen) vorgenommen, welches den Dienstbetreiber darstellt. Da der Dienstbetreiber das Rechenzentrum betreibt, hat er auch Administrator-Zugriffsrechte auf das Rechenzentrum.
-
Im Rahmen des erfindungsgemäßen Verfahrens wird ein Sicherheitsmodul verwendet, das zwar dem Applikationseigner gehört, welches jedoch im Rechenzentrum vorgesehen ist, d. h. welches über eine entsprechende (lokale) Schnittstelle (z. B. USB) an einem Rechner des Rechenzentrums angeschlossen ist. Auf diesem Sicherheitsmodul ist privates (permanentes) kryptographisches Material (z. B. private Schlüssel) des Applikationseigners hinterlegt, welches dazu dient, um Applikationsdaten der Applikation geeignet zu verschlüsseln. Das Sicherheitsmodul ist dabei insbesondere als ein so genanntes Hardware-Sicherheitsmodul realisiert, welches hinlänglich aus dem Stand der Technik bekannt ist.
-
Erfindungsgemäß wird durch ein Generierungsmittel des Applikationseigners oder durch das Sicherheitsmodul ein kryptographisches Geheimnis generiert. Der Begriff des Generierungsmittels ist dabei weit zu verstehen und kann jede, basierend auf Software bzw. Hardware realisierte Einheit in einer sicheren Rechenumgebung des Applikationseigners umfassen. Das kryptographische Geheimnis wird zunächst über einen ersten sicheren Kanal, der die Kommunikation zwischen der Applikation und einem Rechnermittel des Applikationseigners schützt, zwischen dem Rechnermittel und dem Sicherheitsmodul übermittelt, wodurch das kryptographische Geheimnis für das Rechnermittel und das Sicherheitsmodul zugänglich wird. Ein solcher erster sicherer Kanal kann beispielsweise über eine entsprechende Verschlüsselung mit einem öffentlichen Schlüssel des Sicherheitsmoduls erreicht werden, wie weiter unten noch näher beschrieben wird. Analog zu dem Generierungsmittel ist das oben erwähnte Rechnermittel eine beliebige Einheit in der Form von Hardware bzw. Software in einer sicheren Rechnerumgebung des Applikationseigners. Diese Einheit kann übereine entsprechende Schnittstelle mit der Applikation kommunizieren.
-
Das kryptographische Geheimnis wird im Rahmen des erfindungsgemäßen Verfahrens ferner über einen zweiten sicheren Kanal, der die Kommunikation zwischen der Applikation und dem Rechnermittel des Applikationseigners schützt, von dem Rechnermittel an die Applikation übermittelt, wodurch das kryptographische Geheimnis für die Applikation zugänglich wird. Es wird dabei vorausgesetzt, dass ein zweiter sicherer Kanal zwischen Applikationseigner und Applikation aufgebaut werden kann. Ein solcher zweiter sicherer Kanal ist problemlos realisierbar, da die Applikation dem Applikationseigner gehört, so dass in geeigneter Weise z. B. ein gemeinsamer privater Schlüssel von Applikation und Applikationseigner zum Aufbau des zweiten sicheren Kanals generiert werden kann.
-
Erfindungsgemäß erfolgt schließlich eine Authentisierung der Applikation gegenüber dem Sicherheitsmodul basierend auf dem für die Applikation und das Sicherheitsmodul zugänglichen kryptographischen Geheimnis, wobei im Falle einer erfolgreichen Authentisierung das kryptographische Material des Applikationseigners über einen durch das kryptographische Geheimnis geschützten Kanal von dem Sicherheitsmodul an die Applikation übertragbar ist.
-
Das erfindungsgemäße Verfahren zeichnet sich dadurch aus, dass automatisiert ein Zugriff einer auf einem Rechenzentrum laufenden Applikation auf kryptographisches Material des Applikationseigners ermöglicht wird, ohne dass der Dienstbetreiber des Rechenzentrums die Möglichkeit hat, das kryptographische Material auszulesen. Dies wird durch die Verwendung eines Sicherheitsmoduls des Applikationseigners erreicht, wobei über sichere Kanäle unter Zwischenschaltung des Applikationseigners ein kryptographisches Geheimnis übermittelt wird, so dass dieses Geheimnis sowohl der Applikation als auch dem Sicherheitsmodul bereitgestellt wird. Dieses Geheimnis kann dann zur Übertragung von kryptographischem Material des Sicherheitsmoduls an die Applikation genutzt werden.
-
In einer besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens erfolgt die Authentisierung der Applikation gegenüber dem Sicherheitsmodul derart, dass mit dem für die Applikation zugänglichen kryptographischen Geheimnis eine Information von der Applikation verschlüsselt und an das Sicherheitsmodul übertragen wird, wobei eine Bedingung für eine erfolgreiche Authentisierung darin besteht, dass das Sicherheitsmodul die Information mit dem für das Sicherheitsmodul zugänglichen kryptographischen Geheimnis entschlüsseln kann. Hierdurch wird auf besonders einfache Weise eine Verifikation dahingehend durchgeführt, dass sowohl die Applikation als auch das Sicherheitsmodul das gleiche kryptographische Geheimnis beinhalten.
-
In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird insbesondere zu Beginn des Verfahrens eine Sitzungsidentität generiert, welche bei der Übermittlung des kryptographischen Geheimnisses über den ersten sicheren Kanal und/oder über den zweiten sicheren Kanal und/oder im Rahmen der Authentisierung der Applikation gegenüber dem Sicherheitsmodul mit übertragen wird. Dabei wird im Laufe des Verfahrens verifiziert, ob die Sitzungsidentität unverändert bleibt. Dies kann beispielsweise dadurch erfolgen, dass diejenige Einheit, welche die Sitzungsidentität zu Beginn des Verfahrens erzeugt hat (z. B. die Applikation oder das Sicherheitsmodul), überprüft, ob die zu einem späteren Zeitpunkt an sie übermittelte Sitzungsidentität mit der ursprünglich generierten Sitzungsidentität übereinstimmt. Ist dies nicht der Fall, wird das Verfahren vorzugsweise abgebrochen. Gemäß dieser Variante der Erfindung wird ein Schutz von so genannten Replay-Angriffen erreicht, bei denen versucht wird, in früheren Sitzungen verwendete Geheimnisse in das Verfahren einzuschleusen. In einer bevorzugten Variante wird die Sitzungsidentität ferner als diejenige Information verwendet, welche von der Applikation bei deren Authentisierung verschlüsselt und an das Sicherheitsmodul übertragen wird.
-
In einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens wird das kryptographische Geheimnisse von dem Sicherheitsmodul generiert und über den ersten sicheren Kanal an das Rechnermittel des Applikationseigners übertragen, wobei der erste sichere Kanal dadurch gebildet wird, dass eine erste Nachricht mit einer ersten Verschlüsselung verschlüsselt wird, auf welche der Dienstbetreiber keinen Zugriff hat, und anschließend an das Rechenmittel des Applikationseigners übertragen wird, wobei die erste Nachricht das kryptographische Geheimnis enthält. Vorzugsweise ist dabei die verschlüsselte erste Nachricht mit einer Signatur des Sicherheitsmoduls signiert, so dass verifiziert werden kann, dass die erste Nachricht auch von dem Sicherheitsmodul stammt. In einer bevorzugten Variante erfolgt die erste Verschlüsselung mit einem öffentlichen Schlüssel des Applikationseigners oder gegebenenfalls auch mit einem privaten Schlüssel, der nur dem Applikationseigner oder dem Sicherheitsmodul bekannt ist.
-
In einer weiteren Variante des erfindungsgemäßen Verfahrens wird die an das Rechnermittel des Applikationseigners übertragene verschlüsselte erste Nachricht entschlüsselt, wobei die Entschlüsselung vorzugsweise durch das Rechnermittel erfolgt. Anschließend wird die erste Nachricht über den zweiten sicheren Kanal an die Applikation übertragen, wobei der zweite sichere Kanal dadurch gebildet wird, dass die entschlüsselte erste Nachricht mit einer zweiten Verschlüsselung, auf welche der Dienstbetreiber keinen Zugriff hat, verschlüsselt wird und an die Applikation gesendet wird. Auf diese Weise wird das kryptographische Geheimnis über eine geschützte Verbindung an die Applikation übermittelt, wobei die Applikation über einen entsprechenden Schlüssel zum Entschlüsseln der zweiten Verschlüsselung verfügt.
-
In einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens wird das kryptographische Geheimnis von dem Generierungsmittel des Applikationseigners generiert und über den ersten sicheren Kanal an das Sicherheitsmodul übertragen, wobei der erste sichere Kanal dadurch gebildet wird, dass eine zweite Nachricht über eine zweite Verschlüsselung verschlüsselt wird, auf welche der Dienstbetreiber keinen Zugriff hat, und anschließend an das Sicherheitsmodul übertragen wird, wobei die zweite Nachricht das kryptographische Geheimnis enthält. Vorzugsweise ist dabei die verschlüsselte zweite Nachricht mit einer Signatur des Applikationseigners signiert. Ferner erfolgt die zweite Verschlüsselung der zweiten Nachricht vorzugsweise mit einem öffentlichen Schlüssel des Sicherheitsmoduls oder gegebenenfalls auch mit einem privaten Schlüssel, der nur dem Applikationseigner und dem Sicherheitsmodul bekannt ist.
-
In einer weiteren, besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird der erste sichere Kanal über die Applikation getunnelt. Das heißt, im Rahmen des ersten sicheren Kanals erfolgt eine Nachrichtenübermittlung unter Zwischenschaltung der Applikation, wobei die Applikation jedoch nicht die Möglichkeit hat, auf diesen ersten sicheren Kanal bzw. die darin übermittelten Informationen zuzugreifen. In einer besonders bevorzugten Variante wird der getunnelte erste sichere Kanal dadurch gebildet, dass die verschlüsselte zweite Nachricht zusammen mit zumindest dem kryptographischen Geheimnis zunächst über den zweiten sicheren Kanal an die Applikation übertragen wird, wobei die Applikation anschließend die empfangene verschlüsselte zweite Nachricht an das Sicherheitsmodul überträgt. Auf diese Weise wird eine parallele Übertragung sowohl über den ersten als auch über den zweiten sicheren Kanal erreicht.
-
Neben dem oben beschriebenen Verfahren betrifft die Erfindung ferner ein System zum kryptographischen Schutz einer Applikation, wobei die Applikation einem Applikationseigner zugeordnet ist und in einem Rechenzentrum ausführbar ist, das von einem externen, nicht zum Applikationseigner gehörenden Dienstbetreiber verwaltet wird, wobei das System ein im Rechenzentrum vorgesehenes Sicherheitsmodul des Applikationseigners umfasst, auf dem privates kryptographisches Material des Applikationseigners hinterlegt ist, sowie ein Generierungsmittel und ein Rechnermittel des Applikationseigners. Das System ist dabei derart ausgestaltet, dass es bei der Durchführung der Applikation in dem Rechenzentrum das oben beschriebene erfindungsgemäße Verfahren bzw. eine oder mehrere Varianten dieses Verfahrens ausführt.
-
Ausführungsbeispiele der Erfindung werden nachfolgend anhand der beigefügten Figuren detailliert beschrieben.
-
Es zeigen:
-
1 eine schematische Darstellung des Nachrichtenaustausches gemäß einer ersten Ausführungsform des erfindungsgemäßen Verfahrens; und
-
2 eine schematische Darstellung des Nachrichtenaustausches gemäß einer zweiten Ausführungsform des erfindungsgemäßen Verfahrens.
-
Die nachfolgend beschriebenen Ausführungsformen des erfindungsgemäßen Verfahrens betreffen den kryptographischen Schutz einer Applikation APPL, welche zu einem Applikationseigner gehört, der in 1 und 2 durch das Bezugszeichen AO angedeutet ist. Der Applikationseigner stellt dabei eine Instanz bzw. Institution, wie z. B. ein Unternehmen, dar, zu dem die Applikation APPL gehört. Beispielsweise kann die Applikation APPL von dem Applikationseigner entwickelt worden sein. Über die Applikation stellt der Applikationseigner seinen Kunden einen entsprechenden Dienst bereit, wobei er die Applikation zur Bereitstellung des Dienstes nicht selbst ausführt, sondern sich hierzu eines Rechenzentrums bedient, auf dem die Applikation läuft. Das Rechenzentrum ist somit eine externe Einheit, welche von einem nicht zum Applikationseigner AO gehörenden Dienstbetreiber verwaltet wird. Es besteht deshalb die Notwendigkeit, die Applikation APPL bzw. entsprechende Applikationsdaten in geeigneter Weise vor einem unbefugten Zugriff des Dienstbetreibers zu schützen. Hierzu wird ein privater Schlüssel in der Form eines Master-Keys MK verwendet, mit dem durch die Applikation erzeugte Daten in dem entsprechenden Speicher im Rechenzentrum (z. B. auf einer Festplatte im Rechenzentrum) geeignet verschlüsselt werden. Dabei ist sicherzustellen, (dass zwar die Applikation Zugriff auf den Master-Key MK hat, dieser jedoch vor dem Zugriff des Dienstbetreibers kryptographisch geschützt wird.
-
Zur Bereitstellung des Master-Keys MK wird in der nachfolgend beschriebenen Ausführungsform ein so genanntes Hardware-Sicherheitsmodul HSM verwendet, welches an sich aus dem Stand der Technik bekannt ist, wobei dieses Sicherheitsmodul dem Applikationseigner gehört und eine kryptographisch gesicherte Umgebung darstellt, in welcher der Master-Key MK hinterlegt ist. Das Hardware-Sicherheitsmodul HSM ist in dem Rechenzentrum vorgesehen, d. h. es ist mit einem entsprechenden Rechner im Rechenzentrum in geeigneter Weise über eine drahtlose oder drahtgebundene Schnittstelle verbunden, wobei der kryptographische Schutz des Hardware-Sicherheitsmoduls sicherstellt, dass der Dienstbetreiber, der das Rechenzentrum verwaltet, keine Zugriffsmöglichkeit auf die darauf gespeicherten Daten hat.
-
Ziel des erfindungsgemäßen Verfahrens ist es nunmehr, einen automatisierten Zugriff auf den Master-Key NK unter der Kontrolle des Applikationseigners AO zu schaffen, so dass die Applikation APPL den Master-Key zur Verschlüsselung von Daten empfängt, ohne dass der Dienstbetreiber des Rechenzentrums eine Zugriffsmöglichkeit auf den Master-Key hat. Um dies zu erreichen, wird eine gesicherte Authentisierung der Applikation APPL gegenüber dem Hardware-Sicherheitsmodul HSM durchgeführt, wobei die Authentisierung auch gegenüber Angreifern geschützt ist, welche Administratorrechte im Rechenzentrum haben. Eine Randbedingung ist dabei, dass die Authentisierung der Applikation an dem Hardware-Sicherheitsmodul automatisch, d. h. ohne Eingriff von Personen, erfolgen soll. Durch diese Randbedingung wird sichergestellt, dass die Applikation nach einem Systemabsturz automatisch sofort wieder starten kann.
-
Im Folgenden wird unter dem Applikationseigner AO eine entsprechend gesicherte Rechnerumgebung verstanden, die dem Applikationseigner zugeordnet ist. Das heißt, wenn nachfolgende Schritte durch den Applikationseigner durchgeführt werden oder mit dem Applikationseigner kommuniziert wird, bedeutet dies, dass ein entsprechendes Rechnermittel, realisiert durch Software bzw. Hardware, welches Teil der sicheren Rechnerumgebung ist, an dem Verfahrensschritt bzw. der Kommunikation beteiligt ist. Nachfolgend wird ferner vorausgesetzt, dass es im laufenden Betrieb der Applikation einen sicheren Kanal zwischen dem Applikationseigner AO und der Applikation APPL gibt, über den der Applikationseigner AO mit der Applikation APPL Nachrichten austauschen kann, so dass kein Dritter, auch nicht ein System-Administrator des Rechenzentrums, diese Nachrichten lesen kann. Ein solcher sicherer Kanal, der dem zweiten sicheren Kanal im Sinne der Patentansprüche entspricht, ist problemlos zwischen Applikationseigner AO und Applikation APPL realisierbar, da die Applikation dem Applikationseigner gehört und diesem somit bekannt ist. Folglich kann in geeigneter Weise beim Ablauf der Applikation im Rechenzentrum ein entsprechendes, nur dem Applikationseigner und der Applikation bekanntes Geheimnis generiert werden, dass dann zum Aufbau des sicheren Kanals zwischen Applikationseigner und Applikation verwendet wird.
-
Im Folgenden werden anhand von 1 und 2 zwei Varianten des erfindungsgemäßen Verfahrens beschrieben, wobei im Rahmen der Verfahren entsprechende Nachrichten N1, N2, N3 und N4 ausgetauscht werden. Dabei bezeichnet die Notation {N}:k eine Verschlüsselung bzw. Signatur einer in den Klammern stehenden Nachricht N mit einem entsprechenden Schlüssel k bzw. einer entsprechenden Signatur k. Ferner werden folgende Bezeichnungen im Rahmen von 1 und 2 verwendet:
- sig(HSM):
- Signatur des Hardware-Sicherheitsmoduls HSM, mit einem entsprechenden privaten Schlüssel von HSM;
- sig(AO):
- Signatur des Applikationseigners AO, mit einem entsprechenden privaten Schlüssel von AO;
- K(AO):
- Öffentlicher Schlüssel des Applikationseigners AO;
- K(HSM)
- Öffentlicher Schlüssel des Hardware-Sicherheitsmoduls HSM;
- k:
- Schlüssel zur Verschlüsselung der Kommunikation zwischen Applikationseigner AO und Applikation APPL;
- key:
- gemeinsames Geheimnis zwischen Applikation APPL und Hardware-Sicherheitsmodul HSM, welches im Rahmen der nachfolgend beschriebenen erfindungsgemäßen Varianten generiert und ausgetauscht wird;
- SID:
- Session-Identifikation, welche zu Beginn des Verfahrens generiert wird.
-
Sofern die Bezugszeichen APPL und HSM innerhalb der ausgetauschten Nachrichten verwendet werden, so bezeichnen diese eindeutige Identifikatoren der Applikation bzw. des Hardware-Sicherheitsmoduls, z. B. einen Hash-Code der Applikation bzw. eine Seriennummer des Hardware-Sicherheitsmoduls.
-
Im Rahmen der Ausführungsform der 1 wird ein Nachrichtenaustausch von der Applikation APPL über eine Nachricht N1, initialisiert, welche von der Applikation APPL an das Hardware-Sicherheitsmodul HSM geschickt wird und den Identifikator der Applikation APPL und des Hardware-Sicherheitsmoduls HSM enthält. Anschließend generiert das Hardware-Sicherheitsmodul einen symmetrischen Schlüssel ”key”, der am Ende des Verfahrens das gemeinsame Geheimnis zwischen Applikation und Hardware-Sicherheitsmodul darstellt. Dieser symmetrische Schlüssel wird über einen ersten sicheren Kanal basierend auf der Nachricht N2 von dem Hardware-Sicherheitsmodul HSM an den Applikationseigner AO gesendet. In der Nachricht N2 ist eine Nachricht M1 enthalten, welche den Schlüssel key, die Identifikatoren der Applikation APPL und des Sicherheitsmoduls HSM sowie eine Session-Identifikation SID enthält. Diese Session-Identifikation wurde von dem HSM erzeugt. Die Nachricht M1 ist dabei mit dem öffentlichen Schlüssel K(AO) des Applikationseigners verschlüsselt und ferner mit der Signatur sig(HSM) des Hardware-Sicherheitsmoduls signiert. Basierend auf dieser Nachricht M2 wird sichergestellt, dass der generierte Schlüssel key nicht von den System-Administratoren des Rechenzentrums gelesen werden kann, denn diese haben keinen Zugriff auf den privaten Schlüssel des Applikationseigners zum Entschlüsseln der Nachricht M1. Dadurch, dass die Nachricht M2 mit sig(HSM) signiert ist, kann sich der Applikationseigner AO sicher sein, dass die Nachricht und damit auch der Schlüssel key von dem Sicherheitsmodul HSM stammen.
-
Nach Empfang der Nachricht N2 sendet der Applikationseigner AO eine Nachricht N3 über den zwischen Applikationseigner AO und Applikation APPL etablierten sicheren Kanal an die Applikation. Die Nachricht N3 enthält dabei die zuvor im Rahmen der Nachricht N2 übermittelte Nachricht M1, welche nunmehr über den entsprechenden Schlüssel k, der die Kommunikation zwischen AO und APPL schützt, verschlüsselt ist. Durch den sicheren Kanal zwischen dem Applikationseigner AO und der Applikation APPL wird sichergestellt, dass nur die Applikation APPL den Schlüssel key aus der Nachricht N3 auslesen kann.
-
In einem nächsten Schritt erfolgt schließlich die Authentisierung der Applikation APPL gegenüber dem Sicherheitsmodul HSM, wobei die Authentisierung basierend auf der Nachricht N4 erfolgt, welche die Identifikatoren der Applikation APPL und des Sicherheitsmoduls HSM sowie die Session-Identifikation SID enthält und mit dem ursprünglich im HSM generierten Schlüssel key verschlüsselt ist. Die Authentisierung ist dabei nur dann erfolgreich, wenn HSM die Nachricht mit dem ursprünglich von ihm generierten Schlüssel entschlüsseln kann. Ein weiteres Sicherheitsmerkmal wird dadurch erreicht, dass ferner die übermittelte Session-Identifikation SID mit der ursprünglich vom HSM generierten Session-Identifikation übereinstimmen muss. Auf diese Weise wird ein Schutz vor sogenannten Replay-Angriffen gewährleistet, bei denen schon einmal im Rahmen einer früheren Authentisierung übermittelte Nachrichten nochmals verwendet werden.
-
Sollte das Entschlüsseln der Nachricht N4 mit dem Schlüssel key des HSM möglich sein und ferner die Session-Identifikation SID mit der ursprünglichen Session-Identifikation übereinstimmen, ist die Authentisierung erfolgreich. Nun kann sich das Hardware-Sicherheitsmodul HSM sicher sein, dass Nachrichten, die von der Applikation APPL bei ihm empfangen werden und mit dem Schlüssel key verschlüsselt sind, wirklich von der Applikation stammen. Gemäß der Variante der 1 wird dabei erreicht, dass das Geheimnis key über vertrauenswürdige Verbindungen unter Zwischenschaltung des Applikationseigners AO an die Applikation APPL gelangt, ohne dass ein System-Administrator des Rechenzentrums die Möglichkeit hat, auf das Geheimnis zuzugreifen.
-
Nach erfolgreicher Authentisierung kann mit Hilfe des Schlüssels key ein sicherer Kanal zwischen der Applikation APPL und dem Sicherheitsmodul HSM aufgebaut werden. über diesen Kanal wird dann der Master-Key MK an die Applikation APPL übermittelt werden, welche anschließend Applikationsdaten mit diesem Schlüssel verschlüsseln kann.
-
2 zeigt eine zweite Variante des erfindungsgemäßen Verfahrens. In dieser Variante wird im Unterschied zur Ausführungsform der 1 das gemeinsame Geheimnis in der Form des Schlüssels key nicht vom Hardware-Sicherheitsmodul HSM, sondern von dem Applikationseigner AO generiert. In einem ersten Schritt wird zunächst von der Applikation APPL, die sich gegenüber dem Hardware-Sicherheitsmodul HSM authentisieren will, eine gesicherte Nachricht N1 an den Applikationseigner AO gesendet. Diese, über den Schlüssel k verschlüsselte Nachricht enthält eine Session-Identifikation SID, welche nunmehr von der Applikation APPL generiert wird, sowie Identifikatoren des Hardware-Sicherheitsmoduls HSM und der Applikation APPL.
-
Nach Empfang der Nachricht N1 erzeugt der Applikationseigner AO den symmetrischen Schlüssel key. Dieser Schlüssel stellt das gemeinsame Geheimnis dar, das am Ende des Verfahrens die Applikation APPL gegenüber dem Sicherheitsmodul HSM authentisiert. Um diese Authentisierung zu erreichen, muss der Schlüssel key sicher an die Applikation APPL und das Sicherheitsmodul HSM übertragen werden. Dies wird im Rahmen der 2 durch die Übermittlung der Nachricht N2 vom Applikationseigner AO an die Applikation APPL sowie der Nachricht N3 von der Applikation APPL an das Sicherheitsmodul HSM erreicht. Im Unterschied zu 1 wird dabei kein separater sicherer Kanal zwischen Applikationseigner AO und Sicherheitsmodul HSM aufgebaut. Vielmehr wird ein sicherer Kanal zwischen Applikationseigner AO und Sicherheitsmodul HSM über die Applikation APPL getunnelt.
-
Im Rahmen der soeben erwähnten Nachricht N2 wird eine Nachricht M2 zusammen mit dem generierten Schlüssel key, der Session-Identifikation SID und dem Identifikator des Hardware-Sicherheitsmoduls HSM übermittelt. Die Nachricht M2 enthält dabei nochmals die Session-Identifikation SID und den Schlüssel key sowie den Identifikator der Applikation APPL. Die Nachricht ist dabei mit dem öffentlichen Schlüssel K(HSM) des Sicherheitsmoduls verschlüsselt und ferner mit der Signatur sig(AO) des Applikationseigners signiert. Die Kombination aus verschlüsselter und signierter Nachricht M2 mit SID, HSM und key wird über den sicheren Kanal zwischen AO und APPL an die Applikation APPL übermittelt. Anschließend entschlüsselt APPL die Nachricht und erhält damit den Schlüssel key, der im Arbeitsspeicher gehalten wird. Durch die in der Nachricht enthaltene Session-Identifikation SID kann die Applikation verifizieren, dass die Nachricht aktuell ist, denn sie kann die übermittelte Session-Identifikation mit der ursprünglich von ihr generierten Session-Identifikation vergleichen.
-
Anschließend sendet die Applikation APPL eine Nachricht N3 an das Sicherheitsmodul HSM, wobei diese Nachricht die in der zuvor empfangenen Nachricht N2 enthaltene Nachricht M2 umfasst, die mit sig(AO) signiert ist und mit dem öffentlichen Schlüssel des Sicherheitsmoduls HSM verschlüsselt ist, so dass sie nicht von der Applikation entschlüsselt werden konnte. Darüber hinaus verschlüsselt die Applikation APPL die Session-Identifikation mit dem Schlüssel key und fügt das Ergebnis an die Nachricht N3 an.
-
Nach Empfang der Nachricht N3 kann das Sicherheitsmodul HSM über die Signatur sig(AO) verifizieren, dass der Applikationseigner AO diese Nachricht erzeugt hat und den Schlüssel key auch sicher an die Applikation APPL übermittelt hat. Anschließend kann das HSM die verschlüsselte Session-Identifikation über den bei ihm hinterlegten Schlüssel key entschlüsseln, was beweist, dass APPL im Besitz des gemeinsamen Geheimnisses key ist. Aufgrund der erfolgreichen Entschlüsselung ist dann die Applikation APPL gegenüber dem Sicherheitsmodul HSM authentisiert, d. h. das Sicherheitsmodul HSM kann sicher sein, dass die mit dem Schlüssel key verschlüsselten Nachrichten von APPL kommt. Über den Vergleich der Session-Identifikation SID in der Nachricht N3 mit der über key verschlüsselten Session-Identifikation kann das Sicherheitsmodul HSM ferner ermitteln, dass die Nachricht N3 kein Replay einer alten Nachricht ist. Nach der Authentisierung kann dann zwischen der Applikation APPL und dem Sicherheitsmodul HSM ein sicherer Kanal unter Verwendung des gemeinsamen Geheimnisses in der Form des Schlüssels key aufgebaut werden, woraufhin dann der Master-Key MK von dem HSM an die Applikation APPL übertragen werden kann, so dass die Applikation anschließend der Applikationsdaten mit diesem Master-Key verschlüsseln kann.
-
Die im Vorangegangenen beschriebene Erfindung weist eine Reihe von Vorteilen auf. Insbesondere wird eine sichere Authentisierung der Applikation APPL beim Sicherheitsmodul HSM des Applikationseigners AO ermöglicht, ohne dass der externe Dienstbetreiber, auf dessen Rechenzentrum die Applikation läuft, die Möglichkeit hat, auf das im Rahmen der Authentisierung erzeugte gemeinsame Geheimnis zwischen Applikation und Sicherheitsmodul zuzugreifen. Dies wird durch die Verwendung eines dem Applikationseigner zugeordneten Sicherheitsmoduls sowie eine Kommunikation über sichere Kanäle unter Zwischenschaltung des Applikationseigners erreicht. Dabei kann der Zugriff auf den Master-Key des Sicherheitsmoduls automatisch erfolgen, ohne dass manuell ein Passwort von berechtigten Personen des Applikationseigners eingegeben werden muss.