基于双重身份的多方通信方法及系统与流程

文档序号:15819219发布日期:2018-11-02 22:56阅读:246来源:国知局
基于双重身份的多方通信方法及系统与流程
本发明涉及通信
技术领域
,尤其是涉及基于双重身份的多方通信方法及系统。
背景技术
目前的网络通信模式大都是客户端/服务器模式,客户端和服务器端是不对等的,服务器端只用来提供服务,客户端只提出服务请求,即服务器端不可能通过客户端和服务器端之间建立的通信连接向客户端提出服务请求。如果服务器端和客户端之间存在防火墙并且需要服务器端在内网,由于防火墙安全策略要求不允许外网用户访问内网,这种网络部署就很难实现。p2p(peertopeer)方式是一种对等连接通信模式,p2p的通信模式打破了上述网络通信的模式,允许每个通信实体既充当客户端,又可以做服务器端,针对应用层的各种应用存在多种协议,分别实现不同的功能,例如,文件传输协议(filetransferprotocol,ftp)传输文件、telnet协议远程登陆、http协议浏览网页等。但是,p2p通信要求双方功能必须对等,不能提供一种能支持上述所有功能的通信协议;现有网络通信中很多通信协议是不安全的,虽然给出了ip层安全协议ipsec(internetprotocolsecurity,internet协议安全性)和传输层加密套接字ssl(securesocketslayer,安全套接层)协议,但是实际部署的很少,绝大部分网络流量都是明文传输,黑客可以注入或窜改网络流量;通信双方没有通过严格认证,不法人员可以轻易连接到服务端。技术实现要素:有鉴于此,本发明的目的在于提供基于双重身份的多方通信方法及系统,以缓解了现有技术p2p只有在对等情况下设备才作为客户端和服务器使用的技术问题,提高了通信过程中网络的安全可靠性和数据传输的安全性。第一方面,本发明实施例提供了一种基于双重身份的多方通信方法,其中,所述方法包括:当第一通信设备实时监听第二通信设备时,判断是否接收到所述第二通信设备发起的网络连接请求;如果有,则确定所述第一通信设备和所述第二通信设备各自的通信身份;基于所述通信身份并根据数字证书进行身份认证,判断是否通过安全认证;如果通过,则采用数据包封装格式和公共密钥进行数据通信。结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,确定所述第一通信设备和所述第二通信设备各自的通信身份,包括:当所述第二通信设备向所述第一通信设备主动发起网络连接请求时,将所述第二通信设备的通信身份确定为客户端身份;将所述第一通信设备的通信身份确定为服务器端身份。结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,确定所述第一通信设备和所述第二通信设备各自的通信身份,还包括:通过对每个通信设备的通信范围和通信身份进行预先配置,在所述通信范围内确定所述第一通信设备的通信身份为服务器端身份,确定所述第二通信设备的通信身份为客户端身份。结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,基于所述通信身份并根据数字证书进行身份认证,判断是否通过安全认证,包括:根据传输层加密套接字ssl协议,所述第二通信设备以所述客户端身份将第二数字证书发送至所述第一通信设备,同时,所述第一通信设备以所述服务器端身份将第一数字证书发送至所述第二通信设备;所述第一通信设备根据所述第二数字证书对所述第二通信设备进行身份认证,所述第二通信设备根据所述第一数字证书对所述第一通信设备进行身份认证,判断所述第一通信设备与所述第二通信设备之间是否互相通过安全认证。结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,采用数据包封装格式和公共密钥进行数据通信,包括:所述第二通信设备采用所述数据包封装格式将待发送数据进行封装,得到封装后的数据;采用公共密钥将所述封装后的数据进行加密,并将加密后的数据发送至所述第一通信设备。结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,采用数据包封装格式和公共密钥进行数据通信,还包括:所述第二通信设备采用公共密钥对待接收数据进行解密,得到解密后的数据;对所述解密后的数据进行分析,得到封装数据包;根据所述数据包封装格式将所述封装数据包进行解析,得到报文类型。结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,基于所述通信身份并根据数字证书进行身份认证,判断是否通过安全认证,还包括:如果没有通过安全认证,则结束所述第一通信设备与所述第二通信设备之间当前的网络连接流程。第二方面,本发明实施例还提供一种基于双重身份的多方通信系统,其中,所述系统包括:判断单元,用于当第一通信设备实时监听第二通信设备时,判断是否接收到所述第二通信设备发起的网络连接请求;身份确定单元,用于在有网络连接请求的情况下,确定所述第一通信设备和所述第二通信设备各自的通信身份;身份认证单元,用于基于所述通信身份并根据数字证书进行身份认证,判断是否通过安全认证;通信单元,用于在身份通过安全认证的情况下,采用数据包封装格式和公共密钥进行数据通信。结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述身份确定单元包括:当所述第二通信设备向所述第一通信设备主动发起网络连接请求时,将所述第二通信设备的通信身份确定为客户端身份;将所述第一通信设备的通信身份确定为服务器端身份。结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述身份确定单元还包括:通过对每个通信设备的通信范围和通信身份进行预先配置,在所述通信范围内确定所述第一通信设备的通信身份为服务器端身份,确定所述第二通信设备的通信身份为客户端身份。本发明实施例带来了以下有益效果:本发明提供的基于双重身份的多方通信方法及系统,包括:当第一通信设备实时监听第二通信设备时,判断是否接收到第二通信设备发起的网络连接请求;在有网络连接请求的情况下,确定第一通信设备和第二通信设备各自的通信身份;基于通信身份并根据数字证书进行身份认证,判断是否通过安全认证;在身份通过安全认证的情况下,采用数据包封装格式和公共密钥进行数据通信。本发明可以缓解现有技术p2p只有在对等情况下设备才作为客户端和服务器使用的技术问题,提高了通信过程中网络的安全可靠性和数据传输的安全性。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例一提供的基于双重身份的多方通信方法流程图;图2为本发明实施例二提供的一种基于双重身份的多方通信方法流程图;图3为本发明实施例二提供的另一种基于双重身份的多方通信方法流程图;图4为本发明实施例一提供的基于双重身份的多方通信系统示意图。图标:100-判断单元;200-身份确定单元;300-身份认证单元;400-通信单元。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。目前的网络通信模式大都是客户端/服务器模式,客户端和服务器端是不对等的,服务器端只用来提供服务,客户端只提出服务请求,即服务器端不可能通过客户端和服务器端之间建立的通信连接向客户端提出服务请求。如果服务器端和客户端之间存在防火墙并且需要服务器端在内网,由于防火墙安全策略要求不允许外网用户访问内网,这种网络部署就很难实现。p2p方式是一种对等连接通信模式,p2p的通信模式打破了上述网络通信的模式,允许每个通信实体既充当客户端,又可以做服务器端,针对应用层的各种应用存在多种协议,分别实现不同的功能。但是,p2p通信要求双方功能必须对等,不能提供一种能支持上述所有功能的通信协议;现有网络通信中很多通信协议是不安全的,虽然给出了ip层安全协议ipsec和传输层加密套接字ssl协议,但是实际部署的很少,绝大部分网络流量都是明文传输,黑客可以注入或窜改网络流量;通信双方没有通过严格认证,不法人员可以轻易连接到服务端。基于此,本发明实施例提供的基于双重身份的多方通信方法及系统,可以缓解现有技术p2p只有在对等情况下设备才作为客户端和服务器使用的技术问题,提高了通信过程中网络的安全可靠性和数据传输的安全性。为便于对本实施例进行理解,首先对本发明实施例所公开的基于双重身份的多方通信方法进行详细介绍。实施例一:图1为本发明实施例一提供的基于双重身份的多方通信方法流程图;参照图1,基于双重身份的多方通信方法主要包括如下内容:步骤s101,当第一通信设备实时监听第二通信设备时,判断是否接收到第二通信设备发起的网络连接请求;如果有,则执行步骤s102;如果没有,则第一通信设备继续监听第二通信设备。具体的,第一通信设备和第二通信设备是相对而言的,第一通信设备为多个对等的通信设备中的任意一个通信设备,第二通信设备为多个对等的通信设备中除了第一通信设备以外的其他通信设备。每个通信设备均实时监听是否有其他的通信设备向自己发起网络连接请求;如果有,则执行步骤s102,如果没有,则继续监听。步骤s102,确定第一通信设备和第二通信设备各自的通信身份;具体的,通信身份分为服务器端身份和客户端身份:主动发起网络连接请求的通信设备为客户端身份,即第二通信设备为客户端身份;监听的通信设备为服务器端身份,即第一通信设备为服务器端身份。步骤s103,基于通信身份并根据数字证书进行身份认证,判断是否通过安全认证;如果互相通过安全认证,则执行步骤s104;如果互相没有通过安全认证,则执行步骤s105。具体的,在每个通信设备中存储有用于安全认证的数字证书。以第二通信设备的角度,其以客户端身份主动发起网络连接后,向对方(即第一通信设备)发送自身存储的数字证书,同时,接收对方发送来的数字证书,通信双方互相进行认证身份;在双方均通过身份的安全认证的情况下,执行步骤s104,进行数据发送或接收;以及,在有任一方没有通过身份的安全认证的情况下,步骤s105。以第一通信设备的角度,其以服务器端身份监听到其他通信设备向自身发起的网络连接请求后,监听方接收向自身发起网络连接请求的发起方(即第二通信设备)发来的数字证书,对发起方进行身份认证,同时监听方向发起方发送自身存储的数字证书,请求对自身的身份进行认证;在判断通信双方均通安全过认证的情况下,执行步骤s104,进行数据发送或接收;以及,在有任一方没有通过身份的安全认证的情况下,步骤s105。步骤s104,采用数据包封装格式和公共密钥进行数据通信。具体的,为防止黑客注入或窜改网络流量,将待发送的数据封装为数据包,并采用自身存储的数字证书中的公共密钥对封装后的数据进行加密并发送,封装的过程中将数据段的前面添加了数据包的类型,接收方在接收到数据包后根据自身存储的数字证书中的公共密钥进行解密,然后从解密后的数据中解析出表示数据包类型的字段,根据数据包类型进行相应处理。步骤s105,结束第一通信设备与第二通信设备之间当前的网络连接流程。进一步的,步骤s102,确定第一通信设备和第二通信设备各自的通信身份,包括如下两种实现方案。方案一:当第二通信设备向第一通信设备主动发起网络连接请求时,将第二通信设备的通信身份确定为客户端身份;将第一通信设备的通信身份确定为服务器端身份。具体的,网络中每台通信设备既实时监听其它通信设备的网络连接请求,同时,又随时以客户端身份向与自身连接的其他通信设备发起网络连接请求。当成功建立网络连接后,发起方作为客户端身份,监听方作为服务器端身份。方案二:通过对每个通信设备的通信范围和通信身份进行预先配置,在通信范围内确定第一通信设备的通信身份为服务器端身份,确定第二通信设备的通信身份为客户端身份。具体的,在每个通信设备中预先配置并存储当前通信设备的通信对象,完成部署通信范围;并且,预先配置与每个通信设备进行通信时采用的身份:采用客户端身份还是服务器端身份。进一步的,步骤s103,基于通信身份并根据数字证书进行身份认证,判断是否通过安全认证,在实现时包括:首先,根据ssl(securesocketslayer,传输层加密套接字协议),第二通信设备以客户端身份将第二数字证书发送至第一通信设备,同时,第一通信设备以服务器端身份将第一数字证书发送至第二通信设备。其次,第一通信设备根据第二数字证书对第二通信设备进行身份认证,第二通信设备根据第一数字证书对第一通信设备进行身份认证,判断第一通信设备与第二通信设备之间是否互相通过安全认证。进一步的,以第二通信设备为执行主体,步骤s104,采用数据包封装格式和公共密钥进行数据通信,包括数据发送过程:首先,第二通信设备采用数据包封装格式将待发送数据进行封装,得到封装后的数据。然后,采用公共密钥将封装后的数据进行加密,并将加密后的数据发送至第一通信设备。具体的,数据包封装格式为统一的类型,如表1所示。表1数据包封装格式typeseq_numlengthdata其中,type表示数据包的类型,seq_num表示数据包的序号,length表示数据包长度,date就是数据包的内容。type占用两个字节,类型包括:报警信息、系统状态信息、通信配置文件数据、系统日志文件数据、规则文件数据、升级包数据、启动/停止/获取日志命令、响应、探测引擎配置文件数据、规则屏蔽命令、会话文件建立命令、会话处理配置文件数据、连接状态数据、会话文件建立命令、会话文件数据、会话处理命令文件数据、流量统计数据、地址解析协议、欺骗配置文件数据、拨号检测配置文件数据、防火墙联动密钥文件数据、与控制台时钟同步命令、报警代理配置文件数据;seq_num占用4个字节;length占用4个字节。进一步的,步骤s104还包括数据接收过程:首先,第二通信设备采用公共密钥对待接收数据进行解密,得到解密后的数据;其次,对解密后的数据进行分析,得到封装数据包;最后,根据数据包封装格式将封装数据包进行解析,得到报文类型。具体的,第二通信设备根据自身存储的数字证书中的公共密钥,对待接收数据进行解密,然后分析解密后的数据,得到封装数据包;在解析出得到封装数据包的报文类型,根据报文类型作相应处理,例如,解析出报文类型是防火墙联动配置文件,则将该文件保存等等。本发明实施例所提供的基于双重身份的多方通信方法具有以下优点:缓解了现有技术p2p只有在对等情况下设备才作为客户端和服务器使用的技术问题;通信过程中通过数字证书进行身份认证,不法人员无法通过安全认证,从而提高了网络的安全可靠性;将数据采用数据包封装格式进行封装,添加了表示数据包类型的数据,使所有的通信设备可以根据数据包类对数据包进行相应的操作,省去了现有技术中需要根据不同的协议实现不同功能的数据处理;采用自身存储的数字证书中的公共密钥对封装后的数据进行加密或解密,使得黑客无从下手,保证了数据传输的安全性。实施例二:图2为本发明实施例二提供的一种基于双重身份的多方通信方法流程图。本发明实施例将通过两种具体的实现方案,对上述实施例所提供的基于双重身份的多方通信方法进行描述。实现方案一,以通信设备b向通信设备a发起网络连接请求为例,参照图2,基于双重身份的多方通信方法包括如下步骤。步骤s201,通信设备b以客户端身份主动向通信设备a发起网络连接请求;步骤s202,通信设备b判断主动连接是否成功,如果连接成功,则执行步骤s203,否则,结束当前网络连接流程;步骤s203,根据ssl协议,通信设备b向通信设备a发送自身存储的数字证书,请求通信设备a认证身份,同时,通信设备b也要接收通信设备a发来的数字证书,认证通信设备a的身份是否合法;步骤s204,判断通信设备a与通信设备b是否都通过对方的认证,如果通过对方认证,则执行步骤步骤s205,否则说明有通信设备可能不合法,结束当前网络连接流程;步骤s205,判断是否有数据需要发送,如果需要发送数据,则执行步骤s206,否则,执行步骤s207;步骤s206,通信设备b对要发送的数据按照数据包封装格式进行封装,根据自身存储的数字证书中的公共密钥对封装后的数据进行加密并发送;步骤s207,判断是否有数据需要接收,如果需要接收数据,则执行步骤s208,否则,结束当前网络连接流程;步骤s208,通信设备b根据自身存储的数字证书中的公共密钥,对接收到的数据进行解密,分析该收到的数据,解析出数据中的报文类型,根据报文类型作相应处理。例如:解析出报文类型是防火墙联动配置文件,则将该文件保存等等。实现方案二,传输层采用ssl作为传输层安全协议,以通信设备a监听其它设备向自身发起网络连接的过程为例,参照图3,基于双重身份的多方通信方法包括如下步骤。步骤s301,通信设备a实时监听其他通信设备向自身发起的网络连接请求;步骤s302,判断是否有网络连接请求,如果有请求,则执行步骤s303,否则返回步骤s301继续监听;步骤s303,根据ssl协议,向监听到的发起网络连接请求的通信设备发送自身存储的数字证书,请求对方进行身份认证,同时接收对方通信设备发来的数字证书,认证对方通信设备的身份;步骤s304,判断通信设备双方是否都通过认证,如果通过认证,则执行步骤s305,否则返回步骤s301继续监听;步骤s305,判断是否有数据需要发送,如果需要发送数据,则执行步骤s306,否则,执行步骤s307;步骤s306,通信设备a对要发送的数据按照数据包封装格式进行封装,根据自身存储的数字证书中的公共密钥对封装后的数据进行加密并发送;步骤s307,判断是否有数据需要接收,如果需要接收数据,则执行步骤s308;否则,返回步骤s301继续监听;步骤s308,通信设备a根据自身存储的数字证书中的公共密钥,对接收到的数据解密,分析该接收到的数据,解析出数据中的报文类型,根据报文类型作相应处理。实施例三:图4为本发明实施例一提供的基于双重身份的多方通信系统示意图。本发明实施例提供了一种基于双重身份的多方通信系统,用于实现上述实施例提供的基于双重身份的多方通信方法。参照图4,基于双重身份的多方通信系统主要包括如下单元:判断单元100,用于当第一通信设备实时监听第二通信设备时,判断是否接收到第二通信设备发起的网络连接请求;身份确定单元200,用于在有网络连接请求的情况下,确定第一通信设备和第二通信设备各自的通信身份;身份认证单元300,用于基于通信身份并根据数字证书进行身份认证,判断是否通过安全认证;通信单元400,用于在身份通过安全认证的情况下,采用数据包封装格式和公共密钥进行数据通信。进一步的,身份确定单元200包括:当第二通信设备向第一通信设备主动发起网络连接请求时,将第二通信设备的通信身份确定为客户端身份;将第一通信设备的通信身份确定为服务器端身份。进一步的,身份确定单元200还包括:通过对每个通信设备的通信范围和通信身份进行预先配置,在通信范围内确定第一通信设备的通信身份为服务器端身份,确定第二通信设备的通信身份为客户端身份。本发明实施例所提供的系统,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,系统实施例部分未提及之处,可参考前述方法实施例中相应内容。本发明实施例带来了以下有益效果:本发明提供的基于双重身份的多方通信方法及系统,包括:当第一通信设备实时监听第二通信设备时,判断是否接收到第二通信设备发起的网络连接请求;在有网络连接请求的情况下,确定第一通信设备和第二通信设备各自的通信身份;基于通信身份并根据数字证书进行身份认证,判断是否通过安全认证;在身份通过安全认证的情况下,采用数据包封装格式和公共密钥进行数据通信。本发明可以缓解现有技术p2p只有在对等情况下设备才作为客户端和服务器使用的技术问题,提高了通信过程中网络的安全可靠性和数据传输的安全性。本发明实施例还提供一种电子设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的基于双重身份的多方通信方法的步骤。本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例的基于双重身份的多方通信方法的步骤。另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1