CN112685352A - 一种pcie转sata协议的桥接芯片及其运行方法 - Google Patents
一种pcie转sata协议的桥接芯片及其运行方法 Download PDFInfo
- Publication number
- CN112685352A CN112685352A CN202011633699.7A CN202011633699A CN112685352A CN 112685352 A CN112685352 A CN 112685352A CN 202011633699 A CN202011633699 A CN 202011633699A CN 112685352 A CN112685352 A CN 112685352A
- Authority
- CN
- China
- Prior art keywords
- information
- key
- unit
- decryption
- sata
- 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.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明提供了一种PCIE转SATA协议的桥接芯片及其运行方法,所述桥接芯片包括:PCIE协议解析单元、盘符分配判断单元、第二加解密电路、盘符选择单元、映射关系存储单元、盘符标识缓存单元、密钥产生单元、至少一个SATA协议控制器、至少一个SATA接口,每一个SATA协议控制器对应与一个SATA接口连接。所述映射关系存储单元用于存储读写地址区域与盘符标识信息的映射关系。当数据在PCIE接口与SATA接口之间传输时,由于数据是经过第二加解密电路加密后再传输至相应的SATA接口的,且第二加解密电路进行加解密的密钥信息是由密钥产生单元根据相应的盘符标识信息生成的,从而有效提升了数据传输过程的安全性。
Description
技术领域
本发明涉及芯片电路设计领域,特别涉及一种PCIE转SATA协议的桥接芯片及其运行方法。
背景技术
SATA协议和PCIE协议是当前主流的高速存储接口协议,由于部分主机设备的PCIE接口数量有限,当用户希望使用高速的SATA存储盘或者希望能从单个PCIE接口转接出多个SATA接口,就需要PCIE转SATA协议的桥接芯片。
对于数据传输存储而言,数据安全的意义十分重大,尤其是存储有个人关键数据或政府机关数据的存储设备。接口协议桥接芯片在使用过程中处于存储数据流的中间位置,但目前的接口协议桥接芯片都不具备数据安全保护功能,在传输数据的过程中容易导致数据泄露,存在着一定的安全隐患。如果能提高当前接口协议桥接芯片的数据安全性能,那么对于整个数据传输过程安全保护将是十分有意义的。
发明内容
为此,需要提供一种PCIE转SATA接口的数据安全的技术方案,用以解决现有的接口协议桥接芯片在传输数据过程中存在着数据泄露的安全隐患的问题。
为实现上述目的,本发明第一方面提供了一种PCIE转SATA协议的桥接芯片的运行方法,所述方法应用于PCIE转SATA协议的桥接芯片,所述桥接芯片包括:PCIE协议解析单元、盘符分配判断单元、第二加解密电路、盘符选择单元、映射关系存储单元、盘符标识缓存单元、密钥产生单元、至少一个SATA协议控制器、至少一个SATA接口;所述映射关系存储单元用于存储读写地址区域与盘符标识信息的映射关系;
所述方法包括以下步骤:
所述PCIE协议解析单元与数据读写设备的PCIE接口建立连接,每一个所述SATA接口对应与一个SATA存储单元连接;
所述PCIE协议解析单元接收所述数据读写设备发送的数据读写指令,解析出所述数据读写指令对应的数据读写地址;
所述盘符分配判断单元根据所述映射关系,确定当前数据读写地址所在的读写地址区域对应的盘符标识信息,并将所述盘符标识信息存储于所述盘符标识缓存单元中;
所述密钥产生单元从所述盘符标识缓存单元中获取所述盘符标识信息,并根据获取的所述盘符标识信息生成访问密钥信息;
所述第二加解密电路根据所述访问密钥信息对从所述SATA存储单元中读取的数据进行解密或者对待写入所述SATA存储单元中的数据进行加密。
进一步地,所述桥接芯片还包括数字签名比对单元、校验信息存储单元和数字签名运算单元;
所述数字签名比对单元分别与所述第二加解密电路、盘符选择单元、数字签名运算单元、校验信息存储单元连接;所述数字签名运算单元与所述密钥产生单元连接;所述校验信息存储单元与所述盘符分配判断单元连接;
所述方法包括:
数字签名运算单元对所述访问密钥信息进行哈希运算,得到待认证的数字签名信息;
数字签名比对单元从所述校验信息存储单元中获取校验签名信息,并将所述待认证的数字签名信息与所述校验签名信息进行比对,如果两者匹配则校验通过,继续执行所述数据读写指令;如果两者不匹配则校验不通过,停止执行所述数据读写指令。
进一步地,所述桥接芯片还包括第一解密电路和校验密钥存储单元,所述第一解密电路分别与所述校验密钥信息存储单元、校验信息存储单元、数字签名比对单元连接;
所述方法包括:
第一解密电路从所述校验信息存储单元中获取加密的校验签名信息以及从所述校验密钥存储单元中获取校验密钥信息,采用所述校验密钥信息对所述加密后的校验签名信息进行解密,并将解密后的校验签名信息发送给所述数字签名比对单元。
进一步地,所述SATA接口的数量为多个,所述桥接芯片还包括SATA接口分配单元和SATA协议控制器;每一个SATA接口对应与一个SATA协议控制器连接,所有SATA协议控制器均与所述SATA接口分配单元连接,所述SATA接口分配单元与所述第二加解密电路连接;
所述方法包括:
SATA接口分配单元根据所述数据读写指令使能相应的SATA协议控制器,并通过使能后的所述SATA协议控制器向相应的SATA接口发送所述数据读写指令;所述相应的SATA协议控制器是指与所述SATA接口标识信息对应的SATA接口相连接的SATA协议控制器。
进一步地,所述桥接芯片还包括安全等级对应关系存储单元,所述安全等级对应关系存储单元分别与所述盘符分配判断单元、密钥产生单元连接;
所述方法包括:
安全等级对应关系存储单元存储盘符标识信息与密钥安全等级的对应关系;
密钥产生单元生成与所述密钥安全等级相匹配的访问密钥信息。
进一步地,所述密钥产生单元包括源数据解密单元、根密钥运算单元、密钥混合单元和层级解密运算单元;所述源数据解密单元与密钥混合单元连接,所述密钥混合单元与所述根密钥运算单元连接,所述根密钥运算单元和层级解密运算单元连接;
所述方法包括:
源数据解密单元获取加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加解密算法;
密钥混合单元获取解密后的源密钥信息和所述盘符标识信息,并根据所述解密后的源密钥信息和所述盘符标识信息生成混合密钥信息;
根密钥运算单元根据所述混合密钥信息计算得到根密钥信息;
层级解密运算单元获取层级密钥信息、层级密钥加解密算法和根密钥信息,根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到访问密钥信息。
进一步地,所述密钥产生单元还包括层级信息存储单元和主控单元,所述主控单元分别与所述层级信息存储单元和所述层级解密运算单元连接;
所述方法包括:
层级信息存储单元存储层级密钥信息;
主控单元根据当前盘符标识信息对应的密钥安全等级从所述层级信息存储单元中获取层级密钥信息,并将所述层级密钥信息发送给所述层级解密运算单元。
进一步地,所述层级解密运算单元包括一级解密运算单元和二级解密运算单元;所述层级密钥信息包括第一层级密钥信息和第二层级密钥信息;所述层级加解密算法包括第一层级加解密算法和第二层加解密算法;
所述方法包括:
主控单元从所述层级信息存储单元获取一级层级密钥信息,并将所述一级层级密钥信息传输给一级解密运算单元,以及从所述层级信息存储单元获取二级层级密钥信息,并将所述二级层级密钥信息传输给二级解密运算单元;
一级解密运算单元根据所述一级层级密钥加解密算法采用所述根密钥信息对所述一级层级密钥信息进行解密,得到一级密钥;
二级解密运算单元获取所述一级密钥,并根据所述二级层级密钥加解密算法采用所述一级密钥信息对所述二级层级密钥信息进行解密,得到二级密钥。
进一步地,所述层级信息存储单元还用于存储握手请求信息和握手响应信息;
所述密钥产生单元还包括握手解密运算电路、握手加密运算电路和握手信息校验电路,所述握手解密运算电路分别与所述主控单元、所述握手加密运算电路连接,所述握手加密运算电路分别与所述主控单元、所述握手信息校验电路连接;
所述方法包括:
握手解密运算电路采用所述访问密钥信息对所述访问密钥信息自身进行解密,得到握手加密密钥信息;
握手加密运算电路接收主控单元发送的所述握手请求信息,并采用所述握手加密密钥信息对所述握手请求信息进行加密,得到握手加密信息;
握手信息校验电路获取所述握手加密信息和主控单元发送的握手响应信息,并判断两者是否匹配,若是则输出所述访问密钥信息。
本发明的第二方面还提供了一种PCIE转SATA协议的桥接芯片,所述PCIE转SATA协议的桥接芯片为如本发明第一方面所述的PCIE转SATA协议的桥接芯片,用于执行如本发明第一方面所述的方法。
区别于现有技术,本发明提供了一种PCIE转SATA协议的桥接芯片及其运行方法,所述桥接芯片包括:PCIE协议解析单元、盘符分配判断单元、第二加解密电路、盘符选择单元、映射关系存储单元、盘符标识缓存单元、密钥产生单元、至少一个SATA协议控制器、至少一个SATA接口,每一个SATA协议控制器对应与一个SATA接口连接。所述映射关系存储单元用于存储读写地址区域与盘符标识信息的映射关系。当数据在PCIE接口与SATA接口之间传输时,由于数据是经过第二加解密电路加密后再传输至相应的SATA接口的,且第二加解密电路进行加解密的密钥信息是由密钥产生单元根据相应的盘符标识信息(即当前数据读写地址所在的地址区域对应的盘符标识信息)生成的,从而有效提升了数据传输过程的安全性。
附图说明
图1为本发明一实施例涉及的密钥产生单元的结构示意图;
图2为本发明另一实施例涉及的密钥产生单元的结构示意图;
图3为本发明另一实施例涉及的密钥产生单元的结构示意图;
图4为本发明一实施例涉及的密钥产生方法的流程图;
图5为本发明另一实施例涉及的密钥产生方法的流程图;
图6为本发明另一实施例涉及的密钥产生方法的流程图;
图7为本发明一实施例涉及的PCIE转SATA协议的桥接芯片的结构示意图;
图8为本发明另一实施例涉及的PCIE转SATA协议的桥接芯片的结构示意图;
图9为本发明一实施例涉及的PCIE转SATA协议的桥接芯片的运行方法的流程图。
附图标记说明:
10、PCIE转SATA协议的桥接芯片;
201、PCIE协议解析单元;202、盘符分配判断单元;203、第二加解密电路;204、盘符选择单元;205、映射关系存储单元;206、盘符标识缓存单元;
207、SATA协议控制器;2071、第一SATA协议控制器;2072、第二SATA协议控制器;2073、第三SATA协议控制器;
208、SATA接口;2081、第一SATA接口;2082、第二SATA接口;2083、第三SATA接口;
209、接口检测控制单元;210、标识动态划分单元;211、数字签名运算单元;212、第一解密电路;213、校验密钥存储单元;214、校验信息存储单元;215、数字签名比对单元;216、安全等级对应关系存储单元;
30、密钥产生单元;
301、源数据存储单元;
302、源数据解密单元;
303、算法信息存储单元;
304、层级信息存储单元;
305、根密钥运算单元;
306、层级解密运算单元;3061、一级解密运算单元;3062、二级解密运算单元;3063、三级解密运算单元;
307、握手解密运算电路;3071、一级握手解密运算电路;3072、二级握手解密运算电路;3073、三级握手解密运算电路;
308、握手加密运算电路;3081、一级握手加密运算电路;3082、二级握手加密运算电路;3083、三级握手加密运算电路;
309、握手信息校验电路;
310、密钥选择单元;
311、算法选择单元;3111、一级算法选择单元;3112、二级算法选择单元;3113、三级算法选择单元;
312、主控单元;
313、密钥混合单元;
40、密钥记录单元;
50、数据读写设备;501、PCIE接口;
601、第一SATA存储单元;602、第二SATA存储单元;603、第三SATA存储单元。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图9,为本发明一实施例涉及的PCIE转SATA协议的桥接芯片的运行方法的流程图。所述方法应用于PCIE转SATA协议的桥接芯片,所述桥接芯片包括:SATA协议解析单元、盘符分配判断单元、第二加解密电路、盘符选择单元、映射关系存储单元、盘符标识缓存单元、密钥产生单元、至少一个SATA协议控制器、至少一个SATA接口;所述映射关系存储单元用于存储读写地址区域与盘符标识信息的映射关系;
所述方法包括以下步骤:
首先进入步骤S901所述PCIE协议解析单元与数据读写设备的PCIE接口建立连接,每一个所述SATA接口对应与一个SATA存储单元连接;
而后进入步骤S902所述PCIE协议解析单元接收所述数据读写设备发送的数据读写指令,解析出所述数据读写指令对应的数据读写地址;
而后进入步骤S903所述盘符分配判断单元根据所述映射关系,确定当前数据读写地址所在的读写地址区域对应的盘符标识信息,并将所述盘符标识信息存储于所述盘符标识缓存单元中;
而后进入步骤S904所述密钥产生单元从所述盘符标识缓存单元中获取所述盘符标识信息,并根据获取的所述盘符标识信息生成访问密钥信息;
而后进入步骤S905所述第二加解密电路根据所述访问密钥信息对从所述SATA存储单元中读取的数据进行解密或者对待写入所述SATA存储单元中的数据进行加密。
在某些实施例中,所述桥接芯片还包括数字签名比对单元、校验信息存储单元和数字签名运算单元;所述数字签名比对单元分别与所述第二加解密电路、盘符选择单元、数字签名运算单元、校验信息存储单元连接;所述数字签名运算单元与所述密钥产生单元连接;所述校验信息存储单元与所述盘符分配判断单元连接。所述方法包括:数字签名运算单元对所述访问密钥信息进行哈希运算,得到待认证的数字签名信息;数字签名比对单元从所述校验信息存储单元中获取校验签名信息,并将所述待认证的数字签名信息与所述校验签名信息进行比对,如果两者匹配则校验通过,继续执行所述数据读写指令;如果两者不匹配则校验不通过,停止执行所述数据读写指令。上述方案通过实时计算数字签名信息并进行校验,只有在数字签名信息校验通过后才会执行所述数据读写指令,从而有效提升数据访问的安全性。
在某些实施例中,所述桥接芯片还包括第一解密电路和校验密钥存储单元,所述第一解密电路分别与所述校验密钥信息存储单元、校验信息存储单元、数字签名比对单元连接;所述校验签名信息是以加密的形式存储于所述校验信息存储单元中。所述方法包括:第一解密电路从所述校验信息存储单元中获取加密的校验签名信息以及从所述校验密钥存储单元中获取校验密钥信息,采用所述校验密钥信息对所述加密后的校验签名信息进行解密,并将解密后的校验签名信息发送给所述数字签名比对单元。由于校验密钥信息和校验签名信息是分开存储的,且校验签名信息是根据校验密钥信息加密后存储于所述校验信息存储单元的,可以有效提升数据校验过程的安全性。
在某些实施例中,所述桥接芯片还包括安全等级对应关系存储单元,所述安全等级对应关系存储单元分别与所述盘符分配判断单元、密钥产生单元连接;所述安全等级对应关系存储单元用于存储盘符标识信息与密钥安全等级的对应关系。所述方法包括:所述盘符分配判断单元根据所述安全等级对应关系存储单元中存储的对应关系,确定当前盘符标识信息对应的密钥安全等级;所述密钥产生单元根据确定的密钥安全等级生成相应安全等级的访问密钥信息。这样,对于与不同的SATA接口连接的SATA存储单元的数据存储区的访问,本发明配备了不同安全等级的访问密钥信息进行认证,用户可以根据待读写数据的重要性将SATA存储单元与相应的SATA接口连接,以满足不同数据差异化安全保护的需求。
本发明第二方面还提供了一种PCIE转SATA协议的桥接芯片,所述PCIE转SATA协议的桥接芯片用于执行如本发明第一方面所述的方法。如图7所示,为本发明一实施例涉及的PCIE转SATA协议的桥接芯片的结构示意图。
所述桥接芯片包括:PCIE协议解析单元201、盘符分配判断单元202、第二加解密电路203、盘符选择单元204、映射关系存储单元205、盘符标识缓存单元206、密钥产生单元30、SATA协议控制器207和至少一个SATA接口208;所述映射关系存储单元205用于存储读写地址区域与盘符标识信息的映射关系。
每一个SATA协议控制器207对应与一个SATA接口208连接,每一个SATA接口208对应与一个SATA存储单元连接,每一SATA存储单元对应一个盘符标识信息;各SATA协议控制器207均与所述盘符选择单元204连接,所述盘符选择单元204与所述第二加解密电路203连接,所述第二加解密电路203与所述盘符分配判断单元202连接,所述盘符分配判断单元202与所述PCIE协议解析单元201连接;
所述映射关系存储单元205分别与所述盘符选择单元204、盘符分配判断单元202连接,所述盘符分配判断单元202与所述盘符标识缓存单元206连接,所述盘符标识缓存单元206与所述密钥产生单元30连接,所述密钥产生单元30与所述第二加解密电路203连接。
在本实施例中,所述读写地址区域是指当前能够进行数据读写的地址区域,所述盘符标识信息是指SATA接口的标识信息。例如与编号为A1的SATA接口相连接的SATA存储单元的存储地址区域为1000001至1100000,当数据读写地址位于1000001至1100000之间时,该数据读写地址对应的盘符标识信息即为A1。所述SATA存储单元可以为PCIE固态硬盘。
在使用过程中,所述PCIE协议解析单元201可以与数据读写设备上的PCIE接口连接,所述SATA接口可以与SATA存储单元连接,以便数据读写设备通过所述桥接芯片10将数据写入至与所述SATA存储单元中,或者从与所述SATA接口连接的SATA存储单元中读取数据。
当数据读写设备需要将待写入数据写入到SATA存储单元中时,具体流程如下:数据读写设备通过其上的PCIE接口将数据写入指令和待写入数据发送给所述桥接芯片10中的PCIE协议解析单元201,盘符分配判断单元202根据当前映射关系存储单元205确定当前数据写入指令中的写入地址对应的SATA接口的标识信息,并将所述写入地址对应的SATA接口的标识信息存储于盘符标识缓存单元206中。密钥产生单元30从所述盘符标识缓存单元206中获取SATA接口的标识信息,并根据获取的SATA接口的标识信息生成访问密钥信息。第二加解密电路203采用所述访问密钥信息对所述待写入的数据进行加密。所述盘符选择单元204根据所述写入地址确定当前待写入的SATA接口,并通过SATA协议控制器207将加密后的待写入数据传输至待写入的SATA接口,而后将待写入数据写入到与所述待写入的SATA接口相连接的SATA存储单元中,从而完成数据写入操作流程。
当数据读写设备需要从SATA存储单元中读取加密的数据时,具体流程如下:数据读写设备通过其上的PCIE接口发送数据读取指令至所述PCIE协议解析单元201,PCIE协议解析单元201解析出所述数据读取指令中包含的读取地址。盘符分配判断单元202根据当前映射关系存储单元205确定当前数据读取指令中的读取地址对应的SATA接口的标识信息,并将所述读取地址对应的SATA接口的标识信息存储于盘符标识缓存单元206中。密钥产生单元30从所述盘符标识缓存单元206中获取SATA接口的标识信息,并根据获取的SATA接口的标识信息生成访问密钥信息。盘符选择单元根据所述读取地址使能相应的SATA协议控制器207,以使得能够通过所述SATA协议控制器207从与所述SATA接口208建立连接的SATA存储单元(即所述盘符标识信息对应的SATA存储单元)中读取加密数据。第二加解密电路203采用所述访问密钥信息对所述读取的加密数据进行解密,并将解密后的数据通过所述PCIE协议解析单元201回传给所述数据读写设备的SATA接口,从而完成数据读取操作流程。
在上述方案中,当数据在数据读写设备中的PCIE接口与所述桥接芯片的SATA接口之间传输时,无论该数据是待写入的数据还是待读取的数据,都需要经过第二加解密电路进行加密或解密,且第二加解密电路进行加解密时所采用的访问密钥信息由密钥产生单元实时生成的,而密钥产生单元又是根据当前读写指令中包含的读写地址对应的SATA接口的标识信息来实时生成所述访问密钥信息的,从而极大提升了数据传输过程的安全性。
优选的,所述桥接芯片还包括接口检测控制单元209和标识动态划分单元210。所述接口检测控制单元209与各个SATA接口连接,用于在检测到所述SATA接口与SATA存储单元建立连接时,发送相应的控制信号至所述标识动态划分单元210。所述标识动态划分单元210分别与所述接口检测控制单元209、映射关系存储单元205,用于根据所述控制信号更新所述映射关系存储单元205中存储的映射关系。在本实施方式中,所述SATA接口的数量为多个。
接口检测控制单元209负责监控所有SATA接口的设备接入状态,接口检测控制单元209的输入端是所有SATA接口的检测引脚,输出端是所有SATA接口是否与SATA存储单元建立连接。当某个SATA接口的检测引脚为有效状态时,表示该SATA接口与SATA存储单元建立连接,接口检测控制单元209将该端口标注为有效,并在每次SATA接口的检测引脚状态发生变化时,将当前所有检测引脚为有效状态的SATA接口的标识信息(如端口号)发送给标识动态划分单元210。
标识动态划分单元210用于为所有检测引脚为有效状态的SATA接口分配相应的地址范围,并将所述地址范围与相应的盘符标识信息相对应后,更新所述映射关系存储单元205中的映射关系。每当与SATA接口建立连接的SATA存储单元的数量出现增加时,标识动态划分单元210都会将新建立连接的SATA接口的标识信息与该接口对应的SATA存储单元的读写地址范围相映射,并将新增的映射关系添加至原有映射关系存储单元205中存储的映射关系中。每当SATA存储单元与相应的SATA接口断开连接时,标识动态划分单元210将断开连接的SATA接口的标识信息与该接口对应的SATA存储单元的读写地址范围之间的映射关系从当前映射关系存储单元205中存储的映射关系中删除。
上述方案通过设置接口检测控制单元209和标识动态划分单元210,使得映射关系存储单元205中存储的映射关系(SATA接口的标识信息和数据读写地址区域范围之间的映射关系)能够随着SATA存储单元与所述SATA接口的连接或断开而实时变化,从而使得数据的读写操作更加灵活。
在某些实施例中,所述桥接芯片还包括数字签名比对单元215、校验信息存储单元214和数字签名运算单元211;所述数字签名比对单元215分别与所述第二加解密电路203、盘符选择单元204、数字签名运算单元211、校验信息存储单元214连接;所述数字签名运算单元211与所述密钥产生单元30连接;所述校验信息存储单元214与所述盘符分配判断单元202连接。
在这一实施例中,数字签名运算单元211对所述访问密钥信息进行哈希运算,得到待认证的数字签名信息,并将待认证的数字签名信息传输给数字签名比对单元215,所述数字签名比对单元215从所述校验信息存储单元214中获取校验签名信息,并将所述待认证的数字签名信息与所述校验签名信息进行比对,如果两者匹配则校验通过,继续执行所述数据读写指令,盘符选择单元204通过相应的SATA协议控制器将待写入数据写入到SATA存储单元中,或根据所述数据读写指令中的地址从SATA存储单元中读取数据。如果待认证的数字签名信息与所述校验签名信息不匹配则校验不通过,停止执行所述数据读写指令,并向处理单元(如CPU)发出中断信号。
进一步地的,数字签名运算单元211根据以下方式实时生成的待认证的数字签名信息:数字签名运算单元211获取访问密钥信息后,根据预设加密算法(如SM3加密算法)对所述访问密钥信息进行哈希散列计算,从而得到待认证的数字签名信息。哈希运算属于加解密运算中的常用功能,因而数字签名运算单元211可以采用内置有哈希运算模块的加解密运算电路来实现。由于待认证的数字签名信息是根据访问密钥信息实时生成的,且数据读写指令的执行需要实时生成的数字签名信息通过认证才可继续指令,进一步增强了数据访问过程中的安全性。
在某些实施例中,所述桥接芯片还包括第一解密电路212和校验密钥存储单元213,所述第一解密电路212分别与所述校验密钥存储单元213、校验信息存储单元214、数字签名比对单元215连接。当需要对数字签名运算单元211生成的数字签名信息进行认证时,第一解密电路212从所述校验信息存储单元214中获取加密的校验签名信息以及从所述校验密钥存储单元213中获取校验密钥信息,采用所述校验密钥信息对所述加密后的校验签名信息进行解密,并将解密后的校验签名信息发送给所述数字签名比对单元215,而后数字签名比对单元215将解密后的校验签名信息与数字签名运算单元211生成的待认证的数字签名信息进行比对,并根据比对结果决定是否继续执行数据读写设备50的PCIE接口501发出的数据读写指令。在这一实施例中,由于校验签名信息是以加密的形式存储于所述校验信息存储单元214中,加解密所采用的校验密钥信息被另外存储于所述校验密钥存储单元213中,进一步提升了数据访问的安全性。
在某些实施例中,所述密钥产生单元30用于获取当前盘符标识缓存单元中缓存的盘符标识信息,根据获取的盘符标识信息生成访问密钥信息。所述盘符标识信息为SATA接口的标识信息,各个SATA接口对应的标识信息各不相同,所述盘符标识信息可以为SATA接口编号。
例如图8中示出的PCIE转SATA协议的桥接芯片10,其包含有第一SATA协议控制器2071、第二SATA协议控制器2072、第三SATA协议控制器2073。所述第一SATA协议控制器2071、第二SATA协议控制器2072、第三SATA协议控制器2073分别与盘符选择单元连接,所述第一SATA协议控制器2071与所述第一SATA接口2081连接,所述第二SATA协议控制器2072与所述第二SATA接口连接,所述第三SATA协议控制器2073与所述第三SATA接口2083连接。所述第一SATA接口2081与所述第一SATA存储单元601连接,所述第二SATA接口2082与所述第二SATA存储单元602连接,所述第三SATA接口2083与所述第三SATA存储单元603连接。由于第一SATA接口2081、第二SATA接口2082、第三SATA接口2083对应的盘符标识信息各不相同,因而密钥产生单元30所生成的访问密钥信息也各不相同,即对于所述第一SATA存储单元601、第二SATA存储单元602、第三SATA存储单元603的数据读写访问过程中,第二加解密单元对访问数据进行加解密时所采用的密钥信息均是不相同的,从而有效提升了数据访问的安全性。
需要说明的是,在本申请中,第一SATA接口2081、第二SATA接口2082、第三SATA接口2083与相对应的SATA存储单元之间的连接是可拔插连接,即第一SATA接口2081既可以与所述第一SATA存储单元建立连接601,也可以与所述第一SATA存储单元断开连接601,第二SATA接口2082、第三SATA接口2083同理。当第一SATA接口2081、第二SATA接口2082、第三SATA接口2083中任一项与对应的SATA存储单元建立连接或断开连接时,所述映射关系存储单元205中存储的映射关系也会相应的进行调整,以便所述映射关系中的地址范围都是与SATA接口建立连接的SATA存储单元的地址范围。当然,SATA接口、SATA协议控制器以及SATA存储单元的数量不一定为三个,具体可以根据实际需要进行设定,如设置为一个、两个或四个以上等。
进一步地,在某些实施例中,所述桥接芯片10还包括安全等级对应关系存储单元216,所述安全等级对应关系存储单元216分别与所述盘符分配判断单元202、密钥产生单元30连接。所述安全等级对应关系存储单元216用于存储盘符标识信息与密钥安全等级的对应关系。这样,对于不同的SATA接口就可以配置不同安全等级的密钥,密钥产生单元30通过读取所述安全等级对应关系存储单元216中的对应关系就可以生成与当前SATA存储单元(即当前数据读写指令中的数据读写地址所在的SATA存储单元)安全等级相匹配的访问密钥信息。例如当用户需要读写重要数据时,可以将待读写数据的SATA存储单元与安全等级较高的SATA接口建立连接,密钥产生单元就可以产生与该SATA接口安全等级相匹配的访问密钥信息(即较高安全等级的密钥)。反之,当用户想要读取的数据没那么重要时,可以将待读写数据的SATA存储单元与安全等级较低的SATA接口建立连接,密钥产生单元就可以产生与该SATA接口安全等级相匹配的访问密钥信息(即安全等级没那么高的密钥)。通过这一方案,可以实现对不同的SATA接口设置不同的安全等级,实现数据安全的差异化保护。
本发明第三方面还提供了一种PCIE转SATA协议的桥接装置,所述装置包括数据读写设备、PCIE转SATA协议的桥接芯片、至少一个SATA存储单元;所述PCIE转SATA协议的桥接芯片为本发明第二方面所述的PCIE转SATA协议的桥接芯片,所述数据读写设备包括PCIE接口,所述PCIE接口与所述PCIE转SATA协议的桥接芯片中的PCIE协议解析单元连接;一个SATA存储单元与所述PCIE转SATA协议的桥接芯片中的一个SATA接口连接。
密钥信息作为数据加解密的工具,是数据安全认证的关键一环,保证密钥生成过程的安全性就显得尤为重要。为了加强密钥生成过程的安全性,本申请设计了专门的密钥产生单元30来生成第二加解密电路进行数据加解密时所需的访问密钥信息。
如图1所示,为本发明一实施例涉及的密钥产生单元30的结构示意图。所述密钥产生单元30包括:
所述密钥产生单元30包括源数据解密单元302、根密钥运算单元305、密钥混合单元313和层级解密运算单元306;所述源数据解密单元302与密钥混合单元313连接,所述密钥混合单元313与所述根密钥运算单元305连接,所述根密钥运算单元305和层级解密运算单元306连接;
源数据解密单元302,用于获取加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加解密算法。
密钥混合单元313,用于获取解密后的源密钥信息和所述盘符标识信息,并根据所述解密后的源密钥信息和所述盘符标识信息生成混合密钥信息。优选的,密钥混合单元313可以直接对所述解密后的源密钥信息和所述盘符标识信息进行合并,以得到所述混合密钥信息,也可以对所述解密后的源密钥信息和所述盘符标识信息进行哈希运算,以得到混合密钥信息。
根密钥运算单元305,用于根据所述混合密钥信息计算得到根密钥信息;
层级解密运算单元306,用于获取层级密钥信息、层级密钥加解密算法和根密钥信息,根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到访问密钥信息。
由于访问密钥信息是由源密钥经过多层加密手段得到,在加密过程中密钥混合单元生成的混合密钥信息是由源密钥和盘符标识信息混合得到的,而各个SATA接口的接口标识信息又各不相同,从而保证了各个SATA接口在进行数据访问时对数据加解密所采用的访问密钥信息各不相同,从而极大提升了数据访问的安全性。
如图2所示,在某些实施例中,所述密钥产生单元30还包括:
算法信息存储单元303,用于存储解密后的层级加解密算法。所述层级加解密算法是后续进行层级密钥加解密时所选择的算法,具体可以包括aes算法、tdes算法、sm4算法中的任意一种或多种。源数据存储单元301解密得到层级加解密算法后,会将层级加解密算法存储到算法信息存储单元303中,以等到后续调用。
算法选择单元311,用于根据安全等级对应关系存储单元216中对应关系记录的当前数据读写地址确定的盘符标识信息对应的密钥安全等级选择不同的层级加解密算法至所述层级解密运算单元306。盘符标识信息对应的密钥安全等级越高,说明该标识信息对应的SATA接口的密钥安全等级也就越高,对与该SATA接口建立连接的SATA存储单元的数据访问的难度也就越高,相对应的,密钥产生单元生成访问密钥信息的过程也就越复杂。
在某些实施例中,所述密钥产生单元30还包括:
层级信息存储单元304,用于存储层级密钥信息;
主控单元312,与所述层级信息存储单元304和所述层级解密运算单元306连接,用于根据当前盘符标识信息对应的密钥安全等级从所述层级信息存储单元304中获取层级密钥信息,并将所述层级密钥信息发送给所述层级解密运算单元306。
这样,访问密钥信息产生过程中的解密算法来自于算法信息存储单元303中的加解密算法,并通过算法选择单元311进行筛选,筛选的加解密算法的解密对象为主控单元312发送的层级密钥信息,解密过程中使用的密钥为根密钥信息,具体是:层级解密运算单元306根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到访问密钥信息。由于层级密钥信息、层级密钥加解密算法和根密钥信息三者分别来自于不同的单元,从而进一步提升了生成的访问密钥信息的安全性。
在某些实施例中,所述主控单元312还用于根据当前盘符标识信息对应的密钥安全等级发送相应的层级密钥信息至所述层级解密运算单元。
例如图8所示的第一SATA接口2081、第二SATA接口2082、第三SATA接口2083对应的密钥安全等级分别是低安全等级、中安全等级和高安全等级。层级密钥解密运算单元包括第一层级密钥解密运算单元、第二层级密钥解密运算单元和第三层级密钥解密运算单元。算法信息存储单元存储有a、b、c三种加解密算法。层级密钥信息包括第一层源密钥、第二层源密钥和第三层源密钥。
当需要从与所述第一SATA接口2081建立连接的第一SATA存储单元601中进行数据读写,即需要生成与所述第一SATA存储单元601进行数据加解密所需的访问密钥信息时,密钥产生单元30只需启动第一层级密钥解密运算单元完成加解密运算,算法选择单元只需要将加解密算法a发送至第一层级密钥解密运算单元,第一层级解密运算单元根据加解密算法a采用所述根密钥信息对所述第一层源密钥进行解密,得到一级密钥。对于第一SATA存储单元601中的数据访问而言,一级密钥即为第二加解密电路203进行数据加解密时所需的访问密钥信息。
当需要从与所述第二SATA接口2082建立连接的第二SATA存储单元602中进行数据读写,即需要生成与所述第二SATA存储单元601进行数据加解密所需的访问密钥信息时,所述密钥产生单元30会启动第一层级密钥解密运算单元和第二层级密钥解密运算单元进行加解密运算。算法选择单元先选择加解密算法a发送至第一层级密钥解密运算单元,第一层级密钥解密运算单元解密得到一级密钥后(具体做法参考第一SATA存储单元601对应的访问密钥信息的生成过程),并将所述一级密钥发送给所述第二层级密钥解密运算单元。在第二层级密钥解密运算单元进行解密运算时,所述主控单元将第二层源密钥发送给第二层级密钥解密运算单元,所述算法选择单元会选择加解密算法b发送至第二层级密钥解密运算单元。而后第二层级密钥解密运算单元根据加解密算法b采用所述一级密钥对所述第二层源密钥进行解密,得到二级密钥。对于第二SATA存储单元602中的数据访问而言,二级密钥即为第二加解密电路203进行数据加解密时所需的访问密钥信息。
当需要从与所述第三SATA接口2083建立连接的第三SATA存储单元603中进行数据读写,即需要生成与所述第三SATA存储单元603进行数据加解密所需的访问密钥信息时,所述密钥产生单元30不仅会启动第一层级密钥解密运算单元和第二层级密钥解密运算单元进行加解密运算,还会启动第三层级密钥解密运算单元进行加解密运算。算法选择单元先选择加解密算法a发送至第一层级密钥解密运算单元,并在第二层级密钥解密运算单元进行加解密运算时将加解密算法b发送至第二层级密钥解密运算单元。第二层级密钥解密运算单元解密得到二级密钥后(第二SATA存储单元602对应的访问密钥信息的生成过程),会将二级密钥发送给所述第三层级密钥解密运算单元。在第三层级密钥解密运算单元进行加解密运算时,算法选择单元会选择加解密算法c发送至第三层级密钥解密运算单元,主控单元也会将第三层源密钥发送至第三层级密钥解密运算单元,以使得第三层级密钥解密运算单元根据加解密算法c采用所述二级密钥对所述第三层源密钥进行解密,得到三级密钥。对于第三SATA存储单元603中的数据访问而言,三级密钥即为第二加解密电路203进行数据加解密时所需的访问密钥信息。
如图2和图3所示,加密后的源数据可以被存储于所述源数据存储单元301中。优选的,所述源数据存储单元301为OTP存储单元(即一次性可编程单元),这样可以有效防止源数据被篡改。为了防止黑客从源数据存储单元301中直接获得源数据,因而在本申请中是先对源数据进行加密后再存储至OTP存储单元中,对源数据进行加密采用的初始密钥可以被存储于其他存储单元中,以提升源数据存储的安全性。
在某些实施例中,所述层级信息存储单元304还用于存储握手请求信息和握手响应信息。如图3所示,所述密钥产生单元30还包括握手解密运算电路307、握手加密运算电路308和握手信息校验电路309,所述握手解密运算电路307分别与所述层级解密运算单元306、所述握手加密运算电路308连接,所述握手加密运算电路308分别与所述主控单元312、所述握手信息校验电路309连接。
握手解密运算电路307,用于采用所述访问密钥信息对所述访问密钥信息自身进行解密,得到握手加密密钥信息。访问密钥信息自身在传输过程中容易被截获或篡改,但是如果先用访问密钥信息对所述访问密钥信息自身进行解密后,黑客反向破解的难度就会成指数级增加,因而本申请在进行密钥数据校验前先让访问密钥信息对所述访问密钥信息自身进行解密,得到握手加密密钥信息。
握手加密运算电路308,用于接收所述握手请求信息,并采用所述握手加密密钥信息对所述握手请求信息进行加密,得到握手加密信息。握手请求信息可以预先存储于层级信息存储单元304中,握手请求信息是指待验证的信息,其通过握手加密密钥信息进行加密后可以得到握手加密信息。
握手信息校验电路309,用于获取所述握手响应信息和所述握手加密信息,并判断两者是否匹配,若是则通过校验则输出所述访问密钥信息。所述握手响应信息是指预先存储于层级信息存储单元304中、且是握手请求信息经过加密后得到的校验标准信息。通过比对所述握手响应信息和所述握手加密信息,就可以推知当前访问密钥信息是否被篡改,若两者匹配则可以输出访问密钥信息。
通过设置握手解密运算电路307、握手加密运算电路308和握手信息校验电路309,可以对生成的访问密钥信息进行进一步校验,防止访问密钥信息在生成过程中被截获篡改,提升了密钥的安全性。
在某些实施例中,所述层级解密运算单元306包括一级解密运算单元3061和二级解密运算单元3062;所述层级密钥信息包括第一层级密钥信息和第二层级密钥信息;所述层级加解密算法包括第一层级加解密算法和第二层加解密算法;
主控单元312,分别与所述一级解密运算单元3061、二级解密运算单元3062连接,用于从所述层级信息存储单元304获取一级层级密钥信息,并将所述一级层级密钥信息传输给一级解密运算单元3061,以及从所述层级信息存储单元304获取二级层级密钥信息,并将所述二级层级密钥信息传输给二级解密运算单元3062;
一级解密运算单元3061,用于根据所述一级层级密钥加解密算法采用所述根密钥信息对所述一级层级密钥信息进行解密,得到一级密钥;
二级解密运算单元3062,用于获取所述一级密钥,并根据所述二级层级密钥加解密算法采用所述一级密钥信息对所述二级层级密钥信息进行解密,得到二级密钥。
如图3所示,密钥产生单元30可以根据盘符标识信息对应的安全等级生成相应安全等级的访问密钥信息,SATA接口的安全等级越高,密钥产生单元生成的访问密钥信息的安全性也就越高,生成的访问密钥信息可以被存储至密钥记录单元40中。
以密钥等级为三个安全等级为例,所述密钥产生单元30包括密钥选择单元310。所述解密运算单元包括一级解密运算单元3061、二级解密运算单元3062、三级解密运算单元3063。所述握手解密运算电路包括一级握手解密运算电路3071、二级握手解密运算电路3072、三级握手解密运算电路3073。所述握手加密运算电路包括一级握手加密运算电路3081、二级握手加密运算电路3082、三级握手加密运算电路3083。算法信息存储单元303中设置有多种加解密算法,包括一级加解密算法、二级加解密算法和三级加解密算法,并依次通过一级算法选择单元3111、二级算法选择单元3112、三级算法选择单元3113进行选择。所述层级密钥信息包括第一层源密钥、第二层源密钥和第三层源密钥。
假设当前各SATA接口对应的安全等级有三级,则密钥选择单元310可以根据各SATA接口对应的安全等级选择一级密钥或二级密钥或三级密钥进行输出。优选的,三级密钥的安全等级大于二级密钥,二级密钥的安全等级大于一级密钥。
一级密钥的产生过程如下:
源数据解密单元302获取所述源数据存储单元301中加密后的源密钥和层级加解密算法进行解密,得到解密后的源密钥和层级加解密算法,并将所述解密后的源密钥送往密钥混合单元313。密钥混合单元313获取解密后的源密钥信息和所述盘符标识信息,并根据所述解密后的源密钥信息和所述盘符标识信息生成混合密钥信息。根密钥运算单元305获取所述混合密钥信息和所述盘符标识缓存单元中存储的当前读写地址对应的盘符标识信息,根据所述混合密钥信息对获取的盘符标识信息进行哈希运算,得到根密钥信息。
而后一级解密运算单元3061接收层级信息存储单元304的第一层源密钥,一级算法选择单元3111选择一级密钥加解密算法至一级解密运算单元3061,以使得一级解密运算单元3061采用一级密钥加解密算法应用所述根密钥信息对所述第一层源密钥进行解密,得到一级密钥。如果当前SATA接口对应的安全等级为一级,则密钥选择单元310可以选择所述一级密钥输出。
在输出之前,为了防止一级密钥在传输过程中被篡改,需要对生成的一级密钥进行校验,具体是先通过一级握手解密运算电路3071使用一级密钥对一级密钥自身做一次加密,得到一级握手加密密钥信息。而后通过一级握手加密运算电路3081接收所述层级信息存储单元304传输的第一层握手请求数据,并采用所述一级握手加密密钥信息对所述第一层握手请求数据进行加密,得到第一层握手加密信息。而后接收所述层级信息存储单元304传输的第一层握手响应数据,将所述第一层握手响应数据与所述第一层握手加密信息进行比较,若两者匹配说明一级密钥没有被篡改,可以通过密钥选择单元310进行输出。
二级密钥的产生过程如下:
二级密钥的产生过程与一级密钥类似,区别在于一级密钥作为二级密钥产生的输入参数(相当于一级密钥产生时输入的根密钥),具体是二级解密运算单元3062接收层级信息存储单元304的第二层源密钥,二级算法选择单元3112选择二级密钥加解密算法至二级解密运算单元3062,以使得二级解密运算单元3062采用二级密钥加解密算法应用所述一级密钥对所述第二层源密钥进行解密,得到二级密钥。如果当前SATA接口对应的安全等级为二级,则密钥选择单元310可以选择所述二级密钥输出。
在输出之前,为了防止二级密钥在传输过程中被篡改,需要对生成的二级密钥进行校验,具体是先通过二级握手解密运算电路3072使用二级密钥对二级密钥自身做一次加密,得到二级握手加密密钥信息。而后通过二级握手加密运算电路3082接收所述层级信息存储单元304传输的第二层握手请求数据,并采用所述二级握手加密密钥信息对所述第二层握手请求数据进行加密,得到第二层握手加密信息。而后接收所述层级信息存储单元304传输的第二层握手响应数据,将所述第二层握手响应数据与所述第二层握手加密信息进行比较,若两者匹配说明二级密钥没有被篡改,可以通过密钥选择单元310进行输出,否则可以发出提示信息。
三级密钥的产生过程如下:
三级密钥的产生过程与二级密钥类似,区别在于二级密钥作为三级密钥产生的输入参数(相当于二级密钥产生时输入的一级密钥),具体是三级解密运算单元3063接收层级信息存储单元304的第三层源密钥,三级算法选择单元3113选择三级密钥加解密算法至三级解密运算单元3063,以使得三级解密运算单元3063采用三级密钥加解密算法应用所述二级密钥对所述第三层源密钥进行解密,得到三级密钥。如果当前SATA接口对应的安全等级为三级,则密钥选择单元310可以选择所述三级密钥输出。
在输出所述三级密钥之前,为了防止三级密钥在传输过程中被篡改,需要对生成的三级密钥进行校验,具体是先通过三级握手解密运算电路3073使用三级密钥对三级密钥自身做一次加密,得到三级握手加密密钥信息。而后通过三级握手加密运算电路3083接收所述层级信息存储单元304传输的第三层握手请求数据,并采用所述三级握手加密密钥信息对所述第三层握手请求数据进行加密,得到第三层握手加密信息。而后接收所述层级信息存储单元304传输的第三层握手响应数据,将所述第三层握手响应数据与所述第三层握手加密信息进行比较,若两者匹配说明三级密钥没有被篡改,可以通过密钥选择单元310进行输出,否则可以发出提示信息。
当然,在另一些实施例中,设置的SATA接口对应的安全等级的数量还可以为其他数值,如两个安全等级或四个以上的安全等级,具体根据实际需要进行设置。当访问密钥信息的层级为其他数量时,其产生的方式可以参考图3所示的密钥生成过程,此处不再展开。
如图4所示,本申请还提供了一种密钥产生方法,所述方法应用于如本申请所述的密钥产生单元,所述方法包括以下步骤:
首先进入步骤S401源数据解密单元获取加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加解密算法。
而后进入步骤S402密钥混合单元获取解密后的源密钥信息和所述盘符标识信息,并根据所述解密后的源密钥信息和所述盘符标识信息生成混合密钥信息。
而后进入步骤S403根密钥运算单元根据所述混合密钥信息计算得到根密钥信息。
而后进入步骤S404层级解密运算单元获取层级密钥信息、层级密钥加解密算法和根密钥信息,根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到访问密钥信息。
通常,PCIE转SATA协议的桥接芯片在投入使用前需要进行一定的出厂设置,具体是将密钥产生过程中需要用到的一些校验数据固化在桥接芯片内部,如图5所示,所述方法包括以下步骤:
首先进入步骤S501预先设置各SATA接口对应的安全等级,并将设置的各SATA接口对应的安全等级与其对应的盘符标识信息对应存储于安全等级对应关系存储单元中。
而后进入步骤S502设置源密钥。
步骤S502后可以进入步骤S503根据源密钥通过派生算法得到层级密钥信息和握手请求信息。派生算法可以是哈希运算,也可以是源密钥自身对自身进行加密或解密运算。
步骤S503后可以进入步骤S504将所述层级密钥信息和所述握手请求信息存储于层级密钥信息存储单元中。
而后进入步骤S505完成各SATA接口对应的访问密钥信息的初始设置。
如图6所示,在某些实施例中,所述密钥产生方法包括以下步骤:
首先进入步骤S601源数据存储单元存储加密后的源数据,所述源数据包括源密钥和层级加解密算法。
而后可以进入步骤S602源数据解密单元获取所述加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加解密算法,并将所述解密后的源密钥送往密钥混合单元,将所述解密后的层级密钥加解密算法存储于算法信息存储单元中。
而后进入步骤S603密钥混合单元获取解密后的源密钥信息和所述盘符标识信息,并根据所述解密后的源密钥信息和所述盘符标识信息生成混合密钥信息。
与步骤S601-S603相并行地,可以进入步骤S604层级信息存储单元存储层级密钥信息。
而后进入步骤S605根密钥运算单元获取当前盘符标识缓存单元中存储的盘符标识信息和解密后的源密钥,根据所述解密后的源密钥对所述盘符标识信息进行哈希运算,得到根密钥信息。
步骤S605之后可以进入步骤S606层级解密运算单元获取所述层级密钥加解密算法、所述层级密钥信息和所述根密钥信息,采用所述层级密钥加解密算法应用所述根密钥信息对所述层级密钥信息进行解密,得到访问密钥信息。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
Claims (10)
1.一种PCIE转SATA协议的桥接芯片的运行方法,其特征在于,所述方法应用于PCIE转SATA协议的桥接芯片,所述桥接芯片包括:PCIE协议解析单元、盘符分配判断单元、第二加解密电路、盘符选择单元、映射关系存储单元、盘符标识缓存单元、密钥产生单元、至少一个SATA协议控制器、至少一个SATA接口;所述映射关系存储单元用于存储读写地址区域与盘符标识信息的映射关系;
所述方法包括以下步骤:
所述PCIE协议解析单元与数据读写设备的PCIE接口建立连接,每一个所述SATA接口对应与一个SATA存储单元连接;
所述PCIE协议解析单元接收所述数据读写设备发送的数据读写指令,解析出所述数据读写指令对应的数据读写地址;
所述盘符分配判断单元根据所述映射关系,确定当前数据读写地址所在的读写地址区域对应的盘符标识信息,并将所述盘符标识信息存储于所述盘符标识缓存单元中;
所述密钥产生单元从所述盘符标识缓存单元中获取所述盘符标识信息,并根据获取的所述盘符标识信息生成访问密钥信息;
所述第二加解密电路根据所述访问密钥信息对从所述SATA存储单元中读取的数据进行解密或者对待写入所述SATA存储单元中的数据进行加密。
2.如权利要求1所述的PCIE转SATA协议的桥接芯片的运行方法,其特征在于,所述桥接芯片还包括数字签名比对单元、校验信息存储单元和数字签名运算单元;
所述数字签名比对单元分别与所述第二加解密电路、盘符选择单元、数字签名运算单元、校验信息存储单元连接;所述数字签名运算单元与所述密钥产生单元连接;所述校验信息存储单元与所述盘符分配判断单元连接;
所述方法包括:
数字签名运算单元对所述访问密钥信息进行哈希运算,得到待认证的数字签名信息;
数字签名比对单元从所述校验信息存储单元中获取校验签名信息,并将所述待认证的数字签名信息与所述校验签名信息进行比对,如果两者匹配则校验通过,继续执行所述数据读写指令;如果两者不匹配则校验不通过,停止执行所述数据读写指令。
3.如权利要求2所述的PCIE转SATA协议的桥接芯片的运行方法,其特征在于,所述桥接芯片还包括第一解密电路和校验密钥存储单元,所述第一解密电路分别与所述校验密钥信息存储单元、校验信息存储单元、数字签名比对单元连接;
所述方法包括:
第一解密电路从所述校验信息存储单元中获取加密的校验签名信息以及从所述校验密钥存储单元中获取校验密钥信息,采用所述校验密钥信息对所述加密后的校验签名信息进行解密,并将解密后的校验签名信息发送给所述数字签名比对单元。
4.如权利要求1所述的PCIE转SATA协议的桥接芯片,其特征在于,所述桥接芯片还包括SATA接口分配单元和SATA协议控制器;每一个SATA接口对应与一个SATA协议控制器连接,所有SATA协议控制器均与所述SATA接口分配单元连接,所述SATA接口分配单元与所述第二加解密电路连接;
所述方法包括:
SATA接口分配单元根据所述数据读写指令使能相应的SATA协议控制器,并通过使能后的所述SATA协议控制器向相应的SATA接口发送所述数据读写指令;所述相应的SATA协议控制器是指与所述SATA接口标识信息对应的SATA接口相连接的SATA协议控制器。
5.如权利要求1所述的PCIE转SATA协议的桥接芯片的运行方法,其特征在于,所述桥接芯片还包括安全等级对应关系存储单元,所述安全等级对应关系存储单元分别与所述盘符分配判断单元、密钥产生单元连接;
所述方法包括:
安全等级对应关系存储单元存储盘符标识信息与密钥安全等级的对应关系;
密钥产生单元生成与所述密钥安全等级相匹配的访问密钥信息。
6.如权利要求4或5所述的PCIE转SATA协议的桥接芯片的运行方法,其特征在于,所述密钥产生单元包括源数据解密单元、根密钥运算单元、密钥混合单元和层级解密运算单元;所述源数据解密单元与密钥混合单元连接,所述密钥混合单元与所述根密钥运算单元连接,所述根密钥运算单元和层级解密运算单元连接;
所述方法包括:
源数据解密单元获取加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加解密算法;
密钥混合单元获取解密后的源密钥信息和所述盘符标识信息,并根据所述解密后的源密钥信息和所述盘符标识信息生成混合密钥信息;
根密钥运算单元根据所述混合密钥信息计算得到根密钥信息;
层级解密运算单元获取层级密钥信息、层级密钥加解密算法和根密钥信息,根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到访问密钥信息。
7.如权利要求6所述的PCIE转SATA协议的桥接芯片的运行方法,其特征在于,所述密钥产生单元还包括层级信息存储单元和主控单元,所述主控单元分别与所述层级信息存储单元和所述层级解密运算单元连接;
所述方法包括:
层级信息存储单元存储层级密钥信息;
主控单元根据当前盘符标识信息对应的密钥安全等级从所述层级信息存储单元中获取层级密钥信息,并将所述层级密钥信息发送给所述层级解密运算单元。
8.如权利要求7所述的PCIE转SATA协议的桥接芯片的运行方法,其特征在于,所述层级解密运算单元包括一级解密运算单元和二级解密运算单元;所述层级密钥信息包括第一层级密钥信息和第二层级密钥信息;所述层级加解密算法包括第一层级加解密算法和第二层加解密算法;
所述方法包括:
主控单元从所述层级信息存储单元获取一级层级密钥信息,并将所述一级层级密钥信息传输给一级解密运算单元,以及从所述层级信息存储单元获取二级层级密钥信息,并将所述二级层级密钥信息传输给二级解密运算单元;
一级解密运算单元根据所述一级层级密钥加解密算法采用所述根密钥信息对所述一级层级密钥信息进行解密,得到一级密钥;
二级解密运算单元获取所述一级密钥,并根据所述二级层级密钥加解密算法采用所述一级密钥信息对所述二级层级密钥信息进行解密,得到二级密钥。
9.如权利要求7所述的PCIE转SATA协议的桥接芯片的运行方法,其特征在于,所述层级信息存储单元还用于存储握手请求信息和握手响应信息;
所述密钥产生单元还包括握手解密运算电路、握手加密运算电路和握手信息校验电路,所述握手解密运算电路分别与所述主控单元、所述握手加密运算电路连接,所述握手加密运算电路分别与所述主控单元、所述握手信息校验电路连接;
所述方法包括:
握手解密运算电路采用所述访问密钥信息对所述访问密钥信息自身进行解密,得到握手加密密钥信息;
握手加密运算电路接收主控单元发送的所述握手请求信息,并采用所述握手加密密钥信息对所述握手请求信息进行加密,得到握手加密信息;
握手信息校验电路获取所述握手加密信息和主控单元发送的握手响应信息,并判断两者是否匹配,若是则输出所述访问密钥信息。
10.一种PCIE转SATA协议的桥接芯片,其特征在于,所述PCIE转SATA协议的桥接芯片为如权利要求1至9任一项所述的PCIE转SATA协议的桥接芯片,用于执行如权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011633699.7A CN112685352B (zh) | 2020-12-31 | 2020-12-31 | 一种pcie转sata协议的桥接芯片及其运行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011633699.7A CN112685352B (zh) | 2020-12-31 | 2020-12-31 | 一种pcie转sata协议的桥接芯片及其运行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112685352A true CN112685352A (zh) | 2021-04-20 |
CN112685352B CN112685352B (zh) | 2022-06-24 |
Family
ID=75456156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011633699.7A Active CN112685352B (zh) | 2020-12-31 | 2020-12-31 | 一种pcie转sata协议的桥接芯片及其运行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685352B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048327A (zh) * | 2022-06-14 | 2022-09-13 | 中国电子科技集团公司第五十八研究所 | 一种pcie转sata的桥接芯片 |
CN116527257A (zh) * | 2023-06-27 | 2023-08-01 | 粤港澳大湾区数字经济研究院(福田) | 异构计算***及基于异构计算***的资源处理方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090006711A1 (en) * | 2007-06-29 | 2009-01-01 | International Business Machines Corporation | Device, System and Method of Utilizing PCI Express Packets Having Modified Headers |
CN104217180A (zh) * | 2014-09-07 | 2014-12-17 | 杭州华澜微科技有限公司 | 一种加密存储盘 |
CN204595860U (zh) * | 2015-05-12 | 2015-08-26 | 浙江诸暨奇创电子科技有限公司 | 一种存储设备加密桥接器 |
CN105335326A (zh) * | 2015-10-10 | 2016-02-17 | 广州慧睿思通信息科技有限公司 | 一种基于fpga的pcie转sata接口阵列的装置 |
CN107679424A (zh) * | 2017-09-25 | 2018-02-09 | 中孚信息股份有限公司 | 一种pcie转sata密码卡及*** |
CN110765467A (zh) * | 2018-07-28 | 2020-02-07 | 吴雯雯 | 一种加密固态硬盘 |
CN111611603A (zh) * | 2020-05-07 | 2020-09-01 | 山东华芯半导体有限公司 | 一种sata接口的安全量产控制设备 |
-
2020
- 2020-12-31 CN CN202011633699.7A patent/CN112685352B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090006711A1 (en) * | 2007-06-29 | 2009-01-01 | International Business Machines Corporation | Device, System and Method of Utilizing PCI Express Packets Having Modified Headers |
CN104217180A (zh) * | 2014-09-07 | 2014-12-17 | 杭州华澜微科技有限公司 | 一种加密存储盘 |
CN204595860U (zh) * | 2015-05-12 | 2015-08-26 | 浙江诸暨奇创电子科技有限公司 | 一种存储设备加密桥接器 |
CN105335326A (zh) * | 2015-10-10 | 2016-02-17 | 广州慧睿思通信息科技有限公司 | 一种基于fpga的pcie转sata接口阵列的装置 |
CN107679424A (zh) * | 2017-09-25 | 2018-02-09 | 中孚信息股份有限公司 | 一种pcie转sata密码卡及*** |
CN110765467A (zh) * | 2018-07-28 | 2020-02-07 | 吴雯雯 | 一种加密固态硬盘 |
CN111611603A (zh) * | 2020-05-07 | 2020-09-01 | 山东华芯半导体有限公司 | 一种sata接口的安全量产控制设备 |
Non-Patent Citations (2)
Title |
---|
FERNAND LONE SANG等: ""I/O Attacks in Intel PC-based Architectures and Countermeasures"", 《2011 FIRST SYSSEC WORKSHOP》 * |
FERNAND LONE SANG等: ""I/O Attacks in Intel PC-based Architectures and Countermeasures"", 《2011 FIRST SYSSEC WORKSHOP》, 1 December 2011 (2011-12-01), pages 19 - 26 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048327A (zh) * | 2022-06-14 | 2022-09-13 | 中国电子科技集团公司第五十八研究所 | 一种pcie转sata的桥接芯片 |
CN115048327B (zh) * | 2022-06-14 | 2024-03-22 | 中国电子科技集团公司第五十八研究所 | 一种pcie转sata的桥接芯片 |
CN116527257A (zh) * | 2023-06-27 | 2023-08-01 | 粤港澳大湾区数字经济研究院(福田) | 异构计算***及基于异构计算***的资源处理方法 |
CN116527257B (zh) * | 2023-06-27 | 2023-10-31 | 粤港澳大湾区数字经济研究院(福田) | 异构计算***及基于异构计算***的资源处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112685352B (zh) | 2022-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112637166B (zh) | 一种数据传输方法、装置、终端及存储介质 | |
CN103220145B (zh) | 电子签名令牌响应操作请求的方法、***及电子签名令牌 | |
CN112685352B (zh) | 一种pcie转sata协议的桥接芯片及其运行方法 | |
EP3968597B1 (en) | Methods for encrypting and decrypting data | |
KR20180094118A (ko) | 메모리 동작 암호화 | |
GB2553944B (en) | Secure host communications | |
CN112685351B (zh) | 一种pcie转usb协议的桥接芯片及其运行方法 | |
TW201539247A (zh) | 密碼輸入與確認方法及其系統 | |
CN112364323A (zh) | 一种基于用户虹膜识别的高安全存储访问方法和装置 | |
CN116070241A (zh) | 一种移动硬盘加密控制方法 | |
CN112887085B (zh) | 一种ssd固态硬盘主控芯片安全密钥生成方法、装置和*** | |
CN112272090B (zh) | 一种密钥产生方法和装置 | |
CN112685353B (zh) | 一种usb转pcie协议的桥接芯片及其运行方法 | |
CN112364316B (zh) | 基于结构光阵列识别的高安全等级数据访问方法和装置 | |
CN213814671U (zh) | 一种基于结构光阵列识别的高安全等级数据访问装置 | |
KR102542213B1 (ko) | 네트워크 기반 스토리지의 데이터 실시간 암복호화 보안 시스템 및 방법 | |
CN108924144B (zh) | 数据获取方法、数据获取***、终端及诊断工具 | |
CN213817804U (zh) | 一种密钥产生装置 | |
CN107967432B (zh) | 一种安全存储装置、***及方法 | |
CN112364324A (zh) | 一种基于声纹识别的高安全等级数据访问方法和装置 | |
CN112347446A (zh) | 一种基于用户人脸识别的多安全等级存储访问方法和装置 | |
CN112836221B (zh) | 一种多安全级别分区的便携固态硬盘及其设计方法 | |
CN213876728U (zh) | 一种ssd固态硬盘主控芯片安全密钥生成装置和*** | |
CN111815821B (zh) | 一种应用于智能门锁的ic卡安全算法 | |
CN213814673U (zh) | 一种基于用户指纹识别的多安全等级存储访问装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 518000 302, no.6, zone 2, Fuhai Industrial Zone, Fuyong community, Fuyong street, Bao'an District, Shaoguan City, Guangdong Province Patentee after: Shenzhen anjilite New Technology Co.,Ltd. Address before: 518000 302, no.6, zone 2, Fuhai Industrial Zone, Fuyong community, Fuyong street, Bao'an District, Shaoguan City, Guangdong Province Patentee before: Shenzhen anjili New Technology Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |