• 沒有找到結果。

第二章、 文獻探討

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)

3.2 OpenID Connect