EP3813291A1 - Method and device for providing a session key - Google Patents

Method and device for providing a session key Download PDF

Info

Publication number
EP3813291A1
EP3813291A1 EP19205262.9A EP19205262A EP3813291A1 EP 3813291 A1 EP3813291 A1 EP 3813291A1 EP 19205262 A EP19205262 A EP 19205262A EP 3813291 A1 EP3813291 A1 EP 3813291A1
Authority
EP
European Patent Office
Prior art keywords
key
session key
masking
masked
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP19205262.9A
Other languages
German (de)
French (fr)
Inventor
Rainer Falk
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to EP19205262.9A priority Critical patent/EP3813291A1/en
Priority to PCT/EP2020/078251 priority patent/WO2021078528A1/en
Publication of EP3813291A1 publication Critical patent/EP3813291A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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

Definitions

  • the invention relates to an apparatus and a method for providing a masked session key.
  • the session key can, for example, be dependent on a master key (e.g. a device-specific key).
  • a master key e.g. a device-specific key
  • the session key is z. B. derived from the master key by a key derivation function.
  • the terms “perform”, “calculate”, “computer-aided”, “calculate”, “determine”, “generate”, “configure”, “reconstruct” and the like relate preferably to actions and / or processes and / or processing steps that change and / or generate data and / or convert the data into other data, the data being or being present in particular as physical quantities, for example as electrical impulses.
  • the term "computer” should be interpreted as broadly as possible, in particular to cover all electronic devices with data processing properties. Computers can therefore be, for example, personal computers, servers, programmable logic controllers (PLC), handheld computer systems, pocket PC devices, mobile radio devices and other communication devices that can process data with the aid of computers, processors and other electronic devices for data processing.
  • “computer-aided” can be understood to mean, for example, an implementation of the method in which a processor in particular carries out at least one method step of the method.
  • “computer-aided” is also to be understood as “computer-implemented”.
  • a processor can be understood to mean, for example, a machine or an electronic circuit.
  • a processor can in particular be a central processing unit (CPU), a microprocessor or a microcontroller, for example an application-specific integrated circuit or a digital signal processor, possibly in combination with a memory unit for storing program commands, etc. .
  • a processor can also be, for example, an IC (integrated circuit), in particular an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit), or a DSP (Digital Signal Processor) or a graphics processor GPU (Graphic Processing Unit) act.
  • a processor is understood to be a virtualized processor, a virtual machine or a soft CPU.
  • a “memory unit” or “memory module” and the like can be understood in connection with the invention, for example, as a volatile memory in the form of random access memory (RAM) or a permanent memory such as a hard disk or a data carrier.
  • RAM random access memory
  • permanent memory such as a hard disk or a data carrier.
  • a “module” can be understood to mean, for example, a processor and / or a memory unit for storing program commands.
  • the processor is specially set up to execute the program instructions in such a way that the processor executes functions in order to implement or realize the method according to the invention or a step of the method according to the invention.
  • the respective modules can, for example, also be designed as separate or independent modules.
  • the corresponding modules can for example comprise further elements. These elements are, for example, one or more interfaces (e.g. database interfaces, communication interfaces - e.g. network interface, WLAN interface) and / or an evaluation unit (e.g. a processor) and / or a storage unit.
  • data can be exchanged (e.g. received, transmitted, sent or provided) by means of the interfaces.
  • the evaluation unit data can be compared, checked, processed, assigned or calculated, for example with the aid of a computer and / or in an automated manner.
  • the storage unit data can for example be computerized and / or stored, retrieved or provided in an automated manner.
  • a “checksum” can be understood to mean, for example, a cryptographic checksum, a digital signature or a digital certificate.
  • the key masking function is a non-linear map function. This can be any non-linear mapping, for example.
  • the masked session key is an encrypted masked session key, the encrypted masked session key being calculated by means of an encryption function using the session key and the masking key, wherein in addition to the masked session key, which is an encrypted masked session key, the random value to the recipient is transmitted.
  • the session key within the meaning of the invention is a session key encrypted with a further secret key.
  • the session key encrypted with the further secret key can, for. B. can also be referred to as "Black Session Key Blob". This already cryptographically encrypted session key is z. B. masked again using the masking key.
  • the secret key is a key suitable for a side-channel hardened masking of the session key.
  • the encryption function is an asymmetric cryptographic encryption function or a symmetric cryptographic encryption function or a hybrid cryptographic encryption function.
  • the receiver is a cryptography acceleration device.
  • the masked session key is transmitted via a cryptographically protected transmission channel.
  • the secret key is a device-specific secret key.
  • the cryptography control device and / or the receiver is in each case an integrated semiconductor module.
  • the system is a hardware security module or a multi-chip module.
  • the method comprises further method steps in order to implement the functional features of the cryptography control device or in order to implement further features of the execution environment or its embodiments.
  • a variant of the computer program product with program commands for configuring a creation device for example a 3D printer, a computer system or a production machine suitable for creating processors and / or devices, is claimed, the creation device being configured with the program commands in such a way that said inventive Cryptography control device or the system is created.
  • a provision device for storing and / or providing the computer program product.
  • the provision device is, for example, a data carrier that stores and / or provides the computer program product.
  • the provision device is, for example, a network service, a computer system, a server system, in particular a distributed computer system, a cloud-based computer system and / or virtual computer system, which the computer program product preferably stores and / or provides in the form of a data stream.
  • This provision takes place, for example, as a download in the form of a program data block and / or command data block, preferably as a file, in particular as a download file, or as a data stream, in particular as a download data stream, of the complete computer program product.
  • This provision can, for example, also take place as a partial download, which consists of several parts and, in particular, is downloaded via a peer-to-peer network or made available as a data stream.
  • Such a computer program product is read into a system using the supply device in the form of the data carrier, for example, and executes the program commands so that the method according to the invention is executed on a computer or the creation device is configured in such a way that it creates the cryptography control device or the system.
  • the following exemplary embodiments have at least one processor and / or a memory unit in order to implement or execute the method.
  • a combination according to the invention of hardware (components) and software (components) can occur in particular if some of the effects according to the invention are preferably exclusively by special hardware (e.g. a processor in the form of an ASIC or FPGA) and / or another part by the (processor- and / or memory-based) software is effected.
  • special hardware e.g. a processor in the form of an ASIC or FPGA
  • the (processor- and / or memory-based) software is effected.
  • Fig. 1 shows an embodiment of the invention.
  • Fig. 1 a system comprising a cryptography control device CC and / or a cryptography accelerator device A (e.g. a receiver).
  • the cryptography control device CC can be, for example, a security processor (for example a crypto controller) or a security element or a hardware security module.
  • the cryptography accelerator device A may, for example, be a processor such as e.g. B. be an ASIC or an FPGA or a network processor.
  • the cryptography control device CC and the cryptography accelerating device A can e.g. B. be implemented as integrated semiconductor components of the system, the system z. B. is a device.
  • the system or the device can be a field device, a manufacturing machine, a control device (e.g. in a vehicle) or a device of a cyber-physical system (e.g. a manufacturing system), a satellite navigation receiver or an Internet of Things device be.
  • the two semiconductor components or devices can, for. B. be integrated in a hardware security module or a multi-chip module.
  • the cryptography control device CC and the cryptography acceleration device A are connected to one another via a cryptographically protected transmission channel CH.
  • the transmission channel can e.g. B. can be implemented using I2C, SPI, RS232 or USB.
  • the cryptography control device CC and the cryptography acceleration device A each comprise corresponding communication interfaces (for example I2C, SPI, RS232 and / or USB).
  • the cryptography control device CC can also include, for example, a session key generation module SG, a random number generator TRNG, a masking key calculation module SM1 and the communication interface SC1, which are communicatively connected via an internal bus or a bus system of the cryptography control device CC.
  • the random number generator TRNG can be designed, for example, as an independent module of the cryptography control device CC.
  • the session key generation module SG can comprise the random number generator TRNG or the masking key calculation module SM1 can comprise the random number generator TRNG.
  • the session key generation module SG is set up to calculate a session key SK.
  • the random generator TRNG is set up to calculate a random value R.
  • the masking key calculation module SM1 is set up to calculate a masking key KMK by means of a key masking function on the basis of a secret key SMK and the random value R.
  • the secret key SMK can for example be managed by the session key generation module SG. For example, the key SMK is then stored in this module.
  • the secret key SMK can be managed by the masking key calculation module SM1, for example.
  • the key SMK is then stored in this module.
  • a masked session key MaSK is calculated by the masking key calculation module SM1 using the session key SK.
  • the communication interface SC1 is set up to transmit the masked session key MaSK to a receiver (for example the cryptography acceleration device A).
  • the key masking function can be a non-linear map (NLM) function.
  • NLM non-linear map
  • the masked session key MaSK is an encrypted masked session key BMaSK.
  • the encrypted masked session key BMaSK is calculated by means of an encryption function (for example an encryption function according to the ElGamal encryption method) using the session key SK and the masking key KMK.
  • the communication interface SC1 then transmits, in addition to the masked session key MaSK, which is the encrypted masked session key BMaSK, the random value R to the recipient.
  • the encrypted, masked session key BMaSK is additionally "blackened out". Blacked out means that the encrypted masked session key BMaSK is also encrypted a second time.
  • another encryption method can be selected for this (e.g. a symmetrical encryption method) and / or it can e.g. B. another encryption key can be used.
  • the session key SK is masked by means of the masking key KMK and additionally encrypted by means of the further encryption key in order to calculate the encrypted masked session key BMaSK and / or the blackened encrypted masked session key.
  • the encrypted masked session key BMaSK can be calculated with an asymmetric encryption function (e.g. ElGamal).
  • the blackened, encrypted, masked session key is then used e.g. B. formed on the basis of the further encryption key by means of a symmetrical encryption method (z. B. AES).
  • the cryptography acceleration device A can include a crypto engine HSCE, which can be used here via a PCIe interface PCIe (e.g. for encryption / decryption of IP communication in a VPN or for reading out a PRN code sequence for a Spread spectrum modulation).
  • the crypto engine HSCE is preferably a hardware-based crypto engine (e.g. implemented as part of an ASIC or FPGA), which z. B. is high performance.
  • the crypto engine HSCE is configured by the cryptography control device CC, in particular a user key can be transmitted from the cryptography control device CC to the cryptography acceleration device A (e.g. an ASIC) via the transmission channel CH.
  • the transmission channel CH can be, for. B. be a secure channel that is implemented as a cryptographically protected SPI interface.
  • the transmission channel CH is z. B. cryptographically protected by a secure channel session key SCSK using a corresponding security method SCFP, the secure channel session key SCSK by an authentication and key agreement AKA using a secure channel long term Keys SCLTK is set up.
  • the Secure Channel Longterm Keys SCLTK can e.g. B. be stored in a battery-backed memory or in eFuses. Alternatively, it can be made repeatable by a digital circuit.
  • the encrypted, masked session key BMaSK and / or the masked session key MaSK can be transmitted between the cryptography control device CC and the cryptography acceleration device A via the transmission channel CH secured in this way.
  • the cryptography control device CC can use the session key SK z. B. form using a device key.
  • the encrypted masked session key BMaSK and / or the masked session key MaSK is then formed using the one masking key KMK.
  • the cryptography acceleration device A receives the encrypted masked session key BMaSK and / or the masked session key MaSK, forms the session key SK using the encrypted masked session key BMaSK and / or the masked session key MaSK.
  • the crypto-engine HSCE is configured using the encrypted, masked session key BMaSK and / or the masked session key MaSK, so that the session key (here via a PCIe interface) can be used for encryption, decryption or to create a PRN code sequence.
  • the invention shows an improved variant for the protected loading of a key into a hardware crypto accelerator (e.g. crypto engine HSCE).
  • a hardware crypto accelerator e.g. crypto engine HSCE
  • the masked session key MaSK and / or the encrypted masked session key BMaSK, e.g. B. with a key formed as a function of a random parameter, session key from the cryptography control device CC (e.g. a crypto controller) to the cryptography acceleration device A (e.g. a HW crypto accelerator) via a cryptographically protected (e.g. encrypted and / or authenticate and / or integrity-protected) communication channel (e.g. the transmission channel CH).
  • a cryptographically protected (e.g. encrypted and / or authenticate and / or integrity-protected) communication channel e.g. the transmission channel CH.
  • the masked session key MaSK is, for example, a session key SK, which is dependent on a random number (e.g. B. the random value R) is coded (this is to be understood, for example, as a generalization of a pure masking, an encryption or a key wrap).
  • the session key SK is preferably not transmitted directly in plain text via the transmission channel CH, but in an encoded form (that is to say in a masked form).
  • the cryptographic engine HSCE uses the masked session key MaSK for a cryptographic operation (encryption, decryption, generation of a cryptographic PRN code sequence; PRN: pseudo random noise).
  • the cryptography control device CC determines the session key SK, for example using a long term key and a cryptographic key derivation function.
  • the random number R is z.
  • B Calculated using a (physical) random number generator. For example, depending on the random value R, a randomized, masked coding of the session key SK is formed as the masked session key MaSK.
  • the masked session key MaSK is transmitted to the crypto engine HSCE via a cryptographically protected transmission channel (e.g. transmission channel CH).
  • a randomization parameter (for example the random value R) is preferably newly formed and used for each transmission of a session key.
  • mSK2with SK: mSK1 XOR mSK2
  • MaSK: mSK1 * mSK2, (multiplication)
  • NLM non-linear map function
  • the cryptography acceleration device A can then determine the session key SK and / or the one masking key (KMK) from the received random value R by means of the non-linear map function (e.g. NLM (R, SMK)). For example, this can be done as follows: For example, the Crypto Engine can use the masked MaSK session key directly by using e.g. B. a unmasking function (z. B. the non-linear map function) is used, or the session key SK is determined directly from the masked session key MaSK by applying a corresponding unmasking function to the masked session key MaSK.
  • the non-linear map function e.g. NLM (R, SMK
  • the unmasking function can e.g. B. be implemented as follows: NLM (R, SMK)
  • the unmasking function can e.g. B. be implemented by an XOR link in order to determine an unmasked representation of the session key SK.
  • the session key is encrypted so that an encrypted session key is available as a masked MaSK session key. It is z. B. a random parameter is used to determine the encryption key to form the masked session key MaSK, which is calculated on the basis of the encrypted session key has been.
  • the session key SK is therefore a cryptographically encrypted form of the session key SK.
  • the encryption of the session key SK is preferably side-channel hardened. This is advantageous since double protection of the key transmission is achieved. This is done, for example, by using the transmission channel CH and additionally by using the transmission of the masked session key SK, which z. B. was calculated using the encrypted session key SK.
  • the formation of the masked session key MaSK which was calculated on the basis of the encrypted session key, can take place, for example, in two stages using an NLM function and cryptographic encryption (also referred to as an encryption function or as a cryptographic encryption function). This is beneficial because a side-channel hardened transmission of the session key SK can be implemented relatively easily, because z. B. not a generic crypto algorithm, such as AES, side-channel hardened has to be implemented.
  • the system can, for example, be installed in a device (e.g. a field device) or a device.
  • a device that includes the system can also include one or more other components, such as a further processor, a memory unit, further communication interfaces (e.g. Ethernet, WLAN, USB, fieldbus, PCI), an input device , in particular a computer keyboard or a computer mouse, and a display device (e.g. a monitor).
  • the processor can, for example, comprise several further processors, which can be used in particular to implement further exemplary embodiments.
  • the invention relates to a method for transmitting a side-channel hardened session key to a (hardware) crypto engine. This is particularly advantageous if the session key has a high need for protection, so that the protection is provided by transmission via a secure channel alone is not sufficient to achieve the required level of protection.
  • the Fig. 2 shows a further embodiment of the invention, which is shown as a flowchart for a method.
  • the method is preferably implemented with the aid of a computer, in that the method steps, for. B. be executed by a processor.
  • the method is, for example, a computer-implemented method for transmitting a masked session key.
  • the method comprises a first method step 210 for calculating a session key.
  • the method comprises a second method step 220 for calculating a random value by means of a random number generator.
  • the method comprises a third method step 230 for calculating a masking key by means of a key masking function on the basis of a secret key and the random value.
  • the method comprises a fourth method step 240 for determining a masked session key on the basis of the session key and the masking key.
  • the method comprises a fifth method step 250 for transmitting the masked session key to a recipient.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Die Erfindung betrifft ein Verfahren, um einen Sitzungsschlüssel Seitenkanal-gehärtet an eine (Hardware) Crypto-Engine zu übermitteln. Dies ist besonders vorteilhaft, wenn der Sitzungsschlüssel einen hohen Schutzbedarf aufweist, sodass der Schutz durch die Übertragung über einen Secure Channel alleine nicht ausreicht, um das erforderliche Schutzniveau zu erreichen.The invention relates to a method for transmitting a side-channel hardened session key to a (hardware) crypto engine. This is particularly advantageous if the session key has a high need for protection, so that the protection provided by transmission via a secure channel alone is not sufficient to achieve the required level of protection.

Description

Die Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren, um einen maskierten Sitzungsschlüssel bereitzustellen.The invention relates to an apparatus and a method for providing a masked session key.

Nachfolgend werden Aspekte der Erfindung erläutert.Aspects of the invention are explained below.

Kryptographiesteuerungsvorrichtung aufweisend:

  • ein Sitzungsschlüsselgenerierungsmodul, wobei das Sitzungsschlüsselgenerierungsmodul dazu eingerichtet ist, einen Sitzungsschlüssel zu berechnen;
  • einen Zufallsgenerator, wobei der Zufallsgenerator dazu eingerichtet ist, einen Zufallswert zu berechnen;
  • ein Maskierungsschlüsselberechnungsmodul, wobei
    • ∘ das Maskierungsschlüsselberechnungsmodul dazu eingerichtet ist, mittels einer Schlüsselmaskierungsfunktion anhand eines geheimen Schlüssels und des Zufallswertes einen Maskierungsschlüssel zu berechnen,
    • ∘ mittels des Maskierungsschlüssels ein maskierter Sitzungsschlüssel anhand des Sitzungsschlüssels berechnet wird;
  • eine Kommunikationsschnittstelle, wobei die Kommunikationsschnittstelle dazu eingerichtet ist, den maskierten Sitzungsschlüssel an einen Empfänger zu übertragen.
Cryptography control device comprising:
  • a session key generation module, wherein the session key generation module is configured to calculate a session key;
  • a random generator, wherein the random generator is configured to calculate a random value;
  • a masking key calculation module, wherein
    • ∘ the masking key calculation module is set up to calculate a masking key by means of a key masking function based on a secret key and the random value,
    • ∘ a masked session key is calculated using the session key by means of the masking key;
  • a communication interface, wherein the communication interface is set up to transmit the masked session key to a recipient.

Der Sitzungsschlüssel kann beispielsweise abhängig von einem Hauptschlüssel (z. B. ein gerätespezifischer Schlüssel) sein. Hierzu wird der Sitzungsschlüssel z. B. von dem Hauptschlüssel durch eine Schlüsselableitungsfunktion abgleitet.The session key can, for example, be dependent on a master key (e.g. a device-specific key). For this purpose, the session key is z. B. derived from the master key by a key derivation function.

Sofern es in der nachfolgenden Beschreibung nicht anders angegeben ist, beziehen sich die Begriffe "durchführen", "berechnen", "rechnergestützt", "rechnen", "feststellen", "generieren", "konfigurieren", "rekonstruieren" und dergleichen vorzugsweise auf Handlungen und/oder Prozesse und/oder Verarbeitungsschritte, die Daten verändern und/oder erzeugen und/oder die Daten in andere Daten überführen, wobei die Daten insbesondere als physikalische Größen dargestellt werden oder vorliegen können, beispielsweise als elektrische Impulse. Insbesondere sollte der Ausdruck "Computer" möglichst breit ausgelegt werden, um insbesondere alle elektronischen Geräte mit Datenverarbeitungseigenschaften abzudecken. Computer können somit beispielsweise Personal Computer, Server, speicherprogrammierbare Steuerungen (SPS), Handheld-Computer-Systeme, Pocket-PC-Geräte, Mobilfunkgeräte und andere Kommunikationsgeräte, die rechnergestützt Daten verarbeiten können, Prozessoren und andere elektronische Geräte zur Datenverarbeitung sein.Unless otherwise stated in the following description, the terms “perform”, “calculate”, “computer-aided”, “calculate”, “determine”, “generate”, “configure”, “reconstruct” and the like relate preferably to actions and / or processes and / or processing steps that change and / or generate data and / or convert the data into other data, the data being or being present in particular as physical quantities, for example as electrical impulses. In particular, the term "computer" should be interpreted as broadly as possible, in particular to cover all electronic devices with data processing properties. Computers can therefore be, for example, personal computers, servers, programmable logic controllers (PLC), handheld computer systems, pocket PC devices, mobile radio devices and other communication devices that can process data with the aid of computers, processors and other electronic devices for data processing.

Unter "rechnergestützt" kann im Zusammenhang mit der Erfindung beispielsweise eine Implementierung des Verfahrens verstanden werden, bei dem insbesondere ein Prozessor mindestens einen Verfahrensschritt des Verfahrens ausführt. Beispielsweise ist unter "rechnergestützt" auch "computerimplementiert" zu verstehen.In connection with the invention, “computer-aided” can be understood to mean, for example, an implementation of the method in which a processor in particular carries out at least one method step of the method. For example, “computer-aided” is also to be understood as “computer-implemented”.

Unter einem Prozessor kann im Zusammenhang mit der Erfindung beispielsweise eine Maschine oder eine elektronische Schaltung verstanden werden. Bei einem Prozessor kann es sich insbesondere um einen Hauptprozessor (engl. Central Processing Unit, CPU), einen Mikroprozessor oder einen Mikrokontroller, beispielsweise eine anwendungsspezifische integrierte Schaltung oder einen digitalen Signalprozessor, möglicherweise in Kombination mit einer Speichereinheit zum Speichern von Programmbefehlen, etc. handeln. Bei einem Prozessor kann es sich beispielsweise auch um einen IC (integrierter Schaltkreis, engl. Integrated Circuit), insbesondere einen FPGA (engl. Field Programmable Gate Array) oder einen ASIC (anwendungsspezifische integrierte Schaltung, engl. Application-Specific Integrated Circuit), oder einen DSP (Digitaler Signalprozessor, engl. Digital Signal Processor) oder einen Grafikprozessor GPU (Graphic Processing Unit) handeln. Auch kann unter einem Prozessor ein virtualisierter Prozessor, eine virtuelle Maschine oder eine Soft-CPU verstanden werden. Es kann sich beispielsweise auch um einen programmierbaren Prozessor handeln, der mit Konfigurationsschritten zur Ausführung des genannten erfindungsgemäßen Verfahrens ausgerüstet wird oder mit Konfigurationsschritten derart konfiguriert ist, dass der programmierbare Prozessor die erfindungsgemäßen Merkmale des Verfahrens, der Komponente, der Module, oder anderer Aspekte und/oder Teilaspekte der Erfindung realisiert.In connection with the invention, a processor can be understood to mean, for example, a machine or an electronic circuit. A processor can in particular be a central processing unit (CPU), a microprocessor or a microcontroller, for example an application-specific integrated circuit or a digital signal processor, possibly in combination with a memory unit for storing program commands, etc. . A processor can also be, for example, an IC (integrated circuit), in particular an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit), or a DSP (Digital Signal Processor) or a graphics processor GPU (Graphic Processing Unit) act. Also can a processor is understood to be a virtualized processor, a virtual machine or a soft CPU. It can also be a programmable processor, for example, which is equipped with configuration steps for executing the aforementioned method according to the invention or is configured with configuration steps in such a way that the programmable processor incorporates the inventive features of the method, the component, the modules, or other aspects and / or implemented partial aspects of the invention.

Unter einer "Speichereinheit" oder "Speichermodul" und dergleichen kann im Zusammenhang mit der Erfindung beispielsweise ein flüchtiger Speicher in Form von Arbeitsspeicher (engl. Random-Access Memory, RAM) oder ein dauerhafter Speicher wie eine Festplatte oder ein Datenträger verstanden werden.A “memory unit” or “memory module” and the like can be understood in connection with the invention, for example, as a volatile memory in the form of random access memory (RAM) or a permanent memory such as a hard disk or a data carrier.

Unter einem "Modul" kann im Zusammenhang mit der Erfindung beispielsweise ein Prozessor und/oder eine Speichereinheit zum Speichern von Programmbefehlen verstanden werden. Beispielsweise ist der Prozessor speziell dazu eingerichtet, die Programmbefehle derart auszuführen, damit der Prozessor Funktionen ausführt, um das erfindungsgemäße Verfahren oder einen Schritt des erfindungsgemäßen Verfahrens zu implementieren oder realisieren. Die jeweiligen Module können beispielsweise auch als separate bzw. eigenständige Module ausgebildet sein. Hierzu können die entsprechenden Module beispielsweise weitere Elemente umfassen. Diese Elemente sind beispielsweise eine oder mehrere Schnittstellen (z. B. Datenbankschnittstellen, Kommunikationsschnittstellen - z. B. Netzwerkschnittstelle, WLAN-Schnittstelle) und/oder eine Evaluierungseinheit (z. B. ein Prozessor) und/oder eine Speichereinheit. Mittels der Schnittstellen können beispielsweise Daten ausgetauscht (z. B. empfangen, übermittelt, gesendet oder bereitgestellt werden). Mittels der Evaluierungseinheit können Daten beispielsweise rechnergestützt und/oder automatisiert verglichen, überprüft, verarbeitet, zugeordnet oder berechnet werden. Mittels der Speichereinheit können Daten beispielsweise rechnergestützt und/oder automatisiert gespeichert, abgerufen oder bereitgestellt werden.In connection with the invention, a “module” can be understood to mean, for example, a processor and / or a memory unit for storing program commands. For example, the processor is specially set up to execute the program instructions in such a way that the processor executes functions in order to implement or realize the method according to the invention or a step of the method according to the invention. The respective modules can, for example, also be designed as separate or independent modules. For this purpose, the corresponding modules can for example comprise further elements. These elements are, for example, one or more interfaces (e.g. database interfaces, communication interfaces - e.g. network interface, WLAN interface) and / or an evaluation unit (e.g. a processor) and / or a storage unit. For example, data can be exchanged (e.g. received, transmitted, sent or provided) by means of the interfaces. By means of the evaluation unit, data can be compared, checked, processed, assigned or calculated, for example with the aid of a computer and / or in an automated manner. By means of the storage unit, data can for example be computerized and / or stored, retrieved or provided in an automated manner.

Unter "umfassen", "aufweisen" und dergleichen, insbesondere in Bezug auf Daten und/oder Informationen, kann im Zusammenhang mit der Erfindung beispielsweise ein (rechnergestütztes) Speichern einer entsprechenden Information bzw. eines entsprechenden Datums in einer Datenstruktur/Datensatz (die z. B. wiederum in einer Speichereinheit gespeichert ist) verstanden werden.Under "include", "have" and the like, in particular with regard to data and / or information, in connection with the invention, for example, a (computer-aided) storage of corresponding information or a corresponding date in a data structure / data record (e.g. B. is in turn stored in a memory unit) can be understood.

Unter einer "Prüfsumme" kann im Zusammenhang mit der Erfindung beispielsweise eine kryptographische Prüfsumme, eine digitale Signatur oder ein digitales Zertifikat verstanden werden.In connection with the invention, a “checksum” can be understood to mean, for example, a cryptographic checksum, a digital signature or a digital certificate.

Bei weiteren Ausführungsformen der Kryptographiesteuerungsvorrichtung ist die Schlüsselmaskierungsfunktion eine Non-Linear-Map-Funktion. Dabei kann es sich beispielsweise um eine beliebige nichtlineare Abbildung handeln.In further embodiments of the cryptography control device, the key masking function is a non-linear map function. This can be any non-linear mapping, for example.

Bei weiteren Ausführungsformen der Kryptographiesteuerungsvorrichtung ist der maskierte Sitzungsschlüssel ein verschlüsselter maskierter Sitzungsschlüssel, wobei der verschlüsselte maskierte Sitzungsschlüssel mittels einer Verschlüsselungsfunktion unter Verwendung des Sitzungsschlüssels und des Maskierungsschlüssels berechnet wird, wobei zusätzlich zum maskierten Sitzungsschlüssel, der ein verschlüsselter maskierter Sitzungsschlüssel ist, der Zufallswert an den Empfänger übertragen wird. Weiterhin ist es beispielsweise möglich, dass z. B. der Sitzungsschlüssel im Sinne der Erfindung ein mit einem weiteren geheimen Schlüssel verschlüsselter Sitzungsschlüssel ist. Der mit dem weiteren geheimen Schlüssel verschlüsselte Sitzungsschlüssel kann z. B. auch als "Black Session Key Blob" bezeichnet werden. Dieser schon kryptographisch verschlüsselte Sitzungsschlüssel wird z. B. nochmal maskiert unter Verwendung des Maskierungsschlüssels.In further embodiments of the cryptography control device, the masked session key is an encrypted masked session key, the encrypted masked session key being calculated by means of an encryption function using the session key and the masking key, wherein in addition to the masked session key, which is an encrypted masked session key, the random value to the recipient is transmitted. Furthermore, it is possible, for example, that, for. B. the session key within the meaning of the invention is a session key encrypted with a further secret key. The session key encrypted with the further secret key can, for. B. can also be referred to as "Black Session Key Blob". This already cryptographically encrypted session key is z. B. masked again using the masking key.

Bei weiteren Ausführungsformen der Kryptographiesteuerungsvorrichtung ist der geheime Schlüssel ein für eine seitenkanal-gehärtete Maskierung des Sitzungsschlüssels geeigneter Schlüssel.In further embodiments of the cryptography control device, the secret key is a key suitable for a side-channel hardened masking of the session key.

Bei weiteren Ausführungsformen der Kryptographiesteuerungsvorrichtung ist die Verschlüsselungsfunktion eine asymmetrische kryptographische Verschlüsselungsfunktion oder eine symmetrische kryptographische Verschlüsselungsfunktion oder eine hybride kryptographische Verschlüsselungsfunktion.In further embodiments of the cryptography control device, the encryption function is an asymmetric cryptographic encryption function or a symmetric cryptographic encryption function or a hybrid cryptographic encryption function.

Bei weiteren Ausführungsformen der Kryptographiesteuerungsvorrichtung ist der Empfänger eine Kryptographiebeschleunigungsvorrichtung.In further embodiments of the cryptography control device, the receiver is a cryptography acceleration device.

Bei weiteren Ausführungsformen der Kryptographiesteuerungsvorrichtung erfolgt die Übertragung des maskierten Sitzungsschlüssels über einen kryptographisch geschützten Übertragungskanal.In further embodiments of the cryptography control device, the masked session key is transmitted via a cryptographically protected transmission channel.

Bei weiteren Ausführungsformen der Kryptographiesteuerungsvorrichtung ist der geheime Schlüssel ein gerätespezifischer geheimer Schlüssel.In further embodiments of the cryptography control device, the secret key is a device-specific secret key.

Gemäß einem weiteren Aspekt betrifft die Erfindung ein System, beispielsweise ein Gerät, aufweisend:

  • eine erfindungsgemäße Kryptographiesteuerungsvorrichtung oder eine ihrer genannten Ausführungsformen;
  • einen Empfänger, der beispielsweise eine erfindungsgemäße Kryptographiebeschleunigungsvorrichtung ist;
  • einen Übertragungskanal, wobei der Übertragungskanal dazu eingerichtet ist, den Empfänger und die Kryptographiesteuerungsvorrichtung kommunikativ zu koppeln.
According to a further aspect, the invention relates to a system, for example a device, comprising:
  • a cryptography control device according to the invention or one of its cited embodiments;
  • a receiver which is, for example, a cryptography acceleration device according to the invention;
  • a transmission channel, wherein the transmission channel is set up to communicatively couple the receiver and the cryptography control device.

Bei weiteren Ausführungsformen des Systems ist die Kryptographiesteuerungsvorrichtung und/oder der Empfänger jeweils ein integrierter Halbleiterbaustein.In further embodiments of the system, the cryptography control device and / or the receiver is in each case an integrated semiconductor module.

Bei weiteren Ausführungsformen des Systems ist das System ein Hardware-Sicherheitsmodul oder ein Multi-Chip-Modul.In further embodiments of the system, the system is a hardware security module or a multi-chip module.

Gemäß einem weiteren Aspekt betrifft die Erfindung ein computerimplementiertes Verfahren zum Übertragen eines maskierten Sitzungsschlüssels mit folgenden Verfahrensschritten:

  • Berechnen eines Sitzungsschlüssels
  • Berechnen eines Zufallswertes mittels eines Zufallszahlengenerators;
  • Berechnen eines Maskierungsschlüssel mittels einer Schlüsselmaskierungsfunktion anhand eines geheimen Schlüssels und des Zufallswertes;
  • Ermitteln eines maskierten Sitzungsschlüssels anhand des Sitzungsschlüssels und des Maskierungsschlüssels;
  • Übertragen des maskierten Sitzungsschlüssels an einen Empfänger.
According to a further aspect, the invention relates to a computer-implemented method for transmitting a masked session key with the following method steps:
  • Calculate a session key
  • Calculating a random value by means of a random number generator;
  • Calculating a masking key by means of a key masking function on the basis of a secret key and the random value;
  • Determining a masked session key based on the session key and the masking key;
  • Transferring the masked session key to a recipient.

Bei weiteren Ausführungsformen des Verfahrens umfasst das Verfahren weitere Verfahrensschritte, um die funktionalen Merkmale der Kryptographiesteuerungsvorrichtung oder um weitere Merkmale der Ausführungsumgebung bzw. deren Ausführungsformen zu realisieren.In further embodiments of the method, the method comprises further method steps in order to implement the functional features of the cryptography control device or in order to implement further features of the execution environment or its embodiments.

Des Weiteren wird ein Computerprogrammprodukt mit Programmbefehlen zur Durchführung der genannten erfindungsgemäßen Verfahren beansprucht, wobei mittels des Computerprogrammprodukts jeweils eines der erfindungsgemäßen Verfahren, alle erfindungsgemäßen Verfahren oder eine Kombination der erfindungsgemäßen Verfahren durchführbar ist.Furthermore, a computer program product with program instructions for carrying out the mentioned methods according to the invention is claimed, whereby one of the methods according to the invention, all methods according to the invention or a combination of the methods according to the invention can be carried out by means of the computer program product.

Zusätzlich wird eine Variante des Computerprogrammproduktes mit Programmbefehlen zur Konfiguration eines Erstellungsgeräts, beispielsweise ein 3D-Drucker, ein Computersystem oder eine zur Erstellung von Prozessoren und/oder Geräten geeignete Herstellungsmaschine, beansprucht, wobei das Erstellungsgerät mit den Programmbefehlen derart konfiguriert wird, dass die genannte erfindungsgemäße Kryptographiesteuerungsvorrichtung oder das System erstellt wird.In addition, a variant of the computer program product with program commands for configuring a creation device, for example a 3D printer, a computer system or a production machine suitable for creating processors and / or devices, is claimed, the creation device being configured with the program commands in such a way that said inventive Cryptography control device or the system is created.

Darüber hinaus wird eine Bereitstellungsvorrichtung zum Speichern und/oder Bereitstellen des Computerprogrammprodukts beansprucht. Die Bereitstellungsvorrichtung ist beispielsweise ein Datenträger, der das Computerprogrammprodukt speichert und/oder bereitstellt. Alternativ und/oder zusätzlich ist die Bereitstellungsvorrichtung beispielsweise ein Netzwerkdienst, ein Computersystem, ein Serversystem, insbesondere ein verteiltes Computersystem, ein cloudbasiertes Rechnersystem und/oder virtuelles Rechnersystem, welches das Computerprogrammprodukt vorzugsweise in Form eines Datenstroms speichert und/oder bereitstellt.In addition, a provision device for storing and / or providing the computer program product is claimed. The provision device is, for example, a data carrier that stores and / or provides the computer program product. Alternatively and / or additionally, the provision device is, for example, a network service, a computer system, a server system, in particular a distributed computer system, a cloud-based computer system and / or virtual computer system, which the computer program product preferably stores and / or provides in the form of a data stream.

Diese Bereitstellung erfolgt beispielsweise als Download in Form eines Programmdatenblocks und/oder Befehlsdatenblocks, vorzugsweise als Datei, insbesondere als Downloaddatei, oder als Datenstrom, insbesondere als Downloaddatenstrom, des vollständigen Computerprogrammprodukts. Diese Bereitstellung kann beispielsweise aber auch als partieller Download erfolgen, der aus mehreren Teilen besteht und insbesondere über ein Peer-to-Peer Netzwerk heruntergeladen oder als Datenstrom bereitgestellt wird. Ein solches Computerprogrammprodukt wird beispielsweise unter Verwendung der Bereitstellungsvorrichtung in Form des Datenträgers in ein System eingelesen und führt die Programmbefehle aus, sodass das erfindungsgemäße Verfahren auf einem Computer zur Ausführung gebracht wird oder das Erstellungsgerät derart konfiguriert, dass es die Kryptographiesteuerungsvorrichtung oder das System erstellt.This provision takes place, for example, as a download in the form of a program data block and / or command data block, preferably as a file, in particular as a download file, or as a data stream, in particular as a download data stream, of the complete computer program product. This provision can, for example, also take place as a partial download, which consists of several parts and, in particular, is downloaded via a peer-to-peer network or made available as a data stream. Such a computer program product is read into a system using the supply device in the form of the data carrier, for example, and executes the program commands so that the method according to the invention is executed on a computer or the creation device is configured in such a way that it creates the cryptography control device or the system.

Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusammenhang mit der folgenden Beschreibung der Ausführungsbeispiele, die im Zusammenhang mit den Figuren näher erläutert werden. Dabei zeigen in schematischer Darstellung:

Fig. 1
ein erstes Ausführungsbeispiel der Erfindung;
Fig. 2
ein weiteres Ausführungsbeispiel der Erfindung;
The properties, features and advantages of this invention described above and the manner in which they are achieved will become clearer and more clearly understandable in connection with the following description of the exemplary embodiments, which are explained in more detail in connection with the figures. They show in a schematic representation:
Fig. 1
a first embodiment of the invention;
Fig. 2
another embodiment of the invention;

In den Figuren sind funktionsgleiche Elemente mit denselben Bezugszeichen versehen, sofern nichts anderes angegeben ist.In the figures, functionally identical elements are provided with the same reference symbols, unless otherwise indicated.

Die nachfolgenden Ausführungsbeispiele weisen, sofern nicht anders angegeben oder bereits angegeben, zumindest einen Prozessor und/oder eine Speichereinheit auf, um das Verfahren zu implementieren oder auszuführen.Unless otherwise stated or already stated, the following exemplary embodiments have at least one processor and / or a memory unit in order to implement or execute the method.

Auch sind insbesondere einem (einschlägigen) Fachmann in Kenntnis des/der Verfahrensanspruchs/Verfahrensansprüche alle im Stand der Technik üblichen Möglichkeiten zur Realisierung von Produkten oder Möglichkeiten zur Implementierung selbstverständlich bekannt, sodass es insbesondere einer eigenständigen Offenbarung in der Beschreibung nicht bedarf. Insbesondere können diese gebräuchlichen und dem Fachmann bekannten Realisierungsvarianten ausschließlich per Hardware(komponenten) oder ausschließlich per Software(komponenten) realisiert werden. Alternativ und/oder zusätzlich kann der Fachmann im Rahmen seines fachmännischen Könnens weitestgehend beliebige erfindungsgemäße Kombinationen aus Hardware(komponenten) und Software(komponenten) wählen, um erfindungsgemäße Realisierungsvarianten umzusetzen.In particular, a (relevant) person skilled in the art, with knowledge of the method claim (s), is of course familiar with all of the possibilities for realizing products or possibilities for implementation that are customary in the prior art, so that in particular there is no need for an independent disclosure in the description. In particular, these customary implementation variants known to those skilled in the art can be implemented exclusively by hardware (components) or exclusively by software (components). Alternatively and / or in addition, the person skilled in the art can, within the scope of his professional ability, choose largely any desired combinations according to the invention of hardware (components) and software (components) in order to implement implementation variants according to the invention.

Eine erfindungsgemäße Kombination aus Hardware(komponenten) und Software(komponenten) kann insbesondere dann eintreten, wenn ein Teil der erfindungsgemäßen Wirkungen vorzugsweise ausschließlich durch Spezialhardware (z. B. einem Prozessor in Form eines ASIC oder FPGA) und/oder ein anderer Teil durch die (prozessor- und/oder speichergestützte) Software bewirkt wird.A combination according to the invention of hardware (components) and software (components) can occur in particular if some of the effects according to the invention are preferably exclusively by special hardware (e.g. a processor in the form of an ASIC or FPGA) and / or another part by the (processor- and / or memory-based) software is effected.

Insbesondere ist es angesichts der hohen Anzahl an unterschiedlichen Realisierungsmöglichkeiten unmöglich und auch für das Verständnis der Erfindung nicht zielführend oder notwendig, all diese Realisierungsmöglichkeiten zu benennen. Insofern sollen insbesondere all die nachfolgenden Ausführungsbeispiele lediglich beispielhaft einige Wege aufzeigen, wie insbesondere solche Realisierungen der erfindungsgemäßen Lehre aussehen könnten.In particular, given the large number of different implementation options, it is impossible and also not expedient or necessary for understanding the invention to name all of these implementation options. In this respect, all of the following exemplary embodiments are intended in particular show only by way of example a few ways how such implementations of the teaching according to the invention could look in particular.

Folglich sind insbesondere die Merkmale der einzelnen Ausführungsbeispiele nicht auf das jeweilige Ausführungsbeispiel beschränkt, sondern beziehen sich insbesondere auf die Erfindung im Allgemeinen. Entsprechend können vorzugsweise Merkmale eines Ausführungsbeispiels auch als Merkmale für ein anderes Ausführungsbeispiel dienen, insbesondere ohne, dass dies explizit in dem jeweiligen Ausführungsbeispiel genannt sein muss.Consequently, in particular the features of the individual exemplary embodiments are not restricted to the respective exemplary embodiment, but relate in particular to the invention in general. Accordingly, features of one exemplary embodiment can preferably also serve as features for another exemplary embodiment, in particular without this having to be mentioned explicitly in the respective exemplary embodiment.

Fig. 1 zeigt ein Ausführungsbeispiel der Erfindung. Fig. 1 shows an embodiment of the invention.

Im Einzelnen zeigt die Fig. 1 ein System, das eine Kryptographiesteuerungsvorrichtung CC und/oder eine Kryptographiebeschleunigungsvorrichtung A (z. B. ein Empfänger) umfasst.In detail, the Fig. 1 a system comprising a cryptography control device CC and / or a cryptography accelerator device A (e.g. a receiver).

Die Kryptographiesteuerungsvorrichtung CC kann beispielsweise ein Sicherheitsprozessor (z. B. ein Crypto-Controller) oder ein Sicherheitselement (engl. Secure Element) oder ein Hardware-Sicherheitsmodul sein. Die Kryptographiebeschleunigungsvorrichtung A kann beispielsweise ein Prozessor wie z. B. ein ASIC oder ein FPGA oder ein Netzwerkprozessor sein. Die Kryptographiesteuerungsvorrichtung CC und die Kryptographiebeschleunigungsvorrichtung A können z. B. als integrierte Halbleiterbausteine des Systems realisiert sein, wobei das System z. B. ein Gerät ist. Das System oder das Gerät können dabei ein Feldgerät, eine Fertigungsmaschine, ein Steuergerät (z. B. in einem Fahrzeug) oder ein Gerät eines cyberphysikalischen Systems (z. B. eines Fertigungssystems), ein Satellitennavigationsempfänger oder ein Internet-der-Dinge-Gerät sein. Die beiden Halbleiterbausteine bzw. Vorrichtungen können z. B. in einem Hardware-Sicherheitsmodul oder einem Multi-Chip-Modul integriert sein.The cryptography control device CC can be, for example, a security processor (for example a crypto controller) or a security element or a hardware security module. The cryptography accelerator device A may, for example, be a processor such as e.g. B. be an ASIC or an FPGA or a network processor. The cryptography control device CC and the cryptography accelerating device A can e.g. B. be implemented as integrated semiconductor components of the system, the system z. B. is a device. The system or the device can be a field device, a manufacturing machine, a control device (e.g. in a vehicle) or a device of a cyber-physical system (e.g. a manufacturing system), a satellite navigation receiver or an Internet of Things device be. The two semiconductor components or devices can, for. B. be integrated in a hardware security module or a multi-chip module.

Die Kryptographiesteuerungsvorrichtung CC und die Kryptographiebeschleunigungsvorrichtung A sind über einen kryptographisch geschützten Übertragungskanal CH miteinander verbunden. Der Übertragungskanal kann z. B. mittels I2C, SPI, RS232 oder USB realisiert werden. Entsprechend umfassen die Kryptographiesteuerungsvorrichtung CC und die Kryptographiebeschleunigungsvorrichtung A jeweils entsprechende Kommunikationsschnittstellen (z. B. I2C, SPI, RS232 und/oder USB).The cryptography control device CC and the cryptography acceleration device A are connected to one another via a cryptographically protected transmission channel CH. The transmission channel can e.g. B. can be implemented using I2C, SPI, RS232 or USB. Correspondingly, the cryptography control device CC and the cryptography acceleration device A each comprise corresponding communication interfaces (for example I2C, SPI, RS232 and / or USB).

Die Kryptographiesteuerungsvorrichtung CC kann zudem beispielsweise ein Sitzungsschlüsselgenerierungsmodul SG, einen Zufallsgenerator TRNG, ein Maskierungsschlüsselberechnungsmodul SM1 und die Kommunikationsschnittstelle SC1 umfassen, die über einen internen Bus oder ein Bussystem der Kryptographiesteuerungsvorrichtung CC kommunikativ verbunden sind. Der Zufallsgenerator TRNG kann dabei beispielsweise als eigenständiges Modul der Kryptographiesteuerungsvorrichtung CC ausgebildet sein. Alternativ kann das Sitzungsschlüsselgenerierungsmodul SG den Zufallsgenerator TRNG umfassen oder das Maskierungsschlüsselberechnungsmodul SM1 kann den Zufallsgenerator TRNG umfassen.The cryptography control device CC can also include, for example, a session key generation module SG, a random number generator TRNG, a masking key calculation module SM1 and the communication interface SC1, which are communicatively connected via an internal bus or a bus system of the cryptography control device CC. The random number generator TRNG can be designed, for example, as an independent module of the cryptography control device CC. Alternatively, the session key generation module SG can comprise the random number generator TRNG or the masking key calculation module SM1 can comprise the random number generator TRNG.

Das Sitzungsschlüsselgenerierungsmodul SG ist dazu eingerichtet, einen Sitzungsschlüssel SK zu berechnen. Der Zufallsgenerator TRNG ist dazu eingerichtet, einen Zufallswert R zu berechnen. Das Maskierungsschlüsselberechnungsmodul SM1 ist dazu eingerichtet, mittels einer Schlüsselmaskierungsfunktion anhand eines geheimen Schlüssels SMK und des Zufallswertes R einen Maskierungsschlüssel KMK zu berechnen. Der geheime Schlüssel SMK kann beispielsweise von dem Sitzungsschlüsselgenerierungsmodul SG verwaltet werden. Beispielsweise ist der Schlüssel SMK dann in diesem Modul gespeichert. Alternativ kann der geheime Schlüssel SMK beispielsweise von dem Maskierungsschlüsselberechnungsmodul SM1 verwaltet werden. Beispielsweise ist der Schlüssel SMK dann in diesem Modul gespeichert.The session key generation module SG is set up to calculate a session key SK. The random generator TRNG is set up to calculate a random value R. The masking key calculation module SM1 is set up to calculate a masking key KMK by means of a key masking function on the basis of a secret key SMK and the random value R. The secret key SMK can for example be managed by the session key generation module SG. For example, the key SMK is then stored in this module. Alternatively, the secret key SMK can be managed by the masking key calculation module SM1, for example. For example, the key SMK is then stored in this module.

Mittels des Maskierungsschlüssels KMK wird ein maskierter Sitzungsschlüssel MaSK anhand des Sitzungsschlüssels SK durch das Maskierungsschlüsselberechnungsmodul SM1 berechnet.Using the masking key KMK, a masked session key MaSK is calculated by the masking key calculation module SM1 using the session key SK.

Die Kommunikationsschnittstelle SC1 ist dazu eingerichtet, den maskierten Sitzungsschlüssel MaSK an einen Empfänger (z. B. der Kryptographiebeschleunigungsvorrichtung A) zu übertragen.The communication interface SC1 is set up to transmit the masked session key MaSK to a receiver (for example the cryptography acceleration device A).

Die Schlüsselmaskierungsfunktion kann eine Non-Linear-Map-Funktion (NLM) sein.The key masking function can be a non-linear map (NLM) function.

In einer Variante des Ausführungsbeispiels ist der maskierte Sitzungsschlüssel MaSK ein verschlüsselter maskierter Sitzungsschlüssel BMaSK. Der verschlüsselte maskierte Sitzungsschlüssel BMaSK wird mittels einer Verschlüsselungsfunktion (z. B. einer Verschlüsselungsfunktion nach dem ElGamal-Verschlüsselungsverfahren) unter Verwendung des Sitzungsschlüssels SK und des Maskierungsschlüssels KMK berechnet. Die Kommunikationsschnittstelle SC1 überträgt dann zusätzlich zum maskierten Sitzungsschlüssel MaSK, der der verschlüsselte maskierte Sitzungsschlüssel BMaSK ist, den Zufallswert R an den Empfänger.In one variant of the exemplary embodiment, the masked session key MaSK is an encrypted masked session key BMaSK. The encrypted masked session key BMaSK is calculated by means of an encryption function (for example an encryption function according to the ElGamal encryption method) using the session key SK and the masking key KMK. The communication interface SC1 then transmits, in addition to the masked session key MaSK, which is the encrypted masked session key BMaSK, the random value R to the recipient.

In einer weiteren Variante ist der verschlüsselte maskierte Sitzungsschlüssel BMaSK zusätzlich "geschwärzt". Geschwärzt bedeutet, dass der verschlüsselte maskierte Sitzungsschlüssel BMaSK zusätzlich ein weiteres Mal verschlüsselt ist. Beispielsweise kann hierfür ein anderes Verschlüsselungsverfahren gewählt werden (z. B. ein symmetrisches Verschlüsselungsverfahren) und/oder es kann z. B. ein weiterer Verschlüsselungsschlüssel verwendet werden. Beispielsweise wird der Sitzungsschlüssel SK mittels des Maskierungsschlüssels KMK maskiert und zusätzlich mittels des weiteren Verschlüsselungsschlüssel verschlüsselt um den verschlüsselten maskierten Sitzungsschlüssel BMaSK und/oder den geschwärzten verschlüsselten maskierten Sitzungsschlüssel zu berechnen.In a further variant, the encrypted, masked session key BMaSK is additionally "blackened out". Blacked out means that the encrypted masked session key BMaSK is also encrypted a second time. For example, another encryption method can be selected for this (e.g. a symmetrical encryption method) and / or it can e.g. B. another encryption key can be used. For example, the session key SK is masked by means of the masking key KMK and additionally encrypted by means of the further encryption key in order to calculate the encrypted masked session key BMaSK and / or the blackened encrypted masked session key.

Beispielsweise kann der verschlüsselte maskierte Sitzungsschlüssel BMaSK mit einer asymmetrischen Verschlüsselungsfunktion (z. B. ElGamal) berechnet werden. Der geschwärzte verschlüsselte maskierte Sitzungsschlüssel wird dann z. B. anhand des weiteren Verschlüsselungsschlüssel mittels eines symmetrischen Verschlüsselungsverfahrens (z. B. AES) gebildet.For example, the encrypted masked session key BMaSK can be calculated with an asymmetric encryption function (e.g. ElGamal). The blackened, encrypted, masked session key is then used e.g. B. formed on the basis of the further encryption key by means of a symmetrical encryption method (z. B. AES).

