×
嵌入式 > 技术百科 > 详情

北工大张兴老师:可信计算技术与嵌入式

发布时间:2020-06-06 发布时间:
|

  以下为北京工业大学可信计算实验室张兴老师演讲实录,他的演讲题目是《可信计算技术与嵌入式系统》。

  大家好!我是第一次参加咱们的这个会。郭老师他是嵌入式联盟的秘书长,让我讲一讲可信计算方面的一些问题,而且要和这个嵌入式系统能够联系起来。我是一直在做信息安全,做可信计算一些方面的研究,嵌入式我们还是没有特别的在这上面来做些事儿。所以今天,有幸在这里面听两位老师讲嵌入式系统,很受启发。那么我主要讲的这个可信计算技术和嵌入式不一定能够联系那么紧密,各位原谅。

  我讲三个方面。一个是可信计算的概念;然后讲PC中的可信计算,主要讲这部分就是怎样在这个PC里面做这个可信计算;第三个是对嵌入式系统中的可信(计算)有一个肤浅的理解。

  可信计算的概念,可信计算其实也跟嵌入式有相类似的地方,它也是学术界工业界比较热门的一个话题啊,好多年了,既然是热门那么大家的理解就不一样,它从不同的角度来看,它(可以从)可靠性,容错性,安全性,可用性,可维护性,理解可信计算。最先有一个说法就是可靠性,52年提出的这个很早的dependable可信赖计算,那么后来叫dependable computering这是在95年的时候提出的可信性计算的一个概念,然后后来在99年2000年的时候trust computering,这是由美国当时成立了一个这个可信性计算联盟-TBA,这个可信性计算就是我们现在做的这个跟安全相关的这个可信性计算trust computering,02年比尔盖茨还提出了一个可信赖trustwards computering,这个概念是比较多,总结了一下大概就是(以下),一个IEEE上给了一个(分类),总共分了11类,20多个定义,从社会学,哲学这个角度来讲这个可信。然后有TCG的,TCG叫可信计算联盟,定义的是如果他的行为总是以预期的方式达到预期的目标,那么这个事情是可信的。我们主要做这个可信性计算可能是根据这个来做的。那么ISO一个定义就是参与计算组片操作或过程在任意的条件下是可预测的并能够抵御病毒和物理干扰,这是计算机里面讲的可信性计算,我们主要做这一类,还有高可信软件,讲高可用性、可靠性、可维护性还有安全性,国内有好多学者在做。梅宏老师他们在做这方面。那么我们对可信的理解呢,一个就是可信是可预期的保持原状不必篡改并且是可证实的,这个就不展开讲了,等我再讲这个PC里面的可信的时候再进一步再讲。那么PC里面为什要提可信性计算呢?主要是计算机总是出现安全问题,在系统里面病毒啊,木马啊,甚至运行时的崩溃,人们想象它应该正常工作但它没有正常工作,这就出现这个信任危机,所以这就关注这个可信计算。如果我们不信任一个人,那么我们就不会把事情交给这个人来做,但是对计算机呢,我们不管信赖不信任它,我们不得不把文件存在这里面,不得不通过计算机来控制其它的系统,那么文件存到计算机里面,是否它真的存到你这个里面,不会被别人偷走,不会被别人窃取,通过计算机系统控制你的系统,控制刚才大家讲的这个互联网,控制这个物,是否能真正控制到呢?这就是一个可信的问题。那么计算机出现这个可信的问题呢也是最开始在50年代,60年代,到网络出现之前,计算机都是一个比较复杂的一个结构,那么它里面有执行态,到了后来为了简化(使用方法),能更大的范围的应用计算机就出现了个人计算机,那么它的整个从CPU到内存到控制器都是个人来控制,它的内存也没有越界保护,反正自己用自己的,不存在这个我自己还要搞什么破坏,也不存在搞个病毒啊什么来迫害迫害自己,那么后来这个PC机用到这个联网,那么这个连到网络上面,那么你的这个资源就不是你个人的用户,可能是来自网络的,用户也可能是正常的用户,也可能是黑客啊,病毒啊,这些东西进来,进到你的计算机里面来了,那么你以前的这个PC的架构就抵抗不了来自这个网络各方面的攻击,所以就导致了资源配置被篡改,恶意程序被执行,缓冲区溢出攻击啊这些问题,它的根源是PC机体系结构的简化。那么可信计算就是要在现在这个PC机结构上面做一些这个改进,使得它可信、安全。那么像现在的这个新型的计算也是呼唤这个可信性计算,刚才大家讲的这个云计算啊,物联网啊,对可信性计算的这个需求应该是更大,你像这个云计算,我过去我把我的文件啊(等)存到我的个人计算机里面,我都怕它被人盗了我不知道,那么这个云计算存储呢,可能就存储在云端企业的数据就存在云端,存在云端看你是不是相信这个云端的数据没有被恶意的利用,这就存在这个可信的问题,物联网更是这样。

[page]


  那么接下来主要是讲讲PC机里面的可信,现在是怎么做,以提供给大家借鉴。刚才讲到这个可信性啊, PC出现安全问题是由于PC机的体系结构简化引起的。那么现在工业界的做法呢,并不是说推翻PC机的体系结构,重新设计一套PC体系结构,并没有这样做,他的做法呢是在现有的PC机结构上嵌入一个专用的芯片,这个芯片叫可信平台模块,就是TPM,用这个嵌入的芯片来增强计算机的平台的安全性,这是工业界的做法。那么这个芯片里面呢实际上是嵌入了一些密码算法引擎,像这个证书,IS公钥算法还有加密算法。他用这个密码技术为基础来保证架构的安全,换句话说就是实际上用密码技术来增强计算机体系机构的可信性和安全性,这是把密码技术用进去了。总结一下这个芯片它有几个功能:第一个就是可信,平台的身份可信,实际上就是给设备发了一个数字证书,这个数字证书是背书,在应用的时候它也就是PIK就是平台身份证书,它用这个证书来保证平台身份的可信,然后平台的完整性就是用杂数(音译)算法对所有的度量对象进行一个校验,相当于一个空桥就是没有被人动过。还有就是加密技术用在这个存储可信上面,就是基于物理保护和密钥素的这个保护机制保护用户的这个敏感信息,存储可信还有平台身份可信、平台的完整性和可信存储,这个是可信平台的三个属性,或者讲三个功能。那么在PC这个领域大家在当时预计在2010年基本上所有的笔记本电脑和大多数这个台式机上都配有这个TPM芯片,现在市面上买的几乎所有的都会有这个TPM芯片,只是大家可能还没有用。

  这个可信性它的核心思想就是一个信任根,一个信任链,信任根讲的就是模块,基于硬件的TPM模块,把它嵌入到主板上然后保证系统的完整性,身份的可信性,安全存储和可信根,这就是一个可信根。有了这个根然后从这个信任根开始从这个到BIOS,操作系统的加载到操作系统,到应用到网络一级认证一级,逐渐建立起了一个信任链,这就是可信计算里面的两个关键技术,一个是信任根一个是信任链。信任链呢就是能够有一个这个免疫功能,它其实是有排他性,就是我进了这个信任链就是可信的,没进这个信任链可能就是我认为你有可能是病毒啊或者是木马啊,这样就把我不可信的排除掉了,其实这是一个排它性。那么工业界的可信计算平台,总结一下就是增加了三个功能,就是标示平台唯一性和可信性的相当于发了一个身份证,然后平台完整性度量相当于它的一个监督员,我每次起动的时候都要用这个完整性校验来检验一下这个系统,那么通过这个校验建立一个信任链,就是一个这个免疫机制,它有这个排它性。硬件芯片级的这个数据安全保护相当于一个保险箱,基于硬件的这样一个保护,这是一个工业界可信计算平台的一个做法。

[page]



  那么可信性计算涉及的这个产品,它从这个一个TPM模块到这个台式机笔记本的存储和一些应用,然后左边这个红圈画上的这些可能是和我们这个嵌入式系统是有紧密的关系的。一些这个输入设备和显示设备,还有PDA手机都会有这个可信的问题。这个图呢是TCG,就是国际可信计算组织它对这个可信计算工业界的标准所涉及的一个图,这个图是在它的网上,现在大家都比较认可这个图,所以我把它拿过来跟大家共享一下。这是可信计算涉及的这个产品,那么现在国内也推出了一些这个样机,国际上也有。那么后面这个是讲的一些这个可信计算的这个标准制定的一个过程,刚才这个两个老师也都提到这个标准,那么我们可信计算在国外有一个国际可信计算组织在推这个可信的标准,那么对我们国内来讲可信计算更加重要,为什么呢?因为刚才讲了它是以密码技术为基础的,而密码呢每个国家有自己的法律及政策保护,因为标准不可能全部用国外的,如果说标准都用国外的,那么它这个一个可信根一个可信链,跟和链都是国外的,那么我们的产品不管怎么做都还是国外的,所以呢我们可能要从这个底层做起,要做一些这个我们自己的一些东西。相当于在这个CPU、主板、这个软件、操作系统都是国外的,主流都是国外的,而且这种现状也不会说是哪一天给改变了,将来这种现象的发展趋势是,不管是CPU啊还是操作系统不可能是哪一天是我们自己的,这是不太可能的。在这种情况下要做到安全可信,我们就是在里面要做一些工作,那么就是刚才讲的那个信任根和信任链,是不是在信任根上可以做一些工作呢?这就是我们国家制定这个可信计算标准的初衷,那么06年3月份国密局下达了两个规范,一个叫可信计算平台密码规范,一个叫可信计算平台密码检测规范,这两个规范(范围)是刚才讲的信任根里面的密码部分,然后后来这个八月份这个验收,然后在07年的时候因为有了这个密码的规范密码,有这个基础之后就提出了一个可信计算主体标准,(因为时间有限我就讲快一点),可信计算主体标准,那么在这里面呢主体框架当时是沈院士牵头的,就提出了以密码技术为基础,芯片为信任根,主板为平台,软件栈为核心,网络为纽带这么一个主体标准的一个设计的思路。从这个信任根开始要把密码算法、密码协议、证书管理做到这个芯片里面去,这个芯片嵌入到计算机的这个主板,笔记本或者是现在这个主板里面去。还有什么说法就是把这个芯片嵌到这个USB,因为现在的计算机好多它里面已经嵌有这个国外的TPM芯片或者说它主板的改动比较困难,那么它的另外一个做法就是我把这个芯片做到这个USB接口里面,然后从这个USB里面作为一个信任根上去,这是芯片。然后到主板再到这个软件栈,软件栈主要是操作系统里面的一些改造,最后呢就到这个应用到网络这么一个逐级的一个框架。当然这个标准呢不是说和国外的另搞一套,而是要以这个信任根为特色,在这个上面来做一些工作,这是逐级框架,还有一个配套的这个标准现在也正在做,就是四个主体四个配套,这是一个标准的一个过程。那么为什么要做这个可信性的标准呢,就是要在现有的计算机体系结构上面做一些自己的事情,这样呢才能有这个标准这个规范将来能够产业化。

[page]



  这是前面两讲讲了一下这个在PC里面的一些做法。刚才的两位老师都在讲这个嵌入式的系统,刚才讲到这个嵌入式系统,说到除了PC(其余设备)都是嵌入式系统,我觉得讲得非常好啊。嵌入式系统其实跟计算机系统思路差不多一样的,那么在PC里面存在可信问题,推论过来在嵌入式系统里面同样存在可信问题,而且这个可信问题有可能存在的更加严重一些,但是它可能表现不出来,因为嵌入式系统可能比较专用,所以它这个范围可能不像PC这么广,所以它的这个可信问题还不是大家关注的主要对象。那么这个嵌入式系统后来我搜索了一下,就是最早这个PC里面搞可信计算的时候,有些例子是从这个嵌入式系统里面来的,日本出的打印机里面,(如果)他把这个墨盒换成其他厂家的墨盒,那么打出来的这个点阵会少一些,墨色会淡一些,据说这个里面就是用了这个密码技术,它这个排他性,它一认识(认出)不是我们自己家的墨盒,就让你打出来的东西点阵少一点,这就是它的(可信计算),像微软搞这个可信性计算,它的目的是什么呢?其实它的目的,虽然说是搞可信搞安全,实际上是在做这个正版的工作,在这个内容方面的内容控制,将来你不是正版的,那么我一校验,用这个完整性校验你就不是可信的。那ATM机应该也是一个嵌入式的产品,那么我们国家的这种ATM机里面到底有多少安全机制和可信的机制呢?它现在的功能可能就是完成一下取钱的这种事情啊,别人也不敢大规模地破坏,像这个PC机,你现在在网上,反正大家都可以琢磨,黑客也很多,琢磨的比较透,你今天搞一个安全机制,明天就可以给你破了,ATM机在那放着也没人敢去动它,但是它里面的脆弱性其实更大。那个最早的06年的时候的杭州的那个案件,就是它(从卡里)取完钱后,发现钱数不仅仅是没减少还增多了,最后他连着去六个地方用他的银行卡(IC)去取钱(透支),钱取出来总共八万多,汇到家里面去,过了一周时间,这个人就被抓而且被判刑了,其实是由于ATM机的有些可信机制做的非常差。郭老师当初要求我来讲的时候说过,多讲讲嵌入式系统的应用,我们学校做了一个国家税务总局的一个项目叫做税控服务器,后来想想这个项目实际上就是嵌入式系统一个最好的应用,说到税控服务器,大家都知道,税务上要开通值税发票,最大的(安全限制)可能是(应该是)不能让你篡改,包括每一个环节,或者是篡改了能够确认是你在哪个环节改动了,这是里面最主要的难点之一。那么税控服务器,我们可以从刚才讲的TPM模块,从可信根开始逐层的验证,对整个系统提供一个可信赖的保护,对客户端的设备,手持的或者是其他这种设备里面就要有相应的机制,怎样能确保系统不被篡改,或者是篡改了之后必须能够知道,而且能够有一种方法来证明确实是该环节错了,而不是其他环节,这个系统里面应用了可信的技术,这是嵌入式系统在税控服务器这个项目的应用。

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
iPhone将是质的飞跃:苹果A14处理器+高通X55基带