一种sram芯片的puf特性测试方法及装置的制造方法

文档序号:8488645阅读:608来源:国知局
一种sram芯片的puf特性测试方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机硬件测试技术,尤其涉及一种SRAM芯片的PUF (PhysicallyUnclonable Funct1n,物理不可克隆函数)特性测试方法及装置。
【背景技术】
[0002]随着数字设备的迅速增长和应用,越来越多的信息被数字化存储和传输,而这些数字信号在存储和传输过程中极易被非授权的第三方侦测和获取,导致信息数据的泄露。为了防止机密信息被窃取,在数据传输和存储的过程中普遍采用了加密技术,目前主流的数字信息加密技术有基于私有密钥的AES、DES算法,以及基于公有密钥的RSA、ECC、DSA算法等。这些算法本身都是基于一种数字密钥体系,而用于加密的密钥本身是可以被复制和窃取的。为了提升加密系统的密钥安全性,有研宄者提出了利用物理不可克隆函数(PUFs)来产生密钥。物理不可克隆函数是指一种物理实体,该实体可以依靠制造过程中的差异性来产生其特有的输出(通常为二进制数),这些输出是很难被克隆的。PUFs的各个组成部分都存在着局部参数差异,通过PUFs “算法”,这些局部差异会被组合、比较或者直接输出,从而形成该电路特有的二进制输出。由于各组成部分之间的局部差异是不能被外部控制的,因此,PUFs是不可复制的。在PUFs的典型应用中,其输出值-响应(response)决定于输入信号-激励(challenge)对其内部的局部差异的选择,因此PUFs是一个函数。目前主流的PUFs实现方式包括:仲裁器(Arbiter) PUFs是基于两条电路路径的延迟差异设计而成的;环形振荡器(Ring Oscillators, R0) PUFs则是由于制造差异而产生的频率不同,经频率对比后产生不同输出;SRAM PUFs是SRAM单元内部MOS管的不对称性而造成的输出随机性。除此之外还存在很多很优秀的PUFs电路设计,例如,锁存PUFs、触发器PUFs、毛刺PUFs ο
[0003]其中的SRAM PUFs正是利用SRAM存储器中,6个MOS管构成的存储单元节点的物理不对称性来实现物理不可克隆函数的。由于SRAM芯片生产厂商采用的工艺和材料不同,导致不同品牌的SRAM芯片具有不同的片内平均汉明距离,而片内平均汉明距离过大将导致该芯片不适用于对加密性能要求较高的PUFs应用场合。这时就需要有一个有效的测试平台在不同厂商,甚至是同一厂商不同批次的存储芯片进行PUF特性的测试,以便选择出适合相应PUF应用场合的SRAM芯片。

【发明内容】

[0004]本发明所要解决的技术问题在于克服现有技术不足,提供一种SRAM芯片的PUF特性测试方法及装置,可对SRAM芯片的PUF特性进行快速准确的测试,且测试装置全硬件实现,测试速度和准确率更高,成本更低。
[0005]本发明具体采用以下技术方案解决上述技术问题:
一种SRAM芯片的PUF特性测试方法,包括以下步骤:
步骤1、向待测SRAM芯片中的每个存储单元写入测试数据; 步骤2、按照预设次数反复读取待测SRAM芯片中的每个存储单元的输出数据,并统计各存储单元输出数据在整个反复读取过程中的跳变信息;
步骤3、根据所述跳变信息分析待测SRAM芯片的PUF特性。
[0006]优选地,所述跳变信息使用直方图的表现形式:直方图的横轴、纵轴分别为跳变次数、存储单元数;和/或使用色温图的表现形式:用色块标识每个存储单元的跳变次数,存储单元跳变次数越多,相应色块的色温越高。
[0007]优选地,在相邻两次读取过程之间存在一段预设的等待时间。
[0008]进一步地,步骤3中所述跳变信息为在不同环境温度下重复步骤2所得到的不同环境温度下的跳变信息。
[0009]一种SRAM芯片的PUF特性测试装置,用于实现上述测试方法,包括:
初始化模块,用于上电后对装置中各模块进行初始化;
硬件定时模块,用于控制反复读取待测SRAM芯片中的每个存储单元的输出数据的次数以及相邻两次读取过程之间等待时间;
静态随机存储器控制模块,用于向待测SRAM芯片发送符合要求的时序信号,控制SRAM芯片的读写操作;
芯片测试接口,其兼容不同封装类型的SRAM芯片,且具有电源转换功能;
数据读取和校验模块,用于验证SDRAM待测芯片管脚接触是否良好以及是否能够正常工作,并在验证通过后读取待测SRAM芯片中各存储单元的输出数据;
测试结果收集模块,用于将读取到的各存储单元的输出数据转换成二进制编码,并保存到数据存储器中;
数据存储器,用于保存测试结果收集模块输出的二进制编码的待测SRAM芯片中各存储单元的输出数据;
节点特性分析模块,用于将数据存储器中保存的数据作震荡特性分析。
[0010]优选地,所述硬件定时模块包括:
时基发生器,用于产生驱动定时计数器工作的毫秒级脉冲时基信号;
循环计数器,用于在反复读取待测SRAM芯片中的每个存储单元的输出数据时控制循环次数;
定时计数器,用于对毫秒级时基脉冲进行计数;
电源控制信号发生器,用于产生SRAM芯片供电电源的控制信号;
定时信息显示子模块,用于显示当前硬件定时器工作状态和倒计时值。
[0011]优选地,所述静态随机存储器控制模块包括:
测试数据产生模块,用于产生写入待测SRAM芯片的测试数据,并对来自读SRAM控制器的数据进行比对;
写SRAM控制器,产生SRAM写时序,向待测SRAM芯片的每个存储单元写入来自测试数据产生模块的测试数据;
读SRAM控制器,产生SRAM读时序,从待测SRAM芯片的每个存储单元读取数据,发送给测试数据产生模块进行校验,或发送给测试结果收集模块;
主控子模块,用于协调测试数据产生模块、写SRAM控制器与读SRAM控制器之间的工作,保证信息读取过程的有效性和可靠性。
[0012]优选地,所述测试结果收集模块包括:
写入缓冲器,用于接收来自节点数据转换器的待测SRAM芯片数据,并等待节点数据收集控制器读取;
读取缓冲器,用于从节点数据收集控制器中读取已经被保存在数据收集子模块中指定位置的数据,并等待节点特性分析模块读取;
节点数据转换器,用于将来自静态随机存储器控制模块的数据进行分割和拼接,将其转换成与数据存储器的数据总线位宽相等的二进制数据,送到写入缓冲器中;
数据收集控制器,用于产生针对数据收集子模块的读写时序,并将数据按突发的方式存入数据收集子模块或按单数据的方式从数据收集子模块读出;
数据收集子模块,用于按照顺序的地址存储针对同一待测SRAM芯片进行的多次循环测试产生的信息。
[0013]优选地,所述节点特性分析模块包括:
节点存储地址生成器,用于产生需要读取数据收集子模块中指定节点的存储地址;节点存储地址缓冲器,用于暂存多个需要从节点数据收集子模块中读出的节点存储地址,等待节点数据收集控制器读取;
节点信息统计子模块,统计出当前所有测试循环产生的测试数据中,各存储单元输出数据的分布情况,同一存储单元输出数据在多次测试循环中的变化情况,以及所有存储单元输出数据的跳变信息;
PUF辅助判定子模块,用于将节点信息统计子模块统计的所有存储单元输出数据的跳变信息转换为直方图的表现形式:直方图的横轴、纵轴分别为跳变次数、存储单元数;和/或,转换为色温图的表现形式:用色块标识每个存储单元的跳变次数,存储单元跳变次数越多,相应色块的色温
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1