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

深度理解HTTPS

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

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

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

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

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


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

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

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

非對(duì)稱加密:加密時(shí)使用公匙加密,解密時(shí)使用私匙解密。密匙安全性高,加密速度相對(duì)慢

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

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

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



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

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

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

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

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



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

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

標(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),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

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

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