PEPOP 1.3.1 取扱い説明書

1998.9.1


目次

1. はじめに
1.1 概要
1.2 パッケージの構成
1.3 動作環境
2. インストール
2.1 ソースパッケージのインストール
2.1.1 前提パッケージ
2.1.2 ソースパッケージの展開
2.1.3 Makefile の修正
2.1.4 PEPOP の Make
2.1.5 インストール
2.2& バイナリパッケージのインストール
3. 環境設定
3.1 PEPOP 定義ファイル作成
3.1.1 定義ファイルの作成
3.1.2 定義ファイルの確認
3.2 ユーザ情報登録
3.2.1 証明書リクエスト定義ファイルの作成
3.2.2 ユーザ DB への登録
PEPOP サーバの設定
3.3.1 PEPOP <サーバプログラム概要
3.3.2 サーバプログラムの起動方法
3.3.3 注意事項
3.4 メールクライアントの準備
3.4.1 OTP 生成プログラムの入手
3.4.2 メールクライアントの設定
3.4.3 注意事項
4. サーバ運用
4.1 動作概要
4.2 日々の運用
4.3 実行中に作成/更新されるファイル一覧
5. メールクライアントでのメール送受信
5.1 PEPOP へのメール送信
5.2 PEPOP からのメール受信
6. トラブルシューティング
6.1 ログファイル
6.2エラー時の動作
7. コマンド一覧
7.1 PEPOP サーバプログラム
7.1.1 PEPOP SMTP サーバインタフェース
7.1.2 PEPOP POP サーバインタフェース
7.2 PEPOP DB 操作コマンド
7.2.1 DB 初期化コマンド
7.2.2 DBファイル操作コマンド
7.3 証明書関連コマンド
7.3.1 証明書取得コマンド
7.3.2 証明書内容表示コマンド
7.3.3 取得コマンド
7.3.4 内容表示コマンド
7.4 OTP 生成プログラム
7.4.1 概要
7.4.2 コマンドライン版 (UNIX)
GUI 版(Windows95, WindowsNT 4.0)
7.5& その他のコマンド
7.5.1 PEPOP 定義チェックコマンド

1. はじめに

1.1 概要

 現在インターネットを流れるメール文書のセキュリティ対策として Pretty Good Privacy (PGP) や Privacy Enhanced Mail (PEM) といったような暗号メールがあり ます。しかしながら、各種ツールのユーザエージェント (UA) 依存の問題や、秘密鍵 などの管理の問題など、そのスムーズな普及を妨げる様々な問題がある。
 本パッケージは、これらの問題を解決するための仕組みとしての Privacy Enhanced Post Office Protocol (PEPOP) を提供するものである。
 PEPOP は、ユーザエージェント (UA) と SMTP、POP の各サーバの中間に位置し、 UA からのメールの暗号化/復号をする役割をする(図1)。

図1 PEPOPシステム

 PEPOP の主な機能として以下のものがある。

  1. メールの暗号化/復号
    • メール暗号のプロトコルには、S/MIME、PEMを使用。
    • 公開鍵暗号: RSA, 楕円曲線暗号(option)
    • 共通鍵暗号: DES, DES-SS(option), MISTY(option)
    • ハッシュ : MD2, MD5, SHA-1, MHA(option), DES-SS(option)
  2. UA - PEPOP 間のユーザ認証は One Time Password (OTP) を使用。
  3. ユーザ証明書、秘密鍵は PEPOPで一元管理。
  4. UA プログラムを変更することなく、暗号メールの送受信が可能。
  5. ICAP (ICAT CA Package) との連携により、証明書取得が可能。

    option:ICAT 暗号ライブラリ使用時

1.2 パッケージの構成

(1) ソースパッケージには以下のファイルが含まれている。

表1 ソースパッケージ内容一覧

ファイル名説明
MakefileMakefile (Solaris 2.x 用)
Makefile.freebsdMakefile (FreeBSD 2.2.5 用)
Makefile.sunMakefile (SunOS4.1 用)
README
LICENSE利用規程
REGISTRATION登録申請書
conf/PEPOP 定義テンプレート用ディレクトリ
doc/ドキュメントディレクトリディレク
lib_smime/S/MIME ライブラリディレクトリ
lib_smime/src/S/MIME ソース
lib_smime/tools/S/MIME ツール
src/PEPOP ソースディレクトリ
tools/PEPOP ツールディレクトリ
tools/winPEPOP OTP Generator(Windows版)

(2) バイナリパッケージには以下のファイルが含まれている。

表2 バイナリパッケージ内容一覧

ファイル名説明
README
LICENSE利用規程
REGISTRATION登録申請書
.userdb.indexユーザ DB ファイル
.userdb.dataユーザ DB ファイル
.cachedb.indexキャッシュ DB ファイル
.cachedb.dataキャッシュ DB ファイル
.crldb.indexCRL DB ファイル
.crldb.dataCRL DB ファイル
bin/実行コマンドディレクトリ
cache/証明書ファイルキャッシュディレクトリ
conf/定義ファイルディレクトリ
crl/CRL ファイルディレクトリ
crt/証明書ファイルディレクトリ
crtreq/証明書リクエストファイルディレクトリ
key/秘密鍵ファイルディレクトリ
log/ログディレクトリ
doc/PEPOP ドキュメントリ
tmp/一時ファイルディレクトリ

1.3 動作環境

(1) プラットホーム
 以下の OS で動作確認をしている。
  • SunOS 4.1.x
  • SunOS 5.x (Solaris 2.x)
  • FreeBSD 2.2.5

(2) 使用するアプリケーション

 CA との連携をして証明書を自動取得等する場合には以下のパッケージが必要で ある(推奨)。

  1. ICAP Ver.2.1 以降(ICAT CAパッケージ) ※ ただし Ver.2.1より前のバージョンとは正しく連携できない。
 ソースパッケージの場合、以下に示すアプリケーションが必要である。PEPOP の make に先立って、以下のアプリケーションをセットアップしておく必要がある (バイナリパッケージでは不要)。詳細は、2章を参照のこと。

  1. SSLeay (Version 0.6.4) ※ RSA 暗号、DES、MD5 等を使用する場合
    入手先:
    ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/

  2. ICAT暗号ライブラリ ※楕円曲線暗号、MISTY、MHA(ハッシュ関数)等を使用する場合
    問い合わせ先:ICAT 事務局( info@icat.or.jp)

  3. GMP (The GNU MP Library) 入手先 :各 GNU ミラーサーバ

 PEM による暗号化、復号化機能をサポートする場合には以下のパッケージが必要で ある (バイナリパッケージでは不要)。

  1. FJPEM (Ver.1.2) 入手先: ftp://sh.wide.ad.jp/WIDE/free-ware/fjpem/

2. インストール

 PEPOPのインストール方法を説明する。
 PEPOP のソースパッケージをインストールする場合は、
2.1 章 を、バイナリパッケージをインストールする場合は、2.2 章を 参照のこと。尚、本ドキュメントでは、ソースパッケージでのインストール先ディレ クトリ及び、バイナリパッケージの展開したディレクトリを $PEPOP と表現 する。

2.1 ソースパッケージのインストール

2.1.1 前提パッケージ

 使用される PEPOP の形態によって以下のパッケージが別途必要になる。また、 本書ではこれらのパッケージがすでにインストール済みであることを前提に説明する。

表3 前提パッケージ

