Solaris スマートカードの管理

サーバー属性

サーバー属性は、各ホスト上のスマートカードサーバー ocfserv の動作を定義します。この節では、smartcard -c admin によって一覧表示されるサーバーの属性について説明し、属性のデフォルト値を変更する方法を説明します。

smartcard -c admin コマンドを使用して、デフォルトのサーバー属性を変更できます。次のように入力して、ください。


# smartcard -c admin -x modify "property_name=property_value"

サーバー認証メカニズム属性

authmechanism 属性によって、ocfserv がユーザーを認証するために使用するメカニズムを定義します。


 authmechanism  = Pin Password

可能な認証メカニズムは次の通りです。

Solaris スマートカードのデフォルトの認証メカニズムは、Pin パスワード方式です (「スマートカードによるログイン」を参照)。

デフォルトの認証メカニズムを変更するには
  1. 認証メカニズムを変更しようとしているホストにスーパーユーザーとしてログインします。

  2. たとえば次のように入力して、認証メカニズムを ChallengeResponse に変更します。


    # smartcard -c admin -x modify authmechanism=ChallengeResponse
    

    smartcard -c admin と入力すると、結果が表示されます。この場合は、challenge-response メカニズムが追加されていることを確認できます。


    authmechanism  = ChallengeResponse

challenge-response 認証の機能

サーバーの認証メカニズムは、明示的に challenge-response に設定しない限り、PIN パスワード方式になります (デフォルト)。challenge-response とは、ホストとスマートカードの間で発生する対話のことです。smartcard -c init を使ってカードにユーザー情報を追加すると、ホストは自動的に対象鍵 (DES キー) を生成し、そのコピーをカードに追加します。さらに、この対象鍵を /etc/smartcard/.keys ファイルに保管します。「複数のホストでのスマートカードの使用準備」を参照してください。

ocfserv で challenge-response 方式の認証を使用するように設定すると、ホストは乱数を生成し、リーダーに挿入されているカードにその乱数を送って質問 (challenge) を開始します。これに対するカードの応答 (response) は対象鍵を使って生成されるため、ホストはそれが正しいかどうかを判断できます。

サポートされているカードリーダー属性

OpenCard.terminals 属性は、そのホスト用に設定されたカードリーダーを定義します。たとえば、Sun Smart Card Reader I が接続されたホストの OpenCard.terminals の値は、次のようになります。


OpenCard.terminals 			 = com.sun.terminal.scm.
						 	 		 	CMstcCardTerminalFactory|MySCM|SunSCRI
	 	 	 	 					 	dev/cua/b

ここで OpenCard.terminals は、Sun Smart Card Reader I を現在設定されているリーダーとして定義しています。カードリーダーを追加すると、smartcard -c admin で表示される OpenCard.terminals 属性が表示されます。カードリーダーの追加については、「カードリーダーの設定」を参照してください。

サーバープロトコルの属性

ocfserv.protocol 属性は、ocfserv が使用する TCP/IP プロトコルを定義します。


 ocfserv.protocol          = rpc

ocfserv は、遠隔手続き呼び出し (RPC) プロトコルを使用します。この値は変更しないでください。

スマートカードのリセットに対する回答属性

リセットに対する回答 (Answer To Reset: ATR) 属性には、スマートカードのメーカーによって定義された数値が含まれています。Solaris スマートカードがサポートするカードには、次の ATR 属性が定義されています。


PayFlex.ATR 		 = 3B6900005792020101000100A9
			 	 	 	3B69110000005792020101000100
IButton.ATR 			 	= 008F0E0000000000000000000004000034909000
CyberFlex.ATR	 =3B169481100601810F 3B169481100601811F

ATR の異なる新しいカードタイプがカードメーカーから発売されない限り、ATR 属性を変更する必要はありません。これについては、「ATR 属性を変更するには」を参照してください。

authservicelocations 属性

この属性は、認証モジュールが入った Java クラスディレクトリの位置を定義します。


authservicelocations      = com.sun.opencard.service.auth

この値は変更しないでください。

カードサービス属性

これは、カード固有のモジュールが配置される Java クラスディレクトリです。スマートカードタイプごとに、次のように定義されたモジュールが含まれています。


OpenCard.services 			= com.sun.opencard.service.
								 cyberflex.CyberFlexServiceFactory
							`	 com.sun.opencard.service.ibutton.
								 IButtonServiceFactory 
								 com.sun.opencard.service.payflex.
								 PayFlexServiceFactory 

これらの値を変更することはめったにありません。値を変更しなければならない場合は、smartcard(1M) のマニュアルページで詳しい説明を確認してください。

initializerlocations 属性

この属性は、アプレット初期設定機能が入った Java クラスディレクトリの位置を定義します。


initializerlocations      = com.sun.opencard.cmd.IButtonInit

この値は変更しないでください。

カードサービス位置属性

この属性は、カードサービスモジュールが配置されている Java クラスディレクトリの位置を定義します。


cardservicelocations      = com.sun.opencard.service.common

この値は変更しないでください。

ロケール固有属性

ocfserv には、次のような 2 種類のロケール固有属性を定義できます。


country                   = US
language                  = en

スマートカードホストのデフォルトのロケールを変更するには
  1. ロケール固有の情報を変更しようとしているホストにスーパーユーザーとしてログインします。

  2. 次のように入力して、このホストに適する国を指定します。


    # smartcard -c admin -x modify country=country_code
    

    country_code には、このホストに適する 2 文字の国コードが入ります。

  3. 次のように入力して、このホストに適する言語を指定します。


    # smartcard -c admin -x modify language=language_code
    

    language_code には、このホストのロケールに適する 2 文字の言語コードが入ります。

デバッグ属性

このデバッグ属性を設定すると、ホスト上でスマートカードの動作をデバッグできます。指定によって、Solaris スマートカードは、標準的なデバッグ機能と詳細なトレース機能を提供します。デフォルトでは、ocfserv には次のデバッグ属性が定義されています。


debugging.filename        = /tmp/ocf_debugfile
debugging                 = 0
OpenCard.trace

ocfserv デバッグを有効化するには
  1. ocfserv をデバッグしようとしているホストにスーパーユーザーとしてログインします。

  2. 次のように入力して、デバッグを有効にします。


    # smartcard -c admin -x modify debugging=1
    
  3. (オプション) 次のように入力して、ocfserv のデバッグファイルの位置を変更します。


    # smartcard -c admin -x modify debugging.filename=filename
    

    この場合の filename は、デバッグファイルの完全修飾名です。

  4. (オプション) 次のように入力して、ocfserv によるオープンカードシステムのトレースを開始します。


    # smartcard -t debug debug_level
    

    この場合の debug_level は、0 〜 9 の値になります。


注 -

Solaris スマートカードのデバッグに関する完全な情報については、smartcard(1M) のマニュアルページを参照してください。