欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

SSL/TLS 深入淺出

freeflydom
2024年8月4日 19:11 本文熱度 1295

  SSL,https(HTTP over SSL), X.509, SSL 證書 ,證書申請 /導入/簽發, 等名詞,想必有一定工作經驗的小伙伴,一定都會略有耳聞,或者至少也聽神邊大神念叨過。雖然司空見慣,但是能夠比較系統理清其中關系,能夠從整體到局部深入淺出講解下的人,估計至少也是十里挑一。反正沒人給我講,我只好自己梳理下。(注意本文不涉及密碼學原理以及SSL協議具體細節,但具備密碼學基礎,會有助于愉快閱讀)

  起因是公司最近在搞安全加固,想起了歷史原因用了很久的FTP服務,這東西眾所周知是明文的,裸奔的用戶名密碼,被監聽是分分鐘的事兒。于是尋思加個密吧,搜了下發現有個FTPS( FTP over SSL),很容易聯想到一個更常用的https(http over。SSL), 展開一搜還有各種 XXXX - over -  SSL。 如SMTPS,POP3S, LDAPS等,于是問題來了,SSL到底是個啥東西,為啥可以被各種over。

  • SSL的由來

  我們從大家比較熟悉的http協議角度說起,HTTP這個協議(就是header,body,post get這些)是在大概1991年附近發布,其設計初衷就是用來傳輸顯示網頁內容。這協議是明文的,明文的含義——就是你閱讀的網頁內容以及提交的,經過的每一個網絡節點都可以知道傳輸的具體是啥內容。我猜早期的網頁既不動態,也不私密,也沒有個人相冊:-),所以為了簡單,http協議本身并沒有考慮加密機制。

  后來,WWW就火了,網絡時代正式來臨,頁面功能越來越強大,支持動態化,可以為不同用戶提供不同內容,已經可以發個悄悄話,照片啥的了。這時自然就產生了加密需求。于是1994年有一個叫網景(Netscape)的公司,做瀏覽器的,開始琢磨怎么加密http協議傳輸的網頁內容。琢磨著,琢磨著,就琢磨出了SSL協議,后來歷經完善,變成了標準,改了名字 目前叫TLS,至今廣泛使用。

  網景已乘黃鶴去,但對互聯網的發展和安全起了重要貢獻。

  • SSL 協議的制定

  SSL協議的制定目標是解決http傳輸的安全問題,目前仍在廣泛應用,可見網景制定的這個協議還是比較科學的。所謂天下文章一大抄,SSL也是借鑒了前人基礎,融會貫通而成。

  大約1976年,大洋彼岸的大壯,提出了非對稱加密,數字證書的概念。1977年,同樣遠在彼岸的小明,發明了實用的非對稱加密RSA算法,標志著公開密鑰加密的誕生(就是現在常提的公鑰,私鑰,非對稱啥的)。

  有了天才的大壯和小明,數字證書以及非對稱加密的相關理論已經完備,只待應用。于是在一些安全需求較高的專用內部網絡(軍事,金融,企業)中,一些系統開始根據大壯和小明提供的思路,實現基于數字證書和非對稱加密算法的身份認證與通信加密功能。

  凡事都是先發明,再應用,再有標準(參照電池,先發明,再使用,再規定5號 ,7號電池啥規格)。基于數字證書和RSA算法的加密機制,因為缺乏標準,導致出現各系統實現間的不兼容,證書互不認可等問題。

  于是1988年誕生了一個叫做X.509的標準,定義了數字證書的字段內容,比如應該有持有者的名稱、公鑰、有效期、序列號以及證書頒發機構(CA)的簽名等。這個標準的產生,也推動了CA的標準化和普及。

  X.509 標準僅定義了證書的字段內容,而另外的一些文件格式標準,則具體定義了證書文件的存儲格式。如.pem .der .p12 .p7b等,這些就是我們在系統中可見的證書和私鑰的存在形式。

  基于以上,網景公司定義了在互聯網中,客戶端和服務器進行網絡通信時,類似 發送ABC 表示 請求證書,發DEF ,表示協商雙方都支持的密碼套件的,發XYZ,表示XXX。 這樣一個網絡協議,將其命名為SSL/TLS。

  •  XXX over ssl

  SSL(Secure Sockets Layer )為啥可以被各種over,Layer 顧名思義,SSL協議的作用主要是加解密,與具體傳輸數據無關,應用把數據扔給 SSL層后,細節就不太需要關心了。他自然會幫你加密好,傳送到目的地,解密好,再送達應用。所以所有的應用層協議,都是可以over SSL的。如http,FTP等。

  通信的過程,大致都是先建立SSL通道,證書驗證好,對稱密鑰交換好。這個建立SSL通道的過程,概念上稱為——SSL協商握手。握手完成后,后續的通信內容就都是加密的了。你應用層需要傳個 GET ,POST,Header,body 之類,還是按你應用層的協議來,該咋咋滴。所以你應用層是http 那就是 http over SSL. 如果是 ftp 就是FTP over ssl。

  舉一反三: 如果你自己寫了個聊天客戶端和服務器,是否可以用你的自定義聊天協議來 LAOWANG over SSL 呢?  

  • 實踐

  如何實踐應用 XXX over SSL。 

  1. 向CA申請服務器端ssl證書(x.509證書)——通過上面我門可以知道,x.509證書適用于,各種的 https ftps pop3s laowangs . 以及其他依賴于x509證書的領域,如電子簽章。注意,我門有時候會說 https 證書,ssl證書,ftps證書,本質都是x509證書,習慣稱為ssl證書,不要混淆。

  2. 在服務器端將申請到的證書及對應私鑰放置好,并配置啟動SSL支持——這是ssl協議通信的基礎。證書雖然都是x.509證書,但具體的證書文件可能需要格式轉換,nginx傾向于使用PEM文件格式的證書(.pem)和私鑰。

  3. 申請客戶端證書(可選)——我也是剛知道不久,原來ssl協議是支持雙向認證的。Web瀏覽器模式使用的是單向認證,但在一些安全需求較高的應用,可能會需要進行雙向認證,服務器可以驗證客戶端的證書是否有效,并且根據證書信息如持有人,決定是否可以進行連接。

  4.客戶端對應使用支持SSL的客戶端進行通信。  

 



該文章在 2024/8/5 10:11:38 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved