加密可以保證數(shù)據(jù)的保密性,也可用于驗(yàn)證用戶,它是在實(shí)現(xiàn)網(wǎng)絡(luò)安全的重要手段之一。
加密提供以下四種服務(wù):
數(shù)據(jù)保密性:這是使用加密的通常的原因。通過(guò)小心使用數(shù)學(xué)方程式,你可以保證只有你打算接收的人才可以查看它。
數(shù)據(jù)完整性:對(duì)需要更安全來(lái)說(shuō)數(shù)據(jù)保密是不夠的。數(shù)據(jù)仍能夠被非法破解并修改。一種叫HASH的運(yùn)算方法能確定數(shù)據(jù)是否被改過(guò)。
認(rèn)證:數(shù)字簽名提供認(rèn)證服務(wù)。
不可否定性:數(shù)字簽名允許用戶證明一條信息交換確實(shí)發(fā)生過(guò)。金融組織尤其依賴于這種方式的加密,用于電子貨幣交易。
加密強(qiáng)度 加密文件一個(gè)常被討論但又經(jīng)常被誤解的方面是加密強(qiáng)度。
加密強(qiáng)度取決于三個(gè)主要因素:
首先是算法的強(qiáng)度,包括幾個(gè)因素,例如,除了嘗試所有可能的密鑰組合之外的任何方法都不能數(shù)學(xué)的使信息被解密。我們應(yīng)該使用工業(yè)標(biāo)準(zhǔn)的算法,它們已經(jīng)被加密學(xué)專家測(cè)試過(guò)無(wú)數(shù)次,任何一個(gè)新的或個(gè)體的配方將不被信任直到它被商業(yè)的認(rèn)證。
第二個(gè)因素是密鑰的保密性,一個(gè)合乎邏輯但有時(shí)被忽略了的方面,沒(méi)有算法能夠發(fā)揮作用如果密鑰受到損害,因此,數(shù)據(jù)的保密程度直接與密鑰的保密程度相關(guān),注意區(qū)分密鑰和算法,算法不需要保密,被加密的數(shù)據(jù)是先與密鑰共同使用,然后再通過(guò)加密算法。
第三個(gè)因素是密鑰程度,這是最為人所知的一個(gè)方面,根據(jù)加密和解密的應(yīng)用程序,密鑰的長(zhǎng)度是由”位”為單位,在密鑰的長(zhǎng)度上加上一位則相當(dāng)于把可能的密鑰的總數(shù)乘以二倍,簡(jiǎn)單的說(shuō)構(gòu)成一個(gè)任意給定長(zhǎng)度的密鑰的位的可能組合的個(gè)數(shù)可以被表示為2的n次方,這兒的n是一個(gè)密鑰長(zhǎng)度,因此,一個(gè)40位密鑰長(zhǎng)度的配方將是2的40次方或1099511627776種可能的不同的鑰。
盡管可能加密的密鑰的總數(shù)是非常大的,專門(mén)的計(jì)算機(jī)現(xiàn)在可以在不到一天時(shí)間內(nèi)試驗(yàn)許多種密鑰的組合。其實(shí)任何密碼都能破解而無(wú)論它的長(zhǎng)度,想像一下這樣的密鑰利用現(xiàn)代的機(jī)器去破解是多么的快速。簡(jiǎn)單的說(shuō),一個(gè)人或組織在密鑰破解的裝備上花的錢(qián)越多,則密鑰就會(huì)被越快的破解。
建立信任關(guān)系
應(yīng)用加密指的是在主機(jī)之間建立一個(gè)信任關(guān)系。在最基本的級(jí)別上,一個(gè)信任關(guān)系包括一方加密的信息,并只有另一方的合作伙伴可以解密這個(gè)信息。這種任務(wù)是利用公鑰加密來(lái)完成的。這種類型的加密要求你建立一個(gè)私鑰和一個(gè)公鑰。一旦你已經(jīng)產(chǎn)生了一對(duì)密鑰,你可以把公鑰發(fā)布給任何人。
你可以通過(guò)以下兩種方法來(lái)發(fā)布你的公鑰:
手動(dòng):你首先必須和接收方交換公鑰,然后用接收方的公鑰來(lái)加密信息。PGP和S/MIME需要使用這種方法。
自動(dòng):SSL和IPSec通過(guò)一系列的握手可以安全地交換信息。
下面是在加密中一些術(shù)語(yǔ)的簡(jiǎn)單介紹:
對(duì)稱加密
在對(duì)稱加密(或叫單密鑰加密)中,只有一個(gè)密鑰用來(lái)加密和解密信息。盡管單密鑰加密是一個(gè)簡(jiǎn)單的過(guò)程,但是雙方都必須完全的相信對(duì)方,并都持有這個(gè)密鑰的備份。但要達(dá)到這種信任的級(jí)別并不是想像中的那么簡(jiǎn)單。當(dāng)雙方試圖建立信任關(guān)系時(shí)可能一個(gè)安全破壞已經(jīng)發(fā)生了。首先密鑰的傳輸就是一個(gè)重要問(wèn)題,如果它被截取,那么這個(gè)密鑰以及相關(guān)的重要信息就沒(méi)有什么安全可言了。
但是,如果用戶要在公共介質(zhì) (如互聯(lián)網(wǎng)) 上傳遞信息,他需要一種方法來(lái)傳遞密鑰,當(dāng)然物理的發(fā)送和接收密鑰是最安全的,但有時(shí)這是不可能的。一種解決方法就是通過(guò)電子郵件來(lái)發(fā)送,但這樣的信息很容易的被截取到,從而擊破了加密的目的。用戶不能加密包含密鑰的郵件,因?yàn)樗麄儽仨毠蚕砹硪粋(gè)用來(lái)加密含有密鑰郵件的密鑰。這種困境就產(chǎn)生了問(wèn)題:如果對(duì)稱密鑰用它們自己來(lái)加密,那為什么不直接用相同的方法在第一步就使用?一個(gè)解決方案就是用非對(duì)稱加密,我們將在本課的后面提到。
所有類型加密的一個(gè)主題就是破解。一種減少使用對(duì)稱加密所造成的威脅的反措施就是改變密鑰的規(guī)律性。然而,定期改變密鑰經(jīng)常是困難的,尤其是你的公司里有很多用戶。另外,黑客可以使用字典程序,password sniffing來(lái)危及對(duì)稱密鑰的安全,或者通過(guò)搜翻辦公桌,錢(qián)包以及公文包。對(duì)稱加密也很容易被暴力攻擊的手段擊敗。
非對(duì)稱加密
非對(duì)稱加密在加密的過(guò)程中使用一對(duì)密鑰,而不像對(duì)稱加密只使用一個(gè)單獨(dú)的密鑰。一對(duì)密鑰中一個(gè)用于加密,另一個(gè)用來(lái)解密。如用A加密,則用B解密;如果用B加密,則要用A解密。
重要的概念是在這對(duì)密鑰中一個(gè)密鑰用來(lái)公用,另一個(gè)作為私有的密鑰;用來(lái)向外公布的叫做公鑰,另一半需要安全保護(hù)的是私鑰。非對(duì)稱加密的一個(gè)缺點(diǎn)就是加密的速度非常慢,因?yàn)樾枰獜?qiáng)烈的數(shù)學(xué)運(yùn)算程序。如果一個(gè)用戶需要使用非對(duì)稱加密,那么即使比較少量的信息可以也要花上幾個(gè)小時(shí)的時(shí)間。
非對(duì)稱加密的另一個(gè)名稱叫公鑰加密。盡管私鑰和公鑰都有與數(shù)學(xué)相關(guān)的,但從公鑰中確定私鑰的值是非常困難的并且也是非常耗時(shí)的。在互聯(lián)網(wǎng)上通信,非對(duì)稱加密的密鑰管理是容易的因?yàn)楣可以任易的傳播,私鑰必須在用戶手中小心保護(hù)。
HASH加密把一些不同長(zhǎng)度的信息轉(zhuǎn)化成雜亂的128位的編碼里,叫做HASH值。HASH加密用于不想對(duì)信息解密或讀取。使用這種方法解密在理論上是不可能的,是通過(guò)比較兩上實(shí)體的值是否一樣而不用告之其它信息。HASH加密別一種用途是簽名文件。它還可用于當(dāng)你想讓別人檢查但不能復(fù)制信息的時(shí)候。
簽名
信息鑒別的方法可以使信息接收者確定:信息發(fā)送者的身份以及信息在傳送過(guò)程中是否被改動(dòng)過(guò)。如果信息的收發(fā)雙方對(duì)該信息的內(nèi)容及發(fā)送端沒(méi)有爭(zhēng)執(zhí)的話,那么只采用鑒別技術(shù)也就足夠了。鑒別技術(shù)可以保證在信息傳送過(guò)程中對(duì)信息內(nèi)容的任何改動(dòng)都可以被檢測(cè)出來(lái),并且能夠正確的鑒別出信息發(fā)送方的身份。但是,當(dāng)信息的收發(fā)方對(duì)信息的內(nèi)容及發(fā)送端產(chǎn)生爭(zhēng)執(zhí)時(shí),只用鑒別技術(shù)就不夠了。
收方可以偽造一份信息,從中獲得非法利益,并且自稱該信息是由發(fā)送方發(fā)過(guò)來(lái)的。例如,銀行通過(guò)通信網(wǎng)絡(luò)傳送一張支票,收方就可以對(duì)支票數(shù)額進(jìn)行改動(dòng),并且聲稱他已收到了這張支票。利用前面的鑒別技術(shù)絲毫也解決不了這個(gè)問(wèn)題,因?yàn)殍b別使用了一個(gè)收/發(fā)雙方共享的秘密密鑰,這樣才能是發(fā)放產(chǎn)生一個(gè)鑒別碼而接收方又能對(duì)該鑒別碼進(jìn)行校驗(yàn)。但是收方也能對(duì)他偽造的信息產(chǎn)生一個(gè)合法的鑒別碼,這給整個(gè)系統(tǒng)帶來(lái)嚴(yán)重的安全問(wèn)題。
在許多情況下,特別是商業(yè)系統(tǒng)中,通常都利用書(shū)面文件來(lái)規(guī)定契約性的責(zé)任,雖然鑒別技術(shù)可以完全有效的防止第三者的介入,但是卻絲毫不能防止接收者的偽造。問(wèn)題的另一方面是發(fā)送方可能是不誠(chéng)實(shí)的,由于他發(fā)送的信息變得對(duì)他很不利,而要逃避責(zé)任,那么發(fā)送方就可能謊稱他從未發(fā)過(guò)這個(gè)信息。在整個(gè)爭(zhēng)執(zhí)過(guò)程中,第三方也無(wú)法分辨那種情況是真實(shí)的。
為了解決上述問(wèn)題,就必須利用另外一種安全技術(shù)----數(shù)字簽名。簽名必須達(dá)到如下效果:在信息通信的過(guò)程中,接收方能夠?qū)牡谌剑ǹ梢允请p方事前統(tǒng)一委托其解決某一問(wèn)題或某一爭(zhēng)執(zhí)的仲裁者)證明其收到的報(bào)文內(nèi)容是真實(shí)的,而且確實(shí)是由那個(gè)發(fā)送方發(fā)過(guò)來(lái)的,同時(shí)簽名還必須保證發(fā)送方發(fā)送后不能根據(jù)自己的利益否認(rèn)他所發(fā)送過(guò)的報(bào)文,而收方也不能根據(jù)自己的利益來(lái)偽造報(bào)文或簽名。
對(duì)于數(shù)字簽名的產(chǎn)生過(guò)程來(lái)說(shuō),必須有足夠的信息才能對(duì)報(bào)文和簽名進(jìn)行驗(yàn)證,沒(méi)有足夠的信息就會(huì)給偽造或否認(rèn)報(bào)文提供可乘之機(jī)。但是收發(fā)雙方用來(lái)產(chǎn)生與校驗(yàn)的簽名的信息不能完全相同,因?yàn)橐坏┙邮辗侥軌蛴冒l(fā)送方用來(lái)產(chǎn)生簽名的相同信息(算法和參數(shù))來(lái)證實(shí)報(bào)文和簽名,那么收方同樣也能夠用它來(lái)偽造報(bào)文和簽名。所以簽名產(chǎn)生者與簽名證實(shí)者之間的相同信息絕對(duì)不能太多。如果發(fā)送方事后擔(dān)心接收方否認(rèn)接收到了他所發(fā)送的報(bào)文,那么發(fā)送方應(yīng)能夠請(qǐng)求獲得報(bào)文證明,也就是說(shuō)由接收方對(duì)發(fā)送方提供收到報(bào)文的證據(jù)。例如,如果甲方把報(bào)文發(fā)送給乙方,那么乙方就要向甲方發(fā)送一份簽了名的報(bào)文證明收到了,由于這份報(bào)文有乙方的簽名,所以乙方是不能抵賴他所收到的報(bào)文的。
隨著信息經(jīng)濟(jì)和知識(shí)經(jīng)濟(jì)的迅猛發(fā)展,無(wú)紙辦公徹底改變了過(guò)去手工操作的各種不便,顯得更安全、更有效、更迅速、更簡(jiǎn)潔、更方便。數(shù)字簽名以其獨(dú)特的優(yōu)勢(shì)適應(yīng)了這種發(fā)展,在無(wú)紙辦公中占有十分重要的地位。例如,對(duì)公司內(nèi)部有下級(jí)呈給上級(jí)請(qǐng)求批閱的公文 在以往只需領(lǐng)導(dǎo)大筆一揮簽名蓋章,以個(gè)人的筆跡來(lái)證明其真實(shí)性。但手寫(xiě)的文件簽名非常容易偽造。除此之外,簽名者還可以否認(rèn)簽名,宣稱它是偽造的。但在無(wú)紙辦公年代,計(jì)算機(jī)網(wǎng)絡(luò)中傳送的電子公文又如何蓋章呢?又如何來(lái)證明簽名的真實(shí)性呢?這就是——數(shù)字簽名。