CN115310110A - 一种固态硬盘访问控制电路、系统及固态硬盘 - Google Patents
一种固态硬盘访问控制电路、系统及固态硬盘 Download PDFInfo
- Publication number
- CN115310110A CN115310110A CN202210989710.6A CN202210989710A CN115310110A CN 115310110 A CN115310110 A CN 115310110A CN 202210989710 A CN202210989710 A CN 202210989710A CN 115310110 A CN115310110 A CN 115310110A
- Authority
- CN
- China
- Prior art keywords
- circuit
- control circuit
- digest value
- hash algorithm
- selector
- 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.)
- Pending
Links
- 239000007787 solid Substances 0.000 title claims abstract description 90
- 238000004364 calculation method Methods 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 description 15
- 238000012795 verification Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000005336 cracking Methods 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 238000009792 diffusion process Methods 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 101100203322 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SKS1 gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/72—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种固态硬盘访问控制电路、系统及固态硬盘,其中硬盘访问控制电路包括:密钥存储器、密钥读取控制电路、摘要值计算电路、第一输入控制电路、随机数发生器、第二输入控制电路以及比较电路;所述密钥存储器与所述密钥读取控制电路连接;所述密钥读取控制电路、所述第一输入控制电路以及所述随机数发生器均与所述摘要值计算电路连接;所述摘要值计算电路和所述第二输入控制电路均与所述比较电路连接。本发明可有效抵抗“重放”攻击,提高硬盘的数据安全性。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种固态硬盘访问控制电路、系统及固态硬盘。
背景技术
固态硬盘(Solid State Disk或Solid State Drive,SSD)是传统机械式硬盘的替代品。一个典型的固态硬盘,其内部电路包括主控芯片、DDR内存颗粒、NAND Flash闪存芯片颗粒、SPI Flash颗粒等。在某些应用场景下,对固态硬盘会有数据安全性的要求,也即确保只有获得授权的人员的允许才可以对固态硬盘中的数据进行访问,对于非法使用者则应拒绝其访问请求。目前采用的一种安全访问方式是采用固定的授权码、固定的系统ID(Identity document,身份标识号)值,其安全性较差,无法抵抗“重放攻击”,只要攻击者能够采用非法手段监测到1次正常的访问过程,之后采用相同的授权码、相同的ID值,即可骗过固态硬盘的安全系统,实现破解。
因此,目前需要一种能够较好的抵抗“重放攻击”的访问控制方式。
发明内容
鉴于上述问题,本发明提出了一种固态硬盘访问控制电路、系统及固态硬盘,可有效抵抗“重放”攻击,提高硬盘的数据安全性。
第一方面,本申请通过一实施例提供如下技术方案:
一种固态硬盘访问控制电路,包括:密钥存储器、密钥读取控制电路、摘要值计算电路、第一输入控制电路、随机数发生器、第二输入控制电路以及比较电路;所述密钥存储器与所述密钥读取控制电路连接;所述密钥读取控制电路、所述第一输入控制电路以及所述随机数发生器均与所述摘要值计算电路连接;所述摘要值计算电路和所述第二输入控制电路均与所述比较电路连接;
所述密钥存储器,被配置为存储原始密钥;所述第一输入控制电路,被配置为接收访问硬盘的主机的序列号;所述随机数发生器,被配置为产生随机数;所述摘要值计算电路,被配置为基于所述原始密钥和所述序列号进行哈希计算,获得第一摘要值;还被配置为基于所述第一摘要值和所述随机数进行哈希计算,获得第二摘要值;第二输入控制电路,被配置为接收访问硬盘得主机输入的第三摘要值;所述第三摘要值为基于所述第一摘要值和所述随机数进行哈希计算获得的;所述比较电路,被配置为比较所述第二摘要值和所述第三摘要值是否相同;还被被配置为,若所述第二摘要值和所述第三摘要值相同,则输出认证通过的信号,以使所述硬盘响应所述主机的读写请求;若所述第二摘要值和所述第三摘要值不同,则输出认定失败的信号以使所述硬盘不响应所述主机的读写请求。
可选的,所述摘要值计算电路包括:第一杂凑算法电路和第二杂凑算法电路;所述第一杂凑算法电路的输入端连接所述密钥读取控制电路和所述第一输入控制电路;所述第一杂凑算法电路的输出端连接所述第二杂凑算法电路的输入端,所述第二杂凑算法电路的输入端还连接随机数发生器;所述第二杂凑算法电路的输出端连接所述比较电路的输入端;所述第一杂凑算法电路,被配置为基于所述原始密钥和所述序列号进行哈希计算,获得第一摘要值;所述第二杂凑算法电路,被配置为基于所述第一摘要值和所述随机数进行哈希计算,获得第二摘要值。
可选的,还包括第一缓存寄存器,所述第一杂凑算法电路通过所述第一缓存寄存器与所述第二杂凑算法电路连接。
可选的,所述摘要值计算电路包括:第一选择器、第二选择器、第三选择器和第三杂凑算法电路;所述第一选择器的第一输入端连接所述密钥读取控制电路,所述第一选择器的第二输入端连接所述第三选择器第一输出端,所述第一选择器的输出端连接所述第三杂凑算法电路的输入端;所述第二选择器的第一输入端连接所述第一输入控制电路,所述第二选择器的第二输入端连接所述随机数发生器,所述第二选择器的输出端连接所述第三杂凑算法电路的输入端;所述第三杂凑算法电路的输出端连接所述第三选择器的输入端;所述第三选择器的第二输出端连接所述比较电路的输入端;
所述第一选择器,被配置为在第一时段选择所述原始密钥输出至所述第三杂凑算法电路;所述第二选择器,被配置为在第一时段选择所述序列号输出至所述第三杂凑算法电路;所述第三杂凑算法电路,被配置为基于所述原始密钥和所述随机数进行哈希计算,获得第一摘要值;所述第三选择器,被配置为将所述第一摘要值输出给所述第一选择器;所述第一选择器,还被配置为在第二时段选择所述第一摘要值输出至所述第三杂凑算法电路;所述第二选择器,还被配置为在第二时段选择所述随机数输出至所述第三杂凑算法电路;所述第三杂凑算法电路,还被配置为基于所述第一摘要值和所述随机数进行哈希计算,获得第二摘要值;所述第三选择器,还被配置为将所述第二摘要值输出给所述比较电路。
可选的,还包括第二缓存寄存器,所述第三杂凑算法电路通过所述第二缓存寄存器与所述第三选择器连接。
可选的,还包括密钥写入控制电路;所述密钥写入控制电路连接所述密钥存储器;所述密钥写入控制电路被配置为向所述密钥存储器中写入原始密钥。
可选的,还包括主控状态机;所述主控状态机分别与所述密钥存储器、所述密钥读取控制电路、所述摘要值计算电路、所述第一输入控制电路、所述随机数发生器、所述第二输入控制电路以及所述比较电路控制连接。
可选的,还包括第三缓存寄存器和第四缓存寄存器;所述第一输入控制电路通过所述第三缓存寄存器与所述摘要值计算电路连接,所述随机数发生器通过所述第四缓存寄存器与所述摘要值计算电路连接。
第二方面,基于同一发明构思,本申请通过一实施例提供如下技术方案:
一种固态硬盘,包括:前述第一方面中任一所述的固态硬盘访问控制电路。
第三方面,基于同一发明构思,本申请通过一实施例提供如下技术方案:
一种固态硬盘访问控制系统,包括:主机和前述第二方面中所述的固态硬盘;所述固态硬盘包括接口电路,所述接口电路与所述比较电路连接;所述主机包括序列号存储器、第四杂凑算法电路和输出接口电路;所述序列号存储器分别与所述第一输入控制电路和所述第四杂凑算法电路连接,所述第四杂凑算法电路与所述输出接口电路连接,所述输出接口电路与所述第二输入控制电路连接;
所述序列号存储器,被配置为存储序列号和第一摘要值;所述第四杂凑算法电路,被配置为基于所述第一摘要值和所述随机数进行哈希计算,获得第三摘要值。
在本发明实施例中的一种固态硬盘访问控制电路、系统及固态硬盘,增加了随机数发生器,即使攻击者破解了某一次的随机数,也难以在下一次的验证过程中通过验证,因为每次的随机数均是不相同的;另外,本实施例中在进行摘要值计算时是将原始密钥和主机的序列号进行一次摘要值计算,得到第一摘要值;然后,再将第一摘要值和随机数进行一次摘要值计算,用于比对验证的第二摘要值;这样可将主机的特征涵盖到第二摘要值中。即使攻击者破解了用于验证的某一主机后可伪造该序列号的主机,也可在硬盘端配置将该主机的序列号加入黑名单,从而避免风险扩散,提高固态硬盘数据的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例中的一固态硬盘访问控制电路的结构示意图;
图2为本发明实施例中的又一固态硬盘访问控制电路的结构示意图;
图3为本发明实施例中的固态硬盘的结构示意图;
图4为本发明实施例中的固态硬盘访问控制系统的结构示意图;
图5为本发明实施例中的固态硬盘访问控制系统的认证交互原理示意图。
附图标记:
10-固态硬盘;100-固态硬盘访问控制电路;300-固态硬盘访问控制系统;20-主机;101-主控状态机;103-密钥写入控制电路;105-密钥存储器;107-密钥读取控制电路;109-第一杂凑算法电路;111-第二杂凑算法电路;113-第一输入控制电路;115-随机数发生器;117-输出控制电路;119-第二输入控制电路;121-比较电路;123-第一缓存寄存器;125-第三缓存寄存器;127-第四缓存寄存器;129-第五缓存寄存器;131-第六缓存寄存器;112-第一选择器;114-第二选择器;116-第三选择器;118-第三杂凑算法电路;120-第二缓存寄存器;141-处理器;143-接口电路;145-DRAM控制器;147-闪存控制器;151-DRAM存储器;153-闪存阵列;201-序列号存储器;203-第四杂凑算法电路;205-输出接口电路;207-第七缓存寄存器。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
请参阅图1,本发明实施例中提供了一种固态硬盘访问控制电路100,包括:密钥存储器105、密钥读取控制电路107、摘要值计算电路、第一输入控制电路113、随机数发生器115、第二输入控制电路119以及比较电路121;密钥存储器105与密钥读取控制电路107连接;密钥读取控制电路107、第一输入控制电路113以及随机数发生器115均与摘要值计算电路连接;摘要值计算电路和第二输入控制电路119均与比较电路121连接。
密钥存储器105,被配置为存储原始密钥;第一输入控制电路113,被配置为接收访问硬盘的主机的序列号;随机数发生器115,被配置为产生随机数;摘要值计算电路,被配置为基于原始密钥和序列号进行哈希计算,获得第一摘要值;还被配置为基于第一摘要值和随机数进行哈希计算,获得第二摘要值;第二输入控制电路119,被配置为接收访问硬盘得主机输入的第三摘要值;第三摘要值为基于第一摘要值和随机数进行哈希计算获得的;比较电路121,被配置为比较第二摘要值和第三摘要值是否相同;还被被配置为,若第二摘要值和第三摘要值相同,则输出认证通过的信号,以使硬盘响应主机的读写请求;若第二摘要值和第三摘要值不同,则输出认定失败的信号以使硬盘不响应主机的读写请求。
可以理解的是,在本实施例中增加了随机数发生器115,即使攻击者破解了某一次的随机数,也难以在下一次的验证过程中通过验证,因为每次的随机数均是不相同的;另外,本实施例中在进行摘要值计算时是将原始密钥和主机的序列号进行一次摘要值计算,得到第一摘要值;然后,再将第一摘要值和随机数进行一次摘要值计算,用于比对验证的第二摘要值;这样可将主机的特征涵盖到第二摘要值中。即使攻击者破解了用于验证的某一主机后可伪造该序列号的主机,也可在硬盘端配置将该主机的序列号加入黑名单,从而避免风险扩散,提高硬盘数据的安全性。
在一些可选的实现方式中摘要值计算电路包括:第一杂凑算法电路109和第二杂凑算法电路111;第一杂凑算法电路109的输入端连接密钥读取控制电路107和第一输入控制电路113;第一杂凑算法电路109的输出端连接第二杂凑算法电路111的输入端,第二杂凑算法电路111的输入端还连接随机数发生器115;第二杂凑算法电路111的输出端连接比较电路121的输入端;第一杂凑算法电路109,被配置为基于原始密钥和序列号进行哈希计算,获得第一摘要值;第二杂凑算法电路111,被配置为基于第一摘要值和随机数进行哈希计算,获得第二摘要值。
在该实现方式中,还可设置第一缓存寄存器123来临时存储第一杂凑算法电路109的计算得到的第一摘要值。也就是说,第一杂凑算法电路109通过第一缓存寄存器123与第二杂凑算法电路111连接。
可以理解的,本实施例中的摘要值即为hash(哈希)值;杂凑算法也称之为“摘要算法”、“哈希算法”,其计算结果为一个hash值,即“摘要值”,常见的杂凑算法有:SHA1、SHA3、SHA256、SM3、MD5、等等。主机可以是个人计算机(PC),序列号可以是主机的唯一识别号,例如主板的序列号,网卡的物理地址,PC的出厂序列号,操作系统的授权号,等等。
进一步的,当在摘要值计算电路中采用两个杂凑算法电路实现时,虽然能够生成第二摘要值,但是会导致占用大量的电路面积,不利用更小尺寸的硬盘设计,因此,本实施例中还提供了一个杂凑算法电路的电路设计;具体的:
请参阅图2,该摘要值计算电路可包括:第一选择器112、第二选择器114、第三选择器116和第三杂凑算法电路118;第一选择器112的第一输入端连接密钥读取控制电路107,第一选择器112的第二输入端连接第三选择器116第一输出端,第一选择器112的输出端连接第三杂凑算法电路118的输入端;第二选择器114的第一输入端连接第一输入控制电路113,第二选择器114的第二输入端连接随机数发生器115,第二选择器114的输出端连接第三杂凑算法电路118的输入端;第三杂凑算法电路118的输出端连接第三选择器116的输入端;第三选择器116的第二输出端连接比较电路121的输入端。第一选择器112,被配置为在第一时段选择原始密钥输出至第三杂凑算法电路118;第二选择器114,被配置为在第一时段选择序列号输出至第三杂凑算法电路118;第三杂凑算法电路118,被配置为基于原始密钥和随机数进行哈希计算,获得第一摘要值;第三选择器116,被配置为将第一摘要值输出给第一选择器112;第一选择器112,还被配置为在第二时段选择第一摘要值输出至第三杂凑算法电路118;第二选择器114,还被配置为在第二时段选择随机数输出至第三杂凑算法电路118;第三杂凑算法电路118,还被配置为基于第一摘要值和随机数进行哈希计算,获得第二摘要值;第三选择器116,还被配置为将第二摘要值输出给比较电路121。本实施例中的选择器电路可采用现有的逻辑电路实现,不做限制。
可以理解的,通过时序控制信号分别控制第一选择器112、第二选择器114和第三选择器116。在第一时段向第三杂凑算法电路118输入原始密钥和序列号即可计算获得第一摘要值;然后,在第二时段向第三杂凑算法电路118输入随机数和第一摘要值,即可计算获得第二摘要值。该设计仅仅增加时序控制,有效的减少了电路硬件,缩减了整体电路面积,降低了成本。
进一步的,该硬盘访问控制电路100还可包括第二缓存寄存器120,第三杂凑算法电路118通过第二缓存寄存器120与第三选择器116连接。第二缓存寄存器120可临时存储第三杂凑算法电路118计算得到的第二摘要值。
在本实施例中的固态硬盘访问控制电路100,还可包括密钥写入控制电路103;密钥写入控制电路103连接密钥存储器105;密钥写入控制电路103被配置为向密钥存储器105中写入原始密钥。在一些情况下,还可由管理员通过密钥写入控制电路103向密钥存储器105中写入新的原始密钥以更换原来的原始密钥,防范原始密钥泄露风险。本实施例中的密钥存储器105可为EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)。
另外,在该固态硬盘访问控制电路100还可包括第三缓存寄存器125和第四缓存寄存器127;第一输入控制电路113通过第三缓存寄存器125与摘要值计算电路连接;该第三缓存寄存器125可被配置为临时存储第一输入控制电路113传入的序列号,在摘要值计算电路需要使用时传入摘要值计算电路,或由摘要值计算电路调用。随机数发生器115通过第四缓存寄存器127与摘要值计算电路连接;该第四缓存寄存器127被配置为临时存储随机数发生器115产生的随机数,以便在摘要值计算电路需要使用时传入摘要值计算电路,或由摘要值计算电路调用。
进一步,该固态硬盘访问控制电路100还可包括第五缓存寄存器129和第六缓存寄存器131,第二输入控制电路119通过第五缓存寄存器129与比较电路121连接;第五缓存寄存器129被配置为临时存储主机一侧传入的第三摘要值,摘要值计算电路可通过第六缓存寄存器131与比较电路121连接,可被配置未缓存摘要值计算电路的处理得到的第二摘要值,以便于比较电路121实现对第二摘要值和第三摘要值的比较。
该固态硬盘访问控制电路100还可包括主控状态机101,主控状态机101分别与密钥存储器105、密钥读取控制电路107、摘要值计算电路、第一输入控制电路113、随机数发生器115、第二输入控制电路119、比较电路121控制连接、密钥写入控制电路103以及各个缓存寄存器中的任一个或多个控制连接;在附图中仅示出主控状态机101与密钥写入控制电路103及第二杂凑算法电路111之间的控制连接关系,其他部分未示出。以实现对整个电路的完整工作流程进行控制。例如,随机数发生器115可在主控状态机101的控制下生成随机数。
可以理解的,比较电路121所输出的信号可传送至硬盘的接口电路143以使接口电路143响应或不响应主机的读写请求。另外,比较电路121还可所输出的信号还可传送给主控状态机101,由主控状态机101控制接口电路143是否响应主机。
该固态硬盘访问控制电路100还可包括输出控制电路117,该输出控制电路117的输入端与随机数发生器115连接,输出控制电路117的输出端被配置为将随机数发生器115产生的随机数输出给对应的主机一侧。
请参阅图3,基于同一发明构思,在本发明的又一实施例中还提供了一种固态硬盘10,该固态硬盘10包括:前述实施例中任一的固态硬盘访问控制电路100。
该固态硬盘10还可包括处理器141、接口电路143、DRAM控制器145、闪存控制器147以及闪存阵列153;其中,接口电路143可以是PCIe接口、SATA接口、PCI接口等,不做限制;DRAM控制器145可与DRAM存储器151控制连接,闪存控制器147可与闪存阵列153控制连接;闪存阵列153可为NAND Flash闪存阵列。可以理解的,该接口电路143可属于固态硬盘10的控制器芯片部分,固态硬盘10的控制器芯片部分可包括处理器(CPU)141、DRAM(DynamicRandom Access Memory,动态随机存取存储器)控制器、闪存控制器147;另外,固态硬盘10的存储部分可包括DRAM存储器151和闪存阵列(如NAND Flash闪存阵列),不做限制。上述未作详细说明的结构均为本领域技术人员所了解的现有技术。例如,处理器141、闪存控制器147以及DRAM控制器145等可参见机械工业出版社《深入浅出SSD》一书中进行具体实现,本实施例中不再赘述。
需要说明的是,本实施例中的固态硬盘10其采用了前述实施例中的固态硬盘访问控制电路100,其所具备的有益效果可参照前述实施例中关于固态硬盘访问控制电路100的阐述,本实施例中不再赘述。
请参阅图4,基于同一发明构思,本发明实施例中提供的一种固态硬盘访问控制系统300,包括:主机20和前述实施例中的固态硬盘10;固态硬盘10包括接口电路143,接口电路143与比较电路121连接;主机20包括序列号存储器201、第四杂凑算法电路203和输出接口电路205;序列号存储器201分别与第一输入控制电路113和第四杂凑算法电路203连接,第四杂凑算法电路203与输出接口电路205连接,输出接口电路205与第二输入控制电路119连接;序列号存储器201,被配置为存储序列号和第一摘要值;第四杂凑算法电路203,被配置为基于第一摘要值和随机数进行哈希计算,获得第三摘要值。进一步的,第四杂凑算法电路203可通过第七缓存寄存器207与输出接口电路205连接。
若攻击者窃取了第一摘要值后也无法获取随机数,并且即使窃取了主机20一侧的第一摘要值,由于第一摘要值是通过原始密钥和序列号哈希计算获得的,管理员也可通过调整固态硬盘10一侧的原始密钥来使被窃取的第一摘要值无效,从而保证固态硬盘10的安全性。
在主机20一侧,为保证计算结果一致性,第四杂凑算法电路203应当与第二杂凑算法电路111及第三杂凑算法电路118相同。
请参阅图5,下面以一具体示例方式对本发明的固态硬盘访问控制电路100、系统300及固态硬盘10的原理进行说明:
对固态硬盘10进行应用部署之前,先进行初始化操作;首先,构造1个原始密钥(Root Key),将之写入固态硬盘10的密钥存储器105(EEPROM存储器)。接着,用户为每台主机20(计算机)指定1个序列号(Serial Number),不同主机20的序列号各不相同。再接着,用户将序列号写入主机20内的序列号存储器201中(EEPROM存储器)。
对于每个序列号(Serial Number),都将其与原始密钥(Root Key)结合,使用摘要算法进行运算,其结果即为多元密钥(Diversified Key),若主机20与固态硬盘10匹配的情况下,该多元密钥为第一摘要值;由于每台计算机的序列号(Serial Number)都不同,所以各台计算机的多元密钥(Diversified Key)也不同。将各多元密钥(Diversified Key)写入相应每台主机20的序列号存储器201中。
进一步的,将固态硬盘10部署至主机20中,需要对其进行认证授权;若是“非法”主机20,则无法完成认证流程,固态硬盘10不会响应PC的数据读写访问;若是“合法”主机20,则能够通过认证流程,主机20可以正常读写固态硬盘10。认证授权的流程如下:
认证开始,固态硬盘10内部的主控状态机101控制密钥读取控制电路107读取密钥存储器105中的原始密钥(Root Key);接着,从计算机端读取到密钥存储器105中保存的序列号(Serial Number);并控制摘要值计算电路对原始密钥(Root Key)和序列号(SerialNumber)做杂凑运算,计算结果即为第一摘要值;如果是“合法”主机20,则此第一摘要值与计算机中序列号存储器201中的多元密钥(Diversified Key)数值完全相同。
接着,固态硬盘10内部的随机数生成器生成1个随机数A,将之作为Challenge,送给PC端;固态硬盘10基于随机数A和第一摘要值启动杂凑算法电路,算出第二摘要值C。
主机20一侧收到随机数A后,结合其内部序列号存储器201中的多元密钥(Diversified Key)调用杂凑算法,算出第三摘要值D。主机20将第三摘要值D输出给固态硬盘10一侧;固态硬盘10收到第三摘要值D后,将第三摘要值D与第二摘要值C进行比较。如果第二摘要值和第三摘要值相同,说明主机20是“合法”的,则开启通信接口(如:PCIe、SATA或PCI),并允许主机20对固态硬盘10中的数据进行访问;反之,说明主机20为非法主机,则将通信接口停用,不响应主机20的固态硬盘10读写访问请求。
通过上述例子可以看出,要认证成功必须保证在主机20端存储有与固态硬盘10计算得到的相同的第一摘要值;但第一摘要值的计算仅仅只在固态硬盘10中存在,主机20一侧的第一摘要值是预设存入的,因此,仅仅从主机20一侧难以实现破解;进一步提高了安全性。其次,要实现破解还必须每次都能够确定随机数发生器115产生的随机数;但是随机数每次认证过程都是不同的,而且是由固态硬盘10发出,即使拦截到任一次认证过程的随机数,都是无法实现破解的;即使,得到相同的随机数生成器,在固态硬盘10还可通过黑名单的方式来添加恶意主机。黑名单可通过密钥写入控制电路103写入到密钥存储器105中,黑名单识别的实现可通过第一输入控制电路113和主控状态机101来识别,例如主控状态机101判断第一输入控制电路113接收到的序列号存在于黑名单上,则控制第一输入控制电路113不再写入第三缓存寄存器125中,从而防止攻击,进一步提高固态硬盘10的安全性。因此,本实施例中的固态硬盘访问控制电路100、系统300及固态硬盘10能够有效的抵抗“重放”攻击,保障固态硬盘10的数据安全性。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的装置中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个装置中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种固态硬盘访问控制电路,其特征在于,包括:密钥存储器、密钥读取控制电路、摘要值计算电路、第一输入控制电路、随机数发生器、第二输入控制电路以及比较电路;所述密钥存储器与所述密钥读取控制电路连接;所述密钥读取控制电路、所述第一输入控制电路以及所述随机数发生器均与所述摘要值计算电路连接;所述摘要值计算电路和所述第二输入控制电路均与所述比较电路连接;
所述密钥存储器,被配置为存储原始密钥;
所述第一输入控制电路,被配置为接收访问硬盘的主机的序列号;
所述随机数发生器,被配置为产生随机数;
所述摘要值计算电路,被配置为基于所述原始密钥和所述序列号进行哈希计算,获得第一摘要值;还被配置为基于所述第一摘要值和所述随机数进行哈希计算,获得第二摘要值;
第二输入控制电路,被配置为接收访问硬盘得主机输入的第三摘要值;所述第三摘要值为基于所述第一摘要值和所述随机数进行哈希计算获得的;
所述比较电路,被配置为比较所述第二摘要值和所述第三摘要值是否相同;还被被配置为,若所述第二摘要值和所述第三摘要值相同,则输出认证通过的信号,以使所述硬盘响应所述主机的读写请求;若所述第二摘要值和所述第三摘要值不同,则输出认定失败的信号以使所述硬盘不响应所述主机的读写请求。
2.如权利要求1所述的固态硬盘访问控制电路,其特征在于,所述摘要值计算电路包括:第一杂凑算法电路和第二杂凑算法电路;所述第一杂凑算法电路的输入端连接所述密钥读取控制电路和所述第一输入控制电路;所述第一杂凑算法电路的输出端连接所述第二杂凑算法电路的输入端,所述第二杂凑算法电路的输入端还连接随机数发生器;所述第二杂凑算法电路的输出端连接所述比较电路的输入端;
所述第一杂凑算法电路,被配置为基于所述原始密钥和所述序列号进行哈希计算,获得第一摘要值;
所述第二杂凑算法电路,被配置为基于所述第一摘要值和所述随机数进行哈希计算,获得第二摘要值。
3.如权利要求2所述的固态硬盘访问控制电路,其特征在于,还包括第一缓存寄存器,所述第一杂凑算法电路通过所述第一缓存寄存器与所述第二杂凑算法电路连接。
4.如权利要求1所述的固态硬盘访问控制电路,其特征在于,所述摘要值计算电路包括:第一选择器、第二选择器、第三选择器和第三杂凑算法电路;所述第一选择器的第一输入端连接所述密钥读取控制电路,所述第一选择器的第二输入端连接所述第三选择器第一输出端,所述第一选择器的输出端连接所述第三杂凑算法电路的输入端;所述第二选择器的第一输入端连接所述第一输入控制电路,所述第二选择器的第二输入端连接所述随机数发生器,所述第二选择器的输出端连接所述第三杂凑算法电路的输入端;所述第三杂凑算法电路的输出端连接所述第三选择器的输入端;所述第三选择器的第二输出端连接所述比较电路的输入端;
所述第一选择器,被配置为在第一时段选择所述原始密钥输出至所述第三杂凑算法电路;
所述第二选择器,被配置为在第一时段选择所述序列号输出至所述第三杂凑算法电路;
所述第三杂凑算法电路,被配置为基于所述原始密钥和所述随机数进行哈希计算,获得第一摘要值;
所述第三选择器,被配置为将所述第一摘要值输出给所述第一选择器;
所述第一选择器,还被配置为在第二时段选择所述第一摘要值输出至所述第三杂凑算法电路;
所述第二选择器,还被配置为在第二时段选择所述随机数输出至所述第三杂凑算法电路;
所述第三杂凑算法电路,还被配置为基于所述第一摘要值和所述随机数进行哈希计算,获得第二摘要值;
所述第三选择器,还被配置为将所述第二摘要值输出给所述比较电路。
5.如权利要求4所述的固态硬盘访问控制电路,其特征在于,还包括第二缓存寄存器,所述第三杂凑算法电路通过所述第二缓存寄存器与所述第三选择器连接。
6.如权利要求1所述的固态硬盘访问控制电路,其特征在于,还包括密钥写入控制电路;所述密钥写入控制电路连接所述密钥存储器;所述密钥写入控制电路被配置为向所述密钥存储器中写入原始密钥。
7.如权利要求1所述的固态硬盘访问控制电路,其特征在于,还包括主控状态机;所述主控状态机分别与所述密钥存储器、所述密钥读取控制电路、所述摘要值计算电路、所述第一输入控制电路、所述随机数发生器、所述第二输入控制电路以及所述比较电路控制连接。
8.如权利要求1所述的固态硬盘访问控制电路,其特征在于,还包括第三缓存寄存器和第四缓存寄存器;所述第一输入控制电路通过所述第三缓存寄存器与所述摘要值计算电路连接,所述随机数发生器通过所述第四缓存寄存器与所述摘要值计算电路连接。
9.一种固态硬盘,其特征在于,包括:权利要求1-8中任一所述的固态硬盘访问控制电路。
10.一种固态硬盘访问控制系统,其特征在于,包括:主机和权利要求9所述的固态硬盘;所述固态硬盘包括接口电路,所述接口电路与所述比较电路连接;所述主机包括序列号存储器、第四杂凑算法电路和输出接口电路;所述序列号存储器分别与所述第一输入控制电路和所述第四杂凑算法电路连接,所述第四杂凑算法电路与所述输出接口电路连接,所述输出接口电路与所述第二输入控制电路连接;
所述序列号存储器,被配置为存储序列号和第一摘要值;
所述第四杂凑算法电路,被配置为基于所述第一摘要值和所述随机数进行哈希计算,获得第三摘要值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210989710.6A CN115310110A (zh) | 2022-08-18 | 2022-08-18 | 一种固态硬盘访问控制电路、系统及固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210989710.6A CN115310110A (zh) | 2022-08-18 | 2022-08-18 | 一种固态硬盘访问控制电路、系统及固态硬盘 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115310110A true CN115310110A (zh) | 2022-11-08 |
Family
ID=83863577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210989710.6A Pending CN115310110A (zh) | 2022-08-18 | 2022-08-18 | 一种固态硬盘访问控制电路、系统及固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115310110A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115544578A (zh) * | 2022-11-24 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 固态硬盘读写方法、装置、电子设备及可读存储介质 |
-
2022
- 2022-08-18 CN CN202210989710.6A patent/CN115310110A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115544578A (zh) * | 2022-11-24 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 固态硬盘读写方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11809335B2 (en) | Apparatuses and methods for securing an access protection scheme | |
CN107092495B (zh) | 平台固件铠装技术 | |
US9317450B2 (en) | Security protection for memory content of processor main memory | |
US11157181B2 (en) | Card activation device and methods for authenticating and activating a data storage device by using a card activation device | |
CN111131130B (zh) | 密钥管理方法及系统 | |
EP2619707B1 (en) | Verification and protection of genuine software installationv using hardware super key | |
CN111309248A (zh) | 与安全存储器存取有关的方法、系统和设备 | |
CN113841129A (zh) | 存储器中的数据证明 | |
CN109472172B (zh) | 用于防止来自存储器的未授权数据访问的方法 | |
JP2022527163A (ja) | 暗号ハッシュを用いたメモリに格納されたデータの正当性確認 | |
CN115310110A (zh) | 一种固态硬盘访问控制电路、系统及固态硬盘 | |
CN217640204U (zh) | 一种固态硬盘及固态硬盘访问控制系统 | |
JP2022526934A (ja) | ブロックチェーンを基にしたメモリコマンドの正当性確認 | |
TWI529553B (zh) | 認證方法、相關的控制器、電腦主機、以及機器可讀媒體 | |
CN107466400A (zh) | 用于在至少两个功能实体之间共享存储器的方法 | |
CN218273385U (zh) | 一种硬盘访问控制电路、系统、固态硬盘及存储设备 | |
CN117332386A (zh) | 固态硬盘加密认证方法及固态硬盘 | |
CN116450043A (zh) | 用于ssd tcg功能读写数据加速方法及相关设备 |
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 |