最新

おおいわのこめんと (2008-06)


2008-06-23

[Comp] [Security] OpenPGP 鍵更新

そろそろ 1024 ビットの RSA/DSA 鍵や SHA-1 ハッシュアルゴリズムの 危殆化を考える頃合が近づいてきているわけだが、 2010年までとりあえずまだ1年半はあるこの時期に、 とりあえず自分の周りの公開鍵をいろいろと見回してみた。 先日の Debian etch の脆弱鍵騒ぎの後なので、あちこちの公開鍵を チェックして回るついで、という感じもある。

まず、大量に身の回りにあった SSH の鍵は、結構 1024 ビットのものがあった。 いつから 2048 ビットが標準になったのかなと思いつつ、これは更新が簡単なので、 かなりのものを取り替えてしまった。 *1 MAC のハッシュは一時的な利用な上に、鍵と独立に交換可能なので、 実際に危殆化するまでに実装されれば問題なし。

次に https で使う TLS サーバ鍵だが、とりあえず身の回りで気をつけるのは3つ。 まず、www.oiwa.jp はこの日記の更新にだけ使う自己署名鍵で、最初から RSA 2048ビットで作ってある。 あと2つは職場のWebサーバなのだが、 これも作ったのが最近なので、意識して 2048ビットにしてある。 こちらの MAC も同様なのだが、実装は間に合うんだろうかねぇ。

で、困ったのが PGP 鍵で、OpenPGP の標準公開鍵暗号系は DSA + ElGamal なのだが、 DSA の旧仕様 (FIPS 186-1) が最大 1024 ビット鍵+160ビット SHA-1 ハッシュ固定なので、 長い間署名鍵の鍵長が1024ビットに固定されていたし、 未だにデフォルトの設定では署名鍵は1024ビットになっている。 また、1024ビットの鍵では仕様上160ビットのハッシュアルゴリズムしか使えないので、ハッシュの危殆化に対応できない。

困ったなぁと思ってここしばらく調べていたのだが、最近の GnuPG では Draft FIPS 186-3 の長い鍵長&ハッシュ長を許容するDSA (通称 DSA2)が使えるようになっていて、また2048ビットのRSAも使える模様。 マニュアルには 'Note that very few programs currently support these keys and signatures from them.' とか書かれているのだが、実はサポートは広がりつつあるっぽいことがわかってきて、OpenPGP の仕様でもサポートがされているらしいので、 使ってみてもいいかな、と思えてきた。

で、どういう風に導入するかは正直悩んだのだが、

  • 新規の鍵として導入すると、新しい鍵IDがついた公開鍵を配って回らないといけない。
  • 一方で、現在の鍵の副鍵として導入した場合、2010年以降の時点で主鍵を disable する際に、 その鍵を主鍵にする方法がわからない。そうすると、将来1024ビット鍵を捨てようという目的には適さない。
  • 現在の実装は RSA の方が若干対応が多そうだが、OpenPGP 仕様上は DSA が must-implement になっていて、RSA は optional っぽいので、将来的には DSA2 が主流になるとみた。

ということで、とりあえず新規のDSA2鍵を作ってみた。*22009年すぎても互換性とかで問題があるようなら、その時にまた考えることにする。

pub   1024D/995DD3E1 2005-01-25 [expires: 2010-01-01]
      Key fingerprint = 3C21 17D0 D953 77D3 02D7  4FEC 4754 40C1 995D D3E1
uid                  Yutaka OIWA <oiwa_@_yl.is.s.u-tokyo.ac.jp>
uid                  Yutaka OIWA <yutaka_@_oiwa.jp>
uid                  Yutaka OIWA <y.oiwa_@_aist.go.jp>
sub   1024g/8E9C7B6A 2005-01-25 [expires: 2010-01-01]
sub   2048g/0629B782 2008-06-15 [expires: 2030-01-01]

pub 3072D/440546B5 2008-06-23 [expires: 2030-06-18] Key fingerprint = 7C9F 723A 7559 3246 229D 3139 8677 9BD2 4405 46B5 uid Yutaka OIWA <yutaka_@_oiwa.jp> uid Yutaka OIWA <y.oiwa_@_aist.go.jp> sub 3072g/41C5DA65 2008-06-23 [expires: 2030-06-18] sub 3072D/6FB660C6 2008-06-23 [expires: 2030-06-17]

というわけで、公開鍵の更新を2010年までにお願いします。自分の署名は状況を見ながら徐々に切り替えていこうかと思っていますが、暗号化はどちらの鍵でされても受け取れます。あと、現行の DSA1024 鍵の方にも 2048 ビットの暗号化用副鍵をつけておいたので、DSA2に対応していないクライアントでもこちらを導入するとおおいわ宛の暗号メールの強度が上がります。

さて、どんなことになるかな。

*1 というか、実はメインの秘密鍵の1つを操作ミスで上書きしてしまったので、 あちこち新しい公開鍵を設定して回る羽目になり、 ついでに片っ端から更新することにした、というのが実際の理由だったりする (^^;

*2 ちなみに、鍵長を2048より大きくする意味はほとんど無いのだが、まぁ TLS サーバ鍵と違って PGP 鍵は利用頻度が低いので、大きすぎることによる問題はあまり無いかな、と考えてみた。


大岩 寛 (おおいわ ゆたか) <yutaka@oiwa.jp.nospam ... remove .nospam> .

Copyright © 2005-2014 Yutaka OIWA. All rights reserved.
Posted comments and trackbacks are copyrighted by their respective posters.

記事の内容について (Disclaimer / Terms and Conditions)