# US 2025/0097018 A1 · Secure Key Exchange

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

- Number: US 2025/0097018 A1
- Document ID: US20250097018A1
- Status: Published application
- Kind: A1
- Application number: 18/542,176
- Filed: 2023-12-15
- Published: 2025-03-20
- Earliest claimed: 2023-09-19
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Thomas P. Mensch; Elad Efrat; David Tamagno; Armaiti Ardeshiricham; Wade Benson; Yannick L. Sierra
- Web page: https://patentgrep.com/patent/US20250097018A1

## CPC

- H04L 9/083: {involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]}
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/606: {by securing the transmission between two devices or processes}
- G06F 21/72: in cryptographic circuits
- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 9/0833: {involving conference or group key (network architectures or network communication protocols for key management in group communication in a packet data network H04L63/065)}
- H04L 9/0841: {involving Diffie-Hellman or related key agreement protocols}
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- 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)

## Abstract

Techniques are disclosed relating to cryptographic key exchanges. In some embodiments, a first device belonging to a first device group receives a request to perform a key exchange to establish a shared secret with a second device belonging to a second device group. The first device verifies a key authorization data structure issued by a key authority, the key authorization data structure including a first public key of a first participant authority authorized to identify members of the first device group and a second public key of a second participant authority authorized to identify members of the second device group. In response to the verifying being successful, the first device performs the requested exchange using a public key pair attested to by the first participant authority as belonging to a member in the first device group.

## Claims

### Claim 1

A non-transitory computer readable medium having program instructions stored therein that are executable by a first device belonging to a first device group to cause the first device to perform operations comprising:
receiving a request to perform a key exchange to establish a shared secret with a second device belonging to a second device group;
verifying a key authorization data structure issued by a key authority, wherein the key authorization data structure includes a first public key of a first participant authority authorized to identify members of the first device group and a second public key of a second participant authority authorized to identify members of the second device group; and
in response to the verifying being successful, performing the requested exchange using a public key pair attested to by the first participant authority as belonging to a member in the first device group.

### Claim 2 (depends on 1)

The computer readable medium of claim 1, wherein the operations further comprise:
generating a participant identity key (PIK) pair associated with an identity of the first device; and
sending a request for the first participant authority to issue an attestation identifying the PIK pair as being associated with a member of the first device group.

### Claim 3 (depends on 2)

The computer readable medium of claim 2, wherein the request includes account information for a user account associated with each of the first device group and usable by the first participant authority to determine that the first device is a member of the first device group.

### Claim 4 (depends on 2)

The computer readable medium of claim 2, wherein the generating includes:
deriving the PIK pair using previously stored key material trusted by the first participant authority and usable by the first participant authority to establish that the first device is a member of the first device group.

### Claim 5 (depends on 2)

The computer readable medium of claim 2, wherein performing the requested exchange includes:
generating an ephemeral first participant exchange key (PEK) pair attested to by the PIK pair;
exchanging, with the second device, public keys of the first PEK pair and of a second PEK pair generated by the second device; and
deriving the shared secret by performing elliptic-curve Diffie-Hellman (ECDH) using a private key of the first PEK pair and the exchanged public key of the second PEK pair.

### Claim 6 (depends on 1)

The computer readable medium of claim 1, wherein the operations further comprise:
receiving a revocation request to revoke the first device's membership in the first device group;
in response to the revocation request:
deleting the public key pair attested to by the first participant authority; and
sending, to the first participant authority, a request to remove the first device from the first device group.

### Claim 7 (depends on 1)

The computer readable medium of claim 1, wherein the operations further comprise:
receiving a revocation request to revoke membership of another device in the first device group;
in response to the revocation request:
sending a request to the first participant authority to replace the first public key of the first participant authority with another public key; and
sending a request to the first participant authority to attest to another public key pair using a private key corresponding to the other public key.

### Claim 8 (depends on 1)

The computer readable medium of claim 1, wherein the operations further comprise:
receiving a disaster recovery (DR) key pair attested to by the key authority;
in response to determining that revocation of the key authority is warranted:
signing, with a private key of the DR key pair, requests for members of the first and second device groups to discontinue use of the key authorization data structure; and
signing, with the private key of the DR key pair, an attestation establishing another key authority for authorizing key exchanges between the first and second device groups.

### Claim 9 (depends on 1)

The computer readable medium of claim 1, wherein the operations further comprise:
exchanging with the second device a symmetric key encrypted using the established shared secret.

### Claim 10 (depends on 1)

The computer readable medium of claim 1, wherein the operations further comprise:
providing, to the second device, a user authentication credential encrypted using the established shared secret.

### Claim 11

A non-transitory computer readable medium having program instructions stored therein that are executable by a computing system implementing a first participant authority to cause the computing system to perform operations comprising:
receiving, from a first device, a request for the first participant authority to issue a signed attestation indicating that a public key of the first device belongs to a member of a first device group authorized to participate in a key exchange with members of a second device group;
determining whether the first device is a member of the first device group including verifying a key authorization data structure issued by a key authority, wherein the key authorization data structure includes a first public key of the first participant authority authorized to identify members of the first device group and a second public key of a second participant authority authorized to identify members of the second device group; and
based on the determining, providing, to the first device, the attestation signed by a first private key corresponding to the first public key of the first participant authority.

### Claim 12 (depends on 11)

The computer readable medium of claim 11, wherein the operations further comprise:
receiving, from a second device whose membership in a given device group is attested to by the first participant authority, a request to remove the second device from the given device group; and
removing, in response to the request, the second device from the given device group.

### Claim 13 (depends on 11)

The computer readable medium of claim 11, wherein the request includes account information for a user account associated with each device of the first device group.

### Claim 14 (depends on 11)

The computer readable medium of claim 11, wherein the operations further comprise:
receiving a revocation request to revoke a membership of the first device in the first device group;
in response to the revocation request:
replacing the first public key and the first private key with another public key pair;
requesting, from the key authority, another key authorization data structure that includes a public key of the other public key pair; and
providing, to another member of the first device group, an indication the signed attestation of the first device has been revoked.

### Claim 15 (depends on 14)

The computer readable medium of claim 14, wherein the operations further comprise:
receiving, from another device in the first device group, a request to attest to a public key pair of the other device; and
providing, to the other device, another participant attestation attested to by a private key of the other public key pair.

### Claim 16

A non-transitory computer readable medium having program instructions stored therein that are executable by a computing system implementing a key authority to cause the computing system to perform operations comprising:
receiving a request for the key authority to authorize performance of key exchanges between a first device group and a second device group;
signing, by the key authority, a key authorization data structure that includes a first public key of a first participant authority authorized to identify members of the first device group and a second public key of a second participant authority authorized to identify members of the second device group; and
providing the signed key authorization data structure to the first and second participant authorities to authorize performance of key exchanges between members of the first and second device groups.

### Claim 17 (depends on 16)

The non-transitory computer readable medium of claim 16, wherein the key authorization data structure further includes key exchange information indicating a particular usage policy for devices participating in key exchanges.

### Claim 18 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the usage policy specifies that members of the first devices group are permitted to send, but not receive data objects form members of the second device group.

### Claim 19 (depends on 16)

The non-transitory computer readable medium of claim 16, wherein the operations further comprise:
generating, by the key authority, a disaster recovery (DR) key pair;
signing a DR attestation data structure including a public key of DR key pair; and
sending, by the key authority to a given member of a given device group, the signed DR attestation data structure and a private key of the DR key pair to grant the given member an ability to revoke the key authority.

### Claim 20 (depends on 16)

The non-transitory computer readable medium of claim 16, wherein the operations further include:
generating, by the key authority, a second key authorization data structure that authorizes performance of key exchanges between members of the first device group, the second device group, and a third device group whose members are identified by a third participant authority; and
providing the second key authorization data structure to the first, second, and third participant authorities.
