數字簽名過程及數字證書

數字簽名是什么??

作者:David Youd?
翻譯:阮一峰?
原文網址:http://www.youdzone.com/signature.html?

1.鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰。

?

?

2.Bob把公鑰送給他的朋友們-Pat、Doug、Susan-- 每人一把。

??

?

3.Susan要給Bob一封保密的信。她寫完后用Bob的公鑰加密,就可以達到保密的效果。

?

4.Bob收信后,用私鑰解密,就看到了信件內容,這里強調的是,只要Bob的私鑰不泄露,這封信就是安全的,即使落在別人手里,也無法解密。

?

?5.Bob 給Susan回信,決定采用“數字簽名”。他寫完后先用Hash函數,生成信件的摘要(Digest)。

?

?6.然后,Bob使用私鑰,對這個摘要(Digest)加密,生成“數字簽名”(signature)。

?

7.Bob將這個“數字簽名”,附在信件下面,一起發給Susan。(同樣,如果Bob 要回復加密信息給Susan,那么Susan先公布自己的公鑰給Bob用于加密,Susan 保存自己的私鑰用于解密)

即假設兩個用戶要加密交換數據,雙方交換公鑰,使用時一方用對方的公鑰加密,另一方即可用自己的私鑰解密;

8.Susan 收信后,取下“數字簽名”,用Bob的公鑰解密,得到信件的摘要。由此證明,這封信確實是Bob發出的。

?

?9.Susan再對信件本身使用Hash函數,將得到的結果,與上一步得到的Digest進行對比,如果兩者一直,就證明這封信未被修改過。

?

10.那么復雜的情況出現了,Doug想欺騙Susan,他偷偷使用了Susan的電腦,用自己的公鑰換走了Bob的公鑰。此時Susan實際擁有的是Doug的公鑰,但是自以為是Bob 的公鑰。因此,Doug就可以冒充Bob,用自己的私鑰做成“數字簽名”,寫信給Susan,讓Susan用假的Bob公鑰進行解密

?

?

?11.后來,Susan感覺不對勁,發現在即無法確定公鑰是否真的屬于Bob。她想到了一個辦法,要求Bob 去找“證書中心”(Certificate authority ,簡稱CA)為公鑰做認證。證書中心用自己的私鑰,對Bob的公鑰和一些相關信息一起加密,

? ? ?生成:數字證書(Digital Certificate)

?

12.Bob拿到數字證書以后,就可以放心里。以后再給Susan寫信,只要在簽名的同時,再附上數字證書就行了

13.Susan收信后,用CA的公鑰解開數字證書(Digital Certificate)就可以拿到Bob的真實公鑰了,然后就能證明“數字簽名(”Signture“)是否真的是Bob簽的

?

?

下面,我們看一個應用”數字證書”的實例:https協議。這個協議主要用于網頁加密:

?

主要步驟如下:

1.客戶端向服務器發出加密請求

?

?

?

?2.服務端用自己的私鑰加密網頁以后,連同本身的數字證書,一起發送給客戶端

?

?

?3.客戶端(瀏覽器)的”證書管理器“,有”受信任的根證書頒發機構“列表,客戶端會根據這張列表,查看解開數字證書的公鑰是否在列表之內。

?

?4.如果數字證書記載的網址,與你正在瀏覽的網址不一致,就說明這張證書可能被冒用,瀏覽器會發出警告

?

?5.如果這張證書不是由受信任的機構頒發的,瀏覽器會發出另一種警告

6.如果數字證書是可靠的,客戶端就可以使用證書中的服務器公鑰,對信息進行加密,然后與服務器交換加密信息。

不過,非對稱加密(公鑰加密)在計算上相當復雜,性能欠佳,遠遠不比對稱加密,so 在一般情況下,往往通過公鑰加密來創建臨時的對稱密鑰,亦即會話密鑰(一次性用于會話中加密的對稱式密鑰),

然后才通過對稱加密來傳輸大量、主體的數據。

?

?

?

參考鏈接:

https://baike.baidu.com/item/%E9%9D%9E%E5%AF%B9%E7%A7%B0%E5%8A%A0%E5%AF%86%E7%AE%97%E6%B3%95/1208652?
https://baike.baidu.com/item/%E9%9D%9E%E5%AF%B9%E7%A7%B0%E5%8A%A0%E5%AF%86/9874417?
https://zh.wikipedia.org/wiki/Session_key

?

轉載于:https://www.cnblogs.com/ppp1314520818/p/10594037.html

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

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

相關文章

Teams與OneDrive for Business和SharePoint的關系

作為一個相對看重個人信息安全與隱私的人,個人附件等資料在Microsoft Teams中的存儲方式、文件訪問權限、可見范圍問題引起了我的好奇。 眾所周知,Teams包含3大主要的模塊:單人聊天、團隊、會議。那下面讓我們一起來看一下,對這三…

hadoop學習筆記(二):centos7三節點安裝hadoop2.7.0

環境win7vamvare10centos7 一、新建三臺centos7 64位的虛擬機 master 192.168.137.100 root/123456 node1 192.168.137.101 root/123456 node2 192.168.137.102 root/123456 二、關閉三臺虛擬機的防火墻,在每臺虛擬機里面執行: systemctl sto…

index.html 的默認301或者302跳轉

index.html 的默認301或者302跳轉 <!DOCTYPE html> <html> <head> <title>Google</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> <script>window.locat…

在Microsoft Teams中的Visio協作

所有Team站點都帶有專用文件庫&#xff0c;用于存儲所有工作組的內容。 您現在可以從桌面或云存儲站點將Visio文件上載到此庫&#xff0c;例如&#xff0c;您所在Team的資產都集中在一個位置&#xff0c;供具有權限的任何人進行訪問。與其他存儲文件一樣&#xff0c;您可以直接…

用區塊鏈打擊假新聞 這可能是最2017年的一件事

據外媒報道&#xff0c;非營利性基金會PUBLIQ公布了一個基于區塊鏈打造的平臺。這是一個用于創建和分享原創新聞和媒體內容的平臺&#xff0c;它將在近期推出。據了解&#xff0c;PUBLIQ創建這一平臺則是希望能借用類似于比特幣一樣的系統來打擊假新聞。 通過創建一個受信任的經…

oo面向對象第一單元總結

oo第一次作業主要考察了多項式的求導&#xff0c;從簡單的冪函數求導到三角函數求導再到嵌套函數的求導&#xff0c;難度循序漸進&#xff0c;對我們對于面向對象的理解的要求也在一次一次提升。一行行代碼打下來&#xff0c;一夜夜熬過去&#xff0c;我也來到了這個短暫的停靠…

Microsoft Teams免費版本初體驗

Microsoft Teams推出有一段時間了&#xff0c;如果想要體驗Teams&#xff0c;必須需要有Office365的訂閱。最近微軟為了進一步推廣Teams&#xff0c;突然宣布Teams免費了。使用過Teams的讀者知道Teams是基于Office365賬號和組的&#xff0c;那它免費后&#xff0c;不使用Office…

JS:封裝函數判斷數據類型

思路 1 ).根據 typeof() 的返回值將數據分為2種情況 a.返回值為 string number boolean undefined function (直接返回 typeof() 的返回值) b.返回值為object 2 ).再將 typeof() 返回值為 object 的數據分為2種情況 a.null (直接返回自身) b.包裝類 對象 數組 (再進行細分) var…

強制禁用gitlab的雙因子認證:Two-Factor Authentication

&#xff08;一&#xff09;問題描述&#xff1a; 此博客解決如下問題&#xff1a;禁用gitlab的雙因子認證 禁用前&#xff0c;如圖&#xff08;此時&#xff0c;你在gitlab中什么也干不了&#xff09; &#xff08;二&#xff09;思路分析&#xff1a; 百度了很多方法&#xf…

如何將Outgoing Webhook部署到中國版Azure

在這篇文章中&#xff0c;我們主要來如何將Azure DevOps中的項目作為應用發布到中國版Azure的App Service中。 什么是Azure DevOps Azure DevOps, 原名為VSTS, 全稱是Visual Studio Team System&#xff0c;是由微軟開發的一套具有高生產力、高集成性、可擴展的生命周期開發工…

