认证装置及方法与流程

文档序号:12289847阅读:189来源:国知局
一种涉及认证装置及方法,尤其是,涉及基于公开密钥加密算法对认证装置的安全攻击的加强提高。
背景技术
::在器件(device)认证或消息电子签名,使用利用公开密钥加密算法的签名技巧。例如,加密演算法(RSA,RiverShamirAdleman)是将公开密钥和个人密钥做成组,执行加密和译码的网络加密及认证方法,个人密钥到器件、公开密钥传达到如认证机关的相对器件被保管。一方面,基于如RSA的公开密钥算法,个人密钥被暴露/流出时,可伪造签名,所以,个人密钥成为安全攻击,即边信道攻击(sidechannelattack)的目标。边信道攻击方法中,收集大量的数据,统计分析的查分功率分析(DPA,DifferentialPowerAnalysis)攻击,被知为非常强。一方面,物理不可克隆功能(PUF,PhysicallyUnclonableFunction)可提供不可预知(unpredictable)数字值。各自的PUF被提供正确的制造工程,即使在相同的工程被制造,所述各自的PUF提供的数字值不同。PUF也可被称为不可复制的物理单向函数几乎是不可能被复制的(POWF,PhysicalOne-WayFunctionpracticallyimpossibletobeduplicated)。这些PUF的不可复制的特性可用于生成安全和/或认证的器件标识符(identifier)。比如说,为了提供区别器件和其他器件的独特区分的关键设备(uniquekeytodistinguishdevicesfromoneanother),可利用PUF。在韩国申请专利10-1139630号(以下’630专利),示出了体现PUF的方法。在’630专利示出了,利用半导体的工艺变异(processvariation),概率性的决定半导体导电性层之间的层间接触(inter-layercontact)或渠道(via)生成与否的方法。技术实现要素:技术方案根据实施例,示出了强于边信道攻击的认证装置及认证方法。比如,示出了即能利用公开密钥算法,也使DPA攻击不可行或无意义的认证装置及方法。根据实施例,公开密钥-个人密钥配对为固定的值,不能反复的使用,而且,需要认证时,可计时(instantly)的生成被使用。根据一个实施例,提供包括至少一个处理器,在根据使用公开密钥加密算法(encryptionalgorithmusingpublickey),比如非对称密钥加密算法(asymmetrickeysencryptionalgorithm)的RSA,执行认证步骤的认证装置。装置具有已生成的固定个人密钥p,q。根据一个实施例,装置可包括:生成单元,应答于对应所述算法的电子签名所需的情况,生成第一即时公开密钥;计算单元,利用所述固定个人密钥和所述第一即时公开密钥,计算在所述算法与所述第一即时公开密钥成对的第一即时个人密钥;及处理单元,利用所述第一即时个人密钥,生成由所述算法的电子签名。所述生成单元、所述计算单元及所述处理单元,可由所述至少一个处理器,至少一次性地被体现。根据一个实施例,装置还包括:通信单元,将传送的消息与所述电子签名及所述第一即时公开密钥一起传送到对方器件。根据一个实施例,装置通过公开密钥生成算法,生成所述固定个人密钥饼保有。所述固定个人密钥利用所述第一即时公开密钥,在计算所述第一即时个人密钥和使用之前在发放过程中,传达到其他器件生成之后一起用于签名验证的固定公开密钥时被利用。示例性的,但不限定的,所述认证装置还可包括PUF,利用随意发生的工艺变异,提供硬件指纹。根据一个实施例,此PUF的值可直接或间接地用于所述固定个人密钥值。在这种情况下,不需要在存储器直接存储所述固定个人密钥,可保护从物理攻击的所述固定个人密钥。这很强的保障所述固定个人密钥只存在于相应器件内,所以,也保障在其他器件不可任意地制作即时公开密钥-个人密钥配对。此外,在其他实施例,所述PUF的值也可直接或间接的利用在制造即时公开密钥。比如,可用于在随机数字生成过程的种子值或根源值。在这种情况下,将PUF用于随机数字生成算法的根源值,可附加的期待各器件生成的随机数字生成结果为相互独立的,或值相异的效果。一方面,应答于从所述器件接收的再传松请求,可如下对应。由单纯通信错误的再传松请求时,可再传送生成的消息。但是在其他情况下,比如,错误的签名或怀疑具有攻击时,废止第一即时公开密钥生成与此相异的新的第二即时公开密钥,重新生成电子签名并传送。根据一个实施例,判断在所述计算结果与所述第一即时公开密钥成对的所述第一即时个人密钥不存在时,所述生成单元生成与所述第一即时公开密钥相异的第二即时公开密钥。由此,所述计算单元在所述算法计算与所述第二即时公开密钥成对的第二即时个人密钥。一方面,所述生成单元为了生成所述第二即时公开密钥,不执行所述随机数字生成过程,反而,可将在所述第一即时公开密钥加正数2的数,决定为所述第二即时公开密钥并提供。在第一即时公开密钥加“2”的正数是示例性的,所以,可变更为其他值。如果,所述加密算法是加密演算法中国剩余定理RSA-CRT(ChineseRemainderTheorem)算法时,所述计算单元计算的所述第一即时个人密钥包括第一dP值及第一dQ值。在此RSA-CRT实施例,根据所述计算结果,判断所述第一dP值及所述第一dQ值中任何一个也不存在时,所述生成单元生成与所述第一即时公开密钥相异的第二即时公开密钥。并且,所述计算单元在所述算法计算与所述第二即时公开密钥成对的第二dP值及第二dQ值。根据其他一个侧面,提供包括至少一个处理器,在根据公开密钥加密算法验证对方器件传送的电子签名的认证装置,比如,认证机关(CA,CertificationAuthority)。装置可包括:处理单元,利用保有的所述对方器件的固定公开密钥及所述对方器件即时生成,与所述电子签名一起传送的第一即时公开密钥,验证所述电子签名。根据一个实施例,装置还可包括:判断单元,所述第一即时公开密钥不是3以上的奇数时,判断所述第一即时公开密钥无效。一方面,所述处理单元和所述判断单元可由所述至少一个处理器,至少一次性地被体现。又根据其他实施例,提供包括至少一个处理器的认证装置认证装置,其包括:判断单元,判断从对方器件接收的第一即时公开密钥是否为有效值;及处理单元,所述第一即时公开密钥为有效值时,利用保有的所述对方器件的固定公开密钥和所述第一即时公开密钥,编码将传送的数据。所述判断单元和所述处理单元可由所述至少一个处理器,至少一次性地被体现。示例性的,但不限定的,所述第一即时公开密钥,可在所述对方器件通过随机数字生成过程被生成。根据一个实施例,所述第一即时公开密钥不是3以上的奇数时,所述判断单元可判断所述第一即时公开密钥时无效的。又根据其他一个侧面,提供包括至少一个处理器,在根据公开密钥加密算法验证,执行认证步骤的认证装置。装置可包括:生成单元,应答于所述认证步骤的执行,通过随机数字生成过程,生成第一即时公开密钥;计算单元,利用所述第一即时公开密钥,计算在所述算法与所述第一即时公开密钥成对的第一即时个人密钥;及处理单元,从收到所述第一即时公开密钥的对方器件,利用所述对方器件预先保有的固定公开密钥和所述第一即时公开密钥,接收编码的消息时,利用所述第一即时个人密钥解码所述消息。所述生成单元、所述计算单元、所述处理单元可由所述至少一个处理器,至少一次性地被体现。根据一个实施例,所述认证装置还可包括:PUF,利用随意发生的工艺变异,提供硬件指纹。在这种情况下,所述随机数字生成过程包括:随机数字生成算法,将所述硬件指纹利用为根源值。根据一个实施例,在所述计算结果判断与所述第一即时公开密钥成对的所述第一即时个人密钥不存在时,所述生成单元生成与所述第一即时公开密钥相异的第二即时公开密钥。并且,所述计算单元可在所述算法计算与所述第二即时公开密钥成对的第二即时个人密钥。又根据其他一个侧面,提供存储在计算机可判读记录媒体的非一次性计算机程序。所述程序在包括处理器的计算装置被执行时,可包括使所述处理器运行的以下指令组。其指令组可包括:指令组,所述处理器应答于对应消息的电子签名生成请求,通过随机数字生成过程,使生成第一即时公开密钥;指令组,所述处理器利用所述第一即时公开密钥,使计算与所述第一即时公开密钥成对的第一即时个人密钥;及指令组,所述处理器利用所述第一即时个人密钥,使生成由公开密钥算法的电子签名。又根据其他一个侧面,提供存储在计算机可判读记录媒体的非一次性计算机程序。所述程序在包括处理器的计算装置被执行时,可包括使所述处理器运行的以下指令组。其指令组可包括:指令组,所述处理器判断从对方器件一起接收的消息及电子签名的第一即时公开密钥是否有效;及指令组,所述第一即时公开密钥有效时,所述处理器利用存储在所述计算装置的所述对方器件的固定公开密钥及接收的所述第一即时公开密钥,验证所述电子签名。附图说明图1是示出根据一个实施例,提供即时公开密钥和即时个人密钥认证装置的框图。图2是示出根据一个实施例,收到对方生成的即时公开密钥使用装置的框图。图3是示出根据一个实施例的电子签名验证过程的流程。图4是示出根据一个实施例的编码即解码过程的流程。图5是示出根据一个实施例,处理不存在即时个人密钥情况的流程。图6是示出根据一个实施例,适用RSA-CRT算法时,处理不存在个人密钥情况的流程。具体实施方式以下,参照附图对实施例进行详细地说明。但是,权利范围不限制或限定于这些实施例。在各图示出的相同的参照符号显示相同的部件。在以下说明中使用的用语,选择了涉及
技术领域
:中一般且普遍的,但是,根据技术的发达和/或变化、惯例、技术者的嗜好等,可具有其他用语。因此,在以下说明使用的用语不能理解为限定技术思想,应给被理解为用语说明实施例的示例性用语。此外,在特定的情况下也有申请人任意选定的用语,在这种情况下,在相应的说明部分记载其详细的意思。因此,在以下说明使用的用语被理解为不是单纯的用语名称,而是,将其用语具有的意思和整个说明书的内容作为基础。图1是示出根据一个实施例,提供即时公开密钥和即时个人密钥认证装置的框图。装置100可以是包括至少一个处理器的计算终端的至少一部分。此计算终端示例性的可以是智能手机、平板电脑、笔记本电脑、泛用计算机、服务器,或加密通信用专用终端器,但不限定于此。装置100是公开密钥加密算法,执行如RSA根据非对称钥加密算法的认证步骤。根据一个实施例,装置100的生成单元110应答对应于RSA算法的电子签名所需的情况,生成第一即时公开密钥(instantpublic-key)“E”。这些第一即时公开密钥E的生成,可通过随机数字生成(randomnumbergenerating)过程被执行。一方面,生成的E是3以上的奇数。素数(prime)或非常大的数的情况,也要伪素数(pseudo-prime)。生成单元110可确认生成的E是奇数,和其值是否为1。一方面,根据一个实施例,在装置100可包括利用随意发生的半导体工艺变异(processvariation),提供硬件指纹(hardwarefinger-print)的PUF(未示出)。利用半导体工艺变异体现PUF的示例也有几种。示例性的,利用布置在半导体导电性层之间的渠道(via)或层间接触(inter-layercontact)的随意形成-形成失败结果,可体现PUF,且仔细公开此的’630专利的说明书作为参考引用在此说明书。一方面,在这些示例性状况,PUF提供的硬件指纹可利用在所述固定个人密钥生成算法。装置基本具有的301固定个人密钥p,q是素数,生成此时作为固定个人密钥p,q的后补值,可利用硬件指纹。在这种情况下,只将硬件指纹值和实际生成的固定个人密钥p,q值的差记录在存储器。被记录的值由32比特很充分,所以,只有这个值不可推测原来固定个人密钥p,q。此外,必要时,从硬件指纹值快速地再生成固定个人密钥值也可行。一方面,在这些示例性状况,PUF提供的硬件指纹,也可利用在所述随机数字生成算法。比如说,由软件和/或硬件运行的随机数字算法中,以所需要的根源值,或种子密钥(seedkey),硬件指纹可被利用。【数学式1】E=random()由上述数学式1生成第一即时公开密钥E时,计算单元120在RSA方式根据规定的计算方式的算法,利用第一即时公开密钥E,计算出E的RSA配对,换句话说,与E成对的第一即时个人密钥(instantprivate-key)“D”。【数学式2】D=E-1mod(p-1)(q-1)这样,在RSA算法当场生成计算密钥发放过程对象的个人密钥-公开密钥,具有如下的优点。在RSA方式,个人密钥具有{D,p,q},且提供到对方器件的公开密钥是{E,N}。其中,N是p和q的乘积,D和E成立DxE=1mod(p-1)(q-1)的关系。与传达到其他器件或认证机关的E或N不同,只存在于(且必须存在)认证装置内部的个人密钥{D,p,q}成为安全攻击的对象。第三者知道D时,可进行直接的电子签名伪造。并且,即使不知道D,第三者知道p和/或q时,与公开在外部的E一起使用,也可计算出D,所以,这RSA加密不会再有价值。如上述提及,比如说,边信道攻击差分功率分析(DPA,DifferentialPowerAnalysis)分析器件的消耗电力波形,但与只观察一个电流消耗波形的简单功率分析(SPA,SimplePowerAnalysis)攻击不同,收集多数的实际钥使用的波形之后,由统计分析方法获得D,p或q。屏蔽噪音严重的环境,或电力消耗,使很难观察的情况,虽然SPA攻击可能不成功,但是,DPA攻击仍然对算法的安全性是威胁的。因为,在通过多数波形的统计分析过程中,可抵消噪音等其他异常数据,可发现有意义的模式。现有的RSA加密算法具有认证装置被固定的个人密钥{D,p,q},对方的认证机关具有此认证装置被固定的公开密钥{E,N}。因此,攻击者将电子签名以反复地再请求给器件的方式,可收集DPA所需的多数波形,所以,具有危险。但是,根据所述实施例,此个人密钥和公开密钥中至少D和E是由不是固定值的动态变化的值。换句话说,在需要如电子签名的加密算法执行的情况,生成在当场(instantly)暂时使用的D和E。生成的D和E只使用一次(onetime),所以,即使电子签名被攻击者收集,统计成为无意义。实施例生成并使用这些没有固定且由动态变更的E和D,从根源上防止DPA供给等边信道攻击。进一步的,如上述说明,利用在随机生成第一即时公开密钥E的PUF的硬件指纹,即使被相同的被设计,其值不同不可进行物理性复制。并且,在PUF值或结构图外部,几乎不可进行观察及分析。因此,根据这些实施例,也防止将PUF值作为种子,生成随机E的算法自身的攻击。如此生成第一即时公开密钥E,利用此计算E的配对的第一即时个人密钥D,但是,根据情况也可不存在满足上述数学式2的D。不存在D时,不可制作有效的“即时D-即时E的配对”,所以,生成单元110生成与上述第一即时公开密钥E不同的第二即时公开密钥E’。由这些第二即时公开密钥E’,计算单元120根据数学式2,计算第二即时个人密钥D’。如果存在D’,使用E’和D’,否则可反复此过程。其中,生成单元110制作第二即时公开密钥E’的过程,类似于制作第一即时公开密钥E,也可再次经过随机数字生成过程。但是,也可以是比这些过程更简单的其他实施例。比如说,生成单元100不再次执行随机数字生成过程,相反地可将生成但不存在对应D的第一即时公开密钥E,相加正数2的数(换句话说,E的上一位奇数),决定为第二即时公开密钥E’,进行提供。其中,为了生成E’,在E相加“2”的正数是示例性的,所以,可变更为其他值。根据D的存在与否再次生成E,将参照图5进行再次说明。一方面,所述加密算法也可以是利用中国剩余定理(CRT,ChineseRemainderTheorem)的算法,但是,在这种情况下,由E计算的即时个人密钥不是D一个,而是,可根据以下数学式3和数学式4计算的{dP,dQ}。【数学式3】dP=E-1mod(p-1)【数学式4】dQ=E-1mod(q-1)在RSA-CRT实施例,根据计算单元120的计算,判断对应于E的有效的dP值及有效的dQ值中不存在任何一个时,也可再次生成E。在这种情况,也可再次经过随机数字生成过程,但在E相加2简单的决定E’,可计算对应于E’的dP’值及dQ’值。详细地内容参照图6再次说明。通过上述过程,决定有效的即时公开密钥E和即时个人密钥(D或{dP,dQ})时,通过此可执行RSA方式的加密算法。签名消息M生成电子签名S时,处理单元130可执行如下的过程。【数学式5】S=GenSign(M,D,p,q)GenSign()是电子签名的生成函数,由RSA算法被规定。通信单元140将生成的电子签名S与消息M一起,传送到对方器件(比如认证机关),与之前不同,也一起传送在上述生成的即时公开密钥E。由此,对方器件与已经保有此即时公开密钥E的装置100的固定公开密钥N一起使用,验证电子签名S。以上的过程参照图3再次被说明。一方面,利用这样被传送的即时公开密钥E,对方器件编码消息发送时,装置100将所具有的即时个人密钥D(或dP,dQ)与p,q一起利用,可解码消息。这些过程参照图4后续。如此根据实施例大大降低安全攻击的危险,但是,也可具有可预想的几个或其他攻击试图,且这些其他攻击可由如下的实施例被体现。如果,攻击者在很短时间内,可要求多次的在传送。根据一个实施例的装置100是通信错误时,再使用即时个人密钥,不再生成签名,只是在传送已生成的生成。并且,不是通信错误时,废止已生成的即时公开密钥,可生成新的即时公开密钥。是否为通信错误,可由对传送消息的通信Ack接收与否确认。在对方器件可执行的攻击防止对策,参考图2进行更详细地说明。图2是示出根据一个实施例,收到对方生成的即时公开密钥使用装置的框图。比如,装置200可以是认证机关(CA:CertificationAuthority)。并且,装置200可以是包括至少一个处理器的计算终端的至少一部分,后述的判断单元210和处理单元220可由所述处理器,至少一时性的被体现。根据一个实施例,装置200可包括利用所保有的所述相对器件的固定公开密钥N,和如在图1说明的所述器件即时的生成,与消息M、电子签名S一起传送的第一即时公开密钥,验证签名S的处理单元220。将消息进行编码发送给对方器件时,处理单元220利用保有的其对方器件的固定公开密钥N,和之前得到的第一即时公开密钥E,编码要传送的数据M。M正常地被编码的M’传送到对方器件时,对方器件利用自身的固定个人密钥p,q和即时个人密钥D(或dP和dQ),将M’解码为M。一方面,根据一个实施例,装置200还可包括判断对方器件发送的即时公开密钥E是否有效的判断单元210。攻击者将E和D都作为1生成电子签名,可预想传达此的攻击。在这种情况下,电子签名生成及验证演算实际上不形成。E和D在RSA演算由指数值(exponentialvalue)被使用,所以,值为1时,为了编码-解码对消息进行“1”平方,与不做演算相同。在这种情况下,在认证机关CA的立场上,签名验证结果可有效的出现。因此,为了防止这些状况,判断单元210确认从对方器件收到的即时公开密钥E是否为3以上的奇数。由此,E为偶数或E为1时,可判断为无效的E。进一步的,根据其他一个实施例,判断单元210在E由指定的再使用次数以上被反复使用时,将此认知为不正常的状况,也可把即时公开密钥E当做无效。图3是示出根据一个实施例的电子签名验证过程的流程。如上述,与现有的RSA差异是器件不具有固定的个人密钥D,对方认证机关也不具有此器件的固定公开密钥E。因此,根据实施例参照图1至图2,如上述需要认证时,生成即时公开密钥E和由此计算的即时个人密钥D,并活用。在示出的实施例,器件在存储装置301只具有p和q。并且,认证机关只具有此器件的固定公开密钥中的N。需要认证时,执行步骤310。步骤310是通过随机数字生成过程,生成随机的即时公开密钥E的过程,生成的E是3以上的奇数。对于即时E的生成及其有效性验证,如参照图1说明。由此,在步骤320,计算即时公开密钥E的RSA的配对D。经在RSA规定的方式,本领域的技术人员可容易理解这些D的计算。由此,在步骤330生成对要传送的消息M的电子签名S。并且,在步骤340,与消息M、电子签名S一起,所述即时公开密钥E被传送到认证机关。由此,认证机关在执行电子签名验证算法的步骤350,一起使用之前收到的E和预先具有的N。在步骤350的执行之前,认证机关也可经过收到的E是否有效的验证过程,且这参照图2进行过详细地说明。图4是示出根据一个实施例的编码即解码过程的流程。示出了认证机关编码消息M,发送到期间的过程。认证机关利用在步骤410预先保有的对方器件的固定公开密钥N和之前收到的即时公开密钥E,编码要传送的数据M。并且,在步骤420,被编码的消息M’传送到器件,器件在步骤430可利用自身的固定个人密钥p,q和即时个人密钥D(或dP和dQ),将M’解码为M。图5是示出根据一个实施例,处理不存在即时个人密钥情况的流程。在步骤510,器件的生成单元通过随机数字生成过程,生成即时公开密钥E。并且,在步骤520,器件的计算单元利用E,根据数学式2计算E的RSA配对的即时个人密钥D。在步骤530,存在此有效的D时,参照图1至图4,如说明使用即时D和即时E的认证过程被执行。但是,在步骤530的判断中不存在D时,器件的生成单元生成与之前即时公开密钥E不同的第二即时公开密钥E’。这些过程可以是再次经过随机数字生成过程,但是,在图5示出的示例中,示出了更简单的实施例。在步骤540是之前生成,但不存在D不可使用即时公开密钥E相加正数2。将这些过程进行到具有有效的E-D配对为止,反复地进行。图6是示出根据一个实施例,适用RSA-CRT算法时,处理不存在个人密钥情况的流程。首先,将不使用CRT的上述实施例时要生成的签名和使用CRT时要生成的签名,进行比较如下表。【表1】在上表1中,M”是相对RSA签名格式,在消息M的杂凑值相加填充等的值。在表1可确认,使用CRT时,式变得复杂或在RSA演算,占据演算量相当部分的“modularexponentiation”处理数据长度成为1/2,所以,比起不使用CRT的情况,演算速度反而可加快至4倍至8倍。在步骤630中,生成随机的即时公开密钥E后,CRT被使用时(步骤610),在步骤620计算dP,判断此dP存在与否。与dQ的存在与否无关,不存在此dP就是用不了E。因此,在步骤631中,将在E相加2的数重新指定为E,且直到存在此dP为止,反复进行计算dP的过程。当然,如上述说明,步骤631是选择性的实施例,所以,通过随机数值生成过程,也可重新生成完全的新E。存在dP时,对dQ也反复地进行相同的过程。步骤640的dQ的计算及步骤650的判断存在与否及步骤651的根据dQ的不存在再生成E,与步骤620、630及631的说明相同。并且,有效的dP和dQ都存在时,在步骤660将执行使用CRT的加密算法。短暂说明根据上述实施例的效果及性能问题。在实施例中,生成以PUF硬件指纹作为根源值的随机数字时,外部的供给不可行。即使,一直再生成E和D的配对(pair),E的值很小(例如,未满16比特)时,也可偶然的使用形同的E-D的配对,但是,将E稍微增大可防止此。E的大小变大时,对电子签名验证所需的演算量增加,但是,考虑演算这些的认证机关的硬件资源,成不了负担。因此,E值的大小可在性能不低下的情况下,定为充分的大值,例如128比特以上。一方面,根据实施例E-D配对持续地被再生成,所以,发生的性能低下也不大。生成E-D配对的演算时间复杂度比例于钥的长度n(时间复杂度O(n)),签名生成演算根据体现方式比例于钥的长度n的平方或立方(时间复杂度O(n2)或O(n3))。但是,最近使用的RSA的最小钥的长度是1024,2048比特以上,所以,生成E-D配对的演算时间相当于签名生成时间的数千分之一,且从整体来看,这消耗时间的比重是可被无视的很小。因此,根据实施例,在没有硬件过激或性能低下,根源上防止如DPA的边信道攻击。如上所示,实施例虽然由限定的附图进行了说明,但是,在本发明领域的技术人员均可以从此记载中进行各种修改和变形。例如,可通过与说明的方法不同的顺序来执行所说明的技术,和/或是通过与说明的方法不同的形态来结合或组合所说明的系统、结构、装置、电路等的构成要素,或是通过其他构成要素或同等事物来代替或置换也可获得适当结果。所以,其他实现、其他实施例及与专利请求范围均等的,也属于后述的专利申请范围的范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1