CN113065140B - 一种芯片化控制保护装置内嵌安全防护系统及方法 - Google Patents

一种芯片化控制保护装置内嵌安全防护系统及方法 Download PDF

Info

Publication number
CN113065140B
CN113065140B CN202110616435.9A CN202110616435A CN113065140B CN 113065140 B CN113065140 B CN 113065140B CN 202110616435 A CN202110616435 A CN 202110616435A CN 113065140 B CN113065140 B CN 113065140B
Authority
CN
China
Prior art keywords
module
operating system
safety
firmware
chip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110616435.9A
Other languages
English (en)
Other versions
CN113065140A (zh
Inventor
李鹏
习伟
李肖博
姚浩
于杨
陈军健
蔡田田
邓清唐
陶伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southern Power Grid Digital Grid Research Institute Co Ltd
Original Assignee
Southern Power Grid Digital Grid Research Institute Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southern Power Grid Digital Grid Research Institute Co Ltd filed Critical Southern Power Grid Digital Grid Research Institute Co Ltd
Priority to CN202110616435.9A priority Critical patent/CN113065140B/zh
Publication of CN113065140A publication Critical patent/CN113065140A/zh
Application granted granted Critical
Publication of CN113065140B publication Critical patent/CN113065140B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Water Supply & Treatment (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及一种芯片化控制保护装置内嵌安全防护系统及方法,该系统包括安全启动模块、密码服务模块、安全启动秘钥模块和固件证书模块,密码服务模块用于存储密码算法,安全启动秘钥模块用于存储签名设备固件的非对称密钥,固件证书模块用于存储证明固件合法性的固件证书;安全启动模块用于以密码服务模块为可信根,并根据安全启动秘钥模块存储的非对称密钥和固件证书模块存储的固件证书,对待加载的组件进行安全度量,并在安全度量通过后启动芯片操作系统。通过以密码服务模块为可信根,安全启动芯片操作系统,可主动进行电网保护终端信息安全防护,提高电网保护终端的网络安全。

Description

一种芯片化控制保护装置内嵌安全防护系统及方法
技术领域
本申请涉及电力电网设备技术领域,特别是涉及一种芯片化控制保护装置内嵌安全防护系统及方法。
背景技术
随着大量终端设备及多元用户接入电网,逐步构建了开放互动网络环境,开放环境下多元电力终端用户供需互动用电,即将打破现有电网纵向加密、横向隔离的分级分区信息安全防护格局。
由于电力系统传统上主要依赖边界隔离和专用系统私有协议保障网络安全,一般基于通用软、硬件平台研发的电力终端,容易被突破安全屏障造成严重的攻击破坏后果,存在严重的网络安全隐患,网络安全性低。如何实现网络安全防护,提高电网保护终端的网络安全是一个亟待解决的问题。
发明内容
基于此,有必要针对上述问题,提供一种可提高电网保护终端的网络安全的一种芯片化控制保护装置内嵌安全防护系统及方法。
一种芯片化控制保护装置内嵌安全防护系统,包括安全启动模块、密码服务模块、安全启动秘钥模块和固件证书模块,所述密码服务模块用于存储密码算法,所述安全启动秘钥模块用于存储签名设备固件的非对称密钥,所述固件证书模块用于存储证明固件合法性的固件证书;所述安全启动模块用于以所述密码服务模块为可信根,并根据所述安全启动秘钥模块存储的非对称密钥和所述固件证书模块存储的固件证书,对待加载的组件进行安全度量,并在安全度量通过后启动芯片操作系统。
在其中一个实施例中,所述安全启动模块加载并度量操作系统加载器,获取度量值;利用安全启动密钥模块验证所述固件证书模块中操作系统加载器的固件证书,并在操作系统加载器的度量值与所述固件证书中的标准完整性值进行一致性验证通过后启动所述操作系统加载器。
在其中一个实施例中,所述安全启动模块在所述操作系统加载器启动后加载并度量操作系统镜像,利用安全启动密钥模块验证所述固件证书模块中操作系统镜像证书,在操作系统镜像的度量值与所述操作系统镜像证书中的标准值匹配时启动操作系统内核。
在其中一个实施例中,所述安全启动模块还用于度量所有加载到系统的可执行代码,在代码运行前使用国密哈希算法对代码进行度量,并将度量结果存储到度量日志。
在其中一个实施例中,所述安全启动模块还用于维护允许芯片操作系统运行的可执行文件列表以及每个可执行文件对应的标准值,通过进程管控允许预设白名单中的合法软件运行。
在其中一个实施例中,所述安全启动模块还用于对芯片操作系统内已经运行的进程进行动态完整性监控,在出现完整性异常情况时,将异常事件写入报警日志并输出报警信息。
在其中一个实施例中,芯片化控制保护装置内嵌安全防护系统还包括安全CPU(Central Processing Unit,中央处理器)核处理器和真随机数发生器,所述真随机数发生器用于生成随机数字;所述安全CPU核处理器用于根据所述真随机数发生器生成的随机数字确定指令执行周期。
在其中一个实施例中,所述安全CPU核处理器还用于根据所述真随机数发生器生成的随机数字生成随机指令。
在其中一个实施例中,所述安全CPU核处理器还用于根据所述真随机数发生器生成的随机数字产生随机功耗噪声。
一种芯片化控制保护装置内嵌安全防护方法,基于上述芯片化控制保护装置内嵌安全防护系统实现,包括以下步骤:
安全启动模块以密码服务模块为可信根,并根据安全启动秘钥模块存储的非对称密钥和固件证书模块存储的固件证书,对待加载的组件进行安全度量;
安全启动模块在安全度量通过后启动芯片操作系统。
上述芯片化控制保护装置内嵌安全防护系统及方法,安全启动模块以密码服务模块为可信根,并根据安全启动秘钥模块存储的非对称密钥和固件证书模块存储的固件证书,对待加载的组件进行安全度量,并在安全度量通过后启动芯片操作系统。通过以密码服务模块为可信根,安全启动芯片操作系统,可主动进行电网保护终端信息安全防护,提高电网保护终端的网络安全。
附图说明
图1为一实施例中芯片化控制保护装置内嵌安全防护系统的硬件层结构框图;
图2为一实施例中芯片化控制保护装置内嵌安全防护系统的硬件安全模块架构图;
图3为一实施例中芯片化控制保护装置内嵌安全防护系统的嵌入式可信计算组件整体体系架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
可以理解,以下实施例中的“连接”,如果被连接的电路、模块、单元等相互之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。同时,在本说明书中使用的术语“和/或”包括相关所列项目的任何及所有组合。
在一个实施例中,如图1,提供了一种芯片化控制保护装置内嵌安全防护系统,包括安全启动模块110、密码服务模块120、安全启动秘钥模块130和固件证书模块140,密码服务模块120用于存储密码算法,安全启动秘钥模块130用于存储签名设备固件的非对称密钥,固件证书模块140用于存储证明固件合法性的固件证书;安全启动模块110用于以密码服务模块120为可信根,并根据安全启动秘钥模块130存储的非对称密钥和固件证书模块140存储的固件证书,对待加载的组件进行安全度量,并在安全度量通过后启动芯片操作系统。
其中,安全启动模块110、密码服务模块120、安全启动秘钥模块130和固件证书模块140为芯片化控制保护装置内嵌安全防护系统的硬件安全模块的一部分,该防护系统内嵌设置在芯片化控制保护装置中。芯片化控制保护装置内嵌安全防护系统包括硬件层和软件层,其中,硬件层由内嵌入芯片级继电保护SoC芯片电路的硬件安全模块组成。软件层由芯片操作系统中运行的嵌入式可信计算组件构成,可加载在相应硬件结构中。此外,硬件安全模块还可包括安全CPU核处理器、真随机数发生器、静态存储器和存储管理模块等。
具体地,安全启动模块110具备安全启动的启动代码,固化在设备上,负责实施度量、认证固件等安全功能。密码服务模块120提供SM2、SM3、SM4等自主国产密码算法体系及密钥存储等功能,为上层软件提供高速、安全的密码服务。固件证书模块130存储设备厂商使用安全启动密钥的私钥为设备固件颁发的证书,该证书可证明固件的合法性。安全启动密钥模块140存储用于签名设备固件的非对称密钥,公钥部分在生产时固化在设备上。基于硬件层的密码服务模块120、固件证书模块140、安全启动密钥模块130等,构建安全启动模块110,为构建平台的完整信任链提供支撑。
安全启动模块110在开机启动后,根据可信根对启动代码进行度量,对系统启动过程中需要加载的组件进行度量,然后加载运行,进行信任链的构建。操作系统启动后,继续利用系统信任链和完成度量的软硬件模块来完成操作系统内核级信任链的构建。在信任链传输的过程中,对于每个将要加载的组件(软硬件模块)都先进行哈希完整性计算,获取其度量值,根据度量值决定信任链的传递或者通过度量值记录整个信任链的传递情况,利用可信启动来防止设备加载的固件被篡改,保证系统启动时运行环境的可信。
在一个实施例中,安全启动模块110加载并度量操作系统加载器,获取度量值;利用安全启动密钥模块120验证固件证书模块140中操作系统加载器的固件证书,并在操作系统加载器的度量值与固件证书中的标准完整性值进行一致性验证通过后启动操作系统加载器。具体地,设备加电后,安全启动模块110加载并度量操作系统加载器BootLoader,获取度量值。利用设备上的安全启动密钥验证BootLoader固件的固件证书,并验证度量值与固件证书中的标准完整性值是否一致,只有一致时才允许启动。
进一步地,在一个实施例中,安全启动模块110在操作系统加载器启动后加载并度量操作系统镜像,利用安全启动密钥模块130验证固件证书模块140中操作系统镜像证书,在操作系统镜像的度量值与操作系统镜像证书中的标准值匹配时启动操作系统内核。具体地,在BootLoader启动后加载并度量操作系统镜像,使用安全启动密钥验证操作系统镜像证书,同时将度量值与证书中的标准值进行匹配,只有匹配时才启动操作系统内核。
上述芯片化控制保护装置内嵌安全防护系统,安全启动模块110以密码服务模块120为可信根,并根据安全启动秘钥模块130存储的非对称密钥和固件证书模块140存储的固件证书,对待加载的组件进行安全度量,并在安全度量通过后启动芯片操作系统。通过以密码服务模块120为可信根,安全启动芯片操作系统,可主动进行电网保护终端信息安全防护,提高电网保护终端的网络安全。
在一个实施例中,安全启动模块110还用于度量所有加载到系统的可执行代码,在代码运行前使用国密哈希算法对该代码进行度量,并将度量结果存储到度量日志。本实施例中,安全启动模块110还具备完整性度量与收集功能,度量所有加载到系统的可执行代码,在代码运行前使用国密哈希算法对代码进行度量,并将度量结果存储到度量日志中,该度量日志代表了当前平台的完整性信息,可基于该日志向远程认证当前平台的运行状态。
在一个实施例中,安全启动模块110还用于维护允许芯片操作系统运行的可执行文件列表以及每个可执行文件对应的标准值,通过进程管控允许预设白名单中的合法软件运行。本实施例中,安全启动模块110还具备白名单管控功能,维护允许系统运行的可执行文件列表以及每个可执行文件对应的标准值,通过进程管控只允许白名单中的合法软件运行,禁止其他未知或恶意程序执行,从而将平台运行环境控制在预期可控的范围内,从根源上杜绝嵌入式平台安全风险的出现。另外,白名单由硬件安全模块进行保护,可防止攻击者对其进行篡改。
在一个实施例中,安全启动模块110还用于对芯片操作系统内已经运行的进程进行动态完整性监控,在出现完整性异常情况时,将异常事件写入报警日志并输出报警信息。本实施例中,安全启动模块110还具备主动报警功能,对系统内已经运行的进程进行动态完整性监控,验证进程完整性是否与白名单标准完整性值一致,如果出现完整性异常情况,表明该进程被篡改,将该异常事件写入报警日志,主动向管理员报警。
此外,安全启动模块110还可具备管控模式配置功能和完整性管理功能,其中,管控模式配置功能提供检测模式和保护模式两种运行模式,检测模式适用于安全要求较低的场景,只对系统进行完整性监控,如发现异常记录该异常事件但不阻止该异常代码的运行;保护模式适用于安全性要求较高的场景,对系统实施白名单管控,一旦发现代码完整性不满足安全策略,阻止该代码执行并进行主动报警。进一步地,完整性管理功能负责对嵌入式平台的运行环境,包括内核模块、驱动、嵌入式应用等影响平台运行状态的可执行文件的完整性进行收集并管理,形成完整性数据库,管理员可基于该完整性数据库构建适用于不同管控场景的安全策略,最终安全策略以白名单的形式体现。
在一个实施例中,芯片化控制保护装置内嵌安全防护系统还包括安全CPU核处理器和真随机数发生器,真随机数发生器用于生成随机数字;安全CPU核处理器用于根据真随机数发生器生成的随机数字确定指令执行周期。
其中,真随机数发生器通过物理过程而不是计算机程序来生成随机数字,通过电路能够产生振荡信号的振荡源来提供随机数的随机性,将振荡器的相位抖动作为随机数的熵。然后用低频信号采样高频的振荡信号,在通过后处理模块,最终得到随机性更高的真随机数序列。
具体地,安全CPU核处理器具备随机执行周期安全机制,随机执行周期安全机制可将安全CPU核处理器的指令执行周期动态随机化。当该安全机制被使能时,安全CPU核处理器的安全扩展单元根据系统输入的真随机值,在指令执行过程中随机插入空白间隔,确保指令执行周期的随机性。安全CPU核处理器使能随机指令周期机制后,执行周期随机化,与操作数无关;不同输入下的功耗波形在时域上将无法对应,因而无法采用叠加统计的方式加以分析。
在一个实施例中,安全CPU核处理器还用于根据真随机数发生器生成的随机数字生成随机指令。本实施例中,安全CPU核处理器还具备硬件随机指令安全机制,硬件随机指令安全机制根据输入的真随机数,在指令编码域内产生合法编码的随机指令。安全CPU核处理器根据当前指令流和安全扩展单元的请求,选择执行随机指令。随机指令通过指令执行单元产生与正常指令相同的功耗,增加简单功耗分析的难度。此外,随机指令还可以扰乱正常指令的时序,抵御差分功耗分析攻击。
在一个实施例中,安全CPU核处理器还用于根据真随机数发生器生成的随机数字产生随机功耗噪声。本实施例中,安全CPU核处理器的安全扩展单元支持随机时钟噪声源功能,该安全机制可以根据输入的真随机数,利用处理器内部的门控时钟网络,产生与正常指令执行相当量级的随机功耗噪声。随机时钟噪声源不仅没有增加任何面积成本,而且不对处理器性能产生任何负面影响,是一个有效、无成本的功耗噪声源。
在一个实施例中,安全CPU核处理器还用于对数据通路进行极性翻转。本实施例中,安全CPU核处理器还具备数据通路极性翻转功能。具体地,安全CPU核处理器内部的所有数据通路都具有极性,包括指令操作数、通用寄存器、内部数据总线等。安全CPU核处理器从通用寄存器中获得具有极性的数据,作为操作数进行准备,发送至执行单元。执行单元将操作数的极性解除后参与运算,并按照输入的真随机数对结果的极性进行翻转。当配置数据通路极性翻转后,安全CPU核处理器的总线接口单元可以发送具有极性的地址和数据给外部总线,并从外部总线接收具有极性的数据。传输地址极性由安全CPU核处理器的核内数据通路随传输地址一起发送到总线;写数据极性由安全CPU核处理器的核内数据通路随写数据一起发送到总线;读数据极性由总线从设备随读数据产生,总线接口单元接收读数据和相关极性位并将其传输至安全CPU核处理器核内。
此外,在一个实施例中,安全CPU核处理器还具备分支执行周期一致化功能。具体地,考虑到时间攻击是通过观察分支指令的执行周期,推断分支指令是否被选中,进而获取指令流信息。基于此,安全CPU核处理器采用优化的分支预处理逻辑,实现无延时的分支执行逻辑,可以确保绝大多数分支指令在最短周期内发起分支目标指令的取指请求,与分支选中与否无关。
在一个实施例中,还提供了一种芯片化控制保护装置内嵌安全防护方法,基于上述芯片化控制保护装置内嵌安全防护系统实现,包括以下步骤:安全启动模块以密码服务模块为可信根,并根据安全启动秘钥模块存储的非对称密钥和固件证书模块存储的固件证书,对待加载的组件进行安全度量;安全启动模块在安全度量通过后启动芯片操作系统。
在一个实施例中,该方法还包括:安全启动模块加载并度量操作系统加载器,获取度量值;利用安全启动密钥模块验证固件证书模块中操作系统加载器的固件证书,并在操作系统加载器的度量值与固件证书中的标准完整性值进行一致性验证通过后启动操作系统加载器。
在一个实施例中,该方法还包括:安全启动模块在操作系统加载器启动后加载并度量操作系统镜像,利用安全启动密钥模块验证固件证书模块中操作系统镜像证书,在操作系统镜像的度量值与操作系统镜像证书中的标准值匹配时启动操作系统内核。
在一个实施例中,该方法还包括:安全启动模块度量所有加载到系统的可执行代码,在代码运行前使用国密哈希算法对代码进行度量,并将度量结果存储到度量日志。
在一个实施例中,该方法还包括:安全启动模块维护允许芯片操作系统运行的可执行文件列表以及每个可执行文件对应的标准值,通过进程管控允许预设白名单中的合法软件运行。
在一个实施例中,该方法还包括:安全启动模块对芯片操作系统内已经运行的进程进行动态完整性监控,在出现完整性异常情况时,将该异常事件写入报警日志并输出报警信息。
在一个实施例中,该方法还包括:安全CPU核处理器根据真随机数发生器生成的随机数字确定指令执行周期。
在一个实施例中,该方法还包括:安全CPU核处理器根据真随机数发生器生成的随机数字生成随机指令。
在一个实施例中,该方法还包括:安全CPU核处理器根据真随机数发生器生成的随机数字产生随机功耗噪声。
需要说明的是,关于芯片化控制保护装置内嵌安全防护方法的具体实施例可以参见上文中对于芯片化控制保护装置内嵌安全防护系统的限定,在此不再赘述。
为便于更好地理解上述芯片化控制保护装置内嵌安全防护系统及方法,下面结合具体实施例进行详细解释说明。
本申请提供的芯片化控制保护装置内嵌安全防护系统,通过在芯片层面以高安全国密算法安全模块为可信根,构建安全启动、信任链传递、动态安全度量的芯片级继电保护装置内嵌安全防护机制,推动电网保护终端信息安全防护体系从“被动阻隔”向“主动免疫”延伸和发展。具体地,芯片化控制保护装置内嵌安全防护系统包括硬件层和软件层两个层面。其中,硬件层由内嵌入芯片级继电保护SoC芯片电路的硬件安全模块组成。软件层由芯片操作系统中运行的嵌入式可信计算组件构成。
硬件安全模块架构如图2所示,包括安全CPU核处理器、安全启动模块BootROM、真随机数发生器、密码服务模块、安全启动密钥模块、固件证书模块、存储管理模块和静态存储器。安全CPU核处理器能够提升芯片化控制保护装置内嵌安全防护系统在时间攻击、功耗分析攻击、错误注入和缓冲区溢出等主要攻击手段下的防护能力,具备如下安全机制:
1)分支执行周期一致化
时间攻击通过观察分支指令的执行周期,推断分支指令是否被选中,进而获取指令流信息。安全CPU核处理器采用优化的分支预处理逻辑,实现无延时的分支执行逻辑。该预处理逻辑可以确保绝大多数分支指令在最短周期内发起分支目标指令的取指请求,与分支选中与否无关。
2)随机执行周期
随机执行周期安全机制可将安全CPU核处理器的指令执行周期动态随机化。当该安全机制被使能时,安全扩展单元根据系统输入的真随机值,在指令执行过程中随机插入空白间隔,确保指令执行周期的随机性。处理器使能随机指令周期机制后,执行周期随机化,与操作数无关;不同输入下的功耗波形在时域上将无法对应,因而无法采用叠加统计的方式加以分析。
3)硬件随机指令
硬件随机指令安全机制根据输入的真随机数,在指令编码域内产生合法编码的随机指令。处理器根据当前指令流和安全扩展单元的请求,选择执行随机指令。随机指令通过指令执行单元产生与正常指令相同的功耗,增加简单功耗分析的难度。除此之外,随机指令可以扰乱正常指令的时序,抵御差分功耗分析攻击。
4)随机时钟噪声源
安全CPU核处理器的安全扩展单元支持随机时钟噪声源功能。该安全机制可以根据输入的真随机数,利用处理器内部的门控时钟网络,产生与正常指令执行相当量级的随机功耗噪声。随机时钟噪声源不仅没有增加任何面积成本,而且不对处理器性能产生任何负面影响,是一个有效、无成本的功耗噪声源。
5)数据通路极性翻转
安全CPU核处理器内部的所有数据通路都具有极性,包括指令操作数、通用寄存器、内部数据总线等。安全CPU核处理器从通用寄存器中获得具有极性的数据,作为操作数进行准备,发送至执行单元。执行单元将操作数的极性解除后参与运算,并按照输入的真随机数对结果的极性进行翻转。当配置数据通路极性翻转后,安全CPU核处理器的总线接口单元可以发送具有极性的地址和数据给外部总线,并从外部总线接收具有极性的数据。传输地址极性由安全CPU核处理器的核内数据通路随传输地址一起发送到总线;写数据极性由安全CPU核处理器的核内数据通路随写数据一起发送到总线;读数据极性由总线从设备随读数据产生,总线接口单元接收读数据和相关极性位并将其传输至安全CPU核处理器的核内。如果配置独立指令总线和数据总线,这两个总线接口的地址和数据也需要附带极性。
真随机数发生器是一种通过物理过程而不是计算机程序来生成随机数字的设备,通过电路能够产生振荡信号的振荡源来提供随机数的随机性,将振荡器的相位抖动作为随机数的熵。然后用低频信号采样高频的振荡信号,在通过后处理模块,最终得到随机性更高的真随机数序列。
安全启动模块BootROM具备安全启动的启动代码,固化在设备上,负责实施度量、认证固件等安全功能。
密码服务模块提供SM2、SM3、SM4等自主国产密码算法体系及密钥存储等功能,为上层软件提供高速、安全的密码服务。
固件证书为设备厂商使用安全启动密钥的私钥为设备固件颁发的证书,该证书可证明固件的合法性。
安全启动密钥为用于签名设备固件的非对称密钥,公钥部分在生产时固化在设备上。
该芯片化控制保护装置内嵌安全防护系统的嵌入式可信计算组件整体体系架构如图3所示。基于硬件层的密码服务模块、固件证书、安全启动密钥等,构建安全启动BootROM,为构建平台的完整信任链提供支撑。在可信链支持下,进行完整性度量与搜集,进行白名单管理与控制,对完整性异常进行主动告警。
基于自主继电保护SoC芯片的硬件安全模块,嵌入式可信组件可保障操作系统启动后整个系统运行时的安全,具备系统完整性度量与收集、白名单管控、完整性管理等功能,保证系统运行时的可信可控。
(1)完整性度量与收集:度量所有加载到系统的可执行代码,在代码运行前使用国密哈希算法对该代码进行度量,并将度量结果存储到度量日志中,该度量日志代表了当前平台的完整性信息,可基于该日志向远程认证当前平台的运行状态。
(2)白名单管控:维护允许系统运行的可执行文件列表以及每个可执行文件对应的标准值,通过进程管控只允许白名单中的合法软件运行,禁止其他未知或恶意程序执行,从而将平台运行环境控制在预期可控的范围内,从根源上杜绝嵌入式平台安全风险的出现。另外,白名单由硬件安全模块进行保护,可防止攻击者对其进行篡改。
(3)主动报警:对系统内已经运行的进程进行动态完整性监控,验证进程完整性是否与白名单标准完整性值一致,如果出现完整性异常情况,表明该进程被篡改,将该异常事件写入报警日志,主动向管理员报警。
(4)管控模式配置:提供检测模式和保护模式两种运行模式,检测模式适用于安全要求较低的场景,只对系统进行完整性监控,如发现异常记录该异常事件但不阻止该异常代码的运行;保护模式适用于安全性要求较高的场景,对系统实施白名单管控,一旦发现代码完整性不满足安全策略,阻止该代码执行并进行主动报警。
(5)完整性管理:负责对嵌入式平台的运行环境,包括内核模块、驱动、嵌入式应用等影响平台运行状态的可执行文件的完整性进行收集并管理,形成完整性数据库,管理员可基于该完整性数据库构建适用于不同管控场景的安全策略,最终安全策略以白名单的形式体现。
1、信任链的构建
系统信任链构建是指在系统上电启动过程中,每个获得系统控制权的实体都要经过度量才允许在系统上运行。一个典型的信任链构建需要解决两个问题。
(1)选择能够成为信任链的起点的实体,作为度量信任根使用。信任根作为信任链的第一个实体,是整个设备的信任锚点,必须保证自主可控、安全可信。
(2)选择对系统实体进行度量的算法,来进行信任的传递。
采用的信任链构建安全原理如下:开机启动后,信任根对启动代码进行度量,然后系统启动过程中的主引导记录、操作系统(operating system,OS)装载器、OS内核、设备驱动模块、初始化进程、可信应用、网络服务等都会先度量,然后才会加载运行。在信任链传递的每个环节,都会构建相应的子系统,如可信引导系统、操作系统度量架构动态度量(dynamic root of trust measurement,DRTM)和组件度量系统。
操作系统启动之前,由自主安全芯片完成系统信任链的构建,操作系统启动后,需要继续利用系统信任链和完成度量的软硬件模块来完成操作系统内核级信任链的构建。在信任链传输的过程中,对于每个将要加载的组件(软硬件模块),都先进行哈希完整性计算,获取其度量值,根据度量值决定信任链的传递或者通过度量值记录整个信任链的传递情况,利用可信启动来防止设备加载的固件被篡改,保证系统启动时运行环境的可信。
系统的可信启动能够防止设备加载的固件被篡改,保证系统启动时运行环境的可信。为达到平台严格要求的安全性,可信启动需从平台上电启动时的第一段代码,也就是BootROM开始,主要流程如下。
(1)设备加电后,BootROM加载并度量操作系统加载器BootLoader,获取度量值。
(2)利用设备上的安全启动密钥验证BootLoader固件的固件证书,并验证度量值与固件证书中的标准完整性值是否一致,只有一致时才允许启动。
(3)BootLoader启动后加载并度量操作系统镜像,使用安全启动密钥验证操作系统镜像证书,同时将度量值与证书中的标准值进行匹配,只有匹配时才启动操作系统内核。
2、动/静态完整性度量
静态信任链技术从静态可信度量根出发,通过逐级度量和验证,建立从底层硬件到应用层的信任链,将信任从可信度量根传递到最上层的应用代码,保障整个系统平台的可信。静态信任链的建立主要包含两方面:完整性度量和信任传递。
可信计算技术将一个可信实体对另一个实体的度量过程称为度量事件。度量事件涉及两类数据:①被度量数据,即被度量代码或数据的表述;②度量摘要,即被度量数据的Hash值。负责度量的实体通过对被度量数据进行Hash操作得到度量摘要,度量摘要相当于被度量数据的快照,是被度量数据的完整性标记。度量摘要标记被度量数据的完整性信息,完整性报告需要用到度量摘要,因此度量摘要需要被保护,一般由安全芯片的可信存储根保护。被度量数据不需要被可信芯片保护,但是在完整性验证过程中需要对其重新度量,因此计算平台需要保存这些数据。
信任传递遵循如下的思想:先度量,再验证,最后跳转。从信任根开始每个当前运行的组件首先度量接下来要运行的下一层组件,根据度量值验证其安全性,如果其完整性满足要求,则本层组件运行完之后可以跳转到下层组件运行;否则说明下层组件非预期,中止信任链的建立。
基于上述静态度量技术可以将信任从信任根传递到最上层的应用层软件,建立完整的静态信任链系统。计算机系统静态信任链的构建主要分为硬件启动代码(BootROM或BIOS)、Bootloader、操作系统等几个阶段,各阶段建立信任链的思路如下:获得控制权后度量下一层将要运行的代码并扩展到安全芯片相应的安全存储中。静态信任链系统一般分为两个阶段:第一阶段是可信引导,负责将系统安全启动到操作系统内核;第二阶段是操作系统完整性度量,负责度量操作系统内核以及应用层的可执行组件。
上述芯片化控制保护装置内嵌安全防护系统,通过在芯片层面以高安全国密算法安全模块为可信根,构建安全启动、信任链传递、动态安全度量的芯片化控制保护装置内嵌安全防护机制,推动电网保护终端信息安全防护体系从“被动阻隔”向“主动免疫”延伸和发展。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (7)

1.一种芯片化控制保护装置内嵌安全防护系统,其特征在于,包括安全启动模块、密码服务模块、安全启动秘钥模块和固件证书模块,所述密码服务模块用于存储密码算法,所述安全启动秘钥模块用于存储签名设备固件的非对称密钥,所述固件证书模块用于存储证明固件合法性的固件证书;所述安全启动模块用于以所述密码服务模块为可信根,并根据所述安全启动秘钥模块存储的非对称密钥和所述固件证书模块存储的固件证书,对待加载的组件进行安全度量,并在安全度量通过后加载运行构建信任链,启动芯片操作系统;芯片操作系统启动后,安全启动模块继续利用信任链和完成度量的组件来完成操作系统内核级信任链的构建;
芯片化控制保护装置内嵌安全防护系统还包括安全CPU核处理器和真随机数发生器,所述真随机数发生器用于生成随机数字;所述安全CPU核处理器用于根据所述真随机数发生器生成的随机数字确定指令执行周期;所述安全CPU核处理器还用于根据所述真随机数发生器生成的随机数字生成随机指令;所述安全CPU核处理器还用于根据所述真随机数发生器生成的随机数字产生随机功耗噪声;所述安全CPU核处理器还用于对数据通路进行极性翻转;所述安全CPU核处理器还用于进行分支执行周期一致化控制。
2.根据权利要求1所述的芯片化控制保护装置内嵌安全防护系统,其特征在于,所述安全启动模块加载并度量操作系统加载器,获取度量值;利用安全启动密钥模块验证所述固件证书模块中操作系统加载器的固件证书,并在操作系统加载器的度量值与所述固件证书中的标准完整性值进行一致性验证通过后启动所述操作系统加载器。
3.根据权利要求2所述的芯片化控制保护装置内嵌安全防护系统,其特征在于,所述安全启动模块在所述操作系统加载器启动后加载并度量操作系统镜像,利用安全启动密钥模块验证所述固件证书模块中操作系统镜像证书,在操作系统镜像的度量值与所述操作系统镜像证书中的标准值匹配时启动操作系统内核。
4.根据权利要求1所述的芯片化控制保护装置内嵌安全防护系统,其特征在于,所述安全启动模块还用于度量所有加载到系统的可执行代码,在代码运行前使用国密哈希算法对代码进行度量,并将度量结果存储到度量日志。
5.根据权利要求1所述的芯片化控制保护装置内嵌安全防护系统,其特征在于,所述安全启动模块还用于维护允许芯片操作系统运行的可执行文件列表以及每个可执行文件对应的标准值,通过进程管控允许预设白名单中的合法软件运行。
6.根据权利要求1所述的芯片化控制保护装置内嵌安全防护系统,其特征在于,所述安全启动模块还用于对芯片操作系统内已经运行的进程进行动态完整性监控,在出现完整性异常情况时,将异常事件写入报警日志并输出报警信息。
7.一种芯片化控制保护装置内嵌安全防护方法,其特征在于,基于权利要求1-6任意一项所述的芯片化控制保护装置内嵌安全防护系统实现,包括以下步骤:
安全启动模块以密码服务模块为可信根,并根据安全启动秘钥模块存储的非对称密钥和固件证书模块存储的固件证书,对待加载的组件进行安全度量;
安全启动模块在安全度量通过后加载运行构建信任链,启动芯片操作系统;芯片操作系统启动后,安全启动模块继续利用信任链和完成度量的组件来完成操作系统内核级信任链的构建;
安全CPU核处理器根据真随机数发生器生成的随机数字确定指令执行周期;
安全CPU核处理器根据所述真随机数发生器生成的随机数字生成随机指令;
安全CPU核处理器根据所述真随机数发生器生成的随机数字产生随机功耗噪声;
安全CPU核处理器对数据通路进行极性翻转,还进行分支执行周期一致化控制。
CN202110616435.9A 2021-06-02 2021-06-02 一种芯片化控制保护装置内嵌安全防护系统及方法 Active CN113065140B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110616435.9A CN113065140B (zh) 2021-06-02 2021-06-02 一种芯片化控制保护装置内嵌安全防护系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110616435.9A CN113065140B (zh) 2021-06-02 2021-06-02 一种芯片化控制保护装置内嵌安全防护系统及方法

Publications (2)

Publication Number Publication Date
CN113065140A CN113065140A (zh) 2021-07-02
CN113065140B true CN113065140B (zh) 2021-09-24

Family

ID=76568494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110616435.9A Active CN113065140B (zh) 2021-06-02 2021-06-02 一种芯片化控制保护装置内嵌安全防护系统及方法

Country Status (1)

Country Link
CN (1) CN113065140B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113987599B (zh) * 2021-12-28 2022-03-22 苏州浪潮智能科技有限公司 一种固件可信根的实现方法、装置、设备和可读存储介质
CN114444083B (zh) * 2022-01-07 2023-12-22 苏州浪潮智能科技有限公司 一种基于bmc的服务器bios全生命周期安全保护系统
CN117272317B (zh) * 2023-09-25 2024-02-23 中汽智联技术有限公司 一种系统安全启动方法、电子设备及存储介质
CN117806777B (zh) * 2024-02-29 2024-05-10 苏州元脑智能科技有限公司 虚拟环境启动完整性验证方法、装置、系统、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102393890A (zh) * 2011-10-09 2012-03-28 广州大学 一种抗物理入侵和旁路攻击的密码芯片系统及其实现方法
CN104598198A (zh) * 2013-10-30 2015-05-06 国民技术股份有限公司 一种真随机数发生器
CN111046381A (zh) * 2019-12-27 2020-04-21 南方电网科学研究院有限责任公司 一种嵌入式cpu抗差分功耗分析装置及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100447763C (zh) * 2003-05-29 2008-12-31 联想(北京)有限公司 一种安全芯片及基于该芯片的信息安全处理设备和方法
CN101676925B (zh) * 2008-09-16 2011-04-27 联想(北京)有限公司 一种将认证信息置入安全芯片的方法及计算机系统
CN108171029B (zh) * 2018-02-05 2023-09-01 胡金钱 智能安全芯片
CN110874494B (zh) * 2018-08-29 2023-05-02 阿里巴巴集团控股有限公司 密码运算处理方法、装置、系统及度量信任链构建方法
CN110110526B (zh) * 2019-05-08 2020-11-06 郑州信大捷安信息技术股份有限公司 一种基于安全芯片的安全启动装置及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102393890A (zh) * 2011-10-09 2012-03-28 广州大学 一种抗物理入侵和旁路攻击的密码芯片系统及其实现方法
CN104598198A (zh) * 2013-10-30 2015-05-06 国民技术股份有限公司 一种真随机数发生器
CN111046381A (zh) * 2019-12-27 2020-04-21 南方电网科学研究院有限责任公司 一种嵌入式cpu抗差分功耗分析装置及方法

Also Published As

Publication number Publication date
CN113065140A (zh) 2021-07-02

Similar Documents

Publication Publication Date Title
CN113065140B (zh) 一种芯片化控制保护装置内嵌安全防护系统及方法
US11861372B2 (en) Integrity manifest certificate
JP5031029B2 (ja) 複数のプロセッサにまたがるセキュア・ブートのシステム、方法およびプログラム
US7774616B2 (en) Masking a boot sequence by providing a dummy processor
US8037293B2 (en) Selecting a random processor to boot on a multiprocessor system
US10771264B2 (en) Securing firmware
US7779273B2 (en) Booting a multiprocessor device based on selection of encryption keys to be provided to processors
JP6026666B2 (ja) 方法、装置、プログラム、及びコンピュータ可読記憶媒体
US8046573B2 (en) Masking a hardware boot sequence
KR101458780B1 (ko) 다단계 락스텝 무결성 보고 메커니즘 제공
US11714910B2 (en) Measuring integrity of computing system
CN102509046B (zh) 带有休眠支持的全局有效的测量的操作系统发动
US9405912B2 (en) Hardware rooted attestation
US20070288739A1 (en) System and method for masking a boot sequence by running different code on each processor
US20240104213A1 (en) Securing node groups
CN112511306A (zh) 一种基于混合信任模型的安全运行环境构建方法
US20220092189A1 (en) Implementation of Trusted Computing System Based on Master Controller of Solid-State Drive
CN116226872B (zh) 安全启动方法、装置及相关器件
JP2018117383A (ja) 装置、方法、集積回路、プログラム、及び有形のコンピュータ可読記憶媒体
JP6316370B2 (ja) 装置、方法、集積回路、プログラム、及び有形のコンピュータ可読記憶媒体
Achemlal et al. Building trust in virtualized networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant