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

文档序号:6570872阅读:280来源:国知局
专利名称:一种可信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设备证书生成、加载的步骤如下
①所述主机端1向所述可信U盘2发起建立通道的请求,②所述可信U盘2响应并建立通道,③所述主机端1请求所述可信U盘2生成RSA密钥对,④所述可信U盘2响应,并将公钥导出,返回给所述主机端1,⑤所述主机端1用所述可信U盘2的公钥向所述CA中心3提出制作证书请求,⑥所述CA中心3生成所述可信U盘2的证书并返回给所述主机端1,⑦所述主机端1将所述可信U盘2证书写入到所述可信U盘2中,同时将所述CA中心3的根证书也写入到所述可信U盘2内进行存储,⑧所述可信U盘2成功执行返回。
所述主机端1的证书生成的步骤如下①所述主机端1证书生成,以标准的证书申请方式向所述CA中心(3)申请证书,②所述CA中心3将生成的所述主机端1证书返回给所述主机端1。
所述主机端1和所述可信U盘2实现双向认证的步骤如下①所述主机端1发起认证请求,②所述可信U盘2做出认证请求的响应,如果所述可信U盘2拒绝认证请求,双向认证失败,
③所述主机端1通过与所述可信U盘2交互获取所述可信U盘(2)的设备证书④所述可信U盘2将自身的数字证书返回给所述主机端1,⑤所述主机端1向所述CA中心3发起证书验证请求,以验证所述可信U盘2的设备证书的有效性,⑥所述CA中心3将验证结果返回给所述主机端1,如果所述CA中心3认为所述可信U盘2的证书无效,双向认证失败,⑦所述主机端1生成主机端的挑战数据,并将此数据和所述主机端1证书一起发送到所述可信U盘2,⑧所述智能卡与U盘复合设备使用保存的所述CA中心3的证书对所述主机端1证书进行验证,通过后使用所述可信U盘2内的证书对应的私钥对主机发送挑战数据的进行签名,得到“签名结果”;同时生成所述可信U盘2的挑战数据,与“签名结果”并发送回所述主机端1,如果所述可信U盘2认为所述主机端1的证书无效,双向认证失败,⑨所述主机端1验证所述可信U盘2计算的“签名结果”,同时对所述可信U盘2产生的挑战数据进行数字签名,送到所述可信U盘2内,
⑩所述可信U盘2对所述主机端1产生的“签名结果”进行验证,成功后双向认证完成;如果所述可信U盘2内对所述主机端1产生的签名验证失败,则双向认证失败。
通过Applet认证程序控制可信U盘访问方法的步骤如下①、待处理数据101,所述主机端1发送数据到所述可信U盘2,此数据分为三种认证数据a,写入/读取闪存的请求数据b,其他数据c,三种数据被所述可信U盘的控制程序201接受,进入下一步,②、所述可信U盘的控制程序201检测所述待处理数据101的类型201,③、如果是所述认证数据a,发送到所述Applet认证程序113进行处理,④、所述Applet认证程序113对所述认证数据a进行身份认证处理,⑤、判断认证成功否?如果身份认证成功,所述Applet认证程序113通过所述智能卡操作系统203,激活所述闪存访问标记202,进入认证成功213,⑥、否则,进入认证失败214,⑦、如果是非认证数据,但系所述写入/读取闪存的请求数据b,则进入检查闪存访问标记215,
⑧、判断检查闪存访问标记215是否被激活216,如果未激活,进入103,抛弃该数据,⑨、如果已激活,将该数据写入到所述闪存40中保存数据,否则进入待处理数据101,返回相应的错误信息,⑩、如果是所述其他数据c,则直接进入103扔掉,不对外返回任何信息。
所述主机端1与所述可信U盘2间实现数据通信的第一种指令为标准SCSI指令101,在所述智能卡操作系统203上运行的可信U盘控制程序201用于处理存储的该标准SCSI指令101,所述主机端1与所述可信U盘2间实现数据通信的第二种指令为SCSI指令102,所述主机端1与所述可信U盘2进行数据通信的方法与步骤为①首先对所述可信U盘2定义第二种SCSI指令102的数据格式,②同时利用该第二种SCSI指令102,实现主机端1与所述可信U盘2之间的数据通信。
定义所述第二种SCSI指令102数据格式的过程如下,①、所述标准SCSI指令101的格式如下

其中“SCSI命令头”是外界向设备传送的命令数据,“数据”部分可以是外界发送的数据,也可以是设备向外界返回的数据,
②、所述智能卡指令103的格式如下

其中,“CLA”代表了命令类,“INS”代表了指令,“P1和P2”代表了参数,“Lc”是“Data”域数据长度,“Data”是“Lc”指示的数据,“Le”是期望智能卡返回的数据长度。
③、所述第二种SCSI指令102的格式如下

其中“标记104”为智能卡指令标记(104),定义其格式如下

利用该第二种SCSI指令102,实现所述主机端1与所述可信U盘2之间数据通信的步骤如下①所述主机端1发送标记为“命令”的数据,②所述主机端1发送标记为“响应”的数据,取回响应结果,③所述主机端1发送标记为“状态字”的数据,取回状态字。
1)、所述主机端1发送标记为“命令”的数据,将所述智能卡命令指令103打包成所述SCSI指令102的数据,按照智能卡指令标记104中“命令”标记处理,然后发送给所述可信U盘2,2)、所述主机端1向所述可信U盘2发送标记为“响应”的数据,所述可信U盘2响应结果的处理,由所述可信U盘2上的所述Z 32UF安全控制器60处理,其步骤为①标记响应数据,按照智能卡指令标记104中“响应″标记处理,②标记状态字,按照智能卡指令标记104中“状态字”标记处理,3)、所述主机端1向所述可信U盘2发送标记为“状态字”的数据,所述主机端1通过所述第二种SCSI指令102取得响应数据,直到取完,其步骤为①如果存在,即获得响应数据②获得状态字。
所述第二种SCSI指令102的数据格式,即对所述可信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盘的显著区别还可由下表所示



图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盘设备证书生成与加载过程,其步骤如下①所述主机端1向所述可信U盘2发起建立通道的请求,②所述可信U盘2响应并建立通道,③所述主机端1请求所述可信U盘2生成公私钥对,④所述可信U盘2响应,并将公钥导出,返回给所述主机端1,⑤所述主机端1用所述可信U盘2的公钥向所述CA中心3提出制作证书请求,⑥所述CA中心3生成所述可信U盘2的证书并返回给所述主机端1,
⑦所述主机端1将所述可信U盘2证书写入到所述可信U盘2中,同时将所述CA中心3的根证书也写入到所述可信U盘2内进行存储,⑧所述可信U盘2成功执行返回。
附图7说明主机端证书生成过程,主机端证书生成可以参照标准的证书申请方式进行,其步骤为①主机端1证书生成,以标准的证书申请方式向所述CA中心3申请证书,②CA中心3将生成的主机端1证书返回、保存在主机端1,包括RSA密钥对。
附图8说明主机端和可信U盘的双向认证过程,其步骤为①所述主机端1发起认证请求,②所述可信U盘2做出认证请求的响应,如果所述可信U盘2拒绝认证请求,双向认证失败,③所述主机端1通过与所述可信U盘2交互获取所述可信U盘2的设备证书④所述可信U盘2将自身的数字证书返回给所述主机端1,⑤所述主机端1向所述CA中心3发起证书验证请求,以验证所述可信U盘2的设备证书的有效性,
⑥所述CA中心3将验证结果返回给所述主机端1,如果所述CA中心3认为所述可信U盘2的证书无效,双向认证失败,⑦主机端1生成主机端的挑战数据,并将此数据和主机端1证书一起发送到可信U盘2,⑧可信U盘2使用保存的CA中心3的证书对主机端1证书进行验证,通过后使用可信U盘2内的证书对应的私钥对主机发送挑战数据的进行签名,得到“签名结果”;同时生成可信U盘2的挑战数据,与“签名结果”并发送回所述主机端1,如果可信U盘2认为主机端1的证书无效,双向认证失败,⑨主机端1验证可信U盘2计算的“签名结果”,同时对可信U盘2产生的挑战数据进行数字签名,送到可信U盘2内,⑩可信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发送认证请求命令“AUTH REQ”。
步骤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,表示“GET CERT”命令失败,双向认证失败,返回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。
步骤102获得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的数据时①,将交给Applet认证程序113进行处理②,处理的数据包括认证请求,在智能卡操作系统203的支持下,完成身份认证工作。
认证成功后,将通过Applet认证程序113激活闪存访问标记202③,否则使之无效。Applet认证程序113也处理外界使闪存访问标记202无效的指令,此时将使标记无效。即,闪存40不允许读写操作,由当定向到闪存40的指令时,首先检测闪存访问标记202④,如果是激活状态就允许进入闪存40⑤;否则直接扔掉,可信U盘控制程序201对此标记是只读的,不能修改。
附图10示出了本发明可信U盘(认证过程和写入/读取两个过程)的工作流程,具体实施步骤如下可信U盘的外系统-主机端1发送待处理数据101到可信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指令格式101进行,该SCSI指令的格式如下

其中“SCSI命令头”是外界向设备传送的数据,数据部分可以是外界发送的数据,也可以是设备向外界返回的数据。
智能卡处理的指令是按照ISO 7816规范定义的,指令需要按照固定的格式来组织,否则不能被智能卡所接受。智能卡指令格式如下

其中,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指令101,主机端1与可信U盘2间实现数据通信的第一种指令为标准SCSI指令101,主机端1与可信U盘2间实现数据通信的第二种指令为承载了智能卡指令的SCSI指令102。通过定义第二种SCSI指令102的数据格式,即制定对可信U盘的通信协议,即可解决计算机与可信U盘进行通信的问题。
主机端1与可信U盘2进行数据通信的方法与步骤为①首先对可信U盘2定义第二种SCSI指令102的数据格式,②同时利用该第二种SCSI指令102,实现主机端1与可信U盘2之间的数据通信。
定义第二种SCSI指令102数据格式的过程如下,①、标准SCSI指令101的格式为

其中“SCSI命令头”是外界向设备传送的命令数据,“数据”部分可以是外界发送的数据,也可以是设备向外界返回的数据,②、智能卡指令103的格式为

其中,“CLA”代表了命令类,“INS”代表了指令,“P1和P2”代表了参数,“Lc”是“Data”域数据长度,“Data”是“Lc”指示的数据,“Le”是期望智能卡返回的数据长度。
③、第二种SCSI指令102的格式如下

其中“标记104”为智能卡指令标记(104),定义其格式如下

利用该第二种SCSI指令102,实现主机端1与可信U盘2之间数据通信的步骤如下①主机端1发送标记为“命令”的数据,②主机端1发送标记为“响应”的数据,取回响应结果,③主机端1发送标记为“状态字”的数据,取回状态字。
1)、主机端1发送标记为“命令”的数据,将智能卡命令指令103打包成第二种SCSI指令102的数据,按照智能卡指令标记104中“命令”标记处理,然后发送给可信U盘2,2)、主机端1向可信U盘2发送标记为“响应”的数据,可信U盘2响应结果的处理,由可信U盘2上的Z32UF安全控制器60处理,其步骤为①标记响应数据,按照智能卡指令标记104中“响应″标记处理,②标记状态字,按照智能卡指令标记104中“状态字”标记处理,3)、主机端1向可信U盘2发送标记为“状态字”的数据,主机端1通过第二种SCSI指令102取得响应数据,直到取完,其步骤为①如果存在,即获得响应数据②获得状态字。
第二种SCSI指令102的数据格式,即对可信U盘2的通信协议。
可信U盘是被动设备,即不能主动地向主机返回响应结果。只能由主机主动地发送标记为“响应”和“状态字”的指令取回结果。
图14为主机端1通过两种SCSI指令与可信U盘2通信示意图,附图15为主机端1向可信U盘2发送的三种数据示意图。
下面以主机端1向智能卡和U盘复合设备2发送一个“选择文件”命令,并发送“响应”、“状态字”标识得到智能卡和U盘复合设备2的响应数据和状态字的过程为例,说明本发明的实施过程定义三个标记,分别对应“命令”、“响应”和“状态字”三个标记,它们是命令标记0x01响应标记0x02状态字标记 0x03主机端1向智能卡和U盘复合设备2发送标识“命令”对应标记为“命令”的数据是“选择文件”的APDU103指令如下

其中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盘的数据通信问题。
本发明保密性极强,适用于对机密性要求较高的各种特殊需要的场合。
本发明中的硬件产品均为国产市售产品,智能卡操作系统与各种应用程序均为公知技术。
与本发明内容相同或相似的技术方案,应在本专利的保护范围之内。
权利要求
1.一种可信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指令传输数据相联系。
2.一种实现可信U盘安全性的方法及可信U盘与计算机的通信协议,其特征在于在所述可信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盘数据通信的方法。
3.如权利要求2所述的一种实现可信U盘安全性的方法及可信U盘与计算机的通信协议,其特征在于在所述可信U盘(2)的操作系统(203)上,安装的所述自销毁程序(111)可以对USB接口访问进行控制、完成非授权访问次数超过阈值的逻辑判断,并实现销毁动作;该自销毁方法的步骤如下(1)、判断步骤①,所述可信U盘(2)收到“访问尝试”的指令后,判断其是否是“合法访问”①,如为“否”则进入审计步骤③,如为“是”则进入“结束”步骤②;(2)、审计步骤③,用于累计“非法访问尝试”信号的次数,将n加1,则进入下一步“是否超过阀值m”的步骤④;(3)、判断步骤④,经过“n+1”的操作后,将信号送入“是否超过阀值m”的步骤⑤,如为“是”则进入“格式化操作”步骤⑤,如为“否”则进入“结束”步骤②;(4)“格式化操作”步骤⑤,系统接收到大于或等于“m”次的“非法访问尝试”后,所述对可信U盘(2)存储内容进行格式化的自销毁操作。
4.如权利要求3所述的一种实现可信U盘安全性的方法及可信U盘与计算机的通信协议,其特征在于所述(n)为系统审计的被访问尝试的次数,所述(m)为系统设定的允许非授权访问次数的阀值。
5.如权利要求2所述的一种实现可信U盘安全性的方法及可信U盘与计算机的通信协议,其特征在于基于数字证书的双向认证机制以提高可信U盘访问安全性的方法如下①所述可信U盘设备证书生成、加载,②所述主机端1证书生成③所述主机端1和所述可信U盘2实现双向认证。
6.如权利要求5所述的一种实现可信U盘安全性的方法及可信U盘与计算机的通信协议,其特征在于所述可信U盘(2)设备证书生成、加载的步骤如下①所述主机端(1)向所述可信U盘(2)发起建立通道的请求,②所述可信U盘(2)响应并建立通道,③所述主机端(1)请求所述可信U盘(2)生成RSA密钥对,④所述可信U盘(2)响应,并将公钥导出,返回给所述主机端(1),⑤所述主机端(1)用所述可信U盘(2)的公钥向所述CA中心(3)提出制作证书请求,⑥所述CA中心(3)生成所述可信U盘(2)的证书并返回给所述主机端(1),⑦所述主机端(1)将所述可信U盘(2)证书写入到所述可信U盘(2)中,同时将所述CA中心(3)的根证书也写入到所述可信U盘(2)内进行存储,⑧所述可信U盘(2)成功执行返回。
7.如权利要求5所述的一种实现可信U盘安全性的方法及可信U盘与计算机的通信协议,其特征在于所述主机端(1)的证书生成的步骤如下①所述主机端(1)证书生成,以标准的证书申请方式向所述CA中心(3)申请证书,②所述CA中心(3)将生成的所述主机端(1)证书返回给所述主机端(1)。
8.如权利要求5所述的一种实现可信U盘安全性的方法及可信U盘与计算机的通信协议,其特征在于所述主机端1和所述可信U盘2实现双向认证的步骤如下①所述主机端(1)发起认证请求,②所述可信U盘(2)做出认证请求的响应,如果所述可信U盘(2)拒绝认证请求,双向认证失败,③所述主机端(1)通过与所述可信U盘(2)交互获取所述可信U盘(2)的设备证书④所述可信U盘(2)将自身的数字证书返回给所述主机端(1),⑤所述主机端(1)向所述CA中心(3)发起证书验证请求,以验证所述可信U盘(2)的设备证书的有效性,⑥所述CA中心(3)将验证结果返回给所述主机端(1),如果所述CA中心(3)认为所述可信U盘(2)的证书无效,双向认证失败,⑦所述主机端(1)生成主机端的挑战数据,并将此数据和所述主机端(1)证书一起发送到所述可信U盘(2),⑧所述智能卡与U盘复合设备使用保存的所述CA中心(3)的证书对所述主机端(1)证书进行验证,通过后使用所述可信U盘(2)内的证书对应的私钥对主机发送挑战数据的进行签名,得到“签名结果”;同时生成所述可信U盘(2)的挑战数据,与“签名结果”并发送回所述主机端(1),如果所述可信U盘(2)认为所述主机端(1)的证书无效,双向认证失败,⑨所述主机端(1)验证所述可信U盘(2)计算的“签名结果”,同时对所述可信U盘(2)产生的挑战数据进行数字签名,送到所述可信U盘(2)内,⑩所述可信U盘(2)对所述主机端(1)产生的“签名结果”进行验证,成功后双向认证完成;如果所述可信U盘(2)内对所述主机端(1)产生的签名验证失败,则双向认证失败。
9.如权利要求2所述的一种实现可信U盘安全性的方法及可信U盘与计算机的通信协议,通过Applet认证程序控制可信U盘访问方法的步骤如下①、待处理数据(101),所述主机端(1)发送数据到所述可信U盘(2),此数据分为三种认证数据(a),写入/读取闪存的请求数据(b),其他数据(c),三种数据被所述可信U盘的控制程序(201)接受,进入下一步,②、所述可信U盘的控制程序(201)检测所述待处理数据(101)的类型(201),③、如果是所述认证数据(a),发送到所述Applet认证程序(113)进行处理,④、所述Applet认证程序(113)对所述认证数据(a)进行身份认证处理,⑤、判断认证成功否?如果身份认证成功,所述Applet认证程序(113)通过所述智能卡操作系统(203),激活所述闪存访问标记(202),进入认证成功(213),⑥、否则,进入认证失败(214),⑦、如果是非认证数据,但系所述写入/读取闪存的请求数据(b),则进入检查闪存访问标记(215),⑧、判断检查闪存访问标记(215)是否被激活(216),如果未激活,进入(103),抛弃该数据,⑨、如果已激活,将该数据写入到所述闪存(40)中保存数据,否则进入待处理数据(101),返回相应的错误信息,⑩、如果是所述其他数据(c),则直接进入(103)扔掉,不对外返回任何信息。
10.如权利要求2所述的一种实现可信U盘安全性的方法及可信U盘与计算机的通信协议,所述主机端(1)与所述可信U盘(2)间实现数据通信的第一种指令为标准SCSI指令(101),在所述智能卡操作系统(203)上运行的可信U盘控制程序(201)用于处理存储的该标准SCSI指令(101),其特征在于所述主机端(1)与所述可信U盘(2)间实现数据通信的第二种指令为SCSI指令(102),所述主机端(1)与所述可信U盘(2)进行数据通信的方法与步骤为①首先对所述可信U盘(2)定义第二种SCSI指令(102)的数据格式,②同时利用该第二种SCSI指令(102),实现主机端(1)与所述可信U盘(2)之间的数据通信。
11.如权利要求10所述的一种实现可信U盘安全性的方法及可信U盘与计算机的通信协议,其特征在于定义所述第二种SCSI指令(102)数据格式的过程如下,①、所述标准SCSI指令(101)的格式如下
其中“SCSI命令头”是外界向设备传送的命令数据,“数据”部分可以是外界发送的数据,也可以是设备向外界返回的数据,②、所述智能卡指令(103)的格式如下
其中,“CLA”代表了命令类,“INS”代表了指令,“P1和P2”代表了参数,“Lc”是“Data”域数据长度,“Data”是“Lc”指示的数据,“Le”是期望智能卡返回的数据长度。③、所述第二种SCSI指令(102)的格式如下
其中“标记104”为智能卡指令标记(104),定义其格式如下
12.如权利要求11所述的一种实现可信U盘安全性的方法及可信U盘与计算机的通信协议,其特征在于利用该第二种SCSI指令(102),实现所述主机端(1)与所述可信U盘(2)之间数据通信的步骤如下①所述主机端(1)发送标记为“命令”的数据,②所述主机端(1)发送标记为“响应”的数据,取回响应结果,③所述主机端(1)发送标记为“状态字”的数据,取回状态字。
13.如权利要求12所述的一种实现可信U盘安全性的方法及可信U盘与计算机的通信协议其特征在于1)、所述主机端(1)发送标记为“命令”的数据,将所述智能卡命令指令(103)打包成所述SCSI指令(102)的数据,按照智能卡指令标记(104)中“命令”标记处理,然后发送给所述可信U盘(2),2)、所述主机端(1)向所述可信U盘(2)发送标记为“响应”的数据,所述可信U盘(2)响应结果的处理,由所述可信U盘(2)上的所述Z32UF安全控制器(60)处理,其步骤为①标记响应数据,按照智能卡指令标记(104)中“响应″标记处理,②标记状态字,按照智能卡指令标记(104)中“状态字”标记处理,3)、所述主机端(1)向所述可信U盘(2)发送标记为“状态字”的数据,所述主机端(1)通过所述第二种SCSI指令(102)取得响应数据,直到取完,其步骤为①如果存在,即获得响应数据②获得状态字。
14.如权利要求2所述的一种实现可信U盘安全性的方法及可信U盘与计算机的通信协议其特征在于所述第二种SCSI指令(102)的数据格式,即对所述可信U盘(2)的通信协议。
15.如权利要求1-14所述的一种实现可信U盘安全性的方法及可信U盘与计算机的通信协议中的任何一项权利要求,其特征在于所述加解密运算用于验证和签名。
全文摘要
本发明公开了一种可信U盘、实现可信U盘安全性及其与计算机数据通信的方法。普通U盘是一个对外完全透明的移动存储访问介质设备,对数据的访问没有任何的访问控制,即只要是具有USB接口的接入方都可以无阻碍地使用,用户使用普通U盘在内外网之间可随意拷贝数据,另外,U盘丢失之后其信息会随即泄漏,因此,存储在U盘上的敏感数据存在不安全的风险。本发明通过采用在智能卡操作系统上运行的自销毁程序、证书认证程序、Applet认证程序和SCSI指令承载智能卡指令的方法,较好地解决了可信U盘安全性问题及计算机与可信U盘的数据通信问题。本发明保密性极强,适用于对机密性要求比较高的各种特殊需要的场合。
文档编号G06F13/38GK101051292SQ200710000330
公开日2007年10月10日 申请日期2007年1月8日 优先权日2007年1月8日
发明者吴世忠, 石超英 申请人:中国信息安全产品测评认证中心, 北京明宇科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1