名詞解釋
SSL(Secure Socket Layer):安全套接字層
HTTPS(HTTP over SSL)
RSA非對稱加密:
雙方各自生成一對公鑰和私鑰,私鑰自己存放,用來解密,公鑰給對方,用來加密。這樣即使公鑰泄露,數(shù)據(jù)運(yùn)送過程中他人也無法解密。
單純的非對稱加密存在的問題:若送公鑰的人被攔截,中間人重新生成假的公鑰送給對方,對方用假的公鑰加密后,重新發(fā)回時(shí)被攔截后則可中間人用自己的私鑰破譯。
CA
在非對稱加密解決了加密問題后又產(chǎn)生了信任危機(jī),即對方發(fā)來的公鑰是否為真,這就需要電子證書。
CA(Certificate Authority)就是頒發(fā)HTTPS證書的組織,可以防止”中間人“攻擊,同時(shí)可以為網(wǎng)站提供身份證明。
SSL流程
請放大查看圖片

HTTPS流程圖.svg
注意:
HTTPS 在內(nèi)容傳輸?shù)募用苌鲜褂玫氖菍ΨQ加密,非對稱加密只作用在證書驗(yàn)證階段。
為什么數(shù)據(jù)傳輸是用對稱加密的?
- 非對稱加密的加解密效率是非常低的,而 http 的應(yīng)用場景中通常端與端之間存在大量的交互,非對稱加密的效率是無法接受的。
- 在 HTTPS 的場景中只有服務(wù)端保存了私鑰,客戶端不做非對稱密鑰生成,一對公私鑰只能實(shí)現(xiàn)單向的加解密,所以HTTPS 中內(nèi)容傳輸加密采取的是對稱加密,而不是非對稱加密。
感謝您的閱讀,本文已同步到我的個(gè)人博客,您的關(guān)注是對我最大的鼓勵!