Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR CREATING ASYMMETRICAL CRYPTOGRAPHIC KEY PAIRS
Document Type and Number:
WIPO Patent Application WO/2010/105912
Kind Code:
A1
Abstract:
The invention relates to a method for creating a set of asymmetrical cryptographic key pairs, wherein the set of key pairs has a first key pair (K1) and a second key pair (K2), wherein the first key pair is formed by a first private (G1) and a first public key (O1) and the second key pair is formed by a second private (G2) and a second public key (O2), wherein a first cipher (C_G2_O1) is allocated to the first and second key pair, wherein the first cipher is formed by an encryption of the second private key (G2) with the first public key (O1), having the following steps: adding a third asymmetrical cryptographic key pair (K3) to the set of key pairs, wherein the third key pair is formed by a third private (G3) and a third public key (O3); creating a second cipher (C_G3_O1) by encrypting the third private key (G3) with the first public key (O1); storing the second cipher (212; 186), wherein the set of key pairs has a directed graph structure.

Inventors:
SPALKA ADRIAN (DE)
LENHARDT JAN (DE)
Application Number:
PCT/EP2010/052733
Publication Date:
September 23, 2010
Filing Date:
March 04, 2010
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
COMPUGROUP HOLDING AG (DE)
SPALKA ADRIAN (DE)
LENHARDT JAN (DE)
International Classes:
G06F21/62
Other References:
SANDHU R S: "On some cryptographic solutions for access control in a tree hierarchy", PROCEEDINGS 1987 FALL JOINT COMPUTER CONFERENCE - EXPLORING TECHNOLOGY: TODAY AND TOMORROW (CAT. NO.87CH2468-7) IEEE COMPUT. SOC. PRESS WASHINGTON, DC, USA, 1987, pages 405 - 410, XP007912584, ISBN: 0-8186-0811-0
EHUD GUDES: "The Design of a Cryptography Based Secure File System", IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, vol. 6, no. 5, September 1980 (1980-09-01), pages 411 - 420, XP007912572
KUO F H ET AL: "Cryptographic key assignment scheme for dynamic access control in a user hierarchy", IEE PROCEEDINGS: COMPUTERS AND DIGITAL TECHNIQUES, IEE, GB LNKD- DOI:10.1049/IP-CDT:19990311, vol. 146, no. 5, 22 September 1999 (1999-09-22), pages 235 - 240, XP006013180, ISSN: 1350-2387
ATALLAH M J ET AL: "DYNAMIC AND EFFICIENT KEY MANAGEMENT FOR ACCESS HIERARCHIES", PROCEEDINGS OF THE 12TH. ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY. (CCS'05). ALEXANDRIA, VA, NOV. 7 - 11, 2005; [ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY], NEW YORK, NY : ACM, US LNKD- DOI:10.1145/1102120.1102147, vol. CONF. 12, 7 November 2005 (2005-11-07), pages 190 - 201, XP001241630, ISBN: 978-1-59593-226-6
CHUNG ET AL: "Access control in user hierarchy based on elliptic curve cryptosystem", INFORMATION SCIENCES, AMSTERDAM, NL LNKD- DOI:10.1016/J.INS.2007.08.001, vol. 178, no. 1, 9 October 2007 (2007-10-09), pages 230 - 243, XP022289858, ISSN: 0020-0255
Attorney, Agent or Firm:
RICHARDT, Markus (DE)
Download PDF:
Claims:
P a t e n t a n s p r ü c h e

1. Verfahren zur Erzeugung eines Satzes von asymmetrischen kryptografischen Schlüsselpaaren, wobei der Satz von Schlüsselpaaren ein erstes Schlüsselpaar

(K1 ) und ein zweites Schlüsselpaar (K2) aufweist, wobei das erste Schlüsselpaar durch einen ersten privaten (G1 ) und einen ersten öffentlichen Schlüssel (01 ) gebildet wird und das zweite Schlüsselpaar durch einen zweiten privaten (G2) und einen zweiten öffentlichen Schlüssel (02) gebildet wird, wobei dem ersten und zweiten Schlüsselpaar ein erstes Chiffrat (C_G2_O1 ) zugeordnet ist, wobei das erste Chiffrat durch eine Verschlüsselung des zweiten privaten Schlüssels (G2) mit dem ersten öffentlichen Schlüssel (01 ) gebildet wird, mit den folgenden Schritten:

- Hinzufügen eines dritten asymmetrischen kryptografischen Schlüsselpaars (K3) zu dem Satz von Schlüsselpaaren, wobei das dritte Schlüsselpaar durch einen dritten privaten (G3) und einen dritten öffentlichen Schlüssel (03) gebildet wird,

- Erzeugung eines zweiten Chiffrats (C_G3_O1 ) durch Verschlüsselung des dritten privaten Schlüssels (G3) mit dem ersten öffentlichen Schlüssel (01 ), - Speicherung des zweiten Chiffrats (212; 186), wobei der Satz von Schlüsselpaaren eine gerichtete Graphstruktur aufweist, wobei die Knoten des Graphs die Schlüsselpaare und die Kanten die Chiffrate repräsentieren, wobei eine Abhängigkeit zwischen einem Vorgängerschlüsselpaar und einem dem Vorgängerschlüsselpaar im Graph unmittelbar nachfolgenden Nachfolgerschlüsselpaar durch ein Chiffrat gebildet wird, wobei das Chiffrat durch Verschlüsselung des privaten Schlüssels des Nachfolgerschlüsselpaars mit dem öffentlichen Schlüssel des Vorgängerschlüsselpaars gebildet ist, wobei bis auf das den Wurzelknoten des Graphs bildenden Schlüsselpaar jedes Schlüsselpaar im Graph durch mindestens ein Chiffrat von einem anderen Schlüsselpaar abhängig ist.

2. Verfahren nach Anspruch 1 , wobei bis auf das den Wurzelknoten des Graphs bildenden Schlüsselpaar jedes Schlüsselpaar im Graph durch genau ein Chiffrat von einem anderen Schlüsselpaar abhängig ist.

3. Verfahren nach einem der vorigen Ansprüche, wobei der Satz von Schlüsselpaaren zwei beliebige Schlüsselpaare mit je einem privaten und einem öffentlichen Schlüssel aufweist, ferner mit den Schritten: - Erzeugung eines vierten Chiffrats durch Verschlüsselung des privaten

Schlüssels des ersten Schlüsselpaars der beliebigen Schlüsselpaare mit dem öffentlichen Schlüssel des zweiten Schlüsselpaars der beliebigen Schlüssel paare, - Speicherung des vierten Chiffrats.

4. Verfahren nach einem der vorigen Ansprüche, wobei die Chiffrate in einer vertrauenswürdigen Stelle gespeichert werden.

5. Verfahren nach einem der vorigen Ansprüche, wobei der zweite private Schlüssel und/oder der private Nachfolgerschlüssel und/oder der private

Schlüssel des ersten Schlüsselpaars der beliebigen Schlüsselpaare von einem tragbaren Datenträger empfangen wird.

6. Verfahren nach Anspruch 4, wobei der tragbare Datenträger einen Prozessor aufweist, wobei das Verfahren auf dem Prozessor des tragbaren Datenträgers durchgeführt wird.

7. Verfahren nach einem der vorigen Ansprüche, wobei zusammen mit den Chiffraten Klassifizierungsmerkmale gespeichert werden, wobei die Klassifizierungsmerkmale eine Gültigkeit der Chiffrate festlegen, wobei die

Gültigkeit angibt, dass nach Ablauf der Gültigkeit eine Verwendung der Chiffrate für Datenverarbeitungsvorgänge verhindert werden soll.

8. Verfahren nach Anspruch 7, wobei es sich bei den Klassifizierungsmerkmalen um eine Gültigkeit nach Zeitintervall und/oder eine Gültigkeit nach Anzahl der

Benutzungen und/oder eine Gültigkeit nach Art der Benutzung handelt.

9. Computerprogramm produkt mit von einem Prozessor ausführbaren Instruktionen zur Durchführung der Verfahrensschritte des Verfahrens nach einem der vorigen Ansprüche. l O. Datenverarbeitungssystem zur Erzeugung eines Satzes von asymmetrischen kryptografischen Schlüsselpaaren, wobei der Satz von Schlüsselpaaren ein erstes Schlüsselpaar (K1 ) und ein zweites Schlüsselpaar (K2) aufweist, wobei das erste Schlüsselpaar durch einen ersten privaten (G1 ) und einen ersten öffentlichen Schlüssel (01 ) gebildet wird und das zweite Schlüsselpaar durch einen zweiten privaten (G2) und einen zweiten öffentlichen Schlüssel (02) gebildet wird, wobei dem ersten und zweiten Schlüsselpaar ein erstes Chiffrat (C_G2_O1 ) zugeordnet ist, wobei das Chiffrat durch eine Verschlüsselung des zweiten privaten Schlüssels (G2) mit dem ersten öffentlichen Schlüssel (01 ) gebildet wird, wobei das Datenverarbeitungssystem umfasst:

- Mittel zum Hinzufügen eines dritten asymmetrischen kryptografischen Schlüsselpaars (K3) zu dem Satz von Schlüsselpaaren, wobei das dritte Schlüsselpaar durch einen dritten privaten (G3) und einen dritten öffentlichen Schlüssel (03) gebildet wird, - Mittel zur Erzeugung eines zweiten Chiffrats (C_G3_O1 ) durch

Verschlüsselung des dritten privaten Schlüssels (G3) mit dem ersten öffentlichen Schlüssel (01 ),

- Mittel zur Speicherung des zweiten Chiffrats (212; 186) , wobei der Satz von Schlüsselpaaren eine gerichtete Graphstruktur aufweist, wobei die Knoten des Graphs die Schlüsselpaare und die Kanten die Chiffrate repräsentieren, wobei eine Abhängigkeit zwischen einem Vorgängerschlüsselpaar und einem dem Vorgängerschlüsselpaar im Graph unmittelbar nachfolgenden Nachfolgerschlüsselpaar durch ein Chiffrat gebildet wird, wobei das Chiffrat durch Verschlüsselung des privaten Schlüssels des Nachfolgerschlüsselpaars mit dem öffentlichen Schlüssel des

Vorgängerschlüsselpaars gebildet ist, wobei bis auf das den Wurzelknoten des Graphs bildenden Schlüsselpaar jedes Schlüsselpaar im Graph durch mindestens ein Chiffrat von einem anderen Schlüsselpaar abhängig ist..

11.Verfahren zur Bereitstellung von Chiffraten, wobei die Chiffrate einem Satz von asymmetrischen kryptografischen Schlüsselpaaren zugeordnet sind, wobei der Satz von Schlüsselpaaren zusammen mit den Chiffraten eine gerichtete Graphstruktur aufweist, wobei die Knoten des Graphs die Schlüsselpaare repräsentieren und die Kanten die Chiffrate repräsentieren, wobei eine Abhängigkeit zwischen einem Vorgängerschlüsselpaar und einem dem Vorgängerschlüsselpaar im Graph unmittelbar nachfolgenden Nachfolgerschlüsselpaar durch ein Chiffrat gebildet wird, wobei das Chiffrat durch Verschlüsselung des privaten Schlüssels des Nachfolgerschlüsselpaars mit dem öffentlichen Schlüssel des Vorgängerschlüsselpaars gebildet ist, wobei das Verfahren die Chiffrat-Bereitstellungsschritte umfasst:

- Empfang einer ersten und einer zweiten Kennung, wobei die erste Kennung einem ersten der Knoten zugeordnet ist und die zweite Kennung einem zweiten der Knoten zugeordnet ist, - Ermittlung aller Chiffrate, welche in der Graphstruktur eine Abhängigkeit zwischen dem ersten der Knoten und dem letzten der Knoten beschreiben,

- Bereitstellung der ermittelten Sequenz von Chiffraten.

12. Verfahren nach Anspruch 11 , wobei bis auf das den Wurzelknoten des Graphs bildenden Schlüsselpaar jedes Schlüsselpaar im Graph durch mindestens ein

Chiffrat von einem anderen Schlüsselpaar abhängig ist.

13. Verfahren nach einem der Ansprüche 11 oder 12, wobei die Sequenz von Chiffraten nach einer erfolgreichen Authentisierung ermittelt und/oder bereitgestellt wird.

14. Verfahren nach einem der vorigen Ansprüche 11 bis 13, wobei die Chiffrate mit Klassifizierungsmerkmalen verknüpft sind, wobei die Klassifizierungsmerkmale eine Gültigkeit der Chiffrate festlegen, wobei die Gültigkeit angibt, dass nach Ablauf der Gültigkeit eine Bereitstellung der Chiffrate verhindert werden soll, wobei eine Bereitstellung der Chiffrate nur dann erfolgt, wenn die Gültigkeit der Chiffrate erfolgreich validiert wurde.

15. Verfahren nach einem der Ansprüche 11 bis 14, wobei die zweite Kennung einem Datenobjekt zugeordnet ist, wobei das Datenobjekt mit dem öffentlichen

Schlüssel desjenigen der Knoten verschlüsselt ist, dem das Datenobjekt zugeordnet ist.

16. Verfahren nach Anspruch 15, ferner mit dem Schritt einer Datenentschlüsselung, wobei die Datenentschlüsselung die Schritte umfasst: - Ermittlung eines privaten Schlüssels durch Entschlüsselung des ersten Chiffrats der Sequenz von Chiffraten mit dem privaten Schlüssel des Schlüsselpaars, welches dem ersten der Knoten zugeordnet ist,

- Ermittlung eines nächsten privaten Schlüssels durch Entschlüsselung des nächsten Chiffrats der Sequenz von Chiffraten mit dem zuvor ermittelten privaten Schlüssel und Wiederholung dieses Schrittes solange, bis das letzte Chiffrat der Sequenz von Chiffraten entschlüsselt wurde,

- Entschlüsselung des verschlüsselten Datenobjekts.

17. Verfahren nach einem der vorigen Ansprüche 15 oder 16, wobei der Schritt der

Datenentschlüsselung und die Chiffrat-Bereitstellungsschritte von unterschiedlichen Datenverarbeitungssystemen durchgeführt werden.

18. Verfahren nach Anspruch 17, wobei der Schritt der Datenentschlüsselung durch eine vertrauenswürdige Stelle durchgeführt wird.

19. Computerprogrammprodukt mit von einem Prozessor ausführbaren Instruktionen zur Durchführung der Verfahrensschritte des Verfahrens nach einem der vorigen Ansprüche 11 bis 18.

20. Datenverarbeitungssystem zur Bereitstellung von Chiffraten, wobei die Chiffrate einem Satz von asymmetrischen kryptografischen Schlüsselpaaren zugeordnet sind, wobei der Satz von Schlüsselpaaren eine gerichtete Graphstruktur aufweist, wobei die Knoten des Graphs die Schlüsselpaare repräsentieren und wobei die Kanten des Graphs die Chiffrate repräsentieren, wobei eine

Abhängigkeit zwischen einem Vorgängerschlüsselpaar und einem dem Vorgängerschlüsselpaar im Graph unmittelbar nachfolgenden Nachfolgerschlüsselpaar durch ein Chiffrat gebildet wird, wobei das Chiffrat durch Verschlüsselung des privaten Schlüssels des Nachfolgerschlüsselpaars mit dem öffentlichen Schlüssel des Vorgängerschlüsselpaars gebildet ist, wobei das Datenverarbeitungssystem umfasst:

- Mittel zum Empfang einer ersten und einer zweiten Kennung, wobei die erste Kennung einem ersten der Knoten zugeordnet ist und die zweite Kennung einem zweiten der Knoten zugeordnet ist, - Mittel zur Ermittlung aller Chiffrate, welche in der Graphstruktur eine Abhängigkeit zwischen dem ersten der Knoten und dem letzten der Knoten beschreiben,

- Mittel zur Bereitstellung der ermittelten Sequenz von Chiffraten.

Description:
Verfahren zur Erzeugung von asymmetrischen kryptografischen Schlüsselpaaren

B e s c h r e i b u n g

Die Erfindung betrifft ein Verfahren zur Erzeugung eines Satzes von asymmetrischen kryptografischen Schlüsselpaaren, ein Datenverarbeitungssystem zur Erzeugung eines Satzes von asymmetrischen kryptografischen Schlüsselpaaren, ein entsprechendes Computerprogrammprodukt sowie ein Verfahren zur Bereitstellung von Chiffraten, ein Datenverarbeitungssystem zur Bereitstellung von Chiffraten und ein entsprechendes Computerprogrammprodukt.

Chipkarten werden heutzutage in vielfältiger Form zur Ver- und Entschlüsselung von Daten eingesetzt. Ein Anwendungsgebiet für Chipkarten ist die sogenannte elektronische Gesundheitskarte, welche in Zukunft die Krankenversicherungskarte in

Deutschland ersetzen soll. Ziel ist es dabei, eine Datenübermittlung zwischen medizinischen Leistungserbringern, Krankenkassen, Apotheken und Patienten in

Zukunft kostengünstiger zu gestalten, zu vereinfachen und zu beschleunigen. Dazu gehört auch u.a. die Ermöglichung eines Zugriffs auf einen elektronischen Arztbrief, eine elektronische Krankenakte sowie ein elektronisches Rezept mit Hilfe der elektronischen Gesundheitskarte.

Somit können medizinische Datenobjekte (MDOs) wie ein elektronischer Arztbrief, eine elektronische Krankenakte oder ein elektronisches Rezept verschlüsselt und digital signiert auf einem zentralen Server gespeichert werden. Eine Verschlüsselung erfolgt dabei vorzugsweise über einen symmetrischen Schlüssel, der für jedes neue medizinische Datenobjekt einer elektronischen Krankenakte, wie z.B. einen elektronischen Arztbrief oder ein elektronisches Rezept, individuell zufällig erzeugt wird. Der symmetrische Schlüssel selbst wird nach seiner Erstellung beispielsweise mit einem öffentlichen Schlüssel verschlüsselt und zusammen mit den verschlüsselten medizinischen Datenobjekten auf dem zentralen Server abgelegt. Dieser zur

Verschlüsselung verwendete öffentliche Schlüssel bildet zusammen mit einem privaten

Schlüssel, welcher auf der elektronischen Gesundheitskarte abgespeichert ist, ein kryptografisches, asymmetrisches Schlüsselpaar. Damit ist gewährleistet, dass ausschließlich unter Verwendung des geheimen Gesundheitskartenschlüssels ein Zugriff auf die verschlüsselten medizinischen Datenobjekte möglich ist. Bei einem solchen Zugriff erfolgt zunächst eine Entschlüsselung des verschlüsselten symmetrischen Schlüssels mittels des geheimen Gesundheitskartenschlüssels, woraufhin dann mit dem entschlüsselten symmetrischen Schlüssel eine weitere Entschlüsselung der medizinischen Datenobjekte möglich ist. Wurde bei der Erstellung eines MDOs auch eine digitale Signatur mit dem geheimen Gesundheitskartenschlüssel erzeugt, so kann anschließend die Integrität des MDOs und die Authentizität des MDO- Erzeugers über die digitale Signatur verifiziert werden.

Aus dem Stand der Technik sind verschiedene Systeme zur Erzeugung und Verwaltung von kryptografischen Schlüsseln bekannt. Beispielsweise offenbart die WO 2008/026184 A2 ein hierarchisches Key-Management-System für den Zugriff auf verschlüsselte Daten. Die US 10/2008/0022361 beschreibt eine hierarchische Rechteverwaltung für ein Computer-Dateisystem. Die DE 101 34 489 B4 offenbart ein asymmetrisches Kryptografieverfahren zur Wiedergewinnung eines geheimen Schlüssels.

US 20050238175 A1 beschreibt eine Methode zum schnellen Löschen von verschlüsselt abgelegten Daten durch das Löschen des Schlüssels, der zur Verschlüsselung der Daten verwendet wurde. Der Schlüssel kann durch einen weiteren Schlüssel, welcher innerhalb einer Verschlüsselungshierarchie einen übergeordneten Platz einnimmt, verschlüsselt sein, welcher wiederum durch einen hierarchisch übergeordneten Schlüssel verschlüsselt sein kann. Anstatt wie in vorbekannten Verfahren die Verweise auf die Daten zu löschen oder sensible Daten durch mehrfaches Überschreiben anderer Daten endgültig zu löschen (Nachteil: hoher Zeitaufwand), werden gemäß 20050238175 A1 alle Daten, die in der Verschlüsselungshierarchie von einem bestimmten Schlüssel hierarchisch untergeordnet sind durch das Löschen dieses Schlüssels schnell und unwiederbringlich gelöscht. „Hierarchisch untergeordnet" bedeutet in diesem Kontext, dass die Daten entweder von dem gelöschten Schlüssel direkt verschlüsselt wurden, oder von einem der Schlüssel, die von dem gelöschten Schlüssel verschlüsselt wurden, verschlüsselt worden sind. Um einen Verlust von kryptografischen Schlüsselpaaren entgegenzutreten, schlägt die DE 101 34 489 B4 ein asymmetrisches Kryptografieverfahren vor, welches unter Verwendung von Recovery-Zertifikaten und sogenannten Recovery-Cards vorschlägt, den geheimen Schlüssel einer Rechnereinrichtung mit Schlüsseln wenigstens zweier unterschiedlicher Recovery-Rechnereinrichtungen zu verschlüsseln und eine entsprechende Anzahl an den verschlüsselten Schlüssel aufweisenden Revocery- Zertifikaten zu erstellen. Dies ermöglicht eine Wiedergewinnung und Nutzung des geheimen Schlüssels, ohne dass dieser außerhalb einer Smartcard im Klartext vorliegt.

Demgegenüber liegt der Erfindung die Aufgabe zugrunde, ein verbessertes Verfahren zur Erzeugung eines Satzes von asymmetrischen kryptografischen Schlüsselpaaren, ein Verfahren zur Bereitstellung von Chiffraten sowie entsprechende Datenverarbeitungssysteme und Computerprogrammprodukte zu schaffen.

Die der Erfindung zugrundeliegenden Aufgaben werden jeweils mit den Merkmalen der unabhängigen Patentansprüche gelöst. Bevorzugte Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.

Erfindungsgemäß wird ein Verfahren zur Erzeugung eines Satzes von asymmetrischen kryptografischen Schlüsselpaaren geschaffen, wobei der Satz von Schlüsselpaaren ein erstes Schlüsselpaar und ein zweites Schlüsselpaar aufweist, wobei das erste

Schlüsselpaar durch einen ersten privaten und einen ersten öffentlichen Schlüssel gebildet wird und das zweite Schlüsselpaar durch einen zweiten privaten und einen zweiten öffentlichen Schlüssel gebildet wird, wobei dem ersten und zweiten Schlüsselpaar ein erstes Chiffrat zugeordnet ist, wobei das erste Chiffrat durch eine

Verschlüsselung des zweiten privaten Schlüssels mit dem ersten öffentlichen Schlüssel gebildet wird, wobei das Verfahren die Schritte umfasst:

Hinzufügen eines dritten asymmetrischen kryptografischen Schlüsselpaars zu dem Satz von Schlüsselpaaren, wobei das dritte Schlüsselpaar durch einen dritten privaten und einen dritten öffentlichen Schlüssel gebildet wird,

Erzeugung eines zweiten Chiffrats durch Verschlüsselung des dritten privaten Schlüssels mit dem ersten öffentlichen Schlüssel, Speicherung des zweiten Chiffrats.

Ohne Beschränkung der Allgemeinheit wird im Folgenden davon ausgegangen, dass alle betrachteten kryptografischen Schlüsselpaare nach einem auf elliptischen Kurven basierenden Kryptosystem aufgebaut sind. Allerdings lässt sich das Grundprinzip auch auf jegliche andere Arten von Verfahren zur Erzeugung von asymmetrischen Schlüsseln wie RSA-Verfahren, das Rabin-Verfahren, das Elgamal-Verfahren o.Ä. anwenden. Weiterhin gelten die folgenden Bezeichnungen: • K 1 = (G 1 , O 1 ) mit i = 1 , 2, 3, ... bezeichne ein asymmetrisches kryptografisches

Schlüssel paar.

• G 1 bezeichne die geheime Schlüsselpaarkomponente bzw. „den geheimen Schlüssel" eines asymmetrischen kryptografischen Schlüsselpaars K 1 .

• O 1 bezeichne die öffentliche Schlüsselpaarkomponente bzw. „den öffentlichen Schlüssel" eines asymmetrischen kryptografischen Schlüsselpaars K 1 .

• V Ä (DO, O 1 ) bezeichne eine auf einem asymmetrischen Kryptosystem basierende Verschlüsselungsfunktion, die auf einem Datenobjekt DO unter Verwendung eines öffentlichen Schlüssels O 1 ausgeführt wird.

• C DO O 1 = V Ä (DO, O 1 ) bezeichne ein „Chiffrat" bzw. das Ergebnis der Verschlüsselungs-funktion V Ä , angewendet auf das Datenobjekt DO unter

Verwendung des öffentlichen Schlüssels O 1 .

• E A (C DO O 1 , G 1 ) = DO bezeichne eine auf einem asymmetrischen Kryptosystem basierende Entschlüsselungsfunktion, die auf einem verschlüsselten Datenobjekt C DO O 1 unter Verwendung eines geheimen Schlüssels G 1 ausgeführt wird. Dabei gilt, dass G 1 zusammen mit dem für die Verschlüsselung von C DO O 1 verwendeten öffentlichen Schlüssel O 1 ein asymmetrisches kryptografisches Schlüsselpaar bildet.

Den Kern der Erfindung bildet die Verknüpfung zweier asymmetrischer kryptografischer Schlüsselpaare K 1 und K 2 , welche nach einem beliebigen asymmetrischen Kryptosystem aufgebaut sind. Dabei wird die Verknüpfung der beiden Schlüsselpaare dadurch hergestellt, dass der geheime Schlüssel G 2 des zweiten Schlüsselpaars K 2 mit dem öffentlichen Schlüssel O 1 des ersten Schlüsselpaars K 1 verschlüsselt und das Chiffrat C G 2 J) 1 = V A (G 2 , O 1 ) gespeichert wird. Diese Speicherung von C G 2 O 1 kann im selben Speicher erfolgen, in dem auch alle öffentlichen Schlüssel O 1 gespeichert werden. Dieser Speicher wird im Folgenden die „Public-Key-Infrastruktur" oder „PKI" genannt.

