萬盛學電腦網

 萬盛學電腦網 >> 網頁制作 >> 交互設計 >> 互聯網上的單點登錄研究

互聯網上的單點登錄研究

  隨著互聯網絡應用的普及,越來越多的人開始使用互聯網上提供的服務。然而目前提供服務的網站大多采用用戶名、口令的方式來識別用戶身份,這使得用戶 需要經常性的輸入自己的用戶名、口令。顯然這種認證方式存在著弊端:隨著用戶網絡身份的增多,用戶相應的需要記憶多組用戶名、口令,這給用戶造成記憶上的 負擔;另外頻繁的輸入用戶名、口令,會相應的增大用戶的口令密碼被破解的機率。為了改變這一現狀,單點登錄技術應運而生。單點登錄技術的核心思想是通過一 定的方式使得各提供服務的網站之間建立某種聯系,用戶只需要在其中一個認證網站進行登錄後,即可實現全局登錄,當用戶再訪問其他網站時,不需要再次登錄, 其身份就可以被驗證。我們可以看到采用單點登錄技術後,用戶只需要記憶一組用戶名、口令,並且在登錄多個網站時只需要輸入一次用戶名、口令,這就使得用戶 可以更加安全快捷的使用互聯網上的各種服務。

  單點登錄的一般模型

  在單點登錄的一般模型中,一般由三部分構成:(1)用戶 (2)身份提供者 (3)服務提供者。如圖1所示。

  用戶是指通過浏覽器來使用單點登錄服務的個體。身份提供者在單點登錄中提供對個體的身份驗證服務,相當於一個權威機構。服務提供者是指具體為用戶提 供某種服務的機構。用戶在身份提供者那裡注冊身份,當用戶進行單點登錄時,需要在身份提供者處登錄,進行身份驗證,由身份提供者為用戶標記登錄信息。通常 把用戶在身份提供者處進行的登錄稱作全局登錄。用戶在全局登錄後,當訪問其它的服務提供者時,被訪問的服務提供者首先直接與身份提供者進行交互,來詢問該 用戶是否已全局登錄,如果確定該用戶已全局登錄,則允許該用戶來訪問自己提供的服務,否則將該用戶重定向到身份提供者處,進行全局登錄。

  在具體的單點登錄實現中,身份提供者和服務提供者進行交互的方式不盡相同。如微軟的Passport單點登錄采用的是在重定向信息中包含加密後的驗 證信息來進行交互,而自由聯盟的單點登錄規范是采用安全聲明標記語言(SAML)來進行交互的。下面本文就通過介紹當前這兩個主流的單點登錄協議:微軟 Passport單點登錄協議和自由聯盟規范來進一步闡述單點登錄技術。

  一、微軟Passport單點登錄協議

  1.1 微軟Passport服務

  提及微軟Passport單點登錄協議,我們自然要先介紹的是微軟Passport服務。在微軟的www.passport.com站點上我們可以 看到微軟Passport的使用條款和通告。微軟Passport 是由微軟公司運行的一種Web 服務,該服務會使用戶登錄到網站以及執行電子商務交易的過程變得更加簡便。微軟的Passport服務是.Net戰略的一部分,通過一次登錄就可以使用戶 獲得訪問很多網站的權限。微軟宣稱Passport的目的是使會員在使用互聯網和在線購物時更方便、快捷和安全,它得到了包括1-800- Flowers、CostCo、OfficeMax和Victoria Secret在內的諸多著名在線商店的支持。微軟Passport服務從本質上來說是一種由微軟控制的中央統籌式的單一登錄服務。微軟旗下的 Hotmail、Messenger與ISP服務(MSN)都有加入此機制,目前約有2億個使用賬戶。

  1.2 微軟Passport單點登錄協議

  在微軟Passport服務模式中,有三個主體:(1)使用web浏覽器的用戶(假設該用戶已經注冊了Passport服務),(2)服務提供者 (對用戶提供某種服務的網站),(3)Passport登錄服務器。Passport登錄服務器保存著用戶的認證信息以及用戶的個人信息,服務提供者在得 到用戶允許的前提下可以到Passport登錄服務器上獲取用戶個人信息。

  微軟Passport單點登錄協議流程如下[1]:當一個用戶通過浏覽器訪問一個服務提供者網站時,如果該網站需要驗證用戶的身份,就把該用戶的浏 覽器重定向到Passport登錄服務器。下一步Passport登錄服務器通過SSL連接為用戶提供一個登錄頁面,在用戶登入該服務器後,被重定向回服 務提供者網站。此時認證信息被包含在重定向消息中。該認證信息使用三重DES加密算法加密,加密密鑰是由Passport登錄服務器和服務提供者網站事先 協商好的。在服務提供者網站檢驗了認證信息的真實性後,即可認為該用戶成功登錄。具體流程圖可參考圖2所示。

  微軟Passport單點登錄協議采用了Kerberos認證機制來完成身份認證工作。Kerberos是一種為網絡通信提供可信第三方服務的面向 開放系統的認證機制。在Kerberos認證機制中,每當用戶(client)申請得到某服務程序(server)的服務時,用戶和服務程序會首先向 Kerberos要求認證對方的身份,認證建立在用戶(client)和服務程序(server)對Kerberos的信任的基礎上。在申請認證 時,client和server都可看成是Kerberos認證服務的用戶,為了和其它服務的用戶區別,Kerberos用戶統稱為 principle,principle既可以是用戶也可以是某項服務。當用戶登錄到工作站時,Kerberos對用戶進行初始認證,通過認證的用戶可以 在整個登錄時間得到相應的服務。Kerberos既不依賴用戶登錄的終端,也不依賴用戶所請求的服務的安全機制,它本身提供了認證服務器來完成用戶的認證 工作[7]。簡單地說,Kerberos通過集中存儲的安全信息和分布式的“tickets”來實現用戶身份認證。具體而言,微軟Passport服務通 過如下步驟實現用戶身份驗證:

  用戶開啟客戶端應用程序或浏覽器,打開登錄界面,並輸入用戶名、口令。

  登錄動作引發客戶端應用程序或網站向微軟Passport請求一個登錄確認證明(即“ticket-granting-ticket”,TGT)。

  微軟Passport驗證用戶用戶名、口令,頒發TGT,確認登錄已經成功。在滿足一定安全約束條款的前提下,該TGT在一定時期內被緩存。

  客戶端應用程序或網站向微軟Passport提交TGT,同時請求頒發一個“會話證明”。

  微軟Passport使用TGT來驗證客戶端的身份是否有效,確認後向相應的Web Service頒發“會話證明”。

  客戶端向所請求的Web Service提交會話證明,經確認後,客戶端開始同Web Service進行信息交換,所有數據都經由該“會話證明”加密從而確保安全。

  1.3 微軟Passport小結

  雖然微軟Passport已經提供了多年的服務,但是其安全性一直為人們所置疑。首先,其中央統籌的模式是最為大眾所質疑的。因為核心的驗證服務器 以及用戶個人信息服務器都是微軟一手控制的,再加上其技術細節並不對外公開,而且沒有依據某一標准,致使人們一直擔憂用戶的個人資料被洩漏。其次,微軟的 Passport系統曾被個人或黑客多次入侵。這些都限制了微軟Passport服務的進一步推廣。

  二、自由聯盟規范

  4.1 自由聯盟(Liberty Alliance)

  自由聯盟是一個聯盟機構的名稱,該聯盟的宗旨是創建一個經由與Internet相連的任何器件都能實現的具有開放性的、聯合的、單一簽字身份識別的 解決方案,該機構的目標是為實現利用因特網進行交易時隨時隨地的單點登錄認證,並且進行有關標准的制訂。所有商業機構和非商業機構都可取得該機構的成員身 份。加盟該機構的創始企業中有服務提供、汽車制造、金融服務、旅行業、數字媒體、零售業、電信及技術相關業界的著名企業。目前自由聯盟由170多家廠商組 合,包括Sun、Nokia、American Express等,他們負責提供技術規范與商業指南來當作跨企業的身份認證服務。Liberty本身並不產生應用,這方面是由技術廠商(如Sun、 Novell、Peoplesoft與HP等)來開發支持Liberty標准的兼容應用。自由聯盟規范可讓不同的服務供應商加入一個聯邦式的信賴網絡中 [6]。

  自由聯盟的主要目標有如下三個方面:

  使個人消費者和企業用戶能夠安全保管個人信息。基此,推進無信息壟斷的、可以相互運用並跨越多個網絡的服務。

  制訂實現“單點登錄”的開放標准。基此,使用戶在任何1個WWW站點通過認證後,不必接受其它站點認證就可以使用其服務。

  制訂所有接入因特網的設備都可以使用的網絡認證開放標准。基此使手機、車載設備和信用卡等各種各樣的終端間都能進行安全的認證。

  4.2 自由聯盟規范

  自由聯盟於美國當地時間2003年3月11日公布了單點登錄架構“Liberty Alliance Federated Network Identity Architecture”的概要及其發展藍圖。自由聯盟聲稱利用該架構能夠解決眾多阻礙Web認證服務的技術性障礙。

  自由聯盟分兩個階段公布支持該架構的規范――自由聯盟規范。在第一階段,自由聯盟於2002年7月公布了作為聯盟用戶管理基礎的規格集 “Liberty Alliance Identity Federation Framework(ID-FF,自由聯盟統一聯合框架)”,並於2003年1月進行了修訂。ID-FF支持將已經具有關系的多用戶信息進行聯合或鏈接, 使用戶一次登錄即可享受多家企業提供的服務。在第二階段,自由聯盟在2003年內強化ID-FF,並發表了“Identity Web Services Framework(ID-WSF,統一Web服務框架)”。ID-WSF公布了構築基於相互認證的Web服務所需關鍵技術的概要。自由聯盟認為這種 Web服務符合特定的工作目的,在共享用戶信息方面,保護個人隱私和系統安全。另外,自由聯盟還將提供基於ID-WSF的規格集“Liberty Alliance Identity Services Interface Specifications(ID-SIS,自由聯盟統一服務接口規范)”。這樣,企業就可以使用標准方法提供特征登記/聯系地址/日歷/位置信息和報 警服務等[3]。

  4.3 自由聯盟具體協議

  在自由聯盟規范中定義了四個具體的協議[2]:

  單點登錄以及身份聯合

  名字注冊

  身份聯合終止聲明

  單點退出

  與微軟Passport相同,自由聯盟具體協議也具有三個主體,它們分別是:

  主體(Principals

copyright © 萬盛學電腦網 all rights reserved