歐賢 張婧
摘 要 隨著信息技術(shù)和網(wǎng)絡(luò)的發(fā)展,電子商業(yè)交易成為了商務(wù)活動(dòng)的新模式,然而由于網(wǎng)絡(luò)自身固有的脆弱和中國的網(wǎng)絡(luò)信息技術(shù)起步比較晚使網(wǎng)絡(luò)安全存在很多潛在的威脅。數(shù)字簽名是保證網(wǎng)上傳輸?shù)臄?shù)據(jù)的安全和交易對方的身份確認(rèn)的關(guān)鍵技術(shù)。本文分析了數(shù)字簽名的原理以及關(guān)鍵算法,并給出了實(shí)際應(yīng)用。
關(guān)鍵詞 數(shù)字簽名 hash函數(shù) https協(xié)議
中圖分類號:TP309 文獻(xiàn)標(biāo)識碼:A
0引言
隨著信息技術(shù)和經(jīng)濟(jì)的發(fā)展,電子商務(wù)、網(wǎng)上銀行等一些網(wǎng)絡(luò)業(yè)務(wù)迅速興起。信息時(shí)代雖然給予我們無限的商機(jī)和便利,但是隱藏了巨大的安全危險(xiǎn)。如何保證網(wǎng)絡(luò)信息的真實(shí)性和完整性,就是目前網(wǎng)絡(luò)信息安全最關(guān)注的問題。數(shù)字簽名技術(shù)是實(shí)現(xiàn)身份認(rèn)證的重要手段。可見,數(shù)字簽名的前景越來越廣闊,具有一定的研究價(jià)值。
1數(shù)字簽名的基本原理
數(shù)字簽名(又稱公鑰數(shù)字簽名、電子簽章)是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領(lǐng)域的技術(shù)實(shí)現(xiàn),用于鑒別數(shù)字信息的方法。一套數(shù)字簽名通常定義兩種互補(bǔ)的運(yùn)算,一個(gè)用于簽名,另一個(gè)用于驗(yàn)證。
其原理如圖1所示:
(1)對原始消息的正文進(jìn)行散列處理生成消息的摘要。
(2)使用消息發(fā)送人的私鑰對摘要進(jìn)行加密而得到數(shù)字簽名。
(3)將數(shù)字簽名添加到原始消息。
(4)將附有數(shù)字簽名的消息傳送給接收方。
(5)接收方對收到的原始消息正文進(jìn)行散列處理得到一個(gè)新的摘要。
(6)接收方使用發(fā)送方的公鑰對數(shù)字簽名解密恢復(fù)出消息摘要。
(7)這兩個(gè)摘要相互對比,如果相同,說明原文件是完整的,在傳輸過程中沒有被破壞。
2數(shù)字簽名與hash函數(shù)
哈希(Hash)函數(shù)在中文中有很多譯名,有些人根據(jù)Hash的英文原意譯為“散列函數(shù)”或“雜湊函數(shù)”,有些人干脆把它音譯為“哈希函數(shù)”。
Hash算法是把任意長度的輸入數(shù)據(jù)經(jīng)過算法壓縮,輸出一個(gè)尺寸小了很多的固定長度的數(shù)據(jù),即哈希值。哈希算法具有以下特質(zhì):
(1)你無法反向執(zhí)行哈希算法來恢復(fù)出哪怕是一點(diǎn)兒最初的明文。
(2)得到的摘要不會(huì)告訴你任何關(guān)于最初明文的信息。
(3)創(chuàng)建/發(fā)現(xiàn)哈希值為某個(gè)特定值的明文,這在計(jì)算上是不可行的。
(4)這使得攻擊者無法在替換文件的同時(shí)確保哈希值仍然匹配。
3數(shù)字簽名的應(yīng)用
數(shù)字證書是用來唯一確認(rèn)安全電子商務(wù)交易雙方身份的工具,由于它由證書管理中心做了數(shù)字簽名,因此,任何第三方都無法修改證書的內(nèi)容。
比如https協(xié)議,是基于HTTP協(xié)議的一種對傳輸數(shù)據(jù)加密的協(xié)議??梢詫⑵浜喴纸鉃椋篐TTP+SSL。當(dāng)數(shù)據(jù)經(jīng)過TCP協(xié)議封裝之后,SSL會(huì)對數(shù)據(jù)包進(jìn)行進(jìn)一步的加密和封裝,然后讓加密之后的數(shù)據(jù)包經(jīng)過HTTP協(xié)議的進(jìn)一步封裝之后走在公共信道之上,加密之后的數(shù)據(jù)包能保證即使數(shù)據(jù)包被第三方截取之后也不能看到數(shù)據(jù)包里面的明文。其過程如下:
(1)客戶端發(fā)起HTTPS請求。用戶在瀏覽器里輸入一個(gè)https網(wǎng)址,然后連接到server的443端口。
(2)服務(wù)端的配置。采用HTTPS協(xié)議的服務(wù)器必須要有一套數(shù)字證書,可以自己制作,也可以向組織申請。
(3)傳送證書。這個(gè)證書其實(shí)就是公鑰,只是包含了很多信息,如證書的頒發(fā)機(jī)構(gòu),過期時(shí)間等等。
(4)客戶端解析證書。這部分工作是由客戶端的TLS來完成的,首先會(huì)驗(yàn)證公鑰是否有效,比如頒發(fā)機(jī)構(gòu),過期時(shí)間等等。
(5)傳送加密信息。這部分傳送的是用證書加密后的隨機(jī)值,以后客戶端和服務(wù)端的通信就可以通過這個(gè)隨機(jī)值來進(jìn)行加密解密了。
(6)服務(wù)端解密信息。服務(wù)端用私鑰解密后,得到了客戶端傳過來的隨機(jī)值(私鑰),然后把內(nèi)容通過該值進(jìn)行對稱加密。
(7)傳輸加密后的信息。這部分信息是服務(wù)段用私鑰加密后的信息,可以在客戶端被還原。
(8)客戶端解密信息。客戶端用之前生成的私鑰解密服務(wù)段傳過來的信息,于是獲取了解密后的內(nèi)容。
4總結(jié)
數(shù)字簽名技術(shù)提高了網(wǎng)絡(luò)交易的安全性,有助于經(jīng)濟(jì)的推廣和發(fā)展,但如何讓數(shù)據(jù)簽名更具可靠性,保密性和安全性,還需要我們進(jìn)一步去研究。
參考文獻(xiàn)
[1] 張先紅.數(shù)字簽名原理及技術(shù)[M].機(jī)械工業(yè)出版社,2004.
[2] 戚文靜,劉學(xué).網(wǎng)絡(luò)安全原理與應(yīng)用[M].北京:中國水利水電出版社,2005.
[3] 張鳳.淺談數(shù)字簽名[J].硅谷,2010(05).
[4] 王振武.數(shù)字簽名技術(shù)研究[J].遼寧師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2004(04).
[5] 李程.數(shù)字簽名技術(shù)綜述[J].電腦知識與技術(shù),2009,4,5(10).
[6] 黃為.基于數(shù)字簽名技術(shù)的Intranet信息安全[J].電腦知識與技術(shù),2009,9,25(5).