人工智能反欺诈-设备指纹

设备指纹分类

  1. 主动式设备指纹
  2. 被动式设备指纹
  3. 混合式设备指纹技术

设备指纹技术的流派

传统的设备识别手段主要依赖于单一的信息源,与此不一样,新一代的设备指纹技术使用更多的信息来完成设备的识别。它经过网络收集终端设备的特征信息,并在分析与鉴别的基础上,对每一组从终端设备采集的特征信息组合赋予惟一的设备指纹ID,用以标识该终端设备。从实现的技术方法上看,能够分为主动式设备指纹与被动式设备指纹两种技术路线。javascript

主动式设备指纹

主动式设备指纹技术通常采用JS代码或SDK,在客户端主动地收集与设备相关的信息和特征,经过对这些特征的识别来辨别不一样的设备。通常的设备特征信息有:html

Ø 浏览器特征,包括UA、版本、OS、插件的配置、Canvas特征等;java

Ø 设备的传感器特征,好比麦克风、加速传感器的特征等;web

Ø 设备OS的特征,好比是否越狱等;算法

Ø 设备的配置,好比网络配置,系统flash的配置等;json

主动式设备指纹算法通常将这些信息组合起来,经过特定的hash算法获得一个设备指纹ID值,做为该设备的惟一标识符。同时,考虑到设备指纹的稳定性,通常还会结合其余的持久化的存储技术,将设备指纹ID长期保存起来。浏览器

被动式设备指纹

被动式设备指纹技术在终端设备与服务器通讯的过程当中,从数据报文的OSI七层协议中,提取出该终端设备的OS、协议栈和网络状态相关的特征集,并结合机器学习算法以标识和跟踪具体的终端设备。服务器

与主动式设备指纹技术相比,被动式设备指纹并没必要须在设备终端上嵌入用于收集设备特征信息的JS代码或SDK,其所须要的设备特征都是从终端设备发送过来的数据报文中提取,这也是其所谓“被动式”的缘由。网络

主动式设备指纹技术,由于相对来讲更为简单直接,因此业界大部分设备指纹技术厂商提供的都是该类设备指纹服务。被动式设备指纹技术,因为其须要使用机器学习技术构建设备指纹分类算法模型,具备较高的技术壁垒,于是还处于推广起步阶段。app

混合式设备指纹技术

主动式设备指纹和被动式设备指纹技术,都存在着自身的缺点与局限性,限制了它们的应用范围:

Ø 对于主动式设备指纹来讲,其最大的局限在于其收集的设备特征在Web域和App域中存在着区隔,即在不一样的浏览器中,收集到的设备特征也各不相同。于是主动式设备指纹在不一样的浏览器中,以及Web和App之间,会生成不一样的设备指纹ID,没法实现Web与App间,不一样的浏览器之间的设备关联。主动式设备指纹的另外一个缺陷是,因为依赖于客户端代码,指纹在反欺诈的场景中对抗性较弱。

Ø 被动式设备指纹技术能够很好地解决Web与App之间、不一样的浏览器之间的设备关联问题。可是因为其须要使用复杂的机器学习算法来进行设备的识别,因此占用的处理资源较多,响应时延也要比主动式设备指纹更长。

混合式设备指纹技术克服了主动式设备指纹和被动式设备指纹技术各自的固有的缺点,在准确识别设备的同时扩大了设备指纹技术的适用范围。对于Web页面或App内部的应用场景,能够经过主动式设备指纹技术进行快速的设备识别;而对于不一样的浏览器之间、Web页面与App之间的设备识别与比对关联,则能够利用被动式设备指纹的技术优点来实现。

设备指纹的核心技术

设备指纹技术是一个综合性的系统工程,掌握这门技术须要跨越一系列的技术门槛,这也是为何虽然应用场景广阔,至今市场上此项技术提供者并很少的缘由。这里介绍了设备指纹两项关键的技术,大规模在线几率式记录关联和机器学习,让你们对设备指纹有个总体的认识。

阿里-设备指纹接入

阿里设备指纹接入 demo

获取设备指纹token等

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>阿里设备指纹</title>
    <!-- <script type="text/javascript" src="https://g.alicdn.com/AWSC/AWSC/awsc.js"></script> -->
</head>
<script> function createScript({ url, isAsync }, cb, attrs) { var scriptNode = document.createElement('script') scriptNode.type = 'text/javascript' isAsync && (scriptNode.defer = true, scriptNode.async = true) if (attrs) { for (let attr in attrs) { scriptNode[attr] = attrs[attr] } } scriptNode.src = url; document.body.appendChild(scriptNode); if (cb) { if (window.ActiveXObject || "ActiveXObject" in window) { //判断是不是ie if (scriptNode.readyState) { //判断是否支持readyState scriptNode.onreadystatechange = function () { if (this.readyState == "loaded" || this.readyState == "complete") { //ie 10及如下 cb && cb() } } } else { scriptNode.onload = function () { //ie11及Edge cb && cb() } } } else { //不是ie scriptNode.onload = function () { // 非ie浏览器 cb && cb() } } } console.log('scriptNode', scriptNode) return scriptNode }; function getTokens() { var uabModule; var webUmidToken; //人机识别模块,只需初始化一次 AWSC.use("uab", function (state, uab) { if (state === "loaded") { uabModule = uab; var uaToken = uabModule.getUA(); console.log("uaToken", uaToken) } }); //设备指纹模块,获得设备token,只需初始化一次 AWSC.use("um", function (state, um) { if (state === "loaded") { um.init({ appName: 'saf-aliyun-com', }, function (initState, result) { if (initState === 'success') { webUmidToken = result.tn; console.log("webUmidToken", webUmidToken) } }); } }); }; window.onload = function () { createScript({ url: 'https://g.alicdn.com/AWSC/AWSC/awsc.js' }, getTokens); } </script>

<body>

    <div>设备指纹</div>
</body>
<script> </script>

</html>
复制代码

以上代码会作调用(ynuf.aliapp.org/service/um.… 将uaToken、webUmidToken与其余参数

在风控领域的一些应用

参考

总结

  • 大部分设备指纹技术厂商 提供的都是主动式设备指纹技术
  • 被动式设备指纹技术,处于推广起步阶段。
  • 混合式设备指纹技术,解决了Web页面与App之间的设备识别与比对关联问题
相关文章
相关标签/搜索