Durch die Speicherung und Abrufbarkeit des Chiffrats C G 2 O 1 wird eine Abhängigkeit zwischen den Schlüsselpaaren K 1 und K 2 hergestellt: Ein Benutzer, der im Besitz des geheimen Schlüssels G 1 ist, kann damit nicht nur alle mit dem zugehörigen öffentlichen Schlüssel O 1 verschlüsselten Datenobjekte entschlüsseln, sondern auch das Chiffrat C G 2 O 1 , also den verschlüsselten geheimen Schlüssel G 2 des Schlüsselpaars K 2 . Mit G 2 kann der Benutzer dann auch alle mit dem öffentlichen Schlüssel O 2 des Schlüsselpaars ^verschlüsselten Datenobjekte entschlüsseln.

Die durch die Speicherung von C G 2 O 1 entstandene Abhängigkeit zwischen den beiden Schlüsselpaaren K 1 und K 2 lässt sich als gerichteter Graph darstellen, bei dem die Schlüsselpaare K 1 und K 2 als Knoten des Graphen dargestellt werden und das öffentlich gespeicherte Chiffrat C G 2 O 1 = V A (G 2 , O 1 ) als die gerichtete Kante von K 1 nach K 2 zwischen den beiden Knoten. Die Verbindung von K 1 nach K 2 besagt also, dass das Chiffrat C G 2 O 1 = V Ä (G 2 , O 1 ) öffentlich gespeichert ist und damit bei Besitz des geheimen Schlüssels G 1 des Schlüsselpaars K 1 der geheime Schlüssel G 2 des Schlüsselpaars ^ebenfalls zugänglich ist.

Ausführungsformen der Erfindung haben den Vorteil, dass durch einen geheimen Schlüssel eines einzigen Schlüsselpaars Zugriff auf die geheimen Schlüssel mehrerer Schlüsselpaare erlangt werden kann. Sind beispielsweise Daten mit dem zweiten oder dritten öffentlichen Schlüssel verschlüsselt, so genügt die Kenntnis des ersten geheimen Schlüssels, um damit eine Datenentschlüsselung unter Verwendung der ersten und zweiten Chiffrate durchzuführen.

Nach einer Ausführungsform der Erfindung umfasst das Verfahren ferner die Schritte des Hinzufügens eines asymmetrischen kryptografischen Nachfolger-Schlüsselpaars zu dem Satz von Schlüsselpaaren, wobei das Nachfolger-Schlüsselpaar durch einen privaten und einen öffentlichen Nachfolger-Schlüssel gebildet wird, wobei durch ein Schlüsselpaar aus dem Satz von Schlüsselpaaren ein Vorgänger-Schlüsselpaar gebildet wird, wobei das Vorgänger-Schlüsselpaar einen privaten und einen öffentlichen Vorgänger-Schlüssel aufweist. Das Verfahren setzt sich fort mit der Erzeugung eines dritten Chiffrats durch Verschlüsselung des privaten Schlüssels des Nachfolger- Schlüsselpaars mit dem öffentlichen Schlüssel des Vorgänger-Schlüsselpaars und der Speicherung des dritten Chiffrats.

Bei einem Vorgänger-Schlüsselpaar handelt es sich um ein beliebiges Schlüsselpaar des Satzes von Schlüsselpaaren. Bei dem Nachfolgerschlüsselpaar handelt es sich um ein beliebiges weiteres zusätzliches Schlüsselpaar, welches dem Satz von Schlüsselpaaren hinzugefügt wird, wobei hierfür eine Abhängigkeit zwischen dem Vorgänger-Schlüsselpaar und dem Nachfolgerschlüsselpaar hergestellt wird, indem ein Chiffrat erzeugt wird. Das Chiffrat wird durch Verschlüsseln des privaten Schlüssels des Nachfolger-Schlüsselpaars mit dem öffentlichen Schlüssel des Vorgängerschlüsselpaars erzeugt.

Die Entwicklung des Graphen kann also so erfolgen, dass ein neuer Knoten mit ein oder mehreren Kanten oder eine neue Kante zu bestehenden Knoten eingefügt wird.

Nach einer weiteren Ausführungsform der Erfindung weist der Satz von Schlüsselpaaren eine gerichtete Graphstruktur auf, wobei die Knoten des Graphs die Schlüsselpaare repräsentieren, wobei eine Abhängigkeit zwischen einem Vorgänger- Schlüsselpaar und einem dem Vorgänger-Schlüsselpaar im Graph unmittelbar nachfolgenden Nachfolger-Schlüsselpaar durch ein Chiffrat gebildet wird, wobei das Chiffrat durch Verschlüsselung des privaten Schlüssels des Nachfolger-Schlüsselpaars mit dem öffentlichen Schlüssel des Vorgänger-Schlüsselpaars gebildet ist, wobei bis auf das den Wurzelknoten des Graphen bildende Schlüsselpaar jedes Schlüsselpaar im Graph durch mindestens ein Chiffrat von einem anderen Schlüsselpaar abhängig ist.

Damit lassen sich in einfacher Weise logische Strukturen aufbauen, beispielsweise indem als Graph eine Baumstruktur verwendet wird, welche es ermöglicht, in hierarchischer Weise auf voneinander durch die Chiffrate abhängige Schlüsselpaare zuzugreifen. Ein Benutzer, welcher über eines der Schlüsselpaare in der Graphstruktur verfügt, ist damit in der Lage, alle nachfolgenden Schlüsselpaare für Ver- und Entschlüsselungsvorgänge zu verwenden. Schlüsselpaare hingegen, welche sich nicht im Pfad der Graphstruktur, nachfolgend dem Schlüsselpaar, über welches ein Benutzer verfügt, befinden, liegen damit außerhalb des Zugriffsbereichs des Benutzers, womit sich in einfacher Weise hierarchische Strukturen implementieren lassen: So können verschiedene Hierarchieebenen des Graphs verschiedenen Benutzergruppen zugeordnet werden, sodass sich insgesamt beispielsweise die hierarchische Struktur einer Firmenorganisation in einfacher Weise abbilden lässt. Ein Schlüsselpaar eines Wurzelknotens wird beispielsweise einem Management zugeordnet, welches damit in der Lage ist, Zugriff auf sämtliche nachfolgenden Schlüsselpaare für alle Ver- und Entschlüsselungsvorgänge zu haben. Eine Hierarchieebene darunter befinden sich Schlüsselpaare, welche einzelnen Abteilungsleitern zugeordnet sind. Diesen Schlüsselpaaren untergeordnet sind wiederum Schlüsselpaare einzelner Mitarbeiter, welche lediglich auf Ver- und Entschlüsselungsvorgänge in ihrem speziellen Arbeitsbereich zugreifen können sollen.

Es sei jedoch angemerkt, dass die beschriebene Graphstruktur nicht nur auf einfache Baumstrukturen beschränkt ist, sondern allgemein eine beliebige Art von Graphen, wie azyklische oder zyklische Graphen, zulässt. Allgemein können damit beliebige Arten von Netzwerken abgebildet werden, über welche in komplexer Weise Schlüsselpaare im Zusammenhang stehen. Ein Anwendungsgebiet hierfür kann beispielsweise ein sicherer Datenaustausch oder in spezieller Weise eine sichere Kommunikation in sogenannten Online-Communities (Community Plattform) sein, bei welchen eine Vielzahl von Nutzern in einem Netzwerk, wie dem Internet, miteinander in Kontakt stehen, um sich dort auszutauschen.

Nach einer weiteren Ausführungsform der Erfindung ist bis auf das den Wurzelknoten des Graphen bildende Schlüsselpaar jedes Schlüsselpaar im Graph durch genau ein Chiffrat von einem anderen Schlüsselpaar abhängig.

Nach einer weiteren Ausführungsform der Erfindung weist der Satz von Schlüsselpaaren zwei beliebige Schlüsselpaare mit je einem privaten und einen öffentlichen Schlüssel auf, wobei das Verfahren ferner die Schritte umfasst des Erzeugens eines vierten Chiffrats durch Verschlüsselung des privaten Schlüssels des ersten Schlüsselpaars der beliebigen Schlüsselpaare mit dem öffentlichen Schlüssel des zweiten Schlüsselpaars der beliebigen Schlüsselpaare und der Speicherung des vierten Chiffrats. Eine solche Erweiterung des Satzes von Schlüsselpaaren ist damit unabhängig von der Verwendung von Vorgänger- und Nachfolger-Schlüsselpaaren und erlaubt die Verknüpfung zweier beliebiger Schlüsselpaare in einem Graph von Schlüsselpaaren.

So kann beispielsweise temporär eine Abhängigkeit zwischen zwei Schlüsselpaaren hergestellt werden, welche einen Benutzer in die Lage versetzt, beide Schlüsselpaare und deren Nachfolger für Ver- und Entschlüsselungsvorgänge, beispielsweise über einen gewissen Zeitraum hinweg, zu verwenden. Soll zu einem späteren Zeitpunkt eine weitere Verknüpfung der beiden Schlüsselpaare aufgehoben werden, so genügt es, die die beiden Schlüsselpaare verknüpfende Chiffrate für diesen entsprechenden Benutzer nicht mehr zugänglich zu machen, z.B. zu löschen.

Nach einer weiteren Ausführungsform der Erfindung werden die Chiffrate in einer vertrauenswürdigen Stelle gespeichert. Vorzugsweise werden zusammen mit den Chiffraten auch Klassifizierungsmerkmale gespeichert, wobei die Klassifizierungsmerkmale eine Gültigkeit der Chiffrate festlegen, wobei die Gültigkeit angibt, dass nach Ablauf der Gültigkeit eine Verwendung der Chiffrate für weitere Datenverarbeitungsvorgänge verhindert werden soll; insbesondere kann das betreffende Chiffrat nach Ablauf der Gültigkeit gelöscht werden. Damit ist sichergestellt, dass ein Zugriff auf die Chiffrate kontrolliert werden kann.

Klassifizierungsmerkmale bezüglich der Gültigkeit von Schlüsselpaaren innerhalb von Informationssystemsitzungen können sein:

• Gültigkeit nach Zeitintervall: Es wird serverseitig im Informationssystem gespeichert, innerhalb welches Zeitintervalls ein Schlüsselpaar gültig ist. Wenn ein Benutzer versucht, ein „abgelaufenes" Schlüsselpaar K 1 zu benutzen (d.h., der Benutzer eröffnet eine Sitzung beim Informationssystem, bei der er sich mit dem Schlüsselpaar K 1 authentisiert), verweigert das Informationssystem ihm dies. • Gültigkeit nach Anzahl der Benutzungen: Es wird serverseitig im Informationssystem gespeichert, wie oft ein Schlüsselpaar maximal benutzt werden kann und wie oft es bereits benutzt wurde (d.h. wie oft eine Sitzung unter Verwendung des Schlüsselpaars bei der Authentisierung eröffnet wurde). Wenn die Anzahl der bereits erfolgten Benutzungen eines Schlüsselpaars K 1 dessen

Maximalanzahl erreicht hat, verweigert das Informationssystem eine erneute Benutzung von K 1 .

• Gültigkeit nach Art der Benutzung: Es wird serverseitig im Informationssystem für jedes Schlüsselpaar gespeichert, welche Operationen in einer Sitzung zulässig sind, die unter Verwendung des Schlüsselpaars bei der Authentisierung eröffnet wurde. Wenn der Benutzer eine Operation durchzuführen versucht, die für die gerade bestehende Sitzung nicht zulässig ist, verweigert das Informationssystem dies.

Ausgehend davon lassen sich nun vielfältige weitere Nutzungsszenarien konstruieren, die ebenfalls lediglich diese Merkmale variieren.

Als Beispiel sei eine elektronische Patientenakte genannt, bei der ein Benutzer (ein Patient) einem anderen Benutzer (ein Arzt) ein Zugriffsrecht auf seine eigene Akte erteilt, jedoch lediglich für maximal fünf Zugriffe auf die Akte und in einem Zeitfenster von nur einem Monat; darüber hinaus darf der Arzt auch ausschließlich lesend auf die Akte des Patienten zugreifen. Der Patient erzeugt also ein neues Schlüsselpaar κ P , bei dem der geheime Schlüssel G 0 des Schlüsselpaars des Patienten mit dem öffentlichen Schlüssel O P des Arztes verschlüsselt und das Chiffrat C G 0 Op öffentlich im Informationssystem gespeichert wird. Dieses Schlüsselpaar stellt der Patient dem Arzt zur Verfügung. Beispielsweise kann dieses Schlüsselpaar so attributiert sein, dass es nur einmal für eine Entschlüsselungsoperation verwendet werden kann. Das Schlüsselpaar ist dann also als TAN ausgebildet.

Damit hat der Arzt nun innerhalb eines Monats fünf Mal die Möglichkeit, eine Sitzung beim Informationssystem zu eröffnen, innerhalb der er die Akte des Patienten lediglich lesen kann. Ein schreibender Zugriff auf die Akte des Patienten oder ein Versuch Rechte zu vergeben werden vom Informationssystem zurückgewiesen. Nach Ablauf des Zeitintervalls kann der Arzt genauso wie nach der fünften Benutzung keine Sitzung unter Verwendung des Schlüsselpaars K P bei der Authentisierung beim Informationssystem mehr eröffnen.

Dies erfordert vorzugsweise eine Authentisierung eines Benutzers gegenüber der vertrauenswürdigen Stelle, sodass in entsprechender Weise ein Zugriff auf die Chiffrate gesteuert werden kann.

Nach einer weiteren Ausführungsform der Erfindung werden der zweite private Schlüssel und/oder der private Nachfolger-Schlüssel und/oder der private Schlüssel des ersten Schlüsselpaars der beliebigen Schlüsselpaare von einem tragbaren Datenträger empfangen. Beispielsweise handelt es sich bei dem tragbaren Datenträger um eine Chipkarte, welche gegebenenfalls auch einen Prozessor aufweisen kann, wobei das Verfahren zur Erzeugung der Schlüssel und/oder Ver- und Entschlüsselungsverfahren unter Verwendung der Schlüsselpaare von dem Prozessor des tragbaren Datenträgers durchgeführt wird.

Beispielsweise kann es sich bei dem tragbaren Datenträger um eine Chipkarte, in einer konkreten Anwendung die elektronische Gesundheitskarte eines Patienten, handeln.

In einem weiteren Aspekt betrifft die Erfindung ein Computerprogrammprodukt mit von einem Prozessor ausführbaren Instruktionen zur Durchführung der Verfahrensschritte des erfindungsgemäßen Verfahrens.

In einem weiteren Aspekt betrifft die Erfindung ein Datenverarbeitungssystem zur Erzeugung eines Satzes von asymmetrischen kryptografischen Schlüsselpaaren.

In einem weiteren Aspekt betrifft die Erfindung ein Verfahren zur Bereitstellung von Chiffraten, wobei die Chiffrate einem Satz von asymmetrischen kryptografischen Schlüsselpaaren zugeordnet sind, wobei der Satz von Schlüsselpaaren eine gerichtete Graphstruktur aufweist, wobei die Knoten des Graphs die Schlüsselpaare repräsentieren, wobei eine Abhängigkeit zwischen einem Vorgänger-Schlüsselpaar und einem dem Vorgänger-Schlüsselpaar im Graph unmittelbar nachfolgenden Nachfolger- Schlüsselpaar durch ein Chiffrat gebildet wird, wobei das Chiffrat durch Verschlüsselung des privaten Schlüssels des Nachfolger-Schlüsselpaars mit dem öffentlichen Schlüssel des Vorgänger-Schlüsselpaars gebildet ist, wobei das Verfahren die Chiffrat-Bereitstellungsschritte umfasst:

Empfang einer ersten und einer zweiten Kennung, wobei die erste Kennung einem ersten der Knoten zugeordnet ist und die zweite Kennung einem zweiten der

Knoten zugeordnet ist,

Ermittlung aller Chiffrate, welche sequentiell in der Graphstruktur eine

Abhängigkeit zwischen dem ersten der Knoten und dem zweiten der Knoten beschreiben, falls ein solcher Pfad zwischen den ersten und zweiten Knoten existiert,

Bereitstellung der ermittelten Sequenz von Chiffraten.

Durch das Verfahren zur Bereitstellung von Chiffraten ist es möglich, ausgehend von einem Satz von Schlüsselpaaren und einem beliebigen asymmetrischen kryptografischen Schlüsselpaar dieses Satzes, einem Benutzer eine Sequenz von Chiffraten bereitzustellen, welche vom Benutzer unter Verwendung seines zur Verfügung stehenden Schlüsselpaares sequentiell und aufeinander folgend entschlüsselt werden können. Damit kann ausgehend von einem beliebigen Schlüsselpaar eines Benutzers unter Verwendung der Sequenz von Chiffraten ein „Pfad" von Schlüsseln bereitgestellt werden, sodass schließlich der Benutzer ausgehend von seinem persönlichen Schlüsselpaar Zugriff auf ein beliebiges anderes Schlüsselpaar erlangen kann, welches im Pfad der Schlüsselpaare, ausgehend von seinem persönlichen Schlüsselpaar, liegt. Der Benutzer muss hierzu lediglich die erste Kennung angeben, welche sein persönliches Schlüsselpaar kennzeichnet, als auch die weitere Kennung angeben, welche jenes Schlüsselpaar kennzeichnet, auf welches der Benutzer gerne Zugriff erhalten möchte. Daraufhin ermittelt das erfindungsgemäße Verfahren automatisch einen Pfad zwischen diesen beiden Schlüsselpaaren, falls existent, durch Bereitstellung einer entsprechenden Sequenz von Chiffraten, deren sequentielle Entschlüsselung ausgehend vom Schlüsselpaar des Benutzers einen Zugriff auf das gewünschte Schlüsselpaar (des zweiten Knotens) ermöglicht. Nach einer weiteren Ausführungsform der Erfindung ist bis auf das den Wurzelknoten des Graphen bildende Schlüsselpaar jedes Schlüsselpaar im Graph durch mindestens ein Chiffrat von einem anderen Schlüsselpaar abhängig.

Nach einer weiteren Ausführungsform der Erfindung wird die Sequenz von Chiffraten nach einer erfolgreichen Authentisierung ermittelt und/oder bereitgestellt. Damit ist, wie bereits oben erwähnt, sichergestellt, dass ein unbefugter Zugriff auf Chiffrate verhindert wird. Damit können Chiffraten auch entsprechende Klassifizierungsmerkmale bezüglich der Gültigkeit von Schlüsselpaaren innerhalb von Informationssystemsitzungen zugeordnet werden. In diesem Fall sind die Chiffrate mit Klassifizierungsmerkmalen verknüpft, wobei die Klassifizierungsmerkmale eine Gültigkeit der Chiffrate festlegen, wobei die Gültigkeit angibt, dass nach Ablauf der Gültigkeit eine Bereitstellung der Chiffrate verhindert werden soll, wobei eine Bereitstellung der Chiffrate nur dann erfolgt, wenn die Gültigkeit der Chiffrate erfolgreich validiert wurde. Vorzugsweise werden die betreffenden Chiffrate nach Ablauf der Gültigkeit gelöscht.

Nach einer weiteren Ausführungsform der Erfindung ist die zweite Kennung einem Datenobjekt zugeordnet, wobei das Datenobjekt mit dem öffentlichen Schlüssel des Schlüsselpaars des zweiten der Knoten verschlüsselt ist. In anderen Worten sind dabei vorzugsweise Datenobjekte von verschiedenen Benutzern mit unterschiedlichen Schlüsselpaaren der Benutzer verschlüsselt, wobei im Falle eines Graphen in Form eines Baumes die unterste Hierarchieebene des Abhängigkeitsbaumes, d.h. die „Blätter" der baumförmigen Abhängigkeitshierarchie jene Schlüsselpaare repräsentieren, mit welchen eine Verschlüsselung der Datenobjekte vorgenommen wird. Wenn ein Benutzer also eines seiner Datenobjekte abrufen und entschlüsseln möchte, muss er neben dem verschlüsselten Datenobjekt selbst auch alle verschlüsselten geheimen Schlüssel auf einem Pfad im Abhängigkeitsbaum entlang des Weges von seinem ihm zur Verfügung stehenden Schlüsselpaar, d.h. von dem entsprechenden Knoten des Baums bis zum verschlüsselten Datenobjekt, entschlüsseln lassen.

