AWS KMS加密和解密

这篇具有很好参考价值的文章主要介绍了AWS KMS加密和解密。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. Key Management Service

1.1 KMS概述

1.2 KMS特点

2. 配置KMS

2.1 创建KMS

2.2 添加KMS权限

3. KMS加密

3.1 KMS cli

3.2 加密测试

4. KMS信封加密

4.1 KMS信封加密的定义及主要优势

4.2 信封加密测试

4.2.1 加密过程

4.2.2 解密过程


1. Key Management Service

1.1 KMS概述

用于创建和管理加密密钥,在 AWS KMS 中创建的客户主密钥均受硬件安全模块 (HSM) 保护。

1.2 KMS特点

1) 完全托管,具有可扩展性、持久性和高可用性;

2) 提供了单一控制点,集中式管理密钥,可以随时创建新密钥,以及对密钥的生命周期和权限进行集中控制;

3) KMS与AWS服务集成,可简化密钥使用以加密AWS工作负载中的数据;

4) 成本低廉,使用KMS服务不需要事先承诺用量,也没有预付费用。

2. 配置KMS

2.1 创建KMS

建议在创建KMS前先创建一个IAM Account,假设有个bas-developer账户。

1) 配置密钥,假设这里命名为cmk-test。

kms加密,AWS,aws,云计算,kms

2) 定义密钥管理员。

kms加密,AWS,aws,云计算,kms

3) 定义密钥使用权限。

kms加密,AWS,aws,云计算,kms

4) 创建密钥。

kms加密,AWS,aws,云计算,kms

值得注意的是,CMK无法从KMS服务中导出,这样是为了确保CMK的安全,也避免了遗失密钥而造成的安全隐患。AWS KMS 服务创建的密钥永远不会在创建密钥的 AWS 区域以外传输,并且只能在创建密钥的区域内使用。

2.2 添加KMS权限

1) 创建好CMK之后,cli输入:

aws kms list-keys --profile developer --region us-west-1

kms加密,AWS,aws,云计算,kms

2) 设置bas_developer账户KMS权限。

kms加密,AWS,aws,云计算,kms

 kms加密,AWS,aws,云计算,kms

3) 添加CMK policy之后。

kms加密,AWS,aws,云计算,kms

3. KMS加密

3.1 KMS cli

1) key-id:后面需要指定我们创建的cmk的密钥ID,使用此CMK进行加密。

2) plaintext:后面指定需要加密的明文内容。

3.2 加密测试

1) 加密文本。

aws kms encrypt --key-id 9b72d5fc-ae5c-408f-8a37-8999616c1491 --plaintext testContent

kms加密,AWS,aws,云计算,kms

2) 加密文本,只输出CiphertextBlob。

aws kms encrypt --key-id 9b72d5fc-ae5c-408f-8a37-8999616c1491 --plaintext testContent --query CiphertextBlob

kms加密,AWS,aws,云计算,kms

3) 加密文本,输出CiphertextBlob结果不包括加密密文两边的引号。

aws kms encrypt --key-id 9b72d5fc-ae5c-408f-8a37-8999616c1491 --plaintext testContent --query CiphertextBlob --output text

kms加密,AWS,aws,云计算,kms

4) 加密文本,输出到文件。

aws kms encrypt --key-id 9b72d5fc-ae5c-408f-8a37-8999616c1491 --plaintext testContent --query CiphertextBlob --output text --query CiphertextBlob > C:\Users\13123\Desktop\testEncryptContent.json

certutil -decode C:\Users\13123\Desktop\testEncryptContent.json C:\Users\13123\Desktop\testEncryptContent

kms加密,AWS,aws,云计算,kms

4. KMS信封加密

将加密数据的数据密钥封入信封中存储、传递、和使用,不再使用主密钥直接加解密数据。也就是说,信封加密使用客户主密钥生成数据密钥,然后用离线的数据密钥在本地加密大量数据,而不再使用主密钥直接加解密数据。

4.1 KMS信封加密的定义及主要优势

  1. AWS KMS支持发送最大4KB的数据进行直接加密,如果需要加密的数据比较大的话就需要信封加密;
  2. 信封加密可提供巨大的性能优势。当使用 AWS KMS 直接加密数据时,整个数据必须通过网络进行传输。信封加密降低了网络负载,因为通过网络发送的只有请求,同时传输的数据密钥也更小;
  3. 将需要加密的数据通过网络传输至KMS,虽然是通过安全信道通信,也有可能会在传输过程中存在诸多风险,如窃听、钓鱼,且一些组织的安全政策也不允许用户将数据传输至AWS进行加密。

4.2 信封加密测试

加密命令执行后,返回明文数据密钥以及密文数据密钥,然后就可以使用明文数据密钥对的服务器上的文件进行加密,加密后将密文数据密钥密文文件一同存储到持久化存储设备或服务中。

解密文件时,使用KMS的decrypt接口,将密文数据密钥解密为明文数据密钥,在使用明文数据密钥为本地文件解密。

4.2.1 加密过程

1) 先使用CMK生成数据密钥,一旦请求KMS生成数据密钥时,用户能够得到一个明文数据密钥和一个密文数据密钥

2) 然后使用明文数据密钥加密您服务器上的文件,生成密文文件。

