CN106815494A - 一种基于cpu时空隔离机制实现应用程序安全认证的方法 - Google Patents
一种基于cpu时空隔离机制实现应用程序安全认证的方法 Download PDFInfo
- Publication number
- CN106815494A CN106815494A CN201611234518.7A CN201611234518A CN106815494A CN 106815494 A CN106815494 A CN 106815494A CN 201611234518 A CN201611234518 A CN 201611234518A CN 106815494 A CN106815494 A CN 106815494A
- Authority
- CN
- China
- Prior art keywords
- certificate
- security
- module
- application program
- elf
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000002955 isolation Methods 0.000 title claims abstract description 37
- 238000012360 testing method Methods 0.000 title claims abstract description 14
- 230000008569 process Effects 0.000 claims abstract description 32
- 238000012795 verification Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 28
- 238000004422 calculation algorithm Methods 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 11
- 238000012423 maintenance Methods 0.000 claims description 7
- 241001269238 Data Species 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 2
- 238000005259 measurement Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000002371 ultraviolet--visible spectrum Methods 0.000 description 1
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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
Abstract
本发明公开了一种基于CPU时空隔离机制实现应用程序安全认证的方法,首先,构建一个拥有应用程序认证组件的可信执行环境,即安全内核;其次,构建一个执行应用程序的通用运行环境;最后,构建一个安全监控器,负责在两个运行环境之间进行上下文切换,运行于CPU安全核;本发明的优点在于:通过安全增强应用程序启动过程的执行流程,为其提供硬件级的可信根和强安全认证,有效解决了密钥篡改、时效性差等问题,在有限时间损耗内提升计算机终端在应用程序加载过程中的安全性。
Description
技术领域
本发明涉及一种应用程序安全认证方法,具体地说是一种基于CPU时空隔离机制实现应用程序安全认证的方法,属于应用程序安全认证方法领域。
背景技术
在信息安全的长期探索实践中,这样一种事实逐渐被人们认识——越来越多的安全攻击发生在计算机终端。恶意程序利用计算机终端的脆弱性,破坏应用程序的完整性(修改库文件和二进制文件),运行非法(未认证)程序,进而提升权限,达到破坏系统、窃取终端信息的目的。为了确保计算机终端安全,一方面使用防火墙、入侵检测等安全防护技术,将恶意程序尽可能的阻截在终端外;另一方面采取终端平台完整性保护措施,保护驱动、操作系统内核、应用程序等不被恶意程序篡改,禁止非法程序运行,增强终端自身安全性。应用程序的安全认证,可以阻止恶意程序通过篡改应用程序的方式入侵系统,禁止未经认证的应用程序运行,增加恶意程序的攻击成本。基于软件的应用程序认证方案虽在一定程度上实现了这种防护机制,但存在运行效率低、密码泄露等安全隐患。因此,为了解决这些安全问题,基于硬件的应用程序安全认证机制被提出来,并且受到国内外信息安全研究领域的持续广泛关注。
当前应用程序安全认证所采用的技术方案主要有:1、基于软件实现的可执行文件认证技术,该类方案的主要特点是在Linux通用的elf可执行文件的文件头中加入安全信息(对整个文件的散列值),系统在执行elf文件前首先验证安全信息。然而方案中所使用的密钥未得到硬件级的安全存储,恶意代码可以通过替换认证公钥的方式欺骗认证模块以允许其运行,所以存在密钥篡改问题,安全性差;除此之外,该方案使用软件级的密码运算模块,没有硬件级的密码加速单元处理复杂的加解密运算,进行哈希计算、公钥认证计算的时间消耗多,效率低。2、基于硬件实现的应用程序认证系统,该类方案的特点是使用独立于CPU的PCI板卡协处理器(或TPM芯片)进行度量,并将度量结果交由操作系统进行认证。方案为认证模块提供了硬件级的信任根及密码运算模块,在安全性与效率方面都有一定程度的提升,然而无论是PCI板卡协处理器还是TPM芯片,其都需要与CPU进行多次数据交互,数据传输速度低直接限制认证的执行效率,时间消耗依然较大,并不能满足当前的计算要求。此外,该方案采用先度量后认证的方式,首先将度量结果进行存储,待本地证明和远程证明认证该度量结果,若得出应用程序不合法则判定平台不可信,所以未能阻止非法程序执行,不具备实时性。
从应用程序的加载原理出发,分析可能存在的安全隐患,对标已有的应用程序认证方案,得出基于软件实现的应用程序认证方案存在安全性差、效率低等问题,基于可信硬件实现的应用程序认证方案虽在一定程度上有所改善,但提升效果并不显著,此外还存在实时性问题。
发明内容
为了解决上述问题,本发明设计了一种基于CPU时空隔离机制实现应用程序安全认证的方法,通过安全增强应用程序启动过程的执行流程,为其提供硬件级的可信根和强安全认证,有效解决了密钥篡改、时效性差等问题,在有限时间损耗内提升计算机终端在应用程序加载过程中的安全性。
本发明的技术方案为:
一种基于CPU时空隔离机制实现应用程序安全认证的方法,包括签名过程和认证过程;
其中,所述签名过程:安全操作系统供应商每个应用程序颁发一组公私钥对及X.509证书(称为应用程序证书),并将证书编号内嵌至elf文件头中;使用颁发的私钥签名elf二进制文件,并将签名值内嵌至应用程序证书的可扩展区域;此外供应商使用自身的私钥对应用程序证书签名后将签名值存储在证书的“颁发者唯一标识符”区域,并将证书的散列值存储至安全操作系统;签名过程生成两组重要数据——应用程序证书及证书散列值,其为应用程序执行时的认证过程提供支撑;通用运行环境负责维护应用程序证书列表,可信执行环境负责维护应用程序证书散列值列表;
所述认证过程包括:
1、在通用运行环境下,应用程序elf文件被执行时,需通过execve()系统调用函数(已修改)陷入至内核态;应用程序被加载执行时,使用SVC指令从中断向量表查找该中断的入口地址,通过中断服务例程system_call查找系统调用表sys_call_table中对应系统调用号的入口地址,并执行该系统调用;execve()根据调用参数分配内存页表,检测程序文件的格式(elf、aout等),若为elf格式则通过系统切换指令SMC(在系统调用函数中添加)通过安全监控器切换至可信执行环境;
2、在可信执行环境下,安全监控器接收到环境切换请求后,调用监控器服务例程,根据系统调用函数传递的可信应用(应用程序安全认证模块)的UUID作为建立会话的参数信息,建立与应用程序安全认证模块的会话,然后系统调用函数将在其进程空间分配共享缓冲区,传递待处理的数据和命令;认证模块从通用运行环境中将应用程序elf文件读取至共享内存区,并查询elf文件头中的证书编号,依据该编号从通用运行环境中的证书管理模块读取该证书,然后调用可信执行环境的证书认证模块,使用密钥管理模块维护的供应商公钥认证该证书(认证过程需调用密码算法服务模块进行哈希运算及加解密运算),并检查证书有效性;若认证失败,则将异常返回至安全认证模块,阻止该elf文件运行;若认证通过,则继续调用elf文件认证模块使用应用程序证书中的公钥对elf文件进行解签名,验证elf文件的合法性及完整性,若失败,则返回异常至安全认证模块并阻止运行;若成功,则允许程序允许。
上述方法包括以下功能模块:
1、证书管理模块:通用运行环境下的应用程序证书管理模块负责维护及读取应用程序证书,以备可信执行环境的应用程序安全认证模块调用;
2、安全认证模块:可信执行环境下的应用程序安全认证模块负责通过安全监控器与通用运行环境建立会话链接,包括从通用运行环境读取elf文件、应用程序证书,调用证书认证模块、elf文件认证模块,以及将服务结果传递至通用运行环境等功能;
3、证书认证模块:可信执行环境下的证书认证模块负责认证应用程序证书,包括从安全内核的密钥管理模块读取供应商公钥、调用密码算法服务模块进行密码运算、从安全存储模块读取应用程序证书散列值列表,以及将认证结果传递给应用程序安全认证模块等功能;
4、elf文件认证模块:可信执行环境下的elf文件认证模块负责认证elf文件的合法性,包括使用应用程序证书中的公钥对elf文件进行认证、调用密码算法服务模块进行密码运算,以及将认证结果传递给应用程序安全认证模块等功能;
5、密码算法服务模块:可信执行环境下的密码算法服务模块属于安全内核,负责数据加解密、密钥交换协商、签名、哈希等算法的具体执行,为其他安全模块提供安全调用接口;
6、密钥管理模块:可信执行环境下的密钥管理模块属于安全内核,负责密钥的管理和维护,为其他安全模块提供安全调用接口,在本方案中提供供应商公钥以供证书认证模块调用;
7、安全存储模块:可信执行环境下的安全存储模块属于安全内核,负责为数据进行加密存储,为其他安全模块提供安全调用接口,在本方案中提供应用程序证书散列值列表以供证书认证模块调用。
本发明以CPU安全核、CPU信任根、可信执行环境安全内核、应用程序安全认证组件紧耦合为基本思想,突出系统实现的软硬件协同性,力图构建基于CPU时空隔离的可信执行环境以确保应用程序执行过程中的安全性,阻止非法的、完整性遭破坏的应用程序运行。为了实现目标,首先,需要构建一个拥有应用程序认证组件的可信执行环境,即安全内核。安全内核提供基本的内存管理、任务调度、中断处理、密码算法、密钥管理及TEE会话核心框架,通过CPU时空隔离特性,运行于CPU安全核。同时,可信执行环境应提供应用程序安全认证模块、证书认证模块、elf文件认证模块。其次,构建一个执行应用程序的通用运行环境,即通用操作系统内核,运行于CPU普通核。最后,需要构建一个安全监控器,负责在两个运行环境之间进行上下文切换,运行于CPU安全核。基于CPU时空隔离机制的可信执行环境与通用运行环境物理隔离,具有独立于通用操作系统的安全性。其中,可信执行环境本身为应用程序认证组件提供了一个隔离、安全、可靠的运行环境。
CPU时空隔离机制是指利用CPU虚拟化技术以时间片的方式运行两个不同状态的CPU虚拟核,通常划分为安全核和普通核,是一个CPU核的两个不同状态;通过内存管理单元MMU对系统内存域进行空间划分、配置内存,控制相关的寄存器以确保不同内存区域的访问权限,以达到访问控制、内存隔离的效果。
CPU时空隔离机制为应用程序安全认证提供硬件级的信任根——CPU信任根。CPU信任根是指CPU供应商在生产制造过程中,由注入的CPU UID(CPU唯一标识符)所生成的CPU报告根密钥EK和存储根密钥SRK,CPU度量根由CPU片内安全ROM提供。
基于CPU时空隔离机制,可以为系统提供两种运行环境,即通用运行环境(REE)和可信执行环境(TEE)。其中,通用运行环境由通用操作系统环境组成,比如Linux、Windows等操作系统环境。可信执行环境由操作系统安全内核和安全服务组件构成,安全服务组件为通用运行环境提供基本的安全服务,如数据加解密、安全策略配置、远程证明、数据安全存储等基本安全功能。可信执行环境拥有最高等级的安全权限,可以访问通用运行环境的全部资源,但通用运行环境则不能直接访问可信执行环境的资源,只能通过系统切换指令或异步中断进入可信环境。
本发明的优点在于:
(1)运行于安全内核的应用程序认证系统具有更高的隔离性,可以确保应用程序安全认证的有效性及系统自身的安全性;
(2)构建基于CPU的硬件级信任根以及CPU安全核内的密码服务算法,可以提供TPM芯片及CPU片外芯片不能达到的CPU内核级密码加速认证过程,并为密钥存储提供最高等级的安全保护;
(3)在专用计算机应用领域,该应用程序安全认证方法可以有效降低因为应用程序漏洞以及系统动态可加载内核模块漏洞而引起的系统安全风险;
(4)使用公钥证书认证elf文件,避免频繁地使用可信执行环境管理的密钥,进而有效减少通过大量尝试攻击带来的密钥泄露问题。
下面结合附图和实施例对本发明作进一步说明。
附图说明
图1为本发明实施例的系统整体架构图(ELn代表CPU运行状态特权级,n=0,1,,3);
图2为本发明实施例的基本原理图。
具体实施方式
以下对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1
如图1-2所示,一种基于CPU时空隔离机制实现应用程序安全认证的方法,包括签名过程和认证过程;
其中,所述签名过程:安全操作系统供应商每个应用程序颁发一组公私钥对及X.509证书(称为应用程序证书),并将证书编号内嵌至elf文件头中;使用颁发的私钥签名elf二进制文件,并将签名值内嵌至应用程序证书的可扩展区域;此外供应商使用自身的私钥对应用程序证书签名后将签名值存储在证书的“颁发者唯一标识符”区域,并将证书的散列值存储至安全操作系统;签名过程生成两组重要数据——应用程序证书及证书散列值,其为应用程序执行时的认证过程提供支撑;通用运行环境负责维护应用程序证书列表,可信执行环境负责维护应用程序证书散列值列表;
所述认证过程包括:
1、在通用运行环境下,应用程序elf文件被执行时,需通过execve()系统调用函数(已修改)陷入至内核态;应用程序被加载执行时,使用SVC指令从中断向量表查找该中断的入口地址,通过中断服务例程system_call查找系统调用表sys_call_table中对应系统调用号的入口地址,并执行该系统调用;execve()根据调用参数分配内存页表,检测程序文件的格式(elf、aout等),若为elf格式则通过系统切换指令SMC(在系统调用函数中添加)通过安全监控器切换至可信执行环境;
2、在可信执行环境下,安全监控器接收到环境切换请求后,调用监控器服务例程,根据系统调用函数传递的可信应用(应用程序安全认证模块)的UUID作为建立会话的参数信息,建立与应用程序安全认证模块的会话,然后系统调用函数将在其进程空间分配共享缓冲区,传递待处理的数据和命令;认证模块从通用运行环境中将应用程序elf文件读取至共享内存区,并查询elf文件头中的证书编号,依据该编号从通用运行环境中的证书管理模块读取该证书,然后调用可信执行环境的证书认证模块,使用密钥管理模块维护的供应商公钥认证该证书(认证过程需调用密码算法服务模块进行哈希运算及加解密运算),并检查证书有效性;若认证失败,则将异常返回至安全认证模块,阻止该elf文件运行;若认证通过,则继续调用elf文件认证模块使用应用程序证书中的公钥对elf文件进行解签名,验证elf文件的合法性及完整性,若失败,则返回异常至安全认证模块并阻止运行;若成功,则允许程序允许。
上述方法包括以下功能模块:
1、证书管理模块:通用运行环境下的应用程序证书管理模块负责维护及读取应用程序证书,以备可信执行环境的应用程序安全认证模块调用;
2、安全认证模块:可信执行环境下的应用程序安全认证模块负责通过安全监控器与通用运行环境建立会话链接,包括从通用运行环境读取elf文件、应用程序证书,调用证书认证模块、elf文件认证模块,以及将服务结果传递至通用运行环境等功能;
3、证书认证模块:可信执行环境下的证书认证模块负责认证应用程序证书,包括从安全内核的密钥管理模块读取供应商公钥、调用密码算法服务模块进行密码运算、从安全存储模块读取应用程序证书散列值列表,以及将认证结果传递给应用程序安全认证模块等功能;
4、elf文件认证模块:可信执行环境下的elf文件认证模块负责认证elf文件的合法性,包括使用应用程序证书中的公钥对elf文件进行认证、调用密码算法服务模块进行密码运算,以及将认证结果传递给应用程序安全认证模块等功能;
5、密码算法服务模块:可信执行环境下的密码算法服务模块属于安全内核,负责数据加解密、密钥交换协商、签名、哈希等算法的具体执行,为其他安全模块提供安全调用接口;
6、密钥管理模块:可信执行环境下的密钥管理模块属于安全内核,负责密钥的管理和维护,为其他安全模块提供安全调用接口,在本方案中提供供应商公钥以供证书认证模块调用;
7、安全存储模块:可信执行环境下的安全存储模块属于安全内核,负责为数据进行加密存储,为其他安全模块提供安全调用接口,在本方案中提供应用程序证书散列值列表以供证书认证模块调用。
本发明以CPU安全核、CPU信任根、可信执行环境安全内核、应用程序安全认证组件紧耦合为基本思想,突出系统实现的软硬件协同性,力图构建基于CPU时空隔离的可信执行环境以确保应用程序执行过程中的安全性,阻止非法的、完整性遭破坏的应用程序运行。为了实现目标,首先,需要构建一个拥有应用程序认证组件的可信执行环境,即安全内核。安全内核提供基本的内存管理、任务调度、中断处理、密码算法、密钥管理及TEE会话核心框架,通过CPU时空隔离特性,运行于CPU安全核。同时,可信执行环境应提供应用程序安全认证模块、证书认证模块、elf文件认证模块。其次,构建一个执行应用程序的通用运行环境,即通用操作系统内核,运行于CPU普通核。最后,需要构建一个安全监控器,负责在两个运行环境之间进行上下文切换,运行于CPU安全核。基于CPU时空隔离机制的可信执行环境与通用运行环境物理隔离,具有独立于通用操作系统的安全性。其中,可信执行环境本身为应用程序认证组件提供了一个隔离、安全、可靠的运行环境,如图1所示。
其中,应用程序的签名过程与认证过程是在两个不同环境中进行的。签名过程是指安全操作系统供应商为某个应用程序颁发公私钥对,并且利用该私钥对该应用程序的所有elf文件进行加密的过程。认证过程是指被签名的应用程序在执行过程中,由可信执行环境的证书认证模块及elf文件认证模块对应用程序证书及elf文件进行解密及完整性校验的过程。
实例的需求:基于国产FT1500A CPU硬件平台,以Debian为通用运行环境下的操作系统、optee_os为可信执行环境下的安全内核、ARM Trusted Firmware Version1.1作为系统引导固件。使用本专利中的实现方法,对execve()系统调用函数以及elf文件头进行改造,并实现各个模块的功能,在elf文件执行之前可有效地检测出非法程序并阻止其运行,同时可以防止因操作系统底层漏洞所引起的密钥泄露问题。
在实现中使用的elf文件头设计如下所示:
typedef struct
{
unsigned char e_ident[EI_NIDENT];
Elf32_Half e_type; /*目标文件类型*/
Elf32_Half e_machine;
Elf32_Word e_version;
Elf32_Addr e_entry;
Elf32_Off e_phoff;
Elf32_Off e_shoff;
Elf32_Word e_flags;
Elf32_Half e_ehsizes;
Elf32_Half e_certlabel; /*应用程序证书编号*/
Elf32_Half e_phentsize;
Elf32_Half e_phnum;
Elf32_Half e_shentsize;
Elf32_Half e_shnum;
Elf32_Half e_shstrndx;
}Elf32_Ehdr;
在实现中使用的execve()系统调用函数设计如下所示:
int do_execve()
{
file = open_exec(filename);
……
if(e_type)
tee_entry_std(struct thread_smc_args *smc_args); /*若为文件为elf格式,*/
/*则通过可信环境入口函数,使用系统切换指令切换至可信执行环境*/
……
return authentication;
}
通过修改elf文件头以及execve()系统调用函数,使得elf文件在执行之前需被可信执行环境认证,若该文件合法,则允许其执行,相反则不允许。
Claims (2)
1.一种基于CPU时空隔离机制实现应用程序安全认证的方法,其特征在于:包括签名过程和认证过程;
其中,所述签名过程:安全操作系统供应商每个应用程序颁发一组公私钥对及X.509证书(称为应用程序证书),并将证书编号内嵌至elf文件头中;使用颁发的私钥签名elf二进制文件,并将签名值内嵌至应用程序证书的可扩展区域;此外供应商使用自身的私钥对应用程序证书签名后将签名值存储在证书的“颁发者唯一标识符”区域,并将证书的散列值存储至安全操作系统;签名过程生成两组重要数据——应用程序证书及证书散列值,其为应用程序执行时的认证过程提供支撑;通用运行环境负责维护应用程序证书列表,可信执行环境负责维护应用程序证书散列值列表;
所述认证过程包括:
(1)、在通用运行环境下,应用程序elf文件被执行时,需通过execve()系统调用函数(已修改)陷入至内核态;应用程序被加载执行时,使用SVC指令从中断向量表查找该中断的入口地址,通过中断服务例程system_call查找系统调用表sys_call_table中对应系统调用号的入口地址,并执行该系统调用;execve()根据调用参数分配内存页表,检测程序文件的格式(elf、aout等),若为elf格式则通过系统切换指令SMC(在系统调用函数中添加)通过安全监控器切换至可信执行环境;
(2)、在可信执行环境下,安全监控器接收到环境切换请求后,调用监控器服务例程,根据系统调用函数传递的可信应用(应用程序安全认证模块)的UUID作为建立会话的参数信息,建立与应用程序安全认证模块的会话,然后系统调用函数将在其进程空间分配共享缓冲区,传递待处理的数据和命令;认证模块从通用运行环境中将应用程序elf文件读取至共享内存区,并查询elf文件头中的证书编号,依据该编号从通用运行环境中的证书管理模块读取该证书,然后调用可信执行环境的证书认证模块,使用密钥管理模块维护的供应商公钥认证该证书(认证过程需调用密码算法服务模块进行哈希运算及加解密运算),并检查证书有效性;若认证失败,则将异常返回至安全认证模块,阻止该elf文件运行;若认证通过,则继续调用elf文件认证模块使用应用程序证书中的公钥对elf文件进行解签名,验证elf文件的合法性及完整性,若失败,则返回异常至安全认证模块并阻止运行;若成功,则允许程序允许。
2.根据权利要求1所述的一种基于CPU时空隔离机制实现应用程序安全认证的方法,其特征在于,包括以下功能模块:
(1)、证书管理模块:通用运行环境下的应用程序证书管理模块负责维护及读取应用程序证书,以备可信执行环境的应用程序安全认证模块调用;
(2)、安全认证模块:可信执行环境下的应用程序安全认证模块负责通过安全监控器与通用运行环境建立会话链接,包括从通用运行环境读取elf文件、应用程序证书,调用证书认证模块、elf文件认证模块,以及将服务结果传递至通用运行环境等功能;
(3)、证书认证模块:可信执行环境下的证书认证模块负责认证应用程序证书,包括从安全内核的密钥管理模块读取供应商公钥、调用密码算法服务模块进行密码运算、从安全存储模块读取应用程序证书散列值列表,以及将认证结果传递给应用程序安全认证模块等功能;
(4)、elf文件认证模块:可信执行环境下的elf文件认证模块负责认证elf文件的合法性,包括使用应用程序证书中的公钥对elf文件进行认证、调用密码算法服务模块进行密码运算,以及将认证结果传递给应用程序安全认证模块等功能;
(5)、密码算法服务模块:可信执行环境下的密码算法服务模块属于安全内核,负责数据加解密、密钥交换协商、签名、哈希等算法的具体执行,为其他安全模块提供安全调用接口;
(6)、密钥管理模块:可信执行环境下的密钥管理模块属于安全内核,负责密钥的管理和维护,为其他安全模块提供安全调用接口,在本方案中提供供应商公钥以供证书认证模块调用;
(7)、安全存储模块:可信执行环境下的安全存储模块属于安全内核,负责为数据进行加密存储,为其他安全模块提供安全调用接口,在本方案中提供应用程序证书散列值列表以供证书认证模块调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611234518.7A CN106815494B (zh) | 2016-12-28 | 2016-12-28 | 一种基于cpu时空隔离机制实现应用程序安全认证的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611234518.7A CN106815494B (zh) | 2016-12-28 | 2016-12-28 | 一种基于cpu时空隔离机制实现应用程序安全认证的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106815494A true CN106815494A (zh) | 2017-06-09 |
CN106815494B CN106815494B (zh) | 2020-02-07 |
Family
ID=59110409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611234518.7A Active CN106815494B (zh) | 2016-12-28 | 2016-12-28 | 一种基于cpu时空隔离机制实现应用程序安全认证的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106815494B (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107871073A (zh) * | 2017-11-07 | 2018-04-03 | 上海华申智能卡应用系统有限公司 | 一种应用于移动终端应用的命令处理系统及其处理流程 |
CN108052461A (zh) * | 2017-12-29 | 2018-05-18 | 普华基础软件股份有限公司 | 一种操作系统的内存保护方法 |
CN108664772A (zh) * | 2018-04-27 | 2018-10-16 | 北京可信华泰信息技术有限公司 | 一种保证系统安全性的方法 |
CN109753453A (zh) * | 2018-12-26 | 2019-05-14 | 北京可信华泰信息技术有限公司 | 一种存储隔离的可信系统 |
CN109992992A (zh) * | 2019-01-25 | 2019-07-09 | 中国科学院数据与通信保护研究教育中心 | 一种可信的敏感数据保护方法及系统 |
CN110378125A (zh) * | 2019-07-24 | 2019-10-25 | 北京智芯微电子科技有限公司 | 可信计算的验证方法 |
WO2019223751A1 (zh) * | 2018-05-25 | 2019-11-28 | 华为技术有限公司 | 一种基于多容器的可信应用程序的处理方法及相关设备 |
CN110659458A (zh) * | 2019-10-10 | 2020-01-07 | 陈昶宇 | 支持软件代码数据保密可信执行的中央处理器设计方法 |
CN110851183A (zh) * | 2018-08-20 | 2020-02-28 | 联想企业解决方案(新加坡)有限公司 | 在多处理器体系结构中快速启动处理器的方法 |
CN111400723A (zh) * | 2020-04-01 | 2020-07-10 | 中国人民解放军国防科技大学 | 基于tee扩展的操作系统内核强制访问控制方法及系统 |
CN112182557A (zh) * | 2019-09-19 | 2021-01-05 | 中国科学院信息工程研究所 | 一种芯片级内置式的主动安全监控架构实现方法及电子装置 |
CN112329005A (zh) * | 2020-11-06 | 2021-02-05 | 中国电子信息产业集团有限公司 | 操作系统启动的引导度量方法、装置、电子设备和介质 |
CN112470428A (zh) * | 2018-06-08 | 2021-03-09 | 威睿公司 | 未托管的安全的应用程序间数据通信 |
CN112668547A (zh) * | 2018-04-28 | 2021-04-16 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备和计算机可读存储介质 |
CN113261255A (zh) * | 2018-11-23 | 2021-08-13 | 耐瑞唯信有限公司 | 通过封存和验证进行的装置认证 |
CN113505376A (zh) * | 2021-09-09 | 2021-10-15 | 北京全息智信科技有限公司 | 一种应用程序运行环境的控制方法、装置及电子设备 |
CN114338050A (zh) * | 2022-03-14 | 2022-04-12 | 麒麟软件有限公司 | 一种应用程序接口安全管控方法、系统及装置 |
US20220147636A1 (en) * | 2020-11-12 | 2022-05-12 | Crowdstrike, Inc. | Zero-touch security sensor updates |
US11392687B2 (en) * | 2019-01-04 | 2022-07-19 | Baidu Usa Llc | Method and system for validating kernel objects to be executed by a data processing accelerator of a host system |
CN115185562A (zh) * | 2022-07-26 | 2022-10-14 | 深圳市航顺芯片技术研发有限公司 | 一种基于双核的应用程序在线升级方法、系统及存储介质 |
CN115378740A (zh) * | 2022-10-25 | 2022-11-22 | 麒麟软件有限公司 | 一种基于可信openssh双向认证登录的实现方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908115A (zh) * | 2010-07-30 | 2010-12-08 | 中国船舶重工集团公司第七○九研究所 | 基于可信平台模块实现软件可信执行的方法 |
CN103150514A (zh) * | 2013-03-07 | 2013-06-12 | 中国科学院软件研究所 | 一种基于移动设备的可信模块及其可信服务方法 |
CN103748594A (zh) * | 2011-07-29 | 2014-04-23 | 微软公司 | 针对arm*trustzonetm实现的基于固件的可信平台模块 |
CN104318182A (zh) * | 2014-10-29 | 2015-01-28 | 中国科学院信息工程研究所 | 一种基于处理器安全扩展的智能终端隔离系统及方法 |
US20150302201A1 (en) * | 2012-08-16 | 2015-10-22 | Samsung Electronics Co., Ltd. | Device and method for processing transaction request in processing environment of trust zone |
CN105260663A (zh) * | 2015-09-15 | 2016-01-20 | 中国科学院信息工程研究所 | 一种基于TrustZone技术的安全存储服务系统及方法 |
CN105488388A (zh) * | 2015-12-22 | 2016-04-13 | 中软信息系统工程有限公司 | 一种基于cpu时空隔离机制实现应用软件行为监控系统的方法 |
-
2016
- 2016-12-28 CN CN201611234518.7A patent/CN106815494B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908115A (zh) * | 2010-07-30 | 2010-12-08 | 中国船舶重工集团公司第七○九研究所 | 基于可信平台模块实现软件可信执行的方法 |
CN103748594A (zh) * | 2011-07-29 | 2014-04-23 | 微软公司 | 针对arm*trustzonetm实现的基于固件的可信平台模块 |
US20150302201A1 (en) * | 2012-08-16 | 2015-10-22 | Samsung Electronics Co., Ltd. | Device and method for processing transaction request in processing environment of trust zone |
CN103150514A (zh) * | 2013-03-07 | 2013-06-12 | 中国科学院软件研究所 | 一种基于移动设备的可信模块及其可信服务方法 |
CN104318182A (zh) * | 2014-10-29 | 2015-01-28 | 中国科学院信息工程研究所 | 一种基于处理器安全扩展的智能终端隔离系统及方法 |
CN105260663A (zh) * | 2015-09-15 | 2016-01-20 | 中国科学院信息工程研究所 | 一种基于TrustZone技术的安全存储服务系统及方法 |
CN105488388A (zh) * | 2015-12-22 | 2016-04-13 | 中软信息系统工程有限公司 | 一种基于cpu时空隔离机制实现应用软件行为监控系统的方法 |
Non-Patent Citations (1)
Title |
---|
张英骏,冯登国等: "基于Trustzone的强安全需求环境下可信代码执行方案", 《计算机研究与发展》 * |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107871073A (zh) * | 2017-11-07 | 2018-04-03 | 上海华申智能卡应用系统有限公司 | 一种应用于移动终端应用的命令处理系统及其处理流程 |
CN108052461A (zh) * | 2017-12-29 | 2018-05-18 | 普华基础软件股份有限公司 | 一种操作系统的内存保护方法 |
CN108664772A (zh) * | 2018-04-27 | 2018-10-16 | 北京可信华泰信息技术有限公司 | 一种保证系统安全性的方法 |
CN112668547A (zh) * | 2018-04-28 | 2021-04-16 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备和计算机可读存储介质 |
WO2019223751A1 (zh) * | 2018-05-25 | 2019-11-28 | 华为技术有限公司 | 一种基于多容器的可信应用程序的处理方法及相关设备 |
US11429719B2 (en) | 2018-05-25 | 2022-08-30 | Huawei Technologies Co., Ltd. | Multi-container-based trusted application processing method and related device |
CN112470428A (zh) * | 2018-06-08 | 2021-03-09 | 威睿公司 | 未托管的安全的应用程序间数据通信 |
CN110851183A (zh) * | 2018-08-20 | 2020-02-28 | 联想企业解决方案(新加坡)有限公司 | 在多处理器体系结构中快速启动处理器的方法 |
CN110851183B (zh) * | 2018-08-20 | 2024-04-12 | 联想企业解决方案(新加坡)有限公司 | 在多处理器体系结构中快速启动处理器的方法 |
CN113261255A (zh) * | 2018-11-23 | 2021-08-13 | 耐瑞唯信有限公司 | 通过封存和验证进行的装置认证 |
CN113261255B (zh) * | 2018-11-23 | 2023-05-23 | 耐瑞唯信有限公司 | 通过封存和验证进行的装置认证 |
CN109753453A (zh) * | 2018-12-26 | 2019-05-14 | 北京可信华泰信息技术有限公司 | 一种存储隔离的可信系统 |
US11392687B2 (en) * | 2019-01-04 | 2022-07-19 | Baidu Usa Llc | Method and system for validating kernel objects to be executed by a data processing accelerator of a host system |
CN109992992A (zh) * | 2019-01-25 | 2019-07-09 | 中国科学院数据与通信保护研究教育中心 | 一种可信的敏感数据保护方法及系统 |
CN110378125A (zh) * | 2019-07-24 | 2019-10-25 | 北京智芯微电子科技有限公司 | 可信计算的验证方法 |
CN112182557A (zh) * | 2019-09-19 | 2021-01-05 | 中国科学院信息工程研究所 | 一种芯片级内置式的主动安全监控架构实现方法及电子装置 |
CN110659458A (zh) * | 2019-10-10 | 2020-01-07 | 陈昶宇 | 支持软件代码数据保密可信执行的中央处理器设计方法 |
CN111400723A (zh) * | 2020-04-01 | 2020-07-10 | 中国人民解放军国防科技大学 | 基于tee扩展的操作系统内核强制访问控制方法及系统 |
CN112329005A (zh) * | 2020-11-06 | 2021-02-05 | 中国电子信息产业集团有限公司 | 操作系统启动的引导度量方法、装置、电子设备和介质 |
US20220147636A1 (en) * | 2020-11-12 | 2022-05-12 | Crowdstrike, Inc. | Zero-touch security sensor updates |
CN113505376A (zh) * | 2021-09-09 | 2021-10-15 | 北京全息智信科技有限公司 | 一种应用程序运行环境的控制方法、装置及电子设备 |
CN114338050A (zh) * | 2022-03-14 | 2022-04-12 | 麒麟软件有限公司 | 一种应用程序接口安全管控方法、系统及装置 |
CN115185562A (zh) * | 2022-07-26 | 2022-10-14 | 深圳市航顺芯片技术研发有限公司 | 一种基于双核的应用程序在线升级方法、系统及存储介质 |
CN115185562B (zh) * | 2022-07-26 | 2024-03-22 | 深圳市航顺芯片技术研发有限公司 | 一种基于双核的应用程序在线升级方法、系统及存储介质 |
CN115378740A (zh) * | 2022-10-25 | 2022-11-22 | 麒麟软件有限公司 | 一种基于可信openssh双向认证登录的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106815494B (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815494A (zh) | 一种基于cpu时空隔离机制实现应用程序安全认证的方法 | |
US8499151B2 (en) | Secure platform voucher service for software components within an execution environment | |
US9361462B2 (en) | Associating a signing key with a software component of a computing platform | |
US9361471B2 (en) | Secure vault service for software components within an execution environment | |
US8332930B2 (en) | Secure use of user secrets on a computing platform | |
CN108055133B (zh) | 一种基于区块链技术的密钥安全签名方法 | |
JP4410821B2 (ja) | 保護された処理システムへの初期トラステッド・デバイスのバインディングの検証 | |
JP3689431B2 (ja) | 暗号化キーの安全処理のための方法及び装置 | |
US20100115625A1 (en) | Policy enforcement in trusted platforms | |
GB2482652A (en) | Extending integrity measurements in a trusted device using a policy register | |
Rocha et al. | Defense-in-depth against malicious insiders in the cloud | |
CN104794394A (zh) | 一种虚拟机启动校验的方法及装置 | |
Almohri et al. | Droidbarrier: Know what is executing on your android | |
CN103347027A (zh) | 一种可信网络连接方法和系统 | |
Almohri et al. | Process authentication for high system assurance | |
CN110990853B (zh) | 动态异构冗余的数据访问保护方法及装置 | |
Krautheim | Building trust into utility cloud computing | |
CN111310173A (zh) | 一种可信芯片的终端虚拟机身份认证方法及系统 | |
CN115879087A (zh) | 一种面向电力终端的安全可信启动方法及系统 | |
Xu et al. | Satem: Trusted service code execution across transactions | |
CN106778286A (zh) | 一种用于检测服务器硬件是否被攻击的系统及方法 | |
CN111723379A (zh) | 可信台区智能终端的可信保护方法、系统、设备及存储介质 | |
CN111967019A (zh) | 一种基于tee物联网安全启动实现方法 | |
Galanou et al. | Matee: Multimodal attestation for trusted execution environments | |
Liu et al. | The analysis and design of trusted computing applied into cloud |
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 |