无驱动USB认证模块在电子商务中的应用
Setup包传送以后的两个阶段的地址保持与Setup包传送阶段一致。USB设备只有在Status阶段过后才能改变设备地址。
获取设备描述符的程序网络补充版(http://www.dpj.com.cn)。
2.6 数据通信处理以及安全认证处理程序
由于本模块的主要功能是作为电子商务中的钥匙和证明书,因此是关键技术。其中以内部密钥的处理过程及加密解密算法模块为核心技术。
get_report和set_report是HID类设备与主机通信的特定方式,HID规范定义的特定的标准请求。当主机与HID设备通过get_report(主机从设备获取)或set_report(设备接受数据)传递数据时,必须有一个密钥的传送递鉴定过程。图5是主机和模块读取数据的过程描述。
值得指出的是,EEPROM中的数据都是经过CPU加密写入的,同时对重要数据设置了保护,即使别人获取也很难短破译;用户只要申请丢失,即可马上报废。
3 HID类应用软件设计
建立设备驱动程序与Windows应用程序接口有两种方法:
① 设备驱动程序创建内核设备名和符号连接名,Widows应用程序调用。
CreateFile(" \u31526符号连接名",
GENERIC_READGENERIC_WRITE,javascript:window.open(this.src);" style="cursor:pointer;"/>
FILE_SHARE_READFILE_SHARE_WRITE,
NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
②设备驱动程序创建设备接口。Windows应用程序可调用下列包装好的函数,打开一个设备,见网络补充版。
③应用API函数进行应用程序和硬件设备的通信,常用方法:ReadFile WriteFile DeviceIoControl CloseHandle。
为应用USB_Createfile需包含下列头文件:
#include Setupapi.h
#include initguid.h
#include winioctl.h
结语
USB接口硬件认证模块装上计算机后会立刻被系统识别为HID类设备,并且自动装上驱动程序。实际证明,该无驱动的认证模块已经在我公司的应用中起到了不可替代的作用,时它的安全性、控制的灵活性、无驱动的方便性也使客户非常满意。