Authentication of Networked Devices Having Low Computational Capacity
20230032116 · 2023-02-02
Assignee
Inventors
- KUMARAN VIJAYASANKAR (ALLEN, TX, US)
- Oliver Shih (Pittsburgh, PA, US)
- Arvind K. Raghu (Dallas, TX, US)
- Ramanuja Vedantham (Allen, TX)
- Xiaolin Lu (Plano, TX)
Cpc classification
H04L63/0442
ELECTRICITY
H04L63/0428
ELECTRICITY
Y04S40/20
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H04L63/062
ELECTRICITY
H04L63/0435
ELECTRICITY
H04L9/3268
ELECTRICITY
International classification
H04L9/32
ELECTRICITY
Abstract
Authentication of a networked device with limited computational resources for secure communications over a network. Authentication of the device begins with the supplicant node transmitting a signed digital certificate with its authentication credentials to a proxy node. Upon verifying the certificate, the proxy node then authenticates the supplicant's credentials with an authentication server accessible over the network, acting as a proxy for the supplicant node. Typically, this verification includes decryption according to a public/private key scheme. Upon successful authentication, the authentication server creates a session key for the supplicant node and communicates it to the proxy node. The proxy node encrypts the session key with a symmetric key, and transmits the encrypted session key to the supplicant node which, after decryption, uses the session key for secure communications. In some embodiments, the authentication server encrypts the session key with the symmetric key.
Claims
1. A method of initiating secured network communications, comprising: receiving a digital certificate, wherein the digital certificate includes a first portion and a second portion, the second portion including an authentication credential; verifying the digital certificate by comparing the first portion and the second portion, wherein the second portion includes an encryption key, an identifier of a first device, and a certificate authority identifier; and in response to the verifying, receiving a session key; transmitting the session key; and receiving a communication encrypted by the session key.
2. The method of claim 1, further comprising: encrypting the session key with the encryption key.
3. The method of claim 1, further comprising: receiving with the digital certificate a nonce.
4. The method of claim 3, wherein: the nonce comprises a pseudo-random number.
5. The method of claim 3, further comprising: in response to verifying the digital certificate, storing the encryption key and the nonce.
6. The method of claim 1, further comprising: transmitting the authentication credential and the identifier to an authentication device.
7. The method of claim 6, further comprising: prior to transmitting the authentication credential and an identifier to the authentication device, determining a protocol for authentication.
8. The method of claim 6, further comprising: transmitting a protocol code to the authentication device, wherein the protocol code identifies a protocol for authentication.
9. The method of claim 6, further comprising: receiving a public key corresponding to a private key, wherein the public key is configured to decrypt the second portion.
10. A network comprising: a first device configured to: receive a digital certificate, the digital certificate having a first portion and a second portion, wherein the second portion includes an authentication credential, an encryption key, an identifier of a second device, and a certificate authority identifier; verify the digital certificate by comparing the first portion and the second portion; transmit the authentication credential to an authenticating device; receive a session key; transmit the session key to the second device; and the second device configured to: receive the authentication credential; authenticate the second device based on the authentication credential; and transmit the session key.
11. The network of claim 10, further comprising: encrypting, by the second device, the session key with the encryption key.
12. The network of claim 10, further comprising: receiving with the digital certificate a nonce.
13. The network of claim 12, wherein: the nonce comprises a pseudo-random number.
14. The network of claim 12, further comprising: in response to verifying the digital certificate, storing the encryption key and the nonce.
15. The network of claim 10, further comprising: a third device configured to generate the digital certificate.
16. The network of claim 15, wherein: the third device is configured to encrypt the second portion using a private key; and the first device is configured to receive a public key corresponding to the private key, the public key configured to decrypt the second portion.
17. The network of claim 10, wherein: the first device is configured to transmit the identifier to the second device.
18. The network of claim 10, wherein: the second device is configured to determine a protocol for authentication with the authenticating device prior to transmitting the authentication credential.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
DETAILED DESCRIPTION OF THE INVENTION
[0022] One or more embodiments are described in this specification as implemented into a distributed computing system including a number of network nodes, such as sensors, controllers, and the like in the “Internet of Things” (“IoT”) context, as it is contemplated that these embodiments are particularly advantageous in such applications. However, it is also contemplated that concepts of this invention may be beneficially applied to other applications, for example local area or proprietary networks of electronic devices and systems outside of the IoT in which secure communications are desired. Accordingly, it is to be understood that the following description is provided by way of example only, and is not intended to limit the true scope of this invention as claimed.
[0023]
[0024] In the high-level example of
[0025] It is contemplated that network LAN by way of which the various nodes N1 through N3 and NE1 communicate among themselves will typically include wireless links among the devices, for example any one of a number of conventional protocols and physical layer standards, including IEEE 802.11a/b/g/n etc., Bluetooth, and Bluetooth 4.0 (i.e., Bluetooth Low Energy, or “BLE”). Alternatively, some or all of host H and nodes N1 through N5 may be connected in a wired network, e.g. Ethernet. In any case, it is contemplated that the conventional routers, switches, access points, and the like (not shown) for enabling such communications among nodes N1 through N3 and NE1, and gateway GW, will typically be present.
[0026] Network gateway GW also resides on network LAN, as noted above and as shown in
[0027] One such node residing on network WAN is authentication server AS, as shown in
[0028] As mentioned above, Class 0 nodes N1 through N3 in the example of
[0029] More specifically, node N1 in this embodiment of the invention corresponds to a programmable subsystem including embedded microcontroller unit (MCU) 2 in combination with various peripheral functions. It is contemplated that node N1 will be typically be physically realized by way of a single circuit board on which MCU 2 will be mounted, along with other integrated circuits and discrete components as appropriate for the desired functions of node N1, with this circuit board typically being housed in the appropriate housing or enclosure suitable for its environment. Alternatively, node N1 may be realized by way of multiple circuit boards, or a single integrated circuit, or as a part of a larger electronic system, depending on its functionality.
[0030] In this embodiment, MCU 2 in node N1 includes a processor or other programmable logic that carries out selected functions relating to secured data communications with other nodes within and external to network LAN. In the example of
[0031] In this example, node N1 includes several other circuit functions as appropriate for its intended purpose in the network of
[0032] In this embodiment of the invention, node N1 also includes power manager function 8, which controls the powering of the various functions within node N1 by battery 11. Alternatively, node N1 may be powered from wired power (e.g., power over USB, DC output from a rectifier or micro-grid), solar power, wireless power transfer (e.g., over the wireless communications facility or separately), and the like. Often, however, Class 0 nodes such as node N1 are resource-limited in order to conserve power, and as such are typically powered remotely, such as by way of battery 11 as shown in
[0033] Other circuitry and functions such as input and output drivers, analog-to-digital converters, digital-to-analog converters, clock circuits, voltage regulators, and the like may also be realized at node N1. It is contemplated that those skilled in the art having reference to this specification will readily comprehend other necessary support circuitry included within MCU 2.
[0034] As known in the art, networked systems, particularly those in which nodes may be deployed remotely from one another and from the host, are vulnerable to security breaches. In particular, communications among the nodes are vulnerable to both detection (i.e., snooping) and also to insertion of unauthorized program code and data (e.g., viruses and bots). As such, the security of communications among the nodes in a networked system such as that shown in
[0035] In contrast, it is contemplated that other network nodes, for example network element NE1 in the architecture of
[0036] As typical in the art, secure communications require authentication of each network node according to a particular protocol, such that a given node can be accepted by others as a trusted source or destination in the network. Conventional authentication typically involves a particular identifying “detail” known by the network node to confirm its identity, and the exchange of messages between the node and an authentication server according to the security protocol to establish a secure channel.
[0037] According to these embodiments, higher computational capacity (Class 1 or greater) nodes, such as network element NE1, are used as proxies for purposes of authenticating lower computational capacity (e.g., Class 0) nodes, such as nodes N1 through N3, for secure communications by those lower capacity nodes over local area network LAN and perhaps wide area network WAN. More particularly, according to these embodiments, Class 1 nodes are used to execute the more computationally complex operations involved in the authentication of Class 0 nodes, such operations including, for example, asymmetric key cryptography operations including encryption and decryption using public/private key pairs. As a result, the less computationally capable Class 0 nodes can be authenticated at a high security level without overburdening their capability or consuming undue amounts of power.
[0038] An authentication protocol for authenticating a Class 0 network node for secure communication over local area network LAN and wide area network WAN of
[0039]
[0040] In process 22, certificate authority CA (
[0041] According to these embodiments, additional information is included in a special digital certificate created in process 22 at the certificate authority CA for supplicant node N1.
[0042] In addition, this embodiment can attain an additional level of security by limiting the distribution of public key K.sub.CA, for example only to those network elements (e.g., proxy node NE1) that have a need to verify the special digital certificate. By keeping the public key K.sub.CA (and its private key K′.sub.CA known only at certificate authority CA) as a “secret” in this manner, other network elements will not be readily able to verify special digital certificate 50 and thus will not be authorized to act as a proxy for supplicant node N1 in its authentication.
[0043] Referring back to
[0044] At such time as supplicant node N1 wishes to authenticate itself so as to carry out secure communications over the network, supplicant node N1 transmits certain information to proxy node NE1 in process 26. The information transmitted by supplicant node N1 to proxy node NE1 includes the special digital certificate 50 prepared by certificate authority CA in process 22 and stored in supplicant node N1, along with the node identifier (NODE ID) for supplicant node N1, to facilitate recognition of the source of the transmission by proxy node NE1. It is contemplated that this transmission of certificate 50 and node identifier NODE ID will typically also be accompanied by a “nonce”, typically an arbitrary pseudo-random number used only once in a cryptographic communication between two nodes to improve security, as known in the art.
[0045] In process 30, proxy node NE1 receives the transmission from supplicant node N1, and verifies the special digital certificate 50 in that transmission. In this embodiment, proxy node NE1 performs this verification of certificate 50 by decrypting its cyphertext 50B using the secret public key K.sub.CA, and by comparing contents of that decrypted portion (i.e., a digest of the certificate authority identifier, the node identifier, and the signature) with those contents provided in plaintext 50A of certificate 50. As known in the art, this comparing may involve the computing of a hash of plaintext 50A to create a digest, and comparing that computed digest with the decrypted digest of cyphertext 50B. Other conventional approaches for verifying a digital signature of special digital certificate 50 may alternatively be used in process 30. Upon verifying certificate 50 in process 30, proxy node NE1 locally stores the symmetric key K.sub.A included in cyphertext 50B, as well as the value of the nonce transmitted by supplicant node N1 with the special digital certificate 50 in process 26.
[0046] Also upon verification of the signed certificate 50, proxy node NE1 begins the authentication of supplicant node N1 for secure communications by communicating the authentication credentials contained in cyphertext 50B of special digital certificate 50 to authentication server AS, in process 32. As described above, authentication server AS is a logical entity corresponding to the execution of a network service software application that authenticates entities for secure network communications, where the authentication is performed according to a particular security protocol involving an identifying detail from the requesting entity and message exchange between the authentication server AS and the entity. Because in actuality authentication server AS and network gateway GW are separate logical entities, authentication server AS may reside at a separate physical network node (i.e., dedicated computer, Ethernet switch, access point, network access server, or other computer system executing the authentication service) from network gateway GW, for example at a node accessible to gateway GW via wide area network WAN. Alternatively, authentication server AS and network gateway GW may reside at the same physical network node.
[0047] In any case, for the architecture of
[0048] In process 34, authentication server AS executes the appropriate operations for authenticating supplicant node N1 from the authentication credential and node identifier communicated from proxy node NE1. The particular operations performed by authentication server AS in this process 34 will depend on the specific security protocol that is in place. It is contemplated that this authentication process 34 will typically be performed in a conventional manner, without authentication server AS necessarily being aware that the authentication is being carried out with proxy node NE1 rather than the supplicant node N1 itself. Upon successful authentication of the credential, authentication server AS creates a session key K.sub.S for use by the authenticated supplicant node N1 in its secure communications over the network. In process 36, authentication server 36 communicates this session key K.sub.S to proxy node NE1, via gateway GW in the logical architecture of
[0049] According to this embodiment, the creation of session key K.sub.S for supplicant node N1 in process 34 and communication of that session key K.sub.S to proxy node NE1 in process 36 are carried out by authentication server AS in the same manner as if proxy node NE1 were in fact the node being authenticated. In other words, the authentication of supplicant node N1 by proxy node NE1 in this embodiment is entirely transparent to authentication server AS. As such, proxy authentication according to this embodiment can be readily implemented in existing networks, without requiring any change in the operation of authentication server AS.
[0050] In process 38, proxy node NE1 encrypts the session key K.sub.S created by authentication server AS, along with the same nonce transmitted by supplicant node N1 in process 26 and the node identifier for supplicant node N1. This encryption of process 38 is executed using the symmetric key K.sub.A that was contained in the special digital certificate 50 forwarded earlier by supplicant node N1 in process 26, according to any one of a number of conventional symmetric key encryption techniques as agreed upon with supplicant node N1. Also in process 38, proxy node NE1 transmits those encrypted information including session key K.sub.S to supplicant node N1 over local area network LAN.
[0051] On receipt of the encrypted session key K.sub.S from proxy node NE1, supplicant node N1 decrypts the session key K.sub.S using the same symmetric key K.sub.A, in process 40. As known in the art, symmetric key decryption is much less computationally intensive than the asymmetric key cryptography operations involved in such operations as verifying digital certificates (e.g., process 30). It is contemplated that Class 0 network elements such as supplicant node N1 are quite capable of performing the symmetric key decryption of process 40, without overburdening its processor or unduly consuming battery power. Following decryption process 40 to recover session key K.sub.S, supplicant node N1 can then carry out secure communications over the network in process 42, including over local area network LAN and, via network gateway GW (
[0052] According to this embodiment, therefore, the computationally intensive and power hungry operations involved in the authentication of a network node with limited computational resources (e.g., of Class 0) are performed by a more capable (e.g., Class 1) network element, as a proxy for the less capable node being authenticated. In addition, as mentioned above, this embodiment may be readily implemented without requiring any modification in the programming or operation of the authentication server. Accordingly, this embodiment can provide a high level of security for low cost and remotely deployed network nodes such as sensors, controllers, and other devices contemplated in the IoT context.
[0053] As described in the above embodiment, the verification of the special digital certificate 50 in process 30 requires proxy node NE1 to have plaintext capability, specifically the ability to recover the contents of plaintext 50A in certificate 50 for comparison with contents of the decrypted cyphertext portion 50B. It is contemplated that some Class 1 network elements may not be programmed to recover and operate on plaintext. For example, network elements executing security schemes that do not recover plaintext, such as the Elliptic Curve Digital Signature Algorithm (ECDSA), cannot readily verify certificate 50 as described above. According to another embodiment, an alternative special digital certificate not requiring plaintext recovery is used to carry out the verification of a supplicant node at its proxy node.
[0054]
[0055] The symmetric key K.sub.CA- according to this embodiment is a portion of this public key K.sub.CA used to encrypt cyphertext portion 50B′ of certificate 50′. In one example, symmetric key K.sub.CA- is the first (i.e., most significant) sixteen bytes of the full public key K.sub.CA, which is thirty-two octets in length (an octet being a pair of hexadecimal digits). Accordingly, because both certificate authority CA and proxy node NE1 know the full public key K.sub.CA, both also know or can readily derive the symmetric key K.sub.CA- used in certificate 50′. In addition, if public key K.sub.CA is being kept as a secret among only the authorized nodes, symmetric key K.sub.CA- will of course also be maintained as a secret.
[0056] According to this embodiment, therefore, verification of certificate 50′ in process 30 (
[0057] According to another embodiment, as will now be described in connection with
[0058] Also in this embodiment, supplicant node N1 is not in direct communication with its proxy (at gateway GW in this example), but rather will communicate indirectly with its proxy via one or more “joined” nodes in the network. Each communication link among supplicant node N1 and these joined nodes may be in the same local area network LAN, or one or more of the joined nodes may reside in another local area network to which communications can be relayed by one of the joined nodes. As will be evident from the following description, these joined nodes will not execute cryptography operations in the authentication process, and as such may have limited computational resources (Class 0) or may have higher computational capability (Class 1 or higher).
[0059] In the process flow of
[0060] According to this embodiment in which network gateway GW serves as the proxy node for authentication of supplicant node N1, authentication of supplicant node is carried out between gateway GW and authentication server AS in the manner described above. To summarize, gateway GW verifies the signed digital certificate 50, 50′ in process 30 and, in its role as the proxy for supplicant node N1, recovering the symmetric key K.sub.A included in that certificate, and communicates the authentication credentials in that certificate to authentication server AS in process 32. Authentication server 34 authenticates supplicant node N1 from those credentials, and creates a session key K.sub.S for supplicant node N1, in process 34, and communicates that session key K.sub.S to gateway GW in process 36. Gateway GW encrypts the session key K.sub.S created by authentication server AS, along with the same nonce transmitted by supplicant node N1 and the node identifier for supplicant node N1, all with the symmetric key K.sub.A recovered in process 30, and forwards that encrypted data to one of the joined nodes. The joined nodes then forward the encrypted session key K.sub.S (and nonce and node identifier) to supplicant node N1, in one or more instances of process 46, depending on the number of “hops” in the communication link between supplicant node N1 and gateway GW. Supplicant node N1 decrypts the encrypted data including session key K.sub.S on receipt in process 40, and begins secure communications using that session key K.sub.S in process 42, as before.
[0061] In the alternative, if supplicant node N1 can directly communicate with gateway GW, the communications via the various joined nodes need not be included. Conversely, the use of intermediate joined nodes may alternatively be implemented in those situations in which a Class 1 network element (e.g., node NE1) is to serve as a proxy.
[0062] The above-described embodiments may all be implemented without any modifications or reprogramming of authentication server AS from its conventional construction and operation. In the alternative, however, authentication server AS may be modified to improve the overall security of the authentication process by itself encrypting the session key K.sub.S with the symmetric key K.sub.A, rather than this encryption being carried out by the proxy. This alternative approach is illustrated in
[0063] As discussed above, the various embodiments described in this specification provide important advantages in the security of network communications, particularly in the IoT context in which it is expected that many of the networked devices will have limited computational capacity or are remotely powered. In these embodiments, those computationally complex operations as required in such high security algorithms such as are used in asymmetric key cryptography are performed by network elements having sufficient computational resources and power resources, as proxies for the limited resource nodes. As a result, more complex keys that provide higher security can be used, without increasing the cost or power costs at the more numerous sensor, controller, and other remote nodes.
[0064] While one or more embodiments have been described in this specification, it is of course contemplated that modifications of, and alternatives to, these embodiments, such modifications and alternatives capable of obtaining one or more the advantages and benefits of this invention, will be apparent to those of ordinary skill in the art having reference to this specification and its drawings. It is contemplated that such modifications and alternatives are within the scope of this invention as subsequently claimed herein.