OpenPGPの誤解

公式MLの流れなんか見ていると時々出てきますが、間違えた認識持っている人も多いようですね。

誤解のパターンその1 パスフレーズがそのまま暗号鍵である。

OpenPGPにおいてパスフレーズはただ単に秘密鍵をロックしているに過ぎないので、パスフレーズと暗号化済みのデータはまったく関連性がありません。そのためパスフレーズの変更をしても、暗号化されたそれまでのデータに一切影響を及ぼしませんし、また同じパスフレーズで公開鍵、秘密鍵ペアを作成したとしても復号することはできません。

誤解のパターンその2 暗号データが第三者に渡ってしまうとまずい。

これがまずければ、暗号化の意味ありません。(笑)

OpenPGPにより暗号化されたデータを復号するには秘密鍵とそのパスフレーズが必要になります。反対に言えば悪意を持った第三者が秘密鍵を盗みだしたとしても、パスフレーズが必要になってきますし、パスフレーズだけではなんの意味もありません。ただし、秘密鍵が漏えいしていると判断できる場合にはそれは破棄した方がいいでしょう。

誤解のパターンその3 OpenPGPは秘匿した通信を実現する。

限定的にはYESですが、メッセージの流れを解析することに意図せぬことがわかってしまう場合があります。身近にはBCCをメールで使用する場合、BCC にしたつもりが、暗号化の相手として、その相手が指定されている場合がそれにあたります。対抗策としてはGnuPGでは秘匿受信者オプションを使う手がありますが、これに関してはメーラーなどの意図せぬ挙動なども考えられるために気をつけるのが重要となります。

と、朝食をスタバでとりながら携帯からちらしの裏っぽく書いてみました。(笑)

まあ、公開鍵暗号自体の仕組みは直感的ではない部分もあるんですけどねぇ。