WO2020115002A1 - Dispositif pour communiquer dans un reseau de passerelles heterogenes par reseau radio avec au moins un nœud et par un reseau longue distance, avec au moins un destinataire - Google Patents
Dispositif pour communiquer dans un reseau de passerelles heterogenes par reseau radio avec au moins un nœud et par un reseau longue distance, avec au moins un destinataire Download PDFInfo
- Publication number
- WO2020115002A1 WO2020115002A1 PCT/EP2019/083396 EP2019083396W WO2020115002A1 WO 2020115002 A1 WO2020115002 A1 WO 2020115002A1 EP 2019083396 W EP2019083396 W EP 2019083396W WO 2020115002 A1 WO2020115002 A1 WO 2020115002A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- module
- gateway
- recipient
- node
- transaction
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/29—Payment schemes or models characterised by micropayments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/16—Gateway arrangements
Definitions
- the present invention relates generally to the field of telecommunications in a network with loT connected objects, in particular the field of network communication systems using gateways, connectable to an object or to a node and an application for receiving data from the network. object or node.
- the invention also relates to a type of gateway used to make it possible to form a network of heterogeneous gateways (in the sense that the gateways do not all belong to the same operator) for communicating by radio network with at least one node and by a wired network with at least one application or at least one application server of a recipient and a data storage device constituting at least one database memorizing blockchain transactions, and the use of one or more gateways in a system for object connected and user applications ⁇
- It also relates to a communication method making it possible to communicate in a secure manner by radio network with at least one node and by a wired network with at least one application or at least one application server of a recipient via at least one gateway and a data storage device constituting at least one database storing blockchain transactions.
- LPWAN Low-Power Wide Area Networking
- wide area network is a computer network covering a large geographic area, and allowing a wide variety of services and applications. In particular, it makes it possible to meet the needs of data communications for the Internet of Things (loT).
- LoT Internet of Things
- a loT device is often characterized by small electronic equipment which consumes little power to send a limited amount of data over the air at a time, allowing it to operate for several years on a single battery.
- LPWAN technology offers a limited transmission rate but a robust modulation which allows communications over several kilometers. Such a range allows a limited need for deployment of equipment, which reduces the number of antennas and / or gateways required.
- LoRaWAN is one of the most satisfying implementations of LPWAN technology, thanks to its open source system support and the ability for anyone to create their own network.
- LoRaWAN uses unlicensed radio spectrum as does Wi-Fi, which means that anyone can use these radio frequencies without paying fees for transmission rights.
- This flexible deployment strategy has prompted industries and businesses to invest in this technology. This allows them to either use an existing public network or set up their own private network if they are concerned about ownership of their network.
- LoRaWAN comes with ease of installation, is completely free of industrial property rights and royalties (which is not the case with Sigfox) and has the most resistant level of security and confidentiality.
- LoRaWAN has attracted the attention of industrial players to meet different needs in various fields. This, whether in terms of management assets for monitoring and surveillance (in the field of airports, parking lots, construction sites, warehouses, retail businesses, optimization of energy management, planning, tracking of pallets, transport containers, “smart” cities with smart meters, parking sensors, urban lighting control, waste management, or “smart” buildings and houses which can detect water leaks, check rodent or termite traps, and all smart household sensors).
- LoRaWAN The architecture of LoRaWAN consists of at least one device or sensor which detects and collects data to transmit it to a gateway within radio range, at least one gateway which acts as an access point and sends packets to a network server through a backhaul network; a central network, the network server which receives all the packets received from the gateways and directs them to an application server, and finally, at least one application server which manages the client application and processes the data.
- This type of system is suitable and convenient from the point of view of confidentiality and security, but has the drawback of, even if a LoRa gateway can cover a large area of several kilometers, requiring considerable resources to cover independently the entire area of use of the devices (eg whole countries).
- the company wishing to deploy its own private network will have to install gateways, application servers and above all a core network.
- the PicoWAN network allows easy deployment and is less costly than conventionally, but offers a small area of action, with the need to install gateways to provide said network.
- the object of the present invention is to overcome certain drawbacks of the prior art by proposing a communication network for data from the Internet of Things, which is similar to an operator network such as a cellular network. 2G / 3G / 4G, the SIGFOX network or even a LoraWAN network, but without said network requiring an operator to operate or without an entity specifically deploying relay antennas (gateways) in an area where it does not have one not.
- the invention thus relates to a communication device comprising at least two gateways and a node or object, the gateways forming a network of heterogeneous gateways, for communicating by radio network with at least said node or object and by a long distance network with at least another gateway, an application or at least one application server of a recipient and a data storage device constituting at least one blockchain database memorizing blockchain transactions, each gateway characterized in that it comprises several modules codes executable on one or more hardware processing components such as a microprocessor to constitute a machine, the modules being stored in at least one medium readable by the machine, including at least:
- a second transmitter module which, by executing at least one code on a hardware component, sends over the radio network to the node or object communicating with at least one connected object (D) or the object, data stored in at least one medium readable by the gateway machine, the data comprising at least one ephemeral public key (ePk) complementary to a private ephemeral key (eSk), as well as information concerning said gateway and the potential transfer of data,
- ePk ephemeral public key
- eSk private ephemeral key
- a third receiver module which comprises a plurality of codes executed on a hardware component, for receiving data from a node or object by the radio network if said node or object chooses to carry out the transfer by said gateway then chosen,
- Said node or object comprising at least one or more code modules executable on one or more processing hardware components such as a microprocessor for constituting a machine, the modules being stored in at least one medium readable by the machine, and at least :
- Machine readable media constituting a memory space comprising a private key (Sk) and a recipient blockchain address (@R) linked to a blockchain transaction created by the application or the application server of the recipient (7) comprising an IP address of the gateway (3 '), of the recipient's application or application server (7), the blockchain address preferably being transmitted by an application of the recipient or the application server from recipient to node;
- Sk private key
- @R recipient blockchain address
- a receiver module which, by executing codes on a hardware component, receives the ephemeral public keys (ePk1, ePk2) as well as the information concerning said gateway and the potential transfer of data sent by each of the second transmitter modules of the gateways, optionally in response to requests for information sent from a transmitter module of the node or object; said receiver module comprising an analysis sub-module which, by executing codes on a hardware component, analyzes said information concerning said gateway and the potential transfer of data, chooses the gateway through which the data transfer must be carried out, and defines the security level of the communication protocol, either “secure” or “trusted” for said data transfer as a function of said information,
- a generator module which, by executing codes on a hardware component, generates a message (m) in response to data generated in the object or coming from an object connected to the node.
- the invention has the advantage of allowing at least one transfer of a message from a node to a recipient, via a gateway which does not necessarily share the same owner with the recipient and / or the node, while ensuring the security and confidentiality of the message, the ephemeral private key being known only to the gateway and the node, both actors in the communication.
- the gateway according to the invention incorporates one or more of the following characteristics, taken in isolation or in any technically possible combination:
- the node analysis sub-module analyzes the information relating to each gateway and their potential data transfer, at least one of said information corresponds to: •
- the owner of the gateway is identical to the owner of the recipient
- the gateway identifier corresponds to that of a database of the node or object as a trusted intermediary and / or recipient
- the gateway has the key (Sk), or is the issuer of the private key (Sk)
- the gateway is the transmitter of the ephemeral key (K) received by the receiver module N2 of the node, said analysis sub-module chooses the gateway which is responsible for sending said information, defines the security level of the communication protocol as "trusted", the sending submodule sending only the message (m) to the recipient's gateway (7).
- the generator module of the node or object when the security level of the chosen communication protocol is “secure”, also comprises an encryption sub-module which, by means of the ephemeral public key (ePk1) sent by the second transmitter module of the chosen gateway, encrypts this message to obtain the encrypted message, the encryption sub-module also carrying out a signature, the signature (Sig) being encrypted, of a hash of the encrypted message and of the public key ephemeral (ePk) received from the chosen gateway, using the private key (Sk) contained in the memory space of the node or object, the generator module (N5) also comprising a transmitter submodule which sends the data including at least one part is secure and authentifiable including at least the signature (Sig), the encrypted message (Em), and the blockchain address (@R) of the recipient at the gateway chosen by the radio network
- the third receiver module of the chosen gateway receiving the data, at least part of which is secure and authenticable from the node or object of the radio network further comprises: a search sub-model which, by executing codes on a hardware component , searches for a transaction at the blockchain address of the gateway, the application or the application server of the recipient (@R) and retrieves said IP address of the gateway, the application or the application server of the recipient contained in the transaction, and a submitting submodule which, by the execution of codes on a hardware component, triggers the sending by IP protocol to the IP address of the gateway, of the application or of the application server of the recipient of at least said at least secure data, the chosen gateway further comprising:
- a fourth blockchain management module including:
- At least one search sub-module which, by executing codes on a hardware component, searches for a transaction or data from the blockchain transaction created by the recipient in the database memorizing blockchain transactions and which comprises or results a specific ephemeral public key (ePk) script at the recipient's blockchain address, and;
- a transaction creation sub-module which, by executing codes on a hardware component, creates a new blockchain transaction intended for the gateway itself using a script incorporating the ephemeral private key (eSk) allowing to validate the script of the blockchain transaction created by the recipient, said new transaction once validated allows the recipient to access the key (eSk) to allow to decrypt the encrypted message (Em), said creation starting when said blockchain transaction created by the recipient has been found.
- eSk ephemeral private key
- the invention also relates to a communication system comprising a communication device and which further comprises a gateway, a
- the gateway comprising at least one or more code modules executable on one or more processing hardware components such as a microprocessor to constitute a machine, the modules being stored in at least one machine-readable medium, at least of which:
- a generation module (D1) which, by executing codes on a hardware component, generates and sends the private key (Sk) and optionally the symmetric key (K) to the node communicating with at least one connected object;
- a machine-readable medium constituting a memory space comprising a public key (Pk) complementary to the private key (Sk) transmitted to the node;
- a first transaction module which, by executing codes on a hardware component, creates a blockchain transaction at the blockchain address of the recipient's gateway, application or application server (@R), said transaction blockchain comprising the IP address of the gateway, the application or the application server of the recipient;
- a receiver module which, by the execution of codes on a hardware component, receives data, the data being different, from the chosen gateway, by a long distance network, for example the Internet, or from the node or object by a radio network. depending on the security level of the
- the data received by the recipient's receiver module is data of which at least part is secure and authentifiable and includes the encrypted message (Em), the signature (Sig) and the ephemeral public key (ePk ) of the chosen gateway, and upon receipt of said data, said module launches a signature verification sub-module (Sig) which verifies by means of a signature calculation by means of the private key (Sk) recorded in the memory space by comparing the result of the calculation with the signature (Sig) received that the message (Em) received has indeed been generated by the node or object
- the recipient also comprising a transaction module
- the first transaction module which, by executing codes on a hardware component, creates a blockchain transaction at the recipient's blockchain address (@R) once the verification sub-module has performed the
- the transaction module (D4) comprising a search sub-module (11) which once the Em ePk and Sig elements received, searches for a blockchain transaction incorporating the blockchain address of the chosen gateway and a signing script using the ephemeral private key (eSk);
- the transaction module comprising a decryption sub-module which, once the blockchain transaction is found, uses the ephemeral private key (eSk) of said transaction to decrypt the encrypted message of the node received from the gateway by the receiver module, and preferably further by means of the key
- the transaction module optionally further comprising a read / write submodule and a memory space in which the read / write submodule records data and which, once the blockchain transaction is found, records the ephemeral private key (eSk ) of said transaction.
- eSk ephemeral private key
- a gateway an application or an application server of the recipient comprises data comprising a pair of ephemeral private and public keys (eSk, ePk) and information on a potential data transfer, said data being recorded on machine readable media,
- the recipient comprises a gateway, which sends said data to said node, optionally in response to a request
- the recipient further comprising a transaction module, optionally the first transaction module, which, when it receives data of which at least part is secure and authenticated from the node or object of which at least one of them corresponds at least to one of:
- recipient is the blockchain address (@R) of the recipient and / or
- the recipient generation module sends information to the node
- the node analysis sub-module chooses the gateway which is responsible for sending one of these pieces of information, defines the level of security of the communication protocol as "trusted",
- the receiver receiver module when the receiver receiver module receives at least the message (Em or m) not encrypted by the ePk key, it stops the communication protocol.
- the recipient's transaction module unlocks the transaction created by said module after a certain period, if the chosen gateway has not released the transaction during this period.
- At least one, preferably each, gateway further comprises a first generator module which includes at least one code executed on a hardware component, to generate the ephemeral private key (eSk) and the ephemeral public key (ePk) complementary to said private ephemeral key (eSk), preferably in response to a triggering event, and stores these keys (ePk, eSk) in a machine-readable medium, the first generator module (P1) also generating information concerning said gateway and the potential data transfer,
- the encryption sub-module of the node or object encrypts for the first time the message (m) generated by the generator module by means of a symmetric key (K) shared with a gateway, an application or a server of recipient's application to obtain the encrypted message Ek (m), preferably before the encryption submodule encrypts the message using the ephemeral public key (ePk) to obtain the encrypted double message (Em).
- K symmetric key
- ePk ephemeral public key
- the event triggering the generation and / or the sending of the ephemeral private and public keys (eSk, ePk) and of information concerning said gateway and the potential transfer of data by the first generator module (P1) can be at least one event chosen from the following list:
- a transmission module of the gateway optionally the second module of the gateway, of a signaling message containing the ephemeral public key and the information concerning said gateway and the potential transfer of data, or a of their combinations.
- the search sub-module of the fourth blockchain management module of the chosen gateway begins said search when the sending of data, at least part of which is secure and authenticated to the recipient, is carried out,
- the fourth blockchain management module of the gateway further comprises a verification sub-module which, by the instruction of codes associated with a hardware component, verifies by means of the ephemeral private key (eSk) that said transaction contains a token, or a financial value, and optionally studies the token or its value, or measures said financial value, the verification sub-module being further configured to stop the transaction if the verification fails or if the value of the token or the financial value contained in the transaction is less than a value previously negotiated between the gateway and the node.
- eSk ephemeral private key
- the node uses RSA-512 encryption to perform its data signature.
- the fourth blockchain management module of the chosen gateway comprises a time measurement sub-module associated with an instruction to wait for a confirmation time after the reception of a blockchain transaction from the recipient, preferably at less before the receipt of the transaction requiring the provision of the ephemeral secret key (eSk) still preferably the confirmation time being corresponding to the confirmation of the mining of the blockchain block by other participants of the blockchain.
- eSk ephemeral secret key
- the invention also relates to a method of communication between at least one node or object connected by radio to at least two gateways communicating via a long distance network with at least one gateway, an application or an application server of at least a recipient, characterized in that it comprises: gateways forming a network of heterogeneous gateways and each comprising several code modules executable on one or more processing hardware components such as a microprocessor for constituting a machine, the modules being stored in at least one machine-readable medium including at least:
- a third receiver module which includes a transmitter sub-module
- a fourth blockchain management module which comprises at least a research sub-module and a transaction creation sub-module
- a node of a connected object comprising at least one or more code modules executable on one or more processing hardware components such as a microprocessor for constituting a machine, the modules being stored in at least one medium readable by the machine and at least :
- Machine readable media
- a generator module comprising an encryption sub-module and a transmitter sub-module
- a gateway, an application or an application server of the recipient comprising at least one or more code modules executable on one or more processing hardware components such as a microprocessor for constitute a machine, the modules being stored in at least one machine-readable medium, at least of which:
- Machine readable media
- a first transaction module A first transaction module
- a receiver module including a verification sub-module
- a transaction module optionally the first transaction module comprising a search sub-module, a read / write sub-module and a decryption sub-module
- the modules performing their actions by executing codes on at least one hardware component
- the data comprising at least the message (m) being transferred to the recipient via the chosen gateway, and according to the defined communication protocol.
- said communication protocol when the security level of the communication protocol is defined as “secure”, said communication protocol then comprises, after the generation of the message (m) by the generator module of the node, the steps following:
- Signature Creation of a signature (Sig) by the encryption sub-module, the signature (Sig) being the encryption, of a hash of the encrypted message and of the ephemeral public key (ePk) received from the chosen gateway, by means of the private key (Sk) contained in the memory space of the node,
- VII- Reception of data at least part of which is secure and authenticable by the third receiver module (P3) of the chosen gateway and search by the search sub-model of the third receiver module (P3) of the chosen gateway (3) d '' a blockchain address of the recipient's application or application server (@R) linked to a blockchain transaction created by the gateway, the recipient's application or application server comprising an IP address of the gateway, application or application server of the recipient and retrieves said IP address, VIII- Sending by the sender submodule of the third module of the gateway chosen by TCP / IP protocol to the IP address of the recipient's application or application server of at least the data, at least part of which is secure and authentifiable;
- IX- Reception by the receiver module of the application or an application server of the recipient by TCP / IP protocol of the data of the chosen gateway, and upon reception of the said data, launch of a sub-module for verifying the signature (Sig), and verification by means of a signature calculation by means of the private key (Sk) recorded in the memory space by comparing the result of the calculation with the signature received (Sig) that the message (Em ) received has been generated by the node or object, the transaction being stopped by the module if the verification fails;
- XI- Search for a transaction of the blockchain transaction created by the recipient in the database memorizing the blockchain transactions and which includes or results from a specific ephemeral public key (ePk) script by the fourth research sub-module gateway blockchain management module, optionally once the data has been sent in step VIII, then, once said blockchain transaction created by the recipient found, creation of a new blockchain transaction by the sub-module transaction creation of the fourth blockchain management module of the gateway using as inputs the outputs of the previous transaction, and using a script incorporating the ephemeral private key (eSk).
- ePk ephemeral public key
- the communication method further comprises in step XI a verification by the search sub-module of the fourth blockchain management module (P4) of the chosen gateway that said transaction contains a token, or a financial value , and preferably a measurement of the token or of said financial value, the transaction being stopped by the sub-module if the verification fails or if the value of the token, or the financial value contained in the transaction is less than a value previously negotiated between the gateway and node.
- P4 blockchain management module
- the recipient comprises at least one pair of ephemeral private and public keys (eSk, ePk) and information concerning the recipient and the potential transfer of data recorded on a machine-readable medium, or preferably comprises a gateway (3), which allows
- step III the sending to said node or object of said pair of ephemeral private and public keys (eSk, ePk) and of said information, optionally in response to a request for information sent by the node, and
- step IV the choice by the sub-module of analysis of the node or object (1), of the gateway of the recipient and the definition of the level of security of the communication protocol as “secure”,
- said communication protocol then comprising, after generation of the message (m) by the generator module of the node, the following steps:
- a signature (Sig) by the encryption sub-module, the signature (Sig) being the encryption, of a hash of the encrypted message and of the ephemeral public key (ePk) received from the chosen gateway (3), by means of the private key (Sk) contained in the memory space of the node, VI- Sending of data at least part of which is secure and authentifiable including at least the signature (Sig), the encrypted message (Em) and the recipient's blockchain address (@R) by the submitting module of the generator module from the node to the gateway chosen by the radio network;
- the Vllbis step being carried out only when said recipient gateway receives data from the node which corresponds to at least one of:
- the received message (Em) is encrypted by the ephemeral public key ePk that the recipient has sent himself.
- the recipient's generation module (D1) is within radio range of the node and sends the node before step III at least one item of information mentioning:
- step IV choice by the analysis sub-module of the node receiving module, of the recipient's gateway, and definition of the level of security of the communication protocol as "trusted", and
- the communication method further comprises during step IV, a first encryption of the message (m) carried out by the encryption sub-module of the node generator module by means of a shared symmetric key (K) with a gateway, an application or an application server of the recipient to obtain the encrypted message Ek (m), before encryption using the ephemeral public key (ePk) is carried out, to obtain the double encrypted message (Em ),
- the decryption of the encrypted double message (Em) by the application decryption sub-module or an application server of the recipient in step XIII is then carried out using the ephemeral private key (eSk) then the symmetric key (K).
- each of the gateways comprises a first generator module
- the communication method further comprising, before step III, a first step of generation by each of the first generator modules of the gateways of an ephemeral private key (eSk1, eSk2 ) and an ephemeral public key (ePk1, ePk2) complementary to said ephemeral private key (eSk1 1, eSk2), as well as information concerning the gateway and the potential transfer of data in response to a triggering event, and storage of these keys (ePk1, eSk1, ePk2, eSk2) in the machine-readable media of the gateway;
- ephemeral private key eSk1, eSk2
- ePk1, ePk2 ephemeral public key
- FIG. 1 represents a simplified schematic view of the communication system according to one embodiment , between a gateway, a recipient and a node of a connected object, via the radio network, symbolized by arrows, and the terrestrial network (Internet), symbolized by the symbol 5.
- FIG. 2 is a simplified schematic view of the communication system according to one embodiment, representing the different stages of the communication method, in the case where the security level of the communication protocol is defined as “secure”, said system comprising two gateways within radio range of the node.
- FIG. 3 is a simplified schematic view of the communication system according to one embodiment, representing the different stages of the communication method, in the case where the security level of the communication protocol is defined as “trusted”.
- FIG. 4 is a simplified schematic view of the communication system according to another embodiment, representing the different stages of the communication method, in the case where the level of security of the communication protocol is defined as “secure” but where the protocol is stopped before the end of the conventional steps shown in FIG. 2.
- systems shown in some of the figures can be supplied in various configurations.
- the systems can be configured as a distributed system in which one or more
- system components are distributed over one or more networks in a “cloud computing” or cloud computing system.
- circuits, systems, networks, processes and other components can be represented as components in diagram form so as not to obscure the embodiments unnecessarily.
- well-known circuits, processes, algorithms, structures and techniques can be shown without unnecessary details in order to avoid obscuring the embodiments.
- a connected object (D) can communicate with a recipient (7) via a foreign gateway (3).
- the gateway (3) makes it possible to transmit a message (m) from a node (1) to an application or to an application server of a recipient (7), the gateway 3 acting as a relay between the node (1) and the recipient (7), by communicating with them respectively by radio network, by wireless link (2), preferably by the LoRaWAN network, and by Internet network with an IP link (6).
- the sensor of a connected object (D) directly linked to a node (1) generates data which it must send to a recipient (7).
- the node (1) is not within radio range of the recipient (7).
- To send its data it will use an intermediary, a gateway (3) by wireless link, or radio link (2).
- the gateway (3) is connected by IP link (4) to the Internet network (5), as is the recipient (7) which is also connected by IP link (6) to the Internet network (5).
- the blockchain database is not shown here and is accessible through the
- gateway (3) and recipient (7) by IP link
- the connected object is associated with a sensor, a probe or any other technical means configured to generate data to be transmitted to a recipient.
- the telecommunications network according to the invention is distributed and reliable, while guaranteeing non-abusive use of the network, by using the characteristics of the blockchain.
- This goal is achieved by a particular architecture based on the LoRaWAN network.
- This network is characterized in that, on the contrary, it relies on the users themselves to operate, and the trust and proper use of the network are ensured thanks to a blockchain.
- each user can decide to deploy one or more gateway (s) which allow objects of this user or other users to transmit data on the Internet.
- a gateway in his house connected to his internet box. He also installed a collar around his dog's neck fitted with a GPS and a connection to the BcWAN network. When the dog is near the owner's house, the position is sent directly to the BcWAN gateway by radio. If the dog escapes and leaves the communication range of the gateway of his master, the position of the dog can be relayed through the gateway of another user.
- the node of the collar when the node of the collar is detected by said gateway of another user, it will generate a pair of unique private and public ephemeral keys and will send the public ephemeral key to the collar node to allow it to start the transfer. data by the BcWAN network when it wishes.
- the network according to the invention can be used in the management of tools for monitoring and surveillance (airports, car parks, construction sites, warehouses, retail businesses), for optimizing the management of energy, regional planning, pallet tracking, transport containers; "smart” cities with smart meters, parking sensors, urban lighting control, waste management; or "smart” buildings and houses that can detect water leaks, control rodent or termite traps, and all smart household sensors.
- the network according to the invention is a decentralized platform which allows different parties to access their nodes and collect data through foreign gateways (of which the parties are not the owners), while maintaining the standards of confidentiality and security.
- a blockchain-based architecture manages access to network control, and allows gateways to communicate directly across a peer-to-peer network.
- a node belonging to a recipient can send data to the recipient via a foreign gateway while:
- Gateways should not be able to receive more data than is necessary for participation in the network • and the gateway can be rewarded for the data transfer carried out.
- heterogeneous network is meant a network where the different actors (gateways, nodes, recipients) do not belong to the same owner, and do not necessarily trust each other.
- This type of network is simpler to set up because it does not require a large investment on the part of one party, the investment being on the contrary divided between different parties not necessarily knowing each other. It is therefore important to have a mechanism making the network reliable, secure and confidential in this type of network to prevent an actor belonging to a malicious owner from stealing or modifying data.
- Machine-readable storage / media means, but are not limited to, portable or non-portable storage devices, optical storage devices, and various other media capable of storing, containing or supporting instructions and / or data, and any medium which participates in the supply of instructions to a processor for their execution.
- Machine readable media may include a non-transient medium in which data can be stored and which does not include carrier waves and / or transient electronic signals propagating wirelessly or through wired connections.
- Non-volatile media include, for example, optical, magnetic, or read-only discs.
- Volatile media includes dynamic memory, including cache memory.
- Transmission media include coaxial cables, copper wires and optical fibers.
- Computer readable media include, for example, but not limited to, a floppy disk, flexible disk, hard drive, magnetic tape, any other magnetic media, CD-ROM, DVD, any other optical media, punched cards, other physical media with hole patterns, RAM, PROM and EPROM, FLASH-EPROM, any other memory chip or cartridge, carrier wave, or any other media from which a computer can read.
- Various forms of computer-readable media can be involved in supporting one or more sequences of one or more instructions to a processor for execution.
- a computer program product can include code and / or instructions executable by a machine which can represent a procedure, a function, a subroutine, a program, a routine, a subroutine, a module, software, a class or any combination of instructions, data structures, or program instructions.
- a code segment can be coupled to another code segment or to a hardware circuit by transmitting and / or receiving information, data, arguments, parameters or memory contents.
- Information, arguments, parameters, data, etc. can be transmitted, transmitted or transmitted by any appropriate means, in particular memory sharing, message transmission, token transmission, network transmission, etc.
- modules can be implemented by electronic circuit, such as an integrated circuit for example or by other types of arrangement of components, such as for example semiconductors, logic gates, transistors or other discrete components.
- modules can also be implemented by one or more software application (s) or portion (s) of executable code (s) within at least one software environment, for execution by various types processors, regardless of the language used.
- An identified module of executable code can, for example, include one or more physical or logical blocks of machine instructions which can, for example, be organized into an object, process, or function.
- routines and instructions of an identified module do not need to be physically located together, but can include disparate instructions stored in different locations which, when joined functionally and logically together, form the module and perform the purpose indicated for the module.
- a module can be a single executable code instruction, or a plurality of instructions, and can even be distributed among several different code segments or among different programs and stored in several memory blocks.
- operational data can be identified and illustrated in modules, and can be incorporated in any suitable form and organized in any suitable type of data structure. Operational data can be gathered or can be distributed to different places including different finished storage devices, and can exist, at least partially, simply as electronic signals on a system or network. Different modules can thus compose grouped modules, or even a single module.
- embodiments can be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof.
- program code or code segments to perform necessary tasks can be stored on machine readable media.
- a processor can perform the necessary tasks.
- Hardware component means any hardware component and any combination of electronic components enabling a task to be carried out, such as one or more devices, processors or processing devices which can be configured to perform the function (s) of each of the elements and modules of the structural arrangement described here.
- the device (s), processors or processing devices may be configured to execute one or more sequences of one or more instructions executable by the machine contained in a main memory in order to implement the method (s) or the method (s) functions described in this application.
- the execution of the sequences of instructions contained in a main memory causes the processors to execute at least some of the steps of the process or of the functions of the elements described here.
- processors in a multi-processor arrangement can also be used to execute sequences of instructions contained in main memory or a memory readable computer.
- wired circuits can be used in place of or in combination with software instructions.
- the embodiments are not limited to any specific combination of hardware and software circuits.
- Blockchain is a technology for storing and transmitting information, transparent, secure, operating without a central control body.
- a blockchain constitutes a database which contains the history of all the exchanges made between its users since its creation. This database is secure and distributed: it is shared by its various users, without intermediaries, which allows everyone to check the validity of the chain.
- Each Blockchain transaction has inputs and outputs, it is the vector for the exchange of cryptocurrency. So that the output of a transaction can be "spent" it is added to the input of a transaction. The new transaction must validate the script linked to the previous transaction. The script is a series of instructions that allows you to have control over the use of transaction outputs.
- the basic script of the Bitcoin Blockchain is called pay-to-pubkey-hash. It allows you to control who will be the beneficiary of the outings.
- blockchain address is meant a unique identifier used to designate the destination of a transaction, to which the entity to which the blockchain address belongs will create a blockchain transaction. This transaction will thus be found in the blockchain database using this identifier.
- Data of which at least part is secure and authentifiable is understood to mean data which includes secure data (encrypted message), authentifiable (signature which results from encryption by a key and which makes it possible to authenticate the author of said encryption ).
- the data can also contain unencrypted, therefore public, data, such as a recipient or gateway blockchain address, or an ephemeral public key.
- BcWAN The goal of BcWAN is to create a shared LoRaWAN infrastructure that allows different parties to deploy and use the network without requiring a single network operator and without having to deploy the entire network.
- the idea of BcWAN is that it does not rely on a trusted third party which can be difficult to define in such a situation. Indeed, BcWAN does not require any centralized server or any trusted third party, unless we consider a blockchain as a trusted third party. In order to prevent abuse on the network, BcWAN relies on cryptocurrencies and micro-transactions.
- This architecture can include a reward, a token or a financial value in exchange for the delivery of a message.
- WAN network means a wide area network, which comprises at least one transmission / wired link part, but which can also include a wireless transmission / link part.
- the radio network (wireless link) by which the node or object and the gateway communicate is a moderate distance network, the data flow of which is generally more limited than the long distance network like the Internet network.
- Long distance network is understood to be a wired and / or wireless network, which makes it possible to transfer data over a long distance, for example the Internet network. It is understood that the sendings carried out by Internet can for example use the protocols TCP / IP or UDP / IP.
- Node or object means a device for communicating which can be the node of an intelligent object, or the object itself which can communicate. It is thus understood that when we speak of a node and unless the opposite is clearly expressed, we mean a node or an object.
- the invention thus provides an architecture based on the LoRa network allowing the transmission of data via third parties without the need for a trusted third party. This is particularly interesting because it allows parties sharing the same objective to deploy a common network in a secure and fair manner while respecting security standards.
- the rules are applied via a blockchain so that the parties can trade fairly within the federated network. Parties that do not participate in the network cannot profit from the goods traded in the network.
- the invention also provides a new way for parties to securely exchange data in a potentially malicious environment without the need for a trusted third party.
- Such an exchange is based on the principle of "fair exchange” between the actor who sends the data to be paid to the transmitter, generally a gateway, and the transmitter who wishes to receive the cryptocurrency in exchange for sending the data. This principle must be respected for the exchange to work.
- the invention addresses this problem by guaranteeing that payment is made if and only if the data is sent to the recipient by the gateway, using the functionality provided by Blockchain scripts, also called smart contracts.
- a first aspect of the invention thus relates to a communication device (9) comprising at least two gateways and a node or object (1), the gateways (3) forming a network of heterogeneous gateways, for communicating by radio network (2) with at least said node or object (1) and by a long distance network (4,6) with at least one other gateway (3 '), an application or at least one application server of a recipient (7) and a data storage device constituting at least one blockchain database (8) memorizing blockchain transactions, each gateway (3) characterized in that it comprises several code modules executable on one or more hardware processing components such as a microprocessor for constituting a machine, the modules being stored in at least one machine-readable medium, at least of which:
- a second transmitter module which, by executing at least one code on a hardware component, sends over the radio network to the node or object (1) communicating with at least one connected object (D) or the object, data stored in at least one medium readable by the gateway machine, the data comprising at least one ephemeral public key (ePk) complementary to a private ephemeral key (eSk), as well as information concerning said gateway and the potential data transfer,
- ePk ephemeral public key
- eSk private ephemeral key
- a third receiver module which comprises a plurality of codes executed on a hardware component, for receiving data from a node or object (1) by the radio network (2) if said node or object chooses to carry out the transfer by said gateway (3) then chosen,
- Said node or object (1) comprising at least one or more code modules executable on one or more processing hardware components such as a microprocessor for constituting a machine, the modules being stored in at least one machine-readable medium, and at least:
- Machine readable media constituting a memory space comprising a private key (Sk) and a recipient blockchain address (@R) linked to a blockchain transaction created by the application or the application server of the recipient (7) comprising an IP address of the gateway (3 '), of the recipient's application or application server (7), the blockchain address preferably being transmitted by an application of the recipient or the application server from recipient to node;
- Sk private key
- @R recipient blockchain address
- a receiver module (N2) which, by executing codes on a hardware component, receives the ephemeral public keys (ePk1, ePk2) as well as the information concerning said gateway and the potential transfer of data sent by each of the second transmitter module ( P2) gateways (3), optionally in response to requests for information sent from a transmitter module (N1) of the node or object (1); said receiver module (N2) comprising an analysis sub-module which, by executing codes on a hardware component, analyzes said information concerning said gateway and the potential transfer of data, chooses the gateway by which the data transfer must be performed, and defines the level of security of the communication protocol, either "secure” or “trusted” for said data transfer based on said information,
- a generator module (N5) which, by executing codes on a hardware component, generates a message (m) in response to data generated in the object or coming from an object connected (D) to the node (1) .
- the invention has the advantage of allowing at least one transfer of a message from a node to a recipient, via a gateway which does not necessarily share the same owner with the recipient and / or the node, while ensuring the security and confidentiality of the message.
- Another advantage of the invention is to be able to communicate data from the node within a network of heterogeneous gateways, having different characteristics (signal strength, price of data transfer, etc.), the gateway therefore being able to send its characteristics in order to offer its services to the node.
- the recipient (7) can own one or more gateways (3) as described in the present request. It will thus be possible to carry out a communication as if the gateway were foreign to the node. Conversely, it may be interesting to adapt the communication process according to the gateway chosen and thus simplify the communication process if the chosen gateway is a gateway that belongs to the same owner as the node.
- the analysis sub-module is thus capable of searching for gateways which can communicate with the node and of selecting a gateway satisfying conditions of determined transmission quality; the node can then compare the offers and characteristics of the different gateways within radio range, and choose the gateway that offers the best service.
- At least one of said information corresponds to:
- the owner of the gateway (3) is identical to the owner of the recipient (7)
- the gateway identifier (3) corresponds to that of a database of the node or object as a trusted intermediary and / or recipient
- the gateway (3) has the Sk key, or is the issuer of the private key (Sk)
- the gateway (3) is the transmitter of the ephemeral key (K) received by the receiver module N2 of the node (1), said analysis sub-module chooses the gateway which is responsible for sending said information, defines the security level of the communication protocol as "trusted", the transmitter submodule sending only the message (m) to the recipient's gateway (7).
- the node (1) when the node (1) sends encrypted data directly to the recipient's gateway (7), the node (1) can send said data without encrypting it with the ephemeral public key (ePk) since the exchange is not made only between actors belonging to the same owner, who trust each other.
- the recipient (7) receives an unencrypted message or, optionally, encrypted only by a symmetric key (K) shared between the node (1) and the recipient (7) and can decrypt it without requiring the steps of the transaction method and to use the blockchain for communication with a foreign gateway.
- K symmetric key
- the generator module (N5) of the node or object (1) further comprises an encryption sub-module which , using the ephemeral public key (ePk1) sent by the second transmitter module (P2) of the chosen gateway (3), encrypts this message to obtain the encrypted message (Em), the encryption sub-module also performing a signature, the signature (Sig) being the encryption, of a hash of the encrypted message and of the ephemeral public key (ePk) received from the chosen gateway (3), by means of the private key (Sk) contained in the space memory of the node or object (1), the generator module (N5) also comprising a transmitter submodule which sends the data at least part of which is secure and authentifiable including at least the signature (Sig), the encrypted message (Em ), and the blockchain address (@R) of the recipient at the gateway chosen (3) by the radio network (2)
- the third receiver module (P3) of the chosen gateway (3) receiving the data, at least part of which is secure and authenticable from the node or object (1) of the radio network (2) further comprises: a search sub-model which, by executing codes on a hardware component, searches for a transaction at the blockchain address of the gateway, of the recipient's application or application server (@R) and retrieves said IP address of the gateway, of the recipient's application or application server (7) contained in the transaction, and a sender submodule which, by executing codes on a hardware component, triggers the sending by IP protocol (4) to the IP address of the gateway, the application or the application server of the recipient (7) of at least said at least secure data, the chosen gateway (3) further comprising:
- a fourth blockchain management module (P4) comprising: - at least one search sub-module which, by executing codes on a hardware component, searches for a transaction or data from the blockchain transaction (8) created by the recipient (7) in the database (8) memorizing blockchain transactions and which includes or results from a specific ephemeral public key (ePk) script at the recipient's blockchain address, and;
- ePk ephemeral public key
- a transaction creation sub-module which, by executing codes on a hardware component, creates a new blockchain transaction intended for the gateway (3) itself using a script incorporating the ephemeral private key (eSk) allowing to validate the script of the blockchain transaction (8) created by the recipient (7), said new transaction once validated allows the recipient to access the key (eSk) to allow to decrypt the encrypted message (Em), said creation starting when said blockchain transaction created by the recipient has been found.
- eSk ephemeral private key
- the node to be able to communicate data to the selected gateway and to constitute, as necessary, a telecommunications network with gateways not belonging to the same operator, the network then being distributed, heterogeneous and reliable.
- the invention also relates to a communication system (10) comprising a communication device (9) and which further comprises a gateway (3 '), an application or an application server of the recipient (7), the gateway, the application or server comprising at least one or more code modules executable on one or more processing hardware components such as a microprocessor for constituting a machine, the modules being stored in at least one machine-readable medium, at least of which :
- a generation module (D1) which, by executing codes on a hardware component, (13) generates and sends the private key (Sk) and optionally the key
- Machine readable media constituting memory space
- a first transaction module (D2) which, by executing codes on a hardware component, creates a blockchain transaction at the blockchain address of the recipient's gateway, application or application server (@R) (7), said blockchain transaction comprising the gateway IP address,
- a receiver module (D3) which, by executing codes on a hardware component, receives from the chosen gateway (3), via a long distance network, for example the Internet (4,6), or from the node or object (1 ) by a radio network, data, the data being different depending on the security level of the communication protocol chosen by the node or object (1).
- a long distance network for example the Internet (4,6), or from the node or object (1 ) by a radio network, data, the data being different depending on the security level of the communication protocol chosen by the node or object (1).
- recipient allow the establishment of a system for a distributed network whose different actors are likely to belong to different owners and foreign to each other, while ensuring non-abusive use of the network, through the use characteristics of the blockchain.
- the key is sent encrypted, in a container, or through a tunnel so that this shipment is secure and that only the recipient of the shipment can receive said private key.
- the data received by the receiver module (D3) of the recipient (7) is data of which at least a part is secure and authenticated and include the encrypted message (Em), the signature (Sig) and the ephemeral public key (ePk) of the chosen gateway (3), and when receiving said data, said module (D3) launches a verification sub-module of the signature (Sig) which verifies by means of a signature calculation by means of the private key (Sk) recorded in the memory space by comparing the result of the calculation with the signature (Sig) received that the message (Em) received has been generated by the node or object (1) communicating with at least the connected object (D), the module (D3) stopping the transaction if this verification fails;
- the recipient further comprising a transaction module (D4), optionally the first transaction module (D2), which, by executing codes on a hardware component, creates a blockchain transaction at the blockchain address of the recipient (@R) once the verification sub-module has verified the message, the transaction comprising at least one specific script, using the ephemeral public key (ePk) sent by the chosen gateway (P1);
- a transaction module optionally the first transaction module (D2), which, by executing codes on a hardware component, creates a blockchain transaction at the blockchain address of the recipient (@R) once the verification sub-module has verified the message, the transaction comprising at least one specific script, using the ephemeral public key (ePk) sent by the chosen gateway (P1);
- the transaction module (D4) comprising a search sub-module (11) which once the Em ePk and Sig elements received, searches for a blockchain transaction incorporating the blockchain address of the chosen gateway and a signature script using the private key ephemeral (eSk);
- the transaction module (D4) comprising a sub-module of
- decryption which, once the blockchain transaction is found, uses the ephemeral private key (eSk) of said transaction to decrypt the encrypted message of the node received from the gateway by the receiver module,
- eSk ephemeral private key
- the transaction module (D4) optionally further comprising a read / write submodule and a memory space in which the read / write submodule records data and which, once the blockchain transaction is found, records the private key ephemeral (eSk) of said transaction.
- an application or an application server of the recipient (7) comprises data comprising a pair of ephemeral private and public keys (eSk, ePk) and information on a potential data transfer, said data being recorded on a machine-readable medium,
- the recipient (7) comprises a gateway (3 ’), which sends said data to said node (1), optionally in response to a request for information sent by the node (1),
- the recipient (7) further comprising a transaction module (D4),
- the first transaction module (D2) which, when it receives data, at least part of which is secure and authenticated from the node or object (1) of which at least one of them corresponds to at least one of:
- the recipient (7) corresponds to the blockchain address (@R) of the recipient (7) and / or
- the received message (Em) is encrypted by the ephemeral public key ePk that the recipient (7) has sent himself,
- said recipient (7) can then decrypt the encrypted message without requiring the steps of the transaction method and the use of the blockchain for communication with a foreign gateway.
- the recipient can therefore be programmed to prevent said steps from being carried out unnecessarily, in order to save time and computer resources.
- a gateway (3 ’) from the recipient (7) corresponds to at least one of:
- the recipient's generation module (D1) (7) sends information (1) to the node (1)
- the node analysis sub-module chooses the gateway which is responsible for sending one of these pieces of information, defines the level of security of the communication protocol as "trusted",
- the receiver module (D3) of the recipient (7) receives at least the message (Em or m) not encrypted by the key ePk, it stops the communication protocol.
- the node (1) when the node (1) sends encrypted data directly to the recipient's gateway (7), the node (1) can send said data without encrypting it with the ephemeral public key (ePk) since the exchange is not made only between actors belonging to the same owner, who trust each other.
- the recipient (7) receives an unencrypted message or, optionally, encrypted only by a key symmetrical (K) shared between the node (1) and the recipient (7) and can decrypt it without requiring the steps of the transaction method and the use of the blockchain for communication with a foreign gateway.
- K key symmetrical
- the recipient can therefore be programmed to prevent said steps from being carried out unnecessarily, in order to save time and computer resources.
- the transaction module (D4, D2) of the recipient (7) unlocks the transaction created by said module (D4, D2) after a certain period, if the chosen gateway (3) has not released the transaction during this period.
- At least one, preferably each, gateway (3) further comprises a first generator module (P1) which comprises at least one code executed on a hardware component, to generate the ephemeral private key (eSk) and the ephemeral public key (ePk) complementary to said private ephemeral key (eSk), preferably in response to a triggering event, and stores these keys (ePk, eSk) in a machine-readable medium, the first generator module (P1) generating plus information regarding said gateway and potential data transfer.
- P1 comprises at least one code executed on a hardware component, to generate the ephemeral private key (eSk) and the ephemeral public key (ePk) complementary to said private ephemeral key (eSk), preferably in response to a triggering event, and stores these keys (ePk, eSk) in a machine-readable medium, the first generator module (P1) generating plus information regarding said gateway and potential data transfer.
- this makes it possible to generate different ephemeral keys for each transaction, the gateway then being responsible for the creation of its own pair of keys.
- the encryption sub-module of the node or object (1) first encrypts the message (m) generated by the generator module (N5) using a symmetric key (K) shared with a gateway (3 '), an application or an application server of the recipient (7) to obtain the encrypted message Ek (m), preferably before the encryption sub-module encrypts the message using the ephemeral public key (ePk) to get the double encrypted message (Em).
- the message can only be decrypted by a key (K) known only to the node and the recipient.
- the message can be encrypted with this key on the node and decrypted on the recipient's side. This encryption is necessary if data confidentiality is required.
- the gateway which does not have the key will not be able to decrypt the message, confidentiality during the exchange with a foreign entity, such as a gateway which does not share the same owner as the node and the recipient, is preserved.
- the decryption of the double encrypted message (Em) by the recipient (7) is then produced using the ephemeral private key (eSk) then the symmetric key (K).
- the event triggering the generation and / or sending of the ephemeral private and public keys (eSk, ePk) and information concerning said gateway and the potential transfer of data by the first generator module (P1) can be at least one event chosen from the following list:
- a transmission module of the gateway optionally the second module of the gateway, of a signaling message containing the ephemeral public key and the information concerning said gateway and the potential transfer of data, or a of their combinations.
- the generation and / or sending of private and / or public ephemeral keys is more flexible and can be triggered by several phenomena which will be chosen by the owner and / or the developer of the node or communicating object, depending on the situation and constraints thereof.
- the search sub-module of the fourth blockchain management module (P4) of the chosen gateway (3) begins said search when the sending of data, at least part of which is secure and authenticated to the recipient, is performed,
- the fourth blockchain management module of the gateway (P4) further comprises a verification sub-module which, by the instruction of codes associated with a hardware component, verifies by means of the ephemeral private key (eSk) that said transaction contains a token, or a financial value, and optionally studies the token or its value, or measures said financial value, the verification sub-module being further configured to stop the transaction if the verification fails or if the value of the token, or the financial value contained in the transaction is less than a value previously negotiated between the gateway (3) and the node (1).
- eSk ephemeral private key
- the use of cryptocurrency in a transaction for transfer helps to encourage gateways to enter the system thanks to the potential compensation provided for each data transfer.
- Said verification by the verification sub-module allows the gateway to validate the transaction only if the payment is present and sufficient, for example equal to a value previously negotiated. This is to prevent the recipient from not paying or paying too little to the gateway for data transfer.
- the node (1) uses RSA-512 encryption to sign the data.
- the RSA-512 encryption makes it possible to limit the size of the payload to be sent over the radio network which is limited.
- Payload means the volume of data exchanged between the different parties.
- the gateway transaction module unlocks the transaction created by said module after a certain period, if the gateway has not released the transaction during this period.
- the recipient can recover the content of the transaction, in the case where the ephemeral private key (eSk) is not provided in time, for example if the gateway is defective.
- eSk ephemeral private key
- the duration is defined in the transaction script.
- the fourth blockchain management module (P4) of the chosen gateway (3) comprises a sub-module for measuring the time associated with an instruction to wait for a confirmation time after the reception of a recipient blockchain transaction, preferably at least before the reception of the transaction requiring the provision of the ephemeral secret key (eSk), still preferentially the confirmation time being corresponding to the confirmation of the mining of the blockchain block by other participants of the blockchain.
- eSk ephemeral secret key
- the fourth blockchain management module of the gateway awaits confirmation of the mining of the blockchain block by other blockchain participants.
- mining provides cryptographic evidence that is not based on trust between the participants who provided the information.
- the invention also relates to a method of communication between at least one node or object (1) connected by radio (2) to at least two gateways (3) communicating via a long distance network (4,6) with at least one gateway (3 '), an application or an application server of at least one recipient (7) characterized in that it comprises:
- gateways (3) forming a network of heterogeneous gateways and each comprising several code modules executable on one or more processing hardware components such as a microprocessor for constituting a machine, the modules being stored in at least one machine-readable medium of which at least:
- a first generator module (P1) A first generator module (P1)
- a second transmitter module (P2) A second transmitter module (P2)
- a third receiver module which includes a transmitter sub-module
- a fourth blockchain management module which comprises at least a research sub-module and a transaction creation sub-module;
- a node (1) of a connected object comprising at least one or more code modules executable on one or more processing hardware components such as a microprocessor for constituting a machine, the modules being stored in at least one medium readable by the machine and at least:
- Machine readable media
- a receiver module (N2)
- a generator module (N5) comprising an encryption sub-module and a transmitter sub-module;
- a generation module (D1) A generation module (D1)
- Machine readable media
- a first transaction module (D2) A first transaction module (D2)
- a transaction module (D4) optionally the first transaction module comprising a search sub-module, a read / write sub-module and a decryption sub-module
- the modules performing their actions by executing codes on at least one hardware component
- the data comprising at least the message (m) being transferred to the recipient (7) via the chosen gateway (3), and according to the defined communication protocol.
- the communication method allows a transfer of a message from a node to a recipient, in a distributed network, via a gateway which does not share the same owner with the recipient and / or the node, while ensuring the security and confidentiality of the message.
- the node or object (1) can thus choose the intermediary (the gateway) that best corresponds to its selection criteria (decided beforehand by the owner of the node or object) and can apply the most suitable protocol for this intermediary .
- said communication protocol when the security level of the communication protocol is defined as “secure”, said communication protocol then comprises, after the generation of the message (m) by the generator module (N5) of the node, the following steps:
- Sig sub- signature verification module
- the method guarantees the security and confidentiality of the message, the ephemeral private key being known only to the gateway and the node actors of the communication, the use of the characteristics of the blockchain making it possible to increase the security of the communication. .
- the communication method further comprises in step XI a verification by the search sub-module of the fourth blockchain management module (P4) of the chosen gateway (3) that said transaction contains a token , or a financial value, and preferably a measurement of the token or of said financial value, the transaction being stopped by the sub-module if the verification fails or if the value of the token or the financial value contained in the transaction is less than a value previously negotiated between the gateway (3) and the node (1).
- this encourages recipients to offer a token with a financial value, the value must also be sufficient, and encourages gateways to offer their services for data transfer in exchange for a reward.
- the recipient (7) comprises at least one pair of ephemeral private and public keys (eSk, ePk) and information concerning the recipient and the potential transfer of data recorded on a readable medium.
- the machine or preferably comprises a gateway (3) according to one of claims 1 to 3, which allows during step III, the sending to said node or object (1) of said pair of ephemeral private and public keys (eSk, ePk) and said information, optionally in response to a request for information sent by the node (1), and
- step IV the choice by the sub-module of analysis of the node or object (1), of the gateway of the recipient (7) and the definition of the level of security of the communication protocol as "secure",
- said communication protocol then comprising, after generation of the message (m) by the generator module (N5) of the node, the following steps:
- Signature Creation of a signature (Sig) by the encryption sub-module, the signature (Sig) being the encryption, of a hash of the encrypted message and of the ephemeral public key (ePk) received from the chosen gateway (3), by means of the private key (Sk) contained in the memory space of the node,
- step Vllbis being performed only when said gateway of the recipient (7) receives data from the node (1) which corresponds to at least one of:
- said recipient (7) can then decrypt the encrypted message without requiring the steps of the transaction method and the use of the blockchain for communication with a foreign gateway. .
- the recipient can therefore be programmed to prevent said steps from being carried out unnecessarily, in order to save time and computer resources.
- the recipient's generation module (D1) (7) is within radio range of the node and sends to the node (1) before step III at least one item of information mentioning:
- step IV choice by the analysis sub-module of the receiver module (N2) of the node (1), of the gateway (3) of the recipient, (7), and definition of the security level of the communication protocol communication as "trusted", and
- the node (1) when the node (1) sends encrypted data directly to the gateway of the recipient (7), the node (1) can send the said data without encrypting them with the ephemeral public key (ePk) since the exchange takes place only between actors belonging to the same owner, who trust each other.
- the recipient (7) receives an unencrypted message or, optionally, encrypted only by a symmetric key (K) shared between the node (1) and the recipient (7) and can decrypt it without requiring the steps of the transaction method and using the blockchain for communication with a foreign gateway.
- K symmetric key
- the recipient can therefore be programmed to prevent said unnecessary steps from being carried out unnecessarily, in order to save time and computer resources.
- the steps following step IV are then also modified (V bis, VI bis and XIII bis) as shown in FIG. 3.
- the communication method further comprises during step IV, a first encryption of the message (m) carried out by the encryption sub-module of the generator module (N5) of the node by means of a key symmetrical (K) shared with a gateway, an application or an application server of the recipient (7) to obtain the encrypted message Ek (m), before encryption using the ephemeral public key (ePk) is carried out, to obtain the encrypted double message (Em), the decryption of the encrypted double message (Em) by the application decryption sub-module or an application server of the recipient (7) in step XIII is then carried out at using the ephemeral private key (eSk) then the symmetric key (K).
- eSk ephemeral private key
- the message can only be completely decrypted by a key (K) known only to the node and the recipient.
- K a key known only to the node and the recipient.
- the message is then encrypted with this key on the node and decrypted on the recipient's side. This step is necessary if data confidentiality is required.
- the gateway that does not have the key will not be able to decrypt the message, confidentiality when exchanging with a foreign entity, such as a gateway that does not share the same owner as the node and the recipient, is preserved.
- each of the gateways comprises a first generator module
- the communication method further comprising, before step III, a first step of generation by each of the first generator modules of the gateways (P1) of a private key ephemeral (eSk1, eSk2) and a public key ephemeral (ePk1, ePk2) complementary to said ephemeral private key (eSk1 1, eSk2), as well as information concerning the gateway and the potential transfer of data in response to a triggering event, and memorization of these keys (ePk1, eSk1, ePk2, eSk2) in the machine readable media of the gateway;
- step X This exchange protocol requires a specific type of transaction to resist attacks. Since the funds contained in step X are locked until the correct private key is given, it may be necessary that the transaction is also locked in time. It is thus possible to lock the funds of a transaction for a given number of blocks. The recipient can then specify that the funds are locked until 1) the associated private key is revealed or 2) a given period of time has elapsed.
- the blockchain validation system can be proof of work, proof of stake, or any other validation system of a blockchain database.
- certain modules used by the node can be distributed in the network, such as for example the readable medium.
- the node (1) also signs the message (possibly encrypted) (Em) and the ephemeral public key (ePk) with a secret key (Ska) .
- the node (1) and the recipient (7) must also share a secret key (Sk) on the node (1) and a public key (Pk) on the recipient.
- a phase where the recipient (7) and the node (1) can communicate directly with each other is therefore necessary to load the necessary keys on the node (1).
- the node (1) out of range of the recipient (7) it will use a foreign gateway (3) as relay, and will use the secret (Sk) and symmetric (K) keys to communicate securely and confidentially with the recipient (7)
- the recipient's transaction module (D4, D2) (7) unlocks the transaction created by said module (D4, D2) after a certain period, if the gateway (3) has not been released the transaction during this period.
- the script operator OP_CHECKLOCKTIMEVERIFY has been introduced to deal with time locked problems. This operator allows the transaction to be locked until the correct ephemeral private key (eSk) is given or until a certain time from which the creator of the transaction, here the recipient (7), can retrieve the content of the transaction, in case the ephemeral private key (eSk) is not provided on time.
- the script operator OP_CHECKRSA512PAIR was also introduced into the script in order to verify that the ephemeral private key (eSk) given by the gateway is the one that corresponds to the ephemeral public key (ePk) of the transaction.
- Other script operators having the same function can substitute the above operators indifferently in the embodiments described in the present application.
- the verification script used in step X includes a verification of the ephemeral private key (eSk) given by the gateway to ensure that it is the one that corresponds to the ephemeral public key ( ePk) of the transaction and unlocking the transaction after a certain time.
- eSk ephemeral private key
- ePk ephemeral public key
- the script also allows the creator of the transaction to retrieve the outputs after a defined time. Indeed in the case where the gateway is faulty, the outputs are not abandoned, but will be recovered by the creator of the transaction. It also helps prompt the gateway to reveal the eSk secret key quickly to make sure you don't lose your winnings.
- the verification script is as follows:
- the Stack column shows the status of the stack as the script runs.
- the Script column shows the part of the script that remains to be executed.
- the Description column gives a description of the current step.
- the data between chevrons: ⁇ example> is provided without the transaction whose output is used.
- the data between double chevrons: "example” is provided in the transaction which spends an exit from the first transaction.
- individual embodiments can be described as a process which is described in the form of a flowchart, a data flowchart, a structure diagram or a block diagram. Although an organization chart can describe operations as a sequential process, many operations can be performed in parallel or simultaneously. In addition, the order of operations can be reorganized. A process is complete when its operations are completed, but additional steps may not be included in a figure. A process can correspond to a method, a function, a procedure, a substring, a subroutine, etc. When a process corresponds to a function, its termination can correspond to a return from the function to the calling function or to the main function. This is particularly the case for the transaction search phases in the blockchain database.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
La présente invention concerne un dispositif (9) de communication comprenant au moins deux passerelles et un nœud ou objet (1), les passerelles (3) formant un réseau de passerelles hétérogènes, pour communiquer par réseau radio (2) avec au moins le dit nœud ou objet (1) et par un réseau longue distance (4, 6) avec au moins une autre passerelle (3'), une application ou au moins un serveur d'application d'un destinataire (7) et un dispositif de stockage de données constituant au moins une base de données blockchain (8) mémorisant des transactions blockchain, chaque passerelle (3) caractérisée en ce qu'il comprend plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu'un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine, le dispositif choisissant la passerelle par lequel le transfert sera réalisé et définissant un niveau de sûreté du protocole de communication, soit «sécurisé», soit «de confiance» pour ledit transfert de données en fonction desdites informations.
Description
DESCRIPTION
TITRE DE L'INVENTION : DISPOSITIF POUR COMMUNIQUER DANS UN RESEAU DE PASSERELLES HETEROGENES PAR RESEAU RADIO AVEC AU MOINS UN NŒUD ET PAR UN RESEAU LONGUE DISTANCE, AVEC AU MOINS UN DESTINATAIRE
DOMAINE TECHNIQUE DE L’INVENTION
La présente invention concerne de manière générale le domaine des télécommunications dans un réseau avec des objets connectés loT, en particulier le domaine des systèmes de communication par réseau utilisant des passerelles, connectables à un objet ou à un nœud et une application destinataire des données de l’objet ou nœud.
L’invention concerne également un type de passerelle utilisée pour permettre de former un réseau de passerelles hétérogènes (au sens où les passerelles n’appartiennent pas toutes au même opérateur) pour communiquer par réseau radio avec au moins un nœud et par un réseau filaire avec au moins une application ou au moins un serveur d’application d’un destinataire et un dispositif de stockage de données constituant au moins une base de données mémorisant des transactions blockchain, et l’utilisation d’une ou plusieurs passerelles dans un système pour objet connectés et applications utilisateurs^
Elle concerne en outre une méthode de communication permettant de communiquer de façon sécurisée par réseau radio avec au moins un nœud et par un réseau filaire avec au moins une application ou au moins un serveur d’application d’un destinataire par l’intermédiaire d’au moins une passerelle et d’un dispositif de stockage de données constituant au moins une base de données mémorisant des transactions blockchain.
ETAT DE LA TECHNIQUE ANTERIEURE
La technologie LPWAN (Low-Power Wide Area Networking) ou réseau étendu, est un réseau informatique couvrant une grande zone géographique, et permettant une large variété de services et d’applications. Particulièrement, il permet de répondre aux besoins des communications de données pour l’Internet des Objets (loT). Un dispositif loT est souvent caractérisé par un petit équipement électronique qui
consomme peu d’énergie pour envoyer par liaison radio une quantité limitée de données à la fois, ce qui lui permet de fonctionner durant plusieurs années avec une simple batterie.
Néanmoins, La technologie LPWAN propose un taux limité de transmission mais une modulation robuste qui permet des communications sur plusieurs kilomètres. Une telle portée permet un besoin limité de déploiement d’équipements ce qui baisse le nombre d’antennes et/ou passerelles nécessaires.
Il existe aujourd’hui différentes implémentations de la technologie LPWAN (Sigfox, NB-loT...).
LoRaWAN est l’une des implémentations de la technologie LPWAN les plus satisfaisantes, grâce à son support système « open source » et la possibilité pour n’importe qui de créer son propre réseau.
LoRaWAN utilise les ondes non licenciées du spectre radio comme le fait le réseau Wi-Fi, ce qui veut dire que n’importe qui peut utiliser ces fréquences radios sans payer de redevances pour les droits de transmission. Cette stratégie de déploiement flexible a poussé les industries et les entreprises à investir dans cette technologie. Cela leur permet soit d’utiliser un réseau public existant, soit d’installer leur propre réseau privé si ils sont soucieux de la propriété de leur réseau.
LoRaWAN est accompagné d’une facilité d’installation, est complètement libre de droits de propriété industrielle et de redevances/royalties (ce qui n’est pas le cas de Sigfox) et présente le niveau de sécurité et de confidentialité le plus résistant.
Grâce à l’aspect basse consommation (durée de vie de plusieurs années, pile bouton) et la caractéristique de longue portée, LoRaWAN a attiré l’attention des acteurs industriels pour répondre à différents besoins dans des domaines variés. Ceci, que ce soit en terme d’atouts de gestion pour le suivi et la surveillance (dans le domaine des aéroports, parkings, sites de constructions, entrepôts, commerces de détails, d’optimisation de la gestion de l’énergie, de l’aménagement du territoire, du suivi de palettes, de conteneurs de transport ; des villes « intelligentes » avec des compteurs intelligents, détecteurs pour parkings, le contrôle de l’éclairage urbain, la gestion des déchets ; ou des bâtiments et maisons « intelligents » qui peuvent
détecter des fuites d’eau, contrôler des pièges à rongeur ou à termites, et tous les capteurs intelligents domestiques).
L’architecture de LoRaWAN consiste en au moins un dispositif ou capteur qui détecte et collecte des données pour les transmettre à une passerelle à portée radio, au moins une passerelle qui joue le rôle de point d’accès et envoie des paquets à un serveur réseau à travers un réseau de backhaul ; un réseau central, le serveur réseau qui reçoit tous les paquets reçus des passerelles et les dirige vers un serveur d’application, et enfin, au moins un serveur d’application qui gère l’application client et traite les données.
Ce type de système est adapté et commode du point de vue de la confidentialité et de la sécurité, mais présente l’inconvénient de, même si une passerelle LoRa peut couvrir une large zone de plusieurs kilomètres, demander des ressources considérables pour couvrir de façon indépendante la totalité de l’aire d’utilisation des dispositifs (e.g. des pays entiers). La société désirant déployer son propre réseau privé devra installer des passerelles, des serveurs d’applications et surtout un réseau central.
Dans ce contexte, il est intéressant de proposer une solution pour un réseau de communication étendu demandant moins de ressources à l’utilisateur pour son déploiement, tout en conservant un haut niveau de confidentialité et de sécurité.
Il peut aussi être intéressant de proposer une solution dans laquelle le réseau de communication pourrait être déployé par plusieurs acteurs intéressant, plutôt que dépendante d’un unique acteur.
Il est connu dans l'art antérieur plusieurs initiatives pour créer un réseau. Par exemple, le réseau PicoWAN, permet un déploiement facile et moins coûteux que classiquement, mais propose une faible zone d’action, avec un besoin d’installer des passerelles pour fournir ledit réseau.
EXPOSE DE L’INVENTION
La présente invention a pour but de pallier certains inconvénients de l'art antérieur en proposant un réseau de communication pour les données de l’Internet des Objets, qui est similaire à un réseau d’opérateur comme un réseau cellulaire
2G/3G/4G, le réseau SIGFOX ou encore un réseau LoraWAN, mais sans que ledit réseau ne nécessite d’opérateur pour fonctionner ni qu’une entité ne déploie spécifiquement des antennes relais (passerelles) dans une zone où elle n’en a pas.
L’invention concerne ainsi un dispositif de communication comprenant au moins deux passerelles et un nœud ou objet , les passerelles formant un réseau de passerelles hétérogènes, pour communiquer par réseau radio avec au moins ledit nœud ou objet et par un réseau longue distance avec au moins une autre passerelle, une application ou au moins un serveur d’application d’un destinataire et un dispositif de stockage de données constituant au moins une base de données blockchain mémorisant des transactions blockchain, chaque passerelle caractérisée en ce qu’elle comprend plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine, dont au moins :
Un second module émetteur qui, par l’exécution d’au moins un code sur un composant hardware, envoie sur le réseau radio vers le nœud ou objet communicant avec au moins un objet connecté (D) ou l’objet, des données mémorisées dans au moins un média lisible par la machine de la passerelle, les données comprenant au moins une clé publique éphémère (ePk) complémentaire d’une clé éphémère privée (eSk), ainsi que des informations concernant ladite passerelle et le transfert potentiel de données,
Un troisième module récepteur (P3) qui comprend une pluralité de codes exécutés sur un composant hardware, pour recevoir des données d’un nœud ou objet par le réseau radio si ledit nœud ou objet choisit d’effectuer le transfert par ladite passerelle alors choisie,
Ledit nœud ou objet, comprenant au moins un ou plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine, et au moins :
Un média lisible par la machine constituant un espace de mémoire comprenant une clé privée (Sk) et une adresse blockchain du destinataire (@R) liée à une transaction de blockchain créée par l’application ou du serveur d’application du
destinataire (7) comprenant une adresse IP de la passerelle (3’), de l’application ou du serveur d’application du destinataire (7), l’adresse blockchain étant préférentiellement transmise par une application du destinataire ou le serveur d’application du destinataire au nœud ;
Un module récepteur qui, par l’exécution de codes sur un composant hardware, reçoit les clés publiques éphémères (ePk1 , ePk2) ainsi que les informations concernant ladite passerelle et le transfert potentiel de données envoyés par chacun des seconds modules émetteurs des passerelles, optionnellement en réponse à des requêtes d’informations émises d’un module émetteur du nœud ou objet ; ledit module récepteur comprenant un sous-module d’analyse qui, par l’exécution de codes sur un composant hardware, analyse lesdites informations concernant ladite passerelle et le transfert potentiel de données, choisit la passerelle par laquelle le transfert de données doit être effectué, et définit le niveau de sûreté du protocole de communication, soit « sécurisé », soit « de confiance » pour ledit transfert de données en fonction desdites informations,
Un module générateur qui, par l’exécution de codes sur un composant hardware, génère un message (m) en réponse à des données générées dans l’objet ou provenant d’un objet connecté au nœud.
Ainsi l’invention a pour avantage de permettre au moins un transfert d’un message d’un nœud à un destinataire, par l’intermédiaire d’une passerelle qui ne partage pas nécessairement le même propriétaire avec le destinataire et/ou le nœud, tout en garantissant la sécurité et la confidentialité du message, la clé privée éphémère n’étant connue que de la passerelle et du nœud, acteurs tout deux dans la communication.
Suivant d’autres aspects avantageux de l’invention, la passerelle selon l’invention intègre une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :
Selon une particularité, lorsque le sous-module d’analyse du nœud analyse les informations concernant chaque passerelle et leur transfert potentiel de données, au moins l’une desdites informations correspond à :
• Le propriétaire de la passerelle est identique au propriétaire du destinataire
• L’identifiant de la passerelle correspond à celui d’une base de données du nœud ou objet comme un intermédiaire et/ou destinataire de confiance
• La passerelle possède la clé (Sk), ou est l’émettrice de la clé privée (Sk)
• La passerelle est l’émettrice de la clé éphémère (K) reçue par le module récepteur N2 du nœud, ledit sous-module d’analyse choisit la passerelle qui est responsable de l’envoi de ladite information, définit le niveau de sûreté du protocole de communication comme « de confiance », le sous-module émetteur envoyant seulement le message (m) à la passerelle du destinataire (7).
Selon une particularité, lorsque le niveau de sûreté du protocole de communication choisi est « sécurisé », le module générateur du nœud ou objet comprend en outre un sous-module de chiffrement qui, au moyen de la clé publique éphémère (ePk1 ) envoyée par le second module émetteur de la passerelle choisie, chiffre ce message pour obtenir le message chiffré, le sous-module de chiffrement réalisant en outre une signature, la signature (Sig) étant le chiffré, d’un hachage du message chiffré et de la clé publique éphémère (ePk) reçue de la passerelle choisie, au moyen de la clé privée (Sk) contenue dans l’espace de mémoire du nœud ou objet, le module générateur (N5) comprenant aussi un sous-module émetteur qui envoie les données dont au moins une partie est sécurisée et authentifiable comprenant au moins la signature (Sig), le message chiffré (Em), et l’adresse blockchain (@R) du destinataire à la passerelle choisie par le réseau radio
Le troisième module récepteur de la passerelle choisie recevant les données dont au moins une partie est sécurisée et authentifiable du nœud ou objet du réseau radio, comprend en outre : un sous-modèle de recherche qui, par l’exécution de codes sur un composant hardware, recherche une transaction à l’adresse blockchain de la passerelle, de l’application ou du serveur d’application du destinataire (@R) et récupère ladite
adresse IP de la passerelle, de l’application ou du serveur d’application du destinataire contenue dans la transaction, et un sous-module émetteur qui, par l’exécution de codes sur un composant hardware, déclenche l’envoi par protocole IP à l’adresse IP de la passerelle, de l’application ou du serveur d’application du destinataire d’au moins lesdites données au moins sécurisées, la passerelle choisie comprenant en outre :
Un quatrième module de gestion de blockchain comprenant :
- au moins un sous-module de recherche qui, par l’exécution de codes sur un composant hardware, recherche une transaction ou des données de la transaction blockchain créée par le destinataire dans la base de données mémorisant les transactions blockchain et qui comporte ou résulte d’un script spécifique à clé publique éphémère (ePk) à l’adresse blockchain du destinataire, et ;
- un sous-module de création de transaction qui, par l’exécution de codes sur un composant hardware, crée une nouvelle transaction de blockchain à destination de la passerelle elle-même utilisant un script incorporant la clé privée éphémère (eSk) permettant de valider le script de la transaction blockchain créée par le destinataire, ladite nouvelle transaction une fois validée permet au destinataire d’accéder à la clé (eSk) pour permettre de déchiffrer le message chiffré (Em), ladite création débutant lorsque ladite transaction blockchain créée par le destinataire a été trouvée.
L’invention concerne aussi un système de communication comprenant un dispositif de communication et qui comprend en outre une passerelle , une
application ou un serveur d’application du destinataire, la passerelle, l’application ou le serveur comprenant au moins un ou plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine, dont au moins :
Un module de génération (D1 ) qui, par l’exécution de codes sur un composant hardware, génère et envoie la clé privée (Sk) et optionnellement la clé symétrique (K) à destination du nœud communicant avec au moins un objet connecté ;
Un média lisible par la machine constituant un espace de mémoire comprenant une clé publique (Pk) complémentaire de la clé privée (Sk) transmise au nœud;
Un premier module de transaction qui, par l’exécution de codes sur un composant hardware, crée une transaction blockchain à l’adresse blockchain de la passerelle, de l’application ou du serveur d’application (@R) du destinataire, ladite transaction blockchain comprenant l’adresse IP de la passerelle, de l’application ou du serveur d’application du destinataire ;
Un module récepteur qui, par l’exécution de codes sur un composant hardware, reçoit de la passerelle choisie, par un réseau longue distance, par exemple Internet, ou du nœud ou objet par un réseau radio, des données, les données étant différentes en fonction du niveau de sûreté du protocole de
communication choisi par le nœud ou objet.
Selon une particularité, lorsque le niveau de sûreté du protocole de
communication est défini comme « sécurisé », les données reçues par le module récepteur du destinataire sont des données dont au moins une partie est sécurisée et authentifiable et comprennent le message chiffré (Em), la signature (Sig) et la clé publique éphémère (ePk) de la passerelle choisie, et lors de la réception desdites données, ledit module lance un sous-module de vérification de la signature (Sig) qui vérifie au moyen d’un calcul de signature au moyen de la clé privée (Sk) enregistrée dans l’espace de mémoire en comparant le résultat du calcul avec la signature (Sig) reçue que le message (Em) reçu a bien été généré par le nœud ou objet
communicant avec au moins avec l’objet connecté (D), le module stoppant la transaction si cette vérification échoue ;
Le destinataire comprenant en outre un module de transaction,
optionnellement le premier module de transaction, qui, par l’exécution de codes sur un composant hardware, crée une transaction blockchain à l’adresse blockchain du destinataire (@R) une fois que le sous-module de vérification a effectué la
vérification du message, la transaction comprenant au moins un script spécifique, utilisant la clé publique éphémère (ePk) envoyée par la passerelle choisie;
Le module de transaction (D4) comprenant un sous-module de recherche (11 ) qui une fois les éléments Em ePk et Sig reçus, recherche une transaction blockchain
incorporant l’adresse blockchain de la passerelle choisie et un script de signature utilisant la clé privée éphémère (eSk) ;
Le module de transaction comprenant un sous-module de de déchiffrement qui, une fois la transaction blockchain trouvée, utilise la clé privée éphémère (eSk) de ladite transaction pour déchiffrer le message chiffré du nœud reçu de la passerelle par le module récepteur, et préférentiellement en outre au moyen de la clé
symétrique (K) partagée avec le nœud,
Le module de transaction comprenant optionnellement en outre un sous- module de lecture/écriture et un espace mémoire dans lequel le sous-module de lecture/écriture enregistre des données et qui, une fois la transaction blockchain trouvée, enregistre la clé privée éphémère (eSk) de ladite transaction.
Selon une particularité, lorsque le niveau de sûreté du protocole de
communication est défini comme « sécurisé », et une passerelle, une application ou un serveur d’application du destinataire comprend des données comprenant une paire de clé privée et publique éphémères (eSk, ePk) et des informations sur un potentiel transfert de données, lesdites données étant enregistrées sur un media lisible par la machine,
ou préférentiellement le destinataire comprend une passerelle, qui envoie lesdites données audit nœud, optionnellement en réponse à une requête
d’informations envoyées par le nœud,
le destinataire comprenant en outre un module de transaction, optionnellement le premier module de transaction, qui, lorsqu’il reçoit des données dont au moins une partie est sécurisée et authentifiable du nœud ou objet dont au moins l’une d’elles correspond au moins à une parmi :
• le propriétaire du nœud correspond à celui du destinataire, et/ou
• l’adresse blockchain (@R) reçue par le module récepteur (D3) du
destinataire correspond à l’adresse blockchain (@R) du destinataire et/ou
• le message reçu (Em) est chiffré par la clé publique éphémère (ePk) que le destinataire a lui-même envoyé,
déchiffre le message (Em), au moyen de la clé privée éphémère (eSk) par son sous- module de déchiffrement, pour obtenir le message déchiffré (m) et stoppe le protocole de communication « sécurisé ».
Selon une particularité, lorsque les informations envoyées par le nœud ou objet sont reçues par une passerelle du destinataire et correspondent au moins à une parmi :
• le propriétaire du nœud correspond à celui du destinataire, et/ou
• Le nœud a connaissance de la clé privée (Sk)
le module de génération du destinataire envoie au nœud une information
mentionnant :
• sa connaissance de la clé privée (Sk) et/ou
• la clé privée (Sk) et/ou
• la clé publique (Pk)
le sous-module d’analyse du nœud choisit la passerelle qui est responsable de l’envoi d’une desdites informations, définit le niveau de sûreté du protocole de communication comme « de confiance »,
et lorsque le module récepteur du destinataire reçoit au moins le message (Em ou m) non chiffré par la clé ePk, il stoppe le protocole de communication.
Selon une particularité, le module de transaction du destinataire déverrouille la transaction créée par ledit module après une certaine durée, si la passerelle choisie n’a pas débloqué la transaction durant cette durée.
Selon une particularité, au moins une, préférentiellement chaque, passerelle comprend en outre un premier module générateur qui comprend au moins un code exécuté sur un composant hardware, pour générer la clé privée éphémère (eSk) et la clé publique éphémère (ePk) complémentaire de ladite clé éphémère privée (eSk), préférentiellement en réponse à un évènement déclencheur, et mémorise ces clés (ePk , eSk) dans un média lisible par la machine, le premier module générateur (P1 ) générant de plus les informations concernant ladite passerelle et le transfert potentiel de données,
Selon une particularité, le sous-module de chiffrement du nœud ou objet chiffre une première fois le message (m) généré par le module générateur au moyen d’une clé symétrique (K) partagée avec une passerelle, une application ou un serveur d’application du destinataire pour obtenir le message chiffré Ek(m), préférentiellement
avant que le sous-module de chiffrement chiffre le message au moyen de la clé publique éphémère (ePk) pour obtenir le message double chiffré (Em).
Selon une particularité, l’évènement déclencheur de la génération et/ou l’envoi des clés privée et publique éphémères (eSk, ePk) et des informations concernant ladite passerelle et le transfert potentiel de données par le premier module générateur (P1 ) peut être au moins un événement choisi dans la liste suivante :
- la réception par la technologie sans fil d’une demande de la clé publique éphémère (ePk) de la part d’au moins un nœud communicant avec au moins un objet connecté (D),
- l’émission périodique, par un module d’émission de la passerelle, optionnellement le second module de la passerelle, d’un message de signalisation contenant la clé publique éphémère et les informations concernant ladite passerelle et le transfert potentiel de données, ou une de leurs combinaisons.
Selon une particularité, le sous-module de recherche du quatrième module de gestion de blockchain de la passerelle choisie débute ladite recherche lorsque l’envoi des données dont au moins une partie est sécurisée et authentifiable au destinataire est effectué,
Selon une particularité, le quatrième module de gestion de blockchain de la passerelle comprend en outre un sous-module de vérification qui, par l’instruction de codes associé à un composant hardware, vérifie au moyen de la clé privée éphémère (eSk) que ladite transaction contient un token, ou une valeur financière, et optionnellement étudie le token ou sa valeur, ou mesure ladite valeur financière, le sous-module de vérification étant en outre configuré pour stopper la transaction si la vérification échoue ou si la valeur du token ou de la valeur financière contenue dans la transaction est inférieure à une valeur préalablement négociée entre la passerelle et le nœud.
Selon une particularité, le nœud utilise un chiffrement RSA-512 pour effectuer sa signature des données.
Selon une particularité, le quatrième module de gestion de blockchain de la passerelle choisie comprend un sous-module de mesure du temps associé à une instruction d’attente d’un temps de confirmation après la réception d’une transaction blockchain du destinataire, préférentiellement au moins avant la réception de la transaction nécessitant de fournir la clé secrète éphémère (eSk) encore préférentiellement le temps de confirmation étant correspondant à la confirmation du minage du bloc de la blockchain par d’autres participants de la blockchain.
L’invention concerne aussi une méthode de communication entre au moins un nœud ou objet relié par radio à au moins au moins deux passerelles communiquant par un réseau longue distance avec au moins une passerelle, une application ou un serveur d’application d’au moins un destinataire, caractérisée en ce qu’elle comprend : des passerelles formant un réseau de passerelles hétérogènes et comprenant chacune plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine dont au moins :
Un premier module générateur
Un second module émetteur
Un troisième module récepteur qui comprend un sous-module émetteur,
Un quatrième module de gestion de blockchain qui comprend au moins un sous- module de recherche et un sous-module de création de transaction ;
un nœud d’un objet connecté comprenant au moins un ou plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine les modules étant mémorisés dans au moins un média lisible par la machine et au moins :
Un média lisible par la machine
Un module récepteur
Un module générateur comprenant un sous-module de chiffrement et un sous-module émetteur ;
Une passerelle, une application ou un serveur d’application du destinataire comprenant au moins un ou plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour
constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine, dont au moins :
Un module de génération
Un média lisible par la machine
Un premier module de transaction
Un module récepteur comprenant un sous-module de vérification
Un module de transaction, optionnellement le premier module de transaction comprenant un sous-module de recherche, un sous-module de lecture/écriture et un sous-module de déchiffrement
Les modules effectuant leurs actions par l’exécution de codes sur au moins un composant hardware ;
et qu’elle comprend au moins les étapes suivantes :
I- Génération par le module de génération de la passerelle, de l’application ou du serveur d’application du destinataire d’une clé publique (Pk) et enregistrement sur un média lisible par la machine constituant un espace de mémoire, puis génération et envoi de la clé privée (Sk) complémentaire de la clé publique (Pk) à destination du nœud communicant avec au moins un objet connecté (D), et enregistrement dans le média lisible du nœud constituant un espace de mémoire la clé privée (Sk) transmise ;
II- Création d’une transaction blockchain par le module de transaction (D2) de l’application ou du serveur d’application du destinataire à l’adresse blockchain de l’application ou du serveur d’application du destinataire, ladite transaction blockchain comprenant l’adresse IP de l’application ou du serveur d’application du destinataire;
III- Envoi par le second module émetteur de chaque passerelle sur le réseau radio vers un nœud ou objet, de sa clé publique éphémère (ePk1 , ePk2) et des informations concernant ladite passerelle et le transfert potentiel de données, mémorisées dans au moins un média lisible par la machine de la passerelle;
IV- Réception par le module récepteur du nœud de la clé publique éphémère (ePk) et des informations concernant chaque passerelle et le transfert potentiel de données de chaque passerelle;
Analyse par le sous-module d’analyse du module récepteur (N2) du nœud, desdites informations concernant le transfert potentiel de données, choix de la
passerelle par laquelle le transfert de données doit être effectué, et définition du niveau de sûreté du protocole de communication pour ledit transfert de données comprenant un message (m) à destination du destinataire, en fonction desdites informations ;
Génération par le module générateur du nœud, dudit message (m) en réponse à des données provenant d’un objet connecté (D), et à destination du destinataire,
Les données comprenant au moins le message (m) étant transférées au destinataire par l’intermédiaire de la passerelle choisie, et selon le protocole de communication défini.
Selon une particularité, dans la méthode de communication, lorsque le niveau de sûreté du protocole de communication est défini comme « sécurisé », ledit protocole de communication comprend alors, après la génération du message (m) par le module générateur du nœud, les étapes suivantes :
V- Chiffrement du message (m) par le sous-module de chiffrement du module générateur, au moyen de la clé publique éphémère (ePk) envoyée par la passerelle choisie, pour obtenir le message chiffré (Em),
Réalisation d’une signature (Sig) par le sous-module de chiffrement, la signature (Sig) étant le chiffrement, d’un hachage du message chiffré et de la clé publique éphémère (ePk) reçue de la passerelle choisie, au moyen de la clé privée (Sk) contenue dans l’espace de mémoire du nœud,
VI- Envoi des données dont au moins une partie est sécurisée et authentifiable comprenant au moins la signature (Sig), du message chiffré (Em) et de l’adresse blockchain du destinataire (@R) par le sous-module émetteur du module générateur (N5) du nœud à la passerelle choisie par le réseau radio;
VII- Réception des données dont au moins une partie est sécurisée et authentifiable par le troisième module récepteur (P3) de la passerelle choisie et recherche par le sous-modèle de recherche du troisième module récepteur (P3) de la passerelle choisie (3) d’une adresse blockchain de l’application ou du serveur d’application d’un destinataire (@R) liée à une transaction de blockchain créée par la passerelle, l’application ou du serveur d’application du destinataire comprenant une adresse IP de la passerelle, de l’application ou du serveur d’application du destinataire et récupère ladite adresse IP,
VIII- Envoi par le sous-module émetteur du troisième module de la passerelle choisie par protocole TCP/IP à l’adresse IP de l’application ou du serveur d’application du destinataire d’au moins les données dont au moins une partie est sécurisée et authentifiable ;
IX- Réception par le module récepteur de l’application ou un serveur d’application du destinataire, par protocole TCP/IP des données de la passerelle choisie, et lors de la réception desdites données, lancement d’un sous-module de vérification de la signature (Sig), et vérification au moyen d’un calcul de signature au moyen de la clé privée (Sk) enregistrée dans l’espace de mémoire en comparant le résultat du calcul avec la signature reçue (Sig) que le message (Em) reçu a bien été généré par le nœud ou objet, la transaction étant stoppée par le module si la vérification échoue ;
X- Création d’une transaction blockchain à l’adresse blockchain du destinataire (@R) par le module de transaction de la passerelle, de l’application ou un serveur d’application du destinataire, optionnellement le premier module de transaction, une fois que le sous-module de vérification a effectué la vérification du message, la transaction comprenant au moins un script spécifique, utilisant la clé publique éphémère (ePk) envoyée par la passerelle choisie;
XI- Recherche d’une transaction de la transaction blockchain créée par le destinataire dans la base de donnée mémorisant les transactions blockchain et qui comporte ou résulte d’un script spécifique à clé publique éphémère (ePk) par le sous-module de recherche du quatrième module de gestion de blockchain de la passerelle , optionnellement une fois l’envoi des données lors de l’étape VIII effectué, puis, une fois ladite transaction blockchain créée par le destinataire trouvée, création d’une nouvelle transaction de blockchain par le sous module de création de transaction du quatrième module de gestion de blockchain de la passerelle en utilisant comme entrées les sorties de la transaction précédente, et utilisant un script incorporant la clé privée éphémère (eSk).
XII- Recherche dans la blockchain par le sous-module de recherche de la passerelle, de l’application ou un serveur d’application du destinataire de la transaction créée par la passerelle et récupération de la clé privée éphémère (eSk), et, optionnellement, enregistrement de ladite clé privée éphémère (eSk)
par le sous-module de lecture/écriture dans le média lisible par la machine de l’application ou du serveur d’application du destinataire.
XIII- Déchiffrement du message (Em) par le sous-module de déchiffrement de l’application ou un serveur d’application du destinataire au moyen de la clé privée éphémère (eSk) récupérée par le sous-module de recherche.
Selon une particularité, la méthode de communication comprend en outre dans l’étape XI une vérification par le sous-module de recherche du quatrième module de gestion de blockchain (P4) de la passerelle choisie que ladite transaction contient un token, ou une valeur financière, et préférentiellement une mesure du token ou de ladite valeur financière, la transaction étant stoppée par le sous-module si la vérification échoue ou si la valeur du token, ou la valeur financière contenue dans la transaction est inférieure à une valeur préalablement négociée entre la passerelle et le nœud.
Selon une particularité, dans la méthode de communication, le destinataire comprend au moins une paire de clé privée et publique éphémères (eSk, ePk) et des informations concernant le destinataire et le transfert potentiel de données enregistrées sur un média lisible par la machine, ou préférentiellement comprend une passerelle (3), qui permet
lors de l’étape III, l’envoi audit nœud ou objet de ladite paire de clés privée et publique éphémères (eSk, ePk) et desdites informations, optionnellement en réponse à une requête d’informations envoyées par le nœud, et
lors de l’étape IV, le choix par le sous-module d’analyse du nœud ou objet (1 ), de la passerelle du destinataire et la définition du niveau de sûreté du protocole de communication comme « sécurisé »,
ledit protocole de communication comprenant alors, après la génération du message (m) par le module générateur du nœud, les étapes suivantes :
V- Chiffrement du message (m) par le sous-module de chiffrement du module générateur, au moyen de la clé publique éphémère (ePk) envoyée par la passerelle choisie (3), pour obtenir le message chiffré (Em),
Réalisation d’une signature (Sig) par le sous-module de chiffrement, la signature (Sig) étant le chiffrement, d’un hachage du message chiffré et de la clé publique éphémère (ePk) reçue de la passerelle choisie (3), au moyen de la clé privée (Sk) contenue dans l’espace de mémoire du nœud,
VI- Envoi des données dont au moins une partie est sécurisée et authentifiable comprenant au moins la signature (Sig), du message chiffré (Em) et de l’adresse blockchain du destinataire (@R) par le sous-module émetteur du module générateur du nœud à la passerelle choisie par le réseau radio;
VII- (Bis) Réception des données dont au moins une partie est sécurisée et authentifiable par le troisième module récepteur de la passerelle choisie du destinataire et déchiffrement par le sous-module de déchiffrement du destinataire du message (Em), au moyen de la clé privée (Sk), pour obtenir le message déchiffré (m), et stoppe le protocole de communication « sécurisé » sans réaliser les étapes VII à XIII,
L’étape Vllbis étant réalisée seulement lorsque ladite passerelle du destinataire reçoit des données du nœud qui correspondent au moins à une parmi :
• le propriétaire du nœud correspond à celui du destinataire, et/ou
• l’adresse blockchain (@R) reçue par le module récepteur du destinataire correspond à l’adresse blockchain (@R) du destinataire et/ou
• le message reçu (Em) est chiffré par la clé publique éphémère ePk que le destinataire a lui-même envoyé.
Selon une particularité, lors de l’étape III, le module de génération (D1 ) du destinataire est à portée radio du nœud et envoie au nœud avant l’étape III au moins une information mentionnant :
• sa connaissance de la clé privée (Sk) et/ou
• la clé privée (Sk) et/ou
• la clé publique (Pk) et/ou
• le propriétaire du nœud correspond à celui du destinataire,
qui permet les étapes suivantes :
lors de l’étape IV, choix par le sous-module d’analyse du module récepteur du nœud, de la passerelle du destinataire, et définition du niveau de sûreté du protocole de communication comme « de confiance », et
Envoi du message (m) par le sous-module émetteur du module générateur, et Réception par le module récepteur du destinataire d’au moins ledit message (Em ou m) non chiffré par la clé (ePk).
Selon une particularité, la méthode de communication comprend en outre lors de l’étape IV, un premier chiffrement du message (m) réalisé par le sous-module de chiffrement du module générateur du nœud au moyen d’une clé symétrique (K) partagée avec une passerelle, une application ou un serveur d’application du destinataire pour obtenir le message chiffré Ek(m), avant que le chiffrement au moyen de la clé publique éphémère (ePk) ne soit réalisé, pour obtenir le message double chiffré (Em), Le déchiffrement du message double chiffré (Em) par le sous-module de déchiffrement de l’application ou un serveur d’application du destinataire à l’étape XIII est alors réalisé au moyen de la clé privée éphémère (eSk) puis de la clé symétrique (K).
Selon une particularité, chacune des passerelles comprend un premier module générateur, la méthode de communication comprenant en outre, avant l’étape III, une première étape de génération par chacun des premiers modules générateurs des passerelles d’une clé privée éphémère (eSk1 , eSk2) et une clé publique éphémère (ePk1 , ePk2) complémentaire de ladite clé privée éphémère (eSk1 1 , eSk2), ainsi que d’informations concernant la passerelle et le transfert potentiel de données en réponse à un évènement déclencheur, et mémorisation de ces clés (ePk1 , eSk1 , ePk2,eSk2) dans le média lisible par la machine de la passerelle ;
BREVE DESCRIPTION DES FIGURES
D'autres particularités et avantages de la présente invention apparaîtront plus clairement à la lecture de la description ci-après, faite en référence aux dessins annexés, dans lesquels : la figure 1 représente une vue schématique simplifiée du système de communication selon un mode de réalisation, entre une passerelle, un destinataire et un nœud d’un objet connecté, en passant par le réseau radio, symbolisé par des flèches, et le réseau terrestre (Internet), symbolisé par le symbole 5.
La figure 2 est une vue schématique simplifiée du système de communication selon un mode de réalisation, représentant les différentes étapes de la méthode de communication, dans le cas où le niveau de sécurité du protocole de communication
est défini comme « sécurisé », ledit système comprenant deux passerelles à portée radio du nœud.
La figure 3 est une vue schématique simplifiée du système de communication selon un mode de réalisation, représentant les différentes étapes de la méthode de communication, dans le cas où le niveau de sécurité du protocole de communication est défini comme « de confiance ».
La figure 4 est une vue schématique simplifiée du système de communication selon un autre mode de réalisation, représentant les différentes étapes de la méthode de communication, dans le cas où le niveau de sécurité du protocole de communication est défini comme « sécurisé » mais où le protocole est stoppé avant la fin des étapes classiques représentées à la figure 2.
Les systèmes représentés sur certaines des figures peuvent être fournis dans diverses configurations. Dans certains modes de réalisation, les systèmes peuvent être configurés en tant que système distribué dans lequel un ou plusieurs
composants du système sont répartis sur un ou plusieurs réseaux dans un système de « cloud computing » ou informatique en nuage.
DESCRIPTION DES MODES DE REALISATION
Dans la description suivante, à des fins d'explication, des détails spécifiques sont présentés afin de permettre une compréhension approfondie des modes de réalisation de l'invention. Cependant, il sera évident que divers modes de réalisation peuvent être mis en pratique sans ces détails spécifiques. Les figures et la description ne sont pas censées être restrictives.
Des détails spécifiques sont donnés dans la description suivante pour permettre une compréhension approfondie des modes de réalisation. Cependant, l'homme du métier comprendra que les modes de réalisation peuvent être mis en pratique sans ces détails spécifiques. Par exemple, des circuits, des systèmes, des réseaux, des processus et d'autres composants peuvent être représentés sous forme de composants sous forme de diagramme afin de ne pas obscurcir les modes de réalisation de manière inutile. Dans d'autres cas, des circuits, des processus, des algorithmes, des structures et des techniques bien connus peuvent être représentés sans détails inutiles afin d'éviter l'obscurcissement des modes de réalisation.
Dans un mode de réalisation particulier de l’invention, dont un exemple simplifié est illustré à la figure 1 , un objet connecté (D) peut communiquer avec un destinataire (7) par l’intermédiaire d’une passerelle étrangère (3). Ainsi, la passerelle (3) permet de faire transiter un message (m) d’un nœud (1 ) à une application ou à un serveur d’application d’un destinataire (7), la passerelle 3 agissant comme relais entre le nœud (1 ) et le destinataire (7), en communiquant avec eux respectivement par réseau radio, par liaison sans fil (2), préférentiellement par le réseau LoRaWAN, et par réseau Internet avec une liaison IP (6).
En d’autres termes, le capteur d’un objet connecté (D) directement lié à un nœud (1 ) génère des données qu’il doit envoyer à un destinataire (7). Le nœud (1 ) n’est pas à portée radio du destinataire (7). Pour envoyer ses données, il va utiliser un intermédiaire, une passerelle (3) par liaison sans fil, ou liaison radio (2). La passerelle (3) est reliée par liaison IP (4) au réseau Internet (5), tout comme le destinataire (7) qui est lui aussi relié par liaison IP (6) au réseau Internet (5). La base de données blockchain n’est ici pas représentée ici et est accessible par la
passerelle (3) et le destinataire (7) par liaison IP.
On comprend que l’objet connecté est associé à un capteur, une sonde ou tout autre moyen technique configuré pour générer des données à transmettre à un destinataire.
Le réseau de télécommunication selon l’invention est distribué et fiable, tout en garantissant une utilisation non abusive du réseau, par l’utilisation des caractéristiques de la blockchain.
Ce but est atteint par une architecture particulière basée sur le réseau LoRaWAN. Ce réseau est caractérisé en ce qu’il repose au contraire sur les utilisateurs eux-mêmes pour fonctionner, et la confiance et le bon usage du réseau sont assurés grâce à une blockchain.
Dans le réseau selon l’invention, que l’on pourrait appeler BcWAN (Blockchain Wide Area Network), chaque utilisateur peut décider de déployer une ou plusieurs passerelle(s) qui permettent à des objets de cet utilisateur ou d’autres utilisateurs de transmettre des données sur Internet.
Par exemple, une personne a déployé une passerelle dans sa maison reliée à sa box internet. Il a aussi installé un collier autour du cou de son chien muni d’un GPS et d’une connexion au réseau BcWAN. Lorsque le chien est à proximité de la maison de son maitre, la position est envoyée directement à la passerelle BcWAN par radio. Si le chien s’échappe et sort de la portée de communication de la passerelle de son maitre, la position du chien peut être relayée grâce à la passerelle d’un autre utilisateur. Par exemple, lors de la détection du nœud du collier par ladite passerelle d’un autre utilisateur, celle-ci générera une paire de clés éphémères privée et publique uniques et enverra la clé éphémère publique au nœud du collier pour lui permettre de débuter le transfert de données par le réseau BcWAN quand il le désire.
Tout comme le réseau LoRaWan, le réseau selon l’invention peut être utilisé dans la gestion d’outils pour le suivi et la surveillance (aéroports, parkings, sites de constructions, entrepôts, commerces de détails), d’optimisation de la gestion de l’énergie, de l’aménagement du territoire, du suivi de palettes, de conteneurs de transport ; des villes « intelligentes » avec des compteurs intelligents, détecteurs pour parkings, le contrôle de l’éclairage urbain, la gestion des déchets ; ou des bâtiments et maisons « intelligents » qui peuvent détecter des fuites d’eau, contrôler des pièges à rongeur ou à termites, et tous les capteurs intelligents domestiques.
Le réseau selon l’invention est une plateforme décentralisée qui permet à différentes parties d’accéder à leurs nœuds et de collecter des données à travers des passerelles étrangères (dont les parties ne sont pas propriétaires), tout en maintenant les standards de confidentialité et de sécurité.
A la place d’un seul acteur du déploiement du réseau, une architecture basée sur une blockchain gère l’accès au contrôle du réseau, et permet aux passerelles de communiquer directement à travers un réseau pair-à-pair. Un nœud appartenant à un destinataire peut envoyer des données au destinataire en passant par une passerelle étrangère alors que :
• La passerelle et le destinataire peuvent ne pas se faire confiance,
• La confidentialité des données doit être assurée,
• Les passerelles ne devraient pas être capables de recevoir plus de données que ce qui est nécessaire à la participation dans le réseau
• et la passerelle peut être récompensée pour le transfert de données effectué.
On entend par réseau « hétérogène » un réseau ou les différents acteurs (passerelles, nœuds, destinataires) n’appartiennent pas au même propriétaire, et ne se font pas nécessairement confiance. Ce type de réseau est plus simple à mettre en place car il ne nécessite pas un gros investissement de la part d’une partie, l’investissement étant au contraire divisé entre différentes parties ne se connaissant pas forcément. Il est alors important d’avoir un mécanisme rendant le réseau fiable, sécurisé et confidentiel dans ce genre de réseau pour éviter qu’un acteur appartenant à un propriétaire malveillant vole des données ou les modifie.
On entend par mémoire tous types de "support de stockage/média lisible par machine". On entend par "support de stockage/média lisible par machine" ou "support de stockage/média lisible par ordinateur", sans toutefois s'y limiter, les dispositifs de stockage portables ou non portables, les dispositifs de stockage optique et divers autres supports capables de stocker, de contenir ou de supporter des instructions et / ou données, et tout support qui participe à la fourniture d'instructions à un processeur pour leur exécution. Un support lisible par machine peut inclure un support non transitoire dans lequel des données peuvent être stockées et qui n'inclut pas les ondes porteuses et / ou les signaux électroniques transitoires se propageant sans fil ou par des connexions filaires. Les supports non volatiles comprennent, par exemple, les disques optiques, magnétiques ou les mémoires mortes. Les supports volatiles incluent la mémoire dynamique, y compris la mémoire cache. Les supports de transmission comprennent les câbles coaxiaux, les fils de cuivre et les fibres optiques. Les formes courantes de supports lisibles par ordinateur incluent, par exemple, sans toutefois s'y limiter, une disquette, un disque flexible, un disque dur, une bande magnétique, tout autre support magnétique, un CD-ROM, un DVD, tout autre support optique, des cartes perforées, une autre support physique avec des motifs de trous, une RAM, une PROM et une EPROM, une FLASH-EPROM, toute autre puce de mémoire ou cartouche, une onde porteuse, ou tout autre support à partir duquel un ordinateur peut lire. Diverses formes de supports lisibles par ordinateur peuvent être impliquées dans le support d'une ou plusieurs séquences d'une ou plusieurs instructions vers un processeur pour leur exécution.
Un produit programme d'ordinateur peut inclure un code et / ou des instructions exécutables par une machine pouvant représenter une procédure, une fonction, un sous-programme, un programme, une routine, un sous-programme, un module, un logiciel, une classe ou toute combinaison de instructions, structures de données ou instructions de programme. Un segment de code peut être couplé à un autre segment de code ou à un circuit matériel en transmettant et / ou en recevant des informations, des données, des arguments, des paramètres ou des contenus de mémoire. Des informations, arguments, paramètres, données, etc. peuvent être transmis, transmis ou transmis par tout moyen approprié, notamment le partage de mémoire, la transmission de messages, la transmission de jetons, la transmission réseau, etc.
Plusieurs unités fonctionnelles décrites dans la présente description ont été nommées modules, afin de souligner leur indépendance d'exécution. Par exemple, un module peut être mis en œuvre par circuit électronique, tel qu’un circuit intégré par exemple ou par d’autre types d’arrangement de composants, tels que par exemple des semi-conducteurs, des portes logiques, des transistors ou d'autres composants discrets. De tels modules peuvent également être mis en œuvre par une ou plusieurs application(s) logicielle(s) ou portion(s) de code exécutable(s) au sein d’au moins un environnement logiciel, pour l'exécution par de divers types de processeurs et ce, quel que soit le langage utilisé. Un module identifié de code exécutable peut, par exemple, comporter un ou plusieurs blocs physiques ou logiques d’instructions machine qui peuvent, par exemple, être organisés en objet, procédé, ou fonction. De plus, les routines et instructions d'un module identifié n'ont pas besoin d'être physiquement localisés ensemble, mais peuvent comporter des instructions disparates stockées dans différents endroits qui, une fois réunis fonctionnellement et logiquement ensemble, forment le module et réalisent le but indiqué pour le module.
En effet, un module peut être une instruction simple de code exécutable, ou une pluralité d'instructions, et peut même être distribué parmi plusieurs différents segments de code ou parmi différents programmes et stocké dans plusieurs blocs de mémoires. De même, des données opérationnelles peuvent être identifiées et illustrées dans des modules, et peuvent être incorporées sous n'importe quelle forme appropriée et être organisées dans n'importe quel type approprié de structure de données. Les données opérationnelles peuvent être rassemblées ou peuvent être réparties sur différents endroits incluant différents dispositifs de stockage finis, et peuvent exister, au moins
partiellement, simplement en tant que signaux électroniques sur un système ou un réseau. Différents modules peuvent ainsi composer des modules regroupés, voire un unique module.
En outre, des modes de réalisation peuvent être mis en œuvre par matériel, logiciel, micrologiciel, middleware, microcode, langages de description de matériel, ou toute combinaison de ceux-ci. Lorsqu'il est mis en œuvre dans un logiciel, un micrologiciel, un middleware ou un microcode, le code de programme ou les segments de code pour effectuer les tâches nécessaires (par exemple, un produit de programme d'ordinateur) peuvent être stockés sur un support lisible par machine. Un processeur peut effectuer les tâches nécessaires.
On entend par « composant hardware » tout composant matériel et toute association de composants électroniques permettant la réalisation d’une tâche, tels qu’un ou plusieurs dispositifs, processeurs ou dispositifs de traitement qui peuvent être configurés pour exécuter la ou les fonction(s) de chacun des éléments et modules de l'arrangement structurel décrit ici. Par exemple, le ou les dispositifs, processeurs ou dispositifs de traitement peuvent être configurés pour exécuter une ou plusieurs séquences d'une ou plusieurs instructions exécutables par la machine contenues dans une mémoire principale afin de mettre en œuvre le ou les procédés ou la ou les fonctions décrits dans la présente demande. L'exécution des séquences d'instructions contenues dans une mémoire principale amène les processeurs à exécuter au moins certaines des étapes du processus ou des fonctions des éléments décrits ici. Un ou plusieurs processeurs dans un arrangement multi-processeurs peuvent également être utilisés pour exécuter les séquences d'instructions contenues dans une mémoire principale ou un ordinateur lisible en mémoire. Dans des variantes de modes de réalisation, des circuits câblés peuvent être utilisés à la place ou en combinaison avec des instructions logicielles. Ainsi, les modes de réalisation ne sont limités à aucune combinaison spécifique de circuits matériels et logiciels.
On entend par « blockchain » une technologie de stockage et de transmission d’informations, transparente, sécurisée, fonctionnant sans organe central de contrôle. Par extension, une blockchain constitue une base de données qui contient l'historique de tous les échanges effectués entre ses utilisateurs depuis sa création. Cette base de données est sécurisée et distribuée : elle est partagée par ses différents utilisateurs, sans intermédiaire, ce qui permet à chacun de vérifier la validité de la chaîne.
Chaque transaction Blockchain possède des entrées et des sorties, il s’agit du vecteur d’échange de la crypto-monnaie. Pour que la sortie d’une transaction puisse être « dépensée » elle est ajoutée en entrée d’une transaction. La nouvelle transaction doit valider le script lié à la précédente transaction. Le script est une série d’instruction qui permet d’avoir un contrôle sur l’utilisation des sorties de la transaction. Le script de base de la Blockchain Bitcoin est appelé pay-to-pubkey-hash. Il permet de contrôler qui sera le bénéficiaire des sorties.
On entend par une « adresse blockchain » un unique identifiant permettant de désigner la destination d'une transaction, à laquelle l’entité à qui appartient l’adresse blockchain va créer une transaction blockchain. Cette transaction sera ainsi retrouvée dans la base de données blockchain grâce à cet identifiant.
On entend par « données dont au moins une partie est sécurisée et authentifiable » les données qui comprennent des données sécurisées (message chiffrée), authentifiables (signature qui résulte d’un chiffrement par une clé et qui permet d’authentifier l’auteur dudit chiffrement). Les données peuvent aussi contenir des données non chiffrées, donc publiques, comme une adresse blockchain du destinataire ou de la passerelle, ou une clé publique éphémère.
Le but de BcWAN est de créer une infrastructure LoRaWAN partagée permettant à différentes parties de déployer et d’utiliser le réseau sans faire appel à un seul opérateur de réseau et sans avoir à déployer l’ensemble du réseau. L’idée de BcWAN est qu’elle ne repose pas sur une tierce partie de confiance qui peut être difficile à définir dans une telle situation. En effet, BcWAN ne nécessite aucun serveur centralisé, ni aucun tiers de confiance, sauf si on considère une blockchain comme un tiers de confiance. Afin de prévenir les abus sur le réseau, BcWAN s'appuie sur des crypto-devises et des micro-transactions.
Cette architecture peut comprendre une récompense, un token ou une valeur financière en échange de la livraison d’un message. Ainsi, chaque fois qu'un acteur du réseau envoie un message via l'un de ses nœuds, il doit payer pour la livraison du message. Lorsqu'un acteur transfère un message via l'une de ses passerelles, il reçoit quelques crypto-devises en guise de récompense pour le traitement du message.
On entend par « réseau WAN » un réseau étendu, qui comporte au moins une partie de transmission/liaison filaire, mais qui peut comprendre aussi une partie de transmission/liaison sans fil.
Le réseau radio (liaison sans fil) par lequel communique le nœud ou objet et la passerelle est un réseau de distance modérée, dont le flux de données est en général plus limité que le réseau longue distance comme le réseau Internet.
On entend par réseau longue distance, un réseau filaire et/ou sans fil, qui permet de transférer des données sur une grande distance, par exemple le réseau Internet. On comprend que les envois réalisés par Internet peuvent par exemple utiliser les protocoles TCP/IP ou UDP/IP.
On entend par « nœud ou objet » un dispositif pour communiquer qui peut être le nœud d’un objet intelligent, ou l’objet lui-même pouvant communiquer. On comprend ainsi que lorsque l’on parle de nœud et à moins que le contraire soit clairement exprimé, on entend nœud ou objet.
L’invention propose ainsi une architecture basée sur le réseau LoRa permettant la transmission de données par l'intermédiaire de tiers sans avoir besoin d'un tiers de confiance. Ceci est particulièrement intéressant car il permet aux parties partageant le même objectif de déployer un réseau commun de manière sécurisée et équitable tout en respectant les normes de sécurité. Les règles sont appliquées via une blockchain afin que les parties puissent échanger équitablement au sein du réseau fédéré. Les parties qui ne participent pas au réseau ne peuvent pas tirer profit des biens échangés dans le réseau.
L’invention propose aussi un nouveau moyen pour les parties d'échanger des données en toute sécurité dans un environnement potentiellement malveillant sans avoir besoin d'un tiers de confiance.
Un tel échange repose sur le principe d’« échange juste » entre l’acteur qui envoie les données à payer au transmetteur, en général une passerelle, et le transmetteur qui souhaite recevoir la crypto-monnaie en échange de l’envoi des données. Ce principe doit être respecté pour que l’échange fonctionne.
L’invention répond à cette problématique en garantissant que le paiement soit effectué si et seulement si les données sont envoyées au destinataire par la passerelle,
en utilisant les fonctionnalités fournies par les scripts Blockchain, également appelés contrats intelligents.
Un premier aspect de l’invention concerne ainsi un dispositif (9) de communication comprenant au moins deux passerelles et un nœud ou objet (1 ), les passerelles (3) formant un réseau de passerelles hétérogènes, pour communiquer par réseau radio (2) avec au moins ledit nœud ou objet (1 ) et par un réseau longue distance (4,6) avec au moins une autre passerelle (3’), une application ou au moins un serveur d’application d’un destinataire (7) et un dispositif de stockage de données constituant au moins une base de données blockchain (8) mémorisant des transactions blockchain, chaque passerelle (3) caractérisée en ce qu’elle comprend plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine, dont au moins :
Un second module émetteur (P2) qui, par l’exécution d’au moins un code sur un composant hardware, envoie sur le réseau radio vers le nœud ou objet (1 ) communicant avec au moins un objet connecté (D) ou l’objet, des données mémorisées dans au moins un média lisible par la machine de la passerelle, les données comprenant au moins une clé publique éphémère (ePk) complémentaire d’une clé éphémère privée (eSk), ainsi que des informations concernant ladite passerelle et le transfert potentiel de données,
Un troisième module récepteur (P3) qui comprend une pluralité de codes exécutés sur un composant hardware, pour recevoir des données d’un nœud ou objet (1 ) par le réseau radio (2) si ledit nœud ou objet choisit d’effectuer le transfert par ladite passerelle (3) alors choisie,
Ledit nœud ou objet (1 ), comprenant au moins un ou plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine, et au moins :
Un média lisible par la machine constituant un espace de mémoire comprenant une clé privée (Sk) et une adresse blockchain du destinataire (@R) liée à une transaction de blockchain créée par l’application ou du serveur d’application du
destinataire (7) comprenant une adresse IP de la passerelle (3’), de l’application ou du serveur d’application du destinataire (7), l’adresse blockchain étant préférentiellement transmise par une application du destinataire ou le serveur d’application du destinataire au nœud ;
Un module récepteur (N2) qui, par l’exécution de codes sur un composant hardware, reçoit les clés publiques éphémères (ePk1 , ePk2) ainsi que les informations concernant ladite passerelle et le transfert potentiel de données envoyés par chacun des second module émetteur (P2) des passerelles (3), optionnellement en réponse à des requêtes d’informations émises d’un module émetteur (N1 ) du nœud ou objet (1 ) ; ledit module récepteur (N2) comprenant un sous-module d’analyse qui, par l’exécution de codes sur un composant hardware, analyse lesdites informations concernant ladite passerelle et le transfert potentiel de données, choisit la passerelle par laquelle le transfert de données doit être effectué, et définit le niveau de sûreté du protocole de communication, soit « sécurisé », soit « de confiance » pour ledit transfert de données en fonction desdites informations,
Un module générateur (N5) qui, par l’exécution de codes sur un composant hardware, génère un message (m) en réponse à des données générées dans l’objet ou provenant d’un objet connecté (D) au nœud (1 ).
Ainsi l’invention a pour avantage de permettre au moins un transfert d’un message d’un nœud à un destinataire, par l’intermédiaire d’une passerelle qui ne partage pas nécessairement le même propriétaire avec le destinataire et/ou le nœud, tout en garantissant la sécurité et la confidentialité du message.
Un autre avantage de l’invention est de pouvoir communiquer des données à partir du nœud au sein d’un réseau de passerelles hétérogènes, ayant des caractéristiques (force du signal, prix du transfert de données...) différentes, la passerelle pouvant donc envoyer ses caractéristiques dans le but de proposer ses services au nœud.
Le destinataire (7) peut être propriétaire d’une ou plusieurs passerelles (3) telles que décrites dans la présente demande. Il sera ainsi possible de réaliser une communication comme si la passerelle était étrangère au nœud. A l’inverse, il peut être intéressant d’adapter le processus de communication en fonction de la passerelle
choisie et ainsi de simplifier le processus de communication si la passerelle choisie est une passerelle qui appartient au même propriétaire que le nœud.
Avantageusement, le sous-module d’analyse est ainsi capable de rechercher des passerelles pouvant communiquer avec le nœud et de sélection d’une passerelle satisfaisant des conditions de qualité de transmission déterminée ; le nœud peut alors comparer les offres et les caractéristiques des différentes passerelles à portée radio, et choisir la passerelle qui propose le meilleur service.
Selon un mode de réalisation, représenté à la figure 3, lorsque le sous-module d’analyse du nœud (1 ) analyse les informations concernant chaque passerelle et leur transfert potentiel de données, au moins l’une desdites informations correspond à :
• Le propriétaire de la passerelle (3) est identique au propriétaire du destinataire (7)
• L’identifiant de la passerelle (3) correspond à celui d’une base de données du nœud ou objet comme un intermédiaire et/ou destinataire de confiance
• La passerelle (3) possède la clé Sk, ou est l’émettrice de la clé privée (Sk)
• La passerelle (3) est l’émettrice de la clé éphémère (K) reçue par le module récepteur N2 du nœud (1 ), ledit sous-module d’analyse choisit la passerelle qui est responsable de l’envoi de ladite information, définit le niveau de sûreté du protocole de communication comme « de confiance », le sous-module émetteur envoyant seulement le message (m) à la passerelle du destinataire (7).
Avantageusement, lorsque le nœud (1 ) envoie des données chiffrées directement à la passerelle du destinataire (7), le nœud (1 ) peut envoyer lesdites données sans les chiffrer par la clé publique éphémère (ePk) puisque que l’échange ne se fait qu’entre des acteurs appartenant au même propriétaire, qui se font confiance. Le destinataire (7) reçoit un message non chiffré ou, optionnellement, chiffré seulement par une clé symétrique (K) partagée entre le nœud (1 ) et le destinataire (7) et peut le déchiffrer sans nécessiter les étapes de la méthode de transaction et d’utilisation de la blockchain pour la communication avec une
passerelle étrangère. Le nœud et la passerelle n’ont donc pas besoin d’échanger des données dont au moins une partie est sécurisée et authentifiable.
Selon un mode de réalisation, représenté à la figure 2, lorsque le niveau de sûreté du protocole de communication choisi est « sécurisé », le module générateur (N5) du nœud ou objet (1 ) comprend en outre un sous-module de chiffrement qui, au moyen de la clé publique éphémère (ePk1 ) envoyée par le second module émetteur (P2) de la passerelle choisie (3), chiffre ce message pour obtenir le message chiffré (Em), le sous-module de chiffrement réalisant en outre une signature, la signature (Sig) étant le chiffragre, d’un hachage du message chiffré et de la clé publique éphémère (ePk) reçue de la passerelle choisie (3), au moyen de la clé privée (Sk) contenue dans l’espace de mémoire du nœud ou objet (1 ), le module générateur (N5) comprenant aussi un sous-module émetteur qui envoie les données dont au moins une partie est sécurisée et authentifiable comprenant au moins la signature (Sig), le message chiffré (Em), et l’adresse blockchain (@R) du destinataire à la passerelle choisie (3) par le réseau radio (2)
Le troisième module récepteur (P3) de la passerelle choisie (3) recevant les données dont au moins une partie est sécurisée et authentifiable du nœud ou objet (1 ) du réseau radio (2), comprend en outre : un sous-modèle de recherche qui, par l’exécution de codes sur un composant hardware, recherche une transaction à l’adresse blockchain de la passerelle, de l’application ou du serveur d’application du destinataire (@R) et récupère ladite adresse IP de la passerelle, de l’application ou du serveur d’application du destinataire (7) contenue dans la transaction, et un sous-module émetteur qui, par l’exécution de codes sur un composant hardware, déclenche l’envoi par protocole IP (4) à l’adresse IP de la passerelle, de l’application ou du serveur d’application du destinataire (7) d’au moins lesdites données au moins sécurisées, la passerelle choisie (3) comprenant en outre :
Un quatrième module de gestion de blockchain (P4) comprenant :
- au moins un sous-module de recherche qui, par l’exécution de codes sur un composant hardware, recherche une transaction ou des données de la transaction blockchain (8) créée par le destinataire (7) dans la base de données (8) mémorisant les transactions blockchain et qui comporte ou résulte d’un script spécifique à clé publique éphémère (ePk) à l’adresse blockchain du destinataire, et ;
- un sous-module de création de transaction qui, par l’exécution de codes sur un composant hardware, crée une nouvelle transaction de blockchain à destination de la passerelle (3) elle-même utilisant un script incorporant la clé privée éphémère (eSk) permettant de valider le script de la transaction blockchain (8) créée par le destinataire (7), ladite nouvelle transaction une fois validée permet au destinataire d’accéder à la clé (eSk) pour permettre de déchiffrer le message chiffré (Em), ladite création débutant lorsque ladite transaction blockchain créée par le destinataire a été trouvée.
Cela permet au nœud de pouvoir communiquer des données à la passerelle sélectionnée et de constituer en fonction des besoins un réseau de télécommunication avec des passerelles n’appartenant pas au même opérateur, le réseau étant alors distribué, hétérogène et fiable.
L’invention concerne aussi un système de communication (10) comprenant un dispositif de communication (9) et qui comprend en outre une passerelle (3’), une application ou un serveur d’application du destinataire (7), la passerelle, l’application ou le serveur comprenant au moins un ou plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine, dont au moins :
Un module de génération (D1 ) qui, par l’exécution de codes sur un composant hardware, (13) génère et envoie la clé privée (Sk) et optionnellement la clé
symétrique (K) à destination du nœud (1 ) communicant avec au moins un objet connecté ;
Un média lisible par la machine constituant un espace de mémoire
comprenant une clé publique (Pk) complémentaire de la clé privée (Sk) transmise au nœud (1 ) ;
Un premier module de transaction (D2) qui, par l’exécution de codes sur un composant hardware, crée une transaction blockchain à l’adresse blockchain de la passerelle, de l’application ou du serveur d’application (@R) du destinataire (7), ladite transaction blockchain comprenant l’adresse IP de la passerelle, de
l’application ou du serveur d’application du destinataire ;
Un module récepteur (D3) qui, par l’exécution de codes sur un composant hardware, reçoit de la passerelle choisie (3), par un réseau longue distance, par exemple Internet (4,6), ou du nœud ou objet (1 ) par un réseau radio, des données, les données étant différentes en fonction du niveau de sûreté du protocole de communication choisi par le nœud ou objet (1 ).
Avantageusement, l’utilisation d’une passerelle, d’un nœud et d’un
destinataire selon l’invention permettent la mise en place d’un système pour un réseau distribué dont les différents acteurs sont susceptibles d’appartenir à des propriétaires différents et étrangers entre eux, tout en garantissant une utilisation non abusive du réseau, par l’utilisation des caractéristiques de la blockchain.
On comprend que lors d’un envoi d’une clé privée, ou secrète, la clé est envoyée chiffrée, dans un container, ou par un tunnel de façon à ce que cet envoi soit sécurisé et que seul le destinataire de l’envoi puisse recevoir ladite clé privée.
Selon un mode de réalisation, lorsque le niveau de sûreté du protocole de communication est défini comme « sécurisé », les données reçues par le module récepteur (D3) du destinataire (7) sont des données dont au moins une partie est sécurisée et authentifiable et comprennent le message chiffré (Em), la signature (Sig) et la clé publique éphémère (ePk) de la passerelle (3) choisie, et lors de la réception desdites données, ledit module (D3) lance un sous-module de vérification de la signature (Sig) qui vérifie au moyen d’un calcul de signature au moyen de la clé privée (Sk) enregistrée dans l’espace de mémoire en comparant le résultat du calcul avec la signature (Sig) reçue que le message (Em) reçu a bien été généré par le nœud ou objet (1 ) communicant avec au moins avec l’objet connecté (D), le module (D3) stoppant la transaction si cette vérification échoue ;
Le destinataire comprenant en outre un module de transaction (D4), optionnellement le premier module de transaction (D2), qui, par l’exécution de codes sur un composant hardware, crée une transaction blockchain à l’adresse blockchain
du destinataire (@R) une fois que le sous-module de vérification a effectué la vérification du message, la transaction comprenant au moins un script spécifique, utilisant la clé publique éphémère (ePk) envoyée par la passerelle choisie (P1 ) ;
Le module de transaction (D4) comprenant un sous-module de recherche (11 ) qui une fois les éléments Em ePk et Sig reçus, recherche une transaction blockchain incorporant l’adresse blockchain de la passerelle choisie et un script de signature utilisant la clé privée éphémère (eSk) ;
Le module de transaction (D4) comprenant un sous-module de de
déchiffrement qui, une fois la transaction blockchain trouvée, utilise la clé privée éphémère (eSk) de ladite transaction pour déchiffrer le message chiffré du nœud reçu de la passerelle par le module récepteur,
Le module de transaction (D4) comprenant optionnellement en outre un sous- module de lecture/écriture et un espace mémoire dans lequel le sous-module de lecture/écriture enregistre des données et qui, une fois la transaction blockchain trouvée, enregistre la clé privée éphémère (eSk) de ladite transaction.
Selon un mode de réalisation représenté à la figure 4, lorsque le niveau de sûreté du protocole de communication est défini comme « sécurisé », et une passerelle (3’), une application ou un serveur d’application du destinataire (7) comprend des données comprenant une paire de clé privée et publique éphémères (eSk, ePk) et des informations sur un potentiel transfert de données, lesdites données étant enregistrées sur un media lisible par la machine,
ou préférentiellement le destinataire (7) comprend une passerelle (3’), qui envoie lesdites données audit nœud (1 ), optionnellement en réponse à une requête d’informations envoyées par le nœud (1 ),
le destinataire (7) comprenant en outre un module de transaction (D4),
optionnellement le premier module de transaction (D2), qui, lorsqu’il reçoit des données dont au moins une partie est sécurisée et authentifiable du nœud ou objet (1 ) dont au moins l’une d’elles correspond au moins à une parmi :
• le propriétaire du nœud (1 ) correspond à celui du destinataire (7), et/ou
• l’adresse blockchain (@R) reçue par le module récepteur (D3) du
destinataire (7) correspond à l’adresse blockchain (@R) du destinataire (7) et/ou
• le message reçu (Em) est chiffré par la clé publique éphémère ePk que le destinataire (7) a lui-même envoyé,
déchiffre le message (Em), au moyen de la clé privée éphémère (eSk) par son sous- module de déchiffrement, pour obtenir le message déchiffré (m) et stoppe le protocole de communication « sécurisé ».
Avantageusement, lorsque le nœud envoie des données chiffrées directement à la passerelle du destinataire (7), ledit destinataire (7) peut alors déchiffrer le message chiffré sans nécessiter les étapes de la méthode de transaction et d’utilisation de la blockchain pour la communication avec une passerelle étrangère.
Le destinataire peut donc être programmé pour empêcher lesdites étapes d’être effectuées inutilement, afin de gagner du temps et de la ressource informatique.
Selon un mode de réalisation, lorsque les informations envoyées par le nœud ou objet (1 ) sont reçues par une passerelle (3’) du destinataire (7) et correspondent au moins à une parmi :
• le propriétaire du nœud (1 ) correspond à celui du destinataire (7), et/ou
• Le nœud (1 ) a connaissance de la clé privée (Sk)
le module de génération (D1 ) du destinataire (7) envoie au nœud (1 ) une information mentionnant :
• sa connaissance de la clé privée (Sk) et/ou
• la clé privée (Sk) et/ou
• la clé publique (Pk)
le sous-module d’analyse du nœud choisit la passerelle qui est responsable de l’envoi d’une desdites informations, définit le niveau de sûreté du protocole de communication comme « de confiance »,
et lorsque le module récepteur (D3) du destinataire (7) reçoit au moins le message (Em ou m) non chiffré par la clé ePk, il stoppe le protocole de communication.
Avantageusement, lorsque le nœud (1 ) envoie des données chiffrées directement à la passerelle du destinataire (7), le nœud (1 ) peut envoyer lesdites données sans les chiffrer par la clé publique éphémère (ePk) puisque que l’échange ne se fait qu’entre des acteurs appartenant au même propriétaire, qui se font confiance. Le destinataire (7) reçoit un message non chiffré ou, optionnellement, chiffré seulement par une clé
symétrique (K) partagée entre le nœud (1 ) et le destinataire (7) et peut le déchiffrer sans nécessiter les étapes de la méthode de transaction et d’utilisation de la blockchain pour la communication avec une passerelle étrangère. Le destinataire peut donc être programmé pour empêcher lesdites étapes d’être effectuées inutilement, afin de gagner du temps et de la ressource informatique.
Selon un mode de réalisation, le module de transaction (D4, D2) du destinataire (7) déverrouille la transaction créée par ledit module (D4, D2) après une certaine durée, si la passerelle choisie (3) n’a pas débloqué la transaction durant cette durée.
Selon un mode de réalisation, au moins une, préférentiellement chaque, passerelle (3) comprend en outre un premier module générateur (P1 ) qui comprend au moins un code exécuté sur un composant hardware, pour générer la clé privée éphémère (eSk) et la clé publique éphémère (ePk) complémentaire de ladite clé éphémère privée (eSk), préférentiellement en réponse à un évènement déclencheur, et mémorise ces clés (ePk , eSk) dans un média lisible par la machine, le premier module générateur (P1 ) générant de plus les informations concernant ladite passerelle et le transfert potentiel de données.
Avantageusement, cela permet de générer des clés éphémères différentes pour chaque transaction, la passerelle étant alors responsable de la création de sa propre paire de clé.
Selon un mode de réalisation, le sous-module de chiffrement du nœud ou objet (1 ) chiffre une première fois le message (m) généré par le module générateur (N5) au moyen d’une clé symétrique (K) partagée avec une passerelle (3’), une application ou un serveur d’application du destinataire (7) pour obtenir le message chiffré Ek(m), préférentiellement avant que le sous-module de chiffrement chiffre le message au moyen de la clé publique éphémère (ePk) pour obtenir le message double chiffré (Em).
Ainsi, le message ne peut être déchiffré que par une clé (K) connue seulement du nœud et du destinataire. Le message peut être chiffré avec cette clé sur le nœud et déchiffré du côté du destinataire. Ce chiffrement est nécessaire si la confidentialité des données est requise. La passerelle ne disposant pas de la clé ne pourra pas déchiffrer le message, la confidentialité lors de l’échange avec une entité étrangère, telle qu’une passerelle qui ne partage pas le même propriétaire que le nœud et le destinataire, est conservé. Le déchiffrement du message double chiffré (Em) par le
destinataire (7) est alors réalisé au moyen de la clé privée éphémère (eSk) puis de la clé symétrique (K).
Selon un mode de réalisation, l’évènement déclencheur de la génération et/ou l’envoi des clés privée et publique éphémères (eSk, ePk) et des informations concernant ladite passerelle et le transfert potentiel de données par le premier module générateur (P1 ) peut être au moins un événement choisi dans la liste suivante :
- la réception par la technologie sans fil (2) d’une demande de la clé publique éphémère (ePk) de la part d’au moins un nœud (1 ) communicant avec au moins un objet connecté (D),
- l’émission périodique, par un module d’émission de la passerelle, optionnellement le second module de la passerelle, d’un message de signalisation contenant la clé publique éphémère et les informations concernant ladite passerelle et le transfert potentiel de données, ou une de leurs combinaisons.
Ainsi, la génération et/ou l’envoi des clés éphémères privées et/ou publiques est plus flexible et peut être déclenchée par plusieurs phénomènes qui seront choisis par le propriétaire et/ou le développeur du nœud ou objet communicant, en fonction de la situation et des contraintes de celle-ci.
Selon un mode de réalisation, le sous-module de recherche du quatrième module de gestion de blockchain (P4) de la passerelle choisie (3) débute ladite recherche lorsque l’envoi des données dont au moins une partie est sécurisée et authentifiable au destinataire est effectué,
Selon un mode de réalisation, le quatrième module de gestion de blockchain de la passerelle (P4) comprend en outre un sous-module de vérification qui, par l’instruction de codes associé à un composant hardware, vérifie au moyen de la clé privée éphémère (eSk) que ladite transaction contient un token, ou une valeur financière, et optionnellement étudie le token ou sa valeur, ou mesure ladite valeur financière, le sous-module de vérification étant en outre configuré pour stopper la transaction si la vérification échoue ou si la valeur du token, ou la valeur financière
contenue dans la transaction est inférieure à une valeur préalablement négociée entre la passerelle (3) et le nœud (1 ).
L’utilisation de crypto-monnaie dans une transaction en vue d’un transfert permet d’inciter les passerelles à rentrer dans le système grâce à la rétribution potentielle prévue pour chaque transfert de données. Ladite vérification par le sous- module de vérification permet à la passerelle de ne valider la transaction que si le paiement est présent et suffisant, par exemple égal à une valeur préalablement négociée. Cela permet d’empêcher le destinataire de ne pas payer ou de payer trop peu la passerelle pour le transfert de données.
Selon un mode de réalisation, le nœud (1 ) utilise un chiffrement RSA-512 pour effectuer sa signature des données.
Avantageusement, le chiffrement RSA-512 permet de limiter la taille de la charge utile à envoyer sur le réseau radio qui est limité. Par charge utile on entend le volume de données échangé entre les différentes parties.
Dans un mode de réalisation, le module de transaction de la passerelle déverrouille la transaction créée par ledit module après une certaine durée, si la passerelle n’a pas débloqué la transaction durant cette durée.
Avantageusement, le destinataire peut récupérer le contenu de la transaction, dans le cas où la clé privée éphémère (eSk) n’est pas fournie à temps, par exemple si la passerelle est défectueuse. Cela incite les différents acteurs de la communication à une transmission rapide des données. La durée est définie dans le script de transaction.
Selon un mode de réalisation, le quatrième module de gestion de blockchain (P4) de la passerelle choisie (3) comprend un sous-module de mesure du temps associé à une instruction d’attente d’un temps de confirmation après la réception d’une transaction blockchain du destinataire, préférentiellement au moins avant la réception de la transaction nécessitant de fournir la clé secrète éphémère (eSk) encore préférentiellement le temps de confirmation étant correspondant à la confirmation du minage du bloc de la blockchain par d’autres participants de la blockchain.
Cela permettra de se prémunir face au « double spending » du destinataire, phénomène par lequel le destinataire peut successivement créer une transaction et la dépenser, ce qui lui permet de récupérer la clé éphémère privée sans récompenser la passerelle pour le transfert des données.
Selon un autre mode de réalisation, le quatrième module de gestion de blockchain de la passerelle attend la confirmation du minage du bloc de la blockchain par d’autres participants de la blockchain.
Avantageusement, le minage fournit une preuve cryptographique qui ne repose pas sur la confiance entre les participants ayant fourni l’information.
L’invention concerne aussi une méthode de communication entre au moins un nœud ou objet (1 ) relié par radio (2) à au moins au moins deux passerelles (3) communiquant par un réseau longue distance (4,6) avec au moins une passerelle (3’), une application ou un serveur d’application d’au moins un destinataire (7) caractérisée en ce qu’elle comprend :
des passerelles (3) formant un réseau de passerelles hétérogènes et comprenant chacune plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine dont au moins :
Un premier module générateur (P1 )
Un second module émetteur (P2)
Un troisième module récepteur (P3) qui comprend un sous-module émetteur,
Un quatrième module de gestion de blockchain (P4) qui comprend au moins un sous- module de recherche et un sous-module de création de transaction ;
un nœud (1 ) d’un objet connecté comprenant au moins un ou plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine les modules étant mémorisés dans au moins un média lisible par la machine et au moins :
Un média lisible par la machine
Un module récepteur (N2)
Un module générateur (N5) comprenant un sous-module de chiffrement et un sous- module émetteur ;
Une passerelle (3’), une application ou un serveur d’application du destinataire (7) comprenant au moins un ou plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine, dont au moins :
Un module de génération (D1 )
Un média lisible par la machine
Un premier module de transaction (D2)
Un module récepteur (D3) comprenant un sous-module de vérification
Un module de transaction (D4), optionnellement le premier module de transaction comprenant un sous-module de recherche, un sous-module de lecture/écriture et un sous-module de déchiffrement
Les modules effectuant leurs actions par l’exécution de codes sur au moins un composant hardware ;
et qu’elle comprend au moins les étapes suivantes :
I- Génération par le module de génération (D1 ) de la passerelle, de l’application ou du serveur d’application du destinataire (7) d’une clé publique (Pk) et enregistrement sur un média lisible par la machine constituant un espace de mémoire, puis génération et envoi de la clé privée (Sk) complémentaire de la clé publique (Pk) à destination du nœud (1 ) communicant avec au moins un objet connecté (D), et enregistrement dans le média lisible du nœud (1 ) constituant un espace de mémoire la clé privée (Sk) transmise ;
II- Création d’une transaction blockchain par le module de transaction (D2) de l’application ou du serveur d’application du destinataire (7) à l’adresse blockchain de l’application ou du serveur d’application du destinataire, ladite transaction blockchain comprenant l’adresse IP de l’application ou du serveur d’application du destinataire (7) ;
III- Envoi par le second module émetteur (P2) de chaque passerelle (3) sur le réseau radio (2) vers un nœud ou objet (1 ), de sa clé publique éphémère (ePk1 , ePk2) et des informations concernant ladite passerelle et le transfert potentiel
de données, mémorisées dans au moins un média lisible par la machine de la passerelle;
IV- Réception par le module récepteur (N2) du nœud de la clé publique éphémère (ePk) et des informations concernant chaque passerelle et le transfert potentiel de données de chaque passerelle (3);
Analyse par le sous-module d’analyse du module récepteur (N2) du nœud (1 ), desdites informations concernant le transfert potentiel de données, choix de la passerelle par laquelle le transfert de données doit être effectué, et définition du niveau de sûreté du protocole de communication pour ledit transfert de données comprenant un message (m) à destination du destinataire (7), en fonction desdites informations ;
Génération par le module générateur (N5) du nœud, dudit message (m) en réponse à des données provenant d’un objet connecté (D), et à destination du destinataire (7),
Les données comprenant au moins le message (m) étant transférées au destinataire (7) par l’intermédiaire de la passerelle (3) choisie, et selon le protocole de communication défini.
Avantageusement, la méthode de communication permet un transfert d’un message d’un nœud à un destinataire, dans un réseau distribué, par l’intermédiaire d’une passerelle qui ne partage pas le même propriétaire avec le destinataire et/ou le nœud, tout en garantissant la sécurité et la confidentialité du message. Le nœud ou objet (1 ) peut ainsi choisir l’intermédiaire (la passerelle) qui lui correspond le mieux à ses critères de sélection (décidés en amont par le propriétaire du nœud ou objet) et peut appliquer le protocole le plus adapté à cet intermédiaire.
Selon un mode de réalisation, dans la méthode de communication, lorsque le niveau de sûreté du protocole de communication est défini comme « sécurisé », ledit protocole de communication comprend alors, après la génération du message (m) par le module générateur (N5) du nœud, les étapes suivantes :
V- Chiffrement du message (m) par le sous-module de chiffrement du module générateur (N5), au moyen de la clé publique éphémère (ePk) envoyée par la passerelle choisie (3), pour obtenir le message chiffré (Em),
Réalisation d’une signature (Sig) par le sous-module de chiffrement, la signature (Sig) étant le chiffrement, d’un hachage du message chiffré et de la
clé publique éphémère (ePk) reçue de la passerelle choisie (3), au moyen de la clé privée (Sk) contenue dans l’espace de mémoire du nœud,
VI- Envoi des données dont au moins une partie est sécurisée et authentifiable comprenant au moins la signature (Sig), du message chiffré (Em) et de l’adresse blockchain du destinataire (@R) par le sous-module émetteur du module générateur (N5) du nœud (1 ) à la passerelle choisie (3) par le réseau radio (2) ;
VII- Réception des données dont au moins une partie est sécurisée et authentifiable par le troisième module récepteur (P3) de la passerelle choisie (3) et recherche par le sous-modèle de recherche du troisième module récepteur (P3) de la passerelle choisie (3) d’une adresse blockchain de l’application ou du serveur d’application d’un destinataire (@R) liée à une transaction de blockchain créée par la passerelle, l’application ou du serveur d’application du destinataire (7) comprenant une adresse IP de la passerelle, de l’application ou du serveur d’application du destinataire (7) et récupère ladite adresse IP,
VIII- Envoi par le sous-module émetteur du troisième module de la passerelle choisie (P3) par protocole IP à l’adresse IP de l’application ou du serveur d’application du destinataire (7) d’au moins les données dont au moins une partie est sécurisée et authentifiable ;
IX- Réception par le module récepteur de l’application ou un serveur d’application du destinataire (D3), par protocole IP des données de la passerelle choisie (3) , et lors de la réception desdites données, lancement d’un sous-module de vérification de la signature (Sig), et vérification au moyen d’un calcul de signature au moyen de la clé privée (Sk) enregistrée dans l’espace de mémoire en comparant le résultat du calcul avec la signature reçue (Sig) que le message (Em) reçu a bien été généré par le nœud ou objet (1 ), la transaction étant stoppée par le module si la vérification échoue ;
X- Création d’une transaction blockchain à l’adresse blockchain du destinataire (@R) par le module de transaction de la passerelle, de l’application ou un serveur d’application du destinataire, optionnellement le premier module de transaction (D2), une fois que le sous-module de vérification a effectué la vérification du message, la transaction comprenant au moins un script spécifique, utilisant la clé publique éphémère (ePk) envoyée par la passerelle choisie (3) ;
XI- Recherche d’une transaction de la transaction blockchain (8) créée par le destinataire (7) dans la base de donnée mémorisant les transactions blockchain et qui comporte ou résulte d’un script spécifique à clé publique éphémère (ePk) par le sous-module de recherche du quatrième module de gestion de blockchain de la passerelle (P4), optionnellement une fois l’envoi des données lors de l’étape VIII effectué, puis, une fois ladite transaction blockchain créée par le destinataire (7) trouvée, création d’une nouvelle transaction de blockchain par le sous module de création de transaction du quatrième module de gestion de blockchain de la passerelle (P4) en utilisant comme entrées les sorties de la transaction précédente, et utilisant un script incorporant la clé privée éphémère (eSk).
XII- Recherche dans la blockchain par le sous-module de recherche de la passerelle, de l’application ou un serveur d’application du destinataire (7) de la transaction créée par la passerelle et récupération de la clé privée éphémère (eSk), et, optionnellement, enregistrement de ladite clé privée éphémère (eSk) par le sous-module de lecture/écriture dans le média lisible par la machine de l’application ou du serveur d’application du destinataire (7).
XIII- Déchiffrement du message (Em) par le sous-module de déchiffrement de l’application ou un serveur d’application du destinataire (7) au moyen de la clé privée éphémère (eSk) récupérée par le sous-module de recherche.
Avantageusement, la méthode garantit la sécurité et la confidentialité du message, la clé privée éphémère n’étant connue que de la passerelle et du nœud acteurs de la communication, l’utilisation des caractéristiques de la blockchain permettant d’augmenter la sécurité de la communication.
Selon un mode de réalisation, la méthode de communication comprend en outre dans l’étape XI une vérification par le sous-module de recherche du quatrième module de gestion de blockchain (P4) de la passerelle (3) choisie que ladite transaction contient un token, ou une valeur financière, et préférentiellement une mesure du token ou de ladite valeur financière, la transaction étant stoppée par le sous-module si la vérification échoue ou si la valeur du token ou la valeur financière contenue dans la transaction est inférieure à une valeur préalablement négociée entre la passerelle (3) et le nœud (1 ).
Avantageusement, cela incite les destinataires à proposer un token une valeur financière, la valeur devant de plus être suffisante, et incite les passerelles à proposer leurs services pour le transfert de données en échange d’une récompense.
Selon un mode de réalisation, dans la méthode de communication, le destinataire (7) comprend au moins une paire de clé privée et publique éphémères (eSk, ePk) et des informations concernant le destinataire et le transfert potentiel de données enregistrées sur un média lisible par la machine, ou préférentiellement comprend une passerelle (3) selon l’une des revendications 1 à 3, qui permet lors de l’étape III, l’envoi audit nœud ou objet (1 ) de ladite paire de clés privée et publique éphémères (eSk, ePk) et desdites informations, optionnellement en réponse à une requête d’informations envoyées par le nœud (1 ), et
lors de l’étape IV, le choix par le sous-module d’analyse du nœud ou objet (1 ), de la passerelle du destinataire (7) et la définition du niveau de sûreté du protocole de communication comme « sécurisé »,
ledit protocole de communication comprenant alors, après la génération du message (m) par le module générateur (N5) du nœud, les étapes suivantes :
V- Chiffrement du message (m) par le sous-module de chiffrement du module générateur (N5), au moyen de la clé publique éphémère (ePk) envoyée par la passerelle choisie (3), pour obtenir le message chiffré (Em),
Réalisation d’une signature (Sig) par le sous-module de chiffrement, la signature (Sig) étant le chiffrement, d’un hachage du message chiffré et de la clé publique éphémère (ePk) reçue de la passerelle choisie (3), au moyen de la clé privée (Sk) contenue dans l’espace de mémoire du nœud,
VI- Envoi des données dont au moins une partie est sécurisée et authentifiable comprenant au moins la signature (Sig), du message chiffré (Em) et de l’adresse blockchain du destinataire (@R) par le sous-module émetteur du module générateur (N5) du nœud (1 ) à la passerelle choisie (3) par le réseau radio (2) ;
VII- (Bis) Réception des données dont au moins une partie est sécurisée et authentifiable par le troisième module récepteur (P3) de la passerelle choisie (3) du destinataire (7) et déchiffrement par le sous-module de déchiffrement (D2) du destinataire (7) du message (Em), au moyen de la clé privée (Sk), pour
obtenir le message déchiffré (m), et stoppe le protocole de communication « sécurisé » sans réaliser les étapes VII à XIII,
L’étape Vllbis étant réalisée seulement lorsque ladite passerelle du destinataire (7) reçoit des données du nœud (1 ) qui correspondent au moins à une parmi :
• le propriétaire du nœud (1 ) correspond à celui du destinataire (7), et/ou
• l’adresse blockchain (@R) reçue par le module récepteur (D3) du destinataire (7) correspond à l’adresse blockchain (@R) du destinataire (7) et/ou
• le message reçu (Em) est chiffré par la clé publique éphémère ePk que le destinataire (7) a lui-même envoyé.
Avantageusement, lorsque le nœud envoie des données chiffrées directement à la passerelle du destinataire (7), ledit destinataire (7) peut alors déchiffrer le message chiffré sans nécessiter les étapes de la méthode de transaction et d’utilisation de la blockchain pour la communication avec une passerelle étrangère. . Le destinataire peut donc être programmé pour empêcher lesdites étapes d’être effectuées inutilement, afin de gagner du temps et de la ressource informatique.
Selon un mode de réalisation, lors de l’étape III, le module de génération (D1 ) du destinataire (7) est à portée radio du nœud et envoie au nœud (1 ) avant l’étape III au moins une information mentionnant :
• sa connaissance de la clé privée (Sk) et/ou
• la clé privée (Sk) et/ou
• la clé publique (Pk) et/ou
• le propriétaire du nœud (1 ) correspond à celui du destinataire, (7), qui permet les étapes suivantes :
lors de l’étape IV, choix par le sous-module d’analyse du module récepteur (N2) du nœud (1 ), de la passerelle (3) du destinataire, (7), et définition du niveau de sûreté du protocole de communication comme « de confiance », et
Envoi du message (m) par le sous-module émetteur du module générateur (N5), et Réception par le module récepteur (D3) du destinataire (7) d’au moins ledit message (Em ou m) non chiffré par la clé (ePk).
Avantageusement, lorsque le nœud (1 ) envoie des données chiffrées directement à la passerelle du destinataire (7), le nœud (1 ) peut envoyer lesdites
données sans les chiffrer par la clé publique éphémère (ePk) puisque que l’échange ne se fait qu’entre des acteurs appartenant au même propriétaire, qui se font confiance. Le destinataire (7) reçoit un message non chiffré ou, optionnellement, chiffré seulement par une clé symétrique (K) partagée entre le nœud (1 ) et le destinataire (7) et peut le déchiffrer sans nécessiter les étapes de la méthode de transaction et d’utilisation de la blockchain pour la communication avec une passerelle étrangère. Le destinataire peut donc être programmé pour empêcher lesdites étapes superflues d’être effectuées inutilement, afin de gagner du temps et de la ressource informatique. Les étapes suivant l’étape IV sont alors elles aussi modifiées (V bis, VI bis et XIII bis) comme représentées à la figure 3.
Selon un mode de réalisation, la méthode de communication comprend en outre lors de l’étape IV, un premier chiffrement du message (m) réalisé par le sous-module de chiffrement du module générateur (N5) du nœud au moyen d’une clé symétrique (K) partagée avec une passerelle, une application ou un serveur d’application du destinataire (7) pour obtenir le message chiffré Ek(m), avant que le chiffrement au moyen de la clé publique éphémère (ePk) ne soit réalisé, pour obtenir le message double chiffré (Em), Le déchiffrement du message double chiffré (Em) par le sous- module de déchiffrement de l’application ou un serveur d’application du destinataire (7) à l’étape XIII est alors réalisé au moyen de la clé privée éphémère (eSk) puis de la clé symétrique (K).
Ainsi, le message ne peut être déchiffré complètement que par une clé (K) connue seulement du nœud et du destinataire. Le message est alors chiffré avec cette clé sur le nœud et déchiffré du côté du destinataire. Cette étape est nécessaire si la confidentialité des données est requise. La passerelle ne disposant pas de la clé ne pourra pas déchiffrer le message, la confidentialité lors de l’échange avec une entité étrangère, telle qu’une passerelle qui ne partage pas le même propriétaire que le nœud et le destinataire, est conservé.
Selon un mode de réalisation, chacune des passerelles comprend un premier module générateur, la méthode de communication comprenant en outre, avant l’étape III, une première étape de génération par chacun des premiers modules générateurs des passerelles (P1 ) d’une clé privée éphémère (eSk1 , eSk2) et une clé publique
éphémère (ePk1 , ePk2) complémentaire de ladite clé privée éphémère (eSk1 1 , eSk2), ainsi que d’informations concernant la passerelle et le transfert potentiel de données en réponse à un évènement déclencheur, et mémorisation de ces clés (ePk1 , eSk1 , ePk2,eSk2) dans le média lisible par la machine de la passerelle ;
Cette méthode de communication permet de garantir les propriétés suivantes :
- L'intégrité des données
- L’authenticité des données
- Le paiement correct de la passerelle si le destinataire reçoit les données
- La réception des données par le destinataire en cas de paiement
De plus, si le si le message (m) est double chiffré, au moyen de la clé symétrique
(K) la confidentialité des données est assurée.
Ce protocole d'échange nécessite un type de transaction spécifique pour résister aux attaques. Étant donné que les fonds contenus à l’étape X sont verrouillés jusqu'à ce que la clé privée correcte soit donnée, il peut être nécessaire que la transaction soit également verrouillée dans le temps. Il est ainsi possible de verrouiller les fonds d’une transaction pour un nombre donné de blocs. Le destinataire peut ensuite spécifier que les fonds sont verrouillés jusqu'à ce que 1 ) la clé privée associée soit révélée ou 2) un laps de temps donné soit écoulé.
Le système de validation de la blockchain peut être la preuve de travail, la preuve d’enjeu, ou tout autre système de validation d’une base de données blockchain.
Dans un mode de réalisation, certains modules utilisés par le nœud peuvent être répartis dans le réseau, comme par exemple le média lisible.
Dans un autre mode de réalisation, garantissant l'intégrité et principalement l'authenticité des données, le nœud (1 ) signe également le message (éventuellement chiffré) (Em) et la clé publique éphémère (ePk) avec une clé secrète (Ska). Le nœud (1 ) et le destinataire (7) doivent également partager une clé secrète (Sk) sur le nœud (1 ) et une clé publique (Pk) sur le destinataire. Une phase où le destinataire (7) et le nœud (1 ) peuvent communiquer directement entre eux est donc nécessaire pour charger les clés nécessaires sur le nœud (1 ). Une fois le nœud (1 ) hors de portée du destinataire (7), il utilisera une passerelle étrangère (3) comme relais, et utilisera les
clés secrète (Sk) et symétrique (K) pour communiquer de manière sécurisée et confidentielle avec le destinataire (7)
Dans un mode de réalisation non limitatif, le module de transaction (D4, D2) du destinataire (7) déverrouille la transaction créée par ledit module (D4, D2) après une certaine durée, si la passerelle (3) n’a pas débloqué la transaction durant cette durée. Pour Bitcoin, l'opérateur de script OP_CHECKLOCKTIMEVERIFY a été introduit pour traiter les problèmes verrouillés par le temps. Cet opérateur permet de verrouiller la transaction jusqu'à ce que la clé privée éphémère (eSk) correcte soit donnée ou jusqu’à une certaine durée à partir de laquelle le créateur de la transaction, ici le destinataire (7), peut récupérer le contenu de la transaction, dans le cas où la clé privée éphémère (eSk) n’est pas fournie à temps. L'opérateur de script OP_CHECKRSA512PAIR a aussi été introduit dans le script afin de vérifier que la clé privée éphémère (eSk) donnée par la passerelle est celle qui correspond à la clé publique éphémère (ePk) de la transaction. D’autres opérateurs de scripts ayant la même fonction peuvent substituer lesdits opérateurs ci-dessus indifféremment dans les modes de réalisation exposés dans la présente demande.
Dans un mode de réalisation non limitatif, le script de vérification utilisé à l’étape X comprend une vérification de la clé privée éphémère (eSk) donnée par la passerelle pour s’assurer qu’elle est celle qui correspond à la clé publique éphémère (ePk) de la transaction et un déverrouillage de la transaction au bout d’un certain temps. Cela permet au détenteur de la clé secrète éphémère (eSk) associé à la clé publique éphémère (ePk) indiquée dans la transaction d’utiliser les sorties de ladite transaction. Le script permet aussi au créateur de la transaction de récupérer les sorties après un temps défini. En effet dans le cas où la passerelle est défaillante, les sorties ne sont alors pas abandonnées, mais vont être récupérées par le créateur de la transaction. Cela permet aussi d’inciter la passerelle à révéler la clé secrète eSk rapidement pour s’assurer de ne pas perdre ses gains.
Le script de vérification est le suivant :
1 <rsaPubKey>
2 <<rsaPrivKey>>
3 OP_CHECKRSA512PAIR
4 OP_IF
5 <<sig>> <<pubKey>>
6 OP_DUP
7 OP_HASHl 60
8 <pubKeyHash>
9 OP_EQUALVERIFY
10 OP_ELSE
11 <block_height+l 00>
12 OP_CHECKLOCKTIMEVERIFY
13 OP_DROP
14 <<sig>> <<buyerPubKey>
15 OP_DUP
16 OP_HASHl 60
17 <buyerPubkeyHash>
18 OP_EQUALVERIFY
19 OP_ENDIF
20 OP CHECKSIG
L’exécution du script est détaillée dans les tableaux 1 et 2 selon deux éventualités différentes. Le cas où la clé secrète éphémère (eSk) fournie correspond à la clé publique éphémère (ePk) est décrit dans un exemple illustré par le tableau 1 , tandis que le cas où la clé secrète éphémère (eSk) ne correspond pas mais que le temps imparti pour réclamer la transaction est écoulé est décrit dans un exemple illustré par le tableau 2.
La colonne Pile montre l’état de la pile au fur et à mesure de l’exécution du script. La colonne Script montre la partie de script restant à exécuter. Enfin la colonne Description donne une description de l’étape en court.
Les données entre chevrons : <exemple> sont fournies sans la transaction dont la sortie est utilisée. Les données entre double chevrons : «exemple » sont fournies dans la transaction qui dépense une sortie de la première transaction.
[Tableau 1]
De plus, il est noté que des modes de réalisation individuels peuvent être décrits en tant que processus qui est décrit sous la forme d'un organigramme, d'un organigramme de données, d'un schéma de structure ou d'un schéma synoptique. Bien qu'un organigramme puisse décrire les opérations comme un processus séquentiel, de nombreuses opérations peuvent être effectuées en parallèle ou simultanément. De plus, l'ordre des opérations peut être réorganisé. Un processus est terminé lorsque ses opérations sont terminées, mais il est possible que des étapes supplémentaires ne soient pas incluses dans une figure. Un processus peut correspondre à une méthode, une fonction, une procédure, une sous-chaîne, un sous- programme, etc. Lorsqu'un processus correspond à une fonction, sa terminaison peut correspondre à un retour de la fonction à la fonction appelante ou à la fonction principale. C’est notamment le cas des phases de recherche de transaction dans la base de données blockchain.
La présente demande décrit diverses caractéristiques techniques et avantages en référence aux figures et/ou à divers modes de réalisation. L’homme de métier comprendra que les caractéristiques techniques d’un mode de réalisation donné peuvent en fait être combinées avec des caractéristiques d’un autre mode de réalisation à moins que l’inverse ne soit explicitement mentionné ou qu’il ne soit évident
que ces caractéristiques sont incompatibles ou que la combinaison ne fournisse pas une solution à au moins un des problèmes techniques mentionnés dans la présente demande. De plus, les caractéristiques techniques décrites dans un mode de réalisation donné peuvent être isolées des autres caractéristiques de ce mode à moins que l’inverse ne soit explicitement mentionné. Aussi, certains aspects ne sont pas détaillés de façon à éviter d’obscurcir et alourdir la présente description et l’homme de métier comprendra que des moyens divers et variés pourront être utilisés et que l’invention n’est pas limitée aux seuls exemples décrits.
Il doit être évident pour les personnes versées dans l'art que la présente invention permet des modes de réalisation sous de nombreuses autres formes spécifiques sans l'éloigner du domaine d'application de l'invention comme revendiqué. Par conséquent, les présents modes de réalisation doivent être considérés à titre d'illustration, mais peuvent être modifiés dans le domaine défini par la portée des revendications jointes, et l'invention ne doit pas être limitée aux détails donnés ci- dessus.
On comprendra aisément à la lecture de la présente demande que les composants de la présente invention, comme généralement décrits et illustrés dans les figures, peuvent être arrangés et conçus selon une grande variété de configurations différentes. Ainsi, la description de la présente invention et les figures afférentes ne sont pas prévues pour limiter la portée de l'invention mais représentent simplement des modes de réalisation choisis.
LISTE DES SIGNES DE REFERENCES
(1 ) Nœud
(2) Liaison sans fil, radio
(3) Passerelle
(4) Liaison filaire/longue distance (IP)
(5) Internet
(6) Liaison filaire/longue distance (IP)
(7) Destinataire
(8) Base de données Blockchain
(9) Dispositif de communication
(10) Système de communication
(P1 ) Premier module générateur (Passerelle)
(P2) Second module émetteur (Passerelle)
(P3) Troisième module récepteur (Passerelle)
(P4) Quatrième module de gestion de blockchain (Passerelle) (N2) Module récepteur (Nœud)
(N5) Module générateur (Nœud)
(D1 ) Module de génération (Destinataire)
(D2) Premier module de transaction (Destinataire)
(D3) Module récepteur (Destinataire)
(D4) Deuxième module de transaction
Claims
1. Dispositif (9) de communication comprenant au moins deux passerelles et un nœud ou objet (1 ), les passerelles (3) formant un réseau de passerelles hétérogènes, pour communiquer par réseau radio (2) avec au moins ledit nœud ou objet (1 ) et par un réseau longue distance (4,6) avec au moins une autre passerelle (3’), une application ou au moins un serveur d’application d’un destinataire (7) et un dispositif de stockage de données constituant au moins une base de données de chaînes de blocs, blockchain (8) mémorisant des transactions dans des blocs, chaque passerelle (3) caractérisée en ce qu’elle comprend plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine, dont au moins :
Un second module émetteur (P2) qui, par l’exécution d’au moins un code sur un composant hardware, envoie sur le réseau radio vers le nœud (1 ) communicant avec au moins un objet connecté (D) ou l’objet, des données mémorisées dans au moins un média lisible par la machine de la passerelle, les données comprenant au moins une clé publique éphémère (ePk) complémentaire d’une clé éphémère privée (eSk), ainsi que des informations concernant ladite passerelle et le transfert potentiel de données,
Un troisième module récepteur (P3) qui comprend une pluralité de codes exécutés sur un composant hardware, pour recevoir des données d’un nœud ou objet (1 ) par le réseau radio (2) si ledit nœud ou objet choisit d’effectuer le transfert par ladite passerelle (3), alors choisie,
Ledit nœud ou objet (1 ), comprenant au moins un ou plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine, et au moins :
Un média lisible par la machine constituant un espace de mémoire comprenant une clé privée (Sk) et une adresse blockchain du destinataire (@R) liée à une transaction d’une bloc d’une chaîne de blocs créée par l’application ou du serveur d’application du destinataire (7) comprenant une adresse IP de la passerelle (3’), de
l’application ou du serveur d’application du destinataire (7), l’adresse blockchain étant préférentiellement préalablement transmise par une application du destinataire ou le serveur d’application du destinataire au nœud ;
Un module récepteur (N2) qui, par l’exécution de codes sur un composant hardware, reçoit les clés publiques éphémères (ePk1 , ePk2) ainsi que les informations concernant ladite passerelle et le transfert potentiel de données envoyés par chacun des seconds modules émetteurs (P2) des passerelles (3), optionnellement en réponse à des requêtes d’informations émises d’un module émetteur (N1 ) du nœud ou objet O ) ;
ledit module récepteur (N2) comprenant un sous-module d’analyse qui, par l’exécution de codes sur un composant hardware, analyse lesdites informations concernant ladite passerelle et le transfert potentiel de données, choisit la passerelle par laquelle le transfert de données doit être effectué, et définit le niveau de sûreté du protocole de communication, soit « sécurisé », soit « de confiance » pour ledit transfert de données en fonction desdites informations,
Un module générateur (N5) qui, par l’exécution de codes sur un composant hardware, génère un message (m) en réponse à des données générées dans l’objet ou provenant d’un objet connecté au noeud.
2. Dispositif (9) selon la revendication 1 , où lorsque le sous-module d’analyse du nœud (1 ) analyse les informations concernant chaque passerelle et leur transfert potentiel de données, au moins l’une desdites informations correspond à :
• Le propriétaire de la passerelle (3) est identique au propriétaire du destinataire (7)
• L’identifiant de la passerelle (3) correspond à celui d’une base de données du nœud ou objet comme un intermédiaire et/ou destinataire de confiance
• La passerelle (3) possède la clé Sk, ou est l’émettrice de la clé privée (Sk)
• La passerelle (3) est l’émettrice de la clé éphémère (K) reçue par le module récepteur N2 du nœud (1 ),
ledit sous-module d’analyse choisit la passerelle qui est responsable de l’envoi de ladite information, définit le niveau de sûreté du protocole de communication comme « de confiance », le sous-module émetteur envoyant seulement le message (m) à la passerelle du destinataire (7).
3. Dispositif (9) selon la revendication 1 , où, lorsque le niveau de sûreté du protocole de communication choisi est « sécurisé », le module générateur (N5) du nœud ou objet (1 ) comprend en outre un sous-module de chiffrement qui, au moyen de la clé publique éphémère (ePk1 ) envoyée par le second module émetteur (P2) de la passerelle choisie (3), chiffre ce message pour obtenir le message chiffré (Em), le sous-module de chiffrement réalisant en outre une signature, la signature (Sig) étant le chiffrement, d’un hachage du message chiffré et de la clé publique éphémère (ePk) reçue de la passerelle choisie (3), au moyen de la clé privée (Sk) contenue dans l’espace de mémoire du nœud ou objet (1 ), le module générateur (N5) comprenant aussi un sous-module émetteur qui envoie les données dont au moins une partie est sécurisée et authentifiable comprenant au moins la signature (Sig), le message chiffré (Em), et l’adresse blockchain (@R) du destinataire à la passerelle choisie (3) par le réseau radio (2)
Le troisième module récepteur (P3) de la passerelle choisie (3) recevant les données dont au moins une partie est sécurisée et authentifiable du nœud ou objet (1 ) du réseau radio (2), comprend en outre : un sous-modèle de recherche qui, par l’exécution de codes sur un composant hardware, recherche une transaction à l’adresse blockchain de la passerelle, de l’application ou du serveur d’application du destinataire (@R) et récupère ladite adresse IP de la passerelle, de l’application ou du serveur d’application du destinataire (7) contenue dans la transaction, et un sous-module émetteur qui, par l’exécution de codes sur un composant hardware, déclenche l’envoi par protocole IP (4) à l’adresse IP de la passerelle, de l’application ou du serveur d’application du destinataire (7) d’au moins lesdites données au moins sécurisées, la passerelle choisie (3) comprenant en outre :
Un quatrième module de gestion de blockchain (P4) comprenant :
- au moins un sous-module de recherche qui, par l’exécution de codes sur un composant hardware, recherche une transaction ou des données de la transaction blockchain (8) créée par le destinataire (7) dans la base de données (8) mémorisant les transactions blockchain et qui comporte ou résulte d’un script spécifique à clé publique éphémère (ePk) à l’adresse blockchain du destinataire, et ;
- un sous-module de création de transaction qui, par l’exécution de codes sur un composant hardware, crée une nouvelle transaction de blockchain à destination de la passerelle (3) elle-même utilisant un script incorporant la clé privée éphémère (eSk) permettant de valider le script de la transaction blockchain (8) créée par le destinataire (7), ladite nouvelle transaction une fois validée permet au destinataire d’accéder à la clé (eSk) pour permettre de déchiffrer le message chiffré (Em), ladite création débutant lorsque ladite transaction blockchain créée par le destinataire a été trouvée.
4. Système de communication (10) comprenant un dispositif (9) selon l’une des revendications 1 à 3, et qui comprend en outre une passerelle (3’), une application ou un serveur d’application du destinataire (7), la passerelle, l’application ou le serveur comprenant au moins un ou plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine, dont au moins :
Un module de génération (D1 ) qui, par l’exécution de codes sur un composant hardware, (13) génère et envoie la clé privée (Sk) et optionnellement la clé symétrique (K) à destination du nœud (1 ) communicant avec au moins un objet connecté ;
Un média lisible par la machine constituant un espace de mémoire comprenant une clé publique (Pk) complémentaire de la clé privée (Sk) transmise au nœud (1 ) ;
Un premier module de transaction (D2) qui, par l’exécution de codes sur un composant hardware, crée une transaction blockchain à l’adresse blockchain de la passerelle, de l’application ou du serveur d’application (@R) du destinataire (7), ladite transaction blockchain comprenant l’adresse IP de la passerelle, de l’application ou du serveur d’application du destinataire ;
Un module récepteur (D3) qui, par l’exécution de codes sur un composant hardware, reçoit de la passerelle choisie (3), par un réseau longue distance, par exemple Internet (4,6), ou du nœud ou objet (1 ) par un réseau radio, des données, les
données étant différentes en fonction du niveau de sûreté du protocole de communication choisi par le nœud ou objet (1 ).
5. Système (10) selon la revendication 4, où lorsque le niveau de sûreté du protocole de communication est défini comme « sécurisé », les données reçues par le module récepteur (D3) du destinataire (7) sont des données dont au moins une partie est sécurisée et authentifiable et comprennent le message chiffré (Em), la signature (Sig) et la clé publique éphémère (ePk) de la passerelle (3) choisie, et lors de la réception desdites données, ledit module (D3) lance un sous-module de vérification de la signature (Sig) qui vérifie au moyen d’un calcul de signature au moyen de la clé privée (Sk) enregistrée dans l’espace de mémoire en comparant le résultat du calcul avec la signature (Sig) reçue que le message (Em) reçu a bien été généré par le nœud ou objet (1 ) communicant avec au moins avec l’objet connecté (D), le module (D3) stoppant la transaction si cette vérification échoue ;
Le destinataire comprenant en outre un module de transaction (D4), optionnellement le premier module de transaction (D2), qui, par l’exécution de codes sur un composant hardware, crée une transaction blockchain à l’adresse blockchain du destinataire (@R) une fois que le sous-module de vérification a effectué la vérification du message, la transaction comprenant au moins un script spécifique, utilisant la clé publique éphémère (ePk) envoyée par la passerelle choisie (P1 ) ;
Le module de transaction (D4) comprenant un sous-module de recherche (1 1 ) qui une fois les éléments Em ePk et Sig reçus, recherche une transaction blockchain incorporant l’adresse blockchain de la passerelle choisie et un script de signature utilisant la clé privée éphémère (eSk) ;
Le module de transaction (D4) comprenant un sous-module de déchiffrement qui, une fois la transaction blockchain trouvée, utilise la clé privée éphémère (eSk) de ladite transaction pour déchiffrer le message chiffré du nœud reçu de la passerelle par le module récepteur, et préférentiellement en outre au moyen de la clé symétrique (K) partagée avec le nœud,
Le module de transaction (D4) comprenant optionnellement en outre un sous- module de lecture/écriture et un espace mémoire dans lequel le sous-module de lecture/écriture enregistre des données et qui, une fois la transaction blockchain trouvée, enregistre la clé privée éphémère (eSk) de ladite transaction.
6. Système de communication (10) selon la revendication 4 ou 5, où le niveau de sûreté du protocole de communication est défini comme « sécurisé », et où une passerelle (3’), une application ou un serveur d’application du destinataire (7) comprend des données comprenant une paire de clé privée et publique éphémères (eSk, ePk) et des informations sur un potentiel transfert de données, lesdites données étant enregistrées sur un media lisible par la machine,
ou préférentiellement le destinataire (7) comprend une passerelle (3’) selon l’une des revendications 1 à 3, qui envoie lesdites données audit nœud (1 ), optionnellement en réponse à une requête d’informations envoyées par le nœud (1 ), le destinataire (7) comprenant en outre un module de transaction (D4), optionnellement le premier module de transaction (D2), qui, lorsqu’il reçoit des données dont au moins une partie est sécurisée et authentifiable du nœud ou objet (1 ) dont au moins l’une d’elles correspond au moins à une parmi :
• le propriétaire du nœud (1 ) correspond à celui du destinataire (7), et/ou
• l’adresse blockchain (@R) reçue par le module récepteur (D3) du destinataire (7) correspond à l’adresse blockchain (@R) du destinataire (7) et/ou
• le message reçu (Em) est chiffré par la clé publique éphémère ePk que le destinataire (7) a lui-même envoyé,
déchiffre le message (Em), au moyen de la clé privée éphémère (eSk) par son sous- module de déchiffrement, pour obtenir le message déchiffré (m) et stoppe le protocole de communication « sécurisé ».
7. Système de communication (10) selon l’une des revendications 4 à 6, où lorsque les informations envoyées par le nœud ou objet (1 ) sont reçues par une passerelle (3’) du destinataire (7) et correspondent au moins à une parmi :
• le propriétaire du nœud (1 ) correspond à celui du destinataire (7), et/ou
• Le nœud (1 ) a connaissance de la clé privée (Sk)
le module de génération (D1 ) du destinataire (7) envoie au nœud (1 ) une information mentionnant :
• sa connaissance de la clé privée (Sk) et/ou
• la clé privée (Sk) et/ou
• la clé publique (Pk)
le sous-module d’analyse du nœud choisit la passerelle qui est responsable de l’envoi d’une desdites informations, définit le niveau de sûreté du protocole de communication comme « de confiance »,
et lorsque le module récepteur (D3) du destinataire (7) reçoit au moins le message (Em ou m) non chiffré par la clé ePk, il stoppe le protocole de communication.
8. Système de communication (10) selon l’une quelconque des revendications 4 à X, dans lequel le module de transaction (D4, D2) du destinataire (7) déverrouille la transaction créée par ledit module (D4, D2) après une certaine durée, si la passerelle choisie (3) n’a pas débloqué la transaction durant cette durée.
9. Système (1 ) selon l’une quelconque des revendications précédentes, où au moins une, préférentiellement chaque, passerelle (3) comprend en outre un premier module générateur (P1 ) qui comprend au moins un code exécuté sur un composant hardware, pour générer la clé privée éphémère (eSk) et la clé publique éphémère (ePk) complémentaire de ladite clé éphémère privée (eSk), préférentiellement en réponse à un évènement déclencheur, et mémorise ces clés (ePk , eSk) dans un média lisible par la machine, le premier module générateur (P1 ) générant de plus les informations concernant ladite passerelle et le transfert potentiel de données,
10. Système (1 ) selon l’une des quelconques revendications précédentes, où le sous-module de chiffrement du nœud chiffre une première fois le message (m) généré par le module générateur (N5) au moyen d’une clé symétrique (K) partagée avec une passerelle (3’), une application ou un serveur d’application du destinataire (7) pour obtenir le message chiffré Ek(m), préférentiellement avant que le sous-module de chiffrement chiffre le message au moyen de la clé publique éphémère (ePk) pour obtenir le message double chiffré (Em).
1 1 . Système (1 ) selon l’une quelconque des revendications précédentes, où l’évènement déclencheur de la génération et/ou l’envoi des clés privée et publique éphémères (eSk, ePk) et des informations concernant ladite passerelle et le transfert potentiel de données par le premier module générateur (P1 ) et/ou le second module émetteur (P2) peut être au moins un événement choisi dans la liste suivante :
- la réception par la technologie sans fil (2) d’une demande de la clé publique éphémère (ePk) de la part d’au moins un nœud (1 ) communicant avec au moins un objet connecté (D),
- l’émission périodique, par un module d’émission de la passerelle, optionnellement le second module de la passerelle, d’un message de signalisation contenant la clé publique éphémère et les informations concernant ladite passerelle et le transfert potentiel de données, ou une de leurs combinaisons.
12. Système (1 ) selon l’une quelconque des revendications 3 à 1 1 , où le sous- module de recherche du quatrième module de gestion de blockchain (P4) de la passerelle choisie (3) débute ladite recherche lorsque l’envoi des données dont au moins une partie est sécurisée et authentifiable (Em, ePk, Sig) au destinataire est effectué,
13. Système (1 ) selon l’une quelconque des revendications 3 à 12, où le quatrième module de gestion de blockchain de la passerelle (P4) comprend en outre un sous-module de vérification qui, par l’instruction de codes associé à un composant hardware, vérifie au moyen de la clé privée éphémère (eSk) que ladite transaction contient un token, ou une valeur financière, et optionnellement étudie le token ou sa valeur, ou mesure ladite valeur financière, le sous-module de vérification étant en outre configuré pour stopper la transaction si la vérification échoue ou si la valeur du token ou la valeur financière contenue dans la transaction est inférieure à une valeur préalablement négociée entre la passerelle (3) et le nœud (1 ).
14. Système de communication (10) selon l’une quelconque des revendications 3 à 13, dans lequel le quatrième module de gestion de blockchain (P4) de la passerelle choisie (3) comprend un sous-module de mesure du temps associé à une instruction d’attente d’un temps de confirmation après la réception d’une transaction blockchain du destinataire, préférentiellement au moins avant la réception de la transaction nécessitant de fournir la clé secrète éphémère (eSk) encore préférentiellement le temps de confirmation étant correspondant à la confirmation du minage du bloc de la blockchain par d’autres participants de la blockchain.
15. Méthode de communication entre au moins un nœud ou objet (1 ) relié par radio (2) à au moins au moins deux passerelles (3) communiquant par un réseau longue distance (4,6) avec au moins une passerelle (3’), une application ou un serveur d’application d’au moins un destinataire (7) , la méthode étant caractérisée en ce qu’elle comprend :
des passerelles (3) formant un réseau de passerelles hétérogènes et comprenant chacune plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine dont au moins :
Un second module émetteur (P2)
Un troisième module récepteur (P3) qui comprend un sous-module émetteur,
Un quatrième module de gestion de blockchain (P4) qui comprend au moins un sous- module de recherche et un sous-module de création de transaction ;
ledit nœud (1 ) d’un objet connecté, ou objet, comprenant au moins un ou plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine les modules étant mémorisés dans au moins un média lisible par la machine et au moins :
Un média lisible par la machine
Un module récepteur (N2)
Un module générateur (N5) comprenant un sous-module de chiffrement et un sous- module émetteur ;
ladite passerelle (3’), ladite application ou ledit serveur d’application du destinataire (7) comprenant au moins un ou plusieurs modules de codes exécutables sur un ou plusieurs composants hardware de traitement tels qu’un microprocesseur pour constituer une machine, les modules étant mémorisés dans au moins un média lisible par la machine, dont au moins :
Un module de génération (D1 )
Un média lisible par la machine
Un premier module de transaction (D2)
Un module récepteur (D3) comprenant un sous-module de vérification
Un module de transaction (D4), optionnellement le premier module de transaction comprenant un sous-module de recherche, un sous-module de lecture/écriture et un sous-module de déchiffrement
Les modules effectuant leurs actions par l’exécution de codes sur au moins un composant hardware ;
et qu’elle comprend au moins les étapes suivantes :
I- Génération par le module de génération (D1 ) de la passerelle, de l’application ou du serveur d’application du destinataire (7) d’une clé publique (Pk) et enregistrement sur un média lisible par la machine constituant un espace de mémoire, puis génération et envoi de la clé privée (Sk) complémentaire de la clé publique (Pk) à destination du nœud (1 ) communicant avec au moins un objet connecté (D), et enregistrement dans le média lisible du nœud (1 ) constituant un espace de mémoire la clé privée (Sk) transmise ;
II- Création d’une transaction blockchain par le module de transaction (D2) de l’application ou du serveur d’application du destinataire (7) à l’adresse blockchain de l’application ou du serveur d’application du destinataire, ladite transaction blockchain comprenant l’adresse IP de l’application ou du serveur d’application du destinataire (7) ;
III- Envoi par le second module émetteur (P2) de chaque passerelle (3) sur le réseau radio (2) vers un nœud ou objet (1 ), de sa clé publique éphémère (ePk1 , ePk2) et des informations concernant ladite passerelle et le transfert potentiel de données, mémorisées dans au moins un média lisible par la machine de la passerelle;
IV- Réception par le module récepteur (N2) du nœud de la clé publique éphémère (ePk) et des informations concernant chaque passerelle et le transfert potentiel de données de chaque passerelle (3);
Analyse par le sous-module d’analyse du module récepteur (N2) du nœud (1 ), desdites informations concernant le transfert potentiel de données, choix de la passerelle par laquelle le transfert de données doit être effectué, et définition du niveau de sûreté du protocole de communication pour ledit transfert de données comprenant un message (m) à destination du destinataire (7), en fonction desdites informations ;
Génération par le module générateur (N5) du nœud, dudit message (m) en réponse à des données provenant d’un objet connecté (D), et à destination du destinataire (7),
Les données comprenant au moins le message (m) étant transférées au destinataire (7) par l’intermédiaire de la passerelle (3) choisie, et selon le protocole de communication défini.
16. Méthode de communication selon la revendication précédente, où le niveau de sûreté du protocole de communication est défini comme « sécurisé », ledit protocole de communication comprenant alors, après la génération du message (m) par le module générateur (N5) du nœud, les étapes suivantes :
V- Chiffrement du message (m) par le sous-module de chiffrement du module générateur (N5), au moyen de la clé publique éphémère (ePk) envoyée par la passerelle choisie (3), pour obtenir le message chiffré (Em),
Réalisation d’une signature (Sig) par le sous-module de chiffrement, la signature (Sig) étant le chiffrement, d’un hachage du message chiffré et de la clé publique éphémère (ePk) reçue de la passerelle choisie (3), au moyen de la clé privée (Sk) contenue dans l’espace de mémoire du nœud,
VI- Envoi des données dont au moins une partie est sécurisée et authentifiable comprenant au moins la signature (Sig), du message chiffré (Em) et de l’adresse blockchain du destinataire (@R) par le sous-module émetteur du module générateur (N5) du nœud (1 ) à la passerelle choisie (3) par le réseau radio (2) ;
VII- Réception des données dont au moins une partie est sécurisée et authentifiable par le troisième module récepteur (P3) de la passerelle choisie (3) et recherche par le sous-modèle de recherche du troisième module récepteur (P3) de la passerelle choisie (3) d’une adresse blockchain de l’application ou du serveur d’application d’un destinataire (@R) liée à une transaction de blockchain créée par la passerelle, l’application ou du serveur d’application du destinataire (7) comprenant une adresse IP de la passerelle, de l’application ou du serveur d’application du destinataire (7) et récupère ladite adresse IP,
VIII- Envoi par le sous-module émetteur du troisième module de la passerelle choisie (P3) par protocole IP à l’adresse IP de l’application ou du serveur d’application du destinataire (7) d’au moins les données dont au moins une partie est sécurisée et authentifiable (Em, ePk, Sig) ;
IX- Réception par le module récepteur de l’application ou un serveur d’application du destinataire (D3), par protocole IP des données de la passerelle choisie (3)
, et lors de la réception desdites données, lancement d’un sous-module de vérification de la signature (Sig), et vérification au moyen d’un calcul de signature au moyen de la clé privée (Sk) enregistrée dans l’espace de mémoire en comparant le résultat du calcul avec la signature reçue (Sig) que le message (Em) reçu a bien été généré par le nœud ou objet (1 ), la transaction étant stoppée par le module si la vérification échoue ;
X- Création d’une transaction blockchain à l’adresse blockchain du destinataire (@R) par le module de transaction de la passerelle, de l’application ou un serveur d’application du destinataire, optionnellement le premier module de transaction (D2), une fois que le sous-module de vérification a effectué la vérification du message, la transaction comprenant au moins un script spécifique, utilisant la clé publique éphémère (ePk) envoyée par la passerelle choisie (3) ;
XI- Recherche d’une transaction de la transaction blockchain (8) créée par le destinataire (7) dans la base de donnée mémorisant les transactions blockchain et qui comporte ou résulte d’un script spécifique à clé publique éphémère (ePk) par le sous-module de recherche du quatrième module de gestion de blockchain de la passerelle (P4), optionnellement une fois l’envoi des données lors de l’étape VIII effectué, puis, une fois ladite transaction blockchain créée par le destinataire (7) trouvée, création d’une nouvelle transaction de blockchain par le sous module de création de transaction du quatrième module de gestion de blockchain de la passerelle (P4) en utilisant comme entrées les sorties de la transaction précédente, et utilisant un script incorporant la clé privée éphémère (eSk).
XII- Recherche dans la blockchain par le sous-module de recherche de la passerelle, de l’application ou un serveur d’application du destinataire (7) de la transaction créée par la passerelle et récupération de la clé privée éphémère (eSk), et, optionnellement, enregistrement de ladite clé privée éphémère (eSk) par le sous-module de lecture/écriture dans le média lisible par la machine de l’application ou du serveur d’application du destinataire (7).
XIII- Déchiffrement du message (Em) par le sous-module de déchiffrement de l’application ou un serveur d’application du destinataire (7) au moyen de la clé privée éphémère (eSk) récupérée par le sous-module de recherche.
17. Méthode de communication selon la revendication précédente qui comprend en outre dans l’étape XI une vérification par le sous-module de recherche du quatrième module de gestion de blockchain (P4) de la passerelle (3) choisie que ladite transaction contient un token, ou une valeur financière, et préférentiellement une mesure du token ou de ladite valeur financière, la transaction étant stoppée par le sous-module si la vérification échoue ou si la valeur du token ou de la valeur financière contenue dans la transaction est inférieure à une valeur préalablement négociée entre la passerelle (3) et le nœud (1 ).
18. Méthode de communication selon l’une des revendications 15 à 17, où le destinataire (7) comprend au moins une paire de clé privée et publique éphémères (eSk, ePk) et des informations concernant le destinataire et le transfert potentiel de données enregistrées sur un média lisible par la machine, ou préférentiellement comprend une passerelle (3) selon l’une des revendications 1 à 3, qui permet lors de l’étape III, l’envoi audit nœud ou objet (1 ) de ladite paire de clés privée et publique éphémères (eSk, ePk) et desdites informations, optionnellement en réponse à une requête d’informations envoyées par le nœud (1 ), et
lors de l’étape IV, le choix par le sous-module d’analyse du nœud ou objet (1 ), de la passerelle du destinataire (7) et la définition du niveau de sûreté du protocole de communication comme « sécurisé »,
ledit protocole de communication comprenant alors, après la génération du message (m) par le module générateur (N5) du nœud, les étapes suivantes :
V- Chiffrement du message (m) par le sous-module de chiffrement du module générateur (N5), au moyen de la clé publique éphémère (ePk) envoyée par la passerelle choisie (3), pour obtenir le message chiffré (Em),
Réalisation d’une signature (Sig) par le sous-module de chiffrement, la signature (Sig) étant le chiffrement, d’un hachage du message chiffré et de la clé publique éphémère (ePk) reçue de la passerelle choisie (3), au moyen de la clé privée (Sk) contenue dans l’espace de mémoire du nœud,
VI- Envoi des données dont au moins une partie est sécurisée et authentifiable comprenant au moins la signature (Sig), du message chiffré (Em) et de l’adresse blockchain du destinataire (@R) par le sous-module émetteur du module générateur (N5) du nœud (1 ) à la passerelle choisie (3) par le réseau radio (2) ;
VII- (Bis) Réception des données dont au moins une partie est sécurisée et authentifiable par le troisième module récepteur (P3) de la passerelle choisie (3) du destinataire (7) et déchiffrement par le sous-module de déchiffrement (D2) du destinataire (7) du message (Em), au moyen de la clé privée (Sk), pour obtenir le message déchiffré (m), et stoppe le protocole de communication « sécurisé » sans réaliser les étapes VII à XIII,
L’étape Vllbis étant réalisée seulement lorsque ladite passerelle du destinataire (7) reçoit des données du nœud (1 ) qui correspondent au moins à une parmi :
• le propriétaire du nœud (1 ) correspond à celui du destinataire (7), et/ou
• l’adresse blockchain (@R) reçue par le module récepteur (D3) du destinataire (7) correspond à l’adresse blockchain (@R) du destinataire (7) et/ou
• le message reçu (Em) est chiffré par la clé publique éphémère ePk que le destinataire (7) a lui-même envoyé.
19. Méthode de communication selon l’une des revendications 15 à 18, où
lors de l’étape III, le module de génération (D1 ) du destinataire (7) est à portée radio du nœud et, par l’exécution d’au moins un code sur un composant hardware, envoie au nœud (1 ) avant l’étape III au moins une information mentionnant :
• sa connaissance de la clé privée (Sk) et/ou
• la clé privée (Sk) et/ou
• la clé publique (Pk) et/ou
• le propriétaire du nœud (1 ) correspond à celui du destinataire, (7), qui permet les étapes suivantes :
lors de l’étape IV, choix par le sous-module d’analyse du module récepteur (N2) du nœud (1 ), de la passerelle (3) du destinataire, (7), et définition du niveau de sûreté du protocole de communication comme « de confiance », et
Envoi du message (m) par le sous-module émetteur du module générateur (N5), et Réception par le module récepteur (D3) du destinataire (7) d’au moins ledit message (Em ou m) non chiffré par la clé (ePk).
20. Méthode de communication selon la revendication 15 à 19, qui comprend en outre lors de l’étape IV, un premier chiffrement du message (m) réalisé par le sous- module de chiffrement du module générateur (N5) du nœud au moyen d’une clé
symétrique (K) partagée avec une passerelle, une application ou un serveur d’application du destinataire (7) pour obtenir le message chiffré Ek(m), avant que le chiffrement au moyen de la clé publique éphémère (ePk) ne soit réalisé, pour obtenir le message double chiffré (Em), Le déchiffrement du message double chiffré (Em) par le sous-module de déchiffrement de l’application ou un serveur d’application du destinataire (7) à l’étape XIII est alors réalisé au moyen de la clé privée éphémère (eSk) puis de la clé symétrique (K).
21. Méthode de communication selon l’une des revendications 15 à 20, où chacune des passerelles (3) comprend un premier module générateur, la méthode comprenant en outre, avant l’étape III une première étape de génération par chacun des premiers modules générateurs des passerelles (P1 ) d’une clé privée éphémère (eSk1 , eSk2) et une clé publique éphémère (ePk1 , ePk2) complémentaire de ladite clé privée éphémère (eSk11 , eSk2), ainsi que d’informations concernant la passerelle et le transfert potentiel de données en réponse à un évènement déclencheur, et mémorisation de ces clés (ePk1 , eSk1 , ePk2,eSk2) dans le média lisible par la machine de la passerelle;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19827626.3A EP3891678A1 (fr) | 2018-12-06 | 2019-12-03 | Dispositif pour communiquer dans un reseau de passerelles heterogenes par reseau radio avec au moins un noeud et par un reseau longue distance, avec au moins un destinataire |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1872436A FR3089730B1 (fr) | 2018-12-06 | 2018-12-06 | dispositif pour communiquer dans un réseau de passerelles heterogenes par réseau radio avec au moins un nœud et par un réseau longue distance, avec au moins un destinataire |
FR1872436 | 2018-12-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020115002A1 true WO2020115002A1 (fr) | 2020-06-11 |
Family
ID=66530157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2019/083396 WO2020115002A1 (fr) | 2018-12-06 | 2019-12-03 | Dispositif pour communiquer dans un reseau de passerelles heterogenes par reseau radio avec au moins un nœud et par un reseau longue distance, avec au moins un destinataire |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3891678A1 (fr) |
FR (1) | FR3089730B1 (fr) |
WO (1) | WO2020115002A1 (fr) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112764887A (zh) * | 2021-01-15 | 2021-05-07 | 北京百度网讯科技有限公司 | 事务请求的构建方法、处理方法、装置、设备和存储介质 |
CN113852544A (zh) * | 2021-08-05 | 2021-12-28 | 复旦大学 | 一种基于LoraWan和区块链的安全网关 |
CN113987465A (zh) * | 2021-08-18 | 2022-01-28 | 齐鲁工业大学 | 一种海量异构物联网设备的通用精准访问控制系统及方法 |
CN114765627A (zh) * | 2021-01-14 | 2022-07-19 | 京东科技控股股份有限公司 | 数据传输方法、设备、存储介质及计算机程序产品 |
CN114785529A (zh) * | 2022-06-20 | 2022-07-22 | 广东名阳信息科技有限公司 | 基于区块链的建立可信通信链路的方法和系统 |
-
2018
- 2018-12-06 FR FR1872436A patent/FR3089730B1/fr active Active
-
2019
- 2019-12-03 EP EP19827626.3A patent/EP3891678A1/fr active Pending
- 2019-12-03 WO PCT/EP2019/083396 patent/WO2020115002A1/fr unknown
Non-Patent Citations (4)
Title |
---|
CHA SHI-CHO ET AL: "A Blockchain Connected Gateway for BLE-Based Devices in the Internet of Things", IEEE ACCESS, vol. 6, 23 May 2018 (2018-05-23), pages 24639 - 24649, XP011684130, DOI: 10.1109/ACCESS.2018.2799942 * |
LUNDQVIST THOMAS ET AL: "Thing-to-thing electricity micro payments using blockchain technology", 2017 GLOBAL INTERNET OF THINGS SUMMIT (GIOTS), IEEE, 6 June 2017 (2017-06-06), pages 1 - 6, XP033145221, DOI: 10.1109/GIOTS.2017.8016254 * |
RICCARDO BONETTO ET AL: "Secure communication for smart IoT objects: Protocol stacks, use cases and practical examples", WORLD OF WIRELESS, MOBILE AND MULTIMEDIA NETWORKS (WOWMOM), 2012 IEEE INTERNATIONAL SYMPOSIUM ON A, IEEE, 25 June 2012 (2012-06-25), pages 1 - 7, XP032220245, ISBN: 978-1-4673-1238-7, DOI: 10.1109/WOWMOM.2012.6263790 * |
WON JONGHO ET AL: "Decentralized Public Key Infrastructure for Internet-of-Things", MILCOM 2018 - 2018 IEEE MILITARY COMMUNICATIONS CONFERENCE (MILCOM), IEEE, 29 October 2018 (2018-10-29), pages 907 - 913, XP033489288, DOI: 10.1109/MILCOM.2018.8599710 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114765627A (zh) * | 2021-01-14 | 2022-07-19 | 京东科技控股股份有限公司 | 数据传输方法、设备、存储介质及计算机程序产品 |
CN112764887A (zh) * | 2021-01-15 | 2021-05-07 | 北京百度网讯科技有限公司 | 事务请求的构建方法、处理方法、装置、设备和存储介质 |
CN112764887B (zh) * | 2021-01-15 | 2023-10-13 | 北京百度网讯科技有限公司 | 事务请求的构建方法、处理方法、装置、设备和存储介质 |
CN113852544A (zh) * | 2021-08-05 | 2021-12-28 | 复旦大学 | 一种基于LoraWan和区块链的安全网关 |
CN113852544B (zh) * | 2021-08-05 | 2023-11-24 | 复旦大学 | 一种基于LoraWan和区块链的安全网关 |
CN113987465A (zh) * | 2021-08-18 | 2022-01-28 | 齐鲁工业大学 | 一种海量异构物联网设备的通用精准访问控制系统及方法 |
CN113987465B (zh) * | 2021-08-18 | 2022-05-17 | 齐鲁工业大学 | 一种海量异构物联网设备的通用精准访问控制系统及方法 |
CN114785529A (zh) * | 2022-06-20 | 2022-07-22 | 广东名阳信息科技有限公司 | 基于区块链的建立可信通信链路的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3891678A1 (fr) | 2021-10-13 |
FR3089730A1 (fr) | 2020-06-12 |
FR3089730B1 (fr) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3568794B1 (fr) | Procédés et systèmes pour l'exécution de contrats intelligents dans des environnements sécurisés | |
EP3891678A1 (fr) | Dispositif pour communiquer dans un reseau de passerelles heterogenes par reseau radio avec au moins un noeud et par un reseau longue distance, avec au moins un destinataire | |
EP3891959A1 (fr) | Passerelle pour communiquer par réseau radio avec au moins un noeud et par un réseau filaire, par le biais d'une blockchain | |
EP3243176B1 (fr) | Procédé de traitement d'une transaction à partir d'un terminal de communication | |
CN113273146B (zh) | 用于云端通信,计算和全球电子商务的去中心化网络安全的隐私网络 | |
TWI815443B (zh) | 用於物聯網之非暫時性機器可讀取媒體 | |
WO2017122187A2 (fr) | Procédés et systèmes mis en œuvre dans une architecture en réseau de nœuds susceptibles de réaliser des transactions basées sur messages | |
Tkachuk et al. | A survey on blockchain-based telecommunication services marketplaces | |
WO2019129842A1 (fr) | Procédé et système d'activation cryptographique d'une pluralité d'équipements | |
EP3214564B1 (fr) | Procédé d'exécution et de traitement de données, dispositif et programme d'ordinateur correspondant | |
WO2020064890A1 (fr) | Procede de traitement d'une transaction, dispositif, systeme et programme correspondant | |
FR3058540A1 (fr) | Procede de gestion d'autorisation dans une communaute d'objets connectes | |
Akhtar et al. | Distributed ledger technology based robust access control and real-time synchronization for consumer electronics | |
FR3095707A1 (fr) | Procédé de sécurisation d’une communication et dispositif correspondant. | |
Le Vinh | Security and trust in mobile cloud computing | |
Mulár | Blockchain technology in the enterprise environment | |
EP3095223A1 (fr) | Méthode de transmission de données chiffrées, méthode de réception, dispositifs et programmes d'ordinateur correspondants | |
EP2795524B1 (fr) | Procédé et dispositif de sécurisation d'une application informatique | |
WO2024188822A1 (fr) | Procédé et dispositif de paiement confidentiel sur chaîne de blocs | |
Deshpande | Study and design of blockchain based decentralized trust management system for secure transactions | |
WO2023099496A1 (fr) | Procédé de traitement de preuve numérique, système et programme correspondant | |
Vallin | Secure delivery system using blockchain technology | |
FR3143820A1 (fr) | Procédés de communication et de traitement de données pour la mise en œuvre d’un réseau collaboratif, dispositifs et système associés | |
EP3896634A1 (fr) | Procede de traitement d'une transaction effectuee par une entite debitrice aupres d'une entite creditrice cible | |
Król et al. | Rewarding device-to-device content dissemination using Proof-of-Prestige |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19827626 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019827626 Country of ref document: EP Effective date: 20210706 |