The present invention lies in the field of the secure exchange of data in a telecommunications network.
In the current state of the art, it is usual, to guarantee the confidentiality of the exchanges, that the emitter encrypts the data with a cryptographic key before sending them into the network, the receiver comprising cryptographic means for decrypting the data received with a key identical or compatible with that of the emitter.
These widespread mechanisms have a significant fragility if the cryptographic keys of a device can be obtained by a malicious third party by directly attacking the equipment or by monitoring its execution.
The invention aims at a secure method for exchanging data that is less vulnerable than those of the prior art.
The invention therefore aims at a new secure mechanism for exchanging data between two devices.
It is presented below for a secure exchange between a terminal and a server, but it could be applied to other equipment when one of these two pieces of equipment is less vulnerable to attacks than the other of these two pieces of equipment. More specifically, the terminal is considered untrusted.
More specifically, and according to a first aspect, the invention relates to a method for providing a white-box cryptography module.
This method is implemented by a server comprising a cryptographic module configured to encrypt or decrypt a message based on input parameters comprising said message, a symmetric key and a response to a challenge. Said method comprises:
Correlatively, the invention relates to a server comprising:
According to a second aspect, the invention relates to a method for obtaining a white-box cryptography module. This method is implemented by a terminal. It comprises:
Correlatively, the invention relates to a terminal comprising:
The invention thus proposes a secure mechanism for exchanging data between a server and a terminal in which the cryptographic functions of encryption and/or decryption of the terminal are implemented according to a white-box cryptography mechanism.
Thus, the symmetric key used by the terminal for the implementation of the cryptographic functions of encryption and/or decryption is not stored in a memory of the terminal but hidden in the code of the white-box cryptography module generated by the server for this terminal.
The symmetric key cannot therefore be obtained by a malicious third party who would attack or spy on the terminal during its execution.
The invention is therefore particularly suitable when the terminals are mobile terminals, connected objects or any device vulnerable to attacks, in particular to viruses.
For more information on the concept of white-box cryptography, the person skilled in the art can refer to the document “Understanding White-Box Cryptography, white paper”, published at the address: https://www2.gemalto.com/email/2012/SRM/whitebox/public/pdf/WP_Whitebox_Cryptography_FR_A4_v4_web_1_.pdf.
In accordance with the invention, the cryptographic module implemented by the server is not implemented in a white box, such a server being sufficiently secure and less exposed to attacks which would aim at fraudulently obtaining the symmetric key. This server is said to be trusted. This characteristic allows faster execution of server-side cryptographic functions.
In one embodiment of the invention, the method for obtaining a white-box cryptography module implemented by the terminal further comprises:
In this embodiment of the invention, the method for providing a white-box cryptography module implemented by the server comprises a step of receiving and recording at least one challenge/response pair from said terminal.
It is recalled that a physical unclonable function of the terminal is a characteristic of a hardware component of the terminal which allows to uniquely differentiate an instance of a terminal from other terminals of the same brand, of the same model, produced in the same time. It is indeed difficult to manufacture a terminal with the same characteristics as another terminal.
In a particular embodiment, the physical unclonable function of a terminal can consist of a camera of the terminal. Such a camera indeed necessarily induces imperfections or noise in the images it produces, due to the characteristics of the sensor, for example the photodiodes of this sensor.
Other physical functions of the terminal can be considered. According to a first example, sensors of the terminal other than the camera can be used, such as a gyroscope, an accelerometer, a microphone, etc. According to a second example, this physical unclonable function can be implemented by an electronic chip integrated into the terminal.
It is emphasized here that the physical unclonable function is attached to the characteristics of the terminal and is specific to the terminal.
The invention thus proposes using an unclonable function of the terminal to generate challenge/response pairs, these pairs allowing the terminal in particular to provide the server with proof that it is indeed a terminal known to the server. The response to the challenge corresponds to a secret shared between the enrolled terminal and the server and only the enrolled terminal is able to determine it based on a challenge.
The invention also proposes using the challenge/response pairs thus obtained in the cryptographic mechanisms for encryption/decryption of the messages exchanged between the terminal and the server.
The invention thus relates to a method for encrypting a message implemented by a terminal, this method comprising:
Similarly, the invention relates to a method for decrypting an encrypted message received from a terminal, this method being implemented by a server and comprising:
Similarly, the invention also relates to a method for encrypting a message implemented by a server, said encrypted message being intended to be sent to a terminal, this method comprising:
Similarly, the invention also relates to a method for decrypting an encrypted message implemented by a terminal, this method comprising:
In a particular embodiment, the various steps of the methods mentioned above are determined by computer program instructions.
Consequently, the invention also relates to a computer program on an information medium, this program being capable of being implemented in a server or more generally in a computer, this program comprising instructions adapted to the implementation of the steps of a method for providing a white-box cryptography module as presented above.
The invention also relates to a computer program on an information medium, this program being capable of being implemented in a terminal or more generally in a computer, this program comprising instructions adapted to the implementation of the steps a method for obtaining a white-box cryptography module as presented above.
The invention also relates to a computer program on an information medium, this program being capable of being implemented in a server, in a terminal or more generally in a computer, this program comprising instructions adapted to the implementation of the steps of an encryption method or of a decryption method as presented above.
These programs may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form.
The invention also relates to an information or recording medium readable by a computer, and comprising instructions of a computer program as mentioned above.
The information or recording medium can be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a hard disk.
On the other hand, the information or recording medium can be a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention can in particular be downloaded from an Internet-type network.
Alternatively, the information or recording medium may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
Other characteristics and advantages of the present invention will become apparent from the description given below, with reference to the appended drawings which illustrate an exemplary embodiment devoid of any limiting character. In the figures:
In the embodiment described here, and as shown in
In the embodiment described, and as shown in
Alternatively, the cryptographic module CRY could be configured to implement only decryption functions or only encryption functions and only comprise the corresponding module DEC or ENC.
In the embodiment described here, and as shown in
In the embodiment described, and as shown in
In accordance with white-box cryptographic mechanisms, the symmetric key Ku is not received at the input of the cryptographic module CRYBBu but buried secretly in this module. Secretly buried means that this symmetric key is not accessible by a malicious third party who would attack or spy on the terminal during the execution of encryption or decryption operations.
The cryptographic module CRYBBu constitutes a white-box implementation of the cryptographic module CRY of the server SRV, for the symmetric key Ku. In other words, and for example:
The white-box cryptography module CRYBBu could be configured to implement only decryption functions or only encryption functions and only comprise the corresponding white-box module DECBBu or ENCBBu.
The communication means COM of the server SRV and of the terminal TRM are adapted to allow the terminal TRM to send an identifier u of this terminal to the server SRV to authenticate itself with this server.
In the embodiment described here, and as shown in
The communication means COM of the server SRV and the terminal TRM are adapted to allow the terminal SRV to send the white-box cryptography module CRYBBu to the terminal TRM, either as it is, or integrated into an application APP.
In the embodiment described here, the terminal TRM comprises an installation module MI configured to be able to install the cryptographic module CRYBBu or the application APP in a rewritable non-volatile memory of this terminal.
As represented in
This probabilistic module MPROB comprises a physical unclonable function PUF.
In the embodiment described here, this probabilistic module MPROB is configured to:
In the exemplary embodiment described here, this physical function is a terminal camera. It has hardware characteristics specific to the terminal TRM.
In the embodiment described here, this probabilistic module MPROB is configured to:
In a particular embodiment, it is possible that the signature y′i is noisy and that for images acquired with the same exposure duration xi, different signatures y′ij are obtained. In this embodiment, the probabilistic module MPROB comprises a corrective filter FC configured to generate a signature yi, that is to say a response to the challenge xi, from the noisy signature y′i, this signature yi being identical for noisy signatures y′ij obtained for the same exposure time xi. In a particular embodiment, this filter FC is secret and specific to the terminal TRM. Thus the secret denoising allows to increase the security of message encryption and decryption.
The probabilistic module MPROB is configured to output the non-noisy signature yi, as a response to the challenge xi.
In the embodiment described here, the noisy signature y′i is an imprint of a dark signal known per se by the person skilled in the art of photographic sensors.
In the embodiment described here, the non-noisy signature yi is obtained by projecting the noisy signature y′i onto a binary sequence, as known by a person skilled in the art of coding.
Other physical functions of the terminal can be considered. This involves, for example, using other sensors of a terminal, such as a gyroscope, an accelerometer, a microphone, etc. It can also be an electronic chip integrated into the terminal implementing this physical unclonable function.
It is recalled that the physical unclonable function is attached to the characteristics of the terminal and is specific to the terminal.
It is now assumed that the user of the terminal TRM wishes to subscribe, with the server SRV, to a service implementing a secure data exchange mechanism in accordance with the invention, for example a payment service.
During a step E10, and as represented in
In the embodiment described here, the server SRV authenticates the user during a step F20.
If the authentication succeeds, during a step F30, the server SRV:
During a step F35, the server SRV, which acts as a trusted third party, obtains a set of challenges xi randomly.
In the embodiment described here, the server SRV sends the application APP and the set of challenges xi to the terminal TRM during the same step F40. The terminal TRM receives them during a step E20.
During a step E30, the terminal TRM generates a response yi for each challenge xi received from the trusted third-party server SRV by using the probabilistic function MPROB. It thus forms challenge/response pairs {xi, yi}.
In the exemplary embodiment described here, a response yi is obtained based on the challenge, the associated response yi being the non-noisy signature obtained by the probabilistic module MPROB for this input parameter xi.
In the embodiment described here, the terminal TRM sends the {challenge, response} pairs to the server SRV during this same step E30. They are received by the server SRV and recorded in the database BDS during a step F50.
It is underlined here that the {challenge, response} pairs are not stored in a memory of the terminal TRM.
Steps E10 to E30 and F10 to F50 constitute an enrollment phase referenced ENR in
It is assumed that the terminal wants to securely send a message msg to the server SRV.
During a step E40, the terminal:
Optionally, the challenge xi is not sent to the server SRV.
These data are received by the server SRV during a step F60.
During a step F70, the server SRV obtains the symmetric key Ku in its database BDS from the identifier u. It obtains from its database BDS the answer yi corresponding to the challenge xi. It decrypts the encrypted message [msg] using its decryption module DEC according to the symmetric key Ku and the answer yi and recovers a message. If yi indeed corresponds to the value used by the terminal, then the message retrieved corresponds to the message msg in plain text.
It is assumed that the server SRV wishes to send a message msg to the terminal TRM in a secure manner.
During a step F80, the server SRV:
These data are received by the terminal TRM during a step E50.
During a step E60, the terminal TRM:
If yi calculated by the probabilistic module corresponds to the value used by the server, then the decrypted message corresponds to the message msg in plain text.
In the embodiment described here, this terminal TRM has the architecture of a computer. It comprises in particular a processor 10, a random access memory of the RAM type 11, a read only memory of the ROM type 12, a rewritable non-volatile memory of the FLASH type 13 and communication means COM.
In the embodiment described here, the application APP is stored in the non-volatile memory 13. The instructions of this application and in particular those of the white-box cryptography module CRYBBu are executed by the processor 10.
In this embodiment, the non-volatile memory 13 also stores the identifier u of the terminal.
The read only memory 12 constitutes a recording medium in accordance with the invention. It comprises a computer program PGT in accordance with the invention. This program PGT comprises in particular instructions for, when they are executed by the processor 10:
In the embodiment described here, this server SRV has the architecture of a computer. It comprises in particular a processor 20, a random access memory of the RAM type 21, a read only memory of the ROM type 22, a rewritable non-volatile memory of the FLASH type 23 and communication means COM.
In this embodiment, the non-volatile memory 23 also stores the database BDS.
The read only memory 22 constitutes a recording medium in accordance with the invention. It comprises a computer program PGS in accordance with the invention. This program PGS comprises in particular instructions for, when they are executed by the processor 20:
| Number | Date | Country | Kind |
|---|---|---|---|
| FR1913104 | Nov 2019 | FR | national |
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/FR2020/052130 | 11/19/2020 | WO |