# US 12,120,249 B2 · Private key security in the cloud

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

- Number: US 12,120,249 B2
- Document ID: US12120249B2
- Status: Granted
- Kind: B2
- Application number: 18/460,098
- Filed: 2023-09-01
- Published: 2023-12-21
- Granted: 2024-10-15
- Earliest claimed: 2021-04-01
- Assignees: The Boeing Company
- Applicants: The Boeing Company
- Inventors: Joydeep Sarkar
- Web page: https://patentgrep.com/patent/US12120249B2

## CPC

- H04L 9/3265: {using certificate chains, trees or paths; Hierarchical trust model}
- G06F 16/182: Distributed file systems
- G06Q 20/3674: {involving authentication}
- G06Q 20/38215: {Use of certificates or encrypted proofs of transaction rights}
- G06Q 20/3829: {involving key management}
- G06Q 20/4014: {Identity check for transactions}
- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 9/0897: {involving additional devices, e.g. trusted platform module [TPM], smartcard or USB}
- H04L 9/321: {involving a third party or a trusted authority}
- H04L 9/3218: {using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs}
- H04L 9/3221: {interactive zero-knowledge proofs}
- H04L 9/3247: {involving digital signatures}
- H04L 2209/42: Anonymization, e.g. involving pseudonyms
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Techniques for providing to a user with an anonymous user signature on a message in a distributed decentralized network are presented. The techniques use a hardware security module and a certificate authority. The certificate authority: obtains a credential that includes a certificate for the user, where the certificate includes a user public key and a plurality of user attributes; receives a request for a signature on the message, where the request includes an indication of a subset of the plurality of user attributes to be revealed; accesses from the hardware security module a user secret key; and provides to the user at least the message signed by the user secret key and a zero-knowledge proof that establishes that the message is signed by the user secret key corresponding to the user public key in the credential without revealing the plurality of user attributes.

## Claims

### Claim 1

A method of a certificate authority providing an anonymous user signature on a message in a network, the method comprising:
obtaining, by the certificate authority, a credential for the user, the credential comprising a signed certificate, wherein the signed certificate comprises a user public key and a plurality of user attributes;
receiving, by the certificate authority, and from the user, a request for a signature on the message and an indication of a subset of the plurality of user attributes to be revealed to a recipient;
accessing over the network, from an electronic storage, a user secret key corresponding to the user public key in the credential; and
providing, by the certificate authority, at least the message signed by the user secret key and a zero-knowledge proof, wherein the zero-knowledge proof establishes that the message is signed by the user secret key corresponding to the user public key in the credential without revealing the plurality of user attributes.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, prior to the receiving the request for the signature:
receiving, by the certificate authority on the network and from the user, a request for an account; and
providing, to the user, an account.

### Claim 3 (depends on 1)

The method of claim 1, further comprising, prior to the receiving the request for the signature:
generating an asymmetric cryptographic key pair for the user, wherein the asymmetric cryptographic key pair comprises the user public key and the user secret key; and
installing the user secret key.

### Claim 4 (depends on 3)

The method of claim 3, further comprising providing to the user an identification of a memory location of the electronic storage at which the user secret key is stored.

### Claim 5 (depends on 1)

The method of claim 1, wherein the network comprises a blockchain network.

### Claim 6 (depends on 5)

The method of claim 5, wherein the message comprises a cryptocurrency transaction in the blockchain network.

### Claim 7 (depends on 1)

The method of claim 1, further comprising, prior to the receiving the request for the signature:
accessing the user secret key; and
generating, using the user secret key, the credential for the user.

### Claim 8 (depends on 1)

The method of claim 1, wherein the electronic storage comprises a hardware security module.

### Claim 9 (depends on 1)

The method of claim 1, wherein the subset of the plurality of user attributes conforms to a presentation policy specifying attributes required to be disclosed for a specified message type.

### Claim 10 (depends on 1)

The method of claim 1, wherein the zero-knowledge proof further establishes that the subset of the plurality of user attributes comprises attributes in the certificate without revealing the plurality of user attributes in the certificate.

### Claim 11

A computer system for providing an anonymous user signature on a message in a network, the computer system comprising:
an electronic storage communicatively coupled to the network; and
a certificate authority communicatively coupled to the network, the certificate authority comprising at least one electronic processor configured to perform operations comprising:
obtaining a credential for the user, the credential comprising a signed certificate, wherein the signed certificate comprises a user public key and a plurality of user attributes;
receiving from the user a request for a signature on the message and an indication of a subset of the plurality of user attributes to be revealed to a recipient; and
accessing, from the electronic storage, a user secret key corresponding to the user public key in the credential,
providing at least the message signed by the user secret key and a zero-knowledge proof, wherein the zero-knowledge proof establishes that the message is signed by the user secret key corresponding to the user public key in the credential without revealing the plurality of user attributes.

### Claim 12 (depends on 11)

The computer system of claim 11, wherein the operations further comprise, prior to the receiving the request for the signature:
receiving, by the certificate authority on the network and from the user, a request for an account; and
providing, to the user, an account.

### Claim 13 (depends on 11)

The computer system of claim 11, wherein the operations further comprise, prior to the receiving the request for the signature:
generating an asymmetric cryptographic key pair for the user, wherein the asymmetric cryptographic key pair comprises the user public key and the user secret key; and
installing the user secret key.

### Claim 14 (depends on 13)

The computer system of claim 13, wherein the operations further comprise providing to the user an identification of a memory location of the electronic storage at which the user secret key is stored.

### Claim 15 (depends on 11)

The computer system of claim 11, wherein the network comprises a blockchain network.

### Claim 16 (depends on 15)

The computer system of claim 15, wherein the message comprises a cryptocurrency transaction in the blockchain network.

### Claim 17 (depends on 11)

The computer system of claim 11, wherein the operations further comprise, prior to the receiving the request for the signature:
accessing the user secret key; and
generating, using the user secret key, the credential for the user.

### Claim 18 (depends on 11)

The computer system of claim 11, wherein the electronic storage comprises a hardware security module.

### Claim 19 (depends on 11)

The computer system of claim 11, wherein the subset of the plurality of user attributes conforms to a presentation policy specifying attributes required to be disclosed for a specified message type.

### Claim 20 (depends on 11)

The computer system of claim 11, wherein the zero-knowledge proof further establishes that the subset of the plurality of user attributes comprises attributes in the certificate without revealing the plurality of user attributes in the certificate.
