PemCAT/WIN バージョン 1.2.2 取扱説明書

ICAT事務局

1998年2月18日


  

目次

1. PemCATの概要   1.1 PemCAT の使用に必要な基礎知識   1.2 PEMCAT バージョン 1.2.2 の機能概要 2. 入手方法 3. バイナリパッケージファイルの中身  3.1 動作テスト用ユーザの秘密鍵、公開鍵情報ファイル - key  3.2 動作テスト用ユーザの公開鍵証明書ファイル - cert  3.3 動作テスト用発行局の公開鍵証明書ファイル - issuer 4. ファイルの解凍とインストール 5. バイナリパッケージの動作テスト  5.1 動作テスト用ユーザの公開鍵証明書の確認  5.2 動作テスト用発行局の公開鍵証明書の確認  5.3 動作テスト用公開鍵証明書データベースの確認  5.4 動作テスト用秘密鍵情報の確認  5.5 動作テストに使用するデータの作成  5.6 暗号化のテスト  5.7 復号化のテスト  5.8 電子署名のテスト  5.9 電子署名の検証のテスト  5.10 動作テストの終了 6. 実際に使用するための環境設定  6.1 秘密鍵、公開鍵の対の作成  6.2 プロキシサーバの設定   6.2.1 プロキシサーバを使用する場合の設定   6.2.2 プロキシサーバを使用しない場合の設定  6.3 証明書発行局の公開鍵証明書の取得  6.4 自分の公開鍵証明書の発行依頼と取得  6.5 環境設定の終了 7. 各機能の使用方法  7.1 公開鍵証明書の検索とデータベースへの登録  7.2 データの暗号化  7.3 データの復号化  7.4 データへの電子署名  7.5 電子署名の検証  7.6 パスフレーズの確認方法の設定  7.7 公開鍵証明書の破棄  7.8 バージョンの確認 8. 公開鍵証明書の内容 9. 証明書発行局間の信頼関係

1. PemCAT の概要

 PemCAT は、RFC 1421, RFC 1422, RFC 1423, RFC 1424 で提案されている Privacy Enhanced Mail (PEM) に従って、電子メールの暗号化と電子署名を行 うプログラムである。これにより盗聴や改ざんといったネットワーク上に存在 する脅威に対して解決策を提供できる。
 この章では、PemCAT を使用するために必要な基礎知識と本バージョンの機能 概要を示す。

1.1 PemCAT の使用に必要な基礎知識

 この節では、PemCAT を使用するために必要な基礎知識を簡単に説明する。公 開鍵暗号、電子署名、メッセージダイジェスト、公開鍵証明書、証明書発行局、 RSA、DES、MD2 についてすでに知っている方は
第1.2章へ 進んで頂きたい。
 他人には秘密にしたい情報をネットワーク上で電子メールを使って交換したい としよう。そのまま送信してしまうと、盗聴された場合他人その情報を知られ てしまう。盗聴を意図していなくても、宛先のメールアドレスをタイプミスし てしまったなどの理由でエラーメールとして処理され、メールサーバの管理者 に送られてしまう場合もある。これらの例のように、意図しない人へ情報を開 示してしまう危険を避けるために PemCAT を使うことができる。相手しか知り 得ない情報でのみ復号化できるように暗号化した上でネットワークへ送信すれ ば他人にそのメールを見られても、この暗号が破られない限り情報が意図した 人以外へ知られることはない。
 送信元アドレスを偽って電子メールを送ることは、比較的簡単に行うことがで きる。これを悪用し、ある人になりすましてメールを送信するような攻撃が可 能である。また、配送中にデータが改ざんされるような攻撃も考えられる。これら を防ぐために電子署名を使用できる。PemCAT は電子署名を次の手順で行う。 メールの本文からハッシュ関数を使って計算的な特徴を表すメッセージダイジェ ストと呼ばれる固定長の短いデータを作成する。これへ送信者しか知り得ない 情報を使って暗号化することによって電子的な署名を行うことができる。この 暗号化されたデータが正しいものか検証することによって、メールの本文が改 ざんされていないかを確かめることができる。
 これらの暗号化や電子署名の機能は、公開鍵暗号技術に基づいて実現されてい る。公開鍵暗号は、秘密鍵と公開鍵の対を一組として暗号と復号を行う。秘密 鍵で暗号化したデータは公開鍵で復号化でき、公開鍵で暗号化したデータは秘 密鍵で復号化できる。以前の説明で「知り得ない情報」と書いていたものが秘 密鍵に当たる。これを知ることができるということが、その人や組織などであ ることを示す信頼点になるため、他人に知られないようにしなければならない。
 一方、公開鍵は情報を交換する相手へ知らせなければならない。相手が公開鍵 で暗号化したデータを共通鍵で復号化したり、自分の秘密鍵によって行われた 電子署名を相手が検証できるようにするためである。
 しかし、攻撃者がその人になりすまして、「これが私の公開鍵です」「私の公 開鍵はこの公開鍵に変更しました」と偽の公開鍵を相手に渡す可能性がある。 これを防ぐために PEM では、公開鍵証明書を使用して公開鍵の交換と管理を 行う。公開鍵証明書は、信頼できる機関が証明される公開鍵情報へ電子署名す ることによって作成し、発行される。この公開鍵証明書を発行する機関を 証明書発行局[1]という。証明書発行局は、公開鍵証明書を 発行する前に、証明される公開鍵情報が正しいものであることを何らかの方法で確 かめる必要がある。
 PemCAT は、公開鍵暗号に RSA、メッセージダイジェストの作成に MD2 を使う。 実際には、データの暗号化には RSA ではなく DES で行う。これは、RSA でデー タの暗号化を行うには時間がかかるためである。これに比べ DES による暗号化は 高速である。ただし、DES は暗号と復号に同じ鍵を使用する共通鍵暗号である ため RSA の代用としては使えない。PemCAT では RSA はデータを暗号化する ときに使う DES の鍵を暗号化するために使用する。DES の鍵は 64 ビット固 定長と短いため RSA で暗号化してもそれほど時間がかからない。PEM ではこ のように公開鍵暗号と共通鍵暗号を組み合わせて使う方法で暗号の高速化をは かっている。RSA は RSA Data Security, Inc. によって開発された暗号化方式、 MD2[2]は、同じく RSA Data Security, Inc. によってハッシュ方式である。DES[3] は米国の標準になっている暗号方式である。

1.2 PemCAT バージョン 1.2.2 の機能概要

 Microsoft Windows 95/NT 用バージョン 1.2.2 で実現されている機能の概要 を下に示す。
  • PEM 形式での RSA 公開鍵暗号と DES 共通鍵暗号を用いた暗号化と復号化
  • PEM 形式での MD2 ハッシュ関数と RSA 公開鍵暗号を用いた電子署名とその検証
  • X.509 バージョン 1 形式の公開鍵証明書の管理機能
  • ICAT CA Package (ICAP) バージョン 1.0b, 1.0 との連携
 ICAP の他のバージョンとの連携機能はサポートしていない。この機能を使用 する際は、正しいバージョンを使用しているか注意していただきたい。特に、 ICAP バージョン 2.0 以降は、証明書の形式が X.509 バージョン 3 になって いる。PemCAT バージョン 1.2.2 では、この形式の証明書をサポートしていな い。
 また、ICAP バージョン 1.0b と 1.0 の仕様は多少異なっている。ICAP のバー ジョンが 1.0 である場合は、証明書の破棄を行う連携機能を使用できない。

2. 入手方法

 下の URL から ZIP 形式で圧縮された Windows 95/NT 用 PemCAT バージョン 1.2.2 のバイナリパッケージをダウンロードできる。
  ftp://ftp.icat.or.jp/pub/pemcat/pemcat-win32-1.2.2.zip
 ダウンロードに使用するソフトウェアの使用方法は、そのマニュアルを参照し て欲しい。また、匿名 FTP を使用する方法は、ネットワークの設定によって 異なる。わからない場合はあなたのサイトのネットワーク管理者へ相談して欲 しい。

3. バイナリパッケージファイルの中身

 パッケージに含まれているファイルを表1に示す。 この中には、バイナリパッケージを正しくダウンロードができたかどうかを確 かめるための動作テスト用ファイルもいくつか含まれている。
ファイル名概要
Copyrightソフトウェア使用条件などのファイル
README.TXTPemCAT のマニュアル
PemCAT.EXEPemCAT の実行ファイル
key動作テスト用ユーザの秘密鍵、公開鍵情報ファイル
cert動作テスト用ユーザの公開鍵証明書ファイル
issuer動作テスト用発行局の公開鍵証明書ファイル
CertDirtest動作テスト用公開鍵証明書ファイル

表1バイナリパッケージに含まれているファイル

 これらは、あくまで動作テストのためのものである。実際に他の PEM ユーザとデー タを交換する際に PemCAT で行う暗号化や電子署名には使わない。
第5章で説明する 動作テストを行った後は、削除したり、上書きしてかまわない。再度、動作テストが必 要になったな場合は、パッケージから取り出せばよい。
 正式に使用するためのこれらのファイルは、第5章で説 明する動作テスト後、第6章の説明に従って作成していた だきたい。
 この章の各節では、動作テスト用のファイルについて説明する。

3.1 動作テスト用ユーザの秘密鍵、公開鍵情報ファイル - key

 パッケージ内のファイル key には、動作テストのための仮のユーザの 秘密鍵と公開鍵の情報が含まれている。この中の公開鍵情報に基づいて、ユー ザの公開鍵証明書が作成される。秘密鍵と公開鍵は対で一組になっており、公 開鍵暗号による暗号化、復号化、電子署名とその検証を行うには、正しい両方 の鍵情報が必要である。
 また、秘密鍵は、そのユーザのみが知っていて、他の人には一切知られてはい けない情報なので、その管理は注意をしなければならない。他の人がこの情報 をコピーした場合、その秘密鍵を使って電子署名や暗号化が行われ、そのユー ザへなりすますことが可能になる。
 例えば、フロッピーディスクなどに記入して、書き込み保護をし、電子署名や 暗号化を行うとき以外は、安全な場所へ保管するなどの対処をする必要がある。 フロッピーディスクは入手が容易なため一つの方法として例にあげたにすぎな い。利用可能であれば、さらにデータ改ざんや破壊を行うのが難しいメディア へ保管する方が望ましい。

3.2 動作テスト用ユーザの公開鍵証明書ファイル - cert

 パッケージ内のファイル cert には、ICAT のテスト用証 明書発行局である “Interauth Experimental Certificaion Authority”(以下 Interauth 実験用証明書発行局) から PemCAT の動作をテ ストするための仮のユーザへ発行された公開鍵証明書が含まれている。この
ユーザの識別名[4]は、下のものである。

  C=JP;O=ICAT;OU=Experimental;CN=Gonbe Nanashi
 “=” の左側のアルファベットは属性の種別を表し、右側はその値を表してい る。ここで使われているそれぞれの属性の説明を下に示す。
C Country の頭文字。国名の識別子を値として持つ。値の “JP” は日本
    を表す識別子である。

O Organization の頭文字。組織名を値として持つ。
OU Organization Unit の頭文字。部門名を値として持つ。
CN Common Name の頭文字。共通名を値として持つ。氏名などをこの属 性値へ指定する。

 証明書内のその他の情報は、第8章で説明する。

3.3 動作テスト用発行局の公開鍵証明書ファイル - issuer


 パッケージ内のファイル issuer は、Interauth 実験用証明書発行局 の公開鍵証明書である。これは、動作テスト用ユーザの公開鍵証明書ファイル cert とは違い正式な証明書発行局の公開鍵証明書である。Interauth 実験用証明書発行局が他のユーザや証明書発行局へ公開鍵証明書を発行してい れば、その公開鍵証明書に含まれている証明書発行局の電子署名を検証すると きなどに実際に使用される。
 Interauth 実験用証明書発行局の識別名は、下のものである。
C=JP;O=ICAT;OU=Interauth Experimental Certificaion Authority

 動作テスト用ユーザの公開鍵証明書は、この証明書発行局から発行されており、 その有効性の検証に必要なのでバイナリパッケージに収められている。検証は、 証明書発行局の公開鍵証明書内の公開鍵情報を使い、テスト用ユーザの公開鍵 証明書に含まれている証明書発行局の電子署名が正しいものか確認することに よって行われる。
 この発行局の証明書は、ICAT ポリシ証明書発行局[5]か ら発行されている。この証明書発行局の識別名は、下のものである。
C=JP;O=ICAT;OU=Certificatoin Authority

4. ファイルの解凍とインストール


 適当なディレクトリを作成して、バイナリパッケージの ZIP ファイルに含ま れているファイルを解凍する。解凍するためのプログラムには、pkunzip, WinZip などがある。これらは、インターネット上のサイトなどからダウンロー ドできる。
 解凍に使用するアーカイブソフトウェアの使用方法は、それぞれのパッケージ の文書を参照して欲しい。
 ここでは、フリーウェアの Info-ZIP に含まれているunzip.exeコマ ンドを使って解凍する場合を一例として示す。ここで使用した Info-ZIP は、 下の URL から入手した。
 
ftp://ftp.vector.co.jp/pack/win95/util/arc/unz512xn.exe
へダウンロー ドした PemCAT のパッケージから C:\PemCAT ディレクトリへインストールする手順を 下に示す。
  1. Windows 95 の場合は [スタート]-[プログラム]-[MS-DOSプロンプト]、 Windows NT の場合は [スタート]-[プログラム]-[コマンドプロンプト] を選 択し、プログラムを起動する。
  2. 次の手順でコマンドを実行し、パッケージを解凍する。

    C:\> C:
    C:\> mkdir \PemCAT
    C:\> cd \PemCAT
    C:\PemCAT> unzip \tmp\pemcat-win32-1.2.2
    C:\PemCAT>

  3. MS-DOS プロンプトを終了する。
 C:\PemCAT に第3章で説明したファ イルが展開される。インストールは、これで完了である。
 第5章の動作テストでは、このディレクトリへインストー ルしたものとして説明する。他のディレクトリへパッケージを展開した場合は、 適切なものに読み替えて欲しい。

5. バイナリパッケージの動作テスト

 この章では、
第4章でインストールしたプログラムの 動作テストを行う。
 以下の各節の手順を行うために、まず PemCAT.EXE を実行して欲しい。

5.1 動作テスト用ユーザの公開鍵証明書の確認


 [証明書] メニューから [公開鍵] を選択する。図1の動作テスト用ユーザの公開 鍵証明書の内容が表示されると思う。
 以前に、そのマシンで PemCAT を使用していた場合、表示されないか、別の内 容が表示されることがある。この場合、[設定/登録] メニューから [公開鍵証 明書] を選び、[証明書ファイルのPath] が C:\PemCAT\cert になっているか確認し て頂きたい。もし、異なっている場合は、[変更] ボタンを押して、このファイルを 使用するように設定する必要がある。
Serial No = 16D
Validity
        from 960613103447Z
        to   970613103447Z
issuer:
        C=JP
        O=ICAT
        OU=Interauth Experimental Certification Authority
subject:
        C=JP
        O=ICAT
        OU=Experimental
        CN=Gonbe Nanashi
signature:
        md2WithRSAEncryption
publickey:
        alg = rsaEncryption

図1:動作テスト用ユーザの公開鍵証明書の内容


5.2 動作テスト用発行局の公開鍵証明書の確認


 [証明書] メニューから [発行局] を選択する。図2の動作テスト用発行局の公開鍵証明書の内容が表示 されると思う。
 以前に、そのマシンで PemCAT を使用していた場合、表示されないか、別の内 容が表示されることがある。この場合、[設定/登録] メニューから [発行局証 明書] を選び、[証明書ファイルのPath] が C:\PemCAT\issuer になっているか確認して頂 きたい。もし、異なっている場合は、[変更] ボタンを押して、このファイル を使用するように設定する必要がある。
Serial No = A
Validity
        from 960618000000Z
        to   970617000000Z
issuer:
        C=JP
        O=ICAT
        OU=Certification Authority
subject:
        C=JP
        O=ICAT
        OU=Interauth Experimental Certification Authority
signature:
        md2WithRSAEncryption
publickey:
        alg = rsaEncryption

図2:動作テスト用発行局公開鍵証明書の内容

図3:秘密鍵情報の暗号化の確認ダイアログ

5.3 動作テスト用公開鍵証明書データベースの確認

 [証明書] メニューから [公開鍵データベース] を選択する。 選択画面に test だけが表示されていると思う。
 以前に、そのマシンで PemCAT を使用していた場合、test 以外のもの が表示されていたり、何も表示されないことがある。 この場合、[設定/登録] メニューから [公開鍵証明書データベース] を選び、 [証明書データベースのPath] が C:\PemCAT\CertDir になっているか確認して 頂きたい。もし、異なっている場合は、[変更] ボタンを押して、このディレクトリを使用するように設定する必要がある。

5.4 動作テスト用秘密鍵情報の確認

 [証明書] メニューから [秘密鍵情報] を選択する。
 このとき、秘密鍵情報を暗号化するかを問い合わせる図3の秘密鍵ファイル を暗号化するかを問い合わせるダイアロ グが表示されるが、この秘密鍵情報は動作テストが終了したら不要になるので、 どちらを選択しても構わない。[はい] を選択した場合は、復号化するための パスフレーズの入力を求められる。パスフレーズを設定した場合は忘れないよ うにしていただきたい。このパスフレーズを忘れた場合は、以降のテストがで きなくなる。この時は、
第4章のファイルの解凍とイ ンストールからやり直す必要がある。
 図4の動作テスト用秘密鍵、公開鍵情報の内容が表示されると思う。
 以前に、そのマシンで PemCAT を使用していた場合、表示されないか、別の内 容が表示されることがある。この場合、[設定/登録] メニューから [秘密鍵生 成] を選び、[秘密鍵ファイルのPath] が C:\PemCAT\key になっているか確認して頂き たい。もし、異なっている場合は、[参照...] ボタンを押して、このファイル を使用するように設定する必要がある。
L  = 512
P  = 95ac50ee5517e12a44fd0cce517a947e001a01fed8982f687dc22019d998a66b
Q  = 889ce27f64e8c4b5506472beaea168e34c227f184827f52c9ab7cdae50b4f41b
A  = 60ba615f31347c96d535b20ed476033546001f24733bced1915882234ad9a0a4
N  = 4fdf446c895e7e4f570f34d25b1a9613843c23fae7b5480fdf312d26663ec9b5
     dc65ec5eb950ab7f7d6e857ab40fc21c3a928eba3ed694d967c0852fe4f38949
D  = 49b7606963e7486065936d46f03a7b648bd90dc41672638df28a6a87543a82e34
     3cb328d8ab60a5ae94a8bbc3527b8dc65f81a220034e96cc255fe8b07e2f999
d1 = 0341b69918fce607576cf224631d79b1ac2ae4b438de46d9cd32b62419d9fa75
d2 = 3684b57735a416ec6cdac9580384f2c0d2df696d1d4ea4ef5a074413eead6845

図4:動作テスト用秘密鍵、公開鍵情報の内容


5.5 動作テストに使用するデータの作成

 これで、データの暗号化と復号化、電子署名とその検証のテストを行う準備が 整った。次に、テストに使用する適当なデータを作成する。
 [ファイル] メニューから [新規作成] を選択する。[Pemcat1] というタイト ルが付いたウィンドウが作成されると思う。ここへ図5のような適当な文書を入力する。
これから PemCAT の動作テストをします。
これはテスト用のデータです。

図5:テスト用データ


5.6 暗号化のテスト

 
第5.5節で作成したウィンドウ [Pemcat1] をクリッ クしてアクティブにする。[暗号] メニューから [暗号化] を選択すると、暗号化したデータの送り先となる相手を選択するためのダイアログが表示される。 [test] を選択し [OK] ボタンを押すと [Pemcat1暗号化] というウィンドウが 作成され、[Pemcat1] の内容が [test] 公開鍵証明書内の公開鍵を使って暗号 化される。
 公開鍵証明書 [test] は、C:\PemCAT\CertDir\test にあり、 その内容は C:\PemCAT\cert と同じである。 つまり、テスト用ユーザが自分の公開鍵で自分自身へ送信するための暗号文書 が作成されたことになる。
 暗号化されたファイルの例を図6に示す。あなたが テストしたものと内容が異なっていると思う。これは、データ暗号化に使用し ている DES の鍵が異なるためである。
 PemCAT は暗号化するとき、同時に電子署名も行う。電子署名をせずに暗号化 のみを行う機能はない。
-----BEGIN PRIVACY-ENHANCED MESSAGE-----
Proc-Type:4,ENCRYPTED
Content-Domain:RFC822
DEK-Info: DES-CBC,9E0A94796B1E1BD4
Originator-Certificate:
 MIIBizCCATUCAgFtMA0GCSqGSIb3DQEBAgUAMFUxCzAJBgNVBAYTAkpQMQ0wCwYD
 VQQKEwRJQ0FUMTcwNQYDVQQLEy5JbnRlcmF1dGggRXhwZXJpbWVudGFsIENlcnRp
 ZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDYxMzEwMzQ0N1oXDTk3MDYxMzEwMzQ0
 N1owSzELMAkGA1UEBhMCSlAxDTALBgNVBAoTBElDQVQxFTATBgNVBAsTDEV4cGVy
 aW1lbnRhbDEWMBQGA1UEAxMNR29uYmUgTmFuYXNoaTBcMA0GCSqGSIb3DQEBAQUA
 A0sAMEgCQQBP30RsiV5+T1cPNNJbGpYThDwj+ue1SA/fMS0mZj7Jtdxl7F65UKt/
 fW6FerQPwhw6ko66PtaU2WfAhS/k84lJAgMBAAEwDQYJKoZIhvcNAQECBQADQQBd
 P0XAWslYu25IUylV2Z0cXgld4lO4qLpcLJxrDzQgKzLxZ07Df3Rx8UEmeZ+L8HLU
 2ks9MZl3DFzHGp0oeUzS
Key-Info: RSA,
 B7wlvFl8ZwA4ksjyhCB/qNZbJGMQy1Inw+kAhSPrUawVTuhWt4hDkVRx+bky72Ef
 im9IwpWWuNo8dQalO4VrWN==
Issuer-Certificate:
 MIIBiTCCAScCAQowDQYJKoZIhvcNAQECBQAwPjELMAkGA1UEBhMCSlAxDTALBgNV
 BAoTBElDQVQxIDAeBgNVBAsTF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
 MDYxODAwMDAwMFoXDTk3MDYxNzAwMDAwMFowVTELMAkGA1UEBhMCSlAxDTALBgNV
 BAoTBElDQVQxNzA1BgNVBAsTLkludGVyYXV0aCBFeHBlcmltZW50YWwgQ2VydGlm
 aWNhdGlvbiBBdXRob3JpdHkwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAdcCnZ6oI
 eT2QPGNdq+CIoh9SxvwqH44ze74Ag3qjKa5q9o96VeMqJrP/0soQt8qzwZWk3d1y
 Xx+zZlu6LfEO9QIDAQABMA0GCSqGSIb3DQEBAgUAA00AQ7jB1Jv2x3tXKo8XJ4OM
 Z+fdj61DiDI5UhgRyyjGujyuga3icM0y9v/REAgM1fRD+QLwWvaJN2I0xVIv5yCc
 dLUU3pMAEJIO1zQNYy==
MIC-Info: RSA-MD5,RSA,
 9KF8Y/N4OYMomh96fvEb3eAUuPlH02mojG/Y4ryTL6d6ZIS4E/1GQjvSSrN1rOlj
 orkW1Hwf4uiw2jLssS3ULLaS409oBQJ1
Recipient-ID-Asymmetric:
 MFUxCzAJBgNVBAYTAkpQMQ0wCwYDVQQKEwRJQ0FUMTcwNQYDVQQLEy5JbnRlcmF1
 dGggRXhwZXJpbWVudGFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5,
 16d
Key-Info: RSA,
 T2mDzFK2XqKlWoExQYJfWOQGXTeOmyr7YJAMEDOjgZQWNnkWHs5V2HRZnPy2MceT
 X668m38S2nSPHgvXh/8Jdu==

AW3C+IGWfHeH+Y2BvnCHwCNGjSrLFC9hlFlVaIr0q1nsEci/RLtXBDePddfNR3OF
B56PJLzcax8MMkY/Q9DKHBLYwEGhaKgc+QieMtxEoqOWYO0e1MbRToI3vEshZvzR
-----END PRIVACY-ENHANCED MESSAGE-----

図6:暗号化した文書の例


5.7 復号化のテスト

 
第5.6節で暗号化したウィンドウ [Pemcat1暗号化] を クリックしてアクティブにする。[暗号] メニューから [復号化(検証)] を選 択すると、[Pemcat1暗号化復号化] というウィンドウが作成され、復号化され たデータがその中に表示される。[Pemcat1] の内容と同じであれば、正しく復 号化されたことがわかり、第5.6節で正しく暗号化され ていたこともわかる。
 また、暗号化するときに同時に行われた電子署名の検証結果も別のダイアログ に表示される。検証結果を図7に示す。 C=JP;O=ICAT;OU=Experimental;CN=Gonbe Nanashiによって行われた電 子署名が正しく検証されたことがわかる。
Message Integrity: Valid
Originator Certificate: Valid
        C=JP
        O=ICAT
        OU=Experimental
        CN=Gonbe Nanashi
Issuer Certificate: Valid

図7:暗号化されたデータに含まれている電子署名の検証結果


 復号化は [暗号] メニューから [復号化] を選択しても行うことができる。こ の場合、電子署名の検証は行われない。

5.8 電子署名のテスト

 
第5.5節で作成したウィンドウ [Pemcat1] をクリッ クしてアクティブにする。[暗号] メニューから [署名] を選択すると、 [Pemcat1署名] というウィンドウが作成され、[Pemcat1] へ秘密鍵で電子署名 した内容が表示される。
 署名したファイルの例を図8に示す。
-----BEGIN PRIVACY-ENHANCED MESSAGE-----
Proc-Type:4,MIC-CLEAR
Content-Domain:RFC822
Originator-Certificate:
 MIIBizCCATUCAgFtMA0GCSqGSIb3DQEBAgUAMFUxCzAJBgNVBAYTAkpQMQ0wCwYD
 VQQKEwRJQ0FUMTcwNQYDVQQLEy5JbnRlcmF1dGggRXhwZXJpbWVudGFsIENlcnRp
 ZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDYxMzEwMzQ0N1oXDTk3MDYxMzEwMzQ0
 N1owSzELMAkGA1UEBhMCSlAxDTALBgNVBAoTBElDQVQxFTATBgNVBAsTDEV4cGVy
 aW1lbnRhbDEWMBQGA1UEAxMNR29uYmUgTmFuYXNoaTBcMA0GCSqGSIb3DQEBAQUA
 A0sAMEgCQQBP30RsiV5+T1cPNNJbGpYThDwj+ue1SA/fMS0mZj7Jtdxl7F65UKt/
 fW6FerQPwhw6ko66PtaU2WfAhS/k84lJAgMBAAEwDQYJKoZIhvcNAQECBQADQQBd
 P0XAWslYu25IUylV2Z0cXgld4lO4qLpcLJxrDzQgKzLxZ07Df3Rx8UEmeZ+L8HLU
 2ks9MZl3DFzHGp0oeUzS
Issuer-Certificate:
 MIIBiTCCAScCAQowDQYJKoZIhvcNAQECBQAwPjELMAkGA1UEBhMCSlAxDTALBgNV
 BAoTBElDQVQxIDAeBgNVBAsTF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
 MDYxODAwMDAwMFoXDTk3MDYxNzAwMDAwMFowVTELMAkGA1UEBhMCSlAxDTALBgNV
 BAoTBElDQVQxNzA1BgNVBAsTLkludGVyYXV0aCBFeHBlcmltZW50YWwgQ2VydGlm
 aWNhdGlvbiBBdXRob3JpdHkwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAdcCnZ6oI
 eT2QPGNdq+CIoh9SxvwqH44ze74Ag3qjKa5q9o96VeMqJrP/0soQt8qzwZWk3d1y
 Xx+zZlu6LfEO9QIDAQABMA0GCSqGSIb3DQEBAgUAA00AQ7jB1Jv2x3tXKo8XJ4OM
 Z+fdj61DiDI5UhgRyyjGujyuga3icM0y9v/REAgM1fRD+QLwWvaJN2I0xVIv5yCc
 dLUU3pMAEJIO1zQNYy==
MIC-Info: RSA-MD5,RSA,
 TWB7XZLsI5YBTwEWkyD9z+ShhRD1ovx3ytBfXeW5DwauFTsuOeYWP9HBTyL1LhHK
 dovHI0uvs9uaQBK+W9Nm/e==

これから PemCAT の動作テストをします。
これはテスト用のデータです。
-----END PRIVACY-ENHANCED MESSAGE-----

図8:電子署名した文書の例


5.9 電子署名の検証のテスト

 
第5.8節で電子署名したウィンドウ [Pemcat1署名] を クリックしてアクティブにする。[暗号] メニューから [復号化(検証)] を選 択すると、[Pemcat1署名復号化] というウィンドウが作成され、電子署名され たメッセージの内、元のデータだけがその中に表示される。電子署名の検証結 果が別のダイアログに表示される。検証結果を図9に示す。C=JP;O=ICAT;OU=Experimental;CN=Gonbe Nanashi によって行 われた電子署名が正しく検証されたことがわかる。
Message Integrity: Valid
Originator Certificate: Valid
        C=JP
        O=ICAT
        OU=Experimental
        CN=Gonbe Nanashi
Issuer Certificate: Valid

図9:電子署名の検証結果


 [暗号] メニューから [復号化] を選択すると、元のデータだけを取り出して、 表示することができる。この場合、電子署名の検証は行われない。

5.10 動作テストの終了

 この章で説明した動作に問題がなければ、バイナリパッケージは正しく動作し ている。データの暗号化と復号化、電子署名とその検証は問題なく行える。
 この章の説明と動作が違っている場合は、設定が正しくないか、バイナリパッ ケージのダウンロードに失敗している可能性がある。適当な場所から作業をや り直し、正しく動作することを確認してから先へ進んでいただきたい。
 動作テストで作成されたウィンドウを閉じるときに、内容を保存するか確認す るダイアログが表示されるが、保存する必要はない。

6. 実際に使用するための環境設定

 実際に他の PEM ユーザと電子メールの交換を行う前に、この章で説明する作 業を行って PemCAT の環境設定をする必要がある。
 ここでは、ICAP バージョン 1.0b または 1.0 を運用している証明書発行局を 使用することを前提としている。作業の概要を下に示す。
  1. 秘密鍵、公開鍵の対を作成する。
  2. 必要があれば、プロキシサーバの設定をする。
  3. 使用する証明書発行局の公開鍵証明書を取得する。
  4. 自分の公開鍵証明書の発行を証明書発行局に依頼し、発行された証明書 を取得する。

 必要に応じて、電子メールを交換する相手の公開鍵証明書を取得する。

6.1 秘密鍵、公開鍵の対の作成

 この節では、PemCAT で使用するあなたの秘密鍵と公開鍵の対を作成する。作 業は下の手順で行う。
  1. [設定/登録] メニューから [秘密鍵生成] を選択する。
  2. 図10の秘密鍵を生成するためのダイアログが表示さ れる。[秘密鍵生成] ボタンを押し、秘密鍵と公開鍵の作成プロセスを開始す る。
  3. [秘密鍵ファイルのPath] と同名のファイルがすでに存在している場合 は、図11のファイルの上書きを確認するダイアログ が表示される。新しく作成するものへ置き換える必要があるので [OK] ボタン を押す。
  4. 図12のダイアログが表示される。任意の文字列を 入力し [OK] ボタンを押す。
    PemCAT では秘密鍵の生成時に乱数を発生させる必要がある。ここで入力され た文字列は、この乱数を生成するための情報の一部として使われる。この情報 は乱数の生成に使われた後一切使用しないので、この文字列を覚えておく必要 はない。
  5. 図13のパスフレーズを設定するためのダイアログ が表示される。ここでは、秘密鍵を使うときに入力するパスフレーズ(パスワー ド)を指定する。2つの欄に同じ文字列を入力し [OK] ボタンを押すと設定さ れる。ここで指定した文字列は秘密鍵を参照するときに必要になるので、絶対 に忘れてはならない。忘れた場合は、第6.1節から設定をや り直す必要がある。
    このダイアログに表示される [毎回パスフレーズを確認する] チェックボック スをオンにしておくと、PemCAT が秘密鍵を参照する必要がある度にパスフレー ズの入力が求められる。オフにした場合は、PemCAT を起動して最初に秘密鍵 を参照するときに一度パスフレーズの入力を求められ、PemCAT を終了するま でパスフレーズを入力する必要がなくなる。できるだけ強力なセキュリティを 求めているならば、使い勝手は悪くなるが、オンにすることが望ましい。
  6. 図14の秘密鍵と公開鍵の情報を表示するダイアロ グに、ここで作成した秘密鍵と公開鍵の情報が表示される。[閉じる] ボタン を押して鍵の生成作業を終了する。

図10:秘密鍵生成ダイアログ


図11:秘密鍵の上書き確認ダイアログ


図12:乱数生成情報の入力ダイアログ


図13:秘密鍵のパスフレーズの設定ダイアログ


図14:作成した秘密鍵と公開鍵情報のダイアログ


6.2 プロキシサーバの設定

 PemCAT は、ICAP へアクセスするためのプロトコルに
HTTP[6] を使用する。PemCAT を使用するマシンから HTTP でインターネットへアクセスするためにプロキシサーバ(代理サーバ)を 経由する必要がある場合は、第6.2.1節の設定を行う必要が ある。直接アクセス可能な場合は、第6.2.2節へ進んでい ただきたい。

6.2.1 プロキシサーバを使用する場合の設定

 プロキシサーバを使う場合の設定は下の手順で行う。
  1. [設定/登録] メニューから [HTTP Proxy の設定] を選択すると図15のプロキシサーバの設定をするためのダイアログが表示される。
  2. [HTTP Proxy を使う] チェックボックスをオンにする。
  3. あなたが使用するプロキシサーバのホスト名または IP アドレスを [Proxy Host] に入力する。
  4. HTTP プロキシサービスを提供するポート番号を [Port] に入力する。
  5. [OK] ボタンを押して、設定を反映させる。

 プロキシサーバのホスト名やポート番号がわからない場合は、あなたのサイト のネットワーク管理者へ問い合わせて頂きたい。

図15:HTTP プロキシサーバの設定ダイアログ


6.2.2 プロキシサーバを使用しない場合の設定

 プロキシサーバを使わない場合の設定は下の手順で行う。
  1. [設定/登録] メニューから [HTTP Proxy の設定] を選択すると図15の プロキシサーバの設定をするためのダイアログが表示される。
  2. [HTTP Proxy を使う] チェックボックスをオフにする。
    このとき他の欄に何かが入力されていても構わない。チェックボックスがオフ になっているとき、PemCAT はこれらの情報を参照しない。
  3. [OK] ボタンを押して、設定を反映させる。

6.3 証明書発行局の公開鍵証明書の取得

 この節では、ICAP を運用している証明書発行局の公開鍵証明書を取得する。  取得できない場合は、ネットワークやプロキシサーバの設定の問題の可能性が ある。ネットワークの設定の問題については、あなたのサイトのネットワーク 管理者へ相談していただきい。プロキシサーバの設定の問題の場合は、
第6.2節の作業を行ってから、この節の作業をやり直して頂きたい。
 下の手順で証明書発行局の公開鍵証明書を取得する。
  1. [設定/登録] メニューから [発行局証明書] を選択すると図16のダイアログが表示される。
  2. [CAから取得] ボタンを押すと図17の証明書発行 局の選択するためのダイアログが表示される。目的の証明書発行局のホスト名 または IP アドレスを入力するか、ドロップダウンリストボックスから選択し、 [OK] ボタンを押す。
  3. [証明書の登録] のテキストボックスに取得した証明書が取得される。
  4. ここで [証明書情報] ボタンを押すと取得した証明書の内容を確認する ことができる。
  5. 証明書の内容が目的とする証明書のものであれば、[OK] ボタンを押し て [証明書ファイルのPath] で指定されたファイルへ保存する。

図16:公開鍵発行局証明書の設定ダイアログ


図17:公開鍵発行局ホストの選択ダイアログ


6.4 自分の公開鍵証明書の発行依頼と取得

 この節では、ICAP を運用している証明書発行局へ自分の公開鍵証明書の発行 を依頼し、発行された証明書を取得する。
 発行依頼や公開鍵証明書の取得できない場合は、ネットワークやプロキシサー バの設定の問題の可能性がある。ネットワークの設定の問題については、あな たのサイトのネットワーク管理者へ相談していただきい。プロキシサーバの設 定の問題の場合は、
第6.2節の作業を行ってから、この 節の作業をやり直して頂きたい。
 下の手順で公開鍵証明書の発行依頼と取得を行う。
  1. [設定/登録] メニューから [公開鍵証明書] を選択すると、図18の自分の 公開鍵証明書を設定するダイアログが表示される。
  2. [CAから取得] ボタンを押すと図17の証明書発行 局の選択ダイアログが表示される。目的の証明書発行局のホスト名または IP アドレスを入力するか、ドロップダウンリストボックスから選択し、[OK] ボ タンを押す。
  3. 図19の識別名を指定するためのダイアログが表示される。 ここには、あなたを識別するための情報を入力する。この情報は、公開鍵証明 書の中に含まれ、証明書内の公開鍵が誰のものなのかを示すために使われる。
    どのような識別名を指定すれば良いかは、依頼する証明書発行局の運用ポリシ に依存する。わからない場合は証明書発行局の管理者へ相談して頂きたい。
  4. ここで PemCAT は秘密鍵を参照するので設定によっては、図20の秘密鍵の パスフレーズの入力を求めるダイアログが表示される。
    表示された場合はパスフレーズを入力して [OK] ボタンを押す。
  5. 図21のダイアログが表示される。ここには、 ICAP へ公開鍵証明書の発行依頼をするために必要な証明書発行のためのアカ ウントとパスワードを入力する。ICAP バージョン 1.0b と 1.0 では、このア カウントとパスワードをユーザ認証の基準として証明書の発行依頼を受け付け る。これらの情報は、ICAP の運用管理者からあらかじめ入手しておく必要が ある。
    アカウントとパスワード (2つ) を入力し [OK] ボタンを押すと公開鍵証明書 の発行と取得が行われる。
    証明書発行局のホスト名に www.icat.or.jp を指定した場合は、ICAT がテスト用に運用している PILOT-CA が発行依頼先になる。PILOT-CA では、 下のアカウントとパスワードを指定して誰でも発行依頼ができるように設定さ れている。

    アカウント: pilot-ca
    パスワード: pilot-ca

    ただし、この情報は一般に公開されていて誰でも使用することができるので、 PILOT-CA で発行された公開鍵証明書が、本当に識別名に書かれている人のも のなのかは保証されない。PILOT-CA を使用する場合は、この点を十分に理解 する必要がある。

  6. 発行と取得が成功した場合は、図22のダイアログが表示されるので [OK] ボタンを押す。
    失敗した場合は、入力した情報を確認して、この手順をやり直して頂きたい。
  7. [証明書情報] ボタンを押すと公開鍵証明書の内容を確認することがで きる。[subject] のところに先ほど指定した識別名があるか確認して欲しい。
  8. [有効性の確認] を押すと ICAP へ問い合わせて、この証明書の有効性 を確認できる。問い合わせるホスト名は、発行を依頼したホスト名と同じでな ければならない。
  9. [OK] ボタンを押して取得した公開鍵証明書を [証明書ファイルの Path] で指定したファイルへ保存する。

図18:自分の公開鍵証明書の設定ダイアログ


図19:識別名を指定するためのダイアログ


図20:秘密鍵のパスフレーズの入力を求めるダイアログ


図21:ICAP への発行依頼情報を入力するためのダイアログ


図22:ICAP からの証明書取得の成功を通知するダイアログ


6.5 環境設定の終了

 以上で、PemCAT を使用して暗号化と復号化、電子署名とその検証を行うため の環境設定が終了した。個々の機能を使用するための操作は、
第5章の動作テストでも 簡単に示したが、一般的な手順は第7.1章に示す。必要に応じて参照して頂きたい。

7. 各機能の使用方法

 この章では、PemCAT に実装されている各機能の使用方法を説明する。
 基本的にどの順番で参照しても構わない。しかし、暗号化を行う場合は、その 前に相手の公開鍵証明書を取得する必要がある。このため、
第7.1節を最初に読む ことをお勧めする。

7.1 公開鍵証明書の検索とデータベースへの登録

 この節では、ICAP から公開鍵証明書を検索しデータベースへ登録する方法を 説明する。
 データの暗号化を行う前に、送信先の公開鍵をあらかじめ入手する必要がある。 ここで説明する手順に従って、相手の公開鍵証明書を入手することにより、相 手の公開鍵を知ることができる。
 また、その公開鍵を使用する前に、入手した公開鍵証明書が有効であるかどう かを確認することをお勧めする。これは、証明書含まれている公開鍵が正しく なかった場合に暗号化したデータを相手が復号化できなかったり、攻撃者によっ て偽造された証明書である場合は意図しないデータの開示につながる可能性が あるからである。
 自分自身も暗号化したデータを復号化できるようにする場合は、[設定/登録]- [公開鍵証明書] で表示されるダイアログの [公開鍵証明書のPath] で指定さ れている自分の公開鍵証明書ファイルを CertDir ディレクトリへコピー しておくか、この節で説明する手順で自分の公開鍵証明書をデータベースに登 録しておく必要がある。
 PemCAT バージョン 1.2.2 では、ICAP バージョン 1.0b と 1.0 が提供する証 明書検索機能を使用することができる。
 下の手順で公開鍵証明書の検索とデータベースへの登録を行うことができる。
  1. [設定/登録] メニューから [公開鍵証明書データベース] を選択して、 図23の公開鍵証明書データベースの設定ダイアログを表示 する。
  2. [登録] ボタンを押して、図24の公開鍵証明書の 登録ダイアログを表示する。
  3. [CAから取得] ボタンを押すと、図17の証明書発行 局の選択ダイアログが表示される。目的の証明書発行局のホスト名または IP アドレスを入力するか、ドロップダウンリストボックスから選択し、[OK] ボ タンを押す。
  4. 図25の検索条件を入力するためのダイアロ グが表示される。取得したい公開鍵証明書のシリアル番号、識別名の各属性値、 証明書の状態などがわかっていればここで入力する。指定した文字列が証明書 の属性値の一部に一致していれば検索結果に表示される。また、アルファベッ トの大文字と小文字は区別されない。もし、シリアル番号を知っていれば、そ れだけを検索条件に指定することにより確実に1つの公開鍵証明書だけを検索 することができる。条件を何も指定しない場合は、CA に登録されている全て の公開鍵証明書が検索結果に表示されることになる。
    検索条件を入力し終わったら [OK] ボタンを押して ICAP へ検索を依頼する。
  5. ICAP の応答から図26のダイアログに検索条件に 一致した証明書の情報が表示される。
  6. 登録したい証明書がこの中にあれば、リストボックスから1つ選んで [OK] ボタンを押す。ない場合は、[キャンセル] ボタンを押して、問い合わせ る ICAP のホスト名や検索条件を確かめた上で検索をやり直す。
  7. ICAP から選択した公開鍵証明書をダウンロードが始まり、図24の公開鍵証明書の登録ダイアログの [証明書の登録] の テキストボックスにダウンロードした公開鍵証明書が表示される。
  8. [証明書情報] ボタンを押すと公開鍵証明書の内容を確認することがで きる。[subject] のところが目的の識別名であるか確認して欲しい。
  9. [有効性の確認] を押すと ICAP へ問い合わせて、この証明書の有効性 を確認できる。問い合わせるホスト名は、検索を依頼したホスト名と同じでな ければならない。
  10. [証明書の名称(相手のアドレスなど)] にこの証明書を保存するための 名前を指定する。この名前はファイル名として使用できるものでなければなら ない。
  11. [登録] ボタンを押すと指定した名前で証明書が保存される。
 ICAP で検索する必要がない場合は、別の方法で入手した公開鍵証明書を図23のダイアログで [登録] ボタンを押した後、Ctrl+V キー で貼り付けたり、[ファイルから] ボタンを押してファイルから読み込んで登録することができる。

図23:公開鍵証明書データベースのダイアログ


図24:公開鍵証明書の登録ダイアログ


図25:公開鍵証明書の検索条件を指定するダイアログ


図26:公開鍵証明書の検索結果を表示するダイアログ


