一種在行動裝置中進行多系統認證及同步的系統和方法與流程
2023-10-31 11:57:57 1

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