CN110247929A - 一种椭圆加密算法协处理器防注入式攻击的方法 - Google Patents

一种椭圆加密算法协处理器防注入式攻击的方法 Download PDF

Info

Publication number
CN110247929A
CN110247929A CN201910584000.3A CN201910584000A CN110247929A CN 110247929 A CN110247929 A CN 110247929A CN 201910584000 A CN201910584000 A CN 201910584000A CN 110247929 A CN110247929 A CN 110247929A
Authority
CN
China
Prior art keywords
injection
parameter
coprocessor
encryption
oval
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.)
Granted
Application number
CN201910584000.3A
Other languages
English (en)
Other versions
CN110247929B (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.)
ZHAOXUN HENGDA MICROELECTRONICS TECHNOLOGY (BEIJING) Co Ltd
Original Assignee
ZHAOXUN HENGDA MICROELECTRONICS TECHNOLOGY (BEIJING) Co Ltd
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 ZHAOXUN HENGDA MICROELECTRONICS TECHNOLOGY (BEIJING) Co Ltd filed Critical ZHAOXUN HENGDA MICROELECTRONICS TECHNOLOGY (BEIJING) Co Ltd
Priority to CN201910584000.3A priority Critical patent/CN110247929B/zh
Publication of CN110247929A publication Critical patent/CN110247929A/zh
Application granted granted Critical
Publication of CN110247929B publication Critical patent/CN110247929B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • 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)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例涉及一种椭圆加密算法协处理器防注入式攻击的方法,其特征在于,所述方法包括:初始化加解密路径状态字;获取第一、第二椭圆算法参数、第一明文、第一公钥和第一基点参数;根据第一公钥,生成第一x、第一y分项;根据第一基点参数,生成第二x、第二y分项;对第一椭圆算法参数进行第一校验;对第二椭圆算法参数进行第二校验;对第一基点参数进行第三校验;对第一公钥进行第四验证;根据第一椭圆算法参数、第二椭圆算法参数、第二x分项、第二y分项、第一公钥,对第一基点参数进行第五验证;对加解密路径状态字进行第六校验。本发明提供的方法通过对椭圆加密算法的加密因子做校验,从而规避针对椭圆加密算法协处理器的注入式攻击。

Description

