擦,中間人攻擊,被騙了 50 w!!
霸占熱搜多日的竹-簽大戰(zhàn)終于水落石出,北京警方在 7 月 22 晚微博發(fā)布的通告中顯示,竹-簽之間還隱藏著一個(gè)神秘玩家:劉某,他一直作為一個(gè)「中間人」的角色在發(fā)起『中間人攻擊』。
中間人攻擊(英語:Man-in-the-middle attack,縮寫:MITM)在密碼學(xué)和計(jì)算機(jī)安全領(lǐng)域中是指攻擊者與通訊的兩端分別創(chuàng)建獨(dú)立的聯(lián)系,并交換其所收到的數(shù)據(jù),使通訊的兩端認(rèn)為他們正在通過一個(gè)私密的連接與對(duì)方直接對(duì)話,但事實(shí)上整個(gè)會(huì)話都被攻擊者完全控制。在中間人攻擊中,攻擊者可以攔截通訊雙方的通話并插入新的內(nèi)容。
一張圖就可以吃完整個(gè)瓜:

簡單來說,就是劉某先冒充被害人之一去和竹套取細(xì)節(jié),然后冒充竹去和簽索要賠償,但是錯(cuò)就錯(cuò)在他為了不引起簽的注意,特意給了竹的銀行卡和自己的銀行卡。
但是呢吳媽只打了 50 w 給竹的銀行卡,劉某并沒收到錢,于是他又假冒簽的律師逼竹簽訂「和解協(xié)議」,否則需要退款,竹認(rèn)為這個(gè)協(xié)議對(duì)自己不利,所以竹在幾天內(nèi)共向劉退了 18 W(支付寶每天有額度限制)。
至于竹在微博上發(fā)布的各種爆料消息,則是他的好友幫忙編輯,主要意圖是想炒作提高知名度。
實(shí)際中,我們平時(shí)上網(wǎng)過程中,也是隨時(shí)面臨著 DNS 欺騙、會(huì)話劫持等中間人攻擊的危險(xiǎn)。
因?yàn)橛?jì)算機(jī)之間通過網(wǎng)絡(luò)連接的,那么在兩臺(tái)計(jì)算機(jī)通信時(shí)就可能被第三方劫持:

有攻必防,要保證安全,一般有兩個(gè)要求:
第三方無法竊聽 一旦被中間人篡改,通信雙方可以發(fā)現(xiàn) 身份認(rèn)證
比如 HTTPS 就能一定程度上解決上網(wǎng)的安全性問題,它通過加密和證書的機(jī)制來解決上訴問題:


整個(gè)過程涉及到對(duì)稱加密/非對(duì)稱加密,數(shù)字簽名、數(shù)字證書等內(nèi)容,那么今天就單獨(dú)寫一篇文章來詳細(xì)說明一下這些知識(shí),主要是串起來。
如果你能清晰的回答出下面這些問題,那么這篇文章就不用看啦:
非對(duì)稱加密中公私鑰都可以加密,那么什么時(shí)候用公鑰加密,什么時(shí)候用私鑰“加密” ?
什么是數(shù)字簽名,數(shù)字簽名的作用是什么?
為什么要對(duì)數(shù)據(jù)的摘要進(jìn)行簽名,而不是直接計(jì)算原始數(shù)據(jù)的數(shù)字簽名?
什么是數(shù)字證書,數(shù)字證書解決了什么問題?
下面主要圍繞數(shù)字簽名和數(shù)字證書的原理以及它們的作用展開。
爭取做到讓不具備任何密碼學(xué)基礎(chǔ)知識(shí)的同學(xué)都能聽懂,所以在這里需要先對(duì)齊一些加密相關(guān)的概念 。
1. 什么是加密
加密就是對(duì)明文數(shù)據(jù)按某種特殊算法進(jìn)行處理,使其成為不可讀的一段代碼,通常稱為“密文“, 密文通過”密鑰“解密后還原出原來的明文,通過這樣的途徑可以達(dá)到保護(hù)數(shù)據(jù)不被非法人竊取、閱讀的目的。
定義簡單吧?那來看個(gè)題,考慮以下哪些屬于加密方法:
AES RSA MD5 BASE64 SM4
這幾種都是日常開發(fā)中常用的數(shù)據(jù)編碼技術(shù),但是只有 AES、RSA、SM4 才能算是加密方法。
為什么呢?一個(gè)區(qū)分的簡單方法就是看編碼后的數(shù)據(jù)是否還能還原,能還原的是加密。
MD5 實(shí)際上是對(duì)數(shù)據(jù)進(jìn)行有損壓縮,無論數(shù)據(jù)有多長,1KB、1Mb 還是 1G,都會(huì)生成固定 128 位的散列值,并且 MD5 理論上是不可能對(duì)編碼后的數(shù)據(jù)進(jìn)行還原的,即不可逆。
MD5 因?yàn)槠渚哂胁豢赡嫘浴蜗蚝愣ㄐ裕ㄏ嗤臄?shù)據(jù)多次計(jì)算值不變)被廣泛應(yīng)用于文件完整性驗(yàn)證、口令加密以及接下來會(huì)講到的數(shù)字簽名中。
至于 BASE64 是否算做加密方法,仁者見仁。在這里不下結(jié)論,因?yàn)?BASE64 編碼不需要密鑰,且編碼后的字符串任何人都可以解碼出原串,所以一般不認(rèn)為是加密方法。BASE64 常用來做轉(zhuǎn)碼,把二進(jìn)制字節(jié)序列轉(zhuǎn)化為 ASCII 字符序列。
2. 加密算法的分類
加密算法按照加解密使用的密鑰是否相同,可分為:
對(duì)稱加密(Symmetric Cryptography) 非對(duì)稱加密(Asymmetric Cryptography)
1. 對(duì)稱加密
對(duì)稱加密是指加密和解密時(shí)使用同一個(gè)密鑰。

2. 非對(duì)稱加密
非對(duì)稱加密是指加密和解密使用不同的密鑰,這兩個(gè)密鑰分別叫做「公鑰」、「私鑰」。
公鑰是可以公開給所有人的,而私鑰需要自己保密的。
公鑰加密的數(shù)據(jù)只能用私鑰解密:

同理,私鑰“加密”的數(shù)據(jù)只能用公鑰“解密”:

大家注意到?jīng)],我對(duì) 私鑰“加密” 這里打了引號(hào),為什么呢?
因?yàn)樗借€不是用來加密的,準(zhǔn)確的說法應(yīng)該是 「私鑰簽名,公鑰驗(yàn)簽」。
這個(gè)問題很多同學(xué)都存在誤解,認(rèn)為公私鑰都可以用于加密。
實(shí)際上不是的,至于為什么,后面講完簽名我會(huì)解釋的。
3. 故事開始
為了講這個(gè)故事,小北請(qǐng)來了密碼學(xué)中常用的學(xué)術(shù)情侶,Alice(竹) 和 Bob(簽),以及竊聽者代表 Eve(劉某)。
我們從 Alice、Bob 約會(huì)的故事展開,來講講其中暗藏著哪些危機(jī),又是如何一步步化解的。
3.1 第一回合
九月,一個(gè)夜黑風(fēng)高的晚上,Bob 想約 Alice 出來玩,于是給 Alice 發(fā)了一封郵件:
但我們都知道網(wǎng)絡(luò)是不可信的,并且由于消息在網(wǎng)絡(luò)中是明文傳輸?shù)模院诳涂梢暂p易的截獲、篡改甚至冒充 Bob。
來,我們看看黑客 Eve 是怎么干的:

瞧,Eve 輕易的拿到了郵件內(nèi)容 (竊聽),并且修改了郵件內(nèi)容 (篡改),甚至說他可以隨時(shí)冒充 Bob 給 Alice 發(fā)送郵件 (偽裝)。
如果上圖中 Eve 偽造的內(nèi)容被 Alice 接收到了,那么后果可想而知。
現(xiàn)實(shí)世界中,我們每天都在通過網(wǎng)絡(luò)進(jìn)行聊天、轉(zhuǎn)賬、瀏覽不存在網(wǎng)站。
如果都是這樣明文傳輸數(shù)據(jù),顯然毫無安全感。
3.2 第二回合
既然我們不能明文傳輸,那么 Bob 和 Alice 提前商量好密鑰,使用對(duì)稱加密對(duì)郵件內(nèi)容加密不就好了~

