Interview preparation--Https 工作流程

HTTP 傳輸的弊端

在這里插入圖片描述

  • 如上圖,Http進行數據傳輸的時候是明文傳輸,導致任何人都有可能截獲信息,篡改信息
  • 如果此時黑客冒充服務器,或者黑客竊取信息,則其可以返回任意信息給客戶端,而且不被客戶端察覺,所以我們經常會聽到“劫持”這個詞
改進HTTP傳輸-對稱加密傳輸

在這里插入圖片描述

  • 改進版本之后,Client和Service端在進行通信的時候,用對稱加密,Client與Servic端分別保存密鑰A,通信加密,解密都用A
  • 問題點:
    • 對稱加密一般約定加密算法與密鑰A,每個客戶端不一樣,因此維護困難,一般都維護在Service或者Client某一端,由Service 或者Client生成密鑰A后傳遞給另外一端口, 這樣密鑰A在傳輸過程存在泄漏可能
改進HTTP傳輸-非對稱加密

在這里插入圖片描述

  • 以上Client 保存公鑰,公開的,所有人可見,Service保存私鑰。
  • Client發信息用公鑰加密發給Service用私鑰解密
  • Service 發信息用私鑰加密發給Client用公鑰解密
  • 問題:
    • 公鑰公開的,黑客也能能通過公鑰解密獲取到的所有Service端發送到Client的信息,造成信息泄漏
改進HTTP傳輸-對稱加密和非對稱加密結合使用

在這里插入圖片描述

  • Client持有公鑰,Service 持有私鑰,第三步開始Client 生成一個對稱密鑰A,用公鑰加密A得到加密后的字符B

  • Client將B 以及 用A加密后的密文 一起 發送給Service ,Service 用 私鑰解密 B 得到A,利用A解密密文的到原文

  • 同樣Service用A加密要傳輸的數據得到密文傳輸給Client用A解密得原文

  • 優點:

    • 密文安全性,公鑰即使泄漏,但是密文是 A加密的,公鑰無法解密
    • 密鑰安全性,A傳輸過程用公鑰加密的,即使被截獲,沒有私鑰也無法解密得不到對稱密鑰
    • 對稱加密的優勢:對稱加密如果能保證秘鑰不被黑客獲取,那么他是安全的,并且對稱加密的速度具有很大優勢,用在蜜文加密上
    • 非對稱加密優勢:非對稱加密請求發起時候盡管使用的是公鑰加密,但是因為必須使用私鑰解密的特點,因此能夠保證消息體在向服務器用在對稱密鑰加密上
  • 風險點:

在這里插入圖片描述

  • 第一步 公鑰獲取的時候被截獲,公鑰不是Service給的,是黑客給的,之后所有請求都是黑客偽造的,Client得到的公鑰 和黑客的私鑰是匹配的,完犢子
改進HTTP傳輸- 對稱加密+非對稱加密+SSL證書(HTTPS實現)

在這里插入圖片描述

  • 首先說明證書作用:如上圖,2步驟時候服務器發送了一個SSL證書給客戶端,SSL證書中包含的具體內容有:

    • 證書發布機構CA
    • 證書有效期
    • 公鑰
    • 證書所有者
    • 簽名
  • 客戶端在接受服務器發來的SSL證書會對證書進行校驗,以瀏覽器為例說明如下:

    • 首先瀏覽器讀取證書中的證書所有者,有效期信息進行校驗
    • 瀏覽器開始查找操作系統中已內置的收信人的證書發布機構CA,與服務器發來的證書中的頒發者CA對比,用于校驗證書是否為合法機構頒發
    • 如果找不到,瀏覽器報錯,說明服務器發來的證書是不可信的。
    • 如果找到,瀏覽器會從操作系統中取出頒發者CA的公鑰,然后對服務器發來的證書里面的簽名進行解密
    • 瀏覽器使用相同的hash算法計算出服務器發來的證書的hash值,將這個計算的hash值與證書中簽名做對比
    • 對比結果一致,則證明服務器發來的證書核發,沒有被冒充。
    • 此時瀏覽器就可以讀取證書中公鑰,用于后續加密了。
  • 通過SSL證書,完成了公鑰的安全獲取,安全性由第三方保證。接下來就是走上一個步驟中說明的:對稱加密和非對稱加密結合使用過程

  • 總的來說,HTTPS實現如下圖

在這里插入圖片描述

  • 紅色鑰匙–私鑰
  • 綠色鑰匙–公鑰
  • 黃色鑰匙–對稱密鑰
  1. Client發起請求(443接口)
  2. Service 返回公鑰SSL證書
  3. Client解析SSL得到公鑰
  4. Client生成對稱密鑰,并且用得到的公鑰給對對稱密鑰加密傳給Service
  5. Service端的到加密后對稱密鑰,用私鑰解密
  6. C/S雙方用對稱密鑰
    • 加密明文并發送
    • 解密密文的到明文

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

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

相關文章

2.3.2 主程序和外部IO交互 (文件映射方式)----C#調用范例

2.3.2 主程序和外部IO交互 (文件映射方式)----C#調用范例 效果顯示 1 說明 1 .1 Test_IOServer是64bit 程序, BD_SharedIOServerd.dll 在 /Debug文件夾中 1 .2 Test_IOServer是32bit 程序, BD_SharedIOClientd.dll (32bit&#…

[FreeRTOS 內部實現] 事件組

文章目錄 事件組結構體創建事件組事件組等待位事件組設置位 事件組結構體 // 路徑:Source/event_groups.c typedef struct xEventGroupDefinition {EventBits_t uxEventBits;List_t xTasksWaitingForBits; } EventGroup_t;uxEventBits 中的每一位表示某個事件是否…

適用于Mac和Windows的最佳iPhone恢復軟件

本文將指導您選擇一款出色的iPhone數據恢復軟件來檢索您的寶貴數據。 市場上有許多所謂的iPhone恢復程序。各種程序很難選擇并選擇其中之一。一旦您做出了錯誤的選擇,您的數據就會有風險。 最好的iPhone數據恢復軟件應包含以下功能。 1.安全可靠。 2.恢復成功率高…

java MultipartFile multipartFile 文件上傳重命名

java MultipartFile multipartFile 文件上傳重命名 我們在文件上傳的時候,需要考慮重名覆蓋問題,為邏輯嚴謹,需要在文件上傳的時候,將文件名前方拼接UUID或者時間戳,來區分同名文件,但因此引出如何修改前端…

Windows下Visual Studio 中配置第一個CUDA工程

今天整NVIDIA 的CUDA 安裝和第一個CUDA 代碼,順便添加一個有CUDA工程的空框架。 (1)首先確認自己的CUDA 已經安裝成功 >>cmd 進入命令窗,在窗口輸入查看cuda 是否安裝成功,能查到CUDA的版本號,表示安…

VitePress安裝部署

VitePress安裝部署 VitePress安裝步驟 安裝 Node環境 官網下載:https://nodejs.org/zh-cn 傻瓜式安裝到完成 npm環境 安裝完Node環境之后,可以直接運行下面的命令安裝npm npm install -g pnpm關于pnpm源: 有時候需要國內源&#xff0c…

0706_ARM8

練習1: PWM控制蜂鳴器,風扇,震動馬達 pwm.h #ifndef __UART4_H__ #define __UART4_H__ #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h" #include "stm32mp1xx_tim.h"//蜂鳴器 PB6 TIME4_CH1 初…

基于python的數據分解-趨勢-季節性-波動變化

系列文章目錄 前言 時間序列數據的分解,一般分為趨勢項,季節變化項和隨機波動項。可以基于加法或者乘法模型。季節變化呈現出周期變化,因此也叫季節效應(周期)。 一、數據分解步驟 (1)估計時間序列的長期…

儀器校準后出了校準證書后,是不是就代表儀器合格了?

儀器校準是一門技術活,對于從事生產制造的企業而言,是不可或缺的一環,因為這與產品質量密切相關。所以,了解儀器校準的相關知識也變得尤為重要。 在拿到校準證書后,是不是說明儀器合格了?相信不少企業品管人…

指針回顧.

指針的主要作用:提供一種間接訪問數據的方法 1.地址:區分不同內存空間的編號 2.指針:指針就是地址,地址就是指針 3.指針變量:存放指針的變量稱為指針變量,簡稱為指針 1.指針的定義 int *p NULL; int *q NULL; char *p NULL; double *p NUL…

PCDN技術如何提高內容分發效率?(貳)

PCDN技術通過以下方式提高內容分發效率: 1.利用用戶設備作為分發節點:與傳統的 CDN技術主要依賴中心化服務器不同, PCDN技術利用用戶的設備作為內容分發的節點。當用戶下載內容時,他們的設備也會成為內容分發的一部分,將已下載的內容傳遞給其…

第34集《大乘起信論》

好,請大家打開《講義》七十六頁, 子三、釋雙行 前面是把大乘的止跟大乘的觀,各別的說明,這個是針對初學的菩薩,應該是這樣修學的;這個地方是告訴我們的目標,應該使令自己在操作上最好是能夠止…

STL--求交集,并集,差集(set_intersection,set_union,set_difference)

set_intersection(重要) 求兩個有序的序列的交集. 函數聲明如下: template<class InputIterator1, class InputIterator2, class OutputIterator>OutputIterator set_intersection(InputIterator1 _First1, //容器1開頭InputIterator1 _Last1, //容器2結尾(不包含)Inp…

jenkins配置gitee源碼地址連接不上

報錯信息如下&#xff1a; 網上找了好多都沒說具體原因&#xff0c;最后還是看jenkins控制臺輸出日志發現&#xff1a; ssh命令執行失敗&#xff08;git環境有問題&#xff0c;可能插件沒安裝成功等其他問題&#xff09; 后面發現是jenkins配置git的地方git安裝路徑錯了。新手…

加入新數據預測,基于黏菌優化算法SMA優化SVM支持向量機回歸預測(多輸入單輸出)

加入新數據預測&#xff0c;基于黏菌優化算法SMA優化SVM支持向量機回歸預測&#xff08;多輸入單輸出&#xff09; 1.數據均為Excel數據&#xff0c;直接替換數據就可以運行程序。 2.所有程序都經過驗證&#xff0c;保證程序可以運行。 3.具有良好的編程習慣&#xff0c;程序…

cmake find_package 使用筆記

目錄 1 find_package2 config mode2.1 搜索的文件名2.2 搜索路徑 3 module mode3.1 搜索的文件名3.2 搜索路徑 參考 1 find_package 這是官方文檔 下面是學習總結&#xff1a; 首先是find_package的作用是什么&#xff1f;引入預編譯的庫。 find_package有兩種模式&#xff1a…

error executing init.py No module name “imp“ ida

在某論壇下了個IDA&#xff0c;打開報錯No module name “imp”&#xff0c;這是由于高版本python已經移除了imp&#xff0c;新版使用import importlib。 1、打開文件D:\IDA_Pro_7.7\python\3\ida_idaapi.py 2、替換import imp 為 import importlib。 3、替換IDAPython_LoadPr…

【LInux】從動態庫的加載深入理解頁表機制

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;個人主頁 &#xff1a;阿然成長日記 …

【MindSpore學習打卡】應用實踐-自然語言處理-基于RNN的情感分類:使用MindSpore實現IMDB影評分類

情感分類是自然語言處理&#xff08;NLP&#xff09;中的一個經典任務&#xff0c;廣泛應用于社交媒體分析、市場調研和客戶反饋等領域。本篇博客將帶領大家使用MindSpore框架&#xff0c;基于RNN&#xff08;循環神經網絡&#xff09;實現一個情感分類模型。我們將詳細介紹數據…

X86和ARM架構的服務器 的區別

X86和ARM架構的服務器各有其優缺點,并適用于不同的應用場景。 一、X86架構服務器的優缺點及應用場景: 優點: 1. 易于獲取和成本較低:X86服務器在市場上品牌和型號眾多,價格相對較低,適合中小型企業。 2. 處理能力強大:X86服務器通常具有強大的處理器性能,支持多核心…