CN109067810A - 一种基于区块链的分布式消息保护方法和保护装置 - Google Patents
一种基于区块链的分布式消息保护方法和保护装置 Download PDFInfo
- Publication number
- CN109067810A CN109067810A CN201811228825.3A CN201811228825A CN109067810A CN 109067810 A CN109067810 A CN 109067810A CN 201811228825 A CN201811228825 A CN 201811228825A CN 109067810 A CN109067810 A CN 109067810A
- Authority
- CN
- China
- Prior art keywords
- message
- block chain
- digital digest
- subject
- distributed
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
- H04L63/0421—Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
-
- 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/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
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)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于区块链的分布式消息保护方法和保护装置,所述方法包括:接收消息生产者通过消息中间件发送的消息,消息包括消息主题和对应的消息内容;根据消息主题在区块链中查询对应消息主题的第一消息数字摘要;根据接收到的消息中间件发送的消息生成第二消息数字摘要;判断第一消息数字摘要与第二消息数字摘要是否相同;当第一消息数字摘要与第二消息数字摘要相同时,判定获取到的消息为真并接收消息。本发明提升消息传递的安全性,使得消息的分布式存证更加安全可靠,还使得消息在传输中不可篡改并且可以追溯,防止消息丢失。
Description
技术领域
本发明涉及消息保护领域,尤其涉及一种基于区块链的分布式消息保护方法和保护装置。
背景技术
在工业生产和社会运行中,往往需要对来自不同源头的消息进行分发和处理,例如需要从消息发生方传递给消息接收方。但是,现有技术中对于消息的分发和处理主要采用具有中心化的消息中间件,消息由位于中心的部件统一管理分发,这样,消息容易在分发过程中丢失,造成安全性降低,同时还有可能被篡改。尽管在信息分发过程中,可以通过SSL进行保护,但是这种方式仅能保护消息在通道中安全分发,对消息或者数据源头很难实现良好保护,同时缺乏溯源支撑,当出现问题时无法进行追溯。
发明内容
鉴于现有技术存在的上述问题,本发明的目的在于提供一种基于区块链的分布式消息保护方法。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用技术集合。从数据角度来看,区块链按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,数据结构通过密码学方式保证的其不可篡改和不可伪造。从技术角度来看,区块链技术整合了多种不同的技术,通过构建区块链网络,使得网络内的每一个节点都允许获得一份完整的数据库拷贝,并基于共识机制以及竞争计算来维护基于区块链的数据库的更新,由此,通过众多节点沟通构成的端到端网络实现数据存储和管理的去中心化和去信任。
在区块链网络中,所有的运行规则以及数据信息对于所有的节点均公开,因此,每一条记录对所有节点可见。同时,由于节点和节点之间是去信任的,因此节点之间无需公开身份,每个参与的节点都是匿名的。同时,区块链技术具有极佳的安全性,单个甚至多个节点对数据库的修改无法影响其他节点的数据库,除非能够控制整个网络中超过51%的节点同时修改,才有可能修改区块链记载的数据,而这是几乎不可能发生的。
本发明将区块链技术与消息处理和保护机制相结合,提供一种基于区块链的分布式消息保护方法,其包括以下步骤:
接收消息生产者通过消息中间件发送的消息,消息包括消息主题和对应的消息内容;
根据消息主题在区块链中查询对应消息主题的第一消息数字摘要;
根据接收到的消息中间件发送的消息生成第二消息数字摘要;
判断第一消息数字摘要与第二消息数字摘要是否相同;
当第一消息数字摘要与第二消息数字摘要相同时,判定获取到的消息为真并接收消息。
在一些实施例中,消息主题通过消息生产者和消费者预先协商确定。
在一些实施例中,接收消息生产者通过消息中间件发送的消息包括以下步骤:
所述消息通过放入到消息中间件的消息队列中进行发送。
在一些实施例中,根据消息主题在区块链中查询对应消息主题的第一消息数字摘要步骤之前,包括:
对消息进行加密处理生成第一消息数字摘要;
将消息主题与第一消息数字摘要进行关联并上传到区块链中。
在一些实施例中,对消息进行加密处理生成第一消息数字摘要包括以下步骤:
将消息中的消息主题和消息内容进行打包处理;
将打包处理的消息进行加密处理生成第一消息数字摘要。
在一些实施例中,加密处理是将打包处理的消息通过数字摘要算法进行加密。
在一些实施例中,生成第一消息数字摘要和第二消息数字摘要是采用单向Hash函数将消息内容转换成一串固定长度的密文。
本发明还提供一种基于区块链的分布式消息保护装置,其包括:
接收模块,其配置为接收消息生产者通过消息中间件发送的消息,消息包括消息主题和对应的消息内容;
查询模块,其配置为根据消息主题在区块链中查询对应消息主题的第一消息数字摘要;
生成模块,其配置为根据接收到的消息中间件发送的消息生成第二消息数字摘要;
判断模块,其配置为判断第一消息数字摘要与第二消息数字摘要是否相同;当第一消息数字摘要与第二消息数字摘要相同时,判定获取到的消息为真并接收消息。
本发明还提供一种基于区块链的分布式消息保护装置,其包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一项方法的步骤。
本发明还提供一种计算机可读存储介质,计算机可读存储介质有计算机程序,处理器执行计算机程序时实现如上述任一项方法的步骤。
本发明涉及的基于区块链的分布式消息保护方法和保护装置能够将区块链技术与消息保护机制相融合,通过消息中间件,并结合数字摘要算法的认证,更加提升消息传递的安全性,使得消息的分布式存证更加安全可靠,还使得消息在传输中不可篡改并且可以追溯,防止消息丢失。
应当理解,前面的一般描述和以下详细描述都仅是示例性和说明性的,而不是用于限制本公开。
本节提供本公开中描述的技术的各种实现或示例的概述,并不是所公开技术的全部范围或所有特征的全面公开。
附图说明
为了更清楚地说明本发明的技术方案,将结合附图对本发明的技术方案进行更为详细的介绍,显而易见地,下面描述中的附图仅仅涉及本发明的一些实施例,而非对本公开的限制。
图1是本发明涉及的基于区块链的分布式消息保护方法的流程示意图;
图2是本发明涉及的基于区块链的分布式消息保护方法的步骤图;
图3是本发明涉及的基于区块链的分布式消息保护装置的结构示意图;
图4是本发明涉及的基于区块链的分布式消息保护装置的结构示意图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本公开实施例的以下说明清楚且简明,本公开省略了已知功能和已知部件的详细说明。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本实施例提供了一种基于区块链的分布式消息保护方法,如图1所示,图1示出了一种基于区块链的分布式消息保护方法的作业流程,这种方法运用于分布式的消息保护,其中,所谓分布式是指无论是消息的生产者还是消费者分布式地设置或者处在不同的位置。
在基于区块链技术进行分布式消息的处理和保护时,主要涉及多个部分或者对象,其中,第一是消息的生产者,消息的生产者位于消息队列处理流程的生产端或者最前端,生产者可以是位于不同位置的多个生产者,其主要配置为生产各种消息,例如,企业、政府、个人等都可以作为生产者进行消息生产,具体地,生产者所生产的消息一般包括消息主题和消息内容,生产者或者消费者一般可以根据消息主题确定一项消息的内容范围,也就是说,消息内容一般根据消息主题相应地确定。当通过区块链技术进行消息传输时,生产者在生产消息之后通过位于生产者侧的区块链节点将消息主题和消息内容传送到区块链中进行区块链广播,这也被成为“消息上链”;第二是消息的消费者,消息的消费者位于消息处理流程的消费端或者最后端,其主要配置为对消息进行消费,这种消费包括但不限于使用、加工、编辑等方式,其中,消费者可以是企业、个人等,其数量也可以是多个,并且多个消费者位于不同的位置处,多个消费者可以基于区块链技术对区块链中的消息进行同步接收或者更新,然后再根据不同消费者的需求进行其他处理;第三是区块链,其作为连接生产者和消费者消息通道,配置为在生产者侧和消费者侧之间通过区块链技术传递信息,当其运用于传递信息时,其包括位于生产者侧的区块链节点和位于消费者侧的区块链节点;此外,还包括消息中间件,其配置为将消息直接从消息的生产者传送给消息的消费者,这种传送一般是定点传送。
需要说明的是,区块链中的生产者或者消费者侧都部署有很多区块链节点,每个区块链节点都设置有自身的数据存储装置和功能,任意一区块链节点生成数据并进行上链广播后,所有其他的区块链节点都能自动同步该数据,从而实现数据在多个区块链节点上的存储,从而实现分布式存储。具体地,区块链节点可以是符合相关要求并适于执行预定程序指令的通用数据处理设备,例如台式计算机、工作站、服务器等。
也就是说,任意的消息生产者通过生产者侧的区块链节点发布的消息经过上链广播后,通过区块链技术,位于消费者侧的多个区块链节点处都可以通过区块链同步该消息,实现消息在多个消费者侧区块链节点的分布式存证,这样进行分布式的存证能够实现消息或者数据的不可篡改、可追溯特性,同时防止消息的意外丢失。
以下将结合具体实施例详细介绍本发明涉及的基于区块链的消息保护方法的技术方案。
由于不同的消费者在区块链中均设置有区块链节点,考虑到消息内容往往有可能涉及保密或者敏感信息,或者生产者不愿意将消息内容对外广泛公开,因此,将需要保密的消息内容直接发送到区块链中会导致消息泄露产生不安全性。
实施例一
本实施例中的基于区块链的分布式消息保护方法的主要包括:消息的生产者生产消息,一方面将消息直接发送给消费者侧,另一方面对消息进行加密处理并进行上链,加密处理后的消息通过区块链进行传播并同步到消费者侧,消费者通过多个接收方式接收消息后并对消息进行验证,验证通过后对消息进行消费,本技术方案能够显著提升消息传输的私密性和安全性,结合图1和图2所示,具体包括以下步骤:
步骤S1,接收消息生产者通过消息中间件发送的消息;其中,这里的消息包括消息主题和消息内容,消息内容根据消息主题确定,消息内容和消息主题之间存在对应关系;具体地,在生产者侧,任意生产者可以根据消息主题生产消息,所生产的消息包括消息主题和消息内容,其中,对于所生产的消息这里不做任何限定,需要进行上链广播的信息均可以作为待生产的消息范围,例如,当消息的生产者是产品需求方,消息的消费者是产品制造车间时,这种消息可以是生产报表信息,产品需求方向制造车间发送成产报表信息,消息标题可以是生产报表,消息内容可以是名称、日期、部门、地点、交易对象、交易额等,还比如,当消息的生产者是土地管理部门,消息的消费者是土地使用方时,这种消息可以是土地确权信息,土地管理部门向土地使用方发送土地确权信息,消息标题是可以是土地确权,消息内容可以是确权项目序号、确权方信息、土地信息和申请日期等。
其中,作为一种优选,在步骤S1之前,消息主题可以通过消息生产者和消费者预先共同协商的方式确定,例如在产品需求方和产品制造车间之间可以协商确定生产报表为消息主题,在土地管理部门和土地使用方之间可以协商确定土地确权为消息主题等。
进一步地,在消息生产者完成消息的生产之后可以通过消息中间件的方式进行发送,例如消息生产者可以将消息放入到消息中间件的消息队列中进行发送,消息中间件在消息生产者和消费者之间用于直接传递消息,这样,通过消息中间件将消息队列中的消息从消息生产者侧直接发送给消费者侧,实现消息的传输;在发送过程中可以按照生产的顺序依次发送,也可以按照预定的规则和顺序进行发送,在此不作任何限定。
步骤S2,根据消息主题在区块链中查询对应消息主题的第一消息数字摘要;在本步骤中,消息被消息生产者生产出来之后,通过区块链的方式被从消息生产者侧传输到消费者侧,以进行后续消息内容的验证;消费者在消费者侧可以通过查询的方式获得与消息主题对应的第一消息数字摘要,这种第一消息数字摘要与消息主题对应,尤其是与消息主题相关的消息内容对应。
进一步地,在步骤S2之前,具体包括以下步骤:对消息进行加密处理生成第一消息数字摘要;将消息主题与第一消息数字摘要进行关联并上传到所述区块链中。具体地,为了在消费者侧对消息进行验证,以便于根据验证结果确定是否进行消费,在本步骤中,将消息生产者生产的消息进行加密处理后上传到区块链中,也就是进行消息上链操作。
将消息进行加密处理后上传到区块链中包括以下步骤:步骤S11,将消息生产者所生产消息中的消息主题和消息内容打包;步骤S12,将打包的消息进行加密处理获取第一消息数字摘要后上传到区块链中;其中,在对打包的消息进行加密处理并上传到区块链中包括:将打包的消息主题和消息内容通过数字摘要算法进行加密处理形成第一消息数字摘要,并将第一消息数字摘要上传到区块链中进行存证。
需要说明的是,上述所提到的第一消息数字摘要是将任意长度的消息变成固定长度的短消息,具体的步骤包括:采用单向Hash函数将需要加密的明文摘要,也就是消息,转换成一串固定长度的密文,其中,长度例如可以是128位。这一串密文,可以被称为数字指纹,其具有固定的长度。考虑到不同的明文摘要会形成不同的密文,相同的明文摘要形成相同的密文,这样,通过使用消息数字摘要的方式能够保护明文摘要的完整性和原子性。
在将消息主题和第一消息数字摘要上传的区块链的过程中,也就是进行区块链同步和广播,具体地,例如,将第一消息数字摘要从位于生产者侧的区块链节点通过对等网络(P2P,peer to peer)的方式发送给位于消费者侧的区块链节点进行同步和广播,从而实现所有区块链节点的分布式存证,其中,这种同步是指区块链节点同步更新区块数据解析,例如,位于消费者侧的接收到消息的区块链节点与位于消费者侧的其他区块链节点共享第一消息数字摘要,使得第一消息数字摘要在不同区块链节点出实现分布式存证,大大增强了消息内容的安全性,通过对等网络的方式能够实现区块链节点之间的信息传输。
在区块链中查询对应消息主题的第一消息数字摘要中,具体地,考虑到基于数字摘要算法,在消息主题与第一消息数字摘要之间形成一一对应性,在通过区块链同步和广播获得的内容中,基于消息主题通过查询方式获取与该消息主题对应的第一消息数字摘要,这样,消费者能够根据消息主题直接获取相应的第一消息数字摘要
步骤S3,根据接收到的消息中间件发送的消息生成第二消息数字摘要;由于在上述步骤S1中,消息列入消息中间件的消息队列中,通过消息中间件将消息队列中的消息从生产者侧直接发送给消费者侧,这样,消息主题和消息内容存放在消息中间件的消息队列中从消息的生产者侧传输到消息的消费者侧,因此,在消费者侧,可以从消息中间件的消息队列中根据消息主题获取消息内容;然后,通过数字摘要算法将获取的消息内容进行加密处理从而生成第二消息数字摘要,其中,本步骤中生成第二数字摘要的数字摘要算法与步骤S2中的第一数字摘要的数字摘要算法相同
步骤S4,判断第一消息数字摘要与第二消息数字摘要是否相同;当第一消息数字摘要与所述第二消息数字摘要相同时,判定获取到的消息为真并接收消息;在本步骤中,将上述步骤S2中通过查询的方式获取的第一消息数字摘要和通过步骤S3中生成的第二数字信息摘要进行比较和判断,判断的步骤具体包括:如果第一消息数字摘要和第二消息数字摘要相同则判断从生产者侧传输到消费者侧的消息为真,即为准确消息,可以正常对消息进行接收和消费;如果第一消息数字摘要和第二消息数字摘要不同则判断从生产者侧传输到消费者侧的消息被篡改,认定该消息内容不准确,不能进行对该消息进行消费。
实施例二
参考图3,其示出了用于实施例一提供的基于区块链的分布式消息保护方法的保护装置的结构示意图,基于区块链的分布式消息保护装置包括:
接收模块100,其配置为接收消息生产者通过消息中间件发送的消息,所述消息包括消息主题和对应的消息内容;
查询模块200,其配置为根据所述消息主题在区块链中查询对应所述消息主题的第一消息数字摘要;
生成模块300,其配置为根据接收到的所述消息中间件发送的所述消息生成第二消息数字摘要;
判断模块400,其配置为判断所述第一消息数字摘要与所述第二消息数字摘要是否相同;当所述第一消息数字摘要与所述第二消息数字摘要相同时,判定获取到的所述消息为真并接收所述消息。
实施例三
参考图4,其示出了用于本发明实施例一的基于区块链的分布式消息保护方法的保护装置的结构示意图,基于区块链的分布式消息保护装置包括:处理器700,存储器710以及存储在存储器710中并可在处理器700上运行的计算机程序720,例如基于区块链的分布式消息保护方法程序。所述处理器700执行计算机程序时实现上述各实施例中的基于区块链的分布式消息保护方法中的各步骤,同时处理器700执行该计算机程序720时实现上述各装置中的各模块的功能。
基于区块链的分布式消息保护装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。基于区块链的分布式消息保护装置可包括,但不仅限于,处理器700、存储器710。本实施例并不构成对基于区块链的分布式消息保护装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述基于区块链的物流管理装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器700可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器710可以是基于区块链的分布式消息保护装置的内部存储单元,例如基于区块链的分布式消息保护装置的硬盘或内存。所述存储器710也可以是基于区块链的分布式消息保护装置的外部存储设备,例如基于区块链的分布式消息保护装置上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器710还可以既包括基于区块链的分布式消息保护装置的内部存储单元也包括外部存储设备。所述存储器710用于存储所述计算机程序以及基于区块链的分布式消息保护装置所需的其他程序和数据。所述存储器710还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
此外,尽管已经在本文中描述了示例性实施例,其范围包括任何和所有基于本公开的具有等同元件、修改、省略、组合(例如,各种实施例交叉的方案)、改编或改变的实施例。权利要求书中的元件将被基于权利要求中采用的语言宽泛地解释,并不限于在本说明书中或本申请的实施期间所描述的示例,其示例将被解释为非排他性的。因此,本说明书和示例旨在仅被认为是示例,真正的范围和精神由以下权利要求以及其等同物的全部范围所指示。
以上描述旨在是说明性的而不是限制性的。例如,上述示例(或其一个或更多方案)可以彼此组合使用。例如本领域普通技术人员在阅读上述描述时可以使用其它实施例。另外,在上述具体实施方式中,各种特征可以被分组在一起以简单化本公开。这不应解释为一种不要求保护的公开的特征对于任一权利要求是必要的意图。相反,本发明的主题可以少于特定的公开的实施例的全部特征。从而,以下权利要求书作为示例或实施例在此并入具体实施方式中,其中每个权利要求独立地作为单独的实施例,并且考虑这些实施例可以以各种组合或排列彼此组合。本发明的范围应参照所附权利要求以及这些权利要求赋权的等同形式的全部范围来确定。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。
Claims (10)
1.一种基于区块链的分布式消息保护方法,其特征在于,包括以下步骤:
接收消息生产者通过消息中间件发送的消息,所述消息包括消息主题和对应的消息内容;
根据所述消息主题在区块链中查询对应所述消息主题的第一消息数字摘要;
根据接收到的所述消息中间件发送的所述消息生成第二消息数字摘要;
判断所述第一消息数字摘要与所述第二消息数字摘要是否相同;
当所述第一消息数字摘要与所述第二消息数字摘要相同时,判定获取到的所述消息为真并接收所述消息。
2.根据权利要求1所述的基于区块链的分布式消息保护方法,其特征在于,所述消息主题通过所述消息生产者和消费者预先协商确定。
3.根据权利要求1所述的基于区块链的分布式消息保护方法,其特征在于,所述接收消息生产者通过消息中间件发送的消息包括以下步骤:
所述消息通过放入到所述消息中间件的消息队列中进行发送。
4.根据权利要求1所述的基于区块链的分布式消息保护方法,其特征在于,所述根据所述消息主题在区块链中查询对应所述消息主题的第一消息数字摘要步骤之前,包括:
对所述消息进行加密处理生成所述第一消息数字摘要;
将所述消息主题与所述第一消息数字摘要进行关联并上传到所述区块链中。
5.根据权利要求4所述的基于区块链的分布式消息保护方法,其特征在于,所述对所述消息进行加密处理生成第一消息数字摘要包括以下步骤:
将所述消息中的所述消息主题和所述消息内容进行打包处理;
将所述打包处理的消息进行加密处理生成所述第一消息数字摘要。
6.根据权利要求5所述的基于区块链的分布式消息保护方法,其特征在于,所述加密处理是将所述打包处理的所述消息通过数字摘要算法进行加密。
7.根据权利要求6所述的基于区块链的分布式消息保护方法,其特征在于,生成所述第一消息数字摘要和所述第二消息数字摘要是采用单向Hash函数将所述消息内容转换成一串固定长度的密文。
8.一种基于区块链的分布式消息保护装置,其特征在于,包括:
接收模块,其配置为接收消息生产者通过消息中间件发送的消息,所述消息包括消息主题和对应的消息内容;
查询模块,其配置为根据所述消息主题在区块链中查询对应所述消息主题的第一消息数字摘要;
生成模块,其配置为根据接收到的所述消息中间件发送的所述消息生成第二消息数字摘要;
判断模块,其配置为判断所述第一消息数字摘要与所述第二消息数字摘要是否相同;当所述第一消息数字摘要与所述第二消息数字摘要相同时,判定获取到的所述消息为真并接收所述消息。
9.一种基于区块链的分布式消息保护装置,其包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述基于区块链的分布式消息保护方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述基于区块链的分布式消息保护方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811228825.3A CN109067810A (zh) | 2018-10-22 | 2018-10-22 | 一种基于区块链的分布式消息保护方法和保护装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811228825.3A CN109067810A (zh) | 2018-10-22 | 2018-10-22 | 一种基于区块链的分布式消息保护方法和保护装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109067810A true CN109067810A (zh) | 2018-12-21 |
Family
ID=64765186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811228825.3A Pending CN109067810A (zh) | 2018-10-22 | 2018-10-22 | 一种基于区块链的分布式消息保护方法和保护装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109067810A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109951490A (zh) * | 2019-03-27 | 2019-06-28 | 远光软件股份有限公司 | 基于区块链的网页防篡改方法、系统及电子设备 |
CN110022355A (zh) * | 2019-03-04 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 特定场景下环境数据的存储方法、验真方法和设备 |
CN111475309A (zh) * | 2019-01-24 | 2020-07-31 | 北京京东尚科信息技术有限公司 | 一种数据处理方法、装置、区块链服务系统及存储介质 |
WO2020238344A1 (zh) * | 2019-05-31 | 2020-12-03 | 深圳前海微众银行股份有限公司 | 基于区块链的sdk快速集成方法、装置、设备及存储介质 |
CN113347164A (zh) * | 2021-05-24 | 2021-09-03 | 湖南大学 | 基于区块链的分布式共识系统及方法、设备、存储介质 |
CN113794794A (zh) * | 2021-10-08 | 2021-12-14 | 北京俩撇科技有限公司 | 一种基于区块链添加联系人的方法、装置、设备和存储介质 |
EP3909208B1 (en) * | 2019-01-11 | 2023-07-19 | Cisco Technology, Inc. | Software defined access fabric without subnet restriction to a virtual network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103856393A (zh) * | 2013-07-09 | 2014-06-11 | 携程计算机技术(上海)有限公司 | 基于数据库的分布式消息中间件系统及其运行方法 |
WO2018032890A1 (zh) * | 2016-08-15 | 2018-02-22 | 华为技术有限公司 | 在对等网络中分发数字内容的方法和系统 |
CN107948283A (zh) * | 2017-11-24 | 2018-04-20 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种联盟链大文件存储及校验的方法及系统 |
-
2018
- 2018-10-22 CN CN201811228825.3A patent/CN109067810A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103856393A (zh) * | 2013-07-09 | 2014-06-11 | 携程计算机技术(上海)有限公司 | 基于数据库的分布式消息中间件系统及其运行方法 |
WO2018032890A1 (zh) * | 2016-08-15 | 2018-02-22 | 华为技术有限公司 | 在对等网络中分发数字内容的方法和系统 |
CN107948283A (zh) * | 2017-11-24 | 2018-04-20 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种联盟链大文件存储及校验的方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3909208B1 (en) * | 2019-01-11 | 2023-07-19 | Cisco Technology, Inc. | Software defined access fabric without subnet restriction to a virtual network |
CN111475309A (zh) * | 2019-01-24 | 2020-07-31 | 北京京东尚科信息技术有限公司 | 一种数据处理方法、装置、区块链服务系统及存储介质 |
CN110022355A (zh) * | 2019-03-04 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 特定场景下环境数据的存储方法、验真方法和设备 |
CN110022355B (zh) * | 2019-03-04 | 2021-08-03 | 创新先进技术有限公司 | 特定场景下环境数据的存储方法、验真方法和设备 |
CN109951490A (zh) * | 2019-03-27 | 2019-06-28 | 远光软件股份有限公司 | 基于区块链的网页防篡改方法、系统及电子设备 |
WO2020238344A1 (zh) * | 2019-05-31 | 2020-12-03 | 深圳前海微众银行股份有限公司 | 基于区块链的sdk快速集成方法、装置、设备及存储介质 |
CN113347164A (zh) * | 2021-05-24 | 2021-09-03 | 湖南大学 | 基于区块链的分布式共识系统及方法、设备、存储介质 |
CN113794794A (zh) * | 2021-10-08 | 2021-12-14 | 北京俩撇科技有限公司 | 一种基于区块链添加联系人的方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109067810A (zh) | 一种基于区块链的分布式消息保护方法和保护装置 | |
CN109474597A (zh) | 一种基于区块链的分布式消息发送与接收方法以及装置 | |
CN106452785B (zh) | 区块链网络、分支节点及区块链网络应用方法 | |
CN113364735B (zh) | 多链场景下数据跨链访问控制方法、系统、设备及终端 | |
CN101964791B (zh) | 客户端与web应用的通讯认证系统及认证方法 | |
CN110069475B (zh) | 一种基于区块链多方自我维持的制造业跨数据实体溯源方法 | |
CN108429759A (zh) | 去中心化存储安全实现方法 | |
CN108809932A (zh) | 一种基于区块链的存证系统、方法及可读介质 | |
CN110599163B (zh) | 一种面向区块链交易监管的交易记录外包方法 | |
CN109428710A (zh) | 数据传输方法、装置、存储介质和处理器 | |
CN103516814A (zh) | 一种大数据量的数据交换方法 | |
CN109861992A (zh) | 一种监控终端的信息交互方法和跨场景追踪方法 | |
CN103593384A (zh) | 以目的地分析和数据去重实现数据传输优化的方法和系统 | |
CN110601830B (zh) | 基于区块链的密钥管理方法、装置、设备及存储介质 | |
CN114679319B (zh) | 基于区块链的分布式数据同步加密方法 | |
CN111523150A (zh) | 基于区块链的文档编辑方法、装置及系统 | |
CN111970304A (zh) | 消息处理方法和装置 | |
CN106506552A (zh) | 一种http请求传输方法及装置 | |
CN109767330A (zh) | 用于管理作品的系统、方法和装置 | |
CN106330465A (zh) | 一种分布式时间戳的处理方法、服务器及系统 | |
CN112417466A (zh) | 一种基于区块链的电子档案文件存证与验证的方法及系统 | |
CN114244851B (zh) | 一种基于区块链的数据分发方法 | |
CN111723126B (zh) | 基于区块链的冷热时序数据分类处理方法及存储系统 | |
WO2021000802A1 (zh) | 一种通信方法、节点以及通信系统 | |
CN102194014A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181221 |
|
RJ01 | Rejection of invention patent application after publication |