Digital signature verification for asynchronous responses
AssigneeAmazon Technologies, Inc.
InventorsArjun Dasarakothapalli, Morgan Akers, David Alan Blunt, Darin Keith McAdams
Life of this patent
Estimating the term…
Abstract
A server obtains response data for an asynchronous response to a request from a client. The server generates, in response to obtaining the response data, a digital signature for the response data. The server makes available the response data, the digital signature, and location information that indicates a location from which a digital certificate usable to verify the digital signature can be obtained.
Claims20
A computer-implemented method, comprising:
- receiving, from a client device, a request;
- initiating an asynchronous process to fulfill the request;
- at a time after receipt of the request, causing a certificate authority to issue a digital certificate that encodes a public cryptographic key, the public cryptographic key corresponding to a private cryptographic key;
- storing the digital certificate in a datastore;
- obtaining response data for the request that results from the asynchronous process;
- using the private cryptographic key to digitally sign the response data to result in a digital signature of the response data;
- generating a token that encodes the response data, the digital signature, and a link to the digital certificate that enables the client device to obtain the digital certificate from the datastore;
- and
- providing the token to the client device.
A system, comprising at least one computing device configured to implement one or more services, wherein the one or more services:
- receive, from a client device, a request;
- initiate an asynchronous process to fulfill the request;
- at a time after receipt of the request, cause a certificate authority to issue a digital certificate that encodes a public cryptographic key, the public cryptographic key corresponding to a private cryptographic key;
- store the digital certificate in a location from which the digital certificate is obtainable;
- obtain response data for the request that results from the asynchronous process;
- generate, using the private cryptographic key, a digital signature for the response data, the digital signature verifiable using a digital certificate;
- generate a token that encodes the response data, the digital signature, and location information that indicates the location;
- and
- make available the token.
A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:
- receive a request;
- initiate an asynchronous process to fulfill the request;
- at a time after receipt of the request, cause a certificate authority to issue a digital certificate that encodes a public cryptographic key, the public cryptographic key corresponding to a private cryptographic key;
- store the digital certificate in a location from which the digital certificate is obtainable;
- obtain response data for the asynchronous response to the request;
- use the private cryptographic key to digitally sign the response data, resulting in a digital signature of the response data;
- generate a token that encodes the response data, the digital signature, and location information that indicates the location;
- and
- make available the token.
Dependencies are inferred from the claim text.