この章では、ocfserv の概要、およびスマートカードの初期の設定後に変更を行いたい場合のクライアント構成について記述します。
この章では、次の内容について説明します。
Solaris スマートカードでは属性グループを変更して、ocfserv とクライアントアプリケーションがどのように動作するかをシステムごとに定義できます。
ocfserv は、システム上でのスマートカードの操作を行います。SmartCard Console から ocfserv 属性を変更するには、基本的に次の手順を使用します。
ナビゲーション区画で「OCF サーバー」アイコンをクリックします。
ローカルシステムを表しているアイコンをダブルクリックして、「OCF サーバー構成」ダイアログボックスを表示します。
「OCF サーバー構成」ダイアログボックスで OCF サーバー属性を定義します。
これらの属性は、サーバーのデフォルトの動作を定義します。クライアントアプリケーション用に定義された属性で上書きされない限り、この属性が優先されます。
「OCF サーバー構成」ダイアログボックスには、次の 3 つのフォルダがあります。
リソース - 「リソース」フォルダは、ローカルシステム上における OCF サーバーのデフォルトの動作を決定する属性を定義します。このフォルダには、「利用可能なリソース」リストと「デフォルト」リストがあります。
デバッグ - 「デバッグ」フォルダは、OCF サーバーのデバッグ属性を設定します。デバッグ属性はオプション (省略可能) です。
クラスパス - 「クラスパス」フォルダは、OCF サーバーが認識する .jar ファイルを追加または削除します。
SmartCard Console の使用方法については、「SmartCard Console の使用」を参照してください。
この節では、デフォルトの属性がサイトに適合しない場合に変更する必要がある ocfserv の属性の概要について説明します。次のような場合は、OCF サーバーの属性を変更する必要があることがあります。
サイトのセキュリティ要件を満たしていない場合
スマートカードまたはカードリーダーのメーカーが製品を更新して、その製品の ATR 番号やカード端末の出荷時の名前などの情報を変更した場合
サイトの開発者が開発したカスタムアプリケーションにデフォルト以外のセキュリティ属性が必要な場合
OCF サーバーの属性を変更する手順については、第 7 章「OCF サーバーとクライアントの追加構成 (タスク)」を参照してください。
この節では、各 ocfserv 属性について説明し、そのデフォルト値を示します。OCF サーバーの属性を表示するには、SmartCard Console または smartcard -c admin コマンドを使用します。
「ocf.server.default.validcards」属性は、どのスマートカードのタイプがシステム上で有効であるかを指定します。デフォルトでは、3 つのスマートカードのタイプすべてが有効です。
この属性を変更する手順については、「サーバーに有効なスマートカードを変更するには (SmartCard Console)」を参照してください。
「ocf.client.default.defaultcard」属性は、どのスマートカードがデフォルトであるかを ocfserv に指定します。デフォルトでは、Solaris スマートカードには指定されているスマートカードはありません。
この属性を変更する手順については、「サーバーのデフォルトのスマートカードを変更するには (SmartCard Console)」を参照してください。
「OpenCard.terminals」属性は、そのシステムでサポートされているカードリーダーを定義します。たとえば、Sun SCRI External Card Reader 1 を持つシステムの場合、「OpenCard.terminals」の値は次のようになります。
OpenCard.terminals = com.sun.opencard.terminal.scm.SCMStc .SCMStcCardTerminalFactory|MySCM|SunSCRI|dev/cua/b |
上記の例では、OpenCard.terminals は現在構成されているカードリーダーとして Sun SCRI External Card Reader 1 を定義しています。カードリーダーを追加すると、smartcard -c admin コマンドで「OpenCard.terminals」属性が表示されます。
カードリーダーを追加する手順については、第 3 章「カードリーダーの設定 (タスク)」を参照してください。
OpenCard.services 属性は、スマートカードに固有なモジュールの位置を指定します。各スマートカードのタイプには、次のモジュールが定義されています。
OpenCard.services = com.sun.opencard.service.cyberflex.CyberFlex ServiceFactory com.sun.opencard.service.ibutton.IButtonServiceFactory com. sun.opencard.service.payflex.PayFlexServiceFactory |
カードサービスの有効化または無効化については、「カードサービスを無効または有効にするには (SmartCard Console)」を参照してください。
Solaris スマートカードの非公開鍵の機能を使用するには、公開鍵インフラストラクチャ (PKI) をサイトに設定しておく必要があります。スマートカード上で非公開鍵を作成する手順については、「スマートカード上で非公開鍵を作成するには (コマンド行)」を参照してください。
スマートカードに格納できる非公開鍵は 1 つだけです。
スマートカードの PIN とパスワードを認証した後、ocfserv は key_file_name で指定されたファイルをスマートカードにコピーします。これ以降、そのスマートカードでは、非公開鍵を補助的な認証として使用して、データに署名できるようになります。ユーザーがデータに署名するコマンド (AMI の amisign など) を実行すると、そのコマンドはユーザーのスマートカード上にある非公開鍵を使用して、署名付きデータを作成します。
サイトのポリシーによっては、システムに格納されているユーザーの非公開鍵ファイルを削除したい場合もあります。このファイルを削除すると、非公開鍵はユーザーのスマートカード上だけに存在することになります。
次の表に、変更してはならない属性を示します。
表 6-1 変更してはならない OCF サーバー属性
属性名 |
説明 |
---|---|
アプレット初期設定機能を持つ Java Class ディレクトリの位置 initializerlocations = com.sun.opencard.cmd.IButtonInit |
|
カードサービスモジュールがある Java Class ディレクトリの位置 cardservicelocations = com.sun.opencard.service.common |
|
ocfserv が使用する TCP プロトコル: ocfserv.protocol = rpc |
|
認証モジュールがある Java Class ディレクトリの位置 authservicelocations = com.sun.opencard.service.auth |
必要に応じて、次の基本手順を使用して SmartCard Console から OCF クライアント属性を変更します。
ナビゲーション区画で「OCF クライアント」アイコンをクリックします。
ナビゲーション区画で「CDE」アイコンをダブルクリックします。
「クライアントの構成: CDE」ダイアログボックスで、クライアント属性を変更します。
「クライアントの構成」ダイアログボックスには、次の 4 つのフォルダがあります。
カード/認証 - 「カード/認証」フォルダは、クライアントアプリケーションに有効なスマートカードと認証シーケンスを定義します。
デフォルト - 「デフォルト」フォルダは、クライアントアプリケーションのデフォルトの属性を定義します。
このフォルダには ocfserv のデフォルトの定義に使用したものと同じオプションがいくつか含まれていますが、こちらはクライアントのデフォルトを定義しています。
Timeouts - 「Timeouts」フォルダは、スマートカードが取り外された後、認証プロセスが再起動するまでの、アプリケーションが待機する時間の長さを定義します。
Options - 「Options」フォルダは、クライアントアプリケーションの動作中にスマートカードが取り外された場合のクライアントアプリケーションの動作を定義します。
SmartCard Console の使用方法については、「SmartCard Console の使用」を参照してください。
この節では、ユーザーのスマートカードの構成に基づいて変更することができるクライアント属性について説明します。これらの属性は、SmartCard Console により、または smartcard -c admin コマンドにより表示することができます。
以下の属性が OCF クライアントにデフォルトで定義されています。
ClientName.PropertyName Value ----------------------- ----- default.validcards = CyberFlex IButton PayFlex default.authmechanism = Pin=UserPin default.defaultaid = A000000062030400 |
「ocf.client.defaultcard」属性は、(すべての有効なスマートカードのタイプから) クライアントのアプリケーションで使用する必要のある特定のスマートカードのタイプを定義します。Solaris スマートカードでサポートされるスマートカードのタイプは次のとおりです。
PayFlex
iButton
CyberFlex
OCF サーバーのデフォルト - この値は、クライアントアプリケーションが OCF サーバーのデフォルトのスマートカードとして設定されている値を使用することを示します。
「利用可能なリソース: カードリーダー」カテゴリを使用して、クライアントアプリケーションが認識するデフォルトのカードリーダーを定義します。
これらの属性を変更する手順については、「クライアントのデフォルトのスマートカードを定義するには (SmartCard Console)」と「クライアントのデフォルトのスマートカードリーダーを定義するには (SmartCard Console)」を参照してください。
2 つのカード属性「defaultcard」と「validcards」により、特定のクライアントアプリケーションまたはシステム上のすべてのクライアントアプリケーションにログインするときに、使用するスマートカードのタイプを指定します。
「validcards」属性では、特定のアプリケーションに有効なスマートカードのタイプをすべて指定します。一方、「defaultcard」属性では、デフォルトのカードとして指定したスマートカードをカードリーダーに挿入するまで、アプリケーションが起動しないように指定できます。
たとえば、アプリケーション B の「validcards」属性として iButton、CyberFlex、およびカード A を指定して、「defaultcard」属性として CyberFlex を指定していると仮定します。アプリケーション B がデフォルトのスマートカードだけを受け付ける場合、ユーザーがカード A を使ってアプリケーション B にログインしようとすると、次のようなメッセージが表示されます。
Waiting for Default Card |
アプリケーション B へのログインは、ユーザーが CyberFlex カードをカードリーダーに挿入するまでブロックされます。
これらの値は、smartcard -c admin を実行すると表示されます。
default.validcards = CyberFlex IButton PayFlex |
これらの属性を変更する手順については、「クライアントアプリケーションに有効なスマートカードを変更するには (コマンド行)」と「クライアントアプリケーションにデフォルトのスマートカードを割り当てるには (コマンド行)」を参照してください。
「default.authmechanism」属性では、すべてのクライアントアプリケーションのデフォルトの認証機構を指定します。すべてのクライアントアプリケーションのデフォルトは、Pin=UserPin です。また、authmechanism を使用すると、特定のクライアントアプリケーションのデフォルトの認証機構を定義できます。
すべてのクライアントアプリケーションのデフォルトの認証機構を設定する手順については、「サーバーとクライアントアプリケーションのデフォルトの認証機構を設定するには (コマンド行)」を参照してください。
「ocf.client.default.authmechanism」属性は、クライアントアプリケーションにログインするときに、すべての有効なスマートカードで使用されるデフォルトの認証シーケンスを決定します。
「クライアントの構成: CDE」ダイアログボックスの「使用されるスマートカード」チェックリストには、現在 ocfserv に有効化されているすべてのスマートカードのタイプが表示されます。
「card_name 認証」リストには、「使用されるスマートカード」リストから選択したスマートカードのタイプに有効な認証機構が表示されます。
「card_name 認証」リストにおける認証機構の順番は、ユーザーが当該クライアントアプリケーションにアクセスするときに ocfserv が実際に試行する認証シーケンスの順番です。
この属性を変更する手順については、「有効なスマートカードのデフォルトのクライアント認証シーケンスを変更するには (SmartCard Console)」を参照してください。
default.defaultaid 属性は、すべてのアプリケーションに対して実行されるデフォルトのスマートカードアプレットに割り当てられている ID 番号です。デフォルトの ID 番号は、smartcard -c admin を実行すると表示されます。
default.defaultaid = A000000062030400 |
この値は、Solaris スマートカードが実行するデフォルトのアプレット SolarisAuthApplet の AID 属性です。
defaultaid 属性をサイト用にカスタムビルドしたアプレットで置き換える必要がある場合にのみ、defaultaid 属性を変更してください。defaultaid を変更する必要がある場合は、smartcard(1M) のマニュアルページを参照してください。
「Timeouts」フォルダは、スマートカードが取り外された後、認証プロセスが再起動するまでの、アプリケーションが待機する時間の長さを定義します。
Card Removal Timeout - スマートカードが取り外された後、認証プロセスが再起動するまでの、アプリケーションが待機する時間の長さを指定します。
Re-authentication Timeout - 認証プロセスの再起動後、終了 (またはエラーメッセージが表示される) までの、アプリケーションが待機する時間の長さを指定します。
Card Removal Logout Wait Timeout - スマートカードが取り外された後、ユーザーがログアウトされるまでの、アプリケーションが待機する時間の長さを指定します。
手順については、「クライアントアプリケーションとスマートカードの取り外しタイムアウトを定義するには (SmartCard Console)」を参照してください。
「Options」フォルダは、クライアントアプリケーションの動作中にスマートカードが取り外された場合のクライアントアプリケーションの動作を定義します。
Ignore Card Removal - スマートカードが取り外された後もアプリケーションの実行を続けるかどうかを決定します。
Re-authenticate After Card Removal - アプリケーションが認証プロセスを再起動して、必要であれば、認証情報 (PIN またはパスワード) を要求するかどうかを決定します。このオプションを選択した場合は、「Timeouts」フォルダに戻って、Re-Authentication Timeout が設定されていることを確認します。
手順については、「スマートカードが取り外された場合のクライアントアプリケーションの動作を変更するには (SmartCard Console)」を参照してください。