Patents by Inventor John A. Campagna

John A. Campagna 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: 10621366
    Abstract: A tiered credentialing approach provides assurance to customers having virtual machines running in a remote environment that the virtual images for these machines are in a pristine state and running in a trusted execution environment. The environment can be divided into multiple subsystems, each having its own cryptographic boundary, secure storage, and trusted computing capabilities. A trusted, limited subsystem can handle the administrative tasks for virtual machines running on the main system of a host computing device. The limited system can receive a certificate from a certificate authority, and can act as a certificate authority to provide credentials to the main system. Upon an attestation request, the subsystems can provide attestation information using the respective credentials as well as the certificate chain. An entity having the appropriate credentials can determine the state of the system from the response and verify the state is as expected.
    Type: Grant
    Filed: January 1, 2019
    Date of Patent: April 14, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Matthew John Campagna, Gregory Alan Rubin, Eric Jason Brandwine, Matthew Shawn Wilson, Cristian M. Ilac
  • Patent number: 10614239
    Abstract: A database table, such as may be implemented by a non-relational database, is provided to present information and states associated with that information as memorialized in a cryptographically secured ledger. The semantics of the database table elements, as well as the relationships between various objects therein, may be defined and/or enforced by a schema, a database engine, and/or an application layer. For example, the disclosed methods and systems may be used to implement an asset tracking tool that does not require trust of the implementing system for verification of the system's contents.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: April 7, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Christopher Richard Jacques de Kadt, Timothy William Bray, Trevor Simon Roger Dyck, Matthew John Campagna, Allan Henry Vermeulen
  • Patent number: 10608824
    Abstract: A first public key is generated based at least in part on a first plurality of signing keys and a second public key is generated based at least in part on a second plurality of signing keys. The signing keys may be used to generate digital signatures. The second public key may be made available to verify a digital signature generated using a signing key from the second plurality of signing keys. In some cases, a first Merkle tree may be formed by the first public key and the first plurality of signing keys, and a second Merkle tree may be formed by the second public key, the first public key, and the second plurality of signing keys.
    Type: Grant
    Filed: January 9, 2017
    Date of Patent: March 31, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Slavka Praus, Matthew John Campagna, Nicholas Alexander Allen, Petr Praus
  • Publication number: 20200099674
    Abstract: A computer system performs cryptographic operations as a service. The computer system is configured to allow users of the service to maintain control of their respective cryptographic material. The computer system uses inaccessible cryptographic material to encrypt a user's cryptographic material in a token that is then provided to the user. The user is unable to access a plaintext copy of the cryptographic material in the token, but can provide the token back to the service to cause the service to decrypt and use the cryptographic material.
    Type: Application
    Filed: November 4, 2019
    Publication date: March 26, 2020
    Inventors: Matthew John Campagna, Gregory Branchek Roth
  • Patent number: 10587405
    Abstract: A request a request to perform a cryptographic operation is received, the request including a first identifier assigned to a key group, the key group comprising a plurality of second identifiers, with the plurality of second identifiers corresponding to a plurality of cryptographic keys. A second identifier is determined, according to a distribution scheme, from the plurality of second identifiers, and the cryptographic operation is performed using a cryptographic key of the plurality of cryptographic keys that corresponds to the second identifier that was determined.
    Type: Grant
    Filed: April 6, 2018
    Date of Patent: March 10, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Gregory Branchek Roth, Matthew John Campagna, Benjamin Elias Seidenberg
  • Patent number: 10567394
    Abstract: A system performs cryptographic operations utilizing information usable to verify validity of plaintext. To prevent providing information about a plaintext by providing the information usable to verify the validity of the plaintext, the system provides the information usable to verify validity of the plaintext to an entity on a condition that the entity is authorized to access the plaintext. The information usable to verify validity of the plaintext may be persisted in ciphertext along with the plaintext to enable the plaintext to be verified when decrypted.
    Type: Grant
    Filed: April 10, 2019
    Date of Patent: February 18, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Gregory Branchek Roth, Gregory Alan Rubin, Matthew John Campagna, Petr Praus
  • Publication number: 20190394029
    Abstract: Systems and processes are described for establishing and using a secure channel. A shared secret may be used for authentication of session initiation messages as well as for generation of a private/public key pair for the session. A number of ways of agreeing on the shared secret are described and include pre-sharing the keys, reliance on a key management system, or via a token mechanism that uses a third entity to manage authentication, for example. In some instances, the third party may also perform endpoint selection by providing a particular endpoint along with the token. The particular cipher suite applied in a particular implementation may be configurable. The process is applicable to either implicit key confirmation (e.g., handshake negotiation) or explicit key confirmation (e.g., full negotiation).
    Type: Application
    Filed: September 6, 2019
    Publication date: December 26, 2019
    Applicant: Amazon Technologies, Inc.
    Inventors: Allan Henry Vermeulen, Matthew John Campagna, Colm Gearóid MacCárthaigh
  • Patent number: 10516543
    Abstract: A first entity and a second entity establish a protected authenticated communication channel using an implicit certificate issued by a certificate authority. In some examples, the implicit certificate is generated based at least in part on the ring learning with errors (“RLWE”) problem. Using the implicit certificate, the first entity and the second entity exchange information that enables the entities to negotiate a shared secret. The shared secret may be used to establish a cryptographically protected communication channel. Successful use of the shared secret authenticates the identity of the first entity and the second entity.
    Type: Grant
    Filed: May 8, 2017
    Date of Patent: December 24, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Matthew John Campagna, Marguerite Marie Nathalie Delcourt
  • Patent number: 10511591
    Abstract: Two parties to a communication establish public and private keys through the use of implicit certificates. Each party establishes a new static key pair, and determines a difference between the new static key pair and the previously established keys. The differences are exchanged and used to determine new public static keys. Each party generates an ephemeral key pair from the static key pair, and a shared secret is derived from a combination of the ephemeral keys and the new static keys.
    Type: Grant
    Filed: May 8, 2017
    Date of Patent: December 17, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Matthew John Campagna, Marguerite Marie Nathalie Delcourt
  • Patent number: 10511445
    Abstract: A digital signature over a message may be compressed by determining a plurality of values based at least in part on the message. A mapping of the plurality of values over a digital signature scheme may be used to determine a value from which a portion of the compressed digital signature is decompressible by cryptographically deriving one or more components of the uncompressed digital signature. A public key may be used to verify the authenticity of the compressed digital signature and message.
    Type: Grant
    Filed: January 5, 2017
    Date of Patent: December 17, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Gregory Alan Rubin, Matthew John Campagna, Nicholas Alexander Allen
  • Publication number: 20190349450
    Abstract: A trusted co-processor can provide a hardware-based observation point into the operation of a host machine owned by a resource provider or other such entity. The co-processor can be installed via a peripheral card on a fast bus, such as a PCI bus, on the host machine. The provider can provide the customer with expected information that the customer can verify through a request to an application programming interface (API) of the card, and after the customer verifies the information the customer can take logical ownership of the card and lock out the provider. The card can then function as a trusted but limited environment that is programmable by the customer. The customer can subsequently submit verification requests to the API to ensure that the host has not been unexpectedly modified or is otherwise operating as expected.
    Type: Application
    Filed: July 22, 2019
    Publication date: November 14, 2019
    Inventors: Eric Jason Brandwine, Gregory Alan Rubin, Matthew John Campagna, Matthew Shawn Wilson
  • Patent number: 10469477
    Abstract: A computer system performs cryptographic operations as a service. The computer system is configured to allow users of the service to maintain control of their respective cryptographic material. The computer system uses inaccessible cryptographic material to encrypt a user's cryptographic material in a token that is then provided to the user. The user is unable to access a plaintext copy of the cryptographic material in the token, but can provide the token back to the service to cause the service to decrypt and use the cryptographic material.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: November 5, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Matthew John Campagna, Gregory Branchek Roth
  • Patent number: 10447674
    Abstract: A system may transmit, to a first entity, data to indicate an association between the first entity and a public key, wherein the public key is to be used to establish a cryptographically protected communications session between the first entity and a second entity, receive the data in response to a request to verify the association, and transmit, to the second entity, an indication that the data is valid. The system may be a cryptography service that is partially by the first and second entities. A partially trusted system can a computer system that is trusted in some respects but not trusted in other respects. A partially trusted cryptography service may be trusted to generate digital signatures and verify authenticity of digital signatures, but not trusted with access to a cryptographic key that can be used to access a cryptographically protected communications between a first entity and a second entity.
    Type: Grant
    Filed: July 6, 2017
    Date of Patent: October 15, 2019
    Assignee: Amazon Technologies, Inc.
    Inventor: Matthew John Campagna
  • Publication number: 20190312851
    Abstract: A device is provisioned and authorized for use on a network. The device may generate a cryptographic key and provide a digital certificate the cryptographic key, a hardware identifier, and attribute information and provide such information to an authorization host as part of the provisioning process. The authorization host may use attribute information to determine whether to authorize the device for use on the network, and whether the generated cryptographic key should be trusted for use on the network.
    Type: Application
    Filed: June 24, 2019
    Publication date: October 10, 2019
    Inventors: Matthew John Campagna, Derek Del Miller, Nachiketh Rao Potlapally, Gregory Branchek Roth
  • Publication number: 20190288991
    Abstract: Performing cryptographic operations such as encryption and decryption may be computationally expensive. In some contexts, initialization vectors and keystreams operable to perform encryption operations are generated and stored in a repository, and later retrieved for use in performing encryption operations. Multiple devices in a distributed system can each generate and store a subset of a larger set of keystreams.
    Type: Application
    Filed: June 3, 2019
    Publication date: September 19, 2019
    Inventor: Matthew John Campagna
  • Patent number: 10412098
    Abstract: Clients within a computing environment may establish a secure communication session. Sometimes, a client may trust another client to read, but not modify, a message. Clients may utilize a cryptography service to generate a message protected against improper modification. Clients may utilize a cryptography service to verify whether a protected message has been improperly modified.
    Type: Grant
    Filed: December 11, 2015
    Date of Patent: September 10, 2019
    Assignee: Amazon Technologies, Inc.
    Inventor: Matthew John Campagna
  • Patent number: 10411886
    Abstract: Systems and processes are described for establishing and using a secure channel. A shared secret may be used for authentication of session initiation messages as well as for generation of a private/public key pair for the session. A number of ways of agreeing on the shared secret are described and include pre-sharing the keys, reliance on a key management system, or via a token mechanism that uses a third entity to manage authentication, for example. In some instances, the third party may also perform endpoint selection by providing a particular endpoint along with the token. The particular cipher suite applied in a particular implementation may be configurable. The process is applicable to either implicit key confirmation (e.g., handshake negotiation) or explicit key confirmation (e.g., full negotiation).
    Type: Grant
    Filed: December 29, 2015
    Date of Patent: September 10, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Allan Henry Vermeulen, Matthew John Campagna, Colm Gearóid MacCárthaigh
  • Patent number: 10412191
    Abstract: A trusted co-processor can provide a hardware-based observation point into the operation of a host machine owned by a resource provider or other such entity. The co-processor can be installed via a peripheral card on a fast bus, such as a PCI bus, on the host machine. The provider can provide the customer with expected information that the customer can verify through a request to an application programming interface (API) of the card, and after the customer verifies the information the customer can take logical ownership of the card and lock out the provider. The card can then function as a trusted but limited environment that is programmable by the customer. The customer can subsequently submit verification requests to the API to ensure that the host has not been unexpectedly modified or is otherwise operating as expected.
    Type: Grant
    Filed: March 30, 2016
    Date of Patent: September 10, 2019
    Assignee: AMAZON TECHNOLOGIES, INC.
    Inventors: Eric Jason Brandwine, Gregory Alan Rubin, Matthew John Campagna, Matthew Shawn Wilson
  • Publication number: 20190273619
    Abstract: A proof-of-work system where a first party (e.g., a client computer system) may request access to a computing resource. A second party (e.g., a service provider) may determine a challenge that may be provided to the first party. A valid solution to the challenge may be generated and provided for the request to be fulfilled. The challenge may include a message and a seed, such that the seed may be used at least in part to cryptographically derive information that may be used to generate a solution to the challenge. A hash tree may be generated as of generating the solution.
    Type: Application
    Filed: May 13, 2019
    Publication date: September 5, 2019
    Inventors: Matthew John Campagna, Nicholas Alexander Allen, Gregory Alan Rubin
  • Patent number: 10389696
    Abstract: A system may transmit, to a first entity, data to indicate an association between the first entity and a public key, wherein the public key is to be used to establish a cryptographically protected communications session between the first entity and a second entity, receive the data in response to a request to verify the association, and transmit, to the second entity, an indication that the data is valid. The system may be a cryptography service that is partially by the first and second entities. A partially trusted system can a computer system that is trusted in some respects but not trusted in other respects. A partially trusted cryptography service may be trusted to generate digital signatures and verify authenticity of digital signatures, but not trusted with access to a cryptographic key that can be used to access a cryptographically protected communications between a first entity and a second entity.
    Type: Grant
    Filed: July 6, 2017
    Date of Patent: August 20, 2019
    Assignee: Amazon Technologies, Inc.
    Inventor: Matthew John Campagna