成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文讀懂 https 底層原理

開發 架構
既然https協議本質只是http上加了安全層,本文就主要將安全層是怎么實現的。當然要靠加密。加密又分成對稱加密和非對稱加密。

 [[440819]]

引子

先說說我對架構師的理解。從業務能力上,需要的是發現問題和解決問題的能力;從團隊建設上,需要的是能培養團隊的業務能力;從項目管理上,把控好整個項目和軟件產品的全生命周期。

我搜索了一下架構師的培訓課程,講什么的也有。實際上是Java從入門到精通的課也冠名架構師課程;講持久層框架的也冠名架構師課程;講組件、中間件的也冠名架構師課程;講分布式系統設計的也冠名架構師課程。個人意見哈,內容其實沒有什么問題,但是課程開始之前至少讓大家有個整體的視圖:

熟悉https等常用技術的底層原理,可以增強解決實際問題的能力,作出正確的決策。舉個例子:

接到安全團隊的指令,要求各個團隊梳理域名是否存在證書將要到期的安全風險。怎么來給團隊下發具體任務呢?這個問題在文章最后總結并回答。

簡單入門

先來回答下面兩個問題:

1、大家都知道使用https協議傳輸默認使用443端口,那什么情況下必須使用443,什么情況下不使用443?

大家想一下端口的本質是什么。其實端口有兩種,一種是物理端口,比如集線器、路由器的端口。大學的時候記得有門課叫集成電路,里面有講到過。另一種是邏輯端口,是TCP/IP協議的端口,也常叫網絡端口。本質上一個端口是用來綁定服務的,那服務器用監聽什么端口,客戶端就要向哪個端口發起請求。我們自己也可以寫個簡單的例子,寫過這個例子應該很容易就能明白。

簡單點說服務端可以自己決定什么端口提供服務。但是呢,大家各自為政,記憶起來麻煩也不便于端口管理。所以邏輯端口也進行了劃分。其中0~1023是公認端口,比如80就默認是http的端口、443就是https的端口。這樣約定好了,就不需要特殊來記了。所以一些對全人類開發的公網網站,就是用的默認端口。但是你自己或者公司內部用的或者和合作方商量好的,也可以用其他端口,只要服務提供方認就行。

2、使用443的端口的同時,80端口還會用嗎?

這就是涉及到https的本質了。https本質是http協議上加了一個安全層。安全層做了一些處理,http要做的事情一點也沒有減少。就相當于在藥粒外加了一層膠囊,本質上起作用的還是藥粒呀;快遞送來的海鮮放在保鮮箱里還加了保鮮袋本質還是買的海鮮呀。所以當然要用啦。

 

安全層原理

既然https協議本質只是http上加了安全層,本文就主要將安全層是怎么實現的。當然要靠加密。加密又分成對稱加密和非對稱加密。要使用對稱加密,客戶端和服務端要有一個相同的秘鑰,這個秘鑰怎么能安全的傳輸就成了問題。非對稱加密是公鑰只能用來加密,私鑰只能用來解密。那服務端自己存私鑰,客戶端來請求的時候,服務端把公鑰發給它就可以了。

那有的朋友就問了,那別的客戶端來請求是不是也拿到的是同一個公鑰呀,信息就不安全了呀。沒錯,同一個服務端給所有的客戶端返回的是相同的公鑰。但是威脅網絡安全的黑客需要是截獲信息,不是公鑰。信息發送方用公鑰把信息加密了,黑客沒有私鑰解不開。他能拿到公鑰和密文,想解開那就只能暴力破解,把所有語言文字的組合用公鑰試一下看看和截獲到的密文是不是一樣的。如果用常用的RSA2048的話,要80年。

總之,非對稱加密是比較安全的,但是它慢。通常加解密速度是對稱加密的幾百倍,信息大了速度還會快速下降。所以https協議是用非對稱加密溝通一個對稱秘鑰。真正的信息就用對稱秘鑰來加解密了。

CA證書

很多人都聽過網絡抓包吧。抓包的原理和黑客截獲信息差不多,都是自己作為一個代理。客戶端B想訪問C網站,黑客D發現了。D就偽裝成了C把自己的公鑰發給了B。B發請求“我是B,我的提貨卡號碼是XBXB”到網站C時,黑客D截獲了這個信息,用自己的私鑰解開,之后把數據篡改成“我是D,我的提貨卡號碼是XBXB”發給網站C。于是本來B的東西就被D領走了。抓包也是這種充當代理的原理。

為了防止這一問題。客戶端就需要在收到公鑰的時候做一下判斷,信任的公鑰才使用。于是出現了一些大家都很認可的組織,它們可以頒發公鑰。

打個比方,在唐朝,賀知章賀老可謂是少有的文壇官場雙得意的代表,“二月春風”沒少光顧他家。從7品官做到3品大員,是皇帝的老鐵,為國服務50年后退休皇帝了還送豪宅,后來還被追封禮部尚書。《長安十二時辰》里那個80多的老頭何監就是影射的賀知章,因為他退休前的官職就是監事,人稱賀監。不少詩壇大家就是受了他的推薦才與皇帝建立了通信成為了公務員。所以,賀監還有一個身份是“大唐最佳星探”。

這里賀監就是大家都認可的組織,在賀監80多歲的時候,40多歲的李白找到賀監,請求他給自己簽發一份公鑰。賀監就用自己的私鑰給他做了簽發寫了推薦信,不僅如此,還金龜換酒傳為佳話。皇帝想選公務員,李白拿出了賀監的推薦信。皇帝一看,確實是賀監的筆跡,馬上就給李白封了公務員。

這里提一下,很多時候https抓包可以成功,原理是客戶端很多時候并不驗證證書的合法性。有個選項check=false。那至于哪些是認證機構,這個是系統預裝的。可以在IE瀏覽器的internet選項里查到預裝的證書。在中國,很多金融機構,它們的認證機構是央行。這些證書都是有有效期的,有的三年一簽發、有的五年一簽發。

上面圖中有顯示,證書除了公鑰信息,還有數字簽名信息。數字簽名當然需要有信息來進行簽名,具體信息就是我們在生成密鑰時需要輸入的那些,如下圖:

總結

回答開頭的問題:

接到安全團隊的指令,要求各個團隊梳理域名是否存在證書將要到期的安全風險。怎么來給團隊下發具體任務呢?

1、要梳理的是提供https服務的服務端,只有服務端才會需要找認證機構簽發證書

2、只有需要外部認證的證書有過期的概念,自己簽發的可以更新也可以不更新。可以通過向服務端發請求的獲取到證書,查看證書是誰簽發的、有效期是哪天

架構師經常面臨著需要做出正確的決策,比如連續幾天團隊都在執行生產程序發布,但是后面幾天大家有紀律渙散的趨勢,這時候應該敏銳的察覺到并及時指出并糾正。這些都需要對原理或者事情的走向有深刻的認知才能做出正確和及時的判斷。 

 

責任編輯:龐桂玉 來源: Java知音
相關推薦

2023-01-09 08:14:08

GoHttpServer

2022-05-12 10:53:42

keepalivevrrp協議

2024-09-03 08:40:31

2023-12-22 19:59:15

2021-08-04 16:06:45

DataOps智領云

2021-10-20 07:18:51

Linux延時隊列

2021-10-15 14:28:30

React 組件渲染

2018-09-28 14:06:25

前端緩存后端

2022-09-22 09:00:46

CSS單位

2025-04-03 10:56:47

2022-11-06 21:14:02

數據驅動架構數據

2021-02-26 05:24:35

Java垃圾回收

2025-04-30 09:12:35

2021-04-30 19:53:53

HugePages大內存頁物理

2024-04-10 10:34:34

Cache系統GPU

2023-11-27 17:35:48

ComponentWeb外層

2023-05-20 17:58:31

低代碼軟件

2022-07-05 06:30:54

云網絡網絡云原生

2022-12-01 17:23:45

2022-10-20 08:01:23

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲福利网 | 国产欧美精品区一区二区三区 | 亚洲精品第一国产综合野 | 成人精品久久日伦片大全免费 | 亚洲欧美在线一区 | 国产成人福利视频 | 国产精品国产亚洲精品看不卡15 | 精品日韩一区 | 亚洲男女视频在线观看 | 日日av| 国产成人精品免费视频大全最热 | 欧美9999| 欧美中文视频 | 精品久久香蕉国产线看观看亚洲 | 欧美精品一区二区三区在线播放 | 日韩av一区二区在线观看 | 亚洲一区 | 欧美日韩在线成人 | 色综久久 | 亚洲精品一区二区三区 | 国产精品一区一区三区 | 国产精品免费在线 | 欧美在线视频一区二区 | 91精品国产91久久综合桃花 | 久久性色 | 国产欧美在线一区二区 | 福利精品 | 久久99久久 | 免费观看一级特黄欧美大片 | 欧美精品久久久久 | 欧美h版 | 日韩三区| 国产超碰人人爽人人做人人爱 | 午夜在线 | 人人人人干 | 日韩一区二区av | 99精品在线免费观看 | 视频1区2区 | 九色 在线 | 日韩在线看片 | 国产精品国产三级国产aⅴ原创 |