4 TLS Working Group T. Otto
5 Internet-Draft April 27, 2007
6 Intended status: Standards Track
7 Expires: October 29, 2007
10 A Privacy-enhancing TLS ciphersuite
11 draft-otto-tls-sigma-ciphersuite-00.txt
15 By submitting this Internet-Draft, each author represents that any
16 applicable patent or other IPR claims of which he or she is aware
17 have been or will be disclosed, and any of which he or she becomes
18 aware will be disclosed, in accordance with Section 6 of BCP 79.
20 Internet-Drafts are working documents of the Internet Engineering
21 Task Force (IETF), its areas, and its working groups. Note that
22 other groups may also distribute working documents as Internet-
25 Internet-Drafts are draft documents valid for a maximum of six months
26 and may be updated, replaced, or obsoleted by other documents at any
27 time. It is inappropriate to use Internet-Drafts as reference
28 material or to cite them other than as "work in progress."
30 The list of current Internet-Drafts can be accessed at
31 http://www.ietf.org/ietf/1id-abstracts.txt.
33 The list of Internet-Draft Shadow Directories can be accessed at
34 http://www.ietf.org/shadow.html.
36 This Internet-Draft will expire on October 29, 2007.
40 Copyright (C) The IETF Trust (2007).
55 Otto Expires October 29, 2007 [Page 1]
57 Internet-Draft A Privacy-enhancing TLS ciphersuite April 2007
62 This document describes a TLS ciphersuite which is based on the SIGMA
63 protocol. By its careful adoption in the TLS handshake protocol, the
64 proposed ciphersuite is able to inherit features of the SIGMA
65 protocol. The ciphersuite provides active identity protection,
66 forward secrecy, deniability and adjustable security strength. A
67 similar ciphersuite offering these features has not yet been proposed
73 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
74 1.1. TLS and its handshake protocol . . . . . . . . . . . . . . 4
75 1.2. The SIGMA protocol . . . . . . . . . . . . . . . . . . . . 5
76 1.3. Requirements notation . . . . . . . . . . . . . . . . . . 6
77 1.4. Terminology . . . . . . . . . . . . . . . . . . . . . . . 6
78 2. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 8
79 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
80 4. Security Considerations . . . . . . . . . . . . . . . . . . . 11
81 5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12
82 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13
83 6.1. Normative References . . . . . . . . . . . . . . . . . . . 13
84 6.2. Informative References . . . . . . . . . . . . . . . . . . 13
85 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 14
86 Intellectual Property and Copyright Statements . . . . . . . . . . 15
111 Otto Expires October 29, 2007 [Page 2]
113 Internet-Draft A Privacy-enhancing TLS ciphersuite April 2007
118 This document specifies such a new ciphersuite, which encapsulates
119 the SIGMA protocol [SIGMA] into the TLS handshake messages and
120 therefore inherits its valueable features. Further information about
121 SIGMA can be found on the author's website, which is
122 http://www.ee.technion.ac.il/~hugo/sigma.html
124 In the remainder of this document, we use the term TLS-SIGMA for our
131 This is achieved by the authenticated Diffie-Hellman key exchange
132 which is the cryptographic core of the SIGMA protocol.
136 The cryptographic strength is determined by the choice of the
137 Diffie-Hellman group. We call this feature adjustable security
140 Active Identity Protection:
142 The Identity of the Client is protected against active attacks.
143 This is achieved because the server autenticates prior to the
144 client. Only if the client could identity the server properly, he
149 In contrast to many other ciphersuites, the conversation between
150 client and server is deniable, in the sense, that by carrying out
151 the TLS-SIGMA handshake, there exists no proof for the server
152 having talked to the client, at least none which can withstand at
153 a court, and vice versa.
156 One might argue that there already exist numerous TLS ciphersuites
157 with a DH key exchange, for example TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
158 and ask where the particular advantages of this ciphersuite are.
160 The crucial point is that with RSA as key exchange mechanism and the
161 mutual authentication case, the client computes in CertificateVerify
162 a signature over all handshake messages (see Section 7.4.8 of
167 Otto Expires October 29, 2007 [Page 3]
169 Internet-Draft A Privacy-enhancing TLS ciphersuite April 2007
172 CertificateVerify = SIG(Client; g^x, g^y, CertServer, CertClient)
174 and thus provides an undeniable proof that the conversation has taken
177 1.1. TLS and its handshake protocol
179 TLS has its origin in the SSL protocol developed by Netscape
180 Communications in early 1990s. In the meantime, it became the major
181 protocol to establish a cryptographially protected context between
182 two communicating parties.
184 One of the most valuable features of TLS is its flexibility in that
185 initially, both sides agree on a set of cryptographic algorithms, a
186 so-called ciphersuite. Such a ciphersuite comprises an algorithm for
187 authentiation and key exchange, a stream or block cipher for bulk
188 encryption and finally, an algorithm for hashing.
190 While SSL realized this flexibility by a complicated negotiation, TLS
191 has facilitated the procedure, in that the client sends the server
192 all his supported ciphersuites, whereafter the server selects one of
193 them according to his policy or aborts the protocol, if none suitable
196 TLS is designed having addition of further ciphersuites in mind.
198 The TLS handshake protocol's main intention is to
200 o negotiate certain session parameters,
202 o authenticate the server to the client, and optionally, the client
205 o establish a shared cryptographic secret.
207 If the handshake has finished successfully, a cryptographically
208 protected channel is established between the two parties, which can
209 be used to exchange securely further data. The message flow of the
210 TLS handshake protocol is shown the following figure.
223 Otto Expires October 29, 2007 [Page 4]
225 Internet-Draft A Privacy-enhancing TLS ciphersuite April 2007
231 (1) ClientHello -------->
236 <-------- ServerHelloDone
247 Figure 1: TLS handshake
249 1.2. The SIGMA protocol
251 SIGMA is a family of cryptographic key-exchange protocols that
252 provide perfect forward secrecy via a Diffie-Hellman exchange
253 authenticated with digital signatures. It has been proposed already
254 in 1995. It has gained many popularity by building the cryptographic
255 basis for the signature-based modes of IKE and IKEv2.
257 The protocol has very valuable features which motivated us to
258 incorporate it into TLS.
260 The SIGMA specification offers two subprotocols, SIGMA-I and SIGMA-R,
261 where I and R stand for Intiator and Responder. SIGMA-I is a three-
262 message protocol and provides active identity protection for the
263 initiator, while SIGMA-R consists of four messages and provides
264 active identity protection for the responder. Obviously, only the
265 SIGMA-I seems to be suitable to be built-in in TLS, so that we
266 restricts on it in the following.
268 Figure Figure 2 depicts the message flow of SIGMA-I.
279 Otto Expires October 29, 2007 [Page 5]
281 Internet-Draft A Privacy-enhancing TLS ciphersuite April 2007
286 |--------------------------------------------------------->|
288 | g^y, ENC (Ke; B, SIG(B; g^x,g^y), MAC(Km; B) ) |
289 |<---------------------------------------------------------|
291 | ENC (Ke; A, SIG(A; g^y,g^x), MAC(Km; A) ) |
292 |--------------------------------------------------------->|
296 The SIGMA specification allows to replace the peer's exponential by a
297 nonce, but we omit this modification. The protocol derives Ke, Km
298 and a session key Ks from the Diffie-Hellman shared key, but they
299 have to be computationally independent. On page 20 of [SIGMA] the
300 refinement to add some sense of direction to the MAC, i.e. we replace
301 MAC(Km;A) MAC(Km; "0",A) and MAC(Km;B) by MAC(Km; "1",B).
303 Finally, we replace (according to the rationale on page 21 of
304 [SIGMA]) the pair (SIG(B; g^x,g^y), MAC(Km; B)) by SIG(B; MAC(Km;
305 g^x,g^y,B))) and vice versa for the pair (SIG(A; g^y,g^x), MAC(Km;
308 The terminology does not deviate too much from existing work. The
309 semantic is as follows. ENC(K;X) stands for encryption of X with key
310 K. g^x and g^y are Diffie-Hellman keys. SIG(A;X) stands for A's
311 signature on the content X. MAC (K;X) stands for computing a MAC over
314 Ke and Km are derived from the Diffie-Hellman shared secret g^(xy)
315 through a PRF, while they must be cryptographically independent.
317 1.3. Requirements notation
319 In this document, several words are used to signify the requirements
320 of the specification. The key words "MUST", "MUST NOT", "REQUIRED",
321 "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
322 and "OPTIONAL" in this document are to be interpreted as described in
327 This document frequently uses the following terms:
335 Otto Expires October 29, 2007 [Page 6]
337 Internet-Draft A Privacy-enhancing TLS ciphersuite April 2007
342 One side of the connection.
346 The other side of the connection.
391 Otto Expires October 29, 2007 [Page 7]
393 Internet-Draft A Privacy-enhancing TLS ciphersuite April 2007
398 This section describes how SIGMA-I is built in the TLS handshake
399 protocol. Specifying a new ciphersuite means to re-define the
400 semantic or content of existing handshake messages or to add
401 extensions to the initial Hello exchange.
403 SIGMA-I fits perfectly in the message flow, if the client takes the
404 role of the initiator, and the server of the responder.
406 First, the client sends in an extension of the TLS ClientHello his
407 Diffie-Hellman public key g^x to the server, together with the DH
408 group he desires. Possible choices are the prime groups defined in
409 IKEv2 [RFC4306] or in [RFC3546]. Table Figure 3 summarizes the
412 +--------------------+------+-------------+
413 | DH group specifier | bits | defined in |
414 +--------------------+------+-------------+
415 | 0x0001 | 768 | RFC 4306 |
416 +--------------------+------+-------------+
417 | 0x0002 | 1024 | RFC 4306 |
418 +--------------------+------+-------------+
419 | 0x0003 | 1536 | RFC 3546 |
420 +--------------------+------+-------------+
421 | 0x0004 | 2048 | RFC 3546 |
422 +--------------------+------+-------------+
423 | 0x0005 | 3072 | RFC 3546 |
424 +--------------------+------+-------------+
425 | 0x0006 | 4096 | RFC 3546 |
426 +--------------------+------+-------------+
430 The server then verifies whether the selected / proposed DH group is
431 accceptable. If no, the TLS handshake fails and the server sends a
432 corresponding message to the client. Otherwise, the server selects a
433 private key y, computes g^y and sends this parameter in an extension
434 of the ServerHello back. The Certificate message contains the
435 server's certificate (which corresponds to the identity B in the
436 SIGMA-I message flow), ServerkeyExchange contains the encrypted
437 signature and hash according to message 2 in Figure X.
439 Both sides are now able to compute the premaster secret. The server
440 computes SK = (g^x)^y, the client computes SK = (g^y)^x. The master
441 secret and keyblock are derived as specified in TLS v1.0.
443 The client sends now in the Certificate message his certificate
447 Otto Expires October 29, 2007 [Page 8]
449 Internet-Draft A Privacy-enhancing TLS ciphersuite April 2007
452 (which corresponds to the identity A in the SIGMA-I message flow),
453 and in ClientKeyExchange the encrypted signature and MAC, according
454 to message 3 in Figure Figure 2. The CertificateVerify message is
455 not sent. For RSA ciphersuites, this message would contain a
456 signature over all previously exchanged handshake messages. Applying
457 this signature would destroy SIGMA's properties.
459 According to the rationale above, we show the message flow for TLS-
463 Client (A) Server (B)
466 (1) ClientHello (g^x) -------->
471 ENC(Ke; SIG(B; MAC(Km; g^x,g^y,B)))
473 <-------- ServerHelloDone
476 ENC(Ke; SIG( A; MAC(Km; g^y,g^x,A)))
485 Figure 4: TLS-SIGMA ciphersuite
503 Otto Expires October 29, 2007 [Page 9]
505 Internet-Draft A Privacy-enhancing TLS ciphersuite April 2007
508 3. IANA Considerations
559 Otto Expires October 29, 2007 [Page 10]
561 Internet-Draft A Privacy-enhancing TLS ciphersuite April 2007
564 4. Security Considerations
615 Otto Expires October 29, 2007 [Page 11]
617 Internet-Draft A Privacy-enhancing TLS ciphersuite April 2007
671 Otto Expires October 29, 2007 [Page 12]
673 Internet-Draft A Privacy-enhancing TLS ciphersuite April 2007
678 6.1. Normative References
680 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
681 Requirement Levels", BCP 14, RFC 2119, March 1997.
683 [RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H.
684 Levkowetz, "Extensible Authentication Protocol (EAP)",
687 6.2. Informative References
689 [RFC2246] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0",
690 RFC 2246, January 1999.
692 [RFC2407] Piper, D., "The Internet IP Security Domain of
693 Interpretation for ISAKMP", RFC 2407, November 1998.
695 [RFC2408] Maughan, D., Schneider, M., and M. Schertler, "Internet
696 Security Association and Key Management Protocol
697 (ISAKMP)", RFC 2408, November 1998.
699 [RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange
700 (IKE)", RFC 2409, November 1998.
702 [RFC3526] Kivinen, T. and M. Kojo, "More Modular Exponential (MODP)
703 Diffie-Hellman groups for Internet Key Exchange (IKE)",
706 [RFC3546] Blake-Wilson, S., Nystrom, M., Hopwood, D., Mikkelsen, J.,
707 and T. Wright, "Transport Layer Security (TLS)
708 Extensions", RFC 3546, June 2003.
710 [RFC4306] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol",
711 RFC 4306, December 2005.
713 [SIGMA] Hugo Krawczyk, "SIGMA: the 'SIGn-and-MAc' Approach to
714 Authenticated Diffie-Hellman and its Use in the IKE
715 Protocols", Springer LNCS Advances in Cryptography -
716 CRYPTO 2003 Proceedings, LNCS 2729, 2003.
719 Mario Di Raimondo, Rosario Gennaro, Hugo Krawczyk,
720 "Deniable Authentication and Key Exchange.", CCS 06
721 (Conference on Computer and Communications Security) URL:
727 Otto Expires October 29, 2007 [Page 13]
729 Internet-Draft A Privacy-enhancing TLS ciphersuite April 2007
737 Email: t.otto@tu-bs.de
783 Otto Expires October 29, 2007 [Page 14]
785 Internet-Draft A Privacy-enhancing TLS ciphersuite April 2007
788 Full Copyright Statement
790 Copyright (C) The IETF Trust (2007).
792 This document is subject to the rights, licenses and restrictions
793 contained in BCP 78, and except as set forth therein, the authors
794 retain all their rights.
796 This document and the information contained herein are provided on an
797 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
798 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
799 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
800 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
801 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
802 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
805 Intellectual Property
807 The IETF takes no position regarding the validity or scope of any
808 Intellectual Property Rights or other rights that might be claimed to
809 pertain to the implementation or use of the technology described in
810 this document or the extent to which any license under such rights
811 might or might not be available; nor does it represent that it has
812 made any independent effort to identify any such rights. Information
813 on the procedures with respect to rights in RFC documents can be
814 found in BCP 78 and BCP 79.
816 Copies of IPR disclosures made to the IETF Secretariat and any
817 assurances of licenses to be made available, or the result of an
818 attempt made to obtain a general license or permission for the use of
819 such proprietary rights by implementers or users of this
820 specification can be obtained from the IETF on-line IPR repository at
821 http://www.ietf.org/ipr.
823 The IETF invites any interested party to bring to its attention any
824 copyrights, patents or patent applications, or other proprietary
825 rights that may cover technology that may be required to implement
826 this standard. Please address the information to the IETF at
832 Funding for the RFC Editor function is provided by the IETF
833 Administrative Support Activity (IASA).
839 Otto Expires October 29, 2007 [Page 15]