CN107506668A - 一种基于通信消息实时认证的u盘访问方法 - Google Patents

一种基于通信消息实时认证的u盘访问方法 Download PDF

Info

Publication number
CN107506668A
CN107506668A CN201710769823.4A CN201710769823A CN107506668A CN 107506668 A CN107506668 A CN 107506668A CN 201710769823 A CN201710769823 A CN 201710769823A CN 107506668 A CN107506668 A CN 107506668A
Authority
CN
China
Prior art keywords
key
flash disk
usb flash
hmac
csw
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.)
Pending
Application number
CN201710769823.4A
Other languages
English (en)
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 Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
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 Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN201710769823.4A priority Critical patent/CN107506668A/zh
Publication of CN107506668A publication Critical patent/CN107506668A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于通信消息实时认证的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校验。

Description

一种基于通信消息实时认证的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接口,对内提供两个NAND Flash的访问通道,电源管理单元采用开关电源实现,为安全芯片和两个NAND Flash供电。
图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规范中的Mass Storage Class类别,Mass Storage Class类设备采用Bulk-Only-Transport(简称BOT)协议实现与主机进行数据交互。在BOT协议工作模式下,有三种类型数据包在主机与设备之间进行传输:包括CBW(Command Block Wrapper,命令块包)、CSW(Command StatusWrapper,命令状态包)和普通数据。USB遵循SCSI协议的BOT传输,一次完整的数据传输都以CBW命令包开头,中以CSW命令状态包结束,中间可能有输入数据包(DATA In)或输出数据包(DATA Out)。
U盘接收到一个CBW命令包后,解析出CBW包传递的SCSI命令,然后按照自定义的SCSI协议定义命令码执行相应的操作,如果CBW命令包提示后续有相应的数据包,设备将等待接收Data-Out数据包;在设备处理完CBW请求后,根据命令不同,若需要反馈响应数据包,则以Data-In数据包形式传递给宿主机,最后传递CSW包,表明此次命令的处理情况。CBW/CSW指令格式如表1、表2所示。
表1 CBW指令格式
表2 CSW指令格式
综上可知,欲实现自定义的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和Openssl提供的SM4算法服务,对SCSI16加密,加密结果记为SCSI16-加密-密钥2,将SCSI16-加密-密钥2填充至CSW数据包中加密后的SCSI协议字段。
根据本发明的基于通信消息实时认证的U盘访问方法的一实施例,其中,步骤五具体包括:利用密钥2和安全芯片提供的SM4算法服务,对CBW数据包中加密后的SCSI协议字段解密,解密结果记为SCSI16-解密-密钥2-U盘;将CBW数据包中的0~14字节记为CBW15-U盘;利用密钥1和安全芯片提供的SM3算法服务计算HMACvalue-U盘=HMAC密钥1(CBW15-U盘||SCSI16-解密-密钥2-U盘);判断HMACvalue-U盘的前16字节数据与CBW数据包中的HMAC校验码字段是否相等。
根据本发明的基于通信消息实时认证的U盘访问方法的一实施例,其中,步骤九具体流程包括:(1)填充CSW数据包的对应字段,记为CSW13-U盘;(2)利用安全芯片提供的真随机数发生器产生32字节随机数,作为下一轮HMAC密钥和加解密密钥,记为PrivateKeynext,其中前16字节为HMAC算法密钥,记为密钥1’,后16字节为SM4算法密钥,记为密钥2’;(3)利用密钥1和安全芯片提供的SM3算法服务计算HMACvalue-U盘-CSW=HMAC密钥1(CSW13-U盘||PrivateKeynext),并将HMACvalue-U盘-CSW的前16字节填充至CSW数据包校验值字段;(4)利用密钥2和安全芯片提供的SM4算法服务,对PrivateKeynext进行加密,加密结果记为PrivateKey32-加密-密钥2-U盘,并将PrivateKey32-加密-密钥2-U盘填充至CSW数据包中下一轮HMAC密钥和加解密密钥的加密值字段;(5)更新U盘固件中的密钥1和密钥2,其中,密钥1=PrivateKeynext的前16字节,密钥2=PrivateKeynext的后16字节。
根据本发明的基于通信消息实时认证的U盘访问方法的一实施例,其中,步骤十具体流程如下:(1)利用密钥2和Openssl提供的SM4算法服务,对CSW数据包中下一轮HMAC密钥和加解密密钥的加密值字段解密,解密结果记为PrivateKey32-解密-密钥2;(2)将CSW数据包中的0~12字节记为CSW13;(3)利用密钥1和Openssl提供的SM3算法服务计算HMACvalue-CSW=HMAC密钥1(CSW13||PrivateKey32-解密-密钥2);(4)判断HMACvalue-CSW的前16字节数据与CSW数据包校验值字段是否相等。
根据本发明的基于通信消息实时认证的U盘访问方法的一实施例,其中,步骤十中密钥1=PrivateKey32-解密-密钥2的前16字节;密钥2=PrivateKey32-解密-密钥2的后16字节。
本发明提供了一种基于通信消息实时认证的U盘访问方法,当用户通过登录认证后,安全支撑中间件向U盘发起密钥协商流程,双方之间协商用于HMAC消息认证的密钥和用于加密SCSI命令的密钥。安全支撑中间件与U盘之间基于自定义的SCSI指令和HMAC消息认证协议实现数据交互。由于安全中间件与U盘在接收到数据后,对通信数据的完整性和来源进行验证,克服了安全U盘系统自定义通信协议易于破解的缺陷,有效的保证了合法的进程访问合法的U盘。
附图说明
图1所示为安全U盘硬件原理框图;
图2所示为安全U盘系统软件组成框图;
图3所示为自定义SCSI协议的数据传输流程图;
图4所示为本发明的安全U盘系统结构框图;
图5所示为本发明基于通信消息实时认证的U盘访问方法的流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图4所示为本发明的安全U盘系统结构框图,图5所示为本发明基于通信消息实时认证的U盘访问方法的流程图,如图4以及图5所示,本发明提出的基于通信消息实时认证的U盘访问方法的处理流程如图所示,包括以下步骤:
步骤一:用户登录认证成功后,根据SM2密钥交换协议,安全支撑中间件向U盘发起密钥协商流程,双方协商两个16字节初始密钥,密钥1用于BOT协议的HMAC验证,密钥2用于加解密BOT部分协议数据;
步骤二:安全支撑中间件SCSI层等待接收来自访问控制模块和定制的文件系统模块的业务请求;
步骤三:如果安全支撑中间件SCSI层没有接收到业务请求,则跳转至步骤二;
步骤四:如果安全支撑中间件SCSI层接收到来自访问控制模块和定制的文件系统模块的业务请求,那么根据改进的BOT协议中CBW数据包格式进行组包,并通过USB接口发送至U盘,改进的BOT组包流程包括:
改进的CBW数据包格式如表3下:
表3
根据业务请求,解析出要发送的自定义SCSI协议指令;
根据解析出的SCSI协议指令,填充表3中dCBWSignature、dCBWTag、dCBWDataTransferLength、bmCBWFlags、bCBWLUN、bCBWCBLength字段,表3中字节0至字节14记为CBW15
由于不同业务请求的SCSI协议指令长度不同,因此利用随机数将SCSI协议指令补齐至16字节,记补齐后的SCSI指令为SCSI16
利用密钥1和Openssl提供的SM3算法服务,计算HMAC校验码,HMACvalue=HMAC密钥1(CBW15||SCSI16),并HMACvalue的前16字节填充至表3中的HMAC校验码字段;
利用密钥2和Openssl提供的SM4算法服务,对SCSI16加密,加密结果记为SCSI16-加密-密钥2,将SCSI16-加密-密钥2填充至表3中加密后的SCSI协议字段;
步骤五:U盘接收到CBW数据包后,对CBW数据包进行解密和HMAC校验,具体流程如下:
利用密钥2和安全芯片提供的SM4算法服务,对CBW数据包中加密后的SCSI协议字段解密,解密结果记为SCSI16-解密-密钥2-U盘
将CBW数据包中的0~14字节记为CBW15-U盘
利用密钥1和安全芯片提供的SM3算法服务计算HMACvalue-U盘=HMAC密钥1(CBW15-U盘||SCSI16-解密-密钥2-U盘);
判断HMACvalue-U盘的前16字节数据与CBW数据包中的HMAC校验码字段是否相等;
步骤六:相等则校验通过,如果HMAC校验通过,则根据自定义的SCSI协议执行相应动作;
步骤七:如果HMAC校验未通过,那么;
丢弃该数据包,将U盘状态置位接收CBW数据包状态;
跳转至步骤十六。
步骤八:如果U盘需接收Data-Out阶段/发送Data-In阶段业务数据,那么将U盘状态设置为接收Data-Out阶段业务数据状态/发送Data-In阶段业务数据状态,跳转至步骤十;
步骤九:如果U盘不需接收Data-Out阶段业务数据/发送Data-In阶段业务数据,那么跳转至步骤十二;
步骤十:安全支撑中间件发送Data-Out阶段业务数据/接收Data-In阶段业务数据,并等待接收返回的CSW数据包;
步骤十一:U盘接收Data-Out阶段业务数据/发送Data-In阶段业务数据,并完成处理;
步骤十二:U盘根据改进的BOT协议中CSW数据包格式进行组包,并通过USB接口发送至安全支撑中间件,具体流程包括:
改进的CSW数据包格式如表4:
表4改进的CSW数据包格式
(1)U盘固件根据业务处理结果填充表4中的dCSWSignature、dCSWTag、dCSWDataResidue、bCSWStatus字段,记为CSW13-U盘
(2)利用安全芯片提供的真随机数发生器产生32字节随机数,作为下一轮HMAC密钥和加解密密钥,记为PrivateKeynext,其中前16字节为HMAC算法密钥,记为密钥1’,后16字节为SM4算法密钥,记为密钥2’;
(3)利用密钥1和安全芯片提供的SM3算法服务计算HMACvalue-U盘-CSW=HMAC密钥1(CSW13-U盘||PrivateKeynext),并将HMACvalue-U盘-CSW的前16字节填充至表4中CSW数据包校验值字段;
(4)利用密钥2和安全芯片提供的SM4算法服务,对PrivateKeynext进行加密,加密结果记为PrivateKey32-加密-密钥2-U盘,并将PrivateKey32-加密-密钥2-U盘填充至表4中下一轮HMAC密钥和加解密密钥的加密值字段;
(5)更新U盘固件中的密钥1和密钥2,其中
密钥1=PrivateKeynext的前16字节
密钥2=PrivateKeynext的后16字节
步骤十三:安全支撑中间件接收到CSW数据包后,对CSW数据包进行解密和HMAC校验,具体流程如下:
(1)利用密钥2和Openssl提供的SM4算法服务,对CSW数据包中下一轮HMAC密钥和加解密密钥的加密值字段解密,解密结果记为PrivateKey32-解密-密钥2
(2)将CSW数据包中的0~12字节记为CSW13
(3)利用密钥1和Openssl提供的SM3算法服务计算HMACvalue-CSW=HMAC密钥1(CSW13||PrivateKey32-解密-密钥2);
(4)判断HMACvalue-CSW的前16字节数据与CSW数据包校验值字段是否相等;
步骤十四:如果校验通过,那么:
更新安全支撑中间件的密钥1和密钥2
密钥1=PrivateKey32-解密-密钥2的前16字节;
密钥2=PrivateKey32-解密-密钥2的后16字节;
返回CSW数据包;
步骤十五:如果校验未通过,返回校验失败;
步骤十六:跳转到步骤二,循环以上的处理过程。
本发明基于对称密码体制提出了一种用于实体间通信消息实时校验认证的方法,可以保证U盘不被非法进程访问,提高了U盘系统的安全性能;通信消息的实时校验认证方法基于SM4和HMAC算法实现,本发明以很小的U盘通信性能损耗为代价,实现了SM4和HMAC算法“一次一密”的密钥更新方式,在保证U盘通信性能的同时,使安全协议具有较高的安全性能。
本发明基于对称密码体制提出了一种用于专用客户端、安全中间件与U盘安全通信的方法,通过对交互消息来源的实时认证,保证了只有合法的进程才能访问安全U盘,在这种通信机制下,有效的解决了黑客利用破解自定义SCSI协议手段窃取U盘信息的漏洞,与现有技术相比,极大的提高了U盘的安全性能。
本发明一种基于通信消息实时认证的U盘访问方法,通过在U盘固件中增加SM2/SM3算法库,在安全支撑中间件中基于openssl增加SM2/SM3/SM4算法支持库,实现安全支撑中间件与安全U盘的密钥协商;改进安全支撑中间件scsi层和U盘固件中的BOT协议,利用加密部分BOT协议数据和在BOT协议数据包中增加HMAC校验的方法,实现安全支撑中间件与U盘交互消息的实时认证,可以有效的保证合法的进程访问合法的U盘。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (7)

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盘访问方法,其特征在于,步骤五具体包括:
利用密钥2和安全芯片提供的SM4算法服务,对CBW数据包中加密后的SCSI协议字段解密,解密结果记为SCSI16-解密-密钥2-U盘
将CBW数据包中的0~14字节记为CBW15-U盘
利用密钥1和安全芯片提供的SM3算法服务计算HMACvalue-U盘=HMAC密钥1(CBW15-U盘||SCSI16-解密-密钥2-U盘);
判断HMACvalue-U盘的前16字节数据与CBW数据包中的HMAC校验码字段是否相等。
5.如权利要求1所述的基于通信消息实时认证的U盘访问方法,其特征在于,步骤九具体流程包括:
(1)填充CSW数据包的对应字段,记为CSW13-U盘
(2)利用安全芯片提供的真随机数发生器产生32字节随机数,作为下一轮HMAC密钥和加解密密钥,记为PrivateKeynext,其中前16字节为HMAC算法密钥,记为密钥1’,后16字节为SM4算法密钥,记为密钥2’;
(3)利用密钥1和安全芯片提供的SM3算法服务计算HMACvalue-U盘-CSW=HMAC密钥1(CSW13-U盘||PrivateKeynext),并将HMACvalue-U盘-CSW的前16字节填充至CSW数据包校验值字段;
(4)利用密钥2和安全芯片提供的SM4算法服务,对PrivateKeynext进行加密,加密结果记为PrivateKey32-加密-密钥2-U盘,并将PrivateKey32-加密-密钥2-U盘填充至CSW数据包中下一轮HMAC密钥和加解密密钥的加密值字段;
(5)更新U盘固件中的密钥1和密钥2,其中
密钥1=PrivateKeynext的前16字节
密钥2=PrivateKeynext的后16字节。
6.如权利要求1所述的基于通信消息实时认证的U盘访问方法,其特征在于,
步骤十具体流程如下:
(1)利用密钥2和Openssl提供的SM4算法服务,对CSW数据包中下一轮HMAC密钥和加解密密钥的加密值字段解密,解密结果记为PrivateKey32-解密-密钥2
(2)将CSW数据包中的0~12字节记为CSW13
(3)利用密钥1和Openssl提供的SM3算法服务计算HMACvalue-CSW=HMAC密钥1(CSW13||PrivateKey32-解密-密钥2);
(4)判断HMACvalue-CSW的前16字节数据与CSW数据包校验值字段是否相等。
7.如权利要求1所述的基于通信消息实时认证的U盘访问方法,其特征在于,步骤十中密钥1=PrivateKey32-解密-密钥2的前16字节;密钥2=PrivateKey32-解密-密钥2的后16字节。
CN201710769823.4A 2017-08-31 2017-08-31 一种基于通信消息实时认证的u盘访问方法 Pending CN107506668A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710769823.4A CN107506668A (zh) 2017-08-31 2017-08-31 一种基于通信消息实时认证的u盘访问方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710769823.4A CN107506668A (zh) 2017-08-31 2017-08-31 一种基于通信消息实时认证的u盘访问方法

Publications (1)

Publication Number Publication Date
CN107506668A true CN107506668A (zh) 2017-12-22

Family

ID=60693345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710769823.4A Pending CN107506668A (zh) 2017-08-31 2017-08-31 一种基于通信消息实时认证的u盘访问方法

Country Status (1)

Country Link
CN (1) CN107506668A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109150906A (zh) * 2018-09-29 2019-01-04 贵州大学 一种实时数据通信安全方法
CN112052201A (zh) * 2020-09-27 2020-12-08 中孚安全技术有限公司 一种基于Linux内核层实现的USB设备管控方法与系统
CN112865969A (zh) * 2021-02-07 2021-05-28 广东工业大学 一种数据加密卡的加密方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2006246278A1 (en) * 2005-05-13 2006-11-16 Cryptomill Cryptographic control for mobile storage means
CN101051292A (zh) * 2007-01-08 2007-10-10 中国信息安全产品测评认证中心 一种可信u盘、实现可信u盘安全性及其与计算机数据通信的方法
CN101651538A (zh) * 2009-09-04 2010-02-17 瑞达信息安全产业股份有限公司 一种基于可信密码模块的数据安全传输方法
CN103747001A (zh) * 2014-01-14 2014-04-23 中电长城(长沙)信息技术有限公司 基于安全算法的音频接入式移动支付终端及通信方法
CN106571907A (zh) * 2016-11-11 2017-04-19 哈尔滨安天科技股份有限公司 一种上位机与u盘间安全传输数据的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2006246278A1 (en) * 2005-05-13 2006-11-16 Cryptomill Cryptographic control for mobile storage means
CN101051292A (zh) * 2007-01-08 2007-10-10 中国信息安全产品测评认证中心 一种可信u盘、实现可信u盘安全性及其与计算机数据通信的方法
CN101651538A (zh) * 2009-09-04 2010-02-17 瑞达信息安全产业股份有限公司 一种基于可信密码模块的数据安全传输方法
CN103747001A (zh) * 2014-01-14 2014-04-23 中电长城(长沙)信息技术有限公司 基于安全算法的音频接入式移动支付终端及通信方法
CN106571907A (zh) * 2016-11-11 2017-04-19 哈尔滨安天科技股份有限公司 一种上位机与u盘间安全传输数据的方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109150906A (zh) * 2018-09-29 2019-01-04 贵州大学 一种实时数据通信安全方法
CN112052201A (zh) * 2020-09-27 2020-12-08 中孚安全技术有限公司 一种基于Linux内核层实现的USB设备管控方法与系统
CN112865969A (zh) * 2021-02-07 2021-05-28 广东工业大学 一种数据加密卡的加密方法及装置

Similar Documents

Publication Publication Date Title
US11481483B2 (en) Machine learning training method, controller, device, server, terminal and medium
US10009173B2 (en) System, device, and method of secure entry and handling of passwords
CN103246842B (zh) 用于验证和数据加密的方法和设备
US9386014B2 (en) Soft token system
CN104639516B (zh) 身份认证方法、设备及系统
US20180082050A1 (en) Method and a system for secure login to a computer, computer network, and computer website using biometrics and a mobile computing wireless electronic communication device
TWI487359B (zh) 用於安全金鑰產生的設備、利用終端用戶設備來進行安全金鑰產生的方法及在裝置製造者伺服器中進行安全金鑰產生的方法
ES2632795T3 (es) Sistema de pago
US9135464B2 (en) Secure storage system for distributed data
US20170063827A1 (en) Data obfuscation method and service using unique seeds
US9256210B2 (en) Safe method for card issuing, card issuing device and system
RU2560810C2 (ru) Способ и система защиты информации от несанкционированного использования (ее варианты)
BR102014017104A2 (pt) pré-geração de chaves de sessão para transações eletrônicas e dispositivos que pré-geram chaves de sessão para transações eletrônicas
CN110795126A (zh) 一种固件安全升级系统
CN104579679B (zh) 用于农配网通信设备的无线公网数据转发方法
CN103996117B (zh) 安全手机
CN106878245A (zh) 图形码信息提供、获取方法、装置及终端
CN107908574A (zh) 固态盘数据存储的安全保护方法
CN106027457B (zh) 一种身份证信息传输方法和系统
CN107506668A (zh) 一种基于通信消息实时认证的u盘访问方法
CN104333452B (zh) 一种对文件数据多账户加密的方法
CN110245466A (zh) 软件完整性保护和验证方法、系统、设备及存储介质
WO2017050152A1 (zh) 用于移动设备的密码安全系统及其密码安全输入方法
NO340355B1 (en) 2-factor authentication for network connected storage device
US9985960B2 (en) Method for protecting data on a mass storage device and a device for the same

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20171222

WD01 Invention patent application deemed withdrawn after publication