DE102010001137A1 - Secure renewal of cryptographic keys - Google Patents

Secure renewal of cryptographic keys Download PDF

Info

Publication number
DE102010001137A1
DE102010001137A1 DE201010001137 DE102010001137A DE102010001137A1 DE 102010001137 A1 DE102010001137 A1 DE 102010001137A1 DE 201010001137 DE201010001137 DE 201010001137 DE 102010001137 A DE102010001137 A DE 102010001137A DE 102010001137 A1 DE102010001137 A1 DE 102010001137A1
Authority
DE
Germany
Prior art keywords
key
message
mac
terminal
mid
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
DE201010001137
Other languages
German (de)
Inventor
Oliver 81373 Gräbner
Robert 82387 Runge
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE201010001137 priority Critical patent/DE102010001137A1/en
Priority to EP10785021A priority patent/EP2526646A1/en
Priority to PCT/EP2010/067833 priority patent/WO2011088919A1/en
Publication of DE102010001137A1 publication Critical patent/DE102010001137A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Ein Verfahren zum sicheren Erneuern eines kryptographischen Schlüssels k mit Teilschlüsseln k1 und k2, die zur sicheren Kommunikation zwischen Teilnehmern A und B verwendet werden, umfasst Schritte des Übermittelns einer ersten Nachricht von A zu B, wobei die erste Nachricht folgendes enthält: MID, Na, MAC[k1](MID, Na); des Übermittelns einer zweiten Nachricht von B zu A, wobei die zweite Nachricht folgendes enthält: MID, Nb, MAC[k1](MID, Na, Nb); wobei MID eine Identifikation von A, Na eine von A erzeugte Zahl, Nb eine von B erzeugte Zahl und MAC[k1](...) der Wert einer Einweg-Funktion MAC auf der Basis des Teilschlüssels k1 ist; und Bestimmen eines erneuerten Schlüssels k' auf der Basis beider Zufallszahlen Na und Nb und des Teilschlüssels k2;.A method for securely renewing a cryptographic key k with partial keys k1 and k2, which are used for secure communication between subscribers A and B, comprises steps of transmitting a first message from A to B, the first message containing the following: MID, Na, MAC [k1] (MID, Na); transmitting a second message from B to A, the second message including: MID, Nb, MAC [k1] (MID, Na, Nb); where MID is an identification of A, Na is a number generated by A, Nb is a number generated by B and MAC [k1] (...) is the value of a one-way function MAC on the basis of the subkey k1; and determining a renewed key k 'on the basis of both random numbers Na and Nb and the partial key k2 ;.

Description

Zur Übermittlung von Informationen, die gegen Abhören, Verändern und Fälschen durch Dritte zwischen zwei Kommunikationspartnern ausgetauscht werden sollen, sind unterschiedliche kryptographische Verfahren bekannt. Beispielsweise können Verkaufsautomaten, die ein bargeldloses Bezahlen etwa mittels Kredit-, EC- oder Geldkarten erlauben, Informationen, die für einen finanziellen Transfer erforderlich sind, zunächst kryptographisch verschlüsseln und dann auf einem ungesicherten Medium an eine zentrale Stelle übermitteln, wo der Transfer weiter abgewickelt wird. Ein Beispiel für solche Verkaufsautomaten ist ein an einer Parkfläche aufgestellter Parkscheinautomat, bei dem die Dienstleistung des Parkens eines Kraftfahrzeugs auf der Parkfläche bezahlt werden kann.For the transmission of information to be exchanged for interception, alteration and counterfeiting by third parties between two communication partners, different cryptographic methods are known. For example, vending machines that allow cashless payment through, for example, credit, debit or debit cards, can first cryptographically encrypt information required for a financial transfer, and then transmit it on an unsecured medium to a central location where the transfer continues , An example of such vending machines is a parking ticket machine set up on a parking area, in which the service of parking a motor vehicle on the parking area can be paid for.

Ein solche Verkaufsautomat wird üblicherweise durch einen Mikroprozessor gesteuert, dessen Leistungsfähigkeit relativ bescheiden ist. Ein Einsatz eines asymmetrischen Verschlüsselungsverfahrens, das auf einem Paar aus einem öffentlichen und einem geheimen kryptographischen Schlüssel basiert, kann aufgrund der Verfahrenskomplexität von einem solchen Mikrocomputern üblicherweise nicht in akzeptabler Zeit ausgeführt werden. Ein symmetrisches Verschlüsselungsverfahren, bei dem beide Kommunikationspartner im Besitz desselben Schlüssels sind, welcher gleichermaßen zum Verschlüsseln wie zum Entschlüsseln verwendet wird, weist allgemein eine geringere Sicherheit gegen einen kryptologischen Angriff auf. Der geheime Schlüssel („shared secret”) wird daher üblicherweise in gewissen Abständen erneuert.Such a vending machine is usually controlled by a microprocessor whose performance is relatively modest. Deployment of an asymmetric encryption method based on a pair of public and secret cryptographic keys usually can not be performed in an acceptable time because of the complexity of the method of such microcomputers. A symmetric encryption method in which both communication partners are in possession of the same key, which is used equally for encryption as well as for decryption, generally has less security against a cryptological attack. The secret key ("shared secret") is therefore usually renewed at intervals.

Zur Installation eines kryptographischen Schlüssels existieren umfangreiche Richtlinien, um zu verhindern, dass der Schlüssel vor oder während der Installation kompromittiert wird. Die vom Security Standards Council (SSC) der Payment Card Industry (PCI) herausgegebenen Richtlinien fordern unter anderem eine lückenlose Dokumentation über Erzeugung, Werdegang und Verbleib des kryptographischen Schlüssels. Darüber hinaus gilt das Vier-Augen-Prinzip, d. h., dass eine Person, die mit der Handhabung eines kryptographischen Schlüssels betraut ist, zu keinem Zeitpunkt im Besitz des vollständigen Schlüssels, sondern allenfalls eines Schlüsselfragments ist. Um den kryptographischen Schlüssel beispielsweise in einem Verkaufsautomaten zu erneuern, sind wenigstens zwei Personen erforderlich, die mittels separaten Datenträgern vor Ort an dem Verkaufsautomat einander ergänzende Schlüsselfragmente installieren und aktivieren. Bei einer größeren Anzahl von Verkaufsautomaten, wie beispielsweise flächendeckend aufgestellten Parkautomaten, ist die regelmäßige Erneuerung der kryptographischen Schlüssel ein logistisch und personell aufwendiger Prozess, der mit hohen Kosten verbunden ist.To install a cryptographic key, extensive policies exist to prevent the key from being compromised before or during installation. The guidelines issued by the Security Standards Council (SSC) of the Payment Card Industry (PCI) require, among other things, complete documentation of the generation, career and whereabouts of the cryptographic key. In addition, the four-eye principle applies, i. h. that a person who is entrusted with the handling of a cryptographic key, at no time in the possession of the full key, but at most a key fragment. In order to renew the cryptographic key, for example in a vending machine, at least two persons are required to install and activate complementary key fragments by means of separate data carriers on site at the vending machine. With a larger number of vending machines, such as full-coverage parking machines, the regular renewal of the cryptographic keys is a logistically and personnel consuming process that is associated with high costs.

Der Erfindung liegt die Aufgabe zugrunde, die Erneuerung solcher kryptographischer Schlüssel ökonomischer zu gestalten.The invention is based, to make the renewal of such cryptographic keys more economical task.

Die Erfindung löst dieses Problem durch ein Verfahren mit den Merkmalen des Anspruchs 1, ein Computerprogrammprodukt mit den Merkmalen des Anspruchs 6 und ein System mit den Merkmalen des Anspruchs 7. Unteransprüche geben bevorzugte Ausführungsformen wieder.The invention solves this problem by a method having the features of claim 1, a computer program product having the features of claim 6 and a system having the features of claim 7. Subclaims give preferred embodiments again.

Ein Verfahren zum sicheren Erneuern eines kryptographischen Schlüssels k mit Teilschlüsseln k1 und k2, die zur sicheren Kommunikation zwischen Teilnehmern A und B verwendet werden, umfasst Schritte des Übermittelns einer ersten Nachricht von A zu B, wobei die erste Nachricht Folgendes enthält: MID, Na, MAC[k1](MID, Na); des Übermittelns einer zweiten Nachricht von B zu A, wobei die zweite Nachricht Folgendes enthält: MID, Nb, MAC[k1](MID, Na, Nb); und des Bestimmens eines erneuerten Schlüssels k' auf der Basis von Na und Nb und des Teilschlüssels k2. Dabei ist MID eine Identifikation von A, Na eine von A erzeugte Zahl, Nb eine von B erzeugte Zahl und MAC[k1](x) der Wert einer Einweg-Funktion MAC auf der Basis des Teilschlüssels k1 mit dem Argument x.A method for securely renewing a cryptographic key k with subkeys k1 and k2 used for secure communication between subscribers A and B comprises steps of transmitting a first message from A to B, the first message including: MID, Na, MAC [k1] (MID, Na); transmitting a second message from B to A, the second message including: MID, Nb, MAC [k1] (MID, Na, Nb); and determining a renewed key k 'based on Na and Nb and the subkey k2. Where MID is an identification of A, Na is a number generated by A, Nb is a number generated by B, and MAC [k1] (x) is the value of a one-way function MAC based on subkey k1 with the argument x.

Mit Hilfe des Verfahrens müssen zwischen A und B nur zwei Nachrichten ausgetauscht werden, um den kryptographischen Schlüssel k zu erneuern. Die Kommunikation kann über ein ungesichertes Netz, das beispielsweise Teile des Internets oder ein Funknetz umfasst, abgewickelt werden. Ein Einsatz von Bedienpersonal vor Ort ist zur Übermittlung des erneuerten Schlüssels nicht erforderlich, woraus sich Kostenvorteile ergeben können.Using the method, only two messages need to be exchanged between A and B to renew the cryptographic key k. The communication can be handled via an unsecured network, which for example includes parts of the Internet or a radio network. A use of local operators is not required for the transmission of the renewed key, which can result in cost advantages.

Die Kommunikation zwischen den Teilnehmern A und B kann mittels eines symmetrischen Verschlüsselungsverfahrens auf der Basis des Teilschlüssels k2 verschlüsselt werden. Dadurch ist alle Kommunikation zwischen A und B verschlüsselt und ein potenzieller Angreifer hat für einen kryptographischen Angriff zusätzliche Mühe, einen Schlüsselerneuerungsvorgang aufgrund von abgehörten Nachrichten zwischen A und B zu erkennen.The communication between the subscribers A and B can be encrypted by means of a symmetric encryption method on the basis of the subkey k2. As a result, all communications between A and B are encrypted, and a potential attacker will have extra trouble with a cryptographic attack detecting a key renewal operation due to eavesdropping messages between A and B.

Das Verfahren kann ferner ein Bestimmen erneuerter Teilschlüssel k1' und k2' auf der Basis des erneuerten Schlüssels k' umfassen. Die Teilschlüssel k1' und k2' können die Teilschlüssel k1 und k2 ersetzen, wobei der Teilschlüssel k1 zur Ver- und Entschlüsselung der Kommunikation zwischen A und B und der Teilschlüssel k2 zur Nachrichtenauthentifizierung, etwa mittels der MAC-Funktion, verwendet werden kann.The method may further comprise determining renewed subkeys k1 'and k2' based on the renewed key k '. The subkeys k1 'and k2' can replace the subkeys k1 and k2, wherein the subkey k1 can be used for encrypting and decrypting the communication between A and B and the subkey k2 for message authentication, such as by means of the MAC function.

Die Funktion MAC kann eine kryptographische Streuwertfunktion (Keyed Hash Message Authentication Code, HMAC) auf der Basis des Teilschlüssels k1 sein. Dabei wird ein Streuwert (Message Authentication Code, MAC) für die Nachricht auf der Basis eines Schlüssels bestimmt. Ohne Kenntnis des korrekten Teilschlüssels kann ein Streuwert einer Nachricht nicht überprüft werden und eine Nachricht, die einen falschen Streuwert trägt, kann als Fälschung oder Verfälschung zurückgewiesen werden. Der HMAC stellt eine wirksame Maßnahme gegen eine Fälschung bzw. Verfälschung von Nachrichten zwischen A und B dar. The MAC function can be a Keyed Hash Message Authentication (HMAC) based on the partial key k1. In the process, a message authentication code (MAC) for the message is determined on the basis of a key. Without knowledge of the correct subkey, a scatter value of a message can not be checked, and a message carrying a wrong spurious value can be rejected as a forgery or falsification. The HMAC is an effective measure against counterfeiting of messages between A and B.

Der erneuerte Schlüssel k' kann mittels einer kryptographischen Einweg-Streuwertfunktion (One Way Keyed Hash, OWKH) auf der Basis des Teilschlüssels k2 bestimmt werden. Zur Generierung der kryptographischen OWKH-Funktion ist zusätzlich der Teilschlüssel k2 erforderlich. Die kryptographische OWKH-Funktion sichert den erneuerten Schlüssel k' gegen einen kryptographischen Angriff weiter ab.The renewed key k 'may be determined by means of a One Way Keyed Hash (OWKH) cryptographic function based on the partial key k2. To generate the cryptographic OWKH function, the subkey k2 is additionally required. The cryptographic OWKH function secures the renewed key k 'against a cryptographic attack.

Nach einem weiteren Aspekt umfasst ein Computerprogrammprodukt Programmcodemittel zur Durchführung des oben beschriebenen Verfahrens, wobei das Computerprogrammprodukt auf einem Computer ablaufen oder auf einem computerlesbaren Datenträger gespeichert sein kann.According to a further aspect, a computer program product comprises program code means for carrying out the method described above, wherein the computer program product can run on a computer or be stored on a computer-readable data carrier.

Nach einem weiteren Aspekt umfasst ein System zur sicheren Kommunikation ein Endgerät zur Interaktion mit einem Benutzer und eine Transaktionsstelle, wobei die Transaktionsstelle und das Endgerät mittels einer ungesicherten Kommunikationsverbindung miteinander kommunizieren und die Transaktionsstelle und das Endgerät zur Durchführung des oben beschriebenen Verfahrens eingerichtet sind. Die Kommunikation kann einen Kommunikationsschritt des Verfahrens umfassen.In another aspect, a secure communication system includes a terminal for interacting with a user and a transaction site, wherein the transaction site and the terminal communicate with each other via an unsecured communication link, and the transaction site and the terminal are configured to perform the method described above. The communication may include a communication step of the method.

Insbesondere in einem System, welches eine Vielzahl von Endgeräten umfasst, die räumlich voneinander beabstandet sind, können Wartungs- und Instandhaltungskosten der Endgeräte durch den Einsatz des beschriebenen Verfahrens reduziert sein.In particular, in a system comprising a plurality of terminals spatially spaced apart, maintenance and servicing costs of the terminals may be reduced by use of the described method.

Das Endgerät kann ein Verkaufsgerät sein und die Kommunikation kann einen finanziellen Transfer umfassen. Auf der Basis des beschriebenen Verfahrens kann das System derart ausgestaltet sein, dass Richtlinien zur Handhabung von krytographischen Schlüsseln, beispielsweise einer Institution, die den Geldtransfer durchführt oder weiter behandelt, erfüllt sind, obwohl zum Erneuern des Schlüssels eine physische Anwesenheit von Bedienpersonal am Endgerät nicht erforderlich ist.The terminal may be a vending machine and the communication may include a financial transfer. Based on the described method, the system may be configured to meet policies for handling cryptographic keys, such as an institution performing or further handling the money transfer, although to renew the key, physical presence of operators on the terminal is not required is.

Das Endgerät kann bereits vor seiner Inbetriebnahme mit einem kryptographischen Schlüssel u für seine erste Kommunikation mit der Transaktionsstelle ausgestattet sein. Der kryptographische Schlüssel u kann beispielsweise Kosten sparend bei der Produktion, Auslieferung oder Inbetriebnahme des Endgeräts installiert werden. Insbesondere ist es möglich, eine Vielzahl von Endgeräten mit demselben Schlüssel u auszustatten. Nach der Inbetriebnahme kann jedes Endgerät möglichst schnell das oben beschriebene Verfahren zur Erneuerung des kryptographischen Schlüssels durchführen, wodurch eine kryptologische Angreifbarkeit jedes Endgeräts klein gehalten werden kann.The terminal may already be equipped with a cryptographic key u for its first communication with the transaction site prior to its commissioning. The cryptographic key u can be installed, for example, cost-saving in the production, delivery or commissioning of the terminal. In particular, it is possible to equip a plurality of terminals with the same key u. After start-up, each terminal can as quickly as possible carry out the above-described method for renewing the cryptographic key, whereby a cryptological vulnerability of each terminal can be kept small.

Ferner kann das System einen Schlüsselspeicher zur Ablage individueller Schlüssel für jedes Endgerät umfassen. Individuelle, zur Kommunikation der Transaktionsstelle mit den einzelnen Endgeräten verwendete kryptographische Schlüssel können so zentralisiert verwaltet und entsprechend geschützt werden.Further, the system may include a keystore for storing individual keys for each terminal. Individual cryptographic keys used for communicating the transaction site with the individual terminals can thus be managed in a centralized manner and protected accordingly.

Die Erfindung wird nun mit Bezug auf die beiliegenden Figuren genauer erläutert, in denen:The invention will now be explained in more detail with reference to the accompanying figures, in which:

1 ein System mit verschlüsselter Kommunikation zwischen einer Transaktionsstelle und mehreren Endgeräten; 1 a system with encrypted communication between a transaction site and a plurality of terminals;

2 ein Verfahren zum Betrieb des Systems aus 1; 2 a method of operating the system 1 ;

3 ein Verfahren zum Erneuern des kryptographischen Schlüssels zur Kommunikation im System aus 1; und 3 a method for renewing the cryptographic key for communication in the system 1 ; and

4 ein alternatives Verfahren zum Erneuern des kryptographischen Schlüssels zur Kommunikation im System aus 1
darstellen.
4 an alternative method for renewing the cryptographic key for communication in the system 1
represent.

1 zeigt ein System 100, das eine Transaktionsstelle 110, mehrere Endgeräte 120, einen Schlüsselspeicher 130 und eine Administrationseinrichtung 140 umfasst. Mittels eines Netzwerks 150 ist jedes der Endgeräte 120 mit der Transaktionssteuerung 110 verbunden. Das Netzwerk 150 kann ganz oder in Teilen ungesichert sein. Insbesondere kann das Netzwerk 150 einen Teil des Internets umfassen. Die Endgeräte 120 können, wie in 1 dargestellt, Parkautomaten sein; in weiteren Ausführungsformen kann eine beliebige Art von Verkaufsautomat als Endgerät 120 implementiert sein. 1 shows a system 100 , which is a transaction office 110 , several devices 120 , a key store 130 and an administration facility 140 includes. By means of a network 150 is each of the terminals 120 with the transaction control 110 connected. The network 150 may be unsecured in whole or in part. In particular, the network can 150 include a portion of the internet. The terminals 120 can, as in 1 shown to be car park terminals; In other embodiments, any type of vending machine may be used as the terminal 120 be implemented.

Die Transaktionssteuerung 110 und die Administrationseinrichtung 140 sind jeweils mit dem Schlüsselspeicher 130 verbunden. Im Schlüsselspeicher 130 sind, beispielsweise in Form einer Datenbank, Schlüssel für die Kommunikation mit jedem der Endgeräte 120 abgelegt. Mittels der Administrationseinrichtung 140 können unter anderem neue Schlüssel erzeugt und bestehende Schlüssel eingesehen, geändert und gelöscht werden.The transaction control 110 and the administration facility 140 are each with the keystore 130 connected. In the key store 130 are, for example in the form of a database, keys for communication with each of the terminals 120 stored. By means of the administration device 140 can, among other things, be new Key generated and existing keys are viewed, changed and deleted.

Administrationskräfte W1 und W2 bewahren Datenträger C1 bzw. C2, mittels derer ein kryptographischer Schlüssel zu den Endgeräten 120 verbracht werden kann.Administration forces W1 and W2 retain volumes C1 and C2, respectively, by means of which a cryptographic key to the terminals 120 can be spent.

Die Transaktionssteuerung 110, der Schlüsselspeicher 130 und die Administrationseinrichtung 140 können jeweils durch einen Computer implementiert sein. Insbesondere können mehrere der genannten Elemente durch einen gemeinsamen Computer implementiert sein. In einer weiteren Ausführungsform können die Transaktionssteuerung 110, der Schlüsselspeicher 130 und/oder die Administrationseinrichtung 140 zur Ausfallsicherung und/oder Lastverteilung auch mehrfach ausgeführt sein.The transaction control 110 , the key store 130 and the administration facility 140 can each be implemented by a computer. In particular, several of said elements can be implemented by a common computer. In a further embodiment, the transaction control 110 , the key store 130 and / or the administration facility 140 be executed repeatedly for failover and / or load distribution.

In einer Ausgestaltung steht die Transaktionssteuerung 110 mit weiteren Einrichtungen in Verbindung, die eine Verarbeitung einer geldwerten Transaktion ermöglichen. Diese weiteren Einrichtungen können beispielsweise ein gesichertes Netzwerk umfassen, welches mit einem Transaktionsrechner eines Kreditkarteninstituts oder einer sonstigen Organisation zur Abwicklung bargeldloser Bezahlvorgänge verbunden ist.In one embodiment, the transaction control is 110 associated with other facilities that allow processing of a monetary transaction. These further devices may include, for example, a secure network, which is connected to a transaction computer of a credit card company or other organization for processing cashless payment transactions.

2 zeigt ein Verfahren 200 zum Betrieb des Systems 100 aus 1. Das Verfahren 200 umfasst das Inbetriebnehmen und Betreiben eines der Endgeräte 120 aus 1 im Hinblick auf einen kryptographischen Schlüssel k. 2 shows a method 200 to operate the system 100 out 1 , The procedure 200 includes the commissioning and operation of one of the terminals 120 out 1 with regard to a cryptographic key k.

In einem ersten Schritt 210 wird der kryptographische Schlüssel k erzeugt, der zur Kommunikation des aufzustellenden Endgerätes 120 mit der Transaktionssteuerung 110 über das Netzwerk 150 verwendet werden soll. Der kryptographische Schlüssel k wird mittels der Administrationseinrichtung 140 erzeugt und im Schlüsselspeicher 130 hinterlegt.In a first step 210 the cryptographic key k is generated, which is used for communication of the terminal to be set up 120 with the transaction control 110 over the network 150 should be used. The cryptographic key k is used by the administration device 140 generated and stored in the keystore 130 deposited.

In einem folgenden Schritt 220 werden aus dem erzeugten kryptographischen Schlüssel k zwei Schlüsselfragmente f1 und f2 erzeugt, die in einem folgenden Schritt 230 auf die beiden Datenträger C1 bzw. C2 geschrieben werden. Zur Erlangung des Schlüssels k oder eines Teilschlüssels k1, k2 ist es notwendig, alle Schlüsselfragmente f1, f2 zu kennen. In einer alternativen Ausführungsform können auch mehr als zwei Datenträger C1, C2 zum Transport von entsprechend vielen Schlüsselfragmenten f1, f2 des Schlüssels k durch entsprechend viele Administrationskräfte W1, W2 verwendet werden. In noch einer alternativen Ausführungsform kann eines der Schlüsselfragmente f1, f2 bereits während der Produktion des Endgeräts 120 in dieses eingebracht werden.In a following step 220 are generated from the generated cryptographic key k two key fragments f1 and f2, in a subsequent step 230 be written to the two volumes C1 and C2. In order to obtain the key k or a subkey k1, k2, it is necessary to know all the key fragments f1, f2. In an alternative embodiment, it is also possible to use more than two data carriers C1, C2 for transporting correspondingly many key fragments f1, f2 of the key k by correspondingly many administration forces W1, W2. In yet an alternative embodiment, one of the key fragments f1, f2 may already be during the production of the terminal 120 be introduced into this.

Die Datenträger C1 und C2 können beliebige Datenträger sein, insbesondere Magnetstreifenkarten, Chipkarten, Halbleiterspeicher oder Magnetspeicher. Vorzugsweise werden die Schlüsselfragmente f1, f2 auf den Datenträgern C1 und C2 individuell mittels persönlichen Identifikationscodes (PIN) abgesichert. Zum Auslesen bzw. Verwenden des Schlüsselfragments f1, f2 vom Datenträger C1, C2 muss der PIN bekannt sein, der beispielsweise in Form einer vier- oder mehrstelligen Zahl gegeben sein kann. In einem Schritt 240 werden die Datenträger C1 und C2 an die Administrationskräfte W1 und W2 ausgegeben. In einer Ausführungsform können die Administrationskräfte W1 bzw. W2 die Identifikationscodes (PINs) wählen, welche die Schlüsselfragmente f1, f2 auf den Datenträgern C1 bzw. C2 absichern. Die Aushändigung der Datenträger C1 und C2 an die Administrationskräfte W1 und W2 wird protokolliert, um später eine lückenlose Dokumentation („audit trail”) über den Werdegang des erzeugten Schlüssels k bzw. der auf seiner Basis erzeugten Schlüsselfragmente f1, f2 zu erstellen. In einem Schritt 250 wird das Endgerät 120 aufgestellt und die Administrationskräfte W1 und W2 geben jeweils mittels der Datenträger C1 bzw. C2 die ihnen anvertrauten Schlüsselfragmente f1, f2 in das Endgerät 120 ein. Für diesen Vorgang verwenden sie ihre persönlichen Identifikationscodes (PINs). Das Aufstellen des Endgeräts 120 und das Einspielen des krytographischen Schlüssels k bzw. der Schlüsselfragmente f1, f2 wird ebenfalls protokolliert. Im Endgerät 120 werden die Schlüsselfragmente f1, f2 zum Schlüssel k wieder zusammengesetzt.The data carriers C1 and C2 can be any data carriers, in particular magnetic stripe cards, chip cards, semiconductor memories or magnetic memories. Preferably, the key fragments f1, f2 are secured individually on the data carriers C1 and C2 by means of personal identification codes (PIN). For reading out or using the key fragment f1, f2 from the data carrier C1, C2, the PIN must be known, which can be given for example in the form of a four or more digit number. In one step 240 the volumes C1 and C2 are output to the administration forces W1 and W2. In one embodiment, the administration forces W1 and W2 can select the identification codes (PINs) which secure the key fragments f1, f2 on the data carriers C1 and C2, respectively. The delivery of the data carriers C1 and C2 to the administration forces W1 and W2 is logged in order to later produce a complete audit trail of the history of the generated key k or of the key fragments f1, f2 generated on its basis. In one step 250 becomes the terminal 120 and the administration forces W1 and W2 in each case use the data carriers C1 and C2 to enter the key fragments f1, f2 entrusted to them into the terminal 120 one. For this process they use their personal identification codes (PINs). Setting up the terminal 120 and the import of the cryptographic key k or the key fragments f1, f2 is also logged. In the terminal 120 the key fragments f1, f2 are reassembled to the key k.

Das Eingeben der beiden Schlüsselfragmente f1, f2 kann nach dem Aufstellen des Endgeräts 120 unmittelbar vor Ort durchgeführt werden. In einer anderen Ausführungsform kann das Aufspielen eines der Schlüsselfragmente f1, f2 bereits erfolgen, bevor das Endgerät 120 an seinen Einsatzort verbracht wird. In jedem Fall wird das Vier-Augen-Prinzip gewahrt, indem das Erzeugen und Aufspielen des Schlüssels k derart ausgeführt wird, dass zu keinem Zeitpunkt eine einzelne Person im Besitz des vollständigen Schlüssels k ist.The inputting of the two key fragments f1, f2 may occur after the terminal has been set up 120 be carried out directly on site. In another embodiment, the loading of one of the key fragments f1, f2 can already take place before the terminal 120 is spent at its place of use. In any case, the four-eyes principle is maintained by executing the generation and uploading of the key k such that at no time is a single person in possession of the complete key k.

In einem Schritt 260 wird das Endgerät 120 in Betrieb genommen. In einem anschließenden Schritt 270 wird das Endgerät 120 betrieben, was eine Kommunikation des Endgeräts 120 mit der Transaktionssteuerung 110 über das Netzwerk 150 umfasst, wobei die Kommunikation auf der Basis des kryptographischen Schlüssels k oder eines Teils davon mit einem symmetrischen Verschlüsselungsverfahren abgesichert wird.In one step 260 becomes the terminal 120 put into operation. In a subsequent step 270 becomes the terminal 120 operated, causing a communication of the terminal 120 with the transaction control 110 over the network 150 wherein the communication is secured on the basis of the cryptographic key k or a part thereof with a symmetric encryption method.

Unter gewissen Bedingungen, beispielsweise regelmäßig nach Ablauf einer vorbestimmten Zeit oder ereignisgesteuert, etwa wenn ein Verdacht besteht, der verwendete kryptographische Schlüssel k könnte kompromittiert sein, wird der krytographische Schlüssel k in einem folgenden Schritt 280 erneuert. Oblicherweise erfordert das Erneuern die Durchführung wesentlicher Elemente der Schritte 210 bis 260, insbesondere den physischen Transport von Datenträgern mit Schlüsselfragmenten zum Endgerät 120. Der Betrieb des Endgerätes 120 im Schritt 270 kann ausgesetzt sein, bis ein erneuerter kryptographischer Schlüssel eingespielt ist. Nach dem Erneuern des Schlüssels kann das Endgerät 120 im Schritt 270 weiter betrieben werden.Under certain conditions, for example, regularly after expiration of a predetermined time or event-driven, such as when there is a suspicion, the cryptographic key k used could be compromised, the cryptographic key k in a following step 280 renewed. Usually, renewal requires performing essential elements of the steps 210 to 260 , in particular the physical transport of data carriers with key fragments to the terminal 120 , The operation of the terminal 120 in step 270 can be suspended until a renewed cryptographic key is recorded. After renewing the key, the terminal may 120 in step 270 continue to operate.

3 zeigt ein Verfahren 300 zum Erneuern des kryptographischen Schlüssels k zur Kommunikation im System aus 1. Das Verfahren 300 kann sowohl während der Inbetriebnahme des Endgeräts 120 in Schritt 260 als auch im Rahmen des Schritts 280 des Verfahrens 200 in 2 durchgeführt werden. Hauptzweck des Verfahrens 300 ist es, mittels Kommunikation über eine Verbindung, die mittels eines kryptographischen Schlüssels k gesichert ist, den kryptographischen Schlüssel k zu erneuern, ohne dass ein potentieller Angreifer, der die Kommunikation abhören und/oder beeinflussen kann, in den Besitz des erneuerten kryptographischen Schlüssels gelangt. 3 shows a method 300 for renewing the cryptographic key k for communication in the system 1 , The procedure 300 can both during the commissioning of the terminal 120 in step 260 as well as in the context of the step 280 of the procedure 200 in 2 be performed. Main purpose of the procedure 300 it is to renew the cryptographic key k by means of communication over a connection, which is secured by means of a cryptographic key k, without a potential attacker, who can intercept and / or influence the communication, coming into possession of the renewed cryptographic key.

Der Einfachheit halber wird das Verfahren 300 im Folgenden anhand von Kommunikationspartnern A und B beschrieben. Für das System 100 in 1 ist es dabei unerheblich, in welcher Weise die Rollen A und B beispielsweise dem Endgerät 120 und der Transaktionsstelle 110 zugewiesen werden. In 3 links dargestellte Verfahrensschritte werden von A durchgeführt, rechts dargestellte Schritte werden von B durchgeführt. Verfahrensschritte, die in der Mitte dargestellt sind, betreffen eine Nachrichtenübermittlung zwischen A und B in der jeweils angedeuteten Richtung.For simplicity, the procedure 300 described below using communication partners A and B. For the system 100 in 1 it is irrelevant, in which way the roles A and B, for example, the terminal 120 and the transaction office 110 be assigned to. In 3 Steps shown on the left are performed by A, steps shown on the right are performed by B. Procedural steps, which are shown in the middle, concern a message transmission between A and B in the direction indicated in each case.

Der zunächst verwendete Schlüssel k liegt beiden Kommunikationspartnern A und B vor und ist in zwei Teilschlüssel k1 und k2 teilbar, wobei k1 zur Generierung von Nachrichten-Authentifizierungs-Codes (MAC) und k2 zur Verschlüsselung von Nachrichten verwendet wird. Das Aufteilen des Schlüssels k in Teilschlüssel k1, k2 kann etwa durch Bitoperationen mit einer Konstanten erfolgen, so dass einzelne Bits des Schlüssels k dem Teilschlüssel k1 bzw. k2 zugeordnet werden. Im Laufe des Verfahrens 200 wird der gesamte Schlüssel k durch einen Schlüssel k' erneuert, der in analoger Weise wie oben beschrieben in Teilschlüssel k1' und k2' aufgeteilt werden kann.The key k used initially is available to both communication partners A and B and is divisible into two subkeys k1 and k2, whereby k1 is used for generating message authentication codes (MAC) and k2 for encrypting messages. The division of the key k into subkeys k1, k2 can take place, for example, by bit operations with a constant, so that individual bits of the key k are assigned to the subkeys k1 or k2. In the course of the procedure 200 the entire key k is renewed by a key k ', which can be divided into subkeys k1' and k2 'in an analogous manner as described above.

Bezogen auf eines der Endgeräte 120 aus 1 können durch Einsatz des Verfahrens 300 die Schritte 220 bis 250 im Verfahren 200 nach 2 im Wesentlichen entfallen. In einer Ausführungsform kann das Endgerät 120 bereits vor seiner Aufstellung mit einem Teilschlüssel ausgestattet sein, den es im Rahmen seiner Inbetriebnahme in Schritt 260 erneuert.Related to one of the terminals 120 out 1 can by using the method 300 the steps 220 to 250 in the procedure 200 to 2 essentially eliminated. In one embodiment, the terminal may 120 already be equipped with a subkey prior to its installation, as part of its commissioning in step 260 renewed.

In einem ersten Schritt 305 generiert A eine Zahl Na. Diese Zahl ist vorzugsweise eine Zufallszahl (”nonce”). Die Sicherheit des Verfahrens 300 ist dann am größten, wenn die von A generierte Zahl Na zufällig erscheint, d. h., nicht oder nicht mit vertretbarem Aufwand aus einer früher generierten Zahl oder einem Hinweis auf diese ableitbar ist. Das Generieren von Na kann einen in Hardware und/oder Software implementierten Zufallszahlengenerator oder Pseudo-Zufallszahlengenerator umfassen.In a first step 305 A generates a number Na. This number is preferably a random number ("nonce"). The safety of the procedure 300 is greatest when the number Na generated by A appears random, that is, can not be deducted at reasonable cost from an earlier generated number or an indication of it. The generation of Na may include a random number generator or pseudo-random number generator implemented in hardware and / or software.

In einem folgenden Schritt 310 erstellt A auf der Basis von Na folgenden ersten Nachricht:
<genkey, MID, Na, MAC[k1](genkey, MID, Na)>
In a following step 310 creates A based on Na following first message:
<genkey, MID, Na, MAC [k1] (genkey, MID, Na)>

Dabei ist genkey die Anforderung oder der Befehl, eine Schlüsselerneuerung durchzuführen. MID ist eine Identifikation des Endgeräts 120. Der Kommunikationspartner B kann eine Liste führen, in der Identifikationsnummern MID von Endgeräten 120 eingetragen sind, von denen Anforderungen zur Schlüsselerneuerung entgegengenommen werden. Ferner enthält die erste Nachricht die von A generierte Zahl Na. Das letzte Element der ersten Nachricht ist der Wert einer Funktion MAC, die auf der Basis des Teilschlüssels k1 auf den bereits erwähnten Feldern der ersten Nachricht als Argument ausgeführt wird. Es können auch noch weitere Felder der ersten Nachricht Argumente der MAC-Funktion sein.Where genkey is the request or command to perform a key renewal. MID is an identification of the terminal 120 , The communication partner B can keep a list in the identification numbers MID of terminals 120 are registered, from which requests for key renewal are accepted. Furthermore, the first message contains the number Na generated by A. The last element of the first message is the value of a function MAC, which is executed on the basis of the subkey k1 on the already mentioned fields of the first message as an argument. There may also be additional fields of the first message arguments of the MAC function.

Die Funktion MAC („Message Authentication Code”) ist eine Einweg-Funktion zur Generierung einer charakteristischen Zeichenfolge für ein übergebenes Argument. Die hierfür verwendete Streuwertfunktion (Hash) wird auf der Basis des Teilschlüssels k1 generiert, es handelt sich somit um eine kryptographische Einweg-Streuwertfunktion (One Way Keyed Hash, OWKH). Eine Einweg-Funktion ist für ein gegebenes Argument leicht zu berechnen; der Rückschluss von einem beliebigen Ergebnis auf das zugehörige Argument ist jedoch aufwendig.The MAC function ("Message Authentication Code") is a one-way function for generating a characteristic string for a given argument. The hash function (hash) used for this purpose is generated on the basis of the subkey k1, and is thus a one-way keyed hash cryptographic function (OWKH). A one-way function is easy to calculate for a given argument; However, the inference from any result to the corresponding argument is complicated.

Jede Variation im Argument resultiert somit in einer Veränderung des Funktionswerts der Funktion MAC. Durch Verwenden des Teilschlüssels k1 für die MAC-Funktion ist ohne Kenntnis des Teilschlüssels k1 ein Bestimmen des Funktionswertes der MAC-Funktion nicht möglich. Dementsprechend kann ein Angreifer eine generierte oder abgefangene und verfälschte erste Nachricht auch nicht mit einem korrekten MAC-Wert versehen, wenn dem Angreifer der Teilschlüssel k1 nicht bekannt ist. Darüber hinaus kann die Richtigkeit des Funktionswertes der MAC-Funktion für eine gegebene Zeichenfolge auch nur bestätigt oder widerlegt werden, wenn der Teilschlüssel k1 bekannt ist.Any variation in the argument thus results in a change in the function value of the MAC function. By using the subkey k1 for the MAC function, it is not possible to determine the functional value of the MAC function without knowledge of the subkey k1. Accordingly, an attacker can not provide a generated or intercepted and corrupted first message with a correct MAC value even if the attacker does not know the subkey k1. Moreover, the correctness of the function value of the MAC function for a given character string can only be confirmed or refuted if the subkey k1 is known.

Beispiele für die MAC-Funktion umfassen Cipher Block Chaining MAC (CBC-MAC), MAA, RIPE-MAC, MD4, MD5, SHA und Whirlpool. Examples of the MAC feature include Cipher Block Chaining MAC (CBC-MAC), MAA, RIPE-MAC, MD4, MD5, SHA, and Whirlpool.

Anschließend übermittelt A die erstellte erste Nachricht in einem Schritt 315 an B. B empfängt die erste Nachricht von A in einem Schritt 320.Then A sends the created first message in one step 315 B. B receives the first message from A in one step 320 ,

In einem folgenden Schritt 325 überprüft B die Integrität der von A empfangenen Nachricht. Dazu bestimmt B den Wert der MAC-Funktion auf der Basis des Teilschlüssels k1 mit den ersten drei Feldern der Nachricht als Argument. Stimmt der von B erzeugte Funktionswert der MAC-Funktion mit dem Funktionswert überein, den B in der Nachricht von A vorfindet, so ist die Integrität der empfangenen Nachricht ungebrochen. Andernfalls besteht ein Hinweis auf Beschädigung oder Verfälschung der Nachricht zwischen A und B. Dies kann beispielsweise durch einen Übermittlungsfehler oder durch eine Manipulation der ersten Nachricht durch einen Dritten erfolgt sein. Kann die Integrität der ersten Nachricht durch B nicht sicher gestellt werden, fährt B nicht weiter mit dem Verfahren 300 fort. Stattdessen kann B beispielsweise einen erneuten Durchlauf des Verfahrens 300 initiieren oder A anweisen, das Verfahren 300 neu zu beginnen. Zusätzlich oder alternativ können A und/oder B die missglückte Kommunikation protokollieren und/oder einen Alarm auslösen, um weitere Sicherungsmaßnahmen zu veranlassen.In a following step 325 B checks the integrity of the message received by A. For this, B determines the value of the MAC function based on the partial key k1 with the first three fields of the message as an argument. If the function value of the MAC function generated by B coincides with the function value that B finds in the message of A, the integrity of the received message is unbroken. Otherwise, there is an indication of corruption or corruption of the message between A and B. This may, for example, have been due to a transmission error or a third-party manipulation of the first message. If B can not ensure the integrity of the first message, B will not proceed with the procedure 300 continued. Instead, B may, for example, re-run the method 300 initiate or instruct A, the procedure 300 to start afresh. Additionally or alternatively, A and / or B may log the failed communication and / or trigger an alarm to initiate further security measures.

Anschließend überprüft B in einem Schritt 330 die Identität von A. B kann eine Liste von Kommunikationspartnern A führen, von denen B eine Nachricht mit einer Aufforderung zur Erneuerung eines kryptographischen Schlüssels akzeptiert. Ist B im System aus 1 beispielsweise die Transaktionssteuerung 110, so kann B eine Liste von Endgeräten 120 führen, die im Begriff sind, in Betrieb genommen zu werden und von denen B deswegen eine Nachricht mit einer Aufforderung zur Erneuerung des kryptographischen Schlüssels akzeptiert. Die Liste kann mittels der Administrationseinrichtung 140 verwaltet werden.Then B checks in one step 330 the identity of A. B may result in a list of communication partners A, of which B accepts a message requesting the renewal of a cryptographic key. If B is off in the system 1 for example, the transaction control 110 so B can get a list of terminals 120 therefore, B is accepting a message requesting the renewal of the cryptographic key. The list can be made by means of the administration device 140 to get managed.

Vorzugsweise besteht ein möglichst großer Raum von möglichen Identifikationsnummern MID, der relativ dünn besetzt ist, d. h., bei zufälliger Wahl einer Identifikationsnummer aus dem Vorrat der möglichen Identifikationsnummern ist die Wahrscheinlichkeit gering, eine Identifikationsnummer auszuwählen, die bereits an ein Endgerät 120 vergeben ist. Beispielsweise kann die Identifikationsnummer numerisch oder alphanumerisch sein und vier bis acht Stellen mehr umfassen, als zur Benennung aller bestehenden Endgeräte 120 erforderlich ist.Preferably, there is the largest possible space of possible identification numbers MID, which is relatively sparse, that is, with random choice of an identification number from the supply of possible identification numbers, the probability is low to select an identification number, which already to a terminal 120 is forgiven. For example, the identification number can be numeric or alphanumeric and comprise four to eight digits more than to name all existing terminals 120 is required.

Im nun folgenden Schritt 335 generiert B eine Zahl Nb, wie oben mit Bezug auf Schritt 305 beschrieben ist. In einem anschließenden Schritt 340 erstellt B auf der Basis von Nb eine zweite Nachricht:
<ack, MID, Nb, MAC[k1](ack, MID, Na, Nb)>
In the next step 335 B generates a number Nb, as above with reference to step 305 is described. In a subsequent step 340 B creates a second message based on Nb:
<ack, MID, Nb, MAC [k1] (ack, MID, Na, Nb)>

Dabei steht das Feld ”ack” (acknowledge) für eine Bestätigung der Anforderung ”genkey” aus der von A in Schritt 310 erstellten ersten Nachricht. Ist B mit der Fortführung des Verfahrens 300 nicht einverstanden, so antwortet er mit einer negativen Bestätigung, beispielsweise „nak” (no acknowledge). MID ist wieder die Identifikation von A. Nb ist die von B erzeugte Zahl und MAC[k1](...) ist der Funktionswert der MAC-Funktion auf der Basis des Teilschlüssels k1, die als Argumente die ersten drei Felder der zweiten Nachricht sowie die von A in Schritt 305 generierte Zahl Na umfasst. In einer Ausführungsform können noch weitere Felder der zweiten Nachricht Argumente der MAC-Funktion sein. Die MAC-Funktion wird auf der Basis desselben Teilschlüssels k1 ausgeführt, den auch A in Schritt 310 bei der Bestimmung des Funktionswertes der MAC-Funktion für die erste Nachricht verwendet hat.The field "ack" (acknowledge) stands for confirmation of the request "genkey" from that of A in step 310 created first message. Is B continuing the process 300 disagree, he answers with a negative affirmation, for example, "nak" (no acknowledge). MID is again the identification of A. Nb is the number generated by B and MAC [k1] (...) is the function value of the MAC function on the basis of the subkey k1, which takes as arguments the first three fields of the second message as well the one from A in step 305 generated number Na includes. In one embodiment, additional fields of the second message may be arguments of the MAC function. The MAC function is executed on the basis of the same subkey k1, which is also A in step 310 used in determining the functional value of the MAC function for the first message.

Die von B erstellte zweite Nachricht wird in einem Schritt 345 an A übermittelt. A empfängt die zweite Nachricht in einem Schritt 350 und überprüft die Korrektheit der zweiten Nachricht mit Hilfe des MAC-Funktionswertes, wie oben mit Bezug auf den Schritt 325 ausgeführt ist.The second message B creates in one step 345 sent to A. A receives the second message in one step 350 and verifies the correctness of the second message using the MAC function value, as above with respect to the step 325 is executed.

Nach Abschluss des Schrittes 350 liegen sowohl auf der Seite von A als auch von B die Zahlen Na und Nb vor, die von A bzw. B in den Schritten 305 und 335 erzeugt wurden. Nun folgende Schritte 355 und 360 entsprechen einander paarweise und werden jeweils entsprechend auf der Seite von A bzw. B durchgeführt. In den Schritten 355 bzw. 360 wird auf der Basis des Teilschlüssels k2 mittels einer kryptographische Einweg-Streuwertfunktion G (One Way Keyed Hash, OWKH) ein neuer Schlüssel k' bestimmt:
k' = G[k2](Na, Nb)
After completing the step 350 Both on the side of A and B, the numbers Na and Nb are present, those of A and B, respectively, in the steps 305 and 335 were generated. Now the following steps 355 and 360 correspond to each other in pairs and are carried out respectively on the side of A and B respectively. In the steps 355 respectively. 360 On the basis of the subkey k2, a new key k 'is determined by means of a one-way keyed hash cryptographic function G (OWKH):
k '= G [k2] (Na, Nb)

Beispiele für solche Funktionen umfassen MD5, SHH1, MDC1, MDC4 und RIPE-MD. Der Schlüssel k' kann entweder unmittelbar zur symmetrischen Verschlüsselung von Kommunikationsdaten zwischen A und B verwendet oder in zwei Teilschlüssel k1' und k2' aufgeteilt werden, wobei k1' zur Generierung der MAC-Funktionswerte verwendet wird und k2' zur Verschlüsselung von folgenden Nachrichten zwischen A und B. In abschließenden Schritten 365 und 370 wird der bislang verwendete Teilschlüssel k1 durch k1' ersetzt und der Teilschlüssel k2 durch k2'. Damit ist das Verfahren 300 beendet und eine folgende Kommunikation zwischen A und B kann mit dem erneuerten Teilschlüssel k1 ver- bzw. entschlüsselt und mit dem erneuerten Teilschlüssel k2 mittels der MAC-Funktion authentifiziert werden.Examples of such functions include MD5, SHH1, MDC1, MDC4 and RIPE-MD. The key k 'can be used either directly for the symmetric encryption of communication data between A and B or divided into two subkeys k1' and k2 ', where k1' is used to generate the MAC function values and k2 'is used to encrypt subsequent messages between A and B. In final steps 365 and 370 the subkey k1 used hitherto is replaced by k1 'and the subkey k2 by k2'. This is the procedure 300 terminated and a subsequent communication between A and B can be encrypted or decrypted with the renewed subkey k1 and authenticated with the renewed subkey k2 by means of the MAC function.

Die Kommunikation zwischen A und B in den Schritten 315, 320, 345 und 350 des Verfahrens 300 kann in einer Ausführungsform mittels eines symmetrischen Verschlüsselungsverfahrens, etwa DES, 3DES oder AES128, auf der Basis des Teilschlüssels k2 verschlüsselt sein. Die Sicherheit des Verfahrens 300 basiert jedoch nicht auf der Sicherheit des symmetrischen Verschlüsselungsverfahrens.The communication between A and B in steps 315 . 320 . 345 and 350 of the procedure 300 may be encrypted in one embodiment by means of a symmetric encryption method, such as DES, 3DES or AES128, on the basis of the subkey k2. The safety of the procedure 300 is not based on the security of the symmetric encryption method.

Kann davon ausgegangen werden, dass ein Angreifer E, der die unverschlüsselte Kommunikation zwischen A und B im Verfahren 300 abhören kann, k1 und k2 nicht kennt und dass MAC und G pseudozufällige Funktionsfamilien sind, kann nachgewiesen werden, dass folgende Eigenschaften erfüllt sind:

  • (1) Die Wahrscheinlichkeit, dass B eine genkey-Nachricht akzeptiert, die anscheinend von A gesendet wurde, jedoch nicht von A stammt, ist vernachlässigbar;
  • (2) Die Wahrscheinlichkeit, dass A eine ack-Nachricht akzeptiert, die anscheinend von B gesendet wurde, jedoch nicht von B stammt, ist vernachlässigbar; und (3) E kann nicht zwischen dem Schlüssel k und einer zufälligen Bitfolge der gleichen Länge unterscheiden.
Can be assumed that an attacker E, the unencrypted communication between A and B in the process 300 can not hear, k1 and k2 does not know and that MAC and G are pseudo-random function families, it can be proved that the following properties are fulfilled:
  • (1) The likelihood that B accepts a genkey message that seems to have been sent from A but does not come from A is negligible;
  • (2) The probability that A accepts an ack message that seems to have been sent from B but is not from B is negligible; and (3) E can not distinguish between the key k and a random bit string of the same length.

Damit ist das Verfahren 300 sicher gegen jeden Angreifer E, der den Datenverkehr zwischen A und B abhören und manipulierte Nachrichten injizieren kann, jedoch die Teilschlüssel k1 und k2 nicht kennt.This is the procedure 300 secure against any attacker E who can intercept the traffic between A and B and inject manipulated messages, but does not know subkeys k1 and k2.

4 zeigt ein alternatives Verfahren 400 zum Erneuern des kryptographischen Schlüssels k zur Kommunikation im System 100 aus 1. Wie oben mit Bezug auf 3 beschrieben ist, werden in 4 links dargestellte Schritte von A und rechts dargestellte Schritte von B durchgeführt. In der Mitte dargestellte Schritte sind Nachrichtenübermittlungen zwischen A und B. 4 shows an alternative method 400 for renewing the cryptographic key k for communication in the system 100 out 1 , As above with respect to 3 is described in 4 Steps of A shown on the left and steps B on the right are performed. The steps shown in the middle are messages between A and B.

In einem Schritt 410 erzeugt A einen neuen Schlüssel, beispielsweise auf der Basis der oben beschriebenen Funktion G mit zwei von A generierten Zahlen N1, Nb als Argument. Den erzeugten Schlüssel k' verschlüsselt A in einem Schritt 420 mit dem geltenden Kommunikationsschlüssel k1.In one step 410 A generates a new key, for example on the basis of the function G described above with two numbers N1, Nb generated by A as argument. The generated key k 'encodes A in one step 420 with the applicable communication key k1.

In einem Schritt 430 erstellt A eine Nachricht, die eine Anforderung zur Schlüsselerneuerung und den verschlüsselten neuen Schlüssel k' umfasst. Ferner umfasst die Nachricht den Funktionswert der oben beschriebenen MAC-Funktion mit den restlichen Elementen der Nachricht als Argumente. Die erstellte Nachricht wird in einem Schritt 440 von A zu B übermittelt.In one step 430 A creates a message containing a key renewal request and the encrypted new key k '. Furthermore, the message includes the function value of the MAC function described above with the remaining elements of the message as arguments. The created message will be in one step 440 transmitted from A to B.

In einem Schritt 450 überprüft B die von A empfangene Nachricht, wobei B entsprechend der oben beschriebenen Schritte 320 bis 330 vorgeht. Die verbleibenden Schritte 460 und 470 bzw. 470 und 490 entsprechen den oben beschriebenen Schritten 355 und 365 bzw. 360 und 370. Das Verfahren 400 ist einfacher als das Verfahren 300 aus 3 zu implementieren, bietet jedoch nur geringere Sicherheit gegenüber einem Angreifer E.In one step 450 B examines the message received from A, where B follows the steps described above 320 to 330 going on. The remaining steps 460 and 470 respectively. 470 and 490 correspond to the steps described above 355 and 365 respectively. 360 and 370 , The procedure 400 is easier than the procedure 300 out 3 to implement, but provides only lower security against an attacker E.

Claims (10)

Verfahren (300) zum sicheren Erneuern eines kryptographischen Schlüssels k mit Teilschlüsseln k1 und k2, die zur sicheren Kommunikation zwischen Teilnehmern A und B verwendet werden, wobei das Verfahren (300) Folgendes umfasst: – Übermitteln (315) einer ersten Nachricht von A zu B, wobei die erste Nachricht folgendes enthält: MID, Na, MAC[k1](MID, Na); – Übermitteln (345) einer zweiten Nachricht von B zu A, wobei die zweite Nachricht folgendes enthält: MID, Nb, MAC[k1](MID, Na, Nb); – wobei MID eine Identifikation von A, Na eine von A erzeugte Zahl, Nb eine von B erzeugte Zahl und MAC[k1](...) der Wert einer Einweg-Funktion MAC auf der Basis des Teilschlüssels k1 ist; – Bestimmen (355, 360) eines erneuerten Schlüssels k' auf der Basis beider Zahlen Na und Nb und des Teilschlüssels k2.Procedure ( 300 for securely renewing a cryptographic key k with subkeys k1 and k2 used for secure communication between subscribers A and B, the method ( 300 ) Comprises: - submitting ( 315 ) of a first message from A to B, the first message containing: MID, Na, MAC [k1] (MID, Na); - To transfer ( 345 ) of a second message from B to A, the second message comprising: MID, Nb, MAC [k1] (MID, Na, Nb); Where MID is an identification of A, Na is a number generated by A, Nb is a number generated by B, and MAC [k1] (...) is the value of a one-way function MAC based on subkey k1; - Determine ( 355 . 360 ) of a renewed key k 'on the basis of both numbers Na and Nb and the subkey k2. Verfahren (300) nach Anspruch 1, wobei die Kommunikation zwischen den Teilnehmern A und B mittels eines symmetrischen Verschlüsselungsverfahrens auf der Basis des Teilschlüssels (42) verschlüsselt wird.Procedure ( 300 ) according to claim 1, wherein the communication between the subscribers A and B by means of a symmetric encryption method on the basis of the subkey ( 42 ) is encrypted. Verfahren (300) nach Anspruch 1 oder 2, wobei das Verfahren (300) ferner ein Bestimmen (365, 370) erneuerter Teilschlüssel k1' und k2' auf der Basis des erneuerten Schlüssels k' umfasst.Procedure ( 300 ) according to claim 1 or 2, wherein the method ( 300 ) further determining ( 365 . 370 ) renewed subkey k1 'and k2' based on the renewed key k '. Verfahren (300) nach einem der vorangehenden Ansprüche, wobei die Funktion MAC eine kryptographische Streuwertfunktion auf der Basis des Teilschlüssels (41) ist.Procedure ( 300 ) according to one of the preceding claims, wherein the function MAC is a cryptographic lending function on the basis of the subkey ( 41 ). Verfahren (300) nach einem der vorangehenden Ansprüche, wobei der erneuerte Schlüssel k' mittels einer kryptographischen Einweg-Streuwertfunktion auf der Basis von k2 bestimmt wird.Procedure ( 300 ) according to one of the preceding claims, wherein the renewed key k 'is determined by means of a one-way cryptographic scattering function on the basis of k2. Computerprogrammprodukt mit Programmcodemitteln zur Durchführung eines Verfahrens (300) nach einem der Ansprüche 1 bis 5, wenn es auf einem Computer abläuft oder auf einem computerlesbaren Datenträger gespeichert ist.Computer program product with program code means for carrying out a method ( 300 ) according to one of claims 1 to 5, when it runs on a computer or stored on a computer-readable medium. System (100) zur sicheren Kommunikation, umfassend: – ein Endgerät (120) zur Interaktion mit einem Benutzer; und – eine Transaktionsstelle (110); – wobei die Transaktionsstelle (110) und das Endgerät (120) mittels einer ungesicherten Kommunikationsverbindung (150) miteinander kommunizieren; und – wobei die Transaktionsstelle (110) und das Endgerät (120) zur Durchführung des Verfahrens (300) nach einem der Ansprüche 1 bis 5 eingerichtet sind.System ( 100 ) for secure communication, comprising: - a terminal ( 120 ) for interaction with a user; and - a transaction office ( 110 ); - where the transaction office ( 110 ) and the terminal ( 120 ) by means of an unsecured communication connection ( 150 ) communicate with each other; and - where the transaction office ( 110 ) and the terminal ( 120 ) for carrying out the process ( 300 ) are arranged according to one of claims 1 to 5. System (100) nach Anspruch 7, dadurch gekennzeichnet, dass das Endgerät (120) ein Verkaufsgerät ist und die Kommunikation einen finanziellen Transfer umfasst.System ( 100 ) according to claim 7, characterized in that the terminal ( 120 ) is a selling device and the communication involves a financial transfer. System (100) nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass das Endgerät (120) bereits vor seiner Inbetriebnahme mit einem kryptographischen Schlüssel u für seine erste Kommunikation mit der Transaktionsstelle (110) ausgestattet ist.System ( 100 ) according to claim 7 or 8, characterized in that the terminal ( 120 ) prior to its commissioning with a cryptographic key u for its first communication with the transaction office ( 110 ) Is provided. System (100) nach Anspruch 9, dadurch gekennzeichnet, dass der Schlüssel u mittels auf mehreren Datenträgern (C1, C2) gespeicherten Teilen in das Endgerät (120) verbracht ist.System ( 100 ) according to claim 9, characterized in that the key u by means of several data carriers (C1, C2) stored parts in the terminal ( 120 ) is spent.
DE201010001137 2010-01-22 2010-01-22 Secure renewal of cryptographic keys Withdrawn DE102010001137A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE201010001137 DE102010001137A1 (en) 2010-01-22 2010-01-22 Secure renewal of cryptographic keys
EP10785021A EP2526646A1 (en) 2010-01-22 2010-11-19 Secure renewal of cryptographic keys
PCT/EP2010/067833 WO2011088919A1 (en) 2010-01-22 2010-11-19 Secure renewal of cryptographic keys

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201010001137 DE102010001137A1 (en) 2010-01-22 2010-01-22 Secure renewal of cryptographic keys

Publications (1)

Publication Number Publication Date
DE102010001137A1 true DE102010001137A1 (en) 2011-07-28

Family

ID=43617903

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201010001137 Withdrawn DE102010001137A1 (en) 2010-01-22 2010-01-22 Secure renewal of cryptographic keys

Country Status (3)

Country Link
EP (1) EP2526646A1 (en)
DE (1) DE102010001137A1 (en)
WO (1) WO2011088919A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0400362A2 (en) * 1989-05-31 1990-12-05 Siemens Aktiengesellschaft Method for hierarchical key management with partial keys for transmitting digital information
DE10212875A1 (en) * 2002-03-22 2003-10-23 Beta Res Gmbh Production of chip card, with access key divided into two parts to be added in two independent processing steps
US6895504B1 (en) * 2000-09-29 2005-05-17 Intel Corporation Enabling secure communications with a client

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779258B2 (en) * 2006-09-22 2010-08-17 International Business Machines Corporation Method for controlling security function execution with a flexible, extendable, and non-forgable block

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0400362A2 (en) * 1989-05-31 1990-12-05 Siemens Aktiengesellschaft Method for hierarchical key management with partial keys for transmitting digital information
US6895504B1 (en) * 2000-09-29 2005-05-17 Intel Corporation Enabling secure communications with a client
DE10212875A1 (en) * 2002-03-22 2003-10-23 Beta Res Gmbh Production of chip card, with access key divided into two parts to be added in two independent processing steps

Also Published As

Publication number Publication date
WO2011088919A1 (en) 2011-07-28
EP2526646A1 (en) 2012-11-28

Similar Documents

Publication Publication Date Title
EP3256977B1 (en) Computer-implemented method for access control
DE112011100182B4 (en) Data security device, computing program, terminal and system for transaction verification
DE60119857T2 (en) Method and device for executing secure transactions
EP2567501B1 (en) Method for cryptographic protection of an application
WO2018104276A1 (en) Master blockchain
DE102004032057A1 (en) Method and device for generating a secret session key
DE102019002732A1 (en) Method for the direct transfer of electronic coin data sets between terminals and payment systems
EP2529359B1 (en) Method for DSRC communication
WO2000072502A1 (en) Method for verifying the integrity and authorship of, and encoding and decoding texts
WO1998048389A2 (en) Method for mutual authentication between two units
DE60203041T2 (en) METHOD AND DEVICE FOR BELIEVING A TRANSACTION
EP2689401B1 (en) Method for operating a cash box with customer-specific keys
EP3254432A1 (en) Method for authorization management in an arrangement having multiple computer systems
WO2023036458A1 (en) Method and transaction system for transmitting tokens in an electronic transaction system
DE102010001137A1 (en) Secure renewal of cryptographic keys
DE102020104904A1 (en) PROCEDURE, TERMINAL DEVICE, MONITORING INSTANCE AND PAYMENT SYSTEM FOR MANAGING ELECTRONIC COIN DATA RECORDS
WO2018091703A1 (en) Method and apparatus for securing an electronic data transmission
EP4381408A1 (en) Secure element, method for registering tokens, and token reference register
WO2022233454A1 (en) Method for registering an electronic coin data set in a coin register; a coin register; a subscriber unit and a computer program product
WO2024012624A1 (en) Method for securely generating a token which can be issued, method for securely destroying a token, and token issuer
DE102020104902A1 (en) PROCEDURE FOR DIRECT TRANSFER OF ELECTRONIC COIN DATA RECORDS BETWEEN TERMINAL DEVICES, PAYMENT SYSTEM, CURRENCY AND MONITORING INSTANCE
DE102020200070A1 (en) Blockchain session key
DE10120290A1 (en) Method for securing a data transmission between several data transmission units and associated components
EP2330574A1 (en) Check out system

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120801