CN1413398A - 防止通过分析无意旁生信道信号来提取数据的数据处理方法 - Google Patents
防止通过分析无意旁生信道信号来提取数据的数据处理方法 Download PDFInfo
- Publication number
- CN1413398A CN1413398A CN00817503A CN00817503A CN1413398A CN 1413398 A CN1413398 A CN 1413398A CN 00817503 A CN00817503 A CN 00817503A CN 00817503 A CN00817503 A CN 00817503A CN 1413398 A CN1413398 A CN 1413398A
- Authority
- CN
- China
- Prior art keywords
- data
- mapping
- algorithm
- input
- output
- 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
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/0806—Details of the card
- G07F7/0813—Specific details related to card security
- G07F7/082—Features insuring the integrity of the data on or in the card
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/0806—Details of the card
- G07F7/0833—Card having specific functional components
- G07F7/084—Additional components relating to data transfer and storing, e.g. error detection, self-diagnosis
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1025—Identification of user by a PIN code
- G07F7/1083—Counting of PIN attempts
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- 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/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种处理和存储数据的方法以降低实现未经授权的数据访问的风险,特别是通过对旁生信道信号的监测进行的未授权数据访问。该方法包括算法设计的各个步骤,尤其是加密法,为了从该技术获得最大收益,对算法的执行程序进行修正以对经映射后的数据进行操作,最初的数据的映射,尤其是密钥,被储存,通过使用二次映射从先前的数据映射改变数据映射,对输入数据进行映射以作为修正后的算法执行程序的输入,对从修正后的算法输出的数据进行映射以备进一步使用。该方法使原始数据和对这些数据进行的映射的保密性得到提高。数据映射和二次数据映射可以是查询表、具有映射选择数据的算法或其它类似的形式。该数据映射可以作为级联映射被执行,以进一步减小未授权访问的风险。
Description
本发明的技术领域
本发明涉及数据保密。特别是,本发明涉及降低未经授权而使用数据的风险。
本发明背景技术
密码系统传统上被描述为带有密码(加密或解密)的黑盒子,其中输入数据(无论明码文或密码文)在其内部使用密钥进行处理,并且唯一离开该黑盒子的信息是预期输出数据。
旁生信道信息,例如由设备产生的伴生发射的电磁波的辐射或功率波动,在以监测正在被处理的信息为目的的攻击中,可以被容易并有效地利用,这一技术近来已经出现(例如,见于:P.Kocher,J.Jaffe和B.Jun所著的
Differential Power Analysis,Advance inCryptology-Proceeding of Crypto’99,Lecture Notes in ComputerScience,Vol.1666,Springer-Verlag,1999)。这使提取密钥比传统的密码分析方式更加容易,使我们相信,即使噪音很严重,此后对内部处理的直接监测也变得可以被攻击者利用了。
在加密操作中重复地使用一个密钥的情况下,攻击者通常可以在几个操作中通过监测和分析旁生信道信息来获取该密钥,而不需要借助传统的密码分析技术。必须被观测到以提取密钥值(或重复使用的任何内部数据)的操作的最小重复次数,与试图监测的信号功率和噪声功率的比值(信噪比)成反比变化。例如,通过改进硬件使该比值减小100倍(即20dB),那么攻击者将对加密操作监测大约100次以提取密钥。
旁生信道的信噪比的降低存在着应用上和经济上的限制,例如使用屏蔽和附加噪声。当安全处理器(例如集成电路卡)落到一个潜在的攻击者手中时,他可以通过提供输入信号很容易地反复激励该处理器同时在在近处监测旁生信道信号。集成电路卡的实例包括银行卡和收费电视卡。通过花费很少的资金和时间,攻击者能够通过统计技术破解他所感兴趣的信息,在此称为DPA(差分功率分析DifferentialPower Analysis)。这样命名是因为最常见的用于集成电路卡的旁生信道监测是对该设备产生的功率波动进行监测。DPA技术还可以应用于秘密接收和分析由计算执行数据操作所产生的射频信号。
对于简单的集成电路卡设计,对几个类似波形组的平均值之间的差异分析可以使得加密数据被推导出来。这是一阶DPA攻击的一个例子。已经证实,目前可行的商用集成电路卡,几乎没有例外,对这样具有可用于大多数确定了的参量的办法的攻击是脆弱的。通过适当的算法设计并包含随机性,使得在面临一阶甚至高阶DPA攻击时,使数据保密成为可能。
DPA攻击的阶次可以由中间变量的最小个数来定义,通过这些变量,可以获取任何处于该攻击下的数据,这里,这些中间变量都是通过对大量监测数据进行的平均处理得到的监测数据中获取的。更加直观(但不精确)的定义可以是:该阶次是内部数字状态的数目,该数字内部状态(如果存在噪声)会控制旁生信道观测,以获取与攻击者所需的信息相关的任何信息。
通过更加高级的数据处理(所谓的高阶DPA攻击)和大量的监测数据,仍然能以一定的可靠性,从理论上推断任何保密数据正在被处理,尽管所需要的监测数据的数量可以被做得惊人的大。
此处说明的本发明的技术目的是减少攻击者可以从旁生信道信号中获取的有用信息的数量,并增加成功攻破行为的最小复杂度和困难度。该技术包括对一阶和高阶攻击的防御。
一般的,对涉及数据保密的安全设备的设计目的是在保密期间使关于保密数据的信息泄露数量保持低于可接受的限制水平。这可以通过加密装置实现,该加密装置完成这样一个过程:将少量的泄露信息组合成一个难以进行运算的可用的整体。这一目的还可以通过以下方法实现:限制信息的泄漏部分的比例,以使在信息的保密期间累积(根据信息理论常识定义)的有关保密的泄露内容处于可接受的较低程度,以实现本发明目的。
数学基础
可以以一种方式,将一组数据(例如几个比特)映射为另一组数据,这种方法使得:既使第二组数据对检测者是已知的,先前的那一组数据对检测者仍是完全未知的。如果知道映射的选取方法,则可以从经映射后的数据(第二组)中恢复出初始数据(第一组)。为了保持数据的保密性,映射的选取方法对检测者必须是未知的,并且对新的每一组数据的映射必须被随机地选择,这样,每一组可能的原始数据组可以以相同的几率被映射成为每一种可能的映射后表示法。本发明就采用了这一原理。
算子(将一个或多个操作对象结合到一个结果中)在密码设计中被当做积木使用。这些算子的例子包括:查询表-一元算子-模块加法或减法、全字位对位异或和模p乘法(数值集合1至p-1,p是质数)-后者都是二进制算子。著名的IDEA密码(由Xuejia Lai和JamesMassey设计)使用了三个这样的二元算子,并且著名的DES密码使用了查询表、逐位或非算子和位置换。
一般的,独立任意地选择的一对一的映射可以分别被应用于任意算子的输入和输出。这样,可以定义一个等价的算子,使得对于每一种选定的映射,从映射后输入值产生正确的映射输出。对于每一种给定的算子,可以存在一组这样的映射,以致这一等价算子与原始算子相同,并满足没有对原始数据具有启示作用的信息的必要条件。包括同样的算子约束的这一原则,通常被称为隐蔽,虽然可用于一般算子的映射区间的范围是几乎不会被获知的。
例如,模加法运算的映射-x+y≡z(mod m)-在这一约束下,算子保持不变,以允许从(x,y,z)到(xi,yi,zi)的映射,其中xi≡aix+bi(modm),yi≡aiy+ci(mod m),zi≡aiz+bi+ci(mod m),其中ai与m互为质数的任何数,而bi和ci是任意数。其中m是2的乘方(即m=2n),ai有m/2个可能的取值,而bi和ci中的任一个都有m个可能的取值。很多种算子(比如加法,乘法和求幂)将显示出相似的性质。
多位的全字异或运算(这里我们看做是两个n个元素的向量在数域Z2上的相加,加和乘分别相当于二进制的“异或”和“与”运算,并且我们用小写字母表示向量而用大写字母表示矩阵)——x+y=z——在算法维持不变的情况下,它具有比模2n加法更多的数据映射选择。这些具有这样的形式:xi=Aix+bi,yi=Aiy+ci和zi=Aiz+bi+ci。Ai可以是
矩阵中的任何一个——有逆矩阵的那些——并且bi和ci可以分别为2n的任意值,对于每一个值给出
个不同的映射(忽略共用矩阵Ai暗含的限制)。当n=8比特时,就有大约270.2个这样的映射。
可用于异或运算的大量的映射集合可以显著降低旁生信道信号的可用性,并且这样做可以允许折衷用于保密的某些必要条件。当泄漏给攻击者的信息数量保持在可以接受的较低程度时,这一折衷(如重复使用所选择的映射)可以在运算法则的最终设计中有效降低其复杂性。
多重映射可以连续地用于同一数据以构成复合映射-如xi=fi(x),xij=fj(xi)。虽然这相当于单一映射xk=fk(x),其中fk=fi 0fj,但是如果安排恰当,攻击者必须获得关于多个独立的数据组(例中为三个-xk,fi,fj)的信息才能获得任何关于原始数据的信息。这就增加了DPA攻击的阶次(一般等于独立数据组的个数)和所需要的监测的数量(一般相当于独立数据组个数的乘方),才能从监测中提取出有用的信息。
一阶算子(例如查询表或位置换)仍然应用在加密中。允许算子保持不变的映射只有在操作中有数据丢失(如多对一)时才是受到限制的,不过在这种情况下改变算子是更有意义的,例如通过使用映射-从属查询表。
Kocher、Jaffe和Jun的国际公开号WO99/67919提出了改进DES密码术协议的方法和设备,通过减少对信号处理期间的可用信息的泄漏数量(和信噪比)来防止外来监测的攻击。该发明所实施的一项改进的DES改为使用两个56位密钥(K1和K2)和两个64位明文报文(M1和M2),它们每一个都相关于一个排列(即K1P,K2P和M1P,M2P),以使K1P{K1}XOR K2P{K2}等于“标准”DES密钥K,并且M1P{M1}XORM2P{M2}等于“标准”报文。在该设备操作期间,运算表最好定时更新,通过比信息泄漏更快地引入刷新平均信息量到该表中,使得攻击者无法通过分析检测结果获得该表中的内容。该技术可以应用于加密集成电路卡(智能卡)、防篡改芯片和所有类型的安全处理系统。在使用了隐蔽的情况下,为了通过旁生信道提取有效信息所需要的监测结果的数量与该信道的SNR的乘方之间的关系不同于前述的成反比关系,并且在该申请中没有给出对这一原理的认识的迹象。在该申请中使用了隐蔽的情况下(有或没有排列),所需要的监测的数量应当与乘方SNR的平方(即SNR的四次方)相反地变化。
本发明概述
本发明的技术提供了对密码术及其他方法的实用和有效的修正,该修正是基于改变用于计算和存储的所有秘密和中间数据的映射的数据保密而做出的。这些数据例如可以是密钥、被存储和被传送的数据。
当被映射的数据或被选择的映射(或所使用的复合映射中的所有映射)是未知的时,没有关于加密数据的信息可以被确定。该技术具有有效减少从旁生信道泄漏中获取有关原始数据的信息的能力,使得可监测的旁生信道泄漏足够低。
秘密数据,尤其是密码密钥,从不必要以原始形式存在(没有应用映射),除非它们在初始映射中使用,并被随机地基于每用原则重映射,以避免容易受到DPA攻击的数据重复出现。
这一技术具有很高的价值的一个例子是用于集成电路卡,在某些情况下DPA仅仅通过对泄漏出来的旁生信道信号的分析,可以在短短几分钟内使非法用户使用这些集成电路卡。另一种可能的应用是应用于计算设备中的数据计算与存储,这里电磁辐射将会危及数据的安全。
因此,为了实现本发明的优点,这里提供了一种处理数据的方法,以降低通过诸如DPA等方法对数据继续拧非法访问的风险,该方法包括以下步骤:
- 算法设计,独特而并非专用的密码,以最大受益于这项技术;
- 将公知的数据隐蔽技术引申为较大的映射组;
- 将算法工具改进以应用于已经映射的数据;
- 用于存储数据的初始映射,尤其是密钥;
- 通过使用二级映射,对每一个在先的数据映射进行数据映射转换;
- 映射输入数据以输入给修正的算法执行程序;并
- 映射从修正的算法输出的数据以进一步使用。
该方法可以包括保持秘密数据和映射的选择方法的数据保密性。
数据映射和二次数据映射可以是查询表、具有映射选取方法数据的算法或其它类似的形式。
该方法包括复合地(级联地)而不是单独地应用映射,以减少攻击者通过有限数量的监测可以获得的信息的数量,并增加成功进行DPA攻击的最小阶次。
已经映射的数据和映射选择方法被传送给远程单元。
通过下面的描述、非限制性的实施例以及附图,可以更好地理解本发明。
图1示出,加密过程的现有技术的示意图;
图2示出,图1的加密过程中旁生信道信息的泄漏的示意图;
图3示出,用映射后数据等价物替换双输入运算的示意图;
图4示出,连续映射的结合的示意图;
图5示出,加密器由其修正后的等价物代替的示意图;
图6示出,用于储存的密钥的初始映射的示意图;
图7示出,密钥的重复映射的示意图;
图8示出了一个示意图,用最简单的密码说明的映射过程;和
图9说明了实施例3的情况:使DES密码抵抗1st-和2nd-阶DPA攻击。
图1中,附图标记10一般地表示了一个传统意义上的“黑盒子”密码运算。在运算10中,输入数据12使用密钥14转换成输出信号16。
图2中,附图标记20一般地表示了一个传统的密码运算,例如图1中所示的加密运算,并进一步指出旁生信道泄漏。运算20包括数据的输入22、使用密钥24将输入数据转换成输出数据26和信号的泄漏28。
图3中,附图标记30一般地表示了数据隐蔽等价物代替双输入运算的过程。在运算30中,通过在算子31中被运算的输入32和34实现一个标准双输入运算,以产生输出36。数据隐蔽运算再次接收输入32和34,随后,在由算子33进行运算之前,通过映射35和37被映射。合成后的输出随后由输出映射39进行映射,以提供隐秘的输出36。
图4中,附图标记40一般地表示了通过级联运算实现的图3的连续映射的组合。算子41和47相当于图3中的运算33的两个不同的运算。映射43相当于涉及算子41的输出映射39,而映射45相当于涉及算子47的输入映射(如35或37)。映射49(fcd)是由43和45结合而来的单一的复合映射,它不会产生任何与原始数据相关联的数据,即使是中间值。
图5中,附图标记50一般地表示密码由其修正后的等价物替换(作为本发明的最终实现的中间步骤)。可以发现在未修正的运算中,输入数据52通过使用密钥51的加密运算53而起作用,提供输出54。在修正后的等价物中,在通过修正后的加密器57使用具有映射后的形式的密钥而起作用之前,输入数据52由转换运算56转换成映射后的形式,提供映射后的输出,通过使用转换算法58可以从中得到原始输出54。
在图6中,附图标记60表示进行映射的不可预知的选择的步骤。根据得出的选择结果,对未经映射的密钥62进行映射63,并储存为64。映射选择方法被存储为68,以供经映射的密钥使用。
在图7中,附图标记70表示进行二级映射的不可预知选择的步骤。通过使用所选择的二级映射,对先前被映射过的密钥72执行进一步的映射73,并储存为74,以代替72。根据选择二级映射的选择经验,对先前储存的映射选择结果76进行处理,以产生对于74可用的映射选择,并且储存为78,用于替换76。
在图8中,附图标记80一般地表示用对经映射后的数据进行的运算算法代替原有的运算算法。加密器83对输入正文81和密钥82进行运算,以产生输出文本块84。替换后,输入正文通过适当的映射被映射85。对初始密钥82执行类似的随意映射86,以产生映射密钥89。可选择地,89可以由一个加密运算的输出中得到,并已经是经过映射的形式。86进一步涉及反复改变的应用于密钥的映射。修正的加密器87对映射后的数据进行运算,并且通过映射运算器,它的映射输出被随机地进行运算88,以产生与未修正的加密器所产生的同样的数据84。或者还可以是:87的输出可以直接与映射选择数据一起,用在对等价物85和86的相似的修正算法,以避免未经映射的数据。
图9中,附图标记90总的表示将位变换替换成对经过映射后的数据和映射方法的选取数据都进行这种处理,以独立地对映射后的数据位应用映射。附图标记91表示对一个数据位的复制同样的替换,这一替换没有引入不同的映射法则,而是要警惕这些数据再组合时导致多余的不可预料的消除。附图标记92表示同样的替换操作,除了引入了不可预知的信息95以避免91中所涉及的消除。附图标记93类似地指出了异或运算的替换。附图标记94表示以使用映射值的、一个预先计算好的查询表代替DES S函数查询表(有六个输入位和四个输出位)。在预先计算中,不可预知数据96和所有可能的输入值97都与原始表结合,以产生所有映射后输入-输出组合98,用于写入映射后查询表99。根据设计的选择,该预先计算可以在每次或多次使用查询表之前进行。之后,查询表99被使用于对映射后数据操作的充分独立的重映射运算(异或)中。图中没有两个数据位向量可以被用来重构原始数据。为获得足够的隔离度,在信号路径中引入延迟(比如通过在异或运算之间使用定时锁存器)。
本发明的详细介绍
密码设计
应对密码算法的选择给予考虑。适当的密码设计可以使下一步骤(密码修正)中的密码处理费用增加得很少。选择用于密码实施的设备,对于具有尽量小的复杂度和在其面临旁生信道攻击时,具有尽量大的数据保密程度是非常重要的。理解下述技术在设计中是很必要的。
对多组数据重复使用同一运算法则中的一个映射将会给攻击者提供潜在的易攻破的缺陷,不过这一缺陷并非很严重(例如只需抵御一阶DPA攻击时),这样通过使用加法器可实现很大的节约。在算法设计中一定要记住这一点。
新的映射选择可以用于遍及加密装置的每一个数据值(包括每次运算的输出),否则映射可能被固定地用于两个运算之间。当这两个运算是无关的,后者明显是不可能的,只有在保持低复杂性的情况下才可能是有用的。必须注意与所有中间计算值结合的映射要保证隐秘要求(例如,当两个具有相同的映射应用的数值通过异或算子相结合时,之前的零输出将总是被映射成零值)。
如图3所示,每一个运算器由执行等价运算而且使所有数值都被映射的运算器所代替。输出映射39(fc)由输入映射35、37(fa和fb)和中心运算的任何改变来确定。例如,在输入映射是将每一个加法器的输入都分别加上一个任选值的情况下,那么输出映射就是从输出中减掉任意值的总和,这里假定中心运算是不变的。
原始值32、34和36(a,b,c)仍然在图3中出现,然而在应用了下一步之后就不会出现了。如果找出适当的可供选择的方法是不切实际的,那么,一般将在在映射数值上执行的运算选择为与以前相同的运算(如对于加法),不过如果替换是合理的,也可能选取不同的运算(如对于随机查询表)。
下一步是将来自级联的运算41和47的连续的映射43和45(fc和fd)合并为单一的映射49(fcd),如图4中所示。这个映射绝不能,即使是中间计算值,也不能产生原始数据或任何与原始数据有关的数据。当映射49仅由不能被用于从映射后的值导出与原始数据有关的信息的信息构成时,这通常可以实现。出现相关数据会给DPA攻击提供主要目标。例如,如果两个映射43和45是对各个随机值的模加法,映射49将是这些数值总和的加法,从中无法推导出关于每个映射选择的信息。与相邻的运算联系起来,这个映射可以被简化。这里连续映射43和45的选取是有关联的(即其中一个的选取影响另一个的选取),复合映射可以稍微简单一些或者甚至变为相同的运算(因此被省略)。
当级联算子41和47无关时,如映射49(fcd)所执行的复合运算将是必要的。如果必要,它将通过使用查询表或其它算法来执行。如果相邻运算中的一个是查询表,因而导致级联的查询表将被结合为一个。这一步骤之后,除了输入数据、密钥数据、输出数据之外,所有计算过程中的数据通过映射保持保密状态。这些外部映射将在下一步中被分别处理。
通过精心的密码设计的选择和映射选择的限制,在忽略修正后的密码57外部的映射选择、运算和映射的情况下,修正后密码的复杂程度不一定比原始密码的大。每一个运算中的涉及映射的计算量保持为最小状态。图5中示出了由此得到的数学等效加密器。
密钥的初始存储
图5中,原始密钥、输入数据和输出数据仍显示为没有应用映射的形式,并且当它们被某一运算读取时,特别是进行映射处理时,仍然可以成为DPA攻击的目标。密钥必须仅以映射后的形式被存储,其中映射的选择具有必要的随机性。此外,把映射的选取方法译成密码的信息必须储存起来。这一初始存储只有当初始的或主密钥被下载时(典型地在受到保护的环境中)才是必要的,而且从不针对在加密中信息中所下载的密钥(见加密器输出数据的映射)。这可以被表示为:最先通过应用映射k0=f0(k)存储密钥k,同时存储识别映射f0的选定方法的信息。映射族将根据用于加密器中的算子最普通地进行选择,其中密钥用于避免不必要的重复映射。
每用密钥映射
即使如密钥的初始存储中那样,通过一个应用映射进行了存储,反复读取可能导致通过一阶DPA技术(例如通过分析监测记录组的平均值)重现出秘密数据和映射信息。因此,在每次使用密钥之前,映射应当被更换为新的、随机选定的映射,这种映射受到由设计强加的约束。密钥的原始数据绝不能被计算出,即使只是在这一过程中作为临时变量。这导致派生出以ki=gi(ki-1)和fi=gi 0fi-1形式存在的值。后者意味着派生出fi以致fi(q)=gi(fi-1(q))对任意q成立。数值ki和fi将代替已存储的值ki-1和fi-1。这些数值将通过等式ki=fi(k)保持关系。
加密器输入数据映射
输入数据52(图5中x)首先通过为这些输入所选定的映射关系进行映射。这类似于密钥的初始映射(见密钥的初始存储),只是所有的数据都将被处理,例如接收到的将被解密的秘文或供传送的将被加密的明文。其中极机密数据(如密钥)将被加密,它们必须已经以映射后的形式被存储,并被进行了适当的映射替换(如每用密钥映射中所述)。
加密器输出数据映射
输出将被映射成它的原始值,此时它的秘密性已经无关紧要(例如已经产生了用于传送的秘文)。当这一数据必须保持秘密状态时(例如传送后的密钥),它们和映射选定方法信息应当被存储且不被逆映射回原始形式。因此,上面提到的密钥的初始映射不会用于接收的和解密的密钥。这就使下载密钥的过程可以抵御DPA。
例1:实现基于“异或”的加密器的DPA防御
在本例中,一个很简单的加密器完全由模2加法-异或-以八位字节运算(每个八字节的向量)和一个单一的查询表构成,以对于每个8位输入产生8位输出。由于加密器的过于简单的性质,相应于密钥的使用,只有单个一组数据可以被安全地加密(如在Vernam加密器或一次延长器中),不过对同一数据的反复加密可以实现对一阶DPA的抵御。每用密钥映射没有说明,但是它在对DPA的防御中是必要的。本例试图说明用于严格限定的计算环境中的密码器设计,例如用于集成电路卡的加密器设计。他使用了一个单一的查询表代换。
在本例中,所述的映射被应用于每一个8位数据,具有kni=Aikn+bi、xni=Aixn+ci和yni=Aiyn+di的形式。下标n和i分别代表每个数据组中8位字节的选择和加密器使用计数。Ai是一个随机选取的比特的满秩8×8矩阵,每一个bi、ci和di都是随机选取的8位字节。
下面结合图8中的运算说明本例。一个典型的加密器(加密或解密)可能使用很多运算,并且每一个k、x、y的数据大小一般至少是64位。每一个箭头代表一个8位字节的流向。图表示出数据的映射的等效运算。密钥的初始的和递增的(在每用密钥映射中做出说明)映射都被示出在密钥映射中。
初始映射后的密钥kn,0=A0kn+b0和映射f0=A0,b0)被储存。
最好在使用密钥之前,通过选定新的Gi和hi来确定一个新的映射。我们将kn,i-1替换为kn,i=Gikn,i-1+hi,将Ai-1替换为Ai=GiAi-1,将bi- 1替换为bi=Gibi-i+hi。
每一个查询表s被替换成它的等效值si,以对映射后的值进行运算,定义为si(z)=Ais(Ai-1(z+bi+ci))+di。使用相关映射xn,i=Aixn+ci对输入数据8位字节xn进行映射。使用原始加密程序而不是被替换后的查询表对映射后的输入加密。除了每密钥映射、替换后的查询表、初始映射和最终映射之外,没有涉及加密程序的计算变化。
最后,当输出y保持秘密状态时,例如通过密钥,使用yi、Ai和di而不是y。如果将它映射成其原始状态,这将被表示为yn=Ai-1yn,i+di。
得出一个重要的观测结果,就是由于可能的映射的数量巨大(270.2),相同的映射可以用于不止一个8位数据的有效加密。一个简单的映射不能保证多个字节充分安全抵御DPA。应当尽量减少基于相同映射的重复使用的简化,并且应是可行的,为不同的数据组选择的映射,应当是分别选出的。
既然映射(Ai,bi)和映射后的数据d在每次使用中都会改变,那么被处理的数据(包括密钥)就和原始数据无关。只有数据的几个比特和映射的函数与原始数据有关。原始数据的每一位可以被表示为被处理的一个17位的函数。
本例应用于强大的加密器,可以被有效应用于当前使用的集成电路卡,包括使用8位处理器和存储空间不大的集成电路卡。
例2:实现IDEA加密器的DPA防御
这个例子说明了应用于一个在设计时没有任何抵御DPA意图的公知的加密器时这个概念的使用。
IDEA加密器,基于简单容易地应用于大多数常规用途计算机的目的,被有意设计成由三个互不相容的算子组成-16位值的二进制异或、加法和乘法。为了使该加密器实现DPA防御,由于算子之间互不相容,将在每个数据路径中引入一个查询表,目的是为了将映射后的数值从一个算子映射到下一个。
和上面的例子一样,每次异或都具有一个映射,除非向量的长度增加到16位。上文所述的“每次”意味在整个加密过程中,没有将随机映射限定为同一个映射,而且只要执行再映射,就可以独立地选择映射。
加法器比异或算子具有较小的映射选择自由。乘法器与加法器具有相同的映射选择自由。映射必须是从一个适当的设备中随机选取的,必须据此对密钥和数据进行映射,必须产生查询表,且必须执行加密程序。
这里,系统管理的是若干查询表、用于辨识对密钥所施加的映射的信息的存储,和当有运算被执行时处理两倍的查询的系统工作量,其中系统所管理的每一个查询表都具有65536个16位字。
在典型的现代计算机中,这些资源是随时可用的。如本例展示,使用本技术,许多现有的应用程序可以被容易地保护起来,以抵御大部分的DPA攻击。采用这种方法,使得利用偷偷截取从执行加密操作的计算机发射出来的电磁波的DPA变得不可行了。
必须确立这样的概念:当需要处理大量的数据时,这些数据的映射在该处理过程中应当不时地更新。
例3:实现DES加密的DPA防御
数据加密标准(DES)加密法被广泛地使用,虽然它的56位密钥长度使得它容易受到穷举搜索攻击,但是仍然得到广泛应用。它还被用于更安全的同义密符,例如三重数据加密算法(TDEA,更一般地称为三重-DES)和DESX(由DES派生出的一种加密法)。由此,考虑将本发明用于DES是适当的。
DES的设计没有考虑DPA。在通常情况下,用于增加密码的长度的方法,减小了后续操作中有可能使用的映射的兼容性。三个重要的运算被应用于DES-模2加法(异或)、展开(很像置换,只是将某些或所有的输入位复制成两个)和八个6到4位查询表(被称为S或选择函数)。移位、位置换(重排)和寄存器互换在本讨论中不予考虑,因为这些针对每个数据位的映射选择被简单地跟踪(假设信号保持孤立),无须把它们当做与所选择的映射策略截然不同的运算。用包括追踪映射选择的修正后的位移动代替未修正的位移动在90中得以说明。
虽然特殊的置换、展开和异或运算的使用允许对数据(包括密钥)的大量映射集合,但任何涉及多位的映射必须被重映射,以允许每次仅使用六个数据位作为对每个S函数的输入。在这一场合,将禁止将这8个S函数整体地看做一个单一的实体。为了简单起见,涉及多于一个数据位的映射在此将不被考虑。这并不意味着具有几乎每次运算之后的重映射的比较复杂的映射必须是复杂的。
这里将要考虑的映射包括在算法中对所处理的每一个数据位的单独选取。尽管这里需要尤其注意确保DPA防御的阶次不低于所要求的阶次,但为减少对新的随机数据的需求,仍可以采取折衷的办法,使得选择是相关的。本例将不包括对这种折衷方法的实现。
假设本例中我们要求2nd阶DPA防御。为达到这一要求,我们将使用这样的原理:在能够重建出关于原始数据任何信息之前,所需的独立数字量的值必须是一个较高的值,即3。由于数字信号间以多种无法预料的方式相互影响,因此不能假定该信号是独立的,除非对它进行适当的隔离。
通用处理器中的信号隔离通常比功能描述中所暗含的隔离度要少得多。例如,将一个数值加载到诸如象累加器这样的一个寄存器中,可以达到隐藏的作用,以备将来使用,例如判断该值是否为零。在载入新的数据之前的一个时间段之后,从电路中删除数据,这种作法一般可以提供足够的隔离,即使发生细微的相互作用(象数据相互加热或离子移动)。不直接访问的字RAM中的数据值之间的相互作用,在执行其它访问期间,由于执行了寻址逻辑,因而这种相互作用仍然是明显的。这里,我们假设由具有适当性质的数据存储寄存器来实现硬件。这些性质中的第一项是:一旦数据从电路中被删除并经过适当的时间间隔(例如一个时钟周期)之后,那么在这个电路中将没有与后续数据之间的相互影响。第二项性质是:分立电路中数据之间的相互影响是可以忽略的,虽然这一性质的较保守形式是分立电路中数据之间的相互影响被合适地隔离,使得在同一时间所有电路都没有数据关联信号越迁产生。需要注意的是,同时处理的不同的数据位通常不能被假定为隔离的,因此不应将其视为独立的。
我们假设所有用于算法的输入数据都是映射后的形式(映射后数据的一个单一位被描述成单一位),对每个数据位,有两个独立应用的映射,每个映射具有唯一的独立的一个映射选择信息的不可预知的位。每个映射都是从两个组成的一组中挑选出的。该组中第一个映射使数据位保持不变,第二个交换两个可能值。可以发现,如果利用一个异或操作,对与原始位相关的三个位进行组合,则可以导出原始位。省略三个中的任何一位将会使原始数据实现保密(假设每种映射选择是不可预知的,每种情况有相同的可能性,而且每种选择之间没有相关的形式)。
在修正DES加密法的过程中,任何映射后的数据位受到和从前一样的任何变换,并跟踪相关的映射位(90)。对于展开也是一样,除了进行位复制时(包括所有位被复制的情况),这样的复制应是独立进行的,除非进一步的分析指出这是没有必要的(在如91中的修正的情况时)。使用两个独立选择的映射(需要两位随机数据),可以构成合成映射。引入的映射数据可以应用于这两对映射(分别使用异或操作对每个复制数据进行再映射),加上对于用于每个复制结果的、为两个映射选择中的任意一个导出的组合映射。这涉及四个不可预知的新选择位,可以省略与每个引入的映射相联系的其中一个,而不会降低安全性(如92所示)。两个复制结果之间互相不相关,并可以一起在随后的操作中使用而不用担心随后的结合会引入DPA可攻击缺陷。DES加密法中的异或操作在这一映射下保持不变,尽管为应用于每个数据位的第一和第二映射推导出了组合映射。这一限定可以在硬件中进行-当两个映射数据位的异或被发现,每个选择位与使用相同操作的其它数据映射的相应选择位结合(93)。产生的三个数据位随后被作为屏蔽数据位和两个应用映射。选择有时可以被明智地做成相关的方式,而不减少有效的DPA攻击的最小阶次,其结果是可以减小附加的计算复杂性和不可预测数据需求。
上述情况中必须注意到的是,本发明的描述中建议的某些简化已经应用在本例中了。尤其是,对上级操作的输出进行的映射与应用于异或操作的输入一样,把重映射简化为相同的操作(可以将其省略)。通过数据展开(92),只有添加了足够的附加不可预知值(95),才能确保后续操作不会降低DPA防御能力。后续的基于映射选择的故意相关的简化成为可能。
在本例中,S函数是保持被寻址的唯一区域。通过使被选取的映射的类型保持彼此相差悬殊,我们将限定完成本例目的映射的选择范围,以对独立的数据位进行映射。当引入简化时,有多种可以采用的方法。这里采用的方法是用根据函数(查询表)的输入而选取新的映射,对输入数据进行重映射(因此允许多次使用该表),并将输入映射和查询表的输出映射的不可预测情况进行结合。当修正S函数查询表(94)时,在这里使用了重映射方法,不过必须紧记:S函数的输出位应当与输入位无关。在使用之前,我们从所有其它的映射中为每一个S函数的输入和输出位随机地并独立地选取两个映射(96),用于每个可能的输入(在本例中由计数器97产生)。S函数表的替换条目被写入(98)。之后,对经映射的输入数据执行重映射,利用写入了映射的S函数查询表,并且选取的输出映射与输入映射一块传送,并用于添加的不可预知性,尽管可能执行简化。S函数查询表被存储在硬件寄存器中(全部寄存器寄存位的总和将是2048位以实现八个S函数)或RAM中。存储在该存储器中的值必须是从应用映射预先计算好的,从某种意义上讲,这可以保证对2nd阶DPA攻击的所需的抵御。每个合成的映射后输入值被用于对寄存器文件编址并且映射后的值被储存于选定的四个寄存器位。
为了数据展开而引入的随机数据位(如修正92中的95)通常费用昂贵。在这种情况下(假设S函数输出映射是无关的),则因为每次都是非线性相关的复制结果作为异或操作的输入,因此可以省去。由于多个密钥为复制结果,因此,刷新的S函数输出映射需要确保这一非相关性。还要考虑的是每个密钥位被使用差不多平均14次。
用于每一个DES循环(每次加密法应用有16个循环)的新的一组S函数表的计算包括对应于每个输出位获取两个随机位(每个循环有32个),这是非常浪费的。在硬件中,有可能实现对应加密的每个循环重新计算S函数表。由于这项支出,一个典型的执行程序可以不变更地重复使用这些查询表,以进行不止一个的查询,并且甚至可能同样地进行不止一个的加密算法的调用。这就违反了前面的在不同的循环中输出数据位的输出映射之间非线性相关的假设,并且必须注意确定,这在什么情况下会降低可行的DPA攻击的最小阶次。此外,旁生信号的强度与内部数据位的使用次数有关,并且在确定信号的泄漏是否足够小时必须要考虑这一情况。在某些情况下,保持随机地重映射是必要的,尤其是对一个密钥位(它被多次使用)。另一个由这种简化导致的限制是,一个S函数的一个数据位的输入映射在更换查询表内容之前的每次使用中都是相同的。不对独立数据位所使用的映射(包括密钥)进行约束,而是必须用可应用于对S函数的输入的一对映射来替换对该数据的映射。这应当分两步完成(通过两个独立的异或操作),分别应用两个映射的组合(一个应用于S函数,一个应用于数据)。
对2nd阶防御增加的复杂性,除了对修改后的中心密码器外部的数据所使用的映射,总计为将近异或操作和用经过可变映射的S函数输入和输出的三倍,包括随机数据的使用。外表上,被应用于其上的数据必须用映射后的数据和映射选择数据替换,必须对密钥执行初始映射,接着,对其执行递增映射,并对其进行存储,其中还存储了附加映射数据。本例中,映射后数据的存储需求增至三倍。输出数据,在这里是用于DES的一个密钥,必须以这种形式储存,以备将来使用,除了输出位之间的输出映射的相关性,以及由于可以利用一个刷新的映射选择,通过对输出执行递增映射,可以消除相对静态的S函数映射。
值得注意的是,直到考虑了S函数,具有映射选取数据的隐蔽数值的使用与多重“共享”-相当于数据通过使用运算法则被结合以确定原始数据-之间的区别表面上不是明显的。特别是,对映射选取数据执行的操作等于这一点对于那些对映射后数据执行的操作是相似的。然而,对于S函数(和任何无关于或更复杂于映射操作的函数),可以看到应用于映射选取数据的运算与映射的选取有关,并与算法的运算间接相关。在对S函数的输入输出的映射过程中,映射选取数据的处理完全不同于加在由原始数据得来的“共享”上的相似操作。
优点
增加DPA攻击阶次的方法(本质上是被观测信号中被续被组合起来以得到原始数据的点的数量)。这就使得该攻击更加烦琐和复杂。
通过扩展以前关于隐蔽所有(或至少是较多)的可能存在的映射以允许核心运算保持不变的概念,使得攻击者作业更加困难。出于经济的原因,使应用于一个数据位的映射选取方法与另一个数据位的映射选取方法相关联,大量的可能存在的映射可以实现合理的简化,而不会导致过多的数据泄漏。
进一步地,从有噪声的旁生信道监测中提取原始数据所必须的监测次数被充分地增加,比硬件屏蔽实现效果更加明显,提供的硬件屏蔽足够高。这一增加甚至可以有效应用于高阶DPA攻击。
再进一步,所需的数据存储和处理没有某些相关方案中增加的那么多。这些方案的一个例子是,每个数据位由一对数据位代表,第一个值是随机选择的并且当第一位是零时第二个是原始位,当第一位是一时是它的布尔变换(二进制“异或”)。
又进一步,包含密码组分的系统保持不受影响(例如,协议保持不变),虽然密码选择被最优化以使本技术的使用容易实现。
更进一步,这一技术可以应用于对称(具有单一、共用的密钥)和不对称(具有不同而相关的密钥)密码。
此外,本技术还可以应用于与其它用于提高DPA防御能力的技术的结合体中,通过使用一个复杂的函数连续修正密钥,在加密和解密中采取相同的形式。
Claims (25)
1.一种用来降低对数据进行未授权访问的风险的数据处理方法,该方法包括,以下列任何顺序的一个或多个步骤:
(a)给处理器输入第一保密数据组,包括可能存在的后续的这一步骤的重复;
(b)给该处理器提供一个不可预知数据源;
(c)给该处理器提供一种方法,用于使用不可知数据选择合适的映射;
(d)给该处理器提供至少一种算法,用于将第一保密数据组映射成映射形式;
(e)对第一保密数据组进行初始映射,用于是通过使用不可预知地选择的映射,将其以映射后的形式储存;
(f)修正算法执行程序以对映射后的数据和包括不可预知数据的其它数据进行运算,以使得输出是映射后数据和映射选择,它对原始输入数据运算的原始算法的输出与上述的输出之间相关的可能性极小;
(g)通过使用利用了不可预知信息的二级映射,从先前的数据映射改变为应用于任何数据的数据映射;
(h)对输入的数据进行映射,以输入给修正后的算法执行程序;和
(i)对从修正后的算法执行程序输出的数据进行映射,以备进一步使用。
2.如权利要求1所述的方法,其中步骤(a)的保密数据组是选自一个密钥和/或一个随机值。
3.如权利要求1或2中所述的方法,其中步骤(b)中的不可预知数据源选自一个硬件或一个伪随机数发生器和/或所储存的保密数据。
4.如上述任何一项权利要求所述的方法,其中在步骤(g)中其映射发生改变的数据是存储的、传送来的或中间计算数据。
5.如上述任何一项权利要求所述的方法,包括将通过使用不可预知信息选取的二级映射施加于映射后数据和/或该数据的映射的步骤。
6.如上述任何一项权利要求所述的方法,包括对映射为存储的初始数据的隐藏。
7.如上述任何一项权利要求所述的方法,其中数据映射和/或二级数据映射表现为查询表。
8.如上述任何一项权利要求所述的方法,其中数据映射和/或二级映射表现为映射选择数据或参数的一种算法。
9.如上述任何一项权利要求所述的方法,其中映射后的数据和/或映射被传送给一个远程单元。
10.如上述任何一项权利要求所述的方法,映射作为选取的一组映射被执行,以致当输入操作对象通过使用该映射而被替代时,通过使用来自输入映射的映射原始输出,从输出结果中被恢复出来。
11.如权利要求10所述的方法,其中对于任何操作对象,所有输入映射的集合可以从输出映射中确定出来。
12.如上述任何一项权利要求所述的方法,其中映射的选取是任意的,以致每个数据可以被映射成为由该映射选择所确定的范围内的任意值。
13.如上述任何一项权利要求所述的方法,其中原始算法的运算是记为x+y≡z(mod m)的模-m加法,并且修正后的算法内所使用的相应运算保持不变,可以使用的映射被记为xi≡aix+bi(mod m)、yi≡aiy+ci(mod m)和zi≡aiz+bi+ci(mod m),其中映射ai是与m互为质数,并且bi和ci是任意值,所以ai、bi和ci被限制在0到m-1的范围之内。
14.如权利要求13所述的方法,其中m具有m=2n的形式,所以对于相应于ai的所有奇数值和bi的所有值的输入x,有22n-1个有效的映射选择,并且对于这些选择中的每一个,对于相应于ci的所有值的输出y,有2n个有效的映射选择,其中ai、bi和ci被限制在0到m-1的范围之内。
15.如权利要求1-12中任何一项所述的方法,其中相应于记为xy≡z(mod m)的模-m乘法的原始算法的运算,与应用于修正后的加密法的相应运算保持不变,可以使用的映射被记为xi≡bixai(mod m)、yi≡ciyai(mod m)和zi≡bicizai(mod m),其中映射ai是与Φ(m)(m的欧拉Φ函数)互为质数的任意值,并且bi和ci是与m互为质数的任意值。
16.如上述任何一项权利要求所述的方法,其中映射包括两个n维向量在Z2域上的加法。
18.如权利要求17所述的方法,包括Ai和/或bi的确定的、受限制的或随机的选择机构,其中矩阵Ai包括单位矩阵和向量的位置换。
19.如上述任何一项权利要求所述的方法,其中的算法包括一元算子的使用。
20.如权利要求19所述的方法,其中算子被修正为几乎允许在算子的输入输出路径上执行任意的映射。
21.一种处理数据以降低对数据的未授权访问的风险的方法,该方法包括通过数据隐蔽,这是通过改变对某些或所有被处理的数据的映射,以便将其映射为用于计算和/或存储的一种映射形式而实现的。
22.一种处理数据以降低或减弱对数据的未授权访问的风险的计算机系统或算法,该系统包括以下一个或多个步骤:
(a)一个处理器,用于利用由该处理器使用的第一密钥,处理第一数据组;
(b)使该处理器至少具有一种用于将第一数据组和密钥中的至少一个映射为映射后形式的算法;
(c)一个存储装置,用于以映射形式存储第一数据组和密钥中的至少一个;
(d)修正算法执行程序,以对映射后的数据进行运算;
(e)通过使用二次映射,周期性地从在先的数据映射改变数据映射;
(f)对输入数据进行映射,以输入给修正后的算法执行程序;和
(g)映射从修正后的算法输出的数据,以备进一步使用。
23.如权利要求22所述的系统或算法,进一步包括数据输入装置和数据输出装置。
24.如权利要求22或23所述的系统或算法,进一步包括通讯装置,以与远程计算机或终端进行通讯。
25.如上述任何一项权利要求所述的方法,其中映射选取方法通过任意方法被确定,包括确定使用可预知或不可预知信息、具有在可能的或有效的选择方法上的均匀和不均匀可能性,并具有应用于可用于任何前提的选取方法的范围的限制的方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16104799P | 1999-10-25 | 1999-10-25 | |
| US60/161,047 | 1999-10-25 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN1413398A true CN1413398A (zh) | 2003-04-23 |
Family
ID=22579586
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN00817503A Pending CN1413398A (zh) | 1999-10-25 | 2000-10-19 | 防止通过分析无意旁生信道信号来提取数据的数据处理方法 |
Country Status (8)
| Country | Link |
|---|---|
| EP (1) | EP1226681A2 (zh) |
| JP (1) | JP2003513490A (zh) |
| CN (1) | CN1413398A (zh) |
| AU (1) | AU773982B2 (zh) |
| CA (1) | CA2388971A1 (zh) |
| EA (1) | EA003874B1 (zh) |
| WO (1) | WO2001031422A2 (zh) |
| ZA (1) | ZA200202798B (zh) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101048969B (zh) * | 2004-10-28 | 2012-04-04 | 耶德托公司 | 用于扰乱密码函数的方法和系统 |
| CN1989726B (zh) * | 2004-07-22 | 2012-09-26 | 茂夫公司 | 用于执行加密计算的方法和装置 |
| CN102790677A (zh) * | 2011-05-17 | 2012-11-21 | Nxp股份有限公司 | 认证方法 |
| CN105757878B (zh) * | 2016-02-19 | 2018-07-27 | 广东美的暖通设备有限公司 | 通讯数据的编码及解码方法、装置和空调器 |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7142670B2 (en) * | 2001-08-14 | 2006-11-28 | International Business Machines Corporation | Space-efficient, side-channel attack resistant table lookups |
| CN1640051B (zh) * | 2002-03-07 | 2011-05-18 | 艾斯奥托公司 | 使具有秘密密钥的电子密码装置安全的方法 |
| FR2842376B1 (fr) * | 2002-07-10 | 2004-09-24 | Somfy | Procede de communication selective entre objets |
| EP1457858A1 (fr) * | 2003-03-14 | 2004-09-15 | SCHLUMBERGER Systèmes | Procédé de sécurisation d'un ensemble électronique à cryptoprocesseur |
| DE10341096A1 (de) * | 2003-09-05 | 2005-03-31 | Giesecke & Devrient Gmbh | Übergang zwischen maskierten Repräsentationen eines Wertes bei kryptographischen Berechnungen |
| WO2005057927A1 (en) * | 2003-11-13 | 2005-06-23 | Magiq Technologies, Inc | Qkd with classical bit encryption |
| KR101061906B1 (ko) * | 2004-02-19 | 2011-09-02 | 삼성전자주식회사 | 전력분석공격에 안전한 기본 연산 장치 및 방법 |
| EP1596278A1 (fr) * | 2004-05-11 | 2005-11-16 | Axalto SA | Procédé de protection d'un ensemble cryptographique par masquage homographique |
| DE102004043243A1 (de) * | 2004-09-07 | 2006-03-23 | Comvenient Gmbh & Co. Kg | Verfahren zum Schutz von Schlüsseln |
| EP1646174A1 (en) * | 2004-10-07 | 2006-04-12 | Axalto SA | Method and apparatus for generating cryptographic sets of instructions automatically and code generation |
| JP2008181225A (ja) * | 2007-01-23 | 2008-08-07 | Toshiba Corp | Icカード |
| WO2009109884A1 (en) | 2008-03-05 | 2009-09-11 | Koninklijke Philips Electronics N.V. | Cryptographic system |
| EP2620890A1 (en) * | 2012-01-25 | 2013-07-31 | Gemalto SA | Method for detecting a fault injected in hardware registers of an electronic device |
| DE102012018924A1 (de) | 2012-09-25 | 2014-03-27 | Giesecke & Devrient Gmbh | Seitenkanalgeschützte Maskierung |
| US9009495B2 (en) | 2013-06-28 | 2015-04-14 | Envieta, LLC | High speed cryptographic combining system, and method for programmable logic devices |
| JP6264935B2 (ja) * | 2014-02-24 | 2018-01-24 | 大日本印刷株式会社 | 情報処理装置の認証方法 |
| CN104104587B (zh) * | 2014-04-18 | 2017-12-26 | 天津大学 | 一种认证邮件协议的后一致性分析方法 |
-
2000
- 2000-10-19 JP JP2001533494A patent/JP2003513490A/ja active Pending
- 2000-10-19 CN CN00817503A patent/CN1413398A/zh active Pending
- 2000-10-19 EP EP00986837A patent/EP1226681A2/en not_active Withdrawn
- 2000-10-19 EA EA200200468A patent/EA003874B1/ru not_active IP Right Cessation
- 2000-10-19 AU AU23014/01A patent/AU773982B2/en not_active Ceased
- 2000-10-19 CA CA002388971A patent/CA2388971A1/en not_active Abandoned
- 2000-10-19 WO PCT/ZA2000/000192 patent/WO2001031422A2/en not_active Ceased
-
2002
- 2002-04-10 ZA ZA200202798A patent/ZA200202798B/xx unknown
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1989726B (zh) * | 2004-07-22 | 2012-09-26 | 茂夫公司 | 用于执行加密计算的方法和装置 |
| CN101048969B (zh) * | 2004-10-28 | 2012-04-04 | 耶德托公司 | 用于扰乱密码函数的方法和系统 |
| CN102790677A (zh) * | 2011-05-17 | 2012-11-21 | Nxp股份有限公司 | 认证方法 |
| CN102790677B (zh) * | 2011-05-17 | 2016-03-09 | Nxp股份有限公司 | 认证方法 |
| CN105757878B (zh) * | 2016-02-19 | 2018-07-27 | 广东美的暖通设备有限公司 | 通讯数据的编码及解码方法、装置和空调器 |
Also Published As
| Publication number | Publication date |
|---|---|
| AU2301401A (en) | 2001-05-08 |
| EA200200468A1 (ru) | 2002-10-31 |
| WO2001031422B1 (en) | 2002-01-10 |
| EP1226681A2 (en) | 2002-07-31 |
| WO2001031422A2 (en) | 2001-05-03 |
| JP2003513490A (ja) | 2003-04-08 |
| WO2001031422A3 (en) | 2001-12-13 |
| EA003874B1 (ru) | 2003-10-30 |
| CA2388971A1 (en) | 2001-05-03 |
| ZA200202798B (en) | 2003-09-23 |
| AU773982B2 (en) | 2004-06-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1413398A (zh) | 防止通过分析无意旁生信道信号来提取数据的数据处理方法 | |
| US12399709B2 (en) | Obfuscation for protection of streaming media and other data flows | |
| Kong et al. | Deconstructing new cache designs for thwarting software cache-based side channel attacks | |
| US9569176B2 (en) | Deriving entropy from multiple sources having different trust levels | |
| US8428251B2 (en) | System and method for stream/block cipher with internal random states | |
| US20070237327A1 (en) | Method and System for High Throughput Blockwise Independent Encryption/Decryption | |
| Backlund et al. | Secret key recovery attack on masked and shuffled implementations of crystals-kyber and saber | |
| CN112714235A (zh) | 一种基于填充曲线和相邻像素比特置乱的图像加密方法 | |
| US9722778B1 (en) | Security variable scrambling | |
| KR102169369B1 (ko) | 경량 블록 암호화에 대한 1차 부채널 공격에 대응하는 방법 및 이를 이용한 장치 | |
| Andrade et al. | Lyra2: Efficient password hashing with high security against time-memory trade-offs | |
| Rajagopalan et al. | Survey and analysis of hardware cryptographic and steganographic systems on FPGA | |
| US11296869B2 (en) | Apparatus and method for unbreakable data encryption | |
| CN116488814A (zh) | 一种基于fpga的数据加密的安全计算方法 | |
| WO2017000726A1 (zh) | 一种密钥变换方法、装置及终端 | |
| WO2021129470A1 (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
| CN1592190A (zh) | 硬件加密引擎和加密方法 | |
| Chhabra et al. | Enhancing data security using obfuscated 128-bit AES algorithm-an active hardware obfuscation approach at RTL level | |
| US20100241872A1 (en) | Partially Reversible Key Obfuscation | |
| US9594918B1 (en) | Computer data protection using tunable key derivation function | |
| Shoukat et al. | Randomized substitution method for effectively secure block ciphers in IOT environment | |
| CN109190414A (zh) | 一种用于乘法器的全同态混淆方法 | |
| Orucho et al. | Review of algorithms for securing data transmission in mobile banking | |
| Hafsa et al. | A lightweight and robust block cipher algorithm for real-time applications | |
| Mohua | A review on the integration of cryptography and steganography for enhanced information security |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |