implementing-rsa-key-pair-management について
NIST SP 800-57の指針に沿ったRSA鍵ペアの生成、保存、ローテーション、検証を扱うセキュリティスキルです。保護された鍵のシリアライズやRSA-PSS署名を含む鍵管理の導入に役立ちます。
主な機能
- 012048、3072、4096ビット鍵の生成
- 02PKCS#8で鍵をPEMまたはDERにシリアライズ
- 03パスフレーズによる秘密鍵の保護
- 04バージョン管理を伴う鍵ローテーション
- 05公開鍵要素とフィンガープリントの抽出
- 06強度の検証とRSA-PSSの使用
活用シーン
- 01システムのRSA鍵管理を整備
- 02検証用アクセスを維持した鍵ローテーション
- 03保存中の秘密鍵の保護
- 04RSA-PSSによるデータの署名と検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill implementing-rsa-key-pair-managementインストール後、Claude Code で/implementing-rsa-key-pair-managementを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py詳細
RSA鍵ペア管理の実装
概要
RSA(Rivest-Shamir-Adleman)は、デジタル署名、鍵交換、暗号化に利用される、最も広く展開されている非対称暗号アルゴリズムです。このスキルでは、NIST SP 800-57の鍵管理ガイドラインに従い、鍵のシリアライズ形式(PEM、DER、PKCS#8)、パスフレーズによる保護、鍵強度の検証を含めて、RSA鍵ペアの生成、保存、ローテーション、管理について解説します。
使用するタイミング
- 環境において、RSA鍵ペア管理の機能をデプロイまたは構成するとき
- コンプライアンス要件に沿ったセキュリティ統制を確立するとき
- この領域のセキュリティアーキテクチャを構築または改善するとき
- この実装を必要とするセキュリティ評価を実施するとき
前提条件
- 暗号の概念とツールに関する知識があること
- 安全に実行するためのテスト環境またはラボ環境へのアクセスがあること
- 必要な依存関係がインストールされたPython 3.8以降があること
- テスト活動に対する適切な許可を得ていること
目的
- 適切な鍵長(2048、3072、4096ビット)でRSA鍵ペアを生成する
- PKCS#8を用いて、鍵をPEMおよびDER形式でシリアライズする
- 秘密鍵を強力なパスフレーズ暗号化で保護する
- バージョン管理を伴う鍵ローテーションを実装する
- 公開鍵の構成要素とフィンガープリントを抽出する
- 鍵強度を検証し、弱い鍵を検出する
- RSA-PSSを用いてデータに署名し、検証する
主要な概念
RSA鍵長とセキュリティ強度
| 鍵長(ビット) | セキュリティ強度(ビット) | 推奨期限 |
|---|---|---|
| 2048 | 112 | 2030年 |
| 3072 | 128 | 2030年以降 |
| 4096 | 約140 | 2030年以降 |
RSAパディング方式
| 方式 | 用途 | 標準 |
|---|---|---|
| OAEP | 暗号化 | PKCS#1 v2.2(RFC 8017) |
| PSS | 署名 | PKCS#1 v2.2(RFC 8017) |
| PKCS#1 v1.5 | レガシー用途のみ | 新規システムでは非推奨 |
鍵保存形式
- PEM: ヘッダー付きのBase64エンコードで、人が読める形式
- DER: バイナリのASN.1エンコードで、コンパクト
- PKCS#8: 秘密鍵をカプセル化するための標準
- PKCS#12/PFX: 鍵と証明書をまとめたもので、パスワードで保護される
セキュリティ上の考慮事項
- 新規デプロイでは、最低3072ビットの鍵を使用する(NISTの推奨)
- 秘密鍵は、必ずAES-256-CBCのパスフレーズ暗号化で保護する
- 署名にはRSA-PSSを使用する(PKCS#1 v1.5は使用しない)
- 暗号化にはRSA-OAEPを使用する(PKCS#1 v1.5は使用しない)
- 秘密鍵は、制限的なファイル権限(0600)で保存する
- 鍵のローテーションを少なくとも年1回実施する
検証基準
- 鍵生成により、有効なRSA鍵ペアが生成される
- 秘密鍵から公開鍵を抽出できる
- 秘密鍵がパスフレーズで保護されている
- RSA-PSS署名の検証が成功する
- 改ざんされた署名の検証が失敗する
- 鍵のフィンガープリントが正しく計算される
- 鍵のローテーション後も、検証のために古い鍵にアクセスできる
コメント
Markdown 対応