本发明实施例涉及隐私数据处理,尤其涉及一种基于加密数据库的密钥安全管理方法及装置。
背景技术:
1、动态密码作为最安全的身份认证技术之一,由于它使用便捷,且与平台无关性,所以随着移动互联网的发展,基于动态密码的动态口令技术已成为身份认证技术的主流,被广泛应用于企业、医学、金融等领域。
2、尤其在金融以及医学领域中,由于原始数据库一般存储有重要的数据,如隐私数据。对于安全性要求较高,原始数据库中的数据采用动态口令密钥进行加密。访问原始数据库的各节点需要在验证动态口令密钥后,才可以修改原始数据库中的数据。若某一节点由于其保存的口令密钥由于时钟不匹配、机器断电等原因丢失,将无法使用原始数据库中的数据。所以目前缺乏一种安全性较高的密钥管理方案。
技术实现思路
1、本发明提供一种基于加密数据库的密钥安全管理方法及装置,用以解决目前缺乏一种安全性较高的密钥管理方案的问题。
2、本发明实施例第一方面提供一种基于加密数据库的密钥安全管理方法,应用于安全管理服务器,原始密钥为加密数据库中隐私数据对应的密钥;原始密钥根据节点总数和预设子密钥生成算法被拆分为多个子密钥;各节点都存储有对应子密钥,所述方法包括:
3、接收待修复子密钥的目标节点发送的密钥修复请求;所述密钥修复请求包括时间戳信息和所述时间戳信息对应的第一动态子密钥;所述第一动态子密钥为根据目标节点存储的子密钥和时间戳信息生成的;
4、获取其他节点发送的所述时间戳信息对应的第二动态子密钥;所述其他节点为无须修复子密钥的节点,且其他节点的数量大于或等于预设最小恢复节点数量;所述第二动态子密钥为根据其他节点存储的子密钥和时间戳信息生成的;
5、根据所述第一动态子密钥和所述第二动态子密钥进行密钥修复,生成修复后的目标动态子密钥;
6、发送目标动态子密钥至所述目标节点。
7、可选的,如上所述的方法,所述获取其他节点发送的所述时间戳信息对应的第二动态子密钥,包括:
8、根据所述时间戳信息生成鉴权请求,并将所述鉴权请求发送至其他节点;所述鉴权请求用于请求其他节点发送第二动态子密钥至安全管理服务器;所述鉴权请求为二维码数据;
9、接收其他节点基于所述二维码数据发送的所述第二动态子密钥。
10、可选的,如上所述的方法,所述根据所述第一动态子密钥和所述第二动态子密钥进行密钥修复,生成修复后的目标动态子密钥,包括:
11、根据所述第二动态子密钥进行密钥修复,生成恢复的原始密钥;
12、根据所述恢复的原始密钥和所述第一动态子密钥生成修复后的目标动态子密钥。
13、可选的,如上所述的方法,所述根据所述第二动态子密钥进行密钥修复,生成恢复的原始密钥,包括:
14、对多个第二动态子密钥进行组合解密,以确定各第二动态子密钥对应的子密钥;
15、在可信执行环境中将各第二动态子密钥对应的子密钥输入预设密钥恢复算法,确定所述恢复的原始密钥;所述预设密钥恢复算法为利用拉格朗日插值多项式的线性加和函数。
16、可选的,如上所述的方法,所述第二动态子密钥包括子密钥、固定值的第一随机数以及随时间动态变化的第二随机数;
17、所述对多个第二动态子密钥进行组合解密,以确定各第二动态子密钥对应的子密钥,包括:
18、在可信执行环境中对多个第二动态子密钥进行组合解密,以减去各第二动态子密钥中的第一随机数和第二随机数,生成各第二动态子密钥对应的子密钥。
19、可选的,如上所述的方法,所述根据所述恢复的原始密钥和所述第一动态子密钥生成修复后的目标动态子密钥,包括:
20、对恢复的原始密钥进行哈希计算,得到第一哈希值;
21、将第一哈希值与预存的第二哈希值进行比对;所述第二哈希值为原始密钥对应的哈希值;
22、若第一哈希值与第二哈希值相同,则将所述恢复的原始密钥进行密钥切分,得到多个校验子密钥;
23、根据各所述校验子密钥和所述第一动态子密钥生成修复后的目标动态子密钥。
24、可选的,如上所述的方法,所述根据各所述校验子密钥和所述第一动态子密钥生成修复后的目标动态子密钥,包括:
25、将所述第一动态子密钥和各所述校验子密钥进行匹配,以确定第一动态子密钥需调整的时间量;
26、根据所述时间量调整所述第一动态子密钥以生成所述目标动态子密钥。
27、可选的,如上所述的方法,所述接收待修复子密钥的目标节点发送的密钥修复请求之前,还包括:
28、获取原始密钥,并将节点总数和原始密钥输入预设子密钥生成算法,生成对应多个子密钥;
29、采用秘密分享方式将各子密钥分配给各节点,并生成各子密钥与各节点的映射关系;
30、采用安全层传输协议传输各子密钥至对应的节点。
31、可选的,如上所述的方法,所述第一动态子密钥为多个,且存在正确的第一动态子密钥,所述方法还包括:
32、若其他节点的数量小于所述预设最小恢复节点数量,且所述正确的第一动态子密钥的数量与其他节点的数量之间的和大于或等于所述预设最小恢复节点数量,则所述根据所述第一动态子密钥和所述第二动态子密钥进行密钥修复,生成修复后的目标动态子密钥,包括:
33、根据所述第一动态子密钥和所述第二动态子密钥进行密钥修复,生成恢复的原始密钥;
34、根据所述恢复的原始密钥和所述第一动态子密钥生成修复后的目标动态子密钥。
35、本发明实施例第二方面提供一种基于加密数据库的密钥安全管理方法,应用于安全管理服务器,原始密钥为加密数据库中医疗数据对应的密钥;原始密钥根据节点总数和预设子密钥生成算法被拆分为多个子密钥;各节点都存储有对应子密钥,所述方法包括:
36、接收待修复子密钥的目标节点发送的密钥修复请求;所述密钥修复请求包括时间戳信息和所述时间戳信息对应的第一动态子密钥;所述第一动态子密钥为根据目标节点存储的子密钥和时间戳信息生成的;
37、获取其他节点发送的所述时间戳信息对应的第二动态子密钥;所述其他节点为无须修复子密钥的节点,且其他节点的数量大于或等于预设最小恢复节点数量;所述第二动态子密钥为根据其他节点存储的子密钥和时间戳信息生成的;
38、根据所述第一动态子密钥和所述第二动态子密钥进行密钥修复,生成修复后的目标动态子密钥;
39、发送目标动态子密钥至所述目标节点。
40、本发明实施例第三方面提供一种基于加密数据库的密钥安全管理方法,应用于安全管理服务器,原始密钥为加密数据库中金融数据对应的密钥;原始密钥根据节点总数和预设子密钥生成算法被拆分为多个子密钥;各节点都存储有对应子密钥,所述方法包括:
41、接收待修复子密钥的目标节点发送的密钥修复请求;所述密钥修复请求包括时间戳信息和所述时间戳信息对应的第一动态子密钥;所述第一动态子密钥为根据目标节点存储的子密钥和时间戳信息生成的;
42、获取其他节点发送的所述时间戳信息对应的第二动态子密钥;所述其他节点为无须修复子密钥的节点,且其他节点的数量大于或等于预设最小恢复节点数量;所述第二动态子密钥为根据其他节点存储的子密钥和时间戳信息生成的;
43、根据所述第一动态子密钥和所述第二动态子密钥进行密钥修复,生成修复后的目标动态子密钥;
44、发送目标动态子密钥至所述目标节点。
45、本发明实施例第四方面提供一种基于加密数据库的密钥安全管理方法,应用于节点,原始密钥为加密数据库中隐私数据对应的密钥;原始密钥根据节点总数和预设子密钥生成算法被拆分为多个子密钥;各节点都存储有对应子密钥,所述方法包括:
46、接收安全管理服务器发送的鉴权请求,并提示用户所述鉴权请求;
47、响应于用户进行的同意鉴权操作,发送第二动态子密钥至安全管理服务器;
48、响应于用户进行的不同意鉴权操作,发送与第二动态子密钥相同长度的无效数据至安全管理服务器。
49、可选的,如上所述的方法,所述鉴权请求为二维码数据;
50、所述响应于用户进行的同意鉴权操作,发送第二动态子密钥至安全管理服务器,包括:
51、响应于用户对二维码的扫码操作,登陆所述二维码对应的请求页面,并将第二动态子密钥通过请求页面上传至安全管理服务器。
52、本发明实施例第五方面提供一种基于加密数据库的密钥安全管理装置,位于安全管理服务器,原始密钥为加密数据库中隐私数据对应的密钥;原始密钥根据节点总数和预设子密钥生成算法被拆分为多个子密钥;各节点都存储有对应子密钥,所述装置包括:
53、接收模块,用于接收待修复子密钥的目标节点发送的密钥修复请求;所述密钥修复请求包括时间戳信息和所述时间戳信息对应的第一动态子密钥;所述第一动态子密钥为根据目标节点存储的子密钥和时间戳信息生成的;
54、获取模块,用于获取其他节点发送的所述时间戳信息对应的第二动态子密钥;所述其他节点为无须修复子密钥的节点,且其他节点的数量大于或等于预设最小恢复节点数量;所述第二动态子密钥为根据其他节点存储的子密钥和时间戳信息生成的;
55、生成模块,用于根据所述第一动态子密钥和所述第二动态子密钥进行密钥修复,生成修复后的目标动态子密钥;
56、发送模块,用于发送目标动态子密钥至所述目标节点。
57、可选的,如上所述的装置,所述获取模块具体用于:
58、根据所述时间戳信息生成鉴权请求,并将所述鉴权请求发送至其他节点;所述鉴权请求用于请求其他节点发送第二动态子密钥至安全管理服务器;所述鉴权请求为二维码数据;接收其他节点基于所述二维码数据发送的所述第二动态子密钥。
59、可选的,如上所述的装置,所述生成模块具体用于:
60、根据所述第二动态子密钥进行密钥修复,生成恢复的原始密钥;根据所述恢复的原始密钥和所述第一动态子密钥生成修复后的目标动态子密钥。
61、可选的,如上所述的装置,所述生成模块在根据所述第二动态子密钥进行密钥修复,生成恢复的原始密钥时,具体用于:
62、对多个第二动态子密钥进行组合解密,以确定各第二动态子密钥对应的子密钥;
63、在可信执行环境中将各第二动态子密钥对应的子密钥输入预设密钥恢复算法,确定所述恢复的原始密钥;所述预设密钥恢复算法为利用拉格朗日插值多项式的线性加和函数。
64、可选的,如上所述的装置,所述第二动态子密钥包括子密钥、固定值的第一随机数以及随时间动态变化的第二随机数;
65、所述生成模块在对多个第二动态子密钥进行组合解密,以确定各第二动态子密钥对应的子密钥时,具体用于:
66、在可信执行环境中对多个第二动态子密钥进行组合解密,以减去各第二动态子密钥中的第一随机数和第二随机数,生成各第二动态子密钥对应的子密钥。
67、可选的,如上所述的装置,所述生成模块在根据所述恢复的原始密钥和所述第一动态子密钥生成修复后的目标动态子密钥时,具体用于:
68、对恢复的原始密钥进行哈希计算,得到第一哈希值;将第一哈希值与预存的第二哈希值进行比对;所述第二哈希值为原始密钥对应的哈希值;若第一哈希值与第二哈希值相同,则将所述恢复的原始密钥进行密钥切分,得到多个校验子密钥;根据各所述校验子密钥和所述第一动态子密钥生成修复后的目标动态子密钥。
69、可选的,如上所述的装置,所述生成模块在根据各所述校验子密钥和所述第一动态子密钥生成修复后的目标动态子密钥时,具体用于:
70、将所述第一动态子密钥和各所述校验子密钥进行匹配,以确定第一动态子密钥需调整的时间量;根据所述时间量调整所述第一动态子密钥以生成所述目标动态子密钥。
71、可选的,如上所述的装置,所述装置还包括:
72、密钥处理模块,用于获取原始密钥,并将节点总数和原始密钥输入预设子密钥生成算法,生成对应多个子密钥;采用秘密分享方式将各子密钥分配给各节点,并生成各子密钥与各节点的映射关系;采用安全层传输协议传输各子密钥至对应的节点。
73、可选的,如上所述的装置,所述第一动态子密钥为多个,且存在正确的第一动态子密钥,所述装置还包括:
74、修复模块,用于若其他节点的数量小于所述预设最小恢复节点数量,且所述正确的第一动态子密钥的数量与其他节点的数量之间的和大于或等于所述预设最小恢复节点数量,则使生成模块具体用于:根据所述第一动态子密钥和所述第二动态子密钥进行密钥修复,生成恢复的原始密钥;根据所述恢复的原始密钥和所述第一动态子密钥生成修复后的目标动态子密钥。
75、本发明实施例第六方面提供一种基于加密数据库的密钥安全管理装置,位于安全管理服务器,原始密钥为加密数据库中医疗数据对应的密钥;原始密钥根据节点总数和预设子密钥生成算法被拆分为多个子密钥;各节点都存储有对应子密钥,所述装置包括:
76、接收模块,用于接收待修复子密钥的目标节点发送的密钥修复请求;所述密钥修复请求包括时间戳信息和所述时间戳信息对应的第一动态子密钥;所述第一动态子密钥为根据目标节点存储的子密钥和时间戳信息生成的;
77、获取模块,用于获取其他节点发送的所述时间戳信息对应的第二动态子密钥;所述其他节点为无须修复子密钥的节点,且其他节点的数量大于或等于预设最小恢复节点数量;所述第二动态子密钥为根据其他节点存储的子密钥和时间戳信息生成的;
78、生成模块,用于根据所述第一动态子密钥和所述第二动态子密钥进行密钥修复,生成修复后的目标动态子密钥;
79、发送模块,用于发送目标动态子密钥至所述目标节点。
80、本发明实施例第七方面提供一种基于加密数据库的密钥安全管理装置,位于安全管理服务器,原始密钥为加密数据库中金融数据对应的密钥;原始密钥根据节点总数和预设子密钥生成算法被拆分为多个子密钥;各节点都存储有对应子密钥,所述装置包括:
81、接收模块,用于接收待修复子密钥的目标节点发送的密钥修复请求;所述密钥修复请求包括时间戳信息和所述时间戳信息对应的第一动态子密钥;所述第一动态子密钥为根据目标节点存储的子密钥和时间戳信息生成的;
82、获取模块,用于获取其他节点发送的所述时间戳信息对应的第二动态子密钥;所述其他节点为无须修复子密钥的节点,且其他节点的数量大于或等于预设最小恢复节点数量;所述第二动态子密钥为根据其他节点存储的子密钥和时间戳信息生成的;
83、生成模块,用于根据所述第一动态子密钥和所述第二动态子密钥进行密钥修复,生成修复后的目标动态子密钥;
84、发送模块,用于发送目标动态子密钥至所述目标节点。
85、本发明实施例第八方面提供一种安全管理服务器,包括:处理器、存储器及收发器;
86、所述处理器、所述存储器及所述收发器电路互连;
87、所述存储器存储计算机执行指令;所述收发器用于收发数据;
88、所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面、第二方面、第三方面、第四方面任一项所述的基于加密数据库的密钥安全管理方法。
89、本发明实施例第九方面提供一种节点,包括:处理器、存储器及收发器;
90、所述处理器、所述存储器及所述收发器电路互连;
91、所述存储器存储计算机执行指令;所述收发器用于收发数据;
92、所述处理器执行所述存储器存储的计算机执行指令,以实现第四方面任一项所述的基于加密数据库的密钥安全管理方法。
93、本发明实施例第十方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面、第二方面、第三方面、第四方面任一项所述的基于加密数据库的密钥安全管理方法。
94、本发明实施例第十一方面提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面、第二方面、第三方面、第四方面任一项所述的基于加密数据库的密钥安全管理方法。
95、本发明实施例提供的一种基于加密数据库的密钥安全管理方法及装置,应用于安全管理服务器,原始密钥为加密数据库中隐私数据对应的密钥;原始密钥根据节点总数和预设子密钥生成算法被拆分为多个子密钥;各节点都存储有对应子密钥,所述方法包括:接收待修复子密钥的目标节点发送的密钥修复请求;所述密钥修复请求包括时间戳信息和所述时间戳信息对应的第一动态子密钥;所述第一动态子密钥为根据目标节点存储的子密钥和时间戳信息生成的;获取其他节点发送的所述时间戳信息对应的第二动态子密钥;所述其他节点为无须修复子密钥的节点,且其他节点的数量大于或等于预设最小恢复节点数量;所述第二动态子密钥为根据其他节点存储的子密钥和时间戳信息生成的;根据所述第一动态子密钥和所述第二动态子密钥进行密钥修复,生成修复后的目标动态子密钥;发送目标动态子密钥至所述目标节点。
96、本发明实施例的方法,通过预先将原始密钥根据节点总数和预设子密钥生成算法拆分为多个子密钥,且使各节点都存储有对应子密钥,当需要进行密钥恢复时,需要大于或等于预设最小恢复节点数量的节点的动态子密钥进行组合修复,从而提高了密钥的安全性以及密钥修复的安全性。