1.一種用于移動(dòng)設(shè)備安全認(rèn)證的系統(tǒng),其特征在于,該系統(tǒng)包括:
前端采集SDK模塊:該模塊采集當(dāng)前設(shè)備信息,加密采集信息,向設(shè)備指紋服務(wù)模塊發(fā)送服務(wù)請(qǐng)求,所述服務(wù)請(qǐng)求包括加密信息、原始采集信息;
設(shè)備指紋持久化模塊:與設(shè)備指紋服務(wù)模塊相連,提供數(shù)據(jù)查詢(xún),數(shù)據(jù)持久化存儲(chǔ)功能;所述的數(shù)據(jù)查詢(xún)包括,查詢(xún)?cè)撃K中是否存在匹配的設(shè)備信息;
設(shè)備指紋服務(wù)模塊:接收前端采集SDK模塊的請(qǐng)求,識(shí)別前端采集SDK模塊的類(lèi)型,校驗(yàn)請(qǐng)求內(nèi)容,查詢(xún)或生成原始設(shè)備指紋碼,加密原始設(shè)備指紋碼后將其返回給請(qǐng)求的前端采集SDK模塊;所述的校驗(yàn)請(qǐng)求內(nèi)容具體為:將請(qǐng)求內(nèi)容中原始采集信息,利用加密算法加密,得出密文,將密文與請(qǐng)求內(nèi)容中攜帶的密文進(jìn)行比對(duì),驗(yàn)證請(qǐng)求信息的真實(shí)性與安全性;所述的查詢(xún)或生成原始設(shè)備指紋碼具體為:在設(shè)備指紋持久化模塊中查詢(xún)?cè)疾杉畔⑹欠翊嬖?,若不存在,則通過(guò)通用唯一識(shí)別碼(UUID)生成固定位數(shù)的原始設(shè)備指紋碼并將原始設(shè)備指紋碼與原始采集信息存儲(chǔ)于設(shè)備指紋持久化模塊中;若存在,則獲取其對(duì)應(yīng)原始設(shè)備指紋碼;所述的加密原始設(shè)備指紋碼具體為:將固定位數(shù)的原始設(shè)備指紋碼、商戶(hù)要求的參數(shù)、對(duì)應(yīng)的奇偶校驗(yàn)值拼接后得到新的字段,為密文設(shè)備指紋碼;
設(shè)備指紋驗(yàn)證模塊:校驗(yàn)設(shè)備指紋服務(wù)模塊生成的密文設(shè)備指紋碼是否合法,具體為:校驗(yàn)密文設(shè)備指紋碼長(zhǎng)度是否正常,使用加密算法將密文設(shè)備指紋碼還原成原始設(shè)備指紋碼、商戶(hù)要求的參數(shù)、對(duì)應(yīng)的奇偶校驗(yàn)值,再通過(guò)原始設(shè)備指紋碼、商戶(hù)要求的參數(shù)獲取奇偶校驗(yàn)值,與密文設(shè)備指紋碼中的奇偶校驗(yàn)值進(jìn)行比對(duì),從而判斷密文設(shè)備指紋碼是否合法。
2.根據(jù)權(quán)利要求1所述的一種用于移動(dòng)設(shè)備安全認(rèn)證的系統(tǒng),其特征在于,所述前端采集SDK模塊包括前端采集SDK Web模塊、前端采集SDK iOS模塊和前端采集SDK Android模塊;
前端采集SDK Web模塊:該模塊加載js文件,采集當(dāng)前瀏覽器設(shè)備信息,加密采集信息,發(fā)送加密信息及原始采集信息至設(shè)備指紋服務(wù)模塊;其中,采集當(dāng)前瀏覽器設(shè)備信息是指調(diào)用系統(tǒng)接口,直接獲取設(shè)備信息;加密采集信息是指利用加密算法將原始采集信息加密;所述的瀏覽器設(shè)備信息,包括瀏覽器唯一標(biāo)識(shí)符evercookies、瀏覽器標(biāo)簽canvas等其他信息;
前端采集SDK iOS模塊:該模塊以靜態(tài)庫(kù)形式嵌入應(yīng)用中,采集當(dāng)前設(shè)備上的非敏感軟硬件信息,加密采集信息,發(fā)送加密信息及原始采集信息至設(shè)備指紋服務(wù)模塊;所述的以靜態(tài)庫(kù)形式嵌入應(yīng)用中,用戶(hù)可以通過(guò)此靜態(tài)庫(kù)的頭文件調(diào)用相應(yīng)API,獲取設(shè)備指紋碼;所述的非敏感軟硬件信息包括iOS設(shè)備的廣告標(biāo)識(shí)符、iOS設(shè)備的Vindor標(biāo)識(shí)符等;所述的加密采集信息是指利用加密算法將原始采集信息加密;
前端采集SDK Android模塊:該模塊通過(guò)JAR包形式在應(yīng)用內(nèi)嵌入SDK,以自發(fā)主動(dòng)的方式采集當(dāng)前設(shè)備上的非敏感軟硬件信息,加密采集信息,發(fā)送加密信息及原始采集信息至設(shè)備指紋服務(wù)模塊;所述的非敏感軟硬件信息包括設(shè)備的Mac地址、藍(lán)牙地址、國(guó)際移動(dòng)設(shè)備身份碼(IMEI)等信息;所述的加密采集信息是指利用加密算法將原始采集信息加密。
3.根據(jù)權(quán)利要求1所述的一種用于移動(dòng)設(shè)備安全認(rèn)證的系統(tǒng),其特征在于,所述固定位數(shù)的原始設(shè)備指紋碼為32位的字符串。
4.根據(jù)權(quán)利要求1所述的一種用于移動(dòng)設(shè)備安全認(rèn)證的系統(tǒng),其特征在于,所述加密算法為哈希算法。
5.根據(jù)權(quán)利要求1所述的一種用于移動(dòng)設(shè)備安全認(rèn)證的系統(tǒng),其特征在于,所述商戶(hù)要求的參數(shù)為原始設(shè)備指紋碼的過(guò)期時(shí)間。
6.根據(jù)權(quán)利要求1所述的一種用于移動(dòng)設(shè)備安全認(rèn)證的系統(tǒng),其特征在于,所述前端采集SDK模塊向設(shè)備指紋服務(wù)模塊發(fā)送的服務(wù)請(qǐng)求中,還包括商家對(duì)應(yīng)的編號(hào);其中商家對(duì)應(yīng)的編號(hào)已先存儲(chǔ)于設(shè)備指紋持久化模塊中,用于辨別請(qǐng)求來(lái)源。
7.一種用于移動(dòng)設(shè)備安全認(rèn)證的方法,其特征在于,該方法包括以下步驟:
(1)通過(guò)前端采集SDK模塊,采集設(shè)備上的非敏感軟硬件信息,加密原始設(shè)備信息,再將密文及原始設(shè)備信息發(fā)送至設(shè)備指紋服務(wù)模塊;
(2)通過(guò)設(shè)備指紋服務(wù)模塊,驗(yàn)證請(qǐng)求來(lái)源,對(duì)請(qǐng)求內(nèi)容進(jìn)行校驗(yàn);
(3)通過(guò)設(shè)備指紋服務(wù)模塊,將前端采集SDK模塊采集的設(shè)備信息在設(shè)備指紋持久化模塊中執(zhí)行查詢(xún)及存儲(chǔ)操作,使用通用唯一識(shí)別碼(UUID)生成固定位數(shù)的原始設(shè)備指紋碼,將原始設(shè)備指紋碼、原始設(shè)備指紋碼的過(guò)期時(shí)間及對(duì)應(yīng)的奇偶校驗(yàn)值加密得到密文設(shè)備指紋碼,并將密文設(shè)備指紋碼返回給前端SDK采集模塊;
(4)通過(guò)設(shè)備指紋持久化模塊,執(zhí)行對(duì)步驟2獲得的設(shè)備信息的查詢(xún)及存儲(chǔ)操作,具體包括查詢(xún)是否存在設(shè)備信息,存儲(chǔ)設(shè)備信息;
(5)通過(guò)設(shè)備指紋驗(yàn)證模塊,執(zhí)行從步驟2獲得的密文設(shè)備指紋碼;具體包括對(duì)密文設(shè)備指紋碼進(jìn)行長(zhǎng)度校驗(yàn)、過(guò)期時(shí)間校驗(yàn)、字符串合法校驗(yàn);其中長(zhǎng)度校驗(yàn)是指校驗(yàn)原始設(shè)備指紋字符串長(zhǎng)度是否符合標(biāo)準(zhǔn);其中過(guò)期時(shí)間校驗(yàn)是指校驗(yàn)原始設(shè)備指紋碼在當(dāng)前時(shí)間是否過(guò)期;字符串合法校驗(yàn)是指密文設(shè)備指紋碼中攜帶奇偶校驗(yàn)位,可用于校驗(yàn)密文設(shè)備指紋碼是否被篡改。
8.根據(jù)權(quán)利要求7所述的一種用于移動(dòng)設(shè)備安全認(rèn)證的方法,其特征在于,所述的步驟1中,所述發(fā)送方式具體為發(fā)送POST請(qǐng)求,其中POST請(qǐng)求格式是JSON格式。
9.根據(jù)權(quán)利要求7所述的一種用于移動(dòng)設(shè)備安全認(rèn)證的方法,其特征在于,所述的步驟1中,所述加密方法為哈希加密算法。
10.根據(jù)權(quán)利要求7所述的一種用于移動(dòng)設(shè)備安全認(rèn)證的方法,其特征在于,所述的步驟3中,所述加密方法為哈希加密算法。