1. 引言 (Introduction)
本文档描述了为支持 ECC 而对 TLS 增加的内容, 适用于 TLS 1.0 [RFC2246]、TLS 1.1 [RFC4346] 和 TLS 1.2 [RFC5246]. TLS 1.3 中 ECC 的使用在 [TLS1.3] 中定义, 并且明确不属于本文档范围. 具体而言, 本文档定义:
-
使用带临时密钥的 ECDHE key agreement scheme 来建立 TLS premaster secret, 以及
-
使用 ECDSA 和 EdDSA signature 对 TLS peer 进行 authentication.
本文档其余部分组织如下. 第 2 节概述 TLS 的基于 ECC 的 key exchange algorithm. 第 3 节描述 ECC certificate 用于 client authentication 的方式. 第 4 节给出允许 client 协商特定曲线和点格式使用方式的 TLS extension. 第 5 节规定基于 ECC 的 handshake 所需的各种数据结构、它们在 TLS message 中的编码以及这些 message 的处理. 第 6 节定义基于 ECC 的 cipher suite, 并将其中一个小子集标识为本规范所有实现的推荐支持项. 第 8 节讨论安全考虑. 第 9 节描述本文档前身所创建命名空间的 IANA 考虑. 附录 B 给出与 [RFC4492] 的差异, [RFC4492] 是本文档替代的文档.
实现本规范需要熟悉 TLS、TLS extension [RFC4366] 和 ECC.
1.1. 本文档中使用的约定
本文档中的关键词 "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"NOT RECOMMENDED"、"MAY" 和 "OPTIONAL", 当且仅当它们以此处所示的全大写形式出现时, 应按 BCP 14 [RFC2119] [RFC8174] 中的描述解释.