CN103404073B - 针对无源监听的保护 - Google Patents

针对无源监听的保护 Download PDF

Info

Publication number
CN103404073B
CN103404073B CN201180063664.7A CN201180063664A CN103404073B CN 103404073 B CN103404073 B CN 103404073B CN 201180063664 A CN201180063664 A CN 201180063664A CN 103404073 B CN103404073 B CN 103404073B
Authority
CN
China
Prior art keywords
aes
alg
shielding
code
algorithm
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
CN201180063664.7A
Other languages
English (en)
Other versions
CN103404073A (zh
Inventor
赫弗·查巴内
朱利恩·布林格
哈·莱 桑赫
桑赫哈·莱
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.)
Adimia Identity And Security France
Original Assignee
Morpho SA
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 Morpho SA filed Critical Morpho SA
Publication of CN103404073A publication Critical patent/CN103404073A/zh
Application granted granted Critical
Publication of CN103404073B publication Critical patent/CN103404073B/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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
    • 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/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

本发明具体涉及一种适用于针对无源监听执行加密算法(ALG)的保护方法,该方法实施屏蔽由加密算法处理的数据(MSK)。所述数据的屏蔽(MSK)包括线性编码步骤,例如x′=x.L+c,其中x是要被屏蔽的数据,x′是相应的已屏蔽数据,c是线性码C中所包含的码字以及L是由线性码C中不包含的线性无关向量所构成的矩阵。本发明还涉及一种执行这种方法的装置(SC)。

Description

针对无源监听的保护
技术领域
本发明涉及针对无源监听的加密算法的保护。
背景技术
加密算法是一种旨在保护信息的算法,例如,它采用数学方法来保护其私密性、真实性或完整性。通常,加密算法是基于一个或多个密钥,该密钥可以是私密的、私有的或公用的。有些加密算法不使用密钥,对于某些哈希函数(例如SHA-1,MD5,SHA-256,RIPEMD-160等)来说确实如此。加密算法包括编码算法(它可产生难以理解的信息)和解码算法(它从编码信息中恢复原始信息),例如用于电子签名、签名验证、认证和认证的验证的算法等。有些基于密钥的加密算法称之为对称的(例如,算法DES、3DES、AES、RC4、HMAC等)。有些对称算法是专用的(例如,HMAC算法专用于签名/签名验证,而并不用于编码/解码)。对称算法的名字可从它们在编码和解码或用于签名或验证签名等中使用相同的密钥(一般称之为秘密性密钥)的这一事实而获得。因而,对称加密算法需要使用的两方使用共享密钥来保护它们的通信。其中,AES(高级加密标准)算法尤为重要,因为它是NIST在2000年选择作为美国政府的标准对称加密算法的算法。其它加密算法称之为非对称的(例如,DSA、RSA、椭圆曲线和其它算法),因为通信的各方可使用不同的密钥。各方都具有私有密钥和相关的公用密钥。例如,一方可使用它私有密钥中的一个密钥来签名一条信息,而另一方可使用相应的公用密钥来验证该签名,或者一方可使用属于另一方的公用密钥来加密一条信息,而另一方则可以使用它的相应私有密钥来解密这条信息。
一般来说,加密算法在说明书中以非常精确的方式进行描述,以便每一个能够阅读,这是因为加密算法的安全性通常与其如何操作过程中的任何保密性都不相关(假定算法是安全的,它们的安全性通常最终只会受到逆向工程的破解)。这些说明书确定了算法当提供某些信息输入时所必须产生的输出。这就确保了加密算法的互操作性,意味着不同的实施必须相互作用。例如,人们能够适当地期待由编码算法的任意实施所编码的信息都应该由相应的解码算法的任意实施来解码。然而,这并不意味着各种加密算法仅仅只有一种可能的实施方法。恰恰相反:各种加密算法都有着多种可能的实施方法,并且可有多种不同的方式来实施相同的计算。例如,为了计算X2+2X+1,有可能首先计算X*X,接着计算2*X,然后将这两项相加并加1;或者计算X+1,将结果与X相乘,然后加1,甚至计算X+1然后将结果平方。
可能想到,加密算法的安全性仅仅取决于在说明书中所公开的它的数学定义(以及所使用的任意密钥,无论是私密的还是私有的),而不取决于说明书中所定义的用于计算结果的精确方法。实际上,一般来说并非如此。其实,加密算法的一种特定实施方法的安全性不仅取决于实际的加密算法,还取决于它所实施的方式以及其它因素,例如实施该算法所使用的电子装置的特性。
尤其是,众所周知,当未受保护的电子装置以一种“天真(naive)”的方式运行实施加密算法的软件时,意味着它仅仅简单地依据说明书由给定的输入来产生所期望的数值结果(例如加密结果),这通常有可能执行电子装置的无源电子窃听或监听并获得与加密算法执行相关的关键信息。无源监听的优势在于它是非入侵式的。电子装置不会被损坏,并且它的所有者有可能不一定会意识到他受到了攻击。该装置十分适用,并能在不被其所有者察觉的情况下退出或方便于当所有者不在的情况下使用,甚至在所有者在场但并不知晓时进行侦探(例如将模块隐藏在电子装置和其电源之间)。因此,电子装置的所有者不能从攻击者所提取出私有的RSA密钥导致他取消RSA密钥对,因为他没有理由察觉到攻击的存在。因此,攻击者可随意使用RSA私有密钥,直到所有者最终发现他没有执行过的操作(例如电子资金转账或者合同的电子签名)也已经被认为是他所为或者第三方已经明显地访问了机密信息(例如多次出现相同竞争者的出价比投标申请小了一个非常小的量)。
无源监听可包括,例如,分析当装置执行软件时所发出的电磁辐射(例如,作为TEMPEST攻击的一部分,通常关注于捕捉来自CRT显示器的辐射,然而可以更普遍)。其实,来自于诸如处理器之类电子器件的电磁辐射取决于该处理器当前所执行的指令或当前处理的数据。还有可能分析其它类型的信息,例如电子装置的瞬时功耗,以及使用该信息来区分正在执行的任务,这是基于执行这些任务所需的电功率的。还有可能测量所产生的振动(有些部件会对正在执行的任务产生不同的振动敏感)和温度变化等。
无源监听还可包括分析执行某些操作所需的时间。无源监听根据这一分析得出结论,当这些操作并不被保护以防攻击时则称之为“时间攻击”。例如,将不能防止时间攻击的密码验证操作可能与将已发送密码的字节与期望的密码的字节进行逐个字节相比较,并当出现某个字节不同时返回错误。基于验证功能出现密码不正确响应的所需时间,攻击者能够推断出前N个字节是正确的,并通过发送只修改第N+1个字节的可能密码,直到响应时间慢下来一些,这就表示第N+1个字节现在是正确的,这样他便继续进行第N+2字节,以此类推直到获得完整的密码。这里,为了猜出长度为K(以字节记)的密码,即使它是强密码时(字典攻击不可能的),则平均复杂度从1/2*(28)K降低到非常简单的平均复杂度K*27。为了避免时间攻击,有可能确保所有的敏感操作都具有恒定的执行时间,或者虽然持续时间可能变化但它对于操作中发生了什么不提供任何信息。也有可能采用其它策略:在之前的示例中,闭锁出现一定量的错误尝试的密码,这是PIN编码的通常做法。然而,通常而言,这些额外措施仅为针对时间攻击的补充防御,并非替代方法。例如,假定银行卡在出现五次不成功尝试后就闭锁PIN码,但仍会执行上文所述的不受保护的验证,有些人(例如青少年,雇员等)执有的银行卡(例如,他母亲的或他老板的)会有适当的银行密码,在其与经营者进行合法交易时,例如为在餐馆的商务午餐付款(这重置了不成功尝试的计数器)就有可能每次产生四次尝试。对于四位的PIN码,因此只需要平均20次尝试(意味着该卡会需要取5次),最多40次尝试来获取该PIN码,这实现起来是相当容易的。
基本的监听可包括从目标电子装置的特定测量来简单地识别其特定特征。例如,被称为SPA(简单功耗分析)的攻击就是如此。例如,以SA算法的“天真”实施方案中执行的模幂运算,当指数位等于1时的电力消耗(高消耗)与指数位等于0时的电力消耗(低消耗)就明显不同的。事实上,在通常的实施方案中,位于1的位涉及平方运算和乘法运算两者(被称为“平方和乘方”),而位于0的位仅涉及平方运算。通过监测模幂运算中电子消耗的轨迹,就能够识别出指数中对应着电力消耗起伏的一系列1和0。在涉及私有RSA密钥的情况下,RSA指数是非常机密的数据,该数据是私有RSA密钥的一个重要组成部分,一般而言不应该为电子装置之外的任何人所知。获得某人的私有签名密钥因此允许以他的名字来签名,并获得他的私有解密密钥允许解密他的消息。
然而,这些监听尝试(易于执行)并不总是有效的。越来越多详细描述的监听技术被人所知,例如所谓的DPA(差分功率分析)技术,在该技术中,攻击者可重复执行加密算法,以记录每次产生的轨迹(例如功率轨迹)。然后,攻击者基于多项记录进行统计计算并以一种更可靠和更难以防御的方式来获得信息。
为了防御这些攻击,有可能在电子装置中添加一些安全措施。例如,可将噪声添加至电源以使得他的分析更为困难,进行功耗的平滑(例如使用电容器),通过适当的屏蔽层来限制电磁辐射等。还有可能使用特定的内部时钟来随机选择的可变频率,从而产生那些难以使用的测量值(因为加密算法的运算将以一直在变的速率进行,这是攻击者不能提前知道的)。还有一些其它技术,例如包括控制对电子装置的物理访问和/或逻辑访问。例如,执行私有密钥加密算法的智能卡一般通过PIN码来保护相关的运算。暂时窃取到智能卡的人,往往希望在所有者不知情的情况下能提取出私有密钥然后将卡归还,在提供不出正确PIN的情况下就不能执行相关算法(被告知的用户凭记忆知道该PIN码并且不对任何人展示),从而将不能实现攻击。
这些对策极其有用,但它们本身通常是不够的,原因在于它们并不防御所有可能的攻击方案。另一种防护方法包括采用加密算法的保护措施,它由以产生最小波动(电或其他波动)的方式执行算法构成。
例如,有可能修改基于私有密钥的RSA算法的执行,使得它对于私有密钥的私有指数中的1位或0位执行具有相同(电或电磁等)的签名运算。例如,有可能在所有情况下都执行平方和乘法,并仅当该位为1时使用乘法运算的结果。很显然,应当非常警惕,并使得执行能尽量对称。例如,如果存在一种测试来验证乘法的结果是否应当被使用,这一测试必须以不考虑其结果的相同方式(或者至少以尽量相似的方式)来运行,原因在于否则无源监听可能利用这一测试来确定该位是0或者是1。
另一保护措施(可作为上述措施的补充)包括屏蔽敏感数据。敏感数据包括,例如,密钥,和/或使用加密算法所要被加密的输入消息,和/或在加密算法执行过程中所要操作的某些中间数据。在一些情况下,攻击者可能知道或选择将由加密算法处理的输入消息,并且可实现与当前计算有关的更为精确的预测。如果输入消息和/或中间数据以下述方式被屏蔽,原则上,就不能被攻击者预测,从而使得一些信息远离攻击者并因此使得攻击变得极为复杂。此外,假设该屏蔽对于加密算法的每次使用都不同,则统计分析可更加复杂化。例如,提出了一些通过屏蔽AES算法的防御方法来防御一侧信道的攻击。传统的解决方案是附加屏蔽,其中所需操作的数据x被已屏蔽数据x+m代替(+这里表示异或)。这可简单地通过算法的线性运算来实现。代替(非线性)表S[]然后由在得出新掩码后瞬间生成的屏蔽表(或者如果存储器容量允许的话由所有预存在存储器中的表)所替代。这样,对应于屏蔽代替表S′[]的屏蔽非线性运算应用于由随机掩码m1屏蔽的数据x,可记为如下形式:
y’=S’[x+m1]=y+m2=S[x]+m2
式中,m2是屏蔽代替表输出值的相应随机掩码。在该算法的结束时,其结果被解除屏蔽,以获得最终结果(原始数据,加密的以及解除屏蔽的)。
然而,有时攻击会成功克服由现有屏蔽技术所带来的困难。尤其是,某些种类的攻击,例如HO-DPA(高阶差分功率分析)攻击在某些情况下可能是特别难以避免的。在MarcJoye,Pascal Paillier和Berry Schoenmakers所著“二阶差分功率分析(On Second-OrderDifferential Power Analysis)”文中进行了具体解释(详见“Cryptographic Hardwareand Embedded Systems,CHES2005,Lecture Notes in Computer Science 3659(2005),293-308,Springer Verlag”)。因此,当攻击者成功将功耗(或其他此类信息)与计算进行多次关联时,他有时就能克服屏蔽。
发明内容
本发明旨在改进这一状况。
本发明涉及一种适用于针对监听的加密算法执行的保护方法,所述方法进行加密算法处理的数据的屏蔽。所述数据的屏蔽包括类型为x′=x.L+c的转换步骤,式中x是所需屏蔽的数据(例如,输入至加密算法的输入数据,中间敏感数据或密钥),x′是相应的屏蔽数据,c是线性码C中所包含的码字,以及L是线性码C中所不包含的线性无关向量构成的矩阵。该方法包括算法的修改执行,例如修改为功能等效的算法(是指对于相同的输入产生相同的输出),它包括至少一个通过转换(例如线性编码)所进行的屏蔽步骤,以及至少一个相应的通过解码所进行的解除屏蔽步骤。该执行可采用软件执行的形式。它也可采用电子形式来执行,例如微代码的执行。FPGA执行,ASIC执行,或通过ad-hoc电路开发的执行。软件执行一般是最易于实现的形式,但是在执行速度方面往往是低效的。
本方法有利于提供针对无源监听攻击的更为有效的防御。此外,不同于传统的屏蔽(例如一次性的密本),相同的掩码可多次使用。当相同的掩码(一次性的密本)多次使用时,这常常使得攻击者能克服该掩码。然而,使用本发明所提出的屏蔽,只要被窃取位置的数量低于给定的安全界限下,相同的掩码可能多次使用。
本方法还有利于类型为x.L+c的转换使得能够检测某些故障,主要是在算法结束时(但是还有可能在算法进行期间执行故障检测)。实际上,如果c已知,基于所接受到的结果y,有可能验证出y+c对于某个x确实具有x.L的形式。
根据一个实施例,码字c是在每次执行加密算法期间随机选择的。修改码字c有可能使得攻击变得更为复杂,并当它不被常常重新使用时更为有利。
根据一个实施例,矩阵L仅对加密算法的所有执行随机选择一次。这是有利的,原因在于此矩阵的生成通常非常慢,如果它重复执行太频繁会影响计算的速度,这可能是一个缺点。码字c已经添加了一些可变性,使得攻击变得非常复杂。然而,它可能适用于时不时地改变矩阵L(以提升的安全性)。例如,使用该保护方法的装置每次加电时就能生成新的矩阵L,在这种情况下,装置的开启会保持较长的时间周期。对于典型的智能卡,这不是非常有利,因为智能卡很少装备有电池或其它电源,并因此通常在每次交易结束(一般通过从终端取出卡片来结束交易)时都被掉电。有可能为智能卡提供计数器,每次加电时计数器递增,并当每次计数器达到某个阈值(例如值为20)时生成新的矩阵。还有可能在卡片用于某些环境时生成新的矩阵。例如,当智能卡被完全吞入ATM机中并且交易持续很长时间时,甚至仅仅只是由于点清账单的机械约束,这一时间可利用来生成新的矩阵。或者当使用非接触技术并用作公共运输(地铁/公交等)票据的智能卡进行充值时,例如每月一次。相反地,毋庸置疑的是,在快速交易期间(例如当非接触式银行卡用于在面包店购买一条面包或在高速路上支付通行费时或当非接触智能卡用于通过地铁门时)来生成新矩阵是不合适的,除非开发出比当前公知的通信协议快得多的协议。金融交易之间的区别可能基于,例如它们的金额(例如,可以确定对于少于15欧元的交易不生成新的矩阵)。还有可能使用特殊字段来识别交易类型,虽然根据上下文的内容,这可涉及不可接受的架构上的改变(例如在银行计算机网络中,它们通常具有很高的标准化)。
根据一个实施例,屏蔽(并因此该转换)在应用加密算法之前执行(即在其采用本发明方法保护之前的加密算法),并且解除屏蔽操作在应用加密算法之后执行。这有利于加密算法会自始至终在已屏蔽模式下运算。然而,还有可能仅仅只关注于加密算法的某些部分(例如仅屏蔽某些非常敏感的例程)。有可能仅仅只屏蔽可相应重写(典型地f(x.L)=f(x).L)的线性操作,从而允许最小化对加密算法的改变,虽然安全性有时会有些降低。解除屏蔽可通过解码来实现,例如通过对线性码应用奇偶校验矩阵。
根据一个实施例,加密算法是执行非线性运算的算法(例如DES算法或Blowfish算法的S-Box,或者AES算法的非线性运算)。非线性运算S可由非线性运算S′代替,使得S′(x.L+c)=S(x).L+c′,式中c′是线性码C的码字。实际上,几乎所有加密算法都会采用非线性操作,这是因为线性算法的属性使得它很容易被推测出,这通常是加密算法所不被期望的。例如,如果加密算法是线性的,就有可能如果已知各个消息的加密信息就能知道两个消息之和的加密信息,这在原理上是不可接受的。因此,这一实施例对于确保非线性加密算法从始至终的安全性来说是有用的,原因在于它解决了当存在非线性运算时解除屏蔽的问题,这是常有的情况。
根据一个实施例,加密算法包括多次循环,每次循环包括同一非线性运算S,以及在每次循环期间非线性运算S由同一非线性运算S′代替。这有利于使用每次循环都不同的另一运算来代替非线性运算在性能方面开销很大,而保持相同使之有可能保持可接受的速度,特别是对具有有限资源的装置而言,例如早期只具有速度非常低的处理器和少量存储器的智能卡。
在上述两个实施例中,可以安排以确定非线性运算S′,使得c′=c,从而简化解除屏蔽的运算。在任何情况下,都需要对已屏蔽对象的内容解除屏蔽,使得保护加密算法可产生与不使用附加保护措施的加密算法的相同结果。
本发明还涉及一种电子装置,包括适用于执行加密算法的单元(加密算法执行单元)以及相关的屏蔽模块。屏蔽模块构成用于类型为x′=x.L+c的转换,其中x是所需屏蔽的数据,x′是相应的已屏蔽数据,c是线性码C所包含的码字以及L是线性码C所不包含的线性无关向量构成的矩阵。
上述与该方法相关的实施例可转换应用于装置;尤其是,根据一个实施例,屏蔽模块构成在加密算法的每次执行期间随机选择码字c。根据一个实施例,屏蔽模块对于加密算法的所有执行仅仅只随机选择一次矩阵L。根据一个实施例,屏蔽模块构成屏蔽在应用加密算法之前执行,并解除屏蔽操作在应用加密算法之后执行。根据一个实施例,执行单元的加密算法是执行非线性运算S的算法,并且屏蔽模块构成使用非线性运算S′来代替非线性运算S,使得S’(x.L+c)=S(x).L+c’,其中c’是线性码C的码字。根据一个实施例,执行单元的加密算法包括多次循环,每次循环都包括同一非线性运算S,并且屏蔽模块构成在每次循环期间使用同一非线性运算S′来代替非线性运算S。根据上述两个实施例的一个可能实施例,c′=c。
本发明的其它方面、特征和优点将通过阅读实施例的详细说明而变得更为清晰。
附图说明
参考下述附图将更好地理解本发明:
图1示出了根据本发明的方法,
图2示出了根据本发明的装置,以及对该装置的攻击企图中使用的设备。
具体实施方式
图1示出了根据本发明方法的概括性示意图。在此方法中,处理过程开始于屏蔽数据CL_TXT(针对“明文(clear text)”),例如在MSK步骤中针对所需加密的数据项;然后,执行要保护的加密算法ALG(例如AES的加密算法);接着,结果最终解除屏蔽(unmasked)(在步骤U_MSK中,针对“解除屏蔽(unmask)”),以便恢复值CR_TXT(从“密文”或已加密文本中恢复),它通常是没有屏蔽情况下由算法ALG所产生的。换句话说,如果使用线性码的屏蔽MSK以及解除屏蔽U_MSK(使用相应的解码)的两个步骤被消除,则仅仅只保留加密算法ALG,也能从输入CL_TXT获得相同的输出CR_TXT,这意味着该算法在不影响其互操作性的情况下通过屏蔽变得更加安全。在加密算法中,屏蔽运算MSK与解除屏蔽运算U_MSK结合,从而获得加密算法ALG的一种特殊执行,其在功能上与现有的那些技术相同,只不过对于无源监听攻击而言要安全得多,尤其是对于例如HODPA攻击来说更是如此。图1所示的表述简化为这种最常见的情况,它不是明显的在步骤ALG中执行的已知加密算法ALG,而是此算法的修改版本,以使能在非线性运算情况下的屏蔽/解除屏蔽。
图2示出了根据本发明的智能卡SC。智能卡是本发明尤其有利的装置的一个可能示例,考虑到它在密码领域的多种应用(SIM卡验证移动电话用户至运营商,银行卡在金融交易过程中验证卡片的持有者,健康保险卡等)。然而,本发明可应用至任何的便携装置,例如电子护照,电子签证(e-visa),电子驾照,安全USB密钥,安全MMC卡,安全令牌等。本发明还可应用于个人电脑、服务器、SSL加速器等。大多数个人电脑是不安全的,不像诸如智能卡的被保护装置。这使得计算机易受攻击,该攻击比本发明所能预防的攻击更易于执行,例如保护基于软件的攻击。这些软件攻击(通过病毒,木马等)能够常常可远程执行而无需物理接入。可能看起来荒谬的是,试图预防复杂和限制性的攻击,例如无源监听攻击,当位于另一大陆的攻击者可能远程控制计算机并以对他来说更简单更安全的方式检索关键信息时(不存在入侵,该装置未被盗窃等)。然而,一些个人电脑(例如在军事环境中使用的电脑)高度防御纯基于软件的攻击,在这一环境下,有利于保护它们防御无源监听攻击。
图2还示出了一种伪造智能卡FSC,它仅仅只是智能卡形状的连接器,并在标准位置处具有电触点,这些触点可通过HODPA装置连接至真正智能卡SC的相应触点,这使得HODPA类攻击成为可能。将HODPA装置串联在作为攻击者目标的真正智能卡SC和伪造智能卡FSC之间,伪造智能卡FSC在应该接受真正智能卡SC的终端和此真正智能卡SC之间创建物理接口。在该实例中,伪造智能卡FSC的目的是监视智能卡SC的当前消耗而不是使用该卡来修改终端(尤其是智能卡读取器)。在本发明中,智能卡SC更能防御此类攻击,HODPA装置从智能卡SC中提取出目标信息是非常困难的。
由于本发明基于线性码的使用,值得去做的是,记得线性码是一种特定类型的纠错码。线性码C是n维向量空间Fq n,其中Fq是具有q个元素的有限域。这可以为域F2(q=2),这种情况下,线性码为二进制码。让我们将对应于线性码C的向量子空间的维度称为n-k。线性码C由生成矩阵G定义。元素c(更一般地说码C的任一元素)可分解为向量基(v1,v2,...,vn-k)的线性组合形式c=m1v1+m2v2+...+mn-kvn-k或者c=mG,其中m=(m1,m2,....mn-k),G为生成矩阵(大小为(n-k)*n)。同样,还定义一个大小为n*k的奇偶校验矩阵,使得线性码C的每个元素c,c.H=0,并且相互的,如果c.H=0,则c是线性码C的一个元素。
通常,m表示由线性码C编码的消息。然而,在本发明的内容中,码字c无需表示一个特定消息。因此,它可随机选择,类似于在用于窃听信道的编码中所采取的方式。使用窃听信道,目的在于在可能存在能够截取通信的间谍的情况下将消息从发送者传输至接收者。它假定传输信道是不完美。信道编码构成使得攻击者不能以所截取的消息中的误码率来解码该消息,而接收者所接受到的消息可以在接收机中以误码率进行解码。
根据本发明的一个实施例,由线性码保护的数据仅仅只用于加密算法内。这意味着没有受窃听信道编码保护的数据的合法发送者或合法接收者的概念,也没有误码率的概念。线性码在用于加密算法的计算中,这通常不需要在真正算法执行期间与其它实体进行通信。当该装置是多任务装置时,可不排除该装置在它执行加密算法时与外界通信。同样,该装置这也不排除执行安全协议(例如密钥交换协议,例如Diffie-Hellman,或基于对称密码的协议),其中连续的密码运算由两方执行,它们逐渐交换安全协议的结果,以便例如在安全协议的结尾获得通用密钥。在这部分内容中,本发明可用于保护在该协议下执行的各种密码运算。加密算法有时有可能不能正确地表示为一种安全协议,例如上文描述的其中一种。然而,就本发明的意义而言,这并不是一种加密算法,而是一种使用一连串加密算法的协议。在修改的加密算法中,一般不存在通过任何通信信道的受信道编码保护的数据的主动传输。原则上,这意味着没有数据丢失,除非例如存在基于故障的攻击(例如DFA攻击),或者如果加密算法在有缺陷的电子装置上执行。除了这些特定状况之外,信道可被认为一种完美的虚拟信道(由于不存在已屏蔽数据的真正传输)。然而,对于试图无源监听攻击的攻击者而言,存在一个传输信道,它是被使用的一侧信道(例如电磁传输或功耗,使用HODPA攻击暗中监视)。此信道并不完美,并且一般它甚至可被认为相当嘈杂并被很多存在于电子装置中的典型对策破坏。
根据一个实施例,为了能操控在加密算法内具有k位的敏感数据x,同时又能容忍最多mu位的泄露,按以下方式处理:
-创建具有大小为(n-k)*n的生成矩阵G的线性码C以及大小为n*k的奇偶校验矩阵H,使得它的所有大小为(n-mu)*k的子矩阵(即具有(n-mu)行、k列的子矩阵)的秩为k,
-创建具有n位并且线性码C不包含的L1,L2,...Lk线性无关k向量,
-随机选择一个码字C=mG,
-然后,以向量(x1,x2,...xk)形式表示的敏感数据x编码为x’=x.L+c,其中x.L=x1.L1+...+xk.Lk。在线性码C为二进制码(域F2)的情况下,“+”运算一般可为典型的异或运算。
此实施例有利于它能够容忍许多位对于任意大的n的直到mu=n-k的泄露。
敏感数据x可为诸如明文CL_TXT,它可用于要保护的加密算法ALG加密。然而,它还可为其它信息,例如,在算法ALG执行期间操控的密钥或者例如轮密钥的子密钥。它还可为将使用加密算法ALG(例如AES算法)解密的已加密数据,所需签名的数据(明文或密文)或者所需验证其签名的已签名数据等。
假定线性码C的生成矩阵G,由线性码C随机选择码字可简单地由随机在向量空间Fq n-k中选择向量m所构成,然后计算c=mG。这可在每次使用加密算法时执行。
为了确定码字C所不包含的构成矩阵L的k个线性无关向量L1,L2,...Lk,可随机选择第一向量Ltest,然后可通过应用奇偶校验矩阵H(或换句话说通过计算LtestH)来验证该向量是否在该码中。如果结果是零,则向量Ltest在线性码C中并且该运算使用新的随机向量重复进行。否则,定义L1=Ltest并且重复生成向量Ltest直到找到线性码C所不包含的新的向量,然后可执行诸如高斯消去法的算法,以便确定直到此时(这里为L1和最后的Ltest)所生成的向量是否线性相关。如果相关,抛弃最后生成的向量Ltest并随机选择一个新的向量(直到找到线性码C所不包含的向量Ltest)。如果不相关,定义L2=Ltest并随机选择一个新的向量Ltest直到它不在线性码中,然后基于所有直到此时生成的向量(L1和L2,它们被故意公知为非线性相关的,加上最后的Ltest)计算高斯消去法,以此类推直到存在k个无关向量。这些k个线性无关向量L1,L2,...Lk对于每个目标装置仅仅只选择一次。例如,对于智能卡来说,该向量在所述智能卡的卡片个性化步骤中可为各个智能卡(分别)计算。它们还可随时重新生成,正如上文所解释的那样。
本发明在诸如AES算法的对称加密/解密算法的内容中尤其有利。
传统AES算法(根据现有技术是非常公知的)的主要步骤为:
1.AddRK(K0)=AddRoundKey(K0)
2.For i from 1 to 9:(对i进行计算i为1至9)
(a)S=SubBytes;
(b)SR=ShiftRows;
(c)MC=MixColumns;
(d)AddRK(Ki).
3.S;
4.SR;
5.AddRK(K10)
于是,在执行完后,在这里未示出的预备步骤中,根据给定加密密钥生成轮密钥为K0...K10的密钥扩展运算,我们看到:由使用轮密钥组合状态的各个字节构成的AddRoundKey运算(通过异或)。在此之后,进行连续九次循环,每次循环包括SubByte运算(它是非线性运算,其中每个字节可以使用代替表中的另一字节来代替),ShiftRows运算,它执行转置,在转置期间,状态矩阵的每行都循环移位,MixColumn运算(它组合状态矩阵每列中的列的四个字节),最后进行上文已经描述过的AddRoundKey运算。在九次循环结束后,AES算法再次执行SubBytes运算,然后进行ShiftRows运算,之后为AddRoundKey运算。
根据一个实施例,AES算法以下述方式自始至终得到保护。
首先,执行预先配置(preconfiguration)。与现有技术的常规附加屏蔽不同,该运算将在与用于常规AES算法的中间变量的维度不同的维度中使用中间变量执行。此预先配置可能仅仅只执行一次(意味着仅有一次不考虑AES算法将随后使用的次数)。预先配置例如由生成新的运算AddRK′,SR′,和MC′构成,这样:
AddRK’(K)=AddRK(K).L
SR’(x.L)=SR(x).L
MC’(x.L)=MC(x).L
这些计算易于执行(因此在性能方面开销不大),因为这些都是线性运算。此预先配置步骤可在例如工厂中执行,在将执行这一实施例的对电子组件进行光掩模的步骤中,修改的运算AddRK′,SR′和MC′例如被存储在作为智能卡操作系统一部分的ROM中。还可能的是电子地运行AddRK′,SR′和MC′运算(例如作为硬连线逻辑),通常它具有比使用由处理器所执行的软件执行更快的优点。
然后,对于掩码的每次改变执行一个预备步骤(这可在例如每次使用AES算法时执行或者没那么频繁,特别是如果选择了十分大的n参数)。预备步骤例如可由随机选择两个码字c和c′、生成S′适用于所有x,S′(x.L+c)=S(x).c′(这里为了与性能相关的原因,同一S′可用于算法的每次循环,虽然不同的S′用于每次循环可能非常好,这会在安全性上提供轻微的一般提升)。
最后,执行这一步骤,其中数据x使用根据本发明修改的AES算法加密,如下所示
0.calculate x.L+c from x(通过x,计算x.L+c)
1.AddRK’(K0)
2.for i from 1 to 9:(通过i计算,i为1至9)
(a)S’;
(b)SR’;
(c)MC’;
(d)AddRK’(Ki)
(e)x=x+c+MC’(SR’(c’))
3.S’;
4.SR’;
5.AddRK’(K10).
6.Apply the parity check matrix H to obtain the final result.
(使用基偶校验矩阵H,获得最终结果)。
这样,在步骤0中使用线性码执行屏蔽。在步骤2(e)中,校验屏蔽,以考虑下述事实:非线性运算使用常量c′,它不同于在步骤9中初始屏蔽期间使用的常量(常量c)。在步骤6中,使用奇偶校验矩阵获得映射的结果数据。这就消除了线性码中的所有组织部分,从而恢复数据,它应当在没有屏蔽的情况下已经使用AES算法所生成的。在步骤6中,在应用奇偶校验矩阵H后,有能够执行结果矩阵(x.L).H的逆变换。
还有可能将掩码(另一码字)添加至使用密钥的运算(特别是AddRk′运算),这将进一步加强屏蔽,使之更难攻击。在这种情况下,使用本发明的修改AES算法加密数据x的步骤可执行以下方式:
0.calculate x.L+c1 from x,where c1 is a random codeword
(通过x计算x.L+c1,其中c1为随机码字)
1.AddRK’(K0)+c2,with c1+c2=c
2.for i from 1 to 9:
(通过i进行计算,i为1至9)
(a)S’;
(b)SR’;
(c)MC’;
(d)AddRK’(Ki)+c2
(e)x=x+c1+MC’(SR’(c’))
3.S’;
4.SR’;
5.AddRK’(K10)+c3,with random c3.
(AddRK’(K10)+c3,随机的c3)
6.Apply the parity check matrix H to obtain the final result.
(应用基偶校验矩阵H获得最终结果)
该码可选择为最小化运算(e)。
在一些配置中,代替执行步骤(e):x=x+c+MC’(SR’(c’)),有可能在步骤(e)中应用函数D(x,c),它以x和码字c作为输入而不是码字c’。这例如可通过使用奇偶校验矩阵来实现,该矩阵与包括所有MC’(SR’(cc))的码相关,其中cc覆盖初始码的所有字。这一实施例的优点为它消除了保持c’值的需要。
一种简单示例性的实施例(尤其是当SR′和MC′可以直接根据SR和MC推导出时)对应于x.L具有值[x,0...0](x后跟随着n-k个零)的情况。
当然,本发明并不限制于上述示例性实施例;它还应用于其它变型。
因此,虽然上文描述了用于保护AES的加密步骤的方法,但还有可能以相同的方式来保护AES的解密步骤。此外,虽然描述的实施例只涉及AES算法,但本发明也可应用于所有类型的加密算法,尤其是DES算法(及其3DES变型)和RC4算法,还可应用于非对称算法或哈希函数(例如SHA-1,MD5,SHA-256或者RIPEMD-160),其中可能令人满意的是保护某些线性函数。
此外,根据本发明的方法并不排除使用其它方法。例如,有可能将根据本发明的方法与其他对策组合,例如现有技术的附加屏蔽。这种被操控的数据可分类,例如,通过敏感等级,由简单附加掩码保护的较低敏感度数据,由根据本发明的屏蔽保护的较高敏感度的数据,以及使用两种数据屏蔽(常规附加屏蔽和根据本发明的屏蔽两者)来保护的最高敏感度的数据。所有的组合都是可能的。

Claims (14)

1.适用于加密算法(ALG)执行的保护方法,通过对由加密算法(ALG)所处理的数据实施屏蔽(MSK),所述方法针对无源监听保护加密算法(ALG)的执行,其特征在于:所述数据的屏蔽(MSK)包括类型为x′=x.L+c的转换步骤,其中x是要屏蔽的数据(CL_TXT),x′是相应的已屏蔽数据,c是线性码C包含的码字以及L是线性码C不包含的线性无关向量构成的矩阵。
2.根据权利要求1所述的保护方法,其特征在于,所述码字c在加密算法(ALG)的每次执行期间随机选择。
3.根据上述权利要求中任一项所述的保护方法,其特征在于,所述矩阵L在加密算法(ALG)的所有执行中仅仅只随机选择一次。
4.根据权利要求1所述的保护方法,其特征在于,所述屏蔽在使用加密算法(ALG)之前执行以及解除屏蔽在使用加密算法(ALG)之后执行(U_MSK)。
5.根据权利要求1所述的保护方法,其特征在于,所述加密算法(ALG)是使用非线性运算S的算法,所述非线性运算S被非线性运算S′代替,使得S’(x.L+c)=S(x).L+c’,其中c’是线性码C的码字。
6.根据权利要求5所述的保护方法,其特征在于,所述加密算法(ALG)包括多次循环,每次循环都包括同一非线性运算S,并且在每次循环期间,该非线性运算S被同一非线性运算S′所代替。
7.根据权利要求5所述的保护方法,其特征在于,c′=c。
8.包括加密算法执行单元以及相关的屏蔽模块的电子装置(SC),其特征在于,所述屏蔽模块设置为通过类型为x′=x.L+c的转换的执行,针对无源监听保护加密算法的执行,其中x是要屏蔽的数据,x′是相应的已屏蔽数据,c是线性码C包含的码字,以及L是线性码C不包含的线性无关向量构成的矩阵。
9.根据权利要求8所述的电子装置(SC),其特征在于,所述屏蔽模块构成码字c在加密算法(ALG)每次执行期间随机选择。
10.根据权利要求8所述的电子装置(SC),其特征在于,所述屏蔽模块构成矩阵L对于加密算法(ALG)的所有执行仅仅只随机选择一次。
11.根据权利要求8所述的电子装置(SC),其特征在于,所述屏蔽模块构成屏蔽在使用加密算法(ALG)之前执行以及解除屏蔽运算在使用加密算法(ALG)之后执行(U_MSK)。
12.根据权利要求8所述的电子装置(SC),其特征在于,所述执行单元的加密算法是使用非线性运算S的算法,并且其中屏蔽模块构成使用非线性运算S′代替非线性运算S,使得S’(x.L+c)=S(x).L+c’,其中c’是线性码C的码字。
13.根据权利要求12所述的电子装置(SC),其特征在于,所述执行单元的加密算法(ALG)包括多次循环,每次循环都包括同一非线性运算S,并且其中屏蔽模块构成在每次循环期间使用同一非线性运算S′来代替该非线性运算S。
14.根据权利要求12所述的电子装置(SC),其特征在于,c′=c。
CN201180063664.7A 2010-11-08 2011-11-08 针对无源监听的保护 Active CN103404073B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1059208A FR2967322B1 (fr) 2010-11-08 2010-11-08 Protection contre les ecoutes passives
FR1059208 2010-11-08
PCT/FR2011/052602 WO2012062994A1 (fr) 2010-11-08 2011-11-08 Protection contre les ecoutes passives

Publications (2)

Publication Number Publication Date
CN103404073A CN103404073A (zh) 2013-11-20
CN103404073B true CN103404073B (zh) 2016-09-07

Family

ID=44168939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180063664.7A Active CN103404073B (zh) 2010-11-08 2011-11-08 针对无源监听的保护

Country Status (12)

Country Link
US (1) US9847879B2 (zh)
EP (1) EP2638660B1 (zh)
CN (1) CN103404073B (zh)
AU (1) AU2011327986B2 (zh)
BR (1) BR112013012216B1 (zh)
CA (1) CA2816933C (zh)
FR (1) FR2967322B1 (zh)
IL (1) IL226229A (zh)
MY (1) MY160671A (zh)
RU (1) RU2579990C2 (zh)
SG (1) SG190188A1 (zh)
WO (1) WO2012062994A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2995111B1 (fr) * 2012-09-04 2015-07-24 Morpho Protection contre canaux auxiliaires
US20180018147A1 (en) * 2015-01-15 2018-01-18 Mitsubishi Electric Corporation Random number expanding device, random number expanding method, and non-transitory computer readable recording medium storing random number expanding program
CN106254382B (zh) * 2016-09-13 2020-02-18 浙江宇视科技有限公司 媒体数据的处理方法及装置
CN107466453B (zh) * 2017-03-16 2020-11-24 深圳大趋智能科技有限公司 Des软件防dpa攻击的方法及装置
EP3557471B1 (en) * 2018-04-20 2022-08-03 ARM Limited Power rail noise monitoring to detect attempted security tampering or side channel attacks
CN109617667B (zh) * 2018-09-17 2020-09-29 中国科学院信息工程研究所 一种针对aes算法线性部分的高效掩码防护方法
FR3095709B1 (fr) * 2019-05-03 2021-09-17 Commissariat Energie Atomique Procédé et système de masquage pour la cryptographie
US11640276B2 (en) 2020-11-17 2023-05-02 Kyndryl, Inc. Mask device for a listening device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7292693B1 (en) * 1998-08-13 2007-11-06 Teledyne Technologies Incorporated Deterministically generating block substitution tables which meet a given standard of nonlinearity

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19940341A1 (de) * 1999-08-25 2001-03-01 Kolja Vogel Verfahren zum Schutz von Daten
FR2820577B1 (fr) * 2001-02-08 2003-06-13 St Microelectronics Sa Procede securise de calcul cryptographique a cle secrete et composant mettant en oeuvre un tel procede
US7899190B2 (en) * 2004-04-16 2011-03-01 Research In Motion Limited Security countermeasures for power analysis attacks
US20060002548A1 (en) * 2004-06-04 2006-01-05 Chu Hon F Method and system for implementing substitution boxes (S-boxes) for advanced encryption standard (AES)
FR2875318A1 (fr) * 2004-09-15 2006-03-17 St Microelectronics Sa Protection d'un algorithme des
WO2008064704A1 (en) * 2006-11-30 2008-06-05 Telecom Italia S.P.A Method and device for preventing information leakage attacks on a device implementing a cryptographic function
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
US8582765B2 (en) 2007-08-01 2013-11-12 Stmicroelectronics S.A. Masking of data in a calculation
FR2941342B1 (fr) 2009-01-20 2011-05-20 Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst Circuit de cryptographie protege contre les attaques en observation, notamment d'ordre eleve.

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7292693B1 (en) * 1998-08-13 2007-11-06 Teledyne Technologies Incorporated Deterministically generating block substitution tables which meet a given standard of nonlinearity

Also Published As

Publication number Publication date
EP2638660B1 (fr) 2015-01-07
FR2967322B1 (fr) 2012-12-28
WO2012062994A1 (fr) 2012-05-18
AU2011327986B2 (en) 2016-08-18
CN103404073A (zh) 2013-11-20
IL226229A (en) 2017-03-30
AU2011327986A1 (en) 2013-05-30
SG190188A1 (en) 2013-06-28
US20130230170A1 (en) 2013-09-05
EP2638660A1 (fr) 2013-09-18
IL226229A0 (en) 2013-07-31
FR2967322A1 (fr) 2012-05-11
MY160671A (en) 2017-03-15
RU2013126539A (ru) 2014-12-20
BR112013012216A2 (pt) 2016-08-09
US9847879B2 (en) 2017-12-19
CA2816933C (fr) 2018-06-12
CA2816933A1 (fr) 2012-05-18
BR112013012216B1 (pt) 2021-01-26
RU2579990C2 (ru) 2016-04-10

Similar Documents

Publication Publication Date Title
CN103404073B (zh) 针对无源监听的保护
US9497021B2 (en) Device for generating a message authentication code for authenticating a message
CN105024803B (zh) 白箱实现中的行为指纹
CN109840770A (zh) 一种智能合约执行方法及智能合约执行系统
CN105406957B (zh) 保护密码设备对抗实现攻击
Verdult The (in) security of proprietary cryptography
Gao et al. Secure RFID authentication schemes based on security analysis and improvements of the USI protocol
Zhou et al. Implementation of cryptographic algorithm in dynamic QR code payment system and its performance
Shivaramakrishna et al. A novel hybrid cryptographic framework for secure data storage in cloud computing: Integrating AES-OTP and RSA with adaptive key management and Time-Limited access control
Alawatugoda On the leakage-resilient key exchange
Jensen et al. A secure credit card protocol over NFC
Akram et al. Remote attestation mechanism for user centric smart cards using pseudorandom number generators
Shi et al. An obfuscatable designated verifier signature scheme
Radanliev Cyber-attacks on Public Key Cryptography
Seo et al. Secure RFID authentication scheme for EPC class Gen2
Zhang Application of hybrid encryption algorithm in physical layer software control
Drăguşin et al. A Brief Overview Of Current Encryption Techniques Used In Embedded Systems: Present And Future Technologies
Mieno et al. Formal Verification of Authenticated Encryption with Associated Data with Tamarin Prover
Galissant Contributions to white-box cryptography: models and algebraic constructions
Jain Honey2Fish-An enhanced hybrid encryption method for password and messages
Surve et al. The Emergence of Cryptography in Blockchain Technology
Mozipo Systematic Characterization of Power Side Channel Attacks for Residual and Added Vulnerabilities
Fischlin et al. Verifiable Verification in Cryptographic Protocols
Hanzlik et al. CTRL-PACE: Controlled Randomness for e-Passport Password Authentication
Harvin HANDBOOK OF CRYPTOGRAPHY

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
CP03 Change of name, title or address

Address after: French Kubeva

Patentee after: Adimia - Identity and Security France

Country or region after: France

Address before: Isis Mulinox, France

Patentee before: MORPHO

Country or region before: France