用于测试集成电路对旁路分析的抵抗力的过程制造技术

技术编号:6626721 阅读:276 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种用于测试集成电路的过程,其包括:在所述集成电路执行乘法时收集物理特性的点集;将所述点集划分成横向点的多个子集;为每个子集计算所述物理特性的值的估计;以及通过使用所述物理特性的值的估计,将水平截断统计处理的步骤应用到所述横向点的子集,以便验证关于由所述集成电路操纵的变量的假设。

【技术实现步骤摘要】

本专利技术的实施例涉及包括乘法功能的集成电路,该乘法功能被配置以便在字χ的分量&与字y的分量Ji的多个基本乘法步骤中执行这两个二进制字χ和y的乘法运算。本专利技术的实施例特别涉及包括外部数据处理功能的集成电路,对该外部数据处理功能的执行至少包括转到二进制字的至少第一乘法步骤或二进制字的第二乘法步骤的条件分支。该条件分支根据集成电路的私有数据而变化。本专利技术的实施例特别涉及用于测试这样的集成电路的过程和系统。本专利技术的实施例还涉及用于针对旁路分析而保护上述类型的集成电路的过程,并且涉及一种对策,其允许这样的集成电路通过包括根据本专利技术实施例的测试过程在内的鉴定或认证过程。
技术介绍
当前,可以在芯片卡或其它嵌入式系统(诸如USB密钥(闪速驱动器)、解码器和游戏控制台,以及按照一般方式的任何受信平台模块TPM)中找到越来越高级的安全处理器。这些按照集成电路形式的处理器通常具有8比特复杂指令集计算机(CISC)核心,或者 8、16或更多比特精简指令集计算机(RISC)核心,此时32比特处理器最为普及。一些集成电路还包括专用于一些密码计算的协处理器,尤其是用于不对称算法(诸如Rivest、Shamir 和Adleman(RSA)、数字签名算法(DSA)、椭圆曲线数字签名算法(ECDSA)等)的算术加速ο作为例子,图1示出了在便携式支持手持设备(HD)(例如塑料卡或任何其它支持装置)上布置的安全集成电路CIC1。该集成电路包括微处理器MPC、输入/输出电路IOC 或接口通信电路、通过数据和地址总线而链接到微处理器的存储器Ml、M2、M3,以及可选地用于密码计算或算术加速器的协处理器CP1,以及随机数发生器RGEN。存储器Ml是含有易失性应用数据的随机访问存储器(RAM)类型的存储器。存储器M2是含有应用程序的非易失性存储器,例如EEPROM或闪速存储器。存储器M3是含有微处理器的操作系统的只读存储器(ROM)。接口通信电路IOC可以是例如根据IS0/IEC 7816标准的接触类型(contact type)、例如根据IS0/IEC 14443A/B或IS0/IEC 13693标准的具有电感耦合的无接触类型 (contactless type)、通过电耦合(UHF接口电路)起到无接触类型的作用,或者接触和无接触类型这二者(被称“combi (联合)”的集成电路)。图1中示为例子的接口电路IOC是电感耦合无接触接口电路,其配备有用于接收磁场FLD的天线线圈AC1。场FLD由本身配备有天线线圈AC2的读卡器RD来发射。电路IOC包括用于接收和解码由读卡器RD所发射的数据DTr的装置以及用于编码和发射由微处理器MPC所提供的数据DTx的装置。其还可以包括用于从磁场FLD提取集成电路的电源电压Vcc和时钟信号CK的装置。在一些实施例中,集成电路CICl可以被配置以便基于使用秘密密钥d和密码模块η的模幂运算(modular exponentiation),通过密码函数(例如,密码RSA函数)来执行5对发送到该集成电路的消息m的加密、解密或签名操作。关于樽幂运算的概述模幂运算函数具有下面的数学表达md modulo (η)m是输入数据,d是指数,并且η是除数。因此,模幂运算函数包括计算m的d次幂除以η的余数。通过各种密码算法(诸如RSA算法、DSA算法、椭圆曲线迪菲霍尔曼(Ε⑶H)、 ECDSA、EIGamal等)来使用这样的函数。然后,数据m是用于加密的消息并且指数d是私有密钥。可以使用下面的算法来实现这样的函数(根据Barrett方法的模幂运算) 取幂算法 Input “m" and" η" are integers such that m < η “d〃 is an exponent of ν bits such as d = (Ci^1 dv_2. . . d0)2Output :a = md modulo ηStep 1 :a = 1 Step 2 :Pre_calculations of the Barrett reduction Step 3 :for s from 1 to ν do :(Step 3A)a = BRED (LIM(a, a),η) (Step 3B)if dv_s = 1then a = BRED (LIM(a, m),η)Step 4 Return result a其中,消息m和模η是整数(例如,1024个比特、2048个比特或更多),d是以2为基底所表示的ν个比特的指数(cU,dv_2,.··(!。),“LIM”是大整数(large integers)的乘法函数(“长整数乘法”),并且“BRED”是应用于LIM乘法结果的根据Barrett方法的归约 (reduction)函数(“Barrett 归约”)。在诸如图1中示出的集成电路中,可以由微处理器MP或由协处理器CPl来执行这样的模幂算法。替代地,算法的一些步骤可以由微处理器来执行,而其它步骤可以由协处理器(如果它仅是算术加速器的话)来执行。例如,微处理器可以将步骤3A和;3B的LIM乘法委托给协处理器,或者根据情况可以将整个计算委托给协处理器。另外,通常由集成电路借助于对二进制字χ和y的乘法功能来执行a乘以a(步骤 3A)或a乘以m(步骤的LIM乘法。该乘法包括字χ的分量Xi (a,)与字y的分量Caj 或mp的基本乘法的多个步骤(i和j是迭代变量),以便获得级联的中间结果,从而形成该乘法的一般结果。旁路分析的概述为了验证由要商业化的安全集成电路所提供的安全级别,以工业级别来实施鉴定或认证测试。特别地,实施测试以便评估集成电路对于目的是发现集成电路的秘密数据的旁路分析的稳健性。因此,取幂算法受到这样的控制。更特别地,模幂算法的旁路分析包括在算法的 6步骤3执行期间,在该步骤的秩s(rank s)的每次迭代处,通过观察集成电路的“行为”来逐比特地推导出指数的值。该观察的目的是确定所考虑的步骤3是仅包括步骤3A还是包括步骤3A以及之后的步骤:3B。在第一种情况下,可以推导出指数的比特dv_s等于0。在第二种情况下,可以推导出比特dv_s等于1。通过对于s = 1到s = ν的每次迭代逐个步骤地进行,可以推断对于从 1到v-1的s来说的指数的所有比特dv_s。例如,在取幂算法的第一迭代期间,运算结果LIM (a, a), LIM (a, m)表明指数的第一比特是1,而运算结果LIM (a, a) LIM (a, a)说明以下发现指数的第一比特是0。为了发现下一个指数比特,必须确定下面的运算的性质。例如,如果这些运算是LIM (a, a) LIM (a, m) LIM (a, a) LIM (a, m)或者 LIM (a, a) LIM (a, a) LIM (a, m)则最后两个运算LIM(a,a)LIM(a,m)表明指数的第二比特是1。相反,在下面的运算之后LIM (a, a) LIM (a, m) LIM (a, a) LIM (a, a)LIM (a, a) LIM (a, m) LIM (a, a) LIM (a, a)第三运算LIM(a,a)表明指数的第二比特是0,因为其后面是LIM(a,a)而不是 LIM 本文档来自技高网...

【技术保护点】
1.一种用于测试集成电路设备的过程,其包括:在所述集成电路执行两个二进制字x和y的乘法运算期间,收集表示所述集成电路对二进制数据的切换的物理特性的点集,所述乘法运算包括字x的分量xi与字y的分量yj的多个基本乘法步骤;将所述物理特性的点集划分成横向点的多个子集,每个子集对应于字x的秩i的分量xi与字y的秩j的分量yj的基本乘法运算;形成关于字x的值和/或字y的值的至少一个一般假设;对于横向点的每个子集,形成与所述一般假设相联系的关于分量xi和/或分量yj的值的特定假设;对于横向点的每个子集,计算对于根据所述特定假设变化的物理特性的值的估计,并且将所述估计归结于所述子集以及所述子集的点;以及使用与所述横向点的子集相关联的物理特性的值的估计,将水平截断统计处理的步骤应用于所述横向点的子集,以便确定所述一般假设是否正确。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:B·菲克斯G·加戈纳罗特M·罗瑟莱特V·韦尔努尔
申请(专利权)人:英赛瑟库尔公司
类型:发明
国别省市:FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1