米利唐_后腰_乌克兰足球超级联赛_中国竞彩欧赔 - 足球竞彩分析

集團官網
  • 國家級全民數字素養與技能培訓基地
  • 河南省第一批產教融合型企業建設培育單位
  • 鄭州市數字技能人才(碼農)培養評價聯盟

什么是SSL?https如何保證數據傳輸安全

編輯:云和數據 日期:2022-07-13 17:31

什么是SSL?

SSL 代表安全套接字層。它是一種用于加密和驗證應用程序(如瀏覽器)和 Web 服務器之間發送的數據的協議。 身份驗證 , 加密 Https 的加密機制是一種共享密鑰加密和公開密鑰加密并用的混合加密機制。

SSL/TLS 協議作用:認證用戶和服務,加密數據,維護數據的完整性的應用層協議加密和解密需要兩個不同的密鑰,故被稱為非對稱加密;加密和解密都使用同一個密鑰的對稱加密。優點在于加密、解密效率通常比較高 HTTPS 是基于非對稱加密的, 公鑰是公開的,

(1)客戶端向服務器端發起 SSL 連接請求;

(2) 服務器把公鑰發送給客戶端,并且服務器端保存著唯一的私鑰;

(3)客戶端用公鑰對雙方通信的對稱秘鑰進行加密,并發送給服務器端;

(4)服務器利用自己唯一的私鑰對客戶端發來的對稱秘鑰進行解密;

(5)進行數據傳輸,服務器和客戶端雙方用公有的相同的對稱秘鑰對數據進行加密解密,可以保證在數據收發過程中的安全,即是第三方獲得數據包,也無法對其進行加密,解密和篡改。

因為數字簽名、摘要是證書防偽非常關鍵的武器。 “摘要”就是對傳輸的內容,通過 hash算法計算出一段固定長度的串。然后,在通過 CA 的私鑰對這段摘要進行加密,加密后得到的結果就是“數字簽名”

SSL/TLS 協議的基本思路是采用公鑰加密法,也就是說,客戶端先向服務器端索要公鑰,然后用公鑰加密信息,服務器收到密文后,用自己的私鑰解密。

如何保證公鑰不被篡改?

將公鑰放在數字證書中。只要證書是可信的,公鑰就是可信的。

公鑰加密計算量太大,如何減少耗用的時間?

每一次對話(session),客戶端和服務器端都生成一個”對話密鑰”(session key),用它來加密信息。由于”對話密鑰”是對稱加密,所以運算速度非常快,而服務器公鑰只用于加密”對話密鑰”本身,這樣就減少了加密運算的消耗時間。

(1)客戶端向服務器端索要并驗證公鑰。

(2)雙方協商生成”對話密鑰”。

(3)雙方采用”對話密鑰”進行加密通信。上面過程的前兩步,又稱為”握手階段”(handshake)。

《計算機網絡》書本:

SSL 工作過程,A:客戶端,B:服務器端

1.協商加密算法:A 向 B 發送 SSL 版本號和可選加密算法,B 選擇自己支持的算法并告知 A

2.服務器鑒別:B 向 A 發送包含公鑰的數字證書,A 使用 CA 公開發布的公鑰對證書進行驗證

3.會話密鑰計算:A 產生一個隨機秘密數,用 B 的公鑰進行加密后發送給 B,B 根據協商的算法產生共享的對稱會話密鑰并發送給 A.

4.安全數據傳輸:雙方用會話密鑰加密和解密它們之間傳送的數據并驗證其完整性

相關內容

搶先一步 鴻蒙(HarmonyOS)應用開發者高級認證 免費考! 適合人群計算機相關專業在校生(技師、中職、高職、本科、研究生)對鴻蒙(HarmonyOS)有興趣的非計算機相關專業在校生目前正在從事移動應用的開發者目前正在從事計算機行業相關的人計算機專業高校老師所有對鴻蒙(HarmonyOS)有興趣的人 培訓方案掌握鴻蒙的核心概念和端云一體化開發、... 什么是Java的多態性(polymorphism)?它有哪些不同的形式? 多態性是Java面向對象編程的一個重要概念,它允許不同的對象以一致的方式響應同一個方法調用,具體表現為對象在運行時可以表現出多個不同的形態。多態性主要有兩種不同的形式:編譯時多態性(靜態多態性)和運行時多態性(動態多態性)。1. 編譯時多態性(靜態多態性):   ... 如何學習和搭建Hadoop開發環境? Hadoop是大數據處理領域的重要平臺,能夠處理和分析大量數據。為了有效地利用Hadoop,我們需要學習其基礎知識,并正確搭建開發環境。下面是詳細的學習和搭建指南。一、學習Hadoop基礎掌握基礎概念和原理Hadoop主要由HDFS和MapReduce兩部分組成。HDFS是分布式文件系統,Ma... UI 設計學習如何進階成為高手 我總結了六種方法,幫助你走出舒適區,提高技能,成長為自信且經驗豐富的UI設計高手一位經驗豐富的 UI 設計師,往往十分看中應用程序界面的吸引力和視覺刺激,確保滿足用戶期望和需求。但是,如果你已經在 UI 設計圈摸爬滾打多年,仍然沒有出色的作品,那你極有可能是因為陷入了一個舒適圈,UI技能一直原... 在Java中Executor和Executors的區別? 在Java中,Executor和Executors都與線程池和并發執行有關,但它們是不同的概念和類。1.ExecutorExecutor是一個接口,位于java.util.concurrent包中,用于表示一個執行任務的執行器。它只定義了一個方法:void execute(Runnable c... String類型的常見命令有哪些? String類型,也就是字符串類型,是Redis中最簡單的存儲類型。其value是字符串,不過根據字符串的格式不同,又可以分為3類:string是普通字符串,int整數類型,可以做自增、自減操作,float浮點類型,可以做自增、自減操作。String的常見命令有:SET:添加或者修改已經存在的...