您当前的位置:五五电子网电子知识电工技术电工文摘利用SOP的USB密码模块硬件与固件设计 正文
利用SOP的USB密码模块硬件与固件设计

利用SOP的USB密码模块硬件与固件设计

点击数:7837 次   录入时间:03-04 12:01:58   整理:http://www.55dianzi.com   电工文摘

3.2  固件工作流程

  图6描述了基于SOPC的USB密码模块的基本工作流程。系统启动后首先进行系统自检,若自检不正常就退出模块;若自检正常,则调用总控程序,接收用户命令并进行口令认证。若认证成功,则命令有效,启动安全期管理,继续分析命令,完成相应的控制操作(如口令设置、密钥配置、页读或页写、数据销毁),然后继续等待接收用户的命令。若认证不成功,则进入审计过程,开启计数器功能,并继续进行口令认证;当计数达到预定值时,将安全Flash中存储的数据和密钥销毁,并锁定密码模块,使非法用户无法使用。只有管理员可以对模块进行重新配置。

按此在新窗口浏览图片
图6  基于SOPC的USB密码模块工作流程

4  验证与测试

4.1  桥的基本读操作仿真时序

  从图7中可以看出,Avalon总线一侧信号在ready信号有效时,S_bus总线已经将运算IP核处理好的数据写入到桥接器。这时,桥的状态检测模块进入初始状态S0,根据Avalon总线一端输入的外设地址及外设接口信号,解析出需要具体写入的外设接口模块。待数据发送到总线后,然后置读有效,表示NiosII可以将数据写入外设接口模块了,至此完成了一次数据的传输。

按此在新窗口浏览图片
图7  桥基本读操作

4.2  桥的基本写操作仿真时序

  从图8中可以看出,S_bus一侧在wr_vail信号有效时,Avalon总线已经将外设接口核的数据写入到桥接器中。这时,状态机从MCU中解析出需要传输到的目的IP核的地址,将数据送到S_bus总线,由S_bus总线写入到运算IP核中。

按此在新窗口浏览图片
图8  桥基本写操作

4.3  数据加解密模块验证

  在USB密码模块加电后,密码模块首先完成自检、配置寄存器等一系列操作。然后,便可以向数据密码模块内送入数据,按用户要求进行操作;此时开始计时,先后写入需要加密或解密的数据,以及加密、解密命令。以上操作完成后,开始写入数据。算法IP完成运算后,便可读出密/明文。如此循环,直至整个过程结束,停止计时。

输入明文向量:00112233445566778899AABBCCDDEEFF
输入初始密钥:000102030405060708090A0B0C0D0E0F
输出密文结果:69C4E0D86A7B0430D8CDB78070B4C55A

  AES模块仿真结果与加密功能测试结果如图9和图10所示。

按此在新窗口浏览图片
图9  AES模块仿真结果

按此在新窗口浏览图片
图10  加密功能测试结果

  将得到的运算结果与AES仿真结果相比,以验证整个加密过程的正确性。结果表明,整个数据加密功能正确实现。

上一页  [1] [2] 


本文关键字:硬件  密码  电工文摘电工技术 - 电工文摘