現(xiàn)在 Bob 發(fā)送的郵件都使用和 Alice 提前商量好的密鑰加密后再傳輸。
由于沒有密鑰,Eve 就算截獲到數(shù)據(jù)也無法獲取郵件的內(nèi)容,也沒法篡改和冒充 Bob。
因?yàn)榇鄹暮蟮臄?shù)據(jù)必須使用密鑰再次加密 Alice 才能正確解密。
那么只要 Bob 和 Alice 能夠保證 密鑰不泄露,整個(gè)通信就是安全的。
如果密鑰泄露,被中間人截獲,那么就等同于明文通信。
所以我們不能把安全性寄托在人上面。
并且這里也存在一個(gè)問題,如果兩個(gè)人不能線下見面, 如何在網(wǎng)上安全的交換密鑰呢?
這似乎是無解的,因?yàn)?strong style="color: rgb(53, 179, 120);">交換密鑰的時(shí)候我們必須明文通信,不然對(duì)方根本看不懂。但是明文交換即意味著可能泄露。
但是別忘了我們的密碼學(xué)工具箱里還有一個(gè)好東西— 「非對(duì)稱加密」。
Bob 和 Alice 各自生成一對(duì)公私鑰,因?yàn)楣€本來就是公開的,即可以被任何人獲取,所以可以通過網(wǎng)絡(luò)明文交換公鑰。
然后使用公鑰加密郵件內(nèi)容后發(fā)送給對(duì)方,接收者使用自己的私鑰即可解密。完美~
3.3 第三回合
來看看,在非對(duì)稱加密體系下,Bob 如何給 Alice 發(fā)消息的。
首先 Alice 需要先生成一對(duì)公私鑰,私鑰只能 Alice 自己知道,公鑰是可以讓任何人都知道的,因此可將公鑰直接發(fā)送給 Bob,就算被截獲也無所謂。

Bob 使用 Alice 的公鑰加密郵件內(nèi)容,加密后的內(nèi)容只能由 Alice 的私鑰解密,所以就算 Eve 截獲也是徒勞。
反之,如果 Alice 想給 Bob 回信,就需要用 Bob 的公鑰加密后發(fā)送。
這就解決了密鑰交換問題,也保證了郵件內(nèi)容不會(huì)泄露。也就是說現(xiàn)在可以防竊聽。
3.4 如何證明 Bob 是 Bob
不知道你注意到?jīng)]有,這里也存在另外一個(gè)問題:
Eve 也可以使用 Alice 的公鑰冒充 Bob 給 Alice 發(fā)郵件啊,因?yàn)?Alice 的公鑰本來就是公開的,任何人都可以獲得。
由于 Eve 也可以獲得 Alice 公鑰,所以沒法防止 Eve 偽造和篡改,并且對(duì)于 Alice 而言,她無法分辨出郵件到底是 Eve 發(fā)的還是 Bob。
所以這個(gè)問題的本質(zhì)就是 「Alice 如何確認(rèn)郵件來自于 Bob」。
那么在生活中,我們?nèi)绾巫鲞@件事呢?
那就是讓 Bob 在紙上簽名并且按手印,因?yàn)橹讣y和字跡是 Bob 獨(dú)有的,其它人很難偽造。
所以我們需要在計(jì)算機(jī)中引入類似的機(jī)制:
即只有 Bob 自己能夠產(chǎn)生的獨(dú)一無二的標(biāo)志,并且其它人能夠驗(yàn)證這個(gè)標(biāo)志確實(shí)是屬于 Bob的。
這就是我們今天要講的主題—「數(shù)字簽名」。
還記得什么是 Bob 獨(dú)有的嗎?
對(duì),就是 Bob 自己的私鑰,Bob 用自己的私鑰對(duì)郵件內(nèi)容計(jì)算一個(gè)「簽名」,將「簽名」和郵件內(nèi)容一起發(fā)送出去,接受者 Alice 可以使用 Bob 的公鑰驗(yàn)證這個(gè)簽名是否正確,這就叫「驗(yàn)簽」。
如果不是 Bob 的私鑰計(jì)算的簽名,那么 Alice 用 Bob 公鑰驗(yàn)簽將會(huì)出錯(cuò)。

可以看到, Eve 試圖使用自己的私鑰計(jì)算簽名然后發(fā)送給 Alice, 但是 Alice 使用 Bob的公鑰進(jìn)行驗(yàn)簽時(shí)將會(huì)出錯(cuò)!
那么 Eve 可能篡改內(nèi)容并冒充 Bob 的簽名嗎?不可能!因?yàn)閮?nèi)容發(fā)生改變時(shí),對(duì)應(yīng)的簽名也需要重新計(jì)算,而簽名的生成依賴于私鑰,只要 Bob 的私鑰不泄露,簽名就不會(huì)被冒充。
啊啥?你說萬一私鑰泄露了怎么辦?那就當(dāng)我沒說......
所以使用數(shù)字簽名,我們能夠鑒別消息的發(fā)送者,也就是說黑客無法偽裝發(fā)送者進(jìn)行發(fā)送數(shù)據(jù),也無法篡改。
注意:
可以看出我們這里數(shù)據(jù)是明文傳輸?shù)模嬖诟`聽風(fēng)險(xiǎn)。但是我們?yōu)榱岁U述數(shù)字簽名機(jī)制是如何運(yùn)轉(zhuǎn)的,故意將保證信息機(jī)密性的機(jī)制省略了。
如果想要保證數(shù)據(jù)的機(jī)密性,我們常見的做法是,通信雙方通過非對(duì)稱加密安全交換對(duì)稱加密的密鑰,后續(xù)通信過程的數(shù)據(jù)都使用對(duì)稱加密保證數(shù)據(jù)機(jī)密性。
并且「簽名」的作用本身也不是用來保證數(shù)據(jù)的機(jī)密性,而是用于驗(yàn)證數(shù)據(jù)來源的防止數(shù)據(jù)被篡改的,也就是確認(rèn)發(fā)送者的身份。
一般而言,我們不會(huì)直接對(duì)數(shù)據(jù)本身直接計(jì)算數(shù)字簽名,為什么呢?
因?yàn)閿?shù)字簽名屬于非對(duì)稱加密,非對(duì)稱加密依賴于復(fù)雜的數(shù)學(xué)運(yùn)算,包括大數(shù)乘法、大數(shù)模等等,耗時(shí)比較久。
如果數(shù)據(jù)量大的時(shí)候計(jì)算數(shù)字簽名將會(huì)比較耗時(shí),所以一般做法是先將原數(shù)據(jù)進(jìn)行 Hash 運(yùn)算,得到的 Hash 值就叫做「摘要」。
「摘要」就像人的指紋一樣,可以代表一個(gè)人,只要內(nèi)容發(fā)生了改變,計(jì)算出來的摘要也應(yīng)該變化。
「摘要」最好是不可逆轉(zhuǎn)的,一般使用開頭提到的 MD5 作為 Hash 函數(shù),MD5 輸出的結(jié)果固定位 128 位。
為什么「摘要」最好是不可逆轉(zhuǎn)的?
因?yàn)榧热?Alice 可以用 Bob 公鑰解開簽名,那么理論上其它人,比如 Eve 也可以使用 Bob 公鑰解開簽名拿到數(shù)據(jù)。
所以我們最好對(duì)數(shù)據(jù)的「摘要」進(jìn)行簽名,這樣,Eve 就算解開簽名,拿到的也是「摘要」,如果摘要是不可逆轉(zhuǎn)的,也就是無法從摘要反推出原文,也就達(dá)到了保密的作用。
發(fā)送者使用私鑰對(duì)「摘要」計(jì)算數(shù)字簽名。那么接收者如何驗(yàn)證呢?

接受者 Alice 收到后,取下數(shù)字簽名,同時(shí)用 Bob 的公鑰解密,得到「摘要1」,證明確實(shí)是 Bob 發(fā)的。
( 畫外音:如果使用 Bob 的公鑰驗(yàn)證簽名出錯(cuò),那么簽名一定不是 Bob 的私鑰生成的)
再對(duì)郵件內(nèi)容使用相同的散列函數(shù)計(jì)算「摘要2」,與上面得到的「摘要1」進(jìn)行對(duì)比,兩者一致就說明信息未被篡改。
這樣兩步分證明發(fā)送者身份和保證數(shù)據(jù)未被篡改。
3.5 這就夠了嗎?
Bob 和 Alice 現(xiàn)在可以依賴于對(duì)稱加密進(jìn)行保密通信,也可以依賴于數(shù)字簽名驗(yàn)證消息是否是對(duì)方發(fā)送的。
但是這一切的根基是建立在 Alice 持有的公鑰確實(shí)是 Bob的,反之亦然。
什么意思呢?
試想,Eve 如果將自己的公鑰冒充 Bob 發(fā)送給 Alice,然后 Alice 保存了下來,那以后凡是 Bob 發(fā)送的消息,反而會(huì)驗(yàn)證簽名失敗,被當(dāng)做冒充者。那你可能會(huì)問,為什么 Eve 可以將自己的公鑰發(fā)送給 Alice,而 Alice 毫不知情呢?
看!我們又回到了最初的起點(diǎn),只不過這次被篡改的是公鑰,之前是消息本身。
因?yàn)?Bob 的公鑰是直接通過網(wǎng)絡(luò)發(fā)送給 Alice的,所以 Eve 才可以在這一步做手腳,進(jìn)行篡改,將自己的公鑰冒充 Bob 發(fā)送給 Alice,也就是發(fā)送公鑰這一步?jīng)]有做到:
防篡改 防冒充
防篡改怎么和防冒充怎么實(shí)現(xiàn)的呢?
我們前面講了,就是靠數(shù)字簽名!但是數(shù)字簽名需要接受者持有發(fā)送者公鑰,才能進(jìn)行驗(yàn)簽。
而我們現(xiàn)在處理的是分發(fā)公鑰這一步,所以.......死鎖了。這像是先有雞還是先有蛋的問題
現(xiàn)在的問題就是「Bob 無法證明它自己是 Bob」。
這個(gè)是不是似曾相識(shí),以前去辦事的時(shí)候經(jīng)常被要求出具「我媽是我媽」這類證明。但是我們自己說“我媽就是我媽”,人家根本不會(huì)信呀,需要一個(gè)可信第三方出具證明,比如派出所。
那么「Alice 如何才能確認(rèn) Bob 發(fā)送給自己的公鑰確實(shí)是 Bob 的,而沒有被篡改?」
在只有 Alice 和 Bob 兩人的情況下是沒法驗(yàn)證的。
所以,我們這里也需要一個(gè)第三方幫 Bob證明 「Bob 的公鑰就是 Bob 的公鑰」,有點(diǎn)繞口令那感覺了~
3.6 數(shù)字證書
為了解決這個(gè)問題,就引入了「數(shù)字證書」,什么叫數(shù)字證書呢?
百度百科:
數(shù)字證書是指在互聯(lián)網(wǎng)通訊中標(biāo)志通訊各方身份信息的一個(gè)數(shù)字認(rèn)證,人們可以在網(wǎng)上用它來識(shí)別對(duì)方的身份。
因此數(shù)字證書又稱為數(shù)字標(biāo)識(shí)。數(shù)字證書對(duì)網(wǎng)絡(luò)用戶在交流中的信息和數(shù)據(jù)等以加密或解密的形式保證了信息和數(shù)據(jù)的完整性和安全性。
看了這個(gè)描述,是不是感覺還是云里霧里,還是我用大白話來說吧~
只要你理解了前面的數(shù)字簽名,就能理解這里的數(shù)字證書,因?yàn)槲野褦?shù)字證書叫做「公鑰的數(shù)字簽名」。
為什么呢?我們引入數(shù)字證書的目的是為了保證公鑰不被篡改,即使被篡改了也能識(shí)別出來。
而防篡改的方法就是數(shù)字簽名,但是這個(gè)簽名不能我們自己做,原因說過了,因?yàn)槲覀兊墓€還沒分發(fā)出去,別人無法驗(yàn)證。
所以只能找可信的第三方來幫我們簽名,即證書頒布機(jī)構(gòu)(CA),CA 會(huì)將:證書的頒布機(jī)構(gòu)、有效期、公鑰、持有者(subject)等信息用 CA 的私鑰進(jìn)行簽名。
并且將簽名結(jié)果和這些信息放在一起,這就叫做「數(shù)字證書」。
這樣,Bob 就可以去 CA 申請(qǐng)一個(gè)證書,然后將自己的證書發(fā)給 Alice,那么 Alice 如何驗(yàn)證這個(gè)證書確實(shí)是 Bob的呢?
當(dāng)然是使用 CA 的公鑰進(jìn)行驗(yàn)簽。
注意:
CA 的公鑰也是需要使用證書來分發(fā)的,所以 Alice 的電腦必須安裝 CA 的證書,證書里包含了 CA 的公鑰。
收到 Bob 發(fā)過來的數(shù)字證書后,Alice 使用 CA 的公鑰進(jìn)行驗(yàn)證,驗(yàn)證通過即證明這確實(shí)是 Bob 證書,也就可以使用證書中包含的 Bob 的公鑰,按照之前討論的流程進(jìn)行通信。
那么 Eve 是否可以在中途篡改 Bob 的證書呢?
答案是不行,因?yàn)樽C書的信息使用 CA 的私鑰進(jìn)行簽名,只要 Eve 修改了任何一個(gè) Bit 都會(huì)導(dǎo)致最后簽名驗(yàn)證不通過。
那 Eve 可不可以修改證書信息后自己重新計(jì)算一次證書的數(shù)字簽名呢?
也不行,因?yàn)樽C書的數(shù)字簽名計(jì)算依賴于 CA 的私鑰,Eve 是拿不到 CA 的私鑰的。
如果拿到了,說明什么?整個(gè)世界都是不可信的。
3.7 數(shù)字證書長啥樣
這是我電腦中的自帶的證書:

可以看到,包含了證書持有人的公鑰和證書的簽名。
另外,證書頒發(fā)機(jī)構(gòu)是有層級(jí)關(guān)系的,下級(jí) CA 的證書是需要由上級(jí) CA 簽名的。
換句話說一定存在根證書頒發(fā)機(jī)構(gòu),那么他們的證書是由誰簽名的呢?
答案是自簽,自己給自己認(rèn)證。
這是我電腦中的一個(gè)自簽的根證書頒發(fā)機(jī)構(gòu):

為什么根證書可以自簽,誰來保證安全?
你把錢存在銀行,你會(huì)擔(dān)心嗎?我們基于對(duì)國家的信任,才信任銀行,這就是信任鏈的基礎(chǔ)!我們思考問題應(yīng)該是分層的,如果不認(rèn)可一個(gè)統(tǒng)一的基礎(chǔ),一直套娃下去,那么問題就無解。
那還有個(gè)問題,如何保證根證書的可靠性?這是操作系統(tǒng)和瀏覽器預(yù)裝的,由微軟、蘋果等操作系統(tǒng)廠商來選擇根證書。
3.8 證書不可信?
那么什么情況下瀏覽器會(huì)提示 “證書不可信” 呢?
根據(jù)我們上面的分析,下面是可能的原因:
證書不是權(quán)威 CA 頒發(fā)
有些企業(yè)為了貪圖便宜使用盜版的證書,沒有經(jīng)過 CA 認(rèn)證。也就是無法使用瀏覽器內(nèi)置 CA 公鑰進(jìn)行驗(yàn)證。
證書過期
上面說了,證書里有一項(xiàng)就是有效期,一般就是一年或者兩年的時(shí)間。如果證書過期,那么瀏覽器就會(huì)提示“證書不可信”
證書部署錯(cuò)誤
可能是服務(wù)器證書部署出錯(cuò),比如證書與域名不匹配,因?yàn)樽C書里有一項(xiàng)是持有人信息的。
好了,饒了一大圈,Bob 終于可以安全的向 Alice 發(fā)出前往紅樹林的邀請(qǐng)了~
附錄
QA
現(xiàn)在我們來回答文章開頭提出的一些問題:
非對(duì)稱加密中公私鑰都可以加密,那么什么時(shí)候用公鑰加密,什么時(shí)候用私鑰“加密” ?
加密場景,那么肯定希望只有我才能解密,別人只能加密。即公鑰加密,私鑰解密。
簽名場景,既然是簽名,就希望只能我才能簽名,別人只能驗(yàn)證。即私鑰簽名,公鑰驗(yàn)簽
什么是數(shù)字簽名,數(shù)字簽名的作用是什么?
數(shù)字簽名就是使用私鑰對(duì)數(shù)據(jù)摘要進(jìn)行簽名,并附帶和數(shù)據(jù)一起發(fā)送。
可以起到防篡改、防偽裝、防否認(rèn)的作用。
為什么要對(duì)數(shù)據(jù)的摘要進(jìn)行簽名,而不是直接計(jì)算原始數(shù)據(jù)的數(shù)字簽名?
數(shù)據(jù)可能比較大,簽名是使用非對(duì)稱加密算法,比較耗時(shí) 防止第三方使用公鑰解開簽名后,拿到原始數(shù)據(jù) 什么是數(shù)字證書,數(shù)字證書存在解決了什么問題?
數(shù)字證書就是由 CA 機(jī)構(gòu)使用自己私鑰,對(duì)證書申請(qǐng)者的公鑰進(jìn)行簽名認(rèn)證。
數(shù)字證書解決了如何安全分發(fā)公鑰的問題,也奠定了信任鏈的基礎(chǔ)。
