本發(fā)明涉及網(wǎng)絡通信中的數(shù)據(jù)認證技術領域,尤其涉及一種女巫攻擊防御方法及其系統(tǒng)。
背景技術:
近年來,可穿戴智能設備日益普及,云計算發(fā)展趨于成熟,移動互聯(lián)網(wǎng)用戶規(guī)模逐年增長,大數(shù)據(jù)價值加速凸顯,醫(yī)療服務由信息化向移動化、網(wǎng)絡化發(fā)展,移動醫(yī)療網(wǎng)絡逐漸形成。其中,可穿戴設備采集居民健康信息,并依托云平臺對采集數(shù)據(jù)進行分析與處理,后提供至醫(yī)院、醫(yī)生進行健康監(jiān)測與臨床診斷。移動醫(yī)療網(wǎng)絡能改善患者的就醫(yī)體驗,提高醫(yī)生的診斷與治療效率,降低醫(yī)療服務的社會成本,進而有效改善居民健康狀況與社會醫(yī)療環(huán)境。
移動醫(yī)療網(wǎng)絡可向用戶提供社交網(wǎng)絡服務,如轉發(fā)健康信息、分享健身體驗、交流治療經(jīng)歷等。然而,移動醫(yī)療社交網(wǎng)絡容易遭受惡意攻擊。當一個攻擊者偽裝成多個合法用戶的身份,或者非法聲明多個偽造的用戶身份時,社交網(wǎng)絡遭受到女巫攻擊。女巫攻擊會降低網(wǎng)絡性能、中斷程序、篡改數(shù)據(jù)或惡意欺騙他人,因此會對移動醫(yī)療社交網(wǎng)絡性能造成巨大的破壞。
在移動醫(yī)療健康社交網(wǎng)絡中,不可避免的會向公眾開放一些健康數(shù)據(jù)。與此同時,由于存在的隱私泄露風險,用戶不愿意再使用其真實身份互相交流。事實上,任何身份信息泄漏都可能侵犯用戶隱私,甚至導致生命和財產(chǎn)損失。身份隱私保護使得防御女巫攻擊變得更加困難。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種女巫攻擊防御方法及其系統(tǒng),旨在解決現(xiàn)有技術中移動醫(yī)療社交網(wǎng)絡容易受到女巫攻擊的問題。
本發(fā)明提出一種女巫攻擊防御方法,應用于由秘鑰生成中心、云服務提供商、用戶組成的移動醫(yī)療社交網(wǎng)絡,其中,所述方法包括:
初始化步驟:根據(jù)已知安全參數(shù)λ和全局屬性集u,利用所述秘鑰生成中心運行預設的設置算法以生成主密鑰msk={s}并公布公共參數(shù)pp;
注冊步驟:通過所述用戶向所述秘鑰生成中心提交注冊申請,由所述秘鑰生成中心運行預設的秘鑰生成算法來生成用戶私鑰sks,并通過秘密通道將所述用戶私鑰sks分發(fā)至所述用戶;
簽名步驟:所述用戶通過運行預設的簽名算法進行簽名;
驗證步驟:所述用戶在簽名后通過運行預設的驗證算法對簽名進行驗證。
優(yōu)選的,在所述初始化步驟中,所述設置算法為setup(λ,u)算法,其中,運行預設的所述setup(λ,u)算法的步驟具體包括:
輸入所述安全參數(shù)λ和所述全局屬性集u={1,2,...,t},并定義缺省屬性集u*={t+1,t+2,...,2t};
選擇隨機矩陣
挑選一個隨機矩陣
定義ζ使得ζ·(q-2)=1mod2q;
計算ζa=(ζa,1)以及ζas=ζas1+s2=ζqmod2q;
輸出主密鑰msk={s}和公共參數(shù)pp={a,ζ,u,u*}。
優(yōu)選的,在所述注冊步驟中,所述秘鑰生成算法為keygen(pp,msk,s)算法,其中,運行預設的所述keygen(pp,msk,s)算法的步驟具體包括:
隨機選擇t-1次多項式
對于每個i∈s∪u*,令
輸出所述用戶私鑰sks=(asi,i∈s∪u*)。
優(yōu)選的,在所述簽名步驟中,所述簽名算法為
定義一個k元素的屬性集
定義缺省屬性集
對于i∈s*∪u',從標準差為σ的分布
當i∈s'∪u'時,計算z1i=a((δ1f1(i)c+y1i),當i∈s*\s'時,計算z1i=ay1i,當i∈s'∪u'時,計算z2i=a((δ2f2(i)c+y2i),當i∈s*\s'時,計算z2i=ay2i;
輸出概率為
計算
輸出簽名
優(yōu)選的,在所述驗證步驟中,所述驗證算法為
輸入用戶μ的簽名
如果
如果
如果
另一方面,本發(fā)明還提供一種女巫攻擊防御系統(tǒng),應用于由秘鑰生成中心、云服務提供商、用戶組成的移動醫(yī)療社交網(wǎng)絡,其中,所述系統(tǒng)包括:
初始化模塊,用于根據(jù)已知安全參數(shù)λ和全局屬性集u,利用所述秘鑰生成中心運行預設的設置算法以生成主密鑰msk={s}并公布公共參數(shù)pp;
注冊模塊,用于通過所述用戶向所述秘鑰生成中心提交注冊申請,由所述秘鑰生成中心運行預設的秘鑰生成算法來生成用戶私鑰sks,并通過秘密通道將所述用戶私鑰sks分發(fā)至所述用戶;
簽名模塊,用于所述用戶通過運行預設的簽名算法進行簽名;
驗證模塊,用于所述用戶在簽名后通過運行預設的驗證算法對簽名進行驗證。
優(yōu)選的,所述設置算法為setup(λ,u)算法,其中,運行預設的所述setup(λ,u)算法的步驟具體包括:
輸入所述安全參數(shù)λ和所述全局屬性集u={1,2,...,t},并定義缺省屬性集u*={t+1,t+2,...,2t};
選擇隨機矩陣
挑選一個隨機矩陣
定義ζ使得ζ·(q-2)=1mod2q;
計算ζa=(ζa,1)以及ζas=ζas1+s2=ζqmod2q;
輸出主密鑰msk={s}和公共參數(shù)pp={a,ζ,u,u*}。
優(yōu)選的,所述秘鑰生成算法為keygen(pp,msk,s)算法,其中,運行預設的所述keygen(pp,msk,s)算法的步驟具體包括:
隨機選擇t-1次多項式
對于每個i∈s∪u*,令
輸出所述用戶私鑰sks=(asi,i∈s∪u*)。
優(yōu)選的,所述簽名算法為
定義一個k元素的屬性集
定義缺省屬性集
對于i∈s*∪u',從標準差為σ的分布
當i∈s'∪u'時,計算z1i=a((δ1f1(i)c+y1i),當i∈s*\s'時,計算z1i=ay1i,當i∈s'∪u'時,計算z2i=a((δ2f2(i)c+y2i),當i∈s*\s'時,計算z2i=ay2i;
輸出概率為
計算
輸出簽名
優(yōu)選的,所述驗證算法為
輸入用戶μ的簽名
如果
如果
如果
本發(fā)明提供的技術方案適用于移動醫(yī)療社交網(wǎng)絡,提出了一個匿名認證協(xié)議,該協(xié)議使用用戶的多個屬性而不是單個身份來訪問服務,從而防止?jié)撛诘呐坠艉蜕矸蓦[私泄漏,提高數(shù)據(jù)的安全性。
附圖說明
圖1為本發(fā)明一實施方式中女巫攻擊防御方法流程圖;
圖2為本發(fā)明一實施方式中女巫攻擊防御系統(tǒng)10的內(nèi)部結構示意圖;
圖3為本發(fā)明一實施方式中防御方案中的簽名算法的運行時間示意圖;
圖4為本發(fā)明一實施方式中防御方案中的驗證算法的運行時間示意圖。
具體實施方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明具體實施方式提供了一種女巫攻擊防御方法,應用于由秘鑰生成中心、云服務提供商、用戶組成的移動醫(yī)療社交網(wǎng)絡,其中,所述方法包括:
初始化步驟:根據(jù)已知安全參數(shù)λ和全局屬性集u,利用所述秘鑰生成中心運行預設的設置算法以生成主密鑰msk={s}并公布公共參數(shù)pp;
注冊步驟:通過所述用戶向所述秘鑰生成中心提交注冊申請,由所述秘鑰生成中心運行預設的秘鑰生成算法來生成用戶私鑰sks,并通過秘密通道將所述用戶私鑰sks分發(fā)至所述用戶;
簽名步驟:所述用戶通過運行預設的簽名算法進行簽名;
驗證步驟:所述用戶在簽名后通過運行預設的驗證算法對簽名進行驗證。
本發(fā)明提供的一種女巫攻擊防御方法,適用于移動醫(yī)療社交網(wǎng)絡,提出了一個匿名認證協(xié)議,該協(xié)議使用用戶的多個屬性而不是單個身份來訪問服務,從而防止?jié)撛诘呐坠艉蜕矸蓦[私泄漏,提高數(shù)據(jù)的安全性。
以下將對本發(fā)明所提供的一種女巫攻擊防御方法進行詳細說明。
請參閱圖1,為本發(fā)明一實施方式中女巫攻擊防御方法流程圖。
在本實施方式中,該女巫攻擊防御方法應用于由秘鑰生成中心(keygenerationcenter,kgc)、云服務提供商(cloudserverprovider,csp)、用戶(包括簽名者和驗證者)組成的移動醫(yī)療社交網(wǎng)絡,通常,kgc用于設置系統(tǒng)并發(fā)出私鑰給合法用戶,csp向用戶提供醫(yī)療健康數(shù)據(jù)的存儲服務,也是潛在的女巫攻擊者篡改或偽造用戶的健康數(shù)據(jù),用戶使用某些終端(例如智能手機,筆記本電腦等)和應用來定期訪問社交平臺,簽名者是指想要分享存儲在csp中的健康數(shù)據(jù)的用戶,驗證者是指與簽名者有社交關系的用戶。
在步驟s1中,初始化步驟:根據(jù)已知安全參數(shù)λ和全局屬性集u,利用所述秘鑰生成中心運行預設的設置算法以生成主密鑰msk={s}并公布公共參數(shù)pp。在本實施方式中,初始化步驟用于建立注冊系統(tǒng)。
在本實施方式中,在所述初始化步驟中,所述設置算法為setup(λ,u)算法,其中,運行預設的所述setup(λ,u)算法的步驟具體包括:
輸入所述安全參數(shù)λ和所述全局屬性集u={1,2,...,t},并定義缺省屬性集u*={t+1,t+2,...,2t};
選擇隨機矩陣
挑選一個隨機矩陣
定義ζ使得ζ·(q-2)=1mod2q;
計算ζa=(ζa,1)以及ζas=ζas1+s2=ζqmod2q;
輸出主密鑰msk={s}和公共參數(shù)pp={a,ζ,u,u*}。
在步驟s2中,注冊步驟:通過所述用戶向所述秘鑰生成中心提交注冊申請,由所述秘鑰生成中心運行預設的秘鑰生成算法來生成用戶私鑰sks,并通過秘密通道將所述用戶私鑰sks分發(fā)至所述用戶。
在本實施方式中,如果一個具有屬性集s的合法用戶(如病人或醫(yī)生)想訪問社交平臺,則必須執(zhí)行此操作。
在本實施方式中,在所述注冊步驟中,所述秘鑰生成算法為keygen(pp,msk,s)算法,其中,運行預設的所述keygen(pp,msk,s)算法的步驟具體包括:
隨機選擇t-1次多項式
對于每個i∈s∪u*,令
輸出所述用戶私鑰sks=(asi,i∈s∪u*)。
在步驟s3中,簽名步驟:所述用戶通過運行預設的簽名算法進行簽名。
在本實施方式中,假設醫(yī)生具有屬性集s的私鑰sks,例如“醫(yī)院a,兒科,主任醫(yī)師”,為了防御女巫攻擊和保護身份隱私,醫(yī)生運行
在本實施方式中,在所述簽名步驟中,所述簽名算法為
定義一個k元素的屬性集
定義缺省屬性集
對于i∈s*∪u',從標準差為σ的分布
當i∈s'∪u'時,計算z1i=a((δ1f1(i)c+y1i),當i∈s*\s'時,計算z1i=ay1i,當i∈s'∪u'時,計算z2i=a((δ2f2(i)c+y2i),當i∈s*\s'時,計算z2i=ay2i;
輸出概率為
計算
輸出簽名
在本實施方式中,
在步驟s4中,驗證步驟:所述用戶在簽名后通過運行預設的驗證算法對簽名進行驗證。
在本實施方式中,在所述驗證步驟中,所述驗證算法為
輸入用戶μ的簽名
如果
如果
如果
在本實施方式中,如簽名通過驗證,簽名者的屬性滿足訪問結構中定義的策略,所以驗證者認為簽名者是合法的。否則簽名者的屬性可能不能滿足訪問結構,或者有女巫攻擊者篡改或偽造信息,所以驗證者應該拒絕它。
在本實施方式中,簽名的正確性驗證描述如下:
因此,
本發(fā)明提供的一種女巫攻擊防御方法,適用于移動醫(yī)療社交網(wǎng)絡,提出了一個匿名認證協(xié)議,該協(xié)議使用用戶的多個屬性而不是單個身份來訪問服務,從而防止?jié)撛诘呐坠艉蜕矸蓦[私泄漏,提高數(shù)據(jù)的安全性。
本發(fā)明具體實施方式還提供一種女巫攻擊防御系統(tǒng)10,應用于由秘鑰生成中心、云服務提供商、用戶組成的移動醫(yī)療社交網(wǎng)絡,其中,所述系統(tǒng)包括:
初始化模塊11,用于根據(jù)已知安全參數(shù)和全局屬性集,利用所述秘鑰生成中心運行預設的設置算法以生成主密鑰并公布公共參數(shù)pp;
注冊模塊12,用于通過所述用戶向所述秘鑰生成中心提交注冊申請,由所述秘鑰生成中心運行預設的秘鑰生成算法來生成用戶私鑰,并通過秘密通道將所述用戶私鑰分發(fā)至所述用戶;
簽名模塊13,用于所述用戶通過運行預設的簽名算法進行簽名;
驗證模塊14,用于所述用戶在簽名后通過運行預設的驗證算法對簽名進行驗證。
本發(fā)明提供的一種女巫攻擊防御系統(tǒng)10,適用于移動醫(yī)療社交網(wǎng)絡,提出了一個匿名認證協(xié)議,該協(xié)議使用用戶的多個屬性而不是單個身份來訪問服務,從而防止?jié)撛诘呐坠艉蜕矸蓦[私泄漏,提高數(shù)據(jù)的安全性。
請參閱圖2,所示為本發(fā)明一實施方式中女巫攻擊防御系統(tǒng)10的結構示意圖。
在本實施方式中,女巫攻擊防御系統(tǒng)10,主要包括初始化模塊11、注冊模塊12、簽名模塊13和驗證模塊14。
初始化模塊11,用于根據(jù)已知安全參數(shù)λ和全局屬性集u,利用所述秘鑰生成中心運行預設的設置算法以生成主密鑰msk={s}并公布公共參數(shù)pp。
在本實施方式中,所述設置算法為setup(λ,u)算法,其中,運行預設的所述setup(λ,u)算法的步驟具體包括:
輸入所述安全參數(shù)λ和所述全局屬性集u={1,2,...,t},并定義缺省屬性集u*={t+1,t+2,...,2t};
選擇隨機矩陣
挑選一個隨機矩陣
定義ζ使得ζ·(q-2)=1mod2q;
計算ζa=(ζa,1)以及ζas=ζas1+s2=ζqmod2q;
輸出主密鑰msk={s}和公共參數(shù)pp={a,ζ,u,u*}。
注冊模塊12,用于通過所述用戶向所述秘鑰生成中心提交注冊申請,由所述秘鑰生成中心運行預設的秘鑰生成算法來生成用戶私鑰sks,并通過秘密通道將所述用戶私鑰sks分發(fā)至所述用戶。
在本實施方式中,所述秘鑰生成算法為keygen(pp,msk,s)算法,其中,運行預設的所述keygen(pp,msk,s)算法的步驟具體包括:
隨機選擇t-1次多項式
對于每個i∈s∪u*,令
輸出所述用戶私鑰sks=(asi,i∈s∪u*)。
簽名模塊13,用于所述用戶通過運行預設的簽名算法進行簽名。
在本實施方式中,所述簽名算法為
定義一個k元素的屬性集
定義缺省屬性集
對于i∈s*∪u',從標準差為σ的分布
當i∈s'∪u'時,計算z1i=a((δ1f1(i)c+y1i),當i∈s*\s'時,計算z1i=ay1i,當i∈s'∪u'時,計算z2i=a((δ2f2(i)c+y2i),當i∈s*\s'時,計算z2i=ay2i;
輸出概率為
計算
輸出簽名
驗證模塊14,用于所述用戶在簽名后通過運行預設的驗證算法對簽名進行驗證。
在本實施方式中,所述驗證算法為
輸入用戶μ的簽名
如果
如果
如果
本發(fā)明提供的一種女巫攻擊防御系統(tǒng)10,適用于移動醫(yī)療社交網(wǎng)絡,提出了一個匿名認證協(xié)議,該協(xié)議使用用戶的多個屬性而不是單個身份來訪問服務,從而防止?jié)撛诘呐坠艉蜕矸蓦[私泄漏,提高數(shù)據(jù)的安全性。
本發(fā)明提出的女巫攻擊防御方案,可以通過仿真分析防御方案的效率,詳細的仿真環(huán)境描述如下:操作系統(tǒng)是ubuntu12.04,具有英特爾(r)core(tm)i5-3210m四核cpu處理器,運行速度為2.50ghz,內(nèi)存為1.6gb。本發(fā)明的程序使用gmp6.0.0大數(shù)字庫和ntl6.0.0庫進行矩陣運算,通過c++編程語言在gcc平臺上實現(xiàn)。為方便起見,本發(fā)明將安全參數(shù)λ設置為128位比特和160位比特。實驗中使用的屬性數(shù)量為l={3,5,8}。每個測試有100次迭代并取其平均值。
其中,表1描述了本發(fā)明防御方案的參數(shù)設置情況,圖3和圖4分別顯示了本發(fā)明防御方案的簽名算法和驗證算法的運行時間。
表1本發(fā)明防御方案參數(shù)設置
值得注意的是,上述實施例中,所包括的各個單元只是按照功能邏輯進行劃分的,但并不局限于上述的劃分,只要能夠實現(xiàn)相應的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護范圍。
另外,本領域普通技術人員可以理解實現(xiàn)上述各實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,相應的程序可以存儲于一計算機可讀取存儲介質(zhì)中,所述的存儲介質(zhì),如rom/ram、磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。