數字證書了解

2022-03-02 06:38:08 字數 1984 閱讀 9911

公鑰密碼體制(public-key cryptography):

加密:只能用加密演算法和公鑰進行加密,公鑰及加密解密演算法公開;

解密:只能用解密演算法和私鑰進行解密,私鑰保密;

對稱加密演算法(symmetric key algorithms)

加密:金鑰和加密演算法,金鑰保密

解密:相同的金鑰和解密演算法,金鑰保密

非對稱加密演算法(asymmetric key algorithms)

加密:金鑰和加密演算法

解密:不同的金鑰和解密演算法

上文中的1屬於非對稱加密

rsa是一種公鑰密碼體制

加密:用公鑰或者私鑰與加密演算法進行運算加密

解密:只能用私鑰或者只能用公鑰與解密演算法運算進行解密

簽名:在傳輸資訊後加一段內容,用來證明資訊未被修改過。方法:對資訊做乙個hash計算得到乙個hash值,這個過程是不可逆的,也就是說無法通過hash值得出原來的資訊內容。把這個hash值加密後做為乙個簽名和資訊一起發出去。 接收方在收到資訊後,會重新計算資訊的hash值,並和資訊所附帶的hash值(解密後)進行對比,如果一致,就說明資訊的內容沒有被修改過,因為這裡hash計算可以保證不同的內容一定會得到不同的hash值。

rsa加密與對稱加密搭配使用,保證通訊安全。rsa私鑰在伺服器,rsa公鑰在客戶端。雙方確定對方身份後,由客戶端用rsa加密傳送對稱加密金鑰給伺服器(因為私鑰只有伺服器有,公鑰所有客戶都有),之後用對稱加密進行通訊。

數字證書:可以保證數字證書裡的公鑰確實是這個證書的所有者(subject)的,或者證書可以用來確認對方的身份。數字證書包含:證書的發布機構,證書的有效期,公鑰,證書持有者(subject),簽名所使用的演算法,指紋以及指紋演算法。

在上文6中通訊之前,伺服器傳送數字證書給客戶表明自己是伺服器身份。客戶驗證證書是沒有問題之後,傳送乙個隨即字串給伺服器,伺服器將隨即字串用私鑰加密後傳送給客戶,客戶用證書中的公鑰進行解密,能解密結果與傳送的隨即字串一致,則再次確認對方是伺服器。

證書構成:

-. issuer (證書的發布機構)

-. valid from , valid to (證書的有效期)

-. public key (公鑰)、subject (主題,證書持有者)

-. signature algorithm (簽名所使用的演算法,就是指的這個數字證書的數字簽名所使用的加密演算法,這樣就可以使用證書發布機構的證書裡面的公鑰,根據這個演算法對指紋進行解密。指紋的加密結果就是數字簽名)

-. thumbprint, thumbprint algorithm (指紋以及指紋演算法,這個是用來保證證書的完整性的,也就是說確保證書沒有被修改過。 其原理就是在發布證書時,發布者根據指紋演算法(乙個hash演算法)計算整個證書的hash值(指紋)並和證書放在一起,使用者在開啟證書時,自己也根據指紋演算法計算一下證書的hash值(指紋),如果和剛開始的值對得上,就說明證書沒有被修改過,因為證書的內容被修改後,根據證書的內容計算的出的hash值(指紋)是會變化的。 注意,這個指紋會使用"securetrust ca"這個證書機構的私鑰用簽名演算法(signature algorithm)加密後和證書放在一起。)

證書中指紋的解密:為了保證安全,在證書的發布機構發布證書時,證書的指紋和指紋演算法,都會加密後再和證書放到一起發布,以防有人修改指紋後偽造相應的數字證書。這裡問題又來了,證書的指紋和指紋演算法用什麼加密呢?他們是用證書發布機構的私鑰進行加密的。可以用證書發布機構的公鑰對指紋和指紋演算法解密,也就是說證書發布機構除了給別人發布證書外,他自己本身也有自己的證書。證書發布機構的證書是**來的呢???這個證書發布機構的數字證書(一般由他自己生成)在我們的作業系統剛安裝好時(例如windows xp等作業系統),這些證書發布機構的數字證書就已經被微軟(或者其它作業系統的開發機構)安裝在作業系統中了,微軟等公司會根據一些權威安全機構的評估選取一些信譽很好並且通過一定的安全認證的證書發布機構,把這些證書發布機構的證書預設就安裝在作業系統裡面了,並且設定為作業系統信任的數字證書。這些證書發布機構自己持有與他自己的數字證書對應的私鑰,他會用這個私鑰加密所有他發布的證書的指紋作為數字簽名。

參考這裡

數字證書 基礎了解篇

什麼是數字證書?是由證書簽證機關 ca 簽發的對使用者的公鑰的認證。因此,證書的內容應包括ca的資訊 使用者資訊 使用者公鑰及ca簽發時間及有效期等內容。目前國際上對證書的格式及認證方法遵從x.509體系標準。數字證書實際上是乙份電子文件 數字證書是一段包含使用者身份資訊 使用者公鑰資訊以及身份驗證...

SSL,HTTPS,數字證書

ssl https secure hypertext transfer protocol 安全超文字傳輸協議 它是由netscape開發並內置於其瀏覽器中,用於對資料進行壓縮和解壓操作,並返回網路上傳送回的結果。https實際上應用了netscape的完全套接字層 ssl 作為http應用層的子層。...

SSL 數字證書

secure 可靠的.安全的 socket 座 layer 層 ssl 協議 ssl 是乙個安全協議,它提供使用 tcp ip 的通訊應用程式間的隱私與完整性。網際網路的 超文字傳輸協議 http 使用 ssl 來實現安全的通訊。由於ssl技術已建立到所有主要的瀏覽器和web伺服器程式中,因此,伺服...