この章では、スマートカードの設定の概要を示します。
この章では、次の内容について説明します。
スマートカードは、SmartCard Console またはコマンド行から設定できます。SmartCard Console からスマートカードサポートを設定する手順については、第 5 章「スマートカードの設定 (タスク)」を参照してください。この章では、コマンド行による設定例も示しています。SmartCard Console を起動する手順については、「SmartCard Console を起動するには (コマンド行)」を参照してください。
デフォルトでは、OCF サーバーは次のカードサービスを認識します。
「カードサービス」ダイアログボックスを使用すると、特定のカードのサービスが有効であるかどうかを確認したり、カードサービスを無効にしたりできます。カードサービスを無効化または有効化する手順は、「カードサービスを無効または有効にするには (SmartCard Console)」を参照してください。
ATR (Answer-To-Reset) 属性には、スマートカードのバージョンを識別する数値が含まれています。ATR 属性は、スマートカードのメーカーにより提供されています。
サポートされるスマートカードは、次の ATR 属性値を持ちます。
PayFlex.ATR = 3B6900005792020101000100A9 3B69110000005792020101000100 IButton.ATR = 008F0E0000000000000000000004000034909000 CyberFlex.ATR = 3B169481100601810F 3B169481100601811F |
初めてスマートカードを設定するときには、スマートカード上の ATR を OCF サーバーに識別させます。
サイト内で使用しているスマートカードのメーカーが ATR 属性の異なる新しいカードタイプを発行した場合、システムの ATR 属性を変更する必要があります。このとき、新しいスマートカードを使用するすべてのシステムで ATR 属性を変更する必要があります。
アプレットを SmartCard Console からロードしようとしていて、次に示すメッセージが表示された場合は、ATR を追加しなければならない場合もあります。
No compatible devices inserted |
新しいスマートカードの ATR を追加または変更する手順については、「スマートカードの ATR を追加または変更するには (SmartCard Console)」を参照してください。
ユーザープロファイル情報を追加するためには、デフォルトの SolarisAuthApplet アプレットをスマートカードに追加する必要があります。
アプレットをスマートカードに読み込む手順については、「アプレットをスマートカードに読み込むには (SmartCard Console)」を参照してください。
デフォルトのアプレットを読み込んだ後は、スマートカード上でユーザープロファイル情報を作成します。ユーザープロファイル情報は、ログイン名、パスワード、PIN (Personal Identification Numver)、およびセキュリティ保護されているアプリケーションなど、そのユーザーについての個人情報を指定します。
スマートカード上でユーザー情報を作成する手順については、「スマートカード上でユーザー情報を作成するには (SmartCard Console)」を参照してください。
各スマートカードに属性を設定するときは、ユーザーの要件、サイト内のセキュリティポリシー、および使用しているスマートカードのタイプによる制限に基づいて設定します。各スマートカードに対応する属性を定義するには、「アプレットを構成」ダイアログボックスを使用します。システム上のクライアントおよびサーバープログラムは、スマートカード上の属性を読み取って、特定のアプリケーションへのアクセス権をユーザーに与えるかどうかを決定します。
表 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 はデスクトップにログインできます。
「authmechanism」属性は、クライアントアプリケーションがローカルシステム上で使用する認証機構を定義します。Solaris スマートカードは、次の 3 つの認証機構を提供します。
Password - ユーザーのログイン名に関連付けられたパスワード。スマートカード上に存在するか、クライアントアプリケーションにアクセスしようとするときに入力する必要があります。
PIN - ユーザーの PIN (Personal Identification Number)。スマートカード上に存在するか、クライアントアプリケーションにアクセスしようとするときに入力する必要があります。
Challenge-Response - ユーザーがクライアントアプリケーションにアクセスする前には、システムとスマートカードの間で Challenge-Response 認証シーケンスが発生している必要があります。
デフォルトの「authmechanism」属性は PIN Password です。
ocfserv とクライアントアプリケーションのデフォルトの認証機構は PIN Password です。この場合、ユーザーがアプリケーション (デスクトップなど) にログインしようとすると、アプリケーションによりユーザーは PIN の入力を求められます。
ocfserv サーバーは、ユーザーが入力した PIN とスマートカードの PIN を照合して、ユーザーが本人であることを確認します。PIN が一致した場合、アプリケーションへのアクセス権がユーザーに与えられます。あるいは、ocfserv がさらにスマートカード上の補助的な認証属性を読み取ります。
コマンド行からこの属性を設定する手順については、「サーバーとクライアントアプリケーションのデフォルトの認証機構を設定するには (コマンド行)」を参照してください。
ローカルシステムの認証を設定するときは、スマートカード上に対応する認証機構を持っていないユーザーはアクセスできないように設定します。デフォルトでは、スマートカードでログイン中に、ocfserv はサーバーの認証機構を使用します。
ユーザーが異なる認証シーケンスセットでクライアントアプリケーションにアクセスしようとした場合は、ログイン中 ocfserv はクライアントの認証機構を使用します。
クライアントの認証属性を構成する前に、ocfserv の認証機構が有効になっている必要があります。デフォルトでは、Solaris スマートカードがサポートするすべての認証機構は、Solaris 8 リリースをインストールしたときに有効になります。サポートされている認証機構は次のとおりです。
Password
PIN
Challenge-Response
個々の OCF クライアントアプリケーションが使用するデフォルトのスマートカードとデフォルトの認証シーケンスには、属性を定義する必要があります。ローカルシステム上で動作する重要なアプリケーションのセキュリティを保護するには、スマートカードを使用したログインが必要となるように構成します。デフォルトでは、アプリケーション dtlogin がセキュリティ保護されています。このアプリケーションは、共通デスクトップ環境 (CDE) へのログインを制御します。
アプリケーションは、必ずしも、ocfserv と同じ認証シーケンスを持つ必要はありません。ocfserv の認証シーケンスと異なる場合、クライアントの認証シーケンスが優先されます。たとえば、ocfserv のデフォルトの認証機構として「password」を構成しておいて、クライアントアプリケーション (Solaris デスクトップなど) にアクセスしようとするユーザーの認証シーケンスに PIN 認証を追加することもできます。
コマンド行からこの属性を設定する手順については、「サーバーとクライアントアプリケーションのデフォルトの認証機構を設定するには (コマンド行)」を参照してください。
スマートカード設定における最後の手順は、スマートカードの操作を有効にすることです。
スマートカードの操作を有効にする手順は、「スマートカードの操作を有効にするには (コマンド行)」 を参照してください。
スマートカードを有効化し、かつ以下の状態である場合、dtlogin によるログインはできません。
現在使用されているスマートカードを持っていない。
スマートカードがうまく構成されていない。
現在使用されているスマートカードの構成がなく、スマートカードを有効化する場合は、次のことを行います。
「dtlogin」ログイン画面の「オプション」メニューから「コマンド行ログイン」を選択します。
スーパーユーザー (root) としてログインします。
スマートカードの操作を無効化します。
スマートカードの操作を無効にする手順は、「スマートカードの操作を無効にするには (コマンド行)」 を参照してください。