传统的软件架构并没有在安全性方面进行系统级支持,这是由于在软件产业发展的初期,人们更关心的是软件的功能和效率,而对软件的安全并不是很重视。随着计算机和软件开发技术的普及,软件的安全隐患陆续暴露出来,从病毒、盗版、到蠕虫,软件的安全性面临巨大的挑战。PKI就是在这种背景下诞生的安全架构,其部分解决对于信息认证及反盗版方面的问题,但对于原有的软件体系架构自身的缺陷,PKI仍不能全面保护软件和信息的安全,这也是大量破解软件存在的主要原因之一。在反病毒方面也存在同样的问题,各大反病毒公司不断推出新的反病毒软件,发布新的病毒库,但这一切并没有防范新的病毒,反病毒公司不断推出新的防病毒措施,电脑用户为更新自己的防病毒软件而疲于奔命,但电脑黑客们总能找到新的系统漏洞而进行攻击。为什么会出现这种情况?是否有一种更好的信息安全的措施?分析一下传统软件的架构可以发现,传统软件架构为了保持自由开放的特性,对软件的执行没有限制,一旦软件开始执行,就会获得相应的系统资源,并且认为软件的每个组成部分都是可靠的,而不管其中是否已经感染病毒。常见的反病毒软件也只能在软件运行前对其进行检查,而软件一旦开始运行,各种反病毒措施也就失效。因此,反病毒软件无法做到真正意义上的防范于未然。
SOA架构为信息安全提供了新的支持平台。SOA中所提供的服务必需通过权威的认证机构的认证,才能对外发布。这就保证了服务本身的可靠性,当用户从权威服务提供机构获得所需服务时,不必再次检测服务的可靠性,因为安全检测工作已经由服务提供者完成,这是SOA对服务使用者提供保护。对于向服务器申请服务的用户来说,其也必需通过相应的安全认证,只有合法的用户才能获得相应的服务,这样SOA对服务提供者也提供保护。在SOA中,软件的执行过程中不再像过去那样将要在本地安装所有的部分,而是动态地从网上根据需要请求服务,软件的各个部分分散在Internet中,需要时进行动态地组合。这种分散的软件结构,将安全责任由传统的软件使用者全部负担,转换为由软件的使用者和提供者共同负担,因而明确了责任,降低了单个用户的安全风险。对于一些不必在用户端执行的服务,可以在服务方执行,用户只要知道其结果就可以了,从而进一步降低了安全隐患。总地看来,SOA架构同时对服务提供者和服务使用者提供保护,从安全性角度来说是必需的,当然这种保护是以牺牲自由度和效率为代价。
以构件化为主要特征的和欣操作系统,在继承了SOA在信息安全方面的优势的同时,又结合Application Domain技术,提高了自由度和执行效率。Application Domain是比较新的技术,其在微软的新一代操作系统Longhorn中占有重要地位。Application Domain可以根据需要设置域(Domain)中所执行程序的权限,这使得程序的执行必需符合域中所授予的权限,以此达到保护系统的目的。在和欣操作系统中,通过认证的构件可以在权限较高的域中执行,如可以对文件系统进行访问。而对于没有通过认证的构件,可以让其在权限较低的域中执行,如禁止其访问本地文件。这样通过域的权限设置,可以将程序的执行控制在限定的范围内,避免对系统造成危害。这样就解决了自由度和安全性不能两全的问题。
总之,SOA是一次信息系统架构上的较大变革,其在提供了强有力的计算资源的同时,也为信息安全提供了系统级的支持。以软件构件化为基础的新的计算模型,将对SOA的深度开发与普及起促进作用。
SOA与可信赖计算
可信赖计算的最终目标是保护计算机资源(硬件、软件和数据)被合法用户安全使用,禁止非法用户随意使用计算机资源;保护计算机软件和数据不受非法用户破坏、更改和泄露,即使计算机被盗,也能防止信息泄漏。
文章来源于领测软件测试网 https://www.ltesting.net/