サーバー属性は、各ホスト上のスマートカードサーバー ocfserv の動作を定義します。この節では、smartcard -c admin によって一覧表示されるサーバーの属性について説明し、属性のデフォルト値を変更する方法を説明します。
smartcard -c admin コマンドを使用して、デフォルトのサーバー属性を変更できます。次のように入力して、ください。
# smartcard -c admin -x modify "property_name=property_value" |
-x modify - 変更操作を実行しようとしていることを示します。
"property_name=property_value" - 変更する属性とその属性に割り当てる値を表します。
authmechanism 属性によって、ocfserv がユーザーを認証するために使用するメカニズムを定義します。
authmechanism = Pin Password |
Pin
ユーザー認証のメカニズムとして、ホストへのログイン時に PIN の入力を求めます。ユーザーは、スマートカードに組み込まれた PIN と同じ PIN を入力する必要があります。
Password
この認証メカニズムでは、ホストがスマートカード上のパスワードを読み込み、このパスワードが自身のパスワードデータベース (NIS、NIS+、またはローカルファイル) に存在することを確認することによってユーザーを認証します。カード上にパスワードが存在しない場合、ocfserv はユーザーにパスワードの入力を要求し、入力されたパスワードをホストのパスワードデータベースにあるパスワードと照合します。
ChallengeResponse
Solaris スマートカードのデフォルトの認証メカニズムは、Pin パスワード方式です (「スマートカードによるログイン」を参照)。
認証メカニズムを変更しようとしているホストにスーパーユーザーとしてログインします。
たとえば次のように入力して、認証メカニズムを ChallengeResponse に変更します。
# smartcard -c admin -x modify authmechanism=ChallengeResponse |
smartcard -c admin と入力すると、結果が表示されます。この場合は、challenge-response メカニズムが追加されていることを確認できます。
authmechanism = ChallengeResponse |
サーバーの認証メカニズムは、明示的に 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 属性を変更するには」を参照してください。
この属性は、認証モジュールが入った 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) のマニュアルページで詳しい説明を確認してください。
この属性は、アプレット初期設定機能が入った Java クラスディレクトリの位置を定義します。
initializerlocations = com.sun.opencard.cmd.IButtonInit |
この値は変更しないでください。
この属性は、カードサービスモジュールが配置されている Java クラスディレクトリの位置を定義します。
cardservicelocations = com.sun.opencard.service.common |
この値は変更しないでください。
ocfserv には、次のような 2 種類のロケール固有属性を定義できます。
country = US language = en |
ロケール固有の情報を変更しようとしているホストにスーパーユーザーとしてログインします。
次のように入力して、このホストに適する国を指定します。
# smartcard -c admin -x modify country=country_code |
country_code には、このホストに適する 2 文字の国コードが入ります。
次のように入力して、このホストに適する言語を指定します。
# smartcard -c admin -x modify language=language_code |
language_code には、このホストのロケールに適する 2 文字の言語コードが入ります。
このデバッグ属性を設定すると、ホスト上でスマートカードの動作をデバッグできます。指定によって、Solaris スマートカードは、標準的なデバッグ機能と詳細なトレース機能を提供します。デフォルトでは、ocfserv には次のデバッグ属性が定義されています。
debugging.filename = /tmp/ocf_debugfile debugging = 0 OpenCard.trace |
/tmp/ocf_debugfile はデバッグ情報が入ったファイルの名前です。
デフォルトのデバッグレベル 0 は、デバッグがオフになっていることを示しています。レベル 1 はデバッグがオンになっていることを示しています。
次のように入力して、デバッグを有効にします。
# smartcard -c admin -x modify debugging=1 |
(オプション) 次のように入力して、ocfserv のデバッグファイルの位置を変更します。
# smartcard -c admin -x modify debugging.filename=filename |
この場合の filename は、デバッグファイルの完全修飾名です。
(オプション) 次のように入力して、ocfserv によるオープンカードシステムのトレースを開始します。
# smartcard -t debug debug_level |
この場合の debug_level は、0 〜 9 の値になります。
Solaris スマートカードのデバッグに関する完全な情報については、smartcard(1M) のマニュアルページを参照してください。