IP Library › Granted Patent US 12,206,799
Granted Patent B2
US 12,206,799 · App. 17/805,335 · Granted Jan 21, 2025

Secure accessory connections

Inventors: Steven A. Myers (San Jose, CA); Kyle C. Brogle (San Francisco, CA); Sean P. Devlin (San Francisco, CA); Edwin W. Foo (Sunnyvale, CA); John T. Perry (San Jose, CA)
Assignee: Apple Inc.
H04L9/3268H04L9/0825H04L9/3273H04L63/0435
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,206,799
App. No.
17/805,335
Filed
Jun 3, 2022
Granted
Jan 21, 2025
Kind
B2
Art Unit
2408
USPC
713/156
Abstract

Techniques are disclosed relating to securely authenticating communicating devices. In various embodiments, a computing device receives, via a network connection with a network, a first certificate for a first public key pair of the computing device. The computing device provides the first certificate to an offline accessory device and receives a second certificate for a second public key pair maintained by the offline accessory device. The computing device performs a verification of the second certificate and, responsive to the verification being successful, interacts with the offline accessory device. In some embodiments, prior to providing the first certificate, the computing device determines an ordering in which the first and second certificates are to be exchanged by the first computing device and the offline accessory device, and the first certificate is provided to the offline accessory device in accordance with the determined ordering.

Claims (66)

1. A non-transitory computer readable medium having program instructions stored therein that are executable by a first computing device to cause the first computing device to perform operations comprising:

receiving, via a network connection with a network, a first certificate for a first public key pair of the first computing device;

determining an ordering in which the first certificate and a second certificate are to be exchanged by the first computing device and an offline accessory device;

after the determining, providing the first certificate to the offline accessory device, wherein the first certificate is provided to the offline accessory device in accordance with the determined ordering;

receiving the second certificate for a second public key pair maintained by the offline accessory device;

performing a verification of the second certificate; and

responsive to the verification being successful, interacting with the offline accessory device.

2. The computer readable medium of claim 1 , wherein determining the ordering includes:

sending, to the offline accessory device, first priority information indicative of an ordering in which the first computing device sends the first certificate; and

receiving, from the offline accessory device, second priority information indicative of an ordering in which the offline accessory device sends the second certificate; and

wherein the determined ordering is determined based on the first and second priority information.

3. The computer readable medium of claim 2 , wherein the first priority information indicates an ability to interface with a certificate authority to replace the first certificate, and wherein the second priority information indicates an inability to interface with a certificate authority to replace the second certificate.

4. The computer readable medium of claim 1 , wherein the operations further comprise:

performing a mutual authentication with the offline accessory device based on the first and second certificates; and

wherein the interacting includes receiving a service from the offline accessory device responsive to the mutual authentication being successful.

5. The computer readable medium of claim 4 , wherein the operations further comprise:

establishing a shared cryptographic key based on the first and second public key pairs; and

communicating messages encrypted using the shared cryptographic key.

6. The computer readable medium of claim 4 , wherein the operations further comprise:

receiving, from the offline accessory device, an indication that the offline accessory device has performed a second mutual authentication with a second device using the second certificate, wherein the service is received responsive to the second mutual authentication.

7. The computer readable medium of claim 1 , wherein the operations further comprise:

subsequent to the interacting, determining to replace the first certificate;

in response to the determining:

generating a replacement public key pair;

issuing, to a certificate authority, a certificate signing request for the replacement public key pair; and

receiving, from the certificate authority, a replacement certificate for the replacement public key pair.

8. The computer readable medium of claim 7 , wherein the operations further comprise:

storing a private key provisioned at fabrication of the first computing device; and

signing the certificate signing request with the provisioned private key.

9. The computer readable medium of claim 1 , wherein the operations further comprise:

providing an index value with the first certificate to the offline accessory device, wherein the offline accessory device stores the first certificate in a cache at a location identifiable using the index value;

during a subsequent communication session, providing information indicative of the index value in lieu of providing the first certificate to cause the offline accessory device to retrieve the stored first certificate from the cache; and

after the subsequent communication session, replacing the index value to require the offline accessory device to discontinue use of the first certificate stored in the cache.

10. A computing device, comprising:

one or more processors; and

a memory having program instructions stored therein that are executable by the one or more processors to cause the computing device to perform operations including:

receiving, via a network connection with a network, a first certificate for a first public key pair of the computing device;

determining, by the computing device, an ordering in which the computing device and an offline accessory device are to authenticate;

after the determining, providing the first certificate to the offline accessory device, wherein the first certificate is provided to the offline accessory device in accordance with the determined ordering;

receiving a second certificate for a second public key pair maintained by the offline accessory device;

performing a verification of the second certificate; and

responsive to the verification being successful, interacting with the offline accessory device.

11. The computing device of claim 10 , wherein the determining includes:

exchanging priority information indicative of an ordering in which the first and second certificates are to be exchanged by the computing device and the offline accessory device.

12. The computing device of claim 11 , wherein the priority information indicates an ability to interface with a certificate authority to replace a certificate.

13. The computing device of claim 10 , wherein the operations further comprise:

providing an index value with the first certificate to the offline accessory device, wherein the offline accessory device stores the first certificate in a cache at a location identifiable using the index value; and

during a subsequent communication session, providing information indicative of the index value in lieu of providing the first certificate to cause the offline accessory device to retrieve the stored first certificate from the cache.

14. The computing device of claim 13 , wherein the operations further comprise:

after the subsequent communication session, replacing the index value to require the offline accessory device to discontinue use of the first certificate stored in the cache.

15. A method comprising:

receiving, by a computing device via a network connection with a network, a first certificate for a first public key pair of the computing device;

determining, by the computing device, an ordering in which the computing device and an offline accessory device are to authenticate;

after the determining, providing, by the computing device, the first certificate to the offline accessory device, wherein the first certificate is provided to the offline accessory device in accordance with the determined ordering;

receiving, by the computing device, a second certificate for a second public key pair maintained by the offline accessory device;

performing, by the computing device, a verification of the second certificate; and

responsive to the verification being successful, the computing device interacting with the offline accessory device.

16. The method of claim 15 , wherein determining the ordering includes:

sending, to the offline accessory device, information indicating an ability to interface with a certificate authority to replace the first certificate.

17. The method of claim 15 , further comprising:

establishing a shared cryptographic key based on first and second public key pairs associated with the first and second certificates; and

communicating messages encrypted using the shared cryptographic key.

18. The method of claim 15 , further comprising:

providing an index value with the first certificate to the offline accessory device, wherein the offline accessory device stores the first certificate in a cache at a location identifiable using the index value;

during a subsequent communication session, providing information indicative of the index value in lieu of providing the first certificate to cause the offline accessory device to retrieve the stored first certificate from the cache; and

after the subsequent communication session, replacing the index value to require the offline accessory device to discontinue use of the first certificate stored in the cache.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2022
From: FOO, EDWIN W.; DEVLIN, SEAN P.
To: APPLE INC.
Reel/Frame 060750/0794 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2022
From: MYERS, STEVEN A.; BROGLE, KYLE C.; PERRY, JOHN T.
To: APPLE INC.
Reel/Frame 060098/0629 →
Continuity (2)
Provisional Application 63197251 · Jun 4, 2021
Related Publication 20220393885A1 · Dec 8, 2022
References Cited (23)
US 8775757B2 · Polzin et al. · 2014 [cited by applicant]
US 8832465B2 · Gulati et al. · 2014 [cited by applicant]
US 8873747B2 · Polzin et al. · 2014 [cited by applicant]
US 9043632B2 · Machnicki et al. · 2015 [cited by applicant]
US 9047471B2 · Polzin et al. · 2015 [cited by applicant]
US 9547778B1 · Paaske et al. · 2017 [cited by applicant]
US 10079677B2 · Benson et al. · 2018 [cited by applicant]
US 10423804B2 · Benson et al. · 2019 [cited by applicant]
US 10452859B2 · Tamura et al. · 2019 [cited by applicant]
US 10536271B1 · Mensch et al. · 2020 [cited by applicant]
US 11082430B1 · Kuo · 2021 [cited by examiner]
US 20110252234A1 · De Atley et al. · 2011 [cited by applicant]
US 20130198284A1 · Karri · 2013 [cited by examiner]
US 20150339664A1 · Wong · 2015 [cited by examiner]
US 20160071081A1 · Zheng · 2016 [cited by examiner]
US 20160371716A1 · Aitenbichler · 2016 [cited by examiner]
US 20180349608A1 · de Cesare et al. · 2018 [cited by applicant]
US 20190122202A1 · Sun · 2019 [cited by examiner]
US 20190132134A1 · Noe · 2019 [cited by examiner]
US 20210044976A1 · Avetisov · 2021 [cited by examiner]
US 20210399566A1 · Visvesha · 2021 [cited by examiner]
US 20220247576A1 · Beekman · 2022 [cited by examiner]
OS Security Guide—White Paper, Apple Inc., Jan. 2018, pp. 1-82. [cited by applicant]