鄭海濤/武漢大學(xué)信息管理學(xué)院
數(shù)字簽名技術(shù)在電子商務(wù)中的應(yīng)用
鄭海濤/武漢大學(xué)信息管理學(xué)院
以互聯(lián)網(wǎng)為基礎(chǔ)的電子商務(wù)作為全新的商務(wù)活動(dòng)越來越走向我們的生活,同時(shí)它作為一種新的經(jīng)濟(jì)增長(zhǎng)動(dòng)力,他推動(dòng)我國(guó)乃至全世界經(jīng)濟(jì)的迅速發(fā)展,但是以互聯(lián)網(wǎng)為基礎(chǔ)的電子商務(wù),由于網(wǎng)絡(luò)技術(shù)本身的的開放性,共享性等特點(diǎn)使電子商務(wù)成為一把雙刃劍,它在給人們帶來高效.快捷 經(jīng)濟(jì)的交易的同時(shí)也引發(fā)了新的問題,那就是安全問題。如何保證網(wǎng)上交易雙方信息的有效性,保密性,完整性,認(rèn)證性和不可抵賴性已成為制約電子商務(wù)進(jìn)一步發(fā)展的的制約性問題,在這樣的環(huán)境下,為保障電子商務(wù)的安全,以規(guī)范化的程序和科學(xué)化的方法,用于識(shí)別交易雙方身份的數(shù)字簽名技術(shù)得到應(yīng)用和發(fā)展。數(shù)字簽名技術(shù)將信息發(fā)送者與信息傳遞結(jié)合起來,用以保障發(fā)送發(fā)送者所發(fā)送的信息在傳遞過程中的完整性,并可以提供信息發(fā)送者的身份的身份認(rèn)證,以防止信息發(fā)送者的身份的抵賴行為的發(fā)生,數(shù)字簽名是實(shí)現(xiàn)電子商務(wù)的安全核心技術(shù)之一。
數(shù)字簽名;安全交易;電子商務(wù)
所謂“數(shù)字簽名”,就是通過某種密碼運(yùn)算生成一系列符號(hào)及代碼組成電子密碼進(jìn)行簽名,來代替手寫簽名或印章,對(duì)于這種電子式的簽名還可進(jìn)行技術(shù)驗(yàn)證。數(shù)字簽名在ISO7498-2標(biāo)準(zhǔn)中定義為:“附加在數(shù)據(jù)單元上的一些數(shù)據(jù),或是對(duì)數(shù)據(jù)單元所作的密碼變換,這種數(shù)據(jù)和變換允許數(shù)據(jù)單元的接收者用以確認(rèn)數(shù)據(jù)單元來源和數(shù)據(jù)單元的完整性,并保護(hù)數(shù)據(jù),防止被人(例如接收者)進(jìn)行偽造”。數(shù)字簽名實(shí)現(xiàn)的功能與我們“有紙辦公”的手寫簽名類同,具有準(zhǔn)確性、實(shí)用性、完整性、可鑒別性、不可抵賴性等特性,同時(shí)解決否認(rèn)、偽造、篡改及冒充等問題。
將數(shù)字簽名技術(shù)應(yīng)用于電子商務(wù)中,可以解決數(shù)據(jù)的否認(rèn)、偽造、篡改及冒充等問題,其主要用途有三個(gè)方面:
1.驗(yàn)證數(shù)據(jù)的完整性
這個(gè)功能能保證信息自簽發(fā)后到收到為止沒有做任何修改。因?yàn)楫?dāng)兩條信息摘要完全相同時(shí),可以確信這兩條信息的內(nèi)容完全一樣。因此,可以通過將信息發(fā)送前生成的信息摘要與接收后生成的信息摘要進(jìn)行對(duì)比,來判斷信息在傳輸過程中是否被篡改或改變。由于信息摘要在發(fā)送之前,發(fā)送方使用私鑰進(jìn)行加密,其他人要生成相同加密的信息摘要幾乎不可能,于是,接受方收到信息后,可以使用相同的函數(shù)變換,重新生成—個(gè)新的信息摘要,將接收到的信息摘要解密,然后進(jìn)行對(duì)比,從而驗(yàn)證信息的完整性。
2.驗(yàn)證簽名者的身份
此功能證明信息是由簽名者發(fā)送的。因?yàn)閿?shù)字簽名中,是使用公開密鑰加密算法,信息發(fā)送方是使用自己的私鑰對(duì)發(fā)送的信息進(jìn)行加密的,只有持有私鑰的人才能對(duì)數(shù)據(jù)進(jìn)行簽名,所以只要密鑰沒有被竊取,就可以肯定該數(shù)據(jù)是用戶簽發(fā)的。信息接收方可以使用發(fā)送方的公鑰對(duì)接受到的信息進(jìn)行解密,因而,接收方一旦解密成功,就完全可以確認(rèn)信息是由發(fā)送方發(fā)送的,同時(shí)也證實(shí)了信息發(fā)送方的身份。
3.防止交易中的抵賴行為
當(dāng)交易中出現(xiàn)抵賴行為時(shí),信息接收方可以將加了數(shù)字簽名的信息提供給認(rèn)證方,由于帶有數(shù)字簽名的信息是由發(fā)送方的私鑰加密生成的,其他任何人不可能產(chǎn)生這種信息,而發(fā)送方的公鑰是公開的,任何人都可以獲得他的公鑰對(duì)信息解密.這樣認(rèn)證方可以使用公鑰對(duì)接收方提供的信息解密,從而可以判斷發(fā)送方是否出現(xiàn)抵賴行為。
“發(fā)送報(bào)文時(shí),發(fā)送方用一個(gè)哈希函數(shù)從報(bào)文文本中生成報(bào)文摘要,然后用自己的私人密鑰對(duì)這個(gè)摘要進(jìn)行加密,這個(gè)加密后的摘要將作為報(bào)文的數(shù)字簽名和報(bào)文一起發(fā)送給接收方,接收方首先用與發(fā)送方一樣的哈希函數(shù)從接收到的原始報(bào)文中計(jì)算出報(bào)文摘要,接著再用發(fā)送方的公用密鑰來對(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ā)送者的公鑰、發(fā)送者的私鑰。
數(shù)字簽名:發(fā)送方用自己的密鑰對(duì)報(bào)文X進(jìn)行Encrypt(編碼)運(yùn)算,生成不可讀取的密文Dsk,然后將Dsk傳送給接收方,接收方為了核實(shí)簽名,用發(fā)送方的公用密鑰進(jìn)行Decrypt(解碼)運(yùn)算,還原報(bào)文。
關(guān)于數(shù)字簽名與數(shù)字證書的原理有個(gè)非常形象的例子
小明有兩把鑰匙,一把是公鑰,另一把是私鑰。
小明把公鑰送給他的朋友們--小紅、小強(qiáng)、小麗--每人一把。
小麗要給小明寫一封保密的信。她寫完后用小明的公鑰加密,就可以達(dá)到保密的效果。
小明收信后,用私鑰解密,就看到了信件內(nèi)容。這里要強(qiáng)調(diào)的是,只要小明的私鑰不泄露,這封信就是安全的,即使落在別人手里,也無法解密。
小明給小麗回信,決定采用"數(shù)字簽名"。他寫完后先用Hash函數(shù),生成信件的摘要(digest)。
然后,小明使用私鑰,對(duì)這個(gè)摘要加密,生成"數(shù)字簽名"(signature)。
小明將這個(gè)簽名,附在信件下面,一起發(fā)給小麗。
小麗收信后,取下數(shù)字簽名,用小明的公鑰解密,得到信件的摘要。由此證明,這封信確實(shí)是小明發(fā)出的。
小麗再對(duì)信件本身使用Hash函數(shù),將得到的結(jié)果,與上一步得到的摘要進(jìn)行對(duì)比。如果兩者一致,就證明這封信未被修改過。
復(fù)雜的情況出現(xiàn)了。小強(qiáng)想欺騙小麗,他偷偷使用了小麗的電腦,用自己的公鑰換走了小明的公鑰。此時(shí),小麗實(shí)際擁有的是小強(qiáng)的公鑰,但是還以為這是小明的公鑰。因此,小強(qiáng)就可以冒充小明,用自己的私鑰做成"數(shù)字簽名",寫信給小麗,讓小麗用假的小明公鑰進(jìn)行解密。
后來,小麗感覺不對(duì)勁,發(fā)現(xiàn)自己無法確定公鑰是否真的屬于小明。她想到了一個(gè)辦法,要求小明去找"證書中心"(certificate authority,簡(jiǎn)稱CA),為公鑰做認(rèn)證。證書中心用自己的私鑰,對(duì)小明的公鑰和一些相關(guān)信息一起加密,生成"數(shù)字證書"(Digital Certificate)。
小明拿到數(shù)字證書以后,就可以放心了。以后再給小麗寫信,只要在簽名的同時(shí),再附上數(shù)字證書就行了。
小麗收信后,用CA的公鑰解開數(shù)字證書,就可以拿到小明真實(shí)的公鑰了,然后就能證明"數(shù)字簽名"是否真的是小明簽的。
1.接收后的文件可能被接收方重復(fù)使用。如果簽字后的文件是一張支票,接收方很容易多次用該電子支票兌換現(xiàn)金。
2.數(shù)字簽名應(yīng)用很多的RSA算法是基于大數(shù)的因子分解難題。由于計(jì)算機(jī)水平的提高,人們逐漸可以用計(jì)算機(jī)分解更大的數(shù),因此,RSA算法的密鑰也就越來越長(zhǎng)。長(zhǎng)密鑰帶來兩個(gè)問題,一是運(yùn)算速度較慢,另一個(gè)是密鑰存儲(chǔ)和管理問題。如果用l6位的lC卡實(shí)現(xiàn)電子錢包,使用1024比特的RSA算法速度就很慢,要秒計(jì)算,二固化RSA算法的IC卡或32位的IC卡價(jià)格則較貴。
3.目前數(shù)字簽名在使用過程中缺少法規(guī)的規(guī)范,在使用當(dāng)中比較容易出現(xiàn)一些法律問題。
1.利用數(shù)據(jù)加密技術(shù)。數(shù)據(jù)加密技術(shù)是將明文采取數(shù)學(xué)方式轉(zhuǎn)換成為密文,只有特定接收方才能將其解密還原成為明文的過程。數(shù)據(jù)加密及其相關(guān)技術(shù)應(yīng)用可有效解決電子商務(wù)交易中信息的完整性、不可抵賴性和交易身份確定性等問題。
2.利用數(shù)字簽名技術(shù)。數(shù)字簽名是附加在信息上并隨著信息一起傳送的一串代碼,與普通手寫的簽名作用類似,數(shù)字簽名可以保證信息傳輸過程中的信息完整性,以及提供信息發(fā)送者的身份認(rèn)證和不可抵賴性。數(shù)字簽名的實(shí)現(xiàn)是利用哈希函數(shù)(Hash)和RSA公開密鑰算法來完成的。其中Hash簽名是最主要的數(shù)字簽名方法,也稱之為數(shù)字摘要法、數(shù)字指紋法。數(shù)字簽名方法是將數(shù)字簽名與要發(fā)送的信息緊密聯(lián)系在一起。它更適于電子商務(wù)活動(dòng)。將一個(gè)商務(wù)合同的個(gè)體內(nèi)容與簽名結(jié)合在一起,比合同和簽名分開傳遞,更增加了可信度和安全性。
3.利用認(rèn)證技術(shù)。認(rèn)證技術(shù)是保證電子商務(wù)安全的重要因素之一。認(rèn)證分為實(shí)體認(rèn)證和信息認(rèn)證。前者指對(duì)參與通信實(shí)體(指參與通信的個(gè)人、客戶程序服務(wù)程序等)的身份認(rèn)證:后者指對(duì)信息體進(jìn)行認(rèn)證并確定其合法性,發(fā)生在信息接收者收到信息后。
總之,現(xiàn)有的電子商務(wù)的安全技術(shù)并不是無懈可擊的。操作系統(tǒng)的漏洞,管理人員的疏漏,都有可能造成安全漏洞。而加密技術(shù)本身也不是完全不可解的。電子商務(wù)的安全是又個(gè)非常復(fù)雜的問題,它是一個(gè)系統(tǒng)有機(jī)的整體,不僅需要計(jì)算機(jī)網(wǎng)絡(luò)安全的保證,也需要商務(wù)交易安全上的保障,才能確保電子商務(wù)的安全。同時(shí)我國(guó)在電子商務(wù)技術(shù)性較為落后,必須加強(qiáng)信息安全產(chǎn)品的研究,加強(qiáng)信息安全人才的培養(yǎng),共同努力建立科學(xué)的電子商務(wù)安全機(jī)制,才能為我國(guó)的電子商務(wù)發(fā)展保駕護(hù)行。所以電子商務(wù)的安全技術(shù)是電子商務(wù)成功與否的決定性因素。
[1] 凌捷,計(jì)算機(jī)資料安全技術(shù)[M].北京:科學(xué)出版社,2004.
[2] 李曉霞,劉青,基于RSA算法的數(shù)字簽名技術(shù)在電子商務(wù)中的應(yīng)用[J].計(jì)算機(jī)知識(shí)與技術(shù), 2005.
[3]陳風(fēng),張利萍,RSA算法及其在電子商務(wù)中的應(yīng)用[J].鐵路計(jì)算機(jī)應(yīng)用,2003.
[4]王玉奇,基于RSA的電子商務(wù)數(shù)字簽名技術(shù)[J].經(jīng)濟(jì)師,2005.
[5] 李鳳慧,電子商務(wù)中的數(shù)字簽名技術(shù)[J].商場(chǎng)現(xiàn)代化,2006.
[6]林楓,電子商務(wù)安全技術(shù)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2001.
[7] 百度文庫(kù),數(shù)字簽名。shdiao 2013-12-29.
[8] David Youd 翻譯:阮一峰,數(shù)字簽名是什么?2011-8-9.