カードのアプリケーション属性は、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 にデスクトップへのログインが許可されます。