7.2 データの暗号化

 データの暗号化を行う前に、送信先の公開鍵をあらかじめ入手する必要がある。 ここでは、相手の公開鍵証明書を PemCAT のデータベースへ登録済みであるこ とを前提に説明する。まだ、登録できていない場合は、
第7.1節を参照して入手して頂きたい。
 また、暗号化を行う前に、入手した公開鍵証明書が正しいものであるかあらか じめ確認することをお勧めする。
 データの暗号化は下の手順で行う。
  1. まず暗号化する文書を用意する。これは、下のいずれかの方法で準備す る。

    • [ファイル]-[新規作成] で新しいウィンドウを開き、ここへ入力する か、Ctrl+V キーでテキストデータを貼り付ける。

    • [ファイル]-[開く] であらかじめ用意したテキストファイルを読み込 む。

  2. 用意した文書のウィンドウをクリックしてアクティブな状態にして、 [暗号] メニューから [暗号化] を選択する。
  3. 暗号化するときに、電子署名も同時に行われる。電子署名するときには 秘密鍵が参照されるので、設定で [毎回パスフレーズを確認する] をオンにし ているか、PemCAT を起動してから始めて秘密鍵の参照が行われる場合はパス フレーズの入力を求められる。
  4. 図27の送信先の公開鍵証明書を選択するためのダ イアログが表示される。ここで送信先の公開鍵証明書を選択する。
    このダイアログでは複数の公開鍵証明書を選択することができる[7]。
    複数の項目を選択する方法については、使用している Windows のマニュアルを参照して欲しい。
  5. “暗号化”が追加されたタイトルが付いたウィンドウが作成され、そ こに暗号化されたデータが表示される。

図27:公開鍵証明書の選択


7.3 データの復号化

 この節では PEM 形式で暗号化されたデータを復号化する手順を示す。PEM 形 式であっても、自分宛てに暗号化されていなければ復号化はできない。また、 暗号化に使用された公開鍵の証明書が X.509 バージョン 3 形式である場合 PemCAT バージョン 1.2.2 では復号化できない。復号化した結果が正しくない 場合、これら点を確認して欲しい。
 データの復号化は下の手順で行う。
  1. まず復号化する PEM 形式で暗号化された文書を用意する。これは、下 のいずれかの方法で準備する。

    • [ファイル]-[新規作成] で新しいウィンドウを開き、ここへ Ctrl+V キーで暗号化されたテキストデータを貼り付ける。

    • [ファイル]-[開く] であらかじめファイルへ保存したテキストファイ ルを読み込む。

  2. 暗号化された文書のウィンドウをクリックして、アクティブな状態にし てから [暗号] メニューから [復号化] または [復号化(検証)] を選択する。 この 2つの違いは、暗号化された文書に含まれている電子署名の検証を行う かどうかである。
  3. 復号化するときには秘密鍵が参照されるので、設定で [毎回パスフレー ズを確認する] をオンにしているか、PemCAT を起動してから始めて秘密鍵の 参照が行われる場合はパスフレーズの入力を求められる。
  4. “復号化” が追加されたタイトルが付いたウィンドウが作成され、そ こに復号化されたデータが表示される。
  5. [復号化(検証)] を選択した場合は、図28の電子署名の検証結果が表示される。
    “Valid” と表示されている場合は、該当するデータが正しいことを示し、 “Invalid” の場合は、正しくないことを示している。“Invalid” と表示さ れているものが 1つでもあれば復号化した結果は、送信者によって署名され たものではないと判断できる。つまり、その内容は信用できないものだと考え られる。
    各項目の意味の詳細は、
    第7.5節を参照して欲しい。

7.4 データへの電子署名

 この節では、データへ電子署名する手順を説明する。データに電子署名をする ことにより、改ざんを防ぐことができる。データ自体は暗号化されないので、 電子署名された状態でもその内容を見ることができる。
 データへの電子署名は下の手順で行う。
  1. 電子署名する文書を用意する。これは、下のいずれかの方法で準備す る。

    • [ファイル]-[新規作成] で新しいウィンドウを開き、ここへ入力する か、Ctrl+V キーでテキストデータを貼り付ける。

    • [ファイル]-[開く] であらかじめ用意したテキストファイルを読み込 む。

  2. 用意した文書のウィンドウをクリックしてアクティブな状態にして [暗号] メニューから [署名] を選択する。
  3. 電子署名をするときに秘密鍵を参照するため、設定で [毎回パスフレー ズを確認する] をオンにしているか、PemCAT を起動してから始めて秘密鍵の 参照が行われる場合はパスフレーズの入力を求められる。
  4. “署名” が追加されたタイトルが付いたウィンドウが作成され、そこ に電子署名されたデータが表示される。

7.5 電子署名の検証

 この節では電子署名されたデータの電子署名を検証する方法を説明する。
 電子署名の検証は下の手順で行う。
  1. 電子署名された文書を用意する。これは、下のいずれかの方法で準備す る。

    • [ファイル]-[新規作成] で新しいウィンドウを開き、Ctrl+V キーで電 子署名されたテキストデータを貼り付ける。

    • [ファイル]-[開く] であらかじめ保存しておいた電子署名されたテキ ストファイルを読み込む。

  2. 用意した文書のウィンドウをクリックしてアクティブな状態にしてから、 [暗号] メニューから [復号化(検証)] を選択する。
  3. “復号化” が追加されたタイトルが付いたウィンドウが作成され、そこ に電子署名される前のデータだけが表示される。
  4. 図28の電子署名の検証結果を示すダイアログが表 示される。
    “Valid” と表示されている場合は、該当するデータが正しいことを示し、 “Invalid” の場合は、正しくないことを示している。“Invalid” と表示さ れているものが 1つでもあれば電子署名される前のデータは、送信者によっ て署名されたものと異なっていると判断できる。つまり、その内容は信用でき ないものだと考えられる。
    この検証結果には、下のそれぞれ項目の結果を示している。また “Originator Certificate:” の下には電子署名に使われた公開鍵が誰のもの かを示す識別名が表示される。
Message Integrity:
メッセージ (電子署名される前の文書) のデータ の完全性の検証結果。これが “Invalid” である場合はデータが改ざんされ ているか、電子署名が失敗している可能性がある。
Originator Certificate:
電子署名した送信元の公開鍵証明書の検証 結果。これが “Invalid” である場合は、電子署名に使われた送信元の公開 鍵証明書が正しくないと判断できる。
この相手の公開鍵証明書に含まれている電子署名は、次の証明書発行局の公開 鍵を使って検証される。証明書発行局の公開鍵証明書が “Invalid” である 場合は、送信元の公開鍵証明書が正しいものであっても “Invalid” になる 可能性がある。
Issuer Certificate:
電子署名した送信元の証明書を発行した証明書 発行局の公開鍵証明書の検証結果。これが “Invalid” である場合は、送信 元の証明書発行局の公開鍵証明書が正しくないと判断できる。

図28:電子署名の検証結果を表示するダイアログ


7.6 パスフレーズの確認方法の設定

 この節では、パスフレーズの確認をいつ行うか設定する方法を説明する。
 PemCAT では、パスフレーズの確認方法に次の 2つを実装している。
  1. 秘密鍵を参照する度に毎回パスフレーズの確認を行う。
  2. PemCAT を起動して最初に秘密鍵を参照するときに一度パスフレーズの 入力を求められ、PemCAT を終了するまでパスフレーズを入力を必要としない。
 どちらを選択するかは、ユーザの要求によって異なる。できるだけ強力なセキュ リティを求めるならば、使い勝手は悪くなるが、毎回パスフレーズの確認を行 うように設定することが望ましい。これは、PemCAT を起動したまま席を離れ る場合などに秘密鍵を悪用される可能性があるからである。
 この 2つの確認方法のどちらを使うかは、次に示す手順で行う。
  1. [設定/登録] メニューから [パスフレーズの確認動作] を選択すると、 図 29 のパスフレーズの確認方法を設定するためのダイア ログが表示される。
  2. [毎回パスフレーズの確認を行う] チェックボックスがオンにすれば、 秘密鍵の参照が必要になる度にパスフレーズの確認が行われる。オフにすれば、 起動後最初に秘密鍵を参照するときのみパスフレーズの確認が行われる。
  3. [OK] ボタンを押して設定を反映させる。

図29:パスフレーズの確認方法を設定するダイアログ


7.7 公開鍵証明書の破棄

 この節では ICAP へ公開鍵証明書の破棄を依頼する方法を説明する。  秘密鍵が他人に知られてしまった場合、その人に鍵を使用され復号化や電子署 名をされる可能性がある。こうなると、該当する公開鍵証明書は十分に信頼で きなくなる。このような場合は、公開鍵が悪用されることを防ぐため、この公 開鍵証明書の無効化を行うように証明書発行局へ破棄を依頼して、処理を行っ てもらう必要がある。
 ここで説明する PemCAT の機能は、ICAP バージョン 1.0b を証明書発行局と して使用している場合のみ実行できる。ICAP バージョン 1.0 では公開鍵証明 書の破棄の仕様が変更されたが、PemCAT バージョン 1.2.2 はこれに対応して いないため使用できない。ICAP のバージョンが 1.0 である場合は、ウェブブ ラウザで ICAP へアクセスし、指示される手順にしたがって公開鍵証明書を破 棄する必要がある。
 秘密鍵を無くしてしまったり、パスフレーズを忘れてしまった場合は、別の方 法で証明書発行局へ公開鍵証明書の破棄を依頼する必要がある。この方法は証 明書発行局の運用ポリシによって異なるため、わからない場合は証明書発行局 の管理者へ問い合わせて頂きたい。
 ICAP バージョン 1.0b へ証明書の破棄を依頼する手順を下に示す。
  1. [設定/登録] メニューから [公開鍵証明書の破棄] を選択すると図30の公開鍵証明書を破棄もよいか問い合わせるダイア ログが表示される。
  2. [はい] ボタンを押すと、図17の証明書発行 局の選択するためのダイアログが表示される。目的の証明書発行局のホスト名 または IP アドレスを入力するか、ドロップダウンリストボックスから選択し、 [OK] ボタンを押す。
  3. ICAP へ公開鍵証明書の破棄を依頼し処理される。破棄が成功したか失 敗したか結果を示すダイアログが表示される。
    失敗した場合は、何らかの問題があるためウェブブラウザで ICAP へアクセス して指示される手順で公開鍵証明書の破棄を行うことをお勧めする。それでも 失敗する場合は、証明書発行局の管理者へ連絡して解決策を相談して欲しい。
 引き続き PemCAT を使用する場合は、
第6章 に従って環境設 定をし直し、新しい自分の公開鍵証明書を入手する必要がある。また、データ を交換する相手へ公開鍵証明書を送るか、証明書発行局から入手してもらう必 要がある。入手後は証明書の有効性も確認するようにしてもらわなければなら ない。
 公開鍵証明書を更新したことを通知しない場合、相手が破棄された公開鍵証明 書に含まれている公開鍵で暗号化したデータを送って、それが他人に知られて しまった秘密鍵で復号化されたり、知られてしまった秘密鍵で電子署名が行わ れ、相手がその内容を信用してしまう場合があるため注意が必要である。

図30:公開鍵証明書の破棄を確認するダイアログ


7.8 バージョンの確認

 この節では、PemCAT のバージョンを確認する方法を説明する。
 PemCAT のバージョンによって実現されている機能などが異なる。PemCAT の使 用中に問題が発生した場合、使用しているバージョンがわからないとその問題 の解析が難しくなる。この文書を見ても解決できない問題が発生したときは、 この節で説明する方法でバージョン番号を確認し、それを問題と共に通知して 頂きたい。
 バージョンの確認は、[ヘルプ] メニューから [バージョン情報(PemCAT)] を 選択して表示することができる。

8. 公開鍵証明書の内容

 この節では、公開鍵証明書の内容について説明する。
 PemCAT では、[証明書] メニューや公開鍵証明書データベースの設定ダイアログから公開鍵証明書の内容を確認することができる。表示される公開鍵証明書 内容には、次の情報が含まれている。
Serial No
証明書に付けられたシリアル番号。1つ証明書発行局が同じシリアル番号を持つ証明書を発行することはない。つまり、証明書発行局とこの番 号がわかれば証明書を一意に識別できる。
Validity
公開鍵証明書が有効な期間。from で示された値から to で 示された値までが証明書の有効期間である。それぞれの時刻は UTC 時刻と呼 ばれる形式で、西暦の年、月、日、時、分、秒の順番でこれらをそれぞれ 2 桁の数字で表している。最後の “Z” はその時刻が世界標準時であることを 示す。
issuer
公開鍵証明書を発行した発行局の識別名。識別名については第3.2節を参照して欲しい。
subject
証明書に含まれている公開鍵のユーザの識別名。識別名につ いては第3.2節を参照して欲しい。
signature
証明書を作成したときの電子署名の方法。 “md2WithRSAEncryption” は、MD2 ハッシュ関数と RSA 暗号が使って電子署 名が行われていることを示す。
この情報は、証明書の有効性を確認するときに必要である。
publickey
証明しているユーザの公開鍵の種類。“alg = rsaEncryption” は RSA 暗号の公開鍵であることを示す。
 公開鍵証明書の有効期間を示す情報には注意が必要である。電子署名されたデータ の検証結果が正しいとしても、元のデータがこの有効期間外に作成されたもの であれば、署名された内容が正しいとは限らない。また、元のデータがこの期 間中に作成されていれば、有効期間後であっても、署名を検証するときにはそ の期間中に有効であった公開鍵証明書内の公開鍵を使って署名を確認する必要 があるだろう。

9. 証明書発行局間の信頼関係

 この章では、この文書に出てきた証明書発行局の関係を示す。  Interauth 実験用証明書発行局や PILOT-CA の公開鍵証明書は、ICAT ポリシ 証明書発行局から発行されている。これは、ICAT PCA が上位の証明書発行局 になってツリー構造を構成していると考えることができる。この関係を図31に示す。
ICAT ポリシ 証明書発行局 | +----------+----------+ | | Interauth 実験用 PILOT-CA 証明書発行局 | PemCAT テスト用の ユーザ

図31:証明書発行局の信頼関係


 証明書発行局の公開鍵証明書は、その 1つ上位の証明書発行局の公開鍵証明 書を使うことで検証できる。証明書発行局が最上位のものであれば、自分の秘 密鍵を使って
電子署名[8]されていることが多い。
 ICAT PCA が関連している証明書発行局の詳しい情報は、下の URL で確認できる。

http://www.icat.or.jp/pages/p5/p5.html


  1. Certification Authority やその略 CA という言葉が使われる。
  2. Message Digest 2 の略。
  3. Data Encryption Standard の略。
  4. 英文では Distinguished Name やその略DN という言葉が使われる。
  5. 英文では、Policy Certification Authority やその略 PCA という言葉が使われる。
  6. HyperText Transfer Protocol の略。
  7. 送信先の相手と自分自身が復号化できるようにするには、その両方を選択する必要がある。
  8. “自己署名”という言い方をすることもある。