基于区块链的隐蔽通信消息安全编码方法、系统和介质
技术领域
本发明涉及隐蔽通信技术领域,具体的说,涉及了一种基于区块链的隐蔽通信消息安全编码方法、系统和介质。
背景技术
传统隐蔽通信中存在隐蔽信道易被检测、隐蔽参与方易暴露、隐蔽传输鲁棒性差、难以实现群组隐蔽传输等问题,相比传统的数据隐蔽传输技术,区块链技术在隐蔽传输领域有突出的优势,包括:1)稳定的去中心化自组织网络;2)非定向信息传递机制;3)匿名账号机制。区块链利用交易构建隐蔽信道,传输隐蔽数据信息,对隐蔽通信技术在通信领域的发展具有重要的应用价值。
目前,人们在匿名通信技术的研究方向已经取得了一系列成果,有些研究成果也转化被广泛使用的产品,如基于Mix算法的匿名通信、基于Onion Routing算法的匿名通信以及基于泛洪算法的匿名通信。
(1)基于Mix算法的匿名通信系统包括Babel、Cyberpunk(TypeI)、Mixmaster(TypeII)、Mixminion(TypeIII)等。
基于Mix算法的匿名通信系统的核心思想是利用单个Mix节点或瀑布型的多个Mix节点实现匿名通信。Mix节点是指网络中向其他节点提供匿名通信服务的节点,它接收用其公钥加密的数据,并对数据进行解密、批处理、重序、增加冗余字节等处理,然后将数据传输给下一个Mix或最终接收者。
基于Mix算法的匿名通信系统具有以下特点:1)匿名通信系统网络中一部分节点为其他节点提供匿名通信服务;2)发起者需要在发起匿名通信之前确定整个通信的传输路径,该路径在传输中不会改变;3)发起者需要在发起匿名通信之前,得到整个传输路径中各个Mix节点的信息,包括地址、密钥信息等;4)Mix节点对来自多个发送者的通信信息进行解密、复用、批处理、重序、增加冗余字节等处理。
Mix网络的优点在于:由于采用了强加密机制,外部观测者以及除路径上网络出口节点外的中继都无法获知最终接收者的地址以及传输数据的内容,因而针对系统中的合谋成员也能提供强的匿名保护。然而传统Mix 网络具有明显的缺陷为:首先是防合谋攻击的能力有限,系统中节点构成的网络与外部网络之间有明显的边界,当某个恶意节点从一个外部节点接收到请求时,那么该节点可以获知通信的源、目的地址。其次是为了达到恒定流量所引入的填充流量会浪费大量的带宽,造成资源浪费。基于Mix算法的匿名通信系统虽然匿名较高,但通信传输的时延较高,一般不适合实时的数据通信。
(2)基于Onion Routing算法的匿名通信系统是在Reed等人1998年提出的OnionRouting算法基础上发展起来的,现有产品包括Tor、FreeNet等。相比于基于Mix算法的匿名通信系统,基于Onion Routing算法的匿名通信系统更注重数据通信的实时性以及系统的简单性、有效性和可实施性,其特点为:1)基于Onion Routing算法的匿名通信系统建立在TCP传输的基础上,节点之间通常通过SSL方式传输;2)基于Onion Routing算法的匿名通信系统在路径建立时采用非对称密钥算法加密,在数据通信时采用对称密钥算法加密,以提高数据传输效率,降低时延;3)基于Onion Routing算法的匿名通信系统采用实时复用并广播,不对通信数据进行乱序、固定输入输出流量等批处理。
(3)基于泛洪算法的匿名通信是近期匿名通信传输领域新的研究热点,主要基于flooding、epidemic等类洪泛算法实现匿名通信,目前仍处于实验室研究阶段,没有实际部署的成熟的匿名通信系统。基于泛洪算法的匿名通信系统一般具有以下特点:1)发起者在发起匿名传输之前完全不清楚匿名传输的路径,也无需得到传输中间节点的任何信息;2)发起者的每一次匿名传输路径并不固定;3)匿名通信网络中的任何一个中间节点都不知道匿名通信的发起者和接收者。但是基于泛洪算法的匿名通信系统主要面临的挑战是系统会产生大量的网络传输流量,对于网络带宽的需求较大;同时在目前的状态下,系统算法的稳定性和可靠性还不够。
综上所述,传统的匿名通信技术尽管能实现一定程度的通信隐蔽性,但是却存在着定向发送、显式接收等缺点,导致:1)隐蔽信道易被检测,敌手容易监听网络流量并分析该流量特征,从而检测出隐蔽信道。2)隐蔽参与方易暴露,隐蔽信道一旦被敌手检测出,参与隐蔽传输者的身份就容易被暴露。3)隐蔽传输鲁棒性差,网络延迟、敌手干扰等因素致使接收方在提取隐蔽信息时发生错误。
为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
发明内容
本发明的目的是针对现有技术的不足,从而提供一种基于区块链的隐蔽通信消息安全编码方法、系统和介质。
为了实现上述目的,本发明所采用的技术方案是:
本发明第一方面提供一种基于区块链的隐蔽通信消息安全编码方法,包括以下步骤:
发送端对待传输的隐蔽数据进行第一隐蔽处理,获得隐蔽消息组;
基于发送端将所述隐蔽消息组传输至初始区块链节点的交易事件,在初始区块链节点上生成第一智能合约;
所述初始区块链节点,将所述隐蔽消息组和所述第一智能合约广播至区块链的主邻居区块链节点上,主邻居区块链节点将所述隐蔽消息组和所述第一智能合约广播至次邻居区块链节点;
接收端依据隐蔽消息组的标识码捞取所需的隐蔽消息组;基于接收端从区块链中相应节点上获取所述隐蔽消息组的交易事件生成第二智能合约;
监管端获取所述第一智能合约和所述第二智能合约,对第一智能合约及所述第二智能合约进行合法性查验后,向接收端发送所述隐蔽消息组对应的发送端密钥;并将上述交易事件保存至区块链账簿上;
接收端根据发送端密钥解密所述隐蔽消息组,获得隐蔽数据。
本发明第二方面提供一种基于区块链的隐蔽通信消息安全编码系统,包括:
发送端,用于对待隐蔽数据进行第一隐蔽处理,获得隐蔽消息组;以及基于将所述隐蔽消息组传输至初始区块链节点的交易事件,在初始区块链节点上生成第一智能合约;
初始区块链节点,用于将所述隐蔽消息组和所述第一智能合约广播至区块链的主邻居区块链节点上;
主邻居区块链节点,用于将所述隐蔽消息组和所述第一智能合约广播至次邻居区块链节点;
接收端,用于依据隐蔽消息组的标识码捞取所需的隐蔽消息组;基于接收端从区块链中相应节点上获取所述隐蔽消息组的交易事件生成第二智能合约;根据发送端密钥解密所述隐蔽消息组,获得隐蔽数据;
以及监管端,用于获取所述第一智能合约和所述第二智能合约,对隐蔽消息组及接收端身份进行合法性查验后,向接收端发送所述隐蔽消息组对应的发送端密钥;并将上述交易事件保存至区块链账簿上。
本发明相对现有技术具有突出的实质性特点和显著的进步,具体的说:
1)本发明针对传统隐蔽通信中隐蔽信道易被检测、隐蔽参与方易暴露、隐蔽传输鲁棒性差等问题,匿名隐私保护技术效率差且缺乏监管等问题,提供了一种基于区块链的隐蔽通信消息安全编码方法、系统和介质,构建基于区块链的安全通信体系,实现基于以太坊智能合约的安全消息通信系统;通过对待传输的隐蔽数据进行第一隐蔽处理,获得隐蔽消息组;添加第三方监管机制,实现对链上信息的便捷高效监管;通过监管端对第一智能合约涉及的发送端身份、隐蔽数据合法性进行查验,以及对所述第二智能合约涉及的接收端身份进行查验,实现高隐蔽性且可监管的匿名传输;
2)为了避免敌手通过分析标签特征识别特殊交易,所述隐蔽消息组的标识码为动态标签,对每次发送端创建的交易信息生成一个定长且长度较短的可变字符串作为标签,使接收端能够很快地从大量信息中区分是否存在带有特殊格式标签的信息,进而筛选出发送端所发送的信息,而敌手无法根据字段内容区别普通交易和特殊交易;基于特殊可变标签机制,降低账号和创建交易者身份的关联关系;
3)所述发送端生成第一身份零知识证明标识和数据零知识证明标识;所述接收端生成第二身份零知识证明标识,发送端和接收端采用零知识证明技术,在实现交易方和交易数据的匿名性的同时,便于第三方监管。
附图说明
图1是本发明的基于区块链的隐蔽通信消息安全编码方法的时序图。
具体实施方式
下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
实施例1
如附图1所示,一种基于区块链的隐蔽通信消息安全编码方法,它包括以下步骤:
发送端对待传输的隐蔽数据进行第一隐蔽处理,获得隐蔽消息组;
基于发送端将所述隐蔽消息组传输至初始区块链节点的交易事件,在初始区块链节点上生成第一智能合约;
所述初始区块链节点,将所述隐蔽消息组和所述第一智能合约广播至区块链的主邻居区块链节点上,主邻居区块链节点将所述隐蔽消息组和所述第一智能合约广播至次邻居区块链节点;
接收端依据隐蔽消息组的标识码捞取所需的隐蔽消息组;基于接收端从区块链中相应节点上获取所述隐蔽消息组的交易事件生成第二智能合约;
监管端获取所述第一智能合约和所述第二智能合约,对第一智能合约及所述第二智能合约进行合法性查验后,向接收端发送所述隐蔽消息组对应的发送端密钥;并将上述交易事件保存至区块链账簿上;
接收端根据发送端密钥解密所述隐蔽消息组,获得隐蔽数据。
需要说明的是,现有隐蔽数据通信方法中,对隐蔽数据内容、发送端身份及接收端身份缺乏有效管控,无法对隐蔽数据交易进行监管。
进一步的,所述第一隐蔽处理包括以下步骤:
步骤1,所述发送端生成隐蔽通信请求后,产生第一随机数r;
基于所述第一随机数r和接收端的签名公钥PB,计算出派生出交易地址Q1;其中,所述交易地址Q1包括第一地址参数Q1x和第二地址参数Q1y;
步骤2,所述发送端产生第二随机数s,采用SM3算法依据所述第二随机数s以及步骤1中的第一地址参数Q1x和所述第二地址参数Q1y,获得密钥参数key;
步骤3,所述发送端产生第三随机数z;通过所述第三随机数z和步骤2中的密钥参数key生成群组密钥Gkey;
步骤4,从基础多项式GF(n)中随机选取k-1项组成新多项式f(x),使x=0时,新多项式f(0)等于第二随机数s;
根据新多项式f(x)和随机产生的n个互不相同的非零元素xi,计算新多项式f(x)相应的解yi;
分别用初始区块链节点公钥Pi分别对非零元素xi和相应的解yi进行加密,获得第一参数Exi和第二参数Eyi;其中1≤i≤n,Pi表示第i初始区块链节点的公钥;
步骤5,使用SM4算法将群组密钥Gkey作为发送端密钥,对待传输的隐蔽数据msg进行加密,生成隐蔽数据密文Emsg;
步骤6,依据所述第一随机数r和基点G获得第三参数R;其中,基点G为基于SM2算法生成的椭圆曲线的基点;
对所述隐蔽数据密文Emsg、第一参数Exi、第二参数Eyi和第三参数R进行拼接,获得隐蔽数据分组str;
步骤7,生成隐蔽消息组的标识码Sig;将所述隐蔽数据分组str、标识码Sig、接收端的签名公钥PB和消息控制码进行拼接,生成隐蔽消息组。
需要说明的是,隐蔽数据通过区块链交易传递,然而在传统区块链系统中,交易发送端无法获知接收方是否已对消息进行了读取,也无法对已发送的交易内容进行控制,如取消接收方的阅读权限。本发明在所述新隐蔽消息组中设置消息控制码,所述发送端及所述监管端通过修改所述消息控制码的状态,将所述新隐蔽消息组的状态修改为可读和不可读,使得所述发送端及所述监管端对隐蔽数据实现可控读取,提高隐蔽数据通信的灵活性。
具体的,所述隐蔽消息组的标识码为动态标签;获取动态标签时,执行:
将提取出的待传输的隐蔽数据的前N字节作为第一基础参数;将第一基础参数转换为16进制字符串,并在对第一基础参数进行补位后,16位一组分为M组,即对所述第一基础参数进行处理获得基础参数分组[i],其中,0≤i≤M;
对基础参数分组[0]至基础参数分组[M] 依次进行异或运算,将异或运算结果作为第二基础参数;从所述第二基础参数中随机选出K个字节,采用第一加密算法进行加密获得第三基础参数;再次从所述第二基础参数随机选出K个字节,并与所述第三基础参数进行异或运算,获得第四基础参数;采用第二加密算法对第四基础参数进行加密,并提取加密结果的前K个字节作为动态标签。其中,所述第一加密算法和所述第二加密算法可以采用3Dex算法、AES算法或者RSA算法等;K为8或16。若接收端根据预先约定的密码算法对隐蔽消息组的标识码进行解密,获得的结果不是乱码,则判断接到的消息是所需的隐蔽消息组。
需要说明的是,在当前典型MAC算法的基础上本发明提出一种新的MAC算法,对每次发送端欲通信的隐蔽数据生成一个定长且长度较短的可变字符串作为标签,使接收端能够很快地从大量信息中区分是否存在带有特殊格式标签的信息,进而筛选出发送端所发送的信息。
本发明中发送端不需要与接收端频繁协商,即可提供一种动态、可变标签,即每一个特殊交易中的标签都不同,实现隐蔽消息组的标识码的更新。
进一步的,接收端依据获得的隐蔽数据内容,生成所述隐蔽数据的额外价值,并将所述隐蔽数据的额外价值存储至所述第二智能合约中。
可以理解,区块链账号通常是由用户自行生成的,与身份信息无关。但是账号相关的交易信息有可能泄露账号的交易规律,甚至被用于推测账号对应的身份信息。区块链技术采用的去中心化架构、数据泛洪传播模式和基于假名的身份机制有利于实现隐蔽传输。然而现有区块链数据所具有的永久公开的特性将增加隐蔽信道被发现的风险,此外敌手可以通过分析相关交易数据,推测出匿名账号之间的关系。
针对以上问题,本发明提出可监管匿名隐私保护方案,通过零知识证明技术,实现交易方和交易数据的匿名性,同时添加第三方监管机制,实现对链上信息的便捷高效监管。
进一步的,所述发送端随机从发送端账号中提取第一数据片段,生成所述第一数据片段属于发送端账号的第一身份零知识证明标识;并将所述第一身份零知识证明标识和发送端密钥上传至所述监管端;所述监管端通过所述第一身份零知识证明标识对隐蔽消息组的发送端身份是否合法进行查验。
进一步的,所述发送端随机从待传输的隐蔽数据中提取第二数据片段,生成待传输的隐蔽数据属于合法信息的数据零知识证明标识,并将所述数据零知识证明标识上传至所述监管端;所述监管端通过所述数据零知识证明标识对隐蔽数据是否合法进行查验。
需要说明的是,所述监管端与所述发送端之间需要对数据共享的方式进行协议,约定所述发送端在不提供发送端账号的具体信息的情况下,向所述监管端证明隐蔽消息组对应的发送端身份是合法的;并约定所述发送端在不提供隐蔽数据的具体信息的情况下,向所述监管端证明隐蔽消息组对应的内容是合法的。
进一步的,所述接收端随机从接收端账号中提取第三数据片段,生成所述第三数据片段属于接收端账号的第二身份零知识证明标识;并将所述第二身份零知识证明标识上传至所述监管端;所述监管端通过所述第二身份零知识证明标识对接收端身份是否合法进行查验。
需要说明的是,所述监管端与所述接收端之间需要对数据共享的方式进行协议,约定所述接收端在不提供接收端账号的具体信息的情况下,向所述监管端证明隐蔽消息组对应的接收端身份是合法的。
具体的,本发明基于非交互式知识论述方法,生成第一身份零知识证明标识、第二身份零知识证明标识和数据零知识证明标识。
所述基于区块链的隐蔽通信消息安全编码方法还执行:基于所述第三随机数z生成追踪密钥TK和群公钥GPK;所述发送端将所述追踪密钥TK上传至所述监管端,以追踪发送端用户身份;所述发送端还采用群公钥GPK对所述隐蔽消息组进行加密,获得隐蔽消息组密文。本发明通过所述追踪密钥TK实现对用户身份追踪,便于交易数据信息的查看审计以及交易历史记录的追踪溯源。
区块链技术的一项特点是能够实现匿名交易,这主要是由于区块链采用去中心化结构,没有中心节点的监管。此外,区块链采用的信息泛洪传播机制以及假名策略也使其能够隐藏交易者的身份信息。目前针对匿名交易的研究主要集中在隐藏交易者身份和隐藏交易内容两个方面。隐藏交易者身份的主要技术是混币技术,常见的混币技术包括coinjoin,mixcoin, coinsuffle等。隐藏交易内容的研究主要是采用密码学技术在保证共识需求的同时隐藏交易内容,典型的研究包括门罗币采用环签名等密码学技术实现内容隐藏,零币采用零知识证明技术隐藏交易者身份和交易内容。
基于区块链的隐蔽通信消息安全编码方法有突出优势:
(1)有效对抗网络窃听和检测
在传统的隐蔽信道机制中,一旦用于通信的隐蔽信道被发现,敌手可以快速读取填充的字段或时间信号,而且通过解析数据报首部的起始地址和目的地址,敌手可以获取消息发送端及接收方的身份。区块链网络是一种P2P网络,节点之间采用中继广播的模式进行通信,通过窃听网络流量发现用户之间通信关系的方法不适用。例如,区块链网络中,当节点之间需要进行交易时,发送端首先将交易信息发给自己的邻居节点,收到信息的邻居节点再将信息广播给自己的邻居节点,以此类推,信息将逐渐广播到整个网络。接收方节点最终将从网络中收到交易信息,而不需要和发送端直接通信。因此,敌手很难通过窃听发现网络中传播信息的真实来源和目的。
(2)交易账号匿名
传统匿名通信中的MIX和Onion Routing技术虽然可以隐藏信息发送者和接收者的身份,但隐藏过程很容易引起敌手的关注,增加隐蔽信道被发现的风险。区块链交易中使用的账号通常由用户自行创建和保存,与用户身份信息无关,而且区块链账号通常具有非常大的地址空间,出现碰撞的概率非常低,这使得用户可以为每次交易生成不同的账号,隐藏交易者的身份信息。相比传统方法,使用匿名技术的区块链账号不容易被敌手发现。所述发送端基于发送端账号生成第一身份零知识证明标识,并将所述第一身份零知识证明标识上传至所述监管端,以便于第三方监管。
(3)无须指定接收方地址
传统隐蔽通信中通常需要指定接收方的账号,即使账号是匿名的,敌手也可能利用接收方的账号识别出携带秘密数据的信息。在区块链中,交易信息被创建后将以广播的形式传遍整个网络,接收方将从广播信息中或者区块链数据中接收到发给自己的信息。因此,在利用区块链实现隐蔽数据传递时,携带秘密数据的交易信息中甚至不需要指定接收方的地址,从而能够彻底隐藏接收者的身份信息,即使敌手发现此隐蔽信道,也无法知道接收者的身份。
实施例2
本实施例与实施例1的区别在于:所述第一隐蔽处理还可以包括以下步骤:对待传输的隐蔽数据进行摘要运算获得摘要信息,采用第一加密算法对摘要信息进行加密处理,获得校验字段;将待传输的隐蔽数据划分为若干子隐蔽数据块后,基于每个子隐蔽数据块的序号和子隐蔽数据块总数生成若干标识字段;将所述标识字段和所述子隐蔽数据块拼接生成隐蔽数据分组;对所述隐蔽数据分组进行随机乱序处理后获得乱序消息组,在乱序消息组前添加所述校验字段后,进行加密处理,获得新隐蔽消息组。
需要说明的是,本发明通过对待传输的隐蔽数据划分为子隐蔽数据块,并先进行乱序处理后再加密处理,进一步提高隐蔽数据通信的安全性,增加新隐蔽消息组被破解的难度。同时,在乱序消息组前引入校验字段,验证隐蔽数据的完整性,防止隐蔽数据被非法篡改。
实施例3
本实施例与实施例1的区别在于:获取区块链网络中广播的普通交易信息,将所述普通交易信息作为所述隐蔽消息组的载体。
可以理解,由于交易数据永久公开保存,敌手有足够的时间分析全部历史交易数据,因此必须降低携带隐蔽数据的交易的特殊性,增加敌手区分特殊交易和普通交易的难度。通过统计分析普通交易数据,整理出普通交易的特征,在构建特殊交易时模拟普通交易的特征,使敌手不能轻易识别出特殊交易。
需要说明的是,所述初始区块链节点提取所述普通交易信息中冗余字段的特征,模拟普通交易信息中冗余字段的特征,对所述隐蔽消息组进行第二隐蔽处理;其中,所述冗余字段的特征包括使用频率、数据格式特征、使用基数和写入数据长度;将第二隐蔽处理后的隐蔽消息组部署在所述普通交易信息中的专用数据存储字段、输出账号字段或者交易金额字段中一种或者几种组合。
区块链交易中可以用于存储数据的字段很多,包括:专用数据存储字段、输出账号字段和交易金额字段。例如,比特币中的OP_RETURN字段可以存储80字节数据,以太坊交易中的PLOAD字段可以容纳约4000字节数据。区块链交易中的输出账号字段是由交易创建者设定,而且一笔交易中可以设置多个输出账号。因此,创建者可以将隐蔽数据转化为区块链账号的格式,以输出账号形式存储在特殊交易中。区块链交易中的金额通常有较高的精度位数,例如,比特币交易金额的精度为小数点后8位,发送端可以将隐蔽数据转换为交易金额或者手续费金额的形式存储在交易中。
如上所述,利用区块链交易存储数据有多种方法,难点在于如何使携带秘密数据的交易与正常交易保持类似。为了实现隐蔽传输,应该分析已上链的普通交易数据的冗余字段的使用情况,包括使用基数、使用频率、写入数据长度、数据格式特征等,确保包含隐蔽数据的交易可以隐藏在庞大的交易基数当中,不会因产生特殊性引起外界关注从而丧失数据隐蔽性。
需要说明的是,基于区块链的比特币、以太坊等数字货币交易中允许用户插入一定长度的自定义信息,这些信息中可以包括隐蔽数据的信息。除了普通交易信息的自定义字段之外,交易中的固定字段也可以传递隐蔽信息。在交易中隐藏秘密信息的难点在于不能破坏原有交易的格式,确保交易能够被验证通过,并成功记录在区块链中。
此外,由于交易中存储容量有限,还需要解决大批量数据传输的问题。现有区块链隐蔽通信由于需要将传输信息隐藏在区块存储信息中,因此有效传输数据量很小。区块链网络节点之间会交换多种类型的数据包包括block信息、transaction信息、inv信息和getdata信息等。这些数据包均可用于存储数据,然而大部分数据包并不适合用于实现隐蔽通信。例如inv信息和getdata信息通常只能在临近的几个节点之间传递,无法确保接收端收到交易;block信息虽然能够传遍整个网络,但是block信息平均每十分钟产生一个,隐蔽效果不好。
本发明通过综合分析隐蔽性、传递效率等因素,transaction信息最适合用于传递隐蔽信息。首先,tansaction信息任何节点都可以产生,数量巨大,有较好的隐蔽空间。其次,transaction信息将通过泛洪模式传给所有节点,有利于在不指定接收方的情况下保证接收方能够收到交易。最后,现有的数字货币系统的交易中通常预设了数据字段,允许存储一些数据。例如比特币每个交易中可以存储80个字节的数据,以太坊每个交易中可以存储4000个字节的数据。因此,利用transaction信息传递数据有足够的信息容量。
实施例4
一种基于区块链的隐蔽通信消息安全编码系统,包括:
发送端,用于对待隐蔽数据进行第一隐蔽处理,获得隐蔽消息组;以及基于将所述隐蔽消息组传输至初始区块链节点的交易事件,在初始区块链节点上生成第一智能合约;所述第一智能合约包括隐蔽数据的原始价值、发送端环签名值和隐蔽数据的标识码;
初始区块链节点,用于将所述隐蔽消息组和所述第一智能合约广播至区块链的主邻居区块链节点上;
主邻居区块链节点,用于将所述隐蔽消息组和所述第一智能合约广播至次邻居区块链节点;
接收端,用于依据所述标识码捞取所需的隐蔽消息组;基于接收端从区块链中相应节点上获取所述隐蔽消息组的交易事件生成第二智能合约;对所述隐蔽消息组签名验签后,根据发送端密钥解密所述隐蔽消息组,获得隐蔽数据;以及依据获得的隐蔽数据内容,生成所述隐蔽数据的额外价值,并将所述隐蔽数据的额外价值存储至所述第二智能合约中;
以及监管端,用于获取所述第一智能合约和所述第二智能合约,对所述第一智能合约和所述第二智能合约进行合法性查验后,向接收端发送所述隐蔽消息组对应的发送端密钥;并将上述交易事件保存至区块链账簿上。
进一步的,所述发送端随机从发送端账号中提取第一数据片段,生成所述第一数据片段属于发送端账号的第一身份零知识证明标识;并将所述第一身份零知识证明标识和发送端密钥上传至所述监管端;所述监管端通过所述第一身份零知识证明标识对隐蔽消息组的发送端身份是否合法进行查验。所述发送端还随机从待传输的隐蔽数据中提取第二数据片段,生成待传输的隐蔽数据属于合法信息的数据零知识证明标识,并将所述数据零知识证明标识上传至所述监管端;所述监管端通过所述数据零知识证明标识对隐蔽数据是否合法进行查验。
需要说明的是,所述监管端与所述发送端之间需要对数据共享的方式进行协议,约定所述发送端在不提供发送端账号的具体信息的情况下,向所述监管端证明隐蔽消息组对应的发送端身份是合法的;并约定所述发送端在不提供隐蔽数据的具体信息的情况下,向所述监管端证明隐蔽消息组对应的内容是合法的。
进一步的,所述接收端随机从接收端账号中提取第三数据片段,生成所述第三数据片段属于接收端账号的第二身份零知识证明标识;并将所述第二身份零知识证明标识上传至所述监管端;所述监管端通过所述第二身份零知识证明标识对接收端身份是否合法进行查验。
需要说明的是,所述监管端与所述接收端之间需要对数据共享的方式进行协议,约定所述接收端在不提供接收端账号的具体信息的情况下,向所述监管端证明隐蔽消息组对应的接收端身份是合法的。
实施例5
本实施例给出了一种可读存储介质,其上存储有指令,该指令被处理器执行时实现如上述的基于区块链的隐蔽通信消息安全编码方法的步骤。
本实施例给出一种可读存储介质,其上在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等存储有指令,该指令被处理器执行时实现上述的流媒体数据发送端法的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。