CN107222504B - 一种p2p通信方法以及系统 - Google Patents

一种p2p通信方法以及系统 Download PDF

Info

Publication number
CN107222504B
CN107222504B CN201710559769.0A CN201710559769A CN107222504B CN 107222504 B CN107222504 B CN 107222504B CN 201710559769 A CN201710559769 A CN 201710559769A CN 107222504 B CN107222504 B CN 107222504B
Authority
CN
China
Prior art keywords
controlled node
node equipment
identity
communication
server
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.)
Expired - Fee Related
Application number
CN201710559769.0A
Other languages
English (en)
Other versions
CN107222504A (zh
Inventor
刘朝晖
林倩晖
王涛伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Spotmau Information Technology Co ltd
Original Assignee
Shenzhen Spotmau Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Spotmau Information Technology Co ltd filed Critical Shenzhen Spotmau Information Technology Co ltd
Priority to CN201710559769.0A priority Critical patent/CN107222504B/zh
Publication of CN107222504A publication Critical patent/CN107222504A/zh
Application granted granted Critical
Publication of CN107222504B publication Critical patent/CN107222504B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种P2P通信方法以及系统,其中该系统包括:服务器、被控节点设备和主控节点设备;被控节点设备用于根据自身的身份标识,验证自身内置证书的合法性;在验证证书合法后,获取与主控节点设备之间通信的私有通信协议,并向所述服务器发送登录请求;所述登录请求中携带有所述身份标识;服务器用于接收被控节点设备发送的登录请求,并根据登录请求中携带的身份标识验证被控节点设备的合法性;在验证被控节点设备合法后,引导该被控节点设备与主控节点设备之间基于私有通信协议进行P2P通信;主控节点设备用于采用私有通信协议与被控节点设备通信。该系统使得合法设备的身份不容易被仿冒,同时正版设备的版权也能够得到很好的保护。

Description

一种P2P通信方法以及系统
技术领域
本发明涉及物联网领域,涉及一种P2P通信方法以及系统。
背景技术
随着互联网的发展,点对点(Peer-to-peer,P2P)传输技术有了越来越多的应用,采用P2P技术可以创建不同节点之间的数据传输通道,数据可以直接在节点之间交互,而不需要通过服务器中转。这样可以节约大量的网络带宽,降低互联网企业的带宽成本和运营成本。
当P2P传输技术应用在物联网中的时候,为了保证用户能够使用客户端准确操控某个指定的物联网节点设备(例如网络摄像头、远程对讲机、温度传感器等能够被客户端远程操控的电子设备),通常会为每一个节点设备分配一个标识(Identity,ID),使用该ID作为该节点设备在物联网中的唯一身份标识;节点设备使用自己的ID登录服务器,客户端携带想要操控的节点设备的ID接入服务器,由服务器引导节点设备与之间进行P2P通信。
但是这种在服务器端仅仅对设备的ID进行验证就能够判断设备是否可以接入服务器的方法,导致了不论是合法设备还是不合法的设备,只要设置一个正确的ID,就能够接入到物联网系统,造成合法设备的身份容易被仿冒,即有不合法的设备冒充合法设备的身份接入到服务器;还会造成设备容易被仿造,即设备本身并非正版设备,正版设备的产权无法得到保证。
发明内容
有鉴于此,本发明实施例的目的在于提供一种P2P通信方法以及系统,能够解决上述问题。
第一方面,本发明实施例提供了一种点对点P2P通信系统,包括:服务器、被控节点设备和主控节点设备;其中:
所述被控节点设备,用于根据自身的身份标识,验证自身内置证书的合法性;在验证证书合法后,获取与主控节点设备之间通信的私有通信协议,并向所述服务器发送登录请求;所述登录请求中携带有所述身份标识;
所述服务器,用于接收被控节点设备发送的登录请求,并根据登录请求中携带的身份标识验证被控节点设备的合法性;在验证被控节点设备合法后,引导该被控节点设备与主控节点设备之间基于所述私有通信协议进行P2P通信;
所述主控节点设备,用于采用所述私有通信协议与所述被控节点设备通信。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中:所述身份标识包括:参数因子;
所述被控节点设备,具体用于:
使用预设的第一私有算法以及第一秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第一验证信息;将所述第一验证信息与所述证书进行比对;如果两者一致,则证书合法。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中:所述身份标识包括:参数因子以及后缀信息;
所述服务器,具体用于:
使用预设的第二私有算法以及第二秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第二验证信息;将所述第二验证信息与所述后缀信息进行比对;如果两者一致,则所述被控节点设备合法。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中:所述主控节点设备,具体用于:向所述服务器发送操控请求;所述操控请求中携带有被控节点设备的身份标识,用于所述服务器返回第一通信引导信息;根据第一通信引导信息与所述被控节点设备建立P2P链接,并在建立P2P链接之后,使用所述私有通信协议与所述被控节点设备进行P2P通信;
所述服务器,还用于接收所述主控节点设备所发送的操控请求;根据所述身份标识,向所述主控节点设备返回第一通信引导信息,并向所述被控节点设备返回第二通信引导信息;
所述被控节点设备,还用于接收所述服务器发送的第二通信引导信息,并根据所述第二通信引导信息与所述主控节点设备建立P2P链接,并在建立P2P链接之后,采用所述私有通信协议与所述主控节点设备进行P2P通信。
第二方面,本发明实施例提供一种P2P通信方法,包括:被控节点设备根据自身的身份标识,验证自身内置证书的合法性,在验证证书合法后,获取与主控节点设备之间通信的私有通信协议,并向服务器发送登录请求;所述登录请求中携带有所述身份标识;
服务器接收被控节点设备发送的登录请求,并根据登录请求中携带的身份标识验证被控节点设备的合法性;在验证被控节点设备合法后,引导该被控节点设备与主控节点设备之间基于所述私有通信协议进行P2P通信;
主控节点设备采用所述私有通信协议与所述被控节点设备通信。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中:所述身份标识包括:参数因子;
所述被控节点设备根据自身的身份标识,验证自身内置证书的合法性,具体包括:
所述被控节点设备使用预设的第一私有算法以及第一秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第一验证信息;将所述第一验证信息与所述证书进行比对;如果两者一致,则证书合法。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中:所述身份标识包括:参数因子以及后缀信息;
所述根据登录请求中携带的身份标识验证被控节点设备的合法性,具体包括:
所述服务器使用预设的第二私有算法以及第二秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第二验证信息;将所述第二验证信息与所述后缀信息进行比对;如果两者一致,则所述被控节点设备合法。
第三方面,本发明实施例还提供一种P2P通信方法,包括:
根据自身的身份标识,验证自身内置证书的合法性;
在证书合法后,向服务器发送登录请求;所述登录请求中携带有所述身份标识,以使所述服务器根据所述身份标识验证被控节点设备的合法性;
获取与主控节点设备之间通信的私有通信协议,并基于所述私有通信协议与所述主控节点设备进行P2P通信。
结合第三方面,本发明实施例提供了第三方面的第一种可能的实施方式,其中:所述根据自身的身份标识,验证自身内置证书的合法性,具体包括:
使用预设的第一私有算法以及第一秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第一验证信息;
将所述第一验证信息与所述证书进行比对;
如果两者一致,则证书合法。
结合第三方面,本发明实施例提供了第三方面的第二种可能的实施方式,其中:所述基于所述私有通信协议与所述主控节点设备进行P2P通信,具体包括:
接收服务器所发送的第二通信引导信息;
根据所述第二通信引导信息与所述主控节点设备建立P2P链接,并在建立P2P链接之后,使用所述私有通信协议与所述主控节点设备进行P2P通信。
第四方面,本发明实施例还提供一种P2P通信方法,包括:接收被控节点设备所发送的登录请求;所述登录请求中携带有被控节点设备的身份标识;
根据所述身份标识,验证被控节点设备的合法性;
在被控节点设备合法后,引导该被控节点设备与主控节点设备之间基于私有通信协议进行P2P通信。
结合第四方面,本发明实施例提供了第四方面的第一种可能的实施方式,其中:
所述根据所述身份标识,验证被控节点设备的合法性,具体包括:
使用预设的第二私有算法以及第二秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第二验证信息;
将所述第二验证信息与所述后缀信息进行比对;
如果两者一致,则所述被控节点设备合法。
第五方面,本发明实施例还提供一种P2P通信方法,包括:向服务器发送操控请求;所述操控请求中携带有被控节点设备的身份标识,用于所述服务器返回第一通信引导信息;
根据第一通信引导信息与所述被控节点设备建立P2P链接,并在建立P2P链接之后,使用所述私有通信协议与所述被控节点设备进行P2P通信。
本发明实施例所提供的P2P通信方法以及系统,包括了服务器、被控节点设备和主控节点设备,被控节点设备内置了身份标识和与之对应的证书,在被控节点设备进行验证的时候,会根据身份标识验证证书的合法性,在证书合法后,会获取与主控节点设备之间通信的私有通信协议,并向服务器发送登录请求。而服务器在接收到该登录请求之后,会根据其中所携带的身份标识,验证被控节点设备的合法性,只有验证合法后,才会引导该被控节点设备与主控节点设备之间基于所述私有通信协议进行P2P通信。在这个过程中,首先,主控节点设备和被控节点设备之间的私有通信协议是处于保密状态,很难被非法获知,而合法的被控节点设备和主控节点设备之间的P2P通信是基于该私有通信协议进行的。采取保密的私有协议进行通信,使得无论非法节点设备是仿造设备,还是通过获取合法身份标识的方式对合法设备进行假冒,即使其能够获知合法设备的身份标识,并且通过该身份标识在服务器端登录成功,由于其缺乏核心私有通信协议,并不具有与主控节点设备进行P2P通信的能力,从而,合法设备的身份不容易被仿冒,同时正版设备的版权也能够得到很好的保护。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的一种P2P通信系统的结构示意图;
图2示出了本发明实施例所提供的一种P2P通信方法的流程图;
图3示出了本发明实施例所提供的一种P2P通信方法中,被控节点设备根据自身的身份标识验证自身内置证书的合法性具体方法的流程图;
图4示出了本发明实施例所提供的一种P2P通信方法中,根据登录请求中携带的身份标识验证被控节点设备的合法性具体方法的流程图;
图5示出了本发明实施例所提供的一种P2P通信方法中,服务器引导该被控节点设备与主控节点设备之间基于所述私有通信协议进行P2P通信的具体方法的流程图;
图6示出了本发明实施例所提供的另一种P2P通信方法的流程图;
图7示出了本发明实施例所提供的一种P2P通信方法中,根据自身的身份标识验证自身内置证书的合法性具体方法的流程图;
图8示出了本发明实施例所提供的一种P2P通信方法中,基于所述私有通信协议与所述主控节点设备进行P2P通信的具体方法的流程图;
图9示出了本发明实施例所提供的另一种P2P通信方法的流程图;
图10示出了本发明实施例所提供的一种P2P通信方法中,根据身份标识验证被控节点设备的合法性的具体方法的流程图;
图11示出了本发明实施例所提供的另一种P2P通信方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在传统的物联网P2P系统中,为了保证用户能够使用终端client(主控节点设备,又可以看作客户端,如手机、平板电脑、PC等)能够准确操控某个指定的网联智能硬件设备peer(被控节点设备,如网络摄像头、远程对讲机、温度传感器等),通常会给每个peer分配一个ID,使用该ID作为该peer在物联网中的唯一身份标识;peer使用自己的ID登录服务器,client携带想要操控的peer的ID接入云端,由云端引导二者进行P2P通讯。
但是由于peer大多数都是无人直接操控的设备,所以无需密码进行接入即可,只需将对应的ID烧录入即可,这就导致了如下几个问题:
1、peer的ID通常是按照指定的规律按照顺序生成,虽然不会重复,但是很容易被非法杜撰;并且服务器为了完成对peer的验证,就需要对peer的ID进行保存,不仅增加了额外的存储成本,还会有数据泄露、丢失的风险。
2、不论是合法设备还是不合法的设备,只要设置一个正确的ID,就能够接入到物联网系统,造成合法设备的身份容易被仿冒,即有不合法的设备冒充合法设备的身份接入到服务器。
3、设备容易被仿造,即设备本身并非正版设备,正版设备的产权无法得到保证。
基于此,本发明实施例提供的一种P2P通信方法以及系统,能够解决上述问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种P2P通信系统进行详细介绍。该P2P通信系统,实际上是用于对节点设备合法性的验证。只有验证通过,才能够正常的接入物联网中。
参见图1所示,本发明实施例所提供的P2P通信系统具体包括:服务器、被控节点设备和主控节点设备;其中:
所述被控节点设备,用于根据自身的身份标识,验证自身内置证书的合法性;在验证证书合法后,获取与主控节点设备之间通信的私有通信协议,并向所述服务器发送登录请求;所述登录请求中携带有所述身份标识;
所述服务器,用于接收被控节点设备发送的登录请求,并根据登录请求中携带的身份标识验证被控节点设备的合法性;在验证被控节点设备合法后,引导该被控节点设备与主控节点设备之间基于所述私有通信协议进行P2P通信;
所述主控节点设备,用于采用所述私有通信协议与所述被控节点设备通信。
在具体实现的时候,被控验证设备实际上是被其它客户端进行操控的网络设备,例如网络摄像头、远程对讲机、温度传感器。被控节点设备会预先被烧录唯一的身份标识和与该身份标识对应的证书。且该身份标识和证书是相互对应的。
本发明实施例所提供的P2P通信系统,包括了服务器、被控节点设备和主控节点设备,被控节点设备内置了身份标识和与之对应的证书,在被控节点设备进行验证的时候,会根据身份标识验证证书的合法性,在证书合法后,会获取与主控节点设备之间通信的私有通信协议,并向服务器发送登录请求。而服务器在接收到该登录请求之后,会根据其中所携带的身份标识,验证被控节点设备的合法性,只有验证合法后,才会引导该被控节点设备与主控节点设备之间基于所述私有通信协议进行P2P通信。在这个过程中,首先,主控节点设备和被控节点设备之间的私有通信协议是处于保密状态,很难被非法获知,而合法的被控节点设备和主控节点设备之间的P2P通信是基于该私有通信协议进行的。采取保密的私有协议进行通信,使得无论非法节点设备是仿造设备,还是通过获取合法身份标识的方式对合法设备进行假冒,即使其能够获知合法设备的身份标识,并且通过该身份标识在服务器端登录成功,由于其缺乏核心私有通信协议,并不具有与主控节点设备进行P2P通信的能力,从而,合法设备的身份不容易被仿冒,同时正版设备的版权也能够得到很好的保护。
其中,在本发明实施例中,身份标识的构成可以分成两种情况:
1、身份标识至少由两部分构成,参数因子sign和后缀信息。参数因子可以是根据预设的规则生成的随机数,也可以是对被控节点设备的顺序编码等,具体可以根据实际情况进行生成规则的确定,后缀信息和证书均是使用该参数因子,通过私有算法计算生成。修改参数因子中任何一个字符,则生成的后缀信息和证书均有所改变。
其中,需要注意的是,生成后缀信息和证书的私有算法可以是相同的,也可以是不同的。如果两者采用相同的私有算法,那么在生成两者的计算中,会引入不同的参数(例如秘钥);如果两者采用不同的私有算法,那么在生成两者的计算中,可以引入不同的参数,也可以引入相同的参数。
2、身份标识仅由后缀信息构成。参数因子也作为其中一个必要数据被传入到被控节点设备中,并且被被控节点设备保存;后缀信息和证书均是使用该参数因子,通过私有算法计算生成。与上述类似的,生成后缀信息和证书的私有算法可以相同,也可以不同。
被控节点设备在接入物联网的时候,首先需要在本地进行证书的合法性验证。
具体地,被控节点设备在进行证书的合法性验证的时候,具体用于:
使用预设的第一私有算法以及第一秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第一验证信息;将所述第一验证信息与所述证书进行比对;如果两者一致,则证书合法。
在具体实现的时候,预设的第一私有算法实际上可以根据具体的情况进行设定(例如,采用MD5、哈希算法、DES、RAS等,或者还可以采用其他的私有算法),其与生成证书时所采用的算法是一致的,在运算过程中所采用的第一秘钥,和生成证书时所采用的秘钥也是一致的。该第一私有算法和对应的第一秘钥被内置在被控节点设备中,能够在本地对参数因子进行验证运算,得到第一验证信息。其所生成的第一验证信息应当是与证书一致的,因此要将第一验证信息和证书进行比对,如果两者一致,则认为证书是合法的,如果两者不一致,那么就认为证书不合法。
在验证证书合法之后,被控节点设备会生成登录请求,并将登录请求发送到服务器。其中,在登录请求中携带有该被控节点设备的身份标识。如果身份标识仅仅包括后缀信息,那么在登录请求中还应当携带有参数因子(实际上,参数因子不论是否属于身份标识的一部分,都应当和后缀部分一起被发送给服务器)。另外,在登录请求中还携带有其他的信息,例如被控节点设备的外网IP地址、外网端口号、内网IP地址、内网端口号、被控节点设备的NAT(Network Address Translation,网络地址转换)类型等信息。
另外,被控节点设备在对证书的验证合法之后,还会获取与主控节点设备通信的私有通信协议。该私有通信协议实际上是封装在被控节点设备中的,只有在被控节点设备验证证书合法之后才会被启动。
服务器在接收到被控节点设备所发送的登录请求之后,会根据登录请求中所携带的身份,对被控节点设备的合法性进行验证。
具体地,服务器在对被控节点设备的合法性进行验证的时候,具体用于:使用预设的第二私有算法以及第二秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第二验证信息;将所述第二验证信息与所述后缀信息进行比对;如果两者一致,则所述被控节点设备合法。
在具体实现的时候,如果参数因子属于身份标识的一部分,那么服务器会单独将参数因此从身份标识中提取出来,使用第二私有算法以及第二秘钥,对参数因子进行运算。第二私有算法实际上与生成后缀信息的算法是一致的,在运算过程中所采用的第二秘钥,和生成后缀信息时所采用的秘钥也是一致的。该第二私有算法和对应的第二秘钥被内置在服务器中,能够在服务器端对参数因子进行验证运算,得到第二验证信息。其所生成的第二验证信息应当与后缀信息是一致的,因此要将第二验证信息和后缀信息进行比对,如果两者一致,则认为设备验证通过。
只有当被控节点设备被验证是合法之后,服务器才会引导该被控节点设备与主控节点设备之间基于所述私有通信协议进行P2P通信,最终在服务器的引导下,实现被控节点设备和主控节点设备采用私有通信协议进行P2P通信。
在该实施例中,由于服务器仅仅保存了第二私有算法,不需要保存各个被控节点设备的身份标识,因此,节省了存储空间,减少存储成本。
具体地,服务器在引导主控节点设备和被控节点设备进行P2P通信的时候,具体用于:向所述服务器发送操控请求;所述操控请求中携带有被控节点设备的身份标识,用于所述服务器返回第一通信引导信息;根据第一通信引导信息与所述被控节点设备建立P2P链接,并在建立P2P链接之后,使用所述私有通信协议与所述被控节点设备进行P2P通信;
所述服务器,还用于接收所述主控节点设备所发送的操控请求;根据所述身份标识,向所述主控节点设备返回第一通信引导信息,并向所述被控节点设备返回第二通信引导信息;
所述被控节点设备,还用于接收所述服务器发送的第二通信引导信息,并根据所述第二通信引导信息与所述主控节点设备建立P2P链接,并在建立P2P链接之后,采用所述私有通信协议与所述主控节点设备进行P2P通信。
在具体实现的时候,被控节点设备在服务器上登录的时候,登录信息中还会包含有许多其他的信息,例如IP地址、端口号等信息,将这些信息统称为登录信息。如果被控节点设备在服务器登录成功,服务器会将这些登录信息与被控节点设备的身份标识关联保存起来。通信的发起方一般是主控节点设备。主控节点设备会生成并向服务器发送操控请求,在操控请求中携带了其想要操控的被控节点设备的身份标识。服务器在接收到该操控信息之后,会根据其中所携带的身份标识,与身份标识对应的登录信息以及操控请求中所携带的其它信息,分别生成第一通信引导信息和第二通信引导信息。
其中,服务器将第一通信引导信息发送给主控节点设备,而将第二通信引导信息发送给被控节点设备。主控节点设备在接收到第一通信引导信息之后,会尝试与被控节点设备建立P2P链接,而被控节点设备在接收到第二通信引导信息之后,也会尝试与主控节点设备建立P2P链接。如果两者之间的链接建立成功,便能够基于所建立的P2P链接,使用两者之间的私有通信协议进行P2P通信。
具体地,第一通信引导信息和第二通信引导信息通常包含有对端的连接信息、地址信息等。例如,
在第一通信引导信息中包括了如下信息中至少一项:被控节点设备的外网IP地址、外网端口号、内网IP地址、内网端口号、被控节点设备的NAT(Network AddressTranslation,网络地址转换)类型等信息。
其中,外网IP地址、外网端口号、内网IP地址、内网端口号用于主控节点设备定位被控节点设备的位置(网络位置),而被控节点设备的NAT类型,则是用于主控节点设备判断是否能够穿透被控节点设备,并采用哪种方式建立与被控节点设备之间的连接。
例如:被控节点设备的NAT类型包括:1、公网(Public Network);2、完全锥型(Fullcone NAT);3、IP受限制锥形(Address-Restricted cone NAT);4、端口限制锥形(Port-Restricted cone NAT);5、对称型(Symmetric NAT);6、阻止UDP型防火墙(无法使用UDP穿透和中转)以及;7、对称型UDP防火墙(无法使用UDP穿透,可以中转)。针对第1和第2类被认为是优质节点,它们很容易和对端创建点对点的直接连接数据通道,因此很容易建立P2P通信;第3和第4类被认为是普通节点,而第5、6、7类则被认为是差种子,差节点比较难以和对端建立直接数据通道,因此如果想要进行数据的传输,只能够通过服务器的中转。
另外,在主控节点设备所发送给服务器的操控请求中,或者主控节点设备在服务器进行预先登录的时候,会将自身的外网IP地址、外网端口号、内网IP地址、内网端口号、被控节点设备的NAT(Network Address Translation,网络地址转换)类型等信息发送给服务器。服务器能够根据这些信息生成与主控节点设备对应的第二通信引导信息,并将第二通信引导信息发送给被控节点设备。其中,第二通信引导信息包括如下信息中至少一项:主控节点设备的外网IP地址、外网端口号、内网IP地址、内网端口号、被控节点设备的NAT(Network Address Translation,网络地址转换)类型等信息。
然后,主控节点设备和被控节点设备会根据自身所收到的第一通信引导信息或者第二通信引导信息,建立两者之间的P2P链接。
另外,如果在第一通信引导信息和第二通信引导信息还包括了NAT类型的时候,还需要根据该NAT类型判断对端是否是可以穿透的,即判断是在两者之间是否能建立P2P链接,如果不能,那么就需要采取另外一种链接方法,例如采用服务器中转的方式建立两者之间的连接。
例如,如果主控节点设备在接收到第一通信引导信息之后,发现被控节点设备的NAT类型为第1和第2类,那么在通信过程中所生成的数据包是直接发送给被控节点设备的,数据包的目的IP地址为被控节点设备的IP地址(外网IP地址和/或内网IP地址),目的端口号为被控节点设备的端口号(外网端口号和/或内网端口号),数据包会直接发送给被控节点设备。
如果内控节点设备的NAT类型为第6类和第7类,那么在通信过程中所生成的数据包先发送给服务器。数据包的目的IP地址为服务器的IP地址,目的端口号为服务器的端口号;而在数据包中还携带有被控节点设备的外网IP地址、外网端口号、内网IP地址、内网端口号、ID中至少一种,使得服务器能够将数据包转发给对应的被控节点设备。
反之,被控节点设备在接收到第二通信引导信息后,也会做类似的处理,在此不再赘述。
本发明又一实施例还提供一种P2P通信方法,参见图2所示,该方法包括:
步骤S02:被控节点设备根据自身的身份标识,验证自身内置证书的合法性,在验证证书合法后,获取与主控节点设备之间通信的私有通信协议;
步骤S04:被控节点设备向服务器发送登录请求;所述登录请求中携带有所述身份标识;
步骤S06:服务器接收被控节点设备发送的登录请求,并根据登录请求中携带的身份标识验证被控节点设备的合法性;
步骤S08:服务器在验证被控节点设备合法后,引导该被控节点设备与主控节点设备之间基于所述私有通信协议进行P2P通信;
步骤S10:主控节点设备采用所述私有通信协议与所述被控节点设备通信。
本发明实施例所提供的P2P通信方法,被控节点设备进行验证的时候,会根据身份标识验证证书的合法性,在证书合法后,会获取与主控节点设备之间通信的私有通信协议,并向服务器发送登录请求。而服务器在接收到该登录请求之后,会根据其中所携带的身份标识,验证被控节点设备的合法性,只有验证合法后,才会引导该被控节点设备与主控节点设备之间基于所述私有通信协议进行P2P通信。在这个过程中,首先,主控节点设备和被控节点设备之间的私有通信协议是处于保密状态,很难被非法获知,而合法的被控节点设备和主控节点设备之间的P2P通信是基于该私有通信协议进行的。采取保密的私有协议进行通信,使得无论非法节点设备是仿造设备,还是通过获取合法身份标识的方式对合法设备进行假冒,即使其能够获知合法设备的身份标识,并且通过该身份标识在服务器端登录成功,由于其缺乏核心私有通信协议,并不具有与主控节点设备进行P2P通信的能力,从而,合法设备的身份不容易被仿冒,同时正版设备的版权也能够得到很好的保护。
本发明又一实施例还提供另一种P2P通信方法,参见图3所示,该方法在上述实施例的基础上,所述身份标识包括:参数因子;该方法包括:
所述被控节点设备根据自身的身份标识,验证自身内置证书的合法性,具体包括:
步骤S12:所述被控节点设备使用预设的第一私有算法以及第一秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第一验证信息;
步骤S14:将所述第一验证信息与所述证书进行比对;如果两者一致,则证书合法。
本发明又一实施例还提供另一种P2P通信方法,参见图4所示,该方法在上述实施例的基础上,所述身份标识包括:参数因子以及后缀信息;该方法包括:
所述根据登录请求中携带的身份标识验证被控节点设备的合法性,具体包括:
步骤S22:所述服务器使用预设的第二私有算法以及第二秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第二验证信息;
步骤S24:将所述第二验证信息与所述后缀信息进行比对;如果两者一致,则所述被控节点设备合法。
本发明又一实施例还提供另一种P2P通信方法,参见图5所示,该方法在上述实施例的基础上,所述服务器引导该被控节点设备与主控节点设备之间基于所述私有通信协议进行P2P通信,具体包括:
步骤S32:主控节点设备向所述服务器发送操控请求;所述操控请求中携带有被控节点设备的身份标识;
步骤S34:所述服务器根据所述身份标识,向所述主控节点设备返回第一通信引导信息,
步骤S36:所述服务器根据所述身份标识,向所述被控节点设备返回第二通信引导信息;
步骤S38:被控节点设备接收所述服务器发送的第二通信引导信息;
并根据所述第二通信引导信息与所述主控节点设备建立P2P链接;
步骤S40:所述主控节点设备接收所述服务器返回第一通信引导信息;根据第一通信引导信息与所述被控节点设备建立P2P链接;
步骤S42:被控节点设备在建立P2P链接之后,采用所述私有通信协议与所述主控节点设备进行P2P通信。
步骤S44:所述主控节点设备在建立P2P链接之后,使用所述私有通信协议与所述被控节点设备进行P2P通信。
本实施例中,S02-S10、S12-S14、S22-S24、S32-S44的具体功能和交互方式,可参见图1对应的实施例的记载,在此不再赘述。
本发明又一实施例还提供一种P2P通信方法,参见图6所示,该方法包括:
步骤S52:根据自身的身份标识,验证自身内置证书的合法性;
步骤S54::在证书合法后,向服务器发送登录请求;所述登录请求中携带有所述身份标识,以使所述服务器根据所述身份标识验证被控节点设备的合法性;
步骤S56:获取与主控节点设备之间通信的私有通信协议,并基于所述私有通信协议与所述主控节点设备进行P2P通信。
另外,参见图7所示,在本发明实施例所提供的P2P通信方法中,所述根据自身的身份标识,验证自身内置证书的合法性,具体包括:
步骤S62:使用预设的第一私有算法以及第一秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第一验证信息;
步骤S64:将所述第一验证信息与所述证书进行比对;
步骤S66:如果两者一致,则证书合法。
另外,参见图8所示,在本发明实施例所提供的P2P通信方法中,所述基于所述私有通信协议与所述主控节点设备进行P2P通信,具体包括:
步骤S72:接收服务器所发送的第二通信引导信息;
步骤S74:根据所述第二通信引导信息与所述主控节点设备建立P2P链接,并在建立P2P链接之后,使用所述私有通信协议与所述主控节点设备进行P2P通信。
本实施例中,S52-S56、S62-S66、S72-S74的具体功能和交互方式,可参见图1对应的实施例的记载,在此不再赘述。
参见图9所示,本发明实施例还提供另外一种P2P通信方法,包括:
步骤S82:接收被控节点设备所发送的登录请求;所述登录请求中携带有被控节点设备的身份标识;
步骤S84:根据所述身份标识,验证被控节点设备的合法性;
步骤S86:在被控节点设备合法后,引导该被控节点设备与主控节点设备之间基于私有通信协议进行P2P通信。
参见图10所示,本发明实施例还提供另外一种P2P通信方法中,所述根据所述身份标识,验证被控节点设备的合法性,具体包括:
步骤S92:使用预设的第二私有算法以及第二秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第二验证信息;
步骤S94:将所述第二验证信息与所述后缀信息进行比对;
步骤S96:如果两者一致,则所述被控节点设备合法。
本实施例中,S82-S86、S92-S96的具体功能和交互方式,可参见图1对应的实施例的记载,在此不再赘述。
参见图11所示,本发明实施例还提供另外一种P2P通信方法,包括:
步骤S100:向服务器发送操控请求;所述操控请求中携带有被控节点设备的身份标识,用于所述服务器返回第一通信引导信息;
步骤S120:根据第一通信引导信息与所述被控节点设备建立P2P链接,并在建立P2P链接之后,使用所述私有通信协议与所述被控节点设备进行P2P通信。
本实施例中,S100-S120的具体功能和交互方式,可参见图1对应的实施例的记载,在此不再赘述。
本发明实施例所提供的P2P通信方法以及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种点对点P2P通信系统,其特征在于,包括:服务器、被控节点设备和主控节点设备;其中:
所述被控节点设备,用于根据自身的身份标识,验证自身内置证书的合法性;在验证证书合法后,获取与主控节点设备之间通信的私有通信协议,并向所述服务器发送登录请求;所述登录请求中携带有所述身份标识;
所述服务器,用于接收被控节点设备发送的登录请求,并根据登录请求中携带的身份标识验证被控节点设备的合法性;在验证被控节点设备合法后,引导该被控节点设备与主控节点设备之间基于所述私有通信协议进行P2P通信;
所述主控节点设备,用于采用所述私有通信协议与所述被控节点设备通信。
2.根据权利要求1所述的P2P通信系统,其特征在于,所述身份标识包括:参数因子;
所述被控节点设备,具体用于:
使用预设的第一私有算法以及第一秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第一验证信息;将所述第一验证信息与所述证书进行比对;如果两者一致,则证书合法。
3.根据权利要求2所述的P2P通信系统,其特征在于,所述身份标识包括:参数因子以及后缀信息;
所述服务器,具体用于:
使用预设的第二私有算法以及第二秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第二验证信息;将所述第二验证信息与所述后缀信息进行比对;如果两者一致,则所述被控节点设备合法。
4.根据权利要求1-3任意一项所述的P2P通信系统,其特征在于,所述主控节点设备,具体用于:向所述服务器发送操控请求;所述操控请求中携带有被控节点设备的身份标识,用于所述服务器返回第一通信引导信息;根据第一通信引导信息与所述被控节点设备建立P2P链接,并在建立P2P链接之后,使用所述私有通信协议与所述被控节点设备进行P2P通信;
所述服务器,还用于接收所述主控节点设备所发送的操控请求;根据所述身份标识,向所述主控节点设备返回第一通信引导信息,并向所述被控节点设备返回第二通信引导信息;
所述被控节点设备,还用于接收所述服务器发送的第二通信引导信息,并根据所述第二通信引导信息与所述主控节点设备建立P2P链接,并在建立P2P链接之后,采用所述私有通信协议与所述主控节点设备进行P2P通信。
5.一种P2P通信方法,其特征在于,包括:
被控节点设备根据自身的身份标识,验证自身内置证书的合法性,在验证证书合法后,获取与主控节点设备之间通信的私有通信协议,并向服务器发送登录请求;所述登录请求中携带有所述身份标识;
服务器接收被控节点设备发送的登录请求,并根据登录请求中携带的身份标识验证被控节点设备的合法性;在验证被控节点设备合法后,引导该被控节点设备与主控节点设备之间基于所述私有通信协议进行P2P通信;
主控节点设备采用所述私有通信协议与所述被控节点设备通信。
6.根据权利要求5所述的方法,其特征在于,所述身份标识包括:参数因子;
所述被控节点设备根据自身的身份标识,验证自身内置证书的合法性,具体包括:
所述被控节点设备使用预设的第一私有算法以及第一秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第一验证信息;将所述第一验证信息与所述证书进行比对;如果两者一致,则证书合法。
7.根据权利要求5或6所述的方法,其特征在于,所述身份标识包括:参数因子以及后缀信息;
所述根据登录请求中携带的身份标识验证被控节点设备的合法性,具体包括:
所述服务器使用预设的第二私有算法以及第二秘钥,对所述参数因子进行运算,获取与所述身份标识对应的第二验证信息;将所述第二验证信息与所述后缀信息进行比对;如果两者一致,则所述被控节点设备合法。
8.一种P2P通信方法,其特征在于,包括:
根据自身的身份标识,验证自身内置证书的合法性;
在证书合法后,向服务器发送登录请求;所述登录请求中携带有所述身份标识,以使所述服务器根据所述身份标识验证被控节点设备的合法性;
获取与主控节点设备之间通信的私有通信协议,并基于所述私有通信协议与所述主控节点设备进行P2P通信。
9.一种P2P通信方法,其特征在于,包括:
接收被控节点设备所发送的登录请求;所述登录请求中携带有被控节点设备的身份标识;其中,所述登录请求是在所述被控节点设备根据自身的身份标识,验证自身内置证书的合法性,在验证证书合法后,获取与主控节点设备之间通信的私有通信协议,并向服务器发送的;
根据所述身份标识,验证被控节点设备的合法性;
在被控节点设备合法后,引导该被控节点设备与主控节点设备之间基于私有通信协议进行P2P通信。
10.一种P2P通信方法,其特征在于,包括:
向服务器发送操控请求;所述操控请求中携带有被控节点设备的身份标识,用于所述服务器返回第一通信引导信息;其中,所述其中,所述登录请求是在根据自身的身份标识,验证自身内置证书的合法性,在验证证书合法后,获取与主控节点设备之间通信的私有通信协议,并向服务器发送的;
根据第一通信引导信息与所述被控节点设备建立P2P链接,并在建立P2P链接之后,使用私有通信协议与所述被控节点设备进行P2P通信。
CN201710559769.0A 2017-07-11 2017-07-11 一种p2p通信方法以及系统 Expired - Fee Related CN107222504B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710559769.0A CN107222504B (zh) 2017-07-11 2017-07-11 一种p2p通信方法以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710559769.0A CN107222504B (zh) 2017-07-11 2017-07-11 一种p2p通信方法以及系统

Publications (2)

Publication Number Publication Date
CN107222504A CN107222504A (zh) 2017-09-29
CN107222504B true CN107222504B (zh) 2020-06-12

Family

ID=59952611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710559769.0A Expired - Fee Related CN107222504B (zh) 2017-07-11 2017-07-11 一种p2p通信方法以及系统

Country Status (1)

Country Link
CN (1) CN107222504B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110621017B (zh) * 2018-06-19 2022-06-10 佛山市顺德区美的电热电器制造有限公司 一种网络配置方法、设备及存储介质
CN112311715A (zh) * 2019-07-24 2021-02-02 深圳市尚云互联技术有限公司 动态金钥连接方法及系统
CN111314477A (zh) * 2020-02-24 2020-06-19 中移(杭州)信息技术有限公司 P2p通信方法、系统、家庭网关、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102315945A (zh) * 2011-10-20 2012-01-11 江苏三源教育实业有限公司 基于私有协议的统一身份认证方法
CN102404220A (zh) * 2011-11-25 2012-04-04 湖南军通信息科技有限公司 一种基于私有协议的安全路由器的设备及实现方法
WO2012079449A1 (zh) * 2010-12-15 2012-06-21 中兴通讯股份有限公司 双向语音对讲的实现方法及系统
CN106331164A (zh) * 2016-09-30 2017-01-11 广东美的制冷设备有限公司 快速建立物联网的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012079449A1 (zh) * 2010-12-15 2012-06-21 中兴通讯股份有限公司 双向语音对讲的实现方法及系统
CN102315945A (zh) * 2011-10-20 2012-01-11 江苏三源教育实业有限公司 基于私有协议的统一身份认证方法
CN102404220A (zh) * 2011-11-25 2012-04-04 湖南军通信息科技有限公司 一种基于私有协议的安全路由器的设备及实现方法
CN106331164A (zh) * 2016-09-30 2017-01-11 广东美的制冷设备有限公司 快速建立物联网的方法和装置

Also Published As

Publication number Publication date
CN107222504A (zh) 2017-09-29

Similar Documents

Publication Publication Date Title
US11128477B2 (en) Electronic certification system
US8458776B2 (en) Low-latency peer session establishment
US20210176075A1 (en) Cryptographic communication system and cryptographic communication method based on blockchain
US10824744B2 (en) Secure client-server communication
US9531540B2 (en) Secure token-based signature schemes using look-up tables
CN106034104A (zh) 用于网络应用访问的验证方法、装置和系统
US20080046740A1 (en) Authentication of a peer in a peer-to-peer network
US10158608B2 (en) Key establishment for constrained resource devices
US20140129828A1 (en) User authentication method using self-signed certificate of web server, client device and electronic device including web server performing the same
CN107222504B (zh) 一种p2p通信方法以及系统
CN109831311B (zh) 一种服务器验证方法、系统、用户终端及可读存储介质
US20080137663A1 (en) Identifier verification method in peer-to-peer networks
CN111461720B (zh) 基于区块链的身份验证方法、装置、存储介质及电子设备
CN113055176B (zh) 终端认证方法和系统、终端设备、p2p验证平台和介质
CN105262773A (zh) 一种物联网系统的验证方法及装置
CN111654481B (zh) 一种身份认证方法、装置和存储介质
KR101952329B1 (ko) 블록체인 기반 암호화폐의 트랜잭션에 이용되는 주소 정보 생성 방법, 전자 장치 및 컴퓨터 판독 가능한 기록 매체
CN114785615A (zh) 一种云计算环境下用于物联网系统的轻量级认证方法
US20200396088A1 (en) System and method for securely activating a mobile device storing an encryption key
CN110933675A (zh) 一种无线传感器网络认证方法、系统与电子设备
CN115102740A (zh) 通信方法、装置、设备、存储介质及程序产品
Hussain et al. An improved authentication scheme for digital rights management system
CN111404884B (zh) 安全通信方法、客户机及非公开服务器
CN116170144B (zh) 智能电网匿名认证方法、电子设备及存储介质
KR20170100403A (ko) 사물인터넷에서 자가인증 식별자를 이용한 인증 장치 및 방법

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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200612