AWS KMS服务终于落地中国啦!接下来我们可以……
数据安全/信息安全一直是IT界很重要的一部分,在传统的数据中心是这样,在云上更是如此,很多企业上云所考虑的第一要素便是安全性。在AWS建立之初至今,就用不同的服务、方法让客户去决定到底什么数据可以放到云上,什么数据应该放到云上。
在AWS中国区,我们能使用的数据加密方法很有限,比如针对S3(Simple Storage Service)只有服务器端加密(SSE-S3)或者是客户端加密。现在,我们可以使用KMS(Key Management Service)对密钥进行管理并且创建属于自己的Master Key了。
这个服务在AWS海外区早在2014年底就上线了,目前中国区刚刚才上线!
什么是KMS?
AWS Key Management Service (KMS) 是一项托管服务,可让您轻松创建和管理密钥,并控制在广泛的 AWS 服务中使用的加密功能。KMS 是一项安全而富有弹性的服务,它通过许多合规性方案验证(例如PCI DSS Level 1,FIPS 140-2 Level 2)来保护您的密钥。
AWS KMS 可帮助您集中管理和安全存储密钥。您可以在 AWS KMS 中生成密钥,也可以从自己的密钥管理基础设施中导入密钥。您可以直接将数据提交到 AWS KMS 以加密或解密。其他 AWS 服务可以代表您使用密钥,为用于保护您的数据的数据加密密钥提供保护。
您的密钥永远不会离开 AWS KMS,您始终拥有自己密钥的控制权。您可以设置使用策略,以确定哪些用户可以使用您的密钥以及可以执行的操作。所有使用这些密钥的请求都记录在 AWS CloudTrail 中,以便您跟踪谁在什么时间如何使用了哪个密钥。
您可以在AWS KMS中执行以下密钥管理功能:
- 使用唯一别名和描述创建密钥
- 导入您自己的密钥材料
- 定义哪些IAM用户和角色可以管理密钥
- 定义哪些IAM用户和角色可以使用密钥来加密和解密数据
- 选择让AWS KMS每年自动轮换您的密钥
- 暂时禁用密钥,以便任何人都无法使用它们
- 重新启用已禁用的密钥
- 删除不再使用的键
- 通过检查AWS CloudTrail中的日志来审核密钥的使用
- 创建自定义密钥库*
- 连接和断开自定义密钥库*
- 删除自定义密钥库*
*使用自定义密钥存储区需要在您的帐户中创建CloudHSM资源。
通常,数据在以下三种方案之一中加密:
- 您可以使用KMS API直接使用存储在KMS中的主密钥加密和解密数据
- 您可以选择让AWS服务使用存储在KMS中的主密钥加密您的数据。在这种情况下,数据使用受KMS中主密钥保护的数据密钥进行加密
- 您可以使用与AWS KMS集成的AWS Encryption SDK在您自己的应用程序中执行加密,无论它们是否在AWS中运行
自定义密钥库:
- AWS KMS自定义密钥库功能将AWS CloudHSM提供的控制与AWS KMS的集成和易用性相结合
- 您可以配置自己的CloudHSM群集并授权KMS将其用作密钥的专用密钥存储区,而不是默认的KMS密钥存储区
- 在KMS中创建密钥时,您可以选择在CloudHSM群集中生成密钥材料。在自定义密钥存储区中生成的主密钥永远不会以纯文本形式将HSM保留在CloudHSM群集中,并且所有使用这些密钥的KMS操作都只在HSM中执行
- 在所有其他方面,存储在自定义密钥库中的主密钥与其他KMS CMK一致
密钥删除:
- 您可以安排在AWS KMS中创建的客户主密钥和关联的元数据以进行删除,可配置的等待期为7到30天
- 通过此等待期,您可以验证删除应用程序和依赖它的用户的密钥的影响
- 默认等待期为30天
- 您可以在等待期间取消密钥删除
限制:
- 每个区域每个帐户最多可以创建1000个客户主密钥
- 由于启用和禁用的客户主密钥都计入限制,因此AWS建议删除不再使用的已禁用密钥
- 代表您创建的AWS托管主密钥在受支持的AWS服务中使用不会计入此限制
- 使用主密钥可以派生并在您的应用程序中使用的数据密钥数量没有限制,也可以由AWS服务代表您加密数据
KMS只支持对称加密算法,不支持非对称加密。如果需要非对称加密的支持,请使用AWS CloudHSM。
什么意思呢?非对称加密即我们在创建EC2实例的时候创建的密钥对,是由公钥(Public Key)和私钥(Private Key)两个不同的密钥组成的。公钥负责加密,私钥负责解密;公钥负责签名,私钥负责验证签名;公钥是公开的,私钥是自己保存的。我们平时应用的时候,往往公钥会放在服务器上,私钥自己保存,用来登陆服务器。
那么对称加密顾名思义就是有一个单一的密钥,这个密钥既可以用来加密也可以用来解密。这样处理速度会很快,在对大量数据进行加密的时候用对称密钥效率会比较高。常见的对称加密算法有我们熟知的DES,3DES,AES,Blowfish等。
KMS为什么这么久才来到中国?
KMS在中国之所以这么久才落地是因为加密服务需要满足国家密码管理局(OSCCA)的加密要求(硬件和算法上),比如需要满足国米算法要求(SM1,SM2,SM3,SM4)以及符合国家对加密要求的硬件机器。这些算法和硬件还需要和AWS的软件进行集成,并且需要有别于海外区域做独立的开发之后才能在中国区上线。
这个其实类似于Apple iCloud的操作,之前Apple iCloud加密数据的密钥是存放在美国的,但是因为合规的要求Apple必须和本地的公司合作,将数据以及密钥都存放到中国数据中心……
这个是合规的要求,AWS也付出了很多人力物力来促进这件事情。
KMS落地意味着什么?
很多使用过AWS海外区和中国区的朋友肯定注意到了,中国区提供的AWS服务种类比海外区要少很多,这里面除了一些是需要做中国落地的定制化开发之外,还有一些是依赖于KMS服务的。因此在这之前,KMS没有上线,这些服务也只能推迟上线。
和KMS先关联的服务:
- AWS CloudTrail
- Amazon DynamoDB
- Amazon Elastic Block Store (Amazon EBS)
- Amazon Elastic Transcoder
- Amazon EMR
- Amazon Redshift
- Amazon Relational Database Service (Amazon RDS)
- AWS Secrets Manager
- Amazon Simple Email Service (Amazon SES)
- Amazon Simple Storage Service (Amazon S3)
- AWS Systems Manager Parameter Store
- Amazon WorkMail
- Amazon WorkSpaces
相信未来将有50个左右和KMS相关的服务陆续上线,比如Route53,ACM,GuardDuty等等,到时候中国区的服务数量将会比现在更加多,更加满足不同用户的需求。
中国区的KMS只能在控制台创建和管理key,但不能导入自有的key,这个是有别于AWS海外区的。
1个评论
来了一次又一次,总是情不自已!