SAML 是什麼?淺談安全斷言標記式語言

什麼是 SAML?

根據線上科技辭典 Webopedia,SAML 是 Security Assertion Markup Language(安全斷言標記式語言)的縮寫,是指在身分識別資訊提供者(Identity Provider,IdP)與服務提供者(Service Provider,SP)之間傳送驗證以及授權資料的一種公開標準。資料的傳送是透過基於 XML 的協議完成的。SAML 的基本用途在於網頁瀏覽器的單一登入(Single Sign-On,SSO)。通常在同一個網域底下的身分驗證是相對較容易的,可以透過網路工作階段(web session)或是 cookie 等技術來達成。然而,由於 session 無法在跨網域或跨伺服器的情況下使用,並且跨網域使用 cookie 也存在非常高的風險,使得跨網域的身分驗證執行起來困難重重。SAML 便是一個解決這個問題的公開標準。

當我們說「透過 SAML 來執行單一登入」,意思就是說一旦使用者通過了身分驗證,這份通過驗證的資料便能夠被傳送到不同的 SaaS/雲端服務。亦即使用者只需要登入一次之後,就能存取使用不同的 SaaS/雲端服務。

SAML 最早是在 2001 年時由 OASIS 安全服務技術委員會(Security Services Technical Committee,SSTC)所開發出來,用以定義 XML 架構來傳送驗證及授權資料。而後在 2005 年,SAML 版本升級為 2.0,因此如今人們口中的 SAML 即是泛指 SAML 2.0。

SAML 是如何運作的呢?

在瞭解 SAML 之前,首先我們必須先瞭解身分識別資訊提供者(Identity Provider,IdP)以及服務提供者(Service Provider,SP)。身分識別資訊提供者(IdP)是指含有使用者身分資訊的服務端。而服務提供者(SP)則是指在接收到身分識別資訊提供者所提供的資訊後,進而提供服務給通過驗證的使用者的服務端。

因此當使用者想要使用服務提供者所提供的服務時,使用者會先試著登入服務提供者。接著,服務提供者會將這項請求重新導向至身分識別資訊提供者,並試圖從身分識別資訊提供者取得驗證以及授權的資料。使用者在身分識別資訊提供者的網頁完成驗證後,身分識別資訊提供者便會回傳一封訊息證明該使用者已經通過了驗證以及一些使用者身分的相關資訊。簡而言之,這封訊息的功用是作為一項證明身分識別資訊提供者已經授權使用者的證據,服務提供者在接獲證據後便會提供服務給已被授權的使用者。

對於 IT 管理者而言,SAML 單一登入的好處在於使用者的資料將由身分識別資訊提供者統一管理,因此在大多數的情況下,若 SaaS/雲端服務有提供即時制度 Just-In-Time Provisioning(JIT Provisioning),IT 管理者甚至不需在使用者使用該 SaaS/雲端服務前新增使用者資訊。(然而 SAML 的服務範圍並不包含維護各個軟體的使用者)

而對於使用者來說,透過單一登入,使用者只需要記得一組帳號密碼,不必再管理多組繁瑣的密碼來使用不同的 SaaS/雲端服務。

HENNGE One 如何與 SAML 結合運作?

HENNGE One 是一個安全的單一登入解決方案,讓使用者可以透過安裝在裝置上的數位憑證進行登入,並且提供推播驗證(Push Authentication)的多重因素驗證(Multi-Factor Authentication,MFA)服務。簡單來說,透過與 SAML 的結合,HENNGE One 可以提供一個與普通的帳號密碼相比更加安全的單一登入流程

如今,愈來愈多 SaaS 供應商開始支援 SAML 協定。因此透過 HENNGE One,使用者便可以輕鬆地設定以單一登入的方式登入許多常見的 SaaS 服務,包括了 Zoom、Adobe Creative Cloud、AWS、Dropbox、DocuSign、Zendesk、Netskope 等。另外,由於 SAML 是一項公開的協定,使用者也可以更新自建的軟體或系統以支援 SAML, 這麼一來便可以利用 HENNGE One 進行安心安全的單一登入了。

WRITTEN BY