Patents by Inventor Nathaniel McCallum

Nathaniel McCallum 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: 11847253
    Abstract: The technology disclosed herein enables efficient launching of trusted execution environments. An example method can include: receiving, by a first computing device, a request from a second computing device to establish a set of trusted execution environments (TEEs) in the first computing device; establishing a first TEE of the set of TEEs in the first computing device, wherein the trusted execution environment comprises an encrypted memory area and executable code; receiving, by the first TEE, cryptographic key data from the first computing device; establishing, by the first TEE, a second TEE of the set of TEEs in the first computing device, wherein the second TEE comprises a copy of the executable code; providing, by the first TEE, the cryptographic key data to the second TEE; and causing the executable code of the second TEE to communicate with the first computing device using the cryptographic key data.
    Type: Grant
    Filed: November 30, 2020
    Date of Patent: December 19, 2023
    Assignee: Red Hat, Inc.
    Inventors: Michael Hingston McLaughlin Bursell, Michael Tsirkin, Nathaniel McCallum
  • Publication number: 20230106455
    Abstract: The technology disclosed herein enables efficient launching of trusted execution environments.
    Type: Application
    Filed: November 30, 2022
    Publication date: April 6, 2023
    Inventors: Michael Hingston McLaughlin Bursell, Michael Tsirkin, Nathaniel McCallum
  • Patent number: 11593493
    Abstract: Providing smart contracts including secrets encrypted with oracle-provided encryption keys is disclosed. In one example, a contract creator encrypts sensitive data necessary for executing a smart contract into ciphertext using a symmetric cryptographic key K, and also encrypts the symmetric cryptographic key K into a wrapper using a public cryptographic key e of a contract executor. The contract creator then generates an envelope using a public cryptographic key o of a contract oracle, where the envelope includes the wrapper encrypted using the public cryptographic key o and a policy that includes condition(s) precedent and is digitally authenticated. The smart contract, including the envelope and the ciphertext, is deployed to the contract executor. The sensitive data thus may be provided within the smart contract itself, while being protected from unauthorized access in the event the smart contract is malicious or is compromised.
    Type: Grant
    Filed: January 18, 2019
    Date of Patent: February 28, 2023
    Assignee: Red Hat, Inc.
    Inventors: Michael H. M. Bursell, Axel Simon, Nathaniel McCallum
  • Patent number: 11470065
    Abstract: Systems and methods are disclosed for protecting data. An example method includes creating an outer cluster on one or more host machines coupled to a network. The outer cluster includes a plurality of outer nodes. The method also includes creating an enclave cluster on the outer cluster. The enclave cluster includes a plurality of inner nodes, and each inner node of the plurality of inner nodes executes within an enclave of the one or more host machines. The method further includes exposing an application programming interface (API) to the outer cluster, where invocation of the API causes at least one inner node of the enclave cluster to perform an operation on data. The method also includes performing, by an inner node of the enclave cluster, the operation on the data in response to invocation of the API by an outer node of the outer cluster.
    Type: Grant
    Filed: July 17, 2019
    Date of Patent: October 11, 2022
    Assignee: RED HAT, INC.
    Inventor: Nathaniel McCallum
  • Publication number: 20220171883
    Abstract: The technology disclosed herein enables efficient launching of trusted execution environments. An example method can include: receiving, by a first computing device, a request from a second computing device to establish a set of trusted execution environments (TEEs) in the first computing device; establishing a first TEE of the set of TEEs in the first computing device, wherein the trusted execution environment comprises an encrypted memory area and executable code; receiving, by the first TEE, cryptographic key data from the first computing device; establishing, by the first TEE, a second TEE of the set of TEEs in the first computing device, wherein the second TEE comprises a copy of the executable code; providing, by the first TEE, the cryptographic key data to the second TEE; and causing the executable code of the second TEE to communicate with the first computing device using the cryptographic key data.
    Type: Application
    Filed: November 30, 2020
    Publication date: June 2, 2022
    Inventors: Michael Hingston McLaughlin Bursell, Michael Tsirkin, Nathaniel McCallum
  • Patent number: 11295024
    Abstract: Providing smart contracts including secrets encrypted with oracle-provided encryption keys using thresholding cryptosystems is disclosed. In one example, a contract creator encrypts sensitive data necessary for executing a smart contract into ciphertext with multiple symmetric cryptographic keys using a threshold cryptosystem, such that a subset of at least size R of the symmetric cryptographic keys are required to decrypt the ciphertext. The symmetric cryptographic keys are encrypted into wrappers using a public cryptographic key of a contract executor. Envelopes are generated using public cryptographic keys of corresponding contract oracles, where the envelopes include the wrappers encrypted using the public cryptographic keys, and policies that specify condition(s) precedent and are authenticated using the public cryptographic keys. The smart contract, including the envelopes, the ciphertext, and R, is then deployed to the contract executor.
    Type: Grant
    Filed: January 18, 2019
    Date of Patent: April 5, 2022
    Assignee: Red Hat, Inc.
    Inventors: Michael H. M. Bursell, Axel Simon, Nathaniel McCallum
  • Publication number: 20210281550
    Abstract: Implementations of the disclosure provide for binding data to a network in the presence of an entity. In one implementation, a cryptographic system is provided. The cryptographic system includes a memory to store encrypted date, and a processing device, operatively coupled to the memory, to identify a public key for a communications device in response to an indication of a presence of the communications device on a network. A first intermediate is determined in view of the public key for the communications device and in view of an acquisitioning public key. The acquisitioning public key is associated with the encrypted data. A second intermediate public key is received from the communications device in view of the first intermediate public key. Thereupon, the encrypted data is decrypted using an encryption key derived at least from the second intermediate public key.
    Type: Application
    Filed: May 21, 2021
    Publication date: September 9, 2021
    Inventors: Nathaniel McCallum, Robert J. Relyea
  • Patent number: 11102191
    Abstract: Embodiments of the disclosure enable single sign-on for secure network services. In one embodiment, a method is provided. The method comprises providing, by a processing device of a first server, a prompt for first login information associated a second server. An authentication request is transmitted on behalf of a client to the second server to authenticate the first login information received from the client. An authentication ticket is provided to the client in view of the first login information. The authentication ticket is received from the second server in response to authentication of the first login information. A service request comprising the authentication ticket and a request to access a service associated with the first server is received from the client. Thereupon, access to the service by the client is enabled by applying the authentication ticket, without prompting the client for entry of second login information.
    Type: Grant
    Filed: October 1, 2019
    Date of Patent: August 24, 2021
    Assignee: Red Hat, Inc.
    Inventors: Nikolaos Mavrogiannopoulos, Nathaniel McCallum
  • Publication number: 20210191768
    Abstract: Aspects of the disclosure provide for mechanisms for scheduling computing tasks in a computer system. A method of the disclosure includes determining one or more attributes associated with a computing task, determining an ordered list of the attributes in view of priorities associated with the attributes, generating a first numerical representation of the attributes in view of the ordered list of the attributes, determining a second numerical representation of a priority of the computing task, and determining a third numerical representation of a total priority of the computing task in view of the first numerical representation and the second numerical representation.
    Type: Application
    Filed: March 8, 2021
    Publication date: June 24, 2021
    Inventors: Nathaniel McCallum, Monis Khan, Benjamin Petersen, Jonathan Toppins
  • Patent number: 11032254
    Abstract: Implementations of the disclosure provide for binding data to a network in the presence of an entity. In one implementation, a cryptographic system is provided. The cryptographic system includes a memory to store encrypted data, and a processing device, operatively coupled to the memory, to identify a public key for a communications device in response to an indication of a presence of the communications device on a network. A first intermediate is determined in view of the public key for the communications device and in view of an acquisitioning public key. The acquisitioning public key associated with the encrypted data. A second intermediate public key is received from the communications device in view of the first intermediate public key. Thereupon, the encrypted data is decrypted using an encryption key derived at least from the second intermediate public key.
    Type: Grant
    Filed: September 6, 2016
    Date of Patent: June 8, 2021
    Assignee: Red Hat, Inc.
    Inventors: Nathaniel McCallum, Robert J. Relyea
  • Patent number: 10942768
    Abstract: Aspects of the disclosure provide for mechanisms for scheduling computing tasks in a computer system. A method of the disclosure includes maintaining a priority queue comprising a plurality of computing tasks sorted in view of a plurality of numerical representations of priorities associated with the plurality of computing tasks; determining an attribute mask for a processing unit of a computer system, the attribute mask comprising a numerical representation of at least one attribute of the processing unit; and identifying, in view of the attribute mask, a computing task in the priority queue of the sorted computing tasks for processing by the processing unit of the computer system.
    Type: Grant
    Filed: August 29, 2018
    Date of Patent: March 9, 2021
    Assignee: Red Hat, Inc.
    Inventors: Nathaniel McCallum, Monis Khan, Benjamin Petersen, Jonathan Toppins
  • Publication number: 20210021580
    Abstract: Systems and methods are disclosed for protecting data. An example method includes creating an outer cluster on one or more host machines coupled to a network. The outer cluster includes a plurality of outer nodes. The method also includes creating an enclave cluster on the outer cluster. The enclave cluster includes a plurality of inner nodes, and each inner node of the plurality of inner nodes executes within an enclave of the one or more host machines. The method further includes exposing an application programming interface (API) to the outer cluster, where invocation of the API causes at least one inner node of the enclave cluster to perform an operation on data. The method also includes performing, by an inner node of the enclave cluster, the operation on the data in response to invocation of the API by an outer node of the outer cluster.
    Type: Application
    Filed: July 17, 2019
    Publication date: January 21, 2021
    Inventor: Nathaniel McCallum
  • Publication number: 20200234294
    Abstract: Providing smart contracts including secrets encrypted with oracle-provided encryption keys is disclosed. In one example, a contract creator encrypts sensitive data necessary for executing a smart contract into ciphertext using a symmetric cryptographic key K, and also encrypts the symmetric cryptographic key K into a wrapper using a public cryptographic key e of a contract executor. The contract creator then generates an envelope using a public cryptographic key o of a contract oracle, where the envelope includes the wrapper encrypted using the public cryptographic key o and a policy that includes condition(s) precedent and is digitally authenticated. The smart contract, including the envelope and the ciphertext, is deployed to the contract executor. The sensitive data thus may be provided within the smart contract itself, while being protected from unauthorized access in the event the smart contract is malicious or is compromised.
    Type: Application
    Filed: January 18, 2019
    Publication date: July 23, 2020
    Inventors: Michael H. M. Bursell, Axel Simon, Nathaniel McCallum
  • Publication number: 20200233966
    Abstract: Providing smart contracts including secrets encrypted with oracle-provided encryption keys using thresholding cryptosystems is disclosed. In one example, a contract creator encrypts sensitive data necessary for executing a smart contract into ciphertext with multiple symmetric cryptographic keys using a threshold cryptosystem, such that a subset of at least size R of the symmetric cryptographic keys are required to decrypt the ciphertext. The symmetric cryptographic keys are encrypted into wrappers using a public cryptographic key of a contract executor. Envelopes are generated using public cryptographic keys of corresponding contract oracles, where the envelopes include the wrappers encrypted using the public cryptographic keys, and policies that specify condition(s) precedent and are authenticated using the public cryptographic keys. The smart contract, including the envelopes, the ciphertext, and R, is then deployed to the contract executor.
    Type: Application
    Filed: January 18, 2019
    Publication date: July 23, 2020
    Inventors: Michael H. M. Bursell, Axel Simon, Nathaniel McCallum
  • Publication number: 20200073706
    Abstract: Aspects of the disclosure provide for mechanisms for scheduling computing tasks in a computer system. A method of the disclosure includes maintaining a priority queue comprising a plurality of computing tasks sorted in view of a plurality of numerical representations of priorities associated with the plurality of computing tasks; determining an attribute mask for a processing unit of a computer system, the attribute mask comprising a numerical representation of at least one attribute of the processing unit; and identifying, in view of the attribute mask, a computing task in the priority queue of the sorted computing tasks for processing by the processing unit of the computer system.
    Type: Application
    Filed: August 29, 2018
    Publication date: March 5, 2020
    Inventors: Nathaniel McCallum, Monis Khan, Benjamin Petersen, Jonathan Toppins
  • Publication number: 20200036700
    Abstract: Embodiments of the disclosure enable single sign-on for secure network services. In one embodiment, a method is provided. The method comprises providing, by a processing device of a first server, a prompt for first login information associated a second server. An authentication request is transmitted on behalf of a client to the second server to authenticate the first login information received from the client. An authentication ticket is provided to the client in view of the first login information. The authentication ticket is received from the second server in response to authentication of the first login information. A service request comprising the authentication ticket and a request to access a service associated with the first server is received from the client. Thereupon, access to the service by the client is enabled by applying the authentication ticket, without prompting the client for entry of second login information.
    Type: Application
    Filed: October 1, 2019
    Publication date: January 30, 2020
    Inventors: Nikolaos Mavrogiannopoulos, Nathaniel McCallum
  • Patent number: 10454917
    Abstract: Embodiments of the disclosure enable single sign-on for secure network services. In one embodiment, a method is provided. The method comprises providing, by a processing device of a first server, a prompt for first login information associated a second server. An authentication request is transmitted on behalf of a client to the second server to authenticate the first login information received from the client. An authentication ticket is provided to the client in view of the first login information. The authentication ticket is received from the second server in response to authentication of the first login information. A service request comprising the authentication ticket and a request to access a service associated with the first server is received from the client. Thereupon, access to the service by the client is enabled by applying the authentication ticket, without prompting the client for entry of second login information.
    Type: Grant
    Filed: November 5, 2015
    Date of Patent: October 22, 2019
    Assignee: Red Hat, Inc.
    Inventors: Nikolaos Mavrogiannopoulos, Nathaniel McCallum
  • Patent number: 10397206
    Abstract: Various examples are directed to systems and methods for exchanging encrypted information. A first computing device may select a first private key and generate a session key based at least in part on the first private key. The first computing device may receive from a second computing device a second public key and generate a first public key based at least in part on: the second public key, a shared secret integer, and the first private key. A second computing device may select a second private key and generate the second public key based at least in part on the second private key; a generator, a first group constant and the shared secret integer.
    Type: Grant
    Filed: January 29, 2016
    Date of Patent: August 27, 2019
    Assignee: Red Hat, Inc.
    Inventor: Nathaniel McCallum
  • Patent number: 10374802
    Abstract: A method relates to receiving, by a processing device of an authentication server over a public network, an authentication request from a client device, the authentication request comprising a user identifier associated with first factor data, in which the first factor data comprises a password stored in a storage associated with the authentication server, calculating a generator value in view of the first factor data and a second factor data associated with the user identifier, and generating a session key in view of the generator value and a first public key received from the client device.
    Type: Grant
    Filed: November 24, 2015
    Date of Patent: August 6, 2019
    Assignee: Red Hat, Inc.
    Inventor: Nathaniel McCallum
  • Patent number: 10129025
    Abstract: Implementations of the disclosure provide for binding data to a network in the presence of an entity with revocation capabilities. A cryptographic system is provided that includes a memory to store revocation information comprising a plurality of identifiers and a processing device operatively coupled to the memory. A provisioning public key is recovered in view of a first intermediate public key associated with a client device storing encrypted data. A binding identifier is generated for the client device in view of the provisioning public key. It is determined whether access to the encrypted data associated with the binding identifier is revoked or allowed in view of the revocation information. Responsive to determining that the access is allowed, provide a second intermediate public key to derive an encryption key to access the encrypted data in view of at least the provisioning public key and the first intermediate public key.
    Type: Grant
    Filed: September 19, 2016
    Date of Patent: November 13, 2018
    Assignee: Red Hat, Inc.
    Inventors: Nathaniel McCallum, Robert J. Relyea