CN107707508A - 应用业务识别方法和装置 - Google Patents

应用业务识别方法和装置 Download PDF

Info

Publication number
CN107707508A
CN107707508A CN201610644942.2A CN201610644942A CN107707508A CN 107707508 A CN107707508 A CN 107707508A CN 201610644942 A CN201610644942 A CN 201610644942A CN 107707508 A CN107707508 A CN 107707508A
Authority
CN
China
Prior art keywords
fingerprint
applied business
incidence relation
data flow
digital certificate
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.)
Withdrawn
Application number
CN201610644942.2A
Other languages
English (en)
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201610644942.2A priority Critical patent/CN107707508A/zh
Publication of CN107707508A publication Critical patent/CN107707508A/zh
Withdrawn legal-status Critical Current

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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种应用业务识别方法和装置,该方法包括:获取预设数字证书的指纹与其对应的应用业务之间的关联关系;获取数据流;从数据流中提取数字证书,并计算数字证书的指纹;根据预设数字证书的指纹与其对应的应用业务之间的关联关系,查找出与数字证书的指纹具有关联关系的应用业务,作为数据流对应的应用业务。根据本发明,预先设置数字证书的指纹与应用业务之间的关联关系,当需要对数据流进行分析时,则提取数据流的数字证书并计算指纹,基于关联关系可以精准地识别出该数据流对应的应用业务。

Description

