張家貴 池水明
(金華職業技術學院,浙江 金華 321017)
高校網絡數據的加密傳輸
張家貴 池水明
(金華職業技術學院,浙江 金華 321017)
本文利用AES算法、RSA算法和Hash函數構建一種能夠實現數據快速加密、安全傳輸,并具有數字簽名功能的數據加密傳輸系統,該系統保證了數據的機密性、完整性、身份驗證和不可否認性。
高校數據安全;AES算法;RSA算法;Hash函數
隨著高校計算機網絡的普及,越來越多的高校為了實現內部資源共享、數據通信建立了校園網,并且為了使用公共網絡教學資源接入互聯網,這樣就造成一些安全問題。其中網絡傳輸過程中的數據安全顯得尤為重要。高校為了保障數據的安全,一般采用的被動方法有物理隔離、防火墻、網絡代理、內部網絡監控與過濾等;主動的保護方法一般可以建立安全通信通道 (物理或者虛擬)、加密傳輸數據等。
高校網絡數據傳輸安全指的是數據在網絡傳輸時,數據的機密性、完整性、不可篡改性未遭到破壞,而且順利到達目的地的過程。當前一種高效的、廣泛應用的方法是使用加密技術來保障數據在傳輸過程中的安全,同時加密技術還能有效保護存儲數據的安全,密碼技術是保護數據最基本也是最有效的技術。
為了保護高校網絡傳輸中數據的安全,可從廣義上將數據安全分為三個部分:數據加密、數據傳輸安全和身份認證管理。數據加密是對傳輸中的數據流加密,以防止傳輸線路上的信息被竊聽和泄漏,保證信息的機密性;傳輸安全是確保傳輸信息不被篡改和破壞以保證其完整性;身份認證要求信息交換雙方的合法身份,保證信息不被錯誤地傳輸給錯誤的人。
加密技術利用置換和變換的方法將信息轉化成為密文,它的安全性取決于所采用的加密算法和密鑰強度,根據密鑰的類型可將密碼技術分為對稱加密體制和非對稱加密體制,也即私鑰密碼和公鑰密碼。對稱加密算法采用相同的密鑰進行加解密,算法的安全性完全依賴于密鑰,最大的困難是密鑰秘密分發問題。非對稱加密算法采用公鑰進行加密而利用私鑰進行解密,公鑰是對外公開的,算法的安全性依賴于算法與私鑰,其不足之處是加密速度慢。數字簽名在密碼技術上的實現是不可逆加密算法,它利用散列函數提供消息完整性保護。對稱加密算法、非對稱加密算法和不可逆加密算法可以分別應用于數據加密、身份認證和數據安全傳輸。
1.對稱加密技術
對稱密碼體制是較為傳統成熟的加密體制,用于保證數據的機密性。對稱加密算法是將明文和密鑰一起經過加密算法,加密形成密文發送,解密則使用加密的密鑰和加密算法的逆算法對密文進行解密,恢復明文信息。其優點是算法簡單并公開、加解密速度快、計算量小、效率高、運行占用資源少,目前仍然是主流的密碼體制之一。
數據加密標準(DES)是最常用的對稱加密算法,隨著現代密碼技術的發展,其56位有效密鑰已難以滿足現在密鑰的要求,同時DES算法還存在弱密鑰、半密鑰、互補對稱性等諸多弱點。旨在用來取代DES成為新一代加密標準的高級加密標準(AES),其算法實現更簡單,具有強擴散性,形成的密文有很高的隨機性,抗差分和線性密碼分析能力強。
AES加密標準使用的Rijndael加密算法,該算法是一個分組長度和密鑰長度均可變的迭代型分組密碼,分組和密鑰長度可分別是128位、192位、256位。AES加密標準可使用 128 位 (AES-128)、192 位 (AES-192)、256位(AES-256)加密128位明文數據,其中標準的AES即128位密鑰的AES-128算法,Rijndael算法的密鑰長度和分組長度共同決定算法中輪函數的迭代次數,128位密鑰加密128位明文時迭代的次數是10次。AES加解密的過程如圖1所示。
128位AES加密強度是56位DES加密強度的1021倍,即如果當前存在一臺能用1秒時間破解DES密碼的密碼機,那么利用這臺密碼機破解128位的AES密碼需要大約149萬億年的時間,由此可知AES加密算法的安全性。
2.非對稱加密技術

非對稱加密技術即公鑰密碼技術,它利用一對不同的密鑰進行加解密,公開的公鑰進行加密,私鑰進行解密,兩個密鑰之間不可能從一個推導出另一個。公鑰密碼算法的安全性是基于一些數學難題,而且是公認短期內不可能得以解決的難題。公鑰算法的密鑰分配協議簡單、應用廣泛,不僅可以加密還可以提供數字簽名。
公鑰加密算法中使用最廣的是RSA算法,它是一種基于數論中歐拉定理的公鑰密碼系統,它的安全性依賴于大數因子分解的困難性,即它的密碼強度是建立在計算復雜性的基礎上。RSA的密鑰長度從40位到2048位可變,加密時也將明文分成大小可變的塊,塊大小不能超過密鑰的長度。RSA算法把明文塊轉化為與密鑰長度相等的密文塊,密鑰越長,加密效果越佳,但加解密的開銷也隨之增加,所以一般會折中考慮安全與性能,普遍認為64位是較合適的選擇。
RSA算法的加解密過程可分為初始化、加密、解密三部分。初始化階段進行如下處理,隨機選擇兩個素數p和 q, 計算公開模數 n=p×q 和歐拉指示函數?(n)=(p-1)(q-1),再選擇與?(n)互素的隨機數 e作為公鑰,計算私鑰 d 滿足(d×e)mod?(n)=1,公開模數 n、公鑰 e,保密私鑰 d,銷毀 p、q,增強安全性。
3.不可逆加密技術
不可逆加密算法不完全符合加密算法的模式,它是通過將明文信息作為不可逆函數的輸入,計算得出的函數值即為密文,因為加密函數是不可逆的,因此不存在所謂的解密。只有輸入相同的明文和相同的加密函數才能得到相同的密文。因此,不可逆加密算法不存在密鑰的分發與保管問題,適合在分布式網絡系統上使用,但加密計算復雜,工作量大。Hash算法也叫消息摘要或單向散列,是一種不可逆的加密算法,使用Hash函數的通信雙方必須各自計算Hash函數,且目前的計算機對計算Hash函數的逆過程是無能為力的。Hash散列主要用于加密檢查,通信雙方必須各自計算Hash函數來驗證消息。最常用的兩種Hash函數分別是MD5和SHA,消息摘要算法MD5是使用64個32位常數,通過散列計算后,得出128位的完整性校驗和,安全Hash算法SHA是使用79個32位常數,產生一個160位的完整性校驗和,SHA校驗和長度比MD5更長,因此安全性要高。
1.設計思想
當使用對稱密碼加密時,需要使用惟一密鑰,這就會使通信雙方所擁有的密鑰數量成幾何倍數增長,因此密鑰管理困難,使用成本高,在分布式網絡中使用較為困難。公鑰加密算法使用兩個密鑰,因而特別適用于分布式系統中的數據加密,公鑰密碼的應用也非常廣泛,但公鑰密碼加密速度慢,RSA算法加密時間大約是DES算法的1000倍。
保證數據傳輸安全不僅需要對傳輸中的數據進行加密,保證數據的機密性,同時還要防止數據遭到惡意破壞和確定發送者的身份,因此還需要數字簽名技術的支持。加密可以有效地防止傳輸線路上的內容被竊聽,造成數據信息泄漏,數字簽名是利用單向不可逆的Hash函數或者消息摘要算法計算所傳輸的數據,形成消息摘要,將消息摘要作為數字簽名隨數據一起發送,數字簽名可以防止傳輸數據被篡改或破壞。
在目前的高校網絡環境下,公鑰密碼符合網絡開放性要求,密鑰管理簡單,在電子商務等技術上應用廣泛;對稱密碼加密具有速度快、效率高、計算量小等優點,因此在傳輸大量數據時,加密效率異常突出;Hash函數的不可逆性,對密文的解密造成了幾近無法破解的效果,對保證數據的完整性提供了保障。
數字信封技術是組合使用了公鑰密碼和私鑰密碼,用對稱密鑰加密數據,用公鑰加密對稱密鑰,將加密的對稱密鑰和加密數據一起發送。在數字信封技術的基礎上,融合數字簽名技術,充分利用對稱加密、非對稱加密和數字簽名技術的優點,構建一個在網絡傳輸時能有效保障傳輸數據安全的安全傳輸系統。首先利用公鑰加密算法傳遞對稱加密算法所使用的密鑰,然后利用該密鑰對數據進行對稱算法加密形成密文,再利用Hash函數對密文進行Hash散列計算,最后將散列值連同密文一起發送。
2.組合方案設計
高校信息安全的數據傳輸系統包括數據的保密性、完整性以及發送者的不可否認性,因此數據加密傳輸方案中應包括對稱密鑰的分發、傳輸數據的加密和數字簽名?;跀底中欧饧夹g的安全傳輸系統設計思想滿足信息安全傳輸系統的這種要求。保密性使用高效的對稱加密算法實現,同時利用公鑰分發對稱加密密鑰,數字簽名既檢查了傳輸數據的完整性,又保證數據的合法來源。
在該方案中,選擇當前最為先進高效的AES算法作為對稱加密算法,采用公鑰加密算法RSA來分發對稱加密密鑰,以彌補對稱加密在密鑰分發上的安全弱點,利用Hash函數MD5作為消息摘要算法來驗證信息的完整性,和SHA算法實現數字簽名確保數據來源合法。系統發送端處理過程如圖2所示。

發送端具體處理步驟如下:
(1)在發送端和接收端分別利用RSA算法的初始化處理產生自己公鑰密碼的密鑰對,公鑰對外公布,私鑰加以保管,發送端還需要生成對明文數據加密的對稱密鑰。
(2)利用對稱密鑰對明文數據進行AES算法加密,形成密文。
(3)用接收端的公鑰加密對稱密鑰,形成對稱密鑰密文,再對對稱密鑰密文進行SHA算法的Hash散列,使用發送端自己的私鑰對散列值進行加密,作為數字簽名。這里選擇SHA算法是因為考慮到其安全性要高于MD5,另外基于效率的考慮,這里使用對稱密鑰進行散列作為數字簽名。
(4)將對稱密鑰密文、數字簽名和密文三部分一起進行MD5散列,得出的散列值與這三部分一起作為發送端數據進行發送。這里使用MD5 Hash算法是考慮MD5的速度要優于SHA算法。
接收端具體處理步驟如下:
(1)將接收到的數據密文、對稱密鑰密文、數字簽名三部分進行MD5 Hash散列,得出的散列結果與Hash值2進行比較,以確保傳輸過程中數據的完整性。
(2)使用發送方的公鑰對數字簽名進行解密,解密Hash值1,再利用SHA散列算法計算對稱密鑰密文,得出的散列值與Hash值1進行比較,校驗數字簽名,以保證數據來源的合法。
(3)接收者使用自己的私鑰對對稱密鑰密文進行RSA算法解密,得到對稱加密的密鑰。
(4)對密文使用對稱密鑰和AES解密算法進行明文恢復。
3.安全性分析
對設計的安全傳輸系統從完整性和機密性兩方面來考慮其安全性。在完整性方面,如果發送數據被截獲,攻擊者就獲得了Hash值2、密文、數字簽名、對稱密鑰密文。因為有Hash值2存在,想破壞它的完整性,只能將密文、數字簽名和對稱密鑰密文全部替換掉,重新計算Hash值2。但從解密處理過程中,數字簽名使用的是發送者的私鑰,所以通過驗證數字簽名可以很容易校驗信息是否被篡改過,所以該方案的完整性是可以保證的。
在機密性方面,攻擊者獲取Hash值2、密文、數字簽名、對稱密鑰密文后,欲對密文進行解密,需要有對稱密鑰,而對稱密鑰密文是利用接收者的公鑰加密的,需要有接收者的私鑰才能解密,因此機密性也是可以保證的。
綜上分析,可知該方案具有很高的安全性,破解需要涉及私鑰層面。另外該加密傳輸過程不僅實現了數據的安全傳輸,還實現了數字簽名,接收端可以認定信息是發送端所發,而不會被假冒。
隨著公鑰密碼體制應用的日益廣泛,高校網絡對其效率、速度等提出了更高的要求,但限于公鑰密碼的設計思路這個問題難以克服,對稱密碼正好彌補了公鑰密碼的不足。將二者取長補短結合使用,雖然在發送端和接收端增加了處理,但可以有效地彌補公鑰和對稱密碼各自被破解的可能性,增加了密碼強度,增強了數據傳輸的可靠性。
[1]劉平.淺談網絡數據的加密傳輸[J].電腦知識與技術,2008(3).
[2]李長連,李福慶,黃強華.網絡環境文件端到端加密傳輸[J].郵電設計技術,2010(5):69-73.
(編輯:楊馥紅)
TP309.2
B
1673-8454(2011)15-0061-03