一种SSD数据加密装置以及方法与流程

文档序号:17360362发布日期:2019-04-09 22:01阅读:281来源:国知局
一种SSD数据加密装置以及方法与流程

本发明涉及存储技术领域,特别是涉及一种ssd数据加密装置以及方法。



背景技术:

固态硬盘(solidstatedrives,ssd)是一种数据存储介质,固态硬盘通常包括主控芯片(controller)、闪存(flash)、缓存(ram)及其它相关器件组成,其中闪存(flash)为主要的数据存储介质。nvme标准是为ssd建立的新的存储规范标准,nvme标准使ssd支持pcie总线进行数据交互,并支持smbus总线或i2c总线作为带外管理接口,nvmessd内部通常增加一片mcu作为带外管理芯片,参与ssd的内部状态监控及vpd信息存取等功能。

在部分应用场合下,需要保证硬盘内部数据安全,保证硬盘数据只能由具有特定权限的人进行操作,因此需要对硬盘进行加密。

现有对硬盘数据进行加密的方法分为软件加密与硬件加密两种。软件加密通常使用加密算法将文件或数据变为乱码(加密)存储,在使用文件的时候,用相同或不同的手段还原(解密)。硬件加密方法通常使用专门的加密芯片对硬盘进行加密。软件加密方法使文件或数据的存储和读取过程比正常的数据存储和读取过程增加了加密和解密的步骤,会影响数据的存取速度,降低硬盘的性能,且软件加密方法可以通过刷机等方式破解,数据安全性较差。而硬件加密方法需要使用专用的加密芯片,增加了成本,且需要对加密芯片进行编程,增加了开发难度。



技术实现要素:

本发明的目的是提供一种ssd数据加密装置以及方法,以解决现有ssd数据加密技术影响硬盘性能、安全性较差、成本较高、开发难度较高的问题。

为解决上述技术问题,本发明提供一种ssd数据加密装置,包括:主控芯片、mcu、译码器以及给ssd内部进行供电的电源芯片;所述译码器的输入端以及使能端用于与所述主控芯片、所述mcu中至少一个相连,所述译码器的输出端与所述电源芯片相连;

所述主控芯片以及所述mcu用于接收上位机发送的解密指令以及解密密码,对接收到的所述解密密码进行校验,若校验通过,则控制所述译码器输出端使所述电源芯片使能。

可选地,所述译码器为3-8译码器或4-16译码器。

可选地,所述上位机通过smbus总线与所述主控芯片、所述mcu相连。

可选地,所述主控芯片的io引脚连接至所述译码器的输入端,所述mcu的io引脚连接至所述译码器的使能端。

本发明还提供了一种ssd数据加密方法,在所述ssd内增加设置译码器,所述译码器的输入端以及使能端用于与ssd中的主控芯片、mcu中至少一个相连,所述译码器的输出端控制给ssd内部进行供电的电源芯片,所述方法包括:

接收上位机发送的解密指令以及解密密码;

对接收到的所述解密密码进行校验;

若校验通过,则控制所述译码器输出端使所述电源芯片使能。

可选地,所述对接收到的所述解密密码进行校验包括:

所述主控芯片将接收到的解密密码中第一密码与自身存储的第一预设密码进行比对;

所述mcu将接收到的解密密码中第二密码与自身存储的第二预设密码进行比对;

若均比对一致,则校验通过。

可选地,还包括:

接收上位机发送的加密指令以及加密密码;

所述主控芯片以及所述mcu分别将对应的加密密码存储到自身的存储空间中。

可选地,还包括:

在ssd上电后,若所述主控芯片与所述mcu未收到解密指令以及解密密码时,则控制所述译码器的输出端输出相应的电平使所述电源芯片失能。

本发明所提供的ssd数据加密装置,在ssd内部增加了一个译码器,译码器的输出端控制ssd内部进行供电的电源芯片;译码器的输入端以及使能端用于与主控芯片、mcu中至少一个相连。主控芯片以及mcu用于接收上位机发送的解密指令以及解密密码,对接收到的解密密码进行校验,若校验通过,则控制译码器输出端使所述电源芯片使能,从而实现了硬盘的加密。本申请相对于传统的硬件加密手段成本更低,且ssd内部的主控芯片与mcu均参与了ssd的加密及解密过程,相对于传统的软件加密手段安全性更高,通过对flash芯片电源的控制实现ssd的加密与解密,不需要对数据本身进行加密和解密操作,不影响ssd的性能。此外,本申请还提供了一种具有上述技术效果的ssd数据加密方法。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请所提供的ssd数据加密装置的一种具体实施方式的结构框图;

图2为本申请所提供的ssd数据加密装置的另一种具体实施方式的示意图;

图3为本发明所提供的ssd数据加密方法的一种具体实施方式的流程图;

图4为本申请实施例中对数据进行加密的过程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请所提供的ssd数据加密装置的一种具体实施方式的结构框图如图1所示,该装置包括:主控芯片1、mcu2、译码器3以及给ssd内部进行供电的电源芯片4;所述译码器3的输入端以及使能端用于与所述主控芯片1、所述mcu2中至少一个相连,所述译码器3的输出端与所述电源芯片4相连;

所述主控芯片1以及所述mcu2用于接收上位机发送的解密指令以及解密密码,对接收到的所述解密密码进行校验,若校验通过,则控制所述译码器3输出端使所述电源芯片4使能。

译码器是一种基本的数字电路,由输入端与使能端控制输出端的电平状态,如常见的3-8译码器,即3个使能端与3个输入端,共同控制8个输出端引脚的电平状态。译码器可以根据加密的复杂程度进行相应的选择。本申请实施例中,译码器可以为3-8译码器或4-16译码器或更高位宽的器件,这均不影响本申请的实现。

在ssd内部增加一片译码器,并使用ssd的主控芯片与mcu控制译码器的使能端以及输入端。具体地,可以由主控芯片控制译码器的输入端,由mcu控制译码器的使能端。当然也可以由主控芯片控制译码器的使能端,由mcu控制译码器的输入端。此外,也并不限于一对一控制,还可以为一对多控制,例如由主控芯片对译码器的输入端以及使能端共同进行控制,由mcu对译码器的输入端或者使能端进行控制。可以理解的是,只要是由主控芯片以及mcu联合对译码器的输出端使能进行控制即可,并不限于提到的这几种。

本申请所提供的ssd数据加密装置的另一种具体实施方式的示意图如图2所示,本实施例中主控芯片的io引脚连接至所述译码器的输入端,所述mcu的io引脚连接至所述译码器的使能端。上位机可以通过smbus总线与所述主控芯片、所述mcu相连。译码器的输出端连接到ssd内部给dram和flash供电的电源芯片的使能端。上位机(pc或服务器)通过smbus总线给硬盘加密或解密,从而实现硬盘加密。

本发明所提供的ssd数据加密装置,在ssd内部增加了一个译码器,译码器的输出端控制ssd内部进行供电的电源芯片;译码器的输入端以及使能端用于与主控芯片、mcu中至少一个相连。主控芯片以及mcu用于接收上位机发送的解密指令以及解密密码,对接收到的解密密码进行校验,若校验通过,则控制译码器输出端使所述电源芯片使能,从而实现了硬盘的加密。本申请相对于传统的硬件加密手段成本更低,且ssd内部的主控芯片与mcu均参与了ssd的加密及解密过程,相对于传统的软件加密手段安全性更高,通过对flash芯片电源的控制实现ssd的加密与解密,不需要对数据本身进行加密和解密操作,不影响ssd的性能。

本发明还提供了一种ssd数据加密方法,在ssd内增加设置译码器,译码器的输入端以及使能端用于与ssd中的主控芯片、mcu中至少一个相连,所述译码器的输出端控制给ssd内部进行供电的电源芯片,参照图3本发明所提供的ssd数据加密方法的一种具体实施方式的流程图,所述方法包括:

步骤s101:接收上位机发送的解密指令以及解密密码;

步骤s102:对接收到的所述解密密码进行校验;

可选地,所述主控芯片将接收到的解密密码中第一密码与自身存储的第一预设密码进行比对;所述mcu将接收到的解密密码中第二密码与自身存储的第二预设密码进行比对;若均比对一致,则校验通过。主控芯片解析到解密密码中的第一密码,与存储在自身独立存储空间内的第一预设密码进行比对。相应地,mcu解析到解密密码中的第二密码,与存储在自身独立存储空间内的第二预设密码进行比对。只有在二者比对均一致的情况下,才认为校验通过。只有一个比对一致或两个均比对不一致的情况下,校验不通过。

步骤s103:若校验通过,则控制所述译码器输出端使所述电源芯片使能。

在校验通过的情况下,控制译码器输出端使电源芯片使能,flash芯片正常供电之后,可以进行数据的写入或读取。

进一步地,在ssd上电后,若所述主控芯片与所述mcu未收到解密指令以及解密密码时,则控制所述译码器的输出端输出相应的电平使所述电源芯片失能。

当ssd加密之后,上电之后,主控芯片与mcu若未收到解密指令及密码,则控制译码器使译码器的输出端输出相应的电平使电源芯片失能,电源芯片失能,flash芯片没有电源输入,则无法工作,即数据无法写入或读取。解密过程中,上位机通过smbus总线将解密密码发送到主控芯片与mcu,主控芯片与mcu接收密码之后对密码进行校验,若校验通过,则控制译码器输出端使电源芯片使能,flash芯片正常供电之后,可以进行数据的写入或读取。

本申请所提供的ssd数据加密方法还包括对数据进行加密的过程,参照图4本申请实施例中对数据进行加密的过程示意图,该过程具体包括:

步骤s201:接收上位机发送的加密指令以及加密密码;

步骤s202:所述主控芯片以及所述mcu分别将对应的加密密码存储到自身的存储空间中。

加密流程中,上位机可通过smbus总线将加密指令及密码发送到ssd的主控芯片与mcu,主控芯片与mcu分别将密码存储到自身的程序存储空间,作为第一预设密码与第二预设密码。

本发明使用基本的数字电路实现了ssd的硬件加密,相对于传统的硬件加密手段成本更低,且ssd内部的主控芯片与mcu均参与了ssd的加密及解密过程,相对于传统的软件加密手段安全性更高,通过对flash芯片电源的控制实现ssd的加密与解密,不需要对数据本身进行加密和解密操作,不影响ssd的性能。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的ssd数据加密装置及方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1