スマートカード
スマートカードおよび同等のテクノロジーは、この記事で説明されているガイドライン内でサポートされています。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でサポートされています。
-
XenAppおよびXenDesktop 7.6 FP3より前のCitrix Virtual Apps and Desktopsのバージョン(旧称 XenAppおよびXenDesktop)は、仮想スマートカードをサポートしていません。
-
仮想スマートカードの詳細については、仮想スマートカードの概要を参照してください。
注: 「仮想スマートカード」という用語は、ユーザーコンピューターに保存されているデジタル証明書を指す場合もあります。これらのデジタル証明書は、スマートカードと厳密には同等ではありません。 -
Citrix Virtual Apps and Desktopsのスマートカードサポートは、Microsoft Personal Computer/Smart Card (PC/SC) 標準仕様に基づいています。最低要件として、スマートカードおよびスマートカードデバイスは、基盤となるWindowsオペレーティングシステムによってサポートされ、Microsoft Windows Hardware Quality Labs (WHQL) によって認定されている必要があります。これにより、対象となるWindowsオペレーティングシステムを実行しているコンピューターで使用できます。ハードウェアの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>を参照してください。
| ミドルウェア | 対応カード |
|---|---|
| Gemalto .NETカード用ミニドライバー | ジェムアルト ドットネット v2以降 |
他の種類のデバイスでのスマートカードの使用に関する情報については、そのデバイスのCitrix Workspace™アプリのドキュメントを参照してください。
リモートPCアクセス
スマートカードは、Windows 10、Windows 8、またはWindows 7を実行している物理的なオフィスPCへのリモートアクセスでのみサポートされています。
以下のスマートカードは、Remote PC Accessでテストされました。
| ミドルウェア | 対応カード |
|---|---|
| Gemalto .NET ミニドライバー | ジェマルト .NET v2+ |
高速スマートカード
高速スマートカードは、既存のHDX PC/SCベースのスマートカードリダイレクトを改善したものです。高遅延のWAN環境でスマートカードを使用する場合にパフォーマンスが向上します。遅延が大きい場合、パフォーマンスの向上は大幅なものになります(例えば、Windowsの高速スマートカードログオンでは15秒、PC/SCベースのスマートカードリダイレクトでは1分以上)。
高速スマートカードは、現在サポートされているWindows VDAを搭載したホストマシンでデフォルトで有効になっています。ホスト側で高速スマートカードを無効にするには(例えば診断目的で)、'Disable Cryptographic Redirection' レジストリ設定をゼロ以外の値に設定します。
HKLM\SOFTWARE\Citrix\SmartCard
CryptographicRedirectionDisable (DWORD)
クライアント側で高速スマートカードを有効にするには、関連するStoreFrontサイトのdefault.icaファイルにSmartCardCryptographicRedirection ICAパラメーターを含めます。
[WFClient]
SmartCardCryptographicRedirection=On
さらに、クライアント側では、次のレジストリ設定を使用して、高速スマートカードを強制的に有効または無効にできます (例: 診断目的で)。
または
クライアントマシンが64ビットの場合、32ビットレジストリハイブを指定する必要があります(
WOW6432Nodeを使用)。
制限事項:
-
Windows版Citrix Workspaceアプリのみが高速スマートカードをサポートしています。default.icaファイルで高速スマートカードを構成した場合でも、Windows版ではないCitrix Workspaceアプリは、引き続き既存のPC/SCリダイレクトを使用します。
-
高速スマートカードがサポートする唯一のダブルホップシナリオは、両方のホップで高速スマートカードが有効になっているICA® > ICAです。高速スマートカードはICA > RDPダブルホップシナリオをサポートしていないため、これらのシナリオは機能しません。
-
高速スマートカードは次世代暗号化をサポートしていません。そのため、高速スマートカードは楕円曲線暗号 (ECC) スマートカードをサポートしていません。
-
高速スマートカードは、読み取り専用キーコンテナ操作のみをサポートしています。
-
高速スマートカードは、スマートカードPINの変更をサポートしていません。
VDAバージョン2203およびCitrix Workspaceアプリバージョン2202 for Windows(またはそれ以降)以降、高速スマートカードは次世代暗号化 (CNG) と互換性があります。さらに、楕円曲線暗号 (ECC) スマートカードは、P-256、P-384、P-521ビットの曲線で、ECDSAとECDHの両方でサポートされています。
VDAバージョン2203以降、高速スマートカードは、同じユーザーのログオンセッション内のアプリケーション間でスマートカードPINをキャッシュする機能を追加します。たとえば、セッションPINキャッシュが有効になっており、エンドユーザーが以前にOutlookにスマートカードPINを提供している場合、その後Wordを使用してドキュメントに署名すると、WordはすでにキャッシュされているスマートカードPIN(Outlookに送信されたもの)を使用します。セッションPINキャッシュは、ユーザーがスマートカードPINを入力する回数を減らすことで、ユーザーエクスペリエンスを向上させます。さらに、スマートカードがVDAへのログオンに使用される場合、WindowsスマートカードログオンPINは、オプションでセッションPINキャッシュに保存できます。これにより、ユーザーエクスペリエンスがさらに向上します。
セッションPINキャッシュはデフォルトで無効になっています。VDAで以下のレジストリ設定を使用して有効にし、制御できます。
HKLM\SOFTWARE\Citrix\SmartCardで:
-
EnablePinSessionCacheをDWORDとして (有効にするにはゼロ以外) -
EnableLogonPinSessionCacheをDWORDとして (有効にするにはゼロ以外) -
PinSessionCacheEntryStaleTimeoutをDWORDとして (エントリが古くなるまでの秒数、デフォルトは1時間)
スマートカードリーダーの種類
スマートカードリーダーは、ユーザーデバイスに内蔵されている場合もあれば、ユーザーデバイスに別途接続されている場合もあります(通常はUSBまたはBluetooth経由)。USBチップ/スマートカードインターフェースデバイス (CCID) 仕様に準拠する接触型カードリーダーがサポートされています。これらには、ユーザーがスマートカードを挿入するスロットまたはスワイプがあります。ドイツ信用経済 (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 Remote Desktop Connectionアプリケーションとスマートカードを使用することはサポートされていません。これは「ダブルホップ」の使用と呼ばれることがあります。
スマートカードを展開する前に
-
スマートカードリーダー用のデバイスドライバーを入手し、ユーザーデバイスにインストールします。多くのスマートカードリーダーは、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) が適切に構成されていることを確認してください。これには、Active Directory環境で証明書からアカウントへのマッピングが正しく構成されていること、およびユーザー証明書の検証が正常に実行できることを確認することが含まれます。
-
展開が、スマートカードで使用される他のCitrixコンポーネント(Citrix WorkspaceアプリとStoreFrontを含む)のシステム要件を満たしていることを確認してください。
-
サイト内の以下のサーバーへのアクセスを確保してください:
-
スマートカード上のログオン証明書に関連付けられているユーザーアカウント用のActive Directoryドメインコントローラー
-
デリバリーコントローラー™
-
シトリックス ストアフロント
-
シトリックス ゲートウェイ/シトリックス アクセス ゲートウェイ 10.x
-
VDA
-
(Remote PC Accessの場合、オプション): Microsoft Exchange Server
-
スマートカードの使用を有効にする
ステップ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
名前: EnableReaderInsertCountReporting
種類: DWORD
値: ゼロ以外の任意の値
セッションが切断されると、カウントはゼロにリセットされます。
リーダー挿入回数レポートは、サードパーティのスマートカードミドルウェアと互換性があります。