一种椭圆加密算法协处理器防注入式攻击的方法
技术领域
本发明涉及单片机技术领域,特别涉及一种椭圆加密算法协处理器防注入式攻击的方法。
背景技术
椭圆加密算法是一种公钥加密算法,算法原理是利用椭圆曲线的离散对数原理生成公钥-私钥密钥对,并利用公钥对明文进行加密。因为密钥是在椭圆曲线上获取的离散对数,所以用于加密的公钥参数与椭圆曲线参数存在一定的关联性。椭圆加密算法协处理器在安全计算单片机上已被广泛使用,主要用于提高单片机的数据加解密能力。对椭圆加密算法协处理器进行注入式攻击,就是期望通过注入式手段破坏参与计算的椭圆参数与公钥参数,导致最终协处理器计算失败。现有的注入式攻击方法有:通过对椭圆算法的第一椭圆参数a的素数性做注入式攻击,导致椭圆算法的加密过程失效;通过对椭圆算法的第二椭圆参数b的素数性做注入式攻击,导致椭圆算法的加密过程失效;通过对椭圆算法第一基点参数G的素数性做注入式攻击,导致椭圆算法的加密过程失效;通过对第一椭圆参数a、第二椭圆参数b、第一公钥参数p做注入式攻击,从而破坏三者的关联关系,进而导致椭圆算法的加密过程失效;对第一椭圆参数a、第二椭圆参数b、第一基点参数G做注入式攻击,从而破坏三者的关联关系,进而导致椭圆算法的加密过程失效。
发明内容
本发明的目的,就是针对上述技术缺陷,提供一种椭圆加密算法协处理器防注入式攻击的方法,通过对椭圆算法加密过程所需的关键参数进行防注入校验,从而确保椭圆加密算法的加密过程正确。
为实现上述目的,本发明提供一种椭圆加密算法协处理器防注入式攻击的方法,包括:
协处理器初始化加解密路径状态字;
所述协处理器获取上位机发送的第一椭圆算法参数、第二椭圆算法参数、第一明文、第一公钥和第一基点参数;
所述协处理器根据所述第一公钥,生成第一x分项和第一y分项;
所述协处理器根据所述第一基点参数,生成第二x分项和第二y分项;
所述协处理器对所述第一椭圆算法参数,进行第一防注入校验处理;
当所述第一防注入校验成功之后,所述协处理器对所述第二椭圆算法参数,进行第二防注入校验处理;
当所述第二防注入校验成功之后,所述协处理器对所述第一基点参数,进行第三防注入校验处理;
当所述第三防注入校验成功之后,所述协处理器根据所述第一椭圆算法参数、所述第二椭圆算法参数和所述第一x分项,对所述第一公钥,进行第四防注入校验处理;
当所述第四防注入校验成功之后,所述协处理器根据所述第一椭圆算法参数、所述第二椭圆算法参数、所述第二x分项、所述第二y分项和所述第一公钥,对所述第一基点参数,进行第五防注入校验处理;
当所述第五防注入校验成功之后,所述协处理器对所述加解密路径状态字,进行第六防注入校验处理;
当所述第六防注入校验成功之后,所述协处理器对所述第一明文进行加密处理。
进一步的,所述协处理器初始化加解密路径状态字,具体包括:
将所述加解密路径状态字的第一校验位的值置为0;
将所述加解密路径状态字的第二校验位的值置为0;
将所述加解密路径状态字的第三校验位的值置为0;
将所述加解密路径状态字的第四校验位的值置为0;
将所述加解密路径状态字的第五校验位的值置为0。
进一步的,所述协处理器对所述第一椭圆算法参数,进行第一防注入校验处理,具体包括:
当所述第一椭圆算法参数是素数时,则所述第一防注入校验成功,将所述加解密路径状态字的所述第一校验位的值置为1。
进一步的,所述协处理器对所述第二椭圆算法参数,进行第二防注入校验处理,具体包括:
当所述第二椭圆算法参数是素数时,则所述第二防注入校验成功,将所述加解密路径状态字的所述第二校验位的值置为1。
进一步的,所述协处理器对所述第一基点参数,进行第三防注入校验处理,具体包括:
当所述第一基点参数是素数时,则所述第三防注入校验成功,将所述加解密路径状态字的所述第三校验位的值置为1。
进一步的,所述协处理器根据所述第一椭圆算法参数、所述第二椭圆算法参数和所述第一x分项,对所述第一公钥,进行第四防注入校验处理,具体包括:
根据所述第一椭圆算法参数,提取所述第一椭圆算法参数的所有字节,生成a;
根据所述第二椭圆算法参数,提取所述第二椭圆算法参数的所有字节,生成b;
根据所述第一x分项,提取所述第一x分项的所有字节,生成x;
根据所述第一公钥,提取所述第一公钥的所有字节,生成p;
当等式(4a2+27bx2)mod p≠0成立时,则所述第四防注入校验成功,将所述加解密路径状态字的所述第四校验位的值置为1。
进一步的,所述协处理器根据所述第一椭圆算法参数、所述第二椭圆算法参数、所述第二x分项、所述第二y分项和所述第一公钥,对所述第一基点参数,进行第五防注入校验处理,具体包括:
根据所述第一椭圆算法参数,提取所述第一椭圆算法参数的所有字节,生成a;
根据所述第二椭圆算法参数,提取所述第二椭圆算法参数的所有字节,生成b;
根据所述第二x分项,提取所述第二x分项的所有字节,生成x;
根据所述第二y分项,提取所述第二y分项的所有字节,生成y;
根据所述第一公钥,提取所述第一公钥的所有字节,生成p;
当等式y2=x2+ax+b mod p成立时,则所述第五防注入校验成功,将所述加解密路径状态字的所述第五校验位的值置为1。
进一步的,所述协处理器对所述加解密路径状态字,进行第六防注入校验处理,具体包括:
当所述加解密路径状态字的所述第一校验位、第二校验位、第三校验位、第四校验位、第五校验位的值全为1时,则所述第六防注入校验成功。
进一步的,所述方法还包括:
在所述第一防注入校验失败之后,所述协处理器退出计算流程并向所述上位机发送错误信息:遭到对所述第一椭圆算法参数的第一注入式攻击;
在所述第二防注入校验失败之后,所述协处理器退出计算流程并向所述上位机发送错误信息:遭到对所述第二椭圆算法参数的第二注入式攻击;
在所述第三防注入校验失败之后,所述协处理器退出计算流程并向所述上位机发送错误信息:遭到对所述第一基点参数的第三注入式攻击;
在所述第四防注入校验失败之后,所述协处理器退出计算流程并向所述上位机发送错误信息:遭到对所述第一公钥的第四注入式攻击;
在所述第五防注入校验失败之后,所述协处理器退出计算流程并向所述上位机发送错误信息:遭到对所述第一基点参数G的第五注入式攻击;
在所述第六防注入校验失败之后,所述协处理器退出计算流程并向所述上位机发送错误信息:遭到对防注入校验流程的第六注入式攻击。
本发明提供的一种椭圆加密算法协处理器防注入式攻击的方法,第一防注入校验通过对所述第一椭圆参数的素数性质判断,保障了椭圆曲线参数a的素数性未受到注入式攻击破坏;第二防注入校验通过对所述第二椭圆参数的素数性质判断,保障了椭圆曲线参数b的素数性未受到注入式攻击破坏;第三防注入校验通过对所述第一基点参数的素数性质判断,保障了椭圆曲线基点参数G的素数性未受到注入式攻击破坏;第四防注入校验通过对等式(4a2+27bx2)modp≠0是否成立的的验证,进一步确认所述第一椭圆参数(a)、所述第二椭圆参数(b)与所述第一公钥参数(p)的关联关系未受到注入式破坏;第五防注入校验通过对等式y2=x2+ax+b mod p是否成立的验证,进一步确认所述第一椭圆参数(a)、第二椭圆参数(b)与所述第一基点参数(G)之间的关联关系未受到注入式破坏;第六防注入校验通过对加解密路径状态字的检查,确保所述椭圆加密算法协处理进行的防注入过程未受到注入式破坏。
附图说明
图1为本发明实施例一提供的一种椭圆加密算法协处理器防注入式攻击的方法的工作示意图;
图2为本发明实施例二提供的一种椭圆加密算法协处理器防注入式攻击的方法的工作示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
椭圆加密算法中密钥参数与椭圆曲线密切相关。针对椭圆加密算法协处理器的注入式攻击就是利用算法的这个特点,通过注入式手段或者对椭圆曲线上的公钥位置点、参考基点数据进行破坏,或者对椭圆曲线函数本身的参数进行破坏,从而导致协处理器或者无法在正确的椭圆曲线上定位公钥、基点位置,或者无法使用正确的椭圆曲线函数进行计算,进而引发协处理器发生工作异常。
本发明实施例针对上述技术缺陷,提出了一种椭圆加密算法协处理器防注入式攻击的方法,通过对椭圆加密算法原理的总结,归纳出椭圆加密算法的数据规则,并以此作为防注入校验的依据,在椭圆加密算法协处理器进入计算流程之前对参与计算的参数就其数据本身和数据间关联性进行充分的校验检查,从而实现了针对椭圆加密算法协处理器注入式攻击的防护。简述如下:
首先根据椭圆加密算法原理,总结出椭圆加密算法的基本数据原则,详见表1。
表1
其次,根据上述的椭圆加密算法的基本数据原则,在启动高资源占用的计算流程前对数据及密钥参数做出一系列的校验判断处理,从而保证了进入计算的数据合规性,确保了计算过程中不会出现因计算不收敛而导致的资源耗尽,从而实现了对椭圆加密算法协处理器注入式攻击的有效防范:通过第一防注入校验对所述第一椭圆参数的素数性质进行判断;通过第二防注入校验对所述第二椭圆参数的素数性质进行判断;通过第三防注入校验对所述第一基点参数的素数性质进行判断;通过第四防注入校验对等式(4a2+27bx2)modp≠0是否成立进行验证,进一步确认所述第一椭圆参数(a)、所述第二椭圆参数(b)与所述第一公钥参数(p)的关联关系;通过第五防注入校验对等式y2=x2+ax+b mod p是否成立进行验证,进一步确认所述第一椭圆参数(a)、第二椭圆参数(b)与所述第一基点参数(G)之间的关联关系;通过第六防注入校验对加解密路径状态字的检查,确保所述椭圆加密算法协处理进行的防注入过程未受到注入式破坏。
本发明实施例一,如图1为本发明实施例一提供的一种椭圆加密算法协处理器防注入式攻击的方法的工作示意图所示,方法包括以下步骤:
步骤10,协处理器初始化加解密路径状态字,
具体包括:步骤101,将加解密路径状态的第一校验位的值置0;
步骤102,将加解密路径状态的第二校验位的值置0;
步骤103,将加解密路径状态的第三校验位的值置0;
步骤104,将加解密路径状态的第四校验位的值置0;
步骤105,将加解密路径状态的第五校验位的值置0。
步骤11,协处理器获取上位机发送的第一椭圆算法参数,第二椭圆算法参数,第一明文,第一公钥,第一基点参数。
步骤12,根据第一公钥,生成第一x分项和第一y分项,
具体包括:步骤121,根据第一公钥,提取第一公钥的第一x分项字节,生成第一x分项;
步骤122,根据第一公钥,提取第一公钥的第一y分项字节,生成第一y分项。
步骤13,根据第一基点参数,生成第二x分项,第二y分项,
具体包括:步骤131,根据第一基点参数,提取第一基点参数的第二x分项字节,生成第二x分项;
步骤132,根据第一基点参数,提取第一基点参数的第二y分项字节,生成第二y分项。
步骤14,对第一椭圆算法参数,进行第一防注入校验处理,
具体包括:当第一椭圆算法参数是素数时,则第一椭圆算法参数符合加密数据规则1,则第一防注入校验成功,将加解密路径状态的第一校验位的值置1。
步骤15,当第一防注入校验成功之后,对第二椭圆算法参数,进行第二防注入校验处理,
具体包括:当第二椭圆算法参数是素数时,则第二椭圆算法参数符合加密数据规则2,则第二防注入校验成功,将加解密路径状态的第二校验位的值置1。
步骤16,当第二防注入校验成功之后,对第一基点参数,进行第三防注入校验处理,
具体包括:当第一基点参数是素数时,则第一基点参数符合加密数据规则3,则第二防注入校验成功,将加解密路径状态的第三校验位的值置1。
步骤17,当第三防注入校验成功之后,根据第一椭圆算法参数、第二椭圆算法参数和第一x分项,对第一公钥,进行第四防注入校验处理,
具体包括:步骤171,根据第一椭圆算法参数,提取第一椭圆算法参数的所有字节,生成A1
步骤172,根据第二椭圆算法参数,提取第二椭圆算法参数的所有字节,生成B1
步骤173,根据第一x分项,提取第一x分项的所有字节,生成X1
步骤174,根据第一公钥,提取第一公钥的所有字节,生成P1
步骤175,当等式(4A1 2+27B1X1 2)mod P1≠0成立时,则第一椭圆算法参数、第二椭圆算法参数和第一公钥的关系符合加密数据规则4,则第四防注入验证成功,将加解密路径状态字的第四校验位的值置为1。
步骤18,当第四防注入校验成功之后,根据第一椭圆算法参数、第二椭圆算法参数、第二x分项、第二y分项、第一公钥,对第一基点参数,进行第五防注入校验处理,
具体包括:步骤181,根据第一椭圆算法参数,提取第一椭圆算法参数的所有字节,生成A2
步骤182,根据第二椭圆算法参数,提取第二椭圆算法参数的所有字节,生成B2
步骤183,根据第二x分项,提取第二x分项的所有字节,生成X2
步骤184,根据第二y分项,提取第二y分项的所有字节,生成Y2
步骤185,根据第一公钥,提取第一公钥的所有字节,生成P2
步骤186,当等式Y2 2=X2 2+A2X2+B2mod P2成立时,则第一椭圆算法参数、第二椭圆算法参数、第一公钥参数和第一基点参数的关系符合加密数据规则5,则第五防注入验证成功,将加解密路径状态字的第五校验位的值置为1。
步骤19,当第五防注入校验成功之后,对加解密路径状态字,进行第六防注入校验处理,
具体包括:当加解密路径状态的第一、二、三、四、五校验位的值均为1,则第六防注入校验成功,表示为椭圆加密算法协处理器设计的防注入流程本身未受到注入式的攻击。
步骤20,当第六防注入校验成功之后,协处理器利用第一椭圆参数、第二椭圆参数、第一公钥参数、第一基点参数,对第一明文进行加密处理。
本发明实施例二,如图2为本发明实施例二提供的一种椭圆加密算法协处理器防注入式攻击的方法的工作示意图所示,方法包括以下步骤:
步骤110,协处理器初始化加解密路径状态字,
具体包括:步骤1101,将加解密路径状态的第一校验位的值置0;
步骤1102,将加解密路径状态的第二校验位的值置0;
步骤1103,将加解密路径状态的第三校验位的值置0;
步骤1104,将加解密路径状态的第四校验位的值置0;
步骤1105,将加解密路径状态的第五校验位的值置0。
步骤111,协处理器获取上位机发送的第一椭圆算法参数,第二椭圆算法参数,第一明文,第一公钥,第一基点参数。
步骤112,根据第一公钥,生成第一x分项,第一y分项,
具体包括:步骤1121,根据第一公钥,提取第一公钥的第一x分项字节,生成第一x分项;
步骤1122,根据第一公钥,提取第一公钥的第一y分项字节,生成第一y分项。
步骤113,根据第一基点参数,提取第一基点参数的第二x分项字节,生成第二x分项;根据第一基点参数,提取第一基点参数的第二y分项字节,生成第二y分项。
步骤114,判断第一椭圆算法参数是否是素数,如果第一椭圆算法参数是素数,则第一椭圆算法参数符合加密数据规则1,则第一防注入校验成功,转至步骤115;如果第一椭圆算法参数不是素数,则第一椭圆算法参数不符合加密数据规则1,则第一防注入校验失败,转至步骤410。
步骤115,将加解密路径状态的第一校验位的值置1。
步骤116,,判断第二椭圆算法参数是否是素数,如果第二椭圆算法参数是素数,则第二椭圆算法参数符合加密数据规则2,则第二防注入校验成功,转至步骤117;如果第二椭圆算法参数不是素数,则第二椭圆算法参数不符合加密数据规则2,则第二防注入校验失败,转至步骤420。
步骤117,将加解密路径状态的第二校验位的值置1。
步骤118,判断第一基点参数是否是素数,如果第一基点参数是素数,则第一基点参数符合加密数据规则3,则第三防注入校验成功,转至步骤119;如果第一基点参数不是素数,则第一基点参数不符合加密数据规则3,则第三防注入校验失败,转至步骤430。
步骤119,将加解密路径状态的第三校验位的值置1。
步骤120,判断等式(4a2+27bx2)mod p≠0是否成立,如果等式(4a2+27bx2)mod p≠0成立,则第一椭圆算法参数、第二椭圆算法参数与第一公钥参数符合加密数据规则4,则第四防注入验证成功,转至步骤121;如果等式(4a2+27bx2)mod p≠0不成立,则第一椭圆算法参数、第二椭圆算法参数与第一公钥参数不符合加密数据规则4,则第四防注入验证失败,转至步骤440。
其中,a是第一椭圆算法参数,b是第二椭圆算法参数,x是第一x分项,p是第一公钥。
步骤121,将加解密路径状态字的第四校验位的值置为1。
步骤122,判断等式Y2=X2+aX+b mod p是否成立,如果等式y2=x2+ax+b mod p成立,则第一椭圆算法参数、第二椭圆算法参数、第一公钥参数与第一基点参数符合加密数据规则5,则第五防注入验证成功,转至步骤123;如果等式y2=x2+ax+b mod p不成立,则第一椭圆算法参数、第二椭圆算法参数、第一公钥参数与第一基点参数不符合加密数据规则5,则第五防注入验证失败,转至步骤450。
其中,X是第二x分项,Y是第二y分项,a是第一椭圆算法参数,b是第二椭圆算法参数,p是第一公钥。
步骤123,将加解密路径状态字的第五校验位的值置为1。
步骤124,判断加解密路径状态的第一、二、三、四、五校验位的值是否均为1,如果加解密路径状态的第一、二、三、四、五校验位的值均为1,则第六防注入校验成功,转至步骤125;如果加解密路径状态的第一、二、三、四、五校验位的值不是全为1,则第六防注入校验失败,转至步骤460。
步骤125,当第六防注入校验成功之后,协处理器利用第一椭圆参数、第二椭圆参数、第一公钥参数、第一基点参数,对第一明文进行加密处理。
步骤410,退出计算,返回错误信息:第一椭圆算法参数发生错误。
导致该类错误的主要原因是,第一椭圆算法参数不是素数,不符合解密数据规则1。
步骤420,退出计算,返回错误信息:第二椭圆算法参数发生错误。
导致该类错误的主要原因是,第二椭圆算法参数不是素数,不符合解密数据规则2。
步骤430,退出计算,返回错误信息:第一基点参数发生错误。
导致该类错误的主要原因是,第一基点参数不是素数,不符合解密数据规则3。
步骤440,退出计算,返回错误信息:第一椭圆算法参数、第二椭圆算法参数与第一公钥参数的关联关系发生错误。
导致该类错误的主要原因是,第一椭圆算法参数、第二椭圆算法参数与第一公钥参数的关联关系不符合解密数据规则4。
步骤450,退出计算,返回错误信息:第一椭圆算法参数、第二椭圆算法参数、第一公钥参数与第一基点参数的关联关系发生错误。
导致该类错误的主要原因是,第一椭圆算法参数、第二椭圆算法参数、第一公钥参数与第一基点参数的关联关系不符合解密数据规则5。
步骤460,退出计算,返回错误信息:防注入校验过程注入式错误。
导致该类错误的主要原因是,为防注入设计的数据规则校验流程本身收到注入式攻击;或者,为防注入设计的数据规则校验流程未全部执行完成;或者,为防注入设计的数据规则校验流程未全部成功完成。
本发明实施例提供的一种椭圆加密算法协处理器防注入式攻击的方法,通过对第一、第二椭圆参数a、b的第一、二防注入校验,保障了椭圆曲线的素数性未受到注入式攻击破坏;通过对第一基点参数G的第三防注入校验,保障了基点参数G的素数性未受到注入式攻击破坏;第四防注入校验通过对等式(4a2+27bx2)mod p≠0是否成立的的验证,进一步确认第一、第二椭圆参数a、b与第一公钥参数p之间的关联关系未受到注入式破坏;第五防注入校验通过对等式y2=x2+ax+b mod p是否成立的验证,进一步确认第一、二椭圆参数a、b及第一公钥参数p与第一基点参数G之间的关联关系未受到注入式破坏;对加解密路径状态字的第六防注入校验,是为了确保协处理进行的防注入过程未受到注入式破坏。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种椭圆加密算法协处理器防注入式攻击的方法,其特征在于,所述方法包括:
协处理器初始化加解密路径状态字;
所述协处理器获取上位机发送的第一椭圆算法参数、第二椭圆算法参数、第一明文、第一公钥和第一基点参数;
所述协处理器根据所述第一公钥,生成第一x分项和第一y分项;
所述协处理器根据所述第一基点参数,生成第二x分项和第二y分项;
所述协处理器对所述第一椭圆算法参数,进行第一防注入校验处理;
当所述第一防注入校验成功之后,所述协处理器对所述第二椭圆算法参数,进行第二防注入校验处理;
当所述第二防注入校验成功之后,所述协处理器对所述第一基点参数,进行第三防注入校验处理;
当所述第三防注入校验成功之后,所述协处理器根据所述第一椭圆算法参数、所述第二椭圆算法参数和所述第一x分项,对所述第一公钥,进行第四防注入校验处理;
当所述第四防注入校验成功之后,所述协处理器根据所述第一椭圆算法参数、所述第二椭圆算法参数、所述第二x分项、所述第二y分项和所述第一公钥,对所述第一基点参数,进行第五防注入校验处理;
当所述第五防注入校验成功之后,所述协处理器对所述加解密路径状态字,进行第六防注入校验处理;
当所述第六防注入校验成功之后,所述协处理器对所述第一明文进行加密处理。
2.根据权利要求1所述方法,其特征在于,所述协处理器初始化加解密路径状态字,具体包括:
将所述加解密路径状态字的第一校验位的值置为0;
将所述加解密路径状态字的第二校验位的值置为0;
将所述加解密路径状态字的第三校验位的值置为0;
将所述加解密路径状态字的第四校验位的值置为0;
将所述加解密路径状态字的第五校验位的值置为0。
3.根据权利要求2所述方法,其特征在于,所述协处理器对所述第一椭圆算法参数,进行第一防注入校验处理,具体包括:
当所述第一椭圆算法参数是素数时,则所述第一防注入校验成功,将所述加解密路径状态字的所述第一校验位的值置为1。
4.根据权利要求2所述方法,其特征在于,所述协处理器对所述第二椭圆算法参数,进行第二防注入校验处理,具体包括:
当所述第二椭圆算法参数是素数时,则所述第二防注入校验成功,将所述加解密路径状态字的所述第二校验位的值置为1。
5.根据权利要求2所述方法,其特征在于,所述协处理器对所述第一基点参数,进行第三防注入校验处理,具体包括:
当所述第一基点参数是素数时,则所述第三防注入校验成功,将所述加解密路径状态字的所述第三校验位的值置为1。
6.根据权利要求2所述方法,其特征在于,所述协处理器根据所述第一椭圆算法参数、所述第二椭圆算法参数和所述第一x分项,对所述第一公钥,进行第四防注入校验处理,具体包括:
根据所述第一椭圆算法参数,提取所述第一椭圆算法参数的所有字节,生成a;
根据所述第二椭圆算法参数,提取所述第二椭圆算法参数的所有字节,生成b;
根据所述第一x分项,提取所述第一x分项的所有字节,生成x;
根据所述第一公钥,提取所述第一公钥的所有字节,生成p;
当等式(4a2+27bx2)mod p≠0成立时,则所述第四防注入校验成功,将所述加解密路径状态字的所述第四校验位的值置为1。
7.根据权利要求2所述方法,其特征在于,所述协处理器根据所述第一椭圆算法参数、所述第二椭圆算法参数、所述第二x分项、所述第二y分项和所述第一公钥,对所述第一基点参数,进行第五防注入校验处理,具体包括:
根据所述第一椭圆算法参数,提取所述第一椭圆算法参数的所有字节,生成a;
根据所述第二椭圆算法参数,提取所述第二椭圆算法参数的所有字节,生成b;
根据所述第二x分项,提取所述第二x分项的所有字节,生成x;
根据所述第二y分项,提取所述第二y分项的所有字节,生成y;
根据所述第一公钥,提取所述第一公钥的所有字节,生成p;
当等式y2=x2+ax+b mod p成立时,则所述第五防注入校验成功,将所述加解密路径状态字的所述第五校验位的值置为1。
8.根据权利要求2所述方法,其特征在于,所述协处理器对所述加解密路径状态字,进行第六防注入校验处理,具体包括:
当所述加解密路径状态字的所述第一校验位、第二校验位、第三校验位、第四校验位、第五校验位的值全为1时,则所述第六防注入校验成功。
9.根据权利要求2所述方法,其特征在于,所述方法还包括:
在所述第一防注入校验失败之后,所述协处理器退出计算流程并向所述上位机发送错误信息:遭到对所述第一椭圆算法参数的第一注入式攻击;
在所述第二防注入校验失败之后,所述协处理器退出计算流程并向所述上位机发送错误信息:遭到对所述第二椭圆算法参数的第二注入式攻击;
在所述第三防注入校验失败之后,所述协处理器退出计算流程并向所述上位机发送错误信息:遭到对所述第一基点参数的第三注入式攻击;
在所述第四防注入校验失败之后,所述协处理器退出计算流程并向所述上位机发送错误信息:遭到对所述第一公钥的第四注入式攻击;
在所述第五防注入校验失败之后,所述协处理器退出计算流程并向所述上位机发送错误信息:遭到对所述第一基点参数G的第五注入式攻击;
在所述第六防注入校验失败之后,所述协处理器退出计算流程并向所述上位机发送错误信息:遭到对防注入校验流程的第六注入式攻击。
CN201910584000.3A 2019-06-28 2019-06-28 一种椭圆加密算法协处理器防注入式攻击的方法 Active CN110247929B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910584000.3A CN110247929B (zh) 2019-06-28 2019-06-28 一种椭圆加密算法协处理器防注入式攻击的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910584000.3A CN110247929B (zh) 2019-06-28 2019-06-28 一种椭圆加密算法协处理器防注入式攻击的方法

Publications (2)

Publication Number Publication Date
CN110247929A true CN110247929A (zh) 2019-09-17
CN110247929B CN110247929B (zh) 2021-06-11

Family

ID=67890441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910584000.3A Active CN110247929B (zh) 2019-06-28 2019-06-28 一种椭圆加密算法协处理器防注入式攻击的方法

Country Status (1)

Country Link
CN (1) CN110247929B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102684876A (zh) * 2011-02-25 2012-09-19 英赛瑟库尔公司 包括求幂运算的加密方法
CN103997402A (zh) * 2014-05-30 2014-08-20 中国科学院深圳先进技术研究院 一种加密芯片安全性能测试方法和装置
CN104158807A (zh) * 2014-08-14 2014-11-19 四川九成信息技术有限公司 一种基于PaaS的安全云计算方法和系统
CN104717060A (zh) * 2015-03-10 2015-06-17 大唐微电子技术有限公司 一种攻击椭圆曲线加密算法的方法和攻击设备
CN105095739A (zh) * 2014-05-14 2015-11-25 国民技术股份有限公司 电子加密装置的测试方法、系统
CN108123790A (zh) * 2016-11-30 2018-06-05 深圳先进技术研究院 一种侧信道攻击方法及装置
CN108449333A (zh) * 2018-03-12 2018-08-24 浙江大学 基于家庭信道安全通讯协议的智能家居系统
CN109495257A (zh) * 2018-12-18 2019-03-19 国家电网有限公司 一种基于改进国密sm2加密算法的数据采集器加密方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102684876A (zh) * 2011-02-25 2012-09-19 英赛瑟库尔公司 包括求幂运算的加密方法
CN105095739A (zh) * 2014-05-14 2015-11-25 国民技术股份有限公司 电子加密装置的测试方法、系统
CN103997402A (zh) * 2014-05-30 2014-08-20 中国科学院深圳先进技术研究院 一种加密芯片安全性能测试方法和装置
CN104158807A (zh) * 2014-08-14 2014-11-19 四川九成信息技术有限公司 一种基于PaaS的安全云计算方法和系统
CN104717060A (zh) * 2015-03-10 2015-06-17 大唐微电子技术有限公司 一种攻击椭圆曲线加密算法的方法和攻击设备
CN108123790A (zh) * 2016-11-30 2018-06-05 深圳先进技术研究院 一种侧信道攻击方法及装置
CN108449333A (zh) * 2018-03-12 2018-08-24 浙江大学 基于家庭信道安全通讯协议的智能家居系统
CN109495257A (zh) * 2018-12-18 2019-03-19 国家电网有限公司 一种基于改进国密sm2加密算法的数据采集器加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GORKA LRAZOQUI等: "《Cross Processor Cache Attacks》", 《ASIA CCS "16: PROCEEDINGS OF THE 11TH ACM ON ASIA CONFERENCE ON COMPUTER AND COMMUNICATION》 *

