CN105279441A - 用于对数据进行加密和解密的方法和架构 - Google Patents
用于对数据进行加密和解密的方法和架构 Download PDFInfo
- Publication number
- CN105279441A CN105279441A CN201510427402.4A CN201510427402A CN105279441A CN 105279441 A CN105279441 A CN 105279441A CN 201510427402 A CN201510427402 A CN 201510427402A CN 105279441 A CN105279441 A CN 105279441A
- Authority
- CN
- China
- Prior art keywords
- key
- readable memory
- computer
- packaging
- memory
- 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
Classifications
-
- 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
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/402—Encrypted data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
描述了对在设备的计算机可读存储器内存储的数据进行安全加密和解密的方法。附加地,描述了存储器加密单元体系结构(200)。公开的加密方法包括以下步骤:提供(122)密钥;使用密钥对在计算机可读存储器中存储的数据进行加密(126);基于在计算机可读存储器中存储的参数生成(132)验证代码;使用验证代码来包装(136)密钥以生成包装后的密钥;以及将所述包装后的密钥存储在计算机可读存储器(30)中,其中所述包装后的密钥的有效性与在计算机可读存储器中存储的数据的可靠性相关联。这在改变在计算机可读存储器中存储的数据的更改或恶意代码执行的事件中,防止成功的解密。
Description
技术领域
本公开描述了使用密钥对在计算机可读存储器上存储的数据进行加密和解密的方法。具体地,公开了对数据进行加密和解密的方法,其中密钥的有效性与计算机可读存储器中存储的数据的可靠性相关联。
背景技术
当前销售的许多设备是单一管芯集成电路(称为IC),其中精简指令集计算(RISC)微控制器(例如ARM)或复杂指令集计算(CISC)微控制器(例如8051核)控制例如串行链路、通用输入/输出(GPIO)之类的多个外部设备。在内部计算机可读存储器(例如闪存、EEPROM或ROM中)存储微控制器数据和代码。这些设备中的一些在安全性重要的应用中(例如在涉及例如电表、信用卡等汇款的情况下)使用。对于这些系统中的一些,重要的是确保保护在内部存储器中存储的代码不受对它的保密性、完整性和可靠性的攻击。
为了保护代码的保密性,通常使用闪存的加密,使得即使经由调试能力或故障分析工具来下载存储器的整个内容,内容仍然保密。然而,仅当用于加密的密钥也可以保密的时候这才适用。如果将密钥按照与密钥所保护的数据相同的技术存储,则这可能难于实现。一种解决方案是使用模糊,或者使用例如物理不可克隆功能(PUF)的不同技术来保护加密密钥,但是这或者由于密钥可能必须由CPU处理而不总有效,或者它可能太昂贵以致于不能实施。
保护数据的完整性和可靠性的其他方法可以包括使用带符号的散列。在这种方法中,公钥在不可变的存储器(例如ROM)中存储,并用于验证散列。将这种散列与CPU在引导时间计算出的散列相比较,所述引导时间将仔细校验存储器。如果不存在匹配,则将停止引导过程。这种方法的一个缺点是散列计算很昂贵,通常需要100次循环来计算每个字节,并将减慢引导过程。此外,可能足以引入错误来跳过有福好的散列和计算出的散列之间的比较。这也将不会保护源代码的修改,通过故障产生或者通过引导之后的源代码插入引起所述源代码的修改。由于签名验证和散列昂贵,它们在引导之后通常不重复。
总之,即使在系统中使用加密,仍存在以下问题:如何维持加密密钥保密性和如何保护源代码的完整性和可靠性,而不会由于在引导时以及一旦系统启动时使用签名和散列而引起高计算时间消耗。以下公开目的在于解决这些问题。
发明内容
根据发明的第一方面,提供了一种对在设备的计算机可读存储器内存储的数据进行加密的方法,所述方法包括以下步骤:提供密钥;使用所述密钥对在计算机可读存储器中存储的数据进行加密;基于在所述计算机可读存储器中存储的参数来产生验证代码;使用所述验证代码来包装密钥以生成包装后的密钥;以及将所述包装后的密钥存储在计算机可读存储器中,其中所述包装后的密钥的有效性与在所述计算机可读存储器中存储的数据的可靠性相关联。
上述方法可以应用于基于微控制器的集成电路,用于控制多个外部设备,以及应用于在应用需要一些安全性的情况下(例如当涉及金钱时,例如在用于电表的微控制器和在安全元件(例如信用卡)中)。
所述设备可以是微控制器和/或微处理器。所述设备可以是包括硬件加速度计的微控制器(例如存储器加密单元)。
使用密钥对计算机可读存储器中存储的数据进行加密包括以下步骤:使用位于计算机可读存储器内的至少一个存储器位置的密钥来生成密文。可以基于加密方法使用计数器来生成密文。可以采用的其他方法包括输出反馈或密码反馈。还可以使用XTS模式(基于“异或”-加密-“异或”的密文窃取算法的可调整的密码本模式)。允许随机访问的其他模式也适用。如果要求从微控制器执行的随机访问,则具有反馈的模式更难于使用,但是如果在引导时执行所述存储器向另一个存储器的复制,则可以执行。
用于生成验证代码的参数可以包括在使用密钥加密的存储器中的至少一个存储器位置的密文。这将验证代码的值与加密存储器的内容完整性联系起来。因此,数据内容中任意调整导致不同的验证代码。此外,这增加了加密的安全性,因为仅可以通过确定存储器中的(加密)数据的内容来生成正确的验证代码。如果存储器的整个内容用于生成验证代码,则必须知晓存储器的整个内容来重新生成正确的验证代码。
在实施例中,使用密钥对在计算机可读存储器中存储的数据加密还包括:对存储器中至少一个位置的密文执行消息验证代码的步骤。这提高了在计算机可读存储器中加密的数据的安全性。
此外,使用验证代码来包装存储器中的至少一个位置的密文可以包括以下步骤:对密文执行消息验证代码。经历这种步骤确保了由计算机可读存储器提供的密文与使用由计算机可读存储器供应的参数所生成的期望密文相匹配。
使用验证代码来包装密钥以生成包装后的密钥可以包括:使用消息验证代码来对密钥进行加密的步骤。如以上提及的,这一步骤提供附加的验证步骤,以确保生成的密钥与供应的密钥相匹配。
在这些实施例中,消息验证代码(MAC)可以是基于密文的消息验证代码(例如CMAC),或者是加密块链消息验证代码(称为CBC-MAC),或者是可并行消息验证代码(称为PMAC)。还可以是基于散列算法的其他结构。
因此,包装后的密钥可以看作是使用代码加密的密钥,例如由加密模式产生的验证代码或验证标签(例如CMAC)。
与提供密钥有关的另外实施例可以包括步骤:将密钥存储在存储器加密单元(称为MEU)中。MEU可以与设备(例如微处理器的核)一体化。备选地,MEU可以设置为单独的微处理器。在这些实施例中,可以通过MEU进行使用密钥对计算机可读存储器中存储的数据加密的步骤。MEU进行的其他步骤可以包括步骤:要求将MAC应用于加密的数据和密钥。具体地,可以在MEU上进行使用验证代码包装密钥以便生成包装后的密钥的步骤。可以在设备的上电序列期间在MEU内临时存储密钥。可以从闪存中获取密钥,可以在设备的断电期间在闪存中存储密钥。
计算机可读存储器的示例是非易失存储器(例如EEPROM、闪存和ROM)。可以使用的计算机可读存储器的其他示例包括RAM和基于磁性的存储器。
根据第二方面,描述了一种对在设备的计算机可读存储器内存储的数据进行解密的方法,所述方法包括以下步骤:从计算机可读存储器中获取第一包装后的密钥;基于计算机可读存储器中存储的参数来计算第一验证代码;使用所述验证代码对第一包装后的密钥去包装以获取密钥;以及使用密钥对加密的数据进行解密以提供解密的数据,其中密钥的有效性与在计算机可读存储器中存储的数据的可靠性相关联。
在第二方面的实施例中,所述方法还可以包括以下步骤:从计算机可读存储器获取第二包装后的密钥;基于依据计算机可读存储器的每个位置的参数来计算第二验证代码;以及对计算机可读存储器中存储的所有数据进行解密,使得在计算机可读存储器中存储的所有解密数据的有效性与在计算机可读存储器中存储的所有数据的可靠性相关联。
优选地,可以通过在关于第一方面描述的任意实施例中描述的加密方法来提供第一和/或第二包装后的密钥。
根据第三方面,描述了一种存储器加密单元,用于对在计算机可读存储器中存储的数据进行加密,所述存储器加密单元包括:多个缓冲器和多个单元,其中所述缓冲器包括:密钥寄存器,用于接收密钥;基于密文的消息验证代码寄存器,用于接收和存储验证代码,所述验证代码与在计算机可读存储器中存储的数据相关联;以及包装后的密钥寄存器,用于接收和发送包装后的密钥,其中所述包装后的密钥是用验证代码进行加密的密钥,并且其中所述单元包括:加密核,用于使用密钥对在计算机可读存储器中存储的数据进行加密和解密;以及操作模块,用于实现验证代码。
在第三方面,实施例还可以包括地址解码和生成单元,用于向加密核提供密钥,以及向操作模块提供验证代码。所述操作模块可以是数据“异或”门(称为“XOR”),其可以进行对验证代码(例如由加密核提供的数据)的逻辑“异或”操作。
上述方法保护包装后的密钥的保密性。因为密钥用加密的形式在计算机可读存储器内存储,CPU是否访问密钥不重要。可以仅与验证代码结合地使用密钥。此外,由于验证代码的有效性取决于计算机可读存储器的可靠性,必须下载计算机可读存储器以正确地计算验证代码。CPU本身不能计算验证代码,原因在于仅向它提供对计算机可读存储器的加密内容的访问。
此外,保护了加密过程的完整性。例如对计算机可读存储器的单个比特的修改导致生成不正确的密文。这进而导致对包装后的密钥的不正确的去包装和不正确的密钥。使用不正确的密钥进行解密提供了不正确的数据。在引导存储器的情况下,不正确地解密的数据阻止系统引导。
附加地,不能跳过验证阶段(将计算的去包装后的密钥与接收到的去包装后的密钥进行比较),原因在于它将导致不正确的密钥被去包装。
加密和解密的性能较高,原因在于可以从主设备卸载加密和解密的动作,并加载到MEU上。用这种方式,可以优化MEU以避免执行等待时间,例如MEU可以配置为每周期处理一个块。此外,因为MEU通常是CPU内的现有块,成本最小。这允许重新使用现有块,而不需要附加的体系结构。通常的要求是几个乘法器和用于存储包装后的密钥的寄存器。
如以上提及的,在常规的引导期间,将通过解析存储的验证代码来重新计算MAC包装密钥。如果源代码的任意比特已经改变,则不能正确地对加密密钥进行解密。相应地,将不对代码进行解码。
还可以在空闲周期期间在背景中执行包装密钥计算,以连续地校验闪存的完整性。如果闪存中存储的数据不再可信,即它已经恶意更改,则将不能成功地对包装后的密钥进行解密。
如果冷引导时间是重要的,可以执行两个验证或MAC校验。对于冷引导进行第一校验,并且对于背景校验进行第二校验。可以在计算机可读存储器中包含的数据的有限区域(例如1KB)执行第一校验,而可以对整个计算机可读存储器执行第二MAC校验。
这种第二包装后的密钥可以存储在计算机可读存储器中,并用于背景保护。这可以要求修改状态机以支持两种包装。一旦校验了第一验证代码,则系统将引导,并用第二验证代码对背景保护进行编程。这仍然将确保平文密钥绝不会离开MEU,并且确保快速的引导时间。
可以提供一种计算机程序,当在计算机上运行计算机程序时,使计算机配置包括电路、控制器、传感器、滤波器或这里公开的设备的任意装置,或执行这里公开的任意方法。计算机程序可以是软件实施方式,并且计算机可以被认为是任意合适的硬件,作为非限制性示例包括:数字信号处理器、微控制器,并且在只读存储器(ROM)、可擦除可编程只读存储器(EPROM)或电可擦除可编程只读存储器(EEPROM)中实施。软件实施方式可以是汇编程序。
可以在计算机可读介质上提供计算机程序,计算机可读介质可以是物理计算机可读介质(例如光盘或存储设备),或可以实现为瞬态信号。这种瞬态信号可以是网络下载的,包括因特网下载的。
附图说明
现在将参照以下附图来描述本公开,其中使用类似的参考符号来标识类似的元件:
图1是从设备的微处理器的角度概述的操作模式的流程图;
图2是从设备的存储器加密单元(MEU)的角度概述的操作模式的流程图;以及
图3是示出MEU的电路体系结构的概述图。
应当注意的是,附图是示意性地,并且没有按照比例绘制的。为了附图中的清楚和方便,这些附图的部分的相对尺寸和比例已经被示为放大或缩小的。相同的参考符号通常用于表示改进和不同的实施例中的相应或类似的特征。
具体实施方式
对于加密,已经在大多数系统中采用块加密,适用于存储器的宽度来存储计算机代码。对于存储器加密,块加密通常用于与随机访问兼容的模式,并且用于不同地址将给出不同的加密情况下(例如计数器模式或XTS模式)。
这种块加密可以重用作构件块,以便通过重新配置为执行加密(基于密文)消息验证算法(CMAC、CBC-MAC以及其他)来执行完整性和可靠性保护。在所描述的示例中,在使用基于密文的消息验证代码(MAC)的情况下,将每个块与前一结果进行“异或”运算,并用密钥进行加密。备选实施方式可以用于其他算法。在当前情况下,密钥不需要是秘密的,但是不应当受攻击者控制,并对于每个设备所述密钥(例如,它可以是设备ID)应当是不同(使得即使设备受到黑客攻击,同一黑客攻击将不会应用于其他设备)。
图1示出了从设备的控制微处理器或CPU的角度的过程流程图10。在系统引导15时,CPU将校验20是否发起了固件更新。固件更新或者可以是使用已知固件更新技术在外部发起的(例如无线更新),可以是由系统的用户发起的,或者可以是在电路制造时的固件加载。
如果发起固件更新,则需要创建随机数或密钥。将可以参照以下图1、2和3中描述的存储器加密单元更详细地描述这一点。
如果发起新的固件模式并且请求闪存的更新22,则CPU然后等待24存储器加密单元来生成或接收密钥。一但已经生成了密钥,CPU对验证代码(称为消息验证代码(MAC))所需的参数进行编程26。在本示例中,基于基于密文消息验证代码(MAC),例如密文块链消息验证代码(称为CBC-MAC)。可以使用其他算法例如基于散列的算法,但是这些算法由于不可以使用系统内的现有密文而计算更昂贵。所述参数基于闪存的值,例如存储器的大小。CPU然后等待从MEU接收加密的数据(例如固件)。
一旦接收,CPU或者直接地或者经由MEU向闪存写入28加密的数据。接收到的数据通常是密文的形式。在这种情况下,由于所选的加密协议,接收密文的块并将其写入闪存。一旦已经从MEU接收了所有的密文,CPU从MEU获取包装后的密钥。通过包装,这意欲表示已经用验证代码对所述值进行了加密。加密可以利用任意已知的手段,例如块密码。在这种情况下,验证代码是用于加密的密钥,并且明文是用于对去向闪存或计算机可读存储器的数据进行加密的密钥。密文(即在用验证代码加密之后的密钥的值)是包装后的密钥的值。然后将包装后的密钥的值写入30非易失性存储器(例如闪存或例如EEPROM的其他存储器)。一旦已经向闪存写入了所有的数据和包装后的密钥,则CPU发起32系统的冷重启(步骤50,以下描述的)。
如上述,CPU在步骤28向闪存写入密文,步骤28可以分解为子步骤40、42、44。为了生成密文,MEU使用随机数对明文的块加密40。MEU然后将校验42是否需要数据(基于例如需要写入数据的地址的信息)来确定验证代码(MAC),即该数据意欲用于验证代码计算。如果校验有效,则或者计算44MAC,或者如果已经计算了则进行更新。可以在已经更新了要加密并且存储在计算机可读存储器中的数据的整个内容之后计算MAC。如果校验42无效,例如如果不需要对需要写入数据的地址进行加密,则MEU将返回步骤40,并且校验明文的下一个块的数据和/或其地址。
当然后写入闪存的内容时,将密钥存储在存储器加密单元(MEU)的一个寄存器中。这种密钥或者是随机的或者是外部设置的。一旦已经在闪存中写入了所有源代码(或者正在向它写入的同时),则MEU将读取每个存储器位置的密文,并基于所提供的参数以及因此基于加密数据来计算MAC。一旦已经在所有定义的源代码区域上计算了MAC,则MAC将用于包装加密密钥,即将用MAC对密钥进行加密,并且然后使其对于CPU可用。CPU可以然后获取30包装后的密钥,并且在重新引导32之前将其写入闪存。
在引导时,根据ROM代码执行CPU,并将从闪存复制包装后的密钥,并将其编程到MEU中。然后CPU将指示MEU来执行闪存的MAC。MEU将读取闪存,计算MAC,并且一旦已经完成了计算则对密钥进行解密,使得它可以然后被MEU用于对正在运行的闪存进行解密。
由于CPU只操纵包装后的密钥,是否将包装后的密钥存储在容易读取的那部分闪存中并不重要。
在系统的冷引导50时,CPU从闪存获取包装后的密钥,并将包装后的密钥写入52MEU中。这时,CPU也基于闪存的固有值来获取MAC的参数。CPU然后等待54MEU来计算60MAC,校验62MAC相对MAC的期望值,并对包装后的密钥去包装64以获取密钥。因为在步骤44中用于生成MAC的参数与加密的数据绑定,所以对数据内容的任何改变将导致不正确的MAC。这确保维持了在计算机可读存储器中存储的数据的完整性。一旦从MEU接收到去包装后的密钥,则CPU发起系统的热重启56(步骤70,以下描述)。
在热重新引导70时,当CPU没有访问闪存时,MEU将开始开始执行背景校验。
在热引导70时,CPU可以从闪存引导72。为了执行74闪存中的源代码,CPU必须首先从MEU接收解密的数据。一旦已经执行了所有的源代码,CPU可以休眠76。在接收指令时,CPU也可以唤醒78,并进行进一步的热重新引导80。如以上所提及的,为了执行源代码,CPU必须从MEU接收解密的数据。为了对源代码进行解密,MEU计算90MAC并校验92MAC是否具有期望值,即是否已经将基于用于验证代码计算(MAC)的参数计算出的MAC正确地用于计算(即维持数据的完整性)。如果通过了校验92,则MEU将成功地对密钥去包装94,并使用去包装后的密钥来对在闪存中存储的数据进行解密。校验步骤90针对下一地址的数据重复,直至已经计算了整个范围为止。
当设备进入休眠模式以节省能量时,通常在其内容在休眠期间不丢失的寄存器中保持闪存密钥和其他设置。这将避免在后续系统唤醒时,失去对密钥去包装后的时间。
稍后,在正常操作期间,CPU可以继续使用背景技术中的MAC状态机。当没有访问访问闪存的每几个循环,可以访问访问一个闪存位置以计算MAC值。一旦已经校验了闪存的所有位置,则将包装后的密钥再次去包装,覆盖先前使用的密钥。因此,如果闪存的任意比特已经改变,则代码将不会进行解码。
图2从MEU的角度概述了上述设备的操作100的概况。在引导115设备时,系统可以发起固件闪存更新(步骤120)。在这种示例中,CPU提示MEU来生成密钥。密钥是随机生成的。一旦生成,则MEU进行校验,并且向CPU发信号通知密钥就绪(步骤122)。CPU然后向MEU递交一组MAC参数,其由MEU写入124,并指示MEU来实现在闪存内存储的数据的加密(步骤126)。芯片ID可以用作验证代码(MAC)的密钥,来确保如果设备受到黑客攻击,则不能在任意其他设备上(其可以具有不同的芯片ID)重新使用密钥的闪存镜像。
MEU然后等待128CPU。如果CPU向MAC区域内的存储器位置(步骤130)(即在MAC生成参数内定义的存储器位置)写入(步骤130),则MEU基于新的数据更新MAC(步骤132)。如果CPU向那些在MAC以外定义的存储器位置写入(步骤134),则MAC不变。
一旦已经由CPU写入了所有区域,则MEU使用MAC来包装密钥。然后向CPU发送包装后的密钥,CPU将所述包装后的密钥存储在闪存中(步骤136)。一旦发送了包装后的密钥,MEU就擦除密钥和MAC(步骤138)。然后系统重新引导140。
在冷引导150时,MEU初始地等待来自CPU的命令152。CPU使用在初始或固件更新引导期间确定的同一准则来从闪存获得包装后的密钥并且生成MAC参数。CPU然后向MEU发送包装后的密钥和MAC,MEU写入154包装后的密钥和参数。一旦接收,则MEU使用接收到的MAC参数来计算156MAC。MEU然后校验158MAC的范围并且,如果要保护的地址的整个范围已经被用于MAC计算,则对包装后的密钥进行去包装160,允许其用于对在闪存中存储的密文进行解密。
在重新引导140之后,系统可以进入热引导170。MEU进行针对闪存的空闲周期的背景校验(步骤172)。如果闪存空闲预定长度的时间(步骤174),则MEU确定闪存是空闲的(步骤176),并基于所存储的参数来计算MAC(步骤178)。如果MAC通过校验180:所有要保护的地址都已经用于MAC计算,则可以将密钥去包装,并且重置计数器182。计数器下一次校验MAC完整性的时间,并因此校验密钥和校验加密的数据的时间。
图3示出了能够实现上述过程的MEU200的体系结构。可以理解的是,在所述体系结构中激活的功能依赖于所述体系结构的操作状态(固件更新模式、冷引导、热引导等)。
图3示出了具有CPU加密核202的MEU200。闪存密钥存储器204位于加密核202内。寄存器或缓冲器206、208、210、212也是MEU体系结构的一部分。在所示的示例中,提供了MAC寄存器206、包装后的密钥寄存器208、地址解码和生成寄存器210和闪存密钥寄存器212。
闪存密钥存储器204配置为接收信号(命令/输入)。在所示的体系结构中,闪存密钥存储器可以从闪存密钥寄存器212、ROM密钥输入214和SRAM密钥输入216接收信号。可以理解的是可以将其他密钥存储在MEU200中的闪存密钥存储器204。
闪存密钥寄存器212配置为生成密钥。闪存密钥寄存器212配置为从随机数生成器(RNG)流232接收输入,随机数生成器(rng)流232可以用于生成密钥。闪存密钥寄存器还配置为从包装后的密钥寄存器208和MAC寄存器206接收输入。如所示,由“异或”门(XOR)218耦合包装后的密钥寄存器与MAC寄存器输入。通过对包装后的密钥执行MAC,包装后的密钥被去包装,以提供去包装后的“或”密钥。密钥寄存器204还配置为向闪存密钥存储器204提供去包装后的密钥。CPU加密核202然后可以比较接收到的去包装后的密钥与在闪存密钥存储器204中存储的现有去包装后的密钥。只有当所供应的去包装后的密钥与存储的密钥相匹配时,MEU200才批准对计算机可读存储器的内容进行解密的指令。
MAC寄存器206配置为基于从外部CPU或微处理器接收的参数生成MAC。MAC寄存器206与密钥的长度相匹配,并配置为接收网络读出234、外部CPU写入226以及可以附加地将生成的MAC反馈到MAC寄存器206。如果使用除了CMAC之外的备选MAC,则可能需要MAC寄存器的不同的体系结构。
MAC寄存器206配置为向闪存密钥寄存器212和包装后的密钥寄存器208提供计算出的MAC。在两种情况下,“XOR”218、219均对MAC输出执行“异或”命令。对于闪存密钥寄存器212的输入,通过“XOR”218馈送MAC和包装后的密钥,以向闪存密钥寄存器204提供去包装后的密钥。类似地,去包装后的密钥可以使用密码(例如示为“XOR”219的块密码)来与MAC组合来对密钥进行加密。在本发明中,这描述为对密钥进行包装。包装后的密钥然后提供给包装后的密钥寄存器208。
附加地,经由“XOR”222将MAC与来自网络读出234的输入一起提供给数据乘法器或复用器220。这允许加密核202在网络读取请求上接收MAC。
包装后的密钥寄存器208配置为经由CPU写输入226来由外部CPU写入。附加地,包装后的密钥寄存器208接收闪存密钥和MAC的“XOR”219输出。除了“XOR”218的输出以外,还提供CPU读出244以读出包装后的密钥的值。
提供了地址解码和生成寄存器210。该寄存器接收来自外部CPU或微处理器的地址和可操作代码(OPCODE)输入236、238和来自网络的OPCODE输入240、242。地址解码和生成寄存器配置为向加密核202和数据复用器220提供密钥和数据地址。
数据复用器220附加地具有来自随机数(nonce)246的输入。数据复用器用于选择将那个一个数据流提供给加密核202。
体系结构200中的其他组件包括CPU数据写入250和读出252,以及网络写入254。CPU数据写入250和读出252和网络写入254可以使用“XOR”256、258来组合到加密核202和MAC寄存器206。
除了以上描述,仅可以由CPU在图2中描述的状态机的MAC设置阶段期间的冷引导过程期间写入包装后的密钥寄存器208。一旦它已经用与MAC寄存器206“异或”的闪存密钥的内容进行了更新,它仅可以在固件更新阶段的结束时读出。每个寄存器的内容一旦由CPU读出则进行重置,并将开始擦除向闪存密钥存储器204的SRAM密钥输入216的倒计时。
对于闪存密钥寄存器212,在固件更新阶段,将利用RNG流232提供的随机值来填充寄存器212,并且然后过程将移至下一个阶段。将在MAC计算结束时利用通过对包装后的密钥寄存器208和MAC寄存器206的“异或”获得的去包装后的密钥在冷引导阶段和在正常操作模式中写入寄存器。
加密核202用于正常访问。还提供数据“异或”。该单元可以将数据与加密核202的输出进行“异或”操作。还可以依赖于访问(字节、半字或字)和操作(访问AHB(先进微控制器总线体系结构高性能总线)或MAC计算来应用掩码。
地址解码和生成单元210将接收CPUAHB访问的地址和OPCODE信息。依赖于该信息,它将选择从数据复用器220选择要供应给加密核202的正确密钥和随机数。除了处理MAC计算的地址生成时,它还将直接向AHB系统转发CPU请求。为此,它将包含覆盖整个闪存(即13比特)的计数器。
如以上所描述的,来自该单元的信号将控制:
密钥选择复用器-它将正确的密钥赋予加密核。在正常模式,它依赖于地址来选择ROM、闪存或SRAM。当正在计算MAC时,它将选择0x0或ROM密钥;
数据选择复用器-在正常模式,它将选择正确的随机数246并集中到该地址。在MAC模式中,它将选择与从闪存读出的数据进行“异或”操作的前一MAC值(最高有效位(MSB)寄存器)。在随机数旋转期间,它将得到解密的值,并将它存储在闪存寄存器212中以供下次写入。
在固件更新模式120中,当ROM编码将MEU200编程为固件更新模式120时,则MEU200将创建来自随机数发生器232的闪存加密密钥。
ROM代码将建立MAC设置(例如地址范围、密钥和初始化矢量(IV))。为了确保密钥包装是唯一的,可以使用芯片ID。例如大小等的参数将也是IV的一部分。一旦已经写入了所有要保护的代码/数据,则ROM代码将指示MEU200用MAC包装密钥。
ROM代码将然后恢复包装后的密钥,并将ROM代码写入在闪存EEPROM或外部存储器,并执行冷重新引导。
在冷引导150之后,ROM代码将用在非易失性存储器中存储的参数建立MAC,例如地址范围、包装后的密钥、IV和密钥,也可以是例如频率的背景校验参数。然后MEU将对密文执行MAC,对密钥去包装,并经由状态比特向CPU发信号通知它已经完成。
在热重新引导170之后,将去包装后的密钥存储在MEU闪存密钥寄存器204中包装后的,因此CPU可以使用密钥来对闪存数据进行解密并且从闪存引导。在背景中,MEU200将在没有在定义的频率访问计算机可读存储器/闪存时计算MAC,并通过对包装后的密钥去包装来覆盖密钥。在修改计算机可读存储器的情况下,已经使用其参数来计算MAC,这将导致MEU200使用错误的密钥。
如果冷引导时间是重要的,可以执行两个MAC操作:第一MAC用于校验冷引导的完整性,并且第二MAC操作用于背景校验。将在计算机可读存储器中的有限区域(例如1KB)执行第一MAC操作(即基于闪存的有限大小根据参数生成MAC),而可以对整个闪存执行第二MAC。该第二包装后的密钥还可以存储在闪存中,并用于背景保护。这将要求修改状态机以支持两个密钥包装。一旦校验了第一代码,则CPU将引导,并使用第二MAC对背景保护进行编程来运行。这将确保明文密钥从不离开MEU200的闪存密钥存储器204,并确保快速引导。缺点是在第一背景校验期间会执行一些恶意代码。
总之,本公开旨在揭露不想要或恶意代码在启动过程期间的执行。提议是:按照这样的方式重新连接存储器加密单元(MEU)使得成本较低,并且在正常设备操作期间可以在背景中容易地执行。
根据阅读本公开,本领域技术人员将显而易见其他变化和修改。这些变型和修改可以涉及已经在加密领域已知的和可以替代于或附加于本文已经描述的特征使用的等价物或其他特征。
尽管所附的权利要求针对特征的特定组合,应当理解的是本发明公开的范围还包括这里这里明显或暗示公开的任意新颖的特征或任意新颖特征的组合或其任意概括,无论它是否涉及在任意权利要求中当前主张的相同发明,或无论是否减轻任意或所有与本发明的相同的技术问题。
还可以结合单个实施例提供分离的实施例中的上下文中描述的特征。相反,为了简明,还可以单独地或在任何合适的子组合提供单个实施例的上下文中描述的各种特征。申请人应当注意,在本申请或任意从其导出的申请的存续期间,可以构想出对于这些特征和/或这些特征的组合的新权利要求。
为了完整性,还陈述了术语“包括”不排除其他单元或步骤,术语“一个”不排除多个,单个处理器或其他单元可以满足在权利要求中列举的若干装置的功能,并且权利要求中的参考符号将不构建为对权利要求范围的限制。
Claims (15)
1.一种对在设备的计算机可读存储器内存储的数据进行加密的方法,所述方法包括以下步骤:
提供密钥;
使用所述密钥对在所述计算机可读存储器中存储的数据进行加密;
基于在所述计算机可读存储器中存储的参数生成验证代码;
使用所述验证代码来包装所述密钥以生成包装后的密钥;以及
将所述包装后的密钥存储在所述计算机可读存储器中,其中所述包装后的密钥的有效性与在所述计算机可读存储器中存储的数据的可靠性相关联。
2.根据权利要求1所述的方法,其中对所述数据进行加密的步骤包括:
使用所述密钥来生成针对位于所述计算机可读存储器内的至少一个存储器位置的密文。
3.根据权利要求2所述的方法,其中所述参数包括所述存储器中的至少一个存储器位置的所述密文。
4.根据权利要求3所述的方法,其中包装所述密钥的步骤包括:对由所述密钥加密的密文执行消息验证代码的步骤。
5.根据前述权利要求中任一项所述的方法,其中包装所述密钥的步骤包括:使用所述消息验证代码来对所述密钥进行加密的步骤。
6.根据权利要求4或5所述的方法,其中所述消息验证代码是基于密文的、基于散列的或任意其他加密过程的消息验证代码。
7.根据前述权利要求中任一项所述的方法,其中提供密钥包括将密钥存储在称为MEU的存储器加密单元中的步骤。
8.根据权利要求7所述的方法,其中通过MEU进行对所述数据进行加密的步骤。
9.根据权利要求7或8所述的方法,其中在MEU上进行对所述密钥进行包装的步骤。
10.根据前述权利要求中任一项所述的方法,其中所述计算机可读存储器是非易失性存储器,例如EEPROM。
11.一种对在设备的计算机可读存储器内存储的数据进行解密的方法,所述方法包括以下步骤:
从所述计算机可读存储器中获取第一包装后的密钥;
基于所述计算机可读存储器中存储的参数计来算第一验证代码;
使用所述验证代码对所述第一包装后的密钥去包装以获取密钥;以及
使用密钥对加密的数据进行解密以提供解密的数据,其中所述密钥的有效性与在所述计算机可读存储器中存储的所述数据的可靠性相关联。
12.根据权利要求11所述的方法,还包括以下步骤:
从所述计算机可读存储器获取第二包装后的密钥;
基于依据所述计算机可读存储器的每个位置的参数来计算第二验证代码;以及
对所述计算机可读存储器中存储的所有数据进行解密,使得在所述计算机可读存储器中存储的所有解密数据的有效性依赖于在所述计算机可读存储器中存储的数据的可靠性。
13.根据权利要求11或12所述的方法,其中通过权利要求1-10中任一项所述的加密方法提供所述第一和/或第二包装后的密钥。
14.一种存储器加密单元,用于对在计算机可读存储器中存储的数据进行加密,所述存储器加密单元包括:
多个缓冲器和多个单元,其中所述缓冲器包括:
密钥寄存器,用于接收密钥;
基于密文的消息验证代码寄存器,用于接收和存储验证代码,所述验证代码与在所述计算机可读存储器中存储的数据相关联;以及
包装后的密钥寄存器,用于接收和发送包装后的密钥,其中所述包装后的密钥是用验证代码进行加密的密钥,并且所述单元包括:
加密核,用于使用密钥对在所述计算机可读存储器中存储的数据进行加密和解密;以及
操作模块,用于实现所述验证代码。
15.根据权利要求14所述的存储器加密单元,还包括地址解码和生成单元,用于向加密核提供所述密钥,以及向数据和所述验证代码提供“异或”操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14290210.5 | 2014-07-21 | ||
EP14290210.5A EP2978158A1 (en) | 2014-07-21 | 2014-07-21 | Methods and architecture for encrypting and decrypting data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105279441A true CN105279441A (zh) | 2016-01-27 |
Family
ID=51300673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510427402.4A Pending CN105279441A (zh) | 2014-07-21 | 2015-07-20 | 用于对数据进行加密和解密的方法和架构 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170060775A1 (zh) |
EP (1) | EP2978158A1 (zh) |
CN (1) | CN105279441A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108933790A (zh) * | 2018-07-05 | 2018-12-04 | 山东省计算中心(国家超级计算济南中心) | 高安全等级的ota升级固件的加密方法 |
CN110501935A (zh) * | 2018-05-17 | 2019-11-26 | 隆巴第尼有限责任公司 | 用于将软件对象写入内燃机的电子控制单元的方法及设备 |
CN110892673A (zh) * | 2017-08-18 | 2020-03-17 | 乔纳蒂克斯公司 | 安全硬件签名以及相关方法和应用 |
CN113343624A (zh) * | 2021-06-28 | 2021-09-03 | 中国电子科技集团公司第五十八研究所 | 一种基于eeprom的模拟电路及加密方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9894061B2 (en) | 2015-10-16 | 2018-02-13 | International Business Machines Corporation | Method for booting and dumping a confidential image on a trusted computer system |
CN110113162A (zh) * | 2019-05-08 | 2019-08-09 | 深圳乐信软件技术有限公司 | 一种敏感信息处理系统、方法及其设备 |
CN115086023B (zh) * | 2022-06-14 | 2024-04-26 | 杭州安恒信息技术股份有限公司 | 一种物联网固件保护方法、装置、设备及介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0725512A2 (en) * | 1995-02-03 | 1996-08-07 | International Business Machines Corporation | Data communication system using public keys |
US20050036617A1 (en) * | 2003-08-15 | 2005-02-17 | Cheng Lee Ming | Crypto-engine for cryptographic processing of data |
US20070291944A1 (en) * | 2006-05-08 | 2007-12-20 | Wingert Christopher R | Methods and systems for blackout provisioning in a distribution network |
GB2442546A (en) * | 2006-10-05 | 2008-04-09 | Hewlett Packard Development Co | Generating a message authentication code from a combination of data representative of plaintext and from ciphertext |
CN102043928A (zh) * | 2009-10-13 | 2011-05-04 | 创易科技股份有限公司 | 具有数据加解密功能的外接式光驱及其使用的加解密方法 |
US20110283113A1 (en) * | 2010-05-14 | 2011-11-17 | Oracle International Corporation | Method and system for encrypting data |
US20110296193A1 (en) * | 2010-05-28 | 2011-12-01 | King Saud University | Code-based hashing for message authentication codes |
US8213620B1 (en) * | 2008-11-17 | 2012-07-03 | Netapp, Inc. | Method for managing cryptographic information |
US8312269B2 (en) * | 2007-11-28 | 2012-11-13 | Hitachi Global Storage Technologies Netherlands, B.V. | Challenge and response access control providing data security in data storage devices |
US8498417B1 (en) * | 2007-12-27 | 2013-07-30 | Emc Corporation | Automation of coordination of encryption keys in a SAN based environment where an encryption engine, device management, and key management are not co-located |
US20130311781A1 (en) * | 2012-05-17 | 2013-11-21 | Weixin WANG | Apparatus and method for content encryption and decryption based on storage device id |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7016499B2 (en) * | 2001-06-13 | 2006-03-21 | Sun Microsystems, Inc. | Secure ephemeral decryptability |
US8126145B1 (en) * | 2005-05-04 | 2012-02-28 | Marvell International Ltd. | Enhanced association for access points |
DE602006005913D1 (de) * | 2006-05-26 | 2009-05-07 | Sap Ag | Verfahren und Vorrichtung zum Schützen von Daten eines mobilen Agenten in einem Netzwerksystem. |
EP1879323B1 (en) * | 2006-07-11 | 2015-09-09 | Sap Se | A method and system for protecting path and data of a mobile agent within a network system |
US7734052B2 (en) * | 2006-09-07 | 2010-06-08 | Motorola, Inc. | Method and system for secure processing of authentication key material in an ad hoc wireless network |
EP2127200B1 (en) * | 2006-12-28 | 2017-07-19 | Telecom Italia S.p.A. | Method and system for biometric authentication and encryption |
US8615081B2 (en) * | 2011-06-01 | 2013-12-24 | International Business Machines Corporation | Secure key creation |
WO2015041658A1 (en) * | 2013-09-19 | 2015-03-26 | Intel Corporation | Technologies for synchronizing and restoring reference templates |
-
2014
- 2014-07-21 EP EP14290210.5A patent/EP2978158A1/en not_active Withdrawn
-
2015
- 2015-07-20 CN CN201510427402.4A patent/CN105279441A/zh active Pending
- 2015-07-21 US US14/805,431 patent/US20170060775A1/en not_active Abandoned
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0725512A2 (en) * | 1995-02-03 | 1996-08-07 | International Business Machines Corporation | Data communication system using public keys |
US20050036617A1 (en) * | 2003-08-15 | 2005-02-17 | Cheng Lee Ming | Crypto-engine for cryptographic processing of data |
US20070291944A1 (en) * | 2006-05-08 | 2007-12-20 | Wingert Christopher R | Methods and systems for blackout provisioning in a distribution network |
CN101438560A (zh) * | 2006-05-08 | 2009-05-20 | 高通股份有限公司 | 用于在分配网络中进行中断预备的方法和系统 |
GB2442546A (en) * | 2006-10-05 | 2008-04-09 | Hewlett Packard Development Co | Generating a message authentication code from a combination of data representative of plaintext and from ciphertext |
US8312269B2 (en) * | 2007-11-28 | 2012-11-13 | Hitachi Global Storage Technologies Netherlands, B.V. | Challenge and response access control providing data security in data storage devices |
US8498417B1 (en) * | 2007-12-27 | 2013-07-30 | Emc Corporation | Automation of coordination of encryption keys in a SAN based environment where an encryption engine, device management, and key management are not co-located |
US8213620B1 (en) * | 2008-11-17 | 2012-07-03 | Netapp, Inc. | Method for managing cryptographic information |
CN102043928A (zh) * | 2009-10-13 | 2011-05-04 | 创易科技股份有限公司 | 具有数据加解密功能的外接式光驱及其使用的加解密方法 |
US20110283113A1 (en) * | 2010-05-14 | 2011-11-17 | Oracle International Corporation | Method and system for encrypting data |
US20110296193A1 (en) * | 2010-05-28 | 2011-12-01 | King Saud University | Code-based hashing for message authentication codes |
US20130311781A1 (en) * | 2012-05-17 | 2013-11-21 | Weixin WANG | Apparatus and method for content encryption and decryption based on storage device id |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110892673A (zh) * | 2017-08-18 | 2020-03-17 | 乔纳蒂克斯公司 | 安全硬件签名以及相关方法和应用 |
CN110892673B (zh) * | 2017-08-18 | 2023-10-27 | 乔纳蒂克斯公司 | 安全硬件签名以及相关方法和应用 |
CN110501935A (zh) * | 2018-05-17 | 2019-11-26 | 隆巴第尼有限责任公司 | 用于将软件对象写入内燃机的电子控制单元的方法及设备 |
CN110501935B (zh) * | 2018-05-17 | 2024-03-12 | 隆巴第尼有限责任公司 | 用于将软件对象写入内燃机的电子控制单元的方法及设备 |
CN108933790A (zh) * | 2018-07-05 | 2018-12-04 | 山东省计算中心(国家超级计算济南中心) | 高安全等级的ota升级固件的加密方法 |
CN108933790B (zh) * | 2018-07-05 | 2020-12-22 | 山东省计算中心(国家超级计算济南中心) | 高安全等级的ota升级固件的加密方法 |
CN113343624A (zh) * | 2021-06-28 | 2021-09-03 | 中国电子科技集团公司第五十八研究所 | 一种基于eeprom的模拟电路及加密方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2978158A1 (en) | 2016-01-27 |
US20170060775A1 (en) | 2017-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105279441A (zh) | 用于对数据进行加密和解密的方法和架构 | |
TWI717907B (zh) | 用於安全記憶體的方法與系統 | |
KR100792287B1 (ko) | 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치 | |
JP5079803B2 (ja) | ゲーム装置を認証するシステムおよび方法 | |
CN105144626B (zh) | 提供安全性的方法和设备 | |
CN103229451B (zh) | 用于硬件设备的密钥供应的方法和装置 | |
CN101996154B (zh) | 支持可重组安全设计的通用处理器 | |
CN101231622B (zh) | 基于闪存的数据存储方法和设备、及数据读取方法和设备 | |
US20080072068A1 (en) | Methods and apparatuses for securing firmware image download and storage by distribution protection | |
US9256210B2 (en) | Safe method for card issuing, card issuing device and system | |
TW201502847A (zh) | 運用一電腦處理器使用一安全非揮發儲存器之系統、方法及裝置 | |
WO2015042981A1 (zh) | 加解密处理方法、装置和设备 | |
US10862682B2 (en) | Nonce generation for encryption and decryption | |
EP2503482A1 (en) | Electronic device with flash memory component | |
CN103269271A (zh) | 一种备份电子签名令牌中私钥的方法和系统 | |
CN109814934B (zh) | 数据处理方法、装置、可读介质和系统 | |
CN105893837A (zh) | 应用程序安装方法、安全加密芯片及终端 | |
JP2019057044A (ja) | Bios管理装置、bios管理システム、bios管理方法、及び、bios管理プログラム | |
CN109508529B (zh) | 一种支付终端安全启动校验的实现方法 | |
CN102831357B (zh) | 二次开发嵌入式应用程序的加密和认证保护的方法及系统 | |
CN112100696A (zh) | 存储器装置及其安全读取方法 | |
JP2007507020A (ja) | プログラミング可能な読出し専用メモリのブートセクタ内にソフトウェアをリロードするための方法 | |
KR102466866B1 (ko) | 데이터의 검증 방법 | |
JP5759827B2 (ja) | メモリシステム、情報処理装置、メモリ装置、およびメモリシステムの動作方法 | |
JP6203556B2 (ja) | 情報処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160127 |
|
WD01 | Invention patent application deemed withdrawn after publication |