◆郭 浩
(應(yīng)急管理部消防救援局昆明訓(xùn)練總隊(duì) 云南 650208)
互聯(lián)網(wǎng)技術(shù)就是將各種電子設(shè)備、計(jì)算機(jī)、數(shù)據(jù)終端連接起來(lái),實(shí)現(xiàn)相互數(shù)據(jù)的傳遞交流。在互聯(lián)網(wǎng)發(fā)展初期,人們并沒(méi)有意識(shí)到“網(wǎng)絡(luò)安全”的重要性,人們對(duì)于互聯(lián)網(wǎng)的運(yùn)用還停留在實(shí)驗(yàn)階段。但隨著相關(guān)技術(shù)的開(kāi)發(fā)與普及,互聯(lián)網(wǎng)與人類生產(chǎn)生活越來(lái)越密不可分,在互聯(lián)網(wǎng)為人類帶來(lái)便利的同時(shí),部分不法分子便想通過(guò)互聯(lián)網(wǎng)技術(shù)謀取利益。為了保護(hù)人民群眾的財(cái)產(chǎn)安全,加強(qiáng)網(wǎng)絡(luò)通信的安全性就變得十分重要。
數(shù)字簽名技術(shù)就是對(duì)個(gè)人身份進(jìn)行認(rèn)證的技術(shù),它的實(shí)現(xiàn)原理類似于紙質(zhì)版手寫(xiě)簽名,通過(guò)數(shù)字化文檔在上面進(jìn)行數(shù)字簽名。數(shù)字簽名技術(shù)能夠?qū)⑺薪邮盏降男畔⑦M(jìn)行驗(yàn)證辨認(rèn),其內(nèi)容不可偽造,是現(xiàn)代網(wǎng)絡(luò)通信過(guò)程中的重要安全保護(hù)系統(tǒng)。在實(shí)際運(yùn)行過(guò)程中,接收者能夠驗(yàn)證文檔是否來(lái)自簽名者,并對(duì)簽名后的文檔修改情況進(jìn)行檢測(cè),切實(shí)保證信息的真實(shí)性和完整性。在現(xiàn)代自動(dòng)化指揮系統(tǒng)中,數(shù)字簽名技術(shù)的數(shù)據(jù)不可抵賴性、私密性以及完整性,使其可以安全地傳送作戰(zhàn)指揮命令和文件[1]。
一般來(lái)說(shuō),完整的數(shù)字簽名技術(shù)應(yīng)滿足以下幾個(gè)要求:
(1)任何人都不能夠偽造他人姓名;
(2)簽名者在簽名發(fā)送后,不可以對(duì)自己的簽名抵賴;
(3)接受者對(duì)簽名者的簽名進(jìn)行簽收確認(rèn)后,不能對(duì)簽名進(jìn)行否認(rèn);
(4)若出現(xiàn)當(dāng)事人雙方對(duì)簽名存在爭(zhēng)執(zhí),可以由第三方進(jìn)行公正仲裁;
(5)第三方不能對(duì)相關(guān)簽名數(shù)據(jù)進(jìn)行更改,只能執(zhí)行確認(rèn)功能。
在網(wǎng)絡(luò)通信過(guò)程中,最重要的就是保證信息傳遞雙方的數(shù)據(jù)安全性,防止他人進(jìn)入系統(tǒng)對(duì)相關(guān)數(shù)據(jù)資源進(jìn)行非法使用。在實(shí)際工作中常通過(guò)對(duì)數(shù)據(jù)文件進(jìn)行加密來(lái)保護(hù)數(shù)據(jù)傳遞的安全,防止除接收方之外的第三方截獲數(shù)據(jù)并利用數(shù)據(jù)進(jìn)行違法交易。如在電子交易中,避免出現(xiàn)遭到黑客的襲擊致使信用卡信息丟失的問(wèn)題。
網(wǎng)絡(luò)通信要確認(rèn)數(shù)據(jù)信息的完整性,這樣不僅能保證相關(guān)工作的正常進(jìn)行,還能防止非法用戶對(duì)相關(guān)數(shù)據(jù)進(jìn)行無(wú)意或惡意的修改、插入,造成數(shù)據(jù)丟失等。
網(wǎng)絡(luò)通信在確定好數(shù)據(jù)的準(zhǔn)確性后,要實(shí)現(xiàn)數(shù)據(jù)傳遞雙方對(duì)數(shù)據(jù)和信息的不可否認(rèn)性。以確保數(shù)據(jù)由合法的用戶發(fā)出,防止數(shù)據(jù)發(fā)送方在發(fā)出數(shù)據(jù)后又加以否認(rèn),同時(shí)防止接收方在收到數(shù)據(jù)后又否認(rèn)曾收到過(guò)此數(shù)據(jù)或篡改數(shù)據(jù)。
上述需求常用于防火墻、加密、身份認(rèn)證等方面,但其關(guān)鍵還是在于數(shù)字簽名技術(shù)的運(yùn)用。
MD5(消息摘要算法第五版)是計(jì)算機(jī)安全領(lǐng)域廣泛使用的散列函數(shù),是一種不可逆算法,即不需要密鑰,并且經(jīng)過(guò)加密的數(shù)據(jù)無(wú)法被解密,通常用以提供消息的完整性保護(hù)。MD5算法能夠講一段信息轉(zhuǎn)換為一個(gè)128位,16字節(jié)的定長(zhǎng)信息摘要,為這段信息上了一道無(wú)法打開(kāi)的鎖,防止內(nèi)容被篡改。
一般在機(jī)要文件傳輸過(guò)程中,為了防止文件內(nèi)容被篡改,會(huì)將MD5算法加入文件內(nèi)容中進(jìn)行加密。一旦文件內(nèi)容有所改動(dòng),MD5加密后的值就會(huì)發(fā)生改變,工作人員就可以判斷文件內(nèi)容的安全性。此外,在互聯(lián)網(wǎng)應(yīng)用注冊(cè)過(guò)程中,互聯(lián)網(wǎng)公司會(huì)將用戶的名稱與密碼存入數(shù)據(jù)庫(kù)中。為防止這些個(gè)人信息被不法分子盜取,可以進(jìn)行MD5加密。當(dāng)用戶在登錄時(shí)將登錄密碼再次進(jìn)行MD5加密,通過(guò)對(duì)加密結(jié)果的對(duì)比分析,判斷密碼的安全性,保證個(gè)人信息的安全。
但在實(shí)際數(shù)據(jù)傳遞過(guò)程中,往往需要在接收端接收到數(shù)據(jù)信息,這就需要通過(guò)加密算法進(jìn)行反推,如DES算法、RSA算法等,具體可以分為非對(duì)稱密鑰密碼算法與對(duì)稱密鑰密碼算法[2]。
(1)非對(duì)稱密鑰密碼算法含義
非對(duì)稱密鑰算法是通過(guò)公開(kāi)密鑰與私有密鑰的結(jié)合使用,對(duì)相關(guān)數(shù)據(jù)實(shí)現(xiàn)加密和解密。一般來(lái)說(shuō),當(dāng)運(yùn)用私有密鑰對(duì)相關(guān)數(shù)據(jù)進(jìn)行加密時(shí),只能用與其對(duì)應(yīng)的公開(kāi)密鑰進(jìn)行解密;而運(yùn)用公開(kāi)密鑰對(duì)相關(guān)數(shù)據(jù)進(jìn)行加密時(shí),只能用于其對(duì)應(yīng)的私有密鑰進(jìn)行解密。常見(jiàn)的RSA、Elgamal、背包算法、Rabin、D-H、ECC等都是非對(duì)稱密鑰密碼算法。
(2)簽名和驗(yàn)證過(guò)程
首先,由發(fā)送方利用公開(kāi)密鑰的單向函數(shù),對(duì)所需報(bào)告的內(nèi)容進(jìn)行第一次數(shù)字轉(zhuǎn)換,得到一個(gè)基礎(chǔ)簽名,再利用私有密鑰對(duì)基礎(chǔ)簽名進(jìn)行二次加密后,隨原報(bào)告文件一同發(fā)出。要注意公開(kāi)密鑰的選取,確定密鑰是由可信賴的技術(shù)管控機(jī)構(gòu)發(fā)布的。
隨后,由接收方利用公開(kāi)密鑰對(duì)數(shù)字簽名進(jìn)行解密,可以得到一個(gè)數(shù)字明文。將這個(gè)數(shù)字明文通過(guò)單向函數(shù)進(jìn)行計(jì)算,可以得到一個(gè)對(duì)應(yīng)的數(shù)字簽名。
最后,將發(fā)送方發(fā)出的數(shù)字簽名與接收方接收的數(shù)字簽名進(jìn)行比對(duì),若兩者相同,則證明簽名為有效簽名,反之則無(wú)效。
(3)非對(duì)稱密鑰密碼算法使用意義
在實(shí)際工作過(guò)程中,由于公鑰的公開(kāi)性,數(shù)據(jù)傳遞雙方只需要保管好自己的私鑰即可。同時(shí),由于每個(gè)用戶的私鑰是唯一的,這就使接收方不僅可以通過(guò)公鑰來(lái)驗(yàn)證發(fā)送方的數(shù)據(jù)來(lái)源是否真實(shí),還可以通過(guò)數(shù)字簽名確保發(fā)送方是否發(fā)送過(guò)該信息。非對(duì)稱密鑰密碼算法不要求接收方和發(fā)送方事先約定好固定的密鑰,極大程度上降低了密鑰的管理工作量,杜絕假冒及抵賴情況。
(1)對(duì)稱密鑰密碼算法含義
對(duì)稱密鑰加密又叫專用密鑰加密或共享密鑰加密,在實(shí)際計(jì)算過(guò)程中,要保證接收方和發(fā)送方所使用的密鑰相同,利用相同的方式對(duì)明文進(jìn)行加密和解密運(yùn)算。由于其加密密鑰與解密密鑰相同,就算存在差異也可以通過(guò)簡(jiǎn)單的計(jì)算推導(dǎo)出來(lái),所以數(shù)據(jù)傳遞雙方做好密鑰保密工作,如果一方的密鑰泄露,將會(huì)造成嚴(yán)重的數(shù)據(jù)泄漏事。常見(jiàn)的DES、3DES、IDEA、FEAL、BLOWFISH等都是對(duì)稱密鑰密碼算法。
(2)簽名和驗(yàn)證過(guò)程
在對(duì)稱密鑰密碼運(yùn)用過(guò)程中,常用Lamport發(fā)明的Lamport-Diffle進(jìn)行計(jì)算:先利用一組長(zhǎng)度為報(bào)告內(nèi)容n兩倍的密鑰A,出現(xiàn)對(duì)簽名的驗(yàn)證信息。隨后隨機(jī)選擇2n個(gè)數(shù)B,利用簽名密鑰對(duì)B進(jìn)行一次加密交換,得到最終的2n個(gè)數(shù)C。根據(jù)檢查報(bào)告內(nèi)容分組的第X位,若其位為0,取密鑰A的第X位;若其為1,取密鑰X+1位。直至所有內(nèi)容檢查完,將所有密鑰位結(jié)合就得到了最終簽名。
接收方利用相同方法進(jìn)行計(jì)算,并且由于接收方有從發(fā)送方發(fā)送的驗(yàn)證信息C,可以通過(guò)對(duì)C的驗(yàn)證來(lái)確認(rèn)報(bào)告內(nèi)容是否來(lái)源于發(fā)送方[3]。
(3)對(duì)稱密鑰密碼算法使用意義
在實(shí)際工作過(guò)程中,由于對(duì)稱密鑰密碼算法是對(duì)報(bào)告內(nèi)容進(jìn)行逐位計(jì)算,若中間某一位被改動(dòng),就無(wú)法實(shí)現(xiàn)數(shù)據(jù)的增長(zhǎng)傳遞,所以其安全性較好。但一般來(lái)說(shuō),對(duì)稱密鑰密碼的簽名過(guò)長(zhǎng),加大了相關(guān)破譯工作難度,且簽名密鑰及相關(guān)驗(yàn)證信息不能重復(fù)使用,否則極不安全。
目前我國(guó)互聯(lián)網(wǎng)環(huán)境并不健康,限制于科學(xué)技術(shù)手段以及計(jì)算機(jī)的計(jì)算水平,許多不法分子經(jīng)常惡意攻擊他人系統(tǒng)來(lái)獲取利益。而數(shù)字簽名技術(shù)的應(yīng)用提高了網(wǎng)絡(luò)通信的安全性、可靠性,但這并不意味著我們可以停止對(duì)相關(guān)算法的開(kāi)發(fā)研究。隨著相關(guān)設(shè)備的計(jì)算水平不斷提高,加密算法也要進(jìn)行相應(yīng)的革新進(jìn)步,這關(guān)系到互聯(lián)網(wǎng)的發(fā)展未來(lái),具有較高的社會(huì)經(jīng)濟(jì)利用價(jià)值,值得相關(guān)部門的深入研討。