展開(kāi)
            湖北國(guó)聯(lián)計(jì)算機(jī)科技有限公司
          1. 首頁(yè)HOME
          2. 公司簡(jiǎn)介INTRODUCTION
          3. 安全防御DEFENSE
          4. 軟件開(kāi)發(fā)SOFTWARE
          5. 物聯(lián)網(wǎng)IOT
          6. 運(yùn)行維護(hù)SRE
          7. 成功案例CASE
          8. 聯(lián)系我們CONTACT
          9. Software Technology Sharing |技術(shù)分享

            基礎(chǔ)科普!大白話(huà)詳解HTTPS
            來(lái)源:湖北國(guó)菱計(jì)算機(jī)科技有限公司-荊州網(wǎng)站建設(shè)-荊州軟件開(kāi)發(fā)-政府網(wǎng)站建設(shè)公司 時(shí)間:2020-07-16

            相信大家面試的時(shí)候?qū)τ?HTTPS 這個(gè)問(wèn)題一定不會(huì)陌生,可能你只能簡(jiǎn)單的說(shuō)一下與 HTTP 的區(qū)別,但是真正的原理是否很清楚呢?他到底如何安全?這一篇讓我們用大白話(huà)來(lái)揭開(kāi) HTTPS 的神秘面紗吧!

            HTTPS 是什么?

            HTTPS 是什么?答:HTTPS 不就是 HTTP 后面多加了一個(gè) S 嗎?

            對(duì)這里的 S 就是指 SSL/TLS(就是一種安全加密協(xié)議,想深入了解的同學(xué)可以自行百度),HTTPS 是在 HTTP 的基礎(chǔ)上,利用 SSL/TLS 加密數(shù)據(jù)包。

            我們記住兩個(gè)主要目的就行:

            • 對(duì)數(shù)據(jù)加密

            • 驗(yàn)證網(wǎng)站服務(wù)器身份

            HTTPS 怎么對(duì)數(shù)據(jù)進(jìn)行加密:

            我們已經(jīng)知道 HTTPS 第一個(gè)目的是給數(shù)據(jù)加密,對(duì)于數(shù)據(jù)加密,我們這里要談到兩種加密方式:

            • 對(duì)稱(chēng)加密所謂對(duì)稱(chēng)就是指兩邊一樣 發(fā)送方和接收方都用的同一個(gè)密鑰,加密解密都是同一個(gè)密鑰從始至終只需要保存一個(gè)密鑰就行。

            • 非對(duì)稱(chēng)加密:發(fā)送方和接收方使用一對(duì)密鑰,即公鑰和私鑰。一般私鑰是保密不能被泄露的,公鑰可以對(duì)外傳播。我們可以用公鑰加密私鑰解密(數(shù)據(jù)加密) 也可用私鑰加密公鑰解密

            混合加密:知道了兩種加密方式的優(yōu)缺點(diǎn)之后,我們的 HTTPS 就很厲害了,它采用兩者混合的加密方式。

            不是說(shuō)對(duì)稱(chēng)加密的密鑰不安全嗎?那我們換一種思路,我們?cè)趥鬟f過(guò)程把我們的對(duì)稱(chēng)加密中的密鑰用非對(duì)稱(chēng)加密的方式去傳遞就好了。

            這句話(huà)有點(diǎn)繞,我們看上圖:

            • 客戶(hù)端生成會(huì)話(huà)秘鑰就是我們對(duì)稱(chēng)加密生成的密鑰。

            • 它用公鑰加密之后進(jìn)行傳遞(這個(gè)時(shí)候被加密的不是數(shù)據(jù) 是這個(gè)會(huì)話(huà)秘鑰 等于把鑰匙加密了) 這里的公鑰就是非對(duì)稱(chēng)加密中的公鑰 他是由服務(wù)器傳遞過(guò)去的(對(duì)外公開(kāi))。

            • 服務(wù)端用非對(duì)稱(chēng)加密的私鑰去解密 拿到我們的會(huì)話(huà)秘鑰。

            • 客戶(hù)端和服務(wù)端都能用同一個(gè)會(huì)話(huà)秘鑰進(jìn)行加解密了。

            就算傳輸過(guò)程被攻擊者截取到了被加密的會(huì)話(huà)秘鑰 他沒(méi)有服務(wù)器的私鑰是無(wú)法得到會(huì)話(huà)秘鑰的。

            整個(gè)過(guò)程巧妙之處就在于之前我們傳遞的是鑰匙,現(xiàn)在我們傳遞的是保險(xiǎn)箱,鑰匙在保險(xiǎn)箱里面,你就算拿到了保險(xiǎn)箱,沒(méi)有保險(xiǎn)箱的鑰匙也拿不到鑰匙。

            HTTPS 怎么驗(yàn)證網(wǎng)站服務(wù)器身份

            HTTPS 第二個(gè)目的是對(duì)網(wǎng)站服務(wù)器進(jìn)行真實(shí)身份認(rèn)證,那么這一點(diǎn)又是怎么做到的呢?

            先來(lái)看一個(gè)問(wèn)題,上一步我們已經(jīng)解決了數(shù)據(jù)加密的問(wèn)題,雖然攻擊者無(wú)法解密數(shù)據(jù),但是他可以篡改數(shù)據(jù),我們?cè)趺粗罃?shù)據(jù)沒(méi)被動(dòng)過(guò)呢?

            數(shù)據(jù)被篡改怎么辦?

            這個(gè)時(shí)候就要使用數(shù)字簽名了,數(shù)字簽名:將原文(部分?jǐn)?shù)據(jù)關(guān)鍵信息)先用 Hash 函數(shù)生成消息摘要,然后用發(fā)送者的私鑰加密生成數(shù)字簽名,與原文一起傳送給接收者。

            兩個(gè)關(guān)鍵點(diǎn):

            • Hash 算法計(jì)算生成信息摘要

            • 私鑰加密生成數(shù)字簽名

            客戶(hù)端如何校驗(yàn)數(shù)字簽名呢?(利用服務(wù)器私鑰加密,公鑰解密)客戶(hù)端收到服務(wù)器發(fā)過(guò)來(lái)的數(shù)字簽名之后:

            • 用服務(wù)端的公鑰去解密數(shù)字簽名得到消息摘要 (原始未被篡改的)

            • 用 Hash 函數(shù)對(duì)收到的原文計(jì)算生成一個(gè)摘要信息 (可能會(huì)被篡改的)

            如果兩個(gè)信息摘要一致,說(shuō)明數(shù)據(jù)沒(méi)有被篡改。OK,到這里可能你覺(jué)得沒(méi)問(wèn)題了!

            其實(shí)最后還有一個(gè)很關(guān)鍵的點(diǎn)是:我們剛剛所有的假設(shè)都基于客戶(hù)端的公鑰是服務(wù)器傳遞過(guò)來(lái)的,那如果攻擊者偽造了服務(wù)器的公鑰怎么辦呢?

            服務(wù)器公鑰被篡改怎么辦?

            這個(gè)時(shí)候就要使用數(shù)字證書(shū)了,數(shù)字證書(shū)認(rèn)證機(jī)構(gòu)(CA)處于客戶(hù)端與服務(wù)器雙方都可信賴(lài)的第三方機(jī)構(gòu)的立場(chǎng)上。

            服務(wù)端向 CA 申請(qǐng)數(shù)字證書(shū),審核通過(guò)后 CA 會(huì)向申請(qǐng)者簽發(fā)認(rèn)證文件-證書(shū),包含以下內(nèi)容:

            拿到數(shù)字證書(shū)后,服務(wù)器傳遞數(shù)字證書(shū)給客戶(hù)端。

            客戶(hù)端怎么校驗(yàn)數(shù)字證書(shū):

            步驟如下:

            • 首先瀏覽器讀取證書(shū)中的證書(shū)所有者、有效期等信息進(jìn)行一一校驗(yàn)。

            • 瀏覽器開(kāi)始查找操作系統(tǒng)中已內(nèi)置的受信任的證書(shū)發(fā)布機(jī)構(gòu) CA,與服務(wù)器發(fā)來(lái)的證書(shū)中的頒發(fā)者 CA 比對(duì),用于校驗(yàn)證書(shū)是否為合法機(jī)構(gòu)頒發(fā)。

            • 如果找不到,瀏覽器就會(huì)報(bào)錯(cuò),說(shuō)明服務(wù)器發(fā)來(lái)的證書(shū)是不可信任的。如果找到,那么瀏覽器就會(huì)從操作系統(tǒng)中取出頒發(fā)者 CA 的公鑰,然后對(duì)服務(wù)器發(fā)來(lái)的證書(shū)里面的簽名進(jìn)行解密。

            • 瀏覽器使用相同的 Hash 算法根據(jù)證書(shū)內(nèi)容計(jì)算出信息摘要,將這個(gè)計(jì)算的值與證書(shū)解密的值做對(duì)比。

            • 對(duì)比結(jié)果一致,則證明服務(wù)器發(fā)來(lái)的證書(shū)合法,沒(méi)有被冒充。此時(shí)瀏覽器就可以讀取證書(shū)中的公鑰,用于后續(xù)加密了。

            HTTPS 原理一覽圖如下:




            荊州地區(qū)政府網(wǎng)站建設(shè) 解決方案 專(zhuān)業(yè)團(tuán)隊(duì) 騰訊第三方平臺(tái) 地址:湖北省荊州市沙市區(qū)荊沙大道楚天都市佳園一期C區(qū)29棟112       地址:湖北省松滋市新江口街道才知文化廣場(chǎng)1幢1146-1151室     郵編:434200 聯(lián)系電話(huà):0716-6666211     網(wǎng)站編輯部郵箱:business@gl-ns.com 鄂公網(wǎng)安備 42100202000212號(hào) 備案號(hào):鄂ICP備2021015094號(hào)-1     企業(yè)名稱(chēng):湖北國(guó)菱計(jì)算機(jī)科技有限公司
            2020国自产拍精品免费观看,国产经典aⅴ三级观看,国产午夜99视频精品免费播放,亚洲开心网激情五月,91久久精品无码,久久综合香蕉久久久久久久,亚洲中亚洲中文字幕无线乱码,在线播放对白太大了