この章では、スマートカードの設定の概要を示します。スマートカードは、SmartCard Console またはコマンド行から設定できます。この章の手順では、各自のシステムでスマートカードを実装する方法を理解し、スマートカードを使用するすべてのシステムにスマートカードを設定していることを前提とします。この章では、次の内容について説明します。
ユーザープロファイル情報を追加するためには、デフォルトの SolarisAuthApplet アプレットをスマートカードに追加する必要があります。手順については、スマートカードのアプレットをスマートカードに読み込むにはを参照してください。
デフォルトのアプレット (SolarisAuthApplet) を読み込んだ後に、カード上でユーザープロファイル情報を作成します。ユーザープロファイル情報では、カードユーザーのログイン名、パスワード、およびセキュリティ保護されているアプ リケーションを指定します。SolarisAuthApplet のデフォルトのPIN は、$$$$java です。
次のコマンドは、Solaris スマートカードがサポートしているすべてのスマートカードデバイスで使用できます。カードリーダーにスマートカードを挿入します。SmartCard Console の手順については、ユーザープロファイルを設定するにはと スマートカードの PIN を変更するにはを参照してください。
次のコマンドを 1 行に入力して、スマートカードの PIN、ログイン名、パスワード、およびアプリケーションを設定します。
# smartcard -c init -A A000000062030400 -P '$$$$java' user=anyone password=changeme application=dtlogin |
この例では、ユーザー名は anyone に、パスワードは changeme に、アプリケーションは dtlogin に設定されています。 ユーザー名とパスワードは任意の値に設定できます。カードの発行時に、システム管理者またはユーザーが任意の値に変更します。手順については、ユーザープロファイルを設定するにはを参照してください。
読み込んだアプレット ID と現在の PIN を入力する必要があります。 コマンドの -A A000000062030400 部分に SolarisAuthApplet アプレット ID を指定します。デフォルトの PIN である $$$$java や、シェルの特殊文字 ($ など) を含む PIN は、単一引用符 (' ') で囲む必要があります。単一引用符で囲まれていない場合、シェルは PIN を変数として解釈しようとし、コマンドが失敗します。
各スマートカードに属性を設定するときは、ユーザーの要件、サイト内のセキュリティポリシー、および使用しているスマートカードのタイプによる制限に基づいて設定します。各スマートカードに対応する属性を定義するには、「アプレットを構成 (Configure Applets)」ダイアログボックスを使用します。システム上のクライアントおよびサーバープログラムは、スマートカード上の属性を読み取って、特定のアプリケーションへのアクセス権をユーザーに与えるかどうかを決定します。
このような属性は、Solaris スマートカードが提供する SolarisAuthApplet アプレットで初期化されたスマートカードだけに適用されます。異なるスマートカードアプレットを使用している場合、利用可能な属性は異なる場合があります。詳細は、smartcard(1M) のマニュアルページを参照してください。
PIN 属性は、スマートカードの PIN (Personal Identification Number) を定義する認証属性です。スマートカードに作成されているデフォルトの PIN は $$$$java です。管理者またはユーザーは $$$$java を個人専用の PIN に変更できます。サイトのすべてのユーザーに、同じデフォルトの PIN 名 (たとえば changeme など) を付与することも考えられます。その後、各ユーザーが、その PIN をユーザー自身しか知らない値へ必ず変更するようにします。
スマートカードの PIN を変更する手順については、スマートカードの PIN を変更するにはを参照してください。
ユーザー属性とパスワード属性は、ユーザーを識別して、ユーザーをスマートカードの PIN に関連付ける認証属性です。これらの属性を設定するには、ユーザーのログイン名とパスワードを知っている必要があります。
デフォルトの認証機構 (PIN) を使用するシステムでは、ocfserv を実行して PIN が認証されていることを確認します。次に、ocfserv はスマートカード上のユーザー属性とパスワード属性を読み取ります。スマートカード上のパスワードがシステムのパスワードデータベース内にあるユーザーのエントリと一致する場合、ocfserv はユーザーのそのアプリケーションへのアクセスを許可します。
アプリケーション認証属性 (SmartCard Console では「ユーザープロファイル」と呼ばれる) を使用すると、ログイン名とパスワードを使ってログインする必要があるアプリケーションを指定できます。たとえば、デスクトップにスマートカードを使用したログインが必要な場合、スマートカード上のログイン名とパスワードに関連付けられたアプリケーションとして、dtlogin をアプリケーション属性に指定する必要があります。また、サイトに固有なアプリケーション (財務パッケージや個人データベースなど) にスマートカードを使用したログインが必要な場合、そのアプリケーションの名前をアプリケーション属性に指定します。
スマートカード上でアプリケーションを初期化する前に、ユーザーがスマートカードによる認証を使ってアクセスする必要があるアプリケーションを決定しておきます。root (スーパーユーザー) など、一般のユーザーには使用が制限されているアプリケーションにログインする必要があるユーザー (システム管理者など) 用にスマートカードを用意する場合は、この作業は特に重要になります。
PayFlex カードは複数の属性をサポートしていないため、デスクトップ、および 1 つ以上のセキュリティ保護されたアプリケーションにログインする必要がある場合、あるいは複数のユーザー名を使用する場合には使用できません。
スマートカード上のアプリケーション属性は他の認証属性と共に機能します。たとえば、次の情報を使って、ユーザー 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 はデスクトップにログインできます。
デスクトップシステムの設定で最後に行うことは、Solaris スマートカードを使用したデスクトップへのログインを有効にすることです。手順については、スマートカードの使用を有効にするには (コマンド行)を参照してください。
スマートカードを有効にし、かつ次の条件に当てはまる場合には、dtlogin を使用してログインすることはできません。
現在使用されているスマートカードを持っていない。
スマートカードが正しく構成されていない。
現在使用されているスマートカードの構成を設定が完了する前に、スマートカードを有効にする場合は、次のスマートカードを無効にする手順を実行して、使用するスマートカードを設定できるようにします。
ssh または rlogin コマンドを使って、リモートからシステムにログインします。
スーパーユーザー (root) になります。
スマートカードの操作を無効にします。
# smartcard -c disable |
次の手順を実行して、システムで Solaris スマートカードの使用を有効にします。デスクトップでスマートカードを有効にした後、このシステムにログインするには、そのシステムで承認されたスマートカードを使用する必要があります。また、PIN の入力が 必要な場合もあります。
スマートカードの操作に使用する各システム上でスーパーユーザーになります。
デスクトップを停止します。
# /etc/init.d/dtlogin stop |
Solaris スマートカードの操作を有効にします。
# smartcard -c enable |
デスクトップを再起動します。
# /etc/init.d/dtlogin start |
スマートカードによるログインができるように CDE を構成すると、/etc/pam.conf が変更され、pam_smartcard が取り込まれます。 たとえば、smartcard -c enable を実行すると、次の行が dtlogin と dtsession の auth スタックの先頭に挿入されます。
dtlogin auth requisite pam_smartcard.so dtsession auth requisite pam_smartcard.so |