CN1702690A - 密码电路 - Google Patents
密码电路 Download PDFInfo
- Publication number
- CN1702690A CN1702690A CNA2005100729169A CN200510072916A CN1702690A CN 1702690 A CN1702690 A CN 1702690A CN A2005100729169 A CNA2005100729169 A CN A2005100729169A CN 200510072916 A CN200510072916 A CN 200510072916A CN 1702690 A CN1702690 A CN 1702690A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- key
- register
- fault
- cryptochannel
- 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
-
- 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
-
- 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/004—Countermeasures against attacks on cryptographic mechanisms for 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/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明的密码电路是密钥密码方式的密码电路,其中输入明码电文和密钥(4A),输入从密钥(4A)获得的R个部分键Kn并对明码电文执行R次重复循环运算,由此将明码电文加密,该电路具有:存储明码电文循环运算后的值的寄存器(4G、4H);根据寄存器(4G、4H)的值判定有无退化故障的故障检查电路(1A);以及在其检查结果存在退化故障的情况下使密钥(4A)无效化的电路(1B)。本发明提供一种密码电路,其能够对应成为退化故障发生的新原因的因素,控制硬件成本,此外具有控制密码处理时间增大的故障利用分析的对策。
Description
技术领域
本发明涉及安装在IC卡或介质卡等卡或信息处理终端装置等(以下称为机密处理装置)内部的、谋求保护记录在该机密处理装置内部的机密信息的电路,特别涉及具有与近年来成为威胁的故障利用分析相对抗的对抗单元的密码电路。
背景技术
近年来,机密处理装置在所谓信用卡或电子货币的金融·流通领域等各业界被广泛利用,为支撑信息化社会而发挥了重要的作用。可是,为避免让有恶意的攻击者将存储在机密处理装置内部的秘密信息泄露到外部,必须利用该设备。
但是,非法取得这些机密处理装置内的秘密情报的方法已经被多次报告,这些方法被称为探索分析、电力分析和时序分析。为此,确立对这些分析方法的对抗单元,就成为在考虑利用机密处理装置时必不可少的课题。
特别是在这些分析手法中被称为故障利用分析的分析方法就成为了问题:在安装在机密处理装置内的实现密码处理的密码电路内,故意地使其发生物理故障,利用无故障状态的密码电路内的信号线的值和发生故障时密码电路内的信号线的值的差,推定作为安装在机密处理装置中的机密信息即密钥(“平成11年度关于智能卡的安全性的调查调查报告书”、[online]、[平成15年10月27日检索]、因特网URL:http:∥www.ipa.go.jp/security/fyll/report/contents/crypto/crypto/report/SmartCard/sc.html参照)。
在该故障利用分析中,有被称为故障非差分攻击和故障差分攻击的两种攻击方法。故障非差分攻击是在实现密码处理的密码电路中,在为了存储密码处理过程的值而运用的寄存器内的触发器内故意使其发生值一直为0(或是1)的0退化故障(1的情况为1退化故障),利用无故障状态电路的值和发生故障时电路的值,可以破译密钥。另一方面,故障差分攻击不是值一直为0或1故障,而是使值暂时固定为0或1的故障在电路内发生,进而使该故障在密码电路的寄存器内的触发器和为进行密码处理而需要的运算的组合电路发生,由此进行分析。
可是,对于故障差分攻击,其攻击必须使暂时的退化故障只在攻击者的意图期间内在密码电路内的触发器和组合电路里发生。此外,对于故障利用分析为了取得密钥信息,需要对50~200个左右的数据作密码处理。
作为对于故障利用分析的以往的对应策略,有将检测热或电压作为故障发生原因的电路,安装在机密处理装置上的密码电路和包含密钥信息的芯片内的方法。这种方法,应用在热或电压作为故障发生原因的密码电路和包含密钥信息的芯片时,由检测电路检测到这些故障发生的原因,停止芯片内部电路的工作,或是禁止其使用。
此外,作为不使用检测电路的方法,有或是如图20所示在密码电路利用相同的两个密码处理,或是如图21所示在密码处理外利用解密处理的方法(参照特开平10-154976号公报)。图20的方法,对于做密码处理的对象即明码电文20A,运用做相同处理的密码处理20C和密码处理20D,通过从明码电文生成密码电文的密钥20B,得到两个密码处理输出即密码电文20E和密码电文20F。并且,这两个密码电文通过比较20G相比较。如果比较结果20H不相同时,因为知道由于故障的影响若干密码电文变成了具有与无故障状态不同的值的密码电文,所以可以判定在实现密码处理20C和密码处理20D的密码电路的某处存在故障。此外,图21的方法,对于做密码处理的对象即明码电文21A,通过从明码电文生成密码电文的密钥21B,进行密码处理21C,得到密码电文21D。而且,对于密码电文21D由密钥21B再次进行解密处理21E,得到明码电文21F。此明码电文21F与密码处理前的明码电文21A通过比较21G相比较,比较结果21H不相同的情况下,因为知道由于故障的影响或是密码处理21C没有被正确执行,或是解密处理21E没有被正确执行,所以可以判定在实现这些处理的电路内某处存在故障。
但是,在使用检测为使退化故障发生而施加的热或电压的电路时,在利用了成为电压或热以外的故障发生原因的新因素的情况下,就有无法检测这些因素的问题。
此外,特开平10-154976号的发明中,如图20所示对相同明码电文用相同的密钥进行加密,为了确认是否输出了相同的密码电文,就必须使用两个密码电路,由此导致的硬件成本增大和在两个密码电路的相同地方发生退化故障的情况下,就有无法对应的问题。
在上述特开平10-154976号的发明中,虽然也存在如图21所示的被加密的密码电文再次由相同的密钥解密,确认是否生成了相同明码电文的方法,但是此时对于相同的明码电文在密码处理后因为解密处理的进行也是必要的,所以就存在密码处理所需时间增大的问题。
发明内容
因此,本发明的目的在于:提供一种密码电路,其能够不依赖于故障发生原因地来进行故障检测,可以实现与使用两个相同的密码电路的情况相比抑制了硬件的增大,或是可以实现抑制因故障检查导致的处理时间的增大。
为此,本发明将通过利用密码电路的信号线的值来判定有无故障的故障检查电路设置在密码电路内部,由此就能够不依赖于故障发生原因地来进行故障检测。此外这些故障检查电路实现了与使用两个相同的密码电路的情况相比抑制了硬件的增大,或是实现了抑制因故障检查导致的处理时间的增大。
为了解决上述问题,本发明将检查电路设置在密码电路内,该检查电路通过利用在密码电路中用于存储密码处理阶段的值的寄存器的值从而进行故障检测。在这里,作为被存储的值考虑是下述这样的循环(round)运算中各循环运算后的值:在通过对明码电文加密或是解密的密钥将明码电文加密成为密码电文的密钥加密方式的密码算法中,输入通过对密钥执行R次部分键运算得到的R个部分键,为给明码电文加密而对明码电文进行R次重复循环运算。设置在密码电路内的故障检查电路,由于运用存储循环运算后的值的寄存器的值进行检查,所以与使用两个密码电路并比较它们的输出的情况相比,以抑制硬件成本的形式使检查成为可能,或是与密码处理后进行解密处理的情况相比较,以抑制密码处理时间的增大的形式使检查成为可能。并且根据从故障检查电路输出的判定结果,当知道存在故障的情况,向使密钥信息无效的电路通知存在故障,使密钥信息无效,或是向控制密码电路工作的电路通知存在故障,停止密码电路的处理,由此防止密钥信息的泄漏。
本发明的密码电路是密钥密码方式的密码电路,其中输入加密对象和密钥,对上述密钥执行R次部分键运算从而取得R个部分键,输入上述R个部分键并对上述加密对象执行R次重复循环运算,由此将上述加密对象加密,该密码电路具备:存储上述加密对象的上述循环运算后的值的寄存器;根据该寄存器的值判定有无退化故障的故障检查电路;以及当输入上述故障检查电路的检查结果并在上述检查结果中存在上述退化故障的情况下使上述密钥无效的电路。
例如,其特征在于具备:寄存器,在密码电路中保持密钥;故障检查电路,使用存储循环运算后的值的寄存器的值,在用于判定有无故障的判定处理期间中判定在存储循环运算后的值的寄存器中是否存在0退化故障或1退化故障;以及一电路,根据故障检查电路输出的检查结果确认了在存储循环运算后的值的寄存器中存在退化故障的情况下,使保持密钥的寄存器的值无效。
本发明的其他密码电路是密钥密码方式的密码电路,其中输入加密对象和密钥,对上述密钥执行R次部分键运算从而取得R个部分键,输入上述R个部分键并对上述加密对象执行R次重复循环运算,由此将上述加密对象加密,上述密码电路具备:存储上述加密对象的上述循环运算后的值的寄存器;根据该寄存器的值判定有无退化故障的故障检查电路;以及当输入上述故障检查电路的检查结果并在上述检查结果中存在上述退化故障的情况下通过控制上述密码电路工作的电路停止上述密码电路处理的电路。
例如,其特征在于具备:寄存器,在密码电路中保持密钥;故障检查电路,使用存储循环运算后的值的寄存器的值,在用于判定有无故障的判定处理期间中判定在存储循环运算后的值的寄存器中是否存在0或1退化故障;以及一电路,根据故障检查电路输出的检查结果确认了在存储循环运算后的值的寄存器中存在退化故障的情况下,通过控制密码电路工作的电路,停止密码电路处理。
上述构成中,故障检查电路根据存储循环运算后的值的寄存器的存储前的值和存储后的值来判定上述寄存器有无退化故障。例如构成了下述这样的故障检查电路:通过运用存储循环运算后的值的寄存器的存储前的值和存储后的值两者,从而使用于判定有无故障的判定处理期间与循环运算并行执行,可以判定是否存在存储循环运算后的值的寄存器的0或1退化故障。
上述构成中,故障检查电路根据对于预先准备好的检查用图形执行的循环运算结束后寄存器的值来判定故障有无。例如构成了下述这样的故障检查电路:通过使用为判定有无故障而预先准备好的检查用图形,从而在用于判定故障有无的判定处理期间,除了存储循环运算后的值的寄存器的0或1退化故障之外,还可以判定对数据进行循环运算的组合电路中有无0或1退化故障。
上述构成中,故障检查电路在对所有数据进行的密码处理中判定有无故障。例如,设置用于在对所有数据进行的密码处理中判定有无故障的判定处理期间,当根据在该期间内执行的故障检查的判定结果知道存在退化故障的情况下使密钥无效,或是停止密码电路的处理,由此来预防故障利用分析。
上述构成中,故障检查电路在对连续的N个数据进行的密码处理中对于M个(M<N)的数据判定有无故障。例如预先设定规定数N,在对连续的N个数据进行的密码处理当中的对于M个(M<N)的数据进行的密码处理中,设置用于判定故障有无的判定处理期间,当根据在该期间内执行的故障检查的判定结果知道存在退化故障的情况下使密钥无效,或停止密码电路的处理,由此来预防故障利用分析。
上述构成中,故障检查电路在R次循环运算开始前和R次循环运算结束后判定有无故障。例如对于实施检查的各个数据,设置用于在密码处理规定的R次循环运算开始前和R次循环运算结束后判定有无故障的判定处理期间,当根据在该期间内执行的故障检查的判定结果知道存在退化故障的情况下使密钥无效,或停止密码电路的处理,由此来预防故障利用分析。
上述构成中,故障检查电路在R次所有循环运算中,判定有无故障。例如,对于实施检查的各个数据,设置用于在密码处理规定的R次所有循环运算当中判定故障有无的判定处理期间,当根据在该期间内执行的故障检查的判定结果知道存在退化故障的情况下使密钥无效,或停止密码电路的处理,由此来预防故障利用分析。
上述构成中,故障检查电路在R次循环运算当中在N(N<R)次上述循环运算中判定有无故障。例如对于实施检查的各个数据设置判定处理期间,在该期间中,在持有规定的循环数R的密码处理下设定标准数N(N<R),在R次循环运算当中,在N次循环运算中判定故障有无,当根据在该期间内执行的故障检查的判定结果知道存在退化故障的情况下使密钥无效,或停止密码电路的处理,由此来预防故障利用分析。
上述构成中,故障检查电路将对检查用图形执行的循环运算的循环运算数执行密码处理规定的上述循环运算数R减少n次的R-n次,根据获得的值判定有无故障。例如对于实施检查的各个数据,在用于判定故障有无的判定处理期间,对用来判定有无故障的检查用图形执行的循环数,执行比密码处理规定的循环数R减少n次的R-n次,在知道存在退化故障的情况下使密钥无效,或停止密码电路的处理,由此来预防故障利用分析。
上述构成中,故障检查电路将对检查用图形执行的循环运算的循环运算数执行密码处理规定的上述循环运算数R增加n次的R+n次,根据获得的值判定有无故障。例如对于实施检查的各个数据,在用于判定有无故障的判定处理期间,对用于判定有无故障的检查用图形执行的循环数,执行比密码处理规定的循环数R增加n次的R+n次,在知道存在退化故障的情况下使密钥无效,或停止密码电路的处理,由此来预防故障利用分析。
根据上述本发明的密码电路,将利用存储循环运算后的值的寄存器的值进行退化故障的检查的检查电路设置在密码电路内部,根据该电路的检查结果使键信息无效,或停止密码电路的处理,由此可以对应利用了成为电压或热以外的故障发生原因的新因素的情况,此外以抑制硬件的增大的形式,或通过与密码处理并行判定有无故障以抑制处理时间的增大的形式,使应对故障利用分析的对策成为可能。
附图说明
图1是表示具有本发明的第1实施方式中故障检测和密钥无效化功能的密码电路的概略的方框图。
图2是表示在本发明中安装了作为对象的密钥密码方式的算法的密码电路的说明图。
图3是表示DES算法的内容的说明图。
图4是表示不进行寄存器的共有而进行DES算法的循环运算的电路的内容的方框图。
图5是表示通过寄存器的共有进行DES算法的循环运算的电路的内容的方框图。
图6是表示通过将寄存器的所有位(bit)设定为1具有故障检测和密钥无效化功能的密码电路内容的方框图。
图7是表示通过串行输出寄存器的值具有故障检测和密钥无效化功能的密码电路内容的方框图。
图8是表示本发明的第2实施方式中密钥无效化电路内容的说明图。
图9是表示本发明的第3实施方式中具有故障检测和密钥无效化功能的密码电路内容的方框图。
图10是表示本发明的第4实施方式中通过运用检查用图形和期待值具有故障检测和密钥无效化功能的密码电路内容的方框图。
图11是表示通过运用寄存器的所有位的值为1的检查用图形具有故障检查和密钥无效化功能的密码电路内容的方框图。
图12是表示通过运用两个寄存器的值相等的检查用图形具有故障检测和密钥无效化功能的密码电路内容的方框图。
图13是表示本发明的第5实施方式中密码电路2A的故障检查的执行期间的说明图。
图14是表示本发明的第6实施方式中密码电路2A的故障检查的执行期间的说明图。
图15是表示本发明的第7实施方式中密码电路2A的故障检查的执行期间的说明图。
图16是表示本发明的第8实施方式中密码电路2A的故障检查的执行期间的说明图。
图17是表示本发明的第9实施方式中密码电路2A的故障检查的执行期间的说明图。
图18是表示本发明的第10实施方式中密码电路2A的故障检查的执行期间的说明图。
图19是表示本发明的第11实施方式中密码电路2A的故障检查的执行期间的说明图。
图20是表示具有两个密码电路的以往方法的概略的说明图。
图21是表示具有密码电路和解密电路的以往方法的概略的说明图。
具体实施方式
图2是表示本发明中作为对象的密钥密码方式算法的图。图2的密码电路2A,输入作为加密对象的明码电文2B和作为用于加密明码电文2B的键即密钥2C,进行用加密算法规定的预定运算,输出密码电文2D。
图3作为用密码电路2A实现的密钥密码方式的算法的一个例子,图示了被称为DES(Data Encryption Standard:数据加密标准)的算法。在图3中与图2相同的构成要素运用了相同的符号,省略其说明。对密钥密码方式的算法DES,在对明码电文2B做初始转置3A后,将数据分割为高32位和低32位,对于各个被分割的数据重复16级循环运算。此外在各循环运算中利用从密钥2C通过部分键运算3B生成的部分键。另外由部分键运算n生成的部分键n以后表示为Kn。并且16级的循环运算结束后,进行最终转置3C,得到了密码电文2D。
图4是算法DES中进行循环运算的电路的图示,根据该图,通过从密钥4A运用部分键运算电路4B生成的部分键Kn,可以从第n-1次的循环运算后的数据Ln-1和Rn-1得到第n次的循环运算后的数据Ln和Rn。在算法DES中,Ln和Rn可以运用以Rn-1、Kn为输入的被称为F函数的函数并用下式得到。
Ln=Rn-1
Rn=Ln-1×OR F(Rn-1、Kn)
在这里,图4电路中的F函数即F(Rn-1、Kn)是作为F函数4C被构成,×OR(“异或”)是由×OR4D构成。此外第n-1次的循环运算后的数据Ln-1存储在寄存器4E,Rn-1存储在寄存器4F,第n次的循环运算后的数据Ln存储在寄存器4G,Rn存储在寄存器4H。但是,如图5所示,存储第n-1次循环运算后的数据Ln-1的寄存器4E、和存储Rn-1的寄存器4F可以作为存储第n次循环运算后数据Ln和Rn的寄存器而共用。关于F函数4C、初始转置3A、部分键运算3B、和最终转置3C的详细情况,因为算法DES本身是已经被公开而为大家所周知的算法,故在这里就不再赘述了。
下面,在本发明的实施方式,说明密码电路2A是改良了算法DES并具有对故障利用分析的对抗单元而安装的。
(实施方式1)
图1是表示具有本发明的第1实施方式中故障检测和密钥无效化功能的循环运算概略的图。图1中对与图2、图3和图4中相同构成要素运用了相同的符号,省略其说明。图1中的电路是在图4所示实现算法DES循环运算的电路基础上,追加了故障检查电路1A和密钥无效化电路1B而构成的,该故障检查电路1A中,在用于判定有无故障的判定处理期间以存储循环运算后的值的寄存器4G、4H的值为输入,并根据它们的值判定有无退化故障;该密钥无效化电路1B中,根据从故障检查电路1A输出的检查结果,在构成寄存器4G、4H的触发器内存在退化故障的情况下,由密钥无效化信号使密码电路内的密钥4A无效。另外图1中,在存储第n次循环运算后数据Ln的寄存器4G、和存储Rn的寄存器4H中检测触发器的退化故障,对于这种情况下在故障检查电路1A的输入中输出寄存器4G的值和寄存器4H的值。并且,在知道寄存器4G和寄存器4H中存在退化故障的情况下,使密钥4A无效化。作为无效化的一个例子,有将存储密钥4A的寄存器的值重置的方法。此外,只要构成这样的电路即可:当对寄存器4G和寄存器4H以外的寄存器中调查是否存在退化故障时,输入这些寄存器的值到故障检查电路1A,运用该值进行故障检查。此外如图5所示,与将存储第n-1次循环运算后的数据Ln-1的寄存器4E和存储Rn-1的寄存器4F作为存储第n次循环运算后数据Ln和Rn的寄存器共用的情况相同,只要构成为能够有运用共用的寄存器4E和寄存器4F的值做故障检查并使密钥4A无效即可。
图1中的进行循环运算的电路可以如图6那样构成。在该电路,在向寄存器4G和寄存器4H的输入中插入选择器6A,可以选择或是存储循环运算后的值Ln和Rn到寄存器4G和寄存器4H,或是设定检查用的输入。此外,寄存器4G和寄存器4H的输出与所有位的AND6B连接,进而使所有位的AND6B的输出连接密钥无效化电路1B上。对此电路,在检测出寄存器4G和寄存器4H的值固定为0的故障即0退化故障时,在判定有无故障的判定期间内运用选择器6A,设定寄存器4G和寄存器4H的所有位为1。在这样的设定中,在寄存器4G和寄存器4H不存在0退化故障时,虽然所有位的AND6B的输出成为1,但是在某些发器中存在0退化故障时,就通过该触发器的值使输出变为0。因此,与所有位的AND6B的输出相连接的密钥无效化电路1B,可以在遵循此输入在存在退化故障的情况下使密钥无效。在检测出寄存器4G和寄存器4H的值固定为1的1退化故障时,运用选择器6A设定寄存器4G和寄存器4H的所有位为0,只要使用所有位的0R代替所有位的AND6B即可。这种情况下,虽然如果寄存器4G和寄存器4H不存在1退化故障,所有位的0R输出为0,但是在某位存在1退化故障的情况下就变为1。因此通过使用该输出,可以与0退化故障情况相同地使密钥无效。此外,在检测出存储Ln的寄存器4G和存储Rn的寄存器4H以外的寄存器中存在退化故障时,将与选择器6A相同的选择器设置成其输入,这些寄存器的所有位可能设定为1或是0,进而通过将寄存器的值连接到所有位的AND或是所有位的0R上,从而可以检测出退化故障并使密钥无效。
此外图1中的进行循环运算的电路,如图7所示,可以通过运用由移位动作可串行输出寄存器4G的值的寄存器7A,可复制寄存器4G的值的寄存器7B以及比较电路7C来检测故障。如果存储Ln的寄存器4G中存在退化故障,比方说设想1退化故障,从寄存器4G串行输出的数据从某位以后全部被固定为1。此时因为寄存器7A和寄存器7B的值不同,故可以通过比较电路7C进行比较,检测出故障。在寄存器4G中存在0退化故障时也是同样的。此外,当寄存器4G以外的寄存器作为检查对象的时候也是通过运用使值串行输出的寄存器和复制值的寄存器,同样地可以检测出故障。
综上所述,通过利用存储循环运算后的值的寄存器的值,也可以对应利用了成为电压或热以外的故障发生原因的新因素的情况。此外,与使用两个密码电路的情况相比以抑制硬件量的形式,可以检测出故障。
(实施方式2)
图8是表示第2实施方式的密钥无效化电路的构成图。第1实施方式中在密码电路中使用的密钥无效化电路1B如图1、图6和图7所示输出密钥无效化信号使密钥4A无效化,而第2实施方式的密码电路中,以如图8(b)所示输出密码电路停止信号替代了如图8(a)所示输出密钥无效化信号,在存在故障时通知控制密码电路工作的电路存在故障,停止密码电路工作。
(实施方式3)
图9是表示本发明第3实施方式具有故障检测和密钥无效化功能的循环运算内容的图。图9中,对于与图1、图2、图3和图4相同的构成要素运用了相同的符号,省略其说明。此电路中使用了两个算出汉明权(Hamming weight)的汉明权算出电路9A,各自相应地向Rn的寄存器4H输入设定前的值、向寄存器4H输入设定后的值。在这里汉明权是表示当用二进制数表示某值时,在二进制数中成为1的位的个数。并且,两个汉明权算出电路9A的输出通过比较电路9B作比较,其输出输入到密钥无效化电路1B,由此进行密钥4A的无效化。另外此电路中,以存在于存储第n次循环运算后的数据Rn的寄存器4H中的退化故障为检查对象。
使用这样的电路结构时,如果寄存器4H中的某位存在0或是1退化故障,则因为该故障的影响有时设定在寄存器的值的汉明权在向寄存器4H设定前后发生变化。例如,存在引起0退化故障的位并且想将该位为设定为1的情况下,在向寄存器4H的设定前和设定后,由于该位的0退化故障的影响,汉明权将减少1。因此,通过用比较电路9B比较向Rn的寄存器4H设定前后的汉明权,可以判定退化故障的有无。但是,在存在引起0退化故障的位并且想将该位设定为0的情况下,在向寄存器4H的设定前后汉明权不发生变化,所以会看漏了故障。但是,虽然这种情况下的看漏概率是1/2,但是因为为了做故障利用分析就必须对50~200的数据做运算,所以可以认为对于全部的数据看漏故障的概率是比较低的。
使用以上结构的情况下,因为向寄存器4H的设定前的汉明权和设定后的汉明权不停止循环运算就可以计算出来,所以可以一边做循环运算一边做故障检查。此外检查存储Rn的寄存器4H以外的寄存器的退化故障的情况也是同样的,只要构成电路以便在向这些寄存器的设定前后算出汉明权即可。
还有,对于图9的电路,替代从密钥无效化电路1B输出密钥无效化信号使密钥4A无效,而用从密钥无效化电路1B输出密码电路停止信号,在存在故障的情况下通知控制密码电路工作的电路存在故障,可以通过停止密码电路的工作来防止密钥泄漏。
如上所述,存储循环运算后的值的寄存器中,除了向寄存器的设定后的值以外,还可以通过利用向寄存器的设定前的值,使在循环运算执行过程中可检测退化故障,并可以以抑制密码处理时间增大的形式作为对应故障利用分析的对策。
(实施方式4)
图10是表示第4实施方式中具有故障检测和密钥无效化功能的循环运算内容的图。图10中,对于与图1、图2、图3和图4相同的构成要素运用了相同的符号,省略其说明。此电路中在存储循环运算开始前的值L0和R0的寄存器10C和寄存器10D中,准备选择器10B选择或是存储循环运算开始前的数据或是设定在内存10A中存储的检查用图形,此外用于存储所有的循环运算结束后的值L16和R16的寄存器10E和寄存器10F的值,与存储在内存10G的期待值通过比较电路10H进行比较。并且通过这种结构,在为判定有无故障的判定处理期间内,运用选择器10B将存储在内存10A的检查用图形设定在存储循环运算开始前的值L0和R0的寄存器10C和寄存器10D中,设定后与对通常的明码电文的循环运算同样的,对检查用图形执行循环运算。所有的循环运算结束后,运用比较电路10H比较存储在寄存器10E和寄存器10F的值和预先存储在内存10G的期待值。如果存储循环运算后的值的寄存器和做循环运算的组合电路中存在退化故障的情况下,有时由于该故障的影响,存储在寄存器10E和寄存器10F的值与期待值不相同。因此,通过将比较电路10H的输出连接到密钥无效化电路1B上,可以输出密钥无效化信号。另外,用此方法做循环运算时使用的部分键Ki,不是从密钥4A生成的,而可以为检查用使用预先准备的数据。
此外对该方法,如图11所示如果预先做好全部循环运算结束后的数据的值全部变为1的检查用图形,则期待值不是如图10那样的存储在内存10G中,而是通过对所有的循环运算结束后的值运用所有位的AND11A从而可以检测退化故障。此时,寄存器和组合电路中不存在退化故障时,寄存器10E和寄存器10F的值都变为1,但是存在故障时,寄存器10E或是2存器10F的某些位就不为1。
进而,如图12所示如果预先做好使存储所有循环运算结束后的值的寄存器10E和寄存器10F的值相同的检查用图形,则期待值不是如图10那样的存储在内存10G,而是通过比较电路12A比较所有循环运算结束后的寄存器10E和寄存器10F的值,可以检测退化故障。
另外,对于图10、图11和图12的电路,替代从密钥无效化电路1B输出密钥无效化信号使密钥4A无效,而用从密钥无效化电路1B输出密码电路停止信号,在存在故障的情况下通知控制密码电路工作的电路存在故障,可以通过停止密码电路的工作来防止密钥泄漏。
如上所述,预先准备好故障检查用图形,通过对此图形实施循环运算,除了在存储循环运算后的值的寄存器中存在退化故障以外,还同时可以检测出进行循环运算的组合电路的退化故障。
(实施方式5)
图13是表示本发明的第5实施方式中密码电路2A的故障检查的执行期间的图。本发明的第1实施方式到第4实施方式的任意一种中,实现算法DES且具有对故障利用解析的对抗单元的密码电路2A,在通过密钥2C将明码电文2B加密得到密码电文2D的密码处理13A执行的时候,如图13所示在对于所有明码电文2B的密码处理13A中设置用于判定故障有无的判定处理期间,执行故障检查。并且,输出对应于各自检查的检查结果13B,在判明存在故障时,使密钥无效,或停止密码电路的处理。如图13所示,在所有的数据的密码处理中,通过实施故障检查,可以提高故障检测频率并防止密钥的泄漏。
(实施方式6)
图14是表示本发明的第6实施方式中密码电路2A的故障检查的执行期间的图。本发明的第1实施方式到第4实施方式的任意一种中,实现算法DES且具有对故障利用解析的对抗单元的密码电路2A,在通过密钥2C将明码电文2B加密得到密码电文2D的密码处理执行的时候,预先确定规定的数据数N,在对连续的N个数据中的M个(M<N)数据的密码处理中,设置用于判定有无故障的判定处理期间,执行故障检查。进行检查的数据的个数M在M<N的范围内可以设定为任意的数。例如在连续的N个数据中M=2时,如图14所示,对第i个和第j个数据进行伴随着故障检查的密码处理14B,而对于其他的数据进行不伴随故障检查处理的密码处理14A。在此,i和j在满足i≠j且1≤i≤N,1≤j≤N的范围内可以设定为任意的数。当是M=2以外时也是同样。此外,规定的数据数N也可以设定为任意的数。并且,在伴随着故障检查的密码处理14B中,输出检查结果14C,当判明存在故障时,使密钥无效化,或是停止密码电路的处理。如此设定规定数N,在连续的N个数据中对M个数据的密码处理中,通过实施故障检查,与在所有的数据密码处理中实施的故障检查相比较,可以抑制故障检查花费的时间并防止密钥的泄漏。
(实施方式7)
图15是表示本发明的第7实施方式中密码电路2A的故障检查的执行期间的图。本发明的第1实施方式到第3实施方式以及第5实施方式到第6实施方式的任意一种中,实现算法DES且具有对故障利用解析的对抗单元的密码电路2A,在使用密钥2C从明码电文2B生成密码电文2D时,设置用于在密码处理规定的R次循环运算开始前和所有的循环运算结束后判定故障有无的判定处理期间,执行故障检查15A。并且,在各自的故障检查15A中输出检查结果15B,在判明存在故障时,使密钥无效化,或是停止密码电路的处理。此外,故障检查15A可以只在循环运算开始前执行,或是只在循环运算结束后执行。如此通过只在循环运算执行前后施故障检查,可以抑制故障检查花费的时间并防止密钥的泄漏。
(实施方式8)
图16是表示本发明的第8实施方式中密码电路2A的故障检查的执行期间的图。本发明的第1实施方式到第3实施方式以及第5实施方式到第6实施方式的任意一种中,实现算法DES且具有对故障利用解析的对抗单元的密码电路2A,在使用密钥2C从明码电文2B生成密码电文2D时,设置用于在密码处理规定的R次所有循环运算中判定有无故障的判定处理期间,执行故障检查16A。并且,在各自的故障检查16A中输出检查结果16B,在判明存在故障时,使密钥无效化,或是停止密码电路的处理。如此通过在所有的循环运算中实施故障检查16A,可以提高故障检测频率并防止密钥的泄漏。
(实施方式9)
图17是表示本发明的第9实施方式中密码电路2A的故障检查的执行期间的图。本发明的第1实施方式到第3实施方式以及第5实施方式到第6实施方式的任意一种中,实现算法DES且具有对故障利用解析的对抗单元的密码电路2A,在使用密钥2C从明码电文2B生成密码电文2D时,设置用于预先设定规定的循环数N并在16次循环运算的N次循环运算中判定有无故障的判定处理期间,执行故障检查17A。并且,在各自的故障检查17A中输出检查结果17B,在判明存在故障时,使密钥无效化,或是停止密码电路的处理。其中,作为故障检查执行次数N可以设定为任意的数,进而可以任意选择在哪个循环运算执行N次故障检查。这样通过在规定的N次循环运算中实施密码处理17A,可以选择是抑制故障检查花费的时间还是提高可检测故障的频率从而防止密钥的泄漏。
(实施方式10)
图18是表示本发明的第10实施方式中密码电路2A的故障检查的执行期间的图。本发明的第4实施方式到第6实施方式的任意一种中,实现算法DES且具有对故障利用解析的对抗单元的密码电路2A,在用于判定有无故障的判定处理期间中,对为故障有无判定用的检查用图形18A,通过密钥2C执行比算法DES规定的16循环少n次(1≤n≤15)的16-n次循环运算。并且,16-n次循环运算执行后,得到的输出18B与预先准备好的期待值18C通过比较18D相比较,得到检查结果18E。通过检查结果18E,在判明存在故障时,使密钥无效化,或是停止密码电路的处理。在这样的故障检查中,通过进行比算法DES规定的循环数少n次的次循环运算,可以抑制故障检查花费的时间。
(实施方式11)
图19是表示本发明的第11实施方式中密码电路2A的故障检查的执行期间的图。本发明的第4实施方式到第6实施方式的任意一种中,实现算法DES且具有对故障利用解析的对抗单元的密码电路2A,在用于判定有无故障的判定处理期间,对为故障有无判定用的检查用图形19A,通过密钥2C执行比算法DES规定的16循环多n次(n≥1)的16+n次循环运算。并且,16+n次循环运算执行后,得到的输出19B与预先准备好的期待值19C通过比较19D相比较,得到检查结果19E。通过检查结果19E,在判明存在故障时,使密钥无效化,或是停止密码电路的处理。在这样的故障检查中,通过进行比算法DES规定的循环数多n次的次循环运算,可以提高发现故障的可能性。
本发明在电路内部具有对故障利用分析的对抗单元,对于机密处理装置的实现是有效的。通过该电路,与设置检测热或电压为故障发生原因的电路的方法相比,有可以对应利用了成为电压或热以外的故障发生原因的新因素的情况的优点,此外通过使用存储循环运算后的值的寄存器的值,与有两个密码电路的情况相比有可以抑制所需的硬件成本的优点,或是抑制了处理时间增大的优点。因此,作为具有对故障利用分析的对抗单元的密码电路是非常有用的。
Claims (11)
1.一种密码电路,是密钥密码方式的密码电路,其中输入加密对象和密钥,对上述密钥执行R次部分键运算从而取得R个部分键,输入上述R个部分键并对上述加密对象执行R次重复循环运算,由此将上述加密对象加密,其特征在于:
具备:存储上述加密对象的上述循环运算后的值的寄存器;根据该寄存器的值判定有无退化故障的故障检查电路;以及当输入上述故障检查电路的检查结果并在上述检查结果中存在上述退化故障的情况下使上述密钥无效的电路。
2.一种密码电路,是密钥密码方式的密码电路,其中输入加密对象和密钥,对上述密钥执行R次部分键运算从而取得R个部分键,输入上述R个部分键并对上述加密对象执行R次重复循环运算,由此将上述加密对象加密,其特征在于:
具备:存储上述加密对象的上述循环运算后的值的寄存器;根据该寄存器的值判定有无退化故障的故障检查电路;以及当输入上述故障检查电路的检查结果并在上述检查结果中存在上述退化故障的情况下通过控制上述密码电路工作的电路来停止上述密码电路的处理的电路。
3.权利要求1或2记载的密码电路,其特征在于:
故障检查电路根据存储循环运算后的值的寄存器的存储前的值和存储后的值来判定上述寄存器有无退化故障。
4.权利要求1或2记载的密码电路,其特征在于:
故障检查电路根据对于预先准备好的检查用图形执行的循环运算结束后寄存器的值来判定有无故障。
5.权利要求1或2记载的密码电路,其特征在于:
故障检查电路在对所有数据进行的密码处理中判定有无故障。
6.权利要求1或2记载的密码电路,其特征在于:
故障检查电路在对连续的N个数据进行的密码处理中对于M个数据判定有无故障,其中M<N。
7.权利要求1或2记载的密码电路,其特征在于:
故障检查电路在R次循环运算开始前和R次循环运算结束后判定有无故障。
8.权利要求1或2记载的密码电路,其特征在于:
故障检查电路在R次所有循环运算中判定有无故障。
9.权利要求1或2记载的密码电路,其特征在于:
故障检查电路在R次循环运算中的N次上述循环运算中判定有无故障,其中N<R。
10.权利要求4记载的密码电路,其特征在于:
故障检查电路将对检查用图形执行的循环运算的循环运算数执行比密码处理规定的上述循环运算数R减少n次的R-n次,根据获得的值判定有无故障。
11.权利要求4记载的密码电路,其特征在于:
故障检查电路将对检查用图形执行的循环运算的循环运算数执行密码处理规定的上述循环运算数R增加n次的R+n次,根据获得的值判定有无故障。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP152852/04 | 2004-05-24 | ||
JP2004152852A JP2005340892A (ja) | 2004-05-24 | 2004-05-24 | 暗号回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1702690A true CN1702690A (zh) | 2005-11-30 |
Family
ID=35448945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005100729169A Pending CN1702690A (zh) | 2004-05-24 | 2005-05-24 | 密码电路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20050271201A1 (zh) |
JP (1) | JP2005340892A (zh) |
CN (1) | CN1702690A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156614A (zh) * | 2015-03-25 | 2016-11-23 | 北京南瑞智芯微电子科技有限公司 | 一种抵抗故障攻击的防护方法和装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070019805A1 (en) * | 2005-06-28 | 2007-01-25 | Trustees Of Boston University | System employing systematic robust error detection coding to protect system element against errors with unknown probability distributions |
JP4990843B2 (ja) * | 2008-06-16 | 2012-08-01 | 日本電信電話株式会社 | 暗号演算装置、その方法、及びプログラム |
JP5261088B2 (ja) * | 2008-09-09 | 2013-08-14 | 富士通株式会社 | 不正操作検知回路、不正操作検知回路を備えた装置、及び不正操作検知方法 |
JP5433498B2 (ja) * | 2010-05-27 | 2014-03-05 | 株式会社東芝 | 暗号処理装置 |
JP2012060615A (ja) * | 2010-09-13 | 2012-03-22 | Toshiba Corp | 携帯可能電子装置、及び携帯可能電子装置の制御方法 |
JP5637446B2 (ja) * | 2010-12-10 | 2014-12-10 | 日本電信電話株式会社 | 回路故障検出装置、回路故障検出方法 |
US10157282B2 (en) * | 2013-12-16 | 2018-12-18 | International Business Machines Corporation | Multiband encryption engine and a self testing method thereof |
SE1950814A1 (en) * | 2019-06-28 | 2020-12-29 | Assa Abloy Ab | Cryptographic signing of a data item |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002519722A (ja) * | 1998-06-03 | 2002-07-02 | クリプターグラフィー リサーチ インコーポレイテッド | スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス |
US6985581B1 (en) * | 1999-05-06 | 2006-01-10 | Intel Corporation | Method and apparatus to verify circuit operating conditions |
JP3505482B2 (ja) * | 2000-07-12 | 2004-03-08 | 株式会社東芝 | 暗号化装置、復号装置及び拡大鍵生成装置、拡大鍵生成方法並びに記録媒体 |
US7412053B1 (en) * | 2002-10-10 | 2008-08-12 | Silicon Image, Inc. | Cryptographic device with stored key data and method for using stored key data to perform an authentication exchange or self test |
US7321910B2 (en) * | 2003-04-18 | 2008-01-22 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US8094811B2 (en) * | 2005-03-31 | 2012-01-10 | Panasonic Corporation | Data encryption device and data encryption method |
-
2004
- 2004-05-24 JP JP2004152852A patent/JP2005340892A/ja not_active Withdrawn
-
2005
- 2005-05-20 US US11/133,289 patent/US20050271201A1/en not_active Abandoned
- 2005-05-24 CN CNA2005100729169A patent/CN1702690A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156614A (zh) * | 2015-03-25 | 2016-11-23 | 北京南瑞智芯微电子科技有限公司 | 一种抵抗故障攻击的防护方法和装置 |
CN106156614B (zh) * | 2015-03-25 | 2018-12-28 | 北京南瑞智芯微电子科技有限公司 | 一种抵抗故障攻击的防护方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2005340892A (ja) | 2005-12-08 |
US20050271201A1 (en) | 2005-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1702690A (zh) | 密码电路 | |
US9515820B2 (en) | Protection against side channels | |
CN1648967A (zh) | 加密装置、加密方法及其存储介质 | |
US20060271795A1 (en) | Method to prevent power dissipation attacks on a cryptographic algorithm by implementing a random transformation step | |
CN1589424A (zh) | 更少信息泄露的设备与方法 | |
CN105706066A (zh) | 存储器完整性 | |
US20160124716A1 (en) | Deriving Entropy From Multiple Sources Having Different Trust Levels | |
US20150312039A1 (en) | Behavioral fingerprint in a white-box implementation | |
CN1677383A (zh) | 加密芯片、利用该加密芯片的cpu程序加密方法和系统 | |
GB2345229A (en) | Encryption system resists differential power analysis attacks | |
CN109462477B (zh) | 基于物联网嵌入式设备的白盒加密方法 | |
CN108494546A (zh) | 一种白盒加密方法、装置及存储介质 | |
CN1193538C (zh) | 电子密码形成与核验方法 | |
CN1753357A (zh) | 应用于des加密芯片的差分功耗分析屏蔽电路 | |
US9053480B1 (en) | Secure validation using hardware security modules | |
US7779272B2 (en) | Hardware cryptographic engine and encryption method | |
Azza et al. | Multi-secret image sharing based on elementary cellular automata with steganography | |
Asif et al. | A novel image encryption technique based on mobius transformation | |
Awotunde et al. | Evaluation of four encryption algorithms for viability, reliability and performance estimation | |
Huang et al. | Cryptanalysis and security enhancement for a chaos-based color image encryption algorithm | |
CN1682484A (zh) | 受保护的密码计算 | |
Khan et al. | A novel combination of information hiding and confidentiality scheme | |
CN1630999A (zh) | 在使用密钥密码学算法的电子元件中的防范方法 | |
Babenko et al. | Differential analysis of GOST encryption algorithm | |
EP2940917B1 (en) | Behavioral fingerprint in a white-box implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20051130 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |