CN114389825B - 一种基于区块链的数据通信方法和相关装置 - Google Patents
一种基于区块链的数据通信方法和相关装置 Download PDFInfo
- Publication number
- CN114389825B CN114389825B CN202210296151.0A CN202210296151A CN114389825B CN 114389825 B CN114389825 B CN 114389825B CN 202210296151 A CN202210296151 A CN 202210296151A CN 114389825 B CN114389825 B CN 114389825B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- candidate
- nodes
- communication
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种基于区块链的数据通信方法和相关装置,方法包括:通过发送节点至接收节点之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,k为正整数,k≥2;排序k个候选节点得到节点顺序;对节点顺序进行嵌套加密处理得到加密顺序,以屏蔽节点顺序中第i个候选节点获取第i+1个候选节点以外的信息,i=1,2,…,k‑1;通过节点顺序在k个候选节点之间传输加密顺序,直至确定发送节点至接收节点的重路由路径;以重路由路径实现发送节点至接收节点的匿名通信。有效避免攻击者攻击区块链中相关节点获取相关节点的通信拓扑关系,隐藏数据通信过程中发送节点的网络地址,降低数据所有者的相关数据泄露风险。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种基于区块链的数据通信方法和相关装置。
背景技术
随着大数据技术的快速发展,数据保护技术越来越重要,尤其是数字版权保护技术十分重要。在利用可信机构对数据做权限访问控制,或者,通过水印、加密、数字认证等方式限制对数据的非法盗用,存在一定局限性的机基础上;相关技术中,通常是利用区块链技术对数据进行保护。
然而,利用区块链技术对数据进行保护时,攻击者可以攻击区块链中相关节点,获取相关节点的通信拓扑关系;以此进行拓扑分析,确定数据通信过程中发送节点的网络地址,导致数据所有者的相关数据泄露风险增加,从而降低数据所有者的相关数据安全性。
发明内容
为了解决上述技术问题,本申请提供了一种基于区块链的数据通信方法和相关装置,有效避免攻击者攻击区块链中相关节点获取相关节点的通信拓扑关系,以隐藏数据通信过程中发送节点的网络地址,使得数据所有者的相关数据泄露风险降低,从而提高数据所有者的相关数据安全性。
本申请实施例公开了如下技术方案:
一方面,本申请提供一种基于区块链的数据通信方法,所述方法包括:
基于发送节点至接收节点之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,k为正整数,k≥2;
对所述k个候选节点进行排序处理,获得所述k个候选节点的节点顺序;
对所述节点顺序进行嵌套加密处理,获得所述节点顺序对应的加密顺序;所述加密顺序用于屏蔽所述节点顺序中第i个候选节点获取所述节点顺序中除第i+1个候选节点以外的信息,i=1,2,…,k-1;
基于所述节点顺序在所述k个候选节点之间传输所述加密顺序,直至确定所述发送节点至所述接收节点的重路由路径;
基于所述重路由路径进行所述发送节点至所述接收节点的匿名通信。
另一方面,本申请提供一种基于区块链的数据通信装置,所述装置包括:获取单元、排序单元、加密单元、确定单元和通信单元;
所述获取单元,用于基于发送节点至接收节点之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,k为正整数,k≥2;
所述排序单元,用于对所述k个候选节点进行排序处理,获得所述k个候选节点的节点顺序;
所述加密单元,用于对所述节点顺序进行嵌套加密处理,获得所述节点顺序对应的加密顺序;所述加密顺序用于屏蔽所述节点顺序中第i个候选节点获取所述节点顺序中除第i+1个候选节点以外的信息,i=1,2,…,k-1;
所述确定单元,用于基于所述节点顺序在所述k个候选节点之间传输所述加密顺序,直至确定所述发送节点至所述接收节点的重路由路径;
所述通信单元,用于基于所述重路由路径进行所述发送节点至所述接收节点的匿名通信。
另一方面,本申请提供一种用于基于区块链的数据通信计算机设备,所述计算机设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述方面所述的基于区块链的数据通信方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的基于区块链的数据通信方法。
另一方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或指令;当所述计算机程序或指令被处理器执行时,执行上述方面所述的基于区块链的数据通信方法。
由上述技术方案可以看出,通过发送节点至接收节点之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,k为正整数,k≥2;排序k个候选节点得到节点顺序;对节点顺序进行嵌套加密处理得到加密顺序,以屏蔽节点顺序中第i个候选节点获取节点顺序中除第i+1个候选节点以外的信息,i=1,2,…,k-1;通过节点顺序在k个候选节点之间传输加密顺序,直至确定发送节点至接收节点的重路由路径;以重路由路径实现发送节点至接收节点的匿名通信。
可见,针对发送节点至接收节点之间数据通信,通过选取候选节点并排序得到节点顺序后,利用嵌套加密方式传输节点顺序,屏蔽节点顺序中候选节点获取下一跳候选节点以外的信息,保障节点顺序的安全性,以确定重路由路径实现匿名通信;基于此,该方式有效避免攻击者攻击区块链中相关节点获取相关节点的通信拓扑关系,以隐藏数据通信过程中发送节点的网络地址,使得数据所有者的相关数据泄露风险降低,从而提高数据所有者的相关数据安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术成员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种基于区块链的分布式系统的结构示意图;
图2为本申请实施例提供的一种区块结构的示意图;
图3为本申请实施例提供的一种基于区块链的数据通信方法的应用场景示意图;
图4为本申请实施例提供的一种基于区块链的数据通信方法的流程图;
图5为本申请实施例提供的一种k个通信节点集合和k个候选节点的示意图;
图6为本申请实施例提供的一种发送节点至接收节点的重路由路径的示意图;
图7为本申请实施例提供的一种恶意节点的有效攻击时间轮数与重路由路径的路径长度的关系示意图;
图8为本申请实施例提供的一种基于区块链的数据通信的框架示意图;
图9为本申请实施例提供的一种基于区块链的数据存储方法的流程图;
图10为本申请实施例提供的一种基于区块链的数据存储具体方法的示意图;
图11为本申请实施例提供的一种基于区块链的数据存储的框架示意图;
图12为本申请实施例提供的一种基于区块链的数字版权保护系统的结构示意图;
图13为本申请实施例提供的一种基于区块链的数据通信装置的示意图;
图14为本申请实施例提供的一种终端设备的结构示意图;
图15为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
现阶段,可以通过区块链技术对数据进行保护。但是,攻击者可以攻击区块链中相关节点,获取相关节点的通信拓扑关系;以此进行拓扑分析,确定数据通信过程中发送节点的网络地址,增加数据所有者的相关数据泄露风险,降低数据所有者的相关数据安全性。
例如,在数字版权保护场景中,通过区块链技术对数字内容进行保护。但是,攻击者可以攻击区块链中相关节点,获取相关节点的通信拓扑关系;以此进行拓扑分析,确定数字版权交互过程中发送节点的互联网协议(Internet Protocol,IP)地址,增加数字内容所有者的保密信息泄露风险,降低数字内容所有者的保密信息安全性。
有鉴于此,本申请提出一种基于区块链的数据通信方法和相关装置,针对发送节点至接收节点之间数据通信,通过选取候选节点并排序得到节点顺序后,利用嵌套加密方式传输节点顺序,屏蔽节点顺序中候选节点获取下一跳候选节点以外的信息,保障节点顺序的安全性,以确定重路由路径实现匿名通信;基于此,该方式有效避免攻击者攻击区块链中相关节点获取相关节点的通信拓扑关系,以隐藏数据通信过程中发送节点的网络地址,使得数据所有者的相关数据泄露风险降低,从而提高数据所有者的相关数据安全性。
本申请实施例提供的基于区块链的数据通信方法可以应用于具有数据处理能力的基于区块链的数据通信设备,例如可以是终端设备、服务器等。其中,终端设备包括但不限于手机、电脑、计算机、智能语音交互设备、智能家电、车载终端、飞行器等;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器,但并不局限于此等。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例提供的基于区块链的数据通信方法,涉及的应用系统可以是由多个节点(接入网络中的任意形式的计算设备,如服务器、终端设备)通过网络通信的形式连接形成的分布式系统。
以基于区块链分布式系统为例,参见图1,图1为本申请实施例提供的一种基于区块链的分布式系统的结构示意图。其中,基于区块链的分布式系统100由多个节点200(接入网络中的任意形式的计算设备,如服务器、终端设备)形成。节点之间形成组成的点对点(Peer To Peer,P2P)网络,P2P 协议是一个运行在传输控制协议(Transmission ControlProtocol,TCP)协议之上的应用层协议。在基于区块链的分布式系统100中,任何计算设备如服务器、终端设备都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图1示出的区块链中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块 ,新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图2,图2为本申请实施例提供的一种区块结构的示意图,每个区块中包括本区块存储交互记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链本质上是一个去中心化数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
为了便于理解本申请的技术方案,下面结合实际应用场景,对本申请实施例提供的基于区块链的数据通信方法进行介绍。
参见图3,图3为本申请实施例提供的一种基于区块链的数据通信方法的应用场景示意图。在图3所示的应用场景包括基于区块链的分布式系统300,该分布式系统300由多个通信节点形成,多个通信节点中包括发送节点301和接收节点302。
首先,发送节点301基于发送节点301至接收节点302之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,k为正整数,k≥2。例如,发送节点301可以在基于区块链的分布式系统300中,广播发送节点301至接收节点302之间数据通信的建路请求,响应于该建路请求,发送节点301获取到多个通信节点中的k个候选节点,比如k=4时,4个候选节点具体可以为候选节点1、候选节点2、候选节点3和候选节点4。
其次,发送节点301对k个候选节点进行排序处理,获得k个候选节点的节点顺序。例如,发送节点301获取到上述4个候选节点之后,可以对上述4个候选节点进行排序处理,得到4个候选节点的节点顺序可以为:候选节点1→候选节点3→候选节点2→候选节点4。
发送节点301对节点顺序进行嵌套加密处理,获得节点顺序对应的加密顺序;加密顺序用于屏蔽节点顺序中第i个候选节点获取节点顺序中除第i+1个候选节点以外的信息,i=1,2,…,k-1。例如,发送节点301可以采用嵌套加密方式处理上述候选节点1→候选节点3→候选节点2→候选节点4的节点顺序,得到对应的加密顺序;该加密顺序表示屏蔽候选节点1获取下一跳候选节点为候选节点3以外的信息,屏蔽候选节点3获取下一跳候选节点为候选节点2以外的信息,屏蔽候选节点2获取下一跳候选节点为候选节点4以外的信息。
发送节点301基于节点顺序在k个候选节点之间传输加密顺序,直至确定发送节点301至接收节点302的重路由路径。例如,发送节点301可以按照上述候选节点1→候选节点3→候选节点2→候选节点4的节点顺序在上述4个候选节点之间传输上述加密顺序,直至确定发送节点301至接收节点302的重路由路径可以为:发送节点301→候选节点1→候选节点3→候选节点2→候选节点4→接收节点302。
发送节点301基于重路由路径进行发送节点301至接收节点302的匿名通信。例如,发送节点301可以通过上述发送节点301→候选节点1→候选节点3→候选节点2→候选节点4→接收节点302的重路由路径,实现发送节点301至接收节点302之间匿名通信。
可见,针对发送节点301至接收节点302之间数据通信,通过选取候选节点并排序得到节点顺序后,利用嵌套加密方式传输节点顺序,屏蔽节点顺序中候选节点获取下一跳候选节点以外的信息,保障节点顺序的安全性,以确定重路由路径实现匿名通信;基于此,该方式有效避免攻击者攻击区块链中相关节点获取相关节点的通信拓扑关系,以隐藏数据通信过程中发送节点的网络地址,使得数据所有者的相关数据泄露风险降低,从而提高数据所有者的相关数据安全性。
例如,在数字版权保护场景中,该方式有效避免攻击者攻击区块链中相关节点获取相关节点的通信拓扑关系,以隐藏数字版权交互过程中发送节点的网络地址,使得数据内容所有者的相关数据泄露风险降低,从而提高数据内容所有者的相关数据安全性。
接下来,对本申请实施例提供的基于区块链的数据通信方法进行具体介绍。
参见图4,该图为本申请实施例提供的一种基于区块链的数据通信方法的流程图。如图4所示,该基于区块链的数据通信方法包括以下步骤:
S401:基于发送节点至接收节点之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,k为正整数,k≥2。
本申请实施例中,针对发送节点至接收节点之间数据通信的需求,需要确定用于实现发送节点至接收节点之间数据通信的重路由路径;则发送节点首先需要在多个通信节点所形成的基于区块链的分布式系统中,广播发送节点至接收节点之间数据通信的建路请求,响应于该建路请求,发送节点可以获取到多个通信节点中的k个候选节点,该k个候选节点用于确定发送节点至接收节点的重路由路径。
在S401实现时,考虑到为了避免k个候选节点在后续确定发送节点至接收节点的重路由路径时出现环、路径长度过长等的情况,可以利用聚类算法将区块链的多个通信节点分为k个通信节点集合,基于发送节点至接收节点之间数据通信的建路请求,每个通信节点集合从其通信节点中随机确定一个候选节点并发送至发送节点,则发送节点获取k个候选节点。因此,本申请提供了一种可能的实现方式,S401例如可以包括:基于建路请求,从区块链的k个通信节点集合中分别获取一个候选节点形成k个候选节点;k个通信节点集合是对多个通信节点进行聚类得到的,k个候选节点分别由k个通信节点集合随机确定。
该方式中通过对区块链的多个通信节点进行聚类得到k个通信节点集合,每个通信节点集合从其通信节点中仅随机确定一个候选节点,使得发送节点获取到的k个候选节点并不重复,能够避免后续确定发送节点至接收节点的重路由路径出现环的情况。且发送节点获取到的k个候选节点在数量上较小,则发送节点至接收节点的重路由路径的最大路径长度为k+1,能够避免后续确定发送节点至接收节点的重路由路径出现路径长度过长等的情况,从而能够提升发送节点至接收节点之间数据通信的效率。
其中,k个通信节点集合例如可以是根据区块链的多个通信节点之间的属性以及网络延迟等,利用预设聚类算法对多个通信节点进行聚类得到的。预设聚类算法例如可以是K-中心点聚类算法,即,K-Medoids聚类算法,该K-Medoids聚类算法选择聚类簇中位置最接近聚类簇中心的通信节点作为聚类簇的代表节点。
作为一种示例,对区块链的多个通信节点进行聚类得到k个通信节点集合,实际上是将区块链的多个通信节点S={S1,S2,…,Sm},Sm∈RS,Sp表示第p个通信节点,划分到k个聚类簇C={C1,C2,…,Ck}中,Cq表示第q个聚类簇,Oq表示Cq的聚类簇中心。具体可以采用如下函数以相似度高低判定是否划分到聚类簇,依据划分结果完成聚类得到k个通信节点集合。
实际应用中,每个通信节点集合的通信节点既可以作为中继节点、也可以作为普通节点,用于在数据通信过程中实现数据转发和路径维持;每个通信节点集合包括一个超级节点和普通节点,该超级节点是通信节点集合所表示聚类簇的聚类簇中心,用于随机确定候选节点;此外,随机确定的候选节点可以是超级节点,也可以是普通节点。
即,发送节点向发送节点所属通信节点集合中超级节点发送建路请求,发送节点所属通信节点集合中超级节点将建路请求转发至其余k-1个通信节点集合中超级节点;每个通信节点集合中超级节点从其通信节点中随机确定一个候选节点,并发送至发送节点所属通信节点集合中超级节点;在发送节点所属通信节点集合中超级节点获取k个候选节点后,将k个候选节点发送至发送节点,则发送节点获取k个候选节点。
作为一种示例,参见图5,图5为本申请实施例提供的一种k个通信节点集合和k个候选节点的示意图。其中,区块链的多个通信节点聚类得到4个通信节点集合,每个通信节点集合包括一个超级节点和多个普通节点,4个超级节点为超级节点1、超级节点2、超级节点3和超级节点4。超级节点1随机确定的候选节点为普通节点1,超级节点2随机确定的候选节点为普通节点9,超级节点3随机确定的候选节点为超级节点3,超级节点4随机确定的候选节点为普通节点18;即,4个候选节点为普通节点1、普通节点9、超级节点3和普通节点18。
在S401具体实现时,为了避免攻击者劫取每个通信节点集合从其通信节点中随机确定的一个候选节点,每个通信节点集合需要加密从其通信节点中随机确定的一个候选节点,得到一个加密节点并发送至发送节点,则发送节点获取k个加密节点;发送节点解密k个加密节点得到k个候选节点。因此,本申请提供了一种可能的实现方式,S402例如可以包括如下S4011- S4012:
S4011:基于建路请求,获取k个候选节点对应的k个加密节点;k个加密节点分别由k个通信节点集合对随机确定的候选节点进行加密处理得到。
在上述每个通信节点集合包括一个超级节点的基础上,发送节点向发送节点所属通信节点集合中超级节点发送建路请求,发送节点所属通信节点集合中超级节点将建路请求转发至其余k-1个通信节点集合中超级节点;每个通信节点集合中超级节点从其通信节点中随机确定一个候选节点,加密后得到一个加密节点,并至发送节点所属通信节点集合中超级节点,在发送节点所属通信节点集合中超级节点获取k个加密节点后,将k个加密节点发送至发送节点,则发送节点获取k个加密节点。
S4012:解密k个加密节点获得k个候选节点。
其中,S4011- S4012中加密和解密例如可以采用包括公钥和私钥的密钥对,为了避免攻击者劫取到密钥对,还可以采用一次性密钥对。
S402:对k个候选节点进行排序处理,获得k个候选节点的节点顺序。
本申请实施例中,在S401发送节点获取k个候选节点之后,为了后续确定发送节点至接收节点的重路由路径,发送节点需要对k个候选节点进行排序处理,以得到k个候选节点的节点顺序,该节点顺序表示初始化情况下发送节点按照该节点顺序接连至接收节点。
作为一种示例,在图5的基础上,发送节点获取4个候选节点为普通节点1、普通节点9、超级节点3和普通节点18,对普通节点1、普通节点9、超级节点3和普通节点18进行排序处理,得到4个候选节点的节点顺序为:普通节点1→普通节点9→超级节点3→普通节点18。
S403:对节点顺序进行嵌套加密处理,获得节点顺序对应的加密顺序;加密顺序用于屏蔽节点顺序中第i个候选节点获取节点顺序中除第i+1个候选节点以外的信息,i=1,2,…,k-1。
由于相关技术中,攻击者可以攻击区块链中相关节点,获取相关节点的通信拓扑关系;以此进行拓扑分析,确定数据通信过程中发送节点的网络地址,增加数据所有者的相关数据泄露风险,降低数据所有者的相关数据安全性。
因此,本申请实施例中,在S402得到k个候选节点的节点顺序之后,发送节点并不是将节点顺序直接在k个候选节点之间传输;而是采用嵌套加密方式处理节点顺序得到对应的加密顺序,以便后续将加密顺序在k个候选节点之间传输。
由于该加密顺序能够屏蔽节点顺序中第i个候选节点获取节点顺序中除第i+1个候选节点以外的信息,保障节点顺序的安全性,能够避免攻击者劫取到节点顺序,增加攻击难度;因此,上述S403的实施方式,可以有效避免攻击者攻击区块链中相关节点获取相关节点的通信拓扑关系,从而隐藏数据通信过程中发送节点的网络地址,使得数据所有者的相关数据泄露风险降低,从而提高数据所有者的相关数据安全性。
其中,S403嵌套加密处理例如可以采用公钥,为了避免攻击者劫取到公钥,还可以采用一次性公钥。
作为一种示例,在上述示例的基础上,采用嵌套加密方式处理上述普通节点1→普通节点9→超级节点3→普通节点18的节点顺序进行嵌套加密处理,得到对应的加密顺序。该加密顺序表示屏蔽普通节点1获取下一跳候选节点为普通节点9以外的信息,屏蔽普通节点9获取下一跳候选节点为超级节点3以外的信息,屏蔽超级节点3获取下一跳候选节点为普通节点18以外的信息。
S404:基于节点顺序在k个候选节点之间传输加密顺序,直至确定发送节点至接收节点的重路由路径。
本申请实施例中,在S403得到节点顺序对应的加密顺序之后,该加密顺序需要在k个候选节点之间传输,以确定发送节点至接收节点的重路由路径,则需要依据节点顺序在k个候选节点之间传输加密顺序,直至确定发送节点至接收节点的重路由路径。
在上述每个通信节点集合包括一个超级节点的基础上,发送节点向发送节点所属通信节点集合中超级节点发送上述加密顺序,发送节点所属通信节点集合中超级节点依据节点顺序在k个候选节点之间传输加密顺序,直至确定发送节点至接收节点的重路由路径。
作为一种示例,在上述示例的基础上,参见图6,图6为本申请实施例提供的一种发送节点至接收节点的重路由路径的示意图。其中,按照上述普通节点1→普通节点9→超级节点3→普通节点18的节点顺序传输上述加密顺序,确定发送节点至接收节点的重路由路径例如可以为:发送节点→普通节点1→普通节点9→超级节点3→普通节点18→接收节点。
在S404具体实现时,基于节点顺序在k个候选节点之间传输加密顺序过程中,在节点顺序中第i个候选节点获取节点顺序中除第i+1个候选节点的基础上,还需要结合第i个候选节点至第i+1个候选节点的第一转发概率,以及第i个候选节点至接收节点的第二转发概率传输加密顺序,直至确定发送节点至接收节点的重路由路径。其中,第二转发概率大于第一转发概率时,重路由路径表示发送节点按照节点顺序通过第i个候选节点转发至接收节点。
考虑到相关技术中第一转发概率是固定转发概率,则第二转发概率也是固定转发概率,此情况下,发送节点至接收节点的重路由路径的路径长度分布和路径长度期望值的函数如下:
其中,∂表示转发次数,且1≤∂≤∞,pf表示第一转发概率,是固定转发概率。
该方式中第一转发概率是固定转发概率,可能导致发送节点至接收节点的重路由路径的路径长度过长,从而可能会导致重路由路径的建路失败;且重路由路径的路径长度过长,表示k个候选节点在数量上较大,较大数量的k个候选节点维持重路由路径时,造成较大的负载压力和性能损失。
在本申请实施例中,结合上述S404具体实现方式,为了避免第i个候选节点至第i+1个候选节点的第一转发概率是固定转发概率,则需要随机生成第一转发概率;对应地,第i个候选节点至接收节点的第二转发概率由第一转发概率确定,则同样避免第二转发概率是固定转发概率。
因此,本申请提供了一种可能的实现方式,S404例如可以包括:基于节点顺序、第i个候选节点至第i+1个候选节点的第一转发概率以及第i个候选节点至接收节点的第二转发概率,在k个候选节点之间传输加密顺序,直至确定重路由路径;第一转发概率是随机生成的,第二转发概率由第一转发概率确定,第二转发概率大于第一转发概率时,重路由路径表示发送节点按照节点顺序通过第i个候选节点转发至接收节点。
其中,在S401中k个候选节点分别由k个通信节点集合随机确定时,在前述每个通信节点集合从其通信节点中随机确定一个候选节点的基础上,还需要随机生成一个转发概率;即,本申请提供了一种可能的实现方式,第i个候选节点至第i+1个候选节点的第一转发概率由第i个候选节点所属的通信节点集合随机生成。
在前述每个通信节点集合包括一个超级节点的基础上,超级节点还用于随机生成转发概率;即,本申请提供了一种可能的实现方式,第i个候选节点至第i+1个候选节点的第一转发概率由第i个候选节点所属的通信节点集合中超级节点随机生成。
此外,基于区块链的分布式系统中多个通信节点具体为n个通信节点,n个通信节点包括a个恶意节点,令TN为进行前驱攻击推测出发送节点需要重置重路由路径的轮数,即,TN为恶意节点的有效攻击时间轮数,σ为重路由路径中在第2个路径节点之后为恶意节点并且该恶意节点的前驱为非恶意节点的概率值,函数如下:
A事件表示重路由路径中第一个恶意节点的前驱为发送节点;B事件表示重路由路径中第一个恶意节点的前驱为非发送节点的普通节点;C事件表示重路由路径中有恶意节点,并且恶意节点可以获取重路由路径中传输数据的明文信息。用Pr(B,C)表示B事件和C事件同时发生的概率,则σ= Pr(B,C)。
当重路由路径的路径长度逐渐增长时,根据前述函数可以推导得到如下:
其中,2≤k<max,且0<1- a/n,则可以得到如下:
参见图7,图7为本申请实施例提供的一种恶意节点的有效攻击时间轮数与重路由路径的路径长度的关系示意图。其中,恶意节点数量定量变化时,恶意节点的有效攻击时间轮数随着重路由路径的路径长度增加所产生的变化并不明显;因此,在恶意节点数量相对稳定的情况下,尽量减少重路由路径的路径长度,能够进一步提升发送节点至接收节点之间数据通信的效率。
基于此,在前述第二转发概率大于第一转发概率时,重路由路径表示发送节点按照节点顺序通过第i个候选节点转发至接收节点的基础上,随着发送节点至第i个候选节点的路径长度增加,需要在第一转发概率的基础上,结合发送节点至第i个候选节点的路径长度,增大第二转发概率,以增加第i个候选节点转发至接收节点的可能性,缩短发送节点至接收节点的重路由路径的路径长度,从而进一步提升发送节点至接收节点之间数据通的效率。因此,本申请提供了一种可能的实现方式,第二转发概率由第一转发概率以及发送节点至第i个候选节点的路径长度确定。
作为一种示例,第i个候选节点至第i+1个候选节点的第一转发概率为pi,i=1,2,…,k-1,发送节点至第i个候选节点的路径长度为h,第i个候选节点至接收节点的第二转发概率为1-pi h。例如,在图6的基础上,普通节点1至普通节点9的第一转发概率为p1,普通节点1至接收节点的第二转发概率为1- p1;普通节点9至超级节点3的第一转发概率为p2,普通节点9至接收节点的第二转发概率为1-p2 2;超级节点3至普通节点18的第一转发概率为p3,超级节点3至接收节点的第二转发概率为1-p3 3。
S405:基于重路由路径进行发送节点至接收节点的匿名通信。
本申请实施例中,在S404确定发送节点至接收节点的重路由路径之后,由于该重路由路径是选取候选节点并排序后利用嵌套加密方式传输所确定的,有效避免攻击者攻击区块链中相关节点获取相关节点的通信拓扑关系,候选节点的节点顺序安全性,以隐藏数据通信过程中发送节点的网络地址;因此,通过该重路由路径进行发送节点至接收节点之间的数据通信,即可实现发送节点至接收节点的匿名通信。
作为一种示例,参见图8,图8为本申请实施例提供的一种基于区块链的数据通信的框架示意图。其中,图中左侧的节点为发送节点,图中居中的多个节点是可以作为候选节点的多个通信节点,图中右侧的节点为接收节点,发送节点基于发送节点至接收节点之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,k为正整数,k≥2;发送节点对k个候选节点进行排序处理,获得k个候选节点的节点顺序;发送节点对节点顺序进行嵌套加密处理,获得节点顺序对应的加密顺序;加密顺序用于屏蔽节点顺序中第i个候选节点获取节点顺序中除第i+1个候选节点以外的信息,i=1,2,…,k-1;发送节点基于节点顺序在k个候选节点之间传输加密顺序,直至确定发送节点至接收节点的重路由路径;发送节点基于重路由路径进行发送节点至接收节点的匿名通信。
上述实施例提供的基于区块链的数据通信方法,通过发送节点至接收节点之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,k为正整数,k≥2;排序k个候选节点得到节点顺序;对节点顺序进行嵌套加密处理得到加密顺序,以屏蔽节点顺序中第i个候选节点获取节点顺序中除第i+1个候选节点以外的信息,i=1,2,…,k-1;通过节点顺序在k个候选节点之间传输加密顺序,直至确定发送节点至接收节点的重路由路径;以重路由路径实现发送节点至接收节点的匿名通信。
可见,针对发送节点至接收节点之间数据通信,通过选取候选节点并排序得到节点顺序后,利用嵌套加密方式传输节点顺序,屏蔽节点顺序中候选节点获取下一跳候选节点以外的信息,保障节点顺序的安全性,以确定重路由路径实现匿名通信;基于此,该方式有效避免攻击者攻击区块链中相关节点获取相关节点的通信拓扑关系,以隐藏数据通信过程中发送节点的网络地址,使得数据所有者的相关数据泄露风险降低,从而提高数据所有者的相关数据安全性。
此外,针对上述实施例中多个通信节点所形成的基于区块链的分布式系统而言,区块链中单个区块大小有限,无法数据全部存储在区块链上,一般是额外采用中心化数据库进行数据存储,中心化数据库的存在削弱区块链的去中心化程度;且区块链上存储的数据是公开透明的,对于保密类型的数据并不合理,无法保护保密类型的数据。
因此,针对上述实施例中多个通信节点所形成的基于区块链的分布式系统而言,在数据存储过程中,通过增加不同于区块链的去中心化数据库存储保密类型的数据;并将保密类型的数据在去中心化数据库的存储地址数据加密后上传至区块链。
基于此,参见图9,该图为本申请实施例提供的一种基于区块链的数据存储方法的流程图。如图9所示,该基于区块链的数据存储方法包括以下步骤:
S901:在数据存储过程中,若第一待存储数据的数据类型为保密类型,将第一待存储数据存储至去中心化数据库,去中心化数据库不同于区块链。
本申请实施例中,在区块链的基础上,增加不同于区块链的中心化数据库;在数据存储过程中,判断得到第一待存储数据为保密类型的数据时,可以将第一待存储数据存储至去中心化数据库,以分摊区块链容量不足带来的存储压力,解决区块链容量不足导致的中心化存储问题。
其中,考虑到星际文件系统(Inter Planetary File System,IPFS)具有永久的、去中心化保存和共享数据,以及数据可寻址的特性,可以将IPFS作为上述不同于区块链的去中心化数据库。因此,本申请提供了一种可能的实现方式,去中心化数据库包括星际文件系统。
在数字版权保护场景中,保密类型的第一待存储数据是指数字内容的保密文件以及数字内容所有者(对象)的保密信息等;对象的保密信息例如可以是对象的虚拟对象名称、真实对象名称、所在地址、证件号码和电话号码等,在对保密信息进行登陆注册时,可以填写其数据类型为保密类型。
可以理解的是,在本申请实施例的具体实现方式中,涉及到对象的相关数据,例如,对象的保密信息等,当本申请实施例运用到具体产品或技术中时,需要获得对象单独许可或者单独同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
S902:对第一待存储数据在去中心化数据库的存储地址数据进行加密处理,获得存储地址数据的加密数据。
本申请实施例中,在S901在去中心化数据库存储第一待存储数据之后,还需要在区块链上记录第一待存储数据在去中心化数据库的存储地址数据,考虑到区块链上存储的数据是公开透明的,为了提升存储地址数据在区块链上的存储安全性,在将存储地址数据上传至区块链之前,还需要加密存储地址数据得到加密数据,后续可以将该加密数据上传至区块链,以弥补区块链上数据存储过于透明的缺陷。
其中,第一待存储数据在去中心化数据库的存储地址数据例如可以是第一待存储数据的哈希值,则对哈希值进行加密处理,例如采用对称加密算法进行加密处理,得到第一待存储数据的摘要信息。
S903:将加密数据上传至区块链。
本申请实施例中,在S902获得存储地址数据的加密数据后,还需要将该加密数据上传至区块链,实现基于区块链存储保密类型的第一待存储数据,降低保密类型的第一待存储数据的泄露风险,从而提升保密类型的第一待存储数据的存储安全性。
在S903具体实现时,对应于保密类型的第一待存储数据,还存在非保密类型的第二待存储数据,该非保密类型的第二待存储数据也需要上传至区块链,实现基于区块链存储非保密类型的第二待存储数据。在第二待存储数据具有非保密特性的基础上,可以将加密后的第一待存储数据在去中心化数据库的存储地址数据,即,加密数据,与第二待存储数据一起打包,得到打包数据完成共识后上传至区块链。因此,本申请提供了一种可能的实现方式,S903例如可以包括S9031- S9032:
S9031:对加密数据和第二待存储数据进行打包处理,获得打包数据;第二待存储数据的数据类型为非保密类型。
在数字版权保护场景中,非保密类型的第二待存储数据是指数字内容的公开文件以及数字内容所有者(对象)的基本数据等。
S9032:对打包数据上传至区块链。
参见图10,如图10为本申请实施例提供的一种基于区块链的数据存储具体方法的示意图。其中,在数据存储过程中,将保密类型的第一待存储数据存储至IPFS;第一待存储数据在去中心化数据库的存储地址数据为第一待存储数据的哈希值,对哈希值进行加密处理,获得第一待存储数据的摘要信息;对摘要信息和非保密类型的第二待存储数据打包上传至区块链。
此外,若第三方节点访问保密类型的第一待存储数据,第三方节点首先需要向发送节点申请密钥,在发送节点完成对第三方节点的密钥授权之后,第三方节点从区块链获取加密数据,利用密钥解密加密数据,得到第一待存储数据在去中心化数据库的存储地址数据,通过存储地址数据从去中心化数据库中获取第一待存储数据。
参见图11,图11为本申请实施例提供的一种基于区块链的数据存储的框架示意图。其中,在数据存储过程中,若第一待存储数据的数据类型为保密类型,发送节点将第一待存储数据存储至不同于区块链的去中心化数据库;发送节点对第一待存储数据在去中心化数据库的存储地址数据进行加密处理,获得存储地址数据的加密数据;发送节点将加密数据上传至区块链。
上述实施例提供的基于区块链的数据存储方法,在数据存储过程中,首先,将保密类型的第一待存储数据存储至不同于区块链的去中心化数据库;然后,加密第一待存储数据在去中心化数据库的存储地址数据得到加密数据并上传至区块链。可见,该方式在区块链的基础上,通过增加不同于区块链的去中心化数据库存储保密类型的数据,以分摊区块链容量不足带来的存储压力,解决区块链容量不足导致的中心化存储问题;将保密类型的数据在去中心化数据库的存储地址数据加密后上传至区块链,以弥补区块链上数据存储过于透明的缺陷,增强保护保密类型的数据。
在上述基于区块链的数据通信方法和上述基于区块链的数据存储方法的基础上,应用于数字版权保护场景下,本申请实施例还提供了一种基于区块链的数字版权保护系统;参见图12,该图为本申请实施例提供的一种基于区块链的数字版权保护系统的结构示意图。如图12所示,该基于区块链的数字版权保护系统包括以下模块:
版权登记模块、数据保护模块、公共信息管理模块和系统管理模块;
其中,版权登记模块包括审核流程模块、邮件通知模块、报表统计模块和登陆注册模块;
审核流程模块,用于数字版权中数字内容的登记和交互;
邮件通知模块,用于在对象对系统进行操作过程中,将相关节点产生消息通过邮件告知对象;
报表统计模块,用于生成数字版权中数字内容的相关明细信息统计表;
登陆注册模块,用于通过对象的个体信息和数字版权进行登陆注册,其中,对象的个体信息包括对象的虚拟对象名称、真实对象名称、密保信息、证件号码和电话号码等;
数据保护模块包括匿名通信模块和IPFS存储模块;
匿名通信模块,用于执行上述基于区块链的数据通信方法,避免版权交互过程中发送节点的网络地址泄露;
IPFS存储模块,用于执行上述基于区块链的数据存储方法,提升对象的个体信息中保密数据和数字内容的相关文件的安全性;
公共信息管理模块包括对象管理模块和日志管理模块;
对象管理模块,用于将对象操作、对象的个体信息等进行集中管理;
日志管理模块,用于将系统操作、通信数据、流量数据等进行记录;
系统管理模块,包括证书模板管理模块和数据字典管理模块;
证书管理模块,用于为word/html格式的证书模板设置证书信息和格式信息,供业务人员以此制作证书;
数据字典管理模块,用于对系统中的数字内容字段和版权登记号进行管理,其中,数字内容字段包括数字内容类别、数字内容状态、对象类型。
针对上述实施例提供的基于区块链的数据通信方法,本申请实施例还提供了一种基于区块链的数据通信装置。
参见图13,图13为本申请实施例提供的一种基于区块链的数据通信装置的示意图。如图13所示,该基于区块链的数据通信装置1300包括获取单元1301、排序单元1302、加密单元1303、确定单元1304和通信单元1305;
获取单元1301,用于基于发送节点至接收节点之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,k为正整数,k≥2;
排序单元1302,用于对k个候选节点进行排序处理,获得k个候选节点的节点顺序;
加密单元1303,用于对节点顺序进行嵌套加密处理,获得节点顺序对应的加密顺序;加密顺序用于屏蔽节点顺序中第i个候选节点获取节点顺序中除第i+1个候选节点以外的信息,i=1,2,…,k-1;
确定单元1304,用于基于节点顺序在k个候选节点之间传输加密顺序,直至确定发送节点至接收节点的重路由路径;
通信单元1305,用于基于重路由路径进行发送节点至接收节点的匿名通信。
作为一种可能的实现方式,获取单元1301,具体用于:
基于建路请求,从区块链的k个通信节点集合中分别获取一个候选节点形成k个候选节点;k个通信节点集合是对多个通信节点进行聚类得到的,k个候选节点分别由k个通信节点集合随机确定。
作为一种可能的实现方式,获取单元1301包括:获取子单元和解密子单元;
获取子单元,用于基于建路请求,获取k个候选节点对应的k个加密节点;k个加密节点分别由k个通信节点集合对随机确定的候选节点进行加密处理得到;
解密子单元,用于解密k个加密节点获得k个候选节点。
作为一种可能的实现方式,确定单元1304,具体用于:
基于节点顺序、第i个候选节点至第i+1个候选节点的第一转发概率以及第i个候选节点至接收节点的第二转发概率,在k个候选节点之间传输加密顺序,直至确定重路由路径;第一转发概率是随机生成的,第二转发概率由第一转发概率确定,第二转发概率大于第一转发概率时,重路由路径表示发送节点按照节点顺序通过第i个候选节点转发至接收节点。
作为一种可能的实现方式,k个候选节点分别由k个通信节点集合随机确定时,第一转发概率由第i个候选节点所属的通信节点集合随机生成;第二转发概率由第一转发概率以及发送节点至第i个候选节点的路径长度确定。
作为一种可能的实现方式,装置还包括:存储单元和上传单元;
存储单元,用于在数据存储过程中,若第一待存储数据的数据类型为保密类型,将第一待存储数据存储至去中心化数据库,去中心化数据库不同于区块链;
加密单元1303,还用于对第一待存储数据在去中心化数据库的存储地址数据进行加密处理,获得存储地址数据的加密数据;
上传单元,用于将加密数据上传至区块链。
作为一种可能的实现方式,去中心化数据库包括星际文件系统。
作为一种可能的实现方式,上传单元包括:打包子单元和上传子单元;
打包子单元,用于对加密数据和第二待存储数据进行打包处理,获得打包数据;第二待存储数据的数据类型为非保密类型;
上传子单元,用于将打包数据上传至区块链。
上述实施例提供的基于区块链的数据通信装置,通过发送节点至接收节点之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,k为正整数,k≥2;排序k个候选节点得到节点顺序;对节点顺序进行嵌套加密处理得到加密顺序,以屏蔽节点顺序中第i个候选节点获取节点顺序中除第i+1个候选节点以外的信息,i=1,2,…,k-1;通过节点顺序在k个候选节点之间传输加密顺序,直至确定发送节点至接收节点的重路由路径;以重路由路径实现发送节点至接收节点的匿名通信。
可见,针对发送节点至接收节点之间数据通信,通过选取候选节点并排序得到节点顺序后,利用嵌套加密方式传输节点顺序,屏蔽节点顺序中候选节点获取下一跳候选节点以外的信息,保障节点顺序的安全性,以确定重路由路径实现匿名通信;基于此,该方式有效避免攻击者攻击区块链中相关节点获取相关节点的通信拓扑关系,以隐藏数据通信过程中发送节点的网络地址,使得数据所有者的相关数据泄露风险降低,从而提高数据所有者的相关数据安全性。
本申请实施例还提供了一种用于基于区块链的数据通信设备,下面将从硬件实体化的角度对本申请实施例提供的计算机设备进行介绍。
针对上文描述的基于区块链的数据通信方法,本申请实施例还提供了一种用于基于区块链的数据通信终端设备,以使上述基于区块链的数据通信方法在实际中实现以及应用。
参见图14,图14为本申请实施例提供的一种终端设备的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括手机、平板电脑、PDA等任意终端设备,以终端设备为手机为例:
图14示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图14,该手机包括:射频(Radio Frequency,简称RF)电路1410、存储器1420、输入单元1430、显示单元1440、传感器1450、音频电路1460、无线保真(简称WiFi)模块1470、处理器1480、以及电源1490等部件。本领域技术人员可以理解,图14中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图14对手机的各个构成部件进行具体的介绍:
RF电路1410可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1480处理;另外,将设计上行的数据发送给基站。通常,RF电路1410包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,简称LNA)、双工器等。此外,RF电路1410还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,简称GSM)、通用分组无线服务(GeneralPacket Radio Service,简称GPRS)、码分多址(Code Division Multiple Access,简称CDMA)、宽带码分多址(Wideband Code Division Multiple Access,简称WCDMA)、长期演进(Long Term Evolution,简称LTE)、电子邮件、短消息服务(Short Messaging Service,简称SMS)等。
存储器1420可用于存储软件程序以及模块,处理器1480通过运行存储在存储器1420的软件程序以及模块,从而实现手机的各种功能应用以及数据处理。存储器1420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1430可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1430可包括触控面板1431以及其他输入设备1432。触控面板1431,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1431上或在触控面板1431附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1431可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1480,并能接收处理器1480发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1431。除了触控面板1431,输入单元1430还可以包括其他输入设备1432。具体地,其他输入设备1432可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1440可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1440可包括显示面板1441,可选的,可以采用液晶显示器(LiquidCrystal Display,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板1441。进一步的,触控面板1431可覆盖显示面板1441,当触控面板1431检测到在其上或附近的触摸操作后,传送给处理器1480以确定触摸事件的类型,随后处理器1480根据触摸事件的类型在显示面板1441上提供相应的视觉输出。虽然在图14中,触控面板1431与显示面板1441是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1431与显示面板1441集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1450,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1441的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1441和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1460、扬声器1461,传声器1462可提供用户与手机之间的音频接口。音频电路1460可将接收到的音频数据转换后的电信号,传输到扬声器1461,由扬声器1461转换为声音信号输出;另一方面,传声器1462将收集的声音信号转换为电信号,由音频电路1460接收后转换为音频数据,再将音频数据输出处理器1480处理后,经RF电路1410以发送给比如另一手机,或者将音频数据输出至存储器1420以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1470可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图14示出了WiFi模块1470,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1480是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1420内的软件程序和/或模块,以及调用存储在存储器1420内的数据,执行手机的各种功能和处理数据。可选的,处理器1480可包括一个或多个处理单元;优选的,处理器1480可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1480中。
手机还包括给各个部件供电的电源1490(比如电池),优选的,电源可以通过电源管理系统与处理器1480逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该手机所包括的存储器1420可以存储程序代码,并将所述程序代码传输给所述处理器。
该手机所包括的处理器1480可以根据所述程序代码中的指令执行如下步骤:
基于发送节点至接收节点之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,k为正整数,k≥2;
对k个候选节点进行排序处理,获得k个候选节点的节点顺序;
对节点顺序进行嵌套加密处理,获得节点顺序对应的加密顺序;加密顺序用于屏蔽节点顺序中第i个候选节点获取节点顺序中除第i+1个候选节点以外的信息,i=1,2,…,k-1;
基于节点顺序在k个候选节点之间传输加密顺序,直至确定发送节点至接收节点的重路由路径;
基于重路由路径进行发送节点至接收节点的匿名通信。
参见图15,图15是本申请实施例提供的一种服务器结构示意图,该服务器1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(CentralProcessing Units,CPU)1522(例如,一个或一个以上处理器)和存储器1532,一个或一个以上存储应用程序1542或数据1544的存储介质1530(例如一个或一个以上海量存储设备)。其中,存储器1532和存储介质1530可以是短暂存储或持久存储。存储在存储介质1530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1522可以设置为与存储介质1530通信,在服务器1500上执行存储介质1530中的一系列指令操作。
服务器1500还可以包括一个或一个以上电源1526,一个或一个以上有线或无线网络接口1550,一个或一个以上输入输出接口1558,和/或,一个或一个以上操作系统1541,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图15所示的服务器结构。
例如,CPU 1522用于执行如下步骤:
基于发送节点至接收节点之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,k为正整数,k≥2;
对k个候选节点进行排序处理,获得k个候选节点的节点顺序;
对节点顺序进行嵌套加密处理,获得节点顺序对应的加密顺序;加密顺序用于屏蔽节点顺序中第i个候选节点获取节点顺序中除第i+1个候选节点以外的信息,i=1,2,…,k-1;
基于节点顺序在k个候选节点之间传输加密顺序,直至确定发送节点至接收节点的重路由路径;
基于重路由路径进行发送节点至接收节点的匿名通信。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行上述实施例提供的基于区块链的数据通信方法。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。用于基于区块链的数据通信设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该用于基于区块链的数据通信设备执行上述方面的各种可选实现方式中提供的基于区块链的数据通信方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:Read-Only Memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种基于区块链的数据通信方法,其特征在于,所述方法包括:
基于发送节点至接收节点之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,k为正整数,k≥2;所述基于发送节点至接收节点之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,包括:基于所述建路请求,从所述区块链的k个通信节点集合中分别获取一个候选节点形成所述k个候选节点;所述k个通信节点集合是对所述多个通信节点进行聚类得到的,所述k个候选节点分别由所述k个通信节点集合随机确定;
对所述k个候选节点进行排序处理,获得所述k个候选节点的节点顺序;
对所述节点顺序进行嵌套加密处理,获得所述节点顺序对应的加密顺序;所述加密顺序用于屏蔽所述节点顺序中第i个候选节点获取所述节点顺序中除第i+1个候选节点以外的信息,i=1,2,…,k-1;
基于所述节点顺序、所述第i个候选节点至所述第i+1个候选节点的第一转发概率以及所述第i个候选节点至所述接收节点的第二转发概率,在所述k个候选节点之间传输所述加密顺序,直至确定重路由路径;所述第一转发概率是随机生成的,所述第二转发概率由所述第一转发概率确定,所述第二转发概率大于所述第一转发概率时,所述重路由路径表示所述发送节点按照所述节点顺序通过所述第i个候选节点转发至所述接收节点;
基于所述重路由路径进行所述发送节点至所述接收节点的匿名通信。
2.根据权利要求1所述的方法,其特征在于,所述基于所述建路请求,从所述区块链的k个通信节点集合中分别获取一个候选节点形成所述k个候选节点,包括:
基于所述建路请求,获取所述k个候选节点对应的k个加密节点;所述k个加密节点分别由所述k个通信节点集合对随机确定的候选节点进行加密处理得到;
解密所述k个加密节点获得所述k个候选节点。
3.根据权利要求1所述的方法,其特征在于,所述第一转发概率由所述第i个候选节点所属的通信节点集合随机生成;所述第二转发概率由所述第一转发概率以及所述发送节点至所述第i个候选节点的路径长度确定。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在数据存储过程中,若第一待存储数据的数据类型为保密类型,将所述第一待存储数据存储至去中心化数据库,所述去中心化数据库不同于所述区块链;
对所述第一待存储数据在所述去中心化数据库的存储地址数据进行加密处理,获得所述存储地址数据的加密数据;
将所述加密数据上传至所述区块链。
5.根据权利要求4所述的方法,其特征在于,所述去中心化数据库包括星际文件系统。
6.根据权利要求4所述的方法,其特征在于,所述将所述加密数据上传至所述区块链,包括:
对所述加密数据和第二待存储数据进行打包处理,获得打包数据;所述第二待存储数据的数据类型为非保密类型;
将所述打包数据上传至所述区块链。
7.一种基于区块链的数据通信装置,其特征在于,所述装置包括:获取单元、排序单元、加密单元、确定单元和通信单元;
所述获取单元,用于基于发送节点至接收节点之间数据通信的建路请求,从区块链的多个通信节点中获取k个候选节点,k为正整数,k≥2;所述获取单元,具体用于:基于所述建路请求,从所述区块链的k个通信节点集合中分别获取一个候选节点形成所述k个候选节点;所述k个通信节点集合是对所述多个通信节点进行聚类得到的,所述k个候选节点分别由所述k个通信节点集合随机确定;
所述排序单元,用于对所述k个候选节点进行排序处理,获得所述k个候选节点的节点顺序;
所述加密单元,用于对所述节点顺序进行嵌套加密处理,获得所述节点顺序对应的加密顺序;所述加密顺序用于屏蔽所述节点顺序中第i个候选节点获取所述节点顺序中除第i+1个候选节点以外的信息,i=1,2,…,k-1;
所述确定单元,用于基于所述节点顺序在所述k个候选节点之间传输所述加密顺序,直至确定所述发送节点至所述接收节点的重路由路径;
所述确定单元,具体用于:基于所述节点顺序、所述第i个候选节点至所述第i+1个候选节点的第一转发概率以及所述第i个候选节点至所述接收节点的第二转发概率,在所述k个候选节点之间传输所述加密顺序,直至确定所述重路由路径;所述第一转发概率是随机生成的,所述第二转发概率由所述第一转发概率确定,所述第二转发概率大于所述第一转发概率时,所述重路由路径表示所述发送节点按照所述节点顺序通过所述第i个候选节点转发至所述接收节点;
所述通信单元,用于基于所述重路由路径进行所述发送节点至所述接收节点的匿名通信。
8.根据权利要求7所述的装置,其特征在于,所述获取单元包括:获取子单元和解密子单元;
所述获取子单元,用于基于所述建路请求,获取所述k个候选节点对应的k个加密节点;所述k个加密节点分别由所述k个通信节点集合对随机确定的候选节点进行加密处理得到;
所述解密子单元,用于解密所述k个加密节点获得所述k个候选节点。
9.一种计算机设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-6中任意一项所述的基于区块链的数据通信方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,执行权利要求1-6中任意一项所述的基于区块链的数据通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210296151.0A CN114389825B (zh) | 2022-03-24 | 2022-03-24 | 一种基于区块链的数据通信方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210296151.0A CN114389825B (zh) | 2022-03-24 | 2022-03-24 | 一种基于区块链的数据通信方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114389825A CN114389825A (zh) | 2022-04-22 |
CN114389825B true CN114389825B (zh) | 2022-07-08 |
Family
ID=81205622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210296151.0A Active CN114389825B (zh) | 2022-03-24 | 2022-03-24 | 一种基于区块链的数据通信方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114389825B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108848541A (zh) * | 2018-07-17 | 2018-11-20 | 北京农业信息技术研究中心 | 节点间数据关联机会路由转发协调方法及系统 |
CN110069345A (zh) * | 2019-04-23 | 2019-07-30 | 江苏大学 | 基于区块链的众包资源分布式匿名配给方法及其配给系统 |
WO2020007613A1 (de) * | 2018-07-02 | 2020-01-09 | Siemens Aktiengesellschaft | Verschlüsselungssystem für vertrauensunwürdige umgebungen |
CN112187765A (zh) * | 2020-09-23 | 2021-01-05 | 深圳前海微众银行股份有限公司 | 一种区块链中选择目标节点的方法及装置 |
CN114051236A (zh) * | 2022-01-12 | 2022-02-15 | 华东交通大学 | 基于重路由机制的匿名通信方法、系统、介质及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110753026B (zh) * | 2019-02-27 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 一种基于区块链的分片方法及装置 |
CN112202612B (zh) * | 2020-09-29 | 2023-06-20 | 东软集团股份有限公司 | 区块链节点管理方法、存储介质、节点以及区块链系统 |
-
2022
- 2022-03-24 CN CN202210296151.0A patent/CN114389825B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020007613A1 (de) * | 2018-07-02 | 2020-01-09 | Siemens Aktiengesellschaft | Verschlüsselungssystem für vertrauensunwürdige umgebungen |
CN108848541A (zh) * | 2018-07-17 | 2018-11-20 | 北京农业信息技术研究中心 | 节点间数据关联机会路由转发协调方法及系统 |
CN110069345A (zh) * | 2019-04-23 | 2019-07-30 | 江苏大学 | 基于区块链的众包资源分布式匿名配给方法及其配给系统 |
CN112187765A (zh) * | 2020-09-23 | 2021-01-05 | 深圳前海微众银行股份有限公司 | 一种区块链中选择目标节点的方法及装置 |
CN114051236A (zh) * | 2022-01-12 | 2022-02-15 | 华东交通大学 | 基于重路由机制的匿名通信方法、系统、介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114389825A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106686008B (zh) | 信息存储方法及装置 | |
CN113395159B (zh) | 一种基于可信执行环境的数据处理方法以及相关装置 | |
CN112596802B (zh) | 一种信息处理方法及装置 | |
CN106850220B (zh) | 数据加密方法、数据解密方法及装置 | |
CN111600710B (zh) | 密钥存储方法、装置、终端、服务器及可读介质 | |
CN109600223B (zh) | 验证方法、激活方法、装置、设备及存储介质 | |
CN112733107A (zh) | 一种信息验证的方法、相关装置、设备以及存储介质 | |
Delac et al. | Emerging security threats for mobile platforms | |
CN109905380B (zh) | 一种分布式系统中的节点控制方法和相关装置 | |
CN111563251B (zh) | 一种终端设备中私密信息的加密方法和相关装置 | |
CN112533202B (zh) | 身份鉴别方法及装置 | |
CN107154935B (zh) | 业务请求方法及装置 | |
CN111475832B (zh) | 一种数据管理的方法以及相关装置 | |
CN108763876B (zh) | 一种资源版权校验方法、装置以及设备 | |
US10454905B2 (en) | Method and apparatus for encrypting and decrypting picture, and device | |
CN106657165B (zh) | 一种网络攻击的防御方法、服务器及终端 | |
CN109768977A (zh) | 流媒体数据处理方法、装置以及相关设备和介质 | |
CN113434905B (zh) | 数据传输方法、装置、计算机设备及存储介质 | |
CN115001841A (zh) | 一种身份认证方法、装置及存储介质 | |
CN113037741A (zh) | 一种鉴权方法和相关装置 | |
CN107302526B (zh) | 系统接口调用方法、设备和计算机可读存储介质 | |
CN114039726B (zh) | 一种密钥生成的方法、密钥获取的方法、相关装置及介质 | |
CN105577627B (zh) | 通信方法、装置、网络设备、终端设备和通信系统 | |
CN114553612B (zh) | 数据加密、解密方法、装置、存储介质及电子设备 | |
CN114389825B (zh) | 一种基于区块链的数据通信方法和相关装置 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40070358 Country of ref document: HK |