加密技術在企業數據安全中的應用(轉)

 隨着大型企業管理軟件的發展,其應用越來越廣泛,企業數據平臺涉及局域網、廣域網、Internet等,在各類系統中保存的企業關鍵數據量也越來越大,許多數據需要保存數十年以上,甚至是永久性保存。於是關鍵業務數據成了企業生存的命脈和寶貴的資源,數據安全性問題越來越突出。如何增強企業軟件系統的安全性、保密性、真實性、完整性,成爲每一位軟件開發人員關注的焦點。

  爲了解決關鍵業務的數據安全問題,首先對數據系統進行全面、可靠、安全和多層次的備份是必不可少的,除此以外,各種安全產品,無論防火牆、防病毒、防黑客、防入侵等等,都或多或少地肩負着一些保護數據的責任。從保護數據的角度講,對數據安全這個廣義概念,可以細分爲三部分:數據加密、數據傳輸安全和身份認證管理。

  l 數據加密就是按照確定的密碼算法將敏感的明文數據變換成難以識別的密文數據,通過使用不同的密鑰,可用同一加密算法將同一明文加密成不同的密文。當需要時,可使用密鑰將密文數據還原成明文數據,稱爲解密。這樣就可以實現數據的保密性。數據加密被公認爲是保護數據傳輸安全惟一實用的方法和保護存儲數據安全的有效方法,它是數據保護在技術上最重要的防線。

  l 數據傳輸安全是指數據在傳輸過程中必須要確保數據的安全性,完整性和不可篡改性。

  l 身份認證的目的是確定系統和網絡的訪問者是否是合法用戶。主要採用登錄密碼、代表用戶身份的物品(如智能卡、IC卡等)或反映用戶生理特徵的標識鑑別訪問者的身份。
  數據加密

  數據加密技術是最基本的安全技術,被譽爲信息安全的核心,最初主要用於保證數據在存儲和傳輸過程中的保密性。它通過變換和置換等各種方法將被保護信息置換成密文,然後再進行信息的存儲或傳輸,即使加密信息在存儲或者傳輸過程爲非授權人員所獲得,也可以保證這些信息不爲其認知,從而達到保護信息的目的。該方法的保密性直接取決於所採用的密碼算法和密鑰長度。

  根據密鑰類型不同可以將現代密碼技術分爲兩類:對稱加密算法(私鑰密碼體系)和非對稱加密算法(公鑰密碼體系)。在對稱加密算法中,數據加密和解密採用的都是同一個密鑰,因而其安全性依賴於所持有密鑰的安全性。對稱加密算法的主要優點是加密和解密速度快,加密強度高,且算法公開,但其最大的缺點是實現密鑰的祕密分發困難,在大量用戶的情況下密鑰管理複雜,而且無法完成身份認證等功能,不便於應用在網絡開放的環境中。目前最著名的對稱加密算法有數據加密標準DES和歐洲數據加密標準IDEA等,目前加密強度最高的對稱加密算法是高級加密標準AES。

  對稱加密算法、非對稱加密算法和不可逆加密算法可以分別應用於數據加密、身份認證和數據安全傳輸。

  l 對稱加密算法

  對稱加密算法是應用較早的加密算法,技術成熟。在對稱加密算法中,數據發信方將明文(原始數據)和加密密鑰一起經過特殊加密算法處理後,使其變成複雜的加密密文發送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。對稱加密算法的特點是算法公開、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發收信雙方所擁有的鑰匙數量成幾何級數增長,密鑰管理成爲用戶的負擔。對稱加密算法在分佈式網絡系統上使用較爲困難,主要是因爲密鑰管理困難,使用成本較高。在計算機專網系統中廣泛使用的對稱加密算法有DES、IDEA和AES。

  傳統的DES由於只有56位的密鑰,因此已經不適應當今分佈式開放網絡對數據加密安全性的要求。1997年RSA數據安全公司發起了一項“DES挑戰賽”的活動,志願者四次分別用四個月、41天、56個小時和22個小時破解了其用56位密鑰DES算法加密的密文。即DES加密算法在計算機速度提升後的今天被認爲是不安全的。

  AES是美國聯邦政府採用的商業及政府數據加密標準,預計將在未來幾十年裏代替DES在各個領域中得到廣泛應用。AES提供128位密鑰,因此,128位AES的加密強度是56位DES加密強度的1021倍還多。假設可以製造一部可以在1秒內破解DES密碼的機器,那麼使用這臺機器破解一個128位AES密碼需要大約149億萬年的時間。(更深一步比較而言,宇宙一般被認爲存在了還不到200億年)因此可以預計,美國國家標準局倡導的AES即將作爲新標準取代DES。

  l 不對稱加密算法

  不對稱加密算法使用兩把完全不同但又是完全匹配的一對鑰匙—公鑰和私鑰。在使用不對稱加密算法加密文件時,只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過程。加密明文時採用公鑰加密,解密密文時使用私鑰才能完成,而且發信方(加密者)知道收信方的公鑰,只有收信方(解密者)纔是唯一知道自己私鑰的人。不對稱加密算法的基本原理是,如果發信方想發送只有收信方纔能解讀的加密信息,發信方必須首先知道收信方的公鑰,然後利用收信方的公鑰來加密原文;收信方收到加密密文後,使用自己的私鑰才能解密密文。顯然,採用不對稱加密算法,收發信雙方在通信之前,收信方必須將自己早已隨機生成的公鑰送給發信方,而自己保留私鑰。由於不對稱算法擁有兩個密鑰,因而特別適用於分佈式系統中的數據加密。廣泛應用的不對稱加密算法有RSA算法和美國國家標準局提出的DSA。以不對稱加密算法爲基礎的加密技術應用非常廣泛。

  l 不可逆加密算法

  不可逆加密算法的特徵是加密過程中不需要使用密鑰,輸入明文後由系統直接經過加密算法處理成密文,這種加密後的數據是無法被解密的,只有重新輸入明文,並再次經過同樣不可逆的加密算法處理,得到相同的加密密文並被系統重新識別後,才能真正解密。顯然,在這類加密過程中,加密是自己,解密還得是自己,而所謂解密,實際上就是重新加一次密,所應用的“密碼”也就是輸入的明文。不可逆加密算法不存在密鑰保管和分發問題,非常適合在分佈式網絡系統上使用,但因加密計算複雜,工作量相當繁重,通常只在數據量有限的情形下使用,如廣泛應用在計算機系統中的口令加密,利用的就是不可逆加密算法。近年來,隨着計算機系統性能的不斷提高,不可逆加密的應用領域正在逐漸增大。在計算機網絡中應用較多不可逆加密算法的有RSA公司發明的MD5算法和由美國國家標準局建議的不可逆加密標準SHS(Secure Hash Standard:安全雜亂信息標準)等。
  傳輸安全

  數據傳輸加密技術目的是對傳輸中的數據流加密,以防止通信線路上的竊聽、泄漏、篡改和破壞。數據傳輸的完整性通常通過數字簽名的方式來實現,即數據的發送方在發送數據的同時利用單向的不可逆加密算法Hash函數或者其它信息文摘算法計算出所傳輸數據的消息文摘,並將該消息文摘作爲數字簽名隨數據一同發送。接收方在收到數據的同時也收到該數據的數字簽名,接收方使用相同的算法計算出接收到的數據的數字簽名,並將該數字簽名和接收到的數字簽名進行比較,若二者相同,則說明數據在傳輸過程中未被修改,數據完整性得到了保證。

  Hash算法也稱爲消息摘要或單向轉換,是一種不可逆加密算法,稱它爲單向轉換是因爲:

  1)雙方必須在通信的兩個端頭處各自執行Hash函數計算;

  2)使用Hash函數很容易從消息計算出消息摘要,但其逆向反演過程以目前計算機的運算能力幾乎不可實現。

  Hash散列本身就是所謂加密檢查,通信雙方必須各自執行函數計算來驗證消息。舉例來說,發送方首先使用Hash算法計算消息檢查和,然後將計算結果A封裝進數據包中一起發送;接收方再對所接收的消息執行Hash算法計算得出結果B,並將B與A進行比較。如果消息在傳輸中遭篡改致使B與A不一致,接收方丟棄該數據包。

  有兩種最常用的Hash函數:

  ·MD5(消息摘要5):MD5對MD4做了改進,計算速度比MD4稍慢,但安全性能得到了進一步改善。MD5在計算中使用了64個32位常數,最終生成一個128位的完整性檢查和。

  ·SHA 安全Hash算法:其算法以MD5爲原型。 SHA在計算中使用了79個32位常數,最終產生一個160位完整性檢查和。SHA檢查和長度比MD5更長,因此安全性也更高。
  身份認證

  身份認證要求參與安全通信的雙方在進行安全通信前,必須互相鑑別對方的身份。保護數據不僅僅是要讓數據正確、長久地存在,更重要的是,要讓不該看到數據的人看不到。這方面,就必須依靠身份認證技術來給數據加上一把鎖。數據存在的價值就是需要被合理訪問,所以,建立信息安全體系的目的應該是保證系統中的數據只能被有權限的人訪問,未經授權的人則無法訪問到數據。如果沒有有效的身份認證手段,訪問者的身份就很容易被僞造,使得未經授權的人仿冒有權限人的身份,這樣,任何安全防範體系就都形同虛設,所有安全投入就被無情地浪費了。

  在企業管理系統中,身份認證技術要能夠密切結合企業的業務流程,阻止對重要資源的非法訪問。身份認證技術可以用於解決訪問者的物理身份和數字身份的一致性問題,給其他安全技術提供權限管理的依據。所以說,身份認證是整個信息安全體系的基礎。

  由於網上的通信雙方互不見面,必須在交易時(交換敏感信息時)確認對方的真實身份; 身份認證指的是用戶身份的確認技術,它是網絡安全的第一道防線,也是最重要的一道防線。

  在公共網絡上的認證,從安全角度分有兩類:一類是請求認證者的祕密信息(例如:口令)在網上傳送的口令認證方式,另一類是使用不對稱加密算法,而不需要在網上傳送祕密信息的認證方式,這類認證方式中包括數字簽名認證方式。

  l 口令認證方式

  口令認證必須具備一個前提:請求認證者必須具有一個 ID,該ID必須在認證者的用戶數據庫(該數據庫必須包括ID和口令)中是唯一的。同時爲了保證認證的有效性必須考慮到以下問題:

  · 求認證者的口令必須是安全的。

  · 在傳輸過程中,口令不能被竊看,替換。

  ·請求認證者在向認證者請求認證前,必須確認認證者的真實身份。否則會把口令發給冒充的認證者。

  口令認證方式還有一個最大的安全問題就是系統的管理員通常都能得到所有用戶的口令。因此,爲了避免這樣的安全隱患,通常情況下會在數據庫中保存口令的Hash值,通過驗證Hash值的方法來認證身份。

  l 使用不對稱加密算法的認證方式 (數字證書方式)

  使用不對稱加密算法的認證方式,認證雙方的個人祕密信息(例如:口令)不用在網絡上傳送,減少了認證的風險。這種方式是通過請求認證者與認證者之間對一個隨機數作數字簽名與驗證數字簽名來實現的。

  認證一旦通過,雙方即建立安全通道進行通信,在每一次的請求和響應中進行,即接受信息的一方先從接收到的信息中驗證發信人的身份信息,驗證通過後才根據發來的信息進行相應的處理。

  用於實現數字簽名和驗證數字簽名的密鑰對必須與進行認證的一方唯一對應 。

  在公鑰密碼(不對稱加密算法)體系中,數據加密和解密採用不同的密鑰,而且用加密密鑰加密的數據只有採用相應的解密密鑰才能解密,更重要的是從加密密碼來求解解密密鑰在十分困難。在實際應用中,用戶通常將密鑰對中的加密密鑰公開(稱爲公鑰),而祕密持有解密密鑰(稱爲私鑰)。利用公鑰體系可以方便地實現對用戶的身份認證,也即用戶在信息傳輸前首先用所持有的私鑰對傳輸的信息進行加密,信息接收者在收到這些信息之後利用該用戶向外公佈的公鑰進行解密,如果能夠解開,說明信息確實爲該用戶所發送,這樣就方便地實現了對信息發送方身份的鑑別和認證。在實際應用中通常將公鑰密碼體系和數字簽名算法結合使用,在保證數據傳輸完整性的同時完成對用戶的身份認證。

  目前的不對稱加密算法都是基於一些複雜的數學難題,例如目前廣泛使用的RSA算法就是基於大整數因子分解這一著名的數學難題。目前常用的非對稱加密算法包括整數因子分解(以RSA爲代表)、橢園曲線離散對數和離散對數(以DSA爲代表)。公鑰密碼體系的優點是能適應網絡的開放性要求,密鑰管理簡單,並且可方便地實現數字簽名和身份認證等功能,是目前電子商務等技術的核心基礎。其缺點是算法複雜,加密數據的速度和效率較低。因此在實際應用中,通常將對稱加密算法和非對稱加密算法結合使用,利用AES、DES或者IDEA等對稱加密算法來進行大容量數據的加密,而採用RSA等非對稱加密算法來傳遞對稱加密算法所使用的密鑰,通過這種方法可以有效地提高加密的效率並能簡化對密鑰的管理。

  結束語:數據安全問題涉及到企業的很多重大利益,發展數據安全技術是目前面臨的迫切要求,除了上述內容以外,數據安全還涉及到其他很多方面的技術與知識,例如:黒客技術、防火牆技術、入侵檢測技術、病毒防護技術、信息隱藏技術等。一個完善的數據安全保障系統,應該根據具體需求對上述安全技術進行取捨。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章