噪聲干擾技術(shù)在加密中的應(yīng)用

在因特網(wǎng)中最常用的一些通訊協(xié)議——用于Web瀏覽的HTTP協(xié)議、用于文件傳輸?shù)腇TP協(xié)議、用于電子郵件的SMTP和POP3協(xié)議等,都是使用明文進(jìn)行信息通訊的網(wǎng)絡(luò)協(xié)議,因此惡意的網(wǎng)絡(luò)黑客可以使用網(wǎng)絡(luò)監(jiān)聽手段竊取通訊過程中的一些敏感資料。

如何應(yīng)對這種信息泄密威脅呢?答案是:加密技術(shù)!

信息加密有許多方法,下面將簡單介紹一種特別的信息加密手段——運(yùn)用噪聲干擾技術(shù)的信息加密。

一、噪聲干擾 —另類的通訊加密手段

其實(shí),除了普通的加密技術(shù),還有另一種對通訊信息進(jìn)行安全保護(hù)的方法,那就是噪聲干擾?;叵胍幌露兰o(jì)七十年代的戰(zhàn)爭題材老電影中,中國共產(chǎn)黨地下工作者在室內(nèi)秘密交換偵察信息時(shí),常常將收音機(jī)或唱片播放機(jī)開到最大音量,面對面低聲交談的地下工作者可以相互聽清楚對方的談話,但是大音量的音樂與他們談話的聲音混合在一起卻可以嚴(yán)重干擾國民黨特務(wù)的竊聽活動。這里的大音量的音樂,實(shí)際上就是一種起到干擾作用的噪聲。

在信息論中,“噪聲”這個(gè)專業(yè)術(shù)語是指在信息傳遞過程中與有效信息相伴隨的無效信息。這些“無效信息”是不可避免地自然出現(xiàn)在信息通道中的,其最大特征是其徹底的隨機(jī)性。所謂徹底隨機(jī)是指噪聲信號均勻地覆蓋了全部信號頻段,我們稱之為“白噪聲”。自然產(chǎn)生的噪聲干擾是“白噪聲”與有效信號“均勻”混合而造成的,這種混合本質(zhì)上是不可逆的,從有效信號中去除白噪聲是非常困難的,因此,高強(qiáng)度的噪聲將造成有效信號完全不可讀。 “信噪比”就是一個(gè)用來描述通訊過程中噪聲含量多少的參量,它定義為有效信息的強(qiáng)度與噪聲強(qiáng)度的比值(通常還對這個(gè)比值進(jìn)行一次對數(shù)運(yùn)算操作),信噪比越高則通訊的質(zhì)量越好,但是絕對沒有噪聲是不可能的。

換一個(gè)角度思考,如果可以“有控制地加入噪聲”,即將白噪聲以某種特定的模式與有效信號“交織”混合在一起,這種交織混合干擾與前面提到的均勻混合干擾不同,“交織”式的加擾操作是可逆的,當(dāng)加擾信號傳送到目的地后,通過實(shí)施加擾操作的逆操作——解擾,即可將加擾信號中的噪聲完全地濾除掉,只剩下清晰的有效信號。

在這種通訊方式中,即使信息在傳送途中被竊聽,由于竊聽者不知道噪聲與有效信號的交織模式,因此無法濾除其中的干擾噪聲,而加擾時(shí)與有效信號交織混合的噪聲使有效信息呈現(xiàn)嚴(yán)重失真的狀態(tài),竊聽者得到的只能是類同于噪聲的無用信息。

二、噪聲干擾技術(shù)的實(shí)現(xiàn)方式

注意上面關(guān)于噪聲干擾技術(shù)的的原理描述,噪聲與原始信息是以某種模式“交織”在一起的,并非簡單的均勻混合,這種“交織”式的加擾是可逆的操作,通過逆操作——“解擾”可以完全濾除噪聲,還原出原始信息?;谶@個(gè)原理的加密技術(shù)實(shí)際上應(yīng)該稱為“偽噪聲編碼加密技術(shù)”。

下面通過一個(gè)在數(shù)字通訊中運(yùn)用噪聲干擾技術(shù)的簡單實(shí)現(xiàn)實(shí)例,進(jìn)一步說明這項(xiàng)技術(shù)的原理:

例:基于二進(jìn)制數(shù)據(jù)的交織模式范例

現(xiàn)在要傳送單詞“Windows”,在數(shù)字通訊中我們使用ASCII碼對其進(jìn)行編碼為7字節(jié)的數(shù)據(jù),以十進(jìn)制數(shù)表示為:87105110100111119115

用隨機(jī)數(shù)發(fā)生器產(chǎn)生7個(gè)0~255之間的隨機(jī)數(shù),例如在Visual Basic中,可以使用偽隨機(jī)函數(shù)RND 構(gòu)造表達(dá)式:INT(RND*256) ;

假設(shè)產(chǎn)生的噪聲干擾數(shù)據(jù)為:31987774148136180

將兩組數(shù)據(jù)交織在一起,交織混合模式如下:

將87與3交織,方法是:

把兩數(shù)寫成8位二進(jìn)制數(shù),然后以原始數(shù)據(jù)取奇數(shù)位、噪聲干擾數(shù)據(jù)取偶數(shù)位的交錯方式交織

87 3 _0101011100000011

_0010001000101111

_0010001000101111_3447

同理,105198_0110100111000110_0111100010010110_120150

后面5組數(shù)據(jù)的交織變換省略…

可以看到,交織變換得到的數(shù)據(jù)是混合了隨機(jī)噪聲的加擾數(shù)據(jù),必定會具有很強(qiáng)的隨機(jī)性;

接收到這些表面上隨機(jī)的數(shù)據(jù)后,以二進(jìn)制形式查看,每16位一組,去除其中的偶數(shù)位,僅保留奇數(shù)位,就可以得到原理數(shù)據(jù),比如:120150 _ 0111100010010110 _ 01101001 _ 87

基于十進(jìn)制和其它進(jìn)制的字符串變換的交織模式以引類推。

上面這個(gè)例子只是固定算法的噪聲加擾操作,并沒有類似于密鑰的加擾控制參數(shù),而且上面兩個(gè)范例算法可以說是非常簡單的,只要得到了能實(shí)現(xiàn)加擾算法的程序代碼或程序功能模塊,就可以很容易地推導(dǎo)出解擾算法,從而得到全部的加密方案,所以這個(gè)例子明顯地屬于對稱加密的方式。

在實(shí)踐運(yùn)用中,如果將噪聲干擾數(shù)據(jù)與原始數(shù)據(jù)交織混合后,用傳統(tǒng)的密鑰式加密手段對加擾數(shù)據(jù)進(jìn)行變換,這時(shí)可以把密鑰看成加擾解擾算法中的控制參數(shù),不同的加密密鑰將產(chǎn)生不同的噪聲干擾模式,而相應(yīng)的解密密鑰則用來作為解擾算法的控制參數(shù),用于正確地濾除噪聲。

三、噪聲干擾技術(shù)的應(yīng)用實(shí)例

筆者在一項(xiàng)網(wǎng)絡(luò)編程的實(shí)踐中設(shè)想用Visual Basic快速開發(fā)出一個(gè)簡單且安全的網(wǎng)上文件共享工具,它基于FTP技術(shù),但增加了基礎(chǔ)ASP網(wǎng)站的加密式用戶認(rèn)證,不僅解決了FTP服務(wù)的安全隱患,還實(shí)現(xiàn)了動態(tài)用戶管理。

產(chǎn)生這個(gè)構(gòu)想的原因,是因?yàn)樵谑褂肧ERV-U(一種流行的FTP服務(wù)器)時(shí),意外地發(fā)現(xiàn)了一個(gè)有趣的特性:當(dāng)網(wǎng)絡(luò)用戶用一個(gè)有效帳號登錄SERV-U服務(wù)器后,將產(chǎn)生一個(gè)持續(xù)維持的Session會話連接,如果這時(shí)將服務(wù)器上的這個(gè)帳號更改成無效屬性(注意,并沒有刪除這個(gè)賬號,只是禁用這個(gè)帳號),那么已發(fā)生的Session會話連接不會受到影響,在禁用該帳號前登錄的用戶仍然可以正常活動,不過,不允許新的用戶再使用該帳號登錄。

網(wǎng)上搜索發(fā)現(xiàn)有許多基于ASP技術(shù)的SERV-U用戶管理插件,可以讓ASP網(wǎng)頁管理SERV-U的帳號,實(shí)現(xiàn)添加、刪除、禁用、設(shè)置FTP帳號等各種管理操作。

于是,在噪聲干擾技術(shù)的指導(dǎo)思想下,提出了以下的方案(已通過VB編程實(shí)現(xiàn)):

第一步:安裝SERV-U服務(wù)器;

第二步:安裝ASP服務(wù)器,這可以使用微軟Windows操作系統(tǒng)自帶的IIS服務(wù)器,或者使用NetBox這個(gè)迷你型ASP服務(wù)器,并在ASP服務(wù)端上安裝用戶管理ASP插件;

第三步:編寫ASP網(wǎng)站,基于Access數(shù)據(jù)庫或其他SQL網(wǎng)絡(luò)數(shù)據(jù)庫構(gòu)建一個(gè)帳號管理系統(tǒng),可以注冊新帳號,可以設(shè)置帳號的FTP根路徑和控制權(quán)限等,同時(shí)提供對SERV-U服務(wù)器帳號的同步管理功能;

第四步:用VB編寫一個(gè)專用客戶端,通過XmlHttp技術(shù)調(diào)用ASP網(wǎng)頁,用來實(shí)施ASP網(wǎng)站的登錄認(rèn)證,這里我使用噪聲干擾技術(shù)對計(jì)算機(jī)的時(shí)鐘信息進(jìn)行加密,把加密結(jié)果作為認(rèn)證信息傳遞到ASP網(wǎng)站,ASP網(wǎng)站解密出時(shí)鐘信息并核對發(fā)現(xiàn)時(shí)間誤差在允許范圍內(nèi)時(shí),即可認(rèn)定是從專用客戶端發(fā)來的認(rèn)證信息;

第五步:專用客戶端將使用傳統(tǒng)的MD5摘要編碼,接合噪聲干擾技術(shù)進(jìn)行高強(qiáng)度的安全的用戶認(rèn)證,向ASP傳遞用戶帳號信息;

第六步:ASP網(wǎng)站通過SERV-U用戶管理插件,在SERV-U服務(wù)器上新建一個(gè)FTP帳號(帳號名稱和密碼都是隨機(jī)的),這個(gè)臨時(shí)的FTP帳號被指定ASP帳號設(shè)定的根路徑和相就權(quán)限,FTP帳號和密碼通過網(wǎng)絡(luò)反饋給客戶端使用;

第七步:客戶端收到臨時(shí)FTP帳號和密碼后,在第一時(shí)間立刻調(diào)用FTP客戶端軟件(如FlashFXP)登錄服務(wù)器;

第八步:ASP網(wǎng)站在很短的延時(shí)之后(延時(shí)量必須保證客戶端調(diào)用的FTP客戶端軟件可以正常登錄到服務(wù)器),禁用這個(gè)FTP帳號,防止非法用戶通過竊聽臨時(shí)FTP帳號和密碼也來用此帳號登錄;

第九步:客戶端在結(jié)束FTP訪問后,應(yīng)主動向ASP網(wǎng)站發(fā)出登錄注銷操作;

第十步:ASP網(wǎng)站將臨時(shí)FTP帳號刪除;

第十一步:ASP網(wǎng)站還將定期清理因?yàn)闆]有發(fā)出登錄注銷操作(比如客戶端死機(jī))而長時(shí)間處于登錄狀態(tài)的用戶。

上面的構(gòu)想已經(jīng)完成了編程實(shí)現(xiàn)!

四、總結(jié)

如果系統(tǒng)對安全的要求不是很高,則完全可以使用類似前面的噪聲干擾式加密范例給出的固定式的加密算法,不過要注意,一但客戶端軟件被反編譯破解,破解者(Cracker)就能很容易地得到加擾算法的代碼,也就可以推導(dǎo)出解攏算法,使系統(tǒng)失去安全保證。為此可以采用如下應(yīng)對方案:

(1)加擾算法設(shè)置為客戶端軟件內(nèi)部的功能模塊,而不使用ActiveX控件或DLL插件的外掛式功能模塊方式,同時(shí)對客戶端軟件實(shí)施代碼加密。

(2)服務(wù)端不使用ASP腳本編寫解擾功能模塊,而是使用VB的DLL組件技術(shù)編寫,然后在ASP腳本中調(diào)用DLL組件,由于DLL組件可以放置在ASP網(wǎng)站之外,避免了ASP網(wǎng)站被黑客技術(shù)攻破之后,導(dǎo)致解擾算法失竊的問題。

從使用效果上看,這個(gè)網(wǎng)絡(luò)安全方案基本達(dá)到了安全、方便、高效、簡單的設(shè)計(jì)目標(biāo),而這一切的核心,就是噪聲干擾技術(shù)!

小知識之二進(jìn)制介紹:二進(jìn)制是計(jì)算技術(shù)中廣泛采用的一種數(shù)制。二進(jìn)制數(shù)據(jù)是用0和1兩個(gè)數(shù)碼來表示的數(shù)。它的基數(shù)為2,進(jìn)位規(guī)則是“逢二進(jìn)一”,借位規(guī)則是“借一當(dāng)二”,由18世紀(jì)德國數(shù)理哲學(xué)大師萊布尼茲發(fā)現(xiàn)。當(dāng)前的計(jì)算機(jī)系統(tǒng)使用的基本上是二進(jìn)制系統(tǒng)。