專利名稱:碼本生成方法與隱蔽通信系統的制作方法
技術領域:
本發(fā)明涉及信息安全領域,特別涉及一種碼本生成方法與隱蔽通信系統。
背景技術:
以信息隱藏技術為基礎的隱蔽通信是當前技術發(fā)展的一個熱點。與只能夠讓外部 的第三方無法了解通信內容的加密通信相比,隱蔽通信不僅僅能夠隱藏通信的內容,還能 夠隱蔽通信的發(fā)起者與接受者,甚至讓第三方無法察覺到此次通信過程的存在?,F有技術中對隱蔽通信已經有一定的研究,Web通信作為目前互聯網最為常見的 通信行為已經成為進行隱蔽通信的主要方式之一?,F有技術中基于Web通信行為實現的隱 蔽通信方式又有多種。以往基于TCP/IP協議或者HTTP協議的隱蔽通信方式通常利用協議 本身各個字段的特點,將信息隱藏在協議的各個字段中,這種方式往往會具有某種結構特 征。而基于計時的隱蔽通信方式又往往具有某種流模式。由此,本領域技術人員提出了利 用HTTP協議中上傳隧道和下載隧道的不對稱性進行隱蔽通信的方法。該方法將隱蔽通信 協議的命令信息隱蔽在上傳Web通信行為中,將信息傳輸過程中的內容信息利用隱寫術隱 蔽在下行網絡流量中,從而抵御流量審查和流量規(guī)格化攻擊。此外,在信息傳輸中還可采用 加密認證的方式來保證信息內容的安全性,利用免費代理和志愿者代理來達到抵御追蹤的 目的,從而在隱蔽通信客戶端和隱蔽通信服務端之間構成一條隱蔽隧道。在參考文獻 l“Travis Gagie,Dynamic asymmetric communication, information processing letters,November 2008,Vol. 108,no. 6,pp. 352-355” 中,Adler 禾口 Maggs 基 于不對稱通信理論提出了非對稱通信模型,在該通信模型中,由于隱蔽通信服務端可以知 道所有來自客戶端的知識(即HTTP請求信息),而客戶端只知道它自己的請求信息,因此, 服務器端可以精確計算出來自所有客戶端請求信息的概率分布,這樣就可以利用這種非對 稱通信通道維護掩體服務器上所有存在的web頁面的頻率分布,即客戶可能發(fā)送到服務端 的HTTP請求(URL)和該HTTP請求所對應的頻率,以此來減少隱蔽通信客戶端發(fā)送到隱蔽 通信服務段的請求次數。在參考文獻 2 "M. Adler, B. Maggs, protocols for asymmetric communication channels, in proceeding of 39th IEEE symposium on foundations of computer science (F0CS), Palo Alto, CA,1998” 中,Feamster 等人基于 Adler 與 Maggs 所提出的不 對稱通信模型設計出一個抗流量審查的隱蔽通信系統Infranet,該隱蔽通信系統中的客戶 端將用戶實際需要的HTTP請求通過一系列為審查者可見的掩體HTTP請求隱藏起來,由服 務器負責找出用戶實際需要的目標內容,然后再將這些目標內容隱寫在掩體資源文件中, 審查者只能看到掩體資源文件而無法看到其中所隱寫的內容,因此目標內容可在客戶端被 讀出并返還給用戶瀏覽器。這一系統的缺點在于HTTP交互次數過多,延時過長。
發(fā)明內容
本發(fā)明的目的是克服現有技術中的隱蔽通信方法和系統HTTP交互次數過多,延時過長等缺陷,從而提供一種用時短的隱蔽通信系統。為了實現上述目的,本發(fā)明提供了一種碼本生成方法,包括步驟1)、收集用戶的互聯網訪問歷史記錄;步驟2)、根據歷史訪問記錄計算出推薦URL序列;步驟3)、由范圍映射算法生成動態(tài)字典;步驟4)、根據步驟2)得到的推薦URL序列與步驟3)得到的動態(tài)字典生成最終的 碼本。上述技術方案中,在所述的步驟1)中還包括對所述的互聯網訪問歷史記錄的預 處理;所述預處理包括用于識別不同用戶的活動以及同一用戶不同訪問的會話識別;用于識別不同用戶的用戶識別;用于識別用戶所訪問的網頁的訪問頁識別。上述技術方案中,所述的互聯網訪問歷史記錄包括IP地址、時間、請求、身份、大 小、引用、代理;所述的會話識別根據請求的主機信息和引用信息實現;所述的用戶識別根 據所述的IP地址與代理信息實現;所述的訪問頁識別根據所述請求和引用實現。上述技術方案中,所述的步驟2)包括步驟2-1)、計算出用戶可能訪問的目標頁面的概率;步驟2-2)、對步驟2-1)所得到的概率進行排序,按照從大到小的順序選擇某個閾 值范圍內的幾個相應頁面的URL作為推薦URL序列。上述技術方案中,在所述的步驟2-1)中,采用增量學習的全K階的馬爾科夫樹來 計算概率;包括步驟2-1-1)、首先將由所述歷史訪問記錄中所得到的用戶歷史上的HTTP請求序 列增量插入到馬爾科夫樹中;步驟2-1-2)、然后將前面若干次訪問的URL作為一個會話序列傳入所述馬爾科夫 樹,根據所述馬爾科夫樹得到該用戶在前面訪問序列下,下一次訪問某個頁面的概率的大上述技術方案中,在所述的步驟2-1-1)中,還包括對馬爾科夫樹做剪枝操作,剪 去所述馬爾科夫樹中訪問概率較低的頁面。上述技術方案中,所述的步驟4)包括步驟4-1)、對于所述推薦URL序列中的每一個URL執(zhí)行下列步驟;步驟4-2)、在所述動態(tài)字典中查找第i個候選的目標URL,使得該候選的目標URL 在動態(tài)字典中的順序剛好大于或等于該推薦URL,然后返回與該候選的目標URL所對應的 掩體頁面的URL ;步驟4-3)、將所返回的掩體頁面的URL與所述的推薦URL組成一個URL對,將這一 URL對添加到所述動態(tài)字典中。本發(fā)明還提供了一種隱蔽通信系統,該系統包括隱蔽通信客戶端、隱蔽通信服務 器端;所述的隱蔽通信客戶端通過網絡與隱蔽通信服務器端連接,所述的隱蔽通信服務器 端還通過網絡連接到隱蔽通信的目標服務器以及提供掩體信息的掩體信息服務器;其中,所述的隱蔽通信客戶端根據隱蔽通信協議將用戶的請求編碼后發(fā)送給所述的隱
5蔽通信服務器端;所述的隱蔽通信服務器端采用根據用戶的互聯網訪問歷史記錄來生成碼 本的碼本生成方法生成碼本,根據該碼本找出所述的目標服務器,訪問目標服務器獲取用 戶的目標信息,訪問掩體信息服務器獲取掩體信息,將用戶目標信息隱藏在掩體信息中,然 后經由隱蔽通信客戶端返回給用戶。上述技術方案中,還包括代理資源發(fā)布模塊,所述代理資源發(fā)布模塊位于所述隱 蔽通信客戶端上;它根據代理發(fā)布策略定時發(fā)布一批可用的代理資源列表,所述隱蔽通信 客戶端通過代理資源列表中的信息找尋代理服務器,通過找尋到的代理服務器連接到所述 的隱蔽通信服務器端。本發(fā)明的優(yōu)點在于本發(fā)明能夠有效降低隱蔽通信客戶端與服務器端之間的交互次數,減少通信過程 中的延時。
圖1為現有技術中的Infranet隱蔽通信系統的結構圖;圖2為在現有的Infranet隱蔽通信系統中隱蔽訪問一個網站的實例圖;圖3為本發(fā)明的隱蔽通信系統的結構圖;圖4為采用現有技術中的碼本生成方法進行隱蔽通信時客戶端與服務器端之間 交換碼本的次數與采用本發(fā)明的碼本生成方法進行隱蔽通信時客戶端與服務器端之間交 換碼本的次數的比較圖;圖5為碼本大小為8時,現有技術方法與本發(fā)明方法的迭代次數比較圖;圖6為現有技術中的范圍映射算法的流程圖。
具體實施例方式下面結合附圖和具體實施方式
對本發(fā)明加以說明。圖1中為前述參考文獻2中所提到的Infranet系統的結構圖,從該圖中可以看 出,該系統包括位于用戶瀏覽器端的Infranet客戶端以及Infranet服務器,Infranet客 戶端與Infranet服務器通過網絡連接,所述Infranet服務器還與用戶真正希望訪問的 目標服務器通過網絡連接。在背景技術中已經給出了 Infranet系統的工作過程,其中的 Infranet客戶端將用戶實際需要的HTTP請求通過一系列為審查者可見的掩體HTTP請求隱 藏起來,由Infranet服務器負責找出用戶實際需要的目標內容,然后再將這些目標內容隱 寫在掩體資源文件中,使得網絡中的審查者只能看到掩體資源文件而無法看到其中所隱寫 的內容,因此目標內容可在Infranet客戶端被讀出并返還給用戶瀏覽器。在Infranet系統的上述工作過程中,如何編碼HTTP請求,即如何用一系列掩體 HTTP請求代替用戶實際需要的目標HTTP請求,并能為Infranet服務器所理解是其中的關 鍵問題。Infranet系統采用了范圍映射算法來生成用于描述目標URL與掩體頁面URL間對 應關系的碼本(codebook),利用所述的碼本解決這一問題。所述的范圍映射算法如圖6所 示,其輸入為掩體服務器的頁面概率分布、當前收到的HTTP請求、上次計算出來字符串的 上邊界string.和下邊界string.,所得到的結果為所述碼本,具體實現步驟如下步驟1)、首先判斷字符串的迭代范圍(即字符串中字符的取值范圍)是否為0,若為0(即上次的上界和下界相等),則代表找到了目標頁面,將所找到的目標頁面信息保存 在碼本中,停止本算法的操作,若不為0,則執(zhí)行下一步;步驟2)、通過求字符串上邊界與字符串下邊界之差來計算總的迭代范圍;然后初 始化第一次迭代的下邊界;步驟3)、接著對于所有的掩體站點頁面做如下操作根據當前HTTP請求的頁面概 率設定本次迭代的字符串上邊界,根據字符串的上邊界計算出分割字符串,保存當前分割 字符串和掩體頁面,并把字符串上邊界修改為本次計算的最小上邊界;步驟4)、對所有的掩體站點頁面完成上述操作后,得到由分割字符和掩體頁面所 組成的對,由這些對形成碼本,最后進入下一次迭代。參考圖2,假設有一個用戶在Infranet系統中希望訪問CNN的官方網站(www. cnn. com),出于某種原因,他不希望被網絡中的審查者知道他的這一請求,即他希望秘密請 求訪問CNN官方網站??蛻舳耸紫葧埱箅[蔽通信服務器(即圖1中的Infranet服務 器),并從該服務器端接收到一個初始的碼本,這一碼本通常被隱寫在一個圖片中。所述碼 本中包括兩個部分,一部分為目標URL候選集,例如圖2中從左到右數第一個碼本的左半部 分;另一部分為掩體頁面,如圖2中的前述第一個碼本的右半部分。目標URL候選集中包括 有限個數的目標URL,客戶端從目標URL候選集中尋找是否有他希望秘密訪問的網站地址, 如果沒有的話則從目標URL候選集中尋找一個與其希望秘密訪問的網站地址“最為接近 的”URL,如圖2的第一個碼本中的“cctv. com”,根據碼本,該URL所對應的掩體頁面的URL 為“url3. html ”。在得到前述掩體頁面的URL后,該掩體URL會通過一次正常的HTTP請求 告知Infranet服務器,由該服務器從相應的內容服務器端尋址生成相應的掩體頁面。與此 同時,Infranet服務器需要根據前次的目標URL選擇結果,根據前述的范圍映射算法生成 新的碼本。所生成的新碼本如圖2中的從左到右數的第二個碼本,所生成的新碼本會被隱 寫到前述“url3. html”所對應的頁面中,隨著該頁面?zhèn)鬏數剿鯥nfranet系統的客戶端。 客戶端接收到新的碼本后,繼續(xù)尋找與所希望秘密訪問的網站地址最為接近的URL,如圖2 中第二個碼本中的“cnki. net”,與前面的操作相似,由該URL所對應的掩體頁面隱寫新生 成的碼本,如此循環(huán)往復,直到所希望秘密訪問的網站CNN的URL地址被找到,從該網站所 得到的信息被隱寫在對應的隱藏頁面中并返回給Infranet系統的客戶端,由客戶端讀出 被隱寫的數據后返回給用戶。在這一過程中,網絡中的審查者只能看到掩體頁面的內容,而 無法看到包括碼本、秘密訪問的網站中的內容。由于在諸如Infranet系統的非對稱通信模型中,隱蔽通信服務端只知道所有來 自客戶端的HTTP請求信息,而不會利用客戶端訪問歷史知識,預測下一次用戶最有可能訪 問的URL,因此,隱蔽通信服務器端只能精確計算出來自所有客戶端請求掩體資源信息的概 率分布,而不知道目標資源的訪問概率分布,造成了現有的Infranet系統具有HTTP交互次 數過多,延時過長等缺陷。從現有技術的上述缺陷來看,減少HTTP交互次數,縮短延時的關鍵在于如何提高 服務器端新生成的碼本與用戶歷史記錄的耦合性,使得新生成的碼本盡可能地包含用戶希 望秘密訪問的網站的URL。因此在本發(fā)明中首先要提供一種新的碼本生成方法。下面首先對本發(fā)明中的生成新的碼本的相關方法加以說明,這一方法也被稱為自 適應算法。
7
步驟1)、收集用戶的互聯網訪問歷史記錄,并對其進行預處理。對于一個特定的用 戶,只要不是初次登錄互聯網,其對互聯網上網站的訪問情況都會有相應的歷史記錄。這些 訪問歷史記錄包括該用戶過去經常訪問哪些web網站,由這些訪問歷史記錄還可以知道哪 些web網站會被大多數人經常訪問。本發(fā)明中需要收集這些訪問歷史記錄并保存在與隱蔽 通信有關的服務器端,所述服務器端得到這些訪問歷史記錄后,在后續(xù)操作中就可以根據 這些訪問歷史記錄計算最有可能訪問的web頁面。訪問歷史記錄中包含有比較豐富的信息,在下面的表1中給出了預處理之前的訪 問歷史記錄的基本格式。
權利要求
一種碼本生成方法,包括步驟1)、收集用戶的互聯網訪問歷史記錄;步驟2)、根據歷史訪問記錄計算出推薦URL序列;步驟3)、由范圍映射算法生成動態(tài)字典;步驟4)、根據步驟2)得到的推薦URL序列與步驟3)得到的動態(tài)字典生成最終的碼本。
2.根據權利要求1所述的碼本生成方法,其特征在于,在所述的步驟1)中還包括對所 述的互聯網訪問歷史記錄的預處理;所述預處理包括用于識別不同用戶的活動以及同一用戶不同訪問的會話識別; 用于識別不同用戶的用戶識別; 用于識別用戶所訪問的網頁的訪問頁識別。
3.根據權利要求2所述的碼本生成方法,其特征在于,所述的互聯網訪問歷史記錄包 括IP地址、時間、請求、身份、大小、引用、代理;所述的會話識別根據請求的主機信息和引 用信息實現;所述的用戶識別根據所述的IP地址與代理信息實現;所述的訪問頁識別根據 所述請求和引用實現。
4.根據權利要求1或2所述的碼本生成方法,其特征在于,所述的步驟2)包括 步驟2-1)、計算出用戶可能訪問的目標頁面的概率;步驟2-2)、對步驟2-1)所得到的概率進行排序,按照從大到小的順序選擇某個閾值范 圍內的幾個相應頁面的URL作為推薦URL序列。
5.根據權利要求4所述的碼本生成方法,其特征在于,在所述的步驟2-1)中,采用增量 學習的全K階的馬爾科夫樹來計算概率;包括步驟2-1-1)、首先將由所述歷史訪問記錄中所得到的用戶歷史上的HTTP請求序列增 量插入到馬爾科夫樹中;步驟2-1-2)、然后將前面若干次訪問的URL作為一個會話序列傳入所述馬爾科夫樹, 根據所述馬爾科夫樹得到該用戶在前面訪問序列下,下一次訪問某個頁面的概率的大小。
6.根據權利要求5所述的碼本生成方法,其特征在于,在所述的步驟2-1-1)中,還包括 對馬爾科夫樹做剪枝操作,剪去所述馬爾科夫樹中訪問概率較低的頁面。
7.根據權利要求1或2所述的碼本生成方法,其特征在于,所述的步驟4)包括 步驟4-1)、對于所述推薦URL序列中的每一個URL執(zhí)行下列步驟;步驟4-2)、在所述動態(tài)字典中查找第i個候選的目標URL,使得該候選的目標URL在動 態(tài)字典中的順序剛好大于或等于該推薦URL,然后返回與該候選的目標URL所對應的掩體 頁面的URL ;步驟4-3)、將所返回的掩體頁面的URL與所述的推薦URL組成一個URL對,將這一 URL 對添加到所述動態(tài)字典中。
8.一種隱蔽通信系統,其特征在于,該系統包括隱蔽通信客戶端、隱蔽通信服務器端; 所述的隱蔽通信客戶端通過網絡與隱蔽通信服務器端連接,所述的隱蔽通信服務器端還通 過網絡連接到隱蔽通信的目標服務器以及提供掩體信息的掩體信息服務器;其中,所述的隱蔽通信客戶端根據隱蔽通信協議將用戶的請求編碼后發(fā)送給所述的隱蔽通 信服務器端;所述的隱蔽通信服務器端采用根據用戶的互聯網訪問歷史記錄來生成碼本的 碼本生成方法生成碼本,根據該碼本找出所述的目標服務器,訪問目標服務器獲取用戶的目標信息,訪問掩體信息服務器獲取掩體信息,將用戶目標信息隱藏在掩體信息中,然后經 由隱蔽通信客戶端返回給用戶。
9.根據權利要求8所述的隱蔽通信系統,其特征在于,還包括代理資源發(fā)布模塊,所述 代理資源發(fā)布模塊位于所述隱蔽通信客戶端上;它根據代理發(fā)布策略定時發(fā)布一批可用的 代理資源列表,所述隱蔽通信客戶端通過代理資源列表中的信息找尋代理服務器,通過找 尋到的代理服務器連接到所述的隱蔽通信服務器端。
全文摘要
本發(fā)明提供一種碼本生成方法,包括收集用戶的互聯網訪問歷史記錄;根據歷史訪問記錄計算出推薦URL序列;由范圍映射算法生成動態(tài)字典;根據推薦URL序列與動態(tài)字典生成最終的碼本。本發(fā)明還提供了一種隱蔽通信系統,該系統包括隱蔽通信客戶端、隱蔽通信服務器端;所述的隱蔽通信客戶端通過網絡與隱蔽通信服務器端連接,所述的隱蔽通信服務器端還通過網絡連接到隱蔽通信的目標服務器以及提供掩體信息的掩體信息服務器。本發(fā)明能夠有效降低隱蔽通信客戶端與服務器端之間的交互次數,減少通信過程中的延時。
文檔編號H04L29/06GK101984620SQ20101052002
公開日2011年3月9日 申請日期2010年10月20日 優(yōu)先權日2010年10月20日
發(fā)明者時金橋, 王嘯, 譚慶豐 申請人:中國科學院計算技術研究所