信息加密技術(shù)及其安全性(一)

目前的互聯(lián)網(wǎng)系統(tǒng)中,黑客常用的典型攻擊方式有掃描、監(jiān)聽、密碼分析、軟件漏洞、惡意代碼、拒絕服務(wù),而常見的安全防御技術(shù)有信息加密、CA認(rèn)證、存取控制、監(jiān)控、審計(jì)和掃描(針對(duì)惡意代碼)。其中密碼分析與信息加密是攻擊與防御的核心技術(shù)。提及信息安全,我們往往首先聯(lián)想到密碼技術(shù)。密碼技術(shù)的重要性在網(wǎng)絡(luò)安全領(lǐng)域是不可取代的。

一、密碼技術(shù)及安全標(biāo)準(zhǔn)

密碼技術(shù)是對(duì)傳輸或存儲(chǔ)中的數(shù)據(jù)進(jìn)行重新編碼,以防止第三方竊取、篡改數(shù)據(jù)的一門技術(shù)。它結(jié)合了數(shù)學(xué)、通信學(xué)、計(jì)算機(jī)科學(xué)等多種學(xué)科于一體,通過數(shù)據(jù)加密、數(shù)字簽名、身份認(rèn)證等方式,在紛繁復(fù)雜的網(wǎng)絡(luò)環(huán)境下對(duì)信息進(jìn)行保護(hù),保證其機(jī)密性、完整性和可用性。

1、加密算法的種類

數(shù)據(jù)加密算法種類繁多,究其發(fā)展史,經(jīng)歷了古典算法、對(duì)稱密鑰算法以及公開密鑰算法三個(gè)階段。古典算法中有替換加密、代碼加密、變位加密等,該類算法簡(jiǎn)單易行,但已不能滿足當(dāng)下的安全性要求,逐漸淡出應(yīng)用。

對(duì)稱密鑰加密算法又稱為單密鑰算法,該算法加密與解密使用同一個(gè)密鑰,或者從其中一個(gè)密鑰可以輕易推出另一個(gè)。目前著名的對(duì)稱加密算法有美國(guó)數(shù)據(jù)加密標(biāo)準(zhǔn)DES、高級(jí)加密標(biāo)準(zhǔn)AES和歐洲數(shù)據(jù)加密標(biāo)準(zhǔn)IDEA等。對(duì)稱密碼從加密方式上又可以分為分組密碼和序列密碼兩種。

公開密鑰加密算法又可以稱作非對(duì)稱密鑰算法。該算法中,加密密鑰和解密密鑰是不同的,加密密鑰公開,解密密鑰私下保存。在得到公鑰的情況下,想要推導(dǎo)出私鑰理論上是不可能的。該類算法的設(shè)計(jì)往往來自復(fù)雜的數(shù)學(xué)難題。代表性算法有基于大數(shù)分解的RSA,基于離散對(duì)數(shù)的DSA,基于橢圓曲線離散對(duì)數(shù)的ECC。

2、 加密算法的安全判定標(biāo)準(zhǔn)

安全性是衡量一個(gè)加密算法優(yōu)劣的首要因素。失去了安全保證,再完善的密碼系統(tǒng)也沒有意義。要保證安全性,一個(gè)加密算法應(yīng)做到以下三點(diǎn):在明文和加密密鑰已知的前提下,可以輕易算出密文;密文和解密密鑰已知的情況下,可輕易算出明文;解密密鑰未知時(shí),由密文推導(dǎo)出明文理論上是不可能的。

關(guān)于加密信息的安全性定義,Shannon提出了通信中的理論安全與實(shí)際安全兩個(gè)概念。理論安全要求在解密密鑰未知的情況下,無論得到多少數(shù)量的密文,由此推測(cè)出明文的可能性與直接猜測(cè)明文是一樣的。Shannon證明要實(shí)現(xiàn)理論安全,必須讓加密密鑰的長(zhǎng)度不小于明文,這在進(jìn)行大規(guī)模數(shù)據(jù)加密時(shí)是難以實(shí)現(xiàn)的。實(shí)際安全是指密文已知而解密密鑰未知的前提下,對(duì)于計(jì)算能力與可用資源有限的破解者,即使使用最佳的破譯算法,也無法在他所需要的有效時(shí)間內(nèi)破解出明文和密碼。我們目前應(yīng)用的加密標(biāo)準(zhǔn),都是基于實(shí)際安全設(shè)計(jì)的。

二、 幾種代表性加密算法

我們?cè)趦深惣用荏w系中,試舉幾種代表性的加密算法,通過對(duì)其特點(diǎn)的比較,解析其優(yōu)點(diǎn)與安全漏洞所在,在此基礎(chǔ)上提出一些解決方案與新的加密思路。

1、對(duì)稱密鑰加密

對(duì)稱密鑰加密算法中最具代表性的是DES算法,該算法的優(yōu)勢(shì)在于機(jī)制簡(jiǎn)單,加密解密迅速,算法公開,可以對(duì)大批量傳輸?shù)臄?shù)據(jù)進(jìn)行加密操作;缺點(diǎn)是密鑰較短(僅有56位),保密系數(shù)不高,且因算法公開,其安全保障主要取決于密鑰的保密程度,因此必須有可靠的信道來傳送密鑰,在有大量用戶的情況下密鑰的分發(fā)和管理會(huì)變得異常復(fù)雜,且不能實(shí)現(xiàn)數(shù)字簽名,因此不適合在開放的網(wǎng)絡(luò)環(huán)境中單獨(dú)使用。

二十多年來DES算法廣泛應(yīng)用于全球貿(mào)易、金融等民用領(lǐng)域,如智能卡(IC卡)與POS機(jī)之間的雙向認(rèn)證、信用卡持卡方PIN的加密傳輸?shù)?。如今該算法的許多缺陷慢慢變得不容忽視,針對(duì)它的解密方法也日漸有效化。針對(duì)該算法密鑰短的缺陷,相關(guān)組織曾經(jīng)提出80位密鑰、雙密鑰(究其效果相當(dāng)于雙倍密鑰長(zhǎng)度)以及三重DES算法。DES在安全性上盡管較為脆弱,但由于芯片的大量生產(chǎn)目前仍在繼續(xù)使用。長(zhǎng)遠(yuǎn)而言,AES將會(huì)取代它,成為新一代的加密標(biāo)準(zhǔn)。

IDEA算法是在1990年公布的一種迭代密碼分組算法,類似于三重DES,密鑰長(zhǎng)度為128位,若干年內(nèi)在并非高度保密的領(lǐng)域仍可適用。由于它只使用逐位異或和模運(yùn)算,因此具有使用軟件實(shí)現(xiàn)和硬件實(shí)現(xiàn)一樣迅速的優(yōu)勢(shì)。

2、公開密鑰加密

我們知道,公鑰加密算法的設(shè)計(jì)都是基于復(fù)雜難解的數(shù)學(xué)難題,其安全性取決于一種特殊函數(shù):?jiǎn)蜗蛳蓍T函數(shù)。這是一種單向函數(shù),在一個(gè)方向上容易計(jì)算,但逆向求值卻異常困難。但如果它的陷門已知,則反向求值也會(huì)十分容易。在公鑰體系中,這個(gè)陷門即是用來解密的私有密鑰。符合以上條件且目前被公認(rèn)為是安全有效的公鑰加密算法有RSA、DSA以及ECC。

RSA是公開密鑰體系中最具典型意義的算法,它的安全性依賴于大數(shù)因子分解的極度困難。RSA加密采用的公鑰和私鑰都是兩個(gè)大素?cái)?shù)的函數(shù),大素?cái)?shù)均要大于100個(gè)十進(jìn)制位,得到密鑰后應(yīng)將兩個(gè)素?cái)?shù)丟棄。RSA也可用于數(shù)字簽名,其公私鑰的使用與加密剛好相反。RSA算法思路簡(jiǎn)潔,易于使用,安全性好,缺點(diǎn)在于產(chǎn)生密鑰較為麻煩,受到大素?cái)?shù)選取的限制,很難做到一次一密,且加密速度太慢,較對(duì)稱密鑰算法要慢上幾個(gè)數(shù)量級(jí)。選取合適的大數(shù)是保障安全性的關(guān)鍵。但是目前還無法從理論上證明破譯RSA的難度與大數(shù)分解等價(jià),也無法確定大數(shù)分解是NPC問題。隨著計(jì)算機(jī)計(jì)算能力的擴(kuò)大以及大數(shù)分解方法的進(jìn)步,對(duì)素?cái)?shù)位數(shù)的要求會(huì)越來越高。RSA實(shí)驗(yàn)室認(rèn)為個(gè)人應(yīng)用要768比特位,公司應(yīng)用要1024比特位以上才有安全保證。

DSA算法基于離散對(duì)數(shù)的數(shù)字簽名標(biāo)準(zhǔn)。它僅僅對(duì)于數(shù)字簽名有用,不能對(duì)數(shù)據(jù)進(jìn)行加密運(yùn)算。

ECC算法基于橢圓曲線離散對(duì)數(shù)運(yùn)算,較之RSA、DSA安全強(qiáng)度更高,在解密和簽名上的計(jì)算速度要快得多,且對(duì)存儲(chǔ)空間和帶寬的要求都較低,將會(huì)在IC卡與無線網(wǎng)絡(luò)領(lǐng)域獲得廣泛應(yīng)用。一般認(rèn)為,ECC技術(shù)一旦被廣泛掌握,ECC算法將會(huì)代替RSA,成為新一代通用的公鑰加密算法。

在以上三種數(shù)學(xué)方法之外,多種數(shù)學(xué)理論被引入公鑰加密算法的研究。如混沌理論,因其蝴蝶效應(yīng)(即對(duì)初始狀態(tài)的極端敏感性)、偽隨機(jī)性、拓樸性,與加密系統(tǒng)有著天然的相似度與聯(lián)系,非常適合應(yīng)用于一次一密的公鑰體系。然而,目前多數(shù)混沌密碼算法發(fā)布不久就被破解,亟待找到更合適的應(yīng)用思路和更優(yōu)良的運(yùn)算模型。

知識(shí)點(diǎn):

對(duì)稱密鑰加密又叫專用密鑰加密,即發(fā)送和接收數(shù)據(jù)的雙方必使用相同的密鑰對(duì)明文進(jìn)行加密和解密運(yùn)算。對(duì)稱密鑰加密算法主要包括:DES、3DES、IDEA、FEAL、BLOWFISH等。