CN115865533B - 高并发场景下代理重加密管理方法、装置及存储介质 - Google Patents
高并发场景下代理重加密管理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN115865533B CN115865533B CN202310166647.0A CN202310166647A CN115865533B CN 115865533 B CN115865533 B CN 115865533B CN 202310166647 A CN202310166647 A CN 202310166647A CN 115865533 B CN115865533 B CN 115865533B
- Authority
- CN
- China
- Prior art keywords
- proxy
- hash value
- authorized party
- key
- public key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种高并发场景下代理重加密管理方法、装置及存储介质,其中高并发场景下代理重加密管理方法包括:获取被授权方发送的请求密文和加密所用的第一公钥的第一哈希值,判断第一哈希值是否存在缓存中,当不存在或已变更时,返回对应的状态码给被授权方,以重新获取被授权方发送的最新的第一公钥和对应的第一哈希值并进行缓存;获取授权方发送的第二公钥和对应的第二哈希值并进行缓存,判断第一哈希值和第二哈希值对应的代理重加密密钥是否存在缓存中,当不存在时,返回对应的状态码和第二公钥给被授权方,以获取被授权方基于第二公钥和第一公钥对应的第一私钥生成的代理重加密密钥并进行缓存。
Description
技术领域
本申请涉及计算机信息处理技术领域,具体涉及一种高并发场景下代理重加密管理方法、装置及存储介质。
背景技术
代理重加密是一种对密文进行安全转换的加密技术,即基于授权人公钥加密的密文可以被转换为另一种密文,且保持对应明文不变,被转换后的密文可以由被授权人的私钥进行解密。代理重加密技术的常用实现方式为通过中心节点协调被授权人公钥信息交由授权人私钥进行代理重加密密钥生成,然后将重加密密钥与密文一起发送给被授权人,被授权人使用代理重加密密钥+自己的私钥即可对密文进行解密。
在基于上述方式实现的代理重加密的业务场景下,中间节点为避免频繁重复的执行代理重加密密钥生成步骤,而选择缓存已生成好的代理重加密密钥,以便下次相同被授权人请求时直接从缓存中获取返回。该方式减少了至少两次的网络请求开销,极大的提高了业务的请求速度。
在上述技术背景下常使用的代理重加密管理方式虽然通过缓存方式缓存代理重加密密钥提供了业务的请求速度,但是存在这样一个问题:如果授权人或者被授权人的密钥对更新了,则缓存的代理重加密密钥信息也就同时失效了,从而导致本次业务请求失败。现有的解决方案为:当因密钥更新导致请求失败时,由中间节点删除失效缓存,让下一次请求中发现缓存不命中时再重新执行代理重加密密钥的过程并重新缓存新密钥。这种解决方案在低频请求下问题不明显,然而在高并发场景下会被无限放大,由此可能导致大量的失败请求,从而对业务造成不可估量的损失。
发明内容
本申请实施例的目的在于提供一种高并发场景下代理重加密管理方法、装置及存储介质,用以解决现有技术中的代理重加密管理方式在高并发场景下由于密钥对更新而导致大量的失败请求,从而对业务造成损失的问题。
为实现上述目的,本申请实施例提供一种高并发场景下代理重加密管理方法,包括:获取被授权方发送的请求密文和加密所用的第一公钥的第一哈希值,判断所述第一哈希值是否存在缓存中,当不存在或已变更时,返回对应的状态码给所述被授权方,以重新获取所述被授权方发送的最新的所述第一公钥和对应的所述第一哈希值并进行缓存;
获取授权方发送的第二公钥和对应的第二哈希值并进行缓存,判断所述第一哈希值和第二哈希值对应的代理重加密密钥是否存在缓存中,当不存在时,返回对应的状态码和所述第二公钥给所述被授权方,以获取所述被授权方基于所述第二公钥和所述第一公钥对应的第一私钥生成的所述代理重加密密钥并进行缓存。
可选地,在获取所述被授权方生成的所述代理重加密密钥并进行缓存之后,还包括:
利用所述代理重加密密钥对所述请求密文进行重加密,将经过重加密后的所述请求密文、对应的所述重加密密钥和第二哈希值发送给所述授权方,以使所述授权方判断所述第二哈希值是否存在缓存中;
当不存在时,获取所述授权方发送的状态码和最新的所述第二公钥并进行缓存,将对应的状态码和所述第二公钥返回给所述被授权方,以获取所述被授权方基于所述第二公钥和所述第一公钥对应的第一私钥生成的所述代理重加密密钥并进行缓存。
可选地,在获取所述被授权方生成的所述代理重加密密钥并进行缓存之后,还包括:
当所述授权方判断所述第二哈希值存在缓存中时,获取所述授权方返回的数据密文,所述数据密文通过所述授权方利用所述第二哈希值对应的第二私钥结合所述重加密密钥对经过重加密的所述请求密文进行解密得到请求报文,然后对所述请求报文所请求的数据利用所述第二公钥进行加密后得到;
将所述数据密文、对应的所述第一哈希值和重加密密钥发送给所述被授权方,以使所述被授权方利用所述第一哈希值对应的所述第一私钥结合所述重加密密钥对经过重加密的所述数据密文进行解密得到相应数据明文。
为实现上述目的,本申请实施例提供另一种高并发场景下代理重加密管理方法,包括:发送使用第一私钥加密的请求密文和对应的第一公钥的第一哈希值给代理方,以使所述代理方判断所述第一哈希值是否存在缓存中,当不存在或已变更时,获取所述代理方返回的状态码,基于状态码,发送的最新的所述第一公钥和对应的所述第一哈希值给所述代理方并由所述代理方进行缓存;
当所述代理方获取的第二哈希值和所述第一哈希值对应的代理重加密密钥不存在缓存中时,获取所述代理方返回的状态码和所述第二哈希值对应的第二公钥,基于所述第二公钥和所述第一公钥对应的第一私钥生成新的所述代理重加密密钥,并发送给所述代理方。
可选地,还包括:获取所述代理方返回的数据密文、对应的所述第一哈希值和重加密密钥,利用所述第一哈希值对应的所述第一私钥结合所述重加密密钥对经过重加密的所述数据密文进行解密得到相应数据明文,所述数据密文通过授权方利用所述第二哈希值对应的第二私钥结合所述重加密密钥对经过重加密的所述请求密文进行解密得到请求报文,然后对所述请求报文所请求的数据利用所述第二公钥进行加密后得到。
为实现上述目的,本申请还提供一种高并发场景下代理重加密管理装置,包括:存储器;以及
与所述存储器连接的处理器,所述处理器被配置成:
获取被授权方发送的请求密文和加密所用的第一公钥的第一哈希值,判断所述第一哈希值是否存在缓存中,当不存在或已变更时,返回对应的状态码给所述被授权方,以重新获取所述被授权方发送的最新的所述第一公钥和对应的所述第一哈希值并进行缓存;
获取授权方发送的第二公钥和对应的第二哈希值并进行缓存,判断所述第一哈希值和第二哈希值对应的代理重加密密钥是否存在缓存中,当不存在时,返回对应的状态码和所述第二公钥给所述被授权方,以获取所述被授权方基于所述第二公钥和所述第一公钥对应的第一私钥生成的所述代理重加密密钥并进行缓存。
为实现上述目的,本申请还提供另一种高并发场景下代理重加密管理装置,包括:存储器;以及
与所述存储器连接的处理器,所述处理器被配置成:
发送使用第一私钥加密的请求密文和对应的第一公钥的第一哈希值给代理方,以使所述代理方判断所述第一哈希值是否存在缓存中,当不存在或已变更时,获取所述代理方返回的状态码,基于状态码,发送的最新的所述第一公钥和对应的所述第一哈希值给所述代理方并由所述代理方进行缓存;
当所述代理方获取的第二哈希值和所述第一哈希值对应的代理重加密密钥不存在缓存中时,获取所述代理方返回的状态码和所述第二哈希值对应的第二公钥,基于所述第二公钥和所述第一公钥对应的第一私钥生成新的所述代理重加密密钥,并发送给所述代理方。
为实现上述目的,本申请还提供一种计算机存储介质,其上存储有计算机程序,其中所述计算机程序被机器执行时实现如上所述的方法的步骤。
本申请实施例具有如下优点:
本申请实施例提供一种高并发场景下代理重加密管理方法,包括:获取被授权方发送的请求密文和加密所用的第一公钥的第一哈希值,判断所述第一哈希值是否存在缓存中,当不存在或已变更时,返回对应的状态码给所述被授权方,以重新获取所述被授权方发送的最新的所述第一公钥和对应的所述第一哈希值并进行缓存;获取授权方发送的第二公钥和对应的第二哈希值并进行缓存,判断所述第一哈希值和第二哈希值对应的代理重加密密钥是否存在缓存中,当不存在时,返回对应的状态码和所述第二公钥给所述被授权方,以获取所述被授权方基于所述第二公钥和所述第一公钥对应的第一私钥生成的所述代理重加密密钥并进行缓存。
通过上述方法,利用公钥哈希检查+状态码重试+历史密钥对缓存机制解决了高并发请求时代理重加密密钥更新问题,提供了一种在高并发场景下代理重加密管理的方法,保障在高并发请求下发生任何一方密钥对变更时,业务并发请求都能正常处理而不因代理重加密密钥失效而导致失败,从而避免了大量失败请求对业务造成的损失。
附图说明
为了更清楚地说明本申请的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的实施附图。
图1为本申请实施例提供的一种高并发场景下代理重加密管理方法中密钥管理设计图;
图2为本申请实施例提供的一种高并发场景下代理重加密管理方法的流程图;
图3为本申请实施例提供的一种高并发场景下代理重加密管理方法中的管理方案的整体流程图;
图4为本申请实施例提供的另一种高并发场景下代理重加密管理方法的流程图;
图5为本申请实施例提供的一种高并发场景下代理重加密管理装置的模块框图。
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,下面所描述的本申请不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本申请提供的高并发场景下代理重加密管理方案的总体设计图参考图1,图1中的shaA表示被授权方的公钥对应的哈希值,(sha值,可以是sha1算法生成的hash值),shaB表示授权方公钥的哈希值(sha值,可以是sha1算法生成的hash值)。授权方和被授权方各保存预设数量的历史密钥对缓存,用于并发场景下密钥对更新找不到原密钥对问题。中间节点(代理方)缓存了双方的公钥信息和已生成的重加密密钥信息。
在整个交互流程中,两方(授权方和被授权方)都有可能发生密钥对的更新而导致重加密密钥的失效。以下实施例为交互过程中双方都更新密钥对的情况下管理方案的流程。
本申请一实施例提供一种高并发场景下代理重加密管理方法,所述方法应用于代理方,参考图2和图3,图2为本申请的一实施方式中提供的一种高并发场景下代理重加密管理方法的流程图,应当理解的是,该方法还可以包括未示出的附加框和/或可以省略所示出的框,本申请的范围在此方面不受限制。该方法包括以下步骤:
在步骤101处,获取被授权方发送的请求密文和加密所用的第一公钥的第一哈希值,判断所述第一哈希值是否存在缓存中,当不存在或已变更时,返回对应的状态码给所述被授权方,以重新获取所述被授权方发送的最新的所述第一公钥和对应的所述第一哈希值并进行缓存。
具体地,当被授权方请求路由到中心节点(代理方)时,会带上自己的公钥sha值(第一公钥的第一哈希值),中心节点通过该sha值检查是否有缓存,若有则直接进行后续操作。若未缓存则表示被授权方首次请求或密钥对已更新,此时中心节点(代理方)返回【状态码1】,表示下次请求中需要带上最新的公钥信息。被授权方带上最新公钥信息和公钥sha(最新的所述第一公钥和对应的所述第一哈希值)重新请求中心节点(代理方)。
在步骤102处,获取授权方发送的第二公钥和对应的第二哈希值并进行缓存,判断所述第一哈希值和第二哈希值对应的代理重加密密钥是否存在缓存中,当不存在时,返回对应的状态码和所述第二公钥给所述被授权方,以获取所述被授权方基于所述第二公钥和所述第一公钥对应的第一私钥生成的所述代理重加密密钥并进行缓存。
具体地,中心节点(代理方)用双方的公钥sha(第一哈希值和第二哈希值)检查这两个密钥对生成的代理重加密是否存在,若存在则继续执行,否则返回【状态码2】以及授权方的公钥信息(第二公钥),由被授权方进行代理重加密密钥生成。
在一些实施例中,在获取所述被授权方生成的所述代理重加密密钥并进行缓存之后,还包括:
利用所述代理重加密密钥对所述请求密文进行重加密,将经过重加密后的所述请求密文、对应的所述重加密密钥和第二哈希值发送给所述授权方,以使所述授权方判断所述第二哈希值是否存在缓存中;
当不存在时,获取所述授权方发送的状态码和最新的所述第二公钥并进行缓存,将对应的状态码和所述第二公钥返回给所述被授权方,以获取所述被授权方基于所述第二公钥和所述第一公钥对应的第一私钥生成的所述代理重加密密钥并进行缓存。
具体地,当被授权方的请求通过中心节点(代理方)代理到授权方时,会带上代理重加密以及参与此代理重加密生成的授权方公钥的sha值(第二哈希值),授权方用本地最新的公钥的sha值与之进行比较,若相同则表示密钥对未更新,若不同则从本地历史密钥对缓存中查找,若找到则用该密钥对解密,若找不到则表示此代理重加密密钥已失效,故返回【状态码2】以及最新的公钥(最新的所述第二公钥),由被授权方重新生成代理重加密后请求。
在一些实施例中,在获取所述被授权方生成的所述代理重加密密钥并进行缓存之后,还包括:
当所述授权方判断所述第二哈希值存在缓存中时,获取所述授权方返回的数据密文,所述数据密文通过所述授权方利用所述第二哈希值对应的第二私钥结合所述重加密密钥对经过重加密的所述请求密文进行解密得到请求报文,然后对所述请求报文所请求的数据利用所述第二公钥进行加密后得到;
将所述数据密文、对应的所述第一哈希值和重加密密钥发送给所述被授权方,以使所述被授权方利用所述第一哈希值对应的所述第一私钥结合所述重加密密钥对经过重加密的所述数据密文进行解密得到相应数据明文。
本申请一实施例提供另一种高并发场景下代理重加密管理方法,所述方法应用于被授权方,参考图4,图4为本申请的一实施方式中提供的另一种高并发场景下代理重加密管理方法的流程图,应当理解的是,该方法还可以包括未示出的附加框和/或可以省略所示出的框,本申请的范围在此方面不受限制。该方法包括以下步骤:
在步骤201处,发送使用第一私钥加密的请求密文和对应的第一公钥的第一哈希值给代理方,以使所述代理方判断所述第一哈希值是否存在缓存中,当不存在或已变更时,获取所述代理方返回的状态码,基于状态码,发送的最新的所述第一公钥和对应的所述第一哈希值给所述代理方并由所述代理方进行缓存。
在步骤202处,当所述代理方获取的第二哈希值和所述第一哈希值对应的代理重加密密钥不存在缓存中时,获取所述代理方返回的状态码和所述第二哈希值对应的第二公钥,基于所述第二公钥和所述第一公钥对应的第一私钥生成新的所述代理重加密密钥,并发送给所述代理方。
在一些实施例中,还包括:
获取所述代理方返回的数据密文、对应的所述第一哈希值和重加密密钥,利用所述第一哈希值对应的所述第一私钥结合所述重加密密钥对经过重加密的所述数据密文进行解密得到相应数据明文,所述数据密文通过授权方利用所述第二哈希值对应的第二私钥结合所述重加密密钥对经过重加密的所述请求密文进行解密得到请求报文,然后对所述请求报文所请求的数据利用所述第二公钥进行加密后得到。
具体实现方法参考前述方法实施例,此处不再赘述。
通过上述方法,利用公钥哈希检查+状态码重试+历史密钥对缓存机制解决了高并发请求时代理重加密密钥更新问题,提供了一种在高并发场景下代理重加密管理的方法,保障在高并发请求下发生任何一方密钥对变更时,业务并发请求都能正常处理而不因代理重加密密钥失效而导致失败,从而避免了大量失败请求对业务造成的损失。
本方案通过公钥sha值检查和错误码机制保障在高并发请求场景下双方密钥对更新时所有请求都能正常处理,不会出现因密钥更新导致的失败。
本方案通过历史密钥对缓存机制,在高并发请求场景下双方密钥对更新时提高了一次请求成功率,避免频繁进行代理重加密的生成。
图5为本申请实施例提供的一种高并发场景下代理重加密管理装置的模块框图。该装置包括:
存储器301;以及与所述存储器301连接的处理器302,所述处理器302被配置成:获取被授权方发送的请求密文和加密所用的第一公钥的第一哈希值,判断所述第一哈希值是否存在缓存中,当不存在或已变更时,返回对应的状态码给所述被授权方,以重新获取所述被授权方发送的最新的所述第一公钥和对应的所述第一哈希值并进行缓存;
获取授权方发送的第二公钥和对应的第二哈希值并进行缓存,判断所述第一哈希值和第二哈希值对应的代理重加密密钥是否存在缓存中,当不存在时,返回对应的状态码和所述第二公钥给所述被授权方,以获取所述被授权方基于所述第二公钥和所述第一公钥对应的第一私钥生成的所述代理重加密密钥并进行缓存。
在一些实施例中,所述处理器302还被配置成:在获取所述被授权方生成的所述代理重加密密钥并进行缓存之后,还包括:
利用所述代理重加密密钥对所述请求密文进行重加密,将经过重加密后的所述请求密文、对应的所述重加密密钥和第二哈希值发送给所述授权方,以使所述授权方判断所述第二哈希值是否存在缓存中;
当不存在时,获取所述授权方发送的状态码和最新的所述第二公钥并进行缓存,将对应的状态码和所述第二公钥返回给所述被授权方,以获取所述被授权方基于所述第二公钥和所述第一公钥对应的第一私钥生成的所述代理重加密密钥并进行缓存。
在一些实施例中,所述处理器302还被配置成:在获取所述被授权方生成的所述代理重加密密钥并进行缓存之后,还包括:
当所述授权方判断所述第二哈希值存在缓存中时,获取所述授权方返回的数据密文,所述数据密文通过所述授权方利用所述第二哈希值对应的第二私钥结合所述重加密密钥对经过重加密的所述请求密文进行解密得到请求报文,然后对所述请求报文所请求的数据利用所述第二公钥进行加密后得到;
将所述数据密文、对应的所述第一哈希值和重加密密钥发送给所述被授权方,以使所述被授权方利用所述第一哈希值对应的所述第一私钥结合所述重加密密钥对经过重加密的所述数据密文进行解密得到相应数据明文。
在一些实施例中,所述处理器302被配置成:发送使用第一私钥加密的请求密文和对应的第一公钥的第一哈希值给代理方,以使所述代理方判断所述第一哈希值是否存在缓存中,当不存在或已变更时,获取所述代理方返回的状态码,基于状态码,发送的最新的所述第一公钥和对应的所述第一哈希值给所述代理方并由所述代理方进行缓存;
当所述代理方获取的第二哈希值和所述第一哈希值对应的代理重加密密钥不存在缓存中时,获取所述代理方返回的状态码和所述第二哈希值对应的第二公钥,基于所述第二公钥和所述第一公钥对应的第一私钥生成新的所述代理重加密密钥,并发送给所述代理方。
在一些实施例中,所述处理器302还被配置成:还包括:
获取所述代理方返回的数据密文、对应的所述第一哈希值和重加密密钥,利用所述第一哈希值对应的所述第一私钥结合所述重加密密钥对经过重加密的所述数据密文进行解密得到相应数据明文,所述数据密文通过授权方利用所述第二哈希值对应的第二私钥结合所述重加密密钥对经过重加密的所述请求密文进行解密得到请求报文,然后对所述请求报文所请求的数据利用所述第二公钥进行加密后得到。
具体实现方法参考前述方法实施例,此处不再赘述。
本申请可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本申请的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
注意,除非另有直接说明,否则本说明书(包含任何所附权利要求、摘要和附图)中所揭示的所有特征皆可由用于达到相同、等效或类似目的的可替代特征来替换。因此,除非另有明确说明,否则所公开的每一个特征仅是一组等效或类似特征的一个示例。在使用到的情况下,进一步地、较优地、更进一步地和更优地是在前述实施例基础上进行另一实施例阐述的简单起头,该进一步地、较优地、更进一步地或更优地后带的内容与前述实施例的结合作为另一实施例的完整构成。在同一实施例后带的若干个进一步地、较优地、更进一步地或更优地设置之间可任意组合的组成又一实施例。
虽然,上文中已经用一般性说明及具体实施例对本申请作了详尽的描述,但在本申请基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本申请精神的基础上所做的这些修改或改进,均属于本申请要求保护的范围。
Claims (10)
1.一种高并发场景下代理重加密管理方法,其特征在于,所述方法应用于代理方,包括:
获取被授权方发送的请求密文和加密所用的第一公钥的第一哈希值,判断所述第一哈希值是否存在缓存中,当不存在或已变更时,返回对应的状态码给所述被授权方,以重新获取所述被授权方发送的最新的所述第一公钥和对应的所述第一哈希值并进行缓存;
获取授权方发送的第二公钥和对应的第二哈希值并进行缓存,判断所述第一哈希值和第二哈希值对应的代理重加密密钥是否存在缓存中,当不存在时,返回对应的状态码和所述第二公钥给所述被授权方,以获取所述被授权方基于所述第二公钥和所述第一公钥对应的第一私钥生成的所述代理重加密密钥并进行缓存;
其中,所述授权方和被授权方各保存预设数量的历史密钥对缓存,所述代理方缓存了所述授权方和被授权方的公钥信息和已生成的重加密密钥信息。
2.根据权利要求1所述的高并发场景下代理重加密管理方法,其特征在于,在获取所述被授权方生成的所述代理重加密密钥并进行缓存之后,还包括:
利用所述代理重加密密钥对所述请求密文进行重加密,将经过重加密后的所述请求密文、对应的所述重加密密钥和第二哈希值发送给所述授权方,以使所述授权方判断所述第二哈希值是否存在缓存中;
当不存在时,获取所述授权方发送的状态码和最新的所述第二公钥并进行缓存,将对应的状态码和所述第二公钥返回给所述被授权方,以获取所述被授权方基于所述第二公钥和所述第一公钥对应的第一私钥生成的所述代理重加密密钥并进行缓存。
3.根据权利要求2所述的高并发场景下代理重加密管理方法,其特征在于,在获取所述被授权方生成的所述代理重加密密钥并进行缓存之后,还包括:
当所述授权方判断所述第二哈希值存在缓存中时,获取所述授权方返回的数据密文,所述数据密文通过所述授权方利用所述第二哈希值对应的第二私钥结合所述重加密密钥对经过重加密的所述请求密文进行解密得到请求报文,然后对所述请求报文所请求的数据利用所述第二公钥进行加密后得到;
将所述数据密文、对应的所述第一哈希值和重加密密钥发送给所述被授权方,以使所述被授权方利用所述第一哈希值对应的所述第一私钥结合所述重加密密钥对经过重加密的所述数据密文进行解密得到相应数据明文。
4.一种高并发场景下代理重加密管理方法,其特征在于,所述方法应用于被授权方,包括:
发送使用第一私钥加密的请求密文和对应的第一公钥的第一哈希值给代理方,以使所述代理方判断所述第一哈希值是否存在缓存中,当不存在或已变更时,获取所述代理方返回的状态码,基于状态码,发送的最新的所述第一公钥和对应的所述第一哈希值给所述代理方并由所述代理方进行缓存;
当所述代理方获取的第二哈希值和所述第一哈希值对应的代理重加密密钥不存在缓存中时,获取所述代理方返回的状态码和所述第二哈希值对应的第二公钥,基于所述第二公钥和所述第一公钥对应的第一私钥生成新的所述代理重加密密钥,并发送给所述代理方;
其中,授权方和所述被授权方各保存预设数量的历史密钥对缓存,所述代理方缓存了所述授权方和被授权方的公钥信息和已生成的重加密密钥信息。
5.根据权利要求4所述的高并发场景下代理重加密管理方法,其特征在于,还包括:
获取所述代理方返回的数据密文、对应的所述第一哈希值和重加密密钥,利用所述第一哈希值对应的所述第一私钥结合所述重加密密钥对经过重加密的所述数据密文进行解密得到相应数据明文,所述数据密文通过授权方利用所述第二哈希值对应的第二私钥结合所述重加密密钥对经过重加密的所述请求密文进行解密得到请求报文,然后对所述请求报文所请求的数据利用所述第二公钥进行加密后得到。
6.一种高并发场景下代理重加密管理装置,其特征在于,所述装置应用于代理方,包括:
存储器;以及
与所述存储器连接的处理器,所述处理器被配置成:
获取被授权方发送的请求密文和加密所用的第一公钥的第一哈希值,判断所述第一哈希值是否存在缓存中,当不存在或已变更时,返回对应的状态码给所述被授权方,以重新获取所述被授权方发送的最新的所述第一公钥和对应的所述第一哈希值并进行缓存;
获取授权方发送的第二公钥和对应的第二哈希值并进行缓存,判断所述第一哈希值和第二哈希值对应的代理重加密密钥是否存在缓存中,当不存在时,返回对应的状态码和所述第二公钥给所述被授权方,以获取所述被授权方基于所述第二公钥和所述第一公钥对应的第一私钥生成的所述代理重加密密钥并进行缓存;
其中,所述授权方和被授权方各保存预设数量的历史密钥对缓存,所述代理方缓存了所述授权方和被授权方的公钥信息和已生成的重加密密钥信息。
7.根据权利要求6所述的高并发场景下代理重加密管理装置,其特征在于,所述处理器被配置成:
在获取所述被授权方生成的所述代理重加密密钥并进行缓存之后,还包括:
利用所述代理重加密密钥对所述请求密文进行重加密,将经过重加密后的所述请求密文、对应的所述重加密密钥和第二哈希值发送给所述授权方,以使所述授权方判断所述第二哈希值是否存在缓存中;
当不存在时,获取所述授权方发送的状态码和最新的所述第二公钥并进行缓存,将对应的状态码和所述第二公钥返回给所述被授权方,以获取所述被授权方基于所述第二公钥和所述第一公钥对应的第一私钥生成的所述代理重加密密钥并进行缓存。
8.根据权利要求7所述的高并发场景下代理重加密管理装置,其特征在于,所述处理器被配置成:
在获取所述被授权方生成的所述代理重加密密钥并进行缓存之后,还包括:
当所述授权方判断所述第二哈希值存在缓存中时,获取所述授权方返回的数据密文,所述数据密文通过所述授权方利用所述第二哈希值对应的第二私钥结合所述重加密密钥对经过重加密的所述请求密文进行解密得到请求报文,然后对所述请求报文所请求的数据利用所述第二公钥进行加密后得到;
将所述数据密文、对应的所述第一哈希值和重加密密钥发送给所述被授权方,以使所述被授权方利用所述第一哈希值对应的所述第一私钥结合所述重加密密钥对经过重加密的所述数据密文进行解密得到相应数据明文。
9.一种高并发场景下代理重加密管理装置,其特征在于,所述装置应用于被授权方,包括:
存储器;以及
与所述存储器连接的处理器,所述处理器被配置成:
发送使用第一私钥加密的请求密文和对应的第一公钥的第一哈希值给代理方,以使所述代理方判断所述第一哈希值是否存在缓存中,当不存在或已变更时,获取所述代理方返回的状态码,基于状态码,发送的最新的所述第一公钥和对应的所述第一哈希值给所述代理方并由所述代理方进行缓存;
当所述代理方获取的第二哈希值和所述第一哈希值对应的代理重加密密钥不存在缓存中时,获取所述代理方返回的状态码和所述第二哈希值对应的第二公钥,基于所述第二公钥和所述第一公钥对应的第一私钥生成新的所述代理重加密密钥,并发送给所述代理方;
其中,授权方和所述被授权方各保存预设数量的历史密钥对缓存,所述代理方缓存了所述授权方和被授权方的公钥信息和已生成的重加密密钥信息。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被机器执行时实现如权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310166647.0A CN115865533B (zh) | 2023-02-27 | 2023-02-27 | 高并发场景下代理重加密管理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310166647.0A CN115865533B (zh) | 2023-02-27 | 2023-02-27 | 高并发场景下代理重加密管理方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115865533A CN115865533A (zh) | 2023-03-28 |
CN115865533B true CN115865533B (zh) | 2023-07-28 |
Family
ID=85659017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310166647.0A Active CN115865533B (zh) | 2023-02-27 | 2023-02-27 | 高并发场景下代理重加密管理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115865533B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023010727A1 (zh) * | 2021-08-06 | 2023-02-09 | 苏州浪潮智能科技有限公司 | 密钥更新及文件共享方法、装置、设备、计算机存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107251480B (zh) * | 2015-02-20 | 2018-07-10 | 三菱电机株式会社 | 数据保管装置、数据更新系统和数据处理方法 |
CN112865955B (zh) * | 2021-01-20 | 2023-01-03 | 深圳技术大学 | 多接收者代理重加密方法、系统、电子装置及存储介质 |
WO2023000313A1 (zh) * | 2021-07-23 | 2023-01-26 | 华为技术有限公司 | 一种密钥验证方法及相关装置 |
CN114528331A (zh) * | 2022-01-12 | 2022-05-24 | 盐城矩阵运营管理有限公司 | 基于区块链的数据查询方法及装置、介质、设备 |
CN114697042A (zh) * | 2022-03-07 | 2022-07-01 | 电子科技大学 | 一种基于区块链的物联网安全数据共享代理重加密方法 |
CN115114658B (zh) * | 2022-06-24 | 2024-04-05 | 深圳大学 | 基于区块链的可验证数据交易方法、装置、设备及介质 |
-
2023
- 2023-02-27 CN CN202310166647.0A patent/CN115865533B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023010727A1 (zh) * | 2021-08-06 | 2023-02-09 | 苏州浪潮智能科技有限公司 | 密钥更新及文件共享方法、装置、设备、计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115865533A (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6941183B2 (ja) | データのトークン化 | |
US11271726B2 (en) | Key encryption methods, apparatuses, and systems | |
CN113411345B (zh) | 一种安全会话的方法和装置 | |
CN109886692B (zh) | 基于区块链的数据传输方法、装置、介质及电子设备 | |
US20180124023A1 (en) | Method, system and apparatus for storing website private key plaintext | |
WO2016136024A1 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
CN113157778B (zh) | 分布式数据仓库的可代理查询方法、系统、设备及介质 | |
CN111756690A (zh) | 一种数据处理系统、方法及服务器 | |
CN113032833B (zh) | 用户查询方法和装置、存储介质、电子设备 | |
CN115828310B (zh) | 一种基于隐私计算的数据查询方法、装置及存储介质 | |
CN115865533B (zh) | 高并发场景下代理重加密管理方法、装置及存储介质 | |
JP6602575B2 (ja) | 向上したセキュリティを提供するクラウド基盤メールシステムおよびメールサービス方法 | |
KR20210036700A (ko) | 트랜잭션에 포함된 평문 데이터의 변경을 지원하는 블록체인 시스템 | |
US20210135858A1 (en) | Information Processing Method, Terminal Device, and Network System | |
US20220173913A1 (en) | Consent Management | |
CN114710336B (zh) | 一种独立于物联网平台的安全通信方法及系统 | |
CN116388970B (zh) | 一种基于多方数据的中心化云计算实现方法及装置 | |
JP2014017763A (ja) | 暗号更新システム、暗号更新要求装置、暗号更新装置、復号装置、暗号更新方法、および、コンピュータ・プログラム | |
US12010143B2 (en) | Bulk data transfers via transport layer security protocol | |
KR20030037145A (ko) | 패스워드 기반 키교환 방법 및 그 시스템 | |
CN115906185B (zh) | 一种批量隐匿查询方法、装置及存储介质 | |
CN112925853B (zh) | 基于区块链的可信数据交换方法、装置、终端设备和介质 | |
CN111526128B (zh) | 一种加密管理的方法和装置 | |
US20220321338A1 (en) | Systems and methods for dynamically encrypting redirect requests | |
Ansara et al. | Security of Information in Cloud Computing: A Systematic Review |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |