Solaris スマートカードの管理

第 2 章 Solaris スマートカードの基本的な使用方法

この章では、Solaris スマートカードの初期構成を設定する方法について説明します。

SmartCard Console の起動または再起動

SmartCard Console は、Solaris スマートカードソフトウェアを管理するためのグラフィカルユーザーインタフェース (GUI) です。

コマンド行から SmartCard Console を起動するには
  1. root でログインするか、su と入力してスーパーユーザになります。


    注 –

    一般ユーザーでログインしている場合、スマートカードを使用できますが、実行できる作業はアプレットの読み込みと構成の 2 つだけです。


  2. SmartCard Console を起動します。


    # /usr/dt/bin/sdtsmartcardadmin &
    

    注 –

    デフォルトでは、root は X サーバーにアクセスを認可されいないため、su コマンドを入力してスーパーユーザーになる前に、X サーバーによるアクセス制御を無効にする場合があります。X サーバーによるアクセス制御を無効にするには、/usr/openwin/bin/xhost + hostname を実行します。この場合、hostname はローカルホスト名になります。SmartCard Console を起動した後、xhost -hostname を実行してアクセス制御を再度有効にします。


CDE デスクトップから SmartCard Console を起動するには
  1. 共通デスクトップ環境 (CDE) にスーパーユーザーとしてログインします。

    既に自分のログイン名で CDE を実行している場合は、CDE を終了して、スーパーユーザーとしてログインします。


    注 –

    一般ユーザーでログインしている場合には、スマートカードを使用できますが、実行できる作業はアプレットの読み込みと構成の 2 つだけです。


  2. CDE コントロールパネルで、「アプリケーション (Application)」サブパネルの上矢印をクリックします。

    デフォルトでは、鉛筆マークをピンで留めた「テキストノート (Text Note)」アイコンが「アプリケーション (Application)」サブパネルを表しています。

  3. 「アプリケーション (Application)」を選択して、アプリケーションマネージャを表示します。

  4. アプリケーションマネージャの「システム管理 (System_Admin)」アイコンをダブルクリックします。

  5. 「スマートカード (Smart Card)」アイコンをダブルクリックして、SmartCard Console を起動します。

    「スマートカード (Smart Card)」アイコンを探すには、スクロールダウンしなければならない場合があります。


注 –

また、デスクトップの「ワークスペース (Workspace)」メニューから SmartCard Console を起動することもできます。「ワークスペース (Workspace)」メニューの一番上または「ツール (Tools)」サブメニューに「sdtsmartcardadmin」があります。


スマートカードによるログイン用のデスクトップの設定

Solaris 8 または Solaris 9 のオペレーティング環境で動作する Sun ワークステーションのデスクトップにスマートカードによるログインを設定するには、次の手順を実行します。一部の作業では、最初にコマンド行の例、その次に SmartCard Console の手順を示します。複雑な作業では、コマンド行の例は後の章に記載されています。


注 –

これらのほとんどの作業を実行するには、スーパーユーザーでログインする必要があります。


カードリーダーを有効にするには

新しいワークステーションにカードリーダーが内蔵されている場合でも、使用前にそれを有効にする必要があるので注意してください。外付けカードリーダーを有効にする場合、まず、そのカードリーダーのマニュアルの手順に従って、カードリーダーを物理的にシステムのシリアルポートに取り付ける必要があります。

コマンド行の例

例については、カードリーダーの追加 (コマンド行)を参照

SmartCard Console の手順
  1. SmartCard Console のナビゲーション区画で「カードリーダー (Card Readers)」をクリックします。

    「カードリーダーを追加 (Add Reader)」アイコンがコンソール区画に表示されます。使用可能なカードリーダーのタイプを表すアイコンも表示されます。

  2. コンソール区画で「カードリーダーを追加 (Add Reader)」をダブルクリックします。

    「カードリーダーを追加 (Add Reader)」ダイアログボックスが表示されます。

  3. 追加または選択するカードリーダーのタイプをダブルクリックし、「了解 (OK)」をクリックします。

    Sun 内蔵カードリーダーを有効にするには、「Sun SCRI Internal カード端末 (Sun SCRI Internal Card Terminal Reader)」を選択します。 「カードリーダー (Card Readers)」ダイアログボックスが表示されます。

  4. 「基本構成 (Basic Configuration)」タブを選択します。

  5. そのカードリーダーの名前を「一意のカード端末名 (Unique Card Terminal Name)」フィールドに入力します。

    カードリーダーを変更しない場合には、現在の名前のままにしておきます。名前にはスペースを入れないでください。

  6. 「デバイスポート (Device Port)」の下にある下矢印をクリックします。

  7. カードリーダーが取り付けられているポートを選択します。

  8. 「了解 (OK)」をクリックします。

  9. プロンプトが表示されたら、ocfserv を再起動します。

    次回に SmartCard Console または smartcard コマンドを使用すると、ocfserv プロセスが再起動します。

新しいカードタイプのサポートを追加するには (新しい ATR)

スマートカードの新しいタイプを使用するには、その ATR(Answer to Reset) 属性を ocfserv に設定する必要があります。 新しいカードタイプのサポートを追加するには、次の手順を実行します。

コマンド行の例

スーパーユーザーでログインし、次の手順を実行して新しい PayFlex ATR として “12345” を追加します。


# smartcard -c admin -x modify "PayFlex.ATR=3B69000057100A9 3B6911000000010100 12345"

注 –

現在の ATR および新しい ATR を入力する必要があります。


SmartCard Console の手順
  1. 新しい ATR を持つスマートカードをカードリーダーに挿入します。

  2. ナビゲーション区画で「スマートカード (Smart Cards)」を選択します。

  3. 現在挿入されているカードのタイプを表すアイコンをダブルクリックします。

    「スマートカード (Smart Card)」ダイアログボックスには、このカードタイプで既にサポートされている ATR のリストが表示されます。

  4. 新しい ATR の場合には、「追加 (Add)」をクリックします。

    「ATR を追加 (Add ATR)」ダイアログボックスが表示され、カードリーダーに挿入されているカードの ATR が「挿入されているカードの ATR (Inserted Card's ATR)」リストボックスに示されます。


    注 –

    挿入されているカードの ATR 値が登録されているかどうかを確認するには、「追加 (Add)」ボタンをクリックします。何も表示されない場合、そのカードの ATR が既に認識されています。それ以外の場合には、次の手順を実行します。


  5. 挿入されているカードの ATR を選択するか、「新しい ATR (New ATR)」フィールドに新しい ATR を入力します。

    これで、スマートカード製品の新しい ATR 値を表示できます。

  6. 「ATR を追加 (Add ATR)」ダイアログボックスで「了解 (OK)」をクリックします。

    新しい ATR が「スマートカード (Smart Card)」ダイアログボックスのリストに追加されます。

  7. 「スマートカード (Smart Card)」ダイアログボックスのリストから新しい ATR を選択します。

  8. 「スマートカード (Smart Card)」ダイアログボックスで「了解 (OK)」をクリックして、その変更を有効にします。

スマートカードのアプレットをスマートカードに読み込むには

Solaris スマートカードのアプレット (SolarisAuthApplet ) をスマートカードに読み込むには、次の手順を実行します。この手順を実行してから、ユーザープロファイル情報を追加できます。

コマンド行の例

カードリーダーに挿入されているスマートカードを使って、スーパーユーザーでログインし、次のように入力します。


# smartcard -c load -i /usr/share/lib/smartcard/SolarisAuthApplet.capx

読み込みが終了すると、次のメッセージが表示されます。


Operation successful.
SmartCard Console の手順
  1. スマートカードをカードリーダーに挿入します。

  2. ナビゲーション区画から「アプレットを読み込む (Load Applets)」アイコンを選択します。

  3. コンソール区画で「SolarisAuthApplet」アイコンをダブルクリックします。

    「アプレットの読み込み (Load Applets)」ダイアログボックスが表示されます。その後、各種カードタイプに有効なアプレットが左側のリストボックスに表示されます。

  4. 初期化するカードタイプを選択します。

    「CyberFlex」、「IButton」、「PayFlex」の中から選択します。

  5. 2 つのリストボックス間の矢印をクリックします。

    選択したアプレットが「アプレットのインストールを保留 (Pending Applet Installations)」リストボックスにコピーされ、そのリストボックス内でチェックマークが付けられ、スマートカードの名前が表示されます。カードリーダーにカードが挿入されていない、または間違ったスマートカードが挿入されている場合には、「No compatible devices inserted」メッセージが表示されます。そのメッセージが表示された場合には、適切なカードを挿入します。

  6. 「インストール (Install)」をクリックします。

    「アプレットをデバイスに読み込む (Loading Applet to Device)」ウィンドウが表示されます。アプレットの読み込みには数分間かかります。インストールが完了すると、確認メッセージ (「アプレットのインストールが完了しました (Applet Installation Successful)」) を含むウィンドウが表示されます。

  7. 「了解 OK)」をクリックして、そのウィンドウを終了します。

    これで、カードにデフォルト値が保存されます。以前の異なる PIN、またはユーザープロファイル値がカードに保存されている場合には、それらの値は上書きされます。詳細については、PIN 属性ユーザー属性とパスワード属性を参照してください。

ユーザープロファイルを設定するには

カードが設定されるアプリケーション (dtlogin) に関連付けられるユーザー名とパスワードを指定するには、次の手順を実行します。詳細については、スマートカード上でユーザー情報を作成するにはを参照してください。

コマンド行の例

スーパーユーザーでログインし、 dtlogin アプリケーションに対して xxx にユーザー名、 yyy にパスワードを設定するために、次のように 1 行にコマンドを入力します。この例では、PIN はデフォルト値の $$$$java です。


# smartcard -c init -A A0000000620304000 -P '$$$$java' user=xxx 
password=yyy application=dtlogin

注 –

読み込んだアプレット ID と現在の PIN を入力する必要があります。 上記の例では、-A A000000062030400SolarisAuthApplet のアプレット ID を示し、PIN はデフォルトの SolarisAuthApplet の値です。デフォルトの PIN である $$$$java や、シェルの特殊文字 ($ など) を含む PIN は、単一引用符 (' ') で囲みます。単一引用符で囲まれていない場合、シェルは PIN を変数として解釈しようとし、コマンドが失敗します。


SmartCard Console の手順
  1. カードリーダーに構成するスマートカードを挿入します。

  2. ナビゲーション区画から「アプレットを構成 (Configure Applets)」を選択します。

    カードリーダー内のカードのタイプを示すアイコンがコンソール区画に表示されます。

  3. コンソール区画でアイコンをダブルクリックします。

    「アプレットを構成 (Configure Applets)」ダイアログボックスが表示されます。

  4. 「アプレットを構成 (Configure Applets)」ダイアログボックスにある「SolarisAuthApplet」を選択します。

    SolarisAuthApplet 構成フォルダがそのダイアログボックスの右側に表示されます。このフォルダには「PIN」と「User Profiles」のタブがあります (一部のスマートカードでは、「RSA Key」と「PKI Cert」のタブも追加されます)。ここでは、ユーザープロファイルの変更だけについて説明します。PIN 変更の詳細については、スマートカードの PIN を変更するにはを参照してください。

  5. 「アプレットを構成 (Configure Applets)」ダイアログボックスで「User Profiles」タブを選択します。

  6. 「User Profile Name」フィールドに dtlogin を入力します。

    これは CDE デスクトップを表します。

  7. 「ユーザー名 (User Name)」フィールドにユーザー名を入力します。

    これは、カードの使用者となるユーザーの名前です。ユーザー名は 8 文字以内にしてください。


    注 –

    カードに関連付けられた現在のユーザー名を確認するには、「Get」をクリックします。現在のユーザー名を確認したり、またはユーザー名やパスワードを変更するには、PIN を入力する必要があります。


  8. 「パスワード (Password)」フィールドにパスワードを入力します。

    これは、上記で入力したユーザー名に関連付けられるパスワードです。パスワードは、/etc/nsswitch.conf (LDAP、NIS、NIS+、またはローカルファイル) の passwd の検索順に基づいて、ユーザーのパスワードと対応付ける必要があります。 パスワードは 8 文字以内にしてください。


    注 –

    スマートカードの構成後に、ユーザーのパスワードを変更する場合、管理者またはユーザーがこれらの手順を再び実行して、スマートカードに新しいパスワードを保存する必要があります。パスワードは自動的に更新されません。


  9. 「Set」をクリックします。

    「Set User Profile」ポップアップが表示され、現在の PIN を入力するように要求してきます。

  10. PIN を入力して「了解 (OK)」をクリックします。

    これで、新しいユーザー名とパスワードがカードに保存されます。

  11. 「了解 (OK)」をクリックして、ダイアログボックスを終了します。

スマートカードの PIN を検証するには

スマートカードの PIN を確認するには、次の手順を実行します。

  1. カードリーダーにスマートカードを挿入します。

  2. スーパーユーザーでログインし、次のように入力してスマートカードの PIN を確認します。


    # smartcard -c init -A A000000062030400 -P 'PIN_number'

    この場合、PIN_number はカードに設定された PIN を表し、A000000062030400 SolarisAuthApplet のアプレット ID です。

    PIN が無効の場合には、Invalid PIN メッセージが表示されます。PIN が有効な場合は、何のメッセージも出力されません。

スマートカードの PIN を変更するには

スマートカードの PIN を変更するには、次の手順を実行します。


注 –

一般ユーザーが現在の PIN を知っている場合には、一般ユーザーがこの作業を実行できます。


コマンド行の例

カードリーダーにスマートカードを挿入して、スーパーユーザーでログインし、次のように入力してデフォルト PIN ($$$$java) を 001234 に変更します。


# smartcard -c init -A A000000062030400 -P '$$$$java' pin=001234

注 –

読み込んだアプレット ID と現在の PIN を入力する必要があります。 上記の例では、-A A000000062030400SolarisAuthApplet のアプレット ID (AID) を示し、PIN はデフォルトの SolarisAuthApplet の値です。入力した PIN の確認プロンプトは表示されないので、新しい PIN は正しく入力するように注意してください。デフォルトの PIN である $$$$java や、シェルの特殊文字 ($ など) を含む PIN は、単一引用符 (' ') で囲みます。単一引用符で囲まれていない場合、シェルは PIN を変数として解釈しようとし、コマンドが失敗します。


SmartCard Console の手順
  1. カードリーダーに構成するスマートカードを挿入します。

  2. ナビゲーション区画から「アプレットを構成 (Configure Applets)」を選択します。

    リーダーのカードタイプのアイコンがコンソール区画に表示されます。

  3. コンソール区画にあるそのアイコンをダブルクリックします。

    「アプレットを構成 (Configure Applets)」ダイアログボックスが表示されます。

  4. リストボックスで SolarisAuthApplet を選択します。

    SolarisAuthApplet 構成フォルダがそのダイアログボックスの右側に表示されます。このフォルダには「PIN」と「User Profiles」のタブがあります (一部のスマートカードでは、「RSA Key」と「PKI Cert」のタブも追加されます)。ここでは、「PIN」の変更だけについて説明します。

  5. 「PIN」タブを選択します。

  6. 新しい PIN の入力と再入力を行います。

    PIN は 8 文字以内にしてください。

  7. 「Change」をクリックします。

    「Change PIN」というポップアップウィンドウが表示されます。

  8. そのポップウィンドウに以前の PIN を入力して、「OK」をクリックします。

    SolarisAuthApplet をカードにインストールしたときに、カードに読み込まれるデフォルトの PIN は $$$$java です。

システムでスマートカードの使用を有効にするには

次の手順を実行して、システムで Solaris スマートカードの使用を有効にします。この手順は、スマートカード認証を使用する各システム上で実行する必要があります。Solaris スマートカードのコマンドの詳細については、smartcard(1M)pam_smartcard(5)、および ocfserv(1M) のマニュアルページを参照してください。

コマンド行の例

手順については、スマートカードの使用を有効にするには (コマンド行)を参照してください。

