一种密码卡以及数据存储系统

文档序号:1599092 发布日期:2020-01-07 浏览:21次 >En<

阅读说明:本技术 一种密码卡以及数据存储系统 (Password card and data storage system ) 是由 徐洪志 于 2019-09-29 设计创作,主要内容包括:本申请公开了一种密码卡,应用于存储设备,包括FPGA芯片,以及与FPGA芯片相连的指纹计算芯片;指纹计算芯片用于对FPGA芯片获取的目标数据进行指纹计算获得目标指纹数据,并通过FPGA芯片将目标指纹数据上传至存储设备;存储设备用于将目标指纹数据与指纹库中的各指纹数据进行匹配,若匹配通过,对目标数据对应的LBA和PBA元数据进行更新;若匹配不通过,发送加密指令至FPGA芯片;FPGA芯片用于获取目标数据,以及根据加密指令对目标数据进行加密处理获得加密数据;该密码卡有效避免了对数据信息的重复加密,减少资源浪费,提高加密存储效率。本申请还公开了一种数据存储系统,也具有上述有益效果。(The application discloses a password card, which is applied to storage equipment and comprises an FPGA chip and a fingerprint calculation chip connected with the FPGA chip; the fingerprint calculation chip is used for performing fingerprint calculation on the target data acquired by the FPGA chip to acquire target fingerprint data and uploading the target fingerprint data to the storage device through the FPGA chip; the storage device is used for matching the target fingerprint data with each fingerprint data in the fingerprint database, and updating the LBA and PBA metadata corresponding to the target data if the matching is passed; if the matching fails, sending an encryption instruction to the FPGA chip; the FPGA chip is used for acquiring target data and encrypting the target data according to the encryption instruction to acquire encrypted data; the password card effectively avoids repeated encryption of data information, reduces resource waste and improves encryption storage efficiency. The application also discloses a data storage system, which also has the beneficial effects.)

一种密码卡以及数据存储系统

技术领域

本申请涉及数据安全技术领域,特别涉及一种密码卡,还涉及一种数据存储系统。

背景技术

在信息时代,企业及个人越来越重视数据的安全和隐私,对数据进行加密存储是很多用户的需求和发展趋势。

目前,市面上有加密卡,也有集成到存储系统里面的软件加密,国内的存储设备如果要进行数据加密存储,必须使用国密认证的密码卡或加密机等硬件设备。然而,随着大数据的发展,数据量呈爆发式增长,其中不乏大量的重复数据,在使用密码卡对数据信息进行加密的过程中,则会出现大量加密重复数据的情况,不仅造成了严重的计算资源浪费,也极大地降低了加密存储效率。

因此,如何有效避免对重复数据进行加密存储,减少资源浪费,提高加密存储效率是本领域技术人员亟待解决的问题。

发明内容

本申请的目的是提供一种密码卡,该密码卡在对数据信息进行加密的过程中,可以有效避免加密重复数据,极大地减少了计算资源的浪费,进一步提高了加密存储效率;本申请的另一目的是提供一种数据存储系统,也具有上述有益效果。

为解决上述技术问题,本申请提供了一种密码卡,应用于存储设备,包括FPGA芯片,以及与所述FPGA芯片相连的指纹计算芯片;

所述指纹计算芯片,用于对所述FPGA芯片获取的目标数据进行指纹计算,获得目标指纹数据,并通过所述FPGA芯片将所述目标指纹数据上传至所述存储设备;

所述存储设备,用于将所述目标指纹数据与指纹库中的各指纹数据进行匹配,当匹配通过时,对所述目标数据对应的LBA和PBA元数据进行更新;当匹配不通过时,发送加密指令至所述FPGA芯片;

所述FPGA芯片,用于获取所述目标数据;以及根据所述加密指令对所述目标数据进行加密处理获得加密数据。

优选的,所述密码卡还包括EPCS-x芯片,用于存储所述FPGA芯片的配置信息。

优选的,所述FPGA芯片设置有PCIe-IP核,用于获取PCIE总线下发的所述目标数据。

优选的,所述密码卡还包括EPCS-x还包括密码芯片,则所述FPGA芯片具体用于利用所述密码芯片对所述目标数据进行加密处理,获得所述加密数据。

优选的,所述密码卡还包括EEPROM,用于存储密钥信息。

优选的,所述FPGA芯片设置有RAM,用于缓存所述目标数据、所述目标指纹数据以及所述加密数据。

优选的,所述FPGA芯片还用于根据获取的数据读取请求判断所述RAM中是否缓存有目标读取数据,若是,则将所述目标读取数据反馈至终端设备,若否,则将所述数据读取请求转发至所述存储设备,以获得所述存储设备反馈的目标加密数据,通过所述密码芯片对所述目标加密数据进行解密处理,获得所述目标读取数据,并将所述目标读取数据反馈至所述终端设备。

优选的,所述存储设备还用于接收并落盘所述FPGA芯片上传的所述加密数据,并对所述加密数据对应的LBA和PBA元数据进行更新。

优选的,所述存储设备还用于将所述加密数据对应的目标指纹数据添加至所述指纹库。

为解决上述技术问题,本申请还提供了一种数据存储系统,包括如上所述的任意一种密码卡和存储设备。

本申请所提供的一种密码卡,所述密码卡应用于存储设备,包括FPGA芯片,以及与所述FPGA芯片相连的指纹计算芯片;所述指纹计算芯片,用于对所述FPGA芯片获取的目标数据进行指纹计算,获得目标指纹数据,并通过所述FPGA芯片将所述目标指纹数据上传至所述存储设备;所述存储设备,用于将所述目标指纹数据与指纹库中的各指纹数据进行匹配,当匹配通过时,对所述目标数据对应的LBA和PBA元数据进行更新;当匹配不通过时,发送加密指令至所述FPGA芯片;所述FPGA芯片,用于获取所述目标数据;以及根据所述加密指令对所述目标数据进行加密处理获得加密数据。

可见,本申请所提供的密码卡,增设有指纹计算芯片,通过指纹计算芯片对FPGA芯片获取的目标数据进行指纹计算,并将其对应的目标指纹数据上传至存储设备进行数据重复判断,即判断自身指纹库中是否存在与目标指纹数据相同的指纹数据,若相同,则说明目标数据为重复数据,无需对其进行落盘处理,只需更新目标数据对应的LBA和PBA元数据,若不同,则说明不是重复数据,则进行正常的数据加密即可,由此可见,将数据重删功能集成于密码卡中,在利用密码卡在对数据信息进行加密的过程中,可以有效避免加密重复数据,极大地减少了计算资源的浪费,进一步提高了加密存储效率。

本申请所提供的一种数据存储系统,也具有上述有益效果,在此不再赘述。

附图说明

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

图1为本申请所提供的一种密码卡的结构示意图;

图2为本申请所提供的另一种密码卡的结构示意图;

图3为本申请所提供的一种数据存储方法的流程示意图;

图4为本申请所提供的一种数据读取方法的流程示意图。

具体实施方式

本申请的核心是提供一种密码卡,该密码卡在对数据信息进行加密的过程中,可以有效避免加密重复数据,极大地减少了计算资源的浪费,进一步提高了加密存储效率;本申请的另一核心是提供一种数据存储系统,也具有上述有益效果。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

目前,市面上有加密卡,也有集成到存储系统里面的软件加密,国内的存储设备如果要进行数据加密存储,必须使用国密认证的密码卡或加密机等硬件设备。然而,随着大数据的发展,数据量呈爆发式增长,其中不乏大量的重复数据,在使用密码卡对数据信息进行加密的过程中,则会出现大量加密重复数据的情况,不仅造成了严重的计算资源浪费,也极大地降低了加密存储效率。因此,为解决上述问题,本申请提供了一种密码卡,该密码卡在对数据信息进行加密的过程中,可以有效避免加密重复数据,极大地减少了计算资源的浪费,进一步提高了加密存储效率。

请参考图1,图1为本申请所提供的一种密码卡的结构示意图,该密码卡10应用于存储设备20,可以包括FPGA芯片11,以及与FPGA(Field-Programmable Gate Array,现场可编程门阵列)芯片11相连的指纹计算芯片12;

指纹计算芯片12,用于对FPGA芯片11获取的目标数据进行指纹计算,获得目标指纹数据,并通过FPGA芯片11将目标指纹数据上传至存储设备20;

存储设备20,用于将目标指纹数据与指纹库中的各指纹数据进行匹配,当匹配通过时,对目标数据对应的LBA(Logical Block Address)和PBA(Physics Block Address)元数据进行更新;当匹配不通过时,发送加密指令至FPGA芯片11;

FPGA芯片11,用于获取目标数据;以及根据加密指令对目标数据进行加密处理获得加密数据。

具体的,FPGA芯片11与指纹计算芯片12集成于密码卡10中,且二者相连,将密码卡10应用于存储设备20中,存储设备20与FPGA芯片11进行直接的数据通信,其中,存储设备20可用于实现数据信息的存储,密码卡10则可用于对数据信息进行加解密处理。

一般的,数据重删功能可以划分为4个子模块,即数据分块子模块、指纹计算子模块、指纹匹配子模块以及数据存储子模块,其中,最耗费计算资源的为指纹计算子模块。因此,在本申请中,将指纹计算功能集成于密码卡10中,即上述指纹计算芯片12。

由此,在利用密码卡对数据信息进行加密处理的过程中,密码卡10通过FPGA芯片11接收待存储的数据信息,即上述目标数据,并由指纹计算芯片12对目标数据进行指纹计算,获得对应的目标指纹数据。进一步,FPGA芯片11将目标指纹数据上传至存储设备20,由存储设备20对其进行指纹匹配,具体而言,该存储设备20中预设有指纹库,用于存储自身已经存储的数据信息对应的指纹数据,可以想到的是,存储设备20中已经存储的数据信息不存在重复数据,由此,存储设备20将目标指纹数据与指纹库中的各个指纹数据进行逐一匹配,若匹配通过,则说明目标数据为重复的已经被存储过的数据,此时无需对其进行重复加密和存储,只需对其对应的LBA和PBA元数据进行更新,无需进行落盘处理,如此,有效避免了重复数据的加密和存储;反之,若目标指纹数据与指纹库中的各个指纹数据均未匹配通过,则说明该目标数据不是已经被存储过的重复数据,此时,则向FPGA芯片11下发加密指令,以使FPGA芯片11对目标数据进行加密处理,获得相应的加密数据,至此,即实现了数据信息的重删加密。

本申请实施例所提供的密码卡,增设有指纹计算芯片,通过指纹计算芯片对FPGA芯片获取的目标数据进行指纹计算,并将其对应的目标指纹数据上传至存储设备进行数据重复判断,即判断自身指纹库中是否存在与目标指纹数据相同的指纹数据,若相同,则说明目标数据为重复数据,无需对其进行落盘处理,只需更新目标数据对应的LBA和PBA元数据,若不同,则说明不是重复数据,则进行正常的数据加密即可,由此可见,将数据重删功能集成于密码卡中,在利用密码卡在对数据信息进行加密的过程中,可以有效避免加密重复数据,极大地减少了计算资源的浪费,进一步提高了加密存储效率。

在上述各实施例的基础上:

作为一种优选实施例,该密码卡还可以包括EPCS-x(Erasable programmableconfigurable serial,串行存储器),用于存储FPGA芯片的配置信息。

具体的,在密码卡的使用过程中,需要对FPGA芯片进行相应的配置,具体可通过设置相应的配置参数实现,因此,可以增设EPCS-x芯片,用于实现FPGA芯片配置信息的存储,在每次上电后,FPGA芯片即可直接读取EPCS-x芯片内容完成配置信息的加载;并且,该EPCS-x芯片可支持EPCS1、EPCS4和EPCS16等,EPCS1、EPCS4、EPCS16为1Mbits、4Mbits、16Mbits的Altera专用配置芯片。

作为一种优选实施例,FPGA芯片设置有PCIe-IP核,用于获取PCIE总线下发的目标数据。

