余向陽(yáng),余向陽(yáng)講師,余向陽(yáng)聯(lián)系方式,余向陽(yáng)培訓(xùn)師-【中華講師網(wǎng)】
縣域涉農(nóng)電子商務(wù)(長(zhǎng)期政府合作)新零售互聯(lián)網(wǎng)+物流管理電商
45
鮮花排名
0
鮮花數(shù)量
余向陽(yáng):白話數(shù)字簽名
2016-01-20 1743
摘要

本系列通過(guò)通俗易懂的講解,讓您就像讀小說(shuō)一般,輕輕松松就能理解數(shù)字簽名的基本原理和應(yīng)用方法(即使您是一個(gè)并不精通計(jì)算機(jī)的企業(yè)老總,也能讀懂本篇文章)。然后我們?cè)僦鸩缴钊爰夹g(shù)細(xì)節(jié),最后將給出一個(gè)在B/S信息系統(tǒng)中使用數(shù)字簽名的DEMO。

由于數(shù)字簽名基于非對(duì)稱加密技術(shù),所以我們需要先啰嗦一下對(duì)稱加密和非對(duì)稱加密技術(shù)。

對(duì)稱加密

何謂加密?加密是一種“把數(shù)據(jù)搞亂掉”的技術(shù)。加密技術(shù)涉及到4種東東:
明文:可以被人或程序識(shí)別的數(shù)據(jù)。例如一個(gè)文本文件、一段歌詞、一個(gè)Word文檔、一首MP3、一個(gè)圖片文件、一段視頻等等。
加密算法:將數(shù)據(jù)搞亂掉的方法。
密鑰(密碼):一個(gè)你在進(jìn)行加密操作時(shí)給出的字符串,讓加密算法不但把明文“搞亂掉”,而且要亂得“與眾不同”。這樣即使別人搞到了解密算法,如果沒(méi)有當(dāng)初加密時(shí)所使用的密碼,一樣無(wú)法進(jìn)行解密操作。
密文:明文被加密算法和密鑰加密后的結(jié)果。它看上去就是一堆亂碼,沒(méi)有人或程序能知道它到底表示什么信息。

作為加密的一個(gè)實(shí)例,我將使用由我杜撰的“景氏替換加密算法”演示一下加密過(guò)程。
明文:good good study, day day up.
密鑰:google
景氏替換加密算法:將明文中的所有的字母“d”替換成密鑰。
密文:將“good good study, day day up.”中的所有字母“d”替換成“google”,就得到密文“googoogle googoogle stugoogley,  googleay googleay up.”。這個(gè)密文亂得還可以吧?一般人看了肯定不知道它是什么意思。

那么什么是解密呢?解密就是把密文再變回明文的過(guò)程。
例如“景氏替換解密算法”就是:將密文中所有與密鑰相同的字符串替換成“d”。
密文:googoogle googoogle stugoogley,  googleay googleay up.
密鑰:google
景氏替換解密算法:將密文中所有與密鑰相同的字符串替換成“d”。
明文:將“googoogle googoogle stugoogley,  googleay googleay up.”中的所有“google”替換成“d”,就得到了明文“good good study, day day up.”。

您肯定已經(jīng)注意到了,我們?cè)谶M(jìn)行加密和解密時(shí)使用的密鑰必須是相同的,例如在上例中,加密和解密都必須使用相同的密鑰“google”。所以像“景氏替換加密算法”這種就被稱為對(duì)稱加密算法。目前最為流行的對(duì)稱加密算法是DES和AES,此外,對(duì)稱加密算法還有IDEA、FEAL、LOKI、Lucifer、RC2、RC4、RC5、Blow fish、GOST、CAST、SAFER、SEAL等。WinRAR的文件加密功能就是使用的AES加密算法。

非對(duì)稱加密

非對(duì)稱加密算法是一類(lèi)與眾不同的加密算法,它的密鑰不是1個(gè),而是2個(gè)(一對(duì)),我們先姑且稱它們?yōu)槊荑€K1和密鑰K2。非對(duì)稱加密算法的特點(diǎn)是,如果用密鑰K1進(jìn)行加密,則有且僅有密鑰K2能進(jìn)行解密;反之,如果使用密鑰K2進(jìn)行了加密,則有且僅有密鑰K1能進(jìn)行解密。注意“有且僅有”的意思——如果用密鑰K1進(jìn)行了加密,是不能用密鑰K1進(jìn)行解密的;同樣,如果用密鑰K2進(jìn)行了加密,也無(wú)法用密鑰K2進(jìn)行解密。這是一個(gè)非常重要的特性,至于如何在實(shí)際中運(yùn)用這個(gè)特性,請(qǐng)看下文。

