CN108197504A - 一种可控数据加解密系统及方法 - Google Patents
一种可控数据加解密系统及方法 Download PDFInfo
- Publication number
- CN108197504A CN108197504A CN201711465809.1A CN201711465809A CN108197504A CN 108197504 A CN108197504 A CN 108197504A CN 201711465809 A CN201711465809 A CN 201711465809A CN 108197504 A CN108197504 A CN 108197504A
- Authority
- CN
- China
- Prior art keywords
- data
- access
- host
- read
- dma
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种可控数据加解密系统及方法,该系统包括:主机,用于发起数据读写的IO命令请求;主机接口,与主机的输出端连接,用于为IO命令请求分配唯一的命令标签;存储装置,与主机接口的输出端连接,用于根据IO命令请求与命令标签选择对应的读写通路存储或读取数据。本申请提供的可控数据加解密系统及方法将加解密的控制权上移,由主机应用程序决定IO数据是加密存储、直接存储、读取解密数据还是直接读取数据,允许不同IO数据在不同时刻能够独立改变IO数据对加解密的要求,解决了数据只能使用同样的方式进行存储和访问的问题,达到了对数据以IO为单位进行加解密行为的精确控制和随意控制的目的。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种可控数据加解密系统及方法。
背景技术
数据安全是信息存储、处理和传输过程的一项重要内容,随着信息技术的发展,信息的安全保护也越来越受到重视,加解密功能也成为电子信息系统的一种重要组成部分。
目前行业内数据加解密存储访问方案中,是否对数据进行加解密是由存储设备决定的。用户读写数据时,只能就某一用户存储空间范围内(也可以是全部范围)的数据进行加密存储,同时对这一范围内的数据要么只能以明文方式读取,要么只能以密文方式读取。且这一范围内的数据在整个使用周期内,都只能使用同样的方式(要么加密,要么不加密)进行存储和访问。
但是,对于存储设备来讲,每时每刻,同一范围内的IO可能既有加密存储,解密后读出的请求,也可能有不需要解密后读出,原数据写入的请求,而现有的存储方法和系统无法解决此类应用场景。
发明内容
本申请提供了一种可控数据加解密系统及方法,以解决目前存储设备只能使用同样的方式进行存储和访问的技术问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
第一方面,本申请实施例公开了一种可控数据加解密系统,所述系统包括:
主机,用于发起数据读写的IO命令请求;
主机接口,与所述主机的输出端连接,用于为所述IO命令请求分配唯一的命令标签;
存储装置,与所述主机接口的输出端连接,用于根据所述IO命令请求与命令标签选择对应的读写通路存储或读取数据。
可选的,所述存储装置包括:
IO控制器,与所述主机接口的输出端信号连接,用于根据所述IO命令请求配置对应的多路分配参数,并同时计算管理数据写入或读取的存储位置;
主机直接存储器存取(主机DMA),与所述IO控制器连接,用于控制所述主机与存储装置的数据传输,并根据所述命令标签与多路分配参数控制数据读写通路的选择;
介质直接存储器存取(介质DMA),与所述IO控制器连接,用于控制数据在存储介质与读写通路之间传输;
存储介质,与所述介质DMA连接,用于储存数据。
可选的,所述数据读写通路包括数据写入通路与数据读取通路,其中,
所述数据写入通路包括加密通路与旁路加密通路,所述数据读取通路包括解密通路与旁路解密通路。
可选的,所述存储装置还包括:
写入多路分配器,与所述主机DMA连接,用于根据所述多路分配参数分配相应的数据写入通路;
加密引擎,设置在加密通路上,与所述写入多路分配器连接,用于对选择加密通路的数据进行加密,并将加密数据传输至所述介质DMA;
读取多路分配器,与所述主机DMA连接,用于根据所述多路分配参数分配相应的数据读取通路;
解密引擎,设置在解密通路上,与所述读取多路分配器连接,用于对选择解密通路的数据进行解密,并将解密数据传输至所述主机DMA。
第二方面,本申请实施例公开了一种可控数据加解密方法,所述方法包括:
主机向存储装置发送数据读写的IO命令请求;
主机接口为所述IO命令请求分配唯一的命令标签,并将所述IO命令请求与命令标签发送至所述存储装置;
所述存储装置根据所述IO命令请求与命令标签选择对应的数据读写通路,并通过所述读写通路存储或读取数据。
可选的,所述主机向存储装置发送数据读写的IO命令请求,包括:
所述主机向所述存储装置发送数据读写的IO命令请求;
设定所述IO命令请求对应的LBA高位值为0或1。
可选的,所述存储装置根据所述IO命令请求与命令标签选择对应的数据读写通路,包括:
所述主机接口将所述IO命令请求与命令标签上报至IO控制器;
所述IO控制器配置针对所述IO命令请求的多路分配参数,主机DMA根据所述多路分配参数控制数据选择对应的读写通路。
可选的,所述主机DMA根据所述多路分配参数控制数据选择对应的读写通路,包括:
所述IO控制器检测所述LBA高位值是否为1;
若是,则所述主机DMA根据所述多路分配参数控制数据选择旁路加解密通路传输;
若否,则所述主机DMA根据所述分配参数控制数据选择加解密通路输入输出。
可选的,所述主机DMA根据所述多路分配参数控制数据选择对应的读写通路,还包括:
所述IO控制器向所述主机DMA发送针对所述命令标签的数据读写请求;
所述主机DMA根据所述数据读写请求控制对应的IO数据通过对应的读写通路输入输出。
可选的,所述通过所述读写通路存储或读取数据,包括:
所述IO控制器向介质DMA发起数据读写请求;
所述介质DMA根据所述数据读写请求,将所述IO数据通过对应的写入通路存储至存储介质上,或者将所述IO数据通过对应的读取通路由存储介质读取出来。
与现有技术相比,本申请的有益效果为:
本申请提供了一种可控数据加解密系统及方法,该系统包括:主机,用于发起数据读写的IO命令请求;主机接口,与主机的输出端连接,用于为IO命令请求分配唯一的命令标签;存储装置,与主机接口的输出端连接,用于根据IO命令请求与命令标签选择对应的读写通路存储或读取数据。本申请提供的可控数据加解密系统及方法将加解密的控制权上移,由主机应用程序决定IO数据是加密存储、非加密存储、读取解密数据还是读取非解密数据,可以允许不同IO数据在不同时刻能够独立改变IO数据对加解密的要求,能够解决数据只能使用同样的方式(要么明文,要么密文)进行存储和访问的问题,从而能够达到对数据以IO为单位进行加解密行为的精确控制和随意控制的目的;还有,该方法以IO为粒度来控制数据的加解密,通过为每一个IO分配一个内部唯一标识,所有参与数据传输控制的模块或器件都使用该标识,来区分该IO所对应的数据流,能够实现数据传输的准确控制。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种可控数据加解密系统的结构示意图;
图2为本发明实施例提供的可控数据加解密系统的一种实际应用场景示意图;
图3为本发明实施例提供的一种可控数据加解密方法的流程图;
图4为本发明实施例提供的一种可控数据加解密方法中S300的详细流程图;
图5为本发明实施例提供的一种可控数据加解密方法中数据走加解密通路的示意图;
图6为本发明实施例提供的一种可控数据加解密方法中数据走正常通路的示意图.
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
当前,在安全存储领域,某一LBA(Logical Block Address,逻辑区块地址)内的数据只能以一种方式(明文方式或加密方式)存储在存储介质上或者由存储介质上读取。假设一个存储设备S同时被A、B两个系统在使用,且使用的空间为同一空间,对A系统来讲,希望由A写入S的数据被加密后进行存储,同时希望从S读取的数据被解密后在输出;对B系统来讲,希望从S读取的数据不经过解密,直接以密文方式读出,同时由B向S写入的数据也不经过加密,直接以原始数据的方式写入。但是,对于同一存储设备S而言,只能满足系统A或系统B,而无法同时满足系统A、B。为了解决这一问题,本申请实施例提供了如下技术方案:
参见图1,为本申请实施例提供的可控数据加解密系统的结构示意图。
如图1所示,本申请实施例提供的可控数据加解密系统包括:
主机1(Host),用于发起数据读写的IO命令请求,同时也是决定IO数据是否需要加解密的最终控制端。主机1发起数据读写的IO命令请求后,为IO命令请求设定对应的LBA高位值,该LBA高位值设定为0或1。
主机接口2(Host interface,Host INTF),与主机1的输出端连接,负责与主机1进行命令和数据交互,并负责为每一个从主机1接收到的IO命令请求分配一个内部用于标记该命令的命令标签。
存储装置,与主机接口2的输出端连接,用于根据IO命令请求与命令标签选择对应的数据读写通路,并存储经过写入通路输入的IO数据,或者为读取通路提供数据。
具体地讲,存储装置包括:
IO控制器4(IO Controller),与主机接口2的输出端信号连接,用于接收主机接口2上报的IO命令请求与命令标签,并根据IO命令请求配置对应的多路分配参数。IO控制器4主要负责如下几个功能;a)接收主机接口2上报的IO命令请求(主要为LBA,数据长度等)与命令标签;b)根据策略(IO命令请求的LBA最高位值是否为1)配置针对IO命令请求的多路分配参数;c)计算并管理数据在存储介质上的存储位置。
主机直接存储器存取3(Host Direct Memory Access,Host DMA),与IO控制器4连接,用于控制主机1与存储装置之间的数据传输,并根据命令标签与多路分配参数控制数据读写通路的选择。主机DMA3负责存储装置与主机1之间的数据传输控制,并根据命令标签与IO控制器配置的多路分配参数来控制数据读写通路的选择。
数据读写通路包括数据写入通路与数据读取通路,IO数据通过数据写入通路由主机1写入存储装置中,存储装置中的数据通过数据读取通路读取出来。其中,数据写入通路包括加密通路与旁路加密通路,加密通路指的是数据经由加密通路后,明文数据通过一个固定的数学算法进行加密,输出加密数据,以密文方式传输存储;旁路加密通路指的是数据不需加密,以明文方式传输存储。数据读取通路包括解密通路与旁路解密通路,解密通路指的是数据经由解密通路后,密文数据通过与加密算法对应的解密算法进行解密,输出明文数据,以明文方式传输访问;旁路解密通路指的是数据不需解密,以密文方式传输访问。
介质直接存储器存取5(Media Direct Memory Access,Media DMA),与IO控制器4连接,用于写入或读取数据在数据通路与存储介质之间的传输控制。IO控制器4控制介质DMA5将IO数据写入存储介质6上对应的存储位置,或者控制介质DMA5读取存储介质6内对应存储位置的数据。介质DMA5根据IO控制器4的控制,负责存储介质6上对应存储位置和长度的数据的传输控制。
存储介质6(Storage Media),与介质DMA5连接,用于储存数据,是用于存储数据的器件或设备。
主机DMA3与介质DMA5之间还包括;
写入多路分配器7(Write Demux),与主机DMA3连接,用于根据多路分配参数分配相应的数据写入通路。写入多路分配器7根据主机DMA3的控制,决定由主机1写入的数据是通过加密通路传输,还是旁路加密通路传输。
加密引擎8(Encrypt Engine),设置在加密通路上,与写入多路分配器7连接,用于对选择加密通路的数据进行加密,并将加密数据传输至介质DMA5。加密引擎8负责将明文数据通过一个固定的数学算法进行加密,输出密文数据。即输入的数据经由加密通路后,明文数据变成密文数据,并通过介质DMA5将密文数据写入存储介质6的相应存储位置处。
读取多路分配器9(Read Demux),与主机DMA3连接,用于根据多路分配参数分配相应的数据读取通路。读取多路分配器9根据主机DMA3的控制,决定从存储介质6读取的数据是通过解密通路传输,还是旁路解密通路传输。
解密引擎10(Decrypt Engine),设置在解密通路上,与读取多路分配器9连接,用于对选择解密通路的数据进行解密,并将解密数据传输至主机DMA3。解密引擎10负责将密文数据通过与加密算法对应的解密算法进行解密,输出明文数据。即从存储介质6内读取的数据经由解密通路后,密文数据变成明文数据,并通过主机DMA3将明文数据传输至主机1。
本申请实施例提供的可控数据加解密系统,主机侧的应用可以以IO为粒度来控制数据是加密存储,还是非加密存储,同时可以以IO为粒度,控制数据是以明文读取,还是以密文读取。
如图2所示,以一个实际的应用场景来举例说明该可控数据加解密系统的优点。
主机应用程序A是实际数据的生产者和使用者,负责产生数据和使用数据;安全存储系统S是本申请实施例提供的存储装置,性能高且容量小,且具备加解密功能,能够将数据加密后以密文方式存储;正常存储系统B是一个不带安全存储功能的普通存储系统,但性能差,容量大,用于数据备份。
从安全的角度,备份系统上的数据也只能以密文方式存储。
由于B没有加解密功能,所以数据从S到B时,只能以密文方式进行搬移(不能解密),且由于B上的数据已经是密文数据,当数据从B到S时,不能再次加密,只能以原始数据方式存储到S。
但对于A来讲,A使用的都必须是明文数据,当A产生数据x时,将x以明文方式写入S,在S上以密文x’进行存储。当S容量不够时,将x’搬移到B上,S上不再存储x’。当A需要使用x数据时,先将数据x’先搬移到S,经过S解密成x,然后再输出到A。
由于A产生和使用的数据可能在任意LBA位置,IO具有不确定性,因此,只有以IO为粒度的加解密方式才能满足以上使用场景。
本申请实施例提供的可控数据加解密系统将存储设备的加解密控制权上移,交给主机1,由主机1控制数据是加密存储还是非加密存储、读取解密数据还是直接读取存储介质上的原始数据;同时存储装置内部实现以IO为粒度加解密,达到了精确控制数据加解密的目的。
基于本发明实施例提供的可控数据加解密系统,本发明实施例还提供了一种可控数据加解密方法。
参见图3,为本申请实施例提供的一种可控数据加解密方法的流程图。
如图3所示,本申请实施例提供的一种可控数据加解密方法包括:
S100:主机向存储装置发送数据读写的IO命令请求。
主机是负责发起IO数据读写请求的系统或设备,同时也是决定IO数据是否经过加解密引擎的最终控制端。也就是说,主机发送的数据读写的IO命令请求包含了数据是否需要加解密的信息,存储装置根据相关信息进行数据处理,如数据加密存储,数据非加密存储,数据解密读取,数据非解密读取等操作。
S101:主机设定所述IO命令请求对应的LBA高位值。
为方便存储装置识别哪种命令执行加解密,哪种命令执行非加解密,主机向存储装置发起数据读写的IO命令请求后,为对应的IO命令设定LBA高位值,执行加解密操作时LBA高位值设定为0,执行非加解密操作时LBA高位值设定为1。
S200:主机接口为所述IO命令请求分配唯一的命令标签,并将所述IO命令请求与命令标签发送至所述存储装置。
主机接口负责与主机进行命令和数据交互,并负责为每一个从主机接收到的IO命令分配一个内部用于标记该命令的命令标签。存储装置可根据该命令标签识别需要写入或读取的数据,从而能够精确控制IO数据的输入输出。
主机接口还将IO命令请求和分配的命令标签上报给存储装置的IO控制器,IO控制器对其进行处理,并控制相应操作。
S300:所述存储装置根据所述IO命令请求与命令标签选择对应的数据读写通路,并通过所述读写通路存储或读取数据。
主机接口将IO命令请求与命令标签上报IO控制器后,IO控制器根据LBA高位值配置针对该IO命令请求的多路分配参数(包括加密通路参数、旁路加密通路参数、解密通路参数、旁路解密通路参数),并将多路分配参数发送至主机DMA,主机DMA根据多路分配参数控制数据选择对应的读写通路传输。如图4所示,具体操作步骤如下:
S301:IO控制器检测所述LBA高位值是否为1;
S302:若是,则所述主机DMA根据所述多路分配参数控制数据选择旁路加解密通路传输;
S303:若否,则所述主机DMA根据所述多路分配参数控制数据选择加解密通路传输。
IO控制器接收到主机接口上报的IO命令请求(主要为LBA、数据长度等)与命令标签后,检测LBA高位值是否为1,若为1,则表示数据不需进行加解密即可存储或访问,此时,IO控制器携带“旁路加解密通路”选择参数向主机DMA发起针对命令标签的IO数据的读写请求。
主机DMA接收到“旁路加解密通路”选择参数与IO数据的读写请求后,一方面将对应IO命令请求的IO数据从主机向存储装置传输或将IO数据由存储装置读取出来,另一方面控制写入多路分配器为IO数据选择走旁路加密通路或读取多路分配器为IO数据选择走旁路解密通路,从而实现IO数据的直接存储或直接读取。
同理,若IO控制器检测到LBA高位值为0,则表示数据需要进行加解密才能存储或访问,此时,IO控制器携带“加解密通路”选择参数向主机DMA发起针对命令标签的IO数据的读写请求。
主机DMA接收到“加解密通路”选择参数与IO数据的读写请求后,一方面将对应IO命令请求的IO数据从主机向存储装置传输或将IO数据由存储装置读取出来,另一方面控制写入多路分配器为IO数据选择走加密通路或读取多路分配器为IO数据选择走解密通路,从而实现数据的加密存储或解密读取。
IO控制器携带多路分配参数向主机DMA发起数据读写请求时,还同时向介质DMA发起向LBA对应存储介质存储位置的数据读写请求,介质DMA根据该数据写入请求将经由加密通路或旁路加密通路输出的IO数据存储至LBA对应位置的存储介质上,或者,介质DMA根据该数据读取请求将LBA对应存储位置的数据从存储介质读取出来,经由解密通路或旁路解密通路输出至主机。
本申请实施例分别以数据加密存储、数据直接存储、读取解密数据与直接读取数据为例进行具体说明。
数据加密存储:
数据加密存储指的是由主机写入的数据,经过存储装置的解密引擎进行加密,然后以密文的方式进行存储。其数据传输路径如图5所示。
1)主机的应用程序向存储装置发起数据写入的IO命令请求,并设定对应IO命令的LBA高位值为0。
2)主机接口接收到IO命令请求后,为IO命令分配一个唯一的命令标签t0。
3)主机接口将IO命令请求(主要为LBA、数据长度)和命令标签t0上报给IO控制器。
4)IO控制器收到主机接口上报的IO命令请求与命令标签t0后,检测到LBA高位值为0,携带“加密引擎通路”选择参数向主机DMA发起针对命令标签t0的IO数据写入请求;同时向介质DMA发起向该LBA对应存储介质存储位置的数据写入请求。
5)主机DMA收到针对命令标签t0的数据写入请求后,启动命令标签t0对应的IO数据从主机向存储装置内部传输,同时控制写入多路分配器为IO数据选择走加密引擎传输通路。
6)加密引擎对经过的数据进行加密,然后通过介质DMA将加密后的密文数据写入LBA对应位置的存储介质上。
数据直接存储:
数据直接存储相对数据加密存储而言,指存储装置将由主机写入的数据,直接写入存储介质,不经过数据加密引擎加密的行为。其数据传输路径如图6所示。
1)主机侧的主应用程序向存储装置发起数据写入的IO命令请求(假设请求地址为LBAx),并设定对应IO命令的LBA高位值为1,变为LBAx’。
2)主机接口收到IO命令请求后,为IO命令请求分配一个唯一的命令标签t1。
3)主机接口将IO命令请求(主要为LBAx’、数据长度等)和命令标签t1上报给存储装置的IO控制器。
4)IO控制器收到主机接口上报的IO命令请求与命令标签t1后,检测到LBAx’高位值为1,携带“旁路加密引擎通路”参数向主机DMA发起针对命令标签t1的IO数据写入请求;同时向介质DMA发起向LBAx对应存储介质存储位置的数据写入请求。
5)主机DMA收到针对命令标签t1的IO数据写入请求后,启动命令标签t1对应的IO数据从主机向存储装置内部传输,同时控制写入多路分配器为IO数据选择走旁路加密引擎传输通路。
6)介质DMA将未经加密的主机原始数据写入LBAx对应位置的存储介质上。
读取解密数据:
读取解密数据,就是将数据从存储介质读取出来后,通过解密引擎进行解密,然后再输出到主机。其主要流程如下:
1)主机向存储装置发起数据读取的IO命令请求,并设定对应IO命令的LBA高位值为0。
2)主机接口收到IO命令请求后,为IO命令分配一个唯一的命令标签t2。
3)主机接口将IO命令请求(主要为LBA,数据长度等)和命令标签t2上报给存储装置的IO控制器。
4)IO控制器收到主机接口上报的IO命令请求与命令标签t2后,检测到LBA高位值为0,携带“解密引擎通路”选择参数向主机DMA发起针对命令标签t2的IO数据读取请求;同时向介质DMA发起向该LBA对应存储介质存储位置的数据读取请求。
5)主机DMA收到针对命令标签t2的数据读取请求后,启动命令标签t2的IO数据从存储装置内部向主机传输,同时控制读取多路分配器为IO数据选择走解密引擎传输通路。
6)介质DMA将LBA对应存储位置的IO数据从存储介质读取出来后,通过读取多路分配器将数据送入解密引擎,数据经过解密引擎解密后,再由主机DMA将解密数据搬移至主机。
直接读取数据:
直接读取数据相对于读取解密数据而言,指存储装置收到主机侧的读取命令后,直接从存储介质搬移对应位置数据到主机侧,不经过解密引擎。其主要流程如下:
1)主机侧的应用程序向存储装置发起读取数据的IO命令请求(假设请求地址为LBAy),设定对应IO命令请求LBAy的高位值为1,变为LBAy’。
2)主机接口收到IO命令请求后,为IO命令分配一个唯一的命令标签t3。
3)主机接口将IO命令请求(主要为LBAy’、数据长度等)和命令标签t3上报给存储装置的IO控制器。
4)IO控制器收到主机接口上报的IO命令请求与命令标签t3后,检测到LBAy’高位值为1,携带“旁路解密引擎通路”选择参数向主机DMA发起针对命令标签t3的IO数据读取请求;同时向介质DMA发起向LBAy’对应存储介质存储位置的数据读取请求。
5)主机DMA收到针对命令标签t3的数据读取请求后,启动命令标签t3的IO数据从存储装置内部向主机传输,同时控制读取多路分配器为IO数据选择走旁路解密引擎传输通路。
6)介质DMA将LBAy对应存储位置的数据从存储介质读取出来后,通过读取多路分配器直接交由主机DMA将数据搬移至主机侧,不经过解密引擎。
本申请实施例提供可控数据加解密方法不仅限于通过LBA高位值是否为1来判断数据是否需要进行加解密,也可以采用其他方式进行判断,如主机发送其他形式的标记指示信息、使用LBA其他bit携带标记指示信息等,其均属于本申请实施例的保护范围。
本申请实施例提供的可控数据加解密方法通过主机向存储装置发送数据读写的IO命令请求,根据IO命令可以控制每一个写入的IO数据是加密存储还是直接存储,也可以控制每一个读取的IO数据是读取解密数据,还是直接读取存储介质上的原始数据;将存储装置的加解密控制权上移,交给主机,达到了对数据进行加解密行为的精确控制,避免了数据只能以一种方式(明文方式或加密方式)进行存储或访问。还有,本申请提供的方法以IO粒度来控制数据的加解密,通过为每一个IO分配一个内部唯一标识,所有参与数据传输控制的模块或器件都使用该标识,以此来区分该IO对应的数据流,实现了数据传输的准确控制。另外,本申请提供的方法通过设置IO命令的LBA最高位值是否为1,来为IO数据流选择走加解密通路,还是不走加解密通路;如果LBA高位值为0,则走加解密通路,如果LBA高位值为1,则不走加解密通路,从而能够精确控制数据的存储与访问。
由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。
本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。
Claims (10)
1.一种可控数据加解密系统,其特征在于,包括:
主机,用于发起数据读写的IO命令请求;
主机接口,与所述主机的输出端连接,用于为所述IO命令请求分配唯一的命令标签;
存储装置,与所述主机接口的输出端连接,用于根据所述IO命令请求与命令标签选择对应的读写通路存储或读取数据。
2.根据权利要求1所述的系统,其特征在于,所述存储装置包括:
IO控制器,与所述主机接口的输出端信号连接,用于根据所述IO命令请求配置对应的多路分配参数,并同时计算管理数据写入或读取的存储位置;
主机直接存储器存取(主机DMA),与所述IO控制器连接,用于控制所述主机与存储装置的数据传输,并根据所述命令标签与多路分配参数控制数据读写通路的选择;
介质直接存储器存取(介质DMA),与所述IO控制器连接,用于控制数据在存储介质与读写通路之间传输;
存储介质,与所述介质DMA连接,用于储存数据。
3.根据权利要求2所述的系统,其特征在于,所述数据读写通路包括数据写入通路与数据读取通路,其中,
所述数据写入通路包括加密通路与旁路加密通路,所述数据读取通路包括解密通路与旁路解密通路。
4.根据权利要求3所述的系统,其特征在于,所述存储装置还包括:
写入多路分配器,与所述主机DMA连接,用于根据所述多路分配参数分配相应的数据写入通路;
加密引擎,设置在加密通路上,与所述写入多路分配器连接,用于对选择加密通路的数据进行加密,并将加密数据传输至所述介质DMA;
读取多路分配器,与所述主机DMA连接,用于根据所述多路分配参数分配相应的数据读取通路;
解密引擎,设置在解密通路上,与所述读取多路分配器连接,用于对选择解密通路的数据进行解密,并将解密数据传输至所述主机DMA。
5.一种可控数据加解密方法,其特征在于,所述方法包括:
主机向存储装置发送数据读写的IO命令请求;
主机接口为所述IO命令请求分配唯一的命令标签,并将所述IO命令请求与命令标签发送至所述存储装置;
所述存储装置根据所述IO命令请求与命令标签选择对应的数据读写通路,并通过所述读写通路存储或读取数据。
6.根据权利要求5所述的方法,其特征在于,所述主机向存储装置发送数据读写的IO命令请求,包括:
所述主机向所述存储装置发送数据读写的IO命令请求;
设定所述IO命令请求对应的LBA高位值为0或1。
7.根据权利要求6所述的方法,其特征在于,所述存储装置根据所述IO命令请求与命令标签选择对应的数据读写通路,包括:
所述主机接口将所述IO命令请求与命令标签上报至IO控制器;
所述IO控制器配置针对所述IO命令请求的多路分配参数,主机DMA根据所述多路分配参数控制数据选择对应的读写通路。
8.根据权利要求7所述的方法,其特征在于,所述主机DMA根据所述多路分配参数控制数据选择对应的读写通路,包括:
所述IO控制器检测所述LBA高位值是否为1;
若是,则所述主机DMA根据所述多路分配参数控制数据选择旁路加解密通路传输;
若否,则所述主机DMA根据所述分配参数控制数据选择加解密通路输入输出。
9.根据权利要求8所述的方法,其特征在于,所述主机DMA根据所述多路分配参数控制数据选择对应的读写通路,还包括:
所述IO控制器向所述主机DMA发送针对所述命令标签的数据读写请求;
所述主机DMA根据所述数据读写请求控制对应的IO数据通过对应的读写通路输入输出。
10.根据权利要求9所述的方法,其特征在于,所述通过所述读写通路存储或读取数据,包括:
所述IO控制器向介质DMA发起数据读写请求;
所述介质DMA根据所述数据读写请求,将所述IO数据通过对应的写入通路存储至存储介质上,或者将所述IO数据通过对应的读取通路由存储介质读取出来。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711465809.1A CN108197504B (zh) | 2017-12-28 | 2017-12-28 | 一种可控数据加解密系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711465809.1A CN108197504B (zh) | 2017-12-28 | 2017-12-28 | 一种可控数据加解密系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108197504A true CN108197504A (zh) | 2018-06-22 |
CN108197504B CN108197504B (zh) | 2022-01-11 |
Family
ID=62585733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711465809.1A Active CN108197504B (zh) | 2017-12-28 | 2017-12-28 | 一种可控数据加解密系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108197504B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726566A (zh) * | 2018-11-22 | 2019-05-07 | 成都海光集成电路设计有限公司 | 基于安全内存加密技术的加密系统和加密方法 |
CN112199712A (zh) * | 2020-11-03 | 2021-01-08 | 湖南国科微电子股份有限公司 | 一种数据加解密方法、系统、设备及存储介质 |
WO2021048700A1 (en) * | 2019-09-11 | 2021-03-18 | International Business Machines Corporation | Concurrent enablement of encryption on an operational path at a storage port |
US11188659B2 (en) | 2019-09-11 | 2021-11-30 | International Business Machines Corporation | Concurrent enablement of encryption on an operational path at a host port |
CN113722248A (zh) * | 2021-07-28 | 2021-11-30 | 湖南国科微电子股份有限公司 | 命令处理方法及命令处理装置 |
US11308243B2 (en) | 2019-09-11 | 2022-04-19 | International Business Machines Corporation | Maintenance of access for security enablement in a storage device |
US11354455B2 (en) | 2019-09-11 | 2022-06-07 | International Business Machines Corporation | Maintenance of access for security enablement on a host system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054137A (zh) * | 2009-11-10 | 2011-05-11 | 美信集成产品公司 | 用于集成微控制器和外部存储系统的块加密安全 |
CN103377161A (zh) * | 2012-04-24 | 2013-10-30 | 鸿富锦精密工业(深圳)有限公司 | 主板及应用于该主板的数据处理方法 |
CN103383668A (zh) * | 2012-05-04 | 2013-11-06 | 三星电子株式会社 | 片上系统、操作片上系统的方法和包括片上系统的设备 |
CN106034022A (zh) * | 2015-03-12 | 2016-10-19 | 中国科学院上海高等研究院 | Cbc模式下的aes加解密装置及方法 |
-
2017
- 2017-12-28 CN CN201711465809.1A patent/CN108197504B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054137A (zh) * | 2009-11-10 | 2011-05-11 | 美信集成产品公司 | 用于集成微控制器和外部存储系统的块加密安全 |
CN103377161A (zh) * | 2012-04-24 | 2013-10-30 | 鸿富锦精密工业(深圳)有限公司 | 主板及应用于该主板的数据处理方法 |
CN103383668A (zh) * | 2012-05-04 | 2013-11-06 | 三星电子株式会社 | 片上系统、操作片上系统的方法和包括片上系统的设备 |
CN106034022A (zh) * | 2015-03-12 | 2016-10-19 | 中国科学院上海高等研究院 | Cbc模式下的aes加解密装置及方法 |
Non-Patent Citations (1)
Title |
---|
索艳滨: "基于SATA2.0的可配置加解密系统设计与调试", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726566A (zh) * | 2018-11-22 | 2019-05-07 | 成都海光集成电路设计有限公司 | 基于安全内存加密技术的加密系统和加密方法 |
WO2021048700A1 (en) * | 2019-09-11 | 2021-03-18 | International Business Machines Corporation | Concurrent enablement of encryption on an operational path at a storage port |
US11188658B2 (en) | 2019-09-11 | 2021-11-30 | International Business Machines Corporation | Concurrent enablement of encryption on an operational path at a storage port |
US11188659B2 (en) | 2019-09-11 | 2021-11-30 | International Business Machines Corporation | Concurrent enablement of encryption on an operational path at a host port |
US11308243B2 (en) | 2019-09-11 | 2022-04-19 | International Business Machines Corporation | Maintenance of access for security enablement in a storage device |
US11354455B2 (en) | 2019-09-11 | 2022-06-07 | International Business Machines Corporation | Maintenance of access for security enablement on a host system |
GB2602234A (en) * | 2019-09-11 | 2022-06-22 | Ibm | Concurrent enablement of encryption on an operational path at a storage port |
GB2602234B (en) * | 2019-09-11 | 2022-10-12 | Ibm | Concurrent enablement of encryption on an operational path at a storage port |
CN112199712A (zh) * | 2020-11-03 | 2021-01-08 | 湖南国科微电子股份有限公司 | 一种数据加解密方法、系统、设备及存储介质 |
CN113722248A (zh) * | 2021-07-28 | 2021-11-30 | 湖南国科微电子股份有限公司 | 命令处理方法及命令处理装置 |
CN113722248B (zh) * | 2021-07-28 | 2023-08-22 | 湖南国科微电子股份有限公司 | 命令处理方法及命令处理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108197504B (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108197504A (zh) | 一种可控数据加解密系统及方法 | |
US9225693B2 (en) | Major management apparatus, authorized management apparatus, electronic apparatus for delegation management, and delegation management methods thereof | |
US7882291B2 (en) | Apparatus and method for operating plural applications between portable storage device and digital device | |
CN102024128B (zh) | 用于数字版权管理的设备和方法 | |
CN1734475B (zh) | 半导体集成电路和信息处理设备 | |
CN101488110A (zh) | 加密存储的方法、装置和系统 | |
CN101443755A (zh) | 用于发行使用数字内容所需的权限对象的方法和设备 | |
CN101587524A (zh) | 一种基于虚拟系统的数据存储设备加密方法 | |
CN104252375A (zh) | 用于位于不同主机的多个虚拟机共享USB Key的方法和系统 | |
KR20100100649A (ko) | 비휘발성 메모리에 데이터를 기록하고 이로부터 데이터를 판독하기 위한 데이터 화이트닝 | |
CN104424016A (zh) | 用于自加密驱动器的虚拟带集中 | |
CN105283921A (zh) | 非易失性存储器的操作 | |
JP2007328619A (ja) | メモリシステム | |
CN109726575A (zh) | 一种数据加密方法及装置 | |
CN107092835A (zh) | 一种虚拟存储盘的计算机数据加密装置及方法 | |
WO2006075896A1 (en) | Host device, portable storage device, and method for updating meta information regarding right objects stored in portable storage device | |
CN109840434A (zh) | 一种基于国密芯片的安全存储方法 | |
CN106970889B (zh) | 一种sata桥接芯片及其工作方法 | |
US9411984B2 (en) | Cryptographic processing apparatus, cryptographic processing system, and cryptographic processing method | |
CN109726566A (zh) | 基于安全内存加密技术的加密系统和加密方法 | |
US20080263368A1 (en) | Computer system, management terminal, storage system and encryption management method | |
CN114357423A (zh) | 一种基于透明加密的数据安全管理系统、计算机设备及终端 | |
CN110032529A (zh) | 一种内存管理方法及相关装置 | |
KR20090059602A (ko) | 세션 메모리 버스를 구비한 암호화 장치 | |
US8345868B2 (en) | Data transfer system, data transfer method, data transmission device and data receiving device |
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 |