一種基于智能終端本地認證的web安全訪問的實現(xiàn)方法
【專利摘要】一種基于智能終端本地認證的web安全訪問的實現(xiàn)方法,用戶在使用該系統(tǒng)進行認證登錄時,在保證用戶使用便捷的前提下,為用戶提供基于公私鑰挑戰(zhàn)響應式認證方法。首先,將用戶的本地身份和RP上身份綁定;其次,用戶在認證登錄RP的時候,不需提交在RP上的身份證明,只需在智能終端完成本地用戶身份驗證;最后,本地用戶身份驗證通過后,利用智能終端生成的簽名提交到RP認證服務器進行驗證登錄。本發(fā)明這種基于智能終端本地認證的WEB安全訪問方法,簡化增強認證時用戶手動過程,提高了系統(tǒng)的安全性及用戶體驗性。
【專利說明】一種基于智能終端本地認證的web安全訪問的實現(xiàn)方法
【技術領域】
[0001]本發(fā)明屬于信息安全領域的身份認證方法,具體涉及到一種基于智能終端本地認證的web安全訪問的實現(xiàn)。
【背景技術】
[0002]在大多數(shù)計算機連入網絡之前,各個系統(tǒng)中像身份驗證和授權這類安全服務的實現(xiàn)完全是獨立的。因此,執(zhí)行身份驗證所需的全部代碼,以及密鑰、口令,供授權決策所用的用戶信息,以及授權策略本身均存放于使用這些信息的系統(tǒng)上。每個系統(tǒng)都是一個孤島,各系統(tǒng)都要求用戶擁有一個賬戶才能訪問該系統(tǒng)。
[0003]隨著互聯(lián)網的出現(xiàn),一個用戶往往會訪問許多服務,包括一種服務可能會由多臺機器提供,如果這些服務都使用各自的一套口令,對于用戶這是一個難以控制的問題,他們必須記住大量的口令。于是單點登錄(Single Sign-on, SS0)出現(xiàn)了。
[0004]單點登錄是一種用于方便用戶訪問網絡的技術。無論多么復雜的網絡結構,用戶只需進行一次登錄,即可獲得訪問系統(tǒng)和應用軟件的授權,以后便可以在網絡中自由穿梭,不必多次輸入用戶名和口令來確定身份。在此條件下,管理員無需修改或干涉用戶登錄就能方便地實施希望得到的安全控制,用戶也無需為記憶大量的口令付出代價。
[0005]然而,在傳統(tǒng)的單點登錄里,用戶仍然要記住在RP上的帳號和口令,而且由于一套帳號可以登錄很多服務,所以,一旦RP上的帳號被泄露,與這個帳號綁定的所有服務都會暴露在攻擊者面前,在某一方面來說會讓用戶賬號變得更加不安全,同時由于不同的設備支持的協(xié)議,加密標準都不太一樣,服務器要為每一套設備準備一套認證方案,很不方便。
[0006]因此,更好的身份認證的方法應該在保留傳統(tǒng)的單點登錄的特性之下,在不增加用戶使用難度的前提下,提升用戶資料的安全性,現(xiàn)有的身份認證方式主要是通過驗證用戶知曉的信息(something know)、用戶擁有的信息(something have)、用戶自身信息(something are)進行核實用戶身份,然而傳統(tǒng)的驗證方法仍然要上傳用戶自身信息,也存在著泄露的風險,本發(fā)明創(chuàng)新性的提出基于智能終端本地認證的web安全訪問的實現(xiàn)方法,將用戶本地的身份和在線身份綁定起來,使用本地身份和公私鑰簽名驗證來檢驗用戶的身份,用戶不需要反復提交身份證明,大大降低了身份信息泄露的可能性。
【發(fā)明內容】
[0007]本發(fā)明技術解決問題:克服現(xiàn)有技術的不足,提供基于智能終端本地認證的web安全訪問的實現(xiàn)方法,將用戶本地的身份和在線身份綁定起來,使用本地身份和公私鑰簽名驗證來檢驗用戶的身份,將本地的多種認證方法和在線的公私鑰的挑戰(zhàn)響應式結合起來,用戶不需要反復提交身份證明,大大降低了身份信息泄露的可能性。同時,本發(fā)明也為多種智能終端提供統(tǒng)一的在線認證服務,具有安全性高、用戶體驗效果好、使用方便快捷等優(yōu)點。
[0008]本發(fā)明的技術方案為:基于智能終端本地認證的web安全訪問的實現(xiàn)方法,實現(xiàn)步驟如下:
[0009](1)在智能終端上安裝用戶代理(比如RP的客戶端,打開了 RP網頁的瀏覽器),智能終端需要擁有網絡連接功能;
[0010](2)用戶在RP上注冊用戶賬號nD,然后將新注冊的用戶賬戶綁定至智能終端上;
[0011](3)用戶請求認證時首先打開安裝在智能終端上的用戶代理,然后訪問到RP的頁面,該訪問和之后的訪問全程使用TLS進行保護;
[0012](4)RP將用戶訪問重定向到認證服務器,認證服務器首先返回AppID,認證的Policy,以及服務器端生成的挑戰(zhàn)值Chl給認證客戶端,該挑戰(zhàn)值Chl使用偽隨機數(shù)算法生成;
[0013](5)認證客戶端根據AppID,服務器挑戰(zhàn)Chl等生成FCH傳遞給認證設備;
[0014](6)利用注冊的時候存儲的用戶本地身份信息,認證設備對用戶進行本地身份認證,認證成功以后,使用注冊的時候生成的私鑰UAuth.priv和FCH簽名生成SignedData,并且發(fā)送到認證服務器端;
[0015](7)認證服務器端根據用戶名查找對應的公鑰,并使用公鑰驗證簽名,如果驗證通過,則用戶登錄成功,至此完成了基于公私鑰的挑戰(zhàn)響應式身份認證。
[0016]所述步驟(1)中,網絡連接功能是指通過以太網、W1-Fi模塊或者藍牙等模塊連上網絡并且能訪問到RP。
[0017]所述步驟(2)中,用戶UID是指用戶使用傳統(tǒng)手段在RP上進行注冊,如使用賬戶名和密碼進注冊后,RP分配給用戶的一個唯一的身份ID,不同的用戶在同一個RP上獲取的UID不一樣,同一個用戶在不同的RP上獲取的UID相互不關聯(lián),不同的用戶在不同的RP上活的的UID可能相同,在本權利書所述的認證過程中,假設用戶已經成功綁定了一個本地身份和在線身份。
[0018]所述步驟(3)、(4)等中,所有的數(shù)據通信均使用TLS進行加密保護。
[0019]所述步驟(5)中,AppID是依賴方RP的唯一標識,服務器挑戰(zhàn)Chl是由認證服務器產生的一組隨機標記,用于防止惡意攻擊者的重放攻擊。認證策略Policy指明了哪些認證方式是合法的而那些認證方式是不被允許的(認證客戶端將據此通過用戶代理將可選的認證方式呈現(xiàn)給用戶)。
[0020]所述步驟(5)中,F(xiàn)CH (Final Challenge Params)是認證客戶端在接收到服務器發(fā)來的數(shù)據時,通過挑戰(zhàn)值Chl、AppID等參數(shù)生成的。
[0021]所述步驟¢)中,認證設備對用戶的本地身份驗證是指對于用戶所持有的,或者是用戶本身特征,如1C卡、指紋等。
[0022]下面簡要介紹本方案的基本思想,本發(fā)明在吸取已有解決方案的優(yōu)點的基礎之上,提出了自己的設計思想,具體來說,本發(fā)明原理包括下列幾個方面:
[0023]方面一,服務器挑戰(zhàn)值Chl和隨機數(shù),為了防止中間人猜測和重放攻擊,每次認證之前比如由服務器產生一個挑戰(zhàn)值,挑戰(zhàn)值使用隨機數(shù)算法生成,并且,生成挑戰(zhàn)碼的算法必須通過偽隨機算法標準化測試。一個挑戰(zhàn)值只能用于一次身份認證,使用完畢應立即銷毀,不得重復利用。
[0024]方面二,用戶帳號nD。用戶UID為用戶在RP上提交注冊以后生成的一個唯一的用戶身份,用于在RP范圍內唯一標識一個用戶。而一個用戶可以綁定到多個智能終端,UID在這中間起到連接的作用。一個智能終端也可以綁定多個用戶,UID用于區(qū)分各個用戶,同時智能終端為每個WD生成一對公私鑰對,從而實現(xiàn)智能終端和RP —對多的綁定。
[0025]方面三,服務帳號AppID及服務策略Policy。AppID用于唯一標識一個RP,同時也是認證設備生成公私鑰對的依據,AppID和UID組合唯一標識了一個RP下的一個用戶。在認證的時候,不同的服務提供者可能對認證有不同的要求。使用Policy來標識當前認證所支持的設備和認證方式,認證方式會被用戶代理解析并且提供給用戶選擇。
[0026]方面四,TLS保護。為了保護認證設備、客戶端、RP、SP之間的信道,所有的數(shù)據都是用TLS進行加密。TLS版本至少支持vl.1,推薦使用vl.2版本的TLS。任何一方必須拒絕沒有經過TLS加密傳輸過來的數(shù)據。TLS加密中不安全的算法,如MD5、RC4、SHA1應該被拒絕。TLS加密傳輸時,客戶端必須預先信任服務器端提供的證書鏈,如發(fā)現(xiàn)證書錯誤,應該立即停止下一步動作以免錯誤被放大。
[0027]本發(fā)明與現(xiàn)有技術相比,具有以下優(yōu)點:本發(fā)明使用公私鑰挑戰(zhàn)響應式進行身份綁定并且使用本地用戶身份驗證進行用戶登錄,在方便用戶使用的同時,極大的提高了用戶賬戶的安全性。用戶在登錄的時候,不使用在RP上注冊的用戶賬戶,而是在智能終端端進行本地身份驗證,智能終端再通過注冊綁定的時候生成的公私鑰,在RP端進行用戶身份驗證;另外,在數(shù)據交互的時候全程使用TLS加密技術并使用認證服務器生成挑戰(zhàn)值的方法,避免了重放、偽造等攻擊,相比較傳統(tǒng)的用戶名密碼的登錄方式,極大的提高了安全性。
【專利附圖】
【附圖說明】
[0028]圖1本發(fā)明系統(tǒng)的整體框架示意圖;
[0029]圖2本發(fā)明的身份認證方法中數(shù)據流程示意圖;
[0030]圖3本發(fā)明的身份認證方法詳細流程圖。
【具體實施方式】
[0031]為使本發(fā)明的目的、優(yōu)點以及技術方案更加清楚明白,以下通過具體實施,并結合附圖,對本發(fā)明進一步詳細說明。
[0032]如圖1所示,本發(fā)明認證系統(tǒng)。
[0033]借助認證設備的身份認證體系本發(fā)明是基于智能終端本地認證的web安全訪問的實現(xiàn)方法,即通過預先將用戶的本地身份(如指紋,1C卡等)與用戶在相關RP上的賬號進行綁定,從而在認證的時候使用用戶的本地身份進行驗證的,使用注冊綁定的時候生成的公私鑰對生成的簽名進行在線驗證,使用服務器挑戰(zhàn)值保證驗證安全,避免了傳統(tǒng)用戶名密碼方式存在的種種安全弊端的同時,也避免了傳統(tǒng)的用戶本地身份驗證仍然需要上傳用戶身份到服務器端的弊端。同時本發(fā)明的三大模塊(用戶、智能終端、服務依賴方)相互獨立,一個用戶可以對應多個智能終端或者服務依賴方,一個智能終端也可以認證多個用戶等,這種低耦和的設計方法可以保證整個系統(tǒng)的擴展空間(比如建立獨立的認證服務器,專職負責對已注冊的RP的用戶的身份認證工作)同時也可以保護各個模塊的數(shù)據的隱私和安全。
[0034]本發(fā)明通過公私鑰和挑戰(zhàn)響應提供了一種身份認證方法,通過認證客戶端和認證服務器以及認證設備的數(shù)據流和信息流交互,最終使用用戶在本地認證器上的身份進行在線身份驗證。完成這一身份認證過程的主要功能部件有:用戶代理(UA)、認證客戶端(AC)、認證服務器(AS)、服務依賴方(RP)、認證設備(AE)、認證設備抽象層(AA)以及元數(shù)據認證服務器(AMV)
[0035]用戶代理(UA)是安裝在用戶智能終端上,為了保證整個系統(tǒng)的各部分順利工作所定制的一個重要功能部件。用戶代理可以是瀏覽器,也可以是一個應用程序。它主要提供與用戶的信息交互,轉發(fā)在整個身份認證過程中的數(shù)據信息流的功能。用戶在認證時,需要該插件將需要用戶輸入或選擇的信息以表單的方式呈現(xiàn)給用戶(例如對可用的用戶設備的選擇,對可用的認證策略的選擇等),該部件負責用戶設備與RP服務器間的所有數(shù)據交互,并且使用TLS保護信道安全。
[0036]認證客戶端(AC)是安裝在用戶設備上的整個身份認證方法的一個重要組成模塊,它在整個身份認證系統(tǒng)中起到了連接認證設備和認證服務器的橋梁作用,它的主要作用有通過認證設備抽象層使用相應的認證設備API與用戶提供的用戶器進行數(shù)據交互,同時,認證客戶端借助用戶設備上的用戶代理與認證服務器建立連接,之后,認證客戶端就開始負責與認證服務器的信息交互。
[0037]認證服務器(AS)可以作為依賴方RP的一個身份認證組成模塊,也可作為一個獨立的存在。認證服務器的主要功能有如下四點:(1)通過用戶瀏覽器與位于用戶設備上的認證客戶端進行身份認證協(xié)議的信息交互;(2)通過查驗用戶認證設備元數(shù)據驗證用戶提供的認證設備的合法性;(3)管理注冊的認證設備和用戶賬戶之間的關系;(4)實現(xiàn)注冊和身份綁定之后的用戶認證和事務信息確認等功能。
[0038]服務依賴方(RP)主要用于給用戶提供用戶需求的網絡服務,并在用戶首次使用時,通過傳統(tǒng)的身份注冊方式為用戶生成WD,之后RP會根據用戶的認證請求,聯(lián)系相應的認證服務器,從而開始本權利所述的身份認證請求。
[0039]認證設備(AE)是一個安全實體,可以內置在用戶設備中也可在需要的時候連接至用戶設備。認證設備具有認證用戶身份的功能(比如密碼掃描器通過檢測用戶的指紋獲取用戶身份,或者判斷用戶持有的1C卡等),認證器被認為是安全可信的,即通過認證設備檢測的用戶即為合法的安全用戶。
[0040]認證設備抽象層(AA)實際上是認證客戶端中的一個抽象層,由于隨著整個安全認證領域的不斷發(fā)展,認證設備的種類的型號會不斷更迭,認證設備抽象層為已注冊的合法認證設備提供了一個統(tǒng)一的API以應對這些變化。認證設備抽象層為認證客戶端提供了多設備支持以及相關認證設備的驅動程序。
[0041]元數(shù)據認證服務器(AMV)與認證服務器直接建立聯(lián)系,其主要用于存儲各類認證設備的公鑰證書,這些公鑰證書用于驗證由不同認證設備生成的并由該設備私鑰簽名的數(shù)據信息流。
[0042]上述完成基于公私鑰的挑戰(zhàn)響應式身份認證方法中的功能部件,服務依賴方、認證服務器和元數(shù)據認證服務器組成認證服務器端,用于進行在線身份驗證和事務確認。認證設備、認證客戶端和認證設備抽象層作為認證用戶設備端,獲取用戶的身份認證請求,并通過認證設備本身功能認證用戶身份。
[0043]對于圖1從整體上描述了基于智能終端本地認證的web安全訪問過程中數(shù)據管理實施的總體架構,下面介紹在認證過程中安全性考慮的數(shù)據走向和詳細過程。
[0044]—、基于智能終端本地認證的web安全訪問的數(shù)據走向,如圖2所示。
[0045]1.認證服務器生成挑戰(zhàn)值,并且將挑戰(zhàn)值與AppID、認證策略Policy傳輸給認證客戶端。該挑戰(zhàn)值使用通過驗證的偽隨機生成算法或者是偽隨機生成器來進行生成,是本權利書中認證安全性的保證,一個挑戰(zhàn)值只能用于一次認證,不得重復使用。
[0046]2.認證客戶端收到請求以后根據相應的策略選擇認證方式,同時根據服務器挑戰(zhàn)Chl計算最終挑戰(zhàn)參數(shù)FCH,與AppID打包發(fā)送給認證設備。
[0047]3.認證設備對用戶進行本地身份認證,若認證通過,則認證設備讀取本地存儲的在注冊的時候生成綁定的私鑰,對FCH進行簽名,并且發(fā)送給認證客戶端。
[0048]4.認證客戶端收到認證設備發(fā)來的簽名數(shù)據以后,提交給認證服務器。同時,在此處,由于一個認證客戶端可以同時對應多個認證設備,而且會有多個用戶同時請求身份認證,此時,認證客戶端需將每個簽名數(shù)據分開發(fā)送給認證服務器端。
[0049]通過這種使用服務器產生挑戰(zhàn)值,客戶端根據挑戰(zhàn)值計算并且認證設備進行簽名的過程,保證了認證過程中的安全性,可以有效抵御中間人攻擊和重放攻擊,也可以防止用戶使用過期的數(shù)據進行再次驗證。
[0050]二、基于智能終端本地認證的web安全訪問的實現(xiàn)方法詳細過程,如圖3所示。
[0051]用戶在使用該方案進行身份認證之前,需要對用戶設備(如智能手機、平板電腦、PC、云電視等)等進行初始化操作,并且將用戶身份綁定到本地設備,以便正確完成后續(xù)的身份認證過程,在綁定成功以后的身份認證步驟如下所示:
[0052]1-2.用戶在用戶代理上打開認證的URL,用戶代理將用戶重定向到RP應用上,該頁面必須使用TLS加密,同時RP的TLS證書必須被用戶代理所信任。
[0053]3-4.RP向認證服務器獲取UAF認證請求,認證請求包括認證的策略Policy和使用偽隨機算法生成的服務器挑戰(zhàn)值Chl。
[0054]5.RP將收到的UAF認證請求響應返回給用戶代理。
[0055]6.用戶代理將收到的UAF請求以及RP的AppID并且驗證TLS完整性和證書有效性以后,將UAF請求和AppID返回給認證客戶端。
[0056]7-8.認證客戶端使用AppID向RP服務器獲取Facet ID,該Facet ID會由RP服務器根據認證客戶端的平臺生成,一個FacetID代表了一個RP和認證客戶端平臺的二元組。
[0057]9.根據收到的認證策略Policy,認證客戶端解析認證策略并且呈現(xiàn)給用戶,由用戶選擇最終認證方法。
[0058]10.根據收到的服務器挑戰(zhàn)值Chl,認證客戶端計算最終挑戰(zhàn)參數(shù)FCH,并且根據相應的認證策略,調用認證設備對用戶進行驗證,同時把FCH和AppID傳遞給認證器。
[0059]11-12.認證設備根據對于的策略,開始驗證用戶的身份,比如指紋、1C卡等方式。
[0060]13.根據注冊的時候保存在認證設備里的用戶本地身份,認證設備檢驗用戶身份是否合法,若用戶身份不合法,則認證設備立即停止下一步步驟并且通知認證客戶端終止本次認證,防止錯誤信息被放大。
[0061]14.認證設備根據存儲的私鑰計算簽名,在簽名里必須包含F(xiàn)CH信息,并且將簽名傳遞給認證客戶端。
[0062]15-16.認證客戶端收到認證簽名以后,將認證簽名包裝成認證響應,通過用戶代理提交給RP。
[0063]17.RP把接收到的認證響應包裝成UAF認證響應,并且提交給認證服務器。
[0064]18.認證服務器根據實現(xiàn)存儲的公鑰列表,校驗響應的合法性,若認證響應合法,則該用戶登錄有效,認證服務器返回登錄成功。
[0065]19.認證服務器返回結果,若認證合法,則用戶有效,否則,用戶無效,此時應該終止下一步步驟并且逐級通知到用戶。
[0066]20.RP告訴用戶代理用戶成功登錄,并且將維護一個用戶的在線憑據sess1n,用戶可以使用該憑據訪問對應的服務,此時,整個身份認證過程結束。
【權利要求】
1.一種基于智能終端本地認證的web安全訪問的實現(xiàn)方法,其特征在于完成這一身份認證過程的有功能部件有:用戶代理(UA)、認證客戶端(AC)、認證服務器(AS)、服務依賴方(RP)、認證設備(AE)、認證設備抽象層(AA)以及認證設備的元數(shù)據認證模塊(AMV); 具體實現(xiàn)步驟如下: (1)在智能終端上安裝用戶代理,智能終端需要擁有網絡連接功能; (2)用戶在服務依賴方RP上注冊用戶賬號WD,然后將新注冊的用戶賬戶綁定至智能終端上; (3)用戶請求認證時首先打開安裝在智能終端上的用戶代理,然后訪問到服務依賴方RP的頁面,該訪問過程使用傳輸層安全協(xié)議TLS進行保護; (4)服務依賴方RP將用戶訪問重定向到認證服務器AS,認證服務器AS首先返回服務帳號AppID,認證服務策略Policy,以及認證服務器端生成的挑戰(zhàn)值Chl給認證客戶端,該挑戰(zhàn)值Chl使用偽隨機數(shù)算法生成;所述AppID是依賴方RP的唯一標識,服務器挑戰(zhàn)值Chl是由認證服務器產生的一組隨機標記,用于防止惡意攻擊者的重放攻擊;所述認證策略Policy指明了哪些認證方式是合法的而那些認證方式是不被允許的; (5)認證客戶端根據AppID,服務器挑戰(zhàn)值Chl生成FCH(FinalChallenge Params)傳遞給認證設備;利用注冊的時候存儲的用戶本地身份信息,認證設備對用戶進行本地身份認證,認證成功以后,使用注冊的時候生成的私鑰UAuth.priv和FCH簽名生成SignedData,并且發(fā)送到認證服務器端; (6)認證服務器端根據用戶名查找對應的公鑰,并使用公鑰驗證簽名,如果驗證通過,則用戶登錄成功,至此完成了基于智能終端本地認證的web安全訪問的實現(xiàn)方法。
2.根據權利要求1所述的基于智能終端本地認證的web安全訪問的實現(xiàn)方法,其特征在于:所述步驟(I)中,網絡連接功能是指通過以太網、W1-Fi模塊或者藍牙模塊連上網絡并且能訪問到RP。
3.根據權利要求1所述的基于智能終端本地認證的web安全訪問的實現(xiàn)方法,其特征在于:所述步驟(2)中,用戶在服務依賴方RP上注冊用戶賬號UID是指用戶使用傳統(tǒng)手段在RP上進行注冊,即使用賬戶名和密碼進注冊后,RP分配給用戶的一個唯一的身份ID,不同的用戶在同一個RP上獲取的UID不一樣,同一個用戶在不同的RP上獲取的UID相互不關聯(lián),不同的用戶在不同的RP上獲得的UID可能相同。
4.根據權利要求1所述的基于智能終端本地認證的web安全訪問的實現(xiàn)方法,其特征在于:為了保護認證設備、客戶端、RP、SP之間的信道,所述各步驟中的所有的數(shù)據均使用TLS進行加密。
5.根據權利要求1所述的基于智能終端本地認證的web安全訪問的實現(xiàn)方法,其特征在于:所述步驟出)中,認證設備對用戶的本地身份驗證是指對于用戶所持有的,或者是用戶本身特征,包括IC卡和指紋。
【文檔編號】H04L29/06GK104283886SQ201410542741
【公開日】2015年1月14日 申請日期:2014年10月14日 優(yōu)先權日:2014年10月14日
【發(fā)明者】王雅哲, 梁超, 汪洋, 汪祖輝, 王瑜 申請人:中國科學院信息工程研究所, 聯(lián)想移動通信軟件(武漢)有限公司