CN109656839A - 用于访问经加密的数据的电子设备和对应的方法 - Google Patents

用于访问经加密的数据的电子设备和对应的方法 Download PDF

Info

Publication number
CN109656839A
CN109656839A CN201811190817.4A CN201811190817A CN109656839A CN 109656839 A CN109656839 A CN 109656839A CN 201811190817 A CN201811190817 A CN 201811190817A CN 109656839 A CN109656839 A CN 109656839A
Authority
CN
China
Prior art keywords
decryption
nonvolatile memory
data
circuit
mask
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811190817.4A
Other languages
English (en)
Other versions
CN109656839B (zh
Inventor
S·伦吉
A·马蒂内兹
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 Rousset SAS
STMicroelectronics SRL
Original Assignee
STMicroelectronics Rousset SAS
STMicroelectronics SRL
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 Rousset SAS, STMicroelectronics SRL filed Critical STMicroelectronics Rousset SAS
Publication of CN109656839A publication Critical patent/CN109656839A/zh
Application granted granted Critical
Publication of CN109656839B publication Critical patent/CN109656839B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • 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
    • 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
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • 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/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/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
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44573Execute-in-place [XIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/1016Performance improvement
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/402Encrypted data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding

Abstract

本公开涉及用于访问经加密的数据的电子设备和对应的方法。电子设备包括:非易失性存储器,被配置为存储包括经加密数据的数据;和数字电路。数字电路包括:被配置为访问非易失性存储器和内部存储器的微处理器;和布置在标识用于在非易失性存储器和微处理器之间交换数据的内部数据路径的互连网络上且连接到非易失性存储器的存储器控制器以用于从非易失性存储器接收数据块的解密电路,解密电路被配置为:在运行中执行对从非易失性存储器读取的数据块的解密以获得经解密数据;生成对应于从非易失性存储器在给定读取地址处读取的第一数据块的第一解密掩码;以及生成对应于待从非易失性存储器在下一估计的读取地址处读取的第二数据块的第二解密掩码。

Description

用于访问经加密的数据的电子设备和对应的方法
相关申请的交叉引用
本申请要求2017年10月12日提交的意大利专利申请No.102017000115266的优先权,该申请以此通过引用并入本文。
技术领域
本说明书的各种实施例涉及一种电子设备,其包括数字电路,数字电路包括用于访问非易失性存储器、内部存储器(特别地是RAM)的电路(特别地是微处理器)以及用于存储来自非易失性存储器的数据(特别地是只读数据)的非易失性存储器(特别地是闪存存储器),该数据被加密存储在非易失性存储器中。
背景技术
为了保证安全性,已知以经加密的格式提供由微处理器运行的应用代码映像以保护代码映像本身免于逆向工程并拒绝执行未授权的代码映像。例如,像高级加密标准(AES)的强大的加密算法确保高水平的保护。然而,解密增加了对微处理器性能的惩罚。
由AES描述的算法是对称密钥算法,意味着相同的密钥用于加密和解密数据。AES基于被认为是替换置换网络(替换和置换的组合)的设计原理,并且在软件和硬件实施上都很快。目前,当正确地实施时,没有已知的实际攻击可以允许不知道密钥的人读取由AES加密的数据。然而,基于AES的解密掩码的生成在时间和计算方面要求很高:需要专用硬件电路来最小化掩码生成时间,而不需要微处理器的干预(微处理器卸载)。
就此而言,在图1中描述了没有安全能力的典型的子系统,包括微控制器11,微控制器11包括微处理器12,微处理器12又包括高速缓冲存储器13以访问微控制器11的RAM存储器(未在图1中示出)。可以包括总线的互连网络14允许与外围设备(诸如非易失性存储器,具体地是外部闪存存储器16)交换数据和信号(例如数据块B),访问外围设备以用于通过存储器控制器16a写入并读取块B。这样的存储器控制器16a是无解密意识的,它未被配置为解密经加密的数据块。附图标记15表示微控制器12内部的一组其他外围设备,由微处理器11通过互连网络14访问这些外围设备。
如所示的,微处理器12可以通过包括互连网络14和控制器16a(即,用于访问非易失性存储器16的电路)的路径访问外部存储器16中的数据块B。因为像微处理器12(其高速缓存控制器13被使能)的微处理器典型地一次读取数据块(数十个字节),所以如果这样的数据块被加密,则在运行中解密它们将需要能够通过将解密掩码应用于经加密的数据块来解密整个块。已知的存储器控制器是无解密意识的。然而,存储器控制器的重新设计很复杂,并且会危害它们的成熟度。此外,最先进的闪存设备支持混合包络突发(数据块)读取访问:第一突发读取访问带有延迟,而随后的突发访问(当地址线性增量时)不带有延迟。由存储器控制器实施的带有预取能力的类似的行为以最小化对闪存设备的连续读取访问的延迟。闪存零延迟意味着必须非常快速地生成解密掩码。
发明内容
一个或多个实施例的目的是提供一种电子设备,其包括基于微处理器的数字电路,该数字电路解决了现有技术的缺点,并且特别地提供了灵活的架构拓扑和简单的设计集成。
根据一个或多个实施例,由具有本文描述特性的电子设备来实现该目的。一个或多个实施例可以涉及对应的方法以及涉及可以加载到至少一个计算机的存储器中的计算机程序产品,并且包括当产品在至少一台计算机上运行时,能够执行该方法的步骤的软件代码的部分。如这里所使用的,对这样的计算机程序产品的引用被理解为等同于对包含用于控制处理系统以便协调根据实施例的方法的实施的指令的计算机可读介质的引用。对“至少一个计算机”的引用显然旨在强调本实施例以模块化和/或分布式形式实施的可能性。
根据本文描述的解决方案,描述了一种电子设备,其包括数字电路,数字电路包括用于访问非易失性存储器的、内部存储器(特别地是RAM)的电路(特别地是微处理器),以及非易失性存储器(具体地是闪存存储器),用于存储来自非易失性存储器的数据(具体地是只读数据),数据被加密并存储在非易失性存储器中,其中数字电路包括解密电路,解密电路被配置为在运行中执行对从非易失性存储器读取的被加密存储在非易失性存储器中的数据块的解密以获得读取的经解密的数据,解密电路被布置成插入在互连网络上,并且连接到非易失性存储器的存储器控制器以用于从对应于被加密存储的数据的非易失性存储器接收数据块,互连网络标识用于在非易失性存储器和用于访问非易失性存储器的电路之间交换数据的数据路径。解密电路可以被配置为生成对应于从非易失性存储器在给定读取地址处读取的数据块的解密掩码,并且生成对应于从非易失性存储器在下一估计的读取地址处读取的第二数据块的解密掩码。
在变型实施例中,数字微控制器是基于微处理器的数字电路(特别地是数字微控制器,优选地是基于ARM的微控制器),包括微处理器、内部存储器(特别地是RAM),以及用于存储包括用户应用代码映像的数据的非易失性存储器(特别地是闪存存储器),微控制器被配置为根据执行流程(特别地是就地执行(XIP)流程)操作,执行流程包括微处理器从非易失性存储器取出用户应用代码映像的指令并执行指令,用户应用代码映像的指令被加密存储在非易失性存储器中,数字电路包括解密电路,解密电路被配置为在运行中执行对从非易失性存储器读取的对应于被加密存储在非易失性存储器中指令的数据块的解密以获得读取的经解密的数据,解密电路被布置成插入在标识用于在非易失性存储器和微控制器之间交换数据的数据路径的互连网络上,并且连接到非易失性存储器的存储器控制器以用于从对应于被加密存储的指令的非易失性存储器接收数据块。
在变型实施例中,数字微控制器包括连接到安全互连网络的安全子系统电路(特别地是硬件安全模块),安全互连网络标识安全数据路径以与微控制器的电路交换包括加密参数的安全信息,解密电路还连接到安全子系统电路,安全子系统电路连接到安全互连网络以接收加密参数。
在变型实施例中,解密电路包括用于与内部解密电路交换安全信息的内部控制路径,内部控制路径与用于控制器和非易失性存储器之间交换数据的内部数据路径分离。
在变型实施例中,控制路径包括通过接口连接到安全互连网络的寄存器,寄存器可经由专用端口访问,安全子系统电路通过安全互连网络连接到该专用端口以管理在专用端口上数据传输的安全性,寄存器是只写和一次写入的,并且在被配置为监测在内部数据路径上发生的接口事务的控制电路的控制下,微控制器、寄存器与解密电路交换安全信息。
在变型实施例中,解密电路包括被配置为基于安全信息中的加密参数生成掩码的简化的AES核心,以及用于将解密掩码与加密数据组合的硬件解密电路装置,特别地是包括执行在读取数据与来自AES核心的掩码之间的异或(或XOR)操作的电路。
在变型实施例中,解密电路包括旁路电路,以根据从控制路径上的控制电路接收的命令,允许不需要解密的数据(特别地如果非易失性存储器被配置为存储用户应用代码映像数据和应用数据,应用数据)保持不变。
在变型实施例中,AES核心被配置为执行AES解密,预先计算推测性解密掩码以在不增加延迟的情况下执行硬件解密。
还描述了一种从如上所述的设备访问非易失性存储器中的经加密的数据的方法,包括从非易失性存储器中取出用户应用代码映像的被加密存储在非易失性存储器中的指令,以及执行指令,还包括在运行中执行对被加密存储在非易失性存储器中的指令的解密。
在变型实施例中,流程包括以下操作:首先执行系统初始化;以及然后微处理器开始执行从闪存存储器读取的由解密电路在读取周期中解密的经解密的指令。
在变型实施例中,流程是就地执行(XIP)流程。
还描述了一种计算机程序产品,其可以被加载到至少一个计算机的存储器中并且包括当产品在至少一个计算机上运行时能够执行方法的步骤的软件代码的部分。
附图说明
现在将参考附图纯粹通过非限制性示例的方式描述本发明,其中:
图1在上文讨论过;
图2示意性地表示这里描述的解决方案的第一实施例;
图3示意性地表示这里描述的解决方案的优选实施例;
图4示意性地表示这里描述的解决方案的另一实施例;
图5示意性地表示这里描述的解决方案的又一实施例;
图6示意性地表示图3的实施例的电路;
图7示意性地表示图6的电路的子电路;以及
图8表示由此处描述的解决方案执行的操作的流程。
具体实施方式
随后的描述图示了旨在深入理解实施例的各种具体细节。可以在没有一个或多个具体细节的情况下或者利用其他方法、部件、材料等来实施实施例。在其他情况下,未详细示出或描述已知的结构、材料或操作,使得实施例的各个方面不会不清楚。
在本说明书的框架中对“实施例”或“一个实施例”的引用意味着指示关于该实施例描述的特定配置、结构或特性包括在至少一个实施例中。同样地,可以出现在本说明书的各个点中的诸如“在实施例中”或“在一个实施例中”的短语不一定涉及相同的实施例。此外,在一个或多个实施例中,可以适当地组合特定构造、结构或特性。
本文使用的附图标记仅仅是为了方便,因此不限定保护范围或实施例的范围。
各种实施例可以应用于例如电子设备,诸如包括基于微处理器的数字电路,并且在非易失性存储器中存储用户应用代码映像的全球导航卫星系统集成电路,该微控制器被配置为根据就地XIP执行流程进行操作。
各种实施例可以应用于,例如优选地,基于ARM的微控制器。
这里描述的解决方案涉及一种解密硬件电路,解密硬件电路通过实施可以连接到诸如存储器控制器外部附加设备的控制器的外部解密硬件电路来避免重新设计存储器控制器。这样的解密硬件电路能够在运行中通过将解密掩码应用于经加密的数据块来解密整个数据块。为了解决闪存零延迟,利用掩码推测过程预先生成解密掩码。
硬件电路被配置为快速生成用于当前解密突发的解密掩码和用于下一解密突发的推测性解密掩码,以便在不增加进一步延迟的情况下解密数据流。并且,解密硬件电路提供由解密电路使用的解密参数(AES密钥和向量)的保护以防止“侵入(hacking)”,解密参数被配置为使得AES参数的编程利用相对于数据路径的分离的安全路径发生,并且使得回读AES参数必须是不可能的。当电路被使能以解密时,它不能够再被禁用,并且参数不可更改。因此,被配置为执行解密的电路包括可经由专用端口访问的被配置为只写和一次写入的寄存器。
更详细地,参考图2,描述了微控制器21的示意性解决方案。该架构类似于参考图1描述的微控制器11的架构,即它包括微处理器12和高速缓冲存储器13以访问用于读取和写入微控制器21的RAM存储器(未在图2中示出)。可以包括总线的互连网络14允许与外围设备15和非易失性存储器26(具体地是外部闪存存储器)交换数据和信号(例如数据块B),访问非易失性存储器26以用于通过安全存储器控制器26a写入和读取经加密的块CB。这样的安全存储器控制器26a包括与非易失性存储器16交换经加密的数据块CB的无解密意识存储器控制器16a。然而,放置在控制器16和互连网络14之间的安全存储器控制器26a包括解密电路22,即被配置为在运行中(即在读取周期期间)执行对数据块CB(特别地是在非易失性存储器16中被加密存储的应用代码的指令)的解密的电路。解密电路22通过存储器控制器16a解密来自闪存存储器16的经加密的数据块CB,并经过互连网络14将它们作为经解密的块B提供给微处理器12。
解密电路22被配置为数字微控制器子系统的一部分,数字微控制器子系统具有有限的内部存储器,即连接到高速缓存13的RAM存储器,包含指令的用户应用代码映像AC存储在非易失性闪存存储器16内。
优选地,微控制器21被配置为执行就地执行(XIP)过程,这允许微处理器12从闪存存储器16取出并执行用户应用代码映像AC的指令,而不是在执行之前首先将它们复制到内部RAM存储器13。解密电路22允许执行具有经加密的用户应用代码AC(即作为经加密的数据块CB)的XIP过程,而不会对微处理器性能造成损害。
优选地,包括微控制器21的电子设备是全球导航卫星系统集成电路,即定位设备,微控制器21是基于ARM的微控制器。存储在闪存存储器16中的应用数据是或者包括定位数据,而经加密的用户应用代码映像AC包含指令以管理全球导航卫星系统集成电路的操作。
利用经加密的应用代码的执行操作包括以下步骤:在第一步骤中,执行系统初始化,例如,硬件设备的配置;以及在第二步骤中,微处理器12开始执行经解密的代码,即来自闪存存储器16的块B中的指令,因为代码在运行中(即在相同的读取周期期间)被电路22解密。
这表示远比标准过程更简化和更快速的过程,标准过程在系统初始化之后要求将应用代码AC的经加密的块CB从外部闪存存储器16复制到内部RAM存储器13a,然后微处理器12解密经加密的代码并将经解密的代码复制到内部存储器13a内,然后微处理器12开始从RAM存储器13a执行经解密的代码。
XIP过程允许微处理器12比利用标准方法更快速地开始代码的执行,并且允许设计具有较少内部RAM存储器的设备。XIP过程还避免了可以访问解密算法和解密参数。
图3呈现了这里描述的解决方案的优选实施例,其包括使用安全子系统电路,即硬件安全模块或HSM。具有微控制器子系统的最先进的设备嵌入安全子系统,即负责安全管理的硬件安全模块。HSM是一种用于保障和管理用于强身份验证的数字密钥,并提供加密处理的物理计算设备。作为分离的结果,主微处理器不能访问安全信息(加密密钥、加密参数)和安全控制(即,它不能禁用解密)。
就此而言,在图3中表示对应于微控制器21,但附加地包括硬件安全模块23的微控制器31。硬件安全模块23连接到安全互连网络24以与微控制器30的电路,并且特别地与解密电路22交换安全信息SD,具体地将加密参数提供给这样的解密电路22的电路。
安全信息SD包括解密参数,特别地是由解密电路224(具体地是AES核心224a)使用的AES密钥和向量,如图6和图7中所示,必须保护解密参数免受“侵入(hacking)”。解密电路224中的AES参数的编程通过相对于数据路径(由互连网络14表示)的分离的安全路径(即安全互连网络24)发生,并且因此使得AES参数回读是不可能的。当解密电路22被使能以用于解密时,它不能够再被禁用,并且参数不可改变。如参考图7更好地示出的,解密电路22的寄存器仅可经由专用端口访问,既是只写又是一次写入的。
就此而言,在图6中示出了解密电路22的示意图。
安全路径接口221s将电路22与安全互连网络24接合以交换安全信息SD。在安全互连网络24上提供对应的接口241s。
数据路径接口221d将解密电路22与互连网络14接合以交换数据,例如数据块B。在互连网络14上提供对应的接口141d。
在解密电路22中,从安全路径接口221s开始用于安全信息SD的内部安全数据路径,标记为控制路径CP,而从数据路径接口221d开始用于待写入的数据WB和待读取的数据RB数据的内部数据路径DP。
在控制路径CP上布置寄存器222以存储用于安全信息SD中的解密的AES参数,特别地,提供用于执行AES解密的AES核心224a的加密密钥和参数。控制电路223被配置为监测在数据路径DP上发生的接口事务,识别待解密的事务并因此向解密电路224发送命令。
如图7中更好地示出的,解密电路224是这样的电路:嵌入用于解密掩码生成的AES核心224a,嵌入硬件解密电路装置以用于将解密掩码与经加密的数据组合,以及嵌入旁路电路以允许根据从控制电路223接收的命令,将不需要解密的数据(例如应用代码)保持不变。
解密电路224通过布置在解密电路22中的数据路径接口225d和非易失性存储器16中的对应的数据接口161,从闪存存储器16接收经加密的块CB中的经加密的读取数据。
内部数据路径DP包括写入路径WP,写入路径WP将写入数据WB直接发送到数据路径接口225d,并且然后发送到非易失性存储器16用于写入操作。这些写入数据WB可以由微控制器31或由与微控制器31相关联的另一设备加密。内部数据路径DP还包括读取路径RP,读取路径RP从非易失性存储器16开始、穿过解密电路22(通过接口225d和接口161),并且在解密电路224处进行解密后,作为读取块RB,到达待在互连网络14上传播到微处理器12的数据路径接口221d和接口141d,例如以用于根据XIP过程执行。
解密电路22具有待连接到现有的互连接口的兼容接口,兼容接口具体地是ARM高级外围总线(APB)142(安全路径接口141a、221s)和存储器控制器接口高级高性能总线(AHB)143(数据路径接口,141d、221d和225d、161)。
如所述的,解密电路22提供控制路径CP,其是包括与数据路径DP(电路211d、225d)分离的包括电路221s、222、223、224的安全路径。AES参数和控制命令可以经由安全路径SP编程到只写和一次写入的寄存器222中,以防止侵入。
在图7中,示出了详细说明解密电路224的框图。如上所述的这样的解密电路224包括AES核心224a,AES核心224a接收安全信息SD,即AES密钥、AES初始化向量和待解密的数据的地址,生成对应的解密掩码M(以及推测性掩码SM)。
通过推测性过程计算推测性掩码SM,其中,例如,生成的掩码取决于数据块的地址。当主处理器(经由其高速缓存控制器)向存储器发出读取时,解密电路224开始生成解密掩码M。一旦生成掩码M,解密电路224就推测性地生成用于在下一连续的线性地址处的块的掩码SM,即推测在下一连续线性地址处的块是将要读取的下一个块。因此,如果高速缓存执行对该块的读取,则经推测的掩码SM已经可用。由于最先进的闪存仅在第一个块读取时引入延迟,而在接下来的线性块中没有引入延迟,因此该解决方案避免了解密块在后续块读取的解密上增加一些延迟。
AES核心224a优选地是通用AES核心的专用版本,以便仅生成解密掩码M,使得这样的专用AES核心224a可以更快速(提高解密速度)并且使用更少的资源(即在芯片上的面积少于通用AES核心)。
例如,AES核心224接收待解密的数据的AHB地址(32位)和AES初始化向量(128位),它们彼此相加,并且在分离的输入上,然后,AES核心224a以本身已知的方式使用接收AES密钥(128位)来获得掩码M。
这样的解密掩码M、SM被提供给执行与从闪存存储器16读取的相应数据的异或或XOR操作的块224d。这些读取数据通常是经加密的数据CB,但是它们也可以是未经加密的数据,尽管在图7中为了简单起见,所有这些数据都用附图标记CB表示。为此,来自XOR块224d的经解密的数据被发送到多路复用器224c的输入,而从存储器16读取的数据也被直接发送到多路复用器224c的另一输入。
在块224d处对解密掩码M(或推测性掩码SM)与从闪存存储器16读取的数据CB的硬件XOR操作在没有对经解密的数据增加延时(延迟)的情况下发生。解密监测电路224b被配置为确定来自闪存存储器16的数据CB是否必须被解密,根据它是否是对应地控制多路复用器224c的输出的代码映像数据块。解密监测电路224b通过读取内部数据路径DP来监测事务类型和地址范围。
在图8中示出了表示由微处理器12(表示为通过高速缓冲存储器13)用于读取存储器16的访问操作的图。
图中的第一行表示由微处理器12按顺序发送读取地址RA以访问存储器16。在第一次读取时发送读取地址RA1(第一列,列表示后续读取周期,或解密突发)。存储器16带有延迟LT地提供对应的数据块CB(RA1)(如在第二行中所示),表示存储器16的响应。在第三行(数据解密)、第四行(生成掩码和推测性掩码)和第五行(仅生成推测性掩码)中示出解密电路22的操作。解密电路22生成(第五行)解密掩码M1,并且然后从中生成推测性掩码SM1,生成对应于下一估计读取地址(具体地是下一连续线性地址)的掩码。执行利用第一解密掩码M1的解密操作DC(M1),这对应于在掩码M1和数据块CB(RA1)之间执行XOR,发起将对应的经解密的读取块RB发送到高速缓存13。第二列示出连续读取,地址是RA2=RA1+1,获得的数据块是CB(RA2),通过使用在前一个读取周期生成的推测性掩码SM1的操作DC(SM1)解密数据块CB(RA2)。还生成第二推测性掩码SM2。然后,在下一读取周期(第三列)中,执行进一步的连续读取,地址是RA3=RA2+1,获得的数据块是CB(RA3),通过使用在前一个读取周期得到的第二推测性掩码SM2的操作DC(SM2)解密数据块CB(RA3)。在该周期期间还获得第三推测掩码SM3。然后,在下一个和最后的读取周期中,执行非连续读取,即增量5的读取地址是RA4=RA3+5。这意味着不能使用第三推测性掩码SM3,因此第三推测性掩码SM3被处置(操作DS)。存储器16带有延迟LT地提供对应的数据块CB(RA4)(如在第三行中所示),表示存储器16的响应。解密电路22生成第二解密掩码M2并且然后由此导出第四推测性掩码SM4。执行利用第二解密掩码M2的解密操作DC(M4)。
这示出了闪存零延迟读取如何需要预先生成解密掩码(掩码推测)以及如何需要专用硬件电路以快速生成用于当前解密突发的解密掩码M和用于下一解密突发的推测性解密掩码,以便在不进一步增加延迟的情况下解密数据流。AES核心是简化的核心,利用最低的硬件资源来专门用于尽可能快地生成128位的解密掩码。AES核心被配置为仅在11个时钟周期内生成解密掩码。
主要以两种方式使用AES核心-作为块密码(即数据由AES核心加密/解密)或作为流密码(AES核心用于生成与数据进行XOR的掩码,即在掩码和数据之间执行异或)。块密码模式的缺点是只有当数据可用时才可以开始使用AES核心。因此,考虑到AES处理的全部延迟。利用流密码,掩码生成与数据可用性无关并且通常可以提前启动。因此,可以消除部分或全部AES延迟。
在该视图下,简化的AES核心被配置为仅实现加密,因为相同的掩码用于加密和解密。对于加密,明文(即数据)与掩码进行XOR,获得经加密的文本。在解密中,这样的密文与提供明文的相同掩码进行XOR。
总结,简化的AES核心224a被配置为仅在加密模式下操作,并且解密电路224被配置为仅将简化的AES核心224a用作流密码,生成解密掩码M、SM,解密掩码M、SM被提供给块224d以与从闪存存储器16读取的对应的数据执行异或或XOR操作。解密掩码M、SM与用于加密从闪存存储器16读取的数据的掩码相同。
图4和图5示出了两个变型实施例。在图4中,解密电路22直接连接到处理器12,即在处理器12和互连网络14之间,使得只有到处理器12的数据被解密,而互连网络14上没有经解密的数据。
在图5中,示出了具有多于一个的非易失性存储器16的实施例,特别地是处理器12可以访问的两个存储器161和162。在这种情况下,提供连接到互连网络14的两个安全控制器261和262,每个非易失性存储器各一个。提供了唯一的硬件安全模块23,其并行地将安全互连网络上的安全信息SD提供给两个安全控制器261和262
根据这里描述的各种实施例的解决方案允许获得以下优势。
该解决方案有利地提供了在不增加延迟的情况下执行硬件解密,特别地是通过提供推测性解密掩码。
此外,通过采用优化的AES核心,在没有使用微处理器干预的情况下生成解密掩码的简化的硬件。
描述的解决方案提供了灵活的架构拓扑和简单的设计集成。
描述的解决方案为应用代码数据和安全数据提供分离的路径。
描述的解决方案利用应用数据提供应用代码的解密和透明性。
当然,在不损害实施例的原理的情况下,构造和实施例的细节可以关于本文纯粹作为示例描述和图示的内容而广泛变化,而不会因此脱离本发明的实施例的范围。
描绘的实施方式是专门为基于ARM的微控制器子系统设计的,但是它可以根据不同的架构(和接口)和高速缓存(不同大小的数据块)来通用化。
存储在闪存存储器中的数据的加密过程优选地是离线软件流程,离线软件流程使用计算机以通过使用闪存加载器应用利用经加密的代码映像对闪存存储器进行编程。在变型实施例中,首先例如在外部计算机中将源代码编译成代码映像,然后由相同或另一计算机使用AES算法(使用AES密钥、AES初始化向量和待加密的数据的范围地址)将代码映像进行加密,获得经加密的代码映像AC,然后利用闪存加载器应用将加密的代码映像AC存储在闪存存储器中。
在变型实施例中,可以使用与AES不同的加密过程。
在XIP场景中,这里描述的包括解密电路的电子设备在运行中执行对存储在非易失性存储器内的代码映像的解密时特别有效,而没有损失(没有延迟、没有微处理器干预......),但它不需要识别XIP流来操作。这里描述的包括解密电路的电子设备识别在高速缓存行填充(linefills)期间由高速缓存执行的典型的读取事务。因此,这里描述的包括解密电路的电子设备通常可以用于访问存储经加密的数据(优选地是只读数据)的非易失性存储器。这些只读数据可以包括应用代码映像,但是在变型实施例中也可以是不同种类的数据,例如恒定数据。然后,DMA(直接存储器访问)设备能够像高速缓存那样执行读取事务,即它可以表示访问非易失性存储器的电路。当DMA对解密电路执行“类高速缓存”读取事务时,数据也被解密。通常,解密电路可以当由特定读取事务触发时,在运行中解密经加密的信息(代码或数据)。

Claims (20)

1.一种电子设备,包括:
非易失性存储器,被配置为存储数据,其中所述数据包括经加密的数据;以及
数字电路,包括:
微处理器,被配置为访问所述非易失性存储器和内部存储器;以及
解密电路,被布置在标识用于在所述非易失性存储器和所述微处理器之间交换所述数据的内部数据路径的互连网络上,并且连接到所述非易失性存储器的存储器控制器,以用于从所述非易失性存储器接收数据块,所述解密电路被配置为:
在运行中执行对从所述非易失性存储器读取的所述数据块的解密,以获得读取的经解密的数据;
生成对应于从所述非易失性存储器在给定读取地址处读取的第一数据块的第一解密掩码;以及
生成对应于待从所述非易失性存储器在下一估计的读取地址处读取的第二数据块的第二解密掩码。
2.根据权利要求1所述的设备,其中所述内部存储器包括随机存取存储器。
3.根据权利要求1所述的设备,其中所述数据包括只读数据。
4.根据权利要求1所述的设备,其中所述非易失性存储器包括闪存存储器。
5.根据权利要求1所述的设备,其中所述微处理器包括数字微控制器,其中所述数据包括用户应用代码映像,其中所述数字微控制器被配置为:
根据包括就地执行(XIP)流程的执行流程进行操作;
从所述非易失性存储器中取出所述用户应用代码映像的指令,其中所述用户应用代码映像的所述指令被加密存储在所述非易失性存储器中;以及
执行所述用户应用代码映像的所述指令。
6.根据权利要求5所述的设备,其中所述数字微控制器包括连接到安全互连网络的安全子系统电路,所述安全互连网络标识安全数据路径以与所述数字微控制器交换包括加密参数的安全信息,所述解密电路还连接到所述安全子系统电路。
7.根据权利要求6所述的设备,其中所述安全子系统电路包括硬件安全模块。
8.根据权利要求6所述的设备,其中所述解密电路包括用于与内部解密电路交换所述安全信息的内部控制路径,所述内部控制路径与所述内部数据路径分离。
9.根据权利要求8所述的设备,其中所述内部控制路径包括通过至少一个接口连接到所述安全互连网络的至少一个寄存器,能够经由专用端口访问所述至少一个寄存器,所述安全子系统电路通过所述安全互连网络连接到所述专用端口以管理在所述专用端口上传输的所述数据的安全性,所述至少一个寄存器是只写和一次写入寄存器,所述至少一个寄存器被配置为在被配置为监测在所述内部数据路径上发生的事务的控制电路的控制下,与所述解密电路交换安全信息。
10.根据权利要求9所述的设备,其中所述解密电路包括高级加密标准(AES)解密电路,所述高级加密标准(AES)解密电路包括简化的AES核心和硬件解密电路装置,所述简化的AES核心被配置为基于所述安全信息中的所述加密参数生成所述第一解密掩码和所述第二解密掩码,所述硬件解密电路装置用于将所述第一解密掩码和所述第二解密掩码与经加密的数据组合,所述硬件解密电路装置包括在所述数据和从所述简化的AES核心提供的所述第一解密掩码或所述第二解密掩码之间执行异或操作的电路。
11.根据权利要求10所述的设备,其中所述简化的AES核心被配置为仅在加密模式下操作,并且其中所述解密电路被配置为使用所述简化的AES核心作为流密码来生成提供给所述硬件解密电路装置的所述电路的掩码。
12.根据权利要求11所述的设备,其中所述解密电路包括旁路电路,以根据在所述内部控制路径上从所述控制电路接收的命令,允许不需要解密的数据保持不变。
13.根据权利要求11所述的设备,其中所述简化的AES核心被配置为执行AES解密,所述AES解密计算与读取的所述第二数据块对应的推测性解密掩码,其中所述下一估计的读取地址对应于下一连续的线性地址,以在不增加延迟的情况下执行硬件解密。
14.根据权利要求1所述的设备,其中所述设备是全球导航卫星系统集成电路。
15.一种访问非易失性存储器中的经加密的数据的方法,所述方法包括:
从非易失性存储器中取出用户应用代码映像的指令,所述用户应用代码映像被加密并存储在所述非易失性存储器中;
执行所述用户应用代码映像的所述指令;以及
由解密电路在运行中执行对被加密并存储在所述非易失性存储器中的所述用户应用代码映像的所述指令的解密。
16.根据权利要求15所述的方法,还包括:
执行系统初始化;以及
由微处理器执行从所述非易失性存储器读取的经解密的指令,所述指令由所述解密电路在读取周期中解密。
17.根据权利要求16所述的方法,其中所述方法的步骤包括就地执行流程。
18.根据权利要求15所述的方法,还包括:
生成对应于从所述非易失性存储器在给定读取地址处读取的第一数据块的第一解密掩码;以及
生成对应于待从所述非易失性存储器在下一估计的读取地址处读取的第二数据块的第二解密掩码,其中所述下一估计的读取地址包括下一连续的线性读取地址。
19.一种存储待由处理器执行的程序的非瞬态计算机可读存储介质,所述程序包括用于以下操作的指令:
从非易失性存储器中取出用户应用代码映像的指令,所述用户应用代码映像被加密并存储在所述非易失性存储器中;
执行所述用户应用代码映像的所述指令;以及
由解密电路在运行中执行对被加密并存储在所述非易失性存储器中的所述用户应用代码映像的所述指令的解密。
20.根据权利要求19所述的非瞬态计算机可读存储介质,其中所述程序还包括用于以下操作的指令:
生成对应于从所述非易失性存储器在给定读取地址处读取的第一数据块的第一解密掩码;以及
生成对应于待从所述非易失性存储器在下一估计的读取地址处读取的第二数据块的第二解密掩码,其中所述下一估计的读取地址包括下一连续的线性读取地址。
CN201811190817.4A 2017-10-12 2018-10-12 用于访问经加密的数据的电子设备和对应的方法 Active CN109656839B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IT102017000115266A IT201700115266A1 (it) 2017-10-12 2017-10-12 Dispositivo elettronico comprendente un modulo digitale per accedere a dati cifrati in una memoria e corrispondente metodo per accedere a dati cifrati in una memoria
IT102017000115266 2017-10-12

Publications (2)

Publication Number Publication Date
CN109656839A true CN109656839A (zh) 2019-04-19
CN109656839B CN109656839B (zh) 2023-10-20

Family

ID=61025003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811190817.4A Active CN109656839B (zh) 2017-10-12 2018-10-12 用于访问经加密的数据的电子设备和对应的方法

Country Status (4)

Country Link
US (1) US11023566B2 (zh)
EP (1) EP3470990B1 (zh)
CN (1) CN109656839B (zh)
IT (1) IT201700115266A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931190A (zh) * 2020-08-25 2020-11-13 山东云海国创云计算装备产业创新中心有限公司 一种基于xip处理器系统的启动方法
CN112069551A (zh) * 2019-06-11 2020-12-11 意法半导体(鲁塞)公司 电子电路
CN112149185A (zh) * 2019-06-28 2020-12-29 意法半导体(鲁塞)公司 安全微处理器的存储器的修改
CN112699383A (zh) * 2019-10-22 2021-04-23 英飞凌科技股份有限公司 数据密码设备、存储器系统及其操作方法
CN113448888A (zh) * 2020-03-24 2021-09-28 皮尔茨公司 用于将数据存储在非易失性存储器中的设备
CN117193831A (zh) * 2023-11-07 2023-12-08 上海灵动微电子股份有限公司 支持在线升级的电路

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11556656B2 (en) * 2019-09-25 2023-01-17 Micron Technology, Inc. Exclusive or engine on random access memory
TWI735050B (zh) * 2019-10-09 2021-08-01 宜鼎國際股份有限公司 資料儲存裝置、電子設備及可遠端控制電子設備的系統

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050111664A1 (en) * 2003-11-20 2005-05-26 Ritz Andrew J. BIOS integrated encryption
CN1650259A (zh) * 2002-04-30 2005-08-03 皇家飞利浦电子股份有限公司 具有非易失性存储器的集成电路以及用于从所述存储器中取数据的方法
US20050223175A1 (en) * 2004-04-06 2005-10-06 International Business Machines Corporation Memory prefetch method and system
CN201142071Y (zh) * 2007-12-04 2008-10-29 上海海尔集成电路有限公司 8位闪存微控制器
CN101484905A (zh) * 2006-11-14 2009-07-15 Mcm组合有限责任公司 为存储装置提供安全实现的方法和系统
US8356186B1 (en) * 2009-10-01 2013-01-15 Rockwell Collins, Inc. Decryption system and method for reducing processing latency of stored, encrypted instructions
US20130117577A1 (en) * 2011-07-06 2013-05-09 CPU Technology, Inc. (77615) Secure Memory Transaction Unit
US20130129086A1 (en) * 2011-11-22 2013-05-23 Combined Conditional Access Development And Support, Llc. Downloading of Data to Secure Devices
CN104202161A (zh) * 2014-08-06 2014-12-10 广东电网公司电力科学研究院 一种SoC密码芯片
US20150363334A1 (en) * 2014-06-16 2015-12-17 Texas Instruments Incorporated Speculative cryptographic processing for out of order data
CN105993146A (zh) * 2013-03-07 2016-10-05 云耀公司 不访问私钥而使用公钥密码的安全会话能力
US20160364343A1 (en) * 2015-06-10 2016-12-15 Freescale Semiconductor, Inc. Systems and methods for data encryption
US20170063523A1 (en) * 2015-09-02 2017-03-02 Stmicroelectronics (Rousset) Sas Dpa protection of a rijndael algorithm
CN107209718A (zh) * 2015-03-11 2017-09-26 拉姆伯斯公司 高性能非易失性存储器模块

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195832A1 (en) * 2005-02-25 2006-08-31 Microsoft Corporation Modules for composing computer systems
US9614666B2 (en) * 2014-12-23 2017-04-04 Intel Corporation Encryption interface

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1650259A (zh) * 2002-04-30 2005-08-03 皇家飞利浦电子股份有限公司 具有非易失性存储器的集成电路以及用于从所述存储器中取数据的方法
US20050111664A1 (en) * 2003-11-20 2005-05-26 Ritz Andrew J. BIOS integrated encryption
US20050223175A1 (en) * 2004-04-06 2005-10-06 International Business Machines Corporation Memory prefetch method and system
CN101484905A (zh) * 2006-11-14 2009-07-15 Mcm组合有限责任公司 为存储装置提供安全实现的方法和系统
CN201142071Y (zh) * 2007-12-04 2008-10-29 上海海尔集成电路有限公司 8位闪存微控制器
US8356186B1 (en) * 2009-10-01 2013-01-15 Rockwell Collins, Inc. Decryption system and method for reducing processing latency of stored, encrypted instructions
US20130117577A1 (en) * 2011-07-06 2013-05-09 CPU Technology, Inc. (77615) Secure Memory Transaction Unit
US20130129086A1 (en) * 2011-11-22 2013-05-23 Combined Conditional Access Development And Support, Llc. Downloading of Data to Secure Devices
CN105993146A (zh) * 2013-03-07 2016-10-05 云耀公司 不访问私钥而使用公钥密码的安全会话能力
US20150363334A1 (en) * 2014-06-16 2015-12-17 Texas Instruments Incorporated Speculative cryptographic processing for out of order data
CN104202161A (zh) * 2014-08-06 2014-12-10 广东电网公司电力科学研究院 一种SoC密码芯片
CN107209718A (zh) * 2015-03-11 2017-09-26 拉姆伯斯公司 高性能非易失性存储器模块
US20160364343A1 (en) * 2015-06-10 2016-12-15 Freescale Semiconductor, Inc. Systems and methods for data encryption
US20170063523A1 (en) * 2015-09-02 2017-03-02 Stmicroelectronics (Rousset) Sas Dpa protection of a rijndael algorithm

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112069551A (zh) * 2019-06-11 2020-12-11 意法半导体(鲁塞)公司 电子电路
CN112149185A (zh) * 2019-06-28 2020-12-29 意法半导体(鲁塞)公司 安全微处理器的存储器的修改
CN112699383A (zh) * 2019-10-22 2021-04-23 英飞凌科技股份有限公司 数据密码设备、存储器系统及其操作方法
CN112699383B (zh) * 2019-10-22 2023-11-14 英飞凌科技股份有限公司 数据密码设备、存储器系统及其操作方法
CN113448888A (zh) * 2020-03-24 2021-09-28 皮尔茨公司 用于将数据存储在非易失性存储器中的设备
CN113448888B (zh) * 2020-03-24 2023-12-22 皮尔茨公司 用于将数据存储在非易失性存储器中的设备
CN111931190A (zh) * 2020-08-25 2020-11-13 山东云海国创云计算装备产业创新中心有限公司 一种基于xip处理器系统的启动方法
CN111931190B (zh) * 2020-08-25 2023-03-14 山东云海国创云计算装备产业创新中心有限公司 一种基于xip处理器系统的启动方法
CN117193831A (zh) * 2023-11-07 2023-12-08 上海灵动微电子股份有限公司 支持在线升级的电路

Also Published As

Publication number Publication date
US11023566B2 (en) 2021-06-01
US20190114400A1 (en) 2019-04-18
EP3470990B1 (en) 2022-05-25
CN109656839B (zh) 2023-10-20
EP3470990A1 (en) 2019-04-17
IT201700115266A1 (it) 2019-04-12

Similar Documents

Publication Publication Date Title
CN109656839A (zh) 用于访问经加密的数据的电子设备和对应的方法
TWI715619B (zh) 用於硬體強制單向密碼學的處理器、方法及系統
JP6804665B2 (ja) ハイパーバイザと仮想マシンとの間のメモリページ遷移の監視
CN105830086B (zh) 使用外部秘密的存储系统中的数据保护
US8572410B1 (en) Virtualized protected storage
CN108449172B (zh) 加密/解密方法和计算设备的集成电路
EP3259698B1 (de) Autonom bootendes system mit einem sicherheitsmodul
KR101405720B1 (ko) 암호화 속성을 이용하는 가속 크립토그래피
EP2803012B1 (en) Using storage controller bus interfaces to secure data transfer between storage devices and hosts
KR20160125987A (ko) 프로세싱 시스템 내 정보의 암호 보호
JP2016021224A (ja) メモリ管理装置、プログラム、及び方法
BRPI0920045B1 (pt) cifra de bloco de baixa latência
CN105122203A (zh) 存储设备辅助式内联加密和解密
TW200527872A (en) System and method for securing executable code
US20170357817A1 (en) File system metadata protection
EP2745233A1 (en) Method for hard partitioning the resources of a secure computer system
US9729319B2 (en) Key management for on-the-fly hardware decryption within integrated circuits
WO2014098998A1 (en) Securing data transmissions between processor packages
US20170046280A1 (en) Data processing device and method for protecting a data processing device against attacks
CN105678173A (zh) 基于硬件事务内存的vTPM安全保护方法
CN109643344A (zh) 用于共享安全性元数据存储器空间的方法和装置
US11558175B2 (en) Cryptographic data communication apparatus
US9946662B2 (en) Double-mix Feistel network for key generation or encryption
JP5595406B2 (ja) メモリデバイスにデータを格納する方法およびそのようなデータを処理する処理デバイス
KR101923210B1 (ko) 이종 멀티코어 프로세서를 활용한 암호화 처리 장치 및 암호화 처리 방법

Legal Events

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