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: 9684801Abstract: 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: GrantFiled: August 17, 2015Date of Patent: June 20, 2017Assignee: APPLE INC.Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
-
Patent number: 9672350Abstract: 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: GrantFiled: March 4, 2009Date of Patent: June 6, 2017Assignee: Apple Inc.Inventors: Dallas De Atley, Heiko Panther, Mitchell Adler, Simon Cooper, Michael Brouwer, Matt Reda
-
Publication number: 20170011234Abstract: 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: ApplicationFiled: September 23, 2016Publication date: January 12, 2017Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
-
Publication number: 20160349999Abstract: 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: ApplicationFiled: September 30, 2015Publication date: December 1, 2016Inventors: Mitchell D. Adler, Michael Brouwer, Andrew R. Whalley, John C. Hurley, Richard F. Murphy, David P. Finkelstein
-
Publication number: 20160352526Abstract: 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: ApplicationFiled: September 30, 2015Publication date: December 1, 2016Inventors: Mitchell D. Adler, Michael Brouwer, Andrew R. Whalley, John C. Hurley, Richard F. Murphy, David P. Finkelstein
-
Patent number: 9479583Abstract: 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: GrantFiled: June 22, 2015Date of Patent: October 25, 2016Assignee: APPLE INC.Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
-
Publication number: 20160308674Abstract: 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: ApplicationFiled: August 17, 2015Publication date: October 20, 2016Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
-
Publication number: 20160065548Abstract: 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: ApplicationFiled: November 10, 2015Publication date: March 3, 2016Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
-
Publication number: 20160044101Abstract: 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: ApplicationFiled: June 22, 2015Publication date: February 11, 2016Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
-
Patent number: 9197700Abstract: 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: GrantFiled: March 15, 2013Date of Patent: November 24, 2015Assignee: APPLE INC.Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
-
Patent number: 9124637Abstract: 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: GrantFiled: March 15, 2013Date of Patent: September 1, 2015Assignee: APPLE INC.Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
-
Patent number: 9077759Abstract: 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: GrantFiled: March 15, 2013Date of Patent: July 7, 2015Assignee: APPLE INC.Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
-
Patent number: 9043597Abstract: 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: GrantFiled: April 20, 2012Date of Patent: May 26, 2015Assignee: Apple Inc.Inventors: Timothy P. Omernick, Michael Brouwer
-
Patent number: 8880897Abstract: 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: GrantFiled: December 21, 2012Date of Patent: November 4, 2014Assignee: Apple Inc.Inventors: Peter Kiehtreiber, Michael Brouwer
-
Publication number: 20140281540Abstract: 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: ApplicationFiled: March 15, 2013Publication date: September 18, 2014Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
-
Publication number: 20140208404Abstract: 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: ApplicationFiled: March 15, 2013Publication date: July 24, 2014Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
-
Publication number: 20140208434Abstract: 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: ApplicationFiled: March 15, 2013Publication date: July 24, 2014Applicant: Apple Inc.Inventors: Michael Brouwer, Dallas B. De Atley, Mitchell D. Adler
-
Patent number: 8607343Abstract: 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: GrantFiled: September 27, 2011Date of Patent: December 10, 2013Assignee: Apple Inc.Inventors: Jason D. Gosnell, Jerrold V. Hauck, Michael Brouwer, Tahoma Toelkes
-
Patent number: 8341422Abstract: 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: GrantFiled: July 20, 2006Date of Patent: December 25, 2012Assignee: Apple Inc.Inventors: Perry Kiehtreiber, Michael Brouwer
-
Publication number: 20120311313Abstract: 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: ApplicationFiled: September 27, 2011Publication date: December 6, 2012Applicant: APPLE INCInventors: Jason D. Gosnell, Jerrold V. Hauck, Michael Brouwer, Tahoma Toelkes