本发明涉及计算机应用,尤其是涉及一种基于散列存储的数据提取系统及方法。
背景技术:
1、目前,随着互联网时代的加速发展,越来越多的软件应用涌入市场,随之带来的是用户需要记录各类软件的账号与密码,这无形中为用户带来沉重的记忆负担。
2、现有的互联网用户在保存敏感数据的操作中,存在一些安全隐患。现有存储方式,分为本地化存储、免费笔记软件存储,本地化存储大部分用户都是直接将各类互联网账号明文存储在本地文件中,免费笔记软件虽然实现了线上化,但将自己敏感的数据托管给第三方,假设第三方遇到安全事故或数据泄露,会给的生活生产带来严重的安全隐患。
3、目前绝大多数用户会把各类账号密码记录在一个文件中,比如加密的excel文件,更甚者直接将明文数据存储在未保护的文件中,在存储安全方面也无法保证,恶意用户很轻松就可以获取这些信息。
4、显然现有存储方式简单粗暴,这样给账号安全带来严重的风险与隐患。
5、为解决现有技术中存在的问题,亟需研发一种本地去中心化的安全存储与数据提取流程,该方法属于一种新的基于散列存储的方法,用户不需要在本地保存密码类敏感数据,保证了信息的保密性和不可见性。相比现有存储方式,屏蔽了存储方式,既保证了安全又保证了存储扩展性。
技术实现思路
1、本发明所要解决的技术问题是针对目前存储方式存在的上述问题,本技术实施例提供一种基于散列存储的数据存储及提取系统及方法,用于提高存储安全。
2、本发明解决上述技术问题的技术方案如下:一种基于散列存储的数据存储方法包括:
3、数据准备步骤:基于用户发起的对存储类型及明文数据的加密存储请求,获取用户身份、待加密的明文数据,数据的多种存储类型及系统参数;
4、用户身份标识生成步骤:根据用户身份及系统参数,基于预设身份加密算法进行加密运算,获得用户唯一身份标识;
5、存储地址计算步骤:根据每种存储类型进行hash一致性处理后取模运算的值,将不同种的存储类型散列存储在不同的存储类型目标地址库中,获得存储类型在系统中的存储类型唯一标识,对用户唯一身份标识的密文及存储类型唯一标识进行双线性对映射存储;
6、数据一次加密步骤:根据系统参数中的第一私钥以及明文数据,对明文数据进行非对称加密获得目标密文数据;
7、分段二次加密步骤:根据存储类型唯一标识取模运算得到目标密文数据的分段数,基于分段数对目标密文数据按自定义分段规则分段处理后重新排序,得到目标最新密文;将目标最新密文与存储类型唯一标识的密文进行双线性对映射,完成基于散列存储的明文数据存储。
8、优选的,上述用户身份标识生成步骤进一步包括:
9、预设身份加密算法为:根据系统参数获取用户创建时间、用户信息与固定盐值三者混合组成新用户身份字符串,将新用户身份新字符串不可逆加密存储至用户信息库中,获得用户唯一身份标识。
10、优选的,上述存储地址计算步骤进一步包括:
11、对存储类型采用ketama算法进行hash一致性处理,依据h(key)=hash(key)mod k模运算,其中,k为存储目标地址库数,存储目标地址库编号为0到k-1,得到编号唯一存储库k;
12、将存储类型按编号唯一存储库k的地址存储,并依赖数据库设置自增序列,返回存储类型唯一标识。
13、优选的,上述分段二次加密步骤进一步包括:
14、将存储类型唯一标识按照预设的固定常量值,依据模运算得到目标密文数据的分段数,并将密文拆成分段数份的密文集,其中,固定常量值小于密文长度;
15、遍历密文集在每一个密文后追加遍历下标序列,并在密文下标加一位之后追加依赖系统参数随机生成的随机字符,最终生成多段新格式的密文集,将新格式的密文集按照序列顺序重新按序得到目标最新密文,新格式的密文集包括:密文、下标位随机字符及下标位;
16、对存储类型唯一标识加盐值再加密得到存储类型唯一标识的密文;
17、对存储类型唯一标识密文与目标最新密文做映射处理,存储至密文信息库。
18、本技术还提供一种基于散列存储的数据提取方法包括:
19、数据准备步骤:基于用户发起的对存储类型及明文数据的解密提取请求,获取用户身份、数据的多种存储类型及系统参数;
20、唯一标识生成步骤:根据用户信息得到用户唯一序列身份标识,根据存储类型信息hash取模运算,得到存储类型目标地址库的地址;
21、联合检索步骤:将用户唯一序列身份标识加密获取用户唯一序列身份标识密文,基于用户唯一序列身份标识密文及存储类型在存储类型目标地址库中联合检索获取存储类型唯一标识并加密获得存储类型唯一标识密文;
22、密文还原步骤:基于存储类型唯一标识密文在密文信息库中检索,获取分段密文集,将分段密文集按照密文重组规则进行还原,获取原始密文;
23、数据解密步骤:基于系统参数的公钥及原始密文,对原始密文进行解密获得明文数据,向用户发送解密后的明文数据。
24、优选的,上述密文还原步骤包括:
25、密文重组规则为:将分段密文集重组还原用户原始密文,遍历每段密文集,根据密文尾数序列号将密文重排序生成新的密文集,将新生成的密文集统一截取最后一位序列号,并将最终生成的密文集拼接还原成原始密文。
26、本技术还提供一种基于散列存储的数据存储系统,采用如上所述基于散列存储的数据存储方法,系统包括:
27、数据准备模块:基于用户发起的对存储类型及明文数据的加密存储请求,获取用户身份、待加密的明文数据,数据的多种存储类型及系统参数;
28、用户身份标识生成模块:根据用户身份及系统参数,基于预设身份加密算法进行加密运算,获得用户唯一身份标识;
29、存储地址计算模块:根据每种存储类型进行hash一致性处理后取模运算的值,将不同种的存储类型散列存储在不同的存储类型目标地址库中,获得存储类型在系统中的存储类型唯一标识,对用户唯一身份标识的密文及存储类型唯一标识进行双线性对映射存储;
30、数据一次加密模块:根据系统参数中的第一私钥以及明文数据,对明文数据进行非对称加密获得目标密文数据;
31、分段二次加密模块:根据存储类型唯一标识取模运算得到目标密文数据的分段数,基于分段数对目标密文数据按自定义分段规则分段处理后重新排序,得到目标最新密文;将目标最新密文与存储类型唯一标识的密文进行双线性对映射,完成基于散列存储的明文数据存储。
32、本技术还提供一种基于散列存储的数据提取系统,采用如上所述基于散列存储的数据提取方法,所述系统包括:
33、数据准备模块:基于用户发起的对存储类型及明文数据的解密提取请求,获取用户身份、数据的多种存储类型及系统参数;
34、唯一标识生成模块:根据用户信息得到用户唯一序列身份标识,根据存储类型信息hash取模运算,得到存储类型目标地址库的地址;
35、联合检索模块:将用户唯一序列身份标识加密获取用户唯一序列身份标识密文,基于用户唯一序列身份标识密文及存储类型在存储类型目标地址库中联合检索获取存储类型唯一标识并加密获得存储类型唯一标识密文;
36、密文还原模块:基于存储类型唯一标识密文在密文信息库中检索,获取分段密文集,将分段密文集按照密文重组规则进行还原,获取原始密文;
37、数据解密模块:基于系统参数的公钥及原始密文,对原始密文进行解密获得明文数据,向用户发送解密后的明文数据。
38、本技术还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述基于散列存储的数据存储方法的步骤或实现如上所述基于散列存储的数据提取方法。
39、本技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行如上所述基于散列存储的数据存储方法的步骤或实现如上所述基于散列存储的数据提取方法。
40、本方法发明的有益效果是:
41、(1)本发明提出了一种基于散列存储的数据提取系统及方法。
42、通过获取用户身份、存储类型,借助散列运算将存储类型分散存储,实现了去除中心化存储,
43、提升中心化地址存储性能瓶颈、隐私泄露隐患与存储技术单一性,同一用户不同存储类型会分散存储在不同的地址中,换句话说,把鸡蛋分散在不同的篮子中。从经济效益上来说,这是抢劫一个房子和抢劫一片村庄的差别。
44、(2)本发明方法对用户明文数据加密后按规则重新排列拆分存储,同一密文分散在不同的地方,实现了分片存储,恶意用户对去中心化系统进行攻击破坏的成本相比中心化系统更高,使之存储更安全。解决了用户将不同存储类型以明文形式存储在同一介质中的安全问题,在使用方面,同样快捷方便。本技术的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
45、本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。