Using identity credentials as a key to securely control locks connected to a wireless network

By using identity credentials stored on a contactless card to authenticate access to a wireless network-connected lock, the solution addresses the security and cost issues associated with traditional key systems, providing a more secure and cost-effective alternative.

JP2025509632APending Publication Date: 2025-04-11CAPITAL ONE SERVICES LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024554896
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-03-16
Filing Date
2023-02-16
Publication Date
2025-04-11

AI Technical Summary

Technical Problem

Traditional metal keys and programmable plastic keys used in accommodations are prone to loss, theft, and unreturn, leading to security risks and significant replacement costs.

Method used

A method utilizing identity credentials, such as those stored on a contactless card, to securely control a lock connected to a wireless network, where the cryptographic payload is generated and authenticated to authorize access to the lock.

Benefits of technology

This solution eliminates the need for physical keys, reducing the risk of loss and theft, while enhancing security through identity authentication, and minimizing replacement costs for accommodations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025509632000001_ABST
    Figure 2025509632000001_ABST
Patent Text Reader

Abstract

Locks rely on identity credentials that act as keys to unlock and / or lock locks, such as door locks. Identity credentials are digital credentials that hold identity information and evidence of knowledge of secret information, such as a password or private encryption key. The door lock in an exemplary embodiment is connected to an access system via a wireless network, such as a low power, low frequency Wi-Fi network, e.g., a HaLow network. The wireless network allows the door lock to communicate with an access system, such as a server at the lodging facility. The access system receives the identity credentials and forwards them to an authentication service for authentication. The access system passes the guest's identity to the authentication service to determine whether the guest is authorized to unlock the door lock.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This application claims priority to U.S. Patent Application No. 17 / 696,034, entitled "USING IDENTITY CREDENTIALS AS A KEY FOR SECURELY CONTROLLING A LOCK CONNECTED TO A WIRELESS NETWORK," filed March 16, 2022, the contents of which are incorporated herein by reference in their entirety. [Background technology]

[0002] Hotels, motels, and other lodging establishments previously provided guests with metal keys. Unfortunately, such metal keys could be lost, stolen, or not returned to the lodging establishment. Such lost, stolen, or not returned metal keys had to be replaced at the lodging establishment's expense. Furthermore, lost, stolen, and not returned keys posed a security risk in that such metal keys could still be used to access guest rooms. Some lodging establishments replaced their keys periodically at great expense to reduce the risk of misuse of such lost, stolen, and not returned metal keys.

[0003] Due to these shortcomings of metal keys, plastic programmable keys have been widely adopted by lodging facilities. Plastic programmable keys have a magnetic strip or a radio-frequency identification (RFID) tag that encodes information that is read by the door lock to unlock the door. The encoded information typically includes the room number and the start and end times that the key is valid. In some cases, the encoded information also includes the number of guests.

[0004] Programmable plastic keys also have drawbacks. Such plastic programmable keys are frequently lost and require replacement. The cost of replacing such plastic programmable keys can be significant for lodging facilities. Additionally, plastic programmable keys can pose a security risk. Anyone in possession of a plastic programmable key who knows the room associated with that plastic programmable key can access the room to which it belongs. Thus, stolen, lost, and unreturned keys can be problematic if they fall into the wrong hands. Summary of the Invention

[0005] According to a first aspect, a method is executed by a processor of a computing device. The method may include receiving a secure package including a cryptographic payload from the door lock over a wireless network. The cryptographic payload is generated by the contactless card based at least on an encryption key for the contactless card. The method may further include transmitting the cryptographic payload to an authentication service based at least on an instance of the cryptographic key for the contactless card maintained by the authentication service for authentication. The method may further include receiving a response from the authentication service indicating that the cryptographic payload has been authenticated based at least on the instance of the cryptographic key for the contactless card maintained by the authentication service. The method may further include determining, based on the access information, that a user associated with the contactless card is authorized to unlock the door, and transmitting information over the wireless network to the door lock to unlock the door.

[0006] The encrypted payload may be encrypted. The door lock may be for a door of a guest room at a lodging facility. The authentication service may be remotely located at a different address than the door lock. The authentication service may be a cloud service. The wireless network may be a Wi-Fi network.

[0007] According to another aspect, the method may be performed by a processor of a mobile computing device, the processor may be wirelessly connected to a door lock, and a message may be generated that includes an encrypted payload for a user wishing to unlock the door lock, the generated message may be wirelessly transmitted to the door lock to unlock the door.

[0008] The wireless connection with the door lock may include wirelessly communicating with the door lock using near field communication (NFC). The mobile computing device may be one of a smartphone, a smart watch, a tablet computer, or other type of wearable computing device. The encrypted payload may be encrypted. The encrypted payload may include a one-time password. The encrypted payload may be received from a contactless card.

