WO2008145558A2 - Procede de securisation d'echange d'information, dispositif, et produit programme d'ordinateur correspondant - Google Patents

Procede de securisation d'echange d'information, dispositif, et produit programme d'ordinateur correspondant Download PDF

Info

Publication number
WO2008145558A2
WO2008145558A2 PCT/EP2008/056136 EP2008056136W WO2008145558A2 WO 2008145558 A2 WO2008145558 A2 WO 2008145558A2 EP 2008056136 W EP2008056136 W EP 2008056136W WO 2008145558 A2 WO2008145558 A2 WO 2008145558A2
Authority
WO
WIPO (PCT)
Prior art keywords
entity
session
secure
keys
tls
Prior art date
Application number
PCT/EP2008/056136
Other languages
English (en)
Other versions
WO2008145558A3 (fr
Inventor
Pascal Urien
Original Assignee
Groupe Des Ecoles Des Telecommunications / Ecole Nationale Superieure Des Telecommunications
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 Groupe Des Ecoles Des Telecommunications / Ecole Nationale Superieure Des Telecommunications filed Critical Groupe Des Ecoles Des Telecommunications / Ecole Nationale Superieure Des Telecommunications
Priority to CA002689015A priority Critical patent/CA2689015A1/fr
Priority to CN200880024587A priority patent/CN101809964A/zh
Priority to EP08750344A priority patent/EP2153613A2/fr
Priority to US12/602,000 priority patent/US8646041B2/en
Priority to RU2009147315/08A priority patent/RU2487482C2/ru
Publication of WO2008145558A2 publication Critical patent/WO2008145558A2/fr
Publication of WO2008145558A3 publication Critical patent/WO2008145558A3/fr

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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority

Definitions

  • the present invention relates to the field of information exchange management performed between two entities of a communication network.
  • the present invention relates to securing such exchanges.
  • the implementation of a secure connection between two entities of a communication network requires the initiation of a secure session based on either the SSL protocol or the TLS protocol.
  • the two entities use mechanisms that are supposed to ensure that the created session can not be hacked or spied.
  • the operation of the SSL and TLS protocols is described later. Although this description is more specifically dedicated to the TLS protocol, it also applies to the SSL protocol.
  • the TLS protocol is organized on the basis of a set of five cooperating software entities: APPLICATION, HANDSHAKE, CCS, ALERT and RECORD.
  • entity “APPLICATION” refers to a software application that wishes to implement a secure communication session (layer 7 of the OSI model).
  • Entities “HANDSHAKE”, “CCS”, “ALERT” and “RECORD” are entities that are implemented as part of a TLS application, a detailed description of which will be found under the reference “RFC 2246" through the IETF Committee (" Internet Engineering Task Force "for” Internet Engineering Task Force ").
  • Such an application of the TLS protocol is carried out at layer 5 of the OSI model.
  • the layer managed by the entity "RECORD” (also called “RECORD” layer) carries the messages produced by the entities “APPLICATION” "HANDSHAKE” "CCS” and “ALERT", using a 5-byte header that specifies the entity that generates the message, the version of the TLS protocol used, and the length of the message.
  • the messages themselves also include a header that indicates the type of the message and the length of the associated data.
  • the structure of the "APPLICATION” messages is not defined by the TLS standard. Indeed, each application exchanges messages whose structure is defined by the application protocol, such as in the context of Hypertext Transfer Protocol Secured (HTTPS) protocol messages for "secure hypertext transfer protocol”.
  • HTTPS Hypertext Transfer Protocol Secured
  • an "APPLICATION" application uses the services offered by the TLS protocol which achieves the confidentiality (encryption) and the confidentiality of the data transported by means of the TCP (transmission control protocol) protocol for control protocol transmissions ") acting at the transport layer.
  • the implementation of the secure channel by TLS is carried out in two steps, an authentication and key calculation phase, followed, if successful, by a phase of use of a secure communication channel, which uses the set of keys previously determined.
  • the "HANDSHAKE” layer entity (also known as the “HANDSHAKE” layer) performs the authentication and key calculation procedures. There are two modes of authentication the complete mode (called “FuIl Session”) and a quick mode (called “Session Resumption”). These two modes will be more precisely described later.
  • the layer “HANDSHAKE” negotiates the encryption and integrity algorithms implemented by the entity of the RECORD layer (also called “RECORD” layer), which are identified by a number called “cipher_suite”.
  • the layer At the end of a successful authentication procedure, the layer
  • PRF Physical Random Function
  • the keys block parameter is a pair of two key pairs (KcRx, KiRx) and (KcTx, KiTx) used respectively for the encryption (prefix Kc) and the integrity (prefix Ki) of the received data (suffix Rx). and issued (suffix Tx).
  • the Change Cipher Spec (CCS) layer reports to the "RECORD” entity the changes to the security settings. It enables encryption and data integrity procedures, using the "keys_bloc" and "cipher_suite” parameters.
  • the entity of the ALERT layer reports errors detected by the entity “HANDSHAKE” (in case of authentication failure), or by the “RECORD” layer (detection of a lack of integrity, or an end of session).
  • the "RECORD" layer performs four types of operations: fragmentation of the data into blocks whose maximum size is 2 14 bytes; optional compression of the data; this service is generally not insured; a signature generation (based on the HMAC algorithm, defined by RFC 2104); - data encryption.
  • the messages exchanged between the application layer and the TCP layer are encrypted and decrypted by the "RECORD" layer using a set of two key pairs (KcRx, KiRx) and (KcTx, KiTx) previously described.
  • the messages received by the "RECORD" layer are encrypted by the key KcRx ((M) KcRx) and provided with an HMAC signature (KiRx, M) associated with the key KiRx.
  • KcRx (M) KcRx
  • HMAC signature KerRx, M
  • the messages sent by the application layer are encrypted by the "RECORD" layer using the KcTx key ((M) KcTx) and provided with an HMAC signature (M 5 KiTx) associated with the KiTx key.
  • a "MESSAGE” sent / received by an entity such as "HANDSHAKE” or “APPLICATION” is provided with a header comprising three parameters: type, version , length.
  • the set “MESSAGE”, “HMAC signature” and “stuffing bytes” is encrypted using the algorithm negotiated during the authentication phase and a key Kc.
  • the signature "HMAC” is calculated from the header, the "MESSAGE” and a frame number (seq_num) (initialized to the value 0 and incremented with each use of the layer "RECORD") according to the following relation :
  • the client entity verifies the validity of the server's certificate, extracts its public RSA key, and then sends it a value called "pre_master_secret” encrypted of this key.
  • the "master _secret” is calculated from the “Client-Random”, “Server-Random” and “pre-master-secret” elements.
  • the "CertificateVerify” message contains a signature made with the client's RSA private key, which proves the identity of the latter (his certificate present in the "Certifi- cate” message).
  • the client entity and the server entity have a new value "master _secret” from which the keys of the "keys_bloc" are deduced.
  • a "SessionID” parameter passed in the "ServerHello” message provides an index of the "master _secr and”.
  • the data generated by the "APPLICATION” layer is transported by the "RECORD” entity, which ensures the confidentiality and the integrity thereof by means of the keys Kc and Ki.
  • Keys_block PRF (master_secret, "key expansion", server _random ⁇ client _random).
  • the "Session Resumption” mechanism simplifies the exchange of information during a TLS session.
  • a first "FuIl Session” performs simple or mutual authentication of both ends (client and server) and produces a “master _secret”.
  • TLS stack i.e., the sequence of steps leading to the exchange information
  • the invention proposes a new solution that makes it possible to solve these disadvantages of the prior art, in the form of a method for producing security data, enabling the implementation of a secure session between a first and at least one second entity, according to a protocol for establishing secure sessions.
  • a method for producing security data comprises: a step of initialization of a third secure entity, linked to said first entity; a step of generating at least a portion of said security data within said third entity; a step of transmitting said security data from said third secure entity to said first entity.
  • the invention allows the production of such data within a third entity different from the first.
  • This third entity can be attached either mechanically to the first entity or through an interface of a network, such as a local area network.
  • the generation of the data enabling the implementation of the secure session is therefore no longer performed by the entity implementing the secure session, but by a third entity, thus avoiding the various attacks that can be conducted vis-à- vis of the first entity.
  • the method according to the invention thus makes it possible to replace the first entity during the production of secure session data.
  • Such a substitution authorizes the conduct of at least a part of the data definition operations allowing the establishment of the session within the third entity which can therefore take the place of the first and thus secure the procedure of creating the data at within a safe environment.
  • said third entity is a "JavaCard” type smart card.
  • the invention makes it possible to dissociate the device which is responsible for implementing the security protocol of the device wishing to have a secure connection.
  • the use of a "JavaCard" type smart card ensures that this entity responsible for implementing the security protocol is inviolable and completely secure.
  • An additional level of security, resulting from the work carried out by the inventors, is therefore added to the entire security protocol.
  • said secure session establishment protocol is the SSL protocol.
  • the invention supports the establishment of a secure session respecting the SSL protocol, which is one of the major protocols in this area.
  • said secure session establishment protocol is the TLS protocol.
  • said production method also comprises: a step of transmission, by said first entity, of at least one message intended for a "RECORD" layer implemented within said third entity; a step of reception, by said first entity, of at least one message coming from said "RECORD" layer; a step of calculating a set of keys by said third entity; a step of collecting said set of keys available from said first entity to said third entity; a step of recovering a secure communication session identifier.
  • the invention makes it possible to maintain the conformity of the existing installations by carrying out a transfer of messages instead of the execution of the production steps on the first entity, which may be subject to attacks.
  • the invention also relates to a device for producing security data, enabling the implementation of a secure session between a first and at least a second entity, according to a secure session establishment protocol.
  • a device for producing security data comprises: initialization means, attached to said first entity; means for generating at least a part of said data of security; means for transmitting said security data to said first entity.
  • such a device comprises means enabling it to implement the steps of the production method as described above.
  • said generation means and said transmission means are grouped together in a smart card.
  • Such a device according to the invention has means of resistance to malicious attacks.
  • the invention also relates to a computer program product downloadable from a communication network and / or stored on a computer readable medium and / or executable by a microprocessor.
  • a computer program product comprises program code instructions for executing the production method as described above. 4 LIST OF FIGURES
  • FIG. 1 presents a block diagram of the method for producing secure data according to the invention
  • FIG. 2 illustrates an exemplary implementation of the production method within a security module according to the invention
  • FIG. 3 describes a mode of implementation of the production method by two entities using two security modules in a mode known as
  • FIG. 4 describes a mode of implementation of the production method by two entities using two security modules in a mode called
  • FIG. 5 also describes a mode of implementation of the production method by two entities using two security modules in a so-called “Session Resumption” mode;
  • FIG. 6 describes an architecture of a device for producing security data, also called a security module. DETAILED DESCRIPTION OF THE INVENTION
  • the invention thus makes it possible to solve the problems related to the intrinsic insecurity of the entities on which the SSL and TLS protocols are implemented.
  • these entities are, in general, servers running on proprietary operating systems or from the free world or personal computers of conventional users. While most of the time is given relatively broad trust in the "server” category, the personal computers of individual users do not have the same level of security as the servers and are therefore more often (but not exclusively) subject to the risks. attacks.
  • the communication session security protocols such as TLS and SSL perform their functions correctly, it is very likely that an attack on a workstation or a server entity using malicious software could occur. introduce into a "software stack" or modify operating system files.
  • the invention makes it possible to implement at least certain authentication steps in a third party entity of the entity that generally implements this authentication phase.
  • a third entity which is a device for producing security information according to the invention, is also called a "security module”. This entity puts then available the information necessary to continue the authentication session.
  • Such information can be, for example, the session keys (keys_bloc) or the "master_secret” (depending on the required security level) for software that needs secure information exchange through SSL / TLS protocols.
  • the general principle of the invention relies on delocalization, within a trusted entity, such as a security module, of at least some steps of a protocol, such as an authentication protocol, to enforce. Indeed, although the application data is exchanged between the client and server entities, the authentication phase is the most critical process and establishes the identity of both parties, verifies their certificates and calculates the cryptographic keys.
  • the invention differs from the techniques of the prior art, which implement smart cards, in that these prior mechanisms do not offer, within the card in question, a software execution, but a simple storage data such as certificates or keys.
  • An entity according to the invention does not contain, in its primary function, data, but a set of mechanisms allowing the execution, independently, of at least some steps of a secure protocol.
  • the method for producing secure data comprises: an initialization step (100) of the security module (for example a smart card), attached to a first entity (for example a personal computer); a step of generating (101) a portion of the security data within the security module; a step of transmitting (102) the securing data of the security module to the first entity.
  • an initialization step (100) of the security module for example a smart card
  • a first entity for example a personal computer
  • generating (101) a portion of the security data within the security module
  • a security module implementing the method according to the invention for the SSL / TLS protocol authentication steps. It is clear, however, that the invention is not limited to this particular application, but can also be implemented in many other fields, and for example in entities that could implement initialization or start-up mechanisms.
  • a smart card carrying means for executing computer programs (security module).
  • security module can for example be a "JavaCard” that is to say a smart card that integrates a Java virtual machine.
  • Such smart cards have the advantage of being resistant to attacks. This means that these cards have physical characteristics that drastically reduce the risks and possibilities of hacking. They are therefore particularly well suited for the implementation of secure procedures.
  • the method according to the invention makes it possible to "delocalize” the implementation of the SSL or TLS protocol within this security module.
  • the TLS stack (that is to say the sequence of steps of the process leading to the authentication) is entirely executed on the same computer and thus does not allow to separate the procedures of Authentication and exchange of information.
  • a security module implementing the method according to the invention therefore comprises original features that enable it to perform the authentication phase of the TLS protocol, and to transfer the right to an application to use the previously established secure tunnel. .
  • a security module implementing the method according to the invention performs the functions of client or TLS server entity.
  • the method according to the invention implements the entities "HANDSHAKE”, “ALERT”, “CCS” and “RECORD” described above.
  • FIG. 2 shows a security module (210) implementing the TLS protocol according to the production method of the invention and a user entity (200), that is to say an application (2000). ) comprising a subset of the TLS stack, namely the layers “RECORD” (2004) and “ALERT” (2002) and optionally the layers “CCS” (2003) and “HANDSHAKE” (2001).
  • the "RECORD” layer (2004) presents a communication interface with the "TCP” layer (2005).
  • such a security module provides a functional interface (220) which comprises eight commands: “SET-Credentials”, “Start”, “Process-TLS”, “GET-Keys_bloc”, “Compute-Keys_bloc” , “GET- Cipher_suite”, “GET-SessionID”, “GET-Master_secret”.
  • commands can be performed according to the ISO 7816 standard according to a coding commonly called “APDUs” (of the English “Application Protocol Data Unit” for "Data Unit (PDU) of the layer seven (Application) of the OSI model” ).
  • the security module (210) which implements the production method according to the invention comprises the entities necessary for the implementation of the method the "RECORD” (2104) and "ALERT” (2102) layers and optionally the "CCS” (2103) and "HANDSHAKE” (2101) layers.
  • the functional interface (220) allows the user entity (200) to call the security module (210) for the production of security data.
  • the role of the module that is to say its behavior client or server entity and the various parameters necessary for its operation, usually qualified letters of credit or "credentials" in English (X509 certificates, RSA private key) is enabled by SET-Credentials () command, SET-Credentials (role)
  • a "Start" command initializes a session
  • TLS since the security modules do not generally include a clock, it also informs the GMT time in the so-called UNIX format, that is to say a number of 32 bits which measures the number of seconds elapsed since January 1, 1970. .
  • TLS packets that is, messages generated by a RECORD entity, are transmitted to the security module using the Process-TLS (Record-Packets) command that returns one or more RECORD messages.
  • Record-Packets Process-TLS (Record-Packets)
  • the user of the services of the security module can then manage autonomously (without the help of the security module) his own layer RECORD. Indeed it knows the keys of the secure channel (keys_bloc) and the current value of the parameter seq_num equal to 1 (the value 0 was used for the calculation of HMAC integrity of the message FINISHED).
  • Compute-Keys_bloc () command associated with the random numbers generated by the client entity and the server entity (Client-Random and Server-Random) makes it possible to calculate the "keys_bloc" parameter. It is useful during a session of type "Session Resumption", or the user of the security module uses the latter, only to obtain keys_bloc.
  • keys_bloc Compute-Keys_bloc (Client-Random, Server-Random)
  • the GET-SessionID command returns the "SessionID" parameter associated with the current session or the previous session. This is useful information for the user who wants to partially manage a Session Resumption.
  • SessionID GET-SessionID ()
  • the GET-Master_secret () command collects the "master_secret” associated with the "SessionID" of the current or previous session. It is optional and corresponds to a "Session Resumption" management policy for which the user does not use the "keys_bloc" calculation service.
  • master_secret GET-Master_secret () 5.4 Implementation of the protocol
  • a first mode is illustrated in FIG. 3. It concerns the implementation of the method according to the invention applied to a "full session” mode login using the RSA algorithm, with mutual authentication (" Client Authentication Handshake ").
  • a client entity (350) initiates the latter with a ClientHello message (301).
  • a server entity entity (360) responds with a set of ServerHello (302), Certificate (303), CertificateRequest (304), ServerHelloDone (305) messages.
  • the client entity then delivers the messages Certificate (306), CertificateVerify (307), ClientKeyExchange (308), ChangeCipherSpec (309), and Finished (310).
  • the client entity verifies the validity of the server certificate, extracts its public RSA key, and then sends it a value called encrypted pre_master_secret of this key.
  • the master_secret is calculated from the Client-Random, Server-Random and pre-master-secret elements.
  • the CertificateVerify message (307) contains a signature made with the RSA private key of the client, which proves the identity of the latter (its certificate present in the message Certificate (306)).
  • the client entity and the server entity have a new value master_secret from which the keys of the keys_bloc are deduced.
  • a SessionID parameter passed in the ServerHello message provides an index of the master_secret.
  • the data generated by the APPLICATION layer is transported by the RECORD entity (313) (313), which ensures the confidentiality and integrity thereof by means of the keys Kc and Ki.
  • the previously described steps are implemented within security modules: one for the client entity (35) and one for the entity server entity (36). As shown in FIG. 3, the previously described steps are not implemented within client entities (350) and entity entities server (360) but only "transit” through these entities). The actual implementation is carried out with the security modules using commands of the functional interface of the module.
  • Cipher_suite (3005, 3006) indicates the list of cryptographic algorithms used for managing the secure channel.
  • the client entity opens a TLS session with a server entity typically listening on TCP port 443.
  • a security module is implemented on the client entity side
  • a second mode is shown in Figure 4.
  • a previous session type "FuIl Session” has obtained a "master_secret” identified by a "SessionID” index.
  • the authentication phase is simplified and consists of both parties (client entity and server) to prove their knowledge of the master_secret value.
  • the client entity (440) opens the TLS session with a ClientHello message (401) containing the index (SessionID) of a previous session.
  • the server entity (460) responds with a set of messages "ServerHello” (402), “ChangeCipherSpec” (403), and "Finished” (404).
  • PRF master_secret, "key expansion", server_random
  • Session Resumption mechanism simplifies the exchange of information during a TLS session.
  • a first session FuIl performs simple or mutual authentication of both ends (client entity and server) and produces a master_secret.
  • a Session Resumption session is negotiated between a client entity and a server entity.
  • the value of the "master_secret" is protected by the security module on the client entity and / or server side.
  • Session Resumption is negotiated between a client entity (550) and a server entity (560).
  • the value of the "master_secret” is stored by the client-side (55) and / or server (56) security module.
  • a security module in the form of a silicon integrated circuit (600), usually referred to as "Tamper Resistant Device”, literally a “component that resists attacks”, such as for example the ST22 component (produced by the company ST Microelectronics) and available in different formats such as PVC cards, (smart cards, SIM card, ...) integrated into USB tokens, or in MMC (MultiMedia Card) memories.
  • ST22 component produced by the company ST Microelectronics
  • PVC cards smart cards, SIM card, ...) integrated into USB tokens, or in MMC (MultiMedia Card) memories.
  • MMC MultiMedia Card
  • Such a security module incorporates all secure means of data storage, and also allows the execution of software in a secure and protected environment. More precisely, it comprises a central unit (CPU, 601), a memory
  • ROM storing operating system code (602), RAM memory (603), and nonvolatile memory (NVR, 604), used as a hard disk-like storage device, and which contains, for example, software embedded TLS.
  • a system bus (610) connects the various members of the secure module.
  • the interface to the outside world (620) is provided by an IO input / output port (605), compliant with standards such as ISO6816, USB, USB-OTG, ISO6816-12, MMC, IEEE 802.3, IEEE 802.11 etc.
  • JAVA smart cards commonly referred to as JAVACARD, are a special class of security module.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention concerne un procédé de production de données de sécurisation, permettant la mise en œuvre d'une session sécurisée entre une première et au moins une deuxième entité, selon un protocole d'établissement de sessions sécurisées. Selon l'invention, un tel procédé comprend: une étape d'initialisation d'une troisième entité sécurisée, liée à ladite première entité; une étape de génération d'au moins une partie desdites données de sécurisation au sein de ladite troisième entité; une étape de transmission desdites données de sécurisation de ladite troisième entité sécurisée vers ladite première entité.

Description

Procédé de sécurisation d'échange d'information, dispositif, et produit programme d'ordinateur correspondant.
1 DOMAINE DE L'INVENTION
La présente invention se rapporte au domaine de la gestion des échanges d'informations réalisées entre deux entités d'un réseau de communication.
Plus particulièrement, la présente invention se rapporte à la sécurisation de tels échanges. De nombreuses applications, notamment de commerce ou d'accès à des informations confidentielles, utilisent les protocoles SSL (de l'anglais
« Secure Socket Layer » pour « Couche d'encapsulation sécurisée ») ou TLS (de l'anglais « Transport Layer Security » pour « couche de transport sécurisée ») pour échanger des données de manière sécurisée. Bien que des preuves mathématiques existent pour ces protocoles, leur réalisation intégrale par des systèmes informatiques peu sure, permet des attaques qui diminuent la confiance que l'on doit légitimement apporter aux procédures d'échange mettant en œuvre ces protocoles.
2 SOLUTIONS DE L'ART ANTERIEUR
2.1 Art antérieur
La mise en œuvre d'une connexion sécurisée entre deux entités d'un réseau de communication passe par l'initiation d'une session sécurisée basée soit sur le protocole SSL, soit sur le protocole TLS.
Ainsi, pour l'établissement d'une telle session, les deux entités utilisent des mécanismes qui sont censés assurer que la session crée ne pourra pas faire l'objet d'un piratage ou d'un espionnage. On décrit par la suite le fonctionnement des protocoles SSL et TLS. Bien que cette description soit plus particulièrement dédiée au protocole TLS, elle s'applique également au protocole SSL.
Le protocole TLS est organisé sur la base d'un ensemble de cinq entités logicielles coopérant entre elles : APPLICATION, HANDSHAKE, CCS, ALERT et RECORD. L'entité « APPLICATION » fait référence à une application logicielle qui désire mettre en œuvre une session de communication sécurisée (couche 7 du modèle OSI). Les entités « HANDSHAKE », « CCS », « ALERT » et « RECORD » (également appelées couches) sont des entités qui sont mises en œuvre dans le cadre d'une application du protocole TLS, dont une description détaillée sera trouvée sous la référence « RFC 2246 » par l'intermédiaire du comité IETF (« Internet Engineering Task Force » pour « Groupe de Travail d'Ingénierie de l'Internet »). Une telle application du protocole TLS est réalisée au niveau de la couche 5 du modèle OSI.
L'architecture d'une « pile » TLS peut être décrite ainsi : la couche gérée par l'entité « RECORD » (également appelée couche « RECORD ») transporte les messages produits par les entités « APPLICATION » « HANDSHAKE » « CCS » et « ALERT », à l'aide d'un entête de 5 octets qui précise l'entité qui génère le message, la version du protocole TLS utilisé, et la longueur du message. Les messages en tant que tels comportent également un entête qui indique le type du message et la longueur des données associées. Cependant la structure des messages « APPLICATION » n'est pas définie par le standard TLS. En effet, chaque application échange des messages dont la structure est définie par le protocole applicatif, tel que dans le cadre des messages du protocole HTTPS (de l'anglais « Hypertext Transfer Protocol Secured » pour « protocole de transfert hypertexte sécurisé »).
Ainsi, une application « APPLICATION » utilise les services offerts par le protocole TLS qui réalise la confidentialité (chiffrement) et la confidentialité des données transportées à l'aide du protocole TCP (de l'anglais « Transmission Control Protocol » pour « protocole de contrôle de transmissions ») qui agit au niveau de la couche transport.
La mise en œuvre du canal sécurisé par TLS s'effectue en deux étapes, une phase d'authentifïcation et de calcul de clés, suivie en cas de succès, d'une phase d'usage d'un canal de communication sécurisé, qui utilise le jeu de clés précédemment déterminées.
L'entité de la couche « HANDSHAKE » (également appelée couche « HANDSHAKE ») réalise les procédures d'authentifïcation et de calcul des clés. II existe deux modes d'authentifïcation le mode complet (appelé « FuIl Session ») et un mode rapide (appelé « Session Resumption »). Ces deux modes seront plus précisément décrits ultérieurement.
La couche « HANDSHAKE » négocie les algorithmes de chiffrement et d'intégrité mis en œuvre par l'entité de la couche RECORD (également appelée couche « RECORD »), qui sont identifiés par un nombre dénommé « cipher_suite ».
Au terme d'une procédure d'authentifîcation réussie, la couche
« RECORD » détermine une valeur appelée master_secret. A l'aide de deux nombres aléatoires produits par l'entité cliente {client _random) et l'entité serveur (server _random) elle calcule un ensemble de clés (le keysjbloc), utilisées pour le chiffrement et l'intégrité des données reçues et émises : keys_block = PRF(master_secret, "key expansion", server _random client _random);
PRF (Pseudo Random Function) est une fonction générant des données pseudo aléatoire; le symbole « | » indique une opération de concaténation.
De manière simplifiée le paramètre keys bloc est un couple de deux paires de clés (KcRx, KiRx) et (KcTx, KiTx) utilisées respectivement pour le chiffrement (préfixe Kc) et l'intégrité (préfixe Ki) des données reçues (suffixe Rx) et émises (suffixe Tx). La couche « CCS » (Change Cipher Spec) signale à l'entité « RECORD » les modifications des paramètres de sécurité. Elle active la mise en fonction des procédures de chiffrement et d'intégrité des données, utilisant les paramètres « keys_bloc » et « cipher _suite ».
L'entité de la couche ALERT (également appelée couche « ALERT ») signale des erreurs détectées par l'entité « HANDSHAKE » (en cas d'échec de l'authentification), ou par la couche « RECORD » (détection d'un défaut d'intégrité, ou une fin de session).
La couche « RECORD » assure quatre types d'opérations : une fragmentation des données en blocs dont la taille maximum est de 214 octets ; une compression optionnelle des données; ce service n'est généralement pas assuré ; une génération de signatures (basée sur l'algorithme HMAC, défini par la RFC 2104) ; - un chiffrement des données.
L'ensemble des paramètres nécessaires au fonctionnement de la couche « RECORD » est dénommé « security jparameters » et comporte entre autre les valeurs du « keys_bloc » produit par l'entité HANDSHAKE.
Les messages échangés entre la couche application et la couche TCP sont chiffrés et déchiffrés par la couche « RECORD » à l'aide d'un jeu de deux paires de clés (KcRx, KiRx) et (KcTx, KiTx) préalablement décrit.
Les messages reçus par la couche « RECORD » sont chiffrés par la clé KcRx ((M)KcRx) et muni d'une signature HMAC(KiRx, M) associée à la clé KiRx. Cette dernière vérifie la signature HMAC et restitue la valeur déchiffrée à la couche application.
Les messages émis par la couche application sont chiffrés par la couche « RECORD » à l'aide de la clé KcTx ((M)KcTx) et muni d'une signature HMAC(M5KiTx) associée à la clé KiTx.
Lorsque le mode de chiffrement est activé, le fonctionnement de la couche RECORD est le suivant : un « MESSAGE » émis/reçu par une entité telle que « HANDSHAKE » ou « APPLICATION » est muni d'un entête comportant trois paramètres : type, version, longueur. L'ensemble « MESSAGE », « signature HMAC » et « octets de bourrage » est chiffré à l'aide de l'algorithme négocié durant la phase d'authentifïcation et d'une clé Kc. La signature « HMAC » est calculée à partir de l'entête, du « MESSAGE » et d'un numéro de trame (seq_num) (initialisé à la valeur 0 et incrémenté à chaque usage de la couche « RECORD ») selon la relation suivante :
HMAC (Ki, seqjium \ Type \ Version \ Longueur \ MESSAGE ) Ainsi que cela a été évoqué précédemment, il existe deux modes d'ouverture de session TLS appelés « FuIl Session » et « Session Resumption ». Ainsi, par exemple, dans le cas de l'ouverture d'une session « FuIl Session », utilisant l'algorithme RSA, avec mutuelle authentifîcation (" 'Client Authentication Handshake"), entre une entité cliente et une entité serveur, l'entité cliente initie cette dernière par un message « ClientHello ». L'entité serveur répond par un ensemble de messages « ServerHello », « Certifîcate », « CertifîcateRequest », « ServerHelloDone ». L'entité cliente délivre alors les messages « Certifîcate », « CertifîcateVerify », « ClientKeyExchange », « ChangeCipherSpec », et « Finished ».
Dans cette procédure l'entité cliente vérifie la validité du certificat du serveur, en extrait sa clé publique RSA, puis lui transmet une valeur baptisée « pre_master_secret » chiffrée de cette clé. Le « master _secret » est calculé partir des éléments « Client-Random », « Server-Random » et « pre-master-secret » . Le message « CertificateVerify » contient une signature réalisée avec la clé privée RSA du client, qui prouve l'identité de ce dernier (son certificat présent dans le message « Certifîcate »).
Au terme de cette procédure d' authentifîcation l'entité cliente et l'entité serveur disposent d'une nouvelle valeur « master _secret » à partir de laquelle sont déduites les clés du « keys_bloc ». Un paramètre « SessionID » transmis dans le message « ServerHello » fournit un index du « master _secr et ». Par la suite les données générées par la couche « APPLICATION » sont transportées par l'entité « RECORD », qui en assure la confidentialité et l'intégrité grâce aux clés Kc et Ki.
Dans le cas d'une ouverture d'une session « Session Resumption », une procédure précédente « FuIl Session » a déjà permis d'obtenir un « master _secret » identifié par un index « SessionID ». La phase d' authentifîcation est simplifiée et consiste pour les deux parties (l'entité cliente et l'entité serveur) à prouver leur connaissance de la valeur « master _secr et ». L'entité cliente ouvre la session TLS par un message « ClientHello » contenant l'index (« SessionID ») d'une session précédente. L'entité serveur répond par un ensemble de messages « ServerHello », « ChangeCipherSpec », et « Finished ». Il indique la reprise de session en insérant une valeur « SessionID » dans le message « ServerHello » identique à celle contenue dans le message « ClientHello ». L'entité cliente délivre alors les messages « ChangeCipherSpec », et « Finished ».
Le « master_secret » n'est pas recalculé, cependant un nouvel ensemble « keys_bloc » est obtenu à partir des éléments « master_secret »,
« ClientRandom » et « ServerRandom » par l'application de la fonction suivante :
Keys_block = PRF(master_secret, "key expansion", server _random \ client _random).
Par la suite les données générées par la couche « APPLICATION » sont transportées par l'entité « RECORD », qui en assure la confidentialité et l'intégrité grâce aux clés Kc et Ki.
Le mécanisme de « Session Resumption » simplifie l'échange d'information lors d'une session TLS. Une première « FuIl Session » effectue l'authentification simple ou mutuelle des deux extrémités (client et serveur) et produit un « master _secret ». Les sessions suivantes, basée sur le mécanisme de « Session Resumption » réutilisent le « master _secret » pour le calcul de nouvelles clés de chiffrement et d'intégrité.
2.2 Inconvénients de l'art antérieur
Ainsi décrit les mécanismes d'établissement de session TLS, il a été mis en évidence deux étapes pour l'échange d'information sécurisée : une étape d'authentifîcation permettant l'obtention du master _secret et le calcul des clés de session (keysjbloc) ; et une étape de transfert d'informations protégées par la couche « RECORD » en mode chiffré. Bien que les données applicatives soient échangées entre les entités client et serveur, la phase d'authentifîcation est le processus le plus critique puis qu'il établit l'identité des deux parties, vérifie leurs certificats et calcule les clés cryptographiques.
Un inconvénient de cette technique de l'art antérieur est lié au fait que la pile TLS (c'est-à-dire l'enchaînement des étapes menant à l'échange d'informations) est intégralement exécutée sur le même ordinateur et ne permet donc pas de séparer les procédures d'authentification et d'échange d'informations.
Il n'y a donc pas d'assurance que l'ordinateur sur lequel est exécutée cette pile TLS soit entièrement sécurisé et qu'une usurpation de clés ne puisse pas se produire durant les phases critiques d'authentification et de transfert d'informations protégées.
Or de nombreuses applications, par exemple les réseaux virtuels (VPN) basés sur SSL/TLS, les grilles de calculs, ou les réseaux de type overlays, nécessite des garanties de sécurité particulières, afin d'interdire les usurpations d'identité, c'est-à-dire l'usage illicite de services par des pirates informatiques (ou hackers).
Les systèmes d'exploitation complexes des ordinateurs actuels permettent l'exécution de logiciels malveillants tels que chevaux de Troie, vers, virus, capables de collecter les identités et les clés RSA des utilisateurs. Pour pallier ces problèmes, il a été proposé de nombreuses solutions basées notamment sur des cartes à puce ou des dispositifs externes qui contiennent des preuves de l'identité physique de l'utilisateur ou de la machine qui souhaite établir une session sécurisée (par l'intermédiaire notamment du stockage, au sein de la carte à puce de clés privées et publiques). De telles solutions permettent effectivement de s'assurer de l'identité de l'entité qui souhaite se connecter, mais ne sécurisent en rien la machine sur laquelle la procédure d'authentification est réalisée. 3 RESUME DE L'INVENTION
L'invention propose une solution nouvelle qui permet de résoudre ces inconvénients de l'art antérieur, sous la forme d'un procédé de production de données de sécurisation, permettant la mise en œuvre d'une session sécurisée entre une première et au moins une deuxième entité, selon un protocole d'établissement de sessions sécurisées. Selon l'invention, un tel procédé comprend : - une étape d'initialisation d'une troisième entité sécurisée, liée à ladite première entité ; une étape de génération d'au moins une partie desdites données de sécurisation au sein de ladite troisième entité ; une étape de transmission desdites données de sécurisation de ladite troisième entité sécurisée vers ladite première entité.
Ainsi, à la différence des techniques de l'art antérieur qui ne permettent la production des données de session que sur l'entité qui va effectivement mettre en œuvre la session sécurisée, l'invention autorise la production de telles données au sein d'une troisième entité différente de la première. Cette troisième entité peut être attachée soit mécaniquement à la première, soit par le biais d'une interface d'un réseau, tel qu'un réseau local. La génération des données permettant la mise en œuvre de la session sécurisée n'est donc plus réalisée par l'entité qui met en œuvre la session sécurisée, mais par une entité tierce, évitant ainsi les différentes attaques qui peuvent être conduites vis-à-vis de la première entité. Le procédé selon l'invention permet donc de remplacer la première entité lors de la production de données de sessions sécurisée. Une telle substitution autorise la conduite d'au moins une partie des opérations de définition des données permettant l'établissement de la session au sein de la troisième entité qui peut donc prendre la place de la première et ainsi sécuriser la procédure de création des données au sein d'un environnement sûr.
Selon un mode de réalisation original de l'invention, ladite troisième entité est une carte à puce de type « JavaCard ».
Ainsi, l'invention permet de dissocier le dispositif qui est chargé de mettre en œuvre le protocole de sécurité du dispositif souhaitant disposer d'une connexion sécurisée. De plus, l'utilisation d'une carte à puce de type « JavaCard » assure que cette entité chargée de mettre en œuvre le protocole de sécurité est inviolable et totalement sécurisée. Un niveau de sécurisation supplémentaire, issu des travaux menés par les inventeurs, est donc ajouté à l'ensemble du protocole de sécurité. Selon une caractéristique particulière de l'invention, ledit protocole d'établissement de sessions sécurisées est le protocole SSL.
Ainsi, l'invention prend en charge l'établissement d'une session sécurisée respectant le protocole SSL, qui est un des protocoles majeurs dans ce domaine. Selon une caractéristique particulière de l'invention, ledit protocole d'établissement de sessions sécurisées est le protocole TLS.
Ainsi, l'invention prend en charge l'établissement d'une session sécurisée respectant le protocole TLS, qui est un des protocoles les plus utilisés dans ce domaine. Selon un mode de réalisation particulier de l'invention, ledit procédé de production comprend en outre : une étape de transmission, par ladite première entité, d'au moins un message à destination d'une couche « RECORD » mise en œuvre au sein de ladite troisième entité ; - une étape de réception, par ladite première entité, d'au moins un message en provenance de ladite couche « RECORD » ; une étape de calcul d'un ensemble de clés par ladite troisième entité ; une étape de collecte dudit ensemble de clés disponibles par ladite première entité auprès de ladite troisième entité ; - une étape de récupération d'un identifiant de session de communication sécurisée.
Ainsi, l'invention permet de conserver la conformité des installations existantes en réalisant un transfert de messages en lieu et place de l'exécution des étapes de production sur la première entité, qui peut être soumise aux attaques. L'invention concerne également un dispositif de production de données de sécurisation, permettant la mise en œuvre d'une session sécurisée entre une première et au moins une deuxième entité, selon un protocole d'établissement de sessions sécurisées. Selon l'invention, un tel dispositif comprend : des moyens d'initialisation, attachée à ladite première entité ; - des moyens de génération d'au moins une partie desdites données de sécurisation ; des moyens de transmission desdites données de sécurisation vers ladite première entité.
De façon générale, un tel dispositif comprend des moyens lui permettant de mettre en œuvre les étapes du procédé de production tel que décrit précédemment.
Selon un mode de réalisation original de l'invention, lesdits moyens de génération et lesdits moyens de transmission sont regroupés dans une carte à puce.
Ainsi, un tel dispositif selon l'invention dispose de moyens de résistance aux attaques malveillantes.
Dans un autre mode de réalisation, l'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur. Selon l'invention, dans au moins un mode de réalisation, un tel produit programme d'ordinateur comprend des instructions de code de programme pour l'exécution du procédé de production tel que décrit précédemment. 4 LISTE DES FIGURES
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1 présente un synoptique du procédé de production de données sécurisées selon l'invention ; - la figure 2 illustre un exemple de mise en œuvre du procédé de production au sein d'un module de sécurité selon l'invention ; la figure 3 décrit un mode de mise en œuvre du procédé de production par deux entités à l'aide de deux modules de sécurité dans un mode dit de
« full session » ; - la figure 4 décrit un mode de mise en œuvre du procédé de production par deux entités à l'aide de deux modules de sécurité dans un mode dit de
« Session Resumption » ; la figure 5 décrit également un mode de mise en œuvre du procédé de production par deux entités à l'aide de deux modules de sécurité dans un mode dit de « Session Resumption » ; la figure 6 décrit une architecture d'un dispositif de production de données de sécurisation, également appelé module de sécurité. 5 DESCRIPTION DETAILLEE DE L'INVENTION
5.1 Rappel du principe de l'invention L'invention permet donc de résoudre les problèmes liés à l'insécurité intrinsèque des entités sur lesquelles sont mis en œuvre les protocoles SSL et TLS. En effet, ces entités sont, de manière générale, des serveurs fonctionnant sur des systèmes d'exploitation propriétaires ou issus du monde libre ou des ordinateurs personnels d'utilisateurs classiques. Si on accorde la plupart du temps une confiance relativement large dans la catégorie des « serveurs », les ordinateurs personnels des utilisateurs individuels n'ont pas le même niveau de sécurisation que les serveurs et sont donc plus souvent (mais non exclusivement) soumis aux risques d'attaques. Ainsi, quand bien même les protocoles de sécurisation de session de communication tels que TLS et SSL remplissent correctement leurs fonctions, il est fort probable qu'une attaque visant un poste de travail ou un entité serveur à l'aide de logiciels malfaisant puisse s'introduire dans une « pile logicielle » ou encore modifier des fichiers du système d'exploitation. Une telle introduction est alors réalisée dans l'objectif de pouvoir prendre le contrôle ultérieur de sessions initiées par des utilisateurs. Pour éviter ces attaques ultérieures, l'invention permet de mettre en œuvre au moins certaines étapes d'authentifïcation dans une entité tierce solidaire de l'entité qui met généralement en œuvre cette phase d'authentifïcation. Une telle entité tierce, qui est un dispositif de production d'informations de sécurisation selon l'invention, est également appelée « module de sécurité ». Cette entité met ensuite à disposition les informations nécessaires à la poursuite de la session d' authentification.
De telles informations peuvent par exemple, être les clés de session (keys_bloc) ou le « master_secret » (selon le niveau de sécurité requis) pour un logiciel qui a besoin d'un échange d'information sécurisée par les protocoles SSL/TLS.
Le principe général de l'invention repose sur une délocalisation, au sein d'une entité de confiance, tel qu'un module de sécurité, d'au moins certaines étapes d'un protocole, tel qu'un protocole d' authentification, à mettre en oeuvre. En effet, bien que les données applicatives soient échangées entre les entités client et serveur, la phase d' authentification est le processus le plus critique puis qu'il établit l'identité des deux parties, vérifie leurs certificats et calcule les clés cryptographiques.
L'invention se distingue des techniques de l'art antérieur, qui mettent en œuvre des cartes à puce, par le fait que ces mécanismes antérieurs ne proposent pas, au sein de la carte en question, une exécution de logiciels, mais un simple stockage de données telles que des certificats ou des clés. Une entité selon l'invention, au contraire, ne renferme pas, dans sa fonction première, des données, mais un ensemble de mécanismes permettant l'exécution, de manière indépendante, d'au moins certaines étapes d'un protocole sécurisé.
On présente, en relation avec la figure 1, le procédé de production de données sécurisées selon l'invention. Il comprend : une étape d'initialisation (100) du module de sécurité (par exemple une carte à puce), attachée à une première entité (par exemple un ordinateur personnel) ; une étape de génération (101) d'une partie des données de sécurisation au sein du module de sécurité ; une étape de transmission (102) des données de sécurisation du module de sécurité vers la première entité. Par la suite, on présente notamment le cas d'un module de sécurité mettant en œuvre le procédé selon l'invention pour les étapes d'authentification des protocoles SSL/TLS. Il est clair cependant que l'invention ne se limite pas à cette application particulière, mais peut également être mise en œuvre dans de nombreux autres domaines, et par exemple dans des entités qui pourraient mettre en œuvre des mécanismes d'initialisation ou de démarrage d'autres entités, tels que des véhicules par exemple et plus généralement dans tous les cas où les avantages procurés par l'invention sont intéressants. 5.2 Description d'un mode de réalisation On présente dans ce mode de réalisation, la mise en œuvre du procédé selon l'invention au sein d'une carte à puce embarquant des moyens d'exécution de programmes d'ordinateurs (module de sécurité). Il peut par exemple s'agir d'une « JavaCard » c'est-à-dire d'une carte à puce qui intègre une machine virtuelle Java. De telles cartes à puce présentent l'avantage d'être résistantes aux attaques. Cela signifie que ces cartes possèdent des caractéristiques physiques qui diminuent de manière drastiques les risques et les possibilités de piratage. Elles sont donc particulièrement bien indiquées pour la mise en œuvre de procédures sécurisées.
Dans ce mode de réalisation, le procédé selon l'invention permet de « délocaliser » la mise en œuvre du protocole SSL ou TLS au sein de ce module de sécurité.
Dans l'état de l'art actuel la pile TLS (c'est-à-dire l'enchaînement des étapes du processus conduisant à l'authentification) est intégralement exécutée sur le même ordinateur et ne permet donc pas de séparer les procédures d ' authentif ication et d ' échange d ' informations .
Cependant de nombreuses applications, par exemple les réseaux virtuels (VPN) basés sur SSL/TLS, les grilles de calculs, ou les réseaux de type « overlays » (de l'anglais, pour « recouvrement »), nécessite des garanties de sécurité particulières, afin d'interdire les usurpations d'identité, c'est-à-dire l'usage illicite de services par des pirates informatiques (ou « hackers »). Les systèmes d'exploitation complexes des ordinateurs actuels permettent l'exécution de logiciels malveillants tels que chevaux de Troie, vers, virus, capables de collecter les identités et les clés RSA des utilisateurs.
Un module de sécurité mettant en œuvre le procédé selon l'invention comprend donc des fonctionnalités originales qui lui permettent de réaliser la phase d'authentification du protocole TLS, et de transférer le droit, à une application, d'utiliser le tunnel sécurisé préalablement établi.
Un module de sécurité mettant en œuvre le procédé selon l'invention réalise les fonctions de client ou de entité serveur TLS. Ainsi, Dans ce mode de réalisation particulier, le procédé selon l'invention met en œuvre les entités « HANDSHAKE », « ALERT », « CCS » et « RECORD » décrites précédemment.
On présente, en relation avec la figure 2 un module de sécurité (210) mettant en œuvre le protocole TLS selon le procédé de production de l'invention et une entité utilisatrice (200), c'est-à-dire une application (2000) comprenant un sous ensemble de la pile TLS, a savoir de manière obligatoire les couches « RECORD » (2004) et « ALERT » (2002) et de manière optionnelle les couches « CCS » (2003) et « HANDSHAKE » (2001). La couche « RECORD » (2004) présente une interface de communication avec la couche « TCP » (2005). Dans ce mode de réalisation, un tel module de sécurité offre une interface fonctionnelle (220) qui comprend huit commandes : « SET-Credentials », « Start », « Process-TLS », « GET-Keys_bloc », « Compute-Keys_bloc », « GET- Cipher_suite », « GET-SessionID », « GET-Master_secret ». De telles commandes peuvent être réalisées en suivant la norme ISO 7816 selon un codage couramment dénommé « APDUs » (de l'anglais « Application Protocol Data Unit » pour « Unité de données (PDU) de la couche sept (Application) du modèle OSI »).
Le module de sécurité (210) qui met en œuvre le procédé de production selon l'invention comprend les entités nécessaires à la mise en œuvre du procédé de sécurisation à savoir les couches « RECORD » (2104) et « ALERT » (2102) et de manière optionnelle les couches « CCS » (2103) et « HANDSHAKE » (2101).
L'interface fonctionnelle (220) permet à l'entité utilisatrice (200) de faire appel au module de sécurité (210) pour la production de données de sécurisation. 5.3 Description des commandes
5.3.1 Commande SET-Credentials
Le rôle du module, c'est-à-dire son comportement client ou entité serveur ainsi que les différents paramètres nécessaires à son fonctionnement, qualifiés usuellement de lettres de crédits ou « credentials » en langue anglaise (certificats X509, clé privé RSA) est activé par la commande SET-Credentials(), SET-Credentials ( Credentials , rôle )
5.3.2 StartCUnix-Time)
Dans ce mode de réalisation, une commande « Start » initialise une session
TLS; puisque les modules de sécurité ne comportent pas en règle générale d'horloge elle renseigne également l'heure GMT au format dit UNIX, c'est-à-dire un nombre de 32 bits qui mesure le nombre de secondes écoulées depuis le lier janvier 1970.
5.3.3 Process-TLS
Les paquets TLS, c'est-à-dire les messages produits par une l'entité RECORD, sont transmis au module de sécurité à l'aide de la commande Process- TLS (Record-Packets) qui retourne un ou plusieurs messages RECORD. Record-Packets = Process-TLS ( Record-Packets )
5.3.4 GET-Kevs bloc
Lorsque un module de sécurité TLS a conduit avec succès l'authentification de son interlocuteur il calcule le keys_bloc, la couche RECORD bascule en mode chiffré, et délivre les messages CCS et FINISHED. La commande GET-Keys_bloc collecte alors l'ensemble des clés disponibles, keys_bloc = GET-Keys_bloc ( )
L'utilisateur des services du module de sécurité peut alors gérer de manière autonome (sans l'aide du module de sécurité) sa propre couche RECORD. En effet il connaît les clés du canal sécurisé (keys_bloc) et la valeur courante du paramètre seq_num égale à 1 (la valeur 0 a été utilisé pour le calcul d'intégrité HMAC du message FINISHED).
5.3.5 Compute-Keys bloc La commande Compute-Keys_bloc() associée aux nombres aléatoires générés par l'entité cliente et l'entité serveur (Client-Random et Server-Random) permet de calculer le paramètre « keys_bloc » . Elle est utile lors d'une session de type « Session Resumption », ou l'utilisateur du module de sécurité emploie ce dernier, uniquement pour l'obtention du keys_bloc. keys_bloc = Compute-Keys_bloc ( Client-Random, Server-Random)
II est important de remarquer que dans ce cas le module de sécurité n'exporte pas la valeur du « master_secret ». Il est donc impossible de conduire une session de type « Session Resumption » en l'absence du module de sécurité, qui garantit donc la bonne foi de l'usager du service. 5.3.6 GET-Cipher suite
Une commande GET-Cipher_suite permet de connaître les paramètres de sécurité, indexés par le nombre cipher_suite, associé à l'entité RECORD cipher_suite = Get-Cipher_suite ( )
5.3.7 GET-SessionID La commande GET-SessionID retourne le paramètre « SessionID » associé à la session courante ou à la session précédente. C'est une information utile pour l'utilisateur qui désire gérer partiellement un « Session Resumption ».
SessionID = GET-SessionID( )
5.3.8 GET- Master secret La commande GET-Master_secret() collecte le « master_secret » associé au « SessionID » de la session courante ou précédente. Elle est optionnelle et correspond à une politique de gestion des « Session Resumption » pour laquelle l'utilisateur n'utilise pas le service de calcul du « keys_bloc ». master_secret = GET-Master_secret ( ) 5.4 Mises en œuyre du protocole
A l'aide des huit commandes décrites précédemment il est possible mettre en œuvre au moins trois modes principaux d'usage, par un utilisateur, d'un module de sécurité TLS. Un premier mode est illustré par la figure 3. Il s'agit de la mise en œuvre du procédé selon l'invention appliqué à une ouverture de session en mode dit de « full session » utilisant l'algorithme RSA, avec mutuelle authentification ("Client Authentication Handshake"). Une entité cliente (350) initie cette dernière par un message ClientHello (301). Une entité entité serveur (360) répond par un ensemble de messages ServerHello (302), Certificate (303), CertificateRequest (304), ServerHelloDone (305). L'entité cliente délivre alors les messages Certificate (306), CertificateVerify (307), ClientKeyExchange (308), ChangeCipherSpec (309), et Finished (310).
Dans cette procédure l'entité cliente vérifie la validité du certificat du serveur, en extrait sa clé publique RSA, puis lui transmet une valeur baptisée pre_master_secret chiffrée de cette clé. Le master_secret est calculé partir des éléments Client-Random, Server-Random et pre-master-secret. Le message CertificateVerify (307) contient une signature réalisée avec la clé privée RSA du client, qui prouve l'identité de ce dernier (son certificat présent dans le message Certificate (306)).
Au terme de cette procédure d' authentification l'entité cliente et l'entité serveur disposent d'une nouvelle valeur master_secret à partir de laquelle sont déduites les clés du keys_bloc. Un paramètre SessionID transmis dans le message ServerHello fournit un index du master_secret. Par la suite les données générées par la couche APPLICATION sont transportées par l'entité RECORD (313) (313), qui en assure la confidentialité et l'intégrité grâce aux clés Kc et Ki.
Les étapes précédemment décrites sont mise en œuvre au sein de modules de sécurité : un pour l'entité cliente (35) et un pour l'entité entité serveur (36). Ainsi que cela est représenté sur la figure 3, les étapes précédemment décrites ne sont pas mises en œuvre au sein des entités clientes (350) et des entités entité serveur (360) mais ne font que « transiter » par ces entités). La mise en œuvre effective est réalisée au sien des modules de sécurité à l'aide de commandes de l'interface fonctionnelle du module.
Dans chacun des deux modules de sécurité mis en œuvre, quatre commandes sont utilisées : « Start » (3001, 3002) pour l'initialisation d'une session TLS, « Process-TLS » traite les paquets TLS (non représentée), « GET- keys_bloc » (3003, 3004) collecte les clés de la couche RECORD et « GET-
Cipher_suite » (3005, 3006) indique la liste des algorithmes cryptographiques employés pour la gestion du canal sécurisé. L'entité cliente ouvre une session TLS avec une entité serveur écoutant typiquement sur le port TCP 443. Dans cette illustration, un module de sécurité est mis en œuvre du côté de l'entité cliente
(350) et du côté de l'entité entité serveur (360).
Un deuxième mode est présenté à la figure 4. Dans ce cas une précédente session de type « FuIl Session » a permis d'obtenir un « master_secret » identifié par un index « SessionID ». La phase d'authentification est simplifiée et consiste pour les deux parties (entité cliente et serveur) à prouver leur connaissance de la valeur master_secret. L'entité cliente (440) ouvre la session TLS par un message ClientHello (401) contenant l'index (SessionID) d'une session précédente. L'entité serveur (460) répond par un ensemble de messages « ServerHello » (402), « ChangeCipherSpec » (403), et « Finished » (404). Il indique la reprise de session en insérant une valeur « SessionID » dans le message « ServerHello » identique à celle contenue dans le message « ClientHello ». L'entité cliente délivre alors les messages, « ChangeCipherSpec » (405), et « Finished » (406).
Le « master_secret » n'est pas recalculé, cependant un nouvel ensemble « keys_bloc » est obtenu à partir des éléments « master_secret », « ClientRandom » et « ServerRandom ».
Keys_block =
PRF(master_secret, "key expansion", server_random | client_random) . Par la suite les données générées par la couche APPLICATION sont transportées par l'entité RECORD (407) (408), qui en assure la confidentialité et l'intégrité grâce aux clés Kc et Ki.
Le mécanisme dit de « Session Resumption » simplifie l'échange d'information lors d'une session TLS. Une première FuIl Session effectue l'authentification simple ou mutuelle des deux extrémités (entité cliente et serveur) et produit un master_secret. Les sessions suivantes, basées sur le mécanisme de reprise de session réutilisent le master_secret pour le calcul de nouvelles clés de chiffrement et d'intégrité. Dans ce mode de réalisation, une session de type « Session Resumption » est négociée entre une entité cliente et une entité serveur. La valeur du « master_secret » est protégée par le module de sécurité côté entité cliente et/ou serveur.
Trois commandes sont nécessaires; « Start » (4001, 4002) initialise un module de sécurité; « GET-SessionID » (4003, 4005) récupère le « SessionID » d'un précédente session qui peut être inséré dans le message « Client-Hello » (4001) ou permettre la vérification de l'existence d'un « master_secret » côté serveur (4003) «Compute-Keys_bloc() » calcule le « keys_bloc » à l'aide des nombres aléatoires échangés par l'entité cliente (4004) et l'entité serveur (4006). Un troisième mode est explicité par la figure 5. Une session de type
« Session Resumption » est négociée entre une entité cliente (550) et une entité serveur (560). La valeur du « master_secret » est stockée par le module de sécurité côté client (55) et/ou serveur (56).
Trois commandes sont nécessaires; « Start » (5001, 5002) initialise un module de sécurité; « GET-SessionID » récupère le « SessionID » d'un précédente session qui peut être inséré dans le message « ClientHello » (5003) ou permettre la vérification de l'existence d'un « master_secret » côté serveur (5005). « GET-Master-secret » retourne la valeur du « master-secret » (5004, 5006). Ce mode de fonctionnement est compatible avec des logiciels tels que « OpenSSL » qui utilisent des objets « SESSION » stockés dans des fichiers. Le module de sécurité joue dans ce cas un rôle de cache amovible de la valeur du « master_secret ». Les étapes 401 à 408 sont identiques à celle décrites en relation avec la figure 4.
5.5 Description d'un module de sécurité selon l'invention On présente, en relation avec la figure 6, un module de sécurité sous la forme d'un circuit intégré de silicium (600), qualifié usuellement de "Tamper Résistant Device", littéralement un "composant qui résiste aux attaques", tel que par exemple le composant ST22 (produit par la société ST Microelectronics) et disponible sous différents formats tels que des cartes en PVC, (cartes à puce, carte SIM,...) intégrées dans des jetons USB, ou dans des mémoires MMC (MultiMedia Card).
Un tel module de sécurité incorpore tous les moyens sécurisés de stockage de données, et permet également l'exécution de logiciels dans un environnement sûr et protégé. Plus précisément il comporte une unité centrale (CPU, 601), une mémoire
ROM stockant le code du système d'exploitation (602), de la mémoire RAM (603), et une mémoire non volatile (NVR, 604), utilisée comme dispositif de stockage analogue à une disque dur, et qui contient par exemple un logiciel embarqué TLS. Un bus système (610) relie les différents organes du module sécurisé. L'interface avec le monde extérieur (620) est assuré par un port IO d'entrée/sortie (605), conforme à des standards tels que ISO6816, USB, USB- OTG, ISO6816-12, MMC, IEEE 802.3, IEEE 802.11, etc.
Les cartes à puces JAVA, communément désignées par le terme JAVACARD, sont une classe particulière de module de sécurité.

Claims

REVENDICATIONS
1. Procédé de production de données de sécurisation, permettant la mise en œuvre d'une session sécurisée entre une première et au moins une deuxième entité, selon un protocole d'établissement de sessions sécurisées, caractérisé en ce que lesdites données de sécurisation sont des données de mise en oeuvre d'un protocole SSL ou TLS et en ce que ledit procédé comprend :
- une étape d'initialisation d'une troisième entité sécurisée, liée à ladite première entité ; - une étape de génération d'au moins une partie desdites données de sécurisation au sein de ladite troisième entité ;
- une étape de transmission desdites données de sécurisation de ladite troisième entité sécurisée vers ladite première entité.
2. Procédé de production selon la revendication 1, caractérisé en ce que ladite troisième entité est une carte à puce de type « JavaCard ».
3. Procédé de production selon l'une quelconque des revendications 1 et 2, caractérisé en ce que ladite en ce qu'il comprend en outre :
- une étape de transmission, par ladite première entité, d'au moins un message à destination d'une couche « RECORD » mise en œuvre au sein de ladite troisième entité ;
- une étape de réception, par ladite première entité, d'au moins un message en provenance de ladite couche « RECORD » ;
- une étape de calcul d'un ensemble de clés par ladite troisième entité ;
- une étape de collecte dudit ensemble de clés disponibles par ladite première entité auprès de ladite troisième entité ;
- une étape de récupération d'un identifiant de session de communication sécurisée.
4. Dispositif de production de données de sécurisation, permettant la mise en œuvre d'une session sécurisée entre une première et au moins une deuxième entité, selon un protocole d'établissement de sessions sécurisées, caractérisé en ce qu'il comprend :
- des moyens d'initialisation, attachée à ladite première entité ;
- des moyens de génération d'au moins une partie desdites données de sécurisation ; - des moyens de transmission desdites données de sécurisation vers ladite première entité.
5. Dispositif de production de données de sécurisation selon la revendication 4, caractérisé en ce que lesdits moyens de génération et lesdits moyens de transmission sont regroupés dans une carte à puce.
6. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution du procédé de production selon l'une au moins des revendications 1 à 3, lorsqu'il est exécuté sur un ordinateur.
PCT/EP2008/056136 2007-05-25 2008-05-19 Procede de securisation d'echange d'information, dispositif, et produit programme d'ordinateur correspondant WO2008145558A2 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CA002689015A CA2689015A1 (fr) 2007-05-25 2008-05-19 Procede de securisation d'echange d'information, dispositif, et produit programme d'ordinateur correspondant
CN200880024587A CN101809964A (zh) 2007-05-25 2008-05-19 信息交换安全化方法、设备、及相应的计算机程序产品
EP08750344A EP2153613A2 (fr) 2007-05-25 2008-05-19 Procede de securisation d'echange d'information, dispositif, et produit programme d'ordinateur correspondant
US12/602,000 US8646041B2 (en) 2007-05-25 2008-05-19 Method for securing information exchange, and corresponding device and computer software product
RU2009147315/08A RU2487482C2 (ru) 2007-05-25 2008-05-19 Способ и устройство формирования защищающих данных и продукт компьютерной программы

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0703743A FR2916592B1 (fr) 2007-05-25 2007-05-25 Procede de securisation d'echange d'information,dispositif, et produit programme d'ordinateur correspondant
FR07/03743 2007-05-25

Publications (2)

Publication Number Publication Date
WO2008145558A2 true WO2008145558A2 (fr) 2008-12-04
WO2008145558A3 WO2008145558A3 (fr) 2009-03-19

Family

ID=38690408

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2008/056136 WO2008145558A2 (fr) 2007-05-25 2008-05-19 Procede de securisation d'echange d'information, dispositif, et produit programme d'ordinateur correspondant

Country Status (7)

Country Link
US (1) US8646041B2 (fr)
EP (1) EP2153613A2 (fr)
CN (1) CN101809964A (fr)
CA (1) CA2689015A1 (fr)
FR (1) FR2916592B1 (fr)
RU (1) RU2487482C2 (fr)
WO (1) WO2008145558A2 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2943198A1 (fr) * 2009-03-16 2010-09-17 Groupe Ecoles Telecomm Procede de production de donnees de securisation, dispositif et programme d'ordinateur correspondant
WO2012130882A1 (fr) 2011-03-29 2012-10-04 Vifor (International) Ag Composés à base de complexes de fe(iii) pour le traitement et la prévention de carences en fer et d'anémies dues à une carence en fer
WO2012163938A1 (fr) 2011-05-31 2012-12-06 Vifor (International) Ag Complexes de type 2,4-dioxo-1-carbonyle de fe(iii) destinés au traitement et à la prophylaxie de carences en fer et d'anémies ferriprives
WO2014096193A1 (fr) 2012-12-21 2014-06-26 Vifor (International) Ag Composés à base de complexes de fe(iii) pour le traitement et la prévention de carences en fer et d'anémies ferriprives

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2945650B1 (fr) * 2009-05-13 2011-05-06 Groupe Ecoles Telecomm Procede de securisation de documents par application d'un numero d'identification propre et appareil pour l'authentification dudit numero.
US8875219B2 (en) * 2009-07-30 2014-10-28 Blackberry Limited Apparatus and method for controlled sharing of personal information
CN102930847B (zh) * 2011-08-09 2015-03-18 锋厚科技股份有限公司 多切换显示控制装置、矩阵式显示控制装置及其控制方法
US9537899B2 (en) 2012-02-29 2017-01-03 Microsoft Technology Licensing, Llc Dynamic selection of security protocol
CN103618726A (zh) * 2013-12-04 2014-03-05 北京中创信测科技股份有限公司 一种基于https协议实现移动数据业务识别的方法
US10050955B2 (en) 2014-10-24 2018-08-14 Netflix, Inc. Efficient start-up for secured connections and related services
US11399019B2 (en) * 2014-10-24 2022-07-26 Netflix, Inc. Failure recovery mechanism to re-establish secured communications
US11533297B2 (en) 2014-10-24 2022-12-20 Netflix, Inc. Secure communication channel with token renewal mechanism
CN113596828A (zh) 2014-10-31 2021-11-02 康维达无线有限责任公司 端对端服务层认证
US9854000B2 (en) 2014-11-06 2017-12-26 Cisco Technology, Inc. Method and apparatus for detecting malicious software using handshake information
EP3272094B1 (fr) 2015-03-16 2021-06-23 Convida Wireless, LLC Authentification de bout en bout au niveau d'une couche de service à l'aide de mécanismes de chargement de clé publique
US9955199B2 (en) * 2015-07-23 2018-04-24 Panasonic Avionics Corporation Transfer of consumable data to vehicles
US10635370B2 (en) * 2016-03-31 2020-04-28 Tanita Corporation Image forming apparatus that acquires data from an activity amount meter
DE102017202953A1 (de) * 2017-02-23 2018-08-23 Bundesdruckerei Gmbh Zugangskontrollvorrichtung und Verfahren zur Authentisierung einer Zugangsberechtigung
US20200389322A1 (en) * 2017-12-07 2020-12-10 Telefonaktiebolaget Lm Ericsson (Publ) Security for group communication
US11165824B2 (en) * 2019-10-18 2021-11-02 Cisco Technology, Inc. Transport layer security extension for hybrid information centric networking

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001060040A2 (fr) 2000-02-10 2001-08-16 Bull Cp8 Procede de transmission de donnees sur un reseau internet entre un serveur et un terminal a carte a puce, qui contient des agents intelligents
EP1349032A1 (fr) 2002-03-18 2003-10-01 Ubs Ag Authentification securisée d'un utilisateur dans un réseau d'ordinateurs
WO2006021865A1 (fr) 2004-08-24 2006-03-02 Axalto Sa Jeton personnel et procede d'authentification commandee

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
UA53651C2 (uk) * 1996-06-05 2003-02-17 Сіменс Акцієнгезельшафт Спосіб криптографічного обміну кодами між першим комп'ютерним пристроєм та другим комп'ютерним пристроєм
WO2000002358A1 (fr) * 1998-07-03 2000-01-13 Nokia Mobile Phones Limited Etablissement sur de sessions au moyen du protocole d'application de radiocommunication
CA2305249A1 (fr) * 2000-04-14 2001-10-14 Branko Sarcanin Coffre-fort virtuel
US20040218762A1 (en) * 2003-04-29 2004-11-04 Eric Le Saint Universal secure messaging for cryptographic modules
US6854057B2 (en) * 2001-09-06 2005-02-08 America Online, Inc. Digital certificate proxy
US7996888B2 (en) * 2002-01-11 2011-08-09 Nokia Corporation Virtual identity apparatus and method for using same
US7246236B2 (en) * 2002-04-18 2007-07-17 Nokia Corporation Method and apparatus for providing peer authentication for a transport layer session
US7007163B2 (en) * 2002-05-31 2006-02-28 Broadcom Corporation Methods and apparatus for accelerating secure session processing
RU2295200C2 (ru) * 2002-08-16 2007-03-10 Тогева Холдинг Аг Способ и система для gsm-аутентификации при роуминге в беспроводных локальных сетях
US20040210663A1 (en) * 2003-04-15 2004-10-21 Paul Phillips Object-aware transport-layer network processing engine
US7373500B2 (en) * 2003-04-15 2008-05-13 Sun Microsystems, Inc. Secure network processing
US20050181875A1 (en) * 2004-02-18 2005-08-18 Coin Mechanisms, Inc. Mobile lottery, gaming and wagering system and method
US7451921B2 (en) * 2004-09-01 2008-11-18 Eric Morgan Dowling Methods, smart cards, and systems for providing portable computer, VoIP, and application services
US7565536B2 (en) * 2005-09-02 2009-07-21 Gemalto Inc Method for secure delegation of trust from a security device to a host computer application for enabling secure access to a resource on the web
US7725928B2 (en) * 2005-12-02 2010-05-25 Palo Alto Research Center Incorporated System and method for establishing temporary and permanent credentials for secure online commerce
US20080022374A1 (en) * 2006-06-29 2008-01-24 Research In Motion Limited System and method for securely communicating with a server

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001060040A2 (fr) 2000-02-10 2001-08-16 Bull Cp8 Procede de transmission de donnees sur un reseau internet entre un serveur et un terminal a carte a puce, qui contient des agents intelligents
EP1349032A1 (fr) 2002-03-18 2003-10-01 Ubs Ag Authentification securisée d'un utilisateur dans un réseau d'ordinateurs
WO2006021865A1 (fr) 2004-08-24 2006-03-02 Axalto Sa Jeton personnel et procede d'authentification commandee

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2153613A2

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2943198A1 (fr) * 2009-03-16 2010-09-17 Groupe Ecoles Telecomm Procede de production de donnees de securisation, dispositif et programme d'ordinateur correspondant
WO2010106042A1 (fr) 2009-03-16 2010-09-23 Institut Telecom / Telecom Paristech Procédé de production de données de sécurisation, dispositif et programme d'ordinateur correspondant
WO2012130882A1 (fr) 2011-03-29 2012-10-04 Vifor (International) Ag Composés à base de complexes de fe(iii) pour le traitement et la prévention de carences en fer et d'anémies dues à une carence en fer
WO2012163938A1 (fr) 2011-05-31 2012-12-06 Vifor (International) Ag Complexes de type 2,4-dioxo-1-carbonyle de fe(iii) destinés au traitement et à la prophylaxie de carences en fer et d'anémies ferriprives
WO2014096193A1 (fr) 2012-12-21 2014-06-26 Vifor (International) Ag Composés à base de complexes de fe(iii) pour le traitement et la prévention de carences en fer et d'anémies ferriprives

Also Published As

Publication number Publication date
CA2689015A1 (fr) 2008-12-04
RU2009147315A (ru) 2011-06-27
RU2487482C2 (ru) 2013-07-10
WO2008145558A3 (fr) 2009-03-19
EP2153613A2 (fr) 2010-02-17
US20100257588A1 (en) 2010-10-07
FR2916592A1 (fr) 2008-11-28
FR2916592B1 (fr) 2017-04-14
CN101809964A (zh) 2010-08-18
US8646041B2 (en) 2014-02-04

Similar Documents

Publication Publication Date Title
WO2008145558A2 (fr) Procede de securisation d'echange d'information, dispositif, et produit programme d'ordinateur correspondant
US11477037B2 (en) Providing forward secrecy in a terminating SSL/TLS connection proxy using ephemeral Diffie-Hellman key exchange
US10091240B2 (en) Providing forward secrecy in a terminating TLS connection proxy
US7899185B2 (en) Real privacy management authentication system
CN109302369B (zh) 一种基于密钥验证的数据传输方法及装置
EP2012907A2 (fr) Procede de protection d'identite, dispositifs, et produit programme d'ordinateur correspondants
FR2906661A1 (fr) Procede pour fournir des parametres d'authentification et des images logicielles dans des environnements de reseaux securises
EP3375133B1 (fr) Procede de securisation et d'authentification d'une telecommunication
EP3216163B1 (fr) Confidentialité de transmission dans un mandataire de connexion ssl/tls de terminaison utilisant un échange de clés diffie-hellman éphémère
EP2441228A1 (fr) Dispositif et procédé d'accès sécurisé à un service distant
EP2409474A1 (fr) Procédé de production de données de sécurisation, dispositif et programme d'ordinateur correspondant
EP1227640A1 (fr) Procédé et système de communication d'un certificat entre un module de sécurisation et un serveur
EP3266148B1 (fr) Dispositif et procédé d'administration d'un serveur de séquestres numériques
FR2899750A1 (fr) Procede et terminal pour securiser la generation d'une cle de chiffrement
EP2710779A1 (fr) Procede de securisation d'une platforme d'authentification, dispositifs materiels et logiciels correspondants
CN113950802B (zh) 用于执行站点到站点通信的网关设备和方法
FR2901084A1 (fr) Une methode de protection de l'identite avec tls (transport layer security) ou avec une de ses versions
FR2858497A1 (fr) Procede securise de fourniture de documents payants via un reseau de communication
WO2023175253A1 (fr) Procédé d'authentification d'un dispositif esclave par un dispositif hôte
EP3825882A1 (fr) Procede et systeme pour le provisionnement ou remplacement securise d'un secret dans au moins un dispositif de communication portable
EP4160987A1 (fr) Procédé pour générer une signature électronique au moyen du protocole fido

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880024587.2

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08750344

Country of ref document: EP

Kind code of ref document: A2

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
REEP Request for entry into the european phase

Ref document number: 2008750344

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2008750344

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2689015

Country of ref document: CA

Ref document number: 7691/DELNP/2009

Country of ref document: IN

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2009147315

Country of ref document: RU

WWE Wipo information: entry into national phase

Ref document number: 12602000

Country of ref document: US