◆張艷艷 王煥博
(黑龍江工程學(xué)院 黑龍江 150001)
數(shù)據(jù)加密技術(shù)劃分為兩種類型,一種是對稱加密技術(shù),另一種則是非對稱加密技術(shù)。但無論如何,新的算法和技術(shù)手段的應(yīng)用目的是為了保障數(shù)據(jù)的安全性和穩(wěn)定性,通過技術(shù)手段將密文轉(zhuǎn)換為可以理解的明文。
將原始且未經(jīng)過修改的信息稱為明文,將經(jīng)過信息處理后的信息稱為密文,則從明文到密文的過程就是我們所說的數(shù)據(jù)加密過程。通常情況下,要達(dá)成這一目標(biāo)需要通過相應(yīng)算法的支持而完成。反之,從密文到明文的恢復(fù)過程就是解密過程,也是需要通過解密算法來實(shí)現(xiàn)。發(fā)送方將明文轉(zhuǎn)換為密文發(fā)送給接收方,接收方經(jīng)過解密將密文再轉(zhuǎn)換為明文,然后將解密后的明文再次加密發(fā)回給發(fā)送方,以此為基礎(chǔ)形成循環(huán)。在加密時(shí)我們使用的加密密鑰會(huì)在空間內(nèi)隨機(jī)選擇,如果只用一個(gè)密鑰,那么這一過程就是使用密鑰的對稱加密技術(shù)。無論是哪種類型的加密技術(shù),整個(gè)密碼系統(tǒng)的功能和特性都表現(xiàn)得非常顯著,一是具有良好的辨識(shí)性,密碼系統(tǒng)除了可以對保密性進(jìn)行判斷之外,還可以確保接收到的信息合理、合法,從而進(jìn)行有效的身份識(shí)別。此外,這些信息通常是比較完整的,不會(huì)被惡意破壞或是篡改。接收方接收消息環(huán)節(jié)會(huì)涉及兩個(gè)方面的要求,一是算法要求,二是密鑰要求。加密算法本身是將可以進(jìn)行調(diào)整的明文通過和密鑰的技術(shù)處理措施生成外人看不懂的密文,密鑰本質(zhì)上也可以被認(rèn)為是算法的一種特殊表現(xiàn)形式,其在程序中被封裝成為類庫之后再被調(diào)用?,F(xiàn)代社會(huì)的數(shù)據(jù)量龐大,加密過程更加重要,因此,如何建立有效和科學(xué)的體系機(jī)制來維持計(jì)算機(jī)信息安全仍然任重道遠(yuǎn)。
由于網(wǎng)絡(luò)當(dāng)中的通信過程比較煩瑣,加密技術(shù)應(yīng)用也比較多,因而通常使用的加密技術(shù)方法包括三個(gè)方面:
1.2.1 鏈路加密措施
鏈路加密措施即在線加密方法,通過提供一個(gè)安全的鏈路來保障節(jié)點(diǎn)和節(jié)點(diǎn)之間的數(shù)據(jù)傳輸具備安全性和保密性。因此在進(jìn)行數(shù)據(jù)傳輸之前我們會(huì)對相應(yīng)的數(shù)據(jù)進(jìn)行加密,然后再進(jìn)行傳輸,如此反復(fù)讓數(shù)據(jù)達(dá)到最終的接收點(diǎn)。在這一過程中涉及大量的鏈路節(jié)點(diǎn)傳輸,而數(shù)據(jù)信息和理由信息都是以密文的形式傳遞,在安全性上更加突出[1]。
1.2.2 節(jié)點(diǎn)加密措施
節(jié)點(diǎn)加密和鏈路加密在技術(shù)原理上比較接近,都是為安全性而采取的技術(shù)手段,即在鏈路上對數(shù)據(jù)安全進(jìn)行管理。但鏈路加密本身存在著一些缺陷,即中間節(jié)點(diǎn)的數(shù)據(jù)是以明文的形式存在的,這可能會(huì)由此泄漏關(guān)鍵的信息內(nèi)容。我們可以考慮使用不同類型的密鑰對其進(jìn)行加密,不過節(jié)點(diǎn)加密環(huán)節(jié)路由信息是明文,同樣有受到攻擊的風(fēng)險(xiǎn),采取節(jié)點(diǎn)加密措施和鏈路加密措施共同配合的方法也現(xiàn)實(shí)存在。
1.2.3 端對端加密措施
這種加密方式從數(shù)據(jù)源端直到目的端,整個(gè)傳輸過程的數(shù)據(jù)都是以保密狀態(tài)存在,以密文的方式進(jìn)行傳輸,即便路由信息出現(xiàn)變化也不會(huì)導(dǎo)致數(shù)據(jù)被泄漏甚至被破壞。另外,端對端加密措施只是對我數(shù)據(jù)信息的加密,不是對路徑信息進(jìn)行加密,與前兩種加密技術(shù)相比,成本消耗也比較低,在一些小型個(gè)人用戶當(dāng)中應(yīng)用得比較廣泛。但無論如何,網(wǎng)絡(luò)數(shù)據(jù)傳輸環(huán)節(jié)都會(huì)有一部分信息未經(jīng)過處理的現(xiàn)象,因此還需要進(jìn)行后續(xù)的技術(shù)處理。
1.2.4 數(shù)據(jù)簽名
數(shù)字簽名的意義在于讓簽名者對電子文件簽名,這樣驗(yàn)證者便無法對文件進(jìn)行惡意篡改。信息發(fā)送方通過技術(shù)處理方式獲得其他人都無法偽造的信息來源之后,可以將固定長度的二進(jìn)制數(shù)作為信息摘要,加密處理完畢后將簽名和文件一起發(fā)送。采用單向函數(shù)時(shí),給定固定長度的字符串很難尋找到相對明確意義的消息,但是在經(jīng)過簽名分類之后,接受者可以直接獲取簽名消息而不需要第三方的驗(yàn)證過程。換言之,現(xiàn)有的顯式數(shù)字簽名可以將功能判定為普通簽名和特殊簽名,在安全性上比較突出。
即便在一個(gè)群體內(nèi)部,群體當(dāng)中的成員也可以以整個(gè)群體的名義展開數(shù)字簽名,驗(yàn)證者直接確定簽名者的身份,完成密鑰分配。如果有n 個(gè)成員,那么密鑰劃分為n 份,某個(gè)私鑰由n 個(gè)部門管理,并且可以完成密鑰重構(gòu)??偠灾瑢ΨQ密鑰密碼機(jī)制和公開密鑰密碼機(jī)制可以詳細(xì)地說明安全應(yīng)用標(biāo)準(zhǔn),并且可以實(shí)現(xiàn)在未來的電子商務(wù)、政務(wù)工作環(huán)節(jié)的系統(tǒng)化應(yīng)用,在價(jià)值上非常突出。此外,文件加密系統(tǒng)所用到的算法、鏈接類型等也可以進(jìn)行針對性探索,實(shí)現(xiàn)內(nèi)容上的優(yōu)化。
DES 算法即數(shù)據(jù)加密標(biāo)準(zhǔn),是一種對稱式加密算法,在對明文展開加密管理之前會(huì)將所有的明文進(jìn)行劃分,讓每個(gè)組的長度為64位,之后再對每一組的二進(jìn)制數(shù)據(jù)進(jìn)行加密處理,最終得到一組64位長的密文,將每組的密文拼接之后得到最終的密文。這里會(huì)涉及幾個(gè)方面的內(nèi)容,一是吹了的數(shù)據(jù)信息,二是根據(jù)算法而挑選的密鑰類型,三是運(yùn)行階段mode。工作模式為加密狀態(tài)時(shí)可以利用實(shí)現(xiàn)設(shè)定的密鑰對明文進(jìn)行處理,將其生成密文并進(jìn)行輸出;反之在工作狀態(tài)為解密模式時(shí)可以對設(shè)定好的密鑰進(jìn)行技術(shù)處理,產(chǎn)生正確信息并進(jìn)行輸出,數(shù)據(jù)在最終發(fā)送之前可以利用DES 算法進(jìn)行加密,將加密完成的信息傳輸至需要的位置[2]。
RSA 算法擁有雙鑰,是典型的非對稱密碼體制。RSA 算法會(huì)先生成一個(gè)包含公開密鑰和私有密鑰的密鑰對,前者是所有人都可以公開得到的密鑰類型,后者則是私有的,僅僅屬于發(fā)布者的密鑰,得到密鑰也無法計(jì)算出私鑰,在一定程度上保障了數(shù)據(jù)的安全性,且RSA密鑰長度一般較長,可靠性良好,將其設(shè)置為1024 位較為常見。從技術(shù)優(yōu)勢來看,RSA 算法簡單易操作,不僅可以用于加密,在數(shù)字簽名方面也可以發(fā)揮穩(wěn)定的效果,截至目前具有非常穩(wěn)定的安全性。但是我們要考慮到密鑰長度過長對于文件的影響,因而在一般情況下RSA 會(huì)被作為小型文件的加密措施[3]。
MD5 算法的作用是為了保障信息和資料的穩(wěn)定傳送,例如我們生成文檔信息后再生成MD5 數(shù)值,如果下載者并不確定文件內(nèi)容就可以先用MD5 進(jìn)行驗(yàn)證,在數(shù)值一致時(shí)說明文件是安全的。MD5算法具有不可逆性,將字節(jié)串轉(zhuǎn)換為整數(shù)之后,即便密文信息和加密算法被公開,也無法將其轉(zhuǎn)變?yōu)樵械臄?shù)據(jù)類型,其對輸入信息的長度也沒有明顯要求,最重要的一點(diǎn)是信息不會(huì)被額外竊取。
文件加密系統(tǒng)的服務(wù)器以多線程技術(shù)進(jìn)行,這樣一來每個(gè)用戶都可以完成解密過程。如果要提升工作效率,可以將系統(tǒng)劃分為不同類型的程序模塊(服務(wù)器端管理程序、通信程序、客戶端應(yīng)用程序)。管理應(yīng)用程序負(fù)責(zé)的是用戶數(shù)據(jù)庫和文件管理等,通信應(yīng)用程序負(fù)責(zé)共享數(shù)據(jù)結(jié)構(gòu)管理,客戶端應(yīng)用程序完成文件解密等功能。
在這一程序當(dāng)中打包加密模塊作為系統(tǒng)的核心模塊,其主要作用在于利用AES 算法對文件加密操作,然后將文件ID 與密文信息按照一定的順序?qū)懭牒笞尶蛻舳讼螺d。AES 加密算法本質(zhì)上是分組算法,所以在加密環(huán)節(jié)會(huì)以16 字節(jié)單分塊加密,系統(tǒng)在加密的同時(shí)會(huì)使用CBC 分組鏈接模式對字節(jié)塊展開處理,加密后的密文分組依賴于所有以前的數(shù)據(jù)分組,特別是在加密同一個(gè)文件之時(shí)得到的密文是“無規(guī)律”的,破譯難度更大。
在用戶數(shù)據(jù)管理方面,使用數(shù)據(jù)庫當(dāng)中的pUser 表,以此對應(yīng)系統(tǒng)的用戶編號(hào)、用戶名、用戶密碼等。文件信息管理模塊的作用在于維護(hù)文件信息數(shù)據(jù)庫并且將過時(shí)的文件信息全部刪除,使用的是服務(wù)器數(shù)據(jù)庫內(nèi)部pFile 表。更改密碼和公鑰模塊的作用是接收合法用戶的密碼、信息請求,且模塊中實(shí)現(xiàn)了改進(jìn)EXE 協(xié)議,目的在于讓客戶端與服務(wù)器可以協(xié)同工作,在通信環(huán)節(jié)定義的規(guī)則能夠讓雙方按照協(xié)議執(zhí)行不同類型的模塊功能。
通信服務(wù)器應(yīng)用程序會(huì)負(fù)責(zé)整個(gè)系統(tǒng)的主要功能,包括加密文件密碼的安全傳送功能??蛻舳伺c服務(wù)器之間的應(yīng)用協(xié)調(diào)工作過程為先接收客戶端請求信息,然后在提取用戶、文件信息時(shí)對用戶身份的合法性進(jìn)行判斷(例如用戶是否有閱讀文件權(quán)限)。如果身份合法,滿足條件,則將公鑰加密文件密碼發(fā)送給客戶端。通信服務(wù)器并不需要操作界面,因此可以直接設(shè)計(jì)為無界面進(jìn)程,其只具有判斷合法用戶并發(fā)送文件密碼的功能。
客戶端應(yīng)用程序?qū)崿F(xiàn)加密文件的解密、公鑰傳送、密鑰管理等,選擇與服務(wù)器相同的TCP/IP 可靠通信,應(yīng)用程序主界面包含文件解密模塊和信息更改模塊。
文件加密的實(shí)現(xiàn)過程首先要注冊O(shè)DBC 數(shù)據(jù)源,ECC 模塊生成服務(wù)器公鑰、私鑰后,用戶數(shù)據(jù)管理模塊會(huì)增加有關(guān)系統(tǒng)的用戶信息,打包加密模塊,打包完成之后將加密信息寫入文件信息數(shù)據(jù)庫內(nèi)部,之后啟動(dòng)通信服務(wù)器應(yīng)用程序正式開始網(wǎng)絡(luò)通信服務(wù)。
客戶端應(yīng)用程序設(shè)置好IP 地址與用戶名稱密碼之后向服務(wù)器傳送公鑰,并選擇需要解密的文件。
數(shù)據(jù)加密技術(shù)的作用顯著,在數(shù)據(jù)內(nèi)容的保密性和安全性方面可以發(fā)揮穩(wěn)定功能。本次研究也對當(dāng)前的數(shù)據(jù)加密技術(shù)進(jìn)行了研究分析,然后圍繞不同類型的算法進(jìn)行了說明。在今后的工作實(shí)踐當(dāng)中,還應(yīng)對基于算法展開系統(tǒng)的功能和穩(wěn)定性進(jìn)行測試,最大化地保障數(shù)據(jù)傳輸過程時(shí)的性能。