Github issues:https://github.com/littlejoyo/Blog/issues/
個(gè)人博客:https://littlejoyo.github.io/
微信公眾號(hào):Joyo說(shuō)
Http和Https的最大的區(qū)別就是:安全性空免。
Http為什么不安全秽荤?
超文本傳輸協(xié)議HTTP協(xié)議被用于在Web瀏覽器和網(wǎng)站服務(wù)器之間傳遞信息见转,HTTP協(xié)議以明文方式發(fā)送內(nèi)容炮沐,不提供任何方式的數(shù)據(jù)加密,如果攻擊者截取了Web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報(bào)文申鱼,就可以直接讀懂其中的信息既琴,因此朝扼,HTTP協(xié)議不適合傳輸一些敏感信息也拜,比如:信用卡號(hào)以舒、密碼等支付信息。
Https是什么慢哈?
為了解決HTTP協(xié)議的這一缺陷蔓钟,需要使用另一種協(xié)議:安全套接字層超文本傳輸協(xié)議HTTPS,為了數(shù)據(jù)傳輸?shù)陌踩鸭琀TTPS在HTTP的基礎(chǔ)上加入了SSL協(xié)議奋刽,SSL依靠證書來(lái)驗(yàn)證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信加密艰赞。
- HTTPS協(xié)議的主要作用可以分為兩種:一種是建立一個(gè)信息安全通道,來(lái)保證數(shù)據(jù)傳輸?shù)陌踩抢簦涣硪环N就是確認(rèn)網(wǎng)站的真實(shí)性方妖。
什么是SSL協(xié)議?
- Secure Socket Layer罚攀,為Netscape所研發(fā)党觅,用以保障在Internet上數(shù)據(jù)傳輸之安全,利用數(shù)據(jù)加密(Encryption)技術(shù)斋泄,可確保數(shù)據(jù)在網(wǎng)絡(luò)上之傳輸過(guò)程中不會(huì)被截取及竊聽(tīng)杯瞻。
- SSL協(xié)議位于TCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持炫掐。
- SSL協(xié)議可分為兩層: SSL記錄協(xié)議(SSL Record Protocol):它建立在可靠的傳輸協(xié)議(如TCP)之上魁莉,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮募胃、加密等基本功能的支持旗唁。 SSL握手協(xié)議(SSL Handshake Protocol):它建立在SSL記錄協(xié)議之上,用于在實(shí)際的數(shù)據(jù)傳輸開(kāi)始前痹束,通訊雙方進(jìn)行身份認(rèn)證检疫、協(xié)商加密算法、交換加密密鑰等祷嘶,也就是常見(jiàn)的公鑰和私鑰屎媳。
- 提供的服務(wù)
1)認(rèn)證用戶和服務(wù)器夺溢,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器;
2)加密數(shù)據(jù)以防止數(shù)據(jù)中途被竊戎蛞辍风响;
3)維護(hù)數(shù)據(jù)的完整性,確保數(shù)據(jù)在傳輸過(guò)程中不被改變晒来。
Http和Https的區(qū)別钞诡?
HTTPS和HTTP的區(qū)別主要如下:
- https協(xié)議需要到ca申請(qǐng)證書,一般免費(fèi)證書較少湃崩,因而需要一定費(fèi)用荧降。
- http是超文本傳輸協(xié)議,信息是明文傳輸攒读,https則是具有安全性的ssl加密傳輸協(xié)議朵诫。
- http和https使用的是完全不同的連接方式,用的端口也不一樣薄扁,前者是80剪返,后者是443。
- http的連接很簡(jiǎn)單邓梅,是無(wú)狀態(tài)的脱盲;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議日缨,比http協(xié)議安全钱反。
Https的工作原理
客戶端在使用HTTPS方式與Web服務(wù)器通信時(shí)有以下幾個(gè)步驟,如圖所示匣距。
(1)客戶使用https的URL訪問(wèn)Web服務(wù)器面哥,要求與Web服務(wù)器建立SSL連接。
(2)Web服務(wù)器收到客戶端請(qǐng)求后毅待,會(huì)將網(wǎng)站的證書信息(證書中包含公鑰)傳送一份給客戶端尚卫。
(3)客戶端的瀏覽器與Web服務(wù)器開(kāi)始協(xié)商SSL連接的安全等級(jí),也就是信息加密的等級(jí)尸红。
(4)客戶端的瀏覽器根據(jù)雙方同意的安全等級(jí)吱涉,建立會(huì)話密鑰,然后利用網(wǎng)站的公鑰將會(huì)話密鑰加密驶乾,并傳送給網(wǎng)站邑飒。
(5)Web服務(wù)器利用自己的私鑰解密出會(huì)話密鑰。
(6)Web服務(wù)器利用會(huì)話密鑰加密與客戶端之間的通信级乐。
Https的優(yōu)點(diǎn)和缺點(diǎn)
優(yōu)點(diǎn)
(1)使用HTTPS協(xié)議可認(rèn)證用戶和服務(wù)器疙咸,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器;
(2)HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸风科、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議撒轮,要比http協(xié)議安全乞旦,可防止數(shù)據(jù)在傳輸過(guò)程中不被竊取、改變题山,確保數(shù)據(jù)的完整性兰粉。
(3)HTTPS是現(xiàn)行架構(gòu)下最安全的解決方案,雖然不是絕對(duì)安全顶瞳,但它大幅增加了中間人攻擊的成本玖姑。
(4)谷歌曾在2014年8月份調(diào)整搜索引擎算法,并稱“比起同等HTTP網(wǎng)站慨菱,采用HTTPS加密的網(wǎng)站在搜索結(jié)果中的排名將會(huì)更高”焰络。
缺點(diǎn):
1)HTTPS協(xié)議握手階段比較費(fèi)時(shí),會(huì)使頁(yè)面的加載時(shí)間延長(zhǎng)近50%符喝,增加10%到20%的耗電闪彼;
(2)HTTPS連接緩存不如HTTP高效,會(huì)增加數(shù)據(jù)開(kāi)銷和功耗协饲,甚至已有的安全措施也會(huì)因此而受到影響畏腕;
(3)SSL證書需要錢,功能越強(qiáng)大的證書費(fèi)用越高茉稠,個(gè)人網(wǎng)站描馅、小網(wǎng)站沒(méi)有必要一般不會(huì)用。
(4)SSL證書通常需要綁定IP而线,不能在同一IP上綁定多個(gè)域名流昏,IPv4資源不可能支撐這個(gè)消耗。
(5)HTTPS協(xié)議的加密范圍也比較有限吞获,在黑客攻擊、拒絕服務(wù)攻擊谚鄙、服務(wù)器劫持等方面幾乎起不到什么作用各拷。最關(guān)鍵的,SSL證書的信用鏈體系并不安全闷营,特別是在某些國(guó)家可以控制CA根證書的情況下烤黍,中間人攻擊一樣可行。
關(guān)于公鑰傻盟、私鑰速蕊、數(shù)字簽名、數(shù)字證書的圖文
http://www.reibang.com/p/3c5212b47bec
參考文章:https://www.cnblogs.com/wqhwe/p/5407468.html
微信公眾號(hào)
掃一掃關(guān)注Joyo說(shuō)公眾號(hào)娘赴,共同學(xué)習(xí)和研究開(kāi)發(fā)技術(shù)规哲。