# US 11,908,262 B2 · Token based secure access to a locker system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,908,262 B2
- Document ID: US11908262B2
- Status: Granted
- Kind: B2
- Application number: 17/530,273
- Filed: 2021-11-18
- Published: 2023-05-18
- Granted: 2024-02-20
- Earliest claimed: 2021-11-18
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Kevin Osborn; Matt J. Oliver; Lin Ni Lisa Cheng
- Web page: https://patentgrep.com/patent/US11908262B2

## CPC

- G07C 9/00912: {for safes, strong-rooms, vaults or the like}
- G07C 9/22: in combination with an identity check of the pass holder
- G07C 9/00309: {operated with bidirectional data transmission between data carrier and locks}
- G07C 9/00896: {specially adapted for particular uses}
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/3213: {using tickets or tokens, e.g. Kerberos (network architectures or network communication protocols for entities authentication using tickets in a packet data network H04L63/0807)}
- H04L 9/3242: {involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 2209/80: Wireless
- G07C: TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Disclosed herein are system, method, and computer program product embodiments for providing secure access to a locker of a locker system based on a token that includes token data and a message authentication code (MAC) to authenticate the token data. The token data includes at least the unique locker identifier for the locker. The MAC can be generated using a secret key. The secret key can be obtained based on a unique derivation key associated with a master key. The locker system can determine whether the token is valid based on the token data, the MAC, and the secret key. In response to a determination that the token is valid, the locker system can send a signal to unlock the locker.

## Claims

### Claim 1

A locker system, comprising:
a memory configured to store a master key;
a communication interface; and
a processor coupled to the memory and the communication interface, and configured to:
receive a token through the communication interface to unlock a locker identified by a unique locker identifier, wherein the token includes token data, and a message authentication code (MAC) to authenticate the token data, wherein the MAC is generated using a secret key obtained based on a unique derivation key (UDK) associated with the master key, and wherein the token data includes at least the unique locker identifier, wherein the locker is located in a locker bank identified by a unique locker bank identifier, and wherein the UDK is generated based on the master key and the unique locker bank identifier, and the secret key is a session key generated based on the UDK and a transaction counter;
determine whether the token is valid based on the token data, the MAC, and the secret key; and
send a signal to unlock the locker in response to a determination that the token is valid.

### Claim 2 (depends on 1)

The locker system of claim 1, wherein the token data further includes at least one of an access counter to record a number of accesses to the locker or a date code interval (DCI).

### Claim 3 (depends on 1)

The locker system of claim 1, further comprising:
a plurality of lockers including the locker, wherein the locker is a first locker, the unique locker identifier is a first locker identifier, and the plurality of lockers further include a second locker having a second locker identifier that is different from the first locker identifier.

### Claim 4 (depends on 1)

The locker system of claim 1, wherein the MAC is a keyed-hash message authentication code (HMAC) generated by a cryptographic hash function, a one-time MAC generated by a k-independent hashing function, or a counter with cipher block chaining message authentication code.

### Claim 5 (depends on 1)

The locker system of claim 1, wherein the memory storing the master key is provided in a hardware security module.

### Claim 6 (depends on 1)

The locker system of claim 1, wherein the communication interface includes a token reader configured to read the token provided by a user in a contactless way.

### Claim 7 (depends on 6)

The locker system of claim 6, wherein the token is received from a mobile device provided by the user, a physical token holder provided by the user, or a near field communication tag provided by the user.

### Claim 8 (depends on 1)

The locker system of claim 1, wherein the processor is further configured to:
receive through the communication interface a user identifier associated with a user;
send the user identifier to a server to authenticate the user; and
receive the token from the server after the server authenticates the user identifier.

### Claim 9 (depends on 8)

The locker system of claim 8, wherein the user identifier is associated with a purchase order placed by the user through the server, and the server authenticates the user identifier using an independent authentication system.

### Claim 10

A computer-implemented method, the method comprising:
receiving a token to unlock a locker identified by a unique locker identifier, wherein the token includes token data, and a message authentication code (MAC) to authenticate the token data, wherein the MAC is generated using a secret key obtained based on a unique derivation key (UDK) associated with a master key, and wherein the token data includes at least the unique locker identifier, wherein the locker is located in a locker bank identified by a unique locker bank identifier, and wherein the UDK is generated based on the master key and the unique locker bank identifier, and the secret key is a session key generated based on the UDK and a transaction counter;
determining whether the token is valid based on the token data, the MAC, and the secret key; and
sending a signal to unlock the locker in response to a determination that the token is valid.

### Claim 11 (depends on 10)

The computer-implemented method of claim 10, wherein the token data further includes at least one of an access counter to record a number of accesses to the locker or a date code interval (DCI).

### Claim 12 (depends on 10)

The computer-implemented method of claim 10, wherein the receiving the token comprises:
receiving a user identifier associated with a user;
sending the user identifier to a server to authenticate the user; and
receiving the token from the server after the server authenticates the user identifier.

### Claim 13 (depends on 12)

The computer-implemented method of claim 12, wherein the user identifier is associated with a purchase order placed by the user through the server, and the server authenticates the user identifier using an independent authentication system.

### Claim 14

A non-transitory computer-readable medium storing instructions, the instructions, when executed by a processor, cause the processor to perform operations comprising:
receiving a token to unlock a locker identified by a unique locker identifier, wherein the token includes token data, and a message authentication code (MAC) to authenticate the token data, wherein the MAC is generated using a secret key obtained based on a unique derivation key (UDK) associated with a master key, and wherein the token data includes at least the unique locker identifier, wherein the locker is located in a locker bank identified by a unique locker bank identifier, and wherein the UDK is generated based on the master key and the unique locker bank identifier, and the secret key is a session key generated based on the UDK and a transaction counter;
determining whether the token is valid based on the token data, the MAC, and the secret key; and
sending a signal to unlock the locker in response to a determination that the token is valid.

### Claim 15 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein the receiving the token comprises:
receiving a user identifier associated with a user;
sending the user identifier to a server to authenticate the user; and
receiving the token from the server after the server authenticates the user identifier.
