微服務通用安全性實現技術包括以下這些:
單向散列加密技術:單向散列加密算法常用于生成消息摘要(Message Digest),其主要特點在于單向不可逆和密文長度固定,同時也具備“碰撞”少的優點,即明文的微小差異就會導致所生成密文完全不同。同時可以通過加鹽(Salt)的方式進一步提高破解的難度。所謂加鹽,就是在初始化明文數據時,由系統自動往這個明文里添加一些附加數據再散列。當使用該數據時,系統為用戶提供的代碼撒上同樣的“鹽”,然后散列并再比較散列值以判斷明文是否正確。這個“鹽”值是由系統隨機生成的,并且只有系統知道。這樣即便在兩個不同場景下使用了同樣的明文,由于系統每次生成的鹽值不同,它們的散列值也不同。常見的單向散列加密算法實現包括MD5和SHA。
對稱加密技術:對稱加密(Symmetric Encryption)中加密和解密采用統一算法,密鑰對稱。使用對稱密鑰的優點在于簡單、高效、長秘鑰難破解,但需要確保密鑰交換過程的安全性。DES 和AES算法是目前對稱加密的主要實現方式。
非對稱加密技術:區別于對稱加密在加密和解密時使用同一密鑰,非對稱加密(Asymmetric Encryption)需要兩個密鑰來進行加密和解密,這兩個密鑰分別稱為公鑰(Public Key)和私鑰(Private Key)。首先乙方生成一對密鑰(公鑰和私鑰),并將公鑰向甲方公開,得到該公鑰的甲方使用該公鑰對機密信息進行加密后發送給乙方,乙方再用自己保存的私鑰對加密后的信息進行解密。在傳輸過程中,即使攻擊者截獲了傳輸的密文,并得到了乙的公鑰,也無法破解密文,因為只有乙的私鑰才能解密密文。同樣,如果乙要回復加密信息給甲,那么需要甲先公布自己的公鑰給乙用于加密,甲自己保存乙的私鑰用于解密,甲乙之間使用非對稱加密的方式完成敏感信息的安全傳輸。顯然非對稱加密在算法實現和密鑰管理上比較復雜,目前典型的實現有RSA算法。
摘要認證技術:摘要認證中,摘要的對象是客戶端參數和服務器端響應,即在請求-應答式交互過程中,需要站在發生交互的客戶端和服務器端分別判斷對方是否合法。摘要認證的過程也比較簡單,即通過MD5或SHA算法結合加鹽機制進行摘要的生成和比對以判斷信息是否被篡改。整個認證就是一個客戶端參數摘要生成→服務器端參數摘要驗證→服務器端響應摘要生成→客戶端響應摘要驗證的閉環交互過程。這里需要考慮如何保證客戶端和服務器端使用同一個Salt,服務器端可以在認證之前通過某種方式把Salt發給需要接入的客戶端。
簽名認證技術:摘要認證的主要問題就是如何防止Salt泄露,而簽名認證則不使用Salt,基本思路是使用非對稱加密算法加密數字摘要,是混合算法的一種具體應用。同摘要認證一樣,簽名認證也通過客戶端參數簽名生成→服務端參數簽名驗證→服務端響應簽名生成→客戶端響應簽名驗證完成閉環。摘要認證中通常使用MD5with RSA和SHA1with RSA等算法組合。
回答所涉及的環境:聯想天逸510S、Windows 10。
微服務通用安全性實現技術包括以下這些:
單向散列加密技術:單向散列加密算法常用于生成消息摘要(Message Digest),其主要特點在于單向不可逆和密文長度固定,同時也具備“碰撞”少的優點,即明文的微小差異就會導致所生成密文完全不同。同時可以通過加鹽(Salt)的方式進一步提高破解的難度。所謂加鹽,就是在初始化明文數據時,由系統自動往這個明文里添加一些附加數據再散列。當使用該數據時,系統為用戶提供的代碼撒上同樣的“鹽”,然后散列并再比較散列值以判斷明文是否正確。這個“鹽”值是由系統隨機生成的,并且只有系統知道。這樣即便在兩個不同場景下使用了同樣的明文,由于系統每次生成的鹽值不同,它們的散列值也不同。常見的單向散列加密算法實現包括MD5和SHA。
對稱加密技術:對稱加密(Symmetric Encryption)中加密和解密采用統一算法,密鑰對稱。使用對稱密鑰的優點在于簡單、高效、長秘鑰難破解,但需要確保密鑰交換過程的安全性。DES 和AES算法是目前對稱加密的主要實現方式。
非對稱加密技術:區別于對稱加密在加密和解密時使用同一密鑰,非對稱加密(Asymmetric Encryption)需要兩個密鑰來進行加密和解密,這兩個密鑰分別稱為公鑰(Public Key)和私鑰(Private Key)。首先乙方生成一對密鑰(公鑰和私鑰),并將公鑰向甲方公開,得到該公鑰的甲方使用該公鑰對機密信息進行加密后發送給乙方,乙方再用自己保存的私鑰對加密后的信息進行解密。在傳輸過程中,即使攻擊者截獲了傳輸的密文,并得到了乙的公鑰,也無法破解密文,因為只有乙的私鑰才能解密密文。同樣,如果乙要回復加密信息給甲,那么需要甲先公布自己的公鑰給乙用于加密,甲自己保存乙的私鑰用于解密,甲乙之間使用非對稱加密的方式完成敏感信息的安全傳輸。顯然非對稱加密在算法實現和密鑰管理上比較復雜,目前典型的實現有RSA算法。
摘要認證技術:摘要認證中,摘要的對象是客戶端參數和服務器端響應,即在請求-應答式交互過程中,需要站在發生交互的客戶端和服務器端分別判斷對方是否合法。摘要認證的過程也比較簡單,即通過MD5或SHA算法結合加鹽機制進行摘要的生成和比對以判斷信息是否被篡改。整個認證就是一個客戶端參數摘要生成→服務器端參數摘要驗證→服務器端響應摘要生成→客戶端響應摘要驗證的閉環交互過程。這里需要考慮如何保證客戶端和服務器端使用同一個Salt,服務器端可以在認證之前通過某種方式把Salt發給需要接入的客戶端。
簽名認證技術:摘要認證的主要問題就是如何防止Salt泄露,而簽名認證則不使用Salt,基本思路是使用非對稱加密算法加密數字摘要,是混合算法的一種具體應用。同摘要認證一樣,簽名認證也通過客戶端參數簽名生成→服務端參數簽名驗證→服務端響應簽名生成→客戶端響應簽名驗證完成閉環。摘要認證中通常使用MD5with RSA和SHA1with RSA等算法組合。
回答所涉及的環境:聯想天逸510S、Windows 10。