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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

https的基本原理,看完你的程序员女朋友再也不和你提分手了

發布時間:2025/7/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 https的基本原理,看完你的程序员女朋友再也不和你提分手了 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【http風險】

首先,我們來講一下平時上網的時候,存在的風險。

初步接觸過網絡的同學都知道,網絡上是很不安全的,尤其是各種公共場合的免費WIFI,以及手機上各種免費上網的萬能鑰匙。這些不安全因素會導致什么問題呢:

  • 泄密,各類的個人信息,保存的小電影,淘寶的賬號密碼
  • 篡改,收到的信息被別人修改,或者植入木馬
  • 偽裝,訪問到假的網站,比如訪問淘寶訪問到釣魚網站,訪問中日友好影院訪問到澳門獨家線上賭場。
  • ? ?

    當然了,還有一些特殊的情況,比如說你在夜深人靜的夜,訪問某91網站,實際上你那做程序員的女朋友在另外一個房間,正在陪著你看,甚至你順手回了前女友一個消息,就算你及時刪除,卻還是沒躲過那雙程序員的眼睛。

    ? ?

    ? ?

    很多同學已經比較了解http以及tcp/ip了,對于什么三次握手四次揮手也是熟的不能再熟了。http屬于應用層協議,位于五層網絡參考模型的最上層,小劉的數據包通過應用層,傳輸層,網絡層,鏈路層封裝之后,再經過物理層傳輸到蘭蘭的主機,在這幾層中,數據都沒有經過封裝,所以,你的數據特別容易被中間的女朋友倩倩獲取。

    ? ?

    我們今天就來說一說,如何避免你的程序員女朋友盜取你的信息,趁機和你提分手。

    ? ?

    【對稱加密】

    信息如果想要不被盜取,就要經過加密,現在的加密算法大致可分為兩類,一類是對稱加密,一類是非對稱加密

    我們先來說說對稱加密。

    ? ?

    對稱加密的基本含義,就是算法的加密和解密全都是使用同一個密鑰

    在一定條件下,對稱加密可以解決一部分網絡安全問題。因為你和蘭蘭互相發送的消息,只有你和蘭蘭知道加密解密密鑰,倩倩是不知道的,所以沒有辦法對你們之間的消息包進行解密,你們可以相互暢所欲言。

    ? ?

    但是這樣是有前提條件的,就是倩倩不知道你們的密鑰

    如果你和蘭蘭在約定密鑰的時候數據包就已經被倩倩獲取了,那你們的行為無異于脫褲子放屁,沒有任何意義。

    所以,對稱加密算法存在的最嚴重的一個問題就是,密鑰協商

    ? ?

    【非對稱加密】

    非對稱加密算法需要兩個密鑰,一個叫公鑰,一個叫私鑰

    公鑰加密的內容需要用私鑰解密私鑰加密的內容需要用公鑰解密,兩個密鑰成對出現,缺一不可

    私鑰由服務器(蘭蘭)自己保存,公鑰發送給客戶端(小劉)。

    ? ?

    小劉拿到公鑰就可以把自己的消息加密并發給蘭蘭了,這個時候就算倩倩截獲了,也無法獲取消息包的具體內容,保證了小劉發給蘭蘭的消息的安全性。

    非對稱加密和對稱加密一樣,都存在密鑰傳輸的問題,但是至少有一點可以保證,就是客戶端發往服務器端的消息不會被泄露

    非對稱加密還有一個問題,就是加密解密時的效率比較低,嚴重影響小劉和蘭蘭談情說愛。

    ? ?

    所以我們又有一種辦法,就是第一次通信的時候使用非對稱加密,由客戶端(小劉)產生一個對稱加密的密鑰,用公鑰加密后發給服務器端(蘭蘭),服務器端用私鑰解密之后,就可以使用對稱加密發送消息了。

    ? ?

    這個辦法看起來天衣無縫,既解決了密鑰協商的問題,又解決了非對稱加密效率低的問題。

    但是真的就能無所顧及了嗎?并不能,我們看看倩倩的如下騷操作:


    倩倩偽造了蘭蘭,也就是說,黑客利用一臺主機,偽造了真實的服務器,使用自己的公鑰和私鑰去和客戶端(小劉)進行消息交互,這樣不光可以獲取消息的內容,還可以偽造消息,從而達到某些不可告人的目的。

    ? ?

    比如獲取你的銀行卡密碼,直接轉走你的所有資金,讓你人財兩空,再比如獲取你的私人信息,讓你身敗名裂。這些都是非常嚴重的后果。

    ? ?

    【數字證書】

    那小劉和蘭蘭就真的沒有更加安全的消息交互的辦法了嗎?

    答案當然是,有!

    ? ?

    現實生活中,我們也會有身份信息的證明,比如你說你是學生,怎么證明?我有學生證;你說你是警察,怎么證明?我有警官證。

    ? ?

    網上也有這種證書,但是網上的證書不是實體的,所以叫數字證書

    ? ?

    客戶端第一次與服務器進行通信的時候,服務器需要拿出自己的證書,表明自己的身份以及公鑰,類似:

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    ? ?

    那么這個數字證書是怎么產生的呢?總不能自己隨便寫一個吧。

    我們思考一下,我們上面說的學生證,警官證為什么能夠被大家所認同呢,是因為學生證是教育部頒發的,警官證是公安部頒發的,上面有唯一的防偽編碼,我們上相關部門的網站就可以查詢到了,所以我們認同這些證書是因為我們認同教育部和公安部。

    數字證書也是一樣,有唯一的防偽編碼,以及頒發的權威機構

    ? ?

    【CA機構】

    CA機構就像之前說的教育部一樣,是權威的證書頒發機構負責頒發證書以及驗證證書的合法性

    如果服務器需要做一個有身份的服務器,就需要向CA機構提交申請 <價格昂貴> ,需要提供包括域名,公司名稱,公鑰等一系列信息,CA機構審批后就可以給服務器頒發證書了。

    ? ?

    客戶端拿到證書以后,需要做兩件事:

    1. 驗證證書編號是否可以在CA機構查到

    2.核對證書上的基本信息 <比如域名> 是否與當前一致,才可以使用公鑰和服務器協商對稱密鑰進行消息發送。

    ? ?

    證書頒發之后,如何保證在傳輸的過程中不被篡改呢? 萬一倩倩獲取到證書之后,把公鑰改成了自己的,豈不是白費功夫?

    ? ?

    【數字簽名】

    依舊拿警官證舉例子,家里有警察的朋友們應該都知道,警官證上面的內容是不允許涂改的,如果需要修改,必須銷毀或者存檔舊的警官證,頒發新的警官證并蓋章才有效。

    ? ?

    這個蓋章的操作,在網絡證書上面叫做數字簽名

    服務器向CA提出證書申請,CA在頒發證書的時候,會連同數字證書以及根據證書內容產生的摘要一并發給服務器,<摘要相當于MD5,一段絕對不會重復的無規律碼>

    這個摘要是通過CA的私鑰進行加密的,無法進行篡改

    ? ?

    過程如下:

    ? ?

    哪些CA機構對于客戶端來說是權威或者說是認可的呢?我們打開IE瀏覽器能看到客戶端內置的CA機構的信息,包含了CA的公鑰、簽名算法、有效期等等。

    ? ?

    在這之后,服務器在與客戶端通信的時候,就可以將數字證書以及數字簽名出示給客戶端了。

    客戶端拿到數字證書與簽名,會進行如下過程:

  • 找到操作系統或者瀏覽器信任的CA機構,使用其公鑰對數字簽名進行解密計算數字證書的摘要

    如果摘要與服務器發過來的一致,則表明證書沒有被篡改。

  • 從證書里獲取服務器公鑰,加密對稱密鑰
  • 將對稱密鑰發送到服務器。
  • ? ?

    注意一點:

    如果是偽造的數字簽名,則在客戶端無法做解密

    因為CA的私鑰是自己負責保管的,別人無法獲取得到,所以無法對證書做私鑰加密,自然別人也無法使用公鑰進行解密。

    ? ?

    【HTTPS】

    好像一直沒有提到https。

    其實https很簡單,就是在http的基礎上添加了一個叫做SSL的協議,SSL(Secure Sockets Layer)叫做"安全套接層",后來標準化之后叫做TLS

    所以,HTTPS協議就是通過以上的手段,達到網頁防偽造,防篡改的成果。

    ? ?

    ?

    ?

    這樣,小劉就可以名正言順得和蘭蘭一起"月上柳梢頭,人約黃昏后",而不被倩倩發覺了。

    ? ?

    ?

    ? ?

    {寫在最后,本文參考了大量網上對于https的理解,大家讀完之后還有不懂的歡迎一起討論}

    ? ?

    ? ?

    ? ?

    ? ?

    ? ?

    ? ?

    ??

    轉載于:https://www.cnblogs.com/liuxia912/p/10980764.html

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的https的基本原理,看完你的程序员女朋友再也不和你提分手了的全部內容,希望文章能夠幫你解決所遇到的問題。

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