EP3234853A1 - Method and device for securely storing data and for accessing said data - Google Patents

Method and device for securely storing data and for accessing said data

Info

Publication number
EP3234853A1
EP3234853A1 EP15813691.1A EP15813691A EP3234853A1 EP 3234853 A1 EP3234853 A1 EP 3234853A1 EP 15813691 A EP15813691 A EP 15813691A EP 3234853 A1 EP3234853 A1 EP 3234853A1
Authority
EP
European Patent Office
Prior art keywords
data
key
predicate
attribute vector
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP15813691.1A
Other languages
German (de)
French (fr)
Inventor
Rainer Urian
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Giesecke and Devrient Mobile Security GmbH
Original Assignee
Giesecke and Devrient Mobile Security GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Giesecke and Devrient Mobile Security GmbH filed Critical Giesecke and Devrient Mobile Security GmbH
Publication of EP3234853A1 publication Critical patent/EP3234853A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB

Definitions

  • FIG. 1 shows a schematic representation of a portable data carrier according to the invention in communication with a terminal

Abstract

The invention relates to a method for securely storing data D on a terminal by means of a portable data carrier, wherein an attribute vector A and a master key MK are stored on the portable data carrier. The method comprises the following steps: deriving a key K from a predicate P and the master key MK by means of a key derivation function KDF, wherein the predicate P is a Boolean function of the attribute vector A; encrypting the data D by means of the key K; and storing the encrypted data D together with the predicate P on the terminal. The invention further relates to a method for accessing encrypted data D by means of a portable data carrier. The method comprises the following steps: extracting the predicate P from the encrypted data and the predicate P; applying the predicate P to the attribute vector A; and, if the attribute vector A fulfills the predicate P, deriving the key K from the predicate P and the master key MK by means of the key derivation function KDF and decrypting the encrypted data D.

Description

Verfahren und Vorrichtung zum sicheren Speichern von Daten und zum Zugreifen auf diese Daten  Method and apparatus for securely storing and accessing data
Gebiet der Erfindung Field of the invention
Die Erfindung betrifft das Gebiet der Speicherung von Daten sowie der Zu- greifens auf diese Daten. Insbesondere betrifft die Erfindung ein Verfahren und eine Vorrichtung zum sicheren Speichern von Daten und zum Zugreifen auf diese Daten. Hintergrund der Erfindung The invention relates to the field of storing data and accessing these data. More particularly, the invention relates to a method and apparatus for securely storing and accessing data. Background of the invention
Mehr und mehr Daten stehen in digitaler Form zur Verfügung. Diese Daten müssen gespeichert werden, und zwar in der Regel sicher. Das sichere Speichern von Daten kann als ein Gebiet der Kryptographie betrachtet werden, bei dem der Klartext, die Daten, in verschlüsselter Form an den Benutzer an einem Punkt in der Zukunft geschickt werden.  More and more data is available in digital form. These data must be stored, usually safe. The secure storage of data may be considered as an area of cryptography in which the plaintext, the data, is sent in encrypted form to the user at a point in the future.
In einer sicheren Umgebung kann eine Zugriffskontrollmechanismus ohne weiteres umgesetzt werden. In einer unsicheren Umgebung (z.B. in der Cloud) ist dies nicht mehr möglich, da der Zugriffskontrollmechanismus nicht mehr vertrauenswürdig ist. In a secure environment, an access control mechanism can be readily implemented. In an insecure environment (e.g., in the cloud) this is no longer possible because the access control mechanism is no longer trustworthy.
Vor diesem Hintergrund stellt sich der vorliegenden Erfindung die Aufgabe, verbesserte Verfahren und Vorrichtungen zum sicheren Speichern von Daten, und zwar insbesondere zum sicheren Speichern von Daten in unsicheren Umgebungen bereitzustellen. Against this background, the object of the present invention is to provide improved methods and devices for the secure storage of data, in particular for the secure storage of data in unsafe environments.
Zusammenfassung der Erfindung Summary of the invention
Die vorstehenden Aufgaben werden durch die Gegenstände der unabhängigen Ansprüche gelöst. Bevorzugte Ausführungsformen werden in den ab- hängigen Ansprüchen definiert. Gemäß einem ersten Aspekt der Erfindung wird ein Verfahren zum sicheren Speichern von Daten D mittels eines portablen Datenträgers auf einem Terminal bereitgestellt, wobei auf dem portablen Datenträger ein Attributvektor A und ein Masterkey MK hinterlegt sind. Dabei umfasst das Verfahren die folgenden Schritte: das Ableiten eines Schlüssels K aus einem Prädikat P und dem Masterkey MK mittels einer Schlüsselableitungsfunktion KDF, wobei das Prädikat P eine Boolesche Funktion des Attributvektors A ist; das Verschlüsseln der Daten D mit dem Schlüssel K; und das Abspeichern der ver- schlüsselten Daten D zusammen mit dem Prädikat P auf dem Terminal. The above objects are achieved by the subject-matter of the independent claims. Preferred embodiments are defined in the dependent claims. According to a first aspect of the invention, a method for securely storing data D by means of a portable data carrier is provided on a terminal, wherein an attribute vector A and a master key MK are stored on the portable data carrier. In this case, the method comprises the following steps: the derivation of a key K from a predicate P and the master key MK by means of a key derivation function KDF, the predicate P being a Boolean function of the attribute vector A; encrypting the data D with the key K; and storing the encrypted data D together with the predicate P on the terminal.
Vorzugsweise wird der Schlüssel K nach dem Verschlüsseln der Daten D mit dem Schlüssel K vernichtet. Gemäß bevorzugter Ausführungsformen der Erfindung handelt es sich bei dem Masterkey MK um einen globalen Masterkey. Preferably, the key K is destroyed after encrypting the data D with the key K. According to preferred embodiments of the invention, the master key MK is a global master key.
Gemäß einem zweiten Aspekt der Erfindung wird ein Verfahren zum Zugreifen mittels eines portablen Datenträgers auf verschlüsselte Daten D be- reitgestellt, die mittels eines Verfahrens nach dem ersten Aspekt der Erfindung auf einem Terminal gespeichert worden sind. Dabei umfasst das Verfahren die folgenden Schritte: das Extrahieren des Prädikats P aus den verschlüsselten Daten und dem Prädikat P; das Anwenden des Prädikats P auf den Attributvektor A; und falls der Attributvektor A das Prädikat P erfüllt, das Ableiten des Schlüssels K aus dem Prädikat P und dem Masterkey MK mittels der Schlüsselableitungsfunktion KDF und das Entschlüsseln der verschlüsselten Daten D. Gemäß einem dritten Aspekt der Erfindung wird ein Verfahren zum sicheren Speichern von Daten D mittels eines portablen Datenträgers auf einem Terminal bereitgestellt, wobei auf dem portablen Datenträger ein Prädikat P und ein Masterkey MK hinterlegt sind. Dabei umfasst das Verfahren die fol- genden Schritte: das Ableiten eines Schlüssels K aus einem Attributvektor A und dem Masterkey MK mittels einer Schlüsselableitungsfunktion KDF, wobei das Prädikat P eine Boolesche Funktion des Attributvektors A ist; das Verschlüsseln der Daten D mit dem Schlüssel K; und das Abspeichern der verschlüsselten Daten D zusammen mit dem Attributvektor A auf dem Ter- minal. According to a second aspect of the invention, a method for accessing encrypted data D by means of a portable data carrier, which has been stored on a terminal by means of a method according to the first aspect of the invention, is provided. In this case, the method comprises the following steps: extracting the predicate P from the encrypted data and the predicate P; applying the predicate P to the attribute vector A; and if the attribute vector A satisfies the predicate P, deriving the key K from the predicate P and the master key MK by means of the key derivation function KDF and decrypting the encrypted data D. According to a third aspect of the invention, a method for the secure storage of data D by means of a portable data carrier is provided on a terminal, wherein a predicate P and a master key MK are stored on the portable data carrier. In this case, the method comprises the following steps: the derivation of a key K from an attribute vector A and the master key MK by means of a key derivation function KDF, the predicate P being a Boolean function of the attribute vector A; encrypting the data D with the key K; and storing the encrypted data D together with the attribute vector A on the terminal.
Vorzugsweise wird der Schlüssel K nach dem Verschlüsseln der Daten D mit dem Schlüssel K vernichtet. Gemäß bevorzugter Ausführungsformen der Erfindung handelt es sich bei dem Masterkey MK um einen globalen Masterkey. Preferably, the key K is destroyed after encrypting the data D with the key K. According to preferred embodiments of the invention, the master key MK is a global master key.
Gemäß einem vierten Aspekt der Erfindung wird ein Verfahren zum Zugreifen mittels eines portablen Datenträgers auf verschlüsselte Daten D bereitge- stellt, die mittels eines Verfahrens nach dem dritten Aspekt der Erfindung auf einem Terminal gespeichert worden sind. Dabei umfasst das Verfahren die folgenden Schritte: das Extrahieren des Attributvektors A aus den verschlüsselten Daten D und dem Attributvektor A; das Anwenden des Prädikats P auf den Attributvektor A; und falls der Attributvektor A das Prädikat P erfüllt, das Ableiten des Schlüssels K aus dem Attributvektor A und dem Masterkey MK mittels der Schlüsselableitungsfunktion KDF und das Entschlüsseln der verschlüsselten Daten D. Gemäß einem fünften Aspekt der Erfindung wird ein portabler Datenträger bereitgestellt, der dazu ausgestaltet ist, gemäß einem Verfahren nach dem ersten Aspekt der Erfindung oder dem dritten Aspekt der Erfindung Daten D auf einem Terminal zu speichern oder gemäß einem Verfahren nach dem zweiten Aspekt der Erfindung oder dem vierten Aspekt der Erfindung auf Daten D auf einem Terminal zuzugreifen. According to a fourth aspect of the invention, a method for accessing encrypted data D by means of a portable data carrier, which has been stored on a terminal by means of a method according to the third aspect of the invention, is provided. In this case, the method comprises the following steps: extracting the attribute vector A from the encrypted data D and the attribute vector A; applying the predicate P to the attribute vector A; and if the attribute vector A satisfies the predicate P, deriving the key K from the attribute vector A and the master key MK by means of the key derivation function KDF and decrypting the encrypted data D. According to a fifth aspect of the invention there is provided a portable data carrier adapted to store data D on a terminal according to a method of the first aspect of the invention or the third aspect of the invention or according to a method of the second aspect of the invention the fourth aspect of the invention to access data D on a terminal.
Gemäß einem sechsten Aspekt der Erfindung wird ein Terminal bereitgestellt, das dazu ausgestaltet ist, dass Daten D gemäß einem Verfahren nach dem ersten Aspekt der Erfindung oder nach dem zweiten Aspekt der Erfindung auf dem Terminal gespeichert werden oder dass auf Daten D auf dem Terminal gemäß einem Verfahren nach dem zweiten Aspekt der Erfindung oder dem vierten Aspekt der Erfindung zugegriffen wird. Weitere Merkmale, Vorteile und Aufgaben der Erfindung gehen aus der folgenden detaillierten Beschreibung mehrerer Ausführungsbeispiele und Ausführungsalternativen hervor. Es wird auf die Zeichnungen verwiesen, in denen zeigen: Figur 1 eine schematische Darstellung eines erfindungsgemäßen portablen Datenträgers in Kommunikation mit einem Terminal, According to a sixth aspect of the invention, there is provided a terminal configured to store data D on the terminal according to a method according to the first aspect of the invention or according to the second aspect of the invention, or to store data D on the terminal according to Method according to the second aspect of the invention or the fourth aspect of the invention is accessed. Other features, advantages and objects of the invention will be apparent from the following detailed description of several embodiments and alternative embodiments. Reference is made to the drawings, in which: FIG. 1 shows a schematic representation of a portable data carrier according to the invention in communication with a terminal,
Figur 2 die Schritte eines Verfahrens zum Abspeichern von Daten mit dem portablen Datenträger von Figur 1 gemäß einer ersten bevorzugten Ausführungsform der Erfindung, und Figure 2 shows the steps of a method for storing data with the portable data carrier of Figure 1 according to a first preferred embodiment of the invention, and
Figur 3 die Schritte eines Verfahrens zum Abspeichern von Daten mit dem portablen Datenträger von Figur 1 gemäß einer zweiten bevorzugten Ausführungsform der Erfindung. Figur 1 zeigt eine schematische Darstellung einer bevorzugten Ausführungsform eines erfindungsgemäßen portablen Datenträgers in Form einer Chipkarte 20 in Kommunikation mit einer externen Instanz in Form eines Termi- nals 10. Figure 3 shows the steps of a method for storing data with the portable data carrier of Figure 1 according to a second preferred embodiment of the invention. FIG. 1 shows a schematic representation of a preferred embodiment of a portable data carrier according to the invention in the form of a chip card 20 in communication with an external entity in the form of a terminal 10.
Der in Figur 1 dargestellte portable Datenträger in Form einer Chipkarte 20 ist dazu ausgestaltet mit dem Lesegerät 10 Daten auszutauschen. Als ein Austausch von Daten wird hier eine Signalübertragung, eine wechselseitige Steuerung und in einfachen Fällen auch eine Verbindung zwischen dem Le- segerät 10 und der Chipkarte 20 verstanden. In der Informationstheorie wird ein Datenaustausch insbesondere durch das Sender-Empfänger-Modell geprägt: Daten bzw. Informationen werden in Zeichen kodiert und dann von einem Sender über einen Übertragungskanal an einen Empfänger übertragen. Dabei ist entscheidend, dass Sender und Empfänger dieselbe Kodierung verwenden, damit der Empfänger die Daten dekodieren kann.  The portable data carrier in the form of a chip card 20 shown in FIG. 1 is designed to exchange data with the reader 10. As an exchange of data is here a signal transmission, a mutual control and in simple cases, a connection between the reader 10 and the smart card 20 understood. In information theory, a data exchange is characterized in particular by the transmitter-receiver model: data or information is encoded in characters and then transmitted by a transmitter via a transmission channel to a receiver. It is crucial that the sender and receiver use the same encoding so that the receiver can decode the data.
Zur Datenübertragung bzw. Kommunikation zwischen der Chipkarte 20 und dem Terminal 10 weisen sowohl die Chipkarte 20 als auch das Terminal 10 geeignete Kommunikationsschnittstellen 22 und 12 auf. Die Schnittstellen 22 und 12 können beispielsweise so ausgestaltet sein, dass die Kommunikation zwischen diesen bzw. zwischen der Chipkarte 20 und dem Lesegerät 10 kontaktlos, d.h. über die Luftschnittstelle erfolgt, wie dies in Figur 1 durch den gezackten Pfeil angedeutet ist. Alternativ kann die Chipkarte 20 über die Schnittstelle 22 galvanisch, d.h. kontaktbehaftet, mit der Schnittstelle 12 des Terminals 10 verbunden werden. In diesem Fall ist die Schnittstelle 22 in der Regel als ein auf einer Seite der Chipkarte 20 angeordnetes Kontaktfeld mit Kontaktflächen zum Datenaustausch mit dem Terminal 10 ausgebildet. For data transmission or communication between the chip card 20 and the terminal 10, both the chip card 20 and the terminal 10 have suitable communication interfaces 22 and 12. For example, the interfaces 22 and 12 may be configured so that the communication between them or between the smart card 20 and the reader 10 is contactless, i. via the air interface, as indicated in Figure 1 by the jagged arrow. Alternatively, the smart card 20 may be galvanically, i. contact, be connected to the interface 12 of the terminal 10. In this case, the interface 22 is generally designed as a contact field arranged on one side of the chip card 20 with contact surfaces for data exchange with the terminal 10.
Selbstverständlich werden von der vorliegenden Erfindung auch portable Datenträger in Form von Chipkarten umfasst, die sowohl eine Schnittstelle zur kontaktbehafteten als auch eine Schnittstelle zur kontaktlosen Kommunikation mit einem Terminal aufweisen und die dem Fachmann als Dual- Interface-Chipkarten bekannt sind. Neben der Schnittstelle 22 zur Kommunikation mit dem Terminal 10 um- fasst die Chipkarte 20 eine zentrale Prozessor- bzw. Recheneinheit (CPU; auch Prozessor genannt) 21, die in Kommunikationsverbindung mit der Schnittstelle 22 steht. Bekanntermaßen gehören zu den primären Aufgaben des Prozessors 21 das Ausführen von arithmetischen und logischen Funktio- nen und das Lesen und Schreiben von Datenelementen, wie dies durch eine auf dem Prozessor 21 ablaufende Softwareapplikation definiert wird. Der Prozessor 21 steht ferner mit einem flüchtigen Arbeitsspeicher (RAM) 23 und einem nichtflüchtigen wieder beschreibbaren Speicher 24 (in Figur 1 als "NVM" (non-volatile memory) bezeichnet) in Verbindung. Vorzugsweise handelt es sich bei dem nichtflüchtigen Speicher 24 um einen Flash-Speicher (Flash-EEPROM). Dabei kann es sich beispielsweise um einen Flash-Speicher mit einer NAND- oder einer NOR- Architektur handeln. Neben einem wieder beschreibbaren Teil kann der nichtflüchtige Speicher 24 ferner einen ROM aufweisen. Of course, the present invention also includes portable data carriers in the form of smart cards, both an interface to the contact as well as an interface for contactless communication with a terminal and which are known in the art as dual-interface smart cards. In addition to the interface 22 for communication with the terminal 10, the chip card 20 comprises a central processor or computing unit (CPU, also called a processor) 21 which is in communication with the interface 22. As is known, among the primary tasks of the processor 21 are the execution of arithmetic and logic functions and the reading and writing of data elements, as defined by a software application running on the processor 21. The processor 21 is further connected to a volatile random access memory (RAM) 23 and a non-volatile rewritable memory 24 (referred to in Figure 1 as "NVM" (non-volatile memory)). Preferably, the nonvolatile memory 24 is a flash memory (flash EEPROM). This may be, for example, a flash memory with a NAND or a NOR architecture. Besides a rewritable portion, the nonvolatile memory 24 may further comprise a ROM.
Bei der in Figur 1 dargestellten bevorzugten Ausführungsform ist in dem nichtflüchtigen Speicher 24 der Chipkarte 20 Programmcode gespeichert, der von dem Prozessor 21 ausgeführt werden kann. Insbesondere kann in dem nichtflüchtigen Speicher 24 der Chipkarte 20 Programmcode implementiert sein, durch den die Chipkarte 20 dazu ausgestaltet, die nachstehend im Zusammenhang mit den Figuren 2 und 3 beschriebenen erfindungsgemäße Verfahren zum Speichern von Daten auf dem Terminal 10 durchzuführen. Bei dem Terminal 10 kann es sich beispielsweise um einen Cloud-Server handeln, der dazu ausgestaltet ist, dass auf diesem Daten gespeichert werden können. In the preferred embodiment shown in Figure 1 is stored in the non-volatile memory 24 of the smart card 20 program code that can be executed by the processor 21. In particular, program code may be implemented in the nonvolatile memory 24 of the smart card 20, by which the smart card 20 is configured to perform the inventive method for storing data on the terminal 10 described below in connection with FIGS. 2 and 3. For example, the terminal 10 may be a cloud server act that is designed to be stored on this data.
Figur 2 zeigt eine erste bevorzugte Ausführungsform zum Abspeichern von Daten mit dem portablen Datenträger 20 auf dem Terminal 10 oder einem damit in Kommunikation stehenden Hintergrundsystem. FIG. 2 shows a first preferred embodiment for storing data with the portable data carrier 20 on the terminal 10 or a background system in communication therewith.
Schritt Sl von Figur 1 betrifft die Personalisierung des portablen Datenträgers 20, die in der Regel im Rahmen der Herstellung des portablen Datenträ- gers 20 durch den Hersteller oder anschließend durch den Herausgeber des portablen Datenträgers 20 vorgenommen wird. Gemäß Schritt Sl von Figur 2 werden bei der Personalisierung ein Attributvektor A, ein Masterkey MK sowie eine Schlüsselableitungsfunktion KDF ("key derivation function") auf dem portablen Datenträger 20 hinterlegt. Der Attributvektor A besteht vor- zugsweise aus wenigstens, in der Regel aber aus mehreren Komponenten, die jeweils eine bestimmte Eigenschaft (d.h. ein Attribut) des Benutzers des portablen Datenträgers 20 definieren. Attribute dieser Art sind beispielsweise Alter, Geschlecht, Körpergröße, Gewicht, Sicherheitsstatus, Dienstgrad, Abteilung und dergleichen. Vorzugsweise handelt es sich bei dem Master- key MK um einen globalen Masterkey, d.h.um einen Masterkey, der auf einer Vielzahl von portablen Datenträgern, wie dem portablen Datenträger 20 hinterlegt ist. Step S1 of FIG. 1 relates to the personalization of the portable data carrier 20, which is generally carried out as part of the production of the portable data carrier 20 by the manufacturer or subsequently by the publisher of the portable data carrier 20. According to step Sl of FIG. 2, an attribute vector A, a master key MK and a key derivation function KDF ("key derivation function") are stored on the portable data carrier 20 during personalization. The attribute vector A preferably consists of at least, but usually of several components, each defining a particular property (i.e., an attribute) of the user of the portable volume 20. Attributes of this type include age, gender, height, weight, security status, rank, department, and the like. The master key MK is preferably a global master key, that is to say a master key, which is stored on a plurality of portable data carriers, such as the portable data carrier 20.
Der gemäß Schritt Sl von Figur 2 personalisierte Datenträger 20 kann erfin- dungsgemäß dazu verwendet werden, Daten D auf dem Terminal 10 oder einem damit in Kommunikation stehenden Hintergrundsystem sicher abzuspeichern. Hierzu wird in Schritt S2 von Figur 2 vom Terminal 10 ein Prädikat P bereitgestellt. Aus dem Masterkey MK und dem Prädikat wird vorzugsweise in der sicheren Umgebung, die durch den portablen Datenträger 20 bereitgestellt wird, mittels der Schlüsselableitungsfunktion KDF ein Schlüssel K abgeleitet. Wie dies nachstehend noch detaillierter beschrieben wird, handelt es sich bei dem Prädikat um eine Funktion, die als Argument den Attributvektor A hat und als Funktionswert den Wert 0 oder 1 liefert, also um eine Boolesche Funktion, die auf den Attributvektor A angewendet wird. Falls beispielhaft eine Komponente des Attributvektors A das Alter des Benutzers ist, könnte eine im Prädikat P implementierte Abfrage sein, ob der Besitzer bereits 18 Jahre alt ist, die von Prädikat mit 0 oder 1 beantwortet wird. In der Praxis könnte ein Prädikat P beispielsweise mittels TLV- Codierung als Bitstring hinterlegt sein. Vorzugsweise kann das Prädikat vom Benutzer des portablen Datenträgers 20 gewählt werden. Wie dies nachstehend im Detail beschrieben wird, kann der Benutzer des portablen Datenträgers 20 durch die Wahl eines geeigneten Prädikats P bestimmen, welche Personen (d.h. welcher durch den Attributvektor A bestimmte Personenkreis) auf die Daten D Zugriff haben. According to the invention, the data carrier 20 personalized according to step S 1 of FIG. 2 can be used to securely store data D on the terminal 10 or a background system in communication therewith. For this purpose, a predicate P is provided by the terminal 10 in step S2 of FIG. From the Masterkey MK and the predicate is preferably in the secure environment, by the portable disk 20, a key K is derived by means of the key derivation function KDF. As will be described in more detail below, the predicate is a function that has the attribute vector A as its argument and provides the value 0 or 1 as the function value, ie, a Boolean function that is applied to the attribute vector A. By way of example, if a component of the attribute vector A is the user's age, a query implemented in the predicate P could be whether the owner is already 18 years old and is answered by predicate with 0 or 1. In practice, a predicate P could be stored as a bit string, for example by means of TLV coding. Preferably, the predicate can be selected by the user of the portable data carrier 20. As will be described in detail below, by choosing a suitable predicate P, the user of the portable volume 20 may determine which persons (ie, which group of persons designated by the attribute vector A) have access to the data D.
In Schritt S3 von Figur 2 werden die Daten D mit dem Schlüssel K verschlüsselt und die verschlüsselten Daten ENC(D, K) zusammen mit dem Prädikat P auf dem Terminal 10 (oder einem damit in Kommunikation stehenden Hintergrundsystem) abgespeichert. Vorzugsweise wird nach der Verschlüsselung mit dem Schlüssel K dieser Schlüssel wieder gelöscht. Erfindungsgemäß kann die Verschlüsselung sowohl durch den portablen Datenträger 20 als auch das Terminal 10 durchgeführt werden. Zur gemeinsamen Abspeicherung der verschlüsselten Daten ENC(D, K) mit dem Prädikat P können diese vorzugsweise miteinander konkateniert werden, was in Figur 2 durch das Symbol " || " angedeutet ist. Nachdem die Daten D in den Schritten S2 und S3 von Figur 2 sicher abgespeichert worden sind, kann erfindungsgemäß mittels der Schritte S4 und S5 von Figur 2 wieder auf diese zugegriffen werden. In Schritt S4von Figur 2 wird das Prädikat P aus den in Schritt S3 auf dem Terminal 10 abgespeicherten Datenpaket extrahiert, das aus den verschlüsselten Daten ENC(D, K) und dem Prädikat P besteht. Anschließend wird das so extrahierte Prädikat P auf den Attributvektor A angewendet, der auf dem portablen Datenträger 20 hinterlegt ist. Wie bereits vorstehend beschrieben, handelt es sich bei dem Prädikat P um eine Boolesche Funktion, die mit dem Attributvektor A als Argument zwei Funktionswerte liefern kann, vorzugsweise 0 oder 1. Vorzugsweise bedeutet dabei P(A)=0, dass der Attributvektor A das Prädikat P nicht erfüllt, wohingegen P(A)=1 bedeutet, dass der Attributvektor A das Prädikat P erfüllt. In step S3 of FIG. 2, the data D is encrypted with the key K and the encrypted data ENC (D, K) is stored together with the predicate P on the terminal 10 (or a background system in communication therewith). Preferably, after encryption with the key K, this key is deleted again. According to the invention, the encryption can be carried out both by the portable data carrier 20 and the terminal 10. For common storage of the encrypted data ENC (D, K) with the predicate P, these can preferably be concatenated with each other, which is indicated in Figure 2 by the symbol "||". After the data D have been securely stored in steps S2 and S3 of FIG. 2, according to the invention, these can be accessed again by means of steps S4 and S5 of FIG. In step S4 of FIG. 2, the predicate P is extracted from the data packet stored on the terminal 10 in step S3, which consists of the encrypted data ENC (D, K) and the predicate P. Subsequently, the predicate P thus extracted is applied to the attribute vector A, which is stored on the portable data carrier 20. As already described above, the predicate P is a Boolean function which, with the attribute vector A, can yield two function values as an argument, preferably 0 or 1. Preferably, P (A) = 0 means that the attribute vector A is the predicate P does not satisfy, whereas P (A) = 1 means that the attribute vector A satisfies the predicate P.
Erfindungsgemäß ist nun in Schritt S5 von Figur 2 vorgesehen, dass dann, wenn der Attributvektor A das Prädikat P nicht erfüllt (also im obigen Beispiel P(A)=0), ein Zugriff auf die Daten D verwehrt wird. Nur falls der Attributvektor A das Prädikat P erfüllt (also im obigen Beispiel P(A)=1) wird mit- tels der Schlüsselableitungsfunktion KDF aus dem auf dem portablen Datenträger 20 hinterlegten Masterkey MK und dem Prädikat P der Schlüssel K abgeleitet. Da dieser Schlüssel in Schritt S2 von Figur 2 abgleitet und dazu verwendet worden ist, die Daten D zu verschlüsseln, können die Daten D in Schritt S5 mit diesem Schlüssel wieder entschlüsselt werden, wodurch der Benutzer des portablen Datenträgers 20 wieder Zugriff auf die Daten D hat (oder ein Benutzer eines anderen portablen Datenträgers, dessen Attributvektor A' ebenfalls das Prädikat P erfüllt und der über den gleichen globalen Masterkey MK verfügt). Figur 3 zeigt eine zweite bevorzugte Ausführungsform der Erfindung zum Abspeichern von Daten mit dem portablen Datenträger 20 auf dem Terminal 10 oder einem damit in Kommunikation stehenden Hintergrundsystem. Die zweite bevorzugte Ausführungsform von Figur 3 unterscheidet sich von der ersten bevorzugten Ausführungsform von Figur 2 im Wesentlichen darin, dass in der zweiten bevorzugten Ausführungsform die Rollen des Prädikats P und des Attributvektors A miteinander vertauscht sind. Dabei kann in Schritt S3' von Figur 3, wie dargestellt, vorzugsweise der Attributvektor A oder alternativ das Prädikat P zur Ableitung des Schlüssels K verwendet werden (sowie bei der entsprechenden Ableitung in Schritt S5' von Figur 3). Da bis auf die Vertauschung der Rollen des Prädikats P und des Attributvektors A keine weiteren Unterschiede zwischen der in Figur 3 dargestellten zweiten bevorzugten Ausführungsform und der in Figur 2 dargestellten ersten bevorzugten Ausführungsform bestehen, kann auf die vorstehende Beschreibung der Schritte Sl bis S5 verwiesen werden. According to the invention, it is now provided in step S5 of FIG. 2 that, if the attribute vector A does not satisfy the predicate P (ie in the above example P (A) = 0), access to the data D is denied. Only if the attribute vector A satisfies the predicate P (ie in the above example P (A) = 1) is the key K derived from the master key MK stored on the portable data carrier 20 and the predicate P by means of the key derivation function KDF. Since this key is derived in step S2 of Figure 2 and has been used to encrypt the data D, the data D can be decrypted with this key again in step S5, whereby the user of the portable data carrier 20 again has access to the data D. (or a user of another portable volume whose attribute vector A 'also satisfies the predicate P and which has the same global masterkey MK). FIG. 3 shows a second preferred embodiment of the invention for storing data with the portable data carrier 20 on the terminal 10 or a background system in communication therewith. The second preferred embodiment of Figure 3 differs from the first preferred embodiment of Figure 2 essentially in that in the second preferred embodiment, the roles of the predicate P and the attribute vector A are interchanged. In this case, in step S3 'of FIG. 3, as shown, preferably the attribute vector A or alternatively the predicate P can be used to derive the key K (as well as in the corresponding derivation in step S5' of FIG. 3). Since there are no further differences between the second preferred embodiment shown in FIG. 3 and the first preferred embodiment shown in FIG. 2 except for the interchange of the roles of the predicate P and the attribute vector A, reference may be made to the above description of the steps S 1 to S 5.

Claims

Patentansprüche claims
1. Verfahren zum sicheren Speichern von Daten D mittels eines portablen Datenträgers (20) auf einem Terminal (10), wobei auf dem portablen Datenträger (20) ein Attributvektor A und ein Masterkey MK hinterlegt sind, wobei das Verfahren die folgenden Schritte umfasst: A method for securely storing data D by means of a portable data carrier (20) on a terminal (10), wherein an attribute vector A and a master key MK are stored on the portable data carrier (20), the method comprising the following steps:
das Ableiten eines Schlüssels K aus einem Prädikat P und dem Mas- terkey MK mittels einer Schlüsselableitungsfunktion KDF, wobei das Prädikat P eine Boolesche Funktion des Attributvektors A ist;  deriving a key K from a predicate P and the master key MK by means of a key derivation function KDF, the predicate P being a Boolean function of the attribute vector A;
das Verschlüsseln der Daten D mit dem Schlüssel K; und  encrypting the data D with the key K; and
das Abspeichern der verschlüsselten Daten D zusammen mit dem Prädikat P auf dem Terminal (10).  storing the encrypted data D together with the predicate P on the terminal (10).
2. Verfahren nach Anspruch 1, wobei nach dem Verschlüsseln der Daten D mit dem Schlüssel K der Schlüssel K vernichtet wird. 2. The method of claim 1, wherein after encrypting the data D with the key K, the key K is destroyed.
3. Verfahren nach Anspruch 1 oder 2, wobei es sich bei dem Masterkey MK um einen globalen Masterkey handelt. 3. The method of claim 1 or 2, wherein it is the master key MK is a global master key.
4. Verfahren zum Zugreifen mittels eines portablen Datenträgers (20) auf verschlüsselte Daten D, die mittels eines Verfahrens nach Anspruch 1, 2 oder 3 auf einem Terminal (10) gespeichert worden sind, wobei das Verfahren die folgenden Schritte umfasst: A method of accessing, by means of a portable data carrier (20), encrypted data D stored on a terminal (10) by a method according to claim 1, 2 or 3, the method comprising the steps of:
das Extrahieren des Prädikats P aus den verschlüsselten Daten und dem Prädikat P;  extracting the predicate P from the encrypted data and the predicate P;
das Anwenden des Prädikats P auf den Attributvektor A; und falls der Attributvektor A das Prädikat P erfüllt, das Ableiten des Schlüssels K aus dem Prädikat P und dem Masterkey MK mittels der Schlüs- selableitungsfunktion KDF und das Entschlüsseln der verschlüsselten Daten D. applying the predicate P to the attribute vector A; and if the attribute vector A satisfies the predicate P, deriving the key K from the predicate P and the master key MK by means of the keywords self-routing function KDF and decrypting the encrypted data D.
5. Verfahren zum sicheren Speichern von Daten D mittels eines portab- len Datenträgers (20) auf einem Terminal (10), wobei auf dem portablen Datenträger (20) ein Prädikat P und ein Masterkey MK hinterlegt sind, wobei das Verfahren die folgenden Schritte umfasst: 5. A method for the secure storage of data D by means of a portable data carrier (20) on a terminal (10), wherein on the portable data carrier (20) a predicate P and a master key MK are deposited, the method comprising the following steps :
das Ableiten eines Schlüssels K aus einem Attributvektor A und dem Masterkey MK mittels einer Schlüsselableitungsfunktion KDF, wobei das Prädikat P eine Boolesche Funktion des Attributvektors A ist;  deriving a key K from an attribute vector A and the master key MK by means of a key derivation function KDF, the predicate P being a Boolean function of the attribute vector A;
das Verschlüsseln der Daten D mit dem Schlüssel K; und  encrypting the data D with the key K; and
das Abspeichern der verschlüsselten Daten D zusammen mit dem Attributvektor A auf dem Terminal (10).  storing the encrypted data D together with the attribute vector A on the terminal (10).
6. Verfahren nach Anspruch 5, wobei nach dem Verschlüsseln der Daten D mit dem Schlüssel K der Schlüssel K vernichtet wird. 6. The method of claim 5, wherein after encrypting the data D with the key K, the key K is destroyed.
7. Verfahren nach Anspruch 5 oder 6, wobei es sich bei dem Masterkey MK um einen globalen Masterkey handelt. 7. The method of claim 5 or 6, wherein it is the master key MK is a global master key.
8. Verfahren zum Zugreifen mittels eines portablen Datenträgers (20) auf verschlüsselte Daten D, die mittels eines Verfahrens nach Anspruch 5, 6 oder 7 auf einem Terminal (10) gespeichert worden sind, wobei das Verfahren die folgenden Schritte umfasst: A method of accessing, by means of a portable data carrier (20), encrypted data D stored on a terminal (10) by a method according to claim 5, 6 or 7, the method comprising the steps of:
das Extrahieren des Attributvektors A aus den verschlüsselten Daten extracting the attribute vector A from the encrypted data
D und dem Attributvektor A; D and the attribute vector A;
das Anwenden des Prädikats P auf den Attributvektor A; und falls der Attributvektor A das Prädikat P erfüllt, das Ableiten des Schlüssels K aus dem Attributvektor A und dem Masterkey MK mittels der Schlüsselableitungsfunktion KDF und das Entschlüsseln der verschlüsselten Daten D. applying the predicate P to the attribute vector A; and if the attribute vector A satisfies the predicate P, deriving the key K from the attribute vector A and the master key MK by means of the Key derivation function KDF and decrypting the encrypted data D.
9. Portabler Datenträger (20), der dazu ausgestaltet ist, gemäß einem Verfahren nach einem der Ansprüche 1 bis 3 oder 5 bis 7 Daten D auf einem Terminal (10) zu speichern oder gemäß einem Verfahren nach Anspruch 5 oder 8 auf Daten D auf einem Terminal (10) zuzugreifen. A portable data carrier configured to store data D on a terminal in accordance with a method of any of claims 1 to 3 or 5 to 7 or to data D according to a method of claim 5 or 8 to access a terminal (10).
10. Terminal (10), das dazu ausgestaltet ist, dass Daten D gemäß einem Verfahren nach einem der Ansprüche 1 bis 3 oder 5 bis 7 auf dem TerminalA terminal (10) adapted to receive data D according to a method of any one of claims 1 to 3 or 5 to 7 on the terminal
(10) gespeichert werden oder dass auf Daten D auf dem Terminal (10) gemäß einem Verfahren nach Anspruch 5 oder 8 zugegriffen wird. (10) or that data D is accessed on the terminal (10) according to a method of claim 5 or 8.
EP15813691.1A 2014-12-17 2015-12-14 Method and device for securely storing data and for accessing said data Withdrawn EP3234853A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102014018889.2A DE102014018889A1 (en) 2014-12-17 2014-12-17 Method and apparatus for securely storing and accessing data
PCT/EP2015/002513 WO2016096117A1 (en) 2014-12-17 2015-12-14 Method and device for securely storing data and for accessing said data

Publications (1)

Publication Number Publication Date
EP3234853A1 true EP3234853A1 (en) 2017-10-25

Family

ID=54979620

Family Applications (1)

Application Number Title Priority Date Filing Date
EP15813691.1A Withdrawn EP3234853A1 (en) 2014-12-17 2015-12-14 Method and device for securely storing data and for accessing said data

Country Status (4)

Country Link
US (1) US20170351867A1 (en)
EP (1) EP3234853A1 (en)
DE (1) DE102014018889A1 (en)
WO (1) WO2016096117A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7233265B2 (en) * 2019-03-15 2023-03-06 三菱電機株式会社 Signature device, verification device, signature method, verification method, signature program and verification program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6085323A (en) * 1996-04-15 2000-07-04 Kabushiki Kaisha Toshiba Information processing system having function of securely protecting confidential information
US7792301B2 (en) * 2006-06-29 2010-09-07 Microsoft Corporation Access control and encryption in multi-user systems
US8364984B2 (en) * 2009-03-13 2013-01-29 Microsoft Corporation Portable secure data files
US8996887B2 (en) * 2012-02-24 2015-03-31 Google Inc. Log structured volume encryption for virtual machines
US9547771B2 (en) * 2013-02-12 2017-01-17 Amazon Technologies, Inc. Policy enforcement with associated data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2016096117A1 *

