首页 / 专利库 / 信号处理 / 串并转换 / 一种USB接口的ATA类存储设备中数据的加密方法及装置

一种USB接口的ATA类存储设备中数据的加密方法及装置

阅读:310发布:2022-01-21

专利汇可以提供一种USB接口的ATA类存储设备中数据的加密方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种USB 接口 的ATA类存储设备中数据的加密方法及装置,在常规ATA类存储设备的 基础 上,通过用户卡和 硬件 加密板卡组成的数据加密装置,对存储设备和USB主机之间传输的数据进行加密,从而达到对存储设备中数据硬加密的目的。装置由用户密钥卡和硬件加密板卡组成;所述的硬件加密板卡由USB收发器、USB设备 控制器 、控制端点缓冲区、批量端点缓冲区、 主控制器 、加解密模 块 、ATA控制器、密钥获取模块和安全 访问 模块组成。有益效果:密钥直接由加密装置读取,不经过存储设备所连接的计算机,安全性高。而且加解密速度快,独立于 操作系统 ,并且密钥保存于专 门 的硬件密钥存储卡,密钥与被保护数据独立存放,确保数据的安全。,下面是一种USB接口的ATA类存储设备中数据的加密方法及装置专利的具体信息内容。

1.一种USB接口的ATA类存储设备中数据的加密方法,其特征在于包括以下步骤:
(1)USB协议处理步骤:按照USB协议标准接收并解析计算机发来的数据包,当前 事务为控制传输时,对请求设备信息的命令则按照要求返回数据,对配置设备 的命令则按要求配置设备,并返回状态信息;当前事务为批量传输时,如果是 输出事务则将USB包中的有效数据放入批量端点输出缓冲区,如果是输入事务则 从批量端点输入缓冲区中读取有效数据并返回给计算机;
(2)MASS STORAGE协议处理步骤:解析批量端点输出缓冲区中的包类型,将命令 包转换成相应的ATA命令并传给ATA协议处理步骤,将数据包交由加解密步骤 进行加密;对用于读取设备型号、固件版本、存储容量、设备状态等信息的命 令,将ATA协议处理步骤返回的参数和状态信息封装成MASS STORAGE数据包写入 批量端点输入缓冲区;对于向存储设备中写数据的命令,控制加解密步骤对随 后批量端点输出缓冲区中的MASS STORAGE数据包进行加密;对于从存储设备中 读数据的命令,控制加解密步骤解密来自ATA协议处理步骤的数据,并将解密后 的明文数据封装成MASS STORAGE数据包写入批量端点输入缓冲区;
(3)加解密步骤:使用密钥获取步骤生成的工作密钥Kw,当MASS STORAGE协议处 理步骤解析的命令包是向存储设备中写数据的命令时,调用密码算法加密批量 端点输出缓冲区中的MASS STORAGE数据包,将加密结果传给ATA协议处理步骤; 当MASS STORAGE协议处理步骤解析的命令包是从存储设备中读数据的命令时, 则调用密码算法解密ATA协议处理步骤传来的数据,将解密结果传给MASS STORAGE协议处理步骤;所述的密钥获取步骤是:使用认证密钥Kua、Kea和随机 生成数进行内部认证和外部认证,在内部认证和外部认证失败次数超过设定值 后,中止本方法所有步骤的处理;否则,对读取的密钥素材Dk进行加密计算生 成工作密钥Kw后,将Kw提供给加解密步骤;
(4)ATA协议处理步骤:接收MASS STORAGE协议处理步骤生成的ATA命令块,当接 收到获取存储设备参数的命令块时,将从存储设备中读取的数据直接交由MASS STORAGE协议处理步骤使用;当接收到向存储设备中写数据的命令块时,将加解 密步骤加密好的密文数据写入存储设备;当接收到从存储设备中读数据的命令 块时,将从存储设备中读出的数据交给加解密步骤进行解密。
2.根据权利要求1所述的USB接口的ATA类存储设备中数据的加密方法,其特征在 于:所述的加解密步骤可以执行任意的密码计算,也可以是简单的数据变换。
3.一种用于权利要求1所述的USB接口的ATA类存储设备中数据的加密方法的装置, 其特征在于:所述的装置由用户密钥卡和硬件加密板卡组成;用户密钥卡为具有 安全计算功能的智能卡;所述的硬件加密板卡由USB收发器、USB设备控制器、控 制端点缓冲区、批量端点缓冲区、主控制器、加解密模块、ATA控制器、密钥获取 模块和安全访问模块组成:USB收发器接收USB接口的串行数据,经串并转换后将 数据包发送到USB设备控制器,同时将USB总线状态发送到USB设备控制器;将 USB设备控制器的并行数据经串行化后驱动到USB接口;USB设备控制器从USB收 发器接收并行数据和总线状态;按照USB协议解析并行数据,将控制传输数据包 写入控制端点缓冲区,向主控制器发送控制输出中断请求;将批量传输数据包写 入批量端点缓冲区,向主控制器发送批量输出中断请求;接收主控制器的控制输 入中断请求,从控制端点缓冲区读取数据,将其转发给USB收发器;接收主控制 器的批量输入中断请求,从批量端点缓冲区读取数据,将其转发到USB收发器; 控制端点缓冲区接收USB设备控制器的控制传输数据包,对数据进行暂存,由主 控制器读取;接收主控制器的控制传输命令响应数据,对数据进行暂存,由USB 设备控制器读取;批量端点缓冲区接收USB设备控制器输出的批量传输数据包, 对数据包进行暂存,供主控制器读取;批量端点缓冲区接收USB设备控制器输出 的批量传输数据包,对数据包进行暂存,供主控制器读取;主控制器接收USB设 备控制器的控制输出中断请求,从控制端点缓冲区读取控制传输数据包,解析包 中的USB命令类型,将控制传输命令响应数据写入控制端点缓冲区,向USB设备 控制器发送控制输入中断请求;接收USB设备控制器的批量输出中断请求,从批 量端点缓冲区中读取批量传输数据包,将解析出的ATA命令参数块写入ATA控制 器,将解析出的ATA数据写入加解密模块;向加解密模块发送加解密控制信号(加 密还是解密),写入需要加解密的数据长度;接收加解密模块的状态信息,使能或 者禁止对加解密模块的读写操作;接收ATA控制器返回的数据,并写入批量端点 缓冲区;从加解密模块读取数据,写入批量端点缓冲区;在向批量端点缓冲区写 入数据时,向USB设备控制器发送批量输入中断请求;加解密模块接收密钥获取 模块的工作密钥Kw;接收主控制器发送的加解密控制信号和需要加解密的数据长 度;接收主控制器写入的数据,对其进行加密,将加密结果输出给ATA控制器; 接收ATA控制器写入的数据,对其进行解密,将解密结果输出给主控制器;向主 控制器返回加解密模块的状态信息;ATA控制器接收主控制器写入的ATA命令参数 块,通过IDE接口将其写入ATA类存储设备;从加解密模块读取加密结果,按照 ATA协议规定的时序将加密结果通过IDE接口输出给ATA类存储设备;通过IDE接 口接收ATA类存储设备返回的数据、设备参数和设备状态,将数据写入加解密模 块,将设备参数和设备状态输出到主控制器;密钥获取模块通过串行通信接口向 用户密钥卡和安全访问模块发送用于双向身份认证的智能卡命令;接收从用户密 钥卡中获取密钥素材Dk;将密钥素材Dk发送给安全访问模块;接收安全访问模块 返回的工作密钥Kw;安全访问模块接收并执行密钥获取模块发送的智能卡命令, 向密钥获取模块返回命令执行结果和工作密钥Kw。
4.根据权利要求3所述的装置,其特征在于:所述的USB设备控制器由UTMI接口、 协议引擎、包封装单元、包解封装单元以及CRC计算单元1和CRC计算单元2组 成;UTMI接口接收USB收发器传来的并行数据和USB总线的状态信息,给USB收 发器发送速度协调信息,给协议引擎发送设备工作模式信息,将并行数据发送给 包解封单元;UTMI接口接收包封装单元发来的USB数据包,并转发给USB收发器; 包解封装单元接收UTMI接口发来的USB数据包,按照USB协议进行解析,发送有 效数据传给CRC计算单元2,从CRC计算单元2读取计算结果,进行CRC校验,将 解析信息及校验结果传给协议引擎;CRC计算单元2接收包解封装单元的有效数据, 并将计算结果返回给包解封装单元;协议引擎接收包解封装单元发送的解析信息 和校验结果;当为控制传输时,将数据写入控制数据缓冲区模块中,当校验结果 正确时,发送控制输出中断请求信号给主控制器,校验结果错误时则清除所写内 容;当为批量传输时,将数据写入批量数据缓冲区模块中,当校验结果正确时, 发送批量输出中断请求信号给主控制器,校验结果错误时则清除所写内容;协议 引擎接收来自UTMI接口的设备工作模式信息,接收来自主控制器的控制输入中断 请求信号和批量输入中断请求信号,从控制数据缓冲区或者批量数据缓冲区中读 取数据,并将设备工作模式信息、USB包PID信息和数据域信息传给包封装单元; 包封装单元接收协议引擎发送的设备工作模式信息、USB包PID信息和数据域信息, 将数据域信息发送给CRC计算单元1,从CRC计算单元1读回计算结果,按照USB 协议进行组装,将组装好的数据包传给UTMI接口;CRC计算单元1接收包封装单 元发送的数据域信息,并将计算结果返回给包封装单元。
5.根据权利要求3所述的装置,其特征在于:所述的控制端点缓冲区包括一个控制 输入缓冲区和一个控制输出缓冲区;当为控制输出事务时,控制输出缓冲区接收 USB设备控制器发送的有效数据,并将数据传给主控制器;当为控制输入事务时, 控制输出缓冲区接收主控制器发送的有效数据,并将数据传给USB设备控制器。
6.根据权利要求3所述的装置,其特征在于:所述的批量端点缓冲区包括一个批量 输入缓冲区和一个批量输出缓冲区;当为批量输出事务时,批量输出缓冲区接收 USB设备控制器发送的有效数据,并将数据传给主控制器;当为批量输入事务时, 批量输出缓冲区接收主控制器发送的有效数据,并将数据传给USB设备控制器。
7.根据权利要求3所述的装置,其特征在于:所述的主控制器由命令解码器1、命令 解码器2、命令响应器1、命令响应器2构成;命令解码器1接收USB设备控制器 发送的控制输出中断请求,从控制端点缓冲区读取标准USB请求包,对命令包进 行解码,以获取当前传输命令及参数,将命令及参数写入到命令响应器1,并启动 命令响应器1;命令解码器2接收USB设备控制器发送的批量输出中断请求,从批 量端点缓冲区读取MASS STORAGE命令包,对命令包进行解码,以获取当前传输命 令及参数,将命令及参数写入到命令响应器2,并启动命令响应器2;命令响应器 1将控制传输响应数据写入控制端点缓冲区,并向USB设备控制器发送控制输入中 断请求;命令响应器2根据来自命令解码器的命令及参数将ATA传输命令参数块 写入ATA控制器,加解密工作参数写入加解密模块,将来自ATA控制器的响应数 据写入批量端点缓冲区,并向USB设备控制器发送批量输入中断请求,或者将输 出数据包直接转发到加解密模块;命令响应器2接收加解密模块的状态信息,使 能或者禁止主控制器和ATA控制器对加解密模块的读写操作。
8.根据权利要求3所述的装置,其特征在于:所述的加解密模块由控制单元、选择 器1、数据组装单元、加解密器、数据拆分单元和选择器2组成;控制单元接收主 控制器输入的当前工作模式信号(加密还是解密)、待加密数据长度,接收密钥获 取模块输入的工作密钥Kw和密钥准备好信号;向主控制器返回加解密模块的当前 状态,向选择器1、数据组装单元、数据拆分单元和选择器2写入当前工作模式: 加密或解密,向加解密器写入当前工作模式:加密或解密、待加密数据长度、工 作密钥Kw、使能加解密启动信号;选择器1接收控制单元设置的当前工作模式: 加密或解密,加密时从批量端点缓冲区或者解密时从ATA控制器读取数据,提供 给数据组装单元;数据组装单元接收控制单元设置的当前工作模式:加密或解密, 加密时将选择器1输入的8位数据或者解密时16位数据组装成加解密器要求的长 度,组装好的数据写入加解密器;加解密器为实现所选取加解密算法的IP核,接 收控制单元设置的当前工作模式:加密或解密,使用工作密钥Kw对数据组装单元 输入的数据进行加密或者解密计算,将计算结果输出到数据拆分单元,向控制单 元返回加解密器的工作状态;数据拆分单元接收控制单元设置的当前工作模式(加 密还是解密),加密时将加解密器的加密结果转化为多个16位数据或者解密时多 个8位数据,拆分后的数据通过选择器2输出;选择器2接收控制单元设置的当 前工作模式:加密或解密,加密时将数据拆分单元的数据输出到ATA控制器或者 解密时批量端点缓冲区。
9.根据权利要求3所述的装置,其特征在于:所述的ATA控制器由传输控制单元、 寄存器组、PIO状态机、DMA状态机、CRC16计算单元组成;传输控制单元接收主 控制器写入的ATA命令块、无需加密的数据,向主控制器返回ATA类存储设备的 状态、错误信息、无需加密的数据;从加解密模块读取已经加密好的数据,向加 解密模块写入需要解密的数据;将ATA命令块、数据写入寄存器组,从寄存器组 中读取数据和ATA存储设备的状态信息、错误信息和参数信息;向PIO状态机和 DMA状态机发送使能信号,选择当前数据传输由PIO状态机执行还是由DMA状态机 执行;寄存器组由数据寄存器、数据/特征寄存器、扇区数寄存器、扇区号寄存器、 低柱面寄存器、高柱面寄存器、驱动器/磁头寄存器、状态/命令寄存器、可选状 态/控制寄存器组成;暂存传输控制单元写入的命令块和数据,暂存PIO状态机和 DMA状态机写入的数据和ATA类存储设备状态、错误、参数信息;供传输控制单元 读取ATA类存储设备的状态、错误和参数信息,供PIO状态机和DMA状态机读取 ATA命令块;PIO状态机接收传输控制单元的使能信号,在被使能的情况下从寄存 器组中读取ATA命令块和数据,按照ATA协议规范将ATA命令块和数据通过IDE 接口发送给ATA类存储设备;在被使能的情况下按照ATA协议规范从ATA类存储 设备接收数据和ATA类存储设备的状态、错误和参数信息,将数据和ATA类存储 设备的状态、错误和参数信息写入寄存器组;DMA状态机接收传输控制单元的使能 信号,在被使能的情况下从寄存器组中读取数据,接收ATA类存储设备的DMA请求 并按照ATA协议规范发送DMA应答信号,从ATA类存储设备读取数据,向ATA类 存储设备写入数据和数据的CRC校验结果;向CRC16计算单元写入数据,从CRC16 计算单元读取数据校验结果;CRC16计算单元接收DMA状态机写入的数据,按照 ATA协议规定的多项式计算数据的CRC校验结果并返回给DMA状态机。
10.根据权利要求3所述的装置,其特征在于:所述的密钥获取模块由密钥获取状态 机、APDU包处理单元、串行通信接口1、串行通信接口2和安全访问单元组成; 密钥获取状态机将工作密钥Kw输出到加解密模块,并向加解密模块发出工作密钥 准备好信号;向应用协议数据单元(Applicaion Protocol Data Unit,简称为APDU) 发送内部认证、外部认证、读密钥素材、计算工作密钥过程中需要执行的智能卡 命令;从应用协议数据单元接收命令执行结果,得到密钥素材Dk和工作密钥Kw; 应用协议数据单元接收密钥获取状态机发送的智能卡命令,按照APDU协议定义的 格式进行数据封装,将需要用户密钥卡执行的命令写入串行通信接口1,将需要安 全访问单元执行的命令写入串行通信接口2;对串行通信接口1和串行通信接口2 返回的数据包按照APDU协议进行解封装,将数据返回给密钥获取状态机;串行通 信接口1将应用协议数据单元写入的数据逐位串行输出到用户密钥卡将用户密钥 卡输入的串行数据转换成并行数据后输出给包处理单元;串行通信接口2将应用 协议数据单元写入的数据逐位串行输出到安全访问单元,将安全访问单元输入的 串行数据转换成并行数据后输出给包处理单元。

说明书全文

技术领域

发明涉及一种USB接口的ATA类存储设备中数据的加密方法及装置,用于保护 存储设备中数据的机密性,并且能够禁止对存储设备未经许可访问,属于信息安全 领域。

背景技术

目前,基于USB接口的移动存储设备由于能够为用户提供较大的存储空间,且具有 携带方便,速度快以及即插即用的特点,获得了众多用户的青睐,已经成为用户交换 数据的常用设备。其中,基于USB接口的ATA类存储设备是最常用的一类。
但是,由于移动存储设备上的数据若以明文形式存储,极易被非法用户获取。因 此,必须限制非法用户的访问,并防止移动存储设备丢失、被盗和废弃而引发的泄密 问题。
用户认证和数据加密是解决该问题的重要技术手段。常用的加密方式分为两种: 软件加密和硬件加密。然而,软件加密存在着加解密速度慢、需要相关的操作系统和 应用程序支持、对用户不透明、占用系统资源,而且加密软件自身也会存在安全漏洞 (如加密程序可能被中止、加密密钥驻留内存等),攻击者利用这些安全漏洞将会对移 动存储中敏感数据的安全性造成威胁。
采用硬件加密机制则完全避免了这些问题:加解密速度快、不依赖于特定操作系 统或其他应用程序、对用户完全透明、对系统性能没有显著的影响,而且加密密钥独 立于操作系统和应用程序加载,防止了来自存储设备上恶意代码的攻击。即使移动存 储设备被盗,只要保证密钥的安全性,盗窃者也无法获得移动存储设备中的机密数据 信息。
我们经过检索国内专利、非专利文献及互联网资源,共检索出以下与USB接口ATA 类存储设备加密方法和装置密切相关的资料:
“语音、图像数字移动硬盘”专利中提出了一种语音、图像数字移动硬盘。它在主 机IDE接口和硬盘之间引入特定型号的加密IC,用来对交互的数据进行加解密操作。此 加密IC遵从智能卡串行通信协议,加密速度慢,并且加密是以文件为粒度的,依赖于 操作系统,对用户不透明。
“具有安全加密功能的USB移动存储设备”专利中提出了一种具有安全加密功能的 USB移动存储设备,通过驱动程序与相关软件的配合实现加密,存在前面所述软件加密 的缺点和安全漏洞,安全性不高。
“基于通用串行总线接口的安全加密盒存储装置”专利中提出了一种基于通用串 行总线接口和智能卡进行在线和本机身份认证和对文件加/解密并存储以对文件安全 网络传输的加密装置。它采用智能卡对数据进行加密,加解密速度慢,并且需要相应 的读卡设备。
“百事灵”超级加密型移动硬盘采用的是3DES加密算法来进行加密。旅之星的“黑 金刚”移动硬盘声称采用的是硬件加密技术,但是并没有对所采用的加密算法进行说 明。深圳亚略特公司又推出了采用硬加密技术的指纹移动硬盘ARATEK-FMD,也没有对 所采用的加密算法进行说明。而本发明中的加密系统可以支持NIST认证的加密算法或 者我国自主开发的强加密算法,并且采用硬件加密技术和用户身份认证技术相结合的 方法,速度快、安全性高。
联想公司的“一种移动存储装置及存取移动存储装置中加密数据的方法”专利中 提出了一种对移动存储设备进行加解密的装置及数据加密方法。但是此种加密是通过 与移动存储设备相连的计算机进行软件加密的,存在安全隐患安全,而且直接由计算 机从用户卡中读取密钥,安全性不高。
联想公司的“可独立于计算机的移动外存内容加密方法”专利中提出了一种对移 动外存的内容进行加密的方法。但是它仍依赖于所使用计算机的操作系统,并且移动 外存中保存有密码,密钥未与被加密数据独立存放,存在致命的安全隐患,且所采用 的加密方式仍然是软件加密。
综上,检索的结论是:国内在安全移动存储设备方面的研究已经取得了一定的成 果,也已经有相应的产品面世。但是,到目前为止还没有采用纯硬件加密、将数据加 密和身份认证相结合、不依赖操作系统和软件、支持所有USB接口和强分组密码算法 或其它变换操作的ATA类存储设备的高速加密方法和装置。

发明内容

要解决的技术问题
为了避免现有技术的不足之处,本发明提出一种USB接口的ATA类存储设备中数 据的加密方法及装置,该方法只依赖于此加密装置,在加密装置正确连接存储设备和 USB主机后,即启动本发明所描述的加密方法,实现对存储设备中数据的保护。
技术方案
本发明的思想在于:在常规ATA类存储设备的基础上,通过用户卡和硬件加密板 卡组成的数据加密装置,对存储设备和USB主机之间传输的数据进行加密,从而达到 对存储设备中数据硬加密的目的。所述用户卡中存储代表用户身份的认证密钥Kua、 鉴别用户卡读取者身份的认证密钥Kea、工作密钥素材Dk,由用户保管并在需要时插 入硬件加密板卡相应的接口中;用于鉴别硬件加密板卡的合法性、表明自己的身份、 向身份合法的硬件加密板卡提供密钥素材;所述硬件加密板卡中存储代表自己身份的 认证密钥Kea、鉴别用户身份的认证密钥Kua;用于表明自己的身份、鉴别用户卡的合 法性、获取密钥素材Dk、计算工作密钥Kw,完成与USB主机的通信、MASS STORAGE 协议处理、数据加解密,实现对ATA类存储设备的数据读写。由于此加密方法对存储 设备中的所有数据进行加密,这样即使非法得到存储设备,如果没有密钥,也无法从 存储设备中的密文得到原始明文数据,信息隐藏级别高。本发明可广泛应用于国防、 党政机关、企业与公司、财务管理部等涉密单位的移动存储系统中去。
一种USB接口的ATA类存储设备中数据的加密方法,其特征在于包括以下步骤:
(1)USB协议处理步骤:按照USB协议标准接收并解析计算机发来的数据包,当前事 务为控制传输时,对请求设备信息的命令则按照要求返回数据,对配置设备的 命令则按要求配置设备,并返回状态信息;当前事务为批量传输时,如果是输 出事务则将USB包中的有效数据放入批量端点输出缓冲区,如果是输入事务则从 批量端点输入缓冲区中读取有效数据并返回给计算机;
(2)MASS STORAGE协议处理步骤:解析批量端点输出缓冲区中的包类型,将命令 包转换成相应的ATA命令并传给ATA协议处理步骤,将数据包交由加解密步骤 进行加密;对用于读取设备型号、固件版本、存储容量、设备状态等信息的命 令,将ATA协议处理步骤返回的参数和状态信息封装成MASS STORAGE数据包写入 批量端点输入缓冲区;对于向存储设备中写数据的命令,控制加解密步骤对随 后批量端点输出缓冲区中的MASS STORAGE数据包进行加密;对于从存储设备中 读数据的命令,控制加解密步骤解密来自ATA协议处理步骤的数据,并将解密后 的明文数据封装成MASS STORAGE数据包写入批量端点输入缓冲区;
(3)加解密步骤:使用密钥获取步骤生成的工作密钥Kw,当MASS STORAGE协议处 理步骤解析的命令包是向存储设备中写数据的命令时,调用密码算法加密批量 端点输出缓冲区中的MASS STORAGE数据包,将加密结果传给ATA协议处理步骤; 当MASS STORAGE协议处理步骤解析的命令包是从存储设备中读数据的命令时, 则调用密码算法解密ATA协议处理步骤传来的数据,将解密结果传给MASS STORAGE协议处理步骤;所述的密钥获取步骤是:使用认证密钥Kua、Kea和随机 生成数进行内部认证和外部认证,在内部认证和外部认证失败次数超过设定值 后,中止本方法所有步骤的处理;否则,对读取的密钥素材Dk进行加密计算生 成工作密钥Kw后,将Kw提供给加解密步骤;
(4)ATA协议处理步骤:接收MASS STORAGE协议处理步骤生成的ATA命令块,当接收 到获取存储设备参数的命令块时,将从存储设备中读取的数据直接交由MASS STORAGE协议处理步骤使用;当接收到向存储设备中写数据的命令块时,将加解 密步骤加密好的密文数据写入存储设备;当接收到从存储设备中读数据的命令 块时,将从存储设备中读出的数据交给加解密步骤进行解密。
所述的加解密步骤可以执行任意的密码计算,也可以是简单的数据变换。
一种用于USB接口的ATA类存储设备中数据的加密方法的装置,其特征在于:所述 的装置由用户密钥卡和硬件加密板卡组成;用户密钥卡为具有安全计算功能的智能卡; 所述的硬件加密板卡由USB收发器、USB设备控制器、控制端点缓冲区、批量端点缓冲 区、主控制器、加解密模块、ATA控制器、密钥获取模块和安全访问模块组成:USB收 发器接收USB接口的串行数据,经串并转换后将数据包发送到USB设备控制器,同时将 USB总线状态发送到USB设备控制器;将USB设备控制器的并行数据经串行化后驱动到 USB接口;USB设备控制器从USB收发器接收并行数据和总线状态;按照USB协议解析并 行数据,将控制传输数据包写入控制端点缓冲区,向主控制器发送控制输出中断请求; 将批量传输数据包写入批量端点缓冲区,向主控制器发送批量输出中断请求;接收主 控制器的控制输入中断请求,从控制端点缓冲区读取数据,将其转发给USB收发器;接 收主控制器的批量输入中断请求,从批量端点缓冲区读取数据,将其转发到USB收发器; 控制端点缓冲区接收USB设备控制器的控制传输数据包,对数据进行暂存,由主控制器 读取;接收主控制器的控制传输命令响应数据,对数据进行暂存,由USB设备控制器读 取;批量端点缓冲区接收USB设备控制器输出的批量传输数据包,对数据包进行暂存, 供主控制器读取;批量端点缓冲区接收USB设备控制器输出的批量传输数据包,对数据 包进行暂存,供主控制器读取;主控制器接收USB设备控制器的控制输出中断请求,从 控制端点缓冲区读取控制传输数据包,解析包中的USB命令类型,将控制传输命令响应 数据写入控制端点缓冲区,向USB设备控制器发送控制输入中断请求;接收USB设备控 制器的批量输出中断请求,从批量端点缓冲区中读取批量传输数据包,将解析出的ATA 命令参数块写入ATA控制器,将解析出的ATA数据写入加解密模块;向加解密模块发送 加解密控制信号(加密还是解密),写入需要加解密的数据长度;接收加解密模块的状 态信息,使能或者禁止对加解密模块的读写操作;接收ATA控制器返回的数据,并写入 批量端点缓冲区;从加解密模块读取数据,写入批量端点缓冲区;在向批量端点缓冲 区写入数据时,向USB设备控制器发送批量输入中断请求;加解密模块接收密钥获取模 块的工作密钥Kw;接收主控制器发送的加解密控制信号和需要加解密的数据长度;接 收主控制器写入的数据,对其进行加密,将加密结果输出给ATA控制器;接收ATA控制 器写入的数据,对其进行解密,将解密结果输出给主控制器;向主控制器返回加解密 模块的状态信息;ATA控制器接收主控制器写入的ATA命令参数块,通过IDE接口将其写 入ATA类存储设备;从加解密模块读取加密结果,按照ATA协议规定的时序将加密结果 通过IDE接口输出给ATA类存储设备;通过IDE接口接收ATA类存储设备返回的数据、设 备参数和设备状态,将数据写入加解密模块,将设备参数和设备状态输出到主控制器; 密钥获取模块通过串行通信接口向用户密钥卡和安全访问模块发送用于双向身份认证 的智能卡命令;接收从用户密钥卡中获取密钥素材Dk;将密钥素材Dk发送给安全访问 模块;接收安全访问模块返回的工作密钥Kw;安全访问模块接收并执行密钥获取模块 发送的智能卡命令,向密钥获取模块返回命令执行结果和工作密钥Kw。
有益效果
本发明中的加密方法及装置采用纯硬件从底层对存储设备中的数据进行加密,加 解密速度快,对用户完全透明。
本发明中的加密装置完全用硬件方法控制对数据的加解密,不依赖于任何的驱动 程序以及操作系统,密钥不驻留计算机内存,安全性高。
本发明中的加密装置在底层进行纯硬件的加密,加密速度快,还具有适应大容量 存储设备的特点。
本发明采用硬件加密技术,并且密钥直接由加密装置读取,不经过存储设备所连 接的计算机,安全性高。而且加解密速度快,独立于操作系统,并且密钥保存于专门 的硬件密钥存储卡,密钥与被保护数据独立存放,确保数据的安全。
附图说明
图1:USB接口的ATA类存储设备中数据的加密方法
图2:基于USB接口的ATA类存储设备中数据的加密装置
图3:USB设备控制器
图4:主控制器模块
图5:加解密模块
图6:ATA控制器
图7:密钥获取模块

具体实施方式

现结合附图对本发明作进一步描述:
实施本方法的装置由用户密钥卡和硬件加密板卡组成。
用户密钥卡为具有安全计算功能的智能卡,遵循串行通信协议,使用明华澳汉公 司的SIC04智能卡;存储代表用户身份的认证密钥Kua、鉴别用户密钥卡读取者身份 的认证密钥Kea、工作密钥素材Dk,由用户保管并在需要时插入硬件加密板卡相应的 接口中;用于鉴别硬件加密板卡的合法性、表明自己的身份、向身份合法的硬件加密 板卡提供密钥素材。
所述的硬件加密板卡中存储代表自己身份的认证密钥Kea、鉴别用户身份的认证 密钥Kua;用于表明自己的身份、鉴别用户密钥卡的合法性、获取密钥素材Dk、计算 工作密钥Kw,完成与USB主机的通信、MASS STORAGE协议处理、数据加解密,实现对 ATA类存储设备的数据读写;硬件加密板卡由USB收发器、USB设备控制器、控制端点 缓冲区、批量端点缓冲区、主控制器、加解密模块、ATA控制器、密钥获取模块和安 全访问模块构成。
所述的USB设备控制器由UTMI接口、协议引擎、包封装单元、包解封装单元以及CRC 计算单元1和CRC计算单元2组成;UTMI接口接收USB收发器传来的并行数据和USB总线的 状态信息,给USB收发器发送速度协调信息,给协议引擎发送设备工作模式信息,将并 行数据发送给包解封单元;UTMI接口接收包封装单元发来的USB数据包,并转发给USB 收发器;包解封装单元接收UTMI接口发来的USB数据包,按照USB协议进行解析,发送 有效数据传给CRC计算单元2,从CRC计算单元2读取计算结果,进行CRC校验,将解析信 息及校验结果传给协议引擎;CRC计算单元2接收包解封装单元的有效数据,并将计算 结果返回给包解封装单元;协议引擎接收包解封装单元发送的解析信息和校验结果; 当为控制传输时,将数据写入控制数据缓冲区模块中,当校验结果正确时,发送控制 输出中断请求信号给主控制器,校验结果错误时则清除所写内容;当为批量传输时, 将数据写入批量数据缓冲区模块中,当校验结果正确时,发送批量输出中断请求信号 给主控制器,校验结果错误时则清除所写内容;协议引擎接收来自UTMI接口的设备工 作模式信息,接收来自主控制器的控制输入中断请求信号和批量输入中断请求信号, 从控制数据缓冲区或者批量数据缓冲区中读取数据,并将设备工作模式信息、USB包 PID信息和数据域信息传给包封装单元;包封装单元接收协议引擎发送的设备工作模式 信息、USB包PID信息和数据域信息,将数据域信息发送给CRC计算单元1,从CRC计算单 元1读回计算结果,按照USB协议进行组装,将组装好的数据包传给UTMI接口;CRC计算 单元1接收包封装单元发送的数据域信息,并将计算结果返回给包封装单元。
所述的控制端点缓冲区包括一个控制输入缓冲区和一个控制输出缓冲区;当为控 制输出事务时,控制输出缓冲区接收USB设备控制器发送的有效数据,并将数据传给主 控制器;当为控制输入事务时,控制输出缓冲区接收主控制器发送的有效数据,并将 数据传给USB设备控制器。
所述的批量端点缓冲区包括一个批量输入缓冲区和一个批量输出缓冲区;当为批 量输出事务时,批量输出缓冲区接收USB设备控制器发送的有效数据,并将数据传给主 控制器;当为批量输入事务时,批量输出缓冲区接收主控制器发送的有效数据,并将 数据传给USB设备控制器。
所述的主控制器由命令解码器1、命令解码器2、命令响应器1、命令响应器2构成; 命令解码器1接收USB设备控制器发送的控制输出中断请求,从控制端点缓冲区读取标 准USB请求包,对命令包进行解码,以获取当前传输命令及参数,将命令及参数写入到 命令响应器1,并启动命令响应器1;命令解码器2接收USB设备控制器发送的批量输出 中断请求,从批量端点缓冲区读取MASS STORAGE命令包,对命令包进行解码,以获取 当前传输命令及参数,将命令及参数写入到命令响应器2,并启动命令响应器2;命令 响应器1将控制传输响应数据写入控制端点缓冲区,并向USB设备控制器发送控制输入 中断请求;命令响应器2根据来自命令解码器的命令及参数将ATA传输命令参数块写入 ATA控制器,加解密工作参数写入加解密模块,将来自ATA控制器的响应数据写入批量 端点缓冲区,并向USB设备控制器发送批量输入中断请求,或者将输出数据包直接转发 到加解密模块;命令响应器2接收加解密模块的状态信息,使能或者禁止主控制器和ATA 控制器对加解密模块的读写操作。
所述的加解密模块由控制单元、选择器1、数据组装单元、加解密器、数据拆分单 元和选择器2组成;控制单元接收主控制器输入的当前工作模式信号(加密还是解密)、 待加密数据长度,接收密钥获取模块输入的工作密钥Kw和密钥准备好信号;向主控制 器返回加解密模块的当前状态,向选择器1、数据组装单元、数据拆分单元和选择器2 写入当前工作模式:加密或解密,向加解密器写入当前工作模式:加密或解密、待加 密数据长度、工作密钥Kw、使能加解密启动信号;选择器1接收控制单元设置的当前工 作模式:加密或解密,加密时从批量端点缓冲区或者解密时从ATA控制器读取数据,提 供给数据组装单元;数据组装单元接收控制单元设置的当前工作模式:加密或解密, 加密时将选择器1输入的8位数据或者解密时16位数据组装成加解密器要求的长度,组 装好的数据写入加解密器;加解密器为实现所选取加解密算法的IP核,接收控制单元 设置的当前工作模式:加密或解密,使用工作密钥Kw对数据组装单元输入的数据进行 加密或者解密计算,将计算结果输出到数据拆分单元,向控制单元返回加解密器的工 作状态;数据拆分单元接收控制单元设置的当前工作模式(加密还是解密),加密时将 加解密器的加密结果转化为多个16位数据或者解密时多个8位数据,拆分后的数据通过 选择器2输出;选择器2接收控制单元设置的当前工作模式:加密或解密,加密时将数 据拆分单元的数据输出到ATA控制器或者解密时批量端点缓冲区。
所述的ATA控制器由传输控制单元、寄存器组、PIO状态机、DMA状态机、CRC16计 算单元组成;传输控制单元接收主控制器写入的ATA命令块、无需加密的数据,向主控 制器返回ATA类存储设备的状态、错误信息、无需加密的数据;从加解密模块读取已经 加密好的数据,向加解密模块写入需要解密的数据;将ATA命令块、数据写入寄存器组, 从寄存器组中读取数据和ATA存储设备的状态信息、错误信息和参数信息;向PIO状态 机和DMA状态机发送使能信号,选择当前数据传输由PIO状态机执行还是由DMA状态机执 行;寄存器组由数据寄存器、数据/特征寄存器、扇区数寄存器、扇区号寄存器、低柱 面寄存器、高柱面寄存器、驱动器/磁头寄存器、状态/命令寄存器、可选状态/控制寄 存器组成;暂存传输控制单元写入的命令块和数据,暂存PIO状态机和DMA状态机写入 的数据和ATA类存储设备状态、错误、参数信息;供传输控制单元读取ATA类存储设备 的状态、错误和参数信息,供PIO状态机和DMA状态机读取ATA命令块;PIO状态机接收 传输控制单元的使能信号,在被使能的情况下从寄存器组中读取ATA命令块和数据,按 照ATA协议规范将ATA命令块和数据通过IDE接口发送给ATA类存储设备;在被使能的情 况下按照ATA协议规范从ATA类存储设备接收数据和ATA类存储设备的状态、错误和参数 信息,将数据和ATA类存储设备的状态、错误和参数信息写入寄存器组;DMA状态机接 收传输控制单元的使能信号,在被使能的情况下从寄存器组中读取数据,接收ATA类存 储设备的DMA请求并按照ATA协议规范发送DMA应答信号,从ATA类存储设备读取数据, 向ATA类存储设备写入数据和数据的CRC校验结果;向CRC16计算单元写入数据,从CRC16 计算单元读取数据校验结果;CRC16计算单元接收DMA状态机写入的数据,按照ATA协议 规定的多项式计算数据的CRC校验结果并返回给DMA状态机。
所述的密钥获取模块由密钥获取状态机、APDU包处理单元、串行通信接口1、串 行通信接口2和安全访问单元组成;密钥获取状态机将工作密钥Kw输出到加解密模块, 并向加解密模块发出工作密钥准备好信号;向应用协议数据单元(Applicaion Protocol Data Unit,简称为APDU)发送内部认证、外部认证、读密钥素材、计算工 作密钥过程中需要执行的智能卡命令;从应用协议数据单元接收命令执行结果,得到 密钥素材Dk和工作密钥Kw;应用协议数据单元接收密钥获取状态机发送的智能卡命 令,按照APDU协议定义的格式进行数据封装,将需要用户密钥卡执行的命令写入串行 通信接口1,将需要安全访问单元执行的命令写入串行通信接口2;对串行通信接口1 和串行通信接口2返回的数据包按照APDU协议进行解封装,将数据返回给密钥获取状 态机;串行通信接口1将应用协议数据单元写入的数据逐位串行输出到用户密钥卡将 用户密钥卡输入的串行数据转换成并行数据后输出给包处理单元;串行通信接口2将 应用协议数据单元写入的数据逐位串行输出到安全访问单元,将安全访问单元输入的 串行数据转换成并行数据后输出给包处理单元。
所述的数据缓冲区用FIFO或者RAM实现均可。
所述的USB接口可以为USB1.1或USB2.0接口。
所述的用户密钥卡通过串行通信接口与硬件加密板卡相连,即插即用。
所述的用户密钥卡为具有安全计算功能的智能卡。
所述的加解密模块可以是任意的密码算法芯片或者IP核,也可以是直连线,或者 其它的连线变换操作。
所述的加解密模块,可以通过下载接口,完成密码算法的更新。
连接加密装置后的ATA类存储设备,在常用的WIN2000、WINXP、Linux操作系统 上无需安装特殊的驱动程序,真正实现即插即用。
在硬件加密板卡中使用集USB设备控制器模块、数据缓冲区模块、主控制器模块、 加解密模块、密钥获取模块和ATA控制器模块于一体的ASIC芯片或可定制芯片。
或者硬件加密板卡中的加解密模块使用独立的芯片实现,其余模块采用集成于一 体的ASIC芯片或可定制芯片实现。
或者硬件加密板卡中的各个模块可以任意组合,使用多个ASIC芯片或可定制芯片 实现,这些芯片可以放置在多个不同的电路板上完成相应的功能。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