The present disclosure concerns the field of the cryptography and of the protocols for securing digital communications.
It is known to secure the digital communications between a server and a client. The existing server/client type security protocols require a significant computing power, which is not available on an access control reader or on a connected object hub, which we will also refer to as an IOT (Internet of Things) hub, and on the corresponding data processing unit, when said access control reader/IOT hub is intended to control the access to a given area, by reading the identification data of a user on a, RFID technology for example, badge and by transmitting the read data to the data processing unit for control by the data processing unit. The use of known protocols such as for example the TLS protocol for the server/client systems to authenticate the data processing unit and the access control reader/IOT hub, and to ensure the security of the information exchanges between the data processing unit and the access control reader/LOT hub with a satisfactory level of security requires a computing power which the data processing unit and the access control reader of an access control device/IOT hub do not necessarily have.
Moreover, in a server/client authentication system, each key exchange and authentication protocol must be carried out for each of the clients connected to the server because these are of different natures and from different manufacturers whereas in the case of access control systems/IOT hub, the readers and IOT apparatuses are generally of the same nature for a given installation site. In this specific case, it therefore becomes superfluous and time-consuming to manage for each of the readers/IOT a different key negotiation and authentication protocol.
In order to guarantee a security throughout the life of the installation, it is known to update the session keys once the authentication has been performed to guard against brute force attacks. However, this type of processing requires sending new authentication keys with a complex protocol which will further add processing complexity in the readers/IOT.
There is a risk of spying on the links between access control systems/IOT hubs, the readers and IOT apparatuses, in order to manage “man-in-the-middle” type attacks allowing an attacker to insert themselves into the existing link by impersonating a fake controller or a fake reader. This type of attack could be avoided by a 2-step exchange architecture.
The authentication protocols mentioned above such as TLS may use the certificate exchange to exchange their public keys. The structure of the current certificates does not allow to include the serial number of the reader/IOT because in general the certificates are global for the different servers in a server/client architecture.
Finally, the access control readers/IOT and their controllers will evolve over time to become more and more powerful, which would eventually make it possible to use the existing TLS type authentication protocols and then include the method for secure exchanges between a reader and a controller configured to communicate with each other in the data packets of the IP type frames. In the latter case, it would be very complex to redo the exchange layer between the controllers and access control readers/IOT and it is therefore necessary to be able to optimize this integration.
The disclosure proposes a solution to all or part of these problems.
To this end, the present disclosure concerns a method for secure exchanges between a reader and a controller configured to communicate with each other via a communication channel, the method comprising the following phases implemented by the reader:
According to one implementation, the disclosure comprises one or more of the following characteristics, alone or in a technically acceptable combination.
According to one implementation, the reader and the controller are configured to provide a control of access to a protected area.
According to one implementation, the reader is an access control reader, for example a RFID badge reader, or an IOT hub, configured to read the digital information contained in the badge.
In the rest of the text, the access control reader will designate both the badge reader for the control of access to a given area and the IOT hub.
According to one implementation, the phase of exchanging a public key of the controller comprises exchanging a plurality of public keys of the controller.
According to one implementation, the key exchange phase comprises:
According to one implementation, the key exchange phase is carried out during a phase of configuring the reader before a phase for on-site installation of the reader, via another communication channel between the reader and the controller, said other communication channel being different from the communication channel.
According to one implementation, the other communication means is a wide area network, such as the Internet, or a radio link.
According to these provisions, a spying on the exchanges during the key exchange phase is avoided.
According to one implementation, the information received, respectively emitted, during the key exchange phase is encapsulated in an IP frame According to one implementation, the public key of the controller is received in a certificate of the controller.
According to one implementation, the public key of the reader is emitted in a certificate of the reader.
According to one implementation, the certificate of the reader contains the serial number of the reader.
According to one implementation, the public key of the controller is received in a certificate of the controller, and the public key of the reader is emitted in a certificate of the reader.
According to one implementation, the serial number of the reader is encrypted or transformed.
According to these provisions, the choice of the security mechanism from the list of security mechanisms makes it possible to adjust the need for computing power to the resources available on the reader and on the controller.
According to one implementation, the controller is configured to communicate with several readers comprising a master reader and other readers, the security mechanism being accepted by the master reader during a phase of exchange of keys between the controller and the master reader, the security mechanism accepted by the master reader then being the only one proposed to the other readers during another phase of exchange of keys with each of the other readers.
According to these provisions, the security between all readers is homogenized.
According to one implementation, the step of receiving the public key of the controller comprises receiving a plurality of public keys of the controller.
According to one implementation, the security parameter generated by the controller is generated randomly, for example according to a cryptographic method.
According to one implementation, the security parameter generated by the reader is generated randomly, for example according to a cryptographic method.
According to one implementation, the phase of generating a sequence of session keys comprises the following steps:
According to one implementation, the calculation of the shared secret uses the Diffie-Hellman type key exchange based on elliptic curves.
According to one implementation, the calculation of the shared secret uses the Diffie-Hellman key exchange based on public key algorithms.
According to one implementation, the step of calculating the sequence of session keys from the shared secret may be triggered by a fulfillment of a triggering condition among the following triggering conditions:
According to these provisions, it is possible to generate new session keys without needing to restart the phase of exchange of keys between the controller and the reader with a new shared secret calculation. An idle time of the controller greater than a predetermined threshold may mean that the reader has changed its session keys.
According to one implementation, the confirmation phase of the sequence of keys comprises:
According to one implementation, the first authentication code is calculated according to a first predetermined alphanumeric value.
According to one implementation, the second authentication code is calculated according to a second predetermined alphanumeric value.
According to one implementation, the security parameter generated by the reader is another public key generated by the reader, to which another private key generated by the reader corresponds, and in which the secret is concatenated with another shared secret calculated from the other private key generated by the reader and from the public key of the controller, and the concatenated shared secret becoming the shared secret used for the step of calculating the sequence of session keys.
According to one implementation, the security parameter generated by the controller is another public key generated by the controller, to which another private key generated by the controller corresponds, and in which the other shared secret is calculated from the other private key generated by the reader and from the public key of the controller.
According to one implementation, the protocol phase comprises a step of receiving by the reader a secure request coming from the controller, a step of calculating a signature from the read information and from a key of a sequence of session keys and a step of creating a frame comprising the signature concatenated with the read information and with an anti-replay counter, and a step of encrypting the frame by using another key of the sequence of session keys, and a step of transmitting the encrypted frame.
According to these provisions, after the first authentication phases, the communication between the reader and the reader is secure.
The disclosure also concerns a method for secure communication between a reader and a controller, the method comprising the following phases implemented by the controller:
According to one implementation, the controller is configured to control the identity, and the access to a given area, of a user of the badge from the information read by the reader on the badge and received by the controller, the method comprising a final phase of controlling an identity of a user of the badge.
According to one implementation, the phase of exchanging a public key of the reader and a public key of the controller, comprises:
According to one implementation, the serial number of the reader is transformed or encrypted.
According to one implementation, the key exchange phase is carried out before a phase for on-site installation of the reader, via another means of communication between the reader and the controller, the other communication means being different from the communication means used on-site.
According to one implementation, the other communication means is an extended network, such as the Internet, or a radio link.
According to these provisions, a spying on the exchanges during the key exchange phase is avoided.
According to one implementation, the information received, respectively emitted during the key exchange phase are encapsulated in an IP frame.
According to one implementation, the public key of the controller is received with a certificate of the controller.
According to one implementation, the public key of the reader is emitted with a certificate of the reader.
According to one implementation, the certificate of the reader contains the serial number of the reader.
According to one implementation, the serial number of the reader is encrypted or transformed.
According to one implementation, the controller is configured to communicate with several readers comprising a master reader and other readers, the security mechanism being accepted by the master reader during a phase of exchange of keys between the controller and the master reader, the security mechanism accepted by the master reader then being the only one proposed to the other readers during another phase of exchange of keys with each of the other readers.
According to these provisions, the security between all the readers is homogenized.
According to one implementation, the step of emitting the public key of the controller comprises emitting a plurality of public keys of the controller.
According to one implementation, the phase of generating a sequence of session keys comprises the following steps:
According to one implementation, the calculation of the shared secret uses the Diffie-Hellman key exchange based on elliptic curves.
According to one implementation, the calculation of the shared secret uses the Diffie-Hellman key exchange based on public key algorithms.
According to one implementation, the step of calculating the sequence of session keys from the shared secret may be triggered by a fulfillment of a triggering condition among the following triggering conditions:
According to these provisions, it is possible to generate new session keys without needing to restart the phase of exchange of keys between the controller and the reader with a new shared secret calculation. An idle time of the controller greater than a predetermined threshold may mean that the reader has changed its session keys.
According to one implementation, the phase of confirming the sequence of keys comprises:
According to one implementation, the first authentication code is calculated according to a first predetermined alphanumeric value.
According to one implementation, the second authentication code is calculated according to a second predetermined alphanumeric value.
According to one implementation, the security parameter generated by the reader is another public key generated by the reader, and in which the shared secret is concatenated with another shared secret calculated from the private key of the controller and from the other public key generated by the reader, the concatenated shared secret becoming the shared secret used for the step of calculating the sequence of session keys.
According to one implementation, the security parameter generated by the controller is another public key generated by the controller, to which another private key generated by the controller corresponds, and in which the other shared secret is calculated from the other private key generated by the controller and from the other public key generated by the reader.
According to one implementation, the protocol phase comprises a step of emitting by the controller to the reader a secure request, a step of receiving an encrypted frame, a step of decrypting the frame by using a key of the sequence of session keys, the decrypted frame comprising a signature concatenated with the read information and with an anti-replay counter, and a step of verifying the signature with another key of the sequence of session keys and the anti-replay counter.
According to one implementation, the controller is configured to communicate with a plurality of readers, a reader among the plurality of readers being a master reader, the security mechanism being accepted by the master reader during a phase of exchange of keys between the controller and the master reader, the security mechanism accepted by the master reader then being the only one proposed to the other readers of the plurality of readers, during another phase of exchange of keys between the controller with each of the other readers of the plurality of readers.
According to one implementation, the plurality of readers comprises a first group of readers configured to protect the access to a first area, and in which the plurality of readers comprises at least one second group of readers configured to protect the access to at least one second area, and in which the master reader belongs to the first group of readers, the security mechanism being accepted by the master reader during a phase of exchange of keys between the controller and the master reader, the security mechanism accepted by the master reader then being the only one proposed to the other readers of the first group of readers during another phase of exchange of keys between the controller with each of the other readers of the first group of readers.
According to one aspect of the disclosure, the disclosure also concerns an access control reader for controlling access to an area, configured to communicate information, read on a badge, to a controller, according to one of the examples of implementation of the method described above.
According to another aspect of the disclosure, the disclosure also concerns a controller of an access control reader configured to communicate with the access control reader according to one of the examples of implementation of the method 200 described above.
For its good understanding, an embodiment and/or implementation of the disclosure is described with reference to the attached drawings representing, by way of non-limiting example, an embodiment or implementation respectively of a device and/or method according to the disclosure. The same references in the drawings designate similar elements or elements whose functions are similar.
The secure exchange protocol or method 100, 200 according to the disclosure is intended to a device for controlling access to a protected area or to an IOT hub. The access control device typically comprises a badge reader B and a logic processing unit (UTL), also called controller A. The access control reader B implements, for example, the RFId type technology configured for reading the information contained in a RFId type badge; the access control reader B is configured to implement embedded firmware, and to communicate with the controller A, for example via a serial link of the RS485 type, according to a secure communication method 100, 200 according to the disclosure. The secure communication method 100, 200 according to the disclosure comprises a part of the secure communication method 100 implemented more particularly by the access control reader B and another part of the secure communication method 200 implemented more particularly by the controller A. This method makes it possible to first perform an authentication between the controller A and the reader B, and secondly to ensure the security of the communications between the reader B and the controller A.
To adapt to the limited computing power of the reader B and of the controller A of the access control device, the secure communication method 100 implemented more particularly by the access control reader B comprises the following phases:
Symmetrically, and in correspondence with the phases of the method 100 implemented by the reader B, the secure communication method 200 implemented more particularly by the controller A, comprises the following phases:
According to these provisions, after the first phases 102, 202, 103, 203, 104, 204, of the method 100, 200, which are phases of authentication and confirmation of the keys of the sequence of keys, the communication between the reader B and the reader A during the protocol phase 105, 205 is secure. The first session key k0 of the sequence of session keys is a first session key chosen among the keys of the sequence of session keys, but is not necessarily the first of the sequence of keys.
According to one example, the protocol phase 105 of the method 100 implemented by the reader B, comprises a step 1050 of receiving by the reader B a secure request RS coming from the controller A, a step of calculating a signature 1051 from the read information and from a key of the sequence of session keys and a step 105 of creating a frame comprising the signature concatenated with the read information and with an anti-replay counter, and a step 1053 of encrypting the frame by using another key of the sequence of session keys, and a step 1054 of transmitting the encrypted frame TC.
Correspondingly, the protocol phase 205 of the method 200 implemented by the controller A, comprises a step 2050 of emitting by the controller A to the reader B a secure request RS, a step 2051 of receiving an encrypted frame TC, a step 2052 of decrypting the frame by using a key of the sequence of session keys, the decrypted frame comprising a signature concatenated with the read information and with an anti-replay counter, and a step 2053 of verifying the signature with another key of the sequence of session keys and the anti-replay counter.
In particular, to adapt to the limited computing power of the reader B and of the controller A of the access control device, the key exchange phase 102 of the authentication phases of the method 100 implemented by the reader B comprises:
According to these provisions, the choice of the security mechanism from the list of security mechanisms makes it possible to adjust the need for computing power to the resources available on the reader and on the controller.
More particularly, the step of receiving the public key of the controller comprises receiving a plurality of public keys of the controller.
For example, the security parameter generated by the controller and/or the reader is generated randomly, according to a cryptographic method.
Symmetrically, and in correspondence with the steps of the key exchange phase 102 of the method 100 implemented by the reader B, the phase 202 of exchanging a public key BSpubK of the reader B and a public key ASpubK of the controller A, comprises:
In particular, considering the installation, illustrated in
More particularly, the other communication means N′ is an extended network, such as the Internet, or a radio link.
Thus, a spying is avoided on the communication channel N, used on the operative site for the exchanges during the key exchange phase on the operative site, since this key exchange has already been carried out via the other communication channel N.
According to one example of implementation, the information received, respectively emitted during the key exchange phase are encapsulated in an IP frame In particular, the public key of the controller is received with a certificate of the controller, and the public key of the reader is emitted in a certificate of the reader.
More particularly, the certificate of the reader contains the serial number of the reader, in clear, encrypted or transformed.
In particular again, the phase 103 of generating a sequence of session keys of the method 100 implemented by the reader B comprises:
where BEpubK is another public key generated by the reader B, to which another private key BEprivK generated by the reader B corresponds, and where AEprivK is another private key generated by the controller A, to which another public key AEpubK generated by the controller A corresponds;
For example: P
According to one implementation, this step 1032 of calculating the sequence of session keys from the shared secret S may be restarted either on:
This principle therefore makes it possible to generate new session keys different from the previous keys without needing to restart the protocol of exchange key and/or of exchanges between the controller and the reader allowing a new calculation of session keys.
Symmetrically, and in correspondence with the steps of phase 103 of generating a sequence of session keys of the method 100 implemented by the reader B, the phase 203 of generating a sequence of session keys of the method 200 implemented by the controller A, comprises the following steps:
Symmetrically, and in correspondence with the steps of the phase 103 of generating a sequence of session keys of the method 100 implemented by the reader B, the calculation of the sequence of session keys from the shared secret S may be restarted by the controller either with the use of a time counter, unit counter or on its initiative by sending a command of renewing session keys
More particularly, the calculation of the shared secret uses the Diffie-Hellman key exchange based on elliptic curves.
More particularly, the calculation of the shared secret uses the Diffie-Hellman key exchange based on public key algorithms.
In particular, the phase 104 of confirming the sequence of keys of the method 100 implemented by the reader B comprises:
Symmetrically, and in correspondence with the steps of phase 104 of confirming the sequence of keys of the method 100 implemented by the reader B, the phase 204 of confirming the sequence of keys of the method 200 implemented by the controller A, comprises the following steps:
According to a particular example, the first authentication code is calculated according to a first predetermined alphanumeric value infoAB0, and the second authentication code is calculated according to a second predetermined alphanumeric value infoBA0.
More particularly, the security parameter PB generated by the reader B is another public key BEpubK generated by the reader B, to which another private key BEprivK generated by the reader B corresponds, and in which the secret S is concatenated with another shared secret SE calculated from the other private key BEprivK generated by the reader B and from the public key ASpubK of the controller A, and the concatenated shared secret becoming the shared secret S used for step 1032 of calculating the sequence of session keys. Symmetrically, correspondingly, the security parameter PB generated by the reader B is another public key BEpubK generated by the reader B, and in which the shared secret S is concatenated with another shared secret SE calculated from the private key ASprivK of the controller A and from the other public key BEpubK generated by the reader B, the concatenated shared secret becoming the shared secret S used for step 2032 of calculating the sequence of session keys.
Even more particularly, the security parameter PA generated by the controller A is another public key AEpubK generated by the controller A, to which another private key AEprivK generated by the controller A corresponds, and in which the other secret shared SE IS calculated from the other private key BEprivK generated by the reader B and from the public key AEpubK of the controller A. Symmetrically, correspondingly, the security parameter PA generated by the controller A is another public key AEpubK generated by the controller A, to which another private key AEprivK generated by the controller A corresponds, and in which the other shared secret SE is calculated from the other private key AEprivK generated by the controller A and from the other public key BEpubK generated by the reader B.
According to one example of implementation illustrated in
According to these provisions, the security between all readers is homogenized.
This particular mode also makes it possible to speed up the exchanges and reduce the quantity of data exchanged between the controller A and the other readers B2x, because there is no longer any negotiation possible, the controller only proposing a single option of encryption algorithm during the key exchange phase.
According to another example of implementation, illustrated in
Thus, the homogenization may be applied locally, i.e. limited to the readers of a particular access control area corresponding to a group of specific readers Bix if the master reader belongs to this area, such as a security area with a high level of protection.
According to one aspect of the disclosure, the disclosure also concerns an access control reader B for controlling access to an area or an IOT hub, configured to communicate at least one information, read on a badge, to a controller A, according to one of the examples of implementation of the method 100 described above.
According to another aspect of the disclosure, the disclosure also concerns a controller A of an access control reader configured to communicate with the access control reader according to any of the examples of implementation of the method 200 described above.
Number | Date | Country | Kind |
---|---|---|---|
21/01784 | Feb 2021 | FR | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/FR2022/050285 | 2/17/2022 | WO |