微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 采用ST72F651实现的安全U盘

采用ST72F651实现的安全U盘

时间:09-04 来源:互联网 点击:
3 采用ST72F651实现安全U盘的原理  

从ST72F651的特点可以看出,这是一款专门为安全U盘功能而设计的芯片。采用ST72F65实现安全U盘,可以在相同的硬件设计基础上,通过控制器芯片的嵌入式软件的不同设计,实现基本型或增强型的安全U盘。  

3.1 硬件原理  

采用ST72F651实现安全U盘,基本型和增强型的硬件原理相同。如果系统没有附加的需求,则可以采用相同的硬件形式。基本型KEY部分采用HID(Human Interface Device,人机接口设备)接口协议,U盘部分采用Mass Storage设备的BOT(Bulk Only Transport)协议。其主要硬件原理如图3所示。


                                 图3 采用ST72F651的安全U盘主要硬件原理  

其中,U盘为Windows标准外设,容量由所使用的NAND Flash大小决定。本系统最多支持到4片NAND FL ASH,每片容量最大为256 MB。  

智能卡接口由软件模拟仿真ISO/IEC78163接口,T=0或T=1协议的支持由软件实现。  

除上述基本功能外,由于ST7F651芯片具有丰富的I/O接口资源,因此对于某些有特殊需求的领域,也可以方便地增加实时时钟功能模块、后备电池及其充电管理模块,以及其他SPI及I2C专用功能模块。  

3.2 软件原理  

(1) 基本型  

基本型相当于PC上同时插入KEY和U盘两个设备,因此其软件流程对两部分的操作是相对独立的。其中PC上软件流程如图4所示。   


                                     图4 基本型安全U盘上层软件流程  

采用ST72F651实现的基本型安全U盘的底层软件流程如图5所示。   


                                     图5 基本型安全U盘底层软件流程  

(2) 增强型  

增强型安全U盘的上层软件的KEY通道可保留部分功能,仍通过HID接口实现,即安全U盘中保留部分通用KEY功能(如签名/认证等)。具体的实现方式和用法可参照一般USB KEY,这里不予讨论。

安全U盘部分的功能根据安全需要的不同,可选择以下几种方式:  

① 通过通用接口调用KEY函数,ST72F651内存中保留相关的安全状态(如认证结果等)和操作标志。调用Mass Storage函数操作U盘时,根据预先设定好的文件安全属性,自动检查内存中的安全状态和操作标志,只有满足安全要求的操作才允许执行。  

② 除①中的认证外,还须加密存储的安全U盘;除检查内存中的安全状态外,还需在数据读出/写入时,自动调用智能卡函数执行相应的数据加/解密操作。由于智能卡的通信速度和执行速度的局限性,一般大容量数据的加/解密工作都采用PC软件与KEY功能结合的方式。其软件流程与图4中的基本型软件流程相似,只是在微软Mass Storage函数DLL与设备驱动之间,再加入一层用户自己的DLL,以便在具体的文件操作命令执行过程中,由用户DLL自动调用必要的KEY功能(如口令认证等),以满足安全性的需要。这一层操作对用户是透明的,无须用户干预,因此这种方式非常实用。  

其中涉及的数据加/解密以及文件校验等操作,在底层自动实现,以获得更高的系统安全性(由于安全操作嵌入底层的不可屏蔽性)和更高的运行速度(通过减少PC与底层的通信次数)。其底层软件流程与基本型的区别在于接收到BOT数据的命令处理分支部分,即图5中的A部分。其执行流程如图6所示。


                                 图6 增强型安全U盘数据存取操作特殊流程  

当然,在一些对数据安全性和可靠性要求更高的场合,还可以采用扩展专用命令集的方式,将所有功能全部预先定制好;只有通过专用命令接口,获得必需的安全操作权限才可进行某种操作。这种方式可将各种数据操作的条件和属性进行细化设计,以获得不同的效果。目前国家税务总局网上公布的《运输发票税控盘/传输盘技术规范》就是这种方式的一个良好实践。  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top