アプリケーション属性を使うと、特定のユーザー名とパスワードを使ってログインする必要があるアプリケーションを指定できます。たとえば、スマートカードを使ってデスクトップにログインする必要がある場合、カードのユーザー名とパスワードに関連付けられたアプリケーションとして、dtlogin を指定する必要があります。また、財務パッケージや人事データベースのようなサイト固有のアプリケーションの名前をアプリケーション属性として指定することによって、このアプリケーションへのスマートカードベースのログインを要求することもできます。
カード上のアプリケーションを初期化する前に、スマートカードによる認証を使ってアクセスする必要があるアプリケーションを調べておきます。root (スーパーユーザー) など、一般のユーザーには使用が制限されているユーザー名でアプリケーションにログインする必要があるユーザー (システム管理者など) のスマートカードを用意する場合は、この作業が特に重要です。
この手順は、Solaris スマートカードがサポートするすべてのスマートカードデバイスに当てはまります。この手順を繰り返すことで、複数のスマートカードのアプリケーション属性を同時に初期化できます。
スマートカードを初期化するマシンにスーパーユーザーとしてログインします。
初期化しようとしているスマートカードがリーダーに挿入されていることを確認します。
次のように 1 行に入力して、そのスマートカードのアプリケーションを初期化します。
# smartcard -c init -A A000000062030400 -P `PIN_number' user=user_name ¥ password=user_password application=application_name |
-P PIN - このカードに割り当てられた PIN です。
user=user_name - このアプリケーションにログインする際に使用するユーザー名を定義します。
password=password - このアプリケーションにログインする際に使用するパスワードを定義します。
application= application_name - この PIN とパスワードを使ったスマートカードによるログインが必要なアプリケーションを指定します。
カードのアプリケーション属性は、3 種類の認証属性とともに機能します。たとえば、Frank というユーザーのスマートカードに、次のような情報を付けて初期化する場合を想定してください。
# smartcard -c init -A A000000062030400 -P `$$$$java' application=dtlogin ¥ user=frank password=changeme |
-A A000000062030400 - SolarisAuthApplet です。
-P `$$$$java' - このカードの PIN です。ここではデフォルトの PIN が指定されています。ユーザー Frank は、後でこの PIN を変更できます。
application=dtlogin - スマートカードによるログインを要求するアプリケーションです。
user=frank - Frank がデスクトップ (dtlogin アプリケーション) にログインするために入力する名前です。
password=changeme - Frank がデスクトップにログインするために入力しなければならないパスワードです。
Frank が自分のカードをリーダーに挿入して、ホスト (dtlogin) にログインしようとすると、ocfserv サーバーによってカードの内容が読み込まれ、認証属性が dtlogin に関連付けられているかどうかのチェックが行われます。
ユーザーとパスワードの属性が dtlogin に関連付けられていることを検出した ocfserv は、Frank に PIN の入力を要求し、入力された PIN と、dtlogin アプリケーションに割り当てられたスマートカード上の PIN 属性を照合します。さらに、ホストのパスワードデータベースにあるパスワードと Frank のカード上の情報 (ユーザー名とパスワード) を照合して、Frank が本人であることを確認します。これらの属性が一致すると、Frank にデスクトップへのログインが許可されます。