Patents by Inventor Michael Brouwer

Michael Brouwer 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: 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
  • Patent number: 9672350
    Abstract: Embodiments include systems and methods for authorizing software code to be executed or access capabilities in secure operating environments. Profiles may be issued by trusted entities to extend trust to other entities to allow those other entities to provide or control execution of applications in a secure operating environment such as on particular computing devices. The profiles allow entities to add software code to the device without reauthorizing each distribution by a trusted authority such as testing, quality assurance, or to limited groups of devices controlled or authorized by the other entities.
    Type: Grant
    Filed: March 4, 2009
    Date of Patent: June 6, 2017
    Assignee: Apple Inc.
    Inventors: Dallas De Atley, Heiko Panther, Mitchell Adler, Simon Cooper, Michael Brouwer, Matt Reda
  • 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: 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: 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
  • 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
  • Publication number: 20160065548
    Abstract: Some embodiments provide non-transitory machine-readable medium that stores a program which when executed by at least one processing unit of a device synchronizes a set of keychains stored on the device with a set of other devices. The device and the set of other devices are communicatively coupled to one another through a peer-to-peer (P2P) network. The program receives a modification to a keychain in the set of keychains stored on the device. The program generates an update request for each device in the set of other devices in order to synchronize the set of keychains stored on device with the set of other devices. The program transmits through the P2P network the set of update requests to the set of other devices over a set of separate, secure communication channels.
    Type: Application
    Filed: November 10, 2015
    Publication date: March 3, 2016
    Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
  • Publication number: 20160044101
    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: June 22, 2015
    Publication date: February 11, 2016
    Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
  • Patent number: 9197700
    Abstract: Some embodiments provide non-transitory machine-readable medium that stores a program which when executed by at least one processing unit of a device synchronizes a set of keychains stored on the device with a set of other devices. The device and the set of other devices are communicatively coupled to one another through a peer-to-peer (P2P) network. The program receives a modification to a keychain in the set of keychains stored on the device. The program generates an update request for each device in the set of other devices in order to synchronize the set of keychains stored on device with the set of other devices. The program transmits through the P2P network the set of update requests to the set of other devices over a set of separate, secure communication channels.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: November 24, 2015
    Assignee: APPLE INC.
    Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
  • Patent number: 9124637
    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: March 15, 2013
    Date of Patent: September 1, 2015
    Assignee: APPLE INC.
    Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
  • Patent number: 9077759
    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: March 15, 2013
    Date of Patent: July 7, 2015
    Assignee: APPLE INC.
    Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
  • Patent number: 9043597
    Abstract: Some embodiments of the invention are directed to, among other things, systems, computer readable media, methods and any other means for verifying the authenticity of a client device. In some embodiments, a token is issued by one or more remote media servers that allows the client device to download video, media or other data from one or more remote media servers.
    Type: Grant
    Filed: April 20, 2012
    Date of Patent: May 26, 2015
    Assignee: Apple Inc.
    Inventors: Timothy P. Omernick, Michael Brouwer
  • Patent number: 8880897
    Abstract: The present invention discloses a method for quickly and easily authenticating large computer program. The system operates by first sealing the computer program with digital signature in an incremental manner. Specifically, the computer program is divided into a set of pages and a hash value is calculated for each page. The set of hash values is formed into a hash value array and then the hash value array is then sealed with a digital signature. The computer program is then distributed along with the hash value array and the digital signature. To authenticate the computer program, a recipient first verifies the authenticity of the hash value array with the digital signature and a public key. Once the hash value array has been authenticated, the recipient can then verify the authenticity of each page of the computer program by calculating a hash of a page to be loaded and then comparing with an associated hash value in the authenticated hash value array.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: November 4, 2014
    Assignee: Apple Inc.
    Inventors: Peter Kiehtreiber, Michael Brouwer
  • Publication number: 20140281540
    Abstract: Some embodiments provide non-transitory machine-readable medium that stores a program which when executed by at least one processing unit of a device synchronizes a set of keychains stored on the device with a set of other devices. The device and the set of other devices are communicatively coupled to one another through a peer-to-peer (P2P) network. The program receives a modification to a keychain in the set of keychains stored on the device. The program generates an update request for each device in the set of other devices in order to synchronize the set of keychains stored on device with the set of other devices. The program transmits through the P2P network the set of update requests to the set of other devices over a set of separate, secure communication channels.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
  • Publication number: 20140208404
    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: March 15, 2013
    Publication date: July 24, 2014
    Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
  • Publication number: 20140208434
    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: March 15, 2013
    Publication date: July 24, 2014
    Applicant: Apple Inc.
    Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
  • Patent number: 8607343
    Abstract: Securely installing and booting software of a device to run OS authorized according to a ticket that is validated by a nonce generated by application processor (AP) in booted OS stage prior to entering a restore mode is described. AP in booted OS stage generates a pre-flight nonce that is stored in a trusted location (effaceable storage). AP in booted OS stage performs one-way hash of pre-flight nonce and sends the hashed pre-flight nonce to ticket authorization server. AP enters restore mode. AP in first stage bootloader receives a ticket from the ticket authorization server including a signed copy of the hashed pre-flight nonce. AP in first stage bootloader validates the signed ticket by comparing one-way hash of the pre-flight nonce stored in the trusted location and the hashed nonce in the signed ticket. Pre-flight nonce expires after timeout period and upon reboot of AP. Other embodiments are also described.
    Type: Grant
    Filed: September 27, 2011
    Date of Patent: December 10, 2013
    Assignee: Apple Inc.
    Inventors: Jason D. Gosnell, Jerrold V. Hauck, Michael Brouwer, Tahoma Toelkes
  • Patent number: 8341422
    Abstract: The present invention discloses a method for quickly and easily authenticating large computer program. The system operates by first sealing the computer program with digital signature in an incremental manner. Specifically, the computer program is divided into a set of pages and a hash value is calculated for each page. The set of hash values is formed into a hash value array and then the hash value array is then sealed with a digital signature. The computer program is then distributed along with the hash value array and the digital signature. To authenticate the computer program, a recipient first verifies the authenticity of the hash value array with the digital signature and a public key. Once the hash value array has been authenticated, the recipient can then verify the authenticity of each page of the computer program by calculating a hash of a page to be loaded and then comparing with an associated hash value in the authenticated hash value array.
    Type: Grant
    Filed: July 20, 2006
    Date of Patent: December 25, 2012
    Assignee: Apple Inc.
    Inventors: Perry Kiehtreiber, Michael Brouwer
  • Publication number: 20120311313
    Abstract: Securely installing and booting software of a device to run OS authorized according to a ticket that is validated by a nonce generated by application processor (AP) in booted OS stage prior to entering a restore mode is described. AP in booted OS stage generates a pre-flight nonce that is stored in a trusted location (effaceable storage). AP in booted OS stage performs one-way hash of pre-flight nonce and sends the hashed pre-flight nonce to ticket authorization server. AP enters restore mode. AP in first stage bootloader receives a ticket from the ticket authorization server including a signed copy of the hashed pre-flight nonce. AP in first stage bootloader validates the signed ticket by comparing one-way hash of the pre-flight nonce stored in the trusted location and the hashed nonce in the signed ticket. Pre-flight nonce expires after timeout period and upon reboot of AP. Other embodiments are also described.
    Type: Application
    Filed: September 27, 2011
    Publication date: December 6, 2012
    Applicant: APPLE INC
    Inventors: Jason D. Gosnell, Jerrold V. Hauck, Michael Brouwer, Tahoma Toelkes