CN109684126B - 用于arm设备的内存校验方法和执行内存校验的arm设备 - Google Patents

用于arm设备的内存校验方法和执行内存校验的arm设备 Download PDF

Info

Publication number
CN109684126B
CN109684126B CN201811589122.3A CN201811589122A CN109684126B CN 109684126 B CN109684126 B CN 109684126B CN 201811589122 A CN201811589122 A CN 201811589122A CN 109684126 B CN109684126 B CN 109684126B
Authority
CN
China
Prior art keywords
coprocessor
memory
domain
configuring
security
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
CN201811589122.3A
Other languages
English (en)
Other versions
CN109684126A (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.)
Guizhou Huaxin Semiconductor Technology Co ltd
Original Assignee
Guizhou Huaxintong Semiconductor 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 Guizhou Huaxintong Semiconductor Technology Co ltd filed Critical Guizhou Huaxintong Semiconductor Technology Co ltd
Priority to CN201811589122.3A priority Critical patent/CN109684126B/zh
Publication of CN109684126A publication Critical patent/CN109684126A/zh
Application granted granted Critical
Publication of CN109684126B publication Critical patent/CN109684126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)
  • Advance Control (AREA)

Abstract

提供了一种用于ARM设备的内存校验方法和执行内存校验的ARM设备。该ARM设备包括中央处理器和协处理器,所述中央处理器能够操作在普通域和安全域,该内存校验方法包括:通过中央处理器在普通域接收安全监控调用SMC指令;响应于该SMC指令,所述中央处理器从普通域切换到安全域进行操作,并使能该ARM设备的协处理器;通过所述协处理器执行内存校验计算,并将计算结果输出到所述安全域中;和通过所述中央处理器将所述计算结果与用于内存校验的比对数据进行比对,基于所述比对确定内存校验结果,并将所述内存校验结果输出到普通域中。

Description

用于ARM设备的内存校验方法和执行内存校验的ARM设备
技术领域
本公开涉及一种用于ARM设备的内存校验方法和执行内存校验的ARM设备。
背景技术
ARM设备具有中央处理器和协处理器。协处理器可以用于减轻中央处理器的特定处理任务,用于各种协处理操作。在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略中央处理器和其他协处理器的指令。一个协处理器通过扩展指令集或提供配置寄存器来扩展内核处理功能。一个或多个协处理器可以通过协处理器接口与ARM内核相连。
ARM TrustZone架构旨在提供安全框架,从而使设备能够抵御将遇到的众多特定威胁。TrustZone在概念上将片上***(SoC)的硬件和软件资源划分为安全域(SecureWorld)和普通域(Normal World),所有需要保密的操作在安全域执行(如指纹识别、密码处理、数据加解密、安全认证等),其余操作在普通域执行(如用户操作***、各种应用程序等)。中央处理器(CPU)可以在安全域和普通域下运行,并通过被称为监控模式(MonitorMode)的模式在这两个运行环境之间转换。具体而言,当CPU需要进行运行环境切换时,它将先进入监控模式并且在该模式下储存当前运行环境的状态后进行运行环境切换。运行环境的切换主要由两类行为发起,第一类是较为普遍发生的,即,执行被称为“安全监控调用(SMC,Secure Monitor Call)”的指令。该指令将会切换当前CPU所处的运行环境。第二种方式通过一些特定的硬件异常机制来执行运行环境的切换,例如通过配置中断请求(IRQ)以及快速中断请求(FIQ)等来切换运行环境。TrustZone技术保证了普通域中的程序(包括操作***)无法访问分配给安全域的硬件资源,而安全域中的程序则能够访问两个域的所有硬件资源,并且安全域还能够对硬件资源进行动态划分。
内存校验例如是指将内存中的数据用哈希等方法进行数据完整性校验。一般地,如果数据计算结果与原有数据不相符,则表示数据完整性有问题,有遭受***或软件攻击的风险。目前内存校验的解决方案通常是在操作***中增加钩子函数来对内存数据进行计算,或者通过外接计算芯片比如可信平台模块(TPM,Trusted Platform Module)或者可信密码模块(TCM,Trusted Cryptography Module)进行计算或者结果比对。
发明内容
本公开的至少一个实施例提供了一种用于ARM设备的内存校验的方法和执行内存校验的ARM设备,其基于ARM设备中的硬件协处理器来对内存数据进行校验计算,且计算结果输出到安全域中,充分保证了度量的安全性,并且被校验的内存的粒度可以达到线程级别。
第一方面,本公开提供了一种用于ARM设备的内存校验的方法,该ARM设备可包括中央处理器和协处理器,所述中央处理器能够操作在普通域和安全域,该方法可包括:通过中央处理器在普通域接收安全监控调用SMC指令;响应于该SMC指令,所述中央处理器从普通域切换到安全域进行操作,并使能该ARM设备的协处理器;通过所述协处理器执行内存校验计算,并将计算结果输出到所述安全域中;和通过所述中央处理器将所述计算结果与用于内存校验的比对数据进行比对,基于所述比对确定内存校验结果,并将所述内存校验结果输出到普通域中。
结合第一方面,在第一方面的一种实现方式中,所述SMC指令包括待校验内存的虚拟地址以及待校验内存的数据字节长度。
结合第一方面及其上述实现方式,在第一方面的另一实现方式中,基于该SMC指令中包括的待校验内存的虚拟地址以及待校验内存的数据字节长度来准备用于内存校验的比对数据。
结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述使能该ARM设备的协处理器包括:对该协处理器进行初始化;配置该协处理器的各个寄存器;和使能该协处理器开始工作。
结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述对该协处理器进行初始化包括:配置该协处理器的配置接口安全域属性寄存器,使得只能由安全域的中央处理器配置该协处理器的各个寄存器;配置该协处理器的直接内存存取DMA读安全属性寄存器,使得该协处理器在普通域中进行读操作;和配置该协处理器的直接内存存取DMA写安全属性寄存器,使得该协处理器在安全域中进行写操作。
结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述SMC指令包括待校验内存的虚拟地址以及待校验内存的数据字节长度,所述配置该协处理器的各个寄存器包括:将该协处理器的读地址寄存器的读地址配置为所述虚拟地址;将该协处理器的写地址寄存器的写地址配置为中央处理器在安全域中分配的虚拟地址;基于所述数据字节长度来配置该协处理器的数据字节长度寄存器;和配置该协处理器的算法模式寄存器。
结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述配置该协处理器的算法模式寄存器包括选择用于内存校验计算的算法。
结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述协处理器执行内存校验计算,并将计算结果输出到所述安全域中包括:该协处理器通过与该中央处理器的内存管理单元(MMU,memory management unit)共享页表来获取与SMC指令包括的待校验内存的虚拟地址对应的物理地址,并且基于所述物理地址和SMC指令包括的待校验内存的数据字节长度在普通域进行读操作来获取待校验内存中的数据;该协处理器基于其中用于内存校验计算的算法,对所获取的待校验内存中的数据执行内存校验计算,并获取计算结果;和该协处理器在安全域进行写操作、将所述计算结果写入中央处理器在安全域中分配的虚拟地址。
第二方面,本公开提供了一种执行内存校验的ARM设备,该ARM设备可包括:中央处理器,配置为操作在普通域和安全域,并且响应于在普通域接收到安全监控调用SMC指令,从普通域切换到安全域进行操作;和通过总线连接到所述中央处理器的协处理器,配置为通过操作在安全域的中央处理器进行使能,在被使能之后执行内存校验计算,并将计算结果输出到所述安全域中;所述中央处理器还被配置为将所述计算结果与用于内存校验的比对数据进行比对,基于所述比对确定内存校验结果,并将所述内存校验结果输出到普通域中。
结合第二方面,在第二方面的一种实现方式中,所述SMC指令包括待校验内存的虚拟地址以及待校验内存的数据字节长度。
结合第二方面及其上述实现方式,在第二方面的另一实现方式中,所述中央处理器基于该SMC指令中包括的待校验内存的虚拟地址以及待校验内存的数据字节长度来准备用于内存校验的比对数据。
结合第二方面及其上述实现方式,在第二方面的另一实现方式中,所述中央处理器使能所述协处理器包括:对该协处理器进行初始化;配置该协处理器的各个寄存器;和使能该协处理器开始工作。
结合第二方面及其上述实现方式,在第二方面的另一实现方式中,所述对该协处理器进行初始化包括:配置该协处理器的配置接口安全域属性寄存器,使得只能由安全域的中央处理器配置该协处理器的各个寄存器;配置该协处理器的直接内存存取DMA读安全属性寄存器,使得该协处理器在普通域中进行读操作;和配置该协处理器的直接内存存取DMA写安全属性寄存器,使得该协处理器在安全域中进行写操作。
结合第二方面及其上述实现方式,在第二方面的另一实现方式中,所述SMC指令包括待校验内存的虚拟地址以及待校验内存的数据字节长度,所述配置该协处理器的各个寄存器包括:将该协处理器的读地址寄存器的读地址配置为所述虚拟地址;将该协处理器的写地址寄存器的写地址配置为中央处理器在安全域中分配的虚拟地址;基于所述数据字节长度来配置该协处理器的数据字节长度寄存器;和配置该协处理器的算法模式寄存器。
结合第二方面及其上述实现方式,在第二方面的另一实现方式中,所述配置该协处理器的算法模式寄存器包括选择用于内存校验计算的算法。
结合第二方面及其上述实现方式,在第二方面的另一实现方式中,所述协处理器执行内存校验计算,并将计算结果输出到所述安全域中包括:该协处理器通过与该中央处理器的内存管理单元共享页表来获取与SMC指令包括的待校验内存的虚拟地址对应的物理地址,并且基于所述物理地址和SMC指令包括的待校验内存的数据字节长度在普通域进行读操作来获取待校验内存中的数据;该协处理器基于其中用于内存校验计算的算法,对所获取的待校验内存中的数据执行内存校验计算,并获取计算结果;和该协处理器在安全域进行写操作、将所述计算结果写入中央处理器在安全域中分配的虚拟地址。
根据本公开实施例的方法和设备以硬件协处理器为基础执行校验,计算效率高于软件实现,具有更高的效率。并且由于计算结果输出到安全域,杜绝了计算结果在普通域输出所导致的安全风险。此外,由于协处理器可与中央处理器的MMU共享页表,因此可进行包括虚拟机上的进程应用到内核和软件监控层(hypervisor)的多种粒度的内存检测。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是图示了根据本公开的实施例所应用于的场景的示意图;
图2是示意性图示了根据本公开实施例的ARM设备的内存校验过程的构思图;
图3是示意性图示了根据本公开实施例的用于ARM设备的内存校验的方法的流程图;
图4是示意性图示了根据本公开实施例的所述用于ARM设备的内存校验的方法中的使能协处理器的过程的流程图;
图5是示意性图示了图4中的使能协处理器的过程中的对协处理器进行初始化的过程的流程图;
图6是示意性图示了图4中的使能协处理器的过程中的配置该协处理器的各个寄存器的过程的流程图;
图7是示意性图示了根据本公开实施例的所述用于ARM设备的内存校验的方法中的通过协处理器执行内存校验计算,并将计算结果输出到安全域中的过程的流程图;
图8是示意性图示了根据本公开的实施例的执行内存校验的ARM设备的框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
软件在运行时的内存动态校验需要频繁的进行哈希等校验算法的操作,运算耗时、效率不高。此外,上述校验算法的计算结果在非安全态中产生,极大地增加了度量的风险,即,如果计算结果被篡改,则后续校验准确性无法保证。并且,如果采用专用芯片进行计算,由于接口速度慢、芯片主频不高,也使动态度量受限。
本公开的至少一个实施例提供了一种用于ARM设备的内存校验的方法和执行内存校验的ARM设备,其基于ARM设备中的硬件协处理器来对内存数据进行校验计算,计算效率高于软件实现,具有更高的效率。并且由于计算结果输出到安全域,杜绝了计算结果在普通域输出所导致的安全风险。此外,由于协处理器可与中央处理器的MMU共享页表,因此可进行包括虚拟机上的进程应用到内核和软件监控层的多种粒度的内存检测。
图1是图示了根据本公开的实施例所应用于的场景100的示意图。在图1中,示出了ARM设备中的三个硬件组件,分别是中央处理器(Central Processing Unit,以下称为CPU)101、根据本公开实施例的通过总线连接到该CPU101的协处理器102和内存。以ARMTrustZone架构为例,内存被划分为普通域内存103和安全域内存104,CPU 101可以在安全域和普通域下进行操作。例如,CPU 101在接收到客户端应用程序105发出的SMC指令之后,可以从普通域切换到安全域进行操作。CPU在访问内存的时候需要通过内存管理单元(Memory Management Unit,以下称为MMU)把虚拟地址转化为物理地址,然后通过总线访问内存。根据本公开实施例的协处理器通过与CPU的MMU共享页表来通过总线访问内存。所述ARM设备例如可以是智能手机、平板电脑、智能电视等,本公开对此不作限定。可以理解,虽然图1中示出的协处理器、内存的数量均为一个,但可以理解,该协处理器、内存的数量可以为多个。
具体的实践示例如下。客户端应用程序105等时间间隔或不定时地请求进行内存校验并发送SMC指令。CPU 101接收到该SMC指令后,从普通域切换到安全域进行操作,并使能协处理器102。协处理器102通过对普通域内存103进行读数据操作和对安全域内存104进行写数据操作,来对内存数据进行校验计算和将计算结果输出到安全域中,具有更高的效率,充分保证了度量的安全性,并且由于协处理器与CPU的MMU共享页表,因此可进行多种粒度的内存检测。
图2是示意性图示了根据本公开实施例的ARM设备的内存校验过程的构思图。如图2所示,在普通域下的客户端应用程序等时间间隔或不定时地请求进行内存校验并发送SMC指令。CPU在接收到该SMC指令后,从普通域切换到安全域进行操作,并使能协处理器。协处理器读取普通域内存中的用于进行内存校验计算的数据,并执行内存校验计算。获得计算结果之后,协处理器将计算结果写入安全域内存中。在安全域操作的CPU将所述计算结果与用于内存校验的比对数据进行比对,基于所述比对确定内存校验结果。此后,CPU切换回普通域进行操作,并将所述内存校验结果输出给普通域下的客户端应用程序。
通过将内存校验计算结果输出到安全域中,充分保证了度量的安全性,并且可进行多种粒度的内存检测,被校验的内存的粒度可以达到线程级别。
图3是示意性图示了根据本公开实施例的用于ARM设备的内存校验的方法300的流程图。该ARM设备包括CPU和协处理器,所述CPU能够操作在普通域和安全域。如图3所示,该方法包括:通过CPU在普通域接收安全监控调用SMC指令(S310);响应于该SMC指令,所述CPU从普通域切换到安全域进行操作,并使能该ARM设备的协处理器(S320);通过所述协处理器执行内存校验计算,并将计算结果输出到所述安全域中(S330);和通过所述CPU将所述计算结果与用于内存校验的比对数据进行比对,基于所述比对确定内存校验结果,并将所述内存校验结果输出到普通域中(S340)。
作为示例,所述SMC指令包括待校验内存的虚拟地址以及待校验内存的数据字节长度。
ARM设备的处理器包括一共4个运行级别,即,EL0、EL1、EL2、EL3。普通域和安全域之间的切换必须经过EL3。SMC指令是ARM设备体系架构下的标准指令,在普通域发起的SMC指令,会通过中断或异常的形式使得ARM设备的处理器切换到EL3运行级,完成从普通域到安全域的切换,通过SMC指令的标准参数传入所要度量的内存的相关信息,包括待校验内存的虚拟地址以及待校验内存的数据字节长度。
根据本公开的一个示例性实现,在普通域下的客户端应用程序可以等时间间隔地请求进行内存校验并发送SMC指令,例如,每隔10秒发送SMC指令。或者,根据本公开的另一个实施例,在普通域下的客户端应用程序可以不定时地请求进行内存校验并发送SMC指令。本申请对此不做限制。
根据本公开的一个示例性实现,协处理器可以根据CPU的MMU中的页表,基于所述待校验内存的虚拟地址来获得待校验内存的物理地址,根据该物理地址以及待校验内存的数据字节长度来获取需要对其执行内存校验计算的数据。
根据本公开的一个示例性实现,协处理器可与CPU的MMU共享页表。根据该页表,协处理器与CPU可以根据相同的虚拟地址到物理地址的映射关系,获得相同的数据,而不发生不同步的现象。另外,由于协处理器与MMU可以共享页表,因此协处理器还可以更加细粒度地对内存区域进行校验。例如,可以进行虚拟机上的应用程序的安全校验,也可对操作***内核中的内存进行校验。
可以理解的是,也可以使用其它方法来获取需要对其执行内存校验计算的数据,本公开对此不做限制。例如,通过单独的指令来传递与需要对其执行内存校验计算的数据的存储位置和长度相关的参数。
根据本公开的一个示例性实现,还可以基于SMC指令中包括的待校验内存的虚拟地址以及待校验内存的数据字节长度来准备用于内存校验的比对数据。用于内存校验的比对数据是用来确定数据完整性是否存在问题的基准数据。将内存校验计算的计算结果与用于内存校验的比对数据进行比对,基于所述比对确定内存校验结果。如果二者相同,则表示数据完整性没有问题,反之,如果二者不相符,则表示数据完整性存在问题。
根据本公开实施例的用于ARM设备的内存校验的方法基于ARM设备中的硬件协处理器来对内存数据进行校验计算,使用硬件对内存进行校验,计算效率高于软件实现,具有更高的效率。并且由于计算结果输出到安全域,杜绝了计算结果在普通域输出所导致的安全风险。此外,由于协处理器可与CPU的MMU共享页表,因此可进行多种粒度的内存检测。
图4是示意性图示了根据本公开实施例的用于ARM设备的内存校验的方法300的步骤S320中使能ARM设备的协处理器的流程图。如图4所示,根据本公开的一个实施例,所述使能该ARM设备的协处理器包括:对该协处理器进行初始化(S321);配置该协处理器的各个寄存器(S322);和使能该协处理器开始工作(S323)。通过上述各个子步骤将ARM设备的协处理器进行使能,使之准备好进行后续的内存校验计算和输出计算结果的操作。
下面将对上述用于ARM设备的内存校验的方法300的子步骤进行更详细的描述。图5是示意性图示了根据本公开实施例的用于ARM设备的内存校验的方法300的子步骤S321的流程图。如图5所示,根据本公开的一个实施例,所述对该协处理器进行初始化包括:配置该协处理器的配置接口安全域属性寄存器,使得只能由安全域的CPU配置该协处理器的各个寄存器(S3211);配置该协处理器的直接内存存取(DMA,direct memory access)读安全属性寄存器,使得该协处理器在普通域中进行读操作(S3212);和配置该协处理器的DMA写安全属性寄存器,使得该协处理器在安全域中进行写操作(S3213)。
根据本公开的一个示例性实现,配置该协处理器的DMA读安全属性寄存器,使得该协处理器在普通域中进行读操作可以包括:配置使得该协处理器的DMA控制器在普通域中进行读操作。
根据本公开的一个示例性实现,配置该协处理器的DMA写安全属性寄存器,使得该协处理器在安全域中进行写操作可以包括:配置使得该协处理器的DMA控制器在普通域中进行写操作。
通过上述子步骤S3211,使得只有在安全域中CPU才有权限配置各个寄存器的值,在普通域中CPU无法更改各个寄存器的值,从而保证了操作的安全性。
通过上述子步骤S3212,使得协处理器能够在普通域中进行读操作,从而可以根据通过传入的指令,获取普通域下的需要对其执行内存校验计算的数据。
通过上述子步骤S3213,使得协处理器只能在安全域中进行写操作,即,硬件计算结果只能在安全域中输出,普通域中的CPU无法对其进行更改,保障了度量的安全性。
图6是示意性图示了根据本公开实施例的用于ARM设备的内存校验的方法300的子步骤S322的流程图。在SMC指令包括待校验内存的虚拟地址以及待校验内存的数据字节长度的情况下,如图6所示,根据本公开的一个实施例,所述配置该协处理器的各个寄存器包括:将该协处理器的读地址寄存器的读地址配置为所述虚拟地址(S3221);将该协处理器的写地址寄存器的写地址配置为CPU在安全域中分配的虚拟地址(S3222);基于所述数据字节长度来配置该协处理器的数据字节长度寄存器(S3223);和配置该协处理器的算法模式寄存器(S3224)。
根据本公开的一个示例性实现,所述配置该协处理器的算法模式寄存器(S3224)可包括选择用于内存校验计算的算法。用于内存校验计算的算法包括但不限于:密码杂凑SM3算法、安全哈希SHA系列算法、哈希消息认证码HMAC算法等。
通过上述子步骤S3221和S3223,使得协处理器能够在普通域中进行读操作,从而进一步获取普通域下的需要对其执行内存校验计算的数据。
通过上述子步骤S3222,使得协处理器能够在安全域中进行写操作,将内存校验计算的结果在安全域中输出,从而保障了度量的安全性。
通过上述子步骤S3224,可以为协处理器选择用于内存校验计算的合适的算法。例如,可以根据用户需求或根据默认***设置选择合适的用于内存校验计算的算法。本公开对如何进行上述选择不进行限制。
图7是示意性图示了根据本公开实施例的用于ARM设备的内存校验的方法300的步骤S330的流程图。如图7所示,所述协处理器执行内存校验计算,并将计算结果输出到所述安全域中可包括:该协处理器通过与该CPU的MMU共享页表来获取与SMC指令包括的待校验内存的虚拟地址对应的物理地址,并且基于所述物理地址和SMC指令包括的待校验内存的数据字节长度在普通域进行读操作来获取待校验内存中的数据(S331);该协处理器基于其中用于内存校验计算的算法,对所获取的待校验内存中的数据执行内存校验计算,并获取计算结果(S332);和该协处理器在安全域进行写操作、将所述计算结果写入CPU在安全域中分配的虚拟地址(S333)。
通过上述子步骤S331,协处理器能够在普通域中进行读操作,通过与MMU共享页表、基于所传入的待校验内存的虚拟地址和待校验内存的数据字节长度,获取普通域下的需要对其执行内存校验计算的数据。
通过上述子步骤S332,通过硬件协处理器来对内存数据进行校验计算,使得计算效率高于软件实现。
通过上述子步骤S333,使得协处理器能够在安全域中进行写操作,将内存校验计算的结果在安全域中输出,从而保障了度量的安全性。
根据本公开实施例的用于ARM设备的内存校验的方法基于ARM设备中的硬件协处理器来对内存数据进行校验计算,计算效率高于软件实现,具有更高的效率。并且由于计算结果输出到安全域,杜绝了计算结果在普通域输出所导致的安全风险。此外,由于协处理器可与CPU的MMU共享页表,因此可进行包括虚拟机上的进程应用到内核和软件监控层的多种粒度的内存检测。
图8是示意性图示了根据本公开的实施例的执行内存校验的ARM设备800的框图。该ARM设备800例如为智能手机、平板电脑、智能电视等。设备800的类型不构成对本公开的限制。如图8所示,该ARM设备包括:CPU(810),配置为操作在普通域和安全域,并且响应于在普通域接收到安全监控调用SMC指令,从普通域切换到安全域进行操作;和通过总线连接到所述CPU的协处理器(820),配置为通过操作在安全域的CPU进行使能,在被使能之后执行内存校验计算,并将计算结果输出到所述安全域中;所述CPU(810)还被配置为将所述计算结果与用于内存校验的比对数据进行比对,基于所述比对确定内存校验结果,并将所述内存校验结果输出到普通域中。
根据本公开的一个示例性实现,所述SMC指令包括待校验内存的虚拟地址以及待校验内存的数据字节长度。
ARM设备的处理器包括一共4个运行级别,即,EL0、EL1、EL2、EL3。普通域和安全域之间的切换必须经过EL3。SMC指令是ARM设备体系架构下的标准指令,在普通域发起的SMC指令,会通过中断或异常的形式使得ARM设备的处理器切换到EL3运行级,完成从普通域到安全域的切换,通过SMC指令的标准参数传入所要度量的内存的相关信息,包括待校验内存的虚拟地址以及待校验内存的数据字节长度。
根据本公开的一个示例性实现,在普通域下的客户端应用程序可以等时间间隔地请求进行内存校验并发送SMC指令,例如,每隔10s发送SMC指令。或者,根据本公开的另一个示例性实现,在普通域下的客户端应用程序可以不定时地请求进行内存校验并发送SMC指令。本申请对此不做限制。
根据本公开的一个示例性实现,协处理器可以根据CPU的MMU中的页表,基于所述待校验内存的虚拟地址来获得待校验内存的物理地址,根据该物理地址以及待校验内存的数据字节长度来获取需要对其执行内存校验计算的数据。
根据本公开的一个示例性实现,协处理器可与CPU的MMU共享页表。根据该页表,协处理器与CPU可以根据相同的虚拟地址到物理地址的映射关系,获得相同的数据,而不发生不同步的现象。另外,由于协处理器与MMU可以共享页表,因此协处理器还可以更加细粒度地对内存区域进行校验。例如,可以进行虚拟机上的应用程序的安全校验,也可对操作***内核中的内存进行校验。
可以理解的是,也可以使用其它方法来获取需要对其执行内存校验计算的数据,本公开对此不做限制。例如,通过单独的指令来传递与需要对其执行内存校验计算的数据的存储位置和长度相关的参数。
根据本公开的一个示例性实现,还可以基于SMC指令中包括的待校验内存的虚拟地址以及待校验内存的数据字节长度来准备用于内存校验的比对数据。用于内存校验的比对数据是用来确定数据完整性是否存在问题的基准数据。将内存校验计算的计算结果与用于内存校验的比对数据进行比对,基于所述比对确定内存校验结果。如果二者相同,则表示数据完整性没有问题,反之,如果二者不相符,则表示数据完整性存在问题。
根据本公开实施例的ARM设备基于其硬件协处理器来对内存数据进行校验计算,使用硬件对内存进行校验,计算效率高于软件实现,具有更高的效率。并且由于计算结果输出到安全域,杜绝了计算结果在普通域输出所导致的安全风险。此外,由于协处理器可与CPU的MMU共享页表,因此可进行多种粒度的内存检测。
根据本公开的又一个示例性实现,安全域的CPU使能协处理器包括:对该协处理器进行初始化;配置该协处理器的各个寄存器;和使能该协处理器开始工作。通过将ARM设备的CPU对协处理器进行使能,使协处理器准备好进行后续的内存校验计算和输出计算结果的操作。
根据本公开的又一个示例性实现,所述对该协处理器进行初始化包括:配置该协处理器的配置接口安全域属性寄存器,使得只能由安全域的CPU配置该协处理器的各个寄存器;配置该协处理器的DMA读安全属性寄存器,使得该协处理器在普通域中进行读操作;和配置该协处理器的DMA写安全属性寄存器,使得该协处理器在安全域中进行写操作。
根据本公开的一个示例性实现,配置该协处理器的DMA读安全属性寄存器,使得该协处理器在普通域中进行读操作可以包括:配置使得该协处理器的DMA控制器在普通域中进行读操作。
根据本公开的一个示例性实现,配置该协处理器的DMA写安全属性寄存器,使得该协处理器在安全域中进行写操作可以包括:配置使得该协处理器的DMA控制器在普通域中进行写操作。
通过配置该协处理器的配置接口安全域属性寄存器,使得只有在安全域中CPU才有权限配置各个寄存器的值,在普通域中CPU无法更改各个寄存器的值,从而保证了操作的安全性。
通过配置该协处理器的DMA读安全属性寄存器,使得协处理器能够在普通域中进行读操作,从而可以根据通过传入的指令,获取普通域下的需要对其执行内存校验计算的数据。
通过配置该协处理器的DMA写安全属性寄存器,使得协处理器只能在安全域中进行写操作,即,硬件计算结果只能在安全域中输出,普通域中的CPU无法对其进行更改,保障了度量的安全性。
根据本公开的又一个示例性实现,所述SMC指令包括待校验内存的虚拟地址以及待校验内存的数据字节长度,所述配置该协处理器的各个寄存器包括:将该协处理器的读地址寄存器的读地址配置为所述虚拟地址;将该协处理器的写地址寄存器的写地址配置为CPU在安全域中分配的虚拟地址;基于所述数据字节长度来配置该协处理器的数据字节长度寄存器;和配置该协处理器的算法模式寄存器。
根据本公开的一个示例性实现,所述配置该协处理器的算法模式寄存器包括选择用于内存校验计算的算法。用于内存校验计算的算法包括但不限于:密码杂凑SM3算法、安全哈希SHA系列算法、哈希消息认证码HMAC算法等。
通过将该协处理器的读地址寄存器的读地址配置为所述虚拟地址和基于所述数据字节长度来配置该协处理器的数据字节长度寄存器,使得协处理器能够在普通域中进行读操作,从而进一步获取普通域下的需要对其执行内存校验计算的数据。
通过将该协处理器的写地址寄存器的写地址配置为CPU在安全域中分配的虚拟地址,使得协处理器能够在安全域中进行写操作,将内存校验计算的结果在安全域中输出,从而保障了度量的安全性。
通过配置该协处理器的算法模式寄存器,可以为协处理器选择用于内存校验计算的合适的算法。例如,可以根据用户需求或根据默认***设置选择合适的用于内存校验计算的算法。本公开对如何进行上述选择不进行限制。
根据本公开的又一个示例性实现,所述协处理器执行内存校验计算,并将计算结果输出到所述安全域中可包括:该协处理器通过与该CPU的MMU共享页表来获取与SMC指令包括的待校验内存的虚拟地址对应的物理地址,并且基于所述物理地址和SMC指令包括的待校验内存的数据字节长度在普通域进行读操作来获取待校验内存中的数据;该协处理器基于其中用于内存校验计算的算法,对所获取的待校验内存中的数据执行内存校验计算,并获取计算结果;和该协处理器在安全域进行写操作、将所述计算结果写入CPU在安全域中分配的虚拟地址。
通过协处理器与CPU的MMU共享页表,协处理器能够基于所传入的待校验内存的虚拟地址和待校验内存的数据字节长度在普通域中进行读操作,获取普通域下的需要对其执行内存校验计算的数据。
通过硬件协处理器来对内存数据进行校验计算,使得计算效率高于软件实现。
通过协处理器在安全域中进行写操作,将内存校验计算的结果在安全域中输出,从而保障了度量的安全性。
根据本公开实施例的ARM设备基于其硬件协处理器来对内存数据进行校验计算,计算效率高于软件实现,具有更高的效率。并且由于计算结果输出到安全域,杜绝了计算结果在普通域输出所导致的安全风险。此外,由于协处理器可与CPU的MMU共享页表,因此可进行多种粒度的内存检测。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,该模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第三等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所附权利要求及其等同物的保护范围为准。

Claims (16)

1.一种用于ARM设备的内存校验的方法,该ARM设备包括中央处理器和协处理器,所述中央处理器能够操作在普通域和安全域,该方法包括:
通过中央处理器在普通域接收安全监控调用SMC指令;
响应于该SMC指令,所述中央处理器从普通域切换到安全域进行操作,并使能该ARM设备的协处理器;
通过所述协处理器执行内存校验计算,并将计算结果输出到所述安全域中,其中所述协处理器通过与所述中央处理器的内存管理单元MMU共享页表来获取与SMC指令包括的待校验内存的虚拟地址对应的物理地址,并且基于所述物理地址和SMC指令包括的待校验内存的数据字节长度在普通域进行读操作来获取待校验内存中的数据;和
通过所述中央处理器将所述计算结果与用于内存校验的比对数据进行比对,基于所述比对确定内存校验结果,并将所述内存校验结果输出到普通域中。
2.根据权利要求1所述的方法,其中,所述SMC指令包括待校验内存的虚拟地址以及待校验内存的数据字节长度。
3.根据权利要求1所述的方法,其中,基于该SMC指令中包括的待校验内存的虚拟地址以及待校验内存的数据字节长度来准备用于内存校验的比对数据。
4.根据权利要求1所述的方法,其中,所述使能该ARM设备的协处理器包括:
对该协处理器进行初始化;
配置该协处理器的各个寄存器;和
使能该协处理器开始工作。
5.根据权利要求4所述的方法,其中,所述对该协处理器进行初始化包括:
配置该协处理器的配置接口安全域属性寄存器,使得只能由安全域的中央处理器配置该协处理器的各个寄存器;
配置该协处理器的直接内存存取DMA读安全属性寄存器,使得该协处理器在普通域中进行读操作;和
配置该协处理器的直接内存存取DMA写安全属性寄存器,使得该协处理器在安全域中进行写操作。
6.根据权利要求4所述的方法,其中,所述SMC指令包括待校验内存的虚拟地址以及待校验内存的数据字节长度,所述配置该协处理器的各个寄存器包括:
将该协处理器的读地址寄存器的读地址配置为所述虚拟地址;
将该协处理器的写地址寄存器的写地址配置为中央处理器在安全域中分配的虚拟地址;
基于所述数据字节长度来配置该协处理器的数据字节长度寄存器;和
配置该协处理器的算法模式寄存器。
7.根据权利要求6所述的方法,其中,所述配置该协处理器的算法模式寄存器包括选择用于内存校验计算的算法。
8.根据权利要求1所述的方法,其中,所述协处理器执行内存校验计算,并将计算结果输出到所述安全域中包括:
该协处理器基于其中用于内存校验计算的算法,对所获取的待校验内存中的数据执行内存校验计算,并获取计算结果;和
该协处理器在安全域进行写操作、将所述计算结果写入中央处理器在安全域中分配的虚拟地址。
9.一种执行内存校验的ARM设备,该ARM设备包括:
中央处理器,配置为操作在普通域和安全域,并且响应于在普通域接收到安全监控调用SMC指令,从普通域切换到安全域进行操作;和
通过总线连接到所述中央处理器的协处理器,配置为通过操作在安全域的中央处理器进行使能,在被使能之后执行内存校验计算,并将计算结果输出到所述安全域中,其中所述协处理器通过与所述中央处理器的内存管理单元MMU共享页表来获取与SMC指令包括的待校验内存的虚拟地址对应的物理地址,并且基于所述物理地址和SMC指令包括的待校验内存的数据字节长度在普通域进行读操作来获取待校验内存中的数据;
所述中央处理器还被配置为将所述计算结果与用于内存校验的比对数据进行比对,基于所述比对确定内存校验结果,并将所述内存校验结果输出到普通域中。
10.根据权利要求9所述的ARM设备,其中,所述SMC指令包括待校验内存的虚拟地址以及待校验内存的数据字节长度。
11.根据权利要求9所述的ARM设备,其中,所述中央处理器基于该SMC指令中包括的待校验内存的虚拟地址以及待校验内存的数据字节长度来准备用于内存校验的比对数据。
12.根据权利要求9所述的ARM设备,其中,所述中央处理器使能所述协处理器包括:
对该协处理器进行初始化;
配置该协处理器的各个寄存器;和
使能该协处理器开始工作。
13.根据权利要求12所述的ARM设备,其中,所述对该协处理器进行初始化包括:
配置该协处理器的配置接口安全域属性寄存器,使得只能由安全域的中央处理器配置该协处理器的各个寄存器;
配置该协处理器的直接内存存取DMA读安全属性寄存器,使得该协处理器在普通域中进行读操作;和
配置该协处理器的直接内存存取DMA写安全属性寄存器,使得该协处理器在安全域中进行写操作。
14.根据权利要求12所述的ARM设备,其中,所述SMC指令包括待校验内存的虚拟地址以及待校验内存的数据字节长度,所述配置该协处理器的各个寄存器包括:
将该协处理器的读地址寄存器的读地址配置为所述虚拟地址;
将该协处理器的写地址寄存器的写地址配置为中央处理器在安全域中分配的虚拟地址;
基于所述数据字节长度来配置该协处理器的数据字节长度寄存器;和
配置该协处理器的算法模式寄存器。
15.根据权利要求14所述的ARM设备,其中,所述配置该协处理器的算法模式寄存器包括选择用于内存校验计算的算法。
16.根据权利要求9所述的ARM设备,其中,所述协处理器执行内存校验计算,并将计算结果输出到所述安全域中包括:
该协处理器基于其中用于内存校验计算的算法,对所获取的待校验内存中的数据执行内存校验计算,并获取计算结果;和
该协处理器在安全域进行写操作、将所述计算结果写入中央处理器在安全域中分配的虚拟地址。
CN201811589122.3A 2018-12-25 2018-12-25 用于arm设备的内存校验方法和执行内存校验的arm设备 Active CN109684126B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811589122.3A CN109684126B (zh) 2018-12-25 2018-12-25 用于arm设备的内存校验方法和执行内存校验的arm设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811589122.3A CN109684126B (zh) 2018-12-25 2018-12-25 用于arm设备的内存校验方法和执行内存校验的arm设备

Publications (2)

Publication Number Publication Date
CN109684126A CN109684126A (zh) 2019-04-26
CN109684126B true CN109684126B (zh) 2022-05-03

Family

ID=66189166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811589122.3A Active CN109684126B (zh) 2018-12-25 2018-12-25 用于arm设备的内存校验方法和执行内存校验的arm设备

Country Status (1)

Country Link
CN (1) CN109684126B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113486355B (zh) * 2021-06-29 2023-03-14 北京紫光展锐通信技术有限公司 一种信息保存装置、方法、通信装置、芯片及其模组设备
CN113704791B (zh) * 2021-09-01 2024-03-15 北京兆芯电子科技有限公司 处理器、以及哈希信息认证码编码方法
CN115310055B (zh) * 2022-06-22 2023-08-11 北京信息科技大学 一种基于双看门狗的软件完整性保护方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080043616A (ko) * 2006-11-14 2008-05-19 삼성전자주식회사 멀티칩 및 그것의 테스트 방법
CN103514414A (zh) * 2012-06-26 2014-01-15 上海盛轩网络科技有限公司 一种基于ARM TrustZone的加密方法及加密***
WO2014021919A2 (en) * 2012-08-03 2014-02-06 North Carolina State University Methods, systems, and computer readable medium for active monitoring, memory protection and integrity verification of target devices
JP2014525105A (ja) * 2011-07-29 2014-09-25 マイクロソフト コーポレーション Arm(登録商標)トラストゾーン実施のためのファームウェア基盤トラステッドプラットフォームモジュール(tpm)
CN104992122A (zh) * 2015-07-20 2015-10-21 武汉大学 一种基于ARM TrustZone的手机私密信息保险箱
WO2016139079A1 (de) * 2015-03-02 2016-09-09 Siemens Ag Österreich Schutz von speicherinhalten eines speichers eines computersystems unter verwendung einer hashfunktion
CN106980794A (zh) * 2017-04-01 2017-07-25 北京元心科技有限公司 基于TrustZone的文件加解密方法、装置及终端设备
CN107194284A (zh) * 2017-06-22 2017-09-22 济南浪潮高新科技投资发展有限公司 一种基于TrustZone隔离用户数据的方法及***
CN107679393A (zh) * 2017-09-12 2018-02-09 中国科学院软件研究所 基于可信执行环境的Android完整性验证方法和装置
CN108197500A (zh) * 2018-01-31 2018-06-22 长安大学 一种基于TrustZone数据安全性和完整性的存储***及方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080043616A (ko) * 2006-11-14 2008-05-19 삼성전자주식회사 멀티칩 및 그것의 테스트 방법
JP2014525105A (ja) * 2011-07-29 2014-09-25 マイクロソフト コーポレーション Arm(登録商標)トラストゾーン実施のためのファームウェア基盤トラステッドプラットフォームモジュール(tpm)
CN103514414A (zh) * 2012-06-26 2014-01-15 上海盛轩网络科技有限公司 一种基于ARM TrustZone的加密方法及加密***
WO2014021919A2 (en) * 2012-08-03 2014-02-06 North Carolina State University Methods, systems, and computer readable medium for active monitoring, memory protection and integrity verification of target devices
WO2016139079A1 (de) * 2015-03-02 2016-09-09 Siemens Ag Österreich Schutz von speicherinhalten eines speichers eines computersystems unter verwendung einer hashfunktion
CN104992122A (zh) * 2015-07-20 2015-10-21 武汉大学 一种基于ARM TrustZone的手机私密信息保险箱
CN106980794A (zh) * 2017-04-01 2017-07-25 北京元心科技有限公司 基于TrustZone的文件加解密方法、装置及终端设备
CN107194284A (zh) * 2017-06-22 2017-09-22 济南浪潮高新科技投资发展有限公司 一种基于TrustZone隔离用户数据的方法及***
CN107679393A (zh) * 2017-09-12 2018-02-09 中国科学院软件研究所 基于可信执行环境的Android完整性验证方法和装置
CN108197500A (zh) * 2018-01-31 2018-06-22 长安大学 一种基于TrustZone数据安全性和完整性的存储***及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于TrustZone的内核完整性保护的研究与实现;夏常钧;《中国优秀硕士学位论文全文数据库》;20180430;全文 *

Also Published As

Publication number Publication date
CN109684126A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
US9003239B2 (en) Monitoring and resolving deadlocks, contention, runaway CPU and other virtual machine production issues
CN104982005B (zh) 实施虚拟化环境中的特权加密服务的计算装置及方法
JP4498735B2 (ja) オペレーティングシステムおよびカスタマイズされた制御プログラムとインタフェースする安全なマシンプラットフォーム
CN109684126B (zh) 用于arm设备的内存校验方法和执行内存校验的arm设备
US10101936B2 (en) Memory access control
US20170324736A1 (en) Securing biometric data through template distribution
JP6293133B2 (ja) 被保護データー集合のネットワーク・ベース管理
CN102509046A (zh) 带有休眠支持的全局有效的测量的操作***发动
US12013929B2 (en) Stack pivot exploit detection and mitigation
EP3935545B1 (en) Incremental decryption and integrity verification of a secure operating system image
US20240126883A1 (en) Measuring containers
US20220405393A1 (en) Perform verification check in response to change in page table base register
CN113568799A (zh) 对物理安全设备的模拟
CN111177703B (zh) 操作***数据完整性的确定方法及装置
CN110046495A (zh) 数据结构测量结果比较
US11251976B2 (en) Data security processing method and terminal thereof, and server
US11886350B2 (en) System memory context determination for integrity monitoring and related techniques
US10191680B2 (en) Memory access control
CN112487414B (zh) 一种进程命令行的获取方法、装置、设备以及存储介质
US20220129593A1 (en) Limited introspection for trusted execution environments
CN110601846B (zh) 一种校验虚拟可信根的***及方法
Chang et al. Research on dynamic integrity measurement model based on memory paging mechanism
Li et al. An extensible secure OS architecture for embedded systems
JP2012208959A (ja) 半導体記憶装置

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 9th Floor, Building C, Gui'an Center, Plot ZD-64, Big Data Science and Technology Innovation City, Gui'an New Area, Guiyang City, Guizhou Province, 550003 (No. 2 on the south side)

Patentee after: Guizhou Huaxin Semiconductor Technology Co.,Ltd.

Address before: 550081 2nd floor, intersection of Qianzhong Avenue and Jinma Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee before: GUIZHOU HUAXINTONG SEMICONDUCTOR TECHNOLOGY Co.,Ltd.