CN104394129A - 安全外壳ssh2协议数据的采集方法和装置 - Google Patents

安全外壳ssh2协议数据的采集方法和装置 Download PDF

Info

Publication number
CN104394129A
CN104394129A CN201410637319.5A CN201410637319A CN104394129A CN 104394129 A CN104394129 A CN 104394129A CN 201410637319 A CN201410637319 A CN 201410637319A CN 104394129 A CN104394129 A CN 104394129A
Authority
CN
China
Prior art keywords
packet
ssh2
data
agreement
information
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
CN201410637319.5A
Other languages
English (en)
Other versions
CN104394129B (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.)
Zhengzhou Xinrand Network Technology Co ltd
Institute of Acoustics CAS
Original Assignee
Institute of Acoustics CAS
Beijing Intellix Technologies 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 Institute of Acoustics CAS, Beijing Intellix Technologies Co Ltd filed Critical Institute of Acoustics CAS
Priority to CN201410637319.5A priority Critical patent/CN104394129B/zh
Publication of CN104394129A publication Critical patent/CN104394129A/zh
Priority to PCT/CN2015/074081 priority patent/WO2016070538A1/zh
Priority to JP2017523952A priority patent/JP2017533674A/ja
Priority to EP15856581.2A priority patent/EP3208989A4/en
Application granted granted Critical
Publication of CN104394129B publication Critical patent/CN104394129B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • 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/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • 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/166Implementing security features at a particular protocol layer at the transport layer
    • 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 Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例涉及安全外壳SSH2协议数据的采集方法和装置,客户端设备与服务端设备之间建立了SSH2连接,该方法包括:获取客户端设备与服务端设备之间传输的SSH2数据包;将SSH2数据包重组排列为有序的网络数据包;依次检测SSH2数据包的类型;若SSH2数据包的类型表明SSH2数据包为SSH2协议握手阶段的数据包,则记录原握手信息,替换为新的握手信息,当握手信息充分时推导出SSH2密钥协商后的传输密钥;若SSH2数据包的类型表明SSH2数据包为SSH2协议密文传输阶段的数据包,则利用推导出的传输密钥,将密文数据转换成明文数据,将明文数据作为采集成果输出。由上可见,本发明实施例中,可以使得数据采集器不易遭到针对性攻击,并且,提高了采集效率,用户体验好。

Description

