Product Documentation

Schutz durch private Schlüssel beim Verbundauthentifizierungsdienst

Jul 13, 2016

Einführung

Private Schlüssel werden über das Netzwerkdienstkonto gespeichert und sind standardmäßig als nicht exportierbar markiert.

Es gibt zwei Typen von privaten Schlüsseln:

  • Der private Schlüssel des Registrierungsstellenzertifikats (RA-Zertifikat) der Zertifikatvorlage Citrix_RegistrationAuthority.
  • Die privaten Schlüssel der Benutzerzertifikate der Zertifikatvorlage Citrix_SmartcardLogon.

Es gibt zwei RA-Zertifikate: Citrix_RegistrationAuthority_ManualAuthorization (24 Stunden gültig) und Citrix_RegistrationAuthority (zwei Jahre gültig).

Wenn der Administrator während der Ersteinrichtung auf der FAS-Verwaltungskonsole in Schritt 3 auf "Authorize" klickt, generiert der FAS-Server ein Schlüsselpaar und sendet eine Zertifikatsignieranforderung (CSR) für das Zertifikat Citrix_RegistrationAuthority_ManualAuthorization an die Zertifizierungsstelle. Dies ist ein temporäres Zertifikat, das standardmäßig 24 Stunden lang gültig ist. Die Zertifizierungsstelle stellt dieses Zertifikat nicht automatisch aus. Die Ausstellung muss bei der Zertifizierungsstelle manuell von einem Administrator genehmigt werden. Wenn das Zertifikat für den FAS-Server ausgestellt wurde, verwendet der Verbundauthentifizierungsdienst das Zertifikat Citrix_RegistrationAuthority_ManualAuthorization, um automatisch das Zertifikat Citrix_RegistrationAuthority (zwei Jahre gültig) abzurufen. Der FAS-Server löscht das Zertifikat und den Schlüssel für Citrix_RegistrationAuthority_ManualAuthorization, sobald er das Zertifikat Citrix_RegistrationAuthority erhält.

Der private Schlüssel des RA-Zertifikates ist besonders vertraulich, da die RA-Zertifikatrichtlinie dem Besitzer des privaten Schlüssels das Ausstellen von Zertifikatanforderungen für die in der Vorlage konfigurierten Benutzer erlaubt. Wer also diesen Schlüssel hat, kann als einer der konfigurierten Benutzer eine Verbindung mit der Umgebung herstellen.

Mit einer der folgenden Optionen können Sie die Konfiguration des FAS-Servers so festlegen, dass private Schlüssel den Sicherheitsanforderungen Ihrer Organisation entsprechend geschützt sind:

  • Microsoft Enhanced RSA und AES Cryptographic Provider oder Schlüsselspeicheranbieter für Microsoft-Software für die privaten Schlüssel von RA-Zertifikaten und von Benutzerzertifikaten.
  • Schlüsselspeicheranbieter der Microsoft-Plattform mit einem Trusted Platform Module (TPM)-Chip für den privaten Schlüssel des RA-Zertifikats und Microsoft Enhanced RSA und AES Cryptographic Provider oder Schlüsselspeicheranbieter für Microsoft-Software für die privaten Schlüssel von Benutzern.
  • Ein Hardwaresicherheitsmodul (HSM) mit dem Kryptografiedienst eines Anbieters oder ein Schlüsselspeicheranbieter mit dem HSM-Gerät für das RA-Zertifikat und die privaten Schlüssel der Benutzerzertifikate.

Konfigurationseinstellungen für private Schlüssel

Konfigurieren Sie den Verbundauthentifizierungsdienst, sodass er eine der drei Optionen verwendet. Bearbeiten Sie die Datei Citrix.Authentication.FederatedAuthenticationService.exe.config mit einem Text-Editor. Der Standardspeicherort der Datei ist unter Programme\Citrix\Federated Authentication Service auf dem FAS-Server.

localized image

Der Verbundauthentifizierungsdienst liest die Konfigurationsdatei nur, wenn der Dienst gestartet wird. Wenn Sie Werte ändern, muss der FAS neu gestartet werden, damit die neuen Einstellungen wirksam werden.

Legen Sie die relevanten Werte in der Datei Citrix.Authentication.FederatedAuthenticationService.exe.config wie folgt fest:

Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderLegacyCsp (Wechsel zwischen CAPI und CNG-APIs)

Wert

Kommentar

true

Verwenden Sie CAPIs

false (Standardwert)

Verwenden Sie CNG-APIs

Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderName (ProviderName = Name des zu verwendenden Anbieters)

Wert

Kommentar

Microsoft Enhanced RSA und AES Cryptographic Provider

CAPI-Standardanbieter

Schlüsselspeicheranbieter für Microsoft-Software

CNG-Standardanbieter

Schlüsselspeicheranbieter der Microsoft-Plattform

TPM-Standardanbieter TPM wird nicht für Benutzerschlüssel empfohlen. Verwenden Sie TPM nur für RA-Schlüssel. Wenn Sie beabsichtigen, den FAS-Server in einer virtualisierten Umgebung auszuführen, fragen Sie die TPM- und Hypervisor-Hersteller, ob Virtualisierung unterstützt wird.

HSM_Vendor CSP/Schlüsselspeicheranbieter

Bereitstellung durch HSM-Hersteller. Der Wert unterscheidet sich je nach Hersteller. Wenn Sie beabsichtigen, den FAS-Server in einer virtualisierten Umgebung auszuführen, fragen Sie den HSM-Hersteller, ob Virtualisierung unterstützt wird.

Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderType (Nur bei CAPI erforderlich)

Wert

Kommentar

24

Standard. Bezieht sich auf Microsoft KeyContainerPermissionAccessEntry.ProviderType Property PROV_RSA_AES 24. Muss immer 24 lauten, es sei denn, Sie verwenden ein HSM mit CAPI und der HSM-Hersteller hat eine andere Spezifikation.

Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyProtection (Wenn der FAS einen Privatschlüsselvorgang ausführen muss, wird der hier angegebene Wert verwendet.) Steuert das Flag "exportable" von privaten Schlüsseln.  Ermöglicht außerdem die Verwendung eines TPM-Schlüsselspeichers, wenn die Hardware dies unterstützt.

Wert

Kommentar

NoProtection

Privater Schlüssel kann exportiert werden.

GenerateNonExportableKey

Standard. Privater Schlüssel kann nicht exportiert werden.

GenerateTPMProtectedKey

Privater Schlüssel wird mit dem TPM verwaltet. Der private Schlüssel wird von dem Anbieter gespeichert, den Sie in ProviderName angegeben haben (z. B. Schlüsselspeicheranbieter der Microsoft-Plattform)

Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyLength (Geben Sie die Größe des privaten Schlüssels in Bit an.)

Wert

Kommentar

2048

Standard. 1024 oder 4096 können auch verwendet werden.

Die Einstellungen für die Konfigurationsdatei werden grafisch wie folgt dargestellt (Installationsstandards sind rot markiert):

localized image

Beispiele für Konfigurationsszenarios

Beispiel 1

Dieses Beispiel gilt für den privaten Schlüssel des RA-Zertifikats und die privaten Schlüssel der Benutzerzertifikate, die mit dem Schlüsselspeicheranbieter für Microsoft-Software gespeichert wurden.

Dies ist die Standardkonfiguration nach der Installation. Eine zusätzliche Konfiguration des privaten Schlüssels ist nicht erforderlich.

Beispiel 2

Dieses Beispiel zeigt den privaten Schlüssel des RA-Zertifikats, der im FAS-Server auf der Hauptplatine im Hardware-TPM vom Schlüsselspeicheranbieter der Microsoft-Plattform gespeichert wurde, sowie die privaten Schlüssel der Benutzerzertifikate, die vom Schlüsselspeicheranbieter für Microsoft-Software gespeichert wurden.

In diesem Szenario wird angenommen, dass das TPM auf der Hauptplatine des FAS-Servers im BIOS entsprechend der TPM-Herstellerdokumentation aktiviert und dann in Windows initialisiert wurde. Weitere Informationen finden Sie unter https://technet.microsoft.com/en-gb/library/cc749022(v=ws.10).aspx.

Verwenden von PowerShell (empfohlen)

Das RA-Zertifikat kann offline mit PowerShell angefordert werden. Dies ist für Organisationen geeignet, wenn die Zertifizierungsstellen keine RA-Zertifikate über eine Online-Zertifikatsignieranforderung ausstellen dürfen. Eine Offline-Zertifikatsignieranforderung kann von einer Registrierungsstelle nicht über die FAS-Verwaltungskonsole ausgestellt werden.

Schritt 1: Führen Sie während der Ersteinrichtung der FAS-Konfiguration mit der Verwaltungskonsole nur die ersten zwei Schritte aus: "Deploy certificate templates" und "Setup Certificate Authority".

localized image

Schritt 2: Fügen Sie auf dem Zertifizierungsstellenserver in der MMC das Zertifikatvorlagen-Snap-In hinzu. Klicken Sie mit der rechten Maustaste auf die Vorlage Citrix_RegistrationAuthority_ManualAuthorization und wählen Sie Vorlage duplizieren

Wählen Sie die Registerkarte Allgemein. Ändern Sie den Namen und die Gültigkeitsdauer. In diesem Beispiel lautet der Name Offline_RA und die Gültigkeitsdauer ist 2 Jahre:

localized image

Schritt 3: Fügen Sie auf dem Zertifizierungsstellenserver in der MMC das Zertifizierungsstellen-Snap-In hinzu. Klicken Sie mit der rechten Maustaste auf Zertifikatvorlagen. Klicken Sie auf Neu und dann auf Auszustellende Zertifikatvorlage. Wählen Sie die Vorlage aus, die Sie soeben erstellt haben.

Schritt 4: Laden Sie die folgenden PowerShell-Cmdlets auf den FAS-Server:

Add-PSSnapin Citrix.Authentication.FederatedAuthenticationServices.V1

Schritt 5: Erstellen Sie das RSA-Schlüsselpaar im TPM des FAS-Servers und erstellen Sie die Zertifikatsignieranforderung durch Eingabe des folgenden PowerShell-Cmdlets auf dem FAS-Server. Hinweis: Einige TPMs beschränken die Schlüssellänge. Die Standardschlüssellänge ist 2048 Bit. Geben Sie eine Schlüssellänge an, die Ihre Hardware unterstützt.

New-FasAuthorizationCertificateRequest -UseTPM $true -address

Beispiel:

New-FasAuthorizationCertificateRequest -UseTPM $true -address fashsm.auth.net

Folgendes wird angezeigt:

localized image

Hinweise:

  • Die ID GUID (in diesem Beispiel "5ac3d8bd-b484-4ebe-abf8-4b2cfd62ca39") ist in einem der folgenden Schritte erforderlich.
  • Betrachten Sie das PowerShell-Cmdlet als einmalige "Überschreibungsmethode" zum Generieren des privaten Schlüssels für das RA-Zertifikat.
  • Wenn dieses Cmdlet ausgeführt wird, wird die zu verwendende Schlüssellänge anhand der Werte bestimmt, die beim Start des FAS-Diensts aus der Konfigurationsdatei gelesen wurden (der Standardwert ist 2048).
  • Da -UseTPM in diesem manuellen, mit PowerShell initiierten Privatschlüsselvorgang für das RA-Zertifikat auf $true festgelegt ist, ignoriert das System Werte aus der Datei, die nicht mit den Einstellungen übereinstimmen, die zur Verwendung eines TPM erforderlich sind.
  • Durch das Ausführen des Cmdlets ändern sich keine Einstellungen in der Konfigurationsdatei.
  • Bei nachfolgenden automatischen, vom FAS initiierten Privatschlüsselvorgängen für Benutzerzertifikate werden die Werte verwendet, die beim Starten des FAS-Diensts aus der Datei gelesen wurden.  
  • Es ist auch möglich, den Wert KeyProtection in der Konfigurationsdatei auf GenerateTPMProtectedKey festzulegen, wenn der FAS-Server Benutzerzertifikate festlegt, damit durch das TPM geschützte private Schlüssel für Benutzerzertifikate generiert werden.

Um sicherzustellen, dass das TPM zum Generieren des Schlüsselpaars verwendet wurde, überprüfen Sie das Anwendungsprotokoll in der Windows-Ereignisanzeige auf dem FAS-Server auf die Zeit, zu der das Schlüsselpaar generiert wurde.

localized image

Folgendes sollte angezeigt werden: [TPM: True]

Gefolgt von:

localized image

Folgendes sollte angezeigt werden: "Provider: [CNG] Microsoft Platform Crypto Provider"

Schritt 6: Kopieren Sie den Abschnitt mit der Zertifikatanforderung in einen Texteditor und speichern Sie ihn als Textdatei auf einen Datenträger.

localized image

Schritt 7: Senden Sie die Zertifikatsignieranforderung an die Zertifizierungsstelle, indem Sie auf dem FAS-Server Folgendes in PowerShell eingeben:

certreq -submit -attrib "certificatetemplate:"

Beispiel:

certreq -submit -attrib "certificatetemplate:Offline_RA" C:\Users\Administrator.AUTH\Desktop\usmcertreq.txt

Folgendes wird angezeigt:

localized image

An dieser Stelle wird u. U. ein Fenster mit einer Liste der Zertifizierungsstellen angezeigt. Für die Zertifizierungsstelle in diesem Beispiel sind http- (oben) und DCOM-Registrierung (unten) aktiviert. Wählen Sie ggf. die DCOM-Option:

localized image

Nachdem die Zertifizierungsstelle angegeben wurde, zeigt PowerShell die RequestID an:

localized image

Schritt 8: Klicken Sie auf dem Zertifizierungsstellenserver in der MMC im Zertifizierungsstellen-Snap-In auf Ausstehende Anforderungen. Suchen Sie die Anforderungs-ID (RequestID). Klicken Sie mit der rechten Maustaste auf die Anforderung und wählen Sie Ausstellen.

Schritt 9: Wählen Sie den Knoten Ausgestellte Zertifikate. Suchen Sie das Zertifikat, das soeben ausgestellt wurde (die Anforderungs-ID muss übereinstimmen). Doppelklicken Sie auf das Zertifikat, um es zu öffnen. Klicken Sie auf die Registerkarte Details. Klicken Sie auf In Datei kopieren. Der Zertifikatexportassistent wird gestartet. Klicken Sie auf Weiter. Wählen Sie die folgenden Optionen für das Dateiformat:

localized image

Das Format muss wie folgt sein: Cryptographic Message Syntax Standard – PKCS #7 Certificates (.P7B) und Wenn möglich, alle Zertifikate im Zertifizierungspfad einbeziehen muss aktiviert sein.

Schritt 10: Kopieren Sie die exportierte Zertifikatdatei auf den FAS-Server.

Schritt 11: Importieren Sie das RA-Zertifikat in die Registrierung des FAS-Servers, indem Sie das folgende PowerShell-Cmdlet auf dem FAS-Server eingeben:

localized image

Beispiel:

localized image

Folgendes wird angezeigt:

localized image

Schritt 12: Schließen Sie die FAS-Verwaltungskonsole und starten Sie sie neu.

localized image

Der Schritt "Authorize this Service" ist nun grün und der Text lautet nun "Deauthorize this Service" und darunter "Authorized by: Offline CSR".

Schritt 13: Wählen Sie in der FAS-Verwaltungskonsole die Registerkarte User Roles und bearbeiten Sie die Einstellungen entsprechend den Anleitungen im FAS-Hauptartikel.

Hinweis: Wenn Sie die Autorisierung des FAS über die Verwaltungskonsole aufheben, wird die Benutzerregel gelöscht.

Verwenden der FAS-Verwaltungskonsole

Die FAS-Verwaltungskonsole kann keine Offline-Zertifikatsignieranforderung ausstellen, daher wird die Verwendung nicht empfohlen, es sei denn, Ihre Organisation erlaubt Online-Zertifikatsignieranforderungen für RA-Zertifikate.

Führen Sie bei der Ersteinrichtung des Verbundauthentifizierungsdiensts die folgenden Schritte aus, und zwar nach der Bereitstellung der Zertifikatvorlagen und der Einrichtung der Zertifizierungsstelle, aber bevor Sie den Dienst autorisieren (Schritt 3 in der Konfigurationsreihenfolge):

Schritt 1: Bearbeiten Sie die Konfigurationsdatei, indem Sie die folgende Zeile folgendermaßen ändern:

localized image

Daraufhin sollte die Datei wie folgt aussehen:

localized image

Einige TPMs beschränken die Schlüssellänge. Die Standardschlüssellänge ist 2048 Bit. Geben Sie eine Schlüssellänge an, die Ihre Hardware unterstützt.

Schritt 2: Autorisieren Sie den Dienst.

Schritt 3: Stellen Sie manuell die ausstehende Zertifikatanforderung des Zertifizierungsstellenservers aus. Nachdem Sie das RA-Zertifikat erhalten haben, wird Schritt 3 der Einrichtungsreihenfolge in der Verwaltungskonsole grün angezeigt. Der private Schlüssel für das RA-Zertifikat wurde nun im TPM generiert. Das Zertifikat gilt standardmäßig 2 Jahre.

Schritt 4: Ändern Sie die Konfigurationsdatei nun wieder wie folgt:

localized image

Hinweis: Obwohl der Verbundauthentifizierungsdienst Benutzerzertifikate mit TPM-geschützten Schlüsseln generieren kann, ist die TPM-Hardware möglicherweise zu langsam für große Bereitstellungen.

Schritt 5: Starten Sie den Citrix Verbundauthentifizierungsdienst neu. Dadurch wird der Dienst gezwungen, die Konfigurationsdatei erneut zu lesen und die geänderten Werte werden wirksam. Die nachfolgenden automatischen Privatschlüsselvorgänge wirken sich auf Benutzerzertifikatschlüssel aus. Bei diesen Vorgängen werden die privaten Schlüssel nicht im TPM, sondern mit dem Schlüsselspeicheranbieter für Microsoft-Software gespeichert.

Schritt 6: Wählen Sie in der FAS-Verwaltungskonsole die Registerkarte "User Roles" und bearbeiten Sie die Einstellungen wie im FAS-Hauptartikel beschrieben.

Hinweis: Wenn Sie die Autorisierung des FAS über die Verwaltungskonsole aufheben, wird die Benutzerregel gelöscht.

Beispiel 3

Dieses Beispiel gilt für einen privaten Schlüssel des RA-Zertifikats und die privaten Schlüssel der Benutzerzertifikate, die in einem HSM gespeichert wurden. In diesem Beispiel wird ein konfiguriertes HSM vorausgesetzt. Das HSM hat einen Anbieternamen, z. B. "HSM_Vendor’s Key Storage Provider".

Wenn Sie beabsichtigen, den FAS-Server in einer virtualisierten Umgebung auszuführen, fragen Sie den HSM-Hersteller nach Hypervisor-Unterstützung.   

Schritt 1: Führen Sie während der Ersteinrichtung der FAS-Konfiguration mit der Verwaltungskonsole nur die ersten zwei Schritte aus: "Deploy certificate templates" und "Setup Certificate Authority".

localized image

Schritt 2: Aus der Dokumentation Ihres HSM erfahren Sie, welchen Wert der ProviderName Ihres HSM haben sollte. Wenn das HSM CAPI verwendet, wird der Anbieter in der Dokumentation möglicherweise als Kryptografiedienstanbieter (Cryptographic Service Provider, CSP) bezeichnet. Wenn das HSM CNG verwendet, wird der Anbieter möglicherweise als Schlüsselspeicheranbieter (Key Storage Provider, KSP) bezeichnet.

Schritt 3: Bearbeiten Sie die Konfigurationsdatei wie folgt:

localized image

Daraufhin sollte die Datei wie folgt aussehen:

localized image

In diesem Szenario wird angenommen, dass Ihr HSM CNG verwendet, daher ist der Wert von ProviderLegacyCsp "false". Wenn das HSM CAPI verwendet, sollte der Wert für ProviderLegacyCsp auf "true" festgelegt sein. Sie erfahren aus der Dokumentation des HSM-Herstellers, ob das HSM CAPI oder CNG verwendet. Außerdem erfahren Sie aus der Dokumentation, welche Schlüssellängen für die Generierung eines asymmetrischen RSA-Schlüssels das HSM unterstützt. In diesem Beispiel ist die Schlüssellänge auf den Standardwert von 2048 Bit festgelegt. Stellen Sie sicher, dass die von Ihnen festgelegte Schlüssellänge von der Hardware unterstützt wird.

Schritt 4: Starten Sie den Citrix Verbundauthentifizierungsdienst neu, damit die Werte in der Konfigurationsdatei gelesen werden.

Schritt 5: Generieren Sie das RSA-Schlüsselpaar im HSM und erstellen Sie die Zertifikatsignieranforderung, indem Sie auf der Registerkarte "Initial Setup" der FAS-Verwaltungskonsole auf Authorize klicken.

Schritt 6: Stellen Sie sicher, dass das Schlüsselpaar im HSM erstellt wurde, indem Sie die Anwendungseinträge im Windows-Ereignisprotokoll überprüfen:

localized image

Folgendes sollte angezeigt werden: [Provider: [CNG] HSM_Vendor’s Key Storage Provider]

Schritt 7: Wählen Sie auf dem Zertifizierungsstellenserver in der Zertifizierungsstellen-MMC den Knoten Ausstehende Anforderungen:

localized image

Klicken Sie mit der rechten Maustaste auf die Anforderung und wählen Sie Ausstellen.

Der Schritt "Authorize this Service" ist nun grün und der Text lautet nun "Deauthorize this Service" und darunter "Authorized by: []".

localized image

Schritt 8: Wählen Sie in der FAS-Verwaltungskonsole die Registerkarte User Roles und bearbeiten Sie die Einstellungen wie im FAS-Hauptartikel beschrieben.

Hinweis: Wenn Sie die Autorisierung des FAS über die Verwaltungskonsole aufheben, wird die Benutzerregel gelöscht.

FAS-Zertifikatspeicher

Der Verbundauthentifizierungsdienst verwendet nicht den Microsoft Zertifikatspeicher auf dem FAS-Server, um Zertifikate zu speichern. Stattdessen wird die Registrierung verwendet.

Hinweis: Wenn Sie ein HSM zum Speichern der privaten Schlüssel verwenden, werden die HSM-Container durch GUIDs identifiziert. Die GUID für den privaten Schlüssel im HSM stimmt mit der GUID für das entsprechende Zertifikat in der Registrierung überein.

Um die GUID für das RA-Zertifikat zu ermitteln, geben Sie die folgenden PowerShell-Cmdlets auf dem FAS-Server ein:

Add-pssnapin Citrix.a*

Get-FasAuthorizationCertificate –address

Beispiel:

Get-FasAuthorizationCertificate –address cg-fas-2.auth.net

localized image

Geben Sie zum Abrufen einer Liste mit Benutzerzertifikaten Folgendes ein:

Get-FasUserCertificate –address

Beispiel:

Get-FasUserCertificate –address cg-fas-2.auth.net

localized image

Verwandte Informationen