隨著(zhù)大型企業(yè)管理軟件的發(fā)展,其應用越來(lái)越廣泛,企業(yè)數據平臺涉及局域網(wǎng)、廣域網(wǎng)、Internet等,在各類(lèi)系統中保存的企業(yè)關(guān)鍵數據量也越來(lái)越大,許多數據需要保存數十年以上,甚至是永久性保存。于是關(guān)鍵業(yè)務(wù)數據成了企業(yè)生存的命脈和寶貴的資源,數據安全性問(wèn)題越來(lái)越突出。如何增強企業(yè)軟件系統的安全性、保密性、真實(shí)性、完整性,成為每一位軟件開(kāi)發(fā)人員關(guān)注的焦點(diǎn)。
為了解決關(guān)鍵業(yè)務(wù)的數據安全問(wèn)題,首先對數據系統進(jìn)行全面、可靠、安全和多層次的備份是必不可少的,除此以外,各種安全產(chǎn)品,無(wú)論防火墻、防病毒、防黑客、防入侵等等,都或多或少地肩負著(zhù)一些保護數據的責任。從保護數據的角度講,對數據安全這個(gè)廣義概念,可以細分為三部分:數據加密、數據傳輸安全和身份認證管理。
l 數據加密就是按照確定的密碼算法將敏感的明文數據變換成難以識別的密文數據,通過(guò)使用不同的密鑰,可用同一加密算法將同一明文加密成不同的密文。當需要時(shí),可使用密鑰將密文數據還原成明文數據,稱(chēng)為解密。這樣就可以實(shí)現數據的保密性。數據加密被公認為是保護數據傳輸安全惟一實(shí)用的方法和保護存儲數據安全的有效方法,它是數據保護在技術(shù)上最重要的防線(xiàn)。
2 數據傳輸安全是指數據在傳輸過(guò)程中必須要確保數據的安全性,完整性和不可篡改性。
3 身份認證的目的是確定系統和網(wǎng)絡(luò )的訪(fǎng)問(wèn)者是否是合法用戶(hù)。主要采用登錄密碼、代表用戶(hù)身份的物品(如智能卡、IC卡等)或反映用戶(hù)生理特征的標識鑒別訪(fǎng)問(wèn)者的身份。
數據加密
數據加密技術(shù)是最基本的安全技術(shù),被譽(yù)為信息安全的核心,最初主要用于保證數據在存儲和傳輸過(guò)程中的保密性。它通過(guò)變換和置換等各種方法將被保護信息置換成密文,然后再進(jìn)行信息的存儲或傳輸,即使加密信息在存儲或者傳輸過(guò)程為非授權人員所獲得,也可以保證這些信息不為其認知,從而達到保護信息的目的。該方法的保密性直接取決于所采用的密碼算法和密鑰長(cháng)度。
根據密鑰類(lèi)型不同可以將現代密碼技術(shù)分為兩類(lèi):對稱(chēng)加密算法(私鑰密碼體系)和非對稱(chēng)加密算法(公鑰密碼體系)和不可逆加密算法。
l 對稱(chēng)加密算法
在對稱(chēng)加密算法中,數據加密和解密采用的都是同一個(gè)密鑰,因而其安全性依賴(lài)于所持有密鑰的安全性。對稱(chēng)加密算法的主要優(yōu)點(diǎn)是加密和解密速度快,加密強度高,且算法公開(kāi),但其最大的缺點(diǎn)是實(shí)現密鑰的秘密分發(fā)困難,在大量用戶(hù)的情況下密鑰管理復雜,而且無(wú)法完成身份認證等功能,不便于應用在網(wǎng)絡(luò )開(kāi)放的環(huán)境中。目前最著(zhù)名的對稱(chēng)加密算法有數據加密標準DES和歐洲數據加密標準IDEA等,目前加密強度最高的對稱(chēng)加密算法是高級加密標準AES。
對稱(chēng)加密算法是應用較早的加密算法,技術(shù)成熟。在對稱(chēng)加密算法中,數據發(fā)信方將明文(原始數據)和加密密鑰一起經(jīng)過(guò)特殊加密算法處理后,使其變成復雜的加密密文發(fā)送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過(guò)的密鑰及相同算法的逆算法對密文進(jìn)行解密,才能使其恢復成可讀明文。在對稱(chēng)加密算法中,使用的密鑰只有一個(gè),發(fā)收信雙方都使用這個(gè)密鑰對數據進(jìn)行加密和解密,這就要求解密方事先必須知道加密密鑰。對稱(chēng)加密算法的特點(diǎn)是算法公開(kāi)、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對用戶(hù)每次使用對稱(chēng)加密算法時(shí),都需要使用其他人不知道的惟一鑰匙,這會(huì )使得發(fā)收信雙方所擁有的鑰匙數量成幾何級數增長(cháng),密鑰管理成為用戶(hù)的負擔。對稱(chēng)加密算法在分布式網(wǎng)絡(luò )系統上使用較為困難,主要是因為密鑰管理困難,使用成本較高。在計算機專(zhuān)網(wǎng)系統中廣泛使用的對稱(chēng)加密算法有DES、IDEA和AES。
傳統的DES由于只有56位的密鑰,因此已經(jīng)不適應當今分布式開(kāi)放網(wǎng)絡(luò )對數據加密安全性的要求。1997年RSA數據安全公司發(fā)起了一項“DES挑戰賽”的活動(dòng),志愿者四次分別用四個(gè)月、41天、56個(gè)小時(shí)和22個(gè)小時(shí)破解了其用56位密鑰DES算法加密的密文。即DES加密算法在計算機速度提升后的今天被認為是不安全的。
AES是美國聯(lián)邦政府采用的商業(yè)及政府數據加密標準,預計將在未來(lái)幾十年里代替DES在各個(gè)領(lǐng)域中得到廣泛應用。AES提供128位密鑰,因此,128位AES的加密強度是56位DES加密強度的1021倍還多。假設可以制造一部可以在1秒內破解DES密碼的機器,那么使用這臺機器破解一個(gè)128位AES密碼需要大約149億萬(wàn)年的時(shí)間。(更深一步比較而言,宇宙一般被認為存在了還不到200億年)因此可以預計,美國國家標準局倡導的AES即將作為新標準取代DES。
2 不對稱(chēng)加密算法
不對稱(chēng)加密算法使用兩把完全不同但又是完全匹配的一對鑰匙——公鑰和私鑰。在使用不對稱(chēng)加密算法加密文件時(shí),只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過(guò)程。加密明文時(shí)采用公鑰加密,解密密文時(shí)使用私鑰才能完成,而且發(fā)信方(加密者)知道收信方的公鑰,只有收信方(解密者)才是唯一知道自己私鑰的人。不對稱(chēng)加密算法的基本原理是,如果發(fā)信方想發(fā)送只有收信方才能解讀的加密信息,發(fā)信方必須首先知道收信方的公鑰,然后利用收信方的公鑰來(lái)加密原文;收信方收到加密密文后,使用自己的私鑰才能解密密文。顯然,采用不對稱(chēng)加密算法,收發(fā)信雙方在通信之前,收信方必須將自己早已隨機生成的公鑰送給發(fā)信方,而自己保留私鑰。由于不對稱(chēng)算法擁有兩個(gè)密鑰,因而特別適用于分布式系統中的數據加密。廣泛應用的不對稱(chēng)加密算法有RSA算法和美國國家標準局提出的DSA。以不對稱(chēng)加密算法為基礎的加密技術(shù)應用非常廣泛。
3 不可逆加密算法
不可逆加密算法的特征是加密過(guò)程中不需要使用密鑰,輸入明文后由系統直接經(jīng)過(guò)加密算法處理成密文,這種加密后的數據是無(wú)法被解密的,只有重新輸入明文,并再次經(jīng)過(guò)同樣不可逆的加密算法處理,得到相同的加密密文并被系統重新識別后,才能真正解密。顯然,在這類(lèi)加密過(guò)程中,加密是自己,解密還得是自己,而所謂解密,實(shí)際上就是重新加一次密,所應用的“密碼”也就是輸入的明文。不可逆加密算法不存在密鑰保管和分發(fā)問(wèn)題,非常適合在分布式網(wǎng)絡(luò )系統上使用,但因加密計算復雜,工作量相當繁重,通常只在數據量有限的情形下使用,如廣泛應用在計算機系統中的口令加密,利用的就是不可逆加密算法。近年來(lái),隨著(zhù)計算機系統性能的不斷提高,不可逆加密的應用領(lǐng)域正在逐漸增大。在計算機網(wǎng)絡(luò )中應用較多不可逆加密算法的有RSA公司發(fā)明的MD5算法和由美國國家標準局建議的不可逆加密標準SHS(Secure Hash Standard:安全雜亂信息標準)等。
傳輸安全
數據傳輸加密技術(shù)目的是對傳輸中的數據流加密,以防止通信線(xiàn)路上的竊聽(tīng)、泄漏、篡改和破壞。數據傳輸的完整性通常通過(guò)數字簽名的方式來(lái)實(shí)現,即數據的發(fā)送方在發(fā)送數據的同時(shí)利用單向的不可逆加密算法Hash函數或者其它信息文摘算法計算出所傳輸數據的消息文摘,并將該消息文摘作為數字簽名隨數據一同發(fā)送。接收方在收到數據的同時(shí)也收到該數據的數字簽名,接收方使用相同的算法計算出接收到的數據的數字簽名,并將該數字簽名和接收到的數字簽名進(jìn)行比較,若二者相同,則說(shuō)明數據在傳輸過(guò)程中未被修改,數據完整性得到了保證。
Hash算法也稱(chēng)為消息摘要或單向轉換,是一種不可逆加密算法,稱(chēng)它為單向轉換是因為:
1)雙方必須在通信的兩個(gè)端頭處各自執行Hash函數計算;
2)使用Hash函數很容易從消息計算出消息摘要,但其逆向反演過(guò)程以目前計算機的運算能力幾乎不可實(shí)現。
Hash散列本身就是所謂加密檢查,通信雙方必須各自執行函數計算來(lái)驗證消息。舉例來(lái)說(shuō),發(fā)送方首先使用Hash算法計算消息檢查,然后將計算結果A封裝進(jìn)數據包中一起發(fā)送;接收方再對所接收的消息執行Hash算法計算得出結果B,并將B與A進(jìn)行比較。如果消息在傳輸中遭篡改致使B與A不一致,接收方丟棄該數據包。
有兩種最常用的Hash函數:
·MD5(消息摘要5):MD5對MD4做了改進(jìn),計算速度比MD4稍慢,但安全性能得到了進(jìn)一步改善。MD5在計算中使用了64個(gè)32位常數,最終生成一個(gè)128位的完整性檢查和。
·SHA 安全Hash算法:其算法以MD5為原型。 SHA在計算中使用了79個(gè)32位常數,最終產(chǎn)生一個(gè)160位完整性檢查和。SHA檢查和長(cháng)度比MD5更長(cháng),因此安全性也更高。
身份認證
身份認證要求參與安全通信的雙方在進(jìn)行安全通信前,必須互相鑒別對方的身份。保護數據不僅僅是要讓數據正確、長(cháng)久地存在,更重要的是,要讓不該看到數據的人看不到。這方面,就必須依靠身份認證技術(shù)來(lái)給數據加上一把鎖。數據存在的價(jià)值就是需要被合理訪(fǎng)問(wèn),所以,建立信息安全體系的目的應該是保證系統中的數據只能被有權限的人訪(fǎng)問(wèn),未經(jīng)授權的人則無(wú)法訪(fǎng)問(wèn)到數據。如果沒(méi)有有效的身份認證手段,訪(fǎng)問(wèn)者的身份就很容易被偽造,使得未經(jīng)授權的人仿冒有權限人的身份,這樣,任何安全防范體系就都形同虛設,所有安全投入就被無(wú)情地浪費了。
在企業(yè)管理系統中,身份認證技術(shù)要能夠密切結合企業(yè)的業(yè)務(wù)流程,阻止對重要資源的非法訪(fǎng)問(wèn)。身份認證技術(shù)可以用于解決訪(fǎng)問(wèn)者的物理身份和數字身份的一致性問(wèn)題,給其他安全技術(shù)提供權限管理的依據。所以說(shuō),身份認證是整個(gè)信息安全體系的基礎。
由于網(wǎng)上的通信雙方互不見(jiàn)面,必須在交易時(shí)(交換敏感信息時(shí))確認對方的真實(shí)身份; 身份認證指的是用戶(hù)身份的確認技術(shù),它是網(wǎng)絡(luò )安全的第一道防線(xiàn),也是最重要的一道防線(xiàn)。
在公共網(wǎng)絡(luò )上的認證,從安全角度分有兩類(lèi):一類(lèi)是請求認證者的秘密信息(例如:口令)在網(wǎng)上傳送的口令認證方式,另一類(lèi)是使用不對稱(chēng)加密算法,而不需要在網(wǎng)上傳送秘密信息的認證方式,這類(lèi)認證方式中包括數字簽名認證方式。
l 口令認證方式
口令認證必須具備一個(gè)前提:請求認證者必須具有一個(gè) ID,該ID必須在認證者的用戶(hù)數據庫(該數據庫必須包括ID和口令)中是唯一的。同時(shí)為了保證認證的有效性必須考慮到以下問(wèn)題:
· 求認證者的口令必須是安全的。
· 在傳輸過(guò)程中,口令不能被竊看,替換。
·請求認證者在向認證者請求認證前,必須確認認證者的真實(shí)身份。否則會(huì )把口令發(fā)給冒充的認證者。
口令認證方式還有一個(gè)最大的安全問(wèn)題就是系統的管理員通常都能得到所有用戶(hù)的口令。因此,為了避免這樣的安全隱患,通常情況下會(huì )在數據庫中保存口令的Hash值,通過(guò)驗證Hash值的方法來(lái)認證身份。
2 使用不對稱(chēng)加密算法的認證方式 (數字證書(shū)方式)
使用不對稱(chēng)加密算法的認證方式,認證雙方的個(gè)人秘密信息(例如:口令)不用在網(wǎng)絡(luò )上傳送,減少了認證的風(fēng)險。這種方式是通過(guò)請求認證者與認證者之間對一個(gè)隨機數作數字簽名與驗證數字簽名來(lái)實(shí)現的。
認證一旦通過(guò),雙方即建立安全通道進(jìn)行通信,在每一次的請求和響應中進(jìn)行,即接受信息的一方先從接收到的信息中驗證發(fā)信人的身份信息,驗證通過(guò)后才根據發(fā)來(lái)的信息進(jìn)行相應的處理。
用于實(shí)現數字簽名和驗證數字簽名的密鑰對必須與進(jìn)行認證的一方唯一對應 。
在公鑰密碼(不對稱(chēng)加密算法)體系中,數據加密和解密采用不同的密鑰,而且用加密密鑰加密的數據只有采用相應的解密密鑰才能解密,更重要的是從加密密碼來(lái)求解解密密鑰在十分困難。在實(shí)際應用中,用戶(hù)通常將密鑰對應的加密密鑰公開(kāi)(稱(chēng)為公鑰),而秘密持有解密密鑰(稱(chēng)為私鑰)。利用公鑰體系可以方便地實(shí)現對用戶(hù)的身份認證,也即用戶(hù)在信息傳輸前首先用所持有的私鑰對傳輸的信息進(jìn)行加密,信息接收者在收到這些信息之后利用該用戶(hù)向外公布的公鑰進(jìn)行解密,如果能夠解開(kāi),說(shuō)明信息確實(shí)為該用戶(hù)所發(fā)送,這樣就方便地實(shí)現了對信息發(fā)送方身份的鑒別和認證。在實(shí)際應用中通常將公鑰密碼體系和數字簽名算法結合使用,在保證數據傳輸完整性的同時(shí)完成對用戶(hù)的身份認證。
目前的不對稱(chēng)加密算法都是基于一些復雜的數學(xué)難題,例如目前廣泛使用的RSA算法就是基于大整數因子分解這一著(zhù)名的數學(xué)難題。目前常用的非對稱(chēng)加密算法包括整數因子分解(以RSA為代表)、橢園曲線(xiàn)離散對數和離散對數(以DSA為代表)。公鑰密碼體系的優(yōu)點(diǎn)是能適應網(wǎng)絡(luò )的開(kāi)放性要求,密鑰管理簡(jiǎn)單,并且可方便地實(shí)現數字簽名和身份認證等功能,是目前電子商務(wù)等技術(shù)的核心基礎。其缺點(diǎn)是算法復雜,加密數據的速度和效率較低。因此在實(shí)際應用中,通常將對稱(chēng)加密算法和非對稱(chēng)加密算法結合使用,利用AES、DES或者IDEA等對稱(chēng)加密算法來(lái)進(jìn)行大容量數據的加密,而采用RSA等非對稱(chēng)加密算法來(lái)傳遞對稱(chēng)加密算法所使用的密鑰,通過(guò)這種方法可以有效地提高加密的效率并能簡(jiǎn)化對密鑰的管理。
結束語(yǔ):數據安全問(wèn)題涉及到企業(yè)的很多重大利益,發(fā)展數據安全技術(shù)是目前面臨的迫切要求,除了上述內容以外,數據安全還涉及到其他很多方面的技術(shù)與知識,例如:黒客技術(shù)、防火墻技術(shù)、入侵檢測技術(shù)、病毒防護技術(shù)、信息隱藏技術(shù)等。一個(gè)完善的數據安全保障系統,應該根據具體需求對上述安全技術(shù)進(jìn)行取舍。