×

Keychain syncing

  • US 10,218,685 B2
  • Filed: 11/10/2015
  • Issued: 02/26/2019
  • Est. Priority Date: 01/18/2013
  • Status: Active Grant
First Claim
Patent Images

1. A non-transitory machine-readable medium storing a program which when executed by at least one processing unit of a first peer device synchronizes a set of keychain items stored in a keychain on the first peer device with sets of keychain items stored in keychains on a plurality of other peer devices, each keychain item comprising a keychain item identifier and a plurality of attributes, the first peer device and the plurality of other peer devices communicatively coupled to one another through a network, the first peer device locally storing, for each other peer device in the plurality of other peer devices, an encryption key corresponding to the other peer device and a list of all keychain identifiers on the other peer device, and the program comprising sets of instructions for:

  • receiving a modification to at least one of the plurality of attributes of each keychain item of a subset of the set of keychain items of the keychain stored on the first peer device;

    for each other peer device in the plurality of other peer devices, determining whether a list of all keychain item identifiers for the first peer device matches the list of all keychain item identifiers on the other peer device;

    generating a respective update request for each respective other peer device in the plurality of other peer devices for which the list of all keychain item identifiers does not match the list of all keychain item identifiers for the first peer device, in order to synchronize the keychain stored on the first peer device with the keychains of the plurality of other peer devices, wherein the respective update request for each respective other peer device comprises (i) a list of keychain item identifiers indicating each of the keychain items in the keychain of the respective other peer device to be modified and (ii) the modification to be made to the at least one of the plurality of attributes of each of the keychain items to be modified, wherein the respective update request for a first respective other peer device comprises a different set of modifications than the respective update request for a second respective other peer device;

    encrypting, for each respective other peer device for which the respective update request was generated and using the encryption key corresponding to the respective other peer device, the keychain items corresponding to the list of keychain item identifiers indicating each of the keychain items in the keychain of the respective other peer device to be modified; and

    transmitting, to each particular peer device through the network, the update request for the particular peer device and the encrypted keychain items of the particular peer device to be modified over a secure communication channel between the first peer device and the particular peer device.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×