中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

深度理解HTTPS

2018-11-16    來源:編程學(xué)習(xí)網(wǎng)

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用
前言
隨著網(wǎng)絡(luò)安全問題越來越被重視,HTTPS協(xié)議的使用已經(jīng)逐漸主流化。目前的主流站點(diǎn)均已使用了HTTPS協(xié)議;比如:百度、淘寶、京東等一二線主站都已經(jīng)遷移到HTTPS服務(wù)之上。而作為測試人員來講,也要需時俱進(jìn)對HTTPS協(xié)議要有一定的了解,這樣就可以更好的幫助我們在工作完成任務(wù)和排查問題。

HTTP與TCP
首先,在理解HTTPS之前需要了解HTTP。HTTP(Hyper Text Transfer Protocol)是超文本傳輸協(xié)議,是在互聯(lián)網(wǎng)上廣泛使用的一種信息傳輸方式,通常瀏覽器與服務(wù)器進(jìn)行通信使用的都是HTTP協(xié)議。該協(xié)議因?yàn)槠涫褂煤唵、方便,隨著互聯(lián)網(wǎng)的發(fā)展也同時在壯大。而HTTP協(xié)議本身只是定義了一份規(guī)范,具體的傳輸能力則是由TCP協(xié)議來完成。所以HTTP是基于TCP之上,廣泛應(yīng)用與瀏覽器中的一種傳輸協(xié)議。

HTTP與HTTPS
因?yàn)橛辛薍TTP協(xié)議,所以互聯(lián)網(wǎng)的發(fā)展如虎添翼,在短短幾十年時間內(nèi),改變了人類很多的生活方式甚至生存方式。至今HTTP本身仍然是可以支持互聯(lián)網(wǎng)的通信,只是其在安全上不能提供很好的保障。尤其是互聯(lián)網(wǎng)與人們的生活越來越密切的時候,互聯(lián)網(wǎng)的安全問題也越來越重要。而HTTPS則是解決這個問題的方法。本質(zhì)上HTTPS=HTTP+SSL/TLS。其中SSL和TLS是一種加密協(xié)議,即HTTPS是一種帶加密功能的HTTP協(xié)議。

HTTPS、HTTP、TCP之間的關(guān)系


即HTTPS并不是一個新的協(xié)議,而是多個協(xié)議組裝后的產(chǎn)物。而其安全性則主要由SSL/TLS層來保障。(當(dāng)然SSL/TLS也可以可以保障其它的應(yīng)用層協(xié)議,比如:SSL+FTP=SFTP)

SSL/TLS的安全機(jī)制原理
既然SSL可以保障安全,那么它到底是如何保障的呢?其實(shí)SSL安全機(jī)制是通過對HTTP協(xié)議內(nèi)容進(jìn)行加密來實(shí)現(xiàn)的。而加密方式一般有2種類型:對稱加密和非對稱加密。

對稱加密:加密和解密時使用的密匙(key)是一樣的。密匙安全性不高,加密速度快

非對稱加密:加密時使用公匙加密,解密時使用私匙解密。密匙安全性高,加密速度相對慢

而SSL中兩者都有使用,且分別結(jié)合了它們的優(yōu)缺點(diǎn)。在每次通信前先使用非對稱加密來確定本次通信后續(xù)使用的對稱加密的密匙,之后所有的通信都是使用臨時生成的密匙來進(jìn)行對稱加密后傳輸。

但是從安全角度考慮這還不夠,因?yàn)槊艹走是有可能被人竊取了,然后篡改內(nèi)容。所以就引入了證書機(jī)制,相當(dāng)于給加密內(nèi)容在加一個蓋章。接著問題就變成了有人偽造證書怎么辦?再然后就有了第三方認(rèn)證機(jī)構(gòu),專門來發(fā)證書的,只有這些機(jī)構(gòu)發(fā)的證書才可以信任。

于是現(xiàn)在訪問HTTPS網(wǎng)站的時候就可能有兩種情況,一種是使用認(rèn)證的證書、一種是使用未認(rèn)證的證書。當(dāng)我們訪問的網(wǎng)站使用未認(rèn)證的證書時,瀏覽器往往就會有提醒--該網(wǎng)站不可信任。如果要一意孤行,就需要自己手動點(diǎn)繼續(xù)。(當(dāng)然你還可以給瀏覽器設(shè)置忽略安全認(rèn)證)



證書發(fā)放與安裝
全世界范圍內(nèi)可以發(fā)放安全證書的第三方機(jī)構(gòu)就2-3個,而全世界有那么多的公司或網(wǎng)站需要申請證書。如何知道某個證書是否可信任呢?

其實(shí)安全證書有分根證書、子證書、子子證書,不同等級的信任范圍。通常根證書是由最上面的第三方機(jī)構(gòu)頒發(fā)給自己的,根證書下面的一級子證書通常是頒發(fā)給其下的代理公司的,而如果你的網(wǎng)站是從代理公司申請的,那么你證書將會是一個二級子證書。

而在認(rèn)證證書的時候, 操作系統(tǒng)或者程序會去檢查該證書此前是否已經(jīng)被信任過,或者該證書的上級證書(父級、父父級等等)是否被信任過。只要有一個等級的證書被信任過,則認(rèn)為該證書是可信任的。

具體證書是否可信任是根據(jù)系統(tǒng)或者程序是否已安裝并信任了該證書。通常操作系統(tǒng)都會預(yù)裝頂級證書機(jī)構(gòu)的根證書,所以只要你訪問的網(wǎng)站證書是從這幾個頂級第三方機(jī)構(gòu)或其代理申請的,那么就會被直接信任無需你去手動下載和安裝。

HTTPS代理
了解了HTTPS和證書的基本知識之后,再來看看HTTPS的代理是如何實(shí)現(xiàn)的。與HTTP代理相比,HTTPS代理會多一個證書管理的功能,因?yàn)樗o瀏覽器端下發(fā)證書,才能模擬正常的HTTPS連接。所以HTTPS代理在進(jìn)行內(nèi)容轉(zhuǎn)發(fā)之前,還需要對內(nèi)容進(jìn)行解碼和加密的轉(zhuǎn)換。具體圖解如下:



這就是為什么使用Charles、Fiddler之類的軟件代理HTTPS的時候,需要先安裝一個它們的證書(尤其是移動端)。因?yàn)樗鼈兊淖C書是沒有認(rèn)證過的,需要手動安裝并信任,之后才可以正常的代理。

 
--------------------- 
作者:像風(fēng)一樣的自由 
來源:CSDN 
原文:https://blog.csdn.net/five3/article/details/83041019 
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!

標(biāo)簽: https代理 https網(wǎng)站 http與https ssl 安全 服務(wù)器 互聯(lián)網(wǎng) 互聯(lián)網(wǎng)的發(fā)展 通信 網(wǎng)絡(luò) 網(wǎng)絡(luò)安全 網(wǎng)絡(luò)安全問題

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:神經(jīng)網(wǎng)絡(luò)的基本工作原理

下一篇:如何優(yōu)雅地寫JS串行異步邏輯