第26章 tpsclient (TPS のデバッグ)
tpsclient ツールは、TPS のデバッグまたはテストに使用できます。tpsclient は Enterprise Security Client に対応し、トークンを使用せずに、デバッグ出力を提供し、トークンの登録とフォーマットをエミュレートできます。
tpsclient ツールは、コマンド tpsclient を実行して起動します。ツールにはオプションがありません。これを実行すると、特定のコマンドを tpsclient に転送できるシェルが開きます。
tpsclient
Registration Authority Client
'op=help' for Help
Command>
tpsclient と TPS は、安全なチャンネルを確立するために一連の対称鍵に同意する必要があります。これらはいずれも相互のデフォルトトークンで設定されます。このトークンには、認証キー、Mac キー、およびキー暗号化キー(KEK)の 3 つのキーが含まれるデフォルトのキーセット(バージョン 1)が設定されます。TPS サブシステムは、デフォルトのキーセットを理解し、受け入れます。
それぞれのデフォルトのキーの値は 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f, 16 バイトに設定されます。デフォルト設定は、tpsclient コマンドシェル内で token_status オプションを実行することで表示されます。
Command>token_status token_status Output> life_cycle_state : '0' Output> pin : 'password' Output> app_ver : '00010203' (4 bytes) Output> major_ver : '0' Output> minor_ver : '0' Output> cuid : '00010203040506070809' (10 bytes) Output> msn : '00000000' (4 bytes) Output> key_info : '0101' (2 bytes) Output> auth_key : '404142434445464748494a4b4c4d4e4f' (16 bytes) Output> mac_key : '404142434445464748494a4b4c4d4e4f' (16 bytes) Output> kek_key : '404142434445464748494a4b4c4d4e4f' (16 bytes) Result> Success - Operation 'token_status' Success (8 msec) Command>
TPS が新しいマスターキーを使用するように設定されている場合、tpsclient も再設定する必要があります。そうしないと、TPS への接続を確立できません。
- tpsclient に入力する新しいキーセットデータを取得します。デフォルトのキーセットは TKS に保存する必要があり、マスターキーを追加する必要があります。これを行うには、TKS
CS.cfg
ファイルの TKS マッピングパラメーターを編集します。tks.mk_mappings.#02#01=nethsm1:masterkey
この設定は、nethsm1 トークンで masterkey という名前の マスターキー を #02#01 キーにマップするように TKS に指示します。 - TPS
CS.cfg
ファイルで update symmetric keys パラメーターを編集して、TPS で鍵のアップグレードを有効にします。op.format.tokenKey.update.symmetricKeys.enable=true op.format.tokenKey.update.symmetricKeys.requiredVersion=2
この設定は、tpsclient 形式の操作中にトークンをバージョン 1 からバージョン 2 にアップグレードするように TPS に指示します。 - 以下のように tpsclient を使用してトークンをフォーマットします。
tpsclient Command>op=token_set cuid=a00192030405060708c9 app_ver=6FBBC105 key_info=0101 Command>op=token_set auth_key=404142434445464748494a4b4c4d4e4f Command>op=token_set mac_key=404142434445464748494a4b4c4d4e4f Command>op=token_set kek_key=404142434445464748494a4b4c4d4e4f Command>op=ra_format uid=jsmith pwd=password num_threads=1 new_pin=password
CUID は任意の 10 バイトの文字列にすることができます。TKS が tpsclient の新しいキーセットを計算する方法に影響します。ヒントコマンドラインで各操作とパラメーターを入力することが面倒になる可能性があるため、入力ファイルを作成し、tpsclient コマンドをファイルを参照することができます。以下に例を示します。tpsclient < /tmp/input.txt
例26.1「tpsclient 登録入力ファイルの例」 また、例26.2「tpsclient 形式の入力ファイルの例」 はどちらも入力ファイルの例を一覧表示します。コマンドプロンプトは、操作中に tpsclient が指定した出力と、コマンドの最終結果を返します。 - フォーマット操作の実行後に、tpsclient は標準出力に新しいキーセットを出力します。新しい tpsclient 入力ファイルに新しい値を保存します。入力ファイルは、実稼働 TPS サーバーで使用できます。
tpsclient は、操作のフォーマットまたは登録操作に使用できます。登録操作の入力ファイルのサンプルは 例26.1「tpsclient 登録入力ファイルの例」 に表示されます。
例26.1 tpsclient 登録入力ファイルの例
op=var_set name=ra_host value=server.example.com
op=var_set name=ra_port value=7888
op=var_set name=ra_uri value=/nk_service
op=token_set cuid=00000000000000000001
msn=01020304 app_ver=6FBBC105 key_info=0101 major_ver=0 minor_ver=0
op=token_set auth_key=404142434445464748494a4b4c4d4e4f
op=token_set mac_key=404142434445464748494a4b4c4d4e4f
op=token_set kek_key=404142434445464748494a4b4c4d4e4f
op=ra_enroll uid=jdoe pwd=password new_pin=password num_threads=1
登録操作の入力ファイルのサンプルは 例26.2「tpsclient 形式の入力ファイルの例」 に表示されます。
例26.2 tpsclient 形式の入力ファイルの例
op=var_set name=ra_host value=server.example.com
op=var_set name=ra_port value=7888
op=var_set name=ra_uri value=/nk_service
op=token_set cuid=00000000000000000001
msn=01020304 app_ver=6FBBC105 key_info=0101 major_ver=0 minor_ver=0
op=token_set auth_key=404142434445464748494a4b4c4d4e4f
op=token_set mac_key=404142434445464748494a4b4c4d4e4f
op=token_set kek_key=404142434445464748494a4b4c4d4e4f
op=ra_format uid=jsmith pwd=secret new_pin=newsecret num_threads=1
注記
ホスト用に設定されている場合、ホストの値は IPv4 アドレスまたは IPv6 アドレスになります。
26.1. Syntax
tpsclient ツールの構文は次のとおりです。
tpsclient op=operation options
操作 | 説明 | Options |
---|---|---|
op=help | tpsclient ツールの使用とオプションをすべて一覧表示するヘルプページを表示します。 | 該当なし |
op=debug filename=filename | デバッグを有効にします。 | filename は、デバッグファイルを設定します。 |
op=ra_enroll | 証明書の登録をテストします。 |
|
op=ra_reset_pin | トークン PIN をリセットします。 |
|
op=ra_update | アプレットを更新します。 |
|
op=token_set | トークン値を設定します。 | この操作の使用方法は name=value で、トークン名と説明を設定します。 |
op=token_status | 現在のトークンステータス/を返します。 | 該当なし |
op=var_get | 変数の現在の値を取得します。 | これには、使用量の name=name があります。name はチェックされる変数です。 |
op=var_list | 考えられるすべての変数を一覧表示します。 | 該当なし |
op=var_set | 変数値を設定します。 |
|