本發(fā)明涉及移動(dòng)互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及一種在移動(dòng)設(shè)備中進(jìn)行多系統(tǒng)認(rèn)證及同步的系統(tǒng)和方法。
背景技術(shù):
近年來,隨著移動(dòng)互聯(lián)網(wǎng)時(shí)代的到來,以及智能手機(jī),平板電腦的爆發(fā)式增長(zhǎng),單位員工可以隨時(shí)隨地依托移動(dòng)智能終端來實(shí)現(xiàn)辦公,從而打破了工作的時(shí)間、空間的邊界,企業(yè)員工將個(gè)人的智能終端設(shè)備用于企業(yè)日常辦公,這類現(xiàn)象稱為byod(bringyourowndevice)。
·marketsandmarkets統(tǒng)計(jì)數(shù)據(jù)顯示:2017年與byod相關(guān)的市場(chǎng)規(guī)模將達(dá)到1813.9億美元,軟件安全需求成為主要推動(dòng)力。
·cti論壇:byod趨勢(shì)正在以每年15%的速度增長(zhǎng),預(yù)計(jì)到2017年,byod市場(chǎng)價(jià)值將達(dá)到1810億美元。
·cisco:美國(guó)是當(dāng)前最大的byod應(yīng)用市場(chǎng),目前有7100萬臺(tái)相關(guān)byod的設(shè)備在使用中;到2016年,中國(guó)將成為byod應(yīng)用市場(chǎng)的領(lǐng)導(dǎo)者,將有1.66億臺(tái)設(shè)備使用
·平均69%的企業(yè)員工擁有1部以上的移動(dòng)智能終端;
·平均77%的企業(yè)員工利用自帶設(shè)備用于企業(yè)辦公;
·平均不到20%的企業(yè)員工愿意支付工作相關(guān)的通信費(fèi)用;
·平均超過56%的企業(yè)主有byod的部署和管理需求;
·平均18%的企業(yè)愿意為員工購(gòu)買移動(dòng)智能終端設(shè)備
隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,移動(dòng)辦公的興起,原有的傳統(tǒng)認(rèn)證方式,已經(jīng)無法適應(yīng)新的應(yīng)用場(chǎng)景和安全需求,主要面臨的問題有:
1.多系統(tǒng)賬號(hào)密碼過多
·各種各樣的saas服務(wù),各有各的賬號(hào)和密碼,密碼各自有各自的規(guī)則。
·對(duì)于企業(yè)選擇的產(chǎn)品集群,用戶有太多密碼需要記憶和使用。
2.系統(tǒng)間認(rèn)證無法打通
·各種各樣的saas服務(wù),各有各的入口,用戶需要不斷從一個(gè)入口出來,從另一個(gè)入口進(jìn)入。
·由于各個(gè)服務(wù)之間的認(rèn)證并未打通,用戶找到新的入口還需要再次認(rèn)證。
3.認(rèn)證信息泄露
·企業(yè)是黑客重點(diǎn)攻擊的目標(biāo),各種攻擊事件層出不窮,不僅導(dǎo)致企業(yè)的財(cái)產(chǎn)受到重大損失,也導(dǎo)致企業(yè)名譽(yù)受到影響,這是企業(yè)″談虎色變″的關(guān)鍵問題。
·企業(yè)員工密碼口令設(shè)置過于簡(jiǎn)單,密碼多人共享等,造成安全隱患,黑客可能比較容易嘗試出密碼。
4.各系統(tǒng)安全防護(hù)水平不平衡
·各個(gè)系統(tǒng)的安全防護(hù)水平不同,各個(gè)系統(tǒng)打通后,安全防護(hù)能力受制于最薄弱的環(huán)節(jié),導(dǎo)致系統(tǒng)極易受到攻擊,嚴(yán)重威脅企業(yè)信息安全。
在這樣的大背景下,亟需一個(gè)適合企業(yè)移動(dòng)辦公場(chǎng)景下的多系統(tǒng)認(rèn)證及狀態(tài)同步解決方案為企業(yè)雇員提供安全、有效、便捷的認(rèn)證服務(wù)。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供一種在移動(dòng)設(shè)備中進(jìn)行多系統(tǒng)認(rèn)證及同步的系統(tǒng),該系統(tǒng)在識(shí)別標(biāo)記用戶移動(dòng)終端設(shè)備的基礎(chǔ)上,經(jīng)由安全通道對(duì)用戶初始身份進(jìn)行確認(rèn),并生成與用戶信息和設(shè)備信息綁定生成唯一的身份密鑰,并在手機(jī)終端中安全保存,后續(xù)用戶認(rèn)證基于用戶身份密鑰,可實(shí)現(xiàn)掃碼、推送、短信、語音等多種認(rèn)證方式。根據(jù)系統(tǒng)特點(diǎn)及業(yè)務(wù)場(chǎng)景,可以有機(jī)結(jié)合一種或幾種認(rèn)證方式,實(shí)現(xiàn)對(duì)用戶身份的有效認(rèn)證,業(yè)務(wù)系統(tǒng)的便捷訪問。
為實(shí)現(xiàn)上述目的,本發(fā)明所述的在移動(dòng)設(shè)備中進(jìn)行多系統(tǒng)認(rèn)證及同步的系統(tǒng)由統(tǒng)一認(rèn)證組件sdk和統(tǒng)一認(rèn)證平臺(tái)組成,其中:
統(tǒng)一認(rèn)證組件sdk包括:
設(shè)備指紋模塊,用于實(shí)現(xiàn)設(shè)備指紋采集、計(jì)算及匹配算法;
沙箱模塊,用于實(shí)現(xiàn)終端側(cè)sdk運(yùn)行保護(hù),防止動(dòng)態(tài)、靜態(tài)破解;
證書模塊,用于支持用戶身份證書的簽發(fā)及驗(yàn)證;
密鑰管理模塊,用于保證密鑰在終端本地的安全存儲(chǔ),防止破解和篡改;
算法模塊,用于提供算法支持;和
認(rèn)證邏輯模塊,用于實(shí)現(xiàn)終端側(cè)認(rèn)證及策略管理;
統(tǒng)一認(rèn)證平臺(tái)包括:
用戶管理模塊,用于完成基本的用戶信息和狀態(tài)管理;
權(quán)限管理模塊,用于實(shí)現(xiàn)對(duì)用戶權(quán)限的分級(jí)管理,與業(yè)務(wù)系統(tǒng)權(quán)限管理模塊對(duì)接;
sso模塊,用于實(shí)現(xiàn)多系統(tǒng)間認(rèn)證狀態(tài)同步及跳轉(zhuǎn);
設(shè)備管理模塊,用于完成用戶終端設(shè)備信息管理;
郵件服務(wù)模塊,用于提供激活及通知郵件服務(wù);
日志模塊,用于實(shí)現(xiàn)系統(tǒng)日志維護(hù)及管理;
接口管理模塊,用于實(shí)現(xiàn)系統(tǒng)與外部接口管理及流量控制;
推送模塊,用于實(shí)現(xiàn)消息推送及認(rèn)證請(qǐng)求推送功能;
短信/語音模塊,用于實(shí)現(xiàn)對(duì)接運(yùn)營(yíng)商語音或短信通道,發(fā)送短信或語音;
人臉模塊,用于實(shí)現(xiàn)人臉識(shí)別認(rèn)證功能;
聲紋模塊,用于實(shí)現(xiàn)聲紋識(shí)別認(rèn)證功能;和
指紋模塊,用于實(shí)現(xiàn)指紋識(shí)別認(rèn)證功能。
所述算法模塊支持的算法包括對(duì)稱算法、非對(duì)稱算法和/或雜湊算法。
所述對(duì)稱算法包括aes和/或sm4,非對(duì)稱算法包括rsa和/或sm2,雜湊算法包括sha256和/或sm3。
所述的在移動(dòng)設(shè)備中進(jìn)行多系統(tǒng)認(rèn)證及同步的系統(tǒng)采用自適應(yīng)的設(shè)備指紋動(dòng)態(tài)匹配算法進(jìn)行設(shè)備識(shí)別,所述的自適應(yīng)的設(shè)備指紋動(dòng)態(tài)匹配算法為:
f=∑c(h(fi),h(fi′))×wi
其中i=1...n;
其中,函數(shù)h(a)代表指紋轉(zhuǎn)換算法,函數(shù)c(a,b)代表比對(duì)算法,f1...fn代表采集綁定某用戶時(shí)首次采集的硬件信息,f1′...fn′代表某用戶設(shè)備目前采集的硬件信息,w1...wn代表該硬件信息的權(quán)重;
硬件信息的權(quán)重w會(huì)根據(jù)系統(tǒng)運(yùn)行狀態(tài)動(dòng)態(tài)調(diào)整,具體規(guī)則為:
假設(shè)某段時(shí)間內(nèi),每項(xiàng)信息的命中次數(shù)為tn,則
設(shè)置閾值n,終端設(shè)備認(rèn)證時(shí),將初次采集指紋與當(dāng)前指紋采用設(shè)備指紋動(dòng)態(tài)匹配算法進(jìn)行計(jì)算,獲得f,當(dāng)f>=n時(shí),認(rèn)為指紋匹配即是同一設(shè)備,當(dāng)f<n時(shí),認(rèn)為指紋不匹配即是不同設(shè)備。
所述的統(tǒng)一認(rèn)證平臺(tái)進(jìn)行終端身份認(rèn)證時(shí),采用設(shè)備激活綁定階段生成的用戶身份密鑰進(jìn)行鑒別,具體生成算法如下:
keydev=hmac-sha256(keyroot+rand1+rand2+f)
其中:
·keydev是生成的用戶身份密鑰;
·hmac-sha256是國(guó)際標(biāo)準(zhǔn)摘要算法;
·keyroot是統(tǒng)一認(rèn)證sdk預(yù)置根密鑰,在sdk發(fā)布時(shí)進(jìn)行生成并加密保存于sdk內(nèi);
·rand1由客戶端生成,加密后由終端發(fā)送至服務(wù)器;
·rand2由服務(wù)器生成,加密后由服務(wù)器發(fā)送至終端;
·f為當(dāng)前設(shè)備采集的指紋,加密后由終端發(fā)送至服務(wù)器;
密鑰產(chǎn)生過程中,rand1、rand2分別由服務(wù)器、終端分別產(chǎn)生,避免黑客進(jìn)行中間人截取,預(yù)置的keyroot用于終端初始通信加密,f為當(dāng)前設(shè)備采集的指紋,確保用戶身份密鑰的設(shè)備相關(guān)性;
每次密鑰運(yùn)算時(shí),均采用所述的設(shè)備指紋動(dòng)態(tài)匹配算法進(jìn)行匹配閾值校驗(yàn),如匹配失敗則認(rèn)為用戶終端設(shè)備發(fā)生改變或密鑰文件被非法賦值,密鑰失效,自動(dòng)銷毀;
用戶身份密鑰生成后具備有效期,平臺(tái)側(cè)根據(jù)業(yè)務(wù)策略設(shè)置密鑰有效期,密鑰過期后必須重新進(jìn)行密鑰協(xié)商生成;
所述統(tǒng)一認(rèn)證平臺(tái)與統(tǒng)一認(rèn)證組件sdk均具備密鑰重置功能,用于用戶或管理員在發(fā)生密鑰泄露、設(shè)備更換和/或設(shè)備遺失場(chǎng)景下的密鑰管理。
所述的統(tǒng)一認(rèn)證平臺(tái)根據(jù)配置表與各業(yè)務(wù)應(yīng)用采用不同的業(yè)務(wù)平臺(tái)對(duì)接模式,主要模式分為三種:
·標(biāo)準(zhǔn)模式:統(tǒng)一認(rèn)證平臺(tái)與業(yè)務(wù)應(yīng)用之間,采用ldap/radius等協(xié)議進(jìn)行通信和認(rèn)證管理;
·組件模式:統(tǒng)一認(rèn)證平臺(tái)與集成于業(yè)務(wù)應(yīng)用內(nèi)的統(tǒng)一認(rèn)證組件,采用透明模式進(jìn)行認(rèn)證及管理;
·web模式:統(tǒng)一認(rèn)證portal作為認(rèn)證代理與統(tǒng)一認(rèn)證平臺(tái)、統(tǒng)一認(rèn)證app之間進(jìn)行雙向身份認(rèn)證,并保持認(rèn)證狀態(tài);統(tǒng)一認(rèn)證portal認(rèn)證成功后,直接跳轉(zhuǎn)至各業(yè)務(wù)應(yīng)用,無需再次登錄;
三種業(yè)務(wù)平臺(tái)對(duì)接模式在統(tǒng)一認(rèn)證平臺(tái)進(jìn)行動(dòng)態(tài)配置和管理,同時(shí)可以根據(jù)業(yè)務(wù)策略配置相應(yīng)的用戶權(quán)限管理策略;
對(duì)于某一平臺(tái)可存在多條策略,根據(jù)策略優(yōu)先級(jí)進(jìn)行優(yōu)先匹配,同時(shí)可以根據(jù)特定用戶組進(jìn)行相應(yīng)策略設(shè)置。
本發(fā)明還提供一種在移動(dòng)設(shè)備中進(jìn)行多系統(tǒng)認(rèn)證及同步的方法,包括激活流程、掃碼認(rèn)證流程、推送認(rèn)證流程和語音/短信認(rèn)證流程,其中在激活流程中:
首先統(tǒng)一認(rèn)證組件檢測(cè)設(shè)備是否已經(jīng)被激活,如未激活則觸發(fā)用戶輸入企業(yè)郵箱;
統(tǒng)一認(rèn)證平臺(tái)發(fā)送郵件激活碼至用戶郵箱,用戶輸入激活碼后,發(fā)起激活請(qǐng)求;激活請(qǐng)求攜帶設(shè)備采集信息devinfo,設(shè)備唯一uuid,隨機(jī)數(shù)及校驗(yàn)碼;
統(tǒng)一認(rèn)證組件采集終端設(shè)備信息和用戶信息,上傳至平臺(tái)側(cè),同時(shí)與認(rèn)證平臺(tái)進(jìn)行雙向密鑰協(xié)商;雙向認(rèn)證過程中,統(tǒng)一認(rèn)證平臺(tái)通過閾值keyroot進(jìn)行終端請(qǐng)求合法性驗(yàn)證,同時(shí)對(duì)設(shè)備信息進(jìn)行處理及用戶身份密鑰計(jì)算;
協(xié)商后生成用戶密鑰并進(jìn)行相關(guān)設(shè)置;記錄激活設(shè)備的設(shè)備指紋,并進(jìn)行設(shè)備綁定。
在所述掃碼認(rèn)證流程中,使用用戶終端設(shè)備,采用掃碼方式進(jìn)行業(yè)務(wù)系統(tǒng)認(rèn)證;
用戶在pc或移動(dòng)終端上使用業(yè)務(wù)平臺(tái),進(jìn)行登錄,業(yè)務(wù)請(qǐng)求發(fā)送到app服務(wù)器后,通過js腳本方式觸發(fā)統(tǒng)一認(rèn)證平臺(tái)服務(wù);
由用戶選擇認(rèn)證方式,包括推送、掃碼、語音和/或短信;
如用戶選擇的是掃碼登錄,由統(tǒng)一認(rèn)證平臺(tái)生成相應(yīng)二維碼,并顯示在頁面上;認(rèn)證平臺(tái)生成的二維碼,包含業(yè)務(wù)應(yīng)用信息及一次性token,具體生成算法為token=hmac-sha256(appid,sessionid,timestamp),其中appid為業(yè)務(wù)應(yīng)用唯一識(shí)別碼,由統(tǒng)一認(rèn)證平臺(tái)與業(yè)務(wù)應(yīng)用對(duì)接時(shí)生成,sessionid為當(dāng)前認(rèn)證的事務(wù)id,用于認(rèn)證平臺(tái)管理所有認(rèn)證請(qǐng)求,timestamp為唯一性的時(shí)間戳,用于防止認(rèn)證請(qǐng)求被黑客重放攻擊;
用戶使用移動(dòng)終端設(shè)備的統(tǒng)一認(rèn)證客戶端app或集成統(tǒng)一認(rèn)證sdk的業(yè)務(wù)app進(jìn)行掃碼,使用用戶身份密鑰驗(yàn)證身份,完成業(yè)務(wù)登錄;用戶使用app掃描二維碼信息時(shí),統(tǒng)一認(rèn)證客戶端app或業(yè)務(wù)應(yīng)用app,使用用戶身份密鑰對(duì)登錄請(qǐng)求進(jìn)行簽名,格式為:atoken=hmac-sha256(keydev+sessionid+uuid+devinfo);其中keydev為用戶唯一身份密鑰,在設(shè)備激活綁定時(shí)生成,sessionid為平臺(tái)側(cè)發(fā)送至終端的事務(wù)id,uuid為用戶唯一標(biāo)識(shí)字符串,devinfo為當(dāng)前狀態(tài)下用戶設(shè)備采集的指紋信息匹配結(jié)果,此結(jié)果采用前述設(shè)備指紋動(dòng)態(tài)匹配算法生成。
在所述推送認(rèn)證流程中,用戶使用移動(dòng)終端,確認(rèn)認(rèn)證平臺(tái)推送的認(rèn)證請(qǐng)求,完成身份認(rèn)證;
用戶在pc或移動(dòng)終端上使用業(yè)務(wù)平臺(tái),進(jìn)行登錄,業(yè)務(wù)請(qǐng)求發(fā)送到app服務(wù)器后,通過js腳本方式觸發(fā)統(tǒng)一認(rèn)證平臺(tái)服務(wù);
由用戶選擇認(rèn)證方式,包括推送、掃碼、語音和/或短信;
如用戶選擇的是推送登錄方式,統(tǒng)一認(rèn)證平臺(tái)向用戶統(tǒng)一認(rèn)證客戶端推送相應(yīng)的認(rèn)證請(qǐng)求,推送認(rèn)證請(qǐng)求中的參數(shù)與所述掃碼認(rèn)證流程中的掃碼認(rèn)證請(qǐng)求參數(shù)類型相同,生成算法也相同;
用戶啟動(dòng)統(tǒng)一認(rèn)證app或集成統(tǒng)一認(rèn)證sdk的業(yè)務(wù)app,查詢推送的認(rèn)證請(qǐng)求,并在app內(nèi)進(jìn)行用戶二次確認(rèn);確認(rèn)成功后,統(tǒng)一認(rèn)證平臺(tái)同步認(rèn)證狀態(tài)至業(yè)務(wù)服務(wù)器;完成用戶認(rèn)證;用戶終端對(duì)認(rèn)證請(qǐng)求的確認(rèn)方式與算法與所述掃碼認(rèn)證流程中的參數(shù)類型及算法相同。
在所述的語音/短信認(rèn)證流程中,用戶通過語音或短信驗(yàn)證碼直接驗(yàn)證身份;
用戶在pc或移動(dòng)終端上使用業(yè)務(wù)平臺(tái),進(jìn)行登錄,業(yè)務(wù)請(qǐng)求發(fā)送到app服務(wù)器后,通過js腳本方式觸發(fā)統(tǒng)一認(rèn)證平臺(tái)服務(wù);
由用戶選擇認(rèn)證方式,包括推送、掃碼、語音和/或短信;
如用戶選擇的是短信/語音認(rèn)證方式,統(tǒng)一認(rèn)證平臺(tái)生成相應(yīng)的驗(yàn)證碼,并通過運(yùn)營(yíng)商通道,使用短信/語音的形式,將驗(yàn)證碼發(fā)送給用戶;
用戶在業(yè)務(wù)平臺(tái)輸入驗(yàn)證碼后,完成認(rèn)證;
正常用戶狀態(tài)下,直接短信/語音驗(yàn)證碼登錄處于禁止?fàn)顟B(tài),只有用戶忘記攜帶或遺失自己移動(dòng)設(shè)備的情況下,經(jīng)管理員批準(zhǔn),方可獲取在一定有效期內(nèi),使用短信、語音驗(yàn)證碼登錄的權(quán)限。
本發(fā)明具有如下優(yōu)點(diǎn):本發(fā)明所述的在移動(dòng)設(shè)備中進(jìn)行多系統(tǒng)認(rèn)證及同步的系統(tǒng)和方法與現(xiàn)有技術(shù)相比,能夠適用于現(xiàn)在企業(yè)業(yè)務(wù)向移動(dòng)端遷移的業(yè)務(wù)場(chǎng)景,提供企業(yè)用戶在移動(dòng)端認(rèn)證和狀態(tài)同步。通過創(chuàng)新的設(shè)備指紋生成算法及匹配算法,系統(tǒng)激活流程,用戶可以綁定自己的手機(jī)與企業(yè)賬號(hào),實(shí)現(xiàn)企業(yè)賬號(hào)在移動(dòng)設(shè)備上的登錄及狀態(tài)同步。
系統(tǒng)激活后,用戶可以使用掃碼、語音、短信、推送等多種方式進(jìn)行身份認(rèn)證,更好的保障了使用的便利性和用戶體驗(yàn),同時(shí)可以有效杜絕黑客使用假冒設(shè)備、虛假身份進(jìn)入業(yè)務(wù)系統(tǒng)。認(rèn)證成功后,使用創(chuàng)新的密鑰管理及交換算法生成用戶身份密鑰。
業(yè)務(wù)使用過程中,通過用戶激活階段生成的用戶唯一身份密鑰,對(duì)業(yè)務(wù)認(rèn)證過程進(jìn)行保護(hù),同時(shí)采用設(shè)備指紋技術(shù)避免設(shè)備偽造和仿冒。業(yè)務(wù)體驗(yàn)方面,使用掃碼、推送等多種形式,為用戶提供最佳體驗(yàn),充分適應(yīng)用戶的使用習(xí)慣。語音/短信驗(yàn)證碼的方式,很好的彌補(bǔ)了設(shè)備忘帶或遺失等無法使用時(shí)的場(chǎng)景,采用用戶直接接受語音/短信推送來確認(rèn)身份。
用戶使用短信/語音驗(yàn)證碼形式直接登錄業(yè)務(wù)系統(tǒng)時(shí),必須經(jīng)過管理員臨時(shí)授權(quán),同時(shí)嚴(yán)格限制認(rèn)證有效期,充分避免這種方式被黑客利用。
附圖說明
圖1是本發(fā)明所述的在移動(dòng)設(shè)備中進(jìn)行多系統(tǒng)認(rèn)證及同步的系統(tǒng)的整體架構(gòu)圖。
圖2是本發(fā)明所述的三種登錄模式(即業(yè)務(wù)平臺(tái)對(duì)接模式)的結(jié)構(gòu)圖。
圖3是本發(fā)明所述的激活流程示意圖。
圖4是本發(fā)明所述的掃碼認(rèn)證流程示意圖。
圖5是本發(fā)明所述的推送認(rèn)證流程示意圖。
圖6是本發(fā)明所述的語音/短信認(rèn)證流程示意圖。
具體實(shí)施方式
以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
如圖1所示,本發(fā)明所述的在移動(dòng)設(shè)備中進(jìn)行多系統(tǒng)認(rèn)證及同步的系統(tǒng)由統(tǒng)一認(rèn)證組件sdk和統(tǒng)一認(rèn)證平臺(tái)組成,其中:
統(tǒng)一認(rèn)證組件sdk包括:
設(shè)備指紋模塊,用于實(shí)現(xiàn)設(shè)備指紋采集、計(jì)算及匹配算法;
沙箱模塊,用于實(shí)現(xiàn)終端側(cè)sdk運(yùn)行保護(hù),防止動(dòng)態(tài)、靜態(tài)破解;
證書模塊,用于支持用戶身份證書的簽發(fā)及驗(yàn)證;
密鑰管理模塊,用于保證密鑰在終端本地的安全存儲(chǔ),防止破解和篡改;
算法模塊,用于提供算法支持,算法包括對(duì)稱算法:aes、sm4,非對(duì)稱算法:rsa、sm2,雜湊算法:sha256,sm3;和
認(rèn)證邏輯模塊,用于實(shí)現(xiàn)終端側(cè)認(rèn)證及策略管理;
統(tǒng)一認(rèn)證平臺(tái)包括:
用戶管理模塊,用于完成基本的用戶信息和狀態(tài)管理;
權(quán)限管理模塊,用于實(shí)現(xiàn)對(duì)用戶權(quán)限的分級(jí)管理,與業(yè)務(wù)系統(tǒng)權(quán)限管理模塊對(duì)接;
sso模塊,用于實(shí)現(xiàn)多系統(tǒng)間認(rèn)證狀態(tài)同步及跳轉(zhuǎn);
設(shè)備管理模塊,用于完成用戶終端設(shè)備信息管理;
郵件服務(wù)模塊,用于提供激活及通知郵件服務(wù);
日志模塊,用于實(shí)現(xiàn)系統(tǒng)日志維護(hù)及管理;
接口管理模塊,用于實(shí)現(xiàn)系統(tǒng)與外部接口管理及流量控制;
推送模塊,用于實(shí)現(xiàn)消息推送及認(rèn)證請(qǐng)求推送功能;
短信/語音模塊,用于實(shí)現(xiàn)對(duì)接運(yùn)營(yíng)商語音或短信通道,發(fā)送短信或語音;
人臉模塊,用于實(shí)現(xiàn)人臉識(shí)別認(rèn)證功能;
聲紋模塊,用于實(shí)現(xiàn)聲紋識(shí)別認(rèn)證功能;和
指紋模塊,用于實(shí)現(xiàn)指紋識(shí)別認(rèn)證功能。
設(shè)備激活與識(shí)別
移動(dòng)設(shè)備中進(jìn)行身份認(rèn)證的基礎(chǔ)是識(shí)別和標(biāo)記硬件設(shè)備。只有識(shí)別出終端設(shè)備的唯一性,再根據(jù)設(shè)備與用戶身份進(jìn)行綁定,方可實(shí)現(xiàn)基于設(shè)備的身份認(rèn)證。
設(shè)備識(shí)別時(shí),本發(fā)明采用自適應(yīng)的設(shè)備指紋動(dòng)態(tài)匹配算法,具體描述如下:
f=∑c(h(fi),h(fi′))×wi
其中i=1...n
其中,函數(shù)h(a)代表指紋轉(zhuǎn)換算法,函數(shù)c(a,b)代表比對(duì)算法,f1...fn代表采集綁定某用戶時(shí)首次采集的硬件信息,f1′...fn′代表某用戶設(shè)備目前采集的硬件信息,w1...wn代表該硬件信息的權(quán)重。
硬件信息權(quán)重w會(huì)根據(jù)系統(tǒng)運(yùn)行狀態(tài)動(dòng)態(tài)調(diào)整,具體規(guī)則為:
假設(shè)某段時(shí)間內(nèi),每項(xiàng)信息的命中次數(shù)為tn,則
設(shè)置閾值n,終端設(shè)備認(rèn)證時(shí),將初次采集指紋與當(dāng)前指紋采用設(shè)備指紋動(dòng)態(tài)匹配算法進(jìn)行計(jì)算,獲得f,當(dāng)f>=n時(shí),認(rèn)為指紋匹配即是同一設(shè)備,當(dāng)f<n時(shí),認(rèn)為指紋不匹配即是不同設(shè)備。
密鑰安全性
統(tǒng)一認(rèn)證平臺(tái)進(jìn)行終端身份認(rèn)證時(shí),采用設(shè)備激活綁定階段生成的用戶身份密鑰進(jìn)行鑒別。具體生成算法如下:
keydev=hmac-sha256(keyroot+rand1+rand2+f)
其中:
·keydev是生成的用戶身份密鑰;
·hmac-sha256是國(guó)際標(biāo)準(zhǔn)摘要算法;
·keyroot是統(tǒng)一認(rèn)證sdk預(yù)置根密鑰,在sdk發(fā)布時(shí)進(jìn)行生成并加密保存于sdk內(nèi);
·rand1由客戶端生成,加密后由終端發(fā)送至服務(wù)器;
·rand2由服務(wù)器生成,加密后由服務(wù)器發(fā)送至終端;
·f為當(dāng)前設(shè)備采集的指紋,加密后由終端發(fā)送至服務(wù)器;
密鑰產(chǎn)生過程中,rand1、rand2分別由服務(wù)器、終端分別產(chǎn)生,避免黑客進(jìn)行中間人截取,預(yù)置的keyroot用于終端初始通信加密,f為設(shè)備指紋,確保用戶身份密鑰的設(shè)備相關(guān)性。
每次密鑰運(yùn)算時(shí),均采用前面所述的設(shè)備指紋動(dòng)態(tài)匹配算法進(jìn)行匹配閾值校驗(yàn),如匹配失敗則認(rèn)為用戶終端設(shè)備發(fā)生改變或密鑰文件被非法賦值,密鑰失效,自動(dòng)銷毀。
用戶身份密鑰生成后具備一定有效期,平臺(tái)側(cè)可根據(jù)業(yè)務(wù)策略設(shè)置密鑰有效期,密鑰過期后必須重新進(jìn)行密鑰協(xié)商生成。
統(tǒng)一認(rèn)證平臺(tái)與統(tǒng)一認(rèn)證組件sdk,均具備密鑰重置功能,用于用戶或管理員在發(fā)生密鑰泄露,設(shè)備更換,設(shè)備遺失等場(chǎng)景下的密鑰管理。
業(yè)務(wù)平臺(tái)對(duì)接模式
如圖2所示,統(tǒng)一認(rèn)證平臺(tái),根據(jù)配置表與各業(yè)務(wù)應(yīng)用采用不同的業(yè)務(wù)平臺(tái)對(duì)接模式,主要模式分為三種:
·標(biāo)準(zhǔn)模式:統(tǒng)一認(rèn)證平臺(tái)與業(yè)務(wù)應(yīng)用之間,采用ldap/radius等協(xié)議進(jìn)行通信和認(rèn)證管理;
·組件模式:統(tǒng)一認(rèn)證平臺(tái)與集成于業(yè)務(wù)應(yīng)用內(nèi)的統(tǒng)一認(rèn)證組件,采用透明模式進(jìn)行認(rèn)證及管理;
·web模式:統(tǒng)一認(rèn)證portal作為認(rèn)證代理與統(tǒng)一認(rèn)證平臺(tái)、統(tǒng)一認(rèn)證app之間進(jìn)行雙向身份認(rèn)證,并保持認(rèn)證狀態(tài);統(tǒng)一認(rèn)證portal認(rèn)證成功后,可直接跳轉(zhuǎn)至各業(yè)務(wù)應(yīng)用,無需再次登錄;
三種業(yè)務(wù)平臺(tái)對(duì)接模式在統(tǒng)一認(rèn)證平臺(tái)進(jìn)行動(dòng)態(tài)配置和管理,同時(shí)可以根據(jù)業(yè)務(wù)策略配置相應(yīng)的用戶權(quán)限管理策略。
業(yè)務(wù)平臺(tái)配置格式舉例如下:
對(duì)于某一平臺(tái)可存在多條策略,根據(jù)策略優(yōu)先級(jí)進(jìn)行優(yōu)先匹配,同時(shí)可以根據(jù)特定用戶組進(jìn)行相應(yīng)策略設(shè)置。
本發(fā)明還提供一種在移動(dòng)設(shè)備中進(jìn)行多系統(tǒng)認(rèn)證及同步的方法,包括以下流程:
流程1:激活流程:首次使用應(yīng)用,需要進(jìn)行用戶信息和設(shè)備信息綁定及激活;如圖3所示,該流程中:
首先統(tǒng)一認(rèn)證組件檢測(cè)設(shè)備是否已經(jīng)被激活,如未激活則觸發(fā)用戶輸入企業(yè)郵箱;
統(tǒng)一認(rèn)證平臺(tái)發(fā)送郵件激活碼至用戶郵箱,用戶輸入激活碼后,發(fā)起激活請(qǐng)求;激活請(qǐng)求攜帶設(shè)備采集信息devinfo,設(shè)備唯一uuid,隨機(jī)數(shù)及校驗(yàn)碼;
統(tǒng)一認(rèn)證組件采集終端設(shè)備信息、用戶信息等,上傳至平臺(tái)側(cè),同時(shí)與認(rèn)證平臺(tái)進(jìn)行雙向密鑰協(xié)商;雙向認(rèn)證過程中,統(tǒng)一認(rèn)證平臺(tái)通過閾值keyroot進(jìn)行終端請(qǐng)求合法性驗(yàn)證,同時(shí)對(duì)設(shè)備信息進(jìn)行處理及用戶身份密鑰計(jì)算,密鑰計(jì)算算法如前述;
協(xié)商后生成用戶密鑰并進(jìn)行相關(guān)設(shè)置;記錄激活設(shè)備的設(shè)備指紋,并進(jìn)行設(shè)備綁定。
流程2:掃碼認(rèn)證流程:使用用戶終端設(shè)備,采用掃碼方式進(jìn)行業(yè)務(wù)系統(tǒng)認(rèn)證;
如圖4所示,該流程中:
用戶在pc或移動(dòng)終端上使用業(yè)務(wù)平臺(tái),進(jìn)行登錄,業(yè)務(wù)請(qǐng)求發(fā)送到app服務(wù)器后,通過js腳本方式觸發(fā)統(tǒng)一認(rèn)證平臺(tái)服務(wù);
由用戶選擇認(rèn)證方式,包括推送、掃碼、語音、短信等;
如用戶選擇的是掃碼登錄,由統(tǒng)一認(rèn)證平臺(tái)生成相應(yīng)二維碼,并顯示在頁面上;認(rèn)證平臺(tái)生成的二維碼,包含業(yè)務(wù)應(yīng)用信息及一次性token,具體生成算法為token=hmac-sha256(appid,sessionid,timestamp),其中appid為業(yè)務(wù)應(yīng)用唯一識(shí)別碼,由統(tǒng)一認(rèn)證平臺(tái)與業(yè)務(wù)應(yīng)用對(duì)接時(shí)生成,sessionid為當(dāng)前認(rèn)證的事務(wù)id,用于認(rèn)證平臺(tái)管理所有認(rèn)證請(qǐng)求,timestamp為唯一性的時(shí)間戳,用于防止認(rèn)證請(qǐng)求被黑客重放攻擊;
用戶使用移動(dòng)終端設(shè)備的統(tǒng)一認(rèn)證客戶端app或集成統(tǒng)一認(rèn)證sdk的業(yè)務(wù)app進(jìn)行掃碼,使用用戶身份密鑰驗(yàn)證身份,完成業(yè)務(wù)登錄;用戶使用app掃描二維碼等信息時(shí),統(tǒng)一認(rèn)證客戶端app或業(yè)務(wù)應(yīng)用app,使用用戶身份密鑰對(duì)登錄請(qǐng)求進(jìn)行簽名,格式為:atoken=hmac-sha256(keydev+sessionid+uuid+devinfo);其中keydev為用戶唯一身份密鑰,在設(shè)備激活綁定時(shí)生成,sessionid為平臺(tái)側(cè)發(fā)送至終端的事務(wù)id,uuid為用戶唯一標(biāo)識(shí)字符串,devinfo為當(dāng)前狀態(tài)下用戶設(shè)備采集的指紋信息匹配結(jié)果,此結(jié)果采用前述設(shè)備指紋動(dòng)態(tài)匹配算法生成。
流程3:推送認(rèn)證流程:用戶使用移動(dòng)終端,確認(rèn)認(rèn)證平臺(tái)推送的認(rèn)證請(qǐng)求,完成身份認(rèn)證;
如圖5所示,該流程中:
用戶在pc或移動(dòng)終端上使用業(yè)務(wù)平臺(tái),進(jìn)行登錄,業(yè)務(wù)請(qǐng)求發(fā)送到app服務(wù)器后,通過js腳本方式觸發(fā)統(tǒng)一認(rèn)證平臺(tái)服務(wù);
由用戶選擇認(rèn)證方式,包括推送、掃碼、語音、短信等;
如用戶選擇的是推送登錄方式,統(tǒng)一認(rèn)證平臺(tái)向用戶統(tǒng)一認(rèn)證客戶端推送相應(yīng)的認(rèn)證請(qǐng)求,推送認(rèn)證請(qǐng)求中的參數(shù)與流程2掃碼認(rèn)證請(qǐng)求參數(shù)類型相同,生成算法相同,具體算法參見流程2;
用戶啟動(dòng)統(tǒng)一認(rèn)證app或集成統(tǒng)一認(rèn)證sdk的業(yè)務(wù)app,查詢推送的認(rèn)證請(qǐng)求,并在app內(nèi)進(jìn)行用戶二次確認(rèn);確認(rèn)成功后,統(tǒng)一認(rèn)證平臺(tái)同步認(rèn)證狀態(tài)至業(yè)務(wù)服務(wù)器;完成用戶認(rèn)證;用戶終端對(duì)認(rèn)證請(qǐng)求的確認(rèn)方式與算法與流程2參數(shù)類型及算法相同;具體算法參見流程2。
流程4:語音/短信認(rèn)證流程:用戶通過語音或短信驗(yàn)證碼直接驗(yàn)證身份;
如圖6所示,該流程中:
用戶在pc或移動(dòng)終端上使用業(yè)務(wù)平臺(tái),進(jìn)行登錄,業(yè)務(wù)請(qǐng)求發(fā)送到app服務(wù)器后,通過js腳本方式觸發(fā)統(tǒng)一認(rèn)證平臺(tái)服務(wù);
由用戶選擇認(rèn)證方式,包括推送、掃碼、語音、短信等;
如用戶選擇的是短信/語音認(rèn)證方式,統(tǒng)一認(rèn)證平臺(tái)生成相應(yīng)的驗(yàn)證碼,并通過運(yùn)營(yíng)商通道,使用短信/語音等形式,將驗(yàn)證碼發(fā)送給用戶;
用戶在業(yè)務(wù)平臺(tái)輸入驗(yàn)證碼后,完成認(rèn)證;
正常用戶狀態(tài)下,直接短信/語音驗(yàn)證碼登錄處于禁止?fàn)顟B(tài),只有用戶忘記攜帶或遺失自己移動(dòng)設(shè)備的情況下,經(jīng)管理員批準(zhǔn),方可獲取一定有效期內(nèi),使用短信、語音驗(yàn)證碼登錄的權(quán)限。
本發(fā)明所述的系統(tǒng)和方法能夠適用于現(xiàn)在企業(yè)業(yè)務(wù)向移動(dòng)端遷移的業(yè)務(wù)場(chǎng)景,提供企業(yè)用戶在移動(dòng)端認(rèn)證和狀態(tài)同步。
通過創(chuàng)新的設(shè)備指紋生成算法及匹配算法,系統(tǒng)激活流程,用戶可以綁定自己的手機(jī)與企業(yè)賬號(hào),實(shí)現(xiàn)企業(yè)賬號(hào)在移動(dòng)設(shè)備上的登錄及狀態(tài)同步。
系統(tǒng)激活后,用戶可以使用掃碼、語音、短信、推送等多種方式進(jìn)行身份認(rèn)證,更好的保障了使用的便利性和用戶體驗(yàn),同時(shí)可以有效杜絕黑客使用假冒設(shè)備、虛假身份進(jìn)入業(yè)務(wù)系統(tǒng)。認(rèn)證成功后,使用創(chuàng)新的密鑰管理及交換算法生成用戶身份密鑰。
業(yè)務(wù)使用過程中,通過用戶激活階段生成的用戶唯一身份密鑰,對(duì)業(yè)務(wù)認(rèn)證過程進(jìn)行保護(hù),同時(shí)采用設(shè)備指紋技術(shù)避免設(shè)備偽造和仿冒。業(yè)務(wù)體驗(yàn)方面,使用掃碼、推送等多種形式,為用戶提供最佳體驗(yàn),充分適應(yīng)用戶的使用習(xí)慣。語音/短信驗(yàn)證碼的方式,很好的彌補(bǔ)了設(shè)備忘帶或遺失等無法使用時(shí)的場(chǎng)景,采用用戶直接接受語音/短信推送來確認(rèn)身份。
用戶使用短信/語音驗(yàn)證碼形式直接登錄業(yè)務(wù)系統(tǒng)時(shí),必須經(jīng)過管理員臨時(shí)授權(quán),同時(shí)嚴(yán)格限制認(rèn)證有效期,充分避免這種方式被黑客利用。
雖然,上文中已經(jīng)用一般性說明及具體實(shí)施例對(duì)本發(fā)明作了詳盡的描述,但在本發(fā)明基礎(chǔ)上,可以對(duì)之作一些修改或改進(jìn),這對(duì)本領(lǐng)域技術(shù)人員而言是顯而易見的。因此,在不偏離本發(fā)明精神的基礎(chǔ)上所做的這些修改或改進(jìn),均屬于本發(fā)明要求保護(hù)的范圍。