CN112235259B - 无时钟的密码芯片故障注入攻击侦测及防护***及方法 - Google Patents
无时钟的密码芯片故障注入攻击侦测及防护***及方法 Download PDFInfo
- Publication number
- CN112235259B CN112235259B CN202011026317.4A CN202011026317A CN112235259B CN 112235259 B CN112235259 B CN 112235259B CN 202011026317 A CN202011026317 A CN 202011026317A CN 112235259 B CN112235259 B CN 112235259B
- Authority
- CN
- China
- Prior art keywords
- data
- register
- feedback
- module
- illegal
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- 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/72—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 in cryptographic circuits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明所设计的无时钟的密码芯片故障注入攻击侦测及防护***,它包括同步模块、同步自反馈随机化塔寄存器、传播延迟匹配模块和非法数据侦测及清除模块,本发明重点考虑了密码芯片在复杂高危环境下可能面临的威胁,通过综合运用轨间信号同步、传播延迟匹配、非法编码检测及自反馈等手段,构建了一种电路级无时钟故障攻击侦测和防护结构,能够以较小的代价实现有效的故障侦测,抑制和阻断各类故障的传播,并能非常方便的扩展至芯片设计的自动化综合过程中。
Description
技术领域
本发明涉及密码芯片抗故障注入攻击设计技术领域,具体地指一种无时钟的密码芯片故障注入攻击侦测及防护***及方法。
技术背景
传统意义上,密码芯片的安全性取决于所使用的密码算法、认证方式及安全协议的复杂度,对密码芯片的安全性分析也往往针对以上几个方面展开。然而,在密码芯片的实现中,密码算法及相关协议需要基于具体物理设备并采用软件或硬件方式实现,物理设备将不可避免的与其所处的环境发生交互作用。攻击者有可能主动策划并检测这种交互作用,进而产生有助于密码分析的信息。从广义来说,这类信息均可被称为“物理泄露信息”(包括了与中间值计算相关联的物理信号泄露及电路正常操作受干扰后的错误输出);而所有基于这一广义概念“物理泄露信息”所实施的攻击均可被称为“物理攻击”(包括了能量分析攻击、电磁分析攻击等非入侵式攻击和故障攻击等入侵式攻击)。
在诸多基于物理泄露信息的攻击手段中,故障攻击由于能够被攻击者主动策划,且故障输出能够有效揭示数据相关性,从而为成功猜测密钥等敏感信息提供了更多的可能性。此外,通过将故障攻击与旁路攻击方法(如:能量分析攻击等)相结合,能够攻破现有的各种旁路安全防护体系,对密码应用安全造成了严重威胁。
鉴于故障攻击的严峻威胁,2011年10月,美国国家标准与技术研究院(NIST)发布了密码芯片安全标准第三版FIPS 140-3,首次将故障攻击明确提案至标准“4.6节物理安全”部分;在最新发布的ISO/IEC 19790《Information technology-Security techniques-Security requirements for cryptographic modules》和GB/T 37092-2018《信息安全技术密码模块安全要求》中,也在安全三级和四级中对故障攻击的防护进行了明确要求。
对于故障攻击防护,目前常用的是基于冗余的逆向检查设计方法和基于故障检测码的防御方案。其中,基于冗余的逆向检查设计方法将极大地增加芯片实际制作成本,降低密码运算效率;基于故障检测码的防御方案存在故障覆盖率有限,难以确保故障防护效果的问题。因此,设计一种能够与现有芯片设计方法和制造工艺相兼容,具备高故障检出率且自身具备高可靠性的密码芯片故障注入攻击侦测及防护结构对于密钥等敏感数据安全的保护具有十分重要的现实意义。
参考文献:Boher B N,Beroulle V,Hly D,Damiens J,Candelier P.Clockgenerator behavioral modeling for supply voltage glitch attack effectsanalysis[J].Microprocessors&Microsystems,2016,47(PA):37-43.
Vincent I,Robert S and Florian U.Your Rails Cannot Hide fromLocalized EM:How dual-rail logic fails on FPGAs[C].Cryptographic Hardware andEmbedded Systems(CHES 2017),Taipei,Taiwan,China,2017:403–424.
Krautter J,Dennis R E G and Tahoori M B.FPGAhammer:Remote voltagefault attacks on shared FPGAs,suitable for DFA on AES[C].CryptographicHardware and Embedded Systems(CHES 2018),Amsterdam,The Netherlands,2018:44–68.
发明内容
本发明的目的就是要提供一种无时钟的密码芯片故障注入攻击侦测及防护***及方法,本发明重点考虑了密码芯片在复杂高危环境下可能面临的威胁,通过综合运用轨间信号同步、传播延迟匹配、非法编码检测及自反馈等手段,构建了一种电路级无时钟故障攻击侦测和防护结构,能够以较小的代价实现有效的故障侦测,抑制和阻断各类故障的传播,并能非常方便的扩展至芯片设计的自动化综合过程中。
为实现此目的,本发明所设计的无时钟的密码芯片故障注入攻击侦测及防护***,其特征在于,它包括同步模块、同步自反馈随机化塔寄存器、传播延迟匹配模块、非法数据侦测及清除模块和自反馈模块,所述同步模块用于将明文输入数据或密文输入数据或密码运算中间状态数据进行时间维度上的同步处理,并将经过所述同步处理后的数据传送至密码轮运算模块实施分组密码轮变换,同时,同步模块的同步控制信号SYNinput被置为1,并输入至传播延迟匹配模块,传播延迟匹配模块通过对同步控制信号SYNinput的传播延迟匹配,实现了密码轮运算模块的最大传播延迟路径,保证传播延迟匹配模块输出信号SYNtr由0跳变为1时,密码轮运算模块输出端的各双轨数据线均已产生正常输出;
当密码轮运算模块产生先于正常数据传播的正瞬态或稳态故障时,由于传播延迟匹配模块对同步控制信号SYNinput的延迟作用,非法数据侦测及清除模块的非法数据侦测信号SYNillegal将先于所述传播延迟匹配模块输出信号SYNtr有效,自反馈模块1.6输出的同步自反馈随机化塔寄存器输入使能信号SYNO将始终保持低电平,阻止当前密码轮运算模块输出当前轮变换状态数据至同步自反馈随机化塔寄存器中,同步自反馈随机化塔寄存器输入使能信号SYNO为SYNillegal、SYNtr和各级同步自反馈随机化塔寄存器输出的自反馈信号的与信号,同时,非法数据侦测及清除模块将复位信号Reseti置为1,利用NULL波前对密码轮运算模块进行清除操作。
本发明充分考虑了在复杂高危环境下密码芯片可能面临的故障攻击威胁场景,建立了多层多级故障检测及响应机制,能够在密码芯片遭受故障注入的情况下及时对非法数据进行检测,并启动清除操作,有效阻断故障传播路径,防止密码运算故障数据输出,从而保证了密钥等敏感数据的安全。本发明相对于现有基于冗余的逆向检查设计方法和基于故障检测码的防御方案具有以下优势:
本发明设计的同步自反馈随机化塔寄存器能够对稳态故障和瞬态故障进行有效监测,且无论故障数据和正常数据的传播相位差为负、为零或为正的情况下,均能保持较高的检出率,实现故障传播的阻断,具有明显的高安全防护等级优势。
本发明设计的故障探测网络、随机路径切换模块,在同步自反馈随机化寄存器内部暂存数据被篡改情况下,也能够有效探测故障行为的发生,并利用NULL波前对塔内数据进行清除,重新输入数据,在可靠性方面具有明显的优势。
附图说明
图1为本发明的总体原理框图;
图2为本发明中同步自反馈随机化塔寄存器的结构框图;
图3为本发明中随机路径切换模块的结构框图;
其中,1.1—同步模块、1.2—同步自反馈随机化塔寄存器、1.3—传播延迟匹配模块、1.4—非法数据侦测及清除模块、1.5—密码轮运算模块、1.6—自反馈模块、2.1—故障检测网络、2.2—零级环形寄存器、2.3—一级环形寄存器、2.4—二级环形寄存器、2.5—随机路径切换模块、3.1—非法双轨数据侦测模块、3.2—真随机数发生器、3.3—路径选择模块。
图1中,Sr_0 0、Sr_0 1、Sr_n 0、Sr_n 1分别表示本轮(第r轮)密码轮运算的输入数据第0bit和第nbit的双轨数据;Kr_0 0、Kr_0 1、Kr_n 0、Kr_n 1分别表示本轮密码轮运算的轮密钥输入第0bit和第nbit的双轨数据;Cr_0 0、Cr_0 1、Cr_n 0、Cr_n 1分别表示本轮密码轮运算结果数据第0bit和第nbit的双轨数据;Ki0、Ki1为轮间握手信号;
图2中,Cr_i 0、Cr_i 1为本轮密码轮运算结果数据第ibit的双轨数据;SYNfeed i(0≤i≤n)为各级同步自反馈随机化塔寄存器输出的自反馈信号;SYNO为输入使能信号;Clear0、Clear1为信号清除指令;Lock0、Lock1为输入锁止信号;Alarm为故障报警信号;CD0、CD1、CD2为各级环形寄存器输出的注册完成信号;Invaid0、Invaid1、Invaid2为各级环形寄存器输出的非法数据检测信号;
图3中,Pi0 0、Pi0 1(0≤i≤2)为图2中各级随机路径切换模块的第一路径输入数据、Pi1 0、Pi1 1为各级随机路径切换模块的第二路径输入数据;Invaidi(0≤i≤2)为各级随机路径切换模块的非法数据检测信号、CDi(0≤i≤2)为各级环形寄存器输入的注册完成信号。
具体实施方式
以下结合附图和具体实施例对本发明作进一步的详细说明:
本发明所设计的一种无时钟的密码芯片故障注入攻击侦测及防护***,如图1所示,它包括同步模块1.1、同步自反馈随机化塔寄存器1.2、传播延迟匹配模块1.3、非法数据侦测清除模块1.4和自反馈模块1.6,所述同步模块1.1用于将明文输入数据或密文输入数据或密码运算中间状态数据进行时间维度上的同步处理,并将经过所述同步处理后的数据传送至密码轮运算模块1.5实施分组密码轮变换,同时,同步模块1.1的同步控制信号SYNinput被置为1,并输入至传播延迟匹配模块1.3,传播延迟匹配模块1.3通过对同步控制信号SYNinput的传播延迟匹配,实现密码轮运算模块1.5的最大传播延迟路径,保证传播延迟匹配模块输出信号SYNtr(信号SYNtr为信号SYNinput经过传播延迟匹配模块1.3后的输出信号)由0跳变为1时,密码轮运算模块1.5输出端的各双轨数据线均已产生正常输出{(Cr_0 0,Cr_0 1)、…、(Cr_n 0,Cr_n 1)}(密码轮运算模块输出密码轮变换结果,该结果以双轨数据形式进行表示。在双轨数据形式中,{0,0}表示“无数据NULL”、{1,0}表示“0”、{0,1}表示1、{1,1}为“非法数据”);
当密码轮运算模块1.5产生先于正常数据传播的正瞬态或稳态故障时,由于传播延迟匹配模块1.3对同步控制信号SYNinput的延迟作用,非法数据侦测及清除模块1.4的非法数据侦测信号SYNillegal将先于所述传播延迟匹配模块输出信号SYNtr有效,自反馈模块1.6输出的同步自反馈随机化塔寄存器输入使能信号SYNO将始终保持低电平,阻止当前密码轮运算模块1.5输出当前轮变换状态数据至同步自反馈随机化塔寄存器1.2中,同步自反馈随机化塔寄存器输入使能信号SYNO为SYNillegal、SYNtr和各级同步自反馈随机化塔寄存器输出的自反馈信号SYNfeed i(0≤i≤n)的与信号,只有当SYNillegal、SYNtr和各级自反馈信号SYNfeed i(0≤i≤n,i表示图1中各级同步自反馈随机化塔寄存器的序号)信号均为高电平时,SYNO才为高电平,同时,非法数据侦测及清除模块1.4将复位信号Reseti置为1,利用NULL波前对密码轮运算模块1.5进行清除操作(在NCL电路中,数据状态{0,0}表示“无数据NULL”、{1,0}表示“0”、{0,1}表示1、{1,1}为“非法数据”。在NCL流水线中,相邻的握手单元通过请求信号及应答信号进行握手,以保证流水线中两个有效数据总是被NULL数据隔离。NULL波前即指传输有效数据之前,利用双轨{0,0}对流水线进行清除操作时的NULL数据传播过程)。
上述技术方案中,所述同步自反馈随机化塔寄存器1.2为由故障检测网络2.1、零级环形寄存器2.2、一级环形寄存器2.3、二级环形寄存器2.4和3个随机路径切换模块2.5构成,一旦有效数据(有效数据指双轨数据状态{1,0}表示“0”,或{0,1}表示“1”)由外部或流水线前一阶段输入至同步自反馈随机化塔寄存器1.2,该同步子反馈随机化塔寄存器1.2生成的自反馈信号SYNfeed i(0≤i≤n)将被置为0,并通过自反馈模块1.6将同步自反馈随机化塔寄存器输入使能信号SYNO置为0,即当SYNfeed i(0≤i≤n)为零时,SYNO为零,从而阻止后于正常数据到达的故障数据输入至同步自反馈随机化塔寄存器1.2,在随机路径切换模块2.5的控制下,寄存器内暂存的数据将在由零级环形寄存器2.2、一级环形寄存器2.3、二级环形寄存器2.4所构成的寄存环内的注册单元间进行随机切换,实现数据存储位置的动态随机化,所述故障检测网络2.1用于发现故障注入行为。当密码轮运算模块1.5输出端故障产生于信号SYNO有效的时间段内,且输入至同步自反馈随机化塔寄存器1.2时,由于同时存在两个数据波前在塔内流动,在该同步自反馈随机化塔寄存器内故障检测网络2.1的作用下,故障报警信号Alarm将被置为1,并基于清除指令Clear0,利用NULL波前对塔内数据进行清除,并重新输入数据;当上一轮密码轮运算产生的NULL波前到达本级密码轮运算时,基于清除指令Clear1对本级自反馈随机化塔寄存器进行清除操作;当攻击者对同步自反馈随机化塔寄存器1.2实施故障攻击时,由于数据的随机传播特性,攻击者难以确定攻击位置,从而无法对塔内暂存的数据进行精确翻转。此外,当攻击者错误地选择攻击位置时,将造成塔内同时存在1个以上的有效数据。此时,在故障检测网络的作用下,故障报警信号Alarm将被置为1,利用NULL波前对塔内数据进行清除,并重新输入数据,如图2所示。
上述技术方案中,所述随机路径切换模块2.5包括非法双轨数据侦测模块3.1、真随机数发生器3.2、路径选择模块3.3,当零级环形寄存器2.2、一级环形寄存器2.3、二级环形寄存器2.4输出的双轨数据到达所属随机路径切换模块中的第一路径Pi0 0,Pi0 1或第二路径Pi1 0,Pi1 1(0≤i≤2)时,非法双轨数据侦测模块3.1基于双轨数据定义({1,1}为非法数据)对数据是否合法进行判断,如果为非法双轨数据,则随机路径切换模块2.5输出的非法数据检测信号Invaidi置为1,并通过故障检测网络2.1和非法数据侦测清除模块1.4,将同步自反馈随机化塔寄存器1.2中的信号清除指令Clear0置为1,启动清除操作,并重新由密码轮运算模块1.5中输入轮变换结果数据,否则,在零级环形寄存器2.2、一级环形寄存器2.3、二级环形寄存器2.4输出的注册完成信号CD0、CD1、CD2的下降沿控制下,真随机数发生器3.2产生随机数输出,根据随机数的具体取值,环形寄存器输入至随机路径切换模块中的数据将同时出现在输入路径(Pi0 0,Pi0 1)和(Pi1 0,Pi1 1)中,并将在路径选择模块3.3中的输出路径(P(i+1)0 0,P(i+1)0 1)和路径(P(i+1)1 0,P(i+1)1 1)间进行随机选择并输出,如图3所示。
本发明与同步电路相比,消除了对时钟信号的依赖,并对信号延迟及环境因素(电压、温度等)具备极强的容忍度,能够有效防止故障敏感度分析攻击,使得其在抗故障攻击方面具有明显的优势。此外,该电路结构可完全由普通EDA工具综合,从而为基于无时钟电路的密码芯片故障注入攻击侦测及防护结构设计提供了一种更加有效、便捷的低成本实现方式。
无时钟故障注入攻击侦测及防护***针对故障攻击行为的侦测和防护可分三种场景进行描述,分别为1)故障数据先于正常数据传播;2)故障数据与正常数据同时传播;3)故障数据后于正常数据传播;4)故障数据在随机化塔寄存器内部产生。
本发明设计的故障注入攻击侦测及防护方法,包括如下步骤:
步骤1:对密码轮运算模块1.5产生的正瞬态或稳态故障产生的故障数据进行判断;
步骤2:当步骤1的判断结构显示,密码轮运算模块1.5输出的双轨数据线{(Cr_0 0,Cr_0 1)、…、(Cr_n 0,Cr_n 1)}上出现先于正常数据传播的故障数据时,进入步骤2.1;
步骤2.1:由于所述同步控制信号SYNinput和所述传播延迟匹配模块输出信号SYNtr间存在时延,双轨数据线{(Cr_0 0,Cr_0 1)、…、(Cr_n 0,Cr_n 1)}上的故障信号将在输入同步自反馈随机化塔寄存器1.2之前形成非法双轨数据,并被非法数据侦测及清除模块1.4捕获,从而将非法数据侦测信号SYNillegal置为0;
步骤2.2:非法数据侦测信号SYNillegal置为0后,自反馈模块1.6将同步自反馈随机化塔寄存器输入使能信号SYNO强制下拉,从而阻止了故障数据输入同步自反馈随机化塔寄存器1.2,同时,复位信号Reseti被置为1;
步骤2.3:非法数据侦测及清除模块1.4开始同步模块1.1的复位过程,以清除故障数据,由于该复位操作不会对流水线运行产生外在影响(如流水线复位、死锁),故可抵御对双轨编码的攻击;
步骤2.4:当NULL波前到达密码轮运算模块输出端时,非法数据侦测信号SYNillegal被置为1,并进而将复位信号Reseti置为0;
步骤2.5:同步模块1.1输出端的数据重新输入密码轮运算模块1.5,同时,同步控制信号SYNinput被重新置为1,并再次沿传播延迟匹配模块1.3传播后,将传播延迟匹配模块输出信号SYNtr置为1,设传播延迟匹配模块1.3的信号时延为tspread,由于在步骤1.1中非法数据侦测信号SYNillegal先于传播延迟匹配模块输出信号SYNtr有效,因此从同步控制信号SYNinput有效至传播延迟匹配模块输出信号SYNtr有效的时间延迟tdelay1>2×tspread;
步骤2.6:由于传播延迟匹配模块输出信号SYNtr及自反馈信号SYNfeed i(0≤i≤n)均为1,同步自反馈随机化塔寄存器输入使能SYNO将被置为1,允许数据输入至同步自反馈随机化塔寄存器1.2;
步骤2.7:数据输入同步自反馈随机化塔寄存器1.2后,在自反馈信号SYNfeed i(0≤i≤n)的作用下,同步自反馈随机化塔寄存器输入使能SYNO将被置为0,阻止后继数据输入;
步骤3:当步骤1的判断结构显示,密码轮运算模块1.5输出故障数据与正常数据同时传播时,在同步控制信号SYNinput和传播延迟匹配模块输出信号SYNtr间时延tdelay1的作用下,非法数据侦测信号SYNillegal将先于同步自反馈随机化塔寄存器输入使能SYNO被置为0,从而阻止故障数据输入同步自反馈随机化塔寄存器1.2,并利用非法数据侦测及清除模块1.4对故障数据进行清除。
步骤4,当步骤1的判断结构显示,当任意一对双轨数据线(Cr_i 0,Cr_i 1)(0≤i≤n)中故障后于正常数据传播并产生于同步自反馈随机化塔寄存器输入使能SYNO有效的时间段内时,由于从非法数据侦测信号SYNillegal置0至同步自反馈随机化塔寄存器输入使能SYNO信号置0存在时延tdelay2,故障将输入至同步自反馈随机化塔寄存器1.2中;
步骤4.1:由于双轨数据线(Cr_i 0,Cr_i 1)(0≤i≤n)上的故障数据产生于同步自反馈随机化塔寄存器输入使能信号SYNO有效的时间段,当故障数据在传播的过程中与(Cr_i 0,Cr_i 1)上的正常数据在时间维度上不存在交迭时,由于故障数据后于正常数据传播,该故障数据将被隔离在同步自反馈随机化塔寄存器1.2内的上一级环形寄存器中,并被NULL波前清除;
步骤4.2:当双轨数据线(Cr_i 0,Cr_i 1)(0≤i≤n)上的故障数据在传播的过程中与正常数据在时间维度上存在交迭时,将形成非法双轨数据,当该非法双轨数据在同步自反馈随机化塔寄存器1.2内进行传播时,随机路径切换模块2.5中的双轨数据侦测模块3.1将探测到非法数据的存在,并通过将随机路径切换模块2.5的输出的非法数据检测信号Invaidi置为1,启动内部复位过程,对故障数据进行清除;
步骤4.3:当双轨数据线(Cr_i 0,Cr_i 1)(0≤i≤n)上的故障不产生于同步自反馈随机化塔寄存器输入使能信号SYNO有效的时间段内时,通过自反馈信号SYNfeed i(0≤i≤n)的反馈机制,其将被阻止输入同步自反馈随机化塔寄存器1.2中;
步骤5,当步骤1的判断结构显示,密码轮变换结果数据输入至同步自反馈随机化塔寄存器1.2内后,在随机路径切换模块2.5的作用下,数据将在同步自反馈随机化塔寄存器1.2的三级环形寄存器结构(每个环形寄存器2.2/2.3/2.4中包含2个注册单元)中进行随机传播,假设攻击者能够精确控制控制故障的发生位置,则暂存数据发生翻转的概率为未采用同步自反馈随机化塔寄存器1.2前时的1/6。此外,随着同步自反馈随机化塔寄存器1.2的层数及级数的增加,成功造成内部数据翻转的概率将进一步降低。设同步自反馈随机化塔的层数为n,级数为m(m为奇数),则暂存数据被翻转的概率Pflip为:
当攻击者在错误的位置诱发故障时(由于双轨数据(Pi0 0,Pi0 1)和(Pi1 0,Pi1 1)在随机路径切换模块的作用下,将在路径(P(i+1)0 0,P(i+1)0 1)和路径(P(i+1)1 0,P(i+1)1 1)间进行选择并输出。当随机路径切换模块选择了路径(P(i+1)0 0,P(i+1)0 1)时,若攻击者测试在路径(P(i+1)1 0,P(i+1)1 1)诱发故障,则认为是在错误的位置诱发故障),在同步自反馈随机化塔寄存器1.2内将同时存在两组有效数据(此时在路径(P(i+1)0 0,P(i+1)0 1)和路径(P(i+1)1 0,P(i+1)1 1)上,均存在有效数据,而这是***不允许的),此时,故障检测网络2.1将探测到故障的发生,并利用NULL波前对塔内数据进行清除。
本发明公开了基于“无时钟随机化自反馈方式”的密码芯片故障注入攻击侦测及防护结构设计及安全机制,包括:1同步模块、同步自反馈随机化塔寄存器、传播延迟匹配模块、故障清除模块的具体设计;2无时钟故障注入攻击侦测及防护结构针对故障攻击行为的侦测和防护机制。
本发明通过减小信号传播延迟、缩短输出窗口时间等手段,能够在不修改密码运算模块实现的前提下,极大地提高故障数据的检出率、降低故障信号在流水线中的传播概率,达到抵御故障类攻击的目的。此外,本发明能够非常方便的扩展至各种自动化综合过程中,能够显著地提高各种需要高等级抗故障攻击能力的密码电路自动化设计效率和效果。
本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (5)
1.一种无时钟的密码芯片故障注入攻击侦测及防护***,其特征在于,它包括同步模块(1.1)、同步自反馈随机化塔寄存器(1.2)、传播延迟匹配模块(1.3)、非法数据侦测及清除模块(1.4)和自反馈模块(1.6),所述同步模块(1.1)用于将明文输入数据或密文输入数据或密码运算中间状态数据进行时间维度上的同步处理,并将经过所述同步处理后的数据传送至密码轮运算模块(1.5)实施分组密码轮变换,同时,同步模块(1.1)的同步控制信号SYNinput被置为1,并输入至传播延迟匹配模块(1.3),传播延迟匹配模块(1.3)通过对同步控制信号SYNinput的传播延迟匹配,实现了密码轮运算模块(1.5)的最大传播延迟路径,保证传播延迟匹配模块输出信号SYNtr由0跳变为1时,密码轮运算模块(1.5)输出端的各双轨数据线均已产生正常输出;
当密码轮运算模块(1.5)产生先于正常数据传播的故障时,由于传播延迟匹配模块(1.3)对同步控制信号SYNinput的延迟作用,非法数据侦测及清除模块(1.4)的非法数据侦测信号SYNillegal将先于所述传播延迟匹配模块输出信号SYNtr有效,自反馈模块(1.6)输出的同步自反馈随机化塔寄存器输入使能信号SYNO将始终保持低电平,阻止当前密码轮运算模块(1.5)输出当前轮变换状态数据至同步自反馈随机化塔寄存器(1.2)中,同步自反馈随机化塔寄存器输入使能信号SYNO为SYNillegal、SYNtr和各级同步自反馈随机化塔寄存器输出的自反馈信号的与信号,同时,非法数据侦测及清除模块(1.4)将复位信号Reseti置为1,利用NULL波前对密码轮运算模块(1.5)进行清除操作;
所述同步自反馈随机化塔寄存器(1.2)为由故障检测网络(2.1)、零级环形寄存器(2.2)、一级环形寄存器(2.3)、二级环形寄存器(2.4)和3个随机路径切换模块(2.5)构成,一旦有效数据由外部或流水线前一阶段输入至同步自反馈随机化塔寄存器(1.2),基于同步子反馈随机化塔寄存器(1.2)生成的自反馈信号SYNfeed i(0≤i≤n)将被置为0,并通过自反馈模块(1.6)将同步自反馈随机化塔寄存器输入使能信号SYNO置为0,从而阻止后于正常数据到达的故障数据输入至同步自反馈随机化塔寄存器(1.2),在随机路径切换模块(2.5)的控制下,寄存器内暂存的数据将在由零级环形寄存器(2.2)、一级环形寄存器(2.3)、二级环形寄存器(2.4)所构成的寄存环内的注册单元间进行随机切换,实现数据存储位置的动态随机化,所述故障检测网络(2.1)用于发现故障注入行为;
所述随机路径切换模块(2.5)包括非法双轨数据侦测模块(3.1)、真随机数发生器(3.2)、路径选择模块(3.3),当零级环形寄存器(2.2)、一级环形寄存器(2.3)、二级环形寄存器(2.4)输出的双轨数据到达所属随机路径切换模块中的第一路径(Pi0 0,Pi0 1)或第二路径(Pi1 0,Pi1 1)时,非法双轨数据侦测模块(3.1)基于双轨数据定义对数据是否合法进行判断,如果为非法双轨数据,则随机路径切换模块(2.5)输出的非法数据检测信号Invaildi置为1,并通过故障检测网络(2.1)和非法数据侦测及清除模块(1.4),将同步自反馈随机化塔寄存器(1.2)中的信号清除指令Clear0置为1,启动清除操作,并重新由密码轮运算模块(1.5)中输入轮变换结果数据,否则,在零级环形寄存器(2.2)、一级环形寄存器(2.3)、二级环形寄存器(2.4)输出的注册完成信号的下降沿控制下,真随机数发生器(3.2)产生随机数输出,根据随机数的具体取值,环形寄存器输入至随机路径切换模块中的数据将同时出现在输入路径(Pi0 0,Pi0 1)和(Pi1 0,Pi1 1)中,并在路径选择模块(3.3)中的输出路径(P(i+1)0 0,P(i+1)0 1)和路径(P(i+1)1 0,P(i+1)1 1)间进行随机选择并输出。
2.基于权利要求1所述无时钟的密码芯片故障注入攻击侦测及防护***的故障注入攻击侦测及防护方法,其特征在于,它包括如下步骤:
步骤1:对密码轮运算模块(1.5)产生的正瞬态或稳态故障数据进行判断;
步骤2:当步骤1的判断结构显示,密码轮运算模块(1.5)输出的双轨数据线(Cr_i 0,Cr_i 1)(0≤i≤n)上出现先于正常数据传播的故障数据时,进入步骤2.1;
步骤2.1:由于所述同步控制信号SYNinput和所述传播延迟匹配模块输出信号SYNtr间存在时延,双轨数据线(Cr_i 0,Cr_i 1)(0≤i≤n)上的故障信号将在输入同步自反馈随机化塔寄存器(1.2)之前与正常数据形成非法双轨数据,并被非法数据侦测及清除模块(1.4)捕获,从而将非法数据侦测信号SYNillegal置为0;
步骤2.2:非法数据侦测信号SYNillegal置为0后,同步自反馈随机化塔寄存器输入使能信号SYNO被强制下拉,从而阻止了故障数据输入同步自反馈随机化塔寄存器(1.2),同时,复位信号Reseti被置为1;
步骤2.3:非法数据侦测及清除模块(1.4)开始同步模块(1.1)的复位过程,以清除故障数据;
步骤2.4:当NULL波前到达密码轮运算模块输出端时,非法数据侦测信号SYNillegal被至为1,并进而将复位信号Reseti置为0;
步骤2.5:同步模块(1.1)输出端的数据重新输入密码轮运算模块(1.5),同时,同步控制信号SYNinput被重新置为1,并再次沿传播延迟匹配模块(1.3)传播后,将传播延迟匹配模块输出信号SYNtr置为1,设传播延迟匹配模块(1.3)的信号时延为tspread,由于在步骤1.1中非法数据侦测信号SYNillegal先于传播延迟匹配模块输出信号SYNtr有效,因此从同步控制信号SYNinput有效至传播延迟匹配模块输出信号SYNtr有效的时间延迟tdelay1>2×tspread;
步骤2.6:由于传播延迟匹配模块输出信号SYNtr及自反馈信号SYNfeed i(0≤i≤n)均为1,同步自反馈随机化塔寄存器输入使能SYNO将被置为1,允许数据输入至同步自反馈随机化塔寄存器(1.2);
步骤2.7:数据输入同步自反馈随机化塔寄存器(1.2)后,在自反馈信号SYNfeed i(0≤i≤n)的作用下,同步自反馈随机化塔寄存器输入使能SYNO将被置为0,阻止后继数据输入。
3.基于权利要求2所述无时钟的密码芯片故障注入攻击侦测及防护***的故障注入攻击侦测及防护方法,其特征在于:它还包括步骤3,当步骤1的判断结构显示,密码轮运算模块(1.5)输出故障数据与正常数据同时传播时,在同步控制信号SYNinput和传播延迟匹配模块输出信号SYNtr间时延的作用下,非法数据侦测信号SYNillegal将先于同步自反馈随机化塔寄存器输入使能SYNO被置为0,从而阻止故障数据输入同步自反馈随机化塔寄存器(1.2),并利用非法数据侦测及清除模块(1.4)对故障数据进行清除。
4.基于权利要求3所述无时钟的密码芯片故障注入攻击侦测及防护***的故障注入攻击侦测及防护方法,其特征在于:它还包括步骤4,当步骤1的判断结构显示,双轨数据线(Cr_i 0,Cr_i 1)(0≤i≤n)上的正稳态故障后于正常数据传播并产生于同步自反馈随机化塔寄存器输入使能SYNO有效的时间段内时,由于从非法数据侦测信号SYNillegal置0至同步自反馈随机化塔寄存器输入使能SYNO信号置0存在时延,故障将输入至同步自反馈随机化塔寄存器(1.2)中;
步骤4.1:若双轨数据线(Cr_i 0,Cr_i 1)(0≤i≤n)上的故障数据产生于同步自反馈随机化塔寄存器输入使能信号SYNO有效的时间段,当故障数据在传播的过程中与双轨数据线(Cr_i 0,Cr_i 1)(0≤i≤n)上的正常数据在时间维度上不存在交迭时,由于故障数据后于正常数据传播,该故障数据将被隔离在同步自反馈随机化塔寄存器(1.2)内的上一级环形寄存器中,并被NULL波前清除;
步骤4.2:当故障数据在传播的过程中与双轨数据线(Cr_i 0,Cr_i 1)(0≤i≤n)上的正常数据在时间维度上存在交迭时,将形成非法双轨数据,当该非法双轨数据在同步自反馈随机化塔寄存器(1.2)内进行传播时,随机路径切换模块(2.5)中的双轨数据侦测模块(3.1)将探测到非法数据的存在,并通过将随机路径切换模块(2.5)的输出的非法数据检测信号Invaidi置为1,启动内部复位过程,对故障数据进行清除;
步骤4.3:当双轨数据线(Cr_i 0,Cr_i 1)(0≤i≤n)上的故障不产生于同步自反馈随机化塔寄存器输入使能信号SYNO有效的时间段内时,通过自反馈信号SYNfeed i(0≤i≤n)的反馈机制,其将被阻止输入同步自反馈随机化塔寄存器(1.2)中。
5.基于权利要求4所述无时钟的密码芯片故障注入攻击侦测及防护***的故障注入攻击侦测及防护方法,其特征在于:它还包括步骤5,当步骤1的判断结构显示,密码轮变换结果数据输入至同步自反馈随机化塔寄存器(1.2)内后,在随机路径切换模块(2.5)的作用下,数据将在同步自反馈随机化塔寄存器(1.2)的三级环形寄存器结构中进行随机传播;
当攻击者在错误的位置诱发故障时,在同步自反馈随机化塔寄存器(1.2)内将同时存在两组有效数据,此时,故障检测网络(2.1)将探测到故障的发生,并利用NULL波前对塔内数据进行清除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011026317.4A CN112235259B (zh) | 2020-09-25 | 2020-09-25 | 无时钟的密码芯片故障注入攻击侦测及防护***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011026317.4A CN112235259B (zh) | 2020-09-25 | 2020-09-25 | 无时钟的密码芯片故障注入攻击侦测及防护***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112235259A CN112235259A (zh) | 2021-01-15 |
CN112235259B true CN112235259B (zh) | 2022-07-12 |
Family
ID=74108198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011026317.4A Active CN112235259B (zh) | 2020-09-25 | 2020-09-25 | 无时钟的密码芯片故障注入攻击侦测及防护***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112235259B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2629447A1 (en) * | 2012-02-17 | 2013-08-21 | Gemalto SA | Method and device for protecting an electronic device against fault attack(s) |
CN106656460A (zh) * | 2016-11-22 | 2017-05-10 | 浙江大学 | 一种针对密码芯片电磁脉冲故障分析的防御装置 |
-
2020
- 2020-09-25 CN CN202011026317.4A patent/CN112235259B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2629447A1 (en) * | 2012-02-17 | 2013-08-21 | Gemalto SA | Method and device for protecting an electronic device against fault attack(s) |
CN106656460A (zh) * | 2016-11-22 | 2017-05-10 | 浙江大学 | 一种针对密码芯片电磁脉冲故障分析的防御装置 |
Non-Patent Citations (1)
Title |
---|
"Circuit Level Defences Against Fault Attacks in Pipelined NCL Circuits";Qingyu Ou等;《IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS》;20150930;第29卷(第9期);第I-III章 * |
Also Published As
Publication number | Publication date |
---|---|
CN112235259A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | New fault-based side-channel attack using fault sensitivity | |
Pahlevanzadeh et al. | Assessing CPA resistance of AES with different fault tolerance mechanisms | |
Patranabis et al. | Fault tolerant infective countermeasure for AES | |
Moradi et al. | One attack to rule them all: Collision timing attack versus 42 AES ASIC cores | |
Clavier et al. | Reverse engineering of a secret AES-like cipher by ineffective fault analysis | |
Bokhari et al. | Cryptanalysis techniques for stream cipher: a survey | |
Dey et al. | Improved practical differential fault analysis of Grain-128 | |
WO2012140144A1 (en) | Method and system for improving the synchronization of stream ciphers | |
Zheng et al. | A persistent fault-based collision analysis against the advanced encryption standard | |
CN112235259B (zh) | 无时钟的密码芯片故障注入攻击侦测及防护***及方法 | |
Igarashi et al. | Concurrent faulty clock detection for crypto circuits against clock glitch based DFA | |
Dofe et al. | Strengthening SIMON implementation against intelligent fault attacks | |
US20190042711A1 (en) | Dynamic functional obfuscation | |
JP5976220B2 (ja) | 半導体装置 | |
CN103139219A (zh) | 基于可信交换机的生成树协议的攻击检测方法 | |
Guo et al. | EOP: An encryption-obfuscation solution for protecting PCBs against tampering and reverse engineering | |
CN112000996B (zh) | 一种阻止差分密码分析攻击的方法 | |
Luo et al. | Faulty clock detection for crypto circuits against differential fault analysis attack | |
CN115883064A (zh) | 一种基于sm3密码杂凑算法的抗旁路攻击方法 | |
CN112889239A (zh) | 用于证实物理攻击的方法和装置 | |
Li et al. | Advanced conditional differential attack on Grain‐like stream cipher and application on Grain v1 | |
Shahmirzadi et al. | Clock Glitch versus SIFA | |
Wang et al. | A new zero value attack combined fault sensitivity analysis on masked AES | |
Renaudin et al. | Asynchronous design: fault robustness and security characteristics | |
Wang et al. | An area-efficient shuffling scheme for AES implementation on FPGA |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |