CN112836245A - 一种访问控制设备和包含该设备的处理器 - Google Patents

一种访问控制设备和包含该设备的处理器 Download PDF

Info

Publication number
CN112836245A
CN112836245A CN201911167963.XA CN201911167963A CN112836245A CN 112836245 A CN112836245 A CN 112836245A CN 201911167963 A CN201911167963 A CN 201911167963A CN 112836245 A CN112836245 A CN 112836245A
Authority
CN
China
Prior art keywords
access
request
storage
storage area
authority
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
Application number
CN201911167963.XA
Other languages
English (en)
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.)
Hangzhou C Sky Microsystems Co Ltd
Original Assignee
Hangzhou C Sky Microsystems 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 Hangzhou C Sky Microsystems Co Ltd filed Critical Hangzhou C Sky Microsystems Co Ltd
Priority to CN201911167963.XA priority Critical patent/CN112836245A/zh
Publication of CN112836245A publication Critical patent/CN112836245A/zh
Pending legal-status Critical Current

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
    • G06F21/72Protecting 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 in cryptographic circuits
    • 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/604Tools and structures for managing or administering access control systems
    • 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
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

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

Abstract

本发明公开了一种访问控制设备,包括访问判断单元和访问控制单元。访问判断单元适于根据访问请求要访问的地址和与该访问请求相关联的用户属性来确定访问请求的访问权限;以及访问控制单元耦接到访问判断单元,适于接收该访问请求,根据访问判断单元为该访问请求确定的访问权限来控制所述访问请求。本发明还公开了相应的方法控制方法、包括该存储控制设备的处理器、片上系统和智能设备。

Description

一种访问控制设备和包含该设备的处理器
技术领域
本发明涉及处理器领域,尤其涉及处理器中的数据访问控制领域。
背景技术
随着物联网和嵌入式系统的快速发展,在处理器领域,为了安全考虑,需要保护在一些特定存储设备或者存储设备的特定区域中的数据,以防止未经许可的访问以及被篡改。诸如EFUSE(电子熔丝)这样的一次性可编程非易失性的存储器,能够在跟随设备出厂之后,仍然可以写入一些不被篡改的数据,而越来越广范地被应用。
这类存储器可以用于存放芯片调整信息、启动设定信息及其他特定设置信息,甚至还可存储一些安全相关敏感信息,比如加解密密钥等。这样随之出现的问题是,在这类存储上存储的数据,在没有有效保护的前提下很容易被读取或者篡改,可能会造成巨大损失。因此,需要专门针对这类存储的安全保护方案。
现有的针对这类存储器的数据保护方法是在芯片内设定一个开关,如果开关打开则可以读写存储器,否则就不可读写。这种类似锁定的方式不够灵活,而且很容易被绕过。
一些芯片采用TEE(可信执行环境),将芯片中的执行环境划分为可信状态和非可信状态,并分别为可信状态和不可信状态设置不同的访问权限,解决了针对各种系统资源的存储安全问题。但在TEE中并没有定义针对诸如EFUSE这样的一次性可编程非易失性的存储器的安全访问机制,因此也没用解决针对这类存储设备的安全访问问题。
因此,需要一种新的访问控制方案,可以针对诸如EFUSE这样的一次性可编程非易失性的存储器提供灵活并且可靠的访问方式,以防止数据被未经许可读取或者篡改。
发明内容
为此,本发明提供了一种新的方法控制设备、方法控制方法、处理器和片上系统,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种访问控制设备,适于控制对存储设备的访问,该存储设备划分为多个存储区域,每个存储区域具有相应的访问权限。该访问控制设备包括访访问判断单元和访问控制单元。访问判断单元适于根据访问请求要访问的地址来确定要访问的存储区域,并根据与该访问请求相关联的用户属性来确定访问请求访问所确定的存储区域的访问权限以作为该访问请求访问存储设备的访问权限。访问控制单元耦接到访问判断单元,适于接收该访问请求,根据访问判断单元为该访问请求确定的访问权限来控制该访问请求。
可选地,在根据本发明的访问控制设备中,访问判断单元包括区域划分装置、权限设置装置和判断装置。区域划分装置适于将存储设备划分为多个存储区域,每个存储区域不重叠,并具有相应的位置和大小。权限设置装置为每个存储区域设置与用户属性相对应的访问权限。判断装置耦接到区域划分装置和权限设置装置,适于接收访问请求要访问的存储位置,确定该访问请求要访问的存储区域,以及为所确定的存储区域确定与访问请求相关联的用户属性相对应的访问权限,并将所确定的访问权限设置为该访问请求的访问权限。
可选地,在根据本发明的访问控制设备中,该访问请求包括读取请求,区域划分装置包括读区域划分装置,适于将存储设备划分为多个读存储区域。权限设置装置包括读权限设置装置,适于为每个读存储区域设置与用户属性相对应的读访问权限。判断装置包括读判断装置,适于确定读取请求要访问的存储位置所属的读存储区域,以及为所确定的读存储区域确定与读取请求相关联的用户属性相对应的读访问权限,并将所确定的读访问权限设置为读取请求的访问权限。
可选地,在根据本发明的访问控制设备中,该访问请求包括写入请求,区域划分装置包括写区域划分装置,适于将存储设备划分为多个写存储区域。权限设置装置包括写权限设置装置,适于为每个写存储区域设置与用户属性相对应的写访问权限。判断装置包括写判断装置,适于确定写入请求要访问的存储位置所属的写存储区域,以及为所确定的写存储区域确定与写入请求相关联的用户属性相对应的写访问权限,并将所确定的写访问权限设置为写入请求的访问权限。
可选地,在根据本发明的访问控制设备中,每个读存储区域具有预定大小,距离读基址具有不同距离且不重叠;以及每个写存储区域具有预定大小,距离写基址具有不同距离且不重叠。
可选地,在根据本发明的访问控制设备中,读存储区域的大小包括下列中的一个或者多个:字节、半字和字;以及写存储区域的大小包括下列中的一个或者多个:位、字节、半字和字。
可选地,在根据本发明的访问控制设备中,读访问权限包括可读和不可读,所述写访问权限包括可写和不可写;以及用户属性包括下列中的一个或者多个:可信内核超级用户、可信内核普通用户、非可信内核超级用户和非可信内核普通用户。
可选地,在根据本发明的访问控制设备中,访问控制单元包括权限使能开关,适于启动权限控制和关闭权限控制。访问控制单元适于在关闭权限控制时,允许访问请求对所述存储设备的访问;以及在启动权限控制时,根据访问判断单元所确定的访问权限来控制访问请求对所述存储设备的访问。
可选地,在根据本发明的访问控制设备中,访问请求包括要访问的存储位置和存储空间大小;以及判断装置适于根据存储位置和大小确定访问请求对应的一个或者多个存储区域,并为所确定的一个或者多个存储区域中的每个存储区域确定与访问请求相关联的用户属性相对应的访问权限,组合为每个存储区域确定的访问权限来确定所述访问请求的访问权限。
可选地,在根据本发明的访问控制设备中,存储设备是一次性可编程非易失性的存储器,特别是电子熔丝存储器。
根据本发明的另一个方面,提供了一种对存储设备的访问控制方法,该存储设备划分为多个存储区域,每个存储区域具有相应的访问权限。该访问控制方法包括步骤:接收访问请求要访问的地址和与该访问请求相关联的用户属性;根据存储位置来确定要访问的存储区域,并根据用户属性来确定该访问请求对存储区域的访问权限,以作为该访问请求的访问权限;以及接收该访问请求,并根据所确定的访问权限来控制对该访问请求。
根据本发明的另一个方面,提供了一种处理器,包括存储设备,适于存储数据;指令处理装置,适于进行指令处理,并适于发送访问请求以便来访问存储设备中的数据;以及根据本发明的访问控制设备,耦接到指令处理装置和存储设备,适于控制指令处理设备对存储设备的访问请求。
根据本发明的还有另一个方面,提供了一种片上系统,包括根据本发明的指令处理装置或者处理器。
根据本发明的还有另一个方面,还提供了一种智能设备,包括根据本发明的片上系统。
根据本发明的方案,先将存储设备划分为多个存储区域,并为每个存储区域设置与用户属性相关的访问权限;当接收到访问请求时,先根据该访问请求要访问的地址确定要访问的存储区域,并随后利用总线来获取与该访问请求相关联的用户属性,根据用户属性和存储区域来确定该访问请求的访问权限,并利用该访问权限来控制对存储器的访问,从而可以防止未经许可对该存储器的访问。另外,由于可以事先以存储区域为单位进行权限配置,置,可以提供灵活的配置方式,进而可以提供灵活的访问方式。
另外,根据本发明的方案,可以针对读请求和写请求分别设置不同的读存储区域和写存储区域,从而将针对读访问请求和写访问请求的访问控制分离开来,进一步提高了访问控制的灵活性。
进一步,根据本发明的方案,在访问请求要访问的存储空间较大时,可以将存储空间拆分到不同的存储区域,并组合每个存储区域的访问权限结果来提供最终的访问权限。这种方案不仅可以支持针对较大空间的访问请求,还可以为这样的访问请求提供访问控制,从而进一步提高了访问控制的灵活性。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的指令处理装置的示意图;
图2示出了根据本发明一个实施例的访问控制设备的示意图;
图3示出了根据本发明另一个实施例的访问控制设备的示意图;
图4示出了根据本发明一个实施例的访问控制方法的流程示意图;
图5A和5B示出了根据本发明一个实施例的专用存储设备的存储区域划分示意图;
图6示出了根据本发明一个实施例的处理器的示意图;以及
图7示出了根据本发明的一个实施例的片上系统(SoC)的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整整的传达给本领域的技术人员。
图1是根据本发明一个实施例的指令处理装置100的示意图。在一些实施例中,指令处理装置100可以是处理器、多核处理器的处理器核、或者电子系统中的处理元件。
如图1所示,指令处理装置100包括取指令单元130。取指令单元130可以从高速缓存110、存储设备120或其他源获取要处理的指令,并发送给解码单元140。取指令单元130所取出的指令包括但不限于高级机器指令或者宏指令等。处理装置100通过执行这些指令来完成特定功能。
解码单元140接收从取指令单元130传入的指令,并且解码这些指令以生成低级微操作、微代码进入点、微指令或其他低级指令或控制信号。它们反映了所接收的指令或者从所接收的指令导出。低级指令或控制信号可通过低级(例如,电路级或硬件级)操作来实现高级指令的操作。可使用各种不同的机制来实现解码单元140。合适机制的示例包括但不限于,微代码、查找表、硬件实现、可编程逻辑阵列(PLA)。本发明不受限于实现解码单元140的各种机制,任何可以实现解码单元140的机制都在本发明的保护范围之内。
随后,这些经解码的指令被发送到执行单元150,并由执行单元150执行。执行单元150包括可操作用于执行指令的电路。执行单元150在执行这些指令时,从寄存器组170、高速缓存110和/或存储设备120接收数据输入并向它们生成数据输出。
另外,在一个实施例中,执行单元150在执行一些指令时,从其它专用的存储设备160接收数据输入,并将数据写入专用存储设备160中。这样的专用存储设备160包括一次性可编程非易失性存储器,例如EFUSE(电子熔丝)存储器。这种类型的存储器可以在出厂之后,由执行单元150写入一次性的数据并被重复读取,因此特别适合保存专门的密钥、处理器的适配信息和启动信息等。
图5A和5B示出了根据本发明一个实施例的专用存储设备(特别是EFUSE)160的示意图。诸如EFUSE这样的一次性可编程非易失性存储器160可以在存储器160出厂之后,每个存储位置还能写入数据一次,当不能被多次写入数据,而在每个存储位置读取数据则不受限制。由于这样的存储特性,所以存储器160特别适于存储密钥信息、处理器的功能调整信息、版本信息等,并在物联网和IoT设备中得到越来越多的应用。
另外,由于写入和读取的特点不同,EFUSE可以支持以不同的基本单位来进行,例如EFUSE支持以位为单位进行数据写入,并以字节为单元进行数据读取。当专用存储设备备在指令处理装置100中使用时,会映射到指令处理装置100的整个存储空间中。图5A示出了当进行数据写入情况下对专用存储设备160的区域划分,而图5B示出了当进行数据读取情况下对专用存储设备160的区域划分。
如图5A所示,在数据写入情况下,在把专用存储设备160映射到指令处理装置100的存储空间中之后,整个专用存储设备可以看出从专用存储设备的写基址510开始、基本单位为位的一段存储空间。存储空间可以划分为多个写存储区域512a,512b,512c…512d等。每个写存储区域不重叠,并可以具有相同或者不同的大小。如图5A所示,存储区域512a包括8位,而存储区域512b和512c分别包括4位,存储区域512d则包括16位。本发明不受限于对写存储区域512的具体划分方式。例如写存储区域512的大小可以设置为位、字节、半字、字和多个字等。
类似的,如图5B所示,在数据读取的情况下,在把专用存储设备160映射到指令处理装置100的存储空间中之后,整个专用存储设备可以看出从专用存储设备的读基址520开始、基本单位为字节的一段存储空间。存储空间可以划分为多个读存储区域522a,522b,522c…522d等。每个读存储区域不重叠,并可以具有相同或者不同的大小。如图5B所示,存储区域522a包括1个字节,而存储区域522b和522c分别包括半字(2个字节),存储区域522d则包括1个字(4个字节)。本发明不受限于对写存储区域522的具体划分方式。例如写存储区域522的大小可以设置为字节、半字、字和多个字等。
如图5A和5B所示,上面针对写存储区域512和读存储区域522的划分是相对独立的,同一个存储位置,可能属于不同的写存储区域和读存储区域,并因此针对用户属性具有不同的访问权限。通过这样的设置,可以提供为每个存储位置进行权限设置的灵活方式。
另外,图5A和5B所示的存储区域划分是可以改变的,例如可以通过编程来改变存储区域的设置,这样就可以对存储区域的设置进行配置,使得区域划分更加灵活。
返回到图1,在一个实施例中,寄存器组170包括架构寄存器,架构寄存器也被称为寄存器。除非另外予以规定或清楚明显可知,在本文中,短语架构寄存器、寄存器组、以及寄及寄存器用于表示对软件和/或编程器可见(例如,软件可见的)和/或由宏指令指定来标识操作数的寄存器。这些寄存器不同于给定微架构中的其他非架构式寄存器(例如,临时寄存器、重排序缓冲器、引退寄存器等)。根据一个实施例,寄存器组170可以包括一组矢量寄存器存器175,其中的每个矢量寄存器175可以是512位、256位、或128位宽,或者可以使用不不同的向量宽度。可选地,寄存器组170还可以包括一组通用寄存器176。通用寄存器176可可以在执行单元执行指令时使用,例如存储跳转条件、存储指令运算结果、存储要访问数据据的地址,存储从高速缓存110和/或存储设备120读取的数据等。
执行单元150可以包括多个具体的指令执行单元150a、150b…150c等,这些指令执行单元诸如例如算术单元、算术逻辑单元(ALU)、整数单元、浮点单元、数据存取单元等,并且可以分别执行不同类型的指令。
例如,指令执行单元150a为数据存取单元,可以执行与数据操作相关的指令。与数据操作相关的指令包括数据存储指令和数据加载指令。数据存储指令用于向高速缓存110或存储设备120写入数据。而数据加载指令用于从高速缓存110或存储设备120读取数据。
指令执行单元150b为另一种数据存取单元,可以执行针对专用存储设备160的数据操作相关的指令(包括数据存储指令和数据加载指令)。数据存储指令用于向专用存储设备160写入数据,而数据加载指令用于从专用存储设备160读取数据。
应当注意的是,上面分别以两个不同的指令执行单元的方式说明了从高速缓存110、存储设备120和专用存储设备160读取或者写入数据的指令单元,但是,这个描述仅仅是示意性的,这些指令执行单元可以进一步细分或者合并为一个指令执行单元而没有脱离本发明的保护范围。
指令执行单元150b经由总线180发送访问专用存储设备160的访问请求。访问控制设备200耦接到总线180,接收从指令处理装置100,特别是指令执行单元150b发出的访问请求,并对该访问请求进行分析以判定是否允许该访问请求。当访问控制设备200允许该访问请求时,则允许指令处理装置100利用该访问请求对专用存储设备160的访问。访问控制设备200还从指令处理装置100获取与当前正在执行的指令相关联的用户属性信息,即被执行而发出访问请求的指令所处的系统环境,以用于对访问请求的判定。由于访问请求由当前正在执行的指令发出,因此,系统环境来对访问请求进行判定不仅仅考虑到要访问的存储器位置,还考虑到了发出请求的发起方,这样增加了一个对请求进行判定的维度,从而增加了对访问请求进行判断的安全性和灵活性。根据一种实施方式,访问控制设备200耦接到指令处理装置100,以便从指令处理装置100的特定端口获取用户属性信息。访问控制设备200也可以经由总线180读取指令处理装置100中的特定寄存器上的值来获取用户属性信息。本发明不受限于访问控制设备200和指令处理装置100的连接方式,任何可以从指令处理装置100获取用户属性值的方式都在本发明的保护范围之内。
根据一个实施方式,指令处理装置100可以可信执行环境(TEE)的方式运行,即指令处理装置100划分为可信内核和非可信内核。可信内核和非可信内核以及相关的资源分别构成可信世界和非可信世界。为了保证安全,二者在逻辑上是独立的。当指令处理装置100处于可信执行环境中,就可以访问可信内核中专有的可信资源。指令处理装置100也可以处于非可信执行环境中,并可以访问非可信内核中专有的非可信资源。
进一步的,指令处理装置100还可以包括超级用户模式和普通用户模式。在可信内核和非可信内核中都具有超级用户和普通用户模式。指令处理装置100包括下列用户属性:可信内核超级用户模式、可信内核普通用户模式、非可信内核超级用户模式和非可信内核普通用户模式。
指令存储装置100可以在寄存器组170中的程序状态寄存器PSR 178中设置用户属性,例如PSR 178中的内核标识位T指示指令处理装置100当前处于可信内核(例如T位的值为1)还是非可信内核(T位值为0)中执行指令。PSR 178中的用户状态位S以指示指令处理装置100当前处于超级用户模式(S位的值为1)还是普通用户模式(S位的值为0)。因此,可以根据程序状态寄存器PSR中的T和S位的值,来确定指令处理装置100的用户属性。
根据一种实施方式,在可信执行环境TEE下,可以将一些敏感信息存储到专用存储设备160中,并由访问控制设备200来访问。例如,指令处理装置100可以提供专门的加解密功能,并将密钥存储到专用存储设备160的预定区域中。当需要密钥来进行加解密处理时,指令处理装置100从非可信内核切换到可信内核,并可以在可信内核中,以超级用户或者普通用户身份来经由访问控制设备200来读取在专用存储设备160中存储的密钥。而当要更新密钥时,由于专用存储设备160为诸如EFUSE这样的、一次性可编程存储器,因此,可以使之前的密钥无效,并写入新的有效密钥。在这种情况下,指令处理装置100从非可信内核切换到可信内核,并以超级用户的身份来经由访问控制设备200访问专用存储设备160,写入最新的密钥,随后在访问控制设备200中设置不能访问之前的密钥而使之前的密钥失效。同样,在可信执行环境中,当处理装置100以非可信内核执行时,则不能通过访问控制设备200来访问专用存储设备160中存储的密钥。因此,需要在访问控制设备200中进行相应的用户属性设置,以控制对专用存储设备160中数据的访问请求。
根据一种实施方式,专用存储设备160经由访问控制设备200而耦接到总线180。另外,可选地,专用存储设备160可以不经由访问控制设备200而耦接到总线180。本发明不受限于专用存储设备160和总线180的耦接方式,所有可以在访问控制设备200的控制下为来自指令处理装置100的访问请求进行处理的方式都在本发明的保护范围之内。
为了避免混淆描述,已示出和描述了相对简单的指令处理装置100。应当理解,指令处理装置100可以具有不同的形式,例如指令处理装置或处理器的其他实施例可具有多个核、逻辑处理器或执行引擎。
图2示出了根据本发明一个实施例的访问控制设备200的示意图。图3是图2所示的访问控制设备200的进一步描述。应当注意的是,在图2和3中,根据要在访问控制设备200中实现的存储控制功能而对访问控制设备200中的各个部件进行了逻辑划分,这些逻辑划分方式是示意性的,并且可以根据实际的物理布局和业务需要而进行重新划分。所以这些都没有脱离本发明的保护范围。图4是对在访问控制设备200中执行的访问控制方法400的描述。图4所示方法可以由图2和3所示的各个部件来完成。当图2和3所示的部件进行重新组合和划分时,可以根据新部件所承载的逻辑而完成相应的方法步骤,且没有脱离本发明的保护范围。
如图2所示,访问控制设备200包括访问判断单元210和访问控制单元220。访问控制设备200经由总线180接收指令处理装置100的、对专用存储设备160的访问请求。如上参考图5所述,专用存储设备160可以划分为多个存储区域,每个存储区域具有相应的访问权限。
访问判断单元210获取该访问请求中的地址信息,即该访问请求要访问的、在存储设备160上的存储位置。同时,访问判断单元210经由总线180获取与该访问请求相关联的用户属性。例如,当指令处理装置100中具有TEE时,访问判断单元210经由总线180来获取发出该访问请求的执行指令是在什么执行环境下由什么用户执行的用户属性。如上所述,用户属性包括:可信内核超级用户模式、可信内核普通用户模式、非可信内核超级用户模式和非可信内核普通用户模式。
访问判断单元210根据所获取的、访问请求要访问的存储位置信息来确定该存储位置所处的存储区域,并根据所获取的用户属性信息来确定该访问请求对所确定存储区域的访问权限,以作为该访问请求的访问权限,例如是允许该访问请求对专用存储设备160的访问还是拒绝该访问。
访问控制单元220耦接到访问判断单元210,并同样接收上述访问请求。访问控制单元元220根据访问判断单元210确定的、该访问请求的访问权限来控制该访问请求对专用存储储设备160的访问。当访问判断单元210确定的访问权限是运行该访问请求的访问时,则访访问控制单元220允许该访问请求对专用存储设备160的访问。相反,当访问判断单元210确定的访问权限是拒绝该访问时,则访问控制单元220拒绝该访问请求对存储设备160的访问。
可选地,根据一种实施方式,访问控制单元220包括权限使能开关222。权限使能开关222用于确定是否参考访问判断单元210确定的访问权限来控制该访问请求的访问。当权限使能开关222启动权限控制时(例如,使能开关打开而使能时),则访问控制单元220根据访问判断单元210确定的访问权限来控制访问。相反,当权限使能开关222关闭权限控制时(例如,使能开关断开而不使能时),则访问控制单元220直接允许该访问请求的访问。
专用存储设备160以预定单位来存储数据。例如,电子熔丝(EFUSE)存储器逐位存储数据。如果逐位地设置在存储设备160上的数据访问权限,需要相当大的工作量而且设置过程非常复杂。并考虑到一些数据,特别是相关联的数据可能连续地存储在存储设备160上而占据连续的存储空间。因此,根据本发明的一种实施方式,可以将存储设备160的存储空间划分为多个存储区域,并逐个存储区域地进行权限设置。
如图2所示,访问判断单元210包括区域划分装置212、权限设置装置214和判断装置216。区域划分装置212将存储设备160的存储空间划分为多个存储区域。每个存储区域具有预定位置和大小。存储区域不相互重叠。根据一种实施方式,存储设备160在使用时,映射到指令执行装置100能访问的存储空间中。因此分配给存储设备160的存储空间具有基址(基础地址)和相对应基址的空间大小。区域划分装置212将参考基址,将存储空间进一步划分为具有预定大小的多个存储区域。各个存储区域的大小可以是相同的,也可以是不同的,本发明都受限于此。
权限设置装置214为每个存储区域设置与用户属性相对应的访问权限。如上所述,在TEE(可信执行环境)下,权限设置装置214设置在可信内核超级用户、可信内核普通用户、非可信内核超级用户和非可信内核普通用户等属性下访问每个存储区域的权限。例如,一些存储加密密钥的存储区域仅仅允许在可信内核超级用户模式下写入、在可信内核普通用户模式下读取、并在其它模式下都不可写入和读取;一些存储指令执行装置100的启动信息的存储区域则允许在可信内核中的两个模式下写入和读取,并允许在其它模式下读取但是不可写入。
判断装置216耦接到区域划分装置212和权限设置装置214。判断装置216接收访问请求要访问的地址信息,参考区域划分装置212划分的存储区域来确定该地址信息属于哪个存储区域。如上所述,当指令执行装置100发出针对专用存储设备160的访问请求时,由于存储设备160的存储空间已经映射到指令执行装置100可以访问的整体存储空间中了,所以该访问请求中包括要访问的、对应于存储设备160的存储空间的基址和相对于该基址的空间位置。区域划分装置212可以确定该空间位置相对于基址的距离来确定该位置位于哪个存储区域中。
在确定了存储区域之后,判断装置216参考权限设置装置214为该存储区域所设置的访问权限,根据获得的当前用户属性来确定对所确定的存储区域的访问权限,并将所确定的访问权限设置为本次访问请求的访问权限。例如,假定当前的用户属性是可信内核普通用户模式,而访问请求要访问的区域是存储加密密钥的存储区域,如果访问请求是读取请求,则判断装置216的判断结果是允许该访问请求的访问;相反,如果访问请求是写入请求,则判断装置216的判断结果是拒绝该访问请求的访问。
利用图2所示的访问控制设备200,预先将专用存储设备160的存储空间划分为多个存储区域,并为每个存储区域设置与用户属性对应的访问权限。当从指令执行装置100收到对专用存储设备160的访问请求时,可以先根据访问请求要访问的地址确定该地址所处的存储区域,并根据发出访问请求的指令所处的装置100的用户属性来确定对该存储区域的访问权限,随后,根据该访问权限来确定是否允许该访问请求的访问。利用这样的方式,可以灵活地控制对专用存储设备160的访问。
可选地,考虑到对专用存储设备160这样、诸如EFUSE(电子熔丝)这样的一次性可编程非易失性存储器的访问,对写入和读取的要求通常是不同的。例如,根据一种实施例,EFUSE存储器允许以位为单位来写入数据,但是以字节为单位来读取数据,并且这些存储器对于写入和读取也通常会设置不同的权限。因此,根据本发明的一个实施方式,可以考虑写入请求和读取请求的不同而进一步划分访问控制设备200。
图3示出了根据本发明另一个实施例的访问控制设备200的示意图。图3所示的访问控制设备200是图2所示的访问控制设备的进一步实施例,因此,在图2和3中,用相同或者相似的标记来指示相同或者相似的部件。
如图3所示,区域划分装置212包括读区域划分装置311和写区域划分装置312。读区域划分装置312将存储设备160的存储空间划分为多个读存储区域,类似地,写区域划分装置314将存储设备160的存储空间划分为多个写存储区域。每个读存储区域不相互重叠,写存储区域也不相互重叠。
读存储区域和写存储区域的划分是相互独立的,二者可以具有不同的大小和空间。例如,就指令执行装置100所确定的整体存储空间来说,专用存储设备160映射到存储空间中的读基址和写基址可以不同,因此可以针对读基址和空间大小来进行读存储区域的划分,而且每个读存储区域的大小可以不同,类似地,可以针对写基址和空间大小来进行写存储区域的划分,而且每个写存储区域的大小同样可以不同。
例如,对于读存储区域来说,由于诸如EFUSE存储器这样的专用存储设备的读取单位是字节,所以读存取区域的大小可以设置为字节、半字、字和多个字中的一个或者多个。而考虑到EFUSE存储器的写入单位是位,所以写存储区域的大小可以设置为位、字节、半字、字和多个字中的一个或者多个。
权限设置装置214包括读权限设置装置313和写权限设置装置314。读权限设置装置313为每个读存储区域设置与用户属性相对应的访问权限。读权限设置装置313为访问请求中的读取请求设置如可读和不可读这样的访问权限。例如,对于上面示例中的存储加密密钥的存储区域,读权限设置装置313为可信内核超级用户模式和可信内核普通用户模式设置可读权限,为其它模式设置不可读权限。
类似地,写权限设置装置314为每个写存储区域设置与用户属性相对应的访问权限。写权限设置装置313为访问请求中的写入请求设置如可写和不可写这样的访问权限。例如,同样对于上面示例中的存储加密密钥的存储区域,写权限设置装置314为可信内核超级用户模式设置可写权限,为其它模式设置不可写权限。
判断装置216包括读判断装置315和写判断装置316。读判断装置315根据读区域划分装置311和读权限设置装置313的读存储区域划分和读权限设置来为读取请求进行权限设置,而写判断装置316根据写区域划分装置312和写权限设置装置315的写存储区域划分和写权限设置来为写入请求进行权限设置。
判断装置216在接收到访问请求时,确定该访问请求是写入请求还是读取请求。如果访访问请求是读取请求,则由读判断装置315进行处理,获取读取请求要访问的地址信息,例如,读取请求的读取基址和读取位置,并从读区域划分装置311中获取该读取位置所处的读存储区域。随后,读判断装置315参考读权限设置装置313为该读存储区域设置的访问问权限,根据所获得的当前用户属性来确定对该读存储区域的访问权限,并将所确定的访问权限作为该读取请求的访问权限(可读和不可读之一)。
相应地,当访问请求是写入请求时,则由写判断装置316进行处理,获取写入请求要访问的地址信息,例如写入请求的写入基址和写入位置,并从写区域划分装置312中获取该写入位置所处的写存储区域。随后,写判断装置316参考写权限设置装置314为该写存储区域设置的访问权限,根据所获得的当前用户属性来确定对该写存储区域的访问权限,并将所确定的访问权限作为该写入请求的访问权限(可写和不可写之一)。
根据图3的访问控制设备200可以针对读取请求和写入请求进行独立的权限控制,对于诸如专用存储设备160这样的、其中可能存储了各种敏感信息的存储器而言,同一种用户属性下的读取和写入数据权限经常不同,因此从硬件层面针对写入和读取权限进行独立设置可以增加系统的安全性。
如上所述,对于诸如EFUSE存储器这样的专用存储设备160而言,存储器160可以不同的单位写入(以位为单位写入)和读取(以字节为单位读取)。访问控制单元220在接收到超过规定单位的访问请求(例如大于1个位的写入请求和大于一个字节的读取请求)时,可以对这些访问请求进行拆分,在逐个单位地进行访问之后,将结果进行组合并返回给指令执行装置100。相应地,访问判断单元210也需要针对这样的访问请求进行权限判断。
可选地,根据本发明的一种实施方式,访问判断单元210不仅接收访问请求的访问地址,还接收访问请求要访问的空间大小。判断装置216根据该访问地址和访问空间大小来利用区域划分装置212来确定该访问请求涉及的存储区域(无论是读存储区域还是写存储区域),此时得到的存储区域可能不止一个。
随后,判断装置216根据当前用户属性,参考权限设置装置214来为每个确定的存储区域确定相应的访问权限,并组合为每个存储区域确定的访问权限来确定该访问请求的访问权限。
例如,当访问请求涉及到区域划分装置212所划分的2个存储区域(存储区域A和和存储区域B),而权限设置装置214为两个存储区域设置的访问权限不同,例如为存储区域A设置的权限是可访问,而为存储区域B设置的权限是拒绝访问,则组合后的结果是拒绝访问。
这样,访问控制单元220可以根据组合后的访问权限(拒绝访问)来控制该访问请求对存储设备160的访问(拒绝)。
利用这样的方式,可以直接为针对专用存储设备160的大空间访问请求提供权限控制,这样,在实践中,可以更加灵活并且安全地对专用存储设备160进行操作。
图4示出了根据本发明一个实施例的访问控制方法400的流程示意图。方法400适于在图2和3所示的访问控制设备200中执行。方法400始于步骤S410。
在步骤S410中,获取指令处理装置100对专用存储设备160的访问请求。如上参考图1所述,指令处理装置100经由总线180发送该访问请求,因此,访问控制设备200可以从总线180捕获该访问请求。另外,在步骤S410中,还从该访问请求中获取要访问存储设备160的位置或者地址信息。
接着,在步骤S420中,从指令处理装置100获取与步骤S410的访问请求相关联的用户属性,即发出该访问请求正在执行的指令的执行环境信息。根据一种实施方式,当指令处理装置100中具有TEE时,用户属性包括:可信内核超级用户模式、可信内核普通用户模式、非可信内核超级用户模式和非可信内核普通用户模式。
在步骤S430中,根据在步骤S410获得的访问请求的地址信息和步骤S420获得的用户属性来确定步骤S410中获取的访问请求的访问权限。
根据一种实施方式,如上面参考区域划分装置212和权限设置装置214所述,可以在访问控制设备200中预先将专用存储设备160的存储空间划分为多个相互不重叠的存储区域,并且为每个存储区域设置与用户属性相对应的访问权限。上面参考图2对此进行了详细描述,因此不再赘述。
在步骤S430中,首先根据步骤S410获得的地址信息来确定该地址所属的存储区域,随后根据步骤S420获得的当前用户属性、确定为该存储区域设置的、与该用户属性相对应的访问权限(允许或者拒绝),并将该访问权限设置为该访问请求的访问权限。
随后,在步骤S440中,根据步骤S430所确定的访问权限来控制该访问请求对专用存储设备的访问。例如是允许该访问请求对专用存储设备160的访问还是拒绝该访问。
可选地,在步骤S440中,还考虑权限控制是否启用。当权限控制启用时,则根据步骤骤S430确定的访问权限来进行访问控制。如果步骤S430确定的访问权限是拒绝访问,则拒绝该访问请求的访问;反之,如果步骤S430确定的访问权限是允许访问,则允许该访问请求的访问。而当权限控制被停用时,则在步骤S440中,直接允许该访问请求对专用存存储设备160的访问而不考虑步骤S430确定的访问权限。
根据另外一个实施例,考虑到针对专用存储设备160的读取请求和写入请求的权限设置和访问方式都存在显著不同,在访问控制设备200中,针对读取请求,将专用存储设备160划分为多个读存储区域,并为每个读存储区域设置有与用户属性相对应的读访问权限。类似地,针对写入请求,将专用存储设备160划分为多个写存储区域,并为每个写存储区域设置有与用户属性相对应的写访问权限。
相应地,在步骤S430中,确定访问请求是读取请求还是写入请求。如果访问请求是读取请求,则根据读取请求要访问的地址(存储位置)来确定该读取请求要访问的读存储区域,为所确定的读存储区域确定与步骤S420获取的用户属性相对应的读访问权限,以及将所确定的读访问权限设置为该读取请求的访问权限。类似地,如果访问请求是写入请求,则根据写入请求要访问的地址(存储位置)来确定该写入请求要访问的写存储区域,为所确定的写存储区域确定与步骤S420获取的用户属性相对应的写访问权限,以及将所确定的写访问权限设置为该写入请求的访问权限。
上面参考图3对读取请求和写入请求的处理已经进行了详细描述,这里就不再赘述。
另外,如上所述,对于诸如EFUSE存储器这样的专用存储设备160而言,存储器160可以不同的单位进行写入(以位为单位写入)和读取(以字节为单位读取)。访问控制单元220在接收到超过规定单位的访问请求(例如大于1个位的写入请求和大于一个字节的读取请求)时,可以对这些访问请求进行拆分,在逐个单位地进行访问之后,将结果进行组合并返回给指令执行装置100。
可选地,根据本发明的一种实施方式,在步骤S410中,不仅接收访问请求的访问地址,还接收访问请求要访问的空间大小。在步骤S430中,根据该访问地址和访问空间大小来确定该访问请求涉及的存储区域(无论是读存储区域还是写存储区域),此时得到的存储区域可能不止一个。随后,在步骤S430中,根据步骤S420获取的当前用户属性为每个确定的存储区域确定相应的访问权限,并组合为每个存储区域确定的访问权限来确定该访问请求的访问权限。
这样,在步骤S440中,可以根据组合后的访问权限来控制该访问请求对存储设备160的访问。
随上面参考图2和3已经描述了控制访问请求访问的具体方式,这里不再进行赘述。
如上所述,根据本发明的指令处理装置可以实现为处理器核,且指令处理方法可以在处理器核中执行。处理器核可以不同的方式在不同的处理器中实现。例如,处理器核可以实现为用于通用计算的通用有序核、用于通用计算的高性能通用无序核、以及用于图形和/或科学(吞吐量)计算的专用核。而处理器可以实现为CPU(中央处理器)和/或协处理器,其中CPU可以包括一个或多个通用有序核和/或一个或多个通用无序核,而协处理器可以包括一个或多个专用核。这样的不同处理器的组合可以导致不同的计算机系统架构。在一种计算机系统架构中,协处理器在与CPU分开的芯片上。在另一种计算机系统架构中,协处理器在与CPU相同的封装中但处于分开的管芯上。在还有一种计算机系统架构中,协处理器与CPU在相同管芯上(在该情况下,这样的协处理器有时被称为诸如集成图形和/或科学(吞吐量)逻辑等专用逻辑,或被称为专用核)。在还有一种称为片上系统的计算机系统架构中,可以将所描述的CPU(有时被称为应用核或应用处理器)、以上描述的协处理器和附加功能包括在同一管芯上。后续将参考图5和6来描述示例性处理器和计算机架构。
图6示出了根据本发明一个实施例的处理器1100的示意图。如图6中的实线框所示,根据一种实施方式,处理器1110包括单个核1102A、系统代理单元1110、总线控制器单元1116。如图6中的虚线框所示,根据本发明的另一个实施方式,处理器1100还可以包括多个核1102A-N、处于系统代理单元1110中的集成存储器控制器单元1114以及专用逻辑1108。
根据一种实施方式,处理器1100可以实现为中央处理器(CPU),其中专用逻辑1108是集成图形和/或科学(吞吐量)逻辑(其可包括一个或多个核),且核1102A-N是一个或多个通用核(例如,通用有序核、通用无序核、这两者的组合)。根据另一种实施方式,处理器1100可以实现为协处理器,其中核1102A-N是用于图形和/或科学(吞吐量)的多个专用核。根据还有一种实施方式,处理器1100可以实现为协处理器,其中核1102A-N是多个通用有序核。因此,处理器1100可以是通用处理器、协处理器或专用处理器,诸如例如网络或通信处理器、压缩引擎、图形处理器、GPGPU(通用图形处理单元)、高吞吐量的集成众核(MIC)协处理器(包括30个或更多核)、或嵌入式处理器等。该处理器可以被实现在一个或多个芯片上。处理器1100可以是一个或多个衬底的一部分,和/或可以使用诸如例如BiCMOS、CMOS或NMOS等的多个加工技术中的任何一个技术将其实现在一个或多个衬底上。
存储器层次结构包括在各核内的一个或多个级别的高速缓存、一个或多个共享高速缓缓存单元1106、以及耦接到集成存储器控制器单元1114的外部存储器(未示出)。该共享高速速缓存单元1106可以包括一个或多个中间级高速缓存,诸如二级(L2)、三级(L3)、四级(L4)或或其他级别的高速缓存、末级高速缓存(LLC)、和/或其组合。尽管在一个实施例中,基于环的环的互连单元1112将集成图形逻辑1108、共享高速缓存单元1106以及系统代理单元1110/集成存储器控制器单元1114互连,本发明不受限于此,并且可使用任何数量的公知技术来将这些单元互连。
系统代理1110包括协调和操作核1102A-N的那些组件。系统代理单元1110可包括例如功率控制单元(PCU)和显示单元。PCU可以包括调整核1102A-N和集成图形逻辑1108的功率状态所需的逻辑和组件。显示单元用于驱动一个或多个外部连接的显示器。
核1102A-N可以具有上面参考图1描述的核架构,并且在架构指令集方面可以是同构的或异构的。即,这些核1102A-N中的两个或更多个核可能能够执行相同的指令集,而其他核可能能够执行该指令集的仅仅子集或不同的指令集。
图7示出了根据本发明的一个实施例的片上系统(SoC)1500的示意图。图7所示的片上系统包含了图6所示的处理器1100,因此与图6中相似的部件具有同样的附图标记。如图7所示,互连单元1502耦接到应用处理器1510、系统代理单元1110、总线控制器单元1116、集成存储器控制器单元1114、一个或多个协处理器1520、静态随机存取存储器(SRAM)单元1530、直接存储器存取(DMA)单元1532以及用于耦合至一个或多个外部显示器的显示单元1540。应用处理器1510包括一个或多个核1102A-N的集合以及共享高速缓存单元110。协处理器1520包括集成图形逻辑、图像处理器、音频处理器和视频处理器。在一个实施例中,协处理器1520包括专用处理器,诸如例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处理器、或嵌入式处理器等等。
根据本发明的片上系统(SoC)或者处理器可以在各种智能设备中使用,以便在智能设备用于实现相应的功能。这样的智能设备包括但不限于车载设备、智能音箱、智能显示设备、IoT设备、移动终端和个人数字终端等。
本文公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本发明的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (26)

1.一种访问控制设备,适于控制对存储设备的访问,所述存储设备划分为多个存储区域,每个存储区域具有相应的访问权限,该访问控制设备包括:
访问判断单元,适于根据访问请求要访问的地址来确定要访问的存储区域,并根据与所述访问请求相关联的用户属性来确定所述访问请求访问所述存储区域的访问权限,以作为所述访问请求访问所述存储设备的访问权限;以及
访问控制单元,耦接到所述访问判断单元,适于接收所述访问请求,根据所述访问判断单元为所述访问请求确定的访问权限来控制所述访问请求。
2.如权利要求1所述的访问控制设备,其中所述访问判断单元包括:
区域划分装置,适于将所述存储设备划分为多个存储区域,每个存储区域不重叠,并具有相应的位置和大小;
权限设置装置,适于为每个存储区域设置与用户属性相对应的访问权限;以及
判断装置,耦接到所述区域划分装置和所述权限设置装置,适于接收所述访问请求要访问的地址,确定所述访问请求要访问的存储区域,以及为所确定的存储区域确定与所述访问请求相关联的用户属性相对应的访问权限,并将所确定的访问权限设置为所述访问请求的访问权限。
3.如权利要求2所述的访问控制设备,其中所述访问请求包括读取请求,
所述区域划分装置包括读区域划分装置,适于将所述存储设备划分为多个读存储区域;
所述权限设置装置包括读权限设置装置,适于为每个读存储区域设置与用户属性相对应的读访问权限;以及
所述判断装置包括读判断装置,适于确定所述读取请求要访问的地址所属的读存储区域,以及为所确定的读存储区域确定与所述读取请求相关联的用户属性相对应的读访问权限,并将所确定的读访问权限设置为所述读取请求的访问权限。
4.如权利要求2或者3所述的访问控制设备,其中所述访问请求包括写入请求,
所述区域划分装置包括写区域划分装置,适于将所述存储设备划分为多个写存储区域;
所述权限设置装置包括写权限设置装置,适于为每个写存储区域设置与用户属性相对应的写访问权限;以及
所述判断装置包括写判断装置,适于确定所述写入请求要访问的地址所属的写存储区域,以及为所确定的写存储区域确定与所述写入请求相关联的用户属性相对应的写访问权限,并将所确定的写访问权限设置为所述写入请求的访问权限。
5.如权利要求4所述的访问控制设备,其中所述每个读存储区域具有预定大小,距离读基址具有不同距离且不重叠;以及
所述每个写存储区域具有预定大小,距离写基址具有不同距离且不重叠。
6.如权利要求5所述的访问控制设备,其中所述读存储区域的大小包括下列中的一个或者多个:字节、半字和字;以及
所述写存储区域的大小包括下列中的一个或者多个:位、字节、半字和字。
7.如权利要求5或者6所述的访问控制设备,其中所述读访问权限包括可读和不可读,以及所述写访问权限包括可写和不可写;以及
所述用户属性包括下列中的一个或者多个:可信内核超级用户、可信内核普通用户、非可信内核超级用户和非可信内核普通用户。
8.如权利要求1-7中任一个所述的访问控制设备,其中所述访问控制单元包括:
权限使能开关,适于启动权限控制和关闭权限控制;以及
所述访问控制单元适于在关闭权限控制时,允许所述访问请求对所述存储设备的访问;以及在启动权限控制时,根据所述访问判断单元所确定的访问权限来控制所述访问请求对所述存储设备的访问。
9.如权利要求2-8中任一个所述的访问控制设备,其中所述访问请求包括要访问的地址和存储空间大小;以及
所述判断装置适于根据所述地址和大小确定所述访问请求对应的一个或者多个存储区域,并为所确定的一个或者多个存储区域中的每个存储区域确定与所述访问请求相关联的用户属性相对应的访问权限,组合为每个存储区域确定的访问权限来确定所述访问请求的访问权限。
10.如权利要求1-9中任一个所述的访问控制设备,其中所述存储设备是一次性可编程非易失性的存储器。
11.如权利要求10所述的访问控制设备,其中所述存储设备是电子熔丝存储器。
12.一种对存储设备的访问控制方法,所述存储设备划分为多个存储区域,每个存储区域具有相应的访问权限,所述方法包括步骤:
接收访问请求要访问的地址和与所述访问请求相关联的用户属性;
根据所述存储位置来确定要访问的存储区域,并根据所述用户属性来确定所述访问请求对所述存储区域的访问权限,以作为所述访问请求的访问权限;以及
接收所述访问请求,并根据所确定的访问权限来控制所述访问请求。
13.如权利要求12所述的访问控制方法,其中所述每个存储区域具有对应位置和大小且不相互重叠,以及每个存储区域设置有与用户属性相对应的访问权限;
所述确定访问请求的访问权限的步骤包括:根据所述地址来确定所述访问请求要访问的存储区域,为所确定的存储区域确定与所述用户属性相对应的访问权限;以及将所确定的访问权限设置为所述访问请求的访问权限。
14.如权利要求13所述的访问控制方法,其中所述访问请求包括读取请求,所述存储设备划分为多个读存储区域,每个读存储区域设置有与用户属性相对应的读访问权限;以及
所述确定访问请求的访问权限的步骤包括:根据所述地址来确定所述读取请求要访问的读存储区域,为所确定的读存储区域确定与所述用户属性相对应的读访问权限,以及将所确定的读访问权限设置为所述读取请求的访问权限。
15.如权利要求13或者14所述的访问控制方法,其中所述访问请求包括写入请求,所述存储设备划分为多个写存储区域,每个写存储区域设置有与用户属性相对应的写访问权限;以及
所述确定访问请求的访问权限的步骤包括:根据所述地址来确定所述写入请求要访问得写存储区域,为所确定的写存储区域确定与所述用户属性相对应的写访问权限,以及将所确定的写访问权限设置为所述写入请求的访问权限。
16.如权利要求15所述的访问控制方法,其中所述每个读存储区域具有预定大小,距离读基址具有不同距离且不重叠;以及
所述每个写存储区域具有预定大小,距离写基址具有不同距离且不重叠。
17.如权利要求16所述的访问控制方法,其中所述读存储区域的大小包括下列中的一个或者多个:字节、半字和字;以及
所述写存储区域的大小包括下列中的一个或者多个:位、字节、半字和字。
18.如权利要求16或者17所述的访问控制方法,其中所述读访问权限包括可读和不可读,以及所述写访问权限包括可写和不可写;以及
所述用户属性包括下列中的一个或者多个:可信内核超级用户、可信内核普通用户、非可信内核超级用户和非可信内核普通用户。
19.如权利要求12-18中任一个所述的访问控制方法,其中所述控制访问请求对所述存储设备的访问的步骤包括:
在关闭权限控制时,允许所述访问请求对所述存储设备的访问;以及
在启动权限控制时,根据所确定的访问权限来控制所述访问请求对所述存储设备的访问。
20.如权利要求13-19中任一个所述的访问控制方法,其中所述访问请求包括要访问的地址和存储空间大小;以及
所述确定访问请求的访问权限的步骤包括:根据所述地址和大小确定所述访问请求对应的一个或者多个存储区域,为所确定的一个或者多个存储区域中的每个存储区域确定与所述用户属性相对应的访问权限,组合为每个存储区域确定的访问权限来确定所述访问请求的访问权限。
21.如权利要求12-20中任一个所述的访问控制方法,其中所述存储设备是一次性可编程非易失性的存储器。
22.如权利要求21所述的访问控制方法,其中所述存储设备是电子熔丝存储器。
23.一种处理器,包括:
存储设备,适于存储数据;
指令处理装置,适于进行指令处理,并适于发送访问请求以便访问所述存储设备中存储的数据;以及
如权利要求1-11中任一个所述的访问控制设备,耦接到所述指令处理装置和存储设备,适于控制所述指令处理装置对所述存储设备的访问请求。
24.如权利要求23所述的处理器,其中所述存储设备是一次性可编程非易失性的存储器。
25.一种片上系统,包括如权利要求23或者24所述的处理器。
26.一种智能设备,包括如权利要求25所述的片上系统。
CN201911167963.XA 2019-11-25 2019-11-25 一种访问控制设备和包含该设备的处理器 Pending CN112836245A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911167963.XA CN112836245A (zh) 2019-11-25 2019-11-25 一种访问控制设备和包含该设备的处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911167963.XA CN112836245A (zh) 2019-11-25 2019-11-25 一种访问控制设备和包含该设备的处理器

Publications (1)

Publication Number Publication Date
CN112836245A true CN112836245A (zh) 2021-05-25

Family

ID=75923011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911167963.XA Pending CN112836245A (zh) 2019-11-25 2019-11-25 一种访问控制设备和包含该设备的处理器

Country Status (1)

Country Link
CN (1) CN112836245A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114218560A (zh) * 2022-02-22 2022-03-22 湖北芯擎科技有限公司 资源访问方法、装置、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114218560A (zh) * 2022-02-22 2022-03-22 湖北芯擎科技有限公司 资源访问方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN108027779B (zh) 允许受保护的容器存储器与输入/输出设备之间的安全通信的处理器、方法、系统和指令
US7496966B1 (en) Method and apparatus for controlling operation of a secure execution mode-capable processor in system management mode
US7444668B2 (en) Method and apparatus for determining access permission
US9720843B2 (en) Access type protection of memory reserved for use by processor logic
US8806110B2 (en) Flexible memory protection and translation unit
US8132254B2 (en) Protecting system control registers in a data processing apparatus
US10671547B2 (en) Lightweight trusted tasks
US20150227462A1 (en) Region identifying operation for identifying a region of a memory attribute unit corresponding to a target memory address
US9753863B2 (en) Memory protection with non-readable pages
JP4945053B2 (ja) 半導体装置、バスインターフェース装置、およびコンピュータシステム
KR20150033695A (ko) 메모리 보호
JP2008257734A (ja) メモリドメインを基にしたデータ処理システム内のセキュリティ制御
WO2006093618A2 (en) Integrated microcontroller and memory with secure interface between system program and user operating system and application
US7146477B1 (en) Mechanism for selectively blocking peripheral device accesses to system memory
US20190156015A1 (en) Smm protection utilizing ring separation and smi isolation
CN113486410A (zh) 一种保护数据安全的方法、cpu核、cpu芯片和电子设备
US20190384726A1 (en) Memory access determination
US11683310B2 (en) Protecting supervisor mode information
US6202152B1 (en) System and method for accessing information decrypted in multiple-byte blocks
CN108139909B (zh) 存储器访问指令
CN112836245A (zh) 一种访问控制设备和包含该设备的处理器
US20180196956A1 (en) Security architecture and method
CN112541200A (zh) 一种存储控制设备和包含该设备的处理器
JP5324676B2 (ja) プロセッサ、バスインターフェース装置、およびコンピュータシステム
JP5380392B2 (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