統一認證中的聯合認證
最近再搞統一認證的問題,了解了一下聯合認證。查了一些資料,匯總一下。
聯合認證是指以分散式的用戶管理和用戶認證為特征的,使得用戶可以以安全可信的方式跨系統、跨網絡、跨域訪問資源的認證技術,聯合認證的主要目的是在異構系統和身份平臺之間共享用戶身份信息,并實現用戶使用效果上的單點登錄。
聯合認證與集中式單點登錄的核心區別在于聯合認證中沒有統一的認證實體為所有用戶提供認證服務,聯合認證的這個特點正好迎合了企業和機構需要獨立管理和認證用戶的應用需求。
聯合認證系統支持多個用戶身份認證服務器,所有身份認證服務器和與它們相關的應用系統,共同組成的用戶可訪問的一個區域,稱為聯盟(federation),聯盟中的用戶被分散的存儲在多個認證中心中。
聯合認證的實現原理是在多個域之上抽象出一個安全的傳輸層,用于用戶認證狀態和授權狀態的跨域傳輸。當用戶在其所屬認證中心登陸,其所屬認證中心為用戶生成認證狀態。當該用戶對其他域的資源進行訪問時,這些資源以某種方式獲取用戶所屬認證中心,即維護該用戶認證和授權狀態的實體,并在安全傳輸層之上,與該認證中心建立通信,獲取該用戶的認證狀態和授權狀態,然后對用戶進行訪問控制。
簡而言之,聯合認證實現了跨域的用戶認證狀態和授權狀態的安全共享,完成用戶無縫的跨域安全訪問,實現用戶使用效果上的單點登錄。
除去普通情況下單點登錄的一系列優勢外,聯合認證的實施還可以為企業帶來:
1、企業不必花費開銷管理和維護其合作伙伴和客戶的用戶信息,節約企業運營成本;
2、通過向其他企共享信息資源和利用其他企業共享的信息資源,擴大企業業務范圍,從而帶來的盈利機會;
聯合認證領域發展至今已經取得了一定的成果,產生了眾多的業界標準規范,同時也出現了一些聯合認證的系統實現。
業界標準規范主要以SAML、Liberty ID-FF和WS-Federation為代表;在系統實現方面,開源的Shibboleth項目和惠普商業軟件Select Federation都具有典型特點。