CN108920964A - 可重构硬件加解密方法、系统、计算机设备及存储介质 - Google Patents
可重构硬件加解密方法、系统、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN108920964A CN108920964A CN201810643628.1A CN201810643628A CN108920964A CN 108920964 A CN108920964 A CN 108920964A CN 201810643628 A CN201810643628 A CN 201810643628A CN 108920964 A CN108920964 A CN 108920964A
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- interface
- reconfigurable hardware
- decryption
- 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.)
- Granted
Links
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/602—Providing cryptographic facilities or services
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及]可重构硬件加解密方法、系统、计算机设备及存储介质,该方法包括获取输入接口传输的数据;对数据进行校验以及加解密处理;将处理后的数据由输出接口输出至SSD控制器内部缓存。本发明通过设置两组接口,实现与主流的SSD控制器无缝对接,利用接口进行数据输入,再由集成在DP模块内的加解密算法进行处理,再由接口输出,可以最小的成本,对设计内部加解密算法内核模块进行自由升级和替换,数量任意可配,实现可以自定义加解密算法,保证信息安全性,防止恶意攻击。
Description
技术领域
本发明涉及数据加解密方法,更具体地说是指可重构硬件加解密方法、系统、计算机设备及存储介质。
背景技术
根据调研发现,目前主流的硬件实现加解密方法的技术方案主要有如图1和图2所示,在图1中,将加解密算法模块直接集成到标准的AMBA总线上,如AXI、AHB接口,而图2中是将加解密算法模块集成到SSD控制器内部,如NFC(NANDFlash Controller)内部的数据通路中,由于这些算法固化在SSD控制器芯片内部,算法固定,且芯片一旦生产出来,无法替换成自定义算法,后期无法对算法进行升级优化,无法更改算法类型,无法使用自定义的算法,信息安全得不到保证。
因此,有必要设计新的加解密方法,实现可以自定义加解密算法,保证信息安全性,防止恶意攻击。
发明内容
本发明的目的在于克服现有技术的缺陷,提供可重构硬件加解密方法、系统、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:可重构硬件加解密方法,包括:
获取输入接口传输的数据;
对数据进行校验以及加解密处理;
将处理后的数据由输出接口输出至SSD控制器内部缓存。
其进一步技术方案为:所述获取输入接口传输的数据的步骤中,所述输入接口为ONFI接口和/或Toggle接口;所述将处理后的数据由输出接口口输出至SSD控制器内部缓存的步骤中,所述输出接口为ONFI接口和/或Toggle接口。
其进一步技术方案为:获取输入接口传输的数据的步骤,所述数据包括配置相关的命令、配置相关的地址以及配置相关的数据。
其进一步技术方案为:对数据进行校验以及加解密处理的步骤,包括以下具体步骤:
判断数据是否已缓存于加解密装置内;
若否,则对命令、地址和数据进行分类并存放;
根据存放的数据类型进行加解密处理。
其进一步技术方案为:根据存放的数据类型进行加解密处理的步骤,包括以下具体步骤:
判断存放的数据类型是否为用户数据;
若否,则转换为标准APB接口时序,对数据路径中的寄存器进行配置或读取;
若是,则将用户数据备份至电路内部SRAM,并进行CRC校验;
根据命令和SRAM中的数据传输给数据路径,进行加解密处理;
写入固件对用户数据的维护信息;
获取输出命令,并对加解密处理后的用户数据计算CRC和ECC保护;
将保护后的用户数据写入串行数据输出器内部的SRAM。
其进一步技术方案为:所述将处理后的数据由输出接口输出至SSD控制器内部缓存的步骤,包括以下具体步骤:
判断数据是否加载完成;
若是,将串行数据输出器内部的SRAM内的数据由输出接口输出至SSD控制器;
若否,则返回所述对数据进行校验以及加解密处理的步骤。
本发明还提供了可重构硬件加解密系统,包括有:
输入接口获取单元,获取输入接口传输的数据;
加解密单元,用于对数据进行校验以及加解密处理;
输出接口获取单元,用于将处理后的数据由输出接口输出至SSD控制器内部缓存。
其进一步技术方案为:所述加解密单元包括有:
判断模块,用于判断数据是否已缓存于加解密装置内;
分类存放模块,用于对命令、地址和数据进行分类并存放;
处理模块,用于根据存放的数据类型进行加解密处理。
本发明还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的可重构硬件加解密方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述的可重构硬件加解密方法
本发明与现有技术相比的有益效果是:本发明的可重构硬件加解密方法,通过设置两组接口,实现与主流的SSD控制器无缝对接,利用接口进行数据输入,再由集成在DP模块内的加解密算法进行处理,再由接口输出,可以最小的成本,对设计内部加解密算法内核模块进行自由升级和替换,数量任意可配,实现可以自定义加解密算法,保证信息安全性,防止恶意攻击。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为现有技术的加解密方法的流程图一;
图2为现有技术的加解密方法的流程图二;
图3为本发明一具体实施例提供的可重构硬件加解密方法的流程示意图;
图4为本发明一具体实施例提供的可重构硬件加解密方法的子流程示意图;
图5为本发明一具体实施例提供的根据存放的数据类型进行加解密处理的子流程示意图;
图6为本发明一具体实施例提供的可重构硬件加解密方法的子流程示意图;
图7为本发明一具体实施例提供的加解密装置的示意性框图;
图8为本发明一具体实施例提供的加解密装置的典型应用场景;
图9为本发明一具体实施例提供的可重构硬件加解密系统的示意性框图;
图10为本发明一具体实施例提供的加解密单元的示意性框图;
图11为本发明一具体实施例提供的处理模块的示意性框图;
图12为本发明一具体实施例提供的输出接口获取单元的示意性框图;
图13为本发明一具体实施例提供的一种计算机设备的示意性框图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如图3~13所示的具体实施例,本实施例提供的可重构硬件加解密方法、系统、计算机设备及存储介质,可以运用于SSD等存储硬盘内,实现可以自定义加解密算法,保证信息安全性,防止恶意攻击。
请参阅图3,图3为一具体实施例提供的可重构硬件加解密方法的流程示意图,如图3所示,可重构硬件加解密方法,包括步骤S101~S103。
S101、获取输入接口传输的数据。
在本实施例中,上述的输入接口为ONFI接口和/或Toggle接口,接口完全符合ONFI/Toggle接口标准协议,可以实现与目前主流的SSD控制器无缝对接。将加解密算法集成在DP模块内,与SSD控制器以及NAND Flash进行交互,不再直接集成到标准的AMBA总线上,或者集成到SSD控制器内部,实现加/解密算法内核的可灵活替换,进而可以自定义加/解密算法,保证信息安全性,防止恶意攻击。
另外,上述的数据包括配置相关的命令、配置相关的地址以及配置相关的数据。
具体地,SSD控制器通过Set Feature(即设定功能)命令,把配置相关的命令/地址/数据从左边ONFI/Toggle输入接口输入给加解密装置;SSD控制器通过写入NAND Flash命令,把命令/地址/数据从ONFI/Toggle输入接口输入给加解密装置,并通过读取/放大读取命令判断数据是否存入加解密装置内部缓存,若该数据未缓存,则进入S102的缓存和加解密操作。
S102、对数据进行校验以及加解密处理。
在本实施例中,上述的加解密操作可以是FPGA实现,也可以ASIC实现,其主要集成在DP(数据路径)模块中,校验以及加解密处理可以选择现有的国际标准加/解密算法,如AES,中华人民共和国国家标准商密算法,如SM4,也可以使用自定义算法,可集成的加/解密算法内核数量任意可变,内部缓存的大小也是可变化的,校验以及加解密处理(即加解密算法)采用标准APB接口及FIFO接口,可以以最小的代价实现算法的升级和更换,而不会对整个加解密造成影响。
当需要对加解密算法进行升级或者更换时,在整个系统中,只需要对本设计提供的加解密装置进行局部升级和替换,对整个系统不会造成任何影响,低成本,有利于缩短开发周期,降低项目风险,缩短上市周期。
在FPGA或ASIC芯片中可以集成的整个加/解密装置的数量是任意的,如在单个FPGA上集成1个加/解密装置,那么就对应2组ONFI/Toggle接口,也可以是2个加/解密装置,那么就对应4组ONFI/Toggle接口,以此类推。
S103、将处理后的数据由输出接口输出至SSD控制器内部缓存。
在该方法内,提供2套ONFI/Toggle接口,其中1个ONFI/Toggle接口用于输入数据,另1个ONFI/Toggle接口用于输出加解密之后的数据,该接口完全符合ONFI/Toggle接口标准协议,可以实现与目前主流的SSD控制器无缝对接。
在一实施例中,上述的步骤S102可包括步骤S1021~S1023:
S1021、判断数据是否已缓存于加解密装置内。
具体是由SSD控制器通过读取/读取放大命令判断数据是否存入加解密装置内部缓存。
S1022、若否,则对命令、地址和数据进行分类并存放;
请参阅图9,经过分类存放模块的处理,将命令,地址,数据分类,并分别存放在指定的三个不同空间中。
S1023、根据存放的数据类型进行加解密处理。
若是,则进入结束步骤。
在一实施例中,步骤S1023可包括S1023a~S1023g。
S1023a、判断存放的数据类型是否为用户数据;
S1023b、若否,则转换为标准APB接口时序,对数据路径中的寄存器进行配置或读取;
S1023c、若是,则将用户数据备份至电路内部SRAM,并进行CRC校验;
S1023d、根据命令和SRAM中的数据传输给数据路径,进行加解密处理;
S1023e、写入固件对用户数据的维护信息;
S1023f、获取输出命令,并对加解密处理后的用户数据计算CRC和ECC保护;
S1023g、将保护后的用户数据写入串行数据输出器内部的SRAM。
请参阅图9,根据指定的三个不同空间中信息进行判断,如果是配置信息,则转换成标准APB接口时序,对DP中的寄存器进行配置或读取;如果是用户数据,则把用户数据备份进内部SRAM,并进行CRC校验。
具体地,先将传递过来的命令和SRAM中的数据传输给DP,进行加/解密处理,再写入固件对用户数据的维护信息中;最后获取命令,并对数据计算CRC和ECC保护,并写入到内部的SRAM。
在一实施例中,步骤S103可包括步骤S1031~S1032。
S1031、判断数据是否加载完成;
S1032、若是,将串行数据输出器内部的SRAM内的数据由输出接口输出至SSD控制器;
若否,则返回所述S102步骤。
具体地,SSD控制器通过读取NAND Flash命令,把命令/地址ONFI/Toggle输入接口输入给加解密装置,并通过读取/读取放大命令判断数据加载有无完成;
将内部的SRAM中数据写入指定区间,并将写入指定区间内的数据送到ONFI/Toggle输出接口上,进而送给SSD控制器。
请参阅图8,SSD控制器的中的2个通道chnel0/chnl1,连接到通过输入接口和传输接口连接在加解密装置,另外2个通道chnl2/chnl3连接到真实的NANDFlash颗粒,当保存用户数据时,先将数据通过chnl0写入加解密装置,然后经过加解密单元CRC校验,写入DP内,经过内部加解密算法的处理,再返回给chnl1,并保存在SSD控制权内部缓存中,最后通过chnl2/3,将加密之后的用户数据,从SSD内部缓存写入NAND Flash颗粒上,实现数据永久性的安全存储,显著降低数据被恶意攻击的风险。
上述的可重构硬件加解密方法,通过设置两组接口,实现与主流的SSD控制器无缝对接,利用接口进行数据输入,再由集成在DP模块内的加解密算法进行处理,再由接口输出,可以最小的成本,对设计内部加解密算法内核模块进行自由升级和替换,数量任意可配,实现可以自定义加解密算法,保证信息安全性,防止恶意攻击。
请参阅图9,图9为一具体实施例提供的可重构硬件加解密系统的示意性框图,如图9所示,可重构硬件加解密系统,包括有:
输入接口获取单元1,获取输入接口传输的数据。
加解密单元2,用于对数据进行校验以及加解密处理。
输出接口获取单元3,用于将处理后的数据由输出接口输出至SSD控制器内部缓存。
该加解密单元2则为上述的图7与图9所示的加解密装置。具体地,加解密单元2包括有:
判断模块21,用于判断数据是否已缓存于加解密装置内。
分类存放模块22,用于对命令、地址和数据进行分类并存放。
处理模块23,用于根据存放的数据类型进行加解密处理。
另外,如图12所示,上述的处理模块23还包括有:
判断子模块231,用于判断存放的数据类型是否为用户数据。
转换模块232,用于若否,则转换为标准APB接口时序,对数据路径中的寄存器进行配置或读取。
存储模块233,用于若是,则将用户数据备份至电路内部SRAM,并进行CRC校验。
加密模块234,用于根据命令和SRAM中的数据传输给数据路径,进行加解密处理。
信息写入模块235,用于写入固件对用户数据的维护信息。
计算模块236,获取输出命令,并对加解密处理后的用户数据计算CRC和ECC保护。
数据写入模块237,将保护后的用户数据写入串行数据输出器内部的SRAM。
此外,上述的输出接口获取单元3包括有:
加载判断模块31,用于判断数据是否加载完成。
输出模块32,用于若是,将串行数据输出器内部的SRAM内的数据由输出接口输出至SSD控制器。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述可重构硬件加解密系统和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述可重构硬件加解密系统可以实现为一种计算机程序的形式,该计算机程序可以在如图13所示的计算机设备上运行。
上述的可重构硬件加解密系统,通过设置两组接口,实现与主流的SSD控制器无缝对接,利用接口进行数据输入,再由集成在DP模块内的加解密算法进行处理,再由接口输出,可以最小的成本,对设计内部加解密算法内核模块进行自由升级和替换,数量任意可配,实现可以自定义加解密算法,保证信息安全性,防止恶意攻击。
请参阅图13,图13是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备700可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参照图13,该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。
该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种可重构硬件加解密方法。
该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。
该内存储器740为非易失性存储介质730中的计算机程序732的运行提供环境,该计算机程序732被处理器720执行时,可使得处理器720执行任意一种可重构硬件加解密方法。
该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器720用于运行存储在存储器中的程序代码,以实现以下步骤:
获取输入接口传输的数据;
对数据进行校验以及加解密处理;
将处理后的数据由输出接口输出至SSD控制器内部缓存。
在一实施例中,处理器720在实现所述获取输入接口传输的数据步骤时,所述输入接口为ONFI接口和/或Toggle接口。所述数据包括配置相关的命令、配置相关的地址以及配置相关的数据。
在一实施例中,处理器720在实现所述将处理后的数据由输出接口输出至SSD控制器内部缓存步骤时,所述输出接口为ONFI接口和/或Toggle接口。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码以实现所述对数据进行校验以及加解密处理的步骤时,具体实现如下步骤:
判断数据是否已缓存于加解密装置内;
若否,则对命令、地址和数据进行分类并存放;
以及根据存放的数据类型进行加解密处理。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码以实现根据存放的数据类型进行加解密处理的步骤,具体实现如下步骤:
判断存放的数据类型是否为用户数据;
若否,则转换为标准APB接口时序,对数据路径中的寄存器进行配置或读取;
若是,则将用户数据备份至电路内部SRAM,并进行CRC校验;
根据命令和SRAM中的数据传输给数据路径,进行加解密处理;
写入固件对用户数据的维护信息;
获取输出命令,并对加解密处理后的用户数据计算CRC和ECC保护;
以及将保护后的用户数据写入串行数据输出器内部的SRAM。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码以实现所述将处理后的数据由输出接口输出至SSD控制器内部缓存的步骤,具体实现如下步骤:
判断数据是否加载完成;
若是,将串行数据输出器内部的SRAM内的数据由输出接口输出至SSD控制器;
以及若否,则返回所述对数据进行校验以及加解密处理的步骤。
上述的一种计算机设备,通过设置两组接口,实现与主流的SSD控制器无缝对接,利用接口进行数据输入,再由集成在DP模块内的加解密算法进行处理,再由接口输出,可以最小的成本,对设计内部加解密算法内核模块进行自由升级和替换,数量任意可配,实现可以自定义加解密算法,保证信息安全性,防止恶意攻击。
应当理解,在本申请实施例中,处理器720可以是中央处理单元(CentralProcessing Unit,CPU),该处理器720还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图13中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本领域普通技术人员可以理解的是实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。如本发明实施例中,该计算机程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各可重构硬件加解密方法的实施例的流程步骤。
该计算机可读存储介质可以是磁碟、光盘、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的可重构硬件加解密装置和方法,可以通过其它的方式实现。例如,以上所描述的可重构硬件加解密装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。
Claims (10)
1.可重构硬件加解密方法,其特征在于,包括:
获取输入接口传输的数据;
对数据进行校验以及加解密处理;
将处理后的数据由输出接口输出至SSD控制器内部缓存。
2.根据权利要求1所述的可重构硬件加解密方法,其特征在于,所述获取输入接口传输的数据的步骤中,所述输入接口为ONFI接口和/或Toggle接口;所述将处理后的数据由输出接口输出至SSD控制器内部缓存的步骤中,所述输出接口为ONFI接口和/或Toggle接口。
3.根据权利要求2所述的可重构硬件加解密方法,其特征在于,获取输入接口传输的数据的步骤,所述数据包括配置相关的命令、配置相关的地址以及配置相关的数据。
4.根据权利要求1所述的可重构硬件加解密方法,其特征在于,对数据进行校验以及加解密处理的步骤,包括以下具体步骤:
判断数据是否已缓存于加解密装置内;
若否,则对命令、地址和数据进行分类并存放;
根据存放的数据类型进行加解密处理。
5.根据权利要求4所述的可重构硬件加解密方法,其特征在于,根据存放的数据类型进行加解密处理的步骤,包括以下具体步骤:
判断存放的数据类型是否为用户数据;
若否,则转换为标准APB接口时序,对数据路径中的寄存器进行配置或读取;
若是,则将用户数据备份至电路内部SRAM,并进行CRC校验;
根据命令和SRAM中的数据传输给数据路径,进行加解密处理;
写入固件对用户数据的维护信息;
获取输出命令,并对加解密处理后的用户数据计算CRC和ECC保护;
将保护后的用户数据写入串行数据输出器内部的SRAM。
6.根据权利要求1所述的可重构硬件加解密方法,其特征在于,所述将处理后的数据由输出接口输出至SSD控制器内部缓存的步骤,包括以下具体步骤:
判断数据是否加载完成;
若是,将串行数据输出器内部的SRAM内的数据由输出接口输出至SSD控制器;
若否,则返回所述对数据进行校验以及加解密处理的步骤。
7.可重构硬件加解密系统,其特征在于,包括有:
输入接口获取单元,获取输入接口传输的数据;
加解密单元,用于对数据进行校验以及加解密处理;
输出接口获取单元,用于将处理后的数据由输出接口输出至SSD控制器内部缓存。
8.根据权利要求7所述的可重构硬件加解密系统,其特征在于,所述加解密单元包括有:
判断模块,用于判断数据是否已缓存于加解密装置内;
分类存放模块,用于对命令、地址和数据进行分类并存放;
处理模块,用于根据存放的数据类型进行加解密处理。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任意一项所述的可重构硬件加解密方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至6任意一项所述的可重构硬件加解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810643628.1A CN108920964B (zh) | 2018-06-21 | 2018-06-21 | 可重构硬件加解密方法、系统、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810643628.1A CN108920964B (zh) | 2018-06-21 | 2018-06-21 | 可重构硬件加解密方法、系统、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108920964A true CN108920964A (zh) | 2018-11-30 |
CN108920964B CN108920964B (zh) | 2020-09-29 |
Family
ID=64420420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810643628.1A Active CN108920964B (zh) | 2018-06-21 | 2018-06-21 | 可重构硬件加解密方法、系统、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108920964B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427288A (zh) * | 2019-07-19 | 2019-11-08 | 深圳忆联信息系统有限公司 | 基于固态硬盘的bitlocker加解密测试方法和装置 |
CN111913666A (zh) * | 2020-07-31 | 2020-11-10 | 深圳忆联信息系统有限公司 | 兼容不同协议Nand颗粒的方法、装置、计算机设备及存储介质 |
CN112613046A (zh) * | 2020-12-14 | 2021-04-06 | 苏州浪潮智能科技有限公司 | 一种基于fpga的加解密验证方法、装置及存储介质 |
US11797717B2 (en) * | 2019-05-21 | 2023-10-24 | Micron Technology, Inc. | Bus encryption for non-volatile memories |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582109A (zh) * | 2009-06-10 | 2009-11-18 | 成都市华为赛门铁克科技有限公司 | 数据加密方法及装置、数据解密方法及装置、固态硬盘 |
US20100250970A1 (en) * | 2009-03-31 | 2010-09-30 | Buffalo Inc. | Storage device |
CN102222049A (zh) * | 2010-04-14 | 2011-10-19 | 微软公司 | 自加密存储设备的可扩展管理 |
CN103617134A (zh) * | 2013-11-07 | 2014-03-05 | 中国人民解放军61660部队 | 一种便携式数据安全存储装置及实现安全存储的方法 |
CN105354503A (zh) * | 2015-11-02 | 2016-02-24 | 上海兆芯集成电路有限公司 | 储存装置数据加解密方法 |
CN106663178A (zh) * | 2014-09-26 | 2017-05-10 | 英特尔公司 | 用于使用固态驱动器来加速计算密集型操作的技术 |
CN107493291A (zh) * | 2017-08-31 | 2017-12-19 | 阿里巴巴集团控股有限公司 | 一种基于安全元件se的身份认证方法和装置 |
CN108027713A (zh) * | 2015-09-18 | 2018-05-11 | 阿里巴巴集团控股有限公司 | 用于固态驱动器控制器的重复数据删除 |
-
2018
- 2018-06-21 CN CN201810643628.1A patent/CN108920964B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100250970A1 (en) * | 2009-03-31 | 2010-09-30 | Buffalo Inc. | Storage device |
CN101582109A (zh) * | 2009-06-10 | 2009-11-18 | 成都市华为赛门铁克科技有限公司 | 数据加密方法及装置、数据解密方法及装置、固态硬盘 |
CN102222049A (zh) * | 2010-04-14 | 2011-10-19 | 微软公司 | 自加密存储设备的可扩展管理 |
CN103617134A (zh) * | 2013-11-07 | 2014-03-05 | 中国人民解放军61660部队 | 一种便携式数据安全存储装置及实现安全存储的方法 |
CN106663178A (zh) * | 2014-09-26 | 2017-05-10 | 英特尔公司 | 用于使用固态驱动器来加速计算密集型操作的技术 |
CN108027713A (zh) * | 2015-09-18 | 2018-05-11 | 阿里巴巴集团控股有限公司 | 用于固态驱动器控制器的重复数据删除 |
CN105354503A (zh) * | 2015-11-02 | 2016-02-24 | 上海兆芯集成电路有限公司 | 储存装置数据加解密方法 |
CN107493291A (zh) * | 2017-08-31 | 2017-12-19 | 阿里巴巴集团控股有限公司 | 一种基于安全元件se的身份认证方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11797717B2 (en) * | 2019-05-21 | 2023-10-24 | Micron Technology, Inc. | Bus encryption for non-volatile memories |
CN110427288A (zh) * | 2019-07-19 | 2019-11-08 | 深圳忆联信息系统有限公司 | 基于固态硬盘的bitlocker加解密测试方法和装置 |
CN110427288B (zh) * | 2019-07-19 | 2023-08-08 | 深圳忆联信息系统有限公司 | 基于固态硬盘的bitlocker加解密测试方法和装置 |
CN111913666A (zh) * | 2020-07-31 | 2020-11-10 | 深圳忆联信息系统有限公司 | 兼容不同协议Nand颗粒的方法、装置、计算机设备及存储介质 |
CN111913666B (zh) * | 2020-07-31 | 2022-06-07 | 深圳忆联信息系统有限公司 | 兼容不同协议Nand颗粒的方法、装置、计算机设备及存储介质 |
CN112613046A (zh) * | 2020-12-14 | 2021-04-06 | 苏州浪潮智能科技有限公司 | 一种基于fpga的加解密验证方法、装置及存储介质 |
CN112613046B (zh) * | 2020-12-14 | 2022-08-05 | 苏州浪潮智能科技有限公司 | 一种基于fpga的加解密验证方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108920964B (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108920964A (zh) | 可重构硬件加解密方法、系统、计算机设备及存储介质 | |
CN104040516B (zh) | 用于数据去重的方法、设备和系统 | |
EP3274850B1 (en) | Protecting a memory | |
EP3274848B1 (en) | Providing enhanced replay protection for a memory | |
CN104903868B (zh) | 数据存储装置、用于进行直接用户空间通信的方法和系统 | |
CN109085997A (zh) | 用于非易失性存储器的存储器高效持续键值储存 | |
CN105190524B (zh) | 用于生成去向和来自存储驱动器的非易失性半导体存储器的数据传送的描述符的装置和方法 | |
US9075952B2 (en) | Controlling bandwidth allocations in a system on a chip (SoC) | |
CN104583933A (zh) | Gpu和fpga组件之间的直接通信 | |
US10956584B1 (en) | Secure data processing | |
CN107924380A (zh) | 使用业务类别分配高速缓存的方法、装置和系统 | |
CN116325665A (zh) | 将高速点对点接口通道映射到分组虚拟通道 | |
JP2014513484A (ja) | 暗号化トランスポート・ソリッドステート・ディスク・コントローラ | |
CN113806253A (zh) | 受到损害的存储设备固件的检测 | |
EP3123338B1 (en) | Method, apparatus and system to cache sets of tags of an off-die cache memory | |
CN105849669A (zh) | 用于单个通道内的dram空间联合的方法和装置 | |
CN106687937A (zh) | 用于压缩算法的高速缓冲存储体扩展 | |
US10133497B1 (en) | SPI command censoring method and apparatus | |
CN104463020B (zh) | 存储器数据完整性保护的方法 | |
CN106663059A (zh) | 功率感知填充 | |
EP3043266A1 (en) | Store merge processing device, store merge processing system, store merge processing method, and storage medium | |
CN109241357A (zh) | 链式结构模型及其构建方法、系统和终端设备 | |
CN110187832A (zh) | 一种数据操作的方法、设备和系统 | |
CN105528183B (zh) | 一种存储数据的方法及存储设备 | |
CN108845770A (zh) | 降低ssd写放大的方法、装置及计算机设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |