To promote the Internet new IT business transformation
Starting from "core", leading the future
Adhering to the concept of innovation, leading the development of science and technology in China in the future with a very forward-looking technological breakthrough
Company News Trade News
Trade News
何谓可信计算?
Time:06-15-2016
Source:ICTK

642_副本.jpg

 

我相信这样的疑惑是个普遍的问题,这篇先从概念和理论科普下,给大家普及下可信计算,后续还会有一些相关应用和实践的文章。


随着信息技术的不断发展,信息安全的重要性不言而喻,相关的研究人员也注意到,许多计算机系统和网络的安全问题源自于计算机终端本身,所以只有保证了计算机自身的信息安全才能将这些问题从根本上得到解决,而这就要求人们从计算机中的集成电路、体系结构和操作系统等方面入手来突破,在这种情况下可信计算技术应运而生。

 

如今的互联网已由最初为人类生产生活提供便利的一种工具,逐步发展成为人类社会赖以生存的基础设施之一,如同水、电、煤一样,彻底改变我们的生产生活。在目前“互联网+”时代,越来越多的传统行业与企业将加入到互联网中。变化更快,生态链条更加繁复,这将使得安全本身更加复杂,过去传统技术层面的安全体系无法保护和应对互联网时代的需求,安全体系有待于进一步上升到应用层面。

643_副本.jpg

构建适应“互联网+”环境下可信的信息安全体系,确保“互联网+”环境的信息安全,事关互联网健康生态建设全局。可信计算(trusted computing)是解决安全难题的一大“妙计”,是一种运算和防护并存的新计算模式。当前,大部分网络安全系统所采用的防护方法是“封堵查杀”,主要由防火墙、入侵检测和病毒防范等组成,事实证明该方法过于消极被动。

 

644_副本.jpg

 

而可信计算是要为计算机建立起免疫系统,从专业的定义上来说,可信计算是指计算运算的同时进行安全防护,使计算结果总是与预期一致,计算全程可测可控,不被干扰。可信计算运算与防护并存,具有身份识别、状态度量、保密存储等功能,能及时识别“自己”和“非己”成份,从而破坏和排斥进入机体的有害物质。

而可信计算是要为计算机建立起免疫系统,从专业的定义上来说,可信计算是指计算运算的同时进行安全防护,使计算结果总是与预期一致,计算全程可测可控,不被干扰。可信计算运算与防护并存,具有身份识别、状态度量、保密存储等功能,能及时识别“自己”和“非己”成份,从而破坏和排斥进入机体的有害物质。


可信计算概念的提出

可信计算的概念最早出现在美国的彩虹系列信息系统安全的相关文件中,在1983年,美国国防部发表了可信计算机系统评价准则(Trusted Computer System Evaluation Criteria,简称TCSEC),在《准则》中,可信计算机和可信计算基(Trusted Computing Base,简称为TCB)这两个重要的概念首次进入人们的实现, 同时美国国防部也将可信计算基作为整个可信计算系统安全的技术基础。紧接着在1984年美国国防部作为补充文件又先后提出了可信数据库解释(Trusted Database Interpretation,简称为TDI)和可信网络解释(Trusted Network Interpretation,简称为TNI)。

1999年,由Intel、惠普、康柏、微软、IBM等业界大公司牵头,成立了可信计算平台联盟(TCPA),并提出了“可信计算”的概念,其主要思路是增强现有PC终端体系结构的安全性,并推广为工业规范,利用可信计算技术来构建通用的终端硬件平台。


可信计算的关键技术

可信计算是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高系统整体的安全性。 中文书籍推荐冯登国教授的《可信计算理论与实践》,其对可信计算的研究历史、现状和技术有比较全面和深入的理解,还有张焕国教授的《可信计算》一书,另外推荐综述论文《可信计算技术研究》(发表在计算机研究与发展期刊上)和《The Theoryand Practice in the Evolution of Trusted Computing》(发表在科学通报CSB上)。

曾任职于IBM公司的DavidChallener 等人合著的《A practicalGuide to Trusted Computing》书中围绕不断快速发展的可信计算学科展开全书,其内容涵盖了如何使用可信计算模块(TPM)提供安全解决方案,并讨论了如何编码实现,介绍了TPM的基本功能以及如何编写代码通过标准TCG(TrustedComputing Group,可信计算组织)软件栈访问这些功能,同时还提供了相关范例,并讨论了利用TPM能够实现的解决方案。

645_副本.jpg

可信计算包括5个关键技术概念,他们是完整可信系统所必须的,这个系统将遵从TCG规范:

(1) Endorsement key 签注密钥

签注密钥是一个2048位的RSA公共和私有密钥对,它在芯片出厂时随机生成并且不能改变,这个私有密钥永远在芯片里,而公共密钥用来认证及加密发送到该芯片的敏感数据;

(2) Secure input and output 安全输入输出

安全输入输出是指电脑用户和他们认为与之交互的软件间受保护的路径。当前,电脑系统上恶意软件有许多方式来拦截用户和软件进程间传送的数据,例如键盘监听和截屏;

(3) Memory curtaining 储存器屏蔽

储存器屏蔽拓展了一般的储存保护技术,提供了完全独立的储存区域,例如,包含密钥的位置。即使操作系统自身也没有被屏蔽储存的完全访问权限,所以入侵者即便控制了操作系统信息也是安全的;

(4) Sealed storage 密封储存

密封存储通过把私有信息和使用的软硬件平台配置信息捆绑在一起来保护私有信息,意味着该数据只能在相同的软硬件组合环境下读取,例如,某个用户在他们的电脑上保存一首歌曲,而他们的电脑没有播放这首歌的许可证,他们就不能播放这首歌;

(5) Remote attestation 远程认证

远程认证准许用户电脑上的改变被授权方感知,例如,软件公司可以避免用户干扰他们的软件以规避技术保护措施,它通过让硬件生成当前软件的证明书,随后电脑将这个证明书传送给远程被授权方来显示该软件公司的软件尚未被干扰(尝试破解)。

在软件系统领域,高可信软件系统要求能充分地证明或认证该软件系统提供服务时满足一些关键性质(称为高可信性质)。典型的例子如核电站控制软件,其可靠安全性十分重要,需要给予充分的验证。近十年来,软件可信性研究受到了国际上广泛的重视。在美国,DARPA、NSF、NASA、NSA、NIST、FAA、FDA等机构都积极参与关于高可信软件和系统的研究开发。软件系统的可信性质是指该系统需要满足的关键性质,当软件一旦违背这些关键性质会造成不可容忍的损失时,称这些关键性质为高可信性质。

软件可信性质常常有以下几种:

(1)可靠性(reliability)

在规定的环境下、规定的时间内软件无失效运行的能力;

(2)可靠安全性(safety)

软件运行不引起危险、灾难的能力;

(3)保密安全性(security)

软件系统对数据和信息提供保密性、完整性、可用性、真实性保障的能力;

(4)生存性(survivability)

软件在受到攻击或失效出现时连续提供服务并在规定时间内恢复所有服务的能力;

(5)容错性(faulttolerance)

软件在故障(硬件、环境异常)出现时保证提供服务的能力;

(6)实时性(realtime)

软件在指定的时间内完成反应或提交输出的能力。

高可信软件系统中会涉及上述性质的一个或多个,这些可信性质与软件的功能性混合在一起,使得高可信性质的获得和保证变得复杂。

形式化方法的重要目标是以一种严格的工程方法进行软件的开发,它作为一种思想、方法、技术渗透到软件开发的各个活动中,其理论基础是数学化的程序理论,形式化方法是关于在计算系统的开发中进行严格推理的理论、技术和工具,它主要包括形式化规约技术和形式化验证技术。

形式化规约技术使用具有严格数学定义语法和语义的语言刻画软件系统及其性质,可以尽早发现需求和设计中的错误、不一致、歧义和不完全。

形式化验证是在形式化规约的基础上建立软件系统及其性质的关系,即分析系统是否具有所期望性质的过程,主要分有两种途径:模型检验和定理证明。其中,模型检验技术是通过搜索待验证软件系统模型的有穷状态空间来检验系统的行为是否具备预期性质的一种有穷状态系统自动验证技术。在模型检验中,系统用有穷状态模型建模,其性质规约则通常是时序逻辑或模态逻辑公式,也可以用自动机语言描述。通过有效的搜索来检验有穷状态模型是否满足规约,如果不满足,它还能给出使性质公式为假的系统行为轨迹。符号化模型检验技术大大提高了可有效应用模型检验技术的系统规模,使得模型检验在工业界逐步得到应用。模型检验已经成为形式化方法中系统验证的重要途径,模型检验应用面临的主要问题是状态爆炸问题。目前的解决思路有两类,一类途径是通过发现模型的状态空间的结构特点来缓解状态空间爆炸问题,主要的方法包括符号化模型检验、对称模型检验、偏序模型检验、On-the-fly模型检验等;另一类途径是通过抽象和分解把复杂系统的验证转化成模型检验可以处理的问题,主要的方法包括抽象方法、组合方法等。


可信计算目前的发展及现状

早期可信计算的研究主要以TCG(http://www.trustedcomputinggroup.org/resources/tpm_main_specification )组织为主,国内开展可信计算研究的思路基本也是跟着TCG的步伐。可信计算最核心的就是TPM硬件芯片,其TPM 1.2规范是比较经典的,大多数厂家的芯片都以TPM 1.2为标准。不过,现在该规范已经升级到TPM 2.0,也称为“TrustedPlatform Module Library Specification”,而且遵循该规范的新芯片也已经面世。

646_副本.jpg

意法半导体于早在2011年发布的ST33TPM12LPC是业界首款基于32位安全微处理器的可信平台模块,性能超过当时现有的独立可信平台模块,从而可提高基于硬件的加密技术的安全水平。

国内对应的是TCM芯片,可以参考“可信计算密码支撑平台功能与接口规范”,而且已经成为国家标准,即GB/T 29829-2013。

而随着可信计算的发展,可信平台模块不一定再是硬件芯片的形式,特别是在资源比较受限的移动和嵌入式环境中,可信执行环境(TEE,TrustedExecution Environment)的研究比较热,如基于ARM TrustZone、智能卡等可以实现可信计算环境。

另一个热点是物理不可克隆函数PUF(Physical Unclonable Functions),其可以为可信计算提供物理安全特征,实现密钥安全存储、认证、信任根等功能,而且对应用到物联网、可穿戴设备、BYOD等场景中具有很好的优势。

在我们的日常生活中,目前可信计算机无处不在,作为可信计算机生态系统的组成部分,可信平台模块是安装在电脑主板上的高安全性处理器,用于加强电脑对软件攻击或篡改事件等安全威胁的防御能力。可信平台模块能够保护敏感数据,如密钥、密码及数字证书,提供可信的系统数据完整性报告。据TCG的数据显示,几乎全部商用个人电脑、服务器以及各种嵌入式系统目前均内置可信平台模块。

目前已经有超过135个组织加入TCG,包括商业成员、联络成员、受邀专家和政府参与者(此处提供了完整的成员列表:http://www.trustedcomputinggroup.org/about_tcg/tcg_members)。

647_副本.jpg


可信计算开源项目

了解了可信计算的思想和原理,如果不从实际上体验一把可信计算的功能也是很痛苦的。而现在在国内使用TPM的芯片很困难,TCM芯片在很多方面可能与国际主流用法不一致。因此,为了实际使用可信计算功能,这里推荐一些开源项目。

(1)TPMEmulator

开源地址:https://github.com/PeterHuewe/tpm-emulator

不需要实际TPM芯片就可以通过软件提供可信平台模块的功能,可以在Windows和Linux上进行编译后使用,建议和可信软件栈TROUSERS一起使用。

(2)可信软件栈TROUSERS

开源地址:http://sourceforge.net/projects/trousers

IBM实现的一套开源软件栈,是Linux下进行可信计算应用开发的主要接口。

(3)内核完整性度量IMA

开源网址:http://sourceforge.net/p/linux-ima/wiki/Home/

结合TPM安全芯片,在Linux内核实现了可信计算的完整性度量体系,对所有可执行程序进行了度量。

(4)EMSCB项目

开源网址:http://www.emscb.com/content/pages/49241.htm

由德国政府赞助,基于对TPM的使用开发一些典型的安全应用(如加密等),可以基于它们的代码理解可信应用开发的思路,以及嵌入到其它应用开发中。


对可信计算的思考

(1)存在关键技术尚待攻克

目前,无论是国外还是国内的可信计算机都没能完全实现TCG的PC技术规范,例如,动态可信度量、存储、报告机制,安全I/O等,这些关键技术还需要进一步研究。

(2)应用环境尚存在局限性

目前可信计算的的应用还处于很有限的环境中,无论是国内还是国外,可信技术从应用角度讲都还仅仅处于起步阶段。而应用的局限性还要依靠人们对于可信计算、信息安全在认识和意识上的提高。事实上,可信计算的应用不仅局限于我们寻常所了解的应用于电脑与服务器上的TCM芯片、可信操作系统与可信存储,他还可以扩展到网络层面、应用于手机安全性的保护,甚至在家用电器与汽车上也可以应用到可信计算。由于TCM所解决的归根到底是信任问题,它是一种控制行为,因此它的应用可以无限扩展。

(3)可信概念被滥用

企业、用户安全问题层出不穷,安全似乎是一个永远不能根除的问题,在这样的背景下用户期待一个救世主出现,能一劳永逸的解决一起问题;厂商也需要创新的技术来提升产品质量,这时,一个大家都不怎么明白的词出现了——“可信计算”。用户对于可信有很高的期待,厂家也用它来大做文章。

(4)可信不等于绝对安全

安全是一个极其复杂的工程,其中不只是技术问题。可信计算是一种科学的理论方法,是科学家、学者多年的研究成果,我们不能因为目前的一些可信技术仍然滞留在理论基础上或者被一些厂家独创的“可信”所迷惑就来质疑可信计算这个理论,更不能武断的提出可信计算不能解决问题。还记得《Who Am I》那句台词吧——没有系统绝对安全。正因如此,安全需要每一位从业者的力量。


后续还有关于使用可信技术解决问题的文章,敬请期待。

 

 

本文转载自微信公众号:HackEver

Relevant news