Implementing Rsa Key Pair Management

RSA(Rivest-Shamir-Adleman)是应用最广泛的非对称密码算法,用于数字签名、密钥交换和加密。本技能涵盖遵循 NIST SP 800-57 密钥管理指南生成、存储、轮换和管理 RSA 密钥对,包括密钥序列化格式(PEM、DER、PKCS#8)、密码保护和密钥强度验证。

killvxk 9b694c9 8 files · 32.6 KB Updated

File contents

实现 RSA 密钥对管理

概述

RSA(Rivest-Shamir-Adleman)是应用最广泛的非对称(asymmetric)密码算法,用于数字签名、密钥交换和加密。本技能涵盖遵循 NIST SP 800-57 密钥管理指南生成、存储、轮换和管理 RSA 密钥对,包括密钥序列化格式(PEM、DER、PKCS#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)存储私钥
  • 至少每年实施一次密钥轮换

验证标准

  • 密钥生成产生有效的 RSA 密钥对
  • 可以从私钥中提取公钥
  • 私钥受密码保护
  • RSA-PSS 签名验证成功
  • 篡改后的签名验证失败
  • 密钥指纹计算正确
  • 密钥轮换保留对旧密钥的访问以供验证

killvxk/cybersecurity-skills-zh/tree/main/skills/implementing-rsa-key-pair-management commit 9b694c9c5a

Frequently asked questions

npx skillmds@latest add killvxk/implementing-rsa-key-pair-management