Roughtime Ecosystem
draft-ietf-ntp-roughtime-ecosystem-00

Document Type Active Internet-Draft (ntp WG)
Authors Watson Ladd  , Marcus Dansarie 
Last updated 2021-02-22
Stream Internent Engineering Task Force (IETF)
Intended RFC status (None)
Formats plain text xml pdf htmlized (tools) htmlized bibtex
Stream WG state WG Document
On Agenda ntp at IETF-110
Document shepherd No shepherd assigned
IESG IESG state I-D Exists
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
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