CN104598828B - 数据的防攻击方法和装置 - Google Patents
数据的防攻击方法和装置 Download PDFInfo
- Publication number
- CN104598828B CN104598828B CN201310534525.9A CN201310534525A CN104598828B CN 104598828 B CN104598828 B CN 104598828B CN 201310534525 A CN201310534525 A CN 201310534525A CN 104598828 B CN104598828 B CN 104598828B
- Authority
- CN
- China
- Prior art keywords
- value
- circuit
- data
- unequal
- input data
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
Abstract
本发明提供了数据的防攻击方法和装置。其中,所述方法包括:在将第一值和第二值分别作为第一输入数据和第二输入数据输入预设电路的第一电路和第二电路之前,判断所述第一值和所述第二值是否相等;当所述第一值和所述第二值相等时,将两个不相等的数据分别作为所述第一输入数据和第二输入数据输入所述第一电路和第二电路;当所述第一电路和第二电路分别对所述两个不相等的数据进行运算后得到第一运算结果和第二运算结果,并由所述预设电路的第三电路对所述第一运算结果和第二运算结果进行运算后,将以所述第一值和第二值分别作为第一输入数据和第二输入数据时对应的所述预设电路的运算结果输出。所述方法和装置能够提高数据的安全性。
Description
技术领域
本发明涉及数据安全的技术领域,特别涉及一种数据的防攻击方法和装置。
背景技术
运算电路可对数据进行运算,由于被处理数据和处理所述数据的所述运算电路的能耗之间通常会存在某种联系,因此,攻击者往往可以通过对所述运算电路进行功耗分析,来破解出所述运算电路所处理的数据信息。
为解决上述问题,需要提出一种新的数据的防攻击方法和装置,以提高数据的安全性。
发明内容
本发明解决的问题是提出一种新的数据的防攻击方法和装置,以提高数据的安全性。
本发明的实施例提供了一种数据的防攻击方法,所述方法包括:在将第一值和第二值分别作为第一输入数据和第二输入数据输入预设电路的第一电路和第二电路之前,判断所述第一值和所述第二值是否相等,所述第一电路的结构和所述第二电路的结构相互对称;当所述第一值和所述第二值相等时,将两个不相等的数据分别作为所述第一输入数据和第二输入数据输入所述第一电路和第二电路;当所述第一电路和第二电路分别对所述两个不相等的数据进行运算后得到第一运算结果和第二运算结果,并由所述预设电路的第三电路对所述第一运算结果和第二运算结果进行运算后,将以所述第一值和第二值分别作为第一输入数据和第二输入数据时对应的所述预设电路的运算结果输出。
可选地,所述两个不相等的数据分别为任意两个不相等的随机数。
可选地,所述两个不相等的数据分别为第一值和与所述第一值不相等的随机数。
可选地,所述两个不相等的数据分别为第二值和与所述第二值不相等的随机数。
可选地,所述预设电路为模逆运算电路。
可选地,所述第一值为原始数据和掩码进行预设运算后的值,所述第二值为所述掩码的值。
可选地,所述预设运算为异或运算。
本发明的实施例还提供了一种数据的防攻击装置,所述装置包括:判断单元,用于在将第一值和第二值分别作为第一输入数据和第二输入数据输入预设电路的第一电路和第二电路之前,判断所述第一值和所述第二值是否相等,所述第一电路的结构和所述第二电路的结构相互对称;第一处理单元,用于当所述第一值和所述第二值相等时,将两个不相等的数据分别作为所述第一输入数据和第二输入数据输入所述第一电路和第二电路进行运算;运算单元,用于获得以所述第一值和第二值分别作为第一输入数据和第二输入数据时对应的所述预设电路的运算结果;第二处理单元,用于当所述第一电路和第二电路分别对所述两个不相等的数据进行运算后得到第一运算结果和第二运算结果,并由所述预设电路的第三电路对所述第一运算结果和第二运算结果进行运算后,将所述运算单元的运算结果输出。
可选地,所述第一处理单元包括第一逻辑选择电路。
可选地,所述第二处理单元包括第二逻辑选择电路。
可选地,所述两个不相等的数据分别为任意的两个不相等的随机数。
可选地,所述两个不相等的数据分别为第一值和与所述第一值不相等的随机数。
可选地,所述两个不相等的数据分别为第二值和与所述第二值不相等的随机数。
可选地,所述预设电路为模逆运算电路。
可选地,所述第一值为原始数据和掩码进行预设运算后的值,所述第二值为所述掩码的值。
与现有技术相比,本发明的实施例具有以下优点:
通过上述技术方案,在将第一值和第二值分别作为第一输入数据和第二输入数据输入预设电路的第一电路和第二电路之前,判断所述第一值和所述第二值是否相等;当所述第一值和所述第二值相等时,将两个不相等的数据分别作为所述第一输入数据和第二输入数据输入所述第一电路和第二电路,使得所述预设电路对所述两个不相等的数据进行运算的功耗与以所述第一值和第二值分别作为所述第一输入数据和第二输入数据时不同,从而避免了攻击者利用当所述第一值和所述第二值相等时所述第三电路的功耗较小的特点,从而破解所述第一值和第二值的相关信息。另外,为了保证所述预设电路的仍能保持正常运作,当所述第一电路和第二电路分别对所述两个不相等的数据进行运算后得到第一运算结果和第二运算结果,并由所述预设电路的第三电路对所述第一运算结果和第二运算结果进行运算后,将以所述第一值和第二值作为第一输入数据和第二输入数据时对应的所述预设电路的运算结果输出。因此,上述技术方案能够在不影响所述预设电路的正常运行的情况下提高数据的安全性。
附图说明
图1是本发明实施例中预设电路的结构示意图;
图2是本发明实施例中数据的防攻击方法的流程图;
图3是本发明实施例中数据的防攻击装置的结构示意图;
图4是本发明一实施例中防攻击装置的第一逻辑选择电路和第二逻辑选择电路的流程图;
图5是本发明又一实施例中防攻击装置的第一逻辑选择电路和第二逻辑选择电路的流程图;
图6是本发明再一实施例中防攻击装置的第一逻辑选择电路和第二逻辑选择电路的流程图。
具体实施方式
图1为本发明实施例中预设电路的结构示意图。请参考图1,所述预设电路结构包括第一电路、第二电路和第三电路,其中,所述第一电路的结构和所述第二电路的结构相互对称,所述第三电路对所述第一电路的运算结果和所述第二电路的运算结果进行运算。
经研究,发明人发现,当所述第一电路的输入数据和所述第二电路的输入数据相等时,所述第一电路和第二电路的运算时序和逻辑翻转将会达到一致,在此情况下,当所述运算电路的第三电路再对所述第一电路和第二电路的运算结果进行运算时,所述第三电路的功耗将相对于所述第一电路和第二电路的输入值不相等时明显降低。攻击者将会利用上述特点进行功耗分析,从而进行数据破解。为此,在本发明的实施例中,发明人提出了一种新的数据的防攻击方法和装置。
为详细说明本发明的技术内容、构造特征、所实现目的及效果,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
图2是本发明实施例中数据的防攻击方法的流程图。如图2所示,所述方法包括步骤S101至S106。
步骤S101,获取第一值和第二值。
在本发明的实施例中,可以从预设电路的输入单元获得所述第一值和第二值。所述预设电路包含第一电路和第二电路,所述第一电路的结构和第二电路的结构相互对称,所述预设电路还包括第三电路,所述第三电路对所述第一电路的运算结果与所述第二电路的运算结果进行运算。例如,所述预设电路可以为模逆运算电路。
在本发明的实施例中,所述第一值可以为原始数据和掩码进行预设运算后的值,所述第二值可以为所述掩码的值。例如在模逆运算电路中,预输入所述模逆运算电路的第一电路的第一值可以为原始数据异或掩码的值,预输入所述模逆运算电路的第二电路的第二值可以为所述掩码值。
步骤S102,在将第一值和第二值分别作为第一输入数据和第二输入数据输入预设电路的第一电路和第二电路之前,判断所述第一值和所述第二值是否相等。
如前所述,当所述第一电路的结构和所述第二电路的结构相互对称,且所述第一电路的输入数据和所述第二电路的输入数据相等时,相对于所述第一电路和第二电路的输入值不相等时,所述第三电路的功耗将明显降低。攻击者将会利用上述特点进行功耗分析,从而进行数据破解。
在本发明的实施例中,为了避免将相等的第一输入数据和第二输入数据输入所述预设电路,在将第一值和第二值分别作为第一输入数据和第二输入数据输入预设电路的第一电路和第二电路之前,判断所述第一值和所述第二值是否相等。
例如,在模逆运算电路中,当预输入所述模逆运算电路的第一电路的第一值为原始数据异或掩码的值,且预输入所述模逆运算电路的第二电路的第二值为所述掩码值时,如果所述原始数据等于0时,所述第一值和第二值相等。
当所述第一值和所述第二值相等时,执行步骤S103。
步骤S103,将两个不相等的数据分别作为所述第一输入数据和第二输入数据,输入所述第一电路和第二电路。
在本发明的实施例中,为了避免攻击者利用两个相等的值作为所述预设电路的输入数据时所述预设电路的功耗进行攻击,当所述第一值和所述第二值相等时,可以将两个不相等的数据分别输入所述预设电路的第一电路和第二电路。
具体地,当判断得出所述第一值和第二值相等时,可以通过利用随机数替换所述第一值和第二值中的一个,或利用两个不相等的随机数将所述第一值和第二值全部替换,来实现输入的第一输入数据和第二输入数据不相等。例如,所述两个不相等的数据分别为任意不相等的两个随机数,所述两个不相等的数据也可以分别为第一值和与所述第一值不相等的随机数,或者所述两个不相等的数据分别为第二值和与所述第二值不相等的随机数。
步骤S104,当所述第一电路和第二电路分别对所述两个不相等的数据进行运算后得到第一运算结果和第二运算结果,并由所述预设电路的第三电路对所述第一运算结果和第二运算结果进行运算后,将以所述第一值和第二值作为第一输入数据和第二输入数据时对应的所述预设电路的运算结果输出。
如前所述,当所述第一值和第二值相等时,实际输入所述预设电路的并不是所述第一值和第二值,而是第一值和任意随机数,任意随机数和第二值或者两个任意随机数,因此,这时所述预设电路的运算功耗并不能反映出第一值和第二值的信息。
但为了保证所述预设电路的正常运行,在所述第三运算电路对所述第一运算结果和第二运算结果进行运算后,将以所述第一值和第二值分别作为第一输入数据和第二输入数据时对应的所述预设电路的运算结果输出。
在本发明的实施例中,以所述第一值和第二值作为第一输入数据和第二输入数据时对应的所述预设电路的运算结果可以通过与所述预设电路具有相同运算逻辑的软件程序来获得。
在本发明的其他实施例中,以所述第一值和第二值作为第一输入数据和第二输入数据时对应的所述预设电路的运算结果也可以事先计算好,通过存储器存储,以供需要时使用。
当所述第一值和第二值不相等时,执行步骤S105。
步骤S105,将所述第一值和第二值作为所述第一输入数据和第二输入数据分别输入所述第一电路和第二电路。
在本发明的实施例中,当所述第一值和第二值不相等时,所述预设电路正常工作,仍以所述第一值和第二值作为输入数据,并通过步骤S106进行运算和输出。
步骤S106,所述预设电路根据所述第一值和第二值进行运算,并输出运算结果。
通过上述方法可以避免当所述第一值和第二值相等时攻击者利用功耗分析对待处理数据进行破解,从而提高了数据的安全性。
本发明的实施例还提供了一种数据的防攻击装置。请参考图3,所述装置200包括:判断单元210,用于在将第一值和第二值分别作为第一输入数据和第二输入数据输入预设电路的第一电路和第二电路之前,判断所述第一值和所述第二值是否相等;第一处理单元220,用于当所述第一值和所述第二值相等时,将两个不相等的数据分别作为所述第一输入数据和第二输入数据输入所述第一电路和第二电路,所述第一电路的结构和所述第二电路的结构相互对称;运算单元230,用于获得以所述第一值和第二值作为第一输入数据和第二输入数据时对应的所述预设电路的运算结果;第二处理单元240,用于当所述第一电路和第二电路分别对所述两个不相等的数据进行运算后得到第一运算结果和第二运算结果,并由所述预设电路的第三电路对所述第一运算结果和第二运算结果进行运算后,将所述运算单元的运算结果输出。
在本发明的实施例中,所述第一处理单元可以包括第一逻辑选择电路。
例如,在图4中,所述第一处理单元通过第一逻辑选择电路从第一值和随机数这两路输入中选择一个作为所述第一输入数据输入所述预设电路,具体地,当第一值和第二值相等时,所述第一选择电路将选择随机数和所述第二值一起分别作为第一输入数据和第二输入数据输入所述预设电路。
又例如,在图5中,所述第一处理单元通过第一逻辑选择电路从第二值和随机数这两路输入中选择一个作为所述第二输入数据输入所述预设电路,具体地,当第一值和第二值相等时,所述第一选择电路将选择随机数和所述第一值一起分别作为第二输入数据和第一输入数据输入所述预设电路。
再例如,在图6中,所述第一处理单元通过第一个第一逻辑选择单元从第一值和随机数这两路输入中选择一个作为所述第一输入数据输入所述预设电路,所述第一处理单元通过第二个第一逻辑选择单元从第二值和随机数这两路输入中选择一个作为所述第二输入数据输入所述预设电路。具体地,当第一值和第二值相等时,所述第一选择电路将选择第一随机数和第二随机数分别作为第一输入数据和第二输入数据输入所述预设电路。
在本发明的实施例中,所述两个不相等的数据可以分别为任意两个不相等的随机数,所述两个不相等的数据可以分别为第一值和与所述第一值不相等的随机数,或者所述两个不相等的数据可以分别为第二值和与所述值不相等的随机数。
在本发明的实施例中,所述第二处理单元包括第二逻辑选择电路。例如,在图4、5和6中,所述第二逻辑选择电路的输入分别为所述第三电路的运算结果和所述运算电路的运算结果,当所述第一值等于所述第二值时,所述第二逻辑选择电路将选择所述运算电路的运算结果输出,当所述第一值不等于所述第二值时,所述第二逻辑选择电路将选择所述第三电路的运算结果输出。
在本发明的实施例中,所述预设电路可以为模逆运算电路。
在本发明的实施例中,所述第一值为原始数据和掩码运算后的值,所述第二值为所述掩码的值。例如,所述第一值为原始数据异或掩码的值,所述第二值为所述掩码的值。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (15)
1.一种数据的防攻击方法,其特征在于,包括:
在将第一值和第二值分别作为第一输入数据和第二输入数据输入预设电路的第一电路和第二电路之前,判断所述第一值和所述第二值是否相等,所述第一电路的结构和所述第二电路的结构相互对称;
当所述第一值和所述第二值相等时,将两个不相等的数据分别作为所述第一输入数据和第二输入数据输入所述第一电路和第二电路;
当所述第一电路和第二电路分别对所述两个不相等的数据进行运算后得到第一运算结果和第二运算结果,并由所述预设电路的第三电路对所述第一运算结果和第二运算结果进行运算后,将以所述第一值和第二值分别作为第一输入数据和第二输入数据时对应的所述预设电路的运算结果输出。
2.如权利要求1所述的方法,其特征在于,所述两个不相等的数据分别为任意两个不相等的随机数。
3.如权利要求1所述的方法,其特征在于,所述两个不相等的数据分别为第一值和与所述第一值不相等的随机数。
4.如权利要求1所述的方法,其特征在于,所述两个不相等的数据分别为第二值和与所述第二值不相等的随机数。
5.如权利要求1所述的方法,其特征在于,所述预设电路为模逆运算电路。
6.如权利要求1所述的方法,其特征在于,所述第一值为原始数据和掩码进行预设运算后的值,所述第二值为所述掩码的值。
7.如权利要求6所述的方法,其特征在于,所述预设运算为异或运算。
8.一种数据的防攻击装置,其特征在于,包括:
判断单元,用于在将第一值和第二值分别作为第一输入数据和第二输入数据输入预设电路的第一电路和第二电路之前,判断所述第一值和所述第二值是否相等,所述第一电路的结构和所述第二电路的结构相互对称;
第一处理单元,用于当所述第一值和所述第二值相等时,将两个不相等的数据分别作为所述第一输入数据和第二输入数据输入所述第一电路和第二电路进行运算;
运算单元,用于获得以所述第一值和第二值分别作为第一输入数据和第二输入数据时对应的所述预设电路的运算结果;
第二处理单元,用于当所述第一电路和第二电路分别对所述两个不相等的数据进行运算后得到第一运算结果和第二运算结果,并由所述预设电路的第三电路对所述第一运算结果和第二运算结果进行运算后,将所述运算单元的运算结果输出。
9.如权利要求8所述的装置,其特征在于,所述第一处理单元包括第一逻辑选择电路。
10.如权利要求8所述的装置,其特征在于,所述第二处理单元包括第二逻辑选择电路。
11.如权利要求8所述的装置,其特征在于,所述两个不相等的数据分别为任意的两个不相等的随机数。
12.如权利要求8所述的装置,其特征在于,所述两个不相等的数据分别为第一值和与所述第一值不相等的随机数。
13.如权利要求8所述的装置,其特征在于,所述两个不相等的数据分别为第二值和与所述第二值不相等的随机数。
14.如权利要求8所述的装置,其特征在于,所述预设电路为模逆运算电路。
15.如权利要求8所述的装置,其特征在于,所述第一值为原始数据和掩码进行预设运算后的值,所述第二值为所述掩码的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310534525.9A CN104598828B (zh) | 2013-10-31 | 2013-10-31 | 数据的防攻击方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310534525.9A CN104598828B (zh) | 2013-10-31 | 2013-10-31 | 数据的防攻击方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104598828A CN104598828A (zh) | 2015-05-06 |
CN104598828B true CN104598828B (zh) | 2017-09-15 |
Family
ID=53124605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310534525.9A Active CN104598828B (zh) | 2013-10-31 | 2013-10-31 | 数据的防攻击方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598828B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1414182A1 (fr) * | 2002-09-20 | 2004-04-28 | St Microelectronics S.A. | Masquage de données décomposées dans un système de résidus |
CN101150392A (zh) * | 2006-09-21 | 2008-03-26 | 北京中电华大电子设计有限责任公司 | 利用数字功耗补偿防功耗攻击的硬件3des |
CN103067155A (zh) * | 2012-12-27 | 2013-04-24 | 东南大学 | 一种防止基于功耗分析的des算法攻击的方法及测试电路 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004018874B4 (de) * | 2004-04-19 | 2009-08-06 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Bestimmen eines Ergebnisses |
KR100725169B1 (ko) * | 2005-01-27 | 2007-06-04 | 삼성전자주식회사 | 전력 분석 공격에 안전한 논리 연산 장치 및 방법 |
-
2013
- 2013-10-31 CN CN201310534525.9A patent/CN104598828B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1414182A1 (fr) * | 2002-09-20 | 2004-04-28 | St Microelectronics S.A. | Masquage de données décomposées dans un système de résidus |
CN101150392A (zh) * | 2006-09-21 | 2008-03-26 | 北京中电华大电子设计有限责任公司 | 利用数字功耗补偿防功耗攻击的硬件3des |
CN103067155A (zh) * | 2012-12-27 | 2013-04-24 | 东南大学 | 一种防止基于功耗分析的des算法攻击的方法及测试电路 |
Also Published As
Publication number | Publication date |
---|---|
CN104598828A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105760765B (zh) | 数据加密方法、装置及数据解密方法、装置 | |
CN103905462B (zh) | 可抵御差分功耗分析攻击的加密处理装置及方法 | |
CN103560877B (zh) | 攻击密钥的方法及装置 | |
Basnet et al. | Ransomware detection using deep learning in the SCADA system of electric vehicle charging station | |
US11228422B2 (en) | Configuring a device based on a DPA countermeasure | |
CN105846814B (zh) | 针对加密技术领域乘法运算的量子逻辑电路的构造方法 | |
EP3503079A1 (en) | Apparatus and method for processing random number extracted from pufs | |
CN109617706A (zh) | 工业控制系统防护方法及工业控制系统防护装置 | |
CN108667598A (zh) | 用于实现安全密钥交换的设备和方法及安全密钥交换方法 | |
CN105959100B (zh) | 一种基于fpga的在线生成密钥的aes数据加密方法 | |
CN104598828B (zh) | 数据的防攻击方法和装置 | |
EP3384422B1 (en) | Freeze logic | |
Suzuki et al. | Multiple-valued debiasing for physically unclonable functions and its application to fuzzy extractors | |
CN105099654A (zh) | 基于耦合自触发元胞自动机加解密方法 | |
CN113901464A (zh) | 基于服务编排的人工智能安全架构系统、方法及相关设备 | |
CN105656629B (zh) | 芯片中安全的非相邻表示型实现方法 | |
CN104601319B (zh) | 一种数据加密方法和装置 | |
Behera et al. | A Deep Fusion Model For Automated Industrial Iot Cyber Attack Detection And Mitigation | |
CN104573544B (zh) | 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路 | |
Košar et al. | Multi-stride NFA-split architecture for regular expression matching using FPGA | |
Shchur et al. | Definition of parameters of mathematical model of pmsm for electric vehicles on the basis of computer and experimental research | |
Strinati et al. | Resilience of hidden order to symmetry-preserving disorder | |
Moustakidis et al. | A novel holistic approach for hardware trojan detection powered by deep learning (HERO) | |
KR101562323B1 (ko) | 공개키 암호를 위한 다중 제곱 연산 장치 및 방법 | |
Anusha et al. | Design and Analysis of Parallel AES Encryption and Decryption Algorithm for Multi Processor Arrays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |