加密與安全_密鑰體系的三個核心目標之不可否認性解決方案

文章目錄

  • Pre
  • 概述
  • 不可否認性
    • 數字簽名(Digital Signature)
    • 證書是什么
      • 證書使用流程
  • PKI
    • CA
    • 證書層級
      • 多級證書
      • 證書鏈是如何完成認證的?
  • 其他疑問
    • 1. Alice能直接獲取Bob的公鑰,是否還需要證書?
    • 2. 為什么即使能直接獲取公鑰也需要加密?
    • 3. 使用約定的非公開加解密方式通訊,是否還需要證書?
    • 4. 公開算法與私有算法的安全性對比
    • 5. 信任CA的必要性

在這里插入圖片描述


Pre

加密與安全_常見的分組密碼 ECB、CBC、CFB、OFB模式介紹

加密與安全_ 解讀非對稱密鑰解決密鑰配送問題的四個方案

加密與安全_密鑰體系的三個核心目標之完整性解決方案

密鑰體系的三個主要目標

機密性:確保第三者無法通過密文猜測出明文。
完整性:確保第三者無法篡改原文內容。
不可否認性:確保第三者不能冒充其他人發送消息。


概述

  1. 解釋消息認證碼的基本概念及其局限性。
  2. 介紹數字證書及其在身份認證中的重要性。
  3. 解釋CA的角色和PKI的基本概念。
  4. 描述CA的主要功能及證書的層級結構。
  5. 討論證書在安全通信中的必要性。
  6. 說明信任CA的原因。

在消息認證碼中,我們可以證明消息沒有發生過篡改。但卻無法證明這個消息就是 Alice 發給 Bob 的。 因為計算消息認證碼所需的數據,Bob 和 Alice 都有,所以從理論上 Bob 是可以偽造這條"消息"的。

如果想做到消息的"無可抵賴性",就需要證明"Alice 是 Alice"。證書體系應運而生,就用在證明"我是我"的場景中。


不可否認性

不可否認性確保消息的發送者不能否認曾經發送過消息,這通常通過數字簽名實現。

數字簽名(Digital Signature)

定義:數字簽名是一種基于非對稱密碼技術的認證機制,用于驗證消息的發送者身份和消息的完整性。

工作原理

  1. Alice使用自己的私鑰對消息的哈希值進行加密,生成數字簽名,并將消息和數字簽名一起發送給Bob。
  2. Bob使用Alice的公鑰對數字簽名進行解密,得到消息的哈希值,并計算接收到的消息的哈希值。
  3. Bob比較兩個哈希值,若相同,則確認消息完整且由Alice發送。

優點

  • 提供身份認證和完整性驗證。
  • 防止發送者否認發送過消息。

應用場景

  • 安全電子郵件、數字合同、軟件分發等需要驗證身份和完整性的場景。

證書是什么

證書是數字世界中的"身份證",證書中標記了姓名、組織、郵箱和地址等個人信息,以及屬于這個人的公鑰。

僅僅有這些信息還不足以讓數字證書變成身份證,證書最關鍵的一個環節是經過"CA"認證并且施加了數字簽名。換言之,CA 認定這個證書就是屬于某個人的,在數字世界中無法抵賴。

為什么 CA 有這么大的權力呢? CA 有能力頒發證書,所以就有能力認定:“這個公鑰的確屬于某人”。某種意義上,我們信任數字證書更大程度上是信任 CA 中心。

證書使用流程

所有 CA 必須是可信的第三方。典型的證書使用流程是這樣的
在這里插入圖片描述


PKI

在證書體系中,為了能夠有效的運用公鑰而制定了一系列的規范,這些規范構成了證書體系的基礎,因此被統稱為 PKI(Public-Key Infrastructure)

PKI 和其他規范一樣,只是規范規格,并沒有強制如何實現。所以很多組織和公司自行實現了里面的細節,所以從理論上說我們每個人都可以自行實現一套 PKI 規范,這樣你也可以成為一個 CA 中心。

但是如何得到廣泛大多數人的承認,這個是最復雜也是最重要的一步。

一般來說 PKI 有三個要素:

  • 用戶(使用 PKI 的人)
  • 認證機構(CA,也就是頒發證書的人)
  • 倉庫(保存所有證書信息的地方)

用戶就不說了,倉庫就是保存證書的數據庫,用戶從倉庫獲取證書。

CA

下面我們說 CA

CA 最重要的幾個功能:

  • 生成密鑰對。 首先,密鑰對可以由用戶自己生成,也可以由 CA 來生成。
  • 注冊證書。CA 會核對用戶身份。當核對成功后,CA 使用自己的私鑰來對用戶的公鑰數據進行數字簽名,生成復合 X.509 規范的證書。
  • 作廢證書和 CRL。當用戶私鑰丟失或者丟失時,CA 可以及時宣告證書作廢。數字證書的作廢并不是登報聲明就能完成,而是會登記在一個證書作廢清單(CRL)中。用戶需要及時更新 CRL 內容,當需要驗證的證書在 CRL 中時,就會按照作廢處理。

證書層級

在最開始的時候,CA 對 Bob 的公鑰進行了認證,并生成了證書。 此時的證書由兩層,一層是 CA,另外一層是 Bob 公鑰

在這里插入圖片描述

多級證書

在實際情況中,證書會有很多層。上面一層負責給下面一層進行認證,而最上面的那一層就稱為 Root CA(根 CA)

在這里插入圖片描述

除去根 CA 和最底層的 Bob 之外,其余的中間 CA 就稱為證書鏈(上面證明下面,就像一個認證鏈所以稱為證書鏈)

證書鏈是如何完成認證的?

在這里插入圖片描述

根證書怎么證明呢? 既然稱之為根證書那就說明上面已經沒有其他 CA 了。 此時此刻,根證書就需要自簽名進行認證

在這里插入圖片描述

由此可見,根證書的私鑰絕對不能泄露。一旦泄露,就可以偽造出完整的證書鏈,那么這個 CA 就算是徹底廢了


其他疑問

1. Alice能直接獲取Bob的公鑰,是否還需要證書?

即使Alice能直接獲取Bob的公鑰,仍然需要證書來驗證公鑰的真實性。獲取公鑰的通道可能不安全,可能被中間人攻擊(Man-in-the-Middle Attack)篡改公鑰。證書通過CA的簽名,確保公鑰確實屬于Bob,防止偽造和篡改。

2. 為什么即使能直接獲取公鑰也需要加密?

即使Alice能通過安全通道直接獲取Bob的公鑰,仍需要加密通信來保護數據的機密性和完整性。加密可以防止數據在傳輸過程中被第三方竊取或篡改。證書體系通過驗證公鑰的真實性,確保加密通信的安全性。

3. 使用約定的非公開加解密方式通訊,是否還需要證書?

使用非公開的加解密方式并不安全。以下是原因:

  • 算法的安全性:私有算法可能存在未被發現的漏洞,容易被攻擊。公開算法經過廣泛審查和測試,更加安全。
  • 保密性:即使算法保密,也難以抵御高級攻擊者。公開算法通過算子保密,實現更高的安全性。

4. 公開算法與私有算法的安全性對比

公開算法的優勢:

  • 廣泛測試:公開算法經過學術界和工業界的廣泛測試,安全性更高。
  • 透明性:算法公開透明,易于發現和修復漏洞。
  • 標準化:公開算法遵循標準,確保互操作性和兼容性。

私有算法的劣勢:

  • 不透明:算法未公開,可能存在未發現的安全漏洞。
  • 信任問題:依賴于開發者的能力和誠信,難以獲得廣泛信任。
  • 難以維護:私有算法難以與其他系統集成,維護成本高。

5. 信任CA的必要性

信任CA類似于信任政府發行的貨幣。CA通過簽發和管理證書,為公鑰提供信用背書,確保公鑰的合法性和真實性。若不信任CA,需要自行驗證每個證書節點的合法性,實際上等同于CA的工作。因此,信任CA可以簡化驗證過程,提高效率和安全性。

在這里插入圖片描述

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

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

相關文章

理解機器學習中的潛在空間(Understanding Latent Space in Machine Learning)

1、什么是潛在空間? If I have to describe latent space in one sentence, it simply means a representation of compressed data. 如果我必須用一句話來描述潛在空間,它只是意味著壓縮數據的表示。 想象一個像上面所示的手寫數字(0-9&…

vue學習day01-vue的概念、創建Vue實例、插值表達式、響應式、安裝Vue開發者工具

1、vue的概念 Vue是一個用于構建用戶界面的漸進式 框架 (1)構建用戶界面:基于數據動態渲染頁面 (2)漸進式:循序漸進的學習 (3)框架:一條完整的項目解決方案&#xff…

GenAl如何改變 DevOps 中的軟件測試?

TestComplete 是一款自動化UI測試工具,這款工具目前在全球范圍內被廣泛應用于進行桌面、移動和Web應用的自動化測試。 TestComplete 集成了一種精心設計的自動化引擎,可以自動記錄和回放用戶的操作,方便用戶進行UI(用戶界面&…

RTK_ROS_導航(2):衛星圖查看

目錄 1. 基于MapViz的衛星圖查看 1. 基于MapViz的衛星圖查看 安裝 # 源碼安裝 mkdir -p RTK_VISION/src cd RTK_VISION/src git clone https://github.com/swri-robotics/mapviz.git --branchmelodic-eol sudo apt-get install ros-$ROS_DISTRO-mapviz ros-$ROS_DISTRO-mapviz-…

IP-GUARD如何禁止電腦自帶攝像頭

IP-GUARD可以通過設備管理模塊禁止USB接口,所以USB外置攝像頭很容易就可以禁止了。 但是筆記本自帶攝像頭無法禁止,配置客戶端策略如下: device_control_unknown_mode1 device_control_unphysical_mode3

純電車的OBD接口

盡管傳統汽車的OBD接口主要用于監控和報告排放數據,但純電動車輛作為零排放的交通工具,其設計初衷與需求截然不同。因此,從法律條文和車管所的規定來看,純電動車輛是否仍需配置OBD接口這一問題,確實值得探討。理論上&a…

ABAP中ARFC_GET_TID函數詳細的使用方法

在ABAP中,ARFC_GET_TID 函數模塊用于以十六進制形式返回終端的IP地址。這個功能在需要獲取當前會話或終端的網絡地址信息時非常有用,比如在日志記錄、安全審計或網絡診斷等場景中。 詳細使用方法 調用函數模塊 ARFC_GET_TID 函數的調用通常很直接&…

記一次 Qt installer framework安裝程序過程中 安裝驅動依賴

在installscript.qs 文件中該函數添加exe 依賴程序放置位置

Spring @Value獲取數組、集合、map等不同結構方法

Spring 架構中,可以使用Value注解從配置文件或命令行參數中獲取集合數據。 各種示例 獲取基礎類型 當沒有配置時,可以設置默認值。無默認值時會拋出空值異常。 Value("${lizz.timeout:3000}")private int timeout;Value("${lizz.key:…

Python28-11 CatBoost梯度提升算法

CatBoost(Categorical Boosting)是由Yandex(一家俄羅斯互聯網企業,旗下的搜索引擎曾在俄國內擁有逾60%的市場占有率,同時也提供其他互聯網產品和服務)開發的一種基于梯度提升的機器學習算法。CatBoost特別擅長處理類別特征&#x…

什么是ThingsKit物聯網平臺?

在信息化時代的浪潮中,物聯網(IoT)作為新一代信息技術的核心,已經逐漸滲透到我們生活的方方面面。而在這個大背景下,Thingskit物聯網平臺以其獨特的技術優勢和應用場景,成為了物聯網領域的一顆璀璨明星。本…

AI和人工智能是啥關系?

AI(人工智能)與通用人工智能(AGI)是人工智能領域中的兩個重要概念,它們在定義、技術基礎以及應用領域等方面有所區別。人工智能(AI),是指使計算機和其他機器模擬人類智能的技術&…

3.flink架構

目錄 概述 概述 Flink是一個分布式的帶有狀態管理的計算框架,為了執行流應用程序,可以和 Hadoop YARN 、K8s 進行整合,當然也可以是一個 standalone 。 官方地址:速遞 k8s 是未來的一種趨勢,對資源管控能力強。

Windows 控制中心在哪里打開,七種方法教會你

在 Windows 操作系統中,控制中心的概念可能稍有些混淆,因為 Windows 通常使用“控制面板”這一術語來指代用于配置系統設置和更改硬件及軟件設置的中心區域。 不過,隨著 Windows 的更新,微軟也在逐步將一些設置遷移到“設置”應用…

關于Linux的操作作業!24道題

🏆本文收錄于「Bug調優」專欄,主要記錄項目實戰過程中的Bug之前因后果及提供真實有效的解決方案,希望能夠助你一臂之力,幫你早日登頂實現財富自由🚀;同時,歡迎大家關注&&收藏&&…

js如何要讓一個對象繼承另一個對象的原型屬性和方法

js如何要讓一個對象繼承另一個對象的原型屬性和方法 1、使用 Object.create() const parent {greet: function() {console.log("Hello from parent!");} };const child Object.create(parent); child.greet(); // 輸出: Hello from parent!2、使用 proto 屬性 …

【算法】貪婪算法介紹及實現方法

貪婪算法簡介 貪婪算法(Greedy Algorithm)是一種在每一步選擇中都采取當前狀態下最好或最優(即最有利)的選擇,從而希望導致結果是全局最好或最優的算法。貪婪算法通常用于解決優化問題,如最小化成本、最大…

Tomcat打破雙親委派模型的方式

文章目錄 1、前言2、標準的雙親委派模型3、Tomcat的類加載器架構4、Tomcat打破雙親委派模型的方式5、總結 1、前言 雙親委派模型是一種類加載機制,它確保了類加載器層次結構中的父加載器先于子加載器嘗試加載類。這種機制有助于防止類的重復加載和類之間的不兼容。…

MySQL數據庫基本操作-DDL和DML

1. DDL解釋 DDL(Data Definition Language),數據定義語言,該語言部分包括以下內容: 對數據庫的常用操作對表結構的常用操作修改表結構 2. 對數據庫的常用操作 功能SQL查看所有的數據庫show databases;查看有印象的數據庫show d…

16 - Python語言進階

Python語言進階 數據結構和算法 算法:解決問題的方法和步驟 評價算法的好壞:漸近時間復雜度和漸近空間復雜度。 漸近時間復雜度的大O標記: - 常量時間復雜度 - 布隆過濾器 / 哈希存儲 - 對數時間復雜度 - 折半查找(二分查找&am…