关于云计算中可信计算的说明
2012-03-15 16:38
197 查看
(YOUXIANG:lichunwen1987ATqq。com)
本人是北邮计算机院研究生,现在主要研究云计算中的可信计算。现在云计算的可信计算问题在世界范围内的计算机领域都是一个研究热点,国内的各大高校和研究所(国防科大、北交、浙大、东南大学、中科院等)也在致力于这方面的研究。国外的研究成果很多,并且在可信计算方面已经形成比较完善的体系,也有成熟的产品,国内也处在积极跟进的状态,也不失一些很好的研究成果。但是对于我们研究生来说,对于基础性的学习资料还是有所欠缺。我在刚开始研究的时候就基本是一头雾水。比较权威和完善的资料都是国外的一些晦涩的标准,如果在还没有了解一些基础知识的情况下去看那些东西,感觉真是云里雾里的。而国内的基础资料很多也都是对外文的翻译,看了反而更加混乱,并且重复率很高,这块内容百度出来的也没什么太多的东西,所以我有了想把这些东西写成博客发布出来的想法,方便大家一起讨论学习。
下面谈一下在云计算中可信性的重要性:
云计算分为三种服务模式,即:IaaS((Infrastructure-as-a-Service)—基础设施即服务、PaaS(Platform-as-a-Service)—平台即服务、SaaS(Software-as-a-Service)—软件即服务。IaaS把IT资源、数据、应用作为服务通过互联网提供给用户,同时把IT基础资源(计算、网络、存储)形成资源池按需提供。终端用户(企业)可以通过网络获得自己所需要的计算资源,运行自己的业务系统。这种方式使用户不必自己建设这些基础设施,而只是通过对所使用资源付费即可,创造出更高水平的效率和经济性。但IaaS的这种云服务模式,用户需将数据和应用托管在云端以使用云服务,例如将自己的应用程序在云端虚拟机上运行。这样即是去了用户对自身资源的直接控制。由此导致了云的安全性、隐私性、可控性、可信性问题。所谓可信性,即人、数据、实体、信息或者进程按照预期的方式行为称之为可信的。具体可以包括人与人之间的可信,计算机与计算机之间可信,人与计算机之间的可信。
对于云计算中的可信性问题,主要面临两方面的挑战:
使用云服务用户角度:传统模式下,计算在服务器上运行的位置取决于用户的所在地,用户可以物理访问机器、可以直接监控机器的状态、可以令信任的人管理机器;而在云模式下,用户数据或者应用部署在云端,由云服务提供商来管理物理机器,使用者仅能利用网络连接云端做有限的操作,不具有直接管理物理机的能力,这样导致了云服务用户对云提供商对其数据和应用处理的不信任。事实上,这可以导致内部手段窃取数据问题(Insider Access),威胁一方面来自于云提供商的内部恶意员工的窃取,另一方面由于云计算资源的共享使用,也可以来自使用云服务的其他用户。例如,MarcoSlaviero的一篇博客就展示了一种通过Amazon云服务使用者的身份通过拒绝服务攻击来侵害其他Amazon云服务用户的例子( http://www.sensepost.com/blog/3797.html)。
从云服务提供商的角度:云服务提供商可能并不知道在其云平台上用户部署应用的具体细节以及用户存放的数据细节。用户可能使用云服务部署恶意的应用来窃取云端其他用户资源或者依托云端的计算资源做非法攻击,最恶意的用户甚至可以通过部署在云端的恶意应用窃取云端计算资源,然后通过强大的云计算能力突破个人计算能力限制,直接使用暴力破解的手段获取密码,导致“机制崩溃”。以Facebook为例,它允许第三方应用在其平台上的自由发布,并不对其进行详细的验证,用户如果添加了某一恶意应用,则平台或其他使用者的敏感数据可能会遭到恶意应用的窃取和破坏。
由于云计算按需付费,扩展性好,资源动态分配等特点,其服务模式广受中小企业组织的欢迎,但是云固有的缺陷如其可信性问题阻碍了云计算在大型企业、数据敏感型组织(银行、医院、政府机关)等的更广泛应用。富士通2010年的一项调查表明,88%的潜在云用户都会担心谁可以获取他们的数据,需要了解更多云端物理服务器的运行方式。
由此可见,解决云计算中的可信问题具有重要现实意义。
而对于该问题的解决,现在主要有的手段有包括立法使用法律限制,比如可以规定,如果用户托管在云端的数据丢失了,那么责任就是在云服务提供商,不论是其内部的原因还是其本身就是受害者,都由其承担法律责任;还可以采用数据加密的方式,一般针对于用户存储在云端的数据,前两天正好在CSDN上看到一篇文章(http://cloud.csdn.net/a/20120313/313050.html),国外一个叫Porticor公司已经给出了具体的解决方案,即基于银行安全保管箱的概念,这种保管箱有两个密钥,一个交给客户,另一个交给Porticor虚拟密钥管理服务。用户必须要同时有自己的密钥和porticor的密钥才可以获取自己的数据。但这样带来的问题是,数据被加密在,用户托管在云端的数据除了云提供商提供保存功能外,还会提供一些与数据内容相关的服务,这样就棘手了,例如用户的数据检索,用户的数据审查等。而第三种方式就和可信计算相关了,即采用可信第三方的形式,用户和云端都信任第三方,由第三方对云进行可信审查,将审查结果返回给用户。这里可信第三方对云的审查需要使用可信计算技术,保证云提供商提供的审查结果是可信的、并且具有不可抵赖性。可信计算的实现主流的方式就是下图的架构,很多论文中都以这个架构为基础,在可信计算基础上进行其他研究。http://openpts.sourceforge.jp/。其中每个模块都有一些开源实现。以后我写的东西很多也是针对这些的分析和使用。
本人是北邮计算机院研究生,现在主要研究云计算中的可信计算。现在云计算的可信计算问题在世界范围内的计算机领域都是一个研究热点,国内的各大高校和研究所(国防科大、北交、浙大、东南大学、中科院等)也在致力于这方面的研究。国外的研究成果很多,并且在可信计算方面已经形成比较完善的体系,也有成熟的产品,国内也处在积极跟进的状态,也不失一些很好的研究成果。但是对于我们研究生来说,对于基础性的学习资料还是有所欠缺。我在刚开始研究的时候就基本是一头雾水。比较权威和完善的资料都是国外的一些晦涩的标准,如果在还没有了解一些基础知识的情况下去看那些东西,感觉真是云里雾里的。而国内的基础资料很多也都是对外文的翻译,看了反而更加混乱,并且重复率很高,这块内容百度出来的也没什么太多的东西,所以我有了想把这些东西写成博客发布出来的想法,方便大家一起讨论学习。
下面谈一下在云计算中可信性的重要性:
云计算分为三种服务模式,即:IaaS((Infrastructure-as-a-Service)—基础设施即服务、PaaS(Platform-as-a-Service)—平台即服务、SaaS(Software-as-a-Service)—软件即服务。IaaS把IT资源、数据、应用作为服务通过互联网提供给用户,同时把IT基础资源(计算、网络、存储)形成资源池按需提供。终端用户(企业)可以通过网络获得自己所需要的计算资源,运行自己的业务系统。这种方式使用户不必自己建设这些基础设施,而只是通过对所使用资源付费即可,创造出更高水平的效率和经济性。但IaaS的这种云服务模式,用户需将数据和应用托管在云端以使用云服务,例如将自己的应用程序在云端虚拟机上运行。这样即是去了用户对自身资源的直接控制。由此导致了云的安全性、隐私性、可控性、可信性问题。所谓可信性,即人、数据、实体、信息或者进程按照预期的方式行为称之为可信的。具体可以包括人与人之间的可信,计算机与计算机之间可信,人与计算机之间的可信。
对于云计算中的可信性问题,主要面临两方面的挑战:
使用云服务用户角度:传统模式下,计算在服务器上运行的位置取决于用户的所在地,用户可以物理访问机器、可以直接监控机器的状态、可以令信任的人管理机器;而在云模式下,用户数据或者应用部署在云端,由云服务提供商来管理物理机器,使用者仅能利用网络连接云端做有限的操作,不具有直接管理物理机的能力,这样导致了云服务用户对云提供商对其数据和应用处理的不信任。事实上,这可以导致内部手段窃取数据问题(Insider Access),威胁一方面来自于云提供商的内部恶意员工的窃取,另一方面由于云计算资源的共享使用,也可以来自使用云服务的其他用户。例如,MarcoSlaviero的一篇博客就展示了一种通过Amazon云服务使用者的身份通过拒绝服务攻击来侵害其他Amazon云服务用户的例子( http://www.sensepost.com/blog/3797.html)。
从云服务提供商的角度:云服务提供商可能并不知道在其云平台上用户部署应用的具体细节以及用户存放的数据细节。用户可能使用云服务部署恶意的应用来窃取云端其他用户资源或者依托云端的计算资源做非法攻击,最恶意的用户甚至可以通过部署在云端的恶意应用窃取云端计算资源,然后通过强大的云计算能力突破个人计算能力限制,直接使用暴力破解的手段获取密码,导致“机制崩溃”。以Facebook为例,它允许第三方应用在其平台上的自由发布,并不对其进行详细的验证,用户如果添加了某一恶意应用,则平台或其他使用者的敏感数据可能会遭到恶意应用的窃取和破坏。
由于云计算按需付费,扩展性好,资源动态分配等特点,其服务模式广受中小企业组织的欢迎,但是云固有的缺陷如其可信性问题阻碍了云计算在大型企业、数据敏感型组织(银行、医院、政府机关)等的更广泛应用。富士通2010年的一项调查表明,88%的潜在云用户都会担心谁可以获取他们的数据,需要了解更多云端物理服务器的运行方式。
由此可见,解决云计算中的可信问题具有重要现实意义。
而对于该问题的解决,现在主要有的手段有包括立法使用法律限制,比如可以规定,如果用户托管在云端的数据丢失了,那么责任就是在云服务提供商,不论是其内部的原因还是其本身就是受害者,都由其承担法律责任;还可以采用数据加密的方式,一般针对于用户存储在云端的数据,前两天正好在CSDN上看到一篇文章(http://cloud.csdn.net/a/20120313/313050.html),国外一个叫Porticor公司已经给出了具体的解决方案,即基于银行安全保管箱的概念,这种保管箱有两个密钥,一个交给客户,另一个交给Porticor虚拟密钥管理服务。用户必须要同时有自己的密钥和porticor的密钥才可以获取自己的数据。但这样带来的问题是,数据被加密在,用户托管在云端的数据除了云提供商提供保存功能外,还会提供一些与数据内容相关的服务,这样就棘手了,例如用户的数据检索,用户的数据审查等。而第三种方式就和可信计算相关了,即采用可信第三方的形式,用户和云端都信任第三方,由第三方对云进行可信审查,将审查结果返回给用户。这里可信第三方对云的审查需要使用可信计算技术,保证云提供商提供的审查结果是可信的、并且具有不可抵赖性。可信计算的实现主流的方式就是下图的架构,很多论文中都以这个架构为基础,在可信计算基础上进行其他研究。http://openpts.sourceforge.jp/。其中每个模块都有一些开源实现。以后我写的东西很多也是针对这些的分析和使用。
相关文章推荐
- (转)胡伟武关于计算所购买MIPS结构授权的几点说明
- 关于客户端自动设置可信站点以及ActiveX控件运行方式的原理说明(转)
- 关于关键路径计算的说明
- 关于功放的正确调整及安全匹配音箱方法的计算及说明
- 关于试题分析报告中命题难度和区分度计算的有关说明
- 关于计算一个字符串中的,数字,字母,空格,其他字符个数说说明
- 关于配置android configfs gadgets的补充说明
- 关于stm32 RTC配置相关说明
- 关于计算机速度的计算
- 关于MAC(PRO/AIR)祼装WINDOWS(XP/W7/W8)的说明。
- ExtJS textField 关于验证(Regex)的一些属性说明
- 关于Oracle9i日期格式几点要说明的问题
- 关于MSCOMM控件的一些说明
- 关于圆的计算
- 关于cocos2d-x 3.X的搭建和编译成Android平台程序的说明
- 关于SICK公司的LMS511返回数据的数据结构说明
- 关于getByte()方法的说明,本地调用base64没问题,远程调用就出现问题
- 关于@property及@synthesize以两Demo简单说明
- 关于CLASS , SEL, IMP的说明
- PCLint 帮助中关于如何获得gcc/g++编译宏定义和头文件搜索目录的方法说明