问:对于云安全而言,当虚拟机上的密匙在其他人的物理控制下,或者当其他人拥有密匙时,它是否可以保证密匙的安全?
答:即使在最理想的条件下,密匙管理也是一项繁重的任务。虽然通过加密可以对你的数据进行访问控制,但糟糕的密匙管理和存储会导致密匙遭到破坏。如果第三方控制了基础设施的物理和逻辑访问权,这就给你构成了额外的风险,此时保持密匙安全的挑战会变得更加困难。隐藏在背后的主要原因是,目前密匙管理正与密匙存储相结合。它类似于你在银行租用保险箱,并让银行负责保管保险箱的钥匙。拥有访问密匙的权限使得供应商也可以访问你的数据。
供应商采取的糟糕措施,如脆弱的密匙生成、存储和管理方法使得密匙很容易泄漏。最近,粗糙的密码工作就导致了Twitter的安全问题。一个违规的雇员会引入访问机器密钥的后门,或者当机器运行时对其进行访问、或将其转接到一个没有加密的链接。违规的雇员甚至可以暂停机器,并搜索内存中的文件以找到密钥。不管在什么时候,如果你认为密钥已被盗窃,那么你的数据就处于危险中。在这种情况下,我建议取消该密钥,并用新的密钥重新对数据进行加密。
当前密匙管理的另一个问题是备份,因为很难跟踪供应商的归档媒介。对于长期归档存储,我建议将你的数据进行加密,然后发送给一个云数据存储供应商。这样,您就能够保持并控制加密密匙。这种将加密密匙管理从托管数据的云供应商分离的做法还创建了一系列的分离,在遇到规则遵从问题时,这有助于保护云供应商和你。密码粉碎(crypto-shredding)也是减轻云计算风险的有效方法。通过该方法,供应商可以销毁密匙的所有副本,以确保在你物理控制之外的任何数据都无法被访问。如果你管理自己的密匙,密码粉碎也应该作为你安全策略的重要组成部分。
云计算还引入了针对密匙管理的其他一些风险。在所有的虚拟化软件中都发现过漏洞,这些漏洞都可以被利用,从而绕过某些安全限制或者获取访问机器的更高权限。同样,新技术也意味着我们不能再认为现有进程仍然是安全的。最近,安全研究人员Stamos、Becherer和Wilcox提出了一个观点,他们认为虚拟机一直都没有足够的权限去获得所需的随机数字对数据进行适当加密。这是因为一般的机器可以利用鼠标移动和键盘键入创建一个熵池(entropy pool)来生成随机通行密匙,但虚拟机比一般的机器拥有的熵的来源更少,这使得密匙更容易被猜到。虽然它不是一个直接的威胁,但需要强调的是,关于影响云计算和虚拟计算的安全问题,我们仍然有很多东西需要学习。
然而,我们关注的主要问题是供应商的安全政策强度以及实施的情况。他们是否应用了密匙管理生命周期?密匙是如何生成、使用、储存、备份、恢复、循环使用(rotate)和删除的?他们采用哪些数据清理措施来销毁不再需要的密钥?与你的云供应商签署的合同中应包括一个“没有密匙存储”的条款,该条款应指出,“提供使用的任何密匙在不需要时将不会被保留”。这一条款在过去是没有先例的。支付卡行业数据安全标准规定,商家不能保存信用卡的CVS号码,即使商家使用CVS号码来进行身份验证。如果到最后你仍对与云供应商签署的合同或处理流程不满意,那你可以不去使用。
【编辑推荐】