CN111742519A - 用于公开密钥加密算法的密钥比特变数随机化的装置及方法 - Google Patents

用于公开密钥加密算法的密钥比特变数随机化的装置及方法 Download PDF

Info

Publication number
CN111742519A
CN111742519A CN201880089099.3A CN201880089099A CN111742519A CN 111742519 A CN111742519 A CN 111742519A CN 201880089099 A CN201880089099 A CN 201880089099A CN 111742519 A CN111742519 A CN 111742519A
Authority
CN
China
Prior art keywords
encryption algorithm
value
secret key
bit
embodied
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
Application number
CN201880089099.3A
Other languages
English (en)
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.)
Industry Academic Cooperation Foundation of Kookmin University
Original Assignee
Industry Academic Cooperation Foundation of Kookmin University
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 Industry Academic Cooperation Foundation of Kookmin University filed Critical Industry Academic Cooperation Foundation of Kookmin University
Publication of CN111742519A publication Critical patent/CN111742519A/zh
Pending legal-status Critical Current

Links

Images

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/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
    • 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/08Randomization, e.g. dummy operations or using noise
    • 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
    • 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
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及在用于确认秘密密钥比特值的迭代演算开始之前,每次以随机的值进行初始化,以n‑比特随机值将n‑比特秘密密钥进行掩蔽,从而可以解决公开密钥加密算法所具有的漏洞的一种用于公开密钥加密算法的密钥比特变数随机化的装置及方法,包括:信息确认部,确认加密算法所操作的芯片信息;加密算法判断部,判断加密算法的体现方法;硬件对应处理部,在体现加密算法硬件时,确认秘密密钥比特值的迭代演算开始之前,每次以随机的值进行初始化;以及软件对应处理部,在体现加密算法软件时,确认秘密密钥比特值的迭代演算执行之前的步骤中,以随机值进行掩蔽。

Description

用于公开密钥加密算法的密钥比特变数随机化的装置及方法
技术领域
本发明涉及侧信道分析对应,具体地说,涉及在开始确认秘密密钥比特值的迭代演算开始之前,每次以随机的值进行初始化,并且用n-比特随机值掩蔽n-比特秘密密钥,从而解决公开密钥加密算法所具有的漏洞的用于公开密钥加密算法的密钥比特变数随机化的装置及方法。
背景技术
通常在很多电子交易使用的网上银行、网上证券交易等的公认认证体系的核心算法的RSA和适用于电子护照、USIM、智能卡片、智能汽车等的嵌入式平台而其需求增加的椭圆曲线密码(ECC,Elliptic Curve Cryptography)算法,对于侧信道分析攻击薄弱。
侧信道分析是加密算法在安全装置上执行期间所发生的利用侧信道信息的物理攻击。
侧信道分析(side channel analysis,SCA)作为1996年Paul Kocher最初提出的分析技术,是利用加密仪器执行加密算法时暴露的物理信息寻找密钥的分析技术。
如此,在侧信道分析攻击中观察执行加密算法期间所消耗的功率模式,并用于分析的功率分析攻击最为强力,且代表性的为简易功率分析(SPA,Simple Power Analysis)和差分功率分析(DPA,Differential Power Analysis)。
此外,还有碰撞攻击(CA,Collision Attack)等,碰撞攻击是一种非常强力的攻击技术,即使在简单功率分析及差分功率分析被安全设计的如RSA、ECC的公开密钥加密算法,也可以利用单一波形找到秘密密钥值。
到目前为止,即使适用为了在侧信道分析安全的设计RSA及ECC加密算法而提出的对应技术,也存在利用加密算法演算波形可容易地恢复n-比特秘密密钥比特的漏洞。
因此,有必要研究开发一种可对应于此的安全的公开密钥加密算法。
也就是说,与过去信息保护装置的安全性依赖于搭载的加密算法的数学安全性不同,独立地根据侧信道分析攻击的物理漏洞的存在,对于此的安全的对应技术设计是必须的。
【现有技术文件】
【专利文件】
(专利文件1)韩国注册专利第10-0891323号
发明内容
[要解决的课题]
本发明是为了解决对应于现有技术的公开密钥加密算法的侧信道分析的技术问题,其目的在于提供一种在确认秘密密钥比特值的迭代演算开始之前,每次以随机的值进行初始化,并且将n-比特秘密密钥以n-比特随机值进行掩蔽,以便可解决具有公开密钥加密算法的漏洞的用于公开密钥加密算法的密钥比特变数随机化的装置及方法。
本发明的目的在于提供一种在体现加密算法硬件时确认秘密密钥比特值的迭代演算开始之前,每次以随机的值进行初始化,从而可解决具有公开密钥加密算法的漏洞的用于公开密钥加密算法的密钥比特变数随机化的装置及方法。
本发明的目的在于提供一种在体现加密算法软件时确认秘密密钥比特值的迭代演算执行之前步骤,以随机值进行掩蔽,从而可解决具有公开密钥加密算法的漏洞的用于公开密钥加密算法的密钥比特变数随机化的装置及方法。
本发明的目的在于提供一种在判断由硬件及软件体现的加密算法的漏洞的步骤中,判断是否能使用与攻击对象相同的设备,并且根据是否能使用相同的设备区分并判断加密算法的漏洞,从而可提高判断准确性的用于公开密钥加密算法的密钥比特变数随机化的装置及方法。
本发明的目的不限定于上述提及的目的,且未提及的或者其他目的可从以下的记载让本领域的技术人员可以明确的理解。
[解决课题的方法]
为了达到上述的目的,根据本发明的用于公开密钥加密算法的密钥比特变数随机化的装置,包括:信息确认部,确认加密算法所操作的芯片信息;加密算法判断部,判断加密算法的体现方法;硬件对应处理部,在体现加密算法硬件时,确认秘密密钥比特值的迭代演算开始之前,每次以随机的值进行初始化;软件对应处理部,在体现加密算法软件时确认秘密密钥比特值的迭代演算执行之前的步骤中,以随机值进行掩蔽。
其中,所述硬件对应处理部在体现加密算法硬件时确认秘密密钥比特ki值的步骤中,发生根据ki+1与ki(0≤i<n-1)的海明距离
Figure BDA0002627511880000031
值的功率消耗的特性,以及在体现加密算法硬件时确认秘密密钥比特ki值的步骤中,发生根据ki+1与ki(0≤i<n-1)的海明距离
Figure BDA0002627511880000032
值的功率消耗,在迭代演算中调用的寄存器R的地址根据ki+1与ki值被确定,因此,除去活用于演算的寄存器地址的海明距离而发生功率消耗的特性,以便与秘密密钥比特值的特性无关的将功率波形特性随机地分类为两个集合,从而去除漏洞。
还有,软件对应处理部在体现加密算法软件时确认秘密密钥比特ki值的步骤中,发生根据ki的海明权重,即将ki值由二进数进行表现时1的个数的海明权重值的功率消耗的特性,以及在体现加密算法软件时确认秘密密钥比特ki值的步骤中,发生根据ki的海明权重,即将ki值由二进数进行表现时1的个数的海明权重值的功率消耗,在迭代演算中调用的寄存器R的地址根据ki值被确定,因此,除去根据活用于演算的寄存器地址的海明权重,即将寄存器地址由二进数进行表现时1的个数发生功率消耗的特性,以便与秘密密钥比特值的特性无关的将功率波形特性随机地分类为两个集合,从而去除漏洞。
还有,硬件对应处理部包括:漏洞判断部,判断由硬件体现的加密算法的漏洞;随机初始化部,在用于适用由硬件体现的对应技术确认秘密密钥比特值的迭代演算开始之前,以随机的值进行初始化;功率波形收集部,收集执行一次公开密钥加密算法时发生的功率波形;演算单位及位置选择部,将在执行一次加密算法时收集的功率波形以n个的迭代演算单位进行切割,选择用于确认密钥比特的演算位置并进行n个的迭代演算;以及安全性判断部,判断将n个的功率波形根据值是否能分类为两个集合,若不能分类时判断漏洞被去除。
还有,软件对应处理部包括:漏洞判断部,判断由软件体现的加密算法的漏洞;随机比特掩蔽部,适用由软件体现的对应技术进行随机比特掩蔽;功率波形收集部,收集执行一次公开密钥加密算法时发生的功率波形;演算单位及位置选择部,将在执行一次加密算法时收集的功率波形以n个的迭代演算单位进行切割,选择用于确认密钥比特的演算位置并进行n个的迭代演算;以及安全性判断部,判断将n个的功率波形根据值是否能分类为两个集合,若不能分类时判断漏洞被去除。
为了达成其他目的,根据本发明的用于公开密钥加密算法的密钥比特变数随机化的方法,其步骤包括:确认加密算法所操作的芯片信息;判断加密算法的体现方法;以及加密算法体现为硬件的情况下,在体现加密算法硬件时确认秘密密钥比特值的迭代演算开始之前,进行每次以随机的值初始化的硬件对应处理,加密算法体现为软件的情况下,在体现加密算法软件时确认秘密密钥比特值的迭代演算执行之前的步骤中,进行以随机的值掩蔽的软件对应处理。
其中,加密算法体现为硬件的情况下包括:判断由硬件体现的加密算法的漏洞,并且在用于适用由硬件体现的对应技术确认秘密密钥比特值的迭代演算开始之前,以随机的值进行初始化;收集执行一次公开密钥加密算法时发生的功率波形;将在执行一次加密算法时收集的功率波形以n个迭代演算单位进行切割,选择用于确认密钥比特的演算位置并进行n个迭代演算;以及判断将n个的功率波形根据值是否能分类为两个集合,若不能分类时判断漏洞被去除。
还有,加密算法体现为软件的情况下包括:判断由软件体现的加密算法的漏洞,并且适用由软件体现的对应技术进行随机比特掩蔽;收集执行一次公开密钥加密算法时发生的功率波形;将在执行一次加密算法时收集的功率波形以n个迭代演算单位进行切割,选择用于确认密钥比特的演算位置并进行n个迭代演算;以及判断将n个的功率波形根据值是否能分类为两个集合,若不能分类时判断漏洞被去除。
还有,通过在迭代演算开始之前每次以随机的值进行初始化的硬件对应处理,在体现加密算法硬件时确认秘密密钥比特ki值的步骤中,发生根据ki+1与ki(0≤i<n-1)的海明距离
Figure BDA0002627511880000041
值的功率消耗的特性,以及在体现加密算法硬件时确认秘密密钥比特ki值的步骤中,发生根据ki+1与ki(0≤i<n-1)的海明距离
Figure BDA0002627511880000042
值的功率消耗,在迭代演算中调用的寄存器R的地址根据ki+1与ki值被确定,因此,除去活用于演算的寄存器地址的海明距离而发生功率消耗的特性,以便与秘密密钥比特值的特性无关的将功率波形特性随机地分类为两个集合,从而去除漏洞。
还有,通过随机比特掩蔽进行软件对应处理,在体现加密算法软件时确认秘密密钥比特ki值的步骤中,发生根据ki的海明权重,即将ki(0≤i<n-1)值由二进数进行表现时1的个数的海明权重值的功率消耗的特性,以及在体现加密算法软件时确认秘密密钥比特ki值的步骤中,发生根据ki的海明权重,即将ki(0≤i<n-1)值由二进数进行表现时1的个数的海明权重值的功率消耗,在迭代演算中调用的寄存器R的地址根据ki值被确定,因此,除去根据活用于演算的寄存器地址的海明权重,即将寄存器地址由二进数进行表现时1的个数发生功率消耗的特性,以便与秘密密钥比特值的特性无关的将功率波形特性随机地分类为两个集合,从而去除漏洞。
还有,在由硬件及软件体现的加密算法的漏洞判断的步骤中,如果能使用与攻击对象相同的设备,则包括:在与攻击对象相同的设备设置n比特秘密密钥之后,收集执行一次公开密钥加密算法时发生的功率波形;将执行一次演算时收集的功率波形以n个的迭代演算单位进行切割,基于设置的n比特密钥将n个的功率波形分类为两个集合;以及计算被分类的两个集合的SOST值,判断SOST峰值的存在与否。
还有,在由硬件及软件体现的加密算法的漏洞判断的步骤中,如果不能使用与攻击对象相同的设备,则包括:从攻击对象设备收集执行一次公开密钥加密算法时发生的功率波形;将执行一次算法时收集的功率波形以n个的迭代演算单位进行切割,并通过攻击对象芯片的操作频率确认及算法结构分析,区分用于密钥比特确认的演算步骤;以及确认将n个功率波形是否分类为根据秘密密钥比特值ki的两个集合。
[发明效果]
如上所述,根据本发明的用于公开密钥加密算法的密钥比特变数随机化的装置及方法具有如下效果。
第一、对于将RSA、ECC加密算法作为基础的公开密钥系统可提高侧信道分析安全性。
第二、在体现加密算法硬件时确认秘密密钥比特值的迭代演算开始之前,每次以随机的值进行初始化,从而可解决公开密钥加密算法所具有的漏洞。
第三、在体现加密算法软件时确认秘密密钥比特值的迭代演算执行前步骤中,以随机值进行掩蔽,从而可解决公开密钥加密算法所具有的漏洞。
第四、在判断由硬件及软件体现的加密算法的漏洞的步骤中,判断是否可使用与攻击对象相同的设备,并根据使用相同的设备的与否进行区分并判断加密算法的漏洞,从而可提高判断准确性。
第五、以RSA加密算法活用于证书、ECC加密算法活用于电子护照、智能车辆,本发明可有用的活用在设计国内外证书、电子护照、智能车辆等的侧信道对应技术的机关及执行侧信道安全性验证的机关。
附图说明
图1是示出标量乘法算法的构成图。
图2是示出将对体现硬件时的迭代演算的功率波形根据特性区分的分类图表。
图3是示出将对体现软件时的迭代演算的功率波形根据特性区分的分类图表。
图4是示出由硬件体现的随机值初始化的构成图。
图5是示出由硬件体现并对应的结果图表。
图6是示出由软件体现的随机比特掩蔽的构成图。
图7是示出由软件体现并对应的结果图表。
图8是示出根据本发明的用于公开密钥加密算法的密钥比特变数随机化的装置的构成图。
图9是示出根据本发明的用于公开密钥加密算法的密钥比特变数随机化的方法的流程图。
图10是示出硬件功率波形及迭代演算单位的图表。
图11是示出由硬件及软件体现的加密算法的漏洞判断过程的流程图。
具体实施方式
以下,关于根据本发明的用于公开密钥加密算法的密钥比特变数随机化的装置及方法的优选实施例的详细说明如下。
通过下面对各实施例的详细说明,将明确根据本发明的用于随机化的公开密钥加密算法的密钥比特变数的装置及方法的特征和优点。
图8是根据本发明的用于公开密钥加密算法的密钥比特变数随机化的装置的构成图,图9是示出根据本发明的用于公开密钥加密算法的密钥比特变数随机化的方法的流程图。
根据本发明的用于公开密钥加密算法的密钥比特变数随机化的装置及方法,在体现加密算法硬件时确认秘密密钥比特值的迭代演算开始之前,每次以随机的值进行初始化。
根据本发明的用于公开密钥加密算法的密钥比特变数随机化的装置及方法,在体现加密算法软件时确认秘密密钥比特值的迭代演算执行之前步骤中,以随机值进行掩蔽。
如此,根据本发明的用于公开密钥加密算法的密钥比特变数随机化的装置及方法涉及侧信道分析对应技术,是用于补充对公开密钥加密算法,如RSA、ECC的简单功率分析漏洞的方法。
此技术适用于为了让RSA、ECC加密算法执行根据秘密密钥比特值的迭代演算,在n-比特秘密密钥排列k=(kn-1,…k1,k0)2中安全地设计确认秘密密钥比特ki值的步骤。
作为ECC加密算法的代表性算法的标量乘法算法,如图1所示,体现为执行根据秘密密钥比特ki值的迭代演算(2-5)。
图1是示出标量乘法算法的构成图。
因此,在各迭代算法执行之前,存在确认秘密密钥比特ki值的步骤,且在n-比特秘密密钥排列k=(kn-1,…k1,k0)2中提取并存储在ki变数。
作为RSA加密算法的代表演算的模幂演算与标量乘法演算类似的结构,由加法演算以乘法演算、双倍演算以平方演算体现。
以下说明,如上所述的在确认公开密钥加密算法所具有的秘密密钥比特ki值的步骤中的特性。
(特性1)在体现加密算法硬件时确认秘密密钥比特ki值的步骤中,发生ki+1与ki(0≤i<n-1)的海明距离,即根据
Figure BDA0002627511880000071
值的功率消耗。
Figure BDA0002627511880000072
时,发生与
Figure BDA0002627511880000073
相关的功率消耗。
Figure BDA0002627511880000074
时,发生与
Figure BDA0002627511880000075
相关的功率消耗。
(特性2)在体现加密算法软件时确认秘密密钥比特ki值的步骤中,发生ki(0≤i<n-1)的海明权重,即根据将ki值由二进数进行表现时1的个数的功率消耗。
Figure BDA0002627511880000076
时,发生与0相关的功率消耗。
Figure BDA0002627511880000077
时,发生与1相关的功率消耗。
(特性3)在体现加密算法硬件时确认秘密密钥比特ki值的步骤中,发生ki+1与ki(0≤i<n-1)的海明距离,即根据
Figure BDA0002627511880000078
值的功率消耗。并且,在迭代演算(2-5)中调用的寄存器R的地址根据ki+1和ki值被确定,因此,发生活用于演算的寄存器地址RegAddrRki+1与RegAddrRki(0≤i<n-1)的海明距离,即根据
Figure BDA0002627511880000079
Figure BDA00026275118800000710
值的功率消耗。
Figure BDA00026275118800000711
时,发生与
Figure BDA00026275118800000712
Figure BDA00026275118800000713
相关的功率消耗。
Figure BDA00026275118800000714
时,发生与
Figure BDA00026275118800000715
Figure BDA00026275118800000716
相关的功率消耗。
(特性4)在体现加密算法软件时确认秘密密钥比特ki值的步骤中,发生ki(0≤i<n-1)的海明权重,即根据将ki值由二进数进行表现时1的个数的功率消耗。并且,在迭代演算(2-5)中调用的寄存器R的地址根据ki值被确定,因此,发生活用于演算的寄存器地址RegAddrRki(0≤i<n-1)的海明权重,即根据将RegAddrRki值由二进数进行表现时1的个数的功率消耗。
Figure BDA00026275118800000717
时,发生与0,RegAddrR0相关的功率消耗。
Figure BDA00026275118800000718
时,发生与1,RegAddrR1相关的功率消耗。
因此,如图2及图3所示,基于特性(1)、(2)、(3)、(4)可将对于n次的迭代演算(2-5)的n个的功率波形分类为两个集合,且仅利用一个功率波形可修复全部n-比特秘密密钥比特,适用有单纯功率分析及差分功率分析对应技术的RSA、ECC加密算法也存在此漏洞。
图2是示出将对体现硬件时的迭代演算的功率波形根据特性区分的分类图表,图3是示出将对体现软件时的迭代演算的功率波形根据特性区分的分类图表。
本发明是为了去除特性(1)、(2)、(3)、(4)的漏洞而设计了对应技术。
图4是示出由硬件体现的随机值初始化的构成图,图5是示出由硬件体现并对应的结果图表。
硬件体现时,为了去除特性(1)、(3),如图4所示,在迭代演算开始之前将ki值每次以随机的值初始化。
其结果,如图5所示,与根据秘密密钥比特值的特性无关的,可随机地(1/2的概率)被分类为两个集合并去除漏洞。
图6是示出由软件体现的随机比特掩蔽的构成图,图7是示出由软件体现并对应的结果图表。
软件体现时,为了去除特性(2)、(4),如图6所示,将n-比特秘密密钥(key)以n-比特随机值r进行掩蔽(以随机的值掩盖)。
其结果,如图7所示,与根据秘密密钥比特值的特性无关的,可随机地(1/2的概率)被分类为两个集合并去除漏洞。
如此,对于根据本发明的用于公开密钥加密算法的密钥比特变数随机化的装置及方法的构成的具体说明如下。
首先,如图8所示,根据本发明的用于公开密钥加密算法的密钥比特变数随机化的装置包括:信息确认部80,确认加密算法所操作的芯片信息;加密算法判断部900,判断加密算法的体现方法;硬件对应处理部100,在体现加密算法硬件时,确认秘密密钥比特值的迭代演算开始之前,每次以随机的值进行初始化;软件对应处理部110,在体现加密算法软件时,开始确认秘密密钥比特值的迭代演算执行之前的步骤中,以随机的值进行掩蔽。
硬件对应处理部100在体现加密算法硬件时确认秘密密钥比特ki值的步骤中,发生根据ki+1与ki(0≤i<n-1)的海明距离
Figure BDA0002627511880000081
值的功率消耗(特性1),以及在体现加密算法硬件时确认秘密密钥比特ki值的步骤中,发生根据ki+1与ki(0≤i<n-1)的海明距离
Figure BDA0002627511880000082
值的功率消耗,在迭代演算中调用的寄存器R的地址根据ki+1与ki值被确定,因此,除去用于演算的寄存器地址的海明距离而发生功率消耗(特性3),以便与秘密密钥比特值的特性无关的将功率波形特性随机地分类为两个集合,从而去除漏洞。
软件对应处理部110在体现加密算法软件时,确认秘密密钥比特ki值的步骤中,发生根据ki(0≤i<n-1)的海明权重,即将ki值由二进数进行表现时1的个数的功率消耗(特性2),以及在体现加密算法软件时确认秘密密钥比特ki值的步骤中,发生根据ki(0≤i<n-1)的海明权重,即将ki值由二进数进行表现时1的个数的功率消耗,在迭代演算中调用的寄存器R的地址根据ki值被确定,因此,除去用于演算的将寄存器地址值由二进数进行表现时的1的个数,即根据寄存器地址的的海明权重值的功率消耗(特性4),以便与秘密密钥比特值的特性无关的将功率波形特性随机地分类为两个集合,从而去除漏洞。
硬件对应处理部100包括:漏洞判断部100a,判断由硬件体现的加密算法的漏洞;随机初始化部100b,在用于适用由硬件体现的对应技术确认秘密密钥比特值的迭代演算开始之前,以随机的值进行初始化;功率波形收集部100c,收集执行一次公开密钥加密算法时发生的功率波形;演算单位及位置选择部100d,将在执行一次加密算法时收集的功率波形以n个的迭代演算单位进行切割,选择用于确认密钥比特的演算位置并进行n个迭代演算;以及安全性判断部100e,判断将n个的功率波形根据值是否能分类为两个集合,若不能分类时判断漏洞被去除。
软件对应处理部110包括:漏洞判断部110a,判断由软件体现的加密算法的漏洞;随机比特掩蔽部110b,适用由软件体现的对应技术进行随机比特掩蔽;功率波形收集部110c,收集执行一次公开密钥加密算法时发生的功率波形;演算单位及位置选择部110d,将在执行一次加密算法时收集的电力波形以n个的迭代演算单位进行切割,选择用于确认密钥比特的演算位置并进行n个的迭代演算;以及安全性判断部110e,判断将n个的功率波形根据值是否能分类为两个集合,若不能分类时判断漏洞被去除。
如图9所示,根据本发明的用于公开密钥加密算法的密钥比特变数随机化的方法,其步骤包括:确认加密算法所操作的芯片信息;判断加密算法的体现方法;加密算法体现为硬件的情况下,在体现加密算法硬件时确认秘密密钥比特值的迭代演算开始之前,进行每次以随机的值初始化的硬件对应处理,加密算法体现为软件的情况下,在体现加密算法软件时确认秘密密钥比特值的迭代演算执行之前的步骤中,进行以随机的值掩蔽的软件对应处理。
其中,通过迭代演算开始之前,进行每次以随机的值初始化的硬件对应处理,在体现加密算法硬件时确认秘密密钥比特ki值的步骤中,发生根据ki+1与ki(0≤i<n-1)的海明距离
Figure BDA0002627511880000091
值的功率消耗(特性1),以及在体现加密算法硬件时确认秘密密钥比特ki值的步骤中,发生根据ki+1与ki(0≤i<n-1)的海明距离
Figure BDA0002627511880000101
值的功率消耗,在迭代演算中调用的寄存器R的地址根据ki+1与ki值被确定,因此,除去用于演算的寄存器地址的海明距离而发生功率消耗(特性3),以便与秘密密钥比特值的特性无关的将功率波形特性随机地分类为两个集合,从而去除漏洞。
还有,通过随机比特掩蔽进行软件对应处理,在体现加密算法软件时确认秘密密钥比特ki值的步骤中,发生根据ki(0≤i<n-1)的海明权重,即将ki值由二进数进行表现时1的个数的功率消耗(特性2),以及在体现加密算法软件时确认秘密密钥比特ki值的步骤中,发生根据ki(0≤i<n-1)的海明权重,即将ki值由二进数进行表现时1的个数的功率消耗,在迭代演算中调用的寄存器R的地址根据ki值被确定,因此,除去将用于演算的寄存器地址值由二进数进行表现时的1的个数,即根据寄存器地址的海明权重值发生功率消耗(特性4),以便与秘密密钥比特值的特性无关的将功率波形特性随机地分类为两个集合,从而去除漏洞。
具体地,S901:确认加密算法操作的芯片信息,S902:判断加密算法的体现方法。
加密算法的体现为硬件的情况下,S903:判断由硬件体现的加密算法的漏洞,S904:在用于适用由硬件体现的对应技术确认秘密密钥比特值的迭代演算开始之前,以随机的值进行初始化。
还有,S905:收集执行一次公开密钥加密算法时发生的功率波形。
接着,S906:将在执行一次加密算法时收集的功率波形以n个的迭代演算单位进行切割,S907:选择用于确认密钥比特的演算位置并进行n个的迭代演算。
还有,S908:判断将n个的功率波形根据值是否能分类为两个集合,若不能分类时判断漏洞被去除。
还有,加密算法体现为软件的情况下,S913:判断由软件体现的加密算法的漏洞,S914:适用由软件体现的对应技术进行随机比特掩蔽。
接着,S915:收集执行一次公开密钥加密算法时发生的功率波形。
还有,S916:将在执行一次加密算法时收集的功率波形以n个的迭代演算单位进行切割,S917:选择用于确认密钥比特的演算位置并进行n个的迭代演算。
接着,S918:判断将n个的功率波形根据值是否能分类为两个集合,若不能分类时判断漏洞被去除。
其中,S916:将在执行一次加密算法时收集的功率波形以n个的迭代演算单位进行切割,S917:选择用于确认密钥比特的演算位置并进行n个的迭代演算的步骤的一个示例与图10相同。
图10是示出硬件功率波形及迭代演算单位的图表。
由硬件及软件体现的加密算法的漏洞判断构成的具体地说明如下。
图11是示出由硬件及软件体现的加密算法的漏洞判断过程的流程图。
S913:判断由硬件及软件体现的加密算法的漏洞的步骤,在S1101:可活用与攻击对象相同的设备,则S1102:在与攻击对象相同的设备设置n比特秘密密钥之后,收集执行一次公开密钥加密算法时发生的功率波形。
还有,S1103:将执行一次算法时收集的功率波形以n个的迭代演算单位进行切割,S1104:基于设置的n比特密钥将n个的功率波形分类为两个集合。
接着,S1105:将分类的两个集合的SOST值,由如下的数学式1进行计算,S1106:判断SOST峰值的存在与否。
【数学式1】
Figure BDA0002627511880000111
还有,S1101:如果不能活用与攻击对象相同的设备,S1112:从攻击对象设备收集执行一次公开密钥加密算法时发生的功率波形。
还有,S1113:将执行一次算法时收集的功率波形以n个的迭代演算单位进行切割,S1114:通过攻击对象芯片的操作频率确认及算法结构分析,区分用于确认密钥比特的演算步骤。
接着,S1115:确认将n个的功率波形是否分类为根据秘密密钥比特值ki的两个集合。
如上所述,根据本发明的用于公开密钥加密算法的密钥比特变数随机化的装置及方法作为对于将RSA、ECC加密算法作为基础的公开密钥系统可提高侧信道分析安全性的对应技术,RSA加密算法活用于证书、ECC加密算法活用于电子护照、智能车辆,因此,相应技术可活用在设计国内外证书、电子护照、智能车辆等的侧信道对应技术的机关及执行侧信道安全性验证的机关。
综上所述,在不脱离本发明的本质特性的范围内的变形形态,也可被理解为本发明的体现。
因此,明示的实施例应被考虑为不是限定性的观点,而是在说明性的观点,且本发明的范围显示在权利要求的范围而不是上述的说明,并且在与此等同的范围内的所有差异点应被解释为包括在本发明。
附图标记说明
80:信息确认部
90:加密算法判断部
100:硬件对应处理部
110:软件对应处理部

Claims (12)

1.一种用于公开密钥加密算法的密钥比特变数随机化的装置,包括:
信息确认部,确认加密算法所操作的芯片信息;
加密算法判断部,判断加密算法的体现方法;
硬件对应处理部,在体现加密算法硬件时,确认秘密密钥比特值的迭代演算开始之前,每次以随机的值进行初始化;
软件对应处理部,在体现加密算法软件时,确认秘密密钥比特值的迭代演算执行之前的步骤中,以随机值进行掩蔽。
2.根据权利要求1所述的用于公开密钥加密算法的密钥比特变数随机化的装置,其特征在于,所述硬件对应处理部在体现加密算法硬件时确认秘密密钥比特ki值的步骤中,发生根据ki+1与ki的海明距离ki+1⊕ki值的功率消耗的特性,以及
在体现加密算法硬件时确认秘密密钥比特ki值的步骤中,发生根据ki+1与ki的海明距离ki+1⊕ki值的功率消耗,在迭代演算中调用的寄存器R的地址根据ki+1与ki值被确定,因此,除去活用于演算的寄存器地址的海明距离而发生功率消耗的特性,以便与秘密密钥比特值的特性无关的将功率波形特性随机地分类为两个集合,从而去除漏洞,其中,0≤i<n-1。
3.根据权利要求1所述的用于公开密钥加密算法的密钥比特变数随机化的装置,其特征在于,所述软件对应处理部在体现加密算法软件时确认秘密密钥比特ki值的步骤中,发生根据ki的海明权重,即将ki值由二进数进行表现时1的个数的海明权重值的功率消耗的特性,以及
在体现加密算法软件时确认秘密密钥比特ki值的步骤中,发生根据ki的海明权重,即将ki值由二进数进行表现时1的个数的海明权重值的功率消耗,在迭代演算中调用的寄存器R的地址根据ki值被确定,因此,除去根据活用于演算的寄存器地址的海明权重,即将寄存器地址由二进数进行表现时1的个数发生功率消耗的特性,以便与秘密密钥比特值的特性无关的将功率波形特性随机地分类为两个集合,从而去除漏洞,其中,0≤i<n-1。
4.根据权利要求1或2所述的用于公开密钥加密算法的密钥比特变数随机化的装置,其特征在于,所述硬件对应处理部包括:
漏洞判断部,判断由硬件体现的加密算法的漏洞;
随机初始化部,在用于适用由硬件体现的对应技术确认秘密密钥比特值的迭代演算开始之前,以随机的值进行初始化;
功率波形收集部,收集执行一次公开密钥加密算法时发生的功率波形;
演算单位及位置选择部,将在执行一次加密算法时收集的功率波形以n个的迭代演算单位进行切割,选择用于确认密钥比特的演算位置并进行n个的迭代演算;以及
安全性判断部,判断将n个的功率波形根据值是否能分类为两个集合,若不能分类时判断漏洞被去除。
5.根据权利要求1或3所述的用于公开密钥加密算法的密钥比特变数随机化的装置,其特征在于,所述软件对应处理部包括:
漏洞判断部,判断由软件体现的加密算法的漏洞;
随机比特掩蔽部,适用由软件体现的对应技术进行随机比特掩蔽;
功率波形收集部,收集执行一次公开密钥加密算法时发生的功率波形;
演算单位及位置选择部,将在执行一次加密算法时收集的功率波形以n个的迭代演算单位进行切割,选择用于确认密钥比特的演算位置并进行n个的迭代演算;以及
安全性判断部,判断将n个的功率波形根据值是否能分类为两个集合,若不能分类时判断漏洞被去除。
6.一种用于公开密钥加密算法的密钥比特变数随机化的装置,其步骤包括:
确认加密算法所操作的芯片信息;
判断加密算法的体现方法;以及
加密算法体现为硬件的情况下,在体现加密算法硬件时确认秘密密钥比特值的迭代演算开始之前,进行每次以随机的值初始化的硬件对应处理,加密算法体现为软件的情况下,在体现加密算法软件时确认秘密密钥比特值的迭代演算执行之前的步骤中,进行以随机的值掩蔽的软件对应处理。
7.根据权利要求6所述的用于公开密钥加密算法的密钥比特变数随机化的装置,其特征在于,所述加密算法体现为硬件的情况下包括:
判断由硬件体现的加密算法的漏洞,并且在用于适用由硬件体现的对应技术确认秘密密钥比特值的迭代演算开始之前,以随机的值进行初始化;
收集执行一次公开密钥加密算法时发生的功率波形;
将在执行一次加密算法时收集的功率波形以n个的迭代演算单位进行切割,选择用于确认密钥比特的演算位置并进行n个的迭代演算;以及
判断将n个的功率波形根据值是否能分类为两个集合,若不能分类时判断漏洞被去除。
8.根据权利要求6所述的用于公开密钥加密算法的密钥比特变数随机化的装置,其特征在于,所述加密算法体现为软件的情况下包括:
判断由软件体现的加密算法的漏洞,并且适用由软件体现的对应技术进行随机比特掩蔽;
收集执行一次公开密钥加密算法时发生的功率波形;
将在执行一次加密算法时收集的功率波形以n个的迭代演算单位进行切割,选择用于确认密钥比特的演算位置并进行n个的迭代演算;以及
判断将n个的功率波形根据值是否能分类为两个集合,若不能分类时判断漏洞被去除。
9.根据权利要求6所述的用于公开密钥加密算法的密钥比特变数随机化的方法,其特征在于,通过在迭代演算开始之前每次以随机的值进行初始化的硬件对应处理,
在体现加密算法硬件时确认秘密密钥比特ki值的步骤中,发生根据ki+1与ki的海明距离ki+1⊕ki值的功率消耗的特性,以及
在体现加密算法硬件时确认秘密密钥比特ki值的步骤中,发生根据ki+1与ki的海明距离ki+1⊕ki值的功率消耗,在迭代演算中调用的寄存器R的地址根据ki+1与ki值被确定,因此,除去活用于演算的寄存器地址的海明距离而发生功率消耗的特性,以便与秘密密钥比特值的特性无关的将功率波形特性随机地分类为两个集合,从而去除漏洞,其中,0≤i<n-1。
10.根据权利要求6所述的用于公开密钥加密算法的密钥比特变数随机化的方法,其特征在于,通过随机比特掩蔽进行软件对应处理,
在体现加密算法软件时确认秘密密钥比特ki值的步骤中,发生根据ki的海明权重,即将ki值由二进数进行表现时1的个数的海明权重值的功率消耗的特性,以及
在体现加密算法软件时确认秘密密钥比特ki值的步骤中,发生根据ki的海明权重,即将ki值由二进数进行表现时1的个数的海明权重值的功率消耗,在迭代演算中调用的寄存器R的地址根据ki值被确定,因此,除去根据活用于演算的寄存器地址的海明权重,即将寄存器地址由二进数进行表现时1的个数发生功率消耗的特性,以便与秘密密钥比特值的特性无关的将功率波形特性随机地分类为两个集合,从而去除漏洞,其中,0≤i<n-1。
11.根据权利要求8所述的用于公开密钥加密算法的密钥比特变数随机化的方法,其特征在于,在由硬件及软件体现的加密算法的漏洞判断的步骤中,
如果能使用与攻击对象相同的设备,则包括:
在与攻击对象相同的设备设置n比特秘密密钥之后,收集执行一次公开密钥加密算法时发生的功率波形;
将执行一次演算时收集的功率波形以n个的迭代演算单位进行切割,基于设置的n比特密钥将n个的功率波形分类为两个集合;以及
计算被分类的两个集合的SOST值,判断SOST峰值的存在与否。
12.根据权利要求8所述的用于公开密钥加密算法的密钥比特变数随机化的方法,其特征在于,在由硬件及软件体现的加密算法的漏洞判断的步骤中,
如果不能使用与攻击对象相同的设备,则包括:
从攻击对象设备收集执行一次公开密钥加密算法时发生的功率波形;
将执行一次算法时收集的功率波形以n个的迭代演算单位进行切割,并通过攻击对象芯片的操作频率确认及算法结构分析,区分用于密钥比特确认的演算步骤;以及
确认将n个的功率波形是否分类为根据秘密密钥比特值ki的两个集合。
CN201880089099.3A 2017-12-11 2018-12-10 用于公开密钥加密算法的密钥比特变数随机化的装置及方法 Pending CN111742519A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020170169558A KR101981621B1 (ko) 2017-12-11 2017-12-11 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 장치 및 방법
KR10-2017-0169558 2017-12-11
PCT/KR2018/015617 WO2019117565A1 (ko) 2017-12-11 2018-12-10 공개키 암호 알고리즘의 키 비트 변수 랜덤화를 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
CN111742519A true CN111742519A (zh) 2020-10-02

Family

ID=66820745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880089099.3A Pending CN111742519A (zh) 2017-12-11 2018-12-10 用于公开密钥加密算法的密钥比特变数随机化的装置及方法

Country Status (4)

Country Link
EP (1) EP3726772A4 (zh)
KR (1) KR101981621B1 (zh)
CN (1) CN111742519A (zh)
WO (1) WO2019117565A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113300840B (zh) * 2021-05-21 2023-05-16 福建师范大学 一种联合汉明码的数据随机加密通信方法
CN113962174A (zh) * 2021-12-21 2022-01-21 佛山芯珠微电子有限公司 一种基于物联网信息安全芯片的软硬件兼容方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124170B1 (en) * 1999-08-20 2006-10-17 Intertrust Technologies Corp. Secure processing unit systems and methods
WO2013172790A1 (en) * 2012-05-16 2013-11-21 Nanyang Technological University Methods for determining a result of applying a function to an input and evaluation devices
CN103562922A (zh) * 2011-03-30 2014-02-05 耶德托公司 在芯片制造期间建立唯一秘钥

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100580844B1 (ko) * 2003-12-17 2006-05-16 한국전자통신연구원 무선 랜(lan) 시스템에서의 데이터 보안 및 운용장치와 그 방법
KR100891323B1 (ko) 2005-05-11 2009-03-31 삼성전자주식회사 이진 필드 ecc에서 랜덤 포인트 표현을 이용하여 파워해독의 복잡도를 증가시키기 위한 암호화 방법 및 장치
EP1894168A1 (en) * 2005-05-31 2008-03-05 Philips Intellectual Property & Standards GmbH Electronic circuit arrangement and method of operating such electronic circuit arrangement
KR20140072283A (ko) 2012-11-29 2014-06-13 한국전자통신연구원 부채널 분석 방지 마스킹 방법 및 장치
KR101608815B1 (ko) * 2014-08-14 2016-04-04 현대오토에버 주식회사 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법
KR101589185B1 (ko) * 2014-11-05 2016-01-28 국방과학연구소 중간값 평균기법을 이용한 부 채널 분석 성능 향상방법
KR101586811B1 (ko) 2015-03-31 2016-01-19 국민대학교산학협력단 Hight 부채널 분석에 대응하기 위한 장치 및 방법
KR101665600B1 (ko) * 2015-07-07 2016-10-12 국민대학교산학협력단 Ecc 암호 알고리즘의 전력 충돌 공격 대응을 위한 장치 및 방법
KR20170108595A (ko) 2016-03-18 2017-09-27 한국전자통신연구원 논리적 보수 관계값을 이용한 부채널 분석 방지 암호화 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124170B1 (en) * 1999-08-20 2006-10-17 Intertrust Technologies Corp. Secure processing unit systems and methods
CN103562922A (zh) * 2011-03-30 2014-02-05 耶德托公司 在芯片制造期间建立唯一秘钥
WO2013172790A1 (en) * 2012-05-16 2013-11-21 Nanyang Technological University Methods for determining a result of applying a function to an input and evaluation devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BO-YEON SIM: "Key Bit-Dependent Attack on Protected PKC Using a Single Trace" *

Also Published As

Publication number Publication date
KR101981621B1 (ko) 2019-08-28
EP3726772A4 (en) 2021-04-07
WO2019117565A1 (ko) 2019-06-20
EP3726772A1 (en) 2020-10-21

Similar Documents

Publication Publication Date Title
US10423807B2 (en) Asymmetrically masked multiplication
Medwed et al. Template attacks on ECDSA
Nascimento et al. Attacking embedded ECC implementations through cmov side channels
Oswald et al. Template attacks on masking—resistance is futile
US7908641B2 (en) Modular exponentiation with randomized exponent
US20040139136A1 (en) Method for securing a computer installation involving a cryptographic algorithm using boolean operations and arithmetic operations and the corresponding embedded system
CN108242994B (zh) 密钥的处理方法和装置
WO2007116262A1 (en) Protection against side channel attacks
CN111817842B (zh) 一种针对rsa-crt运算的能量分析攻击测试装置和方法
EP2410503A1 (en) Calculating device and program
CN103560877A (zh) 攻击密钥的方法及装置
Nguyen et al. Enhance fuzzy vault security using nonrandom chaff point generator
CN111742519A (zh) 用于公开密钥加密算法的密钥比特变数随机化的装置及方法
CN112260818A (zh) 侧信道曲线的增强方法、侧信道攻击方法及装置
Kim et al. Practical second‐order correlation power analysis on the message blinding method and its novel countermeasure for RSA
Kuzu et al. New cross correlation attack methods on the montgomery ladder implementation of RSA
Lee et al. Single-trace attack using one-shot learning with Siamese network in non-profiled setting
Hanley et al. Exploiting collisions in addition chain-based exponentiation algorithms using a single trace
Russon Return of ECC dummy point additions: Simple Power Analysis on efficient P-256 implementation
CN118054906A (zh) 椭圆曲线加密处理方法、装置、设备及存储介质
Kordi et al. A Time Randomization-Based Countermeasure Against the Template Side-Channel Attack.
Park et al. A DPA Attack on the Improved Ha-Moon Algorithm
Kordi et al. Cost-effective and practical countermeasure against the template side channel attack
Jin et al. Enhanced side-channel analysis on ECDSA employing fixed-base comb method
KR20180072088A (ko) 수평 상관 전력 분석 공격에 안전한 rsa 암호화 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20201002