Puf电路及片上存储加密解密电路的制作方法_2

文档序号:9810968阅读:来源:国知局
Q输出的值不一致(即产生PUF值),则通过增加的第五与非门5和反相器7来关闭此PUF电路。第五与非门5的输出经过反相器7,返回给了线C。一旦RS线上的值从“00”跳变到“11”,Q和P的值就会不同,因而第五与非门5的输出必然是“I”,这样经过反相器7后到达线C,使线C为“O”,就会把同步RS触发器关掉。
[0041]只有两个关闭条件同时满足时(异或门6和反相器7的输出都为“O”),才可以真正的关闭此电路,所以此处还设置了或门8。其中,异或门6的输出端和反相器7的输出端连接或门8的输入端,或门8的输出端通过线C连接第三与非门3的个输入端和第四与非门4的输入端。
[0042]本发明实施例提供的PUF电路基于同步RS触发器,利用同步RS触发器从不定态跳变到保持态时,同步RS触发器的一个输出值为“O”还是为“I”是不定的特点。至于输出值偏向哪个值,则取决于工艺上的偏差。
[0043]本发明实施例还提供一种片上存储加密解密电路,包括PUF单元电路、检错电路和转换器,如图2和图3所示。
[0044]PUF单元电路输出的PUF值经过检错电路进行检错后输入转换器,转换器的输出端用于连接片上存储器。本实施例中,片上存储器可以采用带电可擦只读存储器(Electrically Erasable Read Only Memory,简称EEROM)或闪存器(flash)。
[0045]PUF单元电路中包括多个上述实施例提供的PUF电路作为一个优选方案,本实施例中PUF电路的数量为128个。PUF是利用同一种电路在制作工程中的工艺偏差产生出每个芯片独有序列的电路结构。即使电路结构完全相同,人们也无法控制PUF值是完全相同的,所以是无法克隆的。利用PUF的这种特性,可以把PUF值用作智能卡的ID,或者用作系统的根密钥用于生成密码算法电路。但是对交叉耦合的“与非”门结构的PUF电路,它对温度和电源电压是非常敏感的。温度或电源电压微小的变化会可能引起PUF值的改变。这种敏感性限制了PUF在实际系统中的应用,因为系统必须要有一个稳定的ID或密钥,用于多次认证和加密。所以应用PUF电路还需要检错电路的配合,确保每次使用的PUF值是稳定的。每个PUF单元电路中设置有独立的128个PUF电路,共产生128bits的PUF值。这128bits的PUF值,首先通过SM4检错电路的检错,如果检错通过,则存入寄存器中供本次交易使用。
[0046]本实施例中,检错电路包括SM4密码算法电路、比较器、系统非挥发性存储器(ROM)和选择器。比较器的输入端连接SM4密码算法电路和存储器,比较器的输出端连接选择器的控制端,选择器连接在PUF单元电路与转换器之间。
[0047]如图2所示,其中最主要的部分是国密分组SM4密码算法电路。SM4密码算法电路用于智能卡系统的数据加密和解密。当“EN”和“COMMAND”端都为“O”时电路处于加密工作模式,这两个值都为“I”时处于解密工作状态。
[0048]本实施例中利用分组密码算法的可逆运算特性检错PUF值。首先固定SM4的明文,128bits的PUF值用作密钥进行加密,把得到的密文存入系统非挥发性存储器中。在下一次使用智能卡系统时,卡片上电复位后的第一个工作就是验证PUF值,再利用此PUF值进行片上存储加密解密。
[0049]SM4密码算法是一个分组密码算法。该算法的分组长度为128bits,密钥度也是128bits。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序,所以称之为对称密钥算法。对称密钥算法适合用于PUF值检错,因为对于一个固定的密钥,明文和密文是可逆的,也就是说在相同的密钥下,一个明文只对应一个密文,此密文解密后对应加密前的明文。对于智能IC卡,SM4密码算法已经集成在系统中,所以检错PUF值时不会出现太多的额外电路开销。在一次交易中,系统只检错一次就可以。把检错通过的PUF值存储在寄存器中供使用。
[0050]如图3所示,首先,卡片上电复位后PUF单元电路会产生稳定的PUF值,共128bits。此128bits的PUF值用作SM4密钥,进行加密操作得到密文。此密文与存储在非挥发性存储器中的值进行比较,如果不一致,那么再一次读取PUF值验证,直到一致为止。
[0051 ]得到了准确的PUF值之后,要在转换器中把128bits的PUF值进行异或运算,转换成32bits的PUF值。需要加密存入存储器中的数据,数据位宽为32bits。因为PUF单元电路共产生128bits的PUF值,所以每4个PUF为一组,分成32组,每组经过异或运算得到Ibit值,共产生32bits值。异或运算后得到的32bits的PUF值与32bits数据进行异或运算,实现加密;解密电路也是32个异或运算电路,来恢复明文。
[0052]经过数据总线(DATA_BUS)传输的数据有读操作,也有写操作,片上存储加密就是使用PUF值在读操作和写操作时都进行异或运算,这样就可以解决片上存储加密和解密工作。所有在要写入片上存储器的数据都要经过片上存储加密解密电路进行加密处理(与PUF值进行异或运算)。所有从片上存储器读取的数据仍然要经过相同的片上存储加密解密电路处理,这样能保证回复出原始数据。
[0053]本发明实施例提供的片上存储加密解密电路中的PUF单元电路无需外部的激励,是一个反馈并自控的电路。电路规模小,功耗低,适用于资源有限的嵌入式系统,非常适合加密片上存储器数据,从而实现了低功耗、周期短的片上存储加密解密。
[0054]虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
【主权项】
1.一种PUF电路,其特征在于,包括交叉耦合的第一与非门和第二与非门组成的RS触发器,并且所述第一与非门的输出端作为PUF值。2.根据权利要求1所述的PUF电路,其特征在于,还包括作为所述RS触发器的输入的第三与非门和第四与非门,当所述RS触发器的输入从“00”跳变到“I I”时,产生PUF值; 其中,所述第三与非门的输出端连接所述第一与非门的一个输入端,所述第四与非门的输出端连接所述第二与非门的一个输入端。3.根据权利要求2所述的PUF电路,其特征在于,还包括一个异或门; 所述第三与非门的输出端和所述第四与非门的输出端连接所述异或门的输入端。4.根据权利要求3所述的PUF电路,其特征在于,还包括第五与非门和一个反相器; 所述第一与非门的输出端和所述第二与非门的输出端连接所述第五与非门的输入端,所述第五与非门的输出端连接所述反相器的输入端; 所述第五与非门的输出端还连接所述第三与非门的一个输入端和所述第四与非门的一个输入端。5.根据权利要求4所述的PUF电路,其特征在于,还包括一个或门; 所述异或门的输出端和所述反相器的输出端连接所述或门的输入端,所述或门的输出端连接所述第三与非门的另一个输入端和所述第四与非门的另一个输入端。6.—种片上存储加密解密电路,其特征在于,包括PUF单元电路、检错电路和转换器; 所述PUF单元电路输出的PUF值经过所述检错电路进行检错后,输入所述转换器,所述转换器的输出端用于连接片上存储器; 所述PUF单元电路中包括多个如权利要求1至5任一项所述的PUF电路。7.根据权利要求6所述的片上存储加密解密电路,其特征在于,所述检错电路包括SM4密码算法电路、比较器、存储器和选择器; 所述比较器的输入端连接所述SM4密码算法电路和所述存储器,所述比较器的输出端连接所述选择器的控制端; 所述选择器连接在所述PUF单元电路与所述转换器之间。8.根据权利要求6所述的片上存储加密解密电路,其特征在于,所述HJF单元电路中的PUF电路的数量为128个。
【专利摘要】本发明公开了一种PUF电路及片上存储加密解密电路,属于只能IC卡技术领域,实现了低功耗、周期短的片上存储加密解密。该PUF电路包括交叉耦合的第一与非门和第二与非门组成的RS触发器,并且所述第一与非门的输出端作为PUF值。
【IPC分类】G06F21/77, G06F21/72, G06F21/78
【公开号】CN105574442
【申请号】CN201510954728
【发明人】乌力吉, 白永红, 张向民, 王蓓蓓
【申请人】清华大学
【公开日】2016年5月11日
【申请日】2015年12月17日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1