Verwenden der Quorum-Authentifizierung für Verschlüsselungsverantwortliche - 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

Ein Verschlüsselungsverantwortlicher (CO, Crypto Officer) kann eine Quorum-Authentifizierung für die folgenden Operationen auf dem HSM konfigurieren:

  • Erstellen von HSM-Benutzern

  • Löschen von HSM-Benutzern

  • Ändern des Passworts eines anderen HSM-Benutzers

Nachdem das HSM für die Quorum-Authentifizierung konfiguriert wurde, können COs selbständig HSM-Benutzermanagement-Vorgänge durchführen. Das folgende Beispiel zeigt die Ausgabe, die angezeigt wird, wenn ein CO versucht, einen neuen Benutzer auf dem HSM anzulegen. Der Befehl schlägt mit einem RET_MXN_AUTH_FAILED-Fehler fehl. Dies weist darauf hin, dass die Quorum-Authentifizierung nicht möglich war.

aws-cloudhsm>createUser CU user1 password *************************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 Creating User user1(CU) on 2 nodes createUser failed: RET_MXN_AUTH_FAILED creating user on server 0(10.0.2.14) failed Retry/Ignore/Abort?(R/I/A):A

Zum Ausführen eines HSM-Benutzermanagement-Vorgangs muss ein CO folgende Aufgaben erledigen:

Wenn Sie das HSM noch nicht für die Quorum-Authentifizierung für COs konfiguriert haben, holen Sie dies jetzt nach. Weitere Informationen finden Sie unter Erstmalige Einrichtung.

Abrufen eines Quorum-Tokens

Zunächst muss der CO das cloudhsm_mgmt_util-Befehlszeilen-Tool verwenden, um ein Quorum-Token anzufordern.

So fordern Sie ein Quorum-Token an
  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 zum Abrufen eines Quorum-Tokens den Befehl getToken. Weitere Informationen finden Sie im folgenden Beispiel. Alternativ können Sie auch den Befehl help getToken ausführen.

Beispiel – Abrufen eines Quorum-Tokens

In diesem Beispiel wird ein Quorum-Token für den CO mit dem Benutzernamen „officer1“ abgerufen und in einer Datei namens officer1.token gespeichert. Zum Verwenden des Beispielbefehls ersetzen Sie diese Werte durch Ihre eigenen:

  • officer1 – Der Name des COs, der das Token erhält. Dies muss derselbe CO sein, der am HSM angemeldet ist und diesen Befehl ausführt.

  • officer1.token – Der Name der Datei, in der das Quorum-Token gespeichert wird.

Beim folgenden Befehl identifiziert 3 den Service, für den Sie das Token verwenden können, das Sie abrufen. In diesem Fall ist das Token für die HSM-Benutzermanagement-Vorgänge (Service 3). Weitere Informationen finden Sie unter Setzten des Quorum-Mindestwerts für das HSM.

aws-cloudhsm>getToken 3 officer1 officer1.token getToken success on server 0(10.0.2.14) Token: Id:1 Service:3 Node:1 Key Handle:0 User:officer1 getToken success on server 1(10.0.1.4) Token: Id:1 Service:3 Node:0 Key Handle:0 User:officer1

Erhalten der Signaturen von genehmigenden COs

Ein CO mit einem Quorum-Token muss sich das Token von anderen COs genehmigen lassen. Für die Genehmigung nutzen die anderen COs Ihren Signaturschlüssel zur kryptografischen Token-Signierung. Dies geschieht außerhalb des HSMs.

Es gibt viele verschiedene Möglichkeiten, ein Token zu signieren. Im folgenden Beispiel wird gezeigt, wie dies mit OpenSSL durchgeführt wird. Wenn Sie ein anderes Signatur-Tool verwenden, müssen Sie sicherstellen, dass dieses den privaten Schlüssel (Signaturschlüssel) des COs zur Signierung des SHA-256-Digests des Tokens verwendet.

Beispiel – Erhalten der Signaturen von den genehmigenden COs

In diesem Beispiel benötigt der CO mit dem Token (officer1) mindestens zwei Genehmigungen. Das folgende Beispiel zeigt, wie zwei COs OpenSSL zur kryptografischen Signierung des Tokens einsetzen können.

Beim ersten Befehl signiert „officer1“ das eigene Token. Wenn Sie die folgenden Beispielbefehle verwenden, ersetzen Sie diese Werte durch Ihre eigenen:

  • officer1.key und officer2.key – Der Name der Datei, die den Signaturschlüssel des COs enthält.

  • officer1.token.sig1 und officer1.token.sig2 – Der Name der Datei, in der die Signatur gespeichert wird. Stellen Sie sicher, dass jede Signatur in einer anderen Datei gespeichert wird.

  • officer1.token – Der Name der Datei, die das Token enthält, das vom CO signiert wird.

$ openssl dgst -sha256 -sign officer1.key -out officer1.token.sig1 officer1.token Enter pass phrase for officer1.key:

Beim folgenden Befehl signiert „officer2“ dasselbe Token.

$ openssl dgst -sha256 -sign officer2.key -out officer1.token.sig2 officer1.token Enter pass phrase for officer2.key:

Genehmigen des signierten Tokens auf dem HSM

Nachdem ein CO die minimale Anzahl an Genehmigungen (Signaturen) von anderen COs erhalten hat, muss er das signierte Token auf dem HSM genehmigen.

So genehmigen Sie das signierte Token auf dem HSM
  1. Erstellen Sie eine Token-Genehmigungs-Datei. Weitere Informationen finden Sie im folgenden Beispiel.

  2. Starten Sie das Befehlszeilen-Toolcloudhsm_mgmt_util mit folgendem Befehl.

    $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
  3. 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).

  4. Verwenden Sie den Befehl approveToken zum Genehmigen des signierten Tokens, indem Sie die Token-Genehmigungs-Datei übergeben. Weitere Informationen finden Sie im folgenden Beispiel.

Beispiel – Erstellen einer Token-Genehmigungs-Datei und Genehmigen des signierten Tokens auf dem HSM

Die Token-Genehmigungs-Datei ist eine Textdatei in einem Format, das für das HSM erforderlich ist. Die Datei enthält Informationen über das Token, die Genehmigenden und dessen Signaturen. Im Folgenden wird ein Beispiel einer Token-Genehmigungs-Datei gezeigt.

# For "Multi Token File Path", type the path to the file that contains # the token. You can type the same value for "Token File Path", but # that's not required. The "Token File Path" line is required in any # case, regardless of whether you type a value. Multi Token File Path = officer1.token; Token File Path = ; # Total number of approvals Number of Approvals = 2; # Approver 1 # Type the approver's type, name, and the path to the file that # contains the approver's signature. Approver Type = 2; # 2 for CO, 1 for CU Approver Name = officer1; Approval File = officer1.token.sig1; # Approver 2 # Type the approver's type, name, and the path to the file that # contains the approver's signature. Approver Type = 2; # 2 for CO, 1 for CU Approver Name = officer2; Approval File = officer1.token.sig2;

Nach dem Erstellen der Token-Genehmigungsdatei verwendet der CO das cloudhsm_mgmt_util-Befehlszeilen-Tool für die Anmeldung am HSM. Anschließend genehmigt der CO das Token mit dem Befehl approveToken, wie im folgenden Beispiel gezeigt. Ersetzen Sie approval.txt durch den Namen der Token-Genehmigungs-Datei.

aws-cloudhsm>approveToken approval.txt approveToken success on server 0(10.0.2.14) approveToken success on server 1(10.0.1.4)

Wurde der Befehl erfolgreich ausgeführt, hat das HSM das Quorum-Token genehmigt. Zum Prüfen des Token-Status nutzen Sie den Befehl listTokens, wie im folgenden Beispiel gezeigt. Die Befehlsausgabe zeigt, dass das Token über die erforderliche Anzahl von Genehmigungen verfügt.

Die Token-Gültigkeitsdauer gibt an, wie lange das Token auf dem HSM erhalten bleibt. Sie können das Token auch nach Ablauf der Token-Gültigkeitsdauer (null Sekunden) noch verwenden.

aws-cloudhsm>listTokens ===================== Server 0(10.0.2.14) ===================== -------- Token - 0 ---------- Token: Id:1 Service:3 Node:1 Key Handle:0 User:officer1 Token Validity: 506 sec Required num of approvers : 2 Current num of approvals : 2 Approver-0: officer1 Approver-1: officer2 Num of tokens = 1 ===================== Server 1(10.0.1.4) ===================== -------- Token - 0 ---------- Token: Id:1 Service:3 Node:0 Key Handle:0 User:officer1 Token Validity: 506 sec Required num of approvers : 2 Current num of approvals : 2 Approver-0: officer1 Approver-1: officer2 Num of tokens = 1 listTokens success

Verwenden des Tokens für Benutzermanagement-Vorgänge

Nachdem ein CO über ein Token mit ausreichender Anzahl an Genehmigungen verfügt (wie im vorherigen Abschnitt gezeigt), kann er eine der folgenden HSM-Benutzermanagement-Vorgänge ausführen:

  • Erstellen eines HSM-Benutzers mit dem Befehl createUser

  • Löschen eines HSM-Benutzers mit dem Befehl deleteUser

  • Ändern des Passworts eines anderen HSM-Benutzers mit dem Befehl changePswd

Weitere Informationen zur Verwendung dieser Befehle finden Sie unter Verwalten von HSM-Benutzern.

Der CO kann das Token nur für einen Vorgang nutzen. Wurde dieser erfolgreich ausgeführt, verliert das Token seine Gültigkeit. Um einen weiteren HSM-Benutzermanagement-Vorgang auszuführen, benötigt der CO ein neues Quorum-Token sowie neue Signaturen von den Genehmigenden. Zudem muss er das neue Token auf dem HSM genehmigen.

Anmerkung

Das MofN-Token ist nur gültig, solange Ihre aktuelle Anmeldesitzung geöffnet ist. Wenn Sie sich von cloudhsm_mgmt_util abmelden oder die Netzwerkverbindung unterbrochen wird, ist das Token nicht mehr gültig. Ebenso kann ein autorisiertes Token nur innerhalb von cloudhsm_mgmt_util verwendet werden, es kann nicht zur Authentifizierung in einer anderen Anwendung verwendet werden.

Beim folgenden Beispielbefehl erstellt der CO einen neuen Benutzer auf dem HSM.

aws-cloudhsm>createUser CU user1 password *************************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 Creating User user1(CU) on 2 nodes

Nachdem der vorherige Befehl erfolgreich durchgeführt wurde, zeigt der nachfolgende Befehl listUsers den neuen Benutzer an.

aws-cloudhsm>listUsers Users on server 0(10.0.2.14): Number of users found:8 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO 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 8 CU user1 NO 0 NO Users on server 1(10.0.1.4): Number of users found:8 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO 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 8 CU user1 NO 0 NO

Wenn der CO versucht, einen weiteren HSM-Benutzermanagement-Vorgang durchzuführen, schlägt dieser aufgrund eines Quorum-Authentifizierungsfehlers fehl, wie im folgenden Beispiel gezeigt.

aws-cloudhsm>deleteUser CU user1 Deleting user user1(CU) on 2 nodes deleteUser failed: RET_MXN_AUTH_FAILED deleteUser failed on server 0(10.0.2.14) Retry/rollBack/Ignore?(R/B/I):I deleteUser failed: RET_MXN_AUTH_FAILED deleteUser failed on server 1(10.0.1.4) Retry/rollBack/Ignore?(R/B/I):I

Der Befehl listTokens zeigt an, dass der CO nicht über genehmigte Tokens verfügt, wie im folgenden Beispiel gezeigt. Um einen weiteren HSM-Benutzermanagement-Vorgang auszuführen, benötigt der CO ein neues Quorum-Token sowie neue Signaturen von den Genehmigenden. Zudem muss er das neue Token auf dem HSM genehmigen.

aws-cloudhsm>listTokens ===================== Server 0(10.0.2.14) ===================== Num of tokens = 0 ===================== Server 1(10.0.1.4) ===================== Num of tokens = 0 listTokens success