关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于USB2. 0控制器的软件狗设计及安全性分析

基于USB2. 0控制器的软件狗设计及安全性分析

作者:时间:2011-05-06来源:网络收藏

  3. 2 硬件实现

  本中采用Cypress 公司推出的CY7C68013A芯片, 该芯片属于EZ- USB FX2系列芯片, 是世界上第一个集成 0 协议的微处理器, 它支持12Mb / s的全速传输和480Mb / s高速传输。

  CY7C68013A芯片结构包括增强型8051 处理器、串行接口引擎( SIE )、 0收发器、16KB 的RAM、4KB的FIFO 存储器、数据总线、地址总线以及通用可编程接口( GPIF)等, 如图3所示。

CY7C68013A 芯片结构图

图3 CY7C68013A 芯片结构图。

  USB 加密狗一般由USB 、单片机、外接存储器构成, 而CY7C68013A 将三者集成为一个芯片, 使硬件实现变得非常简单, 只需配置好外围电容、电阻即可。芯片提供了0、1、2、4、6、8 几个端点, 端点0和端点1仅由固件访问, 由于其余端点都是单向访问的, 在此使用端点2和端点6, 用于数据的发送和接收。

  该芯片集成的增强型8051比标准8051有更快的执行速度以及更大的存储器空间, 因此, 它可以在较短的时间内完成比较复杂的算法, 而且不需另外扩展存储空间。芯片内部还有一个串行接口引擎S IE, 由它来完成大部分 0协议的处理工作,这样大大减轻了固件程序的工作量。

  3. 3

  主要包括三部分: 芯片固件程序、设备驱动程序、PC应用程序。

  Cypress公司的EZ- U SB FX2开发套件提供了完整的CY7C68013A 驱动程序源代码、固件的框架、控制面板程序, 方便用户开发, 缩短了开发周期。本设计中的驱动程序就是对FX2开发套件中所带的驱动程序进行修改而得到的。利用提供的固件框架完成设备的初始化, 使用端点2和端点6的实时传输方式, 实时得到动态产生的PIN 码。

  在本设计中, PC 应用程序是指与加密狗的接口程序, 选用VC6. 0 为开发平台来开发应用程序, 利用C reateF ile得到USB 句柄, 使用D ev iceIoControl函数来进行数据的接收和发送, 并编制U SB 狗的主机接口函数, 将接口函数封装于usbdog. d ll文件中, 供被保护软件调用。

  使用开发套件中提供的控制面板程序可以调试程序, 验证应用程序传输数据的准确性。

  4 结束语

  USB2. 0软件狗和其他软件狗相比有其独有的优越性。首先, USB 凭借其即插即用极大地方便了用户使用, 免除了开机箱和重启动的麻烦, 能够为个人笔记本电脑提供一个具有快速通信能力的数据加密设备。第二, USB2. 0的高速数据传输能力保证了运行过程中的动态加密, 其特有的打包方法和编码格式, 增加了加密数据在传输过程中被截获及解密的难度。第三, 采用USB 软件狗的PIN 码保护和动态口令相结合的方法, 避免了解密者获取和推算动态口令。第四, 本设计中采用Cypress 公司的CY7C68013A 芯片作为主芯片, 使得硬件电路设计简单, 占用空间小, Cypress公司提供的套件开发固件程序和驱动程序, 用VC6. 0 开发加密的软件平台, 极大地缩短了开发周期。

  作为USB2. 0 技术和软件狗技术相结合的产物, USB 软件狗无疑会具有十分强大的生命力。

pid控制器相关文章:pid控制器原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