CN100498742C - 一种可信u盘、实现可信u盘安全性及其与计算机数据通信的方法 - Google Patents

一种可信u盘、实现可信u盘安全性及其与计算机数据通信的方法 Download PDF

Info

Publication number
CN100498742C
CN100498742C CNB2007100003300A CN200710000330A CN100498742C CN 100498742 C CN100498742 C CN 100498742C CN B2007100003300 A CNB2007100003300 A CN B2007100003300A CN 200710000330 A CN200710000330 A CN 200710000330A CN 100498742 C CN100498742 C CN 100498742C
Authority
CN
China
Prior art keywords
usb flash
flash disk
credible usb
data
host side
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2007100003300A
Other languages
English (en)
Other versions
CN101051292A (zh
Inventor
吴世忠
石超英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Mingyu Technology Co Ltd
CHINESE INFORMATION SAFETY PRODUCT TEST AUTHORIZATION CENTRE
Original Assignee
Beijing Mingyu Technology Co Ltd
CHINESE INFORMATION SAFETY PRODUCT TEST AUTHORIZATION CENTRE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Mingyu Technology Co Ltd, CHINESE INFORMATION SAFETY PRODUCT TEST AUTHORIZATION CENTRE filed Critical Beijing Mingyu Technology Co Ltd
Priority to CNB2007100003300A priority Critical patent/CN100498742C/zh
Publication of CN101051292A publication Critical patent/CN101051292A/zh
Application granted granted Critical
Publication of CN100498742C publication Critical patent/CN100498742C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种可信U盘、实现可信U盘安全性及其与计算机数据通信的方法。普通U盘是一个对外完全透明的移动存储访问介质设备,对数据的访问没有任何的访问控制,即只要是具有USB接口的接入方都可以无阻碍地使用,用户使用普通U盘在内外网之间可随意拷贝数据,另外,U盘丢失之后其信息会随即泄漏,因此,存储在U盘上的敏感数据存在不安全的风险。本发明通过采用在智能卡操作系统上运行的自销毁程序、证书认证程序、Applet认证程序和SCSI指令承载智能卡指令的方法,较好地解决了可信U盘安全性问题及计算机与可信U盘的数据通信问题。本发明保密性极强,适用于对机密性要求比较高的各种特殊需要的场合。

Description

一种可信U盘、实现可信U盘安全性及其与计算机数据通信的方法
技术领域
本发明涉及可信USB存储技术、信息安全技术领域,特别涉及可信U盘技术领域。
背景技术
目前,USB接口已经成为计算机的标准配置端口,而USB移动存储设备,尤其是可信U盘,由于具有存储速度快,容量大,使用方便、体积小等特点,在日常工作中得到越来越广泛的应用。
普通U盘是一个透明的移动存储介质设备,对数据的访问没有任何访问控制,只要具有USB接口的接入方都可以无阻碍地使用。因此,U盘在给人们带来便利的同时,也带来了两个重要问题:信息泄密和恶意软件的植入。
U盘造成信息泄密的原因有二:
①、由于用户在内外网之间随意拷贝数据造成内网机密信息的泄露,这种泄密方式已经成为互联网时代信息泄密主要原因之一,而且使得内外网物理隔离形同虚设。
②、由于U盘体积小,容易丢失,因此,U盘的丢失也是信息泄密的重要原因之一。
当然,在内外网之间随意拷贝数据也会造成恶意软件的植入。
目前常用的解决U盘安全问题的方法有:
1、为了防止用户在内外网之问随意拷贝数据,采取的解决方案或安全U盘产品有:
1)、采用移动存储介质管理制度来控制U盘的使用。那些需要保护敏感数据的特殊部门大多制定了USB移动存储设备使用安全管理制度,由此带来了管理成本的大大增加,同时,由于使用上的不便,很多部门的制度形同虚设,给防泄密带来较大的安全隐患。
2)、采用口令认证技术来控制对U盘的使用。
使用口令认证技术的安全U盘,仅仅实现了主机对外部设备的单向认证,并未对U盘本身以及U盘所处使用环境进行认证。也就是说,这种技术无法证明U盘是否真正可信,例如,如果非授权用户获得了U盘口令,则该U盘就毫无可信而言了。
3)、采用指纹识别技术来控制对U盘的使用。
那些使用指纹识别技术的安全U盘,仅仅实现了主机对外部设备的单向认证,并未对U盘本身以及U盘所处使用环境进行认证,而且只是将U盘与用户身份进行了绑定。这种技术就是基于对人的信任,而人往往是造成泄密和引入恶意软件的主要因素。也就是说,用户可能通过指纹U盘故意或非故意将敏感信息拷贝到外网,而系统无法控制和审计,且用户在内外网之间拷贝文件,可能无意之中引入恶意软件。故这种认证方式不是严格的,不能满足特殊部门设备使用的安全性要求,无法真正回答设备是否可信,设备是否允许在系统中被使用,设备本身是否认可使用环境,使用者是谁等问题。
4)、采用终端安全管理软件(例如:防水墙产品)将内网主机的USB端口禁用。
采用终端安全管理软件来禁用内网主机的USB端口,可以防止一切设备通过USB端口对主机进行访问,但是,无法实现灵活的权限管理。
2、为了防止U盘丢失之后其信息的泄漏,目前主要的解决办法有两种方式:
1)、采用软件加密方式,即通过主机上安装的加密软件对U盘存储的数据进行加密;
使用软件加密方式的安全U盘,由于加密通过主机完成,相比硬件加密而言,由于加密强度不够、加密密钥存放不安全等问题,存在较大安全隐患,而且U盘上存储的加密文件或数据容易被转移出来进行长时间分析与破解。
2)、采用硬件加密方式:即通过在U盘上增加具有加密功能的芯片实现片上加密。
采用硬件加密方式的安全U盘,相对软件加密方式而言,加密强度较高,而且由于加密密钥存储在防篡改硬件上,因此,安全性相对于软件加密方式而言较高,但是,仍然无法解决U盘上数据被转移分析的问题。
3、在U盘的文件系统中存放标识符的方式提供权限管理,但是这种方式依赖于Windows文件系统格式,很容易被破解。
综上所述,上述这些方法都只能解决U盘安全使用中的部分问题,或者在一定程度上提高U盘的安全性,并不能完全解决U盘使用中的所有安全问题,也就是说,所有这些U盘都是不可信的。
发明内容
本发明的目的在于:提供一种满足可信组织要求、高安全性能的可信U盘,以解决现有可信U盘使用过程中存在的上述安全问题,并提供可信U盘与计算机的通信方法。
本发明的技术方案如下:一种可信U盘装置,包括:主机端1、所述主机端1存在1-4个USB接口11、CA中心3、内存20、IO控制器30和闪存40,还包括:支持RSA、DH、ElGamal、ECC公钥密码算法与DES、3DES、AES对称密码算法和第三方加密算法的加密协处理器50、按照Java Card技术规范编制的智能卡操作系统203且通过所述加密协处理器50完成加解密运算的Z32UF安全控制器60;所述加密协处理器50集成在所述Z32UF安全控制器60芯片上;所述内存20、IO控制器30、闪存40、加密协处理器50、Z32UF安全控制器60构成可信U盘2,所述可信U盘2通过插入所述USB接口11连接到主机端1,所述主机端1通过网络方式与所述CA中心3连接,并能获得所述CA中心3提供的证书申请和验证服务;所述主机端1与所述可信U盘2之间可实现双向认证,所述主机端1与所述可信U盘2之间通过两种SCSI指令传输数据相联系。
在所述可信U盘2的所述Z32UF安全控制器芯片60上安装有按照Java Card技术规范编制的智能卡操作系统203,在所述智能卡操作系统203上运行有可信U盘控制程序201、控制闪存读写的应用程序301完成非授权访问次数超过阈值的逻辑判断并实现自销毁的程序111、用于完成证书认证的应用程序112和Applet认证程序113;所述智能卡操作系统203通过所述加密协处理器50完成加解密运算,同时,①、在所述可信U盘2内保存一个与之相关的数字设备证书,代表其身份,在其接入端也保存一个代表其接入端身份的数字证书,②、所述主机端1具备标准的证书申请方式;实现可信U盘安全性及实现计算机与可信U盘数据通信的方法如下:
①、可信U盘完成非授权访问次数超过阈值的逻辑判断并实现自销毁的方法,
②、基于数字证书的双向认证机制以提高可信U盘访问安全性的方法,
③、通过Applet认证程序控制可信U盘访问的方法,
④、通过定义第二种SCSI指令实现计算机与可信U盘数据通信的方法。
在所述可信U盘2的操作系统203上,安装的所述自销毁程序111可以对USB接口访问进行控制、完成非授权访问次数超过阈值的逻辑判断,并实现销毁动作;
该自销毁方法的步骤如下:
(1)、判断步骤①,所述可信U盘1收到“访问尝试”的指令后,判断其是否是“合法访问”①,如为“否”则进入审计步骤③,如为“是”则进入“结束”步骤②;
(2)、审计步骤③,用于累计“非法访问尝试”信号的次数,将n加1,进入下一步“是否超过阈值“m”的步骤④;
(3)、判断步骤④,经过“n+1”次的操作后,将信号送入“是否超过阈值m”的步骤④,如为“是”则进入“格式化操作”步骤⑤,如为“否”则进入“结束”步骤②;
(4)“格式化操作”步骤⑤,系统接收到大于或等于“m”次的“非法访问尝试”后,所述对可信U盘1存储内容进行格式化的自销毁操作。
所述n为系统审计的非法访问尝试的次数,所述m为系统设定的允许非授权访问次数的阈值。
基于数字证书的双向认证机制以提高可信U盘访问安全性的方法如下:
①、所述可信U盘设备证书生成、加载,
②、所述主机端1证书生成
③、所述主机端1和所述可信U盘2实现双向认证。
所述可信U盘2设备证书生成、加载的步骤如下:
步骤601、所述主机端1向所述可信U盘2发起建立通道的请求,
步骤602、所述可信U盘2响应并建立通道,
步骤603、所述主机端1请求所述可信U盘2生成RSA密钥对,
步骤604、所述可信U盘2响应,并将公钥导出,返回给所述主机端1,
步骤605、所述主机端1用所述可信U盘2的公钥向所述CA中心3提出制作证书请求,
步骤606、所述CA中心3生成所述可信U盘2的证书并返回给所述主机端1,
步骤607、所述主机端1将所述可信U盘2证书写入到所述可信U盘2中,同时将所述CA中心3的根证书也写入到所述可信U盘2内进行存储,
步骤608、所述可信U盘2成功执行返回。
所述主机端1的证书生成的步骤如下:
步骤701、所述主机端1证书生成,以标准的证书申请方式向所述CA中心3申请证书,
步骤702、所述CA中心3将生成的所述主机端1证书返回给所述主机端1。
所述主机端1和所述可信U盘2实现双向认证的步骤如下:
步骤801、所述主机端1发起认证请求,
步骤802、所述可信U盘2做出认证请求的响应,如果所述可信U盘2拒绝认证请求,双向认证失败,
步骤803、所述主机端1通过与所述可信U盘2交互获取所述可信U盘2的设备证书
步骤804、所述可信U盘2将自身的数字证书返回给所述主机端1,
步骤805、所述主机端1向所述CA中心3发起证书验证请求,以验证所述可信U盘2的设备证书的有效性,
步骤806、所述CA中心3将验证结果返回给所述主机端1,如果所述CA中心3认为所述可信U盘2的证书无效,双向认证失败,
步骤807、所述主机端1生成主机端的挑战数据,并将此数据和所述主机端1证书一起发送到所述可信U盘2,
步骤808、所述可信U盘使用保存的所述CA中心3的证书对所述主机端1证书进行验证,通过后使用所述可信U盘2内的证书对应的私钥对主机发送的挑战数据进行签名,得到“签名结果”;同时生成所述可信U盘2的挑战数据,与“签名结果”并发送回所述主机端1,如果所述可信U盘2认为所述主机端1的证书无效,双向认证失败,
步骤809、所述主机端1验证所述可信U盘2计算的“签名结果”,同时对所述可信U盘2产生的挑战数据进行数字签名,送到所述可信U盘2内,
步骤810、所述可信U盘2对所述主机端1产生的“签名结果”进行验证,成功后双向认证完成;如果所述可信U盘2内对所述主机端1产生的签名验证失败,则双向认证失败。
通过Applet认证程序控制可信U盘访问方法的步骤如下:
①、待处理数据207,所述主机端1发送数据到所述可信U盘2,此数据分为三种:
认证数据a,
写入/读取闪存的请求数据b,
其他数据c,
三种数据被所述可信U盘的控制程序201接受,进入下一步,
②、所述可信U盘的控制程序201检测所述待处理数据207的类型206,
③、如果是所述认证数据a,发送到所述Applet认证程序113进行处理,
④、所述Applet认证程序113对所述认证数据a进行身份认证处理,
⑤、判断认证成功否?如果身份认证成功,所述Applet认证程序113通过所述智能卡操作系统203,激活所述闪存访问标记202,进入认证成功213,
⑥、否则,进入认证失败214,
⑦、如果是非认证数据,但系所述写入/读取闪存的请求数据b,则进入检查闪存访问标记215,
⑧、判断检查闪存访问标记215是否被激活216,如果未激活,进入103,抛弃该数据,
⑨、如果已激活,将该数据写入到所述闪存40中保存数据,否则进入待处理数据207,返回相应的错误信息,
⑩、如果是所述其他数据c,则直接进入103扔掉,不对外返回任何信息。
所述主机端1与所述可信U盘2间实现数据通信的第一种指令为标准SCSI指令,在所述智能卡操作系统203上运行的可信U盘控制程序201用于处理存储的该标准SCSI指令,所述主机端1与所述可信U盘2间实现数据通信的第二种指令为SCSI指令,所述主机端1与所述可信U盘2进行数据通信的方法与步骤为:
①、首先对所述可信U盘2定义第二种SCSI指令的数据格式,
②、同时利用该第二种SCSI指令,实现主机端1与所述可信U盘2之间的数据通信。定义所述第二种SCSI指令数据格式的过程如下,
①、所述标准SCSI指令的格式如下:
 
