單點登陸(Single Sign-On)標準的范圍(在這里稱做 XSSO),定義如下支持的服務:
為企業的應用開發提供通用的、單一的終端用戶登陸接口,并且并行管理多用戶帳號基礎信息的應用開發是由企業來維護的。
功能目標
用戶登陸接口
為實現用戶登陸接口,XSSO 應該支持下列功能目標:
接口應該與驗證信息的處理類型無關。
提供更改受控用戶驗證信息的功能。這意味著在最初更改用戶密碼會受到限制,當然不排除將來對其提供這種功能。
提供為調用者建立默認用戶屬性的支持。目前還不用從一組可用的用戶屬性選項來選擇這些用戶屬性,當然不排除今后提供這種功能。
當會話終止、注銷時提供默認的清除服務。
提供一種能讓調用者通過從除該 XSSO 實現以外的應用通知 XSSO 實現改變受控用戶驗證信息的服務。
XSSO 不能預先確定第二次登陸操作的時間。
注意:做為主登陸操作,意味著 XSSO 將不需要所有登陸操作同時執行。這將導致用戶會話在所有可能的服務中被創建,即便某些服務用戶并沒有實際的使用。
用戶帳號管理接口
為了實現用戶帳號管理接口,XSSO 應該支持下列功能目標:
提供創建、刪除、修改用戶帳號的功能。
提供為單個用戶帳號設置屬性的功能。
非功能性目標
XSSO 的非功能性目標包括:
XSSO 應該與驗證技術無關。接口不能指定使用特定的驗證技術,不排除使用任何可能的驗證技術。
注意:有些驗證技術,比如按照挑戰響應機制,用戶持有的設備構成將不會在第二次登陸動作時適用。
XSSO 應該與平臺或操作系統無關。不排除 XSSO 會集成進常規桌面或常用服務器系統,甚至大型機。當然,也可以修改一下 XSSO 再把它集成進那些桌面或服務器系統。
安全目標
XSSO 實現的安全目標如下:
被部署之后,XSSO 不應反過來影響所依賴的系統。
XSSO 不應有反過來沖擊任何獨立系統服務的可用性。
XSSO 不應為當事人提供訪問用戶帳號信息的途徑,因為他們不允許訪問處于受控安全域之內的那些信息。
一個 XSSO 實現要審核發生在 XSSO 上下文之內的所有安全相關活動。
一個 XSSO 實現要保護由 XSSO 實現提供或產生的所有安全相關信息,以便其他服務充分信任這些安全信息的完整性和原始性,以便第二次登陸操作。
當在各個組件內部以及組件與其他服務交互時,XSSO 應提供安全相關信息保護。
范圍之外
在當前的 XSSO 范圍中,以下這些方面不被考慮:
提供跨越企業級系統邊界的單點登陸。
非用戶配置驗證信息的改變,例如磁性徽章、智能卡等等。
當登陸時用戶屬性的可選擇性。
配置和管理用戶屬性的可選集合(組)。
當下面的用戶帳號基礎信息由其他 XSSO 提供的功能所修改時,就需要維護單點登陸用戶帳號基礎信息以及下面獨立維護的用戶帳號基礎信息的完整性。
圖形化和命令行用戶界面 XSSO 的基礎服務。這個工具可以是 XSSO 的一部分。
譯者注
典型的挑戰響應機制應用在 HMAC(Keyed-Hashing for Message Authentication) 驗證中。驗證流程如下:
(1) 先由客戶端向服務器發出一個驗證請求。
(2) 服務器接到此請求后生成一個隨機數并通過網絡傳輸給客戶端(此為挑戰)。
(3) 客戶端將收到的隨機數提供給 ePass,由 ePass 使用該隨機數與存儲在 ePass 中的密鑰進行 HMAC-MD5 運算并得到一個結果作為認證證據傳給服務器(此為響應)。
(4) 與此同時,服務器也使用該隨機數與存儲在服務器數據庫中的該客戶密鑰進行 HMAC-MD5 運算,如果服務器的運算結果與客戶端傳回的響應結果相同,則認為客戶端是一個合法用戶。
請注意!引用、轉貼本文應注明原譯者:Rosen Jiang 以及出處:http://www.aygfsteel.com/rosen