加密数据搜索方法及可加密搜索的数据存储系统与流程

文档序号:14967415发布日期:2018-07-20 11:09阅读:232来源:国知局

本发明涉及信息搜索方法及系统,尤其涉及一种加密数据搜索方法及可加密搜索的数据存储系统。



背景技术:

当今世界已经逐步进入大数据信息时代,诸多公司、单位和机构每天都要通过互联网接收、处理以及发送大量信息。由商业、民事及他人类活动所产生的海量数据对存储技术提出了越来越高的要求,并使得云服务——包括数据存储外包服务,成为一种迫切需求。在云计算模式下,数据中的个人隐私信息在传输、存储和处理过程中都会有被泄露的可能性,因此,外包数据的安全性和隐秘性成为了云服务的重要研究方向。

现有技术中典型的解决云服务的数据安全问题的方案是采用加密技术对数据全文加密,将数据全文加密后存储至云服务端。然而,普通的加密技术对数据全文进行加密处理之后,难以运用密文进行研究,密文状态的数据无法进行数据搜索服务,造成性能严重下降等问题。为了搜索需要的数据,必须对加密数据解密以进行关键字搜索,增加编程复杂度,同时,解密搜索过程在云操作系统中进行,安全性低,数据隐秘性不可控,而且搜索速率低下。

鉴于此,有必要提供一种可解决上述缺陷的可对加密数据不解密进行搜索、操作简单、数据处理安全性高、效率高的加密数据搜索方法及可加密搜索的数据存储系统。



技术实现要素:

本发明所要解决的一个技术问题是提供一种操作简单的加密数据搜索方法以对加密数据不解密进行搜索,提高数据处理安全性及效率。

本发明所要解决的另一个技术问题是提供一种可加密搜索的数据存储系统以对加密数据不解密进行搜索,提高数据处理的安全性。

为解决上述技术问题,本发明采用如下所述的技术方案:一种加密数据搜索方法,其包括以下步骤:

浏览器获取用户输入的搜索关键字;

代理服务器根据搜索关键字生成搜索请求并将其发送至云端服务器;

云端服务器的云操作系统接收并发送搜索请求至存储设备的数据存储控制器;

数据存储控制器根据获得的搜索请求,获取与搜索关键字相关的对应参数,对加密数据进行关键字搜索,获取与搜索关键字匹配的加密数据,并将获得的与搜索关键字匹配的加密数据通过云操作系统发送至代理服务器。

其进一步技术方案为:所述浏览器获取用户输入的搜索关键字前包括系统初始化操作,其包括如下步骤:

代理服务器生成密钥标签,并为其预设相应的密钥标签值;

代理服务器生成第一密钥、第二密钥及关键字计数器字典,根据所述第二密钥及关键字计数器字典获取计数器字典密文,并将获得的计数器字典密文发送至云端服务器的云操作系统;

云操作系统将接收到的计数器字典密文发送至存储设备的数据存储控制器以将计数器字典密文保存于存储设备;

数据存储控制器生成地址字典、标识符字典及召回标识符集合。

其进一步技术方案为:所述代理服务器根据搜索关键字生成搜索请求并将其发送至云端服务器包括:代理服务器根据所述搜索关键字、第一密钥及密钥标签值获取派生密钥,发送搜索请求指令及派生密钥至云端服务器。

其进一步技术方案为:所述数据存储控制器获取与搜索关键字相关的对应参数,对加密数据进行关键字搜索,获取与搜索关键字匹配的加密数据,并将获得的与搜索关键字匹配的加密数据通过云操作系统发送至代理服务器包括:

步骤s51,数据存储控制器初始设置关键字计数器为0及匹配列表为空;

步骤s52,数据存储控制器根据关键字计数器及派生密钥,判断与所述搜索关键字关联的标识符是否存在;若不存在,停止搜索,发送匹配列表至代理服务器,执行步骤s54;

步骤s52.1,若与搜索关键字关联的标识符存在,判断所述标识符是否具有对应的数据地址,获取与搜索关键字关联且具有对应数据地址的标识符,并将其加入匹配列表,执行步骤s53;

步骤s53,数据存储控制器将关键字计数器的值加1,继续执行步骤s52;

步骤s54,代理服务器根据接收到的匹配列表,获取所有与搜索关键字关联且具有对应数据地址的标识符。

其进一步技术方案为:所述步骤s52.1中的获取与搜索关键字关联且具有对应数据地址的标识符,并将其加入匹配列表,执行步骤s53包括:

数据存储控制器获取与搜索关键字关联且具有对应数据地址的标识符,根据所述标识符及派生密钥,判断该标识符是否已召回,若是,直接执行步骤s53;否则,将所述标识符加入匹配列表,执行步骤s53。

其进一步技术方案为:所述系统初始化操作后还包括关键字添加操作,其包括如下步骤:

浏览器获取用户输入的需添加关键字的标识符及添加关键字;

代理服务器从云端服务器同步下载计数器字典密文,并将其解密还原为关键字计数器字典;

代理服务器根据所述第一密钥、添加关键字、需添加关键字的标识符及关键字计数器字典,获取与添加关键字及标识符相关的加密信息并发送至云端服务器;

数据存储控制器根据接收到的加密信息,检测判断具有添加关键字且标识符相同的数据是否已召回,若是,则在召回标识符集合中删除该数据的信息,并发送判断结果至代理服务器;否则,更新所述标识符字典,并发送判断结果至代理服务器;

代理服务器根据接收到的判断结果,更新所述关键字计数器字典,利用第二密钥对关键字计数器字典进行加密,获取计数器字典密文,并将其发送至云端服务器保存。

其进一步技术方案为:所述关键字添加操作中,所述代理服务器根据所述第一密钥、添加关键字、需添加关键字的标识符及关键字计数器字典,获取与添加关键字及标识符相关的加密信息并发送至云端服务器包括:

代理服务器根据所述第一密钥及添加关键字,结合密钥标签值,获取与密钥标签对应的派生密钥;

代理服务器根据所述关键字计数器字典、添加关键字、需添加关键字的标识符及派生密钥,获取与添加关键字及标识符相关的加密信息并发送至云端服务器。

其进一步技术方案为:所述系统初始化操作后还包括关键字删除操作,其包括如下步骤:

浏览器获取用户输入的关键字删除信息;

代理服务器根据接收到的关键字删除信息获取召回标识符密文并发送至云端服务器;

数据存储控制器将接收到的召回标识符密文存储至召回标识符集合。

为解决上述技术问题,本发明还提供了一种可加密搜索的数据存储系统,其包括有浏览器,用于为用户提供交互界面;代理服务器,用于接收并发送用户上传的加密数据;用于接收用户输入的搜索关键字,根据搜索关键字生成搜索请求;用于接收搜索结果;云端服务器,用于接收并存储所述代理服务器发送的加密数据;用于接收代理服务器发送的搜索请求,根据搜索请求,获取并发送搜索结果至所述代理服务器;所述云端服务器包括云操作系统及存储设备,所述代理服务器通过云操作系统与存储设备进行数据传递,所述存储设备包括一数据存储控制器,所述云操作系统用于接收代理服务器发送的加密数据并将其传送至数据存储控制器;用于接收并传送搜索请求至数据存储控制器;所述数据存储控制器用于根据接收到的加密数据,控制加密数据保存于存储设备中;用于根据获得的搜索请求,对存储设备的加密数据进行关键字搜索,获取搜索结果并通过云操作系统发送至代理服务器。

其进一步技术方案为:所述云端服务器运行于云服务数据中心,所述浏览器及代理服务器运行于企业或者家庭内部。

其进一步技术方案为:所述代理服务器为web应用程序。

本发明的有益技术效果在于:本发明加密数据搜索方法,操作简单,利用数据存储控制器进行关键字搜索,实现将涉及数据搜索的运算分流到存储设备中进行,提高了数据搜索的效率及安全性,无需对加密数据进行解密,提高系统的保密性。本发明可加密搜索的数据存储系统通过于云端服务器的存储设备中设置一数据存储控制器来协助存储设备的数据存储工作,并承担存储设备的数据搜索工作,实现将涉及数据搜索的运算分流到存储设备中进行,提高了数据搜索的安全性及效率。

附图说明

图1是本发明可加密搜索的数据存储系统的框架原理图。

图2是本发明加密数据搜索方法的流程原理图。

图3是本发明加密数据搜索方法的一具体实施例流程图。

图4是本发明加密数据搜索方法的关键字添加操作的流程图。

图5是本发明加密数据搜索方法的关键字删除操作的流程图。

具体实施方式

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

参照图1,本发明可加密搜索的数据存储系统10包括浏览器11、代理服务器12及云端服务器13。所述浏览器11用于为用户提供交互界面,以实现用户与系统10之间的交互。所述代理服务器12用于接收用户于浏览器11上传的加密数据,并将所述加密数据发送至所述云端服务器13;用于接收用户于浏览器11输入的搜索关键字,根据所述搜索关键字生成搜索请求,并将搜索请求发送至云端服务器13;用于接收搜索结果。其中,所述搜索结果为与搜索关键字匹配的加密数据。在本实施例中,所述代理服务器12可将接收到的搜索结果发送至浏览器11,以显示搜索结果。

所述云端服务器13用于接收并存储所述代理服务器发送的加密数据;用于接收代理服务器发送的搜索请求,根据所述搜索请求获取与搜索关键字相关的对应参数,对加密数据进行关键字搜索,获取与搜索关键字匹配的加密数据并将其发送至代理服务器12。

所述云端服务器13包括云操作系统131及存储设备132,所述代理服务器12通过云操作系统131与存储设备132进行数据传递,所述存储设备132包括一数据存储控制器1321,所述云操作系统131用于接收代理服务器12发送的加密数据并将其传送至数据存储控制器1321;用于接收并传送搜索请求至数据存储控制器1321。所述数据存储控制器1321用于根据接收到的加密数据,控制加密数据保存于存储设备132中;用于根据搜索请求,获取与搜索关键字相关的对应参数,对存储设备132的加密数据进行关键字搜索,获取与搜索关键字匹配的加密数据并将其通过云操作系统131发送至代理服务器12。其中,所述加密数据包括数据信息及标识符,所述标识符不包含用户私密信息,用于标识数据信息。在本发明中,关键字处理为对加密数据的标识符进行处理,则关键字的添加、删除及搜索工作均基于对加密数据的标识符进行,实现对加密数据进行相关关键字处理时,无需对加密数据的数据信息进行修改或解密,安全性强,操作方便。所述存储设备132为磁盘、固态硬盘等存储介质。

所述代理服务器12还可用于接收用户输入的关键字添加信息,根据所述关键字添加信息获取与关键字添加信息相关的加密信息并发送至云端服务器13。其中,关键字添加信息包括需添加关键字的标识符及添加关键字。

所述代理服务器12还可用于接收用户输入的关键字删除信息,根据所述关键字删除信息获取召回标识符密文并发送至云端服务器13。其中,所述关键字删除信息包括删除关键字及需删除关键字的标识符。

在本实施例中,所述代理服务器12为web应用程序,其通过socket方式与云端服务器13交互,实现与关键字搜索相关的操作,同时,代理服务器12可通过http协议向用户提供api和图形界面,使得用户可通过浏览器11经由代理服务器12与云端服务器13进行数据信息交流,完成加密数据的上传及数据的关键字处理,通过代理服务器12实现浏览器11与云端服务器13的通信连接,从而实现用户与系统的信息交流无需插件,操作方便,而执行操作在云端服务器13进行,从而实现耗费用户的硬盘空间少,无需更新。其中,所述浏览器可为chrome、firefox、internetexplorer及qq浏览器等。所述关键字处理包括关键字的添加、删除及搜索。

在本实施例中,所述云端服务器13采用sse服务器,所述代理服务器12为sse客户端,所述云端服务器13运行于云服务数据中心,代理服务器12运行于企业或者家庭内部,用户可通过浏览器11经由代理服务器12与云端服务器13进行交互。其中,sse为对称可搜索加密(symmetricsearchableencryption)的简称,即基于对称密码算法的可搜索加密,在sse系统中,数据拥有者首先利用文件加密密钥和密钥生成密钥分别对文件和文件的关键字进行加密,然后将生成的加密文件和加密索引发送到云服务器上,搜索用户首先获得数据拥有者的文件加密密钥和密钥生成密钥,并利用密钥生成密钥来加密搜索关键字生成陷门发送到云服务器,云服务器通过匹配加密的索引和陷门来返回相应的搜索结果,最后搜索用户使用文件加密密钥对搜索结果进行解密。

