This application claims the benefit of Korean Patent Application No. 10-2020-0070436, filed Jun. 10, 2020, which is hereby incorporated by reference in its entirety into this application.
The present invention relates generally to IoT technology, and more particularly to technology for authenticating a device based on a certificate using a Physical Unclonable Function (PUF) in an IoT environment.
Currently, most IoT devices have software-based security applied thereto, but despite the application of various forms of software-based security, a lot of cases of damage resulting from various types of hacking are reported. Furthermore, because most IoT devices are lightweight and low-power systems, lightweight security systems, rather than heavy software-based security, are commonly applied thereto. Also, because a key is stored in memory due to the characteristics of software-based security, it is likely that exposure of the key will result in large amounts of damage. Recently, thanks to the rapid development of IT technology, state-of-the-art devices have emerged, but economic and industrial losses incurred from forgery using illegal replication are continually increasing.
In order to solve the above-mentioned problems, a Physical Unclonable Function (PUF) has emerged. A PUF is technology for imparting a unique characteristic to respective devices, similar to biometric information, such as a fingerprint, an iris, or the like of a human, and enables devices to have different characteristics even though the devices are produced through the same manufacturing process. That is, even though devices are produced using the same method, the unique characteristic of each device cannot be cloned. Accordingly, when a non-replicable PUF is implemented using any of various methods, a key can be generated through the PUF whenever the key is required, without the need to store the key, whereby reliable security against the threat of key exposure may be improved. The key generated using PUF technology may be effectively used in order to encrypt data that can be leaked or to authenticate an IoT device.
When the above-described PUF technology is used for authentication, a unique identifier for identifying each device may be generated inside the device without a process of inputting the same from the outside. Also, because it is not necessary to allocate internal nonvolatile memory for storing each identifier, a cost reduction can be expected. The PUF technology is configured such that circuits produced through the same manufacturing process have different output values when provided with the same input value. Therefore, a pair comprising the input and output of each PUF circuit may be used as a Challenge-Response Pair (CRP) for authenticating each device. That is, pieces of CRP information for authenticating devices are stored in advance in the database of an authentication server, and a CRP generated through the PUF module of the device to be authenticated is compared therewith, whereby the device may be authenticated.
As shown in
In order to respond to such a requirement, various forms of improved methods have been proposed, but most of these methods still use a method of authenticating a device by directly matching CRP information. That is, an efficient device authentication method capable of minimizing security threats resulting from the direct exposure of CRP information and facilitating authentication key management in an authentication server while still providing the above-described technique of device authentication based on a PUF is required.
Meanwhile, Korean Patent No. 10-2094606, titled “Authentication apparatus and method”, discloses an authentication apparatus and method in which a response signal is generated by inputting a challenge signal generated using a device identification value of a device requesting authentication to a PUF circuit, after which authentication is performed using ciphertext generated using the response signal and the challenge signal.
An object of the present invention is to provide a more secure and efficient device authentication method by fundamentally preventing a private key, which is used for generating and distributing a certificate based on a public key and authenticating a device, from being exposed.
Another object of the present invention is to prevent the threat of an attack on a certificate for a digital signature, to effectively respond to exposure of an authentication key, and to contribute to securement of interoperability and security and technology extension in an IoT market based on compatibility and interworking with existing technology.
In order to accomplish the above objects, a method for device authentication based on a certificate using a Physical Unclonable Function (PUF), performed by an apparatus for device authentication based on a certificate using a PUF, according to an embodiment the present invention includes acquiring previously stored first Challenge-Response-Pair (CRP) information corresponding to identification information received from a device that requests authentication and generating a certificate including a public key generated using the first CRP information; transmitting a message in which the certificate encrypted using the first response value of the first CRP information as a server secret key and the first challenge value of the first CRP information are included to the device; and verifying an encrypted signature message received from the device through a secure channel, thereby authenticating the device.
Here, generating the certificate may be configured to generate the public key using the first response value as a private key and to generate the certificate including the identification information and the public key.
Here, the method may further include generating, by the device, a second response value from the first challenge value using a PUF and decrypting, by the device, the certificate using the second response value as a device secret key.
Here, decrypting the certificate may be configured such that the device compares the identification information included in the decrypted certificate with the previously stored identification and thereby verifies validity of the certificate.
Here, authenticating the device may be configured to communicate with the device through the secure channel, connected based on a preset security protocol.
Here, the encrypted signature message may be acquired in such a way that the device encrypts a signature message on the secure channel using the second response value as a private key.
Here, authenticating the device may be configured to decrypt the encrypted signature message using the public key included in the certificate and to authenticate the device by verifying the decrypted signature message.
Here, the method may further include receiving second CRP information from the device through the secure channel and updating the first CRP information to the second CRP information.
Here, updating the first CRP information may be configured such that, when the device is successfully authenticated, the device generates the second CRP information by selecting an update challenge value and generating an update response value from the update challenge value using the PUF.
Here, updating the first CRP information may be configured to receive the second CRP information from the device through the secure channel, to update the first CRP information to the second CRP information, and to reply with information about whether the update is completed to the device.
Also, in order to accomplish the above objects, an apparatus for device authentication based on a certificate using a Physical Unclonable Function (PUF) according to an embodiment of the present invention includes one or more processors and executable memory for storing at least one program executed by the one or more processors. The at least one program may be configured to acquire previously stored first Challenge-Response-Pair (CRP) information corresponding to identification information received from a device that requests authentication and generate a certificate including a public key generated using the first CRP information; to transmit a message in which the certificate encrypted using the first response value of the first CRP information as a server secret key and the first challenge value of the first CRP information are included to the device; and to verify an encrypted signature message received from the device through a secure channel and thereby authenticate the device.
Here, the at least one program may generate the public key using the first response value as a private key and generate the certificate including the identification information and the public key.
Here, the device may generate a second response value from the first challenge value using a PUF and decrypt the certificate using the second response value as a device secret key.
Here, the device may compare the identification information included in the decrypted certificate with the previously stored identification information and thereby verify validity of the certificate.
Here, the at least one program may communicate with the device through the secure channel connected based on a preset security protocol.
Here, the encrypted signature message may be acquired in such a way that the device encrypts a signature message on the secure channel using the second response value as a private key.
Here, the at least one program may decrypt the encrypted signature message using the public key included in the certificate and authenticate the device by verifying the decrypted signature message.
Here, the at least one program may receive second CRP information from the device through the secure channel and update the first CRP information to the second CRP information.
Here, when the device is successfully authenticated, the device may generate the second CRP information by generating an update response value from a previously stored update challenge value using the PUF.
Here, the at least one program may receive the second CRP information from the device through the secure channel, update the first CRP information to the second CRP information, and reply with information about whether the update is completed to the device.
The above and other objects, features and advantages of the present invention will be more clearly understood from the following detailed description, taken in conjunction with the accompanying drawings, in which:
The present invention will be described in detail below with reference to the accompanying drawings. Repeated descriptions and descriptions of known functions and configurations that have been deemed to unnecessarily obscure the gist of the present invention will be omitted below. The embodiments of the present invention are intended to fully describe the present invention to a person having ordinary knowledge in the art to which the present invention pertains. Accordingly, the shapes, sizes, etc. of components in the drawings may be exaggerated in order to make the description clearer.
Throughout this specification, the terms “comprises” and/or “comprising” and “includes” and/or “including” specify the presence of stated elements but do not preclude the presence or addition of one or more other elements unless otherwise specified.
Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.
Referring to
The system for authenticating a device based on a certificate using a PUF according to an embodiment of the present invention may provide a device authentication technique that appropriately uses a CRP value, which is a pair comprising the input and output of a Physical Unclonable Function (PUF), in order to generate a certificate of a device and verify a digital signature.
Also, the PUF fundamentally prevents a private key, which is used for device authentication based on a certificate, from being exposed, thereby minimizing the possibility of a security threat attributable to the exposure of an authentication key.
Accordingly, the system for authenticating a device based on a certificate using a PUF according to an embodiment of the present invention provides an IoT device authentication method based on a certificate and uses PUF technology to generate and distribute the certificate and verify a digital signature, thereby providing more secure and efficient device authentication.
First, the authentication server 100 may start operation using a single piece of initial CRP information generated from the PUF operation unit of the device 10 to authenticate (such initial settings must be performed in a manufacturing process or in a secure environment). In the initial settings, the device 10 may store the identification information of device A (that is, the device, the device ID of which is A) in advance. In this case, the device 10 may be the device A.
Here, the device 10 transmits a message including the identification information, which indicates the device, the device ID of which is A, to the authentication server 100, thereby requesting authentication.
Here, the authentication server 100 may generate the certificate to transmit to the device 10 based on the basic information (the initially set ID information and the like) of device A and a predefined public-key generation method (public-key cryptography such as RSA or ECC) (a certificate generation process through an external Certification Authority (CA) server or the like may be omitted).
Here, in response to the authentication request, the authentication server 100 may acquire the initial CRP information corresponding to the device, the device ID of which is A, from a database in which the initial CRP information has been stored in advance.
Here, the authentication server 100 may generate a public key 22 using an initial response value Ro, corresponding to the initial challenge value Co of the initial CRP information of the device 10, as a private key 11.
Here, the authentication server 100 may generate a certificate, including the public key 22 and the identification information indicating the device 10, the device ID of which is A.
Here, the authentication server 100 may transmit a message, including the certificate and the initial challenge value Co, to the device 10.
Here, the certificate may be encrypted using preset symmetric-key cryptography (symmetric-key cryptography such as DES or AES) in order to prevent the certificate from being exposed to the outside, and as a symmetric key therefor, the initial response value Ro, corresponding to the initial challenge value Co of the corresponding device, may be reused.
Also, the device 10 may generate a response value using the initial challenge value Co included in the received message as the input of the PUF, and may decrypt the received certificate using the generated response value as the secret key 11.
Here, the device 10 checks whether the identification information included in the decrypted certificate is the same as the identification information thereof, thereby verifying whether the certificate is valid.
Here, when the certificate is valid, the device 10 may communicate with the authentication server 100 through a secure channel based on a preset security protocol method.
Here, as the security protocol method, Transport Layer Security (TLS) communication, which is used for certificate-based communication, may be used.
Here, the authentication server 100 may authenticate the device 10 by verifying the certificate received from the device 10 through the secure channel.
Here, when authentication of the device 10 succeeds, the device 10 may generate new arbitrary updated CRP information (C1, R1) to use for subsequent authentication, and may transmit the updated CRP information to the authentication server 100 through the secure channel generated through TLS communication.
Finally, the authentication server 100 may update the existing initial CRP information to the received updated CRP information, reply with the result of the update as acknowledgement (ACK), and manage the updated CRP information.
As described above, the system for authenticating a device based on a certificate using a PUF according to an embodiment of the present invention uses a CRP value, which is a pair comprising the input and output of a PUF module, in order to generate a certificate using public-key cryptography and to verify a digital signature, thereby providing a more effective and secure device authentication method and minimizing a security threat attributable to exposure of a private key used for device authentication based on a public key.
Also, the device authentication method of the system for authenticating a device based on a certificate using a PUF according to an embodiment of the present invention may also be applied to an authentication method that uses public-key cryptography but does not use a certificate.
Referring to
Here, the device 10 may store its identification information indicating the device 10, the device ID of which is A, and the authentication server 100 may store initial CRP information corresponding to identification information of devices in the internal database thereof.
First, the device 10 may request authentication at step S210 by transmitting an authentication request message including its identification information indicating the device 10, the device ID of which is A, to the authentication server 100.
The authentication server 100 may acquire previously stored first Challenge-Response-Pair (CRP) information corresponding to the identification information received from the device 10 requesting authentication at step S220.
That is, at step S220, the authentication server 100 may acquire the previously stored initial CRP information (CO, RO), corresponding to the identification information, in which the device ID is A, from the internal database.
The authentication server 100 may generate a public key PA based on predefined public-key cryptography, such as RSA, ECC, or the like, using the first response value RO of the initial CRP information (CO, RO) as a private key at step S230.
The authentication server 100 may generate a certificate CA including the identification information and the public key PA at step S240.
The authentication server 100 may encrypt the certificate based on predefined symmetric-key cryptography, such as DES, AES, or the like, using the first response value Ro of the first CRP information (CO, RO) as a server secret key at step S250.
The authentication server 100 may transmit a message, including the encrypted certificate ERO(CA) and the first challenge value CO of the first CRP information (CO, RO), to the device 10 at step S260.
The device 10 may generate a second response value RO′ from the first challenge value CO included in the message using a Physical Unclonable Function (PUF) at step S270.
The device 10 may decrypt the encrypted certificate ERO(CA) using the second response value RO′ as a device secret key (DRO′(ERO(CA))=CA) at step S280.
The device 10 compares the identification information included in the decrypted certificate CA with the previously stored identification information, thereby verifying whether the certificate CA is valid at step S290.
That is, at step S290, the device 10 checks whether the device ID included in the decrypted certificate CA is A, thereby verifying the validity of the certificate CA.
The authentication server 100 may perform device authentication using a secure channel through which connection with the device 10 is established based on Transport Layer Security (TLS) communication, which is a preset security protocol, at step S300.
That is, at step S300, TLS communication, which is used for communication based on a certificate, may be performed when the result of verification of the validity of the certificate CA performed by the device 10 is that the certificate is determined to be valid.
Referring to
First, the device 10 may transmit a “ClientHello” message to the authentication server 100 through TLS communication at step S301.
Here, the “ClientHello” message may include information, such as a TLS version available in the client, a session identifier, cipher settings, and the like.
The authentication server 100 may reply with a “ServerHello” message to the device 10 through TLS communication at step S302.
Here, the “ServerHello” message may include information such as a TLS version available in the server, a session identifier, cipher settings, and the like.
The authentication server 100 may transmit a “Certificate” message including the security certificate of the server to the device 10 at step S303.
The authentication server 100 may transmit a “ServerKeyExchange” message to the device 10 at step S304 when the certificate is used only for a signature.
The authentication server 100 may transmit a “CertificateRequest” message for requesting the certificate of the device to the device 10 at step S305.
The authentication server 100 may transmit a “ServerHelloDone” message, which indicates that all of the messages that have to be sent are transmitted, to the device 10 at step S306.
The device 10 may transmit the certificate CA to the authentication server 100 at step S307.
Here, at step S307, the device 10 may transmit a “Certificate” message including the certificate CA to the authentication server 100.
Here, the certificate may include the public key 22, which is generated using the first response value of the initial CRP information as a private key.
The device 10 may transmit a “ClientKeyExchange” message to the authentication server 100 at step S308 when the certificate is used only for a signature.
The device 10 may encrypt a signature message for handshake messages using the second response value RO′ as a private key 11, and may transmit the encrypted signature message to the authentication server 100 at step S309.
Here, at step S309, the authentication server 100 may decrypt the signature message using the public key 22 included in the certificate CA received from the device 10, and may authenticate the device 10 by verifying the decrypted signature message.
The device 10 may transmit a “ChangeCipherSpec” message to the authentication server 100 at step S310.
The device 10 may transmit a “Finished” message for completing transmission of the encrypted signature message to the authentication server 100 at step S311.
The authentication server 100 may transmit a “ChangeCipherSpec” message to the device 10 at step S312.
The authentication server 100 may transmit a “Finished” message, which indicates that the device is successfully authenticated based on the decrypted signature message, to the device 10 at step S313.
Referring again to
The authentication server 100 may receive the second CRP information (C1, R1) from the device 10 through the secure channel generated by performing TLS communication at step S330.
The authentication server 100 may update the first CRP information (CO, RO) to the second CRP information (C1, R1), which is received from the device 10, at step S340.
The authentication server 100 may reply with information about whether update is completed (ACK(COMPLETE)) to the device 10 at step S350.
Referring to
An authentication server 100, which is an apparatus for authenticating a device based on a certificate using a PUF according to an embodiment of the present invention, includes one or more processors 1110 and executable memory 1130 for storing at least one program executed by the one or more processors 1110. The at least one program may acquire previously stored first Challenge-Response-Pair (CRP) information corresponding to identification information received from a device 10 that requests authentication, generate a certificate including a public key generated using the first CRP information, transmit a message in which the certificate encrypted using the first response value of the first CRP information as a server secret key and the first challenge value of the first CRP information are included to the device 10, and verify an encrypted signature message received from the device 10 through a secure channel, thereby performing authentication of the device.
Here, the at least one program may generate the public key using the first response value as a private key, and may generate the certificate including the identification information and the public key.
Here, the device 10 may generate a second response value from the first challenge value using a Physical Unclonable Function (PUF), and may decrypt the certificate using the second response value as a device secret key.
Here, the device 10 may verify the validity of the certificate by comparing the identification information included in the decrypted certificate with the previously stored identification information.
Here, the at least one program may communicate with the device 10 through the secure channel, connected based on a preset security protocol.
Here, the encrypted signature message may be acquired in such a way that the device 10 encrypts a signature message on the secure channel using the second response value as a private key.
Here, the at least one program may decrypt the encrypted signature message using the public key included in the certificate, and may authenticate the device by verifying the decrypted signature message.
Here, the at least one program may receive second CRP information from the device 10 through the secure channel, and may update the first CRP information to the second CRP information.
Here, when authentication of the device 10 succeeds, the device 10 may generate the second CRP information by generating an update response value from a previously stored update challenge value using the PUF.
Here, the at least one program may receive the second CRP information from the device 10 through the secure channel, update the first CRP information to the second CRP information, and reply with information about whether the update is completed to the device 10.
The present invention may provide a more secure and efficient method for authenticating a device by fundamentally preventing a private key, which is used for generating and distributing a certificate based on a public key and authenticating the device, from being exposed.
Also, the present invention may prevent the threat of an attack on a certificate for a digital signature, may effectively respond to exposure of an authentication key, and may contribute to securement of interoperability and security and technology extension in an IoT market based on compatibility and interworking with existing technology.
As described above, the apparatus and method for authenticating a device based on a certificate using a PUF according to the present invention are not limitedly applied to the configurations and operations of the above-described embodiments, but all or some of the embodiments may be selectively combined and configured, so the embodiments may be modified in various ways.
Number | Date | Country | Kind |
---|---|---|---|
10-2020-0070436 | Jun 2020 | KR | national |