安全外壳SSH2协议数据的采集方法和装置
技术领域
本发明涉及网络安全通信技术领域,尤其涉及安全外壳SSH2协议数据的采集方法和装置。
背景技术
随着人们对网络安全重视程度的不断提高,安全外壳(SSH,SecureShell)协议逐渐得到广泛应用,SSH协议由互联网工程任务组(IETF,InternetEngineering Task Force)的网络工作小组所制定,是建立在应用层和传输层基础上的安全协议,也是目前可靠的、专为远程登录会话和其他网络服务提供安全性的协议,目前SSH协议已经逐渐取代telnet等协议,成为远程登录和传输代理的首选协议。SSH2协议是SSH协议的2.x版本,在RFC 4250-RFC4254标准中有详细的定义和描述,由于SSH2协议具有加密传输的特点,网络中的数据采集器无法直接对网络上的SSH2协议数据进行采集分析,因此需要通过特定的采集方法将采集到的SSH2协议数据由密文数据转换为明文数据。
图1为现有技术中SSH2协议数据的采集方法示意图,参照图1,客户端设备不能直接与服务端设备建立连接,而是通过数据采集器间接的建立连接,数据采集器显式地存在于网络中,拥有自己的IP地址,集成了SSH代理服务端和SSH代理客户端,当数据采集器对SSH2协议数据进行采集时,采用二次登录的方法,先由客户端设备向数据采集器发起SSH连接和登录,然后由数据采集器向服务端设备发起SSH连接并登录,数据采集器需要同时维护两个SSH连接,根据获得的完整的SSH消息进行解密,以便将采集到的SSH2协议数据由密文数据转换为明文数据。
由上可见,现有技术中的SSH2协议数据的采集方法存在下述缺点:(1)数据采集器显式地存在于网络中,拥有自己的IP地址,容易暴露数据采集器的网络位置,从而遭到针对性攻击;(2)数据采集器需要获得完整的SSH消息才能进行解密等操作,在SSH消息较大、网络条件不佳或者并发用户数量较多时,会造成显著的采集延时,既降低了采集效率,又会给SSH的用户带来很差的操作体验。
发明内容
本发明实施例提供一种SSH2协议数据的采集方法和装置,可以使得数据采集器不易遭到针对性攻击,并且,提高了采集效率,用户体验好。
一方面,提供了一种SSH2协议数据的采集方法,客户端设备与服务端设备之间建立了SSH2连接,所述方法包括:
获取所述客户端设备与所述服务端设备之间传输的SSH2数据包;
将所述SSH2数据包重组排列为有序的网络数据包;
依次检测所述SSH2数据包的类型;
若所述SSH2数据包的类型表明所述SSH2数据包为SSH2协议握手阶段的数据包,则记录原握手信息,替换为新的握手信息,当握手信息充分时推导出SSH2密钥协商后的传输密钥;
若所述SSH2数据包的类型表明所述SSH2数据包为SSH2协议密文传输阶段的数据包,则利用推导出的所述传输密钥,将所述SSH2协议密文传输阶段的数据包所携带的密文数据转换成明文数据,将所述明文数据作为采集成果输出。
另一方面,提供了一种SSH2协议数据的采集装置,客户端设备与服务端设备之间建立了SSH2连接,所述装置包括:
获取单元,用于获取所述客户端设备与所述服务端设备之间传输的SSH2数据包;
重组单元,用于将所述获取单元获取的SSH2数据包重组排列为有序的网络数据包;
检测单元,用于依次检测所述重组单元SSH2重组后的数据包的类型;
第一处理单元,用于当所述检测单元检测出的所述SSH2数据包的类型表明所述SSH2数据包为SSH2协议握手阶段的数据包时,记录原握手信息,替换为新的握手信息,当握手信息充分时推导出SSH2密钥协商后的传输密钥;
第二处理单元,用于当所述检测单元检测出的所述SSH2数据包的类型表明所述SSH2数据包为SSH2协议密文传输阶段的数据包,则利用推导出的所述传输密钥,将所述SSH2协议密文传输阶段的数据包所携带的密文数据转换成明文数据,将所述明文数据作为采集成果输出。
本发明实施例所提供的SSH2协议数据的采集方法中,客户端设备直接以服务端设备的地址作为目标地址建立SSH2连接,无需通过数据采集器进行二次登录,不需要为实现该方法的数据采集器分配网络地址,其中,数据采集器具体可以为一台网络交换设备,例如,交换机或路由器,置于客户端设备与服务端设备之间,本身没有IP地址,而现有技术中数据采集器相当于一台代理服务器,需要客户端设备主动去登录它,本发明中数据采集器可以在网络中透明地灵活部署,不易遭到针对性攻击;并且,本发明的SSH2协议数据的采集方法以SSH2数据包为处理单元,而非以完整SSH2消息为处理单元,因而处理延时小、并发服务能力强、提高了采集效率,用户体验好。
附图说明
图1为现有技术中SSH2协议数据的采集方法示意图;
图2为本发明实施例中SSH2协议数据的采集方法示意图;
图3为本发明一个实施例中SSH2协议数据的采集方法流程图;
图4为本发明另一个实施例中SSH2协议数据的采集方法示意图;
图5为采用本发明实施例SSH2协议数据的采集方法处理数据包时的数据包交互图;
图6为本发明实施例中SSH2协议数据的采集装置的装置结构图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
图2为本发明实施例中SSH2协议数据的采集方法示意图,参照图2,与图1所示的现有技术中SSH2协议数据的采集方法相比较,传统方法采取SSH二次登录的方式,采集者显式地存在于网络中,拥有自己的IP地址,集成了SSH代理服务端和代理客户端,与客户端和服务端分别建立两条IP/TCP/SSH连接,在采集数据时以SSH消息为处理单元;而本发明的方法中,采集者不建立连接,不必有自己的IP地址,透明地串联在客户端和服务端之间,在客户端与服务端的连接基础上,掌握两侧的SSH传输密钥对,以网络数据包为处理单元采集数据。
图3为本发明一个实施例中SSH2协议数据的采集方法流程图,其中,客户端设备与服务端设备之间建立了SSH2连接,参照图3,该方法包括:
步骤301,获取所述客户端设备与所述服务端设备之间传输的SSH2数据包。
步骤302,将所述SSH2数据包重组排列为有序的网络数据包。
步骤303,依次检测所述SSH2数据包的类型。
步骤304,若SSH2数据包的类型表明所述SSH2数据包为SSH2协议握手阶段的数据包,则记录原握手信息,替换为新的握手信息,当握手信息充分时推导出SSH2密钥协商后的传输密钥。
步骤305,若SSH2数据包的类型表明所述SSH2数据包为SSH2协议密文传输阶段的数据包,则利用推导出的所述传输密钥,将所述SSH2协议密文传输阶段的数据包所携带的密文数据转换成明文数据,将所述明文数据作为采集成果输出。
本发明实施例中,所述方法还可以包括数据包封装的处理步骤:对于替换为新的握手信息的SSH2协议握手阶段的数据包,重新确定传输控制协议TCP包头和网际互联协议IP包头,以及对所述替换为新的握手信息的SSH2协议握手阶段的数据包重新进行数据包封装,发送给接收方设备,所述接收方设备为所述客户端设备或所述服务端设备;对于SSH2协议密文传输阶段的数据包,利用推导出的所述传输密钥将所述明文数据加密成密文数据,重新确定TCP包头和IP包头,以及对所述密文数据重新进行数据包封装,发送给接收方设备。
另外,由于可以对不含TCP载荷的数据包不做任何处理,所述方法还可以包括:
若所述SSH2数据包的类型表明所述SSH2数据包为不含TCP载荷的数据包,则将所述不含TCP载荷的数据包发送给接收方设备。
其中,上述不含TCP载荷的数据包具体可以为TCP报头中的确认号(ACK,Acknowledge)数据包。
本发明实施例步骤302中,所述将所述SSH2数据包重组排列为有序的网络数据包,具体可以包括:将SSH2连接两个方向的数据包加入不同队列,按照TCP的序列号SEQ对所述SSH2数据包进行有序排列。
由于SSH2协议握手阶段包括版本协商子阶段、算法协商子阶段和密钥协商子阶段,因此步骤304中,所述若所述SSH2数据包的类型表明所述SSH2数据包为SSH2协议握手阶段的数据包,则记录原握手信息,替换为新的握手信息,当握手信息充分时推导出SSH2密钥协商后的传输密钥,具体可以包括:
对于版本协商子阶段的数据包,记录原版本协商信息,替换为新的版本协商信息;
对于算法协商子阶段的数据包,记录原算法协商信息,替换为新的算法协商信息,当记录完所述客户端设备和所述服务端设备的算法协商信息后,分别推导所述客户端设备一侧的算法协商结果和所述服务端设备一侧的算法协商结果;
对于密钥协商子阶段的数据包,记录原密钥协商信息,替换为新的密钥协商信息,当接收到SSH2协议的新密钥启用消息后,分别推导所述客户端设备一侧的SSH2传输密钥和所述服务端设备一侧的SSH2传输密钥。
本发明实施例步骤305中,所述若所述SSH2数据包的类型表明所述SSH2数据包为SSH2协议密文传输阶段的数据包,则利用推导出的所述传输密钥,将所述SSH2协议密文传输阶段的数据包所携带的密文数据转换成明文数据,将所述明文数据作为采集成果输出,具体可以包括:
利用输入一侧的传输密钥将所述SSH2协议密文传输阶段的数据包所携带的密文数据转换成明文数据,通过哈希消息认证码HMAC值校验所述明文数据的完整性;
将校验结果为完整的所述明文数据作为采集成果输出。
本发明实施例中,所述对于SSH2协议密文传输阶段的数据包,利用推导出的所述传输密钥将所述明文数据加密成密文数据,具体可以包括:利用输出一侧的传输密钥将校验后的所述明文数据加密成密文数据,并重新计算所述密文数据的HMAC值,校验所述密文数据的完整性;
所述重新确定TCP包头和IP包头,以及对所述密文数据重新进行数据包封装,发送给接收方设备,具体可以包括:对于校验结果为完整的所述密文数据,重新确定TCP包头和IP包头,以及对所述密文数据重新进行数据包封装,发送给接收方设备。
另外,所述重新确定TCP包头和IP包头,具体可以包括:判断所述数据包的长度是否发生改变;若判断出所述数据包的长度发生改变,则重新确定IP包头的总长、IP包头的头部校验和字段,以及TCP包头中的序列号SEQ、确认号ACK、校验和字段;若判断出所述数据包的长度没有发生改变,则重新确定TCP包头中的SEQ、ACK、校验和字段。
由上述处理过程可知,本发明实施例所提供的SSH2协议数据的采集方法中,客户端设备直接以服务端设备的地址作为目标地址建立SSH2连接,无需通过数据采集器进行二次登录,不需要为实现该方法的数据采集器分配网络地址,其中,数据采集器具体可以为一台网络交换设备,例如,交换机或路由器,置于客户端设备与服务端设备之间,本身没有IP地址,而现有技术中数据采集器相当于一台代理服务器,需要客户端设备主动去登录它,本发明中数据采集器可以在网络中透明地灵活部署,不易遭到针对性攻击;并且,本发明的SSH2协议数据的采集方法以SSH2数据包为处理单元,而非以完整SSH2消息为处理单元,因而处理延时小、并发服务能力强、提高了采集效率,用户体验好。
下面通过一个具体的实施例来对SSH2协议数据的采集方法进行详细描述。
图4为本发明另一个实施例中SSH2协议数据的采集方法示意图,参照图4,该方法包括:
步骤一、通过数据包重组模块,将SSH2连接两个方向的数据包加入不同队列,按照TCP的SEQ号进行有序排列,形成有序的网络数据包后依次交由中间处理。
其中,因为网络上传输的数据包会有乱序的情况出现,数据包重组模块将它们恢复成有序的排列,避免序列号在后面的数据包先被中间处理,造成中间处理时的数据错误。
步骤二、根据数据包的不同类型进行中间处理。
对SSH2协议握手阶段的数据包:若为版本协商子阶段的数据包,记录原版本协商信息,替换为新的版本协商信息;若为算法协商子阶段的数据包,记录原算法协商信息,替换为新的算法协商信息,当记录完客户端和服务端的算法协商信息后,分别推导客户端一侧和服务端一侧的算法协商结果;若为密钥协商子阶段的数据包,记录原密钥协商信息,替换为新的密钥协商信息,当接收到SSH2协议的新密钥启用消息后,分别推导客户端一侧和服务端一侧的SSH2传输密钥。
对SSH2协议密文传输阶段的数据包,首先利用输入一侧的传输密钥将数据包中的密文数据解密成明文数据,计算哈希消息认证码(HMAC,Hash-basedMessage Authent ication Code)值校验该消息,然后将校验后的明文SSH2数据包作为采集成果输出,最后利用输出一侧的传输密钥将校验后的明文SSH2消息加密成密文,并重新计算HMAC值。
其中,HMAC值可以用来验证数据包数据的完整性。
对不含TCP载荷的数据包,可以不作中间处理。
步骤三、通过数据包封装发送模块对数据包重新计算IP包头和TCP包头后发出。
其中,若该数据包在中间处理过程中改变了长度,重新计算IP包头的总长、头部校验和字段,以及TCP包头中的SEQ、ACK、校验和字段;若该数据包在中间处理过程中没有改变长度,重新计算TCP包头中的SEQ、ACK、校验和字段。
图5为采用本发明实施例SSH2协议数据的采集方法处理数据包时的数据包交互图,下面参照图5对本发明的方法做详细的说明。
在下面的说明中,到来的网络数据包经过数据包重组模块排列有序,数据包转发前经过数据包封装发送模块统一修改TCP/IP包头,在修改包头时,若该数据包在中间处理过程中改变了长度,重新计算IP包头的总长、头部校验和字段,以及TCP包头中的SEQ、ACK、校验和字段;若该数据包在中间处理过程中没有改变长度,重新TCP包头中的SEQ、ACK、校验和字段。
(1)客户端发起TCP连接请求,与服务端进行三步握手的交互。
(2)服务端向客户端发送自己的版本,采集者记录包含版本信息的数据包,替换成包含新版本信息的数据包;同理客户端向服务端发送自己的版本,采集者记录该数据包,替换成包含新版本信息的数据包。
(3)服务端向客户端发送算法协商信息,采集者记录包含算法协商信息的数据包,替换为采集者可以处理的算法组成的算法协商信息;同理客户端向服务端发送算法协商信息,采集者记录包含算法协商信息的数据包,替换为采集者可以处理的算法组成的算法协商信息。当记录完客户端和服务端的算法协商信息后,分别推导客户端一侧和服务端一侧的算法协商结果。
(4)客户端与服务端之间进行DH密钥协商,采集者记录其中的DH密钥协商信息,将其中的DH密钥交换参数、服务端公钥和数字签名等密钥协商信息替换为新的密钥协商信息。当接收到包含新密钥启用通知的数据包后,分别推导客户端一侧和服务端一侧的SSH2传输密钥。
具体中间处理过程为:
在版本协商阶段,采集者记录两端发送的版本消息,并将其替换为自己的版本消息向后转发。该过程会改变数据包的长度。
在算法协商阶段,采集者记录两端发送的算法协商消息,并将其替换为由采集者支持的算法构造出的算法协商消息。该过程会改变数据包的长度。
在密钥协商阶段,对于图5中的SSH2_GEXREQ消息,采集者记录和转发消息参数。该过程不会改变数据包的长度。对于图5中的SSH2_GEXGRP消息,采集者记录其中的DH密钥交换参数公开数P和G,然后转发。该过程不会改变数据包的长度。对于图5中的SSH2_GEXINIT消息,采集者生成两对DH密钥交换的私有秘密值和公开秘密值,这两对秘密值分别对于客户端和服务端。采集者将消息中客户端的公开秘密值替换为自己的应客户端的公开秘密值。该过程会改变数据包长度。对于图5中的SSH2_GEXREP消息,采集者将服务端的公开秘密值替换为自己对应服务端的公开秘密值,将服务端的加密公钥替换为采集者的加密公钥,将服务端的数字签名替换为采集者的数字签名,该过程会改变数据包的长度。在结束密钥协商阶段后,采集者就可以根据DH密钥交换的计算规则,分别计算出客户端一侧和服务端一侧的密钥交换结果。
这个计算规则是标准的,可以采用现有的密码学算法。
DH密钥交换算法的基本原理是:
(1)客户端随机选择一个私有秘密值x,1<x<p-1,计算出e=g^x mod p,将计算出的e发送给服务器端。其中,p是一个很大的素数,g是p的素根。p和g是双方共有的一对参数。
(2)服务器也随机生成一个私有秘密值y,1<y<p-1,计算出f=g^y mod p,也将计算出的f发送给客户端。
(3)服务器接收到客户端发送过来的e,按照下面的公式计算出密钥协商结果:
K=(e)^y mod p
(4)客户端收到服务器端发送过来的f,同样按照下面的公式计算出密钥协商结果:
K=(f)^x mod p
本发明实施例中,采集者通过替换数据包中DH密钥交换的参数,达到了分别于客户端、服务端进行密钥交换的目的,从而得到了客户端一侧和服务端一侧的秘钥协商结果。
(5)客户端与服务端之间进行密文传输时,采集者首先利用输入一侧的传输密钥将数据包中的SSH2消息解密成明文,计算HMAC值校验该消息,然后将明文SSH2数据包作为采集成果输出,最后利用输出一侧的传输密钥将明文SSH2消息加密成密文,并重新计算HMAC值。
其中,由于客户端和服务端持有的密钥不同,因此客户端加密的数据服务端用它的密钥是解不出来的,需要通过中间的数据采集者先用客户端密钥解密,再用服务端密钥加密,服务端才能解密出明文,因此这里数据采集者用输入一侧的密钥解密,再用输出一侧的密钥加密。
(6)在上述过程中,还会存在诸如ACK包等不包含TCP载荷的数据包,对此采集者在中间处理这一步不对数据包进行改变。
相应地,本发明还提供了SSH2协议数据的采集装置。
图6为本发明实施例中SSH2协议数据的采集装置的装置结构图,客户端设备与服务端设备之间建立了SSH2连接,所述装置包括:
获取单元601,用于获取所述客户端设备与所述服务端设备之间传输的SSH2数据包;
重组单元602,用于将所述获取单元601获取的SSH2数据包重组排列为有序的网络数据包;
检测单元603,用于依次检测所述重组单元602SSH2重组后的数据包的类型;
第一处理单元604,用于当所述检测单元603检测出的所述SSH2数据包的类型表明所述SSH2数据包为SSH2协议握手阶段的数据包时,记录原握手信息,替换为新的握手信息,当握手信息充分时推导出SSH2密钥协商后的传输密钥;
第二处理单元605,用于当所述检测单元603检测出的所述SSH2数据包的类型表明所述SSH2数据包为SSH2协议密文传输阶段的数据包,则利用推导出的所述传输密钥,将所述SSH2协议密文传输阶段的数据包所携带的密文数据转换成明文数据,将所述明文数据作为采集成果输出。
优选地,所述装置还包括:
数据包封装发送单元,用于对于所述第一处理单元替换为新的握手信息的SSH2协议握手阶段的数据包,重新确定传输控制协议TCP包头和网际互联协议IP包头,以及对所述替换为新的握手信息的SSH2协议握手阶段的数据包重新进行数据包封装,发送给接收方设备,所述接收方设备为所述客户端设备或所述服务端设备;
加密单元,用于对于所述第二处理单元处理后的SSH2协议密文传输阶段的数据包,利用推导出的所述传输密钥将所述明文数据加密成密文数据;
所述数据包封装发送单元,还用于针对所述加密单元加密的密文数据重新确定TCP包头和IP包头,以及对所述密文数据重新进行数据包封装,发送给接收方设备。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种安全外壳SSH2协议数据的采集方法,其特征在于,客户端设备与服务端设备之间建立了SSH2连接,所述方法包括:
获取所述客户端设备与所述服务端设备之间传输的SSH2数据包;
将所述SSH2数据包重组排列为有序的网络数据包;
依次检测所述SSH2数据包的类型;
若所述SSH2数据包的类型表明所述SSH2数据包为SSH2协议握手阶段的数据包,则记录原握手信息,替换为新的握手信息,当握手信息充分时推导出SSH2密钥协商后的传输密钥;
若所述SSH2数据包的类型表明所述SSH2数据包为SSH2协议密文传输阶段的数据包,则利用推导出的所述传输密钥,将所述SSH2协议密文传输阶段的数据包所携带的密文数据转换成明文数据,将所述明文数据作为采集成果输出。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
对于替换为新的握手信息的SSH2协议握手阶段的数据包,重新确定传输控制协议TCP包头和网际互联协议IP包头,以及对所述替换为新的握手信息的SSH2协议握手阶段的数据包重新进行数据包封装,发送给接收方设备,所述接收方设备为所述客户端设备或所述服务端设备;
对于SSH2协议密文传输阶段的数据包,利用推导出的所述传输密钥将所述明文数据加密成密文数据,重新确定TCP包头和IP包头,以及对所述密文数据重新进行数据包封装,发送给接收方设备。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
若所述SSH2数据包的类型表明所述SSH2数据包为不含TCP载荷的数据包,则将所述不含TCP载荷的数据包发送给接收方设备。
4.如权利要求3所述的方法,其特征在于,所述将所述SSH2数据包重组排列为有序的网络数据包,具体包括:
将SSH2连接两个方向的数据包加入不同队列,按照TCP的序列号SEQ对所述SSH2数据包进行有序排列。
5.如权利要求4中任一权利要求所述的方法,其特征在于,所述SSH2协议握手阶段包括版本协商子阶段、算法协商子阶段和密钥协商子阶段,所述若所述SSH2数据包的类型表明所述SSH2数据包为SSH2协议握手阶段的数据包,则记录原握手信息,替换为新的握手信息,当握手信息充分时推导出SSH2密钥协商后的传输密钥,具体包括:
对于版本协商子阶段的数据包,记录原版本协商信息,替换为新的版本协商信息;
对于算法协商子阶段的数据包,记录原算法协商信息,替换为新的算法协商信息,当记录完所述客户端设备和所述服务端设备的算法协商信息后,分别推导所述客户端设备一侧的算法协商结果和所述服务端设备一侧的算法协商结果;
对于密钥协商子阶段的数据包,记录原密钥协商信息,替换为新的密钥协商信息,当接收到SSH2协议的新密钥启用消息后,分别推导所述客户端设备一侧的SSH2传输密钥和所述服务端设备一侧的SSH2传输密钥。
6.如权利要求5所述的方法,其特征在于,所述若所述SSH2数据包的类型表明所述SSH2数据包为SSH2协议密文传输阶段的数据包,则利用推导出的所述传输密钥,将所述SSH2协议密文传输阶段的数据包所携带的密文数据转换成明文数据,将所述明文数据作为采集成果输出,具体包括:
利用输入一侧的传输密钥将所述SSH2协议密文传输阶段的数据包所携带的密文数据转换成明文数据,通过哈希消息认证码HMAC值校验所述明文数据的完整性;
将校验结果为完整的所述明文数据作为采集成果输出。
7.如权利要求6所述的方法,其特征在于,所述对于SSH2协议密文传输阶段的数据包,利用推导出的所述传输密钥将所述明文数据加密成密文数据,具体包括:
利用输出一侧的传输密钥将校验后的所述明文数据加密成密文数据,并重新计算所述密文数据的HMAC值,校验所述密文数据的完整性;
所述重新确定TCP包头和IP包头,以及对所述密文数据重新进行数据包封装,发送给接收方设备,具体包括:
对于校验结果为完整的所述密文数据,重新确定TCP包头和IP包头,以及对所述密文数据重新进行数据包封装,发送给接收方设备。
8.如权利要求2至7中任一权利要求所述的方法,其特征在于,所述重新确定TCP包头和IP包头,具体包括:
判断所述数据包的长度是否发生改变;
若判断出所述数据包的长度发生改变,则重新确定IP包头的总长、IP包头的头部校验和字段,以及TCP包头中的序列号SEQ、确认号ACK、校验和字段;
若判断出所述数据包的长度没有发生改变,则重新确定TCP包头中的SEQ、ACK、校验和字段。
9.一种安全外壳SSH2协议数据的采集装置,其特征在于,客户端设备与服务端设备之间建立了SSH2连接,所述装置包括:
获取单元,用于获取所述客户端设备与所述服务端设备之间传输的SSH2数据包;
重组单元,用于将所述获取单元获取的SSH2数据包重组排列为有序的网络数据包;
检测单元,用于依次检测所述重组单元SSH2重组后的数据包的类型;
第一处理单元,用于当所述检测单元检测出的所述SSH2数据包的类型表明所述SSH2数据包为SSH2协议握手阶段的数据包时,记录原握手信息,替换为新的握手信息,当握手信息充分时推导出SSH2密钥协商后的传输密钥;
第二处理单元,用于当所述检测单元检测出的所述SSH2数据包的类型表明所述SSH2数据包为SSH2协议密文传输阶段的数据包,则利用推导出的所述传输密钥,将所述SSH2协议密文传输阶段的数据包所携带的密文数据转换成明文数据,将所述明文数据作为采集成果输出。
10.如权利要求9所述的装置,其特征在于,所述装置还包括:
数据包封装发送单元,用于对于所述第一处理单元替换为新的握手信息的SSH2协议握手阶段的数据包,重新确定传输控制协议TCP包头和网际互联协议IP包头,以及对所述替换为新的握手信息的SSH2协议握手阶段的数据包重新进行数据包封装,发送给接收方设备,所述接收方设备为所述客户端设备或所述服务端设备;
加密单元,用于对于所述第二处理单元处理后的SSH2协议密文传输阶段的数据包,利用推导出的所述传输密钥将所述明文数据加密成密文数据;
所述数据包封装发送单元,还用于针对所述加密单元加密的密文数据重新确定TCP包头和IP包头,以及对所述密文数据重新进行数据包封装,发送给接收方设备。
CN201410637319.5A 2014-11-05 2014-11-05 安全外壳ssh2协议数据的采集方法和装置 Active CN104394129B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201410637319.5A CN104394129B (zh) 2014-11-05 2014-11-05 安全外壳ssh2协议数据的采集方法和装置
PCT/CN2015/074081 WO2016070538A1 (zh) 2014-11-05 2015-03-12 安全外壳ssh2协议数据的采集方法和装置
JP2017523952A JP2017533674A (ja) 2014-11-05 2015-03-12 セキュアシェルssh2プロトコルデータの収集方法及び装置
EP15856581.2A EP3208989A4 (en) 2014-11-05 2015-03-12 Secure shell (ssh2) protocol data collection method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410637319.5A CN104394129B (zh) 2014-11-05 2014-11-05 安全外壳ssh2协议数据的采集方法和装置

