隨著大型企業管理軟件的發展,其應用越來越廣泛,企業數據平台涉及局域網、廣域網、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更長,因此安全性也更高。
身份認證要求參與安全通信的雙方在進行安全通信前,必須互相鑒別對方的身份。保護數據不僅僅是要讓數據正確、長久地存在,更重要的是,要讓不該看到數據的人看不到。這方面,就必須依靠身份認證技術來給數據加上一把鎖。數據存在的價值就是需要被合理訪問,所以,建立信息安全體系的目的應該是保證系統中的數據只能被有權限的人訪問,未經授權的人則無法訪問到數據。如果沒有有效的身份認證手段,訪問者的身份就很容易被偽造,使得未經授權的人仿冒有權限人的身份,這樣,任何安全防范體系就都形同虛設,所有安全投入就被無情地浪費了。
在企業管理系統中,身份認證技術要能夠密切結合企業的業務流程,阻止對重要資源的非法訪問。身份認證技術可以用於解決訪問者的物理身份和數字身份的一致性問題,給其他安全技術提供權限管理的依據。所以說,身份認證是整個信息安全體系的基礎。
由於網上的通信雙方互不見面,必須在交易時(交換敏感信息時)確認對方的真實身份; 身份認