博客 > 公鑰與私鑰對的工作原理?5個場景告訴你答案
瀏覽量:2116次評論:0次
作者:銳成網(wǎng)絡(luò)整理時間:2024-07-12 15:57:57
我們知道,在IT環(huán)境中,公鑰與私鑰對在加密、認(rèn)證、數(shù)字簽名等方面發(fā)揮著重要作用,但它們的使用方式對于每個應(yīng)用場景來說都有著很大不同。這讓我們不禁產(chǎn)生疑問:這一切到底是如何在“幕后”運作的?SSL Store的內(nèi)容經(jīng)理凱西·克蘭(Casey Crane)在Hashed Out上分享了公鑰與私鑰對在五種不同的公鑰基礎(chǔ)設(shè)施 (PKI) 場景中的應(yīng)用方式,以下是譯文內(nèi)容。
首先提一個問題:公鑰加密,私鑰解密——對嗎?
一個簡短的答案:不總是這樣。
是的,在大多數(shù)場景中,公鑰用于加密數(shù)據(jù),而其相應(yīng)的私鑰用于解密密鑰。但是,某些流程也存在例外情況。我們將在以下部分中為您詳細(xì)解釋這一切,看一下五個非常常見的場景:
1 、SSL/TLS連接期間公鑰和私鑰對的工作原理是什么?
當(dāng)您通過HTTPS訪問一個安全網(wǎng)站時,每個連接都會以一個稱為TLS握手的過程開始。在此過程中,使用公鑰加密(即非對稱加密)來交換敏感信息,然后切換到對稱加密來完成其余部分的會話。
為什么要費力去切換呢?因為對稱加密比公鑰加密需要更少的計算能力。盡管我們談?wù)摰氖菢O短的時間(即毫秒級),但它對于大規(guī)模數(shù)據(jù)加密(即對于具有較高網(wǎng)絡(luò)流量的大型組織)來說更高效。
要加密您的網(wǎng)站連接,您需要在服務(wù)器上安裝SSL/TLS證書。它還要求客戶端和服務(wù)器進(jìn)行自我介紹并交換基本信息以創(chuàng)建安全的加密會話。這種來回過程稱為TLS握手,大多數(shù)瀏覽器支持兩種版本,即TLS1.2(最常見)和TLS1.3。
以下是TLS1.2握手過程工作原理的概述:
以下圖片顯示了私鑰和公鑰對在TLS1.2握手中扮演的角色作用。
當(dāng)涉及TLS1.3握手時,過程有所不同,特別是在密鑰交換過程方面。我們的想法是將一切簡化為一次往返。
但基本概念保持不變:公鑰和私鑰對用于安全地交換用于實際數(shù)據(jù)加密的對稱密鑰。
2、代碼簽名如何使用私鑰和公鑰對來保護(hù)可執(zhí)行文件和代碼?
讓我們考慮一下公鑰和私鑰對在軟件安全中的使用。保護(hù)代碼、軟件、可執(zhí)行文件等的過程涉及開發(fā)人員或發(fā)布者使用代碼簽名證書向其軟件可執(zhí)行文件添加數(shù)字簽名。
此過程使用加密密鑰和函數(shù)(如哈希函數(shù)和加密)來驗證創(chuàng)建資產(chǎn)的開發(fā)人員/發(fā)布者的身份,并驗證文件或代碼在簽名后是否被修改。
還記得在本文章開頭我們提到公鑰加密和私鑰解密的情況并不總是如此嗎?這就是我們所指的情況。
但從每個密鑰的使用方式和時間來看,這個過程是什么樣的呢?
下圖顯示了代碼簽名的工作原理以及一半的加密密鑰對的作用。
那么,公鑰在哪里發(fā)揮作用呢?在客戶端發(fā)生的軟件驗證過程中:
下圖顯示了當(dāng)用戶下載或嘗試安裝數(shù)字簽名的軟件或代碼時,公鑰在代碼簽名驗證過程中的作用。
3、如何使用公鑰和私鑰對對文檔進(jìn)行數(shù)字簽名?
當(dāng)我們談?wù)撐臋n簽名時,并不是指在電子文件上簽署手寫簽名。(注意:這很容易被偽造!)相反,我們是指將可驗證的數(shù)字身份標(biāo)記在數(shù)字文件(Word文檔、PDF等)上,以使人們知道它是真實且沒有被篡改的。
下圖顯示了數(shù)字簽名(中和右)和電子簽名(左)之間的區(qū)別。
您現(xiàn)在可能已經(jīng)猜到,要對文檔進(jìn)行數(shù)字簽名,您必須擁有文檔簽名證書。那么,公鑰和私鑰對在這件事情中扮演什么角色呢?這與我們之前描述的代碼簽名過程中私鑰的作用類似:
下圖顯示了文檔簽名的工作原理,說明了如何使用文檔簽名私鑰為Microsoft Office文檔和PDF創(chuàng)建數(shù)字簽名。
當(dāng)最終用戶下載文件時,他們的設(shè)備將檢查其數(shù)字簽名。
他們的系統(tǒng)將應(yīng)用開發(fā)人員的公鑰來解密文件的摘要。然后,它將比較原始哈希摘要與系統(tǒng)創(chuàng)建的哈希摘要是否匹配。
4、公鑰和私鑰對如何使電子郵件簽名成為可能?
電子郵件簽名是一種使發(fā)件人能夠證明自己發(fā)送了郵件并且該消息不是由冒名頂替者發(fā)送的過程。這個過程使用電子郵件簽名證書(也稱為客戶端認(rèn)證證書),發(fā)件人將其安裝到設(shè)備上或?qū)氲诫娮余]件客戶端中。
下圖為Windows證書管理器中安裝的電子郵件簽名和客戶端身份驗證證書的示例屏幕截圖。
那么,這個電子郵件簽名過程是什么樣的,公鑰和私鑰對又是如何參與其中呢?
下圖為代碼簽名過程如何工作以及加密密鑰在對電子郵件進(jìn)行數(shù)字簽名時發(fā)揮作用的屏幕截圖。
收到消息后:
接收方會將其生成的哈希與之進(jìn)行比較,以查看是否匹配。如果匹配,接收方就可以放心地確定該電子郵件是真實的。
5、公鑰與私鑰對如何實現(xiàn)安全、加密的電子郵件通信?
電子郵件加密是在用戶點擊“發(fā)送”按鈕之前,將電子郵件內(nèi)容(文字、圖片/圖形、附件等)隨機(jī)混淆,將其轉(zhuǎn)化為不可讀形式的過程。但是,它不加密電子郵件標(biāo)頭信息。
加密電子郵件類似于將秘密、編碼過的消息封存在安全的集裝箱內(nèi);這樣,在傳輸過程中或者在到達(dá)位置時(即在電子郵件服務(wù)器上)時就不會被查看。這就是為什么它有時被稱為端到端加密,因為它從一個端點保護(hù)到另一個端點。
那么,在公鑰與私鑰對如何使用的方面,這個過程是什么樣的?(注意:電子郵件的接收者和發(fā)送者都必須在其設(shè)備上安裝電子郵件簽名證書。)
下圖顯示電子郵件加密的工作原理以及在此過程中如何使用公鑰和私鑰。
寫在最后
盡管您不需要了解加密密鑰中如何使用公鑰和私鑰對的具體細(xì)節(jié),但學(xué)習(xí)這方面的知識絕對有益。
因為加密密鑰對于與互聯(lián)網(wǎng)安全相關(guān)的一切都至關(guān)重要。無論是保護(hù)提交到您的網(wǎng)站的敏感數(shù)據(jù),還是保護(hù)電子郵件、文檔和文件的機(jī)密性和完整性,都離不開公鑰和私鑰對的安全性保障。
公鑰和私鑰對有助于實現(xiàn)以下功能:
身份驗證
這可以歸結(jié)為數(shù)字身份的驗證和確認(rèn)。它使得某個實體(例如網(wǎng)站、電子郵件發(fā)送者、軟件發(fā)布方、文檔創(chuàng)建者等)的合法性得以確認(rèn)。
數(shù)據(jù)完整性
公鑰和私鑰對與哈希和加密等密碼學(xué)過程結(jié)合使用,實現(xiàn)了證明消息和文件真實性的數(shù)字簽名。
不可否認(rèn)性
這意味著驗證數(shù)據(jù)是否來自相關(guān)方,并且沒有來自未經(jīng)驗證的源,只要保持私鑰的安全性。
一言以蔽之,數(shù)字信任所基于的公鑰密碼學(xué)是互聯(lián)網(wǎng)安全的核心。如果您不能確信網(wǎng)站、軟件開發(fā)人員、文檔創(chuàng)建者或電子郵件發(fā)送者的身份是合法的,那么您如何相信您發(fā)送或接收的任何數(shù)據(jù)是安全且可信的呢?您不能。這就是為什么保持加密密鑰的安全至關(guān)重要。
我們希望本文能夠強(qiáng)調(diào)安全地管理和存儲私鑰的重要性。通過保護(hù)這些關(guān)鍵資產(chǎn)的安全性,您可以防止所有敏感數(shù)據(jù)(包括您和客戶的數(shù)據(jù))不被泄露。
來源|Hashed Out
圖源|Hashed Out
編輯|公鑰密碼開放社區(qū)
重要聲明:本文來自公鑰密碼開放社區(qū),經(jīng)授權(quán)轉(zhuǎn)載,版權(quán)歸原作者所有,不代表銳成觀點,轉(zhuǎn)載的目的在于傳遞更多知識和信息。
相關(guān)文章推薦
2025-04-02 16:28:39
2025-03-27 15:01:53
2025-02-26 15:02:54
2025-02-19 14:56:25
2025-02-18 16:54:03
SSL證書品類
熱門工具
標(biāo)簽選擇
閱讀排行
我的評論
還未登錄?點擊登錄