關於https和數字證書
阿新 • • 發佈:2018-12-10
一,什麼是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用自己的私鑰解密後儲存
③ 然後雙方的通訊採用這個字串對稱加密通訊