唐僧师徒所遇的妖怪:信息安全与可信计算

来源:百度文库 编辑:中财网 时间:2024/05/03 03:48:28

信息安全与可信计算

各位领导、各位专家、各位未来的CEO、CTO,总之是CIO,非常高兴为非常荣幸能到这儿跟大家探讨这样的问题,刚才谭所长的讲话非常好,我也希望学习谭所长讲话的精神,把这个问题两个方面都讲得到位,一个是正面的,一个是反面的。

我的题目是“信息安全与可信计算”。从这几个方面,一个是信息安全技术的历史,信息安全的现状,可信计算的目标,可信计算的方案,还有我们应用的对策和理解。

信息安全的历史,在这个方面我们刚开始有了保密技术,保密技术后来有了信息安全的技术,这里面实际有一个历史发展的过程,刚开始的时候,就是保密通讯,到了后来有了计算机,就变成了计算机安全,再到后来计算机安全还不够,我们需要的是信息安全,到了今天我们所谓的就有了信息保障。

从技术的角度看,也有四个过程,首先是有保护技术,刚开始我们想保护自己,后来我们发现保护不住了,保护技术不够了,修城墙不够了,就有所谓的保障技术。我们保护不住自己没关系,我们有一个过程,有一个人,有一种技术合起来,能够恢复,能够检测。到最后有了生存技术,就跟人一样,我不怕了,有人攻击我还能活。

信息安全的形势,在今天的环境下网络无处不在。网络不出不在的结论就是说攻击不处不在,有了网络就有了攻击。第二个叫漏洞无处不在,不论在硬件、BiOS,操作系统、应用系统都有漏洞。还有蠕虫、间谍软件、僵尸网络无处不在。病毒不仅针对PC机、手机、照相机,都会有病毒出现,这时候我们可以看到真正的无处不在。

关于漏洞的统计。这是一个很早的统计,可以看到,到2003年的时候70个,有一个分析是说,到了2010年我们每5分钟就能发现一个新的漏洞。在这种情况下,有人预测在2008年全世界的计算机都会瘫掉,这是一个预测,2008年12月,因为漏洞太多了,就没有办法了。

一个攻击的发展,漏洞这么多,人防不住,攻击发展还挺快。这是1990年,文件的病毒,到1990年后期,就会有叫做红病毒,这里面有邮件病毒,还有valtcl病毒,有人在15分钟之内就全世界闻名了,从一个无名小辈,突然变为知名人物。在很短的时间内都被崩溃掉,人的反映根本是不可能的。制度的响应是没有办法的,只有一般办法能达到这种效果,叫预防,你不要怕它。

在这种情况下,可信计算变成了一个非常热门的话题。仅讲这一个话题,可信计算。如果抛开所谓的社会工程的安全事件,可以认为,安全事件就是恶意代码成功的利用了系统漏洞。有漏洞的软件是安全事件的温床,恶意代码是安全事件的种子。可信计算的目标希望杜绝的是不可信代码的存在,包括有漏洞的,或者是恶意的。

可信计算组织的一个介绍,实际上是致力于推进适合产业化、跨平台的可信计算,1999年10月由HP、IBM、INTEL、MICROSOFT,现在在网上的成员140家,看起来很大,其实也不大。有八家是一个推进者,有85家相当于贡献者,其它就是我仅仅采纳你的意见,当然也有投票权,这个组织并不是很大的组织。现在已发布的规范包括这样一些,PC的规范、TCG的规范,还有终端规范,还有一个主规范,描述了将来在各方面的应用。

PC机里有五个重要的元素,作为信任根的TPM硬件。希望检查系统是否可信,操作系统来检查,我们可能对操作系统也不信任,如果检查者本身是不可信的,可信检查就没有什么意义了,所以我们需要有一个可信的机构来检查这个软件的可信性。怎么办?最后就慢慢追究到,需要有一个硬件来检查,然后再来检查操作系统来检查,谁是最可信的,最后落到一个root of trust,可以无条件的信任,就是你不要再检查他了,这就是TPM的由来,也是PC机最原始的基础,有了一个可以不被检查的,而且可以检查别人的信任的基础。

需要采用一个硬件芯片来实现,要实现防篡改的功能,没有这个根所有的PT机就没有什么可说的。有了这个根以后,就有了第二个元素,系统的启动元素。终端系统始终被进入到一个可信状态,是一步一步来的。这是硬盘引导的应用代码,就完成了起动。终端系统的安全起动过程,首先是PTM来做,做完了以后,要检查boot room的代码是否可信,在你检查引导扇区是否可信,把权力交给这个引导,再记录下来。

如果操作系统可信,也记录下来,把权利交给操作系统,操作系统来检查应用代码是否可信,这是一个安全的起动过程,就保证了一层一层的检查,保证了一层一层的可信。可信检查,TPM要检查Boot room,Boot room也要检查引导区,引导区检查操作系统,没有被篡改过,就不能区别软件是好的还是坏的,只知道这个代码是谁做的,没有被修改过,只能检查这些。可信检查不通过怎么办?一个办法是停止运行软件,或者是汇报,或者是我再也不起动了,让你自己去运行。

终端可信身份证明。在安全起动以后,系统就产生一个数字化的证明,让远程终端或者服务器相信本地终端是可信的,因为每次都有记录,在TPM签名里面有数字签名和数字密匙。

TPM最重要的工作就是做保护终端的密匙管理,放出来就被病毒偷走了,所以很多就放在TPM可信的芯片里面不出来,放到里面可保存用户的信息,我们可以看密钥管理的过程,主密钥把密钥加密以后就不能解开。通过这个可以做密钥的管理,这是我们目前所用的智能卡和安全USB key有一定的相似地方,你必须跟这个机器配合起来才能用,不像我的USB key,我可以拿到别的机器上用,这个东西是放在PC机里面的。

还要检查你的软件,跟USB key不一样,USB Key可能不检查你的软件,这个是检查正确了以后才能解密。最后一个可信计算的优势就在于它提供了一个可信的网络连接,和刚才说的是一个意思,它利用了合法的TPM。这是可信网络连接得好处,主要是为了防止非法的介入。

首先它提供了一个硬件的安全终端保护,在终端了引用了高信用的信任根,没有杜绝就是防止,要有效防止,提供了一个安全的中断密钥管理方案,利用TNC技术防止有害的终端介入网络。数据加秘保护,提供了秘匙保护,所以安全加密方案比较好的。有一个最重要的贡献,是很好做数字版权保护,叫DIM,但是TCG不承认,说我们不承认,你们自己做吧,但是TCG最大的好处是做版权保护,每个都有证书,每个都有密钥,所以你跑是跑不掉的。还可以做安全文档管理。

TCG可信计算方案,软件运行起来之后就没有保护了。TCG可信计算方案的局限,如果保护措施系统的软件可靠,微软的新一代操作系统vista全面支持可信计算,但在8月份的一个黑客大会上,有黑客就演示了如何绕过它。

再了解一下可信计算,企图解决的安全问题,一不希望有漏洞的系统,第二,不希望有不可信的代码,例如恶意代码的攻击。我们提出的问题,第一个问题,就是可信计算能否检查一段可信代码是否有漏洞,实际上不能检查,他不能检查这个代码是否有漏洞,他只能看这个代码是微软开发的,是可信的。

第二个,可信计算是否知道代码就是恶意代码呢,假设微软要做恶意代码,我只是假设,对中国政府形成攻击的话,这个可信计算能不能帮我检查出来呢,答案是否定的,他不能检测出来这个代码是不是恶意代码,他只能检测这个代码是不是可信,是不是微软开发的。第三,可信代码是非能检查代码的运行呢,是否能让代码按照用户的希望去运行呢。这个答案也是否定的。它只能检查它的可信。

可信计算的链条。实际上可信基于这样一个理念,一条一条的验证下去,TPM验证BIOS,BIOS验证OS,OP验证APPS,我是否要调用TPM,如果这个时候你用的是微软的Windows,就必须例如TPM来信任微软的Windows,最后的结论是只有微软信任的APPS才能被安装。被你信任的操作系统来决策你的机器能干什么,为什么要怀疑操作系统呢,仅仅是TPM是你做的吗?为什么TPM信任操作系统,你就要信任它呢?

在TCG国际组织里面,在计算机世界文章里面也有,所谓的trusted,这个概念跟我们中国人的可信的概念是不一样的,我们中国人的可信就是可信赖的朋友,可信赖,英国的trusted如果这个机器有病毒,明年真的病毒犯了,这个机器就是可信的。人们都把它叫做TC,自由软件联盟,叫做背叛计算,可信计算实际是背叛了我们计算的宗旨。

可信计算并不是保护你的机器,做你不想做的事情,而是保护你的机器内的数据拷贝不被你按照他人不希望的方式进行访问。比如我用的是微软的Valtcl,Valtcl说能干就是能干,而不是你说了算,因为Valtcl是可信的。是被TPM信任的,而TPM是被英特尔的PCG信任的。

这里面是微软的比尔盖茨一次在美国国会听证会上说的话,要让中国人为软件付钱。我们要看可信计算的推广有它的商业的意义,另外还可以用来做什么?我们可以看一下,可以用来跟踪机器,许多通信都要得到认证,如果你的机器是逃不掉跟踪,因为你有一个唯一的标识,盗版的机器没法跟人交流,美国政府有一个政策限制,凡是出口的机器都有一个限制,美国的法案里有这样的规定,只有是出口的机器都要提供密钥恢复。美国就可以更严格的控制。

欧洲一个TCG的大会上,学者提出这样一个问题,如果我们全面推广可信计算,那么美国总统的桌子上有两个按纽,一个按纽是往中国发射一颗原子弹,另一按纽就是停止中国所有TCG的运行,欧洲的学者说欧洲也会有两个按纽在美国总统的桌子上,一个原子弹,一个是停止所有的机器。

TCG的推广是大势所趋,人心所向,数字作品的发信人员、网络商店、政府、基础软件开发商都可以更好的追踪,更好的抓住你自由的东西.唯一不喜欢的是用户或者是弱势的政府,所以我们要跟上推广我们的可信计算。

如果要发展我们的可信计算,仅有TPM是不够的,你可能更容易暴露你自己。可信链条到底是谁控制的,你要争夺控制能力,控制能力最强在哪儿,如果在链条中你缺了一环,你最终掌握哪一环,TPM如果是心脏的话,TCG就是你的大脑、你的心脏。可信计算未经签名的操作系统和软件排除在外,不能排除有漏洞的操作系统,也不能防止黑客的攻击。