人人做人人干-人人做人人看-人人做人人爽国产视-人人做人人爽人人爱-色屋视频-色屋网

歡迎您光臨深圳塔燈網(wǎng)絡科技有限公司!
電話圖標 余先生:13699882642

網(wǎng)站百科

為您解碼網(wǎng)站建設的點點滴滴

科普-HTTPS背后的那些事兒

發(fā)表日期:2017-06 文章編輯:小燈 瀏覽次數(shù):3179

首先為什么要用HTTPS協(xié)議,當然是為了安全啦,所有通過HTTPS協(xié)議傳輸?shù)臄?shù)據(jù)都是經(jīng)過加密的,即便黑客在網(wǎng)絡層抓取了數(shù)據(jù)包也是無法獲得你數(shù)據(jù)包中的內(nèi)容的。所以通過HTTPS協(xié)議傳輸?shù)臄?shù)據(jù)是非常安全的。這一點大部分人都知道,但是下面這幾個問題你可能不知道:

  • HTTPS是怎么加密你的數(shù)據(jù)的?
  • 為什么通過瀏覽器瀏覽訪問一些HTTPS協(xié)議的鏈接的時候會有安全告警?
  • HTTPS證書是怎么回事?

如果你能很好的回答上面的問題說明你已經(jīng)很了解HTTPS的工作原理,出門右轉(zhuǎn)不送。如果不能,好好往下看。

先糾正一點,其實根本就沒有HTTPS這個協(xié)議, HTTPS實際是應用層的HTTP協(xié)議+SSL/TSL協(xié)議構(gòu)成的一個工作流程。在你訪問443端口的時候,瀏覽器不直接將HTTP協(xié)議需要傳輸?shù)臄?shù)據(jù)發(fā)送給傳輸層,而是經(jīng)由SSL/TSL加密后,嗯。。。。其實說SSL/TSL是HTTP協(xié)議的杜蕾斯還是蠻形象的

image.png

為了初步了解HTTP+SSL/TSL的工作過程,需要先了解幾個基本概念

  • 密鑰
    通常加密算法將要傳輸?shù)膬?nèi)容和一個隨機字串一起加密成密文,當解密的時候必須要同時知道解密算法和相應隨機字串才可以將密文還原成原始內(nèi)容。這個隨機字串就稱之為密鑰
  • 對稱加密算法
    加密和解密的時候使用相同密鑰的加密算法
  • 非對稱加密算法
    加密和解密的時候使用不同密鑰的加密算法,大名鼎鼎的RSA...
  • 公鑰+私鑰機制
    公鑰+私鑰的機制,實際就是基于非對稱加密算法的,你要傳輸?shù)膮f(xié)議用公鑰加密,然后服務器用私鑰解密密文到原始數(shù)據(jù)。看過一個比喻蠻形象的,公鑰就像是鎖頭,私鑰就像是鑰匙。你用鎖頭鎖住了數(shù)據(jù),如果沒有鑰匙是打不開的。但是這一比喻并不100%準確。因為公鑰不光是用來加密數(shù)據(jù),私鑰也不光是用來解密數(shù)據(jù)的,在公鑰+私鑰體制中,私鑰也可以用來加密數(shù)據(jù),而公鑰可以用來解開私鑰加密的數(shù)據(jù) (即私鑰為鎖頭,公鑰為鑰匙)
  • SSL證書
    SSL證書被安裝在服務器端,由2個證書組成,公共證書(會被發(fā)送給客戶端)和私有證書(僅服務器擁有),聽名字也猜到一個和公鑰有關(guān)一個和私鑰有關(guān)。但實際上沒那么簡單,不過目前可以暫時這樣理解。

基本概念了解之后就可以來嘗試回答問題1

HTTPS是怎么加密你的數(shù)據(jù)的? 

1 瀏覽器訪問https://<some domain>
2 服務器找到安裝的SSL證書并且將公共證書發(fā)送給瀏覽器
3 瀏覽器驗證證書是否有效,如果有效則繼續(xù)往下進行
4 瀏覽器生成一個隨機字串(密鑰)并且用接收到的公共證書中的公鑰來加密這個隨機字串,然后將加密過之后的隨機字串發(fā)送給服務器
5 服務器接收到密文然后用私鑰(鑰匙)來解密由公鑰(鎖頭)加密的隨機字串并告知瀏覽器自己已經(jīng)得到密鑰
6 瀏覽器用之前生成的隨機字串(密鑰)以對稱加密算法來加密要傳輸?shù)臄?shù)據(jù)并發(fā)送給服務器
7 服務器接收到加密后的數(shù)據(jù)并通過之前得到的隨機字串(密鑰)來解密數(shù)據(jù)
8 服務器用隨機字串以對稱加密算法來加密response的數(shù)據(jù)并返回給瀏覽器
9 瀏覽器用隨機字串解密response的數(shù)據(jù)然后顯示

在整個過程中黑客即使捕獲了你的數(shù)據(jù)包,也是無法獲得數(shù)據(jù)的內(nèi)容,因為黑客沒有私鑰,就沒法解密獲得公鑰加密的隨機字串(密鑰),沒有密鑰就無法解密由密鑰加密的數(shù)據(jù)內(nèi)容,Cool....But....有個漏洞,如果在第一步的時候黑客攔截到了瀏覽器的請求,然后偽造服務器返回假的公共證書,或者攔截到服務器返回的真實證書并且修改證書中的公鑰,那么黑客不是可以通過自己的私鑰來解密數(shù)據(jù)了嗎?幸好,有第三步: 瀏覽器對公共證書的驗證。當瀏覽器對于公共證書驗證失敗的時候,則會視為證書無效,也就會報一個HTTPS未知證書的警告去提醒用戶。現(xiàn)在你知道問題2的答案了嗎?

為什么通過瀏覽器瀏覽訪問一些HTTPS協(xié)議的鏈接的時候會有安全告警? 

所以,即便黑客篡改了證書,則證書一定是一個無效的證書,用戶就能夠收到告警去避免悲劇發(fā)生。如果你要是無視這個警告,OK,我只能說no zuo no die why you try.

當然,證書無效并不一定是因為黑客篡改證書所致,還有可能證書過期,或者服務器使用的證書并不是通過證書提供商發(fā)布的都會導致證書驗證失敗。

所以,瀏覽器到底是怎么驗證證書的?好吧,我試著來回答一下問題3

HTTPS證書是怎么回事? 

要進一步了解這個問題需要再介紹幾個概念(神煩,好多概念>_<)

  • 簽名算法
    簽名算法是一種不可逆的用來獲得被傳輸內(nèi)容hash值的hash算法。
  • 數(shù)字簽名
    用簽名算法獲取到的被傳輸數(shù)據(jù)的hash值就是數(shù)字簽名。數(shù)字簽名用來供客戶端驗證被傳輸?shù)臄?shù)據(jù)是否被更改過(被修改的數(shù)據(jù)的hash值一定和原數(shù)據(jù)的hash值不同)。數(shù)字簽名將和數(shù)據(jù)本體一起被傳輸給客戶端,然后客戶端用相同的簽名算法得到數(shù)據(jù)本體的hash值,然后和數(shù)字簽名比對,如果相同說明數(shù)據(jù)沒有被修改過,反之說明數(shù)據(jù)已經(jīng)被修改了。
  • 證書頒發(fā)者
 發(fā)布/頒發(fā)數(shù)字證書的機構(gòu),通常是一些被信任且信譽良好的機構(gòu),如SecureTrust CA,賽門鐵克等 
  • 證書數(shù)據(jù)庫
    一般來講這個數(shù)據(jù)庫由操作系統(tǒng)和瀏覽器提供,你的OS/瀏覽器一般會預裝了很多數(shù)字證書,這些證書都是由各大證書頒發(fā)者所擁有。

這幾個概念明了了,接下來看一下,數(shù)字證書的組成(只說公共證書了,因為比較重要而且私有證書內(nèi)容大同小異):

  • 證書頒發(fā)者
  • 證書擁有者
  • 證書有效期
  • 域名
  • 公鑰
  • 數(shù)字簽名和簽名算法
  • 數(shù)字簽名和簽名算法的加密算法
    其他幾個組成部分都比較好理解,最后一個繞口的數(shù)字簽名和簽名算法的加密算法是什么鬼? 剛才說了,數(shù)字簽名和簽名算法是用來供客戶端驗證被傳輸內(nèi)容是否被更改來的,那么如果黑客修改了數(shù)據(jù)本體的同時修改了數(shù)字簽名那么客戶端不就會以為數(shù)據(jù)沒有被更改過了嗎?所以數(shù)字證書的簽名和簽名算法都是被加密過的,而這個數(shù)字簽名和簽名算法的加密算法就是用來告知簽名和算法是用哪種加密算法(一定是不可逆)加密的。

