CN112214758A - 用于管理经加密的软件应用的设备和方法 - Google Patents

用于管理经加密的软件应用的设备和方法 Download PDF

Info

Publication number
CN112214758A
CN112214758A CN202010656735.5A CN202010656735A CN112214758A CN 112214758 A CN112214758 A CN 112214758A CN 202010656735 A CN202010656735 A CN 202010656735A CN 112214758 A CN112214758 A CN 112214758A
Authority
CN
China
Prior art keywords
memory
memory area
software application
access permission
permission level
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
CN202010656735.5A
Other languages
English (en)
Inventor
V·贝特洛
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 CN112214758A publication Critical patent/CN112214758A/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/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/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
    • 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/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/602Providing cryptographic facilities or services
    • 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/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/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
    • 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 Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

本公开的各实施例涉及用于管理经加密的软件应用的设备和方法。实施例集成电路包括:具有第一访问权限级别的第一存储器区,第一存储器区被配置为存储包含经加密的指令的至少一个第一软件应用;用于验证第一软件应用的完整性的部件;加密/解密部件,例如第一逻辑电路,被配置为将被认为表现出完整性的经加密的指令解密;处理单元,被配置为执行经解密的指令,第一逻辑电路还被配置为对由执行操作生成的数据进行加密,以及第二部件,例如第二逻辑电路,被配置为将经加密的数据存储在第二存储器区中,第二存储器区具有与第一访问权限级别相同的第二访问权限级别。

Description

用于管理经加密的软件应用的设备和方法
相关申请的交叉引用
本申请要求于2019年07月09日提交的法国申请号1907655的权益,该申请通过引用并入本文。
技术领域
本发明的实施方式和实施例涉及集成电路,并且更具体地涉及形成片上系统(SoC)的集成电路。
背景技术
片上系统可以包括存储器,存储器包含用于系统和软件应用的操作系统。
为了防止恶意软件应用读取另一软件应用的指令以及读取由片上系统的处理单元通过指令的执行而生成的数据,本领域技术人员将其称为存储器保护单元的屏障被放置在适当的位置,以使软件应用彼此隔离。
然而,操作系统可以读取软件应用的指令。
此外,如果操作系统被破坏,则隔离屏障消失,并且不再保证软件应用的指令以及与软件应用相关联的数据的机密性。
因此,需要在软件应用之间以及相对于操作系统,保证软件应用的指令以及与软件应用相关联的数据的机密性。
发明内容
根据实施方式和实施例,有利地提出的是将软件应用的指令和与软件应用相关联的数据加密,并且将与软件应用相关联的经加密的数据存储在存储器区中,该存储器区具有与存储软件应用的存储器区相同的权限。
根据一个方面,提出了一种方法,该方法包括:
-将包含经加密的指令的至少一个第一软件应用存储在第一存储器区中的操作,该第一存储器区具有第一访问权限级别,
-验证第一软件应用的完整性的操作,
-使用加密/解密部件,例如逻辑电路,将被认为表现出完整性的经加密的指令解密的操作,
-使用处理单元执行经解密的指令的操作,该执行操作生成数据,
-使用加密/解密部件将所生成的数据加密的操作,以及
-将经加密的数据存储在第二存储器区中的操作,第二存储器区具有与第一访问权限级别相同的第二访问权限级别。
应用程序的指令和数据被加密,并且在具有相同访问权限级别的两个存储器区中被保护,使得操作软件项无法解释所存储的经加密的指令和数据。
根据一个实施方式,第一存储器区形成第一存储器的一部分,第一存储器具有第一附加存储器区,第一附加存储器区具有高于第一访问权限级别的第一附加访问权限级别,第一附加存储器区包含用于处理单元的第一操作软件项。
根据另一实施方式,第一存储器区和第一附加存储器区形成第一存储器的安全域的一部分。
根据另一实施方式,第一存储器还包括不安全域,该不安全域包括:第一不安全存储器区,存储至少一个第二软件应用;以及第二不安全存储器区,存储用于处理单元的第二操作软件项,第二不安全存储器区具有比第一不安全存储器区的访问权限级别高的访问权限级别。
根据另一实施方式,方法还包括验证至少一个第二软件应用的完整性的操作。
被破坏的应用程序不被处理单元执行,使得它不破坏其他应用程序或操作软件项。
根据另一实施方式,该方法还包括:将所存储的加密数据解密的操作;通过处理单元处理经解密的数据的操作,该处理操作生成新数据;使用加密/解密部件将新数据加密的操作;以及将经加密的新数据存储在第二存储器区中的操作。
根据另一实施方式,第二存储器区形成第二存储器的一部分,第二存储器表现出具有与第一存储器的访问权限级别一致的相应访问权限级别的、与第一存储器相同的域的分区和存储器区的分区,并且通过执行存储在第一存储器的存储器区中的一个存储器区中的软件项而被生成的数据被存储在第二存储器的一致的存储器区中。
根据另一实施方式,方法包括在验证每个软件应用的完整性的操作之前,存储软件应用的第一占用空间(footprint)和存储器大小的操作,并且验证完整性的操作包括:使用存储器大小计算软件应用的第二占用空间的操作,以及将两个占用空间彼此比较的操作,如果两个占用空间相同,则认为该软件应用表现出完整性。
根据另一实施方式,计算第二占用空间的操作包括以下操作:实施哈希函数,该哈希函数具有软件应用的指令和存储器大小作为输入参数,并且递送第二占用空间作为输出。
根据另一个实施方式,将数据加密和解密的操作实施对称密钥块密码算法,该对称密钥块密码算法不包括块之间的链接并且使用秘密密钥。
使用不包括块之间的链接的块密码算法允许指令块中的一个指令与块中的其他指令无关地被解密,从而保证了不需要被解密的指令的机密性。
块密码算法可以例如使用计数器。
根据另一实施方式,方法包括并行执行至少一个第一软件应用和至少一个第二软件应用的操作。
根据另一方面,提出了一种集成电路,集成电路包括:
-第一存储器区,具有第一访问权限级别,被配置为存储包含经加密的指令的至少一个第一软件应用,
-用于验证第一软件应用的完整性的部件,
-加密/解密部件,例如第一逻辑电路,被配置为将被认为表现出完整性的经加密的指令解密,
-处理单元,被配置为执行经解密的指令,加密/解密部件还被配置为将通过执行操作生成的数据加密,以及
-第二部件,例如第二逻辑电路,被配置为将经加密的数据存储在第二存储器区中,第二存储器区具有与第一访问权限级别相同的第二访问权限级别。
根据另一实施例,第一存储器区形成第一存储器的一部分,第一存储器包括第一附加存储器区,第一附加存储器区具有高于第一访问权限级别的第一附加访问权限级别,第一附加存储器区被配置为包含用于处理单元的第一操作软件项。
根据另一实施例,第一存储器区和第一附加存储器区形成第一存储器的安全域的一部分。
根据另一实施例,第一存储器还包括不安全域,该不安全域包括:第一不安全存储器区,被配置为存储至少一个第二软件应用;以及第二不安全存储器区,被配置为存储用于处理单元的第二操作软件项,第二不安全存储器区具有高于第一不安全存储器区的访问权限级别的访问权限级别。
根据另一实施例,用于验证完整性的部件还被配置为验证至少一个第二软件应用的完整性。
根据另一实施例,加密/解密部件还被配置为将所存储的经加密的数据解密,处理单元还被配置为处理经解密的数据,加密/解密部件还被配置为将由处理操作生成的新数据加密,第二部件还被配置为将经加密的新数据存储在第二存储器区中。
根据另一实施例,第二存储器区形成第二存储器的一部分,第二存储器包括具有与第一存储器的访问权限级别一致的相应访问权限级别的、与第一存储器相同的域的分区和存储器区的分区,第二部件还被配置,使得通过执行存储在第一存储器的存储器区中的一个存储器区中的软件项而被生成的数据被存储在第二存储器的一致的存储器区中。
根据另一实施例,用于验证完整性的部件被配置为:存储软件应用的第一占用空间和存储器大小,通过使用该存储器大小来计算软件应用的第二占用空间,以及比较这两个占用空间。
根据另一实施例,用于验证完整性的部件被配置为通过实施哈希函数来计算第二占用空间,该哈希函数具有软件应用的指令和存储器大小作为输入参数,并且递送第二占用空间作为输出。
根据另一个实施例,加密/解密部件被配置为实施对称密钥块密码算法,该对称密钥块密码算法不包括块之间的链接,并且使用秘密密钥以加密和解密数据。
根据另一个实施例,处理单元包括至少两个处理器核,第一处理器核被配置为执行至少一个第一软件应用,并且第二处理器核被配置为并行执行至少一个第二软件应用。
根据另一方面,提出了一种包含诸如上文所定义的集成电路的设备。
附图说明
通过检查对完全非限制性实施例的详细描述和附图,本发明的其他优点和特征将变得明显,其中:
图1-图4图示了本发明的各种实施例和实施方式。
具体实施方式
参考图1,其示出了被包含在电子设备CP(例如,平板电脑)内的集成电路CI的一个示例性实施例。
集成电路CI在这里形成片上系统(SoC)。
集成电路CI包括第一存储器MEM1、第二存储器MEM2、处理单元UT、存储器管理模块MD1、哈希模块MD2和形成加密/解密部件的第一逻辑电路CL1,以及第二逻辑电路CL2。
第一存储器MEM1包括安全域D11,安全域D11包括具有第一访问权限级别P11的第一存储器区Z111,并且包括第一附加存储器区Z12,第一附加存储器区Z12具有比第一访问权限级别P11高的第一附加访问权限级别P12。
第一存储器区Z111被配置为存储第一软件应用APP1,并且第一附加存储器区Z12被配置为存储用于处理单元UT的第一操作软件项OS1。
第一存储器MEM1还包括不安全域D21,不安全域D21包括具有第二访问权限级别P21的第一不安全存储器区Z211,并且包括第二不安全存储器区Z221,该第二不安全存储器区Z221具有比第二访问权限级别P21高的第二附加访问权限级别P22。
第一不安全存储器区Z211被配置为存储第二软件应用APP2,并且第二不安全存储器区Z221被配置为存储用于处理单元UT的第二操作软件项OS2。
第一软件应用和第二软件应用APP1和APP2的指令被加密。
第一存储器MEM1是例如非易失性存储器,诸如闪存。
当然,第一存储器区Z111和第一不安全存储器区Z211可以均包括一个以上的软件应用。
第二存储器MEM2包括具有与第一存储器的访问权限级别一致的相应访问权限级别的、与第一存储器相同的域的分区和存储器区的分区。
第二存储器MEM2包括划分成安全域D12和不安全域D22的分区,并且包括具有访问权限级别P11的存储器区Z112、具有访问权限级别P12的存储器区Z122、具有访问权限级别P21的存储器区Z212,以及具有访问权限级别P22的存储器区Z222。
第二存储器MEM2例如是非易失性存储器,诸如RAM或SRAM。
存储器管理模块MD1包含:
-存储器MEM1和MEM2的域和存储器区的地址ADD,
-用于加密和解密数据和指令的秘密密钥KEY,以及初始化或初始矢量VECT,以及
-软件应用管理器GEST,其包括每个软件应用APP1、APP2的第一占用空间和大小,以及用于执行每个应用APP1、APP2的域和存储器区的指示。
假设使用加密密钥KEY和初始矢量VECT将应用程序APP1和APP2的指令加密。
作为变型,可以使用初始矢量和不同的秘密密钥来加密每个应用程序的指令。
第二逻辑电路CL2被配置,使得基于地址ADD和管理模块MD1中包含的用于执行每个应用APP1、APP2的域和存储器区的指示,通过执行存储在第一存储器MEM1的存储器区中的一个存储器区中的软件应用APP1、APP2而生成的经加密的数据被存储在第二存储器MEM2的具有相同访问权限级别的一致的存储器区中。
在集成电路CI的使用之前,在集成电路CI的生产期间,数据ADD、KEY、VECT和GEST被加载到存储器管理模块MD1中。
哈希模块MD2包括哈希函数,该哈希函数具有软件应用APP1、APP2的指令和存储器大小作为输入参数,并且递送该软件应用的第二占用空间作为输出。
用于验证完整性的部件被配置为存储每个软件应用APP1、APP2的第一占用空间和存储器大小,以通过使用该存储器大小来计算软件应用的第二占用空间并且比较这两个占用空间。
这里,验证部件包含处理单元UT、管理模块MD1和哈希模块MD2。
如果没有软件应用APP1、APP2已经被修改的指令,则第二占用空间与第一占用空间相同,使得可以确认指令未被修改,从而证明了软件应用的完整性。
这里,第一逻辑电路CL1在硬件中包括对称密钥块密码算法。
对称密钥块密码算法可以例如使用计数器CTR。
对称密钥块密码算法是例如AES或3DES算法。
作为变型,块密码算法可以是不对称的。
第一CL1逻辑电路和第二CL2逻辑电路例如由逻辑门形成。
不包括块之间的链接的块密码算法的使用允许指令块中的一个指令与块中的其他指令无关地被解密,从而保证了不需要被解密的指令的机密性。
第一逻辑电路CL1被配置为将被认为表现出完整性的软件应用APP1和APP2的经加密的指令解密,处理单元UT被配置为执行软件应用APP1和APP2的经解密的指令,并且第一逻辑电路CL1被配置为将通过执行指令而生成的数据加密。处理单元UT还经由第二逻辑电路CL2连接到易失性存储器MEM3,例如高速缓存存储器。
发送到处理单元UT或来自处理单元UT的指令和数据穿过高速缓存存储器MEM3。
处理单元UT被配置为递送秘密密钥KEY和初始化矢量VECT作为第一逻辑电路CL1的输入。
处理单元UT例如由微处理器形成,尽管它可以是能够配置第一逻辑电路CL1并且执行软件应用的指令的任何设备。
参考图2,其图示了集成电路CI的第一示例性实施方式。
在下文中,假设仅软件应用APP1被执行并且生成数据DATA1。
在步骤10中,处理单元UT执行操作软件项OS1,以便将屏障放置在适当位置,以创建存储器区Z111、Z121、Z112、Z122,并且将本领域技术人员称为存储器保护单元的屏障放置在合适位置,使得软件应用在同一个存储器区中彼此隔离。接下来,处理单元执行操作软件项OS2,以便创建存储器区Z211、Z221、Z212、Z222以及创建用于将存在于同一个存储器区中的应用程序彼此隔离的屏障。
接下来,在步骤11中,验证部件通过计算并且将每个软件应用的第二占用空间与存储在模块MD1中的该软件应用的第一占用空间进行比较,来验证每个软件应用APP1、APP2的完整性。
如果所计算的第二占用空间与所存储的第一占用空间不相同,则软件应用不被激活,并且因此不被处理单元UT执行(步骤12)。
如果所计算的第二占用空间与所存储的第一占用空间相同,则激活软件应用,并且第一逻辑电路CL1使用由处理单元UT提供的加密密钥KEY和初始矢量VECT来解密软件应用的指令。
经解密的指令被存储在存储器MEM3中。
在下文中假设软件应用APP1表现出完整性。
接下来,在步骤13中,处理单元UT执行程序APP1的指令,从而生成数据DATA1。
在步骤14中,第一逻辑电路CL1使用初始矢量VECT和加密密钥KEY来加密数据DATA1。
接下来,在步骤15中,实施管理模块MD1的逻辑电路CL2检查:数据ADD中列出的、用于存储经加密的数据DATA1的存储存储器区ADD1的地址是否具有与用于执行数据GEST中列出的应用程序APP1的域的访问权限级别相同的访问权限级别。
如果访问权限级别不相同,则经加密的数据DATA1不被存储在带有地址ADD1的存储存储器区中。
假设地址ADD1与第二存储器MEM2的第一存储器区Z112相对应。
由于访问权限级别相同,因此经加密的数据DATA1被存储在第二存储器MEM2的第一存储器区Z112中(步骤16)。
参考图3,其图示了集成电路CI的第二示例性实施方式。
在该实施方式中,假设由应用程序APP1的执行产生的经加密的数据DATA1被存储在第二存储器MEM2的第一存储器区Z112中,并且假设存储器MEM3包含应用程序APP1的经解密的指令,应用程序APP1需要数据DATA1以便生成新数据DATA2。
在步骤20中,第一逻辑电路CL1使用加密密钥KEY和初始矢量VECT来解密经加密的数据DATA1。
接下来,在步骤21中,处理单元UT执行需要数据DATA1的应用程序APP1的指令,并且生成数据DATA2。
在步骤22中,第一逻辑电路CL1使用初始矢量VECT和加密密钥KEY来加密新数据DATA2。
接下来,在步骤23中,第二逻辑电路CL2检查:数据ADD中列出的、用于存储经加密的数据DATA2的存储存储器区ADD2的地址是否具有与用于执行数据GEST中列出的应用程序APP1的域的访问权限级别相同的访问权限级别。
如果访问权限级别不相同,则经加密的数据DATA2不被存储在带有地址ADD2的存储存储器区中。
假设地址ADD2与第二存储器MEM2的第一存储器区Z112相对应。
由于访问权限级别相同,因此在步骤24中,经加密的数据DATA2被存储在第二存储器MEM2的第一存储器区Z112中。
图4图示了处理单元UT的第二实施例。
处理单元UT包括两个处理器核30和31,第一处理器核30被配置为执行软件应用APP1,并且第二处理器核31被配置为并行执行软件应用APP2。

Claims (22)

1.一种方法,包括:
在第一存储器区中存储包含经加密的指令的至少一个第一软件应用,所述第一存储器区具有第一访问权限级别;
验证所述至少一个第一软件应用的完整性;
将被认为表现出完整性的所述经加密的指令解密;
由处理器执行经解密的所述指令以生成数据;
将所生成的所述数据加密;以及
将经加密的所述数据存储在第二存储器区中,所述第二存储器区具有与所述第一访问权限级别相同的第二访问权限级别。
2.根据权利要求1所述的方法,其中所述第一存储器区形成第一存储器的一部分,所述第一存储器具有第一附加存储器区,所述第一附加存储器区具有高于所述第一访问权限级别的第一附加访问权限级别,所述第一附加存储器区包含用于所述处理器的第一操作软件项。
3.根据权利要求2所述的方法,其中所述第一存储器区和所述第一附加存储器区形成所述第一存储器的安全域的一部分。
4.根据权利要求3所述的方法,其中所述第一存储器还包括不安全域,所述不安全域包括:第一不安全存储器区,存储至少一个第二软件应用;以及第二不安全存储器区,存储用于所述处理器的第二操作软件项,所述第二不安全存储器区具有高于所述第一不安全存储器区的访问权限级别的访问权限级别。
5.根据权利要求4所述的方法,还包括:验证所述至少一个第二软件应用的完整性。
6.根据权利要求1所述的方法,还包括:
将所存储的所述数据解密;
由所述处理器处理经解密的所述数据以生成新数据;
将所述新数据加密;以及
将经加密的所述新数据存储在所述第二存储器区中。
7.根据权利要求4所述的方法,其中所述第二存储器区形成第二存储器的一部分,所述第二存储器表现出具有与所述第一存储器的访问权限级别一致的相应访问权限级别的、与所述第一存储器相同的域的分区和存储器区的分区,并且通过执行存储在所述第一存储器的所述存储器区中的一个存储器区中的软件项而被生成的所述数据被存储在所述第二存储器的一致的存储器区中。
8.根据权利要求1所述的方法,还包括:
在验证所述至少一个第一软件应用的所述完整性之前,存储所述至少一个第一软件应用的第一占用空间和存储器大小;以及
验证所述完整性包括:使用所述存储器大小来计算所述至少一个第一软件应用的第二占用空间;以及将所述第一占用空间和所述第二占用空间相互比较,响应于所述第一占用空间和所述第二占用空间相同,所述至少一个第一软件应用被认为表现出完整性。
9.根据权利要求8所述的方法,其中计算所述第二占用空间包括实施哈希函数,所述哈希函数以所述经加密的指令和所述至少一个第一软件应用的所述存储器大小作为输入参数,并且递送所述第二占用空间作为输出。
10.根据权利要求1所述的方法,其中将所述数据加密和解密实施对称密钥块密码算法,所述对称密钥块密码算法不包括块之间的链接并且使用秘密密钥。
11.根据权利要求4所述的方法,还包括并行执行所述至少一个第一软件应用和所述至少一个第二软件应用。
12.一种集成电路,包括:
第一存储器区,具有第一访问权限级别,并且被配置为存储包含经加密的指令的至少一个第一软件应用;
处理器、存储器管理模块和哈希模块,被配置为验证所述第一软件应用的完整性;
第一逻辑电路和所述哈希模块,被配置为将被认为表现出完整性的所述经加密的指令解密;
所述处理器还被配置为执行经解密的所述指令以生成数据;
所述第一逻辑电路和所述哈希模块还被配置为将所生成的所述数据加密;以及
第二逻辑电路,被配置为将经加密的所述数据存储在第二存储器区中,所述第二存储器区具有与所述第一访问权限级别相同的第二访问权限级别。
13.根据权利要求12所述的集成电路,其中所述第一存储器区形成第一存储器的一部分,所述第一存储器包括第一附加存储器区,所述第一附加存储器区具有高于所述第一访问权限级别的第一附加访问权限级别,所述第一附加存储器区被配置为包含用于所述处理器的第一操作软件项。
14.根据权利要求13所述的集成电路,其中所述第一存储器区和所述第一附加存储器区形成所述第一存储器的安全域的一部分。
15.根据权利要求14所述的集成电路,其中所述第一存储器还包括不安全域,所述不安全域包括:第一不安全存储器区,被配置为存储至少一个第二软件应用;以及第二不安全存储器区,被配置为存储用于所述处理器的第二操作软件项,所述第二不安全存储器区具有高于所述第一不安全存储器区的访问权限级别的访问权限级别。
16.根据权利要求15所述的集成电路,其中所述处理器、所述存储器管理模块和所述哈希模块还被配置为验证所述至少一个第二软件应用的完整性。
17.根据权利要求12所述的集成电路,其中所述第一逻辑电路和所述哈希模块还被配置为将所存储的所述数据解密,所述处理器还被配置为处理经解密的数据,所述第一逻辑电路和所述哈希模块还被配置为将由所述处理器生成的新数据加密,并且所述第二逻辑电路还被配置为将经加密的新数据存储在所述第二存储器区中。
18.根据权利要求15所述的集成电路,其中所述第二存储器区形成第二存储器的一部分,所述第二存储器包括具有与所述第一存储器的访问权限级别一致的相应访问权限级别的、与所述第一存储器相同的域的分区和存储器区的分区,所述第二逻辑电路还被配置,以便通过执行存储在所述第一存储器的所述存储器区中的一个存储器区中的软件项而生成的所述数据,被存储在所述第二存储器的一致的存储器区中。
19.根据权利要求12所述的集成电路,其中所述处理器、所述存储器管理模块和所述哈希模块还被配置为:存储所述至少一个第一软件应用的第一占用空间和存储器大小,通过使用所述存储器大小来计算所述至少一个第一软件应用的第二占用空间,以及比较所述第一占用空间和所述第二占用空间。
20.根据权利要求19所述的集成电路,其中所述处理器、所述存储器管理模块和所述哈希模块还被配置为:通过实施哈希函数来计算所述第二占用空间,所述哈希函数以所述经加密的指令和所述至少一个第一软件应用的所述存储器大小作为输入参数,并且递送所述第二占用空间作为输出。
21.根据权利要求12所述的集成电路,其中所述第一逻辑电路被配置为实施对称密钥块密码算法,所述对称密钥块密码算法不包括块之间的链接,并且使用秘密密钥来加密和解密数据。
22.根据权利要求15所述的集成电路,其中所述处理器包括至少两个处理器核,第一处理器核被配置为执行所述至少一个第一软件应用;并且第二处理器核被配置为并行执行所述至少一个第二软件应用。
CN202010656735.5A 2019-07-09 2020-07-09 用于管理经加密的软件应用的设备和方法 Pending CN112214758A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1907655 2019-07-09
FR1907655A FR3098613A1 (fr) 2019-07-09 2019-07-09 Procede de gestion du fonctionnement d’au moins un logiciel applicatif chiffre et circuit integre correspondant

Publications (1)

Publication Number Publication Date
CN112214758A true CN112214758A (zh) 2021-01-12

Family

ID=68987782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010656735.5A Pending CN112214758A (zh) 2019-07-09 2020-07-09 用于管理经加密的软件应用的设备和方法

Country Status (3)

Country Link
US (1) US11734415B2 (zh)
CN (1) CN112214758A (zh)
FR (1) FR3098613A1 (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194389A1 (en) * 2001-06-08 2002-12-19 Worley William S. Secure machine platform that interfaces to operating systems and customized control programs
US20030084256A1 (en) * 2001-10-31 2003-05-01 Mckee Bret Method and system for privilege-level-access to memory within a computer
CN1451117A (zh) * 2000-06-30 2003-10-22 英特尔公司 采用安全存储器分区来实现安全执行的方法和装置
CN1647443A (zh) * 2002-04-18 2005-07-27 国际商业机器公司 初始化、维护、更新和恢复利用数据访问控制功能的集成系统中的安全操作
US20060242065A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Method for versatile content control with partitioning
US20090214040A1 (en) * 2008-02-27 2009-08-27 Mark R Funk Method and Apparatus for Protecting Encryption Keys in a Logically Partitioned Computer System Environment
CN102014133A (zh) * 2010-11-26 2011-04-13 清华大学 在云存储环境下一种安全存储系统的实现方法
US20120331308A1 (en) * 2011-06-22 2012-12-27 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
CN103593603A (zh) * 2012-08-17 2014-02-19 美国博通公司 保护多安全cpu系统中的安全软件
CN103946858A (zh) * 2011-09-29 2014-07-23 惠普发展公司,有限责任合伙企业 应用数据的解密和加密
US20180211049A1 (en) * 2017-01-24 2018-07-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Encryption and decryption of data owned by a guest operating system
US20190087354A1 (en) * 2018-11-15 2019-03-21 Intel Corporation System, Apparatus And Method For Integrity Protecting Tenant Workloads In A Multi-Tenant Computing Environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090292931A1 (en) * 2008-05-24 2009-11-26 Via Technology, Inc Apparatus and method for isolating a secure execution mode in a microprocessor
CN104040510B (zh) * 2011-12-21 2017-05-17 英特尔公司 具备安全的直接存储器访问的计算设备及相应方法
US10102390B2 (en) * 2012-06-28 2018-10-16 Honeywell International Inc. Memory authentication with redundant encryption

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1451117A (zh) * 2000-06-30 2003-10-22 英特尔公司 采用安全存储器分区来实现安全执行的方法和装置
US6986052B1 (en) * 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US20060015749A1 (en) * 2000-06-30 2006-01-19 Millind Mittal Method and apparatus for secure execution using a secure memory partition
US20020194389A1 (en) * 2001-06-08 2002-12-19 Worley William S. Secure machine platform that interfaces to operating systems and customized control programs
US20030084256A1 (en) * 2001-10-31 2003-05-01 Mckee Bret Method and system for privilege-level-access to memory within a computer
CN1647443A (zh) * 2002-04-18 2005-07-27 国际商业机器公司 初始化、维护、更新和恢复利用数据访问控制功能的集成系统中的安全操作
US20060242065A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Method for versatile content control with partitioning
US20090214040A1 (en) * 2008-02-27 2009-08-27 Mark R Funk Method and Apparatus for Protecting Encryption Keys in a Logically Partitioned Computer System Environment
CN102014133A (zh) * 2010-11-26 2011-04-13 清华大学 在云存储环境下一种安全存储系统的实现方法
US20120331308A1 (en) * 2011-06-22 2012-12-27 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
CN103946858A (zh) * 2011-09-29 2014-07-23 惠普发展公司,有限责任合伙企业 应用数据的解密和加密
CN103593603A (zh) * 2012-08-17 2014-02-19 美国博通公司 保护多安全cpu系统中的安全软件
US20180211049A1 (en) * 2017-01-24 2018-07-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Encryption and decryption of data owned by a guest operating system
US20190087354A1 (en) * 2018-11-15 2019-03-21 Intel Corporation System, Apparatus And Method For Integrity Protecting Tenant Workloads In A Multi-Tenant Computing Environment

Also Published As

Publication number Publication date
FR3098613A1 (fr) 2021-01-15
US20210011994A1 (en) 2021-01-14
US11734415B2 (en) 2023-08-22

Similar Documents

Publication Publication Date Title
CN102117387B (zh) 安全密钥访问设备及方法
US9602282B2 (en) Secure software and hardware association technique
US8281115B2 (en) Security method using self-generated encryption key, and security apparatus using the same
CN104252881B (zh) 半导体集成电路及系统
US9483664B2 (en) Address dependent data encryption
CN109840430B (zh) Plc的安全处理单元及其总线仲裁方法
EP2759955A1 (en) Secure backup and restore of protected storage
US8726038B2 (en) FPGA apparatus and method for protecting bitstream
CN110383277A (zh) 虚拟机监视器测量代理
US20090070596A1 (en) Secure Read-Write Storage Device
CN105765897A (zh) 一种安全信息配制方法、安全验证方法以及相关芯片
JP7256862B2 (ja) 保護されたコンテナ間のセキュア通信方法およびそのシステム
WO2016045458A1 (zh) 一种安全控制方法及网络设备
Oh et al. MeetGo: A trusted execution environment for remote applications on FPGA
Hong et al. Fasten: An fpga-based secure system for big data processing
US10291402B2 (en) Method for cryptographically processing data
Gross et al. Breaking trustzone memory isolation through malicious hardware on a modern fpga-soc
CN107925574B (zh) 秘密数据的安全编程
CN110659506A (zh) 基于密钥刷新对存储器进行重放保护
US10880082B2 (en) Rekeying keys for encrypted data in nonvolatile memories
CN110932853B (zh) 一种基于可信模块的密钥管理装置和密钥管理方法
CN112395631A (zh) 基于sgx技术的安全数据库系统、方法及介质
US9483665B2 (en) Method for monitoring an electronic security module
CN112214758A (zh) 用于管理经加密的软件应用的设备和方法
TW201506671A (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