(一)HTTP協(xié)議 和 HTTPS協(xié)議的區(qū)別(4點(diǎn)):
?
1. HTTP協(xié)議的端口號(hào)是80, HTTPS協(xié)議的端口號(hào)是443
2. HTTP協(xié)議使用的URL是以 http:// 開頭,HTTPS協(xié)議使用的URL是以https://開頭
3. HTTP協(xié)議和HTTPS協(xié)議最主要的區(qū)別是:
HTTP協(xié)議所生成的HTTP請(qǐng)求報(bào)文被TCP協(xié)議 以明文形式透明傳輸,同時(shí) 客戶端與服務(wù)器之間無法核驗(yàn)對(duì)方的身份(不曉得對(duì)方是真的baidu.com 還是一個(gè)假冒釣魚網(wǎng)站)
HTTPS協(xié)議則是 在 TCP協(xié)議基礎(chǔ)上,又增加了TLS協(xié)議,即, HTTPS 是運(yùn)行在 SSL/TLS 之上的 HTTP 協(xié)議,SSL/TLS 運(yùn)行在 TCP 之上。(具體來說就是:先通過TCP三次握手建立可靠的通信,而后通過TLS4次握手來交換證書、秘鑰等,而后再繼續(xù)通信傳輸數(shù)據(jù))。HTTPS上所有傳輸?shù)膬?nèi)容都經(jīng)過加密,加密采用對(duì)稱加密,但對(duì)稱加密的密鑰 通過 CA證書 進(jìn)行了非對(duì)稱加密傳遞給 客戶端。
總結(jié)來說,HTTP 安全性沒有 HTTPS 高,但是 HTTPS 比 HTTP 耗費(fèi)更多服務(wù)器資源。HTTPS是現(xiàn)行架構(gòu)下最安全的解決方案,雖然不是絕對(duì)安全,但它大幅增加了中間人攻擊的成本。
?
4. 最后一點(diǎn)就是:對(duì)于搜索引擎來說,更偏好HTTPS 協(xié)議下的網(wǎng)站,因?yàn)?HTTPS 能夠提供更高的安全性和用戶隱私保護(hù)。使用 HTTPS 協(xié)議的網(wǎng)站在搜索結(jié)果中可能會(huì)被優(yōu)先顯示,從而對(duì) 搜索引擎的展示結(jié)果排序產(chǎn)生影響。
(@)HTTPS的缺點(diǎn):
雖然HTTPS有很多優(yōu)勢(shì),也是應(yīng)用最廣泛、現(xiàn)行最安全的協(xié)議:
他同樣有缺點(diǎn):
1、HTTPS協(xié)議握手階段比較費(fèi)時(shí),會(huì)使頁面的加載時(shí)間延長近50%,增加10%到20%的耗電;
2、HTTPS連接緩存不如HTTP高效,會(huì)增加數(shù)據(jù)開銷和功耗,甚至已有的安全措施也會(huì)因此而受到影響;
3、SSL證書需要錢,功能越強(qiáng)大的證書費(fèi)用越高,個(gè)人網(wǎng)站、小網(wǎng)站沒有必要一般不會(huì)用。
4、SSL證書通常需要綁定IP,不能在同一IP上綁定多個(gè)域名,IPv4資源不可能支撐這個(gè)消耗。
5、HTTPS協(xié)議的加密范圍也比較有限,在黑客攻擊、拒絕服務(wù)攻擊、服務(wù)器劫持等方面幾乎起不到什么作用。最關(guān)鍵的,SSL證書的信用鏈體系并不安全,特別是在某些國家可以控制CA根證書的情況下,中間人攻擊一樣可行。
【就像我們LVS是4層協(xié)議,因此只轉(zhuǎn)發(fā)請(qǐng)求,但是Nginx是7層負(fù)載均衡協(xié)議,因此,在這一步,需要給虛擬服務(wù)器綁定好證書,方便在進(jìn)行三次握手的時(shí)候】
(二)什么是非對(duì)稱加密,什么是對(duì)稱加密?
1. 非對(duì)稱加密:
需要公鑰和私鑰2個(gè)秘鑰 :在通信時(shí),私鑰僅由解密者保存,公鑰由任何一個(gè)想與解密者通信的發(fā)送者(加密者)所知
?2. 對(duì)稱加密:
只需要一個(gè)秘鑰,通信雙方可以通過這個(gè)密鑰加密發(fā)送數(shù)據(jù),解密收到的數(shù)據(jù)
(三)SSL\TLS協(xié)議采用的加密通信方式是什么?
SSL\TLS協(xié)議采用的加密通信方式是:通信過程中采用對(duì)稱加密,而對(duì)稱加密的秘鑰通過非對(duì)稱加密來傳輸
這樣,復(fù)雜的非對(duì)稱加密傳輸只實(shí)現(xiàn)了一次,交換對(duì)稱加密的密鑰;在之后的信息通信中,使用絕對(duì)安全的密鑰,對(duì)信息進(jìn)行對(duì)稱加密,即可保證傳輸消息的保密性
(四)為啥使用非對(duì)稱加密來傳輸對(duì)稱加密的秘鑰 ?SSL\TL引入CA證書的通信流程是 什么?
1. 使用非對(duì)稱加密來傳輸對(duì)稱加密的秘鑰 是為了避免如下場景:
客戶端 C 和服務(wù)器 S 想要使用 SSL/TLS 通信,由上述 SSL/TLS 通信原理,C 需要先知道 S 的公鑰,而 S 公鑰的唯一獲取途徑,就是把 S 公鑰在網(wǎng)絡(luò)信道中傳輸。
但是網(wǎng)絡(luò)信道通信中有幾個(gè)前提:
- 任何人都可以捕獲通信包
- 通信包的保密性由發(fā)送者設(shè)計(jì)
- 保密算法設(shè)計(jì)方案默認(rèn)為公開,而(解密)密鑰默認(rèn)是安全的
因此,假設(shè) S 公鑰不做加密,在信道中傳輸,那么很有可能存在一個(gè)攻擊者 A,發(fā)送給 C 一個(gè)詐包,假裝是 S 公鑰,其實(shí)是誘餌服務(wù)器 AS 的公鑰。當(dāng) C 收獲了 AS 的公鑰(卻以為是 S 的公鑰),C 后續(xù)就會(huì)使用 AS 公鑰對(duì)數(shù)據(jù)進(jìn)行加密,并在公開信道傳輸,那么 A 將捕獲這些加密包,用 AS 的私鑰解密,就截獲了 C 本要給 S 發(fā)送的內(nèi)容,而 C 和 S 二人全然不知。
同樣的,S 公鑰即使做加密,也難以避免這種信任性問題
2、引入CA的作用是啥?引入CA后客戶端和服務(wù)器的通信流程為:
因此,需要引入第三方平臺(tái) :證書頒發(fā)機(jī)構(gòu)(CA,Certificate Authority)。
CA 默認(rèn)是受信任的第三方。CA 會(huì)給各個(gè)服務(wù)器頒發(fā)證書,證書存儲(chǔ)在服務(wù)器上,并附有 CA 的電子簽名(電子簽名可以防止證書被偽造)。
那么,現(xiàn)在的通信流程變?yōu)椋?/p>
當(dāng)客戶端(瀏覽器)向服務(wù)器發(fā)送 HTTPS 請(qǐng)求時(shí),一定要先獲取目標(biāo)服務(wù)器的證書,并根據(jù)證書上的信息,檢驗(yàn)證書的合法性。一旦客戶端檢測到證書非法,就會(huì)發(fā)生錯(cuò)誤。
客戶端獲取了服務(wù)器的證書并驗(yàn)證合法后,由于 證書上包含著服務(wù)器的公鑰信息,客戶端就可以放心的信任證書上的公鑰就是目標(biāo)服務(wù)器的公鑰。
客戶端獲得公鑰,于是放寬心進(jìn)行 數(shù)據(jù)的對(duì)稱加密解密 通信
【總結(jié)下】CA就是在提供一個(gè) 非對(duì)稱的加密傳輸對(duì)稱秘鑰? 和? 驗(yàn)證服務(wù)器安全 的功能:文章來源:http://www.zghlxwxcb.cn/news/detail-627531.html
CA用自己的秘鑰對(duì)服務(wù)器證書加密,客戶端用存在自己系統(tǒng)中的CA發(fā)布的公鑰對(duì)收到的證書進(jìn)行解密,匹配客戶端自己系統(tǒng)中存放的簽名和發(fā)來的證書上的簽名是否一致,一致說明訪問的服務(wù)器合法,同時(shí)也獲得了? 能 與該合法的服務(wù)器 通信的 對(duì)稱公鑰文章來源地址http://www.zghlxwxcb.cn/news/detail-627531.html
到了這里,關(guān)于HTTP協(xié)議 和 HTTPS協(xié)議的區(qū)別(4點(diǎn)) && HTTPS的缺點(diǎn) && HTTP如何使用SSL/TLS協(xié)議加密過程 && CA證書干啥的的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!