Sun Java System Web Server 7.0 が楕円曲線暗号 (ECC) に対応したことの意味
(Translate to English)Friday Sep 07, 2007
以下, 個人的なメモ. 先に書いておくと, とくにオチはないです. すみません.
まず, 2011 年以降も運用されるであろうシステムで
1024 ビット RSA を使うことは推奨されない (曰く,
NIST による安全性に関する「お墨付き」 を喪失する公算が高い
).
いわゆる 「2010 年問題」.
鍵管理方法に関するガイドライン SP 800-57 では, 2010 年末までは 2-key トリプル DES と 1024 ビット RSA も推奨されている (NIST [2005a],表 2参照). しかし, 2030 年末までの利用を想定する場合はこれらの使用を推奨しておらず, 共通鍵暗号としては AES または 3-key トリプル DES を, 公開鍵暗号としては鍵長 2048 ビット以上の RSA 等を推奨している.
金融分野における暗号アルゴリズムの 2010 年問題について
しかし現在広く使われている 1024 ビット RSA を, 2011 年以降のシステムで推奨となる 2048 ビット RSA へ, あるいはさらに 4096 ビット RSA にステップアップすると, 計算に必要なコストは指数的に増大してしまう.
一方, 楕円曲線暗号 (ECC) では, 鍵長が大きくなっても, RSA のように計算コストがバカ高くなったりしない. NIST P-256 は 3072 ビット RSA 相当であるにもかかわらず, その計算コストは 2048 ビット RSA を下回る. また 15360 ビット RSA 相当の NIST P-521 でも, 4096 ビット RSA の半分以下.
このような特長を持つ ECC を, Sun Java System Web Server 7.0 では SSL サーバ証明書に利用することができる.
ECC な SSL サーバ証明書を使う上でのキーとなるのが Web ブラウザと証明書発行機関だけど, まず Firefox 2.0 と Internet Explorer 7 は ECC オッケー. また某 SSL サーバ証明書発行業者も, ECC 入りの CSR を受けつけてくれる (たぶん. 少なくとも, 無料のテスト用を申請した限りではうまくいった). 発行された証明書の subjectPublicKeyInfo はこんな感じ. たった 256 ビットしかないのに, その強さは 3072 ビット RSA 相当だなんて, なんかかっこいい!
Subject Public Key Info:
Public Key Algorithm: id-ecPublicKey
Public-Key: (256 bit)
pub:
04:31:f1:d7:3a:6c:4e:d9:a2:26:0c:96:ec:ac:aa:
2c:e7:cf:3c:9a:1a:75:e7:06:dc:19:78:e5:1e:6e:
b7:96:55:cf:29:66:68:7c:0f:cc:8d:40:12:6b:cf:
de:c1:fd:d9:fd:1f:eb:1f:31:ad:65:79:98:dc:be:
76:2c:a7:b8:23
ASN1 OID: prime256v1












tkudo-san
OH!! Great !! ECCの宣伝...