この章では、スマートカードの管理および保守の追加作業について説明します。これらの作業は、SmartCard Console またはコマンド行から行うことができます。
この章では、次の手順について説明します。
この手順は、Solaris スマートカードがサポートしているすべてのカードに当てはまります。
カードリーダーにスマートカードを挿入します。
スマートカードの PIN を確認します。
# smartcard -c init -A A000000062030400 -P `PIN_number' |
PIN_number はスマートカードに設定されている PIN です。
PIN が有効でない場合は「暗証番号 (PIN) が無効です」というメッセージが表示されます。PIN が有効な場合は、何のメッセージも出力されません。
この手順は、Java ベースの iButton と CyberFlex のスマートカードに当てはまります。PayFlex スマートカードには非公開鍵を格納できません。
非公開鍵の機能を使用するには、公開鍵インフラストラクチャ (PKI) をサイトに設定しておく必要があります。
サイトの PKI に適切なコマンドを使用して、ユーザー用に 1 組の公開鍵と非公開鍵を作成します。
鍵の組み合わせから非公開鍵の部分を別のファイルにエクスポートします。
後で非公開鍵属性を設定する際に絶対パス名を指定する必要があるため、このパス名を記録しておきます。
スマートカードの初期化に使用するシステム上でスーパーユーザーになります。
スマートカードをカードリーダーに挿入します。
Java のセキュリティディレクトリに移動します。
# cd /usr/java1.2/jre/lib/security |
このファイルの中から security.provider の定義を探します。
This is the "master security properties file". # . . # Each provider must implement a subclass of the Provider class. # To register a provider in this master security properties file, # specify the Provider subclass name and priority in the format # security.provider.<n>=<classname> |
次の行の前にコメント記号 (#) があることを確認します。
# security.provider.<n>=<className> |
次のテキストを追加します。
# Each provider must implement a subclass of the Provider class. # To register a provider in this master security properties file, # specify the Provider subclass name and priority in the format # # security.provider.<n>=<className> security.provider.2=com.sun.ami.common.SunAMI |
次のコマンドを 1 行に入力して、スマートカードを初期化します。
# smartcard -c init -A A000000062030400 -P `PIN_number' privatekey=key_file_name |
PIN_number |
スマートカードに割り当てられている PIN を指定します。 |
key_file_name |
ユーザーの非公開鍵が格納されているファイルのフルパス名を指定します。 |
SolarisAuthApplet には、証明書属性の完全な実装は提供されていません。
smartcard -c init コマンドを実行してユーザーのスマートカードを初期化すると、システムとスマートカードの両方に対称鍵が作成されます。ocfserv は /etc/smartcard/.keys というファイルを作成して、システム上で構成されているすべての秘密鍵に関する情報を格納します。スマートカードが作成されたシステム以外のシステムにユーザーがアクセスする必要がある場合、アクセスする必要があるすべてのシステムに /etc/smartcard/.keys ファイルをエクスポートする必要があります。
スマートカードが作成されたシステムから /etc/smartcard/.keys ファイルをエクスポートするには、この手順を使用します。
スマートカードが作成されたシステム上でスーパーユーザーになります。
当該ユーザー専用の鍵ファイルを別に作成して、/etc/smartcard/.keys の中から、そのユーザーの鍵だけを格納します。
/etc/smartcard/.keys をエクスポートします。
# smartcard -c admin -k challenge_response -E -o key_file_name |
key_file_name |
ユーザーの対称鍵が格納されているファイルを指定します。/etc/smartcard/.keys ファイルまたは当該ユーザー専用の鍵ファイルのどちらかです。 |
ユーザーのスマートカードが作成されたシステム以外のシステムにユーザーの対称鍵をインポートするには、この手順を使用します。
スマートカードが作成されたシステム以外のシステム上でスーパーユーザーになります。
鍵ファイルを新しいシステムにインポートします。
# smartcard -c admin -k challenge_response -I -i key_file_name |
key_file_name |
/etc/smartcard/.keys または当該ユーザー専用に作成した鍵ファイルのどちらかです。 |
ユーザーがスマートカードを使ってアクセスする必要がある各システムについて、手順 1 と手順 2 を繰り返します。
スマートカードを使ってログインするときに障害が発生した場合は、この節を参照してください。
スマートカードの動作をシステム上でデバッグするには、デバッグ属性を設定します。Solaris スマートカードは標準的なデバッグ機能を提供します。指定しておけば、ユーザーの動作を詳細に追跡できます。
有効にすると、デバッグ情報がファイルに記録されます。デバッグ情報のレベルおよび量は、0 - 9 段階で制御することができます。デフォルトでは、デバッグは無効になっています。
ocfserv のデバッグ属性を設定したい場合は、「デバッグ」フォルダを使用します。デバッグの設定はオプション (省略可能) です。
ナビゲーション区画で「OCF サーバー」を選択します。
ローカルシステムを表すアイコンをダブルクリックします。
「デバッグ」フォルダを選択します。
OCF デバッグレベルスライダのインジケータを右側に動かして、OCF サーバーのデバッグレベルを示します。
Open Card トレースレベルスライダのインジケータを右側に動かして、OCF サーバーのトレースレベルを示します。
(オプション) デバッグファイルの代わりの名前を指定します。
「適用」または「了解」をクリックします。
ocfserv を再起動するようプロンプトが表示された場合は、「OCF を再起動しない」を選択します。
デフォルトでは、次のデバッグ属性が ocfserv 用に定義されています。
debugging.filename = /var/run/ocf.log debugging = 0 OpenCard.trace = com.sun:9 opencard.core:9 |
以前のリリースの Solaris 8 を使用している場合は、デバッグログファイルの名前 が /tmp/ocf_debugfile の場合もあります。
/var/run/ocf_log |
デバッグ情報を格納するファイル名 |
debugging = 0 |
デバッグが無効であることを示す。debugging = 1 はデバッグが有効であることを示す |
OpenCard.trace |
OpenCard のトレースレベル |
スマートカードのデバッグを有効にするには、次の手順を使用します。
スーパーユーザーになります。
debugging=1 を設定して、スマートカードのデバッグを有効にします。
# smartcard -c admin -x modify debugging=1 |
次の例では、-x modify debugging.filename オプションとデバッグファイルの絶対パスによるファイル名を指定することによって、ocfserv デバッグファイルの位置を変更しています。
# smartcard -c admin -x modify debugging.filename=/var/tmp/sc.debug |
スマートカードの構成エラーによりユーザーのスマートカードでのログインが許可されない場合、またはシステムがスマートカードによるログインを必要としなくなった場合は、システムでスマートカードの操作を無効にする必要が生じることもあります。
スーパーユーザーになります。
システムをシングルユーザーモードにします。
# shutdown -g180 -y |
スマートカードの操作を無効にします。
# smartcard -c disable |
システムをマルチユーザーモードにして、デスクトップ環境に戻ります。
Entering System Maintenance Mode Sun Microsystems Inc. SunOS 5.8 Generic February 2000 # (Press Control-D) ENTER RUN LEVEL (0-6, s or S) [3]: 3 |
スマートカードの重要な構成情報は /etc/smartcard/opencard.properties ファイルに格納されています。このファイルは管理が不要なので、手動で編集しないでください。ただし、SmartCard Console またはコマンド行からスマートカードを構成するときに問題が発生した場合は、/etc/smartcard/opencard.properties ファイルの前のバージョンをコマンド行から復元できます。
スーパーユーザーになります。
/etc/smartcard ディレクトリに移動します。
最初に現在のバージョンを保存します。
# cp opencard.properties opencard.properties.bad |
前のバージョンを現在のバージョンにコピーします。
# cp opencard.properties.bak opencard.properties |
アプレットをスマートカードにダウンロードしようとして、次のメッセージが表示された場合、カードリーダーに挿入されているスマートカードの ATR が (システムが受け付けることができる) 有効な ATR のリストに追加されていない可能性があります。
SmartcardInvalidCardException |
「スマートカードの ATR を追加または変更するには (SmartCard Console)」の手順に従って、スマートカードの ATR を更新してください。
SmartCard Console を使ってスマートカードを追加しようとすると、カードリーダーに挿入されているスマートカードの ATR が表示されます。表示された ATR が有効な ATR のリストに存在しない場合は、その ATR を「card-name.ATR」属性に追加します。
詳細は、「スマートカードの ATR を追加または変更するには (SmartCard Console)」を参照してください。
ocfserv 属性を表示して、「card_name.ATR」属性が存在するかどうかを調べます。
# smartcard -c admin |
たとえば、ocfserv は「MySCM.0.ATR」属性を表示します。MySCM はカードリーダーのユーザーフレンドリな名前です。この属性は、カードリーダーに挿入されているスマートカードの ATR を反映しています。この属性は一時的なものです。スマートカードをカードリーダーに挿入すると、ocfserv によって追加され、スマートカードをカードリーダーから取り外すと削除されます。
この属性により表示された ATR が有効な ATR のリストに存在しない場合は、その ATR を「card-name.ATR」属性に追加します。
スマートカードの操作を有効にしたあとで、システムからログアウトすると、CDE ログイン画面には次のようなメッセージが表示されます。
Please insert SmartCard |