EP2979390A1 - Method and device for establishing session keys - Google Patents

Method and device for establishing session keys

Info

Publication number
EP2979390A1
EP2979390A1 EP14709651.5A EP14709651A EP2979390A1 EP 2979390 A1 EP2979390 A1 EP 2979390A1 EP 14709651 A EP14709651 A EP 14709651A EP 2979390 A1 EP2979390 A1 EP 2979390A1
Authority
EP
European Patent Office
Prior art keywords
entity
key
target
source
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP14709651.5A
Other languages
German (de)
French (fr)
Inventor
Aymen BOUDGUIGA
Nouha OUALHA
Alexis Olivereau
Christophe Janneteau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Original Assignee
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Commissariat a lEnergie Atomique et aux Energies Alternatives CEA filed Critical Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Publication of EP2979390A1 publication Critical patent/EP2979390A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Definitions

  • the invention relates to the field of network communications and in particular that of encrypted communications between the entities of a network. State of the art
  • the establishment of a session key between two entities of a communication network is a fundamental prerequisite for the implementation of the vast majority of cryptographic services intended to secure the exchanges between these entities.
  • the protection of data exchanged against attacks intended to modify them or simply to read them is generally based on symmetric cryptographic primitives, in which the entities communicating with each other use the same key when sending (encryption, integrity protection) and receiving (decryption, integrity checking) of a message.
  • a session key is a procedure intended to intervene many times in the lifetime of a communicating entity.
  • a new symmetric key must be used for any secure exchange with any new correspondent.
  • These correspondents are all the more numerous as the entity participates in a scenario favoring interactions between members, for example of the type of sensor network (Wireless Sensor Network, WSN), Machine to Machine (M2M) or Internet of Things (loT ).
  • WSN Wireless Sensor Network
  • M2M Machine to Machine
  • LoT Internet of Things
  • a session key is characterized by a limited life, and should be regularly refreshed. Thus, the procedure implemented to establish a session key is particularly important, and requires a neat design.
  • the security of the protocol must be guaranteed. Thus, the confidentiality of the established key and the mutual authentication of the two correspondents must be ensured. Added to this are other security settings, such as Denial of Service (DDoS) protection that protects entities involved in protocol execution from attacks aimed at depleting their energy resources and / or system resources.
  • DDoS Denial of Service
  • the session key setup protocol must be efficient in terms of bandwidth requirements and power consumption, and in particular from the point of view of the cryptographic computations implemented. This second criterion is particularly important when the session key establishment protocol must be implemented by entities having only low energy resources, such as a battery, or a low computing capacity and / or memory .
  • the protocol can offer additional functionalities, such as the interoperability of the authentication mechanisms between two nodes implementing it or the possibility of a centralized control over the exchange of keys and / or the possibility of a definition. centralized security policies accompanying established keys.
  • Three main approaches have been developed to establish session keys between two nodes.
  • the first family is the key transport, known as Anglicism
  • key transport which consists in securely transporting by encryption one or more secret values from one of the two participants from one session to the other.
  • These secret value transports can be made in one direction only and this mode is known by the Anglicism "one-pass key transport protocol” is to be made in both directions, and this mode is known then under the anglicism "two-pass key transport protocol”.
  • the session key is then derived from these secret values.
  • the second family of session keying solutions is the key agreement, known as the "key agreement”.
  • This approach consists of an exchange of public values between the two nodes from which a common session key is recovered by the two entities participating in the exchange without the public values exchanged having to be decrypted.
  • the main known protocol of "key agreement” is the Diffie-Hellman protocol. In terms of resources consumed, mainly at the level of energy consumed in cryptographic operations, the "key agreement" is a costly approach.
  • a third family of session keying solutions is key distribution, known as key distribution.
  • key distribution In this approach, a third entity often called “trusted third party” intervenes to provide the other two participants a secret value that allows them to calculate the session key or the session key itself.
  • key distribution also involves direct exchanges between the two participants. Indeed, they must prove their involvement in the protocol, establish the freshness of the messages they send and prove their knowledge of the established secret.
  • Key distribution although a simple solution to implement, light in terms of cryptographic operations required and energy consumed, has disadvantages not yet solved by existing solutions.
  • Needham and Schroeder key transport protocol presented in the document "Using encryption for authentication in large networks of computers," Communication of the ACM, Volume 21, Number 12, 1978, contains five message exchanges between two entities, one initiator (I) and an answering machine (R) that each share an encryption key with a trusted third party (TC). The exchange of the five messages is shown in FIG.
  • One of the major issues in the Needham and Schroeder protocol is an impersonation attack by an attacker posing as the initiator and replaying the third message (Message3) between the initiator and the responder.
  • the attacker who can know the key generated by the trusted third party, can then decipher the fourth message and impersonate the session by sending the last message.
  • a disadvantage of the Kerberos protocol is that it is not symmetrical with respect to the initiator and the receiver.
  • the trusted third party has no assurance that the receiver has been contacted or has agreed to participate in the secure transaction.
  • the Kerberos protocol is limited in its applications and rather intended to allow access from a client initiator to a resource supposed not to be subject to malicious behavior, such as a printer or a file server.
  • WO 2009/070075 A1 to Blom et al. Entitled “Key management for secure communication” presents a method for establishing session keys for secure communications between two entities.
  • the method relies on the MIKEY-Ticket key distribution protocol specified in RFC 6043 of Mattsson and Tian, "MIKET-Ticket: Ticket-based modes of key distribution in Multimedia Internet KEYing (MIKEY)".
  • MIKEY Multimedia Internet KEYing
  • this protocol can be the target of denial of service attacks.
  • the skilled person knows the different forms of denial of service attacks.
  • An attacker can create a denial of service by exploiting implementation errors in communication protocols, for example, if the protocol used is implemented to block nodes when they receive unknown data. An attacker can then make a denial of service attack by sending messages containing erroneous fields to the responder, his target.
  • Another way to perform a denial of service is to initiate a communication with the target and then stop sending messages to block the target in an acknowledgment state and saturate its receiving stack.
  • denial of service can be distributed by using several attackers at the same time to saturate the target as quickly as possible and to make it more difficult for the attacker to trace.
  • An object of the present invention is to provide a method for setting session keys that is secure and protected against denial of service attacks.
  • the invention offers both an initiating node and an answering node protection against denial of service attacks.
  • Another object of the present invention is to provide an efficient session key setting method in terms of consumed resources.
  • the method of the invention allows the establishment of a session in four or five message exchanges and relies on the use of symmetric cryptographic primitives.
  • the present invention will be implemented in the fields of machine-to-machine (M2M) communications security, or in the context of networks of nodes constrained in resources such as sensors and / or actuators, which are among the nodes most resource-intensive and may need to dynamically set session keys.
  • M2M machine-to-machine
  • a for the authentication code are derived from an initial key obtained after a step of authenticating the target entity with the third-party trusted entity.
  • the message received from the source entity further comprises a source nonce (Ni) to prove the freshness of the message of the source entity.
  • Ra for the source entity includes the steps of concatenating the key K
  • the message sent to the target entity further comprises the nonce (Ni) and the authentication code based on the second target key K Ra is calculated on the nonce.
  • the message received from the target entity further comprises the source nonce (Ni) and a target nonce (N R ) to prove the freshness of the target message.
  • the message sent to the source entity further comprises the source and target nonces (Ni, N R ).
  • the identifiers of the source and target entities are either IPv6 addresses, MAC addresses or URLs.
  • the nuncio is either a timestamp information, a random number or a counter.
  • the message sent by the third-party trusted entity to the target entity also contains a key encrypted by the keys K
  • the method further comprises a step of sending a message from the source entity to the target entity that contains the identifiers of the source entity and the target entity, the source and target nonces (Ni , N R ) and an authentication code calculated with the key K
  • the invention further relates to a system for establishing a session key between a source entity and a target entity, the source entity sharing with a third-party trusted entity a first source key K
  • the invention may operate in the form of a computer program product that includes code instructions for performing the claimed process steps when the program is run on a computer.
  • Figure 1 illustrates the message exchanges according to the method of Needham and Schroeder
  • Figure 2 illustrates the message exchanges according to the method of
  • FIG. 3 illustrates the message exchanges according to the method of Otway and Rees
  • Figure 4 is a topological representation of a network infrastructure in which to advantageously implement the invention.
  • FIG. 5 shows the procedures executed between the initiator, responder and trusted third party entities of the network of FIG. 4 according to the MIKEY-Ticket method
  • Figure 6 shows the procedures performed between initiator, responder and trusted third party entities of the network of Figure 4 in an advantageous implementation of the invention
  • FIG. 7 shows the procedures executed between the initiator, responder and trusted third party entities of the network of FIG. 1 in an implementation variant of the invention.
  • FIG. 4 illustrates an example of an infrastructure of communication 100 in which advantageously implement the invention.
  • the example of FIG. 4 only shows a finite number of entities (or nodes) and connections, but the person skilled in the art will extend the principles described to a plurality and a variety of entities and types of connections (wireless, mobile, very high speed).
  • the communication network (1 00) comprises fixed or mobile entities that can form an object network (102). Entities can be heavily resource constrained (102-1, 102-n) or resource constrained (1 12-1, 112-m).
  • the entities with strong resource constraints may be wireless sensors or actuators, having limited computing and / or storage capacities. They can also be active tags. However, an entity that is not intrinsically resource-limited may be temporarily so long as it uses a large portion of its CPU resources for another task, or its battery level reaches a critical threshold value. And this entity can be brought to implement less energy-efficient protocols such as that of the invention.
  • Entities with lesser resource constraints may be mobile phones equipped with an internet connection and a camera. It can also be interconnection gateways between a network of constrained entities and the Internet. These entities offer more computing power and storage capacity, can have a higher energy reserve (battery, mains power supply) and can communicate over a network, either directly to an internet network (104) such as illustrated or through gateways and intermediate servers (not shown).
  • an internet network (104) such as illustrated or through gateways and intermediate servers (not shown).
  • the node network (102) may be based on level 2 (e.g., 802.1 5.4 or 802.11) and / or level 3 (e.g., IP) communications between the entities of which it is composed. Following the protocols on which it relies, multicast or broadcast communication schemes can be used.
  • level 2 e.g., 802.1 5.4 or 802.11
  • level 3 e.g., IP
  • the present invention may be advantageously applied in the environment of FIG. 4 between two nodes of the network, a source entity that is called an 'initiator' and a target entity that is called a 'responder'. Both entities need to establish a security association with each other.
  • a central key distribution server (106) that is known as a trusted third party is responsible for authenticating the nodes. It may be remote and accessible via a third party communications network (104) which may be a cellular network or the Internet.
  • the trusted third party stores cryptographic data necessary for the authentication of each of the nodes.
  • each initiator and responder node authenticates to the central server using its own credentials, identity templates, and independent authentication methods most in accordance with each their own specificities and constraints.
  • two nodes can for example establish a session key and associate with their respective identities while the latter are respectively validated by means of a smart card for one and a biometric authentication for the other.
  • the trusted server distributes the same two-node session key that wants to establish a security association between them, allowing decorrelated authentications for each node, as well as centralized control over the key establishment and / or the policies that accompany it. these last.
  • FIG. 5 shows the procedures performed according to the known Mikey-Ticket protocol between an initiator node (I), a responder node (R) and a trusted third party (TC) of the network of FIG. 4.
  • E ⁇ K, (Datai, Data 2 , ...) ⁇ designates the encryption of the concatenated data (Datai, Data 2 , 7) with an encryption algorithm using a key K.
  • MAC ⁇ K, (Datai, Data 2 , ...) ⁇ designates the Message Authentication Code (MAC) on the concatenated data (Datai, Data 2 , ...) using a K key
  • MIKEY-Ticket protocol has been defined to extend the MIKEY protocol by the use of a trusted third party and is based on the exchange of six messages between the three initiator entities (I), responder (R) and trusted third party (TC).
  • An initiating node sends the trusted third party a first message in the form of an initialization request "Request_init”.
  • the request contains a MAC authentication code which is calculated with its key "Kia”.
  • TC checks the validity of the MAC and the authenticity of the data (Datai) sent by the initiator.
  • This data mainly contains an identifier of the answering node with which the initiator node wants to establish a session, a nonce and information on the MAC encryption and computation algorithms supported by the initiator.
  • the trusted third party generates a "KIR” key and transmits it to the initiator in a "Request_resp” response message.
  • R is encrypted by the encryption key "Ki e " of the initiator.
  • the second message also contains a ticket "Ticketi” for the initiator and a MAC calculated with the key K ! a .
  • the initiator verifies the validity of the MAC and retrieves his key K ! R which will allow him to derive with the answering machine two keys "KiRa" and "K
  • Ra will be used to calculate MACs while the KiRe key will encrypt data.
  • the initiator then sends the responder a message "Transfert_init” which contains its ticket “Ticketi”.
  • This third message contains a MAC calculated with the key K
  • the answering node (R) has not yet received the key K
  • the answering machine On receipt of the fifth message, the answering machine checks the MAC calculated by the trusted third party and retrieves the key K
  • the answering node only checks the MAC sent by the initiator in the third message, after having exchanged the fourth and fifth messages with the trusted third party, it can then be the target of denial of service attack.
  • An attacking node may bombard the answering node with an unlimited number of "Transfe nit” messages (third message) to force him to compute a large number of messages “Resolve_init” (fourth message) and thus exhaust all energy and computing resources of the answering node.
  • Figure 6 shows the procedures performed between entities
  • An important advantage of the invention lies in the energy efficiency of the method implemented which is obtained by means of a reduced number of exchanged messages.
  • the proposed method makes it possible to establish secure communication between an initiating node and an answering node in five message exchanges in the implementation of FIG. 6, or in four message exchanges according to the implementation of FIG. note that the last message described for both examples is exchanged between the initiator and the responder and corresponds to a confirmation of key by the initiator which can be implicit.
  • the secure exchange of data between the initiator and the responder can begin respectively after the fourth and the third message of Figures 6 and 7.
  • the message exchanges give roles equivalent to the initiating node (I) and the receiving node (R) with respect to the trusted third party (TC). Indeed, the interactions are of type (l) e (TC), (TC) el (l), (R) tt (TC) and (TC) al (R) and thus offer the trusted third party a better control of session key establishment.
  • the implementation illustrated in FIG. 6 can advantageously be applied when establishing a secure communication between two nodes that do not share any secret directly, but which each share one or more secrets with a trusted third party (TC) .
  • the trusted third party and the initiator initially share two keys (K
  • K ! E and K ! A can be derived from a master key following authentication of the initiator with the trusted third party.
  • the answering machine (R) also shares a key pair (K Re , K Ra ) with the trusted third party.
  • the initiator and the responder each designate a simple entity, but that in a more general case, it may be a group of initiating nodes and / or a group of answering nodes using individual keys and / or group keys.
  • the initiator (I) contacts the trusted third party (TC) to create one or more keys for them.
  • the trusted third generates a single key KIR for both nodes (I) and (R). Then, the trusted third party sends the encrypted key KIR with the key K
  • the integrity of the messages exchanged is ensured by the addition of MACs, respectively calculated using the keys Kia and K RA .
  • the initiator starts the process by sending a first "Messagel" message to the trusted third party.
  • This message contains the identifiers of the initiator (IDi), the trusted third party (ID T c) and the responder (ID R ). It also contains a nuncio (Ni) that serves to prove the freshness of the session and to avoid replay attacks.
  • the initiator adds to the messagel a MAC (MACn) calculated on (ID ,, ID T c, ID R and N,) with the key K ! A.
  • MACn MAC
  • the identifiers may depend on the technology used and the type of network deployed. These identifiers may be, for example, IPv6 addresses, MAC addresses or URLs. In the particular case of IP networks, the identifiers ID
  • the nonce can be a timestamp information, a random number, or a counter (sequence number). It must be a variable and unique information in time that distinguishes the different executions of the known protocol of Menezes, Van Oorschot and Vanstone, described in the document "Handbook of Applied Cryptography", Chapter 10.
  • the Nuncio can also be formed by the combination of the techniques mentioned above. For example, a nonce can be formed by timestamp information and a random number.
  • the trusted third party On receipt of the first message, the trusted third party checks the freshness of the Nuncio Ni and uses the key K ! A to calculate the MAC (MAC T ci) on (ID
  • MACTC2 MAC
  • the trusted third concatenates the key K
  • This second message also contains the identifiers (IDi, I DTC, I DR), the nonce N, and the MAC (MACTC 2 ).
  • the MAC (MACTC 2 ) is calculated with the key K Ra on the following fields: ID T c, I DR, I DI, NI, and E ⁇ K Re , (K
  • the answering machine On receipt of the second message, the answering machine checks the equality between the received MAC T c2 and its own MAC value (MAC R2 ) which it calculates using the key K RA . If the value of MAC T C2 is good, the answering machine decrypts the content of E ⁇ K Re , (K
  • the answering machine generates a nonce (N R ) and calculates a MAC (MAC R
  • the MAC (MACRI) will be transmitted by the trusted third party to the initiator to enable him to verify that the answering machine has received the
  • the responder uses the nonces (Ni, N R ) and the key K ! R as inputs to a pseudo-random function to generate two keys "K
  • Ra is used for calculating the MACs
  • the KiR e key is used to encrypt data between the initiator and the responder.
  • the trusted third party In a second variant, the trusted third party generates two keys, "K
  • R is subsequently used to designate both the key used to calculate the MACs and for the encryption, independently of the methods which made it possible to generate the keys K
  • the responder generates a third message "Message3" for the trusted third party.
  • the message contains the identifiers (ID R ) and (ID T c), the nuncios (N R ) and (N,), the MAC R
  • the trusted third party checks the freshness of the nonce N R and calculates the MAC T c3 using the key K Ra and the identifier data (ID R , ID T c), of nonces (N R , Ni) and MAC (MACRI).
  • the trusted third party then verifies that the computed MAC T c3 is equal to the MAC R3 received from the receiver. If the value of the MAC T c3 received is valid, the trusted third party generates a message "Message4" to the initiator.
  • the fourth message contains the nonces N R and N
  • the key KIR is concatenated with the identifiers of the responder ID R and the trusted third party ID T c, and the nonces Ni and N R before being encrypted with the key K
  • the message sent by the trusted third party to the initiator also contains a MAC (MAC T c 4 ) calculated with the key K ! A which allows the initiator to check the integrity of the data received.
  • the initiator Upon receipt of the fourth message, the initiator calculates its MAC (MAC
  • the initiator uses the key K
  • the initiator locally calculates a MAC (MACIR) on the same fields as those used by the receiver when calculating the (MACRI), namely the identifiers (ID R , ID T c, ID
  • the initiator compares if there is a tie between his MACIR and the MAC TM. If both MACs are equal, it means that the answering machine has received the key K
  • the initiator sends directly to the responder the fifth message 5 which contains the respective identifiers of the initiator and the responder (I Di and ID R ), their nuncios (N
  • FIG. 7 shows the procedures executed between the initiator, responder and trusted third party entities of the network of FIG. 4 in an implementation variant of the invention consisting of four exchanged messages.
  • the initiator starts the process by sending a first message "Messagel" to the trusted third party.
  • the content of the first message is identical to that described with reference to FIG.
  • the trusted third party TC After receiving the Messagel, the trusted third party TC generates a nonce (N T c), as well as the key K
  • the nonce N T c is an optional parameter that allows to add freshness to the second message in the case where the responder combines the freshness of the message to the receipt of a new nuncio of the initiator but also the trusted third party.
  • N T c The addition of the Nunc (N T c) can be decided during the establishment of the security policy by the network administrator.
  • the trusted third digit with the key K RE , the nuncio, the key KIR, and this same key K
  • the cipher is sent in a second message "Message2bis" to the answering machine.
  • the message further contains a MAC calculated with the key K Ra , to allow the responder to verify the integrity of the data received.
  • the responder After receiving the second message, the responder verifies the integrity and authenticity of the received message using its key K Ra . If the result of the check is positive, the answering machine decrypts the message to retrieve the shared key K
  • the answering machine generates a nunc (N R ) then sends in a third message "Message3bis", the data received from the third party.
  • N R the number of bits
  • the answering machine also sends a calculated MAC with this key KIR.
  • the initiator Upon receipt of the third message, the initiator verifies the integrity of the first part of the message generated by the trusted third party by using the key K
  • the initiator then sends directly to the responder a fourth message which contains the identifiers of the initiator and the responder (ID
  • the answering machine checks the value of the MAC
  • the present invention can be implemented from hardware and / or software elements. It may be available as a computer program product on a computer readable medium.
  • the support can be electronic, magnetic, optical, electromagnetic or be an infrared type of diffusion medium.
  • Such media are, for example, Random Access Memory RAMs (ROMs), magnetic or optical tapes, floppies or disks (Compact Disk - Read Only Memory (CD-ROM)). ROM), Compact Disk - Read / Write (CD-R / W) and DVD).

Abstract

The present invention relates to a method and a device for establishing a session key between a source entity and a target entity in a communication network comprising a plurality of communicating entities. The method which is based on the use of symmetric cryptographic primitives offers each entity of the session a protection against attacks by denial of service by the establishment of a session in four or five exchanges of messages.

Description

PROCEDE ET DISPOSITIF D'ETABLISSEMENT DE CLES DE METHOD AND DEVICE FOR ESTABLISHING KEYS
SESSION SESSION
Domaine de l'invention Field of the invention
L'invention concerne le domaine des communications réseau et en particulier celui des communications cryptées entre les entités d'un réseau. Etat de la Technique The invention relates to the field of network communications and in particular that of encrypted communications between the entities of a network. State of the art
L'établissement d'une clé de session entre deux entités d'un réseau de communication est un pré-requis fondamental à la mise en œuvre de la grande majorité des services cryptographiques destinés à sécuriser les échanges entre ces entités. Ainsi, la protection des données échangées contre des attaques visant à les modifier ou simplement à en prendre connaissance s'appuie en général sur des primitives cryptographiques symétriques, dans lesquelles les entités communiquant l'une avec l'autre utilisent la même clé lors de l'envoi (chiffrage, protection d'intégrité) et de la réception (déchiffrement, vérification de l'intégrité) d'un message. The establishment of a session key between two entities of a communication network is a fundamental prerequisite for the implementation of the vast majority of cryptographic services intended to secure the exchanges between these entities. Thus, the protection of data exchanged against attacks intended to modify them or simply to read them is generally based on symmetric cryptographic primitives, in which the entities communicating with each other use the same key when sending (encryption, integrity protection) and receiving (decryption, integrity checking) of a message.
L'établissement d'une clé de session est une procédure destinée à intervenir à de nombreuses reprises dans la durée de vie d'une entité communicante. Une nouvelle clé symétrique doit être utilisée pour tout échange sécurisé avec tout nouveau correspondant. Ces correspondants sont d'autant plus nombreux que l'entité participe d'un scénario favorisant les interactions entre membres, par exemple de type réseau de capteurs (Wireless Sensor Network, WSN), Machine à Machine (M2M) ou Internet des Objets (loT). Par ailleurs, une clé de session est caractérisée par une durée de vie limitée, et doit régulièrement être rafraîchie. Ainsi, la procédure mise en œuvre pour établir une clé de session est particulièrement importante, et requiert un design soigné. The establishment of a session key is a procedure intended to intervene many times in the lifetime of a communicating entity. A new symmetric key must be used for any secure exchange with any new correspondent. These correspondents are all the more numerous as the entity participates in a scenario favoring interactions between members, for example of the type of sensor network (Wireless Sensor Network, WSN), Machine to Machine (M2M) or Internet of Things (loT ). In addition, a session key is characterized by a limited life, and should be regularly refreshed. Thus, the procedure implemented to establish a session key is particularly important, and requires a neat design.
Plusieurs paramètres sont à considérer pour juger de la qualité d'un protocole d'établissement de clé de session. Premièrement, la sécurité du protocole doit être garantie. Ainsi, la confidentialité de la clé établie et l'authentification mutuelle des deux correspondants doivent être assurés. S'ajoutent d'autres paramètres de sécurité, tels que la protection contre les attaques par déni de service qui protège les entités impliquées dans l'exécution du protocole contre des attaques visant à épuiser leurs ressources énergétiques et/ou ressource système. Deuxièmement, le protocole d'établissement de clé de session doit être efficace en termes de bande passante requise et de consommation énergétique, et en particulier du point de vue des calculs cryptographiques mis en œuvre. Ce deuxième critère est particulièrement important lorsque le protocole d'établissement de clé de session doit être mis en œuvre par des entités ne disposant que de faibles ressources énergétiques, telle une batterie, ou que d'une faible capacité de calcul et/ou de mémoire. Enfin, le protocole peut offrir des fonctionnalités supplémentaires, telles que l'interopérabilité des mécanismes d'authentification entre deux nœuds le mettant en œuvre ou la possibilité d'un contrôle centralisé sur l'échange des clés et/ou la possibilité d'une définition centralisée de politiques de sécurité accompagnant les clés établies. II s'est développé principalement trois approches pour établir des clés de session entre deux nœuds.  Several parameters are to be considered to judge the quality of a session key establishment protocol. First, the security of the protocol must be guaranteed. Thus, the confidentiality of the established key and the mutual authentication of the two correspondents must be ensured. Added to this are other security settings, such as Denial of Service (DDoS) protection that protects entities involved in protocol execution from attacks aimed at depleting their energy resources and / or system resources. Second, the session key setup protocol must be efficient in terms of bandwidth requirements and power consumption, and in particular from the point of view of the cryptographic computations implemented. This second criterion is particularly important when the session key establishment protocol must be implemented by entities having only low energy resources, such as a battery, or a low computing capacity and / or memory . Finally, the protocol can offer additional functionalities, such as the interoperability of the authentication mechanisms between two nodes implementing it or the possibility of a centralized control over the exchange of keys and / or the possibility of a definition. centralized security policies accompanying established keys. Three main approaches have been developed to establish session keys between two nodes.
La première famille est le transport de clé, connu sous l'anglicisme The first family is the key transport, known as Anglicism
"key transport" qui consiste à transporter de manière sécurisée par encryption, une ou plusieurs valeurs secrètes depuis un des deux participants d'une session jusqu'à l'autre. Ces transports de valeurs secrètes peuvent soit s'effectuer dans une seule direction et ce mode est connu selon l'anglicisme "one-pass key transport protocol" soit s'effectuer dans les deux directions, et ce mode est connu alors sous l'anglicisme "two-pass key transport protocol". La clé de session est ensuite dérivée à partir de ces valeurs secrètes. "key transport" which consists in securely transporting by encryption one or more secret values from one of the two participants from one session to the other. These secret value transports can be made in one direction only and this mode is known by the Anglicism "one-pass key transport protocol" is to be made in both directions, and this mode is known then under the anglicism "two-pass key transport protocol". The session key is then derived from these secret values.
La deuxième famille de solutions d'établissement de clés de session est l'agrément de clé, connu sous l'anglicisme "key agreement". Cette approche consiste en un échange de valeurs publiques entre les deux nœuds à partir desquelles une clé de session commune est recouvrée par les deux entités participant à l'échange sans que les valeurs publiques échangées n'aient à être déchiffrées. Le principal protocole connu de « key agreement » est le protocole Diffie-Hellman. Sur le plan des ressources consommées, principalement au niveau de l'énergie consommée en opérations cryptographiques, le « key agreement » est une approche coûteuse.  The second family of session keying solutions is the key agreement, known as the "key agreement". This approach consists of an exchange of public values between the two nodes from which a common session key is recovered by the two entities participating in the exchange without the public values exchanged having to be decrypted. The main known protocol of "key agreement" is the Diffie-Hellman protocol. In terms of resources consumed, mainly at the level of energy consumed in cryptographic operations, the "key agreement" is a costly approach.
Une troisième famille de solutions d'établissement de clé de session est la distribution de clé, connu sous l'anglicisme "key distribution". Dans cette approche, une troisième entité souvent nommée « tiers de confiance » intervient pour fournir aux deux autres participants soit une valeur secrète qui leur permet de calculer la clé de session, soit la clé de session elle-même. Cependant, la distribution de clé fait également intervenir des échanges directs entre les deux participants. En effet, ceux-ci doivent faire la preuve de leur implication dans le protocole, établir la fraîcheur des messages qu'ils envoient et prouver leur connaissance du secret établi. La distribution de clé bien qu'étant une solution simple à mettre en œuvre, légère en termes d'opérations cryptographiques requises et d'énergie consommée, présente des inconvénients non encore résolus par les solutions existantes.  A third family of session keying solutions is key distribution, known as key distribution. In this approach, a third entity often called "trusted third party" intervenes to provide the other two participants a secret value that allows them to calculate the session key or the session key itself. However, key distribution also involves direct exchanges between the two participants. Indeed, they must prove their involvement in the protocol, establish the freshness of the messages they send and prove their knowledge of the established secret. Key distribution, although a simple solution to implement, light in terms of cryptographic operations required and energy consumed, has disadvantages not yet solved by existing solutions.
Des solutions de 'distribution de clé' bien connues sont celles de Needham et Schroeder, ou bien le protocole Kerberos ou encore l'approche MIKEY-Ticket. Le protocole de transport de clés de Needham et Schroeder, présenté dans le document « Using encryption for authentication in large networks of computers », Communication of the ACM, volume 21 , number 12, 1978 contient cinq échanges de messages entre deux entités, un initiateur (I) et un répondeur (R) qui partagent, chacun, une clé de chiffrement avec un tiers de confiance (TC). L'échange des cinq messages est représenté sur la figure 1 . Un des problèmes majeurs du protocole de Needham et Schroeder est une attaque par usurpation d'identité par un attaquant se faisant passer pour l'initiateur et rejouant le troisième message (Message3) entre l'initiateur et le répondeur. L'attaquant, qui peut connaître la clé générée par le tiers de confiance, peut alors déchiffrer le quatrième message et usurper la session en envoyant le dernier message. Well known 'key distribution' solutions are those of Needham and Schroeder, or the Kerberos protocol or the MIKEY-Ticket approach. The Needham and Schroeder key transport protocol, presented in the document "Using encryption for authentication in large networks of computers," Communication of the ACM, Volume 21, Number 12, 1978, contains five message exchanges between two entities, one initiator (I) and an answering machine (R) that each share an encryption key with a trusted third party (TC). The exchange of the five messages is shown in FIG. One of the major issues in the Needham and Schroeder protocol is an impersonation attack by an attacker posing as the initiator and replaying the third message (Message3) between the initiator and the responder. The attacker, who can know the key generated by the trusted third party, can then decipher the fourth message and impersonate the session by sending the last message.
Le protocole normalisé Kerberos décrit dans le document de Kohi et Neuman « The Kerberos network authentication service », septembre 1993, est illustré sur la figure 2 et se base sur l'échange de quatre messages. Les deux premiers messages sont échangés entre l'initiateur et le tiers de confiance. Les deux derniers messages sont échangés entre l'initiateur et le répondeur. Un inconvénient du protocole Kerberos est qu'il n'est pas symétrique vis-à-vis de l'initiateur et du récepteur. Le tiers de confiance n'a aucune assurance que le récepteur a bien été contacté ou a bien accepté de participer à la transaction sécurisée. De fait, le protocole Kerberos est limité dans ses applications et plutôt destiné à permettre l'accès depuis un client initiateur à une ressource supposée ne pas être sujette à des comportements malicieux, comme par exemple une imprimante ou un serveur de fichiers.  The standard Kerberos protocol described in the Kohi and Neuman document The Kerberos network authentication service, September 1993, is illustrated in Figure 2 and is based on the exchange of four messages. The first two messages are exchanged between the initiator and the trusted third party. The last two messages are exchanged between the initiator and the answering machine. A disadvantage of the Kerberos protocol is that it is not symmetrical with respect to the initiator and the receiver. The trusted third party has no assurance that the receiver has been contacted or has agreed to participate in the secure transaction. In fact, the Kerberos protocol is limited in its applications and rather intended to allow access from a client initiator to a resource supposed not to be subject to malicious behavior, such as a printer or a file server.
Une amélioration connue du protocole de Needham et Schroeder est le protocole d'Otway et Rees illustré en figure 3 et décrit dans le document des auteurs « Efficient and timely mutual authentication », 1987. Cependant, ce protocole présente toujours l'inconvénient que le tiers de confiance n'a d'interaction directe qu'avec un seul des deux participants, ici le répondeur. A known improvement of the Needham and Schroeder protocol is the Otway and Rees protocol illustrated in Figure 3 and described in the authors document "Efficient and timely mutual authentication", 1987. However, this protocol still has the disadvantage that the third party trust has direct interaction only with one of the two participants, here the answering machine.
Le brevet WO 2009/070075 A1 de Blom et al. Intitulé « Key management for secure communication » présente un procédé pour établir des clés de session pour des communications sécurisées entre deux entités. Le procédé s'appuie sur le protocole de distribution de clés MIKEY-Ticket spécifié dans la RFC 6043 de Mattsson et Tian, « MIKET-Ticket : Ticket-based modes of key distribution in Multimedia Internet KEYing (MIKEY) ». La gestion de clés est basée sur un service de confiance de gestion de clés centralisé où l'initiateur et le répondeur partagent chacun une clé commune avec un tiers de confiance.  WO 2009/070075 A1 to Blom et al. Entitled "Key management for secure communication" presents a method for establishing session keys for secure communications between two entities. The method relies on the MIKEY-Ticket key distribution protocol specified in RFC 6043 of Mattsson and Tian, "MIKET-Ticket: Ticket-based modes of key distribution in Multimedia Internet KEYing (MIKEY)". The key management is based on a centralized key management trust service where the initiator and the responder each share a common key with a trusted third party.
Or de par son design, ce protocole peut être la cible d'attaques par déni de service. L'homme du métier connaît les différentes formes des attaques par déni de service. Un attaquant peut réaliser un déni de service en exploitant les erreurs d'implémentations dans les protocoles de communication, par exemple, si le protocole utilisé est implémenté de façon à bloquer les nœuds lorsqu'ils reçoivent des données inconnues. Un attaquant pourra alors faire une attaque par déni de services en envoyant des messages contenant des champs erronés au répondeur, sa cible. Une autre manière de réaliser un déni de service est d'entamer une communication avec la cible puis d'arrêter l'envoi de messages aux fins de bloquer la cible dans un état d'attente d'acquittement et de saturer sa pile de réception. Enfin, le déni de service peut être distribué en utilisant plusieurs attaquants au même temps aux fins de saturer la cible le plus rapidement possible et de complexifier le retraçage de l'attaquant.  But by design, this protocol can be the target of denial of service attacks. The skilled person knows the different forms of denial of service attacks. An attacker can create a denial of service by exploiting implementation errors in communication protocols, for example, if the protocol used is implemented to block nodes when they receive unknown data. An attacker can then make a denial of service attack by sending messages containing erroneous fields to the responder, his target. Another way to perform a denial of service is to initiate a communication with the target and then stop sending messages to block the target in an acknowledgment state and saturate its receiving stack. Finally, denial of service can be distributed by using several attackers at the same time to saturate the target as quickly as possible and to make it more difficult for the attacker to trace.
Ainsi, les approches connues bien qu'offrant des solutions alternatives pour établir des clés de session, de par leurs inconvénients ne répondent pas à l'ensemble des besoins de sécurité attendus pour un protocole d'établissement de clés de session. Thus, the known approaches although offering alternative solutions for establishing session keys, by their disadvantages do not meet all the security needs expected for a session key establishment protocol.
L'invention proposée permet de répondre à ces besoins. Résumé de l'invention The proposed invention makes it possible to meet these needs. Summary of the invention
Un objet de la présente invention est de proposer un procédé d'établissement de clés de session sûr et protégé contre les attaques par déni de service. An object of the present invention is to provide a method for setting session keys that is secure and protected against denial of service attacks.
Avantageusement, l'invention offre autant à un nœud initiateur qu'à un nœud répondeur, une protection contre les attaques par déni de service.  Advantageously, the invention offers both an initiating node and an answering node protection against denial of service attacks.
Un autre objet de la présente invention est de proposer un procédé d'établissement de clés de session efficace en termes de ressources consommées. Ainsi le procédé de l'invention permet l'établissement d'une session en quatre ou cinq échanges de messages et s'appuie sur l'utilisation de primitives cryptographiques symétriques.  Another object of the present invention is to provide an efficient session key setting method in terms of consumed resources. Thus the method of the invention allows the establishment of a session in four or five message exchanges and relies on the use of symmetric cryptographic primitives.
Avantageusement, la présente invention s'implémentera dans les domaines de la sécurité des communications machine-à-machine (M2M), ou dans le contexte des réseaux de nœuds contraints en ressources comme ceux de capteurs et/ou actionneurs, qui sont parmi les nœuds les plus contraints en ressources et pouvant être amenés à devoir établir dynamiquement des clés de session.  Advantageously, the present invention will be implemented in the fields of machine-to-machine (M2M) communications security, or in the context of networks of nodes constrained in resources such as sensors and / or actuators, which are among the nodes most resource-intensive and may need to dynamically set session keys.
Pour obtenir les résultats recherchés, un procédé, un dispositif et un produit programme d'ordinateur sont proposés. En particulier, dans un réseau de communication comprenant une pluralité d'entités communicantes, un procédé pour établir une clé de session entre une entité source (I) et une entité cible ( R), l'entité source partageant avec une entité de confiance tierce (TC) une première clé source K|e pour le chiffrement de données et une deuxième clé source K|a pour calculer un code d'authentification de message de l'entité source, l'entité cible partageant avec ladite entité de confiance tierce une première clé cible KRe pour le chiffrement de données et une deuxième clé cible KRa pour calculer un code d'authentification de message de l'entité cible, le procédé comprend les étapes de: To obtain the desired results, a method, a device and a computer program product are provided. In particular, in a communication network comprising a plurality of communicating entities, a method for establishing a session key between a source entity (I) and a target entity (R), the source entity sharing with a third-party trusted entity (TC) a first source key K | e for data encryption and a second source key K | a for calculating a message authentication code of the source entity, the target entity sharing with said third-party trusted entity a first target key K Re for data encryption and a second target key K Ra for calculating a message authentication code of the target entity, the method comprises the steps of:
recevoir à l'entité de confiance tierce, un message de l'entité source pour rétablissement d'une session avec l'entité cible, le message contenant au moins des identifiants de l'entité source, de l'entité cible, de ladite entité de confiance tierce et un code d'authentification basé sur la deuxième clé source K|a ; receive at the third trusted entity, a message from the source entity for restoration of a session with the target entity, the message containing at least identifiers of the source entity, of the target entity, of said entity third-party trust and an authentication code based on the second source key K | a ;
générer une paire K|R de clés (K|Ra , K|Re) pour l'entité source et pour l'entité cible ; generate a pair K | R of keys (K | Ra , K | Re ) for the source entity and for the target entity;
encrypter la paire K!R de clés (K|Ra , K|Re) par la première clé source Κ|θ et par la première clé cible KRe; encrypting the key pair K ! R (K | Ra , K | Re ) by the first source key Κ | θ and by the first target key K Re ;
envoyer à l'entité cible un message contenant au moins la clé K|R encryptée et un code d'authentification basé sur la deuxième clé cible KRa; send the target entity a message containing at least the key K | R encrypted and an authentication code based on the second target key K Ra ;
recevoir de l'entité cible, un message contenant au moins les identifiants de l'entité source, de l'entité cible, de ladite entité de confiance tierce et un code d'authentification basé sur la deuxième clé cible KRa ; et envoyer à l'entité source, un message contenant au moins la clé K|R encryptée et un code d'authentification basé sur la deuxième clé sourcereceiving from the target entity, a message containing at least the identifiers of the source entity, the target entity, said third-party trusted entity and an authentication code based on the second target key K Ra ; and sending to the source entity a message containing at least the key K | R encrypted and an authentication code based on the second source key
Kia- Kia-
Avantageusement, la clé source K!e pour le chiffrement de données et la clé source K|a pour le code d'authentification sont dérivées d'une clé initiale obtenue après une étape d'authentification de l'entité cible auprès de l'entité de confiance tierce. Advantageously, the source key K ! E for data encryption and the source key K | a for the authentication code are derived from an initial key obtained after a step of authenticating the target entity with the third-party trusted entity.
Dans une variante, le message reçu de l'entité source comprend de plus un nonce source (Ni) pour prouver la fraîcheur du message de l'entité source. Dans une autre variante, l'étape de générer la clé K|Ra pour l'entité source comprend les étapes de concaténer la clé K|Ra aux identifiants de l'entité cible, de l'entité de confiance tierce, et du nonce NI, et de chiffrer l'ensemble concaténé avec la première clé cible KRe. In a variant, the message received from the source entity further comprises a source nonce (Ni) to prove the freshness of the message of the source entity. In another variant, the step of generating the key K | Ra for the source entity includes the steps of concatenating the key K | Ra to the identifiers of the target entity, the third-party trusted entity, and the NI nonce, and to encrypt the concatenated set with the first target key K Re .
Avantageusement, le message envoyé à l'entité cible comprend de plus le nonce (Ni) et le code d'authentificatlon basé sur la deuxième clé cible KRa est calculé sur le nonce. Avantageusement, le message reçu de l'entité cible comprend de plus le nonce source (Ni) et un nonce cible (NR) pour prouver la fraîcheur du message cible. Advantageously, the message sent to the target entity further comprises the nonce (Ni) and the authentication code based on the second target key K Ra is calculated on the nonce. Advantageously, the message received from the target entity further comprises the source nonce (Ni) and a target nonce (N R ) to prove the freshness of the target message.
Dans une variante d'implémentation, l'étape de calculer un code d'authentificatlon en utilisant la deuxième clé cible KRa, les identifiants, les nonces source et cible (Ni, NR) et le code d'authentificatlon reçu basé sur la deuxième clé cible KRa et l'étape de vérifier si le code d'authentificatlon calculé est égal au code d'authentificatlon reçu. Avantageusement, le message envoyé à l'entité source comprend de plus les nonces source et cible (Ni, NR). In an implementation variant, the step of calculating an authentication code using the second target key K Ra , the identifiers, the source and target nonces (Ni, N R ) and the received authentication code based on the second target key K Ra and the step of checking whether the calculated authentication code is equal to the authentication code received. Advantageously, the message sent to the source entity further comprises the source and target nonces (Ni, N R ).
Avantageusement, les identifiants des entités source et cible sont soit des adresses IPv6, des adresses MAC ou des URL. Advantageously, the identifiers of the source and target entities are either IPv6 addresses, MAC addresses or URLs.
Selon les variantes, le nonce est soit une information d'horodatage, un nombre aléatoire ou un compteur. According to the variants, the nuncio is either a timestamp information, a random number or a counter.
Dans une autre variante, le message envoyé par l'entité de confiance tierce à l'entité cible contient de plus une clé chiffrée par les clés K|e et K|a et où le message reçu de l'entité cible et le message envoyé à l 'entité source sont un seul message envoyé de l'entité cible à l'entité source. In another variant, the message sent by the third-party trusted entity to the target entity also contains a key encrypted by the keys K | e and K | a and where the message received from the target entity and the message sent to the source entity are a single message sent from the target entity to the source entity.
Dans une autre variante, le procédé comprend de plus une étape d'envoyer un message de l'entité source à l'entité cible qui contient les identifiants de l'entité source et de l'entité cible, les nonces source et cible (Ni, NR) et un code d'authentification calculé avec la clé K|Ra partagée entre l'entité source et l'entité cible. L'invention concerne de plus un système pour établir une clé de session entre une entité source et une entité cible, l'entité source partageant avec une entité de confiance tierce une première clé source K|e pour le chiffrement de données et une deuxième clé source K|a pour calculer un code d'authentification de message de l'entité source, l'entité cible partageant avec ladite entité de confiance tierce une première clé cible KRe pour le chiffrement de données et une deuxième clé cible KRa pour calculer un code d'authentification de message de l'entité cible, le système comprenant des moyens pour mettre en œuvre toutes les étapes du procédé revendiqué. In another variant, the method further comprises a step of sending a message from the source entity to the target entity that contains the identifiers of the source entity and the target entity, the source and target nonces (Ni , N R ) and an authentication code calculated with the key K | Ra shared between the source entity and the target entity. The invention further relates to a system for establishing a session key between a source entity and a target entity, the source entity sharing with a third-party trusted entity a first source key K | e for data encryption and a second source key K | a for calculating a message authentication code of the source entity, the target entity sharing with said third-party trusted entity a first target key K Re for data encryption and a second target key K Ra for computing a code of message authentication of the target entity, the system comprising means for implementing all the steps of the claimed method.
L'invention peut opérer sous la forme d'un produit programme d'ordinateur qui comprend des instructions de code permettant d'effectuer les étapes du procédé revendiqué lorsque le programme est exécuté sur un ordinateur. The invention may operate in the form of a computer program product that includes code instructions for performing the claimed process steps when the program is run on a computer.
Description des figures Description of figures
Différents aspects et avantages de l'invention vont apparaître en appui de la description d'un mode préféré d'implémentation de l'invention mais non limitatif, avec référence aux figures ci-dessous : La figure 1 illustre les échanges de messages selon le procédé de Needham et Schroeder ; La figure 2 illustre les échanges de messages selon le procédé de Various aspects and advantages of the invention will appear in support of the description of a preferred embodiment of the invention, but not limiting, with reference to the figures below: Figure 1 illustrates the message exchanges according to the method of Needham and Schroeder; Figure 2 illustrates the message exchanges according to the method of
Kerberos ; Kerberos
La figure 3 illustre les échanges de messages selon le procédé d'Otway et Rees ; Figure 3 illustrates the message exchanges according to the method of Otway and Rees;
La figure 4 est une représentation topologique d'une infrastructure réseau dans laquelle implémenter avantageusement l'invention ; Figure 4 is a topological representation of a network infrastructure in which to advantageously implement the invention;
La figure 5 montre les procédures exécutées entre les entités initiateur, répondeur et tiers de confiance du réseau de la figure 4 selon le procédé de MIKEY-Ticket; FIG. 5 shows the procedures executed between the initiator, responder and trusted third party entities of the network of FIG. 4 according to the MIKEY-Ticket method;
La figure 6 montre les procédures exécutées entre les entités initiateur, répondeur et tiers de confiance du réseau de la figure 4 dans une implémentation avantageuse de l'invention ; Figure 6 shows the procedures performed between initiator, responder and trusted third party entities of the network of Figure 4 in an advantageous implementation of the invention;
La figure 7 montre les procédures exécutées entre les entités initiateur, répondeur et tiers de confiance du réseau de la figure 1 dans une variante d'implémentation de l'invention. FIG. 7 shows the procedures executed between the initiator, responder and trusted third party entities of the network of FIG. 1 in an implementation variant of the invention.
Description détaillée de l'invention La figure 4 illustre un exemple d'une infrastructure de communication 100 dans laquelle implémenter avantageusement l'invention. Pour des raisons de simplicité de description et non de limitation de l'invention, l'exemple de la figure 4 ne montre qu'un nombre fini d'entités (ou nœuds) et de connexions, mais l'homme du métier étendra les principes décrits à une pluralité et une variété d'entités et de type de connexions (sans fil, mobile, très haut débit). Detailed Description of the Invention Figure 4 illustrates an example of an infrastructure of communication 100 in which advantageously implement the invention. For the sake of simplicity of description and not limitation of the invention, the example of FIG. 4 only shows a finite number of entities (or nodes) and connections, but the person skilled in the art will extend the principles described to a plurality and a variety of entities and types of connections (wireless, mobile, very high speed).
Le réseau de communication (1 00) comprend des entités fixes ou mobiles pouvant former un réseau d'objets (102). Les entités peuvent être à fortes contraintes de ressources (102-1 , 102-n) ou à moindre contrainte de ressources (1 12-1 , 112-m).  The communication network (1 00) comprises fixed or mobile entities that can form an object network (102). Entities can be heavily resource constrained (102-1, 102-n) or resource constrained (1 12-1, 112-m).
Les entités à fortes contraintes de ressource peuvent être des capteurs ou actionneurs sans fil, ayant des capacités de calculs et/ou de stockage limitées. Il peut également s'agir de tags actifs. Cependant, une entité qui n'est pas intrinsèquement limitée en ressources peut l'être de façon temporaire dès lors qu'elle emploie une grande part de ses ressources processeur à une autre tâche, ou que son niveau de batterie atteint une valeur seuil critique. Et cette entité peut être amenée à mettre en œuvre des protocoles moins coûteux en énergie comme celui de l'invention.  The entities with strong resource constraints may be wireless sensors or actuators, having limited computing and / or storage capacities. They can also be active tags. However, an entity that is not intrinsically resource-limited may be temporarily so long as it uses a large portion of its CPU resources for another task, or its battery level reaches a critical threshold value. And this entity can be brought to implement less energy-efficient protocols such as that of the invention.
Les entités à contrainte de ressource moindre peuvent être des téléphones portables munis d'une connexion internet et d'un appareil photo. Il peut également s'agir de passerelles d'interconnexion entre un réseau d'entités contraintes et l'Internet. Ces entités offrent une puissance de calcul et une capacité de stockage plus importantes, peuvent disposer d'une réserve d'énergie (batterie, alimentation sur secteur) plus importante et peuvent communiquer sur un réseau, soit directement à un réseau internet (104) comme illustré ou bien au travers de passerelles et serveurs intermédiaires (non montré).  Entities with lesser resource constraints may be mobile phones equipped with an internet connection and a camera. It can also be interconnection gateways between a network of constrained entities and the Internet. These entities offer more computing power and storage capacity, can have a higher energy reserve (battery, mains power supply) and can communicate over a network, either directly to an internet network (104) such as illustrated or through gateways and intermediate servers (not shown).
Le réseau de noeuds (102) peut être basé sur des communications de niveau 2 (par exemple, 802.1 5.4 ou 802.11 ) et/ou de niveau 3 (par exemple, IP) entre les entités qui le composent. Suivant les protocoles sur lesquels il s'appuie, des schémas de communications multicast ou broadcast peuvent y être employés. The node network (102) may be based on level 2 (e.g., 802.1 5.4 or 802.11) and / or level 3 (e.g., IP) communications between the entities of which it is composed. Following the protocols on which it relies, multicast or broadcast communication schemes can be used.
La présente invention peut être avantageusement appliquée dans l'environnement de la figure 4 entre deux nœuds du réseau, une entité source que l'on dénomme 'initiateur' et une entité cible que l'on dénomme 'répondeur'. Les deux entités ont besoin d'établir une association de sécurité entre elles. Un serveur central de distribution de clés (106) que l'on dénomme tiers de confiance est responsable de l'authentification des nœuds. Il peut être distant et accessible via un réseau de communication tierce (104) qui peut être un réseau cellulaire ou le réseau Internet. Le tiers de confiance stocke des données cryptographiques nécessaires pour l'authentification de chacun des nœuds.  The present invention may be advantageously applied in the environment of FIG. 4 between two nodes of the network, a source entity that is called an 'initiator' and a target entity that is called a 'responder'. Both entities need to establish a security association with each other. A central key distribution server (106) that is known as a trusted third party is responsible for authenticating the nodes. It may be remote and accessible via a third party communications network (104) which may be a cellular network or the Internet. The trusted third party stores cryptographic data necessary for the authentication of each of the nodes.
En opération, chaque nœud initiateur et répondeur s'authentifie auprès du serveur central en utilisant ses crédentiels propres, des modèles d'identités et des méthodes d'authentification indépendantes les plus en accord avec chacun leurs propres spécificités et contraintes. Ainsi, deux nœuds peuvent par exemple établir une clé de session et l'associer à leurs identités respectives alors que ces dernières sont respectivement validées au moyen d'une carte à puce pour l'un et d'une authentification biométrique pour l'autre. Le serveur de confiance distribue une même clé de session à deux nœuds souhaitant établir entre eux une association de sécurité, permettant des authentifications décorrélées pour chaque nœud, ainsi qu'un contrôle centralisé sur l'établissement de clés et/ou sur les politiques qui accompagnent ces dernières.  In operation, each initiator and responder node authenticates to the central server using its own credentials, identity templates, and independent authentication methods most in accordance with each their own specificities and constraints. Thus, two nodes can for example establish a session key and associate with their respective identities while the latter are respectively validated by means of a smart card for one and a biometric authentication for the other. The trusted server distributes the same two-node session key that wants to establish a security association between them, allowing decorrelated authentications for each node, as well as centralized control over the key establishment and / or the policies that accompany it. these last.
La figure 5 montre les procédures exécutées selon le protocole connu de Mikey- Ticket entre un nœud initiateur (I), un nœud répondeur (R) et un tiers de confiance (TC) du réseau de la figure 4. FIG. 5 shows the procedures performed according to the known Mikey-Ticket protocol between an initiator node (I), a responder node (R) and a trusted third party (TC) of the network of FIG. 4.
Pour faciliter la compréhension de l'invention, des notations identiques sont utilisées pour décrire les figures suivantes 5 à 7. Ainsi, par la suite : Datai, Data2, ... etc désignent respectivement la concaténation des données dans les messages 1 , 2, ... etc. L'homme du métier appréciera que la présente invention ne se limite pas à l'ordre indiqué à titre d'exemple dans la description des messages pour les données concaténées. Ainsi, pour un même message, les transmissions des mêmes données sous la forme (Datai , Data2) et (Data2, Datai) sont équivalentes. To facilitate the understanding of the invention, identical notations are used to describe the following figures 5 to 7. Thus, subsequently: Datai , Data 2 , ... etc respectively designate the concatenation of the data in the messages 1, 2, ... etc. Those skilled in the art will appreciate that the present invention is not limited to the order given by way of example in the description of the messages for the concatenated data. Thus, for the same message, transmissions of the same data in the form (Datai, Data 2 ) and (Data 2 , Datai) are equivalent.
E{K, (Datai , Data2, ...)} désigne le chiffrement des données concaténées (Datai, Data2, ...) avec un algorithme de chiffrement utilisant une clé K. E {K, (Datai, Data 2 , ...)} designates the encryption of the concatenated data (Datai, Data 2 , ...) with an encryption algorithm using a key K.
MAC{K, (Datai , Data2, ...)} désigne le code d'authentification de message « Message Authentication Code » (MAC) sur les données concaténées (Datai , Data2, ...) en utilisant une clé K. Comme il a été expliqué précédemment, le protocole MIKEY-Ticket a été défini pour étendre le protocole MIKEY par l'utilisation d'un tiers de confiance et se base sur l'échange de six messages entre les trois entités initiateur (I), répondeur (R) et tiers de confiance (TC). MAC {K, (Datai, Data 2 , ...)} designates the Message Authentication Code (MAC) on the concatenated data (Datai, Data 2 , ...) using a K key As explained above, the MIKEY-Ticket protocol has been defined to extend the MIKEY protocol by the use of a trusted third party and is based on the exchange of six messages between the three initiator entities (I), responder (R) and trusted third party (TC).
Un noeud initiateur envoie au tiers de confiance, un premier message sous forme d'une requête d'initialisation « Request_init ». La requête contient un code d'authentification MAC qui est calculé avec sa clé « Kia ». A la réception de ce premier message, TC vérifie la validité du MAC et l'authenticité des données (Datai) envoyées par l'initiateur. Ces données contiennent principalement un identifiant du nœud répondeur avec lequel le nœud initiateur veut établir une session, un nonce et des informations sur les algorithmes de chiffrement et de calcul de MAC supportés par l'initiateur.  An initiating node sends the trusted third party a first message in the form of an initialization request "Request_init". The request contains a MAC authentication code which is calculated with its key "Kia". On receipt of this first message, TC checks the validity of the MAC and the authenticity of the data (Datai) sent by the initiator. This data mainly contains an identifier of the answering node with which the initiator node wants to establish a session, a nonce and information on the MAC encryption and computation algorithms supported by the initiator.
Le tiers de confiance génère une clé « KIR » et la transmet à l'initiateur dans un message de réponse « Request_resp ». La clé K|R est chiffrée par la clé de chiffrement « Kie » de l'initiateur. Le deuxième message contient de plus un ticket « Ticketi » pour l'initiateur et un MAC calculé avec la clé K!a. The trusted third party generates a "KIR" key and transmits it to the initiator in a "Request_resp" response message. The key K | R is encrypted by the encryption key "Ki e " of the initiator. The second message also contains a ticket "Ticketi" for the initiator and a MAC calculated with the key K ! a .
A la réception du message, l'initiateur vérifie la validité du MAC et récupère sa clé K!R qui va lui permettre de dériver avec le répondeur deux clés « KiRa >> et « K|Re ». La clé K|Ra servira à calculer des MACs alors que la clé KiRe permettra d'encrypter des données. On receipt of the message, the initiator verifies the validity of the MAC and retrieves his key K ! R which will allow him to derive with the answering machine two keys "KiRa" and "K | Re ". The key K | Ra will be used to calculate MACs while the KiRe key will encrypt data.
L'initiateur envoie ensuite au répondeur un message « Transfert_init » qui contient son ticket « Ticketi ». Ce troisième message contient un MAC calculé avec la clé K|Ra. The initiator then sends the responder a message "Transfert_init" which contains its ticket "Ticketi". This third message contains a MAC calculated with the key K | Ra .
Il est à noter qu'à ce niveau de l'exécution du protocole, le nœud répondeur (R) n'a pas encore reçu la clé K|R et donc pas reçu les clés K|Ra et K|Re. Par conséquent, (R) ne peut pas vérifier la validité du MAC qu'il vient de recevoir du nœud initiateur, et doit envoyer au tiers de confiance (TC) un message « Resolve_init » pour lui demander de lui communiquer A la réception du quatrième message, le tiers de confiance vérifie la validité du MAC du répondeur en utilisant la clé KRa. Si le MAC est valide, il envoie au répondeur la clé K!R chiffrée par la clé KRe , dans un cinquième message « Resolve_resp » . It should be noted that at this level of the execution of the protocol, the answering node (R) has not yet received the key K | R and therefore not received the keys K | Ra and K | Re . Therefore, (R) can not verify the validity of the MAC that it has just received from the initiating node, and must send to the trusted third party (TC) a message "Resolve_init" to ask it to communicate to it upon receipt of the fourth message, the trusted third party verifies the validity of the answering machine's MAC using the key K Ra . If the MAC is valid, it sends the answering machine the key K ! R encrypted by the key K Re , in a fifth message "Resolve_resp".
A la réception du cinquième message, le répondeur vérifie le MAC calculé par le tiers de confiance et récupère la clé K|R. Une fois la clé K|R reçue, le répondeur calcule la clé K|Ra et vérifie la valeur du MAC calculé par l'initiateur dans le troisième message « Transfert_init ». Si la valeur du MAC est valide, le répondeur envoie un sixième message « Transfert_resp » à l'initiateur pour accuser de la bonne réception de la clé KIR. On receipt of the fifth message, the answering machine checks the MAC calculated by the trusted third party and retrieves the key K | R. Once the key K | R received, the answering machine calculates the key K | Ra and checks the value of the MAC calculated by the initiator in the third message "Transfer_init". If the value of the MAC is valid, the responder sends a sixth message "Transfert_resp" to the initiator to acknowledge receipt of the KIR key.
Ainsi, comme il a déjà été discuté précédemment, le nœud répondeur ne vérifie le MAC envoyé par l'initiateur dans le troisième message, qu'après avoir échangé les quatrième et cinquième messages avec le tiers de confiance, il peut alors être la cible d'attaque par déni de service. Un nœud attaquant peut bombarder le nœud répondeur avec un nombre illimité de messages de type « Transfe nit » (troisième message) pour l'obliger à calculer un grand nombre de message « Resolve_init » (quatrième message) et ainsi épuiser toutes les ressources énergétiques et calculatoires du nœud répondeur. La figure 6 montre les procédures exécutées entre des entitésThus, as already discussed above, the answering node only checks the MAC sent by the initiator in the third message, after having exchanged the fourth and fifth messages with the trusted third party, it can then be the target of denial of service attack. An attacking node may bombard the answering node with an unlimited number of "Transfe nit" messages (third message) to force him to compute a large number of messages "Resolve_init" (fourth message) and thus exhaust all energy and computing resources of the answering node. Figure 6 shows the procedures performed between entities
Initiateur (I), Répondeur (R) et Tiers de Confiance (TC) du réseau de la figure 4 dans une implémentation avantageuse de l'invention. Initiator (I), Responder (R) and Trusted Third Party (TC) network of Figure 4 in an advantageous implementation of the invention.
Un bénéfice important de l'invention réside dans l'efficacité énergétique du procédé mis en œuvre qui est obtenue au moyen d'un nombre de messages échangés réduits. Le procédé proposé permet d'établir une communication sécurisée entre un nœud initiateur et un nœud répondeur en cinq échanges de messages dans l'implémentation de la figure 6, ou en quatre échanges de message selon l'implémentation de la figure 7. Il est à noter que le dernier message décrit pour les deux exemples est échangé entre l'initiateur et le répondeur et correspond à une confirmation de clé par l'initiateur qui peut être implicite. L'échange sécurisé des données entre l'initiateur et le répondeur pouvant commencer respectivement après le quatrième et le troisième message des figures 6 et 7.  An important advantage of the invention lies in the energy efficiency of the method implemented which is obtained by means of a reduced number of exchanged messages. The proposed method makes it possible to establish secure communication between an initiating node and an answering node in five message exchanges in the implementation of FIG. 6, or in four message exchanges according to the implementation of FIG. note that the last message described for both examples is exchanged between the initiator and the responder and corresponds to a confirmation of key by the initiator which can be implicit. The secure exchange of data between the initiator and the responder can begin respectively after the fourth and the third message of Figures 6 and 7.
L'homme de l'art appréciera que les échanges de messages donnent des rôles équivalents au nœud initiateur (I) et au nœud récepteur (R) vis à vis du tiers de confiance (TC). En effet, les interactions sont du type (l)e (TC), (TC)el(l), (R)tt(TC) et (TC)âl(R) et offrent ainsi au tiers de confiance un meilleur contrôle de l'établissement de clé de session.  Those skilled in the art will appreciate that the message exchanges give roles equivalent to the initiating node (I) and the receiving node (R) with respect to the trusted third party (TC). Indeed, the interactions are of type (l) e (TC), (TC) el (l), (R) tt (TC) and (TC) al (R) and thus offer the trusted third party a better control of session key establishment.
L'implémentation illustrée par la figure 6 peut être avantageusement appliquée lors de l'établissement d'une communication sécurisée entre deux nœuds qui ne partagent aucun secret directement, mais qui partagent, chacun, un ou plusieurs secrets avec un tiers de confiance (TC). Le tiers de confiance et l'initiateur partagent initialement deux clés (K|e, K|a) où K|e est une clé utilisée pour le chiffrement des données, et où K|a est une clé utilisée pour calculer un code d'authentification de message (MAC). K!e et K!a peuvent être dérivées d'une clé maîtresse à la suite d'une authentification de l'initiateur avec le tiers de confiance. De son coté, le répondeur (R) partage également une paire de clé (KRe, KRa) avec le tiers de confiance. The implementation illustrated in FIG. 6 can advantageously be applied when establishing a secure communication between two nodes that do not share any secret directly, but which each share one or more secrets with a trusted third party (TC) . The trusted third party and the initiator initially share two keys (K | e , K | a ) where K | e is a key used for data encryption, and where K | a is a key used to calculate a code message authentication (MAC). K ! E and K ! A can be derived from a master key following authentication of the initiator with the trusted third party. For its part, the answering machine (R) also shares a key pair (K Re , K Ra ) with the trusted third party.
L'homme de l'art comprendra que par souci de simplification de la description de la variante de la figure 6, l'initiateur et le répondeur désignent chacun une entité simple, mais que dans un cas plus général, il peut s'agir d'un groupe de noeuds initiateurs et/ou un groupe de nœuds répondeurs utilisant des clés individuelles et/ou des clés de groupe.  Those skilled in the art will understand that in order to simplify the description of the variant of FIG. 6, the initiator and the responder each designate a simple entity, but that in a more general case, it may be a group of initiating nodes and / or a group of answering nodes using individual keys and / or group keys.
Afin d'établir un canal de communication sécurisé avec le répondeur (R), l'initiateur (I) contacte le tiers de confiance (TC) pour qu'il leur crée une ou plusieurs clés. Pour simplifier la description du protocole, dans la variante de la figure 6, le tiers de confiance génère une seule clé KIR pour les deux nœuds (I) et (R). Puis, le tiers de confiance envoie la clé KIR encryptée avec la clé K|E à l'initiateur et envoie la clé KIR encryptée avec la clé KRE au répondeur. L'intégrité des messages échangés est assurée par l'ajout de MACs, respectivement calculés au moyen des clés Kia et KRA. In order to establish a secure communication channel with the responder (R), the initiator (I) contacts the trusted third party (TC) to create one or more keys for them. To simplify the description of the protocol, in the variant of Figure 6, the trusted third generates a single key KIR for both nodes (I) and (R). Then, the trusted third party sends the encrypted key KIR with the key K | E to the initiator and send the encrypted key KIR with the key K RE to the answering machine. The integrity of the messages exchanged is ensured by the addition of MACs, respectively calculated using the keys Kia and K RA .
De manière plus détaillée en référence à la figure 6, l'initiateur démarre le procédé en envoyant un premier message « Messagel » au tiers de confiance. Ce message contient les identifiants de l'initiateur (IDi), du tiers de confiance (I DTc) et du répondeur (IDR). Il contient aussi un nonce (Ni) qui sert à prouver la fraîcheur de la session et à éviter les attaques par rejeu. De plus, l'initiateur rajoute au messagel un MAC (MACn) calculé sur (ID,, I DTc, IDR et N,) avec la clé K!a. Le MAC permet de prouver au tiers de confiance l'authenticité des données reçues dans le premier message. In more detail with reference to FIG. 6, the initiator starts the process by sending a first "Messagel" message to the trusted third party. This message contains the identifiers of the initiator (IDi), the trusted third party (ID T c) and the responder (ID R ). It also contains a nuncio (Ni) that serves to prove the freshness of the session and to avoid replay attacks. In addition, the initiator adds to the messagel a MAC (MACn) calculated on (ID ,, ID T c, ID R and N,) with the key K ! A. The MAC makes it possible to prove to the trusted third party the authenticity of the data received in the first message.
Les identifiants (ID|,IDTc, IDR) peuvent dépendre de la technologie utilisée et du type de réseau déployé. Ces identifiants peuvent être, par exemple, des adresses IPv6, des adresses MAC ou des URL. Dans le cas particulier des réseaux I P, les identifiants ID| et I DTc peuvent correspondre respectivement à l'adresse source et à l'adresse destination du paquet I P. The identifiers (ID |, ID T c, ID R ) may depend on the technology used and the type of network deployed. These identifiers may be, for example, IPv6 addresses, MAC addresses or URLs. In the particular case of IP networks, the identifiers ID | and ID T c can correspond respectively to the source address and the destination address of the packet I P.
Le nonce peut être une information d'horodatage, un nombre aléatoire ou un compteur (numéro de séquence). Ce doit être une information variable et unique dans le temps qui permet de distinguer les différentes exécutions du protocole connu de Menezes, Van Oorschot et Vanstone, décrit dans le document « Handbook of applied cryptography » , chapitre 10. Le nonce peut être aussi formé par la combinaison des techniques citées précédemment. Par exemple, un nonce peut être formé par une information d'horodatage et d'un nombre aléatoire.  The nonce can be a timestamp information, a random number, or a counter (sequence number). It must be a variable and unique information in time that distinguishes the different executions of the known protocol of Menezes, Van Oorschot and Vanstone, described in the document "Handbook of Applied Cryptography", Chapter 10. The Nuncio can also be formed by the combination of the techniques mentioned above. For example, a nonce can be formed by timestamp information and a random number.
A la réception du premier message, le tiers de confiance vérifie la fraîcheur du nonce Ni et utilise la clé K!a pour calculer le MAC (MACTci) sur (ID|, I DJC, I DR et Ni). Ensuite, il vérifie l'égalité entre le MACn reçu de l'initiateur et son propre MAC (MACTci) afin de vérifier l'intégrité du message reçu. Si les deux valeurs sont égales, le tiers de confiance va générer un deuxième message « Message2 » pour l'envoyer au récepteur. Le tiers de confiance commence par générer une clé K|R pour l'initiateur et le répondeur. Puis il envoie au répondeur cette clé K|R chiffrée par la clé de chiffrement KRe. Le message envoyé au répondeur contient de plus un MAC (MACTC2) qui permet au répondeur de vérifier l'intégrité des données reçues. On receipt of the first message, the trusted third party checks the freshness of the Nuncio Ni and uses the key K ! A to calculate the MAC (MAC T ci) on (ID |, I DJC, I DR and Ni). Then, it checks the equality between the MACn received from the initiator and its own MAC (MAC T ci) in order to verify the integrity of the received message. If the two values are equal, the trusted third party will generate a second message "Message2" to send it to the receiver. The trusted third party starts by generating a key K | R for initiator and responder. Then he sends the answering machine this key K | R encrypted by encryption key K Re . The message sent to the answering machine also contains a MAC (MACTC2) which allows the answering machine to check the integrity of the received data.
Dans une implémentation préférentielle, le tiers de confiance concatène la clé K|R aux identifiants I D| et IDTc, et le nonce N| avant de chiffrer le tout avec la clé KRe pour obtenir un chiffrement E{KRe, (K|R,IDTc, ID|,N|)}. Ce deuxième message contient aussi les identifiants (IDi, I DTC, I DR), le nonce N, et le MAC (MACTC2). Le MAC (MACTC2) est calculé avec la clé KRa sur les champs suivants : IDTc, I DR, I DI, N I, et E{KRe, (K|R,I DTC,ID|,N|)}. In a preferred implementation, the trusted third concatenates the key K | R to identifiers ID | and ID T c, and Nuncio N | before encrypting the whole with the key K Re to obtain an encryption E {K Re , (K | R , ID T c, ID |, N |)}. This second message also contains the identifiers (IDi, I DTC, I DR), the nonce N, and the MAC (MACTC 2 ). The MAC (MACTC 2 ) is calculated with the key K Ra on the following fields: ID T c, I DR, I DI, NI, and E {K Re , (K | R , TC ID, ID |, N |) }.
A la réception du deuxième message, le répondeur vérifie l'égalité entre le MACTc2 reçu et sa propre valeur de MAC (MACR2) qu'il calcule en utilisant la clé KRA. Si la valeur de MACTC2 est bonne, le répondeur déchiffre le contenu de E{KRe, (K|R, IDTc,I D|, N|)} pour récupérer la clé K|R. On receipt of the second message, the answering machine checks the equality between the received MAC T c2 and its own MAC value (MAC R2 ) which it calculates using the key K RA . If the value of MAC T C2 is good, the answering machine decrypts the content of E {K Re , (K | R , ID T c, ID |, N |)} to recover the key K | R.
Le répondeur génère un nonce (NR) et calcule un MAC (MACR|) avec la clé KIR sur les données d'identifiants (I DR, I DTC, I DI) et de nonce (Ni, N R). Le MAC (MACRI) sera transmis par le tiers de confiance à l'initiateur pour lui permettre de vérifier que le répondeur a bien reçu la The answering machine generates a nonce (N R ) and calculates a MAC (MAC R |) with the key KIR on the identifier data (ID R , I DTC, I DI) and nonce (Ni, NR). The MAC (MACRI) will be transmitted by the trusted third party to the initiator to enable him to verify that the answering machine has received the
Dans une première variante, le répondeur utilise les nonces (Ni, NR) et la clé K!R comme entrées à une fonction pseudo-aléatoire pour générer deux clés « K|Ra » et « K|Re ». La clé K|Ra est utilisée pour calculer les MACs, la clé KiRe sert à chiffrer les données entre l'initiateur et le répondeur. In a first variant, the responder uses the nonces (Ni, N R ) and the key K ! R as inputs to a pseudo-random function to generate two keys "K | Ra "and" K | Re ". The key K | Ra is used for calculating the MACs, the KiR e key is used to encrypt data between the initiator and the responder.
Dans une deuxième variante, le tiers de confiance génère deux clés, « K|Ra » et « K|Re » pour l'initiateur et le répondeur. Ces clés seront envoyés par le tiers de confiance à l'initiateur et le répondeur et serviront respectivement à calculer des MACs et à chiffrer les données. In a second variant, the trusted third party generates two keys, "K | Ra "and" K | Re "for the initiator and the answering machine. These keys will be sent by the trusted third party to the initiator and the answering machine and will be used respectively to calculate MACs and to encrypt the data.
Pour simplifier les notations, la notation K|R est par la suite utilisée pour désigner à la fois la clé servant à calculer les MACs et pour le chiffrement, indépendamment des méthodes qui ont permis de générer les clés K|Ra et K|Re. To simplify the notations, the notation K | R is subsequently used to designate both the key used to calculate the MACs and for the encryption, independently of the methods which made it possible to generate the keys K | Ra and K | Re .
Le répondeur génère un troisième message « Message3 » pour le tiers de confiance. Le message contient les identifiants (I DR) et (I DTc), les nonces (NR) et (N,), le MACR| et un nouveau MAC ( MACR3), calculé avec la clé KRa sur toutes les données précédentes. The responder generates a third message "Message3" for the trusted third party. The message contains the identifiers (ID R ) and (ID T c), the nuncios (N R ) and (N,), the MAC R | and a new MAC (MAC R3 ), calculated with the key K Ra on all previous data.
A la réception du troisième message, le tiers de confiance vérifie la fraîcheur du nonce NR et calcule le MACTc3 en utilisant la clé KRa et les données d'identifiants (I DR, I DTc), de nonces (NR, Ni) et de MAC (MACRI). On receipt of the third message, the trusted third party checks the freshness of the nonce N R and calculates the MAC T c3 using the key K Ra and the identifier data (ID R , ID T c), of nonces (N R , Ni) and MAC (MACRI).
Le tiers de confiance vérifie ensuite que le MACTc3 calculé est bien égal au MACR3 reçu du récepteur. Si la valeur du MACTc3 reçu est valide, le tiers de confiance génère un message « Message4 » à destination de l'initiateur. Le quatrième message contient les nonces NR et N|, le MACIR et la clé K!R chiffrée par la clé K!e. The trusted third party then verifies that the computed MAC T c3 is equal to the MAC R3 received from the receiver. If the value of the MAC T c3 received is valid, the trusted third party generates a message "Message4" to the initiator. The fourth message contains the nonces N R and N |, the MACIR and the key K ! R encrypted by the key K ! E.
Dans une implémentation préférentielle, la clé KIR est concaténée aux identifiants du répondeur IDR et du tiers de confiance IDTc, et aux nonces Ni et NR avant d'être chiffrée avec la clé K|e en un chiffrementIn a preferred implementation, the key KIR is concatenated with the identifiers of the responder ID R and the trusted third party ID T c, and the nonces Ni and N R before being encrypted with the key K | e in encryption
E{K|e, (K|R, I DR, I DTC, N|, NR)}) . E {K | e, (K | R , R ID, I DTC, N |, N R )}).
Le message envoyé par le tiers de confiance à l'initiateur contient de plus un MAC (MACTc4) calculé avec la clé K!a qui permet à l'initiateur de vérifier l'intégrité des données reçues. The message sent by the trusted third party to the initiator also contains a MAC (MAC T c 4 ) calculated with the key K ! A which allows the initiator to check the integrity of the data received.
A la réception du quatrième message, l'initiateur calcule son MAC (MAC|4) avec sa clé K|a puis le compare au MAC (MACTc4) envoyé par le tiers de confiance. Si les deux MAC sont égaux, l'initiateur déchiffre le contenu de E{K|e, (K|R, IDR,IDTc,N|,NR)} avec sa clé K|e pour récupérer la clé KIR. Upon receipt of the fourth message, the initiator calculates its MAC (MAC | 4 ) with its key K | was then compares the MAC (MAC-T c 4) sent by trusted third party. If the two MACs are equal, the initiator decrypts the content of E {K | e, (K | R, R ID, ID c, N |, N R) with its key K} | e to recover the KIR key.
Ensuite, l'initiateur utilise la clé K|R pour vérifier la valeur du MAC (MACRI) qui a été calculée et envoyée par le récepteur dans le troisième message. A cet effet, l'initiateur calcule localement un MAC (MACIR) sur les mêmes champs que ceux qui ont été utilisés par le récepteur lors du calcul du (MACRI), à savoir les identifiants (IDR, I DTc, I D|) et les nonces (Ni, NR). Puis, l'initiateur compare s'il y a égalité entre son MACIR et le MAC™. Si les deux MAC sont égaux, cela signifie que le répondeur a bien reçu la clé K|R de la part du tiers de confiance. Pour acquitter la bonne réception du quatrième message, l'initiateur génère un message « Message5 » à destination du répondeur. Then, the initiator uses the key K | R to check the value of the MAC (MACRI) that was calculated and sent by the receiver in the third message. For this purpose, the initiator locally calculates a MAC (MACIR) on the same fields as those used by the receiver when calculating the (MACRI), namely the identifiers (ID R , ID T c, ID |) and the nuncios (Ni, N R ). Then, the initiator compares if there is a tie between his MACIR and the MAC ™. If both MACs are equal, it means that the answering machine has received the key K | R from the trusted third party. To acknowledge the good reception of the fourth message, the initiator generates a message "Message5" to the answering machine.
L'initiateur envoie directement au répondeur le cinquième message 5 qui contient les identifiants respectifs de l'initiateur et du répondeur (I Di et I DR), leurs nonces (N|, NR) et un MAC (MAC|5) calculé avec la clé K|R. The initiator sends directly to the responder the fifth message 5 which contains the respective identifiers of the initiator and the responder (I Di and ID R ), their nuncios (N |, N R ) and a MAC (MAC | 5 ) calculated with the key K | R.
A la réception du cinquième message, le répondeur vérifie la valeur du MAC reçu (MAC|5) en calculant son propre MAC (MACR5). Si les deux MAC sont égaux, le répondeur R conclut que l'initiateur a bien reçu la clé KIR de la part du tiers de confiance. La figure 7 montre les procédures exécutées entre les entités initiateur, répondeur et tiers de confiance du réseau de la figure 4 dans une variante d'implémentation de l'invention consistant en quatre messages échangés. On receipt of the fifth message, the answering machine checks the value MAC received (MAC | 5 ) by calculating its own MAC (MAC R5 ). If the two MACs are equal, the responder R concludes that the initiator has indeed received the KIR key from the trusted third party. FIG. 7 shows the procedures executed between the initiator, responder and trusted third party entities of the network of FIG. 4 in an implementation variant of the invention consisting of four exchanged messages.
L'initiateur démarre le procédé en envoyant un premier message « Messagel » au tiers de confiance. Le contenu du premier message est identique à celui décrit en référence à la figure 6.  The initiator starts the process by sending a first message "Messagel" to the trusted third party. The content of the first message is identical to that described with reference to FIG.
Après la réception du Messagel , le tiers de confiance TC génère un nonce (NTc), ainsi que la clé K|R pour l'initiateur et le répondeur. Le nonce NTc est un paramètre optionnel qui permet de rajouter de la fraîcheur au deuxième message dans le cas où le répondeur associe la fraîcheur du message à la réception d'un nouveau nonce de l'initiateur mais aussi du tiers de confiance. After receiving the Messagel, the trusted third party TC generates a nonce (N T c), as well as the key K | R for initiator and responder. The nonce N T c is an optional parameter that allows to add freshness to the second message in the case where the responder combines the freshness of the message to the receipt of a new nuncio of the initiator but also the trusted third party.
L'ajout du nonce (NTc) peut se décider lors de l'établissement de la politique de sécurité par l'administrateur du réseau. The addition of the Nunc (N T c) can be decided during the establishment of the security policy by the network administrator.
Le tiers de confiance chiffre, avec la clé KRE, le nonce, la clé KIR, et cette même clé K|R chiffrée et protégée en intégrité par les clés K|e et K!a partagées avec l'initiateur. Le chiffré est envoyé dans un deuxième message « Message2bis » au répondeur. Le message contient de plus un MAC calculé avec la clé KRa, pour permettre au répondeur de vérifier l'intégrité des données reçues. The trusted third digit, with the key K RE , the nuncio, the key KIR, and this same key K | R encrypted and protected in integrity by K keys | e and K ! shared with the initiator. The cipher is sent in a second message "Message2bis" to the answering machine. The message further contains a MAC calculated with the key K Ra , to allow the responder to verify the integrity of the data received.
Après la réception du deuxième message, le répondeur vérifie l'intégrité et l'authenticité du message reçu en utilisant sa clé KRa. Si le résultat de la vérification est positif, le répondeur déchiffre le message pour récupérer la clé partagée K|R. After receiving the second message, the responder verifies the integrity and authenticity of the received message using its key K Ra . If the result of the check is positive, the answering machine decrypts the message to retrieve the shared key K | R.
Ensuite, le répondeur génère un nonce (NR) puis envoie dans un troisième message « Message3bis », les données reçues du tiers de confiance dans le deuxième message TC et contenant la clé K|R chiffrée et authentifiée avec les clés K|e et K|a partagées entre le tiers de confiance et l'initiateur. Pour permettre à l'initiateur de vérifier que le répondeur a bien reçu la clé partagée KIR, le répondeur envoie aussi un MAC calculé avec cette clé KIR. Then, the answering machine generates a nunc (N R ) then sends in a third message "Message3bis", the data received from the third party. trust in the second message TC and containing the key K | R encrypted and authenticated with K keys | e and K | is shared between the TTP and the initiator. To allow the initiator to verify that the answering machine has received the shared key KIR, the answering machine also sends a calculated MAC with this key KIR.
A la réception du troisième message, l'initiateur vérifie l'intégrité de la première partie du message générée par le tiers de confiance en utilisant la clé K|A. Si la vérification est réussie, l'initiateur récupère la clé partagée K!R en utilisant sa clé K!E. Puis, il vérifie le MAC envoyé par le répondeur en utilisant la clé K|R. Upon receipt of the third message, the initiator verifies the integrity of the first part of the message generated by the trusted third party by using the key K | A. If the verification is successful, the initiator retrieves the shared key K ! R using its key K ! E. Then, it checks the MAC sent by the answering machine using the key K | R.
L'initiateur envoie ensuite directement au répondeur un quatrième message qui contient les identifiants de l'initiateur et du répondeur (ID|, IDR), leurs nonces (N|, NR) et un MAC (MAC|5) calculé avec la clé K|R. The initiator then sends directly to the responder a fourth message which contains the identifiers of the initiator and the responder (ID |, ID R ), their nonces (N |, N R ) and a MAC (MAC | 5 ) calculated with the K key | R.
A la réception du quatrième message, le répondeur vérifie la valeur du MAC|5 reçu en calculant son propre MACR5. Si les deux MAC sont égaux, le répondeur conclut que l'initiateur a bien reçu la clé K|R de la part du tiers de confiance. When the fourth message is received, the answering machine checks the value of the MAC | 5 received by calculating his own MAC R5 . If the two MACs are equal, the responder concludes that the initiator has received the key K | R from the trusted third party.
L'homme de l'art appréciera que des variations peuvent être apportées sur la méthode telle que décrite de manière préférentielle, tout en maintenant les principes de l'invention. Ainsi, les exemples décrits sont basés sur un protocole préférentiel mais il est possible d'utiliser d'autres protocoles d'authentification. Those skilled in the art will appreciate that variations can be made on the method as preferentially described while maintaining the principles of the invention. Thus, the examples described are based on a preferred protocol but it is possible to use other authentication protocols.
La présente invention peut s'implémenter à partir d'éléments matériel et/ou logiciel. Elle peut être disponible en tant que produit programme d'ordinateur sur un support lisible par ordinateur. Le support peut être électronique, magnétique, optique, électromagnétique ou être un support de diffusion de type infrarouge. De tels supports sont par exemple, des mémoires à semi-conducteur (Random Access Memory RAM, Read-Only Memory ROM), des bandes, des disquettes ou disques magnétiques ou optiques (Compact Disk - Read Only Memory (CD- ROM), Compact Disk - Read/Write (CD-R/W) and DVD). The present invention can be implemented from hardware and / or software elements. It may be available as a computer program product on a computer readable medium. The support can be electronic, magnetic, optical, electromagnetic or be an infrared type of diffusion medium. Such media are, for example, Random Access Memory RAMs (ROMs), magnetic or optical tapes, floppies or disks (Compact Disk - Read Only Memory (CD-ROM)). ROM), Compact Disk - Read / Write (CD-R / W) and DVD).

Claims

Revendications Claims
Dans un réseau de communication comprenant une pluralité d'entités communicantes, un procédé pour établir une clé de session entre une entité source (I) et une entité cible ( R), l'entité source partageant avec une entité de confiance tierce (TC) une première clé source K|e pour le chiffrement de données et une deuxième clé source K!a pour calculer un code d'authentification de message de l'entité source, l'entité cible partageant avec ladite entité de confiance tierce une première clé cible KRe pour le chiffrement de données et une deuxième clé cible KRa pour calculer un code d'authentification de message de l'entité cible, le procédé comprenant les étapes de: In a communications network comprising a plurality of communicating entities, a method for establishing a session key between a source entity (I) and a target entity (R), the source entity sharing with a third-party trusted entity (TC) a first source key K| e for data encryption and a second source key K !a for calculating a message authentication code of the source entity, the target entity sharing with said third-party trusted entity a first target key K Re for encryption of data and a second target key K Ra for calculating a message authentication code of the target entity, the method comprising the steps of:
- recevoir (602) à l'entité de confiance tierce, un message de l'entité source pour l'établissement d'une session avec l'entité cible, le message contenant au moins des identifiants de l'entité source, de l'entité cible, de ladite entité de confiance tierce et un code d'authentification basé sur la deuxième clé source K!a ; - receive (602) to the third-party trusted entity, a message from the source entity for the establishment of a session with the target entity, the message containing at least identifiers of the source entity, of the target entity, said third-party trusted entity and an authentication code based on the second source key K !a ;
- générer (604) une paire KIR de clés (KRa , K|RE) pour l'entité source et pour l'entité cible ; - generate (604) a KIR pair of keys (K Ra , K| RE ) for the source entity and for the target entity;
- encrypter (604) la paire K|R de clés (K|RA , K|RE) par la première clé source Ke et par la première clé cible KRE; - encrypt (604) the pair K| R of keys (K| RA , K| RE ) by the first source key K e and by the first target key K RE ;
- envoyer (606) à l'entité cible un message contenant au moins la clé KIR encryptée et un code d'authentification basé sur la deuxième clé cible KRA ; - send (606) to the target entity a message containing at least the encrypted KIR key and an authentication code based on the second target key K RA ;
- recevoir (608) de l'entité cible, un message contenant au moins les identifiants de l'entité source, de l'entité cible, de ladite entité de confiance tierce et un code d'authentification basé sur la deuxième clé cible KRA ; et envoyer (61 0) à l'entité source, un message contenant au moins la clé KIR encryptée et un code d'authentification basé sur la deuxième clé source K!A. - receive (608) from the target entity, a message containing at least the identifiers of the source entity, the target entity, said third-party trusted entity and an authentication code based on the second target key K RA ; And send (61 0) to the source entity, a message containing at least the encrypted KIR key and an authentication code based on the second source key K !A .
2. Le procédé selon la revendication 1 dans lequel la clé source K|e pour le chiffrement de données et la clé source K!a pour le code d'authentification sont dérivées d'une clé initiale obtenue après une étape d'authentification de l'entité cible auprès de l'entité de confiance tierce. 2. The method according to claim 1 in which the source key K| e for data encryption and the source key K !a for the authentication code are derived from an initial key obtained after a step of authentication of the target entity with the third-party trusted entity.
3. Le procédé selon la revendication 1 ou 2 dans lequel le message reçu de l'entité source comprend de plus un nonce source (N|) pour prouver la fraîcheur du message de l'entité source. 3. The method according to claim 1 or 2 wherein the message received from the source entity further comprises a source nonce (N|) to prove the freshness of the message from the source entity.
4. Le procédé selon la revendication 3 dans lequel l'étape de générer la clé KiRa pour l'entité source comprend les étapes de concaténer la clé K|Ra aux identifiants de l'entité cible, de l'entité de confiance tierce, et du nonce Ni, et de chiffrer l'ensemble concaténé avec la première clé cible KRe . 4. The method according to claim 3 wherein the step of generating the key KiRa for the source entity comprises the steps of concatenating the key K| Ra to the identifiers of the target entity, the third-party trusted entity, and the nonce Ni, and to encrypt the concatenated set with the first target key K Re .
Le procédé selon la revendication 4 dans lequel le message envoyé à l'entité cible comprend de plus le nonce (Ni) et le code d'authentification basé sur la deuxième clé cible KR3 est calculé sur le nonce. The method according to claim 4 wherein the message sent to the target entity further comprises the nonce (Ni) and the authentication code based on the second target key KR 3 is calculated on the nonce.
Le procédé selon la revendication 5 dans lequel le message reçu de l'entité cible comprend de plus le nonce source (Ni) et un nonce cible (NR) pour prouver la fraîcheur du message cible. The method of claim 5 wherein the message received from the target entity further comprises the source nonce (Ni) and a target nonce (N R ) to prove the freshness of the target message.
Le procédé selon la revendication 6 comprenant une étape de calculer un code d'authentification en utilisant la deuxième clé cible Kra, les identifiants, les nonces source et cible (Ni, NR) et le code d'authentification reçu basé sur la deuxième clé cible KRa et une étape de vérifier si le code d'authentification calculé est égal au code d'authentification reçu. The method according to claim 6 comprising a step of calculating an authentication code using the second target key K ra , the identifiers, the source and target nonces (Ni, N R ) and the received authentication code based on the second target key K Ra and a step of checking whether the calculated authentication code is equal to the received authentication code.
8. Le procédé selon la revendication 7 dans lequel le message envoyé à l'entité source comprend de plus les nonces source et cible (Ni, NR). 8. The method according to claim 7 wherein the message sent to the source entity further comprises the source and target nonces (Ni, N R ).
9. Le procédé selon l'une quelconque des revendications 1 à 8 dans lequel les identifiants des entités source et cible sont soit des adresses IPv6, des adresses MAC ou des URL. 9. The method according to any one of claims 1 to 8 in which the identifiers of the source and target entities are either IPv6 addresses, MAC addresses or URLs.
10. Le procédé selon l'une quelconque des revendications 3 à 9 dans lequel le nonce est soit une information d'horodatage, un nombre aléatoire ou un compteur. 10. The method according to any one of claims 3 to 9 in which the nonce is either timestamp information, a random number or a counter.
1 1 .Le procédé selon l'une quelconque des revendications 1 à 10 dans lequel le message envoyé (706) à l'entité cible contient de plus une clé chiffrée par les clés K!e et K!a et où le message reçu de l'entité cible et le message envoyé à l'entité source sont un seul message (708) envoyé de l'entité cible à l'entité source. 1 1. The method according to any one of claims 1 to 10 in which the message sent (706) to the target entity additionally contains a key encrypted by the keys K !e and K !a and where the message received from the target entity and the message sent to the source entity are a single message (708) sent from the target entity to the source entity.
12. Le procédé selon l'une quelconque des revendications 6 à 11 comprenant de plus l'étape d'envoyer (612) un message de l'entité source à l'entité cible qui contient les identifiants de l'entité source et de l'entité cible, les nonces source et cible (Ni, NR) et un code d'authentification calculé avec la paire de clés pour l'entité source et l'entité cible. 12. The method according to any one of claims 6 to 11 further comprising the step of sending (612) a message from the source entity to the target entity which contains the identifiers of the source entity and the the target entity, the source and target nonces (Ni, N R ) and an authentication code calculated with the key pair for the source entity and the target entity.
13. Un système pour établir une clé de session entre une entité source et une entité cible, l'entité source partageant avec une entité de confiance tierce une première clé source Κ|θ pour le chiffrement de données et une deuxième clé source K!a pour calculer un code d'authentification de message de l'entité source, l'entité cible partageant avec ladite entité de confiance tierce une première clé cible KRe pour le chiffrement de données et une deuxième clé cible KRa pour calculer un code d'authentification de message de l'entité cible, le système comprenant des moyens pour mettre en œuvre les étapes du procédé selon l'une quelconque des revendications 1 à 12. 13. A system for establishing a session key between a source entity and a target entity, the source entity sharing with a third-party trusted entity a first source key Κ| θ for data encryption and a second source key K !a for calculating a message authentication code of the source entity, the target entity sharing with said third-party trusted entity a first target key KR e for encryption of data and a second target key K Ra for calculating a message authentication code of the target entity, the system comprising means for implementing the steps of the method according to any one of claims 1 to 12.
14. Le système selon la revendication 13 où l'entité source est un groupe de nœuds sources et/ou l'entité cible est un groupe de nœuds cibles utilisant des clés individuelles et/ou des clés de groupe. 14. The system according to claim 13 where the source entity is a group of source nodes and/or the target entity is a group of target nodes using individual keys and/or group keys.
15. Un produit programme d'ordinateur, ledit programme d'ordinateur comprenant des instructions de code permettant d'effectuer les étapes du procédé selon l'une quelconque des revendications 1 à 12, lorsque ledit programme est exécuté sur un ordinateur. 15. A computer program product, said computer program comprising code instructions for carrying out the steps of the method according to any one of claims 1 to 12, when said program is executed on a computer.
EP14709651.5A 2013-03-28 2014-03-12 Method and device for establishing session keys Withdrawn EP2979390A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1352812A FR3004041B1 (en) 2013-03-28 2013-03-28 METHOD AND DEVICE FOR ESTABLISHING SESSION KEYS
PCT/EP2014/054791 WO2014154482A1 (en) 2013-03-28 2014-03-12 Method and device for establishing session keys

Publications (1)

Publication Number Publication Date
EP2979390A1 true EP2979390A1 (en) 2016-02-03

Family

ID=49231587

Family Applications (1)

Application Number Title Priority Date Filing Date
EP14709651.5A Withdrawn EP2979390A1 (en) 2013-03-28 2014-03-12 Method and device for establishing session keys

Country Status (6)

Country Link
US (1) US9787651B2 (en)
EP (1) EP2979390A1 (en)
JP (1) JP2016514913A (en)
CN (1) CN105075175A (en)
FR (1) FR3004041B1 (en)
WO (1) WO2014154482A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102021213B1 (en) * 2014-10-31 2019-09-11 콘비다 와이어리스, 엘엘씨 End-to-end service layer authentication
WO2016118131A1 (en) * 2015-01-22 2016-07-28 Hewlett Packard Enterprise Development Lp Session key repository
JP2018518854A (en) 2015-03-16 2018-07-12 コンヴィーダ ワイヤレス, エルエルシー End-to-end authentication at the service layer using a public key mechanism
CN106452770B (en) * 2015-08-12 2020-10-13 深圳市腾讯计算机系统有限公司 Data encryption method, data decryption method, device and system
PL3590242T3 (en) * 2017-03-02 2022-01-31 Actility Communication interface for a low power wide area network, wireless device and server using such communication interface
WO2020000428A1 (en) * 2018-06-29 2020-01-02 Nokia Shanghai Bell Co., Ltd. Methods, devices and computer readable medium for key management
JP7208383B2 (en) * 2018-11-05 2023-01-18 ヤンジョン・インテリジェント・エレクトリカル・インスティテュート,ノース・チャイナ・エレクトリック・パワー・ユニバーシティ Video data transmission system, method and apparatus
CN110086627B (en) * 2019-04-22 2023-08-04 如般量子科技有限公司 Quantum communication service station key negotiation method and system based on asymmetric key pool pair and time stamp
CN114553412B (en) * 2022-02-28 2024-02-23 百果园技术(新加坡)有限公司 Data transmission method, device, equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596690B2 (en) * 2004-09-09 2009-09-29 International Business Machines Corporation Peer-to-peer communications
US7864731B2 (en) * 2006-01-04 2011-01-04 Nokia Corporation Secure distributed handover signaling
NZ585054A (en) 2007-11-30 2013-08-30 Ericsson Telefon Ab L M Key management for secure communication
EP2484084B1 (en) * 2009-09-30 2019-03-27 Orange Method and devices allowing communication secure against denial of services (dos) and against flooding attacks in a telecommunications network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Chapter 13: Key Management Techniques ED - Menezes A J; Van Oorschot P C; Vanstone S A", 1 October 1996 (1996-10-01), XP001525013, ISBN: 978-0-8493-8523-0, Retrieved from the Internet <URL:http://www.cacr.math.uwaterloo.ca/hac/> *

Also Published As

Publication number Publication date
US20160044007A1 (en) 2016-02-11
WO2014154482A1 (en) 2014-10-02
FR3004041B1 (en) 2015-04-17
CN105075175A (en) 2015-11-18
JP2016514913A (en) 2016-05-23
FR3004041A1 (en) 2014-10-03
US9787651B2 (en) 2017-10-10

Similar Documents

Publication Publication Date Title
EP2979390A1 (en) Method and device for establishing session keys
FR2988942A1 (en) METHOD AND SYSTEM FOR ESTABLISHING A SESSION KEY
Kalra et al. Secure authentication scheme for IoT and cloud servers
EP3506556B1 (en) Method of authenticated key exchange via blockchain
Mahalle et al. Identity establishment and capability based access control (iecac) scheme for internet of things
EP2850774A1 (en) Method and system for authenticating the nodes of a network
EP3174241B1 (en) Method for establishing secure end-to-end communication between a user terminal and a connected object
EP2484084B1 (en) Method and devices allowing communication secure against denial of services (dos) and against flooding attacks in a telecommunications network
WO2013190003A1 (en) Device and method for generating a session key between entities with small resources
CN113014379B (en) Three-party authentication and key agreement method, system and computer storage medium supporting cross-cloud domain data sharing
EP2186252B1 (en) Method for distributing cryptographic keys in a communication network
Shi et al. Resource-efficient authentic key establishment in heterogeneous wireless sensor networks
WO2010007267A1 (en) Method of securing exchanges between an applicant node and a destination node
Chung et al. DiscoverFriends: Secure social network communication in mobile ad hoc networks
Schliep et al. Consistent synchronous group off-the-record messaging with sym-gotr
Chandrakar et al. Blockchain based security protocol for device to device secure communication in internet of things networks
Babu et al. Trust-based permissioned blockchain network for identification and authentication of internet of smart devices: An e-commerce prospective
Durgam et al. Dynamic time assisted authentication protocol (DTAAP) for client-server in WSN-IoT environment
Kumar et al. LiSP: A lightweight signcryption using PHOTON hash for Internet-of-Things infrastructure
Domb Advanced Lightweight Encryption Key Management Algorithms for IoT Networks
Alshahrani et al. Lightweight IoT Mutual Authentication Scheme Based on Transient Identities and Transactions History
Ahmad et al. The Performance Analysis of Daffier-Hellman Key Exchange Algorithm for Secure Transmission of Data in Cryptography Networks
Jadhav et al. A survey on security based spontaneous wireless ad hoc networks for communication based elliptical curve cryptography
Lin et al. Researches on secure data transmission mechanisms in cloud Internet of Things architectures
WO2021133153A1 (en) Transaction signing with ergonomic addressing and compact encapsulation

Legal Events

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

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20150824

AK Designated contracting states

Kind code of ref document: A1

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

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 9/08 20060101AFI20170505BHEP

Ipc: H04L 29/06 20060101ALI20170505BHEP

17Q First examination report despatched

Effective date: 20170517

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20180319

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

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

18D Application deemed to be withdrawn

Effective date: 20180731