古詩詞大全網 - 個性簽名 - 什麽是SAML?

什麽是SAML?

SAML是安全斷言標記語言,英文全稱是安全斷言標記語言。它是壹種基於XML的標準,用於在不同的安全域之間交換身份驗證和授權數據。SAML標準中定義了身份提供者和服務提供者,它們構成了上述不同的安全域。SAML是OASIS安全服務技術委員會的產品。

Saml(安全斷言標記語言)是壹個XML框架,也就是壹組協議,可以用來傳輸安全斷言。比如兩臺遠程機器要通信,為了保證安全,我們可以采取加密等措施,也可以使用SAML來傳輸數據。傳輸的數據是XML的形式,符合SAML規範,所以我們不需要兩機使用什麽樣的系統,只需要了解SAML規範就可以了,這顯然比傳統的方式要好。SAML規範是壹組模式定義。

可以說,在Web服務領域,schema就是規範,在Java領域,API就是規範。

SAML解決的最重要的需求是web瀏覽器單點登錄(SSO)。單點登錄在內部網級別很常見(例如,使用Cookie),但是在內部網之外擴展它壹直是個問題,並且它導致了不可互操作的專有技術的激增。(瀏覽器單點登錄問題的另壹個最新解決方案是OpenID連接協議。)

SAML主要包括三個方面:

1.認證聲明。指示用戶是否已經過身份驗證,通常用於單點登錄。

2.屬性聲明。表示主題的屬性。

3.授權聲明。指示資源的權限。

SAML是指客戶向服務器發送SAML請求,然後服務器返回SAML響應。數據的傳輸以符合SAML規範的XML格式表示。

SAML可以通過SOAP或其他協議傳輸。

因為SAML的規範由幾個部分組成:SAML斷言、SAML Prototol、SAML綁定等等。

因為SAML在兩個有* * *用戶的站點之間建立了信任關系,所以安全性是壹個非常重要的考慮因素。SAML中的安全缺陷可能會危及目標站點用戶的個人信息。SAML依賴於許多成熟的安全標準,包括SSL和X.509,來保護SAML源站點和目標站點之間的通信安全。源站點和目標站點之間的所有通信都是加密的。為了確保參與SAML交互的兩個站點可以驗證彼此的身份,還使用了證書。

在SAML協議中,協議的安全設計非常完備,包括協議中定義的客戶端、SP和IDP的交互流程,SAML中的關鍵交互數據都經過了簽名和密碼加密。

1.簽署SAML數據

為了有效保證SAML交互過程中的數據不被偽造和篡改,它支持對任何SAML數據進行簽名。尤其是重要的SAML身份驗證斷言。

具體來說,本項目采用X.509格式數字證書進行簽名,采用RSA公鑰密碼算法和SHA-256哈希算法,密鑰長度為1024位。

2.2的安全性設計。SAML認證斷言:加密和斷言有效性。

SAML認證斷言包含了大量的用戶賬戶信息,因此有必要對其進行加密。

SAML認證斷言的加密還支持多種對稱加密算法,包括國家秘密算法和AES算法。本項目采用AES算法,密鑰長度為1024位,可以有效保證SAML認證斷言的機密性。

另外,為了防止重放攻擊,在設計中也對認證斷言的有效期進行了限制,認證斷言的有效期是可以配置的,所以建議使用較短的有效期。

首先,妳需要知道壹些基本的服務提供商:

IDP:賬戶認證的服務商,如賽富IDaaS as IDP,主要完成認證。

SP:為用戶提供商業服務的軟件(實體),如禪宗。

瀏覽器:用戶的瀏覽器,用戶可以通過瀏覽器訪問資源並進行相關跳轉,完成身份認證。

“用戶登錄地址”,應用的SAML協議的登錄路徑。

“relayState Address”,應用認證成功後的跳轉地址。

“AssertionConsumerServiceUrl”,其中應用程序接收統壹的身份驗證。

下面簡單介紹壹下使用基於SAML的SSO登錄WebApp1的過程。

這張圖片說明了以下步驟。

用戶試圖訪問WebApp1。

相關文章:什麽是SSO?