各スマートカードに属性を設定するときは、ユーザーの要件、サイト内のセキュリティポリシー、および使用しているスマートカードのタイプによる制限に基づいて設定します。各スマートカードに対応する属性を定義するには、「アプレットを構成」ダイアログボックスを使用します。システム上のクライアントおよびサーバープログラムは、スマートカード上の属性を読み取って、特定のアプリケーションへのアクセス権をユーザーに与えるかどうかを決定します。
表 4-1 スマートカードの認証属性
属性 |
サポートされているスマートカードのタイプ |
説明 |
---|---|---|
PIN |
すべて |
個人の ID 番号 (PIN: Personal Identification Number) |
Password (パスワード) |
すべて |
ユーザーのパスワード (システムまたはネームサービスのパスワードデータベースにあるパスワードと同じ) |
User (ユーザー) |
すべて |
ユーザーのログイン名 (システムまたはネームサービスのパスワードデータベースにあるログイン名と同じ) |
Application (アプリケーション) |
すべて |
ユーザーが当該スマートカード上の情報を使ってログインする必要があるアプリケーション |
Private Key (非公開鍵) |
CyberFlex、 iButton |
ファイルに署名するときに使用される非公開鍵。詳細は、「非公開鍵属性」を参照 |
Certificate (証明書) |
CyberFlex、 iButton |
構成可能な属性であるが、Solaris スマートカードには証明書用に定義されたインタフェースは用意されていない。詳細は、smartcard(1M) のマニュアルページを参照 |
このような属性は、Solaris スマートカードが提供する SolarisAuthApplet アプレットで初期化されたスマートカードだけに適用されます。異なるスマートカードアプレットを使用している場合、利用可能な属性は異なる場合があります。詳細は、smartcard(1M) のマニュアルページを参照してください。
PIN 属性は、スマートカードの PIN (Personal Identification Number) を定義する認証属性です。スマートカードに作成されているデフォルトの PIN は $$$$java です。管理者またはユーザーは $$$$java を個人専用の PIN に変更できます。サイトのすべてのユーザーに、同じデフォルトの PIN 名 (たとえば changeme など) を付与することも考えられます。その後、各ユーザーが、その PIN をユーザー自身しか知らない値へ必ず変更するようにします。
SolarisAuthApplet アプレット内の各アプリケーションには複数のログイン名とパスワードの組み合わせを定義できますが、このアプレットには PIN は 1 つしか定義できません。
スマートカードの PIN を変更する手順については、「スマートカード上の PIN を変更するには (SmartCard Console)」を参照してください。
ユーザーは後でこの PIN を変更できます。「スマートカード上の PIN を変更するには (コマンド行)」を参照してください。
ユーザー属性とパスワード属性は、ユーザーを識別して、ユーザーをスマートカードの PIN に関連付ける認証属性です。これらの属性を設定するには、ユーザーのログイン名とパスワードを知っている必要があります。
デフォルトの認証機構 (PIN Password) を使用するシステムでは、ocfserv は PIN が認証されていることを確認します (「PIN Password がどのように機能するか」を参照)。次に、ocfserv はスマートカード上のユーザー属性とパスワード属性を読み取ります。スマートカード上のパスワードがシステムのパスワードデータベース内にあるユーザーのエントリと一致する場合、ocfserv はユーザーのそのアプリケーションへのアクセスを許可します。
スマートカードには複数のログイン名とパスワードの組み合わせを定義できます。たとえば、スマートカードのユーザーが別のアプリケーションにアクセスするために、異なるログイン名とパスワードを使用する必要がある場合などです。また、システム管理者の場合、通常のユーザーとしてのログイン名とパスワードの他に、スーパーユーザーとしてのパスワードもスマートカードに定義できます。ただし、スマートカードに定義できる PIN は 1 つだけです。
アプリケーション認証属性を使うと、ユーザーがログイン名とパスワードを使ってログインする必要があるアプリケーションを指定できます。たとえば、デスクトップにスマートカードを使用したログインが必要な場合、スマートカード上のログイン名とパスワードに関連付けられたアプリケーションとして、dtlogin をアプリケーション属性に指定する必要があります。また、サイトに固有なアプリケーション (財務パッケージや個人データベースなど) にスマートカードを使用したログインが必要な場合、そのアプリケーションの名前をアプリケーション属性に指定します。
スマートカード上でアプリケーションを初期化する前に、ユーザーがスマートカードによる認証を使ってアクセスする必要があるアプリケーションを決定しておきます。root (スーパーユーザー) など、一般のユーザーには使用が制限されているアプリケーションにログインする必要があるユーザー (システム管理者など) 用にスマートカードを用意する場合は、この作業は特に重要になります。
スマートカード上のアプリケーション属性は他の認証属性と共に機能します。たとえば、次の情報を使って、ユーザー Frank のスマートカードを初期化する場合を考えます。
A000000062030400 - SolarisAuthApplet アプレット
'$$$$java' - このスマートカードのデフォルトの PIN で、後でユーザー Frank が変更することができます。
dtlogin - このスマートカードによるログインが必要なアプリケーション
frank - Frank がデスクトップにログインするときに入力する必要があるログイン名
changeme - Frank がデスクトップにログインするときに入力する必要があるパスワード
これらの情報は、次のようにコマンド行に入力する必要があります。
# smartcard -c init -A A000000062030400 -P `$$$$java' application=dtlogin user=frank password=changeme |
Frank が自分のスマートカードをカードリーダーに挿入して、デスクトップにログイン (dtlogin) しようとすると、ocfserv はスマートカードを読み取って、dtlogin に関連付けられた認証属性があるかどうかを調べます。
ocfserv サーバーは、ユーザー属性とパスワード属性が dtlogin に関連付けられていることを検出すると、PIN を入力するように Frank に要求します。PIN が入力されると、スマートカード上に格納された、dtlogin アプリケーションに割り当てられている PIN と比較します。また、ocfserv は Frank のスマートカード上のログイン名とパスワードがシステムのパスワードデータベース内にある Frank のエントリと一致するかどうかを調べて、Frank が本人であることを確認します。これらの属性が一致した場合、Frank はデスクトップにログインできます。