USB系统概述
- 格式:docx
- 大小:41.02 KB
- 文档页数:7
USB安全移动存储及管理系统本方案由广东省国家保密局和科技厅联合立项研发而成并由广东省国家保密局和财政厅联合发文要求强制配备。
方案背景:移动存储的大量普及应用,给政府机关的网络办公带来了极大的便利,同时也使得各单位在使用普通的移动存储过程中出现了众多的网络信息安全问题:1.资料泄露2.信息被盗3.病毒木马感染和传播。
据统计,由于使用普通移动存储造成的有意和无意的信息泄露占每年泄密事件高达67%的比例;病毒传播的比例有60%。
这样给政府机关的信息安全带来了极大的危害。
因此,从中央到各地都在全面推进安全移动存储的开发和应用。
磐固信息科技基于长期在操作系统底层技术的积累和对移动存储底层技术的掌握,按照广东省保密局的严格要求成功开发出“磐固”USB安全移动存储和管理系统和全省报警管理平台。
“磐固USB安全移动存储及管理系统”主要由USB管理系统与专用安全U盘组成。
USB管理系统通过控制涉密计算机的端口,杜绝了非法安全U盘与普通U盘在涉密计算机上存取数据文件。
实现了移动存储介质的可控管理,有效地解决了移动存储介质在使用中所带来的信息安全隐患。
系统特点文件的安全暴力拆除物理自毁暴力拆除安全增强型)专用于涉密环境,在外部计算机无法使用映射虚拟的加密盘符,操作更简单快捷专用于从非涉密环境到涉密环境单向导出文件资料快速导出全部文件导出文件资料,自动擦除硬件特点:◇防静电,抗电子干扰,保证使用者与U盘的安全◇滤波技术,四层板设计,保证U盘一直处于最稳定状态,防止数据丢失◇原厂A级芯片,通过严格的老化测试◇智能纠错,智能校正读写数据的准确性◇均衡写入,数百倍提高闪存读写次数及寿命◇双重稳压,彻底解决电涌导致闪存盘不能正常使用或损毁的问题◇人性化外观设计,U盘保护盖巧妙地与U盘绑定,不用担心疏忽而导致丢失宝华盖方案组成:管理系统+保密盘导入盘导出盘+ key + 告警中心附:广州市磐固信息科技有限公司(网址)以获得国家发明专利的操作系统底层技术和多年移动存储的研究为依托,以广东省国家保密局和科技厅的重大科技立项为立足点,独辟蹊径,率先提出和实现了“硬软结合”方法解决系统和数据安全问题,以“硬件和软系统”、“硬隔离和软隔离”、“硬隐藏和软隐藏”、“硬加密和软件加密”、“硬擦除和软擦除”相结合等多项独特技术和解决思路开发的“磐固”系列安全解决方案和产品,实现了在windows环境中保证数据生命周期(生成→存储→转移)的高度安全和隔离移动办公。
USB原理2008-03-28 14:50USB的结构及工作原理USB(Universal Serial Bus)是1995年Microsoft、Compaq、IBM等公司联合制定的一种新的PC串行通信协议。
USB协议出台后得到各PC厂商、芯片制造商和PC外设厂商的广泛支持。
USB本身也处于不断的发展和完善中,从当初的0.7、0.8到现在广泛采用的1.0、1.1版本到即将被采用的2.0版本。
USB外设在国外以惊人的速度发展,迄今为止,各种USB的外设已经有上千种。
那么,USB为什么如此受亲睐呢?这要从它自身所具有的很多优点谈起。
0.物理结构USB的物理拓扑结构如图1所示。
在USB2.0中,高速方式下Hub使全速和低速方式的信令环境独立出来,图2中显示了高速方式下Hub的作用。
通过使用集线器(Hub)扩展可外接多达127个外设。
USB的电缆有四根线,两根传送的是5V的电源,另外的两根是数据线。
功率不大的外围设备可以直接通过USB总线供电,而不必外接电源。
USB总线最大可以提供5V 500mA电流,并支持节约能源的挂机和唤醒模式。
1. PC为什么急需USB随着PC的广泛应用,其外设也越来越多,打印机、鼠标、扫描仪、游戏杆、音箱.. .。
每个外设都需要通过一个接口与PC相连。
外设多了,PC的接口自然也就不够用了。
在很多特定的应用场合,如工业数据采集等领域,常常用采集板卡来完成工作,而每一个板卡自然会占用一个PC插槽。
PC插槽就那么几个,要是采集点多了怎么办呢?PC外设安装过程中比较麻烦的另一件事情是在加减设备时,必须关掉电源,加减设备完成之后再从新启动机器。
对于板卡式的外设就更加麻烦了,您不得不打开机箱,弄得满头大汗,一不小心,汗水滴到主板上,机器就死翘翘了。
我就碰到过这样的事情。
USB的出现就能够为您完全解决掉上面提到的这些尴尬,每台PC通过USB端口最多可以接127个外设!把您所有的东西全接上来吧,没问题!还有,USB完全是PNP的,在您第一次安装完成以后,加减设备只需要拔出或插上USB插头就一切OK了,不必理会机器是开还是关,就这么简单。
USB协议架构及驱动架构一、引言USB(Universal Serial Bus,通用串行总线)是一种用于连接计算机与外部设备的标准接口。
USB协议架构是指USB接口的通信规范和数据传输方式,而USB驱动架构是指操作系统中USB设备的驱动程序模型。
本协议旨在详细介绍USB协议架构及驱动架构。
二、USB协议架构1. USB层次结构USB协议架构包括物理层、传输层、协议层和应用层四个层次。
物理层负责传输电气信号,传输层负责数据的可靠传输,协议层负责数据的管理和控制,应用层负责具体的设备功能。
2. USB通信模型USB通信模型采用主从式结构,主机负责控制和管理USB总线,从设备负责响应主机的控制命令和提供服务。
3. USB传输方式USB协议定义了四种传输方式:控制传输、批量传输、中断传输和等时传输。
控制传输用于命令和状态的传输,批量传输用于大量数据的传输,中断传输用于低延迟的数据传输,等时传输用于实时数据的传输。
4. USB协议规范USB协议规范定义了USB设备的插拔、电源管理、数据传输、错误处理等方面的规范。
USB协议规范分为1.x、2.0、3.0等版本,每个版本都有自己的特性和性能。
三、USB驱动架构1. USB驱动模型USB驱动模型是操作系统中管理USB设备的框架。
常见的USB驱动模型包括USB Host Controller Driver、USB Device Driver和USB Class Driver等。
2. USB Host Controller DriverUSB Host Controller Driver负责管理主机控制器与USB总线之间的通信。
它提供了与主机控制器交互的接口,并负责USB设备的枚举、配置和控制。
3. USB Device DriverUSB Device Driver负责管理USB设备与操作系统之间的通信。
它提供了与USB设备交互的接口,并负责解析USB协议、处理数据传输和错误处理等。
USB USB(通用串行总线)是用于将适用USB 的外围设备连接到主机的外部总线结构,其主要是用在中速和低速的外设USB 是通过PCI 总线和PC 的内部系统数据线连接实现数据的传输USB 同时又是一种通信协议他支持主系统(host)和USB 的外围设备(device)之间的数据传输。
USB 目前有两个版本,USB1.1的最高数据传输率为12Mbps,USB2.0则提高到480Mbps。
注意:二者的物理接口完全一致,数据传输率上的差别完全由PC的USB host控制器以及USB设备决定。
USB可以通过连接线为设备提供最高5V,500mA的电力。
USB接口的类型 USB接口有3种类型:- Type A:一般用于PC- Type B:一般用于USB设备- Mini-USB:一般用于数码相机、数码摄像机、测量仪器以及移动硬盘等USB 的作用 连接PC 与电话,PC 具有很强的运算能力,而电话提供最为广泛的通信互连。
运算与通信成为计算机应用的基础,而计算机与通信是两个相对独立发展的产业,USB 旨在提供可以广泛应用于PC 到电话的互连的普遍性的连接。
Plug-and-Play ,从用户端来看PC 的串行口、并行口和键盘鼠标端口都不能Plug-and-Play,USB 则提供真正的Plug-and-Play。
端口扩展PC 的已有的串行/并行口等端口只适用于一两种的外设,并且不易扩展。
USB提供双向、低成本、低速到中速(USB 2.0 可达480Mb/s) 的通用外设总线,适用于连接各种各样的外设,并且易于扩展。
USB 的拓朴结构 在USB 的网络协议中每个USB 的系统有且只有一个主系统(host)它负责管理整个USB 系统包括USB设备的连接与删除、Host 与USB 设备的通信总路线的控制等等。
Host端有一个Root Hub 可提供一个或多个USB 下行端口每个端口可以连接一个USB Hub或一个USB DeviceUSB Hub 是用于USB 端口扩展的即USB Hub 可以将一个USB 端口扩展为多个端口。
从1994年11月11日发表了USB V0.7版本以后,USB版本经历了多年的发展,已经发展为3。
1版本,成为当前电脑中的标准扩展接口。
当前主板中主要是采用USB1.1和USB2.0,各USB版本间能很好的兼容。
USB用一个4针(USB3.0标准为9针)插头作为标准插头,采用菊花链形式可以把所有的外设连接起来,最多可以连接127个外部设备,并且不会损失带宽。
USB需要主机硬件、操作系统和外设三个方面的支持才能工作。
当前的主板一般都采用支持USB功能的控制芯片组,主板上也安装有USB接口插座,而且除了背板的插座之外,主板上还预留有USB插针,可以通过连线接到机箱前面作为前置USB接口以方便使用(注意,在接线时要仔细阅读主板说明书并按图连接,千万不可接错而使设备损坏)。
而且USB接口还可以通过专门的USB连机线实现双机互连,并可以通过Hub扩展出更多的接口。
USB具有传输速度快(USB1.1是12Mbps,USB2.0是480Mbps,USB3.0是5 Gbps),使用方便,支持热插拔,连接灵活,独立供电等优点,可以连接鼠标、键盘、打印机、扫描仪、摄像头、闪存盘、MP3机、手机、数码相机、移动硬盘、外置光软驱、USB网卡、ADSL Modem、Cable Modem等,几乎所有的外部设备。
USB接口可用于连接多达127个外设,如鼠标、调制解调器和键盘等。
USB自从1996年推出后,已成功替代串口和并口,并成为当今个人电脑和大量智能设备的必配的接口之一。
USB各版本区最大传输速率速率称号最大输出电流协议推出时间:USB1.0:1.5Mbps(192KB/s)低速(Low-Speed)500mA……1996年1月;USB1。
1:12Mbps(1.5MB/s)全速(Full—Speed)500mA……1998年9月;USB2.0:480Mbps(60MB/s)高速(High-Speed)500mA……2000年4月;USB3。
2. 1 主机是主控者 主机是唯一的主控者,这是最基本的 USB 概念。
在 USB 系统中仅有一个支配者,那就是主 机。
USB 设备将会等待主机的请求而加以响应。
因此, USB 是无法在其间相互进行信息传 递的, USB 并不支持点对点的拓扑结构。
然而,存在一种情况似得 USB 设备无需主机介入即可发出开始信号,那就是有主机将设备 置入低功耗带起模式之后, 设备可发出远程唤醒信号, 这是唯一的一种设备可以开始发送信 号情况。
除此情况外,除非主机发送设备请求,然后设备才会加以响应。
利用这种以主机为中心的模式, USB 实际工程师应当特别留心产品的成本,可以设计尽量 低成本的外围设备, 而将复杂的部分尽量放置在 pc 主机一侧。
当然,如果将 USB 结构设计 为点对点的方式, 则每个 USB 设备可能需要性能更好, 相对来说设计产品的成本也将更高。
2.2USB 方向 由于主机总是总线的主控者, 这样就很容易记得 USB 的方向: out 是指从主机到设备, 而 in 是指设备到主机。
Fx2 的术语采用这个约定。
例如,一个端点发送数据到主机,则定义为 in 端点。
刚刚开始接触,可能会不太理解,为什么 fx2 发送数据到主机反而定义为 in 呢?其 实 in 和 out 主要是从哪个方向看的问题。
相应地, fx2 通过从主机 out 端点接收数据。
2.3 令牌和 pid 码 USB 数据交换中,包含了特殊程序代码所定义的数据包,即所谓的信息包 id 或 pid 。
Pid 表 示何种信息包正在传送信息。
表 2, 2 列出了四种 pid 类型 图 2.1 所示为 USB 传输示意图。
信息包 1 为 out 令牌,用来指示 outpid 。
Out 令牌表示数据 从主机传动到总线。
信息包 2 包含了数据,用来指示 data1pid 。
信息包 3 为握手包,在此, 设备会送出 ackpid 给主机,以表示正确无误的接受主机所传送的数据。
同样,在图 2.1 中,用户可以看到第二个数据交换是由另一个 out 令牌 4 开始的,而后在跟 随更多的数据 5.在这一时刻用户使用了另一个 data0pid 。
最后,设备再一次以握手包 6ackpid 来说明已经成功的传送来数据。
当工作在全速方式时,每一个 out 传输都发送 out 数据(即使此时设备因为忙而无法接收数 据)。
当工作在高速方式时,通过采用新的 pingpid 来补偿 USB 带宽的微小的闲置。
主机向 out 端点首次发送短 ping 令牌,询问外围设备是否有空间接受 out 数据,只有当 ping 令牌得 到 ack 的回答,主机才发送 out 令牌和数据。
USB 设计者采取非常周密的错误检测,这也就是为什么会采用两个 datapid ( data0 和 data1) 的原因。
正如前面提到的一样, ack 握手是用来指示主机和外围设备已经无错误的接收了数 据(包最后的 crc 字段是用来检测错误的) 。
但是,如果握手包本身在传输过程中就已经扭 曲或损坏又当如何呢?为了检测这个错误,可在每一侧(主机和外围设备 )维护 datatoggle 位,用于在每个包传输时加以 togle 位的状态,将会与到达伴随数据的pid 相比较,如 data0 或 data1。
当送出数据时,主机和外围设备交替发送data0pid 和 data1pid,通过内部 toggle位的状态与datapid 相比较的方式,主机和外围设备就能检测到错误或损坏的握手包Setup 令牌仅供控制传输使用,其中放了 8 字节的前导数据,用于主机的设备请求进行译码。
在全速的方式下,sof( start of frame )令牌每 1ms 产生一次,用来表示USB 帧的到达;而在高速的方式下,每一个USB 帧中包含8 额 sof 令牌。
有 4 种握手 pid 用来表示USB 传输的状态:Ack ( acknowledge)表示一个令牌或数据包接成功。
Nak(negative acknowledge )表示接收机当前太忙或没有资源来处理令牌或数据包。
他表示的是“忙,再试一次” ,不要误解为nak 表示的是错误。
它不是表示发生了错误,会通过无响应来表示发生了错误。
外围设备可对除了setup 令牌以外的任何事物处理USB 通常nak 握手。
Stall (停滞)表示发生了一些无法预料的错误(可能是通信错误导致,也可能是主机与外围设备软件之间无法配合的原因) 。
设备发送 stall 握手包用来表示不了解这个设备的请求,这可能是在外围设备端发生了错误, 或者是主机试图尝试存取一些不存在的资源这个状态有点儿像“停止( halt )”,但是情况要好些,因为此时 USB 会提供从 stall 恢复( recover )的方法。
Nyet ( not yet )表示的意思与 ack 相同,即数据接收无误,但是,它表示端点还没有准备好接受“另外的” out 传输。
Nyet pid 仅在高速方式时有效。
此外,pre ( preamble ——前导) pid 置于低速( 1.5mb/s ) USB 传输之前,而 EZ-USB FX2只支持全速( 12mb/s )和高速( 40mb/s )的 USB 传输方式,它将忽略 pre 包以及其后跟随 的低速传输。
1. 从主机接受数据为了发送数据到 USB 外围设备,主机会在数据之后发出 out 令牌包。
如果外围设备还有容 量空间,并能无错误的接受数据,就会回复 ack ,让主机知道。
如果处在忙状态,则以 na k 来取代传输。
假如发现了一个错误, 则不传输任何消息。
对于后两种情况, 主机会在稍后传 输数据。
2. 发送数据到主机 USB 设备不会“自然的”将数据传输到主机上,为了传输, EZ-USB FX2-USBfx2 的固件或 外部逻辑任何时刻都能装载数据到 fx2 端点缓冲区 “保持 (arm )”。
然而,直到主机向 fx2 端 点发出 in 请求,这些数据才不被传输。
如果主机一直不发 in 令牌,则这些数据是否还保存 在 fx2 的端点缓冲区就不一定了。
2.4USB 帧 对于所有 USB 设备, USB 主机通过每 1ms 传输一个 sof (帧起始)包来作为时间基准。
So f 包包含对每一帧进行累加记数的 11 位计数值。
当前的帧计数值 [0— 207] 可在任何时刻从 fx 2 内部寄存器中读到。
在高速( 480m/s )方式下,每 1ms 帧被分为 8 个 125us “微帧”,每一个微帧都由 sof 包作为 前导,而帧计数值。
为了保持当前的微帧计数值 [0-7],fx2 提供了一个可读的微帧计数器。
只要 fx2 接收到一个 sof ,他它就生成一次中断请求(全速方式时,每 1ms 一次;高速方式 时,每 125us 一次)。
这个 sof 中断非常有用,例如可以用于同步端点数据传输等。
2.5USB 传输类型USB 定义了 4 中传输类型,这些类型必须符合通过总线来传输不同数据类型的需求。
1. 批量传输批量传输是一种突发的传输模式,此种传输模式中,在全速方式时,以8、 16、32、64 字节信息包传输;在高速方式下,以512 字节信息包传输。
此外,由于其具有自动的错误数据校验机制( crc),所以批量传输能够确保其正确性。
若总线上有可用的带宽时,则主机会安排批量信息包。
使用批量传输的典型外围设备有打印机、扫描仪和调制/解调器等。
另外,批量传输可通过握手包所提供的内建流程来控制。
批量传输示意图如图 2.2 所示。
2 中断传输中断传输有点儿类似于批量传输。
中断传输的信息包大小在全速方式时为1—64 字节而在高速方式时可达到 1024 字节。
中断端点必须必须设置轮询间隔,以保证经过主机做有规则的询问(接受 in 令牌)。
因此,此种中断传输方式有点儿像pc 主机轮询方式。
早期的USB1.0协议,仅具备中断 in 传输;而在 USB1.1 以后的协议,则增加了中断out 传输。
中断传输示意图如图 2.3 所示。
3 同步传输同步传输具有时间临界的特性,应用在如音频和视频的数据流中,一个同步信息包,在全速方式时可达到1023 字节;而在高速方式时可达到1024 字节。
对于同步传输,传输的时间是最重要的请求信息。
在每一个USB 帧中,会声明某些贷款给同步传输是使用。
为了减轻带宽分配的负担,同步传输没有设置任何的握手包( ack/nak/stall/nyet ),而且也不会在发生错误时重试。
错误检测仅限于16crc 错误校验码。
由于同步传输没有采用data-toggle 机制,所以在全速方式中,同步传输仅使用了 data0;而在高速方式中,同步传输使用了 data0、data1、data2、和 mdata。
在全速方式下,每一个端点,每一帧仅只有一个同步信息包能被传输;而在高速方式下,可以有 3 个同步信息包。
同步传输示意图如图 2.4 所示。
4.控制传输控制传输用于配置设备和给发送命令。
由于控制传输的作用是如此重要,所以传输中采用了最强的 USB 错误校验。
对于控制传输,主板在每一USB 帧中都有留有余量(一般为10% )。
控制传输示意图如图2.5 所示。
控制传输2-3 个阶段。
其中,s etup 阶段中包含了 8 个 USBconteol 数据。
如有必要,可执行data 阶段,此阶段包含有更多的数据。
在 status(或握手)阶段中,允许设备指示一个控制操作已经成功完成。
上面讨论了 4 中传输类型,需要注意的是这些内容必须与以后讨论的有关端点的知识相结合,每一种传输类型都是通过相应的端点来实现的。
2. 6 设备枚举当用户大打开计算机,将 USB 设备连接到USB 总线后,主机的windows 系统将自动检测设备并连接设备,经过很短的时间将会发现USB 设备已经神奇的与计算机连接好了。
一般都有这样的经验,当要将一个声卡安装到计算机中时,要设置很多跳线,安装驱动,设置io /中断 /dma 等。
这时我们都在想,如果能够实现即插即用就好了,而 USB 则将此变为了现实。
这一切是如何进行的呢?在每一个USB 设备的内部都有一个设备描述表,在这个设备描述表中包含了设备的全部要求和特性。
在USB 设备插入主机后,主机就会执行认证程序,这个过程称为设备枚举。
可将这个程序简化为如下 5 个步骤: 1 使用预设的地址 0 取得设备描述符; 2 设定设备的新地址; 3 使用新地址取得设备描述符; 4 取得配置描述符; 5 设定配置描述符。
由此可知,设备枚举就是通过主机与设备之间的控制传输来辨识和配置新连接上的 USB 备过程。