具体的,对于FPGA芯片与存储设备之间的数据通信,可通过PCIe-IP核实现,即将PCIe-IP核内嵌于FPGA芯片中,实现与PCIE总线的连接,由此,即可实现FPGA芯片与存储设备之间各类数据信息以及各类数据请求的传输,如明文数据、密文数据、数据读取请求、数据写入请求等。

作为一种优选实施例,该密码卡还可以包括EPCS-x还包括密码芯片,则FPGA芯片具体用于利用密码芯片对目标数据进行加密处理,获得加密数据。

具体的,为实现对目标数据的加密处理,可增设密码芯片,由此,即可利用密码芯片对目标数据进行加密处理,相较于直接将加密算法嵌入至FPGA芯片中,该种实现方式更加便于更新加密方式,即只需直接更换密码芯片,无需重新刷写加密算法,方便快捷。

作为一种优选实施例,该密码卡还可以包括EEPROM,用于存储密钥信息。

具体的,还可以增设EEPROM,相当于片外存储器,可用于存储密码卡的密钥信息,以便实现对目标数据的加密处理。当然,EEPROM中的存储信息并不仅限于密钥信息,同样可用于存储密码卡在使用过程中使用的其他数据信息,本申请对此不做限定。

作为一种优选实施例,FPGA芯片设置有RAM(Random Access Memory,随机存取存储器),用于缓存目标数据、目标指纹数据以及加密数据。

具体的,在FPGA芯片中内嵌RAM,以实现各类数据信息的缓存处理,其中,被缓存的数据信息可以包括目标数据、目标指纹数据以及加密数据等。另外,还可以对RAM进行分区,以实现数据信息的分类存储,例如,将RAM分为RAM-A区和RAM-B区,由RAM-A区存储目标数据,由RAM-B区存储加密数据,更加便于进行数据处理。

作为一种优选实施例,FPGA芯片还用于根据获取的数据读取请求判断RAM中是否缓存有目标读取数据,若是,则将目标读取数据反馈至终端设备,若否,则将数据读取请求转发至存储设备,以获得存储设备反馈的目标加密数据,通过密码芯片对目标加密数据进行解密处理,获得目标读取数据,并将目标读取数据反馈至终端设备。

在本优选实施例中,密码卡不仅可用于实现数据信息的存储,还可实现存储设备中存储数据的读取。具体的,当需要进行数据信息读取时,用户可通过终端设备发起数据读取请求,当密码卡接收到数据读取请求后,即可读取自身缓存,以确定自身是否缓存有该数据读取请求对应的目标读取数据,如果有,则可直接将其反馈至终端设备,完成数据读取;反之,如果自身缓存并不存在目标读取数据,则可以将数据读取请求转发至存储设备,由存储设备对自身存储的数据信息进行查询,以获得目标加密数据,当然,该目标加密数据即为目标读取数据的加密数据,通过密码芯片进行解密处理,即可获得目标读取数据,最后,由FPGA芯片将目标读取数据反馈至终端设备即可。

作为一种优选实施例,存储设备还用于接收并落盘FPGA芯片上传的加密数据,并对加密数据对应的LBA和PBA元数据进行更新。

具体的,在利用密码卡完成对目标数据的加密获得加密数据后,还可将加密数据上传至存储设备进行存储,相应的,对其对应的LBA和PBA元数据进行更新即可。

作为一种优选实施例,存储设备还用于将加密数据对应的目标指纹数据添加至指纹库。

具体的,对于指纹未匹配通过的目标数据,也即非重复数据,在完成存储后,还可将其对应的目标指纹数据添加至指纹库中,从而避免该目标数据在后续数据加密处理流程中被重复加密。

在上述各个实施例的基础上,本申请实施例提出了一种更为具体的密码卡,请参考图2,图2为本申请所提供的另一种密码卡的结构示意图。

具体的,该密码卡包括FPGA芯片、加密算法芯片(图2所示密码芯片)、重删指纹计算算法芯片(图2所示指纹计算芯片)、FPGA配置芯片EPCS-x、存储器EEPROM以及电源芯片。其中,FPGA芯片是整个密码卡的控制核心,在其内部利用嵌入式PCIe-IP核实现与存储设备的PCIe总线通信;调度状态机用于实现FPGA芯片与密码芯片和指纹计算芯片之间的数据交互;DMA(Direct Memory Access,直接存储器访问)控制器和RAM用于实现数据的传输与存储,将DMA控制器和RAM共同作为数据传输单元,不再依赖CPU的大量中断负载,有效提高了系统的整体性能;EPCS-x芯片用于保存FPGA芯片的配置信息;EEPROM则用于保存密码卡的密钥等信息。

另外,将RAM分成两个分区,即2个4KB的RAM单元组成(RAM-A分区和RAM-B分区),RAM-A分区中始终为明文数据,指纹计算芯片使用RAM-A分区作为数据缓冲区,加密芯片则可同时使用RAM-A分区和RAM-B分区作为数据缓存区,当然,在本申请中,将RAM-B分区作为加密芯片的数据缓存区。

以下对基于该密码卡的数据存储(写入)流程和数据读取流程进行详细介绍:

1、数据存储流程:

请参考图3,图3为本申请所提供的一种数据存储方法的流程示意图。

对于写IO请求(数据存储请求),首先,存储设备将IO(目标数据)按照固定大小进行分块,并将分块后的数据通过PCIe总线传入FPGA芯片的RAM;进一步,当目标数据传输到RAM-A分区后,FPGA芯片会启动调度控制机,由调度控制机命令指纹计算芯片对RAM-A区的目标数据进行读取并进行指纹计算,之后将获得的目标指纹数据(figure-data)回传到存储设备;进一步,存储设备将目标指纹数据与指纹库中的各个指纹数据进行匹配,若匹配,说明是重复数据,直接更改LBA和PBA的映射关系元数据即可,无需落盘,至此,该写IO流程结束;若不匹配,则在存储设备指纹库中增加该目标指纹数据,并请求密码卡对目标数据进行加密处理,此时,FPGA芯片再次启动调度控制机,由调度控制器命令密码芯片对RAM-A分区的数据进行加密,获得加密数据,并将其回传至RAM-B分区,最后,由FPGA芯片将RAM-B分区中的加密数据上传至存储设备,至此,完成数据信息的重删和加密,实现加密存储。

2、数据读取流程:

请参考图4,图3为本申请所提供的一种数据读取方法的流程示意图。

对于读IO请求(数据读取请求),首先,存储设备向FPGA芯片发起数据读取请求,FPGA芯片先在RAM-A分区中查找目标读取数据是否存在,若命中,则直接将其通过PCIe总线回传到主机,否则,FPGA芯片将数据读取请求转发至存储设备,请求读取IO栈更下层的数据;进一步,待存储设备完成读取,即可将目标加密数据通过PCIe总线传输到FPGA芯片的RAM-B分区,此时,FPGA芯片会启动调度控制机,由调度控制机命令加密芯片对RAM-B分区中的目标加密数据进行解密,获得目标读取数据,进而将其回传至RAM-A分区,最后再由FPGA芯片通过PCIe总线将RAM-A分区中的目标读取数据回传至主机,至此,完成数据信息的解密处理,实现数据读取。

本申请实施例所提供的密码卡,增设有指纹计算芯片,通过指纹计算芯片对FPGA芯片获取的目标数据进行指纹计算,并将其对应的目标指纹数据上传至存储设备进行数据重复判断,即判断自身指纹库中是否存在与目标指纹数据相同的指纹数据,若相同,则说明目标数据为重复数据,无需对其进行落盘处理,只需更新目标数据对应的LBA和PBA元数据,若不同,则说明不是重复数据,则进行正常的数据加密即可,由此可见,将数据重删功能集成于密码卡中,在利用密码卡在对数据信息进行加密的过程中,可以有效避免加密重复数据,极大地减少了计算资源的浪费,进一步提高了加密存储效率。

为解决上述问题,本申请还提供了一种数据存储系统,包括如上所述的任意一种密码卡以及存储设备。

对于本申请提供的系统的介绍请参照上述方法实施例,本申请在此不做赘述。

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

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

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

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

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:AI摄像头授权方法、用户终端及计算机可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类