一种通用场景下的云代理池分流重加密共享方法

文档序号:32040217发布日期:2022-11-03 04:57阅读:38来源:国知局
一种通用场景下的云代理池分流重加密共享方法

1.本发明涉及通信技术领域,尤其是一种通用场景下的云代理池分流重加密共享方法。


背景技术:

2.在一些医疗、金融等应用场景中,私有数据无法打破数据孤岛共享等问题,远远达不到数据应有的使用率。目前,以私钥加密会导致密钥丢失泄露问题,公钥体制加密在一些应用场景不能满足加密效率和私钥安全。代理重加密算法已应用于不同场景,通过其实现的代理重加密共享方案或模型很好地实现了数据共享,在其加密效率和密钥安全上,减少密钥操作和所需性能。在后续的研究中,许多代理重加密的变种以及扩展都陆续出现。以云代理重加密的共享方案或模型上,能够更好提供加密效率和性能。
3.但是在一些应用场景中如医疗数据的共享中,当恶意节点拥有多个身份时,会对外暴露的云代理节点的共享参数进行攻击破解,造成代理节点共享参数的泄露,还会影响云代理共享功能异常。


技术实现要素:

4.为了解决上述问题,本发明提供一种通用场景下的云代理池分流重加密共享方法,提高了共享参数的安全性,减轻了代理节点遭受的攻击行为,避免代理节点性能不足造成共享延迟或失败。
5.为了实现上述目的,本发明采用的技术方案为:
6.一种通用场景下的云代理池分流重加密共享方法,包括下述步骤:
7.s1、建立云代理池,所述云代理池具有多个代理节点,且每一所述代理节点设置都多共享参数;
8.s2、共享方与请求方通过所述云代理池建立通信,且共享方及请求方分别设置公私钥对,共享方通过向所述云代理池发送共享信息,以使所述云代理池获得下发代理节点的信号;
9.s3、通过所述共享信息获得分流参数,根据所述分流参数并通过分流算法在所述代理节点中选取分流代理节点,以获得分流代理节点对应的共享参数及分流代理节点的公私钥对;
10.s4、共享方及请求方进行通信并在完成共享共识后,所述云代理池根据共享方及请求方的公钥生成重加密密钥rekey;
11.s5、共享方对明文数据进行加密及一次签名后发送至所述云代理池,以使所述云代理池通过重加密密钥rekey对获得的数据进行重加密;所述云代理池将重加密后的数据进行二次签名后发送至请求方,以使请求方进行解密后获得所述明文数据;
12.s6、请求方对所述云代理池的所述一次签名及所述二次签名分别进行验证,以判断共享是否进行。
13.进一步地,在步骤s2中,所述共享信息包括共享方及请求方的特征标识及时间戳。
14.进一步地,在步骤s3中,所述云代理池根据共享方及请求方的特征标识及时间戳的哈希摘要作为分流参数。
15.进一步地,在步骤s3中,所述分流算法步骤为:
16.a1、将n个代理节点组成彩虹表集合[1,n]的数值空间;
[0017]
a2、将所述分流参数转换为分流数值,所述分流数值在n同余下,选取所述数值空间中对应数值相匹配的代理节点,以获得所述分流代理节点;
[0018]
a3、返回所述分流代理节点及所述分流代理节对应的共享参数至所述云代理池。
[0019]
进一步地,共享方的公钥为公钥pka,共享方的私钥为私钥ska,请求方的公钥为公钥pkb,请求方的私钥为私钥skb,分流代理节点的公钥为公钥pk
p
,分流代理节点的私钥为私钥sk
p

[0020]
在步骤s5中,共享方通过公钥pka对明文数据m进行加密,以获得密文数据c,且共享方对所述明文数据m及所述密文数据c分别使用私钥ska进行一次签名,以获得数字签名摘要digitsignaturem及digitsignaturec;
[0021]
所述请求方将所述明文数据m及所述密文数据c和其对应的数字签名摘要发送至所述云代理池,所述云代理池通过重加密密钥rekey对所述密文数据c进行加密,以获得密文数据c',且所述云代理池对所述密文数据c及所述密文数据c'分别使用私钥sk
p
进行二次签名,以获得数字签名摘要digitsignature'c及digitsignature'
c'

[0022]
所述云代理池将所述密文数据c及所述密文数据c'和其对应的数字签名摘要发送至所述请求方,所述请求方通过私钥skb对所述密文数据c'进行解密,以获得所述明文数据m。
[0023]
进一步地,在步骤s6中,请求方对digitsignaturem、digitsignaturec、digitsignature'c及digitsignature'
c'
分别进行验证,当digitsignaturem、digitsignaturec、digitsignature'c及digitsignature'
c'
验证的结果均通过时,共享结束;当digitsignaturem、digitsignaturec、digitsignature'c及digitsignature'
c'
任一验证的结果不通过时,共享失败并停止请求方与共享方的通信和停止请求方及共享方对所述云代理池的操作。
[0024]
本发明的有益效果是:
[0025]
云代理池通过设置多个代理节点扩大云代理节点及其共享参数,比其原生共享方案上的单云代理节点单共享参数,节点数量和参数呈现倍数增长。在通过所述共享信息获得分流参数,并且通过分流参数在所述代理节点中选取分流代理节点,实现了对云代理节点和共享参数进行合理随机选取,对半可信云节点的威胁场景提供了防护措施,提高了共享参数的安全性,减轻了云代理节点遭受的攻击行为,避免云节点性能不足造成共享延迟或失败。而且重加密密钥rekey对共享数据进行重加密,提高了数据共享的安全性,从而能够应用在不同场景,如医院、银行等需隐私数据共享交互场景,而且本发明具有拓展性,可结合其他技术或软硬件应用形成其他领域方案。
附图说明
[0026]
图1是本发明一较佳实施方式的通用场景下的云代理池分流重加密共享方法的流
程图。
[0027]
图2是本发明一较佳实施方式的通用场景下的云代理池分流重加密共享方法的云代理池结构示意图。
[0028]
图3是本发明一较佳实施方式的通用场景下的云代理池分流重加密共享方法的分流算法示意图。
[0029]
图4是本发明一较佳实施方式的通用场景下的云代理池分流重加密共享方法的共享示意图。
具体实施方式
[0030]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031]
需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。当一个组件被认为是“设置于”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中组件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
[0032]
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0033]
请同时参见图1至图4,本发明一较佳实施方式的通用场景下的云代理池分流重加密共享方法,包括下述步骤:
[0034]
s1、建立云代理池,云代理池具有多个代理节点,且每一代理节点设置都多共享参数。通过扩大代理节点与代理时的共享参数,以提高后续的分流代理节点的选择空间。
[0035]
s2、共享方与请求方通过云代理池建立通信,共享双方建立必要的通信,以此通知对方进行代理共享和协商双方需发送的共享信息。且共享方及请求方分别设置公私钥对,共享方通过向云代理池发送共享信息,以使云代理池获得下发代理节点的信号。
[0036]
在步骤s2中,共享信息包括共享方及请求方的特征标识及时间戳。
[0037]
s3、通过共享信息获得分流参数,根据分流参数并通过分流算法在代理节点中选取分流代理节点,以获得分流代理节点对应的共享参数及分流代理节点的公私钥对。
[0038]
在步骤s3中,云代理池根据共享方及请求方的特征标识及时间戳的哈希摘要作为分流参数。
[0039]
在步骤s3中,分流算法步骤为:
[0040]
a1、将n个代理节点组成彩虹表集合[1,n]的数值空间;
[0041]
a2、将分流参数转换为分流数值,分流数值在n同余下,选取数值空间中对应数值相匹配的代理节点,以获得分流代理节点;
[0042]
a3、返回分流代理节点及分流代理节对应的共享参数至云代理池。
[0043]
分流算法中,输出为分流参数;输出为分流代理节点及与其对应的共享参数,其中分流代理节点设置有公私钥对。本实施例的分流算法采取预定义形式,所以算法时间复杂度为o(1),从而能够提高代理节点的选择效率和安全性。
[0044]
s4、共享方及请求方进行通信并在完成共享共识后,云代理池根据共享方及请求方的公钥生成重加密密钥rekey。
[0045]
s5、共享方对明文数据进行加密及一次签名后发送至云代理池,以使云代理池通过重加密密钥rekey对获得的数据进行重加密;云代理池将重加密后的数据进行二次签名后发送至请求方,以使请求方进行解密后获得明文数据。
[0046]
本实施例中,共享方的公钥为公钥pka,共享方的私钥为私钥ska,请求方的公钥为公钥pkb,请求方的私钥为私钥skb,分流代理节点的公钥为公钥pk
p
,分流代理节点的私钥为私钥sk
p

[0047]
在步骤s5中,共享方通过公钥pka对明文数据m进行加密,以获得密文数据c,且共享方对明文数据m及密文数据c分别使用私钥ska进行一次签名,以获得数字签名摘要digitsignaturem及digitsignaturec;
[0048]
请求方将明文数据m及密文数据c和其对应的数字签名摘要发送至云代理池,云代理池通过重加密密钥rekey对密文数据c进行加密,以获得密文数据c',且云代理池对密文数据c及密文数据c'分别使用私钥sk
p
进行二次签名,以获得数字签名摘要digitsignature'c及digitsignature'
c'

[0049]
云代理池将密文数据c及密文数据c'和其对应的数字签名摘要发送至请求方,请求方通过私钥skb对密文数据c'进行解密,以获得明文数据m。
[0050]
s6、请求方对云代理池的一次签名及二次签名分别进行验证,以判断共享是否进行。
[0051]
在步骤s6中,请求方对digitsignaturem、digitsignaturec、digitsignature'c及digitsignature'
c'
分别进行验证。
[0052]
当digitsignaturem、digitsignaturec、digitsignature'c及digitsignature'
c'
验证的结果均通过时,共享结束;
[0053]
当digitsignaturem、digitsignaturec、digitsignature'c及digitsignature'
c'
任一验证的结果不通过时,共享失败并停止请求方与共享方的通信和停止请求方及共享方对云代理池的操作。
[0054]
本实施例中,digitsignaturem、digitsignaturec、digitsignature'c及digitsignature'
c'
验证的结果分别为result1、result2、result3、result4,则有:
[0055]
verify(digitsignaturem)=result1
[0056]
verifydigitsignaturc=result2
[0057]
verifydigitsignature'c=result3
[0058]
verifydigitsignature'c'=result4
[0059]
在上述等式通过后,执行共享结束,通过对签名进行验证,能够对共享条件进行限制,提高数据共享的安全性。
[0060]
本实施例中,云代理池通过设置多个代理节点扩大云代理节点及其共享参数,比其原生共享方案上的单云代理节点单共享参数,节点数量和参数呈现倍数增长。
[0061]
在通过所述共享信息获得分流参数,并且通过分流参数在所述代理节点中选取分流代理节点,实现了对云代理节点和共享参数进行合理随机选取,对半可信云节点的威胁场景提供了防护措施,提高了共享参数的安全性,减轻了云代理节点遭受的攻击行为,避免云节点性能不足造成共享延迟或失败。而且重加密密钥rekey对共享数据进行重加密,提高了数据共享的安全性,从而能够应用在不同场景,如医院、银行等需隐私数据共享交互场景,而且实施例具有拓展性,可结合其他技术或软硬件应用形成其他领域方案。
[0062]
本实施例与原生方法中代理节点对应一个共享参数的方案相比,本实施例以实际场景为主大幅度提升了安全和效率,其对照表如下所示:
[0063]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1