# US 11,310,208 B1 · Secure time service

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,310,208 B1
- Document ID: US11310208B1
- Status: Granted
- Kind: B1
- Application number: 15/853,556
- Filed: 2017-12-22
- Granted: 2022-04-19
- Earliest claimed: 2013-04-19
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Thomas Charles Stickle; Eric Jason Brandwine
- Web page: https://patentgrep.com/patent/US11310208B1

## CPC

- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- G06F 1/12: Synchronisation of different clock signals {provided by a plurality of clock generators}
- G06F 21/606: {by securing the transmission between two devices or processes}
- G06F 2221/2115: Third party
- G06F 2221/2151: Time stamp
- H04L 9/3297: {involving time stamps, e.g. generation of time stamps}
- H04L 2463/121: Timestamp
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and apparatus for a secure time service are disclosed. A time server including a time source, a cryptographic key and a cryptographic engine is instantiated within a provider network. A time service endpoint receives a timestamp request from a client. The endpoint transmits a representation of the request to the time server, and receives, from the time server, an encryption of at least a timestamp generated using the time source. A response comprising the encryption of at least the timestamp is transmitted to the requesting client.

## Claims

### Claim 1

A system, comprising:
a time server; and
a service endpoint to respond to requests formatted according to one or more application programming interfaces (APIs) supported by a service implemented at a provider network, the service endpoint configured to:
receive a client request for a secure timestamp from a client of the service, the request comprising an indication of one or more timestamp properties and a data object for encryption by the time server, wherein the one or more timestamp properties comprise at least one of a requested timestamp precision, accuracy, or latency requirement;
send, to the time server, a timestamp request comprising a representation of at least a portion of the request, the representation comprising the one or more timestamp properties and the data object;
receive, from the time server, an encrypted response comprising an encryption of (a) the data object included in the request and (b) a timestamp value from the time server generated in accordance with the one or more timestamp properties; and
transmit, to the client, the encrypted response.

### Claim 2 (depends on 1)

The system of claim 1, wherein the time server comprises a cryptographic engine, a time source, and a cryptographic key.

### Claim 3 (depends on 2)

The system of claim 2, wherein the time server is configured to generate and send the encrypted response to the service endpoint in response to receiving the representation of at least a portion of the request.

### Claim 4 (depends on 1)

The system of claim 1, wherein the service endpoint is further configured to:
receive, from a second client, an instantiation request to instantiate a second service endpoint; and
initiate an instantiation of the second service endpoint responsive to the instantiation request.

### Claim 5 (depends on 4)

The system of claim 4, wherein the instantiation request indicates a category, and wherein the second service endpoint is instantiated in accordance with the indicated category.

### Claim 6 (depends on 4)

The system of claim 4, wherein the second service endpoint is configured with a network address of a private network associated with the second client, wherein the private network comprises a plurality of resources of the provider network, and wherein the network address is indicated in the instantiation request.

### Claim 7

A method, comprising:
instantiating (a) a time server and (b) a service endpoint to respond to requests formatted according to one or more application programming interfaces (APIs) supported by a service implemented at a provider network;
receiving a client request for a secure timestamp from a client of the service, the request comprising an indication of one or more timestamp properties and a data object for encryption by the time server, wherein the one or more timestamp properties comprise at least one of a requested timestamp precision, accuracy, or latency requirement;
sending, to the time server, a timestamp request comprising a representation of at least a portion of the request, the representation comprising the one or more timestamp properties and the data object;
receive, from the time server, an encrypted response comprising an encryption of (a) the data object included in the request and (b) a timestamp value from the time server generated in accordance with the one or more timestamp properties; and
transmitting, to the client, the encrypted response.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
receiving, from a second client, an instantiation request to instantiate a second service endpoint; and
initiating an instantiation of the second service endpoint responsive to the instantiation request.

### Claim 9 (depends on 8)

The method of claim 8, wherein the instantiation request comprises identification metadata, and wherein the second service endpoint is configured to include at least a portion of the identification metadata in responses provided by the second service endpoint.

### Claim 10 (depends on 7)

The method of claim 7, wherein the time server comprises a cryptographic engine, a time source, and a cryptographic key.

### Claim 11 (depends on 10)

The method of claim 10,
wherein the timestamp value is generated using output from the time source;
wherein the encrypted response is generated by the cryptographic engine using the cryptographic key.

### Claim 12 (depends on 7)

The method of claim 7, further comprising:
configuring the service endpoint with a network address accessible from the public Internet.

### Claim 13 (depends on 7)

The method of claim 7, further comprising:
configuring the service endpoint with a private network address accessible only from a portion of the provider network.

### Claim 14

A non-transitory, computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to:
implement an application programmatic interface defined by a service implemented at a provider network;
receive, via the application programmatic interface, a client request for a secure timestamp from a client of the service, the request comprising an indication of one or more timestamp properties and a data object for encryption by the time server, wherein the one or more timestamp properties comprise at least one of a requested timestamp precision, accuracy, or latency requirement;
send, to the time server, a timestamp request comprising a representation of at least a portion of the request, the representation comprising the one or more timestamp properties and the data object; and
in response to receiving, from the time server, an encrypted response comprising an encryption of (a) the data object indicated in the request and (b) a timestamp value from a time server of the service generated in accordance with the one or more timestamp properties, transmit, to the client, the encrypted response.

### Claim 15 (depends on 14)

The non-transitory, computer-readable storage medium of claim 14, wherein the instructions further cause the one or more processors to:
receive, from a second client, an instantiation request to instantiate a second service endpoint; and
initiate an instantiation of the second service endpoint responsive to the instantiation request.

### Claim 16 (depends on 14)

The non-transitory, computer-readable storage medium of claim 14, wherein the instructions further cause the one or more processors to:
determine whether the time server has failed or has become unresponsive; and
based on a determination that the time server has failed or has become unresponsive, identify a second time server, wherein the time server and the second time server are configured as a failover pair within an availability container.

### Claim 17 (depends on 16)

The non-transitory, computer-readable storage medium of claim 16, wherein the instructions further cause the one or more processors to:
transmit, to the second time server, the representation of at least the portion of the request; and
receive, from the second time server, the timestamp value generated based at least in part on output from a time source of the second time server.

### Claim 18 (depends on 16)

The non-transitory, computer-readable storage medium of claim 16, wherein the time server and the second time server share a cryptographic key.

### Claim 19 (depends on 14)

The non-transitory, computer-readable storage medium of claim 14, wherein the instructions further cause the one or more processors to:
determine a quantity of additional time servers and corresponding locations of the additional time servers, based at least in part on a simulation model, an analytic model, quality-of-service requirements, or any combination thereof; and
instantiate the additional time servers in accordance with the quantity and the locations of the additional time servers.

### Claim 20 (depends on 14)

The non-transitory, computer-readable storage medium of claim 14, wherein the encrypted response further comprises response metadata indicating branding information.