Weiter kann die Kryptographiebeschleunigungsvorrichtung A eine Crypto-Engine HSCE umfassen, die hier über eine PCIe-Schnittstelle PCIe genutzt werden kann (z. B. zur Verschlüsselung/Entschlüsselung von IP-Kommunikation bei einem VPN oder zum Auslesen einer PRN-Code-Folge für eine Spreizbandmodulation). Bei der Crypto-Engine HSCE handelt es sich vorzugsweise um eine Hardware-basierte Crypto-Engine (z. B. als Teil eines ASIC oder FPGA realisiert), die z. B. hoch performant ist.Furthermore, the cryptography acceleration device A can include a crypto engine HSCE, which can be used here via a PCIe interface PCIe (e.g. for encryption / decryption of IP communication in a VPN or for reading out a PRN code sequence for a Spread spectrum modulation). The crypto engine HSCE is preferably a hardware-based crypto engine (e.g. implemented as part of an ASIC or FPGA), which z. B. is high performance.

Die Crypto-Engine HSCE wird vom der Kryptographiesteuerungsvorrichtung CC konfiguriert, insbesondere kann dabei ein Nutzerschlüssel von der Kryptographiesteuerungsvorrichtung CC an die Kryptographiebeschleunigungsvorrichtung A (z. B. ein ASIC) über den Übertragungskanal CH übertragen werden. Bei dem Übertragungskanal CH kann es sich z. B. um einen Secure Channel handeln, der als kryptographisch geschützte SPI-Schnittstelle realisiert ist. Der Übertragungskanal CH ist z. B. durch einen Secure-Channel-Sitzungsschlüssel SCSK mittels eines entsprechenden Sicherungsverfahrens SCFP kryptographisch geschützt, wobei der Secure-Channel-Sitzungsschlüssel SCSK durch eine Authentisierung- und Schlüsselvereinbarung AKA (engl. authentication and key agreement) unter Nutzung eines Secure-Channel-Longterm-Keys SCLTK eingerichtet wird. Der Secure-Channel-Longterm-Keys SCLTK kann z. B. in einem batteriegepufferten Speicher oder in eFuses gespeichert sein. Alternativ kann er durch eine Digitalschaltung wiederholbar gebildet werden.The crypto engine HSCE is configured by the cryptography control device CC, in particular a user key can be transmitted from the cryptography control device CC to the cryptography acceleration device A (e.g. an ASIC) via the transmission channel CH. The transmission channel CH can be, for. B. be a secure channel that is implemented as a cryptographically protected SPI interface. The transmission channel CH is z. B. cryptographically protected by a secure channel session key SCSK using a corresponding security method SCFP, the secure channel session key SCSK by an authentication and key agreement AKA using a secure channel long term Keys SCLTK is set up. The Secure Channel Longterm Keys SCLTK can e.g. B. be stored in a battery-backed memory or in eFuses. Alternatively, it can be made repeatable by a digital circuit.

Über den auf diese Weise gesicherten Übertragungskanal CH kann zwischen der Kryptographiesteuerungsvorrichtung CC und der Kryptographiebeschleunigungsvorrichtung A wird der verschlüsselte maskierte Sitzungsschlüssel BMaSK und/oder der maskierter Sitzungsschlüssel MaSK übertragen werden.
Dabei kann die Kryptographiesteuerungsvorrichtung CC den Sitzungsschlüssel SK z. B. unter einer Nutzung eines Geräteschlüssels bilden. Beispielsweise wird dann der verschlüsselte maskierte Sitzungsschlüssel BMaSK und/oder der maskierte Sitzungsschlüssel MaSK unter Nutzung des einen Maskierungsschlüssel KMK gebildet. Die Kryptographiebeschleunigungsvorrichtung A empfängt den verschlüsselten maskierten Sitzungsschlüssel BMaSK und/oder den maskierten Sitzungsschlüssel MaSK, bildet den Sitzungsschlüssel SK anhand des verschlüsselten maskierten Sitzungsschlüssels BMaSK und/oder des maskierten Sitzungsschlüssels MaSK. Die Crypto-Engine HSCE wird anhand des verschlüsselten maskierten Sitzungsschlüssels BMaSK und/oder des maskierten Sitzungsschlüssels MaSK konfiguriert, sodass der Sitzungsschlüssel (hier über eine PCIe-Schnittstelle) zur Verschlüsselung, Entschlüsselung oder zur Bildung einer PRN-Codefolge verwendet werden kann.
The encrypted, masked session key BMaSK and / or the masked session key MaSK can be transmitted between the cryptography control device CC and the cryptography acceleration device A via the transmission channel CH secured in this way.
The cryptography control device CC can use the session key SK z. B. form using a device key. For example, the encrypted masked session key BMaSK and / or the masked session key MaSK is then formed using the one masking key KMK. The cryptography acceleration device A receives the encrypted masked session key BMaSK and / or the masked session key MaSK, forms the session key SK using the encrypted masked session key BMaSK and / or the masked session key MaSK. The crypto-engine HSCE is configured using the encrypted, masked session key BMaSK and / or the masked session key MaSK, so that the session key (here via a PCIe interface) can be used for encryption, decryption or to create a PRN code sequence.

Die Erfindung zeigt eine verbesserte Variante zum geschützten Laden eines Schlüssels in einen Hardware-Crypto-Beschleuniger (z. B. Crypto-Engine HSCE). Hierzu wird abhängig von einem Zufallsparameter (z. B. dem Zufallswert R) der maskierte Sitzungsschlüssel MaSK und/oder der verschlüsselte maskierte Sitzungsschlüssel BMaSK, z. B. mit einem abhängig von einem Zufallsparameter gebildeten Schlüssel, Sitzungsschlüssel von der Kryptographiesteuerungsvorrichtung CC (z. B. ein Crypto-Controller) an die Kryptographiebeschleunigungsvorrichtung A (z. B. ein HW-Crypto-Beschleuniger) über einen kryptographisch geschützten (z. B. verschlüsselten und/oder authentisieren und/oder integritätsgeschützten) Kommunikationskanal (z. B. der Übertragungskanal CH) übertragen.The invention shows an improved variant for the protected loading of a key into a hardware crypto accelerator (e.g. crypto engine HSCE). For this purpose, the masked session key MaSK and / or the encrypted masked session key BMaSK, e.g. B. with a key formed as a function of a random parameter, session key from the cryptography control device CC (e.g. a crypto controller) to the cryptography acceleration device A (e.g. a HW crypto accelerator) via a cryptographically protected (e.g. encrypted and / or authenticate and / or integrity-protected) communication channel (e.g. the transmission channel CH).

Der maskierte Sitzungsschlüssel MaSK ist beispielsweise ein Sitzungsschlüssel SK, der abhängig von einer Zufallszahl (z. B. dem Zufallswert R) codiert ist (dies ist z. B. als Verallgemeinerung einer reinen Maskierung, einer Verschlüsselung oder eines Key Wrap zu verstehen). Der Sitzungsschlüssel SK wird vorzugsweise nicht direkt im Klartext über den Übertragungskanal CH übertragen, sondern in einer codierten Form (also maskierten Form). Die Crypto-Engine HSCE verwendet den maskierten Sitzungsschlüssel MaSK für eine kryptographische Operation (Verschlüsselung, Entschlüsselung, Erzeugen einer kryptographischen PRN-Codefolge; PRN: pseudo random noise). Die Kryptographiesteuerungsvorrichtung CC ermittelt dazu den Sitzungsschlüssel SK beispielsweise unter Nutzung eines LongTerm-Keys und einer kryptographischen Schlüsselableitungsfunktion. Der Zufallszahl R wird z. B. Nutzung eines (physikalischen) Zufallszahlengenerators berechnet. Beispielsweise wird in Abhängigkeit vom Zufallswert R eine randomisierte maskierte Codierung von Sitzungsschlüssels SK als maskierter Sitzungsschlüssel MaSK gebildet.The masked session key MaSK is, for example, a session key SK, which is dependent on a random number (e.g. B. the random value R) is coded (this is to be understood, for example, as a generalization of a pure masking, an encryption or a key wrap). The session key SK is preferably not transmitted directly in plain text via the transmission channel CH, but in an encoded form (that is to say in a masked form). The cryptographic engine HSCE uses the masked session key MaSK for a cryptographic operation (encryption, decryption, generation of a cryptographic PRN code sequence; PRN: pseudo random noise). To this end, the cryptography control device CC determines the session key SK, for example using a long term key and a cryptographic key derivation function. The random number R is z. B. Calculated using a (physical) random number generator. For example, depending on the random value R, a randomized, masked coding of the session key SK is formed as the masked session key MaSK.

Der maskierte Sitzungsschlüssel MaSK wird an die Crypto-Engine HSCE über einen kryptographisch geschützten Übertragungskanal (z. B. Übertragungskanal CH) übertragen. Dabei wird vorzugsweise für jede Übertragung eines Sitzungsschlüssels ein Randomisierungsparameter (z. B. der Zufallswert R) neu gebildet und verwendet.The masked session key MaSK is transmitted to the crypto engine HSCE via a cryptographically protected transmission channel (e.g. transmission channel CH). A randomization parameter (for example the random value R) is preferably newly formed and used for each transmission of a session key.

Die Maskierungsfunktion zum Berechnen des maskierten Sitzungsschlüssels MaSK kann dabei durch eine additive Maskierung erfolgen, die auch als boolesche Maskierung bezeichnet wird:
MaSK:= mSK1 | | mSK2mit SK:= mSK1 XOR mSK2
The masking function for calculating the masked session key MaSK can be done by an additive masking, which is also referred to as Boolean masking:
MaSK: = mSK1 | | mSK2with SK: = mSK1 XOR mSK2

Alternativ kann sie auch als multiplikative Maskierung oder eine affine Maskierung realisiert sein.
MaSK:= mSK1 * mSK2, (Multiplikation)
Alternatively, it can also be implemented as a multiplicative masking or an affine masking.
MaSK: = mSK1 * mSK2, (multiplication)

