CN116166609A - 存储器防火墙的动态管理 - Google Patents

存储器防火墙的动态管理 Download PDF

Info

Publication number
CN116166609A
CN116166609A CN202211486470.4A CN202211486470A CN116166609A CN 116166609 A CN116166609 A CN 116166609A CN 202211486470 A CN202211486470 A CN 202211486470A CN 116166609 A CN116166609 A CN 116166609A
Authority
CN
China
Prior art keywords
memory region
processing unit
memory
security level
firewall
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
CN202211486470.4A
Other languages
English (en)
Inventor
L·帕拉迪
M·让
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.)
STMicroelectronics Grand Ouest SAS
Original Assignee
STMicroelectronics Grand Ouest SAS
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 STMicroelectronics Grand Ouest SAS filed Critical STMicroelectronics Grand Ouest SAS
Publication of CN116166609A publication Critical patent/CN116166609A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/145Protection 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 virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • 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
    • 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/74Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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/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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本公开的各实施例总体上涉及存储器防火墙的动态管理。在实施例中,系统包括第一处理单元和第二处理单元、存储器和防火墙设备。第一处理单元以安全模式操作,生成具有安全级别的存储器访问请求。第二处理单元以非安全模式操作,生成具有非安全级别的存储器访问请求。存储器包括可以在第一处理单元与第二处理单元之间共享的第一存储器区。防火墙设备包括第一防火墙电路,第一防火墙电路具有第一配置,第一配置在安全或非安全级别访问请求的存在的情况下授权对第一存储器区的访问。防火墙电路包括第二配置,第二配置在安全级别访问请求的存在的情况下禁止对第一存储器区的访问并且在非安全级别访问请求的存在的情况下授权对第一存储器区的访问。

Description

存储器防火墙的动态管理
相关申请的交叉引用
本申请要求于2021年11月25日提交的法国申请第2112497号的优先权,该申请通过引用整体并入本文。
技术领域
本公开总体上涉及存储器设备,并且在特定实施例中涉及与存储器相关联的防火墙设备的动态管理。
背景技术
在当前的片上系统(SoC)电路中,通常有基于一个或多个微处理器的若干执行上下文,它们可以具有称为安全级别的级别或称为非安全级别的级别。通常,执行上下文或执行环境实现固件和寄存器。当执行上下文或环境安全时,固件以及与执行上下文相关联的微处理器的寄存器是安全的。
作为非限制性示例,安全固件可以是签名的固件,其签名在其加载到对应程序存储器中之前已经被验证。当执行上下文或环境不安全时,对应固件和对应寄存器不安全。
例如,操作系统可以提供安全级别的执行上下文和非安全级别的应用执行上下文,例如,多媒体应用。
在一些情况下,在安全执行上下文与非安全执行上下文之间共享存储器或存储器区可以是有利的。
换言之,在这种情况下,安全级别事务或非安全级别事务能够访问该共享存储器可以是有利的。
目前,为了实现该功能,使用管理存储器单元(MMU)、存储器保护单元(MPU)、或耦合在实现安全和非安全执行上下文的(多个)微处理器与共享存储器之间的安全属性单元(SAU)。
实际上,由于MPU、MMU或SAU单元,任何非安全存储器区都通过安全上下文可访问。事实上,在安全执行上下文方面,一旦存储器区在MPU、MMU或SAU单元中被声明是非安全的,对该存储器区的任何访问被执行为非安全访问。换言之,在MPU、MMU或SAU中执行的事务的级别会降级(从安全到非安全)。
目前有两种方法可以做到这一点。根据第一种方法,非安全执行上下文分配预定义共享存储器区。并且,这个共享的预定义存储器区在MMU、MPU或SAU单元中被声明为非安全,以允许从安全执行上下文发出的对安全事务的访问。但是这个共享存储器区是固定的。因此,在定义产品时必须定义这个存储器区的大小。对于需要更多存储器空间的一些非安全多媒体应用,其预定义大小可能是一个问题。
替代地,非安全执行上下文在非安全存储器中分配存储器区,然后与安全执行上下文共享该存储器区。然后,安全执行上下文将对MMU、MPU或SAU单元进行编程,以便能够访问该非安全共享存储器区。
但是,如果非安全执行上下文(或应用)被中断(或停止),则安全执行上下文(或应用)仍然可以运行。它仍然可以访问非安全存储器区。并且,这个存储器区可以被系统回收,并且可以重新分配给另一非安全应用。并且,由于安全应用仍然可以访问该存储器区,它可能会损坏或从新的非安全应用读取数据。
换言之,在这种情况下,安全执行上下文可以直接访问非安全存储器区,而不受非安全执行上下文的控制。
因此,需要更高效和安全地管理对在安全执行上下文与非安全执行上下文之间共享的存储器的访问权限。
发明内容
根据一个实施例和实现,建议直接在与该存储器区相关联的防火墙处动态管理对该共享存储器的访问权限,并且将该防火墙的管理委托给非安全执行的上下文,该安全执行的上下文负责计划在其中实现该共享存储器区的存储器的非安全部分。
根据一个方面,提出了一种系统(例如,片上系统),该系统包括第一处理单元和第二处理单元,第一处理单元被配置为以安全模式操作并且生成具有安全级别的存储器访问请求,第二处理单元被配置为以非安全模式操作并且生成具有非安全级别的存储器访问请求。
两个处理单元可以分别形成两个不同微处理器的一部分。
该系统还可以包括微处理器,该微处理器具有被配置为在安全级别执行上下文中操作并且形成第一处理单元的第一操作系统和被配置为在非安全级别执行上下文中操作并且形成第二处理单元的第二操作系统。
该系统还包括:包括可以在第一处理单元与第二处理单元之间共享的第一存储器区的存储器、以及连接在存储器与第一处理单元和第二处理单元之间的防火墙设备。
该防火墙设备包括与第一存储器区相关联的第一防火墙电路,第一防火墙电路能够由第二处理单元配置。
第一防火墙电路包括第一配置和第二配置,在第一配置中,它们在安全级别访问请求的存在的情况下或在非安全级别访问请求的存在的情况下授权对第一存储器区的访问,在第而配置中,它们在安全级别访问请求的存在的情况下禁止对第一存储器区的访问并且仅在非安全级别访问请求的存在的情况下授权对第一存储器区的访问。
因此,对该第一共享存储器区的访问管理在防火墙本身处提供,这能够由第二处理单元配置。
根据一个实施例,存储器包括分配给第二处理单元并且包含第一存储器区的存储器区域。并且,第二处理单元被配置为在存储器区域内限定第一存储器区。
换言之,被分配有存储器区域的非安全上下文(第二处理单元)可以决定它希望与安全上下文共享该存储器区域的哪个部分。
根据一个实施例,存储器还包括分配给第一处理单元的第二存储器区,并且存储器区域包括为第二处理单元而保留的第三存储器区。
然后,防火墙设备包括第二防火墙电路和第三防火墙电路,第二防火墙电路与第二存储器区相关联并且被配置为仅在安全级别请求的存在的情况下授权对第二存储器区的访问,第三防火墙电路与第三存储器区相关联并且被配置为仅在非安全级别请求的存在的情况下授权对第三存储器区的访问。
根据一个实施例,存储器访问请求可以包括表示这些请求的安全或非安全级别的指示。
然后,例如,第一防火墙电路、第二防火墙电路和第三防火墙电路包括寄存器组和验证电路,寄存器组分别与三个存储器区相关联并且包含表示对这些存储器区的安全或非安全访问权限的信息,验证电路被配置为将对存储器区的访问请求的指示与对应寄存器组中包含的信息进行比较并且根据比较的结果来授权或禁止对存储器区的访问。
并且,与第一存储器区相关联的(多个)寄存器的内容可以根据来自第二处理单元的命令来修改。
例如,来自第二处理单元的该命令可以通过配置控制器,该配置控制器将修改与第一存储器区相关联的(多个)寄存器的内容。
该系统有利地包括耦合在防火墙设备与两个处理单元之间的管理存储器单元。并且,管理存储器单元被配置为不使具有安全级别的访问请求的安全级别降级。
换言之,与现有技术不同,不需要重新编程管理存储器单元以授权访问第一存储器区的安全访问请求,因为与该第一存储器区相关联的防火墙将授权或禁止该访问请求。换言之,具有安全级别并且被传送到管理存储器单元的访问请求也使该管理存储器单元具有安全访问级别。
根据另一方面,提出了一种用于管理对系统(例如,被并入片上系统中的系统)的存储器的访问的方法。
该系统包括:以安全模式操作并且生成具有安全级别的存储器访问请求的第一处理单元、以非安全模式操作并且生成具有非安全级别的存储访问请求的第二处理单元、包括在第一处理单元与第二处理单元之间共享的第一存储器区的存储器、耦合在存储器与第一处理单元和第二处理单元之间并且具有与第一存储器区相关联的第一可配置防火墙电路的防火墙设备。
在根据该方面的方法中,第二处理单元配置第一防火墙电路以将其置于第一配置或将其置于第二配置,在第一配置中,它们在安全级别访问请求的存在的情况下或在非安全级别访问请求的存在的情况下授权对第一存储器区的访问,在第二配置中,它们在安全级别访问请求的存在的情况下禁止对第一存储器区的访问并且在非安全级别访问请求的存在的情况下授权对第一存储器区的访问。
根据一个实施例,存储器包括分配给第二处理单元并且包含第一存储器区的存储器区域,并且第二处理单元在存储器区域内限定第一存储器区。
根据一种实现,存储器包括分配给第一处理单元的第二存储器区,并且存储器区域包括为第二处理单元而保留的第三存储器区,并且防火墙设备配备有第二防火墙电路和第三防火墙电路,第二防火墙电路与第二存储器区相关联并且仅在安全级别请求的存在的情况下授权对第二存储器区的访问,第三防火墙电路与第三存储器区相关联并且仅在非安全级别请求的存在的情况下授权对第三存储器区的访问。
附图说明
通过检查本发明的非限制性实施例和实现的详细描述以及附图,本发明的其他优点和特征将变得明显,在附图中:
图1是实施例系统的框图;
图2-图9是防火墙设备的访问权限的实施例管理的框图;
图10是事务或访问请求的实施例内容的框图;以及
图11是实施例防火墙设备的框图。
具体实施方式
在图1中,附图标记SYS表示系统,例如,但以非限制性方式,表示片上系统(SoC),例如,但以非限制性方式,表示法国专利申请号3103586中所述类型的片上系统,该系统包括若干主设备、若干从资源、以及互连电路,互连电路耦合在主设备与从资源之间并且能够在主设备与从资源之间路由事务。
出于所有实际目的,本领域技术人员可以参考上述法国专利申请,其内容通过引用整体并入本文。
在本文中描述的系统SYS的示例中,附图标记CPU表示主设备,例如微处理器,该主设备包括第一处理单元UT1和第二处理单元UT2。
在实施例中,微处理器CPU包括第一操作系统和第二操作系统,第一操作系统被配置为在安全级别执行上下文中操作并且形成第一处理单元UT1,第二操作操作系统被设置为在非安全级别执行上下文中操作(例如,多媒体应用)并且形成第二处理单元UT2。
当然,可以提供包括两个处理单元UT1和UT2的两个不同微处理器。
这里的系统SYS还包括存储器MM,在片上系统的情况下,存储器MM可以是从资源。
这里的存储器MM包括分配给第二处理单元UT2的存储器区域RGM,包括第一存储器区ZM1和第三存储器区ZM3。
在实施例中,第一存储器区ZM1在第一处理单元UT1与第二处理单元UT2之间共享,以可选地接收安全级别存储器访问请求或非安全级别存储器访问请求。
在实施例中,第三存储器区ZM3仅接收非安全级别存储器访问请求。
存储器MM还包括分配给第一处理单元UT1并且用于仅接收安全级别存储器访问请求的第二存储器区ZM2。
系统SYS还包括管理存储器单元(MMU)或存储器保护单元(MPU)或由附图标记1引用的安全属性单元(SAU)。
这样的单元的结构是常规的,并且本身是已知的。
该单元1耦合到微处理器CPU。
当系统是片上系统时,其通常还包括互连电路INT,互连电路INT用于将由包括微处理器CPU在内的各种主设备发出的请求或事务路由到从资源。例如,这样的互连电路在上述法国专利申请中被提到。
系统SYS还包括防火墙设备2。下面将更详细地描述耦合在单元1与存储器MM之间的实施例的非限制性示例。
防火墙设备2包括与第一存储器区ZM1相关联的第一防火墙电路21、与第二存储器区ZM2相关联第二防火墙电路22、以及与第三存储器区ZM3相关联的第三防火墙电路23。下面将进一步详细说明这些电路21、22和23的结构的示例。
但是可能已经指示第一防火墙电路21由第二处理单元UT2例如响应于命令CMD而可配置。
更具体地,这些第一防火墙电路21具有第一配置,在第一配置中,它们在安全级别访问请求的存在的情况下或在非安全级别访问请求的存在的情况下授权对第一存储器区ZM1的访问。
第一防火墙电路21还可以具有第二配置,在第二配置中,它们在安全级别访问请求的存在的情况下禁止对第一存储器区的访问并且仅在非安全级别访问请求的存在的情况下授权对第一存储器区的访问。
图2至图9中更详细地示出了防火墙设备2对访问权限的管理。
在这些图中,附图标记TR表示可以由第一处理单元UT1或第二处理单元UT2发出的并且用于三个存储器区ZM1、ZM2、ZM3中的一个的存储器访问请求或事务。
字母(S)电路表示事务或存储器访问请求TR(无论是写入还是读取)具有安全级别。
字母(NS)表示该事务具有非安全级别。
在图2中,安全级别(S)事务TR由具有安全执行上下文的第一处理单元UT1发出。该安全级别事务TR用于第二存储器区ZM2。它由单元1中继,而不会使其安全级别降级,即,在单元1的输出处,其保持安全级别。
并且,由于第二防火墙电路22被配置为仅允许具有安全级别(S)的事务通过,事务TR确实被授权访问第二存储器区ZM2。
在图3中,非安全(NS)级别事务TR由单元UT2发出,并且也用于第二存储器区ZM2。
在通过单元1之后,该事务TR到达第二防火墙电路22。然而,由于该事务具有非安全级别,防火墙电路22禁止该事务TR对第二存储器区ZM2的访问。
在图4中,由第二处理单元UT2向第三存储器区ZM3发出非安全(NS)级别事务TR。
在通过单元1之后,后者被第三防火墙电路23授权访问第三存储器区ZM3。
另一方面,如图5所示,由第一处理单元UT1向该第三存储器区ZM3发出的安全级别事务TR被第三防火墙电路23阻止。
在图6中,第一防火墙电路21处于其第一配置(即,它们将针对安全(S)或非安全(NS)事务TR授权对第一存储器区ZM1的访问)。
因此,由第一处理单元UT1在通过单元1之后发出的安全事务TR在其安全级别未降级的情况下穿过第一防火墙电路21并且访问第一存储器区ZM1。
如图7所示,这也是由第二处理单元UT2发出的非安全事务TR的情况,因为第一防火墙电路21处于其第一配置。
另一方面,如图8和图9所示,第一防火墙电路21处于其第二配置,在第二配置中,它们仅针对具有非安全级别的事务或访问请求TR授权对第一存储器区ZM1的访问。
此外,由单元UT1发出的安全访问请求TR将被第一防火墙电路21阻止,并且不会到达第一存储器区ZM1(图8)。
另一方面,由第二处理单元UT2发出的非安全事务此时将能够到达第一存储器区ZM1(图9)。
例如,可以在系统初始化期间由安全实体(例如,指定的主设备)限定系统配置,该系统配置将存储器区域RGM的管理分配给第二处理单元并且将第二存储器区ZM2分配给第一处理单元,该第二存储器区ZM2旨在作为安全存储器区。
替代地,可以在操作期间将第一存储器区ZM1的访问权限的管理委托给第二处理单元。在这点上,本发明与题为“Management of amemory firewall in a system on achip”的法国专利申请中描述的发明兼容,该专利申请与本专利申请以“STMicroelectronics(Alps)SAS”和“STMicrolectronics(Grand Ouest)SAS”的名义在同一天提交。
本发明还与题为“Method for executing a software program by aprocessingunit including a compilation phase”的专利申请中描述的发明兼容,该专利申请与本专利申请以STMicroelectronics(Grand Ouest)SAS的名义在同一天提交。
事实上,本专利申请的本发明目的的一个方面特别提出了一种适于具有安全访问权限级别执行上下文和非安全访问权限级别执行上下文的处理单元,该处理单元例如能够处理具有排他性安全访问权限级别的指令,并且以硬件方式被配置为使得指令的执行可以允许访问安全访问权限级别存储器区并且不能允许访问非安全访问权限级别存储器区。
然而,具有排他性安全访问权限级别的指令仍然可以允许在防火墙的第一配置中访问第一存储器区ZM1。
现在更具体地参考图10来描述事务或访问请求TR的内容的示例。
一般来说,这里,由主设备(诸如第一单元UT1或第二单元UT2)发出的每个事务TR包括寻址字段ADR,寻址字段ADR的内容用于寻址该事务的目的地存储器区。
每个事务TR包括该事务的主设备发射器的识别信息CID、安全指示SEC、用于指示该事务是否包含执行指令的指示EXE、特权信息PRV、和指示它是读还是写事务的信息RW、以及寻址字段ADR和数据字段DATA。
因此,事务的安全级别由安全指示SEC限定,安全指示SEC例如可以是1位。
在图11中,可以看到,防火墙设备2的第一防火墙电路21包括与验证电路RISU相关联的一个或多个寄存器RGCS1。
第二防火墙电路22包括与验证电路RISU相关联的一个或多个寄存器RGCS2,并且第三防火墙电路23包括与验证电路RISU相关联的一个或多个寄存器RGCS3。
寄存器RGCS1与第一存储器区ZM1相关联,寄存器RGCS2与第二存储器区ZM2相关联,并且寄存器RGCS3与第三存储器区ZM3相关联。
并且,这些寄存器包含表示S或NS安全级别的信息。
由各个主设备UT1、UT2发出的事务TR在总线BS2上传输,然后传输到验证电路RISU。
验证电路被配置为将访问存储器区的请求的指示SEC与对应寄存器组RGCSi中包含的信息进行比较,以根据比较结果授权或禁止对存储器区的访问。
例如,验证电路RISU可以包括一个或多个逻辑电路。
修改寄存器RGCS1的内容以配置第一防火墙电路21可以通过在总线BS1(例如,AHB类型的总线(“高级高性能总线”)上经由AHBI接口传递的命令来获取。
尽管已经详细描述了说明书,但应当理解,在不背离所附权利要求所限定的本公开的精神和范围的情况下,可以进行各种改变、替换和变更。在各个附图中,相同的元素用相同的附图标记表示。此外,本公开的范围不旨在局限于本文所述的特定实施例,因为本领域普通技术人员将从本公开中容易地理解,目前存在或将来将要开发的工艺、机器、制造、物质组成、装置、方法或步骤可以执行与本文中描述的对应实施例基本相同的功能或实现基本相同的结果。因此,所附权利要求意在将这样的工艺、机器、制造、物质组成、装置、方法或步骤包括在其范围内。
因此,说明书和附图被简单地视为所附权利要求书所限定的本公开的说明,并且预期涵盖落入本公开的范围内的任何和所有修改、变化、组合或等效物。

Claims (20)

1.一种系统,包括:
第一处理单元,被配置为:
以安全模式操作,以及
生成具有安全级别的存储器访问请求;
第二处理单元,被配置为:
以非安全模式操作,以及
生成具有非安全级别的存储器访问请求;
存储器存储装置,具有在所述第一处理单元与所述第二处理单元之间共享的第一存储器区;以及
防火墙设备,耦合在所述存储器存储装置、所述第一处理单元和所述第二处理单元之间,所述防火墙设备包括与所述第一存储器区相关联的第一防火墙电路,所述第一防火墙电路具有能够由所述第二处理单元配置的第一配置和第二配置,
其中在所述第一配置中,对所述第一存储器区的访问响应于安全级别访问请求或非安全级别访问请求的存在而被授权,并且
其中在所述第二配置中,对所述第一存储器区的访问响应于安全级别访问请求的所述存在而被禁止,并且对所述第一存储器区的访问响应于所述非安全级别访问请求的所述存在而被授权。
2.根据权利要求1所述的系统,其中所述存储器存储装置包括分配给所述第二处理单元的存储器区域,所述存储器区域包含所述第一存储器区,并且其中所述第二处理单元被配置为在所述存储器区域内限定所述第一存储器区。
3.根据权利要求2所述的系统,其中所述存储器存储装置包括分配给所述第一处理单元的第二存储器区,其中所述存储器存储装置包括为所述第二处理单元而保留的第三存储器区,并且其中所述防火墙设备包括:
与所述第二存储器区相关联的第二防火墙电路,所述第二防火墙电路被配置为仅响应于安全级别请求的存在而授权对所述第二存储器区的访问,以及
与所述第三存储器区相关联的第三防火墙电路,所述第三防火墙电路被配置为仅响应于非安全级别请求的存在而授权对所述第三存储器区的访问。
4.根据权利要求3所述的系统,其中所述存储器访问请求包括表示所述安全级别或所述非安全级别的指示,其中所述第二防火墙电路和所述第三防火墙电路包括:
分别与所述第一存储器区、所述第二存储器区和所述第三存储器区相关联的寄存器组,所述寄存器组包括表示对所述第一存储器区、所述第二存储器区或所述第三存储器区的安全访问权限、非安全访问权限或其组合的信息数据;以及
验证电路,被配置为:
将访问相关联的存储器区的请求的指示与对应寄存器组中包含的所述信息数据进行比较,以及
基于所述比较授权或禁止对所述相关联的存储器区的访问。
5.根据权利要求4所述的系统,其中与所述第一存储器区相关联的寄存器的内容是基于来自所述第二处理单元的命令而能够修改的。
6.根据权利要求1所述的系统,还包括:
存储器管理电路,耦合在所述防火墙设备、所述第一处理单元和所述第二处理单元之间,所述存储器管理电路被配置为不使安全级别访问请求的安全级别降级。
7.根据权利要求1所述的系统,还包括处理器,所述处理器具有:
第一操作系统,被配置为由所述第一处理单元在安全级别执行上下文中操作;以及
第二操作系统,被配置为由所述第二处理单元在非安全级别执行上下文中操作。
8.根据权利要求1所述的系统,其中所述系统被并入片上系统SoC电路内。
9.一种方法,包括:
以安全模式操作第一处理单元;
由所述第一处理单元生成具有安全级别的存储器访问请求;
以非安全模式操作第二处理单元;
由所述第二处理单元生成具有非安全级别的存储器访问请求;以及
由所述第二处理单元以第一配置或第二配置来配置第一防火墙电路,所述第一防火墙电路是防火墙设备的电路,所述第一防火墙电路与存储器存储装置的第一存储器区相关联,所述第一存储器区在所述第一处理单元与所述第二处理单元之间共享,
其中在所述第一配置中,对所述第一存储器区的访问响应于安全级别访问请求或非安全级别访问请求的存在而被授权,并且
其中在所述第二配置中,对所述第一存储器区的访问响应于安全级别访问请求的所述存在而被禁止,并且对所述第一存储器区的访问响应于所述非安全级别访问请求的所述存在而被授权。
10.根据权利要求9所述的方法,其中所述存储器存储装置包括分配给所述第二处理单元的存储器区域,所述存储器区域包含所述第一存储器区,并且其中所述第二处理单元被配置为在所述存储器区域内限定所述第一存储器区。
11.根据权利要求10所述的方法,其中所述存储器存储装置包括分配给所述第一处理单元的第二存储器区,其中所述存储器存储装置包括为所述第二处理单元而保留的第三存储器区,并且其中所述防火墙设备包括与所述第二存储器区相关联的第二防火墙电路,其中所述防火墙设备包括与所述第三存储器区相关联的第三防火墙电路,所述方法还包括:
仅响应于安全级别请求的存在而授权所述第二防火墙电路对所述第二存储器区的访问,以及
仅响应于非安全级别请求的存在而授权所述第三防火墙电路对所述第三存储器区的访问。
12.根据权利要求9所述的方法,还包括:
防止存储器管理电路对安全级别访问请求的安全级别降级,所述存储器管理电路耦合在所述防火墙设备、所述第一处理单元和所述第二处理单元之间。
13.根据权利要求9所述的方法,还包括:
由所述第一处理单元的第一操作系统操作安全级别执行上下文;以及
由所述第二处理单元的第二操作系统操作非安全级别执行上下文。
14.根据权利要求9所述的方法,其中所述第一处理单元、所述第二处理单元、所述存储器存储装置和所述防火墙设备是集成在片上系统SoC电路内的系统的一部分。
15.一种片上系统SoC电路,包括:
第一处理单元,被配置为:
使用第一操作系统以安全模式操作安全级别执行上下文,以及
生成具有安全级别的存储器访问请求;
第二处理单元,被配置为:
使用第二操作系统以非安全模式操作非安全级别执行上下文,以及
生成具有非安全级别的存储器访问请求;
存储器存储装置,具有在所述第一处理单元与所述第二处理单元之间共享的第一存储器区;以及
防火墙设备,包括与所述第一存储器区相关联的第一防火墙电路,所述第一防火墙电路能够由所述第二处理单元配置,
其中在第一配置中,对所述第一存储器区的访问响应于安全级别访问请求或非安全级别访问请求的存在而被授权,以及
其中在第二配置中,对所述第一存储器区的访问响应于安全级别访问请求的所述存在而被禁止,并且对所述第一存储器区的访问响应于所述非安全级别访问请求的所述存在而被授权。
16.根据权利要求15所述的SoC电路,其中所述存储器存储装置包括分配给所述第二处理单元的存储器区域,所述存储器区域包含所述第一存储器区,并且其中所述第二处理单元被配置为在所述存储器区域内限定所述第一存储器区。
17.根据权利要求16所述的SoC电路,其中所述存储器存储装置包括分配给所述第一处理单元的第二存储器区,其中所述存储器存储装置包括为所述第二处理单元而保留的第三存储器区,并且其中所述防火墙设备包括:
与所述第二存储器区相关联的第二防火墙电路,所述第二防火墙电路被配置为仅响应于安全级别请求的存在而授权对所述第二存储器区的访问,以及
与所述第三存储器区相关联的第三防火墙电路,所述第三防火墙电路被配置为仅响应于非安全级别请求的存在而授权对所述第三存储器区的访问。
18.根据权利要求17所述的SoC电路,其中所述存储器访问请求包括表示所述安全级别或所述非安全级别的指示,其中所述第一防火墙电路、所述第二防火墙电路和所述第三防火墙电路包括:
分别与所述第一存储器区、所述第二存储器区和所述第三存储器区相关联的寄存器组,所述寄存器组包括表示对所述第一存储器区、所述第二存储器区或所述第三存储器区的安全访问权限、非安全访问权限或其组合的信息数据;以及
验证电路,被配置为:
将访问相关联的存储器区的请求的指示与对应寄存器组中包含的所述信息数据进行比较,以及
基于所述比较来授权或禁止对所述相关联的存储器区的访问。
19.根据权利要求18所述的SoC电路,其中与所述第一存储器区相关联的寄存器的内容是基于来自所述第二处理单元的命令而能够修改的。
20.根据权利要求15所述的SoC电路,还包括:
存储器管理电路,耦合在所述防火墙设备、所述第一处理单元和所述第二处理单元之间,所述存储器管理电路被配置为不使安全级别访问请求的安全级别降级。
CN202211486470.4A 2021-11-25 2022-11-24 存储器防火墙的动态管理 Pending CN116166609A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR2112497 2021-11-25
FR2112497A FR3129499B1 (fr) 2021-11-25 2021-11-25 Gestion dynamique d’un pare-feu de mémoire
US17/989,389 US20230161484A1 (en) 2021-11-25 2022-11-17 Dynamic management of a memory firewall
US17/989,389 2022-11-17

Publications (1)

Publication Number Publication Date
CN116166609A true CN116166609A (zh) 2023-05-26

Family

ID=80786254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211486470.4A Pending CN116166609A (zh) 2021-11-25 2022-11-24 存储器防火墙的动态管理

Country Status (4)

Country Link
US (1) US20230161484A1 (zh)
EP (1) EP4187393A1 (zh)
CN (1) CN116166609A (zh)
FR (1) FR3129499B1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117097576A (zh) * 2023-10-20 2023-11-21 北京凯芯微科技有限公司 一种面向功能安全的axi总线防火墙

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2402785B (en) * 2002-11-18 2005-12-07 Advanced Risc Mach Ltd Processor switching between secure and non-secure modes
US20060143411A1 (en) * 2004-12-23 2006-06-29 O'connor Dennis M Techniques to manage partition physical memory
FR2989801B1 (fr) * 2012-04-18 2014-11-21 Schneider Electric Ind Sas Procede de gestion securisee d'un espace memoire pour microcontroleur
FR3035241B1 (fr) * 2015-04-16 2017-12-22 Inside Secure Procede de partage d'une memoire entre au moins deux entites fonctionnelles
US11200345B2 (en) * 2015-07-29 2021-12-14 Hewlett Packard Enterprise Development Lp Firewall to determine access to a portion of memory
FR3090923B1 (fr) * 2018-12-21 2021-09-17 Thales Sa Dispositif de contrôle généralisé des transferts mémoires pour les accès concurrentiels sur un système sur une puce
FR3103586B1 (fr) 2019-11-22 2023-04-14 St Microelectronics Alps Sas Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117097576A (zh) * 2023-10-20 2023-11-21 北京凯芯微科技有限公司 一种面向功能安全的axi总线防火墙
CN117097576B (zh) * 2023-10-20 2024-01-02 北京凯芯微科技有限公司 一种面向功能安全的axi总线防火墙

Also Published As

Publication number Publication date
FR3129499B1 (fr) 2024-06-28
FR3129499A1 (fr) 2023-05-26
US20230161484A1 (en) 2023-05-25
EP4187393A1 (fr) 2023-05-31

Similar Documents

Publication Publication Date Title
KR101477080B1 (ko) 메모리 액세스 보안 관리
JP4756603B2 (ja) データプロセッサ
US7930539B2 (en) Computer system resource access control
US10592270B2 (en) Safety hypervisor function
US8583888B2 (en) Method to qualify access to a block storage device via augmentation of the device'S controller and firmware flow
CN112948321A (zh) 用于管理片上系统的操作的方法和对应的片上系统
US8959304B2 (en) Management of data processing security in a secondary processor
US20040177266A1 (en) Data processing system with peripheral access protection and method therefor
US7277972B2 (en) Data processing system with peripheral access protection and method therefor
US7779254B1 (en) Mechanism to enhance and enforce multiple independent levels of security in a microprocessor memory and I/O bus controller
JP4945053B2 (ja) 半導体装置、バスインターフェース装置、およびコンピュータシステム
JP5263602B2 (ja) アクセス制御システム、アクセス制御方法、電子装置、及び制御プログラム
US20060259674A1 (en) Apparatus and method for granting access to a hardware interface shared between multiple software entities
US20080178261A1 (en) Information processing apparatus
CN112749397A (zh) 一种系统和方法
CN112835845A (zh) 用于管理形成例如微控制器的片上系统的调试的方法和对应片上系统
US20220156217A1 (en) Method for managing the operation of a system on chip, and corresponding system on chip
US20230161484A1 (en) Dynamic management of a memory firewall
US10628611B2 (en) Exclusive execution environment within a system-on-a-chip computing system
US11216390B2 (en) Storage device, memory access control system, and memory access control method
KR100941743B1 (ko) 타겟 보안을 이용한 입력/출력 디바이스들의 다중-테이블액세싱을 위한 방법 및 장치
TW202324158A (zh) 以安全分區記憶體空間於系統單晶片中錯誤管理
US11188477B2 (en) Page protection layer
US20230161486A1 (en) Method for managing a memory in a system-on-a-chip
US20230161485A1 (en) Management of a memory firewall in a system on chip

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