区块链及其通信方法、网关、通信系统和存储介质技术方案

技术编号:23215048 阅读:20 留言:0更新日期:2020-01-31 22:41
本公开提出一种区块链及其通信方法、网关、通信系统和存储介质,涉及通信领域。其中的方法包括:区块链存储网关发送的用户的标识和用户的公钥,响应网关发送的入链请求,利用入链请求携带的用户的标识查找存储的用户的公钥,利用查找到的用户的公钥对通信数据的签名数据进行解密,将解密得到的通信数据和请求入链的通信数据进行比对,如果比对结果一致,认证通过,将入链请求携带的通信数据存储到用户的标识对应的内容,然后分配通信数据对应的链码。本公开的方案可以确认通信数据的完整性,防止通信数据被篡改,并且可以确认通信数据的来源,使得通信数据的发送方无法抵赖。

Blockchain and its communication method, gateway, communication system and storage medium

【技术实现步骤摘要】
区块链及其通信方法、网关、通信系统和存储介质
本公开涉及通信领域,特别涉及一种区块链及其通信方法、网关、通信系统和存储介质。
技术介绍
网关可以实现网络互连互通。网关对外提供通信接口,用户通过网关可以进行通信。用户和网关的数据会在公网中传输,由于公网是一个开放的网络环境,因此,数据传输的安全性往往难以保障。
技术实现思路
本公开所要解决的一个技术问题是,防止通信数据被篡改。根据本公开的一个方面,提出一种基于区块链的通信方法,包括:区块链存储网关发送的用户的标识和所述用户的公钥;所述区块链响应所述网关发送的入链请求,利用所述入链请求携带的所述用户的标识查找存储的所述用户的公钥,其中,所述入链请求携带所述用户的标识、通信数据、所述通信数据的签名数据,所述通信数据的签名数据是利用所述用户的私钥对所述通信数据进行签名得到;所述区块链利用查找到的所述用户的公钥对所述入链请求携带的通信数据的签名数据进行解密,将解密得到的通信数据和请求入链的通信数据进行比对,如果比对结果一致,认证通过;所述区块链在认证通过的情况下,将所述入链请求携带的通信数据存储到所述用户的标识对应的内容;所述区块链分配所述通信数据对应的链码。可选地,所述用户的标识是所述网关针对所述用户的每次会话生成的授权码。根据本公开的再一个方面,提出一种基于区块链的通信方法,包括:网关获取用户的公钥;所述网关将所述用户的标识和所述用户的公钥写入区块链;所述网关接收所述用户的客户端发送的通信请求,所述通信请求携带通信数据、通信数据的签名数据和所述用户的标识,所述通信数据的签名数据是利用所述用户的私钥对所述通信数据进行签名得到;所述网关向所述区块链发送入链请求,所述入链请求携带所述用户的标识、所述通信数据、所述通信数据的签名数据,以便所述区块链基于所述入链请求携带的信息进行签名验证和入链操作;所述网关记录所述通信数据在所述区块链中的链码。可选地,所述用户的标识是所述网关针对所述用户的每次会话生成的授权码;通信方法还包括:所述网关验证所述用户的客户端发来的授权码,在所述授权码验证通过的情况下,再向所述区块链发送入链请求。可选地,所述用户的公钥是所述网关响应所述用户的客户端发送的授权请求,并利用所述网关的私钥对所述授权请求进行解密得到的,其中,所述授权请求携带所述用户的公钥,所述授权请求被所述网关的公钥加密。可选地,所述网关的公钥是所述网关响应所述用户的客户端发送的注册请求,对所述注册请求中携带的用户名和密码进行验证,在验证通过的情况下,返回给所述用户的客户端的。可选地,所述网关的公钥和私钥是所述网关调用所述区块链的授权机构生成的。可选地,通信方法还包括:所述网关利用所述网关的私钥对所述通信请求进行解密,其中,所述通信请求被所述用户的客户端使用所述网关的公钥进行加密。根据本公开的再一个方面,提出一种用于通信的区块链,包括:多个区块链节点;其中,任意一个区块链节点被配置为:存储网关发送的用户的标识和所述用户的公钥;响应所述网关发送的入链请求,利用所述入链请求携带的所述用户的标识查找存储的所述用户的公钥,其中,所述入链请求携带所述用户的标识、通信数据、所述通信数据的签名数据,所述通信数据的签名数据是利用所述用户的私钥对所述通信数据进行签名得到;利用查找到的所述用户的公钥对所述入链请求携带的通信数据的签名数据进行解密,将解密得到的通信数据和请求入链的通信数据进行比对,如果比对结果一致,认证通过;在认证通过的情况下,将所述入链请求携带的通信数据存储到所述用户的标识对应的内容;分配所述通信数据对应的链码。可选地,所述用户的标识是所述网关针对所述用户的每次会话生成的授权码。根据本公开的再一个方面,提出一种用于通信的网关,包括:获取模块,用于获取用户的公钥;写入模块,用于将所述用户的标识和所述用户的公钥写入区块链;接收模块,用于接收所述用户的客户端发送的通信请求,所述通信请求携带通信数据、通信数据的签名数据和所述用户的标识,所述通信数据的签名数据是利用所述用户的私钥对所述通信数据进行签名得到;发送模块,用于向所述区块链发送入链请求,所述入链请求携带所述用户的标识、所述通信数据、所述通信数据的签名数据,以便所述区块链基于所述入链请求携带的信息进行签名验证和入链操作;记录模块,用于记录所述通信数据在所述区块链中的链码。可选地,所述用户的标识是所述网关针对所述用户的每次会话生成的授权码;网关还包括:验证模块,用于验证所述用户的客户端发来的授权码,所述发送模块,在所述授权码验证通过的情况下,再向所述区块链发送入链请求。可选地,所述用户的公钥是所述网关响应所述用户的客户端发送的授权请求,并利用所述网关的私钥对所述授权请求进行解密得到的,其中,所述授权请求携带所述用户的公钥,所述授权请求被所述网关的公钥加密。可选地,所述网关的公钥是所述网关响应所述用户的客户端发送的注册请求,对所述注册请求中携带的用户名和密码进行验证,在验证通过的情况下,返回给所述用户的客户端的。根据本公开的再一个方面,提出一种用于通信的区块链,包括:多个区块链节点;其中,任意一个区块链节点包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行任一项前述的通信方法。根据本公开的再一个方面,提出一种用于通信的网关,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行任一项前述的通信方法。根据本公开的再一个方面,提出一种通信系统,包括:任一项前述的网关;以及,任一项前述的区块链。根据本公开的再一个方面,提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一项前述的通信方法的步骤。本公开的方案可以确认通信数据的完整性,防止通信数据被篡改,并且可以确认通信数据的来源,使得通信数据的发送方无法抵赖。附图说明下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍。根据下面参照附图的详细描述,可以更加清楚地理解本公开,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本公开的基于区块链的通信方法一些实施例的流程示意图。图2为本公开的基于区块链的通信方法另一些实施例的流程示意图。图3为本公开的通信系统300一些实施例的示意图。图4为本公开的网关310一些实施例的示意图。图5为本公开的区块链320一些实施例的示意图。图6为本公开的网关310或区块链320的另一些实本文档来自技高网...

【技术保护点】
1.一种基于区块链的通信方法,包括:/n区块链存储网关发送的用户的标识和所述用户的公钥;/n所述区块链响应所述网关发送的入链请求,利用所述入链请求携带的所述用户的标识查找存储的所述用户的公钥,其中,所述入链请求携带所述用户的标识、通信数据、所述通信数据的签名数据,所述通信数据的签名数据是利用所述用户的私钥对所述通信数据进行签名得到;/n所述区块链利用查找到的所述用户的公钥对所述入链请求携带的通信数据的签名数据进行解密,将解密得到的通信数据和请求入链的通信数据进行比对,如果比对结果一致,认证通过;/n所述区块链在认证通过的情况下,将所述入链请求携带的通信数据存储到所述用户的标识对应的内容;/n所述区块链分配所述通信数据对应的链码。/n

【技术特征摘要】
1.一种基于区块链的通信方法,包括:
区块链存储网关发送的用户的标识和所述用户的公钥;
所述区块链响应所述网关发送的入链请求,利用所述入链请求携带的所述用户的标识查找存储的所述用户的公钥,其中,所述入链请求携带所述用户的标识、通信数据、所述通信数据的签名数据,所述通信数据的签名数据是利用所述用户的私钥对所述通信数据进行签名得到;
所述区块链利用查找到的所述用户的公钥对所述入链请求携带的通信数据的签名数据进行解密,将解密得到的通信数据和请求入链的通信数据进行比对,如果比对结果一致,认证通过;
所述区块链在认证通过的情况下,将所述入链请求携带的通信数据存储到所述用户的标识对应的内容;
所述区块链分配所述通信数据对应的链码。


2.如权利要求1所述的通信方法,其中,所述用户的标识是所述网关针对所述用户的每次会话生成的授权码。


3.一种基于区块链的通信方法,包括:
网关获取用户的公钥;
所述网关将所述用户的标识和所述用户的公钥写入区块链;
所述网关接收所述用户的客户端发送的通信请求,所述通信请求携带通信数据、通信数据的签名数据和所述用户的标识,所述通信数据的签名数据是利用所述用户的私钥对所述通信数据进行签名得到;
所述网关向所述区块链发送入链请求,所述入链请求携带所述用户的标识、所述通信数据、所述通信数据的签名数据,以便所述区块链基于所述入链请求携带的信息进行签名验证和入链操作;
所述网关记录所述通信数据在所述区块链中的链码。


4.如权利要求3所述的通信方法,其中,所述用户的标识是所述网关针对所述用户的每次会话生成的授权码;
还包括:
所述网关验证所述用户的客户端发来的授权码,在所述授权码验证通过的情况下,再向所述区块链发送入链请求。


5.如权利要求3所述的通信方法,其中,
所述用户的公钥是所述网关响应所述用户的客户端发送的授权请求,并利用所述网关的私钥对所述授权请求进行解密得到的,
其中,所述授权请求携带所述用户的公钥,所述授权请求被所述网关的公钥加密。


6.如权利要求5所述的通信方法,其中,
所述网关的公钥是所述网关响应所述用户的客户端发送的注册请求,对所述注册请求中携带的用户名和密码进行验证,在验证通过的情况下,返回给所述用户的客户端的。


7.如权利要求5所述的通信方法,其中,
所述网关的公钥和私钥是所述网关调用所述区块链的授权机构生成的。


8.如权利要求3所述的通信方法,还包括:
所述网关利用所述网关的私钥对所述通信请求进行解密,其中,所述通信请求被所述用户的客户端使用所述网关的公钥进行加密。


9.一种用于通信的区块链,包括:多个区块链节点;
其中,任意一个区块链节点被配置为:
存储网关发送的用户的标识和所述用户的公钥;
响应所述网关发送的入链请求,利用所述入链请求携带的所述用户的标识查找存储的所述用户的公钥,其中...

【专利技术属性】
技术研发人员:柴鹏辉姜南张伟
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1