Azure Dedicated HSM
このチュートリアルでは、Azure Dedicated HSM ↗を使用します。これは、Gemalto SafeNet Luna a790に基づいたFIPS 140-2レベル3認証の実装です。
以下のことを確認してください:
- Microsoftのチュートリアル ↗に従って、PowerShellを使用して既存の仮想ネットワークにHSMをデプロイした
- SafeNetクライアントソフトウェア ↗をインストールした
最初のステップは、HSMパーティションを作成することです。これは、Azure Dedicated HSMデバイス内の独立した論理HSMと考えることができます。
vm$ ssh tenantadmin@hsm
[local_host] lunash:>hsm login HSM管理者のパスワードを入力してください: > ********
'hsm login' 成功しました。
コマンド結果 : 0 (成功)
[local_host] lunash:>partition create -partition KeylessSSL
パーティションを作成するには 'proceed' と入力してください、または 今すぐ終了するには 'quit' と入力してください。 > proceed'partition create' 成功しました。
コマンド結果 : 0 (成功)次に、パーティションをクライアント、つまりあなたのキーサーバーに割り当てる必要があります。
[local_host] lunash:>client assignpartition -client azure-keyless -partition KeylessSSL
'client assignPartition' 成功しました。
コマンド結果 : 0 (成功)パーティションが割り当てられた後、仮想サーバーから lunacm を実行してパーティションを初期化します。
vm$ lunacmlunacm (64-bit) v7.2.0-220. Copyright (c) 2018 SafeNet. All rights reserved.
利用可能なHSM:
スロットID -> 0 ラベル -> シリアル番号 -> XXXXXXXXXXXXX モデル -> LunaSA 7.2.0 ファームウェアバージョン -> 7.0.3 構成 -> Lunaユーザーパーティション(SO(PW)署名付き)クローンモード スロットの説明 -> ネットトークンスロット
現在のスロットID: 0
lunacm:>partition init -label KeylessSSL -domain cloudflare
パーティションSOのパスワードを入力してください: ********
パーティションSOのパスワードを再入力してください: ********
パーティションを初期化しようとしています。 パーティションのすべての内容が破壊されます。
続行してもよろしいですか?
続行するには 'proceed' と入力してください、または今すぐ終了するには 'quit' と入力してください ->proceed
コマンド結果 : エラーなし以下のコマンドを実行する前に、情報セキュリティおよび/または暗号化チームに確認して、組織の承認されたキー作成手順を確認してください。
# cmu generatekeypair -keyType=RSA -modulusBits=2048 -publicExponent=65537 -sign=1 -verify=1 -labelpublic=myrsakey -labelprivate=myrsakey -keygenmech=1
スロット0のトークンのパスワードを入力してください : ********
# cmu list
スロット0のトークンのパスワードを入力してください : ********handle=51 label=myrsakeyhandle=48 label=myrsakey前のステップで作成したキーを使用して、公開信頼の証明書機関(CA)に送信できるCSRを生成します。
# cmu requestCertificate -c="US" -o="Example, Inc." -cn="azure-dedicatedhsm.example.com" -s="California" -l="San Francisco" -publichandle=48 -privatehandle=51 -outputfile="rsa.csr" -sha256withrsa
スロット0のトークンのパスワードを入力してください : ********"CKM_SHA256_RSA_PKCS"メカニズムを使用しています前のステップで作成したCSRを、組織の選択したCAに提供し、要求された通りにドメインの管理を示し、署名されたSSL証明書をダウンロードします。「Keyless」SSL証明書のアップロードに記載された手順に従ってください。
最後に、キーサーバーが起動時に読み込む設定ファイルを修正する必要があります。object=mykey と pin-value=username:password の値を、提供したキーラベルと作成したCUユーザーに一致するように変更してください。
/etc/keyless/gokeyless.yamlを開き、すぐ後に次の内容を追加します:
private_key_stores: - dir: /etc/keyless/keys次に、以下を追加します:
- uri: pkcs11:token=KeylessSSL;object=myrsakey?module-path=/usr/safenet/lunaclient/lib/libCryptoki2_64.so&pin-value=password&max-sessions=1設定ファイルを保存したら、gokeylessを再起動し、正常に起動したことを確認します。
sudo systemctl restart gokeyless.servicesudo systemctl status gokeyless.service -l