CN112567349A - 集成电路设备中文件的硬件保护 - Google Patents
集成电路设备中文件的硬件保护 Download PDFInfo
- Publication number
- CN112567349A CN112567349A CN201980052202.1A CN201980052202A CN112567349A CN 112567349 A CN112567349 A CN 112567349A CN 201980052202 A CN201980052202 A CN 201980052202A CN 112567349 A CN112567349 A CN 112567349A
- Authority
- CN
- China
- Prior art keywords
- memory
- file
- access
- files
- metadata
- 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
- 238000000034 method Methods 0.000 claims abstract description 24
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/40—Bus coupling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
一种用于文件保护的方法是在包括硬件存储器保护模块(112)的集成电路设备(100)上执行的,该硬件存储器保护模块根据区域特定的设置来控制对存储器(114)区域的访问。通过以下方式在存储器中创建新文件:将用于所述新文件的元数据(204、214、222、226、232)和内容数据(206、216、218、224、228、234)存储在共同存储器区域(310)中。在硬件存储器保护模块(320)的配置设置中为公共存储器区域设置访问条件。通过搜索所述存储器以识别满足搜索标准的文件,从存储器中搜索文件(510)。所述搜索包括将来自所述存储器的文件的元数据与所述搜索标准进行比较(520),以便从所述存储器中识别满足所述搜索标准的文件(540)。
Description
技术领域
本发明涉及集成电路设备中文件的硬件保护。
背景技术
计算设备有时需要存储不应被未授权方覆盖或修改的文件。此类文件例如可以包含配置设置、引导扇区文件、操作系统文件、加密密钥等。防止对特定文件进行未经授权的写入能够避免存储在这些文件中的数据的无意或恶意破坏。
除了写入保护,有时还限制对某些文件的读取访问。计算设备可以将敏感或机密文件存储在存储器中,未经授权不得读取该存储器。这可以例如包括包含商业机密的数据;或也可以是包含私钥或密码的文件。
通常,文件是在文件系统(诸如,FAT或ext*)中组织的,该文件系统使用索引表、目录表和/或索引节点来保存有关文件系统中每个文件的元数据。元数据例如可以包括文件名、文件大小、创建日期、最后修改日期、访问权限和文件类型。访问许可数据可以包括文件是只读文件还是隐藏文件。文件类型可以例如指定文件是文本文件还是可执行文件。文件有时被分组在目录中,这些目录可以具有一个或多个子目录。
一些计算机通过诸如加密的软件技术来保护文件。仅通过软件措施来尝试保护文件并不是特别安全,并且容易受到黑客攻击和软件错误的攻击。此外,密码技术可以帮助检测文件的变化,但是不能容易地用于防止文件的变化。
提供一种用于保护文件的硬件机制通常被认为比软件技术更安全。尽管在诸如个人计算机和服务器的复杂设备上已知文件系统的硬件保护,但是申请人已经认识到,已知的解决方案并不总是适用于相对简单的集成电路设备,诸如片上系统(SoC)设备,在这些设备中通常会限制电路的复杂性、存储空间和处理资源。
因此,本发明寻求提供适合于保护集成电路设备上的文件的新颖硬件机制。
发明内容
从第一方面,本发明提供了一种在集成电路设备上执行的用于文件保护的方法,所述集成电路设备包括:
处理器;
存储器;
硬件存储器保护模块,所述硬件存储器保护模块被配置为根据相应区域特定的配置设置控制对所述存储器的多个区域的访问;以及
总线系统,所述处理器和所述硬件存储器保护模块连接到所述总线系统;
其中,所述方法包括:
通过以下方式在所述存储器中创建新文件:将用于所述新文件的元数据和用于所述新文件的内容数据存储在所述多个存储器区域的公共存储器区域中;
在所述硬件存储器保护模块的配置设置中设置对所述公共存储器区域的访问条件;
并且
通过搜索所述存储器以识别满足搜索标准的文件,从所述存储器检索文件,所述搜索包括从所述存储器中读取一个或多个文件的集合的元数据、以及将该元数据与所述搜索标准进行比较以从所述集合中识别满足所述搜索标准的文件。
根据第二方面,本发明提供了一种集成电路设备,所述集成电路设备包括:
处理器;
存储器;
硬件存储器保护模块,所述硬件存储器保护模块被配置为根据相应区域特定的配置设置控制对所述存储器的多个区域的访问;以及
总线系统,所述处理器和所述硬件存储器保护模块连接到所述总线系统;
其中:
所述存储器存储文件创建软件,所述文件创建软件当在所述处理器上执行时使得所述处理器执行:
通过以下方式在所述存储器中创建新文件:将用于所述新文件的元数据和用于所述新文件的内容数据存储在所述多个存储器区域的公共存储器区域中;并且
在所述硬件存储器保护模块的配置设置中设置对所述公共存储器区域的访问条件;
并且
所述存储器存储文件搜索软件,所述文件搜索软件当在所述处理器上执行时,使得所述处理器通过以下方式搜索所述存储器以识别满足搜索标准的文件:从所述存储器中读取一个或多个文件的集合的元数据并且将所述元数据与所述搜索标准进行比较以从所述集合中识别满足所述搜索标准的文件。
根据第三方面,本发明提供了一种集成电路设备,所述集成电路设备包括:
处理器;
存储器;
硬件存储器保护模块,所述硬件存储器保护模块被配置为根据相应区域特定的配置设置控制对所述存储器的多个区域的访问;以及
总线系统,所述处理器和所述硬件存储器保护模块连接到所述总线系统;
其中:
所述存储器存储包括元数据和内容数据的文件,其中所述元数据和所述内容数据被存储在公共存储器区域中,并且其中所述配置设置指定对所述公共存储器区域的访问条件;并且
所述存储器存储文件搜索软件,所述文件搜索软件当在所述处理器上执行时,使得所述处理器通过以下方式搜索所述存储器以识别满足搜索标准的文件:从所述存储器中读取一个或多个文件的集合的元数据并且将所述元数据与所述搜索标准进行比较以从所述集合中识别满足所述搜索标准的文件。
因此,将看到的是,根据本发明,文件的元数据和文件的内容数据都被存储在可由硬件保护的公共存储器区域中。该保护通过硬件存储器保护模块来实现,该硬件存储器保护模块可以被配置为通过在包含文件的存储器区域上设置适当的访问条件来拒绝对文件的后续、未经授权、写入和/或读取的访问。
公用存储器区域可以包含文件的元数据和所有内容数据,或者文件可以包括存储在多个存储器区域的一个或多个其他存储器区域中的附加内容数据,例如,内容数据和附加内容数据被存储在一个连续的地址范围内,该地址范围跨越存储器区域之间的一个或多个边界。搜索的文件可以是新文件,或是其他存储的文件。可以分别在存储器中存储多个文件(例如,两个、十个、一百个或更多文件),每个文件包括各自的元数据和内容数据。多个文件可以被存储在相同的公共存储器区域中,或者它们可以被存储在一个或多个不同的存储器区域内。在一组优选的实施例中,第一文件被存储在第一存储器区域中,以及第二文件被存储在第二存储器区域中,所述第二存储器区域与所述第一存储器区域不同并且可独立于所述第一存储器区域进行保护。对于每个文件,文件的至少一些内容数据优选地与文件的元数据一起被存储在公共存储器区域中。
文件的内容数据优选地遵循文件的元数据。内容数据可以占用与元数据相邻的存储器地址,例如,元数据结束后的下一个存储器地址。这样,就不必在存储器中存储指向内容数据的指针;通过定位元数据且然后从存储器地址读取距元数据的结束(或起始)预定距离(例如,下一个存储器地址)的文件,可以简单地定位文件的内容数据。
成对的文件可能会相邻,或者文件可能会间隔开。文件有时可以包含空内容数据(例如,全零字节)、随机数据或丢弃的数据。文件可以包括指示内容数据结束的结束标记值,或者可以由元数据定义内容数据区域。
通过搜索与内容数据位于相同存储器区域中的元数据来检索文件。以此方式,通过避免必须保护目录的复杂性来实现文件系统中文件的硬件保护,该目录包含针对多个文件的文件元数据,该目录与文件的数据内容分开存储。
通过在硬件级别提供保护,所提供的保护可以比仅软件保护机制更稳健,因为第三方不太可能具有知识、手段和装备来规避硬件保护模块。
硬件保护模块可以被配置为整体上控制对每个存储器区域的访问。例如,配置设置可以指定拒绝对存储器的第一区域的所有写入访问(即,仅准予读取访问的访问条件)、或者可以指定拒绝对第二存储器区域的读取访问,除非处理器(或另一个总线主机)处于安全状态。每个存储器区域可以包括一定范围的连续存储器地址,即每个存储器区域可以是存储器的连续块。可以通过起始地址和结束地址,或者通过起始或结束地址和长度来定义存储器区域。起始地址和/或结束地址和/或长度值可以是硬连线的,或可以是可配置的(例如,在配置设置中指定)。
在一些实施例中,处理器被配置为在总线系统上发送由硬件存储器保护模块接收(例如,拦截)的存储器访问请求。其他总线主机(诸如,外围设备或其他处理器)也可以发送由硬件存储器保护模块接收到的存储器访问请求。
硬件存储器保护模块可以被配置为通过相应的区域特定的配置设置来控制对存储器的多个区域的访问:
通过总线系统接收对所述多个存储器区域中的存储器区域中的地址的存储器访问请求;
如果存储器访问请求满足配置设置所指定的对存储器区域的访问条件,则准予对该地址的访问;以及
如果存储器访问请求不满足对存储器区域的访问条件,则拒绝对该地址的访问。
存储器访问请求可以是读取请求、或写入请求或指令获取请求。配置设置可以针对存储器区域指定访问条件,该访问条件取决于存储器访问请求的类型(例如,读取或写入或指令获取)和/或取决于存储器访问请求的源(例如,处理器或另一总线主机)和/或取决于设备的安全状态(例如,处理器的安全状态或总线事务的安全状态)。访问条件可以取决于一个或多个其他因素,诸如当前时间、或者处理器是处于内核模式还是用户模式等。在某些情况下,用于存储器区域的访问条件可以无限制地准予所有访问权限。甚至可能对存储器区域的访问条件可能会拒绝所有访问,尽管这通常仅会在一个时间限制的时间内进行,否则会导致该区域不可用。不同的存储器区域可以具有不同的访问条件。访问条件可能是相对复杂的,例如,当处理器处于非安全状态时,允许读取访问,但拒绝写入访问,而当处理器处于安全状态时,则允许读取访问和写入访问。
可以在配置设置中以任何适当的方式对访问条件进行编码。在一些实施例中,配置设置可以是或可以包括访问控制列表。访问控制列表中的每个条目可以与相应的存储器区域有关,并且可以定义该区域的访问条件。区域可以是预定义的(例如,硬连线的),或者每个条目可以定义其相应的区域(例如,通过编码该区域的起始地址和结束地址)。
在一些实施例中,元数据包括文件名。搜索标准可以指定搜索的文件的文件名、或包括搜索的文件的文件名、或要不然与搜索的文件的文件名有关。在一些实施例中,元数据可以包括时间戳,例如,表示创建或编辑文件的日期或时间。时间戳或时间范围可以被用于搜索。在一些实施例中,元数据可以包括文件类型。搜索标准可以指定文件类型。除了本文列出的示例以外的元数据也可以被存储和/或包括在搜索标准中。
每个文件的元数据优选是唯一的。每个文件的文件名可以是唯一的。
在多个文件满足搜索标准的情况下,搜索存储器以识别满足搜索标准的文件可以包括:识别一个满足搜索标准的文件(例如,位于最低地址值的文件),或者可以包括识别满足搜索标准的多个文件中的两个或更多个(例如,全部)文件。在一些实施例中,在识别出满足搜索标准的一个文件之后(即,不搜索第二个或另一个文件),搜索立即结束。因此,例如,在一种方案中,所搜索的元数据是文件名,与该搜索中找到的文件具有相同文件名的任何其他文件都不会出现在搜索结果中;它实际上是不可见的。在一些实施例中,可以总是以相同的顺序执行对受保护的存储器区域中的文件的搜索。
搜索可以包括从存储器中的存储器地址中读取数据,该存储器地址以从起始地址值至比起始地址值高结束地址值的间隔隔开。间隔可以是规则间隔,例如每个字节或每个存储器总线宽度,以便在起始地址与结束地址之间读取整个存储器。替代地,间隔可以是不规则的间隔,例如,使用元数据中的文件长度值来跳过每个文件的内容数据。起始地址可以是固定的。它可以定义存储器的第一端。结束地址可以是固定的或可变的。它可以被固定并定义存储器的第二端。它可能是可变的,例如,一旦识别出匹配文件,读取就会停止。
集成电路设备的存储器可以存储例如由IC设备制造商开发的操作系统的内核映像。存储器可以存储用户映像,例如,由该制造商的客户创建的软件。可以将由内核映像创建的文件(包括元数据和内容数据)存储在第一存储器区域中。由用户映像创建的文件可以被存储在与第一存储器区域不同的第二存储器区域中。第一存储区可以具有比第二存储区更严格的访问条件。本文“更严格”的意思是,如果硬件存储器保护模块寻址到第二存储器区域,则存在至少一种类型的存储器访问请求,硬件存储器保护模块将准予该访问,但是如果硬件存储器保护模块寻址到第一存储器区域,则拒绝该访问。例如,第二存储器区域可以具有不受限制的访问,而第一存储器区域可以仅由处于安全状态的总线主机访问。以这种方式,本方案能够保护核心操作系统文件免于修改,同时允许读取、覆写、编辑或删除用户文件。
除了保护可搜索文件外,硬件存储器保护模块还可以被用于保护未存储在文件中的静态数据(诸如,可执行代码)。例如,内核映像本身可以被存储在具有严格访问条件的一个或多个存储器区域存储内。用户映像可以被存储可能具有不太严格的访问条件的一个或多个存储器区域存储内。特别地,可以将由处理器执行的固件或操作系统的引导扇区存储在具有严格访问条件的存储器区域中。这样,可以避免在启动集成电路设备时进行引导扇区完整性检查的需要,因为引导扇区由硬件保护。
配置设置可以被存储在存储器中或要不然被存储在设备上的其他位置(例如,ROM中)。存储器可以包括配置寄存器,每个配置寄存器可配置为定义相应存储器区域的访问条件。配置设置本身可以位于具有相对严格访问条件的一个或多个存储器区域中。仅当处理器处于安全状态时,配置设置才可以写入。这样,不会被未经授权的代码恶意或无意更改设置。进入安全状态可以需要身份验证过程。
可以保护包含加密数据的一个或多个文件(例如,加密密钥数据)。
硬件存储器保护模块在控制对存储器一个或多个区域的访问时可以使用ArmTMTrustzoneTM。硬件存储器保护模块可以被配置为确定存储器访问请求是否由处于安全状态(例如,ArmTM Trustzone TM安全状态)的总线主机发出。总线系统可以例如通过使用传达安全状态标志的总线来传达安全状态信息。总线系统可以是ArmTM AMBA总线系统。总线系统可以支持ArmTM TrustzoneTM,用于发信号通知安全状态。
存储器可以存储用于写入配置设置的软件。软件可以是固件模块或驱动程序。应用程序代码可能够通过生成对软件的系统调用来在配置设置中设置访问条件。可替代地,应用程序代码可能够直接写入硬件存储器保护模块的硬件寄存器。
在一组优选实施例中,设置用于公共存储器区域的访问条件包括配置硬件存储器保护模块以拒绝对公共存储器区域的至少一些存储器访问请求。访问条件可能导致硬件存储器保护模块拒绝某些或所有写入请求访问存储器区域。在一些这样的实施例中,可以准予至少一些读取请求。这样,可以在创建存储区中的文件后对其进行写入保护,从而限制了对该文件的未来未经授权的更改。
硬件保护存储器模块可以包括总线监听器模块,用于监视通过总线系统发送的存储器访问请求。总线监听器模块可以确定关于存储器访问请求的信息,诸如以下中的一项或多项:请求类型(例如,读取、写入、提取);产生请求的总线主机的身份;安全状态信息;和/或目标地址。然后,硬件存储器保护模块可以使用该信息来确定存储器访问请求是否满足对该请求所寻址的存储器区域的访问条件。
在一些实施例中,每个文件及其对应的元数据仅被写入一次。在其他实施例中,文件的内容数据中的地址可以被写入多次。
在一些实施例中,可以将存储器区域设置为永久只读的(至少直到下一次设备重置为止)。这可以通过将硬件存储器保护模块配置为防止设置了对存储器区域指定只读访问的访问条件后进行修改而实现。
存储器可能是易失性的(例如,SRAM)或非易失性(例如,闪存),或者可以包括这两者的组合。存储器区域中的至少一些可以是可独立擦除的非易失性存储器页,例如相应的闪存块。
在一组实施例中,在设备重置时,一组配置寄存器(可以在非易失性存储器中)被用于写入配置设置(可以在易失性存储器中),例如,通过将值从存储在非易失性存储器中的配置寄存器复制到存储在易失性存储器中的访问控制列表。这可以改善硬件存储器保护模块的性能,尤其是在易失性存储器(例如,RAM)具有比易失性存储器更快的读取速度的情况下。该写入可以由处理器执行的引导加载程序代码控制。基于配置寄存器的内容,仅在写入配置设置(例如,访问控制列表)后才可以从复位中释放处理器。
文件创建软件和/或文件检索软件可以是固件模块的一部分。它们可以对存储在设备的存储器中的应用程序模块经由API(应用程序编程接口)访问。可替代地,它们可以是应用程序代码内的软件例程,或设备上的任何其他软件单元。在一些实施例中,文件检索软件可以以提高的安全级别执行;这可以允许它读取可能限制访问非安全代码的存储器区域。文件检索软件可以将所标识的文件的地址返回给调用功能。调用功能可能以比文件检索软件低的安全级别执行。
如本文所描述的本发明的任何方面或实施例的特征可以在适当的情况下应用于本文所述的任何其它方面或实施例。在参考不同的实施例或实施例组时,应当理解,这些不一定是不同的而是可以重叠。
附图说明
现将参考附图仅借助于实例来描述本发明的某些实施例,其中:
图1示出根据本发明的实施例的集成电路片上系统设备。
图2示出根据本发明的实施例的集成电路设备内的存储器模块。
图3是示出根据本发明的实施例的存储文件的方法的流程图。
图4是示出根据本发明实施例的存储器访问的方法的流程图;以及
图5是示出根据本发明的实施例的搜索文件的方法的流程图。
具体实施方式
图1示出了根据本发明的实施例的集成电路片上系统设备100,其包括用于文件的硬件保护的组件。设备100可以是片上数字无线电设备。
设备100包括多个处理器102-106。在其他实施例中,可以使用单个处理器。设备100还包括闪存114。闪存114可以固有地包括多个不同的存储器区域,例如单独的闪存页。闪存114可以在闪存14中存储一组配置寄存器116,该配置寄存器包含对不同存储器区域的相应访问条件。这些存储器区域可以对应于闪存页,或者它们可以独立于闪存页(例如,由起始地址和结束地址定义)。
设备100还具有另一存储器118。该另一存储器118可以是易失性的或非易失性的。一组外围设备120以已知方式包括在设备100中。
ArmTM的AMBATM(高级微控制器总线体系结构)是面向嵌入式片上系统应用程序的开放接口协议。设备100具有实现AMBATM规范的总线系统。
总线系统包括将处理器102-106与硬件保护模块112、另一存储器118和外围设备120连接的总线矩阵110。
值得注意的是,总线系统未被直接连接至闪存114,而是经由硬件存储器保护模块112被连接至闪存114。硬件存储器保护模块112截取对闪存114的存储器访问请求,确定该访问请求是否针对受访问条件限制访问的存储器区域,并且根据访问请求是否满足相关访问条件,准予或拒绝对存储器区域的访问。
图2中示出了在特定时间瞬间的闪存114的存储器区域的结构。配置寄存器未在图2中示出。
图2中的存储器114被示为包含N个存储器区域。在该实施例中,存储器区域是可个别擦除的闪存页。
存储器页#1 202包含文件的内容数据206(标记为文件#1)以及文件的元数据204。
存储器页#2 210包含文件#2的元数据214和文件#2的内容数据的部分216。存储器页#3 212包含文件#2的内容数据的其余部分218。
存储器页#4 220包含文件#3的元数据222和文件#3的内容数据224。存储器页#4220还包含文件#4的元数据226和文件#4的内容数据228。
直到存储器页#N 230的附加存储器页均可以包含文件的元数据和文件的内容数据,如以上关于存储器页#1-#4所述的。
例如,每个存储器页可以包含:
(i)单个文件的元数据和内容数据,如存储器页#1 202中所示的;或者
(ii)单个文件的元数据及其仅某些内容数据,如存储器页#2 210中所示的。其余的内容数据可以被存储在与存储器页相邻的一个或多个其他存储器页中(参见存储器页#3212)(即,在此示例中,与存储器页#2 210相邻);或者
(iii)多个文件的元数据和内容数据,如存储器页#4 220在所示的。
每个存储器页不一定需要完全填充,如存储器页#3 212中所示的。
在任何时刻,特定文件的内容数据可以充满信息,或者可以为空(例如,包含空或无效数据),或者可以部分填充信息。元数据可以定义内容数据区域的大小。
元数据对文件的文件名进行编码。它还可以对文件的长度以及其他信息(诸如,创建日期或文件类型)进行编码。
设备100被配置为借助于图3和图4的流程图所示的方法使用存储器114来保护文件。
图3示出了在步骤310处的文件创建软件,该文件创建软件使得文件的元数据和内容数据都被存储在一个连续的存储器区域(例如,如图2所示和如上所述的闪存页)中。然后在步骤320中更新硬件存储器保护模块112的配置寄存器,以通过根据需要限制对存储器区域的访问来保护该存储器区域(例如,拒绝对存储器区域的所有未来的写入访问)。
图4示出随后如何实施文件保护。首先,在步骤410处做出访问文件的请求。该请求可以源自在处理器102上执行的应用软件内。它可以由在处理器102上执行的芯片制造商编写的文件检索软件来接收。打开文件的请求使文件检索软件进行搜索以找到文件的存储器位置。这在下文更详细地进行描述。
一旦文件已经被文件检索软件定位,就将文件的地址传递给应用程序软件,并尝试访问文件,例如从文件中读取或写入文件。这样使得以应用软件的安全状态进行操作的处理器102发出对文件中的存储器地址的总线请求。
在步骤420处,硬件存储器保护模块112拦截该总线请求,并且确定其是否寻址受访问条件保护的存储器区域。它可以借助于存储在硬件存储器保护模块112的易失性硬件寄存器中的访问控制列表来做出该确定;这些寄存器可以在启动时间时从闪存配置寄存器中填充。访问控制列表包含所有受保护的存储器区域的访问条件。
在一些实施例中,硬件存储器保护模块112可以使用ArmTMTrustzoneTM安全技术来确定存储器访问请求是否满足访问条件,例如,通过检查总线请求的安全状态。
在步骤430处,如果总线请求不满足对于存储器区域的访问条件,则流程转移到步骤440,在该步骤处存储器访问请求被拒绝。该拒绝可以仅仅是对总线事务的无响应,或者可以导致设备100重置。同样在步骤430处,如果满足访问条件,则流程转移到步骤450,在该步骤中准予存储器访问请求。
文件索引不用于搜索和定位文件。取而代之的是,在本方案中,特定文件的元数据和至少某些内容数据都被存储在单个可保护区域中,并且通过扫描存储器114来定位文件,从而从连续文件中读取元数据直到识别到搜索的文件。
图5示出了根据本发明原理的用于搜索已经被硬件保护的文件的步骤的流程图。
文件搜索在步骤510处开始。搜索是通过文件检索软件执行的。在此示例中,搜索标准是文件名。这可能通已经过来自设备上用户软件中的文件检索软件被接收为搜索参数。
在步骤520处,文件检索软件读取存储器114中的地址以识别文件元数据。它定位存储在第一存储器区域中的第一文件的文件名。在其他实施例中,可以检查和比较其他元数据。在步骤530处,如果该第一文件的文件名与正在搜索的文件的文件名不匹配,则流程返回到步骤520,在该步骤处软件例程扫描存储器以定位后续文件并且以类似的方式检查第二个文件的文件名。如果没有其他文件,则该过程将超时并且返回未找到文件的指示。软件例程继续以这种顺序的方式检查文件的文件名,直到在步骤540,找到其文件名与正在搜索的文件的文件名匹配的文件。它返回指向该文件的指针。
本领域的技术人员应当理解,本发明已经通过描述其一个或多个具体实施例来说明并且不限于这些实施例;在所附权利要求的范围内,许多变化和修改是可能的。
Claims (20)
1.一种在集成电路设备上执行的用于文件保护的方法,所述集成电路设备包括:
处理器;
存储器;
硬件存储器保护模块,所述硬件存储器保护模块被配置为根据相应区域特定的配置设置控制对所述存储器的多个区域的访问;以及
总线系统,所述处理器和所述硬件存储器保护模块连接到所述总线系统;
其中,所述方法包括:
通过以下方式在所述存储器中创建新文件:将用于所述新文件的元数据和用于所述新文件的内容数据存储在所述多个存储器区域的公共存储器区域中;
在所述硬件存储器保护模块的配置设置中设置对所述公共存储器区域的访问条件;
并且
通过搜索所述存储器以识别满足搜索标准的文件,从所述存储器检索文件,所述搜索包括从所述存储器中读取一个或多个文件的集合的元数据、以及将该元数据与所述搜索标准进行比较以从所述集合中识别满足所述搜索标准的文件。
2.根据权利要求1所述的方法,其中,所述新文件的内容数据占据与所述元数据相邻的存储器地址。
3.根据权利要求1或2所述的方法,其中,所述新文件包括存储在所述多个存储器区域中的一个或多个其他存储器区域中的附加内容数据。
4.根据任一前述权利要求所述的方法,其中:
所述存储器存储多个文件,每个文件包括相应的元数据和内容数据;
所述多个文件中的第一文件被存储在第一存储器区域中;
所述多个文件中的第二文件被存储在不同于所述第一存储器区域的第二存储器区域中;
根据第一配置设置,控制对所述第一存储器区域的访问;并且
根据与所述第一配置设置分开的第二配置设置,控制对所述第二存储器区域的访问。
5.根据任一前述权利要求所述的方法,包括:所述硬件存储器保护模块通过以下步骤控制对所述多个区域的访问:
通过所述总线系统接收对所述多个存储器区域中的存储器区域中的地址的存储器访问请求;
确定所述存储器访问请求是否满足所述配置设置所指定的对所述存储器区域的访问条件;
如果所述存储器访问请求满足对所述存储器区域的访问条件,则准予对所述地址的访问;并且
如果所述存储器访问请求不满足对所述存储器区域的访问条件,则拒绝对所述地址的访问。
6.根据权利要求5所述的方法,其中,所述访问条件指定被准予对所述存储器区域的访问的存储器访问请求的类型,其中,所述存储器访问请求的类型是读取请求、写入请求或指令提取中的一个。
7.根据任一前述权利要求所述的方法,其中:
所述元数据包括以下中的一项或多项:文件名、时间戳和文件类型;并且
所述搜索标准指定以下中的一项或多项:文件名、时间戳和文件类型。
8.根据任一前述权利要求所述的方法,其中,所述存储器存储多个文件,每个文件包括相应的元数据和内容数据,其中,每个文件的所述元数据包括对于相应文件唯一的相应文件名。
9.根据任一前述权利要求所述的方法,包括:在识别出满足所述搜索标准的一个文件之后,立即结束所述搜索。
10.根据任一前述权利要求所述的方法,其中,所述硬件存储器保护模块被配置为从所述集成电路设备的易失性存储器读取区域特定的配置设置,所述方法进一步包括:
一旦重置所述设备,基于存储在所述设备的非易失性存储器中的一组配置寄存器中的数据,将所述配置设置写入所述易失性存储器;并且
仅在将所述配置设置写入所述易失性存储器后,才能从复位释放所述处理器。
11.根据任一前述权利要求所述的方法,包括:通过配置所述硬件存储器保护模块以防止修改指定对所述存储器区域的只读访问的访问条件,将存储器区域中的文件设置为永久只读。
12.一种集成电路设备,包括:
处理器;
存储器;
硬件存储器保护模块,所述硬件存储器保护模块被配置为根据相应区域特定的配置设置控制对所述存储器的多个区域的访问;以及
总线系统,所述处理器和所述硬件存储器保护模块连接到所述总线系统;
其中,所述存储器存储文件创建软件,所述文件创建软件在所述处理器上执行时,使得所述处理器执行:
通过以下方式在所述存储器中创建新文件:将用于所述新文件的元数据和用于所述新文件的内容数据存储在所述多个存储器区域的公共存储器区域中;并且
在所述硬件存储器保护模块的配置设置中设置对所述公共存储器区域的访问条件,
并且其中,所述存储器存储文件检索软件,所述文件检索软件在所述处理器上执行时,使得所述处理器通过以下方式搜索所述存储器以识别满足搜索标准的文件:从所述存储器中读取一个或多个文件的集合的所述元数据并且将所述元数据与所述搜索标准进行比较以从所述集合识别满足所述搜索标准的文件。
13.一种集成电路设备,包括:
处理器;
存储器;
硬件存储器保护模块,所述硬件存储器保护模块被配置为根据相应区域特定的配置设置控制对所述存储器的多个区域的访问;以及
总线系统,所述处理器和所述硬件存储器保护模块连接到所述总线系统;
其中:
所述存储器存储包括元数据和内容数据的文件,其中所述元数据和所述内容数据被存储在所述多个存储器区域的公共存储器区域中,并且其中所述配置设置指定对所述公共存储器区域的访问条件;并且
所述存储器存储文件检索软件,所述文件检索软件当在所述处理器上执行时,使得所述处理器通过以下方式搜索所述存储器以识别满足搜索标准的文件:从所述存储器中读取一个或多个文件的集合的所述元数据并且将所述元数据与所述搜索标准进行比较以从所述集合中识别满足所述搜索标准的文件。
14.根据权利要求12或13所述的集成电路设备,其中,所述新文件或被存储的文件的内容数据占据与所述新文件或被存储的文件的元数据相邻的存储器地址。
15.根据权利要求12至14中任一项所述的集成电路设备,其中,所述多个存储器区域中的每个存储器区域是相应的可独立擦除的非易失性存储器页。
16.根据权利要求12至15中任一项所述的集成电路设备,其中,所述硬件存储器保护模块被配置为通过以下方式控制对所述多个区域的访问:
通过所述总线系统接收对所述多个存储器区域中的存储器区域中的地址的存储器访问请求;
确定所述存储器访问请求是否满足所述配置设置所指定的对所述存储器区域的访问条件;
如果所述存储器访问请求满足对所述存储器区域的访问条件,则准予对所述地址的访问;并且
如果所述存储器访问请求不满足对所述存储器区域的访问条件,则拒绝对所述地址的访问。
17.根据权利要求16所述的集成电路设备,其中,所述硬件存储器保护模块被配置为确定所述存储器访问请求的类型是否满足对所述存储器区域的访问条件,其中,所述存储器访问请求的类型是读取请求、写入请求或指令提取中的一个。
18.根据权利要求12至17中任一项所述的集成电路设备,其中,所述文件检索软件当在所述处理器上执行时,使得所述处理器通过以下方式搜索所述存储器以识别满足搜索标准的文件:从所述存储器中的一个或多个文件的集合的相应元数据中读取文件名、时间戳和文件类型中的一个或多个并且将每个相应的文件名、时间戳或文件类型与所述搜索标准指定的文件名、时间戳和文件类型中的一个或多个进行比较。
19.根据权利要求12至18中任一项所述的集成电路设备,其中,所述文件检索软件当在所述处理器上执行时,在识别出满足所述搜索标准的一个文件之后,立即结束所述搜索。
20.根据权利要求12至19中任一项所述的集成电路设备,其中,所述新文件或被存储的文件包含密码数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1810533.8 | 2018-06-27 | ||
GBGB1810533.8A GB201810533D0 (en) | 2018-06-27 | 2018-06-27 | Hardware protection of files in an intergrated-circuit device |
PCT/EP2019/067073 WO2020002468A1 (en) | 2018-06-27 | 2019-06-26 | Hardware protection of files in an integrated-circuit device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112567349A true CN112567349A (zh) | 2021-03-26 |
Family
ID=63143732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980052202.1A Pending CN112567349A (zh) | 2018-06-27 | 2019-06-26 | 集成电路设备中文件的硬件保护 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11960617B2 (zh) |
EP (1) | EP3814910B1 (zh) |
CN (1) | CN112567349A (zh) |
GB (1) | GB201810533D0 (zh) |
WO (1) | WO2020002468A1 (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070033191A1 (en) * | 2004-06-25 | 2007-02-08 | John Hornkvist | Methods and systems for managing permissions data and/or indexes |
US20080140946A1 (en) * | 2006-12-11 | 2008-06-12 | Mark Charles Davis | Apparatus, system, and method for protecting hard disk data in multiple operating system environments |
US20090100115A1 (en) * | 2007-10-12 | 2009-04-16 | Samsung Electronics Co., Ltd. | Methods and Apparatus for File Management Using Partitioned File Metadata |
US20100199108A1 (en) * | 2009-02-03 | 2010-08-05 | Microsoft Corporation | Device Enforced File Level Protection |
US20160299720A1 (en) * | 2012-06-27 | 2016-10-13 | Nordic Semiconductor Asa | Memory protection |
CN106845273A (zh) * | 2017-01-23 | 2017-06-13 | 北京奇虎科技有限公司 | 一种保护智能终端本地文件的方法和装置 |
CN106845288A (zh) * | 2015-11-17 | 2017-06-13 | 硅实验室股份有限公司 | 不对称存储器 |
CN107408068A (zh) * | 2015-03-23 | 2017-11-28 | 英特尔公司 | 处理器中的动态配置和外围设备访问 |
WO2018104711A1 (en) * | 2016-12-05 | 2018-06-14 | Nordic Semiconductor Asa | Memory protection logic |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3800198B2 (ja) * | 2003-05-16 | 2006-07-26 | ソニー株式会社 | 情報処理装置、およびアクセス制御処理方法、並びにコンピュータ・プログラム |
US7725663B2 (en) | 2007-10-31 | 2010-05-25 | Agere Systems Inc. | Memory protection system and method |
US7895404B2 (en) | 2008-02-14 | 2011-02-22 | Atmel Rousset S.A.S. | Access rights on a memory map |
US20100306283A1 (en) | 2009-01-28 | 2010-12-02 | Digitiliti, Inc. | Information object creation for a distributed computing system |
WO2013089726A1 (en) | 2011-12-15 | 2013-06-20 | Intel Corporation | Method, device, and system for protecting and securely delivering media content |
KR102239356B1 (ko) * | 2015-02-17 | 2021-04-13 | 삼성전자주식회사 | 클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법 |
US20180121125A1 (en) | 2016-11-01 | 2018-05-03 | Qualcomm Incorporated | Method and apparatus for managing resource access control hardware in a system-on-chip device |
-
2018
- 2018-06-27 GB GBGB1810533.8A patent/GB201810533D0/en not_active Ceased
-
2019
- 2019-06-26 CN CN201980052202.1A patent/CN112567349A/zh active Pending
- 2019-06-26 US US17/255,367 patent/US11960617B2/en active Active
- 2019-06-26 EP EP19737481.2A patent/EP3814910B1/en active Active
- 2019-06-26 WO PCT/EP2019/067073 patent/WO2020002468A1/en unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070033191A1 (en) * | 2004-06-25 | 2007-02-08 | John Hornkvist | Methods and systems for managing permissions data and/or indexes |
US20080140946A1 (en) * | 2006-12-11 | 2008-06-12 | Mark Charles Davis | Apparatus, system, and method for protecting hard disk data in multiple operating system environments |
US20090100115A1 (en) * | 2007-10-12 | 2009-04-16 | Samsung Electronics Co., Ltd. | Methods and Apparatus for File Management Using Partitioned File Metadata |
US20100199108A1 (en) * | 2009-02-03 | 2010-08-05 | Microsoft Corporation | Device Enforced File Level Protection |
US20160299720A1 (en) * | 2012-06-27 | 2016-10-13 | Nordic Semiconductor Asa | Memory protection |
CN107408068A (zh) * | 2015-03-23 | 2017-11-28 | 英特尔公司 | 处理器中的动态配置和外围设备访问 |
CN106845288A (zh) * | 2015-11-17 | 2017-06-13 | 硅实验室股份有限公司 | 不对称存储器 |
WO2018104711A1 (en) * | 2016-12-05 | 2018-06-14 | Nordic Semiconductor Asa | Memory protection logic |
CN106845273A (zh) * | 2017-01-23 | 2017-06-13 | 北京奇虎科技有限公司 | 一种保护智能终端本地文件的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US11960617B2 (en) | 2024-04-16 |
GB201810533D0 (en) | 2018-08-15 |
WO2020002468A1 (en) | 2020-01-02 |
US20210264048A1 (en) | 2021-08-26 |
EP3814910A1 (en) | 2021-05-05 |
EP3814910B1 (en) | 2023-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9881013B2 (en) | Method and system for providing restricted access to a storage medium | |
EP2377063B1 (en) | Method and apparatus for providing access to files based on user identity | |
US8234477B2 (en) | Method and system for providing restricted access to a storage medium | |
EP1989653B1 (en) | Universal serial bus (usb) storage device and access control method thereof | |
US8402269B2 (en) | System and method for controlling exit of saved data from security zone | |
US8452934B2 (en) | Controlled data access to non-volatile memory | |
US8583888B2 (en) | Method to qualify access to a block storage device via augmentation of the device'S controller and firmware flow | |
KR100975981B1 (ko) | 보안 실행 모드 하에서 보안 커넬을 사용하는 트러스트된클라이언트 | |
US20080046997A1 (en) | Data safe box enforced by a storage device controller on a per-region basis for improved computer security | |
CN113254949B (zh) | 控制设备、用于控制访问的系统及由控制器执行的方法 | |
JP7213879B2 (ja) | 間接アクセスメモリコントローラ用のメモリ保護装置 | |
US20110107047A1 (en) | Enforcing a File Protection Policy by a Storage Device | |
Chen et al. | A cross-layer plausibly deniable encryption system for mobile devices | |
US11960617B2 (en) | Hardware protection of files in an integrated-circuit device | |
CN110472443A (zh) | 一种数据安全方法和带开关的本地设备 | |
US20110107393A1 (en) | Enforcing a File Protection Policy by a Storage Device | |
CN112580023B (zh) | 影子栈管理方法及装置、介质、设备 | |
US20220374534A1 (en) | File system protection apparatus and method in auxiliary storage device | |
KR101041367B1 (ko) | 파일 시스템에서의 파일 또는 디렉토리에 대한 액세스 방법및 장치 | |
CN118069601A (zh) | 一种操作系统隐藏文件的实现方法 | |
KR20240045550A (ko) | 데이터 보호 시스템 |
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 |