GnuPG(GPG/Gnu Privacy Guard)は、公開鍵、秘密鍵の2種類の鍵を使う、というのは誰でも知ってる。しかし主鍵(プライマリキー)と副鍵(サブキー)については、あまり知られていない。とりあえず主/副の鍵は何も気にしなくても、特に使用に不都合はないのだが、最近、副鍵の面白い使い方を知った。GPG秘密鍵が入っているノートパソコンやスマホなどの紛失や盗難にあったとき、インパクトを最小にするためにサブキーを追加してプライマリキーを削除したキーリングを使う方法というのがあるというのだ。
秘密鍵を盗まれると、その鍵を使って他人が所有者になりすましたり、暗号をやりとりすることができるようになる。
それでは困るので、失効証明書を発行してその鍵を使えないようにすればいい。
ただ、鍵を失効させてしまうと、新しい鍵を作りなおさなければいけなくなる。新しい公開鍵を配布し直さなければならないことは言うまでもないが、信用の輪(web of trust)もゼロから構築しなおさなければならない。公開鍵の配布はともかく、web of trustの中にいる人にとっては、信用関係を構築し直すのは相当めんどくさいことになる。
しかしサブキーの仕組みをうまく使えば、公開鍵のIDを変更することなく、盗まれた鍵だけを失効させ、新しい鍵に入れ替えることができる。この場合、新しく公開鍵を配布し直さなければならないことに変わりはないが、新しい鍵は従来の鍵と同じ信用を持っているので、相手側は安心して鍵を入れ替えることができる。