一种基于通信消息实时认证的U盘访问方法技术

技术编号:16874415 阅读:25 留言:0更新日期:2017-12-23 12:12
本发明专利技术公开了一种基于通信消息实时认证的U盘访问方法,其中,包括:U盘接收到CBW数据包后,对CBW数据包进行解密;U盘进行HMAC校验,将U盘状态置位接收CBW数据包状态;如果U盘需接收Data‑Out阶段/发送Data‑In阶段业务数据,那么将U盘状态设置为接收Data‑Out阶段业务数据状态/发送Data‑In阶段业务数据状态,U盘发送Data‑Out阶段业务数据/接收Data‑In阶段业务数据,并等待接收返回的CSW数据包;U盘接收Data‑Out阶段业务数据/发送Data‑In阶段业务数据;U盘根据BOT协议中CSW数据包格式进行组包,并通过USB接口发送;终端接收到CSW数据包后,对CSW数据包进行解密和HMAC校验。

A U disk access method based on real-time authentication of communication messages

The invention discloses an access method, communication message real-time authentication based on the U disk, including: U disk to receive CBW packets, CBW packets for decryption; U disk HMAC check, U disc set receives CBW data packets; if need to receive Data Out U disk stage send Data In / stage of business data, then U disk status is set to receive the Data Out stage business data sending Data / In phase state business data, U Data Out disc send / receive Data data in business In stage of business data, data receiving and wait for CSW to return the package; U receiver Data Out business data / send Data In service data; U disk group according to packet format CSW packets in the BOT protocol, and transmitted by USB interface; the terminal receives the CSW packet, CSW packet to decrypt and HMAC school Check.

【技术实现步骤摘要】
一种基于通信消息实时认证的U盘访问方法
本专利技术属于网络安全
,特别是一种基于通信消息实时认证的U盘访问方法。
技术介绍
近年来,随着社会信息化程度的不断提高,U盘已经不可避免的出现在我们日常的学习与生活中。但是,随着现在U盘的应用越来越普遍,随之产生的问题也渐渐被大众所关注。一方面,由于普通U盘的使用是透明的,一旦丢失,U盘存储的所有数据和文件都将被任意读出,对其存储过的敏感信息也没有提供可靠的数据消除手段,易被他人恢复窃用;另一方面,当U盘能够被合法访问时,也要同时防范病毒木马、黑客对U盘的非法操作,这也就促使了安全U盘的出现。目前,市场上的安全U盘大都基于特定的安全芯片,采取身份认证、数据访问权限控制、加解密系统来实现对U盘的全盘数据加密保护和安全区数据开启的口令控制,以达到充分保护用户安全U盘内数据的目的。以某型安全U盘为例,介绍主流的安全U盘技术方案。1安全U盘系统组成图1所示为安全U盘硬件原理框图,如图1所示,该方案采用华芯安全芯片安全存储控制芯片,该芯片提供USB3.0接口,支持BOT协议,片内集成SM2/SM3/SM4国密算法,支持真随机数发生器。通过安全芯片存储控制器,对外提供USB3.0接口,对内提供两个NANDFlash的访问通道,电源管理单元采用开关电源实现,为安全芯片和两个NANDFlash供电。图2所示为安全U盘系统软件组成框图,如图2所示,由U盘嵌入式软件、U盘驱动、安全支撑中间件、专用客户端组成。其中U盘嵌入式软件运行在设备内部,实现USB接口通信、对设备的安全管理、以及大容量存储管控等功能;设备驱动软件运行在主机端,与设备直接通信,实现设备的读写访问;安全支撑中间件以库的形式提供API访问接口,实现上层请求包的安全过滤、报文的解析与重组、定制的文件系统、与设备驱动的数据通信、自定义SCSI命令等功能;专用管理软件运行在主机端操作系统上,提供图形界面的用户操作接口和配置管理接口,主要实现用户登录认证、用户管理、对设备存储空间的读写操作和销毁操作等功能。2安全U盘工作原理1)用户登录认证基于安全芯片来验证登录用户的口令/指纹/IC-Key,若非法尝试超过预设限制,设备将自行锁定;若验证通过,则登录用户可以通过安全U盘配套的客户端软件对U盘文件进行访问,实现了只有合法的用户才能访问U盘的数据;2)U盘全盘数据加密利用安全芯片提供的强加密算法,对U盘全盘数据进行硬件加密,可有效的防止U盘丢失后数据泄露;3)禁止非法进程访问、对病毒、木马的免疫配套的安全U盘客户端基于定制的文件系统和自定义的SCSI协议,实现对U盘数据的访问及管理。由于非法进程、木马、病毒是通过标准的文件系统、SCSI协议访问U盘,因此通过配套的客户端可实现U盘对非法进程、木马、病毒的免疫。4)自定义SCSI协议的实现图3所示为自定义SCSI协议的数据传输流程图,如图3所示,U盘属于USB规范中的MassStorageClass类别,MassStorageClass类设备采用Bulk-Only-Transport(简称BOT)协议实现与主机进行数据交互。在BOT协议工作模式下,有三种类型数据包在主机与设备之间进行传输:包括CBW(CommandBlockWrapper,命令块包)、CSW(CommandStatusWrapper,命令状态包)和普通数据。USB遵循SCSI协议的BOT传输,一次完整的数据传输都以CBW命令包开头,中以CSW命令状态包结束,中间可能有输入数据包(DATAIn)或输出数据包(DATAOut)。U盘接收到一个CBW命令包后,解析出CBW包传递的SCSI命令,然后按照自定义的SCSI协议定义命令码执行相应的操作,如果CBW命令包提示后续有相应的数据包,设备将等待接收Data-Out数据包;在设备处理完CBW请求后,根据命令不同,若需要反馈响应数据包,则以Data-In数据包形式传递给宿主机,最后传递CSW包,表明此次命令的处理情况。CBW/CSW指令格式如表1、表2所示。表1CBW指令格式表2CSW指令格式综上可知,欲实现自定义的SCSI命令,需在安全支撑中间件的SCSI层构建CBW包时,按照自定义的SCSI协议填充CBW命令包中SCSI字段;U盘固件接收到一个CBW命令包后,解析出CBW传递的命令,然后按照自定义的SCSI命令集中定义的命令码执行相应的操作。前文所述的安全U盘系统技术方案是通过定制的客户端,利用自定义的SCSI命令访问U盘。由于操作系统无法理解客户端与U盘之间通信协议,因此只能通过配套的客户端对U盘访问。但利用自定义的协议来保证特定的进程访问安全U盘的方法安全强度较低,黑客可利用Bus-Hound软件抓取客户端与U盘之间的通信数据,通过对抓取数据的分析,可轻易破解自定义的SCSI协议,当合法用户认证通过后,黑客可根据破解的SCSI协议,窃取U盘数据。
技术实现思路
本专利技术的目的在于提供一种基于通信消息实时认证的U盘访问方法,其中,包括:步骤一:终端根据SM2密钥交换协议,向U盘发起密钥协商流程,双方协商初始密钥,密钥1用于BOT协议的HMAC验证,密钥2用于加解密BOT部分协议数据;步骤二:终端等待接收业务请求,如果没有接收到业务请求,则继续等待,如接收到,则转步骤三;步骤三:终端根据BOT协议中CBW数据包格式进行组包,并通过USB接口发送至U盘;步骤四:U盘接收到CBW数据包后,对CBW数据包进行解密;步骤五:U盘进行HMAC校验,如果HMAC校验通过,则执行步骤六,如果HMAC校验未通过,则丢弃该数据包,将U盘状态置位接收CBW数据包状态,跳转步骤二;步骤六:如果U盘需接收Data-Out阶段/发送Data-In阶段业务数据,那么将U盘状态设置为接收Data-Out阶段业务数据状态/发送Data-In阶段业务数据状态,跳转至步骤七,如果U盘不需接收Data-Out阶段业务数据/发送Data-In阶段业务数据,那么跳转至步骤九;步骤七:U盘发送Data-Out阶段业务数据/接收Data-In阶段业务数据,并等待接收返回的CSW数据包;步骤八:U盘接收Data-Out阶段业务数据/发送Data-In阶段业务数据;步骤九:U盘根据BOT协议中CSW数据包格式进行组包,并通过USB接口发送;步骤十:终端接收到CSW数据包后,对CSW数据包进行解密和HMAC校验,如果校验通过,更新安全支撑中间件的密钥1和密钥2,如果校验未通过,返回校验失败;步骤十一:跳转到步骤二。根据本专利技术的基于通信消息实时认证的U盘访问方法的一实施例,其中,步骤一中,密钥1以及密钥2为16字节初始密钥。根据本专利技术的基于通信消息实时认证的U盘访问方法的一实施例,其中,步骤4中的BOT协议的组包流程包括:根据业务请求,解析出要发送的SCSI协议指令;根据解析出的SCSI协议指令,填充CSW数据包;利用随机数将SCSI协议指令补齐至16字节,记补齐后的SCSI指令为SCSI16;利用密钥1和Openssl提供的SM3算法服务,计算HMAC校验码,HMACvalue=HMAC密钥1(CBW15||SCSI16),并HMACvalue的前16字节填充至CSW数据包中的HMAC校验码字段;利用密钥2和本文档来自技高网
...
一种基于通信消息实时认证的U盘访问方法

【技术保护点】
一种基于通信消息实时认证的U盘访问方法,其特征在于,包括:步骤一:终端根据SM2密钥交换协议,向U盘发起密钥协商流程,双方协商初始密钥,密钥1用于BOT协议的HMAC验证,密钥2用于加解密BOT部分协议数据;步骤二:终端等待接收业务请求,如果没有接收到业务请求,则继续等待,如接收到,则转步骤三;步骤三:终端根据BOT协议中CBW数据包格式进行组包,并通过USB接口发送至U盘;步骤四:U盘接收到CBW数据包后,对CBW数据包进行解密;步骤五:U盘进行HMAC校验,如果HMAC校验通过,则执行步骤六,如果HMAC校验未通过,则丢弃该数据包,将U盘状态置位接收CBW数据包状态,跳转步骤二;步骤六:如果U盘需接收Data‑Out阶段/发送Data‑In阶段业务数据,那么将U盘状态设置为接收Data‑Out阶段业务数据状态/发送Data‑In阶段业务数据状态,跳转至步骤七,如果U盘不需接收Data‑Out阶段业务数据/发送Data‑In阶段业务数据,那么跳转至步骤九;步骤七:U盘发送Data‑Out阶段业务数据/接收Data‑In阶段业务数据,并等待接收返回的CSW数据包;步骤八:U盘接收Data‑Out阶段业务数据/发送Data‑In阶段业务数据;步骤九:U盘根据BOT协议中CSW数据包格式进行组包,并通过USB接口发送;步骤十:终端接收到CSW数据包后,对CSW数据包进行解密和HMAC校验,如果校验通过,更新安全支撑中间件的密钥1和密钥2,如果校验未通过,返回校验失败;步骤十一:跳转到步骤二。...

【技术特征摘要】
1.一种基于通信消息实时认证的U盘访问方法,其特征在于,包括:步骤一:终端根据SM2密钥交换协议,向U盘发起密钥协商流程,双方协商初始密钥,密钥1用于BOT协议的HMAC验证,密钥2用于加解密BOT部分协议数据;步骤二:终端等待接收业务请求,如果没有接收到业务请求,则继续等待,如接收到,则转步骤三;步骤三:终端根据BOT协议中CBW数据包格式进行组包,并通过USB接口发送至U盘;步骤四:U盘接收到CBW数据包后,对CBW数据包进行解密;步骤五:U盘进行HMAC校验,如果HMAC校验通过,则执行步骤六,如果HMAC校验未通过,则丢弃该数据包,将U盘状态置位接收CBW数据包状态,跳转步骤二;步骤六:如果U盘需接收Data-Out阶段/发送Data-In阶段业务数据,那么将U盘状态设置为接收Data-Out阶段业务数据状态/发送Data-In阶段业务数据状态,跳转至步骤七,如果U盘不需接收Data-Out阶段业务数据/发送Data-In阶段业务数据,那么跳转至步骤九;步骤七:U盘发送Data-Out阶段业务数据/接收Data-In阶段业务数据,并等待接收返回的CSW数据包;步骤八:U盘接收Data-Out阶段业务数据/发送Data-In阶段业务数据;步骤九:U盘根据BOT协议中CSW数据包格式进行组包,并通过USB接口发送;步骤十:终端接收到CSW数据包后,对CSW数据包进行解密和HMAC校验,如果校验通过,更新安全支撑中间件的密钥1和密钥2,如果校验未通过,返回校验失败;步骤十一:跳转到步骤二。2.如权利要求1所述的基于通信消息实时认证的U盘访问方法,其特征在于,步骤一中,密钥1以及密钥2为16字节初始密钥。3.如权利要求1所述的基于通信消息实时认证的U盘访问方法,其特征在于,步骤4中的BOT协议的组包流程包括:根据业务请求,解析出要发送的SCSI协议指令;根据解析出的SCSI协议指令,填充CSW数据包;利用随机数将SCSI协议指令补齐至16字节,记补齐后的SCSI指令为SCSI16;利用密钥1和Openssl提供的SM3算法服务,计算HMAC校验码,HMACvalue=HMAC密钥1(CBW15||SCSI16),并HMACvalue的前16字节填充至CSW数据包中的HMAC校验码字段;利用密钥2和Openssl提供的SM4算法服务,对SCSI16加密,加密结果记为SCSI16-加密-密钥2,将SCSI16-加密-密钥2填充至CSW数据包中加密后的SCSI协议字段。4.如权利要求1所述的基于通信消息实时认证的U盘访问方法,其特征在于,步骤...

【专利技术属性】
技术研发人员:邓硕赵慧王震
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1