淺析網(wǎng)絡(luò)通信中數(shù)據(jù)加密技術(shù)的應(yīng)用

處在信息時(shí)代的今天,我們享受著?Internet?帶給我們的便利和快捷的同時(shí),也同時(shí)面臨著巨大的威脅,特別是在電子商務(wù)大行其道的今天,數(shù)據(jù)安全問題顯得更加嚴(yán)峻,那計(jì)算機(jī)是怎么保證數(shù)據(jù)在傳輸過(guò)程中的數(shù)據(jù)安全呢?下面簡(jiǎn)單介紹一下數(shù)據(jù)加密在數(shù)據(jù)通信中應(yīng)用。

網(wǎng)絡(luò)通信的數(shù)據(jù)安全包括數(shù)據(jù)傳輸?shù)陌踩?、?shù)據(jù)的完整性、身份驗(yàn)證、不可抵賴性等幾個(gè)方面。數(shù)據(jù)傳輸?shù)陌踩约词且WC在公網(wǎng)上傳輸?shù)臄?shù)據(jù)不被第三方竊??;對(duì)數(shù)據(jù)的完整性需求是指數(shù)據(jù)在傳輸過(guò)程中不被篡改;身份驗(yàn)證是指由于網(wǎng)上的通信雙方互不見面?!?必須在相互通信時(shí)?(?交換敏感信息時(shí)?)?確認(rèn)對(duì)方的真實(shí)身份;不可抵賴性是指在網(wǎng)上開展業(yè)務(wù)的各方在進(jìn)行數(shù)據(jù)傳輸時(shí)?!?必須帶有自身特有的?,?無(wú)法被別人復(fù)制的信息?!?以保證發(fā)生糾紛時(shí)有所對(duì)證。那怎么保證這么功能的實(shí)現(xiàn)呢?最好的辦法就是使用加密技術(shù)。

淺析網(wǎng)絡(luò)通信中數(shù)據(jù)加密技術(shù)的應(yīng)用

加密技術(shù)

加密技術(shù)簡(jiǎn)單可以分為單向加密、對(duì)稱加密和非對(duì)稱加密。

單向加密:

單向加密又叫非可逆加密,準(zhǔn)確的說(shuō)他不是一種加密技術(shù),而是一種信息摘要技術(shù)。他是通過(guò)安全的單向散列函數(shù)(Secure Hash?)作用于一段數(shù)據(jù)來(lái)提取該段數(shù)據(jù)的特征碼從而驗(yàn)證數(shù)據(jù)的完整性。他具有以下特征:

1)變長(zhǎng)輸入,定長(zhǎng)輸出

它能處理任意大小的信息并將其按信息摘要方法生成固定大小的數(shù)據(jù)塊對(duì)同一個(gè)源數(shù)據(jù)反復(fù)執(zhí)行?Secure??Hash?函數(shù)將總是得到同樣的結(jié)果。

2)不可逆性

它是完全不可逆的,沒有辦法通過(guò)生成的數(shù)據(jù)塊直接恢復(fù)源數(shù)據(jù)。

3)??雪崩效應(yīng)

它是不可預(yù)見的,產(chǎn)生的數(shù)據(jù)塊的大小與原始信息的大小沒有任何聯(lián)系同時(shí)源數(shù)據(jù)和產(chǎn)生的數(shù)據(jù)塊看起來(lái)也沒有明顯關(guān)系,源信息的一個(gè)微小變化都會(huì)對(duì)小數(shù)據(jù)塊產(chǎn)生很大的影響,使其發(fā)生很多的變化。

常用的信息摘要算法有?BASE64?、?MD5?、?SHA-1?等。

MD5 -- message-digest algorithm 5?(信息?-?摘要算法)縮寫,廣泛用于加密和解密技術(shù),常用于文件校驗(yàn)。校不管文件多大,經(jīng)過(guò)?MD5?后都能生成唯一的?MD5?值。好比現(xiàn)在的?ISO?校驗(yàn),都是?MD5?校驗(yàn)。把?ISO?經(jīng)過(guò)?MD5?后產(chǎn)生MD5?的值。一般下載?ISO?文件的下載鏈接旁邊放著?MD5?的串。就是用來(lái)驗(yàn)證文件是否一致的。

對(duì)稱加密

對(duì)稱密鑰加密又被稱為私鑰加密?!?它使用同一組鑰匙對(duì)消息進(jìn)行加密和解密?"?因此消息的接收者和發(fā)送者必須擁有一組相同的密鑰。在私鑰加密體?!?比較有名的加密算法是?DES?、?3DES?、?AES?、?BlowFish?、?CAST?等,其中比價(jià)常用的用3DES?和?AES?。

非對(duì)稱加密

非對(duì)稱密鑰加密又被稱為公開密鑰加密體制,是由?Whitfield Diffie?和?Martin Hellman?在?1976?年提出?.?其加密機(jī)制是,每個(gè)人擁有一對(duì)密鑰,一個(gè)稱為公開密鑰,另一個(gè)稱為秘密密鑰。這兩個(gè)密鑰是數(shù)學(xué)相關(guān)的,公開密鑰是公開信息,秘密密鑰由用戶自己保存。在這種體制中,加密和解密使用不同的密鑰,因此,發(fā)送者和接收者不再需要共享一個(gè)秘密,即在通信的全部過(guò)程中不需要傳送秘密密鑰。

介紹完基本概念了,那怎么把加密技術(shù)運(yùn)用用數(shù)據(jù)安全之中呢?

數(shù)據(jù)在網(wǎng)上傳遞的時(shí)候?yàn)榱朔乐贡蝗舜鄹?,我們可以使用單向加密算法提取?shù)據(jù)的特征碼。這就好比提取一個(gè)人的指紋信息,因?yàn)閱蜗蚣用芗夹g(shù)的特點(diǎn),我們提取的特征碼就好比這段數(shù)據(jù)的指紋,在現(xiàn)實(shí)社會(huì)中我們?cè)趺磁袛嘁粋€(gè)指紋是不是某個(gè)人的呢,那就拿這個(gè)人的指紋對(duì)比一下,同理,接收方怎么驗(yàn)證數(shù)據(jù)是否被修改呢?使用同樣的信息摘要算法重新計(jì)算一下與發(fā)送方發(fā)送過(guò)來(lái)的特征碼做比較,一致即表示信息是完整的。這是又會(huì)存在一個(gè)問題,那就是如果黑客截取了這段數(shù)據(jù)重新計(jì)算一下在發(fā)生過(guò)去怎么辦呢?

這時(shí)我們就需要對(duì)整段數(shù)據(jù)進(jìn)行加密了,這是用什么加密呢?非對(duì)稱加密?太慢了,如果你的機(jī)子性能太差估計(jì)你加密完那邊就要抓狂了,那就對(duì)稱加密吧!但是如果是第一次通信,那我們?cè)趺垂蚕砻荑€呢,難不成我專門那個(gè)優(yōu)盤考給你一個(gè),那估計(jì)你就崩潰了,這怎么辦呢,那就用非對(duì)稱加密,只對(duì)對(duì)稱加密的密鑰進(jìn)行加密吧,雖然公鑰加密的數(shù)度慢,但總是安全啊,咱不能對(duì)大的數(shù)據(jù)進(jìn)行加密,一個(gè)小的密鑰還是沒問題的吧。

對(duì)了這里要特別強(qiáng)調(diào)用誰(shuí)的公鑰加密,如果你給小?A?發(fā)送一段數(shù)據(jù),結(jié)果用自己的公鑰加密了對(duì)稱加密的密鑰,你總不能把自己的私鑰告訴小?A?吧,否則小?A?怎么解密這個(gè)密鑰呢,但是如果你給,估計(jì)你就傻了,如果小?A?人品好還行,否則后果你自己想把。所以在這里發(fā)送方要使用接受方的公鑰加密,這樣除了接收方用自己的私鑰才能解密,其他人想都別想(在這里希望小?A?保存好自己的私鑰不要亂扔?。。?/p>

到了這里我們已經(jīng)可以基本保證我們傳輸?shù)臄?shù)據(jù)的完整性和安全性了,別人想要篡改或是查看那就是很難地。但是這里還有一個(gè)重要問題,就是數(shù)據(jù)傳送是安全了,但是怎么防止對(duì)方抵賴呢。我們上面用的加密算法都是保證數(shù)據(jù)的傳輸安全的,可是如果發(fā)送方抵賴真正辦呢,好吧讓他簽字畫押。剛才介紹過(guò)非對(duì)稱加密有一對(duì)密鑰對(duì),公鑰加密私鑰解密,私鑰加密公鑰解密,私鑰只用你自己知道。

如果我用你的公鑰能解密,那就一定是你發(fā)的數(shù)據(jù)了(什么你的私鑰丟了?那個(gè)你的錢包丟了人家把你的卡里的錢花光了,商場(chǎng)會(huì)退給你錢嗎,當(dāng)然不會(huì),所以請(qǐng)保存好它?.?)那我對(duì)什么加密呢,數(shù)據(jù)太大是加密不了,對(duì)稱密鑰又由對(duì)方的公鑰加密了,就剩下一個(gè)數(shù)據(jù)的“指紋?”?了,而且還不大,太完美了,就它了。好吧這下你放心了吧,我不能抵賴了,看我都簽字了,這就是所謂的數(shù)字簽名了。

現(xiàn)在貌似一切都搞定了,可是還有一個(gè)問題,什么問題呢???如果,如果小?A?被冒名頂替了怎么辦。

小?B?:你說(shuō)你是小?A?你就是小?A?啊,怎么證明你不是小?h?呢,我都沒見過(guò)你。

小?A?:我不是給你我的公鑰了嗎?這還不能證明?。?/p>

小?B?:什么你給我公鑰了,你有公鑰就是小?A?了,那公鑰要是假的呢,現(xiàn)在啥東西不能造假啊。

小?A?:好吧,你說(shuō)要我怎么證明,你才相信。

小?B?:你去派出所開個(gè)證明,

小?A?:派出所?網(wǎng)上哪有派出所???

小?B?:你這人怎么沒一點(diǎn)幽默感呢,派出所就是?CA?啊,你不會(huì)連著都不知道吧。

小?A?:?ooo

小?A?拿著自己的個(gè)人信息到?CA?認(rèn)證中心,讓?CA?證明他就是小?A?,?CA?經(jīng)過(guò)一番調(diào)查發(fā)現(xiàn)信息屬實(shí),就把小?A?提供的信息整理了一下,加上小?A?的公鑰和?CA?自己私鑰加密生產(chǎn)的簽名弄到一起做了一個(gè)證明給了小?A?(這就是證書),然后發(fā)給小?B?,小?B?用?CA?的發(fā)給的自己的證書一對(duì)發(fā)現(xiàn)沒錯(cuò),就相信這個(gè)小?A?就是真的小?A?了,這時(shí)小?A?也不干了,讓小?B?也去開證明,結(jié)果小?B?也去?CA?辦了一個(gè)證明?,F(xiàn)在他們終于可以安全的通信了……