20170318

The Transport Layer Security (TLS) Protocol Version 1.3

The Transport Layer Security (TLS) Protocol Version 1.3

【外部リンク】
https://tools.ietf.org/html/draft-ietf-tls-tls13-19
Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   4
     1.1.  Conventions and Terminology . . . . . . . . . . . . . . .   5
     1.2.  Major Differences from TLS 1.2  . . . . . . . . . . . . .   6
     1.3.  Updates Affecting TLS 1.2 . . . . . . . . . . . . . . . .  13
   2.  Protocol Overview . . . . . . . . . . . . . . . . . . . . . .  14
     2.1.  Incorrect DHE Share . . . . . . . . . . . . . . . . . . .  17
     2.2.  Resumption and Pre-Shared Key (PSK) . . . . . . . . . . .  18
     2.3.  Zero-RTT Data . . . . . . . . . . . . . . . . . . . . . .  20
   3.  Presentation Language . . . . . . . . . . . . . . . . . . . .  22
     3.1.  Basic Block Size  . . . . . . . . . . . . . . . . . . . .  22
     3.2.  Miscellaneous . . . . . . . . . . . . . . . . . . . . . .  22
     3.3.  Vectors . . . . . . . . . . . . . . . . . . . . . . . . .  23
     3.4.  Numbers . . . . . . . . . . . . . . . . . . . . . . . . .  24
     3.5.  Enumerateds . . . . . . . . . . . . . . . . . . . . . . .  24
     3.6.  Constructed Types . . . . . . . . . . . . . . . . . . . .  25
     3.7.  Constants . . . . . . . . . . . . . . . . . . . . . . . .  25
     3.8.  Variants  . . . . . . . . . . . . . . . . . . . . . . . .  25
     3.9.  Decoding Errors . . . . . . . . . . . . . . . . . . . . .  26
   4.  Handshake Protocol  . . . . . . . . . . . . . . . . . . . . .  27
     4.1.  Key Exchange Messages . . . . . . . . . . . . . . . . . .  28
       4.1.1.  Cryptographic Negotiation . . . . . . . . . . . . . .  28
       4.1.2.  Client Hello  . . . . . . . . . . . . . . . . . . . .  29
       4.1.3.  Server Hello  . . . . . . . . . . . . . . . . . . . .  32
       4.1.4.  Hello Retry Request . . . . . . . . . . . . . . . . .  34
     4.2.  Extensions  . . . . . . . . . . . . . . . . . . . . . . .  35
       4.2.1.  Supported Versions  . . . . . . . . . . . . . . . . .  38
       4.2.2.  Cookie  . . . . . . . . . . . . . . . . . . . . . . .  39
       4.2.3.  Signature Algorithms  . . . . . . . . . . . . . . . .  39
       4.2.4.  Negotiated Groups . . . . . . . . . . . . . . . . . .  42
       4.2.5.  Key Share . . . . . . . . . . . . . . . . . . . . . .  44



Rescorla               Expires September 11, 2017               [Page 2]

Internet-Draft                     TLS                        March 2017


       4.2.6.  Pre-Shared Key Exchange Modes . . . . . . . . . . . .  47
       4.2.7.  Early Data Indication . . . . . . . . . . . . . . . .  47
       4.2.8.  Pre-Shared Key Extension  . . . . . . . . . . . . . .  50
     4.3.  Server Parameters . . . . . . . . . . . . . . . . . . . .  54
       4.3.1.  Encrypted Extensions  . . . . . . . . . . . . . . . .  54
       4.3.2.  Certificate Request . . . . . . . . . . . . . . . . .  54
     4.4.  Authentication Messages . . . . . . . . . . . . . . . . .  56
       4.4.1.  The Transcript Hash . . . . . . . . . . . . . . . . .  57
       4.4.2.  Certificate . . . . . . . . . . . . . . . . . . . . .  58
       4.4.3.  Certificate Verify  . . . . . . . . . . . . . . . . .  62
       4.4.4.  Finished  . . . . . . . . . . . . . . . . . . . . . .  64
     4.5.  End of Early Data . . . . . . . . . . . . . . . . . . . .  65
     4.6.  Post-Handshake Messages . . . . . . . . . . . . . . . . .  66
       4.6.1.  New Session Ticket Message  . . . . . . . . . . . . .  66
       4.6.2.  Post-Handshake Authentication . . . . . . . . . . . .  67
       4.6.3.  Key and IV Update . . . . . . . . . . . . . . . . . .  68
   5.  Record Protocol . . . . . . . . . . . . . . . . . . . . . . .  69
     5.1.  Record Layer  . . . . . . . . . . . . . . . . . . . . . .  69
     5.2.  Record Payload Protection . . . . . . . . . . . . . . . .  71
     5.3.  Per-Record Nonce  . . . . . . . . . . . . . . . . . . . .  73
     5.4.  Record Padding  . . . . . . . . . . . . . . . . . . . . .  74
     5.5.  Limits on Key Usage . . . . . . . . . . . . . . . . . . .  75
   6.  Alert Protocol  . . . . . . . . . . . . . . . . . . . . . . .  75
     6.1.  Closure Alerts  . . . . . . . . . . . . . . . . . . . . .  76
     6.2.  Error Alerts  . . . . . . . . . . . . . . . . . . . . . .  77
   7.  Cryptographic Computations  . . . . . . . . . . . . . . . . .  80
     7.1.  Key Schedule  . . . . . . . . . . . . . . . . . . . . . .  80
     7.2.  Updating Traffic Keys and IVs . . . . . . . . . . . . . .  83
     7.3.  Traffic Key Calculation . . . . . . . . . . . . . . . . .  84
     7.4.  (EC)DHE Shared Secret Calculation . . . . . . . . . . . .  84
       7.4.1.  Finite Field Diffie-Hellman . . . . . . . . . . . . .  84
       7.4.2.  Elliptic Curve Diffie-Hellman . . . . . . . . . . . .  85
     7.5.  Exporters . . . . . . . . . . . . . . . . . . . . . . . .  85
   8.  Compliance Requirements . . . . . . . . . . . . . . . . . . .  86
     8.1.  Mandatory-to-Implement Cipher Suites  . . . . . . . . . .  86
     8.2.  Mandatory-to-Implement Extensions . . . . . . . . . . . .  86
   9.  Security Considerations . . . . . . . . . . . . . . . . . . .  88
   10. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  88
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .  89
     11.1.  Normative References . . . . . . . . . . . . . . . . . .  89
     11.2.  Informative References . . . . . . . . . . . . . . . . .  91
   Appendix A.  State Machine  . . . . . . . . . . . . . . . . . . .  98
     A.1.  Client  . . . . . . . . . . . . . . . . . . . . . . . . .  98
     A.2.  Server  . . . . . . . . . . . . . . . . . . . . . . . . .  98
   Appendix B.  Protocol Data Structures and Constant Values . . . .  99
     B.1.  Record Layer  . . . . . . . . . . . . . . . . . . . . . .  99
     B.2.  Alert Messages  . . . . . . . . . . . . . . . . . . . . . 100
     B.3.  Handshake Protocol  . . . . . . . . . . . . . . . . . . . 102



Rescorla               Expires September 11, 2017               [Page 3]

Internet-Draft                     TLS                        March 2017


       B.3.1.  Key Exchange Messages . . . . . . . . . . . . . . . . 102
       B.3.2.  Server Parameters Messages  . . . . . . . . . . . . . 107
       B.3.3.  Authentication Messages . . . . . . . . . . . . . . . 108
       B.3.4.  Ticket Establishment  . . . . . . . . . . . . . . . . 109
       B.3.5.  Updating Keys . . . . . . . . . . . . . . . . . . . . 109
     B.4.  Cipher Suites . . . . . . . . . . . . . . . . . . . . . . 109
   Appendix C.  Implementation Notes . . . . . . . . . . . . . . . . 110
     C.1.  API considerations for 0-RTT  . . . . . . . . . . . . . . 110
     C.2.  Random Number Generation and Seeding  . . . . . . . . . . 111
     C.3.  Certificates and Authentication . . . . . . . . . . . . . 111
     C.4.  Implementation Pitfalls . . . . . . . . . . . . . . . . . 111
     C.5.  Client Tracking Prevention  . . . . . . . . . . . . . . . 113
     C.6.  Unauthenticated Operation . . . . . . . . . . . . . . . . 113
   Appendix D.  Backward Compatibility . . . . . . . . . . . . . . . 113
     D.1.  Negotiating with an older server  . . . . . . . . . . . . 114
     D.2.  Negotiating with an older client  . . . . . . . . . . . . 115
     D.3.  Zero-RTT backwards compatibility  . . . . . . . . . . . . 115
     D.4.  Backwards Compatibility Security Restrictions . . . . . . 116
   Appendix E.  Overview of Security Properties  . . . . . . . . . . 116
     E.1.  Handshake . . . . . . . . . . . . . . . . . . . . . . . . 117
     E.2.  Record Layer  . . . . . . . . . . . . . . . . . . . . . . 120
   Appendix F.  Working Group Information  . . . . . . . . . . . . . 121
   Appendix G.  Contributors . . . . . . . . . . . . . . . . . . . . 122
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . 127
--

注目の投稿

cURL error 60: SSL certificate problem: unable to get local issuer certificate

cURL error 60: SSL certificate problem: unable to get local issuer certificate 更新失敗: ダウンロードに失敗しました。 cURL error 60: SSL certificate problem: ...

人気の投稿