數(shù)字簽名的過程
數(shù)字簽名(又稱公鑰數(shù)字簽名)是只有信息的發(fā)送者才能產(chǎn)生的別人無法偽造的一段數(shù)字串,這段數(shù)字串同時(shí)也是對(duì)信息的發(fā)送者發(fā)送信息真實(shí)性的一個(gè)有效證明。它是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領(lǐng)域的技術(shù)來實(shí)現(xiàn)的,用于鑒別數(shù)字信息的方法。一套數(shù)字簽名通常定義兩種互補(bǔ)的運(yùn)算,一個(gè)用于簽名,另一個(gè)用于驗(yàn)證。數(shù)字簽名是非對(duì)稱密鑰加密技術(shù)與數(shù)字摘要技術(shù)的應(yīng)用。
發(fā)送報(bào)文時(shí),發(fā)送方用一個(gè)哈希函數(shù)從報(bào)文文本中生成報(bào)文摘要,然后用發(fā)送方的私鑰對(duì)這個(gè)摘要進(jìn)行加密,這個(gè)加密后的摘要將作為報(bào)文的數(shù)字簽名和報(bào)文一起發(fā)送給接收方,接收方首先用與發(fā)送方一樣的哈希函數(shù)從接收到的原始報(bào)文中計(jì)算出報(bào)文摘要,接著再公鑰來對(duì)報(bào)文附加的數(shù)字簽名進(jìn)行解密,如果這兩個(gè)摘要相同、那么接收方就能確認(rèn)該數(shù)字簽名是發(fā)送方的。
數(shù)字簽名有兩種功效:一是能確定消息確實(shí)是由發(fā)送方簽名并發(fā)出來的,因?yàn)閯e人假冒不了發(fā)送方的簽名。二是數(shù)字簽名能確定消息的完整性。因?yàn)閿?shù)字簽名的特點(diǎn)是它代表了文件的特征,文件如果發(fā)生改變,數(shù)字摘要的值也將發(fā)生變化。不同的文件將得到不同的數(shù)字摘要。 一次數(shù)字簽名涉及到一個(gè)哈希函數(shù)、接收者的公鑰、發(fā)送方的私鑰。
數(shù)字簽名技術(shù)的應(yīng)用
數(shù)字簽名可以用來干什么呢?
1.網(wǎng)站認(rèn)證
首先最常見的用處就是用來認(rèn)證一個(gè)網(wǎng)站的身份。
比如我打開百度,百度是怎么保證顯示在我眼前的網(wǎng)頁就一定是百度生成的,不是其他人修改的呢?就是借助數(shù)字簽名來實(shí)現(xiàn)的。
用IE瀏覽器打開百度,點(diǎn)擊地址欄旁邊的小鎖,再點(diǎn)擊查看證書,就可以看到百度主頁的數(shù)字簽名證書了。所謂證書,其實(shí)是對(duì)公鑰的封裝,在公鑰的基礎(chǔ)上添加頒發(fā)者、有效期等信息。
“簽名算法”一欄可以看到,它使用的是sha256RSA,也就是使用SHA-256計(jì)算摘要,然后使用RSA對(duì)摘要進(jìn)行簽名。而在“公鑰”一欄則保存著該證書的“本體”,用于驗(yàn)證簽名的RSA公鑰。
2.代碼簽名
而除此之外,還有個(gè)地方我們經(jīng)常碰到數(shù)字簽名的——代碼簽名。
如果Windows上的可執(zhí)行程序程序來源于正規(guī)公司,那么通常它會(huì)有代碼簽名,用于確保其來源可靠且未被篡改。以QQ為例,它的數(shù)字簽名是這樣的。
精彩閱讀推薦:
數(shù)字簽名技術(shù)具有什么特性_數(shù)字簽名技術(shù)的三個(gè)安全性
數(shù)字簽名技術(shù)的主要功能_數(shù)字簽名技術(shù)的實(shí)現(xiàn)過程
-
數(shù)字簽名
+關(guān)注
關(guān)注
2文章
76瀏覽量
13823
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論