Patents by Inventor Mitchell D. Adler

Mitchell D. Adler has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9736281
    Abstract: Embodiments of the present invention provide various communication techniques for communication between a mobile computing device and an accessory. An accessory protocol that is generic to the mobile computing device can be used for some communication. An application executing at the mobile computing device can communicate with the accessory using an application communication protocol. In some embodiments, the application communication protocol can be different from the accessory communication protocol. In other embodiments the application protocol may only be recognized by the application and the accessory. In some embodiments, messages conforming to an application protocol can be communicated between the application and the accessory by packaging the messages inside a message conforming to the accessory communication protocol.
    Type: Grant
    Filed: June 17, 2015
    Date of Patent: August 15, 2017
    Assignee: APPLE INC.
    Inventors: Paul-Phillip Holden, Lawrence G. Bolton, Nitin Ganatra, Mitchell D. Adler, Emily Clark Schubert, Jesse Lee Dorogusker
  • Publication number: 20170222992
    Abstract: Some embodiments provide convenient auto-authentication for user data on a primary device, while still providing a significant level of security, by taking advantage of existing security and cryptographic measures used to communicate with a secondary device. The primary device of some embodiments encrypts the user data on the primary device using a cryptographic key based on a set of keys received from the secondary device. In some embodiments, the primary device encrypts authentication data, or a local key generated from the authentication data, using a remote key received from the secondary device, and encrypts the user data with the local key. In some embodiments, the keys received from the secondary device are an existing set of keys for establishing an encrypted channel of communication for transmitting digital rights management (DRM) protected content according to a DRM protection scheme.
    Type: Application
    Filed: September 23, 2016
    Publication date: August 3, 2017
    Inventors: Mitchell D. Adler, Andrew Roger Whalley
  • Patent number: 9710673
    Abstract: Some embodiments provide a program that synchronizes a keychain stored on a device with a set of other devices. The keychain includes a set of keychain items. The program receives (1) a list of keychain items for updating the keychain stored on the device and (2) data representing the keychain items specified in the list of keychain items. For each keychain item in the list of keychain items, the program updates the keychain stored on the device with the data that represents the keychain item.
    Type: Grant
    Filed: September 23, 2016
    Date of Patent: July 18, 2017
    Assignee: APPLE INC.
    Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
  • Patent number: 9713074
    Abstract: Embodiments of the invention perform a preliminary scan for information automatically transmitted by available wireless access points. The information transmitted by access points (e.g., identity information) and information derived from the transmission (e.g., signal strength) is used to prioritize the available wireless access points before direct scanning takes place.
    Type: Grant
    Filed: August 13, 2009
    Date of Patent: July 18, 2017
    Assignee: Apple Inc.
    Inventors: Roberto Gabriel Yepeź, Mitchell D. Adler, Charles Francis Dominguez
  • Patent number: 9684801
    Abstract: Some embodiments provide a program that provides data protection for a device when synchronizing a set of keychains stored on the device with a set of other devices. The program receives keychain data for synchronizing the set of keychains stored on the device with the set of other devices. The keychain data is specified as belonging to a protection domain. The program determines whether a set of conditions defined for the protection domain is satisfied. When the set of conditions is determined as satisfied, the program allows access to the keychain data in order to process the keychain data and synchronize the set of keychains stored on the device with the set of other devices.
    Type: Grant
    Filed: August 17, 2015
    Date of Patent: June 20, 2017
    Assignee: APPLE INC.
    Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
  • Publication number: 20170048066
    Abstract: A method of restoring confidential information items of a first device to a second device by using a set of servers. The method generates a public and private key pair and ties the private key to the hash of executable code of the servers at the time of generating the public and private keys. The method receives the encrypted confidential information items in a secure object which is encrypted with a user-specific key and the public key. The method only provides the confidential information to the second device when the second device provides the same user-specific key as the key that encrypts the secure object and the hash of the executable code of the servers at the time of accessing the private key to decrypt the secure object matches the hash of the executable code running on the servers at the time of generating the private key.
    Type: Application
    Filed: September 16, 2016
    Publication date: February 16, 2017
    Inventors: Dallas B. De Atley, Jerrold V. Hauck, Mitchell D. Adler
  • Patent number: 9547778
    Abstract: In an embodiment, a system is provided in which the private key is managed in hardware and is not visible to software. The system may provide hardware support for public key generation, digital signature generation, encryption/decryption, and large random prime number generation without revealing the private key to software. The private key may thus be more secure than software-based versions. In an embodiment, the private key and the hardware that has access to the private key may be integrated onto the same semiconductor substrate as an integrated circuit (e.g. a system on a chip (SOC)). The private key may not be available outside of the integrated circuit, and thus a nefarious third party faces high hurdles in attempting to obtain the private key.
    Type: Grant
    Filed: September 26, 2014
    Date of Patent: January 17, 2017
    Assignee: Apple Inc.
    Inventors: Timothy R. Paaske, Mitchell D. Adler, Conrad Sauerwald, Fabrice L. Gautier, Shu-Yi Yu
  • Publication number: 20170013066
    Abstract: An application can be launched in response to a launch request from an accessory. For example, the mobile computing device can determine whether it is in a state that allows launching of an application and/or can determine whether the application or application type requested in the launch command is available for launching. In response to the request, and if the mobile computing device is capable, the mobile computing device can launch the application. The mobile computing device can also send a positive acknowledgment message to the accessory indicating that the application may be launched. An open communication session message may also be sent to the accessory. In response thereto the accessory can open a communication session and interoperate with the application.
    Type: Application
    Filed: September 19, 2016
    Publication date: January 12, 2017
    Applicant: Apple Inc.
    Inventors: Shyam S. Toprani, Paul Holden, Emily Clark Schubert, Thomas Alsina, Scott Forstall, Lawrence G. Bolton, Nitin Ganatra, Mitchell D. Adler, Jesse Lee Dorogusker
  • Publication number: 20170012974
    Abstract: Some embodiments provide a method for a first device to join a group of related devices. The method receives input of a password for an account with a centralized entity and a code generated by a second device in the group. When the second device determines that the code input on the first device matches the generated code, the method receives an authentication code from the second device for authorizing the first device with the entity as a valid device for the account. The method uses the password and information regarding the first device to generate an application to the group. After sending the application to the second device, the method receives information from the second device that enables the first device to add itself to the group. The second device verifies the generated application, and the method uses the information received from the second device to join the group.
    Type: Application
    Filed: September 22, 2016
    Publication date: January 12, 2017
    Inventors: Yannick L. Sierra, Mitchell D. Adler
  • Publication number: 20170011234
    Abstract: Some embodiments provide a program that synchronizes a keychain stored on a device with a set of other devices. The keychain includes a set of keychain items. The program receives (1) a list of keychain items for updating the keychain stored on the device and (2) data representing the keychain items specified in the list of keychain items. For each keychain item in the list of keychain items, the program updates the keychain stored on the device with the data that represents the keychain item.
    Type: Application
    Filed: September 23, 2016
    Publication date: January 12, 2017
    Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
  • Publication number: 20170012959
    Abstract: Some embodiments provide a method for a first device for joining a group of related devices. The method receives input of a password for authorization with a centralized entity. The method receives input of a code generated by a second device already established in the group of related devices. The method uses the password and the code to (i) join the group of related devices in order to synchronize user data with the devices in the group of related devices and (ii) authorize the first device with the centralized entity as a valid device for a particular account with the centralized entity.
    Type: Application
    Filed: September 30, 2015
    Publication date: January 12, 2017
    Inventors: Yannick L. Sierra, Mitchell D. Adler
  • Publication number: 20160349999
    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.
    Type: Application
    Filed: September 30, 2015
    Publication date: December 1, 2016
    Inventors: Mitchell D. Adler, Michael Brouwer, Andrew R. Whalley, John C. Hurley, Richard F. Murphy, David P. Finkelstein
  • Publication number: 20160352518
    Abstract: Some embodiments provide, for a particular device in a set of related devices, a method for backing up data synchronized between the set of related devices. The method stores the backup data encrypted with a set of data encryption keys. The method also stores the set of data encryption keys encrypted with a master recovery key. The method also stores several copies of master recovery key data, each copy of the master recovery key data encrypted with a public key of a different one of the related devices. The backup data is only recoverable by accessing a private key of any one of the related devices.
    Type: Application
    Filed: September 30, 2015
    Publication date: December 1, 2016
    Inventors: Michael D. Ford, Jerrold V. Hauck, Matthew G. Watson, Mitchell D. Adler, Dallas B. De Atley, James Wilson
  • Publication number: 20160352526
    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.
    Type: Application
    Filed: September 30, 2015
    Publication date: December 1, 2016
    Inventors: Mitchell D. Adler, Michael Brouwer, Andrew R. Whalley, John C. Hurley, Richard F. Murphy, David P. Finkelstein
  • Publication number: 20160350238
    Abstract: Some embodiments provide, for a particular device in a set of related devices, a method for backing up data synchronized between the devices. The method receives a command to create a backup for a subset of data synchronized between a subset of the devices, which is a subset of all data synchronized between the devices. The method identifies the subset of synchronization data from the set of all synchronization data. The subset of synchronization data is tagged as pertaining to a particular set of criteria for synchronization between only the subset of devices. The method stores a backup of the subset of synchronization data in a backup storage encrypted in such a way that requires a recovery key associated with any one of the devices in the subset of devices to access the backup while preventing access to the backup with recovery keys of any of the other devices.
    Type: Application
    Filed: September 30, 2015
    Publication date: December 1, 2016
    Inventors: Michael D. Ford, Jerrold V. Hauck, Matthew G. Watson, Mitchell D. Adler, Dallas B. De Atley, James Wilson
  • Patent number: 9479583
    Abstract: Some embodiments provide a program that synchronizes a keychain stored on a device with a set of other devices. The keychain includes a set of keychain items. The program receives (1) a list of keychain items for updating the keychain stored on the device and (2) data representing the keychain items specified in the list of keychain items. For each keychain item in the list of keychain items, the program updates the keychain stored on the device with the data that represents the keychain item.
    Type: Grant
    Filed: June 22, 2015
    Date of Patent: October 25, 2016
    Assignee: APPLE INC.
    Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
  • Publication number: 20160308674
    Abstract: Some embodiments provide a program that provides data protection for a device when synchronizing a set of keychains stored on the device with a set of other devices. The program receives keychain data for synchronizing the set of keychains stored on the device with the set of other devices. The keychain data is specified as belonging to a protection domain. The program determines whether a set of conditions defined for the protection domain is satisfied. When the set of conditions is determined as satisfied, the program allows access to the keychain data in order to process the keychain data and synchronize the set of keychains stored on the device with the set of other devices.
    Type: Application
    Filed: August 17, 2015
    Publication date: October 20, 2016
    Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
  • Patent number: 9460313
    Abstract: A method of restoring confidential information items of a first device to a second device by using a set of servers. The method generates a public and private key pair and ties the private key to the hash of executable code of the servers at the time of generating the public and private keys. The method receives the encrypted confidential information items in a secure object which is encrypted with a user-specific key and the public key. The method only provides the confidential information to the second device when the second device provides the same user-specific key as the key that encrypts the secure object and the hash of the executable code of the servers at the time of accessing the private key to decrypt the secure object matches the hash of the executable code running on the servers at the time of generating the private key.
    Type: Grant
    Filed: July 6, 2015
    Date of Patent: October 4, 2016
    Assignee: APPLE INC.
    Inventors: Dallas B. De Atley, Jerrold V. Hauck, Mitchell D. Adler
  • Patent number: 9419794
    Abstract: An SOC implements a security enclave processor (SEP). The SEP may include a processor and one or more security peripherals. The SEP may be isolated from the rest of the SOC (e.g. one or more central processing units (CPUs) in the SOC, or application processors (APs) in the SOC). Access to the SEP may be strictly controlled by hardware. For example, a mechanism in which the CPUs/APs can only access a mailbox location in the SEP is described. The CPU/AP may write a message to the mailbox, which the SEP may read and respond to. The SEP may include one or more of the following in some embodiments: secure key management using wrapping keys, SEP control of boot and/or power management, and separate trust zones in memory.
    Type: Grant
    Filed: September 23, 2014
    Date of Patent: August 16, 2016
    Assignee: Apple Inc.
    Inventors: R. Stephen Polzin, Fabrice L. Gautier, Mitchell D. Adler, Conrad Sauerwald, Michael L. H. Brouwer
  • Publication number: 20160217294
    Abstract: The embodiments set forth techniques for implementing a cloud service that enables cloud data to be shared between different users in a secure manner. One embodiment involves a sharing manager and a sharing client, where the sharing manager is configured to manage various data components stored within a storage system managed by the cloud service. These data components can include user accounts, share objects (for sharing data between users—and, in some cases, public users not known to the sharing manager)—as well as various “wrapping objects” that enable data to be logically separated in an organized manner within the storage system. According to this approach, the sharing client is configured to interface with the sharing manager in order to carry out various encryption/decryption techniques that enable the cloud data to be securely shared between the users.
    Type: Application
    Filed: September 25, 2015
    Publication date: July 28, 2016
    Inventors: Per Love HORNQUIST ASTRAND, Paul A. SELIGMAN, Van HONG, Mitchell D. ADLER