可信云计算安全研究

2024-11-16

可信云计算安全研究(共7篇)

可信云计算安全研究 篇1

0、引言

自从“云计算”一词在2006年提出以来, 云计算已经深入人心。何谓云计算?云计算就是以网络的方式将大量的、异地的计算资源 (服务器、存储器、软件资源、服务资源) 整合为一个资源池, 提供给用户使用, 并按需付费。随着云计算进入商用, 云计算的安全问题也不断出现, 如用户隐私信息泄露、数据窃取、仿造电子签名、木马攻击、病毒损毁[1]等一系列问题。为了解决这些问题, 云用户可能会选择数据加密的方式, 但这只能保证数据不被泄密, 不能保证数据不被损坏, 因此需要提高云计算系统的可信度, 将云计算和可信计算相结合, 便能解决此问题。

1、云计算

云计算是继分布式计算、网格计算和并行计算后的又一种计算模式, 它的核心思想是大范围的用户和服务化的资源[2]。任何资源在云计算中都以服务的方式提供, 包括计算资源、存储资源、应用服务、软件资源等, 用户可以使用任何网络设备, 在任何时间、任何地方、方便快捷地访问需要的服务。有了云计算后, 用户不再需要自己扩充设备, 自己搭建环境, 这些都只需提交给云服务提供商, 云服务提供商按照用户需要配备, 用户只需按需付费。

云计算的服务大致分为三种, 即Iaa S (基础设施即服务) 、Saa S (软件即服务) 、和Paa S (平台即服务) 。Iaa S是将基础的计算资源 (处理器) 、存储资源、网络资源和其他基础的资源以服务的方式提供给用户, Saa S是将应用软件以服务的方式提供给用户, Paa S是将环境部署和开发环境以服务的方式提供给用户。

云计算的系统结构[3]大概分为三层, 分别是基础管理层、应用接口层和访问层。基础管理层是管理所有资源如何实现共享, 如服务器集群系统、分布式文件系统等, 应用接口层提供接口以解决服务的提供方式, 如公用API接口、应用软件、Web Service、用户认证、权限管理等, 访问层是云技术的具体应用, 如数据备份、远程共享、视频监控、集中存储等。

2、云安全

在云计算时代, 大量的资源整合、大量的访问增加, 这就大大增加了其安全的难度。根据互联网数据中心调查, 服务性能、可用性和安全性[4]导致了很多企业不敢大胆使用云计算, 其中安全问题是重中之重。云安全问题主要体现在以下几点:

(1) 资源共享导致多个用户可能共同使用同样的物理资源, 这就使得用户数据会被恶意用户获取。

(2) 外包的服务模式让用户的数据计算和管理都在云端完成, 这就导致用户失去了数据的隐秘性和资源的独立使用, 云端数据计算是否安全、用户信息是否安全就成了用户关心的问题了。

(3) 上层服务需要基于下层服务的多层服务模式导致安全监控不能统一, 这就让黑客更容易攻陷云计算系统。

(4) 服务的计费模式导致黑心服务商为了商业利益而作假服务, 服务是否可信成了服务付费的重要前提。

3、可信云计算安全

从以上云安全的问题来看, 主要集中在用户和云服务提供商两方面。用户方面, 用户对存储在云端的数据安全和数据隐秘性存在担忧, 云服务提供商是否会全面忠实的履行协议, 其是否有能力保证数据安全, 其员工是否会违规使用特权以获取用户数据。云服务提供商方面, 云服务提供商对用户动态口令是否被盗用, 导致服务器被入侵也存在担忧。总的来说就是用户和云服务提供商之间的信任问题, 其中用户对云服务提供商的信任更被用户所关心, 即服务的可信度, 现有的研究将可信计算融入到云安全中, 解决了这一问题。

可信计算是信息安全问题的一个关键概念, 其核心思想是将可信平台模块 (安全芯片) 引入到硬件中, 建立一个物理信任根和一条信任链, 以提高终端系统的安全性[5]。将可信技术引入到云计算中, 便可以建立一条从硬件到操作系统、到云应用层的信任链, 然后扩充到网络中, 便可建立可信云, 以从根上解决病毒攻击、恶意更改、身份认证、属性认证等云安全问题。

3.1 云用户身份认证

访问控制的基础就是身份认证, 可信云计算平台下的身份认证是使用专用的主密钥, 保护云计算的信息安全, 比一般的用户名、口令认证更强, 其硬件证书保存在可信计算模块中。

3.2 云访问控制

可信云计算平台可以分类拟定各类用户的访问控制规则[6], 用户需要注册几个类别以获取信任证书。用户登录云计算平台时, 需要通过可信平台获取自己的信任证书, 并获取自己的隐私和安全信息, 和远程用户通信时, 会话会得到秘钥的保护。

3.3 云数据安全

可信云计算平台中, 用户的重要数据会得到可信平台产生的秘钥的保护, 传输中的数据也可以采用加密技术以保证数据的安全。当用户或应用程序要访问云端的数据时, 首先要进行可信平台的认证, 以保证数据不会被修改。

3.4云虚拟安全

云计算时建立在虚拟化技术基础之上的, 可信计算恰好提供了虚拟网络分离和虚拟机监视器[6]安全性的改进方案, 如可信计算平台能够验证硬件基础上的超级用户和虚拟机监视器的完整性, 可信网络连接的架构和标准可以为可信多租户提供强有力的网络分离和安全服务。

3.5云安全的管理

在可信云计算平台中, 用户的身份信息被集成到了BIOS和可信计算模块等硬件中, 并采用个人秘钥验证, 很难被隐瞒。用户使用可信云计算平台时, 其自身或者资源的行为都会被系统平台追踪监视, 因此安全监管、安全审计[6]和安全取证等安全管理的行为都会被支持。另外, 可信云计算平台也支持应急响应, 因为其可信计算模块的IF-MAP结构支持多种安全系统, 并且能实时通知用户的恶意行为和突发事件。

4、结束语

随着云计算的不断发展和云计算技术的不断升级, 越来越多的人喜欢使用云服务, 这给很多企业和个人都带来了很大的方便, 但同时其安全问题也越来越严重, 如数据窃取、密码泄露等问题。解决云安全问题需要从根上解决, 也就是云服务提供商的可信, 可信计算恰好能解决此问题。本文初步研究了云计算和可信计算, 将可信计算融入到云计算中, 形成可信云计算平台, 由于将验证信息融入到硬件中, 才能让身份认证更可靠、数据更安全、访问控制更全面、虚拟网络安全性更高, 也能让云服务提供商更可信。

参考文献

[1]吕慎娟, 张永胜, 娄迎红等.基于云理论的可信技术研究.计算机应用研究, 2013, 30 (8) :2524-2527.

[2]丁滟, 王怀民, 史佩昌等.可信云服务[J].计算机学报, 2014, 37 (41) :1-19.

[3]谢浩安, 董绍彤、于涛.云计算及安全研究进展综述[J].硅谷, 2014 (15) :173-176.

[4]陈亚睿.云计算环境下用户行为认知与安全控制研究[D].北京:北京科技大学, 2011.

[5]王海峰, 程广河, 郝惠娟等.云计算模式下可信平台设计[J].山东科学, 2010, 23 (4) :99-103.

[6]江雪, 何晓霞.云计算安全对策研究[J].微型电脑应用, 2014, 30 (2) :30-34.

[7]郑磊.基于TNC的可信云计算平台设计[D].郑州:郑州大学, 2013.

[8]王配雪, 周华强.多租户环境下基于可信第三方的云安全模型研究[J].计算机科学, 2014, 41 (6) :363-366

可信云计算安全研究 篇2

云计算 (cloud computing) 掀起了IT信息技术业的第三次浪潮, 将成为一种新的网络化IT服务模式。其目标旨在像供水电气等生活必须品一样, 向云端用户提供大规模的信息与计算资源, 为用户提供全面、方便、快捷的服务。

云计算的迅猛发展, 其安全问题越显突出, 已成为制约云计算发展领域最为突出的问题。云计算服务中心集成的基础设施即服务 (IaaS) 、平台即服务 (PaaS) 、软件即服务 (SaaS) 规模巨大, 其前所未有的开放性与复杂性, 将成为黑客攻击的重点。云客户的信息安全与隐私保护, 对云服务运营商提出了巨大的挑战。因此, 为用户提供一个安全可信的运行环境、防止云的内外攻击, 成为该领域最迫切的解决的问题。

本文的结构, 首先提出了云计算存在的安全风险, 接着引入了可信计算技术并阐明其内涵, 在此基础上构建了云用户安全模型。

2 云计算的安全风险

由于云计算服务规模巨大, 其前所未有的开放性与复杂性, 对云服务运营商和管理者, 提出了严峻的考验。

首先, 云数据传输存在安全风险。用户数据在传输过程中, 虽然在租户与云管理中心的边界路由器上能采用VPN技术对数据进行加密、验证、身份确认等行为, 但对于众多普通的租户不可能在用户端去购置价格昂贵的路由器、防火墙设备, 传输存在安全风险。

其次, 云数据存储存在安全风险。云服务商从经济性和可用性出发, 对众多的云用户数据会采用多租户模式混合存储, 这种方式不能阻止非法用户对数据的访问, 外部的恶意攻击可能窃取用户信息与数据。

第三, 身份管理与访问控制存在安全风险。尽管云服务平台中用户可通过虚拟化技术来共享资源, 在虚拟化技术下, 用户非法取得虚拟机的权限, 能够进一步的威胁到物理服务器上的虚拟机。多租户共享云环境仍然是云安全的最大挑战。

另外, 云计算中多层服务模式引发的安全问题。不同的云服务提供商之间没有统一的安全协议, 使得服务在多层转包的过程中存在安全风险。

3 可信计算技术

目前各云服务提供商为了实现云计算的安全, 通常会在网络层部署安全设备, 如网络中间件防火墙、防毒墙、包过滤、入侵检查系统等, 并将计算资源存储在区域网络 (SANs) 。但这些作法都停留在网络层, 即在Internet上传输这个过程。如果能在硬件芯片层就保证云计算的安全, 那么, 云计算的大规模应用将指日可待。而可信计算技术可以实现这个假设。

可信计算是信息安全领域中的一个重要概念, 其主要思想是在硬件平台植入安全芯片——可信平台模块 (RPM) 来提高终端系统的安全性。其基本思想是, 建立一个物理安全的信任根部件, 并基于该信任根建立一条认证和信任链, 如果能在云中植入一个信任根, 让计算机从BIOS到操作系统内核层, 再到云应用层都构建信任关系;以此为基础, 扩大到云中的网络, 建立相应的信任关系链。通过信任链的扩充, 就建立起可信云。这样, 可以从根本上解决云计算的安全问题。

可信计算平台是以可信平台模块 (TPM) 为根, 由TPM、CPU、操作系统、可信软件、应用软件、网络基础设备融为一体的完整体系结构。可信计算平台能够从硬件底层开始实现对用户身份地鉴别, 用户身份不再依赖操作系统, 而由可信计算技术支撑, 用户身份鉴别不会被旁路;底层部件对上层进行度量和认证, 从系统的启动开始对BIOS、操作系统的加载模块、操作系统都要被一一可信验证, 确保其不被篡改。

4 云用户的安全模型

4.1 可信终端架构

在可信计算体系中, 最核心的是可信芯片平台TPM。TPM是一个含有各种密码部件和存储部件的小型片上系统, 能够提供一系列密码处理功能, 如RSA加速器、算法引擎、随机数发生器以及存放密钥等功能。

在互联网构成的云计算平台中, 各种终端包含了PC、手机以及其它移动智能终端等, 其中手机以及其它移动智能终端等多为嵌入式系统。在这些智能终端中引入TPM, 由TPM芯片完成嵌入式终端信息安全的核心算法, 而由软件调用TPM的计算结果来实现相应的安全功能, 控制嵌入式终端从启动到运行的全过程。

嵌入式可信终端包括可信的硬件层、OS层和应用层, 这3个层次相互配合, 从而使得可信终端具备可靠的安全支持, 其中该架构的核心是TPM。可信终端架构如图1所示。

4.2 基于可信计算的云用户安全模型

当前, 对用户的数据安全主要加密技术 (DES、3DES、AES等) 保证数据的隐私性, 用hash算法 (md5、sha1等) 对数据的完整性进行验证, 并在数据接收方对发送源进行身份确定。但是这只能保证数据包在互联网上传递的安全, 没有解决数据因内部因素产生的自身的安全问题, 因而不能真正起到保证用户的数据安全与身份隐私保护的作用。

我们在客户端底层硬件嵌入可信平台模块TPM, 并采用虚拟技术, 实现了多租户可信计算环境模型。在本模型中, 我们提出了“双信任链传递”的概念, 一条信任链是从可信根的启动到虚拟机的加载, 确保基础设施环境的可信;另一条信任链是从客户操作系统到应用, 确保虚拟机的可信。

在多租户可信计算环境下, 存在多个虚拟机共用一个TPM的情况, 这样造成了单TPM负荷过重。因此, 我们应用可信平台仿真器提供多个虚拟TPM, 为每一个虚拟机提供可信根, 解决了多个虚拟机共用一个TPM负荷过重问题, 并在每一个虚拟TPM中配置安全策略, 构建基于可信计算的云用户安全模型, 如图2所示。

本模型构建的主体思路:

(1) 以可信管理模块 (TPCM) 为可信根, 对硬件资源的BIOS、虚拟化平台进行可信验证, 保证底层启动的可信。通过TPCM仿真为每一个虚拟机提供虚拟的可信管理VTPCM, 并对每个虚拟机进行可信验证将信任传递到虚拟机。

(2) 当云用户需要申请云服务前, 向可信第三方提出申请, 可信第三方再向云服务商提出申请, 这样通过了中间代理, 云服务商并不知道最终云用户是谁, 从而实现云用户身份隐匿。

(3) 信任链的构建, 首先从物理可信根开始到硬件平台、虚拟机监视器、可信管理VTPCM、客户操作系统、应用程序构建信任链, 构建云基础设施的可信运行环境。并将执行控制权传递给引导扇区;其次, 引导扇区对虚拟机监视器进行完整性度量, 并将执行控制权传递给虚拟机监视器。VTPCM对虚拟机操作系统加载模块、操作系统、应用程序进行完整性度量, 就如终端系统一样, 如果上述所有的完整性度量结果是可信的, 就实现了从可信根到虚拟机的信任传递。

5 结束语

本文根据云用户所面临的安全风险, 构建了基于可信计算的云用户安全模型。本模型通过引入了可信计算技术, 为云计算的基础设施软硬件提供了可信的运行环境, 具有参考价值。对于云计算中虚拟机的管理问题有待进一步的研究。

参考文献

[1]孙晶晶, 蔡勉, 赵阳.基于可信计算的云用户安全模型[J].计算机安全, 2012 (4) :19-24.

[2]王海峰, 程广河, 郝惠娟, 王尚斌.云计算模式下可信平台设计[J].山东科学, 2010 (8) :99-102.

[3]季一木, 康家邦, 潘俏羽等.一种云计算安全模型与架构设计研究[J].信息网络安全, 2012, (06) :6-8.

安全、可信的云计算不再难 篇3

云安全形势严峻

在今年11月于浙江乌镇举办的首届世界互联网大会上,中国工程院院士邬贺铨表示,云计算能力的分布化、虚拟化、服务化是云计算的技术基础,但云计算平台如果被攻击,出现故障,就会导致大规模的服务器瘫痪。

时间回溯到2011年,由于亚马逊网页服务器出现故障,包括基于位置的社交网站Foure Square、问题和解答服务商Quora、新闻共享网站Reddit以及为网络出版商提供游戏工具的Big Door瘫痪。分析师指出,该事件实际上是再一次敲响了云计算技术乃至整个产业的警钟,它将迫使云计算行业重新考虑这项远程控制技术所面临的问题。专家表示,亚马逊数据中心服务中断事故对云计算行业造成的影响相当于一次航空事故,目前航空旅行仍被视为比汽车行驶更安全的交通方式。数据中心依旧比那些拥有自己IT基础设施的个别公司更安全。关键的是,业界应该从亚马逊服务中断事故中汲取教训。

普华永道今年9月份发布了一份关于云计算安全趋势的报告,报告警告说:基于云计算的应用带来的风险很多,包括数据安全、交易安全、业务联系性和监管合规等问题,实际上有关云计算和大数据带来的安全隐患并不是首次被提出,越来越多的虚拟化技术和海量数据分析挖掘技术的应用,让更多的政府部门和企业陷入了更大的风险之中。

虚拟化技术带来的第一个风险就是,传统的边界防御将失去效用,因为虚拟机的应用随时可能会漂移(V-Motion),在虚拟化的环境下,如何部署和实现安全防护?另外,客户数据都集中到了云端,如何保证租户的信息不被泄露?如何免受来自于互联网的DoS/DDos攻击?

这种担心并不多余,在目前一些涉密或公共服务领域,一些创新产品技术在存储、分析或者应用层面仍需要考虑信息安全的风险。正如某国家政府部门一位负责人所说,“政府部门对云计算技术的引入应该谨慎才行,尽管这已经成为一种趋势”。

目前政府部门和大型企业对云计算的支持毋庸置疑,但是广大中小企业却对云计算的渴求远不如想象中的迫切。知名的IT调查机构IDC对企业CIO们进行了一份调查,结果显示约有近一半的企业对未来一年内在企业信息化建设中是否采用云计算解决方案还处于观望状态,是否拥抱云计算的主要障碍来自于对信息安全的顾虑。

IDC中国服务研究部研究经理赵潇表示,“在过去两年里,企业对云计算的认知有了很大的提高,随着企业业务的发展,未来几年里与云服务有关的投资在企业每年地IT预算中的比例将越来越高。”

在越来越多的政府部门和企业选择投资云计算的明天,也会有越来越多的网络黑客和不法分子利用云计算技术及解决方案中存在的漏洞,这对有关组织和个人带来巨大的安全隐患,而这些隐患和传统固网中的安全问题又有所不同,特别是SDN、NFV这些网络新技术应用涌现之后,让用户们几乎防不胜防。

SDN成下一个安全关注点

SDN(软件定义网络)浪潮汹涌,号称可以颠覆网络格局。同时NFV(网络功能虚拟化)的提出,也强有力地弥补了SDN应用层能力弱的不足。然而这些新技术的兴起,使传统网络安全产品越来越不能适应新型网络所带来的变化,促使越来越多的国内企业开始在SDN安全方面进行了大量探索。

在2014年CSA云安全高峰论坛上,绿盟科技资深研究员刘文懋表示,绿盟科技在业界率先提出并实现了安全控制器概念,在南向安全设备,北向安全应用,东西向和SDN控制器等技术架构以及对抗APT、BYOD等场景下展现了巨大的应用潜力,按照刘博士的介绍,绿盟科技已经和业内领先的云计算服务提供商一起踏上了实际部署的征程。

在对抗安全漏洞上,SDN提供了新的可能性,然而SDN也可能扩展安全漏洞、误配置、侵犯隐私和其他事变的危险。那SDN/NFV改变了网络的哪些东西?安全漏洞通常会出现在什么地方?如何进行有效地防护?……针对一系列安全问题,启明星辰公司首席战略官潘柱廷进行了详细分析,并揭示抗DDo S联盟和XCert的本质。他认为水滴之所以能凝集变成云,是源于结构。有结构就有其匹配的操作,有所谓好操作和坏操作。对抗是结构之间操作的对抗,也是结构本身的对抗。

在山石网科副总裁蒋东毅看来,NFV与SDN的结合,以及虚拟化技术的发展,使不同租户、不同应用对象的物理边界模糊甚至消失,这对网络、应用及数据安全提出了全新挑战:一方面传统硬件设备为主的网络安全功能需要与以虚拟化SDN为主的云架构集成;另一方面,与传统筒仓模式相比,云安全更需要解决东西向流量为主、弹性部署、无物理边界、虚机迁移、高可视化和集中管理等特有的需求。基于这些挑战,山石网科遵循NFV理念,与SDN等云网络集成组成服务链,全力打造了全分布式弹性虚拟防火墙架构。

打造可信的云生态

云安全研究与实验的孵化器CSA(云安全联盟)是一个专家社区,专注于各种云安全的研究。自成立以来,云安全联盟目前成员已经达到了33个,名单中覆盖了国际知名的电信运营商、IT网络设备提供商、网络安全商和云计算提供商,其成立的目的就是在云环境下提供安全的解决方案。CSA CEO Jim Reavis就未来云计算安全发展趋势谈到,云应用发展障碍不仅是安全问题,还有信任问题。如何创建可信任的基于云生态系统, 需要各行业领先者及其合作伙伴共同努力,建立基于可靠技术、通用标准和最佳实践的身份信任解决方案。

目前BSI (英国标准协会)已经与云安全联盟联手推出STAR认证,致力于帮助企业在日趋激烈的云服务市场竞争中脱颖而出。STAR认证是信息安全管理体系认证(ISO/IEC 27001)的增强版本,旨在应对与云安全相关的特定问题。2013年9月26日,两机构正式宣布推出STAR认证项目,BSI成为目前全球唯一可以进行STAR认证的第三方认证机构。该项目采用中立性认证技术对云服务供应商安全性开展缜密的第三方独立评估,并充分运用ISO等管理体系标准以及CSA云控制矩阵,帮助企业满足对安全性有特定要求的客户需求。

值得注意的是,中国专业安全公司绿盟科技成为中国、乃至亚太地区第一个企业成员。相信在不远的将来,企业成员中还会出现越来越多的中国知名和新兴企业机构的身影。目前中国版的C-STAR的认证包括对基础设施、虚拟化安全、移动安全等16个方面进行安全评估。该认证评估体系汲取了CSA的经验,并得到阿里、华为等企业的支持使其趋于完善,并得到了CSA的认可。