SCSI命令头 数据 操作结果
其中“SCSI命令头”是外界向设备传送的命令数据,“数据”部分可以是外界发送的数据,也可以是设备向外界返回的数据,
②、所述智能卡指令的格式如下:
 
CLA INS P1 P2 Lc Data Le
其中,“CLA”代表了命令类,“INS”代表了指令,“P1和P2”代表了参数,“Lc”是“Data”域数据长度,“Data”是“Lc”指示的数据,“Le”是期望智能卡返回的数据长度。
③、所述第二种SCSI指令的格式如下:
 
SCSI命令头 标记+智能卡指令 操作结果
其中“标记”为智能卡指令标记,定义其格式如下:
 
标记名称 标记 数据
命令 {标记1} 智能卡的命令指令数据
响应 {标记2} 智能卡的响应指令数据
状态字 {标记3} 智能卡的状态字数据
利用该第二种SCSI指令,实现所述主机端1与所述可信U盘2之间数据通信的步骤如下:
步骤1501、所述主机端1发送标记为“命令”的数据,
步骤1502、所述主机端1发送标记为“响应”的数据,取回响应结果,
步骤1503、所述主机端1发送标记为“状态字”的数据,取回状态字。
1)、所述主机端1发送标记为“命令”的数据,将所述智能卡命令指令打包成所述SCSI指令的数据,按照智能卡指令标记中“命令”标记处理,然后发送给所述可信U盘2,
2)、所述主机端1向所述可信U盘2发送标记为“响应”的数据,所述可信U盘2响应结果的处理,由所述可信U盘2上的所述Z32UF安全控制器60处理,其步骤为:
①、标记响应数据,按照智能卡指令标记中“响应"标记处理,
②、标记状态字,按照智能卡指令标记中“状态字”标记处理,
3)、所述主机端1向所述可信U盘2发送标记为“状态字”的数据,所述主机端1通过所述第二种SCSI指令取得响应数据,直到取完,其步骤为:
①、如果存在,即获得响应数据,
②、获得状态字。
所述第二种SCSI指令的数据格式,即对所述可信U盘2的通信协议。
所述加解密运算用于验证和签名。
由于采用以上技术方案,本发明解决了普通U盘使用过程中存在的多种不安全问题,本发明的显著特点在于:除了具有普通U盘的特点(使用USB接口的移动存储设备)以外,还全面考虑了安全的各个方面:
1、安全域分级管理(内外网隔离)功能:支持在多种不同安全级别环境下使用
①、双向认证技术:可信U盘私钥在硬件上生成,支持PK1认证。
②、多证书技术:扩展性、兼容性。
2、防遗失泄密功能:存储设备遗失的情况下,信息不会泄漏
①、存储加密技术:采用硬件芯片加密技术,支持RSA、ECC、DH、ElGamal公钥算法,DES、3DES、AES对称密码算法和第三方加密算法以及多种专用密码算法。
②、自销毁技术:对非法访问企图进行审计,超过阈值自动进行格式化操作。
采用上述技术方案后,本可信U盘完全支持TCG组织提出的关于可信存储设备的功能定义。
TCG组织提出的关于可信存储设备的功能定义:
①、支持登录与连接(enrollment&connection)
②、提供受保护存储(protected storage)
③、锁定与加密(10cking&encryption)
④、安全性相对于软件加密方式而言较高,但是,仍然无法解决被转移分析的问题。
⑤、密码服务(cryptographic service)
⑥、一些主机认可的存储设备特征(authorizing SD featuresets to Hosts)
⑦、嵌入式软件的安全下载(secure download of firmware)
本发明与已有几种安全U盘的显著区别还可由下表所示:
 
安全功能对比 可信U盘 指纹识别安全U盘 基于文件标识的加密安全U盘
防丢失泄密 硬件加密,自销毁 硬件加密 软件加密
基于安全域(分级)管理 支持(双向认证) 不支持 支持
物理隔离 支持(双向认证) 不支持 不支持
可扩展性和兼容性(多证书) 支持 不支持 不支持
身份绑定 支持 支持 不支持
附图说明
图1—普通U盘的物理结构示意图
图2--可信U盘的物理结构示意图
图3--可信U盘内软件层次结构图
图4--可信U盘自销毁技术操作流程示意图
图5--本发明主机端和可信U盘的接入关系示意图
图6--本发明可信U盘的设备证书生成、加载示意图
图7--本发明主机端证书生成示意图
图8--本发明主机端和可信U盘实现双向认证过程示意图
图9—Applet认证程序113控制可信U盘访问的示意图
图10--Applet认证程序控制可信U盘访问的工作流程图
图11--主机端1与普通U盘通信框图
图12--主机端1与智能卡通信框图
图13--主机端1与可信U盘2通信框图
图14--主机端1通过两种SCSI指令与可信U盘2通信示意图
图15--主机端1向可信U盘2发送的三种数据示意图
其中,1--主机端,2--可信U盘,20---内存,30--IO控制器,40--闪存,50--加密协处理器,60--Z32UF60安全控制器,3--CA中心,对证书申请、验证提供服务的权威机构,111--自销毁程序,112--用于完成证书认证的应用程序,113--Applet认证程序,201--可信U盘控制程序,202--闪存访问标记,203--智能卡操作系统,301—控制闪存读写的应用程序,n--系统设定的“非法访问尝试”的次数,m--系统设定的允许非授权访问次数的阈值。
具体实施方式
可信计算组织对可信设备提出了其必备的属性、功能与特点:
1、可信计算组织(TCG,Trusted Computing Group)对“可信"定义为:可信是一种期望,在这种期望下设备按照特定的目的以特定的方式运转。
根据可信计算组织的可信计算平台标准实施规范,可信计算应包括以下三个属性与功能:
①、确保用户身份的唯一性,用户工作空间的完整性与私有性。
②、确保硬件环境配置、OS内核、服务及应用程序的完整性。
③、确保存储、处理、传输的信息的保密性/完整性。
2、可信计算组织针对不同的终端类型和平台形式制订出了一系列完整的规范,例如个人电脑、服务器、移动电话、通信网络、软件等等,这些规范所定义的可信平台模块(TrustedPlatform Module,TPM)通常以硬件的形式被嵌入到各种计算终端以用于提供更可信的运算基础。
3、可信计算平台将加密、解密、认证等基本的安全功能写入硬件芯片,并确保芯片中的信息不能在外部通过软件随意获取。
除了具有普通U盘(使用USB接口的移动存储设备)的特点以外,可信U盘还全面考虑了安全的各个方面:
3.1、安全域分级管理(内外网隔离)功能:支持在多种不同安全级别环境下使用
①、双向认证技术:可信U盘私钥在硬件上生成,支持PK1认证
②、多证书技术:可扩展性、兼容性
3.2、防遗失泄密功能(存储设备遗失的情况下,信息不会泄漏):
①、存储加密技术:采用硬件芯片加密技术,支持公钥算法(RSA、ECC等)、对称算法(DES、3DES等)以及多种专用密码算法。
②、自销毁技术:对非法访问企图进行审计,超过阈值自动进行格式化操作。
本发明中,可信U盘2的硬件与普通U盘不同,普通U盘主要由四个物理单元构成:Flash控制器10、内存20、IO控制器30和闪存40。
与普通U盘类似,可信U盘的物理组成主要由四个主要元素构成:Z32UF控制器、内存20、IO控制器30和闪存40。Flash控制器10由Z32UF控制器(包括智能卡控制器和USB控制器)60代替,除此之外还增加一个可支持RSA、DH、ElGamal、ECC公钥密码算法与DES、3DES、AES对称密码算法和第三方加密算法的加密协处理器50;在Z32UF安全控制器60上安装有按照Java Card技术规范编制的智能卡操作系统203,在其上运行有控制程序201,应用程序301,自销毁程序111,用于完成证书认证的应用程序112和Applet认证程序113。
通过运行在该智能卡操作系统203上的上述程序111--113及通过第二种SCSI指令,实现了可信U盘的自销毁技术、双向认证、控制闪存读写技术和可信U盘与计算机的数据通信。使得本发明可信U盘完全支持可信计算组织提出的上述关于可信存储设备的功能、通信、定义与特点,分述如下:
1、自销毁技术:在可信U盘2上采用自带的基于Java虚拟机的操作系统203,其上运行有自销毁程序111,因此,可以实现自销毁功能。
所谓“自销毁"功能指的是:操作系统对访问企图进行审计,当不成功的访问企图超过一定上限阈值时,系统自动将U盘存储空间格式化,以防止可信U盘上存储的机密数据被未授权阅读或拷贝,适用于对机密性要求比较高的情况。
可信U盘对访问尝试进行审计,如果连续非法访问尝试次数n超过阈值m,则对可信U盘进行格式化操作,具体操作流程如附图3所示。
该自销毁方法的步骤如下:
(1)、判断步骤①,可信U盘2收到“访问尝试”指令后,判断其是否是“合法访问”①,如为“否”则进入审计步骤③,如为“是”则进入“结束”步骤②,
(2)、审计步骤③,用于累计“非法访问尝试”信号的次数,将n加1”,进入下一步“是否超过阈值m”步骤④;
(3)、判断步骤④,经过“n+1”的判断后,将信号送入“是否超过阈值m”步骤④,如为“是”则进入“格式化操作”步骤⑤,如为“否”则进入“结束”步骤②,
(4)、“格式化操作”步骤⑤,系统接收到大于或等于“m”次的“非法访问尝试”后,对可信U盘存储内容进行格式化的自销毁操作。
其中n为系统审计的非法访问尝试的次数,m为系统设定的允许非授权访问次数的阀值。
其中阀值m的取值范围为:小于1000的正整数
2、基于数字证书的双向认证机制以提高可信U盘访问安全性的方法
如前所述,普通U盘是一种具有USB接口方式的移动存储设备,但它也是一个透明设备,即没有访问控制和身份认证,不适合在安全性要求较高的用户使用。通过加入基于数字证书的双向认证机制,实现对U盘访问的安全性控制,可以解决特殊部门对U盘安全性需求。
数字证书的引入是为了结合现有系统的IT架构,使得U盘设备能安全有效地引入到使用系统中。
数字证书是一种权威机构(CA)认可的数字身份ID,广泛用于身份认证。数字证书对应着一对非对称密钥,普遍使用的密钥是长度1024位的RSA密钥对。
双向认证是既认证客户端也认证服务器端身份的认证方式。对于U盘而言,U盘的接入端,如PC,可以视为服务器端,而U盘本身可视为客户端。
为达到双向认证的目的,在可信U盘的操作系统203上运行有可进行双向认证的应用程序112,可信U盘2内保存一个与之相关的数字设备证书,代表其身份。在其接入端也将保存一个代表接入端身份的数字证书。主机端1通过设备证书对可信U盘2进行认证,可信U盘2通过主机证书对主机端1进行认证。
为了验证证书的有效性,需要一个CA中心,为证书验证提供服务。但由于接入方IT环境是多变的,如多层次CA架构。本发明中仅体现一个CA中心,其内部的复杂性不考虑。
如附图5所示,主机端1至少存在一个USB接口11,可信U盘2通过插入USB接口11连接到主机端1。主机端1通过网络方式与CA中心3连接,并能获得CA中心3提供的证书服务,如证书申请和验证等。
附图6示出了可信U盘设备证书生成与加载过程,其步骤如下:
步骤601、所述主机端1向所述可信U盘2发起建立通道的请求,
步骤602、所述可信U盘2响应并建立通道,
步骤603、所述主机端1请求所述可信U盘2生成公私钥对,
步骤604、所述可信U盘2响应,并将公钥导出,返回给所述主机端1,
步骤605、所述主机端1用所述可信U盘2的公钥向所述CA中心3提出制作证书请求,
步骤606、所述CA中心3生成所述可信U盘2的证书并返回给所述主机端1,
步骤607、所述主机端1将所述可信U盘2证书写入到所述可信U盘2中,同时将所述CA中心3的根证书也写入到所述可信U盘2内进行存储,
步骤608、所述可信U盘2成功执行返回。
附图7说明主机端证书生成过程,主机端证书生成可以参照标准的证书申请方式进行,其步骤为:
步骤701、主机端1证书生成,以标准的证书申请方式向所述CA中心3申请证书,
步骤702、CA中心3将生成的主机端1证书返回、保存在主机端1,包括RSA密钥对。
附图8说明主机端和可信U盘的双向认证过程,其步骤为:
步骤801、所述主机端1发起认证请求,
步骤802、所述可信U盘2做出认证请求的响应,如果所述可信U盘2拒绝认证请求,双向认证失败,
步骤803、所述主机端1通过与所述可信U盘2交互获取所述可信U盘2的设备证书
步骤804、所述可信U盘2将自身的数字证书返回给所述主机端1,
步骤805、所述主机端1向所述CA中心3发起证书验证请求,以验证所述可信U盘2的设备证书的有效性,
步骤806、所述CA中心3将验证结果返回给所述主机端1,如果所述CA中心3认为所述可信U盘2的证书无效,双向认证失败,
步骤807、主机端1生成主机端的挑战数据,并将此数据和主机端1证书一起发送到可信U盘2,
步骤808、可信U盘2使用保存的CA中心3的证书对主机端1证书进行验证,通过后使用可信U盘2内的证书对应的私钥对主机发送挑战数据的进行签名,得到“签名结果”;同时生成可信U盘2的挑战数据,与“签名结果”并发送回所述主机端1,如果可信U盘2认为主机端1的证书无效,双向认证失败,
步骤809、主机端1验证可信U盘2计算的“签名结果”,同时对可信U盘2产生的挑战数据进行数字签名,送到可信U盘2内,
步骤810、可信U盘2对主机端1产生的“签名结果”进行验证,成功后双向认证完成;如果可信U盘2内对主机端1产生的签名验证失败,则双向认证失败。
上述主机端1和可信U盘2间完成基于证书的双向认证的10个主要步骤中,交互都会涉及三个命令过程,即发送“XXX命令”,发送“响应命令”和发送“状态字命令”。前者是主机端1向可信U盘2发送的具体的命令,如认证请求,“响应”和“状态字”命令则是主机端1获得可信U盘2的对具体命令的处理结果。一般地,如果“状态字”命令得到的结果是0x9000表示处理结果是预期的,否则认为出现了错误或警告。
为了突出本发明中双向认证过程的主要步骤的实施,下面的介绍将不对每个步骤所需要的三个命令过程进行说明。另外,下面步骤中涉及的数字证书是标准的X.509证书格式,其中CERT(1)代表主机端1的数字证书,CERT(2)代表智能卡和U盘复合设备2的数字证书,CERT(3)代表CA中心3的数字证书。
步骤1:主机端1向可信U盘2发送认证请求命令:“AUTHREQ”。
步骤2:主机端1获得可信U盘2对认证请求命令的响应和状态字。如果状态字为0x9000,表示可信U盘2接受了主机端1的认证请求。如果非0x9000,表示可信U盘2拒绝了认证请求,此时双向认证失败,返回0。
步骤3:主机端1向可信U盘2发送获取证书命令:“GET CERT”。
步骤4:主机端1获得可信U盘2对获得证书认证请求命令的响应和状态字。如果状态字为0x9000,表示可信U盘2接受了主机端1的获取证书命令,此时在“响应命令”中得到可信U盘2保存的数字证书CERT(2);如果状态字为非0x9000,表示“GETCERT”命令失败,双向认证失败,返回0。
步骤5:主机端1向CA中心3发起验证证书的请求:“CERTVERI”,要求验证从可信U盘2获取的证书CERT(2)。
步骤6:主机端1接收到CA中心3的返回值。如果返回值是1,表示证书验证成功;如果返回值是0,表示证书验证失败,此时双向认证失败,返回0。
步骤7:主机端1调用系统函数rand()生成16字节的随机数RAND(1),并将主机端1的证书CERT(1)连接后,通过“HOST VERI”命令发送给可信U盘2。可信U盘2将临时保存主机端1的证书CERT(1)。
步骤8:可信U盘2使用已经保存的CERT(3),对CERT(1)进行证书验证。如果验证失败,将通过状态字告诉给主机端1,表明验证失败,此时双向认证失败,返回0;如果验证通过,可信U盘2将对RAND(1)进行数字签名SIG(2),并内部生成一个16字节的随机数RAND(2),将SIG(2)和RAND(2)连接。主机端1通过“响应”和“状态字”命令获得最终的结果。如果状态字是0x9000,则对主机端的验证通过,否则双向验证失败,返回0。
步骤9:主机端1得到RAND(2),用主机端1的证书对应的私钥进行签名SIG(1),并将SIG(1)按照“UD VERI”指令发送给可信U盘2,以验证可信U盘2。
步骤10:2获得SIG(1)后,用临时保存的CERT(1)进行验证。如果验证通过,状态字设为0x9000;如果验证失败,状态字设为一个非0x9000的值,表明双向认证失败。主机端1获得状态字后,如果是0x9000,此时基于数字证书的双向认证结束,返回主机端1,否则返回0,表示双向认证失败。
3、通过Applet认证程序控制可信U盘访问的方法
U盘是广为使用的移动存储设备,多用于数据交换目的。但U盘自身缺乏安全保护机制,为U盘的使用带来了安全隐患。
在U盘上增加访问控制方式有:口令,指纹等。但安全性较差。
智能卡技术也是一种访问控制技术,在身份认证、设备认证领域广泛应用。按照卡内片上系统(SoC)实现机制分为文件系统卡和智能卡。多应用智能卡是一种基于虚拟机技术的智能卡技术。
目前,智能卡技术多采用Java卡技术,按照Java卡技术开发的智能卡能达到的安全级别为EAL4+。
智能卡技术已经取代文件系统卡技术被广泛应用于各个领域,如金融、电信、政府、军队等。
本发明中,将智能卡技术(Java卡)和可信U盘控制技术相结合,并利用智能卡上的Applet认证程序113,以实现可信U盘资源的控制访问,最终使得U盘成为可信U盘。
因为Applet认证程序113是一个运行在智能卡操作系统203上的应用程序,可按照某一个逻辑实现访问控制。而且Applet认证程序113可以下载和删除,只要满足一定的安全条件,可使得具有智能卡特征的安全可信U盘使用更加安全和灵活。
图9是基于智能卡上Applet认证程序113控制可信U盘访问的示意图。图中虚线分割线的左边代表可信U盘外部系统,如PC机,虚线右边代表本文所述的可信U盘。其中,
主机端1:可信U盘2所依附的主机,如PC机。
在可信U盘2内除了可信U盘控制程序201外,还存在一个按照Java卡技术规范实现的智能卡操作系统203。运行在其上的Applet认证程序113,其内部实现了对闪存资源访问控制逻辑。
智能卡操作系统203在内部设置一个控制可信U盘闪存读写的标记202,该标记保存在受智能卡操作系统保护的区域内。即,除智能卡操作系统203外,其他的控制程序不能访问。但Applet认证程序113是可以控制这个标记的:当Applet认证程序允许(通过其实现的内部访问控制后)外界读写可信U盘时将激活这个标记,否则将使这个标记失效。
当可信U盘控制程序201接收到定向到智能卡操作系统203的数据时901,将交给Applet认证程序113进行处理902,处理的数据包括认证请求,在智能卡操作系统203的支持下,完成身份认证工作。
认证成功后,将通过Applet认证程序113激活闪存访问标记202903,否则使之无效。Applet认证程序113也处理外界使闪存访问标记202无效的指令,此时将使标记无效。即,闪存40不允许读写操作,由当定向到闪存40的指令时,首先检测闪存访问标记904,如果是激活状态就允许进入闪存905;否则直接扔掉,可信U盘控制程序201对此标记是只读的,不能修改。
附图10示出了本发明可信U盘(认证过程和写入/读取两个过程)的工作流程,具体实施步骤如下:
可信U盘的外系统-主机端1发送待处理数据207到可信U盘2,此数据被可信U盘控制程序201接受。此控制程序201将检测该数据包的类型,如果是认证数据a,将发送到Applet认证程序113进行处理。Applet认证程序113按照其内置的逻辑进行身份认证处理211,如果身份认证211成功,Applet认证程序113通过智能卡操作系统203的帮助,激活闪存访问标记202,进入认证成功213,否则进入认证失败214。
如果是非认证数据,但系写入/读取闪存的请求数据b,此时需要检查215闪存访问标记202是否被激活216,如果已激活,则将数据写入到闪存40中,否则抛弃数据到103,并返回相应的错误信息。如果既不是认证数据a也不是写入/读取闪存请求数据b的其他数据c,则进入103直接扔掉,不对外返回任何信息。
下面以认证数据为例说明Applet认证程序控制可信U盘访问方法的实施过程:
如以主机端1向智能卡和U盘复合设备2发送认证数据,即“认证”命令,并获得智能卡和U盘复合设备2的响应结果和状态结果,需要三次指令交互:发送“认证”命令、“响应”命令和“状态字”命令。
如果智能卡和U盘复合设备2接收到“认证”命令,Applet认证程序113对认证数据进行验证,如果验证通过,将设置闪存访问标记202为1,表示激活成功213;如果验证未通过,则设置闪存访问标记202为0进入214,表示不能将数据保存在闪存40中。如果智能卡和U盘复合设备2接收到“响应”命令,返回空。如果智能卡和U盘复合设备2接收到“状态字”命令,将认证结果返回给主机端1。具体实施如下:
“认证”命令
认证命令内容为0x0180120000083131313131313131,主机端1将此数据通过SCSI Passthrough方式发送给智能卡和U盘复合设备2,请求认证。
“响应”命令
无。
“状态字”命令
状态字命令内容为0x03,主机端1将此数据通过SCSIPassthrough方式发送给智能卡和U盘复合设备2获得智能卡和U盘复合设备2的响应后的状态字。如果得到0x9000,表示认证成功,此时智能卡和U盘复合设备2已将闪存访问标记202设为1;如果得到非0x9000,则说明认证失败,而且智能卡和U盘复合设备2中的闪存访问标记202为0。
上述基于数字证书的双向认证机制以提高可信U盘访问安全性的方法和以认证数据为例说明Applet认证程序控制可信U盘访问方法的实施过程均基于下述第二种SCSI指令即可信U盘与计算机对可信U盘的通信协议完成的。
SCSI是英文Small Computer System Interface的简称。在计算机存储技术中,SCSI用于连接设备,如外部磁盘、扫描仪等。计算机与这些设备进行通讯时,一般会采用SCSI规范定义的协议方式进行包装数据。对于移动存储介质,如U盘,也是按照标准SCSI指令格式进行,该SCSI指令的格式如下:
 
SCSI命令头 数据 操作结果
其中“SCSI命令头”是外界向设备传送的数据,数据部分可以是外界发送的数据,也可以是设备向外界返回的数据。
智能卡处理的指令是按照ISO 7816规范定义的,指令需要按照固定的格式来组织,否则不能被智能卡所接受。智能卡指令格式如下:
 
CLA INS P1 P2 Lc Data Le
其中,CLA代表了命令类,INS代表了指令,P1和P2代表了参数,Lc是Data域数据长度,Data是Lc指示的数据,Le是期望智能卡返回的数据长度。
当可信U盘在实现与计算机进行通信时,需要智能卡技术控制对U盘资源的操作,如通过智能卡技术进行身份认证后再打开U盘读写通道。
要实现与可信U盘进行通信,需要解决如何在SCSI数据包中包含智能卡指令的问题。
在PC系统中,主机和U盘的通讯是按照标准SCSI指令进行的,附图11为主机端1与普通U盘通信框图。
但是,可信U盘除了接收操作系统的指令外,还接收应用程序发送的其他控制指令。这些指令是以智能卡数据报的格式APDU(应用协议数据单元:(Application Protocol DataUnit))进行封装。附图12为主机端1与智能卡通信框图,附图13为主机端1与可信U盘2通信框图。
如上所述,设置于可信U盘2内的Z32UF安全控制器60也是一种智能卡控制器,所以在主机与Z32UF安全控制器60进行通信时,需要将智能卡通讯协议打包成SCSI数据报格式,这样才能实现外部系统控制Z32UF安全控制器60即可信U盘2的目的。
在可信U盘2的Z32UF安全控制器60上安装有按照JavaCard技术规范编制的智能卡操作系统203,其上运行有控制程序201,该程序201用于处理存储的标准SCSI指令,主机端1与可信U盘2间实现数据通信的第一种指令为标准SCSI指令,主机端1与可信U盘2间实现数据通信的第二种指令为承载了智能卡指令的SCSI指令。通过定义第二种SCSI指令的数据格式,即制定对可信U盘的通信协议,即可解决计算机与可信U盘进行通信的问题。
主机端1与可信U盘2进行数据通信的方法与步骤为:
①首先对可信U盘2定义第二种SCSI指令的数据格式,
②同时利用该第二种SCSI指令,实现主机端1与可信U盘2之间的数据通信。
定义第二种SCSI指令数据格式的过程如下,
①、标准SCSI指令的格式为:
 
SCSI命令头 数据 操作结果
其中“SCSI命令头”是外界向设备传送的命令数据,“数据”部分可以是外界发送的数据,也可以是设备向外界返回的数据,
②、智能卡指令的格式为:
 
CLA INS P1 P2 Lc Data Le
其中,“CLA”代表了命令类,“INS”代表了指令,“P1和P2”代表了参数,“Lc”是“Data”域数据长度,“Data”是“Lc”指示的数据,“Le”是期望智能卡返回的数据长度。
③、第二种SCSI指令的格式如下:
 
SCSI命令头 标记+智能卡指令 操作结果
其中“标记”为智能卡指令标记,定义其格式如下:
 
标记名称 标记 数据
命令 {标记1} 智能卡的命令指令数据
响应 {标记2} 智能卡的响应指令数据
状态字 {标记3} 智能卡的状态字数据
利用该第二种SCSI指令,实现主机端1与可信U盘2之间数据通信的步骤如下:
步骤1501、主机端1发送标记为“命令”的数据,
步骤1502、主机端1发送标记为“响应”的数据,取回响应结果,
步骤1503、主机端1发送标记为“状态字”的数据,取回状态字。
1)、主机端1发送标记为“命令”的数据,将智能卡命令指令打包成第二种SCSI指令的数据,按照智能卡指令标记中“命令”标记处理,然后发送给可信U盘2,
2)、主机端1向可信U盘2发送标记为“响应”的数据,可信U盘2响应结果的处理,由可信U盘2上的Z32UF安全控制器60处理,其步骤为:
①、标记响应数据,按照智能卡指令标记中“响应"标记处理,
②、标记状态字,按照智能卡指令标记中“状态字”标记处理,
3)、主机端1向可信U盘2发送标记为“状态字”的数据,主机端1通过第二种SCSI指令取得响应数据,直到取完,其步骤为:
①、如果存在,即获得响应数据,
②、获得状态字。
第二种SCSI指令的数据格式,即对可信U盘2的通信协议。
可信U盘是被动设备,即不能主动地向主机返回响应结果。只能由主机主动地发送标记为“响应”和“状态字”的指令取回结果。
图14为主机端1通过两种SCSI指令与可信U盘2通信示意图,附图15为主机端1向可信U盘2发送的三种数据示意图。
下面以主机端1向智能卡和U盘复合设备2发送一个“选择文件”命令,并发送“响应”、“状态字”标识得到智能卡和U盘复合设备2的响应数据和状态字的过程为例,说明本发明的实施过程:
定义三个标记,分别对应“命令”、“响应”和“状态字”三个标记,它们是:
命令标记       0x01
响应标记       0x02
状态字标记     0x03
主机端1向智能卡和U盘复合设备2发送标识“命令”
对应标记为“命令”的数据是“选择文件”的APDU指令如下:
 
CLA INS P1 P2 Lc Data Le
 
0x00 0xa4 0x04 0x00 0x02 0x3f01
其中Data部分代表智能卡和U盘复合设备中一个已有的文件标识(0x3f01)。
按照所述的第二种SCSI指令格式定义发送的数据内容:0x0100a40400023f01,然后将此数据通过SCSI Passthrough方式发送给2。
主机端1向智能卡和U盘复合设备2发送标识“响应”按照所述的第二种SCSI指令格式定义发送的数据内容:0x02,然后将此数据通过SCSI Passthrough方式发送给智能卡和U盘复合设备2。得到智能卡和U盘复合设备2的响应0x00。
主机端1向智能卡和U盘复合设备2发送标识“状态字”按照所述的第二种SCSI指令格式定义发送的数据内容:0x03,然后将此数据通过SCSI Passthrough方式发送给智能卡和U盘复合设备2,得到智能卡和U盘复合设备2返回的状态字:0x9000。
名词解释:
(1)主机端1:可信U盘所依附的主机,如PC机
(2)可信U盘控制程序201:可信U盘内解析数据包内容的解释程序,主要解析认证数据、可信U盘读取和写入的请求数据
(3)智能卡操作系统203:按照Java卡技术规范实现的基于虚拟机技术的智能卡操作系统,负责运行认证程序和闪存访问标志的维护
(4)自销毁程序111:操作系统对访问企图进行审计,当不成功的访问企图超过一定阈值时,系统自动将U盘存储空间格式化的程序。
(5)证书认证程序112:运行在智能卡操作系统203上的用于完成证书认证的应用程序。
(6)Applet认证程序113:是一个运行在智能卡操作系统203上的应用程序,可按照某一个逻辑实现访问控制,一般用Java语言编写。代表了某种身份识别逻辑。
(7)闪存40:一个NAND类型的存储芯片,用于保存数据。
(8)闪存访问标记202:在可信U盘某个寄存器或EEPROM内保存标记,此标记只能通过认证程序来激活或使之失效。
本发明通过采用自销毁程序、证书认证程序、Applet认证程序和SCSI指令承载智能卡指令的方法,较好的解决了可信U盘安全性问题及计算机与可信U盘的数据通信问题。
本发明保密性极强,适用于对机密性要求较高的各种特殊需要的场合。
本发明中的硬件产品均为国产市售产品,智能卡操作系统与各种应用程序均为公知技术。
与本发明内容相同或相似的技术方案,应在本专利的保护范围之内。

Claims (15)

