CN102405615B - 防御观测攻击、特别是高阶观测攻击的加密电路 - Google Patents

防御观测攻击、特别是高阶观测攻击的加密电路 Download PDF

Info

Publication number
CN102405615B
CN102405615B CN201080004965.8A CN201080004965A CN102405615B CN 102405615 B CN102405615 B CN 102405615B CN 201080004965 A CN201080004965 A CN 201080004965A CN 102405615 B CN102405615 B CN 102405615B
Authority
CN
China
Prior art keywords
mask
box
circuit
sub
variable
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.)
Active
Application number
CN201080004965.8A
Other languages
English (en)
Other versions
CN102405615A (zh
Inventor
J-L·丹杰
S·吉耶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Secure IC SAS
Original Assignee
Telecom ParisTech
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Telecom ParisTech filed Critical Telecom ParisTech
Publication of CN102405615A publication Critical patent/CN102405615A/zh
Application granted granted Critical
Publication of CN102405615B publication Critical patent/CN102405615B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details 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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种防御观测攻击的加密电路。该加密电路包括提供被掩码m屏蔽的变量x的至少一个寄存器R(22),所述被屏蔽的变量被第一替换盒S(1)周期性地加密。所述电路还包括寄存器掩码M(23),所述寄存器掩码M(23)在每个周期中提供掩码m,m的变换,所述掩码m取自被第二替换盒S′(21)加密前的m,在所述盒S′(21)的输出端获得的新掩码m′在被存储到掩码寄存器M(23)之前被变换为掩码m′。转换包括能够根据寄存器R和M的活动模型来降低或消除任何高阶攻击的双向单射或合成律。本发明特别可以用于保护加密电路免受对基于屏蔽的设备的高阶观测攻击。

Description

防御观测攻击、特别是高阶观测攻击的加密电路
技术领域
本发明涉及一种防御观测攻击的加密电路。其特别用于保护加密电路免受对基于屏蔽(masking)的设备的高阶观测攻击(observationattack)。
背景技术
加密的目的主要在于保护:
-通过加密和对偶操作(dual operation)——解密来保护信息项的机密性;
-或者通过签名和验证的操作、通过签名和签名验证的操作来保护信息项的真实性。
加密使用已被证明导致安全系统的数学方法。例如,当证明现有的公知知识中不存在任何明显快于与尝试所有可能的密匙相对应的穷举攻击的攻击方法时,认为加密是安全的。
通常,加密方法涉及系统的安全所必须的复杂计算。这种复杂度不会对计算机造成任何特别的问题,但是在通常由低成本的“8位”微处理器驱动的不具有高计算能力的设备的情况下,则会成为严重的缺点。可能出现几种后果,例如:
-妨碍正常使用,典型的例子是银行卡会花费几分钟来签单;
-拒绝服务,典型的例子是按次计费的电视解码器不能跟踪所传输的信息吞吐量。
为了缓解这种困难,而不提高系统的价格,惯用的做法是,以专用于加密的协处理器的形式,增加一种用于辅助所使用的设备的中央单元的系统。
但是,无论是通过中央单元实现还是通过专用的协处理器实现,加密算法都是通过物理设备来实现的,目前是电子型的物理设备。这些物理设备呈现出与电学基本定律的固有特性有关的不可避免的缺陷。
因此,利用实施该算法的物理系统的固有缺陷,可以攻击从数学观点看来是安全的加密系统,因此:
-运算的持续时间可取决于数据的值,特别是对于速度优化软件系统,这会引发“定时攻击”型攻击,P.Kocher等人的文献TimingAttack on Implementation of Diffie-Hellman,RSA,DSS and other systemsIn Proceedings of CRYPTO′96,volume 1109 of LNCS,pages 104-113,Springer-Verlag,1996中对此有特别描述,在某些情况下,这些攻击基于简单的执行时间测试就可以重获所有的秘密密钥;
-瞬时消耗也可能取决于数据,这会引发一系列攻击,例如:
-SPA(Simple Power Analysis,简单功率分析)攻击,Thomas S.Messerges等人的文献Investigations of Power Analysis Attacks onSmartcards,In USENIX-Smartcard′99,pages 151-162,May 10-11,1999,Chicago USA中对此有特别描述,这种攻击试图基于测量在加密操作期间测量到的中央单元的电耗来区分中央单元所执行的操作;
-DPA(Differential Power Analysis,差分功率分析),S.Guilley等人的文献Differential Power Analysis Model and some Results,InProceedings of WCC/CARDIS,pages 127-142,Aug 2004,Toulouse,France中对此有特别描述,这种攻击对在针对随机消息和使用固定密匙的加密操作期间所执行的许多的电耗测量使用统计操作,以便验证对密钥的有限部分所作的假设的有效或无效。
-导体中流动的任何电流产生电磁场,这种电磁场的测量会引发EMA(ElectroMagnetic Attack,电磁攻击)型攻击,其原理与关于电耗的攻击相同;
-某些攻击会故意干扰系统的操作,以便利用错误的结果来重获系统的秘密,这些攻击被称为故障注入攻击(fault injection attack)。
实现加密算法并且容易泄露与设备的存储器中所保存的秘密有关的信息的物理设备的任何缺陷被称为隐藏通道(hidden channel)。
主要基于以下两点,提出了对这些针对隐藏通道的攻击的防御:
-隐藏,其包括使泄露为恒定的,在这种情况下不依赖于秘密;
-屏蔽,其包括使泄露为随机的,不可预测的,进而为不可利用的。
这两种技术可以提高目的在于重获信息的攻击的难度,但是对于那些利用实现缺陷的攻击而言,它们仍然是脆弱的。存在许多潜在的或已被证实的弱点的例子,例如:
-对于针对计算阶段、估值阶段和预充电阶段中的一个或另一个之间的累积组合延迟的差异的攻击而言,基于差分逻辑(例如WDDL)的隐藏可能是脆弱的;
-可能对被称为HO-DPA的高阶攻击敏感的屏蔽。
发明内容
本发明的目的主要在于能够有效地防御高阶观测攻击。为此目的,本发明的主题是一种加密电路,包括提供被掩码变量m屏蔽的变量x的至少一个寄存器R,其特征在于,所述被屏蔽的变量被第一替换盒S以周期性的方式加密,所述电路包括在每个周期中提供变换掩码mt的掩码寄存器M,所述变换掩码mt等于通过修改函数变换的掩码m,该掩码m被第二替换盒S′加密,在该盒S′的输出端获得的新掩码m′被用来屏蔽所述变量。
例如,在所述第二替换盒S′的输出端经过相反的修改之后,新的变换掩码m′t被引入所述掩码寄存器M。
在第一种可能的实施方式中,所述修改可为双向单射B,从而所述变换掩码mt被存储在寄存器M中,应用到所述替换盒的掩码m等于B(mt),将要存储到所述寄存器中的新的值为B-1(m′),m′为所述第二替换盒S′(21)的输出。
所述双向单射B例如使得所述掩码m的汉明重量与其在所述双向单射下的像B(m)的汉明重量不总相同。
在第二种可能的实施方式中,所述掩码m的修改可以通过分解成两个子掩码m1和m2以使m=m1θm2来执行,其中θ为群合成律(groupcomposition law),第一子掩码m1被存储到第一掩码寄存器M1中,第二子掩码m2被存储到第二掩码寄存器M2中,将要存储到所述寄存器M1中的新的值为m′1=m′θ-1m′2,将要存储的新的值为m′2,m′为所述第二替换盒S′输出的掩码的值。
所述合成律例如为XOR“异或”运算、加法运算、乘法运算或者是s=a*b+(a+b)/2型运算,其中*为乘法,+为加法。
所述合成从一个周期到另一个周期的两个连续子掩码m2之间具有例如非零的汉明距离Δm2
所述子掩码m1,m2的位数为偶数,群合成律(α)可以基于子掩码m1,m2来获得掩码m,例如满足:
-每个2位群组Δm2=1;
-如果m2MSB=1,则 或者如果m2MSB=0,则m=m1m2MSB,m2LSB分别为子掩码m2的高阶位和低阶位。
所述电路例如包括随机值生成器,所述生成器提供所述第二子掩码m′2的值。
来自于所述第一掩码寄存器M1的该子掩码m1在周期结束时可以被保存在所述第二掩码寄存器M2中,所述第一寄存器M1则接收新掩码m′1,以便重建新的完整掩码m′=m′1θm′2
加密算法为DES型的,数据x、m的路径被分成左右两部分,除了左掩码寄存器ML和右掩码寄存器MR以外,所述电路还包括例如第三个掩码寄存器M,所述寄存器MR存放右子掩码mr1,所述寄存器ML存放左子掩码ml2,所述寄存器M存放等于子掩码ml1的子掩码mr2,右掩码mr和左掩码mi的有效值为:
-mr=mr1θmr2
-ml=ml1θml2
所述第二替换盒S′例如包括与所述第一替换盒S相同的两个盒和两个XOR门,所述两个盒的输出连接到通过输出来提供新掩码m′的XOR门,被屏蔽的变量 进入盒,通过另一个输入来接收掩码m的另一个XOR门的输出进入另一个盒。
ROM存储器执行例如所述XOR门的逻辑和所述盒的替换。
附图说明
通过接下来结合附图进行的描述,本发明的其他特点和优点将得以显现,附图表示:
-图1a和图1b显示了替换盒(substitution box)的屏蔽的原理;
-图2显示了替换盒那一级的屏蔽;
-图3对于寄存器的变量x的两个连续的字之间的汉明距离(Hamming distance)的各个值呈现了寄存器的输出处的活动(activity)分布的示例;
-图4显示了根据本发明的电路中的掩码路径的可能修改的第一种模式;
-图5表示与上述模式相对应的活动分布;
-图6显示了根据本发明的电路中的掩码路径的第二种可能的实施例;
-图7表示与上述模式相对应的活动分布;
-图8是具有不使用随机值生成器的掩码分解的修改的示例;
-图9是在使用DES算法的情况下,根据本发明的屏蔽的示意性实现;
-图10是根据本发明的电路中所使用的群合成律的示意性实现;
-图11a、图11b和图11c是根据本发明的电路中所使用的第二替换盒的示意性实施例。
具体实施方式
图1a和图1b显示了通常被称为“S盒”的替换盒1的屏蔽的原理,其中替换盒1具有恒定的掩码m。S盒是应用于消息的非线性函数,其目的主要在于使消息在S盒输出时是有熵的(entropic)。
在图1a中,在S盒1的输入端将数据项(datum)x与加密密匙(cryptography key)k组合。在该示例中,通过“异或”逻辑运算来组合数据项和密匙,其中“异或”逻辑运算也叫做xor,在下文中用 来表示。在图1a的情况下,例如n位编码的消息 因此被输入到S盒。相应的输出消息为
图1b显示了具有恒定掩码m的S盒的屏蔽。屏蔽技术依靠掩码m对依赖于秘密的敏感内部变量的干扰。在图1a和图1b的示例中,x为这样的变量。假设攻击者无法预测m,则在针对x的直接攻击的框架内,泄漏是不可利用的。变量x不再如此地存在,但是可以通过信号对(m,xm)重建,其中xm=xθm为要被屏蔽的变量,θ为群算子(groupoperator),其特别可以为逻辑的或算术的。在图1b的示例中,屏蔽使用xor函数,即
这种类型的屏蔽特别适合于防御在二进制域中执行线性运算的DES(数据加密标准)和AES(高级加密标准)算法。可以对通常为位、字、加密函数的向量的内部变量应用掩码。字级的屏蔽使其既可以应用于软件实现,又可以应用于硬件实现。当使用屏蔽变量的函数f作为群运算律(group law)的函数是线性的,即f(xθm)=f(x)θf(m)时,屏蔽的实现是简单的。
可以基于f(xθm)和m来重建f(x)的值。因此,正好在算法结束时提取出f(x),以避免源于变量x的信息泄漏。xθm和m的计算与x不相关,不存在秘密的直接泄漏。
如果函数f是非线性的,由于无法基于f(xθm)和f(m)在数学上重现f(x),屏蔽机制变得更加复杂。在对称加密算法中,非线性部分对应于替换盒或S盒,因此对应于例如图1a和图1b的S盒1。常见的软件技术使用产生S盒的非线性函数的ROM存储器,用Sm表示该函数,因此:
S m ( x ⊕ m ) = S ( x ) ⊕ m
S为屏蔽之前的S盒的函数。
因此,存储器的大小从S时的2n变成Sm时的22n,n为掩码的位数。图1a和图1b显示了这种变化。
使用在时钟周期中执行加密算法的迭代的硬件设备时,这种实现是不安全的。在这种情况下,寄存器那一级的传输将数据自动解除屏蔽(demask)。实际上,例如考虑算子 可以通过下面的关系式来描述传输:
x ⊕ m ⊕ S ( x ) ⊕ m = x ⊕ S ( x )
该关系式中的项 是输入到S盒Sm的初始值,项 为从S盒输出的最终值,这两项之间的算子 表示转换(transition)。上述关系式实际上显示出转换的结果 不依赖于掩码m。
屏蔽所提供的效果被证明可以抵抗只考虑内部变量x的一阶攻击,特别如J.Blomer等人的文献Provably Secure Masking of AES,In LNCS,editor,Proceedings of SAC′04,volume 3357,pages 69-83,Springer,August 2004,Waterloo,Canada所示。但是,源自屏蔽电路的信息泄漏可能受到二阶攻击,或者是实际上更高阶的攻击。
二阶攻击考虑两个变量x1和x2。例如,如果x1和x2被相同的掩码屏蔽,则二阶攻击利用了 x 1 ⊕ x 2 = x 1 ⊕ m ⊕ x 2 ⊕ m 的事实。
已经研究了用于克服高阶攻击的实现方式,特别如M.Akkar等人的文献A generic protection against High-oder differential Power Analysis,In LNCS,editor,Proceedings of FSE′03,volume 2887of LNCS,Springer,2003,Berlin所示,该文献使用了恒定掩码。但是,为了获得显著的效果,必须大大提高复杂度。举例而言,已经证实,在DES算法中,每个S盒需要至少三种不同的掩码和六个另外的S盒,以便通过这种方法抵抗高阶攻击,如J.Lv等人的文献Enhanced DES implementationsecure against differential power analysis ins mart-cards,In InformationSecurity and Privacy,10th Australasian Conference,volume 3574 of LNCS,pages 195-206,Brisbane,July 2005,Springer Verlag所不。
在另一种已知的方法中,每次迭代都计算新的掩码m。F-X.Standaert等人的文献FPGA Implementations of the DES andTriple-DES Masked Against Power Analysis Attack,In Proceedings ofFPL 2006,August 2006,Madrid中特别描述了这种方法。寄存器R的屏蔽变量 在每一轮中与来自于寄存器M的新的变量m关联。因此,在一轮结束时,变量 变换为 其中通过具有函数S′的新S盒来计算作为m和 的函数的新的掩码m′。由于这种方法只将单一的新S盒S′与每个现有的S盒S关联,因此提供了良好的复杂度折衷。
但是,这种实现方法仍然易受二阶攻击,特别是如E.Peeters等人的文献Improved Higher-Order Side-Channel Attacks with FPGAExperiments,In CHES,volume 3659 of LNCS,pages 309-323,Springer-Verlag,2005所示。
图2显示了S盒S和S′的实现方式。用R来表示的寄存器22提供屏蔽变量 密匙k例如通过XOR门24与变量 组合,输入到具有函数S的S盒1,函数S提供变量 作为输出,环回到寄存器22,R的输入端。并行地,用M来表示的寄存器23提供输入到具有函数S′的S盒21的掩码m,S盒21的另一个输入是与S盒1的输入共同的。S盒21,S′的输出提供新的掩码m′并且环回到寄存器M的输入端。使用这个新的掩码来屏蔽寄存器R所提供的变量x。在本说明书的其余部分中将使用包括掩码寄存器23和S盒21,S′的掩码环(mask loop)20所产生的掩码来屏蔽变量x。
环回到寄存器R和M均是在一个时钟周期(clock tick)中完成的。为了简化起见,图2忽略了DES算法专用的扩展(expansion)和置换(permutation)函数。
Peeters等人所描述的HO-DPA攻击是关于来自于寄存器的变量和m。其原理在于对变量x的不同的值,研究寄存器输出端的活动的分布。在CMOS逻辑中,用A来表示的活动的模型可以是两个连续的字之间的汉明距离,用DH来表示。特别地:
A ( x ⊕ m , m ) = DH ( x i ⊕ m i , x i - 1 ⊕ m i - 1 ) + DH ( m i , m i - 1 ) - - - ( 1 )
A ( x ⊕ m , m ) = PH ( Δx ⊕ Δm ) + PH ( Δm ) - - - ( 2 )
PH相当于汉明重量(Hamming weight),Δx相当于变量x的两个连续的字xi、xi-1之间的汉明距离。
如果x和m具有单个位的话,如果Δx=0,则活动相当于2.PH(Δm)。如果Δx=1,则活动相当于 并且恒等于1。
因此,知晓了每个Δx的消耗分布,通过观测消耗分布,并且就变量x中所包括的密匙k的假设来比较该消耗分布与所预测的活动,可以建立HO-DPA攻击。
如果x和m是4位编码的,则汉明重量PH可以取5个值:0,1,2,3,4。因此,活动 A ( x ⊕ m , m ) = PH ( Δx ⊕ Δm ) + PH ( Δm ) 可以取9个值:0,1,2,3,4,5,6,7,8。
图3显示了就4位掩码对Δx的不同的可能值显示了活动A的分布,在这种情况下Δx取24个值:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15。因此,图3对Δx的这组值呈现了五种不同的分布31、32、33、34、35。在每个分布31中,Δx的值作为可以取九个值0,1,2,3,4,5,6,7和8的活动的函数来分布或者分配。这些分布之间的巨大差异是很明显的,这些差异可能被HO-DPA攻击利用。
为了比较不同的屏蔽方案的效果,可以使用通过已知的测试--χ2测试得到的度量值(metric quantity)来比较分布31、32、33、34、35,χ2测试由下面的关系式定义:
χ 2 = Σ i = 1 C ( P i - P i ref ) 2 P i ref = 1 N Σ i = 1 C ( N i - N i ref ) N i ref - - - ( 3 )
其中:
-C代表分布的类别数目,例如对于具有4位编码的掩码的活动分布而言,C=9,C-1代表χ2运算法则的自由度;
-N为样本总数;
-Pi为具有类别i中的元素的观测概率,Pi也等于 Ni为在类别i中观测到的元素的数目;
-Piref为具有类别i中的元素的参考概率(reference probability),Piref也等于 Niref为类别i中的预期的元素数目。
认为参考分布(reference distribution)是当掩码为4位编码时,对Δx全部值所得到的16个分布的平均值。在这种情况下,通过χ2的值可以判断全部分布的均匀性。作为参考,对于具有4位掩码的分布,χ2等于21.89。为了避免容易被HO-DPA攻击所利用的分布31、32、33、34、35之间的区别,这个值必须尽可能的低。换言之,χ2的值必须尽可能地低,以防止HO-DPA攻击。
通过对于同一个掩码减小活动的各个分布之间的区别或者差异,本发明可以防止这样的观测攻击,包括高阶观测攻击。作为示例,在下文中将考虑4位编码的掩码。
特别地,例如参考图2,本发明使存放掩码m的寄存器M的活动独立于存放屏蔽变量 的寄存器R的活动。如果变量x不影响这两个寄存器22、23特有的消耗的分布,则不再可能成功进行HO-DPA攻击,例如Peeters等人的文献中所描述的HO-DPA攻击。通过修改掩码的路径结构,但不触动屏蔽变量的路径,可以取得平衡。可以通过变换掩码来在空间上进行所提出的修改,或者也可以通过改变掩码的演变来在时间上进行这种修改。有利地,本发明涉及掩码的变换。根据本发明,几种掩码修改是可能的。
图4显示了掩码的第一种可能修改,即通过双向单射(bijection)修改。在这种情况下,在掩码寄存器23,寄存器M和具有函数S′的S盒21之间插入用B来表示的双向单射变换41。在S盒的输出处应用用B-1来表示的逆双向单射变换42。因此,S盒S′所提供的掩码m′在存储到寄存器M之前经过双向单射变换B-1。双向单射使得m与它的像B(m)之间的汉明距离不总为零,以便修改变量 和B(m)之间的活动的相关性(correlation)。可以通过预先确定的表格来实现双向单射B。
从S盒S′输出的掩码m′是屏蔽变量实际使用的掩码。图4显示了掩码的路径。
图5对Δx的16个值显示了在掩码通过诸如图4所示的双向单射变换之后所获得的16种分布51,其中掩码是如同图3的情况那样的4位编码的,因此具有可以是从0到8的相同的活动值。这些分布51表现出很小的相互差异,与图3的分布截然不同。活动的分布要均匀得多,这被χ2测试证实,其通过该双向单射变换给出1.85的平均值,与对应于图3的分布的21.89的值形成对比。
图6显示了根据本发明的另一种可能的修改。其涉及通过分解来修改掩码。在这种情况下,掩码m被分解为两个子掩码m1和m2,从而:
m=m1θm2
θ实现群内部合成律(group internal composition law),类似于上文所提到的算子θ。θ为群算子(group operator),其承认逆算子θ-1
因此,上述图中的寄存器M被两个寄存器231、232代替。一个寄存器M1存放值m1,一个寄存器M2存放值m2。这些寄存器的输出连接到实现合成律θ的电路61。在该算子61的输出端,在按照上述路径、特别是按照图2和图4所示的路径被S盒S′,21变换成新的掩码m′之前,掩码m被运算m=m1θm2重组(recomposed)。
通过置于S盒S′21的输出端的算子62来执行逆运算θ-1。该算子可以将掩码m′分成m′1和m′2,以使m′1=m′θ-1m′2。可以通过如图6所示的随机值生成器RNG来产生掩码m′2。在加密算法的每次迭代中,存放m2的寄存器M2取来源于随机值生成器71的新值m′2。存放m1的寄存器M1取新值m′1=m′θ-1m′2,该值是由执行群运算(group operation)θ-1的算子62基于S盒21所提供的输入数据项m′和随机值生成器71所提供的输入数据项m′2来提供的。
因此,存放屏蔽变量 的寄存器R和两个寄存器M1和M2那一级的活动A变成:
A ( x ⊕ m ) = PH ( Δx ⊕ Δm ) + PH ( Δ m 1 ) + PH ( Δ m 2 ) - - - ( 4 )
考虑这种活动模型,对各种运算法则θ应用χ2测试,结果例如如下表所示:
θ 无修改 B(a) A XOR b a+b a*b a*b+(a+b)/2 aαb
χ2 21.89 1.85 16.69 0.31 0.36 0.18 0
该表显示出,可以使用加法+和乘法*之类的简单算子来获得均衡分布,所得到的结果分别为0.31和0.36,从而将攻击重新推向会被捕获的极大数量的消耗轨迹(consumption trace),以便在分布之间进行区分。通过双向单射B的变换可以获得1.85的结果。
有利地,随后描述的运算法则α可以具有零χ2,也就是说所得到的分布在所考虑的活动模型的意义上是完全相同的,因此能够抵抗更高阶的攻击。
图7显示了每个变量为4位并且考虑运算法则α的情况下的16种可能的分布70。
使用XOR逻辑算子所获得的分布不能充分降低χ2的值,因为它们作为Δx的汉明重量 的奇偶性的函数产生两大类分布。如果Δx为偶数,则活动总是具有偶数值,而如果Δx为奇数,则活动总是具有偶数值。
图8显示了示意性实施方式,其给出与前一方案类似的结果,但是除了初始化计算以外没有使用随机值生成器。为了避免每个周期都使用随机值生成器所带来的经常性开支,两个子掩码其中之一可以代替前一示例中生成的随机变量。例如,可以使用来自寄存器M1,231的子掩码。在周期结束时,来自于寄存器M1的该子掩码被存储到寄存器M2,232中,就寄存器M1而言,其接收新掩码m′1,以便重建完整的掩码。因此,每个周期所产生的新掩码为m′=m′1θm1,下一个周期所产生的新掩码为m″=m″1θm′1,如此类推。
图9显示了用于DES算法的屏蔽的示例。在该图中,为了易读起见,忽略了扩展和置换函数。
关于DES算法,数据路径被分成左右两部分,就像在任何的Feistel方案中一样。特别地,前一示例中的屏蔽变量寄存器22被分成两个寄存器,左寄存器221和右寄存器222。
关于屏蔽部分,除了两个掩码寄存器91、92(一个是右寄存器MR,另一个是左寄存器ML)以外,还加入用M表示的第三个寄存器93,以便分解左右两个掩码。DES算法的实现使用上文结合图7和图8所阐述的方案,不过不在每个周期中使用随机值生成器,而是使用三个链式寄存器(chained register)。寄存器MR存放子掩码mr1,寄存器ML存放子掩码ml2。寄存器M存放等于子掩码ml1的子掩码mr2。分别存放在寄存器MR和寄存器ML中的右掩码mr和左掩码ml的有效值由以下关系式给出:
-mr=mr1θmr2
-ml=ml1θml2
执行群关系(group relation)θ的算子611和算子612被置于寄存器MR、寄存器M和寄存器ML的输出端,以便执行上述两个运算。右掩码mr被S盒S′,21变换为新的右掩码m′r,S盒21的另一个输入是之后被加密的来自于右寄存器R 222的屏蔽变量 新的右掩码m′r被与掩码ml组合以给出输入到执行运算θ-1的算子62的 算子62将 与m′r2组合。在一种与图8的示例类似的方式中,输入到算子62的子掩码m′r2不是由随机值生成器来提供,而是等于寄存器MR所输送的子掩码mr1。每个寄存器221、222、91、92、93接收初始值94、95、96、97。
下表呈现了连续三轮中在掩码寄存器91、92、93中(最后三列)和在屏蔽变量寄存器221、222中(前两列)同样都可以使用的掩码:
右掩码 左掩码 MR M ML
0 ML0 MR0 M0 MR0θ-1M0 ML0θ-1M0
1 MR0 m′r MR0θ-1M0 m′-1 M0
2 m′r m″r m′r1 m″r1 MR0θ-1M0
该表显示出,掩码寄存器中所使用的掩码以及屏蔽变量寄存器中所使用的掩码是不同的,因此可以特别避免HO-DPA型攻击。
图10显示了函数α的一种实现方式,其可以获得均衡分布,因此χ2为零。
该运算法则依赖于Δm2总也不会为零的事实。事实上,如果m的变化Δm=Δm2=0,则群运算律(group law)θ意味着Δm1也等于0。在这种情况下,只有在Δx为零时,上一个等式(4)所给出的活动才可能为零。由于Δx没有其他的值能够获得零活动,这就表明活动永远不会对于Δx的所有的值完全均衡。另一方面,如果Δm2的值是非零的,则可能存在可以满足活动分布完全均衡、从而获得χ2=0的运算法则。关于屏蔽的不可能性的证明(例如,特别是G.Piret等人的文献SecurityAnalysis of Higher-Order Boolean Masking Schemes for Block Ciphers,IET Information Security,2(1):1-11,2008中特别设想的),本发明提供了两个掩码m1和m2之间的联系,这在G.Piret等人的文献中没有被考虑进去。
举例而言,考虑每个2位连续包的子掩码,于是掩码的位数为偶数,这种情况经常出现,无论Δx的值是什么,下面的叫做α的运算法则都可以获得均衡分布。子掩码m2的高阶位形成的2位群组(用m2MSB来表示)以及低阶位形成的2位群组(用m2LSB来表示)以如下方式制约通过运算法则α的掩码产生:
-每个2位群组Δm2=1;
-如果m2MSB=1,则 或者如果m2MSB=0,则m=m1该运算法则α是对合的,在S盒21的输入端通过算子61来实现。
图10还呈现了位于S盒21的输出处的算子62的示意性的可能实现方式100,其中该算子62对2掩码位的群组实施函数m′1=m′α-1m′2
电路100使用随机值生成器101来产生子掩码m2。该生成器101所提供的随机变量在接收m′2MSB和m′2LSB作为输入的编码器102中对格雷编码(或反射二进制代码)的寄存器M2选择增量或减量,以便确保条件Δm′2=1。从S盒21所产生的掩码m′开始,算子62提供子掩码m′1,其高阶位m′1MSB等于 m′MSB为m′的高阶位,m′2MSB根据在编码器102的输入端生成的随机变量来取值0或值1。如果m′2MSB的值分别等于0或者等于1,则低阶位m′1LSB等于m′MSB或者等于 m ′ LSB ⊕ m ′ 2 LSB .
图11a、图11b和图11c呈现了对产生新掩码m′的替换盒S′,21的可能改进。可以根据几种级别的鲁棒性和复杂度,通过XOR门和ROM存储器的混合来产生盒S′。
图11a呈现了第一种方案,其使用两个盒S,1和两个XOR门110、111来重建未屏蔽的信息x和新掩码m′。因此,通过第一个门111来实现 第二个门112提供新掩码m′作为盒S′的输出,其中 m ′ = S ( x ⊕ m ) ⊕ S ( x ) .
图11b所显示的第二种方案使用ROM存储器113来执行XOR门的逻辑以及图11a的设置中的盒S的替换。然后,存储器接收两个字m和 x ⊕ m .
图11c呈现了第三种方案,其不需要随机寄存器71就可以用于空间分解。该方案使用接收三个字 m1和m2的ROM存储器114。该存储器结合了图11b的方案的存储器113所执行的逻辑和函数115、函数115的输入端的用于重建掩码m的群运算律θ以及例如该函数115的输出端的逆群运算律θ-1

Claims (15)

1.一种加密电路,包括提供被掩码m屏蔽的变量x的至少一个寄存器R(22),其特征在于,所述被屏蔽的变量被第一替换盒S(1)以周期性的方式加密,所述电路包括在每个周期中提供变换掩码mt的掩码寄存器M(23),所述变换掩码mt通过修改函数(41,61)变换为掩码m,该掩码m被第二替换盒S'(21)加密,在该盒S'(21)的输出端获得的新掩码m'被用来屏蔽所述被屏蔽的变量,
其中,所述修改函数为双射变换(41),从而所述变换掩码mt被存储在掩码寄存器M中,应用到所述第二替换盒S’(21)的掩码m等于mt的双射变换,将要存储到所述掩码寄存器M中的新的值为m'的反向双射变换,m'为所述第二替换盒S'(21)的输出。
2.根据权利要求1所述的电路,其特征在于,在所述第二替换盒S'(21)的输出端经过与所述修改函数(41,61)相反的修改(42,62)之后,新的变换掩码m't被引入所述掩码寄存器M。
3.根据权利要求1所述的电路,其特征在于,所述双射变换使得所述掩码m的汉明重量与其在所述双射变换下的像的汉明重量不总相同,其中像指的是对m进行双射变换的结果。
4.一种加密电路,包括提供被掩码m屏蔽的变量x的至少一个寄存器R(22),所述被屏蔽的变量被第一替换盒S(1)以周期性的方式加密,以及
在每个周期中提供变换掩码mt的掩码寄存器M(23),所述变换掩码mt通过修改函数(41,61)变换为掩码m,该掩码m被第二替换盒S'(21)加密,在该盒S'(21)的输出端获得的新掩码m'被用来屏蔽所述被屏蔽的变量,
其中所述掩码m的修改是通过分解成两个子掩码m1和m2以使m=m1θm2来执行的,其中θ为群合成律,第一子掩码m1被存储到第一掩码寄存器M1(231)中,第二子掩码m2被存储到第二掩码寄存器M2(232)中,将要存储到所述第一掩码寄存器M1中的新的值为m'1=m'θ-1m'2,将要存储到第二掩码寄存器M2中的新的值为m'2,m'为所述第二替换盒S'(21)输出的掩码的值。
5.根据权利要求4所述的电路,其特征在于,所述群合成律为XOR“异或”运算。
6.根据权利要求4所述的电路,其特征在于,所述群合成律为加法运算。
7.根据权利要求4所述的电路,其特征在于,所述群合成律为乘法运算。
8.根据权利要求4所述的电路,其特征在于,所述群合成律为s=a*b+(a+b)/2型运算,其中*为乘法,+为加法。
9.根据权利要求4所述的电路,其特征在于,所述群合成律在从一个周期到另一个周期的两个连续子掩码m2之间具有非零的汉明距离Δm2
10.根据权利要求9所述的电路,其特征在于,所述子掩码m1,m2的位数为偶数,群合成律能够基于子掩码m1,m2来获得掩码m,满足:
-每个2位群组的汉明距离Δm2=1;
-如果m2MSB=1,则或者如果m2MSB=0,则m=m1
其中m2MSB,m2LSB分别为子掩码m2的高阶位和低阶位,m2MSB,m2LSB分别形成2位群组。
11.根据权利要求4所述的电路,其特征在于,所述电路包括随机值生成器(71),所述随机值生成器提供存储到第二掩码寄存器M2(232)中的新的值m'2
12.根据权利要求4所述的电路,其特征在于,来自于所述第一掩码寄存器M1的该子掩码m1在周期结束时被保存在所述第二掩码寄存器M2中,所述第一掩码寄存器M1接收新掩码m'1,以便重建新的完整掩码m'=m'1θm'2
13.根据权利要求4所述的电路,其特征在于,加密算法为DES型,变量x、掩码m的路径被分成左(91,221)和右(92,222)两部分,除了左掩码寄存器ML(91)和右掩码寄存器MR(92)以外,所述电路还包括第三个掩码寄存器(93),所述右掩码寄存器MR存放第一右子掩码mr1,所述左掩码寄存器ML存放第二左子掩码ml2,所述第三个掩码寄存器存放等于第一左子掩码ml1的第二右子掩码mr2,右掩码mr和左掩码ml的有效值为:
mr=mr1θmr2
ml=ml1θml2
14.根据权利要求4所述的电路,其特征在于,所述第二替换盒S'(21)包括与所述第一替换盒S(1)相同的两个盒和两个XOR门(111,112),所述两个盒的输出连接到通过输出来提供新掩码m'的XOR门(112),被屏蔽的变量进入包含在第二替换盒S’(21)中的两个盒中的一个和另一个XOR门(111),通过另一个XOR门(111)的另一个输入来接收掩码m,这个XOR门的输出进入包含在第二替换盒S’(21)中的两个盒中的另一个。
15.根据权利要求14所述的电路,其特征在于,ROM存储器(113)执行所述XOR门(111,112)的逻辑和所述两个盒的替换。
CN201080004965.8A 2009-01-20 2010-01-18 防御观测攻击、特别是高阶观测攻击的加密电路 Active CN102405615B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0950341A FR2941342B1 (fr) 2009-01-20 2009-01-20 Circuit de cryptographie protege contre les attaques en observation, notamment d'ordre eleve.
FR0950341 2009-01-20
PCT/EP2010/050546 WO2010084106A1 (fr) 2009-01-20 2010-01-18 Circuit de cryptographie protege contre les attaques en observation, notamment d'ordre eleve

Publications (2)

Publication Number Publication Date
CN102405615A CN102405615A (zh) 2012-04-04
CN102405615B true CN102405615B (zh) 2016-09-07

Family

ID=41119870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080004965.8A Active CN102405615B (zh) 2009-01-20 2010-01-18 防御观测攻击、特别是高阶观测攻击的加密电路

Country Status (10)

Country Link
US (1) US8615079B2 (zh)
EP (1) EP2380306B1 (zh)
JP (1) JP5776113B2 (zh)
KR (1) KR101680918B1 (zh)
CN (1) CN102405615B (zh)
CA (1) CA2749961C (zh)
ES (1) ES2435721T3 (zh)
FR (1) FR2941342B1 (zh)
SG (1) SG173111A1 (zh)
WO (1) WO2010084106A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2941343B1 (fr) * 2009-01-20 2011-04-08 Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst Circuit de cryptographie, protege notamment contre les attaques par observation de fuites d'information par leur chiffrement.
FR2967322B1 (fr) * 2010-11-08 2012-12-28 Morpho Protection contre les ecoutes passives
DE102012209404A1 (de) * 2012-06-04 2013-12-05 Robert Bosch Gmbh Vorrichtung zur Ausführung eines kryptographischen Verfahrens und Betriebsverfahren hierfür
US10142099B2 (en) 2013-01-11 2018-11-27 Qualcomm Incorporated Method and apparatus for a computable, large, variable and secure substitution box
US9736181B2 (en) * 2013-07-26 2017-08-15 Intel Corporation Hardening data transmissions against power side channel analysis
CN103901342B (zh) * 2014-03-18 2017-09-29 北京时代民芯科技有限公司 一种基于掩码文件的fpga精确故障注入系统
TWI712915B (zh) 2014-06-12 2020-12-11 美商密碼研究公司 執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體
KR102446866B1 (ko) 2014-08-28 2022-09-23 삼성전자주식회사 부채널 공격을 방지하는 암복호화기 및 이의 구동 방법 그리고 이를 포함하는 제어 장치
US9531384B1 (en) * 2014-12-01 2016-12-27 University Of South Florida Adiabatic dynamic differential logic for differential power analysis resistant secure integrated circuits
FR3040515B1 (fr) 2015-09-02 2018-07-27 St Microelectronics Rousset Verification de la resistance d'un circuit electronique a des attaques par canaux caches
FR3040513B1 (fr) * 2015-09-02 2018-11-16 Stmicroelectronics (Rousset) Sas Protection d'un algorithme de rijndael
FR3040514B1 (fr) 2015-09-02 2017-09-15 Stmicroelectronics Rousset Protection dpa d'un algorithme de rijndael
CN105376058B (zh) * 2015-10-08 2018-08-10 深圳先进技术研究院 一种基于rsa算法的硬件的安全性评估方法及装置
CN105743644B (zh) * 2016-01-26 2019-02-05 广东技术师范学院 一种多变量二次方程的掩码加密装置
CN105721150B (zh) * 2016-01-26 2018-11-20 广东技术师范学院 一种多变量二次方程的掩码加密方法
EP3475825B1 (en) * 2016-06-23 2023-01-25 Cryptography Research, Inc. Cryptographic operations employing non-linear share encoding for protecting from external monitoring attacks
CN107547195A (zh) 2016-06-28 2018-01-05 埃沙尔公司 免受侧信道分析的保护方法和设备
EP3264668B1 (en) * 2016-06-28 2022-07-27 Eshard A protection method and device against a side-channel analysis
EP3264311B1 (en) 2016-06-28 2021-01-13 Eshard A protection method and device against a side-channel analysis
US10771235B2 (en) * 2016-09-01 2020-09-08 Cryptography Research Inc. Protecting block cipher computation operations from external monitoring attacks
DE102017002153A1 (de) * 2017-03-06 2018-09-06 Giesecke+Devrient Mobile Security Gmbh Übergang von einer booleschen Maskierung zu einer arithmetischen Maskierung
EP3422176A1 (en) * 2017-06-28 2019-01-02 Gemalto Sa Method for securing a cryptographic process with sbox against high-order side-channel attacks
US10778407B2 (en) * 2018-03-25 2020-09-15 Nuvoton Technology Corporation Multiplier protected against power analysis attacks
DE102018107114A1 (de) * 2018-03-26 2019-09-26 Infineon Technologies Ag Seitenkanalgehärtete Operation
US11507699B2 (en) * 2019-09-27 2022-11-22 Intel Corporation Processor with private pipeline
FR3124670A1 (fr) * 2021-06-29 2022-12-30 Stmicroelectronics (Rousset) Sas Protection de données traitées par un algorithme de chiffrement

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001061916A2 (en) * 2000-02-18 2001-08-23 Cloakware Corporation Encoding method and system resistant to power analysis
CN1193537C (zh) * 2000-07-04 2005-03-16 皇家菲利浦电子有限公司 将输入数据块加密转换成输出数据块的方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2789535B1 (fr) * 1999-02-04 2001-09-28 Bull Cp8 Procede de securisation d'un ensemble electronique de cryptographie a cle secrete contre les attaques par analyse physique
US8582774B2 (en) * 2002-03-07 2013-11-12 Gemalto Sa Method for making safe an electronic cryptography assembly with a secret key
US7403620B2 (en) * 2002-07-02 2008-07-22 Stmicroelectronics S.A. Cyphering/decyphering performed by an integrated circuit
JP4357815B2 (ja) * 2002-09-11 2009-11-04 株式会社東芝 暗号演算回路
US7970129B2 (en) * 2007-04-19 2011-06-28 Spansion Llc Selection of a lookup table with data masked with a combination of an additive and multiplicative mask
JP4936996B2 (ja) * 2007-05-24 2012-05-23 株式会社東芝 非線形データ変換器、暗号化装置、および復号装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001061916A2 (en) * 2000-02-18 2001-08-23 Cloakware Corporation Encoding method and system resistant to power analysis
CN1193537C (zh) * 2000-07-04 2005-03-16 皇家菲利浦电子有限公司 将输入数据块加密转换成输出数据块的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《Evaluation of Countermeasure Implementations Based on Boolean Masking to Thwart Side-Channel Attacks》;Houssem Maghrebi等;《IEEE》;20091108;第2页左栏第15行-右栏第5行,图1、2 *

Also Published As

Publication number Publication date
CA2749961A1 (en) 2010-07-29
US8615079B2 (en) 2013-12-24
ES2435721T3 (es) 2013-12-23
FR2941342B1 (fr) 2011-05-20
SG173111A1 (en) 2011-08-29
EP2380306A1 (fr) 2011-10-26
JP5776113B2 (ja) 2015-09-09
US20120250854A1 (en) 2012-10-04
KR20120026022A (ko) 2012-03-16
FR2941342A1 (fr) 2010-07-23
CN102405615A (zh) 2012-04-04
JP2012516068A (ja) 2012-07-12
CA2749961C (en) 2017-03-14
WO2010084106A9 (fr) 2011-09-15
KR101680918B1 (ko) 2016-11-29
WO2010084106A1 (fr) 2010-07-29
EP2380306B1 (fr) 2013-07-24

Similar Documents

Publication Publication Date Title
CN102405615B (zh) 防御观测攻击、特别是高阶观测攻击的加密电路
Li et al. Differential fault analysis on the ARIA algorithm
Koeune et al. A tutorial on physical security and side-channel attacks
Karpovsky et al. Differential fault analysis attack resistant architectures for the advanced encryption standard
Shen et al. SAT-based bit-flipping attack on logic encryptions
CN102388563A (zh) 特别防御由其加密造成的信息泄露观测攻击的加密电路
CN102970132B (zh) 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法
CN101739889A (zh) 密码处理装置
CN109726565B (zh) 在抗泄漏原语中使用白盒
CN104301095A (zh) Des轮运算方法和电路
Bedoui et al. An improvement of both security and reliability for AES implementations
Breveglieri et al. An operation-centered approach to fault detection in symmetric cryptography ciphers
Regazzoni et al. Can knowledge regarding the presence of countermeasures against fault attacks simplify power attacks on cryptographic devices?
Zhao et al. Efficient Hamming weight-based side-channel cube attacks on PRESENT
US20120257747A1 (en) Method of secure cryptographic calculation, in particular, against attacks of the dfa and unidirectional type, and corresponding component
CN108123792A (zh) 一种sm4算法电路的功耗加扰方法
Arribas et al. Guards in action: First-order SCA secure implementations of KETJE without additional randomness
Kizhvatov Physical security of cryptographic algorithm implementations
Karri et al. Parity-based concurrent error detection in symmetric block ciphers
Socha et al. Side-channel countermeasures utilizing dynamic logic reconfiguration: Protecting AES/Rijndael and serpent encryption in hardware
Tang et al. Adaptive side-channel analysis model and its applications to white-box block cipher implementations
Spadavecchia A network-based asynchronous architecture for cryptographic devices
Jahanbani et al. DPA protected implementation of OCB and COLM authenticated ciphers
Luo et al. A chaotic block cryptographic system resistant to power analysis attack
Schramm et al. Embedded cryptography: Side channel attacks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Paris France

Patentee after: INSTITUT MINES TELECOM

Address before: Paris France

Patentee before: INSTITUT TELECOM-TELECOM PARISTECH

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20220303

Address after: French cesson Sevigne

Patentee after: SECURE-IC S.A.S.

Address before: Paris France

Patentee before: INSTITUT MINES TELECOM

TR01 Transfer of patent right