基于区块链的多端间消息通信的方法、终端及存储介质技术

技术编号:19011635 阅读:20 留言:0更新日期:2018-09-22 11:02
本发明专利技术涉及一种基于区块链的多端间消息通信的方法、终端及存储介质,该方法包括:在进行消息通信时,生产者终端采用预定的加密方式将消息明文及密钥都加密后,上传加密后的消息明文及密钥至区块链中,消费者终端轮询或者事件监听区块链,首先对加密后的密钥进行解密,然后再用密钥解密加密后的消息明文,以此进行消息的通信,本发明专利技术能够有效地保障消息通信过程及消息明文的保密性。

【技术实现步骤摘要】
基于区块链的多端间消息通信的方法、终端及存储介质
本专利技术涉及通信
,尤其涉及一种基于区块链的多端间消息通信的方法、终端及存储介质。
技术介绍
目前,在多终端接入并进行消息通信时,传统的方法可以使用TCP或UDP进行多终端之间的消息通信,但在通信过程中,不能保障消息生产者与消息消费者之间消息通信过程的保密性及消息数据的保密性,例如,不能保障消息生产者消费者的接收到消息是否有效以及被篡改、涉及到多方消费者的响应时会泄露给其他的消费者自己是参与方、生产者通信的消息可能会泄露给无关的消费者等等,有鉴于此,有效地保障消息生产者与消息消费者之间消息通信过程及消息数据的保密性成为有待解决的问题。
技术实现思路
本专利技术的目的在于提供一种基于区块链的多端间消息通信的方法、终端及存储介质,旨在有效地保障消息通信过程及消息明文的保密性。为实现上述目的,本专利技术提供一种基于区块链的多端间消息通信的方法,所述基于区块链的多端间消息通信的方法包括:S1,生产者终端与多端构成的区块链网络中的消费者终端进行消息通信之前,获取第一CA证书,将该第一CA证书对应的公钥上传到该区块链网络的区块链节点上;S2,消费者终端与生产者终端通信之前,获取第二CA证书,将该第二CA证书对应的公钥上传到该区块链网络的区块链节点上;S3,生产者终端生成自身的第一密钥,基于该第一密钥并利用预定的加密算法对待通信的消息明文进行加密,将加密后的消息明文上传到区块链节点上;S4,生产者终端从区块链网络中获取消费者终端的第二CA证书对应的公钥,基于第一CA证书的私钥与消费者终端的第二CA证书对应的公钥并利用交换协议算法处理得到第一协商密钥,利用该第一协商密钥对所生成的第一密钥进行加密得到加密后的第一密钥,将加密后的第一密钥上传到区块链节点上;S5,消费者终端通过预定的方式获取区块链节点上的加密后的第一密钥,从区块链网络中获取生产者终端的第一CA证书对应的公钥,基于自身的第二CA证书的私钥与生产者终端的第一CA证书对应的公钥并利用交换协议算法处理得到第二协商密钥,利用该第二协商密钥对该加密后的第一密钥进行解密得到该第一密钥;S6,消费者终端获取区块链节点上的加密后的消息明文,利用解密后得到第一密钥对该加密后的消息明文进行解密,得到该消息明文。优选地,所述步骤S6之后,还包括:消费者终端基于所述消息明文生成对应的响应信息,生成自身的第二密钥,基于该第二密钥并利用预定的加密算法对响应信息进行加密,将加密后的响应信息上传到区块链节点上;消费者终端利用该第二协商密钥对所生成的第二密钥进行加密得到加密后的第二密钥,将加密后的第二密钥上传到区块链节点上;生产者终端通过预定的方式获取区块链节点上的加密后的第二密钥,利用该第一协商密钥对该加密后的第二密钥进行解密得到该第二密钥;生产者终端获取区块链节点上的加密后的响应信息,利用解密后得到第二密钥对该加密后的响应信息进行解密,得到该响应信息。优选地,所述预定的方式为轮询区块链的方式或者事件监听区块链的方式。为实现上述目的,本专利技术还提供一种生产者终端,所述生产者终端包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的系统,所述系统被所述处理器执行时实现如下步骤:在与多端构成的区块链网络中的消费者终端进行消息通信之前,获取第一CA证书,将该第一CA证书对应的公钥上传到该区块链网络的区块链节点上;生成自身的第一密钥,基于该第一密钥并利用预定的加密算法对待通信的消息明文进行加密,将加密后的消息明文上传到区块链节点上;从区块链网络中获取消费者终端的第二CA证书对应的公钥,基于第一CA证书的私钥与消费者终端的第二CA证书对应的公钥并利用交换协议算法处理得到第一协商密钥,利用该第一协商密钥对所生成的第一密钥进行加密得到加密后的第一密钥,将加密后的第一密钥上传到区块链节点上。优选地,所述处理系统被所述处理器执行时,还实现如下步骤:在消费者终端将用于加密响应信息的第二密钥进行加密并上传到区块链节点后,通过预定的方式获取区块链节点上的加密后的第二密钥,利用该第一协商密钥对该加密后的第二密钥进行解密得到该第二密钥;生产者终端获取区块链节点上的加密后的响应信息,利用解密后得到第二密钥对该加密后的响应信息进行解密,得到该响应信息。优选地,所述预定的方式为轮询区块链的方式或者事件监听区块链的方式。为实现上述目的,本专利技术还提供一种消费者终端,所述消费者终端包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的系统,所述系统被所述处理器执行时实现如下步骤:在与生产者终端通信之前,获取第二CA证书,将该第二CA证书对应的公钥上传到该区块链网络的区块链节点上;在生产者终端将用于加密消息明文的第一密钥进行加密并上传到区块链节点后,通过预定的方式获取区块链节点上的加密后的第一密钥,从区块链网络中获取生产者终端的第一CA证书对应的公钥,基于自身的第二CA证书的私钥与生产者终端的第一CA证书对应的公钥并利用交换协议算法处理得到第二协商密钥,利用该第二协商密钥对该加密后的第一密钥进行解密得到该第一密钥;获取区块链节点上的加密后的消息明文,利用解密后得到第一密钥对该加密后的消息明文进行解密,得到该消息明文。优选地,所述处理系统被所述处理器执行时,还实现如下步骤:基于所述消息明文生成对应的响应信息,生成自身的第二密钥,基于该第二密钥并利用预定的加密算法对响应信息进行加密,将加密后的响应信息上传到区块链节点上;利用该第二协商密钥对所生成的第二密钥进行加密得到加密后的第二密钥,将加密后的第二密钥上传到区块链节点上。优选地,所述预定的方式为轮询区块链的方式或者事件监听区块链的方式。本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有处理系统,所述处理系统被处理器执行时实现上述的生产者终端或消费者终端执行的方法的步骤。本专利技术的有益效果是:本专利技术由多个终端组成的区块链联盟链中,在进行消息通信时,生产者终端采用预定的加密方式将消息明文及密钥都加密后,上传加密后的消息明文及密钥至区块链中,消费者终端轮询或者事件监听区块链,首先对加密后的密钥进行解密,然后再用密钥解密加密后的消息明文,以此进行消息的通信,消息明文不易被篡改,若有多个消费者终端,通信过程仅有通信的对方知晓,多个消费者终端之间无法获知生产者终端是否与其他消费者终端通信,有效地保障消息通信过程及消息明文的保密性。附图说明图1为本专利技术各个实施例一可选的应用环境示意图;图2为本专利技术基于区块链的多端间消息通信的方法一实施例的流程示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在本专利技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以本文档来自技高网...
基于区块链的多端间消息通信的方法、终端及存储介质

【技术保护点】
1.一种基于区块链的多端间消息通信的方法,其特征在于,所述基于区块链的多端间消息通信的方法包括:S1,生产者终端与多端构成的区块链网络中的消费者终端进行消息通信之前,获取第一CA证书,将该第一CA证书对应的公钥上传到该区块链网络的区块链节点上;S2,消费者终端与生产者终端通信之前,获取第二CA证书,将该第二CA证书对应的公钥上传到该区块链网络的区块链节点上;S3,生产者终端生成自身的第一密钥,基于该第一密钥并利用预定的加密算法对待通信的消息明文进行加密,将加密后的消息明文上传到区块链节点上;S4,生产者终端从区块链网络中获取消费者终端的第二CA证书对应的公钥,基于第一CA证书的私钥与消费者终端的第二CA证书对应的公钥并利用交换协议算法处理得到第一协商密钥,利用该第一协商密钥对所生成的第一密钥进行加密得到加密后的第一密钥,将加密后的第一密钥上传到区块链节点上;S5,消费者终端通过预定的方式获取区块链节点上的加密后的第一密钥,从区块链网络中获取生产者终端的第一CA证书对应的公钥,基于自身的第二CA证书的私钥与生产者终端的第一CA证书对应的公钥并利用交换协议算法处理得到第二协商密钥,利用该第二协商密钥对该加密后的第一密钥进行解密得到该第一密钥;S6,消费者终端获取区块链节点上的加密后的消息明文,利用解密后得到第一密钥对该加密后的消息明文进行解密,得到该消息明文。...

【技术特征摘要】
1.一种基于区块链的多端间消息通信的方法,其特征在于,所述基于区块链的多端间消息通信的方法包括:S1,生产者终端与多端构成的区块链网络中的消费者终端进行消息通信之前,获取第一CA证书,将该第一CA证书对应的公钥上传到该区块链网络的区块链节点上;S2,消费者终端与生产者终端通信之前,获取第二CA证书,将该第二CA证书对应的公钥上传到该区块链网络的区块链节点上;S3,生产者终端生成自身的第一密钥,基于该第一密钥并利用预定的加密算法对待通信的消息明文进行加密,将加密后的消息明文上传到区块链节点上;S4,生产者终端从区块链网络中获取消费者终端的第二CA证书对应的公钥,基于第一CA证书的私钥与消费者终端的第二CA证书对应的公钥并利用交换协议算法处理得到第一协商密钥,利用该第一协商密钥对所生成的第一密钥进行加密得到加密后的第一密钥,将加密后的第一密钥上传到区块链节点上;S5,消费者终端通过预定的方式获取区块链节点上的加密后的第一密钥,从区块链网络中获取生产者终端的第一CA证书对应的公钥,基于自身的第二CA证书的私钥与生产者终端的第一CA证书对应的公钥并利用交换协议算法处理得到第二协商密钥,利用该第二协商密钥对该加密后的第一密钥进行解密得到该第一密钥;S6,消费者终端获取区块链节点上的加密后的消息明文,利用解密后得到第一密钥对该加密后的消息明文进行解密,得到该消息明文。2.根据权利要求1所述的基于区块链的多端间消息通信的方法,其特征在于,所述步骤S6之后,还包括:消费者终端基于所述消息明文生成对应的响应信息,生成自身的第二密钥,基于该第二密钥并利用预定的加密算法对响应信息进行加密,将加密后的响应信息上传到区块链节点上;消费者终端利用该第二协商密钥对所生成的第二密钥进行加密得到加密后的第二密钥,将加密后的第二密钥上传到区块链节点上;生产者终端通过预定的方式获取区块链节点上的加密后的第二密钥,利用该第一协商密钥对该加密后的第二密钥进行解密得到该第二密钥;生产者终端获取区块链节点上的加密后的响应信息,利用解密后得到第二密钥对该加密后的响应信息进行解密,得到该响应信息。3.根据权利要求1或2所述的基于区块链的多端间消息通信的方法,其特征在于,所述预定的方式为轮询区块链的方式或者事件监听区块链的方式。4.一种生产者终端,其特征在于,所述生产者终端包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的系统,所述系统被所述处理器执行时实现如下步骤:在与多端构成的区块链网络中的消费者终端进行消息通信之前,获取第一CA证书,将该第一CA证书对应的公钥上传到该区块链网络的区块链节点上;生成自身的...

【专利技术属性】
技术研发人员:张文明陆陈一帆宦鹏飞张宇
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1