configuring-hsm-for-key-storage について
セキュリティエンジニア向けに、PKCS#11を使って物理HSMまたはSoftHSM2を構成し、鍵管理や暗号処理を行うスキルガイドです。証明書認証局の操作、アクセス制御、クラウドHSMサービスも扱います。
主な機能
- 01開発用SoftHSM2の構成
- 02HSM内での鍵生成と管理
- 03HSM内の鍵による暗号化と署名
- 04鍵アクセス方針とユーザー認証の設定
- 05HSMを使った証明書認証局の操作
- 06AWS CloudHSMとAzureへの接続
活用シーン
- 01開発環境へのPKCS#11プロバイダー導入
- 02鍵生成と暗号処理のHSM内への移行
- 03鍵アクセス制御と災害復旧の設計
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill configuring-hsm-for-key-storageインストール後、Claude Code で/configuring-hsm-for-key-storageを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py詳細
鍵ストレージ用の HSM の設定
概要
ハードウェアセキュリティモジュール(HSM)は、暗号鍵を保護し、堅牢化された環境で暗号処理を実行する、改ざん耐性を備えた物理デバイスです。HSM に保存された鍵がデバイスの境界外に出ることはなく、最高レベルの鍵保護を実現します。このスキルでは、物理 HSM と開発用の SoftHSM2 の両方を使用した、鍵の生成、署名、暗号化、鍵管理など、PKCS#11 標準インターフェースを使用した HSM の設定について説明します。
使用する場面
- 環境で鍵ストレージ機能用の HSM を導入または設定するとき
- コンプライアンス要件に準拠したセキュリティ制御を確立するとき
- この分野のセキュリティアーキテクチャを構築または改善するとき
- この実装を必要とするセキュリティ評価を実施するとき
前提条件
- 暗号技術の概念とツールに関する知識
- 安全に実行できるテスト環境またはラボ環境へのアクセス
- 必要な依存関係をインストールした Python 3.8 以降
- テスト活動に必要な適切な承認
目標
- 開発用 PKCS#11 プロバイダーとして SoftHSM2 を設定する
- PKCS#11 を介して HSM 内で鍵を生成および管理する
- HSM 内の鍵を使用して暗号処理(署名、検証、暗号化、復号)を実行する
- HSM を利用した認証局の処理を実装する
- 鍵のアクセス ポリシーとユーザー認証を設定する
- クラウド HSM サービス(AWS CloudHSM、Azure)と連携する
主な概念
HSM のコンプライアンスレベル
| FIPS レベル | 保護 | 用途 |
|---|---|---|
| FIPS 140-2 Level 1 | ソフトウェアのみ | 開発 |
| FIPS 140-2 Level 2 | 改ざんの検出、ロールベース認証 | 一般的な本番環境 |
| FIPS 140-2 Level 3 | 改ざん耐性、ID ベース認証 | 金融、政府 |
| FIPS 140-2 Level 4 | 物理的な改ざんへの対応 | 軍事、機密情報 |
PKCS#11 のアーキテクチャ
Application --> PKCS#11 API --> HSM Provider --> Hardware HSM
|
(SoftHSM2 for dev)
PKCS#11 の鍵オブジェクト
| オブジェクトの種類 | 説明 | 操作 |
|---|---|---|
| CKO_SECRET_KEY | 対称鍵(AES) | 暗号化、復号、ラップ |
| CKO_PUBLIC_KEY | 公開鍵(RSA、EC) | 検証、暗号化、ラップ |
| CKO_PRIVATE_KEY | 秘密鍵(RSA、EC) | 署名、復号、アンラップ |
| CKO_CERTIFICATE | X.509 証明書 | 保存、取得 |
セキュリティに関する考慮事項
- HSM から秘密鍵をエクスポートしないでください(CKA_EXTRACTABLE=False を使用してください)
- アプリケーションごとに異なるスロット/パーティションを使用してください
- CA のルート鍵には、複数人での鍵生成手順を実施してください
- すべての HSM 操作について監査ログを有効にしてください
- HSM のバックアップと災害復旧を実装してください
- 強力な PIN を使用し、SO(セキュリティオフィサー)PIN を有効にしてください
検証基準
- SoftHSM2 がトークンとユーザー PIN で初期化される
- AES 鍵が HSM 内で生成される
- RSA 鍵ペアが HSM 内で生成される
- 暗号化/復号で HSM 内の鍵が使用される
- 署名/検証で HSM 内の鍵が使用される
- 鍵をエクスポートできない(抽出不可)
- 鍵の一覧に HSM に保存されたすべてのオブジェクトが表示される
コメント
Markdown 対応