1. 程式人生 > >關於https和數字證書

關於https和數字證書

一,什麼是HTTPS

HTTPS是在HTTP和TCP網路層之間新增了一層SSL層(TLS的主要目標是使SSL更安全,並使協議的規範更精確和完善)

HTTPS協議的主要作用可以分為兩種,一種是建立一個資訊保安通道,來保證資料傳輸的安全;另一種就是確認網路的真實性

二,數字證書的原理

1,數字簽發認證機構(CA)

也稱為電子商務認證中心、電子商務認證授權機構,是負責發放和管理數字證書的權威機構,並作為電子商務交易中受信任的第三方,承擔公鑰體系中公約的合法性檢驗的責任。

2,普通數字證書籤發的流程

首先用RSA產生一對公私鑰,私鑰自己好好儲存好,把公鑰貼上到證書籤發機構網站,同時填入有效期,域名等訊息。CA會加上頒發者等資訊,這個整體叫作A。使用某著名hash演算法對整體內容hash得到B,使用自己的私鑰對這些資訊進行一次簽名得到C。然後將A,C連成一個檔案,這個檔案就是所謂的數字證書了。所以數字證書裡,包括證書持有者的身份資訊,證書持有人的公鑰,以及簽名信息。

3,數字證書的自簽發流程(使用CA機構為自己生成證書)

這裡和普通證書的唯一區別是,用自己的私鑰對自己的公鑰簽發證書,且頒佈者是自己。

4,https利用數字證書來保證傳輸的可靠性

① 當client向server傳送請求時,server返回自身的證書(裡面包括server的公鑰),client利用CA的證書(公鑰)解碼server的證書中的簽名(C),得到上文中的B1。同時對server證書中的A通過相同的hash演算法加密,得到B2,如果B1等於B2則證明server的證書真實有效且可信任。

② client產生一個隨機字串用於後面的對稱加密,用server的公鑰對這個字串加密傳送給server,server用自己的私鑰解密後儲存

③ 然後雙方的通訊採用這個字串對稱加密通訊

image