間もなくRFCとして公開される、TLS 1.3。
(追記:公開されました!->RFC 8446)
利用できる暗号アルゴリズム(※)を押さえておくことで、
高速ハンドシェイクにいち早く移行したいものです。
※ 2018年7月23日時点の情報
では早速見ていきましょう。
★:TLS1.2から新たに追加 or 変更
鍵交換
OK
- DHE
- 楕円曲線:secp256r1
- ECDHE
- 楕円曲線:secp256r1
- PSK
NG
- DSS(DSA)
- RSA ★
- ROBOT攻撃などに対する脆弱性
- 前方秘匿性の考えによる安全性向上(static RSAを利用しない)
- ECDSA ★
- 前方秘匿性の考えによる安全性向上(static RSAを利用しない)
- DH ★
- 前方秘匿性の考えによる安全性向上(static DHを利用しない)
- ECDH ★
- 前方秘匿性の考えによる安全性向上(static DHを利用しない)
署名
OK
- RSA
- パディング:PSS,PKCS#1 v1.5
- ECDSA
- 楕円曲線:secp256r1,secp384r1,secp521r1
- EdDSA ★
- 楕円曲線:ed25519,ed448
- エドワーズ曲線デジタル署名アルゴリズム。乱数を利用しない特徴を持つ。
- PSK
NG
- DSS(DSA)
対称暗号
OK
- AES
- ChaCha20
NG
- DES
- IDEA
- RC2
- RC4 ★
- 平文回復攻撃などへの脆弱性
- TripleDES ★
- SWEET32攻撃などへの脆弱性
- Camellia ★
- ARIA ★
- SEED ★
- 上記3つは特に脆弱性の話題はないが、外された模様
暗号モード
OK
- CCM
- GCM
- Poly1305
NG
- CTR
- CFB
- OFB
- CBC ★
- BEAST攻撃などへの脆弱性
ハッシュ関数
OK
- SHA-256
- SHA-384
NG
- MD5 ★
- コリジョン攻撃への脆弱性(1995年頃よりこれまでに多くの指摘)
- SHA-1 ★
- コリジョン攻撃への脆弱性(2017年にGoogleが発表したIdentifical-prefix攻撃など)
- SHA-224 ★
- 計算機性能向上による安全性の低下
組み合わせ(暗号スイート)
鍵交換と署名
- DHE-RSA
- ECDHE-RSA
- ECDHE-ECDSA
鍵交換はDH系、署名はRSA系と覚えましょう。
対称暗号と暗号モード、鍵の導出(ハッシュ関数)
- AES_128_GCM_SHA256
- AES_256_GCM_SHA384
- CHACHA20_POLY1305_SHA256
- AES_128_CCM_SHA256
- AES_128_CCM_8_SHA256
結論
組み合わせが少なくなりました(にっこり)
参考
The Transport Layer Security (TLS) Protocol Version 1.3 draft-ietf-tls-tls13-28
SSL/TLS 暗号設定 ガイドライン - IPA
SSL/TLS 暗号設定ガイドライン改訂及び鍵管理ガイドライン作成のための調査・検討
TLS 1.3 - wolfSSL
CRYPTREC 暗号技術ガイドライン(SSL/TLS における近年の攻撃への対応)
The Transport Layer Security (TLS) Protocol Version 1.2