[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 は管理者の認証には方式１を採用しています。

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

    4.3	PGP の公開鍵の登録

    ＭＬごとに 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 ＭＬのリモート管理者たちの公開鍵一覧は

    	makefml pgp elena -kv

    4.4	PGP によるリモート管理

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

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

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

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

[PREVIOUS CHAPTER] [NEXT CHAPTER]