人工智能反欺詐-設備指紋

設備指紋分類

  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之間的設備識別與比對關聯問題
相關文章
相關標籤/搜索