CN116203886A - 一种应用于fpga的高安全电路 - Google Patents
一种应用于fpga的高安全电路 Download PDFInfo
- Publication number
- CN116203886A CN116203886A CN202310250901.5A CN202310250901A CN116203886A CN 116203886 A CN116203886 A CN 116203886A CN 202310250901 A CN202310250901 A CN 202310250901A CN 116203886 A CN116203886 A CN 116203886A
- Authority
- CN
- China
- Prior art keywords
- authentication
- address
- register
- multiplexer
- code stream
- 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 abstract description 17
- 230000008569 process Effects 0.000 abstract description 14
- 238000013461 design Methods 0.000 abstract description 10
- 238000012795 verification Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 14
- 238000002347 injection Methods 0.000 description 7
- 239000007924 injection Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
-
- 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种应用于FPGA的高安全电路设计,包括鉴权电路、回读译码电路、寄存器控制电路三个模块。鉴权电路将对FPGA的加密码流进行身份验证,若鉴权失败,将通过逻辑运算控制WBSTAR寄存器读出的值为预设的值;或在鉴权失败后,破坏针对WBSTAR寄存器回读的地址译码过程以使其回读地址错误。本发明根据FPGA配置及回读过程进行高安全设计,以鉴权结果控制回读地址译码过程或WBSTAR寄存器的读权限,保护FPGA的加密码流和数据,有效的防止了恶意码流注入和后门问题。
Description
技术领域
本申请涉及集成电路的技术领域,特别是一种应用于FPGA的高安全电路。
背景技术
现场可编程逻辑门阵列(以下简称FPGA)是一种内部含有大量可编程逻辑资源的芯片,通过配置用户设计转化成的码流来实现不同的逻辑功能。FPGA可以反复烧写,在应用中具有极大的灵活性,特别适合航天工程对电子器件多品种、小批量的特色要求。
用户在进行设计开发时,为保护自己的设计信息、IP核使用情况,可以采用加密、鉴权等方法对码流文件进行保护,加密是采用特定的算法对码流文件进行处理使其转化为密文,鉴权是对码流文件进行身份验证,防止对其进行篡改和删减。
加密和鉴权是保护FPGA码流的两种机制,一旦FPGA被注入恶意码流或被漏洞后门攻破,用户便失去了对FPGA芯片的控制,FPGA芯片内部码流将被窃取,用来实现逆向工程;或者FPGA被注入木马病毒,导致系统功能瘫痪。
因此,需要一种针对FPGA配置、鉴权过程中高安全的电路设计方法,以防护FPGA在使用过程中遇到的恶意码流注入、后门等问题。
发明内容
本发明解决的技术问题为:克服现有技术的不足,提供一种针对FPGA的高安全电路设计,根据FPGA鉴权失败后产生的指示信号进行逻辑运算并控制回读总线,关断WBSTAR寄存器读权限,同时阻止回读指令的正确译码,有效防护了恶意码流的注入,保障了用户设计的安全性。
第一方面,提供了一种FPGA,包括:
目标寄存器;
鉴权电路,用于对码流数据进行鉴权操作;
回读译码电路,用于根据所述鉴权操作的鉴权结果输出地址;其中,
在所述鉴权结果为鉴权成功的情况下,所述回读译码电路用于输出码流数据指示的地址;
在所述鉴权结果为鉴权失败的情况下,所述回读译码电路用于输出与所述目标寄存器的地址无关的数据。
结合第一方面,在第一方面的某些实现方式中,所述回读译码电路用于根据码流数据和所述鉴权操作的鉴权结果输出地址;其中,
在所述鉴权结果为鉴权成功的情况下,或者,在所述鉴权结果为鉴权失败,且码流数据指示的地址不是所述目标寄存器的地址的情况下,所述回读译码电路用于输出码流数据指示的地址;
在所述鉴权结果为鉴权失败,且码流数据指示的地址是所述目标寄存器的地址的情况下,所述回读译码电路用于输出与所述目标寄存器的地址无关的数据。
结合第一方面,在第一方面的某些实现方式中,所述回读译码电路包括地址译码模块和目标寄存器译码控制模块,所述地址译码模块用于输出码流数据指示的地址,所述目标寄存器译码控制模块用于根据所述鉴权结果控制地址的输出。
结合第一方面,在第一方面的某些实现方式中,所述目标寄存器译码控制模块包括第一级二选一多路选择器和第二级二选一多路选择器;
在码流数据指示的地址不是所述目标寄存器的地址的情况下,所述第一级二选一多路选择器用于将码流数据指示的地址传递到所述第二级二选一多路选择器;
在码流数据指示的地址是所述目标寄存器的地址的情况下,所述第一级二选一多路选择器用于将与所述目标寄存器的地址无关的数据传递到所述第二级二选一多路选择器;
在所述鉴权结果为鉴权成功的情况下,所述第二级二选一多路选择器用于将码流数据指示的地址输出;
在所述鉴权结果为鉴权失败的情况下,所述第二级二选一多路选择器用于将所述第一级二选一多路选择器输出的数据输出。
结合第一方面,在第一方面的某些实现方式中,所述目标寄存器译码控制模块包括第一级二选一多路选择器和第二级二选一多路选择器;
在所述鉴权结果为鉴权成功的情况下,所述第一级二选一多路选择器用于将码流数据指示的地址传递到所述第二级二选一多路选择器;
在所述鉴权结果为鉴权失败的情况下,所述第一级二选一多路选择器用于将与所述目标寄存器的地址无关的数据传递到所述第二级二选一多路选择器;
在码流数据指示的地址不是所述目标寄存器的地址的情况下,所述第二级二选一多路选择器用于将码流数据指示的地址输出;
在码流数据指示的地址是所述目标寄存器的地址的情况下,所述第二级二选一多路选择器用于将所述第一级二选一多路选择器输出的数据输出。
结合第一方面,在第一方面的某些实现方式中,所述目标寄存器地址包括M个1位和N个0位,所述目标寄存器译码控制模块还包括输入与门和N个非门,所述N个非门和所述N个0位一一对应,所述N个非门用于根据所述地址译码模块输出的地址,在对应地址位上执行取反操作,所述N个非门输出的N个经过取反操作的地址位,连同所述M个1位一起输入到所述输入与门,所述输入与门输出的结果用于指示码流数据对应的地址是否为目标寄存器地址。
结合第一方面,在第一方面的某些实现方式中,所述目标寄存器为WBSTAR寄存器。
第二方面,提供了一种FPGA,包括:
鉴权电路,用于对码流数据进行鉴权操作;
寄存器控制电路,用于根据所述鉴权操作的鉴权结果控制目标寄存器的读权限,
在所述鉴权结果为鉴权成功的情况下,所述目标寄存器的读权限为开;
在所述鉴权结果为鉴权失败的情况下,所述目标寄存器的读权限为关。
结合第二方面,在第二方面的某些实现方式中,所述寄存器控制电路包括所述目标寄存器和控制模块;
所述目标寄存器用于将输出值输入至所述控制模块;
所述控制模块用于在所述鉴权结果为鉴权成功的情况下,输出所述输出值;在所述鉴权结果为鉴权失败的情况下,输出设定值。
结合第二方面,在第二方面的某些实现方式中,所述目标寄存器包括K个存储单元,所述控制模块包括K个二选一多路选择器,所述K个存储单元和所述K个二选一多路选择器一一对应;
在所述鉴权结果为鉴权成功的情况下,所述鉴权电路用于向所述二选一多路选择器输出0;
在所述鉴权结果为鉴权失败的情况下,所述鉴权电路用于向所述二选一多路选择器输出1;
所述二选一多路选择器的0位选择输入端与对应的存储单元相连,二选一多路选择器的1位选择输入端接地,所述二选一多路选择器的输出端为所述寄存器控制电路的输出端。
结合第一方面和第二方面,在第一方面和第二方面的某些实现方式中,所述目标寄存器为WBSTAR寄存器。
第三方面,提供了一种电子设备,所述电子设备包括如上述第一方面至第二方面中的任意一种实现方式中所述的FPGA。
本发明与现有技术相比的有益效果在于:
使用本发明的高安全FPGA电路设计进行加密码流的配置时,在鉴权失败后会关闭WBSTAR寄存器的读权限,阻止外部恶意码流的注入和对WBSTAR寄存器内部存储码流信息的窃取,有效的保护了用户的设计信息。
通过回读译码电路的控制,在鉴权失败时,向回读总线反馈一个错误地址,实现了在鉴权失败后对WBSTAR寄存器读取功能的关闭,从而保护了用户的码流安全,有效防止了FPGA恶意码流的注入和对码流的窃取。另外,回读译码电路还可以在鉴权失败的情况下正常对其他寄存器进行地址输出。
通过寄存器控制电路的控制,实现了在鉴权失败后对WBSTAR寄存器读取功能的关闭,从而保护了用户的码流安全,有效防止了FPGA恶意码流的注入和对码流的窃取。
附图说明
图1为传统FPGA电路结构示意图。
图2为传统FPGA鉴权工作流程示意图。
图3为本申请实施例提供的一种高安全FPGA电路结构示意图。
图4为本申请实施例提供的一种高安全FPGA电路的鉴权工作流程示意图。
图5是本申请实施例提供的一种回读译码电路的示意性结构图。
图6是本申请实施例提供的一种WBSTAR寄存器译码控制模块的示意性结构图。
图7为本申请实施例提供的一种高安全FPGA电路的结构示意图。
图8为本申请实施例提供的一种高安全FPGA电路的鉴权工作流程示意图。
图9是本申请实施例提供的一种寄存器控制电路的示意性结构图。
图10是本申请实施例提供的一种寄存器控制电路的示意性结构图。
具体实施方式
下面结合附图和具体实施例对本申请作进一步详细的描述。
如图1所示,传统FPGA部分配置回读电路结构包括:鉴权电路、启动电路、回读总线等。
如图2所示,传统FPGA配置加密码流的工作过程步骤如下:
FPGA根据时序从外部接口读取加密码流,加密码流数据在写入鉴权电路后进行鉴权操作。鉴权完成后,将鉴权结果与正确结果进行比对。若鉴权成功,则通过指示信号执行FPGA启动,FPGA进入工作状态。若鉴权失败,则锁定FPGA的配置接口,阻止外部码流继续写入,但并没有关闭WBSTAR寄存器的读权限。具体地,FALLBACK电路在接收到鉴权失败的指示信号后,会触发FPGA的FALLBACK机制,芯片会产生FPGA复位信号,复位FPGA启动过程,重新进行FPGA配置,同时会保留WBSTAR寄存器内的数据,不会对其进行复位。此时通过伪造并载入一段攻击码流,便可以使得FPGA对码流进行解密,并存储在WBSTAR寄存器中。通过指令读取WBSTAR寄存器的值便可以窃取部分码流数据。反复重复以上流程可以实现对全部码流数据的窃取。
为防止码流数据被窃取,本申请实施例提供一种FPGA高安全电路结构。该结构可以包括鉴权电路、启动电路、回读总线、配置状态机和回读译码电路,如图3所示。相比于传统FPGA,本申请实施例对回读译码电路进行了改进。如图4所示,应用本发明设计电路的FPGA工作过程如下。
FPGA根据时序从外部接口读取加密码流,加密码流数据在写入鉴权电路后进行鉴权操作。鉴权电路的输入为FPGA读取的存在外部存储介质中的加密配置码流,输出为鉴权指示信号,连接到启动电路、配置状态机和回读译码电路中。鉴权电路是FPGA在配置过程中对加密码流进行身份验证的电路模块,采用SHA-256算法进行数据处理,在进行鉴权操作后,通过比较实际计算结果与标准结果来判断鉴权是否正确,输出一个指示信号指示鉴权的成功或失败。
若鉴权成功,则通过指示信号指示启动电路执行FPGA启动,FPGA进入工作状态。回读总线是FPGA回读数据的通道,在码流中添加读取相应寄存器的指令后,回读译码电路根据指令进行译码,然后回读总线读取相应寄存器的值,将特定寄存器内存储的数值载入到回读总线上,并输出到FPGA的特定接口上以完成回读操作。
若鉴权失败,失败指示信号输入到配置状态机、回读译码电路中。配置状态机根据鉴权失败信号执行FPGA配置接口锁定。回读译码电路则根据鉴权结果进行逻辑运算,向回读总线反馈一个错误地址,使回读总线无法获取WBSTAR寄存器的正确地址,进而使回读总线不能从WBSTAR寄存器中读取已经存储的码流数据。通过回读译码电路的控制,实现了在鉴权失败后对WBSTAR寄存器读取功能的关闭,从而保护了用户的码流安全,有效防止了FPGA恶意码流的注入和对码流的窃取。
图5是本申请实施例提供的一种回读译码电路的示意性结构图。回读译码电路可以包括地址译码模块和WBSTAR寄存器译码控制模块。地址译码模块用于根据输入的码流数据输出相应的寄存器地址。WBSTAR寄存器译码控制模块用于控制FPGA芯片的回读译码过程。具体地,WBSTAR寄存器译码控制模块用于根据鉴权结果和地址类型,判断是否将地址译码模块输出的地址直接输出。
回读译码电路的输入信号包括鉴权结果指示信号,回读码流指令,输出信号为回读的地址输出信号。鉴权结果指示由鉴权模块产生,表示鉴权过程的成功或失败,其控制着地址输出的选择端。输入的回读码流指令是来自用户或攻击者输入的码流,其控制着FPGA的回读过程。地址译码模块会根据输入的指令信息进行译码,从而产生一个5位的地址信号,指示着将要回读的寄存器地址,并输入到WBSTAR寄存器译码控制模块中进行下一步运算。
如果鉴权成功,则WBSTAR寄存器译码控制模块可以将地址译码模块输出的地址直接输出,以使得回读总线可以根据地址读取相应寄存器的数据。在鉴权失败的情况下,除WBSTAR寄存器以外的其他寄存器可以被读取。因此如果鉴权失败,则WBSTAR寄存器译码控制模块可以判断地址译码模块输出的地址是否是WBSTAR寄存器的地址。如果是,则WBSTAR寄存器译码控制模块可以将错误地址输出,以使得回读总线无法根据地址读取WBSTAR寄存器的数据。如果否,则WBSTAR寄存器译码控制模块可以将地址译码模块输出的地址直接输出,以使得回读总线可以根据地址读取相应寄存器的数据。在其他实施例中,鉴权结果和地址是否为WBSTAR寄存器地址的判断顺序可以调换。
图6示出了本申请实施例提供的一种WBSTAR寄存器译码控制模块的示意性结构图。
WBSTAR寄存器译码控制模块可以包括一个五输入与门和两个二选一多路选择器组成。WBSTAR寄存器译码控制模块的输入信号包括地址译码模块输出的5位地址和鉴权结果指示信号,输出信号为回读地址输出。
假设WBSTAR寄存器的地址为5’b10000,根据逻辑关系对地址低四位的信号进行取反操作,然后与最高位地址[4],输入到五输入与门中,进行数字逻辑运算。运算结果作为第一级二选一多路选择器的选择端,对地址进行选择。若结果为0,则将正常译码得到的地址传递到后级。若结果为1,则将一个没有任何寄存器对应的地址5’b01111传递到后级。第二级的二选一多路选择器的输入端为鉴权结果指示信号,若鉴权成功,则将正常译码得到的地址传递到后级;若鉴权失败,则将上一级的输出传递到后级,作为WBSTAR寄存器译码控制模块的地址输出。
工作过程:若鉴权成功,验证码流文件正确,则译码控制电路的第二级二选一多路选择器会根据鉴权正确的结果将地址译码电路输出的地址直接输出,从而保证了在验证通过时,芯片本身的回读过程不受影响。若鉴权失败,表明码流文件有误,可能存在数据泄露的风险,第二级二选一多路选择器根据鉴权错误指示将第一级二选一多路选择器的输出传递到后级;五输入与非门对译码出的回读地址进行逻辑运算,若地址为5’b10000,表明用户或攻击者预期回读WBSTAR寄存器,则WBSTAR地址确认信号为1,第一级二选一多路选择器将没有任何寄存器对应的地址5’b01111传递到后级并输出;若地址不为5’b10000,表明用户或攻击者预期回读WBSTAR寄存器以外的寄存器,则回读过程不应受到影响,第一级二选一多路选择器仍将译码得到的地址[4:0]传递到后级并输出,不影响回读操作。
图6所示的两个二选一多路选择器可以调换顺序。也就是说,第一级的二选一多路选择器的输入端为鉴权结果指示信号,若鉴权成功,则将正常译码得到的地址传递到后级;若鉴权失败,则将一个没有任何寄存器对应的地址5’b01111传递到后级。第二级的二选一多路选择器的输入端为五输入与门的运算结果,若结果为0,则将正常译码得到的地址传递到后级并输出。若结果为1,则将上一级的输出传递到后级,作为WBSTAR寄存器译码控制模块的地址输出。
在图6所示的实施例中,假设WBSTAR寄存器自身的地址为5’b10000。为了使WBSTAR地址确认结果输出为1,WBSTAR寄存器译码控制模块可以包括四个非门。当地址译码模块输出的地址为5’b10000时,4个非门可以将后4位的0进行取反操作,实现WBSTAR地址确认结果为1。也就是说,WBSTAR寄存器译码控制模块的非门数量和对应位置可以根据WBSTAR寄存器自身的地址设置。如果WBSTAR寄存器自身的地址为5’b11111,则WBSTAR寄存器译码控制模块可以不设置非门。非门执行取反操作的地址位可以对应WBSTAR地址的0位。由此WBSTAR地址确认结果可以指示地址译码模块输出的地址是否为WBSTAR寄存器自身的地址。
本申请实施例还提供一种FPGA高安全电路结构。该结构可以包括鉴权电路、启动电路、回读总线、配置状态机、寄存器控制电路,如图7所示。相比于传统FPGA,本申请实施例在寄存器控制电路方面进行了改进。如图8所示,应用本发明设计电路的FPGA工作过程如下。
FPGA根据时序从外部接口读取加密码流,加密码流数据在写入鉴权电路后进行鉴权操作。鉴权完成后,将鉴权结果与正确结果进行比对。若鉴权成功,则通过指示信号指示启动电路执行FPGA启动,FPGA进入工作状态。若鉴权失败,失败指示信号输入到配置状态机、寄存器控制电路中。配置状态机根据鉴权失败信号执行FPGA配置接口锁定。寄存器控制电路则在接收到鉴权失败信号后,通过逻辑运算产生控制WBSTAR寄存器读权限的信号,关闭回读总线对WBSTAR寄存器的读权限,使得外界指令无法读取存在WBSTAR寄存器中的码流数据。通过寄存器控制电路的控制,实现了在鉴权失败后对WBSTAR寄存器读取功能的关闭,从而保护了用户的码流安全,有效防止了FPGA恶意码流的注入和对码流的窃取。
图9是本申请实施例提供的一种寄存器控制电路的示意性结构图。
寄存器控制电路主要控制着WBSTAR寄存器的读权限。寄存器控制电路可以包括WBSTAR寄存器和WBSTAR控制模块。寄存器控制电路的输入信号包含WBSTAR寄存器写数据信号,时钟信号CLK和鉴权失败指示信号,输出信号是WBSTAR寄存器的输出值。WBSTAR寄存器可以根据WBSTAR写数据信号,在时钟信号CLK的作用下,移入到WBSTAR寄存器中完成寄存器中数据的更新和存储。从WBSTAR寄存器中读出的值存储在读数据信号线上,与鉴权失败指示信号一同进入控制器进行逻辑运算。如果鉴权成功,则WBSTAR寄存器中存储的值。如果鉴权失败,则不输出或输入错误值。
图10是本申请实施例提供的一种寄存器控制电路的示意性结构图。
WBSTAR寄存器可以包括一一对应的32个存储单元和32个二选一多路选择器。每个存储单元的输入为1位写数据信号和时钟信号CLK。写数据信号线可以用作WBSTAR写入新数据值时输入数据端口。每个存储单元存储的数据可以通过二选一多路选择器读取。二选一多路选择器的选择端为鉴权指示信号。如果鉴权指示信号为0,可以用于指示鉴权成功,如果鉴权指示信号为1,可以用于指示鉴权失败。二选一多路选择器的0位选择端作为输入端可以与对应的WBSTAR寄存器相连,二选一多路选择器的1位选择端作为输入端可以接地,提供0电位。二选一多路选择器的输出为寄存器控制电路下的WBSTAR寄存器输出。在其他实施例中,出于各种各样的原因,二选一多路选择器的设置数量可以略微小于存储单元的数量,但数量不应小到无法阻碍数据窃取的程度。
工作过程:
若鉴权成功,验证码流文件正确,则鉴权失败信号为0,32个二选一多路选择器统一选择到WBSTAR寄存器原本的输出端,将其进行输出,以保证电路回读该寄存器时正确无误,不影响电路工作。若鉴权失败,表明码流文件有误,可能存在数据泄露的风险,此时鉴权失败信号为1,32个二选一多路选择器统一选择将接地的信号进行输出,在攻击者预期读取WBSTAR寄存器时,返回32位0,使其回读WBSTAR寄存器内的值失败,从而保护了码流不被窃取。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此,本发明的保护范围应当以本发明权利要求所界定的范围为准。
Claims (11)
1.一种FPGA,其特征在于,包括:
目标寄存器;
鉴权电路,用于对码流数据进行鉴权操作;
回读译码电路,用于根据所述鉴权操作的鉴权结果输出地址;其中,
在所述鉴权结果为鉴权成功的情况下,所述回读译码电路用于输出码流数据指示的地址;
在所述鉴权结果为鉴权失败的情况下,所述回读译码电路用于输出与所述目标寄存器的地址无关的数据。
2.根据权利要求1所述的FPGA,其特征在于,所述回读译码电路用于根据码流数据和所述鉴权操作的鉴权结果输出地址;其中,
在所述鉴权结果为鉴权成功的情况下,或者,在所述鉴权结果为鉴权失败,且码流数据指示的地址不是所述目标寄存器的地址的情况下,所述回读译码电路用于输出码流数据指示的地址;
在所述鉴权结果为鉴权失败,且码流数据指示的地址是所述目标寄存器的地址的情况下,所述回读译码电路用于输出与所述目标寄存器的地址无关的数据。
3.根据权利要求1或2所述的FPGA,其特征在于,所述回读译码电路包括地址译码模块和目标寄存器译码控制模块,所述地址译码模块用于输出码流数据指示的地址,所述目标寄存器译码控制模块用于根据所述鉴权结果控制地址的输出。
4.根据权利要求3所述的FPGA,其特征在于,所述目标寄存器译码控制模块包括第一级二选一多路选择器和第二级二选一多路选择器;
在码流数据指示的地址不是所述目标寄存器的地址的情况下,所述第一级二选一多路选择器用于将码流数据指示的地址传递到所述第二级二选一多路选择器;
在码流数据指示的地址是所述目标寄存器的地址的情况下,所述第一级二选一多路选择器用于将与所述目标寄存器的地址无关的数据传递到所述第二级二选一多路选择器;
在所述鉴权结果为鉴权成功的情况下,所述第二级二选一多路选择器用于将码流数据指示的地址输出;
在所述鉴权结果为鉴权失败的情况下,所述第二级二选一多路选择器用于将所述第一级二选一多路选择器输出的数据输出。
5.根据权利要求3所述的FPGA,其特征在于,所述目标寄存器译码控制模块包括第一级二选一多路选择器和第二级二选一多路选择器;
在所述鉴权结果为鉴权成功的情况下,所述第一级二选一多路选择器用于将码流数据指示的地址传递到所述第二级二选一多路选择器;
在所述鉴权结果为鉴权失败的情况下,所述第一级二选一多路选择器用于将与所述目标寄存器的地址无关的数据传递到所述第二级二选一多路选择器;
在码流数据指示的地址不是所述目标寄存器的地址的情况下,所述第二级二选一多路选择器用于将码流数据指示的地址输出;
在码流数据指示的地址是所述目标寄存器的地址的情况下,所述第二级二选一多路选择器用于将所述第一级二选一多路选择器输出的数据输出。
6.根据权利要求3至5中任一项所述的FPGA,其特征在于,所述目标寄存器地址包括M个1位和N个0位,所述目标寄存器译码控制模块还包括输入与门和N个非门,所述N个非门和所述N个0位一一对应,所述N个非门用于根据所述地址译码模块输出的地址,在对应地址位上执行取反操作,所述N个非门输出的N个经过取反操作的地址位,连同所述M个1位一起输入到所述输入与门,所述输入与门输出的结果用于指示码流数据对应的地址是否为目标寄存器地址。
7.一种FPGA,其特征在于,包括:
鉴权电路,用于对码流数据进行鉴权操作;
寄存器控制电路,用于根据所述鉴权操作的鉴权结果控制目标寄存器的读权限,
在所述鉴权结果为鉴权成功的情况下,所述目标寄存器的读权限为开;
在所述鉴权结果为鉴权失败的情况下,所述目标寄存器的读权限为关。
8.根据权利要求7所述的FPGA,其特征在于,所述寄存器控制电路包括所述目标寄存器和控制模块;
所述目标寄存器用于将输出值输入至所述控制模块;
所述控制模块用于在所述鉴权结果为鉴权成功的情况下,输出所述输出值;在所述鉴权结果为鉴权失败的情况下,输出设定值。
9.根据权利要求8所述的FPGA,其特征在于,所述目标寄存器包括K个存储单元,所述控制模块包括K个二选一多路选择器,所述K个存储单元和所述K个二选一多路选择器一一对应;
在所述鉴权结果为鉴权成功的情况下,所述鉴权电路用于向所述二选一多路选择器输出0;
在所述鉴权结果为鉴权失败的情况下,所述鉴权电路用于向所述二选一多路选择器输出1;
所述二选一多路选择器的0位选择输入端与对应的存储单元相连,二选一多路选择器的1位选择输入端接地,所述二选一多路选择器的输出端为所述寄存器控制电路的输出端。
10.根据权利要求1至9中任一项所述的FPGA,其特征在于,所述目标寄存器为WBSTAR寄存器。
11.一种电子设备,其特征在于,所述电子设备包括如权利要求1至10中任一项所述的FPGA。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310250901.5A CN116203886A (zh) | 2023-03-15 | 2023-03-15 | 一种应用于fpga的高安全电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310250901.5A CN116203886A (zh) | 2023-03-15 | 2023-03-15 | 一种应用于fpga的高安全电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116203886A true CN116203886A (zh) | 2023-06-02 |
Family
ID=86515787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310250901.5A Pending CN116203886A (zh) | 2023-03-15 | 2023-03-15 | 一种应用于fpga的高安全电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116203886A (zh) |
-
2023
- 2023-03-15 CN CN202310250901.5A patent/CN116203886A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502932B (zh) | 处理系统、相关集成电路和方法 | |
US9311255B2 (en) | Multi-layer content protecting microcontroller | |
EP0851358B1 (en) | Processing system security | |
US9117095B2 (en) | Data security for digital data storage | |
EP1638033B1 (en) | Self testing and securing RAM system and method | |
US7979826B1 (en) | Computer-readable storage media comprising data streams having mixed mode data correction capability | |
US20060015754A1 (en) | E-fuses for storing security version data | |
US20080107275A1 (en) | Method and system for encryption of information stored in an external nonvolatile memory | |
US20070237325A1 (en) | Method and apparatus to improve security of cryptographic systems | |
JPH0713873A (ja) | チップ・カードのキーを保護する装置 | |
EP1840784B2 (en) | Semiconductor memory device | |
CN110781532B (zh) | 开卡装置及利用开卡装置验证并启用数据储存装置的方法 | |
US9152576B2 (en) | Mode-based secure microcontroller | |
JP2001356963A (ja) | 半導体装置およびその制御装置 | |
KR100972540B1 (ko) | 라이프 사이클 단계들을 가진 보안 메모리 카드 | |
JP2003091459A (ja) | 半導体デバイス内のコードとデータにセキュリティを与えるためのシステムと方法 | |
CN109492418A (zh) | 一种基于aes算法的通用dsp安全加解密系统 | |
US11372558B2 (en) | Method for accessing one-time-programmable memory and associated circuitry | |
US11281576B2 (en) | Memory device | |
CN116203886A (zh) | 一种应用于fpga的高安全电路 | |
US11379580B1 (en) | Mixed storage of data fields | |
WO2007059701A1 (fr) | Procede de cryptage systeme par micro-ordinateur mono-circuit polyvalent d'appoint | |
CN114237492A (zh) | 非易失性存储器保护方法及装置 | |
JP2000181802A (ja) | 半導体記憶装置 | |
JP2000029790A (ja) | データセキュリティシステム |
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 |