基于USB接口的真随机数生成平台设计❋

2016-02-05 10:03
微处理机 2016年6期
关键词:固件噪声源上位

赵 俭

(解放军信息工程大学,郑州450000)

基于USB接口的真随机数生成平台设计❋

赵 俭

(解放军信息工程大学,郑州450000)

随机数作为网络空间安全的基础技术历来受到相关领域研究人员的重视。针对日益广泛的真随机数应用需求,在分析国内外各种真随机数生成方法的基础上,基于物理噪声源芯片和内含微处理器的USB接口芯片构建一个真随机数生成平台。给出平台的总体设计框图,详细分析了平台核心硬件的配置电路设计和固件程序以及上位机软件设计。该平台具有结构简单、实现方便、可扩展性强等特点,通过该平台的构建一方面可以方便快捷地获取大量真随机数,另一方面将该平台应用于课程教学实践,对于相关专业学生学习了解真随机数的典型产生方法具有重要意义。

真随机数;通用串行总线接口;随机噪声源芯片;平台设计;固件程序;课程教学

1 引 言

随机数的应用十分广泛,无论是科学仿真实验还是现代通信应用都离不开随机数,特别是在网络空间安全领域,随机数不可或缺,如安全协议、密码算法等运行过程中都需要用到具有良好随机特性的随机数,可以说随机数是确保信息安全的基础。随机数的产生方法可以分成两类即数学方法和物理方法。数学方法是依据数据公式/模型生成随机数,它并不是严格意义上的随机数,通常也叫伪随机数,如平方取中、反馈移位寄存器(Feedback Shift Register,FSR)、线性同余发生器等,这种伪随机数是可以重复产生的,只是可以将其重复周期设计得足够长,截取重复周期内的一段数据也能够通过随机性检验,满足一般的应用需求。物理方法采用观测客观世界中的随机物理现象获取随机数,也叫真随机数,如掷色子、检测放射性元素的衰变、电子元器件的热噪声等,真随机数完全满足不可预测性、良好的随机统计特性(能够通过各种随机性检验)和不能重复产生等三点随机特性,消除了伪随机数的周期性问题,在信息安全领域具有重要的应用价值。

在真随机数生成方面目前国内外的专家学者从不同角度开展了一些列研究。霍文捷等设计了一款利用数字电路相位漂移以及时钟抖动进行工作的真随机数生成器,其随机源采用多组反相器振荡环路予以实现,并利用线性反馈移位寄存器进行后处理,在FPGA平台上进行了测试验证[1]。张亮等提出了一种由时间离散混沌系统作为高频振荡源,以低速时钟进行采样产生随机数的方法,给出了硬件设计并进行了测试分析[2]。胡月设计了基于鼠标轨迹和手写签名等生物特征作为熵源的真随机数发生器,并采用Hash函数、图像加密、信号处理等不同的后处理措施以提高随机特性[3]。周庆等提出基于鼠标移动产生随机数并利用混沌Hash函数进行后处理的方法[4]。赵岩等提出了一种通过对电力线信道上的噪声进行采样获取真随机数的方法,使用加密算法进行后处理以消除偏差和自相关性[5]。JS Teh等利用GPU作为熵源并利用简单的异或后处理实现无偏差输出[6]。随着电子技术的发展,真随机数的产生方法越来越趋向于芯片化,国密办也陆续发布了多款随机噪声源芯片,论文即是基于噪声源芯片和内含微处理器的USB接口芯片构建一个真随机数生成平台,通过该平台一方面可以方便快捷地获取大量真随机数,另一方面将该平台应用于相关课程的教学实践,对于相关专业学生学习了解真随机数的一种典型产生方法具有重要意义。

2 真随机数生成平台设计与实现

构建基于USB接口的真随机数生成平台主要包括硬件平台和软件设计两部分,真随机数生成平台总体框图如图1所示。物理噪声源芯片在内含微处理器的USB接口芯片控制下输出0、1随机序列,微处理器获取该随机序列经USB接口送入上位机,上位机软件接收USB接口传输的随机数据在数据框显示出来,同时以数据文件的形式保存在指定数据盘,留待后续研究分析。

2.1 硬件设计与实现

依据平台总体框图,其硬件设计部分主要涉及物理噪声源芯片、USB接口芯片的选型和外围电路设计。鉴于技术成熟度和平台设计的后续可扩展性考虑,平台的随机噪声源芯片采用的是WNG-8,USB接口芯片采用的是Cypress公司的AN2131QC。其中WNG-8芯片工作电流低于30mA,随机数据产生速率可达20Mbps,有3.3V和5.0V工作电压两种型号,采用SOP8和DIP8两种形式的封装,其芯片引脚及功能如表1所示。

图1 真随机数生成平台框图

表1 WNG-8引脚功能

图2 WNG-8工作时序

WNG-8的外围电路如图3所示。依据参考电路,在使用WNG-8时,为保护电路防止过载,噪声源芯片的正电源VDD端应串接一个限流电阻R。当VDD=3.3V时,R=40±10Ω,当VDD=5V时,R=100±20Ω。同时在电源和地之间跨接一个约为0.1μf的旁路电容C,以便对电源进行去耦滤波,提高电源质量,确保芯片稳定工作。

USB接口芯片的外围电路设计比较成熟,可参考文献[7]实施,需要注意的是当接口配置程序设计采用加点后通过EEPROM加载时,电路中EEP-ROM地址引脚信号的电平设置。

图3 WNG-8工作配置电路

2.2 软件设计与实现

平台软件包括USB接口芯片的固件设计和上位机应用软件的设计。

固件程序是在AN213lQC加电后,加载到USB接口芯片中并在其中运行,完成控制WNG-8获取随机数据、输出随机数据到USB接口等功能。固件程序可以通过驱动加载或者通过平台外接I2C总线接口的EEPROM芯片加载,在设计中接口采用的是后一种加载固件的方式。该固件程序运行于AN2131QC的8051内核,根据总体框架安排,数据传输过程如下:通过USB接口芯片中51核的I/O口PB2模拟输出CLK作为WNG-8的时钟驱动信号,在该时钟信号驱动下,WNG-8的DATA引脚输出0、1随机数据同样通过51核的I/O口PB3传输到USB接口芯片,再通过该接口芯片传送到主机。

固件程序的设计基于接口芯片厂家提供的固件程序框架设计[7-9],主要分几个大的模块:①主程序模块,完成设备初始化操作、设备“重枚举”、循环等待上位机指令数据的传送操作;②设备描述模块,提供主机启动后设备重新枚举时所需要的VID、PID等设备描述符信息;③数据收发处理模块,主要完成初始化后数据的传送,并根据指令信息进行外围设备的控制操作,在平台中即是控制WNG-8获取随机数并传送至主机。

固件的开发在Keil uvision2环境下实施,其中对WNG-8进行操作控制的核心程序如下:

该部分固件采用汇编语言和C语言混合编程,经编译后生成HEX二进制文件,通过Cypress公司提供的下载工具ControlPanel可以直接下载到AN2131QC接口芯片中运行,或下载到EEPROM中,将平台复位后自动从EEPROM中装载进51核心运行。

上位机软件通过Cypress提供的ezusb.sys驱动程序调用CreatFile()函数获得平台设备句柄,再通过调用DeviceIoControl()函数即可获取平台USB接口传送的随机数据,发送对WNG-8的控制指令等。上位机应用程序采用C++编程实现,其界面如图4所示。

图4 真随机数生成平台界面

3 结束语

USB接口以其数据传输速率高、支持热插拔、使用便捷等特性得到广泛应用,通过该接口芯片结合物理噪声源芯片设计的真随机数生成平台具有结构简单、可扩展性强等特点。如借助USB接口芯片丰富的I/O复用功能引脚,可以根据需要采用多个WNG-8物理噪声源芯片并行连接到该接口芯片,实现多路随机数据序列同步生成以大大提高随机数据的生成速率。经测试,通过该平台获取的真随机数通过了国家密码管理局发布的随机性检测规范要求[10]。通过该平台的构建,一方面可以方便快捷地获取大量真随机数,另一方面将该平台应用于课程教学实践,对于相关专业学生学习了解真随机数的典型产生方法具有重要意义。

[1] 霍文捷,刘政林,陈毅成,等.一种基于FPGA的真随机数生成器的设计[J].华中科技大学学报(自然科学版),2009,37(1):73-76. Huo Wenjie,Liu Zhenglin,Chen Yicheng,et al.Design of a true random number generator using FPGA[J].Joural of Huazhong University of Science and Technology.Nature-Science,2009,37(1):73-76.

[2] 张亮,戎蒙恬,诸悦,等.基于混沌系统的真随机数发生器芯片设计和实现[J].上海交通大学学报,2006,40(3):421-424. ZHANG Liang,RONG Meng-tian,ZHU Yue,et al.The ASIC Design and Realization of a Truly Random Number Generator Based on Chaos[J].Journal of Shanghai Jiaotong University,2006,40(3):421-424.

[3] 胡月.基于生物特征的真随机数发生器的研究与设计[D].重庆:重庆大学,2008. HuYue.Research and Design on Ture Random Number Generator based on Biometric Characteristics[D]. Chongqing:Chongqing University,2008.

[4] Q Zhou,X Liao,KW Wong,Y Hu,D Xiao.True random number generator based on mouse movement and chaotic hash function[J].Information Sciences,2009,179(19):3442-3450.

[5] 赵岩,陈岚.基于电力线信道噪声的真随机数发生器的设计[J].电视技术,2014,38(7):164-167. ZHAO Yan,CHEN Lan.Design of True Random Generator Based on Noise of Power Line[J].TV Engineering,2014,38(7):164-167.

[6] JSTeh,A Samsudin,M Al-Mazrooie,A Akhavan.GPUs and chaos:a new true random number generator[J]. Nonlinear Dynamics,2015,82(4):1913-1922.

[7] 张弘.USB接口设计[M].西安:西安电子科技大学出版社,2002. ZHANG Hong.Universal Serial Bus Interface Design[M].Xi’an:Xidian University Press,2002.

[8] 吕志成,庞晶,雍少为.EZ-USB接口设备的软件开发方法[J].微处理机,2008,29(2):91-94. LV Zhi-cheng,PANG Jing,YONG Shao-wei.The Software Development Method of EZ-USB Interface Equipment[J].Microprocessors,2008,29(2):91-94.

[9] Cypress Semiconductor.EZ-USB Development Kit Manual Getting Started[DB/OL]http://www.cypress.com/.

[10] 国家密码管理局.GM/T0005-2012随机性检测规范[S].北京:中国标准出版社,2012. State Cryptography Administration.GM/T0005-2012 Randomness Test Specification[S].Beijing:Chinese Standard Press,2012.

Design of True Random Number Generation Platform Based on USB Interface

Zhao Jian
(The PLA Information Engineering University,Zhengzhou 450000,China)

As the foundation technology of the network security related fields,the random numbers are paidmore attention.In view of the increasingly application requirements of the true random numbers,based on analysis of the generating methods of true random numbers,a true random number generation platform based on a physical noise source chip and a USB interface chip with amicroprocessor embedded is constructed,the overall block diagram of the platform is proposed,the configuration circuit of the core hardware is designed,and the design of the firmware and the host computer software are analyzed in detail.The platform has some advantages such as a simple structure,convenient implementation and good expansibility.A large number of true random numbers can be acquired from the constructed platform fast and conveniently,and it can be applied in teaching practice,so that the students of related subjects can learn about the typicalmethod of the true random number generator.

True Random Number;Universal Berial Bus Interface;Random Noise Source Chip;Design of the Platform;Firmware;Course Teaching

10.3969/j.issn.1002-2279.2016.06.019

TP39

A

1002-2279(2016)06-0076-03

国家自然科学基金(60130607)

赵俭(1979-),男,安徽省桐城市人,讲师,硕士研究生,主研方向:无线安全,设备管控。

2016-04-11

猜你喜欢
固件噪声源上位
一种噪声源的校准方法
汽车后视镜-A柱区域气动噪声源特征识别
特斯拉 风云之老阿姨上位
基于SHA1的SCADA系统PLC固件完整性验证方法
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
基于UEFI固件的攻击验证技术研究*
基于固件的远程身份认证
一种基于相位增量随机化的宽带噪声源产生技术
以新思路促推现代农业上位