五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

軟件測試 |HTTPS的通信加解密過程,證書為什么更安全?

2023-06-18 15:26 作者:測吧測試開發(fā)  | 我要投稿

對稱加密和非對稱加密

  • 對稱加密:加密和解密用的是同樣的密鑰。

  • 非對稱加密:加密和解密使用不同的密鑰。使用一對密鑰,公鑰(public key)是每個人都能拿到公開的,私鑰(private key)只有自己知道。

數(shù)字證書

數(shù)字證書是一種網(wǎng)絡(luò)上證明持有者身份的文件,同時還包含有公鑰。數(shù)字證書在 SSL/TLS 傳輸過程中扮演身份認(rèn)證和密鑰分發(fā)的功能。

服務(wù)端將公鑰發(fā)給數(shù)字證書認(rèn)證機構(gòu)進行安全認(rèn)證并對公鑰進行數(shù)字簽名,完成后公鑰和簽名組合成數(shù)字證書。在和客戶端通信時,服務(wù)端將數(shù)字證書發(fā)給客戶端,客戶端通過第三方安全認(rèn)證機構(gòu)發(fā)布的公鑰(一般會在瀏覽器開發(fā)時,內(nèi)置在瀏覽器中)對數(shù)字證書上的簽名進行驗證,假如驗證通過,則能證明該服務(wù)器的公鑰的機構(gòu)是真實有效的數(shù)字證書認(rèn)證機構(gòu),該服務(wù)器發(fā)過來的公鑰是值得信賴的。

數(shù)字證書包括了加密后服務(wù)器的公鑰、權(quán)威機構(gòu)的信息、服務(wù)器域名,還有經(jīng)過 CA 私鑰簽名之后的證書內(nèi)容(經(jīng)過先通過Hash函數(shù)計算得到證書數(shù)字摘要,然后用權(quán)威機構(gòu)私鑰加密數(shù)字摘要得到數(shù)字簽名),簽名計算方法以及證書對應(yīng)的域名。

HTTPS 協(xié)議的加解密過程

HTTPS 使用了混合加密的方式,也就是結(jié)合非對稱加密和對稱加密技術(shù)。

客戶端使用對稱加密生成密鑰對傳輸數(shù)據(jù)進行加密,然后使用非對稱加密的公鑰再對秘鑰進行加密,所以網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)是被秘鑰加密的密文和用公鑰加密后的秘密秘鑰,因此即使被黑客截取,由于沒有私鑰,無法獲取到加密明文的秘鑰,便無法獲取到明文數(shù)據(jù)。

  • ClientHello:首先客戶端發(fā)起 HTTPS 請求,然后連接到服務(wù)端的 443 端口??蛻舳藭?SSL/TLS 版本、客戶端的隨機數(shù)、加密組件(cipher suites)列表、支持的壓縮方法等等都一起傳給服務(wù)端。

  • ServerHello:服務(wù)端表示收到信息,并且會根據(jù) ClientHello 選擇好 SSL/TLS 版本和加密組件,并且把選擇好的版本組件以及服務(wù)端的隨機數(shù)發(fā)送給客戶端。

  • Certificate:接下來服務(wù)端會把包含公鑰的數(shù)字證書也發(fā)送給客戶端。采用 HTTPS 協(xié)議的服務(wù)器必須要有一套數(shù)字證書,可以自己制作,也可以向 CA 組織申請。區(qū)別就是自己頒發(fā)的證書需要客戶端驗證通過,才可以繼續(xù)訪問,而使用受信任的公司申請的證書則不會彈出提示頁面。數(shù)字證書包括了括了加密后服務(wù)器的公鑰、權(quán)威機構(gòu)的信息、服務(wù)器域名,還有經(jīng)過CA私鑰簽名之后的證書內(nèi)容,簽名計算方法以及證書對應(yīng)的域名等信息。

  • ServerHelloDone:通知客戶端,最初階段的握手協(xié)商完成了。

  • 驗證數(shù)字證書:客戶端的 SSL/TLS 來完成數(shù)字證書驗證,首先會驗證公鑰是否有效,比如頒發(fā)機構(gòu),過期時間等等,如果發(fā)現(xiàn)異常,則會彈出一個警告框,提示證書存在問題。如果證書沒有問題,那么就生成一個隨機值 pre_master。

  • ClientKeyExchange:通過客戶端隨機數(shù)、服務(wù)端隨機數(shù)和剛生成的 pre_master 生成會話密鑰,這個會話密鑰是對稱加密密鑰。只要安全發(fā)送給服務(wù)端,后面就可以使用這個會話密鑰加密信息、解密信息了。要安全的發(fā)送這個會話密鑰,需要使用服務(wù)端發(fā)送過來的公開密鑰把它加密一下。

  • ChangeCipherSpec:把加密過的會話密鑰發(fā)送給服務(wù)端

  • Finished:告訴服務(wù)后,后面發(fā)送的信息都會使用會話密鑰加密了。如果驗證失敗,這次握手就失敗了,關(guān)閉。

  • 服務(wù)端驗證會話密鑰:服務(wù)端用私鑰解密后,得到了客戶端傳過來的會話密鑰。

  • ChangeCipherSpec:告訴客戶端,會話密鑰已經(jīng)收到,從現(xiàn)在起所有我發(fā)的信息都會使用會話密鑰盡心加密了!

  • Finished:我的信息發(fā)送完畢了。


軟件測試 |HTTPS的通信加解密過程,證書為什么更安全?的評論 (共 條)

分享到微博請遵守國家法律
广水市| 区。| 威信县| 宽甸| 阿克陶县| 理塘县| 保山市| 阿巴嘎旗| 德清县| 新兴县| 南和县| 东港市| 萨迦县| 二连浩特市| 北海市| 商丘市| 安远县| 依安县| 炎陵县| 古丈县| 乐业县| 江山市| 白城市| 迁西县| 天气| 阜康市| 江川县| 江华| 横山县| 新泰市| 元谋县| 瓮安县| 榆社县| 天峻县| 水富县| 兴国县| 新竹县| 邵阳市| 久治县| 增城市| 固阳县|