产品展示

基于海光CPU内置安全处理器的可信计算解决方案
2021-02-23 10:25:32

摘要:基于内置安全处理器和国密算法硬件加速模块,海光CPU实现了TPCM可信计算平台,能够支持可信计算3.0。TPCM作为可信计算底层硬件基础实现了可信计算的三个基本信任根,包括可信度量根、可信存储根和可信报告根。可信计算实际上是密码运算密集型技术。海光CPU的TPCM可信计算平台完全支持国密标准,支持SM2加解密、SM3杂凑、SM4加解密、秘钥协商及签名验签等算法。

关键词:可信计算、安全处理器、TPCM、国密应用

 

1. 概述

1.1 背景

随着云计算,互联网金融,大数据技术的快速发展,计算机信息安全的重要性正日益为人们所重视。传统的安全防护机制主要是入侵检测、病毒查杀等基于“封堵查杀”的“被动防御”,主要原理是通过提取病毒木马等恶意代码的特征数据建立特征数据库,然后利用特征数据库进行恶意软件的判定。特征数据库是恶意软件的“黑名单”。由于特征数据库是基于现有代码建立的,只对已知病毒木马有效,而对变异后或新出现的恶意软件无效。另一方面,病毒木马传播快、隐蔽性高,从生成、被发现、到提出安全修补方案期间,成千上万的系统可能已经受到感染,损失已经造成。这种安全防护上的迟滞性是传统安全机制的一个天生缺陷。,必须从源头上分析,以系统化的方式让计算机系统具有自我保护的免疫功能,才能从根本上解决计算机安全问题,扭转安全防护的被动局面。

可信计算是一种与传统安全机制有着本质不同的安全防护机制,克服了传统安全机制故有的迟滞性缺陷,在系统安全保护上具有明显的优势。可信计算通过监视系统运行状况,自动识别自我和非我,从而对恶意程序及时做出响应,阻断其运行。

1.2 目标

可信计算是以密码为基础的技术,大量运用到了密码学中的加密解密、签名验签、秘钥交换、秘钥推导、散列等密码运算。可信计算也是一个体系,由底层的可信硬件及上层的可信软件构成。底层硬件是可信计算的基础和载体,是实现可信计算需要的信任根,上层的软件是可信的延伸和扩展,实现各种可信的功能和应用。

海光CPU内置了安全处理器,用于实现可信计算所需的底层硬件功能。海光可信计算方案实现如下设计目标:

●实现所有的三个基本信任根:度量根,存储根,报告根;

●满足可信计算3.0的要求,支持主动防御;

●密码技术全部使用中国国密标准;

●提供专用硬件模块为密码运算提供高效加速;

●技术国产化,自主可控。

2. 需求分析

2.1 现状分析

传统的可信计算方案通常使用单独的安全芯片为可信硬件基础。安全芯片放置在主板上,与CPU通过总线连接。传统方案增加了额外硬件成本,同时加大了主板硬件设计的复杂度,对主板上电时序和固件设计提出了更高要求。

2.2 需求分析

目前常见的可信计算方案国际上有基于TPM的,国内有基于TCM、TPCM的。TPM/TCM方案较为类似,都是实现可信调用库供上层软件使用,属于被动服务模式。由于出现时间较早,得到了较广应用,但形式单一,某些重要的可信功能并未实现,如可信度量根。TPCM是面向中国可信计算3.0的技术方案,弥补了传统TPM/TCM的不足,增加了更多主动防御和控制功能,是未来可信计算的技术趋势。海光CPU内置专用安全硬件,安全操作与运行环境无缝衔接,可以更加高效地实现可信计算系统。


3. 方案架构

3.1 技术架构

方案硬件上由x86主CPU、芯片内置的安全处理器及国密硬件引擎组成。软件由TPCM模块、TPCM驱动、可信软件基和可信应用组成,如图1所示。

https://scmmhyxh.saas.xiebanyun.com/uploads/20220308/8a7ec536b9d5a504be7690e6188dae95.jpg 

1. 基于海光CPU的可信计算系统架构

安全处理器实现可信根及TPCM的相关标准功能。国密硬件引擎CCP为安全处理器上密码运算提供加速,实现高效国密运算。x86主CPU上运行上层可信软件,并通过专用的硬件接口与安全处理器进行通信。TPCM模块实现了存储、报告、度量、控制等基础可信功能,运行在安全处理器内部,外部无法直接访问或篡改,具有极高的安全性,因此是整个可信架构可信的基础。TPCM驱动运行于x86主CPU上,向上提供统一的TPCM命令访问接口,屏蔽具体的底层硬件接口信息。可信软件基实现相关的可信功能模块,包括静态度量,动态度量,可信报告,可信连接等,通常位于操作系统内核层。可信应用通常位于用户层,提供具体的可信功能,如可信管理平台等。

3.2 部署说明

目前硬件部分已经完全集成在海光CPU内部,不需要特殊部署。实际应用系统,只要安装配套的驱动程序和应用程序函数库即可。


3.3 主要功能

3.3.1 可信度量

度量在原理上就是提取目标的特征值,特征值具有唯一性,因而通过特征值能够准确判断目标的状态信息。方案中度量通过计算目标Hash值实现,Hash使用SM3国密算法。通过比较目标Hash计算值与预期值可以判断目标是否发生篡改。

https://scmmhyxh.saas.xiebanyun.com/uploads/20220308/fa5ebc94f601592e83494c9f86da7a7e.jpg

2. 可信度量流程

度量分为启动度量和运行时动态度量。如图2所示,方案在系统启动时进行启动度量,在系统启动的各个阶段对下一级目标进行度量并验证,只有验证通过才会加载执行,这样一级验证一级建立系统启动的信任链。信任链的源头决定整条信任链的可靠性,海光安全处理器内固化的初始代码是信任链的源头,初始代码一旦生成无法修改,保证了源头的绝对安全。除了启动度量,方案在系统运行时还可以对设定的目标进行持续的动态度量,在检测到异常时进行告警,实现对外部病毒、恶意代码等的主动防御,保证系统的运行时安全。

3.3.2 可信存储

可信存储确保存储数据的安全,数据未授权不可被访问,更不可被篡改。海光安全处理器内部为可信存储提供了易失存储和非易失存储。易失存储具有访问快速特点,但掉电即丢失,用来存储临时需要保存的数据。非易失存储掉电不丢失,用来保存长期数据。安全处理器内部可信存储的空间大小有限,当要存储的数据较大时,可以将数据进行加密后存在外部存储设备上,而将加密的密钥存在安全处理器内部,如图3所示,进而逻辑上扩展了可信存储的范围。加密使用国密算法,加密的根密钥就是可信存储的存储信任根。

https://scmmhyxh.saas.xiebanyun.com/uploads/20220308/ccdd532650c73abde0df876d2e1e2b9e.jpg 

3. 可信存储图

3.3.3 可信报告

安全处理器内部收集了大量系统的运行时信息,比如度量信息,审计信息等,准确的获取这些信息对系统健康状态的判定非常关键。在对外提供这些信息时,为了防止中间对信息的恶意篡改和攻击,必须对信息进行保护。通过对信息签名实现对信息的保护,签名使用SM2国密算法,经过签名后的信息形成了可信报告,可信报告可通过网络提供给远程的可信管理中心。管理中心首先验证报告签名确认报告的真实性,然后通过报告内容可以获知报告的相关信息,进而为相关判定决策提供可靠依据。

3.4 技术指标

可信计算的实现需要大量的密码运算,安全处理器内提供了专用的密码运算引擎CCP,为各类型密码运算提供硬件加速。基于CCP的性能指标如下:

https://scmmhyxh.saas.xiebanyun.com/uploads/20220308/96f92f60d6093152cff2d2a502030ad9.jpg 

3.5 关键技术

3.5.1 密码技术

可信计算是密码运算密集型技术,综合用到了对称、非对称、Hash等密码算法,对称密码用来进行加解密及计算消息验证码HMAC,非对称密码用来进行签名验签及共享秘钥生成等,Hash用来度量及签名等。所有密码运算使用国密标准,而且海光CPU同时内置了国密硬件引擎CCP,实现了简洁高效的密码运算。

3.5.2 CPU内置安全处理器的芯片架构

海光CPU内置了专用的安全处理器,安全处理器具有下述特点:a)拥有自己独立的资源,外部不可访问;b)系统管理者角色,拥有最高系统优先级,可以访问所有的系统资源;c)系统上电时先于x86核心启动,对系统进行可信验证,完成后运行x86核心。安全处理器的这些特点使得在CPU内部实现各种安全应用成为可能,并克服传统实现的某些不足,具备独特优势。

4. 方案特色

利用CPU内置安全处理器对可信计算做了相关支持,相比传统方案具有如下优势:

●密码运算全面支持国密标准,且提供硬件加速,密码运算更高效;

●无需主板硬件支持,通用性强,且无额外硬件成本;

●安全处理器具有高系统权限,可以对系统进行全面控制,实现可信计算3.0要求的主动防御目标;

●功能内置于CPU,有效抵抗外部物理攻击。

5. 适用领域

可信计算有着日益广泛的应用,尤其是等保2.0标准的推出使得可信计算成为信息系统保护的一个强需求。本方案支持可信计算3.0,满足等保2.0对可信计算的最高需求,可以应用在有信息系统安全保护需求的各领域,如金融、政企办公、云服务平台等。