本發(fā)明涉及網(wǎng)絡(luò)信息安全領(lǐng)域,特別是涉及一種基于雙線(xiàn)性對(duì)的可搜索加密方法。
背景技術(shù):
:隨著云計(jì)算的飛速發(fā)展,越來(lái)越多的企業(yè)和個(gè)人選擇將數(shù)據(jù)存儲(chǔ)在云服務(wù)器上,以實(shí)現(xiàn)更優(yōu)化的資源配置和更高效的管理。為了保護(hù)數(shù)據(jù)的隱私和安全,用戶(hù)將數(shù)據(jù)上傳到云服務(wù)器之前,通常要對(duì)數(shù)據(jù)進(jìn)行加密。但是,當(dāng)用戶(hù)需要對(duì)這些加密數(shù)據(jù)進(jìn)行搜索時(shí),用戶(hù)就要從服務(wù)器上下載所有存儲(chǔ)的數(shù)據(jù)到本地,然后對(duì)所有加密的數(shù)據(jù)進(jìn)行解密,再進(jìn)一步找到想要的數(shù)據(jù)。這將消耗巨大的計(jì)算代價(jià)和通信代價(jià),同時(shí)對(duì)于擁有有限本地存儲(chǔ)空間的用戶(hù)來(lái)說(shuō)也是一種極大的負(fù)擔(dān)。為了解決直接對(duì)加密數(shù)據(jù)進(jìn)行檢索且不泄露用戶(hù)任何數(shù)據(jù)信息的問(wèn)題,現(xiàn)有技術(shù)中提出了可搜索加密方案??伤阉骷用芊桨钢饕譃閷?duì)稱(chēng)可搜索加密方案和公鑰可搜索加密方案兩大類(lèi)。對(duì)稱(chēng)可搜索加密允許用戶(hù)把自己的加密數(shù)據(jù)上傳到云服務(wù)器,當(dāng)用戶(hù)想要搜索含有某個(gè)關(guān)鍵字的文檔時(shí),用戶(hù)用自己的私鑰生成一個(gè)該關(guān)鍵字的門(mén)限,然后讓服務(wù)器利用這個(gè)門(mén)限進(jìn)行查找。但是對(duì)稱(chēng)可搜索加密只能滿(mǎn)足用戶(hù)對(duì)自己加密的數(shù)據(jù)進(jìn)行搜索,而對(duì)于來(lái)自第三方的數(shù)據(jù),用戶(hù)則不能進(jìn)行關(guān)鍵字搜索。這個(gè)局限使得對(duì)稱(chēng)可搜索加密在很多實(shí)際應(yīng)用中不能被使用,比如郵件系統(tǒng)。在郵件系統(tǒng)中,為了確保郵件內(nèi)容的隱私和安全,用戶(hù)在發(fā)送之前,通常需要利用發(fā)送者的公鑰對(duì)郵件進(jìn)行加密,而當(dāng)接收者想要搜索這些加密郵件時(shí),例如含有“緊急”關(guān)鍵字的郵件,則無(wú)法通過(guò)對(duì)稱(chēng)可搜索加密來(lái)完成。為了解決這個(gè)問(wèn)題,大量的基于公鑰的關(guān)鍵字可搜索加密方案被提出,該方案能夠有效地搜索來(lái)自第三方的加密數(shù)據(jù)。但是,現(xiàn)存的很多公鑰可搜索加密方案,都存在著一些不足之處,主要體現(xiàn)在效率問(wèn)題和安全問(wèn)題兩方面。例如,有很多公鑰可搜索加密方案的門(mén)限在傳遞的過(guò)程中需要建立一個(gè)安全信道,而建立一個(gè)安全信道往往需要較大的計(jì)算代價(jià)和通信代價(jià)。而對(duì)于不需要建立安全信道的公鑰可搜索加密方案,往往只能夠滿(mǎn)足密文的安全性而不能滿(mǎn)足門(mén)限的安全性。技術(shù)實(shí)現(xiàn)要素:本發(fā)明所要解決的技術(shù)問(wèn)題是:提供一種基于雙線(xiàn)性對(duì)的可搜索加密方法,解決公鑰可搜索加密方案中效率和安全不能同時(shí)保證的問(wèn)題。為了解決上述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案為:提供一種基于雙線(xiàn)性對(duì)的可搜索加密方法,其特征在于,包括步驟:s100、初始化;s101、服務(wù)器生成服務(wù)器公私鑰對(duì),將服務(wù)器公鑰發(fā)送給發(fā)送端和接收端;s102、接收端生成接收端公私鑰對(duì),將接收端公鑰發(fā)送給發(fā)送端;s103、發(fā)送端基于雙線(xiàn)性對(duì)用接收端公鑰和服務(wù)器公鑰加密消息的關(guān)鍵字,生成關(guān)鍵字密文,并將生成的關(guān)鍵字密文附加在加密的消息上作為可搜索密文,發(fā)送給服務(wù)器;s104、接收端基于雙線(xiàn)性對(duì)用接收端私鑰和服務(wù)器公鑰加密要搜索的消息中包含的關(guān)鍵字,生成所述要搜索的消息中包含的關(guān)鍵字的門(mén)限,將所述門(mén)限通過(guò)公共信道發(fā)送給服務(wù)器;s105、服務(wù)器根據(jù)所述門(mén)限以及服務(wù)器密鑰查找可搜索密文中是否存在與所述要搜索的關(guān)鍵字匹配的關(guān)鍵字密文,如果存在,則將與所述關(guān)鍵字密文對(duì)應(yīng)的加密消息發(fā)送給接收端;否則,結(jié)束。本發(fā)明的有益效果在于:服務(wù)器持有自己的公私鑰對(duì),由發(fā)送端基于雙線(xiàn)性對(duì)用接收端公鑰和服務(wù)器公鑰加密消息的關(guān)鍵字,當(dāng)接收端想要搜索包含某個(gè)關(guān)鍵字的消息時(shí),則基于雙線(xiàn)性對(duì)利用服務(wù)器的公鑰和接收端的私鑰加密所述關(guān)鍵字,生成該關(guān)鍵字的門(mén)限,由此接收端可以通過(guò)公共信道將所述門(mén)限傳遞給服務(wù)器。因?yàn)橹挥蟹?wù)器持有能夠匹配接收端所指定關(guān)鍵字的門(mén)限的私鑰,而攻擊者因沒(méi)有服務(wù)器的私鑰則無(wú)法進(jìn)行所述匹配。因此,該方法不僅能夠滿(mǎn)足用戶(hù)搜索來(lái)自第三方的加密數(shù)據(jù),而且無(wú)需建立服務(wù)器與接受者之間的安全信道,攻擊者竊取門(mén)限后無(wú)法進(jìn)行攻擊,保證了密文的安全性和門(mén)限的安全性,有效地提高了該方法在實(shí)際應(yīng)用中的效率,很好地保護(hù)了用戶(hù)的個(gè)人隱私。附圖說(shuō)明圖1為基于雙線(xiàn)性對(duì)的可搜索加密方法的流程圖;圖2為基于雙線(xiàn)性對(duì)的可搜索加密方法在實(shí)際應(yīng)用中的流程圖。具體實(shí)施方式為詳細(xì)說(shuō)明本發(fā)明的技術(shù)內(nèi)容、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖予以說(shuō)明。本發(fā)明最關(guān)鍵的構(gòu)思在于:由發(fā)送端基于雙線(xiàn)性對(duì)用接收端公鑰和服務(wù)器公鑰加密消息的關(guān)鍵字,接收端基于雙線(xiàn)性對(duì)用接收端私鑰和服務(wù)器公鑰加密要搜索的消息中包含的關(guān)鍵字。請(qǐng)參照?qǐng)D1,一種基于雙線(xiàn)性對(duì)的可搜索加密方法,其特征在于,包括步驟:s100、初始化;s101、服務(wù)器生成服務(wù)器公私鑰對(duì),將服務(wù)器公鑰發(fā)送給發(fā)送端和接收端;s102、接收端生成接收端公私鑰對(duì),將接收端公鑰發(fā)送給發(fā)送端;s103、發(fā)送端基于雙線(xiàn)性對(duì)用接收端公鑰和服務(wù)器公鑰加密消息的關(guān)鍵字,生成關(guān)鍵字密文,并將生成的關(guān)鍵字密文附加在加密的消息上作為可搜索密文,發(fā)送給服務(wù)器;s104、接收端基于雙線(xiàn)性對(duì)用接收端私鑰和服務(wù)器公鑰加密要搜索的消息中包含的關(guān)鍵字,生成所述要搜索的消息中包含的關(guān)鍵字的門(mén)限,將所述門(mén)限通過(guò)公共信道發(fā)送給服務(wù)器;s105、服務(wù)器根據(jù)所述門(mén)限以及服務(wù)器密鑰查找可搜索密文中是否存在與所述要搜索的關(guān)鍵字匹配的關(guān)鍵字密文,如果存在,則將與所述關(guān)鍵字密文對(duì)應(yīng)的加密消息發(fā)送給接收端;否則,結(jié)束。進(jìn)一步的,所述步驟s100具體包括:選擇一個(gè)雙線(xiàn)性對(duì)映射以及三個(gè)單向抗碰撞的哈希函數(shù)h2:g2→{0,1}logq,其中,(g1,+)和(g2,×)分別是階為素?cái)?shù)q的加法循環(huán)群和乘法循環(huán)群,{0,1}*是任意長(zhǎng)度的二進(jìn)制字符串集合,{0,1}logq是長(zhǎng)度為logq的二進(jìn)制字符串集合,logq是以2為底q的對(duì)數(shù),g是g1的生成元;所述步驟s101中服務(wù)器生成服務(wù)器公私鑰對(duì)具體包括:選取一個(gè)隨機(jī)數(shù)計(jì)算y=y(tǒng)g,生成服務(wù)器的公鑰pks=y(tǒng),以及服務(wù)器的私鑰sks=y(tǒng);所述步驟s102中接收端生成接收端公私鑰對(duì)具體包括:選取一個(gè)隨機(jī)數(shù)計(jì)算x=xg,生成接收端的公鑰pkr=x,以及接收端的私鑰skr=x。進(jìn)一步的,所述步驟s103中生成關(guān)鍵字密文具體包括:選取兩個(gè)隨機(jī)數(shù)計(jì)算u=r1h1(w)g+r1x,v=r2g,生成關(guān)鍵字密文(u,v,c),其中,w為關(guān)鍵字。進(jìn)一步的,所述步驟104中生成關(guān)鍵字門(mén)限具體包括:選取一個(gè)隨機(jī)數(shù)計(jì)算t1=h(r'y)·(x+h1(w'))-1g,t2=r'g,生成關(guān)鍵字門(mén)限tw=[t1,t2],其中,w'為要搜索的消息中包含的關(guān)鍵字。進(jìn)一步的,所述步驟105中服務(wù)器根據(jù)所述門(mén)限以及服務(wù)器密鑰查找可搜索密文中是否存在與所述要搜索的關(guān)鍵字匹配的關(guān)鍵字密文具體包括:服務(wù)器用服務(wù)器私鑰計(jì)算u=h(yt2),t=t1/u,測(cè)試是否成立,如果等式成立,則存在與所述要搜索的關(guān)鍵字匹配的關(guān)鍵字密文;否則,不存在。從上述描述可知,本發(fā)明的有益效果在于:服務(wù)器持有自己的公私鑰對(duì),由發(fā)送端基于雙線(xiàn)性對(duì)用接收端公鑰和服務(wù)器公鑰加密消息的關(guān)鍵字,當(dāng)接收端想要搜索包含某個(gè)關(guān)鍵字的消息時(shí),則基于雙線(xiàn)性對(duì)利用服務(wù)器的公鑰和接收端的私鑰加密所述關(guān)鍵字,生成該關(guān)鍵字的門(mén)限,由此接收端可以通過(guò)公共信道將所述門(mén)限傳遞給服務(wù)器。因?yàn)橹挥蟹?wù)器持有能夠匹配接收端所指定關(guān)鍵字的門(mén)限的私鑰,而攻擊者因沒(méi)有服務(wù)器的私鑰則無(wú)法進(jìn)行所述匹配,進(jìn)而保證了在無(wú)安全通道下門(mén)限的安全性,并且由于采用公共信道進(jìn)行門(mén)限的傳遞,不需要專(zhuān)門(mén)的安全信道,因此,也保證了效率。并且,在本發(fā)明中,接收端利用一個(gè)隨機(jī)數(shù)去更新門(mén)限,攻擊者無(wú)法區(qū)分不同的門(mén)限是否來(lái)自同一個(gè)關(guān)鍵字,進(jìn)一步保證了門(mén)限的安全性。因此,本發(fā)明設(shè)計(jì)的方法是一個(gè)既無(wú)需安全信道又能夠滿(mǎn)足密文安全性和門(mén)限安全性,在保證效率的同時(shí)又很好的保護(hù)了用戶(hù)的隱私安全。實(shí)施例一一種基于雙線(xiàn)性對(duì)的可搜索加密方法,其特征在于,包括步驟:步驟s100、初始化;選擇一個(gè)雙線(xiàn)性對(duì)映射以及三個(gè)單向抗碰撞的哈希函數(shù)h2:g2→{0,1}logq,其中,(g1,+)和(g2,×)分別是階為素?cái)?shù)q的加法循環(huán)群和乘法循環(huán)群,{0,1}*是任意長(zhǎng)度的二進(jìn)制字符串集合,{0,1}logq是長(zhǎng)度為logq的二進(jìn)制字符串集合,logq是以2為底q的對(duì)數(shù),g是g1的生成元,是g2的生成元;步驟s101、服務(wù)器生成服務(wù)器公私鑰對(duì),將服務(wù)器公鑰發(fā)送給發(fā)送端和接收端;其中,服務(wù)器生成服務(wù)器公私鑰對(duì)具體包括:選取一個(gè)隨機(jī)數(shù)計(jì)算y=y(tǒng)g,生成服務(wù)器的公鑰pks=y(tǒng),以及服務(wù)器的私鑰sks=y(tǒng);s102、接收端生成接收端公私鑰對(duì),將接收端公鑰發(fā)送給發(fā)送端;其中,接收端生成接收端公私鑰對(duì)具體包括:選取一個(gè)隨機(jī)數(shù)計(jì)算x=xg,生成接收端的公鑰pkr=x,以及接收端的私鑰skr=x;s103、發(fā)送端基于雙線(xiàn)性對(duì)用接收端公鑰和服務(wù)器公鑰加密消息的關(guān)鍵字,生成關(guān)鍵字密文,并將生成的關(guān)鍵字密文附加在加密的消息上作為可搜索密文,發(fā)送給服務(wù)器;其中,生成關(guān)鍵字密文具體包括:選取兩個(gè)隨機(jī)數(shù)計(jì)算u=r1h1(w)g+r1x,v=r2g,生成關(guān)鍵字密文(u,v,c),其中,w為關(guān)鍵字;s104、接收端基于雙線(xiàn)性對(duì)用接收端私鑰和服務(wù)器公鑰加密要搜索的消息中包含的關(guān)鍵字,生成所述要搜索的消息中包含的關(guān)鍵字的門(mén)限,將所述門(mén)限通過(guò)公共信道發(fā)送給服務(wù)器;其中,生成關(guān)鍵字門(mén)限具體包括:選取一個(gè)隨機(jī)數(shù)計(jì)算t1=h(r'y)·(x+h1(w'))-1g,t2=r'g,生成關(guān)鍵字門(mén)限tw=[t1,t2],其中,w'為要搜索的消息中包含的關(guān)鍵字;s105、服務(wù)器根據(jù)所述門(mén)限以及服務(wù)器密鑰查找可搜索密文中是否存在與所述要搜索的關(guān)鍵字匹配的關(guān)鍵字密文,如果存在,則將與所述關(guān)鍵字密文對(duì)應(yīng)的加密消息發(fā)送給接收端;否則,結(jié)束;其中,服務(wù)器根據(jù)所述門(mén)限以及服務(wù)器密鑰查找可搜索密文中是否存在與所述要搜索的關(guān)鍵字匹配的關(guān)鍵字密文具體包括:服務(wù)器用服務(wù)器私鑰計(jì)算u=h(yt2),t=t1/u,測(cè)試是否成立,如果等式成立,則存在與所述要搜索的關(guān)鍵字匹配的關(guān)鍵字密文;否則,不存在;其中,如果w‘=w,則其計(jì)算過(guò)程具體如下:實(shí)施例二在郵件系統(tǒng)中對(duì)本發(fā)明所設(shè)計(jì)的基于雙線(xiàn)性對(duì)的可搜索加密方法進(jìn)行測(cè)試,測(cè)試所采用的仿真平臺(tái)的配置如下:操作系統(tǒng):ubuntu10.10;cpu:pentium(r)t4400;內(nèi)存:2.00gbram;硬盤(pán):250gb/5400rpm;編程語(yǔ)言:c。參照?qǐng)D2,郵件發(fā)送者在接收到郵件服務(wù)器的公鑰和郵件接受者的公鑰后,按照實(shí)施例一步驟s103的方式對(duì)郵件的關(guān)鍵字進(jìn)行加密,然后向郵件服務(wù)器發(fā)送加密的郵件并附上加密的關(guān)鍵字;當(dāng)郵件接受者想要搜索包含某個(gè)關(guān)鍵字的郵件時(shí),基于從郵件服務(wù)器接收到的服務(wù)器公鑰及自身私鑰按照實(shí)施例一步驟s104的方式加密所述關(guān)鍵字,生成關(guān)鍵字的門(mén)限,發(fā)送關(guān)鍵字的門(mén)限至郵件服務(wù)器;郵件服務(wù)器按照實(shí)施例一步驟s105的方式測(cè)試與所述關(guān)鍵字匹配的加密郵件,如果存在與所述關(guān)鍵字匹配的加密文件,則郵件服務(wù)器向郵件接受者返回相應(yīng)的加密郵件。表1所示的是測(cè)試中所測(cè)得的基于雙線(xiàn)性對(duì)的可搜索加密方法各個(gè)步驟的運(yùn)行時(shí)間。表1基于雙線(xiàn)性對(duì)的可搜索加密方法各個(gè)步驟的運(yùn)行時(shí)間實(shí)施案例密鑰生成關(guān)鍵字密文生成門(mén)限生成測(cè)試匹配郵件最大時(shí)間0.027s0.108s0.069s0.018s最小時(shí)間0.009s0.100s0.044s0.011s平均時(shí)間0.019s0.103s0.058s0.014s綜上所述,本發(fā)明提供的基于雙線(xiàn)性對(duì)的可搜索加密方法中,服務(wù)器持有自己的公私鑰對(duì),由發(fā)送端基于雙線(xiàn)性對(duì)用接收端公鑰和服務(wù)器公鑰加密消息的關(guān)鍵字,當(dāng)接收端想要搜索包含某個(gè)關(guān)鍵字的消息時(shí),則基于雙線(xiàn)性對(duì)利用服務(wù)器的公鑰和接收端的私鑰加密所述關(guān)鍵字,生成該關(guān)鍵字的門(mén)限,由此接收端可以通過(guò)公共信道將所述門(mén)限傳遞給服務(wù)器。因?yàn)橹挥蟹?wù)器持有能夠匹配接收端所指定關(guān)鍵字的門(mén)限的私鑰,而攻擊者因沒(méi)有服務(wù)器的私鑰則無(wú)法進(jìn)行所述匹配,進(jìn)而保證了在無(wú)安全通道下門(mén)限的安全性,并且由于采用公共信道進(jìn)行門(mén)限的傳遞,不需要專(zhuān)門(mén)的安全信道,因此,也保證了效率。并且,在本發(fā)明中,接收端利用一個(gè)隨機(jī)數(shù)去更新門(mén)限,攻擊者無(wú)法區(qū)分不同的門(mén)限是否來(lái)自同一個(gè)關(guān)鍵字,進(jìn)一步保證了門(mén)限的安全性。因此,本發(fā)明設(shè)計(jì)的方法是一個(gè)既無(wú)需安全信道又能夠滿(mǎn)足密文安全性和門(mén)限安全性,在保證效率的同時(shí)又很好的保護(hù)了用戶(hù)的隱私安全。以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專(zhuān)利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等同變換,或直接或間接運(yùn)用在相關(guān)的
技術(shù)領(lǐng)域:
,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍內(nèi)。當(dāng)前第1頁(yè)12