USING IDENTITY CREDENTIALS AS A KEY FOR SECURELY CONTROLLING A LOCK CONNECTED TO A WIRELESS NETWORK
20230298417 · 2023-09-21
Assignee
Inventors
Cpc classification
G07C9/29
PHYSICS
G07C9/00309
PHYSICS
H04L63/0492
ELECTRICITY
International classification
Abstract
Locks may rely upon identity credentials to act as keys for unlocking and/or locking the locks, such as door locks. The identity credentials may be digital credentials that hold identity information and evidence of knowledge of secret information, such as a password or a private cryptographic key. The door locks in exemplary embodiments may be connected to an access system via wireless network, such as a low power low frequency Wi-Fi network, like a HaLow network. The wireless network enables the door locks to communicate with the access system, such as a server for a lodging establishment. The access system may receive identity credentials and forward the identity credentials to an authentication service for authentication. The access system may also pass the identity of the guest to an authorization service to determine if the guest is authorized to unlock the door lock or not.
Claims
1. A method performed by a processor of a computing device to wirelessly control a door lock using an authentication service and an authorization service and based on a contactless card of a user, the method comprising: receiving, from the door lock and over a wireless network, a secure package comprising a cryptographic payload, the cryptographic payload generated by the contactless card based at least in part on a cryptographic key for the contactless card, wherein the door lock is of a door to a specified area, wherein the secure package is received in a specified time period; transmitting the cryptographic payload to the authentication service for authentication based at least in part on an instance of the cryptographic key for the contactless card maintained by the authentication service, wherein the authentication service has registered the user; receiving a response from the authentication service indicating that the cryptographic payload was authenticated based at least in part on the instance of the cryptographic key for the contactless card maintained by the authentication service; determining, by the authorization service and based on access information, that the user is authorized to unlock the door lock of the door to the specified area in the specified time period; and sending a communication over the wireless network to the door lock to cause the door lock to unlock.
2. The method of claim 1, wherein the cryptographic key comprises a diversified key, wherein the diversified key is generated by the contactless card and the authentication service based on a master key and a counter value for the contactless card.
3. The method of claim 2, wherein the counter value is synchronized between the contactless card and the authentication service.
4. The method of claim 1, wherein the cryptographic payload comprises a hash value, wherein the hash value is generated based at least in part on a hash function and the cryptographic key.
5. The method of claim 4, wherein the hash value is further generated based at least in part on a one-time password (OTP) generated by the contactless card, a counter value maintained by the contactless card, and an account identifier stored by the contactless card.
6. The method of claim 5, wherein the authentication service authenticates the cryptographic payload based at least in part on: generating an instance of the hash value based on the OTP, the counter value, and the account identifier; and determining, based on a comparison, that the instance of the hash value matches the hash value of the cryptographic payload; wherein the access information is stored in a database, and wherein the authorization service is configured to: upon determining that the user is unrecognized by the authorization service despite the user having been authenticated, deny a request from the user to unlock the door lock; upon determining that the user is recognized by the authorization service but that the user is not authorized to unlock the door in any time period, deny a request from the user to unlock the door lock; upon determining that the user is authorized to unlock the door but only in a time period other than the specified time period, deny a request from the user to unlock the door lock; upon receiving, from the authentication service, an indication that the authentication service has not registered the user, deny a request from the user to unlock the door lock; and upon receiving, from the authentication service, an indication that the authentication service has registered the user but failed to authenticate the user, deny a request from the user to unlock the door lock.
7. The method of claim 1, wherein the wireless network is an Institute of Electrical and Electronics Engineers (IEEE) 802.11ah network.
8. A method performed by a processor of a computing device to wirelessly control a door lock using an authentication service and an authorization service and based on a contactless card of a user, the method comprising: receiving, from the door lock and over a wireless network, a secure package comprising a cryptographic payload, the cryptographic payload generated by the contactless card based at least in part on a cryptographic key for the contactless card, wherein the door lock is of a door to a specified area, wherein the secure package is received in a specified time period; transmitting the cryptographic payload to the authentication service for authentication based at least in part on an instance of the cryptographic key for the contactless card maintained by the authentication service, wherein the authentication service has registered the user; receiving a response from the authentication service indicating that the cryptographic payload was not authenticated based at least in part on the instance of the cryptographic key for the contactless card maintained by the authentication service; determining, by the authorization service and based on the response from the authentication service, that the user is not authorized to unlock the door lock of the door to the specified area in the specified time period; and sending, to a mobile device associated with the user, an indication specifying that the user is not authorized to unlock the door lock.
9. The method of claim 8, wherein the cryptographic key comprises a diversified key, wherein the diversified key is generated by the contactless card and the authentication service based on a master key and a counter value for the contactless card.
10. The method of claim 9, wherein the counter value is synchronized between the contactless card and the authentication service.
11. The method of claim 8, wherein the cryptographic payload comprises a hash value, wherein the hash value is generated based at least in part on a hash function and the cryptographic key.
12. The method of claim 11, wherein the hash value is further generated based at least in part on a one-time password (OTP) generated by the contactless card, a counter value maintained by the contactless card, and an account identifier stored by the contactless card.
13. The method of claim 12, wherein the authentication service authenticates the cryptographic payload based at least in part on: generating an instance of the hash value based on the OTP, the counter value, and the account identifier; and determining, based on a comparison, that the instance of the hash value does not match the hash value of the cryptographic payload.
14. The method of claim 8, wherein the wireless network is an Institute of Electrical and Electronics Engineers (IEEE) 802.11ah network.
15. A method performed by processing logic of a door lock to control the door lock using an authentication service and an authorization service and based on a contactless card of a user, the door lock being of a door to a specified area, the method comprising: receiving, from the contactless card and in a specified time period, a secure package comprising a cryptographic payload, the cryptographic payload generated based at least in part on a cryptographic key for the contactless card; transmitting, via a wireless network, the cryptographic payload to the authentication service for authentication based at least in part on an instance of the cryptographic key for the contactless card maintained by the authentication service; receiving a response from the authentication service indicating that the cryptographic payload was authenticated based at least in part on the instance of the cryptographic key for the contactless card maintained by the authentication service; sending a communication to the authorization service to determine whether the user is authorized to unlock the door lock of the door to the specified area in the specified time period; receiving, from the authorization service, an indication specifying that the user is authorized to unlock the door lock of the door to the specified area at the specified time period; and unlocking the door lock based on the responses received from the authentication service and the authorization service.
16. The method of claim 15, wherein the cryptographic key comprises a diversified key, wherein the diversified key is generated by the contactless card based on a master key and a counter value for the contactless card.
17. The method of claim 16, wherein the counter value is synchronized between the contactless card and the authentication service.
18. The method of claim 15, wherein the cryptographic payload comprises a hash value, wherein the hash value is generated based at least in part on a hash function and the cryptographic key.
19. The method of claim 18, wherein the hash value is further generated based at least in part on a one-time password (OTP) generated by the contactless card, a counter value maintained by the contactless card, and an account identifier stored by the contactless card.
20. The method of claim 15, wherein the wireless network is an Institute of Electrical and Electronics Engineers (IEEE) 802.11ah network.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
DETAILED DESCRIPTION
[0026] The exemplary embodiments may provide door locks and/or other locks that rely upon identity credentials to act as keys for unlocking and/or locking the locks. The identity credentials may be digital credentials that hold identity information and evidence of knowledge of secret information, such as a password or a private cryptographic key. The use of the identity credentials may enhance security by requiring possession of a touchless card, a private cryptographic key or other confidential information that is presumed to be known only by the party associated with a given identity. Parties other than the identified party may not possess such identity credentials and thus may not be able to use the key. This approach reduces the risk associated with conventional keys at lodging establishments where an unauthorized party may use the key to gain access to a guest's room.
[0027] The exemplary embodiments may not require a physical key. Thus, there is no physical key that may be lost or stolen. As such, lodging establishments may not need to continually replace physical keys at substantial expense. The identity credentials may be kept in or may be generated using a mobile computing device, such as a smartphone, smartwatch, a tablet computing device, a laptop computer, or the like. Moreover, such mobile computing devices may require a user to enter a username and password to gain access to software installed thereon. As such, the identity credentials may be more secure than conventional plastic programmable keys.
[0028] The locks in exemplary embodiments, such as door locks, may be connected to an access system via wireless network, such as a low power low frequency Wi-Fi network, such as a HaLow® network. The wireless network may enable the door locks to communicate with the access system, such as server for a lodging establishment. A HaLow network may facilitate direct connections between the door locks and the access systems. A HaLow network may directly connect the door locks and the access system separated by over 1 kilometer in distance. The use of a HaLow network may eliminate the need for a traditional Wi-Fi network to route the signal. As such, one may place the access system a kilometer away or may place the access system in a basement which may not need any other networking components. The use of the HaLow network may be especially beneficial for hotels. The HaLow network may enable the access system to be placed in storage buildings or other buildings that don't have existing Wi-Fi infrastructure.
[0029] As such, hotel clerks may unlock doors from their computer terminal rather than needing to be at the door to use a key. The access system may receive identity credentials and forward the identity credentials to an authentication service for authentication. The access system may also pass the identity of the guest to an authorization service to determine if the guest may be authorized to unlock the door lock or not. More generally, access control information may be stored for the guest by the authorization service where the access control information determines what areas the guest has access to, like a guest room, spa, fitness center, etc.
[0030]
[0031] An access system 110 may be connected to the wireless network 106 and may communicate with door lock 104 and other door locks 105 via the wireless network. The access system may be realized as a computing device, such as a server computer, that regulates access to the guest rooms via the door locks 104 and 105. Software for controlling the door locks may be stored and run on the access system 110. The access system 110 may be connected to one or more authentication services 112 and 114. The authentication services 112 and 114 may run on server computer systems, local computing devices, or a cloud services infrastructure. The access system 110 may connect with the authentication services over a network connection, such as over the Internet. The authentication services 112 and 114 may authenticate identity credentials of a user to authenticate the identity of the user and may be realized in software, hardware, or a combination thereof. The authentication services 112 and 114 may, in some exemplary embodiments, authenticate identity credentials originating at least in part from a touchless (or contactless) card, such as the Presto card from Capital One Financial Corporation. The authentication services 112 and 114 may in some exemplary embodiments authenticate identity credentials that may be provided via the Fast IDentity Online (FIDO®) Alliance FIDO2 authentication protocol, or from any another cryptographic identity authentication protocol.
[0032] The access system 110 may have a connection to access an authorization service 116. The connection may be a network connection, such as via a local rea network (LAN), a wide area network (WAN), or a combination thereof. The authorization service 116 may be realized in software running on a computing device. The authorization service 116 may receive requests for whether a party is authorized to interact with a door lock 104, such as whether the party is authorized to unlock the door lock 104 or not. The authorization service 116 may look up information in a database to determine whether the party is authorized or not authorized. For each guest, the database may hold, for example, information regarding what room the guest is in, what dates and times the guest has access to the room, and/or access control rights for the guest. The authorization service 116 may return the information from the database 118 to the access system 110 or may return an answer whether the guest is permitted to unlock the door lock or not permitted to unlock the door lock. Based on the information provided by the authentication services 112 and 114 and/or the authorization service 116, the access system 110 may decide whether to permit a user to unlock a door lock or not. As discussed below, the access system 110 may send messages, commands, or signals to the door lock 104 to unlock the door lock 104.
[0033] Although the discussion herein includes unlocking a door lock, because most door locks for lodging establishments default to a locked state when closed, it should be appreciated that the authorization may also be to lock a door lock or to both lock and unlock a door lock. The door lock may be for a guest room or may be for other portions of a lodging establishment, such as a fitness center, a business center, a pool, or the like. The lock may also be in an elevator to limit access to particular floors, such as floors that are part of a concierge level.
[0034] Moreover, the lock need not be a door lock in a lodging establishment but may be a door lock in other settings, such as in an office building, an office, a storage facility, a military base, a hospital, a prison, etc. Still further, the lock may not be a door lock, but rather may more generally be a lock that limits access to a space, enclosure, item, etc.
[0035]
[0036] The mobile computing device 200 may include NFC circuitry for making the mobile computing device 200 NFC-capable. The NFC circuitry 212 may include, for example, an antenna, a wireless adapter, and a wireless transceiver. The mobile computing device 200 may include a display 214, such as a touchscreen display, a light-emitting diode (LED) display, or a liquid-crystal display (LCD), for displaying text, graphical content, or video content. The mobile computing device 200 may include input devices 216, like a touchscreen, depressible buttons, a thumbwheel, keys, a thumb pad, a mouse, etc. The mobile computing device 200 may include a network adapter 218 for interfacing with a network. The mobile computing device 200 may include a modem 220, such as a cellular modem.
[0037] The mobile computing device 200 may take many different forms, such as depicted in
[0038]
[0039]
[0040]
[0041] Where the authentication indicates that the identity credentials are authenticated, at 514, a check may be made whether the user is authorized to unlock the door lock 104. This may entail the access system 110 sending the identity information to the authorization service 116 and receiving a response. At 514, a check may be made to determine whether the user is authorized. If the user is not authorized, at 510, the door may remain locked. A notification may, in some embodiments, be sent from the access system 110 to the user via the mobile computing device 102 or the door lock 104 indicating that the user is not authorized. In other embodiments, no notification may be sent. Where the user is authorized, the door lock 104 may be unlocked at 516 by the access system 110 sending a message, command, or signal to the door lock 104 that causes the actuator 314 to actuate the locking mechanism 312 to the unlocked position under the control of the processing logic 302.
[0042] As mentioned above, the identity credentials may be input to the mobile computing device 102 in different manners.
[0043] As part of the NFC session, at 606, the contactless card 632 may generate the secure package 634 that may hold the identity credentials.
[0044] The key 708 may be dynamically generated for each session and may be particular to the contactless card 632. In some embodiments, the key 708 is generated based on an encryption key stored by the contactless card (e.g., the key 814), where a copy of the key is maintained by the authentication service 112. In some embodiments, the key 708 is dynamically generated for each session by encrypting the key maintained by the card and a counter value maintained by the contactless card to generate a dynamic key 708. The dynamic key 708 may then be used for the hash function 608. Thus, the hash function 710 may provide a layer of security for the content (e.g., inputs 702, 704 and 706) that may be included in the secure package 634.
[0045] In the exemplary embodiments, the inputs 702, 704 and 706 may vary depending on the information the parties agree to exchange and/or the agreed protocol for authenticating the initiating party.
[0046] With reference again to
[0047]
[0048] The contactless card 800 may also include identification information 815 displayed on the front and/or back of the card, and a contact pad 810. The contact pad 810 may be configured to establish communications with another communication device, such as a user device, smart phone, laptop, desktop, or tablet computer. The contactless card 800 may also include processing circuitry, antenna and other components not shown in
[0049] As illustrated in
[0050] The memory 835 may be a read-only memory, write-once read-multiple memory or read/write memory, e.g., RAM, ROM, and EEPROM, and the contactless card 800 may include one or more of these memories. A read-only memory may be factory programmable as read-only or one-time programmable. One-time programmability provides the opportunity to write once then read many times. A write once/read-multiple memory may be programmed at a point in time after the memory chip has left the factory. Once the memory is programmed, it may not be rewritten, but it may be read many times. A read/write memory may be programmed and re-programed many times after leaving the factory. It may also be read many times.
[0051] The memory 835 may be configured to store one or more applets 840, a master key 814, a diversified key 826, one or more counters 845, and a customer identifier 850. Generally, a server (such as the authentication service 112) and the contactless card 800 may be provisioned with the same master key 814 (also referred to as a master symmetric key). More specifically, each contactless card 800 is programmed with a distinct master key 814 that has a corresponding pair maintained by the server. For example, when a contactless card 800 is manufactured, a unique master key 814 may be programmed into the memory 838 of the contactless card 800. Similarly, the unique master key 814 may be stored by the server (e.g., in a hardware security module).
[0052] Furthermore, when a given card 800 is manufactured, a diversified key 826 may be diversified from the master key 814 via function that takes, as input, a diversification factor and the master key 814. In some embodiments, the diversification factor may be the counter 845 of the contactless card 800. The diversified key 826 may be stored in the contactless card 800 and the server. The master key 814 and diversified key 826 may be kept secret from all parties other than the contactless card 800 and server, thereby enhancing security. Furthermore, as described below, the value of the counter 845 may change over time. As such, the diversified key 826 may change as well.
[0053] The one or more applets 840 may comprise one or more software applications configured to execute on one or more contactless cards, such as Java Card applet. However, it is understood that applets 840 are not limited to Java Card applets, and instead may be any software application operable on contactless cards or other devices having limited memory. The one or more counters 845 may comprise a numeric counter sufficient to store an integer. The counters 845 may correspond to the counter 728 of
[0054] In some embodiments, the counter 845 may be included in a cryptographic payload generated by the contactless card 800 and included in cleartext with the cryptographic package. The cryptographic payload may comprise a one-time password (OTP). In such embodiments, the server may recreate the diversified key 826 based on an instance of the master key 814 and an instance of the counter 845 maintained by the server. The server may then decrypt the cryptographic payload using the diversified key 826, which may produce the counter value. The server may then compare the decrypted counter value 845 with the unencrypted counter 845 to validate or authenticate the cryptographic payload.
[0055] The customer identifier 850 may comprise a unique alphanumeric identifier assigned to a user of the contactless card 800, and the identifier may distinguish the user of the contactless card from other contactless card users. In some examples, the customer identifier 850 may identify both a customer and an account assigned to that customer and may further identify the contactless card associated with the customer's account.
[0056] The processor and memory elements of the foregoing exemplary embodiments are described with reference to the contact pad, but the present disclosure is not limited thereto. It is understood that these elements may be implemented outside of the pad 810 or entirely separate from it, or as further elements in addition to processor 830 and memory 835 elements located within the contact pad 810.
[0057] In some examples, the contactless card 800 may comprise one or more antennas 855. The one or more antennas 855 may be placed within the contactless card 800 and around the processing circuitry 825 of the contact pad 810. For example, the one or more antennas 855 may be integral with the processing circuitry 825 and the one or more antennas 855 may be used with an external booster coil. As another example, the one or more antennas 855 may be external to the contact pad 810 and the processing circuitry 825.
[0058] In an embodiment, the coil of contactless card 800 may act as the secondary of an air core transformer. The terminal may communicate with the contactless card 800 by cutting power or amplitude modulation. The contactless card 800 may infer the data transmitted from the terminal using the gaps in the contactless card's power connection, which may be functionally maintained through one or more capacitors. The contactless card 800 may communicate back by switching a load on the contactless card's coil or load modulation. Load modulation may be detected in the terminal's coil through interference.
[0059] As explained above, the contactless card 800 may be built on a software platform operable on smart cards or other devices having limited memory, such as JavaCard, and one or more applications or applets may be securely executed. Applets may be added to contactless cards to provide an OTP for multifactor authentication (MFA) in various mobile application-based use cases. Applets may be configured to respond to one or more requests, such as near field data exchange requests, from a reader, such as a mobile NFC reader, and produce an NFC Data Exchange Format (NDEF) message that comprises a cryptographically secure OTP encoded as an NDEF text tag. One example of an NDEF OTP is an NDEF short-record layout (SR=1). In such an example, the one or more applets 840 may be configured to encode the OTP as an NDEF type 4 well known type text tag. In some examples, NDEF messages may comprise one or more records.
[0060]
[0061] The identity credentials may also be provided using a cryptographic key.
[0062]
[0063]
[0064]
[0065] While the present disclosure has been described with reference to exemplary embodiments herein, it will be appreciated that various changes in scope and detail may be made without departing from the intended scope as defined in the appended claims.