一种识别终端信息的方法及装置与流程

文档序号:15980441发布日期:2018-11-17 00:16阅读:348来源:国知局
本发明实施例涉及设备信息识别
技术领域
,具体涉及一种识别终端信息的方法及装置。
背景技术
随着信息技术的发展,智能手机、平板电脑和传统pc等不同终端的出现,使得数据互联和共享越来越方便,同时也引起了潜在安全隐患,政府、学校、企业等为了有效控制和保护重要数据的安全性和机密性,需要规范和管理终端设备,从而防止网络泄漏等安全事件的发生,为了较好地规范和管理终端设备,需要有效、准确地识别出多元化的终端信息,这成为了一道难题。现有技术识别终端信息主要通过如下方法:(1)分析http协议流量,提取httprequest中的user-agent等字段。但是,此字段极其容易修改,会被不法分子利用,导致误识别率较高。(2)解析tcp协议中的某些字段,用这种方法识别linux操作系统平台的终端设备比较准确,但无法区分windows操作系统和ios操作系统平台的终端设备,因此,该方法局限性比较明显。(3)通过往终端设备注入文件,然后采集终端设备的系统信息,再回收这些数据,这种方法技术难度比较高,且影响用户上网,代价大,易用性低,适用性不强。因此,如何避免上述缺陷,能够有效、准确地识别终端信息,从而便于规范和管理终端设备,成为亟须解决的问题。技术实现要素:针对现有技术存在的问题,本发明实施例提供一种识别终端信息的方法及装置。第一方面,本发明实施例提供一种识别终端信息的方法,所述方法包括:获取在建立安全套接层ssl连接的过程中待识别终端向服务器发送的建立所述ssl的连接请求;解析所述连接请求,以提取所述ssl中的目标协议信息字段;所述目标协议信息字段为所述待识别终端所支持的特定信息的协议信息字段;解析所述目标协议信息字段,以获取与所述特定信息相对应的信息特征;若判断获知所述信息特征和预设信息特征的比较结果相一致,则将所述预设信息特征对应的终端信息确定为所述待识别终端的信息识别结果。第二方面,本发明实施例提供一种识别终端信息的装置,所述装置包括:获取单元,用于获取在建立安全套接层ssl连接的过程中待识别终端向服务器发送的建立所述ssl的连接请求;提取单元,用于解析所述连接请求,以提取所述ssl中的目标协议信息字段;所述目标协议信息字段为所述待识别终端所支持的特定信息的协议信息字段;解析单元,用于解析所述目标协议信息字段,以获取与所述特定信息相对应的信息特征;识别单元,用于若判断获知所述信息特征和预设信息特征的比较结果相一致,则将所述预设信息特征对应的终端信息确定为所述待识别终端的信息识别结果。第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:获取在建立安全套接层ssl连接的过程中待识别终端向服务器发送的建立所述ssl的连接请求;解析所述连接请求,以提取所述ssl中的目标协议信息字段;所述目标协议信息字段为所述待识别终端所支持的特定信息的协议信息字段;解析所述目标协议信息字段,以获取与所述特定信息相对应的信息特征;若判断获知所述信息特征和预设信息特征的比较结果相一致,则将所述预设信息特征对应的终端信息确定为所述待识别终端的信息识别结果。第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:获取在建立安全套接层ssl连接的过程中待识别终端向服务器发送的建立所述ssl的连接请求;解析所述连接请求,以提取所述ssl中的目标协议信息字段;所述目标协议信息字段为所述待识别终端所支持的特定信息的协议信息字段;解析所述目标协议信息字段,以获取与所述特定信息相对应的信息特征;若判断获知所述信息特征和预设信息特征的比较结果相一致,则将所述预设信息特征对应的终端信息确定为所述待识别终端的信息识别结果。本发明实施例提供的识别终端信息的方法及装置,通过提取待识别终端所支持的特定信息的信息特征,若该信息特征和预设信息特征的比较结果相一致,将预设信息特征对应的终端信息确定为该待识别终端的信息识别结果,能够有效、准确地识别终端信息,从而便于规范和管理终端设备。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例识别终端信息的方法流程示意图;图2为本发明实施例识别终端信息的装置结构示意图;图3为本发明实施例提供的电子设备实体结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明实施例识别终端信息的方法流程示意图,如图1所示,本发明实施例提供的一种识别终端信息的方法,包括以下步骤:s101:获取在建立安全套接层ssl连接的过程中待识别终端向服务器发送的建立所述ssl的连接请求。具体的,装置获取在建立安全套接层ssl连接的过程中待识别终端向服务器发送的建立所述ssl的连接请求。装置可以是政府、企业等的管理服务器等,待识别终端可以是手机、平板电脑和传统pc等,在该步骤之前,可以通过443端口获取终端的网络流量,通过过滤得到ssl流量,通过该ssl流量解析出该ssl的连接请求,需要说明的是:ssl协议基本可以分为两个阶段:握手阶段(handshake)和数据加密传送阶段(applicationdata)。要识别出终端信息,需要更关注从终端发送给服务器的数据,由于,数据加密传送阶段是发送用户请求的加密数据,差异性比较大,且包含的有效信息较少,因此,主要获取握手阶段clienthello数据包中的信息(对应该ssl的连接请求)。s102:解析所述连接请求,以提取所述ssl中的目标协议信息字段;所述目标协议信息字段为所述待识别终端所支持的特定信息的协议信息字段。具体的,装置解析所述连接请求,以提取所述ssl中的目标协议信息字段;所述目标协议信息字段为所述待识别终端所支持的特定信息的协议信息字段。表1为clienthello的主要字段(对应目标协议信息字段)含义:表1versionssl协议的版本号ciphersuites枚举客户端所支持加密套件signature_algorithms表示客户端支持的签名算法supported_groups客户端支持的keyexchange数组需要说明的是:表1中的目标协议信息字段ciphersuites对应的特定信息为加密套件;目标协议信息字段signature_algorithms对应的特定信息为签名算法;目标协议信息字段supported_groups对应的特定信息为密钥交换数组(对应表1中的“keyexchange”)。即:特定信息包括加密套件、签名算法和密钥交换数组。ssl中的协议信息字段除了表1中所涉及的目标协议信息字段以外,还包括sessionid、server_name等协议信息字段。s103:解析所述目标协议信息字段,以获取与所述特定信息相对应的信息特征。具体的,装置解析所述目标协议信息字段,以获取与所述特定信息相对应的信息特征。参照上述说明,获取与所述特定信息相对应的信息特征具体包括:获取所述加密套件、所述签名算法和所述密钥交换数组分别对应的各信息特征。加密套件对应的信息特征举例为:ciphersuites(14suites)ciphersuite:reserved(grease)(0x2a2a)ciphersuite:tls_ecdhe_ecdsa_with_aes_128_gcm_sha256(0xc02b)ciphersuite:tls_ecdhe_rsa_with_aes_128_gcm_sha256(0xc02f)ciphersuite:tls_ecdhe_ecdsa_with_aes_256_gcm_sha384(0xc02c)ciphersuite:tls_ecdhe_rsa_with_aes_256_gcm_sha384(0xc030)ciphersuite:tls_ecdhe_ecdsa_with_chacha20_poly1305_sha256(0xcca9)ciphersuite:tls_ecdhe_rsa_with_chacha20_poly1305_sha256(0xcca)ciphersuite:tls_ecdhe_rsa_with_aes_128_cbc_sha(0xc013)ciphersuite:tls_ecdhe_rsa_with_aes_256_cbc_sha(0xc014)ciphersuite:tls_rsa_with_aes_128_gcm_sha256(0x009c)ciphersuite:tls_rsa_with_aes_256_gcm_sha384(0x009d)ciphersuite:tls_rsa_with_aes_128_cbc_sha(0x002f)ciphersuite:tls_rsa_with_aes_256_cbc_sha(0x0035)ciphersuite:tls_rsa_with_3des_ede_cbc_sha(0x000a)签名算法对应的信息特征举例为:extension:signature_algorithmssignaturehashalgorithm(9algorithms)signaturehashalgorithm:0x0403signaturehashalgorithm:0x0804signaturehashalgorithm:0x0401signaturehashalgorithm:0x0503signaturehashalgorithm:0x0805signaturehashalgorithm:0x0501signaturehashalgorithm:0x0806signaturehashalgorithm:0x0601signaturehashalgorithm:0x0201密钥交换数组对应的信息特征举例为:extension:supported_groupssupportedgroups(4groups)supportedgroups:reserved(grease)(0x6a6a)supportedgroups:x25519(0x001d)supportedgroups:secp256r1(0x0017)supportedgroups:secp384r1(0x0018)s104:若判断获知所述信息特征和预设信息特征的比较结果相一致,则将所述预设信息特征对应的终端信息确定为所述待识别终端的信息识别结果。具体的,装置若判断获知所述信息特征和预设信息特征的比较结果相一致,则将所述预设信息特征对应的终端信息确定为所述待识别终端的信息识别结果。假设预设信息特征对应的终端类型为pc、终端所安装的操作系统为win7、指定计算机应用程序为浏览器,且该浏览器为a公司开发的。参照上述举例,以ciphersuite为例,可以看出:ciphersuite对应的信息特征中的特征数量为14、特征内容为上述:ciphersuite:reserved(grease)(0x2a2a)至ciphersuite:tls_rsa_with_3des_ede_cbc_sha(0x000a)之间的部分。对于signature_algorithms和supported_groups的说明,不再赘述。如果预设信息特征的ciphersuite的特征数量也为14个、且内容与上述ciphersuite:reserved(grease)(0x2a2a)至ciphersuite:tls_rsa_with_3des_ede_cbc_sha(0x000a)之间的部分相同;并且signature_algorithms的特征数量为9个,且内容与上述signaturehashalgorithm:0x0403至signaturehashalgorithm:0x0201之间的部分相同。并且supported_groups的特征数量为4个,且内容与上述supportedgroups:reserved(grease)(0x6a6a)至supportedgroups:secp384r1(0x0018)之间的部分相同;则说明待识别终端的各信息特征和预设信息特征的比较结果相一致,从而确定待识别终端的信息识别结果为终端类型为pc、终端所安装的操作系统为win7、指定计算机应用程序为a公司开发的浏览器。信息识别结果还可以包括待识别终端的生产厂家,即还可以识别出该终端是a厂家生产的,还是b厂家生产的。进一步地,所述目标协议信息字段还可以包括:所述ssl的协议版本字段;相应的,所述方法还包括:若判断获知所述协议版本字段对应的协议版本号低于预设协议版本号,确定所述待识别终端没有安装指定操作系统。需要说明的是:1、各种终端类型的识别和判断是基于对常用应用程序收集的大数据进行的,从这些大数据中提取相关特征,再进行分析和对比;2、目前收集的手机端各种app应用的ssl相关特征很少使用tls1.2以下版本。参照表1,协议版本字段对应表1中的“version”,预设协议版本号可以从ssl2.0、ssl3.0、tls1.0、tls1.1、tls1.2、tls1.3等中自主选择,可选为tls1.2。即如果该“version”为tls1.1(低于tls1.2),可以直接确定待识别终端没有安装指定操作系统,指定操作系统为android或ios,从而能够快速排除待识别终端没有安装android或ios,提高识别效率。本发明实施例提供的识别终端信息的方法,通过提取待识别终端所支持的特定信息的信息特征,若该信息特征和预设信息特征的比较结果相一致,将预设信息特征对应的终端信息确定为该待识别终端的信息识别结果,能够有效、准确地识别终端信息,从而便于规范和管理终端设备。在上述实施例的基础上,所述特定信息包括加密套件、签名算法和密钥交换数组;相应的,所述以获取与所述特定信息相对应的信息特征,包括:获取所述加密套件、所述签名算法和所述密钥交换数组分别对应的各信息特征。具体的,装置获取所述加密套件、所述签名算法和所述密钥交换数组分别对应的各信息特征。可参照上述实施例,不再赘述。本发明实施例提供的识别终端信息的方法,通过获取加密套件、签名算法和密钥交换数组分别对应的各信息特征,进一步能够有效、准确地识别终端信息,从而便于规范和管理终端设备。在上述实施例的基础上,所述各信息特征包括特征数量和特征内容;相应的,所述比较结果相一致,包括:所述各信息特征中的所述特征数量和所述特征内容与所述预设信息特征中的预设特征数量和预设特征内容全部一致。具体的,装置中的所述比较结果相一致,包括:所述各信息特征中的所述特征数量和所述特征内容与所述预设信息特征中的预设特征数量和预设特征内容全部一致。可参照上述实施例,不再赘述。本发明实施例提供的识别终端信息的方法,通过全面地比较各信息特征和预设信息特征,进一步能够有效、准确地识别终端信息,从而便于规范和管理终端设备。在上述实施例的基础上,所述终端信息包括终端类型、终端所安装的操作系统和指定计算机应用程序;相应的,所述信息识别结果包括所述待识别终端的终端类型、所述待识别终端所安装的操作系统和指定计算机应用程序。具体的,装置中的所述信息识别结果包括所述待识别终端的终端类型、所述待识别终端所安装的操作系统和指定计算机应用程序。可参照上述实施例,不再赘述。本发明实施例提供的识别终端信息的方法,通过识别出的终端类型、所安装的操作系统和指定计算机应用程序,能够识别较全面的终端信息,从而更好地规范和管理终端设备。在上述实施例的基础上,所述指定计算机应用程序包括浏览器。具体的,装置中的所述指定计算机应用程序包括浏览器。可参照上述实施例,不再赘述。本发明实施例提供的识别终端信息的方法,通过将指定计算机应用程序选为浏览器,能够对终端中的多种计算机应用程序进行识别,从而便于规范和管理终端设备。在上述实施例的基础上,所述目标协议信息字段还包括:所述ssl的协议版本字段;相应的,所述方法还包括:若判断获知所述协议版本字段对应的协议版本号低于预设协议版本号,确定所述待识别终端没有安装指定操作系统。具体的,装置若判断获知所述协议版本字段对应的协议版本号低于预设协议版本号,确定所述待识别终端没有安装指定操作系统。可参照上述实施例,不再赘述。本发明实施例提供的识别终端信息的方法,能够快速排除待识别终端没有安装android或ios,提高识别效率。在上述实施例的基础上,所述信息识别结果还包括:所述待识别终端的生产厂家。具体的,装置中的所述信息识别结果还包括:所述待识别终端的生产厂家。可参照上述实施例,不再赘述。本发明实施例提供的识别终端信息的方法,通过识别出的终端的生产厂家,进一步能够识别较全面的终端信息,从而更好地规范和管理终端设备。图2为本发明实施例识别终端信息的装置结构示意图,如图2所示,本发明实施例提供了一种识别终端信息的装置,包括获取单元201、提取单元202、解析单元203和识别单元204,其中:获取单元201用于获取在建立安全套接层ssl连接的过程中待识别终端向服务器发送的建立所述ssl的连接请求;提取单元202用于解析所述连接请求,以提取所述ssl中的目标协议信息字段;所述目标协议信息字段为所述待识别终端所支持的特定信息的协议信息字段;解析单元203用于解析所述目标协议信息字段,以获取与所述特定信息相对应的信息特征;识别单元204用于若判断获知所述信息特征和预设信息特征的比较结果相一致,则将所述预设信息特征对应的终端信息确定为所述待识别终端的信息识别结果。具体的,获取单元201用于获取在建立安全套接层ssl连接的过程中待识别终端向服务器发送的建立所述ssl的连接请求;提取单元202用于解析所述连接请求,以提取所述ssl中的目标协议信息字段;所述目标协议信息字段为所述待识别终端所支持的特定信息的协议信息字段;解析单元203用于解析所述目标协议信息字段,以获取与所述特定信息相对应的信息特征;识别单元204用于若判断获知所述信息特征和预设信息特征的比较结果相一致,则将所述预设信息特征对应的终端信息确定为所述待识别终端的信息识别结果。本发明实施例提供的识别终端信息的装置,通过提取待识别终端所支持的特定信息的信息特征,若该信息特征和预设信息特征的比较结果相一致,将预设信息特征对应的终端信息确定为该待识别终端的信息识别结果,能够有效、准确地识别终端信息,从而便于规范和管理终端设备。在上述实施例的基础上,所述特定信息包括加密套件、签名算法和密钥交换数组;相应的,所述解析单元203具体用于:获取所述加密套件、所述签名算法和所述密钥交换数组分别对应的各信息特征。具体的,所述解析单元203具体用于:获取所述加密套件、所述签名算法和所述密钥交换数组分别对应的各信息特征。本发明实施例提供的识别终端信息的装置,通过获取加密套件、签名算法和密钥交换数组分别对应的各信息特征,进一步能够有效、准确地识别终端信息,从而便于规范和管理终端设备。在上述实施例的基础上,所述各信息特征包括特征数量和特征内容;相应的,所述比较结果相一致,包括:所述各信息特征中的所述特征数量和所述特征内容与所述预设信息特征中的预设特征数量和预设特征内容全部一致。具体的,装置中的所述比较结果相一致,包括:所述各信息特征中的所述特征数量和所述特征内容与所述预设信息特征中的预设特征数量和预设特征内容全部一致。本发明实施例提供的识别终端信息的装置,通过全面地比较各信息特征和预设信息特征,进一步能够有效、准确地识别终端信息,从而便于规范和管理终端设备。在上述实施例的基础上,所述终端信息包括终端类型、终端所安装的操作系统和指定计算机应用程序;相应的,所述信息识别结果包括所述待识别终端的终端类型、所述待识别终端所安装的操作系统和指定计算机应用程序。具体的,装置中的所述信息识别结果包括所述待识别终端的终端类型、所述待识别终端所安装的操作系统和指定计算机应用程序。本发明实施例提供的识别终端信息的装置,通过识别出的终端类型、所安装的操作系统和指定计算机应用程序,能够识别较全面的终端信息,从而更好地规范和管理终端设备。在上述实施例的基础上,所述指定计算机应用程序包括浏览器。具体的,装置中的所述指定计算机应用程序包括浏览器。本发明实施例提供的识别终端信息的装置,通过将指定计算机应用程序选为浏览器,能够对终端中的多种计算机应用程序进行识别,从而便于规范和管理终端设备。在上述实施例的基础上,所述目标协议信息字段还包括:所述ssl的协议版本字段;相应的,所述装置还用于:若判断获知所述协议版本字段对应的协议版本号低于预设协议版本号,确定所述待识别终端没有安装指定操作系统。具体的,所述装置还用于:若判断获知所述协议版本字段对应的协议版本号低于预设协议版本号,确定所述待识别终端没有安装指定操作系统。本发明实施例提供的识别终端信息的装置,能够快速排除待识别终端没有安装android或ios,提高识别效率。在上述实施例的基础上,所述信息识别结果还包括:所述待识别终端的生产厂家。具体的,装置中的所述信息识别结果还包括:所述待识别终端的生产厂家。本发明实施例提供的识别终端信息的装置,通过识别出的终端的生产厂家,进一步能够识别较全面的终端信息,从而更好地规范和管理终端设备。本发明实施例提供的识别终端信息的装置具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。图3为本发明实施例提供的电子设备实体结构示意图,如图3所示,所述电子设备包括:处理器(processor)301、存储器(memory)302和总线303;其中,所述处理器301、存储器302通过总线303完成相互间的通信;所述处理器301用于调用所述存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取在建立安全套接层ssl连接的过程中待识别终端向服务器发送的建立所述ssl的连接请求;解析所述连接请求,以提取所述ssl中的目标协议信息字段;所述目标协议信息字段为所述待识别终端所支持的特定信息的协议信息字段;解析所述目标协议信息字段,以获取与所述特定信息相对应的信息特征;若判断获知所述信息特征和预设信息特征的比较结果相一致,则将所述预设信息特征对应的终端信息确定为所述待识别终端的信息识别结果。本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取在建立安全套接层ssl连接的过程中待识别终端向服务器发送的建立所述ssl的连接请求;解析所述连接请求,以提取所述ssl中的目标协议信息字段;所述目标协议信息字段为所述待识别终端所支持的特定信息的协议信息字段;解析所述目标协议信息字段,以获取与所述特定信息相对应的信息特征;若判断获知所述信息特征和预设信息特征的比较结果相一致,则将所述预设信息特征对应的终端信息确定为所述待识别终端的信息识别结果。本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取在建立安全套接层ssl连接的过程中待识别终端向服务器发送的建立所述ssl的连接请求;解析所述连接请求,以提取所述ssl中的目标协议信息字段;所述目标协议信息字段为所述待识别终端所支持的特定信息的协议信息字段;解析所述目标协议信息字段,以获取与所述特定信息相对应的信息特征;若判断获知所述信息特征和预设信息特征的比较结果相一致,则将所述预设信息特征对应的终端信息确定为所述待识别终端的信息识别结果。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的各实施例技术方案的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1