CN112214758A - 用于管理经加密的软件应用的设备和方法 - Google Patents
用于管理经加密的软件应用的设备和方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000015654 memory Effects 0.000 claims abstract description 190
- 238000005192 partition Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 5
- 230000001747 exhibiting effect Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 claims 1
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 23
- 101150053844 APP1 gene Proteins 0.000 description 22
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 22
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 13
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 13
- 230000004888 barrier function Effects 0.000 description 5
- 102100034033 Alpha-adducin Human genes 0.000 description 2
- 102100024348 Beta-adducin Human genes 0.000 description 2
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 2
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 2
- 101000854862 Homo sapiens Vacuolar protein sorting-associated protein 35 Proteins 0.000 description 2
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 2
- 102100020822 Vacuolar protein sorting-associated protein 35 Human genes 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/72—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access 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所述的集成电路,其中所述处理器包括至少两个处理器核,第一处理器核被配置为执行所述至少一个第一软件应用;并且第二处理器核被配置为并行执行所述至少一个第二软件应用。
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)
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)
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 |
-
2019
- 2019-07-09 FR FR1907655A patent/FR3098613A1/fr active Pending
-
2020
- 2020-07-07 US US16/922,120 patent/US11734415B2/en active Active
- 2020-07-09 CN CN202010656735.5A patent/CN112214758A/zh active Pending
Patent Citations (14)
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 |