CN110770733A - 用于在混合安全系统中对代码或数据的完整性检查并同时维护保密性的系统和方法 - Google Patents

用于在混合安全系统中对代码或数据的完整性检查并同时维护保密性的系统和方法 Download PDF

Info

Publication number
CN110770733A
CN110770733A CN201880041029.0A CN201880041029A CN110770733A CN 110770733 A CN110770733 A CN 110770733A CN 201880041029 A CN201880041029 A CN 201880041029A CN 110770733 A CN110770733 A CN 110770733A
Authority
CN
China
Prior art keywords
integrity check
code
microcontroller
memory
integrity
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
CN201880041029.0A
Other languages
English (en)
Other versions
CN110770733B (zh
Inventor
L·勒戈菲克
S·加尼尔
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
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 Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of CN110770733A publication Critical patent/CN110770733A/zh
Application granted granted Critical
Publication of CN110770733B publication Critical patent/CN110770733B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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/79Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • 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
    • 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/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供了一种微控制器,该微控制器被配置为提供对存储在微控制器中的代码或数据的安全完整性检查。微控制器可包括处理器、限定微控制器存储空间的存储器设备、限定存储空间中的安全存储区域和非安全存储区域的安全属性单元、指示各种代码在微控制器存储空间内的存储位置的完整性检查表、以及完整性检查单元。完整性检查单元可被配置为接收用于检查存储在微控制器存储空间中的第一段代码的完整性的完整性检查请求,访问指示第一段代码的存储位置的第一完整性检查表,确定第一完整性检查表和第一段代码是否存储在相同的存储区域中;以及至少基于该确定来确定是否要执行所请求的完整性检查。

Description

用于在混合安全系统中对代码或数据的完整性检查并同时维 护保密性的系统和方法
技术领域
本申请要求提交于2017年8月17日的美国临时专利申请62/547,092的优先权,出于所有目的,该申请的全部内容据此以引用方式并入。
技术领域
本公开涉及数据安全性和数据完整性,并且更具体地涉及用于检查混合安全系统(例如微控制器)中的代码或数据的完整性并同时维护保密性的系统和方法。
背景技术
电子设备通常包含加载有来自多个不同方的代码(例如,软件或其他代码)和/或数据(例如,库)的存储区域。在某些情况下,一方或多方可能需要对由该方或另一方(例如,先前加载其相应代码/数据的一方)加载的代码/数据执行完整性检查。例如,对于容易出错的存储器(诸如闪存存储器),例如,可能需要或建议在产品生命周期的若干步骤时(例如,在生产周期结束时)进行完整性检查,以确保非易失性存储器不被损坏,和/或在字段中使用(例如,用于任务关键设备)。然而,允许一方对其加载在设备上的相应软件图像执行完整性检查可能会损害在设备上加载有图像的其他方的知识产权。此外,在安全系统中,包含安全代码或数据的存储器通常无法从系统外部或通过无特权的程序读取,并且因此通常无法直接验证数据。
如本文所用,“存储区域”可包括电子设备(例如,微控制器)的存储器设备(例如,ROM、RAM、闪存存储器设备等)的部分或全部存储区域。在相应电子设备(例如,微控制器)的至少一个存储区域中加载代码和/或数据的每一方在本文中被称为“代码提供方”或“提供方”,并且加载在相应电子设备的存储区域中的代码和/或数据在本文中通常被称为“提供方代码”,其在被加载在相应电子设备的相应存储器设备中之后可被称为“加载代码”。
提供一个常见情况的示例,假设提供方A将预先编程有专有软件库(提供方代码)的微控制器传送给另一提供方(提供方B),该提供方B使用该库来制作其自己的最终传送给最终用户的产品。另外,假设提供方A设置微控制器的安全属性以防止对包含其库的存储区域进行任何读取。例如,提供方A可将包含其库的微控制器的存储区域设置为安全的,而将微控制器的剩余存储区域设置为(或默认为)非安全的,从而限定“混合安全性”系统。提供方B可能希望检查来自提供方A的预编程代码的完整性,而不访问数据。类似地,最终用户可能希望检查系统的所有部分的完整性,而不需要访问实际的存储内容。然而,当前系统通常不允许提供方B或最终用户在不损害提供方A的知识产权的情况下执行此类完整性检查。
如本文所用,“混合安全”系统包含安全和非安全的项,例如安全和非安全CPU的混合和/或安全存储区域和非安全存储区域的混合。例如,混合安全微控制器(MCU)可包括安全存储区域和非安全存储区域两者,例如,根据由系统、由代码提供方或由一些其他实体所限定的静态或动态安全设置。
图1示出了体现为微控制器(MCU)10的示例性混合安全系统,其包含CPU12;存储器设备14,该存储器设备包括安全ROM 14A、RAM 14B和闪存存储器14C;和安全属性单元(SAU)16。示例MCU 10可由多个代码提供方编程,并且安全性也可定制,如下所述。
MCU存储器设备10的存储空间可由安全属性单元16划分为存储区域。安全属性单元16可例如通过限定每个存储区域的边界、存储区域号和针对每个存储区域的一个或多个安全属性来存储限定安全存储区域和非安全存储区域的安全属性。在一些实施方案中,例如,在图1所示的实施方案中,安全属性可由一个或多个代码提供方(例如,用于将其代码加载在设备存储器中的第一提供方)来限定,并且因此将此类安全属性指示为图1中的用户限定的安全属性20。
安全属性单元16可为硬件模块或者可由软件来实现。CPU 12可具有若干安全执行级别,使得CPU 12可仅访问存储器14的某些存储区域。该限制可由安全属性单元16来执行。
如上所述,安全属性单元16可由代码提供方编程设备10配置。在典型场景中,每个代码提供方将对一个或多个存储器设备14的一个或多个存储区域进行编程,然后设置用户限定的安全属性20以防止另一提供方访问这些存储区域。
图2示出了由示例性用户限定的安全属性20所限定的示例MCU 10的安全设置的示例性映射。如图所示,用户限定的安全属性20限定了针对多个存储区域中的每个存储区域的地址边界30、针对每个存储区域的区域ID 32(在该示例中,为区域ID 0至6)以及用于访问每个相应存储区域的所需CPU安全级别34。在该示例中,安全属性20指定(a)ROM 14A的监管方(最高)安全级别,(b)闪存14C内的一个安全区域和三个非安全区域,以及(c)RAM 14B内的一个安全区域和一个非安全区域。对于ROM 14A的“监管”安全级别,当CPU 12执行安全ROM 14A中的代码时,该安全级别允许访问MCU 10的所有存储地址空间,因此安全ROM 14A中的此类代码可被称为“监管方”代码。
例如,如上所述,常规系统可具有某些缺点或限制。例如,设备的安全分区可由各个代码提供方或设备的其他用户来改变,这可能会使设备容易受到攻击。在至少一些情况下,用于检查由一个或多个提供方加载的提供方代码的完整性的完整性检查过程无法依赖于固定地址或较大规模的完整性检查(即,检查包含若干图像的整个闪存存储器);因此,待检查的数据区域的地址和大小必须是可配置的。但是,由于目标数据的地址和大小可以改变,因此存在数据泄漏攻击的可能性。具体地,通过对非常小的区域使用连续的完整性检查请求,恶意用户可猜测位于区域中由于安全限制使其无法直接访问的数据。(例如,通过暴力攻击,在此情况下预期的循环冗余校验(CRC)被改变,直到存在匹配)。
现在参考图3和图4来讨论示例性常规场景。
如上所述,安全属性单元(SAU)16中的用户限定的安全属性20限定了MCU 10的哪些存储区域是安全的以及哪些存储区域是不安全的。这些安全属性可由第一代码提供方(提供方A)作出。例如,当MCU 10被传送至提供方A时,能够从外部调试器/程序器完全访问存储器设备14。提供方A可将其提供方代码(例如,软件和/或数据)加载到MCU 10的一个或多个存储器设备14中的一个或多个存储区域中,设置针对MCU的安全属性20(例如,将包含提供方A的代码的存储区域设置为安全的),并启用安全实施。这样,提供方A可防止读取其在指定的安全存储区域内的加载代码。
图3示出了根据示例性常规场景由提供方A作出的安全属性20的示例。在一个示例中,提供方A可将其提供方代码(例如,软件库)加载到闪存存储器14C的区域中并将该区域设置为安全的,如图4所示。然后可将MCU传送给另一提供方(提供方B),该提供方可使用提供方A的已加载代码(软件库)来进一步使用或开发MCU。
参考图4,提供方B可希望确保MCU 10的所有存储器14被正确编程并且不存在错误,包括由提供方A先前加载的图像。提供方B可将其自身的代码存储在一个或多个存储区域中。例如,如图4所示,提供方B可将软件图像存储在闪存存储器14C的非安全存储区域中。
如上所述,常规方法可能存在问题。首先,安全分区可由代码提供方和/或设备的其他用户来改变。完整性检查无法依赖于固定地址;相反,待检查的数据区域的地址和大小必须是可配置的以处理不同的开发或使用情况。然而,如上所述,允许各方配置或改变存储在设备中的安全代码和非安全代码的地址和大小存在数据泄漏攻击的风险。
发明内容
本公开的实施方案提供了用于存储和执行电子设备(例如混合安全微控制器)中的代码的完整性检查并同时维护代码的保密性的系统和方法。
一个实施方案提供了一种微控制器,该微控制器被配置为提供对存储在微控制器中的代码或数据的安全完整性检查。微控制器可包括处理器;一个或多个存储器设备,该一个或多个存储器设备共同限定微控制器的存储空间,该存储空间包括多个存储区域;存储多个存储区域中的每个存储区域的安全属性的安全属性单元,该安全属性限定了至少一个安全存储区域和至少一个非安全存储区域;多个完整性检查表,每个完整性检查表存储在多个存储区域中的一个存储区域中并且包括指示相应代码段在微控制器的存储空间内的存储位置的信息;和完整性检查单元。完整性检查单元可具有对多个存储区域的访问权限并且可被配置为:接收用于检查存储在微控制器的存储空间中的第一段代码的完整性的完整性检查请求;基于所接收的完整性检查请求,访问多个完整性检查表中的第一完整性检查表,该第一完整性检查表指示第一段代码的存储位置;确定第一完整性检查表和第一段代码是否存储在多个存储区域中的相同存储区域中;至少基于对第一完整性检查表和第一段代码是否存储在相同存储区域中的确定来确定是否要执行所请求的完整性检查;并且如果确定要执行所请求的完整性检查,则访问并执行第一段代码的完整性检查。
在一个实施方案中,完整性检查单元对微控制器的多个存储区域中的所有存储区域具有完全访问权限。
在一个实施方案中,完整性检查单元被进一步配置为基于第一完整性检查表来确定其中存储有第一段代码的特定存储区域;从安全属性单元中访问特定存储区域的安全属性;并且至少基于(a)对第一完整性检查表和第一段代码是否存储在相同存储区域中的确定,和(b)特定存储区域的安全属性来确定是否要执行所请求的完整性检查。
在一个实施方案中,完整性检查单元被体现为除一个或多个存储器设备之外提供的硬件单元。
在一个实施方案中,完整性检查单元由执行存储在微控制器的安全只读存储器(ROM)中的代码的处理器来体现。
在一个实施方案中,完整性检查单元被进一步配置为,如果确定不执行所请求的完整性检查,则向完整性检查请求的请求方发送指示拒绝所请求的完整性检查的原因的错误通知。
在一个实施方案中,对应于每个相应代码段的完整性检查表包括标头、指示相应代码段的存储地址的信息、指示相应代码段的大小的信息、以及指示所述相应代码段的完整性检查的预期结果的信息。
在一个实施方案中,指示相应代码段的完整性检查的预期结果的信息包括散列值或循环冗余校验(CRC)值。
在一个实施方案中,多个存储区域中的至少一个存储区域的安全属性能够由将至少一段代码加载在微控制器的至少一个存储器设备中的代码提供方配置或调节。
在一个实施方案中,多个存储区域中的至少一个存储区域的边界能够由将至少一段代码加载在微控制器的至少一个存储器设备中的代码提供方配置或调节。
另一个实施方案提供了一种用于提供对存储在微控制器中的代码的安全完整性检查的方法,该微控制器包括处理器和共同限定微控制器的存储空间的一个或多个存储器设备,该存储空间包括多个存储区域。该方法可包括在微控制器的安全属性单元中存储多个存储区域中的每个存储区域的安全属性,该安全属性限定至少一个安全存储区域和至少一个非安全存储区域;将多个完整性检查表存储在微控制器的存储空间中,其中每个完整性检查表存储在多个存储区域中的一个存储区域中并且包括指示相应代码段在微控制器的存储空间内的存储位置的信息;以及由微控制器的完整性检查单元执行完整性检查管理过程。完整性检查管理过程可包括:接收用于检查存储在微控制器的存储空间中的第一段代码的完整性的完整性检查请求;基于所接收的完整性检查请求,访问多个完整性检查表中的第一完整性检查表,该第一完整性检查表指示第一段代码的存储位置;确定第一完整性检查表和第一段代码是否存储在多个存储区域中的相同存储区域中;至少基于对第一完整性检查表和第一段代码是否存储在相同存储区域中的确定来确定是否要执行所请求的完整性检查;以及如果确定要执行所请求的完整性检查,则访问并执行第一段代码的完整性检查。
在该方法的一个实施方案中,完整性检查单元对微控制器的多个存储区域中的所有存储区域具有完全访问权限。
在该方法的一个实施方案中,由微控制器的完整性检查单元来执行完整性检查管理过程,该完整性检查管理过程包括基于第一完整性检查表来确定其中存储有第一段代码的特定存储区域;从安全属性单元中访问特定存储区域的安全属性;并且至少基于(a)对第一完整性检查表和第一段代码是否存储在相同存储区域中的确定,和(b)特定存储区域的安全属性来确定是否要执行所请求的完整性检查。
在该方法的一个实施方案中,被配置为执行完整性检查管理过程的完整性检查单元包括除一个或多个存储器设备之外提供的硬件单元。
在该方法的一个实施方案中,由完整性检查单元执行完整性检查管理过程包括微控制器的处理器执行存储在微控制器的安全只读存储器(ROM)中的代码。
在该方法的一个实施方案中,由微控制器的完整性检查单元执行完整性检查管理过程包括确定不执行所请求的完整性检查,并且作为响应,向完整性检查请求的请求方发送指示拒绝所请求的完整性检查的原因的错误通知。
在该方法的一个实施方案中,对应于每个相应代码段的完整性检查表包括标头、指示相应代码段的存储地址的信息、指示相应代码段的大小的信息、以及指示所述相应代码段的完整性检查的预期结果的信息。
在该方法的一个实施方案中,指示相应代码段的完整性检查的预期结果的信息包括散列值或循环冗余校验(CRC)值。
在该方法的一个实施方案中,该方法还包括基于来自将至少一段代码加载在微控制器的至少一个存储器设备中的代码提供方的输入来配置或调节多个存储区域中的至少一个存储区域的安全属性。
在该方法的一个实施方案中,该方法还包括基于来自将至少一段代码加载在微控制器的至少一个存储器设备中的代码提供方的输入来配置或调节多个存储区域中的至少一个存储区域的边界。
附图说明
以下参考附图讨论了示例性实施方案,其中:
图1示出了示例性混合安全微控制器。
图2示出了由示例性用户限定的安全属性所限定的图1的示例性MCU的安全设置的示例性映射。
图3示出了由MCU的第一代码提供方(提供方A)作出的示例性安全属性。
图4示出了由图3的MCU中的两个代码提供方(提供方A和提供方B)加载的软件图像的相应存储位置。
图5示出了根据示例性实施方案的被配置为安全地存储和执行对电子设备中的加载的提供方代码的完整性检查,例如从而维护加载的提供方代码的保密性的示例性微控制器。
图6示出了根据示例性实施方案的关于三个示例性测试案例的完整性检查单元的示例性实施方案的应用。
图7示出了根据示例性实施方案的可由完整性检查单元针对完整性检查单元的软件和硬件具体实施执行的示例完整性检查例程。
具体实施方式
本发明的实施方案提供了系统和方法,该系统和方法用于存储和执行对电子设备(例如,具有混合安全存储空间的微控制器)中的加载的提供方代码的完整性检查,并同时维护所加载的提供方代码的保密性,例如从而保护具有加载到电子设备上的代码的每个代码提供方的知识产权(例如,软件IP)。一些实施方案可解决上述常规技术的一个或多个问题或限制。
图5示出了根据示例性实施方案的被配置为安全地存储和执行对电子设备中的加载的提供方代码的完整性检查,例如从而维护所加载的提供方代码的保密性的示例性微控制器100。在该示例中,微控制器100可包括CPU 112、存储器设备114(包括ROM 114A、ROM114B和闪存存储器设备114C)、包括用户限定的安全属性120的安全属性单元116、以及用于对加载在微控制器100的存储空间中的提供方代码段执行完整性检查的完整性检查单元130。完整性检查单元130可充当非安全世界和安全世界之间的可信中介。
如下文更详述的,完整性检查单元130可通过硬件、软件、固件或它们的任何组合体现在MCU 100中。例如,完整性检查单元130可通过在具有类似特权的MCU 100的安全/监管方ROM或硬件设备中执行代码的CPU 112来体现。图5示出了使用标记为“软件完整性检查单元”和“硬件完整性检查单元”的虚线框的完整性检查单元130的这两个示例性具体实施。
在一些实施方案中,完整性检查单元130能够被安全程序和非安全程序或调试器访问,例如,以允许安全软件/调试器和非安全程序两者检查加载在MCU100上的提供方代码的完整性。对于完整性检查单元130的软件具体实施,可通过单元130中的应用编程接口(API)来提供对完整性检查单元130的访问。对于完整性检查单元130的硬件具体实施,可使用寄存器来提供访问。
此外,在一些实施方案中,完整性检查单元130被配置有对MCU 100的完整存储器映射(包括安全和非安全存储区域)的完全访问权限。这可允许完整性检查单元130读取存储在MCU 100的存储器中的完整性检查表(下文讨论)以及待检查的加载代码,以便例如通过计算散列值或CRC来执行对加载代码的完整性检查。对于完整性检查单元130的软件具体实施,可使用能够从安全和非安全代码调用的安全功能来提供对MCU 100的完整存储器映射的完全访问权限。对于完整性检查单元130的硬件具体实施,可使用能够从安全和非安全软件访问的一组寄存器来提供对MCU 100的完整存储器映射的完全访问权限。
如上所述,完整性检查单元130可通过硬件、软件、固件或它们的任何组合体现在MCU 100中。例如,完整性检查单元130可使用位于MCU 10的安全部分中的软件程序(例如,具有最高(例如,监管方)安全级别的安全ROM)来体现,例如,如图5中由位于ROM 14A中的标记为“软件完整性检查单元”的虚线框所示。可从设备的安全图像和非安全图像中调用软件程序。即使在设备上强制执行了安全性(最低调试访问级别),也可以从外部调试器调用软件程序。由于在该实施方案中程序位于安全存储器中,因此CPU 112具有足够的权限来访问MCU 100的整个存储器映射,并且可向安全属性单元116请求存储区域ID。
在其他实施方案中,完整性检查单元130可使用映射在系统中的专用硬件模块来体现,例如,如图5中由标记为“硬件完整性检查单元”的虚线框所示。硬件模块可包括能够从安全和非安全软件以及外部调试器访问的寄存器,包括例如TABLEADDRESS寄存器和状态寄存器。在一个实施方案中,硬件模块包含具有对MCU 100的整个存储器映射和安全属性单元116的访问权限的有限状态机(FSM)。
在一些实施方案中,完整性检查单元130可利用存储在MCU 100的相应存储区域中的完整性检查表200来实现用于对包含加载的提供方代码的目标存储器地址进行完整性检查的安全过程。每个完整性检查表200可指向相应的一段提供方代码并且可包括由相应提供方限定的完整性检查参数,从而适应可变存储区域边界和/或安全属性。用于相应的一段提供方代码的完整性检查表200可由相应的提供方放置在需要完整性检查的存储区域中。图5示出了存储在闪存存储器114C中的示例性完整性检查表200A和200B,以及存储在RAM114B中的示例性完整性检查表200C。
完整性检查单元130可使用对应于相应的一段加载代码的完整性检查表200来执行代码的完整性检查。在一个实施方案中,对于存储在目标存储区域中的相应的一段提供方代码(其可包含在单个存储器区域内或与单个存储区域共延,或者可完全或部分地跨多个存储区域延伸),对应的完整性检查表200可至少包括以下项:
(a)标头,其可由完整性检查单元130用于验证完整性检查表的有效性;
(b)指示包含待检查的提供方代码的目标存储区域的起始存储地址的信息;
(c)指示包含待检查的提供方代码的目标存储区域的大小的信息;以及
(d)指示检查提供方代码的预期结果的信息,例如,目标存储区域的期望散列值或CRC值。
表1示出了根据一个实施方案的示例性完整性检查表。
表1
Figure BDA0002325933570000101
请求实体可向完整性检查单元130提交完整性检查请求,以检查存储在相应存储区域中的特定代码段。完整性检查请求可指示对应完整性检查表200的存储地址,使得完整性检查单元130可访问完整性检查表200以实现完整性检查。由于检查是由享有特权的进程执行的,因此机密数据不会暴露给无特权的用户或程序。
完整性检查单元30可分析一个或多个因素并采用一个或多个规则来确定在接收到对加载在MCU 100的存储区域中的一段提供方代码的相应完整性检查请求时是否要执行所请求的完整性检查。
例如,在接收到对目标代码段的完整性检查请求时,完整性检查单元30可确定目标代码段和与目标代码对应的完整性检查表200是否位于相同的存储区域中。在一个实施方案中,完整性检查单元30确定目标代码段是否完全包含在完整性检查表200所在的相同存储器区域内。
在一些实施方案中,完整性检查请求可指示完整性检查表200的存储地址,该存储地址继而可指示目标存储区域(即,包含目标代码的存储区域)的起始地址和大小,使得完整性检查单元30可确定目标代码和完整性检查表200是否位于相同的存储区域中。
又如,完整性检查单元30可确定目标存储区域(即,目标代码所在的存储区域)的安全属性。
完整性检查单元30可使用这些因素中的一者或两者,即,(a)目标代码段和与目标代码对应的完整性检查表200是否位于相同的存储区域和/或(b)目标存储区域的安全属性,和/或作为用于确定是否要执行所请求的完整性检查的输入因素的一个或多个其他因素。完整性检查单元30可利用这些因素中的一者或两者来防止或帮助防止对目标存储区域的数据猜测攻击。
在第一示例性实施方案中,只有当目标代码段和与目标代码对应的完整性检查表200位于相同的存储区域中时,完整性检查单元30才执行所请求的完整性检查,而不论目标存储区域的安全属性如何。
在第二示例性实施方案中,如果(a)目标存储区域的安全级别(例如,如由用户限定的安全属性120所限定)低于限定的安全级别,例如,如果安全属性120将目标存储区域限定为非安全的,或(b)目标代码段和与目标代码对应的完整性检查表200位于相同的存储区域中,则完整性检查单元30将执行所请求的完整性检查。因此,如果目标代码位于安全存储区域中,则只有当目标代码位于与完整性检查表200相同的存储区域中时,完整性检查单元30才对目标代码执行所请求的完整性检查。
图6示出了以上讨论的第一示例性实施方案和第二示例性实施方案相对于三个示例性案例的应用。图6示出了示例MCU的闪存存储器设备14C,其中闪存存储器14C包括具有区域ID 1、2、3和4的四个限定的存储区域。在该示例中,用户限定的安全属性120将区域1指定为安全存储区域,并且将区域2、3和4指定为非安全存储区域。
图示的示例示出了三个完整性检查表200A、200B和200C,其针对闪存存储器14C的存储区域内的三个不同存储区域(包含待检查的目标代码)。由每个相应的完整性检查表所指定的目标存储区由从每个完整性检查表延伸的弯曲箭头指示。因此,案例1涉及存储在非安全存储区域4中并且以同一存储区域4内的存储区域为目标的完整性检查表200A;案例2涉及存储在非安全存储区域2中并且以安全存储区域1内的存储区域为目标的完整性检查表200B;并且案例3涉及存储在安全存储区域1中并且以非安全存储区域3内的存储区域为目标的完整性检查表200C。
首先,相对于上述示例性第一实施方案对案例1-3进行分析,其中只有当目标代码段和与目标代码对应的完整性检查表200位于相同的存储区域中时,完整性检查单元30才将执行所请求的完整性检查,而不论目标存储区域的安全属性如何。根据示例性第一实施方案,案例1是有效的,并且完整性检查单元30将在接收到与表200A相关联的完整性检查请求时继续进行完整性检查。案例2是禁止的,因为表200B的目标存储区域与表200B在不同的存储区域中,由此使得完整性检查单元30将不对与表200B相关联的完整性检查请求进行完整性检查,而是将可指示拒绝该请求的原因的错误代码或其他通知返回至请求方。案例3也是禁止的,因为表200C的目标存储区域与表200C在不同的存储区域中,由此使得完整性检查单元30将不对与表200C相关联的完整性检查请求进行完整性检查,而是将错误代码或其他通知返回至请求方。
其次,相对于上述示例性第二实施方案对案例1-3进行分析,其中如果(a)目标存储区域的安全级别(例如,如由用户限定的安全属性120所限定)低于限定的安全级别,例如,如果安全属性120将目标存储区域限定为非安全的,或(b)目标代码段和与目标代码对应的完整性检查表200位于相同的存储区域中,则完整性检查单元30将执行所请求的完整性检查。根据示例性第二实施方案,案例1是有效的,并且完整性检查单元30将在接收到与表200A相关联的完整性检查请求时继续进行完整性检查。案例2是禁止的,因为表200B的目标存储区域与表200B在不同的存储区域中,并且目标存储区域位于安全存储区域(区域1)中,由此使得完整性检查单元30将不对与表200B相关联的完整性检查请求进行完整性检查,而是将可指示拒绝该请求的原因的错误代码或其他通知返回至请求方。案例3是有效的,因为表200C的目标存储区域位于非安全存储区域(区域3)中,因此完整性检查单元30将在接收到与表200C相关联的完整性检查请求时继续进行完整性检查。
图7示出了根据示例性实施方案的可由完整性检查单元130针对完整性检查单元130的软件和硬件具体实施执行的示例完整性检查例程300。
在步骤302:开始处,完整性检查单元130接收来自软件(安全或非安全)或来自外部调试器的完整性检查请求,其中该请求指定与待检查的存储区域(包含一段提供方代码)相对应的完整性检查表的地址。
在步骤304:检查表标头处,完整性检查单元130可验证表标头的有效性,例如,以确保所指向的存储器为正确的表。此检查旨在使过程万无一失。即,如果提供了不正确的地址(例如,包含随机数据),则该过程报告错误而不是在错误区域上计算CRC并报告失败的完整性检查。
在步骤306:检查表目标范围处,完整性检查单元130可确定目标存储区域是否完全位于与完整性检查表相同的存储区域中。例如,为了验证目标存储区域是否在相同的区域中,ICU可向安全属性单元请求起始地址和结束地址(起始+大小)的区域ID或安全属性。
如果目标存储区域与完整性检查表不完全位于相同的存储区域中,则完整性检查单元130确定不继续进行完整性检查并将错误代码返回至请求方,如步骤308:返回错误处所指示的,并且完整性检查单元130可返回至在316处所指示的空闲状态。
在步骤310:计算散列值处,完整性检查单元130可计算来自目标存储区域的散列值。
在步骤312:验证散列值处,完整性检查单元130可将计算出的散列值与完整性检查表中所指示的预期散列值结果进行比较。
在步骤314:返回结果处,完整性检查单元130可基于310处的检查将结果(例如,指示有效的检查或错误)返回至请求方。
在步骤316:空闲处,完整性检查单元130可等待下一个完整性检查请求。
表2示出了针对上述各种步骤的用于完整性检查单元130的示例性基于软件的具体实施和示例性基于硬件的具体实施两者的示例性具体实施。
表2.图7中所示的例程300的步骤的示例性具体实施
Figure BDA0002325933570000141
上文公开的系统和方法可体现在任何合适的电子设备(包括例如安全MCU和/或MPU)中或由任何合适的电子设备使用。例如,具体示例包括ARM Trustzone-M MCU,诸如SAML10和SAML11。然而,所公开的发明可体现在存储来自不同提供方的数据的任何其他系统中或由任何其他系统使用,其中数据保密性是关注问题。

Claims (20)

1.一种微控制器,所述微控制器被配置为提供对存储在所述微控制器中的代码或数据的安全完整性检查,所述微控制器包括:
处理器;
一个或多个存储器设备,所述一个或多个存储器设备共同限定所述微控制器的存储空间,所述存储空间包括多个存储区域;
安全属性单元,所述安全属性单元被配置为存储所述多个存储区域中的每个存储区域的安全属性,所述安全属性限定至少一个安全存储区域和至少一个非安全存储区域;
多个完整性检查表,每个完整性检查表存储在所述多个存储区域中的一个存储区域中并且包括指示相应代码段在所述微控制器的所述存储空间内的存储位置的信息;
完整性检查单元,所述完整性检查单元被配置为访问所述多个存储区域并且被配置为:
接收用于检查存储在所述微控制器的所述存储空间中的第一段代码的完整性的完整性检查请求;
基于所接收的完整性检查请求,访问所述多个完整性检查表中的第一完整性检查表,所述第一完整性检查表指示所述第一段代码的存储位置;
确定所述第一完整性检查表和所述第一段代码是否存储在所述多个存储区域中的相同存储区域中;
至少基于对所述第一完整性检查表和所述第一段代码是否存储在相同存储区域中的确定来确定是否要执行所请求的完整性检查;并且
如果确定要执行所请求的完整性检查,则访问并执行所述第一段代码的完整性检查。
2.根据权利要求1所述的微控制器,其特征在于,所述完整性检查单元对所述微控制器的所述多个存储区域中的所有存储区域具有完全访问权限。
3.根据权利要求1至2中任一项所述的微控制器,其特征在于,所述完整性检查单元被进一步配置为:
基于所述第一完整性检查表来确定其中存储有所述第一段代码的特定存储区域;
从所述安全属性单元访问所述特定存储区域的安全属性;并且
至少基于(a)对所述第一完整性检查表和所述第一段代码是否存储在相同存储区域中的确定,和(b)所述特定存储区域的所述安全属性来确定是否要执行所请求的完整性检查。
4.根据权利要求1至3中任一项所述的微控制器,其特征在于,所述完整性检查单元被体现为除了所述一个或多个存储器设备之外提供的硬件设备。
5.根据权利要求1至3中任一项所述的微控制器,其特征在于,所述完整性检查单元由执行存储在所述微控制器的安全只读存储器(ROM)中的代码的所述处理器体现。
6.根据权利要求1至5中任一项所述的微控制器,其特征在于,所述完整性检查单元被进一步配置为,如果确定不执行所请求的完整性检查,则向所述完整性检查请求的请求方发送指示拒绝所请求的完整性检查的原因的错误通知。
7.根据权利要求1至6中任一项所述的微控制器,其特征在于,对应于每个相应代码段的所述完整性检查表包括标头、指示所述相应代码段的存储地址的信息、指示所述相应代码段的大小的信息、以及指示所述相应代码段的完整性检查的预期结果的信息。
8.根据权利要求1至7中任一项所述的微控制器,其特征在于,指示所述相应代码段的完整性检查的预期结果的所述信息包括散列值或循环冗余校验(CRC)值。
9.根据权利要求1至8中任一项所述的微控制器,其特征在于,所述多个存储区域中的至少一个存储区域的所述安全属性能够由将至少一段代码加载在所述微控制器的至少一个存储器设备中的代码提供方配置或调节。
10.根据权利要求1至9中任一项所述的微控制器,其特征在于,所述多个存储区域中的至少一个存储区域的边界能够由将至少一段代码加载在所述微控制器的至少一个存储器设备中的代码提供方配置或调节。
11.一种用于提供对存储在微控制器中的代码的安全完整性检查的方法,所述微控制器包括处理器和共同限定所述微控制器的存储空间的一个或多个存储器设备,所述存储空间包括多个存储区域,所述方法包括:
在所述微控制器的安全属性单元中存储所述多个存储区域中的每个存储区域的安全属性,所述安全属性限定至少一个安全存储区域和至少一个非安全存储区域;
将多个完整性检查表存储在所述微控制器的所述存储空间中,其中每个完整性检查表存储在所述多个存储区域中的一个存储区域中并且包括指示相应代码段在所述微控制器的所述存储空间内的存储位置的信息;
由所述微控制器的完整性检查单元执行完整性检查管理过程,包括:
接收用于检查存储在所述微控制器的所述存储空间中的第一段代码的完整性的完整性检查请求;
基于所接收的完整性检查请求,访问所述多个完整性检查表中的第一完整性检查表,所述第一完整性检查表指示所述第一段代码的存储位置;
确定所述第一完整性检查表和所述第一段代码是否存储在所述多个存储区域中的相同存储区域中;
至少基于对所述第一完整性检查表和所述第一段代码是否存储在相同存储区域中的确定来确定是否要执行所请求的完整性检查;以及
如果确定要执行所请求的完整性检查,则访问并执行所述第一段代码的完整性检查。
12.根据权利要求0所述的方法,其特征在于,所述完整性检查单元对所述微控制器的所述多个存储区域中的所有存储区域具有完全访问权限。
13.根据权利要求11至12中任一项所述的方法,其特征在于,由所述微控制器的所述完整性检查单元执行所述完整性检查管理过程包括:
基于所述第一完整性检查表来确定其中存储有所述第一段代码的特定存储区域;
从所述安全属性单元访问所述特定存储区域的安全属性;以及
至少基于(a)对所述第一完整性检查表和所述第一段代码是否存储在相同存储区域中的确定,和(b)所述特定存储区域的所述安全属性来确定是否要执行所请求的完整性检查。
14.根据权利要求11至13中任一项所述的方法,其特征在于,被配置为执行所述完整性检查管理过程的所述完整性检查单元包括除所述一个或多个存储器设备之外提供的硬件单元。
15.根据权利要求11至14中任一项所述的方法,其特征在于,由所述完整性检查单元执行所述完整性检查管理过程包括所述微控制器的所述处理器执行存储在所述微控制器的安全只读存储器(ROM)中的代码。
16.根据权利要求11至15中任一项所述的方法,其特征在于,由所述微控制器的所述完整性检查单元执行所述完整性检查管理过程包括确定不执行所请求的完整性检查,并且作为响应,向所述完整性检查请求的请求方发送指示拒绝所请求的完整性检查的原因的错误通知。
17.根据权利要求11至16中任一项所述的方法,其特征在于,对应于每个相应代码段的所述完整性检查表包括标头、指示所述相应代码段的存储地址的信息、指示所述相应代码段的大小的信息、以及指示所述相应代码段的完整性检查的预期结果的信息。
18.根据权利要求11至17中任一项所述的方法,其特征在于,指示所述相应代码段的完整性检查的预期结果的所述信息包括散列值或循环冗余校验(CRC)值。
19.根据权利要求11至18中任一项所述的方法,其特征在于,还包括基于来自将至少一段代码加载在所述微控制器的至少一个存储器设备中的代码提供方的输入来配置或调节所述多个存储区域中的至少一个存储区域的安全属性。
20.根据权利要求11至19中任一项所述的方法,其特征在于,还包括基于来自将至少一段代码加载在所述微控制器的至少一个存储器设备中的代码提供方的输入来配置或调节所述多个存储区域中的至少一个存储区域的边界。
CN201880041029.0A 2017-08-17 2018-08-17 用于在混合安全系统中对代码或数据的完整性检查并同时维护保密性的系统和方法 Active CN110770733B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762547092P 2017-08-17 2017-08-17
US62/547,092 2017-08-17
US16/052,361 US10872043B2 (en) 2017-08-17 2018-08-01 Systems and methods for integrity checking of code or data in a mixed security system while preserving confidentiality
US16/052,361 2018-08-01
PCT/US2018/046841 WO2019036563A1 (en) 2017-08-17 2018-08-17 SYSTEMS AND METHODS FOR VERIFYING THE INTEGRITY OF CODES OR DATA IN A MIXED SECURITY SYSTEM WHILE PRESERVING CONFIDENTIALITY

Publications (2)

Publication Number Publication Date
CN110770733A true CN110770733A (zh) 2020-02-07
CN110770733B CN110770733B (zh) 2023-05-26

Family

ID=65361510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880041029.0A Active CN110770733B (zh) 2017-08-17 2018-08-17 用于在混合安全系统中对代码或数据的完整性检查并同时维护保密性的系统和方法

Country Status (5)

Country Link
US (1) US10872043B2 (zh)
CN (1) CN110770733B (zh)
DE (1) DE112018004192T5 (zh)
TW (1) TW201923644A (zh)
WO (1) WO2019036563A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061591B (zh) * 2019-11-15 2023-06-23 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于存储器完整性检查控制器实现数据完整性检查的系统和方法

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442645A (en) * 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
CN1319294A (zh) * 1999-07-29 2001-10-24 安全技术有限公司 具有保密功能的适配器及使用这种适配器的计算机保密系统
CN1647443A (zh) * 2002-04-18 2005-07-27 国际商业机器公司 初始化、维护、更新和恢复利用数据访问控制功能的集成系统中的安全操作
CN101281506A (zh) * 2007-04-03 2008-10-08 Arm有限公司 数据处理系统内基于存储器域的安全控制
US20090013192A1 (en) * 2007-07-03 2009-01-08 Ping-Sheng Chen Integrity check method applied to electronic device, and related circuit
US20090307770A1 (en) * 2006-08-17 2009-12-10 Peter William Harris Apparatus and method for performing integrity checks on sofware
CN102197382A (zh) * 2008-10-23 2011-09-21 美信集成产品公司 多层内容保护微控制器
CN103198050A (zh) * 2011-11-10 2013-07-10 通用电气航空系统有限责任公司 提供高完整性处理的方法
US20130238907A1 (en) * 2011-09-15 2013-09-12 Maxim Integrated Products, Inc. Systems and methods for managing cryptographic keys in a secure microcontroller
US20140281354A1 (en) * 2013-03-15 2014-09-18 Thomas E. Tkacik Continuous run-time integrity checking for virtual memory
CN104221028A (zh) * 2012-04-18 2014-12-17 施耐德电器工业公司 微控制器的存储器空间的安全管理的方法
US20150095661A1 (en) * 2013-09-30 2015-04-02 Microsoft Corporation Flexible Memory Addressing For Data Security
CN105659211A (zh) * 2013-09-17 2016-06-08 微软技术许可有限责任公司 虚拟机管理器促进的选择性代码完整性实施

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303392A (en) * 1992-02-27 1994-04-12 Sun Microsystems, Inc. Accessing current symbol definitions in a dynamically configurable operating system
US5339406A (en) * 1992-04-03 1994-08-16 Sun Microsystems, Inc. Reconstructing symbol definitions of a dynamically configurable operating system defined at the time of a system crash
JP2982948B2 (ja) * 1995-12-27 1999-11-29 松下電器産業株式会社 無線受信装置
US9141557B2 (en) * 2006-12-08 2015-09-22 Ashish A. Pandya Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine
US8943108B2 (en) * 2009-12-23 2015-01-27 International Business Machines Corporation Hardware off-load memory garbage collection acceleration
US9753864B2 (en) * 2011-06-15 2017-09-05 Nokia Technologies Oy Method and apparatus for implementing memory segment access control in a distributed memory environment
US8645811B2 (en) * 2011-10-27 2014-02-04 Dell Products L.P. System and method for selective error checking
US9542263B2 (en) * 2014-09-24 2017-01-10 Nxp Usa, Inc. Electronic device having a runtime integrity checker
KR101591076B1 (ko) * 2014-10-02 2016-02-03 (주)스마일게이트엔터테인먼트 리소스 무결성 체크 장치 및 방법
US10387652B2 (en) * 2015-04-17 2019-08-20 Hewlett Packard Enterprise Development Lp Firmware map data
US10223295B2 (en) * 2016-03-10 2019-03-05 Microsoft Technology Licensing, Llc Protected pointers

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442645A (en) * 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
CN1319294A (zh) * 1999-07-29 2001-10-24 安全技术有限公司 具有保密功能的适配器及使用这种适配器的计算机保密系统
CN1647443A (zh) * 2002-04-18 2005-07-27 国际商业机器公司 初始化、维护、更新和恢复利用数据访问控制功能的集成系统中的安全操作
US20090307770A1 (en) * 2006-08-17 2009-12-10 Peter William Harris Apparatus and method for performing integrity checks on sofware
CN101281506A (zh) * 2007-04-03 2008-10-08 Arm有限公司 数据处理系统内基于存储器域的安全控制
US20090013192A1 (en) * 2007-07-03 2009-01-08 Ping-Sheng Chen Integrity check method applied to electronic device, and related circuit
CN102197382A (zh) * 2008-10-23 2011-09-21 美信集成产品公司 多层内容保护微控制器
US20130238907A1 (en) * 2011-09-15 2013-09-12 Maxim Integrated Products, Inc. Systems and methods for managing cryptographic keys in a secure microcontroller
CN103198050A (zh) * 2011-11-10 2013-07-10 通用电气航空系统有限责任公司 提供高完整性处理的方法
CN104221028A (zh) * 2012-04-18 2014-12-17 施耐德电器工业公司 微控制器的存储器空间的安全管理的方法
US20140281354A1 (en) * 2013-03-15 2014-09-18 Thomas E. Tkacik Continuous run-time integrity checking for virtual memory
CN105659211A (zh) * 2013-09-17 2016-06-08 微软技术许可有限责任公司 虚拟机管理器促进的选择性代码完整性实施
US20150095661A1 (en) * 2013-09-30 2015-04-02 Microsoft Corporation Flexible Memory Addressing For Data Security

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
邢彬;韩臻;常晓林;刘吉强;: "基于虚拟机监控技术的可信虚拟域" *
魏仲山;: "存储器保护与中央处理机控制保护" *

Also Published As

Publication number Publication date
US10872043B2 (en) 2020-12-22
CN110770733B (zh) 2023-05-26
DE112018004192T5 (de) 2020-04-30
TW201923644A (zh) 2019-06-16
WO2019036563A1 (en) 2019-02-21
US20190057044A1 (en) 2019-02-21

Similar Documents

Publication Publication Date Title
US11089016B2 (en) Secure system on chip
US8689349B2 (en) Information flow tracking and protection
US9772953B2 (en) Methods and apparatus for protecting operating system data
US7444668B2 (en) Method and apparatus for determining access permission
US8122514B2 (en) Software enhanced trusted platform module
Tamrakar et al. The circle game: Scalable private membership test using trusted hardware
US8364973B2 (en) Dynamic generation of integrity manifest for run-time verification of software program
US7953980B2 (en) Signed manifest for run-time verification of software program identity and integrity
US7073059B2 (en) Secure machine platform that interfaces to operating systems and customized control programs
US20190347409A1 (en) Using Assured Calling Sequences in Micro-Sandboxes
CN111177703B (zh) 操作系统数据完整性的确定方法及装置
US11636197B2 (en) Selective import/export address table filtering
WO2015178895A1 (en) Point-wise protection of application using runtime agent
US8010773B2 (en) Hardware constrained software execution
Yalew et al. TruApp: A TrustZone-based authenticity detection service for mobile apps
CN110770733B (zh) 用于在混合安全系统中对代码或数据的完整性检查并同时维护保密性的系统和方法
US10303861B2 (en) Software diversification in external contexts
Kiperberg et al. Efficient remote authentication
EP3440586A1 (en) Method for write-protecting boot code if boot sequence integrity check fails
CN111625784B (zh) 一种应用的反调试方法、相关装置及存储介质
CN111382442B (zh) 一种应用处理器、协处理器及数据处理设备
US20240134986A1 (en) Securely Provisioning Secrets in Authentication Devices
US20230267211A1 (en) A method of attesting a state of a computing environment
Brandenburger Securing Data Integrity from Cloud Storage to Blockchains
Rauter et al. Static and dynamic integrity properties patterns

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