SmartCard Console の手順
  1. ナビゲーション区画で「OCF クライアント (OCF Clients)」を選択します。

    「CDE」アイコンがコンソール区画に表示されます。

  2. 「CDE」アイコンをダブルクリックします。

    「クライアントの構成 (Configure Clients)」ダイアログボックスが表示されます。

  3. そのダイアログボックスで「カード/認証 (Cards/Authentications)」タブを選択します。

    スマートカードにサポートされている「CyberFlex」、「IButton」、および「PayFlex」の 3 つが左側のリストボックスに表示されます。

  4. 「スマートカード機能を CDE アクティブにする (Activate Desktop's Smart Card capabilities)」ラジオボタンを選択します。


    注 –

    その後、「クライアントの構成 (Configure Clients)」ダイアログボックスで「了解 (OK)」すると、スマートカードがただちに有効になります。 システムで使用しているカードリーダーであり、各自のユーザー名とパスワードで構成されたスマートカードであることを確認してください。 また、必ずカードの PIN を確認し、システムからロックアウトしてください。スマートカードを使ってシステムにアクセスできない場合、rlogin を使ってリモートからシステムにログインしてから、 スーパーユーザーでログインし、smartcard -c disable と入力してスマートカードを無効にします。 また、「スマートカード機能を CDE アクティブにしない (Deactivate Desktop's Smart Card Capabilities)」というラジオボタンを選択し、「了解 (OK)」をクリックすることで、「クライアントの構成 (Configure Clients)」ダイアログボックスから スマートカードを無効にすることもできます。


  5. 「適用 (Apply)」または「了解 (OK)」をクリックします。

    これで、Solaris スマートカードがシステムで有効になります。

  6. CDE を終了して、変更を有効にします。

その他の設定作業

スマートカードのタイムアウトとカードの取り外しの動作に関するデフォルト値を使用しない場合、次の手順でそれらの値を変更できます。

スマートカードのタイムアウトを設定するには (Smartcard Console)
  1. ナビゲーション区画で「OCF クライアント (OCF Clients)」を選択します。

  2. コンソール区画にある「CDE」アイコンをダブルクリックします。

    「クライアントの構成 (Configure Clients)」ダイアログボックスが表示されます。

  3. そのダイアログボックスで「タイムアウト (Timeouts)」タブを選択します。

  4. 各タイムアウトのインジケータをマウスを使ってスライドさせて、タイムアウト値を調整します。

    • カード削除タイムアウト (Card Removal Timeout) – スマートカードが取り外された後、画面をロックするまでの、デスクトップが待機する時間の長さを指定します。これが適用されるのは、オプションタブで「カード削除を無視 (Ignore Card Removal)」ボックスがチェックされていない場合に限ります。「カード削除ログアウトの待ち時間 (Card Removal Logout Wait)」が 0 に設定されている場合、ユーザーはログアウトできません (つまり、画面をロック解除するためにユーザー再認証が行われるまで画面はロックされたままになります)。

    • 再認証タイムアウト (Reauthentication Timeout) – カードを取り外し、画面をロックしたときに、「再認証 (Reauthentication)」画面が表示されるまでの、時間の長さを指定します。

    • カード削除ログアウトの待ち時間 (Card Removal Logout Wait) – 「再認証 (Reauthentication)」画面が表示されたときに、スマートカードが再挿入されるまでの、デスクトップが待機する時間の長さを指定します。カードをその時間内に再挿入しない場合には、ユーザーがログアウトされます。このタイムアウトが適用されるのは、「カード削除後に再認証 (Reauthenticate After Card Removal)」 (「オプション (Options)」タブにある) がチェックされていない場合に限ります。

  5. 「適用 (Apply)」または「了解 (OK)」をクリックします。

  6. CDE を終了して、変更を有効にします。

カード削除のオプションを設定するには (Smartcard Console)
  1. ナビゲーション区画で「OCF クライアント (OCF Clients)」を選択します。

  2. コンソール区画にある「CDE」アイコンをダブルクリックします。

    「クライアントの構成 (Configure Clients)」ダイアログボックスが表示されます。

  3. そのダイアログボックスで「オプション (Options)」タブを選択します。

  4. チェックボックスをクリックして、切り替えます。

    • カード削除を無視 (Ignore Card Removal) – チェックマークが付いている場合には、カードリーダーからスマートカードを取り外したときに何も発生しません。

    • カード削除後に再認証 (Reauthenticate After Card Removal) – チェックマークがついている場合には、カードを取り外したときにユーザーがログアウトされます。チェックマークがついていない場合には、「カード削除ログアウトの待ち時間 (Card Removal Logout Wait)」の設定 (「タイムアウト (Timeouts)」タブにある) によって動作が決定されます。

  5. 「適用 (Apply)」または「了解 (OK)」をクリックします。

  6. CDE を終了して、変更を有効にします。