• <ul id="cgeq2"></ul>
  • 歡迎您光臨深圳塔燈網(wǎng)絡(luò)科技有限公司!
    電話圖標(biāo) 余先生:13699882642

    網(wǎng)站百科

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

    科普-HTTPS背后的那些事兒

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

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

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

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

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

    image.png

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

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

    基本概念了解之后就可以來(lái)嘗試回答問(wèn)題1

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

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

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

    為什么通過(guò)瀏覽器瀏覽訪問(wèn)一些HTTPS協(xié)議的鏈接的時(shí)候會(huì)有安全告警? 

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

    當(dāng)然,證書無(wú)效并不一定是因?yàn)楹诳痛鄹淖C書所致,還有可能證書過(guò)期,或者服務(wù)器使用的證書并不是通過(guò)證書提供商發(fā)布的都會(huì)導(dǎo)致證書驗(yàn)證失敗。

    所以,瀏覽器到底是怎么驗(yàn)證證書的?好吧,我試著來(lái)回答一下問(wèn)題3

    HTTPS證書是怎么回事? 

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

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

    這幾個(gè)概念明了了,接下來(lái)看一下,數(shù)字證書的組成(只說(shuō)公共證書了,因?yàn)楸容^重要而且私有證書內(nèi)容大同小異):

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

    來(lái)來(lái)來(lái),還是講個(gè)故事比較好理解。

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

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

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


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

    多一份參考,總有益處

    聯(lián)系深圳網(wǎng)站公司塔燈網(wǎng)絡(luò),免費(fèi)獲得網(wǎng)站建設(shè)方案及報(bào)價(jià)

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

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

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

    • QQ咨詢
    • 在線咨詢
    • 官方微信
    • 聯(lián)系電話
      座機(jī)0755-29185426
      手機(jī)13699882642
    • 預(yù)約上門
    • 返回頂部
    国产精品亚洲精品日韩已满| 亚洲国产精品视频| 国产剧情国产精品一区| 国产精品无码久久av不卡| 精品国产鲁一鲁一区二区| 国内精品在线视频| 亚洲精品国产精品国自产观看| 国产精品久久久香蕉| 久99久热只有精品国产男同| 国产午夜精品一区二区| 四虎影院国产精品| 蜜臀91精品国产免费观看| 精品久久久久久无码专区| 99久久99久久久精品久久| 国产亚洲精品观看91在线| 国产精品免费看久久久香蕉 | 久久久精品免费视频| 岛国精品一区免费视频在线观看| 国产精品18久久久久久麻辣| 国产精品资源在线观看网站| 久久精品无码一区二区WWW| 久久久久亚洲精品天堂| 久久国产精品一区二区| 国内精品视频九九九九| 久夜色精品国产一区二区三区| 午夜在线视频91精品| 日韩精品在线播放| 国产一区二区精品在线观看| 国产愉拍精品视频手机| 野花国产精品入口| 国产微拍精品一区二区| 精品一区二区三人妻视频| 国产精品入口麻豆免费观看| 777精品成人影院| 成人精品一区二区户外勾搭野战 | 无码aⅴ精品一区二区三区| 欧美精品大香伊蕉在人线| 亚洲精品天堂成人片AV在线播放| 97久久精品无码一区二区天美| 亚洲人成在线精品| 97精品一区二区视频在线观看|