CN116956367A - 数据处理装置及方法 - Google Patents
数据处理装置及方法 Download PDFInfo
- Publication number
- CN116956367A CN116956367A CN202310801174.7A CN202310801174A CN116956367A CN 116956367 A CN116956367 A CN 116956367A CN 202310801174 A CN202310801174 A CN 202310801174A CN 116956367 A CN116956367 A CN 116956367A
- Authority
- CN
- China
- Prior art keywords
- clock signal
- random
- data
- processing module
- frequency division
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000008569 process Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 238000003672 processing method Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 230000010365 information processing Effects 0.000 description 4
- 230000003313 weakening effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
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/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
- G06F21/75—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 by inhibiting the analysis of circuitry or operation
- G06F21/755—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 by inhibiting the analysis of circuitry or operation with measures against power attack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2113—Multi-level security, e.g. mandatory access control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种数据处理装置及方法,所述装置包括:第一随机处理模块,用于采用随机分频系数对初始时钟信号进行分频,产生第一时钟信号;处理模块,与所述第一随机处理模块连接,用于基于所述第一时钟信号,对待处理数据进行处理。
Description
技术领域
本申请涉及但不限于信息安全技术领域,尤其涉及一种数据处理装置及方法。
背景技术
为了信息更加安全且高效地传播,相关技术一般会将一些加密算法集成在芯片内部来对关键信息进行加密处理。近年来提出的加密算法通过复杂运算来对信息进行加密保护,从而使得攻击者无法在有效的时间内通过穷尽的方法破解信息。
但是,相关技术中加密计算模块的加密数据,在加解密过程中可以通过差分功耗分析攻击(Differential power analysis,DPA)或相关功耗分析攻击(Correlation PowerAnalysis,CPA)等方法分析出来,从而容易获得加密计算模块使用的中间结果或者输出数据。
发明内容
基于相关技术存在的问题,本申请实施例提供一种数据处理装置及方法。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种数据处理装置,所述装置包括:
第一随机处理模块,用于采用随机分频系数对初始时钟信号进行分频,产生第一时钟信号;
处理模块,与所述第一随机处理模块连接,用于基于所述第一时钟信号,对待处理数据进行处理。
在一些实施例中,所述装置还包括:
第二随机处理模块,所述第二随机处理模块分别与所述第一随机处理模块和处理模块连接,所述第二随机处理模块用于根据随机使能信号对所述第一时钟信号进行随机使能控制,产生第二时钟信号;
所述处理模块,还用于基于所述第二时钟信号,对待处理数据进行处理。
在一些实施例中,所述装置还包括:
随机数产生模块,用于产生随机数;
分频系数产生模块,分别与所述随机数产生模块和所述第一随机处理模块连接,所述分频系数产生模块用于配置分频系数,并通过所述随机数对所述分频系数中的至少一个比特数据进行替换,得到所述随机分频系数;其中,所述分频系数包括至少一个比特数据。
在一些实施例中,所述分频系数产生模块配置有多个安全级别;
所述分频系数产生模块,还用于响应于针对多个安全级别中目标安全级别的选择操作,通过所述随机数对所述分频系数中所述目标安全级别对应的比特数据进行替换,得到目标安全级别对应的随机分频系数。
在一些实施例中,所述装置还包括:
同步模块,所述同步模块分别与第二随机处理模块和所述处理模块连接,用于对所述处理模块对应的系统时钟信号和所述处理模块接收到的时钟信号进行同步处理,得到时钟参数;
所述处理模块,还用于基于所述时钟参数和所述处理模块接收到的时钟信号,对待处理数据进行处理;其中,所述处理模块接收到的时钟信号包括第一时钟信号或第二时钟信号。
在一些实施例中,所述处理模块,还用于获取密钥参数,并基于所述密钥参数、所述时钟参数和所述处理模块接收到的时钟信号,对待处理数据进行加密或解密处理。
本申请实施例还提供一种数据处理方法,所述方法包括:
提供初始时钟信号;
基于随机分频系数,对所述初始时钟信号进行分频处理,得到第一时钟信号;
基于所述第一时钟信号,对待处理数据进行处理。
在一些实施例中,所述方法还包括:
获取随机数和分频系数;
通过所述随机数对所述分频系数中的至少一个比特数据进行替换,得到所述随机分频系数。
在一些实施例中,在得到所述第一时钟信号之后,所述方法还包括:
基于随机使能信号,对所述第一时钟信号进行随机使能控制,产生第二时钟信号;
对应地,所述基于所述第一时钟信号,对待处理数据进行处理,包括:
基于所述第二时钟信号,对待处理数据进行处理。
在一些实施例中,所述方法还包括:
获取密钥参数、系统时钟信号和系统配置参数;
基于所述系统配置参数,对所述系统时钟信号和所述第二时钟信号进行同步处理,得到时钟参数;
对应地,所述基于所述第二时钟信号,对待处理数据进行处理,包括:
基于所述时钟参数、所述密钥参数和所述第二时钟信号,对待处理数据进行加密或解密处理。
本申请实施例提供的数据处理装置及方法,第一随机处理模块采用随机分频系数对初始时钟信号进行分频,产生随机翻转的第一时钟信号,处理模块通过随机翻转的第一时钟信号对待处理数据进行处理,从而使得处理模块对应的寄存器的功耗也随机翻转,从而产生随机功耗,避免技术人员利用CPA或DPA分析功耗的方法分析出用户的密钥,达到削弱DPA攻击强度的目的,能够使待处理数据被操作时产生动态功耗的可控性变化,加大了CPA或DPA进行数据分析的难度,提高了数据处理的安全性;且本申请实施例无需在芯片中增加耗费面积和功耗的DPA模块,能够以低成本抵抗CPA或DPA的攻击。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1是本申请实施例提供的数据处理装置的结构示意图;
图2是本申请实施例提供的数据处理装置的结构示意图;
图3是本申请实施例提供的第二随机处理模块的内部电路示意图;
图4是本申请实施例提供的第二随机模块处理后的时钟信号的时序示意图;
图5是本申请实施例提供的第一随机处理模块和第二随机模块处理后的时钟功耗波形示意图;
图6是本申请实施例提供的数据处理装置的结构示意图;
图7是本申请实施例提供的一种数据处理方法对应的结构及信号流转示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
相关技术为了抵抗CPA或DPA攻击,在芯片中增加耗费面积和功耗的DPA模块对加密模块的中间结果和输出结果进行干扰,但是在芯片中增加耗费面积和功耗的DPA模块,不适合智能物联(AIOT)领域低面积和低功耗的成本要求。
基于相关技术中存在的问题,本申请实施例提供一种数据处理装置,首先,第一随机处理模块采用随机分频系数对初始时钟信号进行分频,产生随机翻转的第一时钟信号,处理模块通过随机翻转的第一时钟信号对待处理数据进行处理,从而使得处理模块对应的寄存器的功耗也随机翻转,从而产生随机功耗,避免技术人员利用CPA或DPA分析功耗的方法分析出用户的密钥,达到削弱DPA攻击强度的目的,能够使待处理数据被操作时产生动态功耗的可控性变化,提高了数据处理的安全性;其次,无需在芯片中增加耗费面积和功耗的DPA模块,能够以低成本抵抗CPA或DPA的攻击。
图1是本申请实施例提供的数据处理装置的结构示意图。如图1所示,数据处理装置至少包括第一随机处理模块101和处理模块102,其中,第一随机处理模块101用于采用随机分频系数对初始时钟信号进行分频,产生第一时钟信号。处理模块102,与第一随机处理模块101连接,用于基于第一时钟信号,对待处理数据进行处理,得到目标数据。
在本申请实施例中,电子设备在运行时,电子设备为电子设备运行配置了运行的时钟频率(例如,数据处理时基于该时钟频率进行处理),初始时钟信号表征可电子设备运行的时钟频率。
在本申请实施例中,第一随机处理模块101可以包括分频器,随机分频系数可以是通过随机数(例如真随机数)产生的随机分频系数,随机分频系数基于随机数的不同而改变,分频器基于随机分频系数产生会发生随机翻转的第一时钟信号,处理模块102基于随机翻转的第一时钟信号对待处理数据进行处理(可以是加密或解密处理),本申请实施例在加密或解密处理产生随机功耗,避免技术人员利用CPA或DPA分析功耗的方法分析出加密或解密的密钥,提高了数据安全性。
在一些实施例中,图2是本申请实施例提供的数据处理装置的结构示意图。如图2所示,数据处理装置还包括第二随机处理模块201,第二随机处理模块201分别与第一随机处理模块101和处理模块102连接。第二随机处理模块201用于根据随机使能信号对第一时钟信号进行随机使能控制,产生第二时钟信号;处理模块102,用于基于第二时钟信号,对待处理数据进行处理。
这里,随机使能信号可以是由真随机数组成的信号,由随机的0和1组成。第二随机处理模块201可以包括时钟门控(CLK_GATE)电路,第二随机处理模块201中真随机数控制了时钟的使能位,第二随机处理模块201基于真随机数对第一时钟信号进行控制,使得输出的第二时钟信号随着真随机数的改变,进行随机性的打开和关闭,从而产生随机的功耗。例如,第二随机处理模块201控制第一时钟信号随着真随机数的值为1而打开,也会随着真随机数的值为0而关闭,从而得到第二时钟信号。
本申请实施例中,基于真随机数控制了第二随机处理模块的使能位,使得第二随机处理模块输出的时第二时钟信号随着真随机数的改变,进行随机性的开和关闭,从而产生随机的功耗,,避免技术人员利用CPA或DPA分析功耗的方法分析出加密或解密的密钥,提高了数据安全性。
图3是本申请实施例提供的第二随机处理模块的内部电路示意图,如图3所示,第二随机处理模块201(请参考图2),包括锁存器301和与门电路302组成,锁存器301用于对随机使能信号EN进行处理(例如,第一时钟信号CLK为锁存器301的触发信号,随机使能信号EN输入的时候会在锁存器301内部锁存转换成和第一时钟信号CLK周期宽度一样的信号,从锁存器301的Q端输出,然后基于与门电路302,与第一时钟信号CLK信号进行与操作),使锁存器301的Q端输出的信号以第一时钟信号CLK为基准,例如,第一时钟信号CLK为高电平时,Q端输出的信号为随机使能信号EN,保持不变;第一时钟信号CLK为低电平时,Q端输出的信号保持为第一时钟信号CLK为高电平时的最后一次状态,也就是锁存器301的锁存过程。与门电路302用于基于第一时钟信号CLK和锁存器301Q端输出的信号进行逻辑与运算,进而输出第二时钟信号GCLK。
在本申请实施例中,只有在随机使能信号EN为高电平的时候,第一时钟信号CLK才能传至与门电路302,进而输出第二时钟信号GCLK。
在本申请实施例中,第一时钟信号CLK连接锁存器301的使能端EN,第一时钟信号CLK为锁存器301的触发信号。
在一些实施例中,第二随机处理模块201还可以基于触发器和与门电路组成。
表1是本申请实施例提供的第二时钟信号的输出表,图4是本申请实施例提供的第二随机模块处理后的时钟信号的时序示意图,如表1和图4所示,只有在第一时钟信号CLK为高电平的时候,第二时钟信号GCLK才可能会输出高电平;随机使能信号EN为高电平的时候,第二时钟信号GCLK输出时钟为第一时钟信号CLK,随机使能信号EN为低的时候,第二时钟信GCLK输出为低电平,这样可以消除随机使能信号EN带来的毛刺。
表1
图5是本申请实施例提供的第一随机处理模块和第二随机模块处理后的时钟功耗波形示意图,如图5所示,初始时钟信号经第一随机处理模块和第二随机模块处理后,不仅产生功耗的时间点发生了随机的变化,功耗也产生了随机的变化,如此,相关技术人员无法通过本申请实施例产生的随机功耗来计算加密或解密过程中的中间结果,也就能够避免技术人员利用CPA或DPA分析功耗的方法分析出用户的密钥,达到削弱DPA攻击强度的目的。
在一些实施例中,图6是本申请实施例提供的数据处理装置的结构示意图。数据处理装置还包括随机数产生模块601和分频系数产生模块602,其中,随机数产生模块601用于产生随机数;分频系数产生模块602,分别与随机数产生模块601和第一随机处理模块101连接,分频系数产生模块602用于基于随机数配置分频系数,产生具有随机性的随机分频稀疏。例如通过随机数对原始分频系数中的至少一个比特数据进行替换,得到随机分频系数。
在一些实施例中,随机数产生模块601产生的随机数可以是真随机数,也可以是假随机数。分频系数包括多个比特数据,分频系数产生模块602基于随机数产生模块601产生的随机数,对分频系数中随机的至少一个比特数据进行替换,以得到不同的随机分频系数。
在一些实施例中,分频系数产生模块602配置有多个安全级别,分频系数产生模块602还用于响应于针对多个安全级别中目标安全级别的选择操作,通过随机数对分频系数中目标安全级别对应的比特数据进行替换,得到目标安全级别对应的随机分频系数。
这里,针对多个安全级别中目标安全级别的选择操作可以是用户在对待处理数据进行加密或解密时,进行设置的。例如,分频系数产生模块602配置有N个安全级别,用户在对待处理数据进行加密或解密时,根据待处理数据的重要程度悬着目标安全级别,例如选择目标安全级别为5,则分频系数产生模块602通过随机数对分频系数中5级对应的至少一个比特数据进行替换,得到5级对应的随机分频系数。
本申请实施例设置了多个安全级别,在进行数据加密或者解密时,可以根据数据的重要程度选择对应的安全级别,既达到了安全要求,也提升了数据处理效率,例如,在数据重要程度低时,可以选择较低的安全级别,这样既可以实现数据加密的安全性,也可以提升数据处理效率。
在一些实施例中,第一随机处理模块101可以是整数时钟分频器。当分频系数产生模块602配置的安全级别为1时,可以通过分频系数产生模块602配置的分频系数为{div[N-1:1],random_bit},该分频系数有0至N-1,共N个比特数据(即比特位),此时,随机数(random_bit)替换原N个比特数据中的第0个比特位,此时初始时钟信号和第一时钟信号之间相差的倍数为20,相差的倍数值是指初始时钟信号与第一时钟信号之间频率相差的倍数。当分频系数产生模块602配置的安全级别为2时,可以通过分频系数产生模块602配置的分频系数为{div[N-1:2],random_bit,div[0]},此时,random_bit替换原N个比特数据中的第1个比特位,此时初始时钟信号和第一时钟信号的频率之间相差的倍数为21。当分频系数产生模块602配置的安全级别为3时,可以通过分频系数产生模块602配置的分频系数为{div[N-1:3],random_bit,div[1:0]},此时,random_bit替换原N个比特数据中的第2个比特位,此时初始时钟信号和第一时钟信号的频率之间相差的倍数为22。以此类推,当分频系数产生模块602配置的安全级别为N-1时,可以通过分频系数产生模块602配置的分频系数为{random_bit,div[N-2:0]},此时,random_bit替换原N个比特数据中的第N-1个比特位,此时初始时钟信号和第一时钟信号的频率之间相差的倍数为2(N-1)。其中,N为自然数且N>1。
在一些实施例中,第一时钟信号与初始时钟信号之间的频率相差越大,则功耗相差越大,能够更好的抵抗CPA的攻击。
如此,本申请实施例通过整数时钟分频器和真随机数,对第一时钟信号进行随机分频时,基于安全级别的选择,提高了本申请实施例提供的随机分频方案的可控性,能够满足不同重要程度的数据的处理;同时,由于不同安全级别对应的随机分频的效率不同,因此,本申请实施例可以基于数据安全性和处理效率的双重考虑,根据不同的数据选择合适的安全级别,既能满足数据安全,又能提升数据处理效率。
在一些实施例中,第一随机处理模块101还可以是小数时钟分频器。当分频系数产生模块602配置的安全级别为1时,可以通过分频系数产生模块602配置的分子分频系数为{div[NUME-1:1],random_bit},分母分频系数为{div[DENO-1:1],random_bit},,该分频系数的分子分频系数有0至NUME-1,共NUME个比特数据(即比特位),此时,random_bit替换分子分频系数中原NUME个比特数据中的第0个比特位,分母分频系数有0至DENO-1,共DENO个比特数据(即比特位),此时,random_bit替换分母分频系数中原NUME个比特数据中的第0个比特位,此时初始时钟信号和第一时钟信号的频率之间相差的倍数为20/20。当分频系数产生模块602配置的安全级别为2时,可以通过分频系数产生模块602配置的分子分频系数为{div[NUME-1:2],random_bit,div[0]},分母分频系数为{div[DENO-1:1],random_bit},此时,random_bit替换分子分频系数中原NUME个比特数据中的第1个比特位,random_bit替换分母分频系数中原NUME个比特数据中的第0个比特位,此时初始时钟信号和第一时钟信号的频率之间相差的倍数为21/20。当分频系数产生模块602配置的安全级别为3时,可以通过分频系数产生模块602配置的分子分频系数为{div[NUME-1:3],random_bit,div[1:0]},分母分频系数为{div[DENO-1:1],random_bit},此时,random_bit替换分子分频系数中原NUME个比特数据中的第2个比特位,random_bit替换分母分频系数中原NUME个比特数据中的第0个比特位,此时初始时钟信号和第一时钟信号之间的频率相差的倍数为22/20。以此类推,当分频系数产生模块602配置的安全级别为N-1时,可以通过分频系数产生模块602配置的分子分频系数为{random_bit,div[NUME-2:0]},分母分频系数为{div[DENO-1:1],random_bit},此时,random_bit替换分子分频系数中原NUME个比特数据中的第NUME-1个比特位,random_bit替换分母分频系数中原NUME个比特数据中的第0个比特位,此时初始时钟信号和第一时钟信号的频率之间相差的倍数为分子的2(NUME-1)/20。其中,分子分母的随机位数可以根据需要任意配置。NUME为自然数,NUME>1;DENO为自然数,DENO>1。
在一些实施例中,当第一随机处理模块101还可以是小数时钟分频器,也可以仅针对分子或者分母中的其一进行替换,本申请实施例不做限制。
如此,本申请实施例通过小数时钟分频器和真随机数,对第一时钟信号进行随机分频时,可以精确的小数分频,例如通过对分子分母中比特数据的随机替换,可以实现5.7的小数分频,在对保密级别较高的数据进行处理时,可以通过小数分频产生更加随机的功耗,提高了数据处理的安全性。
在一些实施例中,每个安全级别还可以对应不同位数的替换,例如安全级别为1时,可以替换1位比特数据;安全级别为2时,可以替换2位比特数据,替换的比特数据的位置可以基于前述实施例中的方法进行确定,也可以是随机位置的比特数据。
在一些实施例中,本申请实施例还可以是第一随机处理模块基于真随机数随机替换分频系数中的比特数据,替换位置和替换数量均是随机的,基于真随机数,随机替换比特数据中的任意一个或多个位置。
在一些实施例中,还可以基于几个随机数,随机替换比特数据中的任意多个位置,每个位置之间可以相邻,也可以不相邻。
在一些实施例中,第二随机处理模块基于随机数对第一时钟信号进行使能控制时,可以通过调节随机数产生的频率来对第一时钟信号进行随机使能控制,例如,可以每一秒产生10个随机数,基于该随机数产生的频率对第一时钟信号进行使能控制,能够提升数据处理的随机性,保证了数据处理的安全性。
请继续参照图6,本申请实施例提供的数据处理装置还包括同步模块603,同步模块603分别与第二随机处理模块201和处理模块102连接,同步模块603用于对处理模块102对应的系统时钟信号和处理模块102接收到的时钟信号进行同步处理,得到时钟参数,处理模块102还用于基于时钟参数和处理模块102接收到的时钟信号,对待处理数据进行处理。
这里,处理模块接收到的时钟信号包括第一时钟信号或第二时钟信号(图6仅示出了处理模块接收到的时钟信号为第二时钟信号的情况)。系统时钟信号可以是指电子设备的片上系统(SOC,System on Chip)为处理模块102配置的系统时钟,例如,处理模块102为加密模块时,系统时钟信号为微处理器为加密模块配置的用于数据加密使用的时钟,即基于该系统时钟信号对应的频率进行数据加密。
在一些实施例中,同步模块603可以包括异步桥(async bridge),因为处理模块102接收到的时钟信号是经过随机分频处理后的随机时钟信号,这个随机时钟信号与SOC的系统时钟信号是异步时钟,为了SOC能正常配置处理模块102的工作模式和直接内存访问(DMA,Direct Memory Access)搬运等,需要将系统时钟信号的配置参数同步到第二时钟信号或将第二时钟信号同步到系统时钟信号,才能正常完成配置。
在一些实施例中,如图6所示,数据处理装置还可以包括密钥生成模块604,用于生成密钥参数,密钥参数是在明文转换为密文或将密文转换为明文的算法中输入的参数。处理模块102还用于获取密钥参数,并基于密钥参数、时钟参数和处理模块接收到的时钟信号,对待处理数据进行加密或解密处理,得到加密后的密文或解密后的明文。
在本申请实施例中,数据处理方法的执行主体为前述数据处理装置,该方法通过步骤S701至步骤S703实现:
步骤S701、提供初始时钟信号。
在一些实施例中,初始时钟信号可以是数据处理装置所在的电子设备的时钟产生模块产生,用于为电子设备内的各种信号传输、处理过程提供时钟参考。该初始时钟为待进行分频处理的时钟,可以时系统初始时钟,也可以时经过处理后的与系统初始时钟信号频率和时序有差异的中间时钟。
步骤S702、基于随机分频系数,对所述初始时钟信号进行分频处理,得到第一时钟信号。
在一些实施例中,可以先获取随机数和分频系数,通过随机数对分频系数中的至少一个比特数据进行替换,得到随机分频系数,随机分频系数可以是通过随机数(例如真随机数)产生的随机分频系数,随机分频系数基于随机数的不同而改变,通过随机改变的随机分频系数对初始时钟信号进行分频,得到随机分频的第一时钟信号。
步骤S703、基于所述第一时钟信号,对待处理数据进行处理。
在本申请实施例中,处理模块可以基于随机分频的第一时钟信号,对待处理数据进行加密或解密处理,产生随机功耗,抵抗CPA或DPA的攻击。
在一些实施例中,在得到第一时钟信号之后,还可以基于随机使能信号,对第一时钟信号进行随机使能控制,产生第二时钟信号,再基于第二时钟信号,对待处理数据进行处理。这里,机使能信号可以是由真随机数组成的信号,由随机的0和1组成,第一时钟信号随着机使能信号的值为1而打开,也会随着机使能信号的值为0而关闭,从而得到第二时钟信号,处理模块还可以基于随机打开或关闭的第而时钟信号,对待处理数据进行加密或解密处理。
本申请实施例还可以获取密钥参数、系统时钟信号和系统配置参数,基于系统配置参数,对系统时钟信号和第二时钟信号进行同步处理,得到时钟参数,基于时钟参数、密钥参数和第二时钟信号,对待处理数据进行加密或解密处理。
本申请实施例中,第一随机处理模块采用随机分频系数对初始时钟信号进行分频,产生随机翻转的第一时钟信号,处理模块通过随机翻转的第一时钟信号对待处理数据进行处理,从而使得处理模块对应的寄存器的功耗也随机翻转,从而产生随机功耗,避免技术人员利用CPA或DPA分析功耗的方法分析出用户的密钥,达到削弱DPA攻击强度的目的,能够使待处理数据被操作时产生动态功耗的可控性变化,提高了数据处理的安全性;且本申请实施例无需在芯片中增加耗费面积和功耗的DPA模块,能够以低成本抵抗CPA或DPA的攻击。
本申请实施例再提供一种数据处理方法在实际场景中的应用。
本申请实施例通过用随机数对加密模块所使用的时钟进行随机干扰的方法,来提升对抗CPA或DPA的数据分析的难度。图7是本申请实施例提供的一种数据处理方法对应的结构及信号流转示意图,如图7所示,使用真随机数random_bit对分频系数的某个bit进行填充,得到随机分频系数,分频器801(即第一随机处理模块)基于随机分频系数对初始时钟信号clk进行随机分频,得到随机分频时钟random_div_clk(即第一时钟信号)。使用真随机数random_bit对时钟门控(即第二随机处理模块)的门控使能进行控制,得到随机分频门控时钟random_div_gate_clk(即第二时钟信号),异步桥803将配置时钟域cfg_clk(即系统时钟信号)的参数cfg_parmeter同步到随机分频时门控时钟random_div_gate_clk(即第二时钟信号)的参数sync_cfg_parameter中,加密计算模块804(处理模块)获取密钥key,并基于密钥、随机分频时门控时钟的参数和随机分频时门控时钟random_div_gate_clk(即第二时钟信号)对待处理数据data进行加密运算,得到加密数据encrypt_data,如此,产生随机功耗,避免技术人员利用CPA或DPA分析功耗的方法分析出用户的密钥,达到削弱DPA攻击强度的目的,能够使待处理数据被操作时产生动态功耗的可控性变化,加大了CPA/DPA的数据分析的难度,提高了数据处理的安全性。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式、处理的个人信息种类等信息。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述数据处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据处理方法。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述数据处理方法。所述计算机可读存储介质可以是瞬时性的,也可以是非瞬时性的。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种数据处理装置,所述装置包括:
第一随机处理模块,用于采用随机分频系数对初始时钟信号进行分频,产生第一时钟信号;
处理模块,与所述第一随机处理模块连接,用于基于所述第一时钟信号,对待处理数据进行处理。
2.根据权利要求1所述的装置,所述装置还包括:
第二随机处理模块,所述第二随机处理模块分别与所述第一随机处理模块和处理模块连接,所述第二随机处理模块用于根据随机使能信号对所述第一时钟信号进行随机使能控制,产生第二时钟信号;
所述处理模块,还用于基于所述第二时钟信号,对待处理数据进行处理。
3.根据权利要求1所述的装置,所述装置还包括:
随机数产生模块,用于产生随机数;
分频系数产生模块,分别与所述随机数产生模块和所述第一随机处理模块连接,所述分频系数产生模块用于配置分频系数,并通过所述随机数对所述分频系数中的至少一个比特数据进行替换,得到所述随机分频系数;其中,所述分频系数包括至少一个比特数据。
4.根据权利要求3所述的装置,所述分频系数产生模块配置有多个安全级别;
所述分频系数产生模块,还用于响应于针对多个安全级别中目标安全级别的选择操作,通过所述随机数对所述分频系数中所述目标安全级别对应的比特数据进行替换,得到目标安全级别对应的随机分频系数。
5.根据权利要求1或2所述的装置,所述装置还包括:
同步模块,所述同步模块分别与第二随机处理模块和所述处理模块连接,用于对所述处理模块对应的系统时钟信号和所述处理模块接收到的时钟信号进行同步处理,得到时钟参数;
所述处理模块,还用于基于所述时钟参数和所述处理模块接收到的时钟信号,对待处理数据进行处理;其中,所述处理模块接收到的时钟信号包括第一时钟信号或第二时钟信号。
6.根据权利要求5所述的装置,所述处理模块,还用于获取密钥参数,并基于所述密钥参数、所述时钟参数和所述处理模块接收到的时钟信号,对待处理数据进行加密或解密处理。
7.一种数据处理方法,所述方法包括:
提供初始时钟信号;
基于随机分频系数,对所述初始时钟信号进行分频处理,得到第一时钟信号;
基于所述第一时钟信号,对待处理数据进行处理。
8.根据权利要求7所述的方法,所述方法还包括:
获取随机数和分频系数;
通过所述随机数对所述分频系数中的至少一个比特数据进行替换,得到所述随机分频系数。
9.根据权利要求8所述的方法,在得到所述第一时钟信号之后,所述方法还包括:
基于随机使能信号,对所述第一时钟信号进行随机使能控制,产生第二时钟信号;
对应地,所述基于所述第一时钟信号,对待处理数据进行处理,包括:
基于所述第二时钟信号,对待处理数据进行处理。
10.根据权利要求9所述的方法,所述方法还包括:
获取密钥参数、系统时钟信号和系统配置参数;
基于所述系统配置参数,对所述系统时钟信号和所述第二时钟信号进行同步处理,得到时钟参数;
对应地,所述基于所述第二时钟信号,对待处理数据进行处理,包括:
基于所述时钟参数、所述密钥参数和所述第二时钟信号,对待处理数据进行加密或解密处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310801174.7A CN116956367A (zh) | 2023-06-30 | 2023-06-30 | 数据处理装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310801174.7A CN116956367A (zh) | 2023-06-30 | 2023-06-30 | 数据处理装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116956367A true CN116956367A (zh) | 2023-10-27 |
Family
ID=88448474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310801174.7A Pending CN116956367A (zh) | 2023-06-30 | 2023-06-30 | 数据处理装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116956367A (zh) |
-
2023
- 2023-06-30 CN CN202310801174.7A patent/CN116956367A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102709350B1 (ko) | 물리적 복제방지 기능 비트스트링 생성에 대한 신뢰성 향상 방법 | |
CN107038383B (zh) | 一种数据处理的方法和设备 | |
EP3198781B1 (en) | Techniques for distributing secret shares | |
Güneysu et al. | Cryptanalysis with COPACOBANA | |
KR101727130B1 (ko) | 암호화 키를 획득하기 위한 디바이스 및 방법 | |
US7827223B2 (en) | Accelerated throughput synchronized word stream cipher, message authenticator and zero-knowledge output random number generator | |
Avaroğlu et al. | Hybrid pseudo-random number generator for cryptographic systems | |
EP2273718B1 (en) | Cryptographic key generation using a stored input value and a count value stored for later regeneration | |
WO2012001796A1 (ja) | 個体別情報生成装置及び個体別情報生成方法 | |
Yamamoto et al. | Variety enhancement of PUF responses using the locations of random outputting RS latches | |
KR20160008560A (ko) | 데이터 암호화 시스템 및 방법 | |
WO2011117929A1 (ja) | 乱数生成器、暗号化装置、及び認証装置 | |
Johnson et al. | Remote dynamic partial reconfiguration: A threat to Internet-of-Things and embedded security applications | |
Xu et al. | Secure remote sensing and communication using digital PUFs | |
Ertl et al. | A security-enhanced UHF RFID tag chip | |
CN1996830B (zh) | 具有高级加密标准核的集成电路及验证该标准核的外包 | |
Güneysu | Using data contention in dual-ported memories for security applications | |
Kokila et al. | Enhanced authentication using hybrid PUF with FSM for protecting IPs of SoC FPGAs | |
CN116956367A (zh) | 数据处理装置及方法 | |
CN105512573B (zh) | 一种抗攻击的仲裁器 | |
Billmann et al. | Open-source crypto ip cores for fpgas–overview and evaluation | |
Chung et al. | An improved DPA countermeasure based on uniform distribution random power generator for IoT applications | |
JP2015026892A (ja) | 情報処理システム | |
Sunkavilli et al. | Dpredo: Dynamic partial reconfiguration enabled design obfuscation for fpga security | |
Chhabra et al. | Hardware Obfuscation of AES IP Core Using PUFs and PRNG: A Secure Cryptographic Key Generation Solution for Internet-of-Things Applications |
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 |