Citrix Virtual Apps and Desktops

スマートカード

スマートカードおよび同等のテクノロジは、このアーティクルに記載されているガイドライン内でサポートされています。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互換のスマートカードとミドルウェアについて詳しくは、http://www.citrix.com/readyを参照してください。

ミドルウェア スマートカード
GemAlto Mini Driver for .NETカード Gemalto .NET v2+

他の種類のデバイスでのスマートカード使用法について詳しくは、そのデバイスに関するCitrix Workspaceアプリのドキュメントを参照してください。

リモートPCアクセス

オフィスで動作する、物理的なWindow 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)
<!--NeedCopy-->

クライアント側では、高速スマートカードを有効にするには、関連する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のダブルホップシナリオはサポートされていないため、これらのシナリオでは動作しません。
  • 高速スマートカードではCryptography Next 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 Workspaceアプリと仮想デスクトップセッション間でスマートカードデータ通信が行われるように、スマートカードのリモート処理をセットアップします。

手順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は、サードパーティのスマートカードミドルウェアと互換性があります。

スマートカード