CN105743652A - 基于地址异或的数据总线加密方法 - Google Patents
基于地址异或的数据总线加密方法 Download PDFInfo
- Publication number
- CN105743652A CN105743652A CN201410765160.5A CN201410765160A CN105743652A CN 105743652 A CN105743652 A CN 105743652A CN 201410765160 A CN201410765160 A CN 201410765160A CN 105743652 A CN105743652 A CN 105743652A
- Authority
- CN
- China
- Prior art keywords
- bus
- data
- address
- xor
- encryption 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于地址异或的数据总线加密方法,对于总线加密密钥的每一个比特位,都与存储器地址总线的某一比特位或者多位比特位进行异或操作,得到异或后的总线加密密钥。将与地址异或后的总线加密密钥与存储器明文数据进行异或来得到密文数据。使得每一个地址中的明文数据所对应的异或密钥都不同,从而使得攻击者难以通过分析密文数据来推算密钥从而恢复明文。本发明能够抵抗针对存储器数据的物理攻击;既能有效提高系统的安全性,又能大幅提高运算速度。
Description
技术领域
本发明涉及信息加密领域,特别是涉及一种基于地址异或的数据总线加密方法。
背景技术
近年来,针对智能卡存储器的物理攻击越来越受到关注和研究。智能卡的存储器中往往存有敏感数据,例如密钥、用户隐私相关的信息。针对存储器的物理攻击通过各种手段来获取这些敏感信息。物理攻击首先需要去除芯片封装,然后通过物理或者化学的方式对芯片进行逐层剥离。对于非易失性存储器(ROM),可以直接通过逆向工程、图像识别、染色等方法来获取存储器中的数据。另外,对于所有类型的存储器,包括非易失性存储器(ROM)和易失性存储器(RAM),攻击者都可以通过用探针探测总线的方式,来获取总线上传输的数据。当在智能卡中实现了数据总线加密,在存储器中或者总线上出现的数据即为密文数据,攻击者需要通过分析密文数据来恢复出明文数据。
由于需要在读写存储器时,实时进行数据总线加密运算,因此数据总线加密方法相对于对称加密算法(例如DES,AES)来说都比较简单,运算速度较快。但是也由于数据总线加密方法比较简单的原因,其方法一般来说需要严格保密,从而提升攻击者的攻击难度。传统的数据总线加密方法有两种,一种为简单异或总线加密方法,一种为置换总线加密方法。简单异或总线加密方法即将明文数据直接和密钥进行异或,如果明文数据恰巧为“全0”或者“全1”,那么密钥很容易就被暴露。并且由于所有明文数据都和同一个密钥进行异或,攻击者通过观测密文数据,就能够推测明文数据之间的相关性。因此简单异或总线加密方法的安全性较低。而置换总线加密方法根据密钥的不同将明文数据的比特位进行不同的置换操作。通过层层的置换操作,使得明文的每一位都能够随机的置换到密文的某一位。但这种方法由于置换层数较多,因此运算速度较慢。另一个问题就是置换无法改变明文数据的数值,因此如果明文数据恰巧为“全0”或者“全1”,那么密文数据将会和明文数据相等。并且如果明文数据为较为特殊的值,例如所有比特位中只有1个比特位为“1”,那么攻击者能够通过观测密文来猜测密钥。另外,与简单异或总线加密方法类似,由于所有明文数据都基于同一个密钥进行置换操作,攻击者通过观测密文数据,就能够推测明文数据之间的相关性。
发明内容
本发明要解决的技术问题是提供一种基于地址异或的数据总线加密方法,既能有效提高系统的安全性,又能大幅提高运算速度。
为解决上述技术问题,本发明的基于地址异或的数据总线加密方法,包括如下步骤:
步骤1,产生与存储器数据总线比特位数相等的总线加密密钥k;
步骤2,对于总线加密密钥k的每一个比特位,都与存储器地址总线的某一比特位或者多位比特位进行异或操作,得到异或后的总线加密密钥k’;
步骤3,对存储器进行写入操作时,将存储器明文数据总线和总线加密密钥k’进行异或得到存储器密文数据总线;对存储器进行读出操作时,将存储器密文数据总线和总线加密密钥k’进行异或得到存储器明文数据总线。
步骤1所述产生与存储器数据总线比特位数相等的总线加密密钥k,包括直接选取原始总线加密密钥中的某一位来得到总线加密密钥k中的每一个比特位。
步骤1所述产生与存储器数据总线比特位数相等的总线加密密钥k,包括将原始总线加密密钥中的某些比特位进行异或来得到总线加密密钥k中的每一个比特位。
步骤1所述存储器数据总线的位宽,可以是任意位数,包括8位、16位、32位。
本发明的有益效果在于:数据总线加密运算由于需要在存储器读写过程中实施运算,因此要求其加密效果较好的同时也要求其运算时间较快。与以往的数据总线加密实现方法相比,本发明中所采用的基于地址异或的数据总线加密方法能够通过简单的密钥异或地址的操作,将存储器地址与密钥进行异或,使得每一个地址中的明文数据所对应的异或密钥的值都不同,从而使不同地址中密文数据的相关性被大幅减弱,大大增加了攻击者通过分析密文数据来推算密钥从而恢复明文的难度,安全性得到大幅提高。另外,由于基于地址异或的数据总线加密方法只需要进行异或操作,因此其运算时间也较快。因此该方法能够有效抵御物理攻击。
本发明的其他优点,目的和特征将部分地在随后的描述中阐明,并且对本领域普通技术人员来说,部分内容将在审查下列内容时变得清楚,或者可以由本发明的实践而得知。利用在书面描述及其权利要求以及附图中具体指出的结构,可以实现和达到本发明的目的和其他优点。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
图1是基于地址异或的数据总线加密方法示意图;
图2是基于地址异或的数据总线加密效果示意图。
具体实施方式
所述基于地址异或的数据总线加密方法,就是使得攻击者难以通过分析存储器密文数据来推算密钥从而恢复明文。存储器数据所对应的异或密钥的每一位都由总线加密密钥的相应位与存储器地址总线的某一比特位或者多位比特位进行异或操作得来的。因此不同存储器地址中的数据所对应的异或总线加密密钥都是不同的。即使不同地址中的明文数据一致,总线加密运算后得到的密文地址也不同。这就大大增加了攻击者通过观测密文数据的相关性来推测明文数据的相关性的难度。另外,即使明文数据恰巧为“全0”或者“全1”,那么暴露给攻击者的也只是与地址异或后的总线加密密钥。当攻击者不知道数据总线加密的具体实施方式时,他将无法由与地址异或后的总线加密密钥推算异或前的总线加密密钥,从而无法恢复其他地址中的明文数据。因此使用所述基于地址异或的数据总线加密方法可以有效的抵御针对存储器的物理攻击。
图1是所述基于地址异或的数据总线加密方法示意图。图1中,密钥和数据的比特位为n,地址的比特位为m,虚线框中的操作为可选操作。x(i,j)(0≤i≤n-1,0≤j≤m-1)为与密钥比特位k[i]进行异或的第j个地址比特位,满足其值大于等于0,小于等于(m-1),且满足x(i,j0)≠x(i,j1)(0≤j0,j1≤m-1)。对密钥k的每一位k[i](0≤i≤n-1),都至少与地址中的某一位(a[x(i,0)])进行异或,至多与地址中的所有位(a[0]到a[m-1])进行异或;
图2是所述基于地址异或的数据总线加密效果示意图。图2中,所采用的具体数据总线加密方法在下面进行详细描述。
参见图1和图2,本发明提供了一个基于地址异或的数据总线加密方法的实施例。
该实施例中的地址总线a的位宽为12位,数据总线d的位宽为8位。通过将8位总线加密密钥k的每一位和地址总线中的某两位进行异或,来产生异或后的8位总线加密密钥k’。在对数据总线进行加解密时,将明文或者密文数据总线与8位总线加密密钥k’进行异或操作。由于掺入的地址的因素,异或操作的安全性得到提升,且不同地址中的密文数据的相关性很弱,因此攻击者通过观测密文数据很难推算密钥或者明文数据。
具体的基于地址异或的数据总线加密方法流程如下描述:
步骤1,产生32位原始总线加密密钥k0。
步骤2,通过将原始总线加密密钥k0中的某些位异或的方法产生8位总线加密密钥k。
k[0]=k0[0]^k0[1]^k0[2]^k0[3]
k[1]=k0[4]^k0[5]^k0[6]^k0[7]
k[2]=k0[8]^k0[9]^k0[10]^k0[11]
k[3]=k0[12]^k0[13]^k0[14]^k0[15]
k[4]=k0[16]^k0[17]^k0[18]^k0[19]
k[5]=k0[20]^k0[21]^k0[22]^k0[23]
k[6]=k0[24]^k0[25]^k0[26]^k0[27]
k[7]=k0[28]^k0[29]^k0[30]^k0[31]
步骤3,通过将总线加密密钥k与12位地址a异或的方法产生8位总线加密密钥k’;
k’[0]=k[0]^a[1]^a[7]
k’[1]=k[1]^a[4]^a[0]
k’[2]=k[2]^a[2]^a[6]
k’[3]=k[3]^a[9]^a[3]
k’[4]=k[4]^a[5]^a[3]
k’[5]=k[5]^a[10]^a[0]
k’[6]=k[6]^a[1]^a[11]
k’[7]=k[7]^a[8]^a[2]。
步骤4,对存储器进行写入操作时,将明文存储器数据总线和总线加密密钥k’进行异或得到密文存储器数据总线;对存储器进行读出操作时,将密文存储器数据总线和总线加密密钥k’进行异或得到明文存储器数据总线。
现有普通的数据总线加密方法需要大量的置换操作和替换操作,因此实现代价高且运算速度慢。而本发明的方法只需要异或逻辑操作即可实现,因此其实现代价较小且运算速度较快。并且由于本发明不是简单的异或密钥,而是将地址的因素掺入一起进行异或,因此能在保证安全性的前提下,将运算速度大幅提高。
以上所述仅为本发明的具体实施方式和实施例,本发明保护范围并不局限于此。
Claims (4)
1.一种基于地址异或的数据总线加密方法,其特征在于,包括如下步骤:
步骤1,产生与存储器数据总线比特位数相等的总线加密密钥k;
步骤2,对于总线加密密钥k的每一个比特位,都与存储器地址总线的某一比特位或者多位比特位进行异或操作,得到异或后的总线加密密钥k’;
步骤3,对存储器进行写入操作时,将存储器明文数据总线和总线加密密钥k’进行异或得到存储器密文数据总线;对存储器进行读出操作时,将存储器密文数据总线和总线加密密钥k’进行异或得到存储器明文数据总线。
2.如权利要求1所述的方法,其特征在于:步骤1所述产生与存储器数据总线比特位数相等的总线加密密钥k,包括直接选取原始总线加密密钥中的某一位来得到总线加密密钥k中的每一个比特位。
3.如权利要求1所述的方法,其特征在于:步骤1所述产生与存储器数据总线比特位数相等的总线加密密钥k,包括将原始总线加密密钥中的某些比特位进行异或来得到总线加密密钥k中的每一个比特位。
4.如权利要求1所述的方法,其特征在于:步骤1所述存储器数据总线的位宽为任意位数,包括8位、16位或32位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410765160.5A CN105743652B (zh) | 2014-12-11 | 2014-12-11 | 基于地址异或的数据总线加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410765160.5A CN105743652B (zh) | 2014-12-11 | 2014-12-11 | 基于地址异或的数据总线加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105743652A true CN105743652A (zh) | 2016-07-06 |
CN105743652B CN105743652B (zh) | 2019-01-22 |
Family
ID=56241213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410765160.5A Active CN105743652B (zh) | 2014-12-11 | 2014-12-11 | 基于地址异或的数据总线加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105743652B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107967414A (zh) * | 2017-11-03 | 2018-04-27 | 成都蓉芯微科技有限公司 | 微控制芯片指令加密方法、解密方法及加/解密系统 |
CN109656840A (zh) * | 2018-12-21 | 2019-04-19 | 成都海光集成电路设计有限公司 | 一种数据加解密的装置、方法、存储介质、以及数据存储系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050076228A1 (en) * | 2003-10-02 | 2005-04-07 | Davis John M. | System and method for a secure I/O interface |
CN1991801A (zh) * | 2005-11-30 | 2007-07-04 | 株式会社东芝 | 访问控制设备、方法和存储器访问控制设备、方法 |
CN101042682A (zh) * | 2006-03-22 | 2007-09-26 | 株式会社东芝 | 访问控制装置、系统和方法,处理器 |
CN101114257A (zh) * | 2006-07-25 | 2008-01-30 | 索尼株式会社 | 存储器存取控制装置和方法、以及通信装置 |
CN101304314A (zh) * | 2007-05-08 | 2008-11-12 | 三星电子株式会社 | 对数据进行加密和解密的方法和使用该方法的总线系统 |
-
2014
- 2014-12-11 CN CN201410765160.5A patent/CN105743652B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050076228A1 (en) * | 2003-10-02 | 2005-04-07 | Davis John M. | System and method for a secure I/O interface |
CN1991801A (zh) * | 2005-11-30 | 2007-07-04 | 株式会社东芝 | 访问控制设备、方法和存储器访问控制设备、方法 |
CN101042682A (zh) * | 2006-03-22 | 2007-09-26 | 株式会社东芝 | 访问控制装置、系统和方法,处理器 |
CN101114257A (zh) * | 2006-07-25 | 2008-01-30 | 索尼株式会社 | 存储器存取控制装置和方法、以及通信装置 |
CN101304314A (zh) * | 2007-05-08 | 2008-11-12 | 三星电子株式会社 | 对数据进行加密和解密的方法和使用该方法的总线系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107967414A (zh) * | 2017-11-03 | 2018-04-27 | 成都蓉芯微科技有限公司 | 微控制芯片指令加密方法、解密方法及加/解密系统 |
CN109656840A (zh) * | 2018-12-21 | 2019-04-19 | 成都海光集成电路设计有限公司 | 一种数据加解密的装置、方法、存储介质、以及数据存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105743652B (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105027136B (zh) | 用于集成电路的安全密钥推导和密码逻辑 | |
US9483664B2 (en) | Address dependent data encryption | |
US9240883B2 (en) | Multi-key cryptography for encrypting file system acceleration | |
CN107609418A (zh) | 文本数据的脱敏方法、装置、存储设备以及计算机设备 | |
US9811478B2 (en) | Self-encrypting flash drive | |
CN105706066A (zh) | 存储器完整性 | |
US8880879B2 (en) | Accelerated cryptography with an encryption attribute | |
EP3355232A1 (en) | Input/output data encryption | |
CN107078904A (zh) | 混合密码密钥导出 | |
CN107113170B (zh) | 生物特征模板保存、验证方法及生物特征识别装置、终端 | |
CN106059762B (zh) | 数据安全处理方法及装置 | |
JP2020535693A (ja) | 記憶データ暗号化/復号化装置及び方法 | |
CN102918539A (zh) | 用于保护重放内容的方法和装置 | |
CN108229215A (zh) | 一种地址加扰的存储装置及方法 | |
CN105468940B (zh) | 软件保护方法及装置 | |
US11863670B2 (en) | Efficient side-channel-attack-resistant memory encryptor based on key update | |
CN108494546A (zh) | 一种白盒加密方法、装置及存储介质 | |
CN106487499A (zh) | Rijndael算法的保护 | |
CN105827388A (zh) | 用于用密码处理数据的方法 | |
CN102609368B (zh) | 固态硬盘数据加解密的方法及其固态硬盘 | |
CN105743652A (zh) | 基于地址异或的数据总线加密方法 | |
CN105765896A (zh) | 用于表格网络的迭代应用的计算设备 | |
CN102622621B (zh) | 提高射频识别系统安全性的通信方法 | |
CN104639313A (zh) | 一种密码算法的检测方法 | |
CN109558341A (zh) | 计算机内存数据保护方法和计算机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |