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