Leo Yeh's Blog

SAS 系統管理 (26)

教學目標

初步了解 SAS 商業智慧與分析平台安全連線的重點概念。

重點概念

當我們想要在不安全的網路中保護傳輸的資料時,主要會使用 SSL 安全通訊協定應用至 HTTP 通訊協定上,也就是 HTTPS 安全通訊協定。SAS 9.4 部署流程包括元件的 SSL 設定選項,但是重點在於了解 SSL 安全通訊協定是以公開金鑰加密 (Public Key Cryptography,PKC) 為基礎的技術再透過 X.509 憑證進行實作。在現今電子商務網站皆採用 HTTPS 安全通訊協定,其中 SSL 安全通訊協定運作流程主要有兩個階段,第一個階段是以公開金鑰加密為基礎在客戶端與伺服器進行 Handshake 溝通,其中主要是透過傳統的對稱加密演算法進行安全溝通,其中會交換 Session 特定資料產生加密 Session 金鑰,並且因為 Session 金鑰是在每個 Session 動態產生,待 Session 終止時自動摧毀,所以客戶端和伺服器將會互相同意使用相同的加密演算法。第二階段則是針對每個 Session 使用對稱加密演算法動態產生 Session 金鑰。然而公開金鑰加密主要則是被使用在第一階段,主要透過公開金鑰和私密金鑰進行非對稱加密,通常公開金鑰加密的內容只能夠對應的私密金鑰進行解密,其中交付公開金鑰的機制為 X.509 憑證。

所謂 X.509 是非常廣泛被使用於 SSL 憑證標準,主要應用在於識別公開金鑰的擁有者,其中主要有三種類型的 SSL 憑證,分別為:

  1. 伺服器憑證
  2. 客戶端憑證
  3. CA 憑證

一般來說,伺服器憑證和客戶端憑證會被 CA 進行簽署,所謂簽署是指針對憑證中的資料透過 CA 的私密金鑰進行加密產生單向雜湊碼,之後會透過 CA 憑證中的公開金鑰進行解密和驗證。其中 X.509 憑證中 Subject 欄位主要是被使用於識別擁有者,Issuer 欄位主要是指簽署憑證的 CA 名稱,Subject Public Key Info 欄位主要是包括被使用的公開金鑰演算法和公開金鑰,Signature 欄位主要是訊息簽章,也就是憑證雜湊碼。

對於許多安全敏感的網頁應用程式,像是銀行和電子商務應用程式,單向 SSL 被廣泛使用,當伺服器傳送憑證給客戶端,接著客戶端透過非對稱加密機制驗證伺服器憑證,並且同意使用對稱加密機制建立 Session 金鑰,此時安全通道就會被建立。然而當進行 Handshake 時,伺服器端會要求客戶端憑證,當客戶端傳送憑證給伺服器,接著伺服器透過非對稱加密機制驗證伺服器憑證,再來會透過客戶端憑證中的 Subject 欄位中包括使用者識別的 LDAP 語法進行使用者驗證,此過程稱為客戶端憑證驗證 (Client Certificate Authentication,CCA),此時 SAS 9.4 若要進行外部網頁使用者驗證的雙向 SSL 則必須透過 Tomcat 進行客制化開發實作。

總結雖然 SAS 9.4 平台可以針對企業和組織的安全政策和需求設定 SSL 安全通訊協定的實作,但是安全機制的設定並非簡單的設定,有時會需要花費更多時間客制化開發實作才能夠完成。

相關資源

⬅️ Go back