加密算法在信息安全中的應(yīng)用

在信息傳輸?shù)倪^程中會發(fā)生截取,中斷,篡改和偽造四種威脅,使得信息的完整性,可用性和保密性嚴(yán)重下降,影響著我們的信息安全。而加密技術(shù)是對付這四種安全威脅的有力武器。好的加密技術(shù)能隱藏自己的身份使得他不被中斷和截取,若加上必要的驗(yàn)證信息則可以校驗(yàn)其是否被篡改和偽造。所以在互聯(lián)網(wǎng)背景下,對加密技術(shù)的需求更加迫切,要求更加高,其作用也越來越重要。本文先介紹加密技術(shù)對四種安全威脅的低檔,在介紹目前流行的加密算法的應(yīng)用。

加密幾乎就是針對截?cái)喙舳a(chǎn)生的。截?cái)喙艟褪侵敢恍┪词跈?quán)方獲得了訪問資源的權(quán)利,通俗來講就是被人竊取。而此時(shí)的信息如果是加過密的,其表現(xiàn)就是不能識別的亂碼,那么竊取者若不能正確解密,那么該信息對他來說是無用的,于是起到了保護(hù)作用。任何一種加密技術(shù)都具有偽裝自己的特點(diǎn),所以對付截?cái)喙羰潜厝坏摹?/p>

中斷攻擊是指系統(tǒng)資源的丟失,不可得或不可用。這類例子包括惡意的硬件破壞,程序或數(shù)據(jù)文件被刪除或操作系統(tǒng)文件管理器出現(xiàn)故障,導(dǎo)致不能找到所需的磁盤文件。這時(shí)如果對系統(tǒng)資源或權(quán)限獲得設(shè)置了加密則可以有效抵擋此類攻擊,首先,資源的加密使得他被保護(hù),不能被外人發(fā)現(xiàn),即使攻擊者已經(jīng)知道,他若不能獲得訪問和刪除的權(quán)限,對他來說依然是沒有用的。

如果未授權(quán)方不僅訪問了資源而且修改了其內(nèi)容,這稱為篡改。有時(shí)候篡改對于攻擊者本身也許是無意義的,但是會影響到接收者得到的信息的正確性。通過加密有時(shí)可以達(dá)到校驗(yàn)的作用,比如在發(fā)一條信息的同時(shí)附上其校驗(yàn)信息比如HASHCODE,既可以達(dá)到偽裝的效果又可以防止被篡改或者傳輸過程中隨機(jī)產(chǎn)生的差錯(cuò)。

偽造是指未授權(quán)放在計(jì)算機(jī)系統(tǒng)中創(chuàng)建假冒的對象。入侵者想網(wǎng)絡(luò)通信系統(tǒng)中插入偽造的事物處理或想數(shù)據(jù)庫中添加記錄。使用合適的加密也可以防止偽造,一方面加密可以保護(hù)權(quán)限,使得入侵者不能得到修改的權(quán)限。另一方面,可以通過加密起到證書的作用以確保信息來源的正確性,如RSA公鑰算法就具有電子證書的作用。

加密技術(shù)的使用由來已久,最早的有凱撒加密,它是替換加密法的代表,這種加密也可以起到偽裝作用防止截?cái)嗳肭?。他歷時(shí)千年卻經(jīng)久不衰,他的特點(diǎn)是加密解密過程都非常簡單快捷,只要把原文的字母固定替換為另一個(gè)字母就可以產(chǎn)生一堆看不懂的東西了,這種加密增加了密文的混亂性。因?yàn)檫@種加密太簡單,所以破解也是很簡單的。由于替換加密屬于流加密,所以流的順序是沒有被破壞的,這就為破解提供了突破口,另外由于某一字母固定替換為另一字母,還可以通過某一字母的統(tǒng)計(jì)規(guī)律來破解,比如字母E在英文中出現(xiàn)的頻率是0.1268,那么分析密文中某一字母出現(xiàn)頻率與這個(gè)值非常接近那么可以斷定該字母是E的替換。雖然這種替換加密安全性不高,但作為簡單快捷的加密方式也是有一定使用價(jià)值的。

另一種稱為置換加密,這種加密有別于流加密的不同之處就是破壞了流的順序?qū)υ倪M(jìn)行了重排,這種加密有時(shí)也成為塊加密,它增加了密文的擴(kuò)散性。這對防止破解與篡改是很有幫助的,如果密文被插入了新的東西那么會破壞整個(gè)譯文的正確性,而塊加密很難通過統(tǒng)計(jì)方法得到破解??旒用茈m然具有很好的擴(kuò)散性,但是加密過程卻非常繁瑣,而且會出現(xiàn)錯(cuò)誤擴(kuò)散的可能,如果傳輸產(chǎn)生一個(gè)錯(cuò)誤那么可能整個(gè)譯文都受到影響。這種加密方式不宜用于大規(guī)模的數(shù)據(jù)。

再來介紹兩種加密思想,對稱加密與非對稱加密。對稱加密是指加密的密碼與解密密碼是相同的如DES,非對稱加密是指加密與解密使用的密碼是不同的如RSA,這兩種密碼方法各有自己的用途,是當(dāng)前計(jì)算機(jī)信息傳輸中使用最多的兩種方法。

DES算法是替換加密與置換加密復(fù)雜而細(xì)致的結(jié)合。它的算法的健壯性源自于對這兩種加密技術(shù)的重復(fù)使用,一個(gè)緊接著一個(gè),一共進(jìn)行16次循環(huán)。透過16次反復(fù)替換和置換追蹤單獨(dú)的一位,其復(fù)雜性使普通的研究者最多能發(fā)現(xiàn)算法的一些一般性質(zhì)。DES 使用一個(gè)56 位的密鑰以及附加的 8 位奇偶校驗(yàn)位,產(chǎn)生最大 64 位的分組大小。這是一個(gè)迭代的分組密碼,使用稱為 Feistel 的技術(shù),其中將加密的文本塊分成兩半。使用子密鑰對其中一半應(yīng)用循環(huán)功能,然后將輸出與另一半進(jìn)行“異或”運(yùn)算;接著交換這兩半,這一過程會繼續(xù)下去,但最后一個(gè)循環(huán)不交換。DES 使用 16 個(gè)循環(huán),使用異或,置換,代換,移位操作四種基本運(yùn)算。替換為它提供了混亂性,置換為它提供了擴(kuò)散性,可見DES是一種非常好的加密算法。由于它的加密與解密使用的是同一個(gè)密碼,這樣使得密碼的保護(hù)尤為重要,一旦密碼在交換過程中被竊取,那么一切將是沒有意義的。

RSA公鑰算法可以稱得上非對稱加密中的代表。它用來加密與解密的密鑰是不同的,所以可以拿出一個(gè)作為公鑰,得到公鑰的一方可以讀取私鑰持有者發(fā)出的信息,卻不能偽造私鑰者的信息,私鑰者也可以接讀取公鑰持有者發(fā)出的信息而不被他人所截取。這就避免了DES算法中密碼交換的危險(xiǎn),因?yàn)椴恍枰粨Q私鑰就可以完成信息的安全傳輸,公鑰是公開的,任何人可以獲得,不用擔(dān)心被非法者持有。從安全角度來看這種算法可以說是登峰造極了,但在實(shí)際應(yīng)用中的缺點(diǎn)也是不能忽視的,其一就是這對公密鑰的產(chǎn)生,這需要大整數(shù)的計(jì)算和大素?cái)?shù)的判別,這是一套非常復(fù)雜的算法,另外其加密過程也比DES慢好幾倍,因此這種算法通常只用來加密小規(guī)模數(shù)據(jù)。一個(gè)很好的想法就是用來交換DES的密碼,用接收密碼者的公鑰來加密,這樣的密碼只有持有私鑰才能讀取,這樣就把DES密碼交換的安全性提升到了RSA的水平,然后再用DES加密大量的信息,這樣的結(jié)合就有了安全性與快捷性的共同提高。RSA另一個(gè)廣泛的應(yīng)用就是數(shù)字簽名。由于公鑰只能解碼私鑰加密的信息,所以私鑰的持有者發(fā)出的信息具有不可偽造的特點(diǎn),于是私鑰持有者可以為自己設(shè)定數(shù)字簽名,使用私鑰加密自己的身份信息并公開同時(shí)公開公鑰,這樣大家知道了公鑰就可以讀取自己的身份信息,如果偽造者不能得到私鑰那么就不能用公鑰解開,而私鑰是不能向任何人透露的。

另外有一種重要加密稱為單向加密,即只能加密,不能解密,最典型的就是HASH編碼。如果使用同一原文加密得到同一密文,而得到密文卻很難得到正確的原文,另一方面可能同一密文有多個(gè)原文與之對應(yīng),于是這種加密方式多用來做比較驗(yàn)證,如驗(yàn)證數(shù)據(jù)傳輸過程中有沒有發(fā)生錯(cuò)誤,可以在發(fā)送時(shí)附上其HASH編碼,在接收時(shí)再做一次,比較兩次HASH值是否一致,如果原文一致,那么密文也一定相同。還會用于驗(yàn)證密碼,通常數(shù)據(jù)庫中保存的密碼是很有可能被他人看到的,但如果使用了單向加密即使看到也很難推出真正的密碼。而在密碼驗(yàn)證時(shí)求取其HASH值與數(shù)據(jù)庫比較如果相同則可以通過驗(yàn)證。

可以看到形形色色的密碼技術(shù)為我們安全傳輸信息提供了保障,不同的密碼方式也對應(yīng)著不同的應(yīng)用,使用正確的加密方式對我們安全快捷的信息傳輸具有深遠(yuǎn)意義,因此學(xué)好密碼學(xué)是非常有用的,我們也期待更好的密碼技術(shù)可以產(chǎn)生,以便更好的為信息安全服務(wù)。