METHOD FOR SECURE TRANSMISSION OF CRYPTOGRAPHIC DATA

20200015081 ยท 2020-01-09

    Inventors

    Cpc classification

    International classification

    Abstract

    The invention relates to a method for secure transmission of data between two computer devices, a first device comprising sending means of an analog signal and a second device comprising acquisition means of the analog signal, the method comprising steps, performed by the first device, of: generation of a first analog signal representative of a first cryptographic datum comprising an encryption key, sending of the first analog signal via the sending means included in the first device, to the acquisition means included in the second device, receipt of a second cryptographic datum from the second device, said second datum being at least partly encrypted by means of the encryption key, processing of said second cryptographic datum as a function of the first cryptographic datum, comprising decryption of said second datum.

    Claims

    1. A method for secure offline transmission of data between a first computer device (1) and a second computer device (2), the first device (1) comprising sending means of an analog signal (11) and the second device (2) comprising acquisition means of the analog signal (22), the method comprising the performing by a processor (10) of the first device (1) of steps of: a) generation (200) of a first analog signal (C1) representative of a first cryptographic datum, the first cryptographic datum comprising an encryption key (Cp), b) sending (300) of the first analog signal (C1) via the sending means of an analog signal (11) of the first device (1), to the acquisition means of the analog signal (22) of the second device (2), c) receipt (400) of a second cryptographic datum (D) from the second device (2), the second cryptographic datum (D) being at least partly encrypted by means of the encryption key (Cp), d) processing of said second cryptographic datum (D) as a function of the first cryptographic datum, said processing comprising decryption of the second cryptographic datum (D).

    2. The method according to claim 1, wherein the step (a) comprises the generation (100), by the processor (10) of the first device (1), of the first cryptographic datum.

    3. The method according to claim 1 or 2, wherein the second cryptographic datum (D) is a message, said message comprising a secret encrypted by means of the encryption key (Cp), the processing step (d) comprising the decryption (500) of said secret.

    4. The method according to any one of claims 1 to 3, wherein the encryption key (Cp) is a public key associated with a private key (Ck), the decryption of the second cryptographic datum being executed by the first device (1) by means of the private key (Ck).

    5. The method according to any one of claims 1 to 4, wherein the first device (1) and the second device (2) are mobile devices, preferably smartphones.

    6. The method according to any one of claims 1 to 5, wherein the receipt (400) of the second cryptographic datum (D) comprises the reading, by acquisition means (12) of an analog signal included in the first device (1), of a second analog signal (C2) representative of the second cryptographic datum (D), said second analog signal being transmitted by sending means (21) of the analog signal included in the second device (2).

    7. The method according to any one of claims 1 to 6, wherein the first analog signal (C1) is a first light signal, preferably a code QR Code, or a steganography, or a barcode, the sending means (11) of an analog signal of the first device (1) being a display unit, and the acquisition means (22) of the analog signal of the second device (2) being an imager.

    8. The method according to claim 7, wherein the imager (22) of the second device is located on a front face of the second device (2), said imager (22) being preferably a photographic unit in autoportrait mode, the steps of the method for secure transmission of data being executed while the imager (22) of the second device is facing the display unit (11) of the first device.

    9. The method according to any one of claims 1 to 6, wherein the first analog signal (C1) is an audio signal, the sending means (11) of an analog signal of the first device (1) being an electroacoustic transducer, and the acquisition means (22) of the analog signal of the second device (2) being a microphone.

    10. The method according to any one of claims 1 to 9, the steps of the method being performed in the absence of a network connection between the first device (1) and the second device (2).

    11. A verifier device (1) comprising a processor (10), a memory (13) and sending means (11) of an analog signal, the processor (10) being configured to generate a first analog signal (C1) from a first cryptographic datum comprising an encryption key (Cp) and being configured to execute a method for secure transmission of data according to any one of claims 1 to 10.

    12. The device according to claim 11, said device (1) also comprising an imager device (12), preferably a photographic unit in autoportrait mode.

    13. A system comprising a verifier device (1) according to any one of claim 11 or 12, and a client device (2), the client device (2) comprising a processor (20), a memory (23) and acquisition means (22) of an analog signal, the processor (20) being configured to obtain from the first analog signal (C1) the first cryptographic datum comprising the encryption key, and being configured also to generate and transmit to the verifier device (1) a second cryptographic datum (D) at least partly encrypted by means of the encryption key.

    14. A computer program product comprising code instructions for executing a method for secure transmission of data according to any one of claims 1 to 10, when said code instructions are executed by a processor.

    15. Storage means readable by computer, on which are pre-recorded code instructions for executing a method for secure transmission of data according to any one of claims 1 to 10.

    Description

    GENERAL PRESENTATION OF FIGURES

    [0042] Other characteristics, aims and advantages of the invention will emerge from the following description which is purely illustrative and non-limiting, accompanied by the appended drawings, in which:

    [0043] FIG. 1 is a schematic view of a system which can execute a method according to the invention;

    [0044] FIG. 2 illustrates the steps of a method according to a first embodiment, in the context of a challenge-response algorithm of Challenge-Handshake Authentication Protocol or CHAP type;

    [0045] FIG. 3 illustrates the steps of a method according to a second embodiment, in a context of RSA message encryption.

    DETAILED DESCRIPTION OF PARTICULAR EMBODIMENTS

    [0046] The following examples relate to application of a method for transmission of cryptographic data for issues of authentication and/or data encryption. It will be clear that the invention could however be applied, with the same advantages, to any context requiring secure transmission of a cryptographic datum by a verifier device, in light of later processing events between said verifier device and a client device.

    [0047] Cryptographic datum means a datum which can be handled by a processor, and which occurs in a cryptographic algorithm. Examples of cryptographic algorithms are algorithms of signature, message encryption, data hashing, authentication, etc.

    [0048] Hereinbelow, similar elements of the attached figures will be designated by the same reference sign.

    Example of Architecture of Verifier-Client System

    [0049] In reference to FIG. 1, a system adapted for transmission of secure data comprises a verifier device 1, and a client device, or again a user device, designated by the reference 2.

    [0050] Verifier device means a device attached to a control authority. It can act as a device used by an individual authorized to execute control, or else an autonomous device. Advantageously, the verifier device can have access to data for controlling the identity of individuals, or controlling their belonging to a group (for example, the group of people having access authorisation to a zone).

    [0051] User device means a device held by an individual who does not belong to a control authority, for example a smartphone or a tablet.

    [0052] The verifier device 1 can be a mobile device, such a smartphone, having access or no access to the Internet network, or again a portable tablet. As an alternative, the verifier device 1 can be a fixed device such as a terminal.

    [0053] The device 1 comprises means for processing data 10, for example a processor, and data storage means 13, such as a live memory or a dead memory.

    [0054] The device 1 also importantly comprises means 11 for sending an analog signal, for example a display screen, a flash, a vibrator, an electroacoustic transducer (such as a loudspeaker).

    [0055] Analog signal means a signal with continuous variation which corresponds to a physical phenomenon, which is not a digital signal, and coding for information. Typical examples of analog signals are light signals (preferably in visible light), or vibratory signals (preferably acoustic, i.e. audio signals). In other terms, the device 1 is capable of sending a physical signal which is perceptible by other devices, without there necessarily being transmission of digital data. The analog signal codes information by temporal or spatial modulation of a physical magnitude of the signal, intensity or frequency for example.

    [0056] Optionally, the device 1 also comprises means 12 for acquisition of an analog signal, which correspond for example to the same type of analog signals as those which can be sent by the sending means 11, for example an imager device (such as a camera or an embedded photographic unit), a microphone, accelerometers.

    [0057] In memory or in a remote database the verifier device 1 has access to data for executing cryptographic processings, for example linking information between users and secret authentication keys of said users, and/or message encryption keys.

    [0058] The device 2 comprises data processing means 20, such as a processor, and data storage means 23, such as a live memory or a dead memory, and means 22 for acquisition of an analog signal. Optionally, the device 2 also has means 21 for sending an analog signal.

    [0059] It is understood that advantageously during execution of a method which will be described later, the devices 1 and 2 are not connected, i.e. no network connection is set up between them.

    [0060] Hereinbelow, examples will be cited where the analog signals that the devices 1 and 2 are likely respectively to be sent and acquired are light signals. More particularly, the means 11 correspond to a display screen which is configured to display Quick Response codes designated hereinbelow as QR Codes, such as the QR Code C1 of the figure. The means 22 correspond to a photographic unit located on the front face of the client device 2, configured to take a photograph of a QR Code displayed by the verifier device 1. However the skilled person can transpose the invention to other sorts of analog signals, for example audio signals in particular of DTMF (dual-tone multi-frequency) type commonly called Vocal Frequencies.

    [0061] In the example of FIG. 1, the client device 2 also has a display screen 21 configured to display QR Codes such as the code C2, and the verifier device has a photographic unit 12 located on its front face. The two photographic units 12 and 22 can function in autoportrait mode, also called selfie mode so that the means 11 and 22 on the one hand and 12 and 21 on the other hand face each other simultaneously for easy interactive exchange of visual signals.

    Case of Secure Transmission of Nonce, to Execute Secure Authentication of the Client

    [0062] FIG. 2 schematically illustrates steps of an authentication method 30 of the client device 2 with the verifier device 1. Authentication is done here according to a protocol of CHAP type, for Challenge-Handshake Authentication Protocol.

    [0063] The principle, well known to the skilled person, of this authentication method of challenge-response type is the following. The verifier device 1 and the client device 2 first share a datum r called nonce (i.e. an arbitrary number, that is, a single-use random number, from the English number used once). Using such an arbitrary number considerably reinforces the security of the method, since a different value and random nonce is used for each authentication, making attacks by replay difficult.

    [0064] Also, the verifier device 1 knows a private key k which must not be sent in clear text, and is to verify the knowledge by the client device 2 of this private key k.

    [0065] During the CHAP protocol, the client device 2 applies a predetermined cryptographic function f to the nonce and to the private key, then calculates a hash (also called cryptographic print) of the result given by this function f. The verifier device 1 for its part applies the same function f to the nonce and to the private key, then calculates the hash by means of the same hashing function. Authentication by the CHAP protocol of the client device 2 is considered as successful when the hash value returned by the client device 2 and the hash value calculated independently by the verifier device 1 are equal.

    [0066] Here, an individual who holds the client device 2 wants to authenticate with the verifier device 1, to prove that he has previously bought an electronic ticket which is contained in the memory of the device 2. For example, the individual wants to go to a concert hall and has to prove to a guard who has the verifier device 1 that he is an authentic ticket buyer. It is understood that a concert hall is typically a place where it can be difficult to acquire a mobile network of 3G type, and offline authentication is of major interest.

    [0067] For this purpose, the authentication method 30 comprises the following steps.

    [0068] At an optional step 50, the client device 2 sends the verifier device 1 a wake-up signal CR. This signal can be transmitted in digital or analog form. The device 2 sends an authentication request to the verifier device 1. This step can be omitted, for example if the verifier device 1 is at the initiative of authentication.

    Transmission of the Nonce by Analog Signal

    [0069] A first step (a) advantageously comprises generation 100 of the nonce r by the verifier device 1. The device 1 can for example comprise a random number generator for this purpose. This nonce r serves as basis for later calculations.

    [0070] Next, during step (a), the verifier device 1 importantly carries out generation 200, from the nonce r, of a first analog signal noted C1. In the present example, the analog signal C1 is a visual code in the form of QR Code. Alternatively, the code C1 could be a visual code wherein the value of the nonce r is dissimulated by steganography, or else a barcode such as an EAN (Electronic Article Number) code.

    [0071] The analog signal C1 can more generally take the form of any physical signal perceptible by a sensor of the client device 2 when the device 2 is placed at a short distance from the verifier device 1. The signal C1 can especially be an audio signal generated as a function of the value of the nonce r.

    [0072] At a step (b), the verifier device 1 executes transmission 300 of the analog signal C1 to the client device 2, by means of the sending means 11, here a display unit. The processor 20 of the device 2 then calculates, at a step 310, the value of the first cryptographic datum, here the nonce r, from the first analog signal, here the visual code C1.

    [0073] The steps (a) and (b) can be executed consecutively (the device 1 calculates the QR Code C1 and displays it immediately), or the QR Code C1 can be saved in memory on completion of step (a) and displayed later. It is possible at this stage to ensure that a control signal, for example a QR Code, is transmitted by the client device 2. One function of the control signal is to allow verification by the devices 1 and 2 that the first cryptographic datum, here the nonce r, has been sent correctly on completion of steps 200 and 300. If the result of this verification is positive, the verifier device 1 can send client device 2 an OK confirmation signal for the authentication method 30 to continue.

    Authentication of the Client Device from the Value of the Nonce

    [0074] The method 30 continues via a step (c) during which the client device 2 performs a calculation 350 of a second cryptographic datum D necessary for its authentication.

    [0075] Since the client device 2 has the value of the nonce r, it can calculate the second cryptographic datum D. In the present example, the client device 2 applies any cryptographic function f inputting both the nonce r and the private key k whereof the method 30 controls the knowledge by the device 2. The function f was previously shared between the devices 1 and 2. For example, the function f can be a simple addition, in which case f(r,k)=r+k. If appropriate, the function f can be a more complex function for reinforcing the level of security of the algorithm. Next, the client device 2 calculates the hash of f(r,k) by means of the hashing function H also shared between the devices 1 and 2. In the present example, this is D=H(f(r,k)).

    [0076] The client device 2 then executes transmission 400 to the verifier device 1 of the second cryptographic datum D, this datum D here being the hash H(f(r,k)).

    [0077] Transmission of the second cryptographic datum D can be done by means of a second analog signal C2 representative of the value H(f(r,k)) (sent by sending means 21 of the device 2, and acquired by acquisition means 12 of an analog signal). As an alternative, the second cryptographic datum D can be sent by standard means, for example via an Internet, Bluetooth or NFC network connection.

    [0078] To verify the validity of the authentication on the device 1 side, the device 1 itself should calculate the expected value for the second cryptographic datum, here the value H(f(r,k)), as a function of the value of the private key k and by means of the functions H and f.

    [0079] In this respect, the verifier device 1 performs a step (d) for cryptographic processing, here in light of authentication, comprising generation 500 of a third cryptographic datum which corresponds to the expected value of H(f(r,k)).

    [0080] It should be noted that the step 500 could be executed prior to the step 350, or at the same time as the step 350.

    [0081] The device 1 then performs verification 510 that there is identity between the expected value of H(f(r,k)) and the value received from the client device 2 during the step (c).

    [0082] If this verification is positive, the client device 2 has proved that it knows the key k and the holder of the device 2 is validly authenticated.

    [0083] The method 30 has many advantages.

    [0084] To intercept transmission of the nonce, an attacker should acquire an image of the QR Code; or preferably this image is not sent over a communications network. The security of the transmission is therefore improved.

    [0085] Also, the method 30 does not require a connection to be set up between the verifier device 1 and the client device 2, such as an NFC, Bluetooth, Internet, 4G connection, etc. The method 30 has the added advantage of utilizing very widely used tools of smartphones: a photographic unit, a screen, a processor. The method 30 is therefore easy to use, even in environments where the network coverage is not uniformly good, such as concert halls or underground transport systems.

    [0086] According to an alternative embodiment of the method 30, authentication of the client device 2 could be carried out by executing a digital signature algorithm of DSA type (Digital Signature Algorithm), during transmission of a message M.

    [0087] In this context, the signature DSA not only authenticates the client device 2, but also proves the integrity of the message M.

    [0088] Advantageously, the message M is a message which can be transmitted clearly, but whereof it is important to ascertain that it has not been falsified. The message M can for example be an identity document of a user of the client device 2.

    [0089] The method according to this alternative example comprises transmission, jointly with the message M, of a DSA signature couple (s1, s2) whereof the values depend on a hash H(M), of the nonce r and of the private key k the knowledge is to be verified by the client device 2. The calculation of the signature DSA is known and is not detailed here.

    [0090] If the verifier device 1, which for its part performs the calculation of the couple (s1, s2) obtains values similar to those received with the message M on the part of the client device 2, then the client device 2 is validly authenticated.

    Case of Secure Transmission of Encryption Key RSA

    [0091] FIG. 3 schematically illustrates steps of a method 40 for communication of a message M which the client device 2 wants to transmit securely to the verifier device 1.

    [0092] The method 40 comprises the execution between the devices 1 and 2 of an asymmetrical cryptography algorithm, typically an encryption algorithm RSA (for Rivest, Shamir, Adelman). The RSA algorithm is well known to the skilled person and will not be described in detail here. The verifier device 1 has a private decryption key Ck, associated with a public encryption key Cp, the private key Ck decrypting the messages encrypted by means of the public key Cp. The public key Cp and the private key Ck are constructed such that it is very difficult for an attacker to discover the value of the private key Ck from the value of the public key Cp.

    [0093] The method for secure transmission of data of the invention has advantageous application for transmission of the public key Cp between the devices 1 and 2.

    [0094] The method 40 comprises the following steps. The variants of the steps of the method 30 described hereinabove in relation to FIG. 2 apply also to the corresponding steps of the method 40.

    [0095] In an optional step 50, the client device 2 sends a wake-up signal CR to the device 1 to initiate transmission of the public key.

    [0096] Next, a step (a) advantageously comprises the generation 100 by the verifier device 1 of a private key Ck and a public key Cp, according to the algorithm RSA.

    [0097] The public key Cp constitutes a first cryptographic datum which the device 1 has to transmit securely.

    [0098] It is evident that it is not necessary for the two devices 1 and 2 to have exchanged keys, for example a public key/private key pair, prior to transmission.

    [0099] The step (a) comprises the generation 200, by the device 1, of a QR Code C1 from the value of the public key Cp. A subsequent step (b) comprises the displaying 300 of said QR Code C1 by means of the display unit 11. As an alternative, the key generated at the step 200 and sent to the step 300 is a symmetrical encryption key.

    [0100] At step 310, the client device 2 recovers from the QR Code C1 taken as photograph the value of the public key Cp and records this value in the memory 23. Optionally, a control signal is exchanged to verify the integrity of the transmission.

    [0101] If any verification proves positive, at step 350 the client device 2 performs the encryption of a message M containing a secret, by means of the public key Cp. The message M can have sensitive content, or may contain confidential data such as biometric data of individuals, or identity documents. On note [M]Cp the message M encrypted by means of the public key Cp sent previously. This message encrypted [M]Cp constitutes the second cryptographic datum.

    [0102] A step (c) comprises the transmission 400 of this encrypted message [M]Cp, for example in the form of QR Code, or via a network connection. In a step (d), the device 1 executes cryptographic processings 500 on the encrypted message M. In the present example, the device 1 decrypts the datum [M]Cp by means of the private key Ck it has.