https原理簡(jiǎn)介

簡(jiǎn)述:

以下內(nèi)容忽略非常多細(xì)節(jié),僅個(gè)人抽象理解,請(qǐng)理性閱讀。

https是一種安全的協(xié)議。怎么才算安全?

  1. 通信內(nèi)容加密
  2. 確認(rèn)通信雙方的身份

原理介紹:

? https采用對(duì)稱加密來加密通信的內(nèi)容,比如密鑰A,通信雙方都持有A就能用來加密解密。

? 提出問題:密鑰A如何傳輸?

? 密鑰肯定不能明文傳輸,這里就要用到RSA非對(duì)稱加密。RSA有一對(duì)鑰匙,一個(gè)是私鑰,一個(gè)是公鑰,私鑰自己保密,公鑰是可以公開的。用私鑰加密的數(shù)據(jù),只有對(duì)應(yīng)的公鑰才能解密,用公鑰加密的數(shù)據(jù), 只有對(duì)應(yīng)的私鑰才能解密。

? RSA的問題是效率慢,沒有對(duì)稱加密高效。解決的辦法是分兩步,(1) 我生成一個(gè)對(duì)稱加密算法的密鑰, 用RSA的方式安全發(fā)給你, (2) 我們隨后就不用RSA了, 只用這個(gè)密鑰,利用對(duì)稱加密算法來通信。

? RSA+對(duì)稱加密解決了通信內(nèi)容加密的問題,但是無法解決另一個(gè)問題,確認(rèn)通信雙方的身份。舉個(gè)例子,如果有個(gè)中間人,分別截取通信雙方的公鑰,再分別把自己的公鑰給雙方,那就gg了,因?yàn)槟闶盏降墓€,你怎么能確定這個(gè)公鑰就是對(duì)方的?

? 解決方案就是數(shù)字證書。

  1. ? 當(dāng)客戶端首次發(fā)送https請(qǐng)求時(shí),服務(wù)器會(huì)生成數(shù)字證書返回給客戶端。為了防止數(shù)字證書被篡改,會(huì)有特殊的證書生成步驟:
    1. 把服務(wù)器信息和非對(duì)稱的公鑰一起通過hash生成消息摘要,因?yàn)橹灰獌?nèi)容被篡改一點(diǎn)點(diǎn),消息摘要就會(huì)產(chǎn)生巨大變化
    2. 服務(wù)器用CA的私鑰對(duì)hash進(jìn)行加密,生成數(shù)字簽名。CA可以理解成第三方公信中心
    3. 把數(shù)字簽名和(服務(wù)器信息和非對(duì)稱的公鑰)組合在一起形成數(shù)字證書,發(fā)給客戶端
    4. 客戶端使用同樣的hash算法對(duì)(服務(wù)器信息和非對(duì)稱的公鑰)生成消息摘要
    5. 客戶端使用內(nèi)置的CA公鑰(例如瀏覽器內(nèi)置的)對(duì)數(shù)字簽名進(jìn)行解密出消息摘要
    6. 客戶端對(duì)比兩個(gè)消息摘要是否相同,相同,則說明非對(duì)稱公鑰是正確的
    7. 至此,客戶端獲得了正確的RSA公鑰,就可以把正確的對(duì)稱加密密鑰發(fā)給服務(wù)器。雙方就可以愉快加密通信了
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 專題一,主要介紹HTTPS建立安全鏈接的原理,包括非對(duì)稱加密、對(duì)稱加密、CA認(rèn)證等知識(shí),還包括對(duì)一些業(yè)界常用算法的...
    有何不可12317閱讀 363評(píng)論 0 0
  • 數(shù)字證書原理 - 無恙 - 博客園 文中首先解釋了加密解密的一些基礎(chǔ)知識(shí)和概念,然后通過一個(gè)加密通信過程的例子說明...
    拉肚閱讀 1,778評(píng)論 0 3
  • 前言 文中首先解釋加密解密的一些基礎(chǔ)知識(shí)和概念,然后通過一個(gè)加密通信過程的例子說明了加密算法的作用,以及數(shù)字證書的...
    sunny沖哥閱讀 3,204評(píng)論 0 2
  • 文中首先解釋了加密解密的一些基礎(chǔ)知識(shí)和概念,然后通過一個(gè)加密通信過程的例子說明了加密算法的作用,以及數(shù)字證書的出現(xiàn)...
    已認(rèn)證用戶閱讀 3,991評(píng)論 1 4
  • 文中首先解釋了加密解密的一些基礎(chǔ)知識(shí)和概念,然后通過一個(gè)加密通信過程的例子說明了加密算法的作用,以及數(shù)字證書的出現(xiàn)...
    sunny沖哥閱讀 1,522評(píng)論 0 3

友情鏈接更多精彩內(nèi)容