現在、opensslを使用して、オープンソースパッケージのコード署名を生成しています。
私のやり方は:
RSA秘密鍵と公開鍵のペアを生成します(openssl genrsaなど)。
パッケージング中に、パッケージのsha-512ダイジェストを生成し、秘密鍵を使用してダイジェストを暗号化することで署名を作成します(例:openssl dgst -sign)
パッケージをダウンロードする人に公開鍵を渡し、彼らは私の公開鍵と署名を使用してパッケージを検証します(例:openssl dgst -verify)
セキュリティを高めるために秘密鍵を保存するためにHSMサーバーを使用することを検討していますが、ユーザーの検証ワークフローを同じにしたいと考えています。
たとえば、HSMデバイスにアクセスしなくても、opensslを使用してユーザーが署名を確認できるようにしたいとします。
このワークフローはHSMタイプのデバイス(AWSのCloudHSMなど)で可能ですか?
ご協力いただきありがとうございます。
はい。もちろん、ユーザーはHSMにアクセスする必要はまったくありません。必要なのは公開鍵だけです。
これは、スマートカードとx.509証明書で行われるものです。証明書は他のユーザーに渡されます。証明書はfileとして取得されます。公開鍵が含まれています。通常、彼らは秘密鍵について何も知りません。
秘密鍵は、スマートカードまたはHSMで生成できます。