首页> 中国专利> 一种多安全级别分区的便携固态硬盘及其设计方法

一种多安全级别分区的便携固态硬盘及其设计方法

摘要

本发明提供了一种多安全级别分区的便携固态硬盘及其设计方法,所述方法首先通过认证信息比对单元将获取的当前用户的认证信息与预设认证信息进行比对,并在比对通过后确定当前用户安全等级对应的第一地址范围,而后读写区域限制单元接收数据读写指令,判断所述数据读写指令中的数据读写地址是否位于所述当前用户安全等级对应的第一地址范围内,若是则继续执行所述数据读写指令,所述读写控制电路根据所述数据读写指令中的数据读写地址对所述数据存储单元中相应数据存储区进行读写访问;否则中止执行所述数据读写指令。这样,对于每个安全等级的用户分配了不同数据存储区的访问权限,从而有效提升了数据访问的安全性。

著录项

  • 公开/公告号CN112836221A

    专利类型发明专利

  • 公开/公告日2021-05-25

    原文格式PDF

  • 申请/专利权人 深圳安捷丽新技术有限公司;

    申请/专利号CN202110043471.0

  • 发明设计人 廖裕民;王恒;李超;刘承;刘福荣;

    申请日2021-01-13

  • 分类号G06F21/60(20130101);G06F21/62(20130101);G06F21/78(20130101);

  • 代理机构44449 深圳市深弘广联知识产权代理事务所(普通合伙);

  • 代理人向用秀

  • 地址 518000 广东省深圳市宝安区福永街道福永社区福海工业区二区6号302

  • 入库时间 2023-06-19 11:05:16

说明书

技术领域

本发明涉及芯片电路设计领域,特别涉及一种多安全级别分区的便携固态硬盘及其设计方法。

背景技术

SSD数据存储已经逐渐成为消费设备数据存储和云存储的主要存储介质。对于SSD数据存储来说,数据纠错的意义十分重大,特别是个人关键数据和政府机构相关的数据。SSD主控芯片作为SSD存储设备的大脑,其安全性能直接决定SSD硬盘整体最终的安全性能。

携式固态硬盘(PSSD)充分结合了固态硬盘大容量、高速度和便携性等特点,得到广大消费者的喜爱。由于PSSD的便携性,导致其容易丢失或被盗,因而对于PSSD数据存储来说,数据安全的意义十分重大,特别是存储有个人关键数据和政府机构相关的数据存储设备。因而如果能提供一种高安全等级的存储便携固态硬盘,提升数据存储和访问的安全性将是十分有必要的。

发明内容

为此,需要提供一种多安全级别分区的存储的技术方案,用以解决目前对于同一存储设备的数据访问时存在的安全性弱、用户体验差的问题。

为实现上述目的,本发明第一方面提供了一种多安全级别分区的便携固态硬盘的设计方法,所述方法应用于多安全级别分区的便携固态硬盘,所述便携固态硬盘包括:认证信息比对单元、用户等级存储单元、映射关系存储单元、读写区域限制单元、读写控制电路和数据存储单元;

所述映射关系存储单元中存储有用户安全等级与第一地址范围的映射关系,所述第一地址范围为用户安全等级对应的能够访问所述数据存储区中的地址范围;所述用户等级存储单元中存储有用户安全等级与认证信息的对应关系;所述数据存储单元包括多个数据存储区;

所述方法包括:

认证信息比对单元获取当前用户的认证信息,并将当前用户的认证信息与预设认证信息进行比对,若比对通过则根据所述用户等级存储单元中存储的对应关系确定当前用户的安全等级,并根据所述当前用户的安全等级、映射关系存储单元中存储的映射关系确定当前用户安全等级对应的第一地址范围;

读写区域限制单元接收数据读写指令,判断所述数据读写指令中的数据读写地址是否位于所述当前用户安全等级对应的第一地址范围内,若是则继续执行所述数据读写指令,所述读写控制电路根据所述数据读写指令中的数据读写地址对所述数据存储单元中相应数据存储区进行读写访问;否则中止执行所述数据读写指令。

进一步地,所述数据存储区包括公有存储区域和至少一个私有存储区域;所述公有存储区域被配置为所有用户安全等级均可对其进行访问;

所述映射关系包括私有存储区域与用户安全等级之间的映射关系,所述私有存储区域被配置为用户安全等级在预设安全等级以上时才可其进行访问;所述预设安全等级为映射关系中该私有存储区域对应的用户安全等级。

进一步地,所述便携固态硬盘还包括密钥产生单元和第二加解密电路;

所述方法包括:

密钥产生单元根据所述当前用户对应的安全等级生成访问密钥信息;

当所述读写区域限制单元判定继续执行所述数据读写指令后,所述第二加解密电路采用所述访问密钥信息对所述读写控制电路从所述数据存储单元中读取的加密后的待读取数据进行解密;或者,第二加解密电路采用所述访问密钥信息对待写入数据进行加密,并通过所述读写控制电路将加密后的待写入数据写入到数据存储单元中。

进一步地,所述便携固态硬盘还包括数字签名运算单元、签名信息比对单元和校验信息存储单元;

数字签名运算单元对所述访问密钥信息进行哈希运算,得到待校验的数字签名信息;

签名信息比对单元获取所述待校验的数字签名信息和所述校验信息存储单元中存储的用户签名校验信息,并根据两者的比对结果发送相应的控制信号至所述读写控制电路;

读写控制电路根据所述控制信号决定是否对所述数据存储单元继续进行读写访问。

进一步地,所述便携固态硬盘还包括第一解密电路和校验密钥存储单元;

所述方法包括以下步骤:

第一解密电路从所述校验信息存储单元中获取所述加密后的用户签名校验信息和所述校验密钥存储单元中存储的校验密钥信息,采用所述校验密钥信息对所述加密后的用户签名校验信息进行解密,并将解密后的用户签名校验信息发送给所述签名信息比对单元。

进一步地,所述便携固态硬盘还包括计数器和擦除电路;所述多个数据存储区对应不同的数据安全等级;

所述方法包括:

