Abstract:
A method of identifying invalid participants in a synchronization group. The method generates a device synchronization group identifier (DSGI) for a first device from a device- specific key of the first device. The method joins the first device in the synchronization group by using the DSGI of the first device. Prior to the joining of the first device, the synchronization group stores a set of DSGIs of a set of devices that have joined the synchronization group. The method determines that a particular DSGI stored in the synchronization group is the same as the DSGI of the first device. The method identifies the particular DSGI stored in the synchronization group as a DSGI of an invalid participant of the synchronization group.
Abstract:
Some embodiments provide a method for a first device that identifies definitions of different groups of devices, each of which is defined by a set of properties required for a device to be a member. The method monitors properties of the first device to determine when the device is eligible for membership in a group. When the first device is eligible for membership in a first group of which the device is not a member, the method sends an application for membership in the first group signed with at least a private key of the device to at least one other device that is a member of the first group. When the first device becomes ineligible for membership in a second group of which the first device is a member, the method removes the device from the second group and notifies other devices that are members of the second group.
Abstract:
A user that owns multiple devices with overlapping functionality is becoming increasingly common. Smartphones, tablets, and computers all access the web, allow a user to process photos, etc., and users tend to have several such devices. Thus, a user wanting to share data between their devices and have access to data on multiple devices is increasingly common as well. Users may commonly use all sorts of different techniques to transfer data between devices, such as flash memory sticks, e-mail, etc. More efficient techniques for automatically sharing data between a user's devices are desired.
Abstract:
An electronic device with a display and a fingerprint sensor displays a fingerprint enrollment interface and detects, on the fingerprint sensor, a plurality of finger gestures performed with a finger. The device collects fingerprint information from the plurality of finger gestures performed with the finger. After collecting the fingerprint information, the device determines whether the collected fingerprint information is sufficient to enroll a fingerprint of the finger. When the collected fingerprint information for the finger is sufficient to enroll the fingerprint of the finger, the device enrolls the fingerprint of the finger with the device.
Abstract:
Some embodiments provide a method for a first device to synchronize a set of data items with a second device. The method receives a request to synchronize the set of data items stored on the first device with the second device. The method determines a subset of the synchronization data items stored on the first device that belong to at least one synchronization sub-group in which the second device participates. Participation in at least one of the synchronization sub-groups is defined based on membership in at least one verification sub-group. The first and second devices are part of a set of related devices with several different verification sub-groups. The method sends only the subset of the synchronization data items that belong to at least one synchronization sub-group in which the second device participates to the second device using a secure channel.
Abstract:
A method implemented by a first computing device, the method comprising: establishing at least one cryptographic key; identifying, based on the at least one cryptographic key, a particular synchronization sub-group to which the at least one cryptographic key corresponds; tagging the at least one cryptographic key as being included in the particular synchronization sub-group; and in response to determining that the first computing device and a second computing device both participate in the particular synchronization sub-group: forming a secure channel with the second computing device, encrypting, based on requirements of the secure channel used for communicating with the second computing device, the at least one cryptographic key to produce at least one encrypted cryptographic key, and sending, over the secure channel, the at least one encrypted cryptographic key to the second computing device.
Abstract:
A method implemented by a first computing device, the method comprising: establishing at least one cryptographic key; identifying, based on the at least one cryptographic key, a particular synchronization sub-group to which the at least one cryptographic key corresponds; tagging the at least one cryptographic key as being included in the particular synchronization sub-group; and in response to determining that the first computing device and a second computing device both participate in the particular synchronization sub-group: forming a secure channel with the second computing device, encrypting, based on requirements of the secure channel used for communicating with the second computing device, the at least one cryptographic key to produce at least one encrypted cryptographic key, and sending, over the secure channel, the at least one encrypted cryptographic key to the second computing device.