1、一种可信U盘装置,其特征在于:
所述装置包括主机端、可信U盘和CA中心;
所述主机端存在1-4个USB接口,所述可信U盘通过插入所述USB接口连接到所述主机端,所述主机端通过网络方式与所述CA中心连接,并能获得所述CA中心提供的证书申请和验证服务,所述主机端与所述可信U盘之间可实现双向认证,所述主机端与所述可信U盘之间通过两种SCSI指令传输数据相联系;
所述可信U盘由内存、IO控制器、闪存、加密协处理器和Z32UF安全控制器构成;
所述加密协处理器集成在所述Z32UF安全控制器芯片上,支持RSA、DH、ElGamal、ECC公钥密码算法,支持DES、3DES、AES对称密码算法并且支持第三方加密算法;
所述Z32UF安全控制器安装有按照Java Card技术规范编制的智能卡操作系统并且通过所述加密协处理器完成加解密运算。
2、一种实现如权利要求1所述的可信U盘装置安全性及所述装置的可信U盘与计算机通信的方法,其特征在于:
所述可信U盘的Z32UF安全控制器芯片上安装有按照JavaCard技术规范编制的智能卡操作系统;
所述智能卡操作系统上运行有可信U盘控制程序、控制闪存读写的应用程序、完成非授权访问次数超过阈值的逻辑判断并实现自销毁的程序、用于完成证书认证的应用程序和Applet认证程序,所述智能卡操作系统通过所述装置的加密协处理器完成加解密运算;
所述可信U盘内保存一个与之相关的数字设备证书,代表其身份,在其接入端也保存一个代表其接入端身份的数字证书;
所述装置的主机端具备标准的证书申请方式;
所述方法包括:
(1)、所述可信U盘完成非授权访问次数超过阈值的逻辑判断并实现自销毁的方法;
(2)、基于数字证书的双向认证机制以提高所述可信U盘访问安全性的方法;
(3)、通过Applet认证程序控制所述可信U盘访问的方法;
(4)、通过定义第二种SCSI指令实现所述主机端与所述可信U盘数据通信的方法。
3、如权利要求2所述的一种实现如权利要求1所述的可信U盘装置安全性及所述装置的可信U盘与计算机通信的方法,其特征在于,在所述可信U盘的智能卡操作系统上,安装的所述完成非授权访问次数超过阈值的逻辑判断并实现自销毁的程序可以对USB接口访问进行控制、完成非授权访问次数超过阈值的逻辑判断并实现销毁动作,所述可信U盘完成非授权访问次数超过阈值的逻辑判断并实现自销毁的方法的步骤如下:
(1)、判断步骤,所述可信U盘收到“访问尝试”的指令后,判断其是否是“合法访问”,如为“否”则进入审计步骤,如为“是”则进入“结束”步骤;
(2)、审计步骤,用于累计“非法访问尝试”信号的次数,将n加1,并进入下一步“是否超过阈值m”的步骤;
(3)、判断步骤,经过“n+1”的操作后,进入“是否超过阈值m”的步骤,如为“是”则进入“格式化操作”步骤,如为“否”则进入“结束”步骤;
(4)、“格式化操作”步骤,系统接收到大于或等于“m”次的“非法访问尝试”后,对所述可信U盘存储内容进行格式化的自销毁操作。
4、如权利要求3所述的一种实现如权利要求1所述的可信U盘装置安全性及所述装置的可信U盘与计算机通信的方法,其特征在于,所述“n”为系统审计的非法访问尝试的次数,所述“m”为系统设定的允许非授权访问次数的阈值。
5、如权利要求2所述的一种实现如权利要求1所述的可信U盘装置安全性及所述装置的可信U盘与计算机通信的方法,其特征在于,所述基于数字证书的双向认证机制以提高所述可信U盘访问安全性的方法如下:
(1)、所述可信U盘的设备证书生成、加载;
(2)、所述主机端证书生成;
(3)、所述主机端和所述可信U盘实现双向认证。
6、如权利要求5所述的一种实现如权利要求1所述的可信U盘装置安全性及所述装置的可信U盘与计算机通信的方法,其特征在于,所述可信U盘的设备证书生成、加载的步骤如下:
步骤601、所述主机端向所述可信U盘发起建立通道的请求;
步骤602、所述可信U盘响应并建立通道;
步骤603、所述主机端请求所述可信U盘生成RSA密钥对;
步骤604、所述可信U盘响应,并将公钥导出,返回给所述主机端;
步骤605、所述主机端用所述可信U盘的公钥向所述装置的CA中心提出制作证书请求;
步骤606、所述CA中心生成所述可信U盘的证书并返回给所述主机端;
步骤607、所述主机端将所述可信U盘证书写入到所述可信U盘中,同时将所述CA中心的根证书也写入到所述可信U盘内进行存储;
步骤608、所述可信U盘成功执行返回。
7、如权利要求5所述的一种实现如权利要求1所述的可信U盘装置安全性及所述装置的可信U盘与计算机通信的方法,其特征在于,所述主机端证书生成的步骤如下:
步骤701、所述主机端证书生成,以标准的证书申请方式向所述装置的CA中心申请证书;
步骤702、所述CA中心将生成的所述主机端证书返回给所述主机端。
8、如权利要求5所述的一种实现如权利要求1所述的可信U盘装置安全性及所述装置的可信U盘与计算机通信的方法,其特征在于,所述主机端和所述可信U盘实现双向认证的步骤如下:
步骤801、所述主机端发起认证请求;
步骤802、所述可信U盘做出认证请求的响应,如果所述可信U盘拒绝认证请求,双向认证失败;
步骤803、所述主机端通过与所述可信U盘交互获取所述可信U盘的设备证书;
步骤804、所述可信U盘将自身的数字证书返回给所述主机端;
步骤805、所述主机端向所述装置的CA中心发起证书验证请求,以验证所述可信U盘的设备证书的有效性;
步骤806、所述CA中心将验证结果返回给所述主机端,如果所述CA中心认为所述可信U盘的证书无效,双向认证失败;
步骤807、所述主机端生成主机端的挑战数据,并将此数据和所述主机端证书一起发送到所述可信U盘;
步骤808、所述可信U盘使用保存的所述CA中心的证书对所述主机端证书进行验证,通过后使用所述可信U盘内的证书对应的私钥对主机发送的挑战数据进行签名,得到“签名结果”,同时生成所述可信U盘的挑战数据,与“签名结果”连接后发送回所述主机端,如果所述可信U盘认为所述主机端的证书无效,双向认证失败;
步骤809、所述主机端验证所述可信U盘计算的“签名结果”,同时对所述可信U盘产生的挑战数据进行数字签名,送到所述可信U盘内;
步骤810、所述可信U盘对所述主机端产生的“签名结果”进行验证,成功后双向认证完成,如果所述可信U盘内对所述主机端产生的签名验证失败,则双向认证失败。
9、如权利要求2所述的一种实现如权利要求1所述的可信U盘装置安全性及所述装置的可信U盘与计算机通信的方法,其特征在于,所述通过Applet认证程序控制所述可信U盘访问的方法的步骤如下:
(1)、待处理数据,所述主机端发送数据到所述可信U盘,此数据分为三种:
认证数据,
写入/读取闪存的请求数据,
其他数据,
三种数据被所述可信U盘控制程序接受,进入下一步;
(2)、所述可信U盘控制程序检测所述待处理数据的类型;
(3)、如果是所述认证数据,发送到所述Applet认证程序进行处理;
(4)、所述Applet认证程序对所述认证数据进行身份认证处理;
(5)、判断认证是否成功,如果身份认证成功,所述Applet认证程序通过所述智能卡操作系统激活闪存访问标记,进入认证成功;
(6)、否则,进入认证失败;
(7)、如果是非认证数据,但系所述写入/读取闪存的请求数据,则进入检查闪存访问标记;
(8)、判断检查闪存访问标记是否被激活,如果未激活,抛弃该写入/读取闪存的请求数据;
(9)、如果已激活,将该写入/读取闪存的请求数据写入到闪存中保存数据;
(10)、如果是所述其他数据,则直接进入扔掉,不对外返回任何信息。
10、如权利要求2所述的一种实现如权利要求1所述的可信U盘装置安全性及所述装置的可信U盘与计算机通信的方法,所述主机端与所述可信U盘间实现数据通信的第一种指令为标准SCSI指令,在所述智能卡操作系统上运行的可信U盘控制程序用于处理存储的该标准SCSI指令,其特征在于,所述主机端与所述可信U盘间实现数据通信的第二种指令为承载了智能卡指令的SCSI指令,所述通过定义第二种SCSI指令实现所述主机端与所述可信U盘数据通信的方法的步骤为:
(1)、首先对所述可信U盘定义第二种SCSI指令的数据格式;
(2)、同时利用该第二种SCSI指令实现所述主机端与所述可信U盘之间的数据通信。
11、如权利要求10所述的一种实现如权利要求1所述的可信U盘装置安全性及所述装置的可信U盘与计算机通信的方法,其特征在于,定义所述第二种SCSI指令的数据格式的过程如下:
(1)、所述标准SCSI指令的格式由SCSI命令头、数据和操作结果三部分构成,其中,“SCSI命令头”是外界向设备传送的命令数据,“数据”部分可以是外界发送的数据,也可以是设备向外界返回的数据;
(2)、智能卡指令的格式由CLA、INS、P1、P2、Lc、Data和Le七部分构成,其中,“CLA”代表命令类,“INS”代表指令,“P1和P2”代表参数,“Lc”是“Data”域数据长度,“Data”是“Lc”指示的数据,“Le”是期望智能卡返回的数据长度;
(3)、所述第二种SCSI指令的格式由SCSI命令头、数据和操作结果三部分构成,其中,“数据”中存放的是标记加上所述智能卡指令,其中,“标记”为智能卡指令标记,共有以下三种类型:
第一种类型为命令标记,标记为“{标记1}”,指明数据为智能卡的命令指令数据,
第二种类型为响应标记,标记为“{标记2}”,指明数据为智能卡的响应指令数据,
第三种类型为状态字标记,标记为“{标记3}”,指明数据为智能卡的状态字数据。
12、如权利要求11所述的一种实现如权利要求1所述的可信U盘装置安全性及所述装置的可信U盘与计算机通信的方法,其特征在于,所述利用该第二种SCSI指令实现所述主机端与所述可信U盘之间的数据通信的步骤如下:
步骤1501、所述主机端发送标记为“命令”的数据;
步骤1502、所述主机端发送标记为“响应”的数据,取回响应结果;
步骤1503、所述主机端发送标记为“状态字”的数据,取回状态字。
13、如权利要求12所述的一种实现如权利要求1所述的可信U盘装置安全性及所述装置的可信U盘与计算机通信的方法,其特征在于:
(1)、所述主机端发送标记为“命令”的数据,将所述智能卡指令打包成所述第二种SCSI指令的数据,按照智能卡指令标记中“命令”标记处理,然后发送给所述可信U盘;
(2)、所述主机端向所述可信U盘发送标记为“响应”的数据,所述可信U盘响应结果的处理,由所述可信U盘上的所述Z32UF安全控制器处理,其步骤为:
①、标记响应数据,按照智能卡指令标记中“响应”标记处理,
②、标记状态字,按照智能卡指令标记中“状态字”标记处理;
(3)、所述主机端向所述可信U盘发送标记为“状态字”的数据,所述主机端通过所述第二种SCSI指令取得响应数据,直到取完,其步骤为:
①、如果存在,即获得响应数据,
②、获得状态字。
14、如权利要求2-13中的任何一项权利要求所述的一种实现如权利要求1所述的可信U盘装置安全性及所述装置的可信U盘与计算机通信的方法,其特征在于,所述加解密运算用于验证和签名。
CNB2007100003300A 2007-01-08 2007-01-08 一种可信u盘、实现可信u盘安全性及其与计算机数据通信的方法 Expired - Fee Related CN100498742C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007100003300A CN100498742C (zh) 2007-01-08 2007-01-08 一种可信u盘、实现可信u盘安全性及其与计算机数据通信的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100003300A CN100498742C (zh) 2007-01-08 2007-01-08 一种可信u盘、实现可信u盘安全性及其与计算机数据通信的方法

Publications (2)

Publication Number Publication Date
CN101051292A CN101051292A (zh) 2007-10-10
CN100498742C true CN100498742C (zh) 2009-06-10

Family

ID=38782713

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100003300A Expired - Fee Related CN100498742C (zh) 2007-01-08 2007-01-08 一种可信u盘、实现可信u盘安全性及其与计算机数据通信的方法

Country Status (1)

Country Link
CN (1) CN100498742C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488395A (zh) * 2015-06-04 2016-04-13 哈尔滨安天科技股份有限公司 基于usb通信数据进行恶意设备检测的方法及装置

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136750A (zh) * 2007-10-15 2008-03-05 胡祥义 一种网络实名制的实现方法
US8667576B2 (en) * 2008-05-27 2014-03-04 Silicon Motion, Inc. Method for preventing data in a computer system from being accessed by unauthorized user
CN101673248B (zh) * 2008-09-10 2012-06-13 群联电子股份有限公司 存储系统、控制器与数据保护方法
CN101739757B (zh) * 2008-11-17 2012-11-21 群联电子股份有限公司 快闪存储器存储系统、控制器与数据保护方法
CN101753532B (zh) * 2008-11-29 2013-09-25 华为数字技术(成都)有限公司 一种存储设备、验证装置及存储装置的控制方法
CN101500138B (zh) * 2008-12-26 2014-06-18 深圳市同洲电子股份有限公司 一种数字电视接收终端及其数据保密方法和系统
CN101510187B (zh) * 2009-03-20 2011-03-30 华中科技大学 一种在标准数据接口实现智能卡控制指令传输的方法
US8468279B2 (en) * 2009-03-31 2013-06-18 Intel Corporation Platform based verification of contents of input-output devices
CN102404161B (zh) * 2010-09-14 2015-05-20 北京哈工大计算机网络与信息安全技术研究中心 一种检测失泄密的方法和usb设备
CN102088348A (zh) * 2010-12-22 2011-06-08 东南大学 用于嵌入式平台的手机安全芯片和包括该芯片的防护系统
CN102279814B (zh) * 2011-08-19 2014-03-05 北方工业大学 加密防拷贝系统及其防拷贝方法
CN102609367A (zh) * 2011-11-25 2012-07-25 无锡华御信息技术有限公司 一种带安全控制与审计的u盘系统
CN102592085B (zh) 2011-12-27 2015-09-16 中兴通讯股份有限公司 一种无线通信终端及行业软件安全运行方法
CN102902634B (zh) * 2012-08-17 2015-05-27 杭州华澜微科技有限公司 具有加密保护功能的存储装置
CN102902635B (zh) * 2012-09-29 2015-01-07 无锡华御信息技术有限公司 一种可供企业使用的安全u盘系统
CN103838784A (zh) * 2012-11-23 2014-06-04 杭州星纬物联技术有限公司 一种基于u盘的数据管理器管理方法
CN103095704A (zh) * 2013-01-15 2013-05-08 杭州华三通信技术有限公司 一种可信介质的在线验证方法及装置
CN104657671B (zh) * 2013-11-19 2019-03-19 研祥智能科技股份有限公司 移动存储设备的接入权限管理方法和系统
CN103761468A (zh) * 2014-01-13 2014-04-30 金硕澳门离岸商业服务有限公司 具有双cpu的微型控制芯片
CN104917750B (zh) * 2015-04-16 2017-11-21 中国科学院计算技术研究所 一种面向sdn网络的控制层与数据层通信通道自配置方法及其系统
CN105303081A (zh) * 2015-05-07 2016-02-03 同方计算机有限公司 一种主机可靠识别usb主控芯片身份标识的方法及系统
CN105072114A (zh) * 2015-08-11 2015-11-18 深圳市文鼎创数据科技有限公司 一种自动填单方法及密码管理器、上位机及系统
CN105653995B (zh) * 2015-09-01 2019-02-15 江苏腾武信息技术有限公司 可复用通用计算机人机交互设备的可信计算装置
CN106302541A (zh) * 2016-10-18 2017-01-04 安徽天达网络科技有限公司 一种数据安全监管系统
CN107968803B (zh) * 2016-10-20 2021-06-15 中国电信股份有限公司 针对移动终端的远程取证方法、装置、移动终端和系统
CN106778326A (zh) * 2016-11-28 2017-05-31 福建升腾资讯有限公司 一种实现移动存储设备保护的方法及系统
US11605093B1 (en) * 2017-02-22 2023-03-14 Amazon Technologies, Inc. Security policy enforcement
CN107292182A (zh) * 2017-06-29 2017-10-24 江苏鲁汶仪器有限公司 一种半导体设备控制系统热插拔防破解专用型硬件加密保护器
CN107506668A (zh) * 2017-08-31 2017-12-22 北京计算机技术及应用研究所 一种基于通信消息实时认证的u盘访问方法
CN107908574B (zh) * 2017-11-22 2021-09-10 深圳华中科技大学研究院 固态盘数据存储的安全保护方法
CN108345804B (zh) * 2018-03-22 2021-01-08 北京可信华泰信息技术有限公司 一种可信计算环境中的存储方法和装置
CN108345803B (zh) * 2018-03-22 2021-01-08 北京可信华泰科技有限公司 一种可信存储设备的数据存取方法及装置
CN108763891A (zh) * 2018-06-11 2018-11-06 山东超越数控电子股份有限公司 一种针对加密移动硬盘的专用安全管理平台及方法
CN109101788B (zh) * 2018-06-19 2022-06-03 光大环保技术研究院(南京)有限公司 一种焚烧炉自动燃烧控制系统加密装置和加密方法
CN110059469A (zh) * 2019-04-09 2019-07-26 广东电网有限责任公司 一种安全u盘系统及其使用方法
CN112052201A (zh) * 2020-09-27 2020-12-08 中孚安全技术有限公司 一种基于Linux内核层实现的USB设备管控方法与系统
CN112084524B (zh) * 2020-09-30 2023-10-13 北京智芯微电子科技有限公司 U盘访问方法及u盘
CN113609538B (zh) * 2021-07-09 2024-03-08 国网福建省电力有限公司电力科学研究院 移动存储介质的访问控制方法、装置、设备及存储介质
CN113806763A (zh) * 2021-07-16 2021-12-17 广州鲁邦通物联网科技有限公司 一种安全获取现场设备的数据的方法、安全服务器和系统
CN116644487B (zh) * 2023-07-27 2023-12-08 山东溯源安全科技有限公司 一种安全检测系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488395A (zh) * 2015-06-04 2016-04-13 哈尔滨安天科技股份有限公司 基于usb通信数据进行恶意设备检测的方法及装置

Also Published As

Publication number Publication date
CN101051292A (zh) 2007-10-10

Similar Documents

Publication Publication Date Title
CN100498742C (zh) 一种可信u盘、实现可信u盘安全性及其与计算机数据通信的方法
US11223948B2 (en) Anonymous authentication and remote wireless token access
CN101819612B (zh) 具有分区的通用内容控制
US8417946B2 (en) Method and apparatus for accessing an electronic device by a data terminal
CN101120352B (zh) 用于保护存储在存储设备中的数据的方法和设备
CA2838763C (en) Credential authentication methods and systems
US6092202A (en) Method and system for secure transactions in a computer system
CN101490689B (zh) 用于由存储装置验证实体的方法及使用该方法的存储装置
CN102084373B (zh) 备份存储在安全存储设备中的数字内容
CN101120355B (zh) 用于控制在存储器装置中存取的方法
US10867058B2 (en) Method and system for protecting secure computer systems from insider threats
CN100533459C (zh) 数据安全读取方法及其安全存储装置
EP3355231B1 (en) Mobile data storage device with access control functionality
JP2016531508A (ja) データセキュアストレージ
KR101724401B1 (ko) 생체 정보 인식과 키 분할 방식을 이용한 공인인증 시스템 및 그 방법, 그 방법을 수행하는 프로그램이 기록된 기록매체
CN101009556A (zh) 一种智能卡与u盘复合设备及其基于双向认证机制以提高访问安全性的方法
CN1322431C (zh) 基于对称密钥加密保存和检索数据
CN106296177A (zh) 基于银行移动应用的数据处理方法和设备
CN103514540A (zh) 一种优盾业务实现方法及系统
Toll et al. The Caernarvon secure embedded operating system
CN105046174A (zh) 磁盘数据的保护方法及系统
CN104462941A (zh) 一种验钞模块的信息保护方法及其装置
CN112668030A (zh) 一种金融自助端的身份id确认及环境安全的认证方法
Chen et al. Key Architecture and Updating Protocols in Large-scale Card-based Access Control Systems
Morpho Filename 7301-9301-112 ASE-Lite IDeal Pass v2-SAC-EAC JC ePassport 4.0. 0 (SAC-EAC configuration) v1. 0.3. doc Document version 1.0. 3 approved Date 2013-11-28 Author Morpho BV

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
DD01 Delivery of document by public notice

Addressee: Guo Tao

Document name: Review of business letter

DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: Beijing Mingyu Technology Co., Ltd.

Document name: Notification of Termination of Patent Right

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090610

Termination date: 20180108