「單一」最「安全」?解密單一入口系統
第四組:財法一蔡宏廉、經濟一許羽慈、經濟一朱昱寬、政治二莊逸芸、財法二王鼎翰
(圖:中正大學單一入口登入頁面)
SSO的原理
SSO就像在存取多個服務之前安排保安,統一管理使用者登入,使用者登入成功後,即可依其權限存取各項服務、資料。SSO本身並非實際系統,而是一種理念,實現SSO有許多方式,以下以中正大學的單一入口為例。
中正大學如何實現SSO?
中正大學單一入口負責人指出:中正大學的單一入口使用者使用帳號密碼進行身份認證,在身份証認後,利用CAS(Central Authentication Service)協定讓使用者可以不再輸入帳號密碼就可登入到其他資訊系統。單一入口僅有「認證」(Authentication),而「授權」(Authorization)則交付由各系統執行。認證針對使用者身分的正確性進行驗證,也就是讓系統知道「你是誰」;授權則注重於使用者能存取的服務與資訊內容,亦即讓系統決定「你能使用什麼」。
CAS協定的核心概念建立在客戶端Web瀏覽器(使用者)、Web應用和CAS伺服器之間的票據驗證機制上。當客戶端向資訊系統提出身分驗證請求時,系統會引導它至CAS,並提供帳號密碼,通過驗證後,CAS會一次性發送「TGT票據」(Ticket Granting Ticket)給客戶端,以Cookie的形式存儲,它就像遊樂園入口的手章,用以確認使用者已登入過CAS,過一段時間後會失效。在TGT票據有效期內,CAS將持續信任該使用者,並自動將客戶端導回原始應用程式,同時轉遞身分驗證票(Service ticket,ST),讓應用程式辨識訪問者的身份。隨後,應用程式透過安全連接與CAS建立通訊,同時提供自身的服務標識和驗證票(ST)。之後,CAS提供關於使用者是否已成功通過身分驗證的應用程式授信資訊。
不過,並非任意系統都可以使用中正的單一認證服務!若要使用中正單一認證服務的資訊系統,該系統負責人必須填寫ISMS(註1)連線申請表,在其主管核章並通過資訊處審核後才可以連線。綜上所述,只有CAS保有使用者本身的帳號與密碼,而CAS與應用程式間有專屬的驗證方式。
為了使安全性更上一層,系統還須依法規建置Google Captcha,且為防暴力破解攻擊,當使用者連續五次密碼錯誤將會被鎖定。若使用者忘記密碼,則須通過電子信箱驗證更改密碼,甚至當使用者遺失信箱,則需填寫申請表,交由人工審核再更改密碼。
SSO的優點
用了這麼久SSO,卻不知道為什麼學校要採用這種系統 ? 這裡帶大家一探究竟 !
(一)強化密碼安全性
在非使用單一登入(SSO)情況下,人們必須記住各種不同網站的多個密碼,這可能導致使用者選擇使用簡單或重複的密碼,降低安全性。此外,當使用者試圖登入服務時,可能會遇到忘記或輸入錯誤憑證的情況。SSO的使用有助於克服密碼疲勞,並鼓勵使用者建立可用於多個網站的強勢密碼。
透過極大限度地減少每位使用者的密碼數量,SSO可促進使用者存取稽核,並提供針對所有類型資料的堅固訪問控制。這有助於降低針對密碼的安全事件風險,同時協助組織遵守資料安全法規。
(二)提高生產力
企業員工經常需要使用多個需要單獨身分驗證的應用程式,手動輸入每個應用程式的使用者名稱和密碼既費時又效率低下。SSO簡化了企業應用程式的使用者驗證過程,使得存取受保護的資源更加容易。
(三)降低成本
在試圖記住眾多密碼時,企業使用者可能會忘記他們的登入憑證,這將導致頻繁請求擷取或重設密碼,增加內部IT團隊的工作量。實施SSO可減少忘記密碼的情況發生,極大地減少處理密碼重置請求的支援資源。
(四)提供更佳的客戶體驗
雲端應用程式供應商透過SSO為最終使用者提供無縫登入體驗和憑證管理。使用者管理的密碼減少,仍能安全地存取完成其日常工作所需的資訊和應用程式。
系統再嚴密,也敵不過個人疏忽
雖然駭客的攻擊手段層出不窮,但系統必定能找出其解決與防範手段,然而唯一無法透過改變系統解決的,即是出自使用者自身的「社交工程」攻擊。社交工程是最常見,卻也最難防範的攻擊,原因在於人們普遍對資安防護意識不足。常見的社交工程手法有:偽裝成政府機關、促銷優惠等,並發送釣魚連結誘使人們點入,並藉此盜取個資,甚至能夠遠端操縱被害者的裝置。
雖然如何保護密碼已經是老生常談的話題,在單一入口系統只需要一個密碼就能登入如選課系統、eCourse等多個網站的狀況下,卻更能夠彰顯保護密碼的重要性,以下介紹兩個能夠保護密碼不被有心之人盜竊的簡單方式:
(一)提高密碼複雜度
為預防「字典攻擊法」(註2),避免使用英文單字及常見的弱密碼,例如abcd、1234或是admin等常用預設密碼。此外,混用英文大小寫字母、數字及特殊符號組合,且密碼長度越長越好,密碼每多一個字,暴力破解軟體就需要多花一倍的時間,能夠有效防範反覆試驗來解密資料的「暴力攻擊法」。
SSO的優點
用了這麼久SSO,卻不知道為什麼學校要採用這種系統 ? 這裡帶大家一探究竟 !
(一)強化密碼安全性
在非使用單一登入(SSO)情況下,人們必須記住各種不同網站的多個密碼,這可能導致使用者選擇使用簡單或重複的密碼,降低安全性。此外,當使用者試圖登入服務時,可能會遇到忘記或輸入錯誤憑證的情況。SSO的使用有助於克服密碼疲勞,並鼓勵使用者建立可用於多個網站的強勢密碼。
透過極大限度地減少每位使用者的密碼數量,SSO可促進使用者存取稽核,並提供針對所有類型資料的堅固訪問控制。這有助於降低針對密碼的安全事件風險,同時協助組織遵守資料安全法規。
(二)提高生產力
企業員工經常需要使用多個需要單獨身分驗證的應用程式,手動輸入每個應用程式的使用者名稱和密碼既費時又效率低下。SSO簡化了企業應用程式的使用者驗證過程,使得存取受保護的資源更加容易。
(三)降低成本
在試圖記住眾多密碼時,企業使用者可能會忘記他們的登入憑證,這將導致頻繁請求擷取或重設密碼,增加內部IT團隊的工作量。實施SSO可減少忘記密碼的情況發生,極大地減少處理密碼重置請求的支援資源。
(四)提供更佳的客戶體驗
雲端應用程式供應商透過SSO為最終使用者提供無縫登入體驗和憑證管理。使用者管理的密碼減少,仍能安全地存取完成其日常工作所需的資訊和應用程式。
系統再嚴密,也敵不過個人疏忽
雖然駭客的攻擊手段層出不窮,但系統必定能找出其解決與防範手段,然而唯一無法透過改變系統解決的,即是出自使用者自身的「社交工程」攻擊。社交工程是最常見,卻也最難防範的攻擊,原因在於人們普遍對資安防護意識不足。常見的社交工程手法有:偽裝成政府機關、促銷優惠等,並發送釣魚連結誘使人們點入,並藉此盜取個資,甚至能夠遠端操縱被害者的裝置。
雖然如何保護密碼已經是老生常談的話題,在單一入口系統只需要一個密碼就能登入如選課系統、eCourse等多個網站的狀況下,卻更能夠彰顯保護密碼的重要性,以下介紹兩個能夠保護密碼不被有心之人盜竊的簡單方式:
(一)提高密碼複雜度
為預防「字典攻擊法」(註2),避免使用英文單字及常見的弱密碼,例如abcd、1234或是admin等常用預設密碼。此外,混用英文大小寫字母、數字及特殊符號組合,且密碼長度越長越好,密碼每多一個字,暴力破解軟體就需要多花一倍的時間,能夠有效防範反覆試驗來解密資料的「暴力攻擊法」。
避免瀏覽或登入網址為「http」開頭或是網址欄前面沒有「掛鎖」圖示的不安全網站,這些網站傳輸資料通常並未加密,和公共Wi-Fi一樣,容易被駭客利用於竊取帳號資訊。
(圖:網址欄前方的「掛鎖」圖示)
各種不同的單一入口
其實,單一入口有許多不同的變化種類,目前主流有四種作法:JWT(JSON Web Token)、CAS、OAuth2.0(開放授權2.0)、以及SAML(Security Assertion Markup Language)。以複雜程度排序,分別是JWT<CAS<OAuth2<SAML,雖然越複雜的作法越安全,但開發成本也會隨之提高,所以業者會根據自己的需要,權衡採取的SSO模式,例如以安全性聞名的Google採用SAML,而多數企業因考量開發成本,多採CAS。
註釋:
1. ISMS(資訊安全管理系統,Information Security Management System)
持續進行「Plan」、「Do」、「Check」、「Act & Adjust」的循環以達成資安管理。目前以ISO 27001為國際標準。
2. 字典攻擊法
一般人的密碼其實能夠分類並藉此猜測,駭客利用蒐集各種常見密碼的「字典」進行攻擊,字典的資料來源頗多,像是被破解的網站、人名、身分證字號等等。而且,人們設定密碼有其語言與地區性,例如台灣人常使用的「ji32k7au4a83」(「我的密碼」的注音輸入法)就已經被記錄在字典中。
https://marketing.ares.com.tw/newsletter/2020-03-cyber-security/sso-oauth2.0
https://hennge.com/tw/cloud/sso.html
https://www.cyberark.com/zh-hans/resources/blog/%E4%BD%BF%E7%94%A8-sso-%E5%8A%A0%E5%BC%BA%E8%BA%AB%E4%BB%BD%E5%AE%89%E5%85%A8%E7%9A%84%E5%9B%9B%E5%A4%A7%E5%8E%9F%E5%9B%A0
https://aws.amazon.com/tw/what-is/sso/
https://www.cloudflare.com/zh-tw/learning/access-management/what-is-identity-and-access-management/
https://www.cloudflare.com/zh-tw/learning/access-management/what-is-saml/
https://www.ibm.com/cn-zh/topics/single-sign-on
https://hackmd.io/@yosame/cas-server
https://it.ccu.edu.tw
*此報導與ChatGPT協作*