CN104468089A - 数据保护装置及其方法 - Google Patents
数据保护装置及其方法 Download PDFInfo
- Publication number
- CN104468089A CN104468089A CN201410481712.XA CN201410481712A CN104468089A CN 104468089 A CN104468089 A CN 104468089A CN 201410481712 A CN201410481712 A CN 201410481712A CN 104468089 A CN104468089 A CN 104468089A
- Authority
- CN
- China
- Prior art keywords
- bit
- galois field
- data
- mixing
- golden key
- 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
Links
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/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0457—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
-
- 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/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- 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
-
- 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/3247—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 involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种数据保护装置及其方法。所述数据保护装置包括接口和逻辑电路。所述接口经配置以经由通信链路通信。所述逻辑电路经配置以通过进行串流加密操作与混合操作的级联,以在明文位元的第一串流与经由通信链路交换的加密位元的第二串流之间进行转换。其中,混合操作将输入位元加密映射为输出位元。
Description
技术领域
本发明是有关于数据安全,且特别是有关于一种用于保护串流加密数据的数据保护装置及其方法。
背景技术
在各种安全存储***中,主机与一个或多个存储装置交换数据。用于保护主机与存储装置之间的接口的方法在本领域中是已知的。举例来说,美国专利申请公开案第2013/0262880号描述存储器存取电路和对应的方法,所述专利申请公开案的公开内容以引用方式并入本文中。存储器存取电路包括与存储器通信的加密区块,所述存储器以区块为基础对数据区块中的数据进行加密。存储器存取电路还包括错误注入区块,所述错误注入区块经配置以将错误注入到数据区块中的数据。存储器存取电路还包括数据乱码器和地址乱码器。数据乱码器经配置以通过将数据区块内的数据位元混洗(shuffle)多次来扰乱存储器中的数据,且将经混洗的数据位元与随机数据混杂(mash)。地址乱码器经配置以将经扰乱的数据分布在存储器各处。此美国专利申请公开案还公开包括所述存储器存取电路的存储器***,以实施其对应的方法。
作为另一实例,美国专利申请公开案第2011/0283115号(其公开内容以引用方式并入本文中)描述用于从初始软件码产生可以抵抗逆向工程分析的最终软件码的方法,其中所述方法由可直接处理最大M位元数据的处理器来执行。产生最终软件码包括以下步骤:(i)建置转换表,所述转换表的输入包括一个指令,且其输出包括多个等效指令或指令集。(ii)将输入数据***(split)成多个片段,每一片段具有不超过M的随机长度。以及,(iii)对于指令区块中的每一指令,使用转换表来拟随机地(pseudo-randomly)选择等效指令或指令集以便获得等效指令区块,并附加上所述多个等效指令区块以获得最终软件码。
发明内容
本发明实施例提供一种数据保护装置,所述装置包括接口和逻辑电路。所述接口经配置以经由通信链路通信。所述逻辑电路经配置以通过进行串流加密操作与混合操作的级联,以在明文位元(plaintext bits)的第一串流与经由通信链路交换的加密位元(ciphered bits)的第二串流之间进行转换,其中混合操作将输入位元(input bits)加密映射为输出位元(output bits)。
在一些实施例中,加密位元是经由通信链路以在存储器装置与处理器之间进行交换。在其它实施例中,经由通信链路交换的加密位元包括在处理器上实时执行的软件程序码。
在一些实施例中,逻辑电路包括至少两个互连的混合级,其至少包括最初和最末混合级,且各所述混合级包括多个伽罗瓦场(Galois Field,GF)乘法器,其中逻辑电路经配置以通过在最初混合级的伽罗瓦场乘法器中***输入位元,并且将最末混合级的结果组合以产生输出位元,从而进行混合操作。在另一实施例中,至少一个混合级中的各伽罗瓦场乘法器经配置以接受来自输入位元或来自先前混合级的被乘数位元,以及进一步接受相应的混合金钥,其中混合金钥是远程设备中的对应混合金钥的伽罗瓦场乘法逆元素,且远程设备位于通信链路的相对侧,其中逻辑电路经配置以通过在各伽罗瓦场乘法器中将被乘数位元乘以相应的混合金钥,从而进行混合操作。
在一些实施例中,逻辑电路经配置以通过将输入位元乘以在伽罗瓦场中相应且非常数的混合金钥,从而进行混合操作。在其它实施例中,逻辑电路经配置以通过将相应的伽罗瓦场中的混合金钥乘以常数元素,或是乘以常数元素的伽罗瓦场乘法逆元素,以与通信链路的相对侧处的远程设备相互协调以反复地更新混合金钥,使得在任何给定时间,混合金钥都是远程设备所使用的对应混合金钥的伽罗瓦场乘法逆元素。在其它实施例中,常数元素和伽罗瓦场乘法逆元素分别等于2和2-1,且逻辑电路经配置以使用线性反馈移位寄存器来产生混合金钥,其中线性反馈移位寄存器使用移位运算来实施伽罗瓦场乘法运算。在其它实施例中,逻辑电路经配置以将混合金钥初始化为在相应的伽罗瓦场中的2或2-1其整数次幂的数值,使得初始混合金钥是远程设备所使用的对应初始混合金钥的伽罗瓦场乘法逆元素。
本发明的实施例另提供一种方法,所述方法包括经由通信链路以交换加密位元。通过进行串流加密操作与混合操作的级联,以实施明文位元的第一串流与经由通信链路交换的加密位元的第二串流之间的转换,其中混合操作将输入位元加密映射为输出位元。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1是依照本发明一实施例所绘示的安全存储***的方块图;
图2是依照本发明一实施例所绘示的加密混合方法的示意图;
图3和图4是依照本发明一实施例所绘示的加密混合的替代实施例的示意图。
附图标记说明:
20:安全存储***;
24:存储器装置;
28:主机;
32:存储器阵列;
34:链路;
36:中央处理单元;
40、44:绑定金钥/秘密绑定金钥;
48:混合单元;
52:串流加密器;
56、68:会议金钥/秘密会议金钥;
60:串流解密器;
64:去混合单元;
72、76:密码序列产生器;
90_1、90_2:32位元伽罗瓦场乘法器;
100_1~100_16:8位元伽罗瓦场乘法器;
94:线性反馈移位寄存器(LFSR);
104:64位元线性反馈移位寄存器(LFSR);
98:线性反馈移位寄存器(LFSR_INV);
108:64位元线性反馈移位寄存器(LFSR_INV);
CX:加密数据;
DX:明文数据;
K、K-1:映射金钥;
K1、K2:秘密值;
K11~K14、K21~K24、K21-1~K24-1、K11-1~K14-1:子金钥;
K1_INV、K2_INV:映射金钥;
MX:混合数据;
R、R-1:初始值;
STAGE_1、STAGE_2:混合级;
STAGE_3、STAGE_4:去混合级;
W1~W4、X1~X4、Y1~Y4、Z1~Z4:数据。
具体实施方式
[概述]
在许多安全存储***中,主机经由通信链路或总线以与存储器装置通信。其中,通信链路可能容易遭受各种密码攻击。在本文中,本发明实施例提供用于保护存储器装置的接口以避免受到密码攻击的改进方法和***。
原则上,可以通过双向地对经由链路交换的数据进行加密,以保护主机与存储器装置之间的链路。在读取方向上,存储器装置将加密数据发送给主机,而在写入方向上,存储器装置则从主机接收加密数据。在每一通信方向上,存储器装置和主机的其中一者为发送方,而另一者为接收方。
举例来说,当主机的中央处理单元(CPU)执行从存储器装置实时提取的程序码时,存取存储器时的低等待时间(latency)是重要的。相对于高等待时间的区块加密,为了减少等待时间和复杂性,通常会使用串流加密技术来对经由链路传送的数据进行加密。在发送方处,串流加密器以拟随机序列对明文数据进行加密(例如,使用按位元互斥或(bitwise XOR)运算)以产生密文(cipher text),而在接收方处,解密器则以同一序列对密文进行解密以恢复明文数据。
就低复杂性和等待时间来说,串流加密是有利的,但是串流加密可能容易遭受密码攻击(例如基于位元位置的攻击)。举例来说,未经授权的攻击者可以根据与存储器装置接口的一个或多个固定位置的位元对应的某一周期模式来监视或改变串流加密数据的值,以试图破坏***的安全。本文中描述的实施例可有效防止串流加密器的上述漏洞。
在读取方向上,存储器装置为发送端,且主机为接收端。在一些实施例中,在串流加密器进行遮蔽(masking)之前,存储器装置使用秘密映射金钥以对明文进行加密混合操作。所述混合操作将明文数据位元映射为混合位元,使得不知道映射金钥且未经授权的用户将无法猜出明文数据位元的值和/或位置。主机在解密之后进行逆向映射(相对于混合映射)以对混合位元去混合且恢复明文数据。在写入方向上,主机和存储器装置则分别为发送端和接收端,并应用类似的处理流程。
在一实施例中,加密混合是基于伽罗瓦场(Galois-Field,GF)算术运算。在以下描述中,假定算术运算可应用于给定的伽罗瓦场中的元素,且给定的伽罗瓦场可以使用某一基础生成多项式而产生。由于所公开的技术适用于任何有效的生成多项式,故以下省略关于基础生成多项式的细节。因此,术语“乘法”(multiplication)指的是给定伽罗瓦场中元素间的相乘,且术语给定元素的“乘法逆元素”(multiplicative inverse)指的是当与此给定元素(使用伽罗瓦场算术运算)相乘时,产生所述伽罗瓦场中定义为单位元素的元素。类似地,术语“幂”(power)则指的是给定伽罗瓦场中的元素其自身的重复相乘。
例如,假定发送端的混合单元接收N位元明文数据DX。在一实施例中,N为32位元,而在一替代实施例中,N可以包括任何合适的正整数。混合单元包括N位元伽罗瓦场乘法器,且所述N位元伽罗瓦场乘法器将N位元明文数据DX乘以N位元秘密映射金钥K,并输出N位元混合数据MX,即MX=DX*K,其中运算符“*”表示相应伽罗瓦场中的乘法。
接收端包括去混合单元,所述去混合单元接受N位元混合数据MX,并且使用类似的N位元伽罗瓦场乘法器将混合数据MX乘以逆向映射金钥,所述逆向映射金钥等于映射金钥K的乘法逆元素,即,DX=MX*K-1,其中K-1为逆向映射金钥。
在一些实施例中,每个发送方和接收方与通信链路相对侧的另一方相互协调以反复地更新混合金钥,使得在任何给定时间,一方使用的混合金钥是另一方使用的对应混合金钥的伽罗瓦场乘法逆元素。
在一些实施例中,混合单元使用线性反馈移位寄存器(Linear FeedbackShift Register,LFSR)来产生秘密映射金钥K,且去混合单元使用另一线性反馈移位寄存器来产生逆向映射金钥K-1。用于混合和去混合的线性反馈移位寄存器被初始化为相应的秘密值R和R-1,且彼此同步地进行移位,使得在发送方中和在接收方中相应的映射金钥等于彼此的乘法逆元素。
计算伽罗瓦场中任意元素的伽罗瓦场乘法逆元素需要大量的计算资源。在一实施例中,为了降低去混合单元计算逆初始值R-1的复杂性,可将初始值R限制为2的非负整数r次幂,即,R=2r。去混合单元保留固定且预先计算出的值2-1,并按2-1的r次幂来计算逆初始值R-1,即,R-1=(2-1)r。与一般的乘法逆计算相比,经由幂运算来计算逆初始值R-1的复杂性明显降低。
混合金钥并不限制于使用线性反馈移位寄存器来产生。在替代实施例中,可以使用任何其它合适的手段以对发送端和接收端中的混合金钥进行初始化和更新,使得在任何时间,发送端和接收端的混合金钥互为伽罗瓦场乘法逆元素。另外,混合金钥可以被配置为相应伽罗瓦场中除了2和2-1以外的常数的整数次幂。
在一些实施例中,混合单元通过两个混合级来混合32位元明文数据,其中各混合级分别包括4个8位元伽罗瓦场乘法器。在第一级中,4个伽罗瓦场乘法器中的每一者将从32位元明文数据取出的8位元输入数据乘以相应的8位元映射金钥。就物理大小、实施复杂性和等待时间来说,使用8位元乘法器(而非32位元乘法器)是有利的。
互连方案将第一级所输出的32位元映射为4个8位元,且这4个8位元分别输入给第二级的4个伽罗瓦场乘法器。第二级的伽罗瓦场乘法器中的每一者将其8位元输入乘以相应的8位元映射金钥以产生8位元混合输出。接着再将第二级的4个8位元输出相组合以产生32位元混合数据输出。
在一些实施例中,混合单元使用64位元线性反馈移位寄存器来为第一和第二混合级产生8个映射金钥。混合单元将64位元线性反馈移位寄存器的输出***成2个32位元金钥,所述2个32位元金钥各再***成4个8位元映射金钥。
在接收端中,去混合单元包括两个去混合级,其中各去混合级分别包括4个8位元伽罗瓦场乘法器。去混合单元还包括与混合单元的线性反馈移位寄存器同步操作的64位元线性反馈移位寄存器,所述64位元线性反馈移位寄存器输出8个8位元逆映射金钥,且所述8个8位元逆映射金钥各自等于混合单元的相应映射金钥的乘法逆元素。在一实施例中,两侧的线性反馈移位寄存器产生相同的拟随机序列,且在去混合侧处,例如可在相应的伽罗瓦场中使用查找表,以分别对32位元线性反馈移位寄存器输出的各个8位元子群组进行逆转。逆转4个8位元伽罗瓦场元素所需要的表格大小和存储空间(1K×8位元)明显小于逆转一个32位元伽罗瓦场元素所需要的查找表(4G×32位元)。
去混合单元在两个去混合级中应用伽罗瓦场乘法,且进一步在第一与第二去混合级之间应用逆向互连方案,以便恢复明文数据。
在所公开的技术中,在串流加密之前执行加密混合。所述混合操作将明文数据位元映射为混合位元以掩盖明文位元其真实的值和位置。使用伽罗瓦场乘法器实施混合操作仅导致复杂性和等待时间的些微增加。
[***描述]
图1是依照本发明一实施例所绘示的安全存储***的方块图。安全存储***20包括存储器装置24,所述存储器装置24将用于主机28的数据存储在存储器阵列32中。存储器装置24可以存储任何合适类型的数据,例如用户数据、可执行程序码以及安全***状态。***状态包含多种信息,例如***开机时间、***事件和错误日志信息以及自测试结果。数据可以以加密或未加密形式存储在存储器阵列32中。
在图1的实施例中,存储器装置24包括非易失性存储器(NonvolatileMemory,NVM)。在替代实施例中,存储器装置24可以包括任何合适类型的存储器,例如只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)或任何类型的非易失性存储器(例如快速存储器)。主机28使用相应的通信接口(未示出)以经由链路34与存储器装置24通信。
用于存储器装置24的存储命令至少包含数据读取、写入、修改和抹除。主机28通过经由链路34施加相应的通信信号来执行存储操作。另外,主机28的中央处理单元36可以通过经由链路34读取程序码指令和数据来执行从存储器装置24实时提取的程序码。
在一些实施例中,链路34包括平行链路或总线,这些平行链路或总线具有单独的数据线、地址线和控制线。在其它实施例中,链路34包括串行链路,且其中的数据、地址和控制信息是在共同的实体连接上连续地传送。此类串行接口包括例如串行***接口(Serial Peripheral Interface,SPI)、内置集成电路(Inter-Integrated Circuit,I2C)、通用串行总线(Universal Serial Bus,USB)、多媒体卡(Multimedia Card,MMC)接口和安全数字(Secure Digital,SD)接口。
在本实施例中,假定主机28和存储器装置24各自包括单独的半导体晶元(die),且所述两个晶元位于共同封装上或单独封装上。进一步地,假定未经授权的攻击者不能直接获取每一晶元内的秘密信息,但是可以打开封装以获得链路34的信号以试图破坏***安全。未经授权的用户可能经由链路34尝试进行的主要密码攻击包括:
在运作中修改所传输的信息,以试图在特定位元位置处进行密码攻击。
获得存储在存储器装置中的秘密信息。
修改存储在存储器装置中的信息。
迫使存储器装置执行未经授权的命令。
获得关于***状态的信息。
在运作中改变***的状态。
执行逆向工程以了解***的功能性。
在所公开的实施例中,主机28与存储器装置24之间的通信通过数据操作使其在链路34上为隐蔽,从而受到保护。数据操作包括密码数据混合与串流加密的级联,其将于之后详细描述。因此,即便未经授权的攻击者获得了链路34的信号,攻击者还是难以实施或无法进行如上所列的密码攻击。就往返存储器装置的存取延迟和计算复杂性而言,数据操作应具有最小的性能损失。在一些实施例中,数据操作包括数据加密和密码数据混合,其将于之后详细说明。
存储器装置24和主机28各自包括相应的秘密绑定金钥40和44。主机28和存储器装置24使用绑定金钥44、40来相互对彼此进行验证,且在验证失败时防止对于秘密信息未经授权的存取。绑定金钥40和44的大小应大到足以提供足够的加密强度,例如128位元金钥或更大。在一些实施例中,主机28、存储器装置24或其二者使用对称金钥共享协议(symmetric key sharingprotocols)来产生绑定金钥44、40,以使绑定金钥40和44为相同。在其它实施例中,主机28和存储器装置24采用不对称金钥共享协议(asymmetric keysharing protocols,也被称作公共-私有金钥共享协议(public-private key sharingprotocols)),其中的绑定金钥40和44通常为不同。
在一些实施例中,绑定金钥40和44在整个***的生命周期中是不变的。或者,有时可以通过先将绑定金钥40、44以及任何其它秘密信息从主机28和存储器装置24中抹除,并接着将绑定金钥40和44重新配置为新的秘密值,从而替换绑定金钥40和44的配置。
在一些实施例中,主机28在本地产生绑定金钥40,且传送绑定金钥40以使其存储在存储器装置24的非易失性位置中。举例来说,在一实施例中,主机28测量主机晶元内的物理特性,且将测量结果转换成相应的位元序列,以便用作绑定金钥40(和/或其它秘密信息)的秘密值。此类物理特性例如可包括晶元内的某些延迟路径、用于翻转晶元内的半导体栅极的状态的阈值电压以及晶元中的环形振荡器的自振荡频率。
在一实施例中,主机28、存储器装置24或其二者使用加密摘要(cryptographic digest)来校验绑定金钥40的有效性(例如,在通电时),其中加密摘要是经由绑定金钥40而计算出,并与绑定金钥40一起存储在存储器装置24中。主机28和/或存储器装置24可以类似地使用与绑定金钥44一起存储在主机28中且相应计算出的加密摘要,以校验绑定金钥44的有效性。
如上所述,通过操作数据使其在链路34上为隐蔽,数据可经由链路34而安全地交换。为了清楚起见,图1仅描绘读取方向(即,主机28读取存储在存储器阵列32中的数据)的情况。在相反方向(从主机28到存储器装置24)上的数据操作通常以类似方式实施。存储在存储器阵列32中的数据可以是加密或未经加密的。
假定存储器装置24以给定数据单元(例如,32位元单元或任何其它合适的数据单元大小)将数据存储在存储器阵列32中。在读取方向上,存储器装置24从存储器阵列32取得明文数据DX的单元。明文数据DX输入给混合单元48,且所述混合单元48对明文数据DX位元进行加密映射以产生混合数据MX。串流加密器52接着对混合数据MX进行加密,且存储器装置24经由链路34来发送加密数据CX。在以下描述中,术语“混合”指的是使用秘密映射金钥以将输入位元加密映射为输出位元,如此一来,若不知道映射金钥为何,则将无法通过计算而从输出位元猜出输入位元。混合单元48中的映射操作和串流加密器52中的加密操作取决于秘密会议金钥56,其详述如下。
在读取方向上,主机28接收加密数据CX且恢复明文数据DX。主机28首先使用串流解密器60对加密数据CX解密以恢复混合数据MX,接着再逆转混合单元48的操作,并通过使用去混合单元64将混合数据MX去混合以回复明文数据DX。串流解密器60和去混合单元64中的操作取决于秘密会议金钥68,所述秘密会议金钥68应与会议金钥56一致,以确保可以适当地逆转由存储器装置24相应实施的混合和加密操作。
在写入方向(图中未示出)上,主机28将数据写入到存储器装置24中。在这种情况,主机28可在经由链路34发送数据之前进行数据混合和加密,而存储器装置24则可通过进行解密和之后的去混合来恢复明文数据。
对于给定的读取或写入方向,端对端数据串流包含对混合操作进行逆转的去混合,以及对加密操作进行逆转的解密。然而,在一些实施例中,写入方向上的混合和加密操作可能不同于读取方向上的混合和加密操作。
秘密会议金钥56和68用于操作数据使其在链路34上为隐蔽。主机28有时(例如在通电时)可以重新配置会议金钥56和68。在一些实施例中,主机28向存储器装置24发送包括会议金钥56的加密版本的会议秘密,所述会议金钥56的加密版本是使用绑定金钥44来对会议金钥56进行加密。存储器装置24通过使用绑定金钥40对会议秘密进行解密来取得会议金钥56。
在其它实施例中,主机28将未经加密的会议种值(session seed)发送给存储器装置24。存储器装置24和主机28各自使用任何合适的密码演算法或方法(例如保全散列演算法(SHA)或高级加密标准(AES)),以使用会议种值和相应的绑定金钥40或44来产生相应的会议金钥56或68。
主机28和存储器装置24还包括相应的密码序列产生器72和76。串流加密器52在由密码序列产生器72产生的位元序列与混合数据MX之间应用按位元互斥或(bitwise XOR)以产生加密数据CX。类似地,串流解密器60在由密码序列产生器76产生的序列与加密数据CX之间应用按位互斥或以恢复混合数据MX。
密码序列产生器72和76各自基于相应的会议金钥56或68来产生拟随机序列,使得不能获得会议金钥56、68和***的状态且未经授权的用户将无法预测实际的拟随机序列。密码序列产生器72和76为同步以针对链路34上的每一次交易(transaction)产生新序列,或者每几个通信交易便产生新序列一次。
密码序列产生器72和76可以使用任何合适方法来产生拟随机序列。在一个实施例中,密码序列产生器72包括散列函数(Hash Function,例如SHA-2)以及每执行一次(或每执行数次)便递增的计数值(未示出)。密码序列产生器72通过经由会议金钥56和计数值来计算散列函数,以产生输出序列。
在另一实施例中,密码序列产生器72经由会议金钥、计数值和在前一次执行中所传输的明文数据(或其一部分)来计算散列函数,且因此两侧皆为已知。在又一实施例中,例如在散列函数输出的大小不足以用于进行加密时,密码序列产生器72将进一步地将散列函数结果输入到线性反馈移位寄存器(Linear Feedback Shift Register,LFSR),并以线性反馈移位寄存器的输出作为拟随机序列。
图1中的安全存储***20、存储器装置24和主机28的配置仅是用以使概念清楚的示范例配置。在替代实施例中,也可以使用安全存储***、存储器装置和主机的任何其它合适配置。举例来说,在一个实施例中,主机经由额外的存储器控制器与存储器装置通信。在此实施例中,可以使用所公开的技术来保护主机与存储器控制器之间的各个链路和存储器控制器与存储器装置之间的各个链路。在另一实施例中,主机本身作为管理存储器装置的存储器控制器。
存储器装置24和主机28的不同元件,例如混合单元48、串流加密器52、密码序列产生器72、串流解密器60、去混合单元64和密码序列产生器76,可以使用任何合适的硬件,例如在特殊应用集成电路(ASIC)或可程序化逻辑门阵列(FPGA)中来实施。在一些实施例中,存储器装置24和主机28的一些元件可以使用软件或使用硬件与软件元件的组合来实施。
在一些实施例中,存储器装置24和/或主机28的某些元件,例如混合单元48和/或去混合单元64,可以包括通用处理器,并用软件对所述通用处理器进行编程以实施本文中描述的功能。软件例如可按电子形式经由网络下载到处理器,或者,也可以被提供和/或存储在非暂时性有形媒体(例如磁、光或电子存储器)上。
在图1的实施例中,主机28与单个存储器装置24通信。在替代实施例中,主机(例如存储器控制器)可以与多个存储器装置通信,且存储器装置各自具有相应的绑定金钥和会议金钥。在此类实施例中,主机或存储器控制器将使用匹配的相应秘密金钥来与每一存储器装置通信。
在上述图1的实施例中,发送侧在数据混合之后进行加密,且接收侧进行解密并于之后进行去混合。在替代实施例中,可在发送侧加密之后进行混合,且在接收侧中去混合之后进行解密。
在以下描述以及说明书内文中,存储器装置24和/或主机28的各种元件被统称作逻辑电路。
[用于数据加密混合的示范性实施例]
图2是依照本发明一实施例所绘示的加密混合方法的示意图。加密混合对应于使用秘密混合金钥所进行的输入位元到输出位元的可逆映射。
在本实施例中,所述方法包含由相应的混合单元48和去混合单元64所实施的加密混合部分和去混合部分。如前述图1所示,混合单元48的输出是在非易失性存储器(NVM)侧进行加密,且在主机侧中进行解密,使得实际上由混合单元48产生的混合数据MX被输入至去混合单元64。因此,虽然在实作上数据流通常包含数据加密和解密,但为清楚起见,在此省略这些元件,并且以混合单元48的输出直接输入给去混合单元64的情况来描述图2中的方法。
在图2的实施例中,混合操作是基于伽罗瓦场乘法。混合单元48包括32位元伽罗瓦场乘法器90_1和线性反馈移位寄存器(LFSR)94。32位元伽罗瓦场乘法器90_1接受32位元明文数据DX和来自线性反馈移位寄存器(LFSR)94的32位元秘密映射金钥K。32位元伽罗瓦场乘法器90_1在相应伽罗瓦场中将32位元明文数据DX乘以32位元秘密映射金钥K,以产生并输出32位元混合数据MX(即,MX=DX*K)。
混合单元48将线性反馈移位寄存器(LFSR)94初始化为初始秘密值(以初始值R表示)。初始值R通常是从会议金钥中导出,因此发送方和接收方双方皆为已知。对线性反馈移位寄存器(LFSR)94进行移位相当于在相应伽罗瓦场中乘以2。每当一个新的32位元明文数据DX输入(或每当数个32位元明文数据DX输入),线性反馈移位寄存器(LFSR)94即进行移位以产生相应的新映射金钥K,因此,可以实现将32位元明文数据DX加密映射为32位元混合数据MX并输出。
去混合单元64相对于混合单元48而执行加密逆向映射。去混合单元64包括32位元伽罗瓦场乘法器90_2(类似于存储器装置侧中的伽罗瓦场乘法器)和线性反馈移位寄存器(LFSR_INV)98。当线性反馈移位寄存器(LFSR)94初始化为初始值R时,线性反馈移位寄存器(LFSR_INV)98初始化为其乘法逆元素(即初始值R-1)。另外,对线性反馈移位寄存器(LFSR_INV)98移位等效于乘以2-1。因此,通过将线性反馈移位寄存器(LFSR)94与线性反馈移位寄存器(LFSR_INV)98的移位进行同步,线性反馈移位寄存器(LFSR_INV)98的输出可皆等于线性反馈移位寄存器(LFSR)94的输出的乘法逆元素。换句话说,当线性反馈移位寄存器(LFSR)94输出32位元秘密映射金钥K时,线性反馈移位寄存器(LFSR_INV)98输出相应的32位元秘密映射金钥K-1。通过将32位元混合数据MX乘以32位元秘密映射金钥K-1,32位元伽罗瓦场乘法器90_2可从32位元混合数据MX恢复32位元明文数据DX。
在一实施例中,初始值R可以包括任意值,且主机28使用可任何合适方法来计算其乘法逆元素(即初始值R-1)。在另一实施例中,用于找到初始值R-1的计算资源有限,故初始值R被限制为形式R=2r,r是非负整数。类似地,初始值R-1被限制为初始值R-1=(2-1)r的形式,其中,在相应伽罗瓦场中的值2-1可例如在晶元设计时预先决定。使用幂运算来计算乘法逆元素(即初始值R-1)的复杂程度远小于计算常规数字的乘法逆元素。
图3和图4是依照本发明一实施例所绘示的加密混合的替代实施例的示意图。在以下描述中,假定图1中的混合单元48和去混合单元64是分别使用图3和图4中描绘的相应实施例来实施。
图3使用两个混合级STAGE_1、STAGE_2来实施加密混合操作,所述混合级STAGE_1、STAGE_2各自包括4个8位元伽罗瓦场乘法器100。混合级STAGE_1、STAGE_2的8位元伽罗瓦场乘法器分别被编号为100_1~100_4(#1~#4)和100_5~100_8(#5~#8)。64位元线性反馈移位寄存器(LFSR)104产生2个32位元秘密值K1和K2,以分别在混合级STAGE_1、STAGE_2中使用。
在混合级STAGE_1中,32位元明文数据DX输入***成4个8位元数据X1~X4。另外,秘密值K1***成4个8位元子金钥K11~K14。8位元伽罗瓦场乘法器100_1将数据X1乘以子金钥K11且输出数据Y1。类似地,8位元伽罗瓦场乘法器100_2~100_4分别计算数据Y2=X2*K12、数据Y3=X3*K13和数据Y4=X4*K14。
在混合级STAGE_2中,秘密值K2***成4个8位元子金钥K21~K24,所述子金钥K21~K24被分别输入到8位元伽罗瓦场乘法器100_5~100_8(#5~#8)。8位元伽罗瓦场乘法器100_5~100_8(#5~#8)各自接受相应的8位元数据Z1~Z4。互连方案将数据Y1~Y4映射为8位元数据Z1~Z4。
在本实施例中,互连方案将数据Y1~Y4各自***成4个2位元群组。通过将各自源于不同的数据Y1~Y4结果的4个2位元群组相组合以分别形成8位元数据Z1~Z4。8位元伽罗瓦场乘法器100_5~100_8(#5~#8)分别计算8位元数据W1=Z1*K21、8位元数据W2=Z2*K22、8位元数据W3=Z3*K23和8位元数据W4=Z4*K24,这些8位元数据W1~W4接着被组合成32位元混合数据MX输出。
图4描绘去混合单元64的实施例,其与上述图3中描绘的混合单元48的实施例兼容。图4中描绘的实施例包括两个去混合级STAGE_3、STAGE_4,其各自包括4个8位元伽罗瓦场乘法器100_9~100_12(编号为#9~#12)和8位元伽罗瓦场乘法器100_13~100_16(编号为#13~#16)。去混合级STAGE_3、STAGE_4进行逆向混合,并分别相对于混合级STAGE_2、STAGE_1的相应混合操作。
64位元线性反馈移位寄存器(LFSR_INV)108输出2个32位元映射金钥K1_INV、K2_INV。在去混合级STAGE_3中,32位元映射金钥K2_INV***成4个子金钥K21-1~K24-1,其分别等于子金钥K21~K24的乘法逆元素。类似地,在去混合级STAGE_4中,32位元映射金钥K1_INV***成4个子金钥K11-1~K14-1,其分别等于子金钥K11~K14的乘法逆元素。
64位元线性反馈移位寄存器(LFSR)104、64位元线性反馈移位寄存器(LFSR_INV)108被初始化为相应的初始值,且接着同步地移位,使得在去混合级STAGE_3、STAGE_4中用于进行去混合的8个子金钥等于在混合级STAGE_2、STAGE_1中用于进行混合的相应8个子金钥的乘法逆元素。
在一实施例中,64位元线性反馈移位寄存器(LFSR)104、64位元线性反馈移位寄存器(LFSR_INV)108二者被初始化为相同且同步移位,使其均输出相同的32位元值。图4中的8位元逆向金钥是使用查找表从64位元线性反馈移位寄存器(LFSR)104输出的相应8位元群组中导出,所述查找表将伽罗瓦场元素转换成其伽罗瓦场乘法逆元素。
在去混合级STAGE_3中,32位元混合数据MX***成4个8位元数据W1~W4。去混合级STAGE_3通过计算Z1=W1*K21-1、…、Z4=W4*K24-1来恢复数据Z1~Z4。去混合单元64通过在去混合级STAGE_3、STAGE_4之间应用互连方案,以逆转在上述图3的混合单元48中使用的从数据Y1~Y4到数据Z1~Z4的映射,以从数据Z1~Z4恢复数据Y1~Y4。去混合级STAGE_4通过计算X1=Y1*K11-1、…、X4=Y4*K14-1来恢复8位元数据X1~X4。接着通过将所述4个8位元数据X1~X4结果相组合来恢复32位元明文数据DX。
在所公开的技术中,主机与存储器装置经由安全链路通信。然而,所提出的技术适用于保护任何其它合适的各方通信所用的任何其它合适的通信链路。
虽然本文中描述的实施例主要是针对安全存储器应用,但是本文中描述的方法和***也可以用在其它应用中,例如在各种其它数据传输的应用。举例来说,所公开的技术适用于保护任何有线或无线通信链路,以及用于保护文件存储器装置的接口。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (18)
1.一种数据保护装置,其特征在于,包括:
接口,其经配置以经由通信链路通信;以及
逻辑电路,其经配置以通过进行串流加密操作与混合操作的级联,以在多个明文位元的第一串流与经由所述通信链路交换的多个加密位元的第二串流之间进行转换,其中所述混合操作加密映射多个输入位元为多个输出位元。
2.根据权利要求1所述的数据保护装置,其特征在于,所述加密位元是经由所述通信链路以在存储器装置与处理器之间进行交换。
3.根据权利要求2所述的数据保护装置,其特征在于,经由所述通信链路交换的所述加密位元包括在所述处理器上实时执行的软件程序码。
4.根据权利要求1所述的数据保护装置,其特征在于,所述逻辑电路包括:
至少两个互连的混合级,其至少包括最初和最末混合级,且各所述混合级包括多个伽罗瓦场乘法器,其中所述逻辑电路经配置以通过在所述最初混合级的所述伽罗瓦场乘法器中***所述输入位元,并且组合所述最末混合级的结果以产生所述输出位元,从而进行所述混合操作。
5.根据权利要求4所述的数据保护装置,其特征在于,至少一个所述混合级中的各所述伽罗瓦场乘法器经配置以接受来自所述输入位元或来自先前混合级的多个被乘数位元,以及进一步接受相应的混合金钥,其中所述混合金钥是远程设备中的对应混合金钥的伽罗瓦场乘法逆元素,且所述远程设备位于所述通信链路的相对侧,其中所述逻辑电路经配置以通过在各所述伽罗瓦场乘法器中将所述被乘数位元乘以相应的所述混合金钥,从而进行所述混合操作。
6.根据权利要求1所述的数据保护装置,其特征在于,所述逻辑电路经配置以通过将所述输入位元乘以在伽罗瓦场中相应且非常数的混合金钥,从而进行所述混合操作。
7.根据权利要求6所述的数据保护装置,其特征在于,所述逻辑电路经配置以通过将相应的所述伽罗瓦场中的所述混合金钥乘以常数元素,或是乘以所述常数元素的伽罗瓦场乘法逆元素,以与所述通信链路的相对侧的远程设备相互协调以反复地更新所述混合金钥,使得在任何给定时间,所述混合金钥都是所述远程设备所使用的对应混合金钥的所述伽罗瓦场乘法逆元素。
8.根据权利要求7所述的数据保护装置,其特征在于,所述常数元素和所述伽罗瓦场乘法逆元素分别等于2和2-1,且其中所述逻辑电路经配置以使用线性反馈移位寄存器来产生所述混合金钥,其中所述线性反馈移位寄存器使用移位运算来实施伽罗瓦场乘法运算。
9.根据权利要求8所述的数据保护装置,其特征在于,所述逻辑电路经配置以初始化所述混合金钥为在相应的所述伽罗瓦场中的2或2-1其整数次幂的数值,使得初始混合金钥是所述远程设备所使用的对应初始混合金钥的所述伽罗瓦场乘法逆元素。
10.一种数据保护方法,其特征在于,包括:
经由通信链路以交换多个加密位元;以及
通过进行串流加密操作与混合操作的级联,以在多个明文位元的第一串流与经由所述通信链路交换的所述加密位元的第二串流之间进行转换,其中所述混合操作加密映射多个输入位元为多个输出位元。
11.根据权利要求10所述的数据保护方法,其特征在于,所述通信链路连接于存储器装置与处理器之间。
12.根据权利要求11所述的数据保护方法,其特征在于,经由所述通信链路交换的所述加密位元包括:
交换在所述处理器上实时执行的软件程序码。
13.根据权利要求10所述的数据保护方法,其特征在于,其包括提供至少两个互连的混合级,其中至少包括最初和最末混合级,且各所述混合级包括多个伽罗瓦场乘法器,其中进行所述混合操作包括:
在所述最初混合级的所述伽罗瓦场乘法器中***所述输入位元,并且组合所述最末混合级的结果以产生所述输出位元。
14.根据权利要求13所述的数据保护方法,其特征在于,进行所述混合操作包括:
提供来自所述输入位元或来自先前混合级的多个被乘数位元以及相应的混合金钥到至少一个所述混合级中的各所述伽罗瓦场乘法器,其中所述混合金钥是远程设备中的对应混合金钥的伽罗瓦场乘法逆元素,且所述远程设备位于所述通信链路的相对侧;以及
在各所述伽罗瓦场乘法器中将所述被乘数位元乘以相应的所述混合金钥。
15.根据权利要求10所述的数据保护方法,其特征在于,进行所述混合操作包括:
将所述输入位元乘以在伽罗瓦场中相应且非常数的混合金钥。
16.根据权利要求15所述的数据保护方法,其特征在于,进行所述混合操作包括:
通过将相应的所述伽罗瓦场中的所述混合金钥乘以常数元素,或是乘以所述常数元素的伽罗瓦场乘法逆元素,以与所述通信链路的相对侧的远程设备相互协调以反复地更新所述混合金钥,使得在任何给定时间,所述混合金钥都是所述远程设备所使用的对应混合金钥的所述伽罗瓦场乘法逆元素。
17.根据权利要求16所述的数据保护方法,其特征在于,所述常数元素和所述伽罗瓦场乘法逆元素分别等于2和2-1,且其中进行所述混合操作包括:
使用线性反馈移位寄存器来产生所述混合金钥,其中所述线性反馈移位寄存器使用移位运算来实施伽罗瓦场乘法运算。
18.根据权利要求17所述的数据保护方法,其特征在于,更新所述混合金钥包括:
初始化所述混合金钥为在相应的所述伽罗瓦场中的2或2-1其整数次幂的数值,使得初始混合金钥是所述远程设备所使用的对应初始混合金钥的所述伽罗瓦场乘法逆元素。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361880932P | 2013-09-22 | 2013-09-22 | |
US61/880,932 | 2013-09-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104468089A true CN104468089A (zh) | 2015-03-25 |
CN104468089B CN104468089B (zh) | 2018-11-13 |
Family
ID=51570277
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410481712.XA Active CN104468089B (zh) | 2013-09-22 | 2014-09-19 | 数据保护装置及其方法 |
CN201410482525.3A Active CN104463007B (zh) | 2013-09-22 | 2014-09-19 | 数据验证方法及其装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410482525.3A Active CN104463007B (zh) | 2013-09-22 | 2014-09-19 | 数据验证方法及其装置 |
Country Status (7)
Country | Link |
---|---|
US (3) | US9455962B2 (zh) |
EP (2) | EP2852090B1 (zh) |
JP (2) | JP6277101B2 (zh) |
KR (2) | KR101702545B1 (zh) |
CN (2) | CN104468089B (zh) |
ES (2) | ES2709124T3 (zh) |
TW (2) | TWI531925B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936819A (zh) * | 2017-03-01 | 2017-07-07 | 无锡紫光存储***有限公司 | 云存储子***及安全存储*** |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL234956A (en) | 2014-10-02 | 2017-10-31 | Kaluzhny Uri | Data bus protection with enhanced key entropy |
EP3082290A1 (en) * | 2015-04-17 | 2016-10-19 | Gemalto Sa | Device for managing multiple accesses to a secure module of a system on chip of an apparatus |
EP3326322B1 (en) * | 2015-07-17 | 2019-12-18 | Robert Bosch GmbH | Method and system for secure key generation over an insecure shared communication medium |
JP2017076854A (ja) | 2015-10-14 | 2017-04-20 | 富士通株式会社 | 電子装置、及びデータ検証方法 |
US10019571B2 (en) | 2016-03-13 | 2018-07-10 | Winbond Electronics Corporation | Protection from side-channel attacks by varying clock delays |
US10438022B2 (en) * | 2016-12-16 | 2019-10-08 | Arm Limited | Logic encryption using on-chip memory cells |
US20180270205A1 (en) * | 2017-03-15 | 2018-09-20 | Image Match Design Inc. | Fingerprint-sensing integrated circuit and scrambling encryption method thereof |
ES2685123B1 (es) * | 2017-03-31 | 2019-07-18 | Gruprex S L | Dispositivo de cifrado individual con mecanismo de protección de credenciales de usuario |
TWI666569B (zh) * | 2017-04-19 | 2019-07-21 | 映智科技股份有限公司 | 應用在指紋感測器及主控端之間的橋接晶片及指紋加密方法、指紋偵測及加密電路及方法 |
CN107392063B (zh) * | 2017-07-11 | 2019-05-28 | 深圳大普微电子科技有限公司 | 存储设备和主机的绑定、验证方法及*** |
US11323247B2 (en) | 2017-10-27 | 2022-05-03 | Quantropi Inc. | Methods and systems for secure data communication |
CA3073549C (en) * | 2017-10-27 | 2021-06-08 | Quantropi Inc. | Methods and systems for secure data communication |
US10476664B2 (en) | 2017-10-27 | 2019-11-12 | Quantropi Inc. | Methods and systems for data protection |
DE102018208851A1 (de) * | 2018-06-05 | 2019-12-05 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Umwandeln von Eingangsbitfolgen |
KR102677512B1 (ko) * | 2018-08-07 | 2024-06-24 | 삼성전자주식회사 | 안전 로직을 포함하는 장치 |
US10892891B2 (en) * | 2019-03-13 | 2021-01-12 | Digital 14 Llc | System, method, and computer program product for zero round trip secure communications based on two noisy secrets |
US10951415B2 (en) * | 2019-03-13 | 2021-03-16 | Digital 14 Llc | System, method, and computer program product for implementing zero round trip secure communications based on noisy secrets with a polynomial secret sharing scheme |
WO2020186125A1 (en) | 2019-03-13 | 2020-09-17 | The Research Foundation For The State University Of New York | Ultra low power core for lightweight encryption |
CN110909375B (zh) * | 2019-10-12 | 2022-04-08 | 浙江工业大学 | 一种保留分布特征的地址脱敏方法 |
US11449601B2 (en) * | 2020-01-08 | 2022-09-20 | Red Hat, Inc. | Proof of code compliance and protected integrity using a trusted execution environment |
US11329797B2 (en) | 2020-02-25 | 2022-05-10 | Quantropi Inc. | Method and system for secure phase-encoded digital communication over optical channels |
US11693733B2 (en) * | 2021-01-21 | 2023-07-04 | Kioxia Corporation | Soft error detection and correction for data storage devices |
US12001822B2 (en) * | 2021-02-01 | 2024-06-04 | Capital One Services, Llc | Multi-signature validation of deployment artifacts |
WO2024015079A1 (en) * | 2022-07-15 | 2024-01-18 | Hewlett-Packard Development Company, L.P. | Digital signature |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1063811A1 (en) * | 1999-06-22 | 2000-12-27 | Hitachi Europe Limited | Cryptographic apparatus and method |
US20010003540A1 (en) * | 1999-11-30 | 2001-06-14 | Stmicroelectronics S.A. | Electronic security component |
US20030005453A1 (en) * | 2001-06-29 | 2003-01-02 | Rodriguez Arturo A. | Method and apparatus for recordable media content distribution |
US20050058285A1 (en) * | 2003-09-17 | 2005-03-17 | Yosef Stein | Advanced encryption standard (AES) engine with real time S-box generation |
US20090196420A1 (en) * | 2008-02-05 | 2009-08-06 | Harris Corporation | Cryptographic system incorporating a digitally generated chaotic numerical sequence |
EP2566096A2 (en) * | 2011-09-02 | 2013-03-06 | Research In Motion Limited | Randomization of plain text for GSM SACCH |
Family Cites Families (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4521853A (en) | 1982-06-30 | 1985-06-04 | Texas Instruments Incorporated | Secure microprocessor/microcomputer with secured memory |
ATE200169T1 (de) | 1992-12-30 | 2001-04-15 | Telstra Corp Ltd | Verfahren und einrichtung zur erzeugung einer chiffriersequenz |
JP3421950B2 (ja) * | 1993-12-01 | 2003-06-30 | インヴィジメール テクノロジーズ リミテッド | 非決定論的ミクスチャー発生器ストリーム暗号化システム |
US5671283A (en) | 1995-06-08 | 1997-09-23 | Wave Systems Corp. | Secure communication system with cross linked cryptographic codes |
US6272637B1 (en) | 1997-04-14 | 2001-08-07 | Dallas Semiconductor Corporation | Systems and methods for protecting access to encrypted information |
WO2000057290A1 (fr) | 1999-03-19 | 2000-09-28 | Hitachi, Ltd. | Processeur d'informations |
CN1163018C (zh) * | 1999-08-09 | 2004-08-18 | 高通股份有限公司 | 用来产生消息鉴别码的方法和设备 |
WO2001054099A1 (fr) | 2000-01-21 | 2001-07-26 | Sony Corporation | Systeme d'authentification de donnees |
US7242772B1 (en) * | 2000-09-07 | 2007-07-10 | Eastman Kodak Company | Encryption apparatus and method for synchronizing multiple encryption keys with a data stream |
US6934389B2 (en) | 2001-03-02 | 2005-08-23 | Ati International Srl | Method and apparatus for providing bus-encrypted copy protection key to an unsecured bus |
KR100385228B1 (ko) | 2001-04-18 | 2003-05-27 | 삼성전자주식회사 | 불휘발성 메모리를 프로그램하는 방법 및 장치 |
US6976136B2 (en) | 2001-05-07 | 2005-12-13 | National Semiconductor Corporation | Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller |
EP1293856A1 (fr) | 2001-09-18 | 2003-03-19 | EM Microelectronic-Marin SA | Circuit Intégré sécurisé comprenant des parties à caractère confidentiel, et procédé pour sa mise en action |
US7490250B2 (en) | 2001-10-26 | 2009-02-10 | Lenovo (Singapore) Pte Ltd. | Method and system for detecting a tamper event in a trusted computing environment |
US7024555B2 (en) | 2001-11-01 | 2006-04-04 | Intel Corporation | Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment |
US7137004B2 (en) | 2001-11-16 | 2006-11-14 | Microsoft Corporation | Manifest-based trusted agent management in a trusted operating system environment |
WO2003053001A1 (en) | 2001-12-18 | 2003-06-26 | Analog Devices, Inc. | Programmable data encryption engine for advanced encryption standard algorithm |
US6768943B2 (en) | 2002-04-18 | 2004-07-27 | Aviation Communication & Surveillance Systems, Llc | System and method using environment memory having signatures |
US7248696B2 (en) | 2002-09-12 | 2007-07-24 | International Business Machines Corporation | Dynamic system bus encryption using improved differential transitional encoding |
US7194626B2 (en) | 2002-11-21 | 2007-03-20 | International Business Machines Corporation | Hardware-based secure code authentication |
US8140824B2 (en) | 2002-11-21 | 2012-03-20 | International Business Machines Corporation | Secure code authentication |
US7269747B2 (en) | 2003-04-10 | 2007-09-11 | Lenovo (Singapore) Pte. Ltd. | Physical presence determination in a trusted platform |
US6965521B2 (en) | 2003-07-31 | 2005-11-15 | Bae Systems, Information And Electronics Systems Integration, Inc. | Read/write circuit for accessing chalcogenide non-volatile memory cells |
US7533262B2 (en) | 2003-08-01 | 2009-05-12 | Microsoft Corporation | Media data protection |
DE10345385B4 (de) | 2003-09-30 | 2005-10-06 | Infineon Technologies Ag | Entschlüsselung bzw. Verschlüsselung bei Schreibzugriffen auf einen Speicher |
US20050114687A1 (en) | 2003-11-21 | 2005-05-26 | Zimmer Vincent J. | Methods and apparatus to provide protection for firmware resources |
CN1981527A (zh) | 2003-12-05 | 2007-06-13 | 美国电影协会 | 显示适配器的保密视频*** |
ATE522994T1 (de) | 2004-07-05 | 2011-09-15 | Abb Research Ltd | Authentifizierung von kurznachrichten. |
US8955104B2 (en) | 2004-07-07 | 2015-02-10 | University Of Maryland College Park | Method and system for monitoring system memory integrity |
US20060026418A1 (en) | 2004-07-29 | 2006-02-02 | International Business Machines Corporation | Method, apparatus, and product for providing a multi-tiered trust architecture |
US7484099B2 (en) | 2004-07-29 | 2009-01-27 | International Business Machines Corporation | Method, apparatus, and product for asserting physical presence with a trusted platform module in a hypervisor environment |
US7822993B2 (en) | 2004-08-27 | 2010-10-26 | Microsoft Corporation | System and method for using address bits to affect encryption |
US20060107054A1 (en) | 2004-11-16 | 2006-05-18 | Young David W | Method, apparatus and system to authenticate chipset patches with cryptographic signatures |
WO2006092753A1 (en) | 2005-03-01 | 2006-09-08 | Nxp B.V. | Generator for generating a message authentication code, method of generating a message authentication code, program element and computer-readable medium |
JP4537908B2 (ja) | 2005-03-29 | 2010-09-08 | 株式会社東芝 | プロセッサ、メモリ、コンピュータシステムおよびシステムlsi |
FR2885709A1 (fr) | 2005-05-10 | 2006-11-17 | St Microelectronics Sa | Controle d'integrite d'une memoire externe a un processeur |
US20070101424A1 (en) | 2005-07-25 | 2007-05-03 | Nec Laboratories America, Inc. | Apparatus and Method for Improving Security of a Bus Based System Through Communication Architecture Enhancements |
US8041032B2 (en) | 2005-08-19 | 2011-10-18 | Cardiac Pacemakers, Inc. | Symmetric key encryption system with synchronously updating expanded key |
US20070133437A1 (en) | 2005-12-13 | 2007-06-14 | Wengrovitz Michael S | System and methods for enabling applications of who-is-speaking (WIS) signals |
US8452981B1 (en) | 2006-03-01 | 2013-05-28 | Nvidia Corporation | Method for author verification and software authorization |
US8997255B2 (en) | 2006-07-31 | 2015-03-31 | Inside Secure | Verifying data integrity in a data storage device |
US20080155273A1 (en) | 2006-12-21 | 2008-06-26 | Texas Instruments, Inc. | Automatic Bus Encryption And Decryption |
US7882365B2 (en) | 2006-12-22 | 2011-02-01 | Spansion Llc | Systems and methods for distinguishing between actual data and erased/blank memory with regard to encrypted data |
US7836269B2 (en) | 2006-12-29 | 2010-11-16 | Spansion Llc | Systems and methods for access violation management of secured memory |
US8781111B2 (en) | 2007-07-05 | 2014-07-15 | Broadcom Corporation | System and methods for side-channel attack prevention |
US7739565B1 (en) | 2007-07-19 | 2010-06-15 | Xilinx, Inc. | Detecting corruption of configuration data of a programmable logic device |
KR101321472B1 (ko) | 2007-07-23 | 2013-10-25 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그것의 프로그램 방법 |
US8578179B2 (en) | 2007-10-19 | 2013-11-05 | Samsung Electronics Co., Ltd | Safe command execution and error recovery for storage devices |
US8549246B2 (en) | 2008-04-30 | 2013-10-01 | Micron Technology, Inc. | SPI NAND protected mode entry methodology |
US7826271B2 (en) | 2008-06-12 | 2010-11-02 | Sandisk Corporation | Nonvolatile memory with index programming and reduced verify |
JP4620146B2 (ja) | 2008-07-18 | 2011-01-26 | 株式会社東芝 | 情報処理装置及び認証方法 |
EP2166696B1 (fr) | 2008-08-27 | 2016-10-05 | STMicroelectronics (Rousset) SAS | Protection de l'intégrité de données chiffrées en utilisant un état intermédiare de chiffrement pour générer une signature |
US20100098247A1 (en) | 2008-10-20 | 2010-04-22 | Nokia Corporation | Method, Apparatus And Computer Program Product For Generating An Encryption Key And An Authentication Code Key Utilizing A Generic Key Counter |
US9117094B2 (en) | 2008-10-29 | 2015-08-25 | Microsoft Technology Licensing, Llc | Data location obfuscation |
US7881094B2 (en) | 2008-11-12 | 2011-02-01 | Seagate Technology Llc | Voltage reference generation for resistive sense memory cells |
TWI393143B (zh) | 2008-12-05 | 2013-04-11 | Phison Electronics Corp | 快閃記憶體儲存系統及其控制器與防資料竄改方法 |
US8649509B2 (en) | 2008-12-18 | 2014-02-11 | At&T Intellectual Property I, L.P. | Systems and computer program products for generating and verifying randomized hash values |
US20100235689A1 (en) * | 2009-03-16 | 2010-09-16 | Qualcomm Incorporated | Apparatus and method for employing codes for telecommunications |
US8429513B2 (en) | 2009-07-02 | 2013-04-23 | Stmicroelectronics (Research & Development) Limited | Loading secure code into a memory |
US20110022916A1 (en) | 2009-07-24 | 2011-01-27 | Prasanna Desai | Method and system for saving power for packet re-transmission in an encrypted bluetooth low power link layer connection |
US8756439B1 (en) | 2009-08-28 | 2014-06-17 | Physical Optics Corporation | Encryption key management for secured access |
US8225182B2 (en) | 2009-10-04 | 2012-07-17 | Mellanox Technologies Ltd. | Processing of block and transaction signatures |
WO2011066152A1 (en) | 2009-11-25 | 2011-06-03 | Aclara RF Systems Inc. | Cryptographically secure authentication device, system and method |
TWI436372B (zh) | 2010-01-28 | 2014-05-01 | Phison Electronics Corp | 快閃記憶體儲存系統及其控制器與防資料竄改方法 |
EP2388730A1 (en) | 2010-05-17 | 2011-11-23 | Nagravision S.A. | Method for generating software code |
US20110285421A1 (en) | 2010-05-24 | 2011-11-24 | Alexander Roger Deas | Synchronous logic system secured against side-channel attack |
US8427194B2 (en) | 2010-05-24 | 2013-04-23 | Alexander Roger Deas | Logic system with resistance to side-channel attack by exhibiting a closed clock-data eye diagram |
US8904190B2 (en) | 2010-10-20 | 2014-12-02 | Advanced Micro Devices, Inc. | Method and apparatus including architecture for protecting sensitive code and data |
US20120124374A1 (en) * | 2010-11-12 | 2012-05-17 | Nxp B.V. | Secured acknowledge protocol for automotive remote keyless entry systems and for networked sensor devices |
KR101792868B1 (ko) | 2010-11-25 | 2017-11-02 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 읽기 방법 |
GB2487901B (en) | 2011-02-03 | 2019-12-04 | Advanced Risc Mach Ltd | Power signature obfuscation |
US8745408B2 (en) | 2011-04-08 | 2014-06-03 | Infineon Technologies Ag | Instruction encryption/decryption arrangement and method with iterative encryption/decryption key update |
GB2494731B (en) | 2011-09-06 | 2013-11-20 | Nds Ltd | Preventing data extraction by sidechannel attack |
US8832455B1 (en) | 2011-09-21 | 2014-09-09 | Google Inc. | Verified boot path retry |
US9128876B2 (en) | 2011-12-06 | 2015-09-08 | Honeywell International Inc. | Memory location specific data encryption key |
US9304944B2 (en) | 2012-03-29 | 2016-04-05 | Broadcom Corporation | Secure memory access controller |
WO2013175642A1 (ja) | 2012-05-25 | 2013-11-28 | 株式会社東芝 | メモリデバイスおよびメモリシステム |
US8650398B2 (en) | 2012-06-14 | 2014-02-11 | Kabushiki Kaisha Toshiba | Device authentication using restricted memory |
US8751814B2 (en) | 2012-06-14 | 2014-06-10 | Kabushiki Kaisha Toshiba | Device |
US9703945B2 (en) | 2012-09-19 | 2017-07-11 | Winbond Electronics Corporation | Secured computing system with asynchronous authentication |
US20140281564A1 (en) | 2013-03-13 | 2014-09-18 | Kabushiki Kaisha Toshiba | Method of authenticating access to memory device |
TWI620094B (zh) | 2013-05-31 | 2018-04-01 | 凱爾拉吉克斯股份有限公司 | 電荷分布控制系統、加密系統和藉由操作其防止以旁通道攻擊之方法 |
-
2014
- 2014-06-11 US US14/301,456 patent/US9455962B2/en active Active
- 2014-06-23 US US14/311,396 patent/US9641491B2/en active Active
- 2014-09-03 TW TW103130416A patent/TWI531925B/zh active
- 2014-09-04 TW TW103130610A patent/TWI533653B/zh active
- 2014-09-15 EP EP14184824.2A patent/EP2852090B1/en active Active
- 2014-09-15 ES ES14184824T patent/ES2709124T3/es active Active
- 2014-09-17 ES ES14185186T patent/ES2826985T3/es active Active
- 2014-09-17 EP EP14185186.5A patent/EP2852089B1/en active Active
- 2014-09-19 CN CN201410481712.XA patent/CN104468089B/zh active Active
- 2014-09-19 KR KR1020140125134A patent/KR101702545B1/ko active IP Right Grant
- 2014-09-19 KR KR1020140125216A patent/KR101669157B1/ko active IP Right Grant
- 2014-09-19 CN CN201410482525.3A patent/CN104463007B/zh active Active
- 2014-09-22 JP JP2014192904A patent/JP6277101B2/ja active Active
- 2014-09-22 JP JP2014192887A patent/JP6030103B2/ja active Active
-
2016
- 2016-06-14 US US15/181,427 patent/US9819657B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1063811A1 (en) * | 1999-06-22 | 2000-12-27 | Hitachi Europe Limited | Cryptographic apparatus and method |
US20010003540A1 (en) * | 1999-11-30 | 2001-06-14 | Stmicroelectronics S.A. | Electronic security component |
US20030005453A1 (en) * | 2001-06-29 | 2003-01-02 | Rodriguez Arturo A. | Method and apparatus for recordable media content distribution |
US20050058285A1 (en) * | 2003-09-17 | 2005-03-17 | Yosef Stein | Advanced encryption standard (AES) engine with real time S-box generation |
US20090196420A1 (en) * | 2008-02-05 | 2009-08-06 | Harris Corporation | Cryptographic system incorporating a digitally generated chaotic numerical sequence |
EP2566096A2 (en) * | 2011-09-02 | 2013-03-06 | Research In Motion Limited | Randomization of plain text for GSM SACCH |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936819A (zh) * | 2017-03-01 | 2017-07-07 | 无锡紫光存储***有限公司 | 云存储子***及安全存储*** |
CN106936819B (zh) * | 2017-03-01 | 2019-11-01 | 无锡紫光存储***有限公司 | 云存储子***及安全存储*** |
Also Published As
Publication number | Publication date |
---|---|
US9819657B2 (en) | 2017-11-14 |
US20150089223A1 (en) | 2015-03-26 |
EP2852089B1 (en) | 2020-08-26 |
TWI533653B (zh) | 2016-05-11 |
CN104463007A (zh) | 2015-03-25 |
JP6277101B2 (ja) | 2018-02-07 |
TW201512892A (zh) | 2015-04-01 |
TWI531925B (zh) | 2016-05-01 |
KR20150033557A (ko) | 2015-04-01 |
KR101669157B1 (ko) | 2016-10-25 |
EP2852089A1 (en) | 2015-03-25 |
CN104463007B (zh) | 2018-10-16 |
KR101702545B1 (ko) | 2017-02-13 |
US9641491B2 (en) | 2017-05-02 |
ES2826985T3 (es) | 2021-05-19 |
US20160294792A1 (en) | 2016-10-06 |
EP2852090A1 (en) | 2015-03-25 |
TW201513626A (zh) | 2015-04-01 |
JP2015062286A (ja) | 2015-04-02 |
EP2852090B1 (en) | 2018-11-07 |
KR20150033558A (ko) | 2015-04-01 |
US20150089234A1 (en) | 2015-03-26 |
JP6030103B2 (ja) | 2016-11-24 |
ES2709124T3 (es) | 2019-04-15 |
JP2015062064A (ja) | 2015-04-02 |
US9455962B2 (en) | 2016-09-27 |
CN104468089B (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104468089A (zh) | 数据保护装置及其方法 | |
US11615411B2 (en) | POS system with white box encryption key sharing | |
US9497021B2 (en) | Device for generating a message authentication code for authenticating a message | |
CN110889123B (zh) | 一种认证方法及密钥对的处理方法、装置与可读存储介质 | |
CN103988461A (zh) | 用于对数据进行解密的设备和方法 | |
EP2996277B1 (en) | Securing a crytographic device against implementation attacks | |
AU2022100184A4 (en) | System for and method of authenticating a component of an electronic device | |
EP2629223A1 (en) | System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction | |
US20160323097A1 (en) | Securing a cryptographic device | |
US20230289424A1 (en) | Security Chip-Based Security Authentication Method and System, Security Chip, and Readable Storage Medium | |
CN112910630B (zh) | 扩展密钥的置换方法及装置 | |
CN105681023A (zh) | 上位机与单片机动态加密通讯的方法 | |
CN110784868B (zh) | 无线通信的加密和解密、数据传输方法及无线通信*** | |
CN111294199A (zh) | 加解密***、加密装置、解密装置和加解密方法 | |
US20220276841A1 (en) | Communication data text confusion encryption method | |
CN105262743A (zh) | 数据存储方法及安全装置、网络存储*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |