本發(fā)明屬于信息安全領(lǐng)域,尤其涉及一種用于移動(dòng)設(shè)備安全認(rèn)證的系統(tǒng)及方法。
背景技術(shù):
現(xiàn)實(shí)世界的交易奉行一手交錢(qián)、一手交貨的原則,交易雙方有眾多手段可以辨別對(duì)手方的真實(shí)性和誠(chéng)信情況。虛擬世界的交易(非面對(duì)面交易,CNP)最大的問(wèn)題是難以確認(rèn)交易發(fā)起者的身份,交易雙方不能確認(rèn)對(duì)方位置、性別、長(zhǎng)相,甚至是否存在都無(wú)法確認(rèn)。這樣的環(huán)境為欺詐行為提供了沃土,滋生了繁榮的欺詐市場(chǎng)。傳統(tǒng)的反欺詐手段一般是通過(guò)賬戶(hù)、銀行卡、手機(jī)、IP等緯度進(jìn)行交易者的身份確認(rèn),但是這些緯度要么難以真實(shí)確認(rèn)一名交易者,要么易于被篡改,反欺詐效果有限。
因此需要解決如下的技術(shù)問(wèn)題,為每一臺(tái)設(shè)備分配一個(gè)唯一的編號(hào),作為設(shè)備的唯一標(biāo)識(shí)。通過(guò)該標(biāo)識(shí),反欺詐者可以觀察到客戶(hù)交易環(huán)境的變化和交易行為的變化,即使欺詐者變更賬戶(hù)、銀行卡、手機(jī)等信息,能夠提高反欺詐的能力。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,提供一種用于移動(dòng)設(shè)備安全認(rèn)證的系統(tǒng)及方法。
本發(fā)明的目的是通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)的:一種用于移動(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è)備指紋碼是否合法。
進(jìn)一步地,所述前端采集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)等信息;所述的加密采集信息是指利用加密算法將原始采集信息加密。
進(jìn)一步地,所述固定位數(shù)的原始設(shè)備指紋碼為32位的字符串。
進(jìn)一步地,所述加密算法為哈希算法。
進(jìn)一步地,所述商戶(hù)要求的參數(shù)為原始設(shè)備指紋碼的過(guò)期時(shí)間。
進(jìn)一步地,所述前端采集SDK模塊向設(shè)備指紋服務(wù)模塊發(fā)送的服務(wù)請(qǐng)求中,還包括商家對(duì)應(yīng)的編號(hào);其中商家對(duì)應(yīng)的編號(hào)已先存儲(chǔ)于設(shè)備指紋持久化模塊中,用于辨別請(qǐng)求來(lái)源。
一種用于移動(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è)備指紋碼是否被篡改。
進(jìn)一步地,所述的步驟1中,所述發(fā)送方式具體為發(fā)送POST請(qǐng)求,其中POST請(qǐng)求格式是JSON格式。
進(jìn)一步地,所述的步驟1中,所述加密方法為哈希加密算法。
進(jìn)一步地,所述的步驟3中,所述加密方法為哈希加密算法。
本發(fā)明的有益效果是:本發(fā)明提供的移動(dòng)設(shè)備安全認(rèn)證的系統(tǒng)及方法,可以有效為設(shè)備提供唯一的設(shè)備指紋碼,用于區(qū)別其他設(shè)備;通過(guò)給原始設(shè)備指紋碼添加加密、校驗(yàn)過(guò)程,排查設(shè)備指紋碼是否非法,是否被篡改等情況;能夠有效保護(hù)原始設(shè)備指紋,提高設(shè)備指紋碼的安全性及準(zhǔn)確性。
附圖說(shuō)明
圖1為本發(fā)明系統(tǒng)結(jié)構(gòu)框圖;
圖2為本發(fā)明方法流程圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
本發(fā)明通過(guò)抓取交易者發(fā)起交易的設(shè)備環(huán)境信息,通過(guò)邏輯運(yùn)算,為每一臺(tái)設(shè)備分配一個(gè)唯一的編號(hào),作為設(shè)備的唯一標(biāo)識(shí)。其唯一性與每個(gè)人的指紋相同,以下簡(jiǎn)稱(chēng)為“設(shè)備指紋”。
如圖1所示,本發(fā)明提供的一種移動(dòng)設(shè)備安全認(rèn)證的系統(tǒng),包括:
前端采集SDK模塊:該模塊采集當(dāng)前設(shè)備信息,加密采集信息,向設(shè)備指紋服務(wù)模塊發(fā)送服務(wù)請(qǐng)求,所述服務(wù)請(qǐng)求包括加密信息、原始采集信息;具體包括前端采集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)等信息;所述的加密采集信息是指利用加密算法將原始采集信息加密。
設(shè)備指紋持久化模塊:與設(shè)備指紋服務(wù)模塊相連,提供數(shù)據(jù)查詢(xún),數(shù)據(jù)持久化存儲(chǔ)功能;所述的數(shù)據(jù)查詢(xún)包括,查詢(xún)?cè)撃K中是否存在匹配的設(shè)備信息;所述數(shù)據(jù)持久化存儲(chǔ)功能是指存儲(chǔ)原始采集信息。
設(shè)備指紋服務(wù)模塊:接收前端采集SDK模塊的請(qǐng)求,識(shí)別前端采集SDK模塊的類(lèi)型,校驗(yàn)請(qǐng)求內(nèi)容,查詢(xún)或生成原始設(shè)備指紋碼,加密原始設(shè)備指紋碼后將其返回給請(qǐng)求的前端采集SDK模塊;所述的識(shí)別請(qǐng)求來(lái)源具體為:識(shí)別來(lái)源是android端、iOS端還是PC端;所述的校驗(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è)備指紋持久化模塊中,原始設(shè)備指紋碼可采用32位的字符串;若存在,則獲取其對(duì)應(yīng)原始設(shè)備指紋碼;其中通用唯一識(shí)別碼(UUID)指在一臺(tái)機(jī)器上生成的數(shù)字,它保證對(duì)在同一時(shí)空中的所有機(jī)器都是唯一的;所述的加密原始設(shè)備指紋碼具體為:將固定位數(shù)的原始設(shè)備指紋碼、商戶(hù)要求的參數(shù)、對(duì)應(yīng)的奇偶校驗(yàn)值拼接后得到新的字段,為密文設(shè)備指紋碼;所述商戶(hù)要求的參數(shù)可設(shè)置為原始設(shè)備指紋碼的過(guò)期時(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所示,本發(fā)明提供的一種移動(dòng)設(shè)備安全認(rèn)證的方法,包括以下步驟:
(1)通過(guò)前端采集SDK模塊,采集設(shè)備上的非敏感軟硬件信息,加密原始設(shè)備信息,再將密文及原始設(shè)備信息發(fā)送至設(shè)備指紋服務(wù)模塊;發(fā)送方式可采用發(fā)送POST請(qǐng)求,POST請(qǐng)求格式是JSON格式。
(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è)備指紋碼是否被篡改。
本發(fā)明中所有的加密方法均可采用哈希加密算法。通過(guò)給原始設(shè)備指紋碼添加加密、校驗(yàn)過(guò)程,排查設(shè)備指紋碼是否非法,是否被篡改等情況;能夠有效保護(hù)原始設(shè)備指紋,提高設(shè)備指紋碼的安全性及準(zhǔn)確性。