EP2012907A2 - Identity protection method, devices and corresponding computer programme product - Google Patents

Identity protection method, devices and corresponding computer programme product

Info

Publication number
EP2012907A2
EP2012907A2 EP07727739A EP07727739A EP2012907A2 EP 2012907 A2 EP2012907 A2 EP 2012907A2 EP 07727739 A EP07727739 A EP 07727739A EP 07727739 A EP07727739 A EP 07727739A EP 2012907 A2 EP2012907 A2 EP 2012907A2
Authority
EP
European Patent Office
Prior art keywords
authentication
server
certificate
encryption
client terminal
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
EP07727739A
Other languages
German (de)
French (fr)
Inventor
Pascal Urien
Mohamad Badra
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.)
GROUPE DES ECOLES DE TELECOMMUNICATIONS - ECOLE NA
Original Assignee
Groupe de Ecoles de Telecommunications Ecole National Superieure des Telecommunications
Groupe des Ecoles de Telecommunications Ecole National 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 de Ecoles de Telecommunications Ecole National Superieure des Telecommunications, Groupe des Ecoles de Telecommunications Ecole National Superieure des Telecommunications filed Critical Groupe de Ecoles de Telecommunications Ecole National Superieure des Telecommunications
Publication of EP2012907A2 publication Critical patent/EP2012907A2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols

Definitions

  • the present invention relates to the field of identity protection in its network.
  • the invention relates to a method for protecting the identity of a network user.
  • the invention relates in particular to security modules, for example smart cards, enabling the secure implementation of this method, which can be used on the terminal of the user and / or on the server performing the authentication of the user. 'user of a network.
  • the invention also relates to a method of managing a plurality of security modules by an authentication server.
  • network In the context of the invention the term network must be understood in the most general sense. It designates home networks, based on ADSL modem
  • Wi-Fi hotspots public networks equipped with base stations (UMTS, HSDPA) or hotspots (Wi-Fi, WiMax, ...), corporate networks or networks. administrations using LAN (Local Area Network), PLAN (Personal LAN), WLAN (Wireless LAN)
  • LAN Local Area Network
  • PLAN Personal LAN
  • WLAN Wireless LAN
  • terminal must be understood in the most general sense. It can for example designate a computer managed by an operating system.
  • a computer may be equipped with one or more communication interfaces described by multiple standards such as IEEE 802.3 (“Ethernet” standard), IEEE 802.11 (“Wi-Fi” standard) and IEEE 802.16 (“WiMax” standard).
  • IEEE 802.16e (“WiMobile” standard). It may also designate terminals mobile communications such as cell phones, personal assistants.
  • authentication server must also be understood in the most general sense. It designates a computer managed by an operating system, comprising at least one communication interface and capable of rendering authentication services. 2 SOLUTIONS OF THE PRIOR ART
  • the IETF Committee (“Internet Engineering Task Force") refers to the means required for the "Authentication Authorization Account” (AAA). the implementation of secure services that can be optionally billed in an IP-based communication infrastructure.
  • the authentication process of a user usually consists in the presentation of an identity by a user to an authentication authority, and then in the production, always by this user, of proof establishing the real property of that user. identity and associated rights.
  • An authentication protocol carries out all the operations required for the presentation phases of the identity and for obtaining proof of this identity.
  • IP layer Internet Portocol
  • UDP / TCP transport User Datagram Protocol
  • IKE v2 authentication protocol
  • EAP Extensible Authentication Protocol
  • the EAP-TLS protocol is a transparent encapsulation of Transport Layer Security (TLS) specifically detailed in RFC 2716.
  • EAP protocols can be applied to control access to MAC-level services (PPP in accordance with RFC 2284, Ethernet and Wi-Fi in accordance with IEEE 802. Ix, WiMax in accordance with IEEE 802.16 and IEEE 802.16e) but also VPN (IKEv2 described by RFC 4306, PPTP Point -to- Point Tunneling Protocol described by RFC 2637, L2F Cisco Layer Two Forwarding Protocol described by RFC 2341).
  • TLS is an improved and non-proprietary version of the SSL ("Secure Socket Layer") protocol, patented by Netscape (US 5,657,390), which released version 2 at the end of 1994 and version 3 in November 1996.
  • SSL Secure Socket Layer
  • Netscape US 5,657,390
  • a web server (301) presents to the remote client (typically a web browser, 201) its identity (inserted in a Certif ⁇ cate message 103) in the form of an X509 certificate.
  • the client scans the server certificate, in particular, it verifies its signature using the public key of a CA (K P ⁇ CA ) that it trusts. If this check is successful, the client extracts the public key contained in the certificate (103, Kp u bs), and chooses a random number of 48 bytes, named PreMasterSecret (107), which is transmitted to the server using the key Kp u bs (in a ClientKeyExchange message 107).
  • a disadvantage of this prior art technique is that the EAP-TLS protocol does not guarantee the confidentiality of the client's identity. Indeed, although the EAP-TLS protocol is widely deployed for controlling access to WLAN services (Wi-Fi, WiMax) or VPN (IKE v2, 7), the lack of identity protection For example, the client can obtain the list of people present outside the walls of a company or an administration. The unencrypted presentation of the identity also allows the observation of the movements of a client of wireless networks, and therefore an invasion of privacy.
  • the knowledge of the identity of the clients on a network using the EAP-TLS protocol is realized by a passive attack or by an active attack.
  • a trivial passive attack consists of listening to authentication exchanges, and noting the list of clients present in the network.
  • a client's terminal is equipped with a Wi-Fi interface, and uses the EAP-TLS protocol. It then behaves like an RFID ("Radio Frequency Identification”) electronic tag that can be read at a distance of about 100m, and that allows to know the presence of a particular user.
  • RFID Radio Frequency Identification
  • An access point (AP, 301) hacker periodically broadcasts an identifier
  • SSID Service Set Identifier
  • Service Set Identifier for "Service Set Identifier”
  • the client issues an "EAP-Start” packet (102)
  • the AP issues an "EAP-Identity.request” message (104)
  • the client responds with the message “EAP-Identity.response” (104).
  • the AP sends a message “EAP-TLS. Start “(105).
  • the client then produces a response "EAP-TLS. response "which contains the TLS message” ClientHello "(106).
  • the malicious AP builds a "ServerHello” (107) message, which includes a certificate, that is, an authentication server identity in which the client has confidence.
  • This identity can be obtained by listening and analyzing EAP-TLS messages, or by knowing server certificates that are by nature non-confidential.
  • server certificates that are by nature non-confidential.
  • ServerHello (107) has no security attributes, and can be forged easily, provided that a valid server identity is inserted. This message is sent to the client in an EAP-TLS message. request "(107). The client verifies the server certificate and passes its identity in an "EAP-
  • the attacker has reached his goal, he has remotely obtained the identity of a client (109).
  • the solution proposed by the invention overcomes these disadvantages of the prior art, with a method of authenticating a client terminal with an authentication server, said client terminal having an authentication certificate;
  • such a method comprises the following phases: obtaining at least one encryption parameter by said client terminal; encrypting said authentication certificate by said client terminal, from said at least one encryption parameter, delivering an encrypted authentication certificate; transmitting said encrypted authentication certificate to said server; obtaining said at least one encryption parameter by said server; decrypting said encrypted authentication certificate from said at least one encryption parameter; - authentication and issuance of an authentication assertion if the authentication is positive.
  • the invention is based on a completely new and inventive approach to client authentication within a network. Indeed, unlike the conventional approaches of the prior art, the invention proposes to encrypt the authentication certificate of the client before the latter is transferred to the server. The server then, using encryption parameters known to both the server and the client, to decrypt this certificate and certify the validity of the authentication of the client.
  • said phase of encryption of said authentication certificate by said client terminal comprises the steps of: computation, by said client terminal, of a certificate encryption key according to said at least one parameter of encryption; encrypting said authentication certificate using said certificate encryption key.
  • the client terminal is able to calculate an encryption key according to a calculation function, from the encryption parameters. He can then encrypt his certificate using this key that he has calculated to obtain an encrypted certificate. The encryption of the certificate is done on the client terminal.
  • said phase of obtaining said at least one encryption parameter by said server comprises the steps of: encrypting said at least one encryption parameter by said client terminal as a function of at least one public key transmitted by said server to said terminal; transmission of said at least one encryption parameter encrypted by said client terminal to the server; decryption of said at least one encryption parameter encrypted by said server as a function of at least one asymmetric encryption private key to said at least one public encryption key.
  • the terminal encrypts, using the public key of the server, the encryption parameters that were used to calculate the encryption key of the certificate. Subsequently, the terminal transmits these encrypted parameters to the server.
  • the server decrypts these settings using its private key.
  • said server is the only one able to decrypt these parameters (which have been encrypted using its public key). It is thus not possible for a third party to intercept these unencrypted parameters.
  • a powerful mechanism for protecting encryption data is thus provided by a dual mechanism: transmission of an encrypted authentication certificate and transmission of the parameters used to encrypt the certificate, also in encrypted form.
  • said at least one encryption parameter belongs to the group comprising at least: information representative of a random number obtained by said authentication server; information representative of a random number obtained by said client terminal; information representative of an encrypted number with said public key of said authentication server;
  • the parameters used for certification encryption can have several origins: a random number coming from the server, a random number coming from the client, a number with the public key of the authentication server, for example.
  • a random number coming from the server a random number coming from the client
  • a number with the public key of the authentication server for example.
  • said method is implemented within the EAP protocol.
  • the identity protection method can be imbedded within known authentication methods, by providing new functionalities.
  • the invention also relates to a method of encryption of identity by a client terminal having an authentication certificate, when an authentication of said terminal with an authentication server.
  • a method of encryption of identity by a client terminal having an authentication certificate comprises the steps of: obtaining at least one encryption parameter by said client terminal; encrypting said authentication certificate by said client terminal, from said at least one encryption parameter; transmitting said encrypted authentication certificate to said server;
  • the client terminal implementing the invention is able to encrypt its identity before it is transmitted to the authentication server.
  • Such a method ensures that the identity of the terminal will not be transmitted in clear by means of a communication network.
  • the invention also relates to a device for encrypting the identity of a client terminal having an authentication certificate, when an authentication of said terminal with an authentication server.
  • such a device comprises means for: obtaining at least one encryption parameter; encrypting said authentication certificate from said at least one encryption parameter; transmitting said encrypted authentication certificate to said server;
  • a device is allowed to encrypt the identity of a client terminal before it is transmitted to the server.
  • said identity encryption device is implemented within a smart card implementing a virtual machine.
  • this identity encryption device can be installed within a smart card, implementing an operating system, for example a virtual machine.
  • this virtual machine can be of Java type and the smart card can be a "javacard”.
  • the invention also relates to a method for decrypting the identity of a client terminal having an authentication certificate, by an authentication server during an authentication of said terminal with said authentication server.
  • such a method comprises the steps of: receiving an encrypted authentication certificate from said client terminal; obtaining at least one encryption parameter by said server; decrypting said encrypted authentication certificate from said at least one encryption parameter; authentication and issuance of an authentication assertion if the authentication is positive.
  • the invention also relates to a device for decrypting the identity of a client terminal having an authentication certificate, when an authentication of said terminal with an authentication server, according to the invention
  • a device for decrypting the identity of a client terminal having an authentication certificate comprises means of: receiving an encrypted authentication certificate from said client terminal; obtaining at least one encryption parameter by said server; decrypting said encrypted authentication certificate from said at least one encryption parameter; authentication and issuance of an authentication assertion if the authentication is positive.
  • a device is enabled to decrypt the identity of a client terminal that has been transmitted to a server.
  • said decryption device is implemented within a smart card implementing a virtual machine.
  • this device for decrypting identity can be installed within a smart card, implementing an operating system, for example a virtual machine.
  • this virtual machine can be of Java type and the smart card can be a "javacard”.
  • the invention 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 a client terminal authentication method with an authentication server such as previously described.
  • 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.
  • such a computer program product comprises program code instructions for the execution of the method of encryption of identity by a client terminal as described above.
  • 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 method of decrypting the identity of a client terminal as described above. 4 LIST OF FIGURES
  • FIG. 1 already commented, presents a sequence diagram illustrating the messages exchanged during a TLS session;
  • Figure 2 also already described, shows a sequence flow diagram of the steps of an attack to collect the identity of a client;
  • FIG. 3 presents a sequence diagram implementing the identity protection method according to the invention;
  • Figure 4 details the structure of a security module;
  • Figure 5 illustrates a practical realization of an EAP-TLS application in a JAVA smart card context;
  • FIG. 6 is a sequence diagram showing the use of a client security module according to the invention in the authentication of a client;
  • FIG. 7 is a sequence diagram showing the use of a server security module according to the invention in the authentication of a client
  • FIG. 8 shows a secure network architecture in which a RADIUS server, equipped with multiple security modules, manages multiple clients, also equipped with security modules.
  • Figure 9 details the messages exchanged between a NAS and a RADIUS authentication server equipped with an EAP-TLS security module.
  • FIG. 10 illustrates the notion of session identifier ("Session-Id") constructed from certain attributes of an "Access-Request" packet, and of its use for the processing of the EAP message by a particular security module .
  • Session-Id session identifier
  • the invention therefore proposes to protect the identity of the clients during the authentication process. This protection is all the more important as the identity of the users has become a real challenge, both for operators and access providers, and for the customers themselves, who do not want to not be monitored in their daily lives.
  • the general principle of the invention relies on the encryption of the identity by a security module.
  • FIG. 3 an embodiment of the invention applied to the EAP-TLS protocol is described.
  • the authentication method according to the invention can be implemented in all the authentication methods where the client communicates his identity to the server.
  • the messages are exchanged in accordance with the TLS protocol.
  • Client Authentication Handshake the client (201) initiates the latter with a "ClientHello” message.
  • the server responds with a set of messages "ServerHello” (102), "Certif ⁇ cate” (103), "CertificateRequest”
  • the message "* Certificate” (106) is an encrypted form of the client certificate. More specifically, and in accordance with the TLS protocol, the message content is a succession of certificates, the first of which is assigned to the client, and the following of which (optionally present) are associated with one or more certification authorities.
  • An illustrative method for calculating the key used (“KeyClientCertif ⁇ cate") for the encryption of the client certificate "* Certif ⁇ cate” (106) is then described. However, other methods, based on secret formulas, making attacks more difficult, can be used for this operation.
  • the cryptographic keys can be generated using a function marked PRF for "Pseudo Random Function” (for "Pseudo Random Function”).
  • the shared secret “MasterSecret” is calculated from the parameter “PreMas ter Secret” and two random numbers (“ClientRandom” and “ServerRandom”) exchanged in the messages “ClientHello” (101) and “ServerHello” (102).
  • the key “MasterSecret” can be defined by:
  • PRF PreMasterSecret, "master secret”, ClientRandom
  • In this case refers to a concatenation operation.
  • other cryptographic keys are obtained using the parameter "MasterSecret” and a label (an ASCII string). These other keys also use the PRF function:
  • the "KeyClientCertif ⁇ cate" encryption key of the client's certificate is obtained by a relation of the type (106):
  • F is a function that uses “PreMas ter Secret”, “ServerRandom”, “ClientRandom” and other "OtherParameters” calculation parameters. For example, it is possible to use the following function:
  • PRF MasterSecret, "certified client”, ClientRandom
  • the client therefore protects his identity by encrypting his X509 certificate, using a part of an encryption algorithm, for example on the fly and secondly the key "KeyClientCertificate” associated with this cryptographic algorithm, for example RC4 or AES in "Counter Mode” mode.
  • the fingerprint values MD5 and SHAl functions
  • the fingerprint values used in messages such as "CertficateVerify” (108) and "Finished” (110, 112) are then calculated taking into account the contents of the client certificate. (106) encrypted. Indeed, this certificate appears in the "Certficate” message in encrypted form (106).
  • the server receives the messages "* Certificate” (106), "CertificateVerify”
  • PRF MasterSecret, "client certificate”, ClientRandom
  • the server can then decrypt the client's certificate.
  • the server then completes the opening phase of the TLS session by producing the two messages "ChangeCipherSpec" (111) and "Finished” (112).
  • PreMas terSecret can only be decrypted by the server, since only the latter has the private key capable of decrypting it.
  • "PreMaster Secret” was encrypted, by the client, using the public key of the server "K pu bs", transmitted to the client, by the server, during the transmission of the certificate (103). But only the holder of the private key "Kp ⁇ v s" can decode the encrypted messages with this public key "K pu bs".
  • security module designates a silicon integrated circuit
  • Tamper Resistant Device usually referred to as "Tamper Resistant Device”, literally an “attack resistant component”, such as for example an ST22 component, produced by the company ST Microelectronics (registered trademark) and available in different formats such as PVC, (smart cards, SIM card, ...) integrated in USB tokens, or in memories MMC (MultiMedia Card).
  • ST22 component produced by the company ST Microelectronics (registered trademark) and available in different formats such as PVC, (smart cards, SIM card, 7) integrated in USB tokens, or in memories MMC (MultiMedia Card).
  • MMC MultiMedia Card
  • such a security module comprises a central unit (CPU, 201), a ROM memory storing the operating system code (202), RAM memory (203), and a non-volatile memory (NVR, 204). ), used as a storage device analogous to a hard disk, and which contains for example an embedded software TLS or EAP-TLS.
  • a system bus (200) connects the different components of the secure module.
  • the interface with the outside world (301) is provided by an IO input / output port (205), conforming to standards such as
  • JAVA smart cards commonly referred to as
  • JAVACARD can constitute a particular class of security module.
  • TLS protocol specifications compliant with the TLS protocol specifications, in client and server mode.
  • client and server mode compliant with the acronym
  • Such a component (100) commonly has a communication interface compliant with ISO 7816 (201), an embedded JAVA machine (202), and a set of JAVA classes (203) defined by the JavaCard Forum allowing in particular the use a library of cryptographic functions (204).
  • the EAP-TLS application (300) is then defined as a set of JAVA modules.
  • the so-called EAP Engine class, "EapEngine.class” (301) provides four basic services:
  • the personalization (404) of the security module ie all the operations necessary for writing the data of the cardholder, in the memory of the component.
  • the interface with the network (405) which analyzes the received EAP packets and transmits them to the EAP-TLS method.
  • the EAP-TLS authentication method is performed by the "Method.class” module (303). It is initialized with the data associated with a particular context (certificate of the CA, client certificate, RSA private key, etc.) using an "Init” procedure (501), whose the argument an object
  • the EAP messages (600) analyzed by the network interface (405) are processed by the "ProcessEap” procedure (502) of the "Method.class” module (303).
  • the JAVA interface "Auth.class” (304) provides the logical link between the modules “EapEngine.class” (301) and “Method.class” (303).
  • a security module (201) containing client EAP-TLS software (101) is described in connection with FIG. This program realizes the protocol
  • the module receives through an input / output communication port ( Figure 4, 205) EAP-TLS messages and produces the appropriate responses.
  • the module stores the certificate of at least one CA (102) and its RSA public key (103).
  • the identity of the module ie the client's certificate (104), is also stored securely. However, this certificate is not never communicated in unencrypted form to the outside world.
  • the public (107) and private (106) RSA keys are also managed by the security module.
  • an "MSK" key (108) is available for the user entity of the module, typically an operating system.
  • the EAP-TLS authentication dialogue is described more precisely from the point of view of the client security module (201) implementing the identity protection protocol according to the invention.
  • An access point (401) indicates to the client the occurrence of a new authentication session by producing an "EAP-Identity.request” message (301).
  • the security module inserts its identifier (EAP-ID) in an "EAP-Identity.response” message (302). It is recommended, without this being limiting, that this identifier provides information relating to the authentication server and not the client.
  • the authentication server transmits a packet "EAP-TLS. Start “(303) which marks the beginning of an EAP-TLS session.
  • the client issues an EAP-TLS message which carries a TLS packet of type "ClientHello" (304).
  • the server produces a suite (305) of messages ("ServerHello”, “Certificate”, “CertificateRequest”, “ServerHelloDone”) that define in particular the server certificate, its public key, the certificate the CA (Certifying Authority), and the type (s) of client certificates recognized by the server.
  • the client When receiving the EAP-TLS message (305), the client analyzes the validity of the server certificate, retrieves the associated public key, chooses a random value "PreMas ter Secret” and encrypts this value (with the public key of the server) in a "ClientKeyExchange” message.
  • the client's certificate is encrypted with the "KeyClientCertificate” key previously described, according to the identity protection process.
  • the TLS message suite (307), "Certificate”, “ClientKeyExchange”, “CertificateVerify", "Finished” is inserted into an EAP-TLS packet and sent to the server.
  • the server verifies this message list and notifies the smooth running of this operation by the messages (308) "ChangeCipherSpec” and "Finished” encapsulated in an EAP-TLS packet.
  • the customer confirms receipt of (308) by an EAP-TLS acknowledgment (309).
  • the server ends the EAP-TLS session with an "EAP-Success" message
  • the client After receiving this indication, the client calculates a master key "MSK" (108). The latter is made available to the client's operating system, using a command of the specific security module (311). The execution, by a security module (201), of a TLS client software or
  • EAP-TLS (101), equipped according to the invention with an identity protection mechanism, provides the following advantages:
  • the server certificate (305) is verified in a secure computing environment; -
  • the client software (101) communicates its identity (104) encrypted (106) to a server entity that he trusts, and who is the only one to decipher this information;
  • the TLS messages exchanged between server and client can be read and analyzed by any observer of the network.
  • the only information obtained by an observer will be the identity of the server.
  • the latter is not critical data in the case of an authentication procedure.
  • a security module (401) which contains a server EAP-TLS software (101). This program realizes the protocol
  • the TLS receives EAP-TLS packets through an I / O communication port ( Figure 4, 205) and produces the appropriate messages.
  • the module stores the certificate of at least one CA (102) and its RSA public key (103).
  • the server certificate (107) along with its public (109) and private (108) RSA keys are also managed by the security module.
  • an MSK key (108) is available for the user entity of the module, such as for example a RADIUS authentication server.
  • the EAP-TLS authentication dialogue is described in detail below from the point of view of the server security module (101).
  • This module is connected physically or logically to an authentication server, for example of the "RADIUS" type (201) or to any other device using a server EAP entity.
  • the EAP server receives an "EAP-Identity.request” message (301) that marks the initialization of an EAP session. It issues an "EAP- TLS.Start” message (303) that indicates the start of an EAP-TLS session.
  • the remote client sends an EAP-TLS packet (305) which carries a TLS message "ClientHello” (304).
  • the server then produces a series of TLS messages, "ServerHello”, “Certificate”, “CertificateRequest”, “ServerHelloDone”.
  • the client analyzes the validity of the server certificate, retrieves the associated public key, chooses a random value "PreMas ter Secret” and encrypts this value (with the public key of the server) in a "ClientKeyExchange” message .
  • the client certificate is encrypted (307) with the key "KeyClientCertificate” described above.
  • the suite (306) of TLS messages "Certificate”, “ClientKeyExchange”, “CertificateVerify", "Finished” is inserted into an EAP-TLS packet and sent to the server.
  • the server checks this list of messages, in particular it finds the value "PreMas ter Secret” with the help of its private key Kp ⁇ v s. It then calculates "KeyClientCertificate” and obtains the client's certificate in clear. It notifies the smooth running of this operation by the messages (308) "ChangeCipherSpec” and "Finished” encapsulated in an EAP-TLS package.
  • the customer confirms receipt of (308) "ChangeCipherSpec” and "Finished” by an EAP-TLS acknowledgment (309).
  • the security module ends the EAP-TLS session by an "EAP-Success” message (310) and calculates an "MSK” master key (108).
  • the latter is made available to the operating system of the server (201) using a specific command (311) of the security module.
  • EAP-TLS (101), equipped with an identity protection mechanism according to the invention, provides the following advantages:
  • the server security module which is the only one to know and use the private key Kp ⁇ v s (108) is the only entity that knows the identity of the client;
  • Validation of this identity is indicated by a cryptographic method in the last "Finished” message (309) issued by the server.
  • an authentication server for example of the "RADIUS” type
  • a server security module the latter makes available an "MSK” key (109), used, for example, to ensure the security of communications.
  • MSK “MSK” key
  • the invention thus provides an innovative technical solution for managing the connection of a client and then providing the security infrastructure key "MSK" of this client, without making his identity public.
  • An embodiment of the invention is presented in a RADIUS authentication infrastructure. We therefore consider a network infrastructure that supports a large number of customers, equipped with security modules
  • EAP-TLS according to the invention. These clients are managed by one or more RADIUS servers according to the constraints of the network.
  • the invention makes it possible to obtain a level of confidence that is optimal when the authentication sessions are performed by pairs of security modules EAP client and server.
  • each server is capable of handling multiple simultaneous EAP-TLS sessions.
  • the operating systems of the security modules usually supervise countermeasures, intended to counter logical and physical intrusion attacks. These countermeasures significantly reduce the computational performance of these components.
  • a RADIUS infrastructure implemented to take advantage of the identity protection method according to the invention is presented.
  • a set of clients (201, 202, 203) optionally provided with security modules (101, 102, 103) are controlled by NAS ("Network Administration Server” for "Network Administration Server”) ( 301, 302, 303), located for example in access points of this network.
  • NAS Network Administration Server
  • Each of them is associated, via the Internet 401, a single authentication server RADIUS (501), made by software (502), executed by a computer system with an operating system.
  • This RADIUS server is also capable of exchanging, via physical and / or logical interfaces 503, information with a plurality of server security modules (601, 602, 603).
  • many free software such as
  • OPENRADIUS or "FREERADIUS” offer RADIUS authentication services.
  • the integration of security modules in these software is performed using physical interfaces (503) and / or logical supported by many operating systems, for example USB or PC / SC (Personal Computer / SmartCard). 5.5.2 Messages exchanged
  • FIG. 9 shows the details of the information exchanged, in the form of messages, between a NAS, presented in the form of an access point (101), a RADIUS authentication server (201). and an EAP-TLS security module (301).
  • the latter comprises, in accordance with the preceding descriptions, an RSA private key and X509 certificate issued by a CA certification authority.
  • RADIUS session denotes a sequence of packets exchanged between the NAS and the RADIUS authentication server. These packets convey information exchanged between an EAP client and an EAP server.
  • a session begins with the receipt of an "EAP-Identity.response” message (601), includes an “Access-Request” (501) packet, and ends with the generation of a notification, typically a " EAP-Success "(610) in an” Access-Accept "package (510).
  • An "EAP-Identity.response” message is carried by a packet
  • RADIUS "Acces-Request” (501).
  • a message “E AP-TLS. request “, named” EAP-TLS. Start “(602) is transmitted to the access point in a RADIUS" Access-Challenge “packet (502).
  • the EAP-TLS message encapsulating the TLS protocol element "ClientHello” (603) is carried by the RADIUS packet "Access-Request” (503).
  • the TLS packet comprising the following messages "ServerHello, Certificate”, “CertificateRequest”, “ServerHelloDone” is typically split according to the rules of the EAP-TLS protocol into two fragments (604) (606). Each of them is carried in a RADIUS package “Access-Challenge” (504) (506). The first fragment is acknowledged by an EAP-TLS message (605) carried by a RADIUS packet (505). After receiving the second and last fragment (606), the client (who wishes to be identified and authenticated) analyzes the re-assembled message.
  • the client Upon receiving the second fragment (606), the client analyzes the validity of the server certificate, retrieves the associated public key, chooses a value Random “PreMas ter Secret” and encrypts this value (with the public key of the server) in a "ClientKeyExchange” message.
  • the client certificate is encrypted with the key "KeyClientCertificate” described above.
  • the suite of TLS messages, "Certificate”, “ClientKeyExchange”, “CertificateVerify", "Finished” is inserted in an EAP-TLS packet (607), then in a RADIUS "Access-Request" (507) packet and sent to the server .
  • the server checks this message list, in particular it finds the value
  • PreMas ter Secret calculates "KeyClientCertificate” and obtains the client's certificate in clear. If this operation succeeds, the messages (608) "ChangeCipherSpec” and "Finished” are encapsulated in an EAP-TLS packet, then in a RADIUS message "Access-Challenge” (508).
  • An EAP-TLS acknowledgment message (609) is carried in a RADIUS "Access-Request" packet (509).
  • the security module then indicates the success of the authentication using the "EAP-Success” message.
  • the RADIUS server reads the MSK key using a specific command (611) and makes the final RADIUS message "Access-
  • the server security module notifies the success of an authentication and delivers an MSK key to the RADIUS server without revealing the identity (the certificate without encryption) of the client.
  • a RADIUS packet of the "Access-Request” type are presented. Such messages are transmitted by multiple NAS (from “Network Access Server” for “Network Access Server”) to a RADIUS authentication server ( Figure 8, 501).
  • An Access-Request packet carries, among other information, an EAP response.
  • a RADIUS server that receives this packet produces in return a message of the type "Access-Challenge", “Access- Accept” or “Access-Reject", encapsulating as a rule an EAP request or notification.
  • IP User Datagram Protocol
  • UDP communication stacks User Datagram Protocol
  • the header comprises the code of the message (201) or "Access-Request" in our example, a label (202) such that the value of a response is equal to the value of a request, the length of the packet (203). ) and a random number of 16 bytes (204).
  • a RADIUS message carries a variable number of attributes (205, 206, 207, 207, 209, 210, 211, 212, 213, 214, 215) that are identified in Figure 10 by a name allocated by RFC 2865 and RFC 3559.
  • a session is identified on the one hand by a list of information relating to the remote client (205, 208) and on the other hand by a list of information relating to the SIN used by the client (206). , 207, 207, 209, 210, 213).
  • Each session is associated with a unique identifier ("Session-Id") obtained by the concatenation of attributes included in an "Access-Request" message.
  • Session-Id a unique identifier obtained by the concatenation of attributes included in an "Access-Request" message.
  • the value of the "Session-Id" (301) can be constructed by concatenating the two following attributes:
  • Session-Id NAS-Identifier
  • NAS-Identifier (209) (RADIUS attribute number 32) represents a unique identifier of the NAS issued by the network administrator or hardware manufacturer.
  • “Calling-Station-Id” (208) (RADIUS attribute number 31) represents a unique identifier of the client, for example the unique MAC address of the network adapter that it uses.
  • the authentication server assigns each session, uniquely identified by the value "Session-Id", a security module.
  • Session-Id a security module.
  • the "Access-Request” package is ignored by the software RADIUS, the remote NAS therefore receives no notification of this event.
  • An EAP message is encapsulated, based on its size, in one or more attributes (214) whose useful length is 254 bytes.
  • the RADIUS server software checks the correct value of the attribute
  • the server security module implementing the identity protection method according to the invention, is able to deliver the identity of the client terminal to the RADIUS server in order to obtain an authentication assertion of the from the latter.
  • the maximum number of authentication sessions managed simultaneously by a server RADIUS software is equal to the number of security modules.
  • technological progress especially in terms of performance, make it possible to consider the simultaneous management of several authentication sessions by a security module.
  • the RADIUS software can assign multiple sessions to each security module.

Abstract

The invention concerns a method for authenticating a client terminal with an authentication server, said client terminal holding an authentication certificate. According to the invention, such a method includes the following phases: obtaining at least one encryption parameter by said client terminal; encrypting said authentication certificate by said client terminal, based on said at least one encryption parameter, delivering an encrypted authentication certificate; transmitting said encrypted authentication certificate to said server; obtaining said one encryption parameter by said server; decrypting said encrypted authentication certificate, based on said one encrypting parameter; authenticating and delivering an authentication assertion if the authentication is positive.

Description

Procédé de protection d'identité, dispositifs, et produit programme d'ordinateur correspondants.Identity protection method, devices, and corresponding computer program product.
1 DOMAINE DE L'INVENTION1 FIELD OF THE INVENTION
La présente invention se rapporte au domaine de la protection d'identité au sien de réseau.The present invention relates to the field of identity protection in its network.
Plus précisément, l'invention concerne un procédé de protection d'identité d'un usager de réseaux.More specifically, the invention relates to a method for protecting the identity of a network user.
L'invention concerne notamment des modules de sécurité, par exemple des cartes à puce, permettant la mise en œuvre sécurisée de ce procédé, qui peuvent être utilisés sur le terminal de l'usager et/ou sur le serveur réalisant l'authentification de l'usager d'un réseau.The invention relates in particular to security modules, for example smart cards, enabling the secure implementation of this method, which can be used on the terminal of the user and / or on the server performing the authentication of the user. 'user of a network.
L'invention se rapporte encore à un procédé de gestion d'une pluralité de modules de sécurité par un serveur d'authentification.The invention also relates to a method of managing a plurality of security modules by an authentication server.
Dans le cadre de l'invention le terme réseau doit être compris dans le sens le plus général. Il désigne des réseaux domotiques, basés sur des modem ADSLIn the context of the invention the term network must be understood in the most general sense. It designates home networks, based on ADSL modem
(de l'anglais « Asymmetric Digital Subscriber Line » pour « Ligne dAbonnéAsymmetric Digital Subscriber Line for Subscriber Line
Numérique Asymétrique ») et des points d'accès Wi-Fi, des réseaux publics munis de stations de base (UMTS, HSDPA) ou de hotspots (Wi-Fi, WiMax, ...), des réseaux d'entreprises ou d'administrations utilisant des infrastructures de type LAN (« Local Area Network » pour « Réseau Local »), PLAN (« Personal LAN » pour « Réseau Local Personnel »), WLAN (« Wireless LAN » pour « RéseauDigital Asymmetric ") and Wi-Fi hotspots, public networks equipped with base stations (UMTS, HSDPA) or hotspots (Wi-Fi, WiMax, ...), corporate networks or networks. administrations using LAN (Local Area Network), PLAN (Personal LAN), WLAN (Wireless LAN)
Local sans File ») ou MAN (« Metropolitan Area Network » pour « RéseauLocal without File ") or MAN (" Metropolitan Area Network "for" Network
Métropolitain »)Metropolitan ")
De même le terme terminal doit être compris dans le sens le plus général. II peut désigner par exemple un ordinateur géré par un système d'exploitation. De plus un tel ordinateur peut être équipé d'une ou plusieurs interfaces de communication décrites par de multiples normes telles que IEEE 802.3 (norme « Ethernet »), IEEE 802.11 (norme « Wi-Fi ») IEEE 802.16 (norme « WiMax »), IEEE 802.16e (norme « WiMobile »). Il peut également désigner des terminaux de communication mobiles tels que des téléphones portables, des assistants personnels.In the same way, the term terminal must be understood in the most general sense. It can for example designate a computer managed by an operating system. In addition, such a computer may be equipped with one or more communication interfaces described by multiple standards such as IEEE 802.3 ("Ethernet" standard), IEEE 802.11 ("Wi-Fi" standard) and IEEE 802.16 ("WiMax" standard). , IEEE 802.16e ("WiMobile" standard). It may also designate terminals mobile communications such as cell phones, personal assistants.
Le terme serveur d'authentification doit être également compris dans le sens le plus général. Il désigne un ordinateur géré par un système d'exploitation, comportant au moins une interface de communication et apte à rendre des services d'authentification. 2 SOLUTIONS DE L'ART ANTERIEURThe term authentication server must also be understood in the most general sense. It designates a computer managed by an operating system, comprising at least one communication interface and capable of rendering authentication services. 2 SOLUTIONS OF THE PRIOR ART
2.1 Art antérieur2.1 Prior Art
Une préoccupation majeure des particuliers, des organisations privées ou publiques qui utilisent, gèrent ou déploient des services de communication consiste en la fourniture de l'assurance de la sécurité des informations échangées.A major concern of individuals, private or public organizations that use, manage or deploy communication services is the provision of assurance of the security of the information exchanged.
Cette assurance de sécurité est particulièrement exigée dans le cas de technologies de communication radio dans lesquelles il est possible d'écouter à distance des informations échangées (ce procédé est parfois qualifié de «parking lot attack» pour « Attaque du Parking » dans la littérature scientifique Anglo-saxonne).This security assurance is particularly required in the case of radio communication technologies in which it is possible to listen to information exchanged remotely (this process is sometimes referred to as "parking lot attack" for "Attack of Parking" in the scientific literature Anglo-Saxon).
Le comité IETF (« Internet Engineering Task Force » pour « Groupe de Travail d'Ingénierie de l'Internet ») désigne sous le sigle AAA (« Authentication Authorization Accounting » pour « Compte d'autorisation d'authentification ») les moyens nécessaires pour la mise en œuvre de services sécurisés et pouvant être optionnellement facturés dans une infrastructure de communication basée sur le protocole IP.The IETF Committee ("Internet Engineering Task Force") refers to the means required for the "Authentication Authorization Account" (AAA). the implementation of secure services that can be optionally billed in an IP-based communication infrastructure.
Le processus d'authentification d'un usager consiste de manière habituelle à la présentation d'une identité par un usager à une autorité d'authentification, puis à la production, toujours par cet usager, d'une preuve établissant la réelle propriété de cette identité et des droits associés. Un protocole d'authentification réalise l'ensemble des opérations nécessaires aux phases de présentation de l'identité et à d'obtention d'une preuve de cette identité.The authentication process of a user usually consists in the presentation of an identity by a user to an authentication authority, and then in the production, always by this user, of proof establishing the real property of that user. identity and associated rights. An authentication protocol carries out all the operations required for the presentation phases of the identity and for obtaining proof of this identity.
Il existe plusieurs protocoles d'authentification. Ils contrôlent les accès aux services offerts par l'intermédiaire de différentes couches du modèle de communication OSI (« Open Systems Interconnection » pour « Interconnexion de Systèmes Ouverts ») :There are several authentication protocols. They control access to services offered through different layers of the service model. Open Systems Interconnection (OSI) communication for "Open Systems Interconnection":
Contrôle de l'accès au niveau MAC (couche OSI numéro 2) des réseaux locaux. Ce mode d'opération est en particulier mis en œuvre par les standards PPP (« Point to Point Protocol » pour « Protocole de Point àAccess control at the MAC level (OSI layer 2) of local networks. This mode of operation is in particular implemented by the PPP (Point to Point Protocol) standards.
Point ») et les normes de communications mobiles ; Contrôle de l'accès au niveau des couches OSI 3 et 4 : couche IP (« Internet Portocol » pour « Protocole Internet ») et transport UDP/TCP (« User Datagram Protocol » pour « Protocole de gestion de datagrammes utilisateurs », « Transport Control Protocol » pour protocole de contrôle de transport » dans la terminologie du modèle Internet). Ce mode d'opération est typiquement utilisé pour l'ouverture de connexions qualifiées de VPN (« Virtual Private Network » pour « Réseau Privé Virtuel ») au moyen du protocole d'authentification IKE v2, par exemple. En raison de l'importance croissante des problèmes de sécurité induits par l'usage généralisé des réseaux de communication, particulièrement dans des environnements radios, l'IETF a ratifié un standard baptisé EAP (« Extensible Authentication Protocol » pour « Protocole d'Authentification Extensible »). Cette norme permet le transport de multiples scenarii d'authentification, dont certains sont définis par les spécifications EAP-TLS (RFC 2246), EAP-SIM (RFC 4186), et EAP-AKA (RFC 4187).Point ") and mobile communications standards; Access control at OSI layer 3 and 4 layers: IP layer ("Internet Portocol" for "Internet Protocol") and UDP / TCP transport ("User Datagram Protocol" for "User datagram management protocol", "Transport Control Protocol "for Transport Control Protocol" in Internet model terminology). This mode of operation is typically used for the opening of connections called VPN ("Virtual Private Network" for "Virtual Private Network") using the authentication protocol IKE v2, for example. Due to the increasing importance of security issues caused by the widespread use of communication networks, particularly in radio environments, the IETF has ratified a standard called Extensible Authentication Protocol (EAP) for "Extensible Authentication Protocol". "). This standard allows the transport of multiple authentication scenarios, some of which are defined by the EAP-TLS (RFC 2246), EAP-SIM (RFC 4186), and EAP-AKA (RFC 4187) specifications.
Le protocole EAP-TLS, introduit par le RFC 2246 est une encapsulation transparente du protocole TLS (« Transport Layer Security » pour « Sécurité de la Couche de Transport ») précisément détaillée par le document RFC 2716. Les protocoles EAP peuvent être appliqués au contrôle d'accès de services de niveau MAC (PPP conformément à RFC 2284, Ethernet et Wi-Fi conformément à IEEE 802. Ix, WiMax conformément à IEEE 802.16 et IEEE 802.16e) mais également VPN (IKEv2 décrit par le RFC 4306, PPTP Point-to- Point Tunneling Protocol décrit par le RFC 2637, L2F Cisco Layer Two Forwarding Protocol décrit par le RFC 2341). TLS est une version améliorée et non propriétaire du protocole SSL (« Secure Socket Layer » pour « Couche d'encapsulation sécurisée »), breveté par la société Netscape (US 5,657,390) qui a publié la version 2 fin 1994 et la version 3 en Novembre 1996. On décrit, en relation avec la figure 1, le fonctionnement standard du protocole TLS.The EAP-TLS protocol, introduced by RFC 2246, is a transparent encapsulation of Transport Layer Security (TLS) specifically detailed in RFC 2716. EAP protocols can be applied to control access to MAC-level services (PPP in accordance with RFC 2284, Ethernet and Wi-Fi in accordance with IEEE 802. Ix, WiMax in accordance with IEEE 802.16 and IEEE 802.16e) but also VPN (IKEv2 described by RFC 4306, PPTP Point -to- Point Tunneling Protocol described by RFC 2637, L2F Cisco Layer Two Forwarding Protocol described by RFC 2341). TLS is an improved and non-proprietary version of the SSL ("Secure Socket Layer") protocol, patented by Netscape (US 5,657,390), which released version 2 at the end of 1994 and version 3 in November 1996. With reference to FIG. 1, the standard operation of the TLS protocol is described.
Dans un usage classique, un serveur web (301) présente au client distant (typiquement un navigateur web, 201) son identité (insérée dans un message Certifïcate 103) sous la forme d'un certificat X509. Le client analyse le certificat du serveur, en particulier il vérifie sa signature à l'aide de la clé publique d'une autorité de certification (KP^CA) à qui il fait confiance. En cas de succès de cette vérification, le client extrait la clé publique contenue dans le certificat (103, Kpubs), et choisit un nombre aléatoire de 48 octets, nommé PreMasterSecret (107) qui est transmis au serveur à l'aide de la clé Kpubs (dans un message ClientKeyExchange 107).In conventional use, a web server (301) presents to the remote client (typically a web browser, 201) its identity (inserted in a Certifïcate message 103) in the form of an X509 certificate. The client scans the server certificate, in particular, it verifies its signature using the public key of a CA (K P ^ CA ) that it trusts. If this check is successful, the client extracts the public key contained in the certificate (103, Kp u bs), and chooses a random number of 48 bytes, named PreMasterSecret (107), which is transmitted to the server using the key Kp u bs (in a ClientKeyExchange message 107).
Tous les matériaux cryptographiques utiles au protocole TLS sont déduits de la connaissance du paramètre PreMasterSecret. On remarquera d'une part que dans ce cas le client ne dévoile pas son identité (c'est une simple authentification), et d'autre part que l'identité du serveur circule en clair, c'est à dire de manière non chiffrée à travers le réseau Internet.All cryptographic materials useful for the TLS protocol are derived from the knowledge of the PreMasterSecret parameter. On the one hand, it should be noted that in this case the client does not reveal his identity (it is a simple authentication), and on the other hand that the identity of the server circulates in clear, ie in an unencrypted manner. through the Internet.
Lorsque le protocole TLS est utilisé dans un scénario d'authentification tel que EAP-TLS, l' authentification du client est obligatoire; cette procédure de mutuelle authentification est usuellement nommée « Client Authentication handshake » pour « Authentification du client mutuelle ». Le client transmet en clair au serveur son identité (dans un message Certificate 106), c'est à dire son certificat X509. Il réalise la preuve de cette identité en réalisant une signature des messages de type « handshake » (Poignée de main) préalablement échangés entre les deux entités (client et serveur), à l'aide de sa clé privée KpπvC. Cette information est transportée par un message appelé CertificateVerify (108). Le serveur vérifie l'identité du serveur grâce à deux opérations : 1. l'analyse du certificat X509 présenté par le client, duquel il extrait en particulier sa clé publique Kpubc ;When TLS is used in an authentication scenario such as EAP-TLS, client authentication is required; this mutual authentication procedure is usually named "Client Authentication handshake" for "Mutual Client Authentication". The client transmits clearly to the server its identity (in a Certificate 106 message), ie its X509 certificate. It realizes the proof of this identity by carrying out a signature of the messages of the type "handshake" (Handshake) previously exchanged between the two entities (client and server), using its private key Kp πvC . This information is carried by a message called CertificateVerify (108). The server verifies the identity of the server through two operations: 1. the analysis of the X509 certificate presented by the customer, from which he extracts in particular his public key Kp u bc;
2. la bonne valeur de la signature contenue dans le message CertificateVerify, contrôlée à l'aide de la clé Kpubc. L'utilisation du protocole TLS conduit donc le client à dévoiler son identité au cours de la phase d'authentification. 2.2 Inconvénients de l'art antérieur2. the good value of the signature contained in the CertificateVerify message, controlled using the key Kp u bc. The use of the TLS protocol therefore leads the client to reveal his identity during the authentication phase. 2.2 Disadvantages of the Prior Art
Un inconvénient de cette technique de l'art antérieur est que le protocole EAP-TLS ne garantit pas la confidentialité de l'identité du client. En effet, bien que le protocole EAP-TLS soit largement déployé pour le contrôle d'accès à des services WLAN (Wi-Fi, WiMax) ou VPN (IKE v2,...), l'absence de protection de l'identité du client permet par exemple d'obtenir à l'extérieur des murs d'une entreprise ou d'une administration la liste des personnes présentes. La présentation en clair de l'identité autorise également l'observation des déplacements d'un client de réseaux sans fil, et par conséquent une atteinte à la vie privée.A disadvantage of this prior art technique is that the EAP-TLS protocol does not guarantee the confidentiality of the client's identity. Indeed, although the EAP-TLS protocol is widely deployed for controlling access to WLAN services (Wi-Fi, WiMax) or VPN (IKE v2, ...), the lack of identity protection For example, the client can obtain the list of people present outside the walls of a company or an administration. The unencrypted presentation of the identity also allows the observation of the movements of a client of wireless networks, and therefore an invasion of privacy.
La connaissance de l'identité des clients sur un réseau utilisant le protocole EAP-TLS est réalisée par une attaque passive ou par une attaque active. Une attaque passive triviale consiste à écouter les échanges d'authentification, et à noter la liste des clients présents dans le réseau.The knowledge of the identity of the clients on a network using the EAP-TLS protocol is realized by a passive attack or by an active attack. A trivial passive attack consists of listening to authentication exchanges, and noting the list of clients present in the network.
On décrit, en relation avec la figure 2, une attaque active utilisant le protocole EAP-TLS. Dans ce scénario, le terminal d'un client est équipé d'une interface Wi-Fi, et utilise le protocole EAP-TLS. Il se comporte alors comme une étiquette électronique RFID (« Radio Frequency Identification » pour « Identification par radio fréquence ») qui peut être lue à une distance de l'ordre de 100m, et qui permet de connaître la présence d'un utilisateur particulier.In connection with FIG. 2, an active attack using the EAP-TLS protocol is described. In this scenario, a client's terminal is equipped with a Wi-Fi interface, and uses the EAP-TLS protocol. It then behaves like an RFID ("Radio Frequency Identification") electronic tag that can be read at a distance of about 100m, and that allows to know the presence of a particular user.
Un point d'accès (AP, 301) pirate diffuse périodiquement un identifiantAn access point (AP, 301) hacker periodically broadcasts an identifier
SSID (« Service Set Identifier » pour « Identificateur d'Ensemble de Service »), interprété par le poste client comme l'identifiant d'un AP autorisé. Conformément au protocole IEEE 802. Ix une session d'authentification s'engage. Le client émet un paquet « EAP-Start » (102), l'AP délivre un message « EAP-Identity.request » (104), le client répond par le message « EAP-Identity.response » (104). L'AP transmet un message « EAP-TLS. Start » (105). Le client produit alors une réponse « EAP-TLS. response » qui contient le message TLS « ClientHello » (106). L'AP malveillant construit un message « ServerHello » (107), qui comporte un certificat, c'est à dire une identité de serveur d'authentification dans lequel le client a confiance.SSID ("Service Set Identifier" for "Service Set Identifier"), interpreted by the client machine as the identifier of an authorized AP. Consistent to the IEEE 802 protocol. Ix an authentication session commits itself. The client issues an "EAP-Start" packet (102), the AP issues an "EAP-Identity.request" message (104), the client responds with the message "EAP-Identity.response" (104). The AP sends a message "EAP-TLS. Start "(105). The client then produces a response "EAP-TLS. response "which contains the TLS message" ClientHello "(106). The malicious AP builds a "ServerHello" (107) message, which includes a certificate, that is, an authentication server identity in which the client has confidence.
Cette identité peut être obtenue par l'écoute préalable et l'analyse de messages EAP-TLS, ou bien par la connaissance de certificats serveur qui sont par nature non confidentiels. Conformément au protocole TLS le messageThis identity can be obtained by listening and analyzing EAP-TLS messages, or by knowing server certificates that are by nature non-confidential. In accordance with the TLS protocol the message
« ServerHello » (107) ne possède aucun attribut de sécurité, et peut être forgé facilement, à condition d'insérer une identité de serveur valide. Ce message est transmis au client dans un message « EAP-TLS. request » (107). Le client vérifie le certificat du serveur et transmet son identité dans une réponse « EAP-"ServerHello" (107) has no security attributes, and can be forged easily, provided that a valid server identity is inserted. This message is sent to the client in an EAP-TLS message. request "(107). The client verifies the server certificate and passes its identity in an "EAP-
TLS.response » qui transporte un message TLS de type « Certificate » (108).TLS.response "which carries a TLS message of type" Certificate "(108).
L'attaquant a atteint son but, il a obtenu à distance l'identité d'un client (109).The attacker has reached his goal, he has remotely obtained the identity of a client (109).
Cette description d'une attaque active classique permet de mettre en avant l'inconvénient majeur de cette technique d'authentification utilisée par le protocole EAP-TLS, obligeant le client à découvrir son identité. 3 RESUME DE L'INVENTIONThis description of a classic active attack makes it possible to highlight the major disadvantage of this authentication technique used by the EAP-TLS protocol, forcing the client to discover his identity. 3 SUMMARY OF THE INVENTION
La solution proposée par l'invention permet de pallier ces inconvénients de l'art antérieur, grâce à un procédé d'authentification d'un terminal client auprès d'un serveur d'authentification, ledit terminal client possédant un certificat d'authentification ;The solution proposed by the invention overcomes these disadvantages of the prior art, with a method of authenticating a client terminal with an authentication server, said client terminal having an authentication certificate;
Selon l'invention, un tel procédé comprend les phases suivantes : obtention d'au moins un paramètre de cryptage par ledit terminal client ; chiffrement dudit certificat d'authentification par ledit terminal client, à partir dudit au moins un paramètre de cryptage, délivrant un certificat d'authentification chiffré ; transmission dudit certificat d'authentification chiffré audit serveur ; obtention dudit au moins un paramètre de cryptage par ledit serveur ; déchiffrement dudit certificat d'authentification chiffré, à partir dudit au moins un paramètre de cryptage ; - authentification et délivrance d'une assertion d'authentification si l'authentification est positive.According to the invention, such a method comprises the following phases: obtaining at least one encryption parameter by said client terminal; encrypting said authentication certificate by said client terminal, from said at least one encryption parameter, delivering an encrypted authentication certificate; transmitting said encrypted authentication certificate to said server; obtaining said at least one encryption parameter by said server; decrypting said encrypted authentication certificate from said at least one encryption parameter; - authentication and issuance of an authentication assertion if the authentication is positive.
Ainsi, l'invention repose sur une approche tout à fait nouvelle et inventive de l'authentification de clients au sein d'un réseau. En effet, à la différence des approches conventionnelles de l'art antérieur, l'invention propose de chiffrer le certificat d'authentification du client avant que ce dernier ne soit transféré au serveur. Le serveur se charge ensuite, à l'aide de paramètres de cryptages connus tant du serveur que du client, de déchiffrer ce certificat et d'attester de la validité de l'authentification du client.Thus, the invention is based on a completely new and inventive approach to client authentication within a network. Indeed, unlike the conventional approaches of the prior art, the invention proposes to encrypt the authentication certificate of the client before the latter is transferred to the server. The server then, using encryption parameters known to both the server and the client, to decrypt this certificate and certify the validity of the authentication of the client.
Selon un aspect particulier de l'invention, ladite phase de chiffrement dudit certificat d'authentification par ledit terminal client comprend les étapes de : calcul, par ledit terminal client, d'une clé de chiffrement de certificat en fonction dudit au moins un paramètre de cryptage ; chiffrement dudit certificat d'authentification à l'aide de ladite clé de chiffrement de certificat. Ainsi, le terminal client est à même de calculer une clé de chiffrement selon une fonction de calcul, à partir des paramètres de cryptage. Il peut alors chiffrer son certificat à l'aide de cette clé qu'il a calculé pour obtenir un certificat chiffré. Le chiffrement du certificat se fait donc sur le terminal client.According to a particular aspect of the invention, said phase of encryption of said authentication certificate by said client terminal comprises the steps of: computation, by said client terminal, of a certificate encryption key according to said at least one parameter of encryption; encrypting said authentication certificate using said certificate encryption key. Thus, the client terminal is able to calculate an encryption key according to a calculation function, from the encryption parameters. He can then encrypt his certificate using this key that he has calculated to obtain an encrypted certificate. The encryption of the certificate is done on the client terminal.
Selon une caractéristique particulière de l'invention, ladite phase d'obtention dudit au moins un paramètre de cryptage par ledit serveur comprend les étapes de : chiffrement dudit au moins un paramètre de cryptage par ledit terminal client en fonction d'au moins une clé publique transmise par ledit serveur audit terminal ; - transmission dudit au moins un paramètre de cryptage chiffré par ledit terminal client audit serveur ; déchiffrement dudit au moins un paramètre de cryptage chiffré par ledit serveur en fonction d'au moins une clé privée de chiffrement asymétrique à ladite au moins une clé publique de chiffrement. Le terminal chiffre, à l'aide de la clé publique du serveur, les paramètres de cryptage qui ont servi au calcul de la clé de chiffrement du certificat. Par la suite, le terminal transmet ces paramètres chiffrés au serveur. Le serveur déchiffre ces paramètres à l'aide de sa clé privée. Le serveur est donc le seul à pouvoir déchiffrer ces paramètres (qui ont été chiffrés à l'aide de sa clé publique). Il n'est ainsi pas possible, pour un tiers, d'intercepter ces paramètres non chiffrés. On fournit donc un mécanisme puissant de protection de données de cryptage, par un double mécanisme : transmission d'un certificat d'authentification chiffré et transmission des paramètres ayant servi au chiffrement du certificat, également de manière chiffré. Selon un aspect original de l'invention, ledit au moins un paramètre de cryptage appartient au groupe comprenant au moins : une information représentative d'un nombre aléatoire obtenu par ledit serveur d'authentification ; une information représentative d'un nombre aléatoire obtenu par ledit terminal client ; une information représentative d'un nombre chiffré avec ladite clé publique dudit serveur d'authentification ;According to a particular characteristic of the invention, said phase of obtaining said at least one encryption parameter by said server comprises the steps of: encrypting said at least one encryption parameter by said client terminal as a function of at least one public key transmitted by said server to said terminal; transmission of said at least one encryption parameter encrypted by said client terminal to the server; decryption of said at least one encryption parameter encrypted by said server as a function of at least one asymmetric encryption private key to said at least one public encryption key. The terminal encrypts, using the public key of the server, the encryption parameters that were used to calculate the encryption key of the certificate. Subsequently, the terminal transmits these encrypted parameters to the server. The server decrypts these settings using its private key. The server is the only one able to decrypt these parameters (which have been encrypted using its public key). It is thus not possible for a third party to intercept these unencrypted parameters. A powerful mechanism for protecting encryption data is thus provided by a dual mechanism: transmission of an encrypted authentication certificate and transmission of the parameters used to encrypt the certificate, also in encrypted form. According to an original aspect of the invention, said at least one encryption parameter belongs to the group comprising at least: information representative of a random number obtained by said authentication server; information representative of a random number obtained by said client terminal; information representative of an encrypted number with said public key of said authentication server;
Les paramètres servant au cryptage du certification peuvent avoir plusieurs origines : un nombre aléatoire en provenance du serveur, un nombre aléatoire en provenance du client, un nombre avec la clé publique du serveur d'authentification, par exemple. Ainsi, on garantit que les paramètres servant au chiffrement du certificat ne sont pas des constantes ou des nombres facilement reproductibles et qu'ils ne pourront pas faire l'objet d'une découverte par un tiers. De ce fait, on augmente encore la protection de l'identité du client. Selon une caractéristique particulière de l'invention, ledit procédé est mis en œuvre au sein du protocole SSL et/ou TLS.The parameters used for certification encryption can have several origins: a random number coming from the server, a random number coming from the client, a number with the public key of the authentication server, for example. Thus, it is ensured that the parameters used to encrypt the certificate are not constants or numbers that are easily reproducible and that they can not be discovered by a third party. As a result, the protection of the customer's identity is further increased. According to a particular characteristic of the invention, said method is implemented within the SSL and / or TLS protocol.
Selon un aspect original, ledit procédé est mis en œuvre au sein du protocole EAP. Ainsi, le procédé protection d'identité peut s'imbriquer au sein de procédés d'authentification connus, en y apportant de nouvelles fonctionnalités.According to an original aspect, said method is implemented within the EAP protocol. Thus, the identity protection method can be imbedded within known authentication methods, by providing new functionalities.
L'invention concerne également un procédé de chiffrement d'identité par un terminal client possédant un certificat d'authentification, lors d'une authentification dudit terminal auprès d'un serveur d'authentification. Selon l'invention, un tel procédé comprend les étapes de : obtention d'au moins un paramètre de cryptage par ledit terminal client ; chiffrement dudit certificat d'authentification par ledit terminal client, à partir dudit au moins un paramètre de cryptage ; transmission dudit certificat d'authentification chiffré audit serveur ; Dans ce mode de réalisation, le terminal client mettant en œuvre l'invention est à même de chiffrer son identité avant qu'elle ne soit transmise au serveur d'authentification. Un tel procédé permet de s'assurer que l'identité du terminal ne sera pas transmise en clair par le biais d'un réseau de communication.The invention also relates to a method of encryption of identity by a client terminal having an authentication certificate, when an authentication of said terminal with an authentication server. According to the invention, such a method comprises the steps of: obtaining at least one encryption parameter by said client terminal; encrypting said authentication certificate by said client terminal, from said at least one encryption parameter; transmitting said encrypted authentication certificate to said server; In this embodiment, the client terminal implementing the invention is able to encrypt its identity before it is transmitted to the authentication server. Such a method ensures that the identity of the terminal will not be transmitted in clear by means of a communication network.
L'invention concerne également un dispositif de chiffrement d'identité d'un terminal client possédant un certificat d'authentification, lors d'une authentification dudit terminal auprès d'un serveur d'authentification.The invention also relates to a device for encrypting the identity of a client terminal having an authentication certificate, when an authentication of said terminal with an authentication server.
Selon l'invention, un tel dispositif comprend des moyens : d'obtention d'au moins un paramètre de cryptage ; de chiffrement dudit certificat d'authentification, à partir dudit au moins un paramètre de cryptage ; de transmission dudit certificat d'authentification chiffré audit serveur ;According to the invention, such a device comprises means for: obtaining at least one encryption parameter; encrypting said authentication certificate from said at least one encryption parameter; transmitting said encrypted authentication certificate to said server;
Dans cet autre mode de réalisation, on permet à un dispositif de chiffrer l'identité d'un terminal client avant qu'elle ne soit transmise au serveur. Selon un aspect particulier de l'invention, ledit dispositif de chiffrement d'identité est mis en œuvre au sein d'une carte à puce implémentant une machine virtuelle.In this other embodiment, a device is allowed to encrypt the identity of a client terminal before it is transmitted to the server. According to a particular aspect of the invention, said identity encryption device is implemented within a smart card implementing a virtual machine.
Ainsi, ce dispositif de chiffrement d'identité peut être installé au sein d'une carte à puce, mettant en oeuvre un système d'exploitation, par exemple une machine virtuelle. Selon un aspect particulier, cette machine virtuelle peut être de type Java et la carte à puce peut être une « javacard ».Thus, this identity encryption device can be installed within a smart card, implementing an operating system, for example a virtual machine. According to one particular aspect, this virtual machine can be of Java type and the smart card can be a "javacard".
L'invention concerne encore un procédé de déchiffrement d'identité d'un terminal client possédant un certificat d'authentification, par un serveur d'authentification lors d'une authentification dudit terminal auprès dudit serveur d'authentification.The invention also relates to a method for decrypting the identity of a client terminal having an authentication certificate, by an authentication server during an authentication of said terminal with said authentication server.
Selon l'invention, un tel procédé comprend les étapes de : réception d'un certificat d'authentification chiffré en provenance dudit terminal client ; - obtention d'au moins un paramètre de cryptage par ledit serveur ; déchiffrement dudit certificat d'authentification chiffré, à partir dudit au moins un paramètre de cryptage ; authentification et délivrance d'une assertion d'authentification si l' authentification est positive. Ce procédé, selon un mode particulier de réalisation de l'invention, permet ainsi de déchiffrer l'identité d'un terminal client qui protège son identité.According to the invention, such a method comprises the steps of: receiving an encrypted authentication certificate from said client terminal; obtaining at least one encryption parameter by said server; decrypting said encrypted authentication certificate from said at least one encryption parameter; authentication and issuance of an authentication assertion if the authentication is positive. This method, according to a particular embodiment of the invention, thus makes it possible to decipher the identity of a client terminal that protects its identity.
L'invention concerne également un dispositif de déchiffrement d'identité d'un terminal client possédant un certificat d'authentification, lors d'une authentification dudit terminal auprès d'un serveur d'authentification, Selon l'invention un tel dispositif comprend des moyens de : réception d'un certificat d'authentification chiffré en provenance dudit terminal client ; obtention d'au moins un paramètre de cryptage par ledit serveur ; déchiffrement dudit certificat d'authentification chiffré, à partir dudit au moins un paramètre de cryptage ; authentification et délivrance d'une assertion d'authentification si l'authentification est positive.The invention also relates to a device for decrypting the identity of a client terminal having an authentication certificate, when an authentication of said terminal with an authentication server, according to the invention such a device comprises means of: receiving an encrypted authentication certificate from said client terminal; obtaining at least one encryption parameter by said server; decrypting said encrypted authentication certificate from said at least one encryption parameter; authentication and issuance of an authentication assertion if the authentication is positive.
Dans cet autre mode de réalisation, on permet à un dispositif de déchiffrer l'identité d'un terminal client qui a été transmise à un serveur. Selon un aspect particulier de l'invention, ledit dispositif de déchiffrement est mis en œuvre au sein d'une carte à puce implémentant une machine virtuelle.In this alternative embodiment, a device is enabled to decrypt the identity of a client terminal that has been transmitted to a server. According to a particular aspect of the invention, said decryption device is implemented within a smart card implementing a virtual machine.
Ainsi, ce dispositif de déchiffrement d'identité peut être installé au sein d'une carte à puce, mettant en oeuvre un système d'exploitation, par exemple une machine virtuelle. Selon un aspect particulier, cette machine virtuelle peut être de type Java et la carte à puce peut être une « javacard ».Thus, this device for decrypting identity can be installed within a smart card, implementing an operating system, for example a virtual machine. According to one particular aspect, this virtual machine can be of Java type and the smart card can be a "javacard".
Dans un autre mode de réalisation, l'invention concerne 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 procédé d'authentification d'un terminal client auprès d'un serveur d'authentification tel que décrit précédemment.In another embodiment, the invention 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. According to the invention, in at least one embodiment, such a computer program product comprises program code instructions for executing a client terminal authentication method with an authentication server such as previously described.
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.In another embodiment, 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.
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 chiffrement d'identité par un terminal client tel que décrit précédemment.According to the invention, in at least one embodiment, such a computer program product comprises program code instructions for the execution of the method of encryption of identity by a client terminal as described above.
Dans un autre mode de réalisation, l'invention concerne encore 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 déchiffrement d'identité d'un terminal client tel que décrit précédemment. 4 LISTE DES FIGURESIn another embodiment, 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. According to the invention, in at least one embodiment, such a computer program product comprises program code instructions for executing the method of decrypting the identity of a client terminal as described above. 4 LIST OF 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, déjà commentée, présente un diagramme de séquence illustrant les messages échangés au cours d'une session TLS ; La figure 2, également déjà décrite, présente un diagramme de séquence d'enchaînement des étapes d'une attaque visant à collecter l'identité d'un client ; - La figure 3 présente un diagramme de séquence mettant en œuvre le procédé de protection de l'identité selon l'invention ; La figure 4 détaille la structure d'un module de sécurité ; La figure 5 illustre une réalisation pratique d'une application EAP-TLS dans un contexte de carte à puce JAVA ; - La figure 6 est un diagramme de séquence présentant l'utilisation d'un module de sécurité client selon l'invention dans l'authentification d'un client ;Other features and advantages of the invention will appear more clearly on reading the following description of a preferred embodiment, given as a simple illustrative and nonlimiting example, and the appended drawings, among which: FIG. 1, already commented, presents a sequence diagram illustrating the messages exchanged during a TLS session; Figure 2, also already described, shows a sequence flow diagram of the steps of an attack to collect the identity of a client; FIG. 3 presents a sequence diagram implementing the identity protection method according to the invention; Figure 4 details the structure of a security module; Figure 5 illustrates a practical realization of an EAP-TLS application in a JAVA smart card context; FIG. 6 is a sequence diagram showing the use of a client security module according to the invention in the authentication of a client;
La figure 7 est un diagramme de séquence présentant l'utilisation d'un module de sécurité serveur selon l'invention dans l'authentification d'un client ;FIG. 7 is a sequence diagram showing the use of a server security module according to the invention in the authentication of a client;
La figure 8 présente une architecture réseau sécurisée dans laquelle un serveur RADIUS, équipé de multiples modules de sécurité, gère de multiples clients, également équipés de modules de sécurité. La figure 9 détaille les messages échangés entre un NAS et un serveur d'authentification RADIUS équipé d'un module de sécurité EAP-TLS. La figure 10 illustre la notion d'identifiant de session (« Session-Id ») construit à partir de certain attributs d'un paquet « Access-Request », et de son usage pour le traitement du message EAP par un module de sécurité particulier. 5 DESCRIPTION DETAILLEE DE L'INVENTIONFigure 8 shows a secure network architecture in which a RADIUS server, equipped with multiple security modules, manages multiple clients, also equipped with security modules. Figure 9 details the messages exchanged between a NAS and a RADIUS authentication server equipped with an EAP-TLS security module. FIG. 10 illustrates the notion of session identifier ("Session-Id") constructed from certain attributes of an "Access-Request" packet, and of its use for the processing of the EAP message by a particular security module . DETAILED DESCRIPTION OF THE INVENTION
5.1 Rappel du principe de l'invention5.1 Recall of the principle of invention
L'invention propose donc de protéger l'identité des clients lors de processus d'authentification. Cette protection est d'autant plus importante que l'identité des utilisateurs est devenu un véritable enjeu, tant vis-à-vis des opérateurs que des fournisseurs d'accès ou encore vis-à-vis des clients eux- mêmes, qui ne souhaitent pas faire l'objet de surveillance dans leur vie quotidienne.The invention therefore proposes to protect the identity of the clients during the authentication process. This protection is all the more important as the identity of the users has become a real challenge, both for operators and access providers, and for the customers themselves, who do not want to not be monitored in their daily lives.
Le principe général de l'invention repose sur le cryptage de l'identité par un module de sécurité. On décrit, en relation avec la figure 3, un mode de réalisation de l'invention appliqué au protocole EAP-TLS. Cependant, le procédé d'authentification selon l'invention peut être mis en œuvre dans toutes les méthodes d'authentification où le client fait part de son identité au serveur.The general principle of the invention relies on the encryption of the identity by a security module. In connection with FIG. 3, an embodiment of the invention applied to the EAP-TLS protocol is described. However, the authentication method according to the invention can be implemented in all the authentication methods where the client communicates his identity to the server.
Dans un processus d'authentification EAP-TLS, les messages sont échangés en conformité avec le protocole TLS. Durant une session de mutuelle authentification (« Client Authentication Handshake ») le client (201) initie cette dernière par un message « ClientHello ». Le serveur répond par un ensemble de messages « ServerHello » (102), « Certifïcate » (103), « CertificateRequest »In an EAP-TLS authentication process, the messages are exchanged in accordance with the TLS protocol. During a mutual authentication session ("Client Authentication Handshake") the client (201) initiates the latter with a "ClientHello" message. The server responds with a set of messages "ServerHello" (102), "Certifïcate" (103), "CertificateRequest"
(104), « ServerHelloDone » (105). Le client délivre alors les messages(104), "ServerHelloDone" (105). The customer then delivers the messages
« *Certifïcate » (106), « CertificateVerify » (107), « ClientKeyExchange » (108), « ChangeCipherSpec » (109), et « Finished » (110)."* Certifïcate" (106), "CertificateVerify" (107), "ClientKeyExchange" (108), "ChangeCipherSpec" (109), and "Finished" (110).
Le message « *Certificate » (106) est une forme chiffrée du certificat du client. Plus précisément, et conformément au protocole TLS le contenu de message est une succession de certificats, dont le premier est affecté au client, et dont les suivants (présents de manière optionnelle) sont associés à une ou plusieurs autorités de certification. On décrit par la suite, à titre d'illustration une méthode pratique de calcul de la clé utilisée (« KeyClientCertifïcate ») pour le chiffrement du certificat du client « *Certifïcate » (106). Cependant d'autres procédés, basés sur des formules secrètes, rendant plus difficiles les attaques, peuvent être utilisés pour cette opération.The message "* Certificate" (106) is an encrypted form of the client certificate. More specifically, and in accordance with the TLS protocol, the message content is a succession of certificates, the first of which is assigned to the client, and the following of which (optionally present) are associated with one or more certification authorities. An illustrative method for calculating the key used ("KeyClientCertifïcate") for the encryption of the client certificate "* Certifïcate" (106) is then described. However, other methods, based on secret formulas, making attacks more difficult, can be used for this operation.
Dans le protocole TLS, les clés cryptographiques peuvent être générées à l'aide d'une fonction notée PRF pour « Pseudo Random Function » (pour « Fonction Pseudo Aléatoire »).In the TLS protocol, the cryptographic keys can be generated using a function marked PRF for "Pseudo Random Function" (for "Pseudo Random Function").
Le secret partagé « MasterSecret » est calculé à partir du paramètre « PreMas ter Secret » et deux nombres aléatoires (« ClientRandom » et « ServerRandom ») échangés dans les messages « ClientHello » (101) et « ServerHello » (102). La clé « MasterSecret » peut donc être définie par :The shared secret "MasterSecret" is calculated from the parameter "PreMas ter Secret" and two random numbers ("ClientRandom" and "ServerRandom") exchanged in the messages "ClientHello" (101) and "ServerHello" (102). The key "MasterSecret" can be defined by:
MasterSecret=MasterSecret =
PRF(PreMasterSecret,"master secret",ClientRandom|ServerRandom). Le signe « | » désigne dans ce cas une opération de concaténation. Par la suite, lors de la phase d'authentification, d'autres clés cryptographiques sont obtenues à l'aide du paramètre « MasterSecret » et d'une étiquette (une chaîne de caractères ASCII). Ces autres clés utilisent également la fonction PRF :PRF (PreMasterSecret, "master secret", ClientRandom | ServerRandom). The sign «| In this case refers to a concatenation operation. Subsequently, during the authentication phase, other cryptographic keys are obtained using the parameter "MasterSecret" and a label (an ASCII string). These other keys also use the PRF function:
Clés = PRF (MasteSecret,Etiquette,ServerRandom| ClientRandom) Selon l'invention, la clé de chiffrement « KeyClientCertifïcate » du certificat du client est obtenue par une relation du type (106) :Keys = PRF (MasteSecret, Label, ServerRandom | ClientRandom) According to the invention, the "KeyClientCertifïcate" encryption key of the client's certificate is obtained by a relation of the type (106):
KeyClientCertifïcate =KeyClientCertifïcate =
F(PreMasterSecret,ServerRandom,ClientRandom,OtherParameters)F (PreMasterSecret, ServerRandom, ClientRandom, OtherParameters)
Dans ce cas, « F » est une fonction qui utilise « PreMas ter Secret », « ServerRandom », « ClientRandom » et d'autres paramètres de calculs « OtherParameters ». Par exemple, il est possible d'utiliser la fonction suivante :In this case, "F" is a function that uses "PreMas ter Secret", "ServerRandom", "ClientRandom" and other "OtherParameters" calculation parameters. For example, it is possible to use the following function:
KeyClientCertifïcate =KeyClientCertifïcate =
PRF(MasterSecret,"client certifïcate",ClientRandom| ServerRandom)PRF (MasterSecret, "certified client", ClientRandom | ServerRandom)
Le client protège donc son identité en chiffrant son certificat X509, à l'aide d'une part d'un algorithme de chiffrement, par exemple à la volée et d'autre part de la clé « KeyClientCertificate » associée à cet algorithme cryptographique, par exemple RC4 ou AES en mode « Counter Mode ». Conformément aux spécifications du protocole TLS les valeurs d'empreintes (fonctions MD5 et SHAl) utilisées dans des messages tels que « CertficateVerify » (108) et « Finished » (110, 112), sont alors calculées en tenant compte du contenu du certificat client (106) chiffré. En effet, ce certificat apparaît dans le message « Certficate » sous une forme chiffrée (106).The client therefore protects his identity by encrypting his X509 certificate, using a part of an encryption algorithm, for example on the fly and secondly the key "KeyClientCertificate" associated with this cryptographic algorithm, for example RC4 or AES in "Counter Mode" mode. In accordance with the TLS specifications, the fingerprint values (MD5 and SHAl functions) used in messages such as "CertficateVerify" (108) and "Finished" (110, 112) are then calculated taking into account the contents of the client certificate. (106) encrypted. Indeed, this certificate appears in the "Certficate" message in encrypted form (106).
Le serveur reçoit les messages « *Certificate » (106), « CertificateVerify »The server receives the messages "* Certificate" (106), "CertificateVerify"
(107), « ClientKeyExchange » (108), « ChangeCipherSpec » (109), et « Finished » (110). Il déchiffre la valeur du « PreMas ter Secret », contenue dans le message « ClientKeyExchange » (108) à l'aide de sa clé privée « Kpπvs »• H en déduit la clé de chiffrement qui protège le certificat du client (106) en appliquant, à l'aide de la valeur du « PreMas ter Secret » déchiffrée, une fonction de chiffrement identique à celle appliquée de son côté par le client pour obtenir la valeur de « KeyClientCertificate ». Dans un mode de réalisation particulier, appliqué à la fonction PRF de TLS, on a la formule suivante :(107), "ClientKeyExchange" (108), "ChangeCipherSpec" (109), and "Finished" (110). It decrypts the value of the "PreMas ter Secret" contained in the "ClientKeyExchange" message (108) using its private key "Kp πv s" • H deduces the encryption key that protects the client's certificate (106). ) by applying, with the value of the decrypted "PreMas ter Secret", an encryption function identical to that applied by the client on his side to obtain the value of "KeyClientCertificate". In a particular embodiment, applied to the PRF function of TLS, there is the following formula:
KeyClientCertificate =KeyClientCertificate =
PRF(MasterSecret,"client certificate",ClientRandom|ServerRandom)PRF (MasterSecret, "client certificate", ClientRandom | ServerRandom)
Le serveur peut alors déchiffrer le certificat du client. Le serveur termine ensuite la phase d'ouverture de la session TLS en produisant les deux messages « ChangeCipherSpec » (111) et « Finished » (112).The server can then decrypt the client's certificate. The server then completes the opening phase of the TLS session by producing the two messages "ChangeCipherSpec" (111) and "Finished" (112).
Or, « PreMas terSecret » ne peut être déchiffré que par le serveur, puisque seul celui-ci possède la clé privée susceptible de la déchiffrer. Par exemple dans la cas l'EAP-TLS, « PreMaster Secret » a été chiffré, par le client, à l'aide de la clé publique du serveur « Kpubs », transmise au client, par le serveur, lors de la transmission du certificat (103). Or seul le détenteur de la clé privée « Kpπvs » peut décoder les messages chiffrés avec cette clé publique « Kpubs ».However, "PreMas terSecret" can only be decrypted by the server, since only the latter has the private key capable of decrypting it. For example, in the case of EAP-TLS, "PreMaster Secret" was encrypted, by the client, using the public key of the server "K pu bs", transmitted to the client, by the server, during the transmission of the certificate (103). But only the holder of the private key "Kp πv s" can decode the encrypted messages with this public key "K pu bs".
On assure ainsi que l'identité du client est conservée secrète et que seul le serveur est à même de décoder cette identité. On a donc décrit un mode de réalisation du procédé de cryptage de l'identité du client mis en œuvre dans le cadre d'un processus d'authentification mutuel à l'aide du procédé EAP-TLS. Le client ne partage donc plus son identité « en clair » sur le réseau. Cette identité fait l'objet d'un chiffrement et seul le serveur possédant les informations de déchiffrement adéquat est à même de s'assurer de l'identité du client à authentifier. En effet, pour trouver la clé de chiffrement du certificat du client « KeyClientCertificate » le serveur doit détenir les mêmes informations que le client. De manière générale, ces informations sont celles utilisées pour trouver la clé de chiffrement à l'aide de la fonction « F ». Dans le mode de réalisation particulier appliqué à EAP-TLS, le serveur doit posséder les mêmes arguments pour la fonction « PRF » que ceux utilisés par le client : « MasterSecret », « client certificate », « ClientRandom » et « ServerRandom ».This ensures that the identity of the client is kept secret and that only the server is able to decode this identity. An embodiment of the client identity encryption method implemented as part of a mutual authentication process using the EAP-TLS method has therefore been described. The customer no longer shares his identity "in the clear" on the network. This identity is encrypted and only the server with the appropriate decryption information is able to verify the identity of the client to authenticate. In fact, to find the encryption key of the client certificate "KeyClientCertificate" the server must have the same information as the client. In general, this information is used to find the encryption key using the "F" function. In the particular embodiment applied to EAP-TLS, the server must have the same arguments for the "PRF" function as those used by the client: "MasterSecret", "client certificate", "ClientRandom" and "ServerRandom".
Par la suite, on présente notamment le cas d'un module de sécurité mettant en oeuvre le procédé de protection de l'identité du client, ainsi que l'intégration de tels modules dans un serveur d'authentification de type « RADUIS ». Il est clair cependant que l'invention ne se limite pas à cette application particulière, mais peut également être mise en œuvre dans d'autres types de serveurs d'authentification et plus généralement dans tous les cas où des mécanismes de protection d'identité sont recherchés.Subsequently, there is presented in particular the case of a security module implementing the method of protecting the identity of the client, as well as the integration of such modules in a authentication server type "RADUIS". It is clear however that the invention is not limited to this particular application, but can also be implemented in other types of authentication servers and more generally in all cases where identity protection mechanisms are research.
5.2 Description du module de sécurité5.2 Description of the security module
On présente dans ce mode de réalisation, en relation avec la figure 4, un module de sécurité mettant en œuvre le procédé de protection de l'identité de l'invention. On désigne sous le terme module de sécurité un circuit intégré de siliciumIn this embodiment, with reference to FIG. 4, a security module implementing the method for protecting the identity of the invention is presented. The term security module designates a silicon integrated circuit
(101), qualifié usuellement de « Tamper Résistant Device », littéralement un « composant résistant aux attaques », tel que par exemple un composant ST22, produit par la société ST Microelectronics (marque déposée) et disponible sous différents formats tels que des cartes de PVC, (cartes à puce, carte SIM,...) intégrés 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é.(101), usually referred to as "Tamper Resistant Device", literally an "attack resistant component", such as for example an ST22 component, produced by the company ST Microelectronics (registered trademark) and available in different formats such as PVC, (smart cards, SIM card, ...) integrated in USB tokens, or in 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.
Plus précisément, un tel module de sécurité comporte une unité centrale (CPU, 201), une mémoire ROM stockant le code du système d'exploitation (202), de la mémoire RAM (203), et une mémoire non volatile (NVR, 204), utilisée comme dispositif de stockage analogue à une disque dur, et qui contient par exemple un logiciel embarqué TLS ou EAP-TLS. Un bus système (200) relie les différents organes du module sécurisé. L'interface avec le monde extérieur (301) est assuré par un port IO d'entrée/sortie (205), conforme à des standards tels queMore specifically, such a security module comprises a central unit (CPU, 201), a ROM memory storing the operating system code (202), RAM memory (203), and a non-volatile memory (NVR, 204). ), used as a storage device analogous to a hard disk, and which contains for example an embedded software TLS or EAP-TLS. A system bus (200) connects the different components of the secure module. The interface with the outside world (301) is provided by an IO input / output port (205), conforming to standards such as
ISO7816, USB, ISO7816-12, MMC, IEEE 802.3, IEEE 802.11, etc.ISO7816, USB, ISO7816-12, MMC, IEEE 802.3, IEEE 802.11, etc.
Les cartes à puces JAVA, communément désignées par le termeJAVA smart cards, commonly referred to as
JAVACARD, peuvent constituer une classe particulière de module de sécurité. En l'état de l'art, il est possible de charger et d'exécuter dans ces composants des programmes conformes aux spécifications du protocole TLS, en mode client et serveur. A titre d'illustration de tels logiciels sont connus sous le sigleJAVACARD, can constitute a particular class of security module. In the state of the art, it is possible to load and execute in these components programs compliant with the TLS protocol specifications, in client and server mode. As an illustration of such software are known under the acronym
« OpenEapSmartcard ». Des articles scientifiques décrivent d'ors et déjà la réalisation de clients et de serveurs EAP-TLS dans des « javacards ». Le procédé de protection d'identité préalablement décrit, au vue de la description préalable qui en est faite, pourra aisément être mis en œuvre par un homme du métier dans un logiciel EAP-TLS client (ou serveur) exécuté dans une « Javacard »."OpenEapSmartcard". Scientific articles already describe the realization of EAP-TLS clients and servers in "javacards". The identity protection method previously described, in view of the prior description which is made, can easily be implemented by a skilled person in a client EAP-TLS software (or server) executed in a "Javacard".
On décrit, en relation avec la figure 5, une réalisation pratique d'une application EAP-TLS dans un contexte de carte à puce JAVA.In connection with FIG. 5, a practical embodiment of an EAP-TLS application is described in a JAVA smart card context.
Un tel composant (100) possède communément une interface de communication conforme à la norme ISO 7816 (201), une machine JAVA embarquée (202), et un ensemble de classes JAVA (203) définies par le JavaCard Forum permettant en particulier l'usage d'une bibliothèque de fonctions cryptographiques (204). L'application EAP-TLS (300) est alors définie comme un ensemble de modules JAVA. La classe dite Moteur EAP, «EapEngine.class» (301) assure quatre services fondamentaux :Such a component (100) commonly has a communication interface compliant with ISO 7816 (201), an embedded JAVA machine (202), and a set of JAVA classes (203) defined by the JavaCard Forum allowing in particular the use a library of cryptographic functions (204). The EAP-TLS application (300) is then defined as a set of JAVA modules. The so-called EAP Engine class, "EapEngine.class" (301) provides four basic services:
La gestion (402) des lettres de crédits du porteur de la carte, c'est à dire de données sensibles telles des clés RSA privées ou certificats X509, stockés dans une mémoire non volatile (401)The management (402) of the credit card holder's letters of credit, ie sensitive data such as private RSA keys or X509 certificates, stored in a non-volatile memory (401)
La personnalisation (404) du module de sécurité, c'est à dire l'ensemble des opérations nécessaires à l'écriture des données du porteur de la carte, dans la mémoire du composant.The personalization (404) of the security module, ie all the operations necessary for writing the data of the cardholder, in the memory of the component.
Le gestion de la sécurité (403) de la carte à puce, dont l'usage est protégé par exemple par un PIN code associé à un mécanisme de blocage après trois présentations erronées.The management of the security (403) of the smart card, the use of which is protected for example by a PIN code associated with a blocking mechanism after three false presentations.
L'interface avec le réseau (405) qui analyse les paquets EAP reçus et les transmet vers la méthode EAP-TLS.The interface with the network (405) which analyzes the received EAP packets and transmits them to the EAP-TLS method.
La méthode d'authentification EAP-TLS est réalisée par le module «Method.class» (303). Elle est initialisée avec les données associées à un contexte particulier (Certificat de l'autorité de certification « CA », certificat du client, clé privée RSA...) à l'aide d'une procédure «Init» (501), dont l'argument un objetThe EAP-TLS authentication method is performed by the "Method.class" module (303). It is initialized with the data associated with a particular context (certificate of the CA, client certificate, RSA private key, etc.) using an "Init" procedure (501), whose the argument an object
JAVA «Credential.class» (302).JAVA "Credential.class" (302).
Les messages EAP (600) analysés par l'interface réseau (405) sont traités par la procédure «ProcessEap» (502) du module «Method.class» (303). L'interface JAVA «Auth.class» (304) assure le lien logique entre les modules «EapEngine.class» (301) et «Method.class» (303). 5.3 Module de sécurité clientThe EAP messages (600) analyzed by the network interface (405) are processed by the "ProcessEap" procedure (502) of the "Method.class" module (303). The JAVA interface "Auth.class" (304) provides the logical link between the modules "EapEngine.class" (301) and "Method.class" (303). 5.3 Client Security Module
On décrit, en relation avec la figure 6, un module de sécurité (201) qui contient un logiciel EAP-TLS client (101). Ce programme réalise le protocoleA security module (201) containing client EAP-TLS software (101) is described in connection with FIG. This program realizes the protocol
TLS, il reçoit à travers un port de communication d'entrée/sortie (figure 4, 205) des messages EAP-TLS et produit les réponses appropriées. En outre le module stocke le certificat d'au moins une autorité de certification CA (102) et sa clé publique RSA (103). L'identité du module, c'est à dire le certificat du client (104), est également stockée de manière sécurisée. Cependant ce certificat n'est jamais communiqué sous forme non chiffrée au monde extérieur. Les clés RSA publiques (107) et privée (106) sont également gérées par le module de sécurité. A la fin du protocole EAP-TLS, une clé « MSK » (108) est disponible pour l'entité utilisatrice du module, typiquement un système d'exploitation. On décrit plus précisément le dialogue d'authentification EAP-TLS, du point de vue du module de sécurité client (201) mettant en œuvre le protocole de protection de l'identité selon l'invention.TLS, it receives through an input / output communication port (Figure 4, 205) EAP-TLS messages and produces the appropriate responses. In addition, the module stores the certificate of at least one CA (102) and its RSA public key (103). The identity of the module, ie the client's certificate (104), is also stored securely. However, this certificate is not never communicated in unencrypted form to the outside world. The public (107) and private (106) RSA keys are also managed by the security module. At the end of the EAP-TLS protocol, an "MSK" key (108) is available for the user entity of the module, typically an operating system. The EAP-TLS authentication dialogue is described more precisely from the point of view of the client security module (201) implementing the identity protection protocol according to the invention.
Un point d'accès (401) indique au client l'occurrence d'une nouvelle session d'authentification en produisant un message « EAP-Identity.request » (301). Le module de sécurité insère son identifiant (EAP-ID) dans un message « EAP-Identity.response » (302). Il est recommandé, sans que ceci présente un caractère limitatif, que cet identifiant fournisse une information relative au serveur d'authentification et non au client. Le serveur d'authentification transmet un paquet « EAP-TLS. Start » (303) qui marque le début d'une session EAP-TLS. En réponse à cet événement le client émet un message EAP-TLS qui transporte un paquet TLS de type « ClientHello » (304).An access point (401) indicates to the client the occurrence of a new authentication session by producing an "EAP-Identity.request" message (301). The security module inserts its identifier (EAP-ID) in an "EAP-Identity.response" message (302). It is recommended, without this being limiting, that this identifier provides information relating to the authentication server and not the client. The authentication server transmits a packet "EAP-TLS. Start "(303) which marks the beginning of an EAP-TLS session. In response to this event the client issues an EAP-TLS message which carries a TLS packet of type "ClientHello" (304).
Conformément au protocole TLS, précédemment décrit, le serveur produit une suite (305) de messages (« ServerHello », « Certificate », « CertificateRequest », « ServerHelloDone ») qui définissent en particulier le certificat du serveur, sa clé publique, le certificat du CA (Autorité Certificatrice), et le ou les types de certificats clients reconnus par le serveur.In accordance with the TLS protocol, described above, the server produces a suite (305) of messages ("ServerHello", "Certificate", "CertificateRequest", "ServerHelloDone") that define in particular the server certificate, its public key, the certificate the CA (Certifying Authority), and the type (s) of client certificates recognized by the server.
Lors de la réception du message EAP-TLS (305), le client analyse la validité du certificat serveur, extrait la clé publique associée, choisit une valeur aléatoire « PreMas ter Secret » et chiffre cette valeur (avec la clé publique du serveur) dans un message « ClientKeyExchange ». Le certificat du client est chiffré avec la clé « KeyClientCertificate » décrite précédemment, selon le procédé de protection de l'identité. La suite (307) de messages TLS, « Certificate », « ClientKeyExchange », « CertificateVerify », « Finished » est insérée dans un paquet EAP-TLS et envoyée au serveur. Le serveur vérifie cette liste de message et notifie le bon déroulement de cette opération par les messages (308) « ChangeCipherSpec » et « Finished » encapsulés dans un paquet EAP-TLS. Le client confirme la bonne réception de (308) par un acquittement EAP-TLS (309). Le serveur termine la session EAP-TLS par un message « EAP-Success »When receiving the EAP-TLS message (305), the client analyzes the validity of the server certificate, retrieves the associated public key, chooses a random value "PreMas ter Secret" and encrypts this value (with the public key of the server) in a "ClientKeyExchange" message. The client's certificate is encrypted with the "KeyClientCertificate" key previously described, according to the identity protection process. The TLS message suite (307), "Certificate", "ClientKeyExchange", "CertificateVerify", "Finished" is inserted into an EAP-TLS packet and sent to the server. The server verifies this message list and notifies the smooth running of this operation by the messages (308) "ChangeCipherSpec" and "Finished" encapsulated in an EAP-TLS packet. The customer confirms receipt of (308) by an EAP-TLS acknowledgment (309). The server ends the EAP-TLS session with an "EAP-Success" message
(310). Après réception de cette indication, le client calcule une clé maître « MSK » (de l'anglais « Master Secret Key ») (108). Cette dernière est mise à la disposition du système d'exploitation du client, à l'aide d'une commande du module de sécurité spécifique (311). L'exécution, par un module de sécurité (201), d'un logiciel client TLS ou(310). After receiving this indication, the client calculates a master key "MSK" (108). The latter is made available to the client's operating system, using a command of the specific security module (311). The execution, by a security module (201), of a TLS client software or
EAP-TLS (101), muni selon l'invention d'un mécanisme de protection d'identité, procure les avantages suivants :EAP-TLS (101), equipped according to the invention with an identity protection mechanism, provides the following advantages:
Le certificat du serveur (305) est vérifié dans un environnement informatique sûr ; - Le logiciel client (101) ne communique son identité (104) chiffrée (106) qu'à une entité serveur a qui il fait confiance, et qui est la seule à pouvoir déchiffrer cette information ;The server certificate (305) is verified in a secure computing environment; - The client software (101) communicates its identity (104) encrypted (106) to a server entity that he trusts, and who is the only one to decipher this information;
II réalise la non répudiation de sa décision à l'aide de la signature, basée sur sa clé RSA privée Kpπvc (106) contenue dans le message « CertificateVerify » (307).It realizes the non-repudiation of its decision by means of the signature, based on its private RSA key Kp πv c (106) contained in the message "CertificateVerify" (307).
De par leurs constitutions, les messages TLS échangés entre serveur et client peuvent être lus et analysés par tout observateur du réseau. Dans le cas d'un dialogue avec protection d'identité, tel que le propose l'invention, la seule information obtenue par un observateur sera l'identité du serveur. Cette dernière n'est pas une donnée critique dans le cas d'une procédure d'authentification. 5.4 Module de sécurité serveurBy their constitutions, the TLS messages exchanged between server and client can be read and analyzed by any observer of the network. In the case of a dialogue with identity protection, as proposed by the invention, the only information obtained by an observer will be the identity of the server. The latter is not critical data in the case of an authentication procedure. 5.4 Server Security Module
On présente, en relation avec la figure 7, un module de sécurité (401) qui contient un logiciel EAP-TLS serveur (101). Ce programme réalise le protocoleIn connection with FIG. 7, a security module (401) is presented which contains a server EAP-TLS software (101). This program realizes the protocol
TLS, il reçoit à travers un port de communication d'entrée/sortie (figure 4, 205) des paquets EAP-TLS et produit les messages appropriés. En outre le module stocke le certificat d'au moins une autorité de certification CA (102) et sa clé publique RSA (103). Le certificat du serveur (107) ainsi que ses clés RSA publique (109) et privée (108) sont également gérés par le module de sécurité. A la fin du protocole EAP-TLS, une clé MSK (108) est disponible pour l'entité utilisatrice du module, tel que par exemple un serveur d'authentification RADIUS.TLS, it receives EAP-TLS packets through an I / O communication port (Figure 4, 205) and produces the appropriate messages. In addition the module stores the certificate of at least one CA (102) and its RSA public key (103). The server certificate (107) along with its public (109) and private (108) RSA keys are also managed by the security module. At the end of the EAP-TLS protocol, an MSK key (108) is available for the user entity of the module, such as for example a RADIUS authentication server.
On décrit par la suite de manière détaillée le dialogue d'authentification EAP-TLS, du point de vue du module de sécurité serveur (101). Ce module est connecté physiquement ou logiquement à un serveur d'authentification, par exemple de type « RADIUS » (201) ou à tout autre dispositif utilisant une entité EAP serveur. Le serveur EAP reçoit un message « EAP-Identity.request » (301) qui marque l'initialisation d'une session EAP. Il délivre un message « EAP- TLS.Start » (303) qui indique le début d'une session EAP-TLS.The EAP-TLS authentication dialogue is described in detail below from the point of view of the server security module (101). This module is connected physically or logically to an authentication server, for example of the "RADIUS" type (201) or to any other device using a server EAP entity. The EAP server receives an "EAP-Identity.request" message (301) that marks the initialization of an EAP session. It issues an "EAP- TLS.Start" message (303) that indicates the start of an EAP-TLS session.
Le client distant envoie un paquet EAP-TLS (305) qui transporte un message TLS « ClientHello » (304). Le serveur produit alors une suite de messages TLS, « ServerHello », « Certificate », « CertificateRequest », « ServerHelloDone ». Lors de la réception de (305) le client analyse la validité du certificat serveur, extrait la clé publique associée, choisit une valeur aléatoire « PreMas ter Secret » et chiffre cette valeur (avec la clé publique du serveur) dans un message « ClientKeyExchange ». Le certificat du client est chiffré (307) avec la clé « KeyClientCertificate » décrite précédemment. La suite (306) de messages TLS « Certificate », « ClientKeyExchange », « CertificateVerify », « Finished » est insérée dans un paquet EAP-TLS et envoyée au serveur.The remote client sends an EAP-TLS packet (305) which carries a TLS message "ClientHello" (304). The server then produces a series of TLS messages, "ServerHello", "Certificate", "CertificateRequest", "ServerHelloDone". Upon receipt of (305) the client analyzes the validity of the server certificate, retrieves the associated public key, chooses a random value "PreMas ter Secret" and encrypts this value (with the public key of the server) in a "ClientKeyExchange" message . The client certificate is encrypted (307) with the key "KeyClientCertificate" described above. The suite (306) of TLS messages "Certificate", "ClientKeyExchange", "CertificateVerify", "Finished" is inserted into an EAP-TLS packet and sent to the server.
Le serveur vérifie cette liste de messages, en particulier il retrouve la valeur « PreMas ter Secret » à l'aide de sa clé privée Kpπvs. Il calcule alors « KeyClientCertificate » et obtient le certificat du client en clair. Il notifie le bon déroulement de cette opération par les messages (308) « ChangeCipherSpec » et « Finished » encapsulés dans un paquet EAP-TLS.The server checks this list of messages, in particular it finds the value "PreMas ter Secret" with the help of its private key Kp πv s. It then calculates "KeyClientCertificate" and obtains the client's certificate in clear. It notifies the smooth running of this operation by the messages (308) "ChangeCipherSpec" and "Finished" encapsulated in an EAP-TLS package.
Le client confirme la bonne réception de (308) « ChangeCipherSpec » et « Finished »par un acquittement EAP-TLS (309). Le module de sécurité termine la session EAP-TLS par un message « EAP-Success » (310) et calcule une clé maître « MSK » (108). Cette dernière est mise à disposition du système d'exploitation du serveur (201) à l'aide d'une commande spécifique (311) du module de sécurité. L'exécution, par un module de sécurité (201), d'un logiciel serveur TLS ouThe customer confirms receipt of (308) "ChangeCipherSpec" and "Finished" by an EAP-TLS acknowledgment (309). The security module ends the EAP-TLS session by an "EAP-Success" message (310) and calculates an "MSK" master key (108). The latter is made available to the operating system of the server (201) using a specific command (311) of the security module. The execution, by a security module (201), of a TLS server software or
EAP-TLS (101), muni d'un mécanisme de protection d'identité selon l'invention, procure les avantages suivants :EAP-TLS (101), equipped with an identity protection mechanism according to the invention, provides the following advantages:
Le module de sécurité serveur, qui est le seul à connaître et à utiliser la clé privé Kpπvs (108) est l'unique entité qui a connaissance de l'identité du client ;The server security module, which is the only one to know and use the private key Kp πv s (108) is the only entity that knows the identity of the client;
L'identité du client est de surcroît certifiée par le message « CertificateVerify » (306) ;In addition, the customer's identity is certified by the "CertificateVerify" message (306);
La validation de cette identité est indiquée par un procédé cryptographique dans le dernier message « Finished » (309) émis par le serveur. Lorsqu'un serveur d'authentification, par exemple de type « RADIUS », utilise un module de sécurité serveur, ce dernier met à sa disposition une clé « MSK » (109), utilisée, par exemple, pour assurer la sécurité des communications d'un couple point d'accès et client d'un réseau sans fil.Validation of this identity is indicated by a cryptographic method in the last "Finished" message (309) issued by the server. When an authentication server, for example of the "RADIUS" type, uses a server security module, the latter makes available an "MSK" key (109), used, for example, to ensure the security of communications. a couple access point and client of a wireless network.
L'invention apporte donc une solution technique innovante en permettant de gérer la connexion d'un client puis de mettre à disposition de l'infrastructure de sécurité la clé « MSK » de ce client, sans rendre son identité publique.The invention thus provides an innovative technical solution for managing the connection of a client and then providing the security infrastructure key "MSK" of this client, without making his identity public.
5.5 Mise en œuyre des modules de sécurité dans une infrastructure d'authentification5.5 Implementing Security Modules in an Authentication Infrastructure
On présente un mode de réalisation de l'invention dans une infrastructure d'authentification de type RADIUS. On considère donc une infrastructure réseau qui supporte un nombre important de clients, équipés de modules de sécuritéAn embodiment of the invention is presented in a RADIUS authentication infrastructure. We therefore consider a network infrastructure that supports a large number of customers, equipped with security modules
EAP-TLS selon l'invention. Ces clients sont administrés par un ou plusieurs serveurs RADIUS en fonction des contraintes du réseau.EAP-TLS according to the invention. These clients are managed by one or more RADIUS servers according to the constraints of the network.
L'invention permet d'obtenir un niveau de confiance est optimal lorsque les sessions d'authentification sont réalisées par des couples de module de sécurité EAP client et serveur. Dans cette infrastructure, chaque serveur est capable de gérer de multiples sessions EAP-TLS simultanées.The invention makes it possible to obtain a level of confidence that is optimal when the authentication sessions are performed by pairs of security modules EAP client and server. In this infrastructure, each server is capable of handling multiple simultaneous EAP-TLS sessions.
Dans cette infrastructure, les systèmes d'exploitation des modules de sécurité supervisent usuellement des contre-mesures, destinées à parer les attaques par intrusion logique et physique. Ces contre-mesures diminuent significativement les performances de calculs de ces composants.In this infrastructure, the operating systems of the security modules usually supervise countermeasures, intended to counter logical and physical intrusion attacks. These countermeasures significantly reduce the computational performance of these components.
Nous allons donc décrire un procédé de mise en œuvre de multiples modules de sécurité, par un serveur d'authentification RADIUS. Ce procédé autorise la gestion de plusieurs sessions simultanées et rend possible l'usage de modules de sécurité serveur, dans des réseaux supportant une grande population d'utilisateurs sans diminution des performances.We will therefore describe a method of implementing multiple security modules, by a RADIUS authentication server. This method allows the management of several simultaneous sessions and makes possible the use of server security modules, in networks supporting a large population of users without reducing performance.
5.5.1 Description de l'infrastructure5.5.1 Description of the infrastructure
On présente, en relation avec la figure 8, une infrastructure RADIUS mis en œuvre pour tirer partie du procédé de protection d'identité selon l'invention. Un ensemble de clients, (201, 202, 203) munis de façon optionnelle de modules de sécurité (101, 102, 103), sont contrôlés par des NAS (« Network Administration Server » pour « Serveur d'administration de réseau ») (301, 302, 303), situés par exemple dans des points d'accès de ce réseau. Chacun d'entre eux est associé, par le biais du réseau Internet 401, à un unique serveur d'authentification RADIUS (501), réalisé par un logiciel (502), exécuté par un système informatique muni d'un système d'exploitation. Ce serveur RADIUS est capable de surcroît d'échanger, par le biais d'interfaces physiques et/ou logiques 503, des informations avec une pluralité de modules de sécurité serveur (601, 602, 603). Dans l'état actuel, de nombreux logiciels libres tels queIn connection with FIG. 8, a RADIUS infrastructure implemented to take advantage of the identity protection method according to the invention is presented. A set of clients (201, 202, 203) optionally provided with security modules (101, 102, 103) are controlled by NAS ("Network Administration Server" for "Network Administration Server") ( 301, 302, 303), located for example in access points of this network. Each of them is associated, via the Internet 401, a single authentication server RADIUS (501), made by software (502), executed by a computer system with an operating system. This RADIUS server is also capable of exchanging, via physical and / or logical interfaces 503, information with a plurality of server security modules (601, 602, 603). In the current state, many free software such as
« OPENRADIUS » ou « FREERADIUS » offrent des services d'authentification RADIUS. L'intégration de modules de sécurité dans ces logiciels est réalisée à l'aide d'interfaces physiques (503) et/ou logiques supportées par de nombreux systèmes d'exploitation, par exemple USB ou PC/SC (Personal Computer / SmartCard). 5.5.2 Messages échangés"OPENRADIUS" or "FREERADIUS" offer RADIUS authentication services. The integration of security modules in these software is performed using physical interfaces (503) and / or logical supported by many operating systems, for example USB or PC / SC (Personal Computer / SmartCard). 5.5.2 Messages exchanged
On présente, en relation avec la figure 9, le détail des informations échangées, sous la forme de messages, entre un NAS, présenté sous la forme d'un point d'accès (101), un serveur d'authentification RADIUS (201) et un module de sécurité EAP-TLS (301). Ce dernier comporte, conformément aux descriptions précédentes, une clé privée RSA et certificat X509 délivré par une autorité de certification CA.FIG. 9 shows the details of the information exchanged, in the form of messages, between a NAS, presented in the form of an access point (101), a RADIUS authentication server (201). and an EAP-TLS security module (301). The latter comprises, in accordance with the preceding descriptions, an RSA private key and X509 certificate issued by a CA certification authority.
On désigne sous le terme session RADIUS (401) une suite de paquets échangés entre le NAS et le serveur d'authentification RADIUS. Ces paquets véhiculent des informations échangées entre un client EAP et un serveur EAP.The term RADIUS session (401) denotes a sequence of packets exchanged between the NAS and the RADIUS authentication server. These packets convey information exchanged between an EAP client and an EAP server.
Côté serveur RADIUS une session commence par la réception d'un message « EAP-Identity.response » (601), inclus un paquet « Access-Request » (501), et se termine par la génération d'une notification, typiquement un « EAP- Success » (610) dans un paquet « Access-Accept » (510). Un message « EAP-Identity.response » est transporté par un paquetOn the RADIUS server side a session begins with the receipt of an "EAP-Identity.response" message (601), includes an "Access-Request" (501) packet, and ends with the generation of a notification, typically a " EAP-Success "(610) in an" Access-Accept "package (510). An "EAP-Identity.response" message is carried by a packet
RADIUS « Acces-Request » (501). Un message « E AP-TLS. request », nommé « EAP-TLS. Start » (602) est transmis au point d'accès dans un paquet RADIUS « Access-Challenge » (502). Le message EAP-TLS encapsulant l'élément de protocole TLS « ClientHello » (603) est transporté par le paquet RADIUS « Access-Request » (503).RADIUS "Acces-Request" (501). A message "E AP-TLS. request ", named" EAP-TLS. Start "(602) is transmitted to the access point in a RADIUS" Access-Challenge "packet (502). The EAP-TLS message encapsulating the TLS protocol element "ClientHello" (603) is carried by the RADIUS packet "Access-Request" (503).
Le paquet TLS comportant la suite des messages « ServerHello, Certificate », « CertificateRequest », « ServerHelloDone » est typiquement découpé selon les règles du protocole EAP-TLS, en deux fragments (604) (606). Chacun d'entre eux est transporté dans un paquet RADIUS « Access-Challenge » (504) (506). Le premier fragment est acquitté par un message EAP-TLS (605) transporté par un paquet RADIUS (505). Après réception du deuxième et dernier fragment (606), le client (qui souhaite être identifié et authentifié) analyse le message re-assemblé.The TLS packet comprising the following messages "ServerHello, Certificate", "CertificateRequest", "ServerHelloDone" is typically split according to the rules of the EAP-TLS protocol into two fragments (604) (606). Each of them is carried in a RADIUS package "Access-Challenge" (504) (506). The first fragment is acknowledged by an EAP-TLS message (605) carried by a RADIUS packet (505). After receiving the second and last fragment (606), the client (who wishes to be identified and authenticated) analyzes the re-assembled message.
Lors de la réception du deuxième fragment (606), le client analyse la validité du certificat serveur, extrait la clé publique associée, choisit une valeur aléatoire « PreMas ter Secret » et chiffre cette valeur (avec la clé publique du serveur) dans un message « ClientKeyExchange ». Le certificat du client est chiffré avec la clé « KeyClientCertificate » décrite précédemment. La suite de messages TLS, « Certificate », « ClientKeyExchange », « CertificateVerify », « Finished » est insérée dans un paquet EAP-TLS (607), puis dans un paquet RADIUS « Access-Request » (507) et envoyée au serveur.Upon receiving the second fragment (606), the client analyzes the validity of the server certificate, retrieves the associated public key, chooses a value Random "PreMas ter Secret" and encrypts this value (with the public key of the server) in a "ClientKeyExchange" message. The client certificate is encrypted with the key "KeyClientCertificate" described above. The suite of TLS messages, "Certificate", "ClientKeyExchange", "CertificateVerify", "Finished" is inserted in an EAP-TLS packet (607), then in a RADIUS "Access-Request" (507) packet and sent to the server .
Le serveur vérifie cette liste de message, en particulier il retrouve la valeurThe server checks this message list, in particular it finds the value
« PreMas ter Secret », calcule « KeyClientCertificate » et obtient le certificat du client en clair. En cas de succès de cette opération les messages (608) « ChangeCipherSpec » et « Finished » sont encapsulés dans un paquet EAP-TLS, puis dans un message RADIUS « Access-Challenge » (508)."PreMas ter Secret", calculates "KeyClientCertificate" and obtains the client's certificate in clear. If this operation succeeds, the messages (608) "ChangeCipherSpec" and "Finished" are encapsulated in an EAP-TLS packet, then in a RADIUS message "Access-Challenge" (508).
Un message d'acquittement EAP-TLS (609) est transporté dans un paquet RADIUS « Access-Request » (509).An EAP-TLS acknowledgment message (609) is carried in a RADIUS "Access-Request" packet (509).
Le module de sécurité indique alors le succès de l'authentification à l'aide du message « EAP-Success ». Le serveur RADIUS lit la clé MSK à l'aide d'une commande spécifique (611) et fabrique l'ultime message RADIUS « Access-The security module then indicates the success of the authentication using the "EAP-Success" message. The RADIUS server reads the MSK key using a specific command (611) and makes the final RADIUS message "Access-
Accept » (510) qui comporte en particulier les deux moitiés « MS-MPPE-Accept "(510) which includes in particular the two halves" MS-MPPE-
SendKey » et « MS-MPPE-RecvKey » de la clé MSK.SendKey "and" MS-MPPE-RecvKey "of the MSK key.
A la vue de la description précédente on constate que le module de sécurité serveur notifie le succès d'une authentification et délivre une clé MSK au serveur RADIUS sans dévoiler l'identité (le certificat sans chiffrement) du client.In view of the foregoing description, it can be seen that the server security module notifies the success of an authentication and delivers an MSK key to the RADIUS server without revealing the identity (the certificate without encryption) of the client.
On présente, en relation avec la figure 10, le contenu d'un paquet RADIUS, de type « Access-Request ». De tels messages sont transmis par de multiples NAS (de l'anglais « Network Access Server » pour « Serveur d'Accès Réseau ») vers un serveur d' authentification RADIUS (Figure 8, 501). Un paquet « Access-Request » transporte, entre autres informations, une réponse EAP. Un serveur RADIUS qui reçoit ce paquet produit en retour un message du type « Access-Challenge », « Access- Accept » ou « Access-Reject », encapsulant en règle générale une requête ou une notification EAP. On présente en détail le contenu d'un paquet « Access-Request » (101), transporté par les piles de communication IP et UDP (de l'anglais « User Datagram Protocol » pour « Protocole d'échange de datagrammes utilisateurs »), qui comporte deux parties un entête (102) et une liste d'attributs (103). L'entête comporte le code du message (201) soit « Access-Request » dans notre exemple, une étiquette (202) telle que la valeur d'une réponse soit égale à la valeur d'une requête, la longueur du paquet (203) et un nombre aléatoire de 16 octets (204).In relation to FIG. 10, the contents of a RADIUS packet of the "Access-Request" type are presented. Such messages are transmitted by multiple NAS (from "Network Access Server" for "Network Access Server") to a RADIUS authentication server (Figure 8, 501). An Access-Request packet carries, among other information, an EAP response. A RADIUS server that receives this packet produces in return a message of the type "Access-Challenge", "Access- Accept" or "Access-Reject", encapsulating as a rule an EAP request or notification. The contents of an Access-Request packet (101) transported by the User Datagram Protocol (IP) and UDP communication stacks ("User Datagram Protocol") are presented in detail. which comprises two parts a header (102) and a list of attributes (103). The header comprises the code of the message (201) or "Access-Request" in our example, a label (202) such that the value of a response is equal to the value of a request, the length of the packet (203). ) and a random number of 16 bytes (204).
Un message RADIUS transporte un nombre variable d'attributs (205, 206, 207, 207, 209, 210, 211, 212, 213, 214, 215) qui sont identifiés dans la figure 10 par un nom alloué par les normes RFC 2865 et RFC 3559.A RADIUS message carries a variable number of attributes (205, 206, 207, 207, 209, 210, 211, 212, 213, 214, 215) that are identified in Figure 10 by a name allocated by RFC 2865 and RFC 3559.
Du point de vue du serveur RADIUS une session est identifiée d'une part par une liste d'information relative au client distant (205, 208) et d'autre part par une liste d'information relative au NAS utilisé par le client (206, 207, 207, 209, 210, 213). Chaque session est associée à un identifiant unique (« Session-Id ») obtenu par la concaténation d'attributs inclus dans un message « Access- Request ». On peut construire, à titre d'exemple, la valeur du « Session-Id » (301) grâce à la concaténation des deux attributs suivants :From the point of view of the RADIUS server a session is identified on the one hand by a list of information relating to the remote client (205, 208) and on the other hand by a list of information relating to the SIN used by the client (206). , 207, 207, 209, 210, 213). Each session is associated with a unique identifier ("Session-Id") obtained by the concatenation of attributes included in an "Access-Request" message. As an example, the value of the "Session-Id" (301) can be constructed by concatenating the two following attributes:
Session-Id = NAS-Identifier | Calling-Station-Id. « NAS-Identifier » (209) (attribut RADIUS numéro 32) représente un identifiant unique du NAS délivré par l'administrateur du réseau ou le fabricant du matériel.Session-Id = NAS-Identifier | Calling-Station-Id. "NAS-Identifier" (209) (RADIUS attribute number 32) represents a unique identifier of the NAS issued by the network administrator or hardware manufacturer.
« Calling-Station-Id » (208) (attribut RADIUS numéro 31) représente un identifiant unique du client, par exemple l'adresse MAC unique de la carte réseau qu'il utilise."Calling-Station-Id" (208) (RADIUS attribute number 31) represents a unique identifier of the client, for example the unique MAC address of the network adapter that it uses.
En liaison avec le protocole de protection de l'identité selon l'invention, le serveur d'authentification affecte à chaque session, identifiée de manière unique par la valeur « Session-Id », un module de sécurité. Lorsque aucun module de sécurité n'est disponible, le paquet « Access-Request » est ignoré par le logiciel RADIUS, le NAS distant ne reçoit en conséquence aucune notification de cet événement.In connection with the identity protection protocol according to the invention, the authentication server assigns each session, uniquely identified by the value "Session-Id", a security module. When no security module is available, the "Access-Request" package is ignored by the software RADIUS, the remote NAS therefore receives no notification of this event.
Un message EAP est encapsulé, en fonction de sa taille, dans un ou plusieurs attributs (214) dont la longueur utile est de 254 octets. Le logiciel du serveur RADIUS vérifie la valeur correcte de l'attributAn EAP message is encapsulated, based on its size, in one or more attributes (214) whose useful length is 254 bytes. The RADIUS server software checks the correct value of the attribute
(215), un HMAC-MD5 protégé par une clé secrète (appelée le secret RADIUS). En cas de succès le message EAP est re-assemblé puis envoyé vers le module de sécurité (501) associé à la session RADIUS identifiée par (301). Ainsi, le module de sécurité serveur, mettant en œuvre le procédé de protection de l'identité selon l'invention, est à même de délivrer l'identité du terminal client au serveur RADIUS en vue d'obtenir une assertion d'authentification de la part de ce dernier. Par suite, lorsque chaque module d'authentification gère au plus une session, le nombre maximal de sessions d'authentification gérées simultanément par un logiciel RADIUS serveur est égal au nombre de modules sécurité. Cependant les progrès technologiques, notamment en terme de performance, permettent d'envisager la gestion simultanée de plusieurs sessions d'authentification par un module de sécurité. Dans ce cas le logiciel RADIUS peut affecter plusieurs sessions à chaque module de sécurité. (215), an HMAC-MD5 protected by a secret key (called the RADIUS secret). If successful the EAP message is reassembled and sent to the security module (501) associated with the RADIUS session identified by (301). Thus, the server security module, implementing the identity protection method according to the invention, is able to deliver the identity of the client terminal to the RADIUS server in order to obtain an authentication assertion of the from the latter. As a result, when each authentication module manages at most one session, the maximum number of authentication sessions managed simultaneously by a server RADIUS software is equal to the number of security modules. However, technological progress, especially in terms of performance, make it possible to consider the simultaneous management of several authentication sessions by a security module. In this case the RADIUS software can assign multiple sessions to each security module.

Claims

REVENDICATIONS
1. Procédé d'authentification d'un terminal client auprès d'un serveur d'authentification, ledit terminal client possédant un certificat d'authentification, caractérisé en ce qu'il comprend les phases suivantes : - obtention d'au moins un paramètre de cryptage par ledit terminal client ; chiffrement dudit certificat d'authentification par ledit terminal client, à partir dudit au moins un paramètre de cryptage, délivrant un certificat d'authentification chiffré ; transmission dudit certificat d'authentification chiffré audit serveur ; - obtention dudit au moins un paramètre de cryptage par ledit serveur ; déchiffrement dudit certificat d'authentification chiffré, à partir dudit au moins un paramètre de cryptage ; authentification et délivrance d'une assertion d'authentification si l'authentification est positive. 1. A method of authenticating a client terminal with an authentication server, said client terminal having an authentication certificate, characterized in that it comprises the following phases: obtaining at least one parameter of encryption by said client terminal; encrypting said authentication certificate by said client terminal, from said at least one encryption parameter, delivering an encrypted authentication certificate; transmitting said encrypted authentication certificate to said server; obtaining said at least one encryption parameter by said server; decrypting said encrypted authentication certificate from said at least one encryption parameter; authentication and issuance of an authentication assertion if the authentication is positive.
2. Procédé d'authentification selon la revendication 1, caractérisé en ce que ladite phase de chiffrement dudit certificat d'authentification par ledit terminal client comprend les étapes de : calcul, par ledit terminal client, d'une clé de chiffrement de certificat en fonction dudit au moins un paramètre de cryptage ; - chiffrement dudit certificat d'authentification à l'aide de ladite clé de chiffrement de certificat. 2. Authentication method according to claim 1, characterized in that said encryption phase of said authentication certificate by said client terminal comprises the steps of: calculating, by said client terminal, a certificate encryption key based on said at least one encryption parameter; encrypting said authentication certificate using said certificate encryption key.
3. Procédé d'authentification selon l'une quelconque des revendications 1 et 2 caractérisé en ce que ladite phase d'obtention dudit au moins un paramètre de cryptage par ledit serveur comprend les étapes de : - chiffrement dudit au moins un paramètre de cryptage par ledit terminal client en fonction d'au moins une clé publique transmise par ledit serveur audit terminal ; transmission dudit au moins un paramètre de cryptage chiffré par ledit terminal client audit serveur ; - déchiffrement dudit au moins un paramètre de cryptage chiffré par ledit serveur en fonction d'au moins une clé privée de chiffrement asymétrique à ladite au moins une clé publique de chiffrement ;3. authentication method according to any one of claims 1 and 2 characterized in that said phase of obtaining said at least one encryption parameter by said server comprises the steps of: - encryption of said at least one encryption parameter by said client terminal as a function of at least one public key transmitted by said server to said terminal; transmitting said at least one encryption parameter encrypted by said client terminal to said server; decryption of said at least one encryption parameter encrypted by said server according to at least one asymmetric encryption private key to said at least one public encryption key;
4. Procédé d'authentification selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ledit au moins un paramètre de cryptage appartient au groupe comprenant au moins : une information représentative d'un nombre aléatoire obtenu par ledit serveur d'authentification ; une information représentative d'un nombre aléatoire obtenu par ledit terminal client ; - une information représentative d'un nombre chiffré avec ladite clé publique dudit serveur d'authentification ;4. Authentication method according to any one of claims 1 to 3, characterized in that said at least one encryption parameter belongs to the group comprising at least: information representative of a random number obtained by said authentication server ; information representative of a random number obtained by said client terminal; an information representative of an encrypted number with said public key of said authentication server;
5. Procédé d'authentification selon l'une quelconque des revendications 1 à 4 caractérisé en ce qu'il est mis en œuvre au sein du protocole SSL et/ou TLS. 5. Authentication method according to any one of claims 1 to 4 characterized in that it is implemented within the SSL and / or TLS protocol.
6. Procédé d'authentification selon la revendication 5 caractérisé en ce qu'il est mis en œuvre au sein du protocole EAP. 6. Authentication method according to claim 5, characterized in that it is implemented within the EAP protocol.
7. Procédé de chiffrement d'identité par un terminal client possédant un certificat d'authentification, lors d'une authentification dudit terminal auprès d'un serveur d'authentification, caractérisé qu'il comprend les étapes de : obtention d'au moins un paramètre de cryptage par ledit terminal client ; chiffrement dudit certificat d'authentification par ledit terminal client, à partir dudit au moins un paramètre de cryptage ; transmission dudit certificat d'authentification chiffré audit serveur ;7. A method of encryption of identity by a client terminal having an authentication certificate, when an authentication of said terminal with an authentication server, characterized it comprises the steps of: obtaining at least one encryption parameter by said client terminal; encrypting said authentication certificate by said client terminal, from said at least one encryption parameter; transmitting said encrypted authentication certificate to said server;
8. Dispositif de chiffrement d'identité d'un terminal client possédant un certificat d'authentification, lors d'une authentification dudit terminal auprès d'un serveur d'authentification, caractérisé qu'il comprend des moyens : d'obtention d'au moins un paramètre de cryptage ; - de chiffrement dudit certificat d'authentification, à partir dudit au moins un paramètre de cryptage ; de transmission dudit certificat d'authentification chiffré audit serveur ;8. Device for encrypting the identity of a client terminal having an authentication certificate, when an authentication of said terminal with an authentication server, characterized that it comprises means: to obtain from minus one encryption parameter; - of encryption of said authentication certificate, from said at least one encryption setting; transmitting said encrypted authentication certificate to said server;
9. Dispositif de chiffrement d'identité selon la revendication 8, caractérisé en ce qu'il est mis en œuvre au sein d'une carte à puce implémentant une machine virtuelle.9. Identity encryption device according to claim 8, characterized in that it is implemented within a smart card implementing a virtual machine.
10. Procédé de déchiffrement d'identité d'un terminal client possédant un certificat d'authentification, par un serveur d'authentification lors d'une authentification dudit terminal auprès dudit serveur d'authentification, caractérisé qu'il comprend les étapes de : - réception d'un certificat d'authentification chiffré en provenance dudit terminal client ; obtention d'au moins un paramètre de cryptage par ledit serveur ; déchiffrement dudit certificat d'authentification chiffré, à partir dudit au moins un paramètre de cryptage ; - authentification et délivrance d'une assertion d'authentification si l' authentification est positive.10. A method of decrypting the identity of a client terminal having an authentication certificate, by an authentication server during an authentication of said terminal with said authentication server, characterized in that it comprises the steps of: receiving an encrypted authentication certificate from said client terminal; obtaining at least one encryption parameter by said server; decrypting said encrypted authentication certificate from said at least one encryption parameter; - authentication and issuance of an authentication assertion if the authentication is positive.
11. Dispositif de déchiffrement d'identité d'un terminal client possédant un certificat d'authentification, lors d'une authentification dudit terminal auprès d'un serveur d'authentification, caractérisé qu'il comprend des moyens de : réception d'un certificat d'authentification chiffré en provenance dudit terminal client ; obtention d'au moins un paramètre de cryptage par ledit serveur ; déchiffrement dudit certificat d'authentification chiffré, à partir dudit au moins un paramètre de cryptage ; authentification et délivrance d'une assertion d'authentification si l' authentification est positive.11. Device for decrypting the identity of a client terminal having an authentication certificate, when authenticating said terminal with an authentication server, characterized in that it comprises means for: receiving a certificate encrypted authentication from said client terminal; obtaining at least one encryption parameter by said server; decrypting said encrypted authentication certificate from said at least one encryption parameter; authentication and issuance of an authentication assertion if the authentication is positive.
12. Dispositif de déchiffrement d'identité selon la revendication 11, caractérisé en ce qu'il est mis en œuvre au sein d'une carte à puce implémentant une machine virtuelle. 12. Device for decrypting identity according to claim 11, characterized in that it is implemented within a smart card implementing a virtual machine.
13. 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é d'authentification d'un terminal client auprès d'un serveur d'authentification selon l'une au moins des revendications 1 à 6, lorsqu'il est exécuté sur un ordinateur.13. Computer program product downloadable from a communication network and / or stored on a computer readable medium and / or executable by a microprocessor, characterized in that it comprises program code instructions for the execution of the method authentication of a client terminal to an authentication server according to at least one of claims 1 to 6, when executed on a computer.
14. 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 chiffrement d'identité par un terminal client selon la revendication 7 lorsqu'il est exécuté sur un ordinateur.14. Computer program product downloadable from a communication network and / or stored on a computer readable medium and / or executable by a microprocessor, characterized in that it comprises program code instructions for the execution of the method client terminal encryption method according to claim 7 when executed on a computer.
15. 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 déchiffrement d'identité d'un terminal client selon la revendication 10 lorsqu'il est exécuté sur un ordinateur. 15. Computer program product downloadable from a communication network and / or stored on a computer readable medium and / or executable by a microprocessor, characterized in that it comprises program code instructions for the execution of the method client terminal decryption method according to claim 10 when executed on a computer.
EP07727739A 2006-04-07 2007-04-03 Identity protection method, devices and corresponding computer programme product Withdrawn EP2012907A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0603114A FR2899749B1 (en) 2006-04-07 2006-04-07 IDENTITY PROTECTION METHOD, DEVICES, AND CORRESPONDING COMPUTER PROGRAM PRODUCT
PCT/EP2007/053268 WO2007115982A2 (en) 2006-04-07 2007-04-03 Identity protection method, devices and corresponding computer programme product

Publications (1)

Publication Number Publication Date
EP2012907A2 true EP2012907A2 (en) 2009-01-14

Family

ID=37772855

Family Applications (1)

Application Number Title Priority Date Filing Date
EP07727739A Withdrawn EP2012907A2 (en) 2006-04-07 2007-04-03 Identity protection method, devices and corresponding computer programme product

Country Status (7)

Country Link
US (1) US20100005290A1 (en)
EP (1) EP2012907A2 (en)
CN (1) CN101657992A (en)
CA (1) CA2648377A1 (en)
FR (1) FR2899749B1 (en)
RU (1) RU2451398C2 (en)
WO (1) WO2007115982A2 (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007009023B4 (en) * 2007-02-23 2011-12-22 Siemens Ag Device and method for providing RFID identification data for an authentication server
US8176328B2 (en) * 2008-09-17 2012-05-08 Alcatel Lucent Authentication of access points in wireless local area networks
CN101378358B (en) * 2008-09-19 2010-12-15 成都市华为赛门铁克科技有限公司 Method, system and server for safety access control
DE102010044518A1 (en) * 2010-09-07 2012-03-08 Siemens Aktiengesellschaft Method for certificate-based authentication
GB201116932D0 (en) * 2011-10-01 2011-11-16 Young Peter J Device to detect unattended open door or draw
US9647835B2 (en) 2011-12-16 2017-05-09 Akamai Technologies, Inc. Terminating SSL connections without locally-accessible private keys
US9380038B2 (en) * 2012-03-09 2016-06-28 T-Mobile Usa, Inc. Bootstrap authentication framework
US20140006806A1 (en) * 2012-06-23 2014-01-02 Pomian & Corella, Llc Effective data protection for mobile devices
RU2541901C2 (en) * 2012-08-29 2015-02-20 Общество с ограниченной ответственностью "Гейзер-Телеком" Method for guaranteed protection of information transmitted via radio link from unauthorised access using special information encoding (conversion) with open storage of encoding parameters
US10069827B2 (en) * 2012-10-31 2018-09-04 International Business Machines Corporation Extending authentication and authorization capabilities of an application without code changes
US9173095B2 (en) * 2013-03-11 2015-10-27 Intel Corporation Techniques for authenticating a device for wireless docking
US10078754B1 (en) * 2013-09-24 2018-09-18 Amazon Technologies, Inc. Volume cryptographic key management
CN104468124B (en) * 2014-12-22 2018-04-27 联想(北京)有限公司 Authentication method and electronic equipment based on SSL
EP3160176B1 (en) * 2015-10-19 2019-12-11 Vodafone GmbH Using a service of a mobile packet core network without having a sim card
US10116630B2 (en) * 2016-04-04 2018-10-30 Bitdefender IPR Management Ltd. Systems and methods for decrypting network traffic in a virtualized environment
CN106228070A (en) * 2016-06-29 2016-12-14 江海职业技术学院 A kind of computer information processing system
EA036373B1 (en) * 2017-02-07 2020-10-30 Александр Иванович Силаев Interactive gaming system, method for playing a remotely accessible interactive game
CN109743336B (en) * 2019-03-05 2021-10-01 上海扩博智能技术有限公司 Unmanned aerial vehicle safety communication method and system
CN110995414B (en) * 2019-12-23 2023-08-11 中金金融认证中心有限公司 Method for establishing channel in TLS1_3 protocol based on cryptographic algorithm
CN113010880B (en) * 2021-02-08 2022-10-14 上海新时达电气股份有限公司 Elevator accessory authentication method, system, server and storage medium
US11838428B2 (en) * 2021-12-20 2023-12-05 Nokia Technologies Oy Certificate-based local UE authentication

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117125B1 (en) * 1999-06-11 2012-02-14 Citicorp Developement Center, Inc. Method and system for controlling certificate based open payment transactions
DE19939281A1 (en) * 1999-08-19 2001-02-22 Ibm Access control procedure for access to the contents of web-sites, involves using a mobile security module, such as a smart card
DE10025626A1 (en) * 2000-05-24 2001-11-29 Deutsche Telekom Ag Encrypt data to be stored in an IV system
BR0111112A (en) * 2000-05-25 2003-04-15 Diebold Inc Automated financial transaction machine; method; and kind of computer readable
NO313480B1 (en) * 2001-01-24 2002-10-07 Telenor Asa Procedure for opening all or part of a smart card
US7500100B1 (en) * 2003-09-10 2009-03-03 Cisco Technology, Inc. Method and apparatus for verifying revocation status of a digital certificate
WO2005093542A1 (en) * 2004-03-26 2005-10-06 Bce Inc. Security system and method
JP3761557B2 (en) * 2004-04-08 2006-03-29 株式会社日立製作所 Key distribution method and system for encrypted communication
US7900039B2 (en) * 2005-01-17 2011-03-01 Lg Electronics, Inc. TLS session management method in SUPL-based positioning system

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
US20100005290A1 (en) 2010-01-07
WO2007115982A2 (en) 2007-10-18
RU2008142008A (en) 2010-05-20
CA2648377A1 (en) 2007-10-18
WO2007115982A3 (en) 2009-10-15
FR2899749B1 (en) 2008-07-04
CN101657992A (en) 2010-02-24
FR2899749A1 (en) 2007-10-12
RU2451398C2 (en) 2012-05-20

Similar Documents

Publication Publication Date Title
EP2012907A2 (en) Identity protection method, devices and corresponding computer programme product
EP1371207B1 (en) Portable device for securing packet traffic in a host platform
FR2916592A1 (en) INFORMATION EXCHANGE SECURING METHOD, DEVICE, AND CORRESPONDING COMPUTER PROGRAM PRODUCT
EP3375133B1 (en) Method for securing and authenticating a telecommunication
WO2009115755A2 (en) Authentication method, authentication system, server terminal, client terminal and computer programs therefor
CN104735037B (en) A kind of method for network authorization, apparatus and system
EP1867189A1 (en) Secure communication between a data processing device and a security module
EP1514377A1 (en) Interface method and device for the on-line exchange of contents data in a secure manner
CN113904767A (en) System for establishing communication based on SSL
Badra et al. Toward SSL integration in SIM smartcards
Urien et al. Security and Privacy for the next Wireless Generation
Urien et al. Tandem smart cards: enforcing trust for TLS-based network services
Markovic Data protection techniques, cryptographic protocols and pki systems in modern computer networks
EP2441228A1 (en) Device and method for secure access to a remote server
Urien et al. Introducing smartcard enabled radius server
Urien et al. Designing smartcards for emerging wireless networks
FR2901084A1 (en) User`s identity protecting method for e.g. mobile telephone, involves ensuring protection of identity of client device user, and deriving encryption key from less weightage bits of key generated from premaster secret and random values
WO2012156365A1 (en) Method for securing an authentication platform, and corresponding hardware and software
Badra et al. Adding identity protection to eap-tls smartcards
EP2409474A1 (en) Method for generating security data, and corresponding device and computer program
Badra Le transport et la sécurisation des échanges sur les réseaux sans fil
FR2901438A1 (en) Client e.g. computer, connection establishing method for e.g. bank transaction application, involves handshaking safety parameters by client and server to establish secured session by utilizing pre shared key, and authenticating client
Urien TLS-Tandem: A collaborative technology for trusted WEB applications
Badra et al. TLS Tandem
EP1858224A1 (en) Method of setting up virtual private networks and remote access control

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: 20081007

AK Designated contracting states

Kind code of ref document: A2

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

RIN1 Information on inventor provided before grant (corrected)

Inventor name: BADRA, MOHAMAD

Inventor name: URIEN, PASCAL

RIN1 Information on inventor provided before grant (corrected)

Inventor name: URIEN, PASCAL

Inventor name: BADRA, MOHAMAD

R17D Deferred search report published (corrected)

Effective date: 20091015

DAX Request for extension of the european patent (deleted)
RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: GROUPE DES ECOLES DE TELECOMMUNICATIONS - ECOLE NA

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: 20151103