一種雙線性對(duì)安全外包方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息安全領(lǐng)域,特別是涉及一種雙線性對(duì)安全外包方法。
【背景技術(shù)】
[0002] 云計(jì)算使越來越多的人能充分利用云計(jì)算資源進(jìn)行復(fù)雜繁瑣的計(jì)算。移動(dòng)設(shè)備或 其它能源受限的設(shè)備更加受益于云計(jì)算帶來的好處。例如,可使用云計(jì)算去完成單個(gè)設(shè)備 需要消耗較大的能量才能完成的復(fù)雜計(jì)算,如雙線性對(duì)計(jì)算。將一些耗能較大的計(jì)算外包 給云計(jì)算平臺(tái),并保證計(jì)算結(jié)果的正確與安全性,顯然能夠節(jié)約這些設(shè)備的能量消耗,在網(wǎng) 絡(luò)暢通的條件下,還可以減小計(jì)算的時(shí)間,提高運(yùn)行的效率。
[0003] 在計(jì)算外包中,安全性一直是人們考慮的重點(diǎn)。首先,用戶計(jì)算的數(shù)據(jù)可能涉及 到用戶的私鑰信息,例如外包解密等操作,所以用戶待計(jì)算的數(shù)據(jù)應(yīng)對(duì)服務(wù)器隱藏,即秘密 性是一個(gè)安全外包方案需要滿足的;其次,云服務(wù)器通常是不可信的設(shè)備,服務(wù)器上可能存 在某些系統(tǒng)漏洞或者人為的配置,使得計(jì)算結(jié)果不完整,返回的結(jié)果不正確,所以用戶需要 驗(yàn)證服務(wù)器返回結(jié)果的正確性,即可驗(yàn)證性是安全外包方案需要滿足的。最后,在具體實(shí)施 上,有些方案要求至少有一個(gè)服務(wù)器是可信的,有些方案允許兩個(gè)服務(wù)器都不可信,有些方 案僅使用一個(gè)不可信服務(wù)器,這些都對(duì)實(shí)際的實(shí)施提出了要求,所以在實(shí)施上的便利性或 者靈活性上安全外包解決方案是應(yīng)該滿足的。
[0004]GiraultandLefranc首先提出了雙線性對(duì)外包的方案,其中包括了基本的盲化 待計(jì)算群元素的方法。Chevalier-Mames等人提出了安全的橢圓曲線雙線性對(duì)外包的算法。 該算法能向服務(wù)器隱藏待計(jì)算的群元素,并通過對(duì)比獲得的計(jì)算結(jié)果,進(jìn)行校驗(yàn)。Kang等人 改進(jìn)了此算法,讓服務(wù)器計(jì)算一系列群元素,并從服務(wù)器的返回結(jié)果中獲取可校驗(yàn)的數(shù)據(jù)。 Canard等人提出了新的方法外包雙線性對(duì)運(yùn)算,他們的方法中也是讓服務(wù)器輸出相關(guān)的兩 個(gè)數(shù)據(jù)來獲得可驗(yàn)證性。上述方法有一個(gè)共同的缺點(diǎn),就是用戶需要在較高的計(jì)算代價(jià)下 去完成結(jié)果的驗(yàn)證,如進(jìn)行標(biāo)量乘或者模冪運(yùn)算。這些運(yùn)算本身與雙線性對(duì)的運(yùn)算在能量 消耗上類似,從而無助于減少移動(dòng)設(shè)備的能量消耗,與外包計(jì)算的初衷相違背。
[0005]Chen等人給出了一個(gè)改進(jìn)的算法,僅需要在群G^G;;上進(jìn)行5次點(diǎn)加,在群GT下進(jìn) 行4次乘法運(yùn)算,不需要標(biāo)量乘和模冪運(yùn)算,使得安全外包算法有了實(shí)質(zhì)性的意義。但其外 包方法還可以進(jìn)一步改進(jìn),一個(gè)是其方案要求至少一個(gè)服務(wù)器是可信的,其二就是可驗(yàn)證 性方面可以進(jìn)一步提高。事實(shí)上,對(duì)于數(shù)字簽名等服務(wù)而言,如果用戶外包簽名的驗(yàn)證過程 中的雙線性對(duì)運(yùn)算,而外包的返回值卻可能出錯(cuò),將直接導(dǎo)致數(shù)字簽名驗(yàn)證算法的失效。所 以,提高外包算法的可驗(yàn)證性是有意義的。
[0006] 本發(fā)明引入了校驗(yàn)參數(shù)t使外包算法具有可調(diào)節(jié)的驗(yàn)證性。該參數(shù)的取值范圍是 te{1,2,…,s},可驗(yàn)證的概率為(1-1/3S)2,當(dāng)s= 4時(shí),本發(fā)明的可驗(yàn)證性是84%,遠(yuǎn)高 于以前50%到67%的可驗(yàn)證概率。同樣由于校驗(yàn)參數(shù)的存在,我們的方案允許兩臺(tái)服務(wù)器 都是不可信的,增強(qiáng)了部署的靈活性??傊?,本發(fā)明提供了一種靈活和可驗(yàn)證的雙線性對(duì)安 全外包方法。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的目的在于提供一種靈活和可驗(yàn)證的雙線性對(duì)安全外包方法。本發(fā)明引入 了校驗(yàn)參數(shù)t使外包算法具有可調(diào)節(jié)的驗(yàn)證性。該參數(shù)的取值范圍是te{1,2,…,s},可 驗(yàn)證的概率為(1-1/3S)2,該方法允許兩個(gè)不可信的服務(wù)器提供外包服務(wù),并提供了一種機(jī) 制提高用戶T的驗(yàn)證概率,解決了當(dāng)前的解決方案需要至少一臺(tái)可信服務(wù)器,并且驗(yàn)證概 率較低的問題。
[0008] 為實(shí)現(xiàn)上述目的,本發(fā)明給出如下方法:
[0009](一)、該方法涉及用戶T、服務(wù)器UpUg個(gè)實(shí)體,包括以下四個(gè)步驟:
[0010]S1.用戶T預(yù)先計(jì)算偶數(shù)組隨機(jī)矢量,每組包括五個(gè)群元素;
[0011]S2.用戶T每次用兩組隨機(jī)矢量和一個(gè)校驗(yàn)參數(shù)隱藏待計(jì)算的群元素,并把隱藏 后的結(jié)果發(fā)送給服務(wù)器Ui、%;
[0012] S3.服務(wù)器Up1]2分別計(jì)算多個(gè)雙線性對(duì),并把結(jié)果返回給用戶T;
[0013]S4.用戶T使用所述校驗(yàn)參數(shù)來校驗(yàn)服務(wù)器返回的結(jié)果,校驗(yàn)通過后恢復(fù)要 計(jì)算的群元素的雙線性對(duì)運(yùn)算結(jié)果。
[0014](二)、步驟S1 (即當(dāng)用戶T預(yù)先計(jì)算偶數(shù)組隨機(jī)矢量)包括以下子步驟:
[0015] (Sla)用戶T均勻隨機(jī)選擇,其中%I},并且q是大素 數(shù),是群GpG2,GT的階,在群G^G2上可以定義雙線性對(duì)運(yùn)算e:G'G2-Gτ;
[0016] (Sib)隨后用戶Τ計(jì)算χ!的逆元χ! 1和χ2的逆元χ2 \計(jì)算標(biāo)量乘運(yùn)算 (????-ShAT%巧,41??和模冪運(yùn)算峨其中Pi是群Gi的生成元,Ρ2是群 G2的生成元,e(Pi,P2)是群生成元,這五個(gè)群元素 構(gòu)成了一組隨機(jī)矢量;
[0017] (Sic)進(jìn)而用戶Τ均勻隨機(jī)選擇e以.
[0018] (Sid)隨后用戶T計(jì)算Xi'的逆元A \計(jì)算x' 2的逆元x:_I,計(jì)算標(biāo)量乘運(yùn)算 X疒42Ρ2,X;-%P2)和模冪運(yùn)算,這五個(gè)群元素 構(gòu)成 了另外一組隨機(jī)矢量;
[0019] (Slf)用戶T通過重復(fù)上述步驟(Sla)到(Sid)生成預(yù)計(jì)算的偶數(shù)組隨機(jī)矢量。 [0020](三)、步驟S2(即用戶T每次用兩組隨機(jī)矢量隱藏待計(jì)算的群元素,并把隱藏后 的結(jié)果發(fā)送給服務(wù)器Upu2)包括如下子步驟:
[0021](S2a).用戶T待計(jì)算的元素AeGi隱藏為uQ1=A+x&,其中X&來自步驟S1中 子步驟(Sib)所示的隨機(jī)矢量;
[0022] (S2b).用戶T待計(jì)算的元素BeG2隱藏為,其中來自步驟 S1中子步驟(Sib)所示的隨機(jī)矢量;
[0023] (S2c).用戶T隨機(jī)選擇te{1,2, 一,8}作為校驗(yàn)參數(shù),其中s取值為大于等于4 的整數(shù),計(jì)算標(biāo)量乘運(yùn)算tA,并隱藏為% + .其中來自于步驟S1中子步 驟(Sid)所示的隨機(jī)矢量;
[0024] (S2d) ·用戶T計(jì)算隨機(jī)矢量的逆元,并設(shè)置《η= ;
[0025] (S2e).用戶Τ計(jì)算隨機(jī)矢量X' &的逆元,并設(shè)置u21=-X'少1;
[0026] (S2f) ·用戶T隱藏待計(jì)算的群元素BeG2為5 + +? :
[0027] (S2g).用戶T用步驟S1子步驟(Sid)所示隨機(jī)矢量中的群元素x/Pi隱藏tA, 設(shè)置vQ1 =tA+xi'Pi;
[0028] (S2h).用戶T用步驟SI子步驟(Sid)所示隨機(jī)矢量中的群元素隱藏B,設(shè) 置v<G = 5 + (、巧.
[0029] (S2i).用戶Τ用步驟S1子步驟(Sib)所示隨機(jī)矢量中的群元素a:,隱藏Α, 設(shè)置νη= 4 +λ_Λ_、氣
[0030] (S2j).用戶Τ計(jì)算隨機(jī)矢量的逆元,并設(shè)置
[0031] (S2k).用戶Τ計(jì)算隨機(jī)矢量xR的逆元,并設(shè)置ν21=-X少1;
[0032] (S21).用戶T用步驟S1子步驟(Sib)所示隨機(jī)矢量中的群元素χΓ1^^隱藏群元 素Β,并設(shè)置ι?22 =β+xpxA;
[0033] (S2m).用戶隨機(jī)選擇整數(shù)i,je{1,2,3},并向服務(wù)器Ui發(fā)送6個(gè)群元素Ull,ul2 j(i+lmod3) 1? (i+lmod3) 2? (i+2mod3) 1J(i+2mod3) 2 ? 同時(shí)向服務(wù)器U2發(fā)送6個(gè)群元素 Vjl,Vj2,V(j+lmod3)l,V(j +lmod3)2,V(j+2mod3)l,V(j+2mod3)20
[0034] (四)、步驟S3(即服務(wù)器1U2分別計(jì)算多個(gè)雙線性對(duì),并把結(jié)果返回給用戶T) 包括如下子步驟:
[0035] (S3a)UjE從用戶T接收到的6個(gè)元素依次稱為en,e12,e13,e14,e15,e16,計(jì)算ai= e(en,e12),a2=e(e13,e14)和a3=e(e15,e16),并把α丨,α2,a3返回給用戶T;
[0036] (S3b)U2把從用戶T接收到的6個(gè)元素依次稱為e21,e22,e23,e24,e25,e26,計(jì)算a/ =6(621,622),(1'2=6(6 23,624)和€['2=6(625,626),并把€[ 1',(1'2,(13'返回給用 戶To
[0037] (五)、步驟S4 (用戶T使用校驗(yàn)參數(shù)來校驗(yàn)服務(wù)器1^、1]2返回的結(jié)果,校驗(yàn)通過后 恢復(fù)要計(jì)算的群元素的雙線性對(duì)運(yùn)算結(jié)果)的子步驟包括:
[0038] (S4a).用戶T把服務(wù)器仏返回的結(jié)果稱為a iJ^i+lmod3i^i+2mod3? 把服務(wù)器1]2返回 的結(jié)果稱為a/,a' j+lncid3,a'j+2nrod3,其中i和j與步驟S2中子步驟(S2m)所選擇的 值一致;
[0039] (S4b)·用戶T計(jì)算0=%和 = 其中 來自步驟S1中子步驟(S1b)和(Sid)所述的隨機(jī)矢量,aa2,a3和a/,a'2,a3'是步驟S4中子步驟(S4a)中i和j代入數(shù)值后得到的元 素;
[0040](S4c).用戶T使用校驗(yàn)參數(shù)t校驗(yàn)(^是否等于0',并且〇teGY,如果滿足這兩 個(gè)條件,用戶T輸出0做為元素A和B的雙線性對(duì)運(yùn)算結(jié)果,否則輸出錯(cuò)誤。
【附圖說明】
[0041] 圖1 一種雙線性對(duì)安全外包方法。
【具體實(shí)施方式】
[0042] 該方案包括用戶T,服務(wù)器1^、1]2三個(gè)實(shí)體。首先由用戶T預(yù)先計(jì)算一組符合要求 的隨機(jī)矢量;之后在需要計(jì)算兩個(gè)元素的雙線性對(duì)運(yùn)算時(shí),用戶T用兩組隨機(jī)矢量隱藏這 兩個(gè)元素,并向服務(wù)器Ui、u2發(fā)送隱藏后的矢量,要求服務(wù)器完成雙線性對(duì)運(yùn)算,并返回結(jié) 果;最后用戶T校驗(yàn)結(jié)果的正確性,正確的話則輸出兩個(gè)元素的雙線性對(duì)運(yùn)算結(jié)果。下面以 BLS簽名為例說明具體實(shí)施過程。
[0043] 實(shí)施例1
[0044] 雙線性對(duì)運(yùn)算外包服務(wù)商可以在百度云、亞馬遜等云平臺(tái)上建立虛擬機(jī),建立雙 線性對(duì)運(yùn)算的服務(wù),我們把兩個(gè)這樣的服務(wù)商稱為UpU2,其接收6個(gè)元素,依次計(jì)算3個(gè)對(duì) 運(yùn)算,返回3個(gè)結(jié)果。
[0045] 用戶T是某經(jīng)理張三的智能手機(jī)中的郵件APP。張經(jīng)理需要驗(yàn)證來自下屬的郵件, 確認(rèn)郵件的來源,每天需要處理的郵件比較多,因而需要減少驗(yàn)證算法的能量消耗,確保手 機(jī)可以正常通信。張經(jīng)理需要下載專用的郵件APP,其中采用了BLS驗(yàn)證算法來驗(yàn)證郵件的 簽名,驗(yàn)證過程中的雙線性對(duì)運(yùn)算采用了安全外包計(jì)算。
[0046] 首先,雙線性對(duì)運(yùn)算外包服務(wù)商和郵件APP中具有相同的系統(tǒng)參數(shù),例如PBC庫(kù)中 的類型a參數(shù)
[0047] q:
[0048] 8780710799663312522437781984754049815806883199414208211028653399266 475630880222957078625179422662221423155858769582317459277713367317481324925 129998224791
[0049] h:
[0050] 120160122648911460793888213667405342048029544012513118229196151310472 07289359704531102844802183906537786776
[0051] r:730750818665451621361119245571504901405976559617
[0052] exp2 :159
[0053] exp1 :107
[0054] signl:1
[