Weiterhin kann eine Non-Linear-Map-Funktion NLM zum Bestimmen des maskierten Sitzungsschlüssels verwendet werden:
SK: MaSK:= R | | (NLM(R, SMK) XOR SK),
wobei SMK ein geheimer Schlüssel SMK zum Maskieren ist. Dieser geheime Schlüssel, wird für die seitenkanal-gehärtete Maskierung des Sitzungsschlüssels verwendet wird.
Furthermore, a non-linear map function NLM can be used to determine the masked session key:
SK: MaSK: = R | | (NLM (R, SMK) XOR SK),
where SMK is a secret key SMK for masking. This secret key is used for the side-channel-hardened masking of the session key.

Die Kryptographiebeschleunigungsvorrichtung A kann dann aus dem empfangenen Zufallswert R den Sitzungsschlüssel SK und/oder den einen Maskierungsschlüssel (KMK) mittels der Non-Linear-Map-Funktion (z. B. NLM(R, SMK)) ermitteln. Beispielsweise kann dies wie folgt durchgeführt werden:
Beispielsweise kann die Crypto Engine den maskierten Sitzungsschlüssel MaSK direkt verwenden, indem von der Crypto Engine z. B. eine Demaskierungsfunktion (z. B. die Non-Linear-Map-Funktion) verwendet wird, oder der Sitzungsschlüssel SK wird direkt anhand des maskierten Sitzungsschlüssel MaSK ermittelt, indem eine entsprechende Demaskierungsfunktion auf den maskierten Sitzungsschlüssel MaSK angewendet wird.
The cryptography acceleration device A can then determine the session key SK and / or the one masking key (KMK) from the received random value R by means of the non-linear map function (e.g. NLM (R, SMK)). For example, this can be done as follows:
For example, the Crypto Engine can use the masked MaSK session key directly by using e.g. B. a unmasking function (z. B. the non-linear map function) is used, or the session key SK is determined directly from the masked session key MaSK by applying a corresponding unmasking function to the masked session key MaSK.

Die Demaskierungsfunktion kann z. B. wie folgt realisiert sein:
NLM(R, SMK) | | | | (NLM(R, SMK) XOR SK)
The unmasking function can e.g. B. be implemented as follows:
NLM (R, SMK) | | | | (NLM (R, SMK) XOR SK)

Die Demaskierungsfunktion kann z. B. durch eine XOR-Verknüpfung realisiert sein, um eine unmaskierte Darstellung des Sitzungsschlüssels SK zu ermitteln.The unmasking function can e.g. B. be implemented by an XOR link in order to determine an unmasked representation of the session key SK.

In weiteren Varianten erfolgt eine Verschlüsselung des Sitzungsschlüssels, sodass ein verschlüsselter Sitzungsschlüssel als maskierter Sitzungsschlüssel MaSK vorliegt. Dabei wird z. B. ein zufälliger Parameter verwendet, um den Verschlüsselungsschlüssel zum Bilden des maskierten Sitzungsschlüssel MaSK, der anhand des verschlüsselter Sitzungsschlüssels berechnet wurde. Somit ist in dieser Variante der Sitzungsschlüssel SK eine kryptographisch verschlüsselte Form des Sitzungsschlüssels SK. Vorzugsweise ist die Verschlüsselung des Sitzungsschlüssels SK Seitenkanal-gehärtet. Dies ist vorteilhaft, da ein doppelter Schutz der Schlüsselübertragung erreicht wird. Dies wird beispielsweise durch die Verwendung des Übertragungskanals CH und zusätzlich durch Verwendung der Übertragung des maskierter Sitzungsschlüssels SK, der z. B. anhand des verschlüsselten Sitzungsschlüssels SK berechnet wurde. Das Bilden des maskierte Sitzungsschlüssel MaSK, der anhand des verschlüsselten Sitzungsschlüssels berechnet wurde, kann beispielsweise zweistufig unter Nutzung einer NLM-Funktion und einer kryptographischen Verschlüsselung (auch als Verschlüsselungsfunktion oder als kryptographische Verschlüsselungsfunktion bezeichnet) erfolgen. Dies ist vorheilhaft, da eine Seitenkanal-gehärtete Übertragung des Sitzungsschlüssels SK relativ leicht implementierbar ist, weil z. B. nicht ein generischer Kryptoalgorithmus, wie z.B. AES, Seitenkanal-gehärtet implementiert werden muss.In further variants, the session key is encrypted so that an encrypted session key is available as a masked MaSK session key. It is z. B. a random parameter is used to determine the encryption key to form the masked session key MaSK, which is calculated on the basis of the encrypted session key has been. In this variant, the session key SK is therefore a cryptographically encrypted form of the session key SK. The encryption of the session key SK is preferably side-channel hardened. This is advantageous since double protection of the key transmission is achieved. This is done, for example, by using the transmission channel CH and additionally by using the transmission of the masked session key SK, which z. B. was calculated using the encrypted session key SK. The formation of the masked session key MaSK, which was calculated on the basis of the encrypted session key, can take place, for example, in two stages using an NLM function and cryptographic encryption (also referred to as an encryption function or as a cryptographic encryption function). This is beneficial because a side-channel hardened transmission of the session key SK can be implemented relatively easily, because z. B. not a generic crypto algorithm, such as AES, side-channel hardened has to be implemented.

Das System kann beispielsweise in einem Gerät (z. B. ein Feldgerät) installiert sein oder ein Gerät sein. Ein Gerät, das das System umfasst, kann zusätzlich noch eine weitere oder mehrere weitere Komponente/n umfassen, wie beispielsweise einen weiteren Prozessor, eine Speichereinheit, weitere Kommunikationsschnittstellen (z. B. Ethernet, WLAN, USB, Feldbus, PCI), ein Eingabegerät, insbesondere eine Computertastatur oder eine Computermaus, und ein Anzeigegerät (z. B. einen Monitor). Der Prozessor kann beispielsweise mehrere weitere Prozessoren umfassen, die insbesondere zur Realisierung von weiteren Ausführungsbeispielen verwendet werden können.The system can, for example, be installed in a device (e.g. a field device) or a device. A device that includes the system can also include one or more other components, such as a further processor, a memory unit, further communication interfaces (e.g. Ethernet, WLAN, USB, fieldbus, PCI), an input device , in particular a computer keyboard or a computer mouse, and a display device (e.g. a monitor). The processor can, for example, comprise several further processors, which can be used in particular to implement further exemplary embodiments.

Die Erfindung betrifft ein Verfahren, um einen Sitzungsschlüssel Seitenkanal-gehärtet an eine (Hardware) Crypto-Engine zu übermitteln. Dies ist besonders vorteilhaft, wenn der Sitzungsschlüssel einen hohen Schutzbedarf aufweist, sodass der Schutz durch die Übertragung über einen Secure Channel alleine nicht ausreicht, um das erforderliche Schutzniveau zu erreichen.The invention relates to a method for transmitting a side-channel hardened session key to a (hardware) crypto engine. This is particularly advantageous if the session key has a high need for protection, so that the protection is provided by transmission via a secure channel alone is not sufficient to achieve the required level of protection.

Die Fig. 2 zeigt ein weiteres Ausführungsbeispiel der Erfindung, das als Ablaufdiagramm für ein Verfahren dargestellt ist.The Fig. 2 shows a further embodiment of the invention, which is shown as a flowchart for a method.

Das Verfahren ist vorzugsweise rechnergestützt realisiert, indem die Verfahrensschritte z. B. durch einen Prozessor ausgeführt werden.The method is preferably implemented with the aid of a computer, in that the method steps, for. B. be executed by a processor.

Bei dem Verfahren handelt es sich beispielsweise um ein computerimplementiertes Verfahren zum Übertragen eines maskierten Sitzungsschlüssels.The method is, for example, a computer-implemented method for transmitting a masked session key.

Das Verfahren umfasst einen ersten Verfahrensschritt 210 zum Berechnen eines Sitzungsschlüssels.The method comprises a first method step 210 for calculating a session key.

Das Verfahren umfasst einen zweiten Verfahrensschritt 220 zum Berechnen eines Zufallswertes mittels eines Zufallszahlengenerators.The method comprises a second method step 220 for calculating a random value by means of a random number generator.

Das Verfahren umfasst einen dritten Verfahrensschritt 230 zum Berechnen eines Maskierungsschlüssel mittels einer Schlüsselmaskierungsfunktion anhand eines geheimen Schlüssels und des Zufallswertes.The method comprises a third method step 230 for calculating a masking key by means of a key masking function on the basis of a secret key and the random value.

Das Verfahren umfasst einen vierten Verfahrensschritt 240 zum Ermitteln eines maskierten Sitzungsschlüssels anhand des Sitzungsschlüssels und des Maskierungsschlüssels.The method comprises a fourth method step 240 for determining a masked session key on the basis of the session key and the masking key.

Das Verfahren umfasst einen fünften Verfahrensschritt 250 zum Übertragen des maskierten Sitzungsschlüssels an einen Empfänger.The method comprises a fifth method step 250 for transmitting the masked session key to a recipient.

Obwohl die Erfindung im Detail durch die Ausführungsbeispiele näher illustriert und beschrieben wurde, ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt, und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.Although the invention has been illustrated and described in more detail by the exemplary embodiments, the invention is not restricted by the examples disclosed and others Variations can be derived from this by the person skilled in the art without departing from the scope of protection of the invention.

Claims (14)

Kryptographiesteuerungsvorrichtung aufweisend: - ein Sitzungsschlüsselgenerierungsmodul (SG), wobei das Sitzungsschlüsselgenerierungsmodul dazu eingerichtet ist, einen Sitzungsschlüssel (SK) zu berechnen; - einen Zufallsgenerator, wobei der Zufallsgenerator (TRNG) dazu eingerichtet ist, einen Zufallswert (R) zu berechnen; - ein Maskierungsschlüsselberechnungsmodul (SM), wobei ∘ das Maskierungsschlüsselberechnungsmodul dazu eingerichtet ist, mittels einer Schlüsselmaskierungsfunktion anhand eines geheimen Schlüssels (SMK) und des Zufallswertes (R) einen Maskierungsschlüssel (KMK) zu berechnen, ∘ mittels des Maskierungsschlüssels (KMK) ein maskierter Sitzungsschlüssel (MaSK) anhand des Sitzungsschlüssels (SK) berechnet wird; - ein Kommunikationsschnittstelle, wobei die Kommunikationsschnittstelle dazu eingerichtet ist, den maskierten Sitzungsschlüssel (MaSK) an einen Empfänger zu übertragen. Cryptography control device comprising: - A session key generation module (SG), the session key generation module being set up to calculate a session key (SK); - A random generator, the random generator (TRNG) being set up to calculate a random value (R); - a masking key calculation module (SM), wherein ∘ the masking key calculation module is set up to calculate a masking key (KMK) by means of a key masking function based on a secret key (SMK) and the random value (R), ∘ a masked session key (MaSK) is calculated using the session key (SK) by means of the masking key (KMK); - A communication interface, the communication interface being set up to transmit the masked session key (MaSK) to a recipient. Kryptographiesteuerungsvorrichtung nach Anspruch 1, wobei die Schlüsselmaskierungsfunktion eine Non-Linear-Map-Funktion (NLM) ist.The cryptography control apparatus of claim 1, wherein the key masking function is a non-linear map (NLM) function. Kryptographiesteuerungsvorrichtung nach einem der vorhergehenden Ansprüche, wobei - der maskierte Sitzungsschlüssel (MaSK) ein verschlüsselter maskierter Sitzungsschlüssel (BMaSK) ist, - der verschlüsselte maskierte Sitzungsschlüssel (BMaSK) mittels einer Verschlüsselungsfunktion unter Verwendung des Sitzungsschlüssels (SK) und des Maskierungsschlüssels (KMK) berechnet wird, - zusätzlich zum maskierten Sitzungsschlüssel (MaSK), der ein verschlüsselter maskierter Sitzungsschlüssel (BMaSK) ist, der Zufallswert (R) an den Empfänger übertragen wird. Cryptography control apparatus according to any one of the preceding claims, wherein - the masked session key (MaSK) is an encrypted masked session key (BMaSK), - the encrypted masked session key (BMaSK) is calculated by means of an encryption function using the session key (SK) and the masking key (KMK), - in addition to the masked session key (MaSK), which is an encrypted masked session key (BMaSK) is, the random value (R) is transmitted to the receiver. Kryptographiesteuerungsvorrichtung nach einem der vorhergehenden Ansprüche, wobei der geheime Schlüssel (SMK) ein für eine Seitenkanal-gehärtete Maskierung des Sitzungsschlüssels geeigneter Schlüssel ist.Cryptography control device according to one of the preceding claims, wherein the secret key (SMK) is a key suitable for a side-channel hardened masking of the session key. Kryptographiesteuerungsvorrichtung nach einem der vorhergehenden Ansprüche, wobei die Verschlüsselungsfunktion eine asymmetrische kryptographische Verschlüsselungsfunktion oder eine symmetrische kryptographische Verschlüsselungsfunktion oder eine hybride kryptographische Verschlüsselungsfunktion ist.Cryptography control device according to one of the preceding claims, wherein the encryption function is an asymmetric cryptographic encryption function or a symmetric cryptographic encryption function or a hybrid cryptographic encryption function. Kryptographiesteuerungsvorrichtung nach einem der vorhergehenden Ansprüche, wobei der Empfänger eine Kryptographiebeschleunigungsvorrichtung ist.Cryptography control device according to any one of the preceding claims, wherein the receiver is a cryptography accelerator. Kryptographiesteuerungsvorrichtung nach einem der vorhergehenden Ansprüche, wobei die Übertragung des maskierten Sitzungsschlüssels (MaSK) über einen kryptographisch geschützten Übertragungskanal erfolgt.Cryptography control device according to one of the preceding claims, the transmission of the masked session key (MaSK) taking place via a cryptographically protected transmission channel. Kryptographiesteuerungsvorrichtung nach einem der vorhergehenden Ansprüche, wobei der geheime Schlüssel (SMK) ein gerätespezifischer geheimer Schlüssel ist.Cryptography control device according to one of the preceding claims, wherein the secret key (SMK) is a device-specific secret key. System, beispielsweise ein Gerät, aufweisend: - eine Kryptographiesteuerungsvorrichtung nach einem der vorhergehenden Ansprüche; - einen Empfänger, der beispielsweise eine Kryptographiebeschleunigungsvorrichtung ist; - einen Übertragungskanal, wobei der Übertragungskanal dazu eingerichtet ist den Empfänger und die Kryptographiesteuerungsvorrichtung kommunikativ zu koppeln. System, for example a device, comprising: - A cryptography control device according to one of the preceding claims; a receiver, which is for example a cryptography accelerator; - A transmission channel, wherein the transmission channel is set up to couple the receiver and the cryptography control device communicatively. System nach Anspruch 9, wobei die Kryptographiesteuerungsvorrichtung und/oder der Empfänger jeweils ein integrierter Halbleiterbaustein ist.System according to claim 9, wherein the cryptography control device and / or the receiver is in each case an integrated semiconductor component. System nach Anspruch 9 oder 10, wobei das System ein Hardware-Sicherheitsmodul oder ein Multi-Chipmodul ist.The system of claim 9 or 10, wherein the system is a hardware security module or a multi-chip module. Computerimplementiertes Verfahren zum Übertragen eines maskierten Sitzungsschlüssels (MaSK) mit folgenden Verfahrensschritten: - Berechnen eines Sitzungsschlüssels (SK); - Berechnen eines Zufallswertes (R) mittels eine Zufallszahlengenerators; - Berechnen eines Maskierungsschlüssel (KMK) mittels einer Schlüsselmaskierungsfunktion anhand eines geheimen Schlüssels (SMK) und des Zufallswertes (R); - Ermitteln eines maskierten Sitzungsschlüssels (MaSK) anhand des Sitzungsschlüssels (SK) und des Maskierungsschlüssels (KMK); - Übertragen des maskierten Sitzungsschlüssels (MaSK) an einen Empfänger. Computer-implemented method for transmitting a masked session key (MaSK) with the following procedural steps: - Calculating a session key (SK); - Calculating a random value (R) by means of a random number generator; - Calculation of a masking key (KMK) by means of a key masking function on the basis of a secret key (SMK) and the random value (R); - Determination of a masked session key (MaSK) on the basis of the session key (SK) and the masking key (KMK); - Transmission of the masked session key (MaSK) to a recipient. Computerprogrammprodukt mit Programmbefehlen zur Durchführung des Verfahrens nach Anspruch 12.Computer program product with program instructions for performing the method according to Claim 12. Bereitstellungsvorrichtung für das Computerprogrammprodukt nach Anspruch 13, wobei die Bereitstellungsvorrichtung das Computerprogrammprodukt speichert und/oder bereitstellt.13. Provision device for the computer program product according to claim 13, wherein the provision device stores and / or provides the computer program product.
EP19205262.9A 2019-10-25 2019-10-25 Method and device for providing a session key Withdrawn EP3813291A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19205262.9A EP3813291A1 (en) 2019-10-25 2019-10-25 Method and device for providing a session key
PCT/EP2020/078251 WO2021078528A1 (en) 2019-10-25 2020-10-08 Device and method for providing a session key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP19205262.9A EP3813291A1 (en) 2019-10-25 2019-10-25 Method and device for providing a session key

Publications (1)

Publication Number Publication Date
EP3813291A1 true EP3813291A1 (en) 2021-04-28

Family

ID=68344667

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19205262.9A Withdrawn EP3813291A1 (en) 2019-10-25 2019-10-25 Method and device for providing a session key

Country Status (2)

Country Link
EP (1) EP3813291A1 (en)
WO (1) WO2021078528A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1387236A1 (en) * 2002-07-08 2004-02-04 Broadcom Corporation Key management system and method for secure data transmission
EP3317796A1 (en) * 2015-06-30 2018-05-09 ActiveVideo Networks, Inc. Remotely managed trusted execution environment for digital-rights management in a distributed network with thin clients
US20190245689A1 (en) * 2018-02-08 2019-08-08 Micron Technology, Inc. Key encryption handling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1387236A1 (en) * 2002-07-08 2004-02-04 Broadcom Corporation Key management system and method for secure data transmission
EP3317796A1 (en) * 2015-06-30 2018-05-09 ActiveVideo Networks, Inc. Remotely managed trusted execution environment for digital-rights management in a distributed network with thin clients
US20190245689A1 (en) * 2018-02-08 2019-08-08 Micron Technology, Inc. Key encryption handling

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MELTEM S?NMEZ TURAN ET AL: "NIST Special Publication 800-132 Recommendation for Password-Based Key Derivation Part 1: Storage Applications National Institute of Standards and Technology", 1 December 2010 (2010-12-01), XP055267552, Retrieved from the Internet <URL:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.697.7177&rep=rep1&type=pdf> [retrieved on 20160421] *

Also Published As

Publication number Publication date
WO2021078528A1 (en) 2021-04-29

Similar Documents

Publication Publication Date Title
EP2742643B1 (en) Device and method for decrypting data
EP3388994A1 (en) Method and apparatus for computer-assisted testing of a blockchain
EP2727277B1 (en) System and method for the secure transmission of data
EP3437012B1 (en) Method, processor and device for checking the integrity of user data
EP3595267B1 (en) Method, devices and system for exchanging data between a distributed database system and devices
DE102013227184A1 (en) Method for securing a system-on-a-chip
EP3413530B1 (en) Method and device for exchanging messages
EP3413254A1 (en) Method and device for providing a transaction dataset
EP2790078A1 (en) Manipulation-proof control of a process and/or production and/or positioning installation
EP3813291A1 (en) Method and device for providing a session key
DE102013202322A1 (en) Method for encrypted transmission of data between two components of control unit, involves transferring encrypted data from first component of control unit to second component of control unit, where encrypted data is decrypted
EP3509247A1 (en) Method and key generator for creating an overall key with the support of a computer
EP4300873A1 (en) Method for processing data in a computer environment with distributed computers and rail technology application
EP3252990A1 (en) Method and device for providing a secret for authenticating a system and/or components of the system
EP3407181A1 (en) Method and device for computer-supported processing of a random bit pattern
EP3917103A1 (en) Method, system, transmitter and receiver for authenticating a transmitter
EP2184695A1 (en) Method of combining data with a device to be used for processing data, corresponding functionality to execute the individual steps in the procedure and computer program to implement the procedure
EP3422234B1 (en) Container image, computer program product and method
EP3534282A1 (en) Method and security module for the computer-aided execution of program code
EP3686763A1 (en) Computer-implemented device and method for processing data
EP3617976A1 (en) Method for operating a distributed database system, distributed database system, and industrial automation
EP3399457B1 (en) Method and devices for detecting a manipulation of a device
WO2017133939A1 (en) Encrypting the memory content of a memory in an embedded system
EP3758320A1 (en) Devices and method for testing devices
EP3901796A1 (en) Method and device for detecting malicious services in a network

Legal Events

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

Free format text: ORIGINAL CODE: 0009012

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

Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED

AK Designated contracting states

Kind code of ref document: A1

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

AX Request for extension of the european patent

Extension state: BA ME

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

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

18D Application deemed to be withdrawn

Effective date: 20211029