來來來,還是講個故事比較好理解。

我的公司Alpha2Go建了個網(wǎng)站,然后找到了證書頒發(fā)組織SecureTrust CA要買一個SSL證書,SecureTrust CA先審核了一下我的公司和我的網(wǎng)站,認為我的網(wǎng)站合理合法且萌萌噠,所以頒發(fā)了一個數(shù)字證書(公共證書和私有證書)給我,這時我的證書的證書頒發(fā)者就是SecureTrust CA,證書擁有者就是Alpha2Go。SecureTrust CA自己擁有一個珍藏的頂級證書,這個證書的公共證書部分是被預裝在OS或者browser里的。為了讓我的證書更安全不會被黑客篡改,SecureTrust CA用自己的頂級證書的私鑰來加密我公共證書的數(shù)字簽名簽名算法,并且把自己使用的加密算法的名稱也放到我的公共證書里。

當我的客戶通過https訪問我大A站時,我的服務器會返回我的公共證書給客戶端,客戶端先根據(jù)我公共證書的證書頒發(fā)者找到SecureTrust CA預裝在OS/Browser里的公共證書,然后用公共證書的公鑰來解密之前用SecureTrust CA私鑰加密的數(shù)字簽名和簽名算法,然后客戶端用相同的簽名算法得到所獲的大A站證書的hash值,然后和數(shù)字簽名比對,如果相同則說明證書有效,驗證通過,如果無效則警告用戶 FBI Warning bla bla bla

以上就是整個HTTPS的工作原理以及數(shù)字證書的內(nèi)容了,還是有點小復雜的,是不?


本頁內(nèi)容由塔燈網(wǎng)絡科技有限公司通過網(wǎng)絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權(quán),如您認為本網(wǎng)頁中由涉嫌抄襲的內(nèi)容,請及時與我們聯(lián)系,并提供相關(guān)證據(jù),工作人員會在5工作日內(nèi)聯(lián)系您,一經(jīng)查實,本站立刻刪除侵權(quán)內(nèi)容。本文鏈接:http://m.kwpm.com.cn/20412.html
相關(guān)開發(fā)語言
 八年  行業(yè)經(jīng)驗

多一份參考,總有益處

聯(lián)系深圳網(wǎng)站公司塔燈網(wǎng)絡,免費獲得網(wǎng)站建設方案及報價

咨詢相關(guān)問題或預約面談,可以通過以下方式與我們聯(lián)系

業(yè)務熱線:余經(jīng)理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

  • QQ咨詢
  • 在線咨詢
  • 官方微信
  • 聯(lián)系電話
    座機0755-29185426
    手機13699882642
  • 預約上門
  • 返回頂部
主站蜘蛛池模板: 黄在线观看www免费看 | 黄色一级片免费播放 | 欧美操日韩 | 午夜视频在线观看网站 | 欧美成视频 | 亚洲午夜久久久久久尤物 | 国产一区欧美二区 | 亚洲超大尺度激情啪啪人体 | 中文字幕人成乱码在线观看 | 成人福利在线看 | 国产 日韩 一区 | wwwxx免费| 日本成人免费 | 亚洲欧美日韩中文不卡 | 日本一视频一区视频二区 | 日日噜噜夜夜狠狠久久丁香七 | 免费大片黄在线观看 | 757午夜视频国产精品 | 中文字幕视频一区二区 | 在线不欧美 | 欧美黑人粗暴另类多交 | 黑人巨根在线 | 国产成人系列 | 中国一级淫片bbb | 黄色成人在线 | 国产专区日韩精品欧美色 | 日本一区二区三区在线 观看网站 | 一个人看的www的视频免费 | 日韩午夜视频在线观看 | 午夜性爽爽爽 | 久久综合视频网站 | 国产www在线观看 | 九九九热精品 | 国产高清一区二区三区免费视频 | 欧美日韩国产超高清免费看片 | 天堂亚洲国产日韩在线看 | 夜夜操夜夜摸 | 国产成人19禁在线观看 | 在线满18网站观看视频 | 在线观看黄a大片爽爽影院免费 | 夜夜综合网 |