艾雪瑞,許 放,張 濤,程方圓,曹 瑾
(北京中電飛華通信有限公司,北京 100000)
網(wǎng)絡(luò)通信作為一種不受限的、開放的通信工具,能夠有效提高人們?nèi)粘9ぷ魃罱涣鞯男省S捎陔娮有畔⒉荒芟駛鹘y(tǒng)文件信息那樣進(jìn)行安全防護(hù),在傳輸、處理、存儲(chǔ)的過程中存在一定的泄露風(fēng)險(xiǎn)。為了保證網(wǎng)絡(luò)通信數(shù)據(jù)安全,通過對傳輸過程進(jìn)行加密來確保信息的接收者能夠確定信息的來源和完整性,只有接收者可以獲得并且解密,進(jìn)而保障信息不會(huì)被泄露。
文獻(xiàn)[1]設(shè)計(jì)具有實(shí)時(shí)嵌入型缺陷的遠(yuǎn)程監(jiān)控通信系統(tǒng),通過HMAC 算法保證內(nèi)外部安全性,進(jìn)一步保證信息來源的安全性和完整性,但應(yīng)用范圍較局限。文獻(xiàn)[2]結(jié)合網(wǎng)絡(luò)通信特點(diǎn),在Windows 系統(tǒng)下構(gòu)建數(shù)據(jù)加密系統(tǒng),結(jié)合RSA 與三重DES,實(shí)現(xiàn)網(wǎng)絡(luò)通信數(shù)據(jù)加密,但這種方法的傳輸穩(wěn)定性不高。
目前的網(wǎng)絡(luò)通信安全數(shù)據(jù)傳輸系統(tǒng)穩(wěn)定性較差,導(dǎo)致通信質(zhì)量下降。因此,采用HMAC 算法設(shè)計(jì)一種新的網(wǎng)絡(luò)通信安全數(shù)據(jù)傳輸系統(tǒng)。
由于公用密鑰與私用密鑰算法相比更加便于傳遞與保管,而私用密鑰算法比公用密鑰算法的加密速度更快。因此,在對網(wǎng)絡(luò)通信數(shù)據(jù)進(jìn)行傳輸加密時(shí),可利用公用密鑰算法和私用密鑰算法相結(jié)合的混合算法進(jìn)行加密處理。加密過程如下:
發(fā)送方用其私人密鑰對網(wǎng)絡(luò)通信數(shù)據(jù)進(jìn)行密鑰簽名后,接收方從中介方獲得由發(fā)送方傳遞的公開密鑰,同時(shí)發(fā)送方獲得接收方的公開密鑰對需傳輸?shù)臄?shù)據(jù)進(jìn)行簽名加密,將數(shù)據(jù)傳輸給接收方。接收方通過對傳輸?shù)臄?shù)據(jù)進(jìn)行解密,同時(shí)通過獲得的公開密鑰進(jìn)行驗(yàn)證,最終獲得私人密鑰[3-4]。
在上述過程中,為防止因數(shù)據(jù)重新發(fā)送從而降低安全性,所以需要加上時(shí)間標(biāo)記。如此,接收方通過加密模塊精準(zhǔn)安全獲得三重密鑰,可對接收到的網(wǎng)絡(luò)通信數(shù)據(jù)進(jìn)行解密,匹配接收方與發(fā)送方的身份認(rèn)證結(jié)果并分析發(fā)送方的簽名信息,進(jìn)一步增強(qiáng)了數(shù)據(jù)傳輸安全性[5-6]。
在完成網(wǎng)絡(luò)通信數(shù)據(jù)的加密模塊設(shè)計(jì)后,接收方使用其私人密鑰將傳輸?shù)臄?shù)據(jù)進(jìn)行解密。為了提升數(shù)據(jù)安全等級,接收方使用密鑰進(jìn)行加密。一次密鑰長度約56 位,調(diào)整密鑰次數(shù),進(jìn)行三次密鑰加工后,密鑰長度約112 位,匹配接收方與發(fā)送方的加密-解密-加密模式,對比傳統(tǒng)加密解密模式的速率和強(qiáng)度,進(jìn)一步判斷新型的加密-解密-加密模式下的信息安全性,將上述模塊應(yīng)用至實(shí)際中,接收方與雙方還可定時(shí)地交換彼此的加密密鑰,對雙方授權(quán)進(jìn)行相關(guān)檢查,保證在加密-解密-加密模式下的信息安全[7-8]。
在上述加密模塊和解密模塊中,增加了角色與用戶ID、管理密鑰ID 確保數(shù)據(jù)安全高效地被傳輸。按照各個(gè)ID 在傳統(tǒng)通信模塊上的定義,通過HMAC算法及時(shí)對該類型字段的含義進(jìn)行延伸,以此保證數(shù)據(jù)安全性。設(shè)計(jì)的網(wǎng)絡(luò)通信安全數(shù)據(jù)傳輸系統(tǒng)的字段含義可表示如下:
1)角色I(xiàn)D:只能讀不能寫的監(jiān)視員用0j01 表示;既可以寫也可以讀的操作員用0j02表示;維修管理系統(tǒng)用戶的密碼信息的管理員用0j03表示;監(jiān)視網(wǎng)絡(luò)安全、修正網(wǎng)絡(luò)參數(shù)的安全管理員用0j04 表示。只有將該字段填寫為0 后才能進(jìn)行身份驗(yàn)證[9-10]。
2)用戶ID:類似于設(shè)計(jì)系統(tǒng)的工作人員ID,唯一可識(shí)別系統(tǒng)用戶的真實(shí)信息。只有將該字段填寫為1 后才能進(jìn)行身份驗(yàn)證。
3)臨時(shí)密鑰ID:利用HMAC 算法獲取新的認(rèn)證碼,將臨時(shí)密鑰ID 轉(zhuǎn)化為HMAC 認(rèn)證碼,調(diào)節(jié)該字段的ID 號(hào),確保新生成的HMAC 認(rèn)證碼的臨時(shí)密鑰ID 能夠包含原始數(shù)據(jù)與管理密鑰ID。即新生成的HMAC 認(rèn)證碼=MD5(管理密鑰ID+原始數(shù)據(jù))。
4)管理密鑰ID:利用管理密鑰ID 對身份認(rèn)證進(jìn)行識(shí)別,或?qū)εR時(shí)密鑰ID 進(jìn)行更新,分析傳輸?shù)臄?shù)據(jù)是否為101 規(guī)約數(shù)據(jù),是則就將管理密鑰ID 字段自動(dòng)填寫為0,否則為1[11-12]。
5)同步碼:根據(jù)發(fā)送方將所傳輸?shù)臄?shù)據(jù)包大小以及生成時(shí)間轉(zhuǎn)化為同步碼,結(jié)合臨時(shí)密鑰ID 與管理密鑰ID 對數(shù)據(jù)訪問進(jìn)行認(rèn)證,有效降低數(shù)據(jù)受到攻擊的概率。
在完成加密模塊、解密模塊以及通信模塊設(shè)計(jì)后,將需傳輸?shù)木W(wǎng)絡(luò)通信數(shù)據(jù)進(jìn)行HMAC 計(jì)算處理。為了有效提高數(shù)據(jù)傳輸過程中的安全性,引入Logistic 映射和Chebyshev 映射,避免數(shù)據(jù)傳輸過程中受到偽造消息的攻擊,在混沌映射過程中構(gòu)建仍能隨機(jī)產(chǎn)生序列的邏輯發(fā)生器,處理攻擊者發(fā)出的偽造數(shù)據(jù),加強(qiáng)邏輯發(fā)生器對攻擊的監(jiān)測和處理力度,達(dá)到保證數(shù)據(jù)傳輸安全性的目的[13-14]。Logistic映射用下述公式表示:
當(dāng)0 <Ln<1 時(shí),構(gòu)建的隨機(jī)數(shù)列邏輯發(fā)生器處于混沌狀態(tài)。而Chebyshev 映射用下述公式表示:
當(dāng)-1 <Cn<1 且y>2 時(shí),構(gòu)建的隨機(jī)數(shù)列邏輯發(fā)生器處于混沌狀態(tài),其中y為Chebyshev 映射函數(shù)的階數(shù)。
根據(jù)Logistic 映射和Chebyshev 映射后,構(gòu)建隨機(jī)產(chǎn)生序列的邏輯發(fā)生器,集中處理偽造信息攻擊的參數(shù),按照不同用戶使用的參數(shù)令HMAC 算法處理不同類型的數(shù)據(jù),并及時(shí)記錄邏輯發(fā)生器處理之后輸出的數(shù)據(jù)。其中邏輯發(fā)生器如圖1 所示。
圖1 邏輯發(fā)生器
觀察圖1 可知,根據(jù)邏輯發(fā)生器處理傳輸?shù)臄?shù)據(jù)以及加密模塊和解密模塊中使用的密鑰,將其轉(zhuǎn)化為混沌狀態(tài)下的映射參數(shù),并將迭代之后的數(shù)值反饋到系統(tǒng),Logistic 映射迭代后的數(shù)值錄入邏輯發(fā)生器中會(huì)轉(zhuǎn)化為初始運(yùn)算序列的循環(huán)移位。經(jīng)過一系列的混合運(yùn)算后,分析經(jīng)邏輯發(fā)生器處理后的輸出數(shù)據(jù),將其作為兩種映射的迭代初值和控制參數(shù),加強(qiáng)網(wǎng)絡(luò)通信安全數(shù)據(jù)運(yùn)輸?shù)陌踩裕WC數(shù)據(jù)完整性,控制外來偽造消息攻擊系統(tǒng)以及避免數(shù)據(jù)在傳輸過程中出現(xiàn)混亂[15]。
基于HMAC 算法設(shè)計(jì)網(wǎng)絡(luò)通信安全數(shù)據(jù)傳輸系統(tǒng),通過加密解密模塊加強(qiáng)信息的安全性,身份認(rèn)證模塊驗(yàn)證身份信息的完整性,邏輯發(fā)生器以及混沌映射擴(kuò)大消息的傳播安全性和不可逆轉(zhuǎn)性,有效防止外來偽造信息的攻擊。HMAC 算法的具體步驟如圖2 所示。
圖2 網(wǎng)絡(luò)通信安全數(shù)據(jù)傳輸流程
步驟1:利用消息分塊,將任意長度的數(shù)據(jù)轉(zhuǎn)化為便于傳輸?shù)男畔K,以此實(shí)現(xiàn)信息長度的調(diào)節(jié)。獲取經(jīng)處理后的消息塊,將其劃分為字節(jié)更小的消息組。在分析邏輯函數(shù)過程中,將消息組變?yōu)楦∽止?jié)的二進(jìn)制序列,將Logistic 映射和Chebyshev 映射作為迭代函數(shù),用于描述迭代算法中的更新過程,加大邏輯取值的靈活范圍。
迭代結(jié)果計(jì)算公式如下:
其中,t(v)為迭代初值;a表示數(shù)據(jù)初始值。
步驟2:利用上一步驟獲得的迭代初值和控制參數(shù),使用邏輯處理器調(diào)節(jié)數(shù)據(jù)傳輸?shù)牡螖?shù)以及消息塊數(shù)目,最終獲得相應(yīng)的十進(jìn)制數(shù)。
監(jiān)測參數(shù)表達(dá)式如下:
式中,m表示傳輸規(guī)律參數(shù);f表示監(jiān)測點(diǎn)與監(jiān)測線的差值;L表示傳輸參數(shù);C表示數(shù)據(jù)最大值。
步驟3:輸出經(jīng)邏輯處理器迭代處理后的數(shù)據(jù),截取其中的二進(jìn)制數(shù)據(jù),調(diào)節(jié)線性移位后的初始值,確保能令其參與下一次迭代。
步驟4:重復(fù)邏輯處理器中的迭代過程,獲取經(jīng)過幾輪迭代后的消息塊,截取輸出數(shù)據(jù)中的二進(jìn)制序列,計(jì)算二進(jìn)制序列中的兩位十進(jìn)制數(shù),劃分不同的循環(huán)移位最終輸出兩組序列,即HMAC 算法的序列值,以此獲取消息塊實(shí)現(xiàn)網(wǎng)絡(luò)通信安全數(shù)據(jù)傳輸[16]。
為了驗(yàn)證基于HMAC 算法的網(wǎng)絡(luò)通信安全數(shù)據(jù)傳輸系統(tǒng)的實(shí)際應(yīng)用效果,選用傳統(tǒng)的基于數(shù)據(jù)加密的傳輸系統(tǒng)和基于遠(yuǎn)程分析的傳輸系統(tǒng)與所設(shè)計(jì)系統(tǒng)進(jìn)行實(shí)驗(yàn)對比。
設(shè)定傳輸信道如圖3 所示。
圖3 傳輸信道
將ARM 作為實(shí)驗(yàn)環(huán)境,以C 語言為開發(fā)語言,對三種傳輸系統(tǒng)進(jìn)行實(shí)驗(yàn)對比。將數(shù)據(jù)波動(dòng)情況作為衡量傳輸過程數(shù)據(jù)穩(wěn)定性的重要指標(biāo),具體比較結(jié)果如圖4 所示。
圖4 通信數(shù)據(jù)波動(dòng)情況
三種方法的通信數(shù)據(jù)樣本傳輸情況如表1所示。
表1 通信數(shù)據(jù)樣本傳輸情況
穩(wěn)定性等于成功傳輸過去的數(shù)據(jù)樣本數(shù)量與發(fā)送的數(shù)據(jù)樣本的比率,三種方法的傳輸穩(wěn)定性對比結(jié)果如表2 所示。
表2 傳輸穩(wěn)定性對比結(jié)果
根據(jù)圖4 和表2 可知,基于HMAC 算法的網(wǎng)絡(luò)通信安全數(shù)據(jù)傳輸系統(tǒng)的傳輸穩(wěn)定性在99%以上,傳輸質(zhì)量較高。該系統(tǒng)的加密模塊、解密模塊、身份認(rèn)證模塊、邏輯發(fā)生器具有獨(dú)立的、完整的功能,提高系統(tǒng)的數(shù)據(jù)傳輸效率。
同時(shí)選用提出的傳輸系統(tǒng)與傳統(tǒng)傳輸系統(tǒng)進(jìn)行實(shí)驗(yàn)對比,設(shè)定三次故障侵襲,故障狀態(tài)下傳輸效果如表3 所示。
表3 故障狀態(tài)下傳輸效果
根據(jù)表3 可知,在不同故障狀態(tài)下,所設(shè)計(jì)的系統(tǒng)能夠保證正常通信,具有極好的通信質(zhì)量,可以實(shí)現(xiàn)數(shù)據(jù)包的順利傳輸。
利用HMAC 算法設(shè)計(jì)網(wǎng)絡(luò)通信安全數(shù)據(jù)傳輸系統(tǒng),以期進(jìn)一步加強(qiáng)信息傳輸?shù)陌踩?。?shí)驗(yàn)結(jié)果表明,該系統(tǒng)在實(shí)際應(yīng)用中效果良好,但依舊存在一些不足之處,主要表現(xiàn)在傳統(tǒng)傳輸方式的基礎(chǔ)上加入了臨時(shí)密鑰ID 與管理密鑰ID 等,對工作人員的能力要求較高,未來將進(jìn)一步加強(qiáng)這一方面的研究。