CN100395732C - 用异步电路提高sram工艺fpga设计安全的系统 - Google Patents
用异步电路提高sram工艺fpga设计安全的系统 Download PDFInfo
- Publication number
- CN100395732C CN100395732C CNB2006100117044A CN200610011704A CN100395732C CN 100395732 C CN100395732 C CN 100395732C CN B2006100117044 A CNB2006100117044 A CN B2006100117044A CN 200610011704 A CN200610011704 A CN 200610011704A CN 100395732 C CN100395732 C CN 100395732C
- Authority
- CN
- China
- Prior art keywords
- key
- fpga
- circuit
- cpld
- state
- 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.)
- Expired - Fee Related
Links
- 238000013461 design Methods 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 title abstract description 13
- 230000008569 process Effects 0.000 title abstract description 3
- 238000005070 sampling Methods 0.000 claims abstract description 40
- 238000012795 verification Methods 0.000 claims description 54
- 230000001360 synchronised effect Effects 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 4
- 238000003860 storage Methods 0.000 claims description 3
- 230000001788 irregular Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005336 cracking Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 208000019901 Anxiety disease Diseases 0.000 description 1
- 230000036506 anxiety Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及SRAM工艺FPGA的设计安全性问题,其特征在于:在FPGA电路中增加一个异步采样环节,随机地使密钥选择状态机从FPGA内密钥表中去选择FPGA密钥,同时也使发送给CPLD的密钥跳转指示是一个随机序列,增强了设计安全性;同时,分别在FPGA和CPLD中增加了M序列解密和加密电路,使CPLD向FPGA传送的密钥,先经过M序列加密,提高了系统的抗攻击能力;同时,应用密钥状态的跳转,使得剽窃者需要破解状态机的个数以及无规律的状态机的跳转方式,增加了破译的难度。
Description
技术领域
本发明涉及SRAM工艺FPGA的设计安全性,是保护FPGA内部设计内容不被剽窃的一种有效手段。
背景技术
随着FPGA的容量,性能以及可靠性的提高,及其在消费电子,汽车电子等领域的大规模应用,FPGA设计的安全性问题越来越引起人们的关注。SRAM工艺FPGA由于其在工艺上的优势,已经成为当前FPGA的主流。但是由于SRAM的易失性,掉电以后芯片中的配置信息将丢失,所以每次系统上电时都需要重新配置。这就使得剽窃者可以通过对FPGA的配置数据引脚进行采样,得到该FPGA的配置数据流,实现对FPGA内部设计电路的克隆。
产业界和学术界对SRAM工艺FPGA的设计安全性提出了多种解决方案。Xilinx公司提出了采用3DES加密算法对配置数据流进行加密的方法,支持这种方案的FPGA内部有一块特殊的电路用于保存密码,这部分电路由外接的小电池供电,使得密码信息在系统断电时候得以保持。这种方案的缺点是外接电池不仅增加了成本,而且降低了系统的稳定性。Tom Kean针对Xilinx的方法提出了改进,该方案不需要外接电池,但是需要在每个FPGA中用非SRAM工艺写入一个不可挥发的密钥。这种方法的缺点是和传统的FPGA生产工艺不符,不适合大批量生产。利用加密算法提高FPGA设计安全性的方案还有很多,都是对上述两种方法的修补,总的来说,这些方案的密钥保存需要特殊的支持,要么利用外接电池,要么需要改变现有的FPGA生产工艺。
另一类提高FPGA设计安全性的方案是通过外接一个不可挥发性器件来实现,例如CPLD。这类方案的共同点是利用CPLD产生的高线性复杂度的伪随机序列对FPGA设计进行加密,其缺点是增加了成本,但其最大的优点是适用于所有的FPGA,很具实用性。目前所提出的这些方法都是基于同步电路的方案。因为同步电路的状态转移都是确定的,在每次上电时,相同的初态所生成的序列是一样的,这就使得同步电路所产生的序列具有一定的可预测性,容易被克隆。为此,本发明提出一种利用异步电路的不确定性提高SRAM工艺FPGA设计安全性的方法。借助异步电路的状态转移的不确定性,提高了系统的安全性。
发明内容
本发明的目的在于提供一种利用保密程度较高的非挥发性器件提高易失性FPGA设计安全性的方法,并且该方法不需要特殊的FPGA生产工艺支持,能够应用于所有的FPGA。
本发明从电路设计的角度提出了一种提高FPGA设计安全性的方案。异步电路的竞争和险象问题所导致的不确定性,是数字电路设计中令人头疼的问题。但是,如果把这种不确定性应用在我们的安全方案中,同样可以困扰剽窃者,从而更有效地保护我们的设计。为此,本发明提出了利用异步采样电路的不确定性提高易失性SRAM工艺FPGA设计安全性的方法,借助异步采样电路的不确定性提高系统的安全性。
本发明的特征在于:该系统包括FPGA内子系统和CPLD内子系统两部分,其中:
FPGA内子系统包括:异步采样电路,密钥选择状态机,密钥存储器,M序列解密电路,密钥校验状态机,其中:
(1)异步采样电路含有:
第一个三组触发器,每一组由前后两个触发器串接而成,分别用FF11和FF21,FF12和FF22,FF13和FF23表示,前级触发器FF11,FF12和FF13的输出端Q和后级触发器FF21,FF22和FF23的D端相连,FF11,FF12和FF13的时钟端接时钟信号clks,而输入端D接同步于另一个时钟信号clk信号;后级触发器FF21,FF22和FF23的时钟端接时钟信号clks;3输入/3输出组合逻辑电路,该电路的三个输入端分别接收触发器FF21,FF22和FF23的各个Q端输出的同步于clks的信号;
第二个三组触发器,每一组由前后两个触发器串接而成,分别用FF31和FF41,FF32和FF42,FF33和FF43表示,前级触发器FF31,FF32和FF33的输入端D分别与3输入/3输出组合逻辑电路的输出端相连,Q端和后级触发器FF41,FF42和FF43的D端相连,FF31,FF32和FF33的时钟端接时钟信号clk;后级触发器FF41,FF42和FF43的时钟端接时钟信号clk;
(2)密钥选择状态机,根据所述异步采样电路中触发器FF41,FF42和FF43的输出端Q产生的状态跳转指示,以及当前的密钥状态,按以下步骤进行密钥状态的跳转:
步骤(2.1)当异步采样电路输出为0时,跳至状态0;
步骤(2.2)等待异步采样电路的输出;
步骤(2.3)每隔设定的周期收到异步采样电路的输出j;
步骤(2.4)判断j是否为0;
若是,则跳转至状态0,
若否,则从状态i跳转至状态(i+j)(mod8),其中,i为密钥选择状态机的当前状态;
(3)密钥存储器,以列表形式存储设定好长度和个数的待验证密钥,该密钥存储器根据所述FPGA内密钥选择状态机的跳转,从表中找到跳转后的待验证密钥,发送给下述密钥校验状态机;
(4)密钥校验状态机,所述密钥存储器输出的FPGA密钥通过该密钥校验状态机对串行输入所述密钥校验状态机的CPLD密钥进行校验以验证所述CPLD的合法性,依次按照以下方式进行校验:
失步状态:当所述密钥校验状态机在输入的串行CPLD密钥流中搜索到密钥0的码型后,所述密钥校验状态机跳转到预同步状态;
预同步状态:当所述密钥校验状态机在输入的串行CPLD密钥流中连续3次搜索到密钥0的码型后,进入同步状态,否则返回失步状态重新进行密钥搜索;
同步状态:所述异步采样电路中触发器FF41,FF42和FF43的输出端Q产生的状态跳转指示使所述FPGA中的密钥选择状态机和下述CPLD中的密钥选择状态机进行跳转,所述密钥校验状态机把CPLD送来的密钥和FPGA内部选择的密钥进行比较,若发生校验错误,则转入下述保护状态,否则,继续进行密钥校验;
保护状态:若连续三次密钥校验错误,则跳转到失步状态重新搜索,否则返回同步状态,继续校验;
当所述密钥校验状态机判断FPGA中的待校验密钥和CPLD中串行输入的密钥相一致时,则认为CPLD合法,否则,停止正常工作,并分别发送相应的使能信号给所设计的FPGA;
(5)M序列解密电路,是由N个带反馈开关的移位寄存器和异或器组成,寄存器的个数等于所选择的本原多项式的阶数,反馈开关的闭合与否取决于所选择的本原多项式对应项的系数,系数为1则闭合,系数为0则打开;在每个时钟周期,所有寄存器中原先的数据分别存入低一级的寄存器,而待解密的数据送入最高位寄存器,而当前输入数据和相应反馈开关闭合的寄存器中的数据相异或即得到解密后的数据输出,所述M序列解密电路的输出发送给所述异步采样电路中触发器FF11,FF12和FF13的D端和所述密钥校验状态机;
CPLD内子系统包含依次串接的密钥选择状态机、密钥存储器和M序列加密电路;其中,所述CPLD内密钥选择状态机和所述CPLD内密钥存储器在电路结构上分别与所述FPGA内密钥选择状态机和所述FPGA内密钥存储器相同;但是所述CPLD内密钥选择状态机的输入端和所述异步采样电路中FF41,FF42和FF43的输出端Q产生的状态跳转指示相连,所述CPLD内密钥存储器根据所述CPLD内密钥选择状态机的跳转,从表中找到跳转后的待验证密钥,发送给M序列加密电路;
M序列加密电路,是由N个带反馈开关的移位寄存器和异或器组成,阶数和反馈开关的闭合与否与所述M序列解密电路相同;在每个时钟周期,待加密数据和反馈开关闭合的寄存器中的数据相异或即得到加密后的数据输出,同时,所有寄存器原先的数据分别存入低一级的寄存器,加密后的数据存入最高位寄存器;M序列加密后的输出接到所述FPGA内M序列解密电路。
在所述密钥校验状态机中设有一个在失步状态下开始计数的错误计数器,若错误次数达到设定的阈值,则密钥校验失败,停止FPGA电路的工作使能。
在传统的利用保密程度较高的非挥发性器件(例如CPLD,反熔丝工艺FPGA等)提高易失性FPGA设计安全性的万案中,通常是利用同步电路进行设计,这使得每次上电后,FPGA和非挥发性器件之间交互的数据序列是相同的,因此剽窃者可以通过对密钥数据流进行采样并保存下来,然后将其发送给FPGA,以伪造一个合法的非挥发性器件,从而对FPGA内部设计进行剽窃。
在本发明所提出的设计方案中,在FPGA和CPLD中分别保存两个密钥表。在一开始同步上之后,FPGA中的密钥选择状态机根据由异步采样电路产生的随机的状态跳转指示信号进行跳转。同时,CPLD接收FPGA送来的异步电路输出信号以后,其中的密钥状态机也进行相应的跳转,并将密钥输回给FPGA。在没有差错的情况下,这两个状态机将一致地跳转。FPGA通过对CPLD送来的密钥进行确认来验证CPLD的合法性:检验是否和自己的密钥状态机所选择的密钥一致,如果一致,则说明所连接的CPLD为合法的CPLD,FPGA电路正常工作;否则认为所连接的CPLD非法,停止FPGA电路。
其中,状态跳转指示由异步采样电路产生,利用两个不同时钟之间的相位随机性,状态跳转指示是一个随机的序列,因而在每次上电之后,CPLD给FPGA的密钥是不同的,不能通过简单的复制存储CPLD发给FPGA的数据来进行剽窃,这样就增强了设计的安全性。
此外,CPLD向FPGA传递密钥之前,先利用M序列进行加密,这样使得对系统的破解首先需要对M序列加密算法进行破解,从而进一步提高系统的抗攻击能力。
即使破解了M序列,得到了密钥,由于在本发明中应用了密钥状态的跳转,这使得需要破解状态机的个数以及无规律的状态机的跳转方式。
可见,剽窃者需要知道足够的系统设计参数,例如M序列生成多项式,密钥个数,密钥长度,密钥状态机个数,密钥选择状态机转移规则等,才能够对本发明的方案进行破解,因此,本发明所提出的系统,借助异步采样电路实现了很强的安全性。
附图说明
图1系统框图
图2单比特异步采样电路图
图3异步采样电路图
图4密钥选择状态机流程图
图5密钥校验状态机
图6M序列加密电路图
图中C(i)为本原多项式对应项系数,C(i)=1表示开关闭合,C(i)=0表示开关打开
图7M序列解密电路图
图中C(i)为本原多项式对应项系数,C(i)=1表示开关闭合,C(i)=0表示开关打开
具体实施方式
图1是整个系统的功能框图。下面按照整个系统的验证信息的产生和验证顺序来介绍各个功能模块的作用与实现。
(1)异步采样电路
异步采样电路用一个时钟去采样另一个时钟驱动的信号,由于不同的时钟频率不一致,而且有各种随机因素引起的时钟抖动,这样会产生一个不可预测的随机序列,本系统中每次产生3个比特,发送给密钥选择状态机随机地产生一个密钥。此外,由于每次上电时时钟的信号相位差是变化的,所以在电路板所生成的序列也是不同的。
图2所示为单比特异步采样电路的示意图。图中有4个触发器(FF1,FF2,FF3和FF4)和两个时钟(clk和clks)。FF1和FF2由clks驱动,其中FF1是用于防止亚稳态出现的触发器,它的输入信号是同步于clk的信号,FF2的输出信号则是同步于clks的信号。FF3和FF4由clk驱动,其中FF3的作用和FF1类似,用于防止亚稳态的出现,它的输入信号是同步于clks的信号,FF4的输出信号则是同步于clk的信号。由此,通过上述处理,FF4的输出产生了一个随机序列,这个随机序列不同于同步电路产生的伪随机序列,其状态的转移和温度,电压等外界因素有关,是一个完全不可预测的随机序列。
图3所示为系统中实际用到的3比特异步采样电路的示意图。该异步电路通过采样M序列解密电路中的信号,得到3位同步于clk的信号,经过由clks驱动的触发器FF1,FF2采样后,得到3位同步于clks的信号。将这三个信号经过3输入3输出组合逻辑电路后再由FF3,FF4采样从而得到同步于clk的3比特随机序列。这里,3输入3输出组合逻辑电路带来的延时使得FF3采样到的组合逻辑电路的输出更具不确定性,从而更难被预测。
(2)密钥选择状态机
FPGA和CPLD中各有一个完全相同的密钥选择状态机。FPGA中的密钥选择状态机根据异步采样电路输出的随机序列进行跳转,其跳转规则,密钥表大小,密钥长度均可以自定义。而CPLD中的密钥状态机接受到FPGA发送来的密钥后,找到密钥对应的状态并进行相同的跳转。本系统中,密钥表中存放有8个32位长的密钥,密钥状态机共有8个状态,记为状态0~状态7,每个状态分别对应一个密钥,记为密钥0~密钥7。
图4为本系统所采用的密钥选择状态机的算法图。假设当前状态为状态i,异步采样电路的输出为j,其中i,j∈N,且0≤i,j≤7。简单的跳转规则如下:当采样电路的输出为0时,跳转到状态0;否则,跳转到状态(i+j)mod8。当然,为了提高系统的安全性,可以采用各种无序的跳转规则。通过改变跳转规则和密钥表,可以得到不同的系统。
(3)M序列加密解密电路
CPLD向FPGA传递密钥之前,先利用M序列进行加密,这样使得对系统的破解首先需要对M序列加密算法进行破解,既防止了密钥的明文传输,又提高了系统的安全性。FPGA接收到CPLD发送的加密后的密钥后,先进行M序列的解密,然后将密钥传给密钥校验状态机。
之所以采用M序列作为加密算法,主要考虑的是解密的自同步特性。此外,考虑到CPLD触发器资源紧张,FPGA向CPLD之间的跳转指示信号的传输没有进行加密。M序列的级数越大,生成的随机序列的周期越长,破解的难度也越大。本发明所提出的系统采用30阶的M序列,其本原多项式为x29+x15+x14+1。
图6所示为M序列加密电路图。CPLD将需要传递的密钥依次从输入端送入,经过n个带反馈的移位寄存器,得到经M序列加密的密钥。其中寄存器的个数,取决于本原多项式的阶数,本系统中为30,而寄存器是否反馈,即C(i)是所选择的本原多项式相应的系数,1表示合上,0表示断开,例如在本系统中,C(29),C(15),C(14),C(0)被合上,其余C(i)断开。在每个时钟周期,待加密数据和反馈开关闭合的寄存器中的数据相异或即得到加密后的数据输出,同时,所有寄存器原先的数据分别存入低一级的寄存器,加密后的数据存入最高位寄存器;M序列加密后的输出接到所述FPGA内M序列解密电路。例如在本系统中,待加密数据和S(29),S(15),S(14),S(0)中的数据相异或即得到加密后的数据输出
图7所示为M序列解密电路图。FPGA将经过M序列加密的密钥送入输入端,经过n个移位寄存器后得到解密后的密钥。其中寄存器的个数,反馈开关C(i)的开合,和M序列加密电路中完全一致。在每个时钟周期,所有寄存器中原先的数据分别存入低一级的寄存器,而待解密的数据送入最高位寄存器,而当前输入数据和相应反馈开关闭合的寄存器中的数据相异或即得到解密后的数据输出,例如在本系统中,当前的数据输入与S(29),S(15),S(14),S(0)中的数据进行异或后得到解密后的输出。
(4)密钥校验
在密钥校验状态机中,FPGA通过对CPLD送来的密钥进行确认来验证CPLD的合法性。为了不至于多占用引脚,32位密钥是串行传输的。并且串行传输以后给剽窃者的破解也增加了难度。但同时带来的问题是,FPGA需要先进行同步和串并转换之后才能进行密钥校验。
密钥校验的状态机如图5所示。状态机共有4个状态:失步,预同步,同步和保护。预同步状态的设置是为了防止假同步,只有连续3次校验正确才认为找到了同步。保护状态的设置是为了防止误码引起不必要的失步,使得偶尔的误码并不会导致校验状态机失步。下面分别介绍密码校验电路在这4个状态的具体工作方式:
●失步状态:当系统刚启动时候,FPGA的密钥校验状态机处于失步状态,这个时候异步采样电路不工作,输出为0,CPLD一直发送密钥0。密钥校验状态机在M序列解密电路输出的串行密钥流里搜索密钥0的码型,在搜索到密钥0的码型以后,密钥校验状态机跳转到预同步状态。
●预同步状态:当密钥校验状态机处于预同步状态时,异步采样电路仍然不工作,输出跳转指示为0,CPLD仍旧发送密钥0。密钥校验状态机进行密钥0校验,如果连续3次密钥校验正确,则进入同步态;否则返回失步态重新进行密钥搜索。
●同步状态:此时异步采样电路开始工作,输出随机序列指示FPGA和CPLD中两个密钥状态机进行跳转。密钥校验状态机将CPLD送来的密钥和FPGA内部选择的密钥进行对比,如果发生校验错误则跳转至保护态,否则继续进行密钥校验工作。
●保护状态:此时异步采样电路依然工作,输出随机序列指示FPGA和CPLD中的两个密钥状态机进行跳转。密钥校验状态机继续进行密钥校验工作,如果连续3次密钥校验错误则跳转到失步状态重新进行密钥搜索,否则返回同步状态。
在密钥校验状态机中设有一个错误计数器,错误计数器在失步状态下开始计数。一旦错误计数器的计数超过设定的阈值,则认为密钥检验失败,停止FPGA电路的工作使能。此外,为了防止偶尔的传输误码导致校验电路进入失步状态,当校验电路进入同步状态超过一定时间之后,错误计数器将清零。
Claims (2)
1.用异步电路提高SRAM工艺FPGA设计安全的系统,其特征在于:该系统包括FPGA内子系统和CPLD内子系统两部分,其中:
FPGA内子系统包括:异步采样电路,密钥选择状态机,密钥存储器,M序列解密电路,密钥校验状态机,其中:
(1)异步采样电路含有:
第一个三组触发器,每一组由前后两个触发器串接而成,分别用FF11和FF21,FF12和FF22,FF13和FF23表示,前级触发器FF11,FF12和FF13的输出端Q和后级触发器FF21,FF22和FF23的D端相连,FF11,FF12和FF13的时钟端接时钟信号clks,而输入端D接同步于另一个时钟信号clk信号;后级触发器FF21,FF22和FF23的时钟端接时钟信号clks;
3输入/3输出组合逻辑电路,该电路的三个输入端分别接收触发器FF21,FF22和FF23的各个Q端输出的同步于clks的信号;
第二个三组触发器,每一组由前后两个触发器串接而成,分别用FF31和FF41,FF32和FF42,FF33和FF43表示,前级触发器FF31,FF32和FF33的输入端D分别与3输入/3输出组合逻辑电路的输出端相连,Q端和后级触发器FF41,FF42和FF43的D端相连,FF31,FF32和FF33的时钟端接时钟信号clk;后级触发器FF41,FF42和FF43的时钟端接时钟信号clk;
(2)密钥选择状态机,根据所述异步采样电路中触发器FF41,FF42和FF43的输出端Q产生的状态跳转指示,以及当前的密钥状态,按以下步骤进行密钥状态的跳转:
步骤(2.1)当异步采样电路输出为0时,跳至状态0;
步骤(2.2)等待异步采样电路的输出;
步骤(2.3)每隔设定的周期收到异步采样电路的输出j;
步骤(2.4)判断j是否为0;
若是,则跳转至状态0,
若否,则从状态1跳转至状态(1+j)(mod8),其中,1为密钥选择状态机的当前状态;
(3)密钥存储器,以列表形式存储设定好长度和个数的待验证密钥,该密钥存储器根据所述FPGA内密钥选择状态机的跳转,从表中找到跳转后的待验证密钥,发送给下述密钥校验状态机;
(4)密钥校验状态机,所述密钥存储器输出的FPGA密钥通过该密钥校验状态机对串行输入所述密钥校验状态机的CPLD密钥进行校验以验证所述CPLD的合法性,依次按照以下方式进行校验:
失步状态:当所述密钥校验状态机在输入的串行CPLD密钥流中搜索到密钥0的码型后,所述密钥校验状态机跳转到预同步状态;
预同步状态:当所述密钥校验状态机在输入的串行CPLD密钥流中连续3次搜索到密钥0的码型后,进入同步状态,否则返回失步状态重新进行密钥搜索;
同步状态:所述异步采样电路中触发器FF41,FF42和FF43的输出端Q产生的状态跳转指示使所述FPGA中的密钥选择状态机和下述CPLD中的密钥选择状态机进行跳转,所述密钥校验状态机把CPLD送来的密钥和FPGA内部选择的密钥进行比较,若发生校验错误,则转入下述保护状态,否则,继续进行密钥校验;
保护状态:若连续三次密钥校验错误,则跳转到失步状态重新搜索,否则返回同步状态,继续校验;
当所述密钥校验状态机判断FPGA中的待校验密钥和CPLD中串行输入的密钥相一致时,则认为CPLD合法,否则,停止正常工作,并分别发送相应的使能信号给所设计的FPGA;
(5)M序列解密电路,是由N个带反馈开关的移位寄存器和异或器组成,寄存器的个数等于所选择的本原多项式的阶数,反馈开关的闭合与否取决于所选择的本原多项式对应项的系数,系数为1则闭合,系数为0则打开;在每个时钟周期,所有寄存器中原先的数据分别存入低一级的寄存器,而待解密的数据送入最高位寄存器,而当前输入数据和相应反馈开关闭合的寄存器中的数据相异或即得到解密后的数据输出,所述M序列解密电路的输出发送给所述异步采样电路中触发器FF11,FF12和FF13的D端和所述密钥校验状态机;
CPLD内子系统包含依次串接的密钥选择状态机、密钥存储器和M序列加密电路;其中,所述CPLD内密钥选择状态机和所述CPLD内密钥存储器在电路结构上分别与所述FPGA内密钥选择状态机和所述FPGA内密钥存储器相同;但是所述CPLD内密钥选择状态机的输入端和所述异步采样电路中FF41,FF42和FF43的输出端Q产生的状态跳转指示相连,所述CPLD内密钥存储器根据所述CPLD内密钥选择状态机的跳转,从表中找到跳转后的待验证密钥,发送给M序列加密电路;
M序列加密电路,是由N个带反馈开关的移位寄存器和异或器组成,阶数和反馈开关的闭合与否与所述M序列解密电路相同;在每个时钟周期,待加密数据和反馈开关闭合的寄存器中的数据相异或即得到加密后的数据输出,同时,所有寄存器原先的数据分别存入低一级的寄存器,加密后的数据存入最高位寄存器;M序列加密后的输出接到所述FPGA内M序列解密电路。
2.根据权利要求1所述的用异步电路提高SRAM工艺FPGA设计安全的系统,其特征在于:
在所述密钥校验状态机中设有一个在失步状态下开始计数的错误计数器,若错误次数达到设定的阈值,则密钥校验失败,停止FPGA电路的工作使能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100117044A CN100395732C (zh) | 2006-03-31 | 2006-03-31 | 用异步电路提高sram工艺fpga设计安全的系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100117044A CN100395732C (zh) | 2006-03-31 | 2006-03-31 | 用异步电路提高sram工艺fpga设计安全的系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1858722A CN1858722A (zh) | 2006-11-08 |
CN100395732C true CN100395732C (zh) | 2008-06-18 |
Family
ID=37297631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100117044A Expired - Fee Related CN100395732C (zh) | 2006-03-31 | 2006-03-31 | 用异步电路提高sram工艺fpga设计安全的系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100395732C (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8527797B2 (en) * | 2007-12-26 | 2013-09-03 | Qualcomm Incorporated | System and method of leakage control in an asynchronous system |
DE102009027086A1 (de) | 2009-06-23 | 2010-12-30 | Robert Bosch Gmbh | Vorrichtung und Verfahren zur Bildung einer Signatur |
DE102011078643A1 (de) | 2011-07-05 | 2013-01-10 | Robert Bosch Gmbh | Verfahren zum Erzeugen einer zufälligen Ausgangsbitfolge |
CN104408382A (zh) * | 2014-10-31 | 2015-03-11 | 成都朗锐芯科技发展有限公司 | 一种fpga加密的内部实现方法 |
CN109756332B (zh) * | 2019-03-04 | 2023-03-03 | 重庆捷思芯创电子科技有限公司 | 一种sram型fpga与外置密钥管理芯片的通讯系统 |
CN114846473B (zh) * | 2020-10-27 | 2024-08-27 | 京东方科技集团股份有限公司 | 数据处理电路、数据处理方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07297291A (ja) * | 1994-04-27 | 1995-11-10 | Hitachi Ltd | フィールドプログラマブルゲートアレイ |
US5883852A (en) * | 1998-02-23 | 1999-03-16 | Dynachip Corporation | Configurable SRAM for field programmable gate array |
-
2006
- 2006-03-31 CN CNB2006100117044A patent/CN100395732C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07297291A (ja) * | 1994-04-27 | 1995-11-10 | Hitachi Ltd | フィールドプログラマブルゲートアレイ |
US5883852A (en) * | 1998-02-23 | 1999-03-16 | Dynachip Corporation | Configurable SRAM for field programmable gate array |
Non-Patent Citations (4)
Title |
---|
用CPLD 实现安全可靠的FPGA 加密设计. 周强,陈利学,王博,蹇亚玲.微电子技术,第22期,总第213期. 2005 |
用CPLD 实现安全可靠的FPGA 加密设计. 周强,陈利学,王博,蹇亚玲.微电子技术,第22期,总第213期. 2005 * |
用CPLD实现SRAM 工艺FPGA 的安全应用. 卿辉.通信技术,第12期,总第144期. 2003 |
用CPLD实现SRAM 工艺FPGA 的安全应用. 卿辉.通信技术,第12期,总第144期. 2003 * |
Also Published As
Publication number | Publication date |
---|---|
CN1858722A (zh) | 2006-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109429222B (zh) | 一种对无线网络设备升级程序及通讯数据加密的方法 | |
US8746363B2 (en) | System for conducting remote biometric operations | |
CN1224211C (zh) | 安全通信系统、宿设备和相应的方法 | |
CN100395732C (zh) | 用异步电路提高sram工艺fpga设计安全的系统 | |
US4159468A (en) | Communications line authentication device | |
US7131004B1 (en) | Method and apparatus for encrypting data transmitted over a serial link | |
US8254570B2 (en) | Method and system for encryption of data | |
EP1406410A1 (en) | Method for an integrated protection system of data distributed processing in computer networks and system for carrying out said method | |
US5345507A (en) | Secure message authentication for binary additive stream cipher systems | |
US7596699B2 (en) | Battery authentication system | |
CN105530263A (zh) | 一种基于标签id的超轻量级rfid双向认证方法 | |
CN107911354B (zh) | 一种复合并行数据加密方法 | |
NO143601B (no) | Fremgangsmaate ved innstilling av kodetekstgeneratorer i chifreringsinnretninger | |
CN105119715B (zh) | 一种基于重加密算法的fpga虚拟io片间互连数字电路 | |
US20170264598A1 (en) | Method and apparatus for performing symmetrical stream encryption of data | |
WO2012140144A1 (en) | Method and system for improving the synchronization of stream ciphers | |
CN111224974A (zh) | 用于网络通信内容加密的方法、系统、电子设备及存储介质 | |
CN104838617A (zh) | 整合安全装置及整合安全装置中使用的信号处理方法 | |
CN101360101A (zh) | 远程抄表系统的数据传输方法 | |
CN105933108A (zh) | 一种对sm4算法实现破解的方法 | |
CN113312608A (zh) | 一种基于时间戳的电力计量终端身份认证方法及系统 | |
CN1316775C (zh) | 提供数据安全的方法和系统 | |
CN116073987A (zh) | 一种分组密码模式的可靠性设计方法、密码卡、服务器 | |
CN103427978A (zh) | 基于混沌加密系统的无线汉字传输装置 | |
Muzaffar et al. | Lightweight, single-clock-cycle, multilayer cipher for single-channel IoT communication: Design and implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080618 |