CN107622198A - 用于实现设备指纹的方法、装置和计算机可读存储介质 - Google Patents
用于实现设备指纹的方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN107622198A CN107622198A CN201710562300.2A CN201710562300A CN107622198A CN 107622198 A CN107622198 A CN 107622198A CN 201710562300 A CN201710562300 A CN 201710562300A CN 107622198 A CN107622198 A CN 107622198A
- Authority
- CN
- China
- Prior art keywords
- array
- user equipment
- data
- training
- fingerprint
- 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
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Collating Specific Patterns (AREA)
Abstract
本公开涉及用于实现设备指纹的方法、装置和计算机可读存储介质。该方法包括:接收关于用户设备的设备数据和在所述用户设备上进行操作的操作数据;以及基于所述设备数据和所述操作数据并利用逻辑回归模型来识别所述设备指纹,其包括:将包含所述设备数据和所述操作数据的训练数组与预先存储的关于所述用户设备的参照数组进行比较;以及根据比较的结果并利用所述逻辑回归模型来计算所述训练数组与所述参照数组来自同一用户设备的概率。
Description
技术领域
本公开的实施例总体上涉及设备指纹领域,并且更具体地,涉及 一种用于实现设备指纹的方法、装置和计算机可读存储介质。
背景技术
设备指纹是指可以用于唯一标识出某种设备(例如移动电话、膝 上型电脑、台式电脑、平板电脑等)的设备特征或者独特的设备标识。 设备指纹包括一些固有的、较难篡改的、唯一的设备标识。
设备指纹的应用场景包括:(1)行为追踪:用户行为追踪主要 与业务相关,比如,购物类的网站其会采集用户的设备信息,并根据 设备指纹信息对用户进行相关的商品推荐;(2)广告推广:是指结 合用户的搜索记录、浏览记录等,对设备进行记录,针对性地推送广 告;(3)反欺诈:设备指纹在反欺诈风控中扮演着重要角色,通过 设备指纹技术可以给相关业务提供安全保障,比如,现在风险较高的 垃圾注册、盗号、撞库、异地登陆等异常的行为,采用设备指纹识别 技术可以得到有效的控制。
一般的设备都自带读取通用唯一识别码(Universally Unique Identifier,简称UUID)接口实现,但其缺点在于:(1)需要设备权 限来读取,用户不授权,服务端不能区分唯一性;(2)同一个设备 可以产生许多不同的UUID,可能存在欺诈问题。
由于设备指纹在例如反欺诈等领域中发挥着重要的作用,因此需 要寻找一种能够实现可靠的设备指纹的技术。
发明内容
本公开的各实施例提供了一种用于实现设备指纹的方法、装置和 计算机可读存储介质,以至少部分地解决现有技术的上述以及其它潜 在问题。
在本公开的第一方面,提供了一种用于实现设备指纹的方法。该 方法包括:接收关于用户设备的设备数据和在用户设备上进行操作的 操作数据;以及基于设备数据和操作数据并利用逻辑回归模型来识别 设备指纹,包括:将包含设备数据和操作数据的训练数组与预先存储 的关于用户设备的参照数组进行比较;以及根据比较的结果并利用逻 辑回归模型来计算训练数组与参照数组来自同一用户设备的概率。
在本公开的第二方面,提供了一种用于实现设备指纹的装置。该 装置包括:处理器;存储器,耦合至处理器并且存储有指令,指令在 由处理器执行时使处理器执行以下动作:接收关于用户设备的设备数 据和在用户设备上进行操作的操作数据;以及基于设备数据和操作数 据并利用逻辑回归模型来识别设备指纹,包括:将包含设备数据和操 作数据的训练数组与预先存储的关于用户设备的参照数组进行比较; 以及根据比较的结果并利用逻辑回归模型来计算训练数组与参照数 组来自同一用户设备的概率。
在本公开的第三方面,提供了一种计算机可读存储介质,具有存 储在其上的计算机可读程序指令,计算机可读程序指令用于执行根据 本公开的第一方面所述的方法。
附图说明
现将仅通过示例的方式,参考所附附图对本公开的实施例进行描 述,在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
图1示出了本公开的实施例的用于实现设备指纹的方法、装置和 计算机可读存储介质所应用的环境;
图2示出了根据本公开的实施例的用于实现设备指纹的方法的流 程图;
图3示出了图2中根据本公开的实施例的步骤104的示例流程图;
图4示出了根据本公开的实施例的逻辑回归函数的形式;以及
图5示出了根据本公开的实施例的用于实现设备指纹的装置的结 构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示 了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形 式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这 些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公 开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范 围。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不 限于”。术语“基于”是“至少部分地基于”。术语“一个实施例” 表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外 的实施例”。其他术语的相关定义将在下文描述中给出。
如图1所示,其中示出了本公开的用于实现设备指纹的方法、装 置和计算机可读存储介质所应用的环境,其中包括一个或多个用户设 备(可以被称为“前端”)、以及服务器(可以被称为“服务端”)。 用户设备所采集的信息被传送到服务器,并在服务器处进行识别,以 实现设备指纹技术。
例如,本公开主要包括以下两个方面:(1)前端采集数据:前 端在打开App或者Web之后,采集各类设备数据(例如需要用户授 权的数据或不需要用户授权的数据),再把采集到的数据(例如可以 对其进行加密以防止用户设备的信息被泄露)传给服务端;同一个设备,尽量保证每次采集是相同的。(2)服务端进行大数据多维度的 匹配:服务端通过前端采集来的数据,生成设备指纹,保存到数据库。 在关键API访问的时候(例如API是用户设备访问服务端的数据的接 口,可以将数据分为不同等级,比如账户数据,属于不能被泄漏的关键数据,而与账户登录、注册相关的API,都属于关键API),通过 多维度模糊匹配,判断是否是同一个设备,及时预判潜在风险。
如图2所示,其中示出了根据本公开的实施例的用于实现设备指 纹的方法的流程图。
方法100以步骤102开始,接收关于用户设备的设备数据和在用 户设备上进行操作的操作数据。
例如,用户可以在进行特定操作(例如用户在访问登录API时) 时触发设备指纹sdk的上传机制。上传该次操作的设备指纹信息(例 如根据不同客户端而采集的不同的数据)和代表当次操作的token。 用户向mainapp(即后端业务服务器)请求时带上同一token。由 mainapp向设备指纹服务器请求校验收到token的可靠性。可靠性校 验通过后执行正常流程(例如token可以跟随某个API(如登录API) 请求上传到mainapp,并可以在指纹服务器(如安全服务器)上进行 校验可靠性)。
作为示例,针对Android和iOS可以采用不同的方式来获取关于 用户设备的设备数据和在用户设备上进行操作的操作数据,具体说明 如下。
当采用Android时,其采集的数据可以包括:(1)TOKEN数据 和FHASH数据;(2)Basic数据:例如,IMEI、AD_ID、ANDROID_ID、 Version等;(3)Wifi数据:例如,SSID、BSSID、MacAddress等; (4)Network数据:例如,UserAgent、SimOperatorName、NetworkType、PhoneType、ActiveNetworkInfo、PhoneNumber等;(5)Mal数据: 例如,ROOT、Emulator、HOOK、MalFrame、device、OS等。
这里,为了保证在App卸载重装之后,从文件***读取的UUID 的内容不变,可以采用以下App安装卸载唯一保证方案:UUID生成 随机字符串,通过NDK接口存到文件***里,之后只做读操作,保 证app在卸载重装之后,从文件***读取的UUID的内容不变。例如, 可以将Android***生成的UUID(每次安装都会更新),保存到设 备的文件***,保证设备卸载掉App后,数据还存在文件***中。如 果后续再安装该App,则先判断是否存在UUID,如果存在,则直接 读取,不用重复生成,这样服务器就知道是同一个设备的数据。
当采用iOS时,其采集的数据可以包括:(1)platform数据:例 如type、version、language等,(2)basic数据:例如,deviceModel、 idfa、idfv等;(3)sdkVersion数据;(4)appVersion数据;(5) identifier数据;(6)mal数据:例如,emulator、jailbreak等;(7)network数据:例如,type、telco等;(8)ua数据;(9)fhash数据; (10)device数据:例如mobile等;(11)OS数据:例如iOS等。
这里,为了保证在App卸载重装之后,从文件***读取的UUID 的内容不变,可以采用以下App安装卸载唯一保证方案:UUID生成 随机字符串存到Keychain Data里,之后只做读操作,保证app在卸 载重装之后Keychain Data的内容不变。例如,可以将iOS***生 成的UUID(每次安装都会更新),保存到设备的文件***,保证设 备卸载掉App后,数据还存在文件***中。如果后续再安装该App, 则先判断是否存在UUID,如果存在,则直接读取,不用重复生成, 这样服务器就知道是同一个设备的数据。而且,iOS是通过keychain 来保存数据。
根据本公开的实施例,设备数据可以是在前端采集的,前端包括 安卓(Android)前端、iOS前端和Web前端;设备数据包括以下各 项中的至少一项:用户设备的硬件配置数据,包括用户设备的类型、 用户设备的CPU型号;用户设备的软件配置数据,包括用户设备的 操作***类型、操作***版本、浏览器设置数据;以及用户设备的网 络配置数据,包括用户设备的网络类型、网络服务商、SIM***、 MAC地址。
根据本公开的实施例,操作数据可以包括以下各项中的至少一 项:用户在用户设备上浏览网页的第一历史记录信息、用户在用户设 备上安装应用的第二历史记录信息。
继续参考附图2,方法100继续到步骤104,基于设备数据和操 作数据并利用逻辑回归模型来识别设备指纹。
步骤104的示例流程如图3所示,其中,步骤104还可以包括: 在步骤106中,将包含设备数据和操作数据的训练数组与预先存储的 关于用户设备的参照数组进行比较;以及在步骤108中,根据比较的 结果并利用逻辑回归模型来计算训练数组与参照数组来自同一用户 设备的概率。
在步骤106中,作为示例,将包含设备数据和操作数据的训练数 组与预先存储的关于用户设备的参照数组进行比较,包括:在训练数 组与参照数组对应维度的数据相同时,将训练数组中对应维度的数值 设置为1,以及在训练数组与参照数组对应维度的数据不同时,将训 练数组中对应维度的数值设置为0。
例如,可以将一次获取到的所有数据作为数组,形如:[0,0,0,0, 0,0,0,0,1,0,0,0],这里的0、1分别表示当前获取到的维度和标准 维度(即参照维度,例如标准维度可以是指根据之前保存的数据中找 到所有和本次相关的数据,并对相关所有数据进行处理得到的相对于 本次设备指纹的标准维度)是否相同,如果相同则置1,不相同则置 0,即最后的模型实际上是用来计算:“n个维度和标准维度相同,m 个维度和标准维度不同,m+n为总获取维度的个数”时,这一组数据 的0(设备指纹不重复)、1(设备指纹重复)的可能性(即概率,例 如可以用来判断设备指纹是否在重复特定动作,比如注册、登录等)。
在步骤108中,作为示例,根据比较的结果并利用逻辑回归模型 来计算训练数组与参照数组来自同一用户设备的概率包括:利用公式 P(y=1|x;θ)=hθ(x)来计算训练数组与参照数组来自同一用户设备的 概率;其中,P(y=1|x;θ)表示训练数组与参照数组来自同一用户设备 的概率;x为训练数组。
作为替换,也可以利用公式P(y=0|x;θ)=1-hθ(x)来计算训练数 组与参照数组来自同一用户设备的概率;其中,P(y=0|x;θ)表示训练 数组与参照数组来自不同用户设备的概率(也即从相反的角度来反映 训练数组与参照数组来自同一用户设备的概率);x为训练数组。
这里,hθ(x)为预测函数,其形式为其中, θTx为线性边界时的边界函数,即这里 θ0,θ1,…θn为回归系数(例如可以通过大量验算来计算出近似值); 其中,g(θTx)为逻辑回归函数,其形式为
例如,服务端使用到的数学模型为“逻辑回归(Logistic Regression)”,做有监督的机器学习。逻辑回归函数表 现了0,1分类的形式,其函数形式如图4所示。
在线性边界的情况,边界函数为相 对应的预测函数为这里函数hθ(x)的值有特殊 的含义,它表示结果取1的概率,因此对于输入x的分类结果为类别 1和类别0的概率分别为:
对于步骤104,例如可以使用Python的scikit-learn标准库中自 带的逻辑回归类来做逻辑回归模型,并且进行有监督模型的数据训 练,用以确定函数中不确定变量的模糊值,然后,在计算出预测结果 之后,可以存储相应的数据,然后将其作为训练集进行训练,以达到 更准确的预测。
相应地,作为示例,如图3所示,在步骤108之后,基于设备数 据和操作数据并利用逻辑回归模型来识别设备指纹还可以包括步骤 110。在该步骤110处,可以利用训练数组来训练逻辑回归模型,以 获得回归系数的更新值。这样可以得到更精确的回归系数,以便使得 利用逻辑回归模型之后获得的来自同一用户设备的概率的预测值更 加准确。
如图5所示,本公开的实施例提供了一种用于实现设备指纹的装 置200。该装置包括:处理器202;存储器204,耦合至处理器202 并且存储有指令,指令在由处理器202执行时使处理器202执行以下 动作:接收关于用户设备的设备数据和在用户设备上进行操作的操作 数据;以及基于设备数据和操作数据并利用逻辑回归模型来识别设备 指纹,包括:将包含设备数据和操作数据的训练数组与预先存储的关 于用户设备的参照数组进行比较;以及根据比较的结果并利用逻辑回 归模型来计算训练数组与参照数组来自同一用户设备的概率。
根据本公开的实施例,将包含设备数据和操作数据的训练数组与 预先存储的关于用户设备的参照数组进行比较,包括:在训练数组与 参照数组对应维度的数据相同时,将训练数组中对应维度的数值设置 为1,以及在训练数组与参照数组对应维度的数据不同时,将训练数 组中对应维度的数值设置为0。
根据本公开的实施例,根据比较的结果并利用逻辑回归模型来计 算训练数组与参照数组来自同一用户设备的概率包括:利用公式 P(y=1|x;θ)=hθ(x)来计算训练数组与参照数组来自同一用户设备的 概率;其中,P(y=1|x;θ)表示训练数组与参照数组来自同一用户设备 的概率;x为训练数组。
作为替换,也可以利用公式P(y=0|x;θ)=1-hθ(x)来计算训练数 组与参照数组来自同一用户设备的概率;其中,P(y=0|x;θ)表示训练 数组与参照数组来自不同用户设备的概率(也即从相反的角度来反映 训练数组与参照数组来自同一用户设备的概率);x为训练数组。
这里,hθ(x)为预测函数,其形式为其中, θTx为线性边界时的边界函数,即这里 θ0,θ1,…θn为回归系数;其中,g(θTx)为逻辑回归函数,其形式为
根据本公开的实施例,基于设备数据和操作数据并利用逻辑回归 模型来识别设备指纹还包括:利用训练数组来训练逻辑回归模型,以 获得回归系数的更新值。
根据本公开的实施例,设备数据是在前端采集的,前端包括安卓 前端、iOS前端和Web前端;设备数据包括以下各项中的至少一项: 用户设备的硬件配置数据,包括用户设备的类型、用户设备的CPU 型号;用户设备的软件配置数据,包括用户设备的操作***类型、操 作***版本、浏览器设置数据;以及用户设备的网络配置数据,包括 用户设备的网络类型、网络服务商、SIM***、MAC地址。
根据本公开的实施例,操作数据包括以下各项中的至少一项:用 户在用户设备上浏览网页的第一历史记录信息、用户在用户设备上安 装应用的第二历史记录信息。
本公开的实施例还提供了一种计算机可读存储介质,其具有存储 在其上的计算机可读程序指令,计算机可读程序指令用于执行如图2 所述的方法。
本公开可以被具体实现为一种***、方法和/或计算机程序产品。 计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本 公开的各个方面的计算机可读程序指令。
本公开中所描述的方法和功能可以至少部分地由一个或多个硬 件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的示意 性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、 专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑器件 (CPLD)等。
计算机可读存储介质可以是可以保持和存储由指令执行设备使 用的指令的有形设备。计算机可读存储介质例如可以是――但不限 于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导 体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具 体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取 存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器 (EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘 只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机 械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及 上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释 为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波 导或其它传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、 或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质 下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广 域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜 传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计 算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络 接口从网络接收计算机可读程序指令,并转发该计算机可读程序指 令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集 架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、 状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码 或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类 似的编程语言。计算机可读程序指令可以完全地在用户计算机上执 行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分 在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或 服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任 意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算 机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通 过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的 状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程 门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计 算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(***)和计算机程序 产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图 和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以 由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或 其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些 指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生 了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装 置。也可以把这些计算机可读程序指令存储在计算机可读存储介质 中,这些指令使得计算机、可编程数据处理装置和/或其它设备以特定 方式工作,从而,存储有指令的计算机可读介质则包括一个制造品, 其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作 的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处 理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或 其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使 得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实 现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的***、 方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点 上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的 一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现 规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所 标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连 续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序 执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的 每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的 功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与 计算机指令的组合来实现。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求 这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示 的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处 理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细 节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现 的上下文中描述的某些特征还可以组合地实现在单个实现中。相反 地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合 适的子组合的方式实现在多个实现中。
以下列出了本公开的一些示例实现方式。
本公开可以被实现为一种用于实现设备指纹的方法。该方法包 括:接收关于用户设备的设备数据和在用户设备上进行操作的操作数 据;以及基于设备数据和操作数据并利用逻辑回归模型来识别设备指 纹,包括:将包含设备数据和操作数据的训练数组与预先存储的关于 用户设备的参照数组进行比较;以及根据比较的结果并利用逻辑回归 模型来计算训练数组与参照数组来自同一用户设备的概率。
在一些实施例中,将包含设备数据和操作数据的训练数组与预先 存储的关于用户设备的参照数组进行比较,包括:在训练数组与参照 数组对应维度的数据相同时,将训练数组中对应维度的数值设置为1, 以及在训练数组与参照数组对应维度的数据不同时,将训练数组中对 应维度的数值设置为0。
在一些实施例中,根据比较的结果并利用逻辑回归模型来计算训 练数组与参照数组来自同一用户设备的概率包括:利用公式 P(y=1|x;θ)=hθ(x)来计算训练数组与参照数组来自同一用户设备的 概率;其中,P(y=1|x;θ)表示训练数组与参照数组来自同一用户设备 的概率;x为训练数组;其中,hθ(x)为预测函数,其形式为其中,θTx为线性边界时的边界函数,即 这里θ0,θ1,...θn为回归系数;其中, g(θTx)为逻辑回归函数,其形式为
在一些实施例中,基于设备数据和操作数据并利用逻辑回归模型 来识别设备指纹还包括:利用训练数组来训练逻辑回归模型,以获得 回归系数的更新值。
在一些实施例中,设备数据是在前端采集的,前端包括安卓前端、 iOS前端和Web前端;设备数据包括以下各项中的至少一项:用户设 备的硬件配置数据,包括用户设备的类型、用户设备的CPU型号; 用户设备的软件配置数据,包括用户设备的操作***类型、操作*** 版本、浏览器设置数据;以及用户设备的网络配置数据,包括用户设 备的网络类型、网络服务商、SIM***、MAC地址。
在一些实施例中,操作数据包括以下各项中的至少一项:用户在 用户设备上浏览网页的第一历史记录信息、用户在用户设备上安装应 用的第二历史记录信息。
本公开也可以被实现为一种用于实现设备指纹的装置。该装置包 括:处理器;存储器,耦合至处理器并且存储有指令,指令在由处理 器执行时使处理器执行以下动作:接收关于用户设备的设备数据和在 用户设备上进行操作的操作数据;以及基于设备数据和操作数据并利 用逻辑回归模型来识别设备指纹,包括:将包含设备数据和操作数据 的训练数组与预先存储的关于用户设备的参照数组进行比较;以及根 据比较的结果并利用逻辑回归模型来计算训练数组与参照数组来自 同一用户设备的概率。
在一些实施例中,将包含设备数据和操作数据的训练数组与预先 存储的关于用户设备的参照数组进行比较,包括:在训练数组与参照 数组对应维度的数据相同时,将训练数组中对应维度的数值设置为1, 以及在训练数组与参照数组对应维度的数据不同时,将训练数组中对 应维度的数值设置为0。
在一些实施例中,根据比较的结果并利用逻辑回归模型来计算训 练数组与参照数组来自同一用户设备的概率包括:利用公式 P(y=1|x;θ)=hθ(x)来计算训练数组与参照数组来自同一用户设备的 概率;其中,P(y=1|x;θ)表示训练数组与参照数组来自同一用户设备 的概率;x为训练数组;其中,hθ(x)为预测函数,其形式为
其中,θTx为线性边界时的边界函数,即这里θ0,θ1,...θn为回归系数;其中, g(θTx)为逻辑回归函数,其形式为
在一些实施例中,基于设备数据和操作数据并利用逻辑回归模型 来识别设备指纹还包括:利用训练数组来训练逻辑回归模型,以获得 回归系数的更新值。
在一些实施例中,设备数据是在前端采集的,前端包括安卓前端、 iOS前端和Web前端;设备数据包括以下各项中的至少一项:用户设 备的硬件配置数据,包括用户设备的类型、用户设备的CPU型号; 用户设备的软件配置数据,包括用户设备的操作***类型、操作*** 版本、浏览器设置数据;以及用户设备的网络配置数据,包括用户设 备的网络类型、网络服务商、SIM***、MAC地址。
在一些实施例中,操作数据包括以下各项中的至少一项:用户在 用户设备上浏览网页的第一历史记录信息、用户在用户设备上安装应 用的第二历史记录信息。
本公开还可以被实现为一种计算机可读存储介质,具有存储在其 上的计算机可读程序指令,计算机可读程序指令用于执行根据以上所 述的方法。
通过以上描述和相关附图中所给出的教导,这里所给出的本公开 的许多修改形式和其它实施方式将被本公开相关领域的技术人员所 意识到。因此,所要理解的是,本公开的实施方式并不局限于所公开 的具体实施方式,并且修改形式和其它实施方式意在包括在本公开的 范围之内。此外,虽然以上描述和相关附图在部件和/或功能的某些示 例组合形式的背景下对示例实施方式进行了描述,但是应当意识到的 是,可以由备选实施方式提供部件和/或功能的不同组合形式而并不背 离本公开的范围。就这点而言,例如,与以上明确描述的有所不同的 部件和/或功能的其它组合形式也被预期处于本公开的范围之内。虽然 这里采用了具体术语,但是它们仅以一般且描述性的含义所使用而并 非意在进行限制。
Claims (13)
1.一种用于实现设备指纹的方法,其特征在于,包括:
接收关于用户设备的设备数据和在所述用户设备上进行操作的操作数据;以及
基于所述设备数据和所述操作数据并利用逻辑回归模型来识别所述设备指纹,包括:
将包含所述设备数据和所述操作数据的训练数组与预先存储的关于所述用户设备的参照数组进行比较;以及
根据比较的结果并利用所述逻辑回归模型来计算所述训练数组与所述参照数组来自同一用户设备的概率。
2.根据权利要求1所述的方法,其中,所述将包含所述设备数据和所述操作数据的训练数组与预先存储的关于所述用户设备的参照数组进行比较,包括:
在所述训练数组与所述参照数组对应维度的数据相同时,将所述训练数组中对应维度的数值设置为1,以及
在所述训练数组与所述参照数组对应维度的数据不同时,将所述训练数组中对应维度的数值设置为0。
3.根据权利要求2所述的方法,其中,所述根据比较的结果并利用逻辑回归模型来计算所述训练数组与所述参照数组来自同一用户设备的概率包括:
利用公式P(y=1|x;θ)=hθ(x)来计算所述训练数组与所述参照数组来自同一用户设备的概率;
其中,P(y=1|x;θ)表示所述训练数组与所述参照数组来自同一用户设备的概率;x为所述训练数组;
其中,hθ(x)为预测函数,其形式为
其中,θTx为线性边界时的边界函数,即
这里θ0,θ1,...θn为回归系数;
其中,g(θTx)为逻辑回归函数,其形式为
4.根据权利要求3所述的方法,其中,所述基于所述设备数据和所述操作数据并利用逻辑回归模型来识别所述设备指纹还包括:
利用所述训练数组来训练所述逻辑回归模型,以获得所述回归系数的更新值。
5.根据权利要求1所述的方法,其中,所述设备数据是在前端采集的,所述前端包括安卓前端、iOS前端和Web前端;
所述设备数据包括以下各项中的至少一项:
所述用户设备的硬件配置数据,包括所述用户设备的类型、所述用户设备的CPU型号;
所述用户设备的软件配置数据,包括所述用户设备的操作***类型、操作***版本、浏览器设置数据;以及
所述用户设备的网络配置数据,包括所述用户设备的网络类型、网络服务商、SIM***、MAC地址。
6.根据权利要求1所述的方法,其中,所述操作数据包括以下各项中的至少一项:用户在所述用户设备上浏览网页的第一历史记录信息、用户在所述用户设备上安装应用的第二历史记录信息。
7.一种用于实现设备指纹的装置,其特征在于,包括:
处理器;
存储器,耦合至所述处理器并且存储有指令,所述指令在由所述处理器执行时使所述处理器执行以下动作:
接收关于用户设备的设备数据和在所述用户设备上进行操作的操作数据;以及
基于所述设备数据和所述操作数据并利用逻辑回归模型来识别所述设备指纹,包括:
将包含所述设备数据和所述操作数据的训练数组与预先存储的关于所述用户设备的参照数组进行比较;以及
根据比较的结果并利用所述逻辑回归模型来计算所述训练数组与所述参照数组来自同一用户设备的概率。
8.根据权利要求7所述的装置,其中,所述将包含所述设备数据和所述操作数据的训练数组与预先存储的关于所述用户设备的参照数组进行比较,包括:
在所述训练数组与所述参照数组对应维度的数据相同时,将所述训练数组中对应维度的数值设置为1,以及
在所述训练数组与所述参照数组对应维度的数据不同时,将所述训练数组中对应维度的数值设置为0。
9.根据权利要求8所述的装置,其中,所述根据比较的结果并利用逻辑回归模型来计算所述训练数组与所述参照数组来自同一用户设备的概率包括:
利用公式P(y=1|x;θ)=hθ(x)来计算所述训练数组与所述参照数组来自同一用户设备的概率;
其中,P(y=1|x;θ)表示所述训练数组与所述参照数组来自同一用户设备的概率;x为所述训练数组;
其中,hθ(x)为预测函数,其形式为
其中,θTx为线性边界时的边界函数,即这里θ0,θ1,...θn为回归系数;
其中,g(θTx)为逻辑回归函数,其形式为
10.根据权利要求9所述的方法,其中,所述基于所述设备数据和所述操作数据并利用逻辑回归模型来识别所述设备指纹还包括:
利用所述训练数组来训练所述逻辑回归模型,以获得所述回归系数的更新值。
11.根据权利要求7所述的装置,其中,所述设备数据是在前端采集的,所述前端包括安卓前端、iOS前端和Web前端;
所述设备数据包括以下各项中的至少一项:
所述用户设备的硬件配置数据,包括所述用户设备的类型、所述用户设备的CPU型号;
所述用户设备的软件配置数据,包括所述用户设备的操作***类型、操作***版本、浏览器设置数据;以及
所述用户设备的网络配置数据,包括所述用户设备的网络类型、网络服务商、SIM***、MAC地址。
12.根据权利要求7所述的装置,其中,所述操作数据包括以下各项中的至少一项:用户在所述用户设备上浏览网页的第一历史记录信息、用户在所述用户设备上安装应用的第二历史记录信息。
13.一种计算机可读存储介质,其特征在于,具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710562300.2A CN107622198B (zh) | 2017-07-11 | 2017-07-11 | 用于实现设备指纹的方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710562300.2A CN107622198B (zh) | 2017-07-11 | 2017-07-11 | 用于实现设备指纹的方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107622198A true CN107622198A (zh) | 2018-01-23 |
CN107622198B CN107622198B (zh) | 2020-08-25 |
Family
ID=61087070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710562300.2A Expired - Fee Related CN107622198B (zh) | 2017-07-11 | 2017-07-11 | 用于实现设备指纹的方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107622198B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108681667A (zh) * | 2018-04-02 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 一种设备型号识别方法、装置及处理设备 |
CN109446791A (zh) * | 2018-11-23 | 2019-03-08 | 杭州优行科技有限公司 | 新设备识别方法、装置、服务器及计算机可读存储介质 |
CN109657447A (zh) * | 2018-11-28 | 2019-04-19 | 腾讯科技(深圳)有限公司 | 一种设备指纹生成方法及装置 |
CN109766678A (zh) * | 2018-12-12 | 2019-05-17 | 同济大学 | 面向移动端设备指纹识别认证方法、***、介质及设备 |
WO2020131468A1 (en) * | 2018-12-17 | 2020-06-25 | Microsoft Technology Licensing, Llc | Facilitating device fingerprinting through assignment of fuzzy device identifiers |
CN111382417A (zh) * | 2018-12-28 | 2020-07-07 | 卡巴斯基实验室股份制公司 | 使用一系列设备指纹识别来自用户设备的欺诈行为的***和方法 |
CN112861112A (zh) * | 2021-02-08 | 2021-05-28 | 北京顶象技术有限公司 | 一种防止设备指纹标识欺诈的方法及装置 |
CN114783007A (zh) * | 2022-06-22 | 2022-07-22 | 成都新希望金融信息有限公司 | 设备指纹识别方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224623A (zh) * | 2015-09-22 | 2016-01-06 | 北京百度网讯科技有限公司 | 数据模型的训练方法及装置 |
CN105989373A (zh) * | 2015-02-15 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 利用训练模型实现的获取设备指纹方法及装置 |
CN106709318A (zh) * | 2017-01-24 | 2017-05-24 | 腾云天宇科技(北京)有限公司 | 一种用户设备唯一性的识别方法、装置和计算设备 |
CN106776873A (zh) * | 2016-11-29 | 2017-05-31 | 珠海市魅族科技有限公司 | 一种推荐结果生成方法以及装置 |
-
2017
- 2017-07-11 CN CN201710562300.2A patent/CN107622198B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989373A (zh) * | 2015-02-15 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 利用训练模型实现的获取设备指纹方法及装置 |
CN105224623A (zh) * | 2015-09-22 | 2016-01-06 | 北京百度网讯科技有限公司 | 数据模型的训练方法及装置 |
CN106776873A (zh) * | 2016-11-29 | 2017-05-31 | 珠海市魅族科技有限公司 | 一种推荐结果生成方法以及装置 |
CN106709318A (zh) * | 2017-01-24 | 2017-05-24 | 腾云天宇科技(北京)有限公司 | 一种用户设备唯一性的识别方法、装置和计算设备 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019192260A1 (zh) * | 2018-04-02 | 2019-10-10 | 阿里巴巴集团控股有限公司 | 一种设备型号识别方法、装置及处理设备 |
CN108681667A (zh) * | 2018-04-02 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 一种设备型号识别方法、装置及处理设备 |
TWI709866B (zh) * | 2018-04-02 | 2020-11-11 | 開曼群島商創新先進技術有限公司 | 設備型號識別方法、裝置及處理設備 |
CN109446791A (zh) * | 2018-11-23 | 2019-03-08 | 杭州优行科技有限公司 | 新设备识别方法、装置、服务器及计算机可读存储介质 |
CN109657447A (zh) * | 2018-11-28 | 2019-04-19 | 腾讯科技(深圳)有限公司 | 一种设备指纹生成方法及装置 |
CN109657447B (zh) * | 2018-11-28 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 一种设备指纹生成方法及装置 |
CN109766678A (zh) * | 2018-12-12 | 2019-05-17 | 同济大学 | 面向移动端设备指纹识别认证方法、***、介质及设备 |
US11556823B2 (en) * | 2018-12-17 | 2023-01-17 | Microsoft Technology Licensing, Llc | Facilitating device fingerprinting through assignment of fuzzy device identifiers |
WO2020131468A1 (en) * | 2018-12-17 | 2020-06-25 | Microsoft Technology Licensing, Llc | Facilitating device fingerprinting through assignment of fuzzy device identifiers |
CN111382417A (zh) * | 2018-12-28 | 2020-07-07 | 卡巴斯基实验室股份制公司 | 使用一系列设备指纹识别来自用户设备的欺诈行为的***和方法 |
CN112861112A (zh) * | 2021-02-08 | 2021-05-28 | 北京顶象技术有限公司 | 一种防止设备指纹标识欺诈的方法及装置 |
CN114783007B (zh) * | 2022-06-22 | 2022-09-27 | 成都新希望金融信息有限公司 | 设备指纹识别方法、装置和电子设备 |
CN114783007A (zh) * | 2022-06-22 | 2022-07-22 | 成都新希望金融信息有限公司 | 设备指纹识别方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107622198B (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107622198A (zh) | 用于实现设备指纹的方法、装置和计算机可读存储介质 | |
CN109034660B (zh) | 基于预测模型的风险控制策略的确定方法及相关装置 | |
CN107423817B (zh) | 一种深度学习实现的方法及设备 | |
JP6609047B2 (ja) | アプリケーション情報リスクマネジメントのための方法及びデバイス | |
US11336673B2 (en) | Systems and methods for third party risk assessment | |
CN112395159A (zh) | 一种日志检测方法、***、设备及介质 | |
US10860462B2 (en) | System, computer program product and method for enhanced production environment behavior mirroring E.G. while conducting pilot on proof-of-concept (PoC) platforms | |
CN107395558A (zh) | 用于通信的方法、***及计算机可读非临时性存储介质 | |
CN106022349B (zh) | 用于设备类型确定的方法和*** | |
EP2462716A1 (en) | System and method for extending automated penetration testing to develop an intelligent and cost efficient security strategy | |
US20190340615A1 (en) | Cognitive methodology for sequence of events patterns in fraud detection using event sequence vector clustering | |
CN101656710A (zh) | 主动审计***及方法 | |
US20190340614A1 (en) | Cognitive methodology for sequence of events patterns in fraud detection using petri-net models | |
CN113496033A (zh) | 访问行为识别方法和装置及存储介质 | |
US10489715B2 (en) | Fingerprinting and matching log streams | |
US20220086131A1 (en) | Multi-factor authentication for non-internet applications | |
CN107347076A (zh) | Ssrf漏洞的检测方法及装置 | |
US20160219069A1 (en) | Method for detecting anomalies in network traffic | |
CN108924159A (zh) | 一种报文特征识别库的验证方法与装置 | |
US10742642B2 (en) | User authentication based on predictive applications | |
Alrimawi et al. | Software engineering challenges for investigating cyber-physical incidents | |
CN111294347B (zh) | 一种工控设备的安全管理方法及*** | |
CN111177536B (zh) | 基于设备指纹对未登录用户传送定制信息的方法、装置及电子设备 | |
JP7000271B2 (ja) | 車両不正アクセス対策装置、及び車両不正アクセス対策方法 | |
CN114996708B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200825 Termination date: 20210711 |