具有硬盘加密功能的芯片组以及主机控制器.pdf

上传人:1*** 文档编号:6346529 上传时间:2019-06-03 格式:PDF 页数:17 大小:1.20MB
返回 下载 相关 举报
摘要
申请专利号:

CN201510734166.0

申请日:

2015.11.02

公开号:

CN105243344A

公开日:

2016.01.13

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 21/80申请日:20151102|||公开

IPC分类号:

G06F21/80(2013.01)I; G06F21/72(2013.01)I

主分类号:

G06F21/80

申请人:

上海兆芯集成电路有限公司

发明人:

李凯; 薛刚汝; 沈昀; 李辉

地址:

201203上海市浦东新区张江高科技园区金科路2537号301室

优先权:

专利代理机构:

北京汇泽知识产权代理有限公司11228

代理人:

张瑾

PDF下载: PDF下载
内容摘要

本发明公开一种芯片组以及主机控制器,其中包括一储存装置主控制器以及硬件实现的一加解密引擎。该储存装置主控制器自所接收的写入指令解析出写入指令信息,并将写入数据与所述写入指令信息传递至该加解密引擎。该加解密引擎将硬盘密钥与所述写入指令信息组合,以便加密所述写入数据,并将加密后的所述写入数据交由该储存装置主控制器透过一通讯端口写入一储存装置。

权利要求书

权利要求书
1.  一种芯片组,其特征在于,包括:
一储存装置主控制器,控制一通讯端口与一储存装置之间的通讯;以及
一加解密引擎,所述加解密引擎为硬件,耦接该储存装置主控制器,
其中:
该储存装置主控制器自所接收的写入指令解析出写入指令信息,并将写入数据与所述写入指令信息传递至该加解密引擎;且
该加解密引擎将一硬盘密钥与所述写入指令信息组合,以便加密所述写入数据,并将加密后的所述写入数据交由该储存装置主控制器透过该通讯端口写入该储存装置。

2.  根据权利要求1所述的芯片组,其特征在于:
该储存装置主控制器还自所接收的读取指令解析出读取指令信息,并将取自该储存装置的未解密的读取数据与所述读取指令信息传递至该加解密引擎;且
该加解密引擎将所述硬盘密钥与所述读取指令信息组合,以便将未解密的所述读取数据解密,以交由该储存装置主控制器响应所述读取指令。

3.  根据权利要求2所述的芯片组,其特征在于:
所述写入指令信息包括所述写入指令所指示的逻辑地址以及扇区的数量;且
所述读取指令信息包括所述读取指令所指示的逻辑地址以及扇区的数量。

4.  根据权利要求3所述的芯片组,其特征在于:
该加解密引擎是根据所述逻辑地址以所述扇区为单位作数据加解密。

5.  根据权利要求1所述的芯片组,其特征在于:
所述硬盘密钥来自一可信赖平台模块的一硬盘密钥供应硬件。

6.  根据权利要求5所述的芯片组,其特征在于:
该可信赖平台模块通过统一可扩展固件接口或操作系统操作该硬盘密钥供应硬件。

7.  根据权利要求5所述的芯片组,其特征在于:
该加解密引擎是遵循一密钥交换协议与该硬盘密钥供应硬件通讯以获得所述硬盘密钥。

8.  根据权利要求5所述的芯片组,其特征在于:
该加解密引擎是与该硬盘密钥供应硬件封装在一起或者制作在同一芯片上。

9.  根据权利要求5所述的芯片组,其特征在于:
该加解密引擎对该硬盘密钥供应硬件的硬盘密钥要求是在该硬盘密钥供应硬件确认使用者设定的辨识条件满足后才由该硬盘密钥供应硬件受理。

10.  根据权利要求5所述的芯片组,其特征在于:
所述硬盘密钥是由该可信赖平台模块作加密备份。

11.  根据权利要求1所述的芯片组,其特征在于:
该芯片组是经基本输入输出系统设定局部加密该储存装置,仅加密特定逻辑地址的写入数据。

12.  根据权利要求1所述的芯片组,其特征在于:
该储存装置主控制器是一串行高级技术附件接口的主控制器;且
该储存装置主控制器是在接收到直接内存存取所定义的激活允许后,才将所述写入数据转发给该加解密引擎。

13.  根据权利要求1所述的芯片组,其特征在于:
该储存装置主控制器还自所述写入指令解析出一标签,所述标签使遵循原生指令排序的多个写入指令得以区别;
该储存装置主控制器是根据该储存装置所指示的标签将对应的写入指令信息传递至该加解密引擎;且
所述写入指令信息还包括所述写入指令所指示的扇区尺寸。

14.  根据权利要求1所述的芯片组,其特征在于:
该储存装置主控制器是一通用串行总线接口的主控制器;且
该芯片组是经基本输入输出系统使能或除能采用通用串行总线的该通讯端口所连接的该储存装置的加密。

15.  根据权利要求14所述的芯片组,其特征在于:
该储存装置主控制器控制该通讯端口以及该储存装置之间采用数据块传输协议。

16.  根据权利要求14所述的芯片组,其特征在于:
该储存装置主控制器控制该通讯端口以及该储存装置之间采用通用串行总线连接小型计算机系统接口协议。

17.  根据权利要求1所述的芯片组,其特征在于,还包括一南桥,该储存装置主控制器以及该加解密引擎制作在该南桥内。

18.  根据权利要求5所述的芯片组,其特征在于,还包括一南桥,该储存装置主控制器、该加解密引擎以及该硬盘密钥供应硬件制作在该南桥内。

19.  根据权利要求1所述的芯片组,其特征在于:
该写入指令是由一主机发送至该芯片组的直接内存存取请求。

20.  一种主机控制器,其特征在于,包括:
一储存装置主控制器,控制一通讯端口与一储存装置之间的通讯;以及
一加解密引擎,所述加解密引擎为硬件,耦接该储存装置主控制器,
其中:
该储存装置主控制器自所接收的写入指令解析出写入指令信息,并将写入数据与所述写入指令信息传递至该加解密引擎;且
该加解密引擎将一硬盘密钥与所述写入指令信息组合,以便加密所述写入数据,并将加密后的所述写入数据交由该储存装置主控制器透过该通讯端口写入该储存装置。

说明书

说明书具有硬盘加密功能的芯片组以及主机控制器
技术领域
本发明涉及计算机技术领域,尤其涉及一种具有硬盘加密功能的芯片组以及主机控制器。
背景技术
关于可卸式储存装置(以下称之为硬盘),数据加解密为保护用户数据安全性的常见方法。现有的硬盘加密技术通常是由软件(例如微软公司的Bitlock程序或者开源的Truecrypt程序等)在系统存储器中进行,或者是由储存装置的控制器在储存装置内部进行。上述硬盘加密技术的密钥会暴露在系统存储器中或连接储存装置的总线上,造成安全性下降。因此如何避免硬盘密钥暴露以及提升加密规则破解难度等,是本技术领域亟待解决的重要课题。
发明内容
根据本发明一种实施方式所实现的一芯片组,包括一储存装置主控制器以及一加解密引擎;该储存装置主控制器控制一通讯端口与一储存装置之间的通讯;该加解密引擎为硬件,耦接该储存装置主控制器;该储存装置主控制器自所接收的写入指令解析出写入指令信息,并将写入数据与所述写入指令信息传递至该加解密引擎;该加解密引擎将一硬盘密钥与所述写入指令信息组合,以便加密所述写入数据,并将加密后的所述写入数据交由该储存装置主控制器透过该通讯端口写入该储存装置。
在一种实施方式中,该储存装置主控制器还自所接收的读取指令解析出读取指令信息,并将取自该储存装置的未解密的读取数据与所述读取指令信息传递至该加解密引擎;该加解密引擎将所述硬盘密钥与所述读取指令信息组合, 以便将未解密的所述读取数据解密,以交由该储存装置主控制器响应所述读取指令。
一种实施方式中,所述写入指令信息包括所述写入指令所指示的逻辑地址以及扇区的数量,且所述读取指令信息包括所述读取指令所指示的逻辑地址以及扇区的数量。该加解密引擎是根据所述逻辑地址以所述扇区为单位作数据加解密。
一种实施方式中,所述硬盘密钥来自一可信赖平台模块的一硬盘密钥供应硬件。该加解密引擎可遵循一密钥交换协议与该硬盘密钥供应硬件通讯以获得所述硬盘密钥,以维护硬盘密钥安全性。
另一种实施方式中,该加解密引擎是与该硬盘密钥供应硬件封装在一起,有效避免硬盘密钥曝光于外部。
另一种实施方式中,该加解密引擎是与该硬盘密钥供应硬件制作在同一芯片上,有效避免硬盘密钥曝光于外部。
本发明更有一种实施方式,将所述储存装置主控制器以及加解密引擎实现在一主机控制器中,安装在主机端上。在本发明上述的芯片组及主机控制器将加解密引擎以硬件方式封闭于芯片组中,数据安全性大大提升。如果将该加解密引擎集成在主机控制器内部,进一步提升加解密的安全性。此外,本发明的芯片组及主机控制器中的加解密引擎在数据加解密时还考虑写入/读取指令信息,大大提升被破解的难度。
下文特举实施例,并配合所附图示,详细说明本发明内容。
附图说明
图1图解根据本发明一种实施方式所实现的一芯片组100;
图2A图解XTS-AES数据加密技术;
图2B图解XTS-AES数据解密技术;
图3图解一可信赖平台模块300;
图4为硬盘密钥交换协议的流程图;
图5A为SATA硬盘写入的流程图;
图5B为SATA硬盘读取的流程图;
图6为采用NCQDMA的SATA硬盘写入流程图;
图7为USB硬盘写入的流程图。
附图标记:
100:芯片组;102:储存装置主控制器;
104:加解密引擎;106:通讯端口;
108:储存装置;
202、204:加密运算硬件;206:模乘组件;
208、210:模加组件;212:加密运算硬件;
214:解密运算硬件;216:模乘组件;
218、220:模加组件;
300:可信赖平台模块;302:可信赖平台模块软件;
304:硬盘密钥供应硬件;
aj:常数;
C:密文;cc:数据;
Cmd_Info:写入/读取指令信息;
Data:未加密的写入数据/解密的读取数据;
Data_Encrypted:加密的写入数据/未解密的读取数据;
DEK:硬盘密钥;
DEK_key1、DEK_key2:组成硬盘密钥DEK的两部分密钥;
p:明文;pp:数据;
S402…S406、S502…S514、S522…S534、S602…S620、S702…S714:步骤;
T:模乘结果。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照申请专利范围来界定。
图1图解根据本发明一种实施方式所实现的一芯片组100。该芯片组100包括一储存装置主控制器102以及一加解密引擎104。该储存装置主控制器102控制一通讯端口(communicationport)106与一储存装置108之间的通讯。通讯端口106举例而言可以是串行高级技术附件(SATA)接口,也可以是通用串行总线(USB)接口。该储存装置108又称硬盘,可为机械硬盘或固态硬盘等。该加解密引擎104为硬件,耦接该储存装置主控制器102,以实现对写入或读出该储存装置108的数据进行加解密。由于该加解密引擎104以硬件方式封闭于芯片组100中,数据安全性大大提升。一种实施方式中,加解密引擎104所作的数据加解密完全不使用芯片组100外部空间作数据暂存。一种实施方式中,由北桥以及南桥组成的芯片组100是将该储存装置主控制器102以及该加解密引擎104制作在南桥内。在另一种实施方式中,还可将该加解密引擎104集成在该储存装置主控制器102内部,进一步提升加解密的安全性。至于该储存装置主控制器102,其包括自所接收的写入/读取指令解析出写入/读取指令信息 Cmd_Info。在一种实施方式中,这里的写入/读取指令是由主机(图中未示出)的直接内存存取(DMA)控制器发送至该芯片组100的DMA请求。
该加解密引擎104是在数据加解密时还考虑写入/读取指令信息Cmd_Info,大大提升被破解的难度。
此段落讨论写入指令。该储存装置主控制器102会自所接收的写入指令解析出写入指令信息Cmd_Info,并将写入数据Data与所述写入指令信息Cmd_Info传递至该加解密引擎104。该加解密引擎104将硬盘密钥DEK与所述写入指令信息Cmd_Info组合,以便加密所述写入数据Data,并将加密后的所述写入数据Data_Encrypted交由该储存装置主控制器102透过该通讯端口106写入该储存装置108。
此段落讨论读取指令。该储存装置主控制器102自所接收的读取指令解析出读取指令信息Cmd_Info,并将取自该储存装置108的未解密的读取数据Data_Encrypted与所述读取指令信息Cmd_Info传递至该加解密引擎104。该加解密引擎104将所述硬盘密钥DEK与所述读取指令信息Cmd_Info组合,以便将未解密的所述读取数据Data_Encrypted解密,解密后的读取数据Data交由该储存装置主控制器102响应所述读取指令。
DMA请求所存取的数据是以格式相对固定的数据块为单位进行传输,方便本发明的加解密引擎104进行自动的加解密操作,无需软件参与。DMA请求的写入/读取指令中包括其要存取的逻辑地址(例如,LBA)及扇区(sector)数量。一种实施方式中,加解密引擎104是根据写入/读取指令所指示的逻辑地址(例如,LBA)中的扇区号以扇区为单位作数据加解密;例如,XTS-AES/SM4数据加解密技术。写入/读取指令信息Cmd_Info包括所述写入/读取指令所指示的逻 辑地址及扇区数量。
图2A图解XTS-AES数据加密技术。写入指令信息Cmd_Info包括写入指令所指示的硬盘扇区号i。硬盘密钥DEK由密钥DEK_key1以及密钥DEK_key2两部分组成。硬盘扇区号i经过加密运算硬件202与密钥DEK_key2结合后,是由模乘组件206与常数aj结合,模乘结果T是经模加组件208与未加密的写入数据p(即「明文」,图1以Data标号)结合,模加结果pp经过加密运算硬件204与密钥DEK_key1结合后,产生的数据cc将由模加组件210与模乘结果T结合,获得加密的写入数据C(即「密文」,图1以Data_Encrypted标号)。图2A是以XTS-AES加密算法为例说明,但本发明并不限于此,采取其他加密算法也落入本发明欲保护的范围。
图2B图解XTS-AES数据解密技术。读取指令信息Cmd_Info包括读取指令所指示的硬盘扇区号i。硬盘密钥DEK由密钥DEK_key1以及密钥DEK_key2两部分组成。硬盘扇区号i经过加密运算硬件212与密钥DEK_key2结合后,是由模乘组件216与常数aj结合,模乘结果T是经模加组件218与未解密的读取数据C(即「密文」,图1以Data_Encrypted标号)结合,模加结果cc经过解密运算硬件214与密钥DEK_key1结合后,产生的数据pp将由模加组件220与模乘结果T结合,获得解密的读取数据p(即「明文」,图1以Data标号)。图2B是以XTS-AES解密算法为例说明,但本发明并不限于此,采取其他解密算法也落入本发明欲保护的范围。
值得注意的是,本发明以硬盘扇区号i与硬盘密钥组合后对写入数据Data进行加密,使得在以数据块(例如扇区)为单位的DMA存取请求中,数据块与数据块之间的加解密不存在相依赖关系,图2A、图2B所描述技术使得不同扇 区号的同样数据呈不同加密结果,不易被破解。此外,由于不同扇区号的加密独立,故不同扇区号的未解密数据可独立抽读和解密。
一种实施方式中,XTS-AES以及XTS-SM4为经由一缓存器位元设定的两种加解密运算选项;XTS-SM4加解密运算的硬件架构与图2A以及图2B类似。XTS-AES加解密技术可通过“efuse”位使能或除能,以符合政策法规。
此段落讨论硬盘密钥DEK。图3图解一可信赖平台模块(TrustedPlatformModule,TPM)300,其中包括可信赖平台模块软件302以及硬盘密钥供应硬件304。硬盘密钥供应硬件304即与加解密引擎104连接,供应该加解密引擎104所需的硬盘密钥DEK。可信赖平台模块300可通过统一可扩展固件接口(UEFI)或操作系统(OS)使可信赖平台模块软件302运行,以操作该硬盘密钥供应硬件304产生硬盘密钥DEK。
此段落讨论硬盘密钥供应硬件304以及加解密引擎104之间的通讯安全。一种实施方式中,加解密引擎104是遵循一密钥交换协议(例如,Diffie-Hellman密钥交换协议)与该硬盘密钥供应硬件304通讯。图4为硬盘密钥交换协议的流程图。步骤S402,加解密引擎104与硬盘密钥供应硬件304确定一密钥交换密钥(KeyExchangeKey,KEK)。步骤S404,硬盘密钥供应硬件304将硬盘密钥DEK以该密钥交换密钥KEK加密后,传输给该加解密引擎104。步骤S406,加解密引擎104利用自身计算的密钥交换密钥KEK解密出硬盘密钥DEK。加解密引擎104即是以流程所示步骤自硬盘密钥供应硬件304安全获得硬盘密钥DEK。
硬盘密钥供应硬件304以及加解密引擎104之间的通讯封闭性也可以硬件架构实现。一种实施方式中,加解密引擎104是与硬盘密钥供应硬件304封装 在一起。一种实施方式中,加解密引擎104是与硬盘密钥供应硬件304制作在同一芯片上。一种实施方式中,由北桥以及南桥组成的芯片组100是将该储存装置主控制器102、该加解密引擎104、以及该硬盘密钥供应硬件304制作在南桥内。以上封闭的通信环境保证硬盘密钥DEK不会暴露在外部总线或者接口,使得硬盘密钥供应硬件304以及加解密引擎104之间允许以明文(非加密)方式通讯。
一种实施方式中,该加解密引擎104对该硬盘密钥供应硬件304的硬盘密钥DEK要求是在该硬盘密钥供应硬件304确认使用者设定的辨识条件满足后才由该硬盘密钥供应硬件304受理。密码、智能卡(smartcard)、指纹、远程认证(remoteattestation)、用户身份(useridentity)、系统状态(systemstatus)都可作为由使用者设定的辨识条件。辨识条件可由UEFI或OS型式运作的可信赖平台模块软件302作设定。
一种实施方式中,可信赖平台模块300还利用密钥迁移(keymigration)技术对硬盘密钥DEK作加密备份。
以下特别讨论芯片组100如何对串行高级技术附件(SATA)的储存装置108作加解密。SATA硬盘(对应108)可为机械硬盘(HDD)或固态硬盘(SDD)。芯片组100可设计对SATA硬盘108作全硬盘加密或特定逻辑地址(例如,LBA)的部分硬盘加密,此可由芯片组100经由基本输入输出系统(BIOS)设定。加解密引擎104可采用XTS-AES或XTS-SM4等加密算法,以逻辑地址(如,LBA)为调整(tweak,对应第2A图、第2B图的硬盘扇区号i)。硬盘扇区尺寸(sectorsize)例如为512字节或4K字节。
图5A为SATA硬盘写入的流程图。步骤S502,SATA控制器(对应102) 解析收到的写入指令(如WRITEDMAEXT),得到包括逻辑地址(如LBA)以及扇区数量(sectorcount)的写入指令信息Cmd_Info,并将其提供给加解密引擎104作加密请求。步骤S504,加解密引擎104向硬盘密钥供应硬件304索取硬盘密钥DEK。步骤S506,硬盘密钥供应硬件304确认用户预先定义条件满足后,供应硬盘密钥DEK。步骤S508,SATA控制器102接收到激活允许(例如,直接内存存取所定义的激活允许DMAActivateFrameInformationStructure,DMAActivateFIS)后,将未加密的写入数据Data转发给加解密引擎104(例如,以数据块DATAFIS为单位转发,一DATAFIS可包括多个扇区,一个DMA指令可包括多个DATAFIS写入),即,加解密引擎104从SATA控制器102接收未加密的写入数据Data(例如,以数据块DATAFIS为单位接收)。步骤S510,加解密引擎104基于硬盘密钥DEK及写入指令信息Cmd_Info将未加密的写入数据Data加密,并将加密后的写入数据Data_Encrypted转发给SATA控制器102;加解密引擎104可继续加密下一笔DATAFIS,直至不再从SATA控制器102接收到数据。步骤S512,SATA控制器102将加密后的写入数据Data_Encrypted写入SATA硬盘108。步骤S514,后续的硬盘状况(Status传输)是由SATA控制器102不经加解密引擎104传回上层软件。在一实施例中,SATA控制器102及加解密引擎104会循环执行步骤S508至S514,直至完成该写入指令所指示的所有DATAFIS的加密。
图5B为SATA硬盘读取的流程图。步骤S522,SATA控制器102解析收到的读取指令,得到包括逻辑地址(如LBA)以及扇区数量(sectorcount)的读取指令信息Cmd_Info,并将其提供给加解密引擎104作解密请求。步骤S524,加解密引擎104向硬盘密钥供应硬件304索取硬盘密钥DEK。步骤S526,硬盘 密钥供应硬件304确认用户预先定义条件满足后,供应硬盘密钥DEK。步骤S528,SATA控制器102将SATA硬盘108的未解密的读取数据Data_Encrypted转发给加解密引擎104(例如,以所述数据块DATAFIS为单位转发),即,加解密引擎104从SATA控制器102接收未解密的读取数据Data_Encrypted(例如,以数据块DATAFIS为单位接收)。步骤S530,加解密引擎104基于硬盘密钥DEK及读取指令信息Cmd_Info将未解密的读取数据Data_Encrypted解密,并将解密的读取数据Data转发给SATA控制器102;加解密引擎104可继续解密下一笔DATAFIS,直至不再从SATA控制器102接收到数据。步骤S532,SATA控制器102将解密的读取数据Data传回上层软件。步骤S534,后续的硬盘状况(Status传输)是由SATA控制器102不经加解密引擎104传回上层软件。在一实施例中,SATA控制器102及加解密引擎104会循环执行步骤S528至S534,直至完成该读取指令所指示的所有DATAFIS的解密。
SATA传输还可用于原生指令排序(NativeCommandQueue,NCQ)的DMA技术。
图6为采用NCQDMA的SATA硬盘写入流程图。步骤S602,SATA控制器102解析收到的写入指令(如WRITEFPDMAQUEUED),得到其标签(TAG,使遵循NCQ的多个写入指令或多个读取指令得以区别)、以及包括逻辑地址(如LBA)、与扇区数量与尺寸(sectorcountandsize)的写入指令信息Cmd_Info。步骤S604,SATA硬盘108接收到NCQ指令后,会向主机发出状态信息(RegisterD2HFIS),以允许还接收下一条NCQ指令。SATA硬盘108也可能切换去处理其他优先权更高、或者先前接收到的NCQ指令。步骤S606,SATA硬盘108在处理以标签(TAG)识别的指令前,对主机发出DMA设定(DMASetupFIS) 以及激活信息(DMAACTIVEFIS)。步骤S608,SATA控制器102自DMA设定信息解析出标签,找出对应的DMA缓冲器(DMAbuffer)以及写入指令信息Cmd_Info,并将其提供给加解密引擎104作加密请求。步骤S610,加解密引擎104向硬盘密钥供应硬件304索取硬盘密钥DEK。步骤S612,硬盘密钥供应硬件304确认用户预先定义条件满足后,供应硬盘密钥DEK。步骤S614,SATA控制器102将未加密的写入数据Data转发给加解密引擎104(例如,以数据块DATAFIS为单位转发,一DATAFIS可包括多个扇区,一个DMA指令可包括多个DATAFIS写入),即,加解密引擎104从SATA控制器102接收未加密的写入数据Data(例如,以数据块DATAFIS为单位接收)。步骤S616,加解密引擎104基于硬盘密钥DEK及写入指令信息Cmd_Info将未加密的写入数据Data加密成加密后的写入数据Data_Encrypted,并转发给SATA控制器102;加解密引擎104可继续加密下一笔数据,直至不再从SATA控制器102接收到数据。步骤S618,SATA控制器102将加密后的写入数据Data_Encrypted写入SATA硬盘108。步骤S620,SATA硬盘108向主机发送一个更新信息(SETDeviceBitsFIS),更新主机中缓存器(SActiveregister)以及状态(Status)的值,该更新信息是经SATA控制器102,不经加解密引擎104传送回上层软件。NCQDMA的SATA硬盘读取流程也是以同样概念安全取得硬盘密钥DEK,并封闭在加解密引擎104中完成SATA控制器102自SATA硬盘108取得的未解密读取数据Data_Encrypted。在一实施例中,SATA控制器102及加解密引擎104会循环执行步骤S614和S620,直至完成该写入指令所指示的所有DATAFIS的加密。
以下特别讨论芯片组100如何对通用串行总线(USB)通讯的储存装置108作加解密。芯片组100可设计对USB硬盘(对应108)作全硬盘加密、或特定 逻辑地址(例如,LBA)范围的部分硬盘加密,此可由芯片组100经由基本输入输出系统(BIOS)设定。芯片组100也可经基本输入输出系统(BIOS)针对特定USB通讯端口使能或除能其所连接的储存装置的加密。USB控制器(对应图1中102)控制USB通讯端口(对应图1中106)以及USB硬盘108之间采用USB2.0标准下的数据块传输(Bulk-OnlyTransport,BOT)协议、或USB3.0标准下的通用串行总线连接小型计算机系统接口(USBAttachedSCSI,UAS)协议等以数据块为单位传输数据的USB协议。
图7为USB硬盘写入的流程图。步骤S702,USB控制器102解析收到的写入指令(如write(10)),得到包括逻辑地址(如LBA)以及扇区数量(sectorcount)的写入指令信息Cmd_Info,并将其提供给加解密引擎104作加密请求。步骤S704,加解密引擎104向硬盘密钥供应硬件304索取硬盘密钥DEK。步骤S706,硬盘密钥供应硬件304确认用户预先定义条件满足后,供应硬盘密钥DEK。步骤S708,USB控制器102将未加密的写入数据Data(例如,以数据包(datapackage)为单位)转发给加解密引擎104。步骤S710,加解密引擎104基于硬盘密钥DEK及写入指令信息Cmd_Info将未加密的写入数据Data加密,并将加密后的写入数据Data_Encrypted转发给USB控制器102;加解密引擎104可继续加密下一笔写入数据,直至不再从USB控制器102接收到数据。步骤S712,USB控制器102将加密后的写入数据Data_Encrypted写入USB硬盘108。步骤S714,后续的硬盘状况(Status传输)是由USB控制器102不经加解密引擎104传回上层软件。USB硬盘读取流程也是以同样概念安全取得硬盘密钥DEK,并封闭在加解密引擎104中完成USB控制器102自USB硬盘108取得的未解密读取数据Data_Encrypted。在一实施例中,USB控制器102及加解密引擎104会循环执行 步骤S708和S714,直至完成该写入指令所指示的所有数据包(datapackage)的加密。
在一种实施方式中,本发明所揭露的储存装置主控制器102以及加解密引擎104是实现在一主机控制器中,安装于主机端。
虽然本发明已以较佳实施例揭露如上,但其并非用以限定本发明,任何熟悉此项技艺者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视申请专利范围所界定的为准。

具有硬盘加密功能的芯片组以及主机控制器.pdf_第1页
第1页 / 共17页
具有硬盘加密功能的芯片组以及主机控制器.pdf_第2页
第2页 / 共17页
具有硬盘加密功能的芯片组以及主机控制器.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《具有硬盘加密功能的芯片组以及主机控制器.pdf》由会员分享,可在线阅读,更多相关《具有硬盘加密功能的芯片组以及主机控制器.pdf(17页珍藏版)》请在专利查询网上搜索。

本发明公开一种芯片组以及主机控制器,其中包括一储存装置主控制器以及硬件实现的一加解密引擎。该储存装置主控制器自所接收的写入指令解析出写入指令信息,并将写入数据与所述写入指令信息传递至该加解密引擎。该加解密引擎将硬盘密钥与所述写入指令信息组合,以便加密所述写入数据,并将加密后的所述写入数据交由该储存装置主控制器透过一通讯端口写入一储存装置。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1