Token Binding Working Group                                   G. Mandyam
Internet-Draft                                              L. Lundblade
Intended status: Standards Track                                 J. Azen
Expires: September 20, 2018                   Qualcomm Technologies Inc.
                                                          March 19, 2018

                       Attested TLS Token Binding


   Token binding allows HTTP servers to bind bearer tokens to TLS
   connections.  In order to do this, clients or user agents must prove
   possession of a private key.  However, proof-of-possession of a
   private key becomes truly meaningful to a server when accompanied by
   an attestation statement.  This specification describes extensions to
   the existing token binding protocol to allow for attestation
   statements to be sent along with the related token binding messages.

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

   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 September 20, 2018.

Copyright Notice

   Copyright (c) 2018 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
   ( 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

Mandyam, et al.        Expires September 20, 2018               [Page 1]

Internet-Draft                TokBindAttest                   March 2018

   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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Attestation Enhancement to TLS Token Binding Message  . . . .   3
   3.  Example - Platform Attestation for Anomaly Detection  . . . .   3
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
   5.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     5.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
     5.2.  Informative References  . . . . . . . . . . . . . . . . .   4
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   5

1.  Introduction

   [I-D.ietf-tokbind-protocol] and [I-D.ietf-tokbind-negotiation]
   describe a framework whereby servers can leverage cryptographically-
   bound authentication tokens to verify TLS connections.  This is
   useful for prevention of man-in-the-middle attacks on TLS sessions,
   and provides a mechanism by which identity federation systems can be
   leveraged by a relying party to verify a client based on proof-of-
   possession of a private key.

   Once the use of token binding is negotiated as part of the TLS
   handshake, an application layer message (the Token Binding message)
   may be sent from the client to the relying party whose primary
   purpose is to encapsulate a signature over a value associated with
   the current TLS session (Exported Key Material, i.e. EKM - see

   Proof-of-possession of a private key is useful to a relying party,
   but the associated signature in the Token Binding message does not
   provide an indication as to how the private key is stored and in what
   kind of environment the associated cryptographic operation takes
   place.  This information may be required by a relying party in order
   to satisfy requirements regarding client platform integrity.
   Therefore, attestations are sometimes required by relying parties in
   order for them to accept signatures from clients.  As per the
   definition in [I-D.birkholz-tuda], "remote attestation describes the
   attempt to determine the integrity and trustworthiness of an endpoint
   -- the attestee -- over a network to another endpoint -- the verifier
   -- without direct access."  Attestation statements are therefore
   widely used in any server verification operation that leverages
   client cryptography.

Mandyam, et al.        Expires September 20, 2018               [Page 2]

Internet-Draft                TokBindAttest                   March 2018

   TLS token binding can therefore be enhanced with remote attestation
   statements.  The attestation statement can be used to augment Token
   Binding message.  This could be used by a relying party for several
   different purpose, including (1) to determine whether to accept token
   binding messages from the associated client, or (2) require an
   additional mechanism for binding the TLS connection to an
   authentication operation by the client.

2.  Attestation Enhancement to TLS Token Binding Message

   The attestation statement can be processed 'in-band' as part of the
   Token Binding Message itself.  This document leverages the
   TokenBinding.extensions field of the Token Binding Message as
   described in Section 3.4 of [I-D.ietf-tokbind-protocol], where the
   extension data conforms to the guidelines of Section 6.3 of the same
   document.  The extension data takes the form of a CBOR (compact
   binary object representation) Data Definition Language construct,
   i.e. CDDL.

             extension_data = {attestation}
             attestation = (
               attestation_type:  tstr,
               attestation_data:  bstr,

   The attestation data is determined according to the attestation type.
   In this document, the following types are defined: "packed" (where
   the corresponding attestation data defined in [Webauthn]) and "TPM"
   (where the corresponding attestation data defined in [TPM]).
   Additional attestation types may be accepted by the token binding

3.  Example - Platform Attestation for Anomaly Detection

   An example of where a platform-based attestation is useful can be for
   remote attestation based on client traffic anomaly detection.  Many
   network infrastructure deployments employ network traffic monitors
   for anomalous pattern detection.  Examples of anomalous patterns
   detectable in the TLS handshake could be unexpected cipher suite
   negotiation for a given source/destination pairing.  In this case, it
   may be desirable for a client-enhanced attestation reflecting for
   instance that an expected offered cipher suite in the client hello
   message is present or the originating browser integrity is intact
   (e.g. through a hash over the browser application package).  If the
   network traffic monitor can interpret the atttestation included in

Mandyam, et al.        Expires September 20, 2018               [Page 3]

Internet-Draft                TokBindAttest                   March 2018

   the token binding message, then it can verify the attestation and
   potentially emit alerts based on an unexpected attestation.

4.  IANA Considerations

   This memo includes no request to IANA.

5.  References

5.1.  Normative References

              Birkholz, H., Vigano, C., and C. Bormann, "Concise data
              definition language (CDDL): a notational convention to
              express CBOR data structures", draft-greevenbosch-appsawg-
              cbor-cddl-11 (work in progress), July 2017.

              Popov, A., Nystrom, M., Balfanz, D., Langley, A., Harper,
              N., and J. Hodges, "Token Binding over HTTP", draft-ietf-
              tokbind-https-12 (work in progress), January 2018.

              Popov, A., Nystrom, M., Balfanz, D., and A. Langley,
              "Transport Layer Security (TLS) Extension for Token
              Binding Protocol Negotiation", draft-ietf-tokbind-
              negotiation-10 (work in progress), October 2017.

              Popov, A., Nystrom, M., Balfanz, D., Langley, A., and J.
              Hodges, "The Token Binding Protocol Version 1.0", draft-
              ietf-tokbind-protocol-16 (work in progress), October 2017.

   [TPM]      The Trusted Computing Group, "Trusted Platform Module
              Library, Part 1: Architecture", October 2014.

              The Worldwide Web Consortium, "Web Authentication: An API
              for accessing Scoped Credentials",

5.2.  Informative References

              Fuchs, A., Birkholz, H., McDonald, I., and C. Bormann,
              "Time-Based Uni-Directional Attestation", draft-birkholz-
              tuda-02 (work in progress), July 2016.

Mandyam, et al.        Expires September 20, 2018               [Page 4]

Internet-Draft                TokBindAttest                   March 2018

Authors' Addresses

   Giridhar Mandyam
   Qualcomm Technologies Inc.
   5775 Morehouse Drive
   San Diego, California  92121

   Phone: +1 858 651 7200

   Laurence Lundblade
   Qualcomm Technologies Inc.
   5775 Morehouse Drive
   San Diego, California  92121

   Phone: +1 858 658 3584

   Jon Azen
   Qualcomm Technologies Inc.
   5775 Morehouse Drive
   San Diego, California  92121

   Phone: +1 858 651 9476

Mandyam, et al.        Expires September 20, 2018               [Page 5]