• 検索結果がありません。

実行スクリプト取扱説明書

N/A
N/A
Protected

Academic year: 2018

シェア "実行スクリプト取扱説明書"

Copied!
12
0
0

読み込み中.... (全文を見る)

全文

(1)

PKI 相互運用テストスィート

実行スクリプト取扱説明書

コマンド実行方法

Ver s i on 1. 0

情報処理振興事業協会 セキュリティセンター

(2)

目次

1 テストスィートの概要... 2

1. 1 テストスィートの構成... 2

1. 2 テストの分類... 2

2 テストスィートの実行... 4

2. 1 テスト実施環境生成スクリプト... 4

2. 2 テスト実行スクリプト... 5

2. 3 実行例... 5

3 GPKI証明書検証サーバを用いたテスト... 7

3. 1 GPKI証明書検証サーバシミュレータ設定スクリプト... 8

3. 2 GPKI証明書検証クライアント... 8

3. 3 実行例... 9

(3)

1 テストスィートの概要

本文書では、テストスイートを利用するにあたり、テスト実施者が起動するコ マンドの実行方法を解説する。また、GPKI証明書検証サーバ(以下GCVS)を 利用したテストの実行方法についても説明する。

1. 1 テストスィートの構成

テストスィートは、大きく分けて以下の2つの要素によって構成されている。

(1) テストを実行するために必要なデータを格納するデータベース(以下、DB と 書く)。必要であれば、テストの実行結果を格納することもできる

(2) DB の内容を元にテスト実行に必要なデータ群(証明書、CRL、OCSP/GCVS 応答データなど)と、テストを実行するスクリプト群などの各種ファイルを生 成するためのスクリプト・プログラム群。

テストの実行には、オンラインモードとオフラインモードの、2つの実行形態 がある。オンラインモードでは、事前にテストの実行に必要な証明書、CRL 及び ARL が LDAP サーバ(リポジトリ)に登録された上で、パス検証が行われる。従 ってテスト対象プログラムは、パス検証に必要となる証明書、CRL 及び ARL は、 リポジトリから取得する。

これに対しオフラインモードでは、証明書、CRL 及び ARL は LDAP サーバへ は登録されない。テスト対象プログラムはこれらの情報を、ローカルファイルか ら取得する。

1. 2 テストの分類

DB には、以下に示す通り、大きく分けて3種類のテストケースが納められて いる。

項目「OCSP を利用したテストケース」または「GCVS を利用したテストケー ス」が「有」となっている場合、OCSP または GCVS(GPKI 証明書検証サーバ) を利用するテストケースが一部含まれていることを意味する

(4)

カテゴリ番号 カテゴリ

オン

ライン

オフ

ライン

OCSP を利用した

テストケース

GCVS を利用した

テストケース

1 NIST テストケース 不可

2 GPKI テストケース

3 オリジナルテストケース 可 可 有 無

OCSP または GCVS を利用したテストケースをオフラインモードでテストする と、OCSP レスポンダシミュレータまたは GCVS サーバシミュレータへの問い合 わせが行われず、テスト結果が期待通りにならないことがあるので注意が必要で ある。

以下で、各カテゴリについて順に説明する。

(1) NIST テストケース

NIST テストケースは、米国国立標準技術研究所の公表している X.509 Path Validation Test Suite(http://csrc.nist.gov/pki/testing/x509paths.html参照)を元に作成 されたテストケースである。NIST の各テストにはテストレベル(テストの難易 度)が設定されている。NIST テストケースの詳細については、GPKI テストケー ス設計書の3章「NIST パス検証と同等のテストケース」を参照のこと。

(2) GPKI テストケース

GPKI テストケースは、日本の政府認証基盤(http://www.gpki.go.jp/)における 様々なパス検証のシチュエーションを考慮して作成したテストケースである。テ ストケースによっては、OCSP を利用するものや、GCVS を利用するものも存在 する。GPKI テストケースの詳細については、GPKI テストケース設計書の2章

「GPKI 模擬テストケース」に書かれている。

(3) オリジナルテストケース

オリジナルテストケースは、NameRollover や KeyUpdate といった作業を含む、 高度なパス検証を実験するためのテストケースである。テストケースによっては、 OCSP を利用するものが存在する。オリジナルテストケースの詳細については、 GPKI テストケース設計書の4章「オリジナルテストケース」に示す。

(5)

2 テストスィートの実行

ユーザは、以下の3つの手順でテストを実行する。

(1) ユーザは初めに、DB が起動しているマシン上(以下、サーバと書く)で、テ スト実施環境生成スクリプトを起動する。テスト実施環境生成スクリプトは、 テストスィートの各種スクリプト・プログラム群を順番に起動することで、 指定されたテストの実行に必要なデータ群、及びテストを実行するスクリプ ト群(以下、これらをまとめてデータ群・スクリプト群と書く)を、テスト データ領域に生成する。従ってユーザは、テストデータ領域の生成に際して は、テスト実施環境生成スクリプトのみを使用すれば良く、逆にそれ以外の 各種スクリプトを直接起動する必要は無い。

(2) 次にユーザは、テストデータ領域に生成されたデータ群・スクリプト群を用 いて、テストを実行する。テストを実行するマシンをクライアントと呼ぶ。 サーバマシンとクライアントマシンとが異なる場合、ユーザはftp コマンド などを用いて、あらかじめテストデータ領域をコピーする必要がある。

(3) クライアント上でのテストの実行には、テスト実行スクリプトを用いる。テ スト実行スクリプトは、個々のテストケースごとに用意されたテストケース 実行スクリプトを順番に起動し、テスト結果を保存する機能を持つ。従って ユーザは、テストの実行に際し、テスト実行スクリプトのみを使用すれば良 い。

一連の手順において、ユーザが起動するテストスィートのプログラムは、テス ト実施環境生成スクリプト及びテスト実行スクリプトの2つのみである。

2. 1 テスト実施環境生成スクリプト

ユーザは、テスト実施環境生成スクリプトを起動することによって、テスト実 行に必要なデータ群・スクリプト群を生成できる。起動の際、代表的なオプショ ンとして以下が挙げられる。

(6)

形式 説明

-c 対象テストカテゴリID 複数指定する場合はスペースで区切る、指定のない場合は全て -l 対象テストレベル 複数指定する場合はスペースで区切る、指定のない場合は全て -m アクセスモード(on|off) LDAPなどを用いたテストをするか選択する、デフォルトはon

オプション「-c」、「-i」あるいは「-l」で、データ群・スクリプト群を生成す る対象となるテストケースを指定できる。何も指定の無い場合は、全てのテスト ケースが対象となる。

2. 2 テスト実行スクリプト

ユーザは、テスト実行スクリプトを実行することによって、テスト実施環境生 成スクリプトによって生成されたデータ群・スクリプト群を元に、テストを実行 することができる。起動の際の代表的なオプションとして以下が挙げられる。

形式 説明

-lh LDAPホスト名 オンラインでのテスト実行時にLDAP ホスト名を指定

-s DBサーバ名 テスト結果をDB へ格納する場合に指定

テスト実行スクリプトは、テストケース毎に用意された、テストケース実行ス クリプトを順番に起動することで、テストの実行を行う。さらに指定されていれ ば、データベースへの実行結果の登録を行う。

2. 3 実行例

以下で、テスト実施環境生成スクリプト及びテスト実行スクリプトの実行例を 示す。

<実行例1>

テスト実施環境生成スクリプトを用いて、NIST のテストケースをオフライン モードで生成し、テストを実行する。

$ ./targetenvgen.pl -m off -c 1

(7)

Access mode : off-line Given constraints;

Testcase IDs : ALL Test Category: 1 Test Level(s): ALL

Creating test environment for following testcases into /home/ishigaki/server/Data ID Category Level Name

--- 1000100 1 1 TE.CP.01.01 (NIST)

1000200 1 1 TE.CP.01.02 (NIST) 1000300 1 1 TE.CP.01.03 (NIST) 1000400 1 1 TE.CP.02.01 (NIST) 1000500 1 1 TE.CP.02.02 (NIST) 1000600 1 2 TE.CP.02.03 (NIST) 1000700 1 2 TE.CP.02.04 (NIST) 1000800 1 2 TE.CP.02.05 (NIST) 1000900 1 1 TE.CP.03.01 (NIST) 1001000 1 2 TE.CP.03.02 (NIST) 1001100 1 2 TE.CP.03.03 (NIST) 1001200 1 1 TE.CP.03.04 (NIST) 1001300 1 1 TE.CP.04.01 (NIST) 1001400 1 1 TE.CP.04.02 (NIST) 1001500 1 1 TE.CP.04.03 (NIST) 1001600 1 3 TE.CP.04.04 (NIST) 1001700 1 3 TE.CP.04.05 (NIST) 1001800 1 3 TE.CP.04.06 (NIST) 1001900 1 1 TE.CP.05.01 (NIST) 1002000 1 1 TE.CP.06.01 (NIST) 1002100 1 1 TE.CP.06.02 (NIST) 1002200 1 1 TE.IC.01.01 (NIST)

(途中略)

$ ./testrun.pl

bin/testrun.pl: running in off-line mode

bin/testrun.pl: examining testcase No.1000100 ...

(途中略)

$

<実行例2>

テスト実施環境生成スクリプトを用いて、GPKI 及びオリジナルのテストケー スをオンラインモードで生成し、テストを実行する。テスト結果にtest_comment というコメントを付け、DBへ格納する。

./targetenvgen.pl -m on -c 2 3 Access mode : on-line

Given constraints; Testcase IDs : ALL Test Category: 2 3 Test Level(s): ALL

Creating test environment for following testcases into /home/ishigaki/server/Data ID Category Level Name

---

2000100 2 10 METI.METI.OK (模擬経済産業省のEEが他の模擬経済産業省のEEの署名デ ータを検証できることを確認する。)

2000200 2 10 METI.MPHPT.OK (模擬経済産業省のEEが模擬総務省のEEの署名データを検 証できることを確認する。)

2000300 2 10 METI.MLIT.OK (模擬経済産業省のEEが模擬国土交通省のEEの署名データ を検証できることを確認する。)

2000400 2 10 METI.Asign.OK (模擬経済産業省のEEが模擬A-Sign2EEの署名データ

(8)

を検証できることを確認する。)

2000500 2 10 METI.GID.OK (模擬経済産業省のEEが模擬G-IDEEの署名データを検証 できることを確認する。)

2000600 2 10 METI.CR.OK (模擬経済産業省のEEが模擬商業登記認証局のEEの署名デー タを検証できることを確認する。)

(途中略)

$ ./testrun.pl -lh ldap1 -o 1 -c test_comment ./testrun.pl: running in on-line mode

./testrun.pl: flushing all repositories via rsh ./testrun.pl: examining testcase No.2000500 ...

(途中略)

3 GPKI証明書検証サーバを用いたテスト

テストスィートにおいて、GPKI 証明書検証サーバシミュレータ(以下、GCVS シミュレータと書く)を用いたテストを実行するためには、上で示した手順とは 異なる手順が必要である。

GCVS シミュレータを用いたテストが可能なのは、以下に示す9つのテストケ ースのみである。個々のテストケースについては、GPKI テストケース設計書に 詳しく書かれている。

テストケース 番号

トラストアンカ 検証対象

検証対象証明書(EE) の状態

2000700 MPHPT METI 正常

2001000 MPHPT Asign2 正常

2001200 MPHPT MOJ 正常

2003400 MPHPT METI 失効

2003700 MPHPT Asign2 失効

2003900 MPHPT MOJ 失効

2006100 MPHPT METI 期限切れ

2006400 MPHPT Asign2 期限切れ

2006600 MPHPT MOJ 期限切れ

GCVSシミュレータを用いたテストを実行するためにはまず、GPKI証明書検

(9)

証サーバシミュレータ設定スクリプトを起動する。これによって、テストの事前 準備を行う。このスクリプトは、GCVSクライアントによる問い合わせに対して、 事前に応答のために必要なデータを用意する機能を持つ。簡単に言えば、テスト スイートにおける、テスト実施環境生成スクリプトのようなものである。

ユーザはGPKI証明書検証サーバシミュレータ設定スクリプトを実行した後に、 GCVSクライアントを実行することで、テストを行うことができる。

3. 1 GPKI証明書検証サーバシミュレータ設定スクリプト

GPKI 証明書検証サーバシミュレータ設定スクリプトは、GPKI の証明書検証 サーバを利用したテストを実行する際に、事前にGPKI証明書検証サーバシミュ レータへ、応答すべき情報を登録するスクリプトである。以下に実行形式を示す。

$ cvsenvgen.pl [-t] TestcaseID:PORT [TestcaseID:PORT]...

TestcaseID:PORT

TestcaseIDで指定したテストケースにおける証明書検証要求を、PORT で 指 定 し た ポ ー ト 番 号 で 受 け 付 け る よ う に 設 定 す る 。TestcaseID と PORT のセットはコロン(:)で区切って指定する。また、複数のセット をスペースで区切って指定することもできる。

-t 応答すべき情報を登録後、TestcaseID で指定した全てのテストケース について、以下の形式でテスト実施環境生成スクリプトを実行する。

$ targetenvgen.pl –m on –i TestcaseID [TestcaseID]...

3. 2 GPKI証明書検証クライアント

GPKI 証明書検証クライアントの詳細については、「GPKI CVS クライアント サンプル実装仕様書」を参照のこと。本節では、その実行方法についてだけ、簡 単に説明する。以下は、GPKI証明書検証クライアントの実行形式である。

java GCVSClient [options] トラストアンカー 検証対象証明書 URL

「トラストアンカー」では、アンカー証明書ファイルを指定する。「検証対象 証明書」では、象証明書ファイルを指定する。また「URL」では、証明書検証 サーバのURLを指定する。

(10)

オプションの一覧を以下に示す。

-ic ファイル名 中間証明書

-ic」に続きファイル名を入力。複数の証明書を指定する場合、同一ファイルに複数の PEM形式の証明書を持つファイル名を入力。

-tac CA(TrustAnchor)識別情報

本オプションを指定した場合は引数で指定したトラストアンカー証明書を設定する。指定 しない場合には本オプションは設定しない。

-rp [oid/any] 満たすべきポリシ

-rp」に続きOID、もしくは"any"を入力。any の場合は「2.5.29.32.0」が自動的に設定 される。複数のOIDを設定する場合は「1.2 1.2.3」のように空白文字区切りで入力する。 -rep require-explicit-policyの初期値

本オプションを指定した場合は「1、指定しない場合には本オプションは設定しない。但 し、「満たすべきポリシ」オプションが指定された場合は常に「0」を設定する。

-ipm inhibit-policy-mappingの初期値

本オプションを指定した場合は「1、指定しない場合には本オプションは設定しない。 -rf 応答フォーマット

本オプションを指定した場合は「1」、指定しない場合には本オプションは設定しない。 -req -req」に続き、要求データを保存するファイル名を入力。本オプションが無い場合は

./request.der」ファイルに保存する。

-res -res」に続き、応答データを保存するファイル名を入力。本オプションが無い場合 は

./response.der」ファイルに保存する。

3. 3 実行例

<実行例1>

GPKI 証明書検証サーバシミュレータ設定スクリプトを起動し、テスト環境を整 備する。

$ ./cvsenvgen.pl -t 2000700:2401 2001000:2402 2001200:2403 2003400:2404 2003700: 2405 2003900:2406 2006100:2407 2006400:2408 2006600:2409

./cvsenvgen.pl: port 2401 is assigned to testcase No.2000700 ./cvsenvgen.pl: port 2402 is assigned to testcase No.2001000 ./cvsenvgen.pl: port 2403 is assigned to testcase No.2001200 ./cvsenvgen.pl: port 2404 is assigned to testcase No.2003400 ./cvsenvgen.pl: port 2405 is assigned to testcase No.2003700 ./cvsenvgen.pl: port 2406 is assigned to testcase No.2003900 ./cvsenvgen.pl: port 2407 is assigned to testcase No.2006100 ./cvsenvgen.pl: port 2408 is assigned to testcase No.2006400 ./cvsenvgen.pl: port 2409 is assigned to testcase No.2006600

./cvsenvgen.pl: certgen executed for cert No.9200000 in testcase No.2003900

(11)

./cvsenvgen.pl: certgen executed for cert No.9200000 in testcase No.2006100 ./cvsenvgen.pl: certgen executed for cert No.9200000 in testcase No.2006400 ./cvsenvgen.pl: certgen executed for cert No.9200000 in testcase No.2006600 ./cvsenvgen.pl: certgen executed for cert No.9200000 in testcase No.2000700 ./cvsenvgen.pl: certgen executed for cert No.9200000 in testcase No.2001000 ./cvsenvgen.pl: certgen executed for cert No.9200000 in testcase No.2001200 ./cvsenvgen.pl: certgen executed for cert No.9200000 in testcase No.2003400 ./cvsenvgen.pl: certgen executed for cert No.9200000 in testcase No.2003700 ./cvsenvgen.pl: executing targetenvgen script...

Access mode : on-line Given constraints;

Testcase IDs : 2003900 2006100 2006400 2006600 2000700 2001000 2001200 2003400 2003700

Test Category: ALL Test Level(s): ALL

Creating test environment for following testcases into /home/ishigaki/server/Data ID Category Level Name

---

2000700 2 10 MPHPT.METI.OK (模擬総務省のEEが模擬経済産業省のEEの署名データを 検証できることを確認する。)

2001000 2 10 MPHPT.Asign.OK (模擬総務省のEEが模擬A-Sign2EEの署名データ を検証できることを確認する。)

2001200 2 10 MPHPT.CR.OK (模擬総務省のEEが模擬商業登記認証局のEEの署名データ を検証できることを確認する。)

2003400 2 20 MPHPT.METI.RVK (模擬総務省のEEが模擬経済産業省のEEの失効した署 名データを検証できることを確認する。)

2003700 2 20 MPHPT.Asign.RVK (模擬総務省のEEが模擬A-Sign2EEの失効した署 名データを検証できることを確認する。)

(以下略)

<実行例2>

実行例1のデータを元に、GPKI 証明書検証クライアントを起動し、テストケー ス番号 2000700 について、GPKI 証明書検証サーバシミュレータを利用したテスト を実行する。

$ java GCVSClient -tac -ic $PKITESTROOT/Data/tc2000700/intermediate.2.2000700.5 ¥ .crt -rp any -rep -ipm -req request.der -res responce.der ¥

$PKITESTROOT/Data/tc2000700/trust.2.2000700.crt ¥

$PKITESTROOT/Data/tc2000700/target.2.2000700.crt http://cvs:2401 -- Initial Info --

ServerURL [http://cvs:2401]

TrustAnchor [OU=MPHPT Certification Authority, OU="Ministry of Public Management, Home Affa

irs, Posts and Telecoms", O=Japanese Government, C=JP]

Target [CN=Minister, OU="Ministry of Economy, Trade and Industry", O=Japanese Governme

nt, C=JP]

-- end of Initial Info -- -- Options --

IntermedCerts

[/home/ishigaki/server/Data/tc2000700/intermediate.2.2000700.5.crt] TrustAnchorCert [ON]

RequiredPolicy [any ]

RequireExplicitPolicy [0] Since RequiredPolicy is set.

InhibitPolicyMaping [ON] * WARNING * Can't be set this option in GPKI. ResponseFormat [OFF]

---

filename for request [request.der] filename for response [responce.der] ---

(12)

-- end of Options -- -- Check the Response --

Nonce Check [match] Verify the Response [good] Verify the signerCert [good] CertPathStatus code [0] -- end of Check the Response --

参照

関連したドキュメント

Microsoft/Windows/SQL Server は、米国 Microsoft Corporation の、米国およびその

FEED キーを押しながら LINE キーを押します FEED キーを押し. ながら LINE

北陸 3 県の実験動物研究者,技術者,実験動物取り扱い企業の情報交換の場として年 2〜3 回開

はたらき 本機への電源の供給状態、HDC-RH100-D またはツイストペアケーブル対 応製品との接続確立、映像信号の HDCP

 本研究所は、いくつかの出版活動を行っている。「Publications of RIMS」

パソコン本体の電源を入れます。 ワイヤレス受信機(FMV-K600 シリーズは、パソコン本体背面)のコネク

Jabra Talk 15 SE の操作は簡単です。ボタンを押す時間の長さ により、ヘッドセットの [ 応答 / 終了 ] ボタンはさまざまな機

直流電圧に重畳した交流電圧では、交流電圧のみの実効値を測定する ACV-Ach ファンクショ