<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ![](https://img.kancloud.cn/bc/f3/bcf3aebdebe907f2ad71dd42f90ca14a_640x501.png) 當建立協議的時候,tcp進行了3次握手: 1、客戶端發送了一個帶有SYN的Tcp報文到服務器,這個三次握手中的開始。表示客戶端想要和服務端建立連接。 主機A發送位碼為syn=1,隨機產生seq number=1234567的數據包到服務器,主機B由SYN=1知道,A要求建立聯機。 2、服務端接收到客戶端的請求,返回客戶端報文,這個報文帶有SYN和ACK標志,詢問客戶端是否準備好。 主機B收到請求后要確認聯機信息,向A發送ack number=(主機A的seq+1),syn=1,ack=1,隨機產生seq=7654321的包。 3、客戶端再次響應服務端一個ACK,表示我已經準備好。主機A收到后檢查ack number是否正確,即第一次發送的seq number+1,以及位碼ack是否為1,若正確,主機A會再發送ack number=(主機B的seq+1),ack=1,主機B收到后確認seq值與ack=1則連接建立成功。 當終止協議的時候,tcp進行了4次握手: 由于Tcp連接是進行全雙工工作的,因此每個方向都必須單獨進行關閉,這個原則是當一方完成他的數據發送的時候就發送一個FIN來終止這個方向的連接,收到這個FIN意味著這個方向上沒有數據的流動,一個TCP連接在收到這個FIN之后還能發送消息,首先執行關閉的一方進行主動的關閉,而另一方進行被動的關閉。 1、TCP發送一個FIN,用來關閉客戶到服務端的連接。2、服務端收到這個FIN,他發回一個ACK,確認收到序號為收到序號+1,和SYN一樣,一個FIN將占用一個序號。3、服務端發送一個FIN到客戶端,服務端關閉客戶端的連接。4、客戶端發送ACK報文確認,并將確認的序號+1,這樣關閉完成。 ![](https://img.kancloud.cn/d4/90/d490a8d38c3469a995c7e1fa7d78dbe0_1012x2516.png)、 第一次握手(Client Hello) ![](https://img.kancloud.cn/c6/da/c6da2f3e367546b709774a4b569fa0de_910x688.png) 第二次握手(Server Hello) ![](https://img.kancloud.cn/9a/d5/9ad5ff5e84c3304a4dbd0a9f9c198874_849x410.png) ![](https://img.kancloud.cn/9e/5e/9e5e2a7d8f7abc4d21d4eec0d48be9f4_789x287.png) ![](https://img.kancloud.cn/48/b6/48b633ec3097869c571fffd55218eb65_880x518.png) 第三次握手 ![](https://img.kancloud.cn/4c/7a/4c7af42df2577a9ca8ff07920ecdfacb_897x437.png) Change Cipher Spec:表示自己已經生成了新的秘鑰,并且告知對方,以后就用新的秘鑰通信。 Encrypted Handshake Message: 用新秘鑰加密規定好的測試信息傳輸給對方,用于驗證雙方新的秘鑰是否一致。 第四次握手 ![](https://img.kancloud.cn/e8/dc/e8dc5611c7dc32de1732c5c061ad6081_924x467.png) Change Cipher Spec:表示自己已經生成了新的秘鑰,并且告知對方,以后就用新的秘鑰通信。 Encrypted Handshake Message: 用新秘鑰加密規定好的測試信息傳輸給對方,用于驗證雙方新的秘鑰是否一致。 New Session Ticket:用于剛剛建立的會話,在接下來的一段時間,雙方都以剛剛交換的秘鑰進行通信。 總結:運行在SSL/TLS上的HTTP就是HTTPS。 ![](https://img.kancloud.cn/d9/4e/d94ecfab6172c6877a771068fcaff01c_1075x795.png)1. 客戶端請求建立SSL鏈接,并向服務端發送一個隨機數–Client random和客戶端支持的加密方法,比如RSA公鑰加密,此時是明文傳輸。 2. 服務端回復一種客戶端支持的加密方法、一個隨機數–Server random、授信的服務器證書和非對稱加密的公鑰。 3. 客戶端收到服務端的回復后利用服務端的公鑰,加上新的隨機數–Premaster secret 通過服務端下發的公鑰及加密方法進行加密,發送給服務器。 4. 服務端收到客戶端的回復,利用已知的加解密方式進行解密,同時利用Client random、Server random和Premaster secret通過一定的算法生成HTTP鏈接數據傳輸的對稱加密key – session key。 此后的HTTP鏈接數據傳輸即通過對稱加密方式進行加密傳輸。 HTTPS的工作原理 ![](https://img.kancloud.cn/0a/00/0a0094b35885d7a83f782869998ba86e_600x135.png) 1. 客戶端發起HTTPS請求 這個沒什么好說的,就是用戶在瀏覽器里輸入一個https網址,然后連接到server的443端口。 2. 服務端的配置 采用HTTPS協議的服務器必須要有一套數字證書,可以自己制作,也可以向組織申請,區別就是自己頒發的證書需要客戶端驗證通過,才可以繼續訪問,而使用受信任的公司申請的證書則不會彈出提示頁面(startssl就是個不錯的選擇,有1年的免費服務)。 這套證書其實就是一對公鑰和私鑰,如果對公鑰和私鑰不太理解,可以想象成一把鑰匙和一個鎖頭,只是全世界只有你一個人有這把鑰匙,你可以把鎖頭給別人,別人可以用這個鎖把重要的東西鎖起來,然后發給你,因為只有你一個人有這把鑰匙,所以只有你才能看到被這把鎖鎖起來的東西。 3. 傳送證書 這個證書其實就是公鑰,只是包含了很多信息,如證書的頒發機構,過期時間等等。 4. 客戶端解析證書 這部分工作是有客戶端的TLS來完成的,首先會驗證公鑰是否有效,比如頒發機構,過期時間等等,如果發現異常,則會彈出一個警告框,提示證書存在問題。 如果證書沒有問題,那么就生成一個隨機值,然后用證書對該隨機值進行加密,就好像上面說的,把隨機值用鎖頭鎖起來,這樣除非有鑰匙,不然看不到被鎖住的內容。 5. 傳送加密信息 這部分傳送的是用證書加密后的隨機值,目的就是讓服務端得到這個隨機值,以后客戶端和服務端的通信就可以通過這個隨機值來進行加密解密了。 6. 服務段解密信息 服務端用私鑰解密后,得到了客戶端傳過來的隨機值(私鑰),然后把內容通過該值進行對稱加密,所謂對稱加密就是,將信息和私鑰通過某種算法混合在一起,這樣除非知道私鑰,不然無法獲取內容,而正好客戶端和服務端都知道這個私鑰,所以只要加密算法夠彪悍,私鑰夠復雜,數據就夠安全。 7. 傳輸加密后的信息 這部分信息是服務段用私鑰加密后的信息,可以在客戶端被還原。 8. 客戶端解密信息 客戶端用之前生成的私鑰解密服務段傳過來的信息,于是獲取了解密后的內容,整個過程第三方即使監聽到了數據,也束手無策
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看