自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

架構(gòu)師之路-https底層原理

開發(fā) 架構(gòu)
先說說我對架構(gòu)師的理解。從業(yè)務能力上,需要的是發(fā)現(xiàn)問題和解決問題的能力;從團隊建設(shè)上,需要的是能培養(yǎng)團隊的業(yè)務能力;從項目管理上,把控好整個項目和軟件產(chǎn)品的全生命周期。

 [[430781]]

引子

先說說我對架構(gòu)師的理解。從業(yè)務能力上,需要的是發(fā)現(xiàn)問題和解決問題的能力;從團隊建設(shè)上,需要的是能培養(yǎng)團隊的業(yè)務能力;從項目管理上,把控好整個項目和軟件產(chǎn)品的全生命周期。

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

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

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

簡單入門

先來回答下面兩個問題:

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

大家想一下端口的本質(zhì)是什么。其實端口有兩種,一種是物理端口,比如集線器、路由器的端口。大學的時候記得有門課叫集成電路,里面有講到過。另一種是邏輯端口,是TCP/IP協(xié)議的端口,也常叫網(wǎng)絡(luò)端口。本質(zhì)上一個端口是用來綁定服務的,那服務器用監(jiān)聽什么端口,客戶端就要向哪個端口發(fā)起請求。我們自己也可以寫個簡單的例子,寫過這個例子應該很容易就能明白。 《懂了!國際算法體系對稱算法DES原理》 也有完整的例子。

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

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

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

安全層原理

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

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

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

CA證書

很多人都聽過網(wǎng)絡(luò)抓包吧。抓包的原理和黑客截獲信息差不多,都是自己作為一個代理??蛻舳薆想訪問C網(wǎng)站,黑客D發(fā)現(xiàn)了。D就偽裝成了C把自己的公鑰發(fā)給了B。B發(fā)請求“我是B,我的提貨卡號碼是XBXB”到網(wǎng)站C時,黑客D截獲了這個信息,用自己的私鑰解開,之后把數(shù)據(jù)篡改成“我是D,我的提貨卡號碼是XBXB”發(fā)給網(wǎng)站C。于是本來B的東西就被D領(lǐng)走了。抓包也是這種充當代理的原理。

為了防止這一問題??蛻舳司托枰谑盏焦€的時候做一下判斷,信任的公鑰才使用。于是出現(xiàn)了一些大家都很認可的組織,它們可以頒發(fā)公鑰。

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

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

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

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

總結(jié)

回答開頭的問題:

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

1、要梳理的是提供https服務的服務端,只有服務端才會需要找認證機構(gòu)簽發(fā)證書

2、只有需要外部認證的證書有過期的概念,自己簽發(fā)的可以更新也可以不更新??梢酝ㄟ^向服務端發(fā)請求的獲取到證書,查看證書是誰簽發(fā)的、有效期是哪天

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

責任編輯:張燕妮 來源: 編程一生
相關(guān)推薦

2019-07-23 18:15:26

技術(shù)大數(shù)據(jù)數(shù)據(jù)庫

2018-07-03 15:46:24

Java架構(gòu)師源碼

2018-02-06 09:58:48

架構(gòu)師MVCiOS

2020-11-25 09:56:48

架構(gòu)運維技術(shù)

2022-06-15 10:04:51

存儲選型MySQL

2009-02-23 11:18:06

J2EE架構(gòu)師Java

2013-04-19 15:12:17

架構(gòu)師WEB架構(gòu)師

2015-06-10 11:22:41

云計算云架構(gòu)師

2009-03-10 15:30:51

測試架構(gòu)師軟件測試職場

2021-04-27 09:35:36

業(yè)務領(lǐng)域建模

2023-08-20 12:21:18

軟件開發(fā)架構(gòu)設(shè)計

2021-12-16 14:45:09

https架構(gòu)服務端

2013-04-15 10:09:18

Web架構(gòu)師

2013-04-15 11:08:00

架構(gòu)師Web

2024-11-13 06:03:45

架構(gòu)設(shè)計架構(gòu)系統(tǒng)

2013-07-22 17:09:07

安卓架構(gòu)師

2021-07-12 23:43:46

AppAndroid優(yōu)化

2012-08-01 15:29:23

Android

2012-04-05 10:25:02

WEB架構(gòu)師

2012-04-09 09:41:24

WEB架構(gòu)師
點贊
收藏

51CTO技術(shù)棧公眾號