我想給Clark傳送一個(gè)AV小電影,又怕被他的老婆發(fā)現(xiàn)......

話說(shuō)俺得了一個(gè)很不錯(cuò)的AV小電影,想通過(guò)網(wǎng)絡(luò)傳送給Clark,可是又怕被他的老婆發(fā)現(xiàn)(因?yàn)镃lark的老婆是一個(gè)超級(jí)黑客,她可以使用sniffer技術(shù)截獲任何通過(guò)網(wǎng)線傳送給Clark的數(shù)據(jù)。別跟我說(shuō)用VPN,它超出了本文討論的范圍),怎么辦呢?對(duì)了,我們需要一個(gè)“將數(shù)據(jù)搞亂掉”的技術(shù)——加密技術(shù)。我先使用WinRAR對(duì)小電影進(jìn)行壓縮,然后加上密碼“TswcbyyqjsjhfL”(還記得么?WinRAR的文件加密功能使用的是叫作AES的對(duì)稱加密算法)。接著,將這個(gè)加密后的文件通過(guò)QQ傳送給Clark。然后,興沖沖地?fù)艽駽lark的手機(jī):
“喂?Clark么?好久不見(jiàn),呵呵......我給你發(fā)了個(gè)好東東呦,在QQ上,收到?jīng)]?......密碼是TswcbyyqjsjhfL,對(duì),就是天生我才必有用,千金散盡還復(fù)來(lái)的首字母,第一個(gè)和最后一個(gè)字母要大寫(xiě)呦......”
可是,Clark,我是真的不知道你的老婆大人剛剛就在你的身邊呀!而且你也知道,我打電話從來(lái)都是喜歡很大聲的......嗚嗚嗚......
在Clark跪了一夜的搓衣板之后,我們都明白:如果是已經(jīng)保存在自己硬盤(pán)上的文件,使用對(duì)稱加密技術(shù)進(jìn)行加密是沒(méi)有問(wèn)題的;如果是兩個(gè)人通過(guò)網(wǎng)絡(luò)傳輸文件,使用對(duì)稱加密就很危險(xiǎn)——因?yàn)樵趥魉兔芪牡耐瑫r(shí),還必須傳送解密密鑰。我們需要一個(gè)與眾不同的加密算法,一個(gè)不需要傳遞解密密鑰的加密算法。非對(duì)稱加密正好可以滿足我們的需要。基本思路是這樣的:首先,生成一對(duì)滿足非對(duì)稱加密要求的密鑰對(duì)(密鑰K1和密鑰K2)。然后,將密鑰K1公布在網(wǎng)上,任何人都可以下載它,我們稱這個(gè)已經(jīng)公開(kāi)的密鑰K1為公鑰;密鑰K2自己留著,不讓任何人知道,我們稱這個(gè)只有自己知道的密鑰K2為私鑰。當(dāng)我想給Clark傳送小電影時(shí),我可以用Clark的公鑰對(duì)小電影進(jìn)行加密,之后這個(gè)密文就連我也無(wú)法解密了。這個(gè)世界上只有一個(gè)人能將密文解密,這個(gè)人就是擁有私鑰的Clark。

后來(lái)......

后來(lái),Clark痛定思痛,決定申請(qǐng)一個(gè)數(shù)字證書(shū)。流程是這樣的:首先,登錄當(dāng)?shù)氐臄?shù)字證書(shū)認(rèn)證中心網(wǎng)站,填表->出示個(gè)人有效證件原件和復(fù)印件->繳費(fèi)->等待數(shù)字證書(shū)認(rèn)證中心制作數(shù)字證書(shū)->領(lǐng)取數(shù)字證書(shū)。如果您的公司需要申請(qǐng)大量的數(shù)字證書(shū),還可以與認(rèn)證中心的銷(xiāo)售人員商量,先領(lǐng)取免費(fèi)的試用版的數(shù)字證書(shū)供技術(shù)人員試用。
后來(lái)的后來(lái),我又得到了一本電子版的不良漫畫(huà),當(dāng)然,我又想到了Clark。我先在數(shù)字證書(shū)認(rèn)證中心下載了Clark的公鑰證書(shū)(就是一個(gè)含有公鑰信息的文件),使用非對(duì)稱加密算法對(duì)不良漫畫(huà)進(jìn)行加密,再將密文通過(guò)QQ傳送給Clark。然后,我興沖沖地?fù)艽駽lark的手機(jī):
“喂?Clark么?好久不見(jiàn),呵呵......我給你發(fā)了個(gè)好東東呦,在QQ上,收到?jīng)]?......已經(jīng)用你的公鑰加密了。用你的私鑰解密就行了^_^”
Clark興沖沖地插入他的私鑰(忘了說(shuō)了,私鑰并不是一個(gè)文件,而是一個(gè)USB設(shè)備,外形就跟U盤(pán)一樣,至于為什么要這樣,下一篇再說(shuō)),解密,然后開(kāi)始看漫畫(huà),完全沒(méi)察覺(jué)他的老婆大人就在身后......

Clark,俺這個(gè)月手頭有點(diǎn)緊......

唉,這個(gè)月買(mǎi)了太多的書(shū),到月底揭不開(kāi)鍋了。正巧在QQ上遇到了Clark:
1-2-3:“Clark,我需要200兩紋銀,能否借給我?”
Clark:“沒(méi)問(wèn)題。我這就給你轉(zhuǎn)賬。請(qǐng)給我一張借條。”
1-2-3:“太謝謝了,我這就用Word寫(xiě)一個(gè)借條給你?!?br />然后,我新建一個(gè)Word文檔,寫(xiě)好借條,存盤(pán)。然后,然后怎么辦呢?我不能直接把借條發(fā)送給Clark,原因有:
    1. 我無(wú)法保證Clark不會(huì)在收到借條后將“紋銀200兩”改為“紋銀2000兩”。
    2. 如果我賴賬,Clark無(wú)法證明這個(gè)借條就是我寫(xiě)的。
    3. 普通的Word文檔不能作為打官司的證據(jù)。
好在我早就申請(qǐng)了數(shù)字證書(shū)。我先用我的私鑰對(duì)借條進(jìn)行加密,然后將加密后的密文用QQ發(fā)送給Clark。Clark收到了借條的密文后,在數(shù)字證書(shū)認(rèn)證中心的網(wǎng)站上下載我的公鑰,然后使用我的公鑰將密文解密,發(fā)現(xiàn)確實(shí)寫(xiě)的是“借紋銀200兩”,Clark就可以把銀子放心的借給我了,我也不會(huì)擔(dān)心Clark會(huì)篡改我的借條,原因是:
    1. 由于我發(fā)給Clark的是密文,Clark無(wú)法進(jìn)行修改。Clark倒是可以修改解密后的借條,但是Clark沒(méi)有我的私鑰,沒(méi)法模仿我對(duì)借條進(jìn)行加密。這就叫防篡改。
    2. 由于用我的私鑰進(jìn)行加密的借條,有且只有我的公鑰可以解密。反過(guò)來(lái)講,能用我的公鑰解密的借條,一定是使用我的私鑰加密的,而只有我才擁有我的私鑰,這樣Clark就可以證明這個(gè)借條就是我寫(xiě)的。這就叫防抵賴。
    3. 如果我一直賴著不還錢(qián),Clark把我告上了法庭,這個(gè)用我的私鑰加密過(guò)的Word文檔就可以當(dāng)作程堂證供。因?yàn)槲覈?guó)已經(jīng)出臺(tái)了《中華人民共和國(guó)電子簽名法》,使數(shù)字簽名具有了法律效力。
您一定已經(jīng)注意到了,這個(gè)使用我的私鑰進(jìn)行了加密的借條,具有了防篡改、防抵賴的特性,并且可以作為程堂證供,就跟我對(duì)這個(gè)借條進(jìn)行了“簽名”的效果是一樣的。對(duì)了,“使用我的私鑰對(duì)借條進(jìn)行加密”的過(guò)程就叫做數(shù)字簽名。(由于數(shù)字簽名算法的速度比較慢,所以在實(shí)際對(duì)文件簽名的過(guò)程比上面提到的方法稍稍復(fù)雜一些,這個(gè)在下一篇再講)。

我是1-2-3,我真的是1-2-3,我是真的1-2-3

正如您已經(jīng)知道的,Clark的老婆是一名超級(jí)黑客——就是傳說(shuō)中能用計(jì)算機(jī)作任何事的人。這不,不久前她就輕松入侵了QQ數(shù)據(jù)庫(kù),下載了Clark的所有好友的ID和密碼以及聊天記錄。然后,時(shí)不時(shí)地偽裝成Clark的好友跟Clark聊天,搞得Clark最近總是神經(jīng)兮兮、疑神疑鬼的。這不,昨天我在QQ上遇到了Clark:
1-2-3:“Clark,最近還好吧?我又搞到一個(gè)好東東呦,要不要?”
Clark:“48475bbt556”
Clark并不是瘋掉了,那個(gè)“48475bbt556”也不是我跟Clark之間的什么通關(guān)暗語(yǔ)。這個(gè)“48475bbt556”就是Clark在鍵盤(pán)上胡亂敲上去的,不過(guò),我卻知道Clark是什么意思。我立刻把“48475bbt556”粘貼到Word里,然后用我的私鑰對(duì)這個(gè)Word文檔加密,再將這個(gè)Word文檔發(fā)送給Clark。Clark在那邊用我的公鑰將Word文檔解密,打開(kāi),發(fā)現(xiàn)里面寫(xiě)的就是“48475bbt556”,就知道QQ這邊的確就是真正的我本人了。因?yàn)閾碛形业乃借€的人在這個(gè)世界上就只有我一人而已,Clark的老婆大人就是再神通廣大也模仿不了,這就是數(shù)字簽名的驗(yàn)證功能。

順便提一句,不但人可以申請(qǐng)數(shù)字證書(shū),設(shè)備(例如Web服務(wù)器)也可以申請(qǐng)數(shù)字證書(shū)(叫作設(shè)備證書(shū))。利用數(shù)字簽名的驗(yàn)證功能,就可以驗(yàn)證服務(wù)器的身份了,這可是防釣魚(yú)的終極解決方案呦。

思考題

如果Clark每次都向我發(fā)送相同的字符串(例如“1234”),而不是每次在鍵盤(pán)上胡亂地(隨機(jī)地)敲一些字符,Clark的老婆就會(huì)利用Clark的懶惰模仿我跟Clark聊QQ,這是為什么?
?
全部評(píng)論 (0)
熱門(mén)領(lǐng)域講師
互聯(lián)網(wǎng)營(yíng)銷(xiāo) 互聯(lián)網(wǎng) 新媒體運(yùn)營(yíng) 短視頻 電子商務(wù) 社群營(yíng)銷(xiāo) 抖音快手 新零售 網(wǎng)絡(luò)推廣 領(lǐng)導(dǎo)力 管理技能 中高層管理 中層管理 團(tuán)隊(duì)建設(shè) 團(tuán)隊(duì)管理 高績(jī)效團(tuán)隊(duì) 創(chuàng)新管理 溝通技巧 執(zhí)行力 阿米巴 MTP 銷(xiāo)售技巧 品牌營(yíng)銷(xiāo) 銷(xiāo)售 大客戶營(yíng)銷(xiāo) 經(jīng)銷(xiāo)商管理 銷(xiāo)講 門(mén)店管理 商務(wù)談判 經(jīng)濟(jì)形勢(shì) 宏觀經(jīng)濟(jì) 商業(yè)模式 私董會(huì) 轉(zhuǎn)型升級(jí) 股權(quán)激勵(lì) 納稅籌劃 非財(cái)管理 培訓(xùn)師培訓(xùn) TTT 公眾演說(shuō) 招聘面試 人力資源 非人管理 服裝行業(yè) 績(jī)效管理 商務(wù)禮儀 形象禮儀 職業(yè)素養(yǎng) 新員工培訓(xùn) 班組長(zhǎng)管理 生產(chǎn)管理 精益生產(chǎn) 采購(gòu)管理 易經(jīng)風(fēng)水 供應(yīng)鏈管理 國(guó)學(xué) 國(guó)學(xué)文化 國(guó)學(xué)管理 國(guó)學(xué)經(jīng)典 易經(jīng) 易經(jīng)與管理 易經(jīng)智慧 家居風(fēng)水 國(guó)際貿(mào)易
鮮花榜
頭像
+300朵
頭像
+297朵
頭像
+198朵
頭像
+99朵
頭像
+61朵
頭像
+19朵
頭像
+5朵
頭像
+5朵
頭像
+5朵

Copyright©2008-2025 版權(quán)所有 浙ICP備06026258號(hào)-1 浙公網(wǎng)安備 33010802003509號(hào) 杭州講師網(wǎng)絡(luò)科技有限公司
講師網(wǎng) kasajewelry.com 直接對(duì)接10000多名優(yōu)秀講師-省時(shí)省力省錢(qián)
講師網(wǎng)常年法律顧問(wèn):浙江麥迪律師事務(wù)所 梁俊景律師 李小平律師