李洪艷
關(guān)鍵詞:數(shù)據(jù)加密技術(shù);計算機(jī)網(wǎng)絡(luò)安全;應(yīng)用
1引言
近年來,隨著我國網(wǎng)絡(luò)技術(shù)的發(fā)展和互聯(lián)網(wǎng)的逐漸普及,網(wǎng)絡(luò)安全尤其數(shù)據(jù)安全成為關(guān)注的焦點(diǎn)。由于互聯(lián)網(wǎng)的快速發(fā)展,全球的網(wǎng)絡(luò)一體化逐漸發(fā)展和形成,但同時與網(wǎng)絡(luò)安全相關(guān)的事件也在增多。一旦相關(guān)的網(wǎng)站或者個人計算機(jī)被攻擊,就可能產(chǎn)生網(wǎng)站癱瘓或者數(shù)據(jù)泄露,從而對社會、公司或者個人產(chǎn)生較大的影響。尤其是數(shù)據(jù)泄露,可能導(dǎo)致重大的損失,輕則泄露個人信息或者公司經(jīng)營信息,重則影響社會穩(wěn)定和國家安全。數(shù)據(jù)加密技術(shù)已經(jīng)開發(fā)和應(yīng)用多年,近年來更是得到了較快的發(fā)展,它對保護(hù)數(shù)據(jù)信息安全具有重要的作用[1]。
2數(shù)據(jù)加密技術(shù)及主要算法
2.1數(shù)據(jù)加密技術(shù)概述
數(shù)據(jù)加密技術(shù)一般指的是,將各類明文(plaintext)信息,通過使用特定的加密函數(shù)或者經(jīng)過加密鑰匙處理,將其轉(zhuǎn)換為特定形式的密文(cipher text),然后進(jìn)行網(wǎng)絡(luò)傳輸,信息接收方通過特定的解密函數(shù)轉(zhuǎn)換或者特定的解密鑰匙(decryption key)處理后,還原成原始的明文信息。其中,數(shù)據(jù)加密技術(shù)的核心就是加密鑰匙和加密算法。
1844年,美國摩爾斯發(fā)明的電報(也被稱為摩爾斯電碼)成為密碼學(xué)的誕生起點(diǎn)。而數(shù)據(jù)加密技術(shù)是隨著密碼學(xué)的發(fā)展而逐漸完善的,其核心是研究如何編制密碼和破譯密碼。此后,密碼學(xué)經(jīng)過不斷發(fā)展和應(yīng)用,研究領(lǐng)域逐漸擴(kuò)大到密碼理論、密碼算法、密碼協(xié)議等。在生活中,具有密碼功能的密碼產(chǎn)品應(yīng)用廣泛,如銀行U盾等。密碼學(xué)的研究也與計算機(jī)相結(jié)合,形成了數(shù)據(jù)加密技術(shù)并不斷拓展。早期的數(shù)據(jù)加密主要是對計算機(jī)存儲的文字進(jìn)行加密和解密,而隨著計算機(jī)軟件的不斷發(fā)展和與密碼學(xué)之間的深度融合,已經(jīng)可以對圖像、語音、軟件等各類信息進(jìn)行加解密。
在計算機(jī)網(wǎng)絡(luò)安全中,數(shù)據(jù)加密技術(shù)發(fā)揮了重要的作用。一是提高數(shù)據(jù)保護(hù)能力。數(shù)據(jù)加密技術(shù)將明文轉(zhuǎn)換為密文,然后在網(wǎng)絡(luò)中進(jìn)行傳輸,從而提高對明文的保護(hù)程度。實(shí)際上,數(shù)據(jù)泄露主要有兩個途徑,一個是存儲的數(shù)據(jù)被泄露,另一個是數(shù)據(jù)在傳輸中被截獲。在大部分現(xiàn)有的商用網(wǎng)站中,都難以從根本上杜絕上面兩個途徑的數(shù)據(jù)泄露,個人的計算機(jī)數(shù)據(jù)保護(hù)程度較低。因此,要提高數(shù)據(jù)保護(hù)能力,就得從數(shù)據(jù)本身的防范做起,需要數(shù)據(jù)加密技術(shù)對其進(jìn)行保護(hù),從而提高數(shù)據(jù)的防御能力。二是評估安全等級。數(shù)據(jù)加密技術(shù)也可以用來對網(wǎng)絡(luò)信息的安全程度進(jìn)行等級評定,對網(wǎng)絡(luò)信息安全進(jìn)行鑒定。通常情況下,應(yīng)用數(shù)據(jù)加密技術(shù)越多、破解難度越大,那么相應(yīng)地對數(shù)據(jù)的保護(hù)程度也越高,從而計算機(jī)網(wǎng)絡(luò)信息安全的程度也越高。當(dāng)然,從現(xiàn)在計算機(jī)網(wǎng)絡(luò)中對數(shù)據(jù)的保護(hù)來看,很少使用單一的數(shù)據(jù)加密技術(shù),往往是通過組合的加密技術(shù)對數(shù)據(jù)進(jìn)行保護(hù),從而能進(jìn)一步提高計算機(jī)網(wǎng)絡(luò)安全程度[2]。
2.2數(shù)據(jù)加密技術(shù)的主要算法
數(shù)據(jù)加密技術(shù)主要涉及算法與密鑰兩方面內(nèi)容,其實(shí)際上主要是密碼學(xué)相關(guān)的內(nèi)容,只是應(yīng)用于計算機(jī)上,從而變?yōu)榱藬?shù)據(jù)加密技術(shù)。其中,算法就是具體的運(yùn)算方式,密鑰是參數(shù)。要明確算法與密鑰的區(qū)別,可以按照密碼學(xué)原則分析,即“明文+加密密鑰”通過特定加密函數(shù)的運(yùn)算,可以得到密文:“密文+解密密鑰”通過特定的解密函數(shù)的運(yùn)算,從而得到明文。
常見的數(shù)據(jù)加密技術(shù)主要可以分為兩大類,即單向加密技術(shù)和雙向加密技術(shù),其中雙向加密技術(shù)又可以分為對稱加密技術(shù)和非對稱加密技術(shù)。按照這個分類方式,常見的數(shù)據(jù)加密算法也主要分為三類,一是單向加密算法,二是對稱加密算法,三是非對稱加密算法。
(1)單向加密算法。單向加密算法中主要使用的是信息摘要算法,而信息摘要算法最為主要的算法是MD5(也稱為Hash算法)。MD5算法最主要的特征就是算法不可逆。其算法的核心是采取補(bǔ)位和變換的方式,對原始數(shù)據(jù)的數(shù)據(jù)長度進(jìn)行一定的補(bǔ)位或者附加,將數(shù)據(jù)的各類參數(shù)進(jìn)行重置,并統(tǒng)一輸出密文128位。經(jīng)過MD5加密處理后的密文一般都要比明文小,而且加密后的串是唯一的。它在計算機(jī)網(wǎng)絡(luò)安全中的應(yīng)用較為廣泛,主要不需要對數(shù)據(jù)進(jìn)行還原的密碼存儲、信息完整性校驗(yàn)等。密碼存儲較為好理解,就是將原始密碼經(jīng)過加密后進(jìn)行存儲。信息完整性校驗(yàn)則是指,接收密文的接收方在獲得密文后,可以通過驗(yàn)證MD5數(shù)值的方式對密文進(jìn)行檢驗(yàn),以核實(shí)該密文是否進(jìn)行了篡改或者加入了病毒。如果數(shù)值不一致,則可以避免下載。正是由于MD5算法加密后的數(shù)據(jù)具有唯一性,因此廣泛應(yīng)用于數(shù)字簽名等場景中,只要經(jīng)過第三方的認(rèn)證,那么密文發(fā)送者就無法“抵賴”。
(2)對稱加密算法。這里的對稱指的是密文的發(fā)送方和接收方,兩者都采取相同的密鑰來對明文或者密文進(jìn)行加密和解密。采取這種密鑰的算法,稱之為對稱加密算法。對稱加密算法中,應(yīng)用較多的主要有DES.3DES,AES等。DES算法是一種將64位(8字節(jié))明文加密成64位密文的對稱加密算法,它的密鑰長度為56位,但在實(shí)際應(yīng)用中是64位,其中每隔7位設(shè)置了一個校驗(yàn)位。該算法是采取分組加密的迭代模式,主要通過置換移位的方式進(jìn)行加密運(yùn)算。其加密和解密均需要應(yīng)用相同的密鑰,在加解密處理效率方面存在較大優(yōu)勢,適用于數(shù)據(jù)庫大量數(shù)據(jù)的加密處理工作。但這種加密方式也存在明顯的缺點(diǎn),就是容易出現(xiàn)安全問題,即只要掌握了任意一方的密鑰,就能解讀由DES加密算法加密的密文數(shù)據(jù)。如果采用窮舉法破譯,破解DES加密算法實(shí)際上就是搜索密鑰的編碼。對于56位長度的密鑰來說,如果用窮舉法來進(jìn)行搜索,其運(yùn)算次數(shù)為2的56次方。因此,這種加密方式一般不適用于互聯(lián)網(wǎng),主要用于內(nèi)部系統(tǒng)的數(shù)據(jù)加密處理。3DES和AES的算法與DES算法存在相似之處,主要是對DES算法的改進(jìn)和升級。其中,DES算法的密鑰長度56位,加密速度中等,消耗資源中等,但安全性低。3DES算法的密鑰長度為112,168位,加密速度慢,消耗資源高,安全性中等。AES算法是密碼學(xué)中的高級加密標(biāo)準(zhǔn),也是美國采用的區(qū)塊加密標(biāo)準(zhǔn),密鑰長度為128,192,256位,加密速度快、消耗資源低,安全性也高。
(3)非對稱加密算法。這里指的非對稱,主要是指密文的發(fā)送方和接收方,分別采取了不一樣的密鑰,對明文和密文進(jìn)行加密和解密。由于兩者所采用的密鑰不同,加密一方的密鑰稱之為公鑰,而解密一方的密鑰稱之為私鑰。這種密鑰的各類算法,也稱之為非對稱加密算法。非對稱加密算法主要有RSA,DSA等,其中RSA算法的應(yīng)用最為廣泛。RSA算法的基本邏輯是,將兩個大素數(shù)相乘十分容易,但是若要對其乘積進(jìn)行因式分解極其困難,因此可以將乘積公開作為加密密鑰。RSA算法的密鑰長度多為1024位或者2048位,這就進(jìn)一步提高了破解密鑰的難度。雖然RSA算法的安全性一直未能得到理論上的證明,但它經(jīng)歷了各種攻擊至今未被完全攻破。RSA算法的加密和解密程序與對稱加密算法是一樣的,只是解密的密鑰不一致。其中,公鑰是可以公開的,而只要保存好私鑰就可以進(jìn)行解密。但這種算法也存在一定的缺點(diǎn),即加密和解密的速度較慢,不適合處理大型數(shù)據(jù)的加密。由于安全性較好,RSA算法的加密技術(shù)也廣泛應(yīng)用于數(shù)據(jù)加密和數(shù)字簽名等場景中[3]。
3數(shù)據(jù)加密技術(shù)在計算機(jī)網(wǎng)絡(luò)安全中的應(yīng)用
3.1在計算機(jī)系統(tǒng)中的應(yīng)用
隨著計算機(jī)在我國各個領(lǐng)域的應(yīng)用和普及,計算機(jī)系統(tǒng)成為各類數(shù)據(jù)的主要載體。如果因?yàn)槟撤N因素(如病毒等)造成了數(shù)據(jù)泄露,那么可能會給相關(guān)行業(yè)或者公司造成較大的經(jīng)濟(jì)損失。因此,加強(qiáng)計算機(jī)系統(tǒng)中的數(shù)據(jù)安全保護(hù)就顯得尤為重要。
在計算機(jī)系統(tǒng)中,常用的保護(hù)數(shù)據(jù)安全的方法,主要分為物理方法和加密方法。物理方法是采取物理隔離的方式,對計算機(jī)系統(tǒng)的數(shù)據(jù)進(jìn)行保護(hù)。例如,常用的方式主要是采取單獨(dú)的系統(tǒng),相當(dāng)于獨(dú)立的但不聯(lián)網(wǎng)的計算機(jī)保存專用數(shù)據(jù),還有則是常使用專門的硬盤存儲專用數(shù)據(jù)。當(dāng)然,使用這種物理隔離方式能夠保護(hù)好專用數(shù)據(jù),但因?yàn)槲磁c計算機(jī)網(wǎng)絡(luò)直接聯(lián)網(wǎng),可能帶來數(shù)據(jù)使用和傳輸不方便的問題。
如果要既能方便使用和傳輸數(shù)據(jù),又能較好保護(hù)專用數(shù)據(jù),那么比較好的方式就是使用加密方法。在計算機(jī)系統(tǒng)中的加密方式,主要可以分為磁盤加密和驅(qū)動加密兩種。其中,磁盤加密就是采用防火墻、殺毒軟件、主機(jī)監(jiān)控等方式對計算機(jī)進(jìn)行加密處理,當(dāng)然,這種加密方式是基于訪問權(quán)限的加密,而非數(shù)據(jù)加密。主要是對使用計算機(jī)系統(tǒng)的人進(jìn)行權(quán)限的認(rèn)定,計算機(jī)系統(tǒng)的所有數(shù)據(jù)仍以明文的方式呈現(xiàn),因此,這仍是低等級的加密方式。驅(qū)動加密就是對驅(qū)動程序進(jìn)行加密控制,嚴(yán)格限制訪問權(quán)限,在不整體對磁盤加密的情況下,只對程序及相應(yīng)的數(shù)據(jù)進(jìn)行加密。在這種方式下,融合數(shù)據(jù)加密技術(shù),出現(xiàn)了簽名信息認(rèn)證技術(shù)。這種技術(shù)就是使用數(shù)字認(rèn)證或者口令認(rèn)證的方式,授權(quán)特定用戶登錄計算機(jī)系統(tǒng),相對來說,口令認(rèn)證的方式更為安全。
3.2在網(wǎng)絡(luò)數(shù)據(jù)庫中的應(yīng)用
網(wǎng)絡(luò)數(shù)據(jù)庫就是按照一定的結(jié)構(gòu)和規(guī)則,將不同的計算機(jī)和數(shù)據(jù)進(jìn)行連接,從而實(shí)現(xiàn)數(shù)據(jù)共享的數(shù)據(jù)庫??梢哉f,網(wǎng)絡(luò)數(shù)據(jù)庫的建立和運(yùn)行,是實(shí)現(xiàn)數(shù)據(jù)存儲和共享最有效的技術(shù)之一。它可以實(shí)現(xiàn)“數(shù)據(jù)+資源”共享,相關(guān)用戶通過瀏覽器就可以實(shí)現(xiàn)數(shù)據(jù)的存儲、查詢和下載、使用等功能。但也正是因?yàn)榫W(wǎng)絡(luò)數(shù)據(jù)庫的開放性,用戶可以通過瀏覽器實(shí)現(xiàn)訪問,所以網(wǎng)絡(luò)數(shù)據(jù)庫的安全等級可能不高,一般僅為C1或C2級別,這就對數(shù)據(jù)庫的數(shù)據(jù)保密工作帶來了嚴(yán)重的挑戰(zhàn)。
網(wǎng)絡(luò)數(shù)據(jù)庫的數(shù)據(jù)加密主要涉及兩方面,一是靜態(tài)數(shù)據(jù)加密,即在數(shù)據(jù)存儲過程中,對數(shù)據(jù)進(jìn)行加密處理;二是動態(tài)數(shù)據(jù)加密,即在數(shù)據(jù)傳輸過程中,對傳輸中的數(shù)據(jù)進(jìn)行加密處理。越是專業(yè)性強(qiáng)、保密要求高的數(shù)據(jù),越需要對數(shù)據(jù)進(jìn)行加密處理。對于這類數(shù)據(jù),如果對數(shù)據(jù)進(jìn)行加密,由明文變成密文,即使密文丟失,如果沒有密鑰,那么破解的難度也較大,尤其是采用非對稱加密算法加密的數(shù)據(jù)更是如此[4]。
對于網(wǎng)絡(luò)數(shù)據(jù)庫,其數(shù)據(jù)加密工作可能主要涉及以下幾個方面。一是身份認(rèn)證。這是網(wǎng)絡(luò)數(shù)據(jù)庫的首要關(guān)口。通過數(shù)字認(rèn)證或者口令認(rèn)證的方式,可以對特定的使用者進(jìn)行授權(quán),從而形成數(shù)據(jù)安全的第一道防御。二是數(shù)據(jù)加密??梢砸罁?jù)數(shù)據(jù)的重要程度和保密要求,采取單向加密算法.對稱加密算法或者非對稱加密算法,從而對所存儲的數(shù)據(jù)進(jìn)行加密處理。三是密鑰管理。如果采取后兩類算法,那么會形成相應(yīng)的密鑰。此時,需要數(shù)據(jù)庫工作人員或者使用者妥善保存好密鑰。四是安全備份。對于某些重要的數(shù)據(jù),需要對此類數(shù)據(jù)進(jìn)行備份。
3.3在網(wǎng)絡(luò)傳輸中的應(yīng)用
數(shù)據(jù)在計算機(jī)網(wǎng)絡(luò)中進(jìn)行傳輸時,很容易造成數(shù)據(jù)泄露。因此,在網(wǎng)絡(luò)傳輸中,對重要的數(shù)據(jù)進(jìn)行加密處理是數(shù)據(jù)加密技術(shù)的重要應(yīng)用場景。在網(wǎng)絡(luò)傳輸中,數(shù)據(jù)的加密傳輸一般通過三個層次來實(shí)現(xiàn),即鏈路加密、節(jié)點(diǎn)加密和端到端加密。
以鏈路加密傳輸為例。鏈路加密就是在網(wǎng)絡(luò)上的兩個節(jié)點(diǎn)之間,實(shí)現(xiàn)加密數(shù)據(jù)的傳輸。一般過程是,數(shù)據(jù)經(jīng)過加密后,由起始節(jié)點(diǎn)傳到下一個節(jié)點(diǎn),然后這個節(jié)點(diǎn)對接收到的信息進(jìn)行解密,并用下一個鏈路的密鑰對數(shù)據(jù)進(jìn)行加密,之后進(jìn)行傳輸。在到達(dá)目的節(jié)點(diǎn)前,加密數(shù)據(jù)可能要經(jīng)過許多網(wǎng)絡(luò)通信鏈路的傳輸。當(dāng)前,鏈路加密在計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)傳輸中的應(yīng)用較為普遍,但是也存在一定的問題,如鏈路加密一般要求鏈路兩端的加密設(shè)備進(jìn)行同步,如果不能同步,則可能導(dǎo)致密文丟失。在此基礎(chǔ)上,又發(fā)展了節(jié)點(diǎn)加密和端到端加密的傳輸方式。由于篇幅限制,在此不贅述[5]。
4結(jié)束語
隨著我國互聯(lián)網(wǎng)技術(shù)的發(fā)展和互聯(lián)網(wǎng)的逐漸普及,數(shù)據(jù)安全應(yīng)該得到各方重視,尤其是涉及國計民生等方面的公共數(shù)據(jù)和公司經(jīng)營等方面的企業(yè)數(shù)據(jù)更需要加強(qiáng)保護(hù)。社會各界應(yīng)積極重視數(shù)據(jù)安全工作,了解各類數(shù)據(jù)加密技術(shù)的優(yōu)勢和不足,使用合適的數(shù)據(jù)加密技術(shù)加強(qiáng)對數(shù)據(jù)的保護(hù),提高數(shù)據(jù)存儲安全和傳輸安全,防范各類因非法入侵而導(dǎo)致的數(shù)據(jù)泄露等非安全因素,提高計算機(jī)網(wǎng)絡(luò)安全與數(shù)據(jù)安全。