亚马逊AWS的云密钥管理分析
2016-02-05王运兵李林啸
◆雷 波 王运兵 李林啸 周 艳
(中国电子科技集团公司第三十研究所 四川 610041)
亚马逊AWS的云密钥管理分析
◆雷 波 王运兵 李林啸 周 艳
(中国电子科技集团公司第三十研究所 四川 610041)
本文介绍了国外云计算及密码应用现状,对亚马逊AWS中的四种密钥管理方式进行介绍,这四种密钥管理方式分别是:(1)用户自己开发密钥管理系统,(2)用户使用AWS第三方合作伙伴提供的密钥管理解决方案,(3)用户使用AWS提供的密钥管理服务,(4)由CloudHSM控制密钥并提供加密方法
AWS;云密钥管理;亚马逊
0 引言
亚马逊(Amazon)于2006年3月推出弹性计算云(Elastic Compute Cloud,EC2)服务以来,云计算技术得到了飞速的发展和应用。“云计算”、“云安全”迅速成为IT界最热门的话题,国内外各大研究机构和厂商相继发布了云计划和相关的安全产品,密码作为提供云计算中数据机密性保障的重要手段,也得到了飞速的发展和广泛的应用。
1 关于云计算
对云计算的定义有多种说法,现阶段广为接受的是美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
云计算是一个新兴的商业计算模型,它把计算作为一种服务,利用高速互联网的传输能力,将数据的处理过程从单个终端移到网络上的计算机集群中。集群中的计算机都是很普通的工业标准服务器,他们由一个大型的数据处理中心统一管理,数据中心按客户的需求分配计算资源,达到与超级计算机同样的效果。
云计算具有超大规模、虚拟化、高可靠性、通用性、高扩展性、按需服务、极其廉价的特性,使得云计算得到了飞速的发展和广泛的应用。云让用户在快速推出新服务和扩展IT基础设施时具有更好的灵活性和更高的效率,但由于云计算的特性,使得用户缺乏对IT基础设施的物理控制,缺少明确定义的入口和出口点,给信息安全保密带来了性的挑战:混合存储在数据中心的多租户数据如何隔离、如何对多租户进行授权、快照和备份如何管理、如何防止数据泄露等。尽管解决这些问题有多种方式,但专家们一致认为仍然是云计算中为数据提供机密性、完整性保护的有效手段,密钥的安全是云计算中的数据加密安全的核心。
2 国外云计算及密码应用现状
美国将云计算技术产业定位为维持国家核心竞争力的重要手段之一,在制定的一系列云计算政策中,明确指出加大政府采购,积极培育市场。通过强制政府采购和制定技术架构来推进云计算技术进步和产业落地发展。美国军队、国防部、农业部、教育部等部门都已经应用了云计算服务。美国在2011年出台的《联邦云计算战略》中明确提出鼓励创新,积极培育市场,构建云计算生态系统,推动产业链协调发展。
欧盟委员会在2012年9月启动“释放欧洲云计算潜力”的战略计划,包括筛选和精简众多技术标准、为云计算服务制定安全和公平的标准规范等,同时明确市场政策,确立欧洲云计算市场,促使欧洲云服务提供商扩大业务范围并提供性价比高的在线管理服务。
在云计算技术快速发展和应用的同时,密码在云计算中的应用也得到了飞速的发展,除了传统的安全厂商推出云计算环境下的密码产品,也涌现众多专门为云计算提供密码产品的安全厂商,为云计算中的数据安全提供了基于密码的技术支撑。如Safenet、Cipher Cloud、Afore、Bloom Base等公司。
3 AWS的云密钥管理
亚马逊AWS作为具有代表性的公有云服务,为云计算的各个层次提供了多种数据加密方法,形成完整的云计算密码产品体系,其云密码服务覆盖IaaS、PaaS、SaaS。
亚马逊AWS根据谁管理密钥、谁提供加密方法,将云计算环境中的密码应用分为四种场景。
3.1 用户自己开发密钥管理系统
这种场景用户自己开发密钥管理系统,并将密钥管理系统部署在用户的本地网络或AWS云环境中,细分为三种模式:
(1)用户使用自己的密钥管理系统,并且使用自己的加密设备或加密应用对数据加密后存储在云环境中。
图1 使用自己的密钥管理系统和加密应用
(2)用户使用自己的密钥管理系统管理密钥,采用AWS提供的S3(Simple Storage System)客户端加密程序和用户提供的密钥对数据进行加密。
图2 使用自己的密钥管理系统和S3客户端加密
(3)用户使用自己的密钥管理系统管理密钥,采用AWS提供的S3(Simple Storage System)服务端加密程序和用户提供的密钥对数据进行加密。用户提供的密钥在S3 WEB Server上使用后就立即删除,用户下载数据时同样需要提供密钥给S3 WEB Server解密数据。
图3 使用自己的密钥管理系统和S3服务端加密
这种场景下用户适合具有较强开发能力的机构或企业,通常是已经部署有自己的密钥管理设备,并且有自己的加密应用,使用自己的密钥管理系统有利于保护现有的投资;用户可以对密钥存储和密钥的使用有更强的管理控制。这种用户管理密钥的缺点在于:不同地点复制的多份数据将导致潜在的费用;培养新的开发人员来使用这些密钥管理系统时需要较大的投入;对密钥的管理和访问审计比较困难。
3.2 用户使用AWS第三方合作伙伴提供的密钥管理解决方案
AWS第三方合作伙伴提供的密钥管理解决方案相关产品可以从AWS Marketplace购买下载,可按照小时、月或年收费,费用将自动计入AWS账单。具有代表性的AWS第三方合作供应商有Safenet、趋势科技、Vormetric等。
第三方合作伙伴的密钥管理产品可部署在用户本地网络,也可以部署在AWS云环境中,使用用户自己开发的加密应用系统或密码设备实现对数据在云上的加密存储。
图4 使用第三方合作伙伴解决方案
3.3 用户使用AWS提供的密钥管理服务
AWS密钥管理服务使得用户可以方便的创建、控制、更换和使用用户的加密密钥。AWS密钥管理服务已经集成在AWS SDK和Amazon EBS、Amazon S3和Amazon Redshift等AWS服务中,使得用户可以方便的创建、控制、更换和使用用户的加密密钥;同时为了帮助用户规范的使用密钥管理服务,AWS密钥管理服务也集成在AWS CloudTrail中为用户提供可审计的日志。
AWS密钥管理服务采用两层信封加密方式,采用全局唯一的数据加密密钥保护用户数据,采用AWS KMS用户主密钥(Customer Master Key(s))保护用户的数据加密密钥。采用信封式加密具有如下优点:
(1)可以有效降低泄露数据加密密钥的风险。
(2)在加密大数据时具有良好的性能优势。
(3)相对于上百万的数据加密密钥,只需要管理少量的用户的主密钥。
AWS密钥管理服务参考架构如图5所示。
图5 AWS密钥管理服务参考架构
AWS KMS为用户密钥提供如下的安全保证:
(1)密钥明文不会长久存储在运行系统的内存中。
(2)自动为用户更换密钥。
(3)区分主密钥、数据加密密钥在不同系统之间的作用。
(4)系统维护时采用多方管控来保证用户主密钥的安全。
3.4 由CloudHSM控制密钥并提供加密方法
CloudHSM(Cloud Hardware Security Module)是一种通过第三方认证的用于密钥存储和密码运算的硬件设备,为私有密钥提供强保护:不能通过控制物理设备获取用户密钥;应用管理员也不能访问密钥。
CloudHSM采用Safenet公司的Luna SA,部署在AWS的数据中心,由AWS管理。使用CloudHSM管理密钥,可确保只有用户自己才能访问和管理用户的密钥;CloudHSM部署在用户的亚马逊VPC内,与其他网络隔离。
图6 由CloudHSM管理密钥
CloudHSM目前仅在全球的七个亚马逊数据中心部署(美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、AWS GovCloud(美国)、欧洲(爱尔兰)、欧洲(法兰克福)、亚太区域(悉尼)、亚太区域(新加坡)和亚太区域(东京))。CloudHSM的典型应用方式有AmaZon Redshift、与第三方软件集成以及用户自主开发的应用。
4 结语
目前云计算在国内正处于蓬勃发展阶段,但云密码的发展和应用则落后于云计算的应用。云计算领域急需云密码相关应用和云密钥管理相关产品以填补市场空白,支撑云计算中加密应用的发展,为我国云计算的信息安全提供技术支撑。
[1]Ken Beer.SEC301:Encryption and Key Management in AWS.Amazon,2014.
[2]Ken Beer.SEC304:Encryption and Key Management in AWS.Amazon,2013.
[3]Ken Beer and Ryan Holland.Securing Data at Rest with Encryption.