本說明書實施例屬于安全計算,尤其涉及一種保護隱私的數(shù)據(jù)提供、查詢方法及裝置。
背景技術(shù):
1、隱私計算是一種新興的技術(shù),能夠?qū)崿F(xiàn)數(shù)據(jù)可用不可見,在保護數(shù)據(jù)隱私的前提下最大程度地發(fā)揮數(shù)據(jù)價值。隱私信息檢索(private?information?retrieval,pir)是指查詢方隱藏查詢目標標識,數(shù)據(jù)方提供匹配的查詢結(jié)果卻無法獲知具體的查詢對象。pir具體可以描述為:數(shù)據(jù)方擁有一個數(shù)據(jù)庫,其中有n條數(shù)據(jù),查詢方要查詢這個數(shù)據(jù)庫中的第i條數(shù)據(jù),而數(shù)據(jù)方卻不知道查詢方具體查的是哪條數(shù)據(jù)。隱私信息檢索在醫(yī)療、金融等領域均具有重要的用途。例如,在醫(yī)療領域,某些病人在醫(yī)療網(wǎng)站查詢相關(guān)疾病的癥狀、藥品的用途等,但是又不想將自己查詢的疾病或藥品暴露給其他人,此時可以通過隱私信息檢索解決這個問題。
2、隱私信息檢索由于要保護數(shù)據(jù)隱私,因此需要通過各種加密方式對數(shù)據(jù)進行處理。如此,數(shù)據(jù)計算量隨之增加,由此會影響數(shù)據(jù)的查詢效率。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于提供一種保護隱私的數(shù)據(jù)提供、查詢方法及裝置,可以大大提升數(shù)據(jù)的查詢效率。
2、本說明書第一方面提供一種保護隱私的數(shù)據(jù)提供方法,包括準備階段和查詢階段;所述方法通過服務器執(zhí)行,包括:
3、在所述準備階段,從客戶端接收第一加密數(shù)據(jù),該第一加密數(shù)據(jù)通過對與預定置換規(guī)則對應的n*n維置換矩陣進行同態(tài)加密得到;根據(jù)所述服務器持有的n個明文數(shù)據(jù)構(gòu)成的第一明文序列以及所述第一加密數(shù)據(jù),得到由n個第一密文構(gòu)成的密文序列,所述密文序列與第二明文序列對應,所述第二明文序列等同于基于所述預定置換規(guī)則對所述第一明文序列進行置換得到的明文序列;
4、在所述查詢階段,從所述客戶端接收待查詢的目標數(shù)據(jù)的目標位置,該目標位置為基于所述預定置換規(guī)則,對所述目標數(shù)據(jù)的原始位置執(zhí)行置換操作后的位置;從所述密文序列中,讀取所述目標位置的目標密文;將所述目標密文發(fā)送給所述客戶端。
5、本說明書第二方面提供一種保護隱私的數(shù)據(jù)查詢方法,包括準備階段和查詢階段;所述方法通過客戶端執(zhí)行,包括:
6、在所述準備階段,構(gòu)造與預定置換規(guī)則對應的n*n維置換矩陣,并對所述置換矩陣進行同態(tài)加密,得到第一加密數(shù)據(jù);將所述第一加密數(shù)據(jù)發(fā)送給服務器;
7、在所述查詢階段,基于所述預定置換規(guī)則,對待查詢的目標數(shù)據(jù)的原始位置執(zhí)行置換操作,得到目標位置;向所述服務器發(fā)送所述目標位置;接收所述服務器根據(jù)所述目標位置,從其持有的密文序列中讀取的目標密文;對所述目標密文進行同態(tài)解密,得到所述目標數(shù)據(jù)。
8、本說明書第三方面提供一種保護隱私的數(shù)據(jù)提供裝置,設置于服務器,該裝置包括:
9、接收單元,用于在準備階段,從客戶端接收第一加密數(shù)據(jù),該第一加密數(shù)據(jù)通過對與預定置換規(guī)則對應的n*n維置換矩陣進行同態(tài)加密得到;
10、獲取單元,用于根據(jù)服務器持有的n個明文數(shù)據(jù)構(gòu)成的第一明文序列以及接收的第一加密數(shù)據(jù),得到由n個第一密文構(gòu)成的密文序列,該密文序列與第二明文序列對應,該第二明文序列等同于基于預定置換規(guī)則對第一明文序列進行置換得到的明文序列;
11、接收單元,還用于在查詢階段,從客戶端接收待查詢的目標數(shù)據(jù)的目標位置,該目標位置為基于預定置換規(guī)則,對目標數(shù)據(jù)的原始位置執(zhí)行置換操作后的位置;
12、讀取單元,用于從密文序列中,讀取目標位置的目標密文;
13、發(fā)送單元,用于將目標密文發(fā)送給客戶端。
14、本說明書第四方面提供一種保護隱私的數(shù)據(jù)查詢裝置,設置于客戶端,該裝置包括:
15、構(gòu)造單元,用于在準備階段,構(gòu)造與預定置換規(guī)則對應的n*n維置換矩陣。
16、加密單元,用于對置換矩陣進行同態(tài)加密,得到第一加密數(shù)據(jù)。
17、發(fā)送單元,用于將第一加密數(shù)據(jù)發(fā)送給服務器。
18、置換單元,用于在查詢階段,基于預定置換規(guī)則,對待查詢的目標數(shù)據(jù)的原始位置執(zhí)行置換操作,得到目標位置。
19、發(fā)送單元,還用于向服務器發(fā)送目標位置。
20、接收單元,用于接收服務器根據(jù)目標位置,從其持有的密文序列中讀取的目標密文。
21、解密單元,用于對接收的目標密文進行同態(tài)解密,得到目標數(shù)據(jù)。
22、本說明書第五方面提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,當所述計算機程序在計算機中執(zhí)行時,令計算機執(zhí)行第一或第二方面所述的方法。
23、本說明書第六方面提供一種計算設備,包括存儲器和處理器,所述存儲器中存儲有可執(zhí)行代碼,所述處理器執(zhí)行所述可執(zhí)行代碼時,實現(xiàn)所述第一或第二方面的方法。
24、本說明書第七方面提供一種計算機程序產(chǎn)品,包括計算機程序/指令,該計算機程序/指令被處理器執(zhí)行時實現(xiàn)所述第一或第二方面方法的步驟。
25、本說明書一個或多個實施例提供的保護隱私的數(shù)據(jù)提供方法,包括準備階段和查詢階段,其中,在準備階段,服務器通過與客戶端運行不經(jīng)意置換協(xié)議獲得由n個密文構(gòu)成的密文序列。接著,在查詢階段,客戶端向服務器提供待查詢的目標數(shù)據(jù)的經(jīng)置換的目標位置,然后服務器從密文序列中讀取該目標位置的目標密文并返回給客戶端。也就是說,在本方案中,在查詢階段,服務器無需執(zhí)行任何密態(tài)運算,只執(zhí)行簡單的數(shù)據(jù)讀取操作即可,由此可以大大提升數(shù)據(jù)的查詢效率。
1.一種保護隱私的數(shù)據(jù)提供方法,包括準備階段和查詢階段;所述方法通過服務器執(zhí)行,包括:
2.根據(jù)權(quán)利要求1所述的方法,其中,所述第一加密數(shù)據(jù)為n*n維密態(tài)矩陣;
3.根據(jù)權(quán)利要求1所述的方法,其中,所述第一加密數(shù)據(jù)包括,對應于所述置換矩陣中的各行或各列的n個第二密文;
4.根據(jù)權(quán)利要求3所述的方法,其中,所述同態(tài)加密為全同態(tài)加密;
5.一種保護隱私的數(shù)據(jù)查詢方法,包括準備階段和查詢階段;所述方法通過客戶端執(zhí)行,包括:
6.根據(jù)權(quán)利要求5所述的方法,其中,所述對所述置換矩陣進行同態(tài)加密,包括:
7.根據(jù)權(quán)利要求5所述的方法,其中,所述對所述置換矩陣進行同態(tài)加密,包括:
8.根據(jù)權(quán)利要求5所述的方法,其中,所述客戶端預置有同態(tài)加密算法對應的公鑰和私鑰;所述對所述置換矩陣進行同態(tài)加密,包括:
9.一種計算機程序產(chǎn)品,包括計算機程序/指令,該計算機程序/指令被處理器執(zhí)行時實現(xiàn)權(quán)利要求1所述方法的步驟。
10.一種計算設備,包括存儲器和處理器,所述存儲器中存儲有可執(zhí)行代碼,所述處理器執(zhí)行所述可執(zhí)行代碼時,實現(xiàn)權(quán)利要求1-8中任一項所述的方法。