新闻中心

行业动态公司新闻媒体动态

国产基础软硬件密码技术融合研究与实践

2022-09-27 09:56       浏览:1800

2020 年 1 月 1 日起正式施行的《中华人民共和国密码法》提出,密码是国家重要战略资源,是保障网络与信息安全的核心技术和基础支撑,并指出,法律、行政法规和国家有关规定要求使用商用密码进行保护的关键信息基础设施,其运营者应当使用商用密码进行保护,自行或者委托商用密码检测机构开展商用密码应用安全性评估(简称“密评”)。密评与关键信息基础设施安全检测评估、网络安全等级保护测评相衔接。2020 年起,我国信息技术应用创新(简称“信创”)产业进入大规模落地推广阶段,国产基础软硬件生态环境已经趋于完善,在相关政策与重大工程引导下,国产基础软硬件在关键信息基础设施等领域正逐步推广使用。在关键信息基础设施领域,信息系统建设满足等级保护和密评要求将成为强制性标准。因此,在国产基础软硬件中嵌入密码是现阶段实现密码赋能信创安全的现实需求。

当前,国产基础软硬件正处于从“可用”向“好用”的升级阶段,但通用处理器性能等部分核心关键技术水平与国际先进水平比较仍存在差距,算力资源仍十分宝贵,同时国产基础软硬件应用推广过程中,从海外体系向国产信创体系迁移的成本仍是一项非常重要的考量因素。因此,在国产基础软硬件中嵌入密码时,一方面应在提供满足需求的密码运算性能基础上,尽量减少密码运算对通用资源的消耗;另一方面应以尽量不增加迁移成本为目标,硬件上降低改造成本,软件层面密码应用接口应尽量贴近业务,降低应用对密码嵌入的开发与使用门槛,以实现应用的顺利迁移、低成本迁移,甚至是无缝迁移。

国产基础软硬件产业正处于整体推进的快速发展期 ,应把握产业发展的黄金时期,针对密码应用进行体系化、同步化的设计部署,把密码融入到国产基础软硬件的体系架构之中,构建高质量密码供给体系,形成支持密码应用的良好产业生态,使操作系统、通用处理器等基础软硬件产品都具备内生密码能力,夯实构建我国网络空间安全体系的基石。

本文基于国产基础软硬件与密码融合的基本思路,提出通用处理器与密码融合思路以及内生密码安全的构建方法,给出基于安全模块(Security Element,SE)的密码融合应用的实现路径,最后通过典型产品应用对其进行展望。

1 国产基础软硬件密码融合思路

1.1 通用处理器与密码融合

承载信息基础设施的硬件平台嵌入密码的传统方式是由通用处理器提供通用计算能力,由密码模块提供密码运算能力,由可信密码模块(Trusted Cryptography Module,TCM)/ 可 信 平 台 控 制 模 块(Trusted Platform Control Module,TPCM)提供可信控制与可信密码能力,即通用计算、密码运算、可信计算能力相互分离,由不同的独立物理部件提供不同的功能。

可以利用通用处理器融合密码与可信技术,使通用处理器同时具备通用计算能力,以及芯片级的密码运算、可信计算、安全存储和真随机数发生等能力。此时密码内置于处理器中,依托处理器广泛分布在终端、服务器、网络设备、移动终端等基础设施中,支撑基于密码的数据加密、传输加密、身份认证等安全机制,形成安全处理器,提供泛在化的内生密码功能。以通用处理器为基础,操作系统、数据库等上层系统均可使用其提供的密码功能进行安全防护,无须加装外挂式密码模块。

1.2 全栈密码链构筑密码应用支撑体系

基础软硬件对密码应用的需求具有多层次、多样化的特点,安全处理器提供硬件密码芯片与基础密码能力,密码软件栈基于硬件密码芯片提供层次化、标准化、场景化的密码应用接口形态,构建全栈式的密码应用支撑链条,实现密码应用支撑的全覆盖。

通过密码软件栈,位于不同层级、不同场景的应用及系统都能根据自身的密码与安全需求,方便、灵活地使用处理器内生密码,支撑实现基于密码的各种安全机制。密码应用支撑软件栈结构如图 1 所示。

图 1 密码应用支撑软件栈

1.3 内生密码助力信息系统安全合规

GB/T 22239—2019《信息安全技术 网络安全等级保护基本要求》(简称“等保 2.0”)等系列标准规范,对密码、可信计算等技术应用提出了明确要求,并规定应使用国家密码管理主管部门认证核准的密码技术和产品,高安全系统应采用对应安全级别的硬件密码模块,安全测试报告应含密码应用安全性测试相关内容,应基于可信根进行可信验证等。国家密码管理部门及密评机构以 GM/T0054—2018《信息系统密码应用基本要求》为依据,开展密评 ,对信息系统中密码使用的合规性、正确性和有效性进行评估,包括对密码算法、协议、安全管理制度以及密码设备要求进行评估。

通用处理器与密码的融合,将使得处理器、操作系统等基础设施自带密码与可信基因,具备符合主管部门安全性要求的硬件密码模块。以此为基础,密码应用与信息系统建设同步走的目标将具备天然的基础实现条件,信息系统密码保障体系的建设也将更高效、合规。同时,通用处理器内嵌密码具有的高安全、高性能与低成本的特性,将使得在信息系统中嵌入国产密码更易实施、易推广,不仅助力实现所有关键环节合规嵌入国产密码,而且能够让各环节正确、有效地使用密码。

2 密码融合应用实践

2.1 安全 SE

安全 SE 是一种以知识产权(Intellectual Property,IP)核形态嵌入通用处理器的密码协处理器,可与通用处理器进行芯片级一体化融合设计,使通用处理器具备高性能的密码运算能力、安全可信计算能力与硬件级安全防护能力,为操作系统、上层应用及信息系统提供灵活的全新安全解决方案。安全SE 与通用处理器架构如图 2 所示。

图 2 安全 SE 与通用处理器架构

2.1.1 密码运算能力

安全 SE 提供硬件级的密码运算、安全存储、密钥管理和真随机数发生功能,以此为基础,为固件、操作系统、应用软件和系统提供安全、合规的密码支撑。

2.1.2 可信计算能力

安全 SE 提供主动度量、可信存储、可信证明、SE 管理、可信服务与支撑等可信功能,可承载可信计算中 TCM 模块角色。以安全 SE 为可信根,与可信基本输入输出系统(Basic Input Output System,BIOS)、可信软件基等一起构成完整可信链,实现计算环境、通信网络及区域边界等安全可信。

2.2 基于安全 SE 的密码应用体系

国产基础软硬件密码应用需求主要包括操作系统、应用系统的密码应用需求。如图 3 所示基于安全 SE 硬件,以基础软件工具包(Software Development Kit,SDK)、通用密码中间件以及基于安全 SE 的国密传输层安全协议(Security Element Secure Socket Layer,SeSSL)为核心,构建安全 SE 密码应用支撑平台,为上层应用提供密钥管理、消息验证、数据加密、签名产生及验证等密码功能,提供符合多种接口标准及跨平台的软件包,以满足不同业务的安全需求。操作系统、中间件、数据库、浏览器以及其他类型的基础软件和应用系统,可根据自身应用的密码和安全需求,选择匹配开发包,方便、灵活地使用处理器的硬件密码能力。

图 3 基于安全 SE 的密码应用体系

2.2.1 操作系统密码应用

操作系统密码应用需求包括两个方面:一是为操作系统自身安全机制提供密码;二是为上层应用提供可调用处理器内置硬件密码功能的密码服务。

针对操作系统自身安全,操作系统可通过调用基础 SDK 提供的内核态密码应用接口,实现身份鉴别、数据完整性与机密性、运行安全、网络安全等安全保护机制。同时可将安全 SE 提供的密码注册到操作系统加密子系统中,通过操作系统加密框架支撑实现操作系统内部的互联网安全协议(Internet ProtocolSecurity,IPSec)、磁盘加密等安全机制与应用。针 对 应 用 系 统 安 全, 操 作 系 统 可 集 成 基 础SDK、通用密码中间件、国密 SeSSL 等 SE 密码应用开发包,使操作系统具备密码服务功能,上层应用系统可通过操作系统提供的密码服务接口使用处理器内置硬件密码。通过将 SE 挂载到操作系统加密子系统,应用系统也可通过操作系统加密框架的方式使用安全 SE。

2.2.2 应用系统密码应用

应用系统密码应用需求主要包括中间件、数据库、浏览器等基础应用,以及电子签章、网络安全接入、文件保险箱等应用软件的密码应用需求。应用系统密码应用需求呈现多样化、场景化,以及与业务融合的特点。

针对数据库安全,采用通用密码中间件实现身份认证、存储加密、程序完整性以及数据完整性保护;采用国密 SeSSL 提供的密码运算与基于国密的传输层安全协议功能,实现客户端与服务端之间的传输加密。针对中间件安全,采用国密 SeSSL 实现web 应用服务器、消息类中间件中安全通道的建立及保护;采用通用密码中间件提供的 JAVA SDK 实现数据和文件本地存储保护。针对各类应用软件安全,通用密码中间件提供密码设备应用接口、智能密码钥匙应用接口、通用密码应用接口、Java 加密扩展(Java Cryptography Extensions,JCE)等多种密码应用接口,提供 C SDK、JAVA SDK、JAVAScript SDK、浏览器插件等多种形态开发包,并遵循多种密码服务标准接口规范。通过使用通用密码中间件,各类应用可结合业务特点实现基于密码的安全保护,快速集成密码,实现应用的平滑过渡。

2.3 基于安全 SE 的可信计算体系

基于安全 SE 的可信计算体系主要由安全 SE、可信密码服务支撑接口、可信软件基以及固件层基本信任基组成。安全 SE 为可信计算提供密码服务、平台控制、可信度量、可信存储、可信认证等基础功能。安全 SE 作为平台的物理信任根,是可信信任链的起点,在平台启动时,安全 SE 先于 CPU 加电启动,对 BIOS 实施主动度量并将信任链向下传递。可信密码支撑接口基于安全 SE,提供固件层可信接口、内核层可信接口、应用层可信SDK,满足 BIOS、可信软件基及应用系统对可信密码功能的需求。基于安全 SE 的可信计算体系如图 4 所示。

图 4 基于安全 SE 的可信计算体系

(1)可信 BIOS。开机时安全 SE 对固件实施主动度量,验证固件完整性及可信性。通过固件层可信接口调用安全 SE 的可信计算功能,BIOS 保证自身重要程序及数据的完整性,固件层基本信任基对操作系统引导程序等进行可信度量,保障其完整性与可信性,度量完成后记录度量日志和结果,并将信任链从硬件平台传递至应用层。(2)可信软件基。可信软件基的基本信任基通过可信密码接口对操作系统内核及关键文件和重要配置进行可信度量。主动度量机制通过内核层可信接口,对内核扩展模块以及应用程序进行可信度量,验证其完整性与可信性,度量完成后将信任链传递至应用层。(3)可信应用。应用系统可通过应用层可信SDK 使用安全 SE 的可信密码能力,实现密钥管理、密钥协商、数据保护、密码服务、敏感数据存储、身份证明等可信应用。

3 典型产品应用

3.1 网络安全与密码设备

网络安全与密码设备通常包括 SSL VPN、IPSec VPN、防火墙、隔离交换、服务器密码机、签名验证服务器、金融数据密码机等。传统模式下,网络安全与密码设备通常是采用硬件平台加装硬件密码卡的方式,实现专用硬件基础平台。依托处理器内置的安全 SE,网络安全与密码设备不仅能获得高性能的密码运算能力、高安全的安全防护机制,而且具备低功耗、低成本、轻改造的优点。同时基于安全 SE 提供的可信计算功能,可保障设备自身的安全可信。

3.2 文件保险箱

文件保险箱为用户提供重要文件的加密存储,防止重要文件被非法访问。用户可通过文件保险箱创建虚拟的加密磁盘,对虚拟磁盘中的文件、数据进行加密保护。

基于安全 SE 提供的高性能密码运算,用户在加密磁盘中的文件操作速度快、体验佳,与普通磁盘操作速率几乎一致,而且具有不额外占用 CPU 资源的优点。基于安全 SE 的密钥管理与安全存储功能,文件保险箱可构建自身的多层密钥体系,根密钥通过安全存储功能进行片内存储,由安全 SE 提供硬件级的管理与保护,提高密钥安全性。

3.3 网络安全接入

网络安全接入是安全认证网关的客户端,与安全网关服务器之间建立虚拟安全通道,为用户访问内部资源提供身份认证与传输加密。通过安全 SE提供的国密 SeSSL 开发包,网络安全接入客户端可直接使用符合 OpenSSL 框架的国密算法和国密 SSL协议接口,极大减少国密嵌入的开发量与难度。

4 结  语

本文提出了国产基础软硬件与密码融合的基本思路,给出了基于安全 SE 提供处理器芯片级密码的密码融合应用实现路径,并分析了典型产品应用。随着密码法的颁布实施,以及等保 2.0、密评等对密码提出新的要求,在信息系统设计、建设以及测评等各方面都将依照新政策新标准,对密码使用的合规性、正确性和有效性进行评估。未来,国产基础软硬件与密码融合将成为标准配置。以国产通用处理器融合密码为抓手,从根本上开始提供密码与可信能力,将密码赋能至固件、操作系统及应用系统的各个层次,将是实现网络安全与信息化建设的重要保障。

摘自-《通信技术》2022年第8期