信息投递方法、装置、系统、电子设备及存储介质

文档序号:195825 发布日期:2021-11-02 浏览:28次 >En<

阅读说明:本技术 信息投递方法、装置、系统、电子设备及存储介质 (Information delivery method, device, system, electronic equipment and storage medium ) 是由 金鑫 于 2021-08-03 设计创作,主要内容包括:本公开实施例公开了一种信息投递方法、装置、系统、电子设备及存储介质,该方法包括:接收当前密文;当前密文基于可用混淆服务器的公钥按照预定加密方式对待投递信息进行加密后得到的信息;可用混淆服务器为区块链管理的服务器列表中的服务器,且可用混淆服务器的公钥从区块链上获取;将当前密文与其他密文构成的多个密文发送至可用混淆服务器,以便由可用混淆服务器按照与预定加密方式对应的解密方式进行解密,并将所得到的多个解密信息进行顺序置换,使得置换后的多个解密信息中的每一个与多个密文对应的其中一个的明文信息对应一致,且多个解密信息之间的顺序关系与多个密文之间的顺序关系不一致;接收多个解密信息,并进行投递。(The embodiment of the disclosure discloses an information delivery method, an information delivery device, an information delivery system, electronic equipment and a storage medium, wherein the method comprises the following steps: receiving a current ciphertext; the current ciphertext is based on the information obtained by encrypting the information to be delivered in a preset encryption mode by using a public key of an available confusion server; the available confusion server is a server in a server list managed by the block chain, and a public key of the available confusion server is acquired from the block chain; sending a plurality of ciphertexts consisting of the current ciphertexts and other ciphertexts to an available confusion server so that the available confusion server can decrypt the ciphertexts in a decryption mode corresponding to a preset encryption mode, and sequentially replacing a plurality of obtained decryption information, so that each of the plurality of replaced decryption information corresponds to one of plaintext information corresponding to the plurality of ciphertexts, and the sequential relation among the plurality of decryption information is inconsistent with the sequential relation among the plurality of ciphertexts; and receiving a plurality of decryption information and delivering.)

信息投递方法、装置、系统、电子设备及存储介质

技术领域

本公开实施例涉及区块链技术领域,具体涉及一种信息投递方法、装置、系统、电子设备及存储介质。

背景技术

随着互联网的发展,各行各业的企业以及个人等均有在网上投递信息的需求。而一些企业或个人在某些场景下,并不希望第三方知晓所投递的信息与自身的关系,也即有这些企业或个人希望在匿名投递信息后,接收者和任何第三方均难以将所投递的信息消息对应到发送者的具体身份。因此,如何保证信息投递者所投递的信息与信息投递者的身份之间的匿名性是本领域当前需要解决的问题之一。

发明内容

本公开实施例提供一种信息投递方法、装置、系统、电子设备及存储介质。

第一方面,本公开实施例中提供了一种信息投递方法,包括:

接收信息发送端发送的当前密文;其中,所述当前密文基于可用混淆服务器的公钥按照预定加密方式对待投递信息进行加密后得到;所述可用混淆服务器为区块链管理的服务器列表中的服务器,且所述可用混淆服务器的公钥从区块链上获取;

将所述当前密文与其他密文构成的多个密文发送至可用混淆服务器,以便由所述可用混淆服务器按照与所述预定加密方式对应的解密方式进行解密,并将所得到的多个解密信息进行顺序置换,使得置换后的所述多个解密信息中的每一个与所述多个密文对应的其中一个的明文信息对应一致,且所述多个解密信息之间的顺序关系与所述多个密文之间的顺序关系不一致;

从所述可用混淆服务器接收所述多个解密信息,并进行投递。

进一步地,所述可用混淆服务器包括多个;所述预定加密方式为使用所述多个可用混淆服务器的公钥对所述待投递信息进行层层加密。

进一步地,每个所述可用混淆服务器基于自身的私钥,对接收到所述多个密文进行解密后得到多个解密信息,并且将得到的所述多个解密信息之间的顺序关系随机置换后作为待进一步解密的多个密文发送至下一所述可用混淆服务器,最后一个所述可用混淆服务器得到的多个解密信息中的每一个与所述多个密文中的其中一个的明文信息对应一致,并且最后一个所述可用混淆服务器将经过置换后的所述多个解密信息返回。

进一步地,每个所述可用混淆服务器基于自身的私钥,对接收到所述多个密文进行解密后得到多个解密信息,并且将得到的所述多个解密信息之间的顺序进行随机置换后返回;所述从所述可用混淆服务器接收所述多个解密信息,并进行投递,包括:

接收所述可用混淆服务器返回的多个解密信息;

在返回所述多个解密信息的所述可用混淆服务器不为所述服务器列表中的最后一个可用混淆服务器时,将接收到的所述多个解密信息作为待进一步解密的多个密文发送至下一可用混淆服务器;

在返回所述多个解密信息的所述可用混淆服务器为最后一个可用混淆服务器时,将接收到的所述多个解密信息进行投递。

进一步地,所述可用混淆服务器所在的服务器列表、所述可用混淆服务器的生命周期、和/或所述可用服务器对接收到的多个密文进行解密以及顺序置换的相关操作信息均通过区块链管理。

第二方面,本公开实施例中提供了一种信息投递方法,所述方法在可用混淆服务器上执行,包括:

接收多个密文;所述多个密文为经过当前所述可用混淆服务器的公钥进行加密后得到的信息;

基于当前可用混淆服务器的私钥对所述多个密文进行解密,得到多个解密信息;

将所述多个解密信息之间的顺序关系进行随机置换;

将随机置换后的所述多个解密信息发送至信息接收端或者下一可用混淆服务器。

进一步地,所述方法还包括:

生成或更新用于消息加密的公私钥对;

基于所述公私钥对中的私钥对公钥进行签名,以及将所述公钥和签名信息发布至区块链上,以便将所述可用混淆服务器加入所述区块链所管理的服务器列表中。

进一步地,所述方法还包括:

将当前进行解密和顺序置换的相关操作信息发布至区块链上。

进一步地,所述方法还包括:

从区块链注销所述公私钥对,以便将所述可用混淆服务器从所述区块链所管理的服务器列表中删除。

进一步地,所述可用混淆服务器为多个可用混淆服务器中的其中一个;所述多个可用混淆服务器中,第一个所述可用混淆服务器接收的多个密文为基于所述多个可用混淆服务器的公钥对多个待投递信息分别进行层层加密后得到的信息,其他所述可用混淆服务器接收到的多个密文为上一所述可用混淆服务器基于自身的私钥解密得到的多个解密信息,并且所述多个解密信息之间的顺序关系经过上一所述可用混淆服务器的随机置换;最后一个所述可用混淆服务器得到的多个解密信息中的每一个与所述多个密文中的其中一个的明文信息对应一致,并且最后一个所述可用混淆服务器将所得到的经过随机置换的所述多个解密信息返回至信息接收端。

进一步地,所述可用混淆服务器为多个可用混淆服务器中的其中一个;所述多个可用混淆服务器从信息接收端接收多个密文,且第一个所述可用混淆服务器接收的多个密文为基于所述多个可用混淆服务器的公钥对多个待投递信息分别进行层层加密后得到的信息,其他所述可用混淆服务器接收到的多个密文为上一所述可用混淆服务器基于自身的私钥解密得到的多个解密信息,并且所述多个解密信息之间的顺序关系经过上一所述可用混淆服务器的随机置换;最后一个所述可用混淆服务器得到的多个解密信息中的每一个与所述多个密文中的其中一个的明文信息对应一致,每个所述可用混淆服务器将所得到的经过随机置换的所述多个解密信息返回至信息接收端。

进一步地,所述可用混淆服务器所在的服务器列表、所述可用混淆服务器的生命周期、和/或所述可用服务器对接收到的多个密文进行解密以及顺序置换的相关操作信息均通过区块链管理。

第三方面,本公开实施例中提供了一种信息投递方法,其中,包括:

信息发送端接收消息投递者提供的待投递信息;

所述信息发送端获取发布在区块链上的可用混淆服务器的公钥;

所述信息发送端利用所述可用混淆服务器的公钥按照预定加密方式对待投递信息进行加密后得到对应的当前密文;

所述信息发送端将所述当前密文发送至信息接收端;

所述信息接收端将所述当前密文与其他密文构成的多个密文发送至可用混淆服务器;

所述可用混淆服务器接收所述多个密文;

所述可用混淆服务器基于自身的私钥对所述多个密文进行解密,得到多个解密信息;

所述可用混淆服务器将所述多个解密信息之间的顺序关系进行随机置换;

所述可用混淆服务器将随机置换后的所述多个解密信息返回至所述信息接收端;

所述信息接收端从所述可用混淆服务器接收所述多个解密信息,并进行投递。

进一步地,所述可用混淆服务器包括多个;所述预定加密方式为使用所述多个可用混淆服务器的公钥对所述待投递信息进行层层加密。

进一步地,每个所述可用混淆服务器基于自身的私钥,对接收到所述多个密文进行解密后得到多个解密信息,并且将得到的所述多个解密信息之间的顺序关系随机置换后作为待进一步解密的多个密文发送至下一所述可用混淆服务器,最后一个所述可用混淆服务器得到的多个解密信息中的每一个与所述多个密文中的其中一个的明文信息对应一致,并且最后一个所述可用混淆服务器将经过置换后的所述多个解密信息返回。

进一步地,每个所述可用混淆服务器基于自身的私钥,对接收到所述多个密文进行解密后得到多个解密信息,并且将得到的所述多个解密信息之间的顺序进行随机置换后返回至所述信息发送端;所述信息接收端从所述可用混淆服务器接收所述多个解密信息,并进行投递,包括:

所述信息接收端接收所述可用混淆服务器返回的多个解密信息;

所述信息接收端在返回所述多个解密信息的所述可用混淆服务器不为所述服务器列表中的最后一个可用混淆服务器时,将接收到的所述多个解密信息作为待进一步解密的多个密文发送至下一可用混淆服务器;

所述信息接收端在返回所述多个解密信息的所述可用混淆服务器为最后一个可用混淆服务器时,将接收到的所述多个解密信息进行投递。

进一步地,所述可用混淆服务器所在的服务器列表、所述可用混淆服务器的生命周期、和/或所述可用服务器对接收到的多个密文进行解密以及顺序置换的相关操作信息均通过区块链管理。

进一步地,所述方法还包括:

所述可用混淆服务器生成或更新用于消息加密的公私钥对;

所述可用混淆服务器基于所述公私钥对中的私钥对公钥进行签名,以及将所述公钥和签名信息发布至区块链上,以便将所述可用混淆服务器加入所述区块链所管理的服务器列表中。

进一步地,所述方法还包括:

所述可用混淆服务器将当前进行解密和顺序置换的相关操作信息发布至区块链上。

进一步地,所述方法还包括:

所述可用混淆服务器从区块链注销所述公私钥对,以便将所述可用混淆服务器从所述区块链所管理的服务器列表中删除。

第四方面,本公开实施例中提供了一种信息投递装置,包括:

第一接收模块,被配置为接收信息发送端发送的当前密文;其中,所述当前密文基于可用混淆服务器的公钥按照预定加密方式对待投递信息进行加密后得到;所述可用混淆服务器为区块链管理的服务器列表中的服务器,且所述可用混淆服务器的公钥从区块链上获取;

第一发送模块,被配置为将所述当前密文与其他密文构成的多个密文发送至可用混淆服务器,以便由所述可用混淆服务器按照与所述预定加密方式对应的解密方式进行解密,并将所得到的多个解密信息进行顺序置换,使得置换后的所述多个解密信息中的每一个与所述多个密文对应的其中一个的明文信息对应一致,且所述多个解密信息之间的顺序关系与所述多个密文之间的顺序关系不一致;

第一接收模块,被配置为从所述可用混淆服务器接收所述多个解密信息,并进行投递。

第五方面,本公开实施例中提供了一种信息投递装置,所述装置在可用混淆服务器上运行,包括:

第二接收模块,被配置为接收多个密文;所述多个密文为经过当前所述可用混淆服务器的公钥进行加密后得到的信息;

解密模块,被配置为基于当前可用混淆服务器的私钥对所述多个密文进行解密,得到多个解密信息;

置换模块,被配置为将所述多个解密信息之间的顺序关系进行随机置换;

第二发送模块,被配置为将随机置换后的所述多个解密信息发送至信息接收端或者下一可用混淆服务器。

所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,上述装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持上述装置执行上述对应方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。上述装置还可以包括通信接口,用于上述装置与其他设备或通信网络通信。

第六方面,本公开实施例中提供了一种信息投递系统,所述信息投递系统包括信息发送端、信息接收端和可用混淆服务器;其中,

所述信息发送端接收消息投递者提供的待投递信息,并获取发布在区块链上的可用混淆服务器的公钥;

所述信息发送端还利用所述可用混淆服务器的公钥按照预定加密方式对待投递信息进行加密后得到对应的当前密文,以及将所述当前密文发送至信息接收端;

所述信息接收端将所述当前密文与其他密文构成的多个密文发送至可用混淆服务器,以及从所述可用混淆服务器接收多个解密信息后,进行投递;

所述可用混淆服务器接收所述多个密文,并基于自身的私钥对所述多个密文进行解密,得到多个解密信息;所述可用混淆服务器还将所述多个解密信息之间的顺序关系进行随机置换,以及将随机置换后的所述多个解密信息返回至所述信息接收端。

第七方面,本公开实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条支持上述任一装置执行上述对应方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。上述任一装置还可以包括通信接口,用于与其他设备或通信网络通信。

第八方面,本公开实施例提供了一种计算机可读存储介质,用于存储上述任一装置所用的计算机指令,其包含用于执行上述任一方法所涉及的计算机指令。

第九方面,本公开实施例提供了一种计算机程序产品,其包含计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述方法的步骤。

本公开实施例提供的技术方案可包括以下有益效果:

本公开实施例中,信息投递者的待投递信息经过混淆服务器的公钥加密,而混淆服务器的私钥等信息由区块链管理,保证了混淆服务器的可用性、服务质量以及可信程度,并且由于使用了区块链技术,混淆服务器的公钥等相关信息可公开获取,同时可以保证不可篡改、不可撤销、可溯源。而经过混淆服务器进行解密和顺序置换的解密信息也同样能够保证其不可篡改、不可撤销、可溯源且公开透明,由于在信息接收端和混淆服务器端均无法感知待投递信息与信息投递者之间的身份关系,因此能够防止第三方使用非法手段窃取待投递信息与信息投递者身份之间的关系,完全保证了信息投递者的匿名性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开实施例。

附图说明

结合附图,通过以下非限制性实施方式的详细描述,本公开实施例的其它特征、目的和优点将变得更加明显。在附图中:

图1示出根据本公开一实施方式的信息投递方法的流程图;

图2示出根据本公开另一实施方式的信息投递方法的流程图;

图3示出根据本公开另一实施方式的信息投递方法的流程图;

图4示出根据本公开一实施方式的信息投递方法在用工模式场景下的匿名消息发布系统的结构框图;

图5示出根据本公开一实施方式的信息投递方法中区块链的工作原理示意图;

图6示出根据本公开一实施方式的信息投递方法中消息混淆操作的流程示意图;

图7示出根据本公开一实施方式的在消息发布场景下的消息发布流程示意图;

图8示出根据本公开一实施方式的信息投递装置的结构框图;

图9示出根据本公开另一实施方式的信息投递装置的结构框图;

图10示出根据本公开另一实施方式的信息投递系统的结构框图;

图11是适于用来实现根据本公开一实施方式的信息投递方法的计算机系统的结构示意图。

具体实施方式

下文中,将参考附图详细描述本公开实施例的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。

在本公开实施例中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。

另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开实施例。

上文提及,随着互联网的发展,各行各业的企业以及个人等均有在网上投递信息的需求。而一些企业或个人在某些场景下,并不希望第三方知晓所投递的信息与自身的关系,也即有这些企业或个人希望在匿名投递信息后,接收者和任何第三方均难以将所投递的信息消息对应到发送者的具体身份。因此,如何保证信息投递者所投递的信息与信息投递者的身份之间的匿名性是本领域当前需要解决的问题之一。

为此,本公开实施例提出了一种信息投递方法,该方法包括:接收信息发送端发送的当前密文;其中,所述当前密文基于可用混淆服务器的公钥按照预定加密方式对待投递信息进行加密后得到;所述可用混淆服务器为区块链管理的服务器列表中的服务器,且所述可用混淆服务器的公钥从区块链上获取;将所述当前密文与其他密文构成的多个密文发送至可用混淆服务器,以便由所述可用混淆服务器按照与所述预定加密方式对应的解密方式进行解密,并将所得到的多个解密信息进行顺序置换,使得置换后的所述多个解密信息中的每一个与所述多个密文对应的其中一个的明文信息对应一致,且所述多个解密信息之间的顺序关系与所述多个密文之间的顺序关系不一致;从所述可用混淆服务器接收所述多个解密信息,并进行投递。

本公开实施例中,信息投递者的待投递信息经过混淆服务器的公钥加密,而混淆服务器的私钥等信息由区块链管理,保证了混淆服务器的可用性、服务质量以及可信程度,并且由于使用了区块链技术,混淆服务器的公钥等相关信息可公开获取,同时可以保证不可篡改、不可撤销、可溯源。而经过混淆服务器进行解密和顺序置换的解密信息也同样能够保证其不可篡改、不可撤销、可溯源且公开透明,由于在信息接收端和混淆服务器端均无法感知待投递信息与信息投递者之间的身份关系,因此能够防止第三方使用非法手段窃取待投递信息与信息投递者身份之间的关系,完全保证了信息投递者的匿名性。

本公开实施例可实现基于区块链的灵活用工模式,也即企业和劳动者之间的信息投递过程中,例如,某企业的生产数据、用工需求不想为第三方所知晓,希望能匿名投递用工需求;某劳动者不希望某段劳动经历为人所知等。因此,基于区块链的灵活用工模式下,企业和劳动者可以通过区块链建立灵活的劳动关系,按需进行人力调配,提高人力资源的配置效率。将本公开实施例应用于企业和劳动者之间的用工模式,即可保证企业或劳动者在区块链上投递用工或接单消息的过程,作为消息发送者通过本公开实施例的这种信息投递方式能够对消息进行发布或投递,而信息发布或投递者在将消息公开或投递后,接收者和任何第三方均难以将输出消息对应到信息投递者的具体身份上。

图1示出根据本公开一实施方式的信息投递方法的流程图,如图1所示,所述信息投递方法包括以下步骤:

在步骤S101中,接收信息发送端发送的当前密文;其中,所述当前密文基于可用混淆服务器的公钥按照预定加密方式对待投递信息进行加密后得到;所述可用混淆服务器为区块链管理的服务器列表中的服务器,且所述可用混淆服务器的公钥从区块链上获取;

在步骤S102中,将所述当前密文与其他密文构成的多个密文发送至可用混淆服务器,以便由所述可用混淆服务器按照与所述预定加密方式对应的解密方式进行解密,并将所得到的多个解密信息进行顺序置换,使得置换后的所述多个解密信息中的每一个与所述多个密文对应的其中一个的明文信息对应一致,且所述多个解密信息之间的顺序关系与所述多个密文之间的顺序关系不一致;

在步骤S103中,从所述可用混淆服务器接收所述多个解密信息,并进行投递。

上文提及,随着互联网的发展,各行各业的企业以及个人等均有在网上投递信息的需求。而一些企业或个人在某些场景下,并不希望第三方知晓所投递的信息与自身的关系,也即有这些企业或个人希望在匿名投递信息后,接收者和任何第三方均难以将所投递的信息消息对应到发送者的具体身份。因此,如何保证信息投递者所投递的信息与信息投递者的身份之间的匿名性是本领域当前需要解决的问题之一。

在本公开一实施方式中,该信息投递方法可适用于在信息接收端例如信息发布端或者信息发送端执行。待投递信息可以是需要从信息接收端直接投递得到信息接收端的信息,也可以是需要发布到公共消息板上的信息。

在本公开一实施方式中,可用混淆服务器可以包括一个或多个,在包括多个可用混淆服务器的情况下,多个可用混淆服务器之间可以按照预设方式连接,并按照预定加密方式对应的解密方式对接收到的密文进行解密。可用混淆服务器可以是云端服务器。

在本公开一实施方式中,原始信息产生端在将待投递信息发送至信息接收端之前,从区块链上获取当前可用混淆服务器的公钥,并利用可用混淆服务器的公钥对待投递信息进行加密,得到密文发送至公共消息板或者信息接收端。

在本公开一实施方式中,区块链可以用于管理一个或多个可用混淆服务器的公钥等信息,可用混淆服务器在启动或者投入使用后,生成公私钥对,并利用公钥对私钥进行签名后,并将公钥和签名信息发布在区块链上。

在本公开一实施方式中,区块链还可以用于管理当前加入区块链的可用混淆服务器的服务器列表,该服务器列表中可以包括一个或多个当前可用的混淆服务器,并且可以向外公布服务器列表中各个混淆服务器的公钥和签名信息等相关信息。

在本公开一实施方式中,原始信息产生端也即信息发送端可以从区块链获取当前可用混淆服务器的服务器列表,并从将服务器列表中的可用混淆服务器作为当前待投递信息的加密和解密服务器,进而再从区块链中获取所选择的可用混淆服务器的公钥。需要说明的是,服务器列表中可以包括一个或多个可用混淆服务器。

原始信息产生端也即信息发送端基于所获取的可用混淆服务器的公钥对待投递信息进行加密,加密方式可以预定加密方式,在此不做具体限制。需要说明的是,不同的原始信息产生端所使用的预定加密方式可以相同。

在本公开一实施方式中,信息接收端接收到原始信息产生端也即信息发送端发送的密文之后,将当前的密文以及其他密文组成一个序列后,发送至可用混淆服务器。其他密文可以是当前密文对应的原始信息产生端发送的,也可以是其他原始信息产生端发送的,其他密文与当前密文类似,是需要进行发布或者投递的信息。

信息接收端也可以从区块链获取当前可用混淆服务器的服务器列表,并将服务器列表中的可用混淆服务器作为本次信息投递所用来信息混淆的服务器。可以理解的是,由于服务器列表在区块链上维护,因此原始信息产生端和信息接收端所使用的服务器列表为同一个。

信息接收端将加密后的多个密文组成的信息序列发送至可用混淆服务器。

可用混淆服务器在接收到多个密文构成的序列之后,利用自身的私钥将每个密文进行解密,解密方法和加密方法相对应,具体可以根据实际需要选择使用,在此不做具体限制。

需要说明的是,在区块链所管理的服务器列表中仅包括一个可用混淆服务器时,也即原始的待投递信息仅利用一个可用混淆服务器的公钥进行加密后,在利用当前的可用混淆服务器的私钥解密后得到的多个解密信息为待投递信息的原始内容,而原始的待投递信息在使用服务器列表中的多个可用混淆服务器的公钥进行加密后,在利用当前的可用混淆服务器的私钥解密后得到的解密信息并不是待投递信息的原始内容,而是需要再次使用其他可用混淆服务器的私钥进行解密的密文。

在本公开一实施方式中,可用混淆服务器利用自身的私钥对多个密文分别进行解密得到多个解密信息后,将多个解密信息之间的顺序关系进行随机置换,并返回给信息接收端。可以理解的是,在服务器列表中包括多个可用混淆服务器的情况下,且当前可用混淆服务器不为该服务器列表中的最后一个时,可以发送至下一可用混淆服务器。

本公开实施例中,由于信息接收端从信息发送端接收到的是密文信息,其能够感知密文与信息发送者的身份之间的关系,但是信息接收端由于无法感知与密文对应一致的原始信息,因此无法将密文对应的原始信息也即待投递信息与信息发送者的身份关联起来。

进一步地,可用混淆服务器虽然能够解密得到密文对应的原始信息也即待投递信息,但是可用混淆服务器由于不能感知密文与信息发送者的身份之间的对应关系,因此无法将待投递信息与信息发送者的身份关联起来。因此,本公开实施例通过这种方式,实现了信息的匿名性,并且过程中所涉及的服务器公钥、可用混淆服务器的服务器列表等均由区块链所管理,使得整个过程公开、透明且不可篡改,并且区块链能够保证服务器列表中的可用混淆服务器的可用性,使得整个过程能够正常高效的运行。

在本公开一实施方式中,所述可用混淆服务器包括多个;所述预定加密方式为使用所述多个可用混淆服务器的公钥对所述待投递信息进行层层加密。

该实施方式中,区块链所管理的服务器列表可以包括多个可用混淆服务器,并且信息发送者可以利用服务器列表中的多个可用混淆服务器的公钥对待投递信息层层加密。例如,服务器列表包括三个可用混淆服务器,其对应的公钥分别为PK1、PK2和PK3,而对于待投递信息IN,可以依次使用PK1、PK2和PK3进行加密,所得到的密文可以表示为:C=ENC(PK1,ENC(PK2,ENC(PK3,IN))),其中,ENC(·)为加密算法。

在本公开一实施方式中,每个所述可用混淆服务器基于自身的私钥,对接收到所述多个密文进行解密后得到多个解密信息,并且将得到的所述多个解密信息之间的顺序关系随机置换后作为待进一步解密的多个密文发送至下一所述可用混淆服务器,最后一个所述可用混淆服务器得到的多个解密信息中的每一个与所述多个密文中的其中一个的明文信息对应一致,并且最后一个所述可用混淆服务器将经过置换后的所述多个解密信息返回。

该可选的实现方式中,信息接收端将多个密文构成的序列发送至服务器列表中的第一个可用混淆服务器。需要说明的是,服务器列表中可以按照可用混淆服务器之间的串联顺序记录多个可用混淆服务器。需要说明的是,可用混淆服务器之间的串联连接不是物理上的串联连接关系,而是对信息进行解密和加密的逻辑上的串联连接关系。例如,服务器列表中包括N个可用混淆服务器,服务器列表中可以将N个可用混淆服务器进行排序,信息发送端可以按照服务器列表中的排序从一端开始依次利用这些可用混淆服务器的私钥对待投递信息进行加密;而信息接收端则按照服务器列表中的排序从另一端开始发送多个密文。也即在信息解密过程中,解密的顺序与加密的顺序相反。信息接收端发送密文的第一个可用混淆服务器为信息发送端使用其公钥加密信息的最后一个可用混淆服务器;而信息发送端使用其公钥加密信息的第一个可用混淆服务器为最后一个进行解密的可用混淆服务器。

每个可用混淆服务器利用自身的密钥对接收到的密文解密后,为了使得信息发送端无法从多个解密信息之间的顺序和多个密文之间的顺序推导多个密文与多个解密信息之间的一一对应关系,可用混淆服务器将多个解密信息之间的顺序进行随机置换。

在不为最后一个用于解密的可用混淆服务器时,该可用混淆服务器将多个解密信息发送至下一可用混淆服务器进一步解密。最后一个可用混淆服务器将随机置换顺序的多个解密信息返回给信息发送端。

在本公开一实施方式中,每个所述可用混淆服务器基于自身的私钥,对接收到所述多个密文进行解密后得到多个解密信息,并且将得到的所述多个解密信息之间的顺序进行随机置换后返回;步骤S102,即从所述可用混淆服务器接收所述多个解密信息,并进行投递的方法步骤,进一步可以包括以下步骤:

接收所述可用混淆服务器返回的多个解密信息;

在返回所述多个解密信息的所述可用混淆服务器不为所述服务器列表中的最后一个可用混淆服务器时,将接收到的所述多个解密信息作为待进一步解密的多个密文发送至下一可用混淆服务器;

在返回所述多个解密信息的所述可用混淆服务器为最后一个可用混淆服务器时,将接收到的所述多个解密信息进行投递。

该实施方式与上一实施方式有所不同,多个可用混淆服务器在将密文解密,并进行顺序置换后,返回给信息发送端;信息发送端再进一步发送至下一可用混淆服务器。该实施方式中的其他细节可以参见上一实施方式的描述,在此不再赘述。

在本公开一实施方式中,所述可用混淆服务器所在的服务器列表、所述可用混淆服务器的生命周期、和/或所述可用服务器对接收到的多个密文进行解密以及顺序置换的相关操作信息均通过区块链管理。

图2示出根据本公开另一实施方式的信息投递方法的流程图,如图2所示,所述信息投递方法包括以下步骤S201-S205:

在步骤S201中,接收多个密文;所述多个密文为经过当前所述可用混淆服务器的公钥进行加密后得到的信息;

在步骤S202中,基于当前可用混淆服务器的私钥对所述多个密文进行解密,得到多个解密信息;

在步骤S203中,将所述多个解密信息之间的顺序关系进行随机置换;

在步骤S204中,将随机置换后的所述多个解密信息发送至信息接收端或者下一可用混淆服务器。

上文提及,随着互联网的发展,各行各业的企业以及个人等均有在网上投递信息的需求。而一些企业或个人在某些场景下,并不希望第三方知晓所投递的信息与自身的关系,也即有这些企业或个人希望在匿名投递信息后,接收者和任何第三方均难以将所投递的信息消息对应到发送者的具体身份。因此,如何保证信息投递者所投递的信息与信息投递者的身份之间的匿名性是本领域当前需要解决的问题之一。

在本公开一实施方式中该信息投递方法可适用于在可用混淆服务器执行。待投递信息可以是需要从信息接收端直接投递得到信息接收端的信息,也可以是需要发布到公共消息板上的信息。

在本公开一实施方式中,可用混淆服务器可以包括一个或多个,在包括多个可用混淆服务器的情况下,多个可用混淆服务器之间可以按照预设方式连接,并按照预定加密方式对应的解密方式对接收到的密文进行解密。可用混淆服务器可以是云端服务器。

在本公开一实施方式中,原始信息产生端在将待投递信息发送至信息接收端之前,从区块链上获取当前可用混淆服务器的公钥,并利用可用混淆服务器的公钥对待投递信息进行加密,得到密文发送至公共消息板或者信息接收端。

在本公开一实施方式中,区块链可以用于管理一个或多个可用混淆服务器的公钥等信息,可用混淆服务器在启动或者投入使用后,生成公私钥对,并利用公钥对私钥进行签名后,并将公钥和签名信息发布在区块链上。

在本公开一实施方式中,区块链还可以用于管理当前加入区块链的可用混淆服务器的服务器列表,该服务器列表中可以包括一个或多个当前可用的混淆服务器,并且可以向外公布服务器列表中各个混淆服务器的公钥和签名信息等相关信息。

在本公开一实施方式中,原始信息产生端也即信息发送端可以从区块链获取当前可用混淆服务器的服务器列表,并从将服务器列表中的可用混淆服务器作为当前待投递信息的加密和解密服务器,进而再从区块链中获取所选择的可用混淆服务器的公钥。需要说明的是,服务器列表中可以包括一个或多个可用混淆服务器。

原始信息产生端也即信息发送端基于所获取的可用混淆服务器的公钥对待投递信息进行加密,加密方式可以预定加密方式,在此不做具体限制。需要说明的是,不同的原始信息产生端所使用的预定加密方式可以相同。

在本公开一实施方式中,信息接收端接收到原始信息产生端也即信息发送端发送的密文之后,将当前的密文以及其他密文组成一个序列后,发送至可用混淆服务器。其他密文可以是当前密文对应的原始信息产生端发送的,也可以是其他原始信息产生端发送的,其他密文与当前密文类似,是需要进行发布或者投递的信息。

信息接收端也可以从区块链获取当前可用混淆服务器的服务器列表,并将服务器列表中的可用混淆服务器作为本次信息投递所用来信息混淆的服务器。可以理解的是,由于服务器列表在区块链上维护,因此原始信息产生端和信息接收端所使用的服务器列表为同一个。

信息接收端将加密后的多个密文组成的信息序列发送至可用混淆服务器。

可用混淆服务器在接收到多个密文构成的序列之后,利用自身的私钥将每个密文进行解密,解密方法和加密方法相对应,具体可以根据实际需要选择使用,在此不做具体限制。

需要说明的是,在区块链所管理的服务器列表中仅包括一个可用混淆服务器时,也即原始的待投递信息仅利用一个可用混淆服务器的公钥进行加密后,在利用当前的可用混淆服务器的私钥解密后得到的多个解密信息为待投递信息的原始内容,而原始的待投递信息在使用服务器列表中的多个可用混淆服务器的公钥进行加密后,在利用当前的可用混淆服务器的私钥解密后得到的解密信息并不是待投递信息的原始内容,而是需要再次使用其他可用混淆服务器的私钥进行解密的密文。

在本公开一实施方式中,所述方法进一步还包括以下步骤:

生成或更新用于消息加密的公私钥对;

基于所述公私钥对中的私钥对公钥进行签名,以及将所述公钥和签名信息发布至区块链上,以便将所述可用混淆服务器加入所述区块链所管理的服务器列表中。

在本公开一实施方式中,所述方法进一步还包括以下步骤:

将当前进行解密和顺序置换的相关操作信息发布至区块链上。

在本公开一实施方式中,所述方法还进一步包括以下步骤:

从区块链注销所述公私钥对,以便将所述可用混淆服务器从所述区块链所管理的服务器列表中删除。

该实施方式中,可用混淆服务器可能需要暂停服务或退出混淆服务网络,此时可以对其公钥(或证书)进行销毁操作,即首先可以在区块链上最新区块对可用混淆服务器的服务器列表进行同步更新,移除当前要推出的可用混淆服务器,或在服务器列表中标记暂停服务的可用混淆服务器;同时该可用混淆服务器在区块链上最新区块发布公钥(或证书)的销毁信息,同时将销毁前该可用混淆服务器公钥(或证书)所在区块体的区块数据指向当前销毁公钥(或证书)的区块体中对应的区块数据,完成密钥销毁操作。

在本公开一实施方式中,所述可用混淆服务器为多个可用混淆服务器中的其中一个;所述多个可用混淆服务器中,第一个所述可用混淆服务器接收的多个密文为基于所述多个可用混淆服务器的公钥对多个待投递信息分别进行层层加密后得到的信息,其他所述可用混淆服务器接收到的多个密文为上一所述可用混淆服务器基于自身的私钥解密得到的多个解密信息,并且所述多个解密信息之间的顺序关系经过上一所述可用混淆服务器的随机置换;最后一个所述可用混淆服务器得到的多个解密信息中的每一个与所述多个密文中的其中一个的明文信息对应一致,并且最后一个所述可用混淆服务器将所得到的经过随机置换的所述多个解密信息返回至信息接收端。

在不为最后一个用于解密的可用混淆服务器时,该可用混淆服务器将多个解密信息发送至下一可用混淆服务器进一步解密。最后一个可用混淆服务器将随机置换顺序的多个解密信息返回给信息发送端。

在本公开一实施方式中,所述可用混淆服务器为多个可用混淆服务器中的其中一个;所述多个可用混淆服务器从信息接收端接收多个密文,且第一个所述可用混淆服务器接收的多个密文为基于所述多个可用混淆服务器的公钥对多个待投递信息分别进行层层加密后得到的信息,其他所述可用混淆服务器接收到的多个密文为上一所述可用混淆服务器基于自身的私钥解密得到的多个解密信息,并且所述多个解密信息之间的顺序关系经过上一所述可用混淆服务器的随机置换;最后一个所述可用混淆服务器得到的多个解密信息中的每一个与所述多个密文中的其中一个的明文信息对应一致,每个所述可用混淆服务器将所得到的经过随机置换的所述多个解密信息返回至信息接收端。

该实施方式与上一实施方式有所不同,多个可用混淆服务器在将密文解密,并进行顺序置换后,返回给信息发送端;信息发送端再进一步发送至下一可用混淆服务器。该实施方式中的其他细节可以参见上一实施方式的描述,在此不再赘述。

在本公开一实施方式中,所述可用混淆服务器所在的服务器列表、所述可用混淆服务器的生命周期、和/或所述可用服务器对接收到的多个密文进行解密以及顺序置换的相关操作信息均通过区块链管理。

图2所示及相关实施方式中涉及的技术术语和技术特征与图1所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图2所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图1所示及相关实施方式的解释的说明,此处不再赘述。

图3示出根据本公开另一实施方式的信息投递方法的流程图,如图3所示,所述信息投递方法包括以下步骤S301-S310:

在步骤S301中,信息发送端接收消息投递者提供的待投递信息;

在步骤S302中,所述信息发送端获取发布在区块链上的可用混淆服务器的公钥;

在步骤S303中,所述信息发送端利用所述可用混淆服务器的公钥按照预定加密方式对待投递信息进行加密后得到对应的当前密文;

在步骤S304中,所述信息发送端将所述当前密文发送至信息接收端;

在步骤S305中,所述信息接收端将所述当前密文与其他密文构成的多个密文发送至可用混淆服务器;

在步骤S306中,所述可用混淆服务器接收所述多个密文;

在步骤S307中,所述可用混淆服务器基于自身的私钥对所述多个密文进行解密,得到多个解密信息;

在步骤S308中,所述可用混淆服务器将所述多个解密信息之间的顺序关系进行随机置换;

在步骤S309中,所述可用混淆服务器将随机置换后的所述多个解密信息返回至所述信息接收端;

在步骤S310中,所述信息接收端从所述可用混淆服务器接收所述多个解密信息,并进行投递。

在本公开一实施方式中,该信息投递方法可适用于在包括信息发送端和信息接收端的系统中发布或投递信息,并且该系统中进行信息发送或发布的整个过程由区块链进行管理。

在本公开一实施方式中,所述可用混淆服务器包括多个;所述预定加密方式为使用所述多个可用混淆服务器的公钥对所述待投递信息进行层层加密。

在本公开一实施方式中,每个所述可用混淆服务器基于自身的私钥,对接收到所述多个密文进行解密后得到多个解密信息,并且将得到的所述多个解密信息之间的顺序关系随机置换后作为待进一步解密的多个密文发送至下一所述可用混淆服务器,最后一个所述可用混淆服务器得到的多个解密信息中的每一个与所述多个密文中的其中一个的明文信息对应一致,并且最后一个所述可用混淆服务器将经过置换后的所述多个解密信息返回。

在本公开一实施方式中,每个所述可用混淆服务器基于自身的私钥,对接收到所述多个密文进行解密后得到多个解密信息,并且将得到的所述多个解密信息之间的顺序进行随机置换后返回至所述信息发送端;所述信息接收端从所述可用混淆服务器接收所述多个解密信息,并进行投递,包括:

所述信息接收端接收所述可用混淆服务器返回的多个解密信息;

所述信息接收端在返回所述多个解密信息的所述可用混淆服务器不为所述服务器列表中的最后一个可用混淆服务器时,将接收到的所述多个解密信息作为待进一步解密的多个密文发送至下一可用混淆服务器;

所述信息接收端在返回所述多个解密信息的所述可用混淆服务器为最后一个可用混淆服务器时,将接收到的所述多个解密信息进行投递。

在本公开一实施方式中,所述可用混淆服务器所在的服务器列表、所述可用混淆服务器的生命周期、和/或所述可用服务器对接收到的多个密文进行解密以及顺序置换的相关操作信息均通过区块链管理。

在本公开一实施方式中,所述方法还包括:

所述可用混淆服务器生成或更新用于消息加密的公私钥对;

所述可用混淆服务器基于所述公私钥对中的私钥对公钥进行签名,以及将所述公钥和签名信息发布至区块链上,以便将所述可用混淆服务器加入所述区块链所管理的服务器列表中。

在本公开一实施方式中,所述方法还包括:

所述可用混淆服务器将当前进行解密和顺序置换的相关操作信息发布至区块链上。

在本公开一实施方式中,所述方法还包括:

所述可用混淆服务器从区块链注销所述公私钥对,以便将所述可用混淆服务器从所述区块链所管理的服务器列表中删除。

在本公开一实施方式中,步骤S302,即的方法步骤,进一步可以包括以下步骤:

图3所示及相关实施方式中涉及的技术术语和技术特征与图1和图2所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图3所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图1和图2所示及相关实施方式的解释的说明,此处不再赘述。

图4示出根据本公开一实施方式的信息投递方法在用工模式场景下的匿名消息发布系统的结构框图。如图4所示,该匿名消息发布系统包括如下几个部分:

公共消息板,用于供发布公共内容的消息板,可以提供基本的消息发布和展示功能,具备基本的可用性与完整性保护;该公共消息板可以由本公开实施例中提到的信息接收端来实现。

混淆服务器,用于消息混淆的服务器,每个混淆服务器对应专门的公私密钥对,签名的公钥(或证书)信息通过区块链进行发布,一组混淆服务器进行串联可以构成混淆服务网络,本公开实施例中可以使用完全可信的混淆服务器及混淆网络。

消息发送者,希望通过混淆服务器进行混淆后将待投递消息发布在公共消息板;并且希望第三方无法得知发布在公共消息板上的消息与消息发送者身份之间的关系。

区块链,用于记录消息混淆过程;区块链可以对混淆服务器、混淆操作过程等进行公开记录和存储,其记录和存储的内容包括混淆服务器的完整列表、混淆服务器的公钥(或证书)的发布、更新、销毁,单次混淆操作的全过程、操作结果、状态等的记录。

图5示出根据本公开一实施方式的信息投递方法中区块链的工作原理示意图。如图5所示,区块链对匿名消息发布系统的创建、运行等整个生命周期进行记录和管理,保证区块链上发布信息的不可篡改、不可撤销、公开透明、可溯源等,可以提升混淆服务器和混淆网络的可用性、服务质量以及其可信程度。区块链中记录的数据类型主要包括混淆服务器列表的维护更新,单个混淆服务器的公钥(或证书)的发布、更新及销毁记录,单次混淆过程的发起、状态及结果记录等。

区块链可以记录如下信息:

混淆服务器列表:记录当前所有可用的混淆服务器列表,并随着区块链中区块体内容的更新而同步更新,混淆服务的使用者(消息发布者)可以通过访问最新区块获取当前可用的混淆服务器列表。

单个混淆服务器的公钥(或证书)的生命周期管理:记录单个混淆服务器的公钥(或证书)的产生、更新、销毁等。

单个混淆服务器通过在链上发布公钥(或证书)的方式,加入混淆服务网络,在区块链上最新区块对混淆服务器列表进行同步更新;

该混淆服务器的公钥(或证书)存在生存期或有效期,需要进行更新,此时混淆服务器触发更新操作并在链上最新区块发布更新后的公钥(或证书)信息,同时将本次更新前该混淆服务器公钥(或证书)所在区块体的区块数据指向当前更新完成后的区块体中的区块数据,完成密钥更新操作;

混淆服务器可能需要暂停服务或退出混淆服务网络,此时需要对其公钥(或证书)进行销毁操作,即首先需要在区块链上最新区块对混淆服务器列表进行同步更新,移除退出混淆服务器或标记暂停服务的混淆服务器;同时该混淆服务器在链上最新区块发布公钥(或证书)销毁信息,同时将销毁前该混淆服务器公钥(或证书)所在区块体的区块数据指向当前销毁公钥(或证书)的区块体中对应的区块数据,完成密钥销毁操作。

区块链还可以记录和管理单次的消息混淆过程:记录单次混淆过程的记录和生命周期管理,包括混淆操作的发起(记录消息发起方、发起时间、混淆的参数);混淆成员配置(收集消息发起方的混淆需求以及参数,确定参与本次混淆过程的混淆服务器信息,对本次混淆操作进行编号并启动混淆操作);混淆操作结果(对本次混淆操作的操作结果进行记录,如成功/失败等)。

图6示出根据本公开一实施方式的信息投递方法中消息混淆操作的流程示意图。如图6所示,n个消息发送者S1,S2,…,Sn希望将n个输入消息IN1,IN2,…,INn通过混淆服务网络进行发布或投递,并保持匿名性,即消息公开发布后接收者和任何第三方均难以将输出消息OUT1,OUT2,…,OUTn与发送者的身份进行对应(即无法知道{Si}与{OUTj}的对应关系,i,j=0,1,…,n)。为实现上述目标,消息发送者通过t个串联的消息混淆服务器MS1,MS2,MS3,…,MSt对输入消息IN1,IN2,…,INn进行重新排序与混淆,最终输出n个输出消息OUT1,OUT2,…,OUTn。同时,为了保证输入消息的机密性(即在混淆操作完成前,混淆服务器、任何第三方均无法获取消息的内容),需要由消息发送者利用混淆服务器的公钥对输入消息进行加密处理。

图7示出根据本公开一实施方式的在消息发布场景下的消息发布流程示意图。如图7所示,该消息发布流程主要包括:

初始化流程:混淆服务器MS1,MS2,MS3,…,MSt生成用于消息加密的公私钥对{(PK1,SK1),(PK2,SK2),…,(PKt,SKt)},使用私钥对公钥进行签名,并将公钥连同签名信息{(PK1,SIG1),(PK2,SIG2),…,(PKt,SIGt)}(或包含公钥及签名的证书信息)发布在区块链上,实现对于混淆服务器信息的发布和身份认证。

消息加密流程:对于输入消息集合{IN1,IN2,…,INn}中的任一消息INi,i=1,2,…,n,消息发送者Si将INi进行嵌套加密,即使用混淆服务器MSt,MSt-2,MSt-2,…,MS1的公钥PKt,PKt-1,PKt-2,…,PK1对INi进行层层加密:

Ci=ENC(PK1,…ENC(PKt-2,ENC(PKt-1,ENC(PKt,Ini))));

其中ENC表示加密操作。Si对INi加密处理完成后得到密文Ci。

消息混淆流程:对于j=1,2,3,…,t,混淆服务器MSj进行如下处理:

使用私钥SKj对接收到的n个密文Ci进行解密,i=1,2,…,n,即计算:TempC[i]=DEC(SKj,Ci),其中DEC表示解密操作。上面的步骤可知消息集合{TempC[i],i=1,2,…,n}即为消息集合{INi,i=1,2,…,n}经过混淆服务器MSt,MSt-1,…,MSj+1的公钥PKt,PKt-1,…,PKj+1层层加密后的结果;

混淆服务器MSj随机生成集合{1,2,3,…,n}上的置换PERMj,并计算Ci=TempC[PERMj(i)],i=1,2,3,…,n;即使用置换PERMj将MSj解密后得到的集合{TempC[i],i=1,2,…,n}随机地打乱顺序;

如果j<t,也即混淆服务器不为最后一个,则混淆服务器MSj将{Ci,i=1,2,…,n}进行签名,一并发布到公共消息板,并且由混淆服务器MSj+1进行下一步的加密与混淆;

如果j=t,则MSt得到最终输出消息集合{OUTi,i=1,2,…,n},对其进行签名后一并发布到公共消息板。经过混淆服务器MS1,MS2,MS3,…,MSt的串联处理后,最终输出消息集合{OUT1,OUT2,…,OUTn}与原始的输入消息集合{IN1,IN2,…,INn}内容一致,但消息顺序经过了t层混淆服务器的充分混淆,MSt将输出消息集合发布在公共消息板上。

后处理:混淆操作完成后,混淆服务器{MS1,MS2,…,MSt}将本次混淆的序列号、操作时间、参数配置、操作结果、最终状态等信息等永久发布在区块链上,从而实现相关记录的不可篡改、不可撤销、公开透明、可溯源等,通过对单次混淆过程的状态记录和发布,提升混淆服务器和混淆网络的可用性以及可信程度。

下述为本公开装置实施例,可以用于执行本公开方法实施例。

图8示出根据本公开一实施方式的信息投递装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图8所示,所述信息投递装置包括:

第一接收模块801,被配置为接收信息发送端发送的当前密文;其中,所述当前密文基于可用混淆服务器的公钥按照预定加密方式对待投递信息进行加密后得到;所述可用混淆服务器为区块链管理的服务器列表中的服务器,且所述可用混淆服务器的公钥从区块链上获取;

第一发送模块802,被配置为将所述当前密文与其他密文构成的多个密文发送至可用混淆服务器,以便由所述可用混淆服务器按照与所述预定加密方式对应的解密方式进行解密,并将所得到的多个解密信息进行顺序置换,使得置换后的所述多个解密信息中的每一个与所述多个密文对应的其中一个的明文信息对应一致,且所述多个解密信息之间的顺序关系与所述多个密文之间的顺序关系不一致;

第二接收模块803,被配置为从所述可用混淆服务器接收所述多个解密信息,并进行投递。

在本公开一实施方式中,所述可用混淆服务器包括多个;所述预定加密方式为使用所述多个可用混淆服务器的公钥对所述待投递信息进行层层加密。

在本公开一实施方式中,每个所述可用混淆服务器基于自身的私钥,对接收到所述多个密文进行解密后得到多个解密信息,并且将得到的所述多个解密信息之间的顺序关系随机置换后作为待进一步解密的多个密文发送至下一所述可用混淆服务器,最后一个所述可用混淆服务器得到的多个解密信息中的每一个与所述多个密文中的其中一个的明文信息对应一致,并且最后一个所述可用混淆服务器将经过置换后的所述多个解密信息返回。

在本公开一实施方式中,每个所述可用混淆服务器基于自身的私钥,对接收到所述多个密文进行解密后得到多个解密信息,并且将得到的所述多个解密信息之间的顺序进行随机置换后返回;所述第二接收模块,包括:

第一接收子模块,被配置为接收所述可用混淆服务器返回的多个解密信息;

第一发送子模块,被配置为在返回所述多个解密信息的所述可用混淆服务器不为所述服务器列表中的最后一个可用混淆服务器时,将接收到的所述多个解密信息作为待进一步解密的多个密文发送至下一可用混淆服务器;

投递子模块,被配置为在返回所述多个解密信息的所述可用混淆服务器为最后一个可用混淆服务器时,将接收到的所述多个解密信息进行投递。

在本公开一实施方式中,所述可用混淆服务器所在的服务器列表、所述可用混淆服务器的生命周期、和/或所述可用服务器对接收到的多个密文进行解密以及顺序置换的相关操作信息均通过区块链管理。

上述装置实施例所涉及的技术特征及其对应的解释和说明与上文所描述的方法实施例所涉及的技术特征及其对应的解释和说明相同、相应或相似,对于上述装置实施例所涉及的技术特征及其对应的解释和说明可参考上述方法实施例所涉及的技术特征及其对应的解释和说明,本公开在此不再赘述。

图9示出根据本公开一实施方式的信息投递装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图9所示,所述信息投递装置包括:

第三接收模块901,被配置为接收多个密文;所述多个密文为经过当前所述可用混淆服务器的公钥进行加密后得到的信息;

解密模块902,被配置为基于当前可用混淆服务器的私钥对所述多个密文进行解密,得到多个解密信息;

置换模块903,被配置为将所述多个解密信息之间的顺序关系进行随机置换;

第二发送模块904,被配置为将随机置换后的所述多个解密信息发送至信息接收端或者下一可用混淆服务器。

在本公开一实施方式中,所述装置还包括:

生成模块,被配置为生成或更新用于消息加密的公私钥对;

第一发布模块,被配置为基于所述公私钥对中的私钥对公钥进行签名,以及将所述公钥和签名信息发布至区块链上,以便将所述可用混淆服务器加入所述区块链所管理的服务器列表中。

在本公开一实施方式中,所述装置还包括:

第二发布模块,被配置为将当前进行解密和顺序置换的相关操作信息发布至区块链上。

在本公开一实施方式中,所述装置还包括:

删除模块,被配置为从区块链注销所述公私钥对,以便将所述可用混淆服务器从所述区块链所管理的服务器列表中删除。

在本公开一实施方式中,所述可用混淆服务器为多个可用混淆服务器中的其中一个;所述多个可用混淆服务器中,第一个所述可用混淆服务器接收的多个密文为基于所述多个可用混淆服务器的公钥对多个待投递信息分别进行层层加密后得到的信息,其他所述可用混淆服务器接收到的多个密文为上一所述可用混淆服务器基于自身的私钥解密得到的多个解密信息,并且所述多个解密信息之间的顺序关系经过上一所述可用混淆服务器的随机置换;最后一个所述可用混淆服务器得到的多个解密信息中的每一个与所述多个密文中的其中一个的明文信息对应一致,并且最后一个所述可用混淆服务器将所得到的经过随机置换的所述多个解密信息返回至信息接收端。

在本公开一实施方式中,所述可用混淆服务器为多个可用混淆服务器中的其中一个;所述多个可用混淆服务器从信息接收端接收多个密文,且第一个所述可用混淆服务器接收的多个密文为基于所述多个可用混淆服务器的公钥对多个待投递信息分别进行层层加密后得到的信息,其他所述可用混淆服务器接收到的多个密文为上一所述可用混淆服务器基于自身的私钥解密得到的多个解密信息,并且所述多个解密信息之间的顺序关系经过上一所述可用混淆服务器的随机置换;最后一个所述可用混淆服务器得到的多个解密信息中的每一个与所述多个密文中的其中一个的明文信息对应一致,每个所述可用混淆服务器将所得到的经过随机置换的所述多个解密信息返回至信息接收端。

在本公开一实施方式中,所述可用混淆服务器所在的服务器列表、所述可用混淆服务器的生命周期、和/或所述可用服务器对接收到的多个密文进行解密以及顺序置换的相关操作信息均通过区块链管理。

上述装置实施例所涉及的技术特征及其对应的解释和说明与上文所描述的方法实施例所涉及的技术特征及其对应的解释和说明相同、相应或相似,对于上述装置实施例所涉及的技术特征及其对应的解释和说明可参考上述方法实施例所涉及的技术特征及其对应的解释和说明,本公开在此不再赘述。

图10示出根据本公开一实施方式的信息投递系统的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图10所示,所述信息投递系统包括信息发送端1001、信息接收端1002和可用混淆服务器1003;其中,

所述信息发送端1001接收消息投递者提供的待投递信息,并获取发布在区块链上的可用混淆服务器1003的公钥;

所述信息发送端1001还利用所述可用混淆服务器1003的公钥按照预定加密方式对待投递信息进行加密后得到对应的当前密文,以及将所述当前密文发送至信息接收端1002;

所述信息接收端1002将所述当前密文与其他密文构成的多个密文发送至可用混淆服务器1003,以及从所述可用混淆服务器1003接收多个解密信息后,进行投递;

所述可用混淆服务器1003接收所述多个密文,并基于自身的私钥对所述多个密文进行解密,得到多个解密信息;所述可用混淆服务器1003还将所述多个解密信息之间的顺序关系进行随机置换,以及将随机置换后的所述多个解密信息返回至所述信息接收端1002。

在本公开一实施方式中,所述可用混淆服务器1003包括多个;所述预定加密方式为使用所述多个可用混淆服务器1003的公钥对所述待投递信息进行层层加密。

在本公开一实施方式中,每个所述可用混淆服务器1003基于自身的私钥,对接收到所述多个密文进行解密后得到多个解密信息,并且将得到的所述多个解密信息之间的顺序关系随机置换后作为待进一步解密的多个密文发送至下一所述可用混淆服务器1003,最后一个所述可用混淆服务器1003得到的多个解密信息中的每一个与所述多个密文中的其中一个的明文信息对应一致,并且最后一个所述可用混淆服务器1003将经过置换后的所述多个解密信息返回。

在本公开一实施方式中,每个所述可用混淆服务器1003基于自身的私钥,对接收到所述多个密文进行解密后得到多个解密信息,并且将得到的所述多个解密信息之间的顺序进行随机置换后返回至所述信息发送端1001;

所述信息接收端1002接收所述可用混淆服务器1003返回的多个解密信息,并返回所述多个解密信息的所述可用混淆服务器1003不为所述服务器列表中的最后一个可用混淆服务器1003时,将接收到的所述多个解密信息作为待进一步解密的多个密文发送至下一可用混淆服务器1003,而在返回所述多个解密信息的所述可用混淆服务器1003为最后一个可用混淆服务器1003时,将接收到的所述多个解密信息进行投递。

在本公开一实施方式中,所述可用混淆服务器1003所在的服务器列表、所述可用混淆服务器1003的生命周期、和/或所述可用服务器对接收到的多个密文进行解密以及顺序置换的相关操作信息均通过区块链管理。

在本公开一实施方式中,所述可用混淆服务器1003还生成或更新用于消息加密的公私钥对,并基于所述公私钥对中的私钥对公钥进行签名,以及将所述公钥和签名信息发布至区块链上,以便将所述可用混淆服务器1003加入所述区块链所管理的服务器列表中。

在本公开一实施方式中,所述可用混淆服务器1003将当前进行解密和顺序置换的相关操作信息发布至区块链上。

在本公开一实施方式中,所述可用混淆服务器1003从区块链注销所述公私钥对,以便将所述可用混淆服务器1003从所述区块链所管理的服务器列表中删除。

上述系统实施例所涉及的技术特征及其对应的解释和说明与上文所描述的方法实施例所涉及的技术特征及其对应的解释和说明相同、相应或相似,对于上述系统实施例所涉及的技术特征及其对应的解释和说明可参考上述方法实施例所涉及的技术特征及其对应的解释和说明,本公开在此不再赘述。

本公开实施例还公开了一种电子设备,所述电子设备包括存储器和处理器;其中,

所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述任一方法步骤。

图11是适于用来实现根据本公开一实施方式的信息投递方法的计算机系统的结构示意图。

如图11所示,计算机系统1100包括处理单元1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行上述实施方式中的各种处理。在RAM1103中,还存储有计算机系统1100操作所需的各种程序和数据。处理单元1101、ROM1102以及RAM1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。

以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。其中,所述处理单元1101可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。

特别地,根据本公开的实施方式,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行所述数据传输方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。

本公开实施例还公开了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述任一方法步骤。

附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

作为另一方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开实施例的方法。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:攻击检测方法、攻击检测装置、存储介质与电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类