[音乐]
[音乐]
卿老师刚才给我们介绍了一下这个可信计算
这个工作,就是首先介绍了一下可信计算的这个
概念,就是关于可信的概念,以及微软对可信计算这一块的一些
可信赖计算的一个理解,对吧,那么也提到了这个我们国家
在这个可信计算工作组方面所做的一些工作,比如说在标准的推进
在这个国际会议的这个承办,还有相关的高峰论坛的这个组织
以及相关可信计算学术研究的这个组织活动当中,起了很多的一些推动作用
这是我们关于这块的一个,非常感谢卿老师给我们 分享这样一些经验,和曾经所做的一些工作
那么接下来我们希望卿老师给我们介绍一下关于就是这个 国际上的这个标准,刚才卿老师也提到了,国际上的
这个可信计算,其实它是从 1.1,TPM1.1 到 1.2 就从 2001
年推出的这个 TPM1.1 的规范 那么 2003 年推出的是 TPM1.2
的规范 那么到了去年,也就是 2013 年的时候已经推出了这个
TPM2.0 的这样一个规范 那么这当中其实中国也发挥了一些作用,那么卿老师能不能给我们介绍一下就是关于这个
TPM 2.0 它跟这个 TPM1.2,这中间其实有十年的这样一个长度,对吧
那么 TPM2.0 在这一块它有一些什么样的一些重大改进呢?
我们请卿老师帮我们重点诠释一下。
>> 好,谢谢,那个 TPM
是 可信计算的一个核心,因为它是一块硬件芯片,其他所有的这个结构的这个
组成都是围绕着 TPM 来进行的,所以 TPM 规范特别重要
TPM 如果做了改变,其他的规范都要相应的改变,所以 TPM 轻易是不会动的
由 1.1 到 1.2,刚才沈老师说了,已经有很大的变化了,1.2 就存在
年度比较长了,但是通过 8 到 10 年这样一个期间,很长时间
那么 TCG 看到了在推广,实际推广当中,现在也很多很多了,它
看到一些不足的地方,所以现在有个重大的改变,由 1 到 2,说明它有很大很大的变化
它就不是 1.1 到 1.2 这个变化,它是变化非常大,那么它到底什么改进呢?TCG
说了 有什么经验教训,在 8 年当中
他们观察到一些现象,他们叫 Observations Over the Past 8
Years 首先,TPM1.2 它的基础是 SHA1
它是基于这个iii函数 SHA1 来做的 大家知道 SHA1
已经 现在发现了一些不足的地方,它有些冲突,有些问题
这个我们中国学者王晓云做了很多工作,另外
不同的国家和地区用不同的安全算法 这个也是
TPM 当时支持的不够 另外 TPM1.2 是基于
RSA 的 在非对称密码算法方面,还有一个很重要的算法叫
ECC,做的是椭圆曲线 而且很多地区和国家,像我们中国就是非常希望能用椭圆曲线密码算法
这个 TPM 支持也是不够,另外
非常需要能够支持不同地域的 一些不同的选择,所谓
crypto agility 就是密码应用的灵活性,这个
TPM 支持也是不够 另外还发现这个
TPM 不光是 可以用于 PC,当时第一步他们是用于 PC
的,实际上可以用在非常,其他的类似的一些平台 而且还可以增加一些新的一些特点
像一些移动一些应用,都可以增加。
另外还有一些教训 就是 TPM1.2,它说 the lack
of precision 就它的准确性还是不足
还是要增加一些精确性和准确性,另外还有一个就是说 Rebuilding an infrastructure is hard so
we don't want to have to do it often.
因为重新摆了个基础设施,架构要改变 是非常困难的,所以我们不愿意经常做这个问题
但是它说了,我们还是要做,所以因为一些根本 的一些问题我们要加以解决,说:Must give
people more fine-grained control 要给人们有更加细粒度的控制,原来在 TPM 1 这个版本里面,包括
1.1 和 1.2,控制粒度是比较粗的,这个大家提的意见也很多 The opt-in model of 1.2
prevented people from "fastening their seatbelts" and
turning the TPM on,往下面下面等等等等,就是好像
这个 1.2 的这个选择性植入这样一个模型
它就防止了他们去好像,把我们安全带要系好安全带这样的一个功能,所以现在 它说这个,对
TPM 影响就是什么呢,discouraged enterprises
adoption,就是使这个很多企业不太愿意来用这个 TPM
discouraged application developers,应用的开发,第三方开发者也不太愿意用这个东西
limited hardware availablity,使我们这个硬件的可用性
也受限制,所以它说:need to fix this by having an "airbag"
model,把这个自己来系安全带改成安全气囊这样一个模型 平常我们做的好好的,要有问题,这个安全气囊打开可以保护你
这是一个形象的一个比喻,那么由于这些教训,他们就是说 lessons
learned by 1.2,从 1.2 我们吸收了这些教训,这样
我们就在 TPM 的改进范围就指引了它的方向 指引了方向,所以说
Towards TPM2.0 is equal to applying lessons learned
我们从 1.2 进化到 2.0,主要是来
使我们受到的经验教训来进行改进,所以它主要是做了 下面几个大的改进,一个就是
Design the interface to accommodate change
这样的话呢,TPM2.0 最大最大的好处就是什么呢,就是
今后如果有些算法,有些什么的变化,你这个接口它是一样的,就不必要再轻易的来动 TPM2.0
刚才不讲过么,infrastructure 不能随便改,一改的话很麻烦,TPM
一改别的所有的规范都要跟着改,首先 TSS 跟着 PC、 server、 mobile
等等都要改,所以这就是更好的 这个适应了我们这个 crypto agility
这样一个想法 第二个方面,它要进行所谓 Spec design,就是
那个规范的重新的设计,设计,第一个就是 Less ambiguity and
more uniformity,更小的二义性和更多的这个均匀性,uniformity not
tied to specific algorithm,不和具体的 算法相捆绑,这样我们就今后很灵活,很灵活
那么现在它也支持了我们中国的一些密码算法,像中国的分组密码算法它也支持了,像我们
的这个散列,iii函数它也支持了,也基本上支持了中国的非对称密码算法
但是呢还差一点,没有支持非对称密码的加密和 解密算法,签名是支持了,所以这个我们中国还不太满意,希望它继续做
但是顺便告诉大家,这次我在墨西哥参加了国际 标准化组织
ISO 的年会,已经正式批准这个 TPM2.0 作为国际标准,就是大部分都是投票赞成的。
第三个,TPM management and privacy 就是加强对
TPM 的管理性,和管理性和它的私有性的保护 所以说它
Enable security without compromising privacy
这样它在增强安全性的同时,同时又增强 了它的这个私密性,这个我们现在很关心。
另外还有一个叫 Refined feature set 就是更加精细化的这样一个特征集合
它 Remove untrusted or unused or
overly expensive TPM1.2 features,TPM1.2
还有些功能 经常不用,我们把它干脆去掉,还有就是特别昂贵的一些功能,也去掉
这样使它更加大众化,Add features that are well motivated,另外就是
我们有很深的动机的,一定要增加这个功能集,我们就增加一些新的特色 这是
TPM 的设计的,重新设计的主要的出发点
那么它到底改进什么呢,这是刚才沈老师问我的一个问题,那么这样有张图可以来说明这一点- ,说明这个图之前还要再讲一下
TPM 1.2 到 2.0 的发展过程,它是 Have mostly retained
the basic feature set,但是还是要强调一点,就是基本的这个 特征没有改变,啊没有改变。
但是 The interface 有了很大的改变,所以接口 supports more
crypo-algorithms 更多的那个密码算法可以啊被它支持了。
你比如说刚才我们说的中国的这些算法
>> 这个我插一下啊,卿老师,就是关于这个它对这个算法的支持这一块
啊应该是更灵活了,对吧?>> 对。
>> 通常安全跟灵活性经常会是一个矛盾体。
>> 对。
>> 比如说这些接口,它可以支持中国算法也可以支持美国算法或者支持其他国家的一些算法。
但是是否会引入一些新的安全问题呢?
>> 那这个应该 嗯没有这个问题,啊,因为它是互相之间是隔离的,你用什么就是什么。
目前来说,还,还没还没有发现这方面有任何的问题。
>> OK.
>> OK, 好 啊 added a (semi-) secure clock
这是它增加了一个新东西 原来没有的,它增加了一个安全时钟,或者叫做半安全时钟
啊,这个比我们原来的那个,好像有一种叫这个单调技术性,这个 1.2 里面有,啊比它更 啊更便宜,更好用。
另外,we did a lot of cleanup 就是做了很多清
清理的工作,清道夫的工作。 什么意思呢?就是 makes the TPM simpler, cheaper,
more robust, and easier to use 比 1.2 的版本相,相比起来,更加简单、
更加便宜、 更加健壮而且更容易使用 另外,还一个 and
lots of generalization to increase flexibility 另外一个,比
1.2 版本来说增加了更多的灵活性 比如说 add use cases
增加了一些用户的这个案例 啊,and makes TPM more usable and
manageable 这个 TPM 更加好用、 更加可用、 更加可管理。
啊,另外 还一个很重要的需要强调的,TPM binary interface has
changed 因为它的整个接口做了重大的变化,那么它的二进制的这样的一个接口它是必须要改变
它不可能不改变。 那要怎么办呢?那,会不会,会不会引起这个兼容性的问题呢?由 1.2
我原来用的 1.2 会不会增加我的投资呢? 当然这样啊,不会。 因为 TCG 做了很多工作,他说
most code can be supported with a translation layer 他做了一个叫做
传输层或者说转换层,啊所以大多数的代码可以通过这个传输层自动 由
1.2 转换成 2.0 ,啊所以这个基本上没有这个负担
啊,这是设计上的一些考虑了。 那么这就是 TPM 2.0 features and
capabilities highlights 下面这个图就看到 TPM 2.0 的一个特征,和它的能力的一些 highlights 它的
呃最显著的地方,啊就在这个地方了。 What does it take?
其中带星号的这些地方 就是目前增加的,改变的比较多的啊这些地方。
啊第一个呢就是 crypto-algorithms
这个是其中的一个最关键的地方,就是可以更灵活地支持不同的这个东西。
另外,simplified control 啊更简单的控制,更 manageable
control 更加可管理的控制,另外增加了这个 a secure clock 增加了一个,这个安全时钟。
Rich management model 刚才我说了 更丰富的管理模型。
啊,另外还有一个叫 secure data storage
这是都以前都有的,啊,这就做自己的改进,啊这个我就不多说了,从这个图上大家可以看- 得很清楚
这就是 TPM 2.0 的重要的改进。 >> 谢谢卿老师,刚才卿老师对
这个TPM 2.0 的一些重大改进的地方做了非常详细的一个介绍
那么同学们也可以通过胶片上的一些细节,可以进,进一步的去了解。 那么接下来我们
再请卿老师帮我们分享一下,他对这个可信计算的这个发展趋势的一个理解和看法 >> 好,谢谢沈老师。
因为可信计算现在发展是非常快的,工业上的发展也很快,啊芯片呢这个现在
销售量也非常,非常快,因为王绍斌博士已经讲的很清楚了,我就不多讲,我这儿主要讲 R&D 啊就是 研发方面的一些研究发展趋势。
首先,我介绍一下所谓那个非常 可信计算非常活跃的 R&D 的一些领域,首先,包括这个
fundamental concepts 就是最基本概念方面的一些研究。
比如说关于这个 protected boot 啊关于 可保护的那个引导,啊比如现在用
UEFI 啊这个这个英特尔的他们的一个标准 另外,platform
attestation 啊平台的认证。 啊大家注意啊这个 attestation 啊是英文的一个词儿,和
verification 也是,好像我们中文都翻译成验证,但是在可信计算里面它是不一样
为什么不一样?我现在一句话也说不清楚,将来我想在大家听完这个课以后,通过沈老师今- 后精辟的
讲解,大家就会理解什么是 attestation 什么是 verification 它是有特定的含义的。
另外,protected storage 可保,受保护的存储,啊还有
domain isolation 就是区域的隔离等等,啊我就
不多说了,大家,都知道这些基本概念。 因为大致上
可信计算里面它有叫做可信,啊这个存储信任根 啊有这个,这个报告信任根等等。
它有 它是这个,在这个根密钥的保护下,它存储在一个比较可靠的地方,啊怎么来做。
另外还有 geographical access of activities
啊等等 啊就是,在不同的这个地域方面啊的一些,一些,一些应用
啊,还一个,一些 some new areas 一些新的啊应用领域,比如包括
TPM 的 Federation 啊怎么来,进行这个 TPM
的这个联盟,啊坐在一起 另外,TPM for
low 啊 power sets 呃 devices
对,对那些那个低功耗的一些设备,这个 TPM 怎么设计,啊这个 也要进行。
另外,control system smart grid 像这个这个智能网格
啊这个这个控制系统方面的应用。 human readable trust and
integrity measurements 因为现在我们 TPM 的这个测量结果这是很重要的 因为
TCG 的概念就是测量、 报告,测量、 报告。 啊就测量是我们
机器能读懂,人看不懂,将来我们要设计一种人能够看得懂的一个测量单位 啊等等等等,啊这个就是一些新的领域。
我们再举些例子 R&D 的这个 focus 这个 examples
啊,比如说,包括安全的一些问题,包括健壮性的问题 体系结构的问题还有互联性的问题
interoperability 啊这是非常重要的。 另外,关于 integrity
measurements 啊 完整性测量的问题,dynamic measurements
那么有静态测量,但是现在我们主要是更注重于动态测量 还一个更重要的,叫
cross-domain attestation 就是跨域的认证
啊这个问题更难,啊需要同学们发挥你们的创新思维,在这方面做出有特色的 具有中国特色的结果。
另外,applications, secure OS,
virtualization 啊在应用方面、 安全操作系统方面、
虚拟化方面,也都是跟我们可信计算息息相关的一些内容 还 related cryptography issues,
especially lightweight 啊相关的密码学的一些
议,课题,特别是轻量级的课题 啊,这次我参加墨西哥的
ISO 会议上,美国 NSA 又发,发出了一个重磅炸弹。
啊他们研究了一个叫 SPECK at phone 这个轻量级的分组密码
他们 2013 年刚刚研究成功,2014 年就要把它 很快可以国际标准。
所以说 NSA 六个人用两年时间 研发成功了。
他说我们 NSA 用了很大力量进行分析,我们认为很好
但是我们现在不公布我们的分析结果,我们等着你们的分析,看看你们怎么来分析
啊所以轻量级的密码,现在目前应用非常广泛,美国是非常关注,所以我也
给,给我们敲响了警钟,中国也要做这个问题。 那么什么叫轻量级密码?大家可能要问
那么,顾名思义,就好像耗费的资源少,那当然就是轻量级的密码 是吧,这个原则上是对的。
比如说在软件实现上头,我这个轻量级密码,就短短几行用 C
来写,就几行,就完了 那当然它的实现它是快的,它好。
更重要的一个指标 就是在硬件上面,reset F 呃 PGA
或者 ASIC 这个体积结构下,它的门数越少 越是轻量级的密码。
所以这个是非常的资源受限的情况下,这是
很多地方,特别是我们移动通信方面在大量应用,这是我们今后关注的的一个重点 另外,Beyond
PCs/Servers- embedded mobile telephony, metering, sensors,
cloud 等等 啊除了 PC 和服务器之外可信计算的应用,包括嵌入性系统 移动的系统,啊还有其他比如云啊,传感器啊等等。
另外 Privacy, infrastructure usage models,
combina, combinations with other technologies 啊私密性和安全性的联系
啊体系结构,啊这个用户,用,使用的模型 啊以及和其他技术的衔接,啊这是我们具体到几个例子
下面我举一个具体的例子,这就是一个刚才我讲的非常难的,Cross-Domain Evidence of Trust
这是 R&D 的一个例子,啊我希望将来沈老师的学生,在沈老师带领下在这个方面可以做出
很好的一个图纸,我现在先给大家提一个要求,希望大家能把它做好。
啊,这个上面大家看到,啊,我们要解决的问题就是跨域的这个
可信的这个证明,怎么证据,我们看我们有很多很多层。
啊,比如说我们 A,B,U,啊第一层我们是 Low
Power Sensor,就是低功耗的一些传感器,啊,在这儿
另外还有一层,我们把它叫做 Mobile,叫做移动这层,啊, 另外还有个 PC
这层,然后还有 Server 这层, 是吧,还有服务器这层,起码我们先简单把它分成四层
然后应用,我们很简单,有 2 known 这个
Applications,有两个已知的应用 A 和 B,反正 A 和 B 就是我们已知的两个应用
还有个叫 U,是 Multiple unknown applications 就代表了很多很多,也可能 100
个,也可能 10000 个, 反正多个,不知道的应用,我们不知道的一些应用。
Properties 还有些性质,我们有些什么性质呢?Applications
can keep secrets from any other applications,是每一个应用
和其他应用之间,它的秘密都是互相保持的,我的应用你不知道,你的应用我不知道 另外,Apps
run concurrently on the same
platform,应用可以并行地在相同的平台上来运行 也是我们的一些性质。
另外,Apps can trust entire stack of
Software and Hardware,我们这个应用可以相信
整个这个软件站和硬件,我们都可以相信。
那么我们的问题,我们要做什么,Questions 也是我们要做的 工作是什么?How
does App A on the server gain trust in
Sensor A when the data travels through the mobile and
PC devices,我们要解释这样一个问题 就是怎么样有一个应用
A 这个的时候 它是目前在什么地方呢,它是在这个
server 上头 这个这个应用 A ,它怎么样能得到在传感器
A 上的这个信任 那么这时候数据是一步一步来传输的,数据要通过
这个服务器传到 PC,由 PC 才传到移动,由移动再传到传感器
通过了这几层来传输之外,怎么能建立这个信任? 我们要解释这个问题。 >> 我的理解是不是它希望是
>> 你先等等啊,Applications A and
B reside on various devices connected by diverse networks, 啊,我们说 A 和
B 两个应用, 啊,是在不同的设备上的,
通过什么来相连的呢?通过 多种网络来相连的, As well
as other apps we do not know about,还有一些
其他的一些应用我们不知道,因为还有 U 在里面,in a cross-domain setting。
这个我们整个设置是一个跨域的一个设置,这个情况,因为实际上我们经常是这样。
数来回上传,下载上传。
经过通过传感器到移动设备,移动设备 到 PC,PC
到服务器,我们都是这么来传,那么信任自带的保持 A and
B will share information up and down the stack, A 和 B
将要共享 这个信息,它在,在这个站上
的上传和下载的时候,它要共享信息,啊共享信息。 We want
to trust all the layers, 我们希望信任所有的这层,各层,服务器层、
PC层、 移动层还有我们传感器层。 The systems
are dynamic,但是我们要注意到,这个整个系统是动态的, 啊,and the threats
are also dynamic,整个这个 威胁也是动态的,也是动态的,所以Each device and
domain have own sets of policies,每一个设备和每一个域都有自己的策略,安全策略,
不一样的,就有的是可以来的,有的是不可以来的,有的来需要怎么过滤的,都有自己的不同- 的安全策略。
Devices join and
leave domains,设备可以不动态地来加入到
这个域里面,也可以动态地离开它,就是在这儿,比如说, 这个 U
里面,比方说今天可能是 100 个应用,明天可能只有 20 个应用, 明天可能就增加
10000 个应用,这都是动态的,A、 B 不一定就是 A、 B,也可能 A、 B、 C、 D 我们知道的一些东西,
只是个例子,说明这些东西的,在这么复杂的情况下要建立信任,我们要考虑因素还是很多的。
这个这个还不是马上马上挑战,
说整个实际上我们应用是这样,但是我们真要解决这个问题我们还是要分解开,一步步来做。
比如说,首先我们先从 PC 到 server,或者我们先从传感器到哪儿,或者我们不
考虑其他的Multiple in,我们光考虑A、 B一致的也可以,或者我们把安全策略定义得比较简单一点。
>> 这个问题是一个非常难解的一个问题啊,也是一个挑战性的问题,
因为这个可能涉及到就是我们所谓的这个 Sensor,也涉及到 Mobile,涉及到 PC
和 Server 然后涉及到我们的这个 Internet,也涉及到就是这个移动互联网,因特网和移动互联网,
可能还涉及到其他的一些,就是我们的一些其他的一些网络 这个多种网络之间这样的一个切换的时候,怎么样把这个信任
通过一个域到另一个域的时候,能让它维持这样一个信任关系,对吧, 所以这个其实要建立整个这样一个跨域的这样一个信任,
建立的一个过程其实是非常困难的,这也是个非常
具有挑战性的问题啊,卿老师给大家出了一个问题,同学们可以课后做一些思考,
也可以去找一些资料去了解,看看对这个兴趣,对这个问题有没有一些解答
的方法,好今天我们主要是请卿老师帮我们解释了这个
可信计算的一些概念,还有在国内这个标准化的一些进程和卿老师在可信计算工作组
担任工作组组长期间所做的一些工作,以及在这个 TPM2.0
方面的一些这个重大的一些改进方面,给大家做了非常详细的这个讲解。
啊,最后还对我们这个提出了一些相关的一些研究方
向,就是关于这个可信计算未来的研究和开发方面, 那么有一些什么样的一些,大家可以去探索一些点,
啊,我们非常感谢卿老师对这些给我们一些分享, 最后我们请卿老师给我们做一个总结词,
给我们学生提一点这个期望吧。 >> 希望同学们努力创新,
发挥可信计算的最大潜能,因为我今天讲的东西大部分都是前人已经工作做了的。
最后提出一个问题是希望同学们能够解答的,啊,但是我希望大家有新思维有新思路,
所以说没有创新,就没有灵魂,没有持续发展的可能,甚至没有生存的可能。
所以今后希望可信计算的发展,寄托在诸位的身上,
谢谢大家,也谢谢沈晴霓教授。 >> 好,谢谢。