Solaris スマートカードの管理

第 4 章 スマートカードの設定

この章では、スマートカードの設定の概要を示します。スマートカードは、SmartCard Console またはコマンド行から設定できます。この章の手順では、各自のシステムでスマートカードを実装する方法を理解し、スマートカードを使用するすべてのシステムにスマートカードを設定していることを前提とします。この章では、次の内容について説明します。

SolarisAuthApplet の読み込み

ユーザープロファイル情報を追加するためには、デフォルトの 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 属性は、スマートカードの 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 のスマートカードを初期化する場合を考えます。

これらの情報は、次のようにコマンド行に入力する必要があります。


# 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 スマートカードによるデスクトップへのログインを有効にする

デスクトップシステムの設定で最後に行うことは、Solaris スマートカードを使用したデスクトップへのログインを有効にすることです。手順については、スマートカードの使用を有効にするには (コマンド行)を参照してください。

スマートカードを有効にし、かつ次の条件に当てはまる場合には、dtlogin を使用してログインすることはできません。

現在使用されているスマートカードの構成を設定が完了する前に、スマートカードを有効にする場合は、次のスマートカードを無効にする手順を実行して、使用するスマートカードを設定できるようにします。

  1. ssh または rlogin コマンドを使って、リモートからシステムにログインします。

  2. スーパーユーザー (root) になります。

  3. スマートカードの操作を無効にします。


    # smartcard -c disable
    

スマートカードの使用を有効にするには (コマンド行)

次の手順を実行して、システムで Solaris スマートカードの使用を有効にします。デスクトップでスマートカードを有効にした後、このシステムにログインするには、そのシステムで承認されたスマートカードを使用する必要があります。また、PIN の入力が 必要な場合もあります。

  1. スマートカードの操作に使用する各システム上でスーパーユーザーになります。

  2. デスクトップを停止します。


    # /etc/init.d/dtlogin stop
    
  3. Solaris スマートカードの操作を有効にします。


    # smartcard -c enable
    
  4. デスクトップを再起動します。


    # /etc/init.d/dtlogin start
    

    注 –

    スマートカードによるログインができるように CDE を構成すると、/etc/pam.conf が変更され、pam_smartcard が取り込まれます。 たとえば、smartcard -c enable を実行すると、次の行が dtlogindtsessionauth スタックの先頭に挿入されます。


    dtlogin auth requisite pam_smartcard.so
    dtsession auth requisite pam_smartcard.so