基于会话密钥的通信方法、设备及计算机可读存储介质技术

技术编号:21663431 阅读:21 留言:0更新日期:2019-07-20 06:52
本发明专利技术实施例提供一种基于会话密钥的通信方法、设备及计算机可读存储介质。本发明专利技术实施例通过第一用户终端在区块链网络广播查询请求,根据第二用户终端的域名区块链标识或域名查询获得第二用户终端的IP地址,并通过该第二用户终端的IP地址与该第二用户终端建立连接,由于区块链网络中的区块链账本记录的信息是不可篡改的,即该区块链账本中记录的信息真实可靠,因此,第一用户终端从该区块链账本中获取到的第二用户终端的IP地址是真实可靠的,另外,第一用户终端根据所述第一用户终端生成的第一会话密钥和/或所述第二用户终端生成的第二会话密钥与所述第二用户终端进行通信,提高了第一用户终端和第二用户终端之间通信的安全性。

Communication Method, Equipment and Computer Readable Storage Media Based on Session Key

【技术实现步骤摘要】
基于会话密钥的通信方法、设备及计算机可读存储介质
本专利技术实施例涉及通信
,尤其涉及一种基于会话密钥的通信方法、设备及计算机可读存储介质。
技术介绍
在互联网中,A用户和B用户想要在不信任的环境下建立安全的连接,目前主要通过迪菲-赫尔曼密钥交换(英语:Diffie-Hellmankeyexchange,缩写为D-H)来实现。它可以让双方在完全没有对方任何信息的条件下通过不安全信道创建起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。迪菲-赫尔曼密钥交换本身并没有提供通讯双方的身份验证服务,因此它很容易受到中间人攻击。一个中间人在信道的中央进行两次迪菲-赫尔曼密钥交换,例如,一次和Alice进行迪菲-赫尔曼密钥交换,另一次和Bob迪菲-赫尔曼密钥交换,该中间人就能够成功的向Alice假装自己是Bob,反之亦然。另外,攻击者还可以解密(读取和存储)任何一个人的信息并重新加密信息,然后传递给另一个人。因此,导致用户之间通信的安全性较低。
技术实现思路
本专利技术实施例提供一种基于会话密钥的通信方法、设备及计算机可读存储介质,以提高第一用户终端和第二用户终端之间通信的安全性。第一方面,本专利技术实施例提供一种基于会话密钥的通信方法,包括:第一用户终端在区块链网络广播查询请求,所述查询请求包括第二用户终端的域名区块链标识或域名,所述记账节点中存储的区块链账本包括所述第二用户终端的域名区块链标识或域名、所述第二用户终端的IP地址、所述第二用户终端在所述区块链网络中的公钥、所述第二用户终端所支持的应用程序的名称和所述应用程序的服务端口号;所述第一用户终端接收所述区块链网络中的记账节点发送的所述第二用户终端的IP地址、所述第二用户终端在所述区块链网络中的公钥、所述第二用户终端所支持的应用程序的名称和所述应用程序的服务端口号;所述第一用户终端根据所述第二用户终端的IP地址、所述第二用户终端所支持的应用程序的名称和所述应用程序的服务端口号,与所述第二用户终端建立连接;所述第一用户终端根据所述第一用户终端生成的第一会话密钥和/或所述第二用户终端生成的第二会话密钥与所述第二用户终端进行通信。第二方面,本专利技术实施例提供一种第一用户终端,包括:存储器;处理器;通讯接口;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以下操作:通过所述通讯接口在区块链网络广播查询请求,所述查询请求包括第二用户终端的域名区块链标识或域名,所述记账节点中存储的区块链账本包括所述第二用户终端的域名区块链标识或域名、所述第二用户终端的IP地址、所述第二用户终端在所述区块链网络中的公钥、所述第二用户终端所支持的应用程序的名称和所述应用程序的服务端口号;通过所述通讯接口接收所述区块链网络中的记账节点发送的所述第二用户终端的IP地址、所述第二用户终端在所述区块链网络中的公钥、所述第二用户终端所支持的应用程序的名称和所述应用程序的服务端口号;根据所述第二用户终端的IP地址、所述第二用户终端所支持的应用程序的名称和所述应用程序的服务端口号,与所述第二用户终端建立连接;根据所述第一用户终端生成的第一会话密钥和/或所述第二用户终端生成的第二会话密钥与所述第二用户终端进行通信。第三方面,本专利技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。本专利技术实施例提供的基于会话密钥的通信方法、设备及计算机可读存储介质,通过第一用户终端在区块链网络广播查询请求,根据第二用户终端的域名区块链标识或域名查询获得第二用户终端的IP地址,并通过该第二用户终端的IP地址与该第二用户终端建立连接,由于区块链网络中的区块链账本记录的信息是不可篡改的,即该区块链账本中记录的信息真实可靠,因此,第一用户终端从该区块链账本中获取到的第二用户终端的IP地址是真实可靠的,另外,第一用户终端根据所述第一用户终端生成的第一会话密钥和/或所述第二用户终端生成的第二会话密钥与所述第二用户终端进行通信,提高了第一用户终端和第二用户终端之间通信的安全性。附图说明图1为本专利技术实施例提供的一种应用场景的示意图;图2为本专利技术实施例提供的基于会话密钥的通信方法流程图;图3为本专利技术另一实施例提供的基于会话密钥的通信方法流程图;图4为本专利技术另一实施例提供的基于会话密钥的通信方法流程图;图5为本专利技术另一实施例提供的基于会话密钥的通信方法流程图;图6为本专利技术另一实施例提供的基于会话密钥的通信方法流程图;图7为本专利技术实施例提供的第一用户终端的结构示意图。通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。本专利技术实施例提供的基于会话密钥的通信方法,可以适用于图1所示的通信系统。如图1所示,该通信系统包括:节点1-节点7。该通信系统具体可以是区块链网络,节点1-节点7分别是该区块链网络中的节点。此处只是示意性说明,并不限定该区块链网络的结构,也不限定该区块链网络的节点。其中,节点具体可以是终端设备、服务器等设备。可选的,该区块链网络具体可以是下面实施例中所述的域名区块链网络。另外,此处只是示意性说明,并不限定该域名区块链网络的结构和该域名区块链网络中的节点个数。本专利技术实施例提供的基于会话密钥的通信方法,旨在解决现有技术的如上技术问题。下面以具体地实施例对本专利技术的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本专利技术的实施例进行描述。图2为本专利技术实施例提供的基于会话密钥的通信方法流程图。本专利技术实施例针对现有技术的如上技术问题,提供了基于会话密钥的通信方法,该方法具体步骤如下:步骤201、第一用户终端在区块链网络广播查询请求,所述查询请求包括第二用户终端的域名区块链标识或域名,所述记账节点中存储的区块链账本包括所述第二用户终端的域名区块链标识或域名、所述第二用户终端的IP地址、所述第二用户终端在所述区块链网络中的公钥、所述第二用户终端所支持的应用程序的名称和所述应用程序的服务端口号。本实施例中的第一用户终端和第二用户终端具体可以是如图1所示的区块链网络中的节点。第一用户终端和第二用户终端需要在该区块链网络中注册,在注册过程中,第一用户终端和第二用户终端需要进行身份验证,也就是说,每个用户终端在该区块链网络中都有唯一的公钥和私钥。可选的,该第二用户终端是某个对外提供服务的应用程序(Application,APP)的服务提供商,第一用户终端需要访问第二用户终端,也就是说,第一用户终端需要使用第二用户终端所提供的服务。第一用户终端和第二用户终端需要进行安全通信。首先,第一用户终端可以通过非域本文档来自技高网...

【技术保护点】
1.一种基于会话密钥的通信方法,其特征在于,包括:第一用户终端在区块链网络广播查询请求,所述查询请求包括第二用户终端的域名区块链标识或域名,所述记账节点中存储的区块链账本包括所述第二用户终端的域名区块链标识或域名、所述第二用户终端的IP地址、所述第二用户终端在所述区块链网络中的公钥、所述第二用户终端所支持的应用程序的名称和所述应用程序的服务端口号;所述第一用户终端接收所述区块链网络中的记账节点发送的所述第二用户终端的IP地址、所述第二用户终端在所述区块链网络中的公钥、所述第二用户终端所支持的应用程序的名称和所述应用程序的服务端口号;所述第一用户终端根据所述第二用户终端的IP地址、所述第二用户终端所支持的应用程序的名称和所述应用程序的服务端口号,与所述第二用户终端建立连接;所述第一用户终端根据所述第一用户终端生成的第一会话密钥和/或所述第二用户终端生成的第二会话密钥与所述第二用户终端进行通信。

【技术特征摘要】
1.一种基于会话密钥的通信方法,其特征在于,包括:第一用户终端在区块链网络广播查询请求,所述查询请求包括第二用户终端的域名区块链标识或域名,所述记账节点中存储的区块链账本包括所述第二用户终端的域名区块链标识或域名、所述第二用户终端的IP地址、所述第二用户终端在所述区块链网络中的公钥、所述第二用户终端所支持的应用程序的名称和所述应用程序的服务端口号;所述第一用户终端接收所述区块链网络中的记账节点发送的所述第二用户终端的IP地址、所述第二用户终端在所述区块链网络中的公钥、所述第二用户终端所支持的应用程序的名称和所述应用程序的服务端口号;所述第一用户终端根据所述第二用户终端的IP地址、所述第二用户终端所支持的应用程序的名称和所述应用程序的服务端口号,与所述第二用户终端建立连接;所述第一用户终端根据所述第一用户终端生成的第一会话密钥和/或所述第二用户终端生成的第二会话密钥与所述第二用户终端进行通信。2.根据权利要求1所述的方法,其特征在于,所述第一用户终端根据所述第一用户终端生成的第一会话密钥和/或所述第二用户终端生成的第二会话密钥与所述第二用户终端进行通信,包括:所述第一用户终端生成第一会话密钥;所述第一用户终端根据所述第二用户终端在所述区块链网络中的公钥对所述第一会话密钥进行加密;所述第一用户终端将加密后的所述第一会话密钥发送给所述第二用户终端,以使所述第二用户终端采用所述第二用户终端在所述区块链网络中的私钥对所述加密后的所述第一会话密钥进行解密,得到所述第一会话密钥;所述第一用户终端根据所述第一会话密钥与所述第二用户终端进行通信。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述第一用户终端根据所述第一会话密钥与所述第二用户终端进行通信的过程中,所述第一用户终端接收所述第二用户终端修改后的第一会话密钥;所述第一用户终端根据修改后的第一会话密钥与所述第二用户终端进行通信;或者在所述第一用户终端根据所述第一会话密钥与所述第二用户终端进行通信的过程中,所述第一用户终端修改所述第一会话密钥;所述第一用户终端向所述第二用户终端发送修改后的所述第一会话密钥,以使所述第二用户终端根据修改后的所述第一会话密钥与所述第一用户终端进行通信。4.根据权利要求1所述的方法,其特征在于,所述第一用户终端根据所述第一用户终端生成的第一会话密钥和/或所述第二用户终端生成的第二会话密钥与所述第二用户终端进行通信,包括:所述第一用户终端接收所述第二用户终端发送的加密后的第二会话密钥,所述第二会话密钥是所述第二用户终端生成的,所述加密后的第二会话密钥是所述第二用户终端采用所述第一用户终端在所述区块链网络中的公钥对所述第二会话密钥进行加密后得到的;所述第一用户终端采用所述第一用户终端在所述区块链网络中的私钥,对所述加密后的第二会话密钥进行解密,得到所述第二会话密钥;所述第一用户终端根据所述第二会话密钥与所述第二用户终端进行通信。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在所述第一用户终端根据所述第二会话密钥与所述第二用户终端进行通信的过程中,所述第一用户终端接收所述第二用户终端修改后的第二会话密钥;所述第一用户终端根据修改后的第二会话密钥与所述第二用户终端进行通信;或者在所述第一用户终端根据所述第二会话密钥与所述第二用户终端进行通信的过程中,所述第一用户终端修改所述第二会话密钥;所述第一用户终端向所述第二用户终端发送修改后的所述第二会话密钥,以使所述第二用户终端根据修改后的所述第二会话密钥与所述第一用户终端进行通信。6.根据权利要求1所述的方法,其特征在于,所述第一用户终端根据所述第一用户终端生成的第一会话密钥和/或所述第二用户终端生成的第二会话密钥与所述第二用户终端进行通信,包括:所述第一用户终端生成第一会话密钥;所述第一用户终端根据所述第二用户终端在所述区块链网络中的公钥对所述第一会话密钥进行加密;所述第一用户终端将加密后的所述第一会话密钥发送给所述第二用户终端,以使所述第二用户终端采用所述第二用户终端在所述区块链网络中的私钥对所述加密后的所述第一会话密钥进行解密,得到所述第一会话密钥,并根据所述第一会话密钥和所述第二用户终端生成的第二会话密钥,确定第三会话密钥;所述第一用户终端接收所述第二用户终端发送的加密后的第二会话密钥,所述第二会话密钥是所述第二用户终端生成的,所述加密后的第二会话密钥是所述第二用户终端采用所述第一用户终端在所述区块链网络中的公钥对所述第二会话密钥进行加密后得到的;所述第一用户终端采用所述第一用户终端在所述区块链网络中的私钥,对所述加密后的第二会话密钥进行解密,得到所述第二会话密钥;所述第一用户终端根据所述第一会话密钥和所述第二会话密钥,生成第三会话密钥;所述第一用户终端根据所述第三会话密钥与所述第二用户终端进行通信。7.一种第一用户终...

【专利技术属性】
技术研发人员:路成业王凌
申请(专利权)人:江苏全链通信息科技有限公司
类型:发明
国别省市:江苏,32

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

1