[0009] According to a further aspect, a method is performed by processing logic of a door lock connected to a wireless network. The method includes receiving a secure package including a cryptographic payload from a contactless card. The cryptographic payload is generated based at least on a cryptographic key for the contactless card. The method may further include transmitting the cryptographic payload to an authentication service over the wireless network based at least on an instance of the cryptographic key for the contactless card maintained by an authentication service for the authentication. The method may further include receiving a response from the authentication service indicating that the cryptographic payload has been authenticated based at least on the instance of the cryptographic key for the contactless card maintained by the authentication service. The method may further include transmitting information to an authorization service to determine whether a user associated with the contactless card is authorized to unlock the door lock, and receiving an indication from the authorization service indicating that the user is authorized to unlock the door lock. The method may further include unlocking the door lock based on the responses received from the authentication service and the authorization service. [Brief description of the drawings]

[0010] [Figure 1] 1 illustrates a suitable computing environment for an exemplary embodiment. [Figure 2A] 1 illustrates components of a mobile computing device in an exemplary embodiment. [Figure 2B] 1 illustrates several types of mobile computing devices that may be used in the exemplary embodiments. [Diagram 3] 1 illustrates an exemplary door lock suitable for example embodiments. [Figure 4] 1 illustrates example components of an access system suitable for example embodiments. [Diagram 5] 4 illustrates a flowchart of exemplary steps that may be performed to unlock a door lock in an exemplary embodiment. [Figure 6A] 1 shows a flowchart of exemplary steps that may be performed in an exemplary embodiment for a user to enter identity credentials using a contactless card. [Figure 6B] 4 illustrates an exemplary interaction that may be performed between a contactless card and a mobile computing device to transfer a secure package in an exemplary embodiment. [Figure 7A] 1 illustrates an exemplary hash operation that may be performed to generate a hash value that may be used in generating identity credentials in an exemplary embodiment. [Figure 7B] 1 illustrates an example of an input that may be provided to a hash function as part of a hash operation. [Figure 8A] 1 illustrates the front face of an exemplary contactless card suitable for use in the exemplary embodiments. [Figure 8B] 1 illustrates the hardware components of an exemplary contactless card. [Figure 8C] 1 shows a flowchart of exemplary steps that may be performed in authenticating identity credentials derived from a contactless card in an exemplary embodiment. [Figure 9]4 shows a flowchart of example steps that may be performed in an example embodiment in which a user provides identity authentication information using an encryption key. [Figure 10] 1 shows a flowchart of exemplary steps that may be performed to authenticate identity credentials when a cryptographic challenge is used in an exemplary embodiment. [Figure 11A] 1 shows a flowchart of exemplary steps that may be performed by an authorization service in response to an authorization request in an exemplary embodiment. [Figure 11B] 1 shows a flow chart of example steps that may be performed in an example embodiment to determine whether a user is authorized to unlock a guest room door lock at a particular date and time. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Exemplary embodiments provide door locks and / or other locks that rely on identity credentials that act as keys to unlock and / or lock the lock. The identity credentials may be digital credentials that hold identity information and evidence of knowledge of secret information, such as a password or private encryption key. The use of identity credentials may enhance security by requiring possession of a touchless card, private encryption key, or other secret information presumably known only to those associated with a given identity. No one other than the identified person may possess such identity credentials and therefore cannot use the key. This approach reduces the risks associated with traditional keys in lodging facilities.

[0012] Exemplary embodiments may not require a physical key. Thus, there is no physical key that can be lost or stolen. Thus, the accommodation does not need to continually replace physical keys at cost. The identity credentials are stored on or generated using a mobile computing device, such as a smartphone, smart watch, tablet computing device, laptop computer, etc. Furthermore, such a mobile computing device may require the entry of a username and password to access software installed thereon. Thus, the identity credentials are more secure than traditional plastic programmable keys.

[0013] The lock in the exemplary embodiment, such as a door lock, may be connected to an access system via a wireless network, such as a low power, low frequency Wi-Fi network, e.g., a HaLow network. The wireless network allows the door lock to communicate with an access system, such as a server at a lodging facility. The HaLow network facilitates a direct connection between the door lock and the access system. The HaLow network can directly connect the door lock and the access system over a kilometer or more away. The use of the HaLow network eliminates the need for routing signals over a traditional Wi-Fi network. This allows the access system to be installed over a kilometer or even underground, where no other network components are required. The use of the HaLow network may be particularly beneficial for hotels. The use of the HaLow network may allow the access system to be installed in warehouses or other buildings that do not have an existing Wi-Fi infrastructure.

[0014] Thus, a hotel attendant can unlock the door from a computer terminal rather than needing to be at the door to use the key. The access system may receive the identity authentication information and forward the identity authentication information to an authentication service for authentication. The access system may pass the guest's identity to the authentication service to determine whether the guest is authorized to unlock the door lock. More generally, the authentication service stores access control information for the guest that determines which areas of the guest room, spa, fitness center, etc. the guest may have access to.

[0015] FIG. 1 illustrates an exemplary computing environment 100 suitable for the exemplary embodiments. The computing environment 100 includes a mobile computing device 102 that interacts with a door lock 104. As described in more detail below, the mobile computing device 102 and the door lock 104 may communicate wirelessly with each other, as shown by the dotted line interconnecting the mobile computing device 102 and the door lock 104. The door lock 104 may be connected to a wireless network 106, such as a HaLow network (e.g., an Institute of Electrical and Electronics Engineers (IEEE) 802.11ah network). A HaLow network requires low power and operates at a low frequency that allows better penetration of walls and other structures compared to other wireless networks. Additionally, a HaLow network may have a better range compared to other wireless networks. Thus, a HaLow network may be a suitable candidate for use in the embodiments described herein. Additionally, a HaLow network may have the advantage that the access system may be deployed in locations without Wi-Fi infrastructure and may be located remotely from a hotel room more than a kilometer away.

[0016] The access system 110 is connected to a wireless network 106 and can communicate with the door lock 104 and other door locks 105 via the wireless network. The access system may be implemented as a computing device, such as a server computer, that controls access to the guest rooms via the door locks 104 and 105. Software for controlling the door locks is stored and executed 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 a server computer system, a local computing device, or a cloud service infrastructure. The access system 110 may connect to the authentication services via a network connection, such as the Internet. The authentication services 112 and 114 authenticate a user's identity certificate to authenticate the user's identity and may be implemented 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 Capital One Financial Corporation's Presto card. The authentication services 112 and 114, in some example embodiments, may authenticate identity credentials provided via the Fast IDentity Online (FIDO) Alliance's FIDO2 authentication protocol, or via any other cryptographic identity authentication protocol.

[0017] The access system 110 may have a connection to access the authorization service 116. This connection may be a network connection, for example, a local area network (LAN), a wide area network (WAN), or a combination thereof. The authorization service 116 may be implemented in software running on a computing device. The authorization service 116 may receive a request regarding whether a party is authorized to interact with the door lock 104, such as whether the party is authorized to unlock the door lock 104. The authorization service 116 may look up information in a database to determine whether the party is authorized. For each guest, the database may hold information regarding, for example, which room the guest is in, when the guest can access the room, and / or the guest's access control rights. The authorization service 116 may return information from the database 118 to the access system 110 and may return an answer regarding whether the guest is allowed to unlock the door lock. Based on the information provided by the authentication services 112, 114 and / or the authorization service 116, the access system 110 may determine whether to allow the user to unlock the door lock. As described below, the access system 110 may send a message, command, or signal to the door lock 104 to unlock the door lock 104.

[0018] Although the discussion herein includes unlocking door locks, it should be understood that most door locks at lodging properties are set to default to a locked state when closed, and therefore the authorization may be to lock the door lock or to both lock and unlock the door lock. Door locks may be for guest rooms or other portions of the lodging property, such as a fitness center, business center, pool, etc. Locks may also be provided on elevators to restrict access to certain floors, such as floors that are part of the concierge level.

[0019] Furthermore, the lock need not be a door lock in an accommodation, but may be a door lock in other environments such as an office building, an office, a storage facility, a military base, a hospital, a prison, etc. Furthermore, the lock may not be a door lock, but more generally a lock that restricts access to a space, an enclosure, an item, etc.

[0020] FIG. 2A illustrates an exemplary mobile computing device 200 that may be used by a user, such as a guest at an accommodation, to unlock a door lock on a guest room (or other door, item, or area within the accommodation). The mobile computing device 200 includes a processor 202. The processor 202 may be, for example, a microprocessor, such as a central processing unit (CPU) or a graphics processing unit (GPU), a logic circuit, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or a microcontroller. The processor 202 may have access to a storage 204. The storage 204 may include both primary and secondary memory. The storage 204 may include random access memory (RAM), read only memory (ROM), optical storage, magnetic storage, removable storage media, solid state memory, and the like. The storage 204 may include a non-transitory computer readable storage medium. The storage 204 may include computer programming instructions, such as a card application 206. The card application 206 supports the use of contactless cards, such as smart cards, such as Capital One Financial Corporation's Presto card. The storage 204 may include a web browser 207 for browsing the World Wide Web. The storage 204 may further include user identity credentials 208. The storage 204 may hold a key application 210 that includes instructions for enabling the mobile computing device 200 to be used as a key to wirelessly present a digital key to the door lock 104.

[0021] The mobile computing device 200 may include NFC circuitry to make the mobile computing device 200 NFC-enabled. 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 touch screen 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, such as a touch screen, a depressible button, a thumb wheel, keys, a thumb pad, a mouse, or the like. The mobile computing device 200 may include a network adapter 218 to interface with a network. The mobile computing device 200 may include a modem 220, such as a cellular modem.

[0022] The mobile computing device 200 can take many different forms, as shown in Figure 2B. The mobile computing device 200 can be a smartphone 230 or a smart watch 232. The mobile computing device 200 can be a laptop computing device 238 or a tablet computer 234. The mobile computing device 200 can be a wearable device 236. The examples of the types of mobile computing devices shown are illustrative and not intended to be limiting.

[0023] FIG. 3 illustrates components of an exemplary door lock 300 suitable for the exemplary embodiment. The door lock 300 may include processing logic 302. The processing logic 302 may include a microprocessor, FPGA, ASIC, electrical circuitry, etc. for controlling the operation of the door lock 300. The door lock may include storage 304, such as a non-transitory computer-readable storage medium, e.g., random access memory (RAM), read-only memory (ROM), solid-state memory, optical storage medium, magnetic storage medium, etc. The storage 304 may include primary and / or secondary memory, and cache. The storage 304 may store computer programming code executable by the processing logic 302 to control the operation of the door lock 300. The door lock 300 may include a wireless network adapter 308 that allows the door lock 300 to connect to the wireless network 106. The door lock 300 may include an internal calendar 311 and a clock 310 for maintaining the current date and time. The door lock 300 may include a locking mechanism 312, such as a bolt movable between locked and unlocked positions, and an actuator 314 for actuating the locking mechanism 312. The actuator 314 may be a motor or other electrically driven actuator. The door lock 300 may include a housing 313 for enclosing the internal components of the door lock 300. The housing 313 may be designed to be integrated with a door and the locking mechanism 312 may be designed to interact with a feature, such as a striker plate on the jamb of the door frame of the door. The door lock 300 may include NFC circuitry 316 to enable the door lock 300 to communicate with other entities via an NFC wireless protocol.

[0024] FIG. 4 illustrates exemplary components of an access system 400 suitable for an exemplary embodiment. The access system 400 may include a processor 402, such as a microprocessor such as a CPU or GPU, an FPGA, an ASIC, or various other processors. The access system 400 may include a storage 404. The storage 404 may include primary and / or secondary memory and may include non-transitory computer readable media such as RAM, ROM, solid state memory, magnetic storage media, optical storage media, and the like. The storage 404 may store computer programming code 406 that is executed by the processor 402 to perform operations of the access system 400 described herein, such as obtaining authentication from the authentication services 112 and 114, obtaining authorization from the authorization service 116, receiving information from the door locks 104 and 105, transmitting information to the door locks 104 and 105, and generally controlling the door locks 104 and 105. The access system 400 may include a display, such as a touch screen, an LED display, an LCD display, and the like. The Access System 400 may include input devices 410, such as a touch screen, mouse, keyboard, thumb pad, microphone, etc. The Access System 400 may include a wireless adapter 412 for connecting to the wireless network 106 and a network adapter 414 for connecting to a wired network, such as a LAN, such as an Ethernet network, etc. The Access System 400 may access the Internet via its wired network connection.

[0025] FIG. 5 illustrates a flow chart 500 of exemplary steps performed in an exemplary embodiment to unlock a lock, such as a door lock. These same operations may be generally applied to unlocking any type of lock in alternative embodiments. Initially, at 502, a user inputs an identity credential into the mobile computing device 102, such as by receiving the identity credential from a contactless card or by inputting the identity credential. Various methods of inputting the identity credential are described below. At 504, the user may use the mobile computing device 102 to interact with a lock, such as a door lock 104. This may involve approaching the door lock 104 and initiating a wireless NFC session between the mobile computing device 102 and the door lock 104. Communication may occur between the mobile computing device 102 and the door lock 104 to pass the identity credential from the mobile computing device 102 to the door lock 104. At 505, the identity credential is transferred to the access system 110 via the wireless network 106. At 506, the access system 110 transmits the identity authentication information to one of the authentication services 112 and 114 to authenticate the identity authentication information as authentic. At 508, the authentication service 112 or 114 returns a response to the access system 110 indicating whether the identity authentication information was deemed authentic or inauthentic. If the identity authentication information is not authentic, at 510, the door lock remains locked. No further action is taken or the user is notified that the attempt to unlock the door lock 104 was unsuccessful by receiving feedback from the access system 110 via the mobile computing device 102 or by receiving feedback from the door lock 104, such as a red light being illuminated on the door lock. In other embodiments, such a notification may not be sent.

[0026] If the authentication indicates that the identity credentials are authenticated, then at 514 it is determined whether the user is authorized to unlock the door lock 104. This requires the access system 110 to send the identity information to the authorization service 116 and receive a response. At 514 it is determined whether the user is authorized. If the user is not authorized, then at 510 the door may remain locked. In some embodiments, a notification may 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. If the user is authorized, then the door lock 104 is unlocked at 516 by the access system 110 sending a message, command, or signal to the door lock 104 under the control of the processing logic 302 that causes the actuator 314 to actuate the locking mechanism 312 to the unlocked position.

[0027] As mentioned above, identity authentication information may be entered into the mobile computing device 102 in a variety of ways. FIG. 6A shows a flow chart 600 illustrating the steps performed when identity authentication information is entered by a contactless card. This flow chart is described in conjunction with FIG. 6B. Initially, at 602, the key application 210 executes on the processor 202 of the mobile computing device 200. At 604, the key application 210 prompts the user to tap the contactless card 632 to the mobile computing device 636 (or alternatively, bring the card 632 within communication range of the device 636) to initiate an NFC session between the contactless card 632 and the mobile computing device 636. By doing so, the contactless card 632 can transfer the identity authentication information in the secure package 634 to the mobile computing device 636. The key application 210 can launch the card application 206 to interact with the contactless card 632. When the contactless card 632 is placed in sufficient proximity to the mobile computing device 636, an NFC session is established.

[0028] As part of the NFC session, at 606, the contactless card 632 generates a secure package 634 that holds identity authentication information. FIG. 7A illustrates an example of how the secure package 634 may be generated. A cryptographic hash function, such as MD5 or SHA-1, may be employed in generating the secure package 634. FIG. 7A illustrates a block diagram 700 that illustrates how a cryptographic hash function is used in an exemplary embodiment. In the example illustrated in FIG. 7A, three inputs 702, 704, and 706 may be passed together through a hash function 710. The choice to depict three inputs is illustrative and not intended to be limiting. Other numbers of inputs may be used. The hash function 710 may generate an output hash value 712. Due to the nature of the hash function 710, it is computationally difficult to derive the inputs 702, 704, and 706 from the hash value 712 without knowing the key 708 used by the hash function 608. Thus, the key 708 is only stored or otherwise accessible by the contactless card 632 and the authentication service 112.

[0029] The key 708 may be dynamically generated for each session and may be unique to the contactless card 632. In some embodiments, the key 708 is generated based on a cryptographic key (e.g., key 814) stored by the contactless card and a copy of the key is held by the authentication service 112. In some embodiments, the key 708 is dynamically generated for each session by encrypting a key held by the card and a counter value held by the contactless card to generate a dynamic key 708. The dynamic key 708 may be used in the hash function 608. The hash function 710 may thus provide a layer of security for the content (e.g., inputs 702, 704, and 706) contained in the secure package 634.

[0030] In exemplary embodiments, the inputs 702, 704, and 706 may vary depending on the information the parties agree to exchange and / or the protocol agreed upon to authenticate the initiating party. FIG. 7B shows a diagram 720 of possible types of inputs 722 that are hashed in exemplary embodiments. The inputs 722 may be agreed upon by the contactless card 632 and the authentication service 112. In these exemplary embodiments, a one-time password 724 generated by the contactless card 632 may be included as an input. An initiator's account identifier 726 may be provided as an input. This may be an account number or other identifier that uniquely identifies the initiator's account. As previously mentioned, the account identifier 726 may be the initiator's phone number. The inputs 722 may include a counter value 728 maintained by the contactless card 632. In some embodiments, the counter value 728 is synchronized with the authorization service 116 and / or the authentication service 112, 114. The inputs 722 may include the initiator's name 730. As an additional layer of security, in some embodiments, the hash value 712 may be encrypted.

[0031] Referring back to FIG. 6, the contactless card 632 may transmit the secure package 634 to the mobile computing device 636 at 608. The mobile computing device 636 may receive the secure package at 610. As shown in FIG. 6B, the secure package 634 is ultimately included in a message 638 that is transmitted from the mobile computing device 636 over a wireless network to the access system (see step 506 of FIG. 5). The access system may then provide the message 638 to the authentication service 112 for authentication. To verify the authenticity of the hash value 712 generated by the contactless card, the authentication service 112 may regenerate the hash value 712 using the agreed-upon input 722. The authentication service 112 then compares the regenerated hash value 712 with the hash value in the secure package 634 (which may be decrypted if encrypted). If the comparison results in a match, the authentication service 112 authenticates the secure package 634 and sends an indication of authentication to the access system 110 and / or the authorization service 116. If the comparison does not result in a match, the authentication service 112 does not authenticate the secure package 634 and sends an indication of authentication failure to the access system 110 and / or authorization service 116. In this manner, the access system 110 and / or authorization service 116 may deny the requested opening of a door lock or other lock.

[0032] FIG. 8A illustrates an exemplary contactless card 800 for use in exemplary embodiments. The contactless card 800 is a payment card, such as a credit card, debit card, or gift card, issued by a service provider 805 displayed on the front or back of the card 800. In some exemplary embodiments, the contactless card 800 may be an identification card, independent of a payment card, including, but not limited to, a payment card. In some exemplary embodiments, the payment card may include a dual interface contactless payment card. The contactless card 800 may include a substrate 820 including single or laminated layers composed of plastic, metal, and other materials. Exemplary substrate materials include polyvinyl chloride, polyvinyl chloride acetate, acrylonitrile butadiene styrene, polycarbonate, polyester, anodized titanium, palladium, gold, carbon, paper, and biodegradable materials. In some examples, contactless card 800 may have physical characteristics that conform to the ID-1 format of the ISO / IEC 7810 standard, and contactless card 800 may otherwise conform to the ISO / IEC 14443 standard. However, it is understood that contactless card 800 according to the present disclosure may have different characteristics, and the present disclosure does not require that the contactless card be implemented as a payment card.

[0033] The contactless card 800 may 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 communication with other communication devices, such as a user device, a smart phone, a laptop, desktop, or tablet computer. The contactless card 800 may include processing circuitry, an antenna, and other components not shown in FIG. 8A. These components may be located behind the contact pad 810 or elsewhere on the substrate 820. The contactless card 800 may include a magnetic strip or tape located on the back of the card (not shown in FIG. 8A).

[0034] As shown in Figure 8B, the contact pad 810 of Figure 8A may include processing circuitry 825 for storing and processing information, which includes a microprocessor 830 and memory 835. It is understood that the processing circuitry 825 may include additional components, including processors, memory, error and parity (e.g., cyclic redundancy check (CRC)) checkers, data encoders, anti-collision algorithms, controllers, command decoders, security primitives, and anti-tamper hardware, necessary to perform the functions described herein.

[0035] The memory 835 may be a read-only memory, a write-once read-multiple memory, or a read / write memory, e.g., RAM, ROM, and EEPROM, and the contactless card 800 may include one or more of these memories. Read-only memory may be factory programmable as read-only or may be programmable only once. Only-once programmability provides the opportunity to write once and read many times. Write-once / read multiple memory may be programmed at a point after the memory chip leaves the factory. Once programmed memory cannot be rewritten, but can be read any number of times. Read / write memory may be programmed and reprogrammed many times after leaving the factory, and can be read many times.

[0036] The memory 835 may be configured to store one or more applets 840, a master key 814, a diversification key 826, one or more counters 845, and a customer identifier 850. In general, a server (such as the authentication service 112) and the contactless card 800 may be provided with the same master key 814 (sometimes referred to as a master symmetric key). More specifically, each contactless card 800 is programmed with a separate master key 814 with a corresponding pair held by the server. For example, when the 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).

[0037] Additionally, when a given card 800 is manufactured, the diversification key 826 may be diversified from the master key 814 by a function that takes as inputs the diversification factor and the master key 814. In some embodiments, the diversification factor may be a counter 845 on the contactless card 800. The diversification key 826 may be stored on the contactless card 800 and on the server. The master key 814 and the diversification key 826 may be kept secret from all parties other than the contactless card 800 and the server, thereby enhancing security. Additionally, as described below, the value of the counter 845 may change over time. Thus, the diversification key 826 may also change.

[0038] The one or more applets 840 may include one or more software applications configured to run on one or more contactless cards, such as a Java Card applet. However, it is understood that the applet 840 is not limited to a Java Card applet, but may instead be any software application capable of running on a contactless card or other device with limited memory. The one or more counters 845 may include a numeric counter sufficient to store an integer number. The counter 845 may correspond to the counter 728 of FIG. 7B. The counter 845 may be synchronized with a server, such as the authorization service 116 and / or the authentication service 112, 114. Each time a read operation is performed, the counter 845 may be configured to increment. In some examples, each time data from a contactless card is read (e.g., by a mobile device), the counter 845 is sent to a server for validation to determine whether the counter 845 is equal to (and / or within a threshold value) an instance of the counter 845 maintained by the server. Thus, when data is received from the card, the server may increment an instance of a counter 845 maintained by the server. As another example, when a mobile device reads data from a contactless card, the mobile device may notify the server of the read, and the server may increment an instance of a counter 845 maintained by the server.

[0039] In some embodiments, the counter 845 may be included in the cryptographic payload generated by the contactless card 800 and included in the clear with the cryptographic package. The cryptographic payload may include a one-time password (OTP). In such an embodiment, the server may regenerate the diversification key 826 based on an instance of the master key 814 and an instance of the counter 845 that the server maintains. The server may then use the diversification key 826 to decrypt the encrypted payload and generate a counter value. The server compares the decrypted counter value 845 to the unencrypted counter 845 to verify or authenticate the cryptographic payload.

[0040] Customer identifier 850 includes a unique alphanumeric identifier assigned to a user of contactless card 800, which can distinguish a contactless card user from other contactless card users. In some examples, customer identifier 850 can identify both a customer and an account assigned to that customer, and further identify the contactless card associated with the customer's account.

[0041] Although the processor and memory elements of the foregoing exemplary embodiments are described with reference to contact pads, the present disclosure is not limited thereto, and it will be appreciated that these elements may be implemented external to the pads 810, may be completely separate from the pads 810, or may be implemented as additional elements in addition to the processor 830 and memory 835 elements disposed within the contact pads 810.

[0042] In some embodiments, the contactless card 800 may include one or more antennas 855. The one or more antennas 855 may be disposed within the contactless card 800 around the contact pads 810 and the processing circuitry 825. For example, the one or more antennas 855 may be integral with the processing circuitry 825, or the one or more antennas 855 may be used in conjunction with an external booster coil. As another example, the one or more antennas 855 may be external to the contact pads 810 and the processing circuitry 825.

[0043] In one embodiment, the coil of the contactless card 800 may act as the secondary of an air-core transformer. The terminal may communicate with the contactless card 800 by disconnecting the power or amplitude modulation. The contactless card 800 may use a gap in the power connection of the contactless card to infer data sent from the terminal, which may be functionally held via one or more capacitors. The contactless card 800 may return communication by switching the load or performing load modulation on the coil of the contactless card. Load modulation may be detected at the terminal coil by interference.

[0044] As described above, the contactless card 800 may be built on a software platform operable on a smart card or other device with limited memory, such as JavaCard, and one or more applications or applets may be securely executed. An applet may be added to the contactless card to provide an OTP for multi-factor authentication (MFA) in various mobile application-based use cases. The applet may be configured to respond to one or more requests, such as a near field data exchange request, from a reader, such as a mobile NFC reader, and generate an NFC Data Exchange Format (NDEF) message that includes the encrypted secure OTP encoded as an NDEF text tag. One example of an NDEF FOTP is the NDEF Short Record Layout (SR=1). In such an example, the one or more applets 840 may be configured to encode the OTP as a well-known type of text tag of NDEF Type 4. In some examples, the NDEF message may include one or more records.

[0045] FIG. 8C shows a flowchart 860 of steps performed by the authentication service 112 when the contactless card 800 is used. First, at 862, the authentication service 112 may use the decryption key to decrypt the secure package 634. As previously described, the authentication service 112 may regenerate the decryption key to decrypt the secure package, for example, by encrypting the master key 814 and the counter value 845 to generate the diversified key 826. Additionally, the decryption key may be used to decrypt the hash value 712 to extract the inputs that were hashed together by the hash function 710. In some embodiments, the authentication service 112 regenerates the hash value using the same inputs used by the contactless card and compares the regenerated hash value to the decrypted hash value to verify the hash value. At 864, the extracted password 724 and counter value 728 may be compared to a valid password and a valid counter value (e.g., a valid password and a counter value stored in a database by the authentication service 112). At 866, a determination may be made whether the passwords match and the counter values ​​match, or whether the extracted counter value otherwise indicates that the password has not expired. For example, if the extracted counter value does not equal (or is not within a threshold value) a valid counter value, the authentication service 112 determines that the password has expired. If the passwords match and the extracted password has not expired based on the extracted counter value at 868, the other extracted information may be compared. If the other information is valid based on the comparison at 872, the user's identity is authenticated at 874 and a success message is returned to the access system 110. Otherwise, the user's identity is not authenticated and a failure message is sent to the access system 110 at 870. Similarly, if the passwords do not match or the extracted counter value indicates that the password has expired at 870, the initiator may not be authenticated and a failure message may be sent.

[0046] The identity credential may be provided using a cryptographic key. FIG. 9 shows a flow chart 900 illustrating exemplary steps performed in an exemplary embodiment when such an approach to providing identity credential is used. Initially, at 901, a user registers with an authentication service 112 or 114, such as a FIDO2 authentication service. This includes providing a name, email address, and selecting a password. Other personal information may be provided. Once registered, the user is provided with a private cryptographic key from the authentication service 112 or 114. Registration may be completed as a separate transaction before the user attempts to open the door lock 104. When the user wishes to unlock the door lock, at 902, the user accesses a web page using a web browser 207 or launches a key application 210 on a mobile computing device where the user is prompted to enter an email address and password. Once the correct email address and password are provided, a cryptographic challenge is presented at 904, requiring a response. The correct response may require access to a private cryptographic key. At 906 , the user generates a response using the private key and sends the response to the authentication service 112 or 114 .

[0047] FIG. 10 shows a flow chart 1000 illustrating exemplary steps performed when the authentication service 112 or 114 authenticates a user using a cryptographic challenge. At 1002, the authentication service 112 or 114 receives an email address and a password from the user, as described above. At 1004, the authentication service 112 or 114 determines whether the email address is that of a registered user and whether the received password matches the user's registered password. If the email address is not that of a registered user or the password does not match the registered password, at 1006, a message is sent to the user's mobile computing device 102 indicating that an incorrect email address and / or password was provided, and the authentication is aborted. If the correct email address and password were provided, at 1008, the authentication service 112 or 114 issues a cryptographic challenge requesting that the user possess a private key issued for use during registration. Many different cryptographic challenge approaches may be employed, such as those used in the FIDO2 authentication protocol. At 1010, the authentication service 112 or 114 receives the response from the user's mobile computing device 102. At 1012, the authentication service determines whether the response is correct. If the response is correct, at 1014, a success message is sent. If the response is incorrect, at 1016, a failure message is sent.

[0048] FIG. 11A shows a flowchart 1100 illustrating exemplary steps performed by the authorization service 116 in processing a user request to unlock a lock, such as a door lock. At 1102, the authorization service 116 receives a user's identity (e.g., name) and a guest room number. At 1104, a database 118 may be accessed to determine information about the guest. The database 118 may hold a list of all current guests, accessible room numbers, and the dates and times the rooms are accessible. Additionally, the database 118 may hold the guest's access rights, which are used to determine which locks the guest may unlock. Based on the contents of the database 118, a response is generated and sent by the authorization service 116 to the access system 110 at 1106. The response, in some embodiments, may include the guest's information retrieved from the database 118 or may indicate that there is no information in the database for the guest. Alternatively, the authorization service 116 may process the data to determine whether the user is authorized to unlock a lock, such as the door lock 104, in the specified guest room. In some embodiments, the access system 110 processes the data to determine whether the user is allowed to unlock the door.

[0049] 11B shows a flow chart 1120 illustrating exemplary steps performed by the access system 110 or authorization service 116 to determine whether a user is authorized to unlock a lock, such as the door lock 104, based on information retrieved from the database 118. At 1122, it is determined whether the user is a registered guest. If the user is not a registered guest, then at 1128, the user is deemed unauthorized. If the user is registered as a guest, then at 1124, it may be determined whether the user has access to unlock the specified lock. If the user does not have access, then at 1128, the user is deemed unauthorized. If the user has access, then at 1126, a time and date check is performed to determine whether the user is currently authorized to unlock the lock. If the user is currently authorized, then the user is deemed authorized to unlock the lock and an unlock command is sent to the lock. If the user is not authorized, then at 1128, the unlock command is not sent to the lock.

[0050] Although the present disclosure has been described herein with reference to exemplary embodiments, it will be understood that various changes in scope and detail may be made therein without departing from the intended scope as defined in the appended claims.

Claims

1. 1. A method executed by a processor of a computing device, comprising: receiving, from the door lock over a wireless network, a secure package including a cryptographic payload generated by the contactless card based at least on a cryptographic key for the contactless card; transmitting the cryptographic payload to an authentication service for authentication based at least on an instance of the cryptographic key for the contactless card held by an authentication service; receiving a response from the authentication service indicating that the cryptographic payload has been authenticated based at least on the instance of the cryptographic key for the contactless card held by the authentication service; determining, based on the access information, that a user associated with the contactless card is authorized to unlock the door; transmitting information to the door lock via the wireless network to unlock the door; A method comprising:

2. the encryption key comprises a diversified key; the diversified key is generated by the contactless card and the authentication service based on a master key and a counter value of the contactless card. The method of claim 1.

3. The method of claim 2 , wherein the counter value is synchronized between the contactless card and the authentication service.

4. The encryption payload includes a hash value, The hash value is generated based at least on a hash function and the encryption key. The method of claim 1.

5. 5. The method of claim 4, wherein the hash value is further generated based on at least a portion of 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 authentication service includes: generating an instance of the hash value based on the OTP, the counter value, and the account identifier; determining, based on the comparison, that the instance of the hash value matches the hash value of the encryption payload; authenticating the cryptographic payload based at least in part on The method according to claim 5.

7. The method of claim 1 , wherein the wireless network is an Institute of Electrical and Electronic Engineers (IEEE) 802.11ah network.

8. 1. A method executed by a processor of a computing device, comprising: receiving, from the door lock over a wireless network, a secure package including a cryptographic payload generated by the contactless card based at least on a cryptographic key for the contactless card; transmitting the cryptographic payload to an authentication service for authentication based at least on an instance of the cryptographic key for the contactless card held by an authentication service; receiving a response from the authentication service indicating that the Encapsulating Payload was not authenticated based at least on the instance of the encryption key for the contactless card held by the authentication service; determining, based on the response from the authentication service, that a user associated with the contactless card is not authorized to unlock the door lock; sending an indication to a mobile device associated with the user indicating that the user is not authorized to unlock the door lock; A method comprising:

9. the encryption key comprises a diversified key; the diversified key is generated by the contactless card and the authentication service based on a master key and a counter value of the contactless card. The method according to claim 8.

10. The method of claim 8 , wherein the counter value is synchronized between the contactless card and the authentication service.

11. The encryption payload includes a hash value, The hash value is generated based at least on a hash function and the encryption key. The method according to claim 8.

12. 5. The method of claim 4, wherein the hash value is further generated based on at least a portion of 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 authentication service includes: generating an instance of the hash value based on the OTP, the counter value, and the account identifier; determining, based on the comparison, that the instance of the hash value does not match the hash value of the Encapsulating Payload; authenticating the cryptographic payload based at least in part on The method of claim 12.

14. The method of claim 8 , wherein the wireless network is an Institute of Electrical and Electronic Engineers (IEEE) 802.11ah network.

15. A method performed by processing logic of a door lock, comprising: receiving, from a contactless card, a secure package including a cryptographic payload generated based at least on a cryptographic key for said contactless card; transmitting the cryptographic payload over a wireless network to an authentication service for authentication based at least on an instance of the cryptographic key for the contactless card held by an authentication service; receiving a response from the authentication service indicating that the cryptographic payload has been authenticated based at least on the instance of the cryptographic key for the contactless card held by an authentication service; sending information to an authorization service to determine whether a user associated with the contactless card is authorized to unlock the door lock; receiving an indication from the authorization service indicating that the user is authorized to unlock the door lock; unlocking the door lock based on responses received from the authentication service and the authorization service; A method comprising:

16. the encryption key comprises a diversified key; the diversified key is generated by the contactless card based on a master key and a counter value of the contactless card. The method of claim 15.

17. The method of claim 16, wherein the counter value is synchronized between the contactless card and the authentication service.

18. The encryption payload includes a hash value, The hash value is generated based at least on a hash function and the encryption key. The method of claim 15.

19. 20. The method of claim 18, wherein the hash value is further generated based on at least a portion of 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 Electronic Engineers (IEEE) 802.11ah network.