秘密鍵の保護
はじめに
FAS証明書はFASサーバー上の組み込みデータベースに保存されます。FAS証明書に関連付けられた秘密鍵は、FASサーバーのネットワークサービスアカウントの下に保存されます。デフォルトでは、鍵はエクスポート不可の2048ビットRSAであり、Microsoftソフトウェアキーストレージプロバイダーで作成および保存されます。
FAS PowerShellコマンド PowerShellコマンドレットを使用すると、秘密鍵のプロパティと保存場所を変更できます。
注:
FAS構成と証明書はFASサーバーにローカルに保存されます。データはFASサーバー間で共有されません。
Citrix Virtual Apps and Desktops 2411より前のFASリリースでは、秘密鍵のプロパティは
%programfiles%\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe.configにあるXMLファイルを編集して構成されていました。 これはPowerShellコマンドに置き換えられ、より高い柔軟性を提供し、FASサーバーを再起動せずに適用できます。 さらに、XMLファイルの設定とは異なり、PowerShellを使用して行われた構成は、FASサーバーがアップグレードされても保持されます。 したがって、次の設定に対するXMLファイルを使用した構成はサポートされなくなりました。
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyProtectionCitrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderLegacyCspCitrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderNameCitrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderTypeCitrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyLength
セクション「Citrix Virtual Apps and Desktops™ 2411より前のFASバージョンからのアップグレード」を参照してください。
FAS証明書とテンプレートに関する情報
FASが保持する証明書には、通常1つのインスタンスである承認証明書と、ユーザー証明書の2種類があります。
-
注:
-
FAS承認証明書は、登録機関または要求エージェント(RA)証明書とも呼ばれることがあります。
-
FASは、次のセクションで説明するように、証明書を要求する際に証明書テンプレートを使用します。FASは証明書要求でテンプレート名を指定しますが、テンプレートの内容は読み取りません。したがって、テンプレートの設定を変更しても、FASが行う証明書要求には影響しません。テンプレートの特定のプロパティを変更すると、CAによって生成される証明書に影響します。たとえば、テンプレートを使用して有効期間を変更できます。
FAS承認証明書
この証明書は、FASを構成するときに作成されます。FAS管理コンソールの承認または再承認ボタンを使用して、新しい承認証明書を要求できます。
より高い柔軟性を提供するPowerShellコマンドを使用することもできます。
-
New-FasAuthorizationCertificate: このコマンドはFAS管理コンソールと同様に動作しますが、承認プロセスで使用する証明書テンプレートを指定できます。 -
New-FasAuthorizationCertificateRequest: このコマンドは承認証明書のオフライン要求を作成します。オフライン承認。
承認証明書は、FASが登録機関として機能し、ユーザーに代わって証明書を要求するため、RA証明書とも呼ばれます。この証明書には拡張キー使用法 証明書要求エージェント があり、FASユーザー証明書を要求する際の承認資格情報として使用できます。
-
デフォルトでは、承認プロセスは次のテンプレートを使用します。
-
Citrix_RegistrationAuthority_ManualAuthorization: このテンプレートを使用して作成された証明書は一時的で短命であり、承認プロセスをブートストラップするために使用されます。 -
Citrix_RegistrationAuthority: このテンプレートを使用して作成された証明書は長い有効期間を持ち、FASサーバーによって保存されます。
FASを承認すると、次の手順が実行されます。
- FASはキーペアを作成し、キーペアの公開鍵とテンプレート
Citrix_RegistrationAuthority_ManualAuthorizationを指定して、CAに証明書署名要求(CSR)を送信します。 - テンプレートの発行要件では、CSRはCA管理者によって手動で承認される必要があると指定されています。
- CA管理者がCSRを承認すると、CAはFASが取得する証明書を作成します。この証明書は1日という短い有効期間を持ち、次の手順にのみ使用されます。使用されると、FASはその証明書とキーペアを破棄します。
-
- FASは別のキーペアを作成し、このキーペアの公開鍵とテンプレート
Citrix_RegistrationAuthorityを指定して、CAに2番目のCSRを送信します。この要求は、前の手順で取得した証明書によって承認され、署名されます。
- FASは別のキーペアを作成し、このキーペアの公開鍵とテンプレート
-
- CAは自動的に証明書を発行し、FASは証明書を取得し、FASはこれで承認済みになります。デフォルトでは、この承認証明書は2年間の有効期間を持ちます。
前述のキーペアを作成するために使用される設定は、このPowerShellコマンドを使用して表示できます。
Reset-FasKeyConfig -Address localhost -CertificateType ra
Reset-FasKeyConfig -Address localhost -CertificateType user
<!--NeedCopy-->
FASユーザー証明書
FASは、VDAにユーザーをサインインさせるためにユーザー証明書を作成します。
FASがユーザー証明書を作成すると、次の手順が実行されます。
- FASはキーペアを作成し、キーペアの公開鍵、ユーザーのID、およびデフォルトではテンプレート
Citrix_SmartcardLogon(使用されるテンプレートは構成可能)を指定して、CAにCSRを送信します。 - CSRはFAS承認証明書を使用して署名されます。
-
Citrix_SmartcardLogonテンプレートには発行要件アプリケーションポリシー: 証明書要求エージェントがあります。この属性がFAS承認証明書に存在するため、CAはユーザー証明書を自動的に発行します。 - FASは証明書を取得し、FASサーバー上の組み込みデータベースに保存します。
- デフォルトでは、証明書は1週間の有効期間を持ちます。
-
後で、ユーザー証明書はVDAに提供され、ユーザーをサインインさせます。
-
前述のキーペアを作成するために使用される設定は、次のPowerShellコマンドを使用して表示できます。
Set-FasKeyConfig -Address localhost -CertificateType ra -UseDefaultSoftwareProvider
Set-FasKeyConfig -Address localhost -CertificateType user -UseDefaultSoftwareProvider
<!--NeedCopy-->
秘密キーの保存オプション
FASは、キーペアを作成して保存するために、次の3つのカテゴリのストレージを構成できます。
- ソフトウェア: 通常、Microsoft Software Key Storage Providerを使用します。これはソフトウェアのみで保護され、データはディスクに保存されます。
- Trusted Platform Module (TPM): TPMは、コンピューター上の物理ハードウェアであるか、ハイパーバイザーによって提供される仮想TPMである場合があります。
- Hardware Security Module (HSM): これは、暗号化キーを安全に保存するように設計されたハードウェア周辺機器またはネットワークデバイスです。
注:
考慮すべきトレードオフがあります。ハードウェアストレージはより安全である可能性がありますが、特に多数のユーザー証明書キーペアを作成および保存する場合、パフォーマンスが低下することがよくあります。
FAS承認証明書に関連付けられている秘密キーは、証明書のポリシーにより、秘密キーを所有する者が任意のユーザーの証明書要求を承認できるため、特に機密性が高くなります。結果として、このキーを制御する者は、任意のユーザーとして環境に接続できます。
注:
Microsoft CAは、証明書を発行できるユーザーのセットを含め、FAS承認証明書の権限を制限するように構成できます。委任された登録エージェントを参照してください。
このため、FASでは、承認証明書とユーザー証明書の秘密キープロパティを個別に構成できます。
一般的な構成を次に示します。
| 承認証明書キー | ユーザー証明書キー | コメント |
|---|---|---|
| ソフトウェア | ソフトウェア | デフォルト構成 |
| TPM | ソフトウェア | 承認証明書はハードウェア保護を備えています |
| HSM | HSM | すべての証明書はハードウェア保護を備えています |
注:
ハードウェアTPMはユーザーキーには推奨されません。承認証明書キーにのみTPMを使用してください。FASサーバーを仮想化環境で実行する予定がある場合は、ハイパーバイザーベンダーにTPM仮想化がサポートされているか確認してください。
キー構成のPowerShellコマンド
秘密キーの構成に関連するコマンドは次のとおりです。
Get-FasKeyConfigSet-FasKeyConfigReset-FasKeyConfigTest-FasKeyConfig
詳細については、PowerShellコマンドレットを参照してください。
承認証明書とユーザー証明書のキー構成は独立しており、CertificateType引数で指定されます。たとえば、承認証明書(RA証明書)を要求するときに使用される秘密キー構成を取得するには、次のようにします。
Get-FasKeyConfig -Address localhost -CertificateType ra
ユーザー証明書を要求するときに使用される秘密キー構成を取得するには、次のようにします。
Get-FasKeyConfig -Address localhost -CertificateType user
Set-FasKeyConfigとGet-FasKeyConfigを使用して、次の秘密キープロパティを設定および検査できます。
| プロパティ | デフォルト | コメント |
|---|---|---|
| 長さ
|
2048
|
ビット単位のキー長。MicrosoftテンプレートGUIでは、暗号化タブで最小キーサイズが指定されていることに注意してください。FASで構成されたキー長がテンプレートで指定された最小キーサイズよりも短い場合、CSRはCAによって拒否されます。
RSAキーの場合、長さは1024ビット、2048ビット、または4096ビットにできます。 ECCキーの場合、長さは256ビット、384ビット、または521ビットにできます。 |
| エクスポート可能 | false | 秘密キーをプロバイダーからエクスポートできるかどうか。 |
| プレフィックス | none | FASによって生成される秘密キーの識別子に追加するプレフィックスを指定します。生成される識別子は、プレフィックスとGUIDで構成されます。例: MyPrefix70277985-6908-4C6F-BE59-B08691456804。 |
| 楕円曲線 | false | trueの場合、ECCキーペアが生成され、それ以外の場合はRSAキーペアが生成されます。 |
| キー保存プロバイダー (KSP)
|
true
|
trueの場合、FASは最新のWindows CNG APIを使用し、ProviderプロパティでKSPを指定する必要があります。
falseの場合、FASはレガシーCAPI APIを使用し、Providerプロパティで暗号化サービスプロバイダー(CSP)を指定する必要があります。CitrixはKSPの使用を推奨します。 |
| プロバイダー | Microsoft Software Key Storage Provider | キーペアが作成および保存されるプロバイダーの名前。このプロパティを変更して、TPMまたはHSMを指定できます。HSMのKSP(またはCSP)はHSMベンダーによって提供されます。ベンダーは、ソフトウェアのインストール方法とプロバイダーの名前に関する指示を提供します。 |
| CSPタイプ
|
24
|
KSPプロパティがfalseに設定されている場合にのみ関連します。
Microsoft KeyContainerPermissionAccessEntry.ProviderType Property PROV_RSA_AES 24を参照します。CSPを持つHSMを使用しており、HSMベンダーが別途指定しない限り、常に24である必要があります。 |
さらに、Set-FasKeyConfigは、便宜のために次のスイッチとともに使用できます。
| フラグ | 説明 |
|---|---|
| -UseDefaultSoftwareProvider | ProviderプロパティをMicrosoft Software Key Storage Providerに、KSPフィールドをtrueに設定します。 |
| -UseDefaultTpmProvider | ProviderプロパティをMicrosoft Platform Crypto Providerに、KSPフィールドをtrueに設定します。 |
Microsoft Software Key Storage Providerは、通常、ディスク上にキーを作成および保存するために使用されるプロバイダーです。
- Microsoft Platform Crypto Providerは、通常、TPMにキーを作成および保存するために使用されるプロバイダーです。
Get-FasKeyConfigは、どのプロバイダーとアルゴリズムが使用されているかを確認するのに役立つフィールドも提供します。
| フィールド | 意味 | |
|---|---|---|
| IsDefaultSoftwareProvider | trueの場合、プロバイダーがMicrosoft Software Key Storage Providerに設定され、KSPフィールドがtrueに設定されていることを示します。 | |
| IsDefaultTpmProvider | trueの場合、プロバイダーがMicrosoft Platform Crypto Providerに設定され、KSPフィールドがtrueに設定されていることを示します。 | |
| アルゴリズム
|
RSAは、RSAキーが作成されることを示します(EllipticCurveプロパティはfalseです)。
|
ECCは、ECCキーが作成されることを示します(EllipticCurveプロパティはtrueです)。 |
Reset-FasKeyConfigを使用して設定をデフォルトに戻すことができます。
Reset-FasKeyConfig -Address localhost -CertificateType ra
Reset-FasKeyConfig -Address localhost -CertificateType user
<!--NeedCopy-->
注:
秘密キー構成(
Set-FasKeyConfigまたはReset-FasKeyConfigを使用)への変更は、新しく作成された証明書にすぐに適用されます。ただし、異なる構成を持つ既存の承認証明書およびユーザー証明書には影響しません。管理コンソールからFASサービスの承認を解除するか、FASの承認解除とFAS証明書の削除のPowerShellコマンドを使用して、既存の証明書を削除できます。
現在のユーザーキー構成に準拠しないキープール内の事前生成されたキーはすべて破棄されます。
構成シナリオの例
各例では、既存の証明書は構成変更の影響を受けないため、FASサービスを承認する前に提供されたPowerShellを使用してキー構成を設定します。
誤ったキー構成の認証またはユーザー証明書が既にある場合は、FAS証明書の検査およびFASの認証解除とFAS証明書の削除によってそれらを削除できます。
FASサーバーが稼働中の展開環境にある場合は、構成変更を行う間、メンテナンスモードにすることを検討してください。
例1 - すべてのキーをMicrosoftソフトウェアキーストレージプロバイダーに保存
これはデフォルトであるため、追加の構成は不要です。
以前にキー構成を変更したことがある場合は、次のコマンドを使用してMicrosoft Software Key Storage Providerに戻すことができます。
Set-FasKeyConfig -Address localhost -CertificateType ra -UseDefaultSoftwareProvider
Set-FasKeyConfig -Address localhost -CertificateType user -UseDefaultSoftwareProvider
<!--NeedCopy-->
Reset-FasKeyConfigを使用してMicrosoft Software Key Storage Providerに戻し、さらに他のすべてのキー構成設定をデフォルトに復元できます。
例2 - 認証証明書キーをTPMに保存
この例では、FAS認証証明書キーをTPM(物理または仮想)に保存し、ユーザー証明書キーはMicrosoft Software Key Storage Providerに保存する方法を示します。
FASはTPMで保護されたキーを持つユーザー証明書を生成できますが、大規模な展開では、TPMハードウェアが遅すぎたり、サイズが制限されたりする可能性があります。
次のPowerShellコマンドを使用します。
Set-FasKeyConfig -Address localhost -CertificateType ra -UseDefaultTpmProvider
Set-FasKeyConfig -Address localhost -CertificateType user -UseDefaultSoftwareProvider
<!--NeedCopy-->
例3 - すべてのキーをHSMに保存
この例では、HSMを使用して認証証明書とユーザー証明書の秘密キーの両方を保存する方法を示します。この例では、HSMが構成済みであることを前提としています。HSMにはプロバイダー名があります。例: HSM Vendor Key Storage Provider。
次のPowerShellコマンドを使用します(例のテキストをHSMのプロバイダーの実際の名前で置き換えてください)。
- Set-FasKeyConfig -Address localhost -CertificateType ra -Provider "HSM Vendor Key Storage Provider"
- Set-FasKeyConfig -Address localhost -CertificateType user -Provider "HSM Vendor Key Storage Provider"
<!--NeedCopy-->
例4 - 楕円曲線キーの使用
デフォルトでは、FASはRSAキーを生成します。この例では、認証証明書とユーザー証明書の両方に楕円曲線(ECC)キーが構成されています。
- この例では、異なるキー長を使用しています。認証証明書は384ビットキーで構成され、ユーザー証明書は256ビットキーで構成されています。
- Set-FasKeyConfig -Address localhost -CertificateType ra -EllipticCurve $true -Length 384
- Set-FasKeyConfig -Address localhost -CertificateType user -EllipticCurve $true -Length 256
<!--NeedCopy-->
- この時点では、FAS証明書テンプレートの最小キーサイズがデフォルトで1024ビットに設定されているため、CAによって認証およびユーザー証明書要求が拒否される可能性があります。
したがって、この例では、テンプレートの最小キーサイズを次のように変更する必要があります。
-
Citrix_RegistrationAuthority_ManualAuthorizationおよびCitrix_RegistrationAuthority: 最小キーサイズを384(またはそれ以下)に変更 -
Citrix_SmartcardLogon: 最小キーサイズを256(またはそれ以下)に変更
テンプレートを編集するには、mmc.exeを実行し、証明書テンプレートスナップインを追加します。テンプレートを見つけて、そのプロパティを開きます。最小キーサイズの設定は、テンプレートのプロパティの暗号化タブにあります。
-
注:
-
-
ECCキーを持つユーザー証明書は、Citrix Virtual Apps and Desktops 2411以降を実行しているWindows VDAでのみサポートされます。
ECCキーはLinux VDAではサポートされていません。
秘密キー構成のテスト
Set-FasKeyConfigコマンドは一部の検証を行いますが、無効なキー構成を設定することは依然として可能です。たとえば、HSMのプロバイダー名に間違いがある場合や、指定したキー長がハードウェアでサポートされていない場合があります。
Test-FasKeyConfigコマンドが役立ちます。これは現在のキー構成を使用してキーペアを作成しようとし、成功または失敗を報告します。失敗が発生した場合は、失敗理由の表示が提供されます。成功した場合は、キーペアはすぐに破棄されます。
次のPowerShellコマンドは、それぞれ認証およびユーザーキー構成をテストします。
- Test-FasKeyConfig -Address localhost -CertificateType ra
Test-FasKeyConfig -Address localhost -CertificateType user
<!--NeedCopy-->
FASサーバーを認証し、ルールを作成したら、さらに次のようにユーザー証明書のテストCSRを作成できます。
Test-FasCertificateSigningRequest -Address localhost -UserPrincipalName user@example.com -Rule default
<<user@example.com>/> を、Active Directory展開環境の実際のUPNに置き換えてください。FASルールは通常 default という名前です。ただし、設定済みの別のルールをテストする場合は、代わりにその名前を指定してください。
CSRが成功した場合、FASは結果の証明書を破棄します。
FAS証明書の検査
PowerShellを使用して、証明書のプロパティを検査し、関連する秘密キーがどこに保存されているかを特定できます。
認証証明書の検査
FAS管理コンソールの authorization certificate リンクをクリックすると、認証証明書を表示できます。

