<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version  -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc docName="draft-krose-mboned-alta-00" category="exp">

  <front>
    <title abbrev="ALTA">Asymmetric Loss-Tolerant Authentication</title>

    <author initials="K." surname="Rose" fullname="Kyle Rose">
      <organization>Akamai Technologies, Inc.</organization>
      <address>
        <email>krose@krose.org</email>
      </address>
    </author>

    <date year="2019" month="July" day="08"/>

    
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>Establishing authenticity of a stream of datagrams in the presence of multiple receivers is naïvely achieved through the use of per-packet asymmetric digital signatures, but at high computational cost for both senders and receivers. Timed Efficient Stream Loss-Tolerant Authentication (TESLA) instead employs relatively cheap symmetric authentication, achieving asymmetry via time-delayed key disclosure, while adding latency to verification and imposing requirements on time synchronization between receivers and the sender to prevent forgery. This document introduces Asymmetric Loss-Tolerant Authentication (ALTA), which employs an acyclic graph of message authentication codes (MACs) transmitted alongside data payloads, with redundancy to enable authentication of all received payloads in the presence of certain patterns of loss, along with regularly paced digital signatures. ALTA requires no time synchronization and enables authentication of payloads as soon as sufficient authentication material has been received.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>Authenticity of streaming data may be inexpensively established via symmetric message authentication codes (MACs) using keys pre-shared exclusively between two parties, as the receiver knows it did not originate the data and that only one other party has access to the key. In the presence of multiple receivers, however, this is not possible because all receivers must have access to the same key, giving any one of them the ability to forge messages. Consequently, authentication must be made asymmetric, such that only the sender has the ability to produce messages that correct receivers will verify as authentic.</t>

<t>Naïvely, a sender may sign individual datagrams using an asymmetric digital signature algorithm, such as RSA or Ed25519, but this carries high computational cost for both the sender and receivers. In the case of streaming video delivery, while the sender’s computational load may be dominated by CPU-intensive video encoding, the receiver is often a device with hardware dedicated to efficient video decoding and with limited general purpose computing hardware and/or battery available for high-rate digital signature authentication.</t>

<t>Timed Efficient Stream Loss-Tolerant Authentication (TESLA) <xref target="RFC4082"/> addresses this problem through the use of symmetric authentication by delaying the release of keying material to a deadline at which any packets protected by said key that are subsequently received must be discarded by a receiver. While this reintroduces asymmetry between sender and receiver, it requires the sender and each receiver to (loosely) synchronize clocks and imposes authentication latency relative to RTT and to a pre-declared upper bound on clock skew.</t>

<t>Clock synchronization is not as trivial as it appears: internet-connected hosts often have significant clock skew relative to stratum 0 NTP servers <xref target="timeskew"/>, and anyway enterprises serving valuable assets do not regard NTP as a reliable interdomain security protocol. Together with the need to avoid attacks that delay packets required for synchronization, this implies the need for an interactive unicast authenticated clock synchronization protocol, which is complicated by the need to maintain clock synchronization across both the stream publisher and multiple geographically-distributed nodes in a content delivery network (CDN).</t>

<t>This document introduces Asymmetric Loss-Tolerant Authentication (ALTA), which eschews time synchronization for an application of digital signatures to an acyclic graph of symmetric message authentication codes with redundancy sufficient to tolerate certain patterns of loss, and with digital signature authentication load greatly reduced relative to the naïve approach. This algorithm is based on research by Golle and Modadugu, as published in <xref target="STRAUTH"/>. Live multicast streaming over an unreliable transport is the intended application for ALTA: object-based integrity solutions or transport security may be more appropriate for unicast transmission or for static objects pulled on-demand.</t>

</section>
<section anchor="conventions-and-definitions" title="Conventions and Definitions">

<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”,
“SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this
document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/>
when, and only when, they appear in all capitals, as shown here.</t>

</section>
<section anchor="protocol-overview" title="Protocol Overview">

