http&&https

HTTP與HTTPS握手的那些事

今天我總結(jié)了什么是HTTP三次握手,還有HTTPS握手的過(guò)程以及為什么HTTPS是安全的渐排。

前提

在講述這兩個(gè)握手時(shí)候攒岛,有一些東西需要提前說(shuō)明。

HTTP與TCP/IP區(qū)別鳞滨?

TPC/IP協(xié)議是傳輸層協(xié)議累盗,主要解決數(shù)據(jù)如何在網(wǎng)絡(luò)中傳輸六孵,而HTTP是應(yīng)用層協(xié)議,主要解決如何包裝數(shù)據(jù)幅骄。WEB使用HTTP協(xié)議作應(yīng)用層協(xié)議劫窒,以封裝HTTP 文本信息,然后使用TCP/IP做傳輸層協(xié)議將它發(fā)到網(wǎng)絡(luò)上拆座。

下面的圖表試圖顯示不同的TCP/IP和其他的協(xié)議在最初OSI(Open System Interconnect)模型中的位置:

PS:表格來(lái)自網(wǎng)上資料

CA證書(shū)是什么主巍?

CA(Certificate Authority)是負(fù)責(zé)管理和簽發(fā)證書(shū)的第三方權(quán)威機(jī)構(gòu)冠息,是所有行業(yè)和公眾都信任的、認(rèn)可的孕索。

CA證書(shū)逛艰,就是CA頒發(fā)的證書(shū),可用于驗(yàn)證網(wǎng)站是否可信(針對(duì)HTTPS)搞旭、驗(yàn)證某文件是否可信(是否被篡改)等散怖,也可以用一個(gè)證書(shū)來(lái)證明另一個(gè)證書(shū)是真實(shí)可信,最頂級(jí)的證書(shū)稱(chēng)為根證書(shū)肄渗。除了根證書(shū)(自己證明自己是可靠)镇眷,其它證書(shū)都要依靠上一級(jí)的證書(shū),來(lái)證明自己翎嫡。

HTTP三次握手

HTTP(HyperText Transfer Protocol)超文本傳輸協(xié)議是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議欠动。由于信息是明文傳輸,所以被認(rèn)為是不安全的惑申。而關(guān)于HTTP的三次握手具伍,其實(shí)就是使用三次TCP握手確認(rèn)建立一個(gè)HTTP連接。

如下圖所示圈驼,SYN(synchronous)是TCP/IP建立連接時(shí)使用的握手信號(hào)人芽、Sequence number(序列號(hào))、Acknowledge number(確認(rèn)號(hào)碼),三個(gè)箭頭指向就代表三次握手,完成三次握手,客戶(hù)端與服務(wù)器開(kāi)始傳送數(shù)據(jù)。

PS:圖片來(lái)自網(wǎng)上資料

第一次握手:客戶(hù)端發(fā)送syn包(syn=j)到服務(wù)器蛤奢,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn)汪榔;

第二次握手:服務(wù)器收到syn包啊胶,必須確認(rèn)客戶(hù)的SYN(ack=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(syn=k)慌随,即SYN+ACK包芬沉,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài);

第三次握手:客戶(hù)端收到服務(wù)器的SYN+ACK包阁猜,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1)丸逸,此包發(fā)送完畢,客戶(hù)端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài)剃袍,完成三次握手黄刚。

HTTPS握手過(guò)程

HTTPS在HTTP的基礎(chǔ)上加入了SSL協(xié)議,SSL依靠證書(shū)來(lái)驗(yàn)證服務(wù)器的身份民效,并為瀏覽器和服務(wù)器之間的通信加密憔维。具體是如何進(jìn)行加密涛救,解密,驗(yàn)證的业扒,且看下圖检吆,下面的稱(chēng)為一次握手。

PS:圖片以下描述摘自:http://zhuqil.cnblogs.com

1. 客戶(hù)端發(fā)起HTTPS請(qǐng)求

2. 服務(wù)端的配置

采用HTTPS協(xié)議的服務(wù)器必須要有一套數(shù)字證書(shū)程储,可以是自己制作或者CA證書(shū)蹭沛。區(qū)別就是自己頒發(fā)的證書(shū)需要客戶(hù)端驗(yàn)證通過(guò),才可以繼續(xù)訪問(wèn)章鲤,而使用CA證書(shū)則不會(huì)彈出提示頁(yè)面摊灭。這套證書(shū)其實(shí)就是一對(duì)公鑰和私鑰。公鑰給別人加密使用咏窿,私鑰給自己解密使用斟或。

3. 傳送證書(shū)

這個(gè)證書(shū)其實(shí)就是公鑰,只是包含了很多信息集嵌,如證書(shū)的頒發(fā)機(jī)構(gòu)萝挤,過(guò)期時(shí)間等。

4. 客戶(hù)端解析證書(shū)

這部分工作是有客戶(hù)端的TLS來(lái)完成的根欧,首先會(huì)驗(yàn)證公鑰是否有效怜珍,比如頒發(fā)機(jī)構(gòu),過(guò)期時(shí)間等凤粗,如果發(fā)現(xiàn)異常酥泛,則會(huì)彈出一個(gè)警告框,提示證書(shū)存在問(wèn)題嫌拣。如果證書(shū)沒(méi)有問(wèn)題柔袁,那么就生成一個(gè)隨即值,然后用證書(shū)對(duì)該隨機(jī)值進(jìn)行加密异逐。

5. 傳送加密信息

這部分傳送的是用證書(shū)加密后的隨機(jī)值捶索,目的就是讓服務(wù)端得到這個(gè)隨機(jī)值,以后客戶(hù)端和服務(wù)端的通信就可以通過(guò)這個(gè)隨機(jī)值來(lái)進(jìn)行加密解密了灰瞻。

6. 服務(wù)段解密信息

服務(wù)端用私鑰解密后腥例,得到了客戶(hù)端傳過(guò)來(lái)的隨機(jī)值(私鑰),然后把內(nèi)容通過(guò)該值進(jìn)行對(duì)稱(chēng)加密酝润。所謂對(duì)稱(chēng)加密就是燎竖,將信息和私鑰通過(guò)某種算法混合在一起,這樣除非知道私鑰要销,不然無(wú)法獲取內(nèi)容构回,而正好客戶(hù)端和服務(wù)端都知道這個(gè)私鑰,所以只要加密算法夠彪悍,私鑰夠復(fù)雜捐凭,數(shù)據(jù)就夠安全拨扶。

7. 傳輸加密后的信息

這部分信息是服務(wù)段用私鑰加密后的信息,可以在客戶(hù)端被還原茁肠。

8. 客戶(hù)端解密信息

客戶(hù)端用之前生成的私鑰解密服務(wù)段傳過(guò)來(lái)的信息患民,于是獲取了解密后的內(nèi)容。

PS: 整個(gè)握手過(guò)程第三方即使監(jiān)聽(tīng)到了數(shù)據(jù)垦梆,也束手無(wú)策匹颤。

總結(jié)

為什么HTTPS是安全的?

在HTTPS握手的第四步中托猩,如果站點(diǎn)的證書(shū)是不受信任的印蓖,會(huì)顯示出現(xiàn)下面確認(rèn)界面,確認(rèn)了網(wǎng)站的真實(shí)性京腥。另外第六和八步赦肃,使用客戶(hù)端私鑰加密解密,保證了數(shù)據(jù)傳輸?shù)陌踩?/p>

HTTPS和HTTP的區(qū)別

1. https協(xié)議需要到ca申請(qǐng)證書(shū)或自制證書(shū)公浪。

2. http的信息是明文傳輸他宛,https則是具有安全性的ssl加密。

3. http是直接與TCP進(jìn)行數(shù)據(jù)傳輸欠气,而https是經(jīng)過(guò)一層SSL(OSI表示層)厅各,用的端口也不一樣,前者是80(需要國(guó)內(nèi)備案)预柒,后者是443队塘。

4. http的連接很簡(jiǎn)單,是無(wú)狀態(tài)的宜鸯;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸憔古、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全淋袖。

附錄

HTTPS一般使用的加密與HASH算法如下:

非對(duì)稱(chēng)加密算法:RSA鸿市,DSA/DSS

對(duì)稱(chēng)加密算法:AES,RC4适贸,3DES

HASH算法:MD5灸芳,SHA1涝桅,SHA256

參考鏈接:

http://www.cnblogs.com/lovesong/p/5186200.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拜姿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子冯遂,更是在濱河造成了極大的恐慌蕊肥,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異壁却,居然都是意外死亡批狱,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)展东,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)赔硫,“玉大人,你說(shuō)我怎么就攤上這事盐肃∽Σ玻” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵砸王,是天一觀的道長(zhǎng)推盛。 經(jīng)常有香客問(wèn)我,道長(zhǎng)谦铃,這世上最難降的妖魔是什么耘成? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮驹闰,結(jié)果婚禮上瘪菌,老公的妹妹穿的比我還像新娘。我一直安慰自己疮方,他們只是感情好控嗜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著骡显,像睡著了一般疆栏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上惫谤,一...
    開(kāi)封第一講書(shū)人閱讀 51,692評(píng)論 1 305
  • 那天壁顶,我揣著相機(jī)與錄音,去河邊找鬼溜歪。 笑死若专,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蝴猪。 我是一名探鬼主播调衰,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼自阱!你這毒婦竟也來(lái)了嚎莉?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤沛豌,失蹤者是張志新(化名)和其女友劉穎趋箩,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡叫确,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年跳芳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片竹勉。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡飞盆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出次乓,到底是詐尸還是另有隱情桨啃,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布檬输,位于F島的核電站照瘾,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏丧慈。R本人自食惡果不足惜析命,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望逃默。 院中可真熱鬧鹃愤,春花似錦、人聲如沸完域。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)吟税。三九已至凹耙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間肠仪,已是汗流浹背肖抱。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留异旧,地道東北人意述。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像吮蛹,于是被迫代替她去往敵國(guó)和親荤崇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.OkHttp源碼解析(一):OKHttp初階2 OkHttp源碼解析(二):OkHttp連接的"前戲"——HT...
    隔壁老李頭閱讀 20,857評(píng)論 24 176
  • 目錄 準(zhǔn)備 分析2.1. 三次握手2.2. 創(chuàng)建 HTTP 代理(非必要)2.3. TLS/SSL 握手2.4. ...
    RunAlgorithm閱讀 38,214評(píng)論 12 117
  • 一雳攘、簡(jiǎn)介 TCP带兜、UDP、HTTP吨灭、HTTPS 都是通信協(xié)議刚照,也就是通信時(shí)所遵守的規(guī)則,只有雙方按照這個(gè)規(guī)則“說(shuō)話...
    小道蕭兮閱讀 5,779評(píng)論 2 25
  • 1.http http:超文本傳輸協(xié)議,是一個(gè)客戶(hù)端和服務(wù)器端請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn),客戶(hù)端和服務(wù)端是通過(guò)發(fā)送報(bào)文來(lái)相互...
    Mc槿兒閱讀 305評(píng)論 0 0
  • 在20講當(dāng)中喧兄,葉老師繼續(xù)通過(guò)案例來(lái)幫助大家理解習(xí)慣的養(yǎng)成需要時(shí)間和動(dòng)機(jī)无畔。在我們的人生當(dāng)中嗯來(lái),其實(shí)人一輩子...
    迭代鳳兒閱讀 293評(píng)論 0 0