Also Published As

Publication number Publication date
US20170351867A1 (en) 2017-12-07
WO2016096117A1 (en) 2016-06-23
DE102014018889A1 (en) 2016-06-23

Similar Documents

Publication Publication Date Title
EP3631671B1 (en) Bidirectionally linked blockchain
DE112013000642B4 (en) Management and retrieval of encrypted biometric data
EP3688928B1 (en) Datacule structure and method for the manipulation-proof saving of data
DE102012110499A1 (en) Safety access procedure for electronic automotive control units
DE112011100182T5 (en) Transaction check for data security devices
WO2019076574A1 (en) Bidirectionally linked blockchain structure
DE102013013179A1 (en) Method for operating a security element
WO2011107319A2 (en) Method for verifying a memory block of a nonvolatile memory
EP3159824B1 (en) Method for processing an encrypted print job
DE602004001732T2 (en) Data encryption in an electronic device with multiple symmetric processors
DE102005046462A1 (en) Network component for a communication network, communication network and method for providing a data connection
EP3387636B1 (en) Cryptographic algorithm having a key-dependent masked computing step (sbox call)
EP3234853A1 (en) Method and device for securely storing data and for accessing said data
EP2590357A1 (en) Method and system for identifying an RFID tag by means of a reader
EP2987078B1 (en) Method for providing an application on a security module, and such a security module
DE102011054637A1 (en) Method for configuring an electromechanical lock
DE102017005057A1 (en) Personalizing a semiconductor element
DE112019002305B4 (en) METHOD AND DEVICE FOR PSEUDONYMISATION OF POSITION DATA
EP2936728A1 (en) Method for operating a portable data carrier and such a portable data carrier
EP2184695A1 (en) Method of combining data with a device to be used for processing data, corresponding functionality to execute the individual steps in the procedure and computer program to implement the procedure
EP3039611B1 (en) Procedure and device for transfering an information
DE102017208899A1 (en) Class-based encryption method
DE102016122333A1 (en) Method and device for securing an electronic data transmission
EP3235164B1 (en) Method for a pseudonymous key-agreement between a portable data carrier and a terminal
EP4116849A1 (en) Computer implemented method for managing a data set comprising security-relevant information

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20170717

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 9/08 20060101AFI20181106BHEP

Ipc: G06F 21/62 20130101ALI20181106BHEP

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20181219

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20190430