Method for end-to-end transmission of a piece of encrypted digital information, application of this method and object implementing this method

11265298 · 2022-03-01

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for end-to-end transmission of a piece of encrypted digital information includes the following steps: selection, on the computer equipment of the transmitter, of a piece of digital information and a digital identifier of the recipient; temporary encryption of the piece of digital information by execution of a local encryption application on the computer equipment with the private key of the sender; decryption of the piece of information on the equipment of the sender and encryption of the piece of information with the public key of the recipient; transmission to the recipient, by the computer equipment, from the sender, of the piece of digital information encrypted with the public key of the sender, optionally by the intermediary of the transactional platform; and decryption by the computer equipment of the recipient of the piece of information with the public key of the sender.

Claims

1. A method for end-to-end transmission of a piece of encrypted digital information between a transmitter registered on a transactional platform and at least one recipient of any kind, comprising: selection on computer equipment of the transmitter of a piece of digital information and a digital identifier of the at least one recipient; temporary encryption of the piece of digital information by execution of a local encryption application on the computer equipment of the transmitter with a private key of the transmitter; transmission by the computer equipment of the transmitter of the piece of encrypted digital information and the digital identifier of the at least one recipient to the transactional platform; transmission by the transactional platform to computer equipment of the at least one recipient of a digital invitation message containing a link, activation of which by the at least one recipient requires: the execution of a creation application on the computer equipment of the at least one recipient of at least one pair of encryption keys, and the transmission of at least one public key thus created by the computer equipment of the at least one recipient to the transactional platform and its registration on the transactional platform in relation to the digital identifier of the at least one recipient; notification by the transactional platform to the computer equipment of the transmitter of a digital message enabling the recovery and recording in a temporary memory on the computer equipment of the transmitter of the at least one public key of the at least one recipient; decryption of the piece of digital information on the computer equipment of the transmitter and encryption of the piece of digital information with the at least one public key of the at least one recipient; transmission to the at least one recipient by the computer equipment of the transmitter of the piece of digital information encrypted with the at least one public key of the at least one recipient, optionally via the transactional platform; and decryption by the computer equipment of the at least one recipient of the piece of digital information with the private key of the at least one recipient.

2. The method of claim 1, wherein the local encryption application comprises a browser-executable application transmitted by a computer platform to the computer equipment of the transmitter in the form of a source code executable by a browser.

3. The method of claim 1, wherein the local encryption application comprises a mobile application previously installed on the computer equipment of the transmitter.

4. The method of claim 1, wherein the creation application comprises a downloadable mobile application for installation on the computer equipment of the at least one recipient, and wherein the digital invitation message contains a mechanism controlling downloading of the downloadable mobile application.

5. The method of claim 1, wherein generation of the at least one pair of encryption keys includes a step of cryptographic processing applied to a combination formed by a password chosen by a user and a nonce transmitted by the transactional platform.

6. The method of claim 1, applied to a group including a plurality of recipients, the method comprising: a step of introducing unique intermediate encryption keys for each piece of digital information, each recipient of the plurality of recipients accessing the piece of digital information, by decrypting the unique intermediate encryption keys using each recipient's respective personal keys, and steps for recalculating the unique intermediate encryption keys in the event of a change in the group including the plurality of recipients.

7. The method of claim 1, applied to a group of digital information, the method comprising: a step of introducing unique intermediate encryption keys for each piece of digital information, and each recipient accessing the whole of the group of digital information, by decrypting the unique intermediate encryption keys with each recipient's respective personal keys.

8. The method of claim 1, wherein at least one of the computer equipment of the transmitter and the computer equipment of the recipient comprises a connected object.

9. The method of claim 6, wherein generation of the at least one pair of encryption keys comprises a step of cryptographic processing applied to a combination formed by a secret unique piece of information recorded in a connected object at the time of its manufacture and a nonce transmitted by the transactional platform.

10. The method of claim 1, wherein the piece of digital information comprises a communication message.

11. The method of claim 1, wherein the piece of digital information comprises a data file.

12. The method of claim 1, wherein the piece of digital information comprises a multimedia communication file.

13. The method of claim 1, wherein at least one of the transmitter and the at least one recipient comprises a connected object.

14. The method of claim 1, wherein at least one of the transmitter and the at least one recipient comprises connected medical equipment.

15. A connected object, comprising: non-volatile memory storing a unique and secret piece of information recorded at the time of manufacture of the connected object; a processor for executing applications recorded in the non-volatile memory; and a communication circuit for communicating with a remote platform, characterized in that one of the recorded applications is capable of executing the local processing specific to the method according to claim 1.

16. The connected object of claim 15, wherein the connected object comprises a computer and the communication circuit comprises a network communication circuit, and wherein at least one digital sequence corresponding to a password is recorded in the non-volatile memory.

17. The method of claim 1, further comprising transmission by the transactional platform of the piece of encrypted digital information to the computer equipment of the transmitter.

