draft-ietf-tokbind-negotiation-14.txt   rfc8472.txt 
Internet Engineering Task Force A. Popov, Ed. Internet Engineering Task Force (IETF) A. Popov, Ed.
Internet-Draft M. Nystroem Request for Comments: 8472 M. Nystroem
Intended status: Standards Track Microsoft Corp. Category: Standards Track Microsoft Corp.
Expires: November 24, 2018 D. Balfanz ISSN: 2070-1721 D. Balfanz
A. Langley
Google Inc. Google Inc.
May 23, 2018 October 2018
Transport Layer Security (TLS) Extension for Token Binding Protocol Transport Layer Security (TLS) Extension for
Negotiation Token Binding Protocol Negotiation
draft-ietf-tokbind-negotiation-14
Abstract Abstract
This document specifies a Transport Layer Security (TLS) extension This document specifies a Transport Layer Security (TLS) extension
for the negotiation of Token Binding protocol version and key for the negotiation of Token Binding protocol version and key
parameters. parameters. Negotiation of Token Binding in TLS 1.3 and later
versions is beyond the scope of this document.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
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 This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on November 24, 2018. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc8472.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2
2. Token Binding Negotiation Client Hello Extension . . . . . . 2 2. Token Binding Negotiation ClientHello Extension . . . . . . . 2
3. Token Binding Negotiation Server Hello Extension . . . . . . 4 3. Token Binding Negotiation ServerHello Extension . . . . . . . 3
4. Negotiating Token Binding Protocol Version and Key Parameters 4 4. Negotiating Token Binding Protocol Version and Key Parameters 4
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6
6.1. Downgrade Attacks . . . . . . . . . . . . . . . . . . . . 6 6.1. Downgrade Attacks . . . . . . . . . . . . . . . . . . . . 6
6.2. Triple Handshake Vulnerability in TLS 1.2 and Older TLS 6.2. Triple Handshake Vulnerability in TLS 1.2 and Older TLS
Versions . . . . . . . . . . . . . . . . . . . . . . . . 6 Versions . . . . . . . . . . . . . . . . . . . . . . . . 6
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 7.1. Normative References . . . . . . . . . . . . . . . . . . 7
8.1. Normative References . . . . . . . . . . . . . . . . . . 7 7.2. Informative References . . . . . . . . . . . . . . . . . 7
8.2. Informative References . . . . . . . . . . . . . . . . . 8 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction 1. Introduction
In order to use the Token Binding protocol In order to use the Token Binding protocol [RFC8471], the client and
[I-D.ietf-tokbind-protocol], the client and server need to agree on server need to agree on the Token Binding protocol version and the
the Token Binding protocol version and the parameters (signature parameters (signature algorithm and length) of the Token Binding key.
algorithm, length) of the Token Binding key. This document specifies This document specifies a new TLS [RFC5246] extension to accomplish
a new TLS [RFC5246] extension to accomplish this negotiation without this negotiation without introducing additional network round trips
introducing additional network round-trips in TLS 1.2 and earlier in TLS 1.2 and earlier versions. [TOKENBIND-TLS13] addresses Token
versions. The negotiation of the Token Binding protocol and key Binding in TLS 1.3. The negotiation of the Token Binding protocol
parameters in combination with TLS 1.3 and later versions is beyond and key parameters in combination with TLS 1.3 and later versions is
the scope of this document. beyond the scope of this document. (Note: This document deals with
TLS 1.2 and therefore refers to RFC 5246 (which has been obsoleted by
RFC 8446). [TOKENBIND-TLS13] addresses Token Binding in TLS 1.3).
1.1. Requirements Language 1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in
14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
2. Token Binding Negotiation Client Hello Extension 2. Token Binding Negotiation ClientHello Extension
The client uses the "token_binding" TLS extension to indicate the The client uses the "token_binding" TLS extension to indicate the
highest supported Token Binding protocol version and key parameters. highest supported Token Binding protocol version and key parameters.
enum { enum {
token_binding(24), (65535) token_binding(24), (65535)
} ExtensionType; } ExtensionType;
The "extension_data" field of this extension contains a The "extension_data" field of this extension contains a
"TokenBindingParameters" value. "TokenBindingParameters" value.
struct { struct {
uint8 major; uint8 major;
uint8 minor; uint8 minor;
} TB_ProtocolVersion; } TB_ProtocolVersion;
enum { enum {
rsa2048_pkcs1.5(0), rsa2048_pss(1), ecdsap256(2), (255) rsa2048_pkcs1.5(0), rsa2048_pss(1), ecdsap256(2), (255)
skipping to change at page 3, line 31 skipping to change at page 3, line 26
struct { struct {
TB_ProtocolVersion token_binding_version; TB_ProtocolVersion token_binding_version;
TokenBindingKeyParameters key_parameters_list<1..2^8-1> TokenBindingKeyParameters key_parameters_list<1..2^8-1>
} TokenBindingParameters; } TokenBindingParameters;
"token_binding_version" indicates the version of the Token Binding "token_binding_version" indicates the version of the Token Binding
protocol the client wishes to use during this connection. If the protocol the client wishes to use during this connection. If the
client supports multiple Token Binding protocol versions, it SHOULD client supports multiple Token Binding protocol versions, it SHOULD
indicate the latest supported version (the one with the highest indicate the latest supported version (the one with the highest
TB_ProtocolVersion.major and TB_ProtocolVersion.minor) in TB_ProtocolVersion.major and TB_ProtocolVersion.minor) in
TokenBindingParameters.token_binding_version. E.g. if the client TokenBindingParameters.token_binding_version. For example, if the
supports versions {1, 0} and {0, 13} of the Token Binding protocol, client supports versions {1, 0} and {0, 13} of the Token Binding
it SHOULD indicate version {1, 0}. Please note that the server MAY protocol, it SHOULD indicate version {1, 0}. Please note that the
select any lower protocol version, see Section 3 server MAY select any lower protocol version; see Section 3
"Token Binding Negotiation Server Hello Extension" for more details. ("Token Binding Negotiation ServerHello Extension") for more details.
If the client does not support the Token Binding protocol version If the client does not support the Token Binding protocol version
selected by the server, then the connection proceeds without Token selected by the server, then the connection proceeds without Token
Binding. [I-D.ietf-tokbind-protocol] describes version {1, 0} of the Binding. [RFC8471] describes version {1, 0} of the protocol.
protocol.
Please note that the representation of the Token Binding protocol Please note that the representation of the Token Binding protocol
version using two octets ("major" and "minor") is for human version using two octets ("major" and "minor") is for human
convenience only and carries no protocol significance. convenience only and carries no protocol significance.
RFC EDITOR: PLEASE REMOVE THE FOLLOWING PARAGRAPH: Prototype
implementations of Token Binding drafts can indicate support of a
specific draft version, e.g. {0, 1} or {0, 2}.
"key_parameters_list" contains the list of identifiers of the Token "key_parameters_list" contains the list of identifiers of the Token
Binding key parameters supported by the client, in descending order Binding key parameters supported by the client, in descending order
of preference. [I-D.ietf-tokbind-protocol] establishes an IANA of preference. [RFC8471] establishes an IANA registry for Token
registry for Token Binding key parameter identifiers. Binding key parameters identifiers.
3. Token Binding Negotiation Server Hello Extension 3. Token Binding Negotiation ServerHello Extension
The server uses the "token_binding" TLS extension to indicate support The server uses the "token_binding" TLS extension to indicate support
for the Token Binding protocol and to select the protocol version and for the Token Binding protocol and to select the protocol version and
key parameters. key parameters.
The server that supports Token Binding and receives a client hello The server that supports Token Binding and receives a ClientHello
message containing the "token_binding" extension will include the message containing the "token_binding" extension will include the
"token_binding" extension in the server hello if all of the following "token_binding" extension in the ServerHello if all of the following
conditions are satisfied: conditions are satisfied:
1. The server supports the Token Binding protocol version offered by 1. The server supports the Token Binding protocol version offered by
the client or a lower version. the client, or a lower version.
2. The server finds acceptable Token Binding key parameters on the 2. The server finds acceptable Token Binding key parameters in the
client's list. client's list.
3. The server is also negotiating the Extended Master Secret 3. The server is also negotiating the extended master secret
[RFC7627] and Renegotiation Indication [RFC5746] TLS extensions. [RFC7627] and renegotiation indication [RFC5746] TLS extensions.
This requirement applies when TLS 1.2 or an older TLS version is This requirement applies when TLS 1.2 or an older TLS version is
used (see Section 6 "Security Considerations" below for more used (see Section 6 ("Security Considerations") for more
details). details).
The server will ignore any key parameters that it does not recognize. The server will ignore any key parameters that it does not recognize.
The "extension_data" field of the "token_binding" extension is The "extension_data" field of the "token_binding" extension is
structured the same as described above for the client structured the same as described above for the client
"extension_data". "extension_data".
"token_binding_version" contains the lower of: "token_binding_version" contains the lower of:
o the Token Binding protocol version offered by the client in the o the Token Binding protocol version offered by the client in the
"token_binding" extension and "token_binding" extension, and
o the highest Token Binding protocol version supported by the o the highest Token Binding protocol version supported by the
server. server.
"key_parameters_list" contains exactly one Token Binding key "key_parameters_list" contains exactly one Token Binding key
parameters identifier selected by the server from the client's list. parameters identifier selected by the server from the client's list.
4. Negotiating Token Binding Protocol Version and Key Parameters 4. Negotiating Token Binding Protocol Version and Key Parameters
It is expected that a server will have a list of Token Binding key It is expected that a server will have a list of Token Binding key
parameters identifiers that it supports, in preference order. The parameters identifiers that it supports, in preference order. The
server MUST only select an identifier that the client offered. The server MUST only select an identifier that the client offered. The
server SHOULD select the most highly preferred key parameters server SHOULD select the most highly preferred key parameters
identifier it supports which is also advertised by the client. In identifier it supports, which is also advertised by the client. In
the event that the server supports none of the key parameters that the event that the server supports none of the key parameters that
the client advertises, then the server MUST NOT include the the client advertises, then the server MUST NOT include the
"token_binding" extension in the server hello. "token_binding" extension in the ServerHello.
The client receiving the "token_binding" extension MUST terminate the The client receiving the "token_binding" extension MUST terminate the
handshake with a fatal "unsupported_extension" alert if any of the handshake with a fatal "unsupported_extension" alert if any of the
following conditions are true: following conditions are true:
1. The client did not include the "token_binding" extension in the 1. The client did not include the "token_binding" extension in the
client hello. ClientHello.
2. "token_binding_version" is higher than the Token Binding protocol 2. "token_binding_version" is higher than the Token Binding protocol
version advertised by the client. version advertised by the client.
3. "key_parameters_list" includes more than one Token Binding key 3. "key_parameters_list" includes more than one Token Binding key
parameters identifier. parameters identifier.
4. "key_parameters_list" includes an identifier that was not 4. "key_parameters_list" includes an identifier that was not
advertised by the client. advertised by the client.
5. TLS 1.2 or an older TLS version is used, but the Extended Master 5. TLS 1.2 or an older TLS version is used, but the extended master
Secret [RFC7627] and TLS Renegotiation Indication [RFC5746] secret [RFC7627] and TLS renegotiation indication [RFC5746]
extensions are not negotiated (see Section 6 extensions are not negotiated (see Section 6
"Security Considerations" below for more details). ("Security Considerations") for more details).
If the "token_binding" extension is included in the server hello and If the "token_binding" extension is included in the ServerHello and
the client supports the Token Binding protocol version selected by the client supports the Token Binding protocol version selected by
the server, it means that the version and key parameters have been the server, it means that the version and key parameters have been
negotiated between the client and the server and SHALL be definitive negotiated between the client and the server and SHALL be definitive
for the TLS connection. TLS 1.2 and earlier versions support for the TLS connection. TLS 1.2 and earlier versions support
renegotiation, allowing the client and server to renegotiate the renegotiation, which allows the client and server to renegotiate the
Token Binding protocol version and key parameters on the same Token Binding protocol version and key parameters on the same
connection. The client MUST use the negotiated key parameters in the connection. The client MUST use the negotiated key parameters in the
"provided_token_binding" as described in [I-D.ietf-tokbind-protocol]. "provided_token_binding" as described in [RFC8471].
If the client does not support the Token Binding protocol version If the client does not support the Token Binding protocol version
selected by the server, then the connection proceeds without Token selected by the server, then the connection proceeds without Token
Binding. There is no requirement for the client to support any Token Binding. There is no requirement for the client to support any Token
Binding versions other than the one advertised in the client's Binding versions other than the one advertised in the client's
"token_binding" extension. "token_binding" extension.
Client and server applications can choose to handle failure to Client and server applications can choose to handle failure to
negotiate Token Binding in a variety of ways, e.g.: continue using negotiate Token Binding in a variety of ways: continue using the
the connection as usual, shorten the lifetime of tokens issued during connection as usual, shorten the lifetime of tokens issued during
this connection, require stronger authentication, terminate the this connection, require stronger authentication, terminate the
connection, etc. connection, etc.
The Token Binding protocol version and key parameters are negotiated The Token Binding protocol version and key parameters are negotiated
for each TLS connection, which means that the client and server for each TLS connection, which means that the client and server
include their "token_binding" extensions both in the full TLS include their "token_binding" extensions in both the full TLS
handshake that establishes a new TLS session and in the subsequent handshake that establishes a new TLS session and the subsequent
abbreviated TLS handshakes that resume the TLS session. abbreviated TLS handshakes that resume the TLS session.
5. IANA Considerations 5. IANA Considerations
This document updates the TLS "ExtensionType Values" registry. IANA This document updates the "TLS ExtensionType Values" registry. The
has provided the following temporary registration for the registration for the "token_binding" TLS extension is as follows:
"token_binding" TLS extension:
Value: 24 Value: 24
Extension name: token_binding Extension name: token_binding
Reference: this document
Recommended: Yes Recommended: Yes
IANA is requested to make this registration permanent, keeping the Reference: This document
value of 24, which has been used by the prototype implementations of
the Token Binding protocol.
This document uses "Token Binding Key Parameters" registry originally This document uses the "Token Binding Key Parameters" registry
created in [I-D.ietf-tokbind-protocol]. This document creates no new created by [RFC8471]. This document creates no new registrations in
registrations in this registry. the registry.
6. Security Considerations 6. Security Considerations
6.1. Downgrade Attacks 6.1. Downgrade Attacks
The Token Binding protocol version and key parameters are negotiated The Token Binding protocol version and key parameters are negotiated
via the "token_binding" extension within the TLS handshake. TLS via the "token_binding" extension within the TLS handshake. TLS
detects handshake message modification by active attackers, therefore detects handshake message modification by active attackers;
it is not possible for an attacker to remove or modify the therefore, it is not possible for an attacker to remove or modify the
"token_binding" extension without breaking the TLS handshake. The "token_binding" extension without breaking the TLS handshake. The
signature algorithm and key length used in the Token Binding of type signature algorithm and key length used in the Token Binding of type
"provided_token_binding" MUST match the parameters negotiated via the "provided_token_binding" MUST match the parameters negotiated via the
"token_binding" extension. "token_binding" extension.
6.2. Triple Handshake Vulnerability in TLS 1.2 and Older TLS Versions 6.2. Triple Handshake Vulnerability in TLS 1.2 and Older TLS Versions
The Token Binding protocol relies on the TLS Exporters [RFC5705] to The Token Binding protocol relies on the TLS exporters [RFC5705] to
associate a TLS connection with a Token Binding. The triple associate a TLS connection with a Token Binding. The triple
handshake attack [TRIPLE-HS] is a known vulnerability in TLS 1.2 and handshake attack [TRIPLE-HS] is a known vulnerability in TLS 1.2 and
older TLS versions, allowing an attacker to synchronize keying older TLS versions; it allows an attacker to synchronize keying
material between TLS connections. The attacker can then successfully material between TLS connections. The attacker can then successfully
replay bound tokens. For this reason, the Token Binding protocol replay bound tokens. For this reason, the Token Binding protocol
MUST NOT be negotiated with these TLS versions, unless the Extended MUST NOT be negotiated with these TLS versions, unless the extended
Master Secret [RFC7627] and Renegotiation Indication [RFC5746] TLS master secret [RFC7627] and renegotiation indication [RFC5746] TLS
extensions have also been negotiated. extensions have also been negotiated.
7. Acknowledgements 7. References
This document incorporates comments and suggestions offered by Eric
Rescorla, Gabriel Montenegro, Martin Thomson, Vinod Anupam, Anthony
Nadalin, Michael B. Jones, Bill Cox, Nick Harper, Brian Campbell,
Benjamin Kaduk, Alexey Melnikov and others.
This document was produced under the chairmanship of John Bradley and
Leif Johansson. The area directors included Eric Rescorla, Kathleen
Moriarty and Stephen Farrell.
8. References
8.1. Normative References
[I-D.ietf-tokbind-protocol] 7.1. Normative References
Popov, A., Nystrom, M., Balfanz, D., Langley, A., and J.
Hodges, "The Token Binding Protocol Version 1.0", draft-
ietf-tokbind-protocol-18 (work in progress), May 2018.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, (TLS) Protocol Version 1.2", RFC 5246,
DOI 10.17487/RFC5246, August 2008, DOI 10.17487/RFC5246, August 2008,
<https://www.rfc-editor.org/info/rfc5246>. <https://www.rfc-editor.org/info/rfc5246>.
skipping to change at page 8, line 9 skipping to change at page 7, line 38
[RFC7627] Bhargavan, K., Ed., Delignat-Lavaud, A., Pironti, A., [RFC7627] Bhargavan, K., Ed., Delignat-Lavaud, A., Pironti, A.,
Langley, A., and M. Ray, "Transport Layer Security (TLS) Langley, A., and M. Ray, "Transport Layer Security (TLS)
Session Hash and Extended Master Secret Extension", Session Hash and Extended Master Secret Extension",
RFC 7627, DOI 10.17487/RFC7627, September 2015, RFC 7627, DOI 10.17487/RFC7627, September 2015,
<https://www.rfc-editor.org/info/rfc7627>. <https://www.rfc-editor.org/info/rfc7627>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
8.2. Informative References [RFC8471] Popov, A., Ed., Nystroem, M., Balfanz, D., and J. Hodges,
"The Token Binding Protocol Version 1.0", RFC 8471,
DOI 10.17487/RFC8471, October 2018,
<https://www.rfc-editor.org/info/rfc8471>.
7.2. Informative References
[TOKENBIND-TLS13]
Harper, N., "Token Binding for Transport Layer Security
(TLS) Version 1.3 Connections", Work in Progress,
draft-ietf-tokbind-tls13-01, May 2018.
[TRIPLE-HS] [TRIPLE-HS]
Bhargavan, K., Delignat-Lavaud, A., Fournet, C., Pironti, Bhargavan, K., Delignat-Lavaud, A., Fournet, C., Pironti,
A., and P. Strub, "Triple Handshakes and Cookie Cutters: A., and P. Strub, "Triple Handshakes and Cookie Cutters:
Breaking and Fixing Authentication over TLS. IEEE Breaking and Fixing Authentication over TLS", IEEE
Symposium on Security and Privacy", 2014. Symposium on Security and Privacy, DOI 10.1109/SP.2014.14,
May 2014.
Acknowledgements
This document incorporates comments and suggestions offered by Eric
Rescorla, Gabriel Montenegro, Martin Thomson, Vinod Anupam, Anthony
Nadalin, Michael B. Jones, Bill Cox, Nick Harper, Brian Campbell,
Benjamin Kaduk, Alexey Melnikov, and others.
This document was produced under the chairmanship of John Bradley and
Leif Johansson. The area directors included Eric Rescorla, Kathleen
Moriarty, and Stephen Farrell.
Authors' Addresses Authors' Addresses
Andrei Popov (editor) Andrei Popov (editor)
Microsoft Corp. Microsoft Corp.
USA United States of America
Email: andreipo@microsoft.com Email: andreipo@microsoft.com
Magnus Nystroem Magnus Nystroem
Microsoft Corp. Microsoft Corp.
USA United States of America
Email: mnystrom@microsoft.com Email: mnystrom@microsoft.com
Dirk Balfanz Dirk Balfanz
Google Inc. Google Inc.
USA United States of America
Email: balfanz@google.com Email: balfanz@google.com
Adam Langley
Google Inc.
USA
Email: agl@google.com
 End of changes. 51 change blocks. 
117 lines changed or deleted 110 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/