ただし、より詳細な情報を得るにはPowerShellを使用します。
Get-FasAuthorizationCertificate -Address localhost -FullCertInfo
PrivateKeyProvider を含むいくつかのフィールドが返されます。これには、証明書が作成および保存されたプロバイダーの表示が含まれます。
| PrivateKeyProvider | キーの保存場所 |
|---|---|
| Microsoft Software Key Storage Provider | キーはディスクに保存され、Microsoftのソフトウェアプロバイダーによって保護されます。 |
| Microsoft Platform Crypto Provider | キーはTPM(物理または仮想)に保存されます。 |
| HSM Vendor Key Storage Provider (example only) | キーはHSMに保存されます(この例では、ベンダーのプロバイダーは HSM Vendor Key Storage Provider と名付けられています)。 |
ユーザー証明書の検査
FASサーバーにキャッシュされているすべてのユーザー証明書のリストを次のように取得できます。
Get-FasUserCertificate -Address localhost -KeyInfo $true
KeyInfo パラメーターにより、出力には証明書に関連付けられた秘密キーに関する詳細情報が含まれます。特に、PrivateKeyProvider フィールドは、証明書に関連付けられたキーペアがどこに保存されているかを示します(この値の解釈については、前のセクションを参照してください)。
-UserPrincipalName などのさまざまなオプションパラメーターを使用して、返される証明書のセットをフィルター処理できます。
コマンド出力の証明書フィールドは、PEMエンコードされたユーザー証明書です。テキストを .crt ファイルにコピーして、Windows証明書GUIを使用して証明書を次のように表示します。
| コマンド | 説明 |
|---|---|
$CertInfos = Get-FasUserCertificate -Address localhost |
このリストには複数のユーザー証明書が含まれる場合があります |
$CertInfo = $CertInfos[0] |
この例では、最初のユーザー証明書を選択します |
$CertInfo.Certificate > c:\temp\user.crt |
PEMデータを .crt ファイルにパイプします |
c:\temp\user.crt |
Windows GUI で .crt ファイルを開きます |
Citrix Virtual Apps and Desktops 2411より前のFASバージョンからのアップグレード
Citrix Virtual Apps and Desktops 2411より前のFASリリースでは、秘密キーのプロパティは次のXMLファイルを編集して構成されていました。
%programfiles%\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe.config
<!--NeedCopy-->
これは、このドキュメントで説明されているPowerShellコマンドに置き換えられました。これにより、より柔軟性が向上し、FASサーバーを再起動せずに適用できます。
さらに、XMLファイルの設定とは異なり、PowerShellを使用して行われた構成は、FASサーバーがアップグレードされても保持されます。
秘密キーの構成に関連するXMLファイルの設定は、対応するPowerShellパラメーター(Get-FasKeyConfig および Set-FasKeyConfig で使用)とともに次のようにリストされています。
| XMLファイル設定 | XMLファイルのデフォルト値 | PowerShellの同等機能 | コメント |
|---|---|---|---|
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyLength |
2048 | -Length | - |
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyProtection
|
GenerateNonExportableKey
|
-Exportable
-UseDefaultTpmProvider |
|
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderLegacyCsp
|
false
|
-Ksp
|
- ProviderLegacyCsp falseは-Kspを$trueに設定することで実現されます
-ProviderLegacyCsp trueは-Kspを$falseに設定することで実現されます |
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderName |
- | -Provider | - |
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderType |
- | -CspType | - |
XML構成のデフォルトとPowerShellのデフォルトは機能的に同等です。つまり、デフォルトでは、このバージョンおよびCitrix Virtual Apps and Desktops 2411より前のバージョンでFASによって生成されるキーペアのプロパティは同じです。
したがって、XML構成ファイルで前述の設定を変更していない場合は、FASをアップグレードする際に特別な措置を講じる必要はありません。
ただし、前述の設定のいずれかを変更した場合は、次のようにFASをアップグレードします。
- FASをメンテナンスモードにします。メンテナンスモード。
- FASインストーラーを実行するだけで、FASを インプレース でアップグレードします。アップグレード後、以前の設定はXMLファイルには存在せず、XMLファイルで構成することはできません。
-
キー構成PowerShellコマンド で説明されているPowerShellコマンド
Set-FasKeyConfigを使用して、FAS秘密キー構成を希望どおりに設定します。認証証明書とユーザー証明書に必要な設定を検討してください。 - 秘密キー構成のテスト で説明されているように、構成をテストします。
- FASサーバーをメンテナンスモードから解除します。
次回アップグレードするときは、FAS秘密キー構成設定が保持されるため、特別な措置を講じる必要はありません。
暗号化リモーティング
FASユーザー証明書に関連付けられた秘密鍵がVDAに転送されることはありません。代わりに、VDAがユーザーのFAS証明書を使用する必要がある場合(VDAへのサインインのため、またはセッション内での使用のため)、暗号化リクエストはFASサーバーにリモートで送り返されます。これにより、秘密鍵がFASキーストレージ(ソフトウェアストレージ、TPM、またはHSMのいずれであっても)から離れることがないため、セキュリティが向上します。
Windows VDAでは、これはVDA上で一対のプロバイダーを使用することで実現されます。暗号化リクエストを行うアプリケーションまたはオペレーティングシステムコードは、操作がFASサーバーにリモートで送り返されていることを認識しません。
Citrix Virtual Apps and Desktops 2411より前では、プロバイダーはCryptographic Service Providers (CSP) であり、アプリケーションおよびオペレーティングシステムコードは古いWindows CAPI APIを介してアクセスしていました。プロバイダーは次のとおりです。
-
CitrixLogonCsp.dll: VDAへのシングルサインオン用 -
CitrixVirtualSmartcardCsp.dll: セッション内証明書用
Citrix Virtual Apps and Desktops 2411以降では、追加のKey Storage Providers (KSP) がVDAに提供されます。アプリケーションおよびオペレーティングシステムコードは、新しいWindows CNG APIを使用してこれらにアクセスします。新しいプロバイダーは次のとおりです。
-
CitrixLogonKsp.dll: VDAへのシングルサインオン用 -
CitrixVirtualSmartcardKsp.dll: セッション内証明書用
KSPは、Windowsアプリケーションに暗号化操作を公開するためのより最新の方法であり、より多くの機能を提供します。例えば、次のとおりです。
- ECC鍵を持つ証明書のサポート
- 確率的署名方式 (PSS) パディングのサポート
FASとVDAの両方がCitrix Virtual Apps and Desktops 2411以降を実行している場合、KSPリモーティング(つまり、新しいKSPを介したリモーティング)が使用されます。それ以外の場合、システムは古いCSPを使用してリモーティングにフォールバックします。
KSPリモーティングの無効化
互換性の問題が発生した場合に備えて、KSPリモーティングを無効にし、常に古いCSPリモーティングを使用できるようにすることが可能です。
次のPowerShellを使用します。
Set-FasServer -Address localhost -KspRemoting $false
メンテナンスモード
稼働中の FASサーバーの構成に変更を加える際は、メンテナンスモードにすることを検討してください。
FASがメンテナンスモードの場合、次のことが当てはまります。
- WorkspaceまたはStoreFront™が、公開されたアプリケーションまたはデスクトップの起動シーケンスの一部としてFASを呼び出す際、FASはメンテナンスモードであることを示します。呼び出し元は、別のFASサーバーを選択することでこれに対応する必要があります。
- 追加の予防策として、FASはメンテナンスモード中にユーザー証明書の自動作成を許可しません。これにより、意図しない設定でのユーザー証明書の誤作成が回避されます。
- ただし、VDAサインインやセッション内使用など、既存のユーザー証明書に関連するアクティビティは引き続き許可されます。
ユーザー証明書の自動作成は許可されませんが、管理者はNew-FasUserCertificateやTest-FasCertificateSigningRequestなどのPowerShellコマンドを使用してユーザー証明書を作成できます。
管理コンソールの使用

PowerShellの使用
FASサーバーをメンテナンスモードにするには、次のようにします。
Set-FasServer -Address localhost -MaintenanceMode $true
FASサーバーをメンテナンスモードから解除し(通常の操作に戻す)、次のようにします。
Set-FasServer -Address localhost -MaintenanceMode $false
関連情報
- インストールと構成は、FASのインストールと構成に関する主要なリファレンスです。
- 一般的なFAS展開は、Federated Authentication Servicesのアーキテクチャ概要の記事にまとめられています。
- その他のハウツー記事は、高度な構成の記事で紹介されています。