                暗号化関係

------------------------------------------------------------
1	暗号関係の概要
1.1	できること
1.2	暗号関係の概要

2	PGP2
2.1	makefml による PGP2 の公開鍵の登録
2.2	PGP2 管理用のコマンド

3	PGP5
3.1	makefml
3.2	PGP bug (from BUGTRAQ@SECURITYFOCUS.COM)

4	PGP (Pretty Good Privacy) for authenticatoin of admin commands
4.1	PGP (Pretty Good Privacy)
4.2	PGP での認証に基づくリモート管理
4.3	PGP の公開鍵の登録
4.4	PGP によるリモート管理

5	PGP5
5.1	test
------------------------------------------------------------


1	暗号関係の概要

1.1	できること

リモート管理のコマンドを PGP で認証する
See also: remote_control 1 

投稿メールの暗号化

1.2	暗号関係の概要

◯ PGP2 および PGP5 用です。(以下 {2,5} と略します)
	OpenPGP, GPG, S/MIME 用のモデュールなどはないです。

◯ コマンドメールの認証にPGP{2,5}を使います。
   いわゆる『リモート管理の認証』という話の枠組です。

関連事項: リモート管理 => remote_control 4
関連事項:  PGP2        => 4

◯ 配送メールの暗号をPGP{2,5}でするというオプションもありますが…

	$USE_ENCRYPTED_DISTRIBUTION

◯ PGPの設定は makefml 経由で設定をして下さい。

See also: 2.1 

2	PGP2

fml 4.0 で整理されました。 詳しくは makefml 4 を参照して
下さい。

2.1	makefml による PGP2 の公開鍵の登録

ＭＬごとに PGPPATH を設定(デフォールトはMLのHOMEの etc/pgp/ )している
ので必ず makefml をつかってください。

fml 3.0 までの makefml では

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

です。たとえば

	makefml pgp elena -ka public.asc

同じことを fml 4.0 では

	makefml モード.コマンド <ML> PGPコマンドのオプション

というシンタックスになります。

例: admin コマンドの PGP 認証鍵の操作

	makefml admin-auth.pgp <ML> PGPのオプション

例: ＭＬの暗号化の鍵の操作

	makefml dist-encrypt.pgp <ML> PGPのオプション

なお互換性のため

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

は
	makefml admin-auth.pgp <ML> PGPのオプション

と同じです。またあまりに長いので admin-auth を aa で代用できます :-) 
dist-encrypt は de で代用できます。
例:
	makefml aa.pgp
	makefml de.pgp

SEE ALSO: 詳しくは makefml 4 参照

2.2	PGP2 管理用のコマンド

関連事項: リモート管理 => remote_control 4

管理者が pgp -kv などをリモートでできるようにしてあります。KEYの編集な
どはリモートではできません。公開鍵を加える、削除。一覧を見るなどをでき
るようにしてあります。できるようにしてあるのは

	-ka
	-kr
	-krs
	-h
	-kx
	-kxa
	-kv
	-kvv
	-kvc
	-kc	

です。コマンドの意味はPGPの本を見て下さい。

例:

	admin pgp -kvv

3	PGP5

ＭＬごとに PGPPATH を設定(デフォールトはMLのHOMEの etc/pgp/ )している
ので必ず makefml をつかってください。また fml 4.0 では PGP5 の操作も 
PGP2 同様に整理されました。

fml 3.0 までの makefml では

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

などとしています。fml 4.0 では

例: admin コマンドの PGP 認証鍵の操作

	makefml admin-auth.pgpk <ML> PGPのオプション

例: ＭＬの暗号化の鍵の操作

	makefml dist-encrypt.pgpk <ML> PGPのオプション

互換性のため

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

は
	makefml admin-auth.pgpk <ML> PGPのオプション

と同じになります。

SEE ALSO: 詳しくは makefml 4  参照

3.1	makefml

makefml のコマンドは

	pgpk, pgps, pgpv, pgpe

を使い分けて下さい。

例:

	makefml admin-auth.pgpk
	makefml admin-auth.pgps
	makefml admin-auth.pgpe
	makefml admin-auth.pgpv

あまりに長いので admin-auth を aa で代用できます :-) 
例:

	makefml aa.pgpk

dist-encrypt は de で代用できます。
例:

	makefml de.pgpk

3.2	PGP bug (from BUGTRAQ@SECURITYFOCUS.COM)

Message-ID:  <Pine.NEB.4.10.10008241020110.29902-100000@setec.org>
Message-ID:  <Pine.LNX.4.21.0008260958320.983-100000@hero.lannet.com.au>

だいじょうぶ

PGP-2.6.3ia UNIX    not vulnerable - doesn't support V4 signatures
PGP-5.0i UNIX       not vulnerable
GnuPG-1.0.1 UNIX    not vulnerable

だめ

PGP-5.5.3i WINDOWS  VULNERABLE
PGP-6.5.1i WINDOWS  VULNERABLE
PGP-6.5.1i for UNIX VULNERABLE

	http://senderek.de/security/key-experiments.html

	http://www.pgp.com/other/advisories/adk.asp
	http://web.mIt.edu/network/pgp.html

    Message-ID:  <20000826121158.13915.qmail@securityfocus.com>
    To: BUGTRAQ@SECURITYFOCUS.COM
    
    PGP updated softwares (http://web.mIt.edu/network/pgp.html):
    ---------------------
    PGP Freeware v6.5.8 is now available for Windows 
    95/98/NT/2000! and the Macintosh
    PGP Freeware v6.5.8 is MacOS 7.6.1+
    PGP Command Line Freeware v6.5.2 is now available for 
    AIX/HP-UX/Linux/Solaris!
    PGP Certificate Server Freeware v2.5.1 is now available for 
    Windows NT/2000 and Solaris!

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

5	PGP5

5.1	test

    % pgpe -r PGP-ML -f -ats test.txt | mail -s "TEST" PGP-ML


		INDEX

