CN110289960B - 一种公开密钥密码算法协处理器防注入式攻击的方法 - Google Patents

一种公开密钥密码算法协处理器防注入式攻击的方法 Download PDF

Info

Publication number
CN110289960B
CN110289960B CN201910583954.2A CN201910583954A CN110289960B CN 110289960 B CN110289960 B CN 110289960B CN 201910583954 A CN201910583954 A CN 201910583954A CN 110289960 B CN110289960 B CN 110289960B
Authority
CN
China
Prior art keywords
private key
key parameter
encryption
decryption
parameter
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
CN201910583954.2A
Other languages
English (en)
Other versions
CN110289960A (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 Technology Co ltd
Original Assignee
Zhaoxun Hengda Technology 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 Technology Co ltd filed Critical Zhaoxun Hengda Technology Co ltd
Priority to CN201910583954.2A priority Critical patent/CN110289960B/zh
Publication of CN110289960A publication Critical patent/CN110289960A/zh
Application granted granted Critical
Publication of CN110289960B publication Critical patent/CN110289960B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例涉及一种公开密钥密码算法协处理器防注入式攻击的方法,其特征在于,所述方法包括:初始化加解密路径状态字,获取计算类型;当计算类型是加密类型时,获取第一明文与第一、二公钥参数并进行第一校验,校验成功后对第一明文进行加密处理;当计算类型是解密类型时,获取第一密文与第一、二、三、四、五私钥参数,对第一、二私钥参数进行第二校验,校验成功后根据第一、二私钥参数对第三、四私钥参数进行第三校验,校验成功后根据第一密文、第一、二私钥参数对第一密文进行第四校验,校验成功后对第一密文进行解密处理。本发明提供的方法,通过对加、解密参数的防注入校验来完成对注入式攻击的防范。

Description

一种公开密钥密码算法协处理器防注入式攻击的方法
技术领域
本发明涉及单片机技术领域,特别涉及一种公开密钥密码算法协处理器防注入式攻击的方法。
背景技术
公开密钥密码算法是一种非对称算法,即加密与解密不使用同一个密钥完成:对明文的加密采用公钥完成,对密文的解密采用私钥完成。现有的公开密钥密码算法是一个以三位发明者姓氏Rivest-Shamir-Adleman命名的算法(缩写为RSA)。RSA算法协处理器作为一种公开密钥密码算法协处理器,在安全计算单片机上已被广泛使用,主要用于提高单片机数据加解密的能力。因其算法本身特点,RSA算法协处理器在计算过程中会涉及到多次大素数计算,因此占用软硬件资源较大。注入式攻击就是利用这一点,通过注入式手段对各项计算参数进行针对性破坏,从而导致协处理器资源耗尽而出现异常。现有的注入式攻击方法有以下方面:对加解密数据进行注入式攻击,通过破坏加解密数据达到扰乱其加解密结果的目的;对密钥参数进行注入式攻击,通过破坏密钥参数从而破坏密钥,继而达到扰乱其加解密结果的目的。
发明内容
本发明的目的,就是针对现有技术的缺陷,提供一种公开密钥密码算法协处理器防注入式攻击的方法,对RSA算法协处理器的正常工作进行保护,防止其在遭受到注入式攻击时进入错误工作状态。
为实现上述目的,本发明提供了一种公开密钥密码算法协处理器防注入式攻击的方法,包括:
协处理器初始化加解密路径状态字;
所述协处理器获取上位机发送的计算类型,并根据所述计算类型启动加解密防注入校验处理流程;
当所述计算类型是加密类型时,所述协处理器向所述上位机请求并获取第一明文、第一公钥参数、第二公钥参数;根据所述第一明文和所述第一公钥参数,对所述第一明文进行第一校验处理;当所述第一校验执行成功后,对所述加解密路径状态字进行加密参数防注入校验处理;当所述加密参数防注入校验成功时,根据所述第一公钥参数、第二公钥参数,对所述第一明文进行加密处理;
当所述计算类型是解密类型时,所述协处理器向所述上位机请求并获取第一密文、第一私钥参数、第二私钥参数、第三私钥参数、第四私钥参数、第五私钥参数;对所述第一私钥参数、第二私钥参数进行第二校验处理;当所述第二校验执行成功后,根据所述第一私钥参数、第二私钥参数对所述第三私钥参数、第四私钥参数进行第三校验处理;当所述第三校验执行成功之后,根据所述第一私钥参数、第二私钥参数,对所述第一密文进行第四校验处理;当所述第四校验执行成功之后,对所述加解密路径状态字进行解密参数防注入校验处理;当所述解密参数防注入校验成功时,根据所述第一私钥参数、第二私钥参数、第三私钥参数、第四私钥参数、第五私钥参数,对所述第一密文进行解密处理。
进一步的,所述方法还包括:
当所述计算类型既不是加密类型也不是解密类型时,所述协处理器退出计算流程并返回计算类型错误的错误信息;
当所述第一校验失败之后,所述协处理器退出计算流程并返回加密明文注入式错误的错误信息;
当所述第二校验失败之后,所述协处理器退出计算流程并返回第一、二私钥参数注入式错误的错误信息;
当所述第三校验失败之后,所述协处理器退出计算流程并返回第三、四私钥参数注入式错误的错误信息;
当所述第四校验失败之后,所述协处理器退出计算流程并返回解密防注入检查过程错误的错误信息。
进一步的,所述协处理器初始化加解密路径状态字,具体包括:
将所述加解密路径状态字的第一校验位的值置为0;
将所述加解密路径状态字的第二校验位的值置为0;
将所述加解密路径状态字的第三校验位的值置为0;
将所述加解密路径状态字的第四校验位的值置为0。
优选的,所述根据所述第一明文和所述第一公钥参数,对所述第一明文进行第一校验处理,具体包括:
所述协处理器根据所述第一公钥参数,计算所述第一公钥参数的字节数据长度,生成第一数据长度;
所述协处理器根据所述第一明文,计算所述第一明文的字节数据长度,生成第二数据长度;
当所述第二数据长度的值加11的和小于或等于所述第一数据长度的值时,则所述第一校验成功,将所述加解密路径状态字的所述第一校验位的值置为1。
优选的,所述对所述加解密路径状态字进行加密参数防注入校验处理,具体包括:
当所述加解密路径状态字的所述第一校验位的值为1时,所述加密参数防注入校验成功。
优选的,所述对所述第一私钥参数、第二私钥参数进行第二校验处理,具体包括:
当所述第一私钥参数是素数时,则第一素数校验成功;
当所述第一素数校验成功之后,在所述第二私钥参数是素数时,则第二素数校验成功;
当所述第二素数校验成功之后,则所述第二校验成功,将所述加解密路径状态字的所述第二校验位的值置为1。
优选的,所述根据所述第一私钥参数、第二私钥参数对所述第三私钥参数、第四私钥参数进行第三校验处理,具体包括:
对所述第三私钥参数与所述第一私钥参数减1的差做模逆运算,生成第一参考数据;
对所述第四私钥参数与所述第二私钥参数减1的差做模逆运算,生成第二参考数据;
当所述第一参考数据与所述第二参考数据相等时,则所述第三校验成功,将所述加解密路径状态字的所述第三校验位的值置为1。
优选的,所述根据所述第一私钥参数、第二私钥参数,对所述第一密文进行第四校验处理,具体包括:
根据所述第一私钥参数、第二私钥参数,计算所述第一私钥参数乘以所述第二私钥参数的乘积,生成第一过程数据;
根据所述第一过程数据,计算第一过程数据的字节数据长度,生成第三数据长度;
根据所述第一密文,计算所述第一密文的字节数据长度,生成第四数据长度;
当所述第四数据长度的值加11的和小于或等于所述第三数据长度的值时,则所述第四校验成功,将所述加解密路径状态字的所述第四校验位的值置为1。
优选的,所述对所述加解密路径状态字进行解密参数防注入校验处理,具体包括:
当所述加解密路径状态字的所述第二校验位、第三校验位、第四校验位的值均为1时,所述解密参数防注入校验成功。
本发明提供的一种公开密钥密码算法协处理器防注入式攻击的方法,通过对第一明文长度进行第一校验,用以防止对加密所需的明文数据进行注入式攻击;通过对第一私钥参数和第二私钥参数的素数本质进行第二校验,用以防止对解密私钥的第一、第二参数的注入式攻击;通过使用第一私钥参数和第二私钥参数对第三私钥参数和第四私钥参数进行第三校验,用以防止对解密私钥第三、第四参数的注入式攻击;通过对第一密文的长度进行第四校验,用以防止对解密所需的密文数据进行注入式攻击;通过对加解密路径状态字的校验,用以防止对加密/解密防注入校验过程的注入式攻击。
附图说明
图1为本发明实施例一提供的一种公开密钥密码算法协处理器防注入式攻击的方法的工作示意图。
图2为本发明实施例二提供的一种公开密钥密码算法协处理器防注入式攻击的方法的工作示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
公开密钥密码算法,即加解密使用的不是同一个密钥:加密是使用公钥参数对明文进行操作,解密是使用私钥参数对密文进行操作。公开密钥密码算法的密钥参数与大素数密切相关,在计算过程中也会涉及到多次大素数计算;公开密钥密码算法的密钥参数间有严格要求的逻辑关系。注入式攻击就是利用上述两点,通过注入式手段对各项计算参数进行针对性破坏,从而导致协处理器的计算无法正常收敛,进而引发资源耗尽而出现异常。
本发明实施例针对上述技术缺陷,提出了一种公开密钥密码算法协处理器防注入式攻击的方法,通过对RSA算法原理的总结,归纳出RSA算法的数据规则,并以此作为防注入校验的依据,在RSA算法协处理器进入计算流程之前对参与计算的参数就其数据本身和数据间关联性进行充分的校验检查,从而实现了针对公开密钥密码算法协处理器注入式攻击的防护。简述如下:
首先根据RSA算法原理,总结出RSA算法的基本数据原则,详见表1。
Figure BDA0002112500570000061
表1
其次,根据上述RSA算法的基本数据原则,在启动高资源占用的计算流程前对数据及密钥参数做出一系列的校验判断处理,从而保证了进入计算的数据合规性,确保了计算过程中不会出现因计算不收敛而导致的资源耗尽,从而实现了对RSA算法协处理器注入式攻击的有效防范:通过对明文长度进行第一校验,用以防止对加密所需的明文数据进行注入式攻击;通过对第一私钥参数和第二私钥参数的素数本质进行第二校验,用以防止对解密私钥的第一、第二参数的注入式攻击;通过使用第一私钥参数和第二私钥参数对第三私钥参数和第四私钥参数进行第三校验,用以防止对解密私钥第三、第四参数的注入式攻击;通过对密文的长度进行第四校验,用以防止对解密所需的密文数据进行注入式攻击;通过对加解密路径状态字的校验,用以防止对加密/解密防注入校验过程的注入式攻击。
本发明实施例一,如图1为本发明实施例一提供的一种公开密钥密码算法协处理器防注入式攻击的方法的工作示意图所示,方法包括以下步骤:
步骤49,RSA算法协处理器初始化加解密路径状态字,
具体包括:步骤491,将加解密路径状态字的第一校验位的值置为0;
步骤492,将加解密路径状态字的第二校验位的值置为0;
步骤493,将加解密路径状态字的第三校验位的值置为0;
步骤494,将加解密路径状态字的第四校验位的值置为0。
步骤50,RSA算法协处理器获取上位机发送的计算类型,根据计算类型启动加解密防注入校验处理流程,
具体包括:当计算类型为加密类型时,转至步骤61,进入加密参数校验流程;当计算类型为解密类型时,转至步骤71,进入解密参数校验流程。
步骤61,RSA协处理器向上位机请求并获取第一明文,第一公钥参数,第二公钥参数。
步骤62,RSA算法协处理器根据第一明文和第一公钥参数,对第一明文长度进行第一校验,
具体包括:步骤621,根据第一明文,计算第一明文的字节数据长度,生成第一数据长度;
步骤622,根据第一公钥参数,计算第一公钥参数的字节数据长度,生成第二数据长度;
步骤623,第一数据长度加11的和小于或等于第二数据长度时,则第一明文符合加密数据原则1(详见表1),则第一校验成功,将加解密路径状态字的第一校验位的值置为1。
步骤63,当第一校验成功之后,RSA协处理器对加解密路径状态字进行加密参数防注入校验,
具体包括:当加解密路径状态字的第一校验位的值为1时,则加密参数防注入校验成功。
步骤64,加密参数防注入校验成功,RSA协处理器启动加密计算,
具体包括:步骤641,当加密参数防注入校验成功之后,根据第一和第二公钥参数,对第一明文进行加密处理生成最终密文;
步骤642,将最终密文作为计算结果向上位机发送。
步骤71,RSA协处理器向上位机请求并获取第一密文,第一私钥参数,第二私钥参数,第三私钥参数,第四私钥参数,第五私钥参数。
步骤72,RSA算法协处理器对第一私钥参数和第二私钥参数进行第二校验,
具体包括:步骤721,当第一私钥参数是素数时,则第一私钥参数符合解密数据原则1,则第一素数校验成功;
步骤722,当第一素数校验成功之后,在第二私钥参数是素数时,则第二私钥参数符合解密数据原则2(详见表1),则第二素数校验成功;
步骤723,当第二素数校验成功之后,则第二校验成功,将加解密路径状
态字的第二校验位的值置为1。
步骤73,当第二校验成功之后,RSA算法协处理器对第一私钥参数、第二私钥参数、第三私钥参数和第四私钥参数进行第三校验,
具体包括:步骤731,将第三私钥参数对第一私钥参数减1的差做模逆运算,生成第一参考数据;
步骤732,将第四私钥参数对第二私钥参数减1的差做模逆运算,生成第二参考数据;
步骤733,当第一参考数据与第二参考数据相等时,则第一、二、三、四私钥参数符合解密数据规则3(详见表1),则第三校验成功,将加解密路径状态字的第三校验位的值置为1。
步骤74,当第三校验成功之后,RSA算法协处理器根据第一私钥参数、第二私钥参数,对第一密文进行第四校验,
具体包括:步骤741,将第一私钥参数与第二私钥参数相乘的乘积,生成第一过程数据;
步骤742,计算第一过程数据的数据长度,生成第三数据长度;
步骤743,计算第一密文的数据长度,生成第四数据长度;
步骤744,当第四数据长度加11的和小于或等于第三数据长度,则第一密文符合解数据规则4(详见表1),则第四校验成功,将加解密路径状态字的第四校验位的值置为1。
步骤75,当第四校验成功之后,RSA协处理器对加解密路径状态字进行解密参数防注入校验,
具体包括:当第四校验成功之后,在加解密路径状态字的第二、三、四校验位的值均为1时,则解密参数防注入校验成功。
步骤76,当解密参数防注入校验成功之后,RSA协处理器启动解密计算,
具体包括:步骤761,根据第一、二、三、四、五私钥参数,对第一密文进行解密处理生成最终明文;
步骤762,将最终明文作为计算结果向上位机发送。
本发明实施例二,如图2为本发明实施例二提供的一种公开密钥密码算法协处理器防注入式攻击的方法的工作示意图所示,方法包括以下步骤:
步骤11,RSA算法协处理器初始化加解密路径状态字,
具体包括:步骤A1,将加解密路径状态字的第一校验位的值置为0;
步骤A2,将加解密路径状态字的第二校验位的值置为0;
步骤A3,将加解密路径状态字的第三校验位的值置为0;
步骤A4,将加解密路径状态字的第四校验位的值置为0。
步骤12,RSA算法协处理器获取上位机发送的计算类型。
步骤13,RSA算法协处理器判断计算类型是否为加密类型,如果计算类型是加密类型,则转至步骤111,进入加密数据防注入校验分支;如果计算类型不是加密类型,转至步骤14,进一步判断计算类型。
步骤14,RSA算法协处理器判断计算类型是否为解密类型,如果计算类型是解密类型,则转至步骤121,进入解密数据防注入校验分支;如果计算类型不是解密类型,则转至步骤410。
步骤111,RSA协处理器向上位机申请并获取第一明文、第一公钥参数、第二公钥参数。
步骤112,RSA协处理器计算第一公钥参数的字节数据长度,生成第一数据长度。
步骤113,RSA协处理器计算第一明文的字节数据长度,生成第二数据长度。
步骤114,RSA协处理器判断第二数据长度加11的和是否小于或等于第一数据长度,如果第二数据长度加11的和小于或等于第一数据长度,则表示加密所需明文数据长度符合加密数据原则1(详见表1),则第一校验成功,转至步骤115;如果第二数据长度加11的和大于第一数据长度,则表示加密所需明文数据受到注入式破坏不符合加密数据原则1(详见表1),则第一校验失败,转至步骤420。
步骤115,RSA协处理器将加解密路径状态字的第一校验位的值置为1。
步骤116,RSA协处理器判断加解密路径状态字的第一校验位的值是否为1,如果加解密路径状态字的第一校验位的值为1,则加密参数防注入校验成功,转至步骤117;如果加解密路径状态字的第一校验位的值不为1,则加密参数防注入校验失败,转至步骤430。
步骤117,RSA协处理器启动加密计算生成最终密文并向上位机发送。
步骤121,RSA协处理器向上位机申请并获取第一密文,第一私钥参数,第二私钥参数,第三私钥参数,第四私钥参数,第五私钥参数。
步骤122,RSA协处理器判断第一私钥参数是否为素数,如果第一私钥参数是素数,则表示第一私钥参数符合解密数据原则1,则第一素数校验成功,转至步骤123;如果第一私钥参数不为素数,则表示第一私钥参数遭受注入式破坏不符合解密数据原则1,则第一素数校验失败,转至步骤440。
步骤123,当第一素数校验成功之后,RSA协处理器判断第二私钥参数是否为素数,如果第二私钥参数是素数,则则表示第二私钥参数符合解密数据原则2(详见表1),第二素数校验成功,转至步骤124;如果第二私钥参数不为素数,则表示第二私钥参数遭受注入式破坏不符合解密数据原则2(详见表1),则第二素数校验失败,转至步骤450。
步骤124,当第二素数校验成功之后,则表示第二校验成功,RSA协处理器将加解密路径状态字的第二校验位的值置为1。
步骤125,RSA协处理器将第三私钥参数对第一私钥参数减1的差做模逆运算,生成第一参考数据。
步骤126,RSA协处理器将第四私钥参数对第二私钥参数减1的差做模逆运算,生成第二参考数据。
步骤127,RSA协处理器判断第一参考数据与第二参考数据是否相等,如果第一参考数据与第二参考数据相等,则表示第一、二、三、四私钥参数符合解密数据原则3(详见表1),则第三校验成功,转至步骤128;如果第一参考数据与第二参考数据不相等,则表示第一、二、三、四私钥参数遭受注入式破坏不符合解密数据原则3(详见表1),则第三校验失败,转至步骤460。
步骤128,RSA协处理器将加解密路径状态字的第三校验位的值置为1。
步骤129,RSA协处理器将第一私钥参数与第二私钥参数相乘的乘积,生成第一过程数据。
步骤130,RSA协处理器计算第一过程数据的字节数据长度,生成第三数据长度。
步骤131,RSA协处理器计算第一密文的字节数据长度,生成第四长度。
步骤132,RSA协处理器判断第四数据长度加11的和是否小于等于第三数据长度,如果第四数据长度加11的和小于等于第三数据长度,则密文数据符合解密数据原则4(详见表1),则第四校验成功,转至步骤133;如果第四数据长度加11的和大于第三数据长度,则密文数据遭受注入式破坏不符合解密数据原则4(详见表1),则第四校验失败,转至步骤470。
步骤133,RSA协处理器将加解密路径状态字的第四校验位的值置为1。
步骤134,RSA协处理器判断加解密路径状态字的第二、三、四校验位的值是否均为1,如果加解密路径状态字的第二、三、四校验位的值均为1,则解密参数防注入校验成功,转至步骤135;如果加解密路径状态字的第二、三、四校验位的值不是全为1,则解密参数防注入校验失败,转至步骤480。
步骤135,RSA协处理器启动解密计算生成最终明文并向上位机发送。
步骤410,RSA协处理器退出计算流程,返回错误信息:计算类型错误。
导致该类型错误的原因是,获取的计算类型数据既不是解密类型也不是加密类型。
步骤420,RSA协处理器退出计算流程,返回错误信息:加密明文数据注入式错误。
导致该类错误的原因是,加密明文数据不符合RSA算法的加密数据规则1。
步骤430,RSA协处理器退出计算流程,返回错误信息:加密防注入检查过程错误。
导致该类错误的原因是,加密防注入过程失败,未成功完成所有校验项目。
步骤440,RSA协处理器退出计算流程,返回错误信息:第一私钥参数注入式错误。
导致该类错误的原因是,解密参数之第一私钥参数不是素数,不符合RSA算法的解密数据规则1(详见表1)。
步骤450,RSA协处理器退出计算流程,返回错误信息:第二私钥参数注入式错误。
导致该类错误的原因是,解密参数之第二私钥参数不是素数,不符合RSA算法的解密数据规则2(详见表1)。
步骤460,RSA协处理器退出计算流程,返回错误信息:第三、四私钥参数注入式错误。
导致该类错误的原因是,解密参数之第三、四私钥参数不符合RSA算法的解密数据规则3(详见表1)。
步骤470,RSA协处理器退出计算流程,返回错误信息:解密密文注入式错误。
导致该类错误的原因是,解密参数之密文参数不符合RSA算法的解密数据规则4(详见表1)。
步骤480,RSA协处理器退出计算流程,返回错误信息:解密防注入检查过程错误。
导致该类错误的原因是,解密防注入检查过程不完整,未成功完成所有校验项目。
本发明实施例提供的一种公开密钥密码算法协处理器防注入式攻击的方法,通过对第一明文长度进行第一校验,用以防止对加密明文数据进行注入式攻击;通过对第一私钥参数p、第二私钥参数q进行第二校验,对第三私钥参数dp、第四私钥参数dq进行第三校验,用以防止对私钥数据进行注入式攻击;通过对第一密文长度进行第四校验,用以防止对解密数据进行注入式攻击。通过对所述加解密路径状态字的校验,用以防止对加密/解密防注入校验过程的注入式攻击。通过使用本发明的方法,RSA算法协处理器可以规避因加密明文数据、解密密文数据、计算密钥参数等数据遭受注入式攻击引发的计算失效或错误。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种公开密钥密码算法协处理器防注入式攻击的方法,其特征在于,所述方法包括:
协处理器初始化加解密路径状态字;
所述协处理器获取上位机发送的计算类型,并根据所述计算类型启动加解密防注入校验处理流程;
当所述计算类型是加密类型时,所述协处理器向所述上位机请求并获取第一明文、第一公钥参数、第二公钥参数;根据所述第一明文和所述第一公钥参数,对所述第一明文进行第一校验处理;当所述第一校验执行成功后,对所述加解密路径状态字进行加密参数防注入校验处理;当所述加密参数防注入校验成功时,根据所述第一公钥参数、第二公钥参数,对所述第一明文进行加密处理;
当所述计算类型是解密类型时,所述协处理器向所述上位机请求并获取第一密文、第一私钥参数、第二私钥参数、第三私钥参数、第四私钥参数、第五私钥参数;对所述第一私钥参数、第二私钥参数进行第二校验处理;当所述第二校验执行成功后,根据所述第一私钥参数、第二私钥参数对所述第三私钥参数、第四私钥参数进行第三校验处理;当所述第三校验执行成功之后,根据所述第一私钥参数、第二私钥参数,对所述第一密文进行第四校验处理;当所述第四校验执行成功之后,对所述加解密路径状态字进行解密参数防注入校验处理;当所述解密参数防注入校验成功时,根据所述第一私钥参数、第二私钥参数、第三私钥参数、第四私钥参数、第五私钥参数,对所述第一密文进行解密处理;
所述协处理器初始化加解密路径状态字,具体包括:
将所述加解密路径状态字的第一校验位的值置为0;
将所述加解密路径状态字的第二校验位的值置为0;
将所述加解密路径状态字的第三校验位的值置为0;
将所述加解密路径状态字的第四校验位的值置为0;
所述根据所述第一明文和所述第一公钥参数,对所述第一明文进行第一校验处理,具体包括:
所述协处理器根据所述第一公钥参数,计算所述第一公钥参数的字节数据长度,生成第一数据长度;
所述协处理器根据所述第一明文,计算所述第一明文的字节数据长度,生成第二数据长度;
当所述第二数据长度的值加11的和小于或等于所述第一数据长度的值时,则所述第一校验成功,将所述加解密路径状态字的所述第一校验位的值置为1;
所述对所述加解密路径状态字进行加密参数防注入校验处理,具体包括:
当所述加解密路径状态字的所述第一校验位的值为1时,所述加密参数防注入校验成功;
所述对所述第一私钥参数、第二私钥参数进行第二校验处理,具体包括:
当所述第一私钥参数是素数时,则第一素数校验成功;
当所述第一素数校验成功之后,在所述第二私钥参数是素数时,则第二素数校验成功;
当所述第二素数校验成功之后,则所述第二校验成功,将所述加解密路径状态字的所述第二校验位的值置为1;
所述根据所述第一私钥参数、第二私钥参数对所述第三私钥参数、第四私钥参数进行第三校验处理,具体包括:
对所述第三私钥参数与所述第一私钥参数减1的差做模逆运算,生成第一参考数据;
对所述第四私钥参数与所述第二私钥参数减1的差做模逆运算,生成第二参考数据;
当所述第一参考数据与所述第二参考数据相等时,则所述第三校验成功,将所述加解密路径状态字的所述第三校验位的值置为1;
所述根据所述第一私钥参数、第二私钥参数,对所述第一密文进行第四校验处理,具体包括:
根据所述第一私钥参数、第二私钥参数,计算所述第一私钥参数乘以所述第二私钥参数的乘积,生成第一过程数据;
根据所述第一过程数据,计算第一过程数据的字节数据长度,生成第三数据长度;
根据所述第一密文,计算所述第一密文的字节数据长度,生成第四数据长度;
当所述第四数据长度的值加11的和小于或等于所述第三数据长度的值时,则所述第四校验成功,将所述加解密路径状态字的所述第四校验位的值置为1;
所述对所述加解密路径状态字进行解密参数防注入校验处理,具体包括:
当所述加解密路径状态字的所述第二校验位、第三校验位、第四校验位的值均为1时,所述解密参数防注入校验成功。
2.根据权利要求1所述方法,其特征在于,所述方法还包括:
当所述计算类型既不是加密类型也不是解密类型时,所述协处理器退出计算流程并返回计算类型错误的错误信息;
当所述第一校验失败之后,所述协处理器退出计算流程并返回加密明文注入式错误的错误信息;
当所述第二校验失败之后,所述协处理器退出计算流程并返回第一、二私钥参数注入式错误的错误信息;
当所述第三校验失败之后,所述协处理器退出计算流程并返回第三、四私钥参数注入式错误的错误信息;
当所述第四校验失败之后,所述协处理器退出计算流程并返回解密防注入检查过程错误的错误信息。
CN201910583954.2A 2019-06-28 2019-06-28 一种公开密钥密码算法协处理器防注入式攻击的方法 Active CN110289960B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910583954.2A CN110289960B (zh) 2019-06-28 2019-06-28 一种公开密钥密码算法协处理器防注入式攻击的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910583954.2A CN110289960B (zh) 2019-06-28 2019-06-28 一种公开密钥密码算法协处理器防注入式攻击的方法

Publications (2)

Publication Number Publication Date
CN110289960A CN110289960A (zh) 2019-09-27
CN110289960B true CN110289960B (zh) 2022-03-18

Family

ID=68020307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910583954.2A Active CN110289960B (zh) 2019-06-28 2019-06-28 一种公开密钥密码算法协处理器防注入式攻击的方法

Country Status (1)

Country Link
CN (1) CN110289960B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116506188B (zh) * 2023-05-04 2024-03-29 北京众谊越泰科技有限公司 一种基于b/s架构的非对称加密算法的操作方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811124A (zh) * 2012-08-01 2012-12-05 连云港杰瑞深软科技有限公司 基于两卡三码技术的系统验证方法
CN109934017A (zh) * 2019-03-12 2019-06-25 苏州科达科技股份有限公司 校验信息生成和文件完整性校验方法、系统、设备及介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2808145B1 (fr) * 2000-04-25 2002-09-27 Gemplus Card Int Procede de calcul d'une donnee de controle
US20070019805A1 (en) * 2005-06-28 2007-01-25 Trustees Of Boston University System employing systematic robust error detection coding to protect system element against errors with unknown probability distributions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811124A (zh) * 2012-08-01 2012-12-05 连云港杰瑞深软科技有限公司 基于两卡三码技术的系统验证方法
CN109934017A (zh) * 2019-03-12 2019-06-25 苏州科达科技股份有限公司 校验信息生成和文件完整性校验方法、系统、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"一种关于CRT-RSA算法的差分错误注入攻击";李增局;《密码学报》;20161215;全文 *

Also Published As

Publication number Publication date
CN110289960A (zh) 2019-09-27

Similar Documents

Publication Publication Date Title
CN109194466B (zh) 一种基于区块链的云端数据完整性检测方法及系统
US9292665B2 (en) Secure serial number
US7490239B2 (en) Facilitating digital signature based on ephemeral private key
TWI429255B (zh) 安全修補系統
US9185111B2 (en) Cryptographic authentication techniques for mobile devices
US8477933B2 (en) Cryptographic algorithm fault protections
US20060153370A1 (en) Generating public-private key pair based on user input data
US20060156013A1 (en) Digital signature software using ephemeral private key and system
US7693277B2 (en) Generating digital signatures using ephemeral cryptographic key
US20060153369A1 (en) Providing cryptographic key based on user input data
CN110289960B (zh) 一种公开密钥密码算法协处理器防注入式攻击的方法
US7454625B2 (en) Method and apparatus for protecting a calculation in a cryptographic algorithm
CN110502360B (zh) 一种高级加密标准协处理器自检的方法
CN110502379B (zh) 一种椭圆加密算法协处理器自检的方法
CN110311773B (zh) 一种高级加密标准协处理器防注入式攻击的方法
US20220237287A1 (en) Method for Securing Against Fault Attacks a Verification Algorithm of a Digital Signature of a Message
CN110247929B (zh) 一种椭圆加密算法协处理器防注入式攻击的方法
CN110298145B (zh) 一种基于公开密钥密码算法的固件程序装载保护方法
US11968290B2 (en) Circuit compiling device and circuit evaluation device
CN110502359B (zh) 一种公开密钥密码算法协处理器自检的方法
CN110321737B (zh) 一种数据加密标准协处理器防注入式攻击的方法
CN115134093B (zh) 数字签名方法及计算设备
US11924357B2 (en) Methods and apparatus for cryptographic signature generation
CN117859290A (zh) 安全存储密钥
CN116881939A (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
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.

GR01 Patent grant
GR01 Patent grant