6. 密码套件 (Cipher Suites)
下表定义了使用第 2 节所规定 key exchange algorithm 的 ECC cipher suite.
| CipherSuite | Identifier |
|---|---|
| TLS_ECDHE_ECDSA_WITH_NULL_SHA | { 0xC0, 0x06 } |
| TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA | { 0xC0, 0x08 } |
| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA | { 0xC0, 0x09 } |
| TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA | { 0xC0, 0x0A } |
| TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 | { 0xC0, 0x2B } |
| TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | { 0xC0, 0x2C } |
| TLS_ECDHE_RSA_WITH_NULL_SHA | { 0xC0, 0x10 } |
| TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA | { 0xC0, 0x12 } |
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | { 0xC0, 0x13 } |
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA | { 0xC0, 0x14 } |
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | { 0xC0, 0x2F } |
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | { 0xC0, 0x30 } |
| TLS_ECDH_anon_WITH_NULL_SHA | { 0xC0, 0x15 } |
| TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA | { 0xC0, 0x17 } |
| TLS_ECDH_anon_WITH_AES_128_CBC_SHA | { 0xC0, 0x18 } |
| TLS_ECDH_anon_WITH_AES_256_CBC_SHA | { 0xC0, 0x19 } |
表 3: TLS ECC Cipher Suite
每个 cipher suite 的 key exchange method、cipher 和 hash algorithm 都可以通过检查名称轻松确定. cipher (AES cipher 除外) 和 hash algorithm 在 [RFC2246] 与 [RFC4346] 中定义. AES cipher 在 [RFC5246] 中定义, AES-GCM ciphersuite 在 [RFC5289] 中定义.
server 实现 SHOULD 支持以下所有 cipher suite, client 实现 SHOULD 至少支持其中一个:
-
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
-
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
-
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
-
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA