■ 浙江 王勇
编者按:如今越来越多的企业用户选择多云环境,而在管理云上数据安全时陷入困境,在加密云上数据后,又该如何安全的管理加密密钥呢?
随着云计算技术的发展,云服务提供商为用户提供的云服务也更加成熟。像AWS、Azure以及国内的阿里云等云服务商依靠自身优势,为用户打造不同功能、各有特色的云平台解决方案。这些功能通常可以为某些行业和应用赋予实际的价值,并且有助于使各自的平台更加具有竞争优势。
同时,在不同云平台的使用上,对于跨不同公有云服务也给企业用户造成了一个障碍,使用户无法轻松地从一个云服务商转移到另一云服务商,或在多云环境中有效地管理应用。
此外,公有云服务提供商都有自己完善的加密密钥管理解决方案,可以将其扩展到特定应用以增强对用户的数据保护能力。虽然这种模式给用户提供了高度的安全性,但另一方面也使企业用户失去了对密钥的控制,同时也失去了能够轻松迁移到不同云平台的能力。
许多组织在一开始都倾向于使用单一的云服务商。但是随着时间的流逝与业务的发展,他们可能需要托管某些应用或访问仅在某些云上可用的某些服务。出现这种情况时,往往会选择迁移到多云环境,尤其对于业务快速拓展的中小企业而言更是如此。而且从冗余的角度来看,如果在发生某些突发状况时能够将业务从一个云迁移到另一个云,无疑对企业业务损失具有较小影响,因此,多云对于大型企业非常有吸引力。另外,企业如果有涉及备份或冗余功能的审核要求的话,也是不能仅考虑由一家供应商提供服务。
此外,如果是云服务商直接管理用户的加密密钥,那么如果没有适当的监督和控制的话,无疑对用户的敏感数据造成极大安全隐患。而且云服务商提供的密钥管理方案是否符合相关标准规范,也是用户需要考虑的重要因素。
为了应对这些安全挑战,云服务商已经引入了对“BYOK”(自带密钥)的支持,该功能使企业用户可以使用自己的密钥对云服务中的数据进行加密,同时仍可继续利用云服务商提供的加密服务来保护其数据。
即使使用BYOK,密钥仍然会存在于云服务商的密钥管理服务中。但由于密钥现在是在用户本地硬件安全模块(HSM)中生成、托管、转换和失效的,因此BYOK可以帮助企业更充分地满足合规性要求。而BYOK的另一个好处是,企业可以使用足够的熵源随机数生成加密密钥,因此可以确保密钥不被泄露。
尽管BYOK增强了用户对密钥的管控能力,但在多云环境中它也带来了其他密钥管理责任。每个云服务商都提供自己的API集和用于传输密钥的加密方法。例如AWS是通过AWS管理控制台(命令行界面)导入密钥,并通过TLS协议使用API导入密钥。Microsoft具有用于存储静态数据的Azure存储服务加密,以及Azure存储客户端库,并且规定密钥必须存储在Azure密钥保管库中。
从根本上说,跨云管理密钥的过程和方法是完全不同的,不仅是从API的角度来看,而且从体系结构和过程的角度来看,每种方法都需要不同的密钥管理技术。而所有这些复杂性和可变性随时都会带来新的风险,任何失误都可能使用户关键数据被破坏。
挺讽刺的是,我们一开始为数据的安全加密问题头疼,因此采用了密钥对云中的应用数据进行加密,到头来却又要为密钥的安全问题而头疼。不过这也有好处,毕竟我们在对庞大的数据进行安全加密后,不再需要担心这些数据本身的安全,只需要考虑密钥管理这一个目标而努力,管理成本相对降低了,管理效率得到了提高,所以许多企业都转向集中式密钥管理来管理云密钥的整个生命周期。
在BYOK方案中,集中式密钥管理通过用户管控密钥,减少了密钥被暴露的风险,在密钥管理中具有显著的优势。
如上所述,即使使用BYOK,企业仍会将加密密钥的副本存储在云服务商。为了解决这个问题,云服务商采用开发特定接口的方式,以允许用户充分利用外部密钥管理系统。这不仅使企业能够完全管控其密钥,而且还表明了集中化是在多云环境中管理加密密钥的最佳实践。
随着用户对多云需求的增加,以及在多云环境中密钥管理的挑战,云服务商也在增强对外部密钥管理的支持。这些趋势将允许用户保留对数据和加密密钥的管控,使跨多云的密钥管理变得越来越容易。