關(guān)于網(wǎng)絡(luò)數(shù)據(jù)加密技術(shù)的介紹
關(guān)于網(wǎng)絡(luò)數(shù)據(jù)加密技術(shù)的介紹
最近有網(wǎng)友想了解下網(wǎng)絡(luò)數(shù)據(jù)加密技術(shù),所以學(xué)習(xí)啦小編就整理了相關(guān)資料分享給大家,具體內(nèi)容如下.希望大家參考參考!!!
網(wǎng)絡(luò)數(shù)據(jù)加密技術(shù)
所謂數(shù)據(jù)加密(Data Encryption)技術(shù)是指將一個(gè)信息(或稱明文,plain text)經(jīng)過(guò)加密鑰匙(Encryption key)及加密函數(shù)轉(zhuǎn)換,變成無(wú)意義的密文(cipher text),而接收方則將此密文經(jīng)過(guò)解密函數(shù)、解密鑰匙(Decryption key)還原成明文。加密技術(shù)是網(wǎng)絡(luò)安全技術(shù)的基石。
簡(jiǎn)介
密碼技術(shù)是通信雙方按約定的法則進(jìn)行信息特殊變換的一種保密技術(shù)。根據(jù)特定的法 則,變明文(Plaintext)為密文(Ciphertext)。從明文變成密文的過(guò)程稱為加密(Encryption); 由密文恢復(fù)出原明文的過(guò)程,稱為解密(Decryption)。密碼在早期僅對(duì)文字或數(shù)碼進(jìn)行加、 解密,隨著通信技術(shù)的發(fā)展,對(duì)語(yǔ)音、圖像、數(shù)據(jù)等都可實(shí)施加、解密變換。密碼學(xué)是由密碼編碼學(xué)和密碼分析學(xué)組成的,其中密碼編碼學(xué)主要研究對(duì)信息進(jìn)行編碼以實(shí)現(xiàn)信息隱蔽,而密碼分析學(xué)主要研究通過(guò)密文獲取對(duì)應(yīng)的明文信息。密碼學(xué)研究密碼理論、密碼算 法、密碼協(xié)議、密碼技術(shù)和密碼應(yīng)用等。 隨著密碼學(xué)的不斷成熟,大量密碼產(chǎn)品應(yīng)用于國(guó)計(jì)民生中,如USB Key、PIN EntryDevice、 RFID 卡、銀行卡等。廣義上講,包含密碼功能的應(yīng)用產(chǎn)品也是密碼產(chǎn)品,如各種物聯(lián)網(wǎng)產(chǎn) 品,它們的結(jié)構(gòu)與計(jì)算機(jī)類似,也包括運(yùn)算、控制、存儲(chǔ)、輸入輸出等部分。密碼芯片是密碼產(chǎn)品安全性的關(guān)鍵,它通常是由系統(tǒng)控制模塊、密碼服務(wù)模塊、存儲(chǔ)器控制模塊、功 能輔助模塊、通信模塊等關(guān)鍵部件構(gòu)成的。
數(shù)據(jù)加密技術(shù)要求只有在指定的用戶或網(wǎng)絡(luò)下,才能解除密碼而獲得原來(lái)的數(shù)據(jù),這就需要給數(shù)據(jù)發(fā)送方和接受方以一些特殊的信息用于加解密,這就是所謂的密鑰。其密鑰的值是從大量的隨機(jī)數(shù)中選取的。按加密算法分為專用密鑰和公開(kāi)密鑰兩種。
分類
專用密鑰
專用密鑰,又稱為對(duì)稱密鑰或單密鑰,加密和解密時(shí)使用同一個(gè)密鑰,即同一個(gè)算法。如DES和MIT的Kerberos算法。單密鑰是最簡(jiǎn)單方式,通信雙方必須交換彼此密鑰,當(dāng)需給對(duì)方發(fā)信息時(shí),用自己的加密密鑰進(jìn)行加密,而在接收方收到數(shù)據(jù)后,用對(duì)方所給的密鑰進(jìn)行解密。當(dāng)一個(gè)文本要加密傳送時(shí),該文本用密鑰加密構(gòu)成密文,密文在信道上傳送,收到密文后用同一個(gè)密鑰將密文解出來(lái),形成普通文體供閱讀。在對(duì)稱密鑰中,密鑰的管理極為重要,一旦密鑰丟失,密文將無(wú)密可保。這種方式在與多方通信時(shí)因?yàn)樾枰4婧芏嗝荑€而變得很復(fù)雜,而且密鑰本身的安全就是一個(gè)問(wèn)題。
對(duì)稱密鑰
對(duì)稱密鑰是最古老的,一般說(shuō)“密電碼”采用的就是對(duì)稱密鑰。由于對(duì)稱密鑰運(yùn)算量小、速度快、安全強(qiáng)度高,因而如今仍廣泛被采用。
DES是一種數(shù)據(jù)分組的加密算法,它將數(shù)據(jù)分成長(zhǎng)度為64位的數(shù)據(jù)塊,其中8位用作奇偶校驗(yàn),剩余的56位作為密碼的長(zhǎng)度。第一步將原文進(jìn)行置換,得到64位的雜亂無(wú)章的數(shù)據(jù)組;第二步將其分成均等兩段;第三步用加密函數(shù)進(jìn)行變換,并在給定的密鑰參數(shù)條件下,進(jìn)行多次迭代而得到加密密文。
公開(kāi)密鑰
公開(kāi)密鑰,又稱非對(duì)稱密鑰,加密和解密時(shí)使用不同的密鑰,即不同的算法,雖然兩者之間存在一定的關(guān)系,但不可能輕易地從一個(gè)推導(dǎo)出另一個(gè)。有一把公用的加密密鑰,有多把解密密鑰,如RSA算法。
非對(duì)稱密鑰由于兩個(gè)密鑰(加密密鑰和解密密鑰)各不相同,因而可以將一個(gè)密鑰公開(kāi),而將另一個(gè)密鑰保密,同樣可以起到加密的作用。
在這種編碼過(guò)程中,一個(gè)密碼用來(lái)加密消息,而另一個(gè)密碼用來(lái)解密消息。在兩個(gè)密鑰中有一種關(guān)系,通常是數(shù)學(xué)關(guān)系。公鑰和私鑰都是一組十分長(zhǎng)的、數(shù)字上相關(guān)的素?cái)?shù)(是另一個(gè)大數(shù)字的因數(shù))。有一個(gè)密鑰不足以翻譯出消息,因?yàn)橛靡粋€(gè)密鑰加密的消息只能用另一個(gè)密鑰才能解密。每個(gè)用戶可以得到唯一的一對(duì)密鑰,一個(gè)是公開(kāi)的,另一個(gè)是保密的。公共密鑰保存在公共區(qū)域,可在用戶中傳遞,甚至可印在報(bào)紙上面。而私鑰必須存放在安全保密的地方。任何人都可以有你的公鑰,但是只有你一個(gè)人能有你的私鑰。它的工作過(guò)程是:“你要我聽(tīng)你的嗎?除非你用我的公鑰加密該消息,我就可以聽(tīng)你的,因?yàn)槲抑罌](méi)有別人在偷聽(tīng)。只有我的私鑰(其他人沒(méi)有)才能解密該消息,所以我知道沒(méi)有人能讀到這個(gè)消息。我不必?fù)?dān)心大家都有我的公鑰,因?yàn)樗荒苡脕?lái)解密該消息。”
公開(kāi)密鑰的加密機(jī)制雖提供了良好的保密性,但難以鑒別發(fā)送者,即任何得到公開(kāi)密鑰的人都可以生成和發(fā)送報(bào)文。數(shù)字簽名機(jī)制提供了一種鑒別方法,以解決偽造、抵賴、冒充和篡改等問(wèn)題。
非對(duì)稱加密技術(shù)
數(shù)字簽名一般采用非對(duì)稱加密技術(shù)(如RSA),通過(guò)對(duì)整個(gè)明文進(jìn)行某種變換,得到一個(gè)值,作為核實(shí)簽名。接收者使用發(fā)送者的公開(kāi)密鑰對(duì)簽名進(jìn)行解密運(yùn)算,如其結(jié)果為明文,則簽名有效,證明對(duì)方的身份是真實(shí)的。當(dāng)然,簽名也可以采用多種方式,例如,將簽名附在明文之后。數(shù)字簽名普遍用于銀行、電子貿(mào)易等。
數(shù)字簽名不同于手寫簽字:數(shù)字簽名隨文本的變化而變化,手寫簽字反映某個(gè)人個(gè)性特征,是不變的;數(shù)字簽名與文本信息是不可分割的,而手寫簽字是附加在文本之后的,與文本信息是分離的。
值得注意的是,能否切實(shí)有效地發(fā)揮加密機(jī)制的作用,關(guān)鍵的問(wèn)題在于密鑰的管理,包括密鑰的生存、分發(fā)、安裝、保管、使用以及作廢全過(guò)程。
加密技術(shù)
概述
在常規(guī)密碼中,收信方和發(fā)信方使用相同的密鑰,即加密密鑰和解密密鑰是相同或等價(jià)的。比較著名的常規(guī)密碼算法有:美國(guó)的DES及其各種變形,比如Triple DES、GDES、New DES和DES的前身Lucifer;歐洲的IDEA;日本的FEAL?N、LOKI?91、Skipjack、RC4、RC5以及以代換密碼和轉(zhuǎn)輪密碼為代表的古典密碼等。在眾多的常規(guī)密碼中影響最大的是DES密碼。
常規(guī)密碼的優(yōu)點(diǎn)是有很強(qiáng)的保密強(qiáng)度,且經(jīng)受住時(shí)間的檢驗(yàn)和攻擊,但其密鑰必須通過(guò)安全的途徑傳送。因此,其密鑰管理成為系統(tǒng)安全的重要因素。
在公鑰密碼中,收信方和發(fā)信方使用的密鑰互不相同,而且?guī)缀醪豢赡軓募用苊荑€推導(dǎo)解密密鑰。比較著名的公鑰密碼算法有:RSA、背包密碼、McEliece密碼、Diffe?Hellman、Rabin、Ong?Fiat?Shamir、零知識(shí)證明的算法、橢圓曲線、EIGamal算法等等。最有影響的公鑰密碼算法是RSA,它能抵抗到目前為止已知的所有密碼攻擊。
公鑰密碼的優(yōu)點(diǎn)是可以適應(yīng)網(wǎng)絡(luò)的開(kāi)放性要求,且密鑰管理問(wèn)題也較為簡(jiǎn)單,尤其可方便的實(shí)現(xiàn)數(shù)字簽名和驗(yàn)證。但其算法復(fù)雜,加密數(shù)據(jù)的速率較低。盡管如此,隨著現(xiàn)代電子技術(shù)和密碼技術(shù)的發(fā)展,公鑰密碼算法將是一種很有前途的網(wǎng)絡(luò)安全加密體制。
當(dāng)然在實(shí)際應(yīng)用中人們通常將常規(guī)密碼和公鑰密碼結(jié)合在一起使用,比如:利用DES或者IDEA來(lái)加密信息,而采用RSA來(lái)傳遞會(huì)話密鑰。如果按照每次加密所處理的比特來(lái)分類,可以將加密算法分為序列密碼和分組密碼。前者每次只加密一個(gè)比特而后者則先將信息序列分組,每次處理一個(gè)組。
密碼技術(shù)是網(wǎng)絡(luò)安全最有效的技術(shù)之一。一個(gè)加密網(wǎng)絡(luò),不但可以防止非授權(quán)用戶的搭線竊聽(tīng)和入網(wǎng),而且也是對(duì)付惡意軟件的有效方法之一。
一般的數(shù)據(jù)加密可以在通信的三個(gè)層次來(lái)實(shí)現(xiàn):鏈路加密、節(jié)點(diǎn)加密和端到端加密。
鏈路加密
對(duì)于在兩個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)間的某一次通信鏈路,鏈路加密能為網(wǎng)上傳輸?shù)臄?shù)據(jù)提供安全保證。對(duì)于鏈路加密(又稱在線加密),所有消息在被傳輸之前進(jìn)行加密,在每一個(gè)節(jié)點(diǎn)對(duì)接收到的消息進(jìn)行解密,然后先使用下一個(gè)鏈路的密鑰對(duì)消息進(jìn)行加密,再進(jìn)行傳輸。在到達(dá)目的地之前,一條消息可能要經(jīng)過(guò)許多通信鏈路的傳輸。
由于在每一個(gè)中間傳輸節(jié)點(diǎn)消息均被解密后重新進(jìn)行加密,因此,包括路由信息在內(nèi)的鏈路上的所有數(shù)據(jù)均以密文形式出現(xiàn)。這樣,鏈路加密就掩蓋了被傳輸消息的源點(diǎn)與終點(diǎn)。由于填充技術(shù)的使用以及填充字符在不需要傳輸數(shù)據(jù)的情況下就可以進(jìn)行加密,這使得消息的頻率和長(zhǎng)度特性得以掩蓋,從而可以防止對(duì)通信業(yè)務(wù)進(jìn)行分析。
盡管鏈路加密在計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境中使用得相當(dāng)普遍,但它并非沒(méi)有問(wèn)題。鏈路加密通常用在點(diǎn)對(duì)點(diǎn)的同步或異步線路上,它要求先對(duì)在鏈路兩端的加密設(shè)備進(jìn)行同步,然后使用一種鏈模式對(duì)鏈路上傳輸?shù)臄?shù)據(jù)進(jìn)行加密。這就給網(wǎng)絡(luò)的性能和可管理性帶來(lái)了副作用。
在線路/信號(hào)經(jīng)常不通的海外或衛(wèi)星網(wǎng)絡(luò)中,鏈路上的加密設(shè)備需要頻繁地進(jìn)行同步,帶來(lái)的后果是數(shù)據(jù)丟失或重傳。另一方面,即使僅一小部分?jǐn)?shù)據(jù)需要進(jìn)行加密,也會(huì)使得所有傳輸數(shù)據(jù)被加密。
在一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),鏈路加密僅在通信鏈路上提供安全性,消息以明文形式存在,因此所有節(jié)點(diǎn)在物理上必須是安全的,否則就會(huì)泄漏明文內(nèi)容。然而保證每一個(gè)節(jié)點(diǎn)的安全性需要較高的費(fèi)用,為每一個(gè)節(jié)點(diǎn)提供加密硬件設(shè)備和一個(gè)安全的物理環(huán)境所需要的費(fèi)用由以下幾部分組成:保護(hù)節(jié)點(diǎn)物理安全的雇員開(kāi)銷,為確保安全策略和程序的正確執(zhí)行而進(jìn)行審計(jì)時(shí)的費(fèi)用,以及為防止安全性被破壞時(shí)帶來(lái)?yè)p失而參加保險(xiǎn)的費(fèi)用。
在傳統(tǒng)的加密算法中,用于解密消息的密鑰與用于加密的密鑰是相同的,該密鑰必須被秘密保存,并按一定規(guī)則進(jìn)行變化。這樣,密鑰分配在鏈路加密系統(tǒng)中就成了一個(gè)問(wèn)題,因?yàn)槊恳粋€(gè)節(jié)點(diǎn)必須存儲(chǔ)與其相連接的所有鏈路的加密密鑰,這就需要對(duì)密鑰進(jìn)行物理傳送或者建立專用網(wǎng)絡(luò)設(shè)施。而網(wǎng)絡(luò)節(jié)點(diǎn)地理分布的廣闊性使得這一過(guò)程變得復(fù)雜,同時(shí)增加了密鑰連續(xù)分配時(shí)的費(fèi)用。
節(jié)點(diǎn)加密
盡管節(jié)點(diǎn)加密能給網(wǎng)絡(luò)數(shù)據(jù)提供較高的安全性,但它在操作方式上與鏈路加密是類似的:兩者均在通信鏈路上為傳輸?shù)南⑻峁┌踩?都在中間節(jié)點(diǎn)先對(duì)消息進(jìn)行解密,然后進(jìn)行加密。因?yàn)橐獙?duì)所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,所以加密過(guò)程對(duì)用戶是透明的。
然而,與鏈路加密不同,節(jié)點(diǎn)加密不允許消息在網(wǎng)絡(luò)節(jié)點(diǎn)以明文形式存在,它先把收到的消息進(jìn)行解密,然后采用另一個(gè)不同的密鑰進(jìn)行加密,這一過(guò)程是在節(jié)點(diǎn)上的一個(gè)安全模塊中進(jìn)行。
節(jié)點(diǎn)加密要求報(bào)頭和路由信息以明文形式傳輸,以便中間節(jié)點(diǎn)能得到如何處理消息的信息。因此這種方法對(duì)于防止攻擊者分析通信業(yè)務(wù)是脆弱的。
端到端加密
端到端加密允許數(shù)據(jù)在從源點(diǎn)到終點(diǎn)的傳輸過(guò)程中始終以密文形式存在。采用端到端加密(又稱脫線加密或包加密),消息在被傳輸時(shí)到達(dá)終點(diǎn)之前不進(jìn)行解密,因?yàn)橄⒃谡麄€(gè)傳輸過(guò)程中均受到保護(hù),所以即使有節(jié)點(diǎn)被損壞也不會(huì)使消息泄露。
端到端加密系統(tǒng)的價(jià)格便宜些,并且與鏈路加密和節(jié)點(diǎn)加密相比更可靠,更容易設(shè)計(jì)、實(shí)現(xiàn)和維護(hù)。端到端加密還避免了其它加密系統(tǒng)所固有的同步問(wèn)題,因?yàn)槊總€(gè)報(bào)文包均是獨(dú)立被加密的,所以一個(gè)報(bào)文包所發(fā)生的傳輸錯(cuò)誤不會(huì)影響后續(xù)的報(bào)文包。此外,從用戶對(duì)安全需求的直覺(jué)上講,端到端加密更自然些。單個(gè)用戶可能會(huì)選用這種加密方法,以便不影響網(wǎng)絡(luò)上的其他用戶,此方法只需要源和目的節(jié)點(diǎn)是保密的即可。
端到端加密系統(tǒng)通常不允許對(duì)消息的目的地址進(jìn)行加密,這是因?yàn)槊恳粋€(gè)消息所經(jīng)過(guò)的節(jié)點(diǎn)都要用此地址來(lái)確定如何傳輸消息。由于這種加密方法不能掩蓋被傳輸消息的源點(diǎn)與終點(diǎn),因此它對(duì)于防止攻擊者分析通信業(yè)務(wù)是脆弱的。