Um dies durchzuführen, umfasst das Datenentschlüsselungsverfahren die Schritte der Ermittlung eines privaten Schlüssels durch Entschlüsselung des ersten Chiffrats der Sequenz von Chiffraten mit den privaten Schlüssel des Schlüsselpaars, welches dem ersten der Knoten zugeordnet ist, der Ermittlung eines nächsten privaten Schlüssels für die Entschlüsselung des nächsten Chiffrats der Sequenz von Chiffraten mit dem zuvor ermittelten privaten Schlüssel und Wiederholung dieses Schrittes so lange, bis das letzte Chiffrat der Sequenz von Chiffraten entschlüsselt wurde. Das Verfahren zur Datenentschlüsselung endet schließlich mit der Entschlüsselung des verschlüsselten Datenobjekts.

Vorzugsweise werden der Schritt der Datenentschlüsselung und die Chiffratbereitstellungsschritte von unterschiedlichen Datenverarbeitungssystemen durchgeführt. Insbesondere wird der Schritt der Datenentschlüsselung durch eine vertrauenswürdige Stelle durchgeführt. Damit erhält das Datenverarbeitungssystem, welches die Chiffrate verwaltet und bereitstellt, zu keinem Zeitpunkt Informationen über etwaige Schlüssel im Klartext, welche zur Datenentschlüsselung verwendet werden.

Damit ist eine hohe Vertraulichkeit der Datenobjekte gewährleistet, da für jeden Benutzer, dessen Datenobjekte derartig verschlüsselt im Informationssystem abgelegt sind, sichergestellt ist, dass nur er selbst die Datenobjekte entschlüsseln kann. Der Betreiber des Informationssystems, welcher die Chiffrate verwaltet, hat keinen Zugriff auf die Datenobjekte des Benutzers. Ein technischer Beschlagnahmeschutz des Informationssystems besteht darin, dass die zur Entschlüsselung der Datenobjekte benötigten Geheimisse der Benutzer zu keiner Zeit dem Betreiber des Informationssystems zugänglich sein dürfen, was zur Folge hat, dass der Betreiber des Informationssystems zu keiner Zeit die Möglichkeit hat, auf verschlüsselt gespeicherte Datenobjekte zuzugreifen. Beispielsweise ist es damit möglich, im Informationssystem die verschlüsselten Datenobjekte zusammen mit den Chiffraten abzuspeichern, ohne jedoch Gefahr zu laufen, dass auf Seite des Betreiberinformationssystems die Möglichkeit besteht, die Datenobjekte zu entschlüsseln.

Dies gilt insbesondere für den Fall, dass auf Seiten des Betreibers des Informationssystems der Versuch unternommen wird, eine rechtliche Verpflichtung zur Wahrung der Vertraulichkeit der Datenobjekte zu umgehen. Etwa könnte dies durch kriminelle Machenschaften korrupter Insider, zum Beispiel Administratoren, geschehen oder bei Diebstahl bzw. Beschlagnahmung des Rechnersystems, auf dem das Informationssystem läuft, durch staatliche Organe bei gleichzeitiger Herausgabe des Informationssystem-Quellcodes.

Im Folgenden werden Ausführungsformen der Erfindung anhand der Zeichnungen näher erläutert. Es zeigen:

Figur 1 eine grafische Darstellung von verschiedenen Schritten, mittels welcher eine Graphstruktur in Form eines Baumes erzeugt werden kann,

Figur 2 ein Blockdiagramm eines Datenverarbeitungssystems,

Figur 3 eine grafische Darstellung einer zyklischen Abhängigkeit zwischen zwei bzw. drei Schlüsselpaaren,

Figur 4 eine grafische Darstellung eines gerichteten azyklischen Graphen,

Figur 5 zwei Abhängigkeitsbäume, vor und nach ihrer Verschmelzung zu einem gerichteten azyklischen Graphen,

Figur 6 ein Flussdiagramm eines Verfahrens zur Speicherung von Chiffraten,

Figur 7 ein Flussdiagramm eines Verfahrens zur Bereitstellung einer

ChiffratSequenz.

Die Figur 1 zeigt eine grafische Darstellung von verschiedenen Schritten, mittels welcher eine Graphstruktur in Form eines Baumes (Figur 1 c) erzeugt werden kann, bei welcher Datenobjekte mit Blattknoten verschlüsselt werden. In der Figur 1 a ist eine Abhängigkeit zwischen zwei asymmetrischen kryptografischen Schlüsselpaaren Ki und K 3 gezeigt, wobei das Schlüsselpaar Ki durch den Knoten 102 repräsentiert wird und das Schlüsselpaar K 3 durch den Knoten 104 repräsentiert wird. Eine Verknüpfung der beiden Schlüsselpaare wird dadurch hergestellt, dass der geheime Schlüssel G 3 des zweiten Schlüsselpaars K 3 mit dem öffentlichen Schlüssel Oi des ersten Schlüsselpaars Ki verschlüsselt wird. Dies ergibt das Chiffrat 100. Um nun zusätzlich ein Schlüsselpaar K 2 , repräsentiert durch den Knoten 106, zum Graphen hinzuzufügen, erfolgt in der Figur 1 b ein weiterer Verschlüsselungsvorgang, bei welchem der geheime Schlüssel G 2 des Schlüsselpaars K 2 mit dem öffentlichen Schlüssel Oi des ersten Schlüsselpaars Ki verschlüsselt wird, woraus sich das Chiffrat 108 ergibt.

Diese Schritte können nun fortgeführt werden, indem eine beliebige Anzahl weiterer Schlüsselpaare dem Graphen der Figur 1 b hinzugefügt werden, und entsprechende Chiffrate berechnet und gespeichert werden. So wurde in der Figur 1 c schließlich noch ausgehend vom Schlüsselpaar Ki ein weiteres Schlüsselpaar K 4 hinzugefügt und eine entsprechende Abhängigkeit hergestellt.

Während die Figur 1 a eine „1 :1 -Abhängigkeit" von Ki nach K 3 zeigt, ist in der Figur 1 b eine weitere 1 :1 -Abhängigkeit von Ki nach K 2 gezeigt, die also besagt, dass ein Benutzer, der im Besitz des geheimen Schlüssels Gi von Ki ist, nicht nur Zugriff auf den geheimen Schlüssel G 3 von K 3 hat, sondern auch den geheimen Schlüssel G 2 von K 2 .

Da bei diesem Szenario durch Zugriff auf den geheimen Schlüssel eines einzelnen Schlüsselpaars Zugriff auf die geheimen Schlüssel mehrerer Schlüsselpaare erlangt wird, wird diese Abhängigkeit im Folgenden als „1 :N-Abhängigkeit" bezeichnet. Die einfachste Form einer solchen 1 :N-Abhängigkeit ist in der Figur 1 b gezeigt.

Eine weitere Variationsmöglichkeit bietet sich in der Hinzunahme eines weiteren Schlüsselpaars in der Art und Weise, wie dies in der Figur 1 c hinsichtlich der Schlüsselpaare K 3 und K 8 gezeigt ist. Hier wird der geheime Schlüssel Gs von K 8 mit dem öffentlichen Schlüssel O 3 von K 3 verschlüsselt und das entsprechende Chiffrat gespeichert. Damit kommt zu der bereits existierenden 1 :1 -Abhängigkeit von Ki nach K 3 eine weitere 1 :1 -Abhängigkeit von K 3 nach K 8 hinzu. Das bedeutet, ein Benutzer, der in Besitz des geheimen Schlüssels Gi von Ki ist, aufgrund der Speicherung des entsprechenden Chiffrats C_G 3 _Oi Zugriff auf den geheimen Schlüssel G 3 von K 3 bekommt und dadurch wiederum, aufgrund der Speicherung von C_G 8 _O 3 Zugriff auf den geheimen Schlüssel G 8 von K 8 . Die 1 :1 -Abhängigkeiten wirken also transitiv, d.h. falls eine 1 :1 -Abhängigkeit von Ki nach K 3 und weiterhin eine 1 :1 -Abhängigkeit von K 3 nach K 8 besteht, dann besteht auch eine 1 :1 -Abhängigkeit von Ki nach K 8 . Diese transitive Abhängigkeit wird auch 2-stufige Abhängigkeitshierarchie genannt.

Der oben beschriebenen 2-stufigen Abhängigkeitshierarchie, bestehend aus 3 Schlüsselpaaren, lassen sich nun beliebig viele weitere Schlüsselpaare hinzufügen, sowie eine entsprechende Menge von öffentlich gespeicherten Chiffraten, bei denen jeweils der geheime Schlüssel des Nachfolgerschlüsselpaars mit dem öffentlichen Schlüssel des Vorgängerschlüsselpaars verschlüsselt worden ist und so jeweils eine 1 :1 -Abhängigkeit von Vorgängerschlüsselpaar zu Nachfolgerschlüsselpaar besteht.

Nach dem oben beschriebenen Prinzip der Transitivität von verketteten 1 :1- Abhängigkeiten gilt nun, dass ein Benutzer, der in Besitz des geheimen Schlüssels Gi von K 1 ist, gleichsam Zugriff auf alle geheimen Schlüssel G 3 , G 8 ,..., in der vorliegenden «-stufigen Abhängigkeitshierarchie hat oder genauer, dass ein Benutzer, der in Besitz eines der geheimen Schlüssel G 1 e {G h G 8 , ... } ist, gleichsam Zugriff auf alle in der Abhängigkeitshierarchie nachfolgenden geheimen Schlüssel dieser Menge hat.

Die sich in Figur 1 c ergebenden Abhängigkeitshierarchien in Form eines Baumes kann definiert werden als eine Abhängigkeits-hierarchie H = (K, C), für welche die folgenden zwei Bedingungen erfüllt sind:

• Für alle Schlüsselpaare K G K gilt, bis auf ein einziges Schlüsselpaar K k e K, dass K 1 immer nur von genau einem K ; G K mit i ≠j abhängig ist.

• Es gibt genau ein Schlüsselpaar K k e K, welches von keinem K e K mit k ≠ I abhängig ist.

Es soll nun beschrieben werden, wie ein Graph, wie zum Beispiel der Graph in der Figur 1 c, zur Rechteverwaltung in einem Informationssystem eingesetzt werden kann. Dabei wird ein Informationssystem betrachtet, in dem verschiedene Benutzer Datenobjekte verschlüsselt abspeichern und wieder abrufen können und das außerdem einen technischen Beschlagnahmeschutz bietet. Auch hier soll dem Informationssystem für jeden Benutzer B eine Hierarchie von voneinander abhängigen Schlüsselpaaren H = (K, C) = [[K 0 , K 1 , ... , K n ), [C 1 , ... , C n )) hinzugefügt werden.

Darüber hinaus wird dem Szenario eine weitere Komponente hinzugefügt, die im Folgenden als „Vertrauenswürdige Stelle" bezeichnet werden soll. Sie kann zwischen der Benutzerseite und der Seite des Informationssystems platziert werden und erfüllt dort die Funktion, dass alle Ver- und Entschlüsselungsvorgänge innerhalb ihres Bereichs durchgeführt werden und von der Seite des Informationssystems getrennt werden können. Alle Schlüssel, die innerhalb ihres Bereichs in nicht verschlüsselter Form vorliegen, gelangen zu keiner Zeit außerhalb ihres Bereichs. Sie bekommt als Eingabe Schlüssel und Datenobjekte im Klartext von der Benutzerseite und in verschlüsselter Form von der Seite des Informationssystems und gibt als Ausgabe lediglich entschlüsselte Datenobjekte an die Benutzerseite sowie verschlüsselte Schlüssel sowie verschlüsselte Datenobjekte ans Informationssystem aus.

Darüber hinaus sollen im Informationssystem die Datenobjekte der jeweiligen Benutzer mit unterschiedlichen Schlüsselpaaren, die jeweils aus der untersten Ebene des Abhängigkeitsbaumes stammen, sozusagen die „Blätter" der baumförmigen Abhängigkeitshierarchien verschlüsselt werden. Dabei kann auch mehr als ein Datenobjekt mit demselben Schlüsselpaar in der vertrauenswürdigen Stelle verschlüsselt worden sein. Abb. 1 c) stellt den Baum inklusive der verschlüsselten Datenobjekte 116 beispielhaft dar.

Wenn ein Benutzer eines seiner Datenobjekte abrufen und entschlüsseln möchte, muss er neben dem verschlüsselten Datenobjekt selbst auch alle verschlüsselten geheimen Schlüsselpaare auf dem Pfad im Abhängigkeitsbaum entlang des Weges von der Wurzel des Baums bis zum verschlüsselten Datenobjekt in die vertrauenswürdige Stelle laden lassen. Dies sei durch das folgende Beispiel illustriert, das in Abb. 1 c) grafisch dargestellt wird: Wenn ein Benutzer das verschlüsselte Datenobjekt DO 4 abrufen und entschlüsseln lassen möchte, dann muss er dazu neben dem Datenobjekt selbst in seiner verschlüsselten Form C DO 4 O 8 auch die verschlüsselten geheimen Schlüssel C G 8 O 3 und C G 3 O 1 abrufen und in die vertrauenswürdige Stelle laden lassen, da er selbst nur über den geheimen Schlüssel G 1 des Schlüsselpaars K 1 verfügt, die vertrauenswürdige Stelle zur Entschlüsselung von C DO 4 O 8 aber den geheimen Schlüssel G 8 des Schlüsselpaars K 8 benötigt. Mit Gi entschlüsselt die vertrauenswürdige Stelle aus dem Chiffrat C G 3 Oi den geheimen Schlüssel G 3 von K 3 und damit wiederum den geheimen Schlüssel G 8 von K 8 aus dem Chiffrat C G 8 O 3 , mit dem sie dann schließlich das verschlüsselte Datenobjekt C DO 4 O 8 entschlüsseln kann, welches sie dem Benutzer schließlich im Klartext ausgibt.

Die Figur 2 zeigt eine schematische Ansicht zweier Datenverarbeitungssysteme 200 und 224, welche zur Verwendung von Graphen für Ver- und Entschlüsselungsvorgänge und zur Erzeugung entsprechender Graphen, d.h. der Herstellung von Verknüpfungen zwischen verschiedenen Sätzen von Schlüsselpaaren, vorgesehen sind. So dient beispielsweise das Datenverarbeitungssystem 200 einer Berechnung von Chiffraten sowie der Durchführung von Ver- und Entschlüsselungsvorgängen von Daten, wohingegen das Datenverarbeitungssystem 224 einer Datenspeicherung und der Ermittlung von Chiffratsequenzen dient.

Das Datenverarbeitungssystem 200 weist Eingabemittel 202, wie beispielsweise eine Tastatur, eine Maus, sowie Eingabemittel auf, welche zum Empfang von biometrischen Merkmalen, wie Fingerabdrücken, geeignet sind. Ferner weist das Datenverarbeitungssystem einen Bildschirm 204 auf sowie eine Schnittstelle 206, mittels welcher das Datenverarbeitungssystem mit externen Geräten, wie beispielsweise einer Chipkarte 216 und einem Netzwerk 226 und damit dem Datenverarbeitungssystem 224 kommunizieren kann.

Mittels eines Prozessors 208 ist das Datenverarbeitungssystem 200 dazu in der Lage, entsprechende Computerprogramminstruktionen 212 und 214 auszuführen, welche im Speicher 210 des Datenverarbeitungssystems enthalten sind. Bei den Instruktionen 212 und 214 handelt es sich beispielsweise um ein Modul 212 zur Berechnung von Chiffraten und ein Modul 214 zur Durchführung von Kryptografievorgängen, wie beispielsweise Ver- und Entschlüsselungsvorgängen, von Daten.

Das Datenverarbeitungssystem 224 weist neben einer Schnittstelle 246, welche zur Kommunikation über das Netzwerk 226 mit dem Datenverarbeitungssystem 200 ausgebildet ist, einen Prozessor 244 auf, welcher ebenfalls in der Lage ist, entsprechende Programminstruktionen durchzuführen, welche im Speicher 238 des Datenverarbeitungssystems 224 enthalten. Bei diesen Programminstruktionen kann es sich beispielsweise um Programmmodule handeln, wie zum Beispiel ein Programmmodul 240 zur Ermittlung einer Sequenz von Chiffraten, und ein Programmmodul 242 zur Validierung der Gültigkeit eines entsprechenden Chiffrats.

Ferner weist das Datenverarbeitungssystem 224 eine Datenbank 228 auf, deren Zweck anhand eines Beispiels im Folgenden näher erläutert wird:

Zunächst sei davon ausgegangen, dass zur Durchführung von Ver- und Entschlüsselungsvorgängen eine Graphstruktur in der Datenbank 228 abgebildet ist, welche im Wesentlichen die Graphstruktur der Figur 1c widerspiegelt. In diesem Fall ist jedem Knoten der Figur 1 c eine entsprechende Kennung 230 zugeordnet, mittels welcher eine Knotenidentifizierung möglich ist. Ein Benutzer hat ein Schlüsselpaar K 3 , welchem eine Kennung 230 „abc" zugeordnet ist. Das Schlüsselpaar K 3 besteht aus einem privaten Schlüssel 218 und einem öffentlichen Schlüssel 220. Der private Schlüssel 218 ist auf einer Chipkarte 216 des Benutzers abgespeichert. Der öffentliche Schlüssel 220 ist ebenfalls auf der Chipkarte 216, als auch in der Datenbank 228, zusammen mit der Kennung 230 verknüpft abgespeichert. Die Abspeicherung des öffentlichen Schlüssels 220 in der Datenbank 228 verletzt dabei kein Geheimnis, da ein beliebiger Benutzer unter Kenntnis des öffentlichen Schlüssels 220 lediglich einen weiteren Verschlüsselungsvorgang von Daten durchführen kann, eine Datenentschlüsselung hingegen mit dem öffentlichen Schlüssel 220 nicht möglich ist.

Außerdem ist die Speicherung des öffentlichen Schlüssels 220 in der Datenbank 228 insbesondere dann von Vorteil, wenn mittels dieses öffentlichen Schlüssels 220 beispielsweise eine Signaturverifizierung durchgeführt werden soll. Eine Signierung eines Datenobjekts wird durchgeführt, indem ein Benutzer beispielsweise den HASH- Wert des Datenobjekts mit seinem geheimen Schlüssel signiert. Daraufhin ist jeder befugte Benutzer, welcher Zugriff auf die Datenbank 228 hat, in der Lage, mittels des öffentlichen Schlüssels 220 eine Verifikation dieses HASH-Wertes vorzunehmen, um somit zu überprüfen, ob das ihm vorliegende Datenobjekt jenes Datenobjekt ist, welches zuvor vom Benutzer signiert wurde. Im Folgenden sei angenommen, dass ein Benutzer einen Entschlüsselungsvorgang des Datenobjektes 4 (DO 4 ) vornehmen will. Dieses Datenobjekt 4 kann dabei in der Datenbank 228 abgelegt sein, oder es ist möglich, das Datenobjekt 4 im Speicher 238 abzulegen oder in einer beliebigen externen Datenbank zu speichern. Um nun einen Entschlüsselungsvorgang durchzuführen, benötigt der entsprechende Benutzer den geheimen Schlüssel Gs, da das Datenobjekt 4 mit dem öffentlichen Schlüssel Os verschlüsselt gespeichert wurde. Zu diesem Zweck gibt der Benutzer in das Datenverarbeitungssystem 200 ein, dass er im Besitz des Schlüsselpaars K 3 ist und Zugriff auf den geheimen Schlüssel Gs haben möchte. Daraufhin werden die entsprechenden Kennungen 230 des Schlüsselpaars K 3 und K 8 an das Datenverarbeitungssystem 224 übermittelt. Das Datenverarbeitungssystem 224 überprüft daraufhin zunächst mittels des Validierungsmoduls 242, ob ein entsprechender Bereitstellungsvorgang des Chiffrats C_ Gs_Ö 3 überhaupt zulässig ist. Zu diesem Zweck erfolgt ein Zugriff auf die Datenbank 228, in welcher neben Kennungen 230 und öffentlichen Schlüsseln, wie dem öffentlichen Schlüssel 220 von K 8 , auch Chiffrate 234 und deren Klassifizierungsmerkmale 236 abgespeichert sind. Beispielsweise kann mit der Kennung bezüglich des Schlüsselpaares K 8 ein Merkmal 236 in Form eines Datums gespeichert sein, welches ein Verfallsdatum des Schlüsselpaars K 8 wiedergibt. In der Figur 2 ist hinsichtlich der Kennung „abc" und damit dem Schlüsselpaar K 8 ein Verfallsdatum 27. April 2011 angegeben. Ist als das Systemdatum des Datenverarbeitungssystems 224 älter als der 27. April 2011 , so wird das Datenverarbeitungssystem 224 ein entsprechendes Chiffrat, welches eine Entschlüsselung von K 8 zulässt, nicht mehr an das Datenverarbeitungssystem 200 übermitteln.

Im Folgenden sei davon ausgegangen, dass das Schlüsselpaar K 8 und damit das entsprechende Chiffrat kein Klassifizierungsmerkmal aufweist, woraufhin das Datenverarbeitungssystem 224 mit der Ermittlung des bzw. der Chiffrate beginnt, welche die Schlüssel K 8 und K 3 miteinander verknüpfen. Dies erfolgt durch Ausführung des Moduls 240. Im einfachen Fall der Schlüsselpaare K 3 und K 8 ergibt sich als Ergebnis lediglich ein Chiffrat, nämlich das Chiffrat C_ G 8 _O 3 , welches daraufhin über das Netzwerk 226 an das Datenverarbeitungssystem 200 übermittelt wird. Das Datenverarbeitungssystem 200 ist dabei eine vertrauenswürdige Stelle, wie zum Beispiel eine Zertifizierungsstelle oder ein Trust-Centre. Handelt es sich bei den betrachteten Datenobjekten um medizinische Datenobjekte, so handelt es sich bei der vertrauenswürdigen Stelle beispielsweise um das Arztinformationssystem einer Arztpraxis oder eines Krankenhauses oder Apotheken Informationssystem. Auch kann es sich bei der vertrauenswürdigen Stelle allgemein um ein Datenverarbeitungssystem eines Gesundheitsdienstleisters handeln, welcher in der Lage sein soll, auf seinem Bildschirm nach Einverständnis des Benutzers entsprechende medizinische Datenobjekte wie Krankenakten, medizinische Bilddaten, Rezepte oder Ähnliches, anzeigen zu lassen.

Auch kann es sich nach einer Ausführungsform der Erfindung bei dem Datenverarbeitungssystem 200 um ein Datenverarbeitungssystem, das auf einem separaten gesicherten Hardwaremodul abläuft, handeln. Hierbei kann zum Beispiel ein Trusted Platform Module (TPM) zum Einsatz kommen.

Nachdem nun also das entsprechende, die Schlüsselpaare K 8 und K 3 verknüpfende Chiffrat über das Netzwerk 226 eines Datenverarbeitungssystems 200 übermittelt wurde, kann daraufhin das Kryptografiemodul 214 zunächst eine Entschlüsselung des Chiffrats mittels des privaten Schlüssels 218 der Chipkarte 216 vornehmen. Ein solcher Entschlüsselungsvorgang kann entweder auf dem Datenverarbeitungssystem 200 selbst stattfinden, oder aber der Prozessor 222 der Chipkarte 216 kann den Entschlüsselungsvorgang des Chiffrats durchführen, was den Vorteil hat, dass der geheime Schlüssel 218 die Chipkarte 216 nicht verlässt.

Nach Entschlüsselung des Chiffrats 234 und damit Erhalt des geheimen Schlüssels Gg kann daraufhin eine Entschlüsselung des Datenobjektes 4 (DO 4 ) stattfinden.

Im Folgenden sei nun eine Vorgehensweise zur Berechnung von Chiffraten vorgestellt. Hierbei wird davon ausgegangen, dass ein Graph, wie in der Figur 1 a gezeigt, vorliegt. Dieser Graph der Figur 1 a, bestehend aus den Schlüsselpaaren Ki und K 3 , soll durch Hinzufügen eines weiteren Schlüsselpaars K 2 vervollständigt werden. Zu diesem Zweck wird zunächst das Schlüsselpaar K 2 in das Datenverarbeitungssystem 200 geladen. Daraufhin wird im Datenverarbeitungssystem 200 mittels des Moduls 212 ein Chiffrat berechnet, indem der geheime Schlüssel G 2 des Schlüsselpaars K 2 mit dem öffentlichen Schlüssel Oi des Schlüsselpaars Ki verschlüsselt wird. Dieser Verschlüsselungsvorgang findet vorzugsweise im Datenverarbeitungssystem 200 statt, kann jedoch mittels entsprechender Module auf einer Chipkarte stattfinden, auf weicher sich das Schlüsselpaar Ki befindet. Nach Erzeugung des Chiffrats, d.h. des Chiffrats C_ G 2 _Oi wird dieses Chiffrat zusammen mit einer entsprechenden Kennung an das Datenverarbeitungssystem 224 übermittelt, wo es gegebenenfalls zusammen mit einem Klassifizierungsmerkmal 236 gespeichert wird.

In der Figur 1 c ist ein gerichteter azyklischer Graph in Form eines Baumes gezeigt, bei dem Datenobjekte nur mit Blattknoten verschlüsselt werden. Die Anwendung einer solchen hierarchischen Gruppierung und Verteilung von Schlüsselpaaren K 1 lässt sich vorteilhaft anhand der hierarchisch aufgebauten Managementstruktur in einem Unternehmen und den daraus erwachsenden Kommunikationsanforderungen beispielhaft erläutern. Beispielsweise sind hierfür der Hierarchieebene 254 mit dem Schlüsselpaar Ki die Kommunikationsteilnehmer „Management" zugeordnet. Die Kommunikationsteilnehmer der Gruppe Management sollen in der Lage sein, auf alle verschlüsselten Daten 116 des Unternehmens zuzugreifen. Das Schlüsselpaar Ki ermöglicht dies, da alle anderen Schlüssel K 2 bis Kn über entsprechende Chiffrate unter Verwendung des Schlüsselpaars Ki erhalten werden können.

In der Hierarchieebene 252 mit den Schlüsselpaaren K 2 , K 3 und K 4 können nun verschiedene Bereiche des Unternehmens abgebildet sein. Beispielsweise sind die Schlüsselpaare K 2 , K 3 und K 4 verschiedenen Bereichsleitern zugeordnet. Jeder Bereich ist wiederum in verschiedene Abteilungen untergliedert, welche die Hierarchieebene 250 einnehmen. Die Abteilungen haben jeweils Schlüssel K 5 , K 6 , K 7 usw. bis Kn. Während jede Abteilung der Hierarchieebene 250 nur auf die direkt von ihr verschlüsselten Datenobjekte zugreifen kann, ist es den Bereichsleitern möglich, auf die Daten zuzugreifen, welche durch die untergeordneten Abteilungen erstellt und verschlüsselt worden sind. So kann beispielsweise mittels des Schlüsselpaars K 2 ein Zugriff auf alle Datenobjekte erfolgen, welche von Abteilungen mit den Schlüsselpaaren K 5 , K 6 und K 7 verschlüsselt wurden. Das Management, welches hingegen im Besitz des Schlüsselpaars Ki ist, ist in der Lage, auf sämtliche verschlüsselten Datenobjekte 116 zuzugreifen. Hinsichtlich der Figur 2 sei noch angemerkt, dass insbesondere dadurch sichergestellt werden kann, dass es sich bei dem Datenverarbeitungssystem 200 um eine vertrauenswürdige Stelle handelt, wenn ein entsprechender Authentisierungsvorgang des Datenverarbeitungssystems 200 gegenüber dem Datenverarbeitungssystem 224 stattfindet. Damit lässt das Datenverarbeitungssystem 224 einen Zugriff auf die Datenbank 228 nur zu, wenn zum einen eine entsprechende Authentisierung erfolgt ist und zum anderen die Merkmale 236 einen Zugriff auf die jeweiligen Chiffrate zulassen.

Die Figuren 3a und 3b zeigen eine grafische Darstellung einer zyklischen Abhängigkeit zwischen zwei bzw. drei Schlüsselpaaren. In diesem Fall bilden Abhängigkeitshierarchien keine Kette, sondern einen Ring von 1 :1 -Abhängigkeiten.

Dies stellt sich so dar, dass zu einer Menge K 1 , ... , K n von Schlüsselpaaren für alle i e {2, ... , n) jeweils C G 1 O 1 .], also der geheime Schlüssel G 1 des Schlüsselpaars K 1 , verschlüsselt mit dem öffentlichen Schlüssel O 1 ^ des Schlüsselpaars K 1 .] gespeichert wird, zusätzlich dazu aber auch C G 1 O n , der geheime Schlüssel G 1 von K 1 , verschlüsselt mit dem öffentlichen Schlüssel O n von K n .

Besitzt ein Benutzer nun den geheimen Schlüssel G 1 des Schlüsselpaars K 1 für ein beliebiges i aus {1, ... , ή), so hat er wie bereits im Detail erwähnt Zugriff auf die geheimen Schlüssel G 1+1 , ..., G n der Schlüsselpaare K 1+1 , ..., K n , darüber hinaus hat er aber aufgrund von C G 1 O n auch Zugriff auf den geheimen Schlüssel G 1 des Schlüsselpaars K 1 , und damit auch auf die geheimen Schlüssel G 2 , ..., GW der Schlüsselpaare K 2 , ..., K 1 .], also auf alle geheimen Schlüssel der gesamten betrachteten Abhängigkeitshierarchie.

Bei einer zyklischen Abhängigkeitshierarchie hat also jeder Benutzer, der im Besitz des geheimen Schlüssels eines der Schlüsselpaare aus der Abhängigkeitshierarchie ist, Zugriff auf alle anderen geheimen Schlüssel der Hierarchie, wobei egal ist, welchen geheimen Schlüssel der Benutzer besitzt. Die Figuren 3a und 3b zeigen grafischen Darstellungen zweier zyklischen Abhängigkeiten bei einer Menge von 2 bzw. 3 Schlüsselpaaren in der jeweiligen Abhängigkeitshierarchie. Es sei angemerkt, dass unter einer streng theoretischen Betrachtungsweise ein Zyklus in einer Abhängigkeitshierarchie durch einen einzigen Knoten ersetzt werden kann, auf den die Benutzer einer Gruppe dann beispielsweise über eine N:1 -Abhängigkeitshierarchie zugreifen können.

Die Figur 4 zeigt eine grafische Darstellung eines gerichteten azyklischen Graphen. Im Vergleich zu Bäumen entscheidend in der Figur ist nun, dass z.B. zwischen dem Schlüsselpaar K 3 und dem Schlüsselpaar K 5 eine zusätzliche Abhängigkeit durch ein entsprechendes Chiffrat erzeugt wurde. Beispielsweise kann die Hinzufügung dieser Abhängigkeit zwischen K 3 und K 5 die Ursache haben, dass dem Benutzer des Schlüsselpaars K 3 einmalig die Gelegenheit gegeben werden soll, auf Datenobjekte zuzugreifen, welche unter Verwendung der Schlüsselpaare K 9 und Ki 0 verschlüsselt wurden. Somit handelt es sich bei dieser Verknüpfung zwischen den Schlüsselpaaren K 3 und K 5 um eine „Einmal-Verknüpfung", sodass ein entsprechendes Chiffrat nur einmal verwendet werden kann, was etwa TAN-Systemen gleichkommt, die beim Online-Banking verwendet werden. Damit lässt sich erzwingen, dass ein entsprechendes Chiffrat nur für eine Sitzung verwendet werden kann. Sobald eine einmalige Verwendung dieses Chiffrates erfolgt ist, wird das entsprechende Chiffrat als „benutzt" in der Datenbank des Informationssystems gekennzeichnet und vorzugsweise aus dem Informationssystem gelöscht, sodass der Benutzer von K 3 ein zweites Mal auf die Schlüsselpaare K 9 und Ki 0 nicht mehr zugreifen kann.

Ferner ist in der Figur 4 gezeigt, dass das Schlüsselpaar Kn beispielsweise von zwei Schlüsselpaaren K 5 und K 6 abhängig ist. In anderen Worten ist mit dem Schlüsselpaar Kn sowohl das Schlüsselpaar K 5 als auch das Schlüsselpaar K 6 über entsprechende Chiffrate verknüpft. Sind Daten damit mit dem öffentlichen Schlüssel On des Schlüsselpaars Kn verschlüsselt, so ist ein Zugriff sowohl über K 5 als auch über K 6 möglich.

Ein konkreter Anwendungsfall einer solchen Abhängigkeit eines Schlüsselpaars über zwei verschiedene Chiffrate ist im Näheren in den Figuren 5a und b erläutert. Die Figuren 5a und b zeigen zwei Abhängigkeitsbäume, vor und nach ihrer Verschmelzung zu einem gerichteten azyklischen Graphen. In der Figur 5a ist angenommen, dass verschiedene Benutzer eines Informationssystems jeweils einen eigenen Baum mit Schlüsselpaaren haben. Beispielsweise hat ein Benutzer Bi den Baum der Figur 5a, welcher aus den Schlüsselpaaren Ki, K 3 und K 4 besteht, wohingegen der Benutzer B 2 den Baum besitzt, welcher aus den Schlüsselpaaren K 2 und K 5 besteht. Anstelle einer Menge von überschneidungsfrei nebeneinander existierenden Schlüsselpaar- Abhängigkeitsbäumen (jeder Benutzer des Informationssystems besitzt einen solchen Baum) soll nun zugelassen werden, dass sich die Abhängigkeitsbäume überschneiden, d.h. es wird zugelassen, dass zwei oder mehrere Abhängigkeitsbäume zu einem gerichteten azyklischen Graphen verschmelzen.

Dies hat zur Folge, dass sich mit Hilfe dieser gerichteten atypischen Graphen ein flexibles Rechtesystem etablieren lässt, bei dem ein Benutzer einem anderen Benutzer ausgewählte Teile seiner Datenobjekte freigeben und existierende Freigaben auch wieder entziehen kann. Dies ist im Detail in den Figuren 5a und 5b erläutert.

In diesem Beispiel werden zwei Schlüsselpaar-Abhängigkeitsbäume (Figur 5a) betrachtet: Der erste Baum, auf den der besitzende Benutzer B 1 über das Schlüsselpaar K 1 zugreift, weist auf der Blattebene zwei weitere Schlüsselpaare K 3 und K 4 auf, mit denen jeweils zwei Datenobjekte, DO 1 und DO 2 bzw. DO 3 und DO 4 verschlüsselt sind. Der zweite Baum, auf den der besitzende Benutzer ^ über das Schlüsselpaar K 2 zugreift, hat auf der Blattebene lediglich ein weiteres Schlüsselpaar K 5 , mit dem die Datenobjekte DO 5 und DO 6 verschlüsselt sind.

Wenn Benutzer B 1 nun beschließen sollte, einen Teil seiner Datenobjekte für Benutzer B 2 zugänglich zu machen, beispielsweise die Datenobjekte DO 3 und DO 4 , dann kann er dies dadurch tun, indem er der Schlüsselverwaltung im Informationssystem (die Menge C von verschlüsselten geheimen Schlüsseln), die zu diesem Zeitpunkt aus den Elementen C G 3 O 1 , C G 4 O 1 und C G 5 O 2 besteht, ein weiteres Element C G 4 O 2 = V A [G 4 , O 2 ) hinzufügt, was im Graphen der Figur 5b einer zusätzlichen Verbindung vom Knoten K 2 zum Knoten K 4 entspricht.

Dadurch sind die zwei Abhängigkeitsbäume der Figur 5a zu einem gerichteten azyklischen Graphen, wie in Figur 5b gezeigt, verschmolzen, und Benutzer ^ kann auf die Datenobjekte DO 3 und DO 4 von Benutzer B 1 zugreifen, indem er die verschlüsselten Datenobjekte C DO 3 O 4 und C DO 4 O 4 sowie C G 4 O 2 in die vertrauenswürdige Stelle laden lässt, die dann erst G 4 = E A (C G 4 O 2 , G 2 ) und dann DO 3 = E A (C DO 3 O 4 , G 2 ) sowie DO 4 = E A (C_DO 4 _O 4 , G 2 ) entschlüsselt.

Der Entzug einer bereits erteilten Freigabe auf Datenobjekte lässt sich in diesem Szenario ebenfalls sehr einfach realisieren, nämlich dadurch, dass der entsprechende verschlüsselte geheime Schlüssel aus der Abhängigkeitshierarchie des betreffenden Benutzers gelöscht wird. Dadurch steht der besagte Schlüssel für den Benutzer, dem die Freigabe ursprünglich erteilt worden ist, nicht mehr zur Verfügung, so dass er die bisher freigegebenen Datenobjekte von der vertrauenswürdigen Stelle nicht mehr entschlüsseln lassen kann.

An dieser Stelle wird die Funktion der zuvor eingeführten vertrauenswürdigen Stelle deutlich: Sie erfüllt den Zweck, dass Benutzer Zugriff auf für sie freigegebene Datenobjekte anderer Benutzer bekommen, ohne die zugehörigen geheimen Schlüssel zu kennen, mit denen diese Datenobjekte entschlüsselt werden, da die geheimen Schlüssel die vertrauenswürdige Stelle nicht verlassen. Wenn diese geheimen Schlüssel zu irgendeinem Zeitpunkt in den Hoheitsbereich der Benutzer geraten würden, könnte es nicht ausgeschlossen werden, dass korrupte Benutzer sich die Schlüssel „merken", d.h. sie mit Hilfe eines manipulierten Client-Programms o.a. abspeichern. In diesem Fall wäre es möglich, dass ein Benutzer auch nach Entzug einer Freigabe Datenobjekte mit Hilfe eines irregulär „gemerkten" geheimen Schlüssel zu entschlüsseln kann, wodurch das Freigabekonzept unterlaufen werden könnte. Durch die Einführung der vertrauenswürdigen Stelle jedoch behält das Konzept der Nutzung von 1 :N-Abhängigkeitshierarchien seine Nutzbarkeit.

Die Schlüssel werden daher nur in einer „vertrauenswürdigen Stelle" zur Verfügung gestellt. Unter einer „vertrauenswürdige Stelle" wird hier jedes elektronische Gerät, wie z.B. ein Computersystem, verstanden, in dem die schutzbedürftigen Datenobjekte im Klartext vorliegen und/oder in dem Daten zur Überführung der Datenobjekte in Klartext vorliegen und/oder welches Zugriff auf solche Daten hat.

Ein weiteres Konzept für eine Nutzung von Hierarchien ist dass sich mehrere Benutzer B 1 , ... , B n eines Informationssystems zu einer Gruppe B zusammenschließen, in der vereinbart wird, dass jeder Benutzer B 1 der Gruppe neben seinen eigenen auch die Datenobjekte aller anderen Benutzer in, ... , B 1 .], B 1+1 , ... , B n aus der Gruppe entschlüsseln können soll. Dazu erteilt jeder Benutzer ^ aus B dem in der Reihenfolge nachfolgenden Benutzer B 1+1 eine Freigabe auf seine eigenen Datenobjekte, indem er den geheimen Schlüssel G 1 eines seiner Schlüsselpaare K 1 mit dem öffentlichen Schlüssel O 1+1 des Schlüsselpaars i^ + ; des Benutzers B 1+1 verschlüsselt und das Chiffrat C G 1 O 1+1 im Informationssystem abspeichert. Außerdem verschlüsselt Benutzer ^ seinen geheimen Schlüssel G n mit dem öffentlichen Schlüssel O 1 des Schlüsselpaars K 1 von Benutzer B 1 und speichert das Chiffrat C G n O 1 ebenfalls im Informationssystem. In diesem Szenario ist es nun möglich, dass die vertrauenswürdige Stelle für einen Teilnehmer der Benutzergruppe B bei Eingabe dessen geheimen Schlüssels durch

Entlanglaufen der kreisförmigen Hierarchie den geheimen Schlüssel von jedem anderen Teilnehmer nacheinander entschlüsselt und damit wiederum alle Datenobjekte, die mit jedem der zugehörigen öffentlichen Schlüssel verschlüsselt wurden, entschlüsseln kann. Jeder Teilnehmer von B kann also auf alle von allen anderen Teilnehmern von B verschlüsselten und ins Informationssystem eingestellten Datenobjekte zuzugreifen, jedoch ohne deren geheimen Schlüssel zu kennen.

Einzelne Mitglieder können in diese Hierarchie aufgenommen sowie ausgeschlossen werden; es müssen nur die entsprechenden Verbindungen gelöscht bzw. neu hinzugefügt werden. Beim Hinzufügen eines neuen Mitglieds B n+1 wird die kreisförmige Hierarchie an einer Stelle aufgetrennt, d.h. es wird beispielsweise die Verbindung C G n O 1 gelöscht, und die Verbindungen C G n O n+1 und C G n+1 O 1 hinzugefügt.

Analog dazu werden beim Löschen eines Mitglieds B 1 aus der Hierarchie die Verbindungen C G 1 ^ 1 O 1 und C G 1 O 1+1 aus der Hierarchie gelöscht und eine neue Verbindung C G^ 1 O 1+1 zur Hierarchie hinzugefügt werden.

Die Figur 6 zeigt ein Flussdiagramm eines Verfahrens zur Speicherung von Chiffraten. Das Verfahren beginnt in Schritt 600, in welchem Schlüsselpaare in Form eines Graphen bereitgestellt werden. Zu diesem existierenden Satz von Schlüsselpaaren soll nun ein weiteres Schlüsselpaar hinzugefügt werden, was in Schritt 602 erfolgt. Daraufhin erfolgt die Erzeugung einer Abhängigkeit zwischen diesem weiteren Schlüsselpaar und einem entsprechenden Vorgänger-Schlüsselpaar des bereitgestellten Satzes von Schlüsselpaaren, indem in Schritt 604 ein entsprechendes Chiffrat erzeugt wird. Bei diesem Chiffrat wird dabei der geheime Schlüssel des weiteren Schlüsselpaars mit dem öffentlichen Schlüssel des Vorgänger-Schlüsselpaars verschlüsselt. Das so erzeugte Chiffrat wird in Schritt 606 in einer entsprechenden Datenbank gespeichert. Der Schritt 608 mit der Speicherung eines Klassifizierungsmerkmals ist optional und kann dazu verwendet werden, um den Zugriff auf das Chiffrat zeitlich, nach der Benutzung oder nach Anzahl der Benutzungen einzuschränken.

Die Figur 7 zeigt ein Flussdiagramm eines Verfahrens zur Bereitstellung einer ChiffratSequenz. Zunächst wird in Schritt 700 eine Authentisierung empfangen, mittels welcher sichergestellt wird, dass ausschließlich ein befugter Benutzer Zugriff auf die

Chiffrate hat. Ergibt der Überprüfungsschritt 702, dass ein Zugriff auf ein entsprechendes Chiffrat nicht erlaubt ist, so endet das Verfahren in Schritt 704. Ist hingegen das Ergebnis des Überprüfungsschrittes 702, dass ein Zugriff auf Chiffrate erlaubt ist, so empfängt das System in Schritt 706 eine erste und zweite Kennung.

Beispielsweise kennzeichnet die erste Kennung das Schlüsselpaar, welches das

Schlüsselpaar ist, von welchem aus ein Entschlüsselungsvorgang von Daten stattfinden soll. Die zweite Kennung kennzeichnet entweder das zu entschlüsselnde Datenobjekt oder das letzte Schlüsselpaar in der Sequenz von Schlüsselpaaren, welches für einen Entschlüsselungsvorgang verwendet werden soll.

Daraufhin werden in den Schritten 708, 710 und 712 die Chiffrate bestimmt, welche für die entsprechende Chiffrat-Entschlüsselungssequenz auf einem Pfad der Schlüsselpaare liegen, welcher durch die erste und zweite Kennung vorgegeben ist, falls ein solcher Pfad existiert. Zur Suche eines solchen Pfads in dem Graphen können verschiedene an sich bekannte Verfahren verwendet werden, z.B. um einen kürzesten Pfad zu finden. So wird in Schritt 708 ein entsprechendes Chiffrat übermittelt und in Schritt 710 überprüft, ob das Chiffrat gültig ist. Hierbei kann es sich wie bereits oben erwähnt um eine Gültigkeit nach Zeitintervall, eine Gültigkeit nach Anzahl der Benutzungen, um eine Gültigkeit nach Art der Benutzung handeln, etc.. Ist das ermittelte Chiffrat nicht gültig, so endet das Verfahren in Schritt 704. Ist das Chiffrat gültig, so erfolgt in Schritt 712 eine Überprüfung, ob ein weiteres Chiffrat notwendig ist, d.h. ob die Sequenz an Chiffraten vollständig ist oder nicht. Ist die Sequenz noch nicht vollständig, springt das Verfahren zu Schritt 708 zurück, wohingegen im Falle der Vollständigkeit der Sequenz die Chiffratsequenz in Schritt 714 bereitgestellt wird.

Bezugsze ich en l iste

100 Chiffrat

102 Schlüsselpaar

104 Schlüsselpaar

106 Schlüsselpaar

10 108 Chiffrat

116 verschlüsselte Datenobjekte

200 Datenverarbeitungssystem

202 Eingabemittel

204 Bildschirm

15 206 Schnittstelle

208 Prozessor

210 Speicher

212 Modul

214 Modul

20 216 Chipkarte

218 geheimer Schlüssel

220 öffentlicher Schlüssel

222 Prozessor

224 Datenverarbeitungssystem

25 226 Netzwerk

228 Datenbank

230 Kennung

234 Chiffrat

236 Merkmal

30 238 Speicher

240 Modul

242 Modul

244 Prozessor

246 Schnittstelle 250 Hierarchieebene

252 Hierarchieebene

254 Hierarchieebene