專利名稱:一種基于移動終端的身份認證系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線通信、網(wǎng)絡通信、算法安全以及網(wǎng)絡安全相結(jié)合的技術(shù),具體講的是在可信移動終端上生成動態(tài)密碼并使用此密碼實現(xiàn)強身份認證的安全體系及方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)的快速發(fā)展,越來越多的應用系統(tǒng)在公網(wǎng)上運行,網(wǎng)絡安全問題日益突出,對于敏感操作入口的身份認證也變的異常重要。目前大多數(shù)應用系統(tǒng)仍然采用的是 用戶名加靜態(tài)密碼的身份認證方式,這種認證方式有諸多的安全隱患,例如靜態(tài)密碼容易被猜測和破解、靜態(tài)密碼被黑客截獲、靜態(tài)密碼被管理員非法使用、被釣魚網(wǎng)站騙取、眾多的靜態(tài)密碼不便于記憶等。針對上述問題目前主要有以下幾種解決方案(I)數(shù)字證書使用數(shù)字證書可實現(xiàn)安全鏈路和數(shù)字簽名,能較好的保護網(wǎng)上傳輸?shù)男畔?。?shù)字證書的局限是只能在己安裝證書的電腦上進行操作,使用不方便,并且基于PKI的證書體系成本較高。(2)USB移動證書將密鑰或數(shù)字證書存儲在USB Key硬件設(shè)備中,利用內(nèi)置在USBKey中的算法實現(xiàn)對用戶身份的認證。使用USB Key的局限在于需要設(shè)備上有USB插口、需要有與設(shè)備上的操作系統(tǒng)對應的驅(qū)動程序并安裝、面臨著木馬病毒的威脅,存在安全隱患、成本相對較高。(3)請求應答式密碼體系在系統(tǒng)需要驗證身份時,用戶需要先發(fā)送一個獲取密碼的請求,服務器端收到請求后會生成一個臨時密碼并記住,然后通過特定的渠道發(fā)送給用戶,用戶再輸入此密碼到服務器端進行身份認證。由于用戶每次獲取的臨時密碼都不一樣,這種驗證方式可以增強安全性,但在整個驗證的過程中,服務器端需要通過特定的渠道將密碼傳送給用戶,因此具有一定的局限,并且不能保證傳送渠道的安全,比如使用短信,密碼都是以明文傳輸?shù)摹?4)動態(tài)密碼(OTP)認證體系用戶手中會有一個硬件設(shè)備,硬件設(shè)備中內(nèi)置一個唯一的密鑰,并會通過特定的算法生成動態(tài)密碼,用戶進行認證時候,除輸入靜態(tài)密碼之夕卜,必須要求輸入動態(tài)密碼,此動態(tài)密碼最終會被送到認證服務器端,服務器端首先找到與用戶對應的密鑰通過相同的算法生成動態(tài)密碼,然后進行對比實現(xiàn)認證。算法會采用事件、時間等作為動態(tài)因子,因此硬件設(shè)備中每次生成的密碼都是不同的,并且整個體系可以實現(xiàn)一個動態(tài)密碼只能使用一次,這種認證體系是目前能夠有效解決用戶身份認證的方式之一。不過,用戶使用硬件設(shè)備獲取動態(tài)密碼具有一定的缺陷成本較高、不能進行通信、不能很好的解決與認證服務器間的動態(tài)因子的同步、不能為用戶提供豐富的操作體驗和業(yè)務功能。
發(fā)明內(nèi)容
有鑒于此,為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供一種基于移動終端的身份認證方法,此方法采用動態(tài)密碼認證體系,以軟件客戶端代替硬件設(shè)備,節(jié)約了硬件生產(chǎn)成本,同時靈活的軟件客戶端能夠與認證服務器間的動態(tài)因子實現(xiàn)同步,并且結(jié)合軟件客戶端提供一種方便與第三方應用系統(tǒng)集成的強身份認證方法,解決了使用硬件設(shè)備給整個認證體系帶來的局限和不足。本發(fā)明的另一目的是實現(xiàn)所述基于移動終端的身份認證方法的系統(tǒng)。本發(fā)明提供一種基于移動終端的身份認證方法,包括步驟(I)獲取登錄自助服務端的初始密碼,(2)用戶登錄自助服務端獲取移動客戶端初始化的序列號,(3)移動客戶端初始化,(4)身份認證用戶向第三方應用服務器提出登陸申請的同時,移動終端向認證服務器提出認證請求,第三方應用服務器獲得認證服務器對移動終端認證結(jié)果后,向用戶返回認證結(jié)果,所述移動終端向認證服務器提出的認證請求包括動態(tài)密碼認證和位置信息 認證。進一步,所述步驟(I)用戶通過第三方應用服務器向認證服務器或通過管理員向管理服務器請求登錄自助服務器的初始密碼,所生成初始密碼及用戶名保存于認證信息庫,并向用戶返回登錄自助服務器的初始密碼。進一步,所述步驟(2)用戶通過自助服務器端向認證服務器請求初始化客戶端的序列號,認證服務器生成所述序列號及其密鑰,并加密保存于認證信息庫中,同時通過自助服務器向用戶返回所述序列號,所述序列號及用戶名緩存于自助服務器。進一步,所述步驟(3)用戶向移動終端手動輸入或掃描二維碼獲取請求初始化的序列號,然后移動終端向自助服務器提出初始化請求,自助服務器根據(jù)序列號檢索有效緩存,并向認證服務器獲取密鑰信息,所述認證服務器通過自助服務器向移動終端返回密鑰信息,移動終端驗證并保存所述密鑰信息,并向自助服務器提出綁定請求,自助服務器綁定序列號與移動終端的標示信息,然后綁定序列號與用戶名,完成移動終端初始化。進一步,移動終端采用一鍵設(shè)置完成綁定與初始化。進一步,所述客戶端的動態(tài)因子與認證服務器的動態(tài)因子采用一鍵同步單元實現(xiàn)同步。進一步,所述客戶端的動態(tài)密碼通過一鍵校驗單元輸送到認證服務器進行快速校驗。認證服務器按照對稱加密算法或者雜湊算法生成私有密鑰,所述移動終端使用每個客戶端的私有密鑰作為客戶身份要素之一、采用時間因子或事件因子作為同步因子生成動態(tài)密碼。保證移動鏈路傳輸數(shù)據(jù)的隨機性、一次性有效和時效性。時間因子是以當前時間作為動態(tài)因子計算出動態(tài)密碼,動態(tài)密碼30秒或60秒變化一次。事件因子是以次數(shù)作為動態(tài)因子計算出動態(tài)密碼。例如如果初始次數(shù)設(shè)置的是100 (此初始次數(shù)用戶可以在自助服務器端自行設(shè)置,客戶端初始化完成后,客戶端和認證服務器端都保存有此初始次數(shù)),客戶端首先以100為因子計算出動態(tài)密碼,然后將次數(shù)加I保存;認證服務器端首先也以100為因子計算出動態(tài)密碼進行檢驗,然后將次數(shù)加I保存;下次,雙方都以101計算動態(tài)密碼。無論是時間因子還是事件因子,都涉及到客戶端和認證服務器端雙方因子的同步。本發(fā)明中采用一鍵同步,保證了動態(tài)密碼能校驗通過。所謂一鍵同步是指與認證服務器端進行無線通信的客戶端獲取到認證服務器端的動態(tài)因子后與自己的動態(tài)因子相比較,然后客戶端計算出一個差值保存起來,客戶端的動態(tài)因子通過此差值就能與認證服務器端的動態(tài)因子保持一致。本發(fā)明靈活的軟件客戶端,只需第三方應用服務器提供給用戶獲取登錄自助服務器的初始化密碼的入口,即可方便實現(xiàn)與第三方應用的集成,與第三方應用能實現(xiàn)無縫對接。在實際應用中,第三方應用后臺代碼的改動越小越好;管理員要做的初始化工作越少越好;用戶要做的初始化工作越少越好。一般使用此類系統(tǒng),都需要建立用戶帳號與令牌序列號的對應關(guān)系,此對應關(guān)系會保存在數(shù)據(jù)庫里。認證服務器端會先通過用戶帳號找到令牌序列號,然后在通過令牌序列號找到對應的密鑰計算動態(tài)密碼。以硬件為客戶端的話,此對應關(guān)系需要人為的建立,可以是管理員去建立,也可以是用戶通過自助服務端建立。與本發(fā)明相比,其工作量要大得多。本發(fā)明中只需用戶在客戶端點一下就可以完成初始化和綁定,稱為一鍵初始化。 而一般的基于軟件客戶端的認證系統(tǒng)需要做初始化和綁定兩步,用戶首先進行客戶端的初始化,然后通過管理員或自己登錄自助服務端進行帳號和序列號的綁定。本發(fā)明中認證服務器可以對客戶端當前的動態(tài)密碼進行快速校驗。當?shù)谌綉靡笥脩糨斎肟蛻舳说膭討B(tài)密碼,此時用戶可以不用手動輸入,只需在客戶端點一下,就可將動態(tài)密碼通過第三方應用服務器輸送給認證服務器進行檢驗,稱為一鍵檢驗。本發(fā)明提供基于上述移動終端的身份認證方法的認證系統(tǒng),所述系統(tǒng)包括移動終端、自助服務器端和認證服務器端,所述移動終端與自助服務器端、認證服務器端分別無線通訊連接,所述自助服務器端與認證服務器端之間以互聯(lián)網(wǎng)通訊連接,所述認證服務器端含有認證信息庫和認證代理包,所述移動終端含有初始化完成后生成動態(tài)密碼的動態(tài)密碼生成單元、一鍵初始化單元、實現(xiàn)客戶端與認證服務器端動態(tài)因子同步的一鍵同步單元、一鍵校驗單元、認證結(jié)果接收單元和獲取終端位置信息并上傳至服務器的位置服務單元。進一步,所述認證服務器端包括采用非對稱算法解出移動終端請求數(shù)據(jù)的數(shù)據(jù)解密模塊,計算出動態(tài)密碼的密碼校驗模塊,保證已經(jīng)使用過的動態(tài)密碼不會被再次使用的訪問控制模塊,位置比對模塊,數(shù)據(jù)加密模塊,動態(tài)因子同步模塊,密鑰生成模塊,初始化密碼生成模塊和日志模塊,所述自助服務器端包括序列號生成模塊,自保護模塊,日志模塊,用戶自主操作模塊,以及客戶端更新模塊。進一步,還包括管理服務器端,所述管理服務器端包括第三方應用管理模塊、密鑰分發(fā)模塊、角色權(quán)限模塊、認證服務器監(jiān)控模塊、客戶端版本發(fā)布管理模塊、日志管理模塊、行為分析模塊和報表展現(xiàn)模塊。本發(fā)明中移動客戶端包括軟件和智能卡兩種實現(xiàn)形式。本發(fā)明的有益效果在于I.本發(fā)明提供的屬于動態(tài)密碼認證體系的基于移動終端的身份認證方法,采用軟件客戶端代替硬件設(shè)備,節(jié)約了生產(chǎn)硬件的成本。2.本發(fā)明的軟件客戶端比較靈活,能夠進行通信、軟件客戶端與認證服務器間的動態(tài)因子能夠很方便的實現(xiàn)同步,并且軟件客戶端能夠給用戶帶來豐富的操作體驗和業(yè)務功能(如一鍵完成客戶端的初始化并綁定、通過掃描二維碼完成初始化并綁定、一鍵校驗動態(tài)密碼、一鍵同步動態(tài)因子、認證結(jié)果接收單元、查詢登錄日志等)。
3.本發(fā)明結(jié)合軟件客戶端提供了一種非常方便與第三方應用系統(tǒng)集成的強身份認證解決方案,從而完全解決了使用硬件設(shè)備給整個認證體系帶來的局限和不足。
圖I.為本發(fā)明系統(tǒng)工作原理2.為本發(fā)明系統(tǒng)工作流程圖(步驟(I))圖3.為本發(fā)明系統(tǒng)工作流程圖(步驟(2)) 圖4.為本發(fā)明系統(tǒng)工作流程圖(步驟(3))圖5.為本發(fā)明系統(tǒng)工作流程圖(步驟(4))
圖6.為本發(fā)明系統(tǒng)工作流程圖(步驟(4))
具體實施例方式本發(fā)明提供的一種基于移動終端的身份認證方法,是按照如下步驟實現(xiàn)的(I)用戶可通過第三方應用系統(tǒng)(B/S)或向管理員獲取登錄自助服務端的初始密碼(如圖2所述)。(2)生成初始化移動客戶端的序列號,(如圖3所述)(3)移動客戶端初始化,(如圖4所述)(4)身份認證用戶向第三方應用服務器提出登陸申請的同時,移動終端向認證服務器提出認證請求,第三方應用服務器獲得認證服務器對移動終端認證結(jié)果后,向用戶返回認證結(jié)果(如圖5所述)。本發(fā)明用于實現(xiàn)上述身份認證方法的系統(tǒng)包括移動終端、自助服務器端和認證服務器端,所述認證服務器端含有認證信息庫、以及認證代理包。(如圖I所述,其中認證系統(tǒng)即指認證服務器。)所述移動終端(客戶端)包括(I)動態(tài)密碼生成單元初始化完成后,移動終端會得到一個密鑰,此密鑰加密保存在終端內(nèi),它是唯一的,每個用戶得到的密鑰都會不一樣,它主要用于計算動態(tài)密碼。password = OTP (密鑰 + 動態(tài)因子)password為生成的動態(tài)密碼;OTP為生成動態(tài)密碼的算法我們采用的是單向散列算法或?qū)ΨQ加密算法,目前本發(fā)明生成OTP的算法有私有的雜湊算法、OATH算法、SM3算法、SMS4算法、AES算法等。(2) 一鍵初始化單元用戶在客戶端可通過掃描二維碼或直接輸入序列號即可完成初始化,初始化完成后,用戶就可使用客戶端生成的動態(tài)密碼了。客戶端在初始化通信過程中采用非對稱加密算法。(3) 一鍵同步單元用戶在客戶端只需點擊一下就可完成客戶端與認證服務器端的動態(tài)因子(時間因子或事件因子)同步。(4) 一鍵檢驗單元用戶在客戶端只需點擊一下就可以通過認證服務器端對本次動態(tài)密碼的校驗,并且返回校驗結(jié)果。(5)認證結(jié)果接收單元移動終端會獲取并顯示本次動態(tài)密碼的校驗結(jié)果。(6)客戶端支持多個第三方應用的動態(tài)密碼生成,客戶端導航頁上方是按行業(yè)分類,點擊不同的行業(yè)會在下方顯示此行業(yè)下的各個應用,點擊每個應用就會進入對應的動態(tài)密碼生成頁。(7)位置服務單元是運行于移動終端設(shè)備上的應用程序,借助于運營商提供的通道與相關(guān)的API接口,獲取終端所在位置,并且上傳至服務器。所述認證服務器端包括(I)數(shù)據(jù)解密模塊,采用非對稱算法解密收到的通信數(shù)據(jù);(2)密碼校驗模塊根據(jù)服務器端所存儲相應的密鑰、動態(tài)因子,按照與客戶端相 同的算法計算出動態(tài)密碼,并采用一定窗口策略,校驗客戶端上行的動態(tài)密碼。如果以時間為動態(tài)因子,就有時間窗口 當前時間_n<當前時間<當前時間+η,η為配置的時間窗口(分鐘),只要窗口內(nèi)生成的動態(tài)密碼有一個與客戶端的動態(tài)密碼相同就認為校驗通過。如果以事件為動態(tài)因子,就有事件窗口 η(次數(shù)),同時可以隨機生成一個初始次數(shù)。(3)訪問控制模塊同一個密碼只能使用一次,認證控制服務提供了識別已經(jīng)使用過的動態(tài)密碼的功能,保證已經(jīng)使用過的動態(tài)密碼不會被再次使用。(4)位置比對模塊對用戶登錄IP信息以及相應的移動終端的位置信息進行存儲和分析,對移動終端所提供位置信息以及應用服務器所登錄的PC的IP地址,根據(jù)用戶經(jīng)常登錄存儲的位置與IP地址等信息進行比對,一旦捕獲異常,采取相應的措施。(5)數(shù)據(jù)加密模塊采用非對稱算法加密要通信的數(shù)據(jù)。(6)動態(tài)因子同步模塊提供認證服務器端的動態(tài)因子。(7)密鑰生成模塊用來生成唯一密鑰,客戶端所獲得的密鑰都是不一樣的。(8)初始化密碼生成模塊為第三方應用的用戶生成登陸自助服務端的初始化密碼,并將用戶名、初始密碼保存在認證信息庫。(9)日志模塊記錄認證日志、位置比對日志等,便于做行為分析。所述自助服務器端包括(I)序列號生成模塊生成客戶端初始化時需要用到的序列號或序列號二維碼。(2)自保護模塊一旦用戶初始化了客戶端,自助服務器端自動啟用動態(tài)密碼保護。(3)日志模塊查看操作日志、賬戶異常操作信息等。(4)用戶自助操作模塊信息查詢、解除綁定的序列號、凍結(jié)、解凍、注銷等。(5)客戶端更新模塊下載最新的軟件客戶端。所述身份認證系統(tǒng)還包括管理服務器端,所述管理服務器端包括(I)第三方應用管理模塊管理集成動態(tài)密碼的第三方應用。(2)密鑰分發(fā)模塊生成客戶端、認證系統(tǒng)、第三方應用之間通信的公私鑰,并保存在相應的認證信息庫。(3)角色權(quán)限模塊不同的登錄角色有著不同的操作權(quán)限。(4)認證服務器監(jiān)控模塊實時監(jiān)控認證服務器集群的運行狀態(tài),若異常,則產(chǎn)生報警。(5)客戶端版本發(fā)布管理模塊客戶端版本發(fā)布管理。(6)日志管理模塊對認證日志、操作日志和異常信息進行管理。(7)行為分析模塊對用戶各種行為進行分析并記錄相應的分析結(jié)果。一旦發(fā)現(xiàn)異常信息,采取相應安全措施。
(8)報表展現(xiàn)模塊以圖形化模式展現(xiàn)行為分析結(jié)果。所述認證信息庫用來存儲密鑰、相關(guān)操作和行為日志等信息。所有的敏感數(shù)據(jù)加密后存儲在數(shù)據(jù)庫中,并且有完善的數(shù)據(jù)安全保護功能,以及具有完備的數(shù)據(jù)庫管理、備份功能。豐富的集成接口 為第三方應用提供豐富的接口,以便于第三方應用與認證體系的集成??赏ㄟ^多種方式訪問接口 TCP/IP、webservice和http,并封裝有對應的認證代理包。
盡管通過參照發(fā)明的某些優(yōu)選實施例,已經(jīng)對本發(fā)明進行了描述,但本領(lǐng)域的普通技術(shù)人員應當理解,可以在形式上和細節(jié)上對其作出各種各樣的改變,而不偏離所附權(quán)利要求書所限定的本發(fā)明的精神和范圍。
權(quán)利要求
1.一種基于移動終端的身份認證方法,其特征在于,包括步驟(1)獲取登錄自助服務端的初始密碼,(2)用戶登錄自助服務端獲取移動客戶端初始化的序列號,(3)移動客戶端初始化,(4)身份認證用戶向第三方應用服務器提出登陸申請的同時,移動終端向認證服務器提出認證請求,第三方應用服務器獲得認證服務器對移動終端認證結(jié)果后,向用戶返回認證結(jié)果,所述移動終端向認證服務器提出的認證請求包括動態(tài)密碼認證和位置信息認證。
2.按照權(quán)利要求I所述基于移動終端的身份認證方法,其特征在于,所述步驟(I)用戶通過第三方應用服務器向認證服務器或通過管理員向管理服務器請求登錄自助服務器的初始密碼,所生成初始密碼及用戶名保存于認證信息庫,井向用戶返回登錄自助服務器的初始密碼。
3.按照權(quán)利要求I所述基于移動終端的身份認證方法,其特征在于,所述步驟(2)用戶通過自助服務器端向認證服務器請求初始化客戶端的序列號,認證服務器生成所述序列號及其密鑰,并加密保存于認證信息庫中,同時通過自助服務器向用戶返回所述序列號,所述序列號及用戶名緩存于自助服務器。
4.按照權(quán)利要求I所述基于移動終端的身份認證方法,其特征在于,所述步驟(3)用戶向移動終端手動輸入或掃描ニ維碼獲取請求初始化的序列號,然后移動終端向自助服務器提出初始化請求,自助服務器根據(jù)序列號檢索有效緩存,井向認證服務器獲取密鑰信息,所述認證服務器通過自助服務器向移動終端返回密鑰信息,移動終端驗證并保存所述密鑰信息,井向自助服務器提出綁定請求,自助服務器綁定序列號與移動終端的標示信息,然后綁定序列號與用戶名,完成移動終端初始化。
5.按照權(quán)利要求4所述基于移動終端的身份認證方法,其特征在干,移動終端采用ー鍵設(shè)置完成綁定與初始化。
6.按照權(quán)利要求I所述基于移動終端的身份認證方法,其特征在于,所述客戶端的動態(tài)因子與認證服務器的動態(tài)因子采用ー鍵同步単元實現(xiàn)同歩。
7.按照權(quán)利要求I所述基于移動終端的身份認證方法,其特征在于,所述客戶端的動態(tài)密碼通過ー鍵校驗單元輸送到認證服務器進行快速校驗。
8.ー種采用權(quán)利要求I所述基于移動終端的身份認證方法的認證系統(tǒng),其特征在干,所述系統(tǒng)包括移動終端、自助服務器端和認證服務器端,所述移動終端與自助服務器端、認證服務器端分別無線通訊連接,所述自助服務器端與認證服務器端之間以互聯(lián)網(wǎng)通訊連接,所述認證服務器端含有認證信息庫和認證代理包,所述移動終端含有初始化完成后生成動態(tài)密碼的動態(tài)密碼生成単元、一鍵初始化単元、實現(xiàn)客戶端與認證服務器端動態(tài)因子同步的ー鍵同步単元、一鍵校驗単元、認證結(jié)果接收単元和獲取終端位置信息并上傳至服務器的位置服務單元。
9.按照權(quán)利要求8所述基于移動終端的身份認證系統(tǒng),其特征在于,所述認證服務器端包括采用非対稱算法解出移動終端請求數(shù)據(jù)的數(shù)據(jù)解密模塊,計算出動態(tài)密碼的密碼校驗模塊,保證已經(jīng)使用過的動態(tài)密碼不會被再次使用的訪問控制模塊,位置比對模塊,數(shù)據(jù)加密模塊,動態(tài)因子同步模塊,密鑰生成模塊,初始化密碼生成模塊和日志模塊,所述自助服務器端包括序列號生成模塊,自保護模塊,日志模塊,用戶自主操作模塊,以及客戶端更新模塊。
10.按照權(quán)利要求8所述基于移動終端的身份認證系統(tǒng),其特征在于,還包括管理服務器端,所述管理服務器端包括第三方應用管理模塊、密鑰分發(fā)模塊、角色權(quán)限模塊、認證服務器監(jiān)控模塊、客戶端版本發(fā)布管理模塊、日志管理模塊、行為分析模塊和報表展現(xiàn)模塊。
全文摘要
本發(fā)明提供一種基于移動終端的身份認證方法及系統(tǒng),包括步驟(1)獲取登錄自助服務端的初始密碼,(2)用戶登錄自助服務端獲取移動客戶端初始化的序列號,(3)移動客戶端初始化,(4)身份認證用戶向第三方應用服務器提出登陸申請的同時,移動終端向認證服務器提出認證請求,第三方應用服務器獲得認證服務器對移動終端認證結(jié)果后,向用戶返回認證結(jié)果,所述移動終端向認證服務器提出的認證請求包括動態(tài)密碼認證和位置信息認證。本發(fā)明采用軟件客戶端代替硬件設(shè)備,節(jié)約了生產(chǎn)硬件的成本,軟件客戶端與認證服務器間的動態(tài)因子(時間因子或事件因子)能夠很方便的實現(xiàn)同步,并方便與第三方應用系統(tǒng)集成,從而完全解決了使用硬件設(shè)備給整個認證體系帶來的局限和不足。
文檔編號H04L29/06GK102685093SQ201110406998
公開日2012年9月19日 申請日期2011年12月8日 優(yōu)先權(quán)日2011年12月8日
發(fā)明者左飛, 李濤, 段克強, 王黎明, 陳易, 黃進 申請人:陳易