CN104794393A - 一种嵌入式分区映像安全认证及内核可信引导方法及其设备 - Google Patents

一种嵌入式分区映像安全认证及内核可信引导方法及其设备 Download PDF

Info

Publication number
CN104794393A
CN104794393A CN201510208470.1A CN201510208470A CN104794393A CN 104794393 A CN104794393 A CN 104794393A CN 201510208470 A CN201510208470 A CN 201510208470A CN 104794393 A CN104794393 A CN 104794393A
Authority
CN
China
Prior art keywords
kernel
boot
bootloader
reflection
embedded
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.)
Granted
Application number
CN201510208470.1A
Other languages
English (en)
Other versions
CN104794393B (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.)
Hangzhou Byte Information Technology Co Ltd
Original Assignee
Hangzhou Byte Information Technology 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 Hangzhou Byte Information Technology Co Ltd filed Critical Hangzhou Byte Information Technology Co Ltd
Priority to CN201510208470.1A priority Critical patent/CN104794393B/zh
Publication of CN104794393A publication Critical patent/CN104794393A/zh
Application granted granted Critical
Publication of CN104794393B publication Critical patent/CN104794393B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种嵌入式分区映像安全认证及内核可信引导方法,基于Android***的嵌入式设备平台,在***上电、***Bootloader引导及内核加载启动的安全可信上采取***分区和内核验证相结合的方式对***进行安全加固。该方法对***上电、Bootloader及内核分区Layout及部分加载域等按照特定规则做了安全加固及重构。本发明提供了一套新的基于安全硬件的嵌入式***分区映像安全认证和操作***内核可信引导方法,对嵌入式***的启动过程进行多层加固,防止对***BOOTLOADER、操作***内核、文件***数据或应用程序数据等进行恶意的劫持、篡改,以保护嵌入式设备的使用安全。

Description

一种嵌入式分区映像安全认证及内核可信引导方法及其设备
技术领域
本发明属于嵌入式***安全领域,尤其涉及一种嵌入式分区映像安全认证及内核可信引导方法及其设备。
背景技术
嵌入式***应用开发不同于PC机,其开发过程同时涉及软硬件,需要将硬件平台的设计、操作***以及上层应用开发综合考虑。由于应用和成本约束,嵌入式***的硬件平台需根据应用量身定制,通常所用的PMU、存储器、***设备等有多种选择余地,而且软件调试技术特殊,使得嵌入式平台的操作***多样化并且差异化比较大,但是各种嵌入式操作***从上电到***启动完成的整个过程即嵌入式***的引导和启动过程基本是一致的,差别主要是体现在各个***在这一系列过程中的具体操作,比如对某一硬件的初始化流程、对文件***的操作方式等,而***的装载、执行过程再无大的差别。对于嵌入式操作***来说,如图-1,其启动过程大致可以划分成三个阶段,即***引导过程、操作***内核启动过程、文件***加载过程。
嵌入式***的引导程序通常称为Bootloader,类似于PC***上的BIOS。嵌入式***的Bootloader一般由两部分构成:第一部分是片上(SOC)及板级***(BSP)初始化代码,主要功能是通过设置MCU功能寄存器初始化各硬件单元初始工作模式,如设置时钟、存储器访问时序、中断控制寄存器等,完成内存映射,初始化MMU/MPU,初始化***中断向量表等;第二部分是加载嵌入式操作***内核程序,其功能是将操作***内核映像从只读存储器装载或拷贝到***RAM中,并跳转到内核映像入口处继续执行然后将***控制权交给操作***。嵌入式操作***是嵌入式***加电运行后的资源管理(包括硬件及软件资源)及调度平台,负责嵌入式实时任务的管理。如图-1基于以上两部的引导和执行,完成了***引导及***内核加载运行(注:嵌入式操作***执行环境的初始化代码主要由硬件抽象层HAL代码、设备驱动程序初始化代码和操作***执行初始化代码三部分构成)。操作***加载运行后,将启动文件***加载,文件***存储了***配置文件、***程序、用户应用程序和必需的驱动程序,文件***和操作***紧密相连,对文件***的操作和管理都由操作***来完成。如图-2所示,嵌入式***引导启动是一个线性的过程,在这个过程中Bootloader扮演极其重要的角色,操作***以及后面的应用程序都由他装载并获得执行。在加载操作***内核时有两个必要条件,包括:操作***内核入口地址;操作***内核初始化参数。操作***内核入口地址由Bootloader在装载内核映像文件时根据映像文件的描述信息查找到其入口位置并记录该位置相对起始的偏移量,然后在合适的时机直接跳转到内核入口处开始执行内核程序。Bootloader根据***的启动模式加载与模式相匹配的环境配置文件,然后生成内核执行时所需要的初始化参数,在引导内核启动时传给操作***内核。目前嵌入***所使用的Bootloader不是由芯片厂商提供的就是使用开源的项目,正是由于Bootloader的开放性使得其很容易被有针对性地分析研究,也即如果没有安全机制的嵌入,则嵌入式***或应用程序极有可能存在被恶意篡改、安装后门等风险,给用户的利益和安全带来极大危害。为了尽量避免这种安全风险,目前各大厂商为了获得独有的***价值、***的稳定运行、用户信息安全等,采取的主要措施是对***Bootloader加锁。加锁的Bootloader仅能引导原厂提供的固件,对任何第三方固件都不予识别,加锁后的Bootloader虽然第三方不能更改Bootloader的行为,但是仍可以对***的启动过程进行监听分析,然后绕过Bootloader威胁***安全。
Android***作为当前较为流行和普及的***,其内含有的嵌入式***启动的一般次序为:***上电;Bootloader引导;Linux内核启动;Init初始化***服务等。1、***上电。Android***的应用处理器上电复位后,将PC指针指向复位时的零地址(即启动地址),从该地址读出启动程序的可执行代码直接运行或者将可执行代码与数据载入CPU内置的RAM中再运行。2.Bootloader引导。上电初始,DMA默认设置将存储在NAND flash中第一页的数据搬运到内部RAM中,然后设置PC到内部RAM的开始处的地址,开始执行启动代码;在启动代码中设置中断向量、硬件配置等;将执行代码搬运到外部SDRAM或DDR-RAM,留出启动代码的位置;将启动代码搬运SDRAM或DDR-RAM首址;设置remap,将0地址重新映射到SDRAM或DDR-RAM首地址;设置PC指针,开始执行正式的执行代码。Bootloader引导主要任务就是对硬件设备进行初始化,建立内存空间映射图,从而将***的软、硬件环境带到一个合适的状态,以便为最终调用操作***内核准备好环境。3.linux内核启动。Bootloader启动后,***启动的控制权移交给kernel。Kernel启动主要包括:初始化内核、初始化设备驱动、启动内核、挂载文件***和启动用户空间进程。Kernel初始化是对***各个硬件设备进行配置工作。主要包括:创建异常向量表和初始化中断处理函数;初始化***核心进程调度器和时钟中断处理机制;初始化串口控制台;创建和初始化***,cache为各内存调用机制提供缓存;初始化内存管理,检测内存大小及被内核占用的内存情况;初始化***的进程间通信机制。设备初始化主要是加载设备驱动。设备驱动加载有两种方式:静态加载和动态加载。静态加载是将所有模块的程序编译到linux内核中,设备驱动在内核启动中自动加载。以静态方式工加载的设备驱动是无法卸载的。动态加载是指驱动作为模块形式加载,设备驱动可以在***启动后任何时候通过命令加载或卸载。Kernel初始化及设备初始化完成后,会创建一个根设备,然后将根文件***以只读的方式挂载。根设备创建成功后,释放未使用内存并转换到真正的根上去,同时运行/sbin/init程序启动***第一个进程,此后***启动的控制权移交给init进程。4.init初始化***服务。Init进程首先进行一系列的硬件初始化,然后通过命令行传递过来的参数挂载根文件***,最后init进程会执行用户定义的init启动脚本。Init是所有linux***进程的父进程,其进程ID为1,它负责***的初始和启动,创建并运行***中的关键进程,比如shell、login等,zygote进程就是由它所创建。
如图3和4所示,目前的嵌入式***分区一般包括:U-Boot、Boot、Ramdisk、Recovery、System、Userdata等,分区的内容仅包括对应的映像原始数据,无法对他们进行安全校验。
综合上述,在软件方面,目前嵌入式***或产品为存在很多入侵风险。嵌入式产品有数十种软件体系结构和操作***,而这些软件体系结构和操作***的安全等级各小相同,用户在与某个安全的嵌入式***交互之前,必须经过一个认证过程来核实使用者身份。认证方案可能包括BOOTLOADER可信引导、操作***认证(包括口令、生理特征(如指纹)或安全设置(如智能卡或密钥等)等。
发明内容
本发明为了解决目前嵌入式***引导和启动的过程所产生的潜在安全问题,提供了一套对嵌入式***的启动过程进行多层加固,防止对***BOOTLOADER、操作***内核、文件***数据或应用程序数据等进行恶意的劫持、篡改,以保护嵌入式设备的使用安全的基于安全硬件的全新嵌入式***分区映像安全认证和操作***内核可信引导方法。
本发明是技术方案:一种嵌入式分区映像安全认证及内核可信引导方法,基于Android***的嵌入式设备平台,在***上电、***Bootloader引导及内核加载启动的安全可信上采取***分区和内核验证相结合的方式对***进行安全加固。
优选地,该方法对***上电、Bootloader及内核分区Layout及部分加载域等按照特定规则做了安全加固及重构。
优选地,该方法具体包括下述步骤:
1)实现***上电及初始化阶段,确保DMA/MMU/MPU/CACHE/DDR/JTAG***存储、处理器缓存及片上调试***的物理隔离、***访问权限控制,避免入侵者通过物理技术在此阶段”旁路攻击”,总线探测,确保U-Boot分区不被恶意篡改;
2)实现U-Boot映像文件重新封装,新的映像Layout定义了映像数据头信息和数字签名信息;
3)实现***内核分区重构,重构后的内核映像包括映像数据头、映像原始数据、加密后的部分映像加载域数据及数字签名;
4)实现映像分区重构、安全加密及数字签名等在映像分区往目标硬件烧录或下载的时候即完成封装、加固,同时通过硬件安全单元及安全存储芯片的物理技术配合;
5)实现在目标硬件映像烧录或下载时即完成Bootloader特殊加载域硬加密、修通内核加载域的安全硬数字签名关键安全流程。
优选地,***上电启动时,首先由片上固化的PBL执行***上电后的***资源基本初始化,同时加载NAND/eMMC从Block0开始存储的Bootloader映像中的SPL加载域到SRAM中,并执行SPL流程。
优选地,SPL和U-Boot是Bootloader映像的两个加载域,也是其两个BOOT逻辑流程,分别有特定功能定义,SPL主要功能就是初始化DDR,时钟等最小***,具体包括:
a.配置ARM核,包括:中断向量表,Cache,MMU等;
b.配置UART/I2C等串并行接口;
c.配置电源管理单元PMU
d.配置***内存单元DDR;
e.配置***TIMER、中断***;
f.配置U-Boot运行相关的硬件资源;
完成上述处理器基本资源的初始化后,SPL会读取U-boot分区,并运行U-Boot流程。
优选地,U-Boot流程包括:读取U-Boot分区的映像文件头信息;通过映像文件头信息加载相关的头映像数据;对装载进来的U-Boot映像数据进行解密、完整性校验及验签;上述任何执行过程如果验证失败,则走异常处理流程,***引导失败,如果失败则走异常处理流程,***引导失败;成功则执行Bootloader的第二阶段引导,运行U-Boot。
一种嵌入式分区映像安全认证及内核可信引导设备,包括处理器、分别通过***总线连接在处理器上的***内存、电源管理模块、存储介质、显示***、通过专用总线连接在处理器上的安全单元以及通过专用控制总线连接在处理器上的密钥存储器。
本发明针对目前嵌入式***引导和启动的过程所产生的潜在安全问题,提供了一套新的基于安全硬件的嵌入式***分区映像安全认证和操作***内核可信引导方法,对嵌入式***的启动过程进行多层加固,防止对***BOOTLOADER、操作***内核、文件***数据或应用程序数据等进行恶意的劫持、篡改,以保护嵌入式设备的使用安全。
本发明相对现有技术的创新在于:
1、在***上电阶段,实现对处理器***DMA/MMU/MPU/CACHE(I-CACHE/D-CACHE)/DDR/JTAG等存储、处理器缓存及片上调试***的物理隔离、***访问权限控制;
2、避免入侵者通过物理技术在此阶段“旁路攻击”,总线探测等,确保U-Boot分区不被恶意篡改;
3、实现Bootloader映像分区、内核映像分区、Bootloader初始化流程(嵌入硬解密流程)及内核加载流程(嵌入验签流程)的逻辑重构及严格安全认证;
4、通过硬件安全单元(SE)及安全存储芯片的物理技术扩展,实现Bootloader特殊加载域的硬加密、内核加载域的硬加密及数字签名;
5、在目标映像在线编程或下载阶段对Bootloader及内核分区映像进行安全硬加密和数字签名,确保嵌入式设备片上NAND/eMMC的数据唯一性,
6、避免入侵者通过物理技术(如JTAG、CHIP-OFF)拷贝片上数据和代码进行设备克隆或逻辑分析的可能。
与目前现有嵌入式***引导和启动方法相比较,本方案对嵌入式***分区格式进行了调整,在Bootloader的第一阶段加入了对U-Boot分区完整性安全校验及数字签名认证,在Bootloader的第二阶段加入了对操作***内核映像的完整性安全校验、数字签名以及数据的加解密处理。分区格式的变化在满足了引导启动阶段的可信处理的同时,能有效防止入侵者生成虚拟映像以代替烧录固话的合法分区映像;对映像数据的完整性安全校验则可以防止不完整的映像文件对***造成的破坏,比如无法开机、开机死机、功能失效等后果,提高***引导和启动的成功率;结合终端的数字签名保证了分区映像数据的完整性、真实性及身份的特殊匹配;对内核映像文件的加解密处理可以防止对数据的非法攻击或恶意的篡改。
本方法实现了物理技术与逻辑技术的高度结合,实现了对Bootloader流程、内核加载流程、Bootloader映像及内核映像的安全防护,本方法的应用能有效保障装载***Bootloader、操作***内核的可信、安全,通过安全引导映像及配套的安全引导流程保护嵌入式设备的启动安全,特别对于有特殊安全固化要求的行业设备有特殊意义和价值。
附图说明
图1为本发明背景技术中提到的现有嵌入***启动过程框图;
图2为本发明背景技术中提到的现有嵌入式***启动详细流程;
图3为本发明背景技术中提到的现有嵌入式***映像分区Layout;
图4为本发明背景技术中提到的现有嵌入式***Bootloader映像分区Layout;
图5为传统的U-Boot分区映像Layout;
图6为本发明中支持安全认证的U-Boot分区映像Layout;
图7为一般的内核(Boot)分区Layout;
图8为本发明中支持可信引导的内核(Boot)分区Layout;
图9为本发明中SPL对U-Boot的加载安全认证流程图;
图10为本发明中内核(Boot)加载可信引导流程图;
图11为本发明中设备硬件原理框图。
其中Layout为规划图或者分布图的意思。
具体实施方式
下面结合附图对本发明作进一步详细的说明,但并不是对本发明保护范围的限制。
本发明提供了一套新的嵌入式***分区映像安全认证、操作***内核可信引导机制,本技术方案基于Android***的嵌入式设备平台进行设计;对***上电、Bootloader及内核分区Layout及部分加载域等按照特定规则做了安全加固及重构,具体包括:实现***上电及初始化阶段,确保DMA/MMU/MPU/CACHE(I-CACHE/D-CACHE)/DDR/JTAG等***存储、处理器缓存及片上调试***的物理隔离、***访问权限控制等,避免入侵者通过物理技术在此阶段“旁路攻击”,总线探测等,确保U-Boot分区不被恶意篡改;实现U-Boot映像文件重新封装,新的映像Layout定义了映像数据头信息和数字签名信息,如图6所示;实现***内核(Boot)分区重构,重构后的内核映像包括映像数据头、映像原始数据、加密后的部分映像加载域数据及数字签名,如图8所示;实现映像分区重构、安全加密及数字签名等在映像分区往目标硬件烧录或下载的时候即完成封装、加固,同时通过硬件安全单元(SE)及安全存储芯片的物理技术配合,实现在目标硬件映像烧录或下载时即完成Bootloader特殊加载域硬加密、修通内核加载域的安全硬数字签名等关键安全流程。
如图9所示,***上电启动时,首先由片上固化的PBL执行***上电后的***资源基本初始化,同时加载NAND/eMMC从BlockO开始存储的Bootloader映像中的SPL加载域到SRAM中,并执行SPL流程。SPL和U-Boot是Bootloader映像的两个加载域,也是其两个BOOT逻辑流程,分别有特定功能定义。SPL主要功能就是初始化DDR,时钟等最小***,具体包括:
a.配置ARM核,包括:中断向量表,Cache,MMU等;
b.配置UART/I2C等串并行接口;
c.配置电源管理单元PMU
d.配置***内存单元DDR;
e.配置***TIMER、中断***;
f.配置U-Boot运行相关的硬件资源;
完成上述处理器基本资源的初始化后,SPL会读取U-boot分区,并运行U-Boot流程。本方案在此过程中加入了U-Boot的特殊代码段解密及数字签名等安全验证流程,包括:读取U-Boot分区的映像文件头信息(映像文件的头信息包括:魔数、原始数据偏移地址及长度信息、数字签名信息存放位置及长度信息、数据完整性校验值信息等);通过映像文件头信息加载相关的头映像数据;对装载进来的U-Boot映像数据进行解密、完整性校验及验签(注:所有安全验证都基于安全存储芯片及硬件安全单元(SE)的密钥引擎、算法引擎)。上述任何执行过程如果验证失败,则走异常处理流程,***引导失败。如果失败则走异常处理流程,***引导失败;成功则执行Bootloader的第二阶段引导,运行U-Boot。
如图10所示,U-Boot主要功能就是加载***Kernel。和SPL类似,U-Boot需要加载下一阶段的运行的映像文件,同时,U-Boot也会根据运行环境的要求重新配置处理器及外设相关资源,包括在安全验证流程中需要用到的安全存储芯片及安全单元(SE)。完成配置后,U-Boot会启动***启动模式的仲裁,确认是Recovery、Normal、FTM或其他Power On Status,如果是Normal模式,U-Boot引导***会查找操作***内核映像的存储位置并装载***内核映像到DDR中,并记录内核的入口地址及kernel启动的相关参数,同时把控制权交给内核,开始执行Kernel初始化。如图-7所示,本方案在加载Kernel映像到DDR之前,U-Boot加载***会先执行安全认证流程,主要包括:完成Kernel部分加载域的解密;完成Kernel映像数据完整性校验;完成Kernel分区验签。安全认证流程的详细过程:U-Boot读取Boot分区的Kernel映像文件头信息,通过此头信息加载Kernel和数字签名信息等相关数据;U-Boot对装载进来的内核映像数据部分加载域进行解密,并做完整性校验,如果此安全验证失败则走异常处理流程,***引导失败。其中,从安全存储芯片获取ChipID通过硬件安全单元(SE)密钥算法生成数字签名私钥,然后使用所生成的私钥对Kernel映像数据进行解密和验签,如果此安全认证失败,则说明该内核映像文件为非法或被破坏,***引导失败。
本嵌入式设备分区映像安全认证及内核可信引导方案采用物理及逻辑技术结合的方式对嵌入式***启动引导过程进行安全加固,做到***启动过程的可信、安全。本方法的软件安全引导映像集成在Bootloader引导代码和操作***内核代码中;硬件***的安全加固配套设计,需要增加:安全单元(SE),主要负责安全密钥存储及加解密安全算法引擎的运行;安全存储芯片,主要存储只写保密引擎和只读CHIP ID。如图11所示,一种嵌入式分区映像安全认证及内核可信引导设备,包括处理器、分别通过***总线连接在处理器上的***内存、电源管理模块、存储介质、显示***、通过专用总线连接在处理器上的安全单元以及通过专用控制总线连接在处理器上的密钥存储器。
本发明中相关技术术语的名词解释如下:
Bootloader    嵌入式***引导装载***
HAL      硬件抽象层
Uboot      一种嵌入***引导装载程序
ROM      只读存储器
RAM      随机存取储存器
SDRAM      同步动态随机存取内存
DDR      双倍速率同步动态随机存储器
MMU      存储管理单元
MPU      存储器保护单元
CACHE      电脑高速缓冲存储器
UART      通用非同步收发传输器
PMIC      电源管理集成电路
KERNEL      操作***内核
JTAG      联合测试行为组织,主要表示芯片边界扫描
SE      安全单元
NAND      闪存
Emmc      嵌入式多媒体存储卡
ChipID      芯片唯一识别码
SPL      ***启动加载器
CACHE      缓冲存储器
D-CACHE      数据缓冲存储器
I-CACHE      指令缓冲存储器
CHIP-OFF      芯片摘取。

Claims (7)

1.一种嵌入式分区映像安全认证及内核可信引导方法,其特征在于:该方法基于Android***的嵌入式设备平台,在***上电、***Bootloader引导及内核加载启动的安全可信上采取***分区和内核验证相结合的方式对***进行安全加固。
2.根据权利要求1所述的一种嵌入式分区映像安全认证及内核可信引导方法,其特征在于:该方法对***上电、Bootloader及内核分区Layout及部分加载域等按照特定规则做了安全加固及重构。
3.根据权利要求2所述的一种嵌入式分区映像安全认证及内核可信引导方法,其特征在于:该方法具体包括下述步骤:
1)实现***上电及初始化阶段,确保DMA/MMU/MPU/CACHE/DDR/JTAG***存储、处理器缓存及片上调试***的物理隔离、***访问权限控制,避免入侵者通过物理技术在此阶段“旁路攻击”,总线探测,确保U-Boot分区不被篡改;
2)实现U-Boot映像文件重新封装,新的映像Layout定义了映像数据头信息和数字签名信息;
3)实现***内核分区重构,重构后的内核映像包括映像数据头、映像原始数据、加密后的部分映像加载域数据及数字签名;
4)实现映像分区重构、安全加密及数字签名等在映像分区往目标硬件烧录或下载的时候即完成封装、加固,同时通过硬件安全单元及安全存储芯片的物理技术配合;
5)实现在目标硬件映像烧录或下载时即完成Bootloader特殊加载域硬加密、修通内核加载域的安全硬数字签名关键安全流程。
4.根据权利要求3所述的一种嵌入式分区映像安全认证及内核可信引导方法,其特征在于:***上电启动时,首先由片上固化的PBL执行***上电后的***资源基本初始化,同时加载NAND/eMMC从Block0开始存储的Bootloader映像中的SPL加载域到SRAM中,并执行SPL流程。
5.根据权利要求4所述的一种嵌入式分区映像安全认证及内核可信引导方法,其特征在于:SPL和U-Boot是Bootloader映像的两个加载域,也是其两个BOOT逻辑流程,分别有特定功能定义,SPL主要功能就是初始化DDR,时钟等最小***,具体包括:
a.配置ARM核,包括:中断向量表,Cache,MMU等;
b.配置UART/I2C等串并行接口;
c.配置电源管理单元PMU
d.配置***内存单元DDR;
e.配置***TIMER、中断***;
f.配置U-Boot运行相关的硬件资源;
完成上述处理器基本资源的初始化后,SPL会读取U-boot分区,并运行U-Boot流程。
6.根据权利要求5所述的一种嵌入式分区映像安全认证及内核可信引导方法,其特征在于:U-Boot流程包括:读取U-Boot分区的映像文件头信息;通过映像文件头信息加载相关的头映像数据;对装载进来的U-Boot映像数据进行解密、完整性校验及验签;上述任何执行过程如果验证失败,则走异常处理流程,***引导失败,如果失败则走异常处理流程,***引导失败;成功则执行Bootloader的第二阶段引导,运行U-Boot。
7.根据权利要求6所述的一种嵌入式分区映像安全认证及内核可信引导设备,其特征在于:其包括处理器、分别通过***总线连接在处理器上的***内存、电源管理模块、存储介质、显示***、通过专用总线连接在处理器上的安全单元以及通过专用控制总线连接在处理器上的密钥存储器。
CN201510208470.1A 2015-04-24 2015-04-24 一种嵌入式分区映像安全认证及内核可信引导方法及其设备 Active CN104794393B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510208470.1A CN104794393B (zh) 2015-04-24 2015-04-24 一种嵌入式分区映像安全认证及内核可信引导方法及其设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510208470.1A CN104794393B (zh) 2015-04-24 2015-04-24 一种嵌入式分区映像安全认证及内核可信引导方法及其设备

Publications (2)

Publication Number Publication Date
CN104794393A true CN104794393A (zh) 2015-07-22
CN104794393B CN104794393B (zh) 2017-11-10

Family

ID=53559182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510208470.1A Active CN104794393B (zh) 2015-04-24 2015-04-24 一种嵌入式分区映像安全认证及内核可信引导方法及其设备

Country Status (1)

Country Link
CN (1) CN104794393B (zh)

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775971A (zh) * 2016-12-02 2017-05-31 杭州中天微***有限公司 数据处理装置
CN106934289A (zh) * 2015-12-30 2017-07-07 北京展讯高科通信技术有限公司 校验及形成签名映像的方法
CN108073816A (zh) * 2016-11-17 2018-05-25 东芝存储器株式会社 信息处理装置
CN108255591A (zh) * 2017-12-07 2018-07-06 中国航空工业集团公司西安航空计算技术研究所 一种分区操作***的统一异常处理方法
CN108287999A (zh) * 2017-01-10 2018-07-17 厦门雅迅网络股份有限公司 一种基于TrustZone的***可信启动方法
CN108628641A (zh) * 2018-04-26 2018-10-09 珠海亿智电子科技有限公司 一种基于嵌入式***的快速启动方法
CN108958761A (zh) * 2017-05-25 2018-12-07 中兴通讯股份有限公司 一种设备程序的处理方法及装置
CN108959129A (zh) * 2018-07-12 2018-12-07 北京航空航天大学 一种基于硬件的嵌入式***机密性保护方法
CN109445874A (zh) * 2018-11-15 2019-03-08 济南浪潮高新科技投资发展有限公司 一种基于嵌入式Linux***的带安全认证的多启动***及方法
CN109614366A (zh) * 2018-11-15 2019-04-12 广东工贸职业技术学院 运动控制***的可配置方法及装置
CN109614798A (zh) * 2017-09-30 2019-04-12 华为技术有限公司 安全启动方法、装置及终端设备
CN109684849A (zh) * 2017-10-18 2019-04-26 佳能株式会社 信息处理装置、其控制方法和存储介质
CN109918124A (zh) * 2019-03-15 2019-06-21 盛科网络(苏州)有限公司 SOC启动早期载入用户配置的方法及***、Bootloader镜像配置方法
CN110210210A (zh) * 2019-05-27 2019-09-06 北京中电华大电子设计有限责任公司 一种终端设备的逻辑安全设计方法和物理安全设计结构
US10452561B2 (en) 2016-08-08 2019-10-22 Raytheon Company Central processing unit architecture and methods for high availability systems
CN110414216A (zh) * 2019-07-29 2019-11-05 武汉光庭信息技术股份有限公司 一种车载T-Box程序代码的安全加载方法及***
CN110688660A (zh) * 2019-09-27 2020-01-14 深圳市共进电子股份有限公司 一种终端安全启动的方法及装置、存储介质
CN111443950A (zh) * 2018-12-29 2020-07-24 北京奇虎科技有限公司 车载***安全启动方法及车载***
CN111597558A (zh) * 2020-04-22 2020-08-28 国电南瑞科技股份有限公司 一种基于文件多镜像的嵌入式操作***可信引导方法及***
CN112260839A (zh) * 2020-10-20 2021-01-22 河北素数信息安全有限公司 一种基于嵌入式技术的微型传输加密装置及其启动方法
CN112363752A (zh) * 2020-11-11 2021-02-12 海光信息技术股份有限公司 基于可配置的操作***的芯片验证方法及其设备
CN112379898A (zh) * 2020-12-01 2021-02-19 上海爱信诺航芯电子科技有限公司 一种用于v2x设备的软件安全启动方法及***
CN112417520A (zh) * 2020-11-30 2021-02-26 中国航空工业集团公司西安航空计算技术研究所 一种分区操作***的安全状态维护方法和装置
CN112437924A (zh) * 2018-05-11 2021-03-02 美国莱迪思半导体公司 用于可编程逻辑器件的安全引导***和方法
CN112631663A (zh) * 2020-12-24 2021-04-09 中国航空工业集团公司西安航空计算技术研究所 一种基于ARMv7 SoC的一体化映像引导启动方法
CN112948086A (zh) * 2021-03-04 2021-06-11 浙江中控研究院有限公司 一种可信plc控制***
CN113064663A (zh) * 2019-12-31 2021-07-02 新唐科技股份有限公司 电脑装置及基于信任链的权限管理方法
CN113114645A (zh) * 2021-03-31 2021-07-13 武汉天喻信息产业股份有限公司 提高安全模组存储容量及运行安全性的方法、装置及设备
CN113238819A (zh) * 2021-07-09 2021-08-10 成都菁蓉联创科技有限公司 一种适用于U-Boot的驱动文件动态加载方法及***
CN113486411A (zh) * 2021-07-19 2021-10-08 上海擎昆信息科技有限公司 一种安全芯片及其设计方法、初始化方法
CN113642006A (zh) * 2021-08-30 2021-11-12 南方电网数字电网研究院有限公司 双核继电保护***安全启动方法
WO2021262160A1 (en) * 2020-06-24 2021-12-30 Hewlett-Packard Development Company, L.P. Bios backup
CN113946375A (zh) * 2021-10-19 2022-01-18 珠海全志科技股份有限公司 嵌入式***快速安全启动方法、装置及电子设备
CN113961939A (zh) * 2021-12-20 2022-01-21 北京智芯微电子科技有限公司 嵌入式操作***安全的防护方法和***
CN114237724A (zh) * 2021-11-24 2022-03-25 珠海全视通信息技术有限公司 驱动动态加载方法
CN114647453A (zh) * 2022-03-01 2022-06-21 芯原微电子(成都)有限公司 多处理器的可信动态启动方法、***、存储介质及终端
CN114706620A (zh) * 2022-02-25 2022-07-05 瑞芯微电子股份有限公司 参数配置方法和设备及计算机可读介质
US20230069485A1 (en) * 2021-08-25 2023-03-02 Microsoft Technology Licensing, Llc Generating and distributing customized embedded operating systems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1609788A (zh) * 2004-11-24 2005-04-27 华南理工大学 一种嵌入式操作***的驱动程序加固方法
CN101122936A (zh) * 2007-09-21 2008-02-13 武汉大学 一种可信机制上的嵌入式平台引导
US20140281642A1 (en) * 2013-03-13 2014-09-18 Xiaoxiao Wang Resolution programmable dynamic ir-drop sensor with peak ir-drop tracking abilities

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1609788A (zh) * 2004-11-24 2005-04-27 华南理工大学 一种嵌入式操作***的驱动程序加固方法
CN101122936A (zh) * 2007-09-21 2008-02-13 武汉大学 一种可信机制上的嵌入式平台引导
US20140281642A1 (en) * 2013-03-13 2014-09-18 Xiaoxiao Wang Resolution programmable dynamic ir-drop sensor with peak ir-drop tracking abilities

Cited By (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106934289A (zh) * 2015-12-30 2017-07-07 北京展讯高科通信技术有限公司 校验及形成签名映像的方法
US10452561B2 (en) 2016-08-08 2019-10-22 Raytheon Company Central processing unit architecture and methods for high availability systems
CN108073816A (zh) * 2016-11-17 2018-05-25 东芝存储器株式会社 信息处理装置
CN108073816B (zh) * 2016-11-17 2022-06-10 铠侠股份有限公司 信息处理装置
CN106775971A (zh) * 2016-12-02 2017-05-31 杭州中天微***有限公司 数据处理装置
CN106775971B (zh) * 2016-12-02 2020-01-31 杭州中天微***有限公司 数据处理装置
CN108287999A (zh) * 2017-01-10 2018-07-17 厦门雅迅网络股份有限公司 一种基于TrustZone的***可信启动方法
CN108958761A (zh) * 2017-05-25 2018-12-07 中兴通讯股份有限公司 一种设备程序的处理方法及装置
CN109614798B (zh) * 2017-09-30 2022-12-27 华为技术有限公司 安全启动方法、装置及终端设备
CN109614798A (zh) * 2017-09-30 2019-04-12 华为技术有限公司 安全启动方法、装置及终端设备
CN109684849B (zh) * 2017-10-18 2023-06-27 佳能株式会社 信息处理装置、其控制方法和存储介质
CN109684849A (zh) * 2017-10-18 2019-04-26 佳能株式会社 信息处理装置、其控制方法和存储介质
CN108255591B (zh) * 2017-12-07 2021-10-15 中国航空工业集团公司西安航空计算技术研究所 一种分区操作***的统一异常处理方法
CN108255591A (zh) * 2017-12-07 2018-07-06 中国航空工业集团公司西安航空计算技术研究所 一种分区操作***的统一异常处理方法
CN108628641A (zh) * 2018-04-26 2018-10-09 珠海亿智电子科技有限公司 一种基于嵌入式***的快速启动方法
CN112437924A (zh) * 2018-05-11 2021-03-02 美国莱迪思半导体公司 用于可编程逻辑器件的安全引导***和方法
CN108959129B (zh) * 2018-07-12 2021-08-24 北京航空航天大学 一种基于硬件的嵌入式***机密性保护方法
CN108959129A (zh) * 2018-07-12 2018-12-07 北京航空航天大学 一种基于硬件的嵌入式***机密性保护方法
CN109614366A (zh) * 2018-11-15 2019-04-12 广东工贸职业技术学院 运动控制***的可配置方法及装置
CN109614366B (zh) * 2018-11-15 2023-06-06 广东工贸职业技术学院 运动控制***的可配置方法及装置
CN109445874A (zh) * 2018-11-15 2019-03-08 济南浪潮高新科技投资发展有限公司 一种基于嵌入式Linux***的带安全认证的多启动***及方法
CN111443950A (zh) * 2018-12-29 2020-07-24 北京奇虎科技有限公司 车载***安全启动方法及车载***
CN109918124A (zh) * 2019-03-15 2019-06-21 盛科网络(苏州)有限公司 SOC启动早期载入用户配置的方法及***、Bootloader镜像配置方法
CN110210210A (zh) * 2019-05-27 2019-09-06 北京中电华大电子设计有限责任公司 一种终端设备的逻辑安全设计方法和物理安全设计结构
CN110414216B (zh) * 2019-07-29 2021-06-25 武汉光庭信息技术股份有限公司 一种车载T-Box程序代码的安全加载方法及***
CN110414216A (zh) * 2019-07-29 2019-11-05 武汉光庭信息技术股份有限公司 一种车载T-Box程序代码的安全加载方法及***
CN110688660A (zh) * 2019-09-27 2020-01-14 深圳市共进电子股份有限公司 一种终端安全启动的方法及装置、存储介质
CN110688660B (zh) * 2019-09-27 2021-08-24 深圳市共进电子股份有限公司 一种终端安全启动的方法及装置、存储介质
CN113064663B (zh) * 2019-12-31 2024-04-09 新唐科技股份有限公司 电脑装置及基于信任链的权限管理方法
CN113064663A (zh) * 2019-12-31 2021-07-02 新唐科技股份有限公司 电脑装置及基于信任链的权限管理方法
US11347863B2 (en) 2019-12-31 2022-05-31 Nuvoton Technology Corporation Computer apparatus and authority management method based on trust chain
TWI804703B (zh) * 2019-12-31 2023-06-11 新唐科技股份有限公司 電腦裝置及基於信任鏈的權限管理方法
CN111597558B (zh) * 2020-04-22 2022-09-23 国电南瑞科技股份有限公司 一种基于文件多镜像的嵌入式操作***可信引导方法及***
CN111597558A (zh) * 2020-04-22 2020-08-28 国电南瑞科技股份有限公司 一种基于文件多镜像的嵌入式操作***可信引导方法及***
WO2021262160A1 (en) * 2020-06-24 2021-12-30 Hewlett-Packard Development Company, L.P. Bios backup
CN112260839B (zh) * 2020-10-20 2022-11-22 河北素数信息安全有限公司 一种基于嵌入式技术的微型传输加密装置及其启动方法
CN112260839A (zh) * 2020-10-20 2021-01-22 河北素数信息安全有限公司 一种基于嵌入式技术的微型传输加密装置及其启动方法
CN112363752B (zh) * 2020-11-11 2023-11-03 海光信息技术股份有限公司 基于可配置的操作***的芯片验证方法及其设备
CN112363752A (zh) * 2020-11-11 2021-02-12 海光信息技术股份有限公司 基于可配置的操作***的芯片验证方法及其设备
CN112417520A (zh) * 2020-11-30 2021-02-26 中国航空工业集团公司西安航空计算技术研究所 一种分区操作***的安全状态维护方法和装置
CN112417520B (zh) * 2020-11-30 2023-09-05 中国航空工业集团公司西安航空计算技术研究所 一种分区操作***的安全状态维护方法和装置
CN112379898A (zh) * 2020-12-01 2021-02-19 上海爱信诺航芯电子科技有限公司 一种用于v2x设备的软件安全启动方法及***
CN112379898B (zh) * 2020-12-01 2022-08-09 上海爱信诺航芯电子科技有限公司 一种用于v2x设备的软件安全启动方法及***
CN112631663A (zh) * 2020-12-24 2021-04-09 中国航空工业集团公司西安航空计算技术研究所 一种基于ARMv7 SoC的一体化映像引导启动方法
CN112948086B (zh) * 2021-03-04 2023-11-03 浙江中控研究院有限公司 一种可信plc控制***
CN112948086A (zh) * 2021-03-04 2021-06-11 浙江中控研究院有限公司 一种可信plc控制***
CN113114645A (zh) * 2021-03-31 2021-07-13 武汉天喻信息产业股份有限公司 提高安全模组存储容量及运行安全性的方法、装置及设备
CN113238819A (zh) * 2021-07-09 2021-08-10 成都菁蓉联创科技有限公司 一种适用于U-Boot的驱动文件动态加载方法及***
CN113238819B (zh) * 2021-07-09 2021-09-21 成都菁蓉联创科技有限公司 一种适用于U-Boot的驱动文件动态加载方法及***
CN113486411A (zh) * 2021-07-19 2021-10-08 上海擎昆信息科技有限公司 一种安全芯片及其设计方法、初始化方法
CN113486411B (zh) * 2021-07-19 2024-05-14 上海擎昆信息科技有限公司 一种安全芯片及其设计方法、初始化方法
US20230069485A1 (en) * 2021-08-25 2023-03-02 Microsoft Technology Licensing, Llc Generating and distributing customized embedded operating systems
US11809850B2 (en) * 2021-08-25 2023-11-07 Microsoft Technology Licensing, Llc Generating and distributing customized embedded operating systems
CN113642006A (zh) * 2021-08-30 2021-11-12 南方电网数字电网研究院有限公司 双核继电保护***安全启动方法
CN113946375A (zh) * 2021-10-19 2022-01-18 珠海全志科技股份有限公司 嵌入式***快速安全启动方法、装置及电子设备
CN114237724B (zh) * 2021-11-24 2024-03-12 珠海全视通信息技术有限公司 驱动动态加载方法
CN114237724A (zh) * 2021-11-24 2022-03-25 珠海全视通信息技术有限公司 驱动动态加载方法
CN113961939A (zh) * 2021-12-20 2022-01-21 北京智芯微电子科技有限公司 嵌入式操作***安全的防护方法和***
CN113961939B (zh) * 2021-12-20 2022-03-08 北京智芯微电子科技有限公司 嵌入式操作***安全的防护方法和***
CN114706620A (zh) * 2022-02-25 2022-07-05 瑞芯微电子股份有限公司 参数配置方法和设备及计算机可读介质
CN114647453B (zh) * 2022-03-01 2023-06-09 芯原微电子(成都)有限公司 多处理器的可信动态启动方法、***、存储介质及终端
CN114647453A (zh) * 2022-03-01 2022-06-21 芯原微电子(成都)有限公司 多处理器的可信动态启动方法、***、存储介质及终端

Also Published As

Publication number Publication date
CN104794393B (zh) 2017-11-10

Similar Documents

Publication Publication Date Title
CN104794393B (zh) 一种嵌入式分区映像安全认证及内核可信引导方法及其设备
US9489512B2 (en) Trustzone-based integrity measurements and verification using a software-based trusted platform module
US10685143B2 (en) Secure boot sequence for selectively disabling configurable communication paths of a multiprocessor fabric
US7937575B2 (en) Information processing system, program product, and information processing method
US8296528B2 (en) Methods and systems for microcode patching
KR20170095161A (ko) 시큐어 시스템 온 칩
US9990255B2 (en) Repairing compromised system data in a non-volatile memory
CN107665308B (zh) 用于构建和保持可信运行环境的tpcm***以及相应方法
CN103080904A (zh) 提供多阶段锁步完整性报告机构
Khattri et al. Hsdl: A security development lifecycle for hardware technologies
US8205197B2 (en) Apparatus, system, and method for granting hypervisor privileges
CN102298529A (zh) 为***提供硅集成代码
US9367327B2 (en) Method to ensure platform silicon configuration integrity
US8108905B2 (en) System and method for an isolated process to control address translation
Yao et al. Building secure firmware
Regenscheid BIOS protection guidelines for servers
Zhao et al. Gracewipe: Secure and Verifiable Deletion under Coercion.
CN103795905A (zh) 一种网络摄像机可信启动方法
González Operating Security System Support for Run-Time Security with a Trusted Execution Environment
Gu et al. A secure bootstrap based on trusted computing
Kushwaha A trusted bootstrapping scheme using USB key based on UEFI
Ma et al. Booting IoT Terminal Device Securely with eMMC
Regenscheid BIOS Protection Guidelines for Servers (Draft)
CN116956267A (zh) 平台证书的基于管理控制器的验证
Zimmer System Isolation Beyond BIOS using the Unified Extensible Firmware Interface.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Embedded type partition image security certification and kernel trusted boot method and equipment thereof

Effective date of registration: 20180611

Granted publication date: 20171110

Pledgee: Fuyang branch of the China Co truction Bank Corp

Pledgor: Hangzhou byte information Technology Co., Ltd.

Registration number: 2018330000145