Also Published As

Publication number Publication date
CN110247929B (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
US10880080B1 (en) Cryptographic key generation from biometric data
US10396985B1 (en) Federated identity management based on biometric data
CN108665359B (zh) 区块链处理方法、记账节点及验证节点
CN105162596B (zh) 用于生成在与服务器交互中使用的安全值并传送给用户的设备
CN108737442A (zh) 一种加密校验处理方法
JP2008511227A (ja) コンテンツ配信サイトなりすましの検知
CN107454048B (zh) 信息的处理方法及装置、信息的认证方法、装置及系统
CN111723383A (zh) 数据存储、验证方法及装置
CN103516522B (zh) 一种基于零知识证明协议的芯核水印盲检测方法
CN108737110A (zh) 一种用于防重放攻击的数据加密传输方法及装置
CN106790278A (zh) 一种双向认证方法及通信系统
WO2005078986A1 (en) One way authentication
CN111339116A (zh) 一种基于区块链的用于开放银行数据共享的方式
CN106547648A (zh) 一种备份数据处理方法及装置
CN110990814A (zh) 一种可信数字身份认证方法、系统、设备及介质
CN110855667A (zh) 一种区块链加密方法、装置及系统
CN106790279A (zh) 一种双向认证方法及通信系统
JPWO2019234850A1 (ja) セキュリティシステムおよびデータ処理装置
CN108496194A (zh) 一种验证终端合法性的方法、服务端及系统
CN102045170B (zh) 一种实现口令安全保护的方法及系统
CN110247929A (zh) 一种椭圆加密算法协处理器防注入式攻击的方法
CN110502380B (zh) 一种哈希算法协处理器自检的方法
CN110289960A (zh) 一种公开密钥密码算法协处理器防注入式攻击的方法
CN107395580A (zh) 一种数据校验方法及装置
CN104506558B (zh) 层次式数据拥有证明方法

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
CB02 Change of applicant information

Address after: 100080, Beijing, Suzhou Street, Haidian District No. 20, building 2, on the north side of the four floor

Applicant after: Zhaoxun Hengda Technology Co., Ltd

Address before: 100080, Beijing, Suzhou Street, Haidian District No. 20, building 2, on the north side of the four floor

Applicant before: MEGAHUNT MICROELECTRONIC TECH. (BEIJING) Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant