根德薩 KeyPair - AWS CloudHSM

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

根德薩 KeyPair

key_mgmt_util 工具中的 genDSAKeyPair 命令可在 HSM 中產生數位簽章演算法 (DSA) 金鑰對。您必須指定模數長度;命令會產生模數值。您還可以指派 ID、將金鑰與其他 HSM 使用者共用、建立不可擷取的金鑰,以及建立當工作階段結束時就過期的金鑰。命令成功時會傳回 HSM 指派給公有和私有金鑰的金鑰控制代碼。您可以使用金鑰控制代碼來向其他命令識別金鑰。

執行任何 key_mgmt_util 命令之前,您必須先啟動 key_mgmt_util 並以加密使用者 (CU) 的身分登入 HSM。

提示

如要尋找您已建立之金鑰的屬性,例如類型、長度、標籤和 ID,請使用 getAttribute。若要尋找特定使用者的金鑰,請使用getKeyInfo。如要根據金鑰屬性值來尋找金鑰,請使用 findKey

語法

genDSAKeyPair -h genDSAKeyPair -m <modulus length> -l <label> [-id <key ID>] [-min_srv <minimum number of servers>] [-m_value <0..8>] [-nex] [-sess] [-timeout <number of seconds> ] [-u <user-ids>] [-attest]

範例

下列範例示範如何使用 genDSAKeyPair 來建立 DSA 金鑰對。

範例 :建立 DSA 金鑰對

此命令建立標籤為 DSA 的 DSA 金鑰對。輸出顯示公有金鑰的金鑰控制代碼是 19,而私有金鑰的控制代碼是 21

Command: genDSAKeyPair -m 2048 -l DSA Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 19 private key handle: 21 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
範例 :建立僅限工作階段的 DSA 金鑰對

此命令會建立只在目前工作階段中有效的 DSA 金鑰對。除了必要的 (非唯一) 標籤,此命令還會指派 DSA_temp_pair 的唯一 ID。您可以建立像這樣的金鑰對,以簽署和驗證僅限工作階段的字符。輸出顯示公有金鑰的金鑰控制代碼是 12,而私有金鑰的控制代碼是 14

Command: genDSAKeyPair -m 2048 -l DSA-temp -id DSA_temp_pair -sess Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 12 private key handle: 14 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

若要確認金鑰對只存在於工作階段中,請使用 -sessfindKey 參數,且值為 1 (true)。

Command: findKey -sess 1 Total number of keys present 2 number of keys matched from start index 0::1 12, 14 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
範例 :建立共用、不可擷取的 DSA 金鑰對

此命令建立 DSA 金鑰對。私有金鑰共用給其他三個使用者,且無法從 HSM 匯出。公有金鑰可供任何使用者使用,且一律可擷取。

Command: genDSAKeyPair -m 2048 -l DSA -id DSA_shared_pair -nex -u 3,5,6 Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 11 private key handle: 19 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
範例 :建立規定人數控制的金鑰對

此命令建立標籤為 DSA-mV2 的 DSA 金鑰對。此命令使用 -u 參數,將私有金鑰共用給使用者 4 和 6。此命令使用 -m_value 參數,針對任何使用私有金鑰的加密操作,要求至少兩次核准的仲裁。此命令還使用 -attest 參數,以驗證用來產生金鑰對的韌體完整性。

輸出顯示命令已產生金鑰控制代碼為 12 的公用金鑰,以及金鑰控制代碼 17 的私有金鑰,且已通過對叢集韌體的證實檢查。

Command: genDSAKeyPair -m 2048 -l DSA-mV2 -m_value 2 -u 4,6 -attest Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS Cfm3GenerateKeyPair: public key handle: 12 private key handle: 17 Attestation Check : [PASS] Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

此命令getKeyInfo在私鑰(密鑰句柄17)上使用。輸出確認金鑰由目前的使用者 (使用者 3) 擁有,且共用給使用者 4 和 6 (沒有其他任何人)。輸出也顯示規定人數身分驗證已啟用,且規定人數為 2。

Command: getKeyInfo -k 17 Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS Owned by user 3 also, shared to following 2 user(s): 4 6 2 Users need to approve to use/manage this key

參數

-h

顯示命令的說明。

必要:是

-m

指定模數的長度 (以位元為單位)。唯一有效的值為 2048

必要:是

-l

指使用者定義的金錀對標籤。輸入一個字串。相同標籤套用至金錀對中的兩個金鑰。label 的大小上限為 127 個字元。

您可以使用任何可以幫助您識別金錀的片語。標籤不具唯一性,因此您可使用標籤將金錀進行分組和分類。

必要:是

-id

指使用者定義的金錀對識別符。輸入叢集中唯一的字串。預設為空字串。您指定的 ID 會套用至金錀對中的兩個金鑰。

預設:無 ID 值。

必要:否

-min_srv

指在 -timeout 參數值過期之前同步金鑰所需的 HSM 數量下限。如果未在規定時間內同步至指定數量的伺服器,金鑰就不會建立。

AWS CloudHSM 自動將每個金鑰同步到叢集中的每個 HSM。要加速流程,請將 min_srv 值設定為少於叢集中之 HSM 的數量,並設定低逾時值。然而,請注意有些請求可能不會產生金鑰。

預設:1

必要:否

-m_value

指須核准使用金錀對中私有金鑰之密碼編譯操作的使用者數量。輸入 08 之間的值。

此參數會建立私有金鑰的規定人數驗證要求。預設值 0 會停用金鑰的規定人數驗證功能。啟用規定人數驗證時,指定數目的使用者必須簽署權杖,才能核准使用私用金鑰的密碼編譯操作,以及核准共用或取消共用私有金鑰的操作。

若要尋找金鑰m_value的,請使用getKeyInfo

只有當命令中的 -u 參數與一定數量的使用者共用金鑰對以符合 m_value 要求時,此參數才有效。

預設:0

必要:否

-nex

使私有金鑰無法擷取。產生的私有金鑰無法從 HSM 匯出。公有金錀始終可擷取。

預設:金鑰對中的公有金鑰和私有金鑰均可擷取。

必要:否

-sess

建立只在目前工作階段中存在的金鑰。工作階段結束後,金鑰無法復原。

當您僅短暫需要金鑰 (例如,加密後快速解密另一個金鑰的包裝金鑰) 時,請使用此參數。請勿使用工作階段金鑰來加密工作階段結束後可能需要解密的資料。

若要將工作階段金鑰更改為持久性 (權杖) 金鑰,請使用 setAttribute

預設:此金鑰是持久性金鑰。

必要:否

-timeout

指命令等待金鑰同步到 min_srv 參數指定數目的 HSM 的時長 (以秒為單位)。

此參數只有在命令中同時使用 min_srv 參數時才有效。

預設:無逾時。該命令會無限期等待,並且僅在將金錀同步到最小數目的伺服器時才返回。

必要:否

-u

與指定使用者共用金錀對中的私有金鑰。此參數允許其他 HSM 加密使用者 (CU) 在密碼編譯操作中使用此金鑰。任何使用者均可在無需共用的情況下使用公有金錀。

輸入以逗號分隔的 HSM 使用者 ID 清單,例如 -u 5,6。請勿包含現行使用者的 HSM 使用者 ID。若要尋找 HSM 上 CU 的 HSM 使用者 ID,請使用 listUsers。之後,如要共用或取消共用現有金鑰,請使用 cloudhsm_mgmt_util 中的 shareKey

預設:只有目前使用者能使用匯入的私有金鑰。

必要:否

-attest

執行完整性檢查,以驗證執行叢集的韌體未被篡改。

預設:無認證檢查。

必要:否

相關主題