C-STAR评估的适用对象包括云服务提供商和用户。从云服务提供商的角度来讲,可以根据云计算行业最佳安全实践,对云服务进行安全评估,识别安全问题,控制安全风险、提升安全水平、增强用户信心;从用户的角度来讲,在采购云服务之前或使用云服务过程中,希望对提供商安全进行评估,以反映其安全控制情况与自身需求的差距。

作为云生态的管理部门态度也十分明确。工信部等有关部门也针对云计算的可信性和安全性进行了新一轮的认证。今年7月份,首批可信云服务的认证名单发布,包括了云主机服务、对象存储服务、云数据库服务、云引擎服务、块存储服务五大类。据了解,共有33家云服务商的54个云服务咨询或参评可信云服务认证,其中19家云服务商共33项云服务通过了该次认证,为建立可信的云计算生态系统奠定了基础。

可信云计算安全研究 篇4

随着互联网技术和计算机技术的蓬勃发展,云计算技术也随之发展起来,云计算是一种新型计算模式,它的计算资源是可伸缩的、动态的而且是被虚拟化了的,当前虚拟化技术在云计算服务产品中的应用非常广泛。云计算服务提供商可以通过利用虚拟化技术的灵活性和伸缩性使不同用户的需求得到满足,对云计算资源进行一定程度的调整使其为用户提供更为贴切的服务资源。虽然云计算资源为用户提供了更周到的服务,但因云计算服务提供商会将资源提供给很多用户,也就是说云计算服务本身属于开放式的环境,在该环境下会存在很多安全隐患。很多意图不轨者会伪装成普通用户,通过攻击云计算系统的漏洞而谋取私利,对恶意攻击者来说云计算环境是蕴藏着丰富资源的宝库。有些意图不轨者会以租用云计算服务资源的方式窥探其他用户信息,被窥探用户会因此造成严重损失。为提高云计算系统的安全性能,可信计算技术也就应运而生,该技术是由可信计算工作组TCG设计研发的,可信计算技术是一种能确保云计算系统安全的解决方案。可信计算技术是由以下几种安全机制构成的 :背书密钥、封装存储、内存保护、可信启动、远程证明等。可信平台模块则是可信计算技术的核心。将可信计算技术、虚拟化技术引入到云计算环境中,可以使该计算环境的安全性能得到大幅度提升,具有重要意义。

1 基于虚拟机云计算可信安全技术的研究意义

云计算技术具有多变的软件接口和强大的硬件资源,云计算环境底层平台的维护工作由云计算管理者专门负责,为用户提供了优质服务,对用户来说云计算技术有很大的吸引力。用户在享受云计算周到服务的同时也面临着更多更多的安全顾虑。如何在多用户共享云计算系统资源的情况下提高系统的安全性能、规避意图不轨者对系统的恶意攻击、降低恶意攻击者窃取或篡改其他用户数据的恶劣行为,已成为当前一项亟待解决的问题。虚拟机迁移技术对云计算环境的安全性能至关重要,它是云计算资源管理层面的重要机制。通过采用虚拟机迁移技术可以使负载更为平衡、资源分配更为合理、效能管理更为有效,并可以使闲置的资源、设备得到有效利用,程序的执行效能也会因此得到全面提升,使系统资源的分配更为高效。通过虚拟化技术的运用可为运算任务提供相应的虚拟资源,类似的运算任务还可以通过迁移技术的运用分散到不同的主机上,使物理资源得到了有效扩充,减少了之间的竞争。当主机遭到恶意者攻击或窥探时,通过对虚拟机的迁移,减小受损范围,有效规避其后续的攻击行为。

2 对基于虚拟机的云计算可信安全技术的分析论述

2.1 云计算分析

软件、计算、数据访问、存储等服务都是由云计算提供的,在提供服务时云计算系统无需知道用户的传递服务的系统组成及所处物理位置,也正因如此云计算的应用非常广泛。云系统通过正确的中间件就可以执行普通电脑所能运行的所有程序。

2.2 可信计算分析

可信计算平台是由一整套的软件、硬件技术搭建而成的,该平台被用于完整性和保密性验证及身份验证。可信计算模块包括安全密钥存储、硬件加密、认证等多种功能,将硬件安全组件内置到了计算机内部及计算机类电子产品中,提高了计算机的安全性能。可信计算平台提供了认证、验证、加密、保密、完整等安全服务。

2.3 对可信组件分析

可信计算是由受信任的平台支持服务、可信平台模块两部分构成的,用户和可信计算平台之间需要一个中间件,该中间件即为受信任的平台支持服务平台,可信平台模块其实质是一个安全设备,该安全设置可以存储加密密钥。

2.5 可信计算的需要分析

随着科技的发展,计算机系统所面临的威胁与日俱增,预防工作不但要从软件方面着手,还要加强可信平台的硬件防范,受信任平台所能处理的威胁主要包括以下几大类 :未经授权的网络访问 ;通过身份装扮和盗用形式获取未受保护的敏感信息和密码 ;违反数据保护和身份验证法规遵守问题 ;服务器或客户端PC上未受保护的文档、文件、电子邮件未经授权的访问等。

3 可信计算技术的详细论述

3.1 可信平台模型

可信计算模块的安全策略是在密钥层级实现的,安全策略的实施可以使系统防范远程攻击者的软件攻击,该模块是一个硬件芯片,其实质是独立于平台的处理器。可信平台会与其他平台保持必要的通信,平台的安全属性是由计算库的一套函数提供完成的。

3.2 用户行为跟踪

云计算系统可以根据用户信息跟踪用户,当用户登录云计算系统时他的身份信息首先进行记录和验证。如果参与者有一些恶意行为,他们将被跟踪和惩罚。

3.3 基于可信计算平台的云计算

云计算在电子商务中担任重要角色,可信计算技术可以建立一个安全的云计算,我们可以通过整合可信计算平台把可信计算机制扩展到云计算服务系统。

3.4 可信硬件设备

通用硬件是由可信平台模块和硬件组件集合而成的,用户数据保护工作是通过可信平台模块使用硬件保护私钥加密签名实现的,但受存储器空间有限的限制,不使用密钥时必须将其换下来。

3.5 平台支持服务

可信计算的主要组件是受信平台支持服务,受信平台支持服务提供了基本资源,为可信计算模块提供了支持,受信平台支持服务主要包括核心服务和服务提供商两层。这些应用需要调用可信计算平台的函数。可信计算平台提供了一些基本安全模块。这些基本模块发出可信计算服务调用。然后,可信平台支持服务将根据可信计算模块指示调用。可信计算模块是硬件,TCG设备驱动程序库是必要的。把可信计算服务调用转换可信计算模块命令。然后它会返回结果。每一层得到的低层并把结果返回上层。

4 总结

云计算服务开放式环境中存在的安全隐患还很多,将可信计算技术、虚拟化技术引入到云计算环境中,使计算环境的安全性能得到大幅度提升,提高系统的安全性能、规避意图不轨者对系统的恶意攻击、降低恶意攻击者窃取或篡改其他用户数据的恶劣行为,基于虚拟机的云计算可信安全技术进一步提高了云计算环境的安全性能,具有重要意义。

摘要:随着互联网技术和计算机技术的蓬勃发展,云计算技术也随之发展起来,云计算是一种计算资源可伸缩的、动态的而且被虚拟化了的新型计算模式,云计算资源为用户提供了更周到的服务,但在云计算服务开放式环境中存在的安全隐患也会随之增多。为提高云计算系统的安全性能,可信计算技术也就应运而生,将可信计算技术、虚拟化技术引入到云计算环境中,可以使该计算环境的安全性能得到大幅度提升,具有重要意义。

云计算平台可信性增强技术的分析 篇5

云计算主要包含五个特征:基于多租户架构、可扩展性超强、有弹性、按需付费与资源可根据需要自动供应。通过云计算服务能够帮助企业大幅度节约存储和计算成本, 但是云平台中的安全问题成为了制约云计算发展的首要因素。企业在关心如何降低数据存储和处理的成本的同时, 最关心数据是否安全以及失去数据控制权会对隐私带来什么样的危害。当企业在使用云服务的同时, 恶意云服务商或者和行为不端的员工很有可能篡改或泄露用户数据, 如果这些数据对企业运营来说是机密级别的, 这将会对用户会造成巨大危害。

本文提出一种可信的云计算平台 (TCCP) , 可以确保外包给IaaS的计算的保密性和完整性。TCCP为用户VM提供一个封闭的执行环境, 避免云服务商的特权用户窥视或者篡改内容, 在执行VM申请前, 用户可以远程判断服务后台运行的TCCP是否可信。该方法拓展了整体服务验证的概念, 使用户能够预估计算执行安全性。

二、可信赖云计算平台关键技术

传统可信平台只能够保证单台主机上的计算安全性, 平台验证机制不能保证远程方得到的测度列表ML就是VM运行主机的真实信息。因此, TCCP需要设计远程验证方法, 保证后台平台资源持久安全。

2.1概述

TCCP可以加强IaaS后台, 进而做到不改变整体结构的前提下为云计算提供封闭的执行环境。TCCP可信计算包括两个方面:可信赖虚拟机映像 (TVMM) 与可信赖协调者 (TC) 。

后台节点作用为运行掌控客户虚拟机的TVMM, 并阻止特权用户窥视和篡改。TVMM可以在遵守TCCP协议的前提下自身安全进行保护, 节点被嵌入在经过验证的TPM, 可通过安全启动进程加载TVMM。TVMM的本质就是一个可隔离不轨意图系统管理员的本地的封闭环境。TC管理一系列可以安全运行客户虚拟机的节点, 这些节点称为可信节点。该类节点必须位于安全域内并运行TVMM, 这要求TC保存节点位于安全域的记录, 并验证节点平台以判断该节点是否运行着可信赖TVMM。TC还可以进行在簇中添加或移除节点、临时关闭节点等操作。通过TC主要用于验证IaaS是否安全。

为保证将VM限制在可信的节点和VM迁移时其状态不受窥视和篡改的安全, 每个节点上运行的每个TVMM必须与TC相配合。假设由外部可信赖实体 (ETE) 对TC进行管理, 并在IaaS域中为TC部署一系列节点和可信赖配置的信息, 保证管理IaaS的系统管理员在ETE内部没有特权, 不能对TC进行篡改。本文立足点为ETE由没有与IaaS服务商有共同动机的的第三方维护。

2.2关键技术设计

本节详细介绍TCCP相关机制。在2.2.1节介绍可信赖平台上一系列节点管理协议;2.2.2节介绍VM安全管理协议, 包括装载VM和迁移VM。这些协议中用以下标记表示加密操作, Kx表示会话密钥, 表示私钥公钥对, EKx表示识别密钥, {y}Kx表示经密钥Kx加密后的数据y, TKx表示可信赖密钥, 随机数nx由x产生, 防止消息重放。

2.2.1 VM安全管理协议

通过保存包括安全域内节点、识别节点可信平台模块 (TPM) 的公开识别密钥EKNP和预期测度列表MLN的目录, TC可以动态管理一系列掌控VM的可信赖节点。ETE保证TC部分参数安全公开可用, 包括MLN和MLTC是远程方在识别节点N或TC上运行的平台时的期望值。

节点必须在TC注册, 并遵守相关协议。前两步节点N验证TC, 节点N向TC发起挑战, TC返回经加密的MLTC, 如果MLTC与预期相符, 即表示TC是可信赖的。TC在返回信息中包含了对节点N的挑战nTC, 第三步节点N产生密钥对并将公钥随验证消息发给TC。如果TC成功验证节点N的身份, 则发送消息是可信的。

必须做到可信节点重启后, TCCP还可以将节点认为是可信的, 否则TCCP的安全性会收到威胁。可采用如下手段:节点内存只保存机器重启密钥就会丢失, 节点会被TCCP阻止, 必须重新进行注册。

2.2.2虚拟机管理

TCCP在加载VM时需要保证一下几点: (1) VM加载的节点可信; (2) 系统管理员不能窥视和篡改初始VM状态。

可设置如下协议。加载VM前, 用户不知道VM将加载到哪个物理节点上, 且在服务的所有参与者中只有TC可信赖。用户首先生成会话密钥KVM, 并将消息发送到CM, 消息包含φ和φ用会话密钥加密的哈希值, 以及采用进行加密的KVM。用TC的公钥加密会话密钥, 保证只有经TC授权的可信赖节点才能访问φ。

收到加载VM请求后, CM指派簇中节点N加载VM, 同时把请求转发给N。因为启动VM不能绕过访问φ, 节点N向TC发送消息, TC用私钥解密消息, 进而验证N是否可信。在TC信赖节点库中如果不存在N的公钥, 则该请求可能是CM将请求转移到了恶意系统管理员控制的节点, 故拒绝该请求。如果请求通过了, TC解密会话密钥, 并对节点N发送消息, 此时N就解密φ并启动VM。最后节点将消息发送给用户, 消息包含节点运行VM的证明。

三、总结

可信平台模块在云计算中的应用 篇6

随着互联网技术的蓬勃发展,云计算作为一种新兴的IT技术被引入。云计算的这种全新的服务模式彻底改变了传统IT技术的计算方式。它使得IT技术成为一种动态可扩展的计算资源被用户广泛使用。然而,这种全新的服务方式在为用户提供便利的同时也带来了新的安全问题。在云计算中,用户通过从服务提供商那里租用虚拟机的方式将所有数据存储在云环境下的数据中心中,并将自己的数据交由数据中心的虚拟机进行处理,在这种情况下,用户不能对自己的数据进行控制,更无法确保存储在云环境下数据中心的数据的安全性和完整性[1]。云环境下的虚拟数据中心是建立在服务提供商所提供的主机平台上的,用户在使用云服务时只知道将数据存储在虚拟数据中心中,他们并不能确定建立虚拟数据中心的主机平台是否是可靠的。云用户将海量数据和信息存储在云环境下的数据中心中,服务提供商如何保证用户或组织的数据在网络传输过程中进行严格的加密,保证数据即使被攻击者盗取也无法对其进行还原;以及如何保证服务提供商不会将用户或组织存储在云中的重要数据泄露出去[2]。针对以上安全问题,该文在云计算中引入了可信平台模块(TPM)和平台虚拟化技术,并通过可信平台模块所提供的功能以及它所产生的加密算法(SHA-1)来为云计算的安全问题提供保障。

2 可信平台模块(TPM)

2.1 可信计算技术

可信计算技术为建立一个安全的云模型提供了可靠的基础。可信计算是指在PC机的硬件平台上引入安全芯片架构,并通过这种安全芯片提供的安全特性来提高终端系统的安全性[3]。这种安全的芯片被称为可信平台模块(TPM,Tusted Platform Module)。可信平台模块(TPM)是嵌入到计算机主板上的安全芯片,它是独立、被隔离的硬件。并且只有通过特定的访问方式、经验证授权后,外部实体才可以访问可信平台模块(TPM)的数据和功能。每一个可信平台模块(TPM)都有一个授权的认证密钥EK(Endorsement Key),EK是可信平台模块(TPM)唯一的身份标识,它可以为可信平台模块(TPM)提供唯一的安全认证,以帮助用户判断可信平台模块(TPM)的可靠性。

通过在云计算中引入可信平台模块,我们能够在服务提供商所提供的主机平台上建立一条可信链,位于底部硬件层的可信平台模块(如图1)是这条可信链的初始信任根。这个初始信任根使得云计算的主机平台从底部硬件层到操作系统,再到云环境下的虚拟服务器域都构建信任关系,并以此为基础,扩大到云中的网络,建立相应的信任关系链。通过信任链的建立,我们就能够构建可信云,并从根本上解决云计算的安全问题。

2.2 可信平台模块的基本功能

可信平台模块(TPM)是可信计算平台的核心模块,它具有安全存储和加密解密功能。在云计算中,可信平台模块存储了主机平台的配置信息和加密密钥,并内置加密引擎和用于产生密钥的随机数发生器。云服务中的可信平台模块能够提供以下功能:

1)加密存储功能:位于底部硬件层的可信平台模块(TPM)能够将云环境下的敏感数据和信息(如密钥等)经加密后存储在芯片内部;并将云环境中用于建立虚拟数据中心的主机平台的配置信息经加密后存储在平台配置寄存器(PCRs,Platform Configuration Registers)中,以对配置信息进行度量[4],判断主机平台的可靠性。

2)认证功能:可信平台模块(TPM)能够产生一种安全的哈希算法(SHA-1),TPM能够通过SHA-1来检测主机平台的可靠性,并将测量结果存储在平台配置寄存器(PCRs)中,以对平台进行验证;此外,独特的身份认证密钥EK也为可信平台模块(TPM)提供了认证功能,通过验证EK的真实性,用户可以判断主机平台上可信平台模块的可靠性,从而确定云环境的可靠性。

3)访问限制功能:为了保证主机平台的安全,可信平台模块(TPM)必须是主机平台上独立、被隔离的硬件,所以访问者必须经过可信平台模块(TPM)验证并授权后才能访问TPM所管理的资源(如,密钥、加密存储的敏感数据),以阻止不被授权的用户或组织对主机平台进行恶意的破坏。TPM的访问限制功能能够在主机平台的底部硬件层就创建信任根,并将这个信任根逐层向上延伸,建立一条通往虚拟服务器域的可信链(如图1)。

2.3 平台虚拟化技术

由于可信平台模块(TPM)仅适用于非虚拟化的环境,并且大多数TPM与可信平台之间是一对一的关系,即它一次只能被一个物理平台所拥有。所以我们使用平台虚拟化技术来解决这一问题。平台虚拟化技术也就是可信平台模块(TPM)虚拟化技术,通过使用平台虚拟化技术,可信平台模块(TPM)的全部功能能够被模拟;虚拟化了的可信平台模块(TPM)被称为虚拟可信平台模块(VTPM,Virtual Tusted Platform Module),VTPM位于云环境中主机平台上的虚拟服务器域中(如图1),并且每一个虚拟服务器域都对应一个VTPM,即每一个虚拟机都独立拥有一个VTPM,这使得使用云服务的用户能够很好地将自己的数据与云环境中其他用户的数据隔离开来,也保证了VTPM将主机平台上由底部硬件层TPM构建的信任链扩展至每个虚拟服务器域,从而在一个可信主机平台上构建多个虚拟可信平台。经过虚拟化后,VTPM能够拥有TPM的全部功能(如,加密解密功能、安全存储功能等),并对虚拟服务器域实施保护。VTPM也有一个唯一的身份认证密钥EK,这个EK执行与TPM的EK同样的功能。平台配置寄存器(PCRs,Platform Configuration Registers)被放置在VTPM中,以用于存储平台的配置信息。

通过平台虚拟化技术,VTPM能够为平台上的每一个虚拟环境提供可信平台模块(TPM)的全部功能,这有效解决了TPM与物理平台之间一对一的关系,并实现了虚拟环境中资源的共享。

图1是云计算中主机平台的架构。主机平台模块有一个单一的可信平台模块(TPM)、虚拟机管理者、操作系统和虚拟服务器域,并支持多样化的虚拟环境。每一个主机平台都有一个可信平台模块(TPM),可信平台模块位于底部硬件层,并通过它的加密功能和访问限制功能为硬件层提供保护;同时由此向上建立到虚拟服务器域的可信链。通过在底部硬件层和操作系统中间引入虚拟机管理器(VMM),我们能够实现虚拟化技术,并支持多个虚拟机同时运行,从而为使用云服务的每个用户提供独立的运行环境,用户只需对自己的信息进行远程维护,无需对硬件、操作系统和通信线路进行维护,同时还能实现多租户之间的资源共享。虚拟机管理器的安装采用的裸金属架构,即VMM直接安装在物理服务器上,然后再在物理服务器上安装其他操作系统。这种裸金属架构使得VMM能够以最高特权运行在主机平台上[5]。VMM主要用于创建和管理虚拟机,并实现虚拟机从源平台到目的平台的安全迁移。可信平台模块(TPM)与物理平台之间一对一的关系使得它必须经过虚拟化来为每一个用户提供其全部功能,虚拟可信平台模块(VTPM)位于虚拟服务器域中。VTPM产生的SHA-1算法能够对用户存储在虚拟机中的数据进行加密,并产生消息摘要,以此来保护虚拟服务器域的安全性。

3 SHA-1算法在云计算中的应用

在云计算中,可信平台模块位于主机平台的底部硬件层(见图1),并且是贯穿云环境中整个可信链的信任根,通过由可信平台模块产生的SHA-1算法,我们能够保证主机平台上从底部硬件层到操作系统,再到云环境下的虚拟服务器域的可信链的安全建立,并为用户存储在虚拟数据中心中的数据和信息的安全性提供保证。

SHA-1是一种安全的哈希算法,它的主要功能是对数据进行加密,并产生数据的消息认证,通过验证长度小得多的消息摘要来代替对大量消息的验证,能够大大减少验证的工作量,并节约验证时间[6]。在虚拟数据中心中,我们主要使用SHA-1来保证整个数据中心的安全性。用户将数据或信息存储在云环境下的虚拟数据中心中,从而便失去了对数据或信息的控制能力,他们不能控制正在对他们的数据和信息进行操作的应用程序。云计算的核心安全问题是用户无法确保存储在云环境下数据中心中的数据或信息的安全性;用户只能将数据或信息存储在数据中心中,他们并不了解数据中心的架构,更不能保证存储在云环境下的数据是否是安全的。所以,我们在云环境中引入SHA-1加密算法,并通过这种加密算法所提供的功能来保证云服务使用者的数据或信息的安全性。在云计算中,SHA-1算法可提供以下几个功能:

1)数据加密功能:用户或组织将自己的敏感数据或信息存储在云环境下的数据中心中,我们使用SHA-1算法对数据进行加密,并计算数据或信息的消息摘要,通过验证消息摘要的可靠性,我们能够验证数据的可靠性。SHA-1的一个主要特征是它不支持从消息摘要中复原原始信息。因此,即使是非法用户获取了信息的消息摘要,也不能获取存储在数据中心的数据或信息。从而,SHA-1能够为数据中心提供保护。

2)平台验证功能:虚拟化技术为云计算平台提供了资源的灵活配置,但同时虚拟化技术也为云计算提出了一个新的安全问题,即如何保证虚拟机运行在可靠的虚拟环境下。通过使用SHA-1算法,我们可以解决这一安全问题。SHA-1的消息认证功能可以为运行虚拟机的平台提供可靠性认证。SHA-1能够读取平台的配置信息,并将其存储在虚拟服务器域的VTPM中,同时为VTPM中的平台配置信息产生消息摘要;通过对平台配置信息的消息摘要进行验证,可以确定运行虚拟机平台的可靠性。VTPM还提供对平台的配置信息进行备份的功能,通过将备份信息与平台的配置信息进行对比,用户能够确定用于创建虚拟机的平台的可靠性;如果对比信息不一致,那么平台是不可靠的,我们不能在此平台上创建虚拟服务器域;如果对比信息一致,那么平台是可靠的,可以用来创建虚拟服务器域。

3)虚拟机镜像加密功能:当运行虚拟机的平台需要维护或维修时,虚拟机不得不从一个平台迁移到另一个平台上。在虚拟机迁移过程中,如何确保虚拟机镜像的安全成为了一个主要问题。通过使用SHA-1对迁移过程中的虚拟机镜像进行加密,可以保证虚拟机镜像在迁移过程中不被破坏,完整地到达目标平台,并且保证虚拟机的状态和功能不会受到迁移的影响。迁移到新平台上的虚拟机能够继续进行原来未完成的工作,而不会意识到自己已经被迁移到另一个平台上。

4)通信加密功能:在云模型中的各个组件之间相互通信时,位于通信网络中的SHA-1算法能够对通信内容自动进行加密解密。当两个组件之间开始通信时,SHA-1算法会自动对进入通信网络中的内容进行加密;当通信内容到达目的地时,SHA-1算法会自动对传输内容进行解密。SHA-1算法的这种加密解密功能不但保证了通信内容的安全性,还保证了通信内容的可读性。

在云计算中,通过使用SHA-1加密算法,我们能够确保云计算模型中的各个环节都是安全可靠的。同时,SHA-1算法的数据加密功能、平台验证功能、虚拟机镜像加密功能以及通信加密功能为保证建立一个安全的实用云提供了一定的技术基础,并为用户或组织存储在云环境下数据中心中的信息和数据的安全性和完整性提供了保证。

4 结束句

安全问题是用户考虑是否使用云服务的一个主要问题,也是目前云计算发展所需要解决的一个关键问题。通过在云计算中引入可信平台模块和SHA-1算法,我们能够有效地解决用户的数据在云环境下的虚拟数据中心存储过程中的安全问题,并为云计算的进一步发展提供理论基础。

参考文献

[1]Krautheim F J.Build Trust Into Utility Cloud Computer[M].University of Maryland,Baltimore County,Baltimore,MD,2010.

[2]吴旭东.云计算的数据安全研究[J].信息网络安全,2011(9):38-40.

[3]师俊芳,李小将,李新明.基于TPM的安全操作系统的设计研究[J].装备指挥技术学院学报,2009,20(5):87-91.

[4]徐贤,龙宇,毛贤平.基于TPM的强身份认证协议研究[J].计算机工程,2012,38(4):23-27.

[5]沈晴霓.虚拟可信平台技术现状与发展趋势[J].信息网络安全,2010(4):34-36.

可信云计算安全研究 篇7

关键词:信息安全,可信软件,代码可信性,可靠性测试,质量分析

0 引言

在IT产业迅速发展的今天,互联网日益深入到社会的政治、军事、经济、文化、生活等方方面面,各种各样的威胁模式也不断涌现。信息领域犯罪的隐蔽性、跨域性、快速变化性和爆发性给信息安全带来了严峻的挑战。面对信息化领域中计算核心的脆弱性,如体系结构的不健全、行为可信度差、认证力度弱等等,信息安全的防护正在由边界防控向源头与信任的防控转移。[1]因此,本文提出了信息安全中的重要因素,即可信计算,并将软件可信性与传统软件质量做了对比,最后对软件可靠编程计算做了深入的探讨。

1 信息安全与可信计算

信息安全是指信息网络的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,信息服务不中断。信息安全的实质是要保护信息系统或信息网络中的信息资源免受各种类型的威胁、干扰和破坏,即保证信息的安全性。根据国际标准化组织的定义,信息安全性的含义主要是指信息的完整性、可用性、保密性和可靠性。

信息安全具有四个侧面:设备安全、数据安全、内容安全与行为安全。[2]可信计算对应行为安全,强调系统服务及行为的综合可信。如何提供可信的信息安全服务,如何确保用户得到可预期的安全,都已成为业界关注的问题。信息安全要从源头、体系、行为抓起,争取实体安全结果的可控与可预期,而这正是可信计算的理念。在信息安全领域,可信计算研究主要着力于解决信息世界当前所面临的普遍的安全威胁和不可信危机。

可信计算技术是信息安全领域一个支撑性的安全技术。从技术角度看,可信计算定义为“系统提供可信赖的计算服务的能力,而这种可信赖性是可以验证的”。比尔·盖茨认为:“可信计算是一种可以随时获得的可靠安全的计算,并包括人类信任计算机的程度。”

目前国内外可信计算的研究主要集中在硬件层面,软件可信作为可信计算的一个分支,还没有得到应有的重视。可信软件是指软件系统的运行行为及其结果总是符合人们的预期,在受到干扰时仍能提供持续的服务。造成软件不可信的主要原因有以下三点:

(1)软件开发的各个阶段都需要人的参与。因为人的工作和通信都不可能完美无缺,出现错误是难免的。人们在软件设计阶段所犯的错误是导致软件失信的主要原因。

(2)抽象世界与现实世界的差异使得软件在现实世界中的运算从抽象观点看来变得不可信。用软件解决现实世界的实际问题的过程如图1所示。

(3)软件复杂性是产生软件缺陷的极其重要的根源。而一旦软件存在缺陷,软件就不可信。随着软件规模的增大,软件的开发、集成和演化变得越来越复杂。

构造可信的软件系统和提供可信的运行保障,确保软件为人们提供可信赖的服务,提高软件可信性是可信计算的核心问题,已经成为国际软件产业和学术界关注的焦点,更是未来软件技术发展和信息安全产业发展的关键技术基础。

2 软件可信性与传统软件质量

鉴于软件可信性在本质上是传统软件质量概念的延伸,或者说是软件质量的一种特殊表现形式,我们在对软件可信性进行度量时可借助于软件质量特性。

但软件可信性与经典的软件质量研究又有所不同。它是软件运行时使用质量属性的综合,它决定了软件在实际条件下使用时,必须满足明确和隐含要求的程度。软件可信性所关注的是使用层面的综合化的质量属性及其保障,是面向软件产品的。

2.1 传统软件质量介绍

根据国际标准化组织对软件质量的定义,软件质量是软件产品满足规定和隐含需求能力有关的所有特征和所有特性的总和。该标准提出从内部质量、外部质量、使用质量和过程质量这四个角度来理解和保障软件质量的属性,如图3所示。

内部质量的测量和评价用于开发阶段的非执行的软件产品。外部质量的测量和评价通常在测试阶段和运行阶段使用。内部质量和外部质量可统称为系统质量。使用质量是指软件产品用于指定的使用环境和条件时,从用户角度体验到的质量,只能在真实的系统环境下获得。使用质量的属性包括软件在特定环境中能达到的有效性、生产率、安全性和满意度等指标,而非软件自身的性质。

2.2 传统软件质量的局限性

传统的软件质量研究主要围绕其内涵“是什么”和保障手段“怎么做”两个核心问题。研究内容偏重于软件系统本身且更关注系统质量的保障,研究思路一般是按照“以系统质量为核心,兼顾使用质量”。

质量研究通常只针对具体的质量属性,较少考虑不同质量属性的综合。软件质量内涵主要研究正确性、可靠性和安全性等具体的质量属性和指标,而且这些属性的关注点各有不同。

2.3 软件可信性

软件可信性是软件运行时使用质量属性的综合,决定了软件在实际条件下使用时,满足明确和隐含要求的程度。它包括可信任度、可信赖性及高自信力三方面内容,包含的属性如图4所示。有些可信性属性采用了相同名字,但是其内涵和定义并不相同的。它们体现了使用者的感受,包含较多主观和个性化的因素。

软件可信性是软件质量的一种特殊表现形式,与经典的软件质量研究不同,它所关注的是使用层面的综合化的质量属性及其保障。传统的系统质量测量的客观性较高,而可信性测量则是客观和主观的结合,相对而言,在较大程度上涉及到用户个性化的体验和评价。

3 可信软件编程计算

针对前述的软件可信性度量,如果将软件可信性度量类似软件产品质量度量一样放入到软件生命周期中考察,软件可信性度量问题转化为:在软件生命周期的不同阶段模型、代码、服务是否与要求有偏差?是否存在缺陷?其中编码阶段的代码可信性度量是整个软件可信性度量的基础。

代码可信性度量是将代码编写质量、代码生成质量、代码安全性及可靠性分析的结果作为基础,合理选择度量元,建立覆盖可信性中的安全性、可用性以及可靠性等代码可信属性的代码可信性度量模型,最终能够开展代码的可信性计算和度量,如图5所示。

通过发现代码中的偏差和缺陷提高软件编程的可信性或可靠性,保证软件系统的安全性。涉及编程规则检查、代码静态分析、软件复杂性度量、软件可靠性评估、软件可靠性测试等方面。

3.1 编程规则检查

编程规则检查为了发现因程序员的粗心而造成的潜在错误和容易导致错误的部分,其中有些错误很难排查,而这些又恰好是合乎程序语言的语法要求,而编译器却不能发现的。英国汽车工业软件可靠性协会(MISRA)于1994年提出了针对C语言的标准—MISRA C程序设计标准MISRA C标准从程序的静态分析、静态数据流分析、复杂性分析等各方面对编码提出了具体要求。国外有专门针对C、C++、Ada、Java等语言的编程规则检查工具。它们通常既支持MISRA标准,也有自己的规则集,还允许用户自行定义新规则。

3.2 软件错误检测

软件错误检测是静态分析或静态测试的一项重要内容,它能够改善软件的安全性和可靠性。它使用算法技术检查源代码中的错误,并标明问题区域,以便编程人员做更详细的检查。它允许程序员创建代码的图表或图形描述,让程序员们对代码的效果有一个更好的理解。它需要有经验丰富的开发者分析检测结果并检查其中的可疑之处,排除代码错误。编译器只能识别出语法规则上的错误,如输入错误和语法错误。静态分析则检查源代码中存在的问题,如缓冲区溢出、无效指针引用、未初始化变量等漏洞,找出各类可直接导致安全漏洞的错误。

3.3 软件复杂性度量

软件复杂性问题是影响软件质量的重要因素,对软件复杂性的定量描述,是软件复杂性分析和控制的基础。目前,有多种进行软件复杂性分析和度量的方法,如Line Count复杂度、Halstead复杂度、McCabe复杂度等。可以通过应用相关工具进行软件复杂性分析结果的分析,确定影响软件可靠性的软件设计及代码编写问题及相关因素。

3.4 目标代码质量分析

编译程序的代码生成质量以及程序运行的效率对软件可靠性有着严重的影响。可以应用相关基准测试程序对高级语言编译器进行标准符合性测试或一致性测试,以及性能基准测试。进行目标代码质量分析还需要关注第三方构件库的目标代码质量保证和运行环境的质量保障,如虚拟机等。

3.5 软件可靠性评估

软件可靠性是软件质量的一个极其重要的因素,是评估软件质量的重要指标之一。软件可靠性可以从定性和定量两个方面进行评估。通过对现存的软件可靠性验证测试方法进行系统的分析比较,有效地利用软件已有的可靠性测试信息,获得较客观的软件可靠性参数的具体分布,确定用于软件可靠性评估的度量元与参数。

3.6 软件可靠性测试

软件可靠性牵涉到软件生产的全过程,最终落实到软件产品上。保证软件可靠性的关键步骤是软件测试。软件测试与软件可靠性紧密相关。软件中隐藏的故障数目,直接决定软件的可靠性。

软件可靠性测试是指为了达到或验证用户对软件的可靠性要求而对软件进行的测试,是一种有效的软件测试和软件可靠性评价技术。软件可靠性测试可以有效地发现程序中影响软件可靠性的缺陷,从而实现可靠性增长。尽管软件可靠性测试也不能保证软件中残存的错误数达到最少,但它可以保证软件的可靠性达到较高的要求。

软件可靠性测试是获取软件可靠性估算数据的重要手段,它通过发现软件系统可靠性缺陷,为软件的使用和维护提供数据,确认软件是否达到可靠性的定量要求。通常基于是类似于硬件操作剖面上的统计测试方法,即被测软件操作剖面的统计测试方法。但这种方法在操作剖面确定后如何针对由于长期使用软件性能下降,甚至完全失效这种严重影响软件可靠性的问题上有一定的不足,而解决这一问题的有效方法就是基于操作剖面的压力测试或疲劳测试方法。这种方法针对软件有别于硬件的自身特性,确定重要的压力测试点,并在这些压力测试点上分别进行相应类型的压力测试,以保证软件经过长时间运行后,性能不会下降,失效不会产生,来达到提高软件可靠性的目的。这种面点结合、互相补充的测试思想丰富了软件可靠性测试方案。

4 结语

可信计算对应着信息安全中的行为安全,强调系统服务及行为的综合可信。软件可信作为可信计算的一个分支,应该给予更高的重视。软件可靠性是软件质量的内在核心部分。本文对信息安全与可信计算之间的关系做了阐述,并将软件可信性与传统软件质量做了对比,最后从软件最核心的要素代码入手,研究了软件可信编程,强调了可信编程计算作为一种行之有效的信息安全技术,对于软件质量保证和增强信息安全具有非常重要的现实意义和实用价值。

参考文献

[1]计世网,可信计算保护信息安全——产业发展新阶段,2009,(3)

[2]张焕国等,我国可信计算研究与发展,中国计算机学会通讯,2010,6(2).

[3]蔡建平,软件可靠性测试方法新探,计算机工程与设计,2009,(10).

[4]闵应骅等,关于dependable computing和trusted computing的翻译,中国科技术语,2009,(6).

上一篇:歌唱心理与歌唱意识下一篇:企业增值报告