可信计算
计算机专业术语
可信计算/可信用计算(Trusted Computing,TC)是一项由可信计算组(可信计算集群,前称为TCPA)推动和开发的技术。可信计算是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高系统整体的安全性。签注密钥是一个2048位的RSA公共和私有密钥对,它在芯片出厂时随机生成并且不能改变。这个私有密钥永远在芯片里,而公共密钥用来认证及加密发送到该芯片的敏感数据。
发展背景
信息安全具有四个层面:设备安全、数据安全、内容安全与行为安全。可信计算属于行为安全,据中国信息安全专家在《软件行为学》一书中描述,行为安全应该包括:行为的机密性、行为的完整性、行为的真实性等特征。
早期可信计算的研究主要以TCG(国际可信计算工作组)组织为主,国内开展可信计算研究的思路基本也是跟着TCG的步伐。可信计算最核心的就是TPM硬件芯片,其TPM 1.2规范是比较经典的,大多数厂家的芯片都以TPM 1.2为标准。该规范已经升级到TPM 2.0,也称为“Trusted Platform Module Library Specification”,而且遵循该规范的新芯片也已经面世。
国内对应的是TCM芯片,可以参考“可信计算密码支撑平台功能与接口规范”,而且已经成为国家标准,即GB/T 29829-2013。
而随着可信计算的发展,可信平台模块不一定再是硬件芯片的形式,特别是在资源比较受限的移动和嵌入式环境中,可信执行环境(TEE,Trusted Execution Environment)的研究比较热,如基于ARM TrustZone、智能卡等可以实现可信计算环境。另一个热点是物理不可克隆函数PUF(Physical Unclonable Functions),其可以为可信计算提供物理安全特征,实现密钥安全存储、认证、信任根等功能,而且对应用到物联网、可穿戴设备、BYOD等场景中具有很好的优势。关于这方面的标准可以参考“GlobalPlatform”,一个开放式联盟,定义了关于卡、设备、系统等各个方面的规范,其中包含与可信计算联系比较紧密的GP-TEE规范。
这项技术的拥护者称它将会使计算机更加安全、更加不易被病毒和恶意软件侵害,因此从最终用户角度来看也更加可靠。此外,他们还宣称可信计算将会使计算机和服务器提供比现有更强的计算机安全性。而反对者认为可信计算背后的那些公司并不那么值得信任,这项技术给系统和软件设计者过多的权利和控制。他们还认为可信计算会潜在地迫使用户的在线交互过程失去匿名性,并强制推行一些不必要的技术。最后,它还被看作版权和版权保护的未来版本,这对于公司和其他市场的用户非常重要,同时这也引发了批评,引发了对不当审查(censorship)关注。
很多著名的安全专家已经表明了对可信计算技术的反对,因为他们相信它将给计算机制造商和软件作者更多限制用户使用自己的计算机的能力。有一些人关注的则是可信计算可能(或者本身就是要)起到限制自由软件市场、私有软件开发和更一般化的整个IT市场竞争的作用。有些人,如理查德·斯托曼,因此给它起了一个恶名——背叛的计算(Treacherous computing)。
不管这场争论以及可信计算最终产品的形式怎样,在计算机领域拥有重大影响的公司,如芯片制造商Intel、AMD和系统软件开发商Microsoft,都计划在下一代的产品中引入可信计算技术,如Windows Vista。
核心概念
可信计算包括5个关键技术概念,他们是完整可信系统所必须的,这个系统将遵从TCG(Trusted Computing Group)规范:
签注密钥
签注密钥是一个2048位的RSA公共和私有密钥对,它在芯片出厂时随机生成并且不能改变。这个私有密钥永远在芯片里,而公共密钥用来认证及加密发送到该芯片的敏感数据
安全输入输出
安全输入和输出(I/O)指的是计算机用户与他们认为与之进行交互的软件间的受保护的路径。在当前的计算机系统中,恶意软件有很多途径截取用户与软件进程间传送的数据。例如,键盘监听者(Keyboard Logger)和屏幕截取者(Screen Scraper)。安全I/O表现为受硬件和软件保护和验证的信道,采用校验值来验证进行输入输出的软件没有受到篡改。将自身注入到信道间的恶意软件会被识别出来。
尽管安全(I/O)提供针对软件攻击的防护,但它未必提供对基于硬件的攻击的防护,例如物理插入用户键盘和计算机间的设备。
储存器屏蔽
储存器屏蔽拓展了一般的储存保护技术,提供了完全独立的储存区域。例如,包含密钥的位置。即使操作系统自身也没有被屏蔽储存的完全访问权限,所以入侵者即便控制了操作系统信息也是安全的。
封装储存
封装存储从当前使用的软件和硬件配置派生出的密钥,并用这个密钥加密私有数据,从而实现对它的保护。这意味着该数据仅在系统拥有同样的软硬件组合的时候才能读取。例如,用户在他的计算机上保存自己的日记,不希望其他的程序或计算机读取。这样一来,病毒可以查找日记,读取它,并将它发给其他人。Sircam 病毒所作的与此类似。即使日记使用了口令保护,病毒可能运行字典攻击。病毒还可以修改用户的日记软件,用户使用软件打开日记时通过受篡改的软件可能泄漏其中的内容。使用封装存储,日记被安全地加密,只有在该计算机上的未被修改的日记软件才可以打开它。
远程证明
远程证明使得用户或其他人可以检测到该用户的计算机的变化。这样可以避免向不安全或安全受损的计算机发送私有信息或重要的命令。远程证明机制通过硬件生成一个证书,声明哪些软件正在运行。用户可以将这个证书发给远程的一方以表明他的计算机没有受到篡改。
远程证明通常与公钥加密结合来保证发出的信息只能被发出证明要求的程序读取,而非其它窃听者。
再用上面日记的例子,用户的日记软件可以将日记发送给其他的机器,但是只能发给那些能够证明所运行的是一份安全的日记软件。与其他的技术结合起来,远程证明可以为日记提供一个更加安全的路径:通过键盘输入以及在屏幕显示时受到安全I/O的保护,内存屏蔽在日记软件运行时保护日记,而封装存储在它存储到硬盘的时候保护它,并且远程证明保护它在其它计算机使用时不受非授权软件的破坏。
应用场景
数字版权管理
可信计算将使公司创建很难规避的数字版权管理系统,但也不是不可能(破解)。例子是下载的音乐文件,用远程认证可使音乐文件拒绝被播放,除非是在执行着唱片公司规则的特定音乐播放器上。密封储存防止用户使用其他的播放器或在另一台电脑上打开该文件。音乐在屏蔽储存里播放,这将阻止用户在播放该音乐文件时进行该文件的无限制复制。安全I/O阻止用户捕获发送到音响系统里的(流)。规避(破解)这样的系统需要操纵电脑硬件或者是用录音设备或麦克风获取模拟信号(这样可能产生信号衰减)或者破解加密算法。
身份盗用保护
可信计算可以用来帮助防止身份盗用。以网上银行为例,当用户接入到银行服务器时使用远程认证,之后如果服务器能产生正确的认证证书那么银行服务器就将只对该页面进行服务。随后用户通过该页面发送他的加密账号和PIN和一些对用户和银行都为私有的(不看见)保证信息。
防止游戏作弊
可信计算可以用来打击在线游戏作弊。一些玩家修改他们的游戏副本以在游戏中获得不公平的优势;远程认证,安全I/O以及储存器屏蔽用来核对所有接入游戏服务器的玩家(以确保)其正运行一个未修改的软件副本。尤其是设计用来增强玩家能力属性或自动执行某种任务的游戏修改器。例如,用户可能想要在射击游戏中安装一个自动瞄准BOT,在战略游戏中安装收获机器人。由于游戏服务器无法确定这些命令是由人还是程序发出的,推荐解决方案是验证玩家电脑上正在运行的代码。
保护系统不受病毒和间谍软件危害
软件的数字签名将使得用户识别出经过第三方修改可能加入间谍软件的应用程序。例如,一个网站提供一个修改过的流行即时通讯程序版本,该程序包含间谍软件。操作系统可以发现这些版本里缺失有效的签名并通知用户该程序已经被修改,然而这也带来一个问题:谁来决定签名是否有效。
保护数据
用于身份认证的生物鉴别设备可以使用可信计算技术(存储器屏蔽,安全I/O)来确保没有间谍软件安装在电脑上窃取敏感的生物识别信息。
保护生物识别身份验证数据
用于身份认证的生物鉴别设备可以使用可信计算技术(存储器屏蔽,安全I/O)来确保没有间谍软件安装在电脑上窃取敏感的生物识别信息。
核查远程网格计算的计算结果
可信计算可以确保网格计算系统的参与者返回的结果不是伪造的。这样大型模拟运算(例如天气系统模拟)不需要繁重的冗余运算来保证结果不被伪造,从而得到想要的(正确)结论。
就中国国内而言,中国的政府管理者对可信计算给予了极大的关注,对可信计算提供了相当大的经费支持。如中国国家密码管理委员会组织了可信密码模块的标准制定,并在其官方网站上提供了部分标准。中国科技部的863计划开展了可信计算技术的项目专题研究,自然基金委开展了“可信软件”的重大专项研究计划支持。
在学术领域,中国工程科学院沈昌祥院士、中科院冯登国研究员、武汉大学张焕国教授等在可信计算的理论与技术推广方面做了很大的贡献。
参考资料
最新修订时间:2023-09-14 20:02
目录
概述
发展背景
参考资料