18. The method of claim 1, further comprising following transmission by the computer equipment of the transmitter of the piece of encrypted digital information and the digital identifier of the at least one recipient to the transactional platform, not retaining, at the computer equipment of the transmitter, the piece of encrypted digital information.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) This disclosure will be best understood when reading the following detailed description thereof, which relates to a non-restrictive exemplary embodiment, while referring to the appended drawings, wherein:

(2) FIG. 1 shows a schematic view of the hardware architecture of a system for implementing the disclosure;

(3) FIG. 2 shows the diagram of data exchange between Alice and Bob;

(4) FIG. 3 shows the block diagram of the step of temporary recording of Alice's message;

(5) FIG. 4 shows the diagram of generation of information from the password chosen by Bob;

(6) FIG. 5 shows the block diagram of the step of new encryption of the message by Alice; and

(7) FIG. 6 shows the block diagram of the step of retrieval of the message by Bob.

DETAILED DESCRIPTION

(8) FIG. 1 represents a schematic view of the hardware architecture, in a simplified situation concerning exchanges between two users only.

(9) Users referred to herein as “Alice” and “Bob” each use one or more piece(s) of connected computer equipment respectively 1, 11; 2, 12. For example, it may be a connected computer or tablet, or a “Smartphone” type phone.

(10) In the case of a computer, the computer must have computer resources to access a network, for example, the Internet, and a standard WEB browser.

(11) In the case of a tablet or a phone, the equipment also includes resources such as a browser or a mobile application providing the connection to a remote platform.

(12) The system, according to the disclosure, optionally implements a proxy 3, which distributes the service load to one or more server(s) 4, 13, 14 that can be local or remote in the “cloud,” and executes an interactive application program interface (API).

(13) The servers 4, 13, 14 are associated with one or more pieces of database management equipment 5, 15, 16, which can be local or remote in the “cloud.”

(14) The communication between the different devices uses a standard transport layer, for example, TCP/IP or Lora, and a standard communication layer, for example, http or https.

(15) The proxy 3 and the servers 4, 13, 14 as well as database management equipment 5, 15, 16 form a secure exchange platform 20.

(16) Diagram of Exchanges

(17) The initiator of the exchanges is Alice, wishing to send Bob a message in a secure form via a platform, it being understood that Bob does not have access to the exchange platform 20.

(18) Alice locally composes, on one piece of her computer equipment 1, 11, a digital message 21 with any editor, for example, a messaging application adapted to the platform 20, and therefore an API client server 4, 13, 14 and locally stores in the buffer memory of one of her devices 1, 11.

(19) Alice then enters a public identifier 22 of the recipient Bob, such as Bob's email address or mobile phone number into the application executed on her computer equipment 1, 11.

(20) This application then commands the opening of a communication session with this identifier. The application then commands a request to be sent via the platform 20 for the transport layer and via this session and, for the communication layer, via Bob's identification session token (or the equivalent mechanism), as a message containing at least Bob's identifier 22.

(21) The platform 20 compares the identifier 22 transmitted by Alice with the list of account holder identifiers during a verification step 23.

(22) If Bob is unknown, i.e., does not have an account on the platform 20, the platform generates a temporary account associated with Bob's identifier 22 transmitted by Alice.

(23) This temporary account results in: the creation of an entry dedicated to Bob in the database management equipment 5, 15, 16; the platform 20 sending a message to Bob, containing: a text message 25 informing Bob of the existence of a message from Alice; and a link to a creation interface 26 for Bob to create a password, for example, as a JavaScript and HTML code.

(24) This creation interface 26 is executed immediately or off-line on Bob's computer equipment 2, locally and with no communication of the password 27 created by Bob to the platform 20 nor to Alice's computer equipment 1, 11 and more generally to any equipment present on the network.

(25) The platform 20 then transmits an acknowledgement message to Alice. Sending this message means that: the platform 20 has created a temporary account assigned to Bob; the platform 20 transmitted to Bob the message 25 containing the link enabling him, when he decides to, to start the step of entering a password into the creation interface 26.
Temporary Recording of Alice's Message

(26) FIG. 3 shows the block diagram of the step of temporary recording Alice's message.

(27) Receiving the message automatically triggers the following operations: Alice's client application controls the encryption of the message 21 with Alice's public key 19, transmitted by the platform 20 from the piece of information stored in the database 5, 15, 16 and corresponding to her account. This public key is, for example, transmitted in the message or in the login process. It can also be stored locally on Alice's computer equipment 1, 11, for example, in the cache memory of a mobile application. This step results in an encrypted message 42 containing generally unencrypted metadata, including an ID of the recipient Bob. this encrypted message 42 is then transmitted by a transmission to the platform 20 and recorded, for example: in the database management equipment 5, 15, 16 of the platform 20; in a third-party mailbox linked to Alice; or in a Cloud platform, etc.

(28) The platform also records metadata 43 in the database management equipment 5, 15, 16 of the platform 20 containing, in particular, the storage address of the message, for example, as a URL address.

