本发明属于数据加密,具体涉及一种隐私数据的安全保护方法、系统、电子设备及存储介质。
背景技术:
1、随着计算机技术和网络技术的不断发展,越来越多的用户将数据存储到云平台上,以减少本地存储的数据量以及提高数据存储的便捷性;而对于众多数据中关系到业务或者隐私数据的存储安全性,排在所有重要性的首位,是用户首先关心的问题。
2、目前,用户存放在本地的数据,一般是直接保存在本地设备中,没有加密措施或只有简单的加密措施,其安全性不强;因此,用户更偏向于将数据存放在云服务器上,其不仅可减少本地数据量的存储空间,还可保证数据的存储安全,其中,云服务器上的数据存储,主要是由云存储服务提供商采用加密的方式来进行数据保护,这样可以保证用户的数据不会泄露;但是,存储在云服务器,不能保证服务提供商不会窃取用户的商业数据或者隐私数据,其也存在相应的泄露安全风险;基于此,如何提供一种存储在云服务器,依旧可保证存储安全的用户隐私数据的安全保护方法,已成为一个亟待解决的问题。
技术实现思路
1、本发明的目的是提供一种隐私数据的安全保护方法、系统、电子设备及存储介质,用以解决现有技术中将隐私数据存储在云服务器,不能保证服务提供商不会窃取用户的隐私数据,从而所造成的存在泄露风险的问题。
2、为了实现上述目的,本发明采用以下技术方案:
3、第一方面,提供了一种隐私数据的安全保护方法,包括:
4、获取目标用户的隐私数据和安全密码,并对隐私数据进行数字化处理,得到数字隐私数据;
5、利用所述数字隐私数据,构建出随机向量和加密矩阵,并利用所述随机向量和所述加密矩阵,构建出加密函数,以便利用所述加密函数对所述安全密码进行加密处理,得到密文密码;
6、基于随机数库,生成数据加密参数,并利用所述数据加密参数生成加密公钥和解密密钥;
7、根据所述加密公钥,对所述数字隐私数据进行加密处理,得到加密隐私数据;
8、将所述解密密钥和所述加密函数存储至本地端,以及将所述加密隐私数据和所述密文密码发送至服务器,以使所述服务器利用所述密文密码对所述加密隐私数据进行加密存储,以在加密存储后,完成对所述隐私数据的安全保护,其中,当服务器接收到数据请求方发送的数据访问请求后,将所述数据访问请求转发至本地端,以便本地端基于所述加密函数对所述数据访问请求中的访问密码进行加密处理,得到访问密文密码,以及对所述数据访问请求中的密钥请求进行验证,并在验证通过后,将解密信息发送至数据请求方,和将访问密文密码发送至服务器,以便使服务器在判断出所述访问密文密码与所述密文密码一致时,将所述加密隐私数据发送至数据请求方,以便数据请求方基于所述解密信息对所述加密隐私数据进行解密处理的,得到隐私数据,所述解密信息包括解密密钥,且本地端在将加密隐私数据发送至服务器后,删除本地缓存的加密隐私数据、数字隐私数据和隐私数据。
9、基于上述公开的内容,本发明对于待存储的隐私数据,先在本地端进行数字化处理,得到数字隐私数据,并基于数字隐私数据,来构建出随机向量和加密矩阵;然后,则可依据随机向量和加密矩阵来生成加密函数,以基于加密函数来对目标用户设置的安全密码进行加密处理,得到密文密码;接着,本发明再利用随机数库生成加密公钥和解密密钥,并使用加密公钥对数字隐私数据进行加密处理,得到加密隐私数据;而后,本发明则将加密函数和解密密钥保存在本地,并将加密隐私数据和密文密码发送至服务器,而服务器则可利用密文密码对加密隐私数据进行加密存储;如此,本发明相当于进行了两次加密,第一次是对服务器存储空间的加密,第二次则是对隐私数据的加密,且服务器上只能进行加密隐私数据的存储,而无法得到前述加密函数以及解密前述加密隐私数据的私钥;基于此,在进行隐私数据的读取时,数据请求方则需要先向服务器发送请求,而服务器则将请求转发至本地端,以使本地端依据加密函数对请求中的访问密码进行加密,得到访问密文密码并上传至服务器,其中,只有当服务器判定访问密码与其存储的密文密码一致时,才会将存储的加密隐私数据发送至数据请求方;同时,本地端在将请求中的密钥请求验证通过后,才会向数据发送方发送解密密钥,而只有通过前述双重验证后,数据请求方才能得到加密隐私数据,并实现对其的解密。
10、由此通过前述设计,本发明设置有双重加密过程,其中,第一重加密为对服务器中存储空间的加密,第二重为对隐私数据本身的加密;同时,将验证存储空间的加密函数和解密隐私数据的解密密钥存储在本地,并使服务器仅行使存储功能,如此,可使得服务器无法得到进行存储空间密码验证的加密函数以及解密前述加密隐私数据的私钥,从而可避免传统技术中所存在的服务提供商容易窃取用户的隐私数据的问题;另外,设置双重加密过程,使得解密也需要双重验证,这就进一步的增加了破解难度,从而进一步的提高了数据存储的安全性,基于此,本发明适用于在数据安全存储领域的大规模应用与推广。
11、在一个可能的设计中,利用所述数字隐私数据,构建出随机向量和加密矩阵,包括:
12、获取密文构建规则和所述安全密码的长度,其中,所述密文构建规则包含有密文长度;
13、从所述数字隐私数据中随机选取n×m个第一数字隐私数据值以及n个第二数字隐私数据值,其中,n表示所述密文长度,m表示所述安全密码的长度,且n大于或等于m;
14、利用n×m个第一数字隐私数据值构建出所述加密矩阵,以及利用n个第二数字隐私数据值,构建出所述随机向量;
15、相应的,利用所述随机向量和所述加密矩阵,构建出加密函数,则包括:
16、计算出所述加密矩阵的特征值,并利用所述特征值和所述随机向量,按照如下公式(1),构建出所述加密函数;
17、j=xm+s(1)
18、上述公式(1)中,m表示所述密文密码,x表示所述特征值,s表示所述随机向量,且j表示所述加密函数。
19、在一个可能的设计中,基于随机数库,生成数据加密参数,包括:
20、从所述随机数库中随机选取第一随机数和第二随机数,其中,所述第一随机数和所述第二随机数的位数均大于预设位数;
21、对所述第一随机数和所述第二随机数进行素数验证,并得出验证结果;
22、判断所述第一随机数的验证结果是否为验证通过,以及判断所述第二随机数的验证结果是否为验证通过;
23、若所述第一随机数和所述第二随机数的验证结果均为验证通过,则利用所述第一随机数和所述第二随机数组成所述数据加密参数;
24、若所述第一随机数的验证结果和/或第二随机数的验证结果为未验证通过,则将未验证通过的随机数加上预设数值,得到更新后的随机数,并将所述第一随机数和所述第二随机数中未验证通过的随机数替换为更新后的随机数,以重新对所述第一随机数和所述第二随机数中未验证通过的随机数进行素数验证,直至所述第一随机数和所述第二随机数中未验证通过的随机数通过素数验证时为止,以在素数验证通过时,得到所述数据加密参数。
25、在一个可能的设计中,对所述第一随机数和所述第二随机数进行素数验证,并得出验证结果,包括:
26、对于所述第一随机数,对所述第一随机数进行数值预处理,得到预处理后的随机数,其中,所述数值预处理包括第一随机数最高位的数值调整以及最低位的数值调整;
27、获取素数集合,其中,所述素数集合中包含有预设阈值内的所有素数;
28、判断所述预处理后的随机数与所述素数集合中的各个素数之间的比值是否为整数;
29、若否,则初始化r为1,并从所述随机数库中获取第三随机数,以基于所述第三随机数,对所述第一随机数进行第r次素数验证,得到第r次的素数验证结果;
30、判断所述第r次的素数验证结果是否为验证通过;
31、若是,则将r自加1,并重新从所述随机数库中获取一第三随机数,直至r等于r时为止,以便在r等于r时,生成所述第一随机数的验证结果为验证通过,其中,第r次素数验证时的第三随机数大于第r+1次素数验证时的第三随机数,且r为最大验证次数。
32、在一个可能的设计中,所述数据加密参数包括:第一素数和第二素数,其中,利用所述数据加密参数生成加密公钥和解密密钥,包括:
33、计算所述第一素数与目标阈值之间的差值,以及计算所述第二素数与目标阈值之间的差值,以分别得到第一中间参数和第二中间参数;
34、计算所述第一中间参数与所述第二中间参数的乘积,并从所述随机数库中获取与所述乘积互质的整数,以将获取的整数,作为所述加密公钥;
35、利用所述加密公钥和所述乘积,并按照如下公式(2),计算出所述解密密钥;
36、
37、上述公式(2)中,k表示所述解密密钥,g表示所述加密公钥,u表示所述乘积,mod表示取模运算符。
38、在一个可能的设计中,根据所述加密公钥,对所述数字隐私数据进行加密处理,得到加密隐私数据,包括:
39、基于所述数据加密参数,确定出分组长度和加密中间参数;
40、依据所述分组长度,将所述数字隐私数据分为若干数据块;
41、根据所述加密公钥和所述加密中间参数,并按照如下公式(3)对每个数据块进行加密处理,以得到若干加密后的数据块;
42、
43、上述公式(3)中,qz表示若干数据块中的第z个数据块,qz′表示加密后的第z个数据块,g表示所述加密公钥,v表示所述加密中间参数,其中,z=1,2,...z,z为数据块的总数,且mod表示取模运算符。
44、利用若干加密后的数据块,组成所述加密隐私数据。
45、在一个可能的设计中,所述数据加密参数包括第一素数和第二素数,其中,基于所述数据加密参数,确定出分组长度和加密中间参数,包括:
46、计算所述第一素数与所述第二素数之间的乘积,得到所述加密中间参数;
47、对所述加密中间参数进行以2为底的对数运算,得到对数运算结果;
48、基于所述对数运算结果,确定出所述分组长度。
49、第二方面,提供了一种隐私数据的安全保护系统,包括:
50、本地端,用于获取目标用户的隐私数据和安全密码,并对隐私数据进行数字化处理,得到数字隐私数据;
51、本地端,用于利用所述数字隐私数据,构建出随机向量和加密矩阵,并利用所述随机向量和所述加密矩阵,构建出加密函数,以便利用所述加密函数对所述安全密码进行加密处理,得到密文密码;
52、本地端,用于基于随机数库,生成数据加密参数,并利用所述数据加密参数生成加密公钥和解密密钥;
53、本地端,用于根据所述加密公钥,对所述数字隐私数据进行加密处理,得到加密隐私数据;
54、本地端,用于将所述解密密钥和所述加密函数存储至本地端,以及将所述加密隐私数据和所述密文密码发送至服务器,且在将加密隐私数据发送至服务器后,删除本地缓存的加密隐私数据、数字隐私数据和隐私数据;
55、服务器,用于接收本地端发送的加密隐私数据和密文密码,并利用所述密文密码对所述加密隐私数据进行加密存储,以在加密存储后,完成对所述隐私数据的安全保护,其中,当服务器接收到数据请求方发送的数据访问请求后,将所述数据访问请求转发至本地端;
56、本地端,用于基于所述加密函数对所述数据访问请求中的访问密码进行加密处理,得到访问密文密码,以及对所述数据访问请求中的密钥请求进行验证,并在验证通过后,将解密信息发送至数据请求方,和将访问密文密码发送至服务器,其中,所述解密信息包括解密密钥;
57、服务器,用于接收本地端发送的访问密文密码,并在判断出所述访问密文密码与所述密文密码一致时,将所述加密隐私数据发送至数据请求方,以便数据请求方基于所述解密信息对所述加密隐私数据进行解密处理的,得到隐私数据。
58、第三方面,提供了一种隐私数据的安全保护装置,以装置为电子设备为例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述隐私数据的安全保护方法。
59、第四方面,提供了一种存储介质,存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述隐私数据的安全保护方法。
60、第五方面,提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使计算机执行如第一方面或第一方面中任意一种可能设计的所述隐私数据的安全保护方法。
61、有益效果:
62、(1)本发明设置有双重加密过程,其中,第一重加密为对服务器中存储空间的加密,第二重为对隐私数据本身的加密;同时,将验证存储空间的加密函数和解密隐私数据的解密密钥存储在本地,并使服务器仅行使存储功能,如此,可使得服务器无法得到进行存储空间密码验证的加密函数以及解密前述加密隐私数据的私钥,从而可避免传统技术中所存在的服务提供商容易窃取用户的隐私数据的问题;另外,设置双重加密过程,使得解密也需要双重验证,这就进一步的增加了破解难度,从而进一步的提高了数据存储的安全性,基于此,本发明适用于在数据安全存储领域的大规模应用与推广。