-
Diese Erfindung betrifft allgemein die Transaktionsprüfung für Datensicherheitsvorrichtungen des Typs, der Benutzerdaten speichern und mit Endgeräten in Dialogverkehr treten kann, um den Endgeräten Informationen über die gespeicherten Benutzerdaten bereitzustellen. Datensicherheitsvorrichtungen, die eine zuverlässige Prüfung dieser Transaktionen ermöglichen, sowie Endgeräte zur Verwendung mit solchen Sicherheitsvorrichtungen, Systeme, die diese Vorrichtungen verwenden und Rechnerprogramme zur Steuerung des Betriebs solcher Vorrichtungen werden bereitgestellt.
-
Es gibt zahlreiche Szenarien, in denen ein Benutzer bestimmte Informationen nachweisen muss, um auf eine bestimmte Ressource zuzugreifen. Diese Informationen sind häufig sicherheitskritisch, da sie geheim, privat, persönlich sind oder in anderer Weise als schutzwürdig gegen unbefugte Offenlegung erachtet werden. Solche Informationen können als Benutzerdaten im Speicher einer Datensicherheitsvorrichtung gespeichert werden, die so ausgelegt ist, dass sie mit einem Endgerät in Dialogverkehr tritt. Die Sicherheitsvorrichtung kann dem Endgerät Informationen über die gespeicherten Benutzerdaten bereitstellen, um diejenigen Informationen nachzuweisen, die für den Zugriff auf die betreffende Ressource benötigt werden. Bei einem erfolgreichen Nachweis gestattet das Endgerät dem Benutzer den Zugriff auf die Ressource.
-
Eine intelligente Chipkarte (smart card) ist ein üblicher Formfaktor für eine solche Datensicherheitsvorrichtung.
-
Beispiele für solche Chipkarten sind unter anderem elektronische Identitätskarten (eID-Karten), Kreditkarten, Gesundheits- und Versicherungskarten. Die auf der Karte gespeicherten Benutzerdaten sind gewöhnlich auf irgendeine Weise geschützt, z.B. durch einen kryptographischen Codiervorgang, sowohl, um die Daten vor unbefugtem Zugriff zu schützen als auch um deren Gültigkeit zuzusichern. Im Einzelnen werden Benutzerdaten üblicherweise in einer kryptographischen Konstruktion codiert, insbesondere in einer bestimmten Form eines kryptographischen Berechtigungsnachweises, der von einer vertrauenswürdigen Stelle ausgegeben wird, welche die von den Benutzerdaten dargestellten Informationen geprüft hat. Beispielsweise werden in einem auf Attributen beruhenden System Bestandteile der Benutzerinformationen durch Werte dargestellt, die vorher festgelegten „Attributen“ zugewiesen werden, wobei diese entsprechend den nachzuweisenden Informationen festgelegt werden, zum Beispiel durch Angabe des Geburtsorts, des Alters, des Berufs, der Haarfarbe und so weiter. Die Attributwerte können in dem Berechtigungsnachweis als Benutzerdaten codiert werden, um die Richtigkeit der dargestellten Informationen zu bestätigen. Aus Sicherheitsgründen sind Berechtigungsnachweissysteme idealerweise so konzipiert, dass ein Nachweis über gespeicherte Benutzerdaten erbracht werden kann, ohne irgendetwas anderes preiszugeben, als das, was nachgewiesen werden soll. Folglich kann ein Endgerät, das einen Nachweis über bestimmte Informationen über die gespeicherten Benutzerdaten anfordert, den erforderlichen Nachweis erhalten, ohne irgendetwas anderes über die Benutzerdaten zu erfahren.
-
Beim Dialogverkehr mit einer Datensicherheitsvorrichtung sendet das Endgerät der Sicherheitsvorrichtung eine Anforderung, wobei es die Informationen spezifiziert, die über die gespeicherten Benutzerdaten benötigt werden. In Systemen, die auf Attributen beruhen, geben diese Spezifikation oder diese „Regeln“ („policy“) alle Attributwerte, die offengelegt werden müssen, und/oder alles, was über bestimmte Attributwerte nachgewiesen werden muss, an. Die Sicherheitsvorrichtung beteiligt sich dann mit dem Endgerät an einem kryptographischen Nachweis, wobei sie den Besitz eines gültigen Berechtigungsnachweises anzeigt, der Benutzerattribute bestätigt, welche die Regeln erfüllen.
-
Die zuverlässige Prüfung der Informationsaustausch-Operationen zwischen einem Endgerät und einer Sicherheitsvorrichtung ist problematisch. Genauer gesagt, es ist für einen Benutzer wünschenswert, dass er die Informationen prüfen kann, die von Endgeräten in seinen verschiedenen Transaktionen angefordert werden, doch lassen sich zuverlässige Prüfinformationen zu diesem Zweck nicht ohne Weiteres erhalten. Verschiedene Faktoren tragen zu diesem Problem bei. Zum Beispiel verfügen typische Datensicherheitsvorrichtungen wie intelligente Chipkarten im Allgemeinen nicht über eine eigene Benutzerschnittstelle. Daher können diese Vorrichtungen dem Benutzer Prüfinformationen nicht transaktionsweise anzeigen. Endgeräte stellen gewöhnlich zwar eine Benutzerschnittstelle bereit, doch sind diese Geräte im Allgemeinen nicht vertrauenswürdig, so dass sich der Benutzer nicht darauf verlassen kann, dass sie Prüfinformationen ehrlich darstellen. Genauer gesagt, ein nicht vertrauenswürdiges Endgerät könnte der Sicherheitsvorrichtung viele Fragen über ihre Benutzerdaten stellen, ohne den Benutzer über diese Dialoge zu informieren. Das Endgerät könnte dann in der Lage sein, aus all diesen Transaktionen vertrauliche Benutzerdaten abzuleiten. Wenn eine Sicherheitsvorrichtung zum Beispiel den Nachweis des Alters anhand eines Altersbereichs (z.B. „Ich bin älter als 18“ oder „Ich bin jünger als 16“ usw.) anbietet, könnte das Endgerät das tatsächliche bestätigte Alter des Benutzers oder sogar das tatsächliche Geburtsdatum aus vielen Anfragen mit unterschiedlichen Altersregeln ableiten. Ohne eigene Benutzerschnittstelle kann die Sicherheitsvorrichtung den Benutzer nicht direkt über diesen Missbrauch informieren.
-
Eine weitere Schwierigkeit besteht darin, dass die Wiederbeschreibbarkeit von persistentem Speicher in Datensicherheitsvorrichtungen wie intelligenten Chipkarten begrenzt ist. Dadurch wird es für die Sicherheitsvorrichtung unmöglich, ihr eigenes Prüfprotokoll der Transaktionen des Benutzers aufzuzeichnen. Beispielsweise ist der EEPROM (elektrisch löschbarer programmierbarer Nur-Lese-Speicher), der in aktuellen eID-Karten eingesetzt wird, auf eine Größenordnung von 10.000 Schreiboperationen begrenzt (aufgrund des durch inhärente Löschizyklen verursachten Verschleißes). Tatsächlich vermeiden die Funktionen einer eID-Karte idealerweise Schreiboperationen in den EEPROM wo immer möglich. Dies liegt teilweise daran, dass die Karten so ausgestaltet sind, dass sie den Dienst komplett verweigern, wenn nur eine einzige EEPROM-Zelle defekt ist, und es Fälle gab, in denen eID-Karten aufgrund von übermäßig vielen Schreiboperationen viel zu früh abgelaufen sind.
-
Flüchtiger Speicher in einer Datensicherheitsvorrichtung kann natürlich Einzelheiten eines Missbrauchs von Endgeräten, der mehrere nicht offengelegte Anfragen einschließt, aufzeichnen. Da der flüchtige Zustand der Vorrichtung jedoch bei jedem Stromausfall gelöscht wird, kann das Endgerät den flüchtigen Zustand der Vorrichtung zurücksetzen und auf diese Weise selbst die flüchtige Aufzeichnung des Missbrauchs löschen.
-
Aus dem Vorstehenden ist erkennbar, dass Datensicherheitsvorrichtungen gewöhnlich von der Gnade des Endgeräts abhängig sind, was Prüfinformationen angeht, und folglich anfällig sind für Angriffe durch Mehrfach-Anfragen, von denen der Benutzer nichts bemerkt. Diese grundlegende Einschränkung ist von besonderer Bedeutung, wenn die Sicherheitsvorrichtung auf mehrere Arten auf Anforderungen des Endgeräts reagieren kann, wobei jede Antwort zusätzliche Informationen über den Benutzer preisgibt. Ein Endgerät kann dann sein Wissen über den Benutzer mehren, indem es viele nicht offengelegte Fragen stellt. Es wurde vorgeschlagen, Endgeräte so zu zertifizieren, dass sie nur bestimmte Attribute anfordern dürfen. Dies schränkt jedoch nur den Attributraum ein, in dem das Endgerät arbeitet, und verhindert nicht, dass das Endgerät sein Wissen bis an die Grenzen dieses Raumes mehrt, selbst wenn die umfassendere Transaktion eigentlich weitaus weniger Wissen erfordert hätte. Eine weitere Möglichkeit besteht in der Verwendung von vertrauenswürdigen Endgeräten oder vertrauenswürdigen Hardware-Einheiten, um den Betrieb der Endgeräte zu überwachen, die einen sicheren Benutzerbildschirm und eine sichere Eingabe beinhalten.
-
Die
US 2007 / 0 124 589 A1 betrifft ein Verfahren, das umfasst: Initiieren einer Dienstanforderung; Ausführen eines ersten Authentifizierungsprozesses, um die Authentizität einer ersten, dienstanfordernden Entität festzustellen; als Reaktion auf die Feststellung der Authentizität der ersten Entität, Ausführen eines zweiten Authentifizierungsprozesses zwischen der ersten Entität und einer zweiten Entität; als Reaktion auf die Ergebnisse des zweiten Authentifizierungsprozesses, Bereitstellung von Informationen, die an einem ersten Standort vorgespeichert sind, an einen zweiten Standort in Verbindung mit der Bereitstellung des angeforderten Dienstes.
-
Die
US 6 055 512 A betrifft ein Dienstgerät, das in der Lage ist, personalisierte elektronische Datendienste bereitzustellen, die für einen Benutzer spezifisch sind, wobei das Dienstgerät umfasst: mindestens ein tragbares Datenspeichermittel, das in der Lage ist, benutzerspezifische Daten zu spezifizieren, die einen Satz von Datentypen beschreiben, die für einen Benutzer personalisiert sind; Dateneingabemittel zum Empfangen der benutzerspezifischen Daten; Datenspeichermittel zum Speichern von Daten, die eine Vielzahl der elektronischen Datendienste beschreiben; Mittel zum Auswählen mindestens eines der elektronischen Datendienste, wobei die Auswahl in Übereinstimmung mit den benutzerspezifischen Daten durch Vergleich der benutzerspezifischen Daten mit den Daten, die elektronische Datendienste beschreiben, erfolgt; und Mittel zur Kontrolle der Lieferung der genannten ausgewählten elektronischen Datendienste, wobei das tragbare Datenspeichermittel die benutzerspezifischen Daten zu dem Dateneingabemittel herunterlädt und die benutzerspezifischen Daten verwendet werden, um das Mittel zum Auswählen mindestens eines elektronischen Datendienstes und das Mittel zum Steuern der Lieferung der ausgewählten elektronischen Datendienste zu konfigurieren, um Dienste bereitzustellen, die in Übereinstimmung mit den benutzerspezifischen Daten ausgewählt wurden.
-
Die Präsentation „How to Use Your Block Cipher?“ betrifft Chiffrierung und Authentifizierung von Nachrichten (P. Sarkar.: „How to Use Your Block Cipher?“, IACITS, New Dehli, 2. April 2009).
-
Der Erfindung liegt die Aufgabe zugrunde eine Datensicherheitsvorrichtung, ein Rechnerprogramm, ein Endgerät und ein System für verbesserte Transaktionsprüfung zu schaffen.
-
Eine Ausführungsform eines Aspekts der vorliegenden Erfindung stellt eine Datensicherheitsvorrichtung gemäß dem Anspruch 1 bereit. Eine solche Datensicherheitsvorrichtung kann beispielsweise einen Speicher zur Speicherung von Benutzerdaten, eine Schnittstelle zur Übertragung von Datenmitteilungen zwischen der Sicherheitsvorrichtung und einem Endgerät, das mit einem Datenübertragungsnetzwerk verbunden werden kann, und eine Steuereinheit zur Verarbeitung von Anforderungen von dem Endgerät für Informationen über die Benutzerdaten umfassen. Die Steuereinheit ist so ausgelegt, dass sie die Anforderung verarbeitet, indem sie:
- eine Nachricht erzeugt, die eine Angabe der über die Benutzerdaten angeforderten Informationen umfasst, wobei die Nachricht erzeugt wird, um unter Verwendung von geheimen Daten eine Überprüfung, ob die Nachricht von der Steuereinheit erzeugt worden ist, zu ermöglichen;
- die Nachricht an das Endgerät sendet, um sie über das Netzwerk an eine Veröffentlichungsinstanz zu übertragen, damit die Nachricht in dem Netzwerk veröffentlicht wird;
- eine von der Veröffentlichungsinstanz ausgegebene kryptographische Konstruktion von dem Endgerät empfängt, welche die von der Veröffentlichungsinstanz veröffentlichte Nachricht codiert;
- die Gültigkeit der kryptographischen Konstruktion für die von der Steuereinheit erzeugte Nachricht prüft; und
- dem Endgerät die über die Benutzerdaten angeforderten Informationen in Abhängigkeit von der kryptographischen Konstruktion liefert.
-
In Sicherheitsvorrichtungen antwortet die Steuereinheit daher auf eine Anforderung für Informationen über gespeicherte Benutzerdaten, indem sie eine Nachricht erzeugt, die eine Angabe der angeforderten Informationen umfasst. Diese Nachricht wird so erzeugt, dass eine spätere Überprüfung der Urheberschaft, d.h., dass die Nachricht tatsächlich von dieser Steuereinheit erzeugt worden ist, möglich ist. Dieser Prüfprozess kann die Verwendung von geheimen Daten erforderlich machen, die üblicherweise in der Sicherheitsvorrichtung selbst gespeichert werden, die aber in jedem Fall in dem Sinn „geheim“ sind, dass diese Daten nur der befugten Partei (oder möglicherweise Parteien) zur Verfügung stehen, die Prüfinformationen für die Sicherheitsvorrichtung sehen darf. Die einzige befugte Partei ist gewöhnlich der Benutzer der Sicherheitsvorrichtung selbst. Die resultierende Nachricht wird an das Endgerät gesendet und über das Netzwerk an eine Veröffentlichungsinstanz übertragen. Diese Instanz veröffentlicht die Nachricht in dem Netzwerk und erzeugt eine kryptographische Konstruktion, welche die veröffentlichte Nachricht codiert. Eine solche kryptographische Konstruktion kann auf viele verschiedene Arten erzeugt werden, indem die veröffentlichte Nachricht entsprechend einem kryptographischen Codiervorgang, z.B. mit Hilfe eines kryptographischen Signatur-Algorithmus, codiert wird. Die von der Veröffentlichungsinstanz ausgegebene kryptographische Konstruktion wird über das Endgerät an die Sicherheitsvorrichtung zurückgeschickt. Die Steuereinheit der Vorrichtung kann dann prüfen, ob die kryptographische Konstruktion für die ursprünglich erzeugte Nachricht gültig ist (d.h., ob die Konstruktion eine gültige Codierung der ursprünglichen Nachricht ist). Wenn ja, bestätigt dies, dass die ursprüngliche Nachricht tatsächlich veröffentlicht worden ist. Die Gültigkeit der kryptographischen Konstruktion wird folglich geprüft, bevor die ursprünglich angeforderten Informationen tatsächlich an das Endgerät gesendet werden, wobei die nachfolgende Lieferung der Informationen an das Endgerät von der kryptographischen Konstruktion abhängig ist.
-
Auf diese Weise kann die Sicherheitsvorrichtung sicherstellen, dass es über die von einem Endgerät angeforderten Informationen eine veröffentlichte Aufzeichnung gibt, bevor diese Informationen tatsächlich an das Endgerät geliefert werden. Somit kann die Verfügbarkeit eines zuverlässigen Prüfprotokolls über die Transaktionen der Vorrichtung a priori sichergestellt werden. Der Benutzer kann das veröffentlichte Prüfprotokoll daher anschließend prüfen, um zu bestätigen, dass über die von dem Endgerät offengelegten Informationen hinaus keine weiteren Informationen angefordert worden waren. Da die Überprüfung der Urheberschaft von veröffentlichten Nachrichten die vorstehend erörterten geheimen Daten erforderlich macht, ist es einer unbefugten Partei darüber hinaus nicht möglich, zu prüfen, welche Nachrichten von dieser bestimmten Sicherheitsvorrichtung stammten. Das Prüfprotokoll des Benutzers kann folglich anonymisiert werden. Sicherheitsvorrichtungen können folglich ein betont einfaches, äußerst praktisches und hocheffizientes System zum Erstellen von zuverlässigen Prüfprotokollen für Informationen, die an Endgeräte geliefert werden, bereitstellen. Dieses System kann einzelne Missbrauchsfälle durch böswillige Endgeräte, die Angriffe mittels Mehrfach-Anfragen durchführen, gegebenenfalls nicht verhindern. Das System kann jedoch einen wirksamen Mechanismus zum Aufdecken von betrügerischen Handlungen (Fraud-Detection-Mechanismus) bereitstellen, der es ermöglicht, böswillige Endgeräte und böswillige Eigentümer von Endgeräten schnell zu ermitteln und dadurch anhaltenden Missbrauch zu verhindern, während er gleichzeitig als wirksames Abschreckungsmittel dient.
-
Nachdem die Steuereinheit die Gültigkeit der kryptographischen Konstruktion für die ursprünglich erzeugte Nachricht geprüft hat, kann sie die über die Benutzerdaten angeforderten Informationen in Abhängigkeit von der kryptographischen Konstruktion, z.B. in Abhängigkeit von der Gültigkeit der Konstruktion und/oder in Abhängigkeit von Informationen in der Konstruktion, an das Endgerät liefern. In bevorzugten Ausführungsformen ist die Steuereinheit so ausgelegt, dass sie die über die Benutzerdaten angeforderten Informationen nur dann an das Endgerät liefert, wenn die Konstruktion für die ursprünglich erzeugte Nachricht gültig ist. Es können jedoch auch Alternativen in Betracht gezogen werden. Des Weiteren können Beispiele in Betracht gezogen werden, bei denen, wenn festgestellt wird, dass sich die in der Konstruktion codierte Nachricht von der ursprünglich erzeugten Nachricht unterscheidet, die Steuereinheit nur bestimmte Informationen an das Endgerät liefert, z.B. vorher festgelegte, geringfügige Informationen oder solche Informationen, die in der Nachricht, welche in der Konstruktion codiert ist, als von dem Endgerät angeforderte Informationen angegeben sind (wenn es sich dabei um eine kleinere Teilmenge der Informationen handelt, die tatsächlich angefordert worden sind). Wenn für eine Anforderung keine gültige Konstruktion empfangen wird, könnte die Steuereinheit die Informationen, die geliefert werden können, oder die Anzahl der Anforderungen, die bedient werden, generell beschränken oder sie könnte bei dieser Gelegenheit Einzelheiten der Transaktion im persistenten Speicher aufzeichnen (obgleich diese Lösung aus den vorstehend erörterten Gründen gewöhnlich unerwünscht ist). Für einen äußerst sicheren und effizienten Betrieb hängt die Lieferung von Benutzerinformationen vom Empfang einer gültigen kryptographischen Konstruktion ab.
-
Die von der Sicherheitsvorrichtung erzeugte Nachricht kann jedwede zweckmäßige Angabe der von dem Endgerät angeforderten Informationen enthalten. Bei dieser Angabe kann es sich zweckmäßigerweise um die Regeln (oder eine ähnliche Spezifikation) handeln, die in der Anforderung von dem Endgerät enthalten waren, doch kann im Allgemeinen jede Spezifikation, Definition, Beschreibung oder jede andere Angabe verwendet werden, anhand der die angeforderten Informationen ermittelt werden können.
-
Es gibt viele verschiedene Möglichkeiten, die Nachricht zu erzeugen, um eine Überprüfung der Urheberschaft zu ermöglichen. Im Einzelnen könnten verschiedene kryptographische Prozesse zur Erzeugung von Nachrichten verwendet werden, um die Überprüfung der Urheberschaft unter Verwendung von geheimen Daten zu ermöglichen, die dem Prozess der Erzeugung von Nachrichten in irgendeiner Weise zugeordnet werden. Der Prozess der Erzeugung von Nachrichten kann zum Beispiel einen kryptographischen Verschlüsselungsvorgang einschließen, so dass eine erfolgreiche Entschlüsselung einen geheimen Schlüssel erforderlich macht, und/oder die Aufnahme von einem oder mehreren ganz bestimmten Element(en), die unter Verwendung eines geheimen Werts oder von geheimen Werten erzeugt werden, so dass die Kenntnis des geheimen Werts beziehungsweise der geheimen Werte die spätere Ermittlung von auf diese Weise erzeugten Nachrichten zulässt. In bevorzugten Ausführungsformen ist die Steuereinheit so ausgelegt, dass sie die Nachricht erzeugt, indem sie die Angabe der über die Benutzerdaten angeforderten Informationen verschlüsselt, um einen Geheimtext zu erzeugen, der mit Hilfe eines geheimen Benutzerschlüssels entschlüsselt werden kann. In einem Beispiel hierzu ein Verschlüsselungsalgorithmus verwendet, dem der Schlüssel nicht bekannt ist, wobei veröffentlichte Nachrichten nicht nur anonym sein können, sondern auch von keiner anderen Person als dem Inhaber des geheimen Benutzerschlüssels verknüpft werden können. Die Nachrichtenerzeugung kann in weiteren Beispielen auch zusätzliche Prozesse einschließen, wobei eine Nachricht andere Elemente sowie den vorstehend erwähnten Geheimtext enthalten kann. Im Einzelnen ist die Steuereinheit z. B. so ausgelegt, dass sie für jede von der Steuereinheit erzeugte Nachricht eine kryptographische Aufgabe („Challenge“) berechnet, um die Überprüfung, ob die Nachricht von der Steuereinheit erzeugt worden ist, zu vereinfachen, und die kryptographische Challenge in diese Nachricht aufnimmt. Eine solche Challenge wird idealerweise verschlüsselt, so dass nur die befugte Veröffentlichungsinstanz die in einer Nachricht enthaltene Challenge entschlüsseln kann.
-
In einem Beispiel ist die Steuereinheit so ausgelegt, dass sie die kryptographische Challenge für eine Nachricht unter Verwendung von (mindestens) einer Zufallszahl für diese Nachricht und eines vorher festgelegten geheimen Werts berechnet, um mit Hilfe des geheimen Werts die Überprüfung, ob die Nachricht von der Steuereinheit erzeugt worden ist, zu ermöglichen, ohne dass eine Speicherung von nachrichtenspezifischen Daten durch die Vorrichtung dazwischenliegt. Die Zufallszahl wird verwendet, um die Nichtverknüpfbarkeit von veröffentlichten Nachrichten sicherzustellen, während der geheime Wert die Überprüfung der Urheberschaft ermöglicht. Auf diese Weise kann die Nichtverknüpfbarkeit sichergestellt werden und gleichzeitig sind keine Schreiboperationen in den persistenten Speicher in der Sicherheitsvorrichtung notwendig. Damit der nachfolgende Prüfprozess funktioniert, braucht die Sicherheitsvorrichtung im Einzelnen weder die Challenge noch die jeweilige Zufallszahl noch andere nachrichtenspezifische Daten zu speichern, was die Verwendung des persistenten Speichers für jede Nachricht erforderlich machen würde. Ausführliche Beispiele solcher Verfahren folgen nachstehend.
-
Szenarien können ins Auge gefasst werden, bei denen die Durchsicht von veröffentlichten Nachrichten und folglich die Überprüfung, welche Nachrichten von einer bestimmten Sicherheitsvorrichtung stammen, von einem vertrauenswürdigen Endgerät durchgeführt werden, das selbst die benötigten geheimen Daten besitzt (oder diese von der Sicherheitsvorrichtung erhält). Einfacher kann dieser Prozess jedoch von der Steuereinheit der Sicherheitsvorrichtung durchgeführt werden. Daher ist die Steuereinheit so ausgelegt, dass sie einen Prüfprozess durchführt, der Folgendes umfasst: über das Endgerät Empfangen von Nachrichtendaten von Nachrichten, die von der Veröffentlichungsinstanz in dem Netzwerk veröffentlicht werden; aus den Nachrichtendaten Ermitteln einer von der Steuereinheit erzeugten Nachricht unter den veröffentlichten Nachrichten, die den Nachrichtendaten entspricht; und für jede auf diese Weise ermittelte Nachricht Senden einer Beschreibung der über die Benutzerdaten angeforderten Informationen, die der Angabe in dieser Nachricht entspricht, an das Endgerät zur Ausgabe an einen Benutzer. Im Allgemeinen können die vorstehend genannten Nachrichtendaten aus der ganzen Nachricht oder aber aus demjenigen Inhalt der Nachricht bestehen, der zur Ermittlung der Urheberschaft der Nachricht benötigt wird. Bei der Beschreibung der Informationen, die an den Benutzer ausgegeben werden, kann es sich um die Angabe, die in der Nachricht enthalten ist, oder um eine andere Darstellung der betreffenden Informationen handeln.
-
Eine Ausführungsform eines zweiten Aspekts der Erfindung stellt ein Endgerät gemäß dem Anspruch 12 bereit Ein solches Endgerät kann beispielsweise eine Übertragungsschnittstelle zur Übertragung von Daten zwischen dem Endgerät und einem Datenübertragungsnetzwerk, eine Schnittstelle einer Sicherheitsvorrichtung zur Übertragung von Daten zwischen dem Endgerät und einer Datensicherheitsvorrichtung, die über einen Speicher verfügt, der Benutzerdaten speichert, und eine Endgeräte-Steuereinheit, um Anforderungen für Informationen über die Benutzerdaten an die Datensicherheitsvorrichtung zu senden, umfassen. Die Endgeräte-Steuereinheit ist so ausgelegt, dass sie vor dem Empfang von Informationen über die Benutzerdaten, welche in der an die Sicherheitsvorrichtung gesendeten Anforderung angefordert wurden:
- als Antwort auf die an die Sicherheitsvorrichtung gesendete Anforderung eine Nachricht von der Sicherheitsvorrichtung empfängt;
- die Nachricht über das Datenübertragungsnetzwerk an eine Veröffentlichungsinstanz sendet, um die Nachricht in dem Netzwerk zu veröffentlichen;
- eine von der Veröffentlichungsinstanz ausgegebene kryptographische Konstruktion von der Veröffentlichungsinstanz empfängt, welche die von der Veröffentlichungsinstanz veröffentlichte Nachricht codiert; und
- die kryptographische Konstruktion an die Sicherheitsvorrichtung sendet.
-
Entsprechende Ausführungsformen von weiteren Aspekten der Erfindung stellen ein Rechnerprogramm gemäß dem Anspruch 11 oder 13 bereit, Ein solches Rechenprogramm kann beispielsweise ein Programmcode-Mittel umfassen, um den Betrieb einer Sicherheitsvorrichtung gemäß dem Anspruch 1 und eines Endgeräts gemäß dem Anspruch 12 steuern. Ein Rechnerprogramm kann z. B. ein unabhängiges Programm darstellen oder ein Element eines größere Programms sein und es kann zum Beispiel als ein in einem rechnerlesbaren Datenträger wie einer Festplatte enthaltenes Programm oder als ein in einer elektronischen Übertragung enthaltenes Programm, um es in eine Einheit zu laden, geliefert werden. Das Programmcode-Mittel des Rechnerprogramms kann jeden Ausdruck in jeder Sprache, in jedem Code oder in jeder Notation eines Satzes von Befehlen umfassen, die einen Rechner zur Durchführung des betreffenden Verfahrens, entweder direkt oder nach einem oder beidem von Folgendem, (a) einer Umwandlung in eine andere Sprache, in einen anderen Code oder in eine andere Notation und (b) der Nachbildung in einer anderen materiellen Form, veranlassen sollen.
-
Eine Ausführungsform eines weiteren Aspekts der Erfindung stellt ein System gemäß dem Anspruch 14, das z. B. Folgendes umfasst:
- ein Endgerät gemäß dem zweiten Aspekt der Erfindung, das mit einem Datenübertragungsnetzwerk verbunden werden kann;
- eine Datensicherheitsvorrichtung gemäß dem ersten Aspekt der Erfindung, um Anforderungen für Informationen über die Benutzerdaten von dem Endgerät zu verarbeiten; und
- eine Veröffentlichungsinstanz, die mit dem Netzwerk verbunden ist, um mit dem Endgerät Daten auszutauschen, wobei die Veröffentlichungsinstanz so ausgelegt ist, dass sie die Nachricht über das Netzwerk von dem Endgerät empfängt, die Nachricht in dem Netzwerk veröffentlicht, eine kryptographische Konstruktion erzeugt, welche die veröffentlichte Nachricht codiert, und die kryptographische Konstruktion an das Endgerät sendet.
-
Im Allgemeinen kann die Veröffentlichungsinstanz eine beliebige Einheit, ein beliebiges System oder ein beliebiger Mechanismus sein, die/das/der Nachrichten in dem Netzwerk in dem Sinn veröffentlichen kann, dass die Nachrichten für den Zugriff durch Einheiten, die sich über das Netzwerk mit der Instanz verbinden lassen, zur Verfügung stehen. Praktischerweise ist die Veröffentlichungsinstanz so ausgelegt, dass sie ein elektronisches Schwarzes Brett zur Veröffentlichung der Nachrichten betreibt.
-
Wenn in diesem Schriftstück Merkmale mit Bezug auf eine Ausführungsform eines Aspekts der Erfindung beschrieben werden, können im Allgemeinen entsprechende Merkmale auch in Ausführungsformen eines anderen Aspekts der Erfindung bereitgestellt sein.
-
Bevorzugte Ausführungsformen der Erfindung werden nun lediglich anhand eines Beispiels und mit Bezug auf die beiliegenden Zeichnungen beschrieben, bei denen:
- 1 eine schematische Darstellung eines Datenübertragungssystems ist, das die Erfindung enthält;
- 2 eine Datensicherheitsvorrichtung und ein Endgerät des in 1 gezeigten Systems ausführlicher darstellt;
- 3 den Dialogverkehr zwischen Einheiten des in 1 gezeigten Systems im Anschluss an eine an die Datensicherheitsvorrichtung gerichtete Anforderung für Informationen veranschaulicht;
- 4 entscheidende Schritte des in 3 gezeigten Prozesses ausführlicher darstellt; und
- 5 den Dialogverkehr zwischen Einheiten des in 1 gezeigten Systems während eines von der Datensicherheitsvorrichtung durchgeführten Prüfprozesses veranschaulicht.
-
1 zeigt ein Datenübertragungssystem 1, das die Erfindung enthält. Das System 1 enthält ein Endgerät 2, das mit einem Datenübertragungsnetzwerk 3 verbunden werden kann, um über das Netzwerk Daten mit anderen Einheiten auszutauschen. Das Netzwerk 3 kann im Allgemeinen ein oder mehrere Komponentennetzwerke oder Internetzwerke einschließlich des Internets umfassen. Das System 1 enthält auch eine Veröffentlichungsinstanz, die hier durch den Server 4 dargestellt ist, der mit dem Netzwerk 3 verbunden ist. Der Server 4 stellt dem Netzwerk 3 einen Dienst in Form von einem vertrauenswürdigen elektronischen Schwarzen Brett (bulletin board (BB)) bereit, was nachstehend erörtert wird. (Zwar sind die Funktionen des Servers 4 hier als ein einziger Block angegeben, doch könnten sie auch über eine Vielzahl von physischen Maschinen eines Serversystems verteilt sein.) Eine Datensicherheitsvorrichtung in Form der intelligenten Chipkarte 5 kann mit dem Endgerät 2 in dem System in Dialogverkehr treten. Die intelligente Chipkarte 5 enthält einen eingebetteten Chip (nicht als solches gezeigt), der Benutzerdaten in Bezug auf den Inhaber der Karte (den „Benutzer“) enthält.
-
2 ist eine schematische Darstellung des Endgeräts („Terminal“) 2 und der intelligenten Chipkarte 5, die ausführlicher die Hauptelemente dieser Geräte zeigen. Die intelligente Chipkarte 5 enthält eine Endgeräte-Schnittstelle (I/F) 7, um Datenmitteilungen zwischen der Karte 5 und dem Endgerät 2 zu übertragen. Die Schnittstelle 7 könnte im Allgemeinen mit jeder beliebigen Form einer drahtgebundenen oder drahtlosen Übertragungsschnittstelle realisiert werden, umfasst üblicherweise aber einen Satz von elektrischen Kontakten, um das Endgerät zu kontaktieren, wenn die Karte in einen Steckplatz des Kartenlesers des Endgeräts eingesetzt wird. Steuerlogik in Form der Karten-Steuereinheit 8 steuert allgemein den Betrieb der Karte. Die Steuereinheit 8 enthält Funktionen, um Anforderungen von dem Endgerät 2 zu bedienen und auch um einen Transaktionsprüfprozess durchzuführen, der nachstehend ausführlich beschrieben wird. Die Karte 5 enthält den flüchtigen Speicher 9 zur Verwendung als Arbeitsspeicher für die verschiedenen Operationen der Steuereinheit 8. Der persistente Speicher 10, der zum Beispiel ein ROM und EEPROM umfassen kann, stellt einen dauerhaften Speicher für die vorstehend erwähnten Benutzerdaten sowie für verschiedene andere Daten, die für kryptographische Prozesse benötigt werden, welche beim Betrieb der Steuereinheit 8 durchgeführt werden, bereit. Zu diesen Daten gehören verschiedene kryptographische Schlüssel und Parameter für kryptographische Algorithmen sowie geheime Daten, die einen geheimen Wert s umfassen, der nachstehend ausführlicher erörtert wird.
-
Das Endgerät 2 enthält eine Schnittstelle einer Sicherheitsvorrichtung, hier die Schnittstelle 12 des Kartenlesers, um mit der Karte 5 über die Endgeräte-Schnittstelle 7 der Karte Daten auszutauschen. Das Endgerät 2 hat eine Benutzerschnittstelle 13, die einen Bildschirm 14 und einen Tastenblock 15 umfasst, mittels derer dem Benutzer Informationen angezeigt werden können und der Benutzer Informationen in das Endgerät eingeben kann. Das Endgerät 2 enthält auch eine Übertragungsschnittstelle 16 für Datenübertragungen mit dem Netzwerk 3. Steuerlogik in Form der Endgeräte-Steuereinheit 17 steuert allgemein den Betrieb des Endgeräts und führt einen Prozess zur Anforderung von Informationen von der Karte 5 durch, der nachstehend ausführlich beschrieben wird. Die Endgeräte-Steuereinheit 17 enthält einen Speicher, der hier nicht gesondert gezeigt ist, um Daten so zu speichern, wie sie bei ihren verschiedenen Operationen benötigt werden. Im Allgemeinen könnte die Steuerlogik der Steuereinheiten 8, 17 in Hardware, Software oder einer Kombination daraus realisiert werden, doch wird die Logik in diesem Beispiel mittels Software realisiert, die einen Prozessor des entsprechenden Endgeräts 2 beziehungsweise der entsprechenden Vorrichtung 5 konfiguriert, um die beschriebenen Funktionen auszuführen. Ein solcher Prozessor kann im Allgemeinen einen oder mehrere Verarbeitungschips oder Verarbeitungskerne umfassen. Der Fachmann erkennt geeignete Software aus der in diesem Schriftstück vorgenommenen Beschreibung.
-
In diesem Beispiel gehen wir davon aus, dass die Karte 5 eine eID-Karte ist, die Benutzerdaten gemäß einem auf Attributen beruhenden System codiert, das nachstehend beschrieben wird. Der Benutzer kann die Karte verwenden, um mittels Dialogverkehr mit dem Endgerät 2 auf einen eingeschränkten Dienst oder eine andere Ressource zuzugreifen. Genauer gesagt, der Zugriff auf die Ressource unterliegt dem Nachweis von bestimmten erforderlichen Informationen über die in der Karte gespeicherten Benutzerdaten. In Abhängigkeit von dem jeweiligen Anwendungsszenario kann die Ressource vom Endgerät 2 selbst oder von einer anderen Partei bereitgestellt werden, die das Endgerät 2 steuert oder mit diesem kommunizieren kann. Folglich kann das Endgerät 2 dem Anbieter der Ressource gehören oder auch nicht gehören und es kann auf viele verschiedene Arten für unterschiedliche Anwendungen ausgeführt sein. Im Einzelnen kann das Endgerät 2 ein eigens für eine bestimme Anwendung vorgesehenes Endgerät oder eine Einheit für allgemeine Zwecke sein, wie zum Beispiel ein Personal Computer, ein Mobiltelefon, ein PDA (persönlicher digitaler Assistent) usw., das auf Ressourcen zugreifen kann, die von anderen Einheiten (nicht gezeigt) über das Netzwerk 3 bereitgestellt werden. Die genaue Form des Endgeräts ist für die zu beschreibenden Operationen größtenteils nicht von Bedeutung. Der entscheidende Punkt ist, dass der Zugriff auf eine Ressource dem Nachweis von bestimmten erforderlichen Informationen über Benutzerdaten auf der Karte unterliegt und dass dieser Nachweis mittels Dialogverkehr zwischen der Karte 5 und dem Endgerät 2 erbracht wird. Genauer gesagt, wenn die Karte 5 mit dem Endgerät 2 verbunden wurde und jedwede Vorverarbeitung (wie zum Beispiel die Eingabe und das Prüfen einer Benutzer-PIN (persönlichen Identifikationsnummer) abgeschlossen ist, sendet das Endgerät der Karte eine Anforderung für diejenigen Informationen über seine Benutzerdaten, die für den Zugriff auf die betreffende Ressource benötigt werden. Der Dialogverkehr, der sich zwischen den verschiedenen Komponenten des Systems 1 ergibt, wird nun mit Bezug auf 3 beschrieben.
-
3 gibt einen Überblick über die wichtigsten Schritte, die von der Karte 5 (von der linken Spalte der Figur dargestellt) durchgeführt werden, über das Endgerät 2 (von der in der Mitte der Figur angeordneten Spalte dargestellt) und über den BB-Server (BB) 4 (von der rechten Spalte der Figur dargestellt), wenn eine Anforderung für Informationen von dem Endgerät 2 ausgegeben wird. Der Schritt (a) ganz oben in der Figur stellt das Senden der Anforderung von der Endgeräte-Steuereinheit 17 an die Karten-Steuereinheit 8 über die Schnittstellen 12, 7 der Sicherheitsvorrichtung beziehungsweise des Endgeräts dar. Die über die Benutzerdaten angeforderten Informationen werden hier mittels Regeln p angegeben, die in der Anforderung enthalten sind. Nach dem Empfang der Anforderung, im Schritt (b) der Figur, werden die Regeln p von der Karten-Steuereinheit 8 im flüchtigen Speicher 9 gespeichert. Die Karten-Steuereinheit 8 erzeugt dann eine Nachricht M, die eine Angabe der von dem Endgerät angeforderten Informationen umfasst. In dieser Ausführungsform wird dies erreicht, indem die Regeln p in die Nachricht aufgenommen werden. Die Nachricht M wird auf eine bestimmte Weise erzeugt, die nachstehend ausführlich beschrieben wird, und enthält neben den Regeln p Elemente, um eine spätere Überprüfung, ob die Nachricht M von der Karten-Steuereinheit 8 erzeugt worden ist, zu ermöglichen. Im Schritt (c) der Figur sendet die Karten-Steuereinheit über die Schnittstellen 7, 12 eine Antwort R an die Endgeräte-Steuereinheit 17. Diese Antwort umfasst die Nachricht M, wobei ein Teil der Elemente dieser Nachricht in der Antwort verschlüsselt werden, was nachstehend ausführlich beschrieben wird. Nach dem Empfang der Antwort verbindet sich die Endgeräte-Steuereinheit 17 unter Verwendung der Netzwerk-Schnittstelle 16 des Endgeräts über das Netzwerk 3 mit dem BB-Server 4. Die Endgeräte-Steuereinheit sendet die Antwort dann an den BB-Server 4.
-
Nach dem Empfang der Antwort im Schritt (e) von 3 entnimmt der BB-Server 4 zunächst die Nachricht M aus der Antwort, wobei er einen Prozess verwendet, der nachstehend ausführlich beschrieben wird. Als Nächstes veröffentlicht der Server die Nachricht M, indem er eine Mitteilung P am Schwarzen Brett macht. (Die Funktionsweise von elektronischen Schwarzen Brettern ist in der Technik bekannt und braucht hier nicht weiter beschrieben zu werden.) Der BB-Server 4 erzeugt dann eine kryptographische Konstruktion (cryptographic construction (CC)), welche die veröffentlichte Nachricht P codiert, was nachstehend ausführlich beschrieben wird. Im Schritt (f) sendet der BB-Server die Konstruktion (CC) an das Endgerät 2, und die Endgeräte-Steuereinheit 17 leitet die Konstruktion an die Karten-Steuereinheit 8 weiter.
-
Nach dem Empfang der Konstruktion (CC) prüft die Karten-Steuereinheit 8 im schritt (g), ob die Konstruktion eine gültige Konstruktion für die von der Karten-Steuereinheit erzeugte ursprüngliche Nachricht M ist. Die nachfolgende Aktion hängt von der Gültigkeit der Konstruktion ab. Nur wenn die Konstruktion gültig ist, fährt die Karten-Steuereinheit im Schritt (h) damit fort, die Informationen über ihre Benutzerdaten gemäß der Spezifikation der Regeln p an das Endgerät 2 zu liefern. In diesem Fall trifft das Endgerät dann seine Zugriffsentscheidung, und dem Benutzer wird der Zugriff auf die Ressource folglich entweder gestattet oder verweigert. Wenn die Konstruktion im Schritt (h) jedoch nicht gültig ist, liefert die Karten-Steuereinheit keine Benutzer-Informationen und die Anforderung des Endgeräts wird zurückgewiesen.
-
Beispiele für Protokolle, die von den verschiedenen Einheiten in 3 ausgeführt werden können, werden nun ausführlicher beschrieben. Für dieses Beispiel legen wir einen Satz von Ausstellern I = { I1, I2, ...} sowie einen Satz von Attributen A = {a1, a2, ...} fest. Jeder Aussteller I bestätigt einen bekannten Satz von Attributen aI ⊆ A und die möglicherweise partielle Funktion aI,U, welche die Attribute auf konkrete Werte abbildet, für einen Benutzer U auf Anforderung des Benutzers. Der Aussteller könnte eine solche Anforderung von U zurückweisen, andernfalls aber führt die Transaktion dazu, dass U ein Zertifikat cI,U besitzt, das aus den Attributen aI und ihren Werten aI,U sowie einer kryptographischen Signatur σI,U besteht. Jede dritte Partei kann prüfen, ob die Signatur σ von I stammt, und U kann die signierten Werte nicht ändern, ohne dass die Signatur ungültig wird.
-
Wir nehmen an, dass der Zugriff auf eine Ressource durch den Benutzer U der Karte 5 voraussetzt, dass die Karten-Steuereinheit 8 den Besitznachweis über Attribute und Attributwerte erbringt, die von einem bestimmten Aussteller I ausgestellt wurden. Unter der Annahme, dass die im Speicher 10 der Karte 5 abgelegten Benutzerdaten ein Zertifikat cI,U umfassen, das die erforderlichen Attributwerte enthält, kann die Karten-Steuereinheit 8 einen solchen Nachweis ausstellen.
-
Das zu beschreibende Protokoll verwendet Regeln p, eine Kennung der Zeit τ und eine kryptographische Challenge c. Die Regeln p legen fest, welche Attributwerte freigegeben werden müssen und/oder welche Informationen über bestimmte Attributwerte nachgewiesen werden müssen. Die Zeitkennung τ bindet eine Transaktion an einen bestimmten Zeitpunkt und lässt die Prüfung von Transaktionen innerhalb eines bestimmten Zeitfensters zu, was nachstehend beschrieben wird. Die Challenge c ermöglicht der Karten-Steuereinheit, ihre eigenen Transaktionsnachrichten unter den vom BB-Server 4 veröffentlichten Transaktionsnachrichten zu ermitteln. Das System verwendet auch aus einem öffentlichen und einem privaten Schlüssel bestehende Schlüsselpaare, wobei das Schlüsselpaar einer Entität X aus einem öffentlichen Schlüssel pkx, von dem angenommen wird, dass er allgemein bekannt ist, und einem geheimen Schlüssel skx (der auch als „privater Schlüssel“ bezeichnet wird), von dem angenommen wird, dass er nur X bekannt ist, besteht.
-
Der Betrieb des Systems wird mit Bezug auf das Prozess-Ablaufdiagramm von 4 beschrieben. Diese entspricht allgemein 3, gibt aber Schritte des Protokolls ausführlicher an. Im Schritt (a) der Figur erhält das Endgerät 2 die aktuelle Zeit τ (wobei es sich versteht, dass „Zeit“ hier Echtzeit sein kann, aber auch allgemeiner in Bezug auf jede geordnete Abfolge von Ereignissen gemessen werden kann, wobei die Zeitangabe τ einfach als ein Index betrachtet werden kann, der eine bestimmte Phase in einer geordneten Abfolge von Ereignissen angibt). Geeignete Zeitquellen zur Erzeugung des Zeitindex τ, ungeachtet dessen, ob er im Endgerät 2 oder in einer anderen Einheit realisiert wird, auf die über das Netzwerk 3 zugegriffen werden kann, sind für den Fachmann offensichtlich. Die Zeit τ ist mit den Regeln p in der Anforderung enthalten, die an die Karte 5 gesendet wird, wie vorstehend beschrieben wurde.
-
Im Schritt (b) der Figur umfasst die von der Karten-Steuereinheit
8 erzeugte Nachricht M eine kryptographische Challenge c, die von einem nachstehend ausführlich beschriebenen Prozess erzeugt wird, und einen Geheimtext, der die Regeln p verschlüsselt. Dieser verwendet einen Verschlüsselungsalgorithmus E, dessen Eingabe die Regeln p und ein öffentlicher Schlüssel pk
c eines aus einem öffentlichen und einem privaten Schlüssel bestehenden Schlüsselpaares pk
c, sk
c bilden, welches der Karte zugeordnet und im persistenten Speicher
10 abgelegt ist. Der Verschlüsselungsalgorithmus erzeugt einen Geheimtext
indem er p mit dem öffentlichen Schlüssel pk
c verschlüsselt. Es gibt einen Entschlüsselungsalgorithmus, der den geheimen Schlüssel sk
c verwendet, welcher nur der Karten-Steuereinheit
8 bekannt ist, um
zu erzeugen. Die Verschlüsselung wird hier mittels eines Verschlüsselungsalgorithmus E, dem der Schlüssel nicht bekannt ist, durchgeführt, so dass niemand die verschlüsselten Begriffe verknüpfen kann. Als ein Beispiel kann das Kryptosystem ElGamal verwendet werden, da es kurzlebige Schlüssel verwendet. (Das System ElGamal ist dem Fachmann bekannt und ist in
„A Public Key Cryptosystem and a Signature Scheme based on Discrete Logarithms" von T. ElGamal in „Advances in Cryptology": CRYPTO 1984, Band 196 von LNCS, Seiten 10 bis 18, Springer 1985, beschrieben). Wenn man folglich eine zyklische Gruppe G mit dem Generator g und der Ordnung q verwendet, kann die Karte ein Geheimnis z ∈ G und h = g
z speichern. Die Verschlüsselung würde als
berechnet werden, wobei r ein zufällig gewähltes Gruppenelement ist.
-
Die kryptographische Challenge c und die Zeitangabe τ werden zusammen mit den Regeln p im flüchtigen Speicher 9 der Karte gespeichert. Die Challenge wird dann mit dem öffentlichen Schlüssel pkBB eines aus einem öffentlichen und einem privaten Schlüssel bestehenden Schlüsselpaares pkBB, skBB, das dem BB-Server 4 zugeordnet ist, verschlüsselt, was einen Geheimtext δ = EpkBB(c) erzeugt. Dadurch wird sichergestellt, dass nur der echte BB-Server 4 die Challenge entschlüsseln kann. Die im Schritt (c) von 4 von der Karte 5 an das Endgerät 2 gesendete Antwort umfasst, wie angegeben, die beiden Geheimtexte γ, δ. Im Schritt (d) leitet das Endgerät 2 die Antwort an den BB-Server 4 zusammen mit der Zeit τ, die der Anforderung im Schritt (a) zugeordnet wurde, weiter.
-
Im Schritt (e) entnimmt der BB-Server mittels Entschlüsselung zunächst die Challenge c für die Nachricht
Daraufhin veröffentlicht der Server
4 τ, c und die verschlüsselten Regeln γ in einer Mitteilung am Schwarzen Brett. Als Nächstes erzeugt der Server
4 eine kryptographische Konstruktion, welche die Veröffentlichung codiert. Genauer gesagt, der Server
4 verwendet einen Algorithmus zur Erzeugung einer Signatur S
sk'BB (τ, c, γ), um die Veröffentlichung mit einem geheimen BB-Signaturschlüssel sk'
BB zu signieren, um eine Signatur σ zu erzeugen. (Man beachte, dass sich das Signatur-Schlüsselpaar von BB
4 von dem Verschlüsselungs-Schlüsselpaar, das vorstehend erwähnt wurde, unterscheidet). Die Signatur σ wird im Schritt (f) dann an die Karte
5 zurückgeschickt.
-
Im Schritt (g) prüft die Karten-Steuereinheit die Gültigkeit der Signatur für die Regeln p, die Challenge c und die Zeit τ, welche für die Anforderung im flüchtigen Speicher 9 gespeichert wird. Dabei kommt ein Signatur-Prüfalgorithmus Vpk'BB zur Anwendung, der den öffentlichen schlüssel pk'BB, welcher dem Signaturschlüssel sk'BB entspricht, verwendet, um die Signatur zu decodieren. Der Prüfalgorithmus liefert „true“ („wahr“) nur dann zurück, wenn die Veröffentlichung (τ, c, γ) dieselben Werte für die Challenge c und die im Speicher 9 für die Anforderung gespeicherte Zeit τ enthält und wenn die Decodierung des Geheimtextes γ mit dem geheimen Schlüssel skc genau die gleichen Regeln p, die im Speicher 9 gespeichert sind, ergibt. Folglich bestätigt die Karte 5 den Berechtigungsnachweis σ nur dann als gültig, wenn er eine gültige Signatur auf der richtigen Zeit τ und der ursprünglich von der Karte erzeugten Nachricht (γ, c) darstellt. Unter der Vertrauensannahme für den BB-Server 4 liefert dies den Nachweis, dass die ursprüngliche Nachricht, die die Regeln p enthält, korrekt auf dem Schwarzen Brett veröffentlicht worden ist. Die Überprüfung der Signatur stellt auch sicher, dass die dem BB-Server im Schritt (d) gelieferte Zeit τ gleich der Zeit war, die der Karte im Schritt (a) geliefert wurde. (Wenn der BB-Server so ausgelegt ist, dass er die Zeit τ auf Richtigkeit prüft, kann überdies die Richtigkeit der verwendeten Zeit sichergestellt werden). Wenn die Signatur gültig ist, erbringt die Karten-Steuereinheit 8 im Schritt (g) den erforderlichen Kenntnisnachweis PK(p) über die Benutzerattribute in dem Benutzerzertifikat cI,U gemäß den Regeln p und liefert dabei die über die Benutzerdaten angeforderten Informationen an das Endgerät 2.
-
Man wird sehen, dass es das beschriebene System der Karten-Steuereinheit 8 ermöglicht, sicher zu sein, dass die Regeln p, welche die von dem Endgerät 2 angeforderten Informationen angeben, auf dem vertrauenswürdigen Schwarzen Brett veröffentlicht werden, bevor die angeforderten Informationen tatsächlich an das Endgerät 2 geliefert werden. Nach der Transaktion mit dem Endgerät 2 kann der Benutzer die Karte 5 ferner jederzeit zu einem vertrauenswürdigen Endgerät bringen, um die Regeln p abzurufen. Dadurch kann der Benutzer prüfen, ob diese Regeln mit den Regeln übereinstimmten, die dem Benutzer während der Transaktion über den Bildschirm 14 des Endgeräts mitgeteilt wurden. 5 gibt einen Überblick über die grundlegenden Schritte dieses Prüfprozesses. Die Figur zeigt den Dialogverkehr zwischen der Karte 5 (über das vertrauenswürdige Endgerät), die von der linken Spalte der Figur dargestellt wird, und dem BB-Server 4, der von der rechten Spalte der Figur dargestellt wird. Für diese äußerst praktische Realisierung wählt der Benutzer im Schritt (a) des Prozesses ein Zeitfenster aus, für das der Prüfprozess durchgeführt wird. Der Prüfprozess wird dann auf Nachrichten beschränkt, die vom BB-Server 4 in diesem Zeitfenster veröffentlicht werden. Das Zeitintervall wird vom Benutzer mit Hilfe des vertrauenswürdigen Endgeräts ausgewählt und ist in der Figur dargestellt durch Δτ = (τ1 ...τ2). Im Schritt (b) sendet die Karten-Steuereinheit 8 über das vertrauenswürdige Endgerät eine Anforderung für BB-Veröffentlichungen (τi, ci, γi), die Zeiten τ in dem angegebenen Zeitintervall Δτ enthalten, an den BB-Server 4. Der BB-Server 4 ruft die entsprechenden Veröffentlichungen (τi, ci, γi), die Nachrichten (ci, γi) enthalten, im Schritt (c) ab und sendet diese im Schritt (d) an die Karte 5. Als Nächstes ermittelt die Karten-Steuereinheit 8 im Schritt (e) alle Nachrichten (ci, γi) aus den zurückgeschickten Veröffentlichungen, die von der Steuereinheit 8 erzeugt worden sind. Die Karten-Steuereinheit kann prüfen, welche der Nachrichten sie selbst erzeugt hat, indem sie den geheimen Schlüssel s verwendet, der im persistenten Speicher 10 der Karte abgelegt ist. Dies wird nachstehend ausführlicher erklärt. Für jede auf diese Weise ermittelte Nachricht entschlüsselt die Steuereinheit 8 im Schritt (f) dann den Geheimtext γi, um die darin codierten Regeln pi zu erhalten. Die sich ergebenden Regeln pi und die zugeordnete Zeit τi werden dem Benutzer dann über das Endgerät angezeigt. Der Benutzer kann folglich das Prüfprotokoll seiner Transaktionen mit älteren Endgeräten durchsehen und nachprüfen, dass nicht mehr Informationen als die von dem Endgerät damals preisgegebenen offengelegt wurden. Abweichungen können somit erkannt und böswillige Endgeräte einer entsprechenden Stelle gemeldet werden.
-
Bestimmte Verfahren, die die Überprüfung der Urheberschaft von Nachrichten durch die Karten-Steuereinheit 8 ermöglichen, werden nun beschrieben. Diese Verfahren ermöglichen die Durchführung des Prüfprozesses, ohne dass die Karte Daten in ihren persistenten Speicher 10 schreiben muss. Das heißt, zwischen einer bestimmten Transaktion, die die Erzeugung einer Nachricht einschließt, die für den BB-Server 4 veröffentlicht wird, und dem nachfolgenden Prüfprozess, bei dem diese Nachricht von der Karten-Steuereinheit 8 ermittelt wird, brauchen keine nachrichtenspezifischen Daten (wie zum Beispiel die Challenge c oder gar ein Zähler) von der Karte 5 gespeichert zu werden. Da kein persistenter Speicher verwendet wird, muss die Karten-Steuereinheit ein paar Berechnungen durchführen, wenn sie Informationen vom Schwarzen Brett abruft. Zwei Strategien werden erklärt, die es der Karten-Steuereinheit ermöglichen, die Challenge c so zu berechnen, dass sie ihre eigenen Nachrichten unter BB-Veröffentlichungen ermitteln kann, ohne anderen Parteien zu erlauben, verschiedene Transaktionen derselben Einheit zu verknüpfen.
-
Das erste Verfahren verwendet eine verhältnismäßig kleine, zufällig gewählte Zahl r ∈ {0,1}h, den festen geheimen Wert s, der im Kartenspeicher 10 gespeichert ist, und eine prüfbare zufällige Funktion (verifiable random function (VRF)) wie zum Beispiel f(x) = gI/(x+s) (mod ν), wobei g ein Generator einer Gruppe G mit Primzahlordnung v ist, wie in „A verifiable random function with short proofs and keys“, Y, Dodis und A. Yampolskiy, in „Public Key Cryptography" '05, Band 3386 von LNCS, Seiten 416 bis 431, Springer, 2005, beschrieben ist. Die Karten-Steuereinheit 8 berechnet die Challenge mit c = f(r) = gl/(r+s) (mod ν) . Um ihre Urheberschaft einer veröffentlichten Nachricht (ci, γi) zu überprüfen, berechnet die Steuereinheit 8 c1 = f(r1) für alle Auswahlmöglichkeiten r1 ∈ {0,1}h. Im Schritt (e) von 5 kann die Steuereinheit 8 all die möglichen Werte der Challenge c1 mit den Challenges vergleichen, die in Nachrichten empfangen wurden, welche auf dem Schwarzen Brett (BB) veröffentlicht wurden. Das Grundprinzip bei dieser Lösung besteht darin, eine kleine Zahl von (zufällig gewählten) Werten auf einen großen Nachrichtenraum abzubilden. Die Parameter werden so gewählt, dass: (1) die Wahrscheinlichkeit, dass die Karten-steuereinheit 8 dieselbe Zahl r während ihrer Lebensdauer (oder zumindest einer langen Zeitspanne im Vergleich zu der Anzahl der Transaktionen), wählt, gering ist; und (2) die Wahrscheinlichkeit, dass zwei verschiedene Karten-Steuereinheiten dieselbe Challenge c erzeugen, vernachlässigbar ist. (Um jedoch der Möglichkeit Rechnung zu tragen, dass Kollisionen auftreten können, kann eine Prüfsumme in den Regeln verwendet werden, um falsch entschlüsselte Regeln zu ermitteln, die zu entfernen sind).
-
Das zweite Verfahren schließt die Berechnung der Challenge c für eine Nachricht ein, so dass die Challenge ein Paar von Werten umfasst, die von einer Zufallszahl r abhängen und die eine vorher festgelegte Beziehung haben, welche von dem festen geheimen Wert s abhängt. Bei dem Prüfprozess werden Nachrichten (ci, γi), die von der Steuereinheit erzeugt wurden, ermittelt, indem jede Challenge ci, die ein Paar von Werten umfasst, welche die erforderliche Beziehung haben, ermittelt wird. Genauer gesagt, die Karten-Steuereinheit 8 berechnet die Challenge, indem sie eine Zufallszahl mit g ∈R G auswählt und das gespeicherte Geheimnis s verwendet, um gs zu berechnen. Die Challenge c wird auf c = (g, gs) gesetzt. Bei dem Prüfprozess kann die Steuereinheit 8 jede Challenge c = (g, g') in den Veröffentlichungen herunterladen und im Schritt (e) von 5 gs berechnen. Alle veröffentlichten Nachrichten mit g' = gs stammen von der Karten-Steuereinheit 8. Sowohl bei diesem als auch bei dem ersten Verfahren ist der Nachrichtenraum, dem das Geheimnis s entnommen wird, groß genug, so dass es sehr unwahrscheinlich ist, dass verschiedene Karten dasselbe Geheimnis verwenden.
-
Man wird sehen, dass es das vorstehende System Datensicherheitsvorrichtungen wie der intelligenten Chipkarte 5 mit streng limitierten Schreibzyklen in den persistenten Speicher und keinen E/A-Funktionen ermöglicht, ein zuverlässiges Prüfprotokoll für Transaktionen mit den nicht vertrauenswürdigen Endgeräten 2 zu erreichen. Dieses Prüfprotokoll ist nur für den Benutzer der Karte bestimmt und setzt daher kein Vertrauen in die Datenschutzversprechen eines unabhängigen Prüfers voraus. Der Benutzer der Karte kann sicher sein, dass Regeln, die angeforderte Benutzerinformationen angeben, veröffentlicht wurden, bevor die Informationen tatsächlich an ein Endgerät geliefert werden. Darüber hinaus kann der Benutzer die veröffentlichten Regeln abrufen und prüfen, ohne dass eine andere Partei den Benutzer ermitteln oder gar verschiedene Transaktionen desselben Benutzers verknüpfen kann. Böswillige Endgeräte, die mehr Daten anfordern, als sie tatsächlich preisgeben, können auf diese Weise ermittelt und gemeldet werden, was ein wirksames Abschreckungsmittel für betrügerische Handlungen an Endgeräten darstellt. Für einen sicheren Betrieb benötigt das System nur einen vertrauenswürdigen BB-Server 4 und den Benutzerzugriff auf ein vertrauenswürdiges Endgerät für den Prüfprozess. Selbst der vertrauenswürdige BB-Server erfährt nichts über die Benutzertransaktionen (d.h. weder über die Parteien noch über die ausgetauschten Informationen). Das Protokoll macht es nicht erforderlich, dass die Datensicherheitsvorrichtung Informationen über einzelne Transaktionen dauerhaft speichert. Die beim Abrufen des Prüfprotokolls notwendigen Berechnungen finden zu einem Zeitpunkt statt, zu dem die Reaktionszeit weitaus weniger kritisch ist als während der Transaktion selbst. Das Transaktionsprotokoll von 4 stellt sicher, dass es zwischen dem ersten Teil der Transaktion und den im Schritt (g) vorgenommenen Überprüfungen keinen Stromausfall gab. Folglich kann die Karten-Steuereinheit Vorberechnungen durchführen, die von den Regeln unabhängig sind, und diese Vorberechnung kann den Zeitraum, den ein Benutzer bis zum Abschluss des endgültigen Nachweises im Schritt (h) von 4 warten muss, beträchtlich verringern. Dies kann sehr wichtig sein, um beispielsweise Erwartungen an eID-Kartensysteme zu erfüllen.
-
Zwar ist die Datensicherheitsvorrichtung vorstehend eine intelligente Chipkarte, doch können zahlreiche andere Formen einer Datensicherheitsvorrichtung in Betracht gezogen werden, unter anderem ganz allgemein jede beliebige Form eines Daten tragenden Hardware-Tokens. Während vorstehend überdies ein auf Attributen beruhendes System zur Codierung von Benutzerdaten beschrieben wurde, könnten natürlich auch andere Systeme in Ausführungsformen der Erfindung eingesetzt werden. Viele andere Ab- und Veränderungen können an den beschriebenen beispielhaften Ausführungsformen vorgenommen werden, ohne vom Umfang der Erfindung abzuweichen.