CN105243344B - 具有硬盘加密功能的芯片组以及主机控制器 - Google Patents

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

Info

Publication number
CN105243344B
CN105243344B CN201510734166.0A CN201510734166A CN105243344B CN 105243344 B CN105243344 B CN 105243344B CN 201510734166 A CN201510734166 A CN 201510734166A CN 105243344 B CN105243344 B CN 105243344B
Authority
CN
China
Prior art keywords
encryption
storage device
write
hard disk
chipset
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.)
Active
Application number
CN201510734166.0A
Other languages
English (en)
Other versions
CN105243344A (zh
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.)
Shanghai Zhaoxin Semiconductor Co Ltd
Original Assignee
Shanghai Zhaoxin Integrated Circuit Co Ltd
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 Shanghai Zhaoxin Integrated Circuit Co Ltd filed Critical Shanghai Zhaoxin Integrated Circuit Co Ltd
Priority to CN201510734166.0A priority Critical patent/CN105243344B/zh
Priority to TW104139576A priority patent/TWI596500B/zh
Publication of CN105243344A publication Critical patent/CN105243344A/zh
Priority to US15/095,368 priority patent/US10073988B2/en
Application granted granted Critical
Publication of CN105243344B publication Critical patent/CN105243344B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/80Protecting 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 storage media based on magnetic or optical technology, e.g. disks with sectors
    • 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
    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Abstract

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

Description

具有硬盘加密功能的芯片组以及主机控制器
技术领域
本发明涉及计算机技术领域,尤其涉及一种具有硬盘加密功能的芯片组以及主机控制器。
背景技术
关于可卸式储存装置(以下称之为硬盘),数据加解密为保护用户数据安全性的常见方法。现有的硬盘加密技术通常是由软件(例如微软公司的Bitlock程序或者开源的Truecrypt程序等)在系统存储器中进行,或者是由储存装置的控制器在储存装置内部进行。上述硬盘加密技术的密钥会暴露在系统存储器中或连接储存装置的总线上,造成安全性下降。因此如何避免硬盘密钥暴露以及提升加密规则破解难度等,是本技术领域亟待解决的重要课题。
发明内容
根据本发明一种实施方式所实现的一芯片组,包括一储存装置主控制器以及一加解密引擎;该储存装置主控制器控制一通讯端口与一储存装置之间的通讯;该加解密引擎为硬件,耦接该储存装置主控制器;该储存装置主控制器自所接收的写入指令解析出写入指令信息,并将写入数据与所述写入指令信息传递至该加解密引擎;该加解密引擎将一硬盘密钥与所述写入指令信息组合,以便加密所述写入数据,并将加密后的所述写入数据交由该储存装置主控制器透过该通讯端口写入该储存装置。
在一种实施方式中,该储存装置主控制器还自所接收的读取指令解析出读取指令信息,并将取自该储存装置的未解密的读取数据与所述读取指令信息传递至该加解密引擎;该加解密引擎将所述硬盘密钥与所述读取指令信息组合,以便将未解密的所述读取数据解密,以交由该储存装置主控制器响应所述读取指令。
一种实施方式中,所述写入指令信息包括所述写入指令所指示的逻辑地址以及扇区的数量,且所述读取指令信息包括所述读取指令所指示的逻辑地址以及扇区的数量。该加解密引擎是根据所述逻辑地址以所述扇区为单位作数据加解密。
一种实施方式中,所述硬盘密钥来自一可信赖平台模块的一硬盘密钥供应硬件。该加解密引擎可遵循一密钥交换协议与该硬盘密钥供应硬件通讯以获得所述硬盘密钥,以维护硬盘密钥安全性。
另一种实施方式中,该加解密引擎是与该硬盘密钥供应硬件封装在一起,有效避免硬盘密钥曝光于外部。
另一种实施方式中,该加解密引擎是与该硬盘密钥供应硬件制作在同一芯片上,有效避免硬盘密钥曝光于外部。
本发明更有一种实施方式,将所述储存装置主控制器以及加解密引擎实现在一主机控制器中,安装在主机端上。在本发明上述的芯片组及主机控制器将加解密引擎以硬件方式封闭于芯片组中,数据安全性大大提升。如果将该加解密引擎集成在主机控制器内部,进一步提升加解密的安全性。此外,本发明的芯片组及主机控制器中的加解密引擎在数据加解密时还考虑写入/读取指令信息,大大提升被破解的难度。
下文特举实施例,并配合所附图示,详细说明本发明内容。
附图说明
图1图解根据本发明一种实施方式所实现的一芯片组100;
图2A图解XTS-AES数据加密技术;
图2B图解XTS-AES数据解密技术;
图3图解一可信赖平台模块300;
图4为硬盘密钥交换协议的流程图;
图5A为SATA硬盘写入的流程图;
图5B为SATA硬盘读取的流程图;
图6为采用NCQ DMA的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控制一通讯端口(communication port)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图解一可信赖平台模块(Trusted PlatformModule,TPM)300,其中包括可信赖平台模块软件302以及硬盘密钥供应硬件304。硬盘密钥供应硬件304即与加解密引擎104连接,供应该加解密引擎104所需的硬盘密钥DEK。可信赖平台模块300可通过统一可扩展固件接口(UEFI)或操作系统(OS)使可信赖平台模块软件302运行,以操作该硬盘密钥供应硬件304产生硬盘密钥DEK。
此段落讨论硬盘密钥供应硬件304以及加解密引擎104之间的通讯安全。一种实施方式中,加解密引擎104是遵循一密钥交换协议(例如,Diffie-Hellman密钥交换协议)与该硬盘密钥供应硬件304通讯。图4为硬盘密钥交换协议的流程图。步骤S402,加解密引擎104与硬盘密钥供应硬件304确定一密钥交换密钥(Key Exchange Key,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受理。密码、智能卡(smart card)、指纹、远程认证(remote attestation)、用户身份(user identity)、系统状态(system status)都可作为由使用者设定的辨识条件。辨识条件可由UEFI或OS型式运作的可信赖平台模块软件302作设定。
一种实施方式中,可信赖平台模块300还利用密钥迁移(key migration)技术对硬盘密钥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)解析收到的写入指令(如WRITE DMA EXT),得到包括逻辑地址(如LBA)以及扇区数量(sector count)的写入指令信息Cmd_Info,并将其提供给加解密引擎104作加密请求。步骤S504,加解密引擎104向硬盘密钥供应硬件304索取硬盘密钥DEK。步骤S506,硬盘密钥供应硬件304确认用户预先定义条件满足后,供应硬盘密钥DEK。步骤S508,SATA控制器102接收到激活允许(例如,直接内存存取所定义的激活允许DMA Activate Frame Information Structure,DMA ActivateFIS)后,将未加密的写入数据Data转发给加解密引擎104(例如,以数据块DATA FIS为单位转发,一DATA FIS可包括多个扇区,一个DMA指令可包括多个DATA FIS写入),即,加解密引擎104从SATA控制器102接收未加密的写入数据Data(例如,以数据块DATA FIS为单位接收)。步骤S510,加解密引擎104基于硬盘密钥DEK及写入指令信息Cmd_Info将未加密的写入数据Data加密,并将加密后的写入数据Data_Encrypted转发给SATA控制器102;加解密引擎104可继续加密下一笔DATA FIS,直至不再从SATA控制器102接收到数据。步骤S512,SATA控制器102将加密后的写入数据Data_Encrypted写入SATA硬盘108。步骤S514,后续的硬盘状况(Status传输)是由SATA控制器102不经加解密引擎104传回上层软件。在一实施例中,SATA控制器102及加解密引擎104会循环执行步骤S508至S514,直至完成该写入指令所指示的所有DATA FIS的加密。
图5B为SATA硬盘读取的流程图。步骤S522,SATA控制器102解析收到的读取指令,得到包括逻辑地址(如LBA)以及扇区数量(sector count)的读取指令信息Cmd_Info,并将其提供给加解密引擎104作解密请求。步骤S524,加解密引擎104向硬盘密钥供应硬件304索取硬盘密钥DEK。步骤S526,硬盘密钥供应硬件304确认用户预先定义条件满足后,供应硬盘密钥DEK。步骤S528,SATA控制器102将SATA硬盘108的未解密的读取数据Data_Encrypted转发给加解密引擎104(例如,以所述数据块DATA FIS为单位转发),即,加解密引擎104从SATA控制器102接收未解密的读取数据Data_Encrypted(例如,以数据块DATA FIS为单位接收)。步骤S530,加解密引擎104基于硬盘密钥DEK及读取指令信息Cmd_Info将未解密的读取数据Data_Encrypted解密,并将解密的读取数据Data转发给SATA控制器102;加解密引擎104可继续解密下一笔DATA FIS,直至不再从SATA控制器102接收到数据。步骤S532,SATA控制器102将解密的读取数据Data传回上层软件。步骤S534,后续的硬盘状况(Status传输)是由SATA控制器102不经加解密引擎104传回上层软件。在一实施例中,SATA控制器102及加解密引擎104会循环执行步骤S528至S534,直至完成该读取指令所指示的所有DATA FIS的解密。
SATA传输还可用于原生指令排序(Native Command Queue,NCQ)的DMA技术。
图6为采用NCQ DMA的SATA硬盘写入流程图。步骤S602,SATA控制器102解析收到的写入指令(如WRITE FPDMA QUEUED),得到其标签(TAG,使遵循NCQ的多个写入指令或多个读取指令得以区别)、以及包括逻辑地址(如LBA)、与扇区数量与尺寸(sector count andsize)的写入指令信息Cmd_Info。步骤S604,SATA硬盘108接收到NCQ指令后,会向主机发出状态信息(Register D2H FIS),以允许还接收下一条NCQ指令。SATA硬盘108也可能切换去处理其他优先权更高、或者先前接收到的NCQ指令。步骤S606,SATA硬盘108在处理以标签(TAG)识别的指令前,对主机发出DMA设定(DMA Setup FIS)以及激活信息(DMA ACTIVEFIS)。步骤S608,SATA控制器102自DMA设定信息解析出标签,找出对应的DMA缓冲器(DMAbuffer)以及写入指令信息Cmd_Info,并将其提供给加解密引擎104作加密请求。步骤S610,加解密引擎104向硬盘密钥供应硬件304索取硬盘密钥DEK。步骤S612,硬盘密钥供应硬件304确认用户预先定义条件满足后,供应硬盘密钥DEK。步骤S614,SATA控制器102将未加密的写入数据Data转发给加解密引擎104(例如,以数据块DATA FIS为单位转发,一DATA FIS可包括多个扇区,一个DMA指令可包括多个DATA FIS写入),即,加解密引擎104从SATA控制器102接收未加密的写入数据Data(例如,以数据块DATA FIS为单位接收)。步骤S616,加解密引擎104基于硬盘密钥DEK及写入指令信息Cmd_Info将未加密的写入数据Data加密成加密后的写入数据Data_Encrypted,并转发给SATA控制器102;加解密引擎104可继续加密下一笔数据,直至不再从SATA控制器102接收到数据。步骤S618,SATA控制器102将加密后的写入数据Data_Encrypted写入SATA硬盘108。步骤S620,SATA硬盘108向主机发送一个更新信息(SET Device Bits FIS),更新主机中缓存器(SActive register)以及状态(Status)的值,该更新信息是经SATA控制器102,不经加解密引擎104传送回上层软件。NCQ DMA的SATA硬盘读取流程也是以同样概念安全取得硬盘密钥DEK,并封闭在加解密引擎104中完成SATA控制器102自SATA硬盘108取得的未解密读取数据Data_Encrypted。在一实施例中,SATA控制器102及加解密引擎104会循环执行步骤S614和S620,直至完成该写入指令所指示的所有DATA FIS的加密。
以下特别讨论芯片组100如何对通用串行总线(USB)通讯的储存装置108作加解密。芯片组100可设计对USB硬盘(对应108)作全硬盘加密、或特定逻辑地址(例如,LBA)范围的部分硬盘加密,此可由芯片组100经由基本输入输出系统(BIOS)设定。芯片组100也可经基本输入输出系统(BIOS)针对特定USB通讯端口使能或除能其所连接的储存装置的加密。USB控制器(对应图1中102)控制USB通讯端口(对应图1中106)以及USB硬盘108之间采用USB2.0标准下的数据块传输(Bulk-Only Transport,BOT)协议、或USB 3.0标准下的通用串行总线连接小型计算机系统接口(USB Attached SCSI,UAS)协议等以数据块为单位传输数据的USB协议。
图7为USB硬盘写入的流程图。步骤S702,USB控制器102解析收到的写入指令(如write(10)),得到包括逻辑地址(如LBA)以及扇区数量(sector count)的写入指令信息Cmd_Info,并将其提供给加解密引擎104作加密请求。步骤S704,加解密引擎104向硬盘密钥供应硬件304索取硬盘密钥DEK。步骤S706,硬盘密钥供应硬件304确认用户预先定义条件满足后,供应硬盘密钥DEK。步骤S708,USB控制器102将未加密的写入数据Data(例如,以数据包(data package)为单位)转发给加解密引擎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,直至完成该写入指令所指示的所有数据包(data package)的加密。
在一种实施方式中,本发明所揭露的储存装置主控制器102以及加解密引擎104是实现在一主机控制器中,安装于主机端。
虽然本发明已以较佳实施例揭露如上,但其并非用以限定本发明,任何熟悉此项技艺者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视申请专利范围所界定的为准。

Claims (20)

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.一种主机控制器,其特征在于,包括:
一储存装置主控制器,控制一通讯端口与一储存装置之间的通讯;以及
一加解密引擎,所述加解密引擎为硬件,耦接该储存装置主控制器,
其中:
该储存装置主控制器自所接收的写入指令解析出写入指令信息,并将写入数据与所述写入指令信息传递至该加解密引擎;且
该加解密引擎将一硬盘密钥与所述写入指令信息在加密之前组合后,以所述硬盘密钥与所述写入指令信息的组合加密所述写入数据,并将加密后的所述写入数据交由该储存装置主控制器透过该通讯端口写入该储存装置,其中该储存装置主控制器是在接收到直接内存存取所定义的激活允许后,才将所述写入数据转发给该加解密引擎。
CN201510734166.0A 2015-11-02 2015-11-02 具有硬盘加密功能的芯片组以及主机控制器 Active CN105243344B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510734166.0A CN105243344B (zh) 2015-11-02 2015-11-02 具有硬盘加密功能的芯片组以及主机控制器
TW104139576A TWI596500B (zh) 2015-11-02 2015-11-27 具硬盤加密功能的晶片組以及主機控制器
US15/095,368 US10073988B2 (en) 2015-11-02 2016-04-11 Chipset and host controller with capability of disk encryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510734166.0A CN105243344B (zh) 2015-11-02 2015-11-02 具有硬盘加密功能的芯片组以及主机控制器

Publications (2)

Publication Number Publication Date
CN105243344A CN105243344A (zh) 2016-01-13
CN105243344B true CN105243344B (zh) 2020-09-01

Family

ID=55040986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510734166.0A Active CN105243344B (zh) 2015-11-02 2015-11-02 具有硬盘加密功能的芯片组以及主机控制器

Country Status (3)

Country Link
US (1) US10073988B2 (zh)
CN (1) CN105243344B (zh)
TW (1) TWI596500B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9891969B2 (en) * 2015-02-27 2018-02-13 Samsung Electronics Co., Ltd. Method and apparatus for device state based encryption key
CN107888373A (zh) * 2016-09-29 2018-04-06 北京忆芯科技有限公司 Xts‑aes加密电路、解密电路及其方法
EP3379445A1 (en) * 2017-03-22 2018-09-26 Wincor Nixdorf International GmbH System and method to generate encryption keys based on information of peripheral devices
CN107133497B (zh) * 2017-04-20 2020-01-10 东莞懂了数码科技有限公司 数据文件服务端加密方法、系统及用户端解密方法、系统
CN106970889B (zh) * 2017-05-10 2023-12-12 鸿秦(北京)科技有限公司 一种sata桥接芯片及其工作方法
CN116340218A (zh) * 2017-09-27 2023-06-27 成都忆芯科技有限公司 PCIe控制器
CN108616519A (zh) * 2018-04-11 2018-10-02 无锡艾立德智能科技有限公司 一种数据安全加密方法及系统
KR102570581B1 (ko) * 2018-06-07 2023-08-24 삼성전자 주식회사 스토리지 장치와 재구성 가능 로직 칩을 포함하는 스토리지 장치 세트 및 이를 포함하는 스토리지 시스템
US11016684B1 (en) * 2018-12-28 2021-05-25 Virtuozzo International Gmbh System and method for managing data and metadata where respective backing block devices are accessed based on whether request indicator indicates the data or the metadata and accessing the backing block devices without file system when the request indicator is not included in request
CN110084054A (zh) * 2019-05-08 2019-08-02 深圳豪杰创新电子有限公司 一种数据保密装置、方法、电子设备及存储介质
CN113448488B (zh) * 2020-03-25 2023-10-13 群联电子股份有限公司 数据转移方法与存储器存储装置
CN111460530B (zh) * 2020-04-01 2023-05-05 山东华芯半导体有限公司 一种m.2接口的sata加密卡
US11886734B2 (en) 2020-10-30 2024-01-30 InfoKeyVault Technology Co., Ltd. Secure memory card and control method thereof
CN112434320B (zh) * 2020-11-27 2023-03-14 海光信息技术股份有限公司 海量存储类设备加密方法、主控制器及接入设备
US20220269437A1 (en) * 2021-02-19 2022-08-25 Western Digital Technologies, Inc. Data Storage Device and Method for Predetermined Transformations for Faster Retrieval
CN115549911B (zh) * 2022-11-28 2023-03-14 苏州浪潮智能科技有限公司 一种加解密系统、方法、处理器和服务器
CN116684506B (zh) * 2023-08-02 2023-11-07 浪潮电子信息产业股份有限公司 数据处理方法、系统、电子设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1924835A (zh) * 2006-09-01 2007-03-07 西安交通大学 一种基于动态密钥的硬盘数据加密方法及其装置
CN101082883A (zh) * 2006-05-31 2007-12-05 朴显泽 一种具有多层加密保护的存储装置
CN101582109A (zh) * 2009-06-10 2009-11-18 成都市华为赛门铁克科技有限公司 数据加密方法及装置、数据解密方法及装置、固态硬盘
CN103886234A (zh) * 2014-02-27 2014-06-25 浙江诸暨奇创电子科技有限公司 一种基于加密硬盘的安全计算机及其数据安全控制方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060670B2 (en) * 2004-03-17 2011-11-15 Super Talent Electronics, Inc. Method and systems for storing and accessing data in USB attached-SCSI (UAS) and bulk-only-transfer (BOT) based flash-memory device
JP4698982B2 (ja) * 2004-04-06 2011-06-08 株式会社日立製作所 暗号処理を行うストレージシステム
US8473750B2 (en) * 2004-12-15 2013-06-25 Nvidia Corporation Chipset security offload engine
US7360057B2 (en) * 2005-03-22 2008-04-15 Seagate Technology, Llc Encryption of data in a range of logical block addresses
KR20080005239A (ko) * 2005-03-28 2008-01-10 데이탈레그로, 인코포레이티드 관계형 데이터베이스 관리 시스템을 위한 비침투형 암호화
US8108940B2 (en) * 2006-12-19 2012-01-31 International Business Machines Corporation Method for protecting data from unauthorised access
US8364975B2 (en) * 2006-12-29 2013-01-29 Intel Corporation Methods and apparatus for protecting data
JP2008269173A (ja) * 2007-04-18 2008-11-06 Hitachi Ltd 計算機システム、ストレージシステムおよびデータ管理方法
WO2009123630A1 (en) * 2008-04-02 2009-10-08 Hewlett-Packard Development Company, L.P. Disk drive data encryption
US8589700B2 (en) * 2009-03-04 2013-11-19 Apple Inc. Data whitening for writing and reading data to and from a non-volatile memory
US8588422B2 (en) * 2009-05-28 2013-11-19 Novell, Inc. Key management to protect encrypted data of an endpoint computing device
KR101601790B1 (ko) * 2009-09-22 2016-03-21 삼성전자주식회사 암호키 선택장치를 구비하는 스토리지 시스템 및 암호 키 선택방법
KR101612518B1 (ko) * 2009-11-26 2016-04-15 삼성전자주식회사 병렬 처리 가능한 암복호화기 및 그것의 암복호 방법
JP2012014416A (ja) * 2010-06-30 2012-01-19 Toshiba Corp 記録装置、書き込み装置、読み出し装置、及び記録装置の制御方法
US9152825B2 (en) * 2012-02-29 2015-10-06 Apple Inc. Using storage controller bus interfaces to secure data transfer between storage devices and hosts
CN103390139A (zh) * 2012-05-11 2013-11-13 慧荣科技股份有限公司 数据储存装置以及其数据保护方法
US9665501B1 (en) * 2013-06-18 2017-05-30 Western Digital Technologies, Inc. Self-encrypting data storage device supporting object-level encryption
TWI479359B (zh) * 2013-08-01 2015-04-01 Phison Electronics Corp 指令執行方法、記憶體控制器與記憶體儲存裝置
US20150058639A1 (en) * 2013-08-23 2015-02-26 Kabushiki Kaisha Toshiba Encryption processing device and storage device
US9117086B2 (en) * 2013-08-28 2015-08-25 Seagate Technology Llc Virtual bands concentration for self encrypting drives
IL231550A0 (en) * 2014-03-17 2014-08-31 Nuvoton Technology Corp Saving secure information in external memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101082883A (zh) * 2006-05-31 2007-12-05 朴显泽 一种具有多层加密保护的存储装置
CN1924835A (zh) * 2006-09-01 2007-03-07 西安交通大学 一种基于动态密钥的硬盘数据加密方法及其装置
CN101582109A (zh) * 2009-06-10 2009-11-18 成都市华为赛门铁克科技有限公司 数据加密方法及装置、数据解密方法及装置、固态硬盘
CN103886234A (zh) * 2014-02-27 2014-06-25 浙江诸暨奇创电子科技有限公司 一种基于加密硬盘的安全计算机及其数据安全控制方法

Also Published As

Publication number Publication date
US20170124337A1 (en) 2017-05-04
CN105243344A (zh) 2016-01-13
TW201717095A (zh) 2017-05-16
US10073988B2 (en) 2018-09-11
TWI596500B (zh) 2017-08-21

Similar Documents

Publication Publication Date Title
CN105243344B (zh) 具有硬盘加密功能的芯片组以及主机控制器
CN105354503B (zh) 储存装置数据加解密方法
CN109844751B (zh) 用于提供信息隔离的方法和处理器
TWI492088B (zh) 用於控制固態磁碟之系統、方法及電腦可讀媒體
US8370645B2 (en) Protection of security parameters in storage devices
US10503934B2 (en) Secure subsystem
KR100678927B1 (ko) 비보안 영역에 보안 영역을 할당하는 방법 및 이를제공하는 휴대용 저장 장치
US10395044B2 (en) Method and apparatus for securing computer mass storage data
US10810138B2 (en) Enhanced storage encryption with total memory encryption (TME) and multi-key total memory encryption (MKTME)
JP2013247676A (ja) 装置識別子とユーザ認証情報を基盤としたセキュア鍵生成装置
JP2008527532A (ja) 非セキュリティ領域にセキュリティ領域を割り当てる方法及び携帯用保存装置
US10747884B2 (en) Techniques for coordinating device boot security
JP2018121327A (ja) アクセス制御機能を有するモバイルデータ記憶デバイス
CN104217180A (zh) 一种加密存储盘
WO2017166362A1 (zh) 一种esim号码的写入方法、安全系统、esim号码服务器及终端
WO2019075622A1 (zh) 一种安全元件及相关设备
US20150227755A1 (en) Encryption and decryption methods of a mobile storage on a file-by-file basis
US20220123932A1 (en) Data storage device encryption
CN105468983A (zh) 基于sata接口的数据传输方法与装置
TW202249471A (zh) 用於認證在儲存裝置和主機裝置之間的資料傳輸之模組和方法
TW201830284A (zh) 資料儲存系統、資料儲存方法及資料讀取方法
US20220121781A1 (en) Data storage device encryption
US20130103953A1 (en) Apparatus and method for encrypting hard disk

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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
CP01 Change in the name or title of a patent holder

Address after: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203

Patentee after: Shanghai Zhaoxin Semiconductor Co.,Ltd.

Address before: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203

Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd.