[PREVIOUS CHAPTER] [NEXT CHAPTER]
4 PGP (Pretty Good Privacy) for authenticatoin of admin commands

4.1	PGP (Pretty Good Privacy)

注意: 
○ 以下では公開鍵暗合やPGPについては既知のものとしています。
○ PGP 2.6.3uiを使っています。PGP 5には対応していません。PGP/MIMEや
OpenPGPなども考慮していません(次世代もの乱立状態の間のあるものはもちょっ
と静観)。でもそれ用のコードを書いた人は是非ください:-)

公開鍵暗合の代表的な応用例PGP自体についてはここでは解説しません。参考
文献としては例えば

	O'Reilly の PGP
	MIT Press (かな?)の P.Zimmerman の PGP Manual (だっけ?)


4.2	PGP での認証に基づくリモート管理

PGPベースで考えると簡単に思いつく自明な解が二通りあります。

1	本文に clear signed して、signature が登録されているか否か

これはFrom:をメンバーファイルだけで認証しているものをPGPに拡張したもの
です。管理者はPGP公開鍵を管理することでのみ認証する範囲を制御します。

sniffer すればメール本文は見えてしますが暗合の鍵は破れないということで
す。この方式はサーバ側は key generation を必要としないという安全性がポ
イントです。

2	サーバの公開鍵で本文全体を encrypt する。

サーバ側で key generation を必要とする。サーバ側は自分の秘密鍵がないと
読めない。やはり管理者はPGP公開鍵を管理することでのみ認証する範囲を制
御する。ただ秘密鍵やパスフレーズの気密保持の問題が附随して発生するので
大掛りな割に嬉しくない。

いずれにしても一方通行に送るプロトコルではなんでもそうですが、メール本
体がどこかで盗聴された場合にすでに行なわれたコマンドをもう一度叩き込ま
れるという可能性はありえます。それ以外のことができないというだけ
#毎回 session key が違うとかしない限りこれは排除できません。

FML は管理者の認証には方式1を採用しています。

[KNOWN BUGS] 暗号化MLのPGPの鍵とリモート管理でPGPを使う時の鍵が同じ
場所にあります。そのため同時には使えません。
3.0以降のversionで全面的に直す予定です。


4.3	PGP の公開鍵の登録

MLごとに PGPPATH を設定(デフォールトはMLのHOMEの etc/pgp/ )している
ので、必ず

	makefml pgp mailing-list pgpのオプション

のような使い方をして下さい。たとえば公開鍵を入れたファイルを

	public.asc

とし elena MLのリモート管理者を増やす場合は

	makefml pgp elena -ka public.asc

です。

makefml は

	makefml pgp <ML> PGPのオプション

の形で使います。『PGPのオプション』部分は pgp でそのまま使われます。

例: elena MLのリモート管理者たちの公開鍵一覧は

	makefml pgp elena -kv

4.4	PGP によるリモート管理

1	admin コマンドを書く
2	clear sign をする

	例えば mailcrypt なら C-c / s です。この時に秘密鍵を入力。

3	clear sign をしたメールを送る

4	MLサーバは登録された公開鍵を元に本人が書いたものかどうか?
	をチェックし、本人からのものだと認証されれば
	コマンド群を実行する。


[PREVIOUS CHAPTER] [NEXT CHAPTER]