应用业务识别方法和装置
技术领域
本发明涉及移动通信领域,尤其涉及一种应用业务识别方法和装置。
背景技术
在移动通讯领域,分组域网关设备或独立流量检测设备通常具备用户应用业务识别能力,典型地,通过DPI(Deep Packet Inspection,深度报文检测)技术进行流量识别。
DPI技术通常包括多种不同的识别方法,如基于DNS(Domain Name System,域名系统)、IP(Internet Protocol,互联网协议)地址或TCP/UDP(Transmission ControlProtocol,传输控制协议;User Datagram Protocol,用户数据报协议)端口号的浅层检测法,基于应用业务协议特征或字符序列的深层检测法,基于TCP/UDP流与流之间关联关系的强启发式检测法,基于业务事件关联关系的弱启发式检测法,基于长度/方向/速率等属性的统计检测法。
上述DPI检测法,对于基于明文、自定义协议或不完全加密的应用流量较为有效,但是对于以现代密码学为基础的传输层加密协议SSL/TLS(Secure Socket Layer,安全套接字层;Transport Layer Security,TLS)则效果较差。这是因为SSL/TLS应用数据采用DES/3DES/AES(Data Encryption Standard,数据加密标准;三重数据加密标准;AdvancedEncryption Standard,高级加密标准)等加密算法,密文完全无规律可循,普通DPI特征检测结果的真实性无法保证,可能产生误识别,无法处理用户采用针对性软件伪造特征以欺骗DPI检测的复杂问题。
移动通信运营商通常需要应用业务的精确识别结果,从而进行精确地阻断、限速、QoS(Quality of Service,服务质量)保证或内容计费。对特定应用业务免收流量费是移动运营商智能管道流量经营的一项重要创收服务,它相当于将对用户的流量收费转移到企业身上,是一种交叉收费方式,从而创造用户、企业、运营商的共赢。如果DPI检测结果不精确,可能有的流量应该收费,却错误地给予免费,从而造成企业的额外支出,或运营商收入损失以及信誉影响。
典型地,如某运营商要求对基于SSL/TLS的某应用流量精确识别,对于用户使用该应用的流量给予免费,而这部分费用由运营该应用的企业统一支付。通常的DPI检测法,会基于该应用流量中的DNS域名、SSL/TLS业务名字段、SSL/TLS证书通用名等特征进行识别,将符合以上特征的流量归为该应用。但是,这样的检测法很容易被人利用,开发出符合上述特征的应用层隧道软件,让使用此类软件的用户可以免费访问任何网站或应用。这部分流量与付费企业的统计核对不符,损失可能由企业与运营商共同承担。
发明内容
有鉴于此,本发明的目的在于提供一种应用业务识别方法和装置,以解决如何精准识别数据流相关的应用业务的问题。
本发明解决上述技术问题所采用的技术方案如下:
根据本发明的一个方面,提供的一种应用业务识别方法,包括:获取预设数字证书的指纹与其对应的应用业务之间的关联关系;获取数据流;从数据流中提取数字证书,并计算所述数字证书的指纹;根据所述预设数字证书的指纹与其对应的应用业务之间的关联关系,查找出与所述数字证书的指纹具有关联关系的应用业务,作为所述数据流对应的应用业务。
优选地,前述的方法,还包括:在查找到与所述数字证书的指纹具有关联关系的应用业务后,计算所述数据流的会话指纹,并建立所述会话指纹与所述应用业务的关联关系。
优选地,前述的方法,还包括:在未查找出与所述数字证书的指纹具有关联关系的应用业务时,获取已建立会话指纹与其对应的应用业务之间的关联关系;计算所述数据流的会话指纹;根据所述已建立会话指纹与其对应的应用业务之间的关联关系,查找出与所述会话指纹具有关联关系的应用业务,作为所述数据流对应的业务。
优选地,前述的方法,获取已建立会话指纹与其对应的应用业务之间的关联关系,具体包括:将所述已建立会话指纹与其对应的应用业务之间的关联关系获取到内存中,当其中任一会话指纹与对应应用业务的关联关系在预设时长内未被查找到时,从所述内存中进行释放。
优选地,前述的方法,获取数据流,具体包括:采用内存索引表将所述数据流获取到内存中,并在所述数据流的连接中断时从所述内存中释放所述数据流。
优选地,前述的方法,所述预设数字证书为从所述应用业务对应的服务端获取的服务端数字证书;从所述数据流中提取的数字证书为服务端数字证书。
依据本发明的另一方面,提供的一种应用业务识别装置,包括:第一关联关系获取模块,用于获取预设数字证书的指纹与其对应的应用业务之间的关联关系;数据流获取模块,用于获取数据流;第一指纹计算模块,用于从数据流中提取数字证书,并计算所述数字证书的指纹;第一应用业务查找模块,用于根据所述预设数字证书的指纹与其对应的应用业务之间的关联关系,查找出与所述数字证书的指纹具有关联关系的应用业务,作为所述数据流对应的应用业务。
优选地,前述的装置,还包括:关联关系建立模块,用于在查找到与所述数字证书的指纹具有关联关系的应用业务后,计算所述数据流的会话指纹,并建立所述会话指纹与所述应用业务的关联关系。
优选地,前述的装置,还包括:第二关联关系获取模块,用于在未查找出与所述数字证书的指纹具有关联关系的应用业务时,获取已建立会话指纹与其对应的应用业务之间的关联关系;第二指纹计算模块,用于计算所述数据流的会话指纹;第二应用业务查找模块,用于根据所述已建立会话指纹与其对应的应用业务之间的关联关系,查找出与所述会话指纹具有关联关系的应用业务,作为所述数据流对应的业务。
优选地,前述的装置,所述第二关联关系获取模块将所述已建立会话指纹与其对应的应用业务之间的关联关系获取到内存中,当其中任一会话指纹与对应应用业务的关联关系在预设时长内未被查找到时,从所述内存中进行释放。
优选地,前述的装置,所述数据流获取模块采用内存索引表将所述数据流获取到内存中,并在所述数据流的连接中断时从所述内存中释放所述数据流。
优选地,前述的装置,所述预设数字证书为从所述应用业务对应的服务端获取的服务端数字证书;从所述数据流中提取的数字证书为服务端数字证书。
根据以上技术方案,可知本发明的应用业务识别方法和装置至少具有以下优点:
根据本发明的技术方案,预先设置数字证书的指纹与应用业务之间的关联关系,当需要对数据流进行分析时,则提取数据流的数字证书并计算指纹,基于关联关系可以精准地识别出该数据流对应的应用业务。
附图说明
图1为本发明实施例的一个实施例的应用业务识别方法的流程图;
图2为本发明实施例的一个实施例的应用业务识别方法的流程图;
图3为本发明实施例的一个实施例的应用业务识别装置的框图;
图4本发明实施例的一个实施例的应用业务识别装置的框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明的一个实施例中提供了一种应用业务识别方法,包括:
步骤S110,获取预设数字证书的指纹与其对应的应用业务之间的关联关系。在本实施例中,可以实现一种分组域网关设备,或者独立流量检测设备,用来执行本实施例的技术方案,为保证上述设备顺利工作,需要预先为该设备建立数字证书指纹与应用业务的关联关系。通过用户端访问该目标应用业务的服务端,获取其中的数字证书(证书链)。通过用户端自身或其它工具验证该数字证书(证书链)的合法性、合理性。只对合法或合理的数字证书,选取适当的散列算法计算该服务端数字证书的指纹。对数字证书指纹、应用业务名称、数字证书有效期,以及其它相关信息建立关联关系。在本实施例中,当关联关系建立完成后,将数字证书指纹与应用业务的关联关系,加载到前述的分组域网关设备或独立流量检测设备中,并使其生效。
步骤S120,获取数据流。在本实施例中,数据流包括但不限于SSL/TLS流,本领域技术人员容易理解,SSL/TLS是一种组合运用多种现代密码学技术的传输层框架性协议。它采用高性能的对称加密算法对应用数据进行加密,采用非对称密钥交换算法来传输会话密钥,采用安全的单向散列算法构造数字证书以在不可信网络中传送公钥,并采用PKI/CA(Public Key Infrastructure/Certificate Authority,公钥基础设施/证书颁发机构)信任体系验证数字证书的合法性。
对于某一种基于SSL/TLS的应用而言,用户端通过服务端提供的数字证书确认服务端的身份合法性,也就是说服务端的数字证书可以证明服务的真实性。因此,数字证书可以用于精确的识别一种应用业务。又因为数字证书有效期较长,典型地,普通数字证书有效期最长为3年,高级数字证书有效期最长为2年。因此,数字证书可以用于稳定地识别一种应用业务。
步骤S130,从数据流中提取数字证书,并计算数字证书的指纹。在本实施例中,对于某一条SSL/TLS流(即,具有相同五元组的IP报文:用户侧IP地址、用户侧TCP端口、网络侧IP地址、网络侧TCP端口、传输层协议类型为TCP),分组域网关设备或独立流量检测设备采用与前述相同的散列算法,提取并计算流量中数字证书的指纹。
步骤S140,根据预设数字证书的指纹与其对应的应用业务之间的关联关系,查找出与数字证书的指纹具有关联关系的应用业务,作为数据流对应的应用业务。
可见根据实施例的技术方案,预先设置数字证书的指纹与应用业务之间的关联关系,当需要对数据流进行分析时,则提取数据流的数字证书并计算指纹,基于关联关系可以精准地识别出该数据流对应的应用业务。
如图2所示,本发明的一个实施例中提供了一种应用业务识别方法,包括:
步骤S210,获取预设数字证书的指纹与其对应的应用业务之间的关联关系。一个或多个数字证书为从应用业务对应的服务端获取的服务端数字证书。在本实施例中,首先建立数字证书指纹与应用业务的关联关系。通过该应用的客户端访问该应用的服务端,在访问的过程中,获取相应的SSL/TLS流量。从SSL/TLS流量中,获取服务端的数字证书,这里通常获取到的是包括服务端证书和中级CA证书的证书链,也有可能只获取到单独的服务端证书。
采集数字证书的过程,需要确保不应该采集中间人代理的数字证书,因为中间人代理不能代表真实的应用服务端。通常,中间人代理是无法通过合法的根证书校验的,因此,用于校验采集数字证书的根证书需要经过严格的检查,不能混入可疑的或者非知名企业自签发的根证书。
采用OpenSSL或者GnuTLS或者其它类似工具,基于合法的根CA证书,对前述获取到的服务端数字证书进行校验。校验过程通常包括证书链的层层签名的正确性,根CA的签名正确性,证书的有效期,证书的域名是否匹配,证书是否已被吊销,等等。证书吊销通常通过CRL(Certificate Revocation List,证书吊销列表)或者OCSP(Online CertificateStatus Protocol,在线证书状态协议)机制进行检测判定。
如果该应用业务服务端的数字证书合法,则可以进行后续流程。如果该数字证书不合法,但原因仅仅是因为该证书为自签发证书,则需要人工确认其合理性。如众所周知的12306.cn采用的就是SRCA(Sinorail Certification Authority,中铁数字证书认证中心)自签发证书,虽不合法但合理,对于合理的自签名证书,也可以进行后续流程。对于该数字证书既不合法又不合理的情况,无法进行后续流程。对合法性、合理性的策略,这是因为本发明着眼于应用业务识别的精确性,对于可能的中间人劫持情况,不正确即不精确。
对于通过合法性、合理性检查的数字证书,对于证书链的情况不取中级CA数字证书,而只取应用服务端数字证书。采用适当的散列算法,如MD5(Message Digest 5,报文摘要5)或SHA-1(Secure Hash Algorithm,安全散列算法-1)等算法,计算该数字证书的指纹。也可以采用适当的压缩机制,进一步将指纹压缩为4字节或8字节,以便于节省存储空间。
将该数字证书指纹,与该应用业务的名称,该应用业务的编号,该数字证书的有效期,该数字证书的其它一些必要信息,如颁发者、使用者、CRL等,建立关联关系。关联关系可以存在于文件、数据库或云服务中。根据本实施例的技术方案,可以实现一种分组域网关设备,或者独立流量检测设备,通过人工或自动的网络管理机制,从最新的前述关联关系文件、数据库或云服务中,获取最新的数字证书指纹与应用业务关联关系。通常,设备将这些关联关系更新加载到内存中,并以适当的数据结构组织以便于高速查找匹配。通常,采用带索引的表的形式储存这些关联关系数据。
步骤S220,采用内存索引表将数据流获取到内存中,并在数据流的连接中断时从内存中释放数据流。在本实施例中,在每一个用户地址无冲突的网络中,分组域网关设备或独立流量检测设备基于五元组进行SSL/TLS流检测,五元组包括:用户侧IP地址、用户侧TCP端口、网络侧IP地址、网络侧TCP端口、传输层协议类型为TCP。具有相同五元组的IP报文属于同一条SSL/TLS流。
步骤S230,从数据流中提取数字证书,并计算数字证书的指纹。从数据流中提取的数字证书为服务端数字证书。在本实施例中,分组域网关设备或独立流量检测设备对于一条SSL/TLS流,从其中提取服务端数字证书,对于证书链的情况不取中级CA数字证书,而只取应用服务端数字证书。按照前述相同的散列算法,如MD5或SHA-1等算法,计算该数字证书的指纹。如果前述采集过程对指纹进行了压缩,则需采用与前述相同的压缩机制,进一步将指纹压缩为长度相同的4字节或8字节。在本实施例中,对于SSL/TLS流可以采用内存索引表的方式实现,通常出于节省内存的目的,每一个SSL/TLS流都应该在TCP连接终止时释放,以回收内存。另外,对于长时间没有流量通过,且没有TCP连接终止的SSL/TLS流,可以根据适当的空闲时长,自动释放该SSL/TLS流。
步骤S240,根据预设数字证书的指纹与其对应的应用业务之间的关联关系,查找出与数字证书的指纹具有关联关系的应用业务,作为数据流对应的应用业务。在本实施例中,分组域网关设备或独立流量检测设备将上述提取并计算得到的指纹,到前述关联关系索引表中查找,如果成功找到一条关联关系记录,则认为该SSL/TLS流被成功识别为对应关联关系中记录的应用业务。可以将该应用业务名称输出给设备中后续流程,如:进行阻断、限速、QoS保证、内容计费等。
步骤S250,在查找到与数字证书的指纹具有关联关系的应用业务后,计算数据流的会话指纹,并建立会话指纹与应用业务的关联关系。在本实施例中,从已经成功识别出应用业务的SSL/TLS流中,提取Session ID(SSL/TLS中用于识别一次会话的一段数据)值或SessionTicket(TLS中用于识别一次会话的一段数据)值,用适当的散列算法对这两个值中的有效值计算其指纹,并记录该指纹与应用业务的关联关系。
步骤S260,在未查找出与数字证书的指纹具有关联关系的应用业务时,将已建立会话指纹与其对应的应用业务之间的关联关系获取到内存中,当其中任一会话指纹与对应应用业务的关联关系在预设时长内未被查找到时,从内存中进行释放。在本实施例中,对于存储会话指纹的索引表或其它数据结构,通常出于节省内存的目的,对于长时间没有匹配过的表项或记录,可以根据适当的空闲时长,自动释放该表项或记录。
步骤S270,计算数据流的会话指纹。在本实施例中,对于不包含数字证书的SSL/TLS流,分组域网关设备或独立流量检测设备通过采用相同的散列算法对其Session ID值或SessionTicket值中的有效值计算其指纹。
步骤S280,根据已建立会话指纹与其对应的应用业务之间的关联关系,查找出与会话指纹具有关联关系的应用业务,作为数据流对应的业务。在本实施例中,分组域网关设备或独立流量检测设备将这个指纹与前述关联关系中的指纹比对,对比结果如果匹配,则将这条SSL/TLS流识别为该应用业务。
综上所述,本发明通过对基于SSL/TLS的应用业务的数字证书的识别,转化为对该应用业务的精确识别,从而提高现有DPI技术的识别精确性。
如图3所示,本发明的一个实施例中提供了一种应用业务识别装置,包括:
第一关联关系获取模块310,获取预设数字证书的指纹与其对应的应用业务之间的关联关系。在本实施例中,可以实现一种分组域网关设备,或者独立流量检测设备,用来执行本实施例的技术方案,为保证上述设备顺利工作,需要预先为该设备建立数字证书指纹与应用业务的关联关系。通过用户端访问该目标应用业务的服务端,获取其中的数字证书(证书链)。通过用户端自身或其它工具验证该数字证书(证书链)的合法性、合理性。只对合法或合理的数字证书,选取适当的散列算法计算该服务端数字证书的指纹。对数字证书指纹、应用业务名称、数字证书有效期,以及其它相关信息建立关联关系。在本实施例中,当关联关系建立完成后,将数字证书指纹与应用业务的关联关系,加载到前述的分组域网关设备或独立流量检测设备中,并使其生效。
数据流获取模块320,获取数据流。在本实施例中,数据流包括但不限于SSL/TLS流,本领域技术人员容易理解,SSL/TLS是一种组合运用多种现代密码学技术的传输层框架性协议。它采用高性能的对称加密算法对应用数据进行加密,采用非对称密钥交换算法来传输会话密钥,采用安全的单向散列算法构造数字证书以在不可信网络中传送公钥,并采用PKI/CA(Public Key Infrastructure/Certificate Authority,公钥基础设施/证书颁发机构)信任体系验证数字证书的合法性。
对于某一种基于SSL/TLS的应用而言,用户端通过服务端提供的数字证书确认服务端的身份合法性,也就是说服务端的数字证书可以证明服务的真实性。因此,数字证书可以用于精确的识别一种应用业务。又因为数字证书有效期较长,典型地,普通数字证书有效期最长为3年,高级数字证书有效期最长为2年。因此,数字证书可以用于稳定地识别一种应用业务。
第一指纹计算模块330,从数据流中提取数字证书,并计算数字证书的指纹。在本实施例中,对于某一条SSL/TLS流(即,具有相同五元组的IP报文:用户侧IP地址、用户侧TCP端口、网络侧IP地址、网络侧TCP端口、传输层协议类型为TCP),分组域网关设备或独立流量检测设备采用与前述相同的散列算法,提取并计算流量中数字证书的指纹。
第一应用业务查找模块340,根据预设数字证书的指纹与其对应的应用业务之间的关联关系,查找出与数字证书的指纹具有关联关系的应用业务,作为数据流对应的应用业务。
可见根据实施例的技术方案,预先设置数字证书的指纹与应用业务之间的关联关系,当需要对数据流进行分析时,则提取数据流的数字证书并计算指纹,基于关联关系可以精准地识别出该数据流对应的应用业务。
如图4所示,本发明的一个实施例中提供了一种应用业务识别装置,包括:
第一关联关系获取模块410,获取预设数字证书的指纹与其对应的应用业务之间的关联关系。一个或多个数字证书为从应用业务对应的服务端获取的服务端数字证书。在本实施例中,首先建立数字证书指纹与应用业务的关联关系。通过该应用的客户端访问该应用的服务端,在访问的过程中,获取相应的SSL/TLS流量。从SSL/TLS流量中,获取服务端的数字证书,这里通常获取到的是包括服务端证书和中级CA证书的证书链,也有可能只获取到单独的服务端证书。
采集数字证书的过程,需要确保不应该采集中间人代理的数字证书,因为中间人代理不能代表真实的应用服务端。通常,中间人代理是无法通过合法的根证书校验的,因此,用于校验采集数字证书的根证书需要经过严格的检查,不能混入可疑的或者非知名企业自签发的根证书。
采用OpenSSL或者GnuTLS或者其它类似工具,基于合法的根CA证书,对前述获取到的服务端数字证书进行校验。校验过程通常包括证书链的层层签名的正确性,根CA的签名正确性,证书的有效期,证书的域名是否匹配,证书是否已被吊销,等等。证书吊销通常通过CRL(Certificate Revocation List,证书吊销列表)或者OCSP(Online CertificateStatus Protocol,在线证书状态协议)机制进行检测判定。
如果该应用业务服务端的数字证书合法,则可以进行后续流程。如果该数字证书不合法,但原因仅仅是因为该证书为自签发证书,则需要人工确认其合理性。如众所周知的12306.cn采用的就是SRCA(Sinorail Certification Authority,中铁数字证书认证中心)自签发证书,虽不合法但合理,对于合理的自签名证书,也可以进行后续流程。对于该数字证书既不合法又不合理的情况,无法进行后续流程。对合法性、合理性的策略,这是因为本发明着眼于应用业务识别的精确性,对于可能的中间人劫持情况,不正确即不精确。
对于通过合法性、合理性检查的数字证书,对于证书链的情况不取中级CA数字证书,而只取应用服务端数字证书。采用适当的散列算法,如MD5(Message Digest 5,报文摘要5)或SHA-1(Secure Hash Algorithm,安全散列算法-1)等算法,计算该数字证书的指纹。也可以采用适当的压缩机制,进一步将指纹压缩为4字节或8字节,以便于节省存储空间。
将该数字证书指纹,与该应用业务的名称,该应用业务的编号,该数字证书的有效期,该数字证书的其它一些必要信息,如颁发者、使用者、CRL等,建立关联关系。关联关系可以存在于文件、数据库或云服务中。根据本实施例的技术方案,可以实现一种分组域网关设备,或者独立流量检测设备,通过人工或自动的网络管理机制,从最新的前述关联关系文件、数据库或云服务中,获取最新的数字证书指纹与应用业务关联关系。通常,设备将这些关联关系更新加载到内存中,并以适当的数据结构组织以便于高速查找匹配。通常,采用带索引的表的形式储存这些关联关系数据。
数据流获取模块420,采用内存索引表将数据流获取到内存中,并在数据流的连接中断时从内存中释放数据流。在本实施例中,在每一个用户地址无冲突的网络中,分组域网关设备或独立流量检测设备基于五元组进行SSL/TLS流检测,五元组包括:用户侧IP地址、用户侧TCP端口、网络侧IP地址、网络侧TCP端口、传输层协议类型为TCP。具有相同五元组的IP报文属于同一条SSL/TLS流。
第一指纹计算模块430,从数据流中提取数字证书,并计算数字证书的指纹。从数据流中提取的数字证书为服务端数字证书。在本实施例中,分组域网关设备或独立流量检测设备对于一条SSL/TLS流,从其中提取服务端数字证书,对于证书链的情况不取中级CA数字证书,而只取应用服务端数字证书。按照前述相同的散列算法,如MD5或SHA-1等算法,计算该数字证书的指纹。如果前述采集过程对指纹进行了压缩,则需采用与前述相同的压缩机制,进一步将指纹压缩为长度相同的4字节或8字节。在本实施例中,对于SSL/TLS流可以采用内存索引表的方式实现,通常出于节省内存的目的,每一个SSL/TLS流都应该在TCP连接终止时释放,以回收内存。另外,对于长时间没有流量通过,且没有TCP连接终止的SSL/TLS流,可以根据适当的空闲时长,自动释放该SSL/TLS流。
第一应用业务查找模块440,根据预设数字证书的指纹与其对应的应用业务之间的关联关系,查找出与数字证书的指纹具有关联关系的应用业务,作为数据流对应的应用业务。在本实施例中,分组域网关设备或独立流量检测设备将上述提取并计算得到的指纹,到前述关联关系索引表中查找,如果成功找到一条关联关系记录,则认为该SSL/TLS流被成功识别为对应关联关系中记录的应用业务。可以将该应用业务名称输出给设备中后续流程,如:进行阻断、限速、QoS保证、内容计费等。
关联关系建立模块450,在查找到与数字证书的指纹具有关联关系的应用业务后,计算数据流的会话指纹,并建立会话指纹与应用业务的关联关系。在本实施例中,从已经成功识别出应用业务的SSL/TLS流中,提取Session ID(SSL/TLS中用于识别一次会话的一段数据)值或SessionTicket(TLS中用于识别一次会话的一段数据)值,用适当的散列算法对这两个值中的有效值计算其指纹,并记录该指纹与应用业务的关联关系。
第二关联关系获取模块460,在未查找出与数字证书的指纹具有关联关系的应用业务时,将已建立会话指纹与其对应的应用业务之间的关联关系获取到内存中,当其中任一会话指纹与对应应用业务的关联关系在预设时长内未被查找到时,从内存中进行释放。在本实施例中,对于存储会话指纹的索引表或其它数据结构,通常出于节省内存的目的,对于长时间没有匹配过的表项或记录,可以根据适当的空闲时长,自动释放该表项或记录。
第二指纹计算模块470,计算数据流的会话指纹。在本实施例中,对于不包含数字证书的SSL/TLS流,分组域网关设备或独立流量检测设备通过采用相同的散列算法对其Session ID值或SessionTicket值中的有效值计算其指纹。
第二应用业务查找模块480,根据已建立会话指纹与其对应的应用业务之间的关联关系,查找出与会话指纹具有关联关系的应用业务,作为数据流对应的业务。在本实施例中,分组域网关设备或独立流量检测设备将这个指纹与前述关联关系中的指纹比对,对比结果如果匹配,则将这条SSL/TLS流识别为该应用业务。
综上所述,本发明通过对基于SSL/TLS的应用业务的数字证书的识别,转化为对该应用业务的精确识别,从而提高现有DPI技术的识别精确性。
在本发明的一个实施例中提供了一种计算机可读介质,其中存储了计算机程序,该计算机程序当被计算机的处理器执行时控制计算机以执行以下步骤:获取预设数字证书的指纹与其对应的应用业务之间的关联关系;获取数据流;从数据流中提取数字证书,并计算所述数字证书的指纹;根据所述预设数字证书的指纹与其对应的应用业务之间的关联关系,查找出与所述数字证书的指纹具有关联关系的应用业务,作为所述数据流对应的应用业务。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

Claims (10)

1.一种应用业务识别方法,其特征在于,包括:
获取预设数字证书的指纹与其对应的应用业务之间的关联关系;
获取数据流;
从数据流中提取数字证书,并计算所述数字证书的指纹;
根据所述预设数字证书的指纹与其对应的应用业务之间的关联关系,查找出与所述数字证书的指纹具有关联关系的应用业务,作为所述数据流对应的应用业务。
2.根据权利要求1所述的方法,其特征在于,还包括:
在查找到与所述数字证书的指纹具有关联关系的应用业务后,计算所述数据流的会话指纹,并建立所述会话指纹与所述应用业务的关联关系。
3.根据权利要求2所述的方法,其特征在于,还包括:
在未查找出与所述数字证书的指纹具有关联关系的应用业务时,获取已建立会话指纹与其对应的应用业务之间的关联关系;
计算所述数据流的会话指纹;
根据所述已建立会话指纹与其对应的应用业务之间的关联关系,查找出与所述会话指纹具有关联关系的应用业务,作为所述数据流对应的业务。
4.根据权利要求3所述的方法,其特征在于,获取已建立会话指纹与其对应的应用业务之间的关联关系,具体包括:
将所述已建立会话指纹与其对应的应用业务之间的关联关系获取到内存中,当其中任一会话指纹与对应应用业务的关联关系在预设时长内未被查找到时,从所述内存中进行释放。
5.根据权利要求1所述的方法,其特征在于,获取数据流,具体包括:
采用内存索引表将所述数据流获取到内存中,并在所述数据流的连接中断时从所述内存中释放所述数据流。
6.根据权利要求1所述的方法,其特征在于,所述预设数字证书为从所述应用业务对应的服务端获取的服务端数字证书;从所述数据流中提取的数字证书为服务端数字证书。
7.一种应用业务识别装置,其特征在于,包括:
第一关联关系获取模块,用于获取预设数字证书的指纹与其对应的应用业务之间的关联关系;
数据流获取模块,用于获取数据流;
第一指纹计算模块,用于从数据流中提取数字证书,并计算所述数字证书的指纹;
第一应用业务查找模块,用于根据所述预设数字证书的指纹与其对应的应用业务之间的关联关系,查找出与所述数字证书的指纹具有关联关系的应用业务,作为所述数据流对应的应用业务。
8.根据权利要求7所述的装置,其特征在于,还包括:
关联关系建立模块,用于在查找到与所述数字证书的指纹具有关联关系的应用业务后,计算所述数据流的会话指纹,并建立所述会话指纹与所述应用业务的关联关系。
9.根据权利要求8所述的装置,其特征在于,还包括:
第二关联关系获取模块,用于在未查找出与所述数字证书的指纹具有关联关系的应用业务时,获取已建立会话指纹与其对应的应用业务之间的关联关系;
第二指纹计算模块,用于计算所述数据流的会话指纹;
第二应用业务查找模块,用于根据所述已建立会话指纹与其对应的应用业务之间的关联关系,查找出与所述会话指纹具有关联关系的应用业务,作为所述数据流对应的业务。
10.根据权利要求9所述的装置,其特征在于,
所述第二关联关系获取模块将所述已建立会话指纹与其对应的应用业务之间的关联关系获取到内存中,当其中任一会话指纹与对应应用业务的关联关系在预设时长内未被查找到时,从所述内存中进行释放。
CN201610644942.2A 2016-08-09 2016-08-09 应用业务识别方法和装置 Withdrawn CN107707508A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610644942.2A CN107707508A (zh) 2016-08-09 2016-08-09 应用业务识别方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610644942.2A CN107707508A (zh) 2016-08-09 2016-08-09 应用业务识别方法和装置

Publications (1)

Publication Number Publication Date
CN107707508A true CN107707508A (zh) 2018-02-16

Family

ID=61168792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610644942.2A Withdrawn CN107707508A (zh) 2016-08-09 2016-08-09 应用业务识别方法和装置

Country Status (1)

Country Link
CN (1) CN107707508A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450735A (zh) * 2018-12-04 2019-03-08 成都知道创宇信息技术有限公司 一种基于上行流量的识别tcp正常请求的方法
WO2020224341A1 (zh) * 2019-05-09 2020-11-12 中兴通讯股份有限公司 一种tls加密流量识别方法及装置
CN112202739A (zh) * 2020-09-17 2021-01-08 腾讯科技(深圳)有限公司 一种流量监控方法和装置
CN112636924A (zh) * 2020-12-23 2021-04-09 北京天融信网络安全技术有限公司 网络资产识别方法及装置、存储介质及电子设备
CN114401097A (zh) * 2022-01-25 2022-04-26 北京浩瀚深度信息技术股份有限公司 一种基于ssl证书指纹的https业务流量识别的方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594565A (zh) * 2012-02-23 2012-07-18 汉柏科技有限公司 利用数字证书识别加密协议的识别方法及系统
WO2012152979A1 (en) * 2011-05-06 2012-11-15 Nokia Corporation Determination of apparatus configuration and programming data
CN103229479A (zh) * 2012-12-28 2013-07-31 华为技术有限公司 一种网站识别方法、装置及网络系统
CN103905384A (zh) * 2012-12-26 2014-07-02 北京握奇数据系统有限公司 基于安全数字证书的嵌入式终端间会话握手的实现方法
CN104322001A (zh) * 2012-05-17 2015-01-28 思科技术公司 使用服务名称识别的传输层安全流量控制
CN104580172A (zh) * 2014-12-24 2015-04-29 北京奇虎科技有限公司 一种基于https协议的数据通信方法及装置
CN104753676A (zh) * 2013-12-31 2015-07-01 北龙中网(北京)科技有限责任公司 移动app开发者的身份验证方法及装置
CN105553942A (zh) * 2015-12-08 2016-05-04 中国建设银行股份有限公司 应用跳转的方法及系统
CN105592449A (zh) * 2014-10-20 2016-05-18 中国电信股份有限公司 业务识别方法和系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012152979A1 (en) * 2011-05-06 2012-11-15 Nokia Corporation Determination of apparatus configuration and programming data
CN102594565A (zh) * 2012-02-23 2012-07-18 汉柏科技有限公司 利用数字证书识别加密协议的识别方法及系统
CN104322001A (zh) * 2012-05-17 2015-01-28 思科技术公司 使用服务名称识别的传输层安全流量控制
CN103905384A (zh) * 2012-12-26 2014-07-02 北京握奇数据系统有限公司 基于安全数字证书的嵌入式终端间会话握手的实现方法
CN103229479A (zh) * 2012-12-28 2013-07-31 华为技术有限公司 一种网站识别方法、装置及网络系统
CN104753676A (zh) * 2013-12-31 2015-07-01 北龙中网(北京)科技有限责任公司 移动app开发者的身份验证方法及装置
CN105592449A (zh) * 2014-10-20 2016-05-18 中国电信股份有限公司 业务识别方法和系统
CN104580172A (zh) * 2014-12-24 2015-04-29 北京奇虎科技有限公司 一种基于https协议的数据通信方法及装置
CN105553942A (zh) * 2015-12-08 2016-05-04 中国建设银行股份有限公司 应用跳转的方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450735A (zh) * 2018-12-04 2019-03-08 成都知道创宇信息技术有限公司 一种基于上行流量的识别tcp正常请求的方法
WO2020224341A1 (zh) * 2019-05-09 2020-11-12 中兴通讯股份有限公司 一种tls加密流量识别方法及装置
CN112202739A (zh) * 2020-09-17 2021-01-08 腾讯科技(深圳)有限公司 一种流量监控方法和装置
CN112202739B (zh) * 2020-09-17 2021-12-14 腾讯科技(深圳)有限公司 一种流量监控方法和装置
CN112636924A (zh) * 2020-12-23 2021-04-09 北京天融信网络安全技术有限公司 网络资产识别方法及装置、存储介质及电子设备
CN114401097A (zh) * 2022-01-25 2022-04-26 北京浩瀚深度信息技术股份有限公司 一种基于ssl证书指纹的https业务流量识别的方法
CN114401097B (zh) * 2022-01-25 2023-10-20 北京浩瀚深度信息技术股份有限公司 一种基于ssl证书指纹的https业务流量识别的方法

Similar Documents

Publication Publication Date Title
CN107707508A (zh) 应用业务识别方法和装置
CN107749848B (zh) 物联网数据的处理方法、装置及物联网系统
CN107770182B (zh) 家庭网关的数据存储方法及家庭网关
CN103229479B (zh) 一种网站识别方法、装置及网络系统
CN107493273A (zh) 身份认证方法、系统及计算机可读存储介质
US8274401B2 (en) Secure data transfer in a communication system including portable meters
CN106209775B (zh) 一种ssl加密网络流的应用类型识别方法与装置
TWI796675B (zh) 基於區塊鏈的身份驗證方法及相關硬體
CN106161350B (zh) 一种管理应用标识的方法及装置
CN112543106B (zh) 一种基于区块链和群签名的车辆隐私匿名保护方法
WO2020000770A1 (zh) 基于区块链查询质押信息方法、装置及计算机设备
WO2011022918A1 (zh) 一种引入在线第三方的实体双向鉴别方法
CN103905194B (zh) 身份溯源认证方法及系统
US20210014053A1 (en) Unified Secure Device Provisioning
CN104869111B (zh) 一种终端可信接入认证系统及方法
CN101330494A (zh) 一种基于可信认证网关实现计算机终端安全准入的方法
WO2011026296A1 (zh) 引入在线可信第三方的实体鉴别方法
CN107786515B (zh) 一种证书认证的方法和设备
CN109450895A (zh) 一种流量识别方法、装置、服务器及存储介质
CN109359464A (zh) 一种基于区块链技术的无线安全认证方法
CN108805571A (zh) 数据保护方法、平台、区块链节点、系统和存储介质
CN114125773A (zh) 基于区块链和标识密码的车联网身份管理系统及管理方法
CN107579999A (zh) 数据来源设备的认证方法、装置和网络设备
CN108011873A (zh) 一种基于集合覆盖的非法连接判断方法
CN106941405A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20180216

WW01 Invention patent application withdrawn after publication