(29) Optionally, Alice's computer equipment 1, 11 generates a random encryption key 44 enabling the symmetric encryption of the encrypted message 42. This random key 44 is itself asymmetrically encrypted with Alice's public key 19 so that Alice can then decrypt the random key 44 with her own private key.

(30) Generation of Bob's Public and Private Information

(31) This step is asynchronous relative to the exchange process. It occurs at any time after receipt of notification of the message 25 and the associated link.

(32) FIG. 4 shows the details of the procedure for creating Bob's public and private information.

(33) The password 27 can be entered by Bob on a physical or virtual keyboard. It can also be generated by a code generator type equipment.

(34) This password 27 is processed by the creation interface 26 to generate: a condensate (hash) 28 by application of a known cryptographic algorithm; optionally one or more random number(s) 29; and a pair of public 30 and private 31 keys.

(35) From the code executed from the creation interface 26, Bob creates a character string that constitutes a password 27.

(36) The creation interface 26 generates a random number 29 in the example described.

(37) The creation interface 26 controls the calculation of three digital sequences: an optional condensate 28, by applying a Sha512 type processing, for example, to the character sequence password 27, after possible application of a salt algorithm to this password 27; and a pair of private/public keys respectively 30, 31 by applying processing, for example, PBKDF2, to a combination of the random number 29 and the password 27.

(38) The result of these operations leads to: secret data, which Bob does not pass on to third parties: this is the password 27 and the private key 31; public data, which is transmitted to the platform 20 and recorded on Bob's account: the condensate 28, the random number 29 and the public key 30.
New Encryption of the Message by Alice

(39) When Alice transmits the encrypted message 42 to the platform 20 as mentioned in FIG. 3, and Bob asynchronously enters a password as mentioned in FIG. 4, the conditions for finalizing the exchange between Alice, who already has an account, and Bob, who did not have an account at the time the message 21 was sent, are met.

(40) FIG. 5 shows the block diagram of the step of the new message encryption by Alice.

(41) In an automatic execution mode, when one piece of Alice's computer equipment 1, 11 is connected to the platform 20, the platform 20 commands a step of new encryption 52 of the message 42 on one piece of Alice's computer equipment 1, 11, and not on the platform 20.

(42) If necessary, for example, when the computer equipment 1, 11 does not have a cache, this operation provides for the transmission 103 by the platform 20 to Alice's computer equipment 1, 11 of: Bob's public key 30; the metadata 43 associated with the encrypted message 42; optionally the encrypted message 42 on Alice's connected equipment 1, 11.
First Alternative Solution

(43) As a first alternative solution, the platform 20 transmits the entire encrypted message 42 to Alice, and Alice decrypts this message with her private key, then encrypts it again with Bob's public key 30 that the platform 20 has just transmitted to her.

(44) The original message 21, initially encrypted with Alice's public key 19 to obtain a transient encrypted message 42, is now available in a new form 45 encrypted with Bob's public key.

(45) The message 42 is deleted from the platform 20 and replaced by the encrypted message 45.

(46) This alternative solution requires heavy processing for important messages.

(47) Second Alternative Solution

(48) According to another alternative solution, the platform 20 transmits the random key 44 to Alice only. Alice deciphers this random key 44 with her private key, then encrypts the random key 44 thus decrypted with Bob's public key 30, that the platform 20 has just sent her, again.

(49) In this case, the encrypted message 42 is kept, only the associated metadata 43 are updated on the platform thanks to an automatic request from Alice.

(50) This alternative solution simplifies the processing of large-volume messages.

(51) Retrieval of the Message by Bob

(52) FIG. 6 shows the block diagram of the step of message retrieval by Bob.

(53) After this re-encryption operation, the platform 20 sends Bob a digital message including a text or automatic notification enabling him to retrieve Alice's encrypted message.

(54) Alternatively, Bob's application periodically queries the platform 20 to check the availability of new messages, or Bob manually connects to the platform 20 to check if new messages are available.

(55) Upon connection, Bob's computer equipment 2, 12 performs similar processing as shown in FIG. 5, based on the password 27 he had initially created, and the random number 29 initially recorded on the platform 20.

(56) This enables Bob to regenerate the public key 30 and the private key 31 that is never stored and never passes through the network.

(57) Bob can then retrieve the encrypted metadata 43 and the encrypted message (42 or 45, depending on the variant), and decrypt them with his private key 31.

(58) For subsequent exchanges, both parties have an account on the platform 20 enabling them to communicate in encrypted mode from end to end.

(59) Functional Architecture of a Connected Object

(60) In the case where the exchanges are not between two people with computer equipment, but between connected objects or a connected object and a person, the connected object has an architecture, an example of which is shown in FIG. 6.

(61) The connected object comprises a computer 300 associated with a network communication circuit 301 in a known way.

(62) The computer 300 has a non-volatile memory 302 area in which at least one digital sequence corresponding to the password 27 is stored. Optionally, the non-volatile memory 302 may also contain a second digital sequence corresponding to the random number 29.