微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > 基于MEMS强链和FPGA的物理认证系统

基于MEMS强链和FPGA的物理认证系统

时间:04-14 来源:互联网 点击:
信息安全对于企业、政府、国防等部门有着极其重要的意义。一般现有的认证方法都通过存储介质保存密码,使用比较器比对输入密码正确与否,此方法保密性差,易于破解。本文通过特有的MEMS强链和百万门级的FPGA来对SATA硬盘进行身份认证。实现物理加密。密码转换为相应的密钥并以机械结构的形式成为MEMS强链的核心部位,即根据齿轮组的运行完成对密码的比较,来完成对口令的验证,利用PCI9054芯片快速完成对口令和MEMS返回值的传输.根据密码所形成的控制流由FPGA对MEMS强链进行控制。整个系统快速、简洁、安全性高。

1 系统的总体构成

该系统由主机、物理认证的FPCA专用板和MEMS强链组成,其中主机里面装有连接和扫面模块和用于存储重要数据的SATA硬盘;物理认证FPGA专业板包括:PCI控制器、FPGA、SATA硬盘、EEPROM PCI配置芯片、MEMS控制模块、密码处理模块和MEMS密码锁驱动电路等构成。图1描述了整个系统的硬件布局。


图1 系统结构框架图

本文使用MEMS密码锁特有的机械结构产生相应的反馈信号,用此反馈信号参与物理认证系统。计算机中装有两块硬盘,一块硬盘直接与主板IDE口相连。其中装有操作系统,数据是普通数据,进入不需要物理认证,可以直接读取。另一块是SATA硬盘,它通过连接和控制模块与主板SATA接口相连,开机后,由于与硬盘相连的数据线是断开状态,则该硬盘不可见。此硬盘需通过MEMS密码锁认证,若认证通过,产生一个反馈信号,此反馈信号由物理认证的FPGA专用板通过PCI控制器传给主机,主机来对反馈值进行判断,若密码正确,主机开启连接和扫描硬件模块,把与SATA硬盘相连的数据线接上,同时进行扫描硬件改动,这样SATA硬盘就被系统识别。

主窗口显示从键盘输入密码,然后主机通过插在PCI插槽上的PCI控制器,PCI控制器主要是由PLX公司的PCI9054芯片构成,它和FPGA都受板上50MHz系统时钟的控制。通过PCI控制器把密码传输到FPGA内部的PCI本地控制器,由PCI本地控制器将密码传给FPGA,由FPGA根据得到的密码来驱动MEMS驱动电路,MEMS驱动电路驱动MEMS强链根据输入的密码来运行,如果密码正确,也就是驱动电路的指令与MEMS强链内部结构固化的密码一样,密码锁就能正确走完,然后返回Ox000000FF(十进制的255);如果密码错误,MEMS强链被卡死,并返回0。同时PCI本地控制器将返回值再通过PCI9054传送回主机,并在主窗口上显示。如果返回信号是0x000000FF的话,启动联接控制程序,实现扫描资源管理器,接通SATA硬盘,正常传输数据。

2 MEMS强链与其相关的控制模块

MEMS强链的棘爪能卡住棘轮,从而能精确定位到固定的位置,棘爪装有电磁驱动型电机,使其具有误码鉴别与自复位功能,因而可用于信息安全,实现密码锁的功能。鉴码机构由两组电磁型微步进电机驱动反十涉齿轮集A和B,反干涉码轮集中机械周化了密码。反干涉齿轮集在正确解码时,码齿之间互相没有接触;当出现错码时,码齿相互干涉,反干涉齿轮集卡死。使用光电耦合机构,在正确接收到24位密码时光电能量耦合,系统开启。图2是MSMS强链结构图。


图2 MEMS强链组织结构图

MEMS密码锁控制模块以PCI协议通讯方式与FPGA和MEMS密码锁驱动电路进行通讯,它是用Verilog HDL语占写的控制FPGA运行的指令模块,它存储在EPCS1中,系统上电后开始工作。EEPROM PCI配置芯片通过内部的PCI驱动程序正确驱动PCI控制器.完成主机与PCI控制器控制信号、地址线和数据线的配置,使PCI控制器正常工作,PCI控制器把PCI总线上的指令转化为PCI局部总线端指令,由局部总线指令控制I/O扩展芯片,I/O扩展芯片根据局部总线指令输出控制字到MEMS密码锁驱动电路驱动MEMS密码锁解码,解码的同时MEMS密码锁反馈信号,密码处理模块读取MEMS密码锁发来的反馈信号,判断正确码或是错误码的来临,若取得32位正确码,发送反馈信号到FPGA,FPGA把获得的反馈值经PCI控制器传给主机,主机启动联接和扫描硬件模块,SATA硬盘被系统识别。

3 PCI控制器

PCI控制器主要由PCI9054芯片和EEPROM PCI芯片组成。它支持主模式、从模式、DMA传输方式。本文利用PCI9054在C模式下传输32位的密码和32位返回值。工作时间的写入时序图如图3。本地总线周期可是是single周期或突发周期,BLAST# 信号被用于决定是一个single周期被执行还是一个突发周期被执行。本地总线Initiator(本地总线访问内存和I/O)访问PCI9054必须是对32位non-pipelined总线才可以。其中,LA是地址总线;LD是数据总线;LBE是字节使能信号。


图3 PCI Initiator状态下写时序图

BLAST#、READY#、ADS#和FPGA相连。只有在ADS信号在高电平,BLAST在低电平,LWR为高电平。LA[31:2]为高时,表明PCI9054开始一个有效的写数据周期,同时,FPGA使写标志有效,并把数据放到本地总线上,此时本地总线上才接收到由外部总线上写入的数据。只有在ADS信号为高,BLAST为低,LWR信号为低,同时LA[3l:2]接受到地址时,表明PCI9054开始一个有效的读数据周期,同时,下位机的FPGA使读使能有效,并把返回值放到本地总线上,LD[3l:0]才能接收到数据。

EEPROM PCI配置芯片与PCI控制器直接相连。通过存储在配置芯片内部的PCI驱动程序正确驱动PCI控制器,完成主机与PCI控制器控制信号、地址线和数据线的配置,使PCI控制器正常工作。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top