基礎概念
SSO 單點登錄(Single sign-on)是在多個應用系統(tǒng)中孟害,用戶只需要登錄一次就可以訪問所有相互信任的應用系統(tǒng)晦墙。(來自百度百科)
CAS 中央認證服務(Central Authentication Service)
CAS是一種針對Web的企業(yè)多語言單點登錄解決方案,并試圖成為您的認證和授權(quán)需求的綜合平臺歧斟。(https://github.com/apereo/cas)
CAS是一個企業(yè)級的開放源代碼單點登錄解決方案纯丸,包含Java服務器組件和各種用PHP,PL / SQL构捡,Java等多種語言編寫的客戶端庫液南。(https://wiki.jasig.org/display/CASUM/Introduction)
Kerberos 是一種計算機網(wǎng)絡 認證協(xié)議。(來自wiki)
OpenID 是一種開放標準和分散的認證協(xié)議勾徽。
OAuth 是一種訪問授權(quán)的開放標準滑凉。
SAML 安全斷言標記語言(Security Assertion Markup Language) 是一種開放標準,用于在認證和授權(quán)數(shù)據(jù)之間交換身份驗證和授權(quán)數(shù)據(jù)
LDAP 輕量級目錄訪問協(xié)議(Lightweight Directory Access Protocol )
CAS 協(xié)議
https://apereo.github.io/cas/5.1.x/protocol/CAS-Protocol.html
http://www.coin163.com/java/cas/cas.html
Kerberos協(xié)議
TODO 后續(xù)補充
http://gost.isi.edu/publications/kerberos-neuman-tso.html
http://blog.csdn.net/wulantian/article/details/42418231
OAuth 2.0的運行流程
OAuth 2.0的運行流程如下圖喘帚,摘自RFC 6749畅姊。
(A)用戶打開客戶端以后,客戶端要求用戶給予授權(quán)吹由。
(B)用戶同意給予客戶端授權(quán)若未。
(C)客戶端使用上一步獲得的授權(quán),向認證服務器申請令牌倾鲫。
(D)認證服務器對客戶端進行認證以后粗合,確認無誤,同意發(fā)放令牌乌昔。
(E)客戶端使用令牌隙疚,向資源服務器申請獲取資源。
(F)資源服務器確認令牌無誤磕道,同意向客戶端開放資源供屉。
授權(quán)碼模式
(A)用戶訪問客戶端,后者將前者導向認證服務器溺蕉。
(B)用戶選擇是否給予客戶端授權(quán)伶丐。
(C)假設用戶給予授權(quán),認證服務器將用戶導向客戶端事先指定的"重定向URI"(redirection URI)疯特,同時附上一個授權(quán)碼哗魂。
(D)客戶端收到授權(quán)碼,附上早先的"重定向URI"漓雅,向認證服務器申請令牌啡彬。這一步是在客戶端的后臺的服務器上完成的羹与,對用戶不可見。
(E)認證服務器核對了授權(quán)碼和重定向URI庶灿,確認無誤后纵搁,向客戶端發(fā)送訪問令牌(access token)和更新令牌(refresh token)。
https://oauth.net/2/
http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
關(guān)鍵技術(shù)
對稱加密 DES AES
非對稱加密 RSA
散列算法 MD5 SHA/SHA-1
數(shù)據(jù)簽名
數(shù)據(jù)證書
HTTPS/SSL
Spring Security
其他相關(guān)
多因素認證