Roughtime Ecosystem
draft-ietf-ntp-roughtime-ecosystem-00
Internet Engineering Task Force W. Ladd
Internet-Draft Cloudflare
Intended status: Informational M. Dansarie
Expires: August 25, 2021 February 21, 2021
Roughtime Ecosystem
draft-ietf-ntp-roughtime-ecosystem-00
Abstract
This document specifies the roles of Roughtime validators, clients,
and servers in providing a ecosystem for secure time.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 25, 2021.
Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Ladd & Dansarie Expires August 25, 2021 [Page 1]
Internet-Draft Roughtime Ecosystem February 2021
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Chaining in roughtime . . . . . . . . . . . . . . . . . . . . 2
3. Impeachement . . . . . . . . . . . . . . . . . . . . . . . . 2
4. Serialization of chains . . . . . . . . . . . . . . . . . . . 3
5. Submission API . . . . . . . . . . . . . . . . . . . . . . . 3
6. Viewing Reports . . . . . . . . . . . . . . . . . . . . . . . 3
7. Trust Anchors and Policies . . . . . . . . . . . . . . . . . 3
8. Normative References . . . . . . . . . . . . . . . . . . . . 3
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 3
1. Introduction
The Roughtime protocol enables servers to provide cryptographic proof
of the times requests were made. This enables clients to expose
cheating by servers. This document describes how these proofs are
seralized and verified, as well as APIs to access and submit reports
of malfeasnce in an automated manner.
2. Chaining in roughtime
Two responses are chained if the NONC field of the second is SHA-
512(blinder || first) where blinder is a 64 byte value. Blinder MUST
be generated uniformly at random to prevent tracking. The first
response is serialized as a roughtime message. The first response is
chained to the second.
A chain is a sequence of messages where each message is chained to
the one before. Every contiguous subsequence of a chain is a chain.
3. Impeachement
For each index i, let m_i denote the timestamp of the response, r_i
the radius around it. Then we have m_i-r_i the earliest actual time
at which the response could have been generated, and m_i+r_i the
latest actual time at which the response could have been generated.
If all requests are generated honestly m_i+r_i < m_{i+j}-r_{i+j}
holds for all indices i and positive numbers j. A failure of this
relation to hold demonstrates that at least one of the responses was
generated incorrectly.
The more distinct servers and responses that are mutually consistent
except for the questionable response, the more likey a failure of the
generator of the errneous response is.
Ladd & Dansarie Expires August 25, 2021 [Page 2]
Internet-Draft Roughtime Ecosystem February 2021
4. Serialization of chains
TODO
5. Submission API
6. Viewing Reports
7. Trust Anchors and Policies
A trust anchor is any distributor of a list of trusted servers. It
is RECOMMENDED that trust anchors subscribe to a common public forum
where evidence of malfeasance may be shared and discussed. Trust
anchors SHOULD subscribe to a zero-tolerance policy: any generation
of incorrect timestamps will result in removal. To enable this trust
anchors SHOULD list a wide variety of servers so the removal of a
Show full document text