1. 程式人生 > >資料安全與保密

資料安全與保密


1、對稱加密技術


         


  對稱加密技術:是指加密系統的加密金鑰和解密金鑰相同,或者雖然不同,但從其中的任意一個可以很容易的推匯出另一個。

  在對稱加密演算法中,資料發信方將明文(原始資料)和加密金鑰一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。收信方收到密文後,需要使用同一金鑰及相同演算法的逆演算法解密,使其恢復成明文。在對稱加密演算法中,使用的金鑰只有一個,發收信雙方都使用這個金鑰進行加密和解密,這就要求解密方事先必須知道加密金鑰。

  對稱加密演算法的特點是演算法公開、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對使用者每次使用對稱加密演算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發收信雙方所擁有的鑰匙數量成幾何級數增長,金鑰管理成為使用者的負擔。對稱加密演算法在分散式網路系統上使用較為困難,主要是因為金鑰管理困難,使用成本較高。

  在計算機專網系統中廣泛使用的對稱加密演算法有DES、IDEA和AES。


         

  DES(資料加密標準演算法):主要採用替換和移位的方法加密。它用56位(64位金鑰只有56位有效金鑰)金鑰對64位二進位制資料塊進行加密,每次加密可對64位的輸入資料進行16輪編碼,經一系列替換和移位後,輸入的64位原始資料轉換成完全不同的64位輸出資料。


          


  3DES(三重DES):在DES的基礎上採用三重DES,即用兩個56位的金鑰K1、K2,傳送方K1加密,K2解密,再使用K1加密。接收方則使用K1解密,K2加密,再使用K1解密,其效果相當於將金鑰長度加倍。

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

  AES:提供128位金鑰,因此,128位AES的加密強度是56位DES加密強度的1021倍還多。假設可以製造一部可以在1秒內破解DES密碼的機器,那麼使用這臺機器破解一個128位AES密碼需要大約149億萬年的時間。(宇宙一般被認為存在了還不到200億年)。



2、非對稱加密技術


      


  對稱加密技術是加密、解密使用相同的金鑰。而非對稱加密技術則是指加密金鑰與解密金鑰不同,分為公鑰和私鑰。

  不對稱加密演算法中,是兩把不同但又是完全匹配的公鑰和私鑰。在使用不對稱加密演算法加密檔案時,只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過程。加密明文時採用公鑰加密,解密密文時使用私鑰才能完成,而且發信方(加密者)知道收信方的公鑰,只有收信方(解密者)才是唯一知道自己私鑰的人。

  不對稱加密演算法的基本原理是,如果發信方想傳送只有收信方才能解讀的加密資訊,發信方必須首先知道收信方的公鑰,然後利用收信方的公鑰來加密原文;收信方收到加密密文後,使用自己的私鑰才能解密密文。顯然,採用不對稱加密演算法,收發信雙方在通訊之前,收信方必須將自己早已隨機生成的公鑰送給發信方,而自己保留私鑰。

  由於不對稱演算法擁有兩個金鑰,因而特別適用於分散式系統中的資料加密。廣泛應用的不對稱加密演算法有RSA演算法和美國國家標準局提出的DSA。以不對稱加密演算法為基礎的加密技術應用非常廣泛。



3、資訊摘要


  資訊摘要演算法實際上就是一個單向雜湊函式,資料塊經過單向雜湊函式得到一個固定長度的雜湊值,攻擊者不可能通過雜湊值而編造資料塊,使得編造的資料塊的雜湊值和源資料塊的雜湊值相同。

  通過雜湊函式從資訊中提取摘要,但是摘要本來就是資訊的一小部分,而且毫無規律可言,所以就算被人截獲也不能反向得出原文。訊息摘要演算法主要有MD5、SHA等,其演算法的雜湊值分別為128位和160位,由於SHA通常採用金鑰比MD5長,所以安全性要高於MD5。


       


  資訊摘要應用:例如使用者的銀行卡密碼不是直接將密碼儲存到資料庫的,否則管理員都知道每個人的密碼監守自盜怎麼辦。所以都是經過資訊摘要演算法將結果儲存到資料庫,然後當用戶輸入密碼時,機器用相同的摘要演算法運算,如果和資料庫中摘要演算法結果相同,證明密碼輸入正確。



4、數字簽名


     


  數字簽名的作用:和日常的簽名一樣,使得傳送者難以否認自己傳送過的資料;因為簽名不易仿冒,從而使得接收者不能夠篡改。即保證資訊傳輸的完整性、傳送者的身份認證、防止交易中的抵賴發生。

  數字簽名技術是將摘要資訊用傳送者的私鑰加密,與原文一起傳送給接收者。接收者只有用傳送者的公鑰才能解密被加密的摘要資訊,然後用HASH函式對收到的原文產生一個摘要資訊,與解密的摘要資訊對比。如果相同,則說明收到的資訊是完整的,在傳輸過程中沒有被修改,否則說明資訊被修改過,因此數字簽名能夠驗證資訊的完整性。

  數字簽名是個加密的過程,數字簽名驗證是個解密的過程。



5、數字時間戳


    


  數字時間戳技術就是數字簽名技術一種變種的應用。

  在電子商務交易檔案中,時間是十分重要的資訊。數字時間戳服務(Digital Time Stamp Service,DTS)是網上電子商務安全服務專案之一,能提供電子檔案的日期和時間資訊的安全保護。

  一般來說,數字時間戳產生的過程為:使用者首先將需要加時間戳的檔案用Hash演算法運算形成摘要,然後將該摘要傳送到DTS。DTS在加入了收到檔案摘要的日期和事件資訊後再對該檔案加密(數字簽名),然後送達使用者。

  時間戳(time-stamp)是一個經加密後形成的憑證文件,它包括3個部分:

     需加時間戳的檔案的摘要(digest);

     DTS收到檔案的日期和時間;

     DTS的數字簽名。

  與數字簽名的區別:數字簽名是沒有時間的,而時間戳為數字簽名加上時間。