尹利霞
(湖南省核工業(yè)地質(zhì)局三O一大隊(duì),湖南 長(zhǎng)沙 410000 )
隨著現(xiàn)代信息技術(shù)的發(fā)展,大型網(wǎng)絡(luò)通信時(shí)代已經(jīng)來(lái)臨,在各個(gè)領(lǐng)域得到了廣泛應(yīng)用,由此對(duì)通信信息安全提出了更高的要求[1]。目前,網(wǎng)絡(luò)通信安全已經(jīng)成為一大熱點(diǎn)問(wèn)題,然而隨著計(jì)算機(jī)運(yùn)算能力的提升,傳統(tǒng)密碼學(xué)正在面臨巨大的挑戰(zhàn),傳統(tǒng)加密手段越來(lái)越無(wú)法滿(mǎn)足通信安全方面的要求,如何進(jìn)一步優(yōu)化數(shù)據(jù)加密技術(shù)的應(yīng)用十分關(guān)鍵。本文主要圍繞此問(wèn)題展開(kāi)詳細(xì)分析。
隨著網(wǎng)絡(luò)通信技術(shù)的快速發(fā)展,生活、生產(chǎn)各項(xiàng)業(yè)務(wù)已經(jīng)離不開(kāi)網(wǎng)絡(luò)技術(shù)的運(yùn)用,如野外勘查工作中的數(shù)據(jù)傳輸與處理等。如何保障信息傳輸精確性與安全性具有重要的現(xiàn)實(shí)意義,直接關(guān)系到國(guó)家礦產(chǎn)資源安全問(wèn)題。目前,此類(lèi)業(yè)務(wù)信息在網(wǎng)絡(luò)通信系統(tǒng)中主要依賴(lài)現(xiàn)代密碼學(xué)提供的加密技術(shù)。
現(xiàn)代密碼學(xué)基本思想為信息傳輸前以某種約定好的方式對(duì)傳輸信息進(jìn)行約定,只有合法用戶(hù)方可處理接收到的信息,并獲取原始信息[2]。數(shù)據(jù)加密技術(shù)利用的就是密碼學(xué)相關(guān)技術(shù),經(jīng)由加密密鑰和加密函數(shù)對(duì)明文信息進(jìn)行替換或是移位,呈現(xiàn)為無(wú)法被直接讀取、無(wú)任何意義的密文,信息接收方可利用解密密鑰和解密函數(shù)還原密文,實(shí)現(xiàn)信息隱蔽傳輸,從而保障網(wǎng)絡(luò)通信安全[3]。目前,根據(jù)加密密鑰類(lèi)型,可將數(shù)據(jù)加密技術(shù)分為對(duì)稱(chēng)加密技術(shù)和非對(duì)稱(chēng)加密技術(shù)兩種。
對(duì)稱(chēng)加密技術(shù)也稱(chēng)為是私鑰加密技術(shù),信息發(fā)送方和接收方使用的是相同的密鑰,加密速度快、算法簡(jiǎn)單。然而由于通信方向在安全傳輸密文前需共同確定密鑰,只有雙方均未泄露密鑰的情況下方可保障傳輸數(shù)據(jù)的安全性、機(jī)密性以及完整性,如圖1所示。對(duì)稱(chēng)加密是目前主流加密技術(shù),主要算法有DES、AES 以及 IDEA[4]。
圖1 對(duì)稱(chēng)加密示意圖
非對(duì)稱(chēng)加密技術(shù)也稱(chēng)為是公鑰加密技術(shù),信息發(fā)送方與接收方使用的是不同的密鑰,現(xiàn)有技術(shù)與設(shè)備均無(wú)法由公鑰推出私鑰。基于非對(duì)稱(chēng)加密技術(shù)的運(yùn)用,通信雙方無(wú)需事前交換密鑰即可實(shí)現(xiàn)安全通信,數(shù)據(jù)保密性更好。非對(duì)稱(chēng)加密主要算法有RSA、Diffie-Hellman、EIGamal以及橢圓曲線(xiàn)等[5]。
下文分別就對(duì)稱(chēng)和非對(duì)稱(chēng)加密系統(tǒng)中經(jīng)典加密算法為例展開(kāi)具體分析,包括DES、AES以及RSA。其中,DES是對(duì)稱(chēng)加密算法中最為典型的應(yīng)用,然而密鑰長(zhǎng)度較短,基于分布式網(wǎng)絡(luò)環(huán)境中,加密安全性難以滿(mǎn)足要求?;跀?shù)據(jù)加密技術(shù)的發(fā)展,AES作為一種高級(jí)數(shù)據(jù)加密標(biāo)準(zhǔn)獲得認(rèn)可與推廣應(yīng)用。而RSA則是非對(duì)稱(chēng)加密算法中應(yīng)用最為廣泛的一種,在保障網(wǎng)絡(luò)通信安全方面發(fā)揮著重要作用。
此算法最初由IBM公司開(kāi)發(fā),并由美國(guó)與ISO制定數(shù)據(jù)加密標(biāo)準(zhǔn)。DES加密算法下將明文分為多組,每組長(zhǎng)度為64位,進(jìn)行二進(jìn)制數(shù)據(jù)加密操作生成一組64位密文,并將每組密文拼接獲得整個(gè)密文。密鑰長(zhǎng)度均為64位,其中8位用于奇偶校驗(yàn)[6]。
DES運(yùn)算方式主要有置換和移位兩種,具體分為3大步驟。一是明文初始置換,使用的是初始置換函數(shù);二是獲取關(guān)鍵子密鑰;三是適用密碼函數(shù)完成加密,輸出密文。
此算法是在Rijndael算法的基礎(chǔ)上發(fā)展起來(lái)的。Rijndael是一種特殊的迭代型分組密碼,分組長(zhǎng)度和密碼長(zhǎng)度可根據(jù)實(shí)際情況進(jìn)行變化[7]。AES加密算法下,基礎(chǔ)單位為字節(jié),對(duì)128位比特信息進(jìn)行分析,信息可分為16個(gè)字節(jié),并根據(jù)相應(yīng)操作順序復(fù)制至4×4矩陣中,稱(chēng)之為state(狀態(tài))模式[8]?;跔顟B(tài)矩陣可完成AES所有變換,不同AES密鑰長(zhǎng)度、分組大小與加密輪數(shù)如表1所示。
表1 不同AES密鑰長(zhǎng)度、分組大小與加密輪數(shù)
AES算法的基本運(yùn)用流程如下,一是發(fā)送方創(chuàng)建AES私鑰,使用口令加密私鑰,加密后的私鑰經(jīng)由網(wǎng)絡(luò)傳輸至接收方;二是發(fā)送方對(duì)私鑰進(jìn)行解密,以私鑰加密明文獲得密文,并傳輸給接收方;三是發(fā)送方接收數(shù)據(jù)后,使用口令對(duì)加密密鑰進(jìn)行解密,獲取AES密鑰,并對(duì)密文進(jìn)行解密,獲得明文。具體實(shí)現(xiàn)流程如圖2所示。
圖2 AES算法實(shí)現(xiàn)流程
此算法的發(fā)明者為Ron Rivest、Adi Shamir以及Leonard Adleman,其密碼協(xié)議運(yùn)用十分廣泛,如SSL等。此算法基于大質(zhì)數(shù)因數(shù)分解公鑰體系建立,存在兩個(gè)較大質(zhì)數(shù),一個(gè)作為公鑰,一個(gè)作為私鑰,密鑰長(zhǎng)度可變,支持40~2 048 bit變化[9]。RSA加密采取的是明文分塊方法,明文分塊大小控制在密鑰長(zhǎng)度以?xún)?nèi),密鑰長(zhǎng)度與加密效果正相關(guān),但是密鑰過(guò)長(zhǎng),則解密速度就越慢。
RSA算法的基本運(yùn)用流程如下。一是接收方創(chuàng)建RSA密鑰,完整密鑰包括公鑰和私鑰,公鑰傳輸至發(fā)送方,私鑰由接收方保存;二是發(fā)送方接收公鑰后加密明文,并將密文傳輸至接收方;三是接收方使用私鑰對(duì)密文解密,獲得明文,實(shí)現(xiàn)數(shù)據(jù)安全傳輸。
以一種基于優(yōu)化的AES-GCM認(rèn)證加密算法為例,基于數(shù)據(jù)加密技術(shù)的實(shí)際應(yīng)用分析,密鑰分配與管理效率及安全性均直接影響網(wǎng)絡(luò)通信安全,同時(shí)進(jìn)一步改進(jìn)加密算法也是重要的研究方向。本文基于AES算法優(yōu)化改進(jìn)加密輪數(shù)和密鑰流生成機(jī)制,提出了AES-GCM認(rèn)證加密算法,其具有保密性與單向認(rèn)證性能,即使信息被截取也可保障其他的消息分組不受安全性影響,保證信息安全性與完整性。
此算法在2007年由NIST提出,采用AES+CTR分組加密模式+GMAC消息認(rèn)證碼。AES-GCM加密機(jī)制共計(jì)4個(gè)輸入,分別為密鑰K、計(jì)數(shù)器初始值IV、明文P以及附加消息A,其中計(jì)數(shù)器初始值產(chǎn)生流密鑰。兩個(gè)輸出分別為密文C和標(biāo)簽tag,其中密文C是流密鑰與明文異或的結(jié)果。加密流程如圖3所示。
圖3 AES-GCM認(rèn)證加密流程
圖1中Ek指的是使用密鑰K對(duì)輸入進(jìn)行加密運(yùn)算;+指的是異或預(yù)算,Mh指的是輸入與密鑰h在有限域做乘法。
為保證數(shù)據(jù)傳輸安全性,AES-GCM認(rèn)證加密算法的運(yùn)用需從密鑰生成與安全管理、通信前雙向身份認(rèn)證以及完整加密數(shù)據(jù)傳輸?shù)确矫娉霭l(fā),保證數(shù)據(jù)安全。
ECDH密鑰協(xié)商算法可在不共享秘密的基礎(chǔ)上協(xié)商出一個(gè)密鑰,協(xié)商出的密鑰隨著隨機(jī)數(shù)的不同而不同,且密鑰與雙方生成的隨機(jī)數(shù)和私鑰有關(guān),安全性較高[10]。密鑰具有更新周期,通信節(jié)點(diǎn)自動(dòng)更新公私鑰信息,且隨機(jī)值會(huì)在時(shí)間戳更新的同時(shí)重新生成,由ECDH算法同步各通信節(jié)點(diǎn)的共享密鑰。雙向認(rèn)證機(jī)制中,身份認(rèn)證可有效防止密鑰竊取所致的不安全問(wèn)題,雙向認(rèn)證無(wú)誤后方可開(kāi)展數(shù)據(jù)通信。
AES-GCM數(shù)據(jù)完整性校驗(yàn)中,數(shù)據(jù)加密分組和密鑰長(zhǎng)度選擇128 bit,在保證安全的基礎(chǔ)上精簡(jiǎn)輪數(shù)至7輪,降低算法的計(jì)算負(fù)擔(dān)。數(shù)據(jù)接收時(shí),校驗(yàn)數(shù)字簽名,解密初始計(jì)數(shù)器值與附加消息,與密文開(kāi)展有限域乘法運(yùn)算獲取新tag值,并與接收的tag值進(jìn)行對(duì)比,若是一致則表明消息完整,可解密密文,否則丟棄報(bào)文。
此安全數(shù)據(jù)傳輸機(jī)制下,通過(guò)雙向認(rèn)證確定合法身份,認(rèn)證失敗則及時(shí)關(guān)閉連接。通過(guò)隨機(jī)數(shù)機(jī)制實(shí)現(xiàn)二次加密,可抵御重放攻擊。密鑰協(xié)商機(jī)制中,公私鑰與隨機(jī)數(shù)和時(shí)間戳相關(guān),可自動(dòng)更新,即使泄露也不會(huì)影響數(shù)據(jù)安全性。數(shù)據(jù)完整性可驗(yàn)證,且每個(gè)效消息均有數(shù)字簽名,保證了消息不可抵賴(lài)性。
此安全數(shù)據(jù)機(jī)制下密鑰分布式生成,密鑰管理效率高,通過(guò)運(yùn)用輕量級(jí)AES算法減少加密輪數(shù),在保證安全性的同時(shí)提高算法執(zhí)行速度。
網(wǎng)絡(luò)通信大規(guī)模運(yùn)用背景下,數(shù)據(jù)加密需求不斷增加,保證傳輸數(shù)據(jù)安全性和完整性是數(shù)據(jù)加密技術(shù)發(fā)展的必然追求。為有效解決數(shù)據(jù)加、解密運(yùn)算速度慢和效率低等問(wèn)題,需改進(jìn)優(yōu)化數(shù)據(jù)加密算法,并配合身份認(rèn)證、密鑰更新以及管理機(jī)制等,在保證數(shù)據(jù)安全的前提下提高數(shù)據(jù)處理效率,減輕運(yùn)算壓力,以提高數(shù)據(jù)加密技術(shù)的實(shí)際應(yīng)用價(jià)值。