前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >可信计算和可信赖计算的渊源

可信计算和可信赖计算的渊源

作者头像
安全乐观主义
发布于 2019-11-20 12:31:58
发布于 2019-11-20 12:31:58
1.5K0
举报
文章被收录于专栏:安全乐观主义安全乐观主义

写在前面

发展历史

微软方面

名词解释文献

专家讲解

引申阅读

写在前面

看到业界在谈论可信计算时,将任何微软做的事情都称为可信计算,其实这里面发展过程很复杂,历史的交叉结合翻译的错误颇有故事,微软做的一些事情和可信计算既有区别又有联系,这里有必要说明一下。按照我很尊敬的某位做可信计算的同事对此的评价:"看那些乱七八糟,东拼西凑,自己造出的词语,会被误导的"。

首先为大家介绍可信计算。按照权威可信计算组TCG(Trusted Computing Group,官网https://trustedcomputinggroup.org/)的定义,"一个实体是可信的,如果它的行为总是以预期的方式达到预期的目标",IEEE给出的定义是"可信是指计算机系统所提供的服务是可以论证其是可信赖的,即不仅计算机系统所提供的服务是可信赖的,而且这种可信赖还是可论证的。"信任是一种哲学关系,在计算机行业讲究科学,目前的困难是计算理论模型发展相对缓慢,安全芯片的标准和功能过于复杂,扩展和兼容性不好。

发展历史

1983年美国国防部制定了世界上第一个《可信计算机系统评价准则》TCSEC(Trusted Computer System Evaluation Criteria)(又称为彩虹系列)。在TCSEC中第一次提出可信计算基TCB(Trusted Computing Base)的概念,并把TCB作为系统安全的基础。彩虹系列(桔皮书)的出现形成了可信计算的一次高潮,多年来彩虹系列一直成为评价计算机系统安全的主要准则,对计算机系统安全有积极的指导意义。

1995年法国Jean-ClaudeLaprie和美国Algirdas Avizienis提出可信计算(dependable computing)的概念,1999年IEEE太平洋沿岸国家容错系统会议改名为 “ 可信计算会议”(PRDC),标志着可信计算又一次成为学术界的研究热点。

2000年12月11日以美国卡内基梅农大学与美国国家宇航局的Ames研究中心牵头,IBM、HP、Intel、微软等著名企业参加,成立了可信计算联盟TCPA,标志着可信计算进入产业界。

2003年TCPA改组为可信计算组织TCG。TCG的成立标志着可信计算技术和应用领域的进一步扩大。目前大多数场景支持可信pc规范v1.2。当然除了PC,当然还有server等,可信的核心是可信平台模块(TPM)芯片,目前已经升级到了TPM2.0,TPM1.X 禁止在中国销售,TPM2.0可以在中国销售。

微软方面

微软用的是Trustworthy computing(可信赖),而没有使用Trusted computing,比尔盖茨的网络安全备忘录指得就是TWC。采用微内核机制建立可信执行环节,为windows平台安全和隐私保护提供技术支撑,给用户建立和提供得到保障的、可靠的计算体验,SDL、威胁建模作为一类工具为此提供帮助。PC架构方面和TCG不同,提出代号为Palladium(守护神)的可信计算计划。Intel对微软的Palladium计划给予支持,宣布了支持Palladium计划的LaGrande硬件技术,并计划推出采用LaGrande技术的新一代奔腾处理器。后来,微软又将这一计划改名为NGSCB(next generation secure computing base),这一计划05年后发展不畅。

微软后来积极响应 TCG 的号召,做了可信计算标准的创新和商业应用的推广,包括在 Windows Vista、Windows 7、8、8.1 和最近发布的 Windows 10 中开发 TPM 功能。

名词解释

TCG: 可信计算组织(https://trustedcomputinggroup.org/)TPM: 可信计算的硬件支持模块。主要功能是验证,密码/证书存储、计算功能。TCB:可信计算基。一个理论名词,其主要功能在TPM中实现。TSS:可信计算软件栈。 一套软件/库。可信计算的管理接口和功能提供接口。

TBS:TPM标准服务,容许windows操作系统和应用使用TPM提供的软件组件,比如BitLocker就是。

TCM,国内叫做可信密码模块(Trusted Cryptography Module),作为中国独立自主的可信计算技术体系和标准,使用原生中国算法兼容符合微软、intel平台。

文献

最后为大家摘录闵应骅教授的《请不要将信任计算混同于可信计算》,原文地址http://blog.sciencenet.cn/blog-290937-247164.html,作者是IEEE Life Fellow,中国科学院计算技术研究所研究员、博士生导师,多次IEEE国际会议主席或程序主席,CCF容错计算终身成就奖获得者。

专家讲解

2009/7/20-22在海拉尔召开的第13届全国容错计算学术会议上,专门举办了一个关于“可信和安全计算的未来”的讨论会,邀请了美国卡内基梅隆大学Daniel P. Siewiorek教授(美国工程院院士,IEEE Fellow, ACM Fellow, AAAS Fellow),法国国家科学院系统结构分析实验室高级研究员Jean Arlat博士, 中国香港中文大学吕荣聪教授(IEEE Fellow, AAAS Fellow)及李晓维、徐拾义、杨孝宗等教授参加了讨论。大家觉得,可信计算和信任计算这两个科技名词无论从概念上、应用上和翻译上都需要加以区别。 可信计算(Dependable Computing) 在1985年召开的国际容错计算会议上,容错计算会议创始人Algirdas Avizienis提出了Dependable Computing的概念。日本人把它翻成可信赖计算,而中文则翻成可信计算。那是24年前的事。2000年IEEE国际容错计算会议在举行了29届以后,与IFIP WG10.4 关键应用的可信计算工作会议(DCCA)合并,改名为IEEE/IFIP国际可信系统与网络会议,每年一届。从2004年起,IEEE出版可信与安全计算汇刊(Transactions on Dependable and Secure Computing),这个刊名明确地把可信计算和安全计算分开。可信计算主要针对元器件、系统、网络在设计、制造、运行、维修全过程中出现的各种非恶意故障;进行故障检测、故障诊断、故障避免、故障容许,使系统能够高可靠、高可用。这是从容错技术发展起来的一个门类的技术领域。在计算机科学内部,应该算理论性比较强的一个分支。所以有人把容错计算归于计算机科学理论范畴。事实上,电子产品在设计、制造、运行、维修过程中都可能产生故障。硬件设计中可能有错误,虽然设计人员想方设法减少故障,但仍难避免。在软件设计中的故障,则更是普遍存在。一般认为,每千行程序有4-5个故障是很正常的。制造过程中可能产生故障,导致成品率一般到80%就很好了。测试过程可能把坏芯片当作好芯片给了用户。国外用拒收率来标志测试质量的好坏,以ppm (parts per million chips)为单位,即每百万芯片中有多少坏芯片被测试误认为是好芯片,而由用户退回。500ppm尚可,100ppm就被认为是高质量的测试了。在运行中,产品由于老化、环境、干扰等原因产生故障,操作员的错误操作也会引起故障。系统维修必不可少,但维修过程中可能引起新的故障。所有这些故障,会使某些单元输出出现差错,进而导致系统失效。这是我们不愿意看到的。可信计算就是要在设计、制造、运行、维修的全过程中检测故障、诊断故障、避免故障、容忍故障,以保证系统在用户有理由信赖的情况下正常运行。 安全计算(Secure Computing)主要针对系统和网络运行过程中可能受到的恶意攻击。这个问题在因特网出来之前,在多用户系统中就已经存在。在银行、旅馆、机场、控制等领域已经受到极大重视。自从因特网普及以后,安全问题显得无比重要了。各国政府、各大公司都投入大量人力物力,关注计算的安全性。 可信计算和安全计算主要的不同就在于他们要对付的故障不同。安全计算主要对付人为的恶意攻击,而可信计算主要对付非恶意产生的故障。 信任计算(Trusted Computing)   2001年皮尔、盖茨在微软启动了Trustworthy Computing的研究。事实上,1999年几十家公司和大学成立了TCPA (Trusted Computing Platform Alliance),2003重组为Trusted Computing Group (TCG),并推出了TPM (Trusted Platform Module) 。2008年中国成立了China Trusted Computing Union (CTCU),报纸上公布叫中国可信计算联盟,推出了TCM (Trusted C Module) 。信任计算的目的是让PC机的计算过程和结果被用户信任、被公司信任,也被国家信任。这就需要在每个终端平台上植入一个信任根(Trusted root),让PC从BIOS到操作系统内核层,再到应用层,都构建信任关系,由此建立一个能在网络上广泛传递的信任链。信任计算要在现有计算机架构上添加安全芯片、硬件模块及相应软件,以构建一个操作系统体系之外的计算机安全平台。从商家来说,它可以检查用户使用的软件是否为合法软件,以确保知识产权。从用户来说,它可以保证自己的文件和资料的安全。对于个人、公司和国家都需要保证信息安全,对于国家就尤其重要。当然,信任计算的结果是否真正是那么值得信任,和社会紧密相连,和管理关系极大。就知识产权来说,用户不用正版软件,公司就不能信任该用户的计算结果,而且侵犯了公司的知识产权。越来越严重的安全形势,因特网上的黑客攻击,各种各样的病毒都使用户提心吊胆,不敢信任自己的计算机和它出现的任何异样。所以,信任计算受到极大关注是理所应当的,而且,我们国内也做了大量卓有成效的工作。所以,国内有媒体说2008年是“中国信任计算元年”,做了许多开创性的工作。 可信计算和信任计算的区别   自从2007年以来,国内把Trusted Computing也翻成可信计算。这样,可信计算和信任计算就被混在一起,都说是可信计算。自此,。就在国内引起了混乱。在科研课题立项、评估、审批等方面造成许多误会。从政府部门的官员,到信息技术的大同行专家学者,如果不了解这两个词的来龙去脉,就很难区别。其实,从字面上说,Trusted Computing并没有“可以”信任的意思,而是“被信任的计算”的意思。按照中文的习惯,可以翻成“信任计算”。就是说,商家和用户都相信“信任计算”的过程和结果。而可信计算是要用理论、实验或证据来说明:在怎样的情况下,计算为什么是可以信赖的。从英文的字面上来说:I trust someone who is not dependable。这是完全可能的。另一方面,I do not trust someone who is really dependable。这种误会也是常有的。举例来说,2008年10月20日起微软在华推出XP系统和Office软件正版验证,盗版XP桌面每小时将变为黑色,被称为“黑屏事件”。这是微软不信任用户用的是它的正版软件,于是设置实时监控,检查用户是否在使用盗版软件,如果是,则“黑幕”。这对公司是对正版的确认,而对用户则是一种不信任的行为。所以,碰了钉子。2009年6月,工信部下文,要求国内新售电脑必须预装一款名为“绿坝-花季护航”的绿色上网软件,目的是防止青少年浏览不良信息。这就是所谓的“绿坝事件”。工信部信任该软件能筛掉不良信息,但用户反应比较大,没几天就发现许多软件漏洞,因而不得不搁浅。这就是工信部信任了一个不可信的软件。这说明,信任的东西应该经过是否可信的论证,才应该去真正信任它。 结语   从上面的分析可以看出,Dependable computing和Trusted computing从概念上、内容上都有很大不同。从字面上看,人们信任一个可信的系统,但也可以信任一个不可信的系统,如果他有什么特殊的需要的话。同样地,人们一般不信任不可信的系统。但是,不排除有人就是不信任一个可信的系统。所以,“可信”和“信任”是有区别的。所以,这次会议大家一致建议:将Dependable computing翻成可信计算,而Trusted computing翻成信任计算,希望不要把信任计算混同于可信计算。 --闵应骅

引申阅读

  • https://blog.csdn.net/piddock/article/details/83470085
  • https://blog.csdn.net/gscsnm/article/details/71436586
  • https://trustedcomputinggroup.org/about/
  • https://zhuanlan.zhihu.com/p/34607082
  • https://zh.coursera.org/lecture/os-virtsecurity/9-11-fang-tan-qing-si-yi-jiao-shou-1-wei-ruan-de-ke-xin-lai-ji-suan-gai-nian-17-Zaq0S
  • https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc734063(v=ws.10)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 安全乐观主义 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
⭐️ 关键字深度剖析 ⭐️第二章(多文件\数据类型&关键字extern/static)
第三章传送门:⭐️ 关键字深度剖析 ⭐️第三章(关键字sizeof\signed\unsigned&原反补\数据范围)
用户9645905
2022/11/30
2630
⭐️ 关键字深度剖析 ⭐️第二章(多文件\数据类型&关键字extern/static)
⭐️ 关键字深度剖析 ⭐️第一章(变量&关键字auto/register)
第二章传送门:⭐️ 关键字深度剖析 ⭐️第二章(多文件\数据类型&关键字extern/static)
用户9645905
2022/11/30
3990
⭐️ 关键字深度剖析 ⭐️第一章(变量&关键字auto/register)
C语言标准定义的32个关键字保姆级讲解
C语言中的数据类型主要有下面几种。实际上,数据类型可以理解为固定大小内存块的别名,给变量指定类型就是告诉编译器给该变量分配多大的内存空间,而变量相当于是内存块的门牌号。
mindtechnist
2024/08/08
1920
C语言标准定义的32个关键字保姆级讲解
c语言进阶(1)
双击是程序在干什么?将程序数据加载到内存当中,让计算机运行。任何程序在运行之前,都必须被加载到内存当中。
用户11039545
2024/03/28
1030
c语言进阶(1)
初识C语言·函数
函数的概念可以参照数学中的y = kx + b,给一个x的值,让它计算y的值,同理,函数就是给一个执行指令,让它完成后续操作。
_lazy
2024/10/16
750
初识C语言·函数
C语言------函数
在不同的文件中,如果想要使用的某个变量没有在本文件定义,需要使用extern关键字声明;
阑梦清川
2025/02/24
1470
C语言------函数
【C语言】关键字static和extern详细总结
作用域 (scope)是程序设计概念,通常来说,⼀段程序代码中所用到的名字并不总是有效可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
用户11290673
2024/09/25
1740
【C语言】关键字static和extern详细总结
完全入门C语言
C语言是一门通用的计算机编程语言,广泛应用于底层开发。其设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。有良好的跨平台的特性。 同时C语言还是面向过程的编程语言,这与JAVA C++等面向对象的编程语言有所不同。 目前主流的C语言编译器有:GCC Clang MVSVC等
Yui_
2024/10/15
2120
完全入门C语言
C语言关键字
C语言一共多少个关键字呢?一般的书上,都是32个,但是这个都C90(C89) 的标准。其实 C99 后又新增了5个关键字。不过,目前主流的编译器,对 C99 支持的并不好,默认使用 C90 ,即,认为32个。
小舒不服输
2024/01/30
1910
C语言关键字
C语言 “入门” 章节的全知识点
注意后缀! 如果是以.cpp为后缀 编译器会按照C++编译 如果是以C为后缀 就是C语言
2024/04/30
1600
C语言 “入门” 章节的全知识点
C语言系列之函数
函数的概念:(有些翻译为:子程序)C语言中的函数就是一个完成某项特定的任务的一小段代码。这段代码是有特殊的写法和调用方法的。
四念处茫茫
2025/02/03
1480
【c语言】函数
“函数”早已是我们在数学中常见的概念了。在数学当中,给定一个x的值,可以对应求出y值。在c语言中,也有“函数”的概念,它就是一个完成某些特定功能的代码。实际上,c语言程序就是由一个个函数组成的,我们最常使用的main函数也是函数。
ephemerals__
2024/10/24
2210
【c语言】函数
【C语言笔记】static关键字
C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注意不是局部变量)或者函数只能在一个源程序中定义一次,如果有重复定义的话编译器就会报错。
正念君
2019/06/26
9470
【C语言笔记】static关键字
初识C语言——关键字static的作用
大家可以自己先思考一下答案,这两段代码有什么不同的地方,输出结果分别是什么,会有什么不一样? 然后我们来对比一下它们的结果:
YIN_尹
2024/01/23
1.4K0
初识C语言——关键字static的作用
【C语言】函数
    数学中我们其实就⻅过函数的概念,⽐如:⼀次函数 y=kx+b ,k和b都是常数,给⼀个任意的x,就得到⼀个y值。 其实在C语⾔也引⼊函数(function)的概念,有些翻译为:⼦程序,⼦程序这种翻译更加准确⼀些。     C语⾔中的函数就是⼀个完成某项特定的任务的⼀⼩段代码。这段代码是有特殊的写法和调⽤⽅法的。     C语⾔的程序其实是由⽆数个⼩的函数组合⽽成的,也可以说:⼀个⼤的计算任务可以分解成若⼲个较⼩的函数(对应较⼩的任务)完成。同时⼀个函数如果能完成某项特定任务的话,这个函数也是可以复⽤的,提升了开发软件的效率。     在C语⾔中我们⼀般会⻅到两类函数:
TANGLONG
2024/10/15
2360
【C语言】函数
【C语言】详解static和extern关键字
可能在你遇到这篇文章之前,你可能并未听过C语言中还有static和extern这两个关键字。或者你也许听过但是并未使用过。 这些都不是问题,在本文中,我将细细的给大家揭晓这两个关键字背后的秘密,及以后我们该如何使用它们。🥇🥇😊
埋头编程
2024/10/16
3730
【C语言】详解static和extern关键字
【C语言】关键字
那么,定义变量的本质: 在内存中开辟一块空间,用来保存数据。(为何一定是内存:因为定义变量,也是程序逻辑的一部 分,程序已经加载到内存)
平凡的人1
2022/11/15
7750
【C语言】关键字
【C语言】关键字的补充
✨作者:@平凡的人1 ✨专栏:《C语言从0到1》 ✨一句话:凡是过往,皆为序章 ✨说明: 过去无可挽回, 未来可以改变 ---- 🌹感谢您的点赞与关注,同时欢迎各位有空来访我的🍁平凡舍 ---- 前面,我们通过这一篇博客👉关键字 对我们前面学过的关键字进行了一些内容的补充拓展,同时,认识学习了我们3个不太常用的关键字,老规矩,现在,通过这一篇新的博客——我们仍然对关键字这块的相关内容进行一些补充拓展,同时对一些关键字进行简单的剖析。 话不多说,直接进入主题👇 文章目录 基本数据类型 最冤枉
平凡的人1
2022/11/15
2590
【C语言】关键字的补充
初学C语言的福音-初识关键字和指针
关于100==age//建议这样写,但是1==num%2就不用 如果少些了一个等号,就会报错,会出现表达式左边必须是可修改的左值的报错。(左右值的概念)
MicroFrank
2023/01/16
3130
C:关于static 和 extern 关键字的介绍-学习笔记
作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效(可用)的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
LonlyMay
2024/10/21
1850
C:关于static 和 extern 关键字的介绍-学习笔记
相关推荐
⭐️ 关键字深度剖析 ⭐️第二章(多文件\数据类型&关键字extern/static)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档