CN111614596A - 一种基于IPv6隧道技术的远程设备控制方法及系统 - Google Patents

一种基于IPv6隧道技术的远程设备控制方法及系统 Download PDF

Info

Publication number
CN111614596A
CN111614596A CN201910132902.3A CN201910132902A CN111614596A CN 111614596 A CN111614596 A CN 111614596A CN 201910132902 A CN201910132902 A CN 201910132902A CN 111614596 A CN111614596 A CN 111614596A
Authority
CN
China
Prior art keywords
data
connection
main control
controlled
network
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.)
Granted
Application number
CN201910132902.3A
Other languages
English (en)
Other versions
CN111614596B (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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN201910132902.3A priority Critical patent/CN111614596B/zh
Publication of CN111614596A publication Critical patent/CN111614596A/zh
Application granted granted Critical
Publication of CN111614596B publication Critical patent/CN111614596B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/251Translation of Internet protocol [IP] addresses between different IP versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公布了一种基于IPv6隧道技术的远程设备控制方法及系统,被控端为多个远程设备;主控端处理网络连接、收发数据、数据解密解压缩及功能运行,被控端处理网络连接、收发数据、数据加密压缩及功能运行。建立C/S正向连接型网络模型和反弹连接型网络模型并行的全双工模型;通过采用IPv6 6to4自动隧道技术及TCP协议,并基于底层的Socket及TCP/IP协议栈进行网络通信;对网络中的关键数据进行加密传输;当网络传输数据量大时进行数据压缩。采用本发明技术方案,对远程设备实现在IPv4与IPv6网络共存以及处在内网环境下的有效远程控制,能够有效地提高远程控制的传输效率;且在不降低执行效率的情况下实现端到端的网络信道安全防护。

Description

一种基于IPv6隧道技术的远程设备控制方法及系统
技术领域
本发明涉及网络远程控制技术,尤其涉及一种基于IPv6(Internet ProtocolVersion 6)隧道技术(Tunneling)及TLSv2(Transport Layer Security Version 2)的远程设备控制方法及系统。
背景技术
目前在IPv4的环境下IP网络地址资源非常有限,已经严重制约了互联网的应用和发展,由于IPv4地址的枯竭以及路由表对IPv4地址处理缓慢等问题,导致IPv4的网络承载量越来越大,在用网高峰时传输速率明显下降,所以IPv4过渡到IPv6势在必行。而IPv6与IPv4之间的不兼容性,也需要对原有的IPv4设备进行替换。然而IPv4设备大量替换所需成本会非常巨大,且现网运行的业务也会中断,显然并不可行。
现阶段网络拓扑环境复杂,IPv4与IPv6的网络架构共存,并且普遍使用动态IP及NAT(Network Address Translation,网络地址转换)等技术实现公网IP复用,都对远程控制管理带来诸多了挑战。对于传统的正向连接Client/Server模型,服务端监听端口,等待客户端的连接请求,客户端主动连接服务端,建立连接再进行控制操作。而传统的正向连接模式无法穿透NAT节点,根本无法找到服务端,更谈不上远程控制。这也正是当前众多远程控制软件不能满足需求的原因所在。反弹连接是近年才出现的网络连接模式,属于反传统Client/Server模型。它相对于正向连接而存在,由客户端监听端口,服务端主动连接客户端实现网络通信,进而实现远程控制管理,该方法主要用于穿透防火墙。但是在目前的远程控制软件中不普遍使用,而且也无法满足在实际网络拓扑环境下的连接需求。
发明内容
为了克服上述现有技术的不足,本发明提供一种基于IPv6隧道技术及TLSv2远程设备控制方法及系统,在复杂多变的网络环境中将主控端(服务器)与多个远程设备(被控端)有效建立连接,并对网络中的关键数据进行加密传输,还可采用数据压缩算法进行数据压缩,从而有效地提高远程控制的传输效率,对远程设备实现有效控制;能够实现在IPv4与IPv6网络共存以及处在内网环境下的远程控制,且在不降低执行效率的情况下实现端到端的网络信道安全防护。
本发明的原理是:对现IPv6的过渡阶段,通过6to4(6to4是一种IPv6转换传输机制)自动隧道技术,使得IPv6报文在途径IPv4网络节点时保持传输。6to4自动隧道利用IPv6单播地址中的6to4地址。6to4地址是一类特殊的IPv6全局单播地址,它通过公网IPv4地址映射而来。本发明中,系统包括主控端及相应程序和被控端及相应程序。系统工作时,主控端的程序向被控端的程序发出请求控制信号,利用现有的IPv4网络主干道,以及网络中零散的支持IPv6过度协议的孤岛结点,建立起一条IPv6的网络隧道,通过这条隧道,在网络报文传输或转发的过程中,如果转发的路由节点支持IPv6就自动转化为IPv6,如果不支持就自动退化为IPv6,通过使用各种远程控制功能发送远程控制命令,控制被控端各种应用程序运行,操纵被控端完成指定工作,从而达到远程控制的目的。
本发明通过对正向连接、反弹连接与端口映射进行分析,设计出了符合实际需求的网络远程控制的模型,建立C/S网络模型(正向连接型)和反弹连接型(反向连接型)网络模型并行的全双工模型。该模型既能够实现在IPv4与IPv6网络共存以及处在内网环境下的远程控制,又可在不降低执行效率的情况下尽可能实现端到端的网络信道安全防护。因此,主控端与被控端都分别采用两种模式:监听等待连接和主动连接。被控端采用这两种模式属于互斥式,即当采用其一模式时,另一种模式失效;主控端的两种模式并发执行,监听的端口可以直接与被控端建立连接,也可以接收从主控端主动连接模式中的端口发送过来的数据。
本发明提供的技术方案是:
一种基于IPv6隧道技术的远程设备控制方法,主控端为服务器,被控端为多个远程设备;建立C/S网络模型(正向连接型)和反弹连接型(反向连接型)网络模型并行的全双工模型;主控端和被控端通过采用IPv6 6to4自动隧道技术以及TCP协议,并基于底层的Socket及TCP/IP协议栈进行网络通信;其中对网络中的关键数据进行加密传输,在涉及到大量的网络数据传输时,可进行数据压缩(可采用GZIP数据压缩算法)。其中主控端负责处理网络连接、收发数据、数据解密解压缩以及功能运行,被控端负责处理网络连接、收发数据、数据加密压缩、以及功能运行;具体包括如下步骤:
A.在系统中配置好主控端和被控端设备并获得系统级别权限后,双方开始建立连接,执行如下操作:
A1.主控端开启IPv6协议,检查本机IPv6地址,确认为开启6to4自动隧道协议的IPv6地址,同时监听端口,等待被控端设备建立连接,与此同时,若有建立连接过的已上线的被控端设备,主控端也可以向该被控端主动发送连接请求,建立连接;
A2.若被控端首次进行连接,则需要被控端主动向主控端发送连接请求,此时由于是被控端发起连接,该连接可穿透内网NAT服务器发送至公网的主控端,双方成功建立连接后,内网NAT服务器会保留此次回话Session,建立起关于此次连接的相关表项,使双方之间能够正常通信,从而建立连接;
A3.若被控端非首次进行连接,既可监听端口等待主控端发来的连接请求,也可以再次主动向主控端发送连接请求,
A4.需要注意的是,被控端上线后,若被控端未处在连接状态,需要每隔一分钟向主控端发送echo心跳包,目的是为了在内网NAT服务器上建立此次连接的相关表项,以便主控端可以随时向该被控端主动发送连接请求,建立连接;
B.一旦主控端和被控端建立连接之后,双方开始利用TLSv2来确定加密协议,协商加密密钥并进行认证工作,执行如下操作:
B1.通信双方进行握手协议在初次建立SSL(Secure Sockets Layer,安全套接层)连接时,主控端服务器与被控端客户机交换一系列消息。这些消息交换能够实现如下操作,客户机认证服务器,协商客户机与服务器选择双方都支持的密码算法,使用公钥加密技术生成共享密钥,利用密钥交换技术交换密钥,双方协商过后建立加密SSL连接。
B2.利用RSA公钥加密技术传输随机生成的加密和解密秘钥,其中RSA的公钥和私钥已经分别硬编码在双方的设备中,之后双方对该秘钥进行SHA-1哈希混淆,取哈希结果的前16字节作为RC6分组加密技术的生成秘钥,随后利用RC6进行加密数据的传输;
B3.被控端发送加密形式的客户端系统信息,同时主控端验证加密协议是否正确;
B4.随后进行被控端程序的许可(license)验证,防止恶意用户篡改程序以及中间人攻击窃听信道;
C.各类控制功能依次建立连接,开始传输各类数据,所有数据都经过上一步双方协商好的秘钥进行加密处理,执行如下操作:
C1.在图像数据的处理中,被控端将当前的屏幕截图转换为固定格式的数据后压缩发送到服务器,服务器将处理的结果以图片形式进行显示;
C2.在输入设备控制数据的处理中,主控端将键盘按键和鼠标移动位置转换为固定格式的数据后压缩发送到被控端,被控端将处理的结果转化为键盘按键命令或鼠标移动命令;
C3.在音频数据的处理中,被控端将声音数据以wave格式映射到网络连接中,在主控端通过声音虚拟通道正确分离声音数据后,将其直接输出到声卡,即可实现声音回放。
需要终端程序能够正确的分离并响应声音数据;
通过上述步骤,实现基于IPv6隧道技术的远程设备控制。
利用上述基于IPv6隧道技术的远程设备控制方法,本发明还提供一种基于IPv6隧道技术的远程设备控制系统,包括主控服务端及相应程序模块和被控客户端及相应程序模块。主控端服务器用于实现所有的计算处理工作,被控端用于处理网络连接、收发数据以及功能运行;主控服务端与被控客户端均采用两种模式:监听等待连接和主动连接。客户端采用的两种模式为互斥式,即当采用其一模式时,另一种模式失效;主控服务端采用两种模式并发执行的方式,监听的端口可以直接与客户端建立连接,也可以接收服务端主动连接模式中端口转发过来的数据。主控服务端程序模块和被控客户端程序模块均包括:IPv6自动网络隧道建立子模块、SSL连接建立与消息交换子模块、许可信息校验子模块;主控服务端程序模块还包括数据计算处理子模块,可包括图像类数据处理、控制类数据处理和音频数据处理;
SSL连接建立与消息交换子模块可包括:协商密码计算子模块、共享密钥生成子模块、交换密钥子模块、双方身份认证子模块;许可信息校验子模块可包括:Token认证子模块和Signature认证子模块。
IPv6自动网络隧道建立子模块:用于提供IPv6地址,建立6to4 Tunnel
SSL连接建立与消息交换子模块:用于协商密码算法,生成共享密钥,交换密钥,双方建立加密连接,防止他人窃听信道和中间人攻击。
许可信息校验子模块:用于校验系统本身的许可信息,防止他人伪装主机以及未授权用户的访问。
数据计算处理子模块:用于解密解压缩图像和音频数据,以及控制类数据的处理。
系统工作时,主控端的程序向被控端的程序发出请求控制信号,利用现有的IPv4网络主干道建立一条IPv6网络隧道,通过这条隧道,使用各种远程控制功能发送远程控制命令,控制被控端各种应用程序运行,操纵被控端完成指定工作,从而实现对设备进行远程控制。
与现有技术相比,本发明的有益效果是:
本发明提供了一种基于IPv6隧道技术的远程控制方法及系统,通过两种正向连接和反向连接型并行的全双功模型,穿透内网,在复杂多变的网络环境中将主控端与多个远程设备有效建立连接;并对网络中的关键数据进行加密传输,在涉及到软件的网络数据量较大时,采用数据压缩算法进行数据压缩,有效地提高了远程控制的传输效率。
附图说明
图1为本发明方法的流程框图。
图2是本发明实施例采用的网络模型拓扑结构框图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
图1是本发明提供的一种基于IPv6隧道技术的远程设备控制的实施流程。图2表示本发明实施例采用的网络模型拓扑结构。本发明方法包括如下步骤:
1)配置主控端和被控端设备的网络通信协议为6to4的IPv6协议,建立IPv6自动隧道;
2)主控端和被控端设备同时采用全双工的通信方式,即可以发起连接请求也可以接受连接请求;
3)通信双方进行握手协议建立SSL连接进行消息交换,包括:协商密码算法,生成共享密钥,进行交换密钥,双方身份认证;
4)通信双方进行进行许可信息校验,包括Token认证和Signature认证;
5)双方认证结束之后,开始传输各类数据,包括图像类数据,控制类数据和音频数据。
具体可按照如下步骤实施本发明:
A.首先获得系统级别权限,并配置主控端和被控端设备,配置方式如下:
A1.完成IPv4接口的默认配置;
配置默认路由器后,目前大部分的NAT路由器都可以自动完成IPv4接口的默认配置;
A2.完成IPv6的接口默认配置,全局激活IPv6,配置IPv6的单播地址,设备(主控端或被控端,可以是PC机)能够通过无状态自动配置的方式获取地址,路由器须配置6to4Tunnel;
A3.如图2所示,在路由器R1组网中设备的IPv6地址表示形式为2002:IPv4地址::/64,其中2002为6to4 Tunnel的固定前缀,之后为6to4 Tunnel中封装后的IPv4报文头中的目的IP地址,例如R1已经有公网IPv4地址200.1.1.1,该IPv4地址对应的6to4IPv6地址就是2002:C801:0101::/48,其中C801:0101就是200.1.1.1的16进制形式。由此得到了/48的IPv6地址前缀,这个前缀可进一步子网划分,最终形成/64的IPv6前缀用于终端。路由器R2这一侧的IPv6网络同理。
B.配置好主控端和被控端设备,双方开始建立连接,方式如下:
B1.主控端开启IPv6协议,检查本机IPv6地址,确认为开启6to4自动隧道协议的IPv6地址,即地址前缀为2002:开头,连接成功后主控端会分别记录被控端内网的[IP:端口号]以及经过NAT服务器转换后的[IP:端口号],若两个[IP:端口号]一致,则该被控端说明为外网设备,否则为内网设备。与此同时,若有建立连接过的已上线的被控端设备,也可以向该被控端主动发送连接请求,建立连接;
B2.若被控端首次进行连接,则需要被控端主动向主控端发送连接请求,此时由于是被控端发起连接,该连接可穿透内网NAT服务器发送至公网的主控端,双方成功建立连接后,内网NAT服务器会保留此次回话Session,建立起关于此次连接的相关表项,使双方之间能够正常通信,从而建立连接;
B3.若被控端非首次进行连接,则监听端口等待主控端发来的连接请求,也可以再次主动向主控端发送连接请求,
B4.需要注意的是,被控端上线后,若被控端未处在连接状态,需要每隔一分钟向主控端发送echo心跳包,目的是为了在内网NAT服务器上建立此次连接的相关表项,以便主控端可以随时向该被控端主动发送连接请求,建立连接;
C.双方建立连接之后,开始协商初始协议并发送相关认证信息,方式如下:
C1.被控端通过客户握手消息向主控端发送:支持的版本号,被控端生成的一个用于生成预备主密钥(premaster secret)的32字节的随机数,主密钥由被控端和主控端的随机数共同生成,会话ID,加密套件,包括加密算法,密钥交换算法,消息验证码MAC,加密方式(流、分组),压缩算法(可选);
C2.主控端确定本次通信采用的版本和加密套件,并通过服务器握手消息通知给被控端。如果主控端允许被控端在以后的通信中重用本次会话,则主控端会为本次会话分配会话ID,并通过服务器握手消息发送给被控端。主控端采纳的本次通讯的版本,主控端生成的一个用于生成主密钥的32字节的随机数,主密钥由被控端和主控端的随机数共同生成,会话ID,主控端采纳的用于本次通讯的加密套件,加密算法,密钥交换算法,消息验证码,加密方式(流、分组),压缩算法(可选);
C3.主控端将携带自己公钥信息的数字证书通过请求证书消息发送给被控端,数字证书由权威机构CA签发,并由CA保证数字证书的真实性。被控端使用这个公钥完成以下任务:被控端可以使用该公钥来验证主控端的身份,只有主控端有对应的私钥能解密它的公钥加密的数据用于对预备主密钥(premaster secret)进行加密,预备主密钥(premastersecret)由被控端和主控端生成的随机数产生的,被控端用主控端的公钥对其进行了加密后发送给主控端;
C4.主控端可以向被控端发送请求证书消息,即主控端需要被控端证明自己的身份,被控端向主控端发送自己的被控端请求证书,以证明自己的身份;
C5.主控端发送握手结束消息,通知被控端加密版本和套件协商结束;
C6.被控端验证主控端的证书合法后,利用证书中的公钥加密被控端随机生成的预备主密钥(premaster secret),并通过密钥交换消息发送给主控端。这一步完成后,被控端和主控端都已经保存了预备主密钥,预备主密钥用于之后的通信数据的加密;
C7.被控端发送验证交换消息,通知主控端后续报文将采用协商好的预备主密钥和加密套件进行加密和消息验证码(MAC)计算,其中消息验证码为:预备主密钥,数据包序列号连接之后的Hash值;
C8.被控端计算已交互的握手消息的Hash值,利用协商好的密钥和加密套件处理Hash值(计算并添加消息验证码),并通过回话完成消息发送给主控端。主控端利用同样的方法计算已交互的握手消息的Hash值,并与回话完成消息的解密结果比较,如果二者相同,且消息验证码验证成功,则证明密钥和加密套件协商成功;
C9.同样地,主控端发送验证交换(Confirm Exchange)消息,通知被控端后续报文将采用协商好的主密钥和加密套件进行加密和消息验证码MAC;
C10.主控端计算已交互的握手消息的Hash值,利用协商好的密钥和加密套件处理Hash值(计算并添加消息验证码),并通过回话完成消息发送给被控端。被控端利用同样的方法计算已交互的握手消息的Hash值,并与回话完成消息的解密结果比较,如果二者相同,且消息验证码验证成功,则证明密钥和加密套件协商成功;
C11.被控端接收到主控端发送的回话完成消息后,如果解密成功,则可以判断主控端是数字证书的拥有者,即主控端身份验证成功,因为只有拥有私钥的主控端才能从密钥交换消息中解密得到预备主密钥(premaster secret),从而间接地实现了被控端对主控端的身份验证;
D.双方经过身份验证后,须进行许可(licence)信息校验,以防止中间人信道攻击,未授权用户的擅自访问或恶意用户修改程序,方式如下:
D1.利用RSA传输随机生成的加密和解密秘钥,其中RSA的公钥和私钥已经分别硬编码在双方的设备中,之后双方对该秘钥进行SHA-1哈希混淆,取哈希结果的前16字节作为RC6的生成秘钥,随后利用RC6加密验证数据,该过程称为RSA/RC6体系加密;
D2.在加密、解密验证通过以后,被控端发送licence信息进行系统的身份认证。身份认证的加密、解密系统也是用RSA/RC6体系,但是与网络通信中的加密、解密系统分开的,licence认证中的密钥是临时的、单独的。
许可信息校验过程如下:被控端端首先发送需求(demand)包,内容是随机数和一些系统相关的字符信息;主控端需要回复请求(requset)包,内容是随机数、空闲值、主机名、用户名;被控端再发送认证请求(authreq)包,内容包括token值和signature值;主控端需要回复认证应答(authres)包,内容包括token值和signature值。被控端验证该signature值通过后会发送result包,表明licence认证通过。
其中token值为随机数和系统相关信息连接之后的Hash值,signatrue值为token值连接空闲值、主机名、用户名之后的Hash值。
E.双方认证结束之后,开始传输各类数据,方式如下:
E1.针对图像类数据进行传输处理时,被控端调用系统截图命令进行截图,刷新率fps为10,之后将当前的屏幕截图转换为固定格式的数据后利用gzip压缩算法发送到主控端,主控端对读取图片数据解压缩之后还原显示在屏幕上。其中关于图形处理模块共分为两层,第一层级的数据包编码方式依次为传送开始标志,层内数据长度,类型标记,网络包顺序号,此后图片的数量,数据压缩类型,数据压缩长度;第二层为每一张图片的结构,数据包编码方式依次为,png格式的屏幕截图数据,图片压缩标志,数据压缩长度;
E2.针对输入设备控制数据进行传输和处理时,主控端将当前键盘操作数据转换为键盘消息,将鼠标移动和点击数据转换为鼠标消息编码在数据包内,控制数据处理模块分为两层,第一层级的数据包编码方式依次为传送开始标志,层内数据长度,类型标记,网络包顺序号,此后控制数据长度,数据压缩类型,数据压缩长度;第二层为键盘消息或鼠标消息,其中键盘消息为按键按下和按键抬起,鼠标消息为按键按下,按键抬起和光标移动;
E3.针对音频数据进行传输和处理时,在初始连接时主控端可选择是否选择声音回放模式。为在本地播放声音,被控端会对查询本地的声卡设置情况和状态,并答复主控端,主控端确认后,声音数据能够正常回放。关于声卡的确认在被控端登录时已完成。声音数据是以wave格式进行传输,当终端在使用过程中有声音回放请求时,被控端抓取声卡设备以便将声音数据以wave格式映射到网络连接中,在主控端正确分离声音数据后,将其直接输出到声卡,即可实现声音回放。对声卡的设置,声音数据的属性调整等都通过网络映射到本地,主控端程序能够做到正确的分离声音数据。
音频数据处理模块:服务器将声音数据分段发送处理。当有一段声音数据需要传送时,客户端首先发送接收通知,数据包编码方式依次为传送开始标志,层内数据长度,类型标记,声音数据的格式,标签,索引,具体声音数据,结束标志。主控端收到声音数据后,需要发送数据处理完毕的反馈信息。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (10)

1.一种基于IPv6隧道技术的远程设备控制方法,主控端为服务器,被控端为多个远程设备;建立C/S正向连接型网络模型和反弹连接型网络模型并行的全双工模型;主控端和被控端通过采用IPv6 6to4自动隧道技术及TCP协议,并基于底层的Socket及TCP/IP协议栈进行网络通信;对网络中的关键数据进行加密传输;当网络传输数据量大时进行数据压缩;主控端处理网络连接、收发数据、数据解密解压缩及功能运行,被控端处理网络连接、收发数据、数据加密压缩及功能运行;包括如下步骤:
1)配置主控端和被控端设备的网络通信协议为6to4的IPv6协议,建立IPv6自动隧道;
2)主控端和被控端设备同时采用全双工的通信方式;
3)主控端和被控端通信双方通过握手协议建立SSL连接进行消息交换,包括:协商生成共享密钥、交换密钥、双方身份认证;
4)主控端和被控端通信双方进行许可信息校验,包括Token认证和Signature认证;
5)双方认证结束之后,开始传输各类数据,包括图像类数据,控制类数据和音频数据;
传输各类数据时,所有数据均经过双方协商好的秘钥进行加密处理;具体执行如下操作:
C1.在图像数据的处理中,被控端将当前的屏幕截图转换为固定格式的数据后压缩发送到主控端,主控端显示处理的图片结果;
C2.在输入设备控制数据的处理中,主控端将键盘按键和鼠标移动位置转换为固定格式的数据后压缩发送到被控端,被控端将处理的结果转化为键盘按键命令或鼠标移动命令;
C3.在音频数据的处理中,被控端将声音数据以一定格式映射到网络连接中,在主控端通过声音虚拟通道正确分离声音数据后,将其直接输出到声卡,实现声音回放;
通过上述步骤,实现基于IPv6隧道技术的远程设备控制。
2.如权利要求1所述基于IPv6隧道技术的远程设备控制方法,其特征是,步骤1)和步骤2)配置系统中的主控端和被控端设备并获得系统级别权限后,通信双方采用全双工的通信方式建立连接;具体执行如下操作:
A1.主控端开启IPv6协议,确认主控端IPv6地址为开启6to4自动隧道协议的IPv6地址;同时监听端口,等待与被控端设备建立连接;同时,主控端可向已与主控端建立连接的已上线的被控端设备主动发起连接请求;
A2.若被控端首次与主控端进行连接,则需要被控端主动向主控端发起连接;该连接可穿透内网NAT服务器发送至公网的主控端;双方成功建立连接后,内网NAT服务器保留此次回话Session,建立起关于此次连接的相关表项,使双方之间正常通信;
A3.若被控端非首次进行连接,既可监听端口等待主控端发来的连接请求,也可主动向主控端发送连接请求;
A4.被控端上线后,若被控端未处在连接状态,需要每隔一分钟向主控端发送echo心跳包,在内网NAT服务器上建立此次连接的相关表项;由此主控端随时可向该被控端主动发送连接请求,建立连接。
3.如权利要求2所述基于IPv6隧道技术的远程设备控制方法,其特征是,步骤A1中,路由器R组网中设备的IPv6地址表示形式为:2002:IPv4地址::/64;其中,2002为6to4隧道的固定前缀;IPv4地址为6to4隧道中封装后的IPv4报文头中的目的IP地址。
4.如权利要求1所述基于IPv6隧道技术的远程设备控制方法,其特征是,步骤3)在主控端和被控端建立连接之后,双方利用TLSv2确定加密协议,协商加密密钥并进行认证;具体执行如下操作:
B1.通信双方进行握手协议,在初次建立安全套接层SSL连接时,主控端与被控端交换一系列消息,实现操作包括:
被控端认证主控端;
协商被控端与主控端选择双方均支持的密码算法,使用公钥加密技术生成共享密钥;
利用密钥交换技术交换密钥,双方协商过后建立加密SSL连接;
B2.RSA的公钥和私钥分别硬编码在主控端和被控端设备中;利用RSA公钥加密技术传输随机生成的加密和解密秘钥;之后双方对该秘钥进行哈希混淆,得到哈希结果;取哈希结果的前16字节作为RC6生成秘钥;再利用RC6生成秘钥进行加密数据的传输;
B3.被控端发送加密形式的客户端系统信息,同时主控端验证加密协议是否正确;
B4.进行被控端程序的许可验证,防止恶意用户篡改程序和/或中间人攻击窃听信道。
5.如权利要求4所述基于IPv6隧道技术的远程设备控制方法,其特征是,步骤B2中,主控端和被控端双方对秘钥进行SHA-1哈希混淆。
6.如权利要求1所述基于IPv6隧道技术的远程设备控制方法,其特征是,网络传输数据量大时,具体采用GZIP数据压缩算法进行数据压缩。
7.如权利要求1所述基于IPv6隧道技术的远程设备控制方法,其特征是,步骤C2在输入设备控制数据的处理中,具体地,主控端将当前键盘操作数据转换为键盘消息,将鼠标移动和点击数据转换为鼠标消息编码在数据包内,包括第一层级的数据包和第二层级的数据包;第一层级的数据包编码方式依次为传送开始标志、层内数据长度、类型标记、网络包顺序号、控制数据长度、数据压缩类型、数据压缩长度;第二层级的数据包为键盘消息或鼠标消息,其中键盘消息为按键按下和按键抬起,鼠标消息为按键按下、按键抬起和光标移动。
8.如权利要求1所述基于IPv6隧道技术的远程设备控制方法,其特征是,步骤C3在音频数据的处理中,具体地,声音数据以wave格式进行传输;主控端将声音数据分段发送处理;当需要传送声音数据时,被控端首先发送接收通知,数据包编码方式依次为传送开始标志、层内数据长度、类型标记、声音数据的格式、标签、索引、具体声音数据、结束标志;主控端收到声音数据后,反馈数据处理完毕的信息。
9.一种基于IPv6隧道技术的远程设备控制系统,包括主控端服务器及相应程序模块和被控客户端及相应程序模块;主控端服务器程序模块和被控客户端程序模块均包括:IPv6自动网络隧道建立子模块、SSL连接建立与消息交换子模块、许可信息校验子模块;IPv6自动网络隧道建立子模块用于提供IPv6地址,建立6to4隧道;SSL连接建立与消息交换子模块用于协商密码算法,生成共享密钥,交换密钥,双方建立加密连接;许可信息校验子模块用于校验系统本身的许可信息,防止他人伪装主机及未授权用户的访问;
主控服务端程序模块还包括数据计算处理子模块,用于解密解压缩图像、音频数据和/或控制类数据的处理;
SSL连接建立与消息交换子模块可包括:协商密码计算子模块、共享密钥生成子模块、交换密钥子模块、双方身份认证子模块;许可信息校验子模块可包括:Token认证子模块和Signature认证子模块。
10.如权利要求9所述基于IPv6隧道技术的远程设备控制系统,其特征是,主控端服务器与被控客户端均采用两种模式:监听等待连接和主动连接;被控客户端采用的两种模式为互斥式,即当采用其一模式时,另一种模式失效;主控端服务器采用两种模式并发执行的方式,监听端口可直接与客户端建立连接,也可接收服务端主动连接模式中端口转发过来的数据。
CN201910132902.3A 2019-02-22 2019-02-22 一种基于IPv6隧道技术的远程设备控制方法及系统 Active CN111614596B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910132902.3A CN111614596B (zh) 2019-02-22 2019-02-22 一种基于IPv6隧道技术的远程设备控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910132902.3A CN111614596B (zh) 2019-02-22 2019-02-22 一种基于IPv6隧道技术的远程设备控制方法及系统

Publications (2)

Publication Number Publication Date
CN111614596A true CN111614596A (zh) 2020-09-01
CN111614596B CN111614596B (zh) 2021-07-09

Family

ID=72204554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910132902.3A Active CN111614596B (zh) 2019-02-22 2019-02-22 一种基于IPv6隧道技术的远程设备控制方法及系统

Country Status (1)

Country Link
CN (1) CN111614596B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765889A (zh) * 2021-08-06 2021-12-07 深圳市华磊迅拓科技有限公司 远程集控方法、系统、装置及存储介质
CN114018218A (zh) * 2021-09-17 2022-02-08 国网浙江省电力有限公司台州供电公司 一种电塔在线检测系统及方法
CN114844730A (zh) * 2022-07-05 2022-08-02 深圳赛思鹏科技发展有限公司 一种基于可信隧道技术构建的网络系统
CN117768233A (zh) * 2023-12-28 2024-03-26 四川赛狄信息技术股份公司 基于Telent协议的服务器状态查询装置、方法及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988491A (zh) * 2006-11-24 2007-06-27 清华大学 使用多点接入优化IPv4/IPv6应用互操作的方法
CN104023013A (zh) * 2014-05-30 2014-09-03 上海帝联信息科技股份有限公司 数据传输方法、服务端和客户端
CN105939316A (zh) * 2015-10-26 2016-09-14 杭州迪普科技有限公司 报文转发方法以及装置
US20170171227A1 (en) * 2015-12-10 2017-06-15 Dell Software Inc. Automatic tunnels routing loop attack defense
CN107786411A (zh) * 2017-10-19 2018-03-09 上海前隆信息科技有限公司 应用程序间通信隧道连接/验证方法/系统、介质及设备
CN108521331A (zh) * 2018-04-11 2018-09-11 西安邮电大学 基于源地址的隐蔽信息发送系统及发送方法
CN109347809A (zh) * 2018-09-25 2019-02-15 北京计算机技术及应用研究所 一种面向自主可控环境下的应用虚拟化安全通信方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988491A (zh) * 2006-11-24 2007-06-27 清华大学 使用多点接入优化IPv4/IPv6应用互操作的方法
CN104023013A (zh) * 2014-05-30 2014-09-03 上海帝联信息科技股份有限公司 数据传输方法、服务端和客户端
CN105939316A (zh) * 2015-10-26 2016-09-14 杭州迪普科技有限公司 报文转发方法以及装置
US20170171227A1 (en) * 2015-12-10 2017-06-15 Dell Software Inc. Automatic tunnels routing loop attack defense
CN107786411A (zh) * 2017-10-19 2018-03-09 上海前隆信息科技有限公司 应用程序间通信隧道连接/验证方法/系统、介质及设备
CN108521331A (zh) * 2018-04-11 2018-09-11 西安邮电大学 基于源地址的隐蔽信息发送系统及发送方法
CN109347809A (zh) * 2018-09-25 2019-02-15 北京计算机技术及应用研究所 一种面向自主可控环境下的应用虚拟化安全通信方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765889A (zh) * 2021-08-06 2021-12-07 深圳市华磊迅拓科技有限公司 远程集控方法、系统、装置及存储介质
CN114018218A (zh) * 2021-09-17 2022-02-08 国网浙江省电力有限公司台州供电公司 一种电塔在线检测系统及方法
CN114844730A (zh) * 2022-07-05 2022-08-02 深圳赛思鹏科技发展有限公司 一种基于可信隧道技术构建的网络系统
CN117768233A (zh) * 2023-12-28 2024-03-26 四川赛狄信息技术股份公司 基于Telent协议的服务器状态查询装置、方法及介质
CN117768233B (zh) * 2023-12-28 2024-07-23 四川赛狄信息技术股份公司 基于Telnet协议的服务器状态查询方法及介质

Also Published As

Publication number Publication date
CN111614596B (zh) 2021-07-09

Similar Documents

Publication Publication Date Title
CN111614596B (zh) 一种基于IPv6隧道技术的远程设备控制方法及系统
CN107018134B (zh) 一种配电终端安全接入平台及其实现方法
CN110870277B (zh) 将中间盒引入到客户端与服务器之间的安全通信中
US8984268B2 (en) Encrypted record transmission
JP4962117B2 (ja) 暗号通信処理方法及び暗号通信処理装置
WO2009082889A1 (fr) Procédé de négociation pour échange de clés internet et dispositif et système associés
CN111740964B (zh) 远程同步通信方法、拟态虚拟终端、异构执行体及介质
KR20060059908A (ko) 통신 시스템, 통신 장치, 통신 방법 및 그것을 실현하기위한 통신 프로그램
CA2321407C (en) Security mechanisms and architecture for collaborative systems using tuple space
CN113904809B (zh) 一种通信方法、装置、电子设备及存储介质
US20080267395A1 (en) Apparatus and method for encrypted communication processing
WO2000062480A2 (en) Apparatus and method for transmitting messages across different multicast domains
CN111835997B (zh) 基于量子密钥加密的云视频会议系统及其加解密方法
WO2023241176A1 (zh) 通信方法、装置、设备、存储介质及程序产品
WO2009082950A1 (fr) Procédé, dispositif et système de distribution de clés
CN107493294B (zh) 一种基于非对称加密算法的ocf设备的安全接入与管理控制方法
CN105591748B (zh) 一种认证方法和装置
CN102932359A (zh) 流媒体服务请求方法、装置和系统
US8646066B2 (en) Security protocol control apparatus and security protocol control method
CN108989486B (zh) 一种通信方法及通信系统
CN107370598B (zh) 以智能手机作为个人电脑电子密钥的方法
US11916889B2 (en) Computer network for secure IP to non-IP communication and backend device, gateway, frontend device therefore and procedure for operation thereof
CN112954679B (zh) 基于DH算法的LoRa终端安全接入方法
CN111431858B (zh) 一种面向路由报文的集中化安全传输与认证方法
CN117596021A (zh) 一种基于内网穿透的变电站监控系统远程开发调试方法

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