Google SRE 讀書筆記 扒一扒SRE用的那些工具

寫在前面 最近花了一點時間閱讀了《SRE Goolge運維解密》這本書&#xff0c;對于書的內容大家可以看看豆瓣上的介紹。總體而言&#xff0c;這本書是首次比較系統的披露Google內部SRE運作的一些指導思想、實踐以及相關的問題&#xff0c;對于我們運維乃至開發人員都有一定的借鑒…

第8章 java中的并發工具類

8.1 等待線程完成的CountDownLatch 作用&#xff1a;讓一個線程等待其余線程完成之后在繼續執行&#xff0c;如主線程等待開啟服務的子線程執行完畢后主線程繼續執行&#xff0c;類似于join。 轉載于:https://www.cnblogs.com/AshOfTime/p/10608910.html

Microsoft Teams的Meet Now功能

今天&#xff0c;我們宣布完成了Skype for Business to Teams路線圖中首次披露的幾項關鍵會議功能。當個人聯系&#xff0c;溝通和協作時&#xff0c;工作就自然而然的完成了&#xff0c;我們相信這些功能&#xff08;除了我們2月的公告之外&#xff09;使Microsoft Teams為所有…

深入 Adobe Reader 保護模式 —— 第一部分 —— 設計

原作者&#xff1a;Liz McQuarrie, Ashutosh Mehra, Suchit Mishra, Kyle Randolph, Ben Roger 譯者&#xff1a;lordVice 校對&#xff1a; StrokMitream 看雪翻譯小組 介紹 我是 Kyle Randolph&#xff0c; 和我一起的還有負責 Acrobat 系列產品的安全團隊&#xff0c; 這些產…

Java泛型主題討論

說明&#xff1a;在學習泛型這一知識點中&#xff0c;主要參考自《瘋狂Java講義》第7章P307-P330的泛型內容&#xff0c;因為是跳著閱讀&#xff0c;所以前面的一些名詞不是特別清楚&#xff0c;這里也做出適當備注&#xff0c;供自己識記與理解。 1.泛型 理解&#xff1a;說到…

初學Vue.js,從頭來過~

之前上課也學過vue.js&#xff0c;但是一遍過下來&#xff0c;實話&#xff0c;沒有記住什么&#xff0c;所以決定自己在對照著文檔過一遍&#xff0c;所以之后會弄一些基礎的東西&#xff0c;還請大神們莫噴~~~~今天先給平臺打一個預防針&#xff0c;Young C 要來啦~~ 吼吼&…

從Microsoft Teams技術棧看前端技術發展趨勢

在前不久的微軟美國一年一度的Ignite大會上&#xff0c;微軟宣布Microsoft Teams是微軟歷史上發展最快的應用。它將取代Skype for business&#xff0c;成為語音視頻協作的主打產品。 我也有幸在上個月微軟中國年度技術大會Tech Summit 2018上被邀請作為講師講解基于Teams平臺…

LeetCode 最大正方形

在一個由 0 和 1 組成的二維矩陣內&#xff0c;找到只包含 1 的最大正方形&#xff0c;并返回其面積。 示例: 輸入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0輸出: 4解法&#xff1a;判斷以某個點為正方形右下角時最大的正方形時&#xff0c;那它的上方&#xff0c;左方和左上…

solidity字符串拼接

如果你希望馬上開始學習以太坊DApp開發&#xff0c;可以訪問匯智網提供的出色的在線互動教程&#xff1a; 以太坊DApp實戰開發入門去中心化電商DApp實戰開發當你開始學習使用solidity開發以太坊智能合約之后&#xff0c;很快你會碰到一個問題&#xff1a; 在solidity中該如何拼…

Confluence Cloud的Teams Message Extension

Confluence Cloud的Message Extension現在正式登入Microsoft Teams。 它可用于團隊頻道和私人聊天&#xff0c;使您的對話更具描述性和信息性。 從Microsoft Teams應用商店獲取Confluence Cloud應用程序并連接到Confluence Cloud實例。 連接后&#xff0c;您將能夠搜索Conflue…