數字簽名 數字證書

2021-09-25 20:04:30 字數 1843 閱讀 9100

一、數字簽名

1.1、為什麼需要數字簽名?

由於網路環境的複雜性,我們無法保證通訊的雙方是真是的,而且內容是完整的、沒被修改過的,因此才需要數字簽名。數字簽名類似於現實生活中的簽名,有以下兩種功能:(1)確認通訊雙方的真實身份,別人假冒不了;(2)能確認訊息的完整性。

它是基於非對稱加密演算法。

1.2、數字簽名的流程

假如a和b進行通訊。開始時a有兩把鑰匙:自己的公鑰和私鑰。a把自己的公鑰公布出來,每個人都能看到。同理,b也如此。

1.2.1、b向a傳送資訊

b向a傳送時,需要注意兩點:

(1)需要讓a知道確實是b自己傳送的,而不是其他人偽造的。這就叫做數字簽名。過程如下:

①由於只是驗證身份,所以不需要像一片文件一樣那麼多內容,所以需要先針對文件生成一段短的字串,一般用hash函式,生成乙個32位的字串,這叫做摘要;

②b用自己的私鑰對摘要進行加密,得到摘要的密文,即:數字簽名。因為b要驗證自己的身份,所以必須要加密,而且只能用自己的私鑰進行加密,而不是對方a的。

(2)對傳送的文件進行加密。b就用a的公鑰對文件進行加密,得到密文。

最後,b將簽名密文+文件密文一起傳送給a。

1.2.2、a解密密文+身份認證

a在得到簽名、文件後,需要進行解密、身份認證的操作,a進行如下過程:

(1)a用自己的私鑰對文件密文進行解密,得到文件的明文;

(2)a用b的公鑰對簽名密文進行解密,得到簽名的明文(即:摘要),證明了確實是由b發過來的;

(3)a對文件的內容,使用相同hash函式,得到摘要,與(2)中的摘要進行對比,即可得知文件的內容有沒有被修改過,證明了文件的完整性。

數字簽名和數字加密的過程都是使用公開金鑰體系,但實現的過程正好相反,使用的金鑰對也不同。

數字簽名:使用的是傳送方的金鑰對,傳送方用自己的私鑰進行加密,接收方用傳送方的公鑰進行解密;這是乙個一對多的關係,任何擁有傳送方公鑰的人都可以驗證數字簽名的正確性;

數字加密:使用的是接收方的金鑰對,這是多對一的關係,任何知道接收方公開金鑰的人都可以向接收方傳送加密資訊,只有唯一擁有接收方私鑰的人才可能對資訊解密;

另外:數字簽名只採用了非對稱金鑰加密演算法,它能保證傳送資訊的完整性、身份認證和不可否認性;   

數字加密採用了對稱金鑰加密演算法和非對稱金鑰加密演算法形結合的方法,它能保證傳送資訊的保密性。

二、數字證書

以上從數字簽名的過程可以看出,它可以保證通訊雙方身份的正確性,但有可能出現這樣一種情況。由於數字簽名是由公鑰、a傳送給b的簽名這兩部分構成的,假如這兩部分都被別人替換掉,該怎麼辦?比如:b儲存的a的公鑰被黑客c替換成c自己的了,那麼c就可以假冒a和b進行通訊了。這時候就需要數字證書了。

數字證書是由權威的認證機構頒發的證書:證書認證中心(certificate authority,簡稱ca),他保證了自己所頒發給**a的公鑰的正確性。數字證書的內容包括該證書的頒發機構、證書的擁有者、證書的有效期、公鑰等,這些內容是由證書認證中心用自己的私鑰加密得到的,通過證書認證中心自己公開的公鑰即可認證**a的身份。證書認證中心的證書是由更高一級的證書認證中心授權的,以此類推,直到根證書認證中心,我們假設根證書認證中心是可信的,因為沒有辦法認證根證書認證中心的身份的正確性。

如果數字證書記載的**,與你正在瀏覽的**不一致,就說明這張證書可能被冒用,瀏覽器會發出如下警告。

如果這張數字證書不是由受信任的機構頒發的,瀏覽器會發出另一種警告。如下圖。

數字簽名,數字證書

數字簽名 將 報文按雙方約定的hash 演算法計算得到乙個固定位數的 報文摘要。在 數學上保證 只要改動報文中任何一位,重新計算出的 報文摘要值就會與原先的值不相符。這樣就保證了報文的不可更改性。將該報文摘要值用傳送者的私人 金鑰加密 然後連同原報文一起傳送給接收者,而產生的報文即稱 數字簽名 數字...

數字簽名 數字證書 https

對稱加密和非對稱加密 對稱加密 加密和解密的金鑰是一樣的 缺點就是容易被中間人破解 非對稱加密 公鑰是所有人都可以認領 私鑰是保密的 只有乙個人知道 例如a給b傳送郵件 a用的b的公鑰 只有b的私鑰可以解密a的公鑰的內容 b的私鑰的唯一性 保證了信件不會被洩露 但是如果黑客冒充a給b傳送郵件 b是不...

金鑰 數字簽名 數字證書

公鑰和私鑰是非對稱密碼學中的概念。他們的特點是用公鑰加密的密文只能用私鑰解密,用私鑰加密的密文只能用公鑰解密。在通訊過程中,私鑰由伺服器持有,不可外洩,公鑰則通過http傳送給客戶端。伺服器傳送經過私鑰加密的密文給客戶端,客戶端可以通過公鑰解開密文 客戶端傳送經過公鑰加密的密文給伺服器,伺服器通過私...