匿名度可選的匿名消息交換系統(tǒng)及其實現(xiàn)方法
【專利摘要】本發(fā)明涉及一種匿名度可選的匿名消息交換系統(tǒng)及其實現(xiàn)方法?,F(xiàn)有匿名消息交換系統(tǒng)不能靈活地適應(yīng)用戶消息匿名度需求的變化。本發(fā)明包括用于生成初始化參數(shù)、響應(yīng)查詢請求、協(xié)調(diào)子系統(tǒng)工作的主控服務(wù)器,用于緩存消息的用戶消息輸入隊列,用于緩存中間結(jié)果的K-1個中間隊列,用于對輸入隊列中的消息進行處理的消息處理子系統(tǒng),用于緩存等待被分發(fā)的消息的輸出隊列和用于從輸出隊列中提取消息、并根據(jù)消息的地址字段發(fā)送給消息接收者的消息分發(fā)子系統(tǒng)。基于本發(fā)明,用戶可在匿名度和轉(zhuǎn)發(fā)延遲之間進行權(quán)衡,靈活選擇適合于自己的匿名度和延遲參數(shù),所有匿名度級別的消息都被混在一起進行處理,不同匿名級別的消息還可以相互保護。
【專利說明】匿名度可選的匿名消息交換系統(tǒng)及其實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于信息安全【技術(shù)領(lǐng)域】,具體涉及一種匿名度可選的匿名消息交換系統(tǒng)及 其實現(xiàn)方法。
【背景技術(shù)】
[0002] 消息交換系統(tǒng)的基本功能是接收來源于多個發(fā)送者的輸入消息,經(jīng)過處理之后, 再根據(jù)每個消息的目標(biāo)地址,將消息轉(zhuǎn)發(fā)給不同的接收者。網(wǎng)絡(luò)交換機就是一種典型的消 息交換系統(tǒng)。消息交換系統(tǒng)一般包含輸入隊列、輸出隊列、消息處理子系統(tǒng)和消息分發(fā)子系 統(tǒng)四個主要部分。來源于不同發(fā)送者的消息首先被緩存到輸入隊列,消息處理子系統(tǒng)循環(huán) 地從輸入隊列中獲取消息,處理消息,再將其放入輸出隊列。消息分發(fā)子系統(tǒng)將輸出隊列中 的消息根據(jù)目標(biāo)地址轉(zhuǎn)發(fā)給不同的接收者。
[0003] 匿名消息交換系統(tǒng)除了具有基本的消息交換功能之外,還可以隱藏輸入與輸出消 息之間的匹配關(guān)系。其工作過程的特殊性體現(xiàn)在:用戶輸入的消息采用加密格式;系統(tǒng)接 收到輸入消息之后并不立即處理,而是將其緩存到輸入隊列中,直到隊列中的消息達到一 定的數(shù)量(這些消息構(gòu)成一個批次);消息處理子系統(tǒng)從輸入隊列中取出一個批次的消息之 后,對其進行解密,然后將解密后消息的排列順序隨機打亂(該過程稱為混洗),最后將順序 打亂的消息依次送入到輸出隊列,由分發(fā)子系統(tǒng)發(fā)送給不同的接收者。由以上工作過程可 以看出,對于任意的輸入消息,進入交換系統(tǒng)時是密文(在攻擊者看來是一個隨機數(shù)),從交 換系統(tǒng)輸出時是明文,并且該消息進入系統(tǒng)時的序號和輸出時的序號之間沒有關(guān)聯(lián)關(guān)系。 因此,攻擊者既不能根據(jù)內(nèi)容,也不能根據(jù)時序?qū)⑤斎肱c輸出消息匹配到一起。如果某個用 戶從匿名消息交換系統(tǒng)接收了一個消息,那么該用戶將無法追蹤消息的發(fā)送者是誰,即便 對于能夠監(jiān)聽交換系統(tǒng)輸入、輸出線路的攻擊者也是如此,因此借助于匿名消息交換系統(tǒng) 就可以實現(xiàn)發(fā)送者匿名性。
[0004] 將多個匿名消息交換系統(tǒng)串聯(lián)起來就可以構(gòu)成匿名通信網(wǎng)絡(luò)。用戶利用匿名通信 網(wǎng)絡(luò)進行Web瀏覽、電子郵件發(fā)送等操作時,可以對服務(wù)提供者和網(wǎng)絡(luò)監(jiān)聽者隱藏自己的 身份信息,以達到保護自己隱私的目的。
[0005] 已知匿名消息交換系統(tǒng)以批次為單位對消息進行解密、混洗和轉(zhuǎn)發(fā)。顯然,一個批 次中緩存的數(shù)據(jù)包越多,匿名度越大,但消息的傳輸延遲也越大。
[0006] 普通的匿名消息交換系統(tǒng)雖然實現(xiàn)了消息的匿名性,但是不能靈活地適應(yīng)用戶消 息匿名度需求的變化。如果設(shè)置匿名度級別較高,消息交換延遲會比較大;設(shè)置匿名度級別 較低,匿名性能就達不到要求。兩種情況都會導(dǎo)致服務(wù)質(zhì)量的下降,用戶不能根據(jù)自己特有 的應(yīng)用需求在交換延遲和匿名度之間進行調(diào)整。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的目的是提供一種匿名度可選的匿名消息交換系統(tǒng)及其實現(xiàn)方法,克服現(xiàn) 有匿名消息交換系統(tǒng)不能靈活地適應(yīng)用戶消息匿名度需求變化的缺陷。
[0008] 本發(fā)明所采用的技術(shù)方案是: 匿名度可選的匿名消息交換系統(tǒng),其特征在于: 所述系統(tǒng)包括: 一個主控服務(wù)器,部署在系統(tǒng)的主控節(jié)點上,用于生成系統(tǒng)初始化參數(shù),響應(yīng)用戶對系 統(tǒng)參數(shù)的查詢請求,以及協(xié)調(diào)其它子系統(tǒng)之間的工作; 一個用戶消息輸入隊列,視為第1級隊列,用于緩存用戶發(fā)送到系統(tǒng)的消息; K-1個中間隊列,分別視為第2到第K級隊列,分別用于緩存上一級隊列中的消息被處 理后的中間結(jié)果; 一個消息處理子系統(tǒng),根據(jù)系統(tǒng)的要求,部署在〇到多個節(jié)點上,用于對輸入隊列中的 消息進行處理; 一個輸出隊列,用于緩存等待被分發(fā)的消息; 一個消息分發(fā)子系統(tǒng),部署在局域網(wǎng)某個節(jié)點上,用于從輸出隊列中提取消息,并根據(jù) 消息的地址字段發(fā)送給消息接收者; 其中: 所述的消息處理子系統(tǒng),又包括η個相互獨立的Mix服務(wù)器,為系統(tǒng)初始化提供必要參 數(shù),并參與匿名消息的處理。
[0009] 匿名度可選的匿名消息交換系統(tǒng)的實現(xiàn)方法,其特征在于: 由以下步驟實現(xiàn): (1) 系統(tǒng)初始化:主控服務(wù)器和η個相互獨立的Mix服務(wù)器相互協(xié)作,構(gòu)造出系統(tǒng)運行 所需的公共參數(shù)和相關(guān)密鑰;匿名消息交換系統(tǒng)完成初始化流程后,即可正式對外提供服 務(wù); (2) 系統(tǒng)等待接收匿名消息:在系統(tǒng)運行期間,到達系統(tǒng)的任何匿名消息被統(tǒng)一緩存到 第1級隊列; (3) 系統(tǒng)匿名消息核心處理流程: (3. 1)主控服務(wù)器實時掃描系統(tǒng)的K個隊列,從第i=l級隊列開始; (3. 2)主控服務(wù)器掃描第i級隊列,如果該隊列構(gòu)成一個批次,即隊列中消息的總數(shù)大 于或等于當(dāng)前隊列的長度參數(shù)隊時,執(zhí)行步驟(3. 3);反之,則該流程結(jié)束; (3. 3)主控服務(wù)器從第i級隊列中取出隊個消息構(gòu)造成消息列表Q,然后啟動級聯(lián)混 洗流程CascadeMix處理消息列表Q,得到消息列表C"; (3.4)逐個檢查(:,中的消息(&,13,(3,(1)是否已經(jīng)成為明文格式,如果是明文格式,則 將該消息送入到輸出隊列;如果仍為密文格式,且i < k,則將其輸入到第i+Ι級隊列;如果 仍為密文消息,且i=k,則將該消息丟棄; (3. 5)當(dāng)處理完Q '中的所有元素后,令i=i+l,如果i > k,則該流程結(jié)束,反之則返 回步驟(3. 2); (4) 系統(tǒng)分發(fā)匿名消息:經(jīng)過上述的匿名消息處理之后,輸出隊列中緩存了等待被分發(fā) 的明文消息;消息分發(fā)子系統(tǒng)則實時掃描輸出隊列,從中取出消息,并根據(jù)其地址字段發(fā)送 給消息接收者。
[0010] 步驟(1)所述的系統(tǒng)初始化,包括以下子步驟: (1. 1)確定系統(tǒng)運行的公共參數(shù): (1. 1. 1)主控服務(wù)器確定系統(tǒng)支持的匿名度級別K,和K級隊列包括輸入隊列在內(nèi)對應(yīng) 的長度參數(shù)Νρ Ν2,…,Nk,滿足Κ彡Ν2彡…彡Nk ; (1. 1. 2)主控服務(wù)器隨機生成兩個大素數(shù)p、q,滿足:2q=p-l,且在群Z/上離散對數(shù)問 題困難性假設(shè)成立,在群Z/中任取q階元素 g,將g作為生成元生成Z/的子群G ; (1. 1. 3)主控服務(wù)器將參數(shù)p、q、g、K、%、N2.....Nk發(fā)送給n個Mix服務(wù)器; (1. 2)對于任意的Mix服務(wù)器Servei^ (1彡i彡η),從集合Zq中任取K個隨機數(shù){Xi, 1,xi,2,· · ·,Xi,lJ,計算向里{yi,l,y"i,2,· · ·,yi,lJ,其中:
【權(quán)利要求】
1. 匿名度可選的匿名消息交換系統(tǒng),其特征在于: 所述系統(tǒng)包括: 一個主控服務(wù)器,部署在系統(tǒng)的主控節(jié)點上,用于生成系統(tǒng)初始化參數(shù),響應(yīng)用戶對系 統(tǒng)參數(shù)的查詢請求,以及協(xié)調(diào)其它子系統(tǒng)之間的工作; 一個用戶消息輸入隊列,視為第1級隊列,用于緩存用戶發(fā)送到系統(tǒng)的消息; K-1個中間隊列,分別視為第2到第K級隊列,分別用于緩存上一級隊列中的消息被處 理后的中間結(jié)果; 一個消息處理子系統(tǒng),根據(jù)系統(tǒng)的要求,部署在〇到多個節(jié)點上,用于對輸入隊列中的 消息進行處理; 一個輸出隊列,用于緩存等待被分發(fā)的消息; 一個消息分發(fā)子系統(tǒng),部署在局域網(wǎng)某個節(jié)點上,用于從輸出隊列中提取消息,并根據(jù) 消息的地址字段發(fā)送給消息接收者; 其中: 所述的消息處理子系統(tǒng),又包括η個相互獨立的Mix服務(wù)器,為系統(tǒng)初始化提供必要參 數(shù),并參與匿名消息的處理。
2. 匿名度可選的匿名消息交換系統(tǒng)的實現(xiàn)方法,其特征在于: 由以下步驟實現(xiàn): (1) 系統(tǒng)初始化:主控服務(wù)器和η個相互獨立的Mix服務(wù)器相互協(xié)作,構(gòu)造出系統(tǒng)運行 所需的公共參數(shù)和相關(guān)密鑰;匿名消息交換系統(tǒng)完成初始化流程后,即可正式對外提供服 務(wù); (2) 系統(tǒng)等待接收匿名消息:在系統(tǒng)運行期間,到達系統(tǒng)的任何匿名消息被統(tǒng)一緩存到 第1級隊列; (3) 系統(tǒng)匿名消息核心處理流程: (3. 1)主控服務(wù)器實時掃描系統(tǒng)的K個隊列,從第i=l級隊列開始; (3. 2)主控服務(wù)器掃描第i級隊列,如果該隊列構(gòu)成一個批次,即隊列中消息的總數(shù)大 于或等于當(dāng)前隊列的長度參數(shù)隊時,執(zhí)行步驟(3. 3);反之,則該流程結(jié)束; (3. 3)主控服務(wù)器從第i級隊列中取出隊個消息構(gòu)造成消息列表Q,然后啟動級聯(lián)混 洗流程CascadeMix處理消息列表Q,得到消息列表C"; (3.4)逐個檢查(:,中的消息(&,13,(3,(1)是否已經(jīng)成為明文格式,如果是明文格式,則 將該消息送入到輸出隊列;如果仍為密文格式,且i < k,則將其輸入到第i+Ι級隊列;如果 仍為密文消息,且i=k,則將該消息丟棄; (3. 5)當(dāng)處理完Q '中的所有元素后,令i=i+l,如果i > k,則該流程結(jié)束,反之則返 回步驟(3. 2); (4) 系統(tǒng)分發(fā)匿名消息:經(jīng)過上述的匿名消息處理之后,輸出隊列中緩存了等待被分發(fā) 的明文消息;消息分發(fā)子系統(tǒng)則實時掃描輸出隊列,從中取出消息,并根據(jù)其地址字段發(fā)送 給消息接收者。
3. 根據(jù)權(quán)利要求2所述的匿名度可選的匿名消息交換系統(tǒng)的實現(xiàn)方法,其特征在于: 步驟(1)所述的系統(tǒng)初始化,包括以下子步驟: (1. 1)確定系統(tǒng)運行的公共參數(shù): (1. 1. 1)主控服務(wù)器確定系統(tǒng)支持的匿名度級別K,和K級隊列包括輸入隊列在內(nèi)對應(yīng) 的長度參數(shù)Νρ Ν2,…,Nk,滿足Κ彡Ν2彡…彡Nk ; (1. 1. 2)主控服務(wù)器隨機生成兩個大素數(shù)p、q,滿足:2q=p-l,且在群Z/上離散對數(shù)問 題困難性假設(shè)成立,在群Z/中任取q階元素 g,將g作為生成元生成Z/的子群G ; (1. 1. 3)主控服務(wù)器將參數(shù)p、q、g、K、%、N2.....Nk發(fā)送給n個Mix服務(wù)器; (1. 2)對于任意的Mix服務(wù)器Servei^ (1彡i彡η),從集合Zq中任取K個隨機數(shù){Xi, 1,xi,2,· · ·,Xi,lJ,計算向里{yi,l,y"i,2,· · ·,yi,lJ,其中:
并將向量{yu,yi,2, ...,yi,K}發(fā)送給主控服務(wù)器和其它Mix服務(wù)器,將隨機數(shù)ku, Xi,2,...,Xi,K}作為解密密鑰秘密保存到本地的安全存儲器中; (1. 3)公鑰向量生成過程:假設(shè)ytl=l,并且主控服務(wù)器已從η個Mix服務(wù)器收到向量 iTi,i,yw,…,yd (1彡i彡n),利用公式
計算匿名度j所對應(yīng)的公鑰5V并擴展得到公鑰向量{ yi,y2,...,yK }; (1.4)主控服務(wù)器將?44、1(、&、隊.....Nk、公鑰向量{ yi,y2,···,yK }作為公 共參數(shù)保存,任意的用戶都可以向主控服務(wù)器查詢這些參數(shù)。
4.根據(jù)權(quán)利要求3所述的匿名度可選的匿名消息交換系統(tǒng)的實現(xiàn)方法,其特征在于: 步驟(2)中,系統(tǒng)接收的匿名消息由匿名消息產(chǎn)生算法AMsgGen產(chǎn)生,該算法包括以下 子步驟: 假定匿名消息交換系統(tǒng)完成了系統(tǒng)初始化流程,用戶已向系統(tǒng)查詢獲得了 q、g和公 鑰向量{yi,y2,...,yK}的參數(shù),用戶想獲得第1(1彡1彡K)級匿名度服務(wù),1越 大匿名度越高,想發(fā)送的消息內(nèi)容是Content,并且接收者的網(wǎng)絡(luò)地址是Addr,滿足字符串 Addr| |Content的二進制長度等于|G卜PadLen,其中|G|表示集合G中元素的二進制位數(shù), PadLen是用戶之間事先約定的一個長度參數(shù); (2. 1)選取二進制長度為PadLen的填充二進制串nonce=0,并計算
計算m%如果mq=l,執(zhí)行步驟(2. 4); (2. 2)令nonce=nonce+l,如果nonce < 2Padl£n-l,則返回步驟(2. 2);否則返回失敗,退 出流程; (2. 3)用戶從Z,中任取隨機數(shù)r和s,并用查詢到的與所需1 (1 < 1 < K)級匿名度 對應(yīng)的公鑰yi加密m,計算
用戶將密文(a,b,c,d)發(fā)送到匿名消息交換服務(wù)系統(tǒng)的輸入隊列。
5. 根據(jù)權(quán)利要求4所述的匿名度可選的匿名消息交換系統(tǒng)的實現(xiàn)方法,其特征在于: 步驟(3. 3)中的級聯(lián)混洗流程CascadeMix,包括以下子步驟: 假設(shè)主控服務(wù)器從第1 (1 < 1 < K)級隊列中取出了匿名消息列表
且參與級聯(lián)混洗流程CascadeMix的包括主控服務(wù)器和η個Mix服務(wù)器Server^ . · Servern; (3·3· 1)令變量 i=l,CQ=C; (3. 3. 2)主控服務(wù)器將AtomMix流程啟動指令、列表Cg和匿名度級別1發(fā)送給Mix服 務(wù)器 Servei^ ; (3. 3. 3) Mix服務(wù)器Server,接收到主控服務(wù)器的指令和數(shù)據(jù)后,以Cg和1為輸入?yún)?數(shù)執(zhí)行AtomMix流程,獲得輸出列表Q,Server,將處理結(jié)果Q發(fā)送給主控服務(wù)器; (3. 3. 4)令 i=i+l,如果 i < n,則返回步驟(3. 3. 2); (3. 3. 5)令C =Cn,并將Q為結(jié)果返回,流程結(jié)束。
6. 根據(jù)權(quán)利要求5所述的匿名度可選的匿名消息交換系統(tǒng)的實現(xiàn)方法,其特征在于: 步驟(3. 3. 3)中的AtomMix流程,包括以下幾個子步驟: 假設(shè)執(zhí)行AtomMix流程的Mix服務(wù)器Server (1彡i彡η)已經(jīng)獲得了公共參數(shù),并 接收到主控服務(wù)器的啟動命令、匿名度級別1 (1 < 1 < Κ)和匿名消息列表
(3.3.3.1)令變量1^=1,變量#161^讓(〇,列表(:/等于空; (3. 3. 3. 2)令變量(a,b,c,d)等于列表 C 的分量(ak,bk,ck,dk); (3. 3. 3. 3)利用密鑰對(a,b,c,d)進行部分解密得到,c W ),其 中
(3.3.3.4)從Zq中任取隨機數(shù)r和s,對(a7,cT ),進行再加密得到(a", b ",c ",d "),其中
將(a ",b ",c ",d ")添加到列表C中; (3. 3. 3. 5)令k=k+l,如果k小于等于N,則返回步驟(3. 3. 3. 2); (3. 3. 3. 6)將列表C中的N個元素進行隨機排序,并返回排序之后的列表C,流程 結(jié)束。
【文檔編號】H04L12/865GK104125142SQ201410277313
【公開日】2014年10月29日 申請日期:2014年6月20日 優(yōu)先權(quán)日:2014年6月20日
【發(fā)明者】李龍海, 許尚妹, 黃誠強, 付少鋒 申請人:西安電子科技大學(xué)