スマートカード
スマートカードおよび同等のテクノロジーは、この記事で説明されているガイドライン内でサポートされています。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 Trusted Platform Module(TPM)を使用する仮想スマートカードは、スマートカードとして表示されます。これらの仮想スマートカードは、Citrix Workspaceアプリ(最小バージョンCitrix Receiver 4.3)を使用するWindows 8およびWindows 10でサポートされています。
- Versions of Citrix Virtual Apps and Desktops (formerly XenApp and XenDesktop) earlier than XenApp and XenDesktop 7.6 FP3 do not support virtual smart cards.
- 仮想スマートカードの詳細については、「仮想スマートカードの概要」を参照してください。
注: 「仮想スマートカード」という用語は、ユーザーコンピューターに保存されているデジタル証明書を指す場合もあります。これらのデジタル証明書は、厳密にはスマートカードと同等ではありません。
Citrix Virtual Apps and Desktopsのスマートカードサポートは、Microsoft Personal Computer/Smart Card(PC/SC)標準仕様に基づいています。最低要件として、スマートカードとスマートカードデバイスは、基盤となるWindowsオペレーティングシステムでサポートされている必要があり、対象となるWindowsオペレーティングシステムを実行しているコンピューターで使用するために、Microsoft Windows Hardware Quality Labs(WHQL)によって承認されている必要があります。ハードウェアのPC/SC準拠に関する追加情報については、Microsoftのドキュメントを参照してください。他の種類のユーザーデバイスもPS/SC標準に準拠している場合があります。詳細については、Citrix Readyプログラムを参照してください。
通常、各ベンダーのスマートカードまたは同等品には個別のデバイスドライバーが必要です。ただし、スマートカードがNIST Personal Identity Verification(PIV)標準などの標準に準拠している場合は、さまざまなスマートカードに単一のデバイスドライバーを使用できる可能性があります。デバイスドライバーは、ユーザーデバイスとVirtual Delivery Agent(VDA)の両方にインストールする必要があります。デバイスドライバーは、Citrixパートナーから入手できるスマートカードミドルウェアパッケージの一部として提供されることが多く、このスマートカードミドルウェアパッケージは高度な機能を提供します。デバイスドライバーは、Cryptographic Service Provider(CSP)、Key Storage Provider(KSP)、またはミニドライバーとも呼ばれます。
以下のWindowsシステム用スマートカードとミドルウェアの組み合わせは、Citrixによってその種類の代表的な例としてテストされています。ただし、他のスマートカードとミドルウェアも使用できます。Citrix互換のスマートカードとミドルウェアの詳細については、http://www.citrix.com/readyを参照してください。
| ミドルウェア | 対応カード |
|---|---|
| ジェムアルト ミニドライバー for .NET カード | ジェムアルト .NET v2+ |
他の種類のデバイスでのスマートカードの使用については、そのデバイスのCitrix Workspace™アプリのドキュメントを参照してください。
リモートPCアクセス
スマートカードは、Windows 10、Windows 8、またはWindows 7を実行している物理的なオフィスPCへのリモートアクセスでのみサポートされています。
Remote PC Accessでテストされたスマートカードは次のとおりです。
| ミドルウェア | 一致するカード |
|---|---|
| ジェムアルト .NET ミニドライバー | ジェムアルト .NET v2+ |
高速スマートカード
高速スマートカードは、既存のHDX PC/SCベースのスマートカードリダイレクトに対する改善です。高遅延のWAN環境でスマートカードが使用される場合のパフォーマンスを向上させます。遅延が大きい場合、パフォーマンスの向上は著しいものになります(例: Windows高速スマートカードログオンでは15秒、PC/SCベースのスマートカードリダイレクトでは1分以上)。
高速スマートカードは、現在サポートされているWindows VDAを搭載したホストマシンでデフォルトで有効になっています。ホスト側で高速スマートカードを無効にするには(診断目的など)、レジストリ設定「Disable Cryptographic Redirection」をゼロ以外の値に設定します。
HKLM\SOFTWARE\Citrix\SmartCard
CryptographicRedirectionDisable (DWORD)
<!--NeedCopy-->
クライアント側で高速スマートカードを有効にするには、関連するStoreFrontサイトの default.ica ファイルにSmartCardCryptographicRedirection ICAパラメーターを含めます。
[WFClient]
SmartCardCryptographicRedirection=On
さらに、クライアント側では、高速スマートカードを以下のレジストリ設定で強制的に有効または無効にすることができます(診断目的など)。
- HKLM\SOFTWARE[\WOW6432Node]\Citrix\ICA Client\SmartCard\ForceEnableCryptographicRedirection (as a non-zero DWORD)
または
- HKLM\SOFTWARE[\WOW6432Node]\Citrix\ICA Client\SmartCard\ForceDisableCryptographicRedirection (as a non-zero DWORD)
クライアントマシンが64ビットの場合、32ビットレジストリハイブを(WOW6432Nodeを使用して)指定する必要があります。
制限事項:
- Citrix Workspaceアプリfor Windowsのみが高速スマートカードをサポートします。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キャッシュが有効になっており、エンドユーザーが以前にOutlookにスマートカードPINを提供した場合、Wordでドキュメントに署名する際に、WordはすでにキャッシュされているスマートカードPIN(Outlookに送信されたもの)を使用します。セッションPINキャッシュは、ユーザーがスマートカードPINを入力する回数を減らすことで、ユーザーエクスペリエンスを向上させます。さらに、スマートカードがVDAへのログオンに使用される場合、WindowsスマートカードログオンPINをオプションでセッションPINキャッシュに保存できます。これにより、ユーザーエクスペリエンスがさらに向上します。
セッションPINキャッシュはデフォルトで無効になっています。VDA上の以下のレジストリ設定で有効化および制御できます。
In HKLM\SOFTWARE\Citrix\SmartCard:
-
EnablePinSessionCacheをDWORDとして(有効にするにはゼロ以外) -
EnableLogonPinSessionCacheをDWORDとして(有効にするにはゼロ以外) -
PinSessionCacheEntryStaleTimeoutをDWORDとして(エントリが古くなるまでの秒数、デフォルトは1時間)
スマートカードリーダーの種類
スマートカードリーダーは、ユーザーデバイスに内蔵されている場合もあれば、ユーザーデバイスに別途接続されている場合もあります(通常はUSBまたはBluetooth経由)。USB Chip/Smart Card Interface Devices (CCID) 仕様に準拠した接触型カードリーダーがサポートされています。これらには、ユーザーがスマートカードを挿入するためのスロットまたはスワイプ機能があります。Deutsche Kreditwirtschaft (DK) 規格は、接触型カードリーダーの4つのクラスを定義しています。
- クラス1スマートカードリーダーは最も一般的で、通常はスロットを備えています。クラス1スマートカードリーダーは、通常、オペレーティングシステムに付属の標準CCIDデバイスドライバーでサポートされます。
- クラス2スマートカードリーダーには、ユーザーデバイスからアクセスできないセキュアなキーパッドも搭載されています。クラス2スマートカードリーダーは、統合されたセキュアなキーパッドを備えたキーボードに組み込まれている場合があります。クラス2スマートカードリーダーについては、Citrix担当者にお問い合わせください。セキュアなキーパッド機能を有効にするには、リーダー固有のデバイスドライバーが必要になる場合があります。
- クラス3スマートカードリーダーには、セキュアなディスプレイも搭載されています。クラス3スマートカードリーダーはサポートされていません。
- クラス4スマートカードリーダーもセキュアトランザクションモジュールを含んでいます。クラス4スマートカードリーダーはサポートされていません。
注:
スマートカードリーダーのクラスは、USBデバイスクラスとは無関係です。
スマートカードリーダーは、ユーザーデバイスに対応するデバイスドライバーがインストールされている必要があります。
サポートされているスマートカードリーダーについては、使用しているCitrix Workspaceアプリのドキュメントを参照してください。Citrix Workspaceアプリのドキュメントでは、サポートされているバージョンは、スマートカードに関する記事またはシステム要件に関する記事に記載されています。
ユーザーエクスペリエンス
スマートカードのサポートはCitrix Virtual Apps and Desktopsに統合されており、デフォルトで有効になっている特定のICA/HDXスマートカード仮想チャネルを使用します。
重要:スマートカードリーダーに汎用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は、Citrixソフトウェアをインストールする前に、物理コンピューターにドライバーとCSPソフトウェアをインストールしてテストすることを推奨します。
- Windows 10でInternet Explorerを使用してスマートカードを使用するユーザーの場合、Citrix Receiver™ for WebのURLを信頼済みサイトリストに追加します。Windows 10では、Internet Explorerは信頼済みサイトに対してデフォルトで保護モードで実行されません。
- 公開鍵インフラストラクチャ(PKI)が適切に構成されていることを確認します。これには、Active Directory環境で証明書とアカウントのマッピングが正しく構成されており、ユーザー証明書の検証が正常に実行できることを確認することが含まれます。
- 展開が、Citrix WorkspaceアプリやStoreFrontなど、スマートカードで使用される他のCitrixコンポーネントのシステム要件を満たしていることを確認します。
- サイト内の以下のサーバーへのアクセスを確保します。
- スマートカード上のログオン証明書に関連付けられているユーザーアカウントのActive Directoryドメインコントローラー
- デリバリーコントローラー™
- シトリックス ストアフロント
- シトリックス ゲートウェイ/シトリックス アクセス ゲートウェイ 10.x
- VDA
- (Remote PC Access の場合、オプション): マイクロソフト エクスチェンジ サーバー
スマートカードの使用を有効にする
手順1. カード発行ポリシーに従って、ユーザーにスマートカードを発行します。
ステップ2. (オプション) Remote PC Access のユーザーを有効にするためにスマートカードを設定します。
ステップ3. スマートカードリモーティング用に Delivery Controller と StoreFront をインストールして構成します(まだインストールされていない場合)。
ステップ4. スマートカードの使用を StoreFront で有効にします。詳しくは、StoreFront ドキュメントの「スマートカード認証の構成」を参照してください。
ステップ5. スマートカードの使用を Citrix Gateway/Access Gateway で有効にします。詳しくは、NetScaler ドキュメントの「認証と承認の構成」および「Web Interface を使用したスマートカードアクセスの構成」を参照してください。
ステップ6. スマートカードの使用を VDA で有効にします。
- VDA に必要なアプリケーションと更新プログラムがあることを確認します。
- ミドルウェアをインストールします。
- ユーザーデバイス上の Citrix Workspace アプリと仮想デスクトップセッションの間でスマートカードデータの通信を可能にするスマートカードリモーティングを設定します。
ステップ7. スマートカードの使用をユーザーデバイス(ドメイン参加済みまたは非ドメイン参加済みマシンを含む)で有効にします。詳しくは、StoreFront ドキュメントの「スマートカード認証の構成」を参照してください。
- 証明機関のルート証明書と発行証明機関の証明書をデバイスのキーストアにインポートします。
- ベンダーのスマートカードミドルウェアをインストールします。
- Windows 用 Citrix Workspace アプリをインストールして構成します。その際、グループポリシー管理コンソールを使用して icaclient.adm をインポートし、スマートカード認証を有効にしてください。
ステップ8. 展開をテストします。テストユーザーのスマートカードで仮想デスクトップを起動し、展開が正しく構成されていることを確認します。考えられるすべてのアクセスメカニズム(たとえば、Internet Explorer および Citrix Workspace アプリを介したデスクトップへのアクセス)をテストします。
スマートカードリーダーの挿入回数を追跡する
スマートカードリモーティングを使用すると、SCardGetStatusChange 関数を使用して、スマートカードがリーダーに挿入または取り外された回数を追跡できます。この関数は、監視するリーダーごとに1つずつ、SCARD_READERSTATE データ構造体の配列を更新します。各 SCARD_READERSTATE の dwEventState フィールドのハイワード(16ビット)には、リーダーカウントが含まれています。詳細については、Microsoft の記事「SCardGetStatusChangeA function」および「SCARD_READERSTATEA structure」を参照してください。
リーダー挿入回数レポート 設定は、デフォルトで無効になっています。追跡を有効にするには、次のレジストリキーを追加します。
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartCard
Name: EnableReaderInsertCountReporting
タイプは DWORD です。
値: ゼロ以外の任意の値
セッションが切断されると、カウントはゼロにリセットされます。
リーダー挿入回数レポート は、サードパーティのスマートカードミドルウェアと互換性があります。