发布信息

一种基于选择信号和偏移信号的时钟毛刺信号生成方法与流程 专利技术说明

作者:admin      2023-06-29 19:36:31     665



计算;推算;计数设备的制造及其应用技术1.本发明属于电子信号通信技术领域,特别是涉及一种基于选择信号和偏移信号的时钟毛刺信号生成方法。背景技术:2.加密算法实际上是一种满足一定数学规则的映射关系式,其加密操作即为通过将用户用于被隐蔽的消息和映射关系参数密钥进行输入,输出为另一种“密文”结果。密码机制在进行设计时其核心部分对于是未知的,而加密算法和其内部实现原理则应该对外公布,不作为保密内容。研究者们在对加密算法的研究过程中,逐渐分离出加密算法设计研究和加密算法攻击分析研究两个方向。在针对加密算法的攻击分析中,主要分为基于非入侵式的攻击方式和入侵式的攻击方式两种。非入侵式的攻击主要包括边信道攻击分析,如能耗攻击分析等,而入侵式的攻击方式一般是通过在加密设备执行加密算法操作时,研究者采用故障诱导技术进行错误注入,即通过一定的手段诱导在执行内部数据存储和读取的某些单元出差错从而产生故障。3.而故障诱导技术主要有基于光故障注入攻击、改变温度故障攻击和控制缓存等cache攻击手段。但是,在许多故障注入攻击实现方案中,由于其搭建平台和尝试攻击手段等的花费代价太高,且大部分故障诱导技术对加密算法的实施设备会产生不可逆的作用,很难进行多次平衡试验,故而导致许多故障诱导技术的适用性不广。技术实现要素:4.为解决上述问题,本发明提供了如下方案:一种基于选择信号和偏移信号的时钟毛刺信号生成方法,包括:5.基于初始时钟信号clk在时钟上延时δt,获得第二时钟信号clk_delay1;6.基于所述第二时钟信号clk_delay1在时钟上延时δt,获得第三时钟信号clk_delay2;7.将时钟沿信号trigger的电平置为高电平,将所述第三时钟信号clk_delay2的上升沿部分和所述第二时钟信号clk_delay1的下降时钟沿部分进行叠加,获得时钟信号clk_error;8.将所述时钟信号clk_error注入执行aes高级加密标准算法流程的指定时钟周期,通过在需要产生故障时钟信号的时钟运行区间内,将trigger信号修改为高电平,生成第一故障时钟信号。9.优选地,所述第一故障时钟信号在所述时钟信号clk_error的第二阶段生成。10.优选地,令t表示正常执行下的周期,时钟毛刺周期数据为t-2δt;11.将时钟毛刺信号的精度表示为θ,而fpga内部元件在执行加密算法时所能允许的延时精度θt,则θ=2θt。12.优选地,基于初始时钟信号clk在时钟上延时δt,获得第二时钟信号clk_delay1的过程还包括,13.将芯片内部的结构电路在初始时钟信号clk的基础上进行相偏操作,偏移θw后生成时钟信号clk_delay。14.优选地,将芯片内部的结构电路在初始时钟信号clk的基础上进行相偏操作,偏移θw后生成时钟信号clk_delay之后还包括,15.当在确定的位置和时刻与clk信号进行作用得到故障时钟信号时,将选择信号selectin置为高电平,所述选择信号selectin的相位与初始时钟信号clk相比偏移大小为θp。16.优选地,当在确定的位置和时刻与clk信号进行作用得到故障时钟信号时,将选择信号selectin置为高电平之后还包括,17.基于选择器进行选择,将初始时钟信号clk、时钟信号clk_delay和选择信号selectin进行合并运算,获得第二故障时钟信号。18.优选地,所述第二故障时钟信号在时钟信号clk_error的第二阶段生成。19.优选地,高电平下时钟毛刺信号的宽度数据为tw(θw);20.生成所述第二故障时钟信号的时钟周期为tp(θp);21.令所述第二故障时钟信号的精度δ,内部结构电路经过相偏后引起的精度延时数据为δt,则δ=δt。22.本发明公开了以下技术效果:23.本发明相对比于现有的故障诱导技术方案而言,其采用了时钟毛刺信号作为诱导技术,与加密算法实施设备的内部物理结果契合度较高。同其他故障诱导技术对比,时钟毛刺信号对物理设备的入侵性极低、对其内部结构破坏性可忽略不计、花费成本相较而言也较低。同时,与同类型的故障毛刺信号生成方案横向对比而言,还具有以下的优点和效果:24.1)、本发明所提出的故障诱导技术生成方案,基于一个选择信号和时延信号进行偏移来进行设计,选择信号的存在使得本专利生成的时钟毛刺的频率连续可调且易于控制;25.2)、本发明所提出的时钟毛刺生成技术设计方案,利用时延信号的偏移和选择控制信号及初始输入信号三者的叠加生成。在时延信号的基础上,进行了可调整的偏移量调整,这样设计带来的效果是故障毛刺信号的精度足够高,足以满足对信号精度要求较高的故障攻击试验。附图说明26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。27.图1为本发明实施例的选择信号与时延信号的设计示意图;28.图2为本发明实施例的选择信号与偏移信号的设计示意图;29.图3为本发明实施例的毛刺生成框架图;30.图4为本发明实施例的故障时钟信号和输入信号关系图;31.图5为本发明实施例的时钟毛刺生成器方针关系图。具体实施方式32.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。33.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。34.本发明针对在进行加密算法的入侵式攻击方式分析时,大部分故障诱导技术生成方案由于其花费成本较高、对加密设备造成的破坏性不可逆、难以进行持续性试验等特点,所以很多方案的普适性很差且技术较为困难的问题进行改进。35.为解决上述技术问题,本发明提出了一种时钟毛刺故障诱导技术,其基于一个时钟选择信号和时钟偏移信号来生成时钟毛刺信号,该方案与其他故障诱导技术相比,花费成本低、不会对加密算法执行设备进行内部结构的破坏,具有很高的适用性。36.如图1所示,本发明提出的基于选择信号和偏移信号进行故障时钟毛刺信号的生成方案中,利用物理硬件其内部的特性来完成工作。其将芯片内部的电路结构和片内的时钟信号相结合,得到了时钟毛刺生成方案。37.进一步地,设置初始的时钟信号clk,第二个时钟信号clk_delay1与初始信号clk相比,在时钟上延时了δt,而第三个信号clk_delay2在clk_delay1的基础上延时了δt,因此相比于初始时钟信号clk,延时时钟为2δt。38.当需要进行生成故障注入时钟信号clk_error时,通过将时钟沿信号trigger的电平置为高电平,将第三个时钟信号的上升沿部分和第一个时延信号的下降时钟沿的部分进行叠加获得。39.若要在执行aes高级加密标准算法流程的指定时钟周期注入故障,通过在需要产生故障时钟信号的时钟运行区间内,将相应的trigger信号修改为高电平,即可生成故障时钟信号。40.故障时钟信号在clk_error的第二阶段生成,且在这之前该信号都是低电平状态,不会对故障信号产生影响,所以生成的故障时钟毛刺信号之前的那一小段可以不作考虑,因其不会影响到故障攻击实验。41.为方便起见,令t表示正常执行下的周期,则根据图1中的信息可以得到时钟毛刺周期数据为t-2δt。如果将时钟毛刺信号的精度表示为θ,而fpga内部元件在执行加密算法时所能允许的延时精度θt,那么它们之间的关系为θ=2θt。42.利用选择信号和时延信号进行设计生成故障毛刺的方案,在一些要求精度较高的故障攻击试验中,可能不能满足需求。为此,本发明针对时延信号clk_delay进行了一定程度的相位偏移操作处理,得到了如下图2所示的设计方案,能够进一步提高故障信号的精度。43.如图2所示,clk信号与图1所示的保存一致,其功能也和上述第一种方案的一致,时延信号clk_delay和上述第一种方案中的不同,将芯片内部的结构电路在clk正常信号的基础上进行了相偏操作,偏移θw后即可生成该信号。而选择信号selection的作用是,方便可以选择在何时精确的生成时钟毛刺信号。选择信号和方案一的时钟毛刺生成方案中的触发沿信号trigger的作用一致,当选择在确定的位置和时刻与clk信号进行作用得到故障信号时,selectin信号被置为高电平,而且在相位上相比clk初始时钟信号偏移大小为θp。44.进一步地优化方案,通过运用选择器进行选择将初始信号、延时信号和选择信号进行合并运算,利用三者的叠加得到所需的故障信号。与上述第一种方案所生成的毛刺信号的结果一致,在图2中,故障信号将在clk_err信号执行到第二阶段时生成。45.进一步地,高电平下时钟毛刺的宽度数据为tw(θw),所生成故障信号的时钟周期为tp(θp)。假设本方案下的故障信号的精度δ,内部结构电路经过相偏后引起的精度延时数据达到δt,它们之间的比例为δ=δt。46.如图2所描述的故障时钟信号产生方案,其在具体描述时可以分为控制模块、选择器模块和故障时钟信号生成模块。模块部分之间的关联和彼此之间的作用如图3所示。47.其中,延迟锁相环控制器的作用是提供初始时钟信号clk和进行生成时钟毛刺信号时所需的偏移相位值大小,然后将进行运算后生成的时钟毛刺信号输出给其他部分模块。selection信号表示选择器,由一个控制模块以及一个计数器部分组成,该部分的作用是将选择信号selection作为输出提供给其他模块,如同上述第一种方案所描述同样需要定位生成故障时钟信号的确切位置和其时机,因此在该方案中计数器的作用便体现在此。而最主要的毛刺信号产生部分,将延迟锁相环控制器和计数器模块的输出结果用一个多路复用器(multiplexer,mux)组合,最后再与一个延迟锁相环控制器控制模块结合起来产生时钟毛刺故障信号clk_err,由此完成时钟毛刺信号的产生。48.本发明所提出的基于选择信号和时延偏移信号进行时钟毛刺的生成设计方案,由于其产生的信号具有精度高、频率连续可调、且对加密算法执行设备的破坏性可忽略不计等特点,适用性较强。下面将对本文发明所提出的设计方案做简单的实验例子说明。49.实施例一50.如图4所示,通过采用两个计数器对原始输入时钟信号进行分频,最终即可获得如预期希望的故障时钟信号。第一个信号为外界提供的clk_in,第二个信号是故障时钟信号clk_error,毛刺信号在clk_error信号的第二个周期内生成。根据图4所示信息,可以得出正常的时钟周期、毛刺的时钟周期和外界提供的clk_in信号周期之间的关系:正常执行下的周期与clk_in的周期之比为4:1,而时钟毛刺下其周期之比为2:1。51.根据以上的信息和提及的时钟毛刺生成方案,在chipwhisperer fpga开发平台上,利用verilog hdl实现时钟毛刺生成模块。在modelsim中,对上述提及的方案技术执行后的结果进行仿真,结果由图5所示,clk_error信号执行到第5阶段时,受置位信号影响会生成故障时钟信号,而且正常时钟信号与故障信号的周期关系之比为2:1。其中还有一个标志信号flag,其目的是当生成时钟毛刺信号之后,flag置位为0,同时终止counter2计数器的计数。52.进一步地,运用本实施例所提出生成时钟毛刺信号的方案生成故障信号的精度只会被外界提供的clk_in信号所影响。因此,在进行攻击实验时,产生clk_in信号的外界源的频率区间需要足够大,以此来确保达到特定的精度和频率要求。53.以上所述的实施例仅是对本发明的优选方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部