CN113312676A - 数据访问方法、装置、计算机设备及可读存储介质 - Google Patents

数据访问方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN113312676A
CN113312676A CN202110570652.9A CN202110570652A CN113312676A CN 113312676 A CN113312676 A CN 113312676A CN 202110570652 A CN202110570652 A CN 202110570652A CN 113312676 A CN113312676 A CN 113312676A
Authority
CN
China
Prior art keywords
security domain
target
memory
information
data
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
CN202110570652.9A
Other languages
English (en)
Other versions
CN113312676B (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.)
Phytium Technology Co Ltd
Original Assignee
Phytium 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 Phytium Technology Co Ltd filed Critical Phytium Technology Co Ltd
Priority to CN202110570652.9A priority Critical patent/CN113312676B/zh
Publication of CN113312676A publication Critical patent/CN113312676A/zh
Application granted granted Critical
Publication of CN113312676B publication Critical patent/CN113312676B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • 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

Landscapes

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

Abstract

本申请提供了一种数据访问方法、装置、计算机设备及可读存储介质,应用于计算机设备的处理器,处理器中包括至少一个安全域,各安全域分别包括一个寄存器组,寄存器组用于存储安全域的属性信息,方法包括:接收数据访问请求,数据访问请求中包括待访问的数据在存储器中的目标地址信息以及访问类型;根据待访问的数据在存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与目标地址信息匹配的目标安全域;若是,则根据目标安全域的属性信息,确定是否允许访问目标地址信息所对应地址;若是,则向存储器发送数据访问请求。该方法实现了对存储器中的数据的精准灵活的访问控制。

Description

数据访问方法、装置、计算机设备及可读存储介质
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种数据访问方法、装置、计算机设备及可读存储介质。
背景技术
固件是计算机系统的重要组成部分,是一个计算机系统最底层的系统软件。目前,绝大多数的计算机系统的固件是存储在闪存(flash)中的。固件不应该被无意修改或恶意篡改,否则会对整个计算机系统的安全造成巨大影响。因此,如何对固件进行防护是重要的问题。
现有技术中,可以通过将安全或可信固件独立存储于可信执行环境(TrustedExecution Environment,简称TEE)域内的存储器中,或者,在板级关闭flash的写功能,经过授权之后,板级才放开flash的写功能,写入完毕后重新关闭flash的写功能。
但是,现有技术的方法存在成本过高或灵活性较低的问题,难以满足固件防护的实际需要。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种数据访问方法、装置、计算机设备及可读存储介质,以解决现有技术中由于成本过高或灵活性较低所导致的难以满足固件防护的实际需要的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请一实施例提供了一种数据访问方法,所述方法包括:
应用于计算机设备的处理器,所述计算机设备包括处理器和存储器,所述处理器中包括至少一个安全域,各安全域分别包括一个寄存器组,所述寄存器组包括多个寄存器,所述寄存器组用于存储所述安全域的属性信息,所述安全域的属性信息至少包括:所述安全域对应的所述存储器中的地址区间、访问权限以及使能信息;
所述方法包括:
接收数据访问请求,所述数据访问请求中包括待访问的数据在所述存储器中的目标地址信息以及访问类型,所述访问类型包括:读请求或写请求;
根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域;
若是,则根据所述目标安全域的属性信息,确定是否允许访问所述目标地址信息所对应地址;
若是,则向所述存储器发送所述数据访问请求。
作为一种可选的实现方式,所述根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域,包括:
若所述数据访问请求为来自普通执行环境的数据访问请求,则根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域。
作为一种可选的实现方式,所述方法还包括:
若所述数据访问请求为来自可信执行环境的数据访问请求,则向所述存储器发送所述数据访问请求。
作为一种可选的实现方式,所述根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域,包括:
若第一安全域的使能信息不为旁路模式,且所述目标地址信息与所述第一安全域对应的所述存储器中的地址区间存在重叠,则确定所述第一安全域为与目标地址信息匹配的目标安全域。
作为一种可选的实现方式,所述根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域,包括:
若各安全域的使能信息为旁路模式,或所述目标地址信息与各安全域对应的所述存储器中的地址区间不存在重叠,则确定不存在与所述目标地址信息匹配的目标安全域,并向所述存储器发送所述数据访问请求。
作为一种可选的实现方式,所述根据所述目标安全域的属性信息,确定是否允许访问所述目标地址信息所对应地址,包括:
若所述数据访问请求中的访问类型与所述目标安全域的访问权限匹配,则确定允许访问所述目标地址信息所对应地址,否则,确定不允许访问所述目标地址信息所对应地址。
作为一种可选的实现方式,所述安全域的属性信息还包括:状态信息;
所述状态信息用于标识非法访问所述安全域对应的所述存储器中的地址区间的信息。
作为一种可选的实现方式,所述安全域对应的所述存储器中的地址区间包括:起始地址和结束地址,所述安全域对应的所述存储器中的地址区间的访问权限包括:读权限和写权限;
所述安全域的寄存器组中包括:起始地址寄存器、结束地址寄存器、读权限寄存器、写权限寄存器、使能信息寄存器、状态信息寄存器。
第二方面,本申请实施例提供一种数据访问装置,应用于计算机设备的处理器,所述计算机设备包括处理器和存储器,所述处理器中包括至少一个安全域,各安全域分别包括一个寄存器组,所述寄存器组包括多个寄存器,所述寄存器组用于存储所述安全域的属性信息,所述安全域的属性信息至少包括:所述安全域对应的所述存储器中的地址区间、访问权限以及使能信息;
所述装置包括:
接收模块,用于接收数据访问请求,所述数据访问请求中包括待访问的数据在所述存储器中的目标地址信息以及访问类型,所述访问类型包括:读请求或写请求;
第一确定模块,用于根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域;
第二确定模块,用于在存在与所述目标地址信息匹配的目标安全域时,根据所述目标安全域的属性信息,确定是否允许访问所述目标地址信息所对应地址;
发送模块,用于在允许访问所述目标地址信息所对应地址时,向所述存储器发送所述数据访问请求。
作为一种可选的实现方式,所述第一确定模块具体用于:
若所述数据访问请求为来自普通执行环境的数据访问请求,则根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域。
作为一种可选的实现方式,所述发送模块还用于:
若所述数据访问请求为来自可信执行环境的数据访问请求,则向所述存储器发送所述数据访问请求。
作为一种可选的实现方式,所述第一确定模块具体用于:
若第一安全域的使能信息不为旁路模式,且所述目标地址信息与所述第一安全域对应的所述存储器中的地址区间存在重叠,则确定所述第一安全域为与目标地址信息匹配的目标安全域。
作为一种可选的实现方式,所述第一确定模块具体用于:
若各安全域的使能信息为旁路模式,或所述目标地址信息与各安全域对应的所述存储器中的地址区间不存在重叠,则确定不存在与所述目标地址信息匹配的目标安全域,并向所述存储器发送所述数据访问请求。
作为一种可选的实现方式,所述第二确定模块具体用于:
若所述数据访问请求中的访问类型与所述目标安全域的访问权限匹配,则确定允许访问所述目标地址信息所对应地址,否则,确定不允许访问所述目标地址信息所对应地址。
作为一种可选的实现方式,所述安全域的属性信息还包括:状态信息;
所述状态信息用于标识非法访问所述安全域对应的所述存储器中的地址区间的信息。
作为一种可选的实现方式,所述安全域对应的所述存储器中的地址区间包括:起始地址和结束地址,所述安全域对应的所述存储器中的地址区间的访问权限包括:读权限和写权限;
所述安全域的寄存器组中包括:起始地址寄存器、结束地址寄存器、读权限寄存器、写权限寄存器、使能信息寄存器、状态信息寄存器。
第三方面,本申请实施例提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如上述第一方面所述的数据访问方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述第一方面所述的数据访问方法的步骤。
本申请的有益效果是:
在处理器中设置多个安全域,每个安全域包括一个寄存器组,用来记载安全域对应的存储器的地址空间及其访问权限信息等属性信息,当处理器接收到数据访问请求后,根据待访问的地址以及安全域的属性信息,可以确定待访问的地址是否落入某个安全域内,如果落入,再根据该安全域的属性信息确定是否允许访问该安全域对应地址,若允许访问,才将数据访问请求转发至存储器中。因此,通过设置安全域,可以使得存储器中的数据得到精准灵活的访问控制,同时,不会增加任何的硬件成本。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的数据访问方法的系统架构图;
图2为本申请实施例提供的数据访问方法的访问示意图;
图3为本申请实施例提供的数据访问方法的流程示意图;
图4为安全域的示例性结构示意图;
图5为本申请实施例提供的一种数据访问装置的模块结构图;
图6为本申请实施例提供的计算机设备60结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“固件访问”,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕固件访问进行描述,但是应该理解,这仅是一个示例性实施例。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
由于固件在整个计算机系统中的重要性,如果不对固件进行防护,固件的安全性难以保证,系统在运行过程中,很可能会无意中修改了固件的某些比特位,同样攻击者可以修改甚至替换计算机系统的固件,这些修改可能会导致敏感信息泄露、无法开机、或设备被接管的风险。
现有技术中,虽然提出了将安全或可信的固件存储于TEE域内的存储器中,或者,在板级关闭flash的写功能来保证固件的安全。但是,将安全或可信的固件存储于TEE域内的存储器这种方式防护的目标仅仅是安全/可信侧的固件,通用环境下的固件并没有得到防护,同时,由于安全/可信侧的固件是存储在位于TEE域内的存储器内,所以需要一个额外的存储器,将会增加硬件成本。而在板级关闭flash的写功能这种方式虽然对固件可以起到一定的保护作用,但是不够灵活。此方式将导致计算机系统不能向非固件存储区域写入数据,不能满足一些对flash的非固件存储区写数据的应用场景。因此,现有技术的方法存在成本过高或灵活性较低的问题,难以满足固件防护的实际需要。
本申请实施例基于上述问题,提出一种数据访问方法,通过设置安全域,使得存储器中的数据访问可以得到精准的控制,从而保证存储器中所保存的数据,例如固件数据的安全性。
图1为本申请实施例提供的数据访问方法的系统架构图,该方法应用于计算机设备中,该计算机设备包括处理器和存储器,本申请中,处理器可以指主芯片,存储器可以指flash。其中,处理器中包括串行外围接口(Serial Peripheral interface,简称SPI)/队列串行外围接口(Queued SPI,简称QSPI)控制器。flash可以挂接在SPI/QSPI控制器的接口处,上层的数据访问请求通过主芯片处理后,经由SPI/QSPI控制器发送至flash,并由flash执行相应处理。
图2为本申请实施例提供的数据访问方法的访问示意图,如图2所示,主芯片中可以增加一个过滤单元,示例性的,该过滤单元可以为一个软件模块。同时,处理器中包括多个安全域。过滤单元可以基于安全域,对来自上层的数据访问请求进行识别过滤。对于识别为合法的请求,经由SPI/QSPI控制器发送至flash。对于识别为非法的请求,可以直接丢弃或拒绝。
主芯片中可以包括多个安全域,各安全域分别包括一个寄存器组,每个安全域包括多个寄存器,寄存器组用于安全域的属性信息,安全域的属性信息至少包括:安全域对应的存储器中的地址区间、访问权限以及使能信息。
可选的,安全域对应的存储器中的地址区间可以通过起始地址以及结束地址来表示,即,安全域对应的存储器中的地址区间可以包括:起始地址和结束地址。安全域对应的存储器中的地址区域的访问权限可以包括:写权限和读权限。使能信息可以用于指示该安全域是否使能。
本申请中,起始地址与结束地址可以相同,也可以不同,本申请对此不作具体限定。
一个安全域可以对应于flash中特定的存储空间,安全域的属性信息即用于定义安全域所对应的存储空间的地址区间以及该存储空间的访问权限以及使能信息,从而可以使得过滤单元根据安全域的属性信息决定是否允许针对该存储空间的访问请求。可选的,可以预先在TEE下对安全域的属性信息进行配置,从而保证安全域的属性信息的安全性。
不同的安全域可以具有不同的用途,因此,在预先配置安全域的属性信息时,可以根据实际用途进行灵活配置。例如,芯片厂商固件与整机厂商固件可以通过配置不同的安全域分别进行保护。又例如,对于flash中保存的密钥、口令等敏感数据,可以通过配置安全域,使得这些数据仅能被TEE访问。
图3为本申请实施例提供的数据访问方法的流程示意图,该方法的主体可以为上述的处理器(主芯片),具体可以为上述的过滤单元。如图3所示,该方法包括:
S301、接收数据访问请求,所述数据访问请求中包括待访问的数据在所述存储器中的目标地址信息以及访问类型,所述访问类型包括:读请求或写请求。
可选的,主芯片可以接收来自上层的数据访问请求,该数据访问请求可以来自TEE,或者,也可以来自普通执行环境(Rich Execution Environment,简称TEE),本申请对此不作具体限定。
可选的,上述数据访问请求中可以包括待访问的数据在存储器中的目标地址信息以及访问类型。其中,目标地址信息可以用来标识所要访问的地址区间。一种示例中,该目标地址信息可以包括起始地址以及地址长度。另一种示例中,该目标地址信息可以包括起始地址和结束地址。又一种示例中,该目标地址可以包括结束地址以及地址长度。
上述访问类型可以包括:读请求或写请求。如果为读请求,表示需要读取目标地址信息所标识的地址区间的数据。如果为写请求,表示需要向目标地址信息所标识的地址区间写入数据。
S302、根据上述待访问的数据在上述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与上述目标地址信息匹配的目标安全域。
如前文所述,一个安全域可以对应于flash中特定的存储空间,该存储空间的地址区间记载在安全域的属性信息中,同时,待访问的数据在存储器中的目标地址信息表示一个地址区间。基于安全域的属性信息所记载的特定的存储空间的地址区间以及待访问数据的地址区间,可以判断出是否存在与目标地址信息匹配的目标安全域。
其中,目标安全域与目标地址信息匹配,可以指目标安全域对应的存储空间与目标地址信息所标识的地址区间存在重叠,即待访问的数据中的部分或全部属于目标安全域对应的存储空间。本申请中,当目标安全域与目标地址信息匹配时,可以称作待访问的数据落入该目标安全域内。
S303、若是,则根据上述目标安全域的属性信息,确定是否允许访问上述目标地址信息所对应地址。
可选的,可以基于属性信息中的权限和/或使能信息来确定是否允许访问目标地址信息所对应地址。应理解,目标地址信息所对应地址,可以表示起始地址和结束地址之间的地址区间。其中,起始地址和结束地址可以相同,也可以不同。
S304、若是,则向上述存储器发送上述数据访问请求。
可选的,可以经由SPI/QSPI控制器将上述数据访问请求发送给存储器。存储器接收到数据访问请求后,可以执行相应的处理。例如,向目标地址信息对应地址中写入数据,或者,从目标地址信息对应地址中读取数据并返回给主芯片,主芯片再将读取的数据发送给数据请求方。
本实施例中,在处理器中设置多个安全域,每个安全域包括一个寄存器组,用来记载安全域对应的存储器的地址空间及其访问权限信息等属性信息,当处理器接收到数据访问请求后,根据待访问的地址以及安全域的属性信息,可以确定待访问的地址是否落入某个安全域内,如果落入,再根据该安全域的属性信息确定是否允许访问该安全域对应地址,若允许访问,才将数据访问请求转发至存储器中。因此,通过设置安全域,可以使得存储器中的数据得到精准灵活的访问控制,同时,不会增加任何的硬件成本。
例如,对于某种类型的固件,在已知该固件在存储器中的存储地址的前提下,可以为该固件的存储地址配置安全域,来配置该存储地址及其访问权限,当某个数据访问请求需要访问该固件的存储地址时,即可以基于安全域的属性信息实现对固件的存储地址的访问控制,从而保证固件的安全。
作为一种可选的实施方式,上述步骤S302的一种可选方式包括:
若上述数据访问请求为来自普通执行环境的数据访问请求,则根据上述待访问的数据在上述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与上述目标地址信息匹配的目标安全域。
如前文所述,普通执行环境是指REE,相比于TEE,REE属于不可信的环境,因此,如果是来自REE的数据访问请求,则可以使用根据上述待访问的数据在上述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与上述目标地址信息匹配的目标安全域,从而可以保证目标安全域对应地址的安全。
作为一种可选的实施方式,上述方法还包括:
若上述数据访问请求为来自可信执行环境的数据访问请求,则向上述存储器发送上述数据访问请求。
可选的,可信执行环境为TEE,TEE的数据访问请求的请求方属于可信的请求方,因此,如果数据访问请求来自TEE,则处理器可以不需要基于安全域的属性信息进行过滤,而是直接将数据访问请求发送至存储器,从而在保证数据安全的同时保证数据访问的效率。
作为一种可选的实施方式,上述步骤S302包括:
若第一安全域的使能信息不为旁路模式,且上述目标地址信息与上述第一安全域对应的存储器中的地址区间存在重叠,则确定上述第一安全域为与目标地址信息匹配的目标安全域。
其中,上述第一安全域可以为处理器所包括的多个安全域中的任意一个安全域。
可选的,对于第一安全域来说,如果不为旁路模式,表示第一安全域处于使能状态,如果目标地址信息与第一安全域对应的存储器中的地址区间存在重叠,表示待访问的数据落入了第一安全域的范围内,如果同时满足这两种条件,则表明需要进一步使用第一安全域的属性信息来确定数据访问请求是否被允许。
值得说明的是,经过上述过程确定的目标安全域可能为一个,也可能为多个。当为一个时,直接基于下述实施例中的方式确定是否允许访问。当为多个时,只有全部的目标安全域均允许访问,才允许访问。
作为一种可选的实施方式,上述步骤S302包括:
若各安全域的使能信息为旁路模式,或上述目标地址信息与各安全域对应的存储器中的地址区间不存在重叠,则确定不存在与上述目标地址信息匹配的目标安全域,并向上述存储器发送上述数据访问请求。
可选的,对于处理器中的多个安全域,可以依次分别基于上述的判断方式确定每个安全域是否为目标安全域,如果遍历所有的安全域之后,不存在满足上述条件的目标安全域,则可以确定待访问的数据未落入任何的安全域,即,待访问的数据并不需要进行严格的安全控制,在这种情况下,可以直接将上述数据访问请求发送给上述存储器,从而保证数据的正常访问。
示例性的,假设共有三个安全域,分别为安全域A、安全域B和安全域C,其中,安全域A为旁路模式,因此,待访问的数据未落入安全域A内。同时,安全域B不为旁路模式但是地址区间与待访问的数据的目标地址信息不重叠,因此,待访问的数据未落入安全域B。另外,安全域C不为旁路模式但是地址区间与待访问的数据的目标地址信息不重叠,因此,待访问的数据未落入安全域C。经过上述判断可知,待访问的数据未落入安全域A、安全域B和安全域C中的任何一个安全域内,因此,可以确定不存在与目标地址信息匹配的目标安全域,进而可以向存储器发送数据访问请求。
上述实施例说明了确定是否存在待访问的数据所落入的目标安全域的过程,如果某个安全域被确定为目标安全域,则可以通过下述实施例继续确定是否允许访问目标安全域。
作为一种可选的实施方式,上述步骤S303包括:
若上述数据访问请求中的访问类型与上述目标安全域的访问权限匹配,则确定允许访问上述目标地址信息所对应地址,否则,确定不允许访问上述目标地址信息所对应地址。
如前文所述,数据访问请求中的访问类型可以为读请求或写请求。
为便于描述,将数据访问请求中的访问类型简称为访问类型,将目标安全域的访问权限简称为访问权限。
可选的,上述数据访问请求中的访问类型与上述目标安全域的访问权限匹配,可以指访问类型与访问类型一致,或者,访问类型的权限低于访问权限。一种示例中,访问类型为读请求,而访问权限仅为读权限,则可以确定二者匹配。另一种示例中,访问类型为写请求,而访问权限为读权限和写权限,则可以确定二者匹配。再一种示例中,访问类型为读请求,而访问权限为读权限和写权限,则可以确定二者匹配。
如果访问类型和访问权限匹配,则表明数据访问请求对目标安全域对应地址的访问是安全的,因此,可以允许访问目标地址信息所对应地址,反之,确定二者不匹配,并且不允许访问目标地址信息所对应地址,处理器可以丢弃或拒绝上述数据访问请求,从而保证目标安全域对应地址的安全性。
如前文所述,安全域的属性信息可以包括:安全域对应的存储器中的地址区间、安全域对应的存储器中的地址区域的访问权限以及使能信息。安全域对应的存储器中的地址区间可以通过起始地址以及结束地址来表示,即,安全域对应的存储器中的地址区间可以包括:起始地址和结束地址。安全域对应的存储器中的地址区域的访问权限可以包括:写权限和读权限。使能信息可以用于指示该安全域是否使能。
除了上述的属性外,作为一种可选的实施方式,上述安全域的属性信息还可以包括:状态信息。
其中,上述状态信息可以用于标识非法访问上述安全域对应的存储器中的地址区间的信息。
示例性的,状态信息可以包括:非法访问安全域对应的存储器中的地址区间的时间、请求方标识等。
通过安全域记录对应地址区间的非法访问的状态信息,使得处理器可以基于状态信息识别出非法请求方并做出相应的应对处理,进一步提升计算机系统的安全性。
如前文所述,每个安全域可以包括一个寄存器组,寄存器组中可以包括多个寄存器,可以用于记录上述的属性信息。图4为安全域的示例性结构示意图,如图4所示,安全域的寄存器组中可以包括:起始地址寄存器、结束地址寄存器、读权限寄存器、写权限寄存器、使能信息寄存器、状态信息寄存器。
其中,起始地址寄存器用于记录安全域对应的存储器中的地址区间的起始地址。结束地址寄存器用于记录安全域对应的存储器中的地址区间的结束地址。读权限寄存器用于记录安全域对应的存储器中的地址区间的读权限,例如,1可以表示允许读,0可以表示不允许读。写权限寄存器用于记录安全域对应的存储器中的地址区间的写权限,例如,1可以表示允许写,0可以表示不允许写。使能信息寄存器用于记录安全域的使能状态,例如,1可以表示旁路模式,0可以表示非旁路模式。状态信息寄存器用于记录安全域的状态信息。
基于同一发明构思,本申请实施例中还提供了与数据访问方法对应的数据访问装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述数据访问方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
图5为本申请实施例提供的一种数据访问装置的模块结构图,该装置应用于计算机设备的处理器,所述计算机设备包括处理器和存储器,所述处理器中包括至少一个安全域,各安全域分别包括一个寄存器组,所述寄存器组包括多个寄存器,所述寄存器组用于存储所述安全域的属性信息,所述安全域的属性信息至少包括:所述安全域对应的所述存储器中的地址区间、访问权限以及使能信息。如图5所示,该装置包括:
接收模块501,用于接收数据访问请求,所述数据访问请求中包括待访问的数据在所述存储器中的目标地址信息以及访问类型,所述访问类型包括:读请求或写请求。
第一确定模块502,用于根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域。
第二确定模块503,用于在存在与所述目标地址信息匹配的目标安全域时,根据所述目标安全域的属性信息,确定是否允许访问所述目标地址信息所对应地址。
发送模块504,用于在允许访问所述目标地址信息所对应地址时,向所述存储器发送所述数据访问请求。
作为一种可选的实施方式,第一确定模块502具体用于:
若所述数据访问请求为来自普通执行环境的数据访问请求,则根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域。
作为一种可选的实施方式,发送模块504还用于:
若所述数据访问请求为来自可信执行环境的数据访问请求,则向所述存储器发送所述数据访问请求。
作为一种可选的实施方式,第一确定模块502具体用于:
若第一安全域的使能信息不为旁路模式,且所述目标地址信息与所述第一安全域对应的所述存储器中的地址区间存在重叠,则确定所述第一安全域为与目标地址信息匹配的目标安全域。
作为一种可选的实施方式,第一确定模块502具体用于:
若各安全域的使能信息为旁路模式,或所述目标地址信息与各安全域对应的所述存储器中的地址区间不存在重叠,则确定不存在与所述目标地址信息匹配的目标安全域,并向所述存储器发送所述数据访问请求。
作为一种可选的实施方式,第二确定模块503具体用于:
若所述数据访问请求中的访问类型与所述目标安全域的访问权限匹配,则确定允许访问所述目标地址信息所对应地址,否则,确定不允许访问所述目标地址信息所对应地址。
作为一种可选的实施方式,所述安全域的属性信息还包括:状态信息;
所述状态信息用于标识非法访问所述安全域对应的所述存储器中的地址区间的信息。
作为一种可选的实施方式,所述安全域对应的所述存储器中的地址区间包括:起始地址和结束地址,所述安全域对应的所述存储器中的地址区间的访问权限包括:读权限和写权限。
所述安全域的寄存器组中包括:起始地址寄存器、结束地址寄存器、读权限寄存器、写权限寄存器、使能信息寄存器、状态信息寄存器。
本申请实施例还提供了一种计算机设备60,如图6所示,为本申请实施例提供的计算机设备60结构示意图,包括:处理器61、存储器62、和总线63。所述存储器62存储有所述处理器61可执行的机器可读指令(比如,图5中的装置中接收模块、第一确定模块、第二确定模块以及发送模块对应的执行指令等),当计算机设备60运行时,所述处理器61与所述存储器62之间通过总线63通信,所述机器可读指令被所述处理器61执行时执行上述方法实施例中的方法步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述实施例中数据访问方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (11)

1.一种数据访问方法,其特征在于,应用于计算机设备的处理器,所述计算机设备包括处理器和存储器,所述处理器中包括至少一个安全域,各安全域分别包括一个寄存器组,所述寄存器组包括多个寄存器,所述寄存器组用于存储所述安全域的属性信息,所述安全域的属性信息至少包括:所述安全域对应的所述存储器中的地址区间、访问权限以及使能信息;
所述方法包括:
接收数据访问请求,所述数据访问请求中包括待访问的数据在所述存储器中的目标地址信息以及访问类型,所述访问类型包括:读请求或写请求;
根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域;
若是,则根据所述目标安全域的属性信息,确定是否允许访问所述目标地址信息所对应地址;
若是,则向所述存储器发送所述数据访问请求。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域,包括:
若所述数据访问请求为来自普通执行环境的数据访问请求,则根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述数据访问请求为来自可信执行环境的数据访问请求,则向所述存储器发送所述数据访问请求。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域,包括:
若第一安全域的使能信息不为旁路模式,且所述目标地址信息与所述第一安全域对应的所述存储器中的地址区间存在重叠,则确定所述第一安全域为与目标地址信息匹配的目标安全域。
5.根据权利要求4所述的方法,其特征在于,所述根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域,包括:
若各安全域的使能信息为旁路模式,或所述目标地址信息与各安全域对应的所述存储器中的地址区间不存在重叠,则确定不存在与所述目标地址信息匹配的目标安全域,并向所述存储器发送所述数据访问请求。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述目标安全域的属性信息,确定是否允许访问所述目标地址信息所对应地址,包括:
若所述数据访问请求中的访问类型与所述目标安全域的访问权限匹配,则确定允许访问所述目标地址信息所对应地址,否则,确定不允许访问所述目标地址信息所对应地址。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述安全域的属性信息还包括:状态信息;
所述状态信息用于标识非法访问所述安全域对应的所述存储器中的地址区间的信息。
8.根据权利要求7所述的方法,其特征在于,所述安全域对应的所述存储器中的地址区间包括:起始地址和结束地址,所述安全域对应的所述存储器中的地址区间的访问权限包括:读权限和写权限;
所述安全域的寄存器组中包括:起始地址寄存器、结束地址寄存器、读权限寄存器、写权限寄存器、使能信息寄存器、状态信息寄存器。
9.一种数据访问装置,其特征在于,应用于计算机设备的处理器,所述计算机设备包括处理器和存储器,所述处理器中包括至少一个安全域,各安全域分别包括一个寄存器组,所述寄存器组包括多个寄存器,所述寄存器组用于存储所述安全域的属性信息,所述安全域的属性信息至少包括:所述安全域对应的所述存储器中的地址区间、访问权限以及使能信息;
所述装置包括:
接收模块,用于接收数据访问请求,所述数据访问请求中包括待访问的数据在所述存储器中的目标地址信息以及访问类型,所述访问类型包括:读请求或写请求;
第一确定模块,用于根据所述待访问的数据在所述存储器中的目标地址信息以及各安全域的寄存器组所保存的安全域的属性信息,确定是否存在与所述目标地址信息匹配的目标安全域;
第二确定模块,用于在存在与所述目标地址信息匹配的目标安全域时,根据所述目标安全域的属性信息,确定是否允许访问所述目标地址信息所对应地址;
发送模块,用于在允许访问所述目标地址信息所对应地址时,向所述存储器发送所述数据访问请求。
10.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如权利要求1至8任一所述的数据访问方法的步骤。
11.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至8任一所述的数据访问方法的步骤。
CN202110570652.9A 2021-05-25 2021-05-25 数据访问方法、装置、计算机设备及可读存储介质 Active CN113312676B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110570652.9A CN113312676B (zh) 2021-05-25 2021-05-25 数据访问方法、装置、计算机设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110570652.9A CN113312676B (zh) 2021-05-25 2021-05-25 数据访问方法、装置、计算机设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN113312676A true CN113312676A (zh) 2021-08-27
CN113312676B CN113312676B (zh) 2022-07-19

Family

ID=77374557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110570652.9A Active CN113312676B (zh) 2021-05-25 2021-05-25 数据访问方法、装置、计算机设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113312676B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821835A (zh) * 2021-11-24 2021-12-21 飞腾信息技术有限公司 密钥管理方法、密钥管理装置和计算设备
CN114911726A (zh) * 2022-07-15 2022-08-16 飞腾信息技术有限公司 数据传输方法、相关装置、系统及计算机可读存储介质
CN115438364A (zh) * 2022-11-07 2022-12-06 南京芯驰半导体科技有限公司 通用输入输出接口的访问方法、系统芯片及车载设备
CN115455397A (zh) * 2022-10-28 2022-12-09 湖北芯擎科技有限公司 一种输入输出接口控制方法及系统
CN115576499A (zh) * 2022-11-10 2023-01-06 广州翼辉信息技术有限公司 一种实时系统访及其访问Flash安全性加强方法
CN115933997A (zh) * 2023-01-30 2023-04-07 南京芯驰半导体科技有限公司 数据访问方法、相关设备及存储介质
CN116303142A (zh) * 2023-03-21 2023-06-23 摩尔线程智能科技(北京)有限责任公司 内存访问控制方法、安全控制器、内存访问控制装置
CN117150583A (zh) * 2023-08-30 2023-12-01 上海合芯数字科技有限公司 一种应用于PNOR flash的访问保护方法及装置
CN117194286A (zh) * 2023-09-08 2023-12-08 上海合芯数字科技有限公司 微控制单元、处理器、访问方法和访问系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101226508A (zh) * 2007-01-17 2008-07-23 三星电子株式会社 保护安全域以避免未授权的存储器访问的系统和方法
CN109308270A (zh) * 2018-09-04 2019-02-05 天津飞腾信息技术有限公司 一种加速虚实地址转换的方法及装置
CN110224996A (zh) * 2019-05-20 2019-09-10 深圳壹账通智能科技有限公司 应用程序的网络访问方法、装置、计算机设备和存储介质
US20200014724A1 (en) * 2018-07-05 2020-01-09 Cisco Technology, Inc. Dynamic dns policy enforcement based on endpoint security posture
US20200082100A1 (en) * 2018-09-10 2020-03-12 John Almeida Storing and using multipurpose secret data
CN112083882A (zh) * 2020-09-04 2020-12-15 南方电网数字电网研究院有限公司 Sram坏点处理方法、系统、装置和计算机设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101226508A (zh) * 2007-01-17 2008-07-23 三星电子株式会社 保护安全域以避免未授权的存储器访问的系统和方法
US20200014724A1 (en) * 2018-07-05 2020-01-09 Cisco Technology, Inc. Dynamic dns policy enforcement based on endpoint security posture
CN109308270A (zh) * 2018-09-04 2019-02-05 天津飞腾信息技术有限公司 一种加速虚实地址转换的方法及装置
US20200082100A1 (en) * 2018-09-10 2020-03-12 John Almeida Storing and using multipurpose secret data
CN110224996A (zh) * 2019-05-20 2019-09-10 深圳壹账通智能科技有限公司 应用程序的网络访问方法、装置、计算机设备和存储介质
CN112083882A (zh) * 2020-09-04 2020-12-15 南方电网数字电网研究院有限公司 Sram坏点处理方法、系统、装置和计算机设备

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821835A (zh) * 2021-11-24 2021-12-21 飞腾信息技术有限公司 密钥管理方法、密钥管理装置和计算设备
CN114911726A (zh) * 2022-07-15 2022-08-16 飞腾信息技术有限公司 数据传输方法、相关装置、系统及计算机可读存储介质
CN115455397A (zh) * 2022-10-28 2022-12-09 湖北芯擎科技有限公司 一种输入输出接口控制方法及系统
CN115438364A (zh) * 2022-11-07 2022-12-06 南京芯驰半导体科技有限公司 通用输入输出接口的访问方法、系统芯片及车载设备
CN115576499A (zh) * 2022-11-10 2023-01-06 广州翼辉信息技术有限公司 一种实时系统访及其访问Flash安全性加强方法
CN115933997A (zh) * 2023-01-30 2023-04-07 南京芯驰半导体科技有限公司 数据访问方法、相关设备及存储介质
CN116303142A (zh) * 2023-03-21 2023-06-23 摩尔线程智能科技(北京)有限责任公司 内存访问控制方法、安全控制器、内存访问控制装置
CN116303142B (zh) * 2023-03-21 2024-03-19 摩尔线程智能科技(北京)有限责任公司 内存访问控制方法、安全控制器、内存访问控制装置
CN117150583A (zh) * 2023-08-30 2023-12-01 上海合芯数字科技有限公司 一种应用于PNOR flash的访问保护方法及装置
CN117150583B (zh) * 2023-08-30 2024-07-05 上海合芯数字科技有限公司 一种应用于PNOR flash的访问保护方法及装置
CN117194286A (zh) * 2023-09-08 2023-12-08 上海合芯数字科技有限公司 微控制单元、处理器、访问方法和访问系统
CN117194286B (zh) * 2023-09-08 2024-03-26 上海合芯数字科技有限公司 微控制单元、处理器、访问方法和访问系统

