在所有云计算服务的选项中,软件即服务(SaaS)提供了最低程度的信息洞察和控制权限。
对于SaaS来说,企业正在使用一个软件应用程序并不得不依赖之,在大多数情况下,几乎是完全信赖供应商的安全控制和承诺。
所有我们企业用户所知的就是他们所归档的信息、他们让我们知道的信息以及他们在他们的合同中所承诺的信息。
SaaS是一个与其他人共享的软件应用程序,即使是最著名的安全供应商通常也需要访问我们在某些地点的数据。他们可能永远不会偷看,可能有一大堆针对访问的安全与审计控制,但是最终我们的数据在数据库中的某处,而在该相同位置也有其他人会进行管理操作和保持运行。
我不是说,这会产生一堆FUD.我向我过去维护我们业务的不同SaaS供应商们提供了大量的私有数据,但是那并不是说其中没有涉及风险。
在我们的例子中,这有时就是意味着保存某些内部数据。对于你们中的一些人来说,这将意味着使用SaaS,但是在他们的环境中保护你的数据。
SaaS安全设计众多不同的控制机制,其中包括身份管理、内部安全设置和角色管理、事件响应和服务停用规划,以及审计。在本文中,我们将重点关注于保护存储在SaaS应用程序中敏感数据的技术,其中包括SaaS加密技术。
有四个主要选项,但除非你使用以文件为导向的服务否则只有其中两个选项对你是具有实际意义的:
1. 信任供应商,依赖于他们的内部控制(其中可能包括加密、数据分散性以及其他选项)。
2. 在发送客户应用程序中的加密数据至供应商前,如果服务提供一个具有该功能的客户端应用程序,则通常只有一个选择。
3. 在发送至服务前,在本地加密数据。
4. 使用一个本地或远程加密代理,加密和解密将提供给供应商的数据。
相信供应商并不总是坏事;很多供应商所采用较为先进的安全控制远比你在内部应用程序中所进行的安全控制要完善得多。我们仍然参考某些用例,如你可能需要保护某些你所拥有的一些信息,而这就是其他选项发挥作用之处。
SaaS加密选项
某些服务提供一个客户端应用程序,不一定需要通过网络浏览器运行任何东西。这在综合SaaS和PaaS功能的文件存储和备份应用程序中很常见。这些服务中的一些允许你在发送数据至他们服务器之前在客户端应用程序加密你的数据,而安全服务甚至允许你管理你自己的密钥。
此举使他们对你的数据完全见而不识,尽管他们通常可以看到元数据。随着时间的推移,我希望看到一些在网络浏览器内扩展加密数据的功能,但是目前我还没有看到任何实施应用。
客户端加密是伟大的,但并不总是一个选项(特别是对非文件导向的服务)。另一个选项是使用你自己的软件在发送至互联网之前进行本地加密。这可能是难以管理的,我几乎只看到该选项应用于基于文件的数据。
也有一些瞄准掩码的解决方案,即本地拦截网络表单的加密数据块,但是该选项并未常用,未为一项市场前途未明的前卫技术。
最后一个选项是使用某种基于网络的加密代理,这就是当大多数企业不完全信任他们供应商时所转而寻求的解决方案。
该代理被置于网络上,并如同一个网络网关一样运行。当用户访问SaaS网站时,他们通过代理重定向。该代理依赖于SaaS应用程序和拦截网页关键组成域的深厚知识。在发送至供应商之前,加密位于这些域的敏感数据,而在发送回用户前,解密之。
对于用户来说,看上去就如同访问服务,只要他们在网络上使用代理。但是,如果他们试图通过直接连接至SaaS应用程序访问客户账户号码,他们所看到的一切将是加密数据。
对于不提供如你所需细粒度的访问控制服务,你可以对用户屏蔽数据并获得超过应用程序内部控制的安全性。此外,你可以在云计算中技术上托管代理本身以支持远程访问。
这应该是有目共睹的,该选项不适用于除主要云计算服务以外的任何应用,通过努力它可以构建拦截功能并无缝集成目标服务。此外,一个SaaS应用程序用户界面的变化可以破坏功能直至代理供应商可完成更新。
SaaS安全建议
鉴于这些SaaS加密挑战,我更倾向于提出如下建议:
1. 你最好的办法是与你所信任的SaaS供应商合作,并通过良好的合同以及审计保护好你自己。
2. 如果你关注于基于文件的数据,有大量有效的加密选项;大多数基于文件的企业加密工具都是运行良好。
3. 如果你完全不信任你的供应商,寻找一个代理加密解决方案。加密尽可能少,以减少文件破损的风险。理解到,除非你将代理本身置于云计算中,你可能会丢失某些流动性。
SaaS加密数据并不是不可能的,但是你的第一个尝试应该永远是一个你所信任的供应商。如果你需要有所突破,这些选项应已符合你的所有需求了。