draft-ietf-tcpinc-tcpcrypt-14.txt   draft-ietf-tcpinc-tcpcrypt-15.txt 
Network Working Group A. Bittau Network Working Group A. Bittau
Internet-Draft Google Internet-Draft Google
Intended status: Experimental D. Giffin Intended status: Experimental D. Giffin
Expires: May 8, 2019 Stanford University Expires: June 14, 2019 Stanford University
M. Handley M. Handley
University College London University College London
D. Mazieres D. Mazieres
Stanford University Stanford University
Q. Slack Q. Slack
Sourcegraph Sourcegraph
E. Smith E. Smith
Kestrel Institute Kestrel Institute
November 4, 2018 December 11, 2018
Cryptographic protection of TCP Streams (tcpcrypt) Cryptographic protection of TCP Streams (tcpcrypt)
draft-ietf-tcpinc-tcpcrypt-14 draft-ietf-tcpinc-tcpcrypt-15
Abstract Abstract
This document specifies tcpcrypt, a TCP encryption protocol designed This document specifies tcpcrypt, a TCP encryption protocol designed
for use in conjunction with the TCP Encryption Negotiation Option for use in conjunction with the TCP Encryption Negotiation Option
(TCP-ENO). Tcpcrypt coexists with middleboxes by tolerating (TCP-ENO). Tcpcrypt coexists with middleboxes by tolerating
resegmentation, NATs, and other manipulations of the TCP header. The resegmentation, NATs, and other manipulations of the TCP header. The
protocol is self-contained and specifically tailored to TCP protocol is self-contained and specifically tailored to TCP
implementations, which often reside in kernels or other environments implementations, which often reside in kernels or other environments
in which large external software dependencies can be undesirable. in which large external software dependencies can be undesirable.
skipping to change at page 2, line 4 skipping to change at page 2, line 4
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 8, 2019. This Internet-Draft will expire on June 14, 2019.
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
skipping to change at page 22, line 15 skipping to change at page 22, line 15
byte 0 1 2 L - 1 byte 0 1 2 L - 1
+-------+-------+-------+---...---+-------+ +-------+-------+-------+---...---+-------+
| pubkey_len | pubkey | | pubkey_len | pubkey |
| = L | | | = L | |
+-------+-------+-------+---...---+-------+ +-------+-------+-------+---...---+-------+
Implementations MUST encode these "pubkey" values in "compressed Implementations MUST encode these "pubkey" values in "compressed
format". Implementations MUST validate these "pubkey" values format". Implementations MUST validate these "pubkey" values
according to the algorithm in [IEEE-1363] Section A.16.10. according to the algorithm in [IEEE-1363] Section A.16.10.
Key-agreement schemes ECDHE-Curve25519 and ECDHE-Curve448 use the Key-agreement schemes ECDHE-Curve25519 and ECDHE-Curve448 perform the
functions X25519 and X448, respectively, to perform the Diffie-Helman Diffie-Helman protocol using the functions X25519 and X448,
protocol as described in [RFC7748]. Implementations MUST check respectively. Implementations SHOULD compute these functions using
whether the computed Diffie-Hellman shared secret is the all-zero the algorithms described in [RFC7748]. When they do so,
value and abort if so, as described in Section 6 of [RFC7748]. When implementations MUST check whether the computed Diffie-Hellman shared
using these ciphers, public-key values "Pub_A" and "Pub_B" are secret is the all-zero value and abort if so, as described in
transmitted directly with no length prefix: 32 bytes for Curve25519, Section 6 of [RFC7748]. Alternative implementations of these
and 56 bytes for Curve448. functions SHOULD abort when either input forces the shared secret to
one of a small set of values, as discussed in Section 7 of [RFC7748].
For these schemes, public-key values "Pub_A" and "Pub_B" are
transmitted directly with no length prefix: 32 bytes for ECDHE-
Curve25519, and 56 bytes for ECDHE-Curve448.
Table 2 below specifies the requirement levels of the four TEPs Table 2 below specifies the requirement levels of the four TEPs
specified in this document. In particular, all implementations of specified in this document. In particular, all implementations of
tcpcrypt MUST support TCPCRYPT_ECDHE_Curve25519. However, system tcpcrypt MUST support TCPCRYPT_ECDHE_Curve25519. However, system
administrators MAY configure which TEPs a host will negotiate administrators MAY configure which TEPs a host will negotiate
independent of these implementation requirements. independent of these implementation requirements.
+-------------+---------------------------+ +-------------+---------------------------+
| Requirement | TEP | | Requirement | TEP |
+-------------+---------------------------+ +-------------+---------------------------+
 End of changes. 5 change blocks. 
12 lines changed or deleted 17 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/