Patents by Inventor Yannick L. Sierra
Yannick L. Sierra 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: 11042664Abstract: One embodiment provides a system that implements a 1-bit protocol for differential privacy for a set of client devices that transmit information to a server. Implementations may leverage specialized instruction sets or engines built into the hardware or firmware of a client device to improve the efficiency of the protocol. For example, a client device may utilize these cryptographic functions to randomize information sent to the server. In one embodiment, the client device may use cryptographic functions such as hashes including SHA or block ciphers including AES to provide an efficient mechanism for implementing differential privacy.Type: GrantFiled: January 17, 2020Date of Patent: June 22, 2021Assignee: Apple Inc.Inventors: Yannick L. Sierra, Abhradeep Guha Thakurta, Umesh S. Vaishampayan, John C. Hurley, Keaton F. Mowery, Michael Brouwer
-
Patent number: 11025418Abstract: A device may include a secure processor and a secure memory coupled to the secure processor. The secure memory may be inaccessible to other device systems. The secure processor may store some keys and/or entropy values in the secure memory and other keys and/or entropy values outside the secure memory. The keys and/or entropy values stored outside the secure memory may be encrypted using information stored inside the secure memory.Type: GrantFiled: June 10, 2019Date of Patent: June 1, 2021Assignee: Apple Inc.Inventors: Kumar Saurav, Jerrold V. Hauck, Yannick L. Sierra, Charles E. Gray, Roberto G. Yepez, Samuel Gosselin, Petr Kostka, Wade Benson
-
Patent number: 10944562Abstract: Techniques disclosed herein relate to the authentication of a first user in a communication session between the first user using a user device and a second user using a remote computer system. The computer system sends an authentication request in the session, and the user device receives the authentication request in the session via a messaging program. The user device then causes a different program to access an authentication token received from an authentication computer system. The user device sends an indication of the authentication token to the remote computer system which the remote computer system verifies to authenticate the first user within the session.Type: GrantFiled: December 14, 2018Date of Patent: March 9, 2021Assignee: Apple Inc.Inventors: Mayur P. Mahajan, Gokul P. Thirumalai, Scott Lopatin, Tommy Rochette, Robert Y. Loh, Yannick L. Sierra
-
Patent number: 10915402Abstract: A method for verifying program flow during execution of a software program in a computer system is disclosed. Program code of the software program includes multiple program instructions and checkpoint data structures, where a given checkpoint data structure is associated with a given program instruction and is linked to at least one other checkpoint data structure. A fault monitor circuit may receive a particular checkpoint data structure and compare the particular checkpoint data structure to a previously received checkpoint data structure that is associated with another program instruction. Based on results of the comparison, the software fault monitor circuit may signal a program flow error.Type: GrantFiled: September 12, 2018Date of Patent: February 9, 2021Assignee: Apple Inc.Inventors: Zhimin Chen, Timothy R. Paaske, Yannick L. Sierra, Anish C. Trivedi
-
Publication number: 20210028928Abstract: Techniques are disclosed relating to using a device to gain access to another system. In some embodiments, a first mobile device performs a pairing operation with a control unit that controls access to a system, the pairing operation including the first mobile device establishing a first cryptographic key with the control unit. The first mobile device receives a request to enable a second mobile device to communicate with the control unit, and in response to receiving the request, the first mobile device generates a second cryptographic key from the first cryptographic key. The first mobile device provides the second cryptographic key to the second mobile device. The second mobile device is configured to send a beacon including a payload encrypted with the second cryptographic key, and the encrypted payload is usable to authenticate the second mobile device to the control unit.Type: ApplicationFiled: March 19, 2019Publication date: January 28, 2021Inventors: Sriram Hariharan, Yannick L. Sierra, Frederic Jacobs
-
Publication number: 20200380143Abstract: A device implementing a system for providing information corresponding to a user in association with messaging includes a processor configured to receive, by a messaging application on the device, a message and associated metadata from a second device, the associated metadata comprising a record identifier of a data record stored on a server, the data record comprising identifying information corresponding to a user of the second device. The processor is further configured to send, to the server, a request for the data record, the request comprising the record identifier, and obtain, in response to the sending, the data record. The processor is further configured to display the identifying information of the user contained in the data record, together with content of the message in a user interface of the messaging application.Type: ApplicationFiled: May 29, 2020Publication date: December 3, 2020Inventors: Nicholas J. CIRCOSTA, Bhaskar P. SARMA, Lemont A. WASHINGTON, Yannick L. SIERRA, Roberto GARCIA
-
Publication number: 20200382297Abstract: Techniques are disclosed relating to secure message exchanges. In some embodiments, a first computing device generates an account key associated with a user account shared by a plurality of computing devices. The first computing device signs a public key of the first computing device with the generated account key to produce a digital signature and sends the public key and the digital signature to a first server system for distributing the public key to a second computing device attempting to send an encrypted message to the first computing device. The first computing device sends the account key to an external storage external usable by others of the plurality of computing devices to obtain the account key and use the account key to sign public keys of the other computing devices. The first computing device receives, from the second computing device, the encrypted message encrypted using the public key.Type: ApplicationFiled: May 29, 2020Publication date: December 3, 2020Inventors: Bailey E. Basile, Keaton F. Mowery, Yannick L. Sierra, Frederic Jacobs, Ryan W. Baker
-
Patent number: 10831484Abstract: In an embodiment, a processor includes hardware circuitry and/or supports instructions which may be used to detect that a return address or jump address has been modified since it was written to memory. In response to detecting the modification, the processor may be configured to signal an exception or otherwise initiate error handling to prevent execution at the modified address. In an embodiment, the processor may perform a cryptographic sign operation on the return address/jump address before writing the signed return address/jump address to memory and the signature may be verified before the address is used as a return target or jump target. Security of the system may be improved by foiling ROP/JOP attacks.Type: GrantFiled: July 29, 2019Date of Patent: November 10, 2020Assignee: Apple Inc.Inventors: Yannick L. Sierra, Jeffry E. Gonion, Thomas Roche, Jerrold V. Hauck
-
Publication number: 20200336303Abstract: Embodiments described herein enable the generation of cryptographic material for ranging operations in a manner that reduces and obfuscates potential correlations between leaked and secret information. One embodiment provides for an apparatus including a ranging module having one or more ranging sensors. The ranging module is coupled to a secure processing system through a hardware interface to receive at least one encrypted ranging session key, the ranging module to decrypt the at least one encrypted ranging session key to generate a ranging session key, generate a sparse ranging input, derive a message session key based on the ranging session key, and derive a derived ranging key via a key derivation cascade applied to the message session key and the sparse ranging input, the derived ranging key to encrypt data transmitted during a ranging session.Type: ApplicationFiled: July 3, 2018Publication date: October 22, 2020Inventors: Yannick L. Sierra, Zhimin Chen, Thomas Icart
-
Publication number: 20200336897Abstract: Techniques disclosed herein relate to the pairing of a pairing initiator device and a pairing responder device for communication. The pairing initiator device and the pairing responder device range with each other to determine the distance between the pairing initiator device and the pairing responder device. Based on the distance being below a threshold distance, the pairing initiator device and the pairing responder device wirelessly pair with each other without further input from the user.Type: ApplicationFiled: March 30, 2020Publication date: October 22, 2020Inventors: Brent M. Ledvina, Yannick L. Sierra, Kyle C. Brogle, Steven Andrew Myers
-
Patent number: 10776502Abstract: Some embodiments provide a method for providing public keys for encrypting data. The method receives (i) a first request from a first source for a public key associated with a particular user and (ii) a second request from a second source for the public key associated with the particular user. In response to the first request, the method distributes a first public key for the particular user to the first source. In response to the second request, the method distributes a second, different public key for the particular user to the second source. Data encrypted with the first public key and data encrypted with the second public key are decrypted by a device of the particular user with a same private key.Type: GrantFiled: June 11, 2017Date of Patent: September 15, 2020Assignee: Apple Inc.Inventors: Lei Wei, Yannick L. Sierra, Per Love Hornquist Astrand
-
Publication number: 20200257816Abstract: One embodiment provides a system that implements a 1-bit protocol for differential privacy for a set of client devices that transmit information to a server. Implementations may leverage specialized instruction sets or engines built into the hardware or firmware of a client device to improve the efficiency of the protocol. For example, a client device may utilize these cryptographic functions to randomize information sent to the server. In one embodiment, the client device may use cryptographic functions such as hashes including SHA or block ciphers including AES to provide an efficient mechanism for implementing differential privacy.Type: ApplicationFiled: January 17, 2020Publication date: August 13, 2020Inventors: Yannick L. Sierra, Abhradeep Guha Thakurta, Umesh S. Vaishampayan, John C. Hurley, Keaton F. Mowery, Michael Brouwer
-
Publication number: 20200235914Abstract: Apparatuses, systems, and methods for generating and utilizing improved initialization vectors (IVs) when performing encryption and authentication in wireless communications. In some scenarios, a wireless communication device may generate one or more pseudorandom multi-bit values, e.g., using a respective plurality of key derivation functions (KDFs). A first portion of each value may be used as a respective key for encryption or authentication of traffic on the user plane or the control plane. A second portion of each value may be used as a nonce value in a respective IV for use with a respective key for encryption or authentication of traffic on the user plane or the control plane. In some scenarios, the nonce values may instead be generated as part of an additional pseudorandom value (e.g., by executing an additional KDF), from which all of the IVs may be drawn.Type: ApplicationFiled: January 3, 2020Publication date: July 23, 2020Inventors: Dawei Zhang, Fangli Xu, Haijing Hu, Huarui Liang, Lijia Zhang, Robert K. Kitchens, Samuel D. Post, Shu Guo, Xiangying Yang, Yannick L. Sierra, Yuqin Chen
-
Publication number: 20200235929Abstract: One embodiment provides for an electronic device, comprising a network interface, a memory coupled with the network interface, at least one application processor coupled with the memory, the at least one processor to execute instructions stored in the memory, and a secure processor including a cryptographic engine, wherein the cryptographic engine is to generate a sealed encrypted message to be transmitted via the network interface, the sealed encrypted message encrypted on behalf of the at least one application processor and includes a signature to enable integrity verification of the sealed encrypted message, the signature generated based on an identity key of the electronic device and data including ciphertext of the encrypted message and a public key of a recipient of the sealed encrypted message.Type: ApplicationFiled: July 31, 2019Publication date: July 23, 2020Inventors: Frederic Jacobs, Thomas Icart, Yannick L. Sierra
-
Publication number: 20200192672Abstract: A system and method for efficiently protecting branch prediction information. In various embodiments, a computing system includes at least one processor with a branch predictor storing branch target addresses and security tags in a table. The security tag includes one or more components of machine context. When the branch predictor receives a portion of a first program counter of a first branch instruction, and hits on a first table entry during an access, the branch predictor reads out a first security tag. The branch predictor compares one or more components of machine context of the first security tag to one or more components of machine context of the first branch instruction. When there is at least one mismatch, the branch prediction information of the first table entry is not used. Additionally, there is no updating of any branch prediction training information of the first table entry.Type: ApplicationFiled: December 14, 2018Publication date: June 18, 2020Inventors: Jeffry E. Gonion, Ian D. Kountanis, Conrado Blasco, Steven Andrew Myers, Yannick L. Sierra
-
Publication number: 20200192673Abstract: Techniques are disclosed relating to protecting branch prediction information. In various embodiments, an integrated circuit includes branch prediction logic having a table that maintains a plurality of entries storing encrypted target address information for branch instructions. The branch prediction logic is configured to receive machine context information for a branch instruction having a target address being predicted by the branch prediction logic, the machine context information including a program counter associated with the branch instruction. The branch prediction logic is configured to use the machine context information to decrypt encrypted target address information stored in one of the plurality of entries identified based on the program counter.Type: ApplicationFiled: October 25, 2019Publication date: June 18, 2020Inventors: Steven A. Myers, Jeffry E. Gonion, Yannick L. Sierra, Thomas Icart
-
Patent number: 10666628Abstract: Systems, methods, and computer-readable media may be provided for securely authenticating device identification and/or user identification for low throughput device-to-device wireless communication.Type: GrantFiled: August 6, 2018Date of Patent: May 26, 2020Assignee: APPLE INC.Inventors: Julien F. Freudiger, Andrew J. Ringer, Yannick L. Sierra, Farouk Belghoul, Samuel D. Post
-
Patent number: 10652736Abstract: Some embodiments provide a method for establishing a secured session with backward security between a first device and a second device. In some embodiments, the method establishes a communication session between the first and second devices using shared keys stored at the first and second devices. The method exchanges encrypted data between the first and second devices as a part of the communication session. The method, upon completion of the communication session, modifies the shared key at the first device in a predictable way. The shared key is modified at the second device in the same predictable way. The method then stores the modified shared key at the first device. The modified shared key cannot be used to decrypt any portion of the encrypted data of the current and previous communication sessions.Type: GrantFiled: February 19, 2019Date of Patent: May 12, 2020Assignee: Apple Inc.Inventors: Mitchell D. Adler, Yannick L. Sierra, Ganesha A. G. Batta, Michael Giles, Akshay M Srivatsa, Craig P. Dooley, Sriram Hariharan, Robert D. Watson
-
Publication number: 20200107164Abstract: Embodiments described herein provide for system and methods to crowdsource the location of wireless devices and accessories that lack a connection to a wide area network. One embodiment provides for a data processing system configured to perform operations comprising loading a user interface on an electronic device, the user interface to enable the determination of a location of a wireless accessory that is associated with the electronic device, generating a set of public keys included within a signal broadcast by the wireless accessory, the signal broadcast during a first period, sending the set of public keys to a server with a request to return data that corresponds with a public key in the set of public keys, decrypting the location data using a private key associated with the public key, and processing the location data to determine a probable location for the wireless accessory.Type: ApplicationFiled: August 16, 2019Publication date: April 2, 2020Inventors: Scott Lopatin, Emmanuel Lalande, Lawrence T. Lu, Robert W. Mayor, Siva Ganesh Movva, Raghunandan K. Pai, Munish K. Poonia, Tommy Rochette, Sam Schaevitz, Yannick L. Sierra, Navin Bindiganavile Suparna, Langford Wasada
-
Publication number: 20200081785Abstract: A method for verifying program flow during execution of a software program in a computer system is disclosed. Program code of the software program includes multiple program instructions and checkpoint data structures, where a given checkpoint data structure is associated with a given program instruction and is linked to at least one other checkpoint data structure. A fault monitor circuit may receive a particular checkpoint data structure and compare the particular checkpoint data structure to a previously received checkpoint data structure that is associated with another program instruction. Based on results of the comparison, the software fault monitor circuit may signal a program flow error.Type: ApplicationFiled: September 12, 2018Publication date: March 12, 2020Inventors: Zhimin Chen, Timothy R. Paaske, Yannick L. Sierra, Anish C. Trivedi