基于扫描旁路攻击的LFSR和计数器结构反演技术研究

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:zmzsyx
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
芯片逆向工程是指从芯片产品中获得原始设计,它通过对芯片内部电路的识别和分析,提取出芯片设计原理、结构细节等方面的知识。传统的芯片逆向工程主要建立于版图分析之上,包括打磨分解、版图提取、重建电路等过程。随着集成电路(integrated circuit,IC)工艺不断发展、芯片规模的不断增大和设计层次的不断提高,传统的基于版图提取的逆向工程难度越来越大。一方面,芯片的打磨分解工作成功的概率在不断降低;另一方面,芯片的原始设计处于较高抽象层次,从门级电路中恢复出高层次原始设计的难度也不断增大,新的逆向技术亟待研究。为进行芯片的制造后测试工作,可测试性设计(design for testability,Df T)已经成为芯片设计中不可或缺的一部分。扫描链作为Df T的最佳实现得到了广泛的应用,其为每个寄存器提供了一个访问通道。然而,不受保护的扫描链也使得攻击者可以获取芯片内部触发器的状态。使用扫描链获取内部信息的攻击称为基于扫描的旁路攻击(也称扫描旁路攻击)。内部寄存器数据中所蕴含的语义信息可以极大地帮助逆向工程。但是,由于扫描攻击只能获取寄存器的数据而无电路的结构信息,因此很难从扫描链中识别到有用的寄存器。为了从海量的寄存器数据中挖掘出相关信息,研究者提出了许多数据分析技术。本文针对线性反馈移位寄存器(linear feedback shift register,LFSR)和计数器这两种时序电路提出了对应的分析技术。LFSR可用于流密码及一些安全认证机制,而计数器是重要的控制单元。因此,针对它们的寄存器数据分析技术也对芯片逆向工程有很大的帮助。目前,已有不少基于扫描旁路攻击对包含LFSR的安全芯片展开攻击的相关研究,但其主要关注于通用的加密芯片,其可以从外部输入特定的密钥和明文。此外,也有研究者针对LFSR展开了扫描旁路攻击研究工作,通过分析寄存器之间的内在关联,实现了对LFSR的识别工作。然而,该工作缺乏对部分LFSR的攻击研究,而且部分的攻击细节缺乏实现。此外,部分攻击工作需要攻击者猜测出一定的信息,因此针对LFSR的攻击需要进一步完善。对计数器的攻击工作主要基于门级网表,因此在无法获得门级网表时无法实现。基于扫描旁路攻击逆向工程的第一步是获取寄存器的连续数据。本文提出一种基于全扫描链的数据收集方案。全扫描设计将每个触发器转换为扫描触发器(scannable flip-flop,SFF)。全扫描链具有两种工作模式,一种是正常模式,另一种是测试模式。在正常模式下,SFF按照设计连接到正确的电路并工作。在测试模式下,SFF形成一个移位寄存器,因此可以通过扫描链的移位操作来写入和读取SFF中的数据。全扫描链添加了三个额外的端口用于访问和控制SFF形成的移位寄存器。第一个是扫描输入(scan input,SI),用于将数据输入到扫描链中。第二个是扫描输出(scan output,SO),以输出扫描链中的数据。第三个是测试控制(test control,TC)信号,用于控制扫描链的工作模式。在我们的数据收集方案中,扫描链将不断地切换模式来实现数据收集,并将SI和SO相连构成一个循环移位寄存器以实现连续数据收集。假设芯片中扫描链的长度为n,扫描链首先在正常模式下工作一个时钟,电路将产生正常的寄存器数据。然后,扫描链在测试模式下工作n个时钟,从而将寄存器数据输出到SO。同时由于SI与SO相连,输出的数据将会重新输入到SFF中,寄存器将恢复到模式切换之前的状态。重复上述步骤,就可以收集到所有寄存器的连续工作数据。LFSR是一种用于生成伪随机序列的硬件结构,具有较好的随机性与较长的周期,而LFSR的快速生成速度和可重复性性使得其在安全领域有重要的应用。由于其可以利用初始状态和特征多项式进行描述,LFSR的逆向技术的最终目的是给出初始状态和特征多项式。该目标可分为两个部分:通过分析扫描数据识别LFSR寄存器,利用寄存器数据重建LFSR的电路结构,即特征多项式。针对不同的LFSR的类型,具体的扫描攻击方法也有一些不同。本文探讨了标准Fibonacci LFSR和Galois LFSR的每对寄存器之间的关系。由于标准Fibonacci LFSR的寄存器形成了标准移位寄存器,因此可以利用移位关系来识别Fibonacci LFSR寄存器。提出了一种检验两个寄存器是否服从移位关系的sr-match算法;提出了一种识别所有Fibonacci LFSR寄存器并给出寄存器顺序的sr-search算法;提出了一种改进的fast-sr-search算法来加速识别过程。由于Galois LFSR的寄存器之间可能存在异或门,因此上述方法不适用于Galois LFSR。由于Galois LFSR的第一位和最后一位寄存器之间是直接相连的,sr-search算法可以给出Galois LFSR的首尾寄存器。由于Galois LFSR下一位的值由前一位和最后一位决定,因此Galois LFSR的每一位的可能值都可以计算得到,以此实现了Galois LFSR的识别。提出了用于检查寄存器是否为Galois LFSR的下一位的galo-match算法;提出了一个完整的包含查找首位两个寄存器以及通过galo-match查找所有寄存器的galo-search算法;提出了一种改进的fast-galo-search算法以加速该识别过程。针对Fibonacci LFSR的重建问题,我们将其转换为一个求解线性方程组的问题,对于大多数的LFSR,方程组的大小不会对求解问题带来困难。而Galois LFSR的电路结构已在识别过程中给出。针对具有单个外部输入的LFSR,探讨了LFSR寄存器之间的关系。对于具有单个外部输入的Fibonacci LFSR,由于外部输入并不会改变LFSR内部寄存器之间的关系,因此此前所提出的算法sr-search和fast-sr-search仍然适用。然而对于具有单个外部输入的Fibonacci LFSR的重建问题,我们需要假设该外部输入应存在于寄存器中,因此我们可以恢复出原始的反馈数据,从而将该问题转化为普通Fibonacci LFSR的重建问题。对于具有单个外部输入的Galois LFSR,我们发现可以通过对两个带反馈的寄存器进行异或操作来消除外部输入的影响。通过异或操作推断出反馈电路的输出,从而将该识别问题简化为普通的Galois LFSR识别问题,利用所提出的算法galo-search和fast-galo-search来解决该问题。上述过程用galo-search-input算法进行了实现。针对具有非工作状态的LFSR进行了分析,并归纳为两种情况:LFSR在较长时间的连续运行后停止工作,寄存器状态保持不变或复位或复用为其他电路;以及LFSR处于断续运行。对于前者,需要找到LFSR正常运行的时钟来展开扫描攻击。由于LFSR寄存器一般较多,可以假设设计中的移位寄存器主要是Fibonacci LFSR寄存器。因此,可以通过检查存在移位关系的寄存器数量来识别LFSR运行的时钟。如果某段连续的时钟周期内满足以为关系的寄存器数量持续较高,则可认为在该段周期内,LFSR持续运行。在发现该周期之后,我们可以从扫描数据提取出该周期对应的数据从而得到包含LFSR连续运行的寄存器数据。此时,我们可以应用之前提出的sr-search和fast-sr-search算法来识别具体的LFSR寄存器并推断出电路结构。而Galois LFSR由于仅有部分寄存器是移位寄存器,该假设不在成立,上述方法不适用于Galois LFSR。此外该方法也不适用于间断运行的情况。提出了一种基于检验寄存器数据满足移位关系的概率的方法。通过检查两个寄存器之间符合移位关系的时钟数对总时钟数的比例,可以直接识别该寄存器是否为Fibonacci LFSR寄存器。具有移位关系的两个寄存器在断续运行的情况下执行位移关系的时钟数会显著高于其他寄存器。因此,在断续运行的情况下Fibonacci LFSR寄存器可以被识别到。此时,非LFSR运行时刻的数据可以被剔除,余下的数据可以用来推断电路结构。对于Galois LFSR,利用针对Fibonacci LFSR的方法找到首尾两位寄存器以及LFSR运行的时刻,对扫描数据进行整理剔除非LFSR运行时刻的数据。然后利用galo-search和fast-galo-search进行寄存器识别和重建工作。通过探讨计数器寄存器数据的特点研究了针对计数器的扫描攻击。二进制计数器的每一位在运行会以不同的频率翻转,各个频率之间存在倍数关系。提出了一种基于翻转频率的二进制计数器寄存器检测方法。为了提高性能,提出了一种基于翻转次数的初筛方法来剔除大多数非计数器寄存器。利用二进制计数器高位翻转时低位必然翻转的特点,提出了一种基于翻转时刻对齐检查的方法以区分多个二进制计数器。为了识别存在暂停状态的二进制计数器,提出了一种基于寄存器之间翻转频率关系的方法来消除暂停状态的影响,并识别出寄存器。由于该方法对计数器停止时刻有要求,为进一步提高效果,利用计数器的语义信息提出了一种基于模式匹配的方法。通过检查每对寄存器的数据是否符合计数器的跳转规则,实现了对二进制计数器寄存器的识别,计数器可在加、减、暂停三个模式之间任意切换,且对切换频率时刻均无要求。该方法也适用于格雷码计数器、8421BCD计数器等截断二进制计数器的识别。由于环形计数器和约翰逊计数器属于一种特殊的移位寄存器,其可以通过Fibonacci LFSR的识别方案来识别。
其他文献
近年来,随着移动数据需求的爆炸式增长,现有移动通信系统难以满足未来的发展需求,第五代移动通信系统(5G)已经成为通信业和学术界研究的热点内容。5G技术以高速率、低延时、泛在网和低功耗等特性为研究目标,具有广阔的发展前景。相比于前几代移动通信系统,多样化的业务需求是5G技术所独有的特点。具体来说,5G网络不仅需要满足前几代移动通信系统的高速数据传输等基础功能,还要满足不同节点之间的稳定互联,包括所有
近年来,直径在纳米范围内的纳米碳纤维由于其卓越的化学性质、电学性质以及独特的一维纳米结构而受到越来越多的关注。静电纺丝是制备连续纳米碳纤维的简便途径,但是其所制备的纤维强度无法达到预期,限制了其使用价值,如何提高纳米碳纤维整体的机械强度,使其能够承受一定的力而不容易破碎,成为目前研究的重要内容;随着社会的发展,清洁能源的开发越来越受到人们的重视,质子交换膜燃料电池由于其启动快,工作温度较低,高功率
在当今社会,入室盗窃、冒名替考等违法行为还时有发生,这暴露出了一个严重的问题,即传统的身份认证方式极易被不法分子攻击,导致信息泄露,带来巨大安全隐患。随着大数据时代的到来以及物联网技术的飞速发展,身份认证的手段越来越多,认证方式也越来越安全。声纹作为个体独特的生物特征,满足当下身份认证对可靠性和特有性的需求,声纹识别技术应运而生,其支持远程认证且具备更强的便捷性、安全性,具有广泛的应用前景。虽然目
随着无线通信技术逐步渗透进各行各业发展之中,人们对各种通信服务的依赖度逐渐升高,除了更高的速率,用户对于连接性和覆盖能力也提出了更高的要求。尤其在一些应急场景下的通信服务中,能否接入网络是影响用户服务体验的主要因素。异构网络作为解决用户接入问题的关键技术之一,通过部署多层接入设备,有效提升系统容量和频谱利用率,帮助解决当前网络中常见的用户覆盖和大规模连接等问题。但在处理一些紧急事件下的热点覆盖及应
随着全球人口的持续增长和水体污染,淡水资源供不应求的问题日益加剧,海水淡化,就是目前解决淡水资源危机的一种重要方法。太阳能具有清洁长久等优点,在日照强烈且淡水缺乏的海边,太阳能海水淡化是一项应用前景广阔的技术。太阳能海水淡化是利用液态水分子吸收光能汽化以分离矿物质来获得淡水的过程,但目前太阳能海水淡化系统生产淡水的成本较高,其主要原因在于,生产水蒸气的过程中,受欠佳的蒸发环境制约,产量不高,且水蒸
交通工具的表面摩擦阻力与湍流边界层中的拟序结构紧密相关。随着寰球能源的快速消耗和环境污染问题的日益突显,使用主动控制方法控制这些拟序结构,在达到减阻量的基础上并提高控制效率是亟待解决的问题。本文在动量雷诺数为1450下,基于等离子激励器搭建PD(比例微分)前馈控制系统来实现对湍流边界层的减阻控制。等离子激励器上游的压力脉动信号作为PD前馈控制系统的输入信号,通过“振动噪声相减技术”(Vibrati
本文针对圆钢管约束的钢管混凝土短柱构件轴压基本力学性能进行了系统的试验研究和有限元分析。国内外已对钢管混凝土构件和钢管约束混凝土构件进行了系统的研究,并针对其不足提出了众多的改进形式。圆钢管约束的钢管混凝土构件作为一种新型构件形式,由核心钢管混凝土、夹层材料和外层钢管共同组成,在保留钢管混凝土构件与钢管约束混凝土构件优点的同时也弥补了其中的劣势。本文采用试验研究与理论分析相结合的方法,研究了圆钢管
光环境是建筑物理环境中不可缺少的一部分,但目前室内光环境多以恒定的静态照明为主,工作者长期处于此环境,不利于其正常的工作和生活。虽然已有大量学者开展了光环境对于非视觉效应以及生理节律方面的系统性研究,但在健康光环境心理物理学层面的基础理论研究仍有较大欠缺,长期处于室内人工光环境下工作和生活对人身心健康的影响尚不明确,相应的动态照明调节效果亦不明晰。因此,本文针对室内空间中缺乏自然采光、以及对动态照
大气颗粒物(PM)是导致大气污染的主要污染物之一,而二次有机气溶胶是我国大气颗粒物的重要组成部分,异戊二烯作为全球大气排放量最大的生物性有机物,详细了解异戊二烯二次有机气溶胶(SOA)的形成对有效控制大气SOA浓度至关重要。目前,示踪物产率法被广泛应用于二次有机气溶胶的源解析,但实际应用中,示踪物可能会与大气中的各种氧化剂发生反应影响示踪物产率法的基本假设成立的可靠性,这些示踪物在实际大气中的反应
随着频谱资源日益紧张以及部分频段被规划用于5G通信,毫米波成为天线研发的重要目标频段。由于毫米波频率高,此频段具有极宽频谱,为日益紧张的频谱资源注入新鲜血液;具有较高的传输效果和通信保密性;波长极短,此波段下的天线尺寸很小,有利于天线阵列和整体系统的小型化。但是与微波频段相比,毫米波频段大气传输损耗严重,所以高增益毫米波天线和与之配套,连接天线和芯片的低损耗传输线是毫米波通信系统研发的关键。新型介