スマートカード
スマートカードおよび同等のテクノロジは、このアーティクルに記載されているガイドライン内でサポートされています。Citrix Virtual AppsまたはCitrix Virtual Desktopsでスマートカードを使用するには:
- 所属する組織における、スマートカードの使用に関するセキュリティポリシーを理解します。たとえば、スマートカードがどのように発行され、ユーザーがそれをどのように保護するかについてこれらのポリシーで規定してあることがあります。Citrix Virtual AppsまたはCitrix Virtual Desktopsの環境では、これらのポリシーの一部の変更が必要になる場合があります。
- どのユーザーデバイスの種類、オペレーティングシステム、および公開アプリケーションがスマートカードとともに使用されるかを決定します。
- スマートカードテクノロジ全般および選択したスマートカードベンダーのハードウェアとソフトウェアについて理解します。
- 分散環境でのデジタル証明書の展開管理方法について理解します。
注:
高速スマートカードではスマートカードの登録はサポートされていません。スマートカードの登録は、高速スマートカードが無効になっている場合に機能する可能性がありますが、スマートカードとミドルウェアの種類によって異なります。Citrix Virtual Apps and Desktopsとの統合、および仮想セッションでのスマートカード登録のサポートについては、スマートカードおよびミドルウェアのベンダーにお問い合わせください。
スマートカードの種類
エンタープライズ向けとコンシューマー向けのスマートカードは、寸法も電気コネクタも同じで、同じスマートカードリーダーを使用できます。
エンタープライズ向けのスマートカードにはデジタル証明書が含まれています。これらのスマートカードはWindowsログオンをサポートし、ドキュメントやメールのデジタル署名と暗号化のためのアプリケーションと連携して使用できます。Citrix Virtual Apps and Desktopsは、こうした用途に対応しています。
コンシューマー向けのスマートカードにはデジタル証明書は含まれていませんが、共有シークレットが含まれています。これらのスマートカードは、支払い(チップと署名、チップとPINクレジットカードなど)をサポートできます。これらのスマートカードは、Windowsログインや一般的なWindowsアプリケーションをサポートしていません。これらのスマートカードと合わせて使用するには、特別なWindowsアプリケーションと、適切なソフトウェアインフラストラクチャ(支払いカードネットワークへの接続など)が必要です。Citrix Virtual AppsまたはCitrix Virtual Desktopsでのこのような特別なアプリケーションのサポートについて詳しくは、Citrix担当者にお問い合わせください。
エンタープライズ向けスマートカードには、互換性のある同等のものが存在し、類似した方法で使用できます。
- スマートカードと同等のUSBトークンはUSBポートに直接接続します。これらのUSBトークンは通常USBフラッシュドライブのサイズですが、携帯電話で使用されるSIMカードと同じくらい小さいものもあります。それらは、スマートカードとUSBスマートカードリーダーの組み合わせとして表示されます。
- Windowsトラステッドプラットフォームモジュール(TPM:Trusted Platform Module)を使用する仮想スマートカードは、スマートカードとして表示されます。これらの仮想スマートカードは、Citrix Workspaceアプリ(Citrix Receiver 4.3以降)を使用して、Windows 8およびWindows 10でサポートされます。
- Citrix Virtual Apps and Desktops(旧称XenAppおよびXenDesktop)のXenAppおよびXenDesktop 7.6 FP3よりも前のバージョンは、仮想スマートカードをサポートしていません。
- 仮想スマートカードについて詳しくは、「Virtual Smart Card Overview」を参照してください。
注:「仮想スマートカード」という用語は、ユーザーコンピューターに保存されたデジタル証明書についても使用されます。これらのデジタル証明書は、厳密にはスマートカードと同等ではありません。
Citrix Virtual Apps and Desktopsのスマートカードのサポートは、MicrosoftのPC/SC(Personal Computer/Smart Card)標準仕様に基づいています。スマートカードおよびスマートカードデバイスは、使用するWindowsオペレーティングシステムでサポートされており、Microsoft WHQL(Windows Hardware Quality Lab)により承認されている必要があります。PC/SCに準拠しているハードウェアについては、Microsoft社のドキュメントを参照してください。その他のタイプのユーザーデバイスは、PS/SC標準に準拠していることがあります。詳しくは、Citrix Readyプログラムを参照してください。
通常、各ベンダーのスマートカードまたは同等のものには、別々のデバイスドライバーが必要です。ただし、スマートカードがNIST Personal Identity Verification(PIV)標準などの標準に準拠している場合、一定範囲のスマートカードに単一のデバイスドライバーを使用できる場合があります。デバイスドライバーをユーザーデバイスとVirtual Delivery Agent(VDA)の両方にインストールする必要があります。多くの場合、デバイスドライバーはCitrixパートナーから入手可能なスマートカードミドルウェアパッケージの一部として提供されます。スマートカードミドルウェアパッケージにより、高度な機能が提供されます。デバイスドライバーは、暗号化サービスプロバイダー(CSP:Cryptographic Service Provider)、キーストレージプロバイダー(KSP:Key Storage Provider)、ミニドライバーとして説明されることもあります。
Windowsシステムでは、以下のスマートカードとミドルウェアでのCitrixの動作確認が行われています。ただし、そのほかのスマートカードおよびミドルウェアも使用できます。Citrix互換のスマートカードとミドルウェアについて詳しくは、//m.giftsix.com/readyを参照してください。
ミドルウェア | スマートカード |
---|---|
GemAlto Mini Driver for .NETカード | Gemalto .NET v2+ |
他の種類のデバイスでのスマートカード使用法について詳しくは、そのデバイスに関するCitrix Workspaceアプリのドキュメントを参照してください。
リモートPCアクセス
オフィスで動作する,物理的な窗口10,Windows 8,またはWindows 7マシンにリモートアクセスする場合にのみ、スマートカードがサポートされます。
以下のスマートカードが、リモートPCアクセス機能でテストされています。
ミドルウェア | スマートカード |
---|---|
Gemalto .NETミニドライバー | Gemalto .NET v2+ |
高速スマートカード
高速スマートカードは、既存のHDX PC/SCベースのスマートカードリダイレクトの改良版です。遅延が大きいWAN環境でスマートカードを使用する場合のパフォーマンスが向上しています。待ち時間が長い場合、パフォーマンスが大幅に向上する可能性があります(たとえば、Windowsの高速スマートカードログオンの場合は15秒であるのに対して、PC/SCベースのスマートカードリダイレクトの場合は1分)。
高速スマートカードは、現在サポートされているWindows用のVDAがインストールされたホストマシン上ではデフォルトで有効になっています。高速スマートカードを、たとえば診断する目的でホスト側で無効にするには、「暗号化リダイレクトを無効にする」レジストリを任意のゼロ以外の値に設定します:
HKLM\SOFTWARE\Citrix\SmartCard CryptographicRedirectionDisable (DWORD)
クライアント側では、高速スマートカードを有効にするには、関連するStoreFrontサイトのdefault.icaファイルにSmartCardCryptographicRedirection ICAパラメーターを含めます:
[WFClient] SmartCardCryptographicRedirection=On
さらに、クライアント側では次のレジストリ設定を使用して、高速スマートカードを(診断目的などで)強制的に有効または無効にすることができます。
- HKEY_LOCAL_MACHINE\SOFTWARE[\WOW6432Node]\Citrix\ICA Client\SmartCard\ForceEnableCryptographicRedirection(DWORDはゼロ以外)
または
- HKEY_LOCAL_MACHINE\SOFTWARE[\WOW6432Node]\Citrix\ICA Client\SmartCard\ForceDisableCryptographicRedirection(DWORDはゼロ以外)
クライアントマシンが64ビットの場合は、32ビットのレジストリハイブを指定する必要があります(WOW6432Node
を使用)。
制限事項:
- 高速スマートカードをサポートしているのはWindows向けCitrix Workspaceアプリのみです。default.icaファイルで高速スマートカードを設定している場合、Windows向け以外のCitrix Workspaceアプリは、引き続き既存のPC/SCリダイレクトを使用します。
- 高速スマートカードがサポートされているダブルホップシナリオは、両方のホップで高速スマートカードが有効になっているICA > ICAのみです。高速スマートカードではICA > RDPのダブルホップシナリオはサポートされていないため、これらのシナリオでは動作しません。
- 高速スマートカードでは密码学Generationはサポートされていません。したがって、高速スマートカードでは楕円曲線暗号(ECC)スマートカードはサポートされていません。
- 高速スマートカードでは、読み取り専用キーコンテナ操作のみがサポートされています。
- 高速スマートカードでは、スマートカードPINの変更はサポートされていません。
VDAバージョン2203およびWindows向けCitrix Workspaceアプリバージョン2202以降、高速スマートカードはCryptography Next Generation(CNG)と互換性があります。さらに、楕円曲線暗号(ECC)スマートカードは、次の曲線でサポートされます:ECDSAとECDHの両方でP-256、P-384、P-521ビット。
VDAバージョン2203以降、高速スマートカードで、同一ユーザーのログオンセッションのアプリケーション間でスマートカードPINをキャッシュする機能が追加されています。たとえば、セッションPINキャッシュが有効になっていて、エンドユーザーが以前にスマートカードPINをOutlookに提供した場合、Wordを使用してドキュメントに署名すると、Wordは既にキャッシュされているスマートカードPIN(Outlookに送信されたもの)を使用します。セッションPINキャッシュは、ユーザーがスマートカードのPINを入力する回数を減らすことで、ユーザーエクスペリエンスを向上させます。さらに、スマートカードを使用してVDAにログオンする場合、WindowsスマートカードのログオンPINをオプションでセッションPINキャッシュに保存できます。これにより、ユーザーエクスペリエンスをさらに向上させることができます。
セッションPINキャッシュはデフォルトで無効になっています。VDAの次のレジストリ設定を使用して有効化、制御することができます:
場所:HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartCard
EnablePinSessionCache
をDWORDとして設定(有効にする場合はゼロ以外)EnableLogonPinSessionCache
をDWORDとして設定(有効にする場合はゼロ以外)PinSessionCacheEntryStaleTimeout
をDWORDとして設定(エントリが古くなるまでの秒数。デフォルトは1時間)
スマートカードリーダーの種類
スマートカードリーダーはユーザーデバイス内に作成されることもありますし、別にユーザーデバイスに(通常はUSBまたはBluetoothで)接続することもあります。USB Chip/Smart Card Interface Devices(CCID)仕様に準拠する接触カードリーダーがサポートされます。これらのカードリーダーでは、ユーザーがスマートカードをスロットに挿入したりスワイプしたりします。Deutsche Kreditwirtschaft(DK)標準は、接触カードリーダーの4つのクラスを定義しています。
- Class 1スマートカードリーダーは最も一般的で、通常1つのスロットを備えています。Class 1スマートカードリーダーは通常、オペレーティングシステム付属の標準CCIDデバイスドライバーでサポートされます。
- Class 2スマートカードリーダーには、ユーザーデバイスがアクセスできない安全なキーパッドも含まれています。Class 2スマートカードリーダーは、内蔵の安全なキーパッドがあるキーボードに搭載される場合があります。Class 2スマートカードリーダーについては、Citrixの担当者に連絡してください。安全なキーパッドの機能を有効化するには、リーダー固有のデバイスドライバーが必要になる場合があります。
- Class 3スマートカードリーダーには、安全なディスプレイも含まれます。Class 3スマートカードリーダーはサポートされません。
- Class 4スマートカードリーダーには、安全なトランザクションモジュールも含まれます。Class 4スマートカードリーダーはサポートされません。
注:
スマートカードリーダーのクラスは、USBデバイスのクラスには無関係です。
スマートカードリーダーは、対応するデバイスドライバーとともにユーザーデバイスにインストールする必要があります。
サポートされているスマートカードリーダーについては、使用しているCitrix Workspaceアプリのマニュアルを参照してください。サポートされているバージョンは、Citrix Workspaceアプリのドキュメントでスマートカードの記事でまたはシステム要件に関する記事に掲載されています。
ユーザーエクスペリエンス
スマートカードのサポートは、デフォルトで有効な特定のICA/HDXスマートカード仮想チャネルを使用して、Citrix Virtual Apps and Desktopsに統合されています。
重要:スマートカードリーダーでは汎用USBリダイレクトを使用しないでください。一部のスマートカードリーダーではこれはデフォルトで無効にされており、有効化した場合サポートされなくなります。
同一ユーザーデバイス上で、複数のスマートカードやスマートカードリーダーを使用することは可能ですが、パススルー認証を使用する場合は1枚のスマートカードを挿入した状態で仮想デスクトップまたはアプリケーションを開始する必要があります。アプリケーション内でスマートカードを使用する場合(デジタル署名または暗号化機能など)、スマートカードの挿入またはPINの入力を求める別のメッセージが表示されることがあります。これは、同時に複数のスマートカードが挿入されている場合に発生します。
- 適切なスマートカードを挿入しているにもかかわらずスマートカードの挿入を求めるメッセージが表示された場合は、[キャンセル]を選択するよう通知します。
- ただし、PINの入力が求められた場合は、PINを再入力する必要があります。
カード管理システムまたはベンダーのユーティリティを使ってPINをリセットできます。
重要:
Citrix Virtual AppsまたはCitrix Virtual Desktopsセッションでは、Microsoftリモートデスクトップ接続アプリケーションでのスマートカードの使用はサポートされません。これは「ダブルホップ」の使用と呼ばれることがあります。
スマートカードを展開する前の確認事項
- スマートカードリーダーのデバイスドライバーを入手して、ユーザーデバイスにインストールする必要があります。Microsoftにより提供されるCCIDデバイスドライバーは、多くのスマートカードリーダーで使用できます。
- スマートカードベンダーからデバイスドライバーと暗号化サービスプロバイダー(CSP)ソフトウェアを入手して、ユーザーデバイスと仮想デスクトップの両方にインストールします。このドライバーとCSPソフトウェアは、Citrix Virtual Apps and Desktopsと互換性がある必要があります。詳しくは、ベンダーのドキュメントを参照してください。ミニドライバーモデルのスマートカードを使用する仮想デスクトップでは、スマートカードミニドライバーが自動的にダウンロードされます。また、http://catalog.update.microsoft.comまたはベンダーから入手することもできます。さらに、PKCS#11ミドルウェアが必要な場合は、カードベンダーから入手してください。
- 重要:Citrixソフトウェアをインストールする前に、物理的なコンピューターにドライバーとCSPソフトウェアをインストールしてテストすることをお勧めします。
- Windows 10で実行するInternet Explorerでスマートカードを使用するユーザーの信頼済みサイトの一覧にCitrix Receiver for Web URLを追加します。Windows 10では、Internet Explorerは信頼済みサイトのデフォルトで保護モードでは実行しません。
- PKI(Public Key Infrastructure:公開キー基盤)が適切に構成されていることを確認します。つまり、アカウントマッピングのための証明書がActive Directory環境に対して正しく構成されており、ユーザー証明書の検証を正しく実行できることを確認します。
- Citrix WorkspaceアプリやStoreFrontなど、スマートカードで使用するほかのCitrixコンポーネントのシステム要件を満たしていることを確認します。
- サイト内の以下のサーバーにアクセスできることを確認します。
- スマートカード上のログオン証明書に関連付けられているユーザーアカウント用のActive Directoryドメインコントローラー
- Delivery Controller
- Citrix StoreFront
- Citrix Gateway/Citrix Access Gateway 10.x
- VDA
- Microsoft Exchange Server(リモートPCアクセスの場合はオプション)
スマートカード使用の有効化
手順1:カードの発行ポリシーに従って、ユーザーにスマートカードを発行します。
手順2:必要に応じて、ユーザーがリモートPCアクセスを実行できるようにスマートカードをセットアップします。
手順3:Delivery ControllerとStoreFrontをインストールして(未インストールの場合)、スマートカードのリモート処理用に構成します。
手順4:StoreFrontで、スマートカードの使用を有効にします。詳しくは、StoreFrontドキュメントの「スマートカード認証の構成」を参照してください。
手順5:Citrix Gateway/Access Gatewayで、スマートカードの使用を有効にします。詳しくは、NetScalerドキュメントの「認証と承認の構成」および「Web Interfaceでのスマートカードアクセスの構成」を参照してください。
手順6:VDAsで、スマートカードの使用を有効にします。
- VDAに必要なアプリケーションおよび更新がインストール済みであることを確認します。
- ミドルウェアをインストールします。
- ユーザーデバイス上のCitrix工作区アプリと仮想デスクトップセッション間でスマートカードデータ通信が行われるように、スマートカードのリモート処理をセットアップします。
手順7:ユーザーデバイス(ドメインに属しているマシンと属していないマシンを含む)でスマートカードの使用を有効にします。詳しくは、StoreFrontドキュメントの「スマートカード認証の構成」を参照してください。
- 証明機関のルート証明書とその証明機関の証明書をデバイスのキーストア内にインポートします。
- ベンダーが提供するスマートカードミドルウェアをインストールします。
- Windows向けCitrix Workspaceアプリをインストールおよび構成して、グループポリシー管理コンソールを使ってicaclient.admをインポートします。また、スマートカード認証を有効にします。
手順8:展開をテストします。テストユーザーのスマートカードで仮想デスクトップを起動して、展開が正しく構成されていることを確認します。すべてのアクセス方法(たとえば、Internet ExplorerおよびCitrix Workspaceアプリを介したデスクトップアクセスなど)をテストします。
スマートカードリーダー挿入回数の追跡
スマートカードのリモート処理では、SCardGetStatusChange関数を使用して、スマートカードがリーダーに対して挿入または削除された回数を追跡できます。この関数は、監視するリーダーごとにSCARD_READERSTATEデータ構造の配列1つを更新します。各SCARD_READERSTATEのdwEventStateフィールドの上位ワード(16ビット)には、リーダーの回数が含まれます。詳しくは、Microsoftの記事SCardGetStatusChangeA functionおよびSCARD_READERSTATEA structureを参照してください。
Reader Insert Count Reporting設定はデフォルトで無効になっています。有効にするには、次のレジストリキーを追加します:
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartCard
名前:EnableReaderInsertCountReporting
種類:DWORD
値:ゼロ(0)以外の任意の数
セッションが切断されると、カウントはゼロにリセットされます。
Reader Insert Count Reportingは,サードパーティのスマートカードミドルウェアと互換性があります。