CN109492378B - 一种基于设备识别码的身份验证方法、服务器及介质 - Google Patents

一种基于设备识别码的身份验证方法、服务器及介质 Download PDF

Info

Publication number
CN109492378B
CN109492378B CN201811429643.2A CN201811429643A CN109492378B CN 109492378 B CN109492378 B CN 109492378B CN 201811429643 A CN201811429643 A CN 201811429643A CN 109492378 B CN109492378 B CN 109492378B
Authority
CN
China
Prior art keywords
identification code
information item
preset
target
code generation
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.)
Active
Application number
CN201811429643.2A
Other languages
English (en)
Other versions
CN109492378A (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201811429643.2A priority Critical patent/CN109492378B/zh
Publication of CN109492378A publication Critical patent/CN109492378A/zh
Application granted granted Critical
Publication of CN109492378B publication Critical patent/CN109492378B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种基于设备识别码的身份验证方法、服务器及介质,应用于安全防护技术领域。其中,该方法包括:接收终端设备发送的身份验证请求;按照预设的识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码,所述识别码生成规则用于指示按照预设算法对所述目标信息项进行处理,以得到终端设备的识别码;判断所述第一识别码和预先存储的所述终端设备的第二识别码是否匹配;当判断结果为所述第一识别码和所述第二识别码相匹配时,确定对所述终端设备的身份验证成功。采用本申请,有助于提升对终端设备的身份验证的可靠性。

Description

一种基于设备识别码的身份验证方法、服务器及介质
技术领域
本申请涉及安全防护技术领域,尤其涉及一种基于设备识别码的身份验证方法、服务器及介质。
背景技术
在业务风险控制场景,唯一识别一台移动设备即唯一设备识别符(Unique DeviceIdentifier,缩写:UDID)技术是非常重要的风险控制技术基石。服务端可以根据UDID确定设备身份,进而对设备的操作进行安全管理。目前,市场上生成UDID的产品一般是由客户端生成UDID,比如一部分产品生成的UDID是随机生成的串码,该随机生成的串码容易被不法分子篡改,因服务端是无法对该随机生成的串码进行合法性验证的。这就导致获取的UDID可能不可靠,使得服务端无法确定设备身份的真实性,对该设备的身份验证不可靠。
发明内容
本申请实施例提供一种基于设备识别码的身份验证方法、服务器及介质,有助于提升对终端设备的身份验证的可靠性。
第一方面,本申请实施例提供了一种基于设备识别码的身份验证方法,包括:
接收终端设备发送的身份验证请求,所述身份验证请求包括所述终端设备的设备信息,所述设备信息包括所述终端设备的标识、媒体访问控制MAC地址、中央处理器CPU序列号、屏幕分辨率、主板型号、设备品牌、CPU型号、设备产品名称、生产厂家名称、操作***编译类型、操作***默认设置项、传感器数量中的一个或多个信息项;
按照预设的识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码,所述识别码生成规则用于指示按照预设算法对所述目标信息项进行处理,以得到终端设备的识别码;
判断所述第一识别码和预先存储的所述终端设备的第二识别码是否匹配;
当判断结果为所述第一识别码和所述第二识别码相匹配时,确定对所述终端设备的身份验证成功。
可选的,在所述接收终端设备发送的身份验证请求之前,所述方法还包括:
分别为各信息项设置优先级;
所述按照预设的识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码,包括:
根据所述设备信息包括的各信息项的优先级,确定所述设备信息包括的各信息项中优先级最高的信息项,并从预设的识别码生成规则集合中确定出与所述优先级最高的信息项对应的识别码生成规则,所述识别码生成规则集合包括多种识别码生成规则,不同识别码生成规则用于指示按照预设算法对不同的信息项进行处理,以得到终端设备的识别码;
根据确定出的所述识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码。
可选的,所述设备信息包括所述终端设备的标识;所述按照预设的识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码,包括:
根据预设的终端设备标识和识别码生成规则的对应关系,从预设的识别码生成规则集合中确定出与所述终端设备的标识对应的识别码生成规则,所述识别码生成规则集合包括多种识别码生成规则,每种识别码生成规则对应一个或多个终端设备标识;
根据确定出的所述识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码。
可选的,所述按照预设的识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码,包括:
检测***时间,并确定所述***时间所处的时间段;
根据预设的时间段和识别码生成规则的对应关系,从预设的识别码生成规则集合中确定出与所述***时间所处的时间段对应的识别码生成规则,所述识别码生成规则集合包括多种识别码生成规则,每种识别码生成规则对应一个或多个使用的时间段;
根据确定出的所述识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码。
可选的,所述根据所述目标信息项生成所述终端设备的第一识别码,包括:
根据预设的哈希hash算法对所述目标信息项进行处理,以得到所述目标信息项对应的目标hash值;
按照预设的处理规则对所述目标hash值进行处理,以得到处理后的目标hash值,并将所述处理后的目标hash值作为所述终端设备的第一识别码;
其中,所述预设的处理规则包括将所述目标hash值中处于预设位置的值替换为预设值、提取所述目标hash值的前M个值、提取所述目标hash值的后N个值或者从所述目标hash值的末尾增加一个或多个预设值以使所述目标hash值的长度达到预设长度,M和N均为大于或等于1的整数。
可选的,在所述根据所述目标信息项生成所述终端设备的第一识别码之前,所述方法还包括:
根据预设的校验算法与信息项的对应关系,从预设的校验算法集合中确定出与所述目标信息项对应的目标校验算法;
使用所述目标校验算法对所述目标信息项进行校验,以确定所述目标信息项是否被篡改;
当确定所述目标信息项未被篡改时,触发所述根据所述目标信息项生成所述终端设备的第一识别码的步骤。
可选的,所述判断所述第一识别码和预先存储的所述终端设备的第二识别码是否匹配,包括:
获取预先存储的所述终端设备的标识列表,所述标识列表包括一个或多个第二识别码,且每个第二识别码是根据不同的信息项生成的;
判断所述第一识别码是否与所述终端设备的标识列表中的第二识别码相匹配;
当所述第一识别码和所述标识列表中的任一第二识别码相匹配时,确定所述第一识别码和所述终端设备的第二识别码相匹配。
第二方面,本申请实施例提供了一种服务器,该服务器包括用于执行上述第一方面的方法的单元。
第三方面,本申请实施例提供了另一种服务器,包括处理器、通信接口和存储器,所述处理器、通信接口和存储器相互连接,其中,所述存储器用于存储支持服务器执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。可选的,该服务器还可包括用户接口。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
本申请实施例能够通过服务器获取终端设备的设备信息,并按照预设的识别码生成规则从该设备信息中选取目标信息项,以根据该目标信息项生成该终端设备的第一识别码,进而在判断得到该第一识别码和预先存储的终端设备的第二识别码相匹配时,确定对该终端设备的身份验证成功,而不再由终端设备生成识别码,这就有助于确定终端设备身份的真实性,提升对终端设备的身份验证的可靠性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于设备识别码的身份验证方法的流程示意图;
图2是本申请实施例提供的另一种基于设备识别码的身份验证方法的流程示意图;
图3是本申请实施例提供的一种服务器的结构示意图;
图4是本申请实施例提供的另一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的技术方案可应用于服务器中,用于对终端设备的身份进行验证。本申请涉及的终端设备可以是手机、平板电脑、个人计算机等,本申请不做限定。
在一些风控场景中,在对终端设备进行身份验证时,本申请能够通过获取终端设备的设备信息,并按照预设的识别码生成规则对该设备信息进行处理,以生成该终端设备的第一识别码,进而能够在判断得到该第一识别码和预先存储的终端设备的第二识别码相匹配时,确定对该终端设备的身份验证成功。相比于现有技术中由终端设备(客户端)生成识别码并将识别码发送给服务器进行匹配验证的方式,本申请由服务器根据获取的设备信息和识别码生成规则生成识别码以对终端设备进行匹配验证的方式,能够避免设备识别码被不法分子篡改,防止获取的识别码不可靠的问题,从而有助于确定终端设备身份的真实性,提升对终端设备的身份验证的可靠性。以下分别详细说明。
在本申请中,识别码如上述的第一识别码、第二识别码等还可以叫做其余名称,比如标识、识别符如UDID等等,本申请不做限定。
请参见图1,图1是本申请实施例提供的一种基于设备识别码的身份验证方法的流程示意图。具体的,本实施例的方法可应用于上述的服务器中。如图1所示,该基于设备识别码的身份验证方法可以包括以下步骤:
101、接收终端设备发送的身份验证请求,该身份验证请求包括该终端设备的设备信息。
其中,该设备信息可包括该终端设备的标识、媒体访问控制(Media AccessControl,缩写:MAC)地址、CPU序列号、屏幕分辨率、主板型号、设备品牌、CPU型号、设备产品名称、生产厂家名称、操作***编译类型、操作***默认设置项、传感器数量等信息中的一个或多个信息项。
可选的,该终端设备可以是指需要进行身份验证的任一终端,比如发送业务请求的终端设备,或者与风险识别产品连接的终端设备,或者处于特定风控场景下的终端设备,或者触发(比如通过预设按键或手势或预设的其他触发方式)了身份验证指令的终端设备,等等,本申请不做限定。该特定风控场景可以包括登录场景、交易场景和/或APP优惠领域场景等等。进一步可选的,该身份验证请求可以是指特定风控场景下发起的请求,比如登录请求、交易请求等等。进一步可选的,在其他实施例中,该设备信息还可以是服务器接收到终端设备的身份验证请求之后由服务器向终端设备发送信息请求,并接收来自终端设备响应该信息请求发送的设备信息。
102、按照预设的识别码生成规则从该设备信息中选取目标信息项,并根据该目标信息项生成该终端设备的第一识别码。
其中,该识别码生成规则可用于指示按照预设算法对该目标信息项进行处理,以得到终端设备的识别码。该预设的识别码生成规则可以为一个或多个。可选的,不同终端设备对应的识别码生成规则可以相同,也可以不同;和/或,不同识别码生成规则对应的目标信息项可以相同,也可以不同;和/或,不同识别码生成规则所采用的预设算法可以相同,也可以不同。其中,获取的设备信息相同可以是指获取的信息项相同,信息项对应的值可以不同。例如信息项可以为终端设备的标识、CPU型号等等,信息项对应的值可以为具体的标识、具体的CPU型号等等。
可以理解,该目标信息项可以为获取到的终端设备的设备信息中的部分信息项,而不是全部信息项。例如,该目标信息项可以为终端设备的标识如国际移动设备识别码(International Mobile Equipment Identity,缩写:IMEI)(或Android ID或其他标识),则该预设的识别码生成规则可以是指从设备信息中选取该IMEI并根据该IMEI生成该第一识别码,比如按照预设的第一算法对该IMEI进行处理,以得到该第一识别码。又如,该目标信息项可以为该终端设备的MAC地址,则该预设的识别码生成规则可以是指从设备信息中选取该MAC地址并根据该MAC地址生成该第一识别码,比如按照预设的第二算法对该MAC地址进行处理,以得到该第一识别码;又如,该目标信息项为特定的几项信息项,如:CPU序列号、MAC地址、屏幕分辨率、主板型号、设备品牌、设备型号、CPU型号、设备产品名称、生产厂家名称、操作***编译类型、操作***默认设置项和传感器数量,则该预设的识别码生成规则可以是指从设备信息中选取该特定的几项信息项并根据该特定的几项信息项生成该第一识别码,比如按照预设的第三算法对该特定的几项信息项进行处理,以得到该第一识别码,等等,此处不一一列举。其中,该第一算法、第二算法和/或第三算法可以相同也可以不同。
可选的,服务器在根据该目标信息项生成该终端设备的第一识别码,即按照预设算法对该目标信息项进行处理,以得到终端设备的第一识别码时,可以具体是根据预设的哈希hash算法(或其他算法)对该目标信息项进行处理,以得到该目标信息项对应的目标hash值,并将该目标hash值作为该终端设备的第一识别码;或者,在得到该目标hash值之后,可进一步按照预设的处理规则对该目标hash值进行处理,以得到处理后的目标hash值,并将该处理后的目标hash值作为该终端设备的第一识别码。进一步可选的,该预设的处理规则可包括将该目标hash值中处于预设位置的值替换为预设值、提取该目标hash值的前M个值、提取该目标hash值的后N个值或者从该目标hash值的末尾增加一个或多个预设值(该预设值和前述预设位置对应的预设值可以相同也可以不同)以使该目标hash值的长度达到预设长度等等。其中,M和N均为大于或等于1的整数。相应的,该第一识别码如该处理后的目标hash值为将处于预设位置的值替换为预设值后的目标hash值、该目标hash值的前M个值、该目标hash值的后N个值或者将该目标hash值的末尾增加一个或多个预设值后的达到该预设长度的值等等。
或者,可选的,服务器在根据该目标信息项生成该终端设备的第一识别码,即按照预设算法对该目标信息项进行处理,以得到终端设备的第一识别码时,可以提取该目标信息项的前E位(预设算法)作为该第一识别码;或提取该目标信息项的后F位(预设算法)作为该第一识别码;或提取每一目标信息项的前C位,按照每一目标信息项的优先级由高到低的顺序拼接该提取的值(预设算法),将该拼接后的值作为该第一识别码,等等,此处不一一列举。E、F和C均为大于或等于1的整数。
可以理解,不同的识别码生成规则所采用的预设算法可以相同也可以不同可以是指:不同的识别码生成规则所采用的hash算法(或其他算法)可以相同也可以不同,和/或,不同的识别码生成规则所采用的处理规则可以相同也可以不同。例如,上述的第一算法、第二算法和/或第三算法不同时,可以是采用的hash算法不同,也可以是采用的对hash算法对应的hash值的处理规则不同,也可以是两者均不同,具体可预先设置得到,本申请不做限定。
103、判断该第一识别码和预先存储的该终端设备的第二识别码是否匹配。
其中,该第二识别码可以是服务器预先存储的该终端设备的识别码。具体的,服务器可获取终端设备的设备信息,进而根据获取的终端设备的设备信息确定该终端设备的识别码生成规则,并根据该识别码生成规则生成该终端设备的识别码,即上述的第二识别码。服务器可存储该终端设备的第二识别码,比如将该第二识别码与终端设备的设备信息(可以是获取的全部设备信息,也可以是获取的部分设备信息,即设备信息包括的一个或多个信息项,如终端设备的标识)进行关联存储,以便于后续在身份验证时根据该第二识别码对该终端设备进行身份验证。可以理解,服务器生成第二识别码的方式与生成第一识别码的方式相同,具体可参见该生成第一识别码的相关描述,此处不赘述。
可选的,服务器还可将该终端设备的第二识别码、设备信息(可以是获取的全部设备信息,也可以是获取的部分设备信息,即设备信息包括的一个或多个信息项,如终端设备的标识)以及识别码生成规则进行关联存储,以便于后续在身份验证时快速确定该终端设备对应的识别码生成规则和第二识别码等等,以进行身份验证。也就是说,服务器可以将终端设备的所有采集的设备信息及识别码生成规则、第二识别码进行关联存储;也可以将所有设备信息中的某一项或者某几项信息项、识别码生成规则及该第二识别码进行关联存储,以减小存储所需开销。后续终端设备发起身份验证请求时,服务器可以根据上传的设备信息再次生成识别码即第一识别码,并与存储的第二识别码进行匹配比较,以对该终端设备进行身份验证。
例如,在一种可能的实施方式中,不同识别码生成规则对应的目标信息项可以不同。可选的,在该接收终端设备发送的身份验证请求之前,还可分别为各信息项设置优先级,且服务器可设置得到多种识别码生成规则与信息项优先级的对应关系,预置得到包括该多种识别码生成规则的识别码生成规则集合。进而服务器可根据获取的终端设备的设备信息所包括的各信息项中优先级最高的信息项对应的识别码生成规则,来选取目标信息项并生成该第二识别码(或者可分别确定各优先级的信息项对应的识别码生成规则,来分别选取目标信息项并生成多个第二识别码),以便于后续身份验证时进行识别码的对比。进一步的,服务器在生成该终端设备的第一识别码时,可根据该设备信息包括的各信息项的优先级,确定出该设备信息包括的各信息项中优先级最高的信息项,并从预设的识别码生成规则集合中确定出与该优先级最高的信息项对应的识别码生成规则,其中该识别码生成规则集合包括多种识别码生成规则,不同识别码生成规则用于指示按照预设算法对不同(部分不同或全部不同)的信息项进行处理,以得到终端设备的识别码;从而服务器能够根据确定出的该识别码生成规则从该设备信息中选取该识别码生成规则对应的信息项(比如该优先级最高的信息项)作为该目标信息项,并根据该目标信息项生成该终端设备的第一识别码。也就是说,服务器可根据获取到的各优先级的信息项的来确定用于生成第一识别码的目标信息项,以防止每次获取到的设备信息包括的信息项不同,提升识别码生成的灵活性,进而提升身份验证的可靠性。举例来说,假设预先设置得到终端设备的标识如IMEI、MAC地址和其他信息项的优先级,假设IMEI的优先级高于MAC地址的优先级,MAC地址的优先级高于该其他信息项的优先级(其他信息项的各信息项的优先级相同)。如果获取的设备信息中包括IMEI即获取到IMEI,则可根据IMEI生成第一识别码如第一UDID;如果未获取到IMEI,则可根据获取到的MAC地址生成第一UDID;如果未获取到IMEI、MAC地址,还可以该其他信息项生成该第一UDID,比如使用hash算法生成其他信息项对应的hash值,并将该hash值作为该第一UDID,或者对该hash值进行处理后作为第一UDID等等,以便于和预先存储的该终端设备的第二识别码如第二UDID进行匹配对比,以实现身份验证。
又如,在一种可能的实施方式中,在该接收终端设备发送的身份验证请求之前,还可分别为各信息项设置优先级。服务器可根据各信息项的优先级设置识别码生成规则,即预置得到包括该多种识别码生成规则的识别码生成规则集合;该设置得到该识别码生成规则对应的信息项(即根据识别码生成规则选取的信息项,也即通过预设算法处理的信息项)可以为该识别码生成规则对应的优先级的信息项(如该设备信息包括的该优先级下的所有信息项),也可以为其他信息项,具体可预先设置得到,本申请不做限定。进而服务器可根据获取的终端设备的设备信息所包括的各信息项的优先级中的最高优先级对应的识别码生成规则,来选取目标信息项并生成该第二识别码(或者可分别确定各优先级对应的识别码生成规则,来分别选取目标信息项并生成多个第二识别码),以便于后续身份验证时进行识别码的对比。进一步的,服务器在生成该终端设备的第一识别码时,可根据该设备信息包括的各信息项的优先级,确定该设备信息包括的各信息项的优先级中的最高优先级,并从预设的识别码生成规则集合中确定出与该最高优先级对应的识别码生成规则,该识别码生成规则集合包括多种识别码生成规则,不同识别码生成规则可用于指示按照预设算法对不同的信息项进行处理,以得到终端设备的识别码;根据确定出的该识别码生成规则从该设备信息中选取目标信息项,并根据该目标信息项生成该终端设备的第一识别码。也就是说,服务器可根据获取到的各项信息项的优先级来确定用于生成第一识别码的目标信息项,以防止每次获取到的设备信息包括的信息项不同,提升识别码生成的灵活性,进而提升身份验证的可靠性。举例来说,假设预先设置得到终端设备的标识如IMEI、MAC地址和其他信息项的优先级,假设IMEI的优先级为一级,其对应的识别码生成规则为规则1;MAC地址的优先级为二级,其对应的识别码生成规则为规则2;该其他信息项的优先级为三级(其他信息项的各信息项的优先级相同),其对应的识别码生成规则为规则3,一级高于二级高于三级。如果获取的设备信息中包括IMEI、MAC地址和其他信息项,则最高优先级为一级,则可根据该一级对应的识别码生成规则及识别码生成规则1选取目标信息项并生成生成第一识别码如第一UDID,比如使用hash算法生成目标信息项如IMEI对应的hash值,并将该hash值作为该第一UDID,或者对该hash值进行处理后作为第一UDID等等,以便于和预先存储的该终端设备的第二识别码如第二UDID进行匹配对比,以实现身份验证。
又如,在一种可能的实施方式中,服务器可预先存储各终端设备标识和识别码生成规则的对应关系,即预置得到包括各终端设备标识对应的识别码生成规则的识别码生成规则集合。进一步的,该获取的设备信息可包括该终端设备的标识,则服务器在生成该终端设备的第一识别码时,可根据预设的终端设备标识和识别码生成规则的对应关系,从预设的识别码生成规则集合中确定出与该终端设备的标识对应的识别码生成规则,该识别码生成规则集合包括多种识别码生成规则,每种识别码生成规则可对应一个或多个终端设备标识;进而能够根据确定出的该识别码生成规则从该设备信息中选取目标信息项,并根据该目标信息项生成该终端设备的第一识别码。也就是说,服务器可根据获取到的终端设备的标识来确定识别码生成规则,进而根据该识别码生成规则选取目标信息项并生成该第一识别码,这就提升了识别码生成的灵活性,进而提升身份验证的可靠性。
又如,在一种可能的实施方式中,服务器可预先存储多个时间段和识别码生成规则的对应关系,即预置得到包括多个时间段对应的识别码生成规则的识别码生成规则集合。进一步的,服务器在生成该终端设备的第一识别码时,可检测***时间,并确定该***时间所处的时间段;根据预设的时间段和识别码生成规则的对应关系,从预设的识别码生成规则集合中确定出与该***时间所处的时间段对应的识别码生成规则,该识别码生成规则集合包括多种识别码生成规则,每种识别码生成规则可对应一个或多个使用的时间段;根据确定出的该识别码生成规则从该设备信息中选取目标信息项,并根据该目标信息项生成该终端设备的第一识别码。也就是说,服务器可根据检测到的当前时间段来确定识别码生成规则,进而根据该识别码生成规则选取目标信息项并生成该第一识别码,这就提升了识别码生成的灵活性,进而提升身份验证的可靠性。
可选的,一个终端设备可对应一个或多个第二识别码,每个第二识别码可以是根据该终端设备的设备信息不同的信息项生成的,或者可以是根据该终端设备对应的不同识别码生成规则生成的,服务器可预先存储各终端设备对应一个或多个第二识别码,比如存储各终端设备对应的包括该一个或多个第二识别码的身份标识的标识列表。进而在判断该第一识别码和第二识别码是否匹配时,可通过获取预先存储的该终端设备的标识列表,该标识列表包括至少一个第二识别码,且每个第二识别码可以是根据不同的信息项生成的;判断该第一识别码是否与该终端设备的标识列表中的第二识别码相匹配;当该第一识别码和该标识列表中的任一第二识别码相匹配时,确定该第一识别码和该终端设备的第二识别码相匹配。进一步可选的,服务器还可预先存储设备信息如终端设备的标识和第二识别码的对应关系,从而在进行身份验证时服务器可以以该终端设备的标识作为索引去查找出对应的第二识别码进行匹配。进一步可选的,服务器还可存储终端设备的设备信息,进而在进行身份验证时可分别将获取的终端设备的设备信息和存储的终端设备的设备信息进行匹配,以及将基于该设备信息得到的第一识别码和存储的该终端设备的第二识别码进行匹配,并在该设备信息和识别码两者均相同时,确定对终端设备的身份验证成功。
104、当判断结果为该第一识别码和该第二识别码相匹配时,确定对该终端设备的身份验证成功。
如果第一识别码和该第二识别码相匹配,即可表明终端设备的识别码如UDID未被篡改,则可确定终端设备的身份合法,对该终端设备的身份验证成功;反之,如果该第一识别码和该第二识别码不匹配,即可表明终端识别码如UDID被篡改,则可确定该终端设备的身份不合法,对终端设备的身份验证失败。
进一步可选的,在确定终端设备的身份验证结果之后,即可根据该终端设备的身份对终端设备的操作进行管理,比如在对终端设备的身份验证成功之后,可允许其进行后续操作;或者在对终端设备的身份验证失败之后,可阻止其进行后续操作。
在本实施例中,服务器能够通过获取终端设备的设备信息,并按照预设的识别码生成规则从该设备信息中选取目标信息项,以根据该目标信息项生成该终端设备的第一识别码,进而在判断得到该第一识别码和预先存储的终端设备的第二识别码相匹配时,确定对该终端设备的身份验证成功,这就有助于确定终端设备身份的真实性,提升对终端设备的身份验证的可靠性。
请参见图2,图2是本申请实施例提供的另一种基于设备识别码的身份验证方法的流程示意图。具体的,如图2所示,该基于设备识别码的身份验证方法可以包括以下步骤:
201、接收终端设备发送的身份验证请求,该身份验证请求包括该终端设备的设备信息。
在进行基于设备识别码的身份验证时,服务器可通过获取当前终端的设备底层多项设备信息,比如接收终端设备在身份验证请求中携带的设备信息(在其他实施例中,还可以根据该预设的识别码生成规则获取该识别码生成规则对应的设备信息等等)。可选的,该设备信息可包括以下任一项或多项:连接的Wi-Fi热点的路由器信息(包括路由器名称(或Wi-Fi名称)如Wi-Fi服务集标识(Service Set Identifier,缩写:SSID),路由器MAC地址(或Wi-Fi MAC地址)如Wi-Fi基本服务集标识(Basic Service Set Identifier,缩写:BSSID)等)、机型(型号和/或品牌)、CPU生产商信息、蓝牙信息、传感器信息、用户使用痕迹信息如内存空间值、使用的网络制式、Android状态(或称为运行状态,如是否处于root状态)、***文件异常信息(如是否存在预设路径和名称的***文件)、安装的应用的数目、存储的文件的数目、接入App的包名、接入App的版本号、SDK的版本号、操作***类型、操作***版本、设备唯一识别码(UDID)、是否已经越狱(比如1代表已越狱,0代表未越狱)、经纬度信息、网络类型、指定App是否安装(比如1代表已安装,0代表未安装)、是否安装了阿里小号、是否安装了v8插件、当前时间戳(比如精度为毫秒)、广告标示符、Vendor标识符、设备型号、主机名、CPU核心数、CPU类型、CPU子类型、屏幕分辨率、存储总空间、存储剩余空间、时区、语言、电量、电池状态、运营商名称、国家ISO、启动时间、键盘列表、did被抹掉或篡改、localfile中存储的did、是否打开GPS开关(比如0代表关闭,1代表开启)、GPS授权状态、APP加载的动态链接库列表等等。
202、按照预设的识别码生成规则从该设备信息中选取目标信息项。
其中,该识别码生成规则可用于指示按照预设算法对该目标信息项进行处理,以得到终端设备的识别码。
可选的,该目标信息项可以是固定设置的,即各识别码生成规则对应的目标信息项可以相同;或者,可选的,各识别码生成规则对应的目标信息项可以不同。
具体的,该步骤201-202的其他描述可参照上述图1所示实施例的相关描述,此处不赘述。
203、根据预设的校验算法与信息项的对应关系,从预设的校验算法集合中确定出与该目标信息项对应的目标校验算法。
其中,该校验算法集合包括一种或多种校验算法,比如luhn算法、MEID校验算法、MAC地址段校验算法、长度校验算法、字符校验算法、flag校验算法等等。具体可预先设置校验算法和信息项的对应关系,以便于根据该目标信息项对应的校验算法即目标校验算法对该目标信息项进行校验。可选的,该目标信息项可对应一个或多个目标校验算法。
204、使用该目标校验算法对该目标信息项进行校验,以确定该目标信息项是否被篡改。
在生成该第一识别码之前,还可校验上述的目标信息项是否被篡改,以进一步提升终端设备身份验证的可靠性。例如,该目标信息项为MEID时,可基于luhn算法和MEID校验算法(即目标校验算法为luhn算法和MEID校验算法)验证该IMEI是否合法,从而实现从多角度验证IMEI是否被篡改;又如,该目标信息项为MAC地址时,可基于MAC地址段校验算法校验该MAC地址是否被篡改,即检测获取的MAC地址的是否属于为该终端设备的型号、品牌分配的地址段(该终端设备型号、品牌和MAC地址段的对应关系可预先设置得到)内,以检测MAC地址是否被篡改;又如,该目标信息项为Android ID时,可基于长度校验算法、字符校验算法校验该Android ID是否被篡改,即检测Android ID是否为预设的某一固定长度、是否包括其他字符(正确的Android ID一般是一固定长度,且由0~9,a~f组成),以检测AndroidID是否被篡改。
又如,该设备信息可能通过Xposed插件进行篡改。由此,针对任一目标信息项,可基于flag校验算法校验其是否被篡改。具体的,服务器可获取该目标信息项对应的目标函数的flag值,并根据该flag值确定该目标函数是否被hook。可选的,当确定该目标函数被hook时,即可表明该目标信息项被篡改,进而可确定对终端设备的身份验证失败。或者,可选的,当确定该目标函数被hook时,可从该目标函数的内存中获取该目标函数对应的目标函数指针;根据预先存储的各函数指针和函数的对应关系,确定出该目标函数指针对应的原始函数,比如可通过该原始函数替换该目标函数,实现对被hook的函数的还原,并可根据该原始函数确定出原始目标信息项。进而能够根据该原始目标信息项生成该终端设备的第一识别码,以便于根据该原始的目标信息项对该终端设备进行身份验证,即基于真实设备信息进行基于设备识别码的身份验证。其中,该flag值可用于标记所述目标函数的状态,该状态可以是指是否被篡改的状态,或者可以是指读写状态、阻塞与非阻塞状态、退出进程或程序的状态和/或更改文件的内容的状态等等,从而能够根据该flag值确定出该目标函数是否被hook。可以理解,每一个函数都有对应的flag,该flag为一个变量,当某一函数被篡改时,该函数对应的flag会发生改变。由此,服务器可通过检测函数的flag是否发生改变,来确定该函数是否被hook,也即该函数对应的设备信息是否被篡改。其中,该flag的值可以是存储于该目标函数对应的内存中。其中,该函数指针和被hook的函数是存储于同一块内存的不同字段中的,且不同函数指针和原始函数存在映射关系,或者说不同函数指针和原始函数的存储地址存在映射关系。其中,该内存中存储的原始函数指针是不会被篡改的,根据Xposed插件的工作原理,在篡改目标函数之前,会将函数的原始信息备份下来,并保存在内存中的特定地址,即该目标函数指针指向的地址。而一旦这些备份信息也被篡改,那Xposed插件将无法正常工作。因此,在该目标函数指针指向的特定地址获取到的原始函数,一定是正确的函数,其不会被篡改。
在一种可能的实施方式中,在根据该flag值确定该目标函数是否被hook时,服务器可以将该flag值中的预设位置处的字符与预设的固定字符进行比较;当比较得到该预设位置处的字符与该固定字符不同时,确定该目标函数被hook。其中,该预设位置处的字符的字符数与该固定字符的字符数相同,以便于匹配比较。也就是说,该flag发生改变可以是指该flag值的一位或多位发生改变,且该一位或多位可以是指flag的预设位置处的一位或多位。从而服务器可以通过将获取的flag值预设位置处的一位或多位与未被篡改时的固定字符进行比较,如果flag值的该一位或多位发生改变,即flag值的一位或多位与该固定字符不同,则表明该目标函数被hook,即该目标函数对应的设备信息被篡改。例如,针对Android版本在4.4以上及5.0以下的***,有的Xposed插件对某函数进行hook时,会将该函数的flag值的固定位置处的1位(bit)设置为1;而正常未被篡改的函数,flag值的该位是0(即上述的固定字符)。因此,可通过检测函数的flag值的该固定位是否是0,就可以知道该函数是否被Xposed插件进行了hook。也即,如果该测函数的flag值的该固定位不为0,即可表明该函数被hook,该函数被篡改。
在一种可能的实施方式中,在根据该flag值确定该目标函数是否被hook时,服务器还可以按照预设的逻辑算法对该flag值进行逻辑运算,以得到运算结果值;当该运算结果值为正整数时,确定该目标函数被hook。其中,该逻辑算法可以是根据预设字符串和***中的原生函数执行时的跳转地址确定的。也就是说,还可将按照预设逻辑算法对flag处理后的值与未被篡改时的固定字符如0进行比较,如果处理后的该值发生改变,即不为0,比如为某一正整数时,则表明该函数被hook。例如,针对Android版本在5.0及其以上的***,如果按照逻辑算法如逻辑算式EntryPointFromJni&&AccessFlags&0x10000000结果等于正整数,则可表明该函数被篡改;如果该逻辑算式结果等于0(即为固定字符),则可表明该函数未被篡改。其中,该EntryPointFromJni可以是指原生函数如native函数执行时的跳转地址,AccessFlags即为上述的flag。
可选的,服务器在根据该flag值确定该目标函数是否被hook之前,还可确定该终端设备当前使用的***版本,进而根据该当前终端的***版本去选择根据该flag值确定该目标函数是否被hook的方式(以下检测hook方式),以提升hook检测的效率。其中,该***版本和hook检测的方式的对应关系可预先设置得到。或者,还可根据该终端设备的型号等,检测历史记录中相同型号的终端设备使用的hook方式的比例,将比例最高即使用最多的hook方式作为该终端设备的hook方式,等等,此处不一一列举。
205、当确定该目标信息项未被篡改时,根据该目标信息项生成该终端设备的第一识别码。
也就是说,在根据目标信息项生成第一识别码之前,服务器能够通过检测设备信息对应的函数是否被篡改,即检测函数内存的flag的值是否发生改变来检测函数是否被篡改,并在检测到被篡改时确定对终端设备身份验证失败,以提升身份验证的效率,或者可在检测到被篡改时及时地获取真实的设备信息即真实的目标信息项,以基于真实的设备信息进行基于设备识别码的身份验证,由此提升了基于设备识别码的身份验证的准确性和可靠性。如果检测到该目标信息项未被篡改,即可进一步根据该目标信息项生成该第一识别码以进行身份验证,以确保生成的识别码的可靠性,进而提升身份验证的准确性和可靠性。此外,可选的,本申请可采用Android底层源生API采集设备信息,使得设备信息不容易被篡改。
可以理解,在使用该目标校验算法对该目标信息项进行校验,以确定该目标信息项是否被篡改时,如果该目标信息项包括多项信息项,则可以是对该多项信息项中的一项信息项(比如随机确定出的,或者最高优先级对应的信息项)进行校验;也可以是针对该多项信息项中的每一项分别进行校验,如果确定所有信息项均未被篡改,则可根据该目标信息项生成第一识别码,如果确定任一项信息项被篡改,则可确定对该终端设备身份验证失败,或者对被篡改的信息项进行还原后基于真实的目标信息项生成该第一识别码以进行身份验证。
可选的,在其他实施例中,还可对设备信息中的其他信息项进行校验(以下称为校验信息项),也就是说,校验的信息项可以不为该目标信息项,比如为设备信息包括的所有信息项中优先级最高的信息项,或者随机确定出的信息项,等等。如果确定该校验信息项被篡改,则可确定对该终端设备身份验证失败;否则,如果确定该信息项未被篡改,可根据该目标信息项生成第一识别码再对该终端设备进行身份校验。由此可以提升对设备身份验证的灵活性,并进一步提升身份验证的可靠性。
206、判断该第一识别码和预先存储的该终端设备的第二识别码是否匹配。
207、当判断结果为该第一识别码和该第二识别码相匹配时,确定对该终端设备的身份验证成功。
具体的,该步骤206-207的描述请参照上述图1所示实施例中步骤103-104的相关描述,此处不赘述。
可选的,如果识别出终端设备的设备信息发生篡改,或者第一识别码和第二识别码不匹配,即对终端设备的身份验证失败时,服务器可不对客户端请求进行响应,或者,服务器可即可发出告警信息,以便于及时地通知相关部门该篡改行为。例如,该告警信息可以包括:风险等级、用户信息、设备恶意行为信息中的一项或多项。其中,该风险等级可以根据终端的当前风控场景确定出,具体可预先设置得到不同风控场景和风险等级的对应关系;或者,该风险等级可以根据终端当前运行的应用确定出,具体可预先设置得到不同应用和风险等级的对应关系;或者,该风险等级还可根据终端被hook的函数的数目确定出,具体可预先设置得到不同hook数目和风险等级的对应关系;或者该风险等级还可根据被hook的设备信息确定出,具体可预先设置得到设备信息(信息项)和风险等级的对应关系;或者,该风险等级还可根据终端被篡改的设备信息的优先级确定出,具体可预先设置得到不同设备信息的优先级,以及各优先级和风险等级的对应关系,等等,本申请不做限定。例如,该风险等级可以分为高危、中危、低危,或者一级、二级、三级等等。该用户信息可包括终端设备的标识、用户标识(User Identification,缩写:UID)、手机号码、身份证号码(如果客户端注册应用时采集到的话)等。该设备恶意行为信息可包括篡改MAC地址、篡改CPU生产商、篡改手机型号及品牌、篡改手机号码等等,具体可通过上述的hook检测确定出。
此外,可选的,服务器还可根据该告警信息,向终端设备下发指令,以对终端设备(如终端上运行的APP客户端)上的操作进行控制。例如,如果服务器确定该风险等级为低危,服务器可以下发指令指示客户端输出提示,要求用户输入验证信息,验证方式包括但不限于短信验证码、图片验证码等方式。如果验证未通过则无法进行后续操作。又如,如果服务器确定该风险等级为中危,服务器可以下发指令指示客户端禁止用户在当前风控场景(例如登录、领取红包、兑换优惠券、消费、转账等等)的请求访问操作。又如,如果服务器确定该风险等级为高危,服务器可以下发指令指示客户端禁止用户一切请求访问操作,等等,此处不一一列举。
举例来说,以识别码为UDID为例,某APP面向用户提供优惠活动,新注册用户可以领取百元红包,限制条件为新手机号且为新设备。不法分子可能通过修改不安全的UDID,使得APP服务端认为一次注册来自于一台新的设备,从而绕过APP服务端的安全限制条件,以达到非法牟利的目的。采用本申请的UDID生成及验证方式,则能够实现对该终端设备身份的可靠验证,进而能够通过将验证成功的UDID(比如第一UDID,或者所有的第二UDID)与存储的已领取优惠的终端设备的UDID进行比较,如果存在相同的UDID,即该UDID已领取过优惠,则可拒绝其优惠领取操作,阻止该次领取红包行为;或者可在识别出UDID被篡改之后,阻止对该次领取红包行为。
在本实施例中,服务器能够通过获取终端设备的多项设备信息,并按照预设的识别码生成规则从该设备信息中选取目标信息项,进而选取校验算法对该目标信息项进行校验,确定其未被篡改之后,再根据该目标信息项生成该终端设备的第一识别码,进而在判断得到该第一识别码和预先存储的终端设备的第二识别码相匹配时,确定对该终端设备的身份验证成功,这就有助于确定终端设备身份的真实性,提升对终端设备的身份验证的可靠性。
上述方法实施例都是对本申请的基于设备识别码的身份验证方法的举例说明,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
请参见图3,图3是本申请实施例提供的一种服务器的结构示意图。本申请实施例的服务器可包括用于执行上述基于设备识别码的身份验证方法的单元。具体的,本实施例的服务器300可包括:通信单元301、处理单元302和判断单元303。其中,
通信单元301,用于接收终端设备发送的身份验证请求,所述身份验证请求包括所述终端设备的设备信息,所述设备信息包括所述终端设备的标识、媒体访问控制MAC地址、中央处理器CPU序列号、屏幕分辨率、主板型号、设备品牌、CPU型号、设备产品名称、生产厂家名称、操作***编译类型、操作***默认设置项、传感器数量中的一个或多个信息项;
处理单元302,用于按照预设的识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码,所述识别码生成规则用于指示按照预设算法对所述目标信息项进行处理,以得到终端设备的识别码;
判断单元303,用于判断所述第一识别码和预先存储的所述终端设备的第二识别码是否匹配;
所述处理单元302,还用于当判断结果为所述第一识别码和所述第二识别码相匹配时,确定对所述终端设备的身份验证成功。
可选的,所述服务器还包括:设置单元304;
所述设置单元304,用于分别为各信息项设置优先级;
所述处理单元302,可具体用于根据所述设备信息包括的各信息项的优先级,确定所述设备信息包括的各信息项中优先级最高的信息项,并从预设的识别码生成规则集合中确定出与所述优先级最高的信息项对应的识别码生成规则,所述识别码生成规则集合包括多种识别码生成规则,不同识别码生成规则用于指示按照预设算法对不同的信息项进行处理,以得到终端设备的识别码;根据确定出的所述识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码。
可选的,所述设备信息包括所述终端设备的标识;
所述处理单元302,可具体用于根据预设的终端设备标识和识别码生成规则的对应关系,从预设的识别码生成规则集合中确定出与所述终端设备的标识对应的识别码生成规则,所述识别码生成规则集合包括多种识别码生成规则,每种识别码生成规则对应一个或多个终端设备标识;根据确定出的所述识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码。
可选的,所述处理单元302,可具体用于检测***时间,并确定所述***时间所处的时间段;根据预设的时间段和识别码生成规则的对应关系,从预设的识别码生成规则集合中确定出与所述***时间所处的时间段对应的识别码生成规则,所述识别码生成规则集合包括多种识别码生成规则,每种识别码生成规则对应一个或多个使用的时间段;根据确定出的所述识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码。
进一步可选的,所述处理单元302,在根据所述目标信息项生成所述终端设备的第一识别码时,可具体用于:
根据预设的哈希hash算法对所述目标信息项进行处理,以得到所述目标信息项对应的目标hash值;
按照预设的处理规则对所述目标hash值进行处理,以得到处理后的目标hash值,并将所述处理后的目标hash值作为所述终端设备的第一识别码;
其中,所述预设的处理规则包括将所述目标hash值中处于预设位置的值替换为预设值、提取所述目标hash值的前M个值、提取所述目标hash值的后N个值或者从所述目标hash值的末尾增加一个或多个预设值以使所述目标hash值的长度达到预设长度,M和N均为大于或等于1的整数。
可选的,所述处理单元302,还用于根据预设的校验算法与信息项的对应关系,从预设的校验算法集合中确定出与所述目标信息项对应的目标校验算法;使用所述目标校验算法对所述目标信息项进行校验,以确定所述目标信息项是否被篡改;当确定所述目标信息项未被篡改时,触发所述根据所述目标信息项生成所述终端设备的第一识别码。
可选的,判断单元303,可具体用于获取预先存储的所述终端设备的标识列表,所述标识列表包括至少一个第二识别码,且每个第二识别码是根据不同的信息项生成的;判断所述第一识别码是否与所述终端设备的标识列表中的第二识别码相匹配;当所述第一识别码和所述标识列表中的任一第二识别码相匹配时,确定所述第一识别码和所述终端设备的第二识别码相匹配。
具体的,该服务器可通过上述单元实现上述图1至图2所示实施例中的基于设备识别码的身份验证方法中的部分或全部步骤。应理解,本申请实施例是对应方法实施例的装置实施例,对方法实施例的描述,也适用于本申请实施例。
在本实施例中,服务器能够通过获取终端设备的设备信息,并按照预设的识别码生成规则从该设备信息中选取目标信息项,以根据该目标信息项生成该终端设备的第一识别码,进而在判断得到该第一识别码和预先存储的终端设备的第二识别码相匹配时,确定对该终端设备的身份验证成功,这就有助于确定终端设备身份的真实性,提升对终端设备的身份验证的可靠性。
请参见图4,图4是本申请实施例提供的另一种服务器的结构示意图。该服务器用于执行上述的方法。如图4所示,本实施例中的服务器400可以包括:一个或多个处理器401、存储器402和通信接口403。可选的,该服务器还可包括一个或多个用户接口404。上述处理器401、通信接口403、用户接口404和存储器402可通过总线405连接,或者可以通过其他方式连接,图4中以总线方式进行示例说明。其中,存储器402可用于存储计算机程序,所述计算机程序包括程序指令,处理器401用于执行存储器402存储的程序指令。其中,处理器401可用于调用所述程序指令执行上述图1至图2中的部分或全部步骤。
例如,处理器401可用于调用所述程序指令执行以下步骤:调用通信接口403接收终端设备发送的身份验证请求,所述身份验证请求包括所述终端设备的设备信息,所述设备信息包括所述终端设备的标识、媒体访问控制MAC地址、中央处理器CPU序列号、屏幕分辨率、主板型号、设备品牌、CPU型号、设备产品名称、生产厂家名称、操作***编译类型、操作***默认设置项、传感器数量中的一个或多个信息项;按照预设的识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码,所述识别码生成规则用于指示按照预设算法对所述目标信息项进行处理,以得到终端设备的识别码;判断所述第一识别码和预先存储的所述终端设备的第二识别码是否匹配;当判断结果为所述第一识别码和所述第二识别码相匹配时,确定对所述终端设备的身份验证成功。
可选的,处理器401在执行所述接收终端设备发送的身份验证请求之前,还用于执行以下步骤:分别为各信息项设置优先级;
处理器401在执行所述按照预设的识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码时,可具体执行以下步骤:根据所述设备信息包括的各信息项的优先级,确定所述设备信息包括的各信息项中优先级最高的信息项,并从预设的识别码生成规则集合中确定出与所述优先级最高的信息项对应的识别码生成规则,所述识别码生成规则集合包括多种识别码生成规则,不同识别码生成规则用于指示按照预设算法对不同的信息项进行处理,以得到终端设备的识别码;根据确定出的所述识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码。
可选的,所述设备信息包括所述终端设备的标识;
处理器401在执行所述按照预设的识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码时,可具体执行以下步骤:根据预设的终端设备标识和识别码生成规则的对应关系,从预设的识别码生成规则集合中确定出与所述终端设备的标识对应的识别码生成规则,所述识别码生成规则集合包括多种识别码生成规则,每种识别码生成规则对应一个或多个终端设备标识;根据确定出的所述识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码。
可选的,处理器401在执行所述按照预设的识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码时,可具体执行以下步骤:检测***时间,并确定所述***时间所处的时间段;根据预设的时间段和识别码生成规则的对应关系,从预设的识别码生成规则集合中确定出与所述***时间所处的时间段对应的识别码生成规则,所述识别码生成规则集合包括多种识别码生成规则,每种识别码生成规则对应一个或多个使用的时间段;根据确定出的所述识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码。
可选的,处理器401在执行所述根据所述目标信息项生成所述终端设备的第一识别码时,可具体执行以下步骤:根据预设的哈希hash算法对所述目标信息项进行处理,以得到所述目标信息项对应的目标hash值;按照预设的处理规则对所述目标hash值进行处理,以得到处理后的目标hash值,并将所述处理后的目标hash值作为所述终端设备的第一识别码;
其中,所述预设的处理规则包括将所述目标hash值中处于预设位置的值替换为预设值、提取所述目标hash值的前M个值、提取所述目标hash值的后N个值或者从所述目标hash值的末尾增加一个或多个预设值以使所述目标hash值的长度达到预设长度,M和N均为大于或等于1的整数。
可选的,处理器401在执行所述根据所述目标信息项生成所述终端设备的第一识别码之前,还用于执行以下步骤:根据预设的校验算法与信息项的对应关系,从预设的校验算法集合中确定出与所述目标信息项对应的目标校验算法;使用所述目标校验算法对所述目标信息项进行校验,以确定所述目标信息项是否被篡改;当确定所述目标信息项未被篡改时,触发所述根据所述目标信息项生成所述终端设备的第一识别码的步骤。
可选的,处理器401在执行所述判断所述第一识别码和预先存储的所述终端设备的第二识别码是否匹配时,可具体执行以下步骤:获取预先存储的所述终端设备的标识列表,所述标识列表包括至少一个第二识别码,且每个第二识别码是根据不同的信息项生成的;判断所述第一识别码是否与所述终端设备的标识列表中的第二识别码相匹配;当所述第一识别码和所述标识列表中的任一第二识别码相匹配时,确定所述第一识别码和所述终端设备的第二识别码相匹配。
其中,所述处理器401可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
通信接口403可包括接收器和发射器,用于与其他设备如测试终端进行通信。
用户接口404可包括输入设备和输出设备,输入设备可以包括触控板、麦克风等,输出设备可以包括显示器(LCD等)、扬声器等。
存储器402可以包括只读存储器和随机存取存储器,并向处理器401提供指令和数据。存储器402的一部分还可以包括非易失性随机存取存储器。例如,存储器402还可以存储上述的识别码生成规则、第二识别码等等。
具体实现中,本申请实施例中所描述的处理器401等可执行上述图1至图2所示的方法实施例中所描述的实现方式,也可执行本申请实施例图3所描述的各单元的实现方式,此处不赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现图1至图2所对应实施例中描述的基于设备识别码的身份验证方法中的部分或全部步骤,也可实现本申请图3或图4所示实施例的服务器的功能,此处不赘述。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的部分或全部步骤。
所述计算机可读存储介质可以是前述任一实施例所述的服务器的内部存储单元,例如服务器的硬盘或内存。所述计算机可读存储介质也可以是所述服务器的外部存储设备,例如所述服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本申请中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
以上所述,仅为本申请的部分实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

Claims (9)

1.一种基于设备识别码的身份验证方法,其特征在于,应用于服务器,包括:
接收终端设备发送的身份验证请求,所述身份验证请求包括所述终端设备的设备信息,所述设备信息包括所述终端设备的标识、媒体访问控制MAC地址、中央处理器CPU序列号、屏幕分辨率、主板型号、设备品牌、CPU型号、设备产品名称、生产厂家名称、操作***编译类型、操作***默认设置项、传感器数量中的一个或多个信息项;
按照预设的识别码生成规则从所述设备信息中选取目标信息项,并根据预设的校验算法与信息项的对应关系,从预设的校验算法集合中确定出与所述目标信息项对应的目标校验算法;
使用所述目标校验算法对所述目标信息项进行校验,以确定所述目标信息项是否被篡改;其中,当所述目标校验算法包括flag校验算法时,所述校验包括:获取目标信息项对应的目标函数的 flag 值,并根据所述 flag值确定所述目标函数是否被 hook,若确定所述目标函数被 hook,则确定所述目标信息项被篡改;
若确定所述目标信息项未被篡改,则根据所述目标信息项生成所述终端设备的第一识别码,所述识别码生成规则用于指示按照预设算法对所述目标信息项进行处理,以得到终端设备的识别码;
判断所述第一识别码和预先存储的所述终端设备的第二识别码是否匹配;
当判断结果为所述第一识别码和所述第二识别码相匹配时,确定对所述终端设备的身份验证成功。
2.根据权利要求1所述的方法,其特征在于,在所述接收终端设备发送的身份验证请求之前,所述方法还包括:
分别为各信息项设置优先级;
所述按照预设的识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码,包括:
根据所述设备信息包括的各信息项的优先级,确定所述设备信息包括的各信息项中优先级最高的信息项,并从预设的识别码生成规则集合中确定出与所述优先级最高的信息项对应的识别码生成规则,所述识别码生成规则集合包括多种识别码生成规则,不同识别码生成规则用于指示按照预设算法对不同的信息项进行处理,以得到终端设备的识别码;
根据确定出的所述识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码。
3.根据权利要求1所述的方法,其特征在于,所述设备信息包括所述终端设备的标识;所述按照预设的识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码,包括:
根据预设的终端设备标识和识别码生成规则的对应关系,从预设的识别码生成规则集合中确定出与所述终端设备的标识对应的识别码生成规则,所述识别码生成规则集合包括多种识别码生成规则,每种识别码生成规则对应一个或多个终端设备标识;
根据确定出的所述识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码。
4.根据权利要求1所述的方法,其特征在于,所述按照预设的识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码,包括:
检测***时间,并确定所述***时间所处的时间段;
根据预设的时间段和识别码生成规则的对应关系,从预设的识别码生成规则集合中确定出与所述***时间所处的时间段对应的识别码生成规则,所述识别码生成规则集合包括多种识别码生成规则,每种识别码生成规则对应一个或多个使用的时间段;
根据确定出的所述识别码生成规则从所述设备信息中选取目标信息项,并根据所述目标信息项生成所述终端设备的第一识别码。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述目标信息项生成所述终端设备的第一识别码,包括:
根据预设的哈希hash算法对所述目标信息项进行处理,以得到所述目标信息项对应的目标hash值;
按照预设的处理规则对所述目标hash值进行处理,以得到处理后的目标hash值,并将所述处理后的目标hash值作为所述终端设备的第一识别码;
其中,所述预设的处理规则包括将所述目标hash值中处于预设位置的值替换为预设值、提取所述目标hash值的前M个值、提取所述目标hash值的后N个值或者从所述目标hash值的末尾增加一个或多个预设值以使所述目标hash值的长度达到预设长度,M和N均为大于或等于1的整数。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述判断所述第一识别码和预先存储的所述终端设备的第二识别码是否匹配,包括:
获取预先存储的所述终端设备的标识列表,所述标识列表包括多个第二识别码,且每个第二识别码是根据不同的信息项生成的;
判断所述第一识别码是否与所述终端设备的标识列表中的第二识别码相匹配;
当所述第一识别码和所述标识列表中的任一第二识别码相匹配时,确定所述第一识别码和所述终端设备的第二识别码相匹配。
7.一种服务器,其特征在于,包括用于执行如权利要求1-6任一项权利要求所述的方法的单元。
8.一种服务器,其特征在于,包括处理器、通信接口和存储器,所述处理器、通信接口和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-6任一项所述的方法。
CN201811429643.2A 2018-11-26 2018-11-26 一种基于设备识别码的身份验证方法、服务器及介质 Active CN109492378B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811429643.2A CN109492378B (zh) 2018-11-26 2018-11-26 一种基于设备识别码的身份验证方法、服务器及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811429643.2A CN109492378B (zh) 2018-11-26 2018-11-26 一种基于设备识别码的身份验证方法、服务器及介质

Publications (2)

Publication Number Publication Date
CN109492378A CN109492378A (zh) 2019-03-19
CN109492378B true CN109492378B (zh) 2024-06-18

Family

ID=65697862

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811429643.2A Active CN109492378B (zh) 2018-11-26 2018-11-26 一种基于设备识别码的身份验证方法、服务器及介质

Country Status (1)

Country Link
CN (1) CN109492378B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134530B (zh) * 2019-04-28 2022-11-11 苏宁易购集团股份有限公司 一种会话内容的处理方法及装置
CN110333997B (zh) * 2019-07-15 2023-11-10 秒针信息技术有限公司 融合设备使用信息的方法及装置
CN110371081A (zh) * 2019-08-08 2019-10-25 深圳市英博超算科技有限公司 车辆防篡改方法、装置以及车辆
CN112395585B (zh) * 2019-08-15 2023-01-06 奇安信安全技术(珠海)有限公司 数据库服务登录方法、装置、设备及可读存储介质
CN112398792B (zh) * 2019-08-15 2022-07-05 奇安信安全技术(珠海)有限公司 登录的防护方法、客户端、中控管理设备及存储介质
CN110738396B (zh) * 2019-09-18 2024-06-14 创新先进技术有限公司 一种针对设备的特征提取方法、装置及设备
CN110598472B (zh) * 2019-09-18 2022-03-22 广州虎牙科技有限公司 设备标识方法、装置、服务器及存储介质
CN112580341A (zh) * 2019-09-27 2021-03-30 北京国双科技有限公司 一种获得法律文书的案号的方法及相关设备
CN111274204B (zh) * 2019-12-20 2023-05-05 上海淇玥信息技术有限公司 终端识别方法、生成移动设备标识组合码的方法及其装置
CN111382877A (zh) * 2020-02-28 2020-07-07 上海高仙自动化科技发展有限公司 一种生成识别码的方法、装置、电子设备及存储介质
CN111581240B (zh) * 2020-04-15 2023-06-27 Oppo(重庆)智能科技有限公司 终端的物料处理方法及装置、存储介质和电子设备
CN111585995B (zh) * 2020-04-27 2023-10-17 平安银行股份有限公司 安全风控信息传输、处理方法、装置、计算机设备及存储介质
CN113572716B (zh) * 2020-04-29 2023-08-08 青岛海尔洗涤电器有限公司 设备检测方法及***
CN112039898A (zh) * 2020-09-01 2020-12-04 广州小鹏汽车科技有限公司 加密通信方法、加密通信装置和车辆
CN112230858A (zh) * 2020-10-22 2021-01-15 北斗星通智联科技有限责任公司 导航仪通用唯一识别码写入方法和***
CN112199676A (zh) * 2020-11-03 2021-01-08 中国南方电网有限责任公司 变电站运维检修***、方法、装置和计算机设备
CN113065118B (zh) * 2021-03-16 2022-06-14 青岛海尔科技有限公司 认证码的确定方法及装置、存储介质、电子装置
CN113179181B (zh) * 2021-04-25 2023-02-28 珠海格力电器股份有限公司 数据采集方法、装置、***、数据处理装置及电子设备
CN113423089B (zh) * 2021-05-18 2024-04-19 西安艾润物联网技术服务有限责任公司 一种设备身份的识别控制方法及装置
CN114443739A (zh) * 2022-04-08 2022-05-06 北京华顺信安科技有限公司 一种产品版本号提取方法及装置
CN114741664B (zh) * 2022-04-21 2024-01-09 巨翊科技(上海)有限公司 一种软件的授权方法、装置及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101238680A (zh) * 2005-05-31 2008-08-06 国际商业机器公司 产生唯一且持久的标识符的***和方法
CN105871855A (zh) * 2016-04-11 2016-08-17 杨鹏 一种电子设备标识码生成、存储和识别的方法及***
CN107818509A (zh) * 2017-11-24 2018-03-20 泰康保险集团股份有限公司 业务数据校验方法、装置、存储介质及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271498A (zh) * 2008-03-25 2008-09-24 浙江大学 在linux操作***通过威胁链表和安全链表实现可信计算的方法
CN102271333B (zh) * 2011-08-08 2014-04-16 东南大学 一种基于可信链传递的3g消息安全收发方法
CN105391695B (zh) * 2015-10-20 2018-12-14 山东泰信电子股份有限公司 一种终端注册方法及校验方法
CN107040568B (zh) * 2016-09-28 2018-07-13 平安科技(深圳)有限公司 标识信息生成方法和装置
CN107864045B (zh) * 2016-09-28 2020-11-24 平安科技(深圳)有限公司 标识信息的轨迹记录方法和装置
CN106657429A (zh) * 2016-10-24 2017-05-10 珠海市魅族科技有限公司 一种设备标识符生成方法以及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101238680A (zh) * 2005-05-31 2008-08-06 国际商业机器公司 产生唯一且持久的标识符的***和方法
CN105871855A (zh) * 2016-04-11 2016-08-17 杨鹏 一种电子设备标识码生成、存储和识别的方法及***
CN107818509A (zh) * 2017-11-24 2018-03-20 泰康保险集团股份有限公司 业务数据校验方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN109492378A (zh) 2019-03-19

Similar Documents

Publication Publication Date Title
CN109492378B (zh) 一种基于设备识别码的身份验证方法、服务器及介质
CN109561085B (zh) 一种基于设备识别码的身份验证方法、服务器及介质
US10073916B2 (en) Method and system for facilitating terminal identifiers
CN109117250B (zh) 一种模拟器识别方法、识别设备及计算机可读介质
CN107908485B (zh) 接口参数传递方法、装置、设备及计算机可读存储介质
CN109144665B (zh) 一种模拟器识别方法、识别设备及计算机可读介质
CN109062667B (zh) 一种模拟器识别方法、识别设备及计算机可读介质
CN104767713B (zh) 账号绑定的方法、服务器及***
CN108763951B (zh) 一种数据的保护方法及装置
CN102883324A (zh) 移动终端中的插件调用安全验证方法及装置、移动终端
CN110278192B (zh) 外网访问内网的方法、装置、计算机设备及可读存储介质
WO2020019482A1 (zh) 一种函数hook检测方法、检测设备及计算机可读介质
CN110245495B (zh) Bios校验方法、配置方法、设备及***
CN113225324A (zh) 区块链匿名账户创建方法、***、设备及存储介质
US20160065375A1 (en) Dynamic integrity validation of a high level operating system
CN110581835A (zh) 一种漏洞检测方法、装置及终端设备
CN112000853A (zh) 设备唯一标识的生成/反馈方法、介质及客户端、服务端
CN108600259B (zh) 设备的认证和绑定方法及计算机存储介质、服务器
WO2015188728A1 (zh) 移动支付安全的保护方法、装置及云服务器
CN110597557B (zh) 一种***信息获取方法、终端及介质
CN113849802A (zh) 一种设备认证方法、装置、电子设备及存储介质
CN112732676A (zh) 基于区块链的数据迁移方法、装置、设备及存储介质
CN109167785B (zh) 一种虚拟可信根的调用方法和业务服务器
CN117009003B (zh) 一种安全启动方法及相关装置
CN111339528A (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