Baldanders.info サイトにおける OpenPGP 鍵管理の変更
このブログを含む Baldanders.info の各サイトでは,私個人の OpenPGP 公開鍵を公開している。 実は2013年から年次鍵の運用を止めて単一で永続的な鍵運用に切り替えたのだが,来年からまた短期の運用に戻すことにした。
具体的には
- 現行の公開鍵の有効期限を 2022-03-31 に変更する(変更済)
- 2022年4月以降に使用する鍵は最長で2年の有効期限付きで作成する
- 単一の鍵で運用するのではなく目的別に鍵を分ける
という感じで行こうかと。
理由のひとつは,現在ドラフト中の NIST FIPS 186-5 から DSA が削除されるというもの。
もうひとつの理由は GnuPG において第3者による OpenPGP 鍵への電子署名の社会的信頼度が下がってきたことだ。 もともと,第3者による OpenPGP 鍵への電子署名は「小切手の裏書き」みたいなもので,多数の署名が永続的に存在することで鍵の信頼性が担保できていたのだが,その前提が崩れ去ってしまったのだ。
こうなると従来の OpenPGP 鍵サーバをベースにした鍵運用は大して意味がないし(せいぜい手渡しよりは便利という程度),単一の鍵を長期的に利用ドメインを跨いで使い回すのは却ってリスクになりかねない。
さらに,強いて3つ目を挙げるなら「電子メールはオワコン」ということだろうか。 少なくとも署名・暗号化しないといけないようなメッセージ・データを電子メールで配送するというのはもうナシだろう。 PPAP 以前の問題。 Thunderbird による OpenPGP 鍵利用が使いものにならないというのもあるが(笑)
暗号鍵の運用については NIST SP 800-57 が参考になるだろう。 この中で暗号鍵の使用期間と暗号期間について推奨値が示されている。 こんな感じ。
Key Type
Cryptoperiod
Originator-Usage
Period (OUP)Recipient-Usage
Period
1. Private Signature Key
1 to 3 years
−
2. Public Signature-VerificationKey
Several years (depends on key size)
3. Symmetric Authentication Key
$\le 2$ years
$\le \mathrm{OUP}+3$ years
4. Private Authentication Key
1 to 2 years
5. Public Authentication Key
1 to 2 years
6. Symmetric Data Encryption Keys
$\le 2$ years
$\le \mathrm{OUP}+3$ years
7. Symmetric Key-Wrapping Key
$\le 2$ years
$\le \mathrm{OUP}+3$ years
8. Symmetric RBG Keys
See SP 800-90
−
9. Symmetric Master Key/Key Derivation Key
About 1 year
−
10. Private Key Transport Key
$\le 2$ years
11. Public Key Transport Key
1 to 2 years
12. Symmetric Key Agreement Key
1 to 2 years
13. Private Static Key Agreement Key
1 to 2 years
14. Public Static Key Agreement Key
1 to 2 years
15. Private Ephemeral Key Agreement Key
One key-agreement transaction
16. Public Ephemeral Key Agreement Key
One key-agreement transaction
17. Symmetric Authorization Key
$\le 2$ years
18. Private Authorization Key
$\le 2$ years
SP 800-57 Part 1 Revision 5
5.3.6)
HTTPS など X.509 ベースで運用される公開鍵の有効期間が1年程度の短期運用に切り替わっているのに気付いている人も多いだろう。 OpenPGP 鍵は ad hoc 運用だし合わせる必要はないと思っていたが,永続的な鍵運用に価値がないならこっちに合わせるべきだよね。
とりあえず,現行の OpenPGP 公開鍵は
$ gpg --fetch-keys https://baldanders.info/pubkeys/spiegel.asc
で有効期限付きのものに更新できる。
ぶっちゃけ個人で鍵を2,3年おきに更新するのって面倒くさいんだよね。 まぁ,実際の運用をどうするか(暗号デバイスの導入も含めて)これから3年以内には確立させる予定。 3年もあれば暗号界隈のシーンも変わっているだろうけど(笑)
ブックマーク
- Kernel Maintainer PGP guide — The Linux Kernel documentation
- OpenPGP SSH access with Yubikey and GnuPG · GitHub
- セキュリティ関連NIST文書:IPA 独立行政法人 情報処理推進機構
- そろそろ GnuPG でも ECC を標準で使うのがいいんじゃないかな
- OpenSSH の認証鍵を GunPG で作成・管理する
参考図書
- 暗号化 プライバシーを救った反乱者たち
- スティーブン・レビー (著), 斉藤 隆央 (翻訳)
- 紀伊國屋書店 2002-02-16
- 単行本
- 4314009071 (ASIN), 9784314009072 (EAN), 4314009071 (ISBN)
- 評価
20世紀末,暗号技術の世界で何があったのか。知りたかったらこちらを読むべし!
- 暗号技術入門 第3版 秘密の国のアリス
- 結城 浩 (著)
- SBクリエイティブ 2015-08-25 (Release 2015-09-17)
- Kindle版
- B015643CPE (ASIN)
- 評価
SHA-3 や Bitcoin/Blockchain など新しい知見や技術要素を大幅追加。暗号技術を使うだけならこれ1冊でとりあえず無問題。