パッケージ名バージョン説明
SSLeay0.6.4RSA 暗号を用いた S/MIME や PEM を使用 するために必要となる。楕円曲線対応の S/MIME のみを使用する場合には必要 ない。本ライブラリを組み込むことで、以下のアルゴリズムが利用できるよう になる。 (1) 公開鍵暗号 ... RSA
(2) 共通鍵暗号 ... DES-CBC
(3) ハッシュ ... MD2, MD5
ICAT暗号ライブラリ楕円曲線暗号(EC)を用いた S/MIME を使用するために必要となる。 RSA 対応の S/MIME のみを使用する場合には 必要ない。本ライブラリを組み込むことで、以下のアルゴリズムが利用できる ようになる。 (1) 公開鍵暗号 ... MyEllty
(2) 共通鍵暗号 ... MISTY, DES-SS
(3) ハッシュ ... MHA
GMP2.0.2ICAT 暗号ライブラリを使用するにあたり必 要なライブラリである。
FJPEM1.2PEM を用いたメールの送受信を行う場合に必 要となる。S/MIME のみをサポートする場合には必要ない。また、本パッケージ を使用するためには SSLeay のライブラリが必須となる。

表4 パッケージ - メールアルゴリズム対応表

パッケージ名S/MIME
(RSA)
S/MIME
(楕円)
S/MIME
(楕円&RSA)
S/MIME
(楕円&RSA)
+ PEM
SSLeay×
ICAT 暗号ライブラリ×
GMP×
FJPEM<×× ×

2.1.2 ソースパッケージの展開

 以下の手順に従って、パッケージを展開する。

% gzip -cd pepop-1.3.1.tar.gz | tar xvf -

2.1.3 Makefile の修正

 インストールする環境に応じた Makefile を、エディタを使って当該環境に合うよう に修正する。具体的に修正しなくてはいけない項目は以下の通りである。

表5 Makefile のユーザ修正箇所

変数名修正内容
PEPOP_BASPEPOP を展開したディレクトリを指定する。
SSLEAY_BASSSLeay-0.6.4.tar を展開したディレクトリを指定する。 ※ SSLeay を使用する場合は、他、SSLEAY_ で始まる定義のコメントを外す こと。
JPLIB_GMPDIR
JPLIB_ECCDIR
JPLIB_CRPDIR
gmp-2.0.2.tar を展開したディレクトリを指定する。
松下楕円曲線暗号ライブラリを展開したディレクトリを指定する。
三菱暗号ライブラリを展開したディレクトリを指定する。

※ 上記定義を有効にした場合には、他、JPLIB_ で始まる定義のコメントを 外すこと。
SMIME_FLG以下のフラグを必要に応じて設定する。

o -DSM_FLG_JPCODE ....日本語を扱う場合に指定する。
o -DSM_FLG_L_ENDIAN ....当該サーバの整数表現がリトル エンディアンのとき指定する。(Intel 系 CPU のマシン etc)
PEM_FLG以下のフラグを必要に応じて設定する。

o -DSM_FLG_FJPEM... PEM を使用する場合に指定する。 実行時には FJPEM が必要。
INSTALLTOPコマンド等をインストールし、実行時に PEPOP ディ レクトリとして利用するディレクトリを指定する(デフォルトでは /usr/local/etc/pepop)。

2.1.4 PEPOP の Make

  Makefile の修正が完了した後、以下の手順に従って Make してください。

  % cd pepop-1.3.1
  \ % make -f Makefile
  %

2.1.5 インストール

 Make が完了したら以下の手順でインストールしてください。インストール先は Makefile 中 INSTALLTOP で書かれたディレクトリとなります。

  % su
  Password:
  # cd pepop-1.3.1
  # make -f Makefile install
  # exit
  %

 インストール完了後、自動的に $(PEPOP) (デフォルトでは /usr/local/etc/pepop) に生成されるディレクトリとファイルの一覧は以下の通り。

表6 インストール後の PEPOP ディレクトリのファイル構成

ディレクトリファイル名mode説明
.$PEPOP
.userdb.index600ユーザ DB ファイル(index)
.userdb.data600ユーザ DB ファイル(data)
.cachedb.index600キャッシュ DB ファイル(index)
.cachedb.data600キャッシュ DB ファイル(data)
.crldb.index600CRL DB ファイル(index)
.crldb.data600CRL DB ファイル(data)
bin755コマンド ディレクトリ
pepopd755PEPOP,POP インタフェイス
pesmtpd755PEPOP,SMTP インタフェイス
passgen755OTP 生成コマンド
pecnftest755PEPOP 定義チェックコマンド
pedbinit755DB 初期化コマンド
pedbmenu755DB 操作コマンド
crlreq755CRL 取得要求コマンド (for ICAP)
crlprt755CRL 内容表示コマンド
crtreq755証明書取得要求コマンド (for ICAP)
x509prt755証明書内容表示コマンド
pedelsem.sh755セマフォ削除シェルスクリプト
enpem755FJPEM 暗号化コマンド (*1)
depem755FJPEM 復号コマンド (*1)
PASSGEN.EXE644Windows 用 OTP Generator
PEPOP.DLL644Windows 用 PEPOP.DLL
cache700証明書キャッシュディレクトリ
conf700定義ディレク トリ
pepop.cnf.sample644pepop.cnf 定義サンプル
crl700CRL ディレクトリ
crt700ユーザ証明書ディレクトリ
crtreq700証明書リク エストディレクトリ
usr.req.sample644証明書リクエスト定義サンプル
key700ユーザ秘密鍵ディレクトリ
log700ログディレクトリ
tmp700一時ファイル用ディレクトリ

(*1) バイナリパッケージのみ。ソースパッケージでは、make install したあと、
FJPEM ディレクトリから $PEPOP/bin/. にコピーしてください。

2.2 バイナリパッケージのインストール

 バイナリパッケージの内容は、表6の通りです。本ディレクトリは、PEPOP 実行時に 参照されるディレクトリとなります。
 例では、/usr/local/etc/pepop に展開するものとして説明します。

  % su
  Password:
  # cd /usr/local/etc
  # gzip -cd pepop-1.3.1-bin.sol25.tar.gz | tar xvf -
  # 

 また、本バイナリパッケージがサポートしている暗号アルゴリズムは以下のコマン ドで確認することができます。

  # cd /usr/local/etc/pepop
  # ./pesmtpd -ver
    Support public key algorithm : RSA, EC(MyEllty)
    Support secure mail protocol : S/MIME, PEM(FJPEM)
    You can use Japanese message.

3. 環境設定

3.1 定義ファイル作成

3.1.1 定義ファイルの作成

 インストールによって $PEPOP/conf に、定義ファイルのテンプレートファイル (pepop.cnf.sample) がインストールされます。PEPOP の運用に際し必要な項目を 表7を参考に設定してください。表中、「項目」に書いてあるものは pepop.cnf の定義エントリであり、「設定」には、その項目が省略可能か否かが書かれています。
 尚、PEPOP 定義ファイルの文法は以下の通り。

  • 表7に示した項目がパラメータとして使用できる。
  • <parameter> と <value> は、任意の <tab> または空白で 区切る。
  • 定義の途中で改行が入ってはいけない。
  • 任意の位置で "#" を取れることにより、それ以降から改行まではコメントと することができる。

表7 定義パラメータ一覧

項目設定説明
smtp_server必須PEPOP が中継する SMTP サーバの IP アドレスまたはホスト名を指定してください。
尚、本項目は pesmtpd のみから参照されます。
smtp_port略可PEPOP が中継する SMTP サーバのサー ビス名かポート番号を指定して下さい。
尚、本項目は pesmtpd のみから参照 されます。

本指定を省略した場合のデフォルト値 = 25

pop_server必須PEPOP が中継する POP サーバの IP アドレスまたはホスト名を指定してください。
尚、本項目は pepopd のみ から参照されます。
pop_port略可PEPOP が中継する POP サーバのサービ ス名かポート番号を指定して下さい。
尚、本項目は pepopd のみから参照 されます。

本指定を省略した場合のデフォルト値 = 110

ca_access略可ICAP とのアクセスを許可するか否かを 設定します。許可する場合には“yes” を指定し、許可しない場合には“no”を 指定して下さい。

本指定を省略した場合のデフォルト値 = no

ca_server略可ca_access で yes が書かれた場合に 有効。

PEPOP がアクセスする楕円曲線暗号対応 (EC) の ICAP サーパの IP アドレスまたはホスト名を指定して下さい。

ca_port略可ca_access で yes が書かれた場合に有効。

PEPOP がアクセスする EC 対応の ICAP サーバのサービス名またはポート番号 を指定してください。

本指定を省略した場合のデフォルト値 = 80

rsa_ca_server略可ca_access に yes と指定した場合に 有効。

PEPOP がアクセスする RSA 対応の ICAP サーバの IP アドレスまたは ホスト名を指定してください。

rsa_ca_port略可ca_access に yes と指定した場合に 有効。

PEPOP がアクセスする RSA 対応の ICAP サーバのサービス名または ポート番号を指定してください。

本指定を省略した場合のデフォルト値 = 80

basepath略可インストール時に $(INSTALLTOP) として 指定したディレクトリを指定して下さい。 PEPOP サーバはこのディレクトリを ベースディレクトリとして動作することになります。
本ディレクトリ下には、 表6で示したディレクトリ構成がなければなりません。

本指定を省略した場合 のデフォルト値 = /usr/local/etc/pepop

mail_address必須PEPOP<管理者のメールアドレスを指定 します。
otp_generate_time略可PEPOP サーバでの OTP 生成間隔 を分単位で指定して下さい。この値は PEPOP サーバを使用する UA 全ての OTP 作成プログラムに反映させる必要があります。
指定値の範囲は、1 〜 1440 です。

本指定を省略した場合のデフォルト値 = 3

otp_allowable_width略可PEPOP サーバで OTP を確認 する際に、前後何個の OTP から、ユーザの OTP とのマッチングをとるかを指定 します。
指定値の範囲は、0 〜 10です。

本指定を省略した場合のデフォ ルト値 = 2

noauth_str略可OTP の代わりに指定し、ユーザ認証なし でも PEPOP を利用できるマジックワードを指定します(8文字以内)。

本指定を省略した場合には、 OTPによるユーザ認証が必須となります。

check_signature略可証明書、CRL を DB にキャッシュ する際に、署名を確認するかどうかを指定します。署名の確認をする場合 “yes” を、確認をしない場合は “no” を指定して下さい。

“yes” を指定した場合、 証明書発行者の証明書が DB に存在しない場合には、 CA に自動的にアクセスし、 証明書を取得します。

本指定を省略した場合のデフォルト値 = no

check_ca_signature略可CA の証明書を DB にキャッシュ する際に、署名を確認するかどうかを指定します。署名の確認をする場合は“yes” を、確認をしない場合は“no”を指定して下さい。

“yes” を指定した場合、 証明書発行者の証明書が DB に存在しない場合には、 CA に自動的にアクセスし、 証明書を取得します。自己署名の証明書は、当該公開鍵で署名を確認します。

本指定を省略した場合のデフォルト値 = no

check_revoke略可証明書利用時に、証明書の破棄確認を するかどうかを指定します。破棄確認をする場合には “yes” を、しない場合は ”no” を指定して下さい。

“yes”を指定した場合、証明書発行局の CRL が DB に存在しない場合には、CA に自動的にアクセスし、 CRLを取得します。

本指定を省略した場合のデフォルト値 = no

check_crl_strictly略可CRL による破棄確認を厳密に 行うかどうかを指定します。破棄確認を厳密に行う場合には “yes” を、行わない 場合には “no” を指定して下さい。

“yes” を指定した場合、以下のケースで エラーとなります。

  1. CA が CRLを発行していなかった場合。
  2. 新規に CA から取得した CRL をチェックした結果、古い(次回発行時間を 過ぎている)場合。

本指定は、check_revoke を yes とした場合のみ有効です。check_revoke を no とした場合には無視されます。

本指定を省略した場合のデフォルト値 = no

use_cache_crt略可メールの宛先となるユーザの証明書を キャッシュを用いて取得するか否かを指定します。キャッシュを用いる場合には “yes” を、キャッシュは使用せず逐一 ICAP に問い合わせ証明書を取得する場合に は “no”を指定して下さい
(“yes” と指定した場合でも、キャッシュに該当 証明書がない場合には、ICAP より取得します)。

通常は “yes” を指定して下 さい。リアルタイムで最新の証明書を常に取得する場合には “no” を指定して下 さい。

本指定を省略した場合のデフォルト値 = yes

use_cache_cacrt略可CA の証明書をキャッシュを用いて 取得するか否かを指定します。キャッシュを用いる場合には “yes” を、キャッ シュは使用せず逐一 ICAP に問い合わせ証明書を取得する場合に “no” を指定し て下さい(“yes” と指定した場合でも、キャッシュに該当証明書がない場合には、 ICAPより取得します)。

通常は“yes” を指定して下さい。リアルタイムで最新 の証明書を常に取得する場合には“no” を指定して下さい。

本指定を省略した 場合のデフォルト値 = yes

use_cache_crl略可CRL をキャッシュを用いて取得する か否かを指定します。キャッシュを用いる場合には “yes” を、キャッシュを使用 せず逐一 ICAP に問い合わせ CRL を取得する場合には、 “no” を指定して下さい (“yes” と指定した場合でも、キャッシュに該当 CRL がない場合には、 ICAP より取得します。

通常は "yes" を指定してください。リアルタイムで最新の CRL を常に取得する場合には "no" を指定してください。

本指定を省略した場合 のデフォルト値

debugprint略可ログファイルにデバッグ用のメッセージを 表示させるか否かの設定をします。表示する場合は “yes” を、表示しない場合は “no” を指定して下さい。

本指定を省略した場合のデフォルト値 = no

必須.......必須パラメータ。省略することはでき ない。
略可.......オプションパラメータ。省略が可能。 省略した場合には、デフォルト値が設定される。

定義例)

smtp_serversmtpserver
smtp_port25
pop_serverpopserver
pop_port110
basepath/usr/local/etc/pepop
ca_accessyes
ca_servercaserver
ca_port80
basepath/usr/local/etc/pepop
mail_addresspepop@ori.hitachi-sk.co.jp
otp_generate_time3
otp_allowable_width2
check_signatureyes
check_ca_signatureyes
check_revokeyes
check_crl_strictlyno
#debugprintyes

3.1.2 定義ファイルの確認

 定義ファイルは pecnftest コマンドにより正しいかどうかを確認することが できます(pecnftest コマンドの詳細については付録を参照のこと)。 PEPOP の登録に先立って、定義のチェックをして下さい。

例)

% cd /usr/local/etc/pepop/bin
% pecnftest -c -f /usr/local/etc/pepop/conf/pepop.cnf

3.2ユーザ情報登録

3.2.1証明書リクエスト定義ファイルの作成

 実行に先立って、ユーザの証明書の取得に必要な証明書リクエストファイルを ユーザ毎に作成する必要があります。

 インストールによって $(PEPOP)/crtreq に、定義ファイルのテンプレートファ イル(usr.req.sample) がインストールされます。項目を参考に設定してください。 表中、「項目」に書いてあるものは証明書リクエスト定義ファイルの定義エントリ であり、「設定」には、その項目が省略可能か否かが書かれています。

 後述するユーザ DB への登録時には、 <ユーザ名_rsa.req> (楕円曲線暗号を 指定した場合には <ユーザ名.req>) という名前でデフォルトの定義ファイル名 が設定されますが、基本的にどんな名前でも問題ありません。ただし $(PEPOP)/crtreq 下に定義ファイルを置くこと。

 尚、証明書リクエスト定義ファイルの文法は以下の通り。

o 表 8 に示した項目がパラメータとして使用できる。

o 設定する項目は [ ]で囲まれたインデックス以下に記述する。

o <parameter> と <value> は、"=" で区切り、その間には任意の <tab> あるいは空白が存在できる。

o 定義途中で改行が入ってはいけない。

o 任意の位置で "#" を取れることにより、それ以降から改行まではコメントと することができる。

o <value> には、日本語を使用することができる。但し、半角カナは除く。

表 8 証明書リクエスト定義ファイル設定項目

[General]

項目設定説明
key_algorithm必須 公開鍵アルゴリズムを指定する。

o "rsa" ... RSA
o "my-ellty" ... 楕円曲線暗号(MyEllty)
key_bits必須 公開鍵の鍵長を指定する。指定した公開鍵によって以下のように指定 する。

o "rsa" ... "512", "768", "1024"
o "my-ellty" ... "160"
signature_algorithm必須 ハッシュアルゴリズムを指定する。指定した公開鍵によって以下のように 指定する。

o "rsa" ... "md2", "md5"
o "my-ellty" ... "MHA"

[Subject] : 所有者情報を指定する。

項目設定説明
CountryName必須 ICAP とアクセスするためには必須
StateOrProvinceName略可
LocalityName略可
StreetAddress略可
OrganizationName必須 ICAP とアクセスするためには必須
OrganizationalUnitName略可
Title略可
PostalCode略可
PhoneNumber略可
CommonName必須 ICAP とアクセスするためには必須
E-mailAddress略可

[Attributes] :属性情報を指定する

項目設定説明
UnstructuredName必須 ICAP に登録したユーザ名を指定する(*1)。
ChallengePassword必須 ICAP に登録したパスワードを指定する(*1)
App必須アプリケーション名"PEPOPrsa" (楕円曲線の場合は PEPOP)を指定する。

(*1) ICAP には、ユーザ毎にユーザ名、パスワードを設定する必要はありません。すべてのユーザのリクエスト定義において、同じユーザ名、パスワードを指定できます。

[SubjectDirectoryAttriubtesWithRestrictedPeriod] : 拡張情報を指定する

 拡張フィールドの属性を指定する。パラメータは [Subject] と同じ。ただし、 以下の項目は ICAP に接続するためには必須となる。

ICAP とアクセスするためには必須
項目設定説明
Title必須
E-mailAddress必須 ICAP とアクセスするためには必須

必須.......必須パラメータ。省略することはできない。

略可.......オプションパラメータ。省略が可能。

定義例)

  [General]
  key_algorithm           = rsa
  key_bits                = 1024
  signature_algorithm     = md2
 
  [Subject]
  OrganizationName        = ICAT
  CommonName              = ICA Taro
  E-mailAddress           = icat@icat.or.jp

  [Attributes]
  UnstructuredName        = PEPOP
  ChallengePassword       = PEPOP
  App                     = PEPOPrsa
 
  [SubjectDirectoryAttributesWithRestrictedPeriod]
  CountryName             = JP
  StateOrProvinceName     = Tokyo
  OrganizationName        = ICAT
  E-mailAddress           = icat@icat.or.jp

3.2.2ユーザ DB への登録

 実行に先立って、PEPOP を利用できるユーザの情報を登録する必要があります。 以下に、登録手順を説明します(下の例では、PEPOP を /usr/local/etc/pepopに インストールしたものとして説明しています)。

 登録には DB アクセスコマンド(pedbmenu)を使用してユーザ情報を登録します。 pedbmenu コマンドの詳細は付録を参照してください。

  % cd /usr/local/etc/pepop/bin
  % pedbmenu -u -f /usr/local/etc/pepop
 
  ---------------------------------------------------
                USER DB ACCESS MENU

--------------------------------------------------- 1. Print users 2. Print certificates 3. Add new user 4. Add new certificate 5. Change user information 6. Change certificate information 7. Delete user information 8. Delete certificate information 9. Set Administrator Password 10. Delete Administrator Password 99. Exit --------------------------------------------------- select [99] : 3 *** Add user *** Mail address [no default] : icat@icat.or.jp Password : Input again : User Data file [icat_rsa.req] : Digest Algorithm (1:md2, 2:md5, 3:SHA1) [3] : Content Encryption Algorithm (2:DES-CBC) [2] : -----------------User Information------------------- Mail Address : icat@icat.or.jp Password : Defined Userdata : icat_rsa.req Digest Algorithm : SHA-1 Content Encryption Algorithm : DES-CBC ---------------------------------------------------- Are you OK? (0:OK, 1:NG) [0] : Success to add [ RSA ]icat@icat.or.jp Make a request to CA for this user's certificate? (0:No, 1:Yes) [1] : 1 Input CA server address [no default] : icat Input CA server port [no default] : httpd Select (0:Request, 99:Cancel) [0] : : : << ICAP とのアクセスログ>> : : Success to add new certificate.

 ここまでで、ユーザの登録は終了し、メインメニューに戻ります。

もし、複数ユーザがいる場合には全てのユーザに対し、3.1.1章、3.1.2章の操作を 繰り返してください。

※なんらかの事情でユーザ証明書が取得できなかった場合には、以下の手順で証明書 を取得/登録することができます。

(a) pedbmenu で取得/登録する
pedbmenu -u の "4. Add new certificate" で、証明書を新規に取得する ことができます。登録するユーザを選択すると、ICAP に問い合わせ、証明 書を登録します。

(b) pedbmenu を使用せずに証明書を取得する
$PEPOP/bin/crtreq コマンドを用いて、コマンドレベルで ICAP に証明書取得 要求を出し、証明書を取得することができます。この際、当該ユーザの証明書 リクエストファイル(4.1参照) が必要になります。取得した証明書と、生成さ れた秘密鍵はそれぞれファイルに格納されます。証明書は $PEPOP/crt に、 秘密鍵は $PEPOP/key に移動させた後、pedbmenu -u の "4. Add new certificate" で登録してください。

(c) メール送信時に動的に取得する
ユーザ証明書が DB に登録されていない場合、PEPOP は当該ユーザのメール送信 時に動的に ICAP に証明書取得要求を出し、証明書を取得します。

3.3 PEPOP サーバの設定

3.3.1 PEPOP サーバプログラム概要

 PEPOP サーバプログラムには、以下の2つがあります。サーバプログラムの詳細に ついては、付録を参照のこと。

(a) SMTP インタフェースサーバ (pesmtpd)
pesmtpd は、UA からのメール送信要求を受けとり、メールの暗号化、受信者の 証明書取得などを行うサーバプログラム。

(b) POP インタフェースサーバ (pepopd)
pepopd は、UA からのメール受信要求によって POP サーバから返されるメール を解析し、サポートしている暗号メールの場合には復号し UA にメールを渡す。 また、メールの整合性チェック、添付されてきた証明書のキャッシュなどを行う サーバプログラム。

3.3.2 PEPOP サーバプログラムの起動方法

 PEPOP サーバの起動方法には、以下に示す2種類の方法があります。尚、本章では、 PEPOP を /usr/local/etc/pepop にインストールしたものとして説明します。daemon でサーバとして動かすため、終了は設定を元に戻した後、kill コマンドでプロセス 削除する必要があります。

(1) コマンドとして起動する場合
/etc/rc.local に以下の行を追加する
    if [ -x /usr/local/etc/pepop/bin/pesmtpd ] ; then
        /usr/local/etc/pepop/bin/pesmtpd -s
    fi
    if [ -x /usr/local/etc/pepop/bin/pepopd ] ; then
        /usr/local/etc/pepop/bin/pepopd -s
    fi
  

(2) inetd から起動する場合
/etc/inetd.conf に以下の行を追加する。
     pesmtpd stream tcp nowait  root  /usr/local/etc/pepop/bin/pesmtpd pesmtpd
     pepopd  stream tcp nowait  root  /usr/local/etc/pepop/bin/pepopd pepopd
    

/etc/inetd.conf に追加後、以下のコマンドで inetd に定義を再読み込みさせる 必要があります。

    # ps -ef |grep inetd
    root   111     1  0   8月 08 ?        0:12 /usr/sbin/inetd -s
    #
    # kill -HUP 111
  

※ PEPOP ディレクトリ、ポート番号を変更している場合にはコマンド引数を指定する 必要があります。

例)PEPOP ディレクトリを /usr/home/pepop, ポートを 1090 番にし、inetd から 起動する場合の pesmtpd 指定方法(/etc/inetd.conf)
    pesmtpd stream  tcp nowait  root  /usr/home/pepop/bin/pesmtpd
    pesmtpd -port 1090 -conf /usr/home/pepop/conf/pepop.cnf
  

3.3.3注意事項

(1) メール送信の際のユーザ認証には、現在時刻を使用した OTP を使います。した がって、PEPOP サーバマシンとメール送信するマシンとの間に大きな時間の差がある と、ユーザ認証に失敗する可能性があります。PEPOP サーバを使用する前に、マシン の現在時刻を合わせるようにしてください。

3.4メールクライアントの準備

 メールクライアントの準備事項を以下に説明します。メールの送受信の方法につい ては5章を参照してください。

3.4.1 OTP 生成プログラムの入手

 ユーザ認証として OTP(One Time Passwd) を使用する際は、メールクライアントに OTP 生成ソフトが必要となります。録したパスワードを鍵にして OTP を生成し、メー ル送信時に PEPOP サーバとのユーザ認証を行います(passgen)。

3.4.2メールクライアントの設定

 PEPOP サーバを従来の SMTP, POP サーバと異なるサーバにインストールした場合、 また、ポート番号が異なる場合(pesmtpd の場合 25, pepopd の場合 110)、メール クライアントでの接続先等の設定変更を行う必要があります。

変更の方法については、それぞれのメールクライアントのマニュアルを参照して ください。

3.4.3 注意事項

(1) メール送信の際のユーザ認証には、現在時刻を使用した OTP を使います。した がって、PEPOP サーバマシンとメール送信するマシンとの間に大きな時間の差がある と、ユーザ認証に失敗する可能性があります。PEPOP サーバを使用する前に、マシン の現在時刻を合わせるようにしてください。

4. PEPOP サーバ運用

4.1 動作概要

上記設定を行えば、基本的に UA から通常のメール送信の手段で送信するだけで PEPOP を使用した暗号メールを利用することが出来るようになります。図 2 に PEPOP の動作概要を示します。

図 2 PEPOP 動作概要

 PEPOP はユーザからのメール送信要求に対し、送信者チェック、受信者チェック を行い、必要に応じて各ユーザの公開鍵証明書を自動的 ICAP に問い合わせ、取得 します。この時、送信者の公開鍵証明書の有効期限が切れていたり、すでに CA により破棄されていた場合には、新たに鍵を作り直して証明書の更新を代行します。

 証明書を取得後、ユーザからの指示により必要な暗号を施し、メール送信します。

 受信時は、受信したファイルの内容を判断し、暗号メールならば復号してメール クライアントに送信します。この際、送信時と同様に送受信者のチェックを行い、 証明書を取得/更新などを行います。

4.2 日々の運用

 PEPOP は基本的に自動で ICAP と問い合わせ、証明書の更新や CRL の取得などを 行います。したがって、通常の運用として管理者の行う作業は以下のようなものに なります。

(1) ユーザ登録
ユーザの初期登録を行います。詳細は 3.2章を参照してください。
(2) ユーザ情報の変更/更新
(a) ユーザのパスワードや暗号アルゴリズムに変更があった場合には pedbmenu コマンドを用いて、当該ユーザの情報を変更します。
(b) ユーザの所属や肩書きなど、証明書に設定してある内容の変更が生 じた場合には $PEPOP/crtreq 下の、当該ユーザの証明書リクエスト ファイルを修正します(3.2.2章)。本ファイルは、証明書更新時に自動的 に読み込まれます。
(3) ユーザ情報の削除 不要となったユーザ情報は、pedbmenu コマンドを使用して情報を削除して ください。

4.3 実行中に作成/更新されるファイル一覧

ディレクトリファイル名説明
.$PEPOP
.userdb.indexユーザ DB ファイル
.userdb.data登録されているユーザの証明書更新等の際に 変更になる。
.cachedb.indexキャッシュ DB ファイル
.cachedb.dataICAP より検索した証明書、メールに添付され ている証明書の保存時に更新される。
.crldb.indexCRL DB ファイル
.crldb.dataCRL の取得/更新時に変更される。
cache????????キャッシュした証明書がファイルと して保存される。
crl????????CRL がファイルとして保存される。
crt????????ユーザ証明書がファイルとして保存され る。
key????????ユーザ秘密鍵がファイルとして保存され る。
logpesmtpd.logpesmtpd ログ
pesmtpd.pidpesmtpd のプロセス ID を保存したファイル。

-s オプション付きで起動したときに生成。

pepopd.logpepopd ログ
pepopd.pidpepopd ID を保存したファイル。

-s オプション付きで起動したときに生成。

5. メールクライアントでのメール送受信

5.1 PEPOP へのメール送信

 メール送信に先立って、以下の項目を確認してください。 (1) 接続する PEPOP サーバにユーザ登録してあるか。

(2) OTP プログラムが使用できるか。

 メール送信は、以下の手順に従って行います。

(1) メール本文を作成する。

(2) 宛先を設定する。

(3) OTP を作成する。

(4) メールの To、Cc、Bcc フィールドのいずれかに(3) で生成した OTP を 追加する。

(5) メールを送信する。

5.2PEPOP からのメール受信

メールの受信は、通常のメールの受信と同様の手順で行うことができます。

 受信したメールが S/MIME 形式のメールであった場合、図3の形式で、S/MIME の復号結果が添付ファイルとして付いた形で受信されます。また、PEM 形式であった 場合には図4の形式で返されます。

 その他のメール形式のものは、通常通り何の処理も施さずに、メールクライアント に転送します。

  MIME-Version: 1.0
  Content-Type: multipart/mixed; boundary="===875154424===SMIME==="
  --===875154424===SMIME===
  本文
  --===875154424===SMIME===
  Content-Type: text/plain; charset="us-ascii"
  Content-Disposition: attachment; filename="smime.txt"
  
  Message Type = メッセージ種別
  
  0 Singer Information
    [Message]
      Signature = 署名確認結果

    [Authenticated Attributes]
      contentType =        本文のタイプ
      messageDigest =      メッセージダイジェスト
      signingTime =        署名時間
      SMIMECapabilities    S/MIME Capabilities
  --===875154424===SMIME===--

図3 PEPOP での S/MIME メール受信形式

レポートパラメータ

項目説明
メッセージ種別Signed Data 署名データ
Enveloped Data暗号データ
Signed and Enveloped Data署名+暗号データ
Enveloped Signed Data署名データを暗号化したデータ
署名確認結果Valid 署名は有効
Not verify because there is no certificate 証明書がないために署名の有効性確認ができなかった
Invalid署名が不正。本文が改竄されている恐れがある。
本文のタイプdataデータ型
メッセージダイジェスト本文のメッセージダイジェスト
署名時間署名した時間が設定される。形式は、 YYMMDDHHMMSSZ
S/MIMECapabilitiesS/MIME が設定した Capabilities が設定される。

  メールヘッダ
  本文
  ----- FJPEM INTEGRITY REPORT -----
  Message Integrity: メッセージ署名確認結果
  Originator Certificate: 証明書署名確認結果
    証明書所有者情報
  ----- FJPEM REPORT END -----

図4 PEPOP での PEM メール受信形式

表10 PEM レポートパラメータ

項目説明
メッセージ署名確認結果Valid 署名確認成功
Invalid署名確認失敗 (本文が改竄されている可能性有り)
証明書署名確認結果Valid 証明書確認成功
Invalid証明書確認失敗
証明書所有者情報証明書の所有者情報

6. トラブルシューティング

6.1 ログファイル

 障害が発生した場合、 $PEPOP/log/*.log の PEPOP ログ情報は有効な問題解決の 糸口となります。以下にログファイルの形式を示します。

[プロセス ID] yy/mm/dd hh:mm:ss:ms : メッセージ

 障害が発生した場合には、その旨を伝えるログメッセージが出力されます。また、 再現性のあるエラーの場合、PEPOP 定義ファイル(デフォルト: $PEPOP/conf/pepop.cnf) 中、debugprint 定義を yes にして実行することで、さらに詳しいメッセージ情報が ログに出力され、障害を特定する手がかりとなります。

6.2エラー時の動作

 PEPOP が意識して処理する SMTP コマンド (MAIL, RCPT) についてエラーの場合に 返すエラーコードを表 11 に示します。エラーが発生した場合、SMTP のコマンドの リターンとして表に示すコードをメールクライアントに返します。

 尚、PEPOP の内部処理エラーの場合には PEPOP のログファイルに詳細情報が出力 されます。

表11 PEPOP(SMTP)エラーリターンコード一覧

項目CMDコードメッセージ 説明
送信者特定MAIL 451PEPOP internal error. PEPOP 内部処理エラー
501%s is not registered in the user DB. %s がユーザ DB に未登録
暗号モード、OTPRCPT 451PEPOP internal error. PEPOP 内部処理エラー
501Failed to verify the OTP. OTP による認証失敗
Specified the no supported encryption mode. サポートされていない暗号モード
受信者指定RCPT451 PEPOP internal error.PEPOP 内部処理エラー
その他DATA 451 PEPOP internal error.PEPOP 内部処理エラー
Could not get certificate of %s. %s の証明書の取得不可
503No OTP specified. OTP が指定されていない

7. コマンド一覧

7.1 PEPOP サーバプログラム

7.1.1 PEPOP SMTP サーバインタフェース

pesmtpd -h | -ver | [-s] [-port n] [-conf <config file name>]

オプションの説明

-h上記コマンドヘルプを表示します。
-ver PEPOPバージョンを表示します。
-s inetd から起動しない場合に指定します。
-port ポート番号を指定します。本指定を省略した場合にはデフォルトで 25 番が設定されます。
-conf PEPOP 定義ファイルをフルパスで指定します。本指定が省略された 場合にはデフォルトで /usr/local/etc/pepop/conf/pepop.cnf が指 定されます。

ディレクトリ  pesmtpd では実行時に以下のディレクトリを必要とします。起動に先駆けて作成 する必要があります(バイナリパッケージを展開した場合、または、ソースを make install でインストールした場合には、自動的に作成されます)。

PEPOP ディレクトリ
crt: 登録ユーザ用証明書ディレクトリ
key: 登録ユーザ用秘密鍵ディレクトリ
crtreq: 証明書リクエストファイル用ディレクトリ
cash: 証明書キャッシュ用ディレクトリ
crl: CRL 用ディレクトリ
log: ログディレクトリ
tmp: 一時ファイルディレクトリ

生成ファイル pemstpd 実行中に生成するファイルの一覧を表12に示します。

表12 pesmtpd 生成ファイル一覧

ファイル名作成されるディレクトリ 説  明
pesmtpd.pid$PEPOP/log/. (*1) プロセス ID
pesmtpd.log$PEPOP/log/. ログファイル
PE*.crt$PEPOP/crt/. 証明書ファイル
$PEPOP/cache/.
PE*.key$PEPOP/key/. 秘密鍵ファイル

(*1) スタンドアロンモード (-s) で起動したときのみ作成される。

7.1.2 PEPOP POP サーバインタフェース

pepopd -h | -ver | [-s] [-port n] [-conf <config file name>]
オプションの説明

-h上記コマンドヘルプを表示します。
-verPEPOP バージョンを表示します。
-sinetd から起動しない場合に指定します。
-port ポート番号を指定します。本指定を省略した場合にはデフォルトで 110 番が設定されます。
-conf PEPOP 定義ファイルをフルパスで指定します。本指定が省略された場合 にはデフォルトで/usr/local/etc/pepop/conf/pepop.cnf が指定されます。

ディレクトリ

 pepoppd では実行時に以下のディレクトリを必要とします。起動に先駆けて 作成する必要があります(バイナリパッケージを展開した場合、または、ソースを make install でインストールした場合には、自動的に作成されます)。

PEPOP ディレクトリ

crt: 登録ユーザ用証明書ディレクトリ
key:登録ユーザ用秘密鍵ディレクトリ
crtreq:証明書リクエストファイル用ディレクトリ
cash:証明書キャッシュ用ディレクトリ
crl: CRL 用ディレクトリ
log: ログディレクトリ
tmp: 一時ファイルディレクトリ

生成ファイル

 pemstpd 実行中に生成するファイルの一覧を表 13 に示します。

表 13 pepopd 生成ファイル一覧

ファイル名作成されるディレクトリ説  明
pesmtpd.pid$PEPOP/log/. (*1) プロセス ID
pesmtpd.log$PEPOP/log/. ログファイル
PE*.crt$PEPOP/crt/. 証明書ファイル
$PEPOP/cache/.
PE*.key$PEPOP/key/. 秘密鍵ファイル
(*1) スタンドアロンモード (-s) で起動したときのみ作成される。

7.2 PEPOP DB 操作コマンド

7.2.1 DB 初期化コマンド

pedbinit -h | [-u|-ca|-cr] -f <basepath>

オプションの説明

-hコマンドの使用方法を表示する。
-uDB ファイルをユーザ用に作成する。
-caDB ファイルをキャッシュ用に作成する。
-crDB ファイルを CRL 用に作成する。
-fPEPOP の basepath を指定する。

生成ファイル

 pedbinit コマンドが生成するファイルの一覧を表 14 に示します。

表 14 pedbinit 生成ファイル一覧

TD ROWSPAN=2>-cr
オプションファイル名説  明
-u.usrdb.index ユーザ DB
.usrdb.data
-ca.cachedb.index キャッシ DB
.cachedb.data
.crldb.indexCRL DB
.crldb.data

注意事項
a. 存在しているファイルに対して初期化コマンドは使用できない。

b. キャッシュ用に作成した DB をユーザ DB として使用することはできない。また、その 逆もできない。

7.2.2 DBファイル操作コマンド

pedbmenu -h | [-u|-ca|-cr] -f <basepath>
オプションの説明
-hコマンドの使用方法を表示する。
-uユーザ DB を指定する。
-caキャッシュ DB を指定する。
-crCRL キャッシュ DB を指定する。
-fPEPOP の basepath を指定する。

インタラクティブモード

 本コマンド実行後、コマンドラインからのパラメータ入力モードとなる。選択肢の場合には、 [ ] 内がデフォルト値となり、指定しなくても当該値が自動的に設定されます。指定を間違えた 場合は、最終確認時に NG を選択することで、登録をキャンセルすることができます。

 選択可能なパラメータの場合は、一覧表示が現れ、その中からパラメータを選択することがで きます。それ以外の場合は、正しい値を入力してください。

 各メニューの選択肢のうち "99:Exit" を選択すると、一つ前のメニューにもどります。メニュー の階層構造を図5に示します。

  pedbmenu
    1. Print users
        User Information
    2. Print certificates
        User List
           Certificate List
              Certificate Information
    3. Add new user
    4. Add new certificate
        User List
    5. Change user information
        User List
    6. Change certificate information
        User List
           Certificate List
    7. Delete user information
        User List
    8. Delete certificate information
       User List
           Certificate List
    9. Set Administrator Password
    10. Delete Administrator Password
    99. Exit

図 5 pedbmenuメニュー階層図

ユーザ DB  ユーザ DB は当該サイトにメールアカウントのあるユーザの情報を管理するための DB。 メール送信す場合には、この DB 内容に基づきユーザ認証を行い証明書等の情報を取得する。

 ユーザ DB に対するメニューで選択可能な項目と、その説明を表 15 に示します。

表 15ユーザ DB メニュー

MENU#項 目説 明
1Print users登録されているユーザ情報を表示します。具体的な 内容は表 16を参照してください。
2Print certificates登録されているユーザの証明書を表示します。 具体的な内容は表 17 を参照してください。
3Add new userユーザ情報を登録します。登録する項目は 表 16 を参照してください。
4Add new certificateユーザに対して新しい証明書を登録します。
5Change user informationユーザ情報を変更します。変更する項目は 表 16 を参照してください。
6Change certificate information証明書と秘密鍵ファイルを変更 します。
7Delete user informationユーザ情報を削除します。ユーザの 持っている証明書ファイル、秘密鍵ファイルも削除されます。
8Delete certificate information証明書情報を削除します。当該証明書 と、対になる秘密鍵ファイルも削除されます。
9Set Administrator Password管理者のパスワードを設定します。 すでにパスワードが設定されている場合には、パスワードを変更します。
10Delete Administrator Password管理者パスワードを削除します。
99Exitメニューを終了します。

表 16ユーザ情報

項目説明
Mail Addressユーザのメールアドレスを指定します。
Certificate type証明書の種類を指定します。
Passwordユーザのパスワード(8文字以内)。
Userdata証明書発行に必要なデータを記述したファイル名。
Digest Algorithmメッセージダイジェストのアルゴリズム
Content Encryption Algorithm内容暗号化アルゴリズム
Default Data Encryption Modeデフォルト暗号化モード

表 17 証明書情報

項目説明
USERユーザのメールアドレス
Certificate file name証明書ファイル名
Private key file name秘密鍵ファイル名
Issuer証明書の発行者
Serial Number証明書のシリアル番号
Validity of Certificate証明書の有効期限。期限切れの証明書を示した 場合には、(expired) と表示される
Validity of Extension field証明書の拡張フィールドの有効期限。 期限切れの場合には、(expired) と表示される

キャッシュ DB  キャッシュ DB は外部サイトのユーザの情報を管理するための DB。メール送信時に、相手の 証明書を索したり、メールに添付された証明書を保存するために使用する。

 ユーザ DB に対するメニューで選択可能な項目と、その説明を表 18 に示します。

表 18 キャッシュ DB メニュー

MENU#項目説明
1Print users登録されているユーザ情報 を表示します。具体的な 内容は表 16 を参照してください。
2Print certificates登録されている ユーザの証明書を表示 します。具体的な内容は表 17 を参照してください。
3Add new userユーザ情報を登録します。 登録する項目はメール アドレスと証明書の種類です。
4Add new certificateユーザに対して 新しい証明書を登録 します。
6Change certificate information証明書 ファイルを変更します。
7Delete user informationユーザ情報を 削除します。ユーザの 持っている証明書ファイルも削除されます。
8Delete certificate information証明書 情報を削除します。 当該証明書も削除されます。
9Set Administrator Password管理者の パスワードを設定します。 すでにパスワードが設定されている場合には、パスワードを変更します。
10Delete Administrator Password管理者 パスワードを削除します。
99Exitメニューを終了します。

CRL DB

CA から発行される CRL を管理するための DB。各証明書の有効性を確認するために、本 DB から該当する CRL を取得する。

表19 CRL DB メニュー

MENU#項目説明
2Print CRL files登録されている CRL の内容を表示します。表示される内容は表 20を参照してください。
4Add new CRL files新規に CRL を追加 します。
6Change CRL informationすでに登録され ている CRL のファイルを変更します。
8Delete CRL information登録されている CRL 情報を削除します。CRL ファイルも削除されます。
9Set Administrator Password 管理者のパスワードを設定します。すでにパスワードが設定されている場合には、 パスワードを変更します。
10Delete Administrator Password管理者 パスワードを削除します。
99Exitメニューを終了します。

表 20 CRL 情報

CRL 発行者名
項目説明
CRL file nameCRL ファイル名
Issuer
LastUpdate発行日
NextUpdate次回発行日
CRL Entry証明書破棄リスト

注意事項 (1) 本コマンドを実行する前に、pedbinit コマンドでファイルを初期化している必要があります。

(2) pedbmenu のトップメニューから番号を選んだ時点で、起動時にオプションで指定した DB ファイルはロックされます(再びトップメニューに戻るとロックは解除されます)。したがって、 コマンド実行中のまま放置しますと、ファイルのロックが原因で PEPOP のデーモンが停止する 場合があります。本コマンド使用後は速やかにコマンドを終了するようにしてください。

(3) pedbmenu コマンドによる証明書の内容表示には x509prt コマンドが必要です。 pedbmenu コマンドと同じディレクトリに x509prt コマンドを置いてください。

(4) pedbmenu コマンドによる CRL の内容表示には crlprt コマンドが必要です。pedbmenu コマンド と同じディレクトリ crlprt コマンドを置いてください。

7.3 証明書関連コマンド

7.3.1 証明書取得コマンド

  crtreq -req <config file name> [-crt <certificate file>]
-key <private key file> -ca <CA address> -cp <CA port>
オプションの説明
-req証明書リクエスト定義ファイル名を指定する。
-crt証明書の出力ファイル名を指定する。本パラメータはオプショ ンであり、省略すると証明書の内容は標準出力に出力される。
-key秘密鍵の出力ファイル名を指定する。
-ca証明書発行要求を出す ICAP (CA) の IP アドレス、または、 ドメイン名を指定する。
-cp証明書発行要求を出すICAP (CA) のポート番号、または、サービス 名を指定する。

7.3.2 証明書内容表示コマンド

  x509prt [-l] <file name>

オプションの説明

-l本オプションを指定すると、CRL の内容のうち以下の内容のみを 表示する(本オプションを省略した場合はすべての情報を表示する)。

(1) Issuer
(2) Serial Number
(3) Validity of Certificate
(4) Validity of Extension field

7.3.3 CRL 取得コマンド

crlreq [-crt <certificate file >] [-crl <CRL file>]

-ca <CA address> -cp <CA port>

オプションの説明
-crt証明書ファイル名を指定する。本パラメータはオプションであり、 省略すると問い合わせた ICAP の CRL を取得する。指定した場合には、指定した証明書 発行局 CA の CRL を取得する。
-crlCRL の出力ファイル名を指定する。
-ca証明書発行要求を出す ICAP (CA) の IP アドレス、または、 ホスト名を指定する。
-cp証明書発行要求を出す ICAP (CA)のポート番号、または、サービス 名を指定する。

7.3.4 CRL 内容表示コマンド

crlprt [-l] <file name>
オプションの説明
-l本オプションを指定すると、CRL の内容のうち以下の内容のみ を表示する(本オプションを省略した場合はすべての情報を表示する)。

(1) Issuer (2) LastUpdate (3) NextUpdate (4) CRL Entry (もしあれば)

7.4 OTP 生成プログラム

7.4.1 概要

 本プログラムは、PEPOP サーバのユーザ認証のための One Time Password (OTP) 生成プログラム です。あらかじめ PEPOP に登録されたユーザパスワードと、PEPOP >でのメールの処理方法(暗号 モード)を入力することで、OTP を生成することができます。出力される OTP の形式は以下のよう になっています。

<暗号モード>@<OTP>

 暗号モードは、表 21 に示すモードのうちのいずれかを選択してください。また、暗号モードと 暗号アルゴリズムの対応を表 22 に示します。

表 21暗号モード一覧

暗号モード説明
noPEPOP では何も処理せず、通常のメールとして送信する場合に使用する (PEPOPを利用できないユーザとのやりとりに使用する)。
sig署名付きでメールを送信する。この場合、本文は読むことのきる形で送信 される。S/MIME (楕円曲線暗号対応 UA/PEPOP を利用できるユーザは、署名の検証ができ る。
enc一旦署名した本文を暗号化して送信する。S/MIME (楕円曲線暗号) 対応 UA/PEPOP を利用できるユーザ間で安全にメールをやり取りする場合に指定する。
smmsgr署名付きでメールを送信する。この場合、本文は読むことのできる形で 送信される。S/MIME (RSA) 対応 UA/PEPOP を利用できるユーザは、署名の検証ができる。
smwecr一旦署名した本文を暗号化して送信する。S/MIME (RSA) 対応/PEPOP を利用できるユーザ間で安全にメールをやり取りする場合に指定する。
fpsigPEM により署名付きメールを送信する。
fpencPEM により暗号メールを送信する。

表 22 暗号モードによるアルゴリズム対応表

暗号モード署名暗号アルゴリズム プロトコル備考
no×× なしなし
sig× EC(MyEllty) S/MIME
enc
smmsgr× RSA
smwecr
fpsig×PEM
fpenc

7.4.2コマンドライン版 (UNIX)

 コマンドライン版は UNIX でのみ動作します。詳細は以下の通り。


  passgen -ver | -t <time interval (min)>

[-i <user password>] [-m mode#]

オプションの説明

-verコマンドのバージョンを表示する。
-tOTP 生成間隔を分単位で指定する。本値は、接続する PEPOP の設定値に 合わせて指定する必要がある。
-iユーザパスワードを指定する。
-m暗号モードを指定する。暗号モードは以下に示すモードを番号で指定する。

mode#暗号署名アルゴリズムプロトコル 説明
1×× なしなし 暗号化しない
2× EC(MyEllty) S/MIME署名のみ付加
3 署名+暗号化
4× RSA署名のみ付加
5 署名+暗号化
6× PEM署名のみ付加
7 署名+暗号化

例1) 引数としてパスワードを受け取った場合

  % passgen -t 3 -i icat -m 4
  smmsgr@DieH3CyR  <--- 作成された OTP
  %
例2) パスワードが指定されずに起動した場合
  % passgen -t 3
  *** Welcome to password generate program for PEPOP ***
  Select (0:Generate OTP, 99:Exit) [0] : 0
  Input your password :      <--- 8文字以上の入力は無視される
  Input again         :
  mode#|Sign|Enc.|Algorithm|Protocol| Memo
  -----+----+----+---------+--------+---------------------
    1  | x  | x  |   none  |  none  | Normal mail
    2  | o  | x  |   EC    | S/MIME | Sign
    3  | o  | o  |   EC    | S/MIME | Envelope signed data
    4  | o  | x  |   RSA   | S/MIME | Sign
    5  | o  | o  |   RSA   | S/MIME | Envelope signed data
    6  | o  | x  |   RSA   |  PEM   | Sign
    7  | o  | o  |   RSA   |  PEM   | Sign and Envelope
  -----+----+----+---------+--------+---------------------
  Select mode #   [1] : 4
  Generated OTP       : smmsgr@DieH3CyR
 
  Select (0:Generate OTP, 99:Exit) [0] :
  mode#|Sign|Enc.|Algorithm|Protocol| Memo
  -----+----+----+---------+--------+---------------------
    1  | x  | x  |   none  |  none  | Normal mail
    2  | o  | x  |   EC    | S/MIME | Sign
    3  | o  | o  |   EC    | S/MIME | Envelope signed data
    4  | o  | x  |   RSA   | S/MIME | Sign
    5  | o  | o  |   RSA   | S/MIME | Envelope signed data
    6  | o  | x  |   RSA   |  PEM   | Sign
    7  | o  | o  |   RSA   |   PEM  | Sign and Envelope
  -----+----+----+---------+--------+---------------------
  Select mode #   [2] :   <--- 前回の入力がデフォルト
  Generated OTP       : smmsgr@PM9hygXM    <--- 時間が経過すると違う OTP
 
  Select (0:Generate OTP, 99:Exit) [0] :
  Worning -- No input for 3 min., so password was cleared.
  
  Select (0:Generate OTP, 99:Exit) [0] : 0
  Input your password :
  Input again         :
  mode#|Sign|Enc.|Algorithm|Protocol| Memo
  -----+----+----+---------+--------+---------------------
    2  | x  | x  |   none  |  none  | Normal mail
    3  | o  | x  |   EC    | S/MIME | Sign
    4  | o  | o  |   EC    | S/MIME | Envelope signed data
    5  | o  | x  |   RSA   | S/MIME | Sign
    6  | o  | o  |   RSA   | S/MIME | Envelope signed data
    7  | o  | x  |   RSA   |   PEM  | Sign
    8  | o  | o  |   RSA   |   PEM  | Sign and Envelope
  -----+----+----+---------+--------+---------------------
  Select mode #   [2] : 5
  Generated OTP       : smwecr@KnA5jsKJ

7.4.3 GUI 版(Windows95, WindowsNT 4.0)

ユーザパスワード

ユーザ指定のパスワード。画面には、「*」で表示され、8文字以降は無視されます。

暗号モード

 ◎以下の暗号モードのうちから一つを選択する。

署名をつける ... 署名を付加するが本文は可視。

暗号化+署名 ... 署名した本文をさらに暗号化する。

暗号化しない ... 通常のメールと同様に送信される。当該項目を選択した場合には、 暗号モードは暗号アルゴリズムによらず必ず no になります。

◎以下の暗号アルゴリズムのうちから一つを選択する。

S/MIME (RSA) ... RSA 版 S/MIME PEM (RSA) ... PEM

OTP

ユーザパスワードを元に生成された One time password。

OTP生成間隔

 次のOTPを生成する時間間隔。間隔は、パスワードを生成してからの経過時間ではなく、 (分 MOD OTP時間間隔) = 0 のタイミングで、次のOTPとなる。

生成時に OTP をクリップボードにコピーする 生成されたOTPを自動的にクリップボードにコピーするか否かを指定するチェックボックス。

パスワードクリアの実行時間

OTP 生成プログラム起動中に、席を立つなどして入力がなくなった場合安全のため入力されて いるパスワードを自動的にクリアする時間の間隔。最後に OTP を生成した瞬間からの経過時間。

左記時間経過後にパスワードをクリアする ユーザが最後に画面に対して操作した時間から「パスワードクリアの実行時間」で指定した時間 が経過すると、入力した「ユーザパスワード」をクリアするか否かを指定するチェックボックス。

OK 入力されたユーザパスワードを確定し、OTPを生成する。 終了 プログラムを終了する。

※注意事項

Windows 版では、以下の DLL が必要となります。PASSGEN.EXE と同じディレクトリにコピーするか C:\WINDOWS\SYSTEM にコピーしてください。

(a) PEPOP.DLL (PEPOP パッケージに添付)

7.5 その他のコマンド

7.5.1 PEPOP 定義チェックコマンド

pecnftest [-c] -f <config file name>

オプションの説明

-c定義中、SMTP サーバ、POP サーバCA サーバへの接続確認を行う。
-fPEPOP 定義ファイルを指定する。


[HOME] [Homepageへ戻る] webmaster@icat.or.jp
Last modified : Mon Sep 7 11:01 JST 1998