基于上述设计,本发明可加密搜索的数据存储系统通过于云端服务器的存储设备中设置一数据存储控制器,实现将涉及数据的搜索运算分流到存储设备中进行,提高了数据搜索的安全性,而且无需将所有被搜索的加密数据传输至云端服务器的云操作系统或代理服务器后再执行搜索操作,节省代理服务器及云操作系统的i/o,同时,浏览器经由代理服务器与云端服务器进行交互,无需插件,操作方便,执行在云端服务器进行,从而实现耗费用户的硬盘空间少,无需更新,而且将代理服务器设计为web应用程序,使得用户可通过浏览器完成关键字搜索操作。

本发明还提供了可加密搜索的数据存储系统的另一种优选实施例,在此实施例中,可加密搜索的数据存储系统包括有处理器及存储器,处理器用于执行存储于存储器中的如下程序模块:

浏览器,用于为用户提供交互界面;

代理服务器,用于接收并发送用户上传的加密数据;用于接收用户输入的搜索关键字,根据搜索关键字生成搜索请求;用于接收搜索结果;

云端服务器,用于接收并存储所述代理服务器发送的加密数据;用于接收代理服务器发送的搜索请求,根据搜索请求,获取并发送搜索结果至所述代理服务器;所述云端服务器包括云操作系统及存储设备,所述代理服务器通过云操作系统与存储设备进行数据传递,所述存储设备包括一数据存储控制器,所述云操作系统用于接收代理服务器发送的加密数据并将其传送至数据存储控制器;用于接收并传送搜索请求至数据存储控制器;

所述数据存储控制器用于根据接收到的加密数据,控制加密数据保存于存储设备中;用于根据获得的搜索请求,对存储设备的加密数据进行关键字搜索,获取搜索结果并通过云操作系统发送至代理服务器。

其中,代理服务器与云端服务器分别存储于不同的存储器中。

在一些实施例中,所述云端服务器运行于云服务数据中心,所述浏览器及代理服务器运行于企业或者家庭内部。

在一些实施例中,所述代理服务器为web应用程序。

处理器可以是英特尔处理器及amdcpu等。

存储器可以是ram、rom、闪存、fifo及filo等。

本发明还公开了一种计算机可读存储介质,该计算机可读存储介质存储有如下可由处理器执行的程序模块:

浏览器,用于为用户提供交互界面;

代理服务器,用于接收并发送用户上传的加密数据;用于接收用户输入的搜索关键字,根据搜索关键字生成搜索请求;用于接收搜索结果;

云端服务器,用于接收并存储所述代理服务器发送的加密数据;用于接收代理服务器发送的搜索请求,根据搜索请求,获取并发送搜索结果至所述代理服务器;所述云端服务器包括云操作系统及存储设备,所述代理服务器通过云操作系统与存储设备进行数据传递,所述存储设备包括一数据存储控制器,所述云操作系统用于接收代理服务器发送的加密数据并将其传送至数据存储控制器;用于接收并传送搜索请求至数据存储控制器;

所述数据存储控制器用于根据接收到的加密数据,控制加密数据保存于存储设备中;用于根据获得的搜索请求,对存储设备的加密数据进行关键字搜索,获取搜索结果并通过云操作系统发送至代理服务器。

在一些实施例中,所述云端服务器运行于云服务数据中心,所述浏览器及代理服务器运行于企业或者家庭内部。

在一些实施例中,所述代理服务器为web应用程序。

参照图2至图3,本发明还提供了一种加密数据搜索方法,加密数据搜索方法可基于上述可加密搜索的数据存储系统进行,其包括如下步骤:

步骤s1,系统初始化操作。具体包括:

步骤s11,代理服务器生成密钥标签,并为其预设相应的密钥标签值。

其中,在本发明加密数据搜索方法中,关键字只与数据的标识符关联,标识符用于标识数据信息,进而关键字与数据信息相匹配。所述密钥标签用于标签派生密钥目的,所述密钥标签值为用于标签派生密钥目的的二进制字符串,每一密钥标签都对应有一密钥标签值,所述密钥标签包括关键字计数器、标识符及召回标识符,所述派生密钥用于对关键字及与其关联的标识符信息进行加密,使得数据的相关信息均以密文形式存储于云端服务器,增强系统的保密性。具体地,步骤s11为:代理服务器生成关键字计数器密钥标签、标识符密钥标签及召回标识符密钥标签,并为所述关键字计数器密钥标签、标识符密钥标签及召回标识符密钥标签预设相应的密钥标签值,优选地,不同的密钥标签对应的密钥标签值不相同。

步骤s12,代理服务器生成第一密钥、第二密钥及关键字计数器字典,根据所述第二密钥及关键字计数器字典获取计数器字典密文,并将获得的计数器字典密文发送至云端服务器的云操作系统。

其中,所述第一密钥用于获取与关键字相关的派生密钥,根据所述第一密钥、密钥标签值及关键字可获取与该关键字相关的派生密钥。所述第二密钥用于对关键字计数器字典进行加密,获取计数器字典密文。所述关键字计数器字典用于存储关键字与关键字计数器之间的对应关系,关键字计数器用于累计与其对应的关键字被加入系统的次数。第一密钥及第二密钥均不同于加密数据的加密密钥,保证加密密钥只有对数据进行加密的数据拥有者知道,确保加密数据的安全性,增强系统的保密性及可靠性,使得系统的数据隐秘性完全用户可控、对用户透明。在本实施例中,所述代理服务器采用对称加密算法的加密部分,根据第二密钥及关键字计数器字典,获取计数器字典密文,而采用对称加密算法可实现根据加密密钥对密文进行解密,则可根据第二密钥及计数器字典密文,利用对称加密算法的解密部分,获取关键字计数器字典,有利于后续关键字计数器字典的信息更新。

步骤s13,云操作系统将接收到的计数器字典密文发送至存储设备的数据存储控制器以将计数器字典密文保存至存储设备。

步骤s14,数据存储控制器生成地址字典、标识符字典及召回标识符集合。其中,所述地址字典用于存储标识符与数据地址之间的对应关系,所述标识符字典用于存储计数器密文与标识符密文之间的对应关系,所述召回标识符集合用于存储召回标识符密文,召回为关键字的删除,在本实施例中,召回代表标识符与关键字之间脱离了关系。

步骤s2,浏览器获取用户输入的搜索关键字并发送至代理服务器。

步骤s3,代理服务器根据搜索关键字生成搜索请求并将其发送至云端服务器。

所述搜索请求包括关键字搜索请求指令及派生密钥,进一步地,步骤s3包括:代理服务器根据所述搜索关键字、第一密钥及密钥标签值获取派生密钥,发送关键字搜索请求指令及派生密钥至云端服务器。

其中,所述派生密钥利用密钥导出函数,根据第一密钥、密钥标签值及关键字获得,根据不同密钥标签值获取独立的派生密钥有利于提高系统数据处理的安全性。其中,密钥标签包括关键字计数器、标识符及召回标识符,对应的派生密钥包括关键字计数器密钥、标识符密钥及召回标识符密钥,所述关键字计数器密钥用于获取计数器密文,标识符密钥用于获取标识符密文,所述召回标识符密钥为与该关键字脱离关系的标识符的密钥,用于获取召回标识符密文,召回标识符密文为与该关键字脱离关系的标识符的密文。

具体地,步骤s3为:代理服务器利用密钥导出函数,根据所述第一密钥、标签为关键字计数器的二进制字符串及需添加关键字,获取关键字计数器密钥;根据第一密钥、标签为标识符的二进制字符串及需添加关键字,获取标识符密钥;根据第一密钥、标签为召回标识符的二进制字符串及需添加关键字,获取召回标识符密钥;将关键字搜索请求指令、关键字计数器密钥、标识符密钥及召回标识符密钥发送至云端服务器。

步骤s4,云端服务器的云操作系统接收并发送搜索请求至存储设备的数据存储控制器。其中,所述搜索请求包括关键字搜索请求指令及派生密钥,所述派生密钥包括关键字计数器密钥、标识符密钥及召回标识符密钥。

步骤s5,数据存储控制器根据获得的搜索请求,获取与搜索关键字相关的对应参数,对加密数据进行关键字搜索,获取与搜索关键字匹配的加密数据,并将获得的与搜索关键字匹配的加密数据通过云操作系统发送至代理服务器。

其中,所述与搜索关键字相关的对应参数包括与搜索关键字相关的计数器密文、标识符密文及召回标识符密文,进一步地,步骤s5包括:

步骤s51,数据存储控制器初始设置关键字计数器为0及匹配列表为空。

步骤s52,数据存储控制器根据关键字计数器及派生密钥,判断与所述搜索关键字关联的标识符是否存在;若不存在,停止搜索,发送匹配列表至代理服务器,执行步骤s54。

在本实施例中,标识符字典用于存储计数器密文与标识符密文之间的对应关系,而计数器密文根据关键字计数器密钥及关键字计数器所得,关键字计数器密钥根据关键字所得,标识符密文根据标识符密钥及标识符所得,标识符密钥亦根据关键字所得,关键字计数器代表关键字被加入系统的次数,则可根据计数器密文与标识符密文的对应关系是否存在得知与关键字关联的标识符是否存在。

具体地,所述步骤s52为:数据存储控制器根据关键字计数器及关键字计数器密钥,利用信息鉴定码算法,获取计数器密文,判断计数器密文是否存在于标识符字典,若不存在,说明计数器密文不存在对应的标识符密文,从而不存在与该搜索关键字关联的标识符,则停止搜索,发送匹配列表至代理服务器,执行步骤s54。其中,利用信息鉴定码算法获取的密文不可逆,则计数器密文不可逆,有利于提高加密信息的安全性。

步骤s52.1,若与搜索关键字关联的标识符存在,判断所述标识符是否具有对应的数据地址,获取与搜索关键字关联且具有对应数据地址的标识符,并将其加入匹配列表,执行步骤s53。

在本实施例中,地址字典用于存储标识符与数据地址之间的对应关系,若标识符不存在于地址字典中,则标识符没有对应的数据地址,从而该标识符不标识任何数据信息。召回标识符集合用于存储召回标识符密文,若与关键字关联的标识符,其召回标识符密文存在于召回标识符集合中,则该标识符不再与该关键字关联,从而该标识符标识的数据信息与该关键字不匹配。

进一步地,所述步骤s52.1具体为:若计数器密文存在于标识符字典,说明计数器密文存在对应的标识符密文,则与搜索关键字关联的标识符存在,利用标识符字典,根据标识符字典及步骤s52获得的计数器密文,获取对应的标识符密文,根据获得的标识符密文及标识符密钥,获取标识符,根据获得的标识符及召回标识符密钥,利用信息鉴定码算法,获取召回标识符密文;判断所获得的标识符是否存在于地址字典中,若存在,说明标识符具有对应数据地址,该标识符标识数据信息,判断获得的召回标识符密文是否存在于召回标识符集合中,若是,则所述标识符已召回,该标识符与搜索关键字不关联,直接执行步骤s53,若召回标识符密文不存在于召回标识符集合中,则标识符与搜索关键字关联,则所述标识符具有对应数据地址且与搜索关键字关联,将所述与搜索关键字关联且具有对应数据地址的标识符加入匹配列表;若所获得的标识符不存在于地址字典中,说明标识符不具有对应的数据地址,从而该标识符不标识任何数据信息,直接执行步骤s53。

步骤s53,数据存储控制器将关键字计数器的值加1,继续执行步骤s52。

步骤s54,代理服务器根据接收到的匹配列表,获取所有与搜索关键字关联且具有对应数据地址的标识符。

参照图4,在本实施例中,所述加密数据搜索方法的系统初始化操作后还包括关键字添加操作,其包括以下步骤:

步骤s101,浏览器获取用户输入的需添加关键字的标识符及添加关键字并发送至代理服务器。

其中,本发明加密数据搜索方法的关键字添加操作为于数据的标识符进行关键字的关联,代理服务器接收用户于浏览器输入的需添加关键字的标识符及需添加关键字,由标识符用于标识数据信息可知,相应地,关键字与标识符关联时,该标识符对应的数据信息则与关键字相匹配。

步骤s102,代理服务器从云端服务器同步下载计数器字典密文,并将其解密还原为关键字计数器字典。在本实施例中,代理服务器根据计数器字典密文及第二密钥,结合对称加密算法的解密部分,将计数器字典密文解密还原为关键字计数器字典。

步骤s103,代理服务器根据所述第一密钥、添加关键字、需添加关键字的标识符及关键字计数器字典,获取与添加关键字及标识符相关的加密信息并发送至云端服务器。

所述与添加关键字及标识符相关的加密信息包括计数器密文、标识符密文及召回标识符密文,各对应不同的派生密钥。进一步地,所述步骤s103包括:

步骤s1031,代理服务器根据所述第一密钥及添加关键字,结合密钥标签值,利用密钥导出函数,获取与密钥标签对应的派生密钥。

具体地,步骤s1031为代理服务器利用密钥导出函数,根据所述第一密钥、标签为关键字计数器的二进制字符串及需添加关键字,获取关键字计数器密钥;根据第一密钥、标签为标识符的二进制字符串及需添加关键字,获取标识符密钥;根据第一密钥、标签为召回标识符的二进制字符串及需添加关键字,获取召回标识符密钥。

步骤s1032,代理服务器根据所述关键字计数器字典、添加关键字、需添加关键字的标识符及派生密钥,获取与添加关键字及标识符相关的加密信息并发送至云端服务器。

进一步地,所述步骤s1032具体为:代理服务器根据所述关键字计数器字典及添加关键字获取所述添加关键字对应的关键字计数器,根据获得的关键字计数器及所述关键字计数器密钥,利用信息鉴定码算法,获取计数器密文,根据所述标识符密钥及用户输入的需添加关键字的标识符,利用对称加密算法的加密部分,获取标识符密文,根据所述召回标识符密钥及需添加关键字的标识符,利用信息鉴定码算法,获取召回标识符密文,并将所获得的计数器密文、标识符密文及召回标识符密文发送至云端服务器。其中,关键字计数器代表关键字被加入系统的次数,关键字计数器字典用于记录存储关键字及该关键字被加入系统的次数的关系,即记录存储关键字与关键字计数器之间的对应关系,当需添加关键字未存在于关键字计数器字典时,代理服务器设置该需添加关键字对应的关键字计数器的值为0。

通过不同的派生密钥,使得与需添加关键字相关的加密信息的解密方式不一,且所述加密信息于系统中均以密文形式显示,提高数据处理的安全性,同时,使得数据存储控制器可在数据信息加密的状态下无需解密数据信息以进行数据处理,使得数据的隐秘性完全用户可控。利用信息鉴定码算法获取的密文不可逆,提高加密信息的安全性,而在关键字搜索过程中,最终反馈发送至代理服务器的与搜索关键字匹配的信息需可对应获取相应数据信息,则需标识符密文需解密以获取标识符,以便关键字搜索过程中获取与关键字匹配的标识符对应的数据信息,所述数据信息均以密文形式存储于存储设备中,因此,对于标识符的加密方式采用对称加密算法的加密部分,有利于关键字搜索中标识符的解密操作。对称加密算法指的是加密和解密使用相同密钥的加密算法。

步骤s104,数据存储控制器根据接收到的加密信息,检测判断具有添加关键字且标识符相同的数据是否已召回,若是,则在召回标识符集合中删除该数据的信息,并发送判断结果至代理服务器;否则,更新所述标识符字典,并发送判断结果至代理服务器。

在本实施例中,所述步骤s104具体为:数据存储控制器根据接收到的召回标识符密文,检测判断其是否存在与召回标识符集合中,若是,即具有添加关键字且标识符相同的数据已被召回,添加关键字与所述标识符已无关联,则将召回标识符集合中的该数据对应的召回标识符密文删除,以恢复需添加关键字的标识符与添加关键字之间的关联,并将判断结果--是发送至代理服务器;否则,即召回标识符集合中不存在所述召回标识符密文,则添加关键字第一次与需添加关键字的标识符关联,将接收到的所述计数器密文及标识符密文保存于标识符字典以更新标识符字典,并将判断结果--否发送至代理服务器。

步骤s105,代理服务器根据接收到的判断结果,更新所述关键字计数器字典,利用第二密钥对关键字计数器字典进行加密,获取计数器字典密文,并将所述计数器字典密文发送至云端服务器保存。

具体地,所述步骤s105为:代理服务器根据接收到的判断结果,若判断结果为否,代表需添加关键字的标识符第一次与所述需添加关键字关联,代表需添加关键字被添加至系统的次数增加一,更新关键字计数器字典,即该需添加关键字对应的关键字计数器加一,利用第二密钥对该关键字计数器字典进行加密,获取计数器字典密文并发送至云端服务器;否则,代表需添加关键字的标识符曾与该需添加关键字关联,但被召回,而在本发明中,关键字的删除只是将关键字的召回标识符密文写入召回标识符集合,无需删除,则关键字计数器字典中的关键字计数器已统计过,无需加一,直接利用第二密钥对关键字计数器字典进行加密,获取计数器字典密文并发送至云端服务器保存。

参照图5,在本实施例中,所述加密数据搜索方法的系统初始化操作后还包括关键字删除操作,其包括如下步骤:

步骤s111,浏览器获取用户输入的关键字删除信息并发送至代理服务器。

步骤s112,代理服务器根据接收到的关键字删除信息获取召回标识符密文并发送至云端服务器。

其中,所述关键字删除信息包括删除关键字及需删除关键字的标识符id1。进一步地,所述步骤s112具体为:代理服务器根据接收到的删除关键字及需删除关键字的标识符id1,利用密钥导出函数,根据第一密钥、标签为召回标识符的二进制字符串及删除关键字,获取相应的召回标识符密钥,根据获得的召回标识符密钥及需删除关键字的标识符id1,利用信息鉴定码算法,获取与删除关键字及所述标识符id1相关的召回标识符密文,并将其发送至云端服务器。

步骤s113,数据存储控制器将接收到的召回标识符密文存储至召回标识符集合。

其中,所述召回标识符密文为与删除关键字脱离关系的标识符且标识符为需删除关键字的标识符id1的标识符密文,本发明加密数据搜索方法的关键字删除并不是将关键字从标识符分离或删除,而是将与关键字脱离关系的标识符的标识符密文即召回标识符密文记录于召回标识符集合中,以表示关键字已与该标识符脱离关联,无需对相应数据信息、标识符进行删除操作,则当关键字关联的标识符的召回标识符密文若存在于召回标识符集合中,即可说明该标识符与该关键字不关联,从而在后期的关键字搜索、关键字添加操作中,只需数据存储控制器于召回标识符密文集合中检测是否存在相应的召回标识符密文,即可获知标识符是否与关键字脱离关系,若存在,则说明标识符与关键字不关联,进而标识符为的数据信息与关键字不匹配。

基于上述方法设计,搜索操作由存储设备的数据存储控制器完成,实现将关键字搜索的运算分流到存储设备中进行,无需将所有被搜索的加密数据传输到云操作系统或客户端后再执行解密搜索操作,可仅返回匹配关键字的加密数据的相关信息,节省云操作系统及客户端的i/o,提高系统的效率及安全性,利用密钥标签、第一密钥、标识符及关键字可根据标签目的获取不同的派生密钥,从而对关键字及标识符相关信息进行加密,实现将数据信息及关键字的相关信息以密文形式存储于云端服务器,保密性强,安全可靠,同时,关键字的操作均与数据信息无关,使得关键字的搜索无需解密,而且存储于云端服务器的数据均被加密,于云端服务器的执行操作均与数据信息无关,无需将数据密钥披露,安全性强。

综上所述,本发明加密数据搜索方法中搜索操作由存储设备的数据存储控制器完成,实现将对关键字搜索的云操作系统运算分流到存储设备中进行,提高系统效率,而且,将数据信息及关键字的相关信息以密文形式存储于云端服务器,保密性强,安全可靠,数据的隐秘性完全用户可控,同时,关键字的操作均与数据信息无关,使得关键字的搜索无需解密。本发明数据存储系统通过于云端服务器的存储设备中设置一数据存储控制器,实现将涉及数据处理的运算分流到存储设备中进行,提高了数据处理的安全性,而且无需将所有被搜索的加密数据传输至云端服务器的云操作系统或代理服务器后再执行搜索操作,实现将对关键字搜索的云操作系统运算分流到存储设备中进行,节省代理服务器及云操作系统的i/o,同时,利用浏览器通过代理服务器以与云端服务器进行交互,无需插件,操作方便,执行在云端服务器进行,从而实现耗费用户的硬盘空间少,无需更新。

以上所述仅为本发明的优选实施例,而非对本发明做任何形式上的限制。本领域的技术人员可在上述实施例的基础上施以各种等同的更改和改进,凡在权利要求范围内所做的等同变化或修饰,均应落入本发明的保护范围之内。

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