计数器统计预设时间段内所述当前用户的认证信息的比对结果为错误的次数,在判定预设时间段内当前用户的认证信息的比对结果为错误的次数超过预设数值时,发送擦除信号至擦除电路;

擦除电路接收所述擦除信号,擦除所述数据存储单元中数据安全等级符合第二预设安全等级的数据存储区中的数据。

进一步地,所述密钥产生单元包括源数据解密单元、根密钥运算单元和层级解密运算单元;

所述方法包括:

源数据解密单元获取加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加解密算法;

根密钥运算单元根据所述解密后的源密钥计算得到根密钥信息;

层级解密运算单元获取层级密钥信息、层级密钥加解密算法和根密钥信息,根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到访问密钥信息。

进一步地,所述密钥产生单元还包括层级信息存储单元和主控单元;

层级解密运算单元包括一级解密运算单元和二级解密运算单元;所述层级密钥信息包括第一层级密钥信息和第二层级密钥信息;所述层级加解密算法包括第一层级加解密算法和第二层加解密算法;

所述方法包括:

主控单元从所述层级信息存储单元获取一级层级密钥信息,并将所述一级层级密钥信息传输给一级解密运算单元,以及从所述层级信息存储单元获取二级层级密钥信息,并将所述二级层级密钥信息传输给二级解密运算单元;

一级解密运算单元根据所述一级层级密钥加解密算法采用所述根密钥信息对所述一级层级密钥信息进行解密,得到一级密钥;

二级解密运算单元获取所述一级密钥,并根据所述二级层级密钥加解密算法采用所述一级密钥信息对所述二级层级密钥信息进行解密,得到二级密钥。

进一步地,所述层级信息存储单元还存储有握手请求信息和握手响应信息;所述密钥产生单元还包括握手解密运算电路、握手加密运算电路和握手信息校验电路;

所述方法包括:

握手解密运算电路采用所述访问密钥信息对所述访问密钥信息自身进行解密,得到握手加密密钥信息;

握手加密运算电路接收主控单元发送的所述握手请求信息,并采用所述握手加密密钥信息对所述握手请求信息进行加密,得到握手加密信息;

握手信息校验电路获取所述握手加密信息和主控单元发送的握手响应信息,并判断两者是否匹配,若是则输出所述访问密钥信息。

本发明第二方面提供了一种多安全级别分区的便携固态硬盘,所述便携固态硬盘为如本发明第一方面所述的便携固态硬盘,用于执行如本发明第一方面所述的方法。

区别于现有技术,上述技术方案涉及的多安全级别分区的便携固态硬盘及其设计方法,所述方法首先通过认证信息比对单元将获取的当前用户的认证信息与预设认证信息进行比对,并在比对通过后确定当前用户安全等级对应的第一地址范围,而后读写区域限制单元接收数据读写指令,判断所述数据读写指令中的数据读写地址是否位于所述当前用户安全等级对应的第一地址范围内,若是则继续执行所述数据读写指令,所述读写控制电路根据所述数据读写指令中的数据读写地址对所述数据存储单元中相应数据存储区进行读写访问;否则中止执行所述数据读写指令。这样,对于每个用户都设置了不同的安全等级,对于每个安全等级又分配了不同数据存储区的访问权限,从而有效提升了数据访问的安全性,提升了用户体验。

附图说明

图1为本发明一实施例涉及的密钥产生单元的结构示意图;

图2为本发明另一实施例涉及的密钥产生单元的结构示意图;

图3为本发明另一实施例涉及的密钥产生单元的结构示意图;

图4为本发明一实施例涉及的密钥产生方法的流程图;

图5为本发明另一实施例涉及的密钥产生方法的流程图;

图6为本发明另一实施例涉及的密钥产生方法的流程图;

图7为本发明一实施例涉及的多安全级别分区的便携固态硬盘的结构示意图;

图8为本发明另一实施例涉及的多安全级别分区的便携固态硬盘的结构示意图;

图9为本发明一实施例涉及的多安全级别分区的便携固态硬盘的设计方法的流程图;

附图标记说明:

10、多安全级别分区的便携固态硬盘;

201、生物特征信息采集单元;202、认证信息比对单元;203、用户等级存储单元;204、数据存储单元;205、读写控制电路;206、校验信息存储单元;207、签名信息比对单元;

208、第一私有存储区域;209、第二私有存储区域;210、第三私有存储区域;211、数字签名运算单元;212、第一解密电路;213、校验密钥存储单元;214、读写区域限制单元;215、第二加解密电路;216、计数器;217、擦除电路;218、合法生物特征信息存储单元;219、映射关系存储单元;220、公有存储区域;

30、密钥产生单元;

301、源数据存储单元;

302、源数据解密单元;

303、算法信息存储单元;

304、层级信息存储单元;

305、根密钥运算单元;

306、层级解密运算单元;3061、一级解密运算单元;3062、二级解密运算单元;3063、三级解密运算单元;

307、握手解密运算电路;3071、一级握手解密运算电路;3072、二级握手解密运算电路;3073、三级握手解密运算电路;

308、握手加密运算电路;3081、一级握手加密运算电路;3082、二级握手加密运算电路;3083、三级握手加密运算电路;

309、握手信息校验电路;

310、密钥选择单元;

311、算法选择单元;3111、一级算法选择单元;3112、二级算法选择单元;3113、三级算法选择单元;

313、用户标识信息存储单元;

40、密钥记录单元;

50、数据读写设备。

具体实施方式

为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。

如图9所示,本发明第一方面提供了一种多安全级别分区的便携固态硬盘的设计方法,所述方法应用于多安全级别分区的便携固态硬盘,所述便携固态硬盘包括:认证信息比对单元、用户等级存储单元、映射关系存储单元、读写区域限制单元、读写控制电路和数据存储单元;

所述映射关系存储单元中存储有用户安全等级与第一地址范围的映射关系,所述第一地址范围为用户安全等级对应的能够访问所述数据存储区中的地址范围;所述用户等级存储单元中存储有用户安全等级与认证信息的对应关系;所述数据存储单元包括多个数据存储区;

所述方法包括:

首先进入步骤S901认证信息比对单元获取当前用户的认证信息,并将当前用户的认证信息与预设认证信息进行比对,若比对通过则根据所述用户等级存储单元中存储的对应关系确定当前用户的安全等级,并根据所述当前用户的安全等级、映射关系存储单元中存储的映射关系确定当前用户安全等级对应的第一地址范围;

而后进入步骤S902读写区域限制单元接收数据读写指令,判断所述数据读写指令中的数据读写地址是否位于所述当前用户安全等级对应的第一地址范围内,若是则进入步骤S903继续执行所述数据读写指令,所述读写控制电路根据所述数据读写指令中的数据读写地址对所述数据存储单元中相应数据存储区进行读写访问;否则进入步骤S904中止执行所述数据读写指令。

通过上述方案,对于每个用户都设置了不同的安全等级,对于每个用户安全等级又分配了不同数据存储区的访问权限,从而有效提升了数据访问的安全性,提升了用户体验。

在某些实施例中,所述数据存储区包括公有存储区域和至少一个私有存储区域;所述公有存储区域被配置为所有用户安全等级均可对其进行访问;所述映射关系包括私有存储区域与用户安全等级之间的映射关系,所述私有存储区域被配置为用户安全等级在第一预设安全等级以上时才可其进行访问;所述第一预设安全等级为映射关系中该私有存储区域对应的用户安全等级。

以办公室应用场景为例,假设私有存储区域包括私有存储区域A、私有存储区域B和私有存储区域C,私有存储区域A对应用户安全等级为a,私有存储区域B对应用户安全等级为b,私有存储区域C对应用户安全等级为c,用户安全等级a>b>c。在使用时可以将领导A的用户安全等级分配为a,员工B和员工C的用户安全等级分别配置为b和c,员工B为员工C的部门主管。由于公有存储区域是对外公开的,当领导A、主管B、员工C想要访问公有存储区域中的数据时,均可以凭借自身输入的认证信息进行访问。对于员工C而言,其能够访问的存储区域为公有存储区域和私有存储区域C;对于主管B而言,其能够访问的存储区域为公有存储区域、私有存储区域B和私有存储区域C,通过访问私有存储区域C,便于对其管理的员工C的工作内容进行及时跟进和监督。对于领导A而言,其能够访问的存储区域为公有存储区域、私有存储区域A、私有存储区域B和私有存储区域C,其中,私有存储区域A只允许领导A自身访问,有效增强领导在数据访问的安全性,且通过访问私有存储区域B和私有存储区域C,便于领导A对主管B和员工C的工作进行及时跟进和监督。

在某些实施例中,所述便携固态硬盘还包括密钥产生单元和第二加解密电路;所述方法包括:密钥产生单元根据所述当前用户对应的安全等级生成访问密钥信息;当所述读写区域限制单元判定继续执行所述数据读写指令后,所述第二加解密电路采用所述访问密钥信息对所述读写控制电路从所述数据存储单元中读取的加密后的待读取数据进行解密;或者,第二加解密电路采用所述访问密钥信息对待写入数据进行加密,并通过所述读写控制电路将加密后的待写入数据写入到数据存储单元中。这样,无论是从所述数据存储单元读取的数据还是向所述数据存储单元写入的数据,都需要第二加解密电路进行加密或解密,且第二加解密电路进行加密或解密时所采用的密钥信息是由密钥产生单元根据当前用户的安全等级实时生成的,从而有效提升了数据访问的安全性。

在某些实施例中,所述便携固态硬盘还包括数字签名运算单元、签名信息比对单元和校验信息存储单元;数字签名运算单元对所述访问密钥信息进行哈希运算,得到待校验的数字签名信息;签名信息比对单元获取所述待校验的数字签名信息和所述校验信息存储单元中存储的用户签名校验信息,并根据两者的比对结果发送相应的控制信号至所述读写控制电路;读写控制电路根据所述控制信号决定是否对所述数据存储单元继续进行读写访问。优选的,若签名信息比对单元获取所述待校验的数字签名和所述用户签名校验信息比对一致,则发送第一控制信号至所述读写控制电路,所述读写控制电路接收第一控制信号决定继续执行所述数据读写指令,即对所述数据存储单元继续进行读写访问;若签名信息比对单元获取所述待校验的数字签名和所述用户签名校验信息比对不一致,则发送第二控制信号至所述读写控制电路,所述读写控制电路接收第二控制信号决定不继续执行所述数据读写指令,即不对所述数据存储单元继续进行读写访问。在读写控制电路访问所述数据存储单元中的数据之前进行用户数字签名信息的校验,能够进一步提升数据访问的安全性。

所述便携固态硬盘还包括第一解密电路和校验密钥存储单元;所述方法包括以下步骤:第一解密电路从所述校验信息存储单元中获取所述加密后的用户签名校验信息和所述校验密钥存储单元中存储的校验密钥信息,采用所述校验密钥信息对所述加密后的用户签名校验信息进行解密,并将解密后的用户签名校验信息发送给所述签名信息比对单元。在这一实施例中,用户签名校验信息是经过加密存储的,而解密所采用的校验密钥信息又是与加密的用户签名校验信息分开存储的,进一步提升了数据存储的安全性。

优选的,所述“密钥产生单元根据所述当前用户对应的安全等级生成访问密钥信息”包括:密钥产生单元获取所述当前用户对应的安全等级,并生成与当前用户对应的安全等级相匹配的访问密钥信息。在这一实施例中,不同用户的安全等级各不相同,对应生成的访问密钥信息的安全等级也各不同相同,基于所述访问密钥信息计算得到的待校验的数字签名信息也不相同。通过对数据存储单元中的各个私有存储区域配置不同的用户签名校验信息,可以实现不同用户对不同安全等级的私有存储区域中数据的访问,有效提升了数据访问的安全性。

在某些实施例中,所述便携固态硬盘还包括计数器和擦除电路;所述多个数据存储区对应不同的数据安全等级;所述方法包括:计数器统计预设时间段内所述当前用户的认证信息的比对结果为错误的次数,在判定预设时间段内当前用户的认证信息的比对结果为错误的次数超过预设数值时,发送擦除信号至擦除电路;擦除电路接收所述擦除信号,擦除所述数据存储单元中数据安全等级符合第二预设安全等级的数据存储区中的数据。

这样,当采集到的用户认证信息频繁比对错误时,擦除电路可以自动对安全级别符合第二预设安全等级的数据存储区中的数据予以擦除(如第二预设安全等级为最高安全等级,则擦除最高安全等级的私有存储区域中的数据),进一步加强了数据存储的安全性。

本发明的第二方面还提供了一种多安全级别分区的便携固态硬盘,所述便携固态硬盘用于执行如本申请第一方面所述的方法。如图7所示,为本发明一实施例涉及的多安全级别分区的便携固态硬盘10的结构示意图。

所述便携固态硬盘10包括:认证信息比对单元202、用户等级存储单元203、映射关系存储单元219、读写区域限制单元214、读写控制电路205和数据存储单元204;

所述认证信息比对单元202分别与所述用户等级存储单元203、映射关系存储单元219、读写区域限制单元214连接,所述读写区域限制单元214与所述读写控制电路205连接,所述读写控制电路205与所述数据存储单元204连接。

在使用便携固态硬盘10时,首先认证信息比对单元202获取当前用户的认证信息,并将当前用户的认证信息与预设认证信息进行比对,若比对通过则根据所述用户等级存储单元203中存储的对应关系确定当前用户的安全等级,并根据所述当前用户的安全等级、映射关系存储单元219中存储的映射关系确定当前用户安全等级对应的第一地址范围。而后读写区域限制单元214接收数据读写指令,判断所述数据读写指令中的数据读写地址是否位于所述当前用户安全等级对应的第一地址范围内,若是则继续执行所述数据读写指令,所述读写控制电路205根据所述数据读写指令中的数据读写地址对所述数据存储单元中相应数据存储区进行读写访问;否则中止执行所述数据读写指令。

如图8所示,所述便携固态硬盘10还包括合法生物特征信息存储单元218、校验信息存储单元206、密钥产生单元30、数字签名运算单元211、签名信息比对单元207。所述合法生物特征信息存储单元218与所述认证信息比对单元202连接,所述认证信息比对单元202与所述密钥产生单元30连接,所述密钥产生单元30与所述数字签名运算单元211连接,所述签名信息比对单元207分别与所述数字签名运算单元211、校验信息存储单元206、读写控制电路205连接。

在本实施方式中,所述认证信息为用户的生物特征信息,所述合法生物特征信息存储单元218中存储有合法的生物特征信息,所述生物特征信息包括以下中的任一项或多项:指纹信息、人脸信息、声纹信息、虹膜信息、眼球活动信息、掌纹信息、静脉信息、结构光信息。用户的生物特征信息可以通过生物特征信息采集单元201进行采集,以生物特征信息为声纹信息为例,所述生物特征信息采集单元201为具有采集用户声纹信息功能的电子元件,如拾音器。

在使用便携固态硬盘10时,首先生物特征信息采集单元201采集当前用户的生物特征信息,并将采集的用户的生物特征信息发送给所述认证信息比对单元202,所述认证信息比对单元202将当前用户的生物特征信息与合法生物特征信息存储单元218中存储的预设生物特征信息进行比对,如果比对正确则认证信息比对单元202根据采集的生物特征信息从所述用户等级存储单元203中获取当前用户对应的安全等级,并将用户对应的安全等级发给密钥产生单元30以及校验信息存储单元206。密钥产生单元30接收当前用户的安全等级后,会根据当前用户的安全等级产生与之匹配的访问密钥信息,而后数字签名运算单元211对所述访问密钥信息进行哈希运算,得到待校验的数字签名信息,并将待校验的数字签名信息传输给签名信息比对单元207。所述签名信息比对单元207获取所述待校验的数字签名信息和所述校验信息存储单元206中存储的用户签名校验信息,根据两者的比对结果发送相应的控制信号至所述读写控制电路205。

具体的,如果所述待校验的数字签名信息校验通过则发送第一控制信号给读写控制电路205,如果校验失败则发送第二读写控制电路205。第一读写控制电路205如果接收到第一控制信号,则会根据所述读写控制指令从相应的数据存储区(即当前用户对应的安全等级能够访问的第一地址范围的数据存储区)中进行相应数据的读写操作。反之,读写控制电路205如果接收到第二控制信号,则不会对数据存储区进行读写操作,直接向CPU发起中断通知。

在某些实施例中,所述数据存储单元204包括一个公有存储区域220和多个不同安全等级的私有存储区域。所述公有存储区域被配置为所有用户安全等级均可对其进行访问;所述私有存储区域被配置为用户安全等级在预设安全等级以上时才可其进行访问;所述预设安全等级为映射关系中该私有存储区域对应的用户安全等级。所述读写控制电路205用于接收所述签名信息比对单元发送的第一控制信号,根据当前用户对应的安全等级访问与当前用户安全等级相匹配的私有存储区域。

优选的,如图8所示,所述私有存储区域包括第一私有存储区域208、第二私有存储区域209和第三私有存储区域210,相应的,用户安全等级包括第一安全等级、第二安全等级和第三安全等级,所述第三安全等级高于所述第二安全等级,所述第二安全等级高于所述第一安全等级。如果用户想要访问第一私有存储区域中的数据,那么认证信息比对单元所获取的用户安全等级要求为第一安全等级以上;如果用户想要访问第二私有存储区域中的数据,那么认证信息比对单元所获取的用户安全等级要求为第二安全等级以上;如果用户想要访问第三私有存储区域中的数据,那么认证信息比对单元所获取的用户安全等级要求为第三安全等级以上。

进一步地,所述数据存储单元为NAND存储阵列,读写控制电路为NAND读写电路。所述映射关系存储单元中存储有私有存储区域地址和用户安全等级的映射表。认证信息比对单元在当前用户的认证信息比对通过后,从所述用户等级存储单元中获取当前用户的安全等级,而后根据映射关系存储单元中存储的映射关系得到当前用户的安全等级对应的私有存储区域地址(即私有存储区域在NAND存储阵列中的地址),并将公有存储区域地址(即公有存储区域在NAND存储阵列中的地址)和所述当前用户的安全等级对应的私有存储区域地址作为当前用户可以进行写操作的权限。同时,再从所述私有存储区域地址和用户安全等级的映射表中获取到比当前用户安全等级低的所有私有存储区域地址,将NAND存储阵列中的公有存储区域地址、当前用户的安全等级对应的私有存储区域地址、比当前用户安全等级低的所有私有存储区域地址作为当前用户可以进行读操作的权限。

在这一实施例中,对于同一用户而言,其在数据存储单元中可以进行读和写的地址范围是不一样的,一般而言,读的范围大于写的范围(如读的范围还包括比当前用户安全等级低的所有私有存储区域地址),以满足实际应用场景的需求。例如在企业中可以将领导的私有存储区域的安全等级设为高安全等级,其余下属员工的私有存储区域设为低安全等级,领导除了对公有存储区域地址和当前用户自身的私有存储区域具有读写权限之外,还可以随时查看公司其他下属员工私有存储区域中的数据(即对比当前用户安全等级低的所有私有存储区域地址具有读操作的权限)。

通过上述方案,读写区域限制单元根据当前用户安全等级对应的读或写的权限地址范围(即第一地址范围包括读限制范围和写限制范围,读限制范围为当前用户具有读取权限的地址区域,写限制范围为当前用户具有写入权限的地址区域)对于数据读写设备50(如HOST主机)发出的数据读写指令所能访问的地址范围进行限制,当数据读写设备发出超出当前用户能够合法访问的读写地址区间时,所述读写区域限制单元直接向数据读写设备返回错误提示信息。

如图8所示,在某些实施例中,所述便携固态硬盘还包括第一解密电路212和校验密钥存储单元213;所述第一解密电路212分别与所述签名信息比对单元207、校验密钥存储单元213和第一解密电路212连接;所述校验信息存储单元206,用于存储加密后的用户签名校验信息;所述第一解密电路212,用于获取所述加密后的用户签名校验信息和所述校验密钥存储单元213中存储的校验密钥信息,采用所述校验密钥信息对所述加密后的用户签名校验信息进行解密,并将解密后的用户签名校验信息发送给所述签名信息比对单元207。

在这一实施例中,校验信息存储单元206存储的用户签名校验信息是经过加密算法加密后的用户签名校验信息,而加密过程所采用的校验密钥信息被存储于校验密钥存储单元213中。签名信息比对单元207所比对的对象是解密后的用户签名校验信息以及根据数字签名运算单元211实时生成的待校验的数字签名信息。具体的,数字签名运算单元211根据以下方式实时生成的待校验的数字签名信息:数字签名运算单元211获取访问密钥信息后,根据预设加密算法(如SM3加密算法)对所述访问密钥信息进行哈希散列计算,从而得到待校验的数字签名信息。哈希运算属于加解密运算中的常用功能,因而数字签名运算单元211可以采用内置有哈希运算模块的加解密运算电路来实现。由于用户签名校验信息是经过加密后存储,而用户数字签名信息是根据访问密钥信息实时生成的,进一步增强了数据访问过程中的安全性。

在某些实施例中,所述便携固态硬盘还包括第二加解密电路215,所述第二加解密电路215分别与密钥产生单元30、签名信息比对单元207连接;所述第二加解密电路21,用于接收所述密钥产生单元30生成的访问密钥信息,并采用所述访问密钥信息对从所述数据存储单元204中读取的数据进行解密或者对待写入所述数据存储单元204中的数据进行加密。

如前所述,数据读写设备50发出的数据读取指令和数据写入指令在执行之前都会先经过读写区域限制单元214,如果读写区域限制单元214判断当前用户对应的安全等级符合访问相应数据存储区的要求,则会将数据读取指令或数据写入指令发给所述第二加解密电路215。下面结合从数据存储单元204中读取数据以及将数据写入数据存储单元204中两个过程,对于图8涉及的本发明便携固态硬盘中各模块的数据处理流程做进一步说明。

数据读取过程具体如下:读写区域限制单元214接收所述数据读写设备50的数据读取指令,在判定认证信息比对单元202传输来的当前用户的安全等级符合条件(即当前用户对应的安全等级具有所述数据读写地址所在的数据存储区的读取权限)后,将所述数据读取指令发给签名信息比对单元207,签名信息比对单元207在用户数字签名信息校对通过后将数据读取指令发给所述读写控制电路205,所述读写控制电路205根据所述数据读取指令中的数据读取地址从相应的数据存储区中读取数据后,将读取的数据发给第二加解密电路215。为了保证数据存储的安全性,待读取的数据在所述数据存储区中也是加密存储中,因而在将数据返回给所述数据读写设备50之前还需要对读取的数据进行解密,具体则是所述第二加解密电路215根据所述密钥产生单元30产生的访问密钥信息,对所述读取的加密后的数据进行解密,并将解密后的数据返回给所述数据读写设备50,从而完成整个数据读取过程。

数据写入过程具体如下:读写区域限制单元214接收所述数据读写设备50的数据写入指令和待写入数据,在判定认证信息比对单元202传输来的当前用户的安全等级符合条件(即当前用户对应的安全等级具有所述数据读写地址所在的数据存储区的写入权限)后,将所述待写入数据发送给第二加解密电路215,所述第二加解密电路215根据所述密钥产生单元30产生的访问密钥信息对待写入数据进行加密,并将加密后的待写入数据发送给签名信息比对单元207。签名信息比对单元207在用户信息校对通过后将加密后的待写入数据发给所述读写控制电路205,所述读写控制电路205根据所述数据写入指令将加密后的待写入数据存储至相应安全等级的数据存储区中,从而完成整个数据写入过程。

在某些实施例中,如图8所示,所述便携固态硬盘还包括计数器216和擦除电路217;所述计数器216分别与所述认证信息比对单元202、所述擦除电路217连接,所述擦除电路217与读写控制电路205连接;所述擦除电路217,用于在计数器216统计得到的认证信息的比对结果为错误的次数超过预设数值时,通过所述读写控制电路205擦除所述数据存储单元204中符合第二预设安全等级的数据存储区中的数据。优选的,所述第二预设安全等级为安全性排名靠前的安全等级,如最高的安全等级。用户的认证信息频繁比对出错,说明当前数据存储单元存在着被非法访问的可能,擦除电路217会及时对于高安全等级的数据存储区中的数据及时进行擦除,进一步增强了数据安全性。

密钥信息作为数据加解密的工具,是芯片安全认证的关键一环,保证密钥生成过程的安全性就显得尤为重要。为了加强密钥生成过程的安全性,本申请设计了专门的密钥产生单元30来生成最终所需的密钥信息。

如图1所示,为本发明一实施例涉及的密钥产生单元30的结构示意图。所述密钥产生单元30包括:

源数据解密单元302,用于获取加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加解密算法;

根密钥运算单元305,用于根据所述解密后的源密钥计算得到根密钥信息;

层级解密运算单元306,用于获取层级密钥信息、层级密钥加解密算法和根密钥信息,根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到访问密钥信息。由于访问密钥信息是由源密钥经过多层加密手段得到,从而极大提升了密钥生成过程中的安全性。

如图2所示,在某些实施例中,所述密钥产生单元30还包括:

算法信息存储单元303,用于存储解密后的层级加解密算法。所述层级加解密算法是后续进行数据加解密时所选择的算法,具体可以包括aes算法、tdes算法、sm4算法中的任意一种或多种。源数据解密单元302解密得到层级加解密算法后,会将层级加解密算法存储到算法信息存储单元303中,以等到后续调用。

算法选择单元311,用于根据用户安全等级选择不同的层级加解密算法至所述层级解密运算单元306。所述用户安全等级是指能够访问数据存储单元中不同私有存储区域所需的访问权限。用户安全等级越高,其能够访问的安全存储区的安全性越高,对应的密钥生成过程也越复杂。

例如有用户A、用户B和用户C,分别对应的用户安全等级是低安全等级、中安全等级和高安全等级。层级解密运算单元包括第一层级解密运算单元、第二层级解密运算单元和第三层级解密运算单元。假设算法信息存储单元存储有a、b、c三种加解密算法。

在生成用户A对应的访问密钥信息时,密钥产生单元30只启动第一层级解密运算单元完成加解密运算,算法选择单元只需要将加解密算法a发送至第一层级解密运算单元即可。

在生成用户B对应的访问密钥信息时,密钥产生单元30会启动第一层级解密运算单元和第二层级解密运算单元进行加解密运算,算法选择单元先选择加解密算法a发送至第一层级解密运算单元,并在后续第二层级解密运算单元进行加解密运算时将加解密算法b发送至第二层级解密运算单元。

在生成用户C对应的访问密钥信息时,密钥产生单元30不仅会启动第一层级解密运算单元和第二层级解密运算单元进行加解密运算,还会启动第三层级解密运算单元进行加解密运算。算法选择单元先选择加解密算法a发送至第一层级解密运算单元,并在第二层级解密运算单元进行加解密运算时将加解密算法b发送至第二层级解密运算单元,以及在后续并在第三层级解密运算单元进行加解密运算时将加解密算法c发送至第三层级解密运算单元,以使得第三层级解密运算单元完成相应的加解密运算以输出所述访问密钥信息。

在这一实施例中,通过算法选择单元311根据用户安全等级的不同从所述算法信息存储单元303中选择不同的层级加解密算法至相应的层级解密运算单元306,可以使得不同安全等级用户对于数据存储单元中不同私有存储区域的访问实现差异化,保证不同安全等级用户的对于数据存储单元的访问互不影响,进一步提升访问过程的私密性和安全性。

在某些实施例中,所述密钥产生单元30还包括:

层级信息存储单元304,用于存储层级密钥信息;

主控单元312,用于获取所述层级信息存储单元304中的层级密钥信息,并将所述层级密钥信息传输给所述层级解密运算单元306。

这样,访问密钥信息产生过程中的解密算法来自于算法信息存储单元303中的加解密算法,并通过算法选择单元311进行筛选,筛选的加解密算法的解密对象为主控单元312发送的层级密钥信息,解密过程中使用的密钥为根密钥信息,具体是:层级解密运算单元306根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到访问密钥信息。由于层级密钥信息、层级密钥加解密算法和根密钥信息三者分别来自于不同的单元,从而进一步提升了生成的访问密钥信息的安全性。

在某些实施例中,所述主控单元312还用于根据当前用户对应的安全等级发送相应的层级密钥信息至所述层级解密运算单元。同一个数据存储单元可能被多个不同用户访问,为保证各个用户对于同一数据存储单元的访问互不影响,扣对每个数据存储区都设置了相应的安全等级,并对各用户的安全等级匹配有相应的层级密钥信息,以便于不同用户访问数据存储区时密钥产生单元30能够产生不同安全等级的访问密钥信息。

例如有用户A、用户B和用户C,分别对应的用户安全等级是低安全等级、中安全等级和高安全等级。层级解密运算单元包括第一层级解密运算单元、第二层级解密运算单元和第三层级解密运算单元。

假设层级密钥信息包括第一层源密钥、第二层源密钥和第三层源密钥,那么在生成用户A对应的访问密钥信息时,所述密钥产生单元30只启动第一层级解密运算单元完成加解密运算,算法选择单元只需要将加解密算法a发送至第一层级解密运算单元,第一层级解密运算单元根据加解密算法a采用所述根密钥信息对所述第一层源密钥进行解密,得到一级密钥。对于用户A而言,一级密钥即为所需的访问密钥信息。

在生成用户B对应的访问密钥信息时,所述密钥产生单元30会启动第一层级解密运算单元和第二层级解密运算单元进行加解密运算,算法选择单元先选择加解密算法a发送至第一层级解密运算单元,第一层级解密运算单元解密得到一级密钥后(具体做法参考用户A的访问密钥信息的生成过程),会将一级密钥发送给所述第二层级解密运算单元。在第二层级解密运算单元进行解密运算时,主控单元会将第二层源密钥发送给第二层级解密运算单元,算法选择单元会选择加解密算法b发送至第二层级解密运算单元。而后第二层级解密运算单元根据加解密算法b采用所述一级密钥对所述第二层源密钥进行解密,得到二级密钥。对于用户B而言,二级密钥即为所需的访问密钥信息。

