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