Verwendung von CloudHSM Management Utility (CMU) zur Verwaltung der Zwei-Faktor-Authentifizierung (2FA) für Crypto Officers - 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.

Verwendung von CloudHSM Management Utility (CMU) zur Verwaltung der Zwei-Faktor-Authentifizierung (2FA) für Crypto Officers

Für mehr Sicherheit können Sie die Zwei-Faktor-Authentifizierung (2FA) konfigurieren, um den Cluster zu schützen. Sie können 2FA nur für Crypto Officers (CO) aktivieren.

Anmerkung

Sie können 2FA nicht für Crypto-Benutzer (CU) oder Anwendungen aktivieren. Die Zwei-Faktor-Authentifizierung (2FA) ist nur für CO-Benutzer verfügbar.

2FA für HSM-Benutzer verstehen

Wenn Sie sich mit einem 2FA-fähigen HSM-Konto (Hardware Service Module) bei einem Cluster anmelden, geben Sie cloudhsm_mgmt_util (CMU) Ihr Passwort – den ersten Faktor, was Sie wissen – und CMU stellt Ihnen ein Token zur Verfügung und fordert Sie auf, das Token signieren zu lassen. Um den zweiten Faktor bereitzustellen – was Sie haben – signieren Sie das Token mit einem privaten Schlüssel aus einem Schlüsselpaar, das Sie bereits erstellt und dem HSM-Benutzer zugeordnet haben. Um auf den Cluster zuzugreifen, stellen Sie der CMU das signierte Token zur Verfügung.

Quorum-Authentifizierung und 2FA

Der Cluster verwendet denselben Schlüssel für die Quorum-Authentifizierung und für 2FA. Das bedeutet, dass ein Benutzer mit aktivierter 2FA effektiv für M-von-N-Zugriffskontrolle (MoFN) registriert ist. Beachten Sie die folgenden Punkte, um 2FA und die Quorum-Authentifizierung erfolgreich für denselben HSM-Benutzer zu verwenden:

  • Wenn Sie heute die Quorum-Authentifizierung für einen Benutzer verwenden, sollten Sie dasselbe Schlüsselpaar verwenden, das Sie für den Quorum-Benutzer erstellt haben, um 2FA für den Benutzer zu aktivieren.

  • Wenn Sie die 2FA-Anforderung für einen Nicht-2FA-Benutzer hinzufügen, der kein Quorum-Authentifizierungsbenutzer ist, registrieren Sie diesen Benutzer als MoFN-Benutzer mit 2FA-Authentifizierung.

  • Wenn Sie die 2FA-Anforderung entfernen oder das Passwort für einen 2FA-Benutzer ändern, der auch ein Quorum-Authentifizierungsbenutzer ist, entfernen Sie auch die Registrierung des Quorumbenutzers als MoFN-Benutzer.

  • Wenn Sie die 2FA-Anforderung aufheben oder das Passwort für einen 2FA-Benutzer ändern, der auch ein Quorum-Authentifizierungsbenutzer ist, Sie aber trotzdem möchten, dass dieser Benutzer an der Quorumauthentifizierung teilnimmt, müssen Sie diesen Benutzer erneut als MoFN-Benutzer registrieren.

Weitere Informationen über die Quorum-Authentifizierung finden Sie unter Verwendung von CMU zur Verwaltung der Quorum-Authentifizierung.

Mit 2FA für HSM-Benutzer arbeiten

In diesem Abschnitt wird beschrieben, wie HSM-Benutzer mit 2FA arbeiten, einschließlich der Erstellung von 2FA-HSM-Benutzern, der Rotation von Schlüsseln und der Anmeldung am HSM als 2FA-fähige Benutzer. Weitere Informationen zur Arbeit mit HSM-Benutzern finden Sie unter Verwaltung von HSM-Benutzern in AWS CloudHSM, Verwenden von CloudHSM Management Utility (CMU) zur Verwaltung von Benutzern, createUser, loginHSM und logoutHSM und changePswd.

Erstellen von 2FA-Benutzern

Um 2FA für einen HSM-Benutzer zu aktivieren, verwenden Sie einen Schlüssel, der die folgenden Anforderungen erfüllt.

Sie können ein neues Schlüsselpaar erstellen oder einen vorhandenen Schlüssel verwenden, der die folgenden Anforderungen erfüllt.

  • Schlüsseltyp: Asymmetrisch

  • Schlüsselnutzung: Signieren und Verifizieren

  • Schlüsselspezifikation: RSA_2048

  • Der Signierungsalgorithmus umfasst:

    • sha256WithRSAEncryption

Anmerkung

Wenn Sie die Quorumauthentifizierung verwenden oder planen, die Quorumauthentifizierung zu verwenden, finden Sie weitere Informationen unter Quorum-Authentifizierung und 2FA.

Verwenden Sie CMU und das Schlüsselpaar, um einen neuen CO-Benutzer mit aktivierter 2FA zu erstellen.

Um CO-Benutzer mit aktivierter 2FA zu erstellen
  1. Führen Sie an einem Terminal die folgenden Schritte aus:

    1. Greifen Sie auf Ihr HSM zu und melden Sie sich beim CloudHSM Management Utility an:

      /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
    2. Melden Sie sich als CO an und erstellen Sie mit dem folgenden Befehl eine neue Benutzer-MFA mit 2FA:

      aws-cloudhsm>createUser CO MFA <CO USER NAME> -2fa /home/ec2-user/authdata *************************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)? yCreating User exampleuser3(CO) on 1 nodesAuthentication data written to: "/home/ec2-user/authdata"Generate Base64-encoded signatures for SHA256 digests in the authentication datafile. To generate the signatures, use the RSA private key, which is the second factor ofauthentication for this user. Paste the signatures and the corresponding public keyinto the authentication data file and provide the file path below.Leave this field blank to use the path initially provided.Enter filename:
    3. Belassen Sie das obige Terminal in diesem Zustand. Drücken Sie nicht die Eingabetaste und geben Sie keinen Dateinamen ein.

  2. Führen Sie in einem anderen Terminal die folgenden Schritte aus:

    1. Greifen Sie auf Ihr HSM zu und melden Sie sich beim CloudHSM Management Utility an:

      /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
    2. Generieren Sie mit den folgenden Befehlen ein öffentlich-privates Schlüsselpaar:

      openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
      openssl rsa -pubout -in private_key.pem -out public_key.pem
    3. Führen Sie den folgenden Befehl aus, um eine JSON-Abfragefunktion zum Extrahieren des Digest aus der Authdata-Datei zu installieren:

      sudo yum install jq
    4. Um den Digest-Wert zu extrahieren, suchen Sie zunächst die folgenden Daten in der Authdata-Datei:

      { "Version":"1.0", "PublicKey":"", "Data":[ { "HsmId": <"HSM ID">, "Digest": <"DIGEST">, "Signature":"" } ] }
      Anmerkung

      Der erhaltene Digest ist Base64-kodiert. Um den Digest zu signieren, muss die Datei jedoch zuerst dekodiert und dann signiert werden. Der folgende Befehl dekodiert den Digest und speichert den dekodierten Inhalt in „digest1.bin“.

      cat authdata | jq '.Data[0].Digest' | cut -c2- | rev | cut -c2- | rev | base64 -d > digest1.bin
    5. Konvertiert den Inhalt des öffentlichen Schlüssels, fügt „\n“ hinzu und entfernt Leerzeichen, wie hier gezeigt:

      -----BEGIN PUBLIC KEY-----\n<PUBLIC KEY>\n-----END PUBLIC KEY-----
      Wichtig

      Der obige Befehl zeigt, wie „\n“ unmittelbar nach BEGIN PUBLIC KEY----- hinzugefügt wird, Leerzeichen zwischen „\n“ und dem ersten Zeichen des öffentlichen Schlüssels entfernt werden, „\n“ vor -----END PUBLIC KEY hinzugefügt wird und Leerzeichen zwischen „\n“ und dem Ende des öffentlichen Schlüssels entfernt werden.

      Dies ist das PEM-Format für den öffentlichen Schlüssel, das in der Authdata-Datei akzeptiert wird.

    6. Fügen Sie den Inhalt des öffentlichen Schlüssels im PEM-Format in den Abschnitt mit dem öffentlichen Schlüssel der Authdata-Datei ein.

      vi authdata
      { "Version":"1.0", "PublicKey":"-----BEGIN PUBLIC KEY-----\n<"PUBLIC KEY">\n-----END PUBLIC KEY-----", "Data":[ { "HsmId":<"HSM ID">, "Digest":<"DIGEST">, "Signature":”” } ] }
    7. Signieren Sie die Token-Datei mit dem folgenden Befehl:

      openssl pkeyutl -sign -in digest1.bin -inkey private_key.pem -pkeyopt digest:sha256 | base64 Output Expected: <"THE SIGNATURE">
      Anmerkung

      Verwenden Sie, wie im obigen Befehl gezeigt, openssl pkeyutl statt openssl dgst zum Signieren.

    8. Fügen Sie den signierten Digest in die Authdata-Datei im Feld „Signatur“ ein.

      vi authdata
      { "Version": "1.0", "PublicKey": "-----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY-----", "Data": [ { "HsmId": <"HSM ID">, "Digest": <"DIGEST">, "Signature": "Kkdl ... rkrvJ6Q==" }, { "HsmId": <"HSM ID">, "Digest": <"DIGEST">, "Signature": "K1hxy ... Q261Q==" } ] }
  3. Gehen Sie zurück zum ersten Terminal und drücken Sie Enter:

    Generate Base64-encoded signatures for SHA256 digests in the authentication datafile. To generate the signatures, use the RSA private key, which is the second factor ofauthentication for this user. Paste the signatures and the corresponding public keyinto the authentication data file and provide the file path below. Leave this field blank to use the path initially provided. Enter filename: >>>>> Press Enter here createUser success on server 0(10.0.1.11)

2FA für HSM-Benutzer verwalten

Verwenden Sie „Passwort ändern“, um das Passwort für einen 2FA-Benutzer zu ändern oder um 2FA zu aktivieren oder zu deaktivieren oder um den 2FA-Schlüssel zu rotieren. Jedes Mal, wenn Sie 2FA aktivieren, müssen Sie einen öffentlichen Schlüssel für 2FA-Logins angeben.

Change Password führt eines der folgenden Szenarien aus:

  • Ändern Sie das Passwort für einen 2FA-Benutzer

  • Ändern Sie das Passwort für einen Nicht-2FA-Benutzer

  • 2FA zu einem Nicht-2FA-Benutzer hinzufügen

  • 2FA von einem 2FA-Benutzer entfernen

  • Den Schlüssel für einen 2FA-Benutzer rotieren

Sie können Aufgaben auch kombinieren. Sie können beispielsweise 2FA von einem Benutzer entfernen und gleichzeitig das Passwort ändern, oder Sie können den 2FA-Schlüssel wechseln und das Benutzerpasswort ändern.

Um Passwörter zu ändern oder Schlüssel für CO-Benutzer mit aktivierter 2FA zu rotieren
  1. Verwenden Sie CMU, um sich als CO mit aktivierter 2FA am HSM anzumelden.

  2. Verwenden Sie changePswd, um das Passwort zu ändern oder den Schlüssel von CO-Benutzern mit aktivierter 2FA zu wechseln. Verwenden Sie den -2fa-Parameter und geben Sie einen Speicherort im Dateisystem an, an dem das System die authdata-Datei schreiben kann. Diese Datei enthält einen Digest für jedes HSM im Cluster.

    aws-cloudhsm>changePswd CO example-user <new-password> -2fa /path/to/authdata

    CMU fordert Sie auf, den privaten Schlüssel zu verwenden, um die Digests in der authdata-Datei zu signieren und die Signaturen mit dem öffentlichen Schlüssel zurückzugeben.

  3. Verwenden Sie den privaten Schlüssel, um die Digests in der authdata-Datei zu signieren, fügen Sie die Signaturen und den öffentlichen Schlüssel zur authdata-Datei im JSON-Format hinzu und teilen Sie CMU dann den Speicherort der authdata-Datei mit. Weitere Informationen finden Sie unter Konfigurationsreferenz.

    Anmerkung

    Der Cluster verwendet denselben Schlüssel für die Quorum-Authentifizierung und für 2FA. Wenn Sie die Quorumauthentifizierung verwenden oder planen, die Quorumauthentifizierung zu verwenden, finden Sie weitere Informationen unter Quorum-Authentifizierung und 2FA.

So deaktivieren Sie 2FA für CO-Benutzer mit aktivierter 2FA
  1. Verwenden Sie CMU, um sich als CO mit aktivierter 2FA am HSM anzumelden.

  2. Verwenden Sie changePswd, um 2FA von CO-Benutzern zu entfernen, bei denen 2FA aktiviert ist.

    aws-cloudhsm>changePswd CO example-user <new password>

    CMU fordert Sie auf, den Vorgang zum Ändern des Passworts zu bestätigen.

    Anmerkung

    Wenn Sie die 2FA-Anforderung entfernen oder das Passwort für einen 2FA-Benutzer ändern, der auch ein Quorum-Authentifizierungsbenutzer ist, entfernen Sie auch die Registrierung des Quorumbenutzers als MoFN-Benutzer. Weitere Informationen über Quorum-Benutzer und 2FA finden Sie unter Quorum-Authentifizierung und 2FA.

  3. Typ y.

    Die CMU bestätigt den Vorgang zum Ändern des Passworts.

Konfigurationsreferenz

Im Folgenden finden Sie ein Beispiel für die 2FA-Eigenschaften in der authdata-Datei sowohl für die von der CMU generierte Anfrage als auch für Ihre Antworten.

{ "Version": "1.0", "PublicKey": "-----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY-----", "Data": [ { "HsmId": "hsm-lgavqitns2a", "Digest": "k5O1p3f6foQRVQH7S8Rrjcau6h3TYqsSdr16A54+qG8=", "Signature": "Kkdl ... rkrvJ6Q==" }, { "HsmId": "hsm-lgavqitns2a", "Digest": "IyBcx4I5Vyx1jztwvXinCBQd9lDx8oQe7iRrWjBAi1w=", "Signature": "K1hxy ... Q261Q==" } ] }
Daten

Oberster Knoten Enthält einen untergeordneten Knoten für jedes HSM im Cluster. Erscheint in Anfragen und Antworten für alle 2FA-Befehle.

Digest

Dies müssen Sie unterschreiben, um den zweiten Authentifizierungsfaktor bereitzustellen. CMU wurde in Anfragen für alle 2FA-Befehle generiert.

HsmId

Die ID Ihres HSM. Erscheint in Anfragen und Antworten für alle 2FA-Befehle.

PublicKey

Der öffentliche Schlüsselteil des Schlüsselpaar, das Sie generiert haben, wurde als Zeichenfolge im PEM-Format eingefügt. Sie geben dies in Antworten für createUser und changePswd ein.

Signature

Der mit Base 64 kodierte signierte Digest. Sie geben dies in Antworten für alle 2FA-Befehle ein.

Version

Die Version der JSON-formatierten Datei mit den Authentifizierungsdaten Erscheint in Anfragen und Antworten für alle 2FA-Befehle.