【參考文章】:數字簽名是什麼?
【參考文章】:對稱加密、非對稱加密、摘要、數字簽名、數字證書
1.加密方式
1.對稱加密
對消息進行加密和解密使用的同一個秘鑰
常見的有AES、DES加密算法
優點:加密速度快
缺點:安全性不高
問題:秘鑰被截獲後,通信的所有資訊都将被竊取。
2.非對稱加密
包括一個公鑰和私鑰,總是成對出現。公鑰加密的消息可以用私鑰解密,私鑰加密的消息可以用公鑰解密。
常見的有RSA加密算法
優點:安全性較高
缺點:加密速度慢
問題:可以防止消息被竊取,不能防止僞造消息。使用公鑰加密消息後,黑客可以截獲消息,然後僞造消息,用公鑰進行加密,把僞造的消息發送給接收方。
私鑰不被竊取,消息就是安全的
3.兩者結合
通信之前,雙方使用非對稱加密方式傳輸對稱加密算法,然後使用堆成加密算法進行加密通信
2.消息的完整性
2.1摘要
通過摘要算法對一段資訊進行加密得到一串字元串,一般通過摘要判斷資訊是否被篡改過。
常用的有MD5、SHA算法
2.2.數字簽名
數字簽名就是對摘要進行加密後的資訊。
一般将資訊和數字簽名一起發送。接收方通過對資訊計算出摘要,然後用公鑰解密數字簽名得到發送方計算的摘要,通過比對兩個摘要資訊就可以确定資訊是否有被篡改。
問題:不能防止僞造的公鑰。發送公鑰時被截獲後,黑客将自己的公鑰發送給接收方,然後僞裝為對端身份進行通信
3.數字證書
由證書的權威機構(CA)用自己的私鑰對使用者公鑰及相關資訊(公鑰、擁有者、有效期、證書編号等)進行加密,得到一個數字證書(包含一個CA的數字簽名),然後接收方持有權威機構的公鑰。
發送消息時将數字簽名和數字證書一同發送接收方,然後接收方使用權威機構的公鑰解密數字證書,得到發送方的公鑰及相關資訊,就可以确認這個公鑰是不是發送方的公鑰
通過數字證書中的CA簽名,判斷數字證書的内容有沒有内篡改過
然後再用解密的公鑰對消息進行解密,然後再對消息計算摘要;然後把數字簽名用公鑰解密數字簽名得到發送方的摘要,對比摘要就可以确認消息是否被篡改。
數字證書在發送的過程中也可能被截獲,如何保證資料安全呢?
SSL認證時會用戶端随機生成一個字元串,然後用公鑰加密發送給服務端,服務端用私鑰解密,再把該字元串發送給用戶端,此時用戶端通過比對随機字元串即可确定服務端是不是整正的伺服器
如果文章對您有所幫助,可以點一下推薦哦