在苹果公司全球开发者大会WWDC 2011上,苹果公司CEO乔布斯揭开了苹果云服务iCloud的神秘面纱,标志着苹果公司也进入了云计算领域。它提供了免费的MobileMe服务,可以同步和存放用户的音乐、照片、应用程序、日历、文档、视频、邮件、联系人以及更多内容,并以无线方式推送到用户的所有装置;此外还提供照片流、文档云服务、自动备份等功能。在云计算的大潮下,这是苹果公司面对日渐丰富的产品线和多样终端的用户需求的必然选择。
云计算是计算、存储、虚拟化等IT技术发展,通信和网络技术发展,需求推动以及商业模式变化共同促进的结果。云计算的主要吸引力在于高性价比、高利用率、高扩展性、高可靠性以及资源使用透明化等特点。不过,随着云计算技术的发展和应用的落地,云计算的安全性越来越成为用户关注的焦点。因为在云计算环境中,用户不再拥有基础设施的硬件资源,而是使用远程存储和计算;数据在云中,软件也运行在云上。这种方式打破了传统的IT部署习惯,给应用程序尤其是部署在云中的应用程序带来了新的安全挑战。面对这种挑战,云计算有哪些安全技术手段?我们应该如何规避云计算安全风险呢?
云计算安全及现状
从谷歌旗下移动广告子公司涉嫌非法收集用户信息,到亚马逊史上最大一次宕机事件致其数据中心中断服务两天,再到前不久的索尼服务器遭黑客攻击,7700万网游用户个人信息被窃;这一系列的云安全问题使得用户对云计算充满了质疑和担忧。有调查数据显示,越来越多的企业考虑将更多重要数据放在公司的防火墙内而不是云上,甚至还有企业重新审查自己的云服务契约是否合适。云计算的安全问题是企业应用云计算最大的顾虑所在。Forrester Research公司的调查结果显示,有51%的中小企业认为安全性和隐私问题是他们尚未使用云服务的最主要原因;IDC的调查也显示安全问题是企业用户选择云计算的首要考虑因素。
云计算的安全问题主要有两个方面:一是云计算自身环境特有的安全问题,传统观念认为将信息保存在自己可控的环境中比存放在不了解、不熟悉的地点更安全,也就是说传统用户无法认可自己不可控的环境能够提供更好的安全性。二是传统IT是封闭的,在安全上只需要对外部访问的接口和防火墙进行防护,内部部署杀毒软件即可;使用云计算后,所有的访问都暴露在公开网络中,用户的操作也需要在远程登陆后进行,因此云计算改变了现有的软件系统安全防护模式。
云计算应用安全目前还没有形成相关的国际标准,有三种类型的组织对其进行研究,第一类是非盈利机构,如CSA(Cloud Security Alliance,云安全联盟);第二类是云计算服务提供商,他们提出了一些云计算安全解决方案和安全策略,主要通过身份认证、安全审查、数据加密、系统冗余等手段来提高云计算业务平台的稳健性、可用性和用户数据的安全性,如Google将使用一个两步认证机制(Two-step verification)来控制信息访问提高云计算的安全性;第三类是从事安全的组织,如赛门铁克、瑞星、金山等,这部分安全技术和方案本文暂不讨论。
云计算安全相关技术
云计算按服务模型可以分为:基础设施即服务(Infrastructure as a Service,IaaS)、平台即服务(Platform as a Service,PaaS)、软件即服务(Software as a Service,SaaS),云计算模型之间的关系和依赖性对于理解云计算的安全性非常关键。云计算安全技术可根据云计算服务模型的三个层面进行展开。IaaS涵盖了从机房设备到硬件平台等所有的基础设施资源层面。PaaS位于IaaS之上,增加了一个层面用以与应用开发、中间件能力以及数据库、消息和队列等功能集成。PaaS允许开发者在平台之上开发应用,开发的编程语言和工具由PaaS提供。
SaaS位于IaaS和PaaS之上,能够提供独立的运行环境,用以交付完整的用户体验,包括内容、展现、应用和管理能力。三种云服务模型的安全防护在方法和责任上有所不同。从技术上来看,云计算安全包括数据安全、应用安全和虚拟化安全三个方向。
数据安全
数据是应用程序最重要的资源,云计算恰好把数据和用户拥有的用来存储数据的基础设施分离开来,这样用户就失去了对数据的最终控制权,而且所有用户的数据都位于共享环境之中,用户并不清楚数据存放的物理位置和存储策略。数据安全方面使用的技术有以下几类:
数据加密:可以使用公钥对要传送的文件或数据进行加密,接收者使用私钥对加密的内容进行解密。加密主要用在块密文、流密文、加密的Hash算法和身份认证上。
授权和认证:权限和身份认证我们并不陌生,不过在云计算环境中赋予了更多的含义,这些授权和身份认证大都是由云计算服务提供商或者第三方认证去做的,如微软对其数据中心和基础架构采用了ISO2007认证。根据认证强度和影响因素,认证时可以采用单因子或双因子认证的方法。
访问控制技术:可以采用的方法有直接访问控制、基于角色的访问控制和强制访问控制技术,可对资源的访问分成可读、可写和完全控制。微软在Windows Azure平台中提供了一个简单的方法去控制Web应用程不同层面的云计算安全模型序和服务。