CN109756332A - 一种sram型fpga与外置密钥管理芯片的通讯系统 - Google Patents
一种sram型fpga与外置密钥管理芯片的通讯系统 Download PDFInfo
- Publication number
- CN109756332A CN109756332A CN201910159294.5A CN201910159294A CN109756332A CN 109756332 A CN109756332 A CN 109756332A CN 201910159294 A CN201910159294 A CN 201910159294A CN 109756332 A CN109756332 A CN 109756332A
- Authority
- CN
- China
- Prior art keywords
- signal
- management chip
- key management
- key
- fpga
- 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.)
- Granted
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种SRAM型FPGA与外置密钥管理芯片的通讯系统,包括:密钥管理芯片、SRAM型FPGA,密钥管理芯片是具有内部可读唯一序列号ID‑M和非易失性存储器的MCU、DSP或CPLD,非易失性存储器内存储密钥;密钥管理芯片与FPGA通过以下4条信号线连接:时钟信号线、第零信号线、第一信号线和第二信号线;时钟信号是密钥管理芯片至FPGA的单向同步时钟,且持续输出;由于每个密钥管理芯片具有唯一的ID‑M,而每次密钥发送流程开始时,都要根据ID‑M确定此次的变频参数,4条信号线会相应的变频,但仍是同步关系,对外部非法监听进行了干扰,增加了获得SRAM型FPGA外置密钥的难度。
Description
技术领域
本发明涉及FPGA(Field-Programmable Gate Array,现场可编程门阵列)技术领域,更具体地说,涉及一种SRAM(Static Random-Access Memory,静态随机存取存储器)型FPGA与外置密钥管理芯片的通讯系统。
背景技术
对于SRAM型FPGA需要使用密钥进行逻辑运算的场景,由于SRAM型FPGA自身不具备掉电后可存储数据的功能,往往需要将密钥存储在其外部的非易失性存储器中,如FLASH、铁电等,这就使得前述FPGA必须通过总线或IO方式对外部的非易失存储器进行访问。前述非易失性存储器,仅是存储单元,不具备链路层信号变换和加密的能力,因此非法人员通过总线或IO的监听设备,再结合该存储单元公知的控制字段,通过信号采样对比分析,即可非法获得密钥。这在一定程度上,大大降低了系统运行和身份保护的安全性,即便被截获的密钥是经密文加密的,也会造成系统的防护强度大大降低。
因此,提出一种安全的密钥保护方案,是本领域技术人员亟待解决的技术问题。
发明内容
本发明的主要目的在于提出一种SRAM型FPGA与外置密钥管理芯片的通讯系统,旨在解决现有技术中,SRAM型FPGA的外置密钥容易被非法获取的问题。
为解决上述技术问题,本发明提供一种SRAM型FPGA与外置密钥管理芯片的通讯系统,包括:
密钥管理芯片、SRAM型FPGA,所述密钥管理芯片是具有内部可读唯一序列号ID-M和非易失性存储器的MCU、DSP或CPLD,所述非易失性存储器内存储密钥;所述密钥管理芯片与所述FPGA通过4条信号线连接,所述4条信号线包括:时钟信号线、第零信号线、第一信号线和第二信号线;所述时钟信号是所述密钥管理芯片至所述FPGA的单向同步时钟,且持续输出,同时也是为所述FPGA提供逻辑运算唯一的同步时钟;所述第零信号为双向信号;
当所述第零信号作为所述密钥管理芯片的输入时,所述第一信号和所述第二信号根据所述时钟信号的变化而改变脉宽,所述第一信号和所述第二信号为从所述FPGA输入到所述密钥管理芯片的数据信号,所述第零信号为所述FPGA对所述密钥管理芯片的总线输入请求信号;
在密钥发送流程中,所述第零信号作为所述密钥管理芯片的输出,所述时钟信号根据变频参数进行变频输出,所述变频参数根据所述ID-M确定,同时所述第零信号将同步于所述时钟信号进行脉宽的变化;此时所述第零信号为从所述密钥管理芯片输出到所述FPGA的数据信号,所述第零信号为包括所述密钥的信号;此时所述第一信号和所述第二信号为空闲状态。
可选地,所述变频参数根据所述ID-M确定包括:获取第一计算结果,所述第一计算结果至少包括将所述ID-M作为初始种子,按照预设算法进行前N-1次迭代计算后,得到的计算结果;在第N次时,将所述第一计算结果按照所述预设算法进行计算后,将得到的计算结果记为第二计算结果;根据所述第二计算结果确定所述变频参数。
可选地,所述第一计算结果还包括将所述ID-M作为初始种子,将所述ID-M与伪随机数做级联或插入运算之后,再按照预设算法进行前N-1次迭代计算后,得到的计算结果。
可选地,所述在第N次时,将所述第一计算结果按照所述预设算法进行计算后,将得到的计算结果记为第二计算结果;根据所述第二计算结果确定所述变频参数包括:
在第N次时,将所述第一计算结果进行模运算及线性移位运算,以及数据整理之后,得到所述第二计算结果,所述第二计算结果包括指令序列PraclkN{};所述PraclkN{}至少用于描述变频参数,所述变频参数包括相对于所述密钥管理芯片的基频M-CLK,其倍频信号正/负半周期的倍率数,以及所述时钟信号某频率的持续周期数。
可选地,当所述第零信号作为所述密钥管理芯片的输入时,所述PraclkN{}还用于描述所述第一信号和所述第二信号数据拼接的规则参数,所述FPGA根据所述第一信号和所述第二信号数据拼接的规则参数,对发送给所述密钥管理芯片的报文进行所述数据拼接的规则参数逆的拆分,再由所述第一信号和所述第二信号发送给所述密钥管理芯片;所述第一信号和所述第二信号数据拼接的规则参数为所述密钥管理芯片传送给所述FPGA的;
所述密钥管理芯片根据本地的所述第一信号和所述第二信号数据拼接的规则参数,对来自所述第一信号和所述第二信号的报文进行还原,然后对报文进行解密。
可选地,所述对报文进行解密包括:对报文采用非对称解密方式进行解密。
可选地,当所述第零信号作为所述密钥管理芯片的输入时,所述密钥管理芯片判断所述第一信号和所述第二信号是否合法;若是,则在后续的所述密钥发送流程中,将包括所述密钥的所述第零信号发送给所述FPGA;若否,则在后续的所述密钥发送流程中,将包括将随机码在报文里插入或替换密钥的部分字节的所述第零信号发送给所述FPGA。
可选地,所述密钥管理芯片判断所述第一信号和所述第二信号是否合法包括:所述密钥管理芯片参照本地基频M-CLK,以及所述PraclkN{}中对应描述当前的所述时钟信号相对于所述基频M-CLK脉宽及周期倍率的参数Pra_plus[],用所述基频M-CLK或其倍率辅助时钟TimeN,对输入的所述第一信号和所述第二信号的脉宽及周期进行采样,并判断是否在所述PraclkN{}规定的误差范围内;若是,则判断所述第一信号和所述第二信号合法;若否,则判断所述第一信号和所述第二信号不合法。
可选地,当所述密钥管理芯片判断有持续非法访问、试图获得所述密钥时,所述密钥管理芯片擦除所述密钥,且在后续的所述密钥发送流程中,将包括采用产生的随机码替换原先密钥位信息的所述第零信号发送给所述FPGA。
可选地,将M-CLK作为状态机的基频驱动时钟源;采用辅助时钟,并借助所述M-CLK对时间段进行时序标记,将此时间段划分成Task_cycle个时间片;将Task_cycleN作为任务执行、查询状态和任务调度的标记入口,所述Task_cycleN为所述时间段,第N个M-CLK计数周期;
被时序标记的时间段,重复循环,构成以M个M-CLK计数周期为最大计数的时间片循环序列K;所述N在0和所述M之间;K=i*M,所述i为自然数;通过所述K和所述Task_cycleN构成的二维数据,实现对所述状态机的监控、切换。
有益效果
本发明提供了一种SRAM型FPGA与外置密钥管理芯片的通讯系统,该通讯系统包括:密钥管理芯片、SRAM型FPGA,密钥管理芯片是具有内部可读唯一序列号ID-M和非易失性存储器的MCU、DSP或CPLD,非易失性存储器内存储密钥;密钥管理芯片与FPGA通过4条信号线连接,4条信号线包括:时钟信号线、第零信号线、第一信号线和第二信号线;时钟信号是密钥管理芯片至FPGA的单向同步时钟,且持续输出,同时也是为FPGA提供逻辑运算唯一的同步时钟;第零信号为双向信号;
当第零信号作为密钥管理芯片的输入时,第一信号和第二信号根据时钟信号的变化而改变脉宽,第一信号和第二信号为从FPGA输入到密钥管理芯片的数据信号,第零信号为FPGA对密钥管理芯片的总线输入请求信号;
在密钥发送流程中,第零信号作为密钥管理芯片的输出,时钟信号根据变频参数进行变频输出,变频参数根据ID-M确定,同时第零信号将同步于时钟信号进行脉宽的变化;此时第零信号为从密钥管理芯片输出到FPGA的数据信号,第零信号为包括密钥的信号;此时第一信号和第二信号为空闲状态;
通过上述方案,由于每个密钥管理芯片具有唯一的ID-M,而每次密钥发送流程开始时,都要根据ID-M确定此次的变频参数,4条信号线会相应的变频,但仍是同步关系,在保障密钥管理芯片和FPGA自身交互逻辑正常同步的情况下,对外部非法监听进行了干扰,增加了试图破解链路传输层报文,从而获得SRAM型FPGA外置密钥的技术难度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对与本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以如这些附图获得其他的附图。
图1为本发明实施例一提供的一种SRAM型FPGA与外置密钥管理芯片的通讯系统的示意图;
图2为本发明实施例二提供的另一种SRAM型FPGA与外置密钥管理芯片的通讯系统的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
为了解决现有技术中,SRAM型FPGA的外置密钥容易被非法获取的问题,本实施例将提供一种SRAM型FPGA与外置密钥管理芯片的通讯系统,参见图1,图1为本实施例提供的一种SRAM型FPGA与外置密钥管理芯片的通讯系统的示意图,该SRAM型FPGA与外置密钥管理芯片的通讯系统包括:
密钥管理芯片、SRAM型FPGA,密钥管理芯片是具有内部可读唯一序列号ID-M和非易失性存储器的MCU(Micro Controller Unit,微控制单元)、DSP(Digital SignalProcessing,数字信号处理)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件),非易失性存储器内存储密钥;密钥管理芯片与FPGA通过4条信号线连接,4条信号线包括:时钟信号(记为SIG-CLK)线、第零信号(记为SIG-D0)线、第一信号(记为SIG-D1)线和第二信号(记为SIG-D2)线;时钟信号是密钥管理芯片至FPGA的单向同步时钟,且持续输出,也即时钟信号持续单向输出,同时时钟信号也是为FPGA提供逻辑运算唯一的同步时钟;时钟信号是第零信号、第一信号和第二信号的载波时钟;第零信号为双向信号;
当第零信号作为密钥管理芯片的输入时,也即第零信号从FPGA传输到密钥管理芯片,第一信号和第二信号根据时钟信号的变化而改变脉宽,第一信号和第二信号为从FPGA输入到密钥管理芯片的数据信号,第零信号为FPGA对密钥管理芯片的总线输入请求信号;
在密钥发送流程中,第零信号作为密钥管理芯片的输出,也即第零信号从密钥管理芯片传输到FPGA,时钟信号根据变频参数进行变频输出,变频参数根据ID-M确定,同时第零信号将同步于时钟信号进行脉宽的变化;此时第零信号为从密钥管理芯片输出到FPGA的数据信号,第零信号为包括密钥的信号,也即第零信号携带密钥;此时第一信号和第二信号为空闲状态。
在本实施例中,时钟信号进行变频输出是指时钟信号的时钟频率及占空比可进行动态变化,且只有当第零信号与时钟信号同方向作为密钥管理芯片的输出时,时钟信号才进行变换输出。
通过本实施例的实施,由于每个密钥管理芯片具有唯一的ID-M,而每次密钥发送流程开始时,都要根据ID-M确定此次的变频参数,4条信号线会相应的变频,但仍是同步关系,在保障密钥管理芯片和FPGA自身交互逻辑正常同步的情况下,对外部非法监听进行了干扰,增加了试图破解链路传输层报文,从而获得SRAM型FPGA外置密钥的技术难度。
可选地,在本实施例中,变频参数根据ID-M确定包括:获取第一计算结果,第一计算结果至少包括将ID-M作为初始种子,按照预设算法进行前N-1次迭代计算后,得到的计算结果;在第N次时,将第一计算结果按照预设算法进行计算后,将得到的计算结果记为第二计算结果;根据第二计算结果确定变频参数。第N次所使用的变频参数,是根据第N-1次时的计算结果进行确定的。通过此种方式可以增加系统的数据安全强度。
可选地,在本实施例中,第一计算结果还包括将ID-M作为初始种子,将ID-M与伪随机数做级联或插入运算之后,再按照预设算法进行前N-1次迭代计算后,得到的计算结果,以进一步增加系统的数据安全强度。
可选地,在本实施例中,在第N次时,将第一计算结果按照预设算法进行计算后,将得到的计算结果记为第二计算结果;根据第二计算结果确定变频参数包括:
在第N次时,将第一计算结果进行模运算及线性移位运算,以及数据整理之后,得到第二计算结果,第二计算结果包括指令序列PraclkN{};PraclkN{}至少用于描述变频参数,变频参数包括相对于密钥管理芯片的基频M-CLK,其倍频信号正/负半周期的倍率数,以及时钟信号某频率(占空比)的持续周期数。时钟信号某频率的持续周期数,也即在多少完整的密钥传递周期内,时钟信号是使用该频率和占空比的。其中针对PraclkN{}有关定时/计数的参数在系统内进行配置,当这些配置参数就绪后,再由密钥管理芯片根据状态机,启动链路同步时钟的调频(变占空比)操作;同时密钥管理芯片控制第零信号同步时钟信号进行输出。
可选地,在本实施例中,当第零信号作为密钥管理芯片的输入时,PraclkN{}还用于描述第一信号和第二信号数据拼接的规则参数,FPGA根据第一信号和第二信号数据拼接的规则参数,对发送给密钥管理芯片的报文进行数据拼接的规则参数逆的拆分,再由第一信号和第二信号发送给密钥管理芯片;第一信号和第二信号数据拼接的规则参数为密钥管理芯片传送给FPGA的;
密钥管理芯片根据本地的第一信号和第二信号数据拼接的规则参数,对来自第一信号和第二信号的报文进行还原,然后对报文进行解密和解析。通过此种方式使得第一信号和第二信号的传输又附加了干扰因子,可以加强数据的安全性。
PraclkN{}可以用于描述变频参数,变频参数包括相对于密钥管理芯片的基频M-CLK,其倍频信号正/负半周期的倍率数,以及时钟信号某频率(占空比)的持续周期数、及第零信号作为密钥管理芯片的输出信号时,加密报文帧与帧之间插入的空数据比特数,以及第一信号和第二信号数据拼接的规则参数等。
可选地,在本实施例中,对报文进行解密包括:对报文采用非对称解密方式进行解密。密钥管理芯片与FPGA之间报文的通讯,可采用非对称加密和解密的方法,以加强数据的安全性。
可选地,在本实施例中,当第零信号作为密钥管理芯片的输入时,密钥管理芯片判断第一信号和第二信号是否合法;若是,则在后续的密钥发送流程中,将包括密钥的第零信号发送给FPGA;若否,则在后续的密钥发送流程中,将包括将随机码在报文里插入或替换密钥的部分字节的第零信号发送给FPGA,也即在第一信号和第二信号是非法信号时,将随机码在报文里插入或替换密钥的部分字节,对外部非法监听进行了干扰,保证了数据的安全性。
可选地,在本实施例中,密钥管理芯片判断第一信号和第二信号是否合法包括:密钥管理芯片参照本地基频M-CLK,以及PraclkN{}中对应描述当前的时钟信号相对于基频M-CLK脉宽及周期倍率的参数Pra_plus[],用基频M-CLK或其倍率辅助时钟TimeN,对输入的第一信号和第二信号的脉宽及周期进行采样,并判断是否在PraclkN{}规定的误差范围内;若是,则判断第一信号和第二信号合法;若否,则判断第一信号和第二信号不合法。
可选地,在本实施例中,当密钥管理芯片判断有持续非法访问、试图获得密钥时,密钥管理芯片擦除密钥,且在后续的密钥发送流程中,将包括采用产生的随机码替换原先密钥位信息的第零信号发送给FPGA,也即采用产生的随机码替换原先密钥位信息,对外部非法监听进行了干扰,保证了数据的安全性。
可选地,在本实施例中,将M-CLK作为状态机的基频驱动时钟源;采用辅助时钟,并借助M-CLK对时间段进行时序标记(即从Task_cycle=0开始,对应连续的每个M-CLK计数周期递增时,Task_cycle=Task_cycle+1),将此时间段划分成Task_cycle个时间片;将Task_cycleN作为任务执行、查询状态和任务调度的标记入口,Task_cycleN为时间段,第N个M-CLK计数周期;
被时序标记的时间段,重复循环,构成以M个M-CLK计数周期为最大计数的时间片循环序列K;N在0和M之间;K=i*M,i为自然数;通过K和Task_cycleN构成的二维数据,实现对状态机的监控、切换。
通过上述方案,由于每个密钥管理芯片具有唯一的ID-M,而每次密钥发送流程开始时,都要根据ID-M确定此次的变频参数,4条信号线会相应的变频,但仍是同步关系,在保障密钥管理芯片和FPGA自身交互逻辑正常同步的情况下,对外部非法监听进行了干扰,增加了试图破解链路传输层报文,从而获得SRAM型FPGA外置密钥的技术难度,实现了对SRAM型FPGA外置密钥的读取与传输信号防监听/模拟的保护。
实施例二
本实施例基于实施例一的方案,进行进一步说明。
本实施例将提供一种SRAM型FPGA与外置密钥管理芯片的通讯系统,参见图2,图2为本实施例提供的一种SRAM型FPGA与外置密钥管理芯片的通讯系统的示意图,该SRAM型FPGA与外置密钥管理芯片的通讯系统包括:
密钥管理芯片①和SRAM型FPGA②,其中,密钥管理芯片包括Main()主线程有限状态机①-1、加密/解密管理及数据解析单元①-2、总线控制单元①-3、总线监听单元①-4、总线时序同步/变换-指令单元①-5、非易失数据管理单元(加密密钥)①-6、唯一ID读取单元(密钥管理芯片ID)①-7、基频/载波/辅助时钟管理单元①-8、伪随机码生成单元①-9和异常计数FIFO单元①-10;SRAM型FPGA②包括密钥IP核②-1和应用模块②-2。
密钥管理芯片①与FPGA②通过4条信号线连接,4条信号线包括:SIG-CLK线、SIG-D0线、SIG-D1线和SIG-D2线;
SIG-CLK为密钥管理芯片①至FPGA②的单向同步时钟,即SIG-D[0:2]的载波时钟,也是密钥IP核②-1的唯一逻辑时序时钟;SIG-CLK时钟频率及占空比可进行动态变化,且只有当SIG-D0信号与之同方向作为密钥管理芯片①的输出时,才能根据基频/载波/辅助时钟管理单元①-8生成的DIV-f(频率)参数,在总线控制单元①-3的控制下进行变换输出;
SIG-D0为双向信号,当作为密钥管理芯片①的输出时,是密钥管理芯片①至FPGA②的数据信号,与SIG-CLK同步;
当作为密钥管理芯片①的输入时,是FPGA②对密钥管理芯片①的总线输入请求信号,此时密钥管理芯片①将接收来自SIG-D1和SIG-D2的输入信号,直到FPGA②释放SIG-D0信号的控制权;
SIG-D1和SIG-D2是FPGA②至密钥管理芯片①的数据信号。
以下将对工作原理进行介绍:
密钥管理芯片①具有内部唯一序列号ID-M;ID-M在总线时序同步/变换-指令单元①-5内进行模运算及线性移位运算,以及数据整理,得到用于调整SIG-CLK时钟频率及占空比的指令序列PraclkN{};PraclkN{}用于描述相对于系统密钥管理芯片①的基频M-CLK,其倍频信号SIG-CLK正/负半周期的倍率数,以及SIG-CLK某频率(占空比)的持续周期数(即在多少完整的密钥传递周期内,SIG-CLK是使用该频率和占空比的)、及SIG-D0作为密钥管理芯片①的输出信号时,加密报文帧与帧之间插入的空数据比特数,以及SIG-D1与SIG-D2数据拼接的规则参数等;其中PraclkN{}有关定时/计数的参数,在基频/载波/辅助时钟管理单元①-8内将被转变成,密钥管理芯片①的时钟管理单元能够识别的定时、计数器配置参数,当这些配置参数就绪后,再由Main()主线程有限状态机①-1根据状态机,使能总线控制单元①-3启动链路同步时钟的调频(变占空比)操作;同时总线控制单元①-3控制SIG-D0同步SIG-CLK进行输出;只有当SIG-D0作为密钥管理芯片①的输出时,总线控制单元①-3才会对SIG-CLK进行调频(变占空比)的控制;
Main()主线程有限状态机①-1是密钥管理芯片①的各任务调度,功能协调的控制枢纽;通过M-CLK,作为状态机的基频驱动时钟源;采用基频/载波/辅助时钟管理单元①-8的辅助时钟,借助M-CLK对某一时间段,进行时序标记的方法(即从Task_cycle=0开始,对应连续的每个M-CLK计数周期递增时,Task_cycle=Task_cycle+1),将该时间段划分成Task_cycle个时间片;Task_cycleN(即前述时间段,第N个M-CLK计数周期)作为任务执行、查询状态,和任务调度的标记入口;前述被时序标记的时间段,重复循环,构成以M个M-CLK计数周期为最大计数的时间片循环序列K;N在0和M之间;K=i*M,(i为自然数);Main()主线程有限状态机①-1通过K和Task_cycleN构成的二维数据,可以实现对状态机的监控、切换;
密钥管理芯片①和FPGA②之间报文的通讯,优选的可采用非对称加密和解密的方法;
密钥管理芯片①和FPGA②之间的通讯,通过SIG-D0信号进行方向确认;
密钥管理芯片①和FPGA②之间进行不定时的加密密钥传送;密钥管理芯片①是信源,FPGA②是信宿;每次密钥传送周期开始时(每个密钥传送周期开始前,总线时序同步/变换-指令单元①-5会对PraclkN{}进行更新,得到PraclkM{},然后令PraclkN{}=PraclkM{}),对应的SIG-CLK根据前述方法变换频率和占空比;SIG-D0作为密钥管理芯片①的输出时与之保持同步;
PraclkN{}中SIG-D1与SIG-D2数据拼接的规则参数Rule_spin[]将被传送给密钥IP核②-1,密钥IP核②-1根据该参数,对发送给密钥管理芯片①的报文进行Rule_spin[]逆的拆分,再由SIG-D1与SIG-D2进行发送;即总线监听单元①-4也将根据本地PraclkN{}中SIG-D1与SIG-D2数据拼接的规则参数Rule_spin[],对来自SIG-D1与SIG-D2的报文进行还原;然后通知Main()主线程有限状态机①-1调用加密/解密管理及数据解析单元①-2对报文进行解密和解析;
总线监听单元①-4同时参照本地基频M-CLK,以及PraclkN{}中对应描述当前SIG-CLK相对于基频M-CLK脉宽及周期倍率的参数Pra_plus[],用M-CLK或其倍率辅助时钟TimeN,对输入信号SIG-D1与SIG-D2的脉宽及周期进行采样,并判断是否在PraclkN{}规定的误差范围内;若不在,则说明该信号不是由FPGA②产生的,是“非法”的模拟信号,若在误差内则说明是密钥IP核②-1经SIG-CLK同步生成的SIG-D1与SIG-D2,是“合法”信号;
伪随机码生成单元①-9是为了增加密钥管理芯片①和FPGA②系统的数据安全强度设计的,比如ID-M在使用前,可以先与伪随机数做级联或插入运算等;
总线监听单元①-4当判断SIG-D1与SIG-D2,信号为非法时,将会告知Main()主线程有限状态机①-1;Main()主线程有限状态机①-1对异常计数FIFO单元①-10进行错误码写入操作,并调用伪随机码生成单元①-9的伪随机数,同时在下一次密钥发送时,将随机码在报文里插入或替换密钥的部分字节;
异常计数FIFO单元①-10中的FIFO被写满错误码后,Main()主线程有限状态机①-1将读空FIFO,并根据错误码分析情况,决定是否要命令非易失数据管理单元(加密密钥)①-6擦除加密密钥;若擦除密钥,则在之后的密钥发送流程中,用伪随机码生成单元①-9产生的伪随机码替换原先密钥位信息,从而进行信息干扰;若Main()主线程有限状态机①-1分析出,系统安全仍在可控范围内,则继续后续密钥传送流程;
应用模块②-2通过②-3对密钥IP核②-1,进行命令操作,请求调用密钥;
应用模块②-2由②-4从密钥IP核②-1中,读取出密钥或错误信息。
在本实施例中,密钥管理芯片①与SRAM型FPGA②通过前述4条线连接;密钥管理芯片①,是具有内部可读唯一序列号ID-M和非易失性存储器的MCU、DSP或CPLD;
SIG-CLK持续单向输出,为密钥IP核②-1提供逻辑运算唯一的同步时钟,但可根据ID-M的数据变化,进行变频(变占空比);同时SIG-D0作为密钥管理芯片①的输出时,将同步于SIG-CLK进行脉宽的变化;
SIG-D0是双向数据信号,作为密钥管理芯片①的输入时,SIG-D1与SIG-D2有比特流输入密钥管理芯片①;而SIG-D0作为密钥管理芯片①的输出时,SIG-D1与SIG-D2为空闲状态;
SIG-D1与SIG-D2可根据SIG-CLK的变化而改变脉宽;密钥IP核②-1的报文可根据由ID-M衍生计算出的规则参数,经SIG-D1与SIG-D2,进行数据拆分传输,并由Main()主线程有限状态机①-1对其拼接还原;
密钥管理芯片①可以根据脉宽,判断SIG-D1与SIG-D2的“合法性”;若判断非法,则在下一次密钥发送时,将随机码在报文里插入或替换密钥的部分字节;
当密钥管理芯片①判断有持续非法访问,试图获得密钥时,非易失数据管理单元(加密密钥)①-6可擦除加密密钥,且在后续的发送密钥流程里,密钥管理芯片①用伪随机码生成单元①-9产生的随机码替换原先密钥位信息,从而进行信息干扰。
由于每个密钥管理芯片①具有唯一的ID-M,而每次密钥发送流程开始时,都要进行数据变换,PraclkN{}中的数据就会进行更新;因此前述4条信号线会相应的变频,但仍是同步关系,在保障密钥管理芯片①、FPGA②自身交互逻辑正常同步的情况下,对外部“监听”进行了干扰;同理,PraclkN{}中SIG-D1与SIG-D2数据拼接的规则参数Rule_spin[],传递给密钥IP核②-1,这就使得SIG-D1、SIG-D2的传输又附加了干扰因子;
密钥管理芯片①可以识别出,通过判断SIG-D1与SIG-D2是否与SIG-CLK同步,从而判断是否是非法的“枚举”询问;进而采取,删除加密密钥、在报文里插入扰码的措施;
通过这些措施,大大增加了试图破解链路传输层报文,从而获得SRAM型FPGA外置密钥的技术难度。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种SRAM型FPGA与外置密钥管理芯片的通讯系统,其特征在于,包括:密钥管理芯片、SRAM型FPGA,所述密钥管理芯片是具有内部可读唯一序列号ID-M和非易失性存储器的MCU、DSP或CPLD,所述非易失性存储器内存储密钥;所述密钥管理芯片与所述FPGA通过4条信号线连接,所述4条信号线包括:时钟信号线、第零信号线、第一信号线和第二信号线;所述时钟信号是所述密钥管理芯片至所述FPGA的单向同步时钟,且持续输出,同时也是为所述FPGA提供逻辑运算唯一的同步时钟;所述第零信号为双向信号;
当所述第零信号作为所述密钥管理芯片的输入时,所述第一信号和所述第二信号根据所述时钟信号的变化而改变脉宽,所述第一信号和所述第二信号为从所述FPGA输入到所述密钥管理芯片的数据信号,所述第零信号为所述FPGA对所述密钥管理芯片的总线输入请求信号;
在密钥发送流程中,所述第零信号作为所述密钥管理芯片的输出,所述时钟信号根据变频参数进行变频输出,所述变频参数根据所述ID-M确定,同时所述第零信号将同步于所述时钟信号进行脉宽的变化;此时所述第零信号为从所述密钥管理芯片输出到所述FPGA的数据信号,所述第零信号为包括所述密钥的信号;此时所述第一信号和所述第二信号为空闲状态。
2.如权利要求1所述的通讯系统,其特征在于,所述变频参数根据所述ID-M确定包括:获取第一计算结果,所述第一计算结果至少包括将所述ID-M作为初始种子,按照预设算法进行前N-1次迭代计算后,得到的计算结果;在第N次时,将所述第一计算结果按照所述预设算法进行计算后,将得到的计算结果记为第二计算结果;根据所述第二计算结果确定所述变频参数。
3.如权利要求2所述的通讯系统,其特征在于,所述第一计算结果还包括将所述ID-M作为初始种子,将所述ID-M与伪随机数做级联或插入运算之后,再按照预设算法进行前N-1次迭代计算后,得到的计算结果。
4.如权利要求2所述的通讯系统,其特征在于,所述在第N次时,将所述第一计算结果按照所述预设算法进行计算后,将得到的计算结果记为第二计算结果;根据所述第二计算结果确定所述变频参数包括:
在第N次时,将所述第一计算结果进行模运算及线性移位运算,以及数据整理之后,得到所述第二计算结果,所述第二计算结果包括指令序列PraclkN{};所述PraclkN{}至少用于描述变频参数,所述变频参数包括相对于所述密钥管理芯片的基频M-CLK,其倍频信号正/负半周期的倍率数,以及所述时钟信号某频率的持续周期数。
5.如权利要求4所述的通讯系统,其特征在于,当所述第零信号作为所述密钥管理芯片的输入时,所述PraclkN{}还用于描述所述第一信号和所述第二信号数据拼接的规则参数,所述FPGA根据所述第一信号和所述第二信号数据拼接的规则参数,对发送给所述密钥管理芯片的报文进行所述数据拼接的规则参数逆的拆分,再由所述第一信号和所述第二信号发送给所述密钥管理芯片;所述第一信号和所述第二信号数据拼接的规则参数为所述密钥管理芯片传送给所述FPGA的;
所述密钥管理芯片根据本地的所述第一信号和所述第二信号数据拼接的规则参数,对来自所述第一信号和所述第二信号的报文进行还原,然后对报文进行解密。
6.如权利要求5所述的通讯系统,其特征在于,所述对报文进行解密包括:对报文采用非对称解密方式进行解密。
7.如权利要求4所述的通讯系统,其特征在于,当所述第零信号作为所述密钥管理芯片的输入时,所述密钥管理芯片判断所述第一信号和所述第二信号是否合法;若是,则在后续的所述密钥发送流程中,将包括所述密钥的所述第零信号发送给所述FPGA;若否,则在后续的所述密钥发送流程中,将包括将随机码在报文里插入或替换密钥的部分字节的所述第零信号发送给所述FPGA。
8.如权利要求7所述的通讯系统,其特征在于,所述密钥管理芯片判断所述第一信号和所述第二信号是否合法包括:所述密钥管理芯片参照本地基频M-CLK,以及所述PraclkN{}中对应描述当前的所述时钟信号相对于所述基频M-CLK脉宽及周期倍率的参数Pra_plus[],用所述基频M-CLK或其倍率辅助时钟TimeN,对输入的所述第一信号和所述第二信号的脉宽及周期进行采样,并判断是否在所述PraclkN{}规定的误差范围内;若是,则判断所述第一信号和所述第二信号合法;若否,则判断所述第一信号和所述第二信号不合法。
9.如权利要求1至8任一项所述的通讯系统,其特征在于,当所述密钥管理芯片判断有持续非法访问、试图获得所述密钥时,所述密钥管理芯片擦除所述密钥,且在后续的所述密钥发送流程中,将包括采用产生的随机码替换原先密钥位信息的所述第零信号发送给所述FPGA。
10.如权利要求1至8任一项所述的通讯系统,其特征在于,将M-CLK作为状态机的基频驱动时钟源;采用辅助时钟,并借助所述M-CLK对时间段进行时序标记,将此时间段划分成Task_cycle个时间片;将Task_cycleN作为任务执行、查询状态和任务调度的标记入口,所述Task_cycleN为所述时间段,第N个M-CLK计数周期;
被时序标记的时间段,重复循环,构成以M个M-CLK计数周期为最大计数的时间片循环序列K;所述N在0和所述M之间;K=i*M,所述i为自然数;通过所述K和所述Task_cycleN构成的二维数据,实现对所述状态机的监控、切换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910159294.5A CN109756332B (zh) | 2019-03-04 | 2019-03-04 | 一种sram型fpga与外置密钥管理芯片的通讯系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910159294.5A CN109756332B (zh) | 2019-03-04 | 2019-03-04 | 一种sram型fpga与外置密钥管理芯片的通讯系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109756332A true CN109756332A (zh) | 2019-05-14 |
CN109756332B CN109756332B (zh) | 2023-03-03 |
Family
ID=66406883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910159294.5A Active CN109756332B (zh) | 2019-03-04 | 2019-03-04 | 一种sram型fpga与外置密钥管理芯片的通讯系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109756332B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112350897A (zh) * | 2020-11-06 | 2021-02-09 | 中国人民解放军国防科技大学 | 基于动态连接端到端可靠传输协议的网络测试装置 |
CN114083913A (zh) * | 2021-11-02 | 2022-02-25 | 珠海艾派克微电子有限公司 | 一种芯片、耗材盒及数据传输方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006027309A1 (en) * | 2004-09-10 | 2006-03-16 | International Business Machines Corporation | A circuit chip for cryptographic processing having a secure interface to an external memory |
CN1858722A (zh) * | 2006-03-31 | 2006-11-08 | 清华大学 | 用异步电路提高sram工艺fpga设计安全的系统 |
CN101014923A (zh) * | 2004-09-10 | 2007-08-08 | 国际商业机器公司 | 具有编程片内硬件的安全机制的用于加密和解密的集成电路芯片 |
US20070288765A1 (en) * | 1999-12-22 | 2007-12-13 | Kean Thomas A | Method and Apparatus for Secure Configuration of a Field Programmable Gate Array |
CN101361079A (zh) * | 2006-01-13 | 2009-02-04 | 国际商业机器公司 | 协调密码安全处理单元对存储器的访问 |
CN104541474A (zh) * | 2012-08-10 | 2015-04-22 | 密码研究公司 | 集成电路中的安全特征和密钥管理 |
-
2019
- 2019-03-04 CN CN201910159294.5A patent/CN109756332B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070288765A1 (en) * | 1999-12-22 | 2007-12-13 | Kean Thomas A | Method and Apparatus for Secure Configuration of a Field Programmable Gate Array |
WO2006027309A1 (en) * | 2004-09-10 | 2006-03-16 | International Business Machines Corporation | A circuit chip for cryptographic processing having a secure interface to an external memory |
CN101014923A (zh) * | 2004-09-10 | 2007-08-08 | 国际商业机器公司 | 具有编程片内硬件的安全机制的用于加密和解密的集成电路芯片 |
CN101361079A (zh) * | 2006-01-13 | 2009-02-04 | 国际商业机器公司 | 协调密码安全处理单元对存储器的访问 |
CN1858722A (zh) * | 2006-03-31 | 2006-11-08 | 清华大学 | 用异步电路提高sram工艺fpga设计安全的系统 |
CN104541474A (zh) * | 2012-08-10 | 2015-04-22 | 密码研究公司 | 集成电路中的安全特征和密钥管理 |
Non-Patent Citations (2)
Title |
---|
WEI HE等: "SEU readback interval strategy of SRAM-based FPGA for space application", 《2011 IEEE INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND AUTOMATION ENGINEERING》 * |
刘晓明等: "用单片机实现SRAM工艺FPGA的加密应用", 《单片机与嵌入式系统应用》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112350897A (zh) * | 2020-11-06 | 2021-02-09 | 中国人民解放军国防科技大学 | 基于动态连接端到端可靠传输协议的网络测试装置 |
CN112350897B (zh) * | 2020-11-06 | 2022-08-12 | 中国人民解放军国防科技大学 | 基于动态连接端到端可靠传输协议的网络测试装置 |
CN114083913A (zh) * | 2021-11-02 | 2022-02-25 | 珠海艾派克微电子有限公司 | 一种芯片、耗材盒及数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109756332B (zh) | 2023-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1971070B1 (en) | A system and method for generating the analog-digital mixed chaotic signal, a encryption communication method thereof | |
Agoyan et al. | When clocks fail: On critical paths and clock faults | |
CN107480559B (zh) | 一种区块链离链数据的安全存储系统及方法 | |
CN107392040A (zh) | 一种共识验证的方法及装置 | |
CN109756332A (zh) | 一种sram型fpga与外置密钥管理芯片的通讯系统 | |
US20110285420A1 (en) | Logic system with resistance to side-channel attack by exhibiting a closed clock-data eye diagram | |
CN101645770A (zh) | 一种安全即时通信系统 | |
CN103237021A (zh) | 一种基于fpga芯片的pci-e的高速密码卡 | |
Purkayastha et al. | A novel pseudo random number generator based cryptographic architecture using quantum-dot cellular automata | |
EP2933944A1 (en) | Integrated security device and signal processing method used by integrated security device | |
ES2724117T3 (es) | Procedimiento de protección de circuitos de criptografía programable y circuito protegido por dicho procedimiento | |
CN109584456A (zh) | 一种太阳能供电设备、系统及分期付款控制方法 | |
CN109495263A (zh) | 时钟同步方法、系统、装置、智能终端、车辆终端及介质 | |
CN109861818A (zh) | 加密及解密电路、加密及解密设备以及加密及解密方法 | |
CN104639328B (zh) | 一种goose报文认证方法及系统 | |
Priyanka et al. | FPGA implementation of image encryption and decryption using AES 128-bit core | |
Dakate et al. | Performance comparison of symmetric data encryption techniques | |
CN117955096A (zh) | 基于数据安全技术的电网自动化调度方法 | |
CN104980267B (zh) | 量子保密通信系统控制器 | |
CN103346878A (zh) | 一种基于fpga高速串行io的保密通信方法 | |
Fangfang et al. | Substation communication security research based on hybrid encryption of DES and RSA | |
Kumar et al. | Smart Grid Security by Embedding S-Box Advanced Encryption Standard. | |
US9203415B2 (en) | Modulated clock synchronizer | |
CN1996830B (zh) | 具有高级加密标准核的集成电路及验证该标准核的外包 | |
CN106484364B (zh) | 基于过渡效应环形振荡器的随机数发生器 |
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 |