Patents by Inventor Xeno S. Kovah

Xeno S. Kovah 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: 11822664
    Abstract: Techniques are disclosed relating to securing computing devices during boot. In various embodiments, a secure circuit of a computing device generates for a public key pair and signs, using a private key of the public key pair, configuration settings for an operating system of the computing device. A bootloader of the computing device receives a certificate for the public key pair from a certificate authority and initiates a boot sequence to load the operating system. The boot sequence includes the bootloader verifying the signed configuration settings using a public key included in the certificate and the public key pair. In some embodiments, the secure circuit cryptographically protects the private key based on a passcode of a user, the passcode being usable by the user to authenticate to the computing device.
    Type: Grant
    Filed: November 6, 2020
    Date of Patent: November 21, 2023
    Assignee: Apple Inc.
    Inventors: Xeno S. Kovah, Nikolaj Schlej, Thomas P. Mensch, Wade Benson, Jerrold V. Hauck, Josh P. de Cesare, Austin G. Jennings, John J. Dong, Robert C. Graham, Jacques Fortier
  • Patent number: 11263326
    Abstract: A method and apparatus for performing a secure boot of a computer system is disclosed. A computer system according to the disclosure includes an auxiliary processor and a main processor. The boot process includes initially booting the auxiliary processor. The auxiliary processor includes a non-volatile memory storing boot code for the main processor. The auxiliary processor may perform a verification of the boot code. Subsequent to verifying the boot code, the main processor may be released from a reset state. Once the main processor is no longer in the reset state, the boot code may be provided thereto. Thereafter, the boot procedure may continue with the main processor executing the boot code.
    Type: Grant
    Filed: September 29, 2017
    Date of Patent: March 1, 2022
    Assignee: Apple Inc.
    Inventors: Joshua P. de Cesare, Timothy R. Paaske, Xeno S. Kovah, Nikolaj Schlej, Jeffrey R. Wilcox, Ezekiel T. Runyon, Hardik K. Doshi, Kevin H. Alderfer, Corey T. Kallenberg
  • Patent number: 11238160
    Abstract: Techniques are disclosed relating to securely booting a computer system. In some embodiments, a bootloader initiates a boot sequence to load an operating system of the computing device and detects firmware of a peripheral device to be executed during the boot process to initialize the peripheral device for use by the computing device. In response to the detecting, the bootloader instantiates a sandbox that isolates the firmware from the bootloader. In various embodiments, the firmware is loaded from an option read-only memory (OROM) included the peripheral device and executed during the boot sequence to initialize the peripheral device. In some embodiments, the bootloader assigns one or more memory address ranges to the firmware, and the sandbox restricts the firmware from accessing memory addresses that are not included in the assigned one or more address ranges.
    Type: Grant
    Filed: May 31, 2019
    Date of Patent: February 1, 2022
    Assignee: Apple Inc.
    Inventors: Corey T. Kallenberg, Rafal Wojtczuk, Xeno S. Kovah, Andrew J. Fish
  • Publication number: 20210397716
    Abstract: Techniques are disclosed relating to securing computing devices during boot. In various embodiments, a secure circuit of a computing device generates for a public key pair and signs, using a private key of the public key pair, configuration settings for an operating system of the computing device. A bootloader of the computing device receives a certificate for the public key pair from a certificate authority and initiates a boot sequence to load the operating system. The boot sequence includes the bootloader verifying the signed configuration settings using a public key included in the certificate and the public key pair. In some embodiments, the secure circuit cryptographically protects the private key based on a passcode of a user, the passcode being usable by the user to authenticate to the computing device.
    Type: Application
    Filed: November 6, 2020
    Publication date: December 23, 2021
    Inventors: Xeno S. Kovah, Nikolaj Schlej, Thomas P. Mensch, Wade Benson, Jerrold V. Hauck, Josh P. de Cesare, Austin G. Jennings, John J. Dong, Robert C. Graham, Jacques Fortier
  • Publication number: 20200104506
    Abstract: Techniques are disclosed relating to securely booting a computer system. In some embodiments, a bootloader initiates a boot sequence to load an operating system of the computing device and detects firmware of a peripheral device to be executed during the boot process to initialize the peripheral device for use by the computing device. In response to the detecting, the bootloader instantiates a sandbox that isolates the firmware from the bootloader. In various embodiments, the firmware is loaded from an option read-only memory (OROM) included the peripheral device and executed during the boot sequence to initialize the peripheral device. In some embodiments, the bootloader assigns one or more memory address ranges to the firmware, and the sandbox restricts the firmware from accessing memory addresses that are not included in the assigned one or more address ranges.
    Type: Application
    Filed: May 31, 2019
    Publication date: April 2, 2020
    Inventors: Corey T. Kallenberg, Rafal Wojtczuk, Xeno S. Kovah, Andrew J. Fish
  • Patent number: 10417429
    Abstract: A method and apparatus for protecting boot variables is disclosed. A computer system includes a main processor and an auxiliary processor. The auxiliary processor includes a non-volatile memory that stores variables associated with boot code that is also stored thereon. The main processor may send a request to the auxiliary processor to alter one of the variables stored in the non-volatile memory. Responsive to receiving the request, the auxiliary processor may execute a security policy to determine if the main processor meets the criteria for altering the variable. If the auxiliary processor determines that the main processor meets the criteria, it may grant permission to alter the variable.
    Type: Grant
    Filed: September 29, 2017
    Date of Patent: September 17, 2019
    Assignee: Apple Inc.
    Inventors: Joshua P. de Cesare, Timothy R. Paaske, Xeno S. Kovah, Nikolaj Schlej, Jeffrey R. Wilcox, Hardik K. Doshi, Kevin H. Alderfer, Corey T. Kallenberg
  • Publication number: 20190114433
    Abstract: A method and apparatus for protecting boot variables is disclosed. A computer system includes a main processor and an auxiliary processor. The auxiliary processor is associated with a non-volatile memory that stores variables associated with boot code that is also stored thereon. The main processor may send a request to the auxiliary processor to alter one of the variables stored in the non-volatile memory. Responsive to receiving the request, the auxiliary processor may execute a security policy to determine if the main processor meets the criteria for altering the variable. If the auxiliary processor determines that the main processor meets the criteria, it may grant permission to alter the variable.
    Type: Application
    Filed: November 30, 2018
    Publication date: April 18, 2019
    Inventors: Joshua P. de Cesare, Timothy R. Paaske, Xeno S. Kovah, Nikolaj Schlej, Jeffrey R. Wilcox, Hardik K. Doshi, Kevin H. Alderfer, Corey T. Kallenberg
  • Publication number: 20190102558
    Abstract: A method and apparatus for performing a secure boot of a computer system is disclosed. A computer system according to the disclosure includes an auxiliary processor and a main processor. The boot process includes initially booting the auxiliary processor. The auxiliary processor is associated with a non-volatile memory storing boot code for the main processor. The auxiliary processor may perform a verification of the boot code. Subsequent to verifying the boot code, the main processor may be released from a reset state. Once the main processor is no longer in the reset state, the boot code may be provided thereto. Thereafter, the boot procedure may continue with the main processor executing the boot code.
    Type: Application
    Filed: November 30, 2018
    Publication date: April 4, 2019
    Inventors: Joshua P. de Cesare, Timothy R. Paaske, Xeno S. Kovah, Nikolaj Schlej, Jeffrey R. Wilcox, Ezekiel T. Runyon, Hardik K. Doshi, Kevin H. Alderfer, Corey T. Kallenberg
  • Publication number: 20180349608
    Abstract: A method and apparatus for performing a secure boot of a computer system is disclosed. A computer system according to the disclosure includes an auxiliary processor and a main processor. The boot process includes initially booting the auxiliary processor. The auxiliary processor includes a non-volatile memory storing boot code for the main processor. The auxiliary processor may perform a verification of the boot code. Subsequent to verifying the boot code, the main processor may be released from a reset state. Once the main processor is no longer in the reset state, the boot code may be provided thereto. Thereafter, the boot procedure may continue with the main processor executing the boot code.
    Type: Application
    Filed: September 29, 2017
    Publication date: December 6, 2018
    Inventors: Joshua P. de Cesare, Timothy R. Paaske, Xeno S. Kovah, Nikolaj Schlej, Jeffrey R. Wilcox, Ezekiel T. Runyon, Hardik K. Doshi, Kevin H. Alderfer, Corey T. Kallenberg
  • Publication number: 20180349609
    Abstract: A method and apparatus for protecting boot variables is disclosed. A computer system includes a main processor and an auxiliary processor. The auxiliary processor includes a non-volatile memory that stores variables associated with boot code that is also stored thereon. The main processor may send a request to the auxiliary processor to alter one of the variables stored in the non-volatile memory. Responsive to receiving the request, the auxiliary processor may execute a security policy to determine if the main processor meets the criteria for altering the variable. If the auxiliary processor determines that the main processor meets the criteria, it may grant permission to alter the variable.
    Type: Application
    Filed: September 29, 2017
    Publication date: December 6, 2018
    Inventors: Joshua P. de Cesare, Timothy R. Paaske, Xeno S. Kovah, Nikolaj Schlej, Jeffrey R. Wilcox, Hardik K. Doshi, Kevin H. Alderfer, Corey T. Kallenberg