3) 将密文文件和密文数据密钥一同存储到持久化存储设备或服务中。

4) 完成加密后,就可以将明文文件,以及明文数据密钥删除。只保留密文密钥和密文文件,这样即使密文密钥和密文文件被窃取,也无法解密获得用户的明文文件。

aws kms generate-data-key --key-id 9b72d5fc-ae5c-408f-8a37-8999616c1491 --key-spec AES_256

kms加密,AWS,aws,云计算,kms

4.2.2 解密过程

1) 首先从持久化存储设备或服务中读取密文数据密钥和密文文件。

2) 调用KMS服务的Decrypt接口,解密数据密钥,取得明文数据密钥。

3) 使用明文数据密钥解密文件。

附:

1. AWS KMS cli可以参考:aws kms cli。

2. API开发参考文档:Encrypting and decrypting data keys。文章来源地址https://www.toymoban.com/news/detail-817885.html

到了这里,关于AWS KMS加密和解密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 清除 Windows&Office KMS激活

    首先要卸载掉KMS的程序。 方法是在控制面板,卸载程序,找到相应的KMS激活程序就可以了,比如KMS10,OEM7等等 卸载完成之后,打开管理员命令提示符。 方法一:按键盘上的win+X+A,如果设置了用户控制的选择允许就可以打开了。 方法二:在开始菜单搜索CMD,右键,选择以管

    2024年02月04日
    浏览(47)
  • 使用docker搭建kms服务器

    仅个人工作时对操作步骤进行记录,无任何安全、可行性保证,转载请标注出处! 配置IP地址,使其可正常上网。 2.配置yum源 #安装yum工具 yum -y install yum-utils #下载配置阿里的yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo #下载配置docker的

    2024年02月04日
    浏览(42)
  • 利用 vlmcsd 搭建 KMS 服务器 激活

    利用vlmcsd搭建KMS服务器 5个Windows10关闭自动更新的好方法! Windows使用vlmcsd部署KMS激活服务器 ​ 使用 VBox 运行 vlmcsd 的步骤 资源:利用 vlmcsd 搭建 KMS 服务器,Oracle VM VirtualBox 版本 -------------------------------------------------------------- 5个Windows10关闭自动更新的好方法! https://baijia

    2024年01月24日
    浏览(44)
  • 在winserver上部署kms激活服务器

    二、自建KMS激活服务器的必备条件 在搭建KMS激活服务器之前,需要准备以下几个必备条件: 1、一台Windows服务器操作系统(Windows Server 2012、2016、2019均可),安装好相关的服务; 2、一个或多个有效的批量授权秘钥(VLK); 3、指定一个KMS激活服务器专用的域名(建议内网域

    2024年02月04日
    浏览(48)
  • 为了安全,自己搭建KMS,成功激活Office2010

    在本篇文章中,将全过程描述Office Professional Plus 2010 With SP1 VOL从下载到自建KMS服务器再到激活的过程。本文展示的是64位版本,32位版本的方法类似。 特别注意:KMS激活仅限于VOL 版本,其他的零售版无法激活!!! 本文KMS安装的环境为windows service,其余环境大体相同。 首先

    2024年01月21日
    浏览(48)
  • Centos-搭建KMS(vlmcsd)激活服务器

    附:bat脚本直接运行即可 链接: https://pan.baidu.com/s/19DxzXB373dOJM6FxEyr85Q?pwd=tsgw 提取码:tsgw

    2024年02月15日
    浏览(41)
  • KMS在腾讯云的微服务实践助力其降本50%

    KMS 是一家日本的游戏公司,主要经营游戏业务、数字漫画业务、广告业务、云解决方案业务等,出品了多款在日本畅销的漫画风游戏,同时有网络漫画专业厂牌,以内容创作为目标,拥有原创 IP 创作、游戏开发等多元化发展的业务。 KMS 曾经是微软 Azure 的标杆客户,曾经在

    2024年02月08日
    浏览(39)
  • 部署私有KMS服务器,并设置自动激活Windows和office

    vlmcsd是一个KMS激活服务器的模拟器,可以在Windows Server之外的平台上部署自己的KMS服务器。它是一个开源项目,由Wind4开发,目前在Linux上运行(包括Android、FreeBSD、Solaris、Minix、Mac OS、iOS和Windows等) Docker镜像地址: https://hub.docker.com/r/mogeko/vlmcsd 此程序的单独地址: https://g

    2024年04月11日
    浏览(66)
  • Spring Boot 接入 KMS 托管中间件密码&第三方接口密钥

    Nacos中关于中间件的密码,还有第三方API的密钥等信息,都是明文存储,不符合系统安全要求。现需对这些信息进行加密处理,Nacos只存储密文,并在服务启动时,调用云厂商的KMS接口进行解密,将解密后的明文存储在内存中供服务后续使用。 业界上已有 jasypt 组件可以很好地

    2024年01月22日
    浏览(59)
  • 记录 | KMS工具激活Office报错 Error Code: 0x80080005

    使用学校提供的正版化工具激活Office, 报错 Error Code: 0x80080005 office甚至没有提供0x80080005错误码的含义,最后在Office-Tool的Issues中找到了解决方法: https://github.com/YerongAI/Office-Tool/issues/216#issue-836891168 删除注册表中的 KEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execu

    2024年02月11日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包