日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

最精美详尽的 HTTPS 原理图

發布時間:2024/4/11 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最精美详尽的 HTTPS 原理图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方“朱小廝的博客”,選擇“設為星標”

后臺回復"書",獲取


來源:r6a.cn/ffJk

作為一個有追求的程序員,了解行業發展趨勢和擴充自己的計算機知識儲備都是很有必要的,特別是一些計算機基礎方面的內容,就比如本篇文章要講的計算機網絡方面的知識。本文將為大家詳細梳理一下 HTTPS 的實現原理。

近年來,隨著用戶和互聯網企業安全意識的提高和 HTTPS 成本的下降,HTTPS 已經越來越普及。很多互聯網巨頭也在力推 HTTPS,比如谷歌的 Chrome 瀏覽器在訪問 HTTP 網站時會在地址欄顯示不安全的提醒,微信要求所有的小程序必須使用 HTTPS 傳輸協議,蘋果也要求所有在 App Store 上架的應用必須采用 HTTPS ,國內外的大部分主流網站也都已遷移至 HTTPS,可見 HTTPS 全面取代 HTTP 只是時間問題。

說了這么多,究竟什么是 HTTPS?它與 HTTP 相比有什么優缺點?其底層實現原理又是怎樣的呢?下面就為你一一解答,先來看一下 HTTP 的弊端吧。

1、HTTP 的最大弊端——不安全

HTTP 之所以被 HTTPS 取代,最大的原因就是不安全,至于為什么不安全,看了下面這張圖就一目了然了。

HTTP數據傳輸過程.png“

圖1. HTTP數據傳輸過程

由圖可見,HTTP 在傳輸數據的過程中,所有的數據都是明文傳輸,自然沒有安全性可言,特別是一些敏感數據,比如用戶密碼和信用卡信息等,一旦被第三方獲取,后果不堪設想。這里可能有人會說,我在前端頁面對敏感數據進行加密不就行了,比如 MD5 加鹽加密。這么想就太簡單了。首先 MD5 并不是加密算法,其全稱是 Message Digest Algorithm MD5,意為信息摘要算法,是一種不可逆的哈希算法,也就是說經過前端 MD5 處理過的數據在服務器端是無法復原的。這里以密碼舉例,前端把用戶密碼通過 MD5 進行處理,并把得到的哈希值發送給服務器,服務器由于無法復原密碼,就會直接用這個哈希值處理用戶請求。所以第三方在獲取這個哈希值后,可以繞過前端登錄頁面直接訪問服務器,造成安全問題。另外,MD5 算法本身的安全性也存在缺陷,這里就不展開談了。

總之 MD5,SHA-1 之類的哈希算法并不能讓 HTTP 變得更安全。要想讓 HTTP 更安全,只能使用真正的加密算法,因為加密算法可以用密鑰加密或還原數據,只要確保密鑰不被第三方獲取,那就能確保數據傳輸的安全了。而這正是 HTTPS 的解決方案,那下面就來了解一下加密算法吧。

2、加密算法

HTTPS 解決數據傳輸安全問題的方案就是使用加密算法,具體來說是混合加密算法,也就是對稱加密和非對稱加密的混合使用,這里有必要先了解一下這兩種加密算法的區別和優缺點。

2.1 對稱加密

對稱加密,顧名思義就是加密和解密都是使用同一個密鑰,常見的對稱加密算法有 DES、3DES 和 AES 等,其優缺點如下:

  • 優點:算法公開、計算量小、加密速度快、加密效率高,適合加密比較大的數據。

  • 缺點:

  • 交易雙方需要使用相同的密鑰,也就無法避免密鑰的傳輸,而密鑰在傳輸過程中無法保證不被截獲,因此對稱加密的安全性得不到保證。

  • 每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的惟一密鑰,這會使得發收信雙方所擁有的鑰匙數量急劇增長,密鑰管理成為雙方的負擔。對稱加密算法在分布式網絡系統上使用較為困難,主要是因為密鑰管理困難,使用成本較高。

  • 本文不對具體的加密算法做詳細介紹,有興趣的同學可以參考 對稱加密算法詳解,如果直接將對稱加密算法用在 HTTP 中,會是下面的效果:

    對稱加密數據傳輸過程“

    圖2. 對稱加密數據傳輸過程

    從圖中可以看出,被加密的數據在傳輸過程中是無規則的亂碼,即便被第三方截獲,在沒有密鑰的情況下也無法解密數據,也就保證了數據的安全。但是有一個致命的問題,那就是既然雙方要使用相同的密鑰,那就必然要在傳輸數據之前先由一方把密鑰傳給另一方,那么在此過程中密鑰就很有可能被截獲,這樣一來加密的數據也會被輕松解密。那如何確保密鑰在傳輸過程中的安全呢?這就要用到非對稱加密了。

    2.2 非對稱加密

    非對稱加密,顧名思義,就是加密和解密需要使用兩個不同的密鑰:公鑰(public key)和私鑰(private key)。公鑰與私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能解密;如果用私鑰對數據進行加密,那么只有用對應的公鑰才能解密。非對稱加密算法實現機密信息交換的基本過程是:甲方生成一對密鑰并將其中的一把作為公鑰對外公開;得到該公鑰的乙方使用公鑰對機密信息進行加密后再發送給甲方;甲方再用自己保存的私鑰對加密后的信息進行解密。如果對公鑰和私鑰不太理解,可以想象成一把鑰匙和一個鎖頭,只是全世界只有你一個人有這把鑰匙,你可以把鎖頭給別人,別人可以用這個鎖把重要的東西鎖起來,然后發給你,因為只有你一個人有這把鑰匙,所以只有你才能看到被這把鎖鎖起來的東西。常用的非對稱加密算法是 RSA 算法,想詳細了解的同學點這里:RSA 算法詳解一、RSA 算法詳解二,其優缺點如下:

    • 優點:算法公開,加密和解密使用不同的鑰匙,私鑰不需要通過網絡進行傳輸,安全性很高。

    • 缺點:計算量比較大,加密和解密速度相比對稱加密慢很多。

    由于非對稱加密的強安全性,可以用它完美解決對稱加密的密鑰泄露問題,效果圖如下:

    非對稱加密發送 KEY 的過程.png“

    圖3. 客戶端通過非對稱加密把密鑰 KEY 發送給服務器

    在上述過程中,客戶端在拿到服務器的公鑰后,會生成一個隨機碼 (用 KEY 表示,這個 KEY 就是后續雙方用于對稱加密的密鑰),然后客戶端使用公鑰把 KEY 加密后再發送給服務器,服務器使用私鑰將其解密,這樣雙方就有了同一個密鑰 KEY,然后雙方再使用 KEY 進行對稱加密交互數據。在非對稱加密傳輸 KEY 的過程中,即便第三方獲取了公鑰和加密后的 KEY,在沒有私鑰的情況下也無法破解 KEY (私鑰存在服務器,泄露風險極小),也就保證了接下來對稱加密的數據安全。而上面這個流程圖正是 HTTPS 的雛形,HTTPS 正好綜合了這兩種加密算法的優點,不僅保證了通信安全,還保證了數據傳輸效率。

    3、HTTPS 原理詳解

    先看一下維基百科對 HTTPS 的定義

    Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP). It is used for secure communication over a computer network, and is widely used on the Internet. In HTTPS, the communication protocol is encrypted using Transport Layer Security (TLS) or, formerly, its predecessor, Secure Sockets Layer (SSL). The protocol is therefore also often referred to as HTTP over TLS, or HTTP over SSL.

    HTTPS (Hypertext Transfer Protocol Secure) 是基于 HTTP 的擴展,用于計算機網絡的安全通信,已經在互聯網得到廣泛應用。在 HTTPS 中,原有的 HTTP 協議會得到 TLS (安全傳輸層協議) 或其前輩 SSL (安全套接層) 的加密。因此 HTTPS 也常指 HTTP over TLS 或 HTTP over SSL。

    可見HTTPS 并非獨立的通信協議,而是對 HTTP 的擴展,保證了通信安全,二者關系如下:

    HTTP和HTTPS的關系.png“

    圖4. HTTP和HTTPS的關系

    也就是說 HTTPS = HTTP + SSL / TLS。

    接下來就是最重要的 HTTPS 原理解析了,老規矩先上圖。

    HTTPS 加密、解密、驗證及數據傳輸過程.png“

    圖5. HTTPS 加密、解密、驗證及數據傳輸過程

    看上去眼花繚亂,不要怕,且聽我細細道來。HTTPS 的整個通信過程可以分為兩大階段:證書驗證和數據傳輸階段,數據傳輸階段又可以分為非對稱加密和對稱加密兩個階段。具體流程按圖中的序號講解。

    1.客戶端請求 HTTPS 網址,然后連接到 server 的 443 端口 (HTTPS 默認端口,類似于 HTTP 的80端口)。

    2.采用 HTTPS 協議的服務器必須要有一套數字 CA (Certification Authority)證書,證書是需要申請的,并由專門的數字證書認證機構(CA)通過非常嚴格的審核之后頒發的電子證書 (當然了是要錢的,安全級別越高價格越貴)。頒發證書的同時會產生一個私鑰和公鑰。私鑰由服務端自己保存,不可泄漏。公鑰則是附帶在證書的信息中,可以公開的。證書本身也附帶一個證書電子簽名,這個簽名用來驗證證書的完整性和真實性,可以防止證書被篡改。

    3.服務器響應客戶端請求,將證書傳遞給客戶端,證書包含公鑰和大量其他信息,比如證書頒發機構信息,公司信息和證書有效期等。Chrome 瀏覽器點擊地址欄的鎖標志再點擊證書就可以看到證書詳細信息。

    CA證書.png“

    圖6. B站 CA 證書

    4.客戶端解析證書并對其進行驗證。如果證書不是可信機構頒布,或者證書中的域名與實際域名不一致,或者證書已經過期,就會向訪問者顯示一個警告,由其選擇是否還要繼續通信。就像下面這樣:

    圖7. 瀏覽器安全警告

    如果證書沒有問題,客戶端就會從服務器證書中取出服務器的公鑰A。然后客戶端還會生成一個隨機碼 KEY,并使用公鑰A將其加密。

    5.客戶端把加密后的隨機碼 KEY 發送給服務器,作為后面對稱加密的密鑰。

    6.服務器在收到隨機碼 KEY 之后會使用私鑰B將其解密。經過以上這些步驟,客戶端和服務器終于建立了安全連接,完美解決了對稱加密的密鑰泄露問題,接下來就可以用對稱加密愉快地進行通信了。

    7.服務器使用密鑰 (隨機碼 KEY)對數據進行對稱加密并發送給客戶端,客戶端使用相同的密鑰 (隨機碼 KEY)解密數據。

    8.雙方使用對稱加密愉快地傳輸所有數據。

    好了,以上就是 HTTPS 的原理詳解了,如此精美的圖搭配這么詳細的過程解析,你再搞不懂就說不過去了吧哈哈。

    4、總結

    再來總結一下 HTTPS 和 HTTP 的區別以及 HTTPS 的缺點吧:

    HTTPS 和 HTTP 的區別:

    • 最最重要的區別就是安全性,HTTP 明文傳輸,不對數據進行加密安全性較差。HTTPS (HTTP + SSL / TLS)的數據傳輸過程是加密的,安全性較好。

    • 使用 HTTPS 協議需要申請 CA 證書,一般免費證書較少,因而需要一定費用。證書頒發機構如:Symantec、Comodo、DigiCert 和 GlobalSign 等。

    • HTTP 頁面響應速度比 HTTPS 快,這個很好理解,由于加了一層安全層,建立連接的過程更復雜,也要交換更多的數據,難免影響速度。

    • 由于 HTTPS 是建構在 SSL / TLS 之上的 HTTP 協議,所以,要比 HTTP 更耗費服務器資源。

    • HTTPS 和 HTTP 使用的是完全不同的連接方式,用的端口也不一樣,前者是 443,后者是 80。

    HTTPS 的缺點:

    • 在相同網絡環境中,HTTPS 相比 HTTP 無論是響應時間還是耗電量都有大幅度上升。

    • HTTPS 的安全是有范圍的,在黑客攻擊、服務器劫持等情況下幾乎起不到作用。

    • 在現有的證書機制下,中間人攻擊依然有可能發生。

    • HTTPS 需要更多的服務器資源,也會導致成本的升高。

    想知道更多?描下面的二維碼關注我

    后臺回復"技術",加入技術群

    【精彩推薦】

    • 超清晰的DNS入門指南

    • 如何用ELK搭建TB級的日志系統

    • 深度好文:Linux系統內存知識

    • 日志采集系統都用到哪些技術?

    • 面試官:為什么HashMap的加載因子是0.75?

    • 原創|OpenAPI標準規范

    • 如此簡單| ES最全詳細使用教程

    • ClickHouse到底是什么?為什么如此牛逼!

    • 原來ElasticSearch還可以這么理解

    點個贊+在看,少個 bug?????

    總結

    以上是生活随笔為你收集整理的最精美详尽的 HTTPS 原理图的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 草久影院 | 免费观看一区 | 亚洲AV无码AV吞精久久中文版 | 少妇献身老头系列 | 日本a级片网站 | 久久成人在线视频 | 久久人妻一区二区 | 亚洲成人手机在线 | 亚洲mv一区| 欧美精品午夜 | 黄色激情毛片 | 五月色综合 | 一区自拍 | 精品日韩 | 国产草草 | 免费av电影网址 | 色哟哟国产精品色哟哟 | 簧片av| 高清欧美精品xxxxx在线看 | 国产精品99无码一区二区 | 欧美成人aaa片一区国产精品 | 青青青在线观看视频 | 亚洲综合套图 | 99国产精品视频免费观看一公开 | 欧美一区二区三区日韩 | 2021av| 国产美女一区二区三区 | 中文字幕精品久久久久人妻红杏ⅰ | 欧美日韩精品在线视频 | 日韩一区二区高清视频 | 自拍偷自拍亚洲精品播放 | 天堂网在线视频 | 亚洲三级小说 | 青青草91久久久久久久久 | 亚欧在线| www.国产免费| 亚洲欧美国产另类 | 日韩成人激情 | 国语对白少妇spa私密按摩 | 野花国产精品入口 | 麻豆国产一区二区三区四区 | av在线播放网址 | 成人国产a | 欧美成人三级在线视频 | 爱情岛论坛永久入址测速 | 一级黄色播放 | 免费av播放 | 在线视频亚洲 | 超碰在线网 | 吃瓜网今日吃瓜 热门大瓜 色婷在线 | 天天爽夜夜爽人人爽 | 玖玖爱资源站 | 亚洲av无码一区二区乱孑伦as | 偷看洗澡一二三区美女 | 国产一区二区三区视频免费在线观看 | 国产传媒视频在线观看 | 免费看污片的网站 | 干干干操操操 | 成人免费xxxxx在线视频 | 国产67194| 成人手机在线视频 | av大帝| 无码 人妻 在线 视频 | 日韩av动漫| 一区二区三区午夜 | 亚洲成熟少妇视频在线观看 | 久草视| 另类少妇人与禽zozz0性伦 | 天天插天天射天天干 | 国产精品成人电影在线观看 | 国产无套粉嫩白浆内谢 | 欧美精品网站 | 丁香婷婷在线 | 黄色亚洲网站 | 午夜高潮视频 | 成人自拍视频 | 亚洲一二三区在线观看 | 综合在线一区 | 欧美另类videos | 国产无码精品合集 | 亚洲欧美日韩在线不卡 | 国产精品无码粉嫩小泬 | 毛片国产精品 | 日韩中文字幕有码 | 香蕉影院在线观看 | 亚洲天堂福利视频 | 午夜视频在线观看一区二区 | 中国在线观看片免费 | aaa国产视频| 中文字幕一区二区三区电影 | 久久露脸国语精品国产 | av软件在线观看 | 男女乱淫| 91传媒在线免费观看 | 爱情岛论坛永久入址在线 | 噜噜噜网站| 91麻豆国产 | 久久久久久久网 | 日本免费三区 |