Also Published As

Publication number Publication date
CN113312676B (zh) 2022-07-19

Similar Documents

Publication Publication Date Title
CN113312676B (zh) 数据访问方法、装置、计算机设备及可读存储介质
CN109766165B (zh) 一种内存访问控制方法、装置、内存控制器及计算机系统
EP3103056B1 (en) Methods and apparatus for protecting operating system data
US8452934B2 (en) Controlled data access to non-volatile memory
TWI620095B (zh) 用以確保存取保護計畫之裝置及有形機器可讀媒體
US8484736B2 (en) Storage device having an anti-malware protection
US9009816B2 (en) Removable memory storage device with multiple authentication processes
EP3074907B1 (en) Controlled storage device access
CN102063583B (zh) 移动储存介质的数据交换方法及其装置
WO2017113582A1 (zh) 数据访问方法、数据访问系统和终端
WO2005081115A1 (en) Application-based access control system and method using virtual disk
CN102184143B (zh) 一种存储设备数据的保护方法、装置及系统
KR20190021673A (ko) 랜섬웨어 방지 장치 및 방법
CN107092838A (zh) 一种硬盘的安全访问控制方法及一种硬盘
CN110543775B (zh) 一种基于超融合理念的数据安全防护方法及系统
JP2018124893A (ja) 計算機システム及びファイルアクセスコントロール方法
CN103473512B (zh) 一种移动存储介质管理方法和装置
CN114707147A (zh) 业务请求处理方法及电子设备
CN101324913B (zh) 计算机文件保护方法和装置
US9178892B2 (en) System and method for managing access to computer resources
US10521150B2 (en) Data processing method and device for nonvolatile memory and storage medium
CN109359488A (zh) 一种安全u盘的软件实现方法
KR101629740B1 (ko) 독립적 메모리 운영 체제를 갖는 정보 저장 장치 및 그 방법
US20220374534A1 (en) File system protection apparatus and method in auxiliary storage device
CN107665175A (zh) 存储器分区隔离的方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant