CN115357948A - 一种基于tee及加密芯片的硬件防抄板加密方法及其装置 - Google Patents
一种基于tee及加密芯片的硬件防抄板加密方法及其装置 Download PDFInfo
- Publication number
- CN115357948A CN115357948A CN202211054046.2A CN202211054046A CN115357948A CN 115357948 A CN115357948 A CN 115357948A CN 202211054046 A CN202211054046 A CN 202211054046A CN 115357948 A CN115357948 A CN 115357948A
- Authority
- CN
- China
- Prior art keywords
- kernel
- encryption
- chip
- encryption chip
- certificate
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
Abstract
本发明提供一种基于TEE及加密芯片的硬件防抄板加密方法及其装置,该方法包括执行引导代码,对加密芯片进行配置以及验证;获取主控参数信息,进行注册登记和授权;在得到授权许可的前提下,基于预置的密钥对加密芯片进行对比认证;在认证通过的情况下,读取存储在外部存储器的内核证书,使用内核证书验证内核镜像的完整性,若验证通过,则启动内核;在内核启动完成后,挂载解密后的根文件系统。本发明通过充分利用安全启动技术和加密芯片的高度安全性,增加了系统程序的安全性、提升了防抄过程的复杂性和破解困难程度,具有加密数据唯一、防抄过程复杂、破解困难、较高保密性和可靠性的优点,能够达到较好的防抄板效果。
Description
技术领域
本发明涉及安全存储技术领域,具体涉及一种基于TEE及加密芯片的硬件防抄板加密方法以及应用于该方法的装置。
背景技术
硬件产品包含硬件和固化在硬件存储器里面的软件代码。目前抄板现象严重,不仅损害原产品生产商、供应商及设计公司的利益,更不利于行业的良性发展。
一般情况下,采用反向技术即可对硬件产品进行抄板,常见的抄板方式是将原产品的非易失性存储器拆下来放置于特定的读卡器上,读出存放在存储器内部的全部数据,然后将读出的数据烧写入克隆的硬件存储器上,完成整个硬件产品的抄板。
针对抄板行为,目前市面上主流硬件防抄板方案基本上采用加密芯片进行对比认证,此方案安全性一般,只能基础防御非侵入式的线路攻击和重放等抄板行为。然而,针对主控进行的侵入式剖片攻击,依然能有效绕过认证对比点,读出主控端程序并进行改写,主控中的对比认证功能一旦失效,即使加密芯片没有被破解的情况下,仍然可以完成抄板行为。
发明内容
本发明提供一种基于TEE及加密芯片的硬件防抄板加密方法及其装置,用以解决目前硬件防抄板存在的抄板现象严重,防抄能力低,易破解,安全性低,无法很好地满足用户需求等各种问题,因此与现有技术中传统的防抄方法相比,本发明提供的硬件防抄板加密方法及装置,通过充分利用安全启动技术和加密芯片的高度安全性,增加了系统程序的安全性、提升了防抄过程的复杂性和破解困难程度,具有加密数据唯一、防抄过程复杂、破解困难的优点,具有较高的保密性和可靠性,能够达到较好的防抄板效果。
第一方面,本发明提供的一种基于TEE及加密芯片的硬件防抄板加密方法,其包括:
执行引导代码,对加密芯片进行配置以及验证;
获取主控参数信息,进行注册登记和授权;
在得到授权许可的前提下,基于预置的密钥对加密芯片进行对比认证;
在认证通过的情况下,读取存储在外部存储器的内核证书,使用内核证书验证内核镜像的完整性,若验证通过,则启动内核;
在内核启动完成后,挂载解密后的根文件系统。
根据本发明提供的一种基于TEE及加密芯片的硬件防抄板加密方法,所述对加密芯片进行配置以及验证,包括:
获取根证书信息,执行安全引导ROM中固化的代码,对根证书进行加载和验证,从而验证根证书中公钥的合法性;
对外部存储器的安全启动代码进行加载和验证,利用公钥和根证书中保存的安全启动代码的哈希值验证安全启动代码的合法性;
验证完成后,加载、验证和启动安全系统;
退出安全引导模式,进入普通启动流程。
根据本发明提供的一种基于TEE及加密芯片的硬件防抄板加密方法,在执行安全引导ROM中固化的代码时,采用标准C语言编写代码,且通过KEIL C编译器编译并下载到加密芯片中,将启动程序中部分关键代码移植到加密芯片中运行;
在实际运行中,通过调用函数方式运行加密芯片内的程序段,获得运行结果,并以此结果作为用户程序进一步运行的输入数据。
根据本发明提供的一种基于TEE及加密芯片的硬件防抄板加密方法,所述获取主控参数信息,进行注册登记和授权,包括;
获取主控端的芯片识别号CHIP ID和MAC地址,并将该芯片识别号CHIP ID、MAC地址以及加密芯片中保存的关键参数传送至数据库服务器,由数据库服务器上解密出CHIPID、MAC地址和关键参数后进行注册登记,再根据这些信息生成唯一激活码加密后返回至主控端进行授权。
根据本发明提供的一种基于TEE及加密芯片的硬件防抄板加密方法,所述对加密芯片进行对比认证,包括:
在主控端和加密芯片中预置有相同的一组密钥,在运行阶段中,主控端将产生的一组随机数发送至加密芯片,加密芯片在接收到该随机数后,使用预置的密钥同时对该随机数进行对称加密生成两组密文,并通过主控端比较两组密文确认加密芯片是否身份合法。
根据本发明提供的一种基于TEE及加密芯片的硬件防抄板加密方法,内核在启动完成后,还执行反向验证流程:调用验证模块对普通启动代码数据进行验证,同时通过主控端的第一CPU核中的监控代码持续检测验证通过标记,直至验证通过或者超时退出;若验证失败,则重启设备。
根据本发明提供的一种基于TEE及加密芯片的硬件防抄板加密方法,所述加载、验证和启动安全系统,包括:
加载外部存储器中保存的安全系统和对应的Secure OS证书,分别利用Secure OS的哈希值和对应的公钥校验证书和Secure OS的合法性,其中,Secure OS证书中保存有Secure OS的哈希值和对应的公钥。
根据本发明提供的一种基于TEE及加密芯片的硬件防抄板加密方法,当校验通过后,继续加载和验证普通启动代码数据;
加载外部存储器中保存的普通启动代码数据和对应的UBOOT证书,分别利用UBOOT公钥和哈希值校验证书和UBOOT的合法性,其中,UBOOT证书中保存了普通启动代码的哈希值和对应的公钥;
当校验通过后,继续执行普通启动代码,直到进入普通启动流程。
根据本发明提供的一种基于TEE及加密芯片的硬件防抄板加密方法,所述挂载解密后的根文件系统,包括:由系统内核提供一种从逻辑设备到物理设备的映射Devicemapper,该映射包括映射设备、映射表和目标设备,将根文件系统通过Device mapper映射为/dev/dm-0设备,对/dev/dm-0设备进行文件系统格式化后挂载至系统root目录,其中,映射设备是一个逻辑抽象,其通过映射表描述的映射关系和目标设备建立映射。
第二方面,本发明还提供一种基于TEE及加密芯片的硬件防抄板加密装置,包括:
安全引导单元,用于执行引导代码,对加密芯片进行配置以及验证;
注册登记和授权单元,用于获取主控参数信息,进行注册登记和授权;
对比认证单元,在得到授权许可的前提下,基于预置的密钥对加密芯片进行对比认证;
加载和验证内核单元,在认证通过的情况下,用于读取存储在外部存储器的内核证书,使用内核证书验证内核镜像的完整性,若验证通过,则启动内核;
挂载系统单元,在内核启动完成后,用于挂载解密后的根文件系统。
由此可见,本发明具有以下有益效果:
1、防抄能力强:相比较于传统的防抄板方案,本发明基于TEE的固件防篡改功能有效防止对主控的侵入式攻击,从而能够保证主控端的对比认证流程不被破解。同时,还可以最大限度地发挥加密芯片的安全特性,让加密芯片与主控的功能结合使用,即使单独破解主控也无法获取全部核心关键代码,从而大大增加了破解难度,提高了系统数据的安全性。
2、系统安全性高:本发明带有的固件防篡改功能有效防止黑客攻击和重刷机,保证硬件只能运行被授权的系统软件,从而提升系统安全性。
3、用户数据保密性高:硬件系统经过加密处理,可以保护用户敏感数据不被轻易获取。
4、速度快:TEE中实现了常用的加解密、签名验证和计算摘要的密码学算法框架,因此本发明方法所用时间少,能够在不影响系统启动速度地前提下快速对加密的根文件系统进行解密后挂载。
5、易于实现:基于安全启动架构定义实现,通过建立完整的信任链,保证设备加载的系统程序不被篡改,防止对主控进行侵入式剖片攻击。
第三方面,本发明还提供一种电子设备,包括:
存储器,存储有计算机可执行指令;
处理器,配置为运行所述计算机可执行指令,
其中,所述计算机可执行指令被所述处理器运行时实现上述任一种的基于TEE及加密芯片的硬件防抄板加密方法的步骤。
第四方面,本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述任一种的基于TEE及加密芯片的硬件防抄板加密方法的步骤。
由此可见,本发明提供了一种基于TEE及加密芯片的硬件防抄板加密的电子设备以及存储介质,其包括:一个或多个存储器,一个或多个处理器。存储器用于存储程序代码和程序运行过程中产生的中间数据、模型输出结果的储存和模型及模型参数的储存;处理器用于代码运行所占用的处理器资源和训练模型时占用的多个处理器资源。
下面结合附图和具体实施方式对本发明作进一步详细说明。
附图说明
图1是本发明一种基于TEE及加密芯片的硬件防抄板加密方法实施例的流程图。
图2是本发明一种基于TEE及加密芯片的硬件防抄板加密方法实施例关于对加密芯片进行配置以及验证的流程图。
图3是本发明一种基于TEE及加密芯片的硬件防抄板加密方法实施例中关键代码执行的流程图。
图4是本发明一种基于TEE及加密芯片的硬件防抄板加密方法实施例关于注册登记和授权的流程图。
图5是本发明一种基于TEE及加密芯片的硬件防抄板加密方法实施例中关键参数保护的流程图。
图6是本发明一种基于TEE及加密芯片的硬件防抄板加密方法实施例关于加密芯片对比认证的流程图。
图7是本发明一种基于TEE及加密芯片的硬件防抄板加密方法实施例关于反向验证流程的流程图。
图8是本发明一种基于TEE及加密芯片的硬件防抄板加密装置实施例的原理图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,一种基于TEE及加密芯片的硬件防抄板加密方法,包括以下步骤:
步骤S1,执行引导代码,对加密芯片进行配置以及验证。
步骤S2,获取主控参数信息,进行注册登记和授权。
步骤S3,在得到授权许可的前提下,基于预置的密钥对加密芯片进行对比认证。
步骤S4,在认证通过的情况下,读取存储在外部存储器的内核证书,使用内核证书验证内核镜像的完整性,若验证通过,则启动内核。其中,本实施例内核证书中包含有公钥和内核镜像的哈希值,在使用内核证书验证内核镜像的完整性时,首先通过公钥验证内核证书的合法性,然后比较内核镜像的哈希值,从而判断该镜像是否完整。
步骤S5,在内核启动完成后,挂载解密后的根文件系统。
在上述步骤S1中,该步骤主要是执行安全引导,启动验证。其中,安全引导ROM是固化在主控端内部的代码,当主控端制作完成后就不可更改,其职责是读取并校验存放在外部存储设备的启动代码。
在上述步骤S1中,对加密芯片进行配置以及验证,包括:
获取根证书信息,执行安全引导ROM中固化的代码,对根证书进行加载和验证,利用一次性可编程存储器存储的RSA公钥的哈希值验证根证书中公钥的合法性,从而验证根证书中公钥的合法性;
对外部存储器的安全启动代码进行加载和验证,同时利用公钥和根证书中保存的安全启动代码的哈希值验证安全启动代码的合法性,防止被篡改;
验证完成后,加载、验证和启动安全系统;
退出安全引导模式,进入普通启动流程,初始化外设和电源管理。
在本实施例中,在执行安全引导ROM中固化的代码时,采用标准C语言编写代码,且通过KEIL C编译器编译并下载到加密芯片中,将启动程序中部分关键代码移植到加密芯片中运行。其中,部分关键代码为程序中的启动代码、核心代码等。
在实际运行中,通过调用函数方式运行加密芯片内的程序段,获得运行结果,并以此结果作为用户程序进一步运行的输入数据。因此加密芯片成为了产品的一部分,而代码在加密芯片内部运行,盗版商无法破解,从根本上杜绝了程序被破解的可能。
在上述步骤S2中,所述获取主控参数信息,进行注册登记和授权,包括;
获取主控端的芯片识别号CHIP ID和MAC地址,并将该芯片识别号CHIP ID、MAC地址以及加密芯片中保存的关键参数传送至数据库服务器,由数据库服务器上解密出CHIPID、MAC地址和关键参数后进行注册登记,再根据这些信息生成唯一激活码加密后返回至主控端进行授权。其中,在普通启动阶段,利用以太网上传芯片识别号CHIP ID和MAC(MediaAccess Control Address,MAC)地址以及加密芯片中保存的关键参数至数据库服务器,数据库服务器根据CHIP ID、MAC地址和关键参数生成唯一的激活码返回给设备进行授权,其中,关键参数为核心定制化参数,比如密钥,关键参数获取如图5所示。
在上述步骤S3中,对加密芯片进行对比认证,包括:
在主控端和加密芯片中预置有相同的一组密钥,在运行阶段中,主控端将产生的一组随机数发送至加密芯片,加密芯片在接收到该随机数后,使用预置的密钥同时对该随机数进行对称加密生成两组密文,并通过主控端比较两组密文确认加密芯片是否身份合法。可见,加密芯片的对比认证是基于通用的对称加密算法(3DES、AES等)对同一组随机数进行加密后,对结果进行比对判断,基于对称算法的特性,只有认证双方使用相同密钥,才可获得相同加密结果,以此来判别另一方身份是否合法。其安全性更多依赖于对称加密算法自身的安全强度以及密钥的安全存储,使用对称密钥对明文数据加密后再进行线路传输,防止线路攻击,保证无法从线路截取通讯数据攻击获得密钥。
在上述步骤S4中,内核在启动完成后,还执行反向验证流程:调用验证模块对普通启动代码数据进行验证,同时通过主控端的第一CPU核中的监控代码持续检测验证通过标记,直至验证通过或者超时退出;若验证失败,则重启设备。
在上述步骤S5中,当内核验证和启动完成后开始挂载根文件系统,挂载之前需解密根文件系统。其中,由系统内核提供一种从逻辑设备到物理设备的映射Device mapper,该映射包括映射设备、映射表和目标设备,将根文件系统通过Device mapper映射为/dev/dm-0设备,对/dev/dm-0设备进行文件系统格式化后挂载至系统root目录,其中,映射设备是一个逻辑抽象,其通过映射表描述的映射关系和目标设备建立映射。
在上述步骤S1中,当验证完成后,上述加载、验证和启动安全系统,包括:
加载外部存储器中保存的安全系统和对应的Secure OS证书,分别利用Secure OS的哈希值和对应的公钥校验证书和Secure OS的合法性,其中,Secure OS证书中保存有Secure OS的哈希值和对应的公钥。
当校验通过后,继续加载和验证普通启动代码数据。
加载外部存储器中保存的普通启动代码数据和对应的UBOOT证书,分别利用UBOOT公钥和哈希值校验证书和UBOOT的合法性,其中,UBOOT证书中保存了普通启动代码的哈希值和对应的公钥;
当校验通过后,继续执行普通启动代码,直到进入普通启动流程。
本实施例所实现的硬件防抄板加密方法作为一种全新的安全技术,搭建起一种安全启动架构应用在主控端和加密芯片上,其中,主控端运行所包含的关键组件包括:
1、安全引导ROM,是安全芯片内部一段电路逻辑,它会在芯片每次启动时被执行,配合一次性可编程存储器存储的RSA公钥,验证外部存储设备(NAND/EMMC)上启动程序完整性。其中,安全引导ROM的不可被修改性和强制执行,保证了整个安全启动过程。
2、一次性可编程存储器,它存储验证需要用到的根RSA公钥。每个厂商保存自己的根RSA私钥,在量产时候将对应根RSA公钥写入到芯片一次性可编程存储器指定区域。一次性可编程存储器只能一次写入的特性,决定了芯片在量产刷写后,芯片根RSA公钥就被厂商所控制,永远不会被第三方修改,即芯片固件的控制权由掌握了根RSA密钥的厂商掌控。
3、加密引擎,提供给固件验证算法支持和加速,目前使用到的硬件加速算法是RSA非对称解密算法和SHA数字摘要算法。
在本实施例中,安全启动架构将安全性能建于主控端自身之中,通过建立完整的信任链,保证设备加载的系统程序不被篡改,防止对主控端进行侵入式剖片攻击。同时,最大限度地发挥加密芯片的安全特性,让加密芯片与主控端的功能结合使用,核心代码分别在主控端和加密芯片中存储运行,即使破解主控端也无法获取全部核心关键代码,以此提升整个系统的安全等级,让系统安全达到了质的飞跃,让盗版商和破解团队无从下手分析,从而无法盗版产品。
在实际应用中,TEE(Trusted Execution Environment,可信执行环境)是主控内部集成的软、硬件功能单元。首先,第一步是安全引导和启动验证,这是本发明有效防止对主控端进行侵入式剖片攻击的关键,充分利用TEE防止系统程序被篡改,同时为后续加密芯片的实施奠定了环境基础。
如图2所示,图2描述了本发明启动验证流程。首先,执行安全引导ROM中固化的代码,加载和验证根证书,如果校验通过,继续加载和验证安全启动代码,否则退出启动。
由于根证书中保存了公钥和安全启动代码的哈希值,因此校验根证书中的公钥以及根证书的合法性是通过预置在一次性可编程存储器中的根公钥的哈希值完成。且校验了公钥后,即可利用根公钥和安全启动代码的哈希值校验安全启动代码的合法性。然后,加载外部存储器中保存的安全系统(Secure OS)和对应的Secure OS证书,证书中保存了SecureOS的哈希值和对应的公钥,分别利用Secure OS公钥和哈希值校验证书和Secure OS的合法性。如果校验通过,继续加载和验证普通启动代码(UBOOT),否则退出启动。
接着,加载外部存储器中保存的UOOT和对应的证书,证书中保存了UBOOT的哈希值和对应的公钥,分别利用UBOOT公钥和哈希值校验证书和UBOOT的合法性。如果校验通过,继续执行UBOOT启动代码,否则,终止启动。
最后,进入普通启动流程,其中部分核心代码已经移植到加密芯片中,如图3所示。当主控端执行到关键代码时,通过命令的方式通知加密芯片执行,加密芯片执行完成后再把结果回传给主控端,如果加密芯片返回的结果正确,则主控端继续执行启动流程;否则终止启动。
然后执行第二步:注册登记和授权,在此步骤中,把主控端的CHIP ID和MAC地址以及加密芯片中保存的一组参数,通过以太网传送至数据库服务器,在服务器上经过运算得到唯一激活码后再发送至主控端,整个以太网传输过程数据经过加密处理,保证数据安全。
如图4所示,图4描绘了注册登记授权流程。首先获取主控CHIP ID和MAC地址,用于注册登记。然后获取保存在加密芯片中的一组关键参数。具体地,主控发送一组8字节的随机数RND1至加密芯片,同时加密芯片生成一组8字节随机数RND2。在加密芯片端,随机数RND1和RND2经过运算(如异或)后得到一组随机初始化向量IV,保存的关键参数在预置密钥KEY和随机初始化向量作用下经过AES加密后发送至主控端,同时发送RND2至主控端。在主控端,根据加密芯片发送过来的RND2和自身生成的RND1经过相同的运算得到初始化向量IV,加密芯片发送过来的关键参数经过预置密钥和初始化向量作用下解密得到原始的关键参数。接着,主控端把CHIP ID、MAC地址和关键参数加密后通过以太网发送至数据库服务器。在数据库服务器上,解密出CHIP ID、MAC地址和关键参数后进行注册登记,再根据这些信息生成唯一激活码加密后发送至主控端。最后,主控端解密唯一激活码进行授权(如比较唯一激活码进行授权),如果授权失败,那么就终止启动。
接着执行第三步:加密芯片对比认证,如图6所示,在此步骤中由主控端移植3DES对称算法,且主控端与加密芯片在出厂发行阶段就预置相同的一组密钥KEY。在运行阶段,主控端产生随机数RND并将其发送给加密芯片,然后加密芯片两端分别使用预置的密钥KEY同时对RND进行3DES对称加密生成密文C1和C2,最后在主控端比较C1与C2,相同则证明加密芯片身份合法,主控程序继续运行;不同则证明加密芯片身份非法,主控程序退出运行。
然后执行第四步:加载和验证内核,即读取存储在外部存储器的内核证书验证内核镜像的完整性,如果验证通过则启动内核;否则退出启动。
进一步的,为提高验证流程安全等级,除了启动过程的单向验证,还增加了反向验证流程,如图7所示,其包括CPU验证模块和CPUs监控模块,内核在启动完成后,加载CPU验证模块,该模块调用验证接口,对UBOOT数据进行验证,同时主控的小CPU核(CPUs)中的监控代码持续检测验证通过标记,直至验证通过或者超时退出。一旦验证失败,则重启设备。具体的,Netlink发送公钥、UBOOT及签名到内核模块,Netlink接收数据,验证固件的合法性代码,验证成功,设置验证标记为TRUE,判断验证标记是否为TRUE,如是则通过;循环检测验证标记,检验次数N,判断是否检验超时,如是,则判断验证标记是否为TRUE,如是则通过;当验证不通过时,复位芯片。
最后,执行第五步:挂载根文件系统。当内核启动完成后,开始挂载根文件系统。为了提升用户数据的安全性,根文件系统经过加密处理,因此,需要启动时解密后才能挂载。
一种基于TEE及加密芯片的硬件防抄板加密装置实施例:
如图8所示,本发明还提供一种基于TEE及加密芯片的硬件防抄板加密装置,包括:
安全引导单元10,用于执行引导代码,对加密芯片进行配置以及验证。
注册登记和授权单元20,用于获取主控参数信息,进行注册登记和授权。
对比认证单元30,在得到授权许可的前提下,基于预置的密钥对加密芯片进行对比认证。
加载和验证内核单元40,在认证通过的情况下,用于读取存储在外部存储器的内核证书,使用内核证书验证内核镜像的完整性,若验证通过,则启动内核。
挂载系统单元50,在内核启动完成后,用于挂载解密后的根文件系统。
在安全引导单元10中,该单元主要是执行安全引导,启动验证。其中,安全引导ROM是固化在主控端内部的代码,当主控端制作完成后就不可更改,其职责是读取并校验存放在外部存储设备的启动代码。
在安全引导单元10中,对加密芯片进行配置以及验证,包括:
获取根证书信息,执行安全引导ROM中固化的代码,对根证书进行加载和验证,利用一次性可编程存储器存储的RSA公钥的哈希值验证根证书中公钥的合法性,从而验证根证书中公钥的合法性;
对外部存储器的安全启动代码进行加载和验证,同时利用公钥和根证书中保存的安全启动代码的哈希值验证安全启动代码的合法性,防止被篡改;
验证完成后,加载、验证和启动安全系统;
退出安全引导模式,进入普通启动流程,初始化外设和电源管理。
在本实施例中,在执行安全引导ROM中固化的代码时,采用标准C语言编写代码,且通过KEIL C编译器编译并下载到加密芯片中,将启动程序中部分关键代码移植到加密芯片中运行。
在实际运行中,通过调用函数方式运行加密芯片内的程序段,获得运行结果,并以此结果作为用户程序进一步运行的输入数据。因此加密芯片成为了产品的一部分,而代码在加密芯片内部运行,盗版商无法破解,从根本上杜绝了程序被破解的可能。
在注册登记和授权单元20中,获取主控参数信息,进行注册登记和授权,包括;
获取主控端的芯片识别号CHIP ID和MAC地址,并将该芯片识别号CHIP ID、MAC地址以及加密芯片中保存的关键参数传送至数据库服务器,由数据库服务器上解密出CHIPID、MAC地址和关键参数后进行注册登记,再根据这些信息生成唯一激活码加密后返回至主控端进行授权。其中,在普通启动阶段,利用以太网上传芯片识别号CHIP ID和MAC(MediaAccess Control Address,MAC)地址以及加密芯片中保存的关键参数至数据库服务器,数据库服务器根据CHIP ID、MAC地址和关键参数生成唯一的激活码返回给设备进行授权。
在对比认证单元30中,对加密芯片进行对比认证,包括:
在主控端和加密芯片中预置有相同的一组密钥,在运行阶段中,主控端将产生的一组随机数发送至加密芯片,加密芯片在接收到该随机数后,使用预置的密钥同时对该随机数进行对称加密生成两组密文,并通过主控端比较两组密文确认加密芯片是否身份合法。可见,加密芯片的对比认证是基于通用的对称加密算法(3DES、AES等)对同一组随机数进行加密后,对结果进行比对判断,基于对称算法的特性,只有认证双方使用相同密钥,才可获得相同加密结果,以此来判别另一方身份是否合法。其安全性更多依赖于对称加密算法自身的安全强度以及密钥的安全存储,使用对称密钥对明文数据加密后再进行线路传输,防止线路攻击,保证无法从线路截取通讯数据攻击获得密钥。
在加载和验证内核单元40中,内核在启动完成后,还执行反向验证流程:调用验证模块对普通启动代码数据进行验证,同时通过主控端的第一CPU核中的监控代码持续检测验证通过标记,直至验证通过或者超时退出;若验证失败,则重启设备。
在挂载系统单元50中,当内核验证和启动完成后开始挂载根文件系统,挂载之前需解密根文件系统。
由此可见,本发明具有以下有益效果:
1、防抄能力强:相比较于传统的防抄板方案,本发明基于TEE的固件防篡改功能有效防止对主控的侵入式攻击,从而能够保证主控端的对比认证流程不被破解。同时,还可以最大限度地发挥加密芯片的安全特性,让加密芯片与主控的功能结合使用,即使单独破解主控也无法获取全部核心关键代码,从而大大增加了破解难度,提高了系统数据的安全性。
2、系统安全性高:本发明带有的固件防篡改功能有效防止黑客攻击和重刷机,保证硬件只能运行被授权的系统软件,从而提升系统安全性。
3、用户数据保密性高:硬件系统经过加密处理,可以保护用户敏感数据不被轻易获取。
4、速度快:TEE中实现了常用的加解密、签名验证和计算摘要的密码学算法框架,因此本发明方法所用时间少,能够在不影响系统启动速度地前提下快速对加密的根文件系统进行解密后挂载。
5、易于实现:基于安全启动架构定义实现,通过建立完整的信任链,保证设备加载的系统程序不被篡改,防止对主控进行侵入式剖片攻击。
在一个实施例中,提供了一种电子设备,该电子设备可以是服务器。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于TEE及加密芯片的硬件防抄板加密方法。
本领域技术人员可以理解,本实施例示出的电子设备结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比本实施例中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
由此可见,本发明提供了一种基于TEE及加密芯片的硬件防抄板加密的电子设备以及存储介质,其包括:一个或多个存储器,一个或多个处理器。存储器用于存储程序代码和程序运行过程中产生的中间数据、模型输出结果的储存和模型及模型参数的储存;处理器用于代码运行所占用的处理器资源和训练模型时占用的多个处理器资源。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
Claims (10)
1.一种基于TEE及加密芯片的硬件防抄板加密方法,其特征在于,包括:
执行引导代码,对加密芯片进行配置以及验证;
获取主控参数信息,进行注册登记和授权;
在得到授权许可的前提下,基于预置的密钥对加密芯片进行对比认证;
在认证通过的情况下,读取存储在外部存储器的内核证书,使用内核证书验证内核镜像的完整性,若验证通过,则启动内核;
在内核启动完成后,挂载解密后的根文件系统。
2.根据权利要求1所述的方法,其特征在于,所述对加密芯片进行配置以及验证,包括:
获取根证书信息,执行安全引导ROM中固化的代码,对根证书进行加载和验证,从而验证根证书中公钥的合法性;
对外部存储器的安全启动代码进行加载和验证,利用公钥和根证书中保存的安全启动代码的哈希值验证安全启动代码的合法性;
验证完成后,加载、验证和启动安全系统;
退出安全引导模式,进入普通启动流程。
3.根据权利要求2所述的方法,其特征在于:
在执行安全引导ROM中固化的代码时,采用标准C语言编写代码,且通过KEIL C编译器编译并下载到加密芯片中,将启动程序中部分关键代码移植到加密芯片中运行;
在实际运行中,通过调用函数方式运行加密芯片内的程序段,获得运行结果,并以此结果作为用户程序进一步运行的输入数据。
4.根据权利要求1所述的方法,其特征在于,所述获取主控参数信息,进行注册登记和授权,包括:
获取主控端的芯片识别号CHIP ID和MAC地址,并将该芯片识别号CHIP ID、MAC地址以及加密芯片中保存的关键参数传送至数据库服务器,由数据库服务器上解密出CHIP ID、MAC地址和关键参数后进行注册登记,再根据这些信息生成唯一激活码加密后返回至主控端进行授权。
5.根据权利要求1所述的方法,其特征在于,所述对加密芯片进行对比认证,包括:
在主控端和加密芯片中预置有相同的一组密钥,在运行阶段中,主控端将产生的一组随机数发送至加密芯片,加密芯片在接收到该随机数后,使用预置的密钥同时对该随机数进行对称加密生成两组密文,并通过主控端比较两组密文确认加密芯片是否身份合法。
6.根据权利要求1所述的方法,其特征在于:
内核在启动完成后,还执行反向验证流程:调用验证模块对普通启动代码数据进行验证,同时通过主控端的第一CPU核中的监控代码持续检测验证通过标记,直至验证通过或者超时退出;若验证失败,则重启设备。
7.根据权利要求1所述的方法,其特征在于,所述加载、验证和启动安全系统,包括:
加载外部存储器中保存的安全系统和对应的Secure OS证书,分别利用Secure OS的哈希值和对应的公钥校验证书和Secure OS的合法性,其中,Secure OS证书中保存有SecureOS的哈希值和对应的公钥。
8.根据权利要求7所述的方法,其特征在于:
当校验通过后,继续加载和验证普通启动代码数据;
加载外部存储器中保存的普通启动代码数据和对应的UBOOT证书,分别利用UBOOT公钥和哈希值校验证书和UBOOT的合法性,其中,UBOOT证书中保存了普通启动代码的哈希值和对应的公钥;
当校验通过后,继续执行普通启动代码,直到进入普通启动流程。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述挂载解密后的根文件系统,包括:
由系统内核提供一种从逻辑设备到物理设备的映射Device mapper,该映射包括映射设备、映射表和目标设备,将根文件系统通过Device mapper映射为/dev/dm-0设备,对/dev/dm-0设备进行文件系统格式化后挂载至系统root目录,其中,映射设备是一个逻辑抽象,其通过映射表描述的映射关系和目标设备建立映射。
10.一种基于TEE及加密芯片的硬件防抄板加密装置,其特征在于,包括:
安全引导单元,用于执行引导代码,对加密芯片进行配置以及验证;
注册登记和授权单元,用于获取主控参数信息,进行注册登记和授权;
对比认证单元,在得到授权许可的前提下,基于预置的密钥对加密芯片进行对比认证;
加载和验证内核单元,在认证通过的情况下,用于读取存储在外部存储器的内核证书,使用内核证书验证内核镜像的完整性,若验证通过,则启动内核;
挂载系统单元,在内核启动完成后,用于挂载解密后的根文件系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211054046.2A CN115357948A (zh) | 2022-08-30 | 2022-08-30 | 一种基于tee及加密芯片的硬件防抄板加密方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211054046.2A CN115357948A (zh) | 2022-08-30 | 2022-08-30 | 一种基于tee及加密芯片的硬件防抄板加密方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115357948A true CN115357948A (zh) | 2022-11-18 |
Family
ID=84004988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211054046.2A Pending CN115357948A (zh) | 2022-08-30 | 2022-08-30 | 一种基于tee及加密芯片的硬件防抄板加密方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115357948A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290874A (zh) * | 2023-11-14 | 2023-12-26 | 广东汉为信息技术有限公司 | 电路板程序防破解方法、存储介质和电路板 |
-
2022
- 2022-08-30 CN CN202211054046.2A patent/CN115357948A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290874A (zh) * | 2023-11-14 | 2023-12-26 | 广东汉为信息技术有限公司 | 电路板程序防破解方法、存储介质和电路板 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11876791B2 (en) | Message authentication with secure code verification | |
US20200125756A1 (en) | Implementing access control by system-on-chip | |
AU2012205457B2 (en) | System and method for tamper-resistant booting | |
US7546468B2 (en) | Program update method and server | |
KR100851631B1 (ko) | 보안 모드 제어 메모리 | |
CN107004083B (zh) | 设备密钥保护 | |
JP4912879B2 (ja) | プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法 | |
US20190253417A1 (en) | Hardware device and authenticating method thereof | |
US8438658B2 (en) | Providing sealed storage in a data processing device | |
US9094205B2 (en) | Secure provisioning in an untrusted environment | |
EP1273996A2 (en) | Secure bootloader for securing digital devices | |
TW201732669A (zh) | 受控的安全碼鑑認 | |
TW201314492A (zh) | 未知安全金鑰下開機影像之安全更新 | |
TW202141321A (zh) | 安全儲存及載入韌體的方法及電子裝置 | |
TWI776404B (zh) | 生物支付設備的認證方法、裝置、電腦設備和儲存媒體 | |
US20140143896A1 (en) | Digital Certificate Based Theft Control for Computers | |
CN115357948A (zh) | 一种基于tee及加密芯片的硬件防抄板加密方法及其装置 | |
CN110740036A (zh) | 基于云计算的防攻击数据保密方法 | |
CN114817956A (zh) | 一种usb通信对象验证方法、系统、装置及存储介质 | |
CN114816549B (zh) | 一种保护bootloader及其环境变量的方法及系统 | |
CN117786667A (zh) | 一种用于可控计算的进程权限管理方法、系统及存储介质 | |
CN115292727A (zh) | 基于TrustZone的根文件系统加密方法及装置、设备及存储介质 | |
CN117648703A (zh) | 一种数据可控使用方法 | |
CN117708897A (zh) | 用于保护嵌入式设备固件数据的方法以及嵌入式设备 | |
CN117708896A (zh) | 用于保护嵌入式设备固件数据的方法以及嵌入式设备 |
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 |