<t>ALTA is intended for streaming datagram use cases in which the receiving application has a deadline for the utility of received data and can tolerate a degree of random packet loss. It combines a segment of application data with a variable-length authentication tag into an ALTA payload to be sent as a unit in a single datagram, with the authentication tags constructed in such a way that a receiver will be able to authenticate nearly all such ALTA payloads received by the deadline under certain patterns of random packet loss.</t>

<t>An authentication tag is a combination of zero or more symmetric message authentication codes (MACs) and either zero or one digital signature. Each MAC is of another ALTA payload in the stream, while the digital signature is of the containing ALTA payload with the signature field itself replaced by all zeroes.</t>

<t>The MACs included in a given authentication tag are determined by a scheme, as defined in section 3 of <xref target="STRAUTH"/>. Conceptually, a scheme is a mostly backward-looking directed acyclic graph of ALTA payloads such that the MAC of a given payload is contained in two or more other payloads in the stream, enabling the loss of one of these to be tolerated without losing the ability to authenticate the given payload.</t>

<t>For purposes of illustration, a simple example scheme is one in which the ith ALTA payload’s authentication tag contains MACs for the (i-1)th and (i-2)th payload:</t>

<figure><artwork type="figure"><![CDATA[
                                              .
                                              .
                                              .
+-------------+------+                        |
| payload i+1 | MACs |                        |
|             |      |                        |
|             |   i <---------------------+   |
|             | i-1 <-----------------+   |   |
+---------+---+------+                |   |   |
          |                    +----------+---------+
          +------------------->| MAC of payload i+1 |
                               +--------------------+
+-------------+------+                |   |
| payload i   | MACs |                |   |
|             |      |                |   |
|             | i-1 <-----------------+   |
|             | i-2 <-------------+   |   |
+---------+---+------+            |   |   |
          |                    +--------+---------+
          +------------------->| MAC of payload i |
                               +------------------+
+-------------+------+            |   |
| payload i-1 | MACs |            |   |
|             |      |            |   |
|             | i-2 <-------------+   |
|             | i-3 <--------+    |   |
+---------+---+------+       |    |   |
          |                  | +----+-+-------------+
          +------------------->| MAC of payload i-1 |
                             | +--------------------+
+-------------+------+       |    |
| payload i-2 | MACs |       |    |
|             |      |       |    |
|             | i-3 <--------+    |
|             | i-4 <----+   |    |
+---------+---+------+   |   |    |
          |              |   | ++-+-----------------+
          +------------------->| MAC of payload i-2 |
                         |   | +--------------------+
                         |   |
                         |   |
                         .   .
                         .   .
                         .   .
]]></artwork></figure>

<t>The recommended scheme is more complex and will be covered in detail in <xref target="scheme-construction"/>.</t>

<t>Encoding a scheme relies on ALTA payloads being addressable deterministically by an index even in the presence of reordering or loss. This index may be deduced from the application data (e.g., making use of an existing sequence number) or by a payload index explicitly encoded in the authentication tag. Two modes are supported:</t>

<t><list style="symbols">
  <t>If the index starts at zero and increments by exactly one for each payload in the stream, and if the scheme is known to both sender and receiver, then indices are not required to be encoded for each MAC in an authentication tag as they can be deduced from a given payload’s index and from the DAG associated with the scheme. Hereafter, this is referred to as <spanx style="emph">implicit offset mode</spanx>.</t>
  <t>If the index increments unpredictably, or if the scheme is not known to the receiver, then each MAC in an authentication tag must be paired with the explicit index of the ALTA payload from which the MAC is computed. For compactness, this index will be encoded as an offset relative to the index of the containing payload. Hereafter this is referred to as <spanx style="emph">explicit offset mode</spanx>.</t>
</list></t>

<t>Authenticity of a payload is established by a chain of MACs rooted in an ALTA payload whose authentication tag contains a digital signature created by a key in which trust has been established out-of-band. Delivery of application data must be delayed until a payload has been authenticated. Note that a given payload may be authenticated by a digital signature as well as by one or more MAC chains; within authentication deadline constraints, receivers should prefer to authenticate by MAC, minimizing the computational load imposed by digital signature authentication.</t>

<t>The variable length of authentication tags in ALTA has implications for application data segmentation when constant-length datagrams are desired (e.g., to maximize data per UDP packet with a given path MTU while avoiding fragmentation).</t>

</section>
<section anchor="protocol-details" title="Protocol Details">

<section anchor="alta-payload" title="ALTA Payload">

<t>An ALTA payload comprises the following elements (defined below) concatenated in-order:</t>

<t><list style="symbols">
  <t>Authentication tag
  <list style="symbols">
      <t>Options octet</t>
      <t>Optional payload index</t>
      <t>Sequence of chained MACs</t>
      <t>Optional digital signature</t>
    </list></t>
  <t>Application data</t>
</list></t>

<section anchor="authentication-tag" title="Authentication Tag">

<t>The authentication tag is the metadata emitted by an ALTA-compliant sender that is required, in combination with other out-of-band metadata, by an ALTA-compliant receiver to authenticate a stream of packets in a manner tolerant to loss and reordering.</t>

<section anchor="options-octet" title="Options Octet">

<figure title="Options Octet" anchor="options-octet-diagram"><artwork type="diagram"><![CDATA[
 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|MACct|S| rsvd  |
+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>The first octet of the authentication tag contains the count of MACs included (<spanx style="verb">MACct</spanx>) as well as a flag <spanx style="verb">S</spanx> indicating whether the tag also contains a digital signature. It also contains four reserved bits which MUST be set to 0 by senders and ignored by receivers.</t>

</section>
<section anchor="payload-index" title="Payload Index">

<figure title="Payload Index" anchor="payload-index-diagram"><artwork type="diagram"><![CDATA[
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
|          payload index ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
]]></artwork></figure>

<t>If the payload index cannot be deduced from the application data in this payload, it must be specified explicitly in the authentication tag as an unsigned quantity of a fixed length specified by out-of-band metadata.</t>

<t>Whether explicit or deduced, the payload index uniquely identifies a single ALTA stream payload within a rollover window of size <spanx style="verb">2^N</spanx> for some <spanx style="verb">N</spanx> specified in out-of-band metadata. The payload index MUST start at zero and increment by one for each payload transmitted, with rollover to zero on overflow.</t>

</section>
<section anchor="chained-macs" title="Chained MACs">

<figure title="Example MAC with explicit index" anchor="explicit-index-mac"><artwork type="diagram"><![CDATA[
 0                   1
 0 1 2 3 4 5 6 7 8 9 0 1 ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-
|    offset     | MAC ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-
]]></artwork></figure>

<t>In explicit offset mode, each MAC encoded in the payload comprises an offset from the payload’s index, expressed as a signed octet in two’s complement, followed by a fixed-length MAC. The length and semantics of the MAC are a function of the MAC algorithm, which is specified by out-of-band metadata. The offset space given in the example in <xref target="explicit-index-mac"/> is one octet, ranging from -128 to 127, but may be of any number of whole octets, as specified by out-of-band metadata.</t>

<t>In implicit offset mode, the receiver knows the scheme being employed and so can deduce the indices of the chained MACs from the current payload’s index. Consequently, the MACs are simply concatenated in ascending order of source index according to the scheme.</t>

</section>
</section>
</section>
<section anchor="digital-signature" title="Digital Signature">

<figure title="Digital Signature" anchor="signature"><artwork type="diagram"><![CDATA[
 0 1 2 3 4 5 6 ...
+-+-+-+-+-+-+-+-+-
|  signature ...
+-+-+-+-+-+-+-+-+-
]]></artwork></figure>

<t>If <spanx style="verb">S=1</spanx> in the options octet, then a digital signature is included in the tag. The length and content of this digital signature are a function of the signature algorithm, which is specified by out-of-band metadata.</t>

<section anchor="application-data" title="Application Data">

<t>The application data is opaque, with the exception of the payload index if not specified explicitly in the authentication tag.</t>

</section>
</section>
<section anchor="scheme-construction" title="Scheme Construction">

<t>In the ALTA context, a scheme describes the directed acyclic graph of payload MACs embedded in other payloads for purposes of chained authentication. The recommended scheme is that described in section 3.2 of <xref target="STRAUTH"/>, with <spanx style="verb">a=3</spanx> and <spanx style="verb">p=5</spanx>.</t>

<t>FIXME: Describe how to construct this scheme in pseudocode.</t>

</section>
</section>
<section anchor="alta-configuration" title="ALTA Configuration">

<section anchor="performance-considerations" title="Performance Considerations">

<section anchor="mac-selection" title="MAC selection">

</section>
<section anchor="digital-signature-selection" title="Digital signature selection">

</section>
</section>
<section anchor="out-of-band-metadata" title="Out-of-band Metadata">

</section>
</section>
<section anchor="operational-considerations" title="Operational Considerations">

<t>As ALTA requires an out-of-band channel for provisioning of metadata, including digital signature keys and cryptographic algorithms, versioning of the protocol to support a future ALTA revision may be performed there and acted upon by the application.</t>

</section>
<section anchor="security-considerations" title="Security Considerations">

<section anchor="parsing-an-ill-formed-or-inconsistent-payload" title="Parsing an ill-formed or inconsistent payload">

</section>
<section anchor="index-overflow" title="Index overflow">

</section>
<section anchor="truncated-macs" title="Truncated MACs">

</section>
</section>
<section anchor="iana-considerations" title="IANA Considerations">

<t>This document has no IANA actions.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC8174" target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></author>
<date year='2017' month='May' />
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='8174'/>
<seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>




    </references>

    <references title='Informative References'>





<reference  anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference  anchor="RFC4082" target='https://www.rfc-editor.org/info/rfc4082'>
<front>
<title>Timed Efficient Stream Loss-Tolerant Authentication (TESLA): Multicast Source Authentication Transform Introduction</title>
<author initials='A.' surname='Perrig' fullname='A. Perrig'><organization /></author>
<author initials='D.' surname='Song' fullname='D. Song'><organization /></author>
<author initials='R.' surname='Canetti' fullname='R. Canetti'><organization /></author>
<author initials='J. D.' surname='Tygar' fullname='J. D. Tygar'><organization /></author>
<author initials='B.' surname='Briscoe' fullname='B. Briscoe'><organization /></author>
<date year='2005' month='June' />
<abstract><t>This document introduces Timed Efficient Stream Loss-tolerant Authentication (TESLA).  TESLA allows all receivers to check the integrity and authenticate the source of each packet in multicast or broadcast data streams.  TESLA requires no trust between receivers, uses low-cost operations per packet at both sender and receiver, can tolerate any level of loss without retransmissions, and requires no per-receiver state at the sender.  TESLA can protect receivers against denial of service attacks in certain circumstances.  Each receiver must be loosely time-synchronized with the source in order to verify messages, but otherwise receivers do not have to send any messages.  TESLA alone cannot support non-repudiation of the data source to third parties.</t><t>This informational document is intended to assist in writing standardizable and secure specifications for protocols based on TESLA in different contexts.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='4082'/>
<seriesInfo name='DOI' value='10.17487/RFC4082'/>
</reference>


<reference anchor="timeskew" >
  <front>
    <title>FIXME reference for how bad time sync is</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="STRAUTH" target="https://crypto.stanford.edu/~pgolle/papers/auth.pdf">
  <front>
    <title>Authenticating Streamed Data in the Presence of Random Packet Loss</title>
    <author initials="N." surname="Modadugu" fullname="Nagendra Modadugu">
      <organization></organization>
    </author>
    <date year="2001"/>
  </front>
<annotation>ISOC Network and Distributed System Security Symposium</annotation></reference>


    </references>


<section numbered="false" anchor="acknowledgments" title="Acknowledgments">

<t>The author wishes to acknowledge the contributions of his colleague, Jake Holland, whose work with interdomain multicast live video delivery drove the need for a robust solution to the streaming authentication problem, and Eric Rescorla, who introduced the author to the paper describing the loss-tolerant symmetric authentication scheme used as the basis for ALTA.</t>

</section>


  </back>

<!-- ##markdown-source:
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
OwAA

-->

</rfc>