在生成用户C对应的访问密钥信息时,所述密钥产生单元30不仅会启动第一层级解密运算单元和第二层级解密运算单元进行加解密运算,还会启动第三层级解密运算单元进行加解密运算。算法选择单元先选择加解密算法a发送至第一层级解密运算单元,并在第二层级解密运算单元进行加解密运算时将加解密算法b发送至第二层级解密运算单元。第二层级解密运算单元解密得到二级密钥后(具体做法参考用户B的访问密钥信息的生成过程),会将二级密钥发送给所述第三层级解密运算单元。在第三层级解密运算单元进行加解密运算时,算法选择单元会选择加解密算法c发送至第三层级解密运算单元,主控单元也会将第三层源密钥发送至第三层级解密运算单元,以使得第三层级解密运算单元根据加解密算法c采用所述二级密钥对所述第三层源密钥进行解密,得到三级密钥。对于用户C而言,三级密钥即为所需的访问密钥信息。

在某些实施例中,所述密钥产生单元30还包括:

用户标识信息存储单元313,用于存储用户标识信息。优选的,所述用户标识信息存储单元313中存储有多个不同用户的用户标识信息。所述用户标识信息为区分不同用户的ID,例如可以是用户各自设置的密码,如一串字符串。

根密钥运算单元305,用于获取所述用户标识信息和解密后的源密钥,根据所述解密后的源密钥对所述用户标识信息进行哈希运算,得到根密钥信息。由于根密钥信息是通过解密后的源密钥对所述用户标识信息进行哈希运算得到,可以保证源密钥和生成的根密钥的位数保持一致,同时保证不同用户进行认证时,所生成的根密钥信息均是不同的,进一步提升了密钥生成的安全性。

在某些实施例中,所述密钥产生单元30还包括:源数据存储单元301,用于存储加密后的源数据,所述源数据包括源密钥和层级加解密算法。在本实施方式中,所述源数据存储单元301为OTP存储单元(即一次性可编程单元),这样可以有效防止源数据被篡改。为了防止黑客从源数据存储单元301中直接获得源数据,因而在本申请中是先对源数据进行加密后再存储至OTP存储单元中,对源数据进行加密采用的初始密钥可以被存储于其他存储单元中,以提升源数据存储的安全性。

为了防止访问密钥信息在生成过程中被截获篡改,在本实施方式中,所述层级信息存储单元还用于存储握手请求信息和握手响应信息,如图3所示,所述密钥产生单元30包括:

握手解密运算电路307,用于采用所述访问密钥信息对所述访问密钥信息自身进行解密,得到握手加密密钥信息。访问密钥信息自身在传输过程中容易被截获或篡改,但是如果先用访问密钥信息对所述访问密钥信息自身进行解密后,黑客反向破解的难度就会成指数级增加,因而本申请在进行密钥数据校验前先让访问密钥信息对所述访问密钥信息自身进行解密,得到握手加密密钥信息。

握手加密运算电路308,用于接收所述握手请求信息,并采用所述握手加密密钥信息对所述握手请求信息进行加密,得到握手加密信息。握手请求信息可以预先存储于层级信息存储单元304中,握手请求信息是指待验证的信息,其通过握手加密密钥信息进行加密后可以得到握手加密信息。

握手信息校验电路309,用于获取所述握手响应信息和所述握手加密信息,并判断两者是否匹配,若是则通过校验则输出所述访问密钥信息。所述握手响应信息是指预先存储于层级信息存储单元304中、且是握手请求信息经过加密后得到的校验标准信息。通过比对所述握手响应信息和所述握手加密信息,就可以推知当前访问密钥信息是否被篡改,若两者匹配则可以输出访问密钥信息。

如图3所示,密钥产生单元30可以根据用户的安全等级产生相应层级的访问密钥信息,用户安全等级越高,产生的访问密钥信息的安全性也就越高。

以密钥等级为三个安全等级为例,所述密钥产生单元30包括密钥选择单元310。所述解密运算单元包括一级解密运算单元3061、二级解密运算单元3062、三级解密运算单元3063。所述握手解密运算电路包括一级握手解密运算电路3071、二级握手解密运算电路3072、三级握手解密运算电路3073。所述握手加密运算电路包括一级握手加密运算电路3081、二级握手加密运算电路3082、三级握手加密运算电路3083。算法信息存储单元303中设置有多种加解密算法,包括一级加解密算法、二级加解密算法和三级加解密算法,并依次通过一级算法选择单元3111、二级算法选择单元3112、三级算法选择单元3113进行选择。所述层级密钥信息包括第一层源密钥、第二层源密钥和第三层源密钥。

图3所述的密钥产生单元30的工作原理如下:密钥产生单元30获取当前用户等级,并通过密钥选择单元310输出与所述用户等级相匹配的访问密钥信息至所述密钥记录单元40。假设用户等级有三级,则密钥选择单元310可以根据当前用户的安全等级选择一级密钥或二级密钥或三级密钥进行输出。优选的,三级密钥的安全等级大于二级密钥,二级密钥的安全等级大于一级密钥。

一级密钥的产生过程如下:

源数据解密单元302获取所述源数据存储单元301中加密后的源密钥和层级加解密算法进行解密,得到解密后的源密钥和层级加解密算法,并将所述解密后的源密钥送往根密钥运算单元305,将所述解密后的层级密钥加解密算法存储于算法信息存储单元303中。根密钥运算单元获取所述用户标识信息和解密后的源密钥,根据所述解密后的源密钥对所述用户标识信息进行哈希运算,得到根密钥信息。

而后一级解密运算单元3061接收层级信息存储单元304的第一层源密钥,一级算法选择单元3111选择一级密钥加解密算法至一级解密运算单元3061,以使得一级解密运算单元3061采用一级密钥加解密算法应用所述根密钥信息对所述第一层源密钥进行解密,得到一级密钥。如果当前用户的安全等级为一级,则密钥选择单元310可以选择所述一级密钥输出。

在输出之前,为了防止一级密钥在传输过程中被篡改,需要对生成的一级密钥进行校验,具体是先通过一级握手解密运算电路3071使用一级密钥对一级密钥自身做一次加密,得到一级握手加密密钥信息。而后通过一级握手加密运算电路3081接收所述层级信息存储单元304传输的第一层握手请求数据,并采用所述一级握手加密密钥信息对所述第一层握手请求数据进行加密,得到第一层握手加密信息。而后接收所述层级信息存储单元304传输的第一层握手响应数据,将所述第一层握手响应数据与所述第一层握手加密信息进行比较,若两者匹配说明一级密钥没有被篡改,可以通过密钥选择单元310进行输出。

二级密钥的产生过程如下:

二级密钥的产生过程与一级密钥类似,区别在于一级密钥作为二级密钥产生的输入参数(相当于一级密钥产生时输入的根密钥),具体是二级解密运算单元3062接收层级信息存储单元304的第二层源密钥,二级算法选择单元3112选择二级密钥加解密算法至二级解密运算单元3062,以使得二级解密运算单元3062采用二级密钥加解密算法应用所述一级密钥对所述第二层源密钥进行解密,得到二级密钥。如果当前用户的安全等级为二级,则密钥选择单元310可以选择所述二级密钥输出。

在输出之前,为了防止二级密钥在传输过程中被篡改,需要对生成的二级密钥进行校验,具体是先通过二级握手解密运算电路3072使用二级密钥对二级密钥自身做一次加密,得到二级握手加密密钥信息。而后通过二级握手加密运算电路3082接收所述层级信息存储单元304传输的第二层握手请求数据,并采用所述二级握手加密密钥信息对所述第二层握手请求数据进行加密,得到第二层握手加密信息。而后接收所述层级信息存储单元304传输的第二层握手响应数据,将所述第二层握手响应数据与所述第二层握手加密信息进行比较,若两者匹配说明二级密钥没有被篡改,可以通过密钥选择单元310进行输出,否则可以发出提示信息。

三级密钥的产生过程如下:

三级密钥的产生过程与二级密钥类似,区别在于二级密钥作为三级密钥产生的输入参数(相当于二级密钥产生时输入的一级密钥),具体是三级解密运算单元3063接收层级信息存储单元304的第三层源密钥,三级算法选择单元3113选择三级密钥加解密算法至三级解密运算单元30623,以使得三级解密运算单元3063采用三级密钥加解密算法应用所述二级密钥对所述第三层源密钥进行解密,得到三级密钥。如果当前用户的安全等级为三级,则密钥选择单元310可以选择所述三级密钥输出。

在输出所述三级密钥之前,为了防止三级密钥在传输过程中被篡改,需要对生成的三级密钥进行校验,具体是先通过三级握手解密运算电路3073使用三级密钥对三级密钥自身做一次加密,得到三级握手加密密钥信息。而后通过三级握手加密运算电路3083接收所述层级信息存储单元304传输的第三层握手请求数据,并采用所述三级握手加密密钥信息对所述第三层握手请求数据进行加密,得到第三层握手加密信息。而后接收所述层级信息存储单元304传输的第三层握手响应数据,将所述第三层握手响应数据与所述第三层握手加密信息进行比较,若两者匹配说明三级密钥没有被篡改,可以通过密钥选择单元310进行输出,否则可以发出提示信息。

当然,在另一些实施例中,设置的用户等级的数量还可以为其他数值,如两个安全等级或四个以上的安全等级,相对应的,生成所述访问密钥信息所需的层级数量也可以为其他数量,具体根据实际需要进行设置。当访问密钥信息的层级为其他数量时,其产生的方式可以参考图3所示的密钥生成过程,此处不再赘述。

在某些实施例中,密钥产生单元30产生的访问密钥信息可以被存储至密钥记录单元40中,以等到其他功能模块的选择调用。

如图4所示,本申请还提供了一种密钥产生方法,所述方法应用于如本申请所述的密钥产生单元,所述方法包括以下步骤:

首先进入步骤S401源数据解密单元获取加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加解密算法;

而后进入步骤S402根密钥运算单元根据所述解密后的源密钥计算得到根密钥信息;

而后进入步骤S403层级解密运算单元获取层级密钥信息、层级密钥加解密算法和根密钥信息,根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到访问密钥信息。

通常,密钥产生单元30在投入使用前需要进行一定的出厂设置,具体是将密钥产生密钥过程中需要用到的一些校验数据固化在密钥产生单元30内部,如图5所示,所述方法包括以下步骤:

首先进入步骤S501预先设置用户安全等级,并将设置的用户安全等级存储至用户等级存储单元。

而后进入步骤S502设置源密钥。

步骤S502后可以进入步骤S503根据源密钥通过派生算法得到层级密钥信息和握手请求信息;同步地,可以进入步骤S505对当前用户设置对应的安全等级和该用户对应的用户标识信息。

步骤S503后可以进入步骤S504将所述层级密钥信息和所述握手请求信息存储于层级密钥信息存储单元中。而后进入步骤S506完成用户密钥初始设置。

如图6所示,在某些实施例中,所述密钥产生方法包括以下步骤:

首先进入步骤S601源数据存储单元存储加密后的源数据,所述源数据包括源密钥和层级加解密算法。

而后可以进入步骤S602源数据解密单元获取所述加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加解密算法,并将所述解密后的源密钥送往根密钥运算单元,将所述解密后的层级密钥加解密算法存储于算法信息存储单元中。

与步骤S601和步骤S602相并行地,可以进入步骤S603层级信息存储单元存储层级密钥信息;用户标识信息存储单元存储用户标识信息。

步骤S602和步骤S603后可以进入步骤S604根密钥运算单元获取所述用户标识信息和解密后的源密钥,根据所述解密后的源密钥对所述用户标识信息进行哈希运算,得到根密钥信息。

步骤S604之后可以进入步骤S605层级解密运算单元获取所述层级密钥加解密算法、所述层级密钥信息和所述根密钥信息,采用所述层级密钥加解密算法应用所述根密钥信息对所述层级密钥信息进行解密,得到访问密钥信息。

需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号