淺析加密技術(shù)在現(xiàn)代互聯(lián)網(wǎng)上的應用

現(xiàn)代的加密技術(shù)主要有三種:對稱加密,非對稱加密,單項加密。

這三種加密解密技術(shù)的組合就是現(xiàn)在電子商務的基礎,它們?nèi)齻€有各自最適應的領域,而且所要完成的功能也是不同的,大家都知道,只要我們連上互聯(lián)網(wǎng),那么我們就相當于是大門洞開,我們的一些隱私,跟其他人對話內(nèi)容等都可能會被人竊取到,最常見的比如man in the middle(中間人),它主要是因為雙方身份無法驗證的時候會話被劫持造成的,就是說通信雙方都以為是在跟對方交流,其實內(nèi)容都可能已經(jīng)被這個“中間人”修改過了,一些重要的信息也被這個“中間人”所獲得,這對于現(xiàn)在的電子商務來說是致命的,所以我們必須找到一種解決方案來解決這個問題。

淺析加密技術(shù)在現(xiàn)代互聯(lián)網(wǎng)上的應用

對稱加密:指的是加密方和解密方使用的是同一個密鑰,其優(yōu)點是加密和解密的速度很快;但是如果兩個從未通信過的用戶要進行通信的時候,該如何把解密的密鑰傳輸給對方呢(密鑰仍然要在網(wǎng)絡上傳輸,所以密鑰還是可能會被“中間人”截獲),這是對稱加密最大的缺點;常見的對稱加密算法有:

DES:使用56位的密鑰,2000年的時候被人破解了,所以現(xiàn)在基本不再使用。

AES:高級加密標準,可以使用128,192,256三種不同長度密鑰。

其他的還有blowfish,Twofish和RC6,IDEA(商業(yè)算法),CAST5等。

非對稱加密:非對稱加密方式解決了對稱加密的“軟肋”,它的加密和解密密鑰是不同的,比如對一組數(shù)字加密,我們可以用公鑰對其加密,然后我們想將其還原,就必須用私鑰解密,并且公鑰和私鑰是配對使用的(讀者可以把其想像成一把鑰匙一把鎖的關(guān)系),常見的非對稱加密算法有:

RSA:既可以用來加密解密,又可以用來實現(xiàn)用戶認證。

DSA:只能用來加密解密,所以使用范圍沒有RSA廣。

非對稱加密的長度通常有512,1024,2048,4096位,最常用的就是2048bit,長度固然可以增加安全性但是需要花費很長時間來進行加密/解密,和對稱加密相比來說,加密/解密的時間差不多是對稱加密的1000倍,所以我們通常用其作為用戶認證,用對稱加密來實現(xiàn)數(shù)據(jù)加密/解密。

單項加密:單項加密就是用來計算一端數(shù)據(jù)的特征碼的(讀者可以把這段特征碼想象成一個人的身份證),為了防止用戶通過“暴力破解”的方式來解密,所以單項加密一般具有“雪崩效應”,就是說:只要被加密內(nèi)容有一點點的不同,加密所得結(jié)果就會有很大的變化。單項加密還有一個特點就是無論被加密內(nèi)容多長/短,加密的結(jié)果(就是提取的特征碼)是定長的。用途:用于驗證數(shù)據(jù)完整性。常用的單項加密算法:

MD5:message digest 這種加密算法的固定長度為128bit。

SHA1:secure hash algorithm這種解密算法的固定長度是160bit。

下圖是作者為了解釋三種加密算法在我們internet上的使用所作的一個說明:

解釋如下,先說BOB和ALICE通信階段。

黑框A:表示要傳輸?shù)臄?shù)據(jù)。

黑框B:就是單項加密對這段數(shù)據(jù)提取的特征碼,這段特征碼同時運用了非對稱加密,具體過程是用BOB的私鑰加密,傳輸給ALICE,只要到達后ALICE能解密,表明對方確實是BOB。這一過程同時起到了用戶認證和數(shù)據(jù)完整性的校驗。黑框B又稱為數(shù)字簽名。

紅框A:這一階段會生成一段很長的隨機數(shù)(密鑰)然后配合對稱加密算法對黑框A和黑框B加密,但是我們?nèi)绾伟鸭用艿拿荑€傳輸給ALICE呢?這就要用到紅框B了。

紅框B:這一階段是用ALICE的公鑰加密這串隨機數(shù)(對稱加密階段的密鑰),ALICE接受到數(shù)據(jù)后如果能用自己私鑰解密,那就證明接受者確實ALICE。

加密過程:

第一步:用單向加密算法提取數(shù)據(jù)(黑框A)的特征值。

第二步:用自己的私鑰加密這段特征值形成黑框B。

第三步:用對稱加密算法,對黑框A和黑框B來加密,得到紅框A。

第四步:用ALICE的公鑰來加密第三步所用的密鑰,得到紅框B。

進行完上述內(nèi)容厲害的讀者會發(fā)現(xiàn)一個問題就是BOB和ALICE如何獲得對方的公鑰,或者說如何證明獲得的公鑰就是對方,這就需要引入另一方證書頒發(fā)機構(gòu)CA,下面是對證書頒發(fā)機構(gòu)跟BOB/ALICE之間的解釋。

黑框C:代表要頒發(fā)給BOB/ALICE的公鑰,組織,地址等信息。

黑框D:是對黑框C進行單向加密后得到的數(shù)字簽名,然后用自己的私鑰對其加密,傳輸給BOB和ALICE,拿著這個證書頒發(fā)機構(gòu)的公鑰(這些證書頒發(fā)機構(gòu)的公鑰一般已經(jīng)被microsoft事先放在windows里面,當然其他操作系統(tǒng)也是一樣的)的BOB和ALICE如果能對這個證書進行解密,說明這個證書頒發(fā)機構(gòu)不是冒充的。

紅框E:表示頒發(fā)給BOB和ALICE的證書。

傳輸階段跟BOB和ALICE之間通信相似,同樣是用到了單向加密,對稱加密,非對稱加密技術(shù)。