第二章、 文獻探討
3、 混合雲單一登入
3.1 單一登入
單一登入(Single Sign-On, SSO)是指使用者只須以一組身分識別,例如: 帳號 與密碼,即可讓使用者登入、存取不同的系統而不用再次重新進行身分驗證,因 此對使用者來說,其不需要記取其它不同系統的帳號與密碼,解決多組帳號的困 擾。
( 1 ). 主要角色
(1). 使用者 (User)
存取系統或網站的使用者。
(2). 服務伺服器 (Service Server) 提供服務的系統或網站。
(3). 驗證伺服器 (Authentication Server)
對欲存取系統或網站的使用者進行身分驗證的角色。 (廖英彥, 2005)
( 2 ). 驗證類型
一般單一登入的身分驗證主要可分為兩種類型:(尤淑芬、謝乙誠, 2009) (1). CA (Centralized Authentication)
整合各系統(服務伺服器)統一向 CA 驗證伺服器來驗證使用者身分,各 系統本身並不作身分驗證的工作,而將身分驗證的工作轉移到單一登入的驗
證伺服器上。此類型又稱為代理模式(Proxy Model) (廖英彥, 2005),其運作 流程圖如下: (圖六)
圖 六:CA 驗證流程 (尤淑芬、謝乙誠, 2009) 以下將依序介紹圖中各步驟之說明:
(a). 使用者對服務伺服器提出服務請求,服務伺服器返回給使用者系統 登入介面,並要求使用者提供其身分資訊(Credentials,如: 帳號與密碼),
而使用者於系統登入介面輸入帳號與密碼進行登入。
(b). 服務伺服器將 Credentials 轉送給驗證伺服器進行驗證。
(c). 驗證伺服器將驗證結果回傳給服務伺服器。
(d). 服務伺服器回傳登入驗證結果給使用者,並依據驗證結果決定是否 提供服務給使用者。
(2). UID (Unique Identifier)
使用者直接於驗證伺服器所提供的登入介面進行登入與驗證,因此使用 者的帳號與密碼不再透過服務伺服器轉送至驗證伺服器來進行驗證,另外驗 證伺服器利用一次性的 token 當作使用者身分的唯一識別(UID),並在 token 中加入時戳變數,避免此 token 遭非法使用者盜用。此類型又稱為重導模式 (Inform Model) (廖英彥, 2005),其運作流程圖如下: (圖七)
圖 七:UID 驗證流程 (尤淑芬、謝乙誠, 2009) 以下將依序介紹圖中各步驟之說明:
(a). 使用者對服務伺服器提出服務請求,服務伺服器以 HTTP Redirect 的方式,將使用者導向驗證伺服器進行身分驗證,使用者於驗證伺服器 提供之登入介面,輸入帳號與密碼進行登入。
(b). 驗證伺服器發放 token 給通過驗證的使用者。
(c). 使用者傳送 token 給服務伺服器。
(d). 服務伺服器向驗證伺服器驗證此 token。
(e). 驗證伺服器將驗證結果回傳給服務伺服器。
(f). 服務伺服器回傳驗證結果給使用者,並依據驗證結果決定是否提供 服務給使用者。
( 3 ). 驗證類型之比較
CA 與 UID 兩者主要的差別,透過以下兩種面向加以分析說明:(尤淑芬、
謝乙誠, 2009) (1). 安全性
對 CA 而言,在服務伺服器轉送使用者帳號與密碼給驗證伺服器的過程 中,一定得透過安全傳輸的管道將資料加密作傳輸,以防止密碼在傳輸過程 中被竊取。若密碼不慎遭到竊取,在使用者更改密碼前,非法使用者皆可獲 得存取權限,因此安全性較低。
對 UID 而言,由於驗證伺服器頒發的 token 設有有效期間,因此一旦 token 不慎遭到竊取,只要 token 有效期間過後,非法使用者便無法獲得存 取權限,因此安全性較高。
(2). 複雜度
由於 UID 必須使用複雜的演算法與足夠的變數來產生 token,因此在複 雜度上比 CA 來的高。
表 一:CA 與 UID 比較表 (尤淑芬、謝乙誠, 2009)
( 4 ). 知名雲端商驗證方式
以目前知名的雲端提供商(如: Google 等),其通常都會提供單一登入的驗證 方式,而此種方式驗證方式與上述(二) token 驗證的類型相似。這代表著使用者 必須透過雲端提供商所提供的登入介面登入至雲端平台後,(即上述(二)所提到的 使用者於驗證伺服器提供之登入介面進行登入),才可使用相關雲端服務(如:
Google Drive、Google Calendar 等)。接著,使用者便可透過登入雲端平台所獲得 的 token 來存取任一雲端服務,而不用再次輸入帳號與密碼,進而達到單一登入 的效果(圖八)。 (Harry Katzan, Jr., 2010)
圖 八:雲端驗證方式 (Harry Katzan, Jr., 2010)