本發(fā)明涉及數(shù)據(jù)查詢,尤其涉及一種全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢方法、請求方、服務(wù)方。
背景技術(shù):
1、目前,密文計算場景中全同態(tài)數(shù)據(jù)庫常見的范圍數(shù)據(jù)查詢方案主要包括交互式解決方案和非交互式解決方案。其中,交互式解決方案存在通信數(shù)據(jù)量過大和安全性差的問題。而對于非交互式解決方案,保序加密?(order-preserving?encryption,ope)和順序揭示加密(order-revealing?encryption,ore)的加密算法存在暴露私有數(shù)據(jù)的大小次序信息的問題,全同態(tài)加密(fully?homomorphic?encryption,fhe)算法的解決方案目前則普遍存在技術(shù)復(fù)雜、性能較差的問題。
2、也就是說,常見的范圍數(shù)據(jù)查詢方案無法兼顧范圍查詢的安全和效率。
技術(shù)實現(xiàn)思路
1、本申請實施例提供了一種全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢方法、請求方、服務(wù)方,能夠在確保范圍查詢的安全性的基礎(chǔ)上,有效提升范圍數(shù)據(jù)查詢的效率。
2、本申請實施例的技術(shù)方案是這樣實現(xiàn)的:
3、第一方面,本申請實施例提供了一種全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢方法,應(yīng)用于請求方,包括:
4、獲取全同態(tài)公私鑰對,所述全同態(tài)公私鑰對包括全同態(tài)公鑰和全同態(tài)私鑰;
5、向服務(wù)方發(fā)送所述同態(tài)公鑰和范圍查詢請求;其中,所述范圍查詢請求包括范圍查詢類型和范圍查詢參數(shù)密文;所述范圍查詢參數(shù)密文是對范圍查詢參數(shù)進(jìn)行比特編碼后加密得到的;
6、接收所述服務(wù)方返回的查詢結(jié)果密文;其中,所述查詢結(jié)果密文是所述服務(wù)方設(shè)備基于全同態(tài)數(shù)據(jù)庫、所述同態(tài)公鑰、所述范圍查詢類型和所述范圍查詢參數(shù)密文獲得的;所述全同態(tài)數(shù)據(jù)庫是通過整數(shù)編碼和/或比特編碼進(jìn)行編碼獲得的;
7、基于所述同態(tài)私鑰對所述查詢結(jié)果密文進(jìn)行解密,獲得所述查詢請求對應(yīng)的查詢結(jié)果。
8、第二方面,本申請實施例提供了一種全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢方法,應(yīng)用于服務(wù)方,包括:
9、接收請求方發(fā)送的全同態(tài)公鑰和查詢請求;其中,所述查詢請求攜帶范圍查詢類型和范圍查詢參數(shù)密文;
10、基于全同態(tài)數(shù)據(jù)庫、所述全同態(tài)公鑰、所述范圍查詢類型、和所述范圍查詢參數(shù)密文進(jìn)行查詢,獲得查詢結(jié)果密文;其中,所述全同態(tài)數(shù)據(jù)庫是通過整數(shù)編碼和/或比特編碼進(jìn)行編碼獲得的;
11、向所述請求方發(fā)送所述查詢結(jié)果密文。
12、第三方面,本申請實施例提供了一種請求方,所述請求方包括:
13、獲取單元,用于獲取全同態(tài)公私鑰對,所述全同態(tài)公私鑰對包括全同態(tài)公鑰和全同態(tài)私鑰;
14、第一發(fā)送單元,用于向服務(wù)方發(fā)送所述同態(tài)公鑰和范圍查詢請求;其中,所述范圍查詢請求包括范圍查詢類型和范圍查詢參數(shù)密文;所述范圍查詢參數(shù)密文是對范圍查詢參數(shù)進(jìn)行比特編碼后加密得到的;
15、第一接收單元,用于接收所述服務(wù)方返回的查詢結(jié)果密文;其中,所述查詢結(jié)果密文是所述服務(wù)方設(shè)備基于全同態(tài)數(shù)據(jù)庫、所述同態(tài)公鑰、所述范圍查詢類型和所述范圍查詢參數(shù)密文獲得的;所述全同態(tài)數(shù)據(jù)庫是通過整數(shù)編碼和/或比特編碼進(jìn)行編碼獲得的;
16、解密單元,用于基于所述同態(tài)私鑰對所述查詢結(jié)果密文進(jìn)行解密,獲得所述查詢請求對應(yīng)的查詢結(jié)果。
17、第四方面,本申請實施例提供了一種服務(wù)方,所述服務(wù)方包括:
18、第二接收單元,用于接收請求方發(fā)送的全同態(tài)公鑰和查詢請求;其中,所述查詢請求攜帶范圍查詢類型和范圍查詢參數(shù)密文;
19、查詢單元,用于基于全同態(tài)數(shù)據(jù)庫、所述全同態(tài)公鑰、所述范圍查詢類型、和所述范圍查詢參數(shù)密文進(jìn)行查詢,獲得查詢結(jié)果密文;其中,所述全同態(tài)數(shù)據(jù)庫是通過整數(shù)編碼和/或比特編碼進(jìn)行編碼獲得的;
20、第二發(fā)送單元,用于向所述請求方發(fā)送所述查詢結(jié)果密文。
21、第五方面,本申請實施例提供了一種全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢系統(tǒng),全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢系統(tǒng)包括請求方和服務(wù)方,其中,
22、請求方用于執(zhí)行如第一方面的全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢方法;
23、服務(wù)方用于執(zhí)行如第二方面的全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢方法。
24、第六方面,本申請實施例提供了一種請求方,請求方包括:處理器以及存儲有可執(zhí)行指令的存儲介質(zhì),存儲介質(zhì)通過通信總線依賴處理器執(zhí)行操作,當(dāng)可執(zhí)行指令被處理器執(zhí)行時,執(zhí)行如第一方面所述的全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢方法。
25、第七方面,本申請實施例提供了一種服務(wù)方,服務(wù)方包括:處理器以及存儲有可執(zhí)行指令的存儲介質(zhì),存儲介質(zhì)通過通信總線依賴處理器執(zhí)行操作,當(dāng)可執(zhí)行指令被處理器執(zhí)行時,執(zhí)行如第二方面所述的全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢方法。
26、第八方面,本申請實施例提供了計算機(jī)存儲介質(zhì),存儲有可執(zhí)行指令,當(dāng)可執(zhí)行指令被處理器執(zhí)行時,處理器執(zhí)行如第一方面或第二方面所述的全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢方法。
27、本申請實施例提供了一種全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢方法、請求方、服務(wù)方,請求方獲取全同態(tài)公私鑰對,全同態(tài)公私鑰對包括全同態(tài)公鑰和全同態(tài)私鑰;向服務(wù)方發(fā)送同態(tài)公鑰和范圍查詢請求;其中,范圍查詢請求包括范圍查詢類型和范圍查詢參數(shù)密文;范圍查詢參數(shù)密文是對范圍查詢參數(shù)進(jìn)行比特編碼后加密得到的;接收服務(wù)方返回的查詢結(jié)果密文;其中,查詢結(jié)果密文是服務(wù)方設(shè)備基于全同態(tài)數(shù)據(jù)庫、同態(tài)公鑰、范圍查詢類型和范圍查詢參數(shù)密文獲得的;全同態(tài)數(shù)據(jù)庫是通過整數(shù)編碼和/或比特編碼進(jìn)行編碼獲得的;基于同態(tài)私鑰對查詢結(jié)果密文進(jìn)行解密,獲得查詢請求對應(yīng)的查詢結(jié)果。服務(wù)方接收請求方發(fā)送的全同態(tài)公鑰和查詢請求;其中,查詢請求攜帶范圍查詢類型和范圍查詢參數(shù)密文;基于全同態(tài)數(shù)據(jù)庫、全同態(tài)公鑰、范圍查詢類型、和范圍查詢參數(shù)密文進(jìn)行查詢,獲得查詢結(jié)果密文;其中,全同態(tài)數(shù)據(jù)庫是通過整數(shù)編碼和/或比特編碼進(jìn)行編碼獲得的;向請求方發(fā)送查詢結(jié)果密文。由此可見,在本申請的實施例中,在全同態(tài)數(shù)據(jù)庫的基礎(chǔ)上,能夠針對確定的范圍查詢類型和加密后的范圍查詢參數(shù)密文進(jìn)行范圍數(shù)據(jù)查詢,其中,全同態(tài)數(shù)據(jù)庫是采用不同的編碼方式進(jìn)行編碼獲得的,范圍數(shù)據(jù)查詢可以包括針對不同的范圍查詢類型的篩選過程和統(tǒng)計過程。也就是說,本申請的實施例通過利用不同計算優(yōu)勢的編碼,以及統(tǒng)一的明文空間與加密算法實現(xiàn)密文的范圍數(shù)據(jù)查詢,從而在確保范圍查詢的安全性的基礎(chǔ)上,有效提升范圍數(shù)據(jù)查詢的效率。
1.一種全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢方法,其特征在于,所述方法應(yīng)用于請求方,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述全同態(tài)數(shù)據(jù)庫為全同態(tài)密文數(shù)據(jù)庫時,所述方法還包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取全同態(tài)公私鑰對,包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
6.一種全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢方法,其特征在于,所述方法應(yīng)用于服務(wù)方,包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述基于全同態(tài)數(shù)據(jù)庫、所述全同態(tài)公鑰、所述范圍查詢類型和所述范圍查詢參數(shù)密文進(jìn)行查詢,獲得查詢結(jié)果密文,包括:
8.根據(jù)權(quán)利要求7所述的方法,其中,多個所述篩選謂詞由一個或多個連接符連接;所述基于所述全同態(tài)公鑰、所述全同態(tài)數(shù)據(jù)庫和所述篩選請求,確定第一篩選請求結(jié)果密文,包括:
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述全同態(tài)數(shù)據(jù)庫為全同態(tài)明文數(shù)據(jù)庫時,所述方法還包括:
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,在所述全同態(tài)數(shù)據(jù)庫為全同態(tài)明文數(shù)據(jù)庫的情況下,所述全同態(tài)數(shù)據(jù)庫中的所有數(shù)據(jù)為明文形式;
11.根據(jù)權(quán)利要求8所述的方法,所述對所述篩選請求,調(diào)用所述連接符對應(yīng)的全同態(tài)邏輯算子,計算所有第一篩選謂詞結(jié)果密文的邏輯計算結(jié)果,獲得第一篩選請求結(jié)果密文,包括:
12.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述全同態(tài)數(shù)據(jù)庫為全同態(tài)密文數(shù)據(jù)庫時,所述方法還包括:
13.一種請求方,其特征在于,所述請求方包括:處理器以及存儲有可執(zhí)行指令的存儲介質(zhì),所述存儲介質(zhì)通過通信總線依賴所述處理器執(zhí)行操作,當(dāng)所述可執(zhí)行指令被所述處理器執(zhí)行時,執(zhí)行如權(quán)利要求1-5中的任一項所述的全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢方法。
14.一種服務(wù)方,其特征在于,所述服務(wù)方包括:處理器以及存儲有可執(zhí)行指令的存儲介質(zhì),所述存儲介質(zhì)通過通信總線依賴所述處理器執(zhí)行操作,當(dāng)所述可執(zhí)行指令被所述處理器執(zhí)行時,執(zhí)行如權(quán)利要求6-12中的任一項所述的全同態(tài)數(shù)據(jù)庫的數(shù)據(jù)查詢方法。