8.8. 外部 USB スマートカードリーダー用の CCID IFD ハンドラ (Oracle Solaris)

8.8.1. CCID IFD ハンドラをインストールする方法
8.8.2. CCID IFD ハンドラをアンインストールする方法
8.8.3. 既知の問題

Sun Ray Software は、Oracle Solaris を実行している Sun Ray サーバーで CCID IFD ハンドラ V1.3.10 をサポートします。これは、Sun Ray クライアントおよび Oracle Virtual Desktop Client を実行しているクライアントコンピュータに接続された外部の CCID 準拠 USB スマートカードリーダーへのアクセスを提供します。CCID IFD ハンドラ V1.3.10 は、Sun Ray 実装の PC/SC-lite API 用 インタフェースデバイスハンドラ (IFD) です。Sun Ray Software が提供するスマートカードサービスと一緒に使用する場合、この CCID IFD ハンドラによって PC/SC 準拠のアプリケーションおよびミドルウェアはデスクトップクライアントで外部の CCID 準拠 USB スマートカードリーダーを使用できます。

必要なすべての手順の詳細については、「認証用に外部の CCID 準拠 USB スマートカードリーダーを構成する方法 (Oracle Solaris)」を参照してください。

8.8.1. CCID IFD ハンドラをインストールする方法

CCID IFD ハンドラをインストールするには、次の手順に従ってください。

注記

Oracle Solaris Trusted Extensions 環境に CCID IFD ハンドラをインストールするには、ADMIN_LOW (グローバルゾーン) から root としてインストールを実行します。

  1. CCID IFD ハンドラをダウンロードして展開します。

    Sun Ray Software 5.4 リリースでは CCID IFD ハンドラが提供されていません。ただし、5.1.1 Media Pack から PC/SC-lite 1.3 コンポーネントをダウンロードできます (CCID IFD ハンドラ v1.3.10 ディストリビューションが含まれています)。CCID IFD ハンドラのみをインストールする必要があります。PC/SC-lite はすでに Sun Ray Software 5.4 と一緒にインストールされています。

  2. Sun Ray サーバーのスーパーユーザーになります。

  3. CCID IFD ハンドラをインストールします。

    # svcadm disable pcscd
    # /usr/sbin/pkgadd -d . SUNWusb-scrdr
    # svcadm enable pcscd

8.8.2. CCID IFD ハンドラをアンインストールする方法

CCID IFD ハンドラを削除するには、次の手順に従ってください。

注記

Oracle Solaris Trusted Extensions 環境から CCID IFD ハンドラをアンインストールするには、ADMIN_LOW (グローバルゾーン) から root としてアンインストールを実行します。

  1. Sun Ray サーバーのスーパーユーザーになります。

  2. CCID IFD ハンドラをアンインストールします。

    # svcadm disable pcscd
    # /usr/sbin/pkgrm SUNWusb-scrdr
    # svcadm enable pcscd

8.8.3. 既知の問題

外部 USB スマートカードリーダーを使用する場合の既知の問題のいくつかを示します。

8.8.3.1. PC/SC-lite USB 列挙が遅延する

現在のところ、外付け USB リーダーが PC/SC-lite アプリケーションに表示されるまでに数秒の遅延が発生します。この遅延は、ユーザーセッションのために PC/SC-lite インスタンスが起動された場合には常に、そして USB バスを再度列挙する必要がある場合にも発生します具体的には、外付け USB リーダーがすぐにアプリケーションに表示されない場合の列挙の遅延は、次のような状況で発生します。

  • PC/SC-lite のインスタンスがはじめて起動された。つまり、アプリケーションが指定されたセッション内から PC/SC-lite にはじめてアクセスしようとした場合。

  • 活動していないアイドル時間のために PC/SC-lite が自分で終了したあとに、PC/SC-lite インスタンスが自動的に再起動された場合。これは最初のケースに似ています。

  • ターゲット Sun Ray クライアントの外付け USB リーダーを再度列挙している間に、セッションモビリティーイベントが発生し、リーダーの表示が遅れている場合。Sun Ray クライアントにある外付け USB リーダーの CCID IFD ハンドラは、現在のところセッションモビリティーをサポートしていません。

  • Sun Ray セッションの Sun Ray クライアントをリセットするか、電源を再投入します。

8.8.3.2. 列挙の遅延によって一部のアプリケーションで問題が発生する

Windows Connecter 経由での Windows スマートカードログインなど、特定のアプリケーションは USB のホットプラグモデルに関連する列挙遅延に対応するように設計されていません。このようなアプリケーションは、最初に PC/SC-lite リーダーのリストをスキャンしたあとに出現したリーダーを表示しません。つまり、前に説明したいずれかのシナリオのために、あとで表示されるリーダーをアプリケーションが見逃している可能性があります。

アプリケーションは最初に検出したリーダーを使用する場合があります。Sun Ray クライアントでは、最初に検出されるのは常に内蔵リーダーです (次のコマンドによって無効にされている場合を除く):

# utdevadm -d -s internal_smartcard_reader

その他の解決方法は、アプリケーションがリーダーリストをスキャンする前に、アプリケーションに対して USB リーダーリストを表示できるようにしておくことです。これに対処する方法の 1 つは、事前に指定されたアイドル時間のあとに PC/SC-lite インスタンスがタイムアウトしないようにすることです。/etc/smartcard/pcscd-SunRay.conf ファイルを編集し、INSTANCE_TIMEOUT パラメータを -1 に変更することで、インスタンスのタイムアウトを無効にできます。出荷時のデフォルト値は 600 秒 (10 分) です。

INSTANCE_TIMEOUT を変更することによって非活動タイムアウトを無効にすると、ユーザーのセッションが終了するまで PC/SC-lite インスタンスは存続し続けます (多くの PC/SC-lite プロセスがプロセステーブルに存在し、システムリソースを使用する場合があることを意味します)。

現在のところ、システム上のユーザーセッション数が増えるにつれてどの程度の影響があるのかに関するデータはありません (つまり、その基準となる十分なデータがありません)。プロセステーブルがほかの場合よりも活動していないプロセスで雑然とすることを除けば、多くの場合はまったく問題はないと考えられます。