HTTP和HTTPS的區別和聯系

目錄

  • 1. 簡介
  • 2. TLS 握手過程
  • 3. 常見的加密算法
    • 3.1 對稱加密算法
    • 3.2 非對稱加密算法

1. 簡介

HTTPS在HTTP的基礎上引入了一個TLS層,采用密文進行傳輸,結合對稱加密技術和非對稱加密技術來實現數據的安全性和完整性。

客戶端會生成隨機密鑰,并使用服務端的公鑰加密后再傳給服務端。根據非對稱加密算法,公鑰加密的消息僅能通過私鑰解密,這樣服務端解密后,雙方就得到了相同的密鑰,再用它加密應用消息。(公鑰如何獲取:CA證書里)

  • CA證書:保證密鑰發售者身份的真實性
  • 非對稱加密技術:保證消息不被冒充
  • 對稱密鑰傳送:保證消息不被泄露
  • 為什么要采用非對稱加密技術:保證密鑰分發給通信雙方的安全性

2. TLS 握手過程

  1. 第一次握手:客戶端首先會發一個「Client Hello」消息。消息里面有客戶端使用的 TLS 版本號、支持的密碼套件列表,以及生成的隨機數(Client Random)
  2. 第二次握手:當服務端收到客戶端的「Client Hello」消息后,會發送 「Server Hello」消息:包含確認 TLS 版本號是否支持,和從密碼套件列表中選擇一個密碼套件,以及生成隨機數(Server Random)。然后,服務端為了證明自己的身份,會發送「Server Certificate」給客戶端,這個消息里含有數字證書。最后,服務端發了「Server Hello Done」消息,目的是告訴客戶端,我已經把該給你的東西都給你了。客戶端拿到證書后, 使用CA 公鑰確認服務器的數字證書的真實性。
  3. 第三次握手:如果證書沒有問題(通過 CA 的公鑰解密),客戶端會從數字證書中取出服務器的公鑰,生成一個新的隨機數 (pre-master),用服務器的 RSA 公鑰加密該隨機數。向服務器發送如下信息:隨機數、加密算法改變通知、客戶端握手結束通知。
  4. 第四次握手:服務端收到后,用 RSA 私鑰解密,得到客戶端發來的隨機數。雙方根據已經得到的三個隨機數,生成會話密鑰(Master Secret),它是對稱密鑰,用于對后續的 HTTP 請求/響應的數據加解密。然后,向客戶端發送最后的信息:加密通信算法改變通知、服務器握手結束通知,表示服務器的握手階段已經結束。

3. 常見的加密算法

3.1 對稱加密算法

在對稱加密算法中,加密和解密使用的是同一個密鑰

AES (Advanced Encryption Standard):
AES是目前最廣泛使用的對稱加密標準之一,提供了128、192和256位的密鑰長度,因其高度的安全性和效率,在許多安全協議和系統中被采用。

DES (Data Encryption Standard):
DES是較早的加密標準,使用56位密鑰,因其密鑰長度較短,已被認為不夠安全,容易受到暴力破解攻擊,已逐漸被AES所取代。
非對稱加密算法

3.2 非對稱加密算法

使用一對密鑰,一個公鑰用于加密,一個私鑰用于解密

RSA (Rivest-Shamir-Adleman):
RSA是最早和最著名的非對稱加密算法之一,廣泛用于數據傳輸和數字簽名。RSA的安全性基于大數分解的難題。

ECC (Elliptic Curve Cryptography):
ECC是基于橢圓曲線數學的一種加密技術,相比于RSA,ECC可以在較短的密鑰長度下提供相同或更高的安全性,在移動設備和IoT設備中特別受歡迎。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/11475.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/11475.shtml
英文地址,請注明出處:http://en.pswp.cn/web/11475.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

讓 計算機 將 數學 公式 表達式 的計算過程繪制出來 【mathematical-expression(MAE)】

目錄 文章目錄 目錄介紹開始實戰引入數學表達式計算庫引入流程圖代碼生成庫開始進行生成 介紹 大家好 今天我們來分享一個新知識,將數學表達式的整個計算過程,以及計算繁多結果在 Java 中繪制出來,計算機中的數學表達式計算的功能很常見了&a…

react 對輸入做出反應與狀態

React 提供了一種操作 UI 的聲明性方式。您無需直接操作 UI 的各個部分,而是描述組件可能處于的不同狀態,并在它們之間切換以響應用戶輸入。 聲明式 UI 與命令式 UI 的比較 在設計 UI 交互時,可能會考慮 UI 如何響應用戶操作而更改。考慮一…

[C語言]總覽

目錄 1. 框架、默認數據類型 2. 分支結構 (1). if ... else ... (2). switch ... case ... 3. 循環結構 (1). while (2). for (3). do ... while 4. 函…

區塊鏈的跨鏈交互:從學校間交流看跨鏈技術

區塊鏈是一種去中心化的分布式賬本技術,它通過加密學和共識機制來確保數據的安全性和不可篡改性。每個區塊鏈就像一所獨立的學校,有自己的制度、學生和重點專業。它們各自運行,有時在同一領域展開不同的活動。隨著區塊鏈技術的不斷發展&#…

【組合博弈】Outcome Classes

Outcome Classes 一個游戲 G G G的outcome函數代表這個游戲最終的結果,就是說這個游戲最后的贏家是誰。outcome函數是一個從游戲 G G G映射到四個結果的函數,四個結果分別是 L , R , P , N L, R, P, N L,R,P,N。意義如下表: ClassNameDefin…

學習筆記:Adaptive Platform(AP)適配到RTOS

一、背景 1、AP版本 Adaptive Platform AUTOSAR R20-11版本標準支持C14。CM模塊支持DDS、SOME/IP協議 2、RTOS RTOS-A核,當前完全支持POSIX PSE51、POSIX PSE52接口,POSIX PSE53部分支持,POSIX PSE54基本不支持。詳細接口參考&#xff1a…

第十四天:PHP 開發,輸入輸出類留言板訪問 IPUA 頭來源

1.PHP-全局變量$_SERVER 2.MYSQL-插入語法INSERT 3.輸入輸出-XSS&反射&存儲 4.安全問題-XSS跨站&CSRF等 1.輸入輸出類安全問題 反射性xss 這個先準備一個數據,隨便弄一個表名字,在隨便弄一點數據存入即可 作為連接的數據庫&#xff0c…

排序-歸并排序(merge sort)

歸并排序(Merge Sort)是一種分而治之的算法,它將原始數組分成越來越小的子數組,直到每個子數組只有一個元素,然后將這些子數組兩兩合并,過程中保持排序狀態,最終合并成一個完全有序的數組。歸并…

《一》Word文字編輯軟件---架構設計分析

1,簡單介紹 今天,我們來模擬offic軟件中的word文檔,運行如圖: 運行程序后會出現主界面,頂端的菜單欄包括“文件”“編輯”“格式”“窗口”和“幫助五個主菜單。 菜單欄下面是工具欄,包含了系統常用的功能按…

如何判斷海外住宅ip的好壞?

在海外IP代理中,住宅IP屬于相對較好的資源,無論是用于工作、學習、還是娛樂,都能得到較好的使用效果。作為用戶,該如何判斷海外住宅IP的好壞呢? 穩定性與可靠性:海外住宅IP相比動態IP地址,通常具…

Java全局異常處理,@ControllerAdvice異常攔截原理解析【簡單易懂】

https://www.bilibili.com/video/BV1sS411c7Mo 文章目錄 一、全局異常處理器的類型1-1、實現方式一1-2、實現方式二 二、全局異常攔截點2-1、入口2-2、全局異常攔截器是如何注入到 DispatcherServlet 的 三、ControllerAdvice 如何解析、執行3-1、解析3-2、執行 四、其它4-1、設…

電腦提示找不到ffmpeg.dll無法繼續執行代碼怎么辦?

電腦提示找不到找不到ffmpeg.dll無法繼續執行代碼怎么辦,有什么好的解決辦法,出現這樣的彈出就會導致軟件無法打開或者是異常關閉,找不到dll文件,是一個非常重要的電腦使用問題,會給使用者帶來許多的麻煩。那么找不到d…

LeetCode746:使用最小花費爬樓梯

題目描述 給你一個整數數組 cost ,其中 cost[i] 是從樓梯第 i 個臺階向上爬需要支付的費用。一旦你支付此費用,即可選擇向上爬一個或者兩個臺階。 你可以選擇從下標為 0 或下標為 1 的臺階開始爬樓梯。 請你計算并返回達到樓梯頂部的最低花費。 代碼 …

MongoDB和AI 賦能行業應用:制造業和汽車行業

歡迎閱讀“MongoDB和AI 賦能行業應用”系列的第一篇。 本系列重點介紹AI應用于不同行業的關鍵用例,涵蓋制造業和汽車行業、金融服務、零售、電信和媒體、保險以及醫療保健行業。 隨著人工智能(AI)在制造業和汽車行業的集成,傳統…

CDN的工作原理及流程

CDN(Content Delivery Network,內容分發網絡)是一種構建在數據網絡上的分布式內容分發網絡。 CDN利用全局負載均衡技術,將用戶的訪問請求指向離用戶最近且工作正常的流媒體服務器上,由流媒體服務器直接響應用戶的請求…

Tableau學習2.0版——復習

官網下載鏈接:https://www.tableau.com/zh-cn/support/releases 學生賬戶申請鏈接:https://www.tableau.com/zh-cn/academic/students。直接去學信網下載學籍在線驗證作為申請證明。 目錄 1、可視化原理 2、基礎圖表制作 2.1 對比分析(比…

@游戲行業er!MongoDB廣州線下沙龍邀您報名!

隨著游戲和應用程序的發展,數據變得越來越重要。在為您的下一個游戲選擇數據庫時,數據庫管理者常常會面對靈活性、可擴展性、可靠性、運營效率等問題或挑戰。 MongoDB在游戲開發領域有著廣泛的應用,靈活數據模型可以存儲和處理各種類型的數據…

JPA ENTITY EXTEND

1. Overview Relational databases don’t have a straightforward way to map class hierarchies onto database tables. To address this, the JPA specification provides several strategies: MappedSuperclass – the parent classes, can’t be entitiesSingle Table …

webpack處理js和css模塊化導入導出示例:

webpack默認并不能處理js模塊化的導入和導出,依賴于ts-loader和babel-loader webpack.config,js module.exports {entry: ./src/index.ts,output: {filename: main.js,},mode: development, // 或者 productionmodule: {rules: [{test: /\.ts/,exclude: /(node_modules)/,use:…

二維平移矩陣 (2D translate matrix)

2D translate matrix 推薦閱讀正文推薦閱讀 矢量旋轉矩陣 正文 之前我們介紹了矢量旋轉矩陣的形式,這里我們來介紹一下平移矩陣的形式。比如,我們我們有一個點,其坐標為 (0,1)。那么我們如何操作才能夠將這個點沿著 x 軸正方向平移 1 個單位長度呢? 這里我們以向右移動…