數(shù)字簽名是指發(fā)送方用自己的私鑰對(duì)數(shù)字指紋進(jìn)行加密后所得的數(shù)據(jù),其中包括非對(duì)稱(chēng)密鑰加密和數(shù)字簽名兩個(gè)過(guò)程,在可以給數(shù)據(jù)加密的同時(shí),也可用于接收方驗(yàn)證發(fā)送方身份的合法性。采用數(shù)字簽名時(shí),接收方需要使用發(fā)送方的公鑰才能解開(kāi)數(shù)字簽名得到數(shù)字指紋。
從策劃到設(shè)計(jì)制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名注冊(cè)、雅安服務(wù)器托管、網(wǎng)絡(luò)營(yíng)銷(xiāo)、VI設(shè)計(jì)、 網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進(jìn)步。
數(shù)字指紋又稱(chēng)為信息摘要,是指發(fā)送方通過(guò)HASH算法對(duì)明文信息計(jì)算后得出的數(shù)據(jù)。采用數(shù)字指紋時(shí),發(fā)送方會(huì)將本端對(duì)明文進(jìn)哈希運(yùn)算后生成的數(shù)字指紋(還要經(jīng)過(guò)數(shù)字簽名),以及采用對(duì)端公鑰對(duì)明文進(jìn)行加密后生成的密文一起發(fā)送給接收方,接收方用同樣的HASH算法對(duì)明文計(jì)算生成的數(shù)據(jù)指紋,與收到的數(shù)字指紋進(jìn)行匹配,如果一致,便可確定明文信息沒(méi)有被篡改。
數(shù)字簽名的加解密過(guò)程如圖1-20所示。甲也要事先獲得乙的公鑰,具體說(shuō)明如下(對(duì)應(yīng)圖中的數(shù)字序號(hào)):
圖1-20 數(shù)字簽名的加解密過(guò)程示意圖
(1)甲使用乙的公鑰對(duì)明文進(jìn)行加密,生成密文信息。
(2)甲使用HASH算法對(duì)明文進(jìn)行HASH運(yùn)算,生成數(shù)字指紋。
(3)甲使用自己的私鑰對(duì)數(shù)字指紋進(jìn)行加密,生成數(shù)字簽名。
(4)甲將密文信息和數(shù)字簽名一起發(fā)送給乙。
(5)乙使用甲的公鑰對(duì)數(shù)字簽名進(jìn)行解密,得到數(shù)字指紋。
(6)乙接收到甲的加密信息后,使用自己的私鑰對(duì)密文信息進(jìn)行解密,得到最初的明文。
(7)乙使用HASH算法對(duì)還原出的明文用與甲所使用的相同HASH算法進(jìn)行HASH運(yùn)算,生成數(shù)字指紋。然后乙將生成的數(shù)字指紋與從甲得到的數(shù)字指紋進(jìn)行比較,如果一致,乙接受明文;如果不一致,乙丟棄明文。
從以上數(shù)字簽名的加/解密過(guò)程中可以看出,數(shù)字簽名技術(shù)不但證明了信息未被篡改,還證明了發(fā)送方的身份。數(shù)字簽名和數(shù)字信封技術(shù)也可以組合使用。但是,數(shù)字簽名技術(shù)也還有一個(gè)問(wèn)題,獲取到對(duì)方的公鑰可能被篡改,并且無(wú)法發(fā)現(xiàn)。
試想一下,如果***者一開(kāi)始就截獲了乙發(fā)給甲公鑰的文件,然后就可用貍貓換太子的方法更改乙的公鑰,最終可能導(dǎo)致甲獲得的是***者的公鑰,而非乙的。
具體過(guò)程是這樣的:***者攔截了乙發(fā)給甲的公鑰信息,用自己的私鑰對(duì)偽造的公鑰信息進(jìn)行數(shù)字簽名,然后與使用甲的公鑰(***者也已獲知了甲對(duì)外公開(kāi)的公鑰)進(jìn)行加密的、偽造的乙的公鑰信息一起發(fā)給甲。甲收到加密信息后,利用自己的私鑰可以成功解密出得到的明文(偽造的乙的公鑰信息),因?yàn)檫@個(gè)信息的加密就是用甲的公鑰進(jìn)行的,并且也可以通過(guò)再次進(jìn)行HASH運(yùn)算驗(yàn)證該明文沒(méi)有被篡改。此時(shí),甲則始終認(rèn)為這個(gè)信息是乙發(fā)送的,即認(rèn)為該偽造的公鑰信息就是乙的,結(jié)果甲再利用這個(gè)假的乙的公鑰進(jìn)行加密的數(shù)據(jù)發(fā)給乙時(shí),乙肯定是總解密不了的。此時(shí),需要一種方法確保一個(gè)特定的公鑰屬于一個(gè)特定的擁有者,那就是數(shù)字證書(shū)技術(shù)了。因?yàn)橛脩艚邮盏狡渌脩舻墓€數(shù)字證書(shū)時(shí)可以在證書(shū)頒發(fā)機(jī)構(gòu)查詢(xún)、驗(yàn)證的。
【經(jīng)驗(yàn)之談】許多人分不清非對(duì)稱(chēng)密鑰加密和數(shù)字簽名的區(qū)別,其實(shí)很好理解。非對(duì)稱(chēng)加密用的是接收方的公鑰進(jìn)行數(shù)據(jù)加密的,密文到達(dá)對(duì)方后也是通過(guò)接收方自己的私鑰進(jìn)行解密,還原成明文,整個(gè)數(shù)據(jù)加密和解密過(guò)程用的都是接收方的密鑰;而數(shù)字簽名則完全相反,是通過(guò)發(fā)送方的私鑰進(jìn)行數(shù)據(jù)簽名的,經(jīng)簽名的數(shù)據(jù)到達(dá)接收方后也是通過(guò)事先告知接收方的發(fā)送方的公鑰進(jìn)行解密,整個(gè)數(shù)據(jù)簽名和解密的過(guò)程用的都是發(fā)送方的密鑰。
以上內(nèi)容摘自剛剛上市的華為官方著作——《華為×××學(xué)習(xí)指南》,是國(guó)家十三五重點(diǎn)規(guī)劃圖書(shū),是華為官方指定的ICT培訓(xùn)教材!當(dāng)當(dāng)網(wǎng)、京東網(wǎng)等書(shū)店均可正式購(gòu)買(mǎi)了!本書(shū)配套實(shí)戰(zhàn)視頻課程即將發(fā)布,敬請(qǐng)關(guān)注本人課程中心:http://edu.51cto.com/lecturer/user_id-55153.html