組合加密算法在即時通信中的應(yīng)用

我們在深入分析了即時通信(IM)系統(tǒng)中的各種安全問題,并綜合利用了對稱加密算法、公開密鑰算法和Hash算法的優(yōu)點,提出了一種合理的組合加密算法在即時通信中的應(yīng)用模型。

一、即時通信系統(tǒng)的安全性分析

即時通信系統(tǒng)大都采用C/S、B/S、P2P等技術(shù)來實現(xiàn)即時通信的功能,軟件編制沒有統(tǒng)一的標準,使得IM系統(tǒng)本身存有多種安全漏洞,加上用戶缺乏安全意識,導(dǎo)致在使用即時通信系統(tǒng)時出現(xiàn)各種安全問題。

1、信息竊取問題

目前的IM系統(tǒng)在交換信息或傳輸文件時僅僅采用了弱加密甚至不加密的方式,攻擊者利用此缺陷監(jiān)聽、竊取重要數(shù)據(jù),這種泄密可能性給企業(yè)或個人造成不可估量的損失,尤其是對一些特殊行業(yè),如金融和證券等行業(yè),將會構(gòu)成巨大的商業(yè)安全威脅,這種攻擊的類型是對信息機密性的攻擊。

2、信息篡改問題

信息篡改又稱中間人攻擊,是攻擊者試圖在IM系統(tǒng)信息交互過程中,通過監(jiān)聽、竊取正常的信息流,對信息進行修改后再發(fā)往信息接收方。只要信息存在,就可能出現(xiàn)這種攻擊,它還可能攻擊傳輸中的信息,這種攻擊的類型是對信息完整性的攻擊。

3、信息偽造問題

在現(xiàn)有的IM系統(tǒng)中,接收方一般只根據(jù)發(fā)送方的ID或發(fā)送過來的簡單信息進行確認,這樣就給攻擊者提供了機會。攻擊者通過令人誤導(dǎo)的昵稱或者迷惑性的語言,騙取對方的信任,從而套取信息、詐騙或達到其他不良目的。這種攻擊的類型是對信息真實性的攻擊。

4、其他問題

由于IM系統(tǒng)的文件傳輸采取了P2P模式,它可以將文件作為附件通過點對點方式傳送,而繞過網(wǎng)絡(luò)周邊安全防御設(shè)備。由于點對點隧道直接傳至桌面計算機,因此受感染的文件借即時通信系統(tǒng)就能繞過防病毒網(wǎng)關(guān)的掃描,各種病毒如蠕蟲、特洛伊木馬等可以借此輕松地進入網(wǎng)絡(luò),很多被病毒感染的文件則可能利用即時通信系統(tǒng)進行傳播。

攻擊者也可以用緩沖區(qū)溢出、拒絕服務(wù)等攻擊方式,通過IM系統(tǒng)的安全漏洞對整個網(wǎng)絡(luò)系統(tǒng)進行攻擊或傳播病毒。

二、組合加密算法在即時通信系統(tǒng)中的應(yīng)用設(shè)計

1、數(shù)據(jù)加密算法簡介

(1)對稱加密:DES算法

DES即數(shù)據(jù)加密標準,這種加密算法是由IBM研究提出來的, 是一種分組密碼,它用于對64比特的數(shù)據(jù)進行加密和解密。DES算法所用的密鑰也是64比特,但由于其中包含了8個比特的奇偶校驗位,因而實際的密鑰長度是56比特。DES算法多次組合替代算法和換位算法,利用分散和錯亂的相互作用,把明文編制成密碼強度很高的密文。DES算法的加密和解密的流程是完全相同的,區(qū)別僅僅是加密與解密使用子密鑰序列的順序正好相反n1。DES算法屬于對稱加密算法,即加密和解密共享同一個密鑰,主要用于解決數(shù)據(jù)機密性問題。

(2)公開密鑰算法:RSA算法

RSA算法作為惟一被廣泛接受并實現(xiàn)的通用公共密鑰加密方法,是眾多闡述非對稱密碼體制的算法中最具代表性的,幾乎成了公開密鑰密碼學(xué)的同義詞。它是麻省理工大學(xué)的Rivest,Shamir和Adleman(RSA算法即為三人名字的縮寫)于1977年研制并于1978年首次發(fā)表的一種算法。該算法的數(shù)學(xué)基礎(chǔ)是數(shù)論的歐拉定理,它的安全性依賴于大數(shù)的因子分解的困難性,該算法至今仍沒有發(fā)現(xiàn)嚴重的安全漏洞。RSA使用兩個密鑰,一個是公鑰(PubHc Key),另一個是私鑰(Private Key)加密時把明文分戍塊,塊的大小可變,但不超過密鑰的長度。RSA把明文塊轉(zhuǎn)化為與密鑰長度相同的密文。其算法如下:

首先選擇兩個相異大質(zhì)數(shù)p、q,計算n=pq,取小于n的數(shù)e與(p-l)(q-l)互質(zhì)。根據(jù)給定的e,再選擇d滿足ed除以z的模余數(shù)是1(即滿足ed mod (p-l)(q-l)=1),根據(jù)歐幾里得算法(a=bn+c,則a與b的最大公因子就等于b與c的最大公因子),這樣的d-定可以找到。這樣數(shù)對(n,e)為公鑰,數(shù)對(n,d)為私鑰在編碼時,假設(shè)資料為A,將其分戍等長數(shù)據(jù)N塊,每塊為nKn。計算C=llle mod n,則c就是編碼后的資料。至于解碼,取III=Cd mod n。黑客攻擊時怨得到e,這樣就必須對n進行因式分解,選擇足夠大的質(zhì)數(shù)p、q便能阻止分解因式。

對于p、q的選擇,一般來說是足夠大的素數(shù),對于大數(shù),并沒有一個確定的界限,因為隨著計算機技術(shù)的發(fā)展,破解能力正在逐步增強(根據(jù)摩爾定理計算能力18個月就翻一番)。RSA實驗室的建議是,安全性要求相對較低時,p和q的乘積達到768位;安全性要求相對較高時,乘積達到1024位[RSA Key 1999]以上n1。

RSA算法還可以用于“數(shù)字簽名”,即用私鑰進行加密,公鑰來解密。

(3)Hash算法:MD5算法

MD5算法并不是加密算法,但卻能形成信息的數(shù)字“指紋”,主要用途是確保數(shù)據(jù)沒有被篡改或變化過,以保證數(shù)據(jù)的完整性。MD5算法有三個特性:

a能處理任意大小的信息,并生成固定長度128位的信息摘要;

b具有不可預(yù)見性,信息摘要的大小與原始信息的大小沒有任何聯(lián)系,原信息的每一個微小變化都會對信息摘要產(chǎn)生很大的影響;

c具有不可逆性,沒有辦法通過信息摘要直接恢復(fù)原信息。

2、組合加密算法在即時通信中的應(yīng)用

(1)組合加密算法應(yīng)用模型

本文綜合利用以上算法的優(yōu)點,在IM系統(tǒng)中建立以下消息發(fā)送模型,以解決IM系統(tǒng)所面臨的信息竊取、篡改、偽造等安全問題。模型中用戶A和B為IM系統(tǒng)的客戶端,用戶A和B之間彼此擁有對方的公鑰或數(shù)字證書,A向B發(fā)送消息,其全過程如圖1所示。

組合加密算法在即時通信中的應(yīng)用

對于IM系統(tǒng)中蠕蟲病毒感染安全問題的處理,通過以下模型進行處理,如圖2所示。

組合加密算法在即時通信中的應(yīng)用

(2)安全即時通信系統(tǒng)的實現(xiàn)模型

按照以上加密認證模型,建立如圖3所示的安全即時通信系統(tǒng)的實現(xiàn)模型,該模型包含兩個層次的認證,一是服務(wù)器與客戶機之間的雙向認證,二是客戶機與客戶機之
間的雙向認證,即在兩端連接發(fā)送數(shù)據(jù)之前,必須協(xié)商并交換密鑰信息。服務(wù)器作為自簽署證書的CA認證中心,認證的所采用的密碼技術(shù)極為公開密密鑰技術(shù)。模型中的
公開密鑰技術(shù)充當(dāng)了加密共享密鑰和數(shù)字簽名的作用,以解決服務(wù)器與客戶機、客戶機與客戶機之間的身份鑒別和客戶機之間進行數(shù)據(jù)通信的密鑰傳輸問題。在Java密碼
術(shù)體系結(jié)構(gòu)中,密鑰生成和操作可以使用keytool程序來執(zhí)行。

組合加密算法在即時通信中的應(yīng)用

(3)組合加密算法應(yīng)用模型安全性及效率分析

在以上模型中,利用對稱加密算法處理消息、文件的加密,以解決信息、文件傳送的機密性問題,具有加密速度快的特點;用公開密鑰算法的加密技術(shù)解決了對稱密鑰
在網(wǎng)絡(luò)中明文傳輸問題;用Hash算法計算出摘要,再通過公開密鑰算法的數(shù)字簽名技術(shù)對摘要進行簽名,既提高了效率,又保證了信息文件傳輸?shù)蔫b別和不可否認性;在
文件處理過程中,通過病毒掃面和組合加密雙重處理,減少了網(wǎng)絡(luò)中文件傳輸病毒蠕蟲感染的幾率。

小知識之即時通信

即時通信(IM)是指能夠即時發(fā)送和接收互聯(lián)網(wǎng)消息等的業(yè)務(wù)。1998年即時通信的功能日益豐富,逐漸集成了電子郵件、博客、音樂、電視、游戲和搜索等多種功能。