淺析數(shù)字簽名和數(shù)字證書

基礎(chǔ)知識(shí)

對(duì)稱加密與非對(duì)稱加密

概述

在現(xiàn)代密碼學(xué)誕生以前柿估,就已經(jīng)有很多的加密方法了川慌。例如驹饺,最古老的斯巴達(dá)加密棒,廣泛應(yīng)用于公元前7世紀(jì)的古希臘最仑。16世紀(jì)意大利數(shù)學(xué)家卡爾達(dá)諾發(fā)明的柵格密碼藐俺,基于單表代換的凱撒密碼、豬圈密碼泥彤,基于多表代換的維吉尼亞密碼欲芹,二戰(zhàn)中德軍廣泛使用的恩格瑪加密機(jī)….但最終都找到了有效的破解算法。
現(xiàn)代密碼學(xué)的誕生標(biāo)志是1977年1月由美國(guó)國(guó)家標(biāo)準(zhǔn)局公布的數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard吟吝,DES)菱父。
在經(jīng)過20多年之后,為適應(yīng)現(xiàn)代的安全要求剑逃,2000年美國(guó)國(guó)家和標(biāo)準(zhǔn)技術(shù)協(xié)會(huì)篩選和評(píng)測(cè)出了被稱為AES(Advanced Encryption Standard)的加密算法作為新的加密標(biāo)準(zhǔn)浙宜。目前,AES已被廣泛使用蛹磺,且未發(fā)現(xiàn)致命缺陷粟瞬。到目前為止,AES是一個(gè)安全的加密算法萤捆。
然而亩钟,在加密算法之外,面臨一個(gè)問題鳖轰,那就是:秘鑰的分發(fā)。就是說扶镀,解密方如何獲得加密方的秘鑰呢蕴侣? 從而出現(xiàn)了:對(duì)稱加密和非對(duì)稱加密。

對(duì)稱加密

對(duì)稱加密指的就是加密和解密使用同一個(gè)秘鑰臭觉,所以叫做對(duì)稱加密昆雀。對(duì)稱加密只有一個(gè)秘鑰辱志,作為私鑰。
常見的對(duì)稱加密算法:DES狞膘,AES揩懒,3DES等等。

非對(duì)稱加密

非對(duì)稱加密指的是:加密和解密使用不同的秘鑰挽封,一把作為公開的公鑰已球,另一把作為私鑰。公鑰加密的信息辅愿,只有私鑰才能解密智亮。私鑰加密的信息,只有公鑰才能解密点待。
常見的非對(duì)稱加密算法:RSA阔蛉,ECC

區(qū)別

對(duì)稱加密算法相比非對(duì)稱加密算法來說,加解密的效率要高得多癞埠。但是缺陷在于對(duì)于秘鑰的管理上状原,以及在非安全信道中通訊時(shí)克懊,密鑰交換的安全性不能保障劣摇。所以在實(shí)際的網(wǎng)絡(luò)環(huán)境中缩挑,會(huì)將兩者混合使用.

數(shù)字摘要

數(shù)字摘要是將任意長(zhǎng)度的消息變成固定長(zhǎng)度的短消息护侮,它類似于一個(gè)自變量是消息的函數(shù)巧勤,也就是Hash函數(shù)腊凶。數(shù)字摘要就是采用單向Hash函數(shù)將需要加密的明文“摘要”成一串固定長(zhǎng)度(128位)的密文這一串密文又稱為數(shù)字指紋涨共,它有固定的長(zhǎng)度庐椒,而且不同的明文摘要成密文测暗,其結(jié)果總是不同的央串,而同樣的明文其摘要必定一致。

數(shù)字簽名

1.
image

鮑勃有兩把鑰匙碗啄,一把是公鑰质和,另一把是私鑰。

2.
image

鮑勃把公鑰送給他的朋友們----帕蒂稚字、道格饲宿、蘇珊----每人一把。
3.
image

蘇珊要給鮑勃寫一封保密的信胆描。她寫完后用鮑勃的公鑰加密瘫想,就可以達(dá)到保密的效果。

4.
image

鮑勃收信后昌讲,用私鑰解密国夜,就看到了信件內(nèi)容。這里要強(qiáng)調(diào)的是短绸,只要鮑勃的私鑰不泄露车吹,這封信就是安全的筹裕,即使落在別人手里,也無法解密窄驹。
5.
image

鮑勃給蘇珊回信朝卒,決定采用"數(shù)字簽名"。他寫完后先用Hash函數(shù)乐埠,生成信件的摘要(digest)抗斤。
6.
image

然后,鮑勃使用私鑰饮戳,對(duì)這個(gè)摘要加密豪治,生成"數(shù)字簽名"(signature)。
7.
image

鮑勃將這個(gè)簽名扯罐,附在信件下面负拟,一起發(fā)給蘇珊。

8.
image

蘇珊收信后歹河,取下數(shù)字簽名掩浙,用鮑勃的公鑰解密,得到信件的摘要秸歧。由此證明厨姚,這封信確實(shí)是鮑勃發(fā)出的。
9.
image

蘇珊再對(duì)信件本身使用Hash函數(shù)键菱,將得到的結(jié)果谬墙,與上一步得到的摘要進(jìn)行對(duì)比。如果兩者一致经备,就證明這封信未被修改過拭抬。
10.
image

復(fù)雜的情況出現(xiàn)了。道格想欺騙蘇珊侵蒙,他偷偷使用了蘇珊的電腦造虎,用自己的公鑰換走了鮑勃的公鑰。此時(shí)纷闺,蘇珊實(shí)際擁有的是道格的公鑰算凿,但是還以為這是鮑勃的公鑰。因此犁功,道格就可以冒充鮑勃氓轰,用自己的私鑰做成"數(shù)字簽名",寫信給蘇珊浸卦,讓蘇珊用假的鮑勃公鑰進(jìn)行解密戒努。
11.
image

后來,蘇珊感覺不對(duì)勁,發(fā)現(xiàn)自己無法確定公鑰是否真的屬于鮑勃储玫。她想到了一個(gè)辦法,要求鮑勃去找"證書中心"(certificate authority萤皂,簡(jiǎn)稱CA)撒穷,為公鑰做認(rèn)證。證書中心用自己的私鑰裆熙,對(duì)鮑勃的公鑰和一些相關(guān)信息一起加密端礼,生成"數(shù)字證書"(Digital Certificate)。
12.
image

鮑勃拿到數(shù)字證書以后入录,就可以放心了蛤奥。以后再給蘇珊寫信,只要在簽名的同時(shí)僚稿,再附上數(shù)字證書就行了凡桥。
13.
image

蘇珊收信后,用CA的公鑰解開數(shù)字證書蚀同,就可以拿到鮑勃真實(shí)的公鑰了缅刽,然后就能證明"數(shù)字簽名"是否真的是鮑勃簽的。

C/S模型

主要原理分為兩部分:
  • 第一步是客戶端驗(yàn)證并獲取服務(wù)器公鑰蠢络,然后客戶端生成對(duì)稱加密的私鑰發(fā)送給服務(wù)器衰猛。
  • 第二步就是服務(wù)器和客戶端通過對(duì)稱加密的私鑰對(duì)通訊內(nèi)容進(jìn)行加解密。
詳細(xì)步驟:
  1. 首先刹孔,客戶端(瀏覽器)向服務(wù)器發(fā)出加密請(qǐng)求啡省。
  2. 服務(wù)端預(yù)先計(jì)算出一對(duì)秘鑰pub/pri。將私鑰保密髓霞,將公鑰公開卦睹。
  3. 服務(wù)器會(huì)將自己的公鑰用CA證書的私鑰加密,然后將數(shù)字證書發(fā)送給客戶端酸茴。
  4. 客戶端(瀏覽器)的"證書管理器"分预,有"受信任的根證書頒發(fā)機(jī)構(gòu)"列表⌒胶矗客戶端會(huì)根據(jù)這張列表笼痹,查看解開數(shù)字證書的公鑰是否在列表之內(nèi)。
  5. 如果數(shù)字證書記載的網(wǎng)址酪穿,與你正在瀏覽的網(wǎng)址不一致凳干,就說明這張證書可能被冒用,瀏覽器會(huì)發(fā)出警告被济。
  6. 如果這張數(shù)字證書不是由受信任的機(jī)構(gòu)頒發(fā)的救赐,瀏覽器會(huì)發(fā)出另一種警告。
  7. 如果數(shù)字證書是可靠的,客戶端就可以使用列表中的公鑰解密證書经磅,獲取服務(wù)器公鑰(pub)泌绣,如果能解密證書,則驗(yàn)證了獲取的公鑰是來自服務(wù)器的预厌。
  8. 接下來客戶端會(huì)通過AES計(jì)算出一個(gè)對(duì)稱加密的秘鑰X阿迈。 然后使用服務(wù)器公鑰(pub)將X進(jìn)行加密。
  9. 客戶端將加密后的密文發(fā)送給服務(wù)端轧叽。服務(wù)端通過私鑰(pri)解密獲得X苗沧。
  10. 然后兩邊的通訊內(nèi)容就通過對(duì)稱密鑰X以對(duì)稱加密算法來加解密。

數(shù)字摘要與數(shù)字簽名炭晒、加密等技術(shù)結(jié)合使用的過程如下:

  1. 發(fā)送方S將原文信息進(jìn)行Hash運(yùn)算待逞,得到Hash值,即數(shù)字摘要MD网严;

  2. 發(fā)送方S用自己的私鑰PVS识樱,采用非對(duì)稱加密算法RSA,對(duì)數(shù)字摘要MD進(jìn)行加密屿笼,得到數(shù)字簽名DS牺荠;

  3. 發(fā)送方S用對(duì)稱算法DES的對(duì)稱密鑰SK對(duì)原文信息、數(shù)字簽名DS及發(fā)送方證書的公鑰PBS采用對(duì)稱算法加密驴一,得到加密信息E休雌;

  4. 發(fā)送方S用接收方R的公鑰PBR,采用RSA算法對(duì)對(duì)稱密鑰SK進(jìn)行加密肝断,形成數(shù)字信封DE杈曲。該過程就像將對(duì)稱密鑰SK,裝進(jìn)了一個(gè)用接收方的公鑰加密的信封里胸懈。

  5. 發(fā)送方S將加密信息E和數(shù)字信封DE一起發(fā)送給接收方R担扑;

  6. 接收方R將收到的數(shù)字信封DE用自己的私鑰PVR解密,取出對(duì)稱密鑰SK趣钱;

  7. 接收方R用對(duì)稱密鑰SK通過DES算法對(duì)接收到的加密信息E進(jìn)行解密涌献,還原出原文信息、數(shù)字簽名DS以及發(fā)送方證書的公鑰PBS首有;

  8. 接收方R用發(fā)送方S的公鑰PBS解密數(shù)字簽名燕垃,得到數(shù)字摘要MD;

  9. 接收方R將原文信息用同樣的Hash算法井联,求得一個(gè)新的數(shù)字摘要MD1卜壕;

  10. 比較兩個(gè)數(shù)字摘要MD和MD1,若一致烙常,則認(rèn)為收到的就是未被篡改的原文轴捎,否則,認(rèn)為原文被篡改,拒絕該簽名侦副。

參考資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市秦驯,隨后出現(xiàn)的幾起案子率触,更是在濱河造成了極大的恐慌,老刑警劉巖汇竭,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異穴张,居然都是意外死亡细燎,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門皂甘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來玻驻,“玉大人,你說我怎么就攤上這事偿枕¤邓玻” “怎么了?”我有些...
    開封第一講書人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵渐夸,是天一觀的道長(zhǎng)嗤锉。 經(jīng)常有香客問我,道長(zhǎng)墓塌,這世上最難降的妖魔是什么瘟忱? 我笑而不...
    開封第一講書人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮苫幢,結(jié)果婚禮上访诱,老公的妹妹穿的比我還像新娘。我一直安慰自己韩肝,他們只是感情好触菜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著哀峻,像睡著了一般涡相。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谜诫,一...
    開封第一講書人閱讀 51,215評(píng)論 1 299
  • 那天漾峡,我揣著相機(jī)與錄音,去河邊找鬼喻旷。 笑死生逸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播槽袄,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼烙无,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了遍尺?” 一聲冷哼從身側(cè)響起截酷,我...
    開封第一講書人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎乾戏,沒想到半個(gè)月后迂苛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鼓择,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年三幻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呐能。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡念搬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出摆出,到底是詐尸還是另有隱情朗徊,我是刑警寧澤,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布偎漫,位于F島的核電站爷恳,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏骑丸。R本人自食惡果不足惜舌仍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望通危。 院中可真熱鬧铸豁,春花似錦、人聲如沸菊碟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)逆害。三九已至头镊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間魄幕,已是汗流浹背相艇。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留纯陨,地道東北人坛芽。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓留储,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親咙轩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子获讳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容