返回首页
当前位置: 主页>USB开发应用>

USB软件加密卡及其驱动措施的设计与开发

时间:2018-02-01 23:31来源:USB开发群 作者:USB开发频道 点击:

  

USB软件加密卡及其驱动法子的设计与开发

copyright dedecms

copyright dedecms

内容来自dedecms

【摘 要】 详述了USB软件加密卡及其驱动措施这一热门技术。按照实践经验,重点介绍了USB接口芯片选择和应用。论述了USB驱动措施根基成果的开发,还提出了开发驱动措施的加密成果的新概念,拥有很强的实践意义。
  关键词:USB加密卡,FPGA,驱动措施,即插即用


1 引 言
  软件加密卡(又称软件狗)是一种智能型加密东西,是一个安装在并口、串口等接口上的硬件电路。当被掩护的软件运行时,措施向插在计算机上的加密卡发出查询指示,加密卡迅速计算查询并给出响应,正确的响应能担保软件顺利运行。假如没有软件加密卡,措施不能运行。最新的第四代软件加密卡内置一个单片机芯片,芯片中存有特定的算法措施,可将读出的密钥进行加密幻化,以反抗逻辑阐明仪。
  USB软件加密卡是USB接口技术与第四代加密卡技术结合的产品,因而与其它加密卡对比拥有一些明显优势:首先,USB的数据传输速度快,USB1.0协议为12M比特率,USB2.0版可达480M比特率;其次,USB的底层数据传输拥有特定的打包要领和编码格局,这样就增加了加密数据在传输历程中被截获及解密的难度。最后,USB设备的即插即用性(plug-and-play)极大地便携了用户的使用,好比,要在其它微机上使用被掩护软件时,只要一拔一插即可,免除了开机箱和重启动的麻烦。

dedecms.com

2 USB软件加密卡的硬件设计
2.1 USB接口芯片
  USB接口芯片的种类许多,但无论何种接口芯片,都有两个根基成果:一是与上位机通信;二是提供对外围电路CPU的接口。也就是说接口芯片架起了计算机与外围设备的桥梁,使开发者不消体贴庞大的USB协议是如何将数据传送到主机的。
  现有的支持USB1.0协议的接口芯片可大抵分为两类:一种为内部集成了微控制器,如Intel 8×930Ax/Hx内嵌一个8051CPU;另一种则只提供了对外围电路访问的读写接口,如USBN9603。在加密卡的设计中,建议接纳第二种类型,因为对付较庞大的加密算法,8051CPU处理惩罚起来很吃力。下面以USBN9603为例介绍接口芯片的使用。
  图1描绘了USBN9603的逻辑布局,可以看到芯片对外提供了8位并行接口,该接口为数据/地点复用接口,芯片内部自带地点锁存器,共同CS,RD,WK信号完成对内部寄存器的读写操纵。USBN9603有一外部中断INTR管脚,当USB接口有状态变革时可发生中断信号通知CPU,通过软件置中断屏蔽寄存器位,可控制中断信号的产生。
  USBN9603有7个与主机相连接的端点,包罗一个双向指示传输端点、三个接收端点、三个发送端点,可支持中断(Interrupt)、批量(Bulk)和等时(Isochronal)传输模式。USBN9603传输器(Transceiver)配有的电压调理器通过软件置位可发生上拉电压,通过上拉电阻接D+则接通全速模式,接D-则接通低速模式。 织梦好,好织梦
  USBN9603使用外接晶振,同时有一个对外的时钟输出器,发生对外的时钟信号,它的输出频率可由软件控制。USBN9603的USB接口引擎由物理层和媒介通道控制器构成。物理层包罗数字时钟电路、监视电路、位填充与清除逻辑电路等。媒介通道控制器层要完成数据包格局化、循环冗余检测、端点地点侦察等任务,并提供对端点发出的NAK,ACK和STALL回应的控制。接口引擎还要卖力侦察和陈诉USB总线事件,如复位,挂起和恢复。 dedecms.com

USB软件加密卡及其驱动法子的设计与开发

织梦好,好织梦

内容来自dedecms

本文来自织梦

织梦内容管理系统

  USBN9603向开发者提供了53个可编程的寄存器,地点漫衍在0x00~0x3F。CPU通过对寄存器的读写,完成一切USB接口操纵。USBN9603寄存器被映射为CPU的外部RAM。CPU通过CS片选信号寻址,在ALE信号及RD、WR信号的共同下,由8位的并口写入地点和数据。固然读写操纵简单,但各寄存器的界说及感化却庞大,但只要对USB协议及USBN9603成果有必然的了解,就不难理解和把握各寄存器的使用。
2.2 外围控制电路的设计
  外围控制电路的感化有两个:一是对USB接口操纵;二是实现加密算法。这要求主控芯片提供根基的读写、中断和地点/数据信号,同时要有必然的计算能力以适应加密算法。在此前提下,我们有多种选择,但加密卡的制作不能一味地追求高保密性能,而忽视了开发本钱,应按照差异的应用场所灵活地选用差异的方案。例如,接纳DSP芯片,其保密性和计算速度俱佳,但开发本钱高、周期长;也可用价格低廉的单片机如8051,固然速度慢且保密性差,但制作简单、开发周期短。
  我们在实践中应用的一种方案为单片机+FPGA(Field Programmable Gate Array)模式,既可便携地用单片机完成对USB口的操纵,又能操作FPGA的速度快和保密性强等特点实现庞大的加密算法。FPAG支持浩瀚的加密尺度如AES、DES、三倍DES。并且,依靠FPGA的在线编程成果可便携地实现算法的更新与升级。这种组合模式切合模块化设计思想,会必然水平地提高开发速度。 本文来自织梦
3 USB软件加密卡驱动措施设计
3.1 驱动措施的根基成果实现
  驱动措施的根基成果就是成立应用措施与加密卡之间的数据通讯。Win98和Win2000操纵系统为USB总线提供了全面的支持,而且用WDM(Win Device Mode)设备驱动措施模型取代了VxD设备驱动措施。WDM支持USB1.1协议,并为用户开发本身的用户驱动措施提供了下沿接口USBDI(USBDriving Interface)。USB用户驱动措施通过USBDI访问USB设备类驱动措施。USB客户驱动措施决不会收到任何硬件资源(如端口或中断),所有低层I/O都由USB设备类驱动措施应付。客户驱动措施只体贴数据传输类型、传输时序、传输管道以及如那边理惩罚数据等主要操纵。USBDI就是为实现这一点而设计的软件接口。形象地讲,第一系统:,USBDI以软件形式搭建了一个USB协议中所界说设备的逻辑布局,见图2。 dedecms.com

USB软件加密卡及其驱动法子的设计与开发

内容来自dedecms

dedecms.com

织梦内容管理系统

dedecms.com


  由图2可知,USBDI表示给客户驱动措施的所有USB设备都统一由配置、接口、端点构成。一个设备袒露一系列管道(端点),系统基地:,一个或多个端点可构成一个接口,一个或多个接口可构成一个配置。留意,USB接口芯片也以此模型描绘其设备布局。端点、接口和配置由各自描绘符描绘性质。描绘符一般放在外设储存器中,当设备接入USB总线时,以持续数据块的形式一起发到USB设备类驱动措施。USB客户驱动措施对设备的操纵完全参照描绘符中的参数进行。
  从编程角度上讲,USBDI为开发者提供了一系列内部控制码IOCTL,来向USB设备类驱动措施发出控制信息,如客户驱动措施可使用IOCTL_INTERNAL_USB_RESET_PORT来复位管道。
IOCTL种类许多,个中最重要的是IOCTL_INTERNAL_USB_SUBMIT_URB,它用于向USB设备娄驱动措施发送URB(USB Request Block)请求块。URB是一个联合体数据布局,因而有多种差异的界说,每种界说对应一种成果并由各自的成果码描绘,如USB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER暗示通过块或中断端点读/写数据成果。每个成果码使用各自的URB布局详细说明它的输入/输出参数。URB包参数结构完后,将其指针挂接在IRP包上,随IRP包传给USB设备类驱动措施处理惩罚。URB是个繁重要的观念,对外设的各类操纵根基上是通过发送URB包进行的。 copyright dedecms
  有了驱动措施并将其安装在计算机上,应用措施(被掩护软件)就可用OpenFile、Write/ReadFile等API函数对加密卡进行读写或状态检测。
3.2 开发驱动措施的加密成果
  驱动措施的加密成果有以下几种实现方法:将加密数据的一部门或加密算法的某一阶段交给驱动措施完成,使其在根基通讯成果上增加数据过滤计算成果;还可借鉴“用户算法植入”的思想(普遍的加密思想无非是在措施执行中与加密卡互换数据,而这种加密技术是在加密硬件中开辟一块存储区,将用户措施的一部门写进去,并由加密卡来执行),将应用软件的一部门写入驱动措施,造成在没有驱动措施时应用措施将不完整。
  开发驱动措施的加密成果主要基于两点考虑。首先,USB外设拥有即插即用成果,加密卡插上或拔出时,其驱动措施自动加载或卸载,不行能在没有加密卡的环境下单独运行驱动措施,因而可以将它们视为整体。但驱动措施究竟在计算机上运行,它可以充实操作其资源,如计算能力与内存空间,以协助加密卡的事情。其次,驱动措施运行在操纵系统的内核。鉴于一般操纵系统(如Win)对内核的掩护,要对其进行跟踪解密比力困难,因而将应用软件的重要部门写入驱动措施要比在应用措施中运行更安详,更依赖于加密卡,同时又不增加加密卡的承担。
织梦好,好织梦

  驱动措施的加密成果使其既成为加密卡的一部门又成为应用软件的一部门,这种双重性实现了加密系统的紧密联系,使得加密效果更可靠。同时,使得性能较低的加密卡得以扩展,便携地用低本钱实现高保密性。另外,要对现有加密卡进行升级,往往只需修改驱动措施,这更显得便携高效。
4 结束语
  以上我们已对USB加密卡的各类关键技术作了详细介绍。固然世界上没有绝对安详的加密技术,而数据加密也执偾安详保密的一小部门,但加密卡的软硬件开颁发明出了高度的灵活性与创新性。面对层出不穷的威胁计算机安详的行为,各类百般的加密技术将不绝涌现,它们以自身的成长,保卫了软件商好处的同时,也保卫着常识的尊严。
(责任编辑:admin)

返回第一系统网首页

本文来自织梦






秦华 『上海买保险』上海地区人寿保险资深寿险顾问 上海外籍人士买保险-高端人士医疗办理
服务项目:儿童医疗/子女教育金/养老保险/重大疾病/意外伤害/员工团险/公众责任
免费热线『上海』:13761630213, QQ:107242375, Email:victor.qin@qq.com
选择保险事业 为了爱,为了一份坚定的承诺!MSN:
上海地区请直接拨打本人电话,应约免费上门提供免费保险方案。
Baoxian.ws>>           旅行签证保险、上门办理>>        重大疾病网>>     上海重大疾病一览    
友情链接: 走在上海人寿保险的前端    和讯保险博客    上海投保在线    Shanghai Insurance    秦华的个人简历


顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
图文并茂 我的链接
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
上海高端医疗/住院医疗保险信息
上海保险规划师信息
上海子女教育理财保险信息
上海保险规划师信息
上海女性高端生育保险方案-等待期
上海保险规划师信息
上海三口之家家庭保障方案
上海保险规划师信息
上海女性特色重大疾病保险方案
上海保险规划师信息
上海女性白领理财保险方案
上海保险规划师信息
上海养老理财规划保险方案
上海保险规划师信息
通过网络取得初步咨询
  •    
上海办理-免费咨询送计划书
上海买保险
上海办理-申根签证 出国旅行保险
上海买保险
上海买保险,海外基金,买保险,友邦保险,中国人民健康保险,养老保险,儿童保险,儿童医疗,子女教育金,太平洋保险,医疗保险,工伤保险条例,中国人寿保险,保险公司,中国平安保险,医疗险,进口药,自费药,外籍人士医疗,泰康人寿,英国保诚集团,上海综合保险,国际医疗保险,上海医疗保险,上海社会保险,上海养老保险,上海市综合保险,上海平安保险,上海太平洋保险,和睦家医院,上海综合保险卡,买保险,高端医疗,重大疾病,意外伤害,定期寿险,家庭理财,友邦保险,金茂大厦,少儿互助基金,上海社保,太平洋集团,港安医院