# US 10,769,873 B1 · Secure smart unlocking

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

- Number: US 10,769,873 B1
- Document ID: US10769873B1
- Status: Granted
- Kind: B1
- Application number: 16/810,772
- Filed: 2020-03-05
- Granted: 2020-09-08
- Earliest claimed: 2019-06-28
- Assignees: Alibaba Group Holding Limited
- Applicants: Alibaba Group Holding Limited
- Inventors: Xi Sun; Hongwei Luo
- Web page: https://patentgrep.com/patent/US10769873B1

## CPC

- G07C 9/00309: {operated with bidirectional data transmission between data carrier and locks}
- G07C 9/00571: {operated by interacting with a central unit}
- G07C 9/00857: {where the code of the data carrier can be programmed}
- G07C 9/00896: {specially adapted for particular uses}
- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/088: {Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms (network architectures or network communication protocols for using time-dependent keys in a packet data network H04L63/068)}
- H04L 9/3234: {involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token (network architectures or network communication protocols for supporting authentication of entities using an additional device in a packet data network H04L63/0853)}
- H04L 9/3247: {involving digital signatures}
- H04L 9/3297: {involving time stamps, e.g. generation of time stamps}
- G07C 2009/00412: {the transmitted data signal being encrypted}
- G07C 2009/00507: {keyless data carrier having more than one function}
- G07C 2009/00769: {with data transmission performed by wireless means}
- G07C 2209/08: With time considerations, e.g. temporary activation, valid time window or time limitations
- 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

The present application provides an unlocking solution. In this solution, after obtaining a digital key seed, a user mobile device can generate a digital key for multiple times by using the digital key seed and first check data corresponding to a current unlocking operation, and then send the digital key to a smart door lock for verification and unlocking. Because the digital key includes the first check data only corresponding to the current unlocking operation, an attacker cannot use the digital key to perform unlocking again even if the attacker obtains the digital key. In addition, because the digital key seed can be used for multiple times, a smart door lock server does not need to be connected each time to obtain the digital key. Therefore, both security and ease of use are satisfied.

## Claims

### Claim 1

A computer-implemented method comprising:
obtaining, by a user mobile device, a digital key seed;
generating, by the user mobile device, a digital key based on the digital key seed and first check data corresponding to a current unlocking operation;
sending, by the user mobile device, the digital key to a smart door lock, wherein the smart door lock performs verification on the digital key seed and the first check data in the digital key, and performs unlocking after the verification succeeds; and
wherein the first check data corresponding to the current unlocking operation comprises unlocking count information, and the unlocking count information is computed according to a number of times the user mobile device generates a digital key based on the digital key seed.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein generating, by the user mobile device, the digital key based on the digital key seed and the first check data corresponding to the current unlocking operation comprises:
using, by the user mobile device, the digital key seed, the first check data corresponding to the current unlocking operation, and a first dynamic parameter as first to-be-signed data, and signing the first to-be-signed data by using a user private key to obtain a first signature; and
generating, by the user mobile device, the digital key based on the first to-be-signed data and the first signature.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein obtaining, by the user mobile device, the digital key seed comprises:
sending, by the user mobile device, an application request to a smart door lock server, wherein the application request comprises user identity information and a user public key; and
obtaining, by the user mobile device, the digital key seed that is provided by the smart door lock server and related to the user identity information and the user public key.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein the digital key seed comprises second to-be-signed data and a second signature obtained by signing the second to-be-signed data by using a server private key, and the second to-be-signed data comprises second check data and a second dynamic parameter related to the user identity information and the user public key.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein the second check data comprises the user public key, a seed identifier bound to the user identity information, and the second dynamic parameter.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein the second check data further comprises a seed validity time.

### Claim 7

A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:
obtaining, by a user mobile device, a digital key seed;
generating, by the user mobile device, a digital key based on the digital key seed and first check data corresponding to a current unlocking operation;
sending, by the user mobile device, the digital key to a smart door lock, wherein the smart door lock performs verification on the digital key seed and the first check data in the digital key, and performs unlocking after the verification succeeds; and
wherein the first check data corresponding to the current unlocking operation comprises unlocking count information, and the unlocking count information is computed according to a number of times the user mobile device generates a digital key based on the digital key seed.

### Claim 8 (depends on 7)

The non-transitory, computer-readable medium of claim 7, wherein generating, by the user mobile device, the digital key based on the digital key seed and the first check data corresponding to the current unlocking operation comprises:
using, by the user mobile device, the digital key seed, the first check data corresponding to the current unlocking operation, and a first dynamic parameter as first to-be-signed data, and signing the first to-be-signed data by using a user private key to obtain a first signature; and
generating, by the user mobile device, the digital key based on the first to-be-signed data and the first signature.

### Claim 9 (depends on 7)

The non-transitory, computer-readable medium of claim 7, wherein obtaining, by the user mobile device, the digital key seed comprises:
sending, by the user mobile device, an application request to a smart door lock server, wherein the application request comprises user identity information and a user public key; and
obtaining, by the user mobile device, the digital key seed that is provided by the smart door lock server and related to the user identity information and the user public key.

### Claim 10 (depends on 9)

The non-transitory, computer-readable medium of claim 9, wherein the digital key seed comprises second to-be-signed data and a second signature obtained by signing the second to-be-signed data by using a server private key, and the second to-be-signed data comprises second check data and a second dynamic parameter related to the user identity information and the user public key.

### Claim 11 (depends on 10)

The non-transitory, computer-readable medium of claim 10, wherein the second check data comprises the user public key, a seed identifier bound to the user identity information, and the second dynamic parameter.

### Claim 12 (depends on 11)

The non-transitory, computer-readable medium of claim 11, wherein the second check data further comprises a seed validity time.

### Claim 13

A computer-implemented system, comprising:
one or more computers; and
one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:
obtaining, by a user mobile device, a digital key seed;
generating, by the user mobile device, a digital key based on the digital key seed and first check data corresponding to a current unlocking operation;
sending, by the user mobile device, the digital key to a smart door lock, wherein the smart door lock performs verification on the digital key seed and the first check data in the digital key, and performs unlocking after the verification succeeds; and
wherein the first check data corresponding to the current unlocking operation comprises unlocking count information, and the unlocking count information is computed according to a number of times the user mobile device generates a digital key based on the digital key seed.

### Claim 14 (depends on 13)

The computer-implemented system of claim 13, wherein generating, by the user mobile device, the digital key based on the digital key seed and the first check data corresponding to the current unlocking operation comprises:
using, by the user mobile device, the digital key seed, the first check data corresponding to the current unlocking operation, and a first dynamic parameter as first to-be-signed data, and signing the first to-be-signed data by using a user private key to obtain a first signature; and
generating, by the user mobile device, the digital key based on the first to-be-signed data and the first signature.

### Claim 15 (depends on 13)

The computer-implemented system of claim 13, wherein obtaining, by the user mobile device, the digital key seed comprises:
sending, by the user mobile device, an application request to a smart door lock server, wherein the application request comprises user identity information and a user public key; and
obtaining, by the user mobile device, the digital key seed that is provided by the smart door lock server and related to the user identity information and the user public key.

### Claim 16 (depends on 15)

The computer-implemented system of claim 15, wherein the digital key seed comprises second to-be-signed data and a second signature obtained by signing the second to-be-signed data by using a server private key, and the second to-be-signed data comprises second check data and a second dynamic parameter related to the user identity information and the user public key.

### Claim 17 (depends on 16)

The computer-implemented system of claim 16, wherein the second check data comprises the user public key, a seed identifier bound to the user identity information, and the second dynamic parameter.

### Claim 18 (depends on 17)

The computer-implemented system of claim 17, wherein the second check data further comprises a seed validity time.
