目录
参考推荐:
https://blog.csdn.net/z190814412/article/details/85330647
https://blog.csdn.net/trustbo/article/details/78130661
https://blog.csdn.net/lcl_xiaowugui/article/details/80821297
https://blog.csdn.net/xinghuanmeiying/article/details/105422824
https://blog.csdn.net/gscsnm/article/details/71436586
可信计算技术
我国信息安全发展的方向:
- 核高基--发展自主可控的硬件和软件(短时间内...)
- 发展保障性和防御性技术:可信计算
可信:如果第二个实体完全按照第一个实体的预期行动时,则第一个实体认为第二个实体是可信的;其强调实体行为的预期性,强调系统的安全与可靠。
可信计算(TrustedComputing):一项由TCG(可信计算组)推动和开发的技术,是一种基于密码的运算与防护并存的计算机体系安全技术,保证全程可检测可监控。可信计算的原理是出击,整个链路都经过可信认证,所以无论从应用、操作系统还是硬件,必须经过授权才能使用,这无疑降低了病毒、网络攻击的概率。可信的核心目标之一是保证系统和应用的完整性,从而确定系统或软件运行在设计目标期望的可信状态。
信任根:可信计算机系统可信的基点,分为可信度量根(RTM,平台启动时首先被执行的一段软件)、可信存储根(RTS,是可信平台模块芯片中的一组被称为平台配置寄存器的存储器和存储根密钥)、可信报告根(RTR,是可信平台模块芯片中的平台配置寄存器和签注密钥)
信任链:信任度量模型的实施技术方案,通过信任链把信任关系从信任根扩展到整个计算机系统。
可信计算基本思想--利用远程证明数字版权保证安全性:在计算机系统中,首先构建一个信任根,再建立一条信任链,从信任根开始到硬件平台、到操作系统、再到应用,一级度量认证一级,一级信任一级,把这种信任扩展到整个计算机系统,从而确保整个计算机系统的可信。
1、可信与安全?
可信和安全是相辅相成的,可信是安全的基础,了解可信才能更好地了解安全,才能为构建更稳固的安全体系固本强基。可信并不等同于安全,但它是安全的基础,因为安全方案、策略只有运行在未被篡改的环境下才能进一步确保安全目的。通过保证系统和应用的完整性,可以确保使用正确的软件栈,并在软件栈受到攻击发生改变后能及时发现。总的来说,在系统和应用中加入可信验证能够减少由于使用未知或遭到篡改的系统/软件遭到攻击的可能性。具体来说,可信计算技术对安全有如下提升:
- 操作系统安全升级,如防范UEFI中插入rootkit、防范OS中插入rootkit、以及防范病毒和攻击驱动注入等。
- 应用完整性保障,如防范在应用中插入木马。
- 安全策略强制实现,如防范安全策略被绕过/篡改、强制应用只能在某个计算机上用、强制数据只能有某几种操作等。
2、可信的实现?
可信主要通过度量和验证的技术手段实现。度量就是采集所检测的软件或系统的状态,验证是将度量结果和参考值比对看是否一致,如果一致表示验证通过,如果不一致则表示验证失败。度量分为静态度量和动态度量两种。静态度量通常指在运行环境初装或重启时对其镜像的度量。度量是逐级的,通常先启动的软件对后一级启动的软件进行度量,度量值验证成功则标志着可信链从前一级软件向后一级的成功传递。以操作系统启动为例,可信操作系统启动时基于硬件的可信启动链,对启动链上的UEFI、loader、OS的image进行静态度量,静态度量的结果通过云上可信管理服务来验证,以判断系统是否被改动。动态度量和验证指在系统运行时动态获取其运行特征,根据规则或模型分析判断系统是否运行正常。
3、可信计算在云计算中的必要性
云计算所面临的新的安全威胁如下:
- 行为模式受到限制
- 企业信誉受到威胁
- 信任链问题
- 恶意用户问题
- 双向审计问题
云计算服务的透明性让传统的终端计算迁移到了云端计算。用户的敏感数据处理过程也从终端的处理,迁移到了超越用户控制范围来实施。因此,旧有的用户的风险控制手段也应从终端迁移到云端。用户的信赖对象从终端本地平台转移到了云端的计算平台安全。信赖对象的改变促进使我们思考如何提高云计算基础设施服务层的可信性,因此,安全可信成为云计算的成败关键。
4、智能卡子系统的工作原理
可信PC平台通过智能卡子系统来实现开机用户身份验证以及用户权限控制等功能
- 可信PC平台通过物理措施与TCM绑定,智能卡是转载用户身份信息的载体
- TCM在制造阶段会生成一个身份认证密钥TK,发卡系统将TK写入智能卡中,同时为智能卡生成一个身份认证密钥CK
- 可信PC平台管理员在部署平台是,对TCM进行初始化配置,把用户的智能卡的身份认证密钥CK载入TCM中
TCM和智能卡通过一方对随机数加密,另一方进行解密达到双向认证的目的。可信PC平台还通过智能卡子系统实现了对用户的权限控制。
可信计算发展背景
信息安全具有四个层面:设备安全、数据安全、内容安全与行为安全。可信计算属于行为安全,据中国信息安全专家在《软件行为学》一书中描述,行为安全应该包括:行为的机密性、行为的完整性、行为的真实性等特征。
早期可信计算的研究主要以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。
可信计算的一个核心部分是可信根,通常是可信硬件芯片。可信计算通过芯片厂家植入在可信硬件中的算法和秘钥,以及集成的专用微控制器对软件栈进行度量和验证来确保可信。根据安全芯片和其上运行的可信软件基(TrustedSoftware Stack)分类,业界目前主流的可信计算标准主要有三种:TrustedPlatform Module (TPM)、Trusted Cryptography Module (TCM)和Trusted Platform Control Module(TPCM)。
TPM/TCM的优势在于技术成熟、商业化条件好,产品商业化已经超过十年。微软和谷歌都有基于TPM的商业化的可信云方案。TPCM是基于国产化思路提出的可信标准。相对TPM和TCM,TPCM对硬件和可信软件栈(TSS:Trusted Software Stack)架构做了较大的改动。TPCM最大的优点是可以做主动度量,但在计算主机上尚未商业化和产品化成熟。
可信计算技术国内外研究
1、国外研究
目前,国际上对可信计算的研究主要集中在产业界,可信计算的研究主要包括可信计算机体系结构、可信计算机硬件平台、可信计算机软件平台和可信网络接入四部分内容,下面分别对这四方面内容进行介绍。
可信计算机体系结构:可信计算机体系结构是可信计算技术实施的核心,主要为构建具体的可信计算机终端提供总体设计框架。相比于传统的PC机框架结构,可信PC机主要增加了可信构建模块(Trusted Building Block,TBB)、与平台相关的嵌入式硬件等。其中,可信构建模块由可度量的核心信任源CRTM和TPM共同组成,它们也是主板上唯一的可信组件。目前比较典型的可信计算机实现框架有Intel公司基于LT技术的可信计算机框架、微软公司基于NGSCB技术的可信计算机框架和TCG提出的可信PC机实现框架。
1)LT技术是英特尔公司提出的新一代PC平台的安全解决方案。LT是多种硬件技术的结合,包括以下四个主要部分:CPU支持进程间隔离,对执行进行保护;TPM支持密封存储,提供用于用户认证和平台验证的各种码支持;Chipset支持内存隔离,域管理,解决DMA通道对内存访问的问题,也为建立有保护的输入输出环境提供硬件支持;Protect 1/0涉及到各种外部设备及接口,建立有保护的输入输出还需要对外部设备及接口进行改造。
2)与Intel公司不同,微软侧重通过设计基于安全芯片的可信操作系统而构建可信计算机,该系统的实现依赖于微软的NGSCB技术,基于NGSCB技术的可信计算机框架结构可以划分为三层:最底层为硬件支持层称为一个类似于TPM的SSC模块(Secure Support Component);运行在其上的是与操作系统内核同处一个层次的核心模块,通过该模块来提供对SSC的访问,同时提供各种安全功能支持,称为nexus;上面是应用层,由称为NCA(Nexus Computing Agent)的代理来执行。然而,目前微软最新一代操作系统Vista并没有做到其前期所承诺的支持NGSCB,微软使用了另一个相对简单的名为“Secure Startup”的应用技术,来代替NGSCB。
3)TCG在分析可信计算技术相应作用机制的基础上,提出了基于TPM芯片的可信PC机实现框架。TCG的可信计算机主要有以下几大模块:可信平台模块即TPM,其通常是具有密码运算能力和存储能力的芯片,在可信计算平台中起核心的控制作用;可度量的核心信任源即CRTM(Core Root of Trust for Measurement),其是可信计算平台初始化代码中的不可变部分,计算机启动后,由CRTM接管系统控制权,在TPM的配合下完成可信计算机中信任状态的逐级建立和传递;可信计算软件栈即TSS,其是在TPW平台上的支撑软件,主要为其它软件提供使用TPM的接口。
可信计算机硬件平台:可信计算机硬件平台是实现计算机终端安全和网络平台可信的根本保障,其主要包括可信CPU、可信计算机中的安全芯片、BIOS系统及安全外设等,具体的研究情况如下所述:
- 安全CPU:主要有AMD公司的支持片内安全和虚拟技术的Opteron处理器,IBM公司的基于Secure Blue技术的CPU和ARM公司的基于TrustZone技术的CPU;
- 安全芯片:有美国国家半导体公司(National Semiconductor Corporation)推出的SafeKeeper Trusted I/0的信息系统防护芯片,Atmel、Infineon、Broadcom、TBD等都分别推出了符合TPM1.2规范的TPM芯片;
- BI0S:各BIOS厂商也都推出了支持TPM芯片的安全增强型BIOS系统,如Phoenix公司的TrustedCore产品和AMI公司的AMIBIOS8产品等;
- 安全外设:主要有西捷公司开发的具有加密功能的安全硬盘和IBM公司结合专用主板设计的安全硬盘,在固态盘方面,国外公司通过SOC技术,设计固态存储专用控制器,将接口控制功能、处理器控制功能、Flash存储器读写控制功能相结合,并具有数据快速擦除功能。
可信计算机软件平台:可信计算机软件平台的研究表现为计算机硬件平台上各层次软件系统的设计实现与综合集成,相关内容主要包括可信软件栈和可信操作系统的研究。目前,除了有代表性的研究主要有TCG发布的可信计算软件栈规范和微软开发的支持TPMV1.2芯片和NAP技术的新一代操作系统Windows Vista外,美国几家著名的实时操作系统公司正在与承包商合作进行安全操作系统的开发,这些开发主要是基于Linux,针对Linux系统在可信引导、应用程序的可信管理和文件系统的可信管理方面进行研究和设计,国外比较有名的商用安全操作系统产品有Sun Microsystems 的Trusted Solaris 8、HP的HP-UX、Argus Systems Group的PitBull等,较有名的开源安全操作系统有NAS的SELinux、Nove11的AppArmor和LIDS等。
可信网络接入:可信网络连接技术旨在解决网络环境中计算机终端的认证和可信接入问题,要强调的是终端的安全接入,或者更确切说是防止网络中接入不安全的终端,试图控制网络中最难以控制,也是不安全因素的源头——终端。当终端要访问网络之前,要对终端的身份进行识别,并对其完整性状态进行检测并与系统的安全策略进行比较:如果满足安全策略要求,则允许终端接入网络;否则,则拒绝或是对该终端进行安全隔离,当终端处于隔离状态时,可以对该终端进行修复,直到终端的完整性及其它安全属性达到系统安全策略的要求时,方可允许该终端接入网络。目前在可信网络连接方面,比较有影响的研究主要有TCG的TNC技术、思科的AC技术和微软的NAP技术。三者均由传统的IWG技术架构演化而来,在实现思路和技术架构都比较接近,主要区别在于开放性和技术重点方面:NAP和NAC是厂商的专有技术,NAC由于是CISCO发布的,所以其架构中接入设备占了很大的比例,NAP则偏重在终端agent以及接入服务,这与微软自身的技术背景也有很大的关联;而TNC是开放标准,任何厂商的产品都可以调用或提供操作接口,TNC技术的重点放在建立TPM芯片基础之上的主机身份认证与完整性验证上。
目前,三家主流的接入技术进入了一个合作与技术融合的阶段:2006年,思科与微软共同发布了一份技术白皮书,宣布Cisco NAC和Microsoft NAP将实现互操作,以实施安全策略和进行状态评估,白皮书介绍了这一架构,并具体阐述了如何将思科网络基础设施内嵌的安全功能与Microsoft Windows Vista、以及Windows Longhorn Server下一代操作版本相集成,此后客户即可以开始部署Cisco AC与Microsoft NAP的互操作解决方案;在2007年的5月21日,微软又宣布了与可信计算组织的TNC的互操作性,简化了网络访问控制框架和协议,解决方案将部署在Windows Longhorn Server下一代操作版本中。
2、国内研究
1999年,武汉瑞达科技有限公司依托武汉大学技术力量进行了“安全计算机”的体系机构和关键技术的研究和实践,并于2004年推出了可信计算平台SQY14嵌入密码型计算机。
兆日科技作为TCG的又一中国成员,在研究跟踪TCG相关技术规范的基础上,于2005年年初推出了符合TPM1.2规范的安全芯片SSX35B,并已经开展了与长城、同方等多家主流品牌电脑厂商的合作,相继推出了相应的可信计算机。
联想方面宣称已在可信主机、可信网络和可信管理系统三个方面取得了关键性的突破,主要成果包括:推出了符合TPW1.2规范的恒智芯片;基于该安全芯片推出的安全终端及安全应用系统;基于LeadSec安全协议族的可信管理系统框架;以及基于安全芯片的访问控制,高速内容检测与过滤技术;3A网关技术构成的安全网络设备核心技术等。
国家密码管理局联合国内一些IT企业研究TCM(Trusted Computing Module,可信计算模块)标准,2007年12月29日,国家密码管理局发布了TCM标准,接着,中兴公司研制并推出了首款符合TCM规范的芯片。
天融信公司于2004年12月推出了“可信网络架构”,该架构主要包括可信安全管理系统(TSM)、网关可信代理(GTA)、网络可信代理(NTA)和端点可信代理(PTA)四部分,其可以确保安全管理系统、安全产品、网络设备和端点用户等四个安全环节的安全性,同时能对用户网络已有的安全资源进行有效整合和管理,该架构已经具有可信计算技术的部分属性。
在安全操作系统的研究方面,国防科技大学计算机学院“863服务器操作系统内核”项目组研制的操作系统银河麒麟操作系统(英文名称:Kylin Operating System),Kylin操作系统分为标准版和安全版两种版本,从许多方面对Kylin操作系统的安全性作了增强,其重要的安全机制包括:增强的用户认证机制、细粒度的自主访问控制机制、系统内核实现的强制访问控制机制、能力机制、角色定权机制、禁止客体重用和安全审计机制等。
航天706所在参考国际可信计算技术的基础上,结合具体的应用需求,对系统信任根建立和传递技术、安全BIOS实现技术(包括传统BI0S架构和UEFI架构下BIOS系统安全模块的开发和BIOS系统的定制开发等)、TPM实现技术、安全存储设备实现技术及可信网络接入架构等方面进行了系统研究,推出了具备系统整体安全防护能力的可信计算终端,初步构建了相应的可信计算环境。
就中国国内而言,中国的政府管理者对可信计算给予了极大的关注,对可信计算提供了相当大的经费支持。如中国国家密码管理委员会组织了可信密码模块的标准制定,并在其官方网站上提供了部分标准。中国科技部的863计划开展了可信计算技术的项目专题研究,自然基金委开展了“可信软件”的重大专项研究计划支持。
在学术领域,中国工程科学院沈昌祥院士、中科院冯登国研究员、武汉大学张焕国教授等在可信计算的理论与技术推广方面做了很大的贡献。
可信计算的核心概念
可信计算包括5个关键技术概念,他们是完整可信系统所必须的,这个系统将遵从TCG(Trusted Computing Group)规范:
- 认证密钥
- 安全输入输出
- 内存屏蔽/受保护执行
- 封装存储
- 远程证明
1)签注密钥:是一个2048位的RSA公共(用来认证和加密发送到该芯片中的敏感数据)和私有密钥对,该密钥对在芯片出厂时随机生成且不能改变。这个私有密钥永远在芯片里,而公共密钥用来认证及加密发送到该芯片的敏感数据。
2)安全输入输出:指电脑用户和他们认为与之交互的软件间受保护的路径。在当前的计算机系统中,恶意软件有很多途径截取用户与软件进程间传送的数据。例如,键盘监听者(Keyboard Logger)和屏幕截取者(Screen Scraper)。安全I/O表现为受硬件和软件保护和验证的信道,采用校验值来验证进行输入输出的软件没有受到篡改。将自身注入到信道间的恶意软件会被识别出来。尽管安全(I/O)提供针对软件攻击的防护,但它未必提供对基于硬件的攻击的防护,例如物理插入用户键盘和计算机间的设备。
3)存储器屏蔽:拓展了一般的存储保护技术,提供了完全独立的存储区域,即使操作系统自身也没有被屏蔽存储区域的完全访问权限。例如,包含密钥的位置。即使操作系统自身也没有被屏蔽储存的完全访问权限,所以入侵者即便控制了操作系统信息也是安全的。
4)密封存储:通过把私有信息和使用的软硬件平台配置信息捆绑在一起来保护私有信息,该数据只能在相同的软硬件条件下读取。封装存储从当前使用的软件和硬件配置派生出的密钥,并用这个密钥加密私有数据,从而实现对它的保护。这意味着该数据仅在系统拥有同样的软硬件组合的时候才能读取。例如,用户在他的计算机上保存自己的日记,不希望其他的程序或计算机读取。这样一来,病毒可以查找日记,读取它,并将它发给其他人。Sircam 病毒所作的与此类似。即使日记使用了口令保护,病毒可能运行字典攻击。病毒还可以修改用户的日记软件,用户使用软件打开日记时通过受篡改的软件可能泄漏其中的内容。使用封装存储,日记被安全地加密,只有在该计算机上的未被修改的日记软件才可以打开它。
5)远程认证:准许用户电脑上的改变被授权方感知。远程证明使得用户或其他人可以检测到该用户的计算机的变化。这样可以避免向不安全或安全受损的计算机发送私有信息或重要的命令。远程证明机制通过硬件生成一个证书,声明哪些软件正在运行。用户可以将这个证书发给远程的一方以表明他的计算机没有受到篡改。远程证明通常与公钥加密结合来保证发出的信息只能被发出证明要求的程序读取,而非其它窃听者。
用户的日记软件可以将日记发送给其他的机器,但是只能发给那些能够证明所运行的是一份安全的日记软件。与其他的技术结合起来,远程证明可以为日记提供一个更加安全的路径:通过键盘输入以及在屏幕显示时受到安全I/O的保护,内存屏蔽在日记软件运行时保护日记,而封装存储在它存储到硬盘的时候保护它,并且远程证明保护它在其它计算机使用时不受非授权软件的破坏。
可信计算的关键技术
可信计算的研究涵盖了硬件、软件以及网络等不同的技术层面,其中涉及的关键技术主要有以下几点:
- 信任链传递技术
- 安全芯片设计技术
- 可信BIOS技术
- 可信计算软件栈(TSS)设计实现技术
- 可信网络连接技术
1)信任链传递技术:在可信计算机系统中,信任链被用于描述系统的可信性,整个系统信任链的传递从信任根(安全芯片和CRTM)开始。从平台加电开始到BIOS的执行,再到操作系统加载程序的执行,到最终操作系统启动、应用程序的执行的一系列过程,信任链一直从信任根处层层传递上来,从而保证该终端的计算环境始终是可信的。
2)安全芯片设计技术:安全芯片作为可信计算机系统物理信任根的一部分,在整个可信计算机中起着核心的控制作用。该芯片具有密码运算能力、存储能力,能够提供密钥生成和公钥签名等功能;其内部带有非易失性存储器,能够永久保存用户身份信息或秘密信息。
3)可信BIOS技术:BIOS直接对计算机系统中的输入、输出设备进行硬件级的控制,是连接软件程序和硬件设备之间的枢纽。其主要负责机器加电后各种硬件设备的检测初始化、操作系统装载引导、中断服务提供及系统参数设置的操作。在高可信计算机中,BIOS和安全芯片共同构成了系统的物理信任根。
4)可信计算软件栈(TSS)设计实现技术:可信计算软件栈是可信计算平台的支撑软件,用来向其它软件提供使用安全芯片的接口,并通过实现安全机制来增强操作系统和应用程序的安全性。可信计算软件栈通过构造层次结构的安全可信协议栈创建信任,其可以提供基本数据的私密性保护、平台识别和认证等功能。
5)可信网络连接技术:可信网络连接技术主要解决网络环境中终端主机的可信接入问题,在主机接入网络之前,必须检查其是否符合该网络的接入策略(如是否安装有特定的安全芯片、防病毒软件等),可疑或有问题的主机将被隔离或限制网络接入范围,直到它经过修改或采取了相应的安全措施为止。
信任链
信任链基本定义:信任链是信任度量模型的实施技术方案。信任链技术是可信计算的关键技术之一。可信计算平台通过信任链技术,把信任关系从信任根扩展到整个计算机系统,以确保可信计算平台的可信。TCG给出的信任链定义如下:CRTM->BIOS->OSLoader->OS->Applications
模型:
- 信任链交互模型
- 信任链复合模型
结构
- 具有数据恢复的星星信任结构
- 将可信度量根RTM、可信存储根RTS和可信报告根RTR集为一体,都集成在TPM芯片中
- 对所有被度量的软件(BIOS,OS Loader,OS,Applications) 都进行数据备份
- 在信任度量过程中,当发现某个被度量软件的完整性被破坏时,进行备份恢复
不足
- 尚未有研究机构对信任链的本质进行有效刻画和理论描述
- 通过信任链技术,可信计算着力于保护代码和数据的完整性,却没有设计平台秘密信息、用户私有数据的机密性,只有完整性机制,而缺少机密性机制,这对于终端安全来说是不完善的
基本应用
计算机安全启动
可信计算平台
我国的可信平台:
可信平台模块TPM
1、各部件功能:
- I/O部件完成总线协议的编码和译码,并实现TPM与外部的信息交换
- 密码协处理器用来实现加密、解密、签名和验证签名的硬件加速
- HMAC引擎是实现基于SHA-1的Hash函数消息认证码HMAC的硬件引擎,其计算根据RFC2014规范
- SHA-1引擎是Hash函数SHA-1的硬件执行
- 密钥生成部件用于产生RSA密钥对
- 随机数发生器是TPM内置的随机源,用于产生随机数
- 电源检测部件管理TPM的电源状态
- 执行引擎包含CPU和相应的嵌入式软件,通过软件的执行来完成TPM的任务
- 非易失性存储器主要用于存储嵌入式操作系统及其文件系统,存储密钥、证书、标识等重要数据
2、优点和不足
优点:
TPM体现了TCG以硬件芯片增强计算平台安全的基本思想,为可信计算平台提供了信任根。TPM以密码技术支撑TCG的可信度量、存储、报告机制,为用户提供确保平台系统资源完整性、数据安全存储和平台远程证明等可信服务。
不足:
- TPM被设计成一种被动部件,缺少对平台安全的主动控制技术
- 缺少芯片本身物理安全方面的设计
- 可信度量根RTM是一个软件模块,它存储在TPM之外,容易受到恶意攻击
- 采用LPC总线与PC平台连接,不适合大数据量的通信
- TPM的设计主要是面向PC平台的,对于服务器和移动计算平台并不完全适合
- TPM在密码配置和密钥管理方面也存在较多不足
中国可信平台模块
可信软件栈
基本架构:可信软件栈具有多层次的体系结构,可分为TSS服务提供层TSP、TSS核心服务层TCS、TSS设备驱动层TDDL,每个层次都定义了规范化的数据接口。TSP主要作为本地和远程应用的可信代理,TCS用于提供公共服务的集合,TDDL负责和TPM的交互
原理:最上层的TSP是向用户的应用程序提供接口,它把来自应用程序的参数打包传给TCS模块,由TCS模块来提供具体的功能函数;TCS模块把来自TSP模块的参数进行分析和操作以后写成一个TPM可以识别的字节流,通过TDDL传到TPM里面去,TPM接收到字节流以后进行相应的操作,把结果以字节流的形式通过TDDL返回到TCS,TCS对字节流分析以后把结果传给TSP,最后由TSP把正式的结果返回给应用程序。
可信网络连接(TNC)
基本架构:TNC架构包括三个实体、三个层次和若干个接口组件。该架构在传统的网络接入层次上增加了完整性评估层与完整性度量层,实现对接人平台的身份验证与完整性验证
- 三个实体分别是访问请求者(Access Requestor,AR),策略执行点(Policy Enforcement Point,PEP)和策略执行点(Policy Decision Point,PDP)
- 三个层次分别是网络访问层、完整性评估层与完整性度量层
优缺点
优点:
- 开放性:TNC架构本身就是针对互操作的,所有规范都面向公众开放,研究者可以免费获得相关的规范文档
- 安全性:TNC是对传统网络接入技术的扩展,再传统的基于用户身份认证的基础上增加了平台身份认证与完整性验证
- 指导性:TNC的规范内容详细,考虑的问题全面,易于知道产品的实现
- 系统性:
缺点:
- TNC将可信计算技术应用到网络接入控制,但尚缺乏可信理论的支撑
- 局限于完整性。完整性只能保证信息的来源可信和未被修改,并不能保证信息的内容可信
- 单向性的可信评估。TNC的出发点是保证网络的安全性,因此该架构没有考虑如何保护终端的安全
- 缺乏安全协议支持
- 缺乏网络接入后的安全保护
- 应用范围具有局限性
可信计算相关国际标准
TCG规范:TCG于2003年到2008年已经建立起比较完整的TPM1.2技术规范标准体系。包括:TPM功能与实现规范(TPM main specification 1.2);TSS功能与实现规范(TSS specification version 1.2);针对PC平台的TCG规范(PC client specific implementation specification,for conventional BIOS,Version 1.2);针对服务器平台的TCG规范(TCG server specific implementation specification for TCG version 1.2和TCG IPF architecture server specification);针对手机平台的TCG规范(mobile phone technical specification 1.0和use case);基础设施技术规范,包括身份证书、网络认证协议、完整性收集和完整性服务等规范。其中一个可信网络连接工作小组,已经制定出一系列可信网络连接的协议、接口规范,将对网络安全技术发展产生重要的影响;针对外设在可信计算架构中的技术规范;针对网络安全存储的TCG规范(storage architecture core specification 1.0)基于CC(common criteria)的相关符合性的测评规范等。从TCG的技术标准体系涵盖的范围可以看出,TCG 技术标准已经渗透到IT技术每一个层面。
美国可信计算机安全评价标准(TCSEC):TCSEC 标准是计算机系统安全评估的第一个正式标准,具有划时代的意义。《可信计算机系统评价准则》第一次提出可信计算机和可信计算基(TBC, Trusted Computing Base)的概念,并将TBC作为系统安全的基础。该准则于1970 年由美国国防科学委员会提出,1985年,国防部国家计算机安全中心代表国防部制定并出版《可信计算机安全评价标准》,即著名的“桔皮书”。TCSEC将计算机系统的安全划分为4个等级、7个安全级别,如表1所示。
欧洲信息安全评价标准(ITSEC):ITSEC 是英国、法国、德国和荷兰制定的 IT安全评估准则,较美国军方制定的TCSEC准则在功能的灵活性和有关评估技术方面均有很大的进步。ITSEC是欧洲多国安全评价方法的综合产物,应用领域为军队、政府和商业。该标准将安全概念分为功能与评估两部分。功能准则从F1~F10共分10级。1~5级对应于TCSEC的D到A。F6至F10级分别对应数据和程序的完整性、系统的可用性、数据通信的完整性、数据通信的保密性以及机密性和完整性的网络安全。评估准则分为6级,分别是测试、配置控制和可控的分配、能访问详细设计和源码、详细的脆弱性分析、设计与源码明显对应以及设计与 源码在形式上一致。
可信计算应用场景
数字版权管理:可信计算将使公司创建很难规避的数字版权管理系统,但也不是不可能(破解)。例子是下载的音乐文件,用远程认证可使音乐文件拒绝被播放,除非是在执行着唱片公司规则的特定音乐播放器上。密封储存防止用户使用其他的播放器或在另一台电脑上打开该文件。音乐在屏蔽储存里播放,这将阻止用户在播放该音乐文件时进行该文件的无限制复制。安全I/O阻止用户捕获发送到音响系统里的(流)。规避(破解)这样的系统需要操纵电脑硬件或者是用录音设备或麦克风获取模拟信号(这样可能产生信号衰减)或者破解加密算法。
身份盗用保护:可信计算可以用来帮助防止身份盗用。以网上银行为例,当用户接入到银行服务器时使用远程认证,之后如果服务器能产生正确的认证证书那么银行服务器就将只对该页面进行服务。随后用户通过该页面发送他的加密账号和PIN和一些对用户和银行都为私有的(不看见)保证信息。
防止游戏作弊:可信计算可以用来打击在线游戏作弊。一些玩家修改他们的游戏副本以在游戏中获得不公平的优势;远程认证,安全I/O以及储存器屏蔽用来核对所有接入游戏服务器的玩家(以确保)其正运行一个未修改的软件副本。尤其是设计用来增强玩家能力属性或自动执行某种任务的游戏修改器。例如,用户可能想要在射击游戏中安装一个自动瞄准BOT,在战略游戏中安装收获机器人。由于游戏服务器无法确定这些命令是由人还是程序发出的,推荐解决方案是验证玩家电脑上正在运行的代码。
保护系统不受病毒和间谍软件危害:软件的数字签名将使得用户识别出经过第三方修改可能加入间谍软件的应用程序。例如,一个网站提供一个修改过的流行即时通讯程序版本,该程序包含间谍软件。操作系统可以发现这些版本里缺失有效的签名并通知用户该程序已经被修改,然而这也带来一个问题:谁来决定签名是否有效。
保护数据:用于身份认证的生物鉴别设备可以使用可信计算技术(存储器屏蔽,安全I/O)来确保没有间谍软件安装在电脑上窃取敏感的生物识别信息。
保护生物识别身份验证数据:用于身份认证的生物鉴别设备可以使用可信计算技术(存储器屏蔽,安全I/O)来确保没有间谍软件安装在电脑上窃取敏感的生物识别信息。
核查远程网格计算的计算结果:可信计算可以确保网格计算系统的参与者返回的结果不是伪造的。这样大型模拟运算(例如天气系统模拟)不需要繁重的冗余运算来保证结果不被伪造,从而得到想要的(正确)结论。
阿里云可信计算实践:云平台安全依赖操作系统、数据库、虚拟化等技术,而这些系统/技术会存在原生的安全问题,使攻击者可利用系统/技术漏洞实现其攻击目的。同时,平台上的第三方系统软件、应用软件等可能会在安装或升级过程中被修改或植入攻击性模块,存在通过类似中间人攻击或内部攻击替换正版软件的风险。阿里云提供了较完整的平台安全措施和强边界防御能力,同时通过可信来有效减小攻击面和攻击源,提升攻击门槛,使云平台安全升级。所谓可信,即云平台、云上应用以及云用户运行环境、应用,通过使用用户指定的软件而达到行为的可预判,以此来确保云平台上运行环境以及其上运行的应用的可信,来减少由于未知因素引发成功攻击的可能性。参考:什么是可信计算?_智小星的博客-CSDN博客_可信计算
等保2.0与可信
等保2.0将可信提升到一个新的强度。在等保一到四级都有可信的要求,主要在三个领域:计算环境可信、网络可信、接入可信。以计算环境可信举例,等保2.0中可信四级要求如下:
可基于可信根对系统引导程序、系统程序、重要配置参数和通信应用程序等进行可信验证,并在应用程序的所有执行环节进行动态的可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心,并进行动态关联感知。
可信基本要求之一“基于可信根对系统引导程序、系统程序、重要配置参数和通信应用程序等进行可信验证”在业界已有方案,如基于TCM安全芯片的系统启动度量和验证。等保2.0中对这项要求没有明确提出动态的可信验证,原因之一是系统(如操作系统)过于复杂,很难形成完整的甚至局部的验证基准值,在工程实现上无法保障规则的完整性,误报、漏报无法控制,严重影响安全和用户体验。基于这个判断,传统的基于静态度量和验证的系统可信启动应该满足这项要求。
与系统可信不同,等保2.0四级对应用可信有明确的动态验证要求。再复杂的应用相对操作系统来说也简单得多,所以做应用动态验证在工程上是可行的,挑战是如何在不严重影响应用的功能、性能,即保证用户使用体验的前提下做到应用动态可信。解决这个问题的实质在于如何选择应用的度量对象,确定度量值,以及如何收集和管理验证基准值,或所谓的应用行为白名单。
应用可信的实现可通过只允许指定的应用,即所谓白名单应用在某个环境下(一般是物理主机、虚拟机上或容器)运行,非白名单应用无法在目标环境中运行;同时白名单应用受到监控,其运行行为一旦被发现异常,系统会根据异常行为的安全危害等级报警并采取相应措施,如阻断应用、删除应用、重启系统等。对环境中运行的应用进行限制可减少不安全的应用对云平台进行攻击的可能性,而对应用的监控可以及时发现攻击并做响应。
等保2.0并没有明确规范应该如何实现应用可信,原因之一是在现有的安全实践中没有很好的方式可以参考。可信最终是为安全服务的,如果应用的动态验证能够帮助及时发现攻击甚至阻止攻击,将攻击造成的危害降至最低,这样的应用可信就应该是有效的。
等保2.0要求的动态关联,可理解成在可信验证失败时对被监测的对象及时采取措施,阻断攻击并对可能遭受攻击的资产进行保护。实现的方式可通过安全管理中心有效地传递验证结果数据,使其他安全手段能够及时响应。
名词解释
- TPM(Trusted Platform Module):可信平台模块,是一个SOC(System on Chip)芯片,加上嵌入式操作系统后构成一个以安全保密功能为特色的嵌入式计算系统
- TSS(TCG Software Stack):可信软件栈,是可信计算平台上TPM的支撑软件。TSS的主要作用是为操作系统和应用软件提供使用TPM的接口
- TNC(Trusted Network Connect):可信网络连接技术,用来实现平台到网络的可信扩展,以确保网络的可信
- PCR(Platform configuration register):平台配置寄存器,用于存储可信任度量值,作用是验证平台完整性以及保护数据
- NGSCB(Next-Generation Secure Computing Base):下一代安全运算平台,它将利用软件和硬件提高PC的安全性以及通过加密数据的数据登陆设备阻止攻击
- RAM(random access memory):随机存储器(内存),是一种存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器,这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序
- TPCM(Trusted Platform Control Module):可信平台控制模块,让可信平台模块具有对平台资源进行控制的功能
- TCPA/TCG(Trusted Computing Platform Alliance/Trusted Computing Group):可信计算平台联盟/可信计算工作组,目的是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高整体的安全性
- BIOS(Basic Input Output System):基本输入输出系统,主要功能是为计算机提供最底层的、最直接的硬件设置和控制
- PMBR(Pre-MBR):是一个二进制程序,其存储在可信密码模块的受保护存储区内,可以用来度量内核和基本服务模块的完整性
- ECC(Elliptic Curves Cipher):椭圆曲线密码体制,是基于椭圆曲线数学的一种公钥密码的方法
- TLS(Transport Layer Security):安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性
- TCM(Trusted Cryptography Module):可信密码模块,是可信计算平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间
- RTM(Root of Trust for Measurement):可信度量根,是对平台进行可信度量的基点,是平台启动时首先被执行的一段软件
- TRM(Trusted Reference Monitor):可信引用监视器
注:仅作资料整理,没有简化的实力!
如有错误、侵权,请联系笔者更改删除!!!