写点什么

使用 AWS KMS 和 ML-DSA 创建后量子签名指南

作者:qife
  • 2025-07-20
    福建
  • 本文字数:1226 字

    阅读完需:约 4 分钟

使用AWS KMS和ML-DSA创建后量子签名指南

使用 AWS KMS 和 ML-DSA 创建后量子签名

随着量子计算能力的发展,AWS 致力于帮助客户应对公钥密码学面临的新威胁。我们宣布将 FIPS 204 模块化格基数字签名标准(ML-DSA)集成到 AWS 密钥管理服务(KMS)中。客户现在可以通过熟悉的 AWS KMS API(包括 CreateKey、Sign 和 Verify 操作)创建和使用 ML-DSA 密钥。此新功能已正式发布,您可以在以下 AWS 区域使用 ML-DSA:美国西部(北加州)和欧洲(米兰),其他商业区域将在未来几天跟进。

新增功能

AWS KMS 提供三种新的密钥规格:


  • ML_DSA_44:相当于 128 位经典加密安全级别

  • ML_DSA_65:相当于 192 位安全级别

  • ML_DSA_87:相当于 256 位安全级别


这些密钥规格与新的签名算法 ML_DSA_SHAKE_256 配合使用,该算法采用 NIST 标准化的 SHAKE256 哈希函数。


创建 ML-DSA 密钥

使用 AWS CLI 创建非对称 KMS 密钥:


aws kms create-key --key-spec ML_DSA_65 --key-usage SIGN_VERIFY
复制代码

签名操作示例

RAW 签名模式(消息小于 4096 字节)

aws kms sign \    --key-id <your-key-id> \    --message 'eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJNTC1EU0EtNjUifQ...' \    --message-type RAW \    --signing-algorithm ML_DSA_SHAKE_256 \    --output text \    --query Signature | base64 --decode > ExampleSignature.bin
复制代码

EXTERNAL_MU 签名模式(大消息处理)

  1. 获取公钥:


aws kms get-public-key --key-id <your-key-id> --output text --query PublicKey | base64 --decode > public_key.der
复制代码


  1. 生成 mu 摘要:


{    openssl asn1parse -inform DER -in public_key.der -strparse 17 -noout -out - 2>/dev/null |    openssl dgst -provider default -shake256 -xoflen 64 -binary;    printf '\x00\x00';    echo -n "your_message_here"} | openssl dgst -provider default -shake256 -xoflen 64 -binary > mu.bin
复制代码


  1. 使用 KMS 签名:


aws kms sign \    --key-id <your-key-id> \    --message fileb://mu.bin \    --message-type EXTERNAL_MU \    --signing-algorithm ML_DSA_SHAKE_256 \    --output text \    --query Signature | base64 --decode > ExampleSignature.bin
复制代码

签名验证

使用 AWS KMS 验证

aws kms verify \    --key-id <your-key-id> \    --message "your_message_here" \    --message-type RAW \    --signing-algorithm ML_DSA_SHAKE_256 \    --signature fileb://ExampleSignature.bin
复制代码

本地使用 OpenSSL 验证

echo -n "your_message_here" | \    openssl dgst -verify public_key.der -signature ExampleSignature.bin
复制代码

结论

AWS KMS 对 ML-DSA 的支持标志着我们在后量子密码学承诺中的重要里程碑。通过三种安全级别的 ML-DSA 和两种签名模式,您可以根据安全需求灵活选择,为量子计算时代做好准备。此功能特别适合需要:


  • 满足使用后量子密码学时的 FIPS 140-3 合规要求

  • 对需要长期保持可信验证的代码、文档等数据进行签名

  • 开始将后量子密码学测试纳入应用开发流程更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码

  • 办公AI智能小助手
用户头像

qife

关注

还未添加个人签名 2021-05-19 加入

还未添加个人简介

评论

发布
暂无评论
使用AWS KMS和ML-DSA创建后量子签名指南_AWS KMS_qife_InfoQ写作社区