認識數(shù)字簽名技術(shù)
出處:awey 發(fā)布于:2011-07-07 12:22:47
1 引言
隨著INTERNET網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和電子商務(wù)、電子政務(wù)等的廣泛應(yīng)用,網(wǎng)絡(luò)信息傳輸?shù)陌踩珕栴}也日漸被人們關(guān)注。為了確保數(shù)據(jù)傳輸?shù)陌踩?,不得不采取一系列的安全技術(shù),如加密技術(shù)、數(shù)字簽名、身份、密鑰管理、防火墻、安全協(xié)議等。其中數(shù)字簽名就是實現(xiàn)網(wǎng)上交易安全的技術(shù)之一,它可以保證信息傳輸?shù)谋C苄?、?shù)據(jù)交換的完整性、發(fā)送信息的不可否認性、交易者身份的確定性等。
2 數(shù)字簽名的概念
數(shù)字簽名在ISO7498—2標準中定義為:“附加在數(shù)據(jù)單元上的一些數(shù)據(jù),或是對數(shù)據(jù)單元所作的密碼變換,這種數(shù)據(jù)和變換允許數(shù)據(jù)單元的接收者用以確認數(shù)據(jù)單元來源和數(shù)據(jù)單元的完整性,并保護數(shù)據(jù),防止被人(例如接收者)進行偽造”。
數(shù)字簽名要實現(xiàn)的功能是我們平常的手寫簽名要實現(xiàn)功能的擴展。平常在書面文件上簽名的主要作用有兩點,一是因為對自己的簽名本人難以否認,從而確定了文件已被自己簽署這一事實;二是因為自己的簽名不易被別人模仿,從而確定了文件是真的這一事實。采用數(shù)字簽名,也能完成這些功能:
?。?)確認信息是由簽名者發(fā)送的;
?。?)確認信息自簽名后到收到為止,未被修改過;
(3)簽名者無法否認信息是由自己發(fā)送的。
數(shù)字簽名的技術(shù)基礎(chǔ)是公鑰密碼技術(shù),下面就先介紹公鑰密碼技術(shù)的基本思想和RSA公鑰密碼系統(tǒng)。
3 公鑰密碼技術(shù)
公鑰密碼技術(shù)又稱為非對稱/Jn密技術(shù)。與之相對的是對稱加密技術(shù)。對稱加密技術(shù)是發(fā)送方和接收方使用相同的密鑰進行加密/解密,雙方必須確保這個共同密鑰的安全性。其基本過程可以用下圖表示:

其中加密變換使用的密鑰和解密變換使用的密鑰是完全相同的,此密鑰必須以某種安全的方式告訴解密方。大家熟悉的DES加密標準就是一種對稱加密技術(shù)。1976年,Diffie和Hellman在一篇名叫“New Direction in Cryptog raphy(密碼學的新方向)”一文中提出了一個新的思想,即:不僅加密算法本身可以公開,就是加密用的密鑰本身也可以公開。這就是公鑰密碼體制。其中使用的密鑰被分解為一對:一把公鑰和一把私鑰。只要私鑰保密就可以了,公鑰可以發(fā)到因特網(wǎng)(如網(wǎng)站的黃頁)等公開地方供別人查詢和。
4 數(shù)字簽名的實現(xiàn)方法
建立在公鑰密碼技術(shù)上的數(shù)字簽名方法有很多,有RSA簽名、DSA簽名和橢圓曲線數(shù)字簽名算法(ECDSA)等等。下面對RSA簽名進行詳細分析。
RSA簽名的整個過程可以用下圖表示:

?。?)發(fā)送方采用某種摘要算法從報文中生成一個128位的散列值(稱為報文摘要);
?。?)發(fā)送方用RSA算法和自己的私鑰對這個散列值進行加密,產(chǎn)生一個摘要密文,這就是發(fā)送方的數(shù)字簽名;
?。?)將這個加密后的數(shù)字簽名作為報文的附件和報文一起發(fā)送給接收方:
(4)接收方從接收到的原始報文中采用相同的摘要算法計算出128位的散列值;
?。?)報文的接收方用RSA算法和發(fā)送方的公鑰對報文附加的數(shù)字簽名進行解密;
?。?)如果兩個散列值相同,那么接收方就能確認報文是由發(fā)送方簽名的。
常用的摘要算法叫做MD5(Message Digest 5),它的作者R.L.
Rivest正是提出RSA公鑰密碼系統(tǒng)中的R。MD5采用單向Hash函數(shù)將任意長度的“字節(jié)串”變換成一個128位的散列值,并且它是一個不可逆的字符串變換算法,換言之,即使看到MD5的算法描述和實現(xiàn)它的源代碼,也無法將一個MD5的散列值變換回原始的字符串。這一個128位的散列值亦稱為數(shù)字指紋,就像人的指紋一樣,它就成為驗證報文身份的“指紋”了。
數(shù)字簽名是如何完成與手寫簽名類同的功能的呢?如果報文在網(wǎng)絡(luò)傳輸過程中被修改,接收方收到此報文后,使用相同的摘要算法將計算出不同的報文摘要,這就保證了接收方可以判斷報文自簽名后到收到為止,是否被修改過。如果發(fā)送方A想讓接收方誤認為此報文是由發(fā)送方B簽名發(fā)送的,由于發(fā)送方A不知道發(fā)送方B的私鑰,所以接收方用發(fā)送方B的公鑰對發(fā)送方A加密的報文摘要進行解密時,也將得出不同的報文摘要,這就保證了接收方可以判斷報文是否是由指定的簽名者發(fā)送。同時也可以看出,當兩個散列值相同時,發(fā)送方B無法否認這個報文是他簽名發(fā)送的。
在上述簽名方案中,報文是以明文方式發(fā)生的。所以不具備保密功能。如果報文包含不能泄漏的信息,就需要先進行加密,然后再進行傳送。具有保密機制的RSA簽名的整個過程如下圖所示:

?。?)發(fā)送方選擇一個對稱加密算法(比如DES)和一個對稱密鑰對報文進行加密;
?。?)發(fā)送方用接收方的公鑰和RSA算法對第1步中的對稱密鑰進行加密,并且將加密后的對稱密鑰附加在密文中;
?。?)發(fā)送方使用一個摘要算法從第2步的密文中得到報文摘要,然后用RSA算法和發(fā)送方的私鑰對此報文摘要進行加密,這就是發(fā)送方的數(shù)字簽名;
?。?)將第3步得到的數(shù)字簽名封裝在第2步的密文后,并通過網(wǎng)絡(luò)發(fā)送給接收方;
?。?)接收方使用RSA算法和發(fā)送方的公鑰對收到的數(shù)字簽名進行解密,得到一個報文摘要;
?。?)接收方使用相同的摘要算法,從接收到的報文密文中計算出一個報文摘要;
?。?)如果第5步和第6步的報文摘要是相同的,就可以確認密文沒有被篡改,并且是由指定的發(fā)送方簽名發(fā)送的;
?。?)接收方使用RSA算法和接收方的私鑰解密出對稱密鑰;
?。?)接收方使用對稱加密算法(比如DES)和對稱密鑰對密文解密,得到原始報文。
5 數(shù)字簽名在電子商務(wù)中的應(yīng)用
下面用一個使用SET協(xié)議的例子來說明數(shù)字簽名在電子商務(wù)中的作用。SET協(xié)議(Secure Electronic Transaction,安全電子交易)是由VISA和MasterCard兩大信用卡公司于1997年聯(lián)合推出的規(guī)范。
SET主要針對用戶、商家和銀行之間通過信用卡支付的電子交易類型而設(shè)計的,所以在下例中會出現(xiàn)三方:用戶、網(wǎng)站和銀行。對應(yīng)的就有六把“鑰匙”:用戶公鑰、用戶私鑰;網(wǎng)站公鑰、網(wǎng)站私鑰;銀行公鑰、銀行私鑰。
這個三方電子交易的流程如下:
?。?)用戶將購物清單和用戶銀行賬號和密碼進行數(shù)字簽名提交給網(wǎng)站:

用戶賬號明文包括用戶的銀行賬號和密碼。
(2)網(wǎng)站簽名收到的購物清單:

?。?)網(wǎng)站將網(wǎng)站申請密文和用戶賬號密文進行數(shù)字簽名提交給銀行:

網(wǎng)站申請明文包括購物清單款項統(tǒng)計、網(wǎng)站賬戶和用戶需付金額。
(4)銀行簽名收到的相應(yīng)明文:

從上面的交易過程可知,這個電子商務(wù)具有以下幾個特點:
?。?)網(wǎng)站無法得知用戶的銀行賬號和密碼,只有銀行可以看到用戶的銀行賬號和密碼;
?。?)銀行無法從其他地方得到用戶的銀行賬號和密碼的密文;
?。?)由于數(shù)字簽名技術(shù)的使用,從用戶到網(wǎng)站到銀行的數(shù)據(jù),每一個發(fā)送端都無法否認;
?。?)由于數(shù)字簽名技術(shù)的使用,從用戶到網(wǎng)站到銀行的數(shù)據(jù),均可保證未被篡改。
可見,這種方式已基本解決電子商務(wù)中三方進行安全交易的要求,即便有“四方”、“五方”等更多方交易,也可以按SET 議類推完成。
6 結(jié)語
隨著計算機網(wǎng)絡(luò)技術(shù)的發(fā)展,過去依賴于手寫簽名的種種業(yè)務(wù)都可用數(shù)字簽名代替,它還能更有效地解決否認、偽造、篡改及冒充等問題。但是數(shù)字簽名還需要相關(guān)法律條文的支持,所以需要引起立法機構(gòu)對數(shù)字簽名技術(shù)的重視,加快立法腳步,制定相關(guān)法律,為數(shù)字簽名技術(shù)提供法律上的支持。同時數(shù)字簽名的技術(shù)基礎(chǔ)(比如RSA算法)的安全性也將是以后需要關(guān)注的課題。
版權(quán)與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- SQL核心知識點總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復控制的復合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識2025/6/18 16:30:52









