从指令集和微架构底层创新开始,构建国产CPU的国密级别硬件安全
扫描二维码
随时随地手机看文章
在通用计算领域,CPU占据着不可动摇的地位。即便在AI时代,作为业务应用层的主力,CPU在调度、优化、管理和资源调配方面承担着GPU和DSA等无法替代的职责。
它实现了对业务逻辑处理、数据处理与加密、任务调度与负载均衡、复杂计算执行以及安全控制与监测的全面支持。
在金融、政府通信、电子政务和关键基础设施等领域,对CPU的安全加密需求尤为迫切。这不仅要求CPU具备卓越的通用计算能力,还需符合国家安全标准。
自2005年中国国家密码管理局正式发布SM2、SM3和SM4三大商用密码算法以来,国密标准已广泛应用于政府、金融等高安全性行业。尤其是2016年《中华人民共和国网络安全法》的出台,进一步增强了国密算法在信息安全中的重要性。
要高效且安全地支持国密算法,仅依赖通用性CPU是不够的。必须从指令集层面开始,构建国密算法的支持基础,在微架构层面设计专门的硬件,以实现密码运算的高效执行。
有了这些基础,才能在固件、操作系统、应用层以及云端构建一套完整的国密算法安全机制,实现从底层硬件到上层软件的全栈式安全加密运算。
海光信息始终致力于这一目标,并已成功建立了一整套安全体系。在此过程中,公司取得了一系列关键技术的突破,并结合国内各行业的应用场景进行了针对性的优化。
国密算法指令集+硬件加解密引擎,让数据安全与速度兼得
为了实现通用计算能力和安全加密等级的并举,海光在X86完整永久授权的基础上,构建了一套国产自主可控的C86安全计算架构(CSCA)。
该架构整合了多种安全技术,涵盖安全密钥管理、安全处理器、安全启动、安全存储、动态度量保护、内存加密、机密计算、密码计算以及对可信计算标准的支持和芯片安全防护。这些技术的综合应用可以确保从底层固件到上层应用软件的整体安全性。
而在这一系列的安全技术中,国密算法指令集+硬件加解密引擎和密码技术息息相关。
【内置安全处理器(PSP)和密码协处理器 (CCP),高效安全】
为了实现对国密算法的支持,并同时提高密码运算效率,降低CPU负载,海光的C86处理器内部集成了PSP和CCP两个硬件模块,并通过密码加速引擎和可信密钥管理等技术实现了密码算法性能和密钥管理安全性的提升。
首先在指令集层面,海光自研的CIS(Crypto Instruction Set)包含了专门用于加密和解密操作的指令,其中特别针对国密算法进行了特定实现。而AVX(Advanced Vector Extensions)则支持同时处理多个数据块,加速加密算法的执行,比如AES(高级加密标准)和SHA(安全哈希算法)。利用AVX的128位或256位宽向量寄存器,可以并行处理更大的数据集,提高密码运算速度,并降低算法延迟。
然后在微架构硬件层面,海光处理器内部集成了平台安全处理器(PSP)和密码协处理器(CCP)。
PSP(Platform Security Processor)和CCP(CryptographicCoprocessor)都是集成在处理器中的模块或硬件加速引擎。它们协同工作,提供安全性和性能优化:PSP负责平台级的安全管理,如安全启动和身份验证,而CCP负责加速密码运算,确保高效的密码运算和密钥管理。这样的集成设计使得处理器能够在保证安全性的同时,提升整体计算性能。此外,处理器内部还集成了NTB CCP密码协处理器,可提供主机、虚拟机和容器环境下的密码学运算加速。
而在安全指令集和各种硬件加速引擎基础上,海光就推出了海光密码技术(HCT,Hygon Crypto Technology),这是一套密码算法加速软件开发套件。HCT以OpenSSL、Tongsuo和KCPI等标准接口为系统提供标准密码算法接口,极大提升了传统密码算法性能。
【加解密效率提升,应用体验升级】
硬件加速模块(CCP)能够独立于C86核心进行密码运算任务,减少CPU的负载。这确保了在进行复杂的加密和解密操作时,其他业务系统的响应速度和处理能力不会受到显著影响,尤其是在大批量数据处理时,有利于保持应用程序的流畅性和稳定性。
总体来看,通过集成专用的硬件模块(如PSP和CCP)以及优化的指令集(CIS),海光CPU能够显著提高国密算法的加解密速度。专门针对国密算法的指令实现,使得这些操作在硬件层面得到加速,减少了传统算法在软件层面执行时的计算负担,从而显著提升整体密码运算性能。
根据实测数据,内置CCP引擎对比传统商用密码机,在执行国密算法时表现出显著的性能优势。其中,CCP的SM2签名速度是某商用密码机的12.35倍,而在SM2验签操作中,CCP的速度提升了6.78倍。对于SM3哈希计算,CCP的处理速度达到传统密码机的24.06倍,而在SM4加密操作中,CCP更是达到了25.73倍的性能提升。这样的表现显示出CCP在加密和解密任务中的卓越高效性,尤其适用于需要高吞吐量和低延迟的应用场景。
可信根内置,构建可信计算硬件基础
像CCP等硬件创新可以看作是密码技术一部分,根本目的是确保数据在传输过程中是保密的,防止信息被篡改或盗取。而可信计算技术则是要提升系统的安全性,确保应用过程中的软件环境是可信的。这其中的关键技术就是可信根,也就是大家常说的RoT(Root of Trust)。
常见的RoT是采用外置的方案,因为既可以实现物理上的安全功能隔离,又能够根据实际需求灵活选择支持不同的防护机制和加密算法支持。但同时,外置带来了更高的系统成本、占板面积;额外的硬件导致了复杂硬件管理、驱动设计等适配工作;数据传输的交互延迟也有可能给系统带来额外性能开销。
要构建可信计算体系,从CPU源生支持是一个重要的基础,并且正在成为一种趋势。而海光正是采用了这种技术路线,通过内置可信模块,从而实现原生可信支持,与外置可信根模块相比具备更高的安全性、更低的使用成本以及更易用等价值。
据悉,海光CPU的内置RoT技术同时支持国际标准“可信平台模块TPM”(最新版本2.0)、国内标准“可信平台控制模块TPCM”和“可信密码模块TCM”。
海光通过内置的安全处理器,将TPM2.0模块以固件形式集成于CPU内部,从而消除了对外部总线的依赖。这一创新显著缩小了物理暴露面,进一步降低了潜在的安全风险,相较于外置专用TPM芯片,提供了更为坚实的防护屏障。
此外,海光还是国内首个内置TCM2.0可信计算方案的厂商。从海光C86-3G起,海光CPU便开始支持TCM2.0。这一技术与TPM2.0相似,均基于CPU的安全处理器,并以固件形式实现。(海光CPU的固件以BIOS PI的形式提供给OEM厂商,因此在使用TCM2.0时,用户需与OEM厂商确认该功能已在BIOS中启用。)
不仅如此,海光CPU还支持国内最先进的可信计算3.0 TPCM标准。与TPM和TCM相比,TPCM引入了系统主动监视和控制的能力。这一标准的实施,使海光能够为众多下游用户提供等保2.0资质,进一步增强了在主动防御、安全启动和动态度量等方面的技术支持。
【独创TSB+TDM模块,从启动到运行都安全无虞】
值得一提的是,海光的安全处理器中有两个独创的可信功能模块——TDM模块(Trusted Dynamic Measuring)和TSB模块(Trusted Secure Boot)。
下图中展示了C86处理器在可信计算机制下,从启动到加载操作系统内核的流程,而TPCM安全处理器是整个流程的核心。
首先TSB 主要关注于在系统启动阶段验证BIOS的完整性和安全性。如果BIOS的数字签名与预设的可信签名匹配,则BIOS被视为安全的,系统可以继续启动。TSB 保证从系统启动的第一步开始,BIOS和引导环节的安全性,建立了一个可信的启动环境。
而启动度量模块用于对系统启动过程中的各个关键阶段(如UEFI、Grub、内核等)进行度量。度量请求从启动流程中发出,度量模块通过对比预设的安全值,生成度量结果并存储。
TDM(动态度量模块)则用于在系统运行过程中持续监控内核和系统服务的行为,确保它们未被恶意篡改。在系统启动后,安全处理器通过内部的TDM动态度量不断监控操作系统的运行情况,特别是关键组件,如进程管理、网络通信和文件系统等;同时TDM通过独有的双重授权保护方式确保非授权用户无法篡改TDM内的度量任务设定,极大的增强了模块的安全性。
通过TPCM安全处理器的TSB启动度量和TDM动态度量模块,系统能够在从UEFI启动到操作系统加载以及后续运行的每个阶段进行度量,确保系统的安全性。通过结合硬件加速,度量结果可以快速计算并安全存储,最终保证系统在启动和运行过程中的可靠性和可信性。
安全加密虚拟化隔离,构筑机密计算铜墙铁壁
所谓“机密计算”,指的是在CPU硬件可信执行环境中进行计算,保护计算时CPU使用的数据,即使在计算过程中,也能保护用户的敏感数据安全。假设在云端进行数据分析,其中包括敏感的用户信息等,机密计算技术允许在不暴露用户信息的情况下进行计算。因此,云服务提供商可以在不访问用户原始数据的情况下执行分析任务。
虚拟化技术是云计算的核心技术之一,但在以前,虚拟机的资源(比如内存、存储等)都被主机的操作系统和虚拟机管理程序(Hypervisor)控制,这样一来,虚拟机数据就存在被主机非法访问或者篡改的安全风险。海光CPU在传统虚拟化技术的基础上进行了升级,推出了“安全加密虚拟化”技术——CSV(China Security Virtualization),大大增强了虚拟机的安全性,特别适用于需要高度隐私保护的云计算和隐私计算场景。
更具体来说,海光的“安全加密虚拟机”让每个虚拟机的资源都是独立的,并且与其他虚拟机和主机程序完全隔离,这样可以防止数据被窃取或篡改。此外,这种虚拟机支持启动时的安全检查和运行时的远程身份认证,认证的结果由处理器密钥签名,主机操作系统和虚拟机管理程序无法伪造,因此可以确保虚拟机的身份是合法的。
另外,安全加密虚拟机还具备实时内存加密功能,主机操作系统和虚拟机管理程序无法解密这些数据。密钥是由处理器自动生成并管理的,不会外泄。同时,除了保证虚拟机内存数据的机密性,安全加密虚拟机还确保了内存数据的完整性,主机操作系统无法通过修改虚拟机的内存来对其进行攻击。
最后,海光的安全加密虚拟机还支持“机密容器”,它符合标准的容器接口规范,可以和常见的云管理平台(如Kubernetes)无缝对接。机密容器运行在安全加密虚拟机中,容器中的数据会自动被加密,确保数据安全。
据何良杰介绍,海光CSV技术已经发展到了第三代。其中海光2号支持的是CSV1,能够实现内存加密;海光C86-3G技术迭代到了CSV2,能够在内存加密基础上实现状态加密;目前海光C86-4G处理器已经达到了CSV3的级别,实现了访问权限隔离。此外特别值得一提的是,海光的C86 CPU和自家的DCU产品融合,能够助力客户实现云上异构加速。
根据市场反映,海光“安全加密虚拟化”技术在国内厂商中广受欢迎。阿里云已经推出了采用海光CSV技术的机密虚拟机实例。而在隐私计算领域最具影响力的前十家公司中,海光与其中90%的企业建立了合作关系,当前已有十多款基于海光CPU的一体机投入市场。
信创市场前景广阔,自主安全加密CPU意义重大
根据中国信息通信研究院发布的《中国信息技术应用创新发展白皮书(2023年)》,信创市场规模在近年来保持高速增长,预计到2025年,中国信创产业的市场规模将突破2万亿元人民币。这一数据反映了随着国家政策的强力推动,信创行业在金融、能源、政府、医疗等多个关键领域的广泛应用和持续扩展。
而在这些领域中,安全加密技术扮演着至关重要的角色。它是保护数据安全、保障信息完整性和防止信息泄露的关键技术。随着数字化转型的推进,各行业对数据安全的需求急剧上升,特别是在云计算、隐私计算和关键基础设施的应用场景中,安全加密技术提供了不可或缺的保障。
在这一背景下,海光的安全加密CPU意义重大。它从指令集和微架构底层创新出发,构筑了一个自下而上的完整安全加密软硬件生态,确保了数据在存储、传输和使用中的安全性。凭借硬件级的加密保护和卓越的性能,海光安全加密芯片为各行业提供了高安全性和高性能且更具性价比的解决方案,是信创生态中推动信息安全和自主创新的重要力量。