Verwenden der Quorum-Authentifizierung für Verschlüsselungsverantwortliche: Erstmalige Einrichtung - AWS CloudHSM

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden der Quorum-Authentifizierung für Verschlüsselungsverantwortliche: Erstmalige Einrichtung

In den folgenden Themen werden die Schritte beschrieben, die Sie zum Konfigurieren Ihres Hardware-Sicherheitsmoduls (HSM) durchführen müssen, damit Verschlüsselungsverantwortliche (COs, Crypto Officers) Quorum-Authentifizierung verwenden können. Sie müssen diese Schritte nur einmal ausführen, wenn Sie die Quorum-Authentifizierung für COs zum ersten Mal konfigurieren. Nachdem Sie diese Schritte abgeschlossen haben, fahren Sie mit Verwenden der Quorum-Authentifizierung für Verschlüsselungsverantwortliche fort.

Voraussetzungen

Um dieses Beispiel zu verstehen, sollten Sie mit dem cloudhsm_mgmt_util-Kommandozeilen-Tool (CMU) vertraut sein. In diesem Beispiel verfügt der AWS CloudHSM Cluster über zwei HSMs mit jeweils demselben CoS, wie in der folgenden Ausgabe des Befehls dargestellt. listUsers Weitere Informationen zum Erstellen von Benutzern finden Sie unter Verwalten von HSM-Benutzern.

aws-cloudhsm>listUsers Users on server 0(10.0.2.14): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 NO 0 NO 4 CO officer2 NO 0 NO 5 CO officer3 NO 0 NO 6 CO officer4 NO 0 NO 7 CO officer5 NO 0 NO Users on server 1(10.0.1.4): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 NO 0 NO 4 CO officer2 NO 0 NO 5 CO officer3 NO 0 NO 6 CO officer4 NO 0 NO 7 CO officer5 NO 0 NO

Erstellen und Registrieren eines Schlüssels für das Signieren

Um die Quorumauthentifizierung zu verwenden, muss jeder CO alle der folgenden Schritte ausführen:

Erstellen eines RSA-Schlüsselpaares

Es gibt viele verschiedene Möglichkeiten, ein Schlüsselpaar zu erstellen und zu schützen. In den folgenden Beispielen wird gezeigt, wie dies mit OpenSSL durchgeführt wird.

Beispiel – Erstellen eines privaten Schlüssels mit OpenSSL

Im folgenden Beispiel wird gezeigt, wie OpenSSL verwendet wird, um einen 2048-Bit-RSA-Schlüssel zu erstellen, der durch eine Pass-Phrase geschützt ist. Ersetzen Sie, um dieses Beispiel zu verwenden, officer1.key durch den Namen der Datei, in der Sie den Schlüssel speichern möchten.

$ openssl genrsa -out officer1.key -aes256 2048 Generating RSA private key, 2048 bit long modulus .....................................+++ .+++ e is 65537 (0x10001) Enter pass phrase for officer1.key: Verifying - Enter pass phrase for officer1.key:

Generieren eines öffentlichen Schlüssels mit dem privaten Schlüssel, den Sie gerade erstellt haben.

Beispiel – Erstellen Sie einen öffentlichen Schlüssel mit OpenSSL

Das folgende Beispiel zeigt, wie Sie OpenSSL verwenden, um einen öffentlichen Schlüssel aus dem privaten Schlüssel zu erstellen, den Sie gerade erstellt haben.

$ openssl rsa -in officer1.key -outform PEM -pubout -out officer1.pub Enter pass phrase for officer1.key: writing RSA key

Erstellen und signieren Sie ein Registrierungstoken

Sie erstellen ein Token und signieren es mit dem privaten Schlüssel, den Sie gerade im vorherigen Schritt generiert haben.

Beispiel – Erstellen Sie ein Token

Das Registrierungstoken ist nur eine Datei mit beliebigen zufälligen Daten, die die maximale Größe von 245 Byte nicht überschreiten. Sie signieren das Token mit dem privaten Schlüssel, um nachzuweisen, dass Sie Zugriff auf den privaten Schlüssel haben. Der folgende Befehl verwendet Echo, um eine Zeichenfolge in eine Datei umzuleiten.

$ echo "token to be signed" > officer1.token

Signieren Sie das Token und speichern Sie es in einer Signaturdatei. Sie benötigen das signierte Token, das unsignierte Token und den öffentlichen Schlüssel, um den CO als MoFN-Benutzer beim HSM zu registrieren.

Beispiel – Signieren Sie das Token

Verwenden Sie OpenSSL und den privaten Schlüssel, um das Registrierungstoken zu signieren und die Signaturdatei zu erstellen.

$ openssl dgst -sha256 \ -sign officer1.key \ -out officer1.token.sig officer1.token

Registrieren Sie den öffentlichen Schlüssel beim HSM

Nach dem Erstellen eines Schlüssels muss der CO den öffentlichen Teil des Schlüssels (den öffentlichen Schlüssel) beim HSM registrieren.

So registrieren Sie einen öffentlichen Schlüssel bei dem HSM
  1. Starten Sie das Befehlszeilen-Toolcloudhsm_mgmt_util mit folgendem Befehl.

    $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
  2. Verwenden Sie den Befehl loginHSM, um sich bei den HSMs als CO anzumelden. Weitere Informationen finden Sie unter Verwaltung von HSM-Benutzern mit CloudHSM Management Utility (CMU).

  3. Verwenden Sie den Befehl registerQuorumPubKey, um den öffentlichen Schlüssel zu registrieren. Weitere Informationen finden Sie im folgenden Beispiel. Alternativ können Sie auch den Befehl help registerQuorumPubKey ausführen.

Beispiel – Registrieren eines öffentlichen Schlüssels beim HSM

Das folgende Beispiel zeigt, wie Sie mit dem Befehl registerQuorumPubKey im cloudhsm_mgmt_util-Befehlszeilen-Tool den öffentlichen Schlüssel eines COs beim HSM registrieren. Der CO muss bei dem HSM angemeldet sein, um diesen Befehl zu verwenden. Ersetzen Sie diese Werte durch Ihre eigenen Werte:

aws-cloudhsm> registerQuorumPubKey CO <officer1> <officer1.token> <officer1.token.sig> <officer1.pub> *************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. AWS does NOT synchronize these changes automatically with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?y registerQuorumPubKey success on server 0(10.0.2.14)
<officer1.token>

Der Pfad zu einer Datei, die ein unsigniertes Registrierungstoken enthält. Kann beliebige Daten mit einer maximalen Dateigröße von 245 Byte enthalten.

Erforderlich: Ja

<officer1.token.sig>

Der Pfad zu einer Datei, die den mit dem SHA256_PKCS-Mechanismus signierten Hash-Wert des Registrierungs-Tokens enthält.

Erforderlich: Ja

<officer1.pub>

Der Pfad zu der Datei, die den öffentlichen Schlüssel eines asymmetrischen RSA-2048-Schlüsselpaars enthält. Verwenden Sie den privaten Schlüssel, um das Registrierungstoken zu signieren.

Erforderlich: Ja

Nachdem alle COs ihre öffentlichen Schlüssel registriert haben, zeigt die Ausgabe des listUsers-Befehls dies in der MofnPubKey-Spalte an, wie im folgenden Beispiel veranschaulicht.

aws-cloudhsm>listUsers Users on server 0(10.0.2.14): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 YES 0 NO 4 CO officer2 YES 0 NO 5 CO officer3 YES 0 NO 6 CO officer4 YES 0 NO 7 CO officer5 YES 0 NO Users on server 1(10.0.1.4): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 YES 0 NO 4 CO officer2 YES 0 NO 5 CO officer3 YES 0 NO 6 CO officer4 YES 0 NO 7 CO officer5 YES 0 NO

Setzten des Quorum-Mindestwerts für das HSM

Zum Verwenden der Quorum-Authentifizierung für COs muss sich ein CO bei dem HSM anmelden und dann den Quorum-Mindestwert, der auch als m_value bezeichnet wird, festlegen. Dies ist die Mindestanzahl von CO-Genehmigungen, die erforderlich sind, um HSM-Benutzermanagement-Vorgänge auszuführen. Alle COs im HSM können den Quorum-Mindestwert festlegen, einschließlich COs, die keinen Schlüssel für das Signieren registriert haben. Sie können den Quorum-Mindestwert jederzeit ändern. Weitere Informationen finden Sie unter Ändern Sie den Mindestwert.

So legen Sie den Quorum-Mindestwert im HSM fest
  1. Starten Sie das Befehlszeilen-Toolcloudhsm_mgmt_util mit folgendem Befehl.

    $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
  2. Verwenden Sie den Befehl loginHSM, um sich bei den HSMs als CO anzumelden. Weitere Informationen finden Sie unter Verwaltung von HSM-Benutzern mit CloudHSM Management Utility (CMU).

  3. Verwenden Sie den setMValue-Befehl, um den Quorum-Mindestwert festzulegen. Weitere Informationen finden Sie im folgenden Beispiel. Alternativ können Sie auch den Befehl help setMValue ausführen.

Beispiel – Setzen des Quorum-Mindestwerts für das HSM

In diesem Beispiel wird ein Quorum-Mindestwert von zwei verwendet. Sie können einen Wert zwischen zwei (2) und acht (8) wählen, bis zur Gesamtzahl der COs auf dem HSM. In diesem Beispiel hat das HSM sechs COs, also ist der maximal mögliche Wert sechs.

Um den folgenden Beispielbefehl zu verwenden, ersetzen Sie die letzte Zahl (2) durch den bevorzugten Quorum-Mindestwert.

aws-cloudhsm>setMValue 3 2 *************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. AWS does NOT synchronize these changes automatically with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?y Setting M Value(2) for 3 on 2 nodes

Im vorhergehenden Beispiel bestimmt die erste Zahl (3) den HSM-Service, dessen Quorum-Mindestwert Sie festlegen.

In der folgenden Tabelle sind die HSM-Dienstkennungen zusammen mit ihren Namen, Beschreibungen und den Befehlen aufgeführt, die im Dienst enthalten sind.

Dienstkennung Service-Name Service description (Service-Beschreibung) HSM-Befehle
3 USER_MGMT HSM-Benutzerverwaltung
  • createUser

  • deleteUser

  • changePswd (gilt nur, wenn das Passwort eines anderen HSM-Benutzers geändert wird)

4 MISC_CO Diverser CO-Service
  • setMValue

Um den Quorum-Mindestwert für einen Service abzurufen, verwenden Sie den getMValue-Befehl wie im folgenden Beispiel.

aws-cloudhsm>getMValue 3 MValue of service 3[USER_MGMT] on server 0 : [2] MValue of service 3[USER_MGMT] on server 1 : [2]

Die Ausgabe aus dem vorausgehenden Befehl getMValue zeigt, dass der Quorum-Mindestwert für HSM-Benutzermanagement-Vorgänge (Service 3) jetzt zwei ist.

Nachdem Sie diese Schritte abgeschlossen haben, fahren Sie mit Verwenden der Quorum-Authentifizierung für Verschlüsselungsverantwortliche fort.