DE102009024604B4 - Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung - Google Patents

Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung Download PDF

Info

Publication number
DE102009024604B4
DE102009024604B4 DE102009024604A DE102009024604A DE102009024604B4 DE 102009024604 B4 DE102009024604 B4 DE 102009024604B4 DE 102009024604 A DE102009024604 A DE 102009024604A DE 102009024604 A DE102009024604 A DE 102009024604A DE 102009024604 B4 DE102009024604 B4 DE 102009024604B4
Authority
DE
Germany
Prior art keywords
session key
random number
communication partner
key
secret information
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.)
Active
Application number
DE102009024604A
Other languages
English (en)
Other versions
DE102009024604A1 (de
Inventor
Berndt Dr. Gammel
Wieland Dr. Fischer
Stefan Dr. Mangard
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies 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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102009024604A priority Critical patent/DE102009024604B4/de
Priority to DE102009061045A priority patent/DE102009061045B4/de
Priority to JP2010131994A priority patent/JP2011010291A/ja
Priority to FR1002434A priority patent/FR2947126B1/fr
Priority to US12/797,704 priority patent/US8861722B2/en
Publication of DE102009024604A1 publication Critical patent/DE102009024604A1/de
Application granted granted Critical
Publication of DE102009024604B4 publication Critical patent/DE102009024604B4/de
Priority to JP2013183034A priority patent/JP5784084B2/ja
Priority to US14/074,279 priority patent/US9509508B2/en
Priority to FR1400622A priority patent/FR3002400B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • H04L9/0668Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Abstract

Vorrichtung (20) zur Erzeugung eines Session-Schlüssels (k0), der einem ersten Kommunikationspartner (P; T) und einem zweiten Kommunikationspartner (T; P) bekannt ist, für den ersten Kommunikationspartner (P; T), aus einer geheimen Information (kIV), die von dem ersten und dem zweiten Kommunikationspartner ermittelbar ist, mit folgenden Merkmalen:
einer Einrichtung (22) zum Erhalten einer Zufallszahl (rP; rT);
einer Einrichtung (24) zum Berechnen des Session-Schlüssels (k0) unter Verwendung einer Verknüpfung zumindest eines Teils der Zufallszahl (rP; rT) und eines Teils der geheimen Information (kIV); und
einer Einrichtung (28) zum Verwenden des Session-Schlüssels (k0) für eine Kommunikation mit dem zweiten Kommunikationspartner,
wobei die Einrichtung (22) zum Erhalten der Zufallszahl angepasst ist, um eine erste Zufallszahl (rP) zufällig oder pseudo-zufällig zu ermitteln und um eine zweite Zufallszahl (rT) von dem zweiten Kommunikationspartner zu erhalten, und wobei die Einrichtung (24) zum Berechnen des Session-Schlüssels (k0) angepasst ist, um den Session-Schlüssel (k0) basierend auf...

Description

  • Ausführungsbeispiele der vorliegenden Erfindung beziehen sich auf eine Erzeugung eines Session-Schlüssels, wie es beispielsweise für eine sichere gegenseitige Authentisierung zwischen zwei Kommunikationspartnern und eine nachfolgende Datenübertragung eingesetzt werden kann.
  • Eine sichere gegenseitige Authentisierung zwischen zwei Kommunikationspartnern, wie beispielsweise zwei Teilnehmerendgeräten in Form eines Lesegeräts und einer kontaktlosen Datenkarte, kann bei einem symmetrischen kryptographischen Verfahren beispielsweise über ein sog. Challenge-Response-Verfahren (übersetzt etwa Herausforderung-Antwort-Verfahren), wie z. B. einem Zwei- oder Drei-Wege-Challenge-Response-Verfahren, durchgeführt werden. Ein Challenge-Response-Verfahren ist ein Authentifizierungsverfahren eines Kommunikationspartners auf Basis von Wissen. Hierbei stellt ein Kommunikationspartner eine Aufgabe (engl. challenge), die der andere lösen muss (engl. response), um zu beweisen dass er eine bestimmte Information kennt. Derartige Verfahren sind im Allgemeinen anfällig gegen Seitenkanalangriffe, wie beispielsweise DPA (Differential Power Analysis), EMA (Electro-Magnetic Analysis), usw. D. h., ein Angreifer kann beispielsweise durch Aufzeichnen von Stromprofilen (EM-Abstrahlungsprofilen) bei wiederholten Authentisierungsversuchen zwischen den Kommunikationspartnern mit relativ geringem Aufwand einen geheimen Schlüssel eines der beiden Endgeräte rekonstruieren und damit dieses Endgerät prinzipiell klonen.
  • Hardwaretechnische Maßnahmen zum Schutz einer der Authentisierung zugrundeliegenden Verschlüsselung, wie beispielsweise einer Blockverschlüsselung, sind dabei relativ kostenintensiv.
  • Die DE 603 08 384 T2 offenbart eine Vorrichtung zum gesicherten Datenaustausch zwischen zwei Vorrichtungen, insbesondere zwischen einem Sicherheitsmodul und einem Empfänger, wobei die erste Vorrichtung zumindest einen ersten Verschlüsselungsschlüssel eines Paares asymmetrischer Verschlüsselungsschlüssel aufweist und die zweite Vorrichtung zumindest einen zweiten Verschlüsselungsschlüssel des Paares asymmetrischer Verschlüsselungsschlüssel aufweist, wobei diese Schlüssel im Voraus in der ersten Vorrichtung und der zweiten Vorrichtung initialisiert werden. In der ersten Vorrichtung wird eine erste Zufallszahl erzeugt. In der zweiten Vorrichtung wird eine zweite Zufallszahl erzeugt. Die erste Zufallszahl wird mit dem ersten Verschlüsselungsschlüssel verschlüsselt. Die zweite Zufallszahl wird mit dem zweiten Verschlüsselungsschlüssel verschlüsselt. Die verschlüsselte erste Zufallszahl und die verschlüsselte zweite Zufallszahl werden an die jeweils andere Vorrichtung übermittelt und von der jeweils anderen Vorrichtung entschlüsselt. Schließlich werden die Zufallszahlen, also in jeder Vorrichtung die erzeugte und die entschlüsselte Zufallszahl kombiniert, um einen Sitzungsschlüssel zu erzeugen, der verwendet wird, um zwischen den Vorrichtungen ausgetauschte Informationen zu verschlüsseln.
  • Die DE 602 08 273 B2 offenbart ein Verfahren zur Schlüsselübereinkunft in einem sicheren Kommunikationssystem, welches sich auf einen gemeinsamen, auf zwei Werten beruhenden Geheimcode stützt, wobei die Werte von jeweils unterschiedlichen Vorrichtungen generiert werden.
  • Die WO 01/41892 A2 offenbart ein Verfahren und ein System zum sicheren bargeldlosen Spielen, wobei das System eine Mehrzahl von Spielgeräten aufweist, die mit einem zentralen Host-Netz verbunden sein können oder nicht. Jedes Spielgerät umfasst ein intelligentes Datenlesegerät, das einem Sicherheitsmodul zwischen dem Lesegerät und dem Spielgeräteprozessor eindeutig zugeordnet ist. Ein tragbares Datengerät, das ”Credits” hat, wird verwendet, um den Spielern zu erlauben, die verschiedenen Spielgeräte zu bedienen. Hierzu gibt es eine Authentifizierung vor einer Spielsitzung mit diversen Transaktionen.
  • Die Aufgabe der vorliegenden Erfindung besteht somit darin, ein gegenüber herkömmlichen Schutzmaßnahmen verbessertes Konzept gegen Seitenkanalangriffe bereitzustellen.
  • Diese Aufgabe wird gelöst durch eine Vorrichtung mit den Merkmalen des Patentanspruchs 1 oder 23, ein Verfahren gemäß Patentanspruch 19 oder 24, sowie einem Computerprogramm gemäß Patentanspruch 25.
  • Ausführungsbeispiele der vorliegenden Erfindung basieren auf der Verwendung eines protokollbasierten Verfahrens, welches den Einsatz einer nicht gegenüber Seitenkanalangriffen geschützten und damit kostengünstigeren Verschlüsselungsimplementierung erlaubt. Ausführungsbeispiele ermöglichen eine gegen Seitenkanalangriffe sichere Ableitung eines sog. „Session Keys” bzw. Session-Schlüssels. D. h., für eine Authentisierung und Sicherung einer nachfolgenden Datenübertragung zwischen zwei Kommunikationspartnern kann von einem individuellen „Root-Key” bzw. Basisschlüssel eines der Endgeräte ein sitzungsspezifischer Einmal-Schlüssel (Session-Schlüssel) abgeleitet werden. Dabei basiert die Ableitung des Session-Schlüssels auf einer Zuhilfenahme von Zufallszahlen, die gemäß Ausführungsbeispielen zwischen den beiden Kommunikationspartnern ausgetauscht werden können. Eine Bereitstellung der Zufallszahlen durch einen Dritten, einer sog. vertrauenswürdigen dritten Partei (Trusted Third Party), ist dabei ebenfalls denkbar.
  • Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Figuren näher erläutert. Es zeigen:
  • 1 eine schematische Darstellung eines kryptographischen Protokolls gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 2A ein Blockdiagramm einer Vorrichtung zur Erzeugung eines Session-Schlüssels gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 2B ein Blockdiagramm einer Vorrichtung zur Erzeugung eines Session-Schlüssels gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung.
  • 2C ein Blockdiagramm einer Vorrichtung eines Session-Schlüssels gemäß einem noch weiteren Ausführungsbeispiel der vorliegenden Erfindung;
  • 3 ein Ablaufdiagramm eines Verfahrens zur Erzeugung eines Session-Schlüssels gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 4 eine Darstellung eines Ablaufs eines Authentisierungsprotokolls gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 5a eine detaillierte Darstellung einer Erzeugung eines Session-Schlüssels und einer gegenseitigen Authentisierung gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung;
  • 5b eine detaillierte Darstellung einer Erzeugung eines Session-Schlüssels und einer gegenseitigen Authentisierung gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung;
  • 6 ein Überblicksschema eines Datenaustauschprotokolls gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 7 eine Darstellung einer Berechnung eines aus dem Session-Schlüssel abgeleiteten Schlüssels für eine Datenübertragung zwischen den beiden Kommunikationspartnern, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 8 eine schematische Darstellung eines zu übertragenden Datenrahmens;
  • 9 eine schematische Darstellung einer Erzeugung eines Prüfteils zur Authentifizierung einer Nachricht gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 10 eine schematische Darstellung einer Erzeugung von aufeinanderfolgenden Prüfteilen zur Authentifizierung aufeinanderfolgender Nachrichten gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 11 eine schematische Darstellung eines verschlüsselten Datenrahmens;
  • 12 eine schematische Darstellung einer Verschlüsselung eines zu übertragenden Datenrahmens gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 13 eine schematische Darstellung einer Verschlüsselung aufeinanderfolgend zu übertragender Datenrahmen gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 14 eine schematische Darstellung einer Entschlüsselung eines empfangenen Datenrahmens gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 15A eine schematische Darstellung eines autonomen nicht linear rückgekoppelten Schieberegisters gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; und
  • 15B eine schematische Darstellung eines nicht linear rückgekoppelten Schieberegisters mit Einkopplung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • Ausführungsbeispiele der vorliegenden Erfindung ermöglichen eine sichere gegenseitige Authentisierung zweier Kommunikationspartner, die im Nachfolgenden ohne Beschränkung der Allgemeinheit als Terminal bzw. Lesegerät T und kontaktlose Chipkarte P (Proximity Integrated Circuit Card, PICC) bezeichnet werden sollen. Generell sind natürlich auch andere Konfigurationen der beiden Kommunikationspartner, wie z. B. Server-Client-Konfigurationen, vorstellbar. Proximity-Karten werden im Allgemeinen in unmittelbarer Nähe (Proximity) eines Lesegeräts beispielsweise für Zahlungszwecke benutzt. Es kann sich dabei um eine passive Chipkarte, insbesondere eine passive RFID-Chipkarte (RFID = Radio Frequency Identification) handeln, die ihre Energie aus dem Lesegerät bezieht. Derartige Proximity-Karten können beispielsweise bei Frequenzen von 125 kHz oder 13.56 MHz arbeiten.
  • Ferner erlauben Ausführungsbeispiele der vorliegenden Erfindung einen Integritätsschutz von zwischen den beiden Kommunikationspartnern T und P nach der Authentisierung ausgetauschten Nachrichten. Ebenfalls möglich ist ein Schutz der ausgetauschten Nachrichten selbst, d. h. ein Vertraulichkeitsschutz. Dabei können sich die Kommunikationspartner nach einer gegenseitigen Authentisierung gemäß einem Ausführungsbeispiel entweder auf einen Datentransfermodus mit Integritätsschutz oder auf einen Datentransfermode mit Vertraulichkeitsschutz einigen. Voraussetzung ist, dass sowohl von dem ersten und dem zweiten Kommunikationspartner eine gemeinsame geheime Information ermittelbar ist, ähnlich wie bei der sog. Private Key Kryptographie.
  • 1 zeigt eine schematische Darstellung eines kryptographischen Teils eines Kommunikationsprotokolls gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Der kryptographische Teil des Protokolls besteht dabei aus zwei Teilen: einer Authentisierung 10 und einem darauffolgenden Datentransfer 12.
  • Während der Authentisierung 10 authentisieren sich die beiden Kommunikationspartner P und T gegenseitig. Dies kann gemäß Ausführungsbeispielen im Rahmen eines Drei-Wege-Challenge-Responseprotokolls geschehen. Das Ergebnis der Authentisierung 10 ist entweder eine Akzeptanz oder eine Ab- bzw. Zurückweisung des jeweils anderen Kommunikationspartners. Im Falle einer Akzeptanz resultiert aus der Authentisierung 10 ein gemeinsames zeitweises Geheimnis, ein sog. Session Key bzw. Session-Schlüssel k0, und eventuell einige zusätzliche Informationen, welche für den darauffolgenden Datentransfer 12 benötigt werden.
  • Nach einer erfolgreichen Authentisierung 10, kann der erste Kommunikationspartner P Teile seines Speichers für einen Zugriff von dem zweiten Kommunikationspartner T freigeben. Dadurch kann der zweite Kommunikationspartner T bestimmte Datenblöcke, für die er entsprechende Zugriffsrechte besitzt, lesen und/oder schreiben. Dabei kann das Lesen/Schreiben aus/in P's nicht flüchtigen Speicher (NVM = Non Volatile Memory) von P durchgeführt werden. Die Befehle dafür können aber von dem zweiten Kommunikationspartner T stammen. Dies gilt insbesondere für Ausführungsbeispiele, in denen der erste Kommunikationspartner P eine kontaktlose Chipkarte und der zweite Kommunikationspartner T ein Lesegerät ist.
  • Um den Datentransfer 12 abzusichern, existieren gemäß Ausführungsbeispielen zwei Maßnahmen:
    • – Ein Datenintegritätsschutz-Mechanismus, auch bezeichnet als MAC-Modus (MAC = Message Authentication Code).
    • – Einen Vertraulichkeitsschutzmechanismus, bezeichnet als Verschlüsselungsmodus.
  • Gemäß Ausführungsbeispielen kann lediglich einer der Schutzmodi zu einer bestimmten Zeit für den Datentransfer 12 zwischen den beiden Kommunikationspartnern P und T benutzt werden. Der Schutz des Datentransfers 12 ist durch den während der vorhergehenden Authentisierung ermittelten Session-Schlüssel k0 an die Authentisierung 10 gebunden.
    • – Für den Integritätsschutz wird der Session-Schlüssel k0 gemäß Ausführungsbeispielen als Basisschlüssel verwendet, um sog. Message Authentication Codes (MAC), d. h., Prüfteile zur Authentifizierung einer gesendeten Nachricht zu generieren.
    • – Für den Vertraulichkeitsschutz wird der Session-Schlüssel k0 als Basisschlüssel verwendet, um übermittelte Datenpakete zu verschlüsseln.
  • Nachdem anhand von 1 ein Überblick über das erfindungsgemäße Konzept gegeben wurde, sollen anhand der weiteren Figuren Ausführungsbeispiele der vorliegenden Erfindung detaillierter beschrieben werden.
  • 2A zeigt dazu schematisch eine Vorrichtung 20 zur Erzeugung eines Session-Schlüssels k0, der einem ersten Kommunikationspartner und einem zweiten Kommunikationspartner bekannt ist, für den ersten Kommunikationspartner. Dabei wird der Session-Schlüssel k0 aus einer geheimen Information kIV, die von dem ersten und dem zweiten Kommunikationspartner ermittelbar ist, erzeugt. Die Vorrichtung 20 ist dazu dem ersten Kommunikationspartner zugeordnet. Welcher der beiden hier betrachteten Kommunikationspartner P und T dabei als erster oder zweiter Kommunikationspartner bezeichnet wird, ist vollkommen unerheblich.
  • Die Vorrichtung 20 umfasst eine Einrichtung 22 zum Erhalten einer Zufallszahl r. Zumindest ein Teil rP oder rT der Zufallszahl r kann einer Einrichtung 24 zum Berechnen des Session-Schlüssels k0 unter Verwendung einer Verknüpfung des zumindest einen Teils der Zufallszahl und eines Teils der geheimen Information kIV zugeführt werden. Für den Erhalt der geheimen Information kIV ist eine Einrichtung 26 vorgesehen. Der berechnete Session-Schlüssel k0 kann dann von einer Einrichtung 28 für eine Kommunikation mit dem zweiten Kommunikationspartner (nicht gezeigt) verwendet werden. Für die Kommunikation mit dem zweiten Kommunikationspartner ist eine Schnittstelle 29 mit einem Eingang 29a und einem Ausgang 29b vorgesehen.
  • Je nachdem, in welchem Kommunikationspartner die Vorrichtung 20 zur Erzeugung des Session-Schlüssels k0 eingesetzt wird, können sich unterschiedliche Anforderungen an die einzelnen Blöcke bzw. Einrichtungen der Vorrichtung 20 ergeben. Wird die Vorrichtung 20 beispielsweise in einer Proximity-Karte P eingesetzt, so sind gemäß Ausführungsbeispielen verschiedene Ressourcen vorgesehen, um eine sichere Authentisierung und einen sicheren Datentransfer zwischen P und T zu gewährleisten. Ein Blockdiagramm einer in einer Proximity-Karte P integrierten Vorrichtung 20 ist in 2B gezeigt.
  • Die Einrichtung 26 zum Erhalten der geheimen Information kIV ist gemäß diesem Ausführungsbeispiel ausgebildet, um eine chip-individuelle Identifikation IV des ersten Kommunikationspartners, d. h. also beispielsweise der Proximity-Karte P, bereitzustellen und daraus die geheime Information kIV abzuleiten. Dies kann auf herstellerspezifische Art und Weise geschehen.
  • Die Einrichtung 22 zum Erhalten der Zufallszahl umfasst gemäß Ausführungsbeispielen einen kryptographischen Zufallszahlengenerator RNG als Hardwaremodul. Damit kann zumindest ein Teil rp der Zufallszahl r erzeugt werden.
  • Gemäß einem Ausführungsbeispiel umfasst die Einrichtung 24 zum Berechnen des Session-Schlüssels k0 ein Hardwaremodul für eine Ver- bzw. Entschlüsselung. Dabei kann es sich um eine Blockverschlüsselung, insbesondere um eine Blockverschlüsselung gemäß dem AES-Standard (AES = Advanced Encryption Standard), handeln. Die Verknüpfung des zumindest einen Teils rP der Zufallszahl und des Teils der geheimen Information kIV kann seitens einer kontaktlosen Chipkarte P von einem Hardwaremodul NLM durchgeführt werden. Bei der Verknüpfung handelt es sich dabei gemäß einem Ausführungsbeispiel um eine nichtlineare Verknüpfung bzw. Abbildung (NLM = Non Linear Map).
  • Bei einem Lesegerät T kann im Allgemeinen davon ausgegangen werden, dass es sich in einer gegen Angriffe gesicherten Umgebung befindet. Daher sind an die hardwaretechnische Implementierung eines Lesegerätes weniger sicherheitsrelevante Anforderungen zu stellen. Rein vom schematischen Aufbau unterscheidet sich daher eine seitens eines Lesegeräts T integrierte Vorrichtung 20 zur Erzeugung des Sessionschlüssels k0 nicht von einer seitens einer Chipkarte P umfassten Vorrichtung 20 zur Erzeugung des Session-Schlüssels k0. Gemäß Ausführungsbeispielen wird lediglich die geheime Information kIV seitens des Lesegeräte T auf andere Weise erhalten, weshalb es prinzipielle Unterschiede zwischen den Kommunikationspartnern im Hinblick auf die Einrichtung 26 geben kann. Dies ist in 2C gezeigt.
  • Seitens eines Lesegeräts T kann die Einrichtung zum Erhalten der geheimen Information kIV ausgebildet sein, um die geheime Information kIV basierend auf einer gerätespezifischen Identifikation IV der Chipkarte P und einem Generalschlüssel kM zu erhalten. Dabei können der Generalschlüssel kM und die gerätespezifische Identifikation IV einer Schlüsselgewinnungsfunktion KD zugeführt werden, um kIV zu ermitteln.
  • Bevor detaillierter auf ein Ausführungsbeispiel eines erfindungsgemäßen Verfahrens zur Erzeugung eines Session-Schlüssels eingegangen wird, soll anhand von 3 ein grober Überblick über die Verfahrensschritte gegeben werden.
  • Dabei können die einzelnen Verfahrensschritte von jedem der beiden Kommunikationspartner durchgeführt werden. Ebenso können die Verfahrensschritte aber auch unterschiedlich auf die beiden Kommunikationspartner aufgeteilt werden. Schließlich ist es ebenso denkbar, dass eine dritte glaubwürdige Identität die Verfahrensschritte durchführt.
  • In einem ersten Schritt 32 wird eine Zufallszahl r oder ein Teil davon erhalten. In einem zweiten Schritt 34 wird der Session-Schüssel k0 unter Verwendung einer Verknüpfung zumindest eines Teils der Zufallszahl und eines Teils der geheimen Information kIV berechnet. Daraufhin wird in einem dritten Schritt 36 der berechnete Session-Schlüssel k0 für eine Kommunikation zwischen den beiden Kommunikationspartnern P und T verwendet.
  • Für die nachfolgende detaillierte Beschreibung wird folgende mathematische Notation verwendet:
    Mathematische Gleichheit zweier Ausdrücke x und y wird ausgedrückt durch x = y, (1) wobei eine Zuweisung eines Werts x zu einer Variablen y geschrieben wird als y := x. (2)
  • Eine Verkettung z von zwei Binärzahlen x und y ist z := x||y. (3)
  • Eine Modulo-2-Addition bzw. bitweises Exklusiv-ODER zweier binärer Zahlen x und y wird geschrieben als z := x XOR y (4)
  • Eine Verschlüsselung eines 2x-Bit Datenblocks m mittel eines 2y-Bit Schlüssels k wird nachfolgend gemäß c := AES(key = k, m) (5) ausgedrückt, wobei Ausführungsbeispiele der vorliegenden Erfindung eine Blockverschlüsselung, insbesondere eine Verschlüsselung gemäß dem AES-Standard vorsehen. Dementsprechend wird eine Entschlüsselung als m := AES–1(key = k, c) (6) bezeichnet, wobei es sich um eine Blockentschlüsselung gemäß dem RES-Standard handeln kann.
  • Ein Ablaufdiagramm zur Erzeugung des Session-Schlüssels k0 und einer gegenseitigen Authentisierung der zwei Kommunikationspartner P und T gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist in dem Ablauf-/Sequenzdiagramm in 4 gezeigt.
  • Im Folgenden werden zu jedem Schritt seitens des ersten Kommunikationspartners P und des zweiten Kommunikationspartners T detaillierte Erläuterungen unter Berücksichtigung einer Ausführungsreihenfolge der individuellen Schritte gegeben. Für das anhand von 4 dargestellte Ausführungsbeispiel ist die beschriebene Reihenfolge der einzelnen Schritte wichtig. Die Schritte werden dabei mit P0, P1, ...., n bzw. T0, T1, ..., Tn bezeichnet, wobei P den ersten Kommunikationspartner, T den zweiten Kommunikationspartner und die Indizes n die zeitliche Reihenfolge bedeuten Schritte, welche gleichzeitig ausgeführt werden können, oder welche vertauscht werden können, um eine Implementierung zu erleichtern, werden explizit hervorgehoben. Für eine vereinfachte Darstellung wird jedem Schritt auch ein Name gegeben.
  • P1: Erzeugen einer Zufallszahl seitens des ersten Kommunikationspartners P:
  • Der On-Chip-Zufallsgenerator RNG kann gestartet werden, um, gemäß einem Ausführungsbeispiel, zwei Zufallszahlen rP und RP zu erzeugen. RP kann gemäß Ausführungsbeispielen 128 Bit breit sein und als sog. „Challenge” bzw. Herausforderung an den zweiten Kommunikationspartner T gesendet werden. Gemäß einem Ausführungsbeispiel ist rP 32 Bit breit und kann zur Berechnung des Session-Schlüssels k0 genutzt werden. RP und rP werden als Binärzahlen mit unabhängig und gleichverteilten Zufallsbits angenommen. Gemäß einem Ausführungsbeispiel ist die Einrichtung 22 zum Erhalten der Zufallszahl also angepasst, um zumindest einen ersten Teil der Zufallszahl zufällig oder pseudozufällig zu ermitteln.
  • P2: Erste Nachricht vom ersten Kommunikationspartner P zum zweiten Kommunikationspartner T:
  • Gemäß Ausführungsbeispielen verkettet der erste Kommunikationspartner P seine Geräteidentifikation IV, den P-seitigen Session-Schlüssel-Zufallswert rP und die P-seitige zufällige Challenge RP zu einer ersten Nachricht M1, welche zu dem zweiten Kommunikationspartner T übertragen wird: M1 := IV||rp||RP. (11)
  • D. h., nach dem Erhalten der Zufallszahlen rP und RP, wird rP zusammen mit RP und der gerätespezifischen Identifikation IV an den zweiten Kommunikationspartner T übermittelt.
  • P3: Ermitteln der geheimen Information kIV seitens des ersten Kommunikationspartners P:
  • Die geheime Information kIV kann seitens P durch herstellerspezifische Maßnahmen, die die geheime Information kIV vor Angriffen schützen, erhalten werden.
  • T4: Erzeugen einer Zufallszahl seitens des zweiten Kommunikationspartners T:
  • Die Einrichtung 22 zum Erhalten der Zufallszahl bzw. der Zufallszahlengenerator RNG seitens des zweiten Kommunikationspartners T kann gestartet werden, um zwei Zufallszahlen rT und RT zu erhalten. Dabei kann RT gemäß Ausführungsbeispielen 128 Bit breit sein und als „Challenge” dienen, die zu dem ersten Kommunikationspartner P übertragen wird. rT kann gemäß Ausführungsbeispielen 32 Bit breit sein und zur Berechnung des Session-Schlüssels k0 verwendet werden. RT und rT umfassen beide unabhängig und gleichverteilte Zufallsbits.
  • T5: Ermittlung der geheimen Information kIV seitens des zweiten Kommunikationspartners T:
  • Nach einem Empfang der ersten Nachricht M1 des ersten Kommunikationspartners P (Schritt P2), kann der zweite Kommunikationspartner T die geheime Information, d. h., den individuell geheimen Schlüssel kIV des ersten Kommunikationspartners, beispielsweise von einem Generalschlüssel kM zusammen mit der erhaltenen gerätespezifischen Identifizierung IV mittels einer Schlüsselgewinnungsfunktion KD ableiten: kIV := KD(kM, IV). (14)
  • Eine Definition der Schlüsselgewinnungsfunktion KD kann herstellerspezifisch sein und hat damit keinen Einfluss auf das erfindungsgemäße Protokoll. Seitens eines Lesegeräts T kann die geheime Information kIV kann also mittels einer Schlüsselgewinnungsfunktion KD basierend auf einem Generalschlüssel kM und einer übermittelten gerätespezifischen Identifikation IV der Chipkarte P ermittelt werden.
  • T6: Berechnen des Session-Schlüssels k0 seitens des zweiten Kommunikationspartners T:
  • Der Session-Schlüssel k0 wird unter Verwendung einer Verknüpfung SK zumindest eines Teils der Zufallszahl und eines Teils der geheimen Information kIV berechnet. Dazu sei x = (x0, x1, ..., x127) ∊ GF(2)128 und y = (y0, y1, ..., y31) ∊ GF(2)32, wobei GF(2)n einen Galoiskörper, also eine Menge mit einer endlichen Anzahl von 2n Elementen bedeutet, auf der die Grundoperationen Addition, Subtraktion, Multiplikation und Division definiert sind. Dann bedeutet eine Funktion EXT: GF(2)128 → GF(2)32 (15) allgemein eine Extraktion von 32 beliebigen Bits eines 128 Bit-Werts. Gemäß Ausführungsbeispielen handelt es sich um die Extraktion der 32 niedrigwertigsten Bits. Die Funktion PAD: GF(2)32 → GF(2)128 (16) bezeichnet hingegen ein im Allgemeinen beliebiges Auffüllen eines 32 Bit-Werts zu einem 128 Bit-Wert. D. h., PAD bezeichnet eine Bitauffüllvorschrift. Gemäß Ausführungsbeispielen handelt es sich um ein Auffüllen eines 32 Bit-Werts mit Nullen zu einem 128 Bit-Wert.
  • Gemäß einem Ausführungsbeispiel berechnet der zweite Kommunikationspartner T einen gemeinsamen und einzigartigen Session-Schlüssel k0 gemäß k0 = SK(kIV, rp, rT). Dabei bedeutet SK eine Verknüpfung von kIV und zumindest einem Teil (rp, rT) einer Zufallszahl r in Form einer Session-Schlüssel-Berechnungsfunktion. Gemäß einem Ausführungsbeispiel kann der Session-Schlüssel folgendermaßen berechnet werden:
    SK: kp := NLM(EXT(kIV), rP), (17) k' := AES(key = PAD(kP), kIV), (18) k0 := AES(key = PAD(rT), k'). (19)
  • D. h., in einem ersten Unterschritt (Gl. 17) kann eine nichtlineare Abbildung bzw. Verknüpfung von 32 Bits der geheimen Information kIV und dem 32 Bit-Zufallswert rP gemäß kp := NLM(EXT(kIV), rP) gebildet werden, wobei gilt: NLM: GF(2)32 × GF(2)32 → GF(2)32, z = NLM(x, y) (20)
  • D. h., gemäß Ausführungsbeispielen ist die Einrichtung 24 zum Berechnen des Session-Schlüssels k0 angepasst, um den Session-Schlüssel unter Verwendung einer nichtlinearen Verknüpfung NLM des zumindest einen Teils rP der Zufallszahl und des Teils EXT(kIV) der geheimen Information kIV zu berechnen. Eine Aufgabe der nichtlinearen Verknüpfung NLM ist die Verknüpfung des chip-individuellen Geheimnisses kIV und der öffentlich zugänglichen Zufallszahl rP, derart, dass keine Information bzgl. kIV mittels eines Seitenkanal- bzw. DPA-Angriffs erhalten werden kann. Gemäß Ausführungsbeispielen werden das 128 Bit-Geheimnis kIV und die 32-Bit-Zufallsvariable rP zu einem zufälligen 32-Bit Session-Schlüsselvorläuferwert kP kombiniert. Der letztendliche Session-Schlüssel k0 kann danach basierend auf dem Vorläuferwert kP bestimmt werden. Formal kann die nichtlineare Verknüpfung gemäß Gl. (20) definiert werden. Da kP gemäß Ausführungsbeispielen die einzige zufällige Basis für den Session-Schlüssel k0 ist, können gemäß dem hier beschriebenen Beispiel max. 232 verschiedene Session-Schlüssel erzeugt werden. Daher ist es ausreichend, lediglich 32 Bits von kIV als Eingang zu der nichtlinearen Verknüpfung NLM zu verwenden. Selbstverständlich kann aber auch eine andere Anzahl von Bits verwendet werden, wie z. B. 16, 64, 128, usw.
  • Ein nichtlinear rückgekoppeltes Schieberegister (NLFSR = Non-Linear Feedback Shift Register) kann als hocheffiziente Implementierung der nichtlinearen Verknüpfung NLM verwendet werden. Ein nichtlinear rückgekoppeltes Schieberegister hat die Eigenschaft, dass es einen Nullzustand, d. h., einen Zustand, indem alle Registerzellen mit Null initialisiert werden, beibehält. Jeder Anfangszustand verschieden von Null wird sich beispielsweise bei 32 Registerzellen genau nach 232–1 Taktzyklen wiederholen. In anderen Worten ausgedrückt wiederholt sich ein Zustand des Schieberegisters, falls es autonom betrieben wird, mit einer Periode von 232-1.
  • Eine schematische Darstellung einer möglichen Implementierung eines nichtlinear rückgekoppelten Schieberegisters gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist in 15A gezeigt.
  • Sämtliche Inhalte der 32 Registerzellen D0 bis D31 werden der Funktion f zugeführt. Nach jedem Takt kann ein Inhalt einer Registerzelle an eine benachbarte Registerzelle weitergegeben werden, wie es durch die in 15A eingezeichneten Pfeile angedeutet ist. D. h., der Inhalt der Registerzelle Dl wird an die Registerzelle D0 weitergegeben der Inhalt der Registerzelle D2 wird an die Registerzelle D1 weitergegeben usw. Das Ergebnis der Funktion f wird in Registerzelle D31 geschrieben, nachdem sie ihren vorhergehenden Wert an Zelle D30 weitergegeben hat.
  • Eine mögliche Berechnung der nicht linearen Verknüpfung NLM mittels des NLFSR impliziert gemäß einem Ausführungsbeispiel die folgenden Schritte:
    • 1. Anfangszustand des NLFSR setzen: Lade rP[0..31] in die Registerzellen D[0..31].
    • 2. Einschieben des Teils der geheimen Information: Der Teil der geheimen Information kIV[0..31] wird sequentiell gemäß der Reihenfolge kIV[0], kIV[1], kIV[2], kIV[31] in das NLFSR eingekoppelt, so wie es in 15B dargestellt ist. Dabei wird das NLFSR nach jedem Eingekoppelschritt getaktet. D. h., das Einschieben des Teils kIV[0..31] benötigt TSIK = 32 Taktzyklen.
    • 3. Verknüpfen Das NLFSR wird autonom für eine Zeit TMIX = 64 Zyklen getaktet. D. h., währen dieser Zeit TMIX wird nichts in das Register eingeschoben bzw. eingekoppelt. Nach 64 Taktzyklen bildet der Registerinhalt T[0..31] den Session-Schlüssel-Vorläuferwert kP.
  • Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung kann die nichtlineare Verknüpfung NLM anstatt mittels eines nichtlinear rückgekoppelten Schieberegisters auch basierend auf einem irreduziblen Polynom f(X), also einem Polynom, das sich nicht als Produkt zweier nicht trivialer Polynome schreiben lässt, realisiert werden.
  • Mit x = (X0, x1, ..., x31), y = (x0, y1, ..., y31), z = (z0, z1, ..., z31) kann z = NLM(x, y) beispielsweise gemäß z31X31 + ... + z1X1 + z0 = (x31X31 + ... + x1X1 + x0)·(y31X31 + ... + y1X1 + y0) mod f (X) (21) oder kurz z = x·y mod f ermittelt werden. Da es sich hier um eine Multiplikation innerhalb des endlichen Körpers GF(232) handelt, gilt NLM(x, NLM(y1, y2)) = NLM(NLM (x, y1), y2). Aus diesem Grund kann eine Implementierung von Gl. (17) gemäß rP := NLM(r1, r2), (22) k'P := NLM(EXT(kIV), r1), (23) kP := NLM(k'P, r2) (24) gegen DPA-Angriffe abgesichert werden, sofern EXT(kIV) ≠ (0, 0, ..., 0). Gemäß diesem Ausführungsbeispiel wird die nichtlineare Verknüpfung gemäß Gl. (17) in zwei nichtlineare Verknüpfungen gemäß den Gln. (23) und (24) aufgeteilt. Dazu generiert der Zufallszahlengenerator RNG in einer alternativen Ausführungsform des Schritts P1 drei Zufallswerte r1, r2 und RP. RP kann gemäß Ausführungsbeispielen 128 Bit breit sein und wird als sog. „Challenge” bzw. Herausforderung an den zweiten Kommunikationspartner T gesendet werden. r1 und r2 können 32 Bit breit sein und werden zur Berechnung des Session-Schlüssels k0 genutzt. RP und r1, r2 werden als Binärzahlen mit unabhängig und gleichverteilten Zufallsbits angenommen. Der erste Kommunikationspartner P berechnet rP := NLM(r1, r2) und speichert r1 und r2 in einem temporären Speicher.
  • Eine Realisierung von NLM mit dem irreduziblen Polynom f(X) verwendet gemäß einem Ausführungsbeispiel hauptsächlich ein linear rückgekoppeltes Schieberegister (LFSR), welches durch das Polynom f(X) definiert wird, zusammen mit einem zweiten Register, welches das erste Argument x der Funktion z = NLM(x, y) enthält. Dabei ist das zweite Register über logische UND- und XOR-Gatter mit dem LFSR gekoppelt. Der Wert z kann beispielsweise folgendermaßen berechnet werden:
    • 1. Setze alle Registerzellen des LFSR zu Null:
    • 2. Lade Registerzellen Xi des zweiten Registers mit dem Wert xi (i = 0, ..., 31)
    • 3. Einkoppeln der Werte y31, y30, ..., y0 in die UND-Gatter für eine Zeit T = 32 Taktzyklen, um y mit x zu verknüpfen.
    • 4. Nach 32 Taktzyklen bildet der Registerinhalt des LFSR den Wert z = (z0, z1, ..., z31).
  • D. h., die Einrichtung 24 zum Berechnen des Session-Schlüssels k0 ist gemäß einem Ausführungsbeispiel angepasst, um die nichtlineare Verknüpfung NLM mittels eines linear rückgekoppelten Schieberegisters zu implementieren, welches durch ein irreduzibles Polynom f(X) definiert wird, so dass ein Ergebnis der nichtlinearen Verknüpfung (NLM) von einer Modulo-Operation einer multiplikativen Verknüfpung des zumindest eines Teils der Zufallszahl und dem Teil der geheimen Information kIV mit dem irreduziblen Polynom f(X) abhängt (vgl. Gl. 23 i. V. m. Gl. 21).
  • Mittels einer adäquaten Implementierung der nichtlinearen Verknüpfung NLM kann eine signifikante Reduktion von Seitenkanallecks während der Generierung des Session-Schlüssels k0 erreicht werden – und zwar in einem Maße, so dass DPA-Angriffe nahezu unmöglich werden, selbst für geübte Angreifer. Weiterhin kann die Berechnung des Session-Schlüssels k0 durch die nichtlineare Verknüpfung NLM beschleunigt werden.
  • In einem auf die nichtlineare Verknüpfung NLM folgenden Schritt wird die geheime Information kIV mit dem Session-Schlüssel-Vorläuferwert kP gemäß Gl. (18) verknüpft. Dabei handelt es sich bei der Verknüpfung AES(.,.) um einen Verschlüsselungsalgorithmus. Gemäß Ausführungsbeispielen handelt es sich bei dem Verschlüsselungsalgorithmus AES um eine Blockverschlüsselung bzw. Blockchiffre. Insbesondere kann eine Blockverschlüsselung gemäß dem sogenannt Advanced Encryption Standard (AES) verwendet werden. D. h., gemäß Ausführungsbeispielen ist die Einrichtung 24 zum Berechnen des Session-Schlüssels k0 angepasst, um einen aus der nichtlinearen Verknüpfung NLM abgeleiteten Wert kP als Schlüssel für eine Verschlüsselung AES zu verwenden, um die geheime Information kIV oder einen daraus abgeleiteten Wert zu verschlüsseln und, basierend auf der Verschlüsselung den Session-Schüssel k0 zu erhalten.
  • Gemäß Ausführungsbeispielen ist es auch möglich, dass lediglich der erste Kommunikationspartner P eine Zufallszahl rP bestimmt, nicht jedoch der zweite Kommunikationspartner T. In diesem Fall wäre der aus der Verschlüsselung resultierende Wert k' gemäß Gl. (18) bereits der Session-Schlüssel.
  • In dem hier diskutierten Ausführungsbeispiel kann die Verschlüsselung gemäß Gl. (18) jedoch durch die zweite Zufallszahl rT weiter verbessert werden, indem in einem dritten Schritt (Gl. 19) das Zwischenergebnis k' mit dem zweiten Zufallswert rT gemäß k0 := AES(key = PAD(rT), k') (22) verknüpft wird, um schließlich den gemeinsamen Session-Schlüssel k0 zu erhalten. Werden die Gln. (17)–(19) zusammengefasst, ist die Einrichtung 24 zum Berechnen des Session-Schlüssels k0 gemäß Ausführungsbeispielen angepasst, um den Session-Schlüssel k0 basierend auf k0 = AES(PAD(rT), (AES(PAD(NLM(EXT(kIV), rP)), kIV)) (23) zu berechnen, wobei rP eine erste Zufallszahl, rT eine zweite Zufallszahl und kIV die geheime Information bedeutet, und, wobei NLM(.,.) der nichtlinearen Verknüpfung, EXT(.) einer Extraktionsvorschrift, PAD(.) einer Bitauffüllvorschrift und AES(.,.) einer Blockverschlüsselung gemäß dem Advanced Encryption Standard entspricht.
  • Des Weiteren ist es vorstellbar, dass die Schritte gemäß den Gln. (18) und (19) durch einem einzelnen Verschlüsselungsschritt ersetzt werden, beispielsweise gemäß k0 := AES(key = PAD2(kP) XOR PAD(rT), kIV), (24) wobei die Funktion PAD2: GF(2)32 → GF(2)128 (25) ein Auffüllen eines 64-Bit Werts, der aus einer Verdopplung der 32 Bits des Eingabewerts y resultiert, bedeutet. Insbesondere kann der 64-Bit Wert mit Nullen aufgefüllt werden.
  • D. h., gemäß einem Ausführungsbeispiel ist die Einrichtung 22 zum Erhalten der Zufallszahl angepasst, um eine erste Zufallszahl rP zufällig oder pseudo-zufällig zu ermitteln und um eine zweite Zufallszahl rT von dem anderen Kommunikationspartner zu erhalten. Die Einrichtung 24 zum Berechnen des Session-Schlüssels k0 ist angepasst, um den Session-Schlüssel k0 basierend auf einer Verschlüsselung AES eines aus der geheimen Information kIV abgeleiteten Werts mit einem aus der ersten rP und zweiten Zufallszahl rT abgeleiteten Schlüssel zu berechnen. Gemäß einem weiteren Ausführungsbeispiel ist die Einrichtung 22 zum Erhalten der Zufallszahl angepasst, um eine erste Zufallszahl kP basierend auf einer nichtlinearen Verknüpfung NLM einer zufällig oder pseudo-zufällig ermittelten Zufallszahl rP oder einem daraus abgeleiteten Wert und einem Teil EXT(kIV) der geheimen Information kIV zu ermitteln und, um eine zweite Zufallszahl rT von dem anderen Kommunikationspartner zu erhalten. Die Einrichtung 24 zum Berechnen des Session-Schlüssels k0 ist angepasst, um den Session-Schlüssel k0 basierend auf einer Verschlüsselung AES eines aus der geheimen Information kIV abgeleiteten Werts mit einem aus der ersten kP und zweiten Zufallszahl rT abgeleiteten Schlüssel zu berechnen (vgl. Gl. 24).
  • T7: Response-Berechnung seitens des zweiten Kommunikationspartners T
  • In dem Schritt T7 berechnet der zweite Kommunikationspartner T eine „Response” bzw. Antwort cP zu der „Challenge” RP des ersten Kommunikationspartners P, wobei dazu der Session-Schlüssel des Schritts T6 genutzt wird: cP := AES(key = k0, RP) (26)
  • T8: Zweite Nachricht von dem zweiten Kommunikationspartner T zu dem ersten Kommunikationspartner P
  • In Schritt T8 werden seitens des zweiten Kommunikationspartners T die in Schritt T7 berechnete Response cP, der seitens des zweiten Kommunikationspartners T bestimmte Zufallswert rT und die zufällige Challenge RT zu einer zweiten Nachricht M2 verkettet. Diese Nachricht M2 wird von dem zweiten Kommunikationspartner T zu dem ersten Kommunikationspartner P übermittelt: M2 := cP||rT||RT. (27)
  • Der zweite Kommunikationspartner T ermittelt also gemäß einem Ausführungsbeispiel zunächst basierend auf einer Verknüpfung AES von k0 und RP über einen kryptographischen Algorithmus eine Antwort auf die Challenge RP des ersten Kommunikationspartners P (Gl. 26) und übermittelt diese zusammen mit der zweiten Zufallszahl rT und der Zufallschallenge RT an den ersten Kommunikationspartner P.
  • P9: Berechnung des Session-Keys k0 seitens des ersten Kommunikationspartners P:
  • Nachdem der erste Kommunikationspartner P die zweite Nachricht M2 mit der zweiten Zufallszahl rT erhalten hat, kann seitens des ersten Kommunikationspartners P ebenfalls der gemeinsame Session-Schlüssel gemäß k0 = SK(kIV, rP, rT) berechnet werden, indem seitens des ersten Kommunikationspartners P die gleichen drei Schritte durchgeführt werden, wie die bereits anhand der Gln. (17)–(19) beschriebenen Schritte des zweiten Kommunikationspartners T: kP = NLM(EXT(kIV), rP), (28) k' = AES(key = PAD(kP), kIV), (29) k0 = AES(key = PAD(rT), k'). 30)
  • Die ersten beiden Schritte, d. h. die Berechnung von kP und k' können auch bereits vor dem Empfang der zweiten Nachricht M2 ausgeführt werden. Hier soll nochmals erwähnt werden, dass der dritte Schritt, d. h. die Berechnung von k0 gemäß Gl. (30) nur dann durchzuführen ist, wenn beispielsweise seitens des zweiten Kommunikationspartners T die zweite Zufallszahl rT bestimmt wird. Wie vorher bereits erwähnt, umfassen Ausführungsbeispiele der vorliegenden Erfindung auch die Fälle, dass eine Zufallszahl lediglich seitens des ersten Kommunikationspartners P oder von einem vertrauenswürdigen Dritten ausgewürfelt und den Kommunikationspartnern P, T bereitgestellt wird. Der Schritt gemäß Gl. (30) dient somit zur zusätzlichen Steigerung der Sicherheit der Schlüsselberechnung. Gemäß dem hier beschriebenen Ausführungsbeispiel ist die Einrichtung 22 zum Erhalten der Zufallszahl seitens P also angepasst, um eine erste Zufallszahl rP zufällig oder pseudozufällig zu ermitteln und um eine zweite Zufallszahl rT vor dem zweiten Kommunikationspartner T zu erhalten. Die Einrichtung 24 zum Berechnen des Session-Schlüssels k0 ist angepasst, um den Session-Schlüssel k0 basierend auf einer zweiten Verschlüsselung (Gl. 30) eines aus einer ersten Verschlüsselung (Gl. 29) abgeleiteten Werts k' mit einem aus der zweiten Zufallszahl rT abgeleiteten Wert zu erhalten, wobei ein aus einer nicht linearen Verknüpfung (Gl. 28) der ersten Zufallszahl rP und des Teils der geheimen Information kIV abgeleiteter Wert kP als Schüssel für die erste Verschlüsselung verwendet wird, um die geheime Information oder einen daraus abgeleiteten Wert zu verschlüsseln, und, um basierend auf der ersten und der zweiten Verschlüsselung den Session-Schlüssel k0 zu erhalten.
  • Wie vorher bereits beschrieben wurde, ist es auch möglich, dass die Schritte gemäß den Gln. (18) und (19) bzw. den Gln. (29) und (30) durch einem einzelnen Verschlüsselungsschritt beispielsweise gemäß k0 := AES(key = PAD2(kP) XOR PAD(rT), kIV), (31) ersetzt werden.
  • Für den Fall, dass NLM auf dem irreduziblen Polynom f(X) basiert, kann die Berechnung des Session-Schlüssels k0 seitens des ersten Kommunikationspartners P gemäß einem Ausführungsbeispiel auch gemäß k'P := NLM(EXT(kIV), r1), (32) kP := NLM(k'P, r2) (33) k0 := AES(key = PAD2(kP) XOR PAD(rT), kIV) (34) erfolgen.
  • P10: Response-Berechnung seitens des ersten Kommunikationspartners P:
  • In einem Schritt P10 berechnet der erste Kommunikationspartner P gemäß einem Ausführungsbeispiel eine Antwort cT auf die Challenge RT des zweiten Kommunikationspartners T, basierend auf dem gemeinsamen Session-Schlüssel k0, der in Schritt P9 berechnet wurde: cT := AES(key = k0, RT). (35)
  • D. h., der Session-Schlüssel k0 wird als Schlüssel für eine Blockverschlüsselung nach dem AES-Standard verwendet, um die Challenge RT des zweiten Kommunikationspartners T zu verschlüsseln und somit die Antwort cP zu erhalten.
  • P11: Dritte Nachricht (vom ersten Kommunikationspartner P zum zweiten Kommunikationspartner T):
  • In einem Schritt P11 sendet der erste Kommunikationspartner P die in dem Schritt P10 berechnete Antwort cT zu dem zweiten Kommunikationspartner T.
  • P12: Antwort-Verifikation seitens des ersten Kommunikationspartners P:
  • Dazu wird seitens des ersten Kommunikationspartners P die zufällige Challenge RP, die mittels der ersten Nachricht M1 zu dem zweiten Kommunikationspartner T gesendet wurde, mit Hilfe des Session-Schlüssels k0 gemäß cP' = AES(key = k0, RP) (36) verschlüsselt, um einen Antwort-Vergleichswert cP' zu erhalten. Daraufhin wird seitens des ersten Kommunikationspartners P der erhaltende Antwort-Vergleichswert cP' mit der Antwort cP, welche von dem zweiten Kommunikationspartner T durch die zweite Nachricht M2 erhalten wurde, verglichen. Falls cP' = cP, kann seitens des ersten Kommunikationspartners P der zweite Kommunikationspartner T erfolgreich authentisiert werden. Andernfalls schlägt die Authentisierung fehl. Bei einem Fehlschlagen der Authentisierung sollte eine weitere Kommunikation zwischen den beiden Kommunikationspartnern P, T gestoppt werden. Das Fehlschlagen der Authentisierung kann dem zweiten Kommunikationspartner T signalisiert werden.
  • T13: Antwort-Verifikation seitens des zweiten Kommunikationspartners T:
  • Dazu wird seitens des zweiten Kommunikationspartners T die zufällige Challenge RT, die mittels der zweiten Nachricht M2 zu dem zweiten Kommunikationspartner P gesendet wurde, mit Hilfe des Session-Schlüssels k0 gemäß cT' = AES(key = k0, RT) (37) verschlüsselt, um einen Antwort-Vergleichswert cT' zu erhalten. Daraufhin wird seitens des zweiten Kommunikationspartners T der erhaltende Antwort-Vergleichswert cT' mit der Antwort cT, welche von dem zweiten Kommunikationspartner T durch die dritte Nachricht M3 erhalten wurde (Schritt P11), verglichen. Falls cT' = cT, kann seitens des zweiten Kommunikationspartners T der erste Kommunikationspartner P erfolgreich authentisiert werden. Andernfalls schlägt die Authentisierung fehl. Bei einem Fehlschlagen der Authentisierung sollte eine weitere Kommunikation zwischen den beiden Kommunikationspartnern P, T gestoppt werden. Das Fehlschlagen der Authentisierung kann dem ersten Kommunikationspartner P signalisiert werden.
  • Eine detaillierte graphische Darstellung der soeben diskutierten Ausführungsbeispiele für Authentisierungsverfahren, zusammen mit darin involvierten Hardware-/Softwareblöcken seitens beider Kommunikationspartner P, T, sind in den 5a und 5b gezeigt.
  • Nach einer erfolgreichen Authentisierung 10 und einer erfolgreichen Erzeugung des Session-Schlüssels k0 kann zu dem Datentransfer-Schritt 12 zwischen den beiden Kommunikationspartnern P und T übergegangen werden. Dazu kann der erste Kommunikationspartner P Teile seines Speichers für den zweiten Kommunikationspartner T zugänglich machen (evtl. auch umgekehrt), so dass der zweite Kommunikationspartner T bestimmte Datenblöcke lesen kann, für die er entsprechende Zugriffsrechte hat. Gleichermaßen kann T bestimmte Datenblöcke schreiben. Dabei wird zwar das Lesen bzw. die Programmierung von bzw. in einen nichtflüchtigen Speicher des ersten Kommunikationspartners P von P selbst bewerkstelligt. Die Befehle dafür erhält der erste Kommunikationspartner P jedoch von dem zweiten Kommunikationspartner T.
  • Die Kommunikation bzw. der Datentransfer zwischen den beiden Kommunikationspartnern P und T kann in Datenrahmen F1, F2, F3, organisiert sein, die sowohl von P nach T und umgekehrt übertragen werden können. Aus Sicherheitsgründen wird von jedem Datenrahmen Fi ein geheimer Schlüssel ki als Eingabe benötigt. Nachdem ein Datenrahmen Fi verarbeitet wurde, kann ein neuer Schlüssel ki+1 generiert werden, der für den nachfolgenden zu übertragenden Datenrahmen Fi+1 benutzt werden kann. Ein erster geheimer Schlüssel k1 für den ersten zu übertragenden Datenrahmen F1 wird dabei von dem Session-Schlüssel k0 abgeleitet.
  • Sämtliche Datenrahmen beinhalten sicherheitsrelevante Datenpakete D1, D2, D3, ..., die zwischen den beiden Kommunikationspartnern P und T ausgetauscht werden. Dabei ist es unerheblich, in welche Richtung die Datenpakete gesendet werden. Sie können gemäß ihres globalen Auftritts indiziert werden, wie es schematisch und exemplarisch in 6 dargestellt ist.
  • Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung enthält jedes Datenpaket Dx maximal 128 Bits, wobei andere Datenpaketgrößen natürlich ebenso denkbar sind. Die Datenpakete, die von dem ersten Kommunikationspartner P zu dem zweiten Kommunikationspartner T gesendet werden, können aus dem Speicher von P ausgelesene Daten enthalten. Datenpakete in die andere Richtung, d. h. von T nach P, können Daten enthalten, die in den Speicher von P geschrieben werden sollen. Zusätzlich können die ausgetauschten Datenpakete Lese-/Schreib-Befehle und/oder Speicheradressen der Daten enthalten. Eine übergeordnete Protokoll-Schicht (Wrapping Protocol Layer) definiert gemäß Ausführungsbeispielen, welche der Kontrolldaten außerhalb der den hier beschriebenen Schutzmechanismen unterliegenden Datenpaketen Dx gesendet werden kann.
  • Die Datenpakete können in Datenrahmen, welche aufeinanderfolgende Datenpakete enthalten, angeordnet sein. Sämtliche Datenpakete eines Datenrahmens werden in die gleiche Richtung verschickt, d. h., entweder von T zu P oder umgekehrt, von P zu T, und haben eine spezielle Reihenfolge. Die Organisation dafür wird von der übergeordneten Protokoll-Schicht übernommen.
  • Die während des Datentransfers 12 übertragenen Datenpakete können im Vertraulichkeitsschutzmodus beispielsweise mittels eines AES-Algorithmus verschlüsselt werden. Dazu kann jedes Paket beispielsweise genau eine Größe von 128 Bits haben. Andererseits kann während des Datentransfers 12 auch der Integritätsschutzmodus verwendet werden, indem Message Authentication Codes (MAC) berechnet werden. In diesem Fall kann die Größe der Datenpakete kleiner oder gleich 128 Bits sein. Jeder Datenrahmen kann in diesem Fall ein MAC-Paket Mi umfassen, das nicht Teil der Datenpakete D1, D2, D3, ... ist.
  • Wie es in 6 schematisch angedeutet ist, ist ein erster Schritt 61 der Datentransferphase die Ableitung des ersten geheimen Schlüssels k1 für den ersten zu übertragenden Datenrahmen F1 basierend auf dem Session-Schlüssel k0. Der Schritt 61 ist sowohl für den Integritätsschutz- als auch für den Vertraulichkeitsschutzmodus identisch. Eingabeparameter für den Schritt 61 können, wie in 7 dargestellt, der Session-Schlüssel k0, sowie die beiden zufälligen Challenges RP und RT sein, die während der Authentisierungsphase 10 sowohl von dem ersten Kommunikationspartner P als auch von dem zweiten Kommunikationspartner T erzeugt wurden. Gemäß einem Ausführungsbeispiel kann der erste Schlüssel k1 gemäß k1 := AES(key = RP; k0 XOR RT) (38) berechnet werden, wie es 7a graphisch dargestellt. D. h., der Challenge-Wert RP kann als Schlüssel für eine AES-Verschlüsselung verwendet werden, um eine XOR-Verknüpfung des Challenge-Werts RT und des Session-Schlüssels k0 zu verschlüsseln und, um basierend auf der AES-Verschlüsselung den ersten abgeleiteten Schüssel k1 zu erhalten.
  • Gemäß einem anderen Ausführungsbeispiel kann der erste Schlüssel k1 auch gemäß k1 := AES(key = RP; k0 XOR RT) XOR(k0 XOR RT) (39) berechnet werden, wie es 7b graphisch dargestellt.
  • Im Integritätsschutzmodus kann jeder Datenrahmen Fi mittels eines Prüfteils (MAC) Mi zur Authentisierung des Datenrahmens versehen werden, wobei der Prüfteil Mi mittels eines entsprechenden Schlüssels ki erzeugt wird. Bei dem Prüfteil Mi kann es sich beispielsweise um einen CBC-MAC (Cipher Block Chaining Message Authentication Code), einen HMAC (keyed-Hash Message Authentication Code), OMAC (One-key MAC), UMAC (message authentication code based an universal hashing), PMAC (Parallelizable MAC) oder CMAC (Cipher-based MAC) handeln.
  • Die Abfolge von Datenpaketen Dx, Dx+1, ..., Dy eines Datenrahmens Fi wird von dem Prüfteil Mi abgeschlossen, so wie es schematisch in 8 gezeigt ist. Der Sender des Rahmens Fi verwendet ki und die Datenpakete Dx, Dx+1, ..., Dy, um den Prüfteil Mi zu ermitteln und sendet (Dx, ..., Dy, Mi) innerhalb des Rahmens Fi. D. h., die Einrichtung 28 zum Verwenden des Session-Schlüssels k0 ist gemäß Ausführungsbeispielen angepasst, um für die Kommunikation mit dem zweiten Kommunikationspartner einen Prüfteil Mi zur Authentisierung einer Nachricht Fi basierend auf der Nachricht und dem Session-Schlüssel k0 oder einem daraus abgeleiteten Schlüssel ki zu berechnen.
  • In der gleichen Weise kann der Empfänger des Datenrahmens Mi mit dem Inhalt (Dx, ..., Dy, Mi) ausgebildet sein, um ki und die empfangenen Datenpakete Dx, Dx+1, ..., Dy zu verwenden, um einen sich daraus ergebenden Prüfteil zu berechnen. Der Empfänger vergleicht den sich ergebenden Prüfteil mit dem empfangenen Wert Mi. Falls die beiden Werte identisch sind, kann der Datentransfer zwischen den beiden Kommunikationspartnern fortgesetzt werden, andernfalls sollte der Datentransfer gestoppt werden. Der Empfänger kann den Sender über einen MAC-Fehler informieren.
  • Beide Kommunikationspartner P und T berechnen auch den Schlüssel ki+1 für einen nachfolgend zu übertragenden Datenrahmen Fi+1 (siehe 6, Schritte 62, 63, 64). Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung können Prüfteil Mi und der nachfolgende Schlüssel ki+1 folgendermaßen berechnet werden: hx := ki, hx+1 := AES(key = hx; Dx) XOR Dx, hx+2 := AES(key = hx+1; Dx+1) XOR Dx+1, hx+3 := AES(key = hx+2; Dx+2) XOR Dx+2, ... hy+1 := AES(key = hy; Dy) XOR Dy, ki+1 := hy+1 M'i := AES(key = ki; ki+1) XOR ki+1, Mi := EXT(M'i) (40)
  • Falls die Größe eines Datenpakets Dx weniger als 128 Bit beträgt, kann das entsprechende Datenpaket Dx mit Nullen aufgefüllt werden, um eine Größe von 128 Bit zu erhalten. Das aufgefüllte Datenpaket Dx kann dann als Eingabe für die AES-Blockverschlüsselung und/oder die XOR-Verknüpfungen verwendet werden.
  • Die Generierung des Prüfwerts Mi und des nachfolgenden Schlüssels ki+1 ist in 9 nochmals graphisch dargestellt.
  • Aus 9 wird klar, dass der nachfolgende Schlüssel ki+1 aus dem Vorgänger-Schlüssel ki und den einzelnen Datenpaketen Dx, Dx+1, ..., Dy des Datenrahmens Fi bestimmt wird. Dabei wird ein erstes Datenpaket Dx mit dem Vorgänger-Schlüssel ki blockverschlüsselt, das Ergebnis dieser Blockverschlüsselung nochmals mit dem ersten Datenpaket Dx XOR-verknüpft, wobei das Verknüpfungs-Ergebnis wiederum als Schlüssel verwendet wird, um das zweite Datenpaket Dx+1 block-zu-verschlüsseln, um das Ergebnis dieser Blockverschlüsselung wiederum mit dem zweiten Datenpaket Dx+1 zu verknüpfen und das Ergebnis dieser Verknüpfung wiederum als Schlüssel für das darauffolgende Datenpaket Dx+2 zu verwenden, usw.
  • Der Prüfteil Mi wird gebildet, indem der Vorgänger-Schlüssel ki als Schlüssel verwendet wird, um den nachfolgenden Schlüssel ki+1 gemäß einer AES-Blockverschlüsselung zu verschlüsseln. Das Ergebnis dieser Verschlüsselung kann dann mit ki+1 XOR-verknüpft werden, um den MAC-Prüfwert Mi zu erhalten. D. h., gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist die Einrichtung 28 zum Verwenden des Session-Schlüssels angepasst, um einen Prüfteil Mi einer aktuell zu übermittelnden Nachricht Fi, basierend auf einem von dem Session-Schlüssel k0 abgeleiteten aktuellen Schlüssel ki und einem nachfolgenden Schlüssel ki+1 für eine nachfolgend zu übermittelnde Nachricht Fi+1 zu berechnen, wobei der nachfolgende Schlüssel ki+1 von dem abgeleiteten aktuellen Schlüssel ki und der aktuell zu übermittelnden Nachricht Fi abhängt.
  • 10 zeigt einen insgesamten Ablauf des Integritätsschutzmodus für zwei zu übertragende Datenrahmen, beginnend mit der Generierung des ersten Schlüssels k1 basierend auf dem Session-Schlüssel k0.
  • In dem Vertraulichkeitsschutzmodus wird jeder Datenrahmen Fi gesichert, indem die Datenblöcke Dx zu verschlüsselten Blöcken Ci verschlüsselt werden, wobei dazu jeweils der Schlüssel ki verwendet wird. Schematisch ist diese Vorgehensweise in 11 gezeigt.
  • Der Sender des Datenrahmens Fi verwendet ki und die Datenpakete Dx, Dx+1, ...,Dy, verschlüsselt jedes Datenpaket D zu einem verschlüsselten Paket Cj und sendet (Cx, ..., Cy) innerhalb des Datenrahmens Fi. Der Empfänger des Datenrahmens Fi mit (Cx, ..., Cy) verwendet ebenfalls den Schlüssel ki und die verschlüsselten Cx, ..., Cy, um die unverschlüsselten Pakete Dx, Dx+1, ..., Dy zurückzugewinnen. Beide Kommunikationspartner berechnen den nachfolgenden Schlüssel ki+1 für den nachfolgenden Datenrahmen Fi+1. Zur Verarbeitung längerer Nachrichten gibt es verschiedene Vorgehensweisen. Die Daten können zunächst in Datenpakete Dx unterteilt werden, deren Größe durch den Verschlüsselungsalgorithmus vorgegeben ist (z. B. 128 Bit). Die Betriebsarten Electronic Code Book Mode (ECB) und Cipher Block Chaining Mode (CBC) setzen ganze Datenpakete voraus. Daher kann das letzte Datenpaket Dy mit Fülldaten aufgefüllt werden (Padding). Die Datenpakete können anschließend nacheinander verschlüsselt werden. Bei einem häufig eingesetzten CBC-Verfahren wird das Ergebnis der Verschlüsselung eines Datenpakets, Chiffre (engl. Cipher) des zuvor verschlüsselten Datenpakets mit dem folgenden Datenpaket verknüpft bzw. verkettet. Die Berechnungen des Senders, um Cj und ki+1 zu erhalten, sehen gemäß einem Ausführungsbeispiel folgendermaßen aus: hx := ki, hx := AES(key = hx-1; q) XOR q, Cx := AES(key = hx; Dx), hx+1 := AES(key = hx; q) XOR q, Cx+1 := AES(key = hx+1; Dx+1), ... hy := AES(key = hy-1; q) XOR q, Cy := AES(key = hy; Dy), ki+1 := hy (41)
  • Der Wert q bedeutet dabei beispielsweise einen 128 Bit-Wert, der beliebig definiert werden kann, danach aber fest bleibt. Gemäß Ausführungsbeispielen kann die Größe eines Datenpakets Dx immer 128 Bit betragen. Ein Auffüllen mit Nullen, um diese Größe zu erreichen, kann von einer übergeordneten Wrapping-Protokollschicht durchgeführt werden. Die Struktur der Schlüssel-Generierung im Vertraulichkeitsschutzmodus, die in 12 grafisch dargestellt ist, ist gemäß Ausführungsbeispielen identisch zu der Schüsselgenerierung im Integritätsschutz- bzw. MAC-Modus. Ein Vergleich der 9 und 12 zeigt, dass gegenüber dem MAC-Modus Dx+j im Vertraulichkeitsschutzmodus lediglich durch die Konstante q ersetzt wird. Diese Vorgehensweise bietet den Vorteil, dass dadurch eine Reduktion von Hardware-Ressourcen, beispielsweise in Form von zusätzlichen Kontroll- und Datenpfaden, vermieden werden kann.
  • In gleicher Weise wie 10 für den MAC-Modus, zeigt 13 für den Vertraulichkeitsschutzmodus einen insgesamten Datenfluss für zwei zu übertragende Datenrahmen, wobei mit der Generierung des ersten Schlüssels k1, basierend auf dem Session-Schlüssel k0 begonnen wird.
  • 14 zeigt, analog zu 12 ein Schema zur Entschlüsselung der verschlüsselten Pakete Cx, ..., Cy des Datenrahmens Fi seitens eines Empfängers des Datenrahmens. Die Schlüsselberechnung der Schüssel ki und ki+1, sowie sämtlicher dazwischenliegender Zwischen-Schlüssel hx-1, hx, hx+1, ..., erfolgt identisch wie seitens des Senders, d. h. gemäß den Gin. (41). Um die verschlüsselten Pakete Cx zu entschlüsseln, werden die ermittelten Zwischenschlüssel hx als Schlüssel für eine zur Blockverschlüsselung AES inversen Blockentschlüsselung AES–1 verwendet: hx := ki,
    hx := AES(key = hx-1; q) XOR q,
    Dx := AES–1(key = hx; Cx),
    hx+1 := AES(key = hx; q) XOR q,
    Dx+1 := AES–1(key = hx+1; Cx+1)
    ...
    hy AES(key = hy-1; q) XOR q,
    Dy := AES–1(key = hy; Cy),
    ki+1 := hy(42)
  • Da beide Kommunikationspartner P und T im Allgemeinen jeweils sowohl als Sender als auch als Empfänger agieren, ist gemäß Ausführungsbeispielen die Einrichtung 28 zum Verwenden des Session-Schlüssels also angepasst, um einen aktuellen Schlüssel ki+1 für einen aktuell zu ver- bzw. zu entschlüsselnden Datenblock Di+1/Ci+1, basierend auf einem vorhergehenden Schlüssel ki für einen vorhergehend zu ver- bzw. zu entschlüsselnden Datenblock Di/Ci und einem vorgegebenen Wert q zu ver- bzw. zu entschlüsseln.
  • Zusammenfassend zielen Ausführungsbeispiele der vorliegenden Erfindung also erstens auf eine sichere gegenseitige Authentisierung zweier Kommunikationspartner P und T ab. Dabei kann gemäß Ausführungsbeispielen ein erster Kommunikationspartner eine sog. Proximity-Karte P und der zweite Kommunikationspartner ein entsprechendes Lesegerät T sein. Zweitens, zielen Ausführungsbeispiele der vorliegenden Erfindung darauf ab, einen Integritätsschutz von zwischen den beiden Kommunikationspartnern ausgetauschten Nachrichten zu gewährleisten. Drittens soll gemäß Ausführungsbeispiel auch ein Schutz der Vertraulichkeit der ausgetauschten Nachrichten ermöglicht werden. Dabei schließen sich gemäß Ausführungsbeispielen die letzten beiden Zielsetzungen gegenseitig aus, d. h., die Kommunikationspartner können sich nach einer sicheren gegenseitigen Authentisierung 10 entweder auf einen Datentransfermodus 12 mit Integritätsschutz oder auf einen Datentransfermodus mit Vertraulichkeitsschutz einigen. Als grundlegende Voraussetzung teilen beide Kommunikationspartner T und P eine gemeinsame geheime Information kIV, entsprechend den Einstellungen einer Private-Key Kryptographie. Gemäß Ausführungsbeispielen kann zur Blockverschlüsselung der AES mit einer Schüssellänge von 128 Bit verwendet werden. Andere Blockverschlüsselungsalgorithmen sowie andere Schlüssellängen sind natürlich ebenso denkbar.
  • Ausführungsbeispiele der vorliegenden Erfindung können inhärent die Sicherheit gegen Seitenkanalangriffe erhöhen. Dadurch ist eine Reduktion von hardwarespezifischen Maßnahmen in einem zugrundegelegten Verschlüsselungsmodul, insbesondere einem AES-Hardwaremodul, möglich. Dies kann beispielsweise zu deutlich in ihrer Größe reduzierten Proximity-Karten führen.
  • Abhängig von den Gegebenheiten können die erfindungsgemäßen Verfahren sowohl in Hardware oder in Software implementiert werden. Die Implementierung kann auf einem digitalen Speichermedium, beispielsweise einer DVD, CD oder Diskette mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computerprogrammprodukt mit einem auf einem maschinenlesbaren trägergespeicherten Programmcode zur Durchführung des jeweiligen erfindungsgemäßen Verfahrens, wenn das Computerprogrammprodukt auf einem Rechner abläuft. In anderen Worten ausgedrückt, kann die Erfindung auch als ein Computerprogramm zur Durchführung eines Verfahrens zur Erzeugung eines Session-Schlüssels realisiert werden, wenn das Computerprogramm auf einem Computer abläuft.

Claims (25)

  1. Vorrichtung (20) zur Erzeugung eines Session-Schlüssels (k0), der einem ersten Kommunikationspartner (P; T) und einem zweiten Kommunikationspartner (T; P) bekannt ist, für den ersten Kommunikationspartner (P; T), aus einer geheimen Information (kIV), die von dem ersten und dem zweiten Kommunikationspartner ermittelbar ist, mit folgenden Merkmalen: einer Einrichtung (22) zum Erhalten einer Zufallszahl (rP; rT); einer Einrichtung (24) zum Berechnen des Session-Schlüssels (k0) unter Verwendung einer Verknüpfung zumindest eines Teils der Zufallszahl (rP; rT) und eines Teils der geheimen Information (kIV); und einer Einrichtung (28) zum Verwenden des Session-Schlüssels (k0) für eine Kommunikation mit dem zweiten Kommunikationspartner, wobei die Einrichtung (22) zum Erhalten der Zufallszahl angepasst ist, um eine erste Zufallszahl (rP) zufällig oder pseudo-zufällig zu ermitteln und um eine zweite Zufallszahl (rT) von dem zweiten Kommunikationspartner zu erhalten, und wobei die Einrichtung (24) zum Berechnen des Session-Schlüssels (k0) angepasst ist, um den Session-Schlüssel (k0) basierend auf einer zweiten Verschlüsselung (AES) eines aus einer ersten Verschlüsselung (AES) abgeleiteten Werts (k') mit einem aus der zweiten Zufallszahl (rT) abgeleiteten Wert zu erhalten, wobei ein aus einer nichtlinearen Verknüpfung (NLM) der ersten Zufallszahl (rP) und des Teils der geheimen Information (kIV) abgeleiteter Wert (kP) als Schlüssel für die erste Verschlüsselung (AES) verwendet wird, um die geheime Information (kIV) oder einen daraus abgeleiteten Wert zu verschlüsseln und, um basierend auf der ersten und zweiten Verschlüsselung (AES) den Session-Schlüssel (k0) zu erhalten.
  2. Vorrichtung gemäß Anspruch 1, wobei Einrichtung (22) zum Erhalten der Zufallszahl (rP; rT) angepasst ist, um zumindest einen ersten Teil der Zufallszahl zufällig oder pseudozufällig zu ermitteln.
  3. Vorrichtung gemäß Anspruch 2, wobei Einrichtung (22) zum Erhalten der Zufallszahl angepasst ist, um einen zweiten Teil der Zufallszahl (rP; rT) von dem zweiten Kommunikationspartner zu erhalten.
  4. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei die Einrichtung (24) zum Berechnen des Session-Schlüssels (k0) angepasst ist, um den Session-Schlüssel (k0) unter Verwendung einer nichtlinearen Verknüpfung (NLM) des zumindest eines Teils der Zufallszahl (rP; rT) und des Teils der geheimen Information (kIV) zu berechnen.
  5. Vorrichtung gemäß Anspruch 4, wobei die Einrichtung (24) zum Berechnen des Session-Schlüssels (k0) angepasst ist, um die nichtlineare Verknüpfung (NLM) mittels eines nichtlinear rückgekoppelten Schieberegisters zu implementieren, das mit dem zumindest einen Teil (rP) der Zufallszahl geladen wird und sequentiell einzelne Bits des Teils der geheimen Information (kIV) mit Registerzellen des Schieberegisters verknüpft.
  6. Vorrichtung gemäß Anspruch 4, wobei die Einrichtung (24) zum Berechnen des Session-Schlüssels (k0) angepasst ist, um die nichtlineare Verknüpfung (NLM) mittels eines nichtlinear rückgekoppelten Schieberegisters zu implementieren, das mit dem Teil der geheimen Information (kIV) geladen wird und sequentiell einzelne Bits des zumindest einen Teils (rP) der Zufallszahl mit Registerzellen des Schieberegisters verknüpft.
  7. Vorrichtung gemäß Anspruch 4, wobei die Einrichtung (24) zum Berechnen des Session-Schlüssels (k0) angepasst ist, um die nichtlineare Verknüpfung (NLM) mittels eines linear rückgekoppelten Schieberegisters zu implementieren, welches durch ein irreduzibles Polynom (f(X)) definiert wird, so dass ein Ergebnis der nichtlinearen Verknüpfung (NLM) von einer Modulo-Operation einer multiplikativen Verknüfpung des zumindest eines Teils der Zufallszahl (rP; rT) und dem Teil der geheimen Information (kIV) mit dem irreduziblen Polynom (f(X)) abhängt.
  8. Vorrichtung gemäß einem der Ansprüche 4 bis 7, wobei die Einrichtung (24) zum Berechnen des Session-Schlüssels (k0) angepasst ist, um einen aus der nichtlinearen Verknüpfung (NLM) abgeleiteten Wert (kP) als Schlüssel für eine Verschlüsselung (AES) zu verwenden, um die geheime Information (kIV) oder einen daraus abgeleiteten Wert zu verschlüsseln und, um basierend auf der Verschlüsselung (AES) den Session-Schlüssel (k0) zu erhalten.
  9. Vorrichtung gemäß einem der Ansprüche 4 bis 7, wobei die Einrichtung (24) zum Berechnen des Session-Schlüssels (k0) angepasst ist, um die geheime Information (kIV) oder einen daraus abgeleiteter Wert als Schlüssel für eine Verschlüsselung (AES) zu verwenden, um einen aus der nichtlinearen Verknüpfung (NLM) abgeleiteten Wert (kP) zu verschlüsseln und, um basierend auf der Verschlüsselung (AES) den Session-Schlüssel (k0) zu erhalten.
  10. Vorrichtung gemäß Anspruch 8 oder 9, wobei die Verschlüsselung eine Blockverschlüsselung ist.
  11. Vorrichtung gemäß Anspruch 10, wobei die Blockverschlüsselung auf dem Advanced Encryption Standard (AES) basiert.
  12. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei die geheime Information (kIV) mittels einer Schlüsselgewinnungsfunktion (KD) basierend auf einer gerätespezifischen Identifikation (IV) und einem Generalschlüssel (kM) ermittelt werden kann.
  13. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei die Einrichtung (28) zum Verwenden des Session-Schlüssels (k0) angepasst ist, um für die Kommunikation mit dem zweiten Kommunikationspartner einen Prüfteil (MAC) zur Authentifizierung einer Nachricht basierend auf der Nachricht und dem Session-Schlüssel (k0) oder einem daraus abgeleiteten Schlüssel zu berechnen.
  14. Vorrichtung gemäß Anspruch 13, wobei die Einrichtung (28) zum Verwenden des Session-Schlüssels (k0) angepasst ist, um einen Prüfteil (Mi) einer aktuell zu übermittelnden Nachricht basierend auf einem aus dem Session-Schlüssel (k0) abgeleiteten aktuellen Schlüssel (ki) und einem nachfolgenden Schlüssel (ki+1) für eine nachfolgend zu übermittelnde Nachricht zu berechnen, wobei der nachfolgende Schlüssel (ki+1) von dem abgeleiteten aktuellen Schlüssel (ki) und der aktuell zu übermittelnden Nachricht abhängt.
  15. Vorrichtung gemäß Anspruch 13 oder 14, wobei die Einrichtung (28) zum Verwenden des Session-Schlüssels (k0) angepasst ist, um für die Berechnung des Prüfteils (Mi) eine Blockverschlüsselung (AES) gemäß dem Advanced Encryption Standard zu verwenden.
  16. Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei die Einrichtung (28) zum Verwenden des Session-Schlüssels (k0) angepasst ist, um für die Kommunikation mit dem zweiten Kommunikationspartner Datenblöcke (Di) einer Nachricht basierend auf dem Session-Schlüssel (k0) oder einem daraus abgeleiteten Schlüssel zu ver-/entschlüsseln.
  17. Vorrichtung gemäß Anspruch 16, wobei die Einrichtung (28) zum Verwenden des Session-Schlüssels (k0) angepasst ist, um einen aktuellen Schlüssel (ki+1) für einen aktuell zu ver-/entschlüsselnden Datenblock (Di+1) basierend auf einem vorhergehenden Schlüssel (ki) für einen vorhergehend zu ver-/entschlüsselnden Datenblock (Di) und einem vorgegebenen Wert (q) zu ver-/entschlüsseln.
  18. Vorrichtung gemäß Anspruch 16 oder 17, wobei die Einrichtung (28) zum Verwenden des Session-Schlüssels (k0) angepasst ist, um für die Berechnung des aktuellen Schlüssels (ki+1) eine Blockverschlüsselung (AES) gemäß dem Advanced Encryption Standard zu verwenden.
  19. Verfahren zur Erzeugung eines Session-Schlüssels (k0), der einem ersten Kommunikationspartner und einem zweiten Kommunikationspartner bekannt ist, für den ersten Kommunikationspartner, aus einer geheimen Information (k1), die von dem ersten und dem zweiten Kommunikationspartner ermittelbar ist, mit folgenden Schritten: Erhalten (32) einer Zufallszahl (rP; rT); Berechnen (34) des Session-Schlüssels (k0) unter Verwendung einer Verknüpfung zumindest eines Teils der Zufallszahl (rP; rT) und eines Teils der geheimen Information (kIV); und Verwenden (36) des Session-Schlüssels (k0) für eine Kommunikation mit dem zweiten Kommunikationspartner, wobei beim Erhalten der Zufallszahl eine erste Zufallszahl (kP) basierend auf einer nichtlinearen Verknüpfung (NLM) einer zufällig oder pseudo-zufällig ermittelten Zufallszahl (rP) oder einem daraus abgeleiteten Wert und einem Teil der geheimen Information (kIV) ermittelt wird und eine zweite Zufallszahl (rT) von dem zweiten Kommunikationspartner erhalten wird, und wobei die Berechnung des Session-Schlüssels (k0) auf einer Blockverschlüsselung (AES) eines aus der geheimen Information (kIV) abgeleiteten Werts mit einem aus der ersten (kP) und der zweiten Zufallszahl (rT) abgeleiteten Schlüssel basiert.
  20. Verfahren gemäß Anspruch 19, wobei der Session-Schlüssel (k0) sowohl von dem ersten als auch von dem zweiten Kommunikationspartner basierend auf der Zufallszahl (rP; rT) und der geheimen Information (kIV) erzeugt wird.
  21. Verfahren gemäß Anspruch 19 oder 20, wobei der Session-Schlüssel (k0) in einem Authentisierungsverfahren als gemeinsames Geheimnis für eine Authentisierung zwischen dem ersten und zweiten Kommunikationspartner verwendet wird.
  22. Verfahren gemäß einem der Ansprüche 19 bis 21, wobei das Authentisierungsverfahren ein Challenge-Response-Verfahren für eine einseitige oder gegenseitige Authentisierung mittels des Session-Schlüssels (k0) ist.
  23. Vorrichtung (20) zur Erzeugung eines Session-Schlüssels (k0), der einem ersten Kommunikationspartner (P; T) und einem zweiten Kommunikationspartner (T; P) bekannt ist, für den ersten Kommunikationspartner (P; T), aus einer geheimen Information (kIV), die von dem ersten und dem zweiten Kommunikationspartner ermittelbar ist, mit folgenden Merkmalen: einer Einrichtung (22) zum Erhalten einer Zufallszahl (rP; rT); einer Einrichtung (24) zum Berechnen des Session-Schlüssels (k0) unter Verwendung einer Verknüpfung zumindest eines Teils der Zufallszahl (rP; rT) und eines Teils der geheimen Information (kIV); und einer Einrichtung (28) zum Verwenden des Session-Schlüssels (k0) für eine Kommunikation mit dem zweiten Kommunikationspartner, wobei die Einrichtung (22) zum Erhalten der Zufallszahl angepasst ist, um eine erste Zufallszahl (rP) zufällig oder pseudo-zufällig zu ermitteln und um eine zweite Zufallszahl (rT) von dem zweiten Kommunikationspartner zu erhalten, und wobei die Einrichtung (24) zum Berechnen des Session-Schlüssels (k0) angepasst ist, um den Session-Schlüssel (k0) basierend auf einer Verschlüsselung (AES) eines aus der geheimen Information (kIV) abgeleiteten Werts mit einem aus der ersten (rP) und der zweiten Zufallszahl (rT) abgeleiteten Schlüssel zu berechnen.
  24. Verfahren zur Erzeugung eines Session-Schlüssels (k0), der einem ersten Kommunikationspartner und einem zweiten Kommunikationspartner bekannt ist, für den ersten Kommunikationspartner, aus einer geheimen Information (kIV), die von dem ersten und dem zweiten Kommunikationspartner ermittelbar ist, mit folgenden Schritten: Erhalten (32) einer Zufallszahl (rP; rT); Berechnen (34) des Session-Schlüssels (k0) unter Verwendung einer Verknüpfung zumindest eines Teils der Zufallszahl (rP; rT) und eines Teils der geheimen Information (kIV); und Verwenden (36) des Session-Schlüssels (k0) für eine Kommunikation mit dem zweiten Kommunikationspartner, wobei beim Erhalten der Zufallszahl eine erste Zufallszahl (rP) von dem von dem ersten Kommunikationspartner zufällig oder pseudo-zufällig ermittelt und eine zweite Zufallszahl (rT) von dem zweiten Kommunikationspartner erhalten wird, und wobei die Berechnung des Session-Schlüssels (k0) auf einer Blockverschlüsselung (AES) der zweiten Zufallszahl (rT) mit einer Blockverschlüsselung (AES) der geheimen Information (kIV) mit einer nichtlinearen Verknüpfung (NLM) des der ersten Zufallszahl (rP) und des Teils der geheimen Information (kIV) basiert.
  25. Computerprogramm zur Durchführung des Verfahrens gemäß Anspruch 19 oder 24, wenn das Computerprogramm auf einem Computer oder Mikrocontroller abläuft.
DE102009024604A 2009-06-10 2009-06-10 Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung Active DE102009024604B4 (de)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE102009024604A DE102009024604B4 (de) 2009-06-10 2009-06-10 Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung
DE102009061045A DE102009061045B4 (de) 2009-06-10 2009-06-10 Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung
FR1002434A FR2947126B1 (fr) 2009-06-10 2010-06-09 Generation d'une cle de session pour l'authentification et la transmission de donnees securisee
JP2010131994A JP2011010291A (ja) 2009-06-10 2010-06-09 認証および安全なデータ転送のためのセッション鍵の生成
US12/797,704 US8861722B2 (en) 2009-06-10 2010-06-10 Generating a session key for authentication and secure data transfer
JP2013183034A JP5784084B2 (ja) 2009-06-10 2013-09-04 認証および安全なデータ転送のためのセッション鍵の生成
US14/074,279 US9509508B2 (en) 2009-06-10 2013-11-07 Generating a session key for authentication and secure data transfer
FR1400622A FR3002400B1 (fr) 2009-06-10 2014-03-17 Generation d'une cle de session pour l'authentification et la transmission de donnees securisees

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102009024604A DE102009024604B4 (de) 2009-06-10 2009-06-10 Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung
DE102009061045A DE102009061045B4 (de) 2009-06-10 2009-06-10 Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung

Publications (2)

Publication Number Publication Date
DE102009024604A1 DE102009024604A1 (de) 2011-01-05
DE102009024604B4 true DE102009024604B4 (de) 2011-05-05

Family

ID=43303738

Family Applications (2)

Application Number Title Priority Date Filing Date
DE102009061045A Active DE102009061045B4 (de) 2009-06-10 2009-06-10 Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung
DE102009024604A Active DE102009024604B4 (de) 2009-06-10 2009-06-10 Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE102009061045A Active DE102009061045B4 (de) 2009-06-10 2009-06-10 Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung

Country Status (4)

Country Link
US (2) US8861722B2 (de)
JP (2) JP2011010291A (de)
DE (2) DE102009061045B4 (de)
FR (2) FR2947126B1 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843737B2 (en) * 2011-07-24 2014-09-23 Telefonaktiebolaget L M Ericsson (Publ) Enhanced approach for transmission control protocol authentication option (TCP-AO) with key management protocols (KMPS)
WO2013014778A1 (ja) * 2011-07-27 2013-01-31 富士通株式会社 暗号化処理装置および認証方法
WO2013109932A1 (en) 2012-01-18 2013-07-25 OneID Inc. Methods and systems for secure identity management
DE102012201164B4 (de) * 2012-01-26 2017-12-07 Infineon Technologies Ag Vorrichtung und verfahren zur erzeugung eines nachrichtenauthentifizierungscodes
US9740884B2 (en) * 2012-04-10 2017-08-22 Good Technology Holdings Limited Method and device for generating a code
JP5954030B2 (ja) * 2012-08-02 2016-07-20 富士通株式会社 暗号処理装置および方法
EP3014913B1 (de) * 2013-06-28 2021-04-14 Nec Corporation Sicherheit für eine prose-gruppenkommunikation
EP2890074A1 (de) * 2013-12-31 2015-07-01 Gemalto SA Verfahren zur Übertragung von Push-Nachrichten
CN104754576B (zh) * 2013-12-31 2018-07-31 华为技术有限公司 设备验证方法、用户设备及网络设备
EP2903204A1 (de) * 2014-02-03 2015-08-05 Tata Consultancy Services Limited Computerimplementiertes System und Verfahren zur leichtgewichtigen Authentifizierung auf Datagrammtransport für Internet der Dinge
EP2996277B1 (de) 2014-09-10 2018-11-14 Nxp B.V. Befestigung einer kryptografischen Vorrichtung gegen die Implementierung von Angriffen
EP3089398B1 (de) * 2015-04-30 2017-10-11 Nxp B.V. Sicherung einer kryptographischen vorrichtung
US9876641B2 (en) * 2015-10-08 2018-01-23 The Boeing Company Data dependent authentication keys for differential power analysis resistant authentication
CN105553647A (zh) * 2016-02-26 2016-05-04 南京航空航天大学 基于非线性循环移位寄存器的轻量级流密码技术lsnr2
US11277439B2 (en) 2016-05-05 2022-03-15 Neustar, Inc. Systems and methods for mitigating and/or preventing distributed denial-of-service attacks
WO2017193093A1 (en) 2016-05-05 2017-11-09 Neustar, Inc. Systems and methods for enabling trusted communications between entities
US11108562B2 (en) 2016-05-05 2021-08-31 Neustar, Inc. Systems and methods for verifying a route taken by a communication
US11025428B2 (en) 2016-05-05 2021-06-01 Neustar, Inc. Systems and methods for enabling trusted communications between controllers
US10958725B2 (en) 2016-05-05 2021-03-23 Neustar, Inc. Systems and methods for distributing partial data to subnetworks
SG10201606164TA (en) 2016-07-26 2018-02-27 Huawei Int Pte Ltd System and method for obtaining a common session key between devices
KR102594656B1 (ko) 2016-11-25 2023-10-26 삼성전자주식회사 보안 프로세서, 이를 포함하는 어플리케이션 프로세서 및 보안 프로세서의 동작 방법
US11057186B1 (en) 2019-05-17 2021-07-06 Juniper Networks, Inc. Generating cryptographic random data from raw random data
SG10201906806XA (en) * 2019-07-23 2021-02-25 Mastercard International Inc Methods and computing devices for auto-submission of user authentication credential
JPWO2021140954A1 (de) * 2020-01-08 2021-07-15
US11477189B2 (en) * 2020-07-10 2022-10-18 Salesforce.Com, Inc. Primary domain and secondary domain authentication
US11895251B2 (en) * 2020-09-18 2024-02-06 Assa Abloy Ab Mutual authentication with pseudo random numbers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001041892A2 (en) * 1999-12-03 2001-06-14 Smart Card Integrators, Inc. Method and system for secure cashless gaming
DE60208273T2 (de) * 2001-07-30 2006-08-17 Scm Microsystems Gmbh Verfahren zur Schlüsselübereinkunft in einem sicheren Kommunikationssystem
DE60308384T2 (de) * 2002-06-12 2007-09-20 Nagracard S.A. Vorrichtung zum gesicherten datenaustausch zwischen zwei vorrichtungen

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4404426A (en) * 1962-05-23 1983-09-13 American Standard Inc. Cryptographic telegraphy programming system
US3506783A (en) * 1966-06-17 1970-04-14 Int Standard Electric Corp Key material generator
US3657699A (en) * 1970-06-30 1972-04-18 Ibm Multipath encoder-decoder arrangement
SE7714587L (sv) * 1977-12-21 1979-06-22 Brendstrom Hugo System for meddelanden
US4325129A (en) * 1980-05-01 1982-04-13 Motorola Inc. Non-linear logic module for increasing complexity of bit sequences
JP2831650B2 (ja) * 1988-05-06 1998-12-02 日本放送協会 信号スクランブル伝送方式および装置
EP0681768B1 (de) * 1992-12-30 2001-03-28 Telstra Corporation Limited Verfahren und einrichtung zur erzeugung einer chiffriersequenz
JP2942913B2 (ja) 1993-06-10 1999-08-30 ケイディディ株式会社 相手認証/暗号鍵配送方式
JPH0736672A (ja) * 1993-07-20 1995-02-07 Canon Inc 乱数発生器、及びそれを用いた通信システム及びその方法
CA2128115C (en) * 1993-07-20 1999-08-10 Keiichi Iwamura Encryption apparatus, communication system using the same and method therefor
JPH08335040A (ja) * 1995-06-02 1996-12-17 Fujitsu Ltd 暗号化処理方式
WO1998032070A1 (en) * 1997-01-17 1998-07-23 Picturetel Corporation Pseudo-random number generator exploiting processors having instruction-level parallelism and the use thereof for encryption
US5943248A (en) * 1997-01-17 1999-08-24 Picturetel Corporation w-bit non-linear combiner for pseudo-random number generation
TW545023B (en) * 1999-12-10 2003-08-01 Koninkl Philips Electronics Nv Synchronization of session keys
TW508494B (en) * 2001-03-28 2002-11-01 Shansun Technology Company Data protection device capable of self-defining address arrangement sequence in protection area of storage device
CA2446304C (en) * 2001-05-01 2012-03-20 Vasco Data Security, Inc. Use and generation of a session key in a secure socket layer connection
US20020076044A1 (en) * 2001-11-16 2002-06-20 Paul Pires Method of and system for encrypting messages, generating encryption keys and producing secure session keys
US7477748B2 (en) * 2002-03-18 2009-01-13 Colin Martin Schmidt Session key distribution methods using a hierarchy of key servers
US7080404B2 (en) * 2002-04-01 2006-07-18 Microsoft Corporation Automatic re-authentication
US7464265B2 (en) * 2002-05-03 2008-12-09 Microsoft Corporation Methods for iteratively deriving security keys for communications sessions
US7523490B2 (en) * 2002-05-15 2009-04-21 Microsoft Corporation Session key security protocol
US7400732B2 (en) * 2002-07-25 2008-07-15 Xerox Corporation Systems and methods for non-interactive session key distribution with revocation
BRPI0313412B1 (pt) * 2002-08-14 2017-03-21 Thomson Licensing Sa gerenciamento de chave de sessão para lan pública sem fio suportando múltiplos operadores virtuais
US7475241B2 (en) * 2002-11-22 2009-01-06 Cisco Technology, Inc. Methods and apparatus for dynamic session key generation and rekeying in mobile IP
JP4107063B2 (ja) * 2002-11-26 2008-06-25 日本ビクター株式会社 暗号情報の送受信システム、送受信方法、暗号情報埋め込み用プログラム及び暗号情報記録装置
US7706540B2 (en) * 2002-12-16 2010-04-27 Entriq, Inc. Content distribution using set of session keys
US7299356B2 (en) * 2003-09-02 2007-11-20 Authernative, Inc. Key conversion method for communication session encryption and authentication system
US7581100B2 (en) * 2003-09-02 2009-08-25 Authernative, Inc. Key generation method for communication session encryption and authentication system
KR100571820B1 (ko) * 2003-10-20 2006-04-17 삼성전자주식회사 신원 정보를 기반으로 하는 암호 시스템에서의 컨퍼런스세션 키 분배 방법
US7526649B2 (en) * 2003-12-30 2009-04-28 Intel Corporation Session key exchange
JP4763972B2 (ja) * 2004-03-31 2011-08-31 富士通エフ・アイ・ピー株式会社 暗号化情報伝送方法、コンピュータプログラム及び通信システム
US7356846B2 (en) * 2004-04-14 2008-04-08 Microsoft Corporation Unilateral session key shifting
US7376972B2 (en) * 2004-04-14 2008-05-20 Microsoft Corporation Session key exchange key
JP4570626B2 (ja) * 2004-05-03 2010-10-27 リサーチ イン モーション リミテッド 再生可能なセッションキーを生成するためのシステムおよび方法
DE102004032057A1 (de) * 2004-07-01 2006-01-26 Francotyp-Postalia Ag & Co. Kg Verfahren und Anordnung zum Generieren eines geheimen Sitzungsschlüssels
US20060075259A1 (en) * 2004-10-05 2006-04-06 Bajikar Sundeep M Method and system to generate a session key for a trusted channel within a computer system
US9436804B2 (en) * 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US20060240802A1 (en) * 2005-04-26 2006-10-26 Motorola, Inc. Method and apparatus for generating session keys
US7577258B2 (en) * 2005-06-30 2009-08-18 Intel Corporation Apparatus and method for group session key and establishment using a certified migration key
US8027304B2 (en) * 2005-07-06 2011-09-27 Nokia Corporation Secure session keys context
JP2007053612A (ja) * 2005-08-18 2007-03-01 Toshiba Corp 通信機器及び通信方法
US20070101122A1 (en) * 2005-09-23 2007-05-03 Yile Guo Method and apparatus for securely generating application session keys
US8001584B2 (en) * 2005-09-30 2011-08-16 Intel Corporation Method for secure device discovery and introduction
US20070140488A1 (en) * 2005-12-21 2007-06-21 Roundbox, Inc. Restriction of broadcast session key use by secure module decryption policy
US20070189512A1 (en) * 2006-01-20 2007-08-16 Chiou-Haun Lee Method and apparatus for processing stream encryption/decryption
EP1873960B1 (de) * 2006-06-29 2013-06-05 Incard SA Verfahren zum Ableiten eines Sitzungsschlüssels auf einer IC-Karte
US7831051B2 (en) * 2007-03-13 2010-11-09 Aladdin Europe Gmbh Secure communication between a hardware device and a computer
JP2008252299A (ja) * 2007-03-29 2008-10-16 Hitachi Ltd 暗号処理システム及び暗号処理方法
JP5207654B2 (ja) * 2007-04-16 2013-06-12 塩谷 安男 通信装置、通信装置間のペアリング方法、ウェアラブルキーとicカードとをペアリングする方法、及びウェアラブルキーとicカードからなるシステム
KR101391151B1 (ko) * 2007-06-01 2014-05-02 삼성전자주식회사 세션 키를 이용한 인증 방법 및 이를 위한 장치
US7992200B2 (en) * 2007-07-16 2011-08-02 International Business Machines Corporation Secure sharing of transport layer security session keys with trusted enforcement points
US8533474B2 (en) * 2008-02-27 2013-09-10 Red Hat, Inc. Generating session keys

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001041892A2 (en) * 1999-12-03 2001-06-14 Smart Card Integrators, Inc. Method and system for secure cashless gaming
DE60208273T2 (de) * 2001-07-30 2006-08-17 Scm Microsystems Gmbh Verfahren zur Schlüsselübereinkunft in einem sicheren Kommunikationssystem
DE60308384T2 (de) * 2002-06-12 2007-09-20 Nagracard S.A. Vorrichtung zum gesicherten datenaustausch zwischen zwei vorrichtungen

Also Published As

Publication number Publication date
DE102009061045B4 (de) 2012-05-03
US20100316217A1 (en) 2010-12-16
FR3002400A1 (fr) 2014-08-22
FR2947126A1 (fr) 2010-12-24
US8861722B2 (en) 2014-10-14
JP2011010291A (ja) 2011-01-13
US20140169557A1 (en) 2014-06-19
US9509508B2 (en) 2016-11-29
JP2014017841A (ja) 2014-01-30
JP5784084B2 (ja) 2015-09-24
DE102009061045A1 (de) 2011-02-03
DE102009024604A1 (de) 2011-01-05
FR2947126B1 (fr) 2018-01-19
FR3002400B1 (fr) 2017-09-08

Similar Documents

Publication Publication Date Title
DE102009024604B4 (de) Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung
DE60314060T2 (de) Verfahren und Vorrichtung zur Schlüsselverwaltung für gesicherte Datenübertragung
DE60302276T2 (de) Verfahren zur ferngesteuerten Änderung eines Kommunikationspasswortes
DE60200081T2 (de) Sichere Benutzer- und Datenauthenifizierung über ein Kommunikationsnetzwerk
EP2742643B1 (de) Vorrichtung und verfahren zum entschlüsseln von daten
EP0472714B1 (de) Verfahren zur authentifizierung eines eine datenstation benutzenden anwenders
DE60200093T2 (de) Sichere Benutzerauthenifizierung über ein Kommunikationsnetzwerk
DE102011118367B4 (de) Verfahren zur Authentisierung eines Telekommunikationsendgeräts umfassend ein Identitätsmodul an einer Servereinrichtung eines Telekommunikationsnetzes, Verwendung eines Identitätsmoduls, Identitätsmodul und Computerprogramm
DE102018216915A1 (de) System und Verfahren für sichere Kommunikationen zwischen Steuereinrichtungen in einem Fahrzeugnetzwerk
DE112008001436T5 (de) Sichere Kommunikation
DE112015002927B4 (de) Generierung und Verwaltung geheimer Chiffrierschlüssel auf Kennwortgrundlage
DE112020006159T5 (de) Protokoll zur gegenseitigen authentifizierung für systeme mit kommunikationsverbindungen mit niedrigem durchsatz und vorrichtungen zum durchführen desselben
EP2656535B1 (de) Kryptographisches verfahren
EP1298834B1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE102016210786A1 (de) Komponente zur Anbindung an einen Datenbus und Verfahren zur Umsetzung einer kryptografischen Funktionalität in einer solchen Komponente
DE19622630C1 (de) Verfahren zum gruppenbasierten kryptographischen Schlüsselmanagement zwischen einer ersten Computereinheit und Gruppencomputereinheiten
DE102009000869A1 (de) Verfahren und Vorrichtung zur manipulationssicheren Übertragung von Daten
WO2014086654A1 (de) Verfahren zum aufbau einer sicheren verbindung zwischen clients
DE102017118164A1 (de) Kryptographische schaltung und datenverarbeitung
EP3206154B1 (de) Verfahren und vorrichtungen zum sicheren übermitteln von nutzdaten
EP3767909A1 (de) Verfahren und kommunikationseinheit zur kryptographisch geschützten unidirektionalen datenübertragung von nutzdaten zwischen zwei netzwerken
EP3525414A1 (de) Verfahren zur verschlüsselten übertragung von daten auf einer kryptographisch geschützten, unverschlüsselten kommunikationsverbindung
EP3050244B1 (de) Bereitstellung und verwendung pseudonymer schlüssel bei hybrider verschlüsselung
EP3618348B1 (de) Verfahren zum betreiben eines verteilten datenbanksystems, verteiltes datenbanksystem und industrieautomatisierungssystem
EP2481183A1 (de) Verfahren zum aufbauen eines gesicherten kommunikationskanals

Legal Events

Date Code Title Description
AH Division in

Ref document number: 102009061045

Country of ref document: DE

Kind code of ref document: P

OP8 Request for examination as to paragraph 44 patent law
AH Division in

Ref document number: 102009061045

Country of ref document: DE

Kind code of ref document: P

R020 Patent grant now final

Effective date: 20110806

R082 Change of representative