Publications (2)

Publication Number Publication Date
CN104394129A true CN104394129A (zh) 2015-03-04
CN104394129B CN104394129B (zh) 2017-10-17

Family

ID=52611965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410637319.5A Active CN104394129B (zh) 2014-11-05 2014-11-05 安全外壳ssh2协议数据的采集方法和装置

Country Status (4)

Country Link
EP (1) EP3208989A4 (zh)
JP (1) JP2017533674A (zh)
CN (1) CN104394129B (zh)
WO (1) WO2016070538A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016070538A1 (zh) * 2014-11-05 2016-05-12 中国科学院声学研究所 安全外壳ssh2协议数据的采集方法和装置
CN106685896A (zh) * 2015-11-09 2017-05-17 中国科学院声学研究所 一种ssh协议多层通道内的明文数据采集方法及系统
CN106941476A (zh) * 2016-01-05 2017-07-11 中国科学院声学研究所 一种sftp数据采集及审计的方法及系统
CN107277035A (zh) * 2017-07-05 2017-10-20 北京信息职业技术学院 一种在tcp连接阶段传递客户端信息的方法
CN107453861A (zh) * 2016-05-30 2017-12-08 中国科学院声学研究所 一种基于ssh2协议的数据采集方法
CN111147480A (zh) * 2019-12-25 2020-05-12 中国银联股份有限公司 文件访问控制方法、装置、设备及介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095406B (zh) * 2020-08-07 2023-04-21 中国科学院数据与通信保护研究教育中心 一种密文数据机密性检测方法及电子装置
CN112769773B (zh) * 2020-12-24 2022-08-30 卡斯柯信号有限公司 一种基于国密算法的铁路安全通信协议仿真系统
CN114884715A (zh) * 2022-04-27 2022-08-09 深信服科技股份有限公司 一种流量检测方法、检测模型训练方法、装置及相关设备
CN115118487B (zh) * 2022-06-24 2023-08-25 山东旗帜信息有限公司 一种ssh数据采集方法及系统
US11811599B1 (en) 2023-01-23 2023-11-07 International Business Machines Corporation Multi-version compatibility for connectivity protocols
CN116432240B (zh) * 2023-06-08 2023-08-22 长扬科技(北京)股份有限公司 内网终端敏感数据的检测方法、装置、服务器及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172148A1 (en) * 2007-12-26 2009-07-02 Verizon Business Network Services Inc. Method and system for monitoring and analyzing of ip networks elements
CN101741842A (zh) * 2009-12-07 2010-06-16 北京交通大学 一种基于可信计算实现可信ssh的方法
CN101989987A (zh) * 2010-11-05 2011-03-23 黄艺海 安全终端仿真协议监控时实现加密文件传输和跟踪的方法
CN102857520A (zh) * 2012-10-11 2013-01-02 德讯科技股份有限公司 一种字符终端Telnet协议安全访问系统及方法
CN103873379A (zh) * 2012-12-18 2014-06-18 中国科学院声学研究所 一种基于重叠网的分布式路由抗毁策略配置方法和系统
CN103973781A (zh) * 2014-04-29 2014-08-06 上海上讯信息技术股份有限公司 一种基于代理服务器的屏幕监控方法及其系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI120072B (fi) * 2005-07-19 2009-06-15 Ssh Comm Security Corp Pakettidatan lähettäminen verkon yli tietoturvaprotokollaa käyttäen
US8856910B1 (en) * 2011-08-31 2014-10-07 Palo Alto Networks, Inc. Detecting encrypted tunneling traffic
WO2013110857A1 (en) * 2012-01-24 2013-08-01 Ssh Communications Security Oyj Privileged access auditing
CN104394129B (zh) * 2014-11-05 2017-10-17 中国科学院声学研究所 安全外壳ssh2协议数据的采集方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172148A1 (en) * 2007-12-26 2009-07-02 Verizon Business Network Services Inc. Method and system for monitoring and analyzing of ip networks elements
CN101741842A (zh) * 2009-12-07 2010-06-16 北京交通大学 一种基于可信计算实现可信ssh的方法
CN101989987A (zh) * 2010-11-05 2011-03-23 黄艺海 安全终端仿真协议监控时实现加密文件传输和跟踪的方法
CN102857520A (zh) * 2012-10-11 2013-01-02 德讯科技股份有限公司 一种字符终端Telnet协议安全访问系统及方法
CN103873379A (zh) * 2012-12-18 2014-06-18 中国科学院声学研究所 一种基于重叠网的分布式路由抗毁策略配置方法和系统
CN103973781A (zh) * 2014-04-29 2014-08-06 上海上讯信息技术股份有限公司 一种基于代理服务器的屏幕监控方法及其系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016070538A1 (zh) * 2014-11-05 2016-05-12 中国科学院声学研究所 安全外壳ssh2协议数据的采集方法和装置
CN106685896A (zh) * 2015-11-09 2017-05-17 中国科学院声学研究所 一种ssh协议多层通道内的明文数据采集方法及系统
CN106685896B (zh) * 2015-11-09 2019-08-20 中国科学院声学研究所 一种ssh协议多层通道内的明文数据采集方法及系统
CN106941476A (zh) * 2016-01-05 2017-07-11 中国科学院声学研究所 一种sftp数据采集及审计的方法及系统
CN106941476B (zh) * 2016-01-05 2019-10-22 中国科学院声学研究所 一种sftp数据采集及审计的方法及系统
CN107453861A (zh) * 2016-05-30 2017-12-08 中国科学院声学研究所 一种基于ssh2协议的数据采集方法
CN107453861B (zh) * 2016-05-30 2019-09-24 中国科学院声学研究所 一种基于ssh2协议的数据采集方法
CN107277035A (zh) * 2017-07-05 2017-10-20 北京信息职业技术学院 一种在tcp连接阶段传递客户端信息的方法
CN107277035B (zh) * 2017-07-05 2020-04-07 北京信息职业技术学院 一种在tcp连接阶段传递客户端信息的方法
CN111147480A (zh) * 2019-12-25 2020-05-12 中国银联股份有限公司 文件访问控制方法、装置、设备及介质
CN111147480B (zh) * 2019-12-25 2022-11-18 中国银联股份有限公司 文件访问控制方法、装置、设备及介质

Also Published As

Publication number Publication date
WO2016070538A1 (zh) 2016-05-12
CN104394129B (zh) 2017-10-17
JP2017533674A (ja) 2017-11-09
EP3208989A4 (en) 2017-08-30
EP3208989A1 (en) 2017-08-23

Similar Documents

Publication Publication Date Title
CN104394129A (zh) 安全外壳ssh2协议数据的采集方法和装置
US10419406B2 (en) Efficient forwarding of encrypted TCP retransmissions
Harkins et al. The internet key exchange (IKE)
US20110188659A1 (en) Method of integrating quantum key distribution with internet key exchange protocol
Saxena et al. Dynamic secrets and secret keys based scheme for securing last mile smart grid wireless communication
EP2561663A2 (en) System and method for providing secured access to services
Rabiah et al. A lightweight authentication and key exchange protocol for IoT
WO2013166696A1 (zh) 数据传输方法、系统及装置
CN115567206A (zh) 采用量子分发密钥实现网络数据报文加解密方法及系统
CN108040071A (zh) 一种VoIP音视频加密密钥动态切换方法
CN113784298B (zh) 基于量子密钥的北斗短报文的通信系统
EP3787254A1 (en) Methods and apparatus for end-to-end secure communications
JP2013077957A (ja) 中継装置、暗号化通信システム、暗号化通信プログラム、および暗号化通信方法
Hohendorf et al. Secure End-to-End Transport Over SCTP.
Imran et al. Misa: Minimalist implementation of onem2m security architecture for constrained iot devices
Zhang et al. Energy cost of cryptographic session key establishment in a wireless sensor network
Schwenk IP Security (IPSec)
Marksteiner et al. On the Resilience of a QKD Key Synchronization Protocol for IPsec
Yogender et al. Impact of Employing Different Security Levels on QoS Parameters in Virtual Private Networks.
CN213846703U (zh) 基于量子安全加密的企业vpn系统
Lindskog et al. An end-to-end security solution for SCTP
Cho3B et al. Quantum-Resistant MACsec and IPsec for Virtual Private Networks
Fumy Internet security protocols
Lindskog et al. The design and message complexity of secure socket SCTP
Rose et al. Network Working Group T. Pauly Internet-Draft Apple Inc. Intended status: Informational C. Perkins Expires: January 1, 2019 University of Glasgow

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210816

Address after: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District

Patentee after: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES

Address before: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District

Patentee before: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES

Patentee before: BEIJING INTELLIX TECHNOLOGIES Co.,Ltd.

Effective date of registration: 20210816

Address after: Room 1601, 16th floor, East Tower, Ximei building, No. 6, Changchun Road, high tech Industrial Development Zone, Zhengzhou, Henan 450001

Patentee after: Zhengzhou xinrand Network Technology Co.,Ltd.

Address before: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District

Patentee before: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES

TR01 Transfer of patent right