專利名稱:一種帶隱私保護的數(shù)據(jù)共享與發(fā)布的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全技術(shù)領(lǐng)域,特別是涉及一種帶隱私保護的數(shù)據(jù)共享與發(fā)布的方法和裝置。
背景技術(shù):
隨著分布式計算、虛擬化技術(shù)、互聯(lián)網(wǎng)等相關(guān)技術(shù)的發(fā)展,逐漸演進出現(xiàn)的新的計算模式和商業(yè)模式一云計算,為信息通信技術(shù)帶來新的變革和挑戰(zhàn)。通過云計算,利用各種接入設備,用戶可以隨時隨地,按照實際需要獲得所需的計算和存儲服務。比如,用戶可以利用云服務提供商提供的存儲服務,把數(shù)據(jù)發(fā)布在云端,并共享給其他用戶。在云計算具有超大規(guī)模、虛擬化、可伸縮性、按需服務、成本低等突出優(yōu)勢的同時, 也帶來安全和信任方面新的挑戰(zhàn)。比如基于云計算的電子健康檔案系統(tǒng),包含許多敏感的個人數(shù)據(jù)如病人的基本健康數(shù)據(jù)、病歷、處方等。這些數(shù)據(jù)要共享給醫(yī)療機構(gòu)的醫(yī)護人員, 以便為病人提供及時、高效、精準的醫(yī)療救護服務;同時,要保護患者的隱私,確保病人的電子健康檔案、電子病歷等敏感信息不會泄漏給未授權(quán)的使用者。因此,怎樣確保用戶的數(shù)據(jù)隱私得到保護,同時用戶的數(shù)據(jù)可以共享給授權(quán)的合法使用者,是在云計算模式下的數(shù)據(jù)共享與發(fā)布系統(tǒng)中要解決的一個關(guān)鍵問題。具體到實際的應用場景中,為滿足機密性,數(shù)據(jù)擁有者把文件加密上傳到不受信任的存儲服務器(即存儲服務器是在數(shù)據(jù)擁有者信任域之外,提供存儲服務的服務提供者可能會受到各種安全威脅和攻擊,服務提供者本身也可能窺探數(shù)據(jù)擁有者的文件),用戶想獲得并使用文件,向存儲服務器發(fā)送文件使用請求(比如通過關(guān)鍵字檢索文件)。這類場景下,通過加密方案保護數(shù)據(jù)擁有者的數(shù)據(jù)隱私;而用戶的查詢請求,有時也會涉及敏感信息(比如一些敏感的查詢關(guān)鍵詞泄漏給存儲服務器,存儲服務器會推知存儲文件可能是與關(guān)鍵詞相關(guān)的重要文件),因此,需要保護用戶的查詢隱私。并且,在保護數(shù)據(jù)擁有者的數(shù)據(jù)隱私和用戶的查詢隱私的前提下,存儲服務器可以查找存儲的加密文件中是否有滿足用戶查詢要求的文件。針對這一具體問題,目前存在以下幾種解決方法(1)帶關(guān)鍵詞搜索的公鑰加密技術(shù),使不受信任的服務器對已經(jīng)加密的文件查詢出是否包含有用戶需要的關(guān)鍵詞,在這個過程中服務器不能獲知任何數(shù)據(jù)隱私和關(guān)鍵詞隱私。例如,Alice請求存儲她電子郵件的服務器S發(fā)送包含有關(guān)鍵詞“加急”的郵件。服務器對加密文件進行查詢,測試是否含有關(guān)鍵詞“加急”,如果有就發(fā)送給Alice。在文獻 (DanBoneh,Giovanni Di Crescenzo, Rafial Ostrovsky,and Giuseppe Persiano. Public key encryption with keyword search. In Proceedings of Eurocrypt^ 04,2004)中, Boneh等提出了一個帶關(guān)鍵詞搜索的公鑰加密方案。Alice用自己的私鑰和關(guān)鍵詞產(chǎn)生一個陷門信息,發(fā)送給S,S用測試算法,輸入加密關(guān)鍵詞、陷門信息和用戶公鑰,如果關(guān)鍵詞匹配,測試算法就會輸出1 ;否則,為0。不過Boneh等提出的方案也存在一些問題(參考文獻Joonsang Baek, Reihaneh Safavi-Naini, Willy Susilo. Public Key EncryptionwithKeyword Search Revisited. Cryptology ePrint Archive, Report2005/191. 2005),例如這個加密方案是一次性的,如果重復使用,服務器會存儲這些關(guān)鍵詞,會不安全;在很多情況下,應用的是多關(guān)鍵詞搜索,但是對此方面,Boneh等的帶關(guān)鍵詞搜索的公鑰加密方案沒有討論。(2)代理重加密技術(shù),具體的講是一種公鑰加密方案,半受信任的代理服務器把用A的公鑰加密的文件,轉(zhuǎn)換為只能用B的私鑰解密的文件。在這個過程中,第三方服務器看不到文件的明文信息。形式上,代理重加密方案允許代理服務器使用重加密密鑰把用A的公鑰PKa加密的文件轉(zhuǎn)化為用B的公鑰PKb加密的文件,反方向也可以。(參見文獻 Shucheng Yu, Cong Wang, Kui Ren, Wenjing Lou. Achieving secure, scalable, and fine-grained access control in cloud computing. IEEE INF0C0M 2010,2010)Ateniese等提出了單向的基于代理重加密的分布存儲方案(GAteniese,K. Fu, Μ. Green, S. Hohenberger. Improved Proxy Re-EncryptionSchemes with Applications to Secure Distributed Storage. ACM Transactionson Information and System Security (TISSEC), 2006.)。具體地,文件擁有者用對稱密鑰加密文件。文件密鑰被主公鑰加密,且只能被主私鑰解密,并保留在數(shù)據(jù)擁有者手中。數(shù)據(jù)擁有者利用主公鑰和用戶的公鑰產(chǎn)生代理重加密密鑰。利用此密鑰,代理服務器就可以把文件轉(zhuǎn)化為給授權(quán)用戶的文件。 這是一個單跳的方案,即已經(jīng)重加密的文件不能重加密。(3)雙接收端加密技術(shù),Diament等首先提出高效的雙接收端加密系統(tǒng)(Ted Dlament, Homin K. Lee, Angelos Keromytis, Moti Yung. The dualreceiver cryptogram and its applications. In :B.Pfitzmann and P. Liu,editors,Proceedings of the Ilth ACM Conference on Computer andCommunications Security (CCS 2004),pages 330-343, ACM Press,2004.),它可以是密文在兩個獨立的接收端解密。此方案的缺點在于,為了解密部分密文,服務器需要發(fā)送一個額外的私鑰給客戶,這在真實環(huán)境中是不安全的。在云計算應用中,大量的數(shù)據(jù)存儲和計算由云服務提供商提供的服務實現(xiàn)。對于個人用戶,使用各種各樣的資源受限的終端設備,隨時隨地地從云端獲得所需要的服務。終端設備上大量計算和存儲任務轉(zhuǎn)移到云端(云服務提供商)完成。傳統(tǒng)的簡單加密方案或直接使用帶關(guān)鍵詞搜索的公鑰加密、代理重加密等方案不能適應這種新型計算模式。因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個技術(shù)問題就是如何能夠創(chuàng)新地提出一種帶隱私保護的數(shù)據(jù)共享與發(fā)布的方法和裝置,在確保數(shù)據(jù)擁有者的數(shù)據(jù)隱私得到保護的同時,數(shù)據(jù)擁有者的數(shù)據(jù)可以共享給授權(quán)的合法使用者。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種帶隱私保護的數(shù)據(jù)共享與發(fā)布的方法和裝置,用以保證數(shù)據(jù)擁有者的數(shù)據(jù)隱私得到保護的同時,數(shù)據(jù)擁有者的數(shù)據(jù)可以共享給授權(quán)的合法使用者。為了解決上述問題,本發(fā)明公開了一種帶隱私保護的數(shù)據(jù)共享與發(fā)布的方法,所述方法包括數(shù)據(jù)擁有者根據(jù)預設需求,對擁有的數(shù)據(jù)及與數(shù)據(jù)相關(guān)的關(guān)鍵詞用公鑰加密后, 存儲到服務提供者提供的存儲服務器;
用戶向服務提供者發(fā)送關(guān)鍵詞查詢請求信息;所述請求信息是由隱含查詢關(guān)鍵詞的陷門信息構(gòu)成;服務提供者將接收的關(guān)鍵詞查詢請求信息轉(zhuǎn)發(fā)給數(shù)據(jù)擁有者;數(shù)據(jù)擁有者,通過頒發(fā)給服務提供者代理重加密密鑰,給服務提供者授權(quán);服務提供者利用用戶的查詢請求信息,若通過比較預先存儲的加密查詢關(guān)鍵詞與隱含查詢關(guān)鍵詞的陷門信息,驗證有滿足查詢請求的加密文件,則服務提供者用代理重加密密鑰加密符合用戶查詢請求的加密文件,并將加密文件提供給用戶,由用戶用自己的私鑰解密文件。優(yōu)選的,所述方法還包括若通過比較預先存儲的加密查詢關(guān)鍵詞與隱含查詢關(guān)鍵詞的陷門信息,驗證沒有滿足查詢請求的加密文件,則發(fā)送“未查找到符合查詢條件的文件”給用戶。優(yōu)選的,所述對擁有的數(shù)據(jù)及與數(shù)據(jù)相關(guān)的關(guān)鍵詞用公鑰加密具體分以下子步驟完成對擁有的數(shù)據(jù)用公鑰加密;對與擁有的數(shù)據(jù)相關(guān)的關(guān)鍵詞用公鑰加密。本發(fā)明還公布了一種帶隱私保護的數(shù)據(jù)共享與發(fā)布的裝置,所述裝置包括第一處理模塊,用于由數(shù)據(jù)擁有者根據(jù)預設需求,對擁有的數(shù)據(jù)及與數(shù)據(jù)相關(guān)的關(guān)鍵詞用公鑰加密后,存儲到服務提供者提供的存儲服務器;第二處理模塊,用于由用戶向服務提供者發(fā)送關(guān)鍵詞查詢請求信息;所述請求信息是由隱含查詢關(guān)鍵詞的陷門信息構(gòu)成;第三處理模塊,用于由服務提供者將接收的關(guān)鍵詞查詢請求信息轉(zhuǎn)發(fā)給數(shù)據(jù)擁有者;第四處理模塊,用于由數(shù)據(jù)擁有者,通過頒發(fā)給服務提供者代理重加密密鑰,給服務提供者授權(quán);第五處理模塊,用于由服務提供者利用用戶的查詢請求信息,若通過比較預先存儲的加密查詢關(guān)鍵詞與隱含查詢關(guān)鍵詞的陷門信息,驗證有滿足查詢請求的加密文件,則服務提供者用代理重加密密鑰加密符合用戶查詢請求的加密文件,并將加密文件提供給用戶,由用戶用自己的私鑰解密文件。優(yōu)選的,所述裝置還包括第六處理模塊,用于當通過比較預先存儲的加密查詢關(guān)鍵詞與隱含查詢關(guān)鍵詞的陷門信息,驗證沒有滿足查詢請求的加密文件,發(fā)送“未查找到符合查詢條件的文件”給用戶。優(yōu)選的,所述第一處理模塊包括以下子模塊第一加密子模塊,用于對擁有的數(shù)據(jù)用公鑰加密;第二加密子模塊,用于對與擁有的數(shù)據(jù)相關(guān)的關(guān)鍵詞用公鑰加密。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點本發(fā)明中數(shù)據(jù)擁有者根據(jù)預設需求,對擁有的數(shù)據(jù)及與數(shù)據(jù)相關(guān)的關(guān)鍵詞用公鑰加密后,存儲到服務提供者,用戶向服務提供者發(fā)送由隱含查詢關(guān)鍵詞的陷門信息構(gòu)成的關(guān)鍵詞查詢請求信息,服務提供者將接收的關(guān)鍵詞查詢請求信息轉(zhuǎn)發(fā)給數(shù)據(jù)擁有者,數(shù)據(jù)擁有者,通過頒發(fā)給服務提供者代理重加密密鑰,給服務提供者授權(quán),服務提供者利用用戶的查詢請求信息,若通過比較預先存儲的加密查詢關(guān)鍵詞與隱含查詢關(guān)鍵詞的陷門信息, 驗證有滿足查詢請求的加密文件,則服務提供者用代理重加密密鑰加密符合用戶查詢請求的加密文件,并將加密文件提供給用戶,由用戶用自己的私鑰解密文件,從而在確保數(shù)據(jù)擁有者的數(shù)據(jù)隱私得到保護的同時,將數(shù)據(jù)擁有者的數(shù)據(jù)共享給授權(quán)的合法使用者。
圖1是本發(fā)明實施例一所述的一種帶隱私保護的數(shù)據(jù)共享與發(fā)布的方法流程圖;圖2是本發(fā)明實施例二所述的一種帶隱私保護的數(shù)據(jù)共享與發(fā)布的裝置結(jié)構(gòu)圖。
具體實施例方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步詳細的說明。實施例一參照圖1,示出了本發(fā)明的一種帶隱私保護的數(shù)據(jù)共享與發(fā)布的方法流程圖,所述方法具體包括步驟S101,數(shù)據(jù)擁有者根據(jù)預設需求,對擁有的數(shù)據(jù)及與數(shù)據(jù)相關(guān)的關(guān)鍵詞用公鑰加密后,存儲到服務提供者提供的存儲服務器;優(yōu)選的,所述對擁有的數(shù)據(jù)及與數(shù)據(jù)相關(guān)的關(guān)鍵詞用公鑰加密具體分以下子步驟完成對擁有的數(shù)據(jù)用公鑰加密;對與擁有的數(shù)據(jù)相關(guān)的關(guān)鍵詞用公鑰加密。步驟S102,用戶向服務提供者發(fā)送關(guān)鍵詞查詢請求信息;所述請求信息是由隱含查詢關(guān)鍵詞的陷門信息構(gòu)成;步驟S103,服務提供者將接收的關(guān)鍵詞查詢請求信息轉(zhuǎn)發(fā)給數(shù)據(jù)擁有者;步驟S104,數(shù)據(jù)擁有者,通過頒發(fā)給服務提供者代理重加密密鑰,給服務提供者授權(quán);步驟S105,服務提供者利用用戶的查詢請求信息,若通過比較預先存儲的加密查詢關(guān)鍵詞與隱含查詢關(guān)鍵詞的陷門信息,驗證有滿足查詢請求的加密文件,則服務提供者用代理重加密密鑰加密符合用戶查詢請求的加密文件,并將加密文件提供給用戶,由用戶用自己的私鑰解密文件。優(yōu)選的,所述方法在當通過比較預先存儲的加密查詢關(guān)鍵詞與隱含查詢關(guān)鍵詞的陷門信息,驗證沒有滿足查詢請求的加密文件,還包括發(fā)送“未查找到符合查詢條件的文件”給用戶。本實施例中所述的方法中用到的基本工具是雙線性映射(雙線性對)。設G1和(;2 是生成元分別*Pi、P2的循環(huán)加法群,階為P。Gt是階為P的循環(huán)乘法群。其中群是代數(shù)里的基本概念,群的階表示群中的元素個數(shù)。對循環(huán)群而言,群G中任一元素可由某元素g 的整數(shù)次冪構(gòu)成,則g稱為G的生成元。具體的,滿足如下屬性的映射e =G1XG2 — Gt稱為雙線性對
(1)雙線性性對所有的 P e G1, Q e G2, a, b e Zq,有 e(aP,bQ) = e(P, Q)ab。(2)非退化性e(P,Q)乒 1。(3)可計算性對所有的P e G1, Q e (;2,存在有效算法計算e (P,Q)。為了進一步說明本實施例所述的方法,這里對其實現(xiàn)細節(jié)做具體的介紹假設參與方有數(shù)據(jù)擁有者A、服務提供者S、用戶U。選取安全參數(shù)K e Z+,生成素數(shù)q,素數(shù)階q的群G1和G2, —個雙線性映射e G1XG1— G2, g, h e G1, Z = e(g, g) e ( ;然后選擇兩個 Hash 函數(shù) H1 {0,1}* — G1*,
, Hash 函數(shù) H2 :G2 — {0,1}1。8%^1吐函數(shù)!14:62— {0,1}η,η 為整數(shù)。選取三個隨機元素《點 2:,計算《、?和#。明文空間包括0Μ=《Χ·
其中
權(quán)利要求
1.一種帶隱私保護的數(shù)據(jù)共享與發(fā)布的方法,其特征在于,所述方法包括數(shù)據(jù)擁有者根據(jù)預設需求,對擁有的數(shù)據(jù)及與數(shù)據(jù)相關(guān)的關(guān)鍵詞用公鑰加密后,存儲到服務提供者提供的存儲服務器;用戶向服務提供者發(fā)送關(guān)鍵詞查詢請求信息;所述請求信息是由隱含查詢關(guān)鍵詞的陷門信息構(gòu)成;服務提供者將接收的關(guān)鍵詞查詢請求信息轉(zhuǎn)發(fā)給數(shù)據(jù)擁有者; 數(shù)據(jù)擁有者,通過頒發(fā)給服務提供者代理重加密密鑰,給服務提供者授權(quán); 服務提供者利用用戶的查詢請求信息,若通過比較預先存儲的加密查詢關(guān)鍵詞與隱含查詢關(guān)鍵詞的陷門信息,驗證有滿足查詢請求的加密文件,則服務提供者用代理重加密密鑰加密符合用戶查詢請求的加密文件,并將加密文件提供給用戶,由用戶用自己的私鑰解密文件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括若通過比較預先存儲的加密查詢關(guān)鍵詞與隱含查詢關(guān)鍵詞的陷門信息,驗證沒有滿足查詢請求的加密文件,則發(fā)送“未查找到符合查詢條件的文件”給用戶。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對擁有的數(shù)據(jù)及與數(shù)據(jù)相關(guān)的關(guān)鍵詞用公鑰加密具體分以下子步驟完成對擁有的數(shù)據(jù)用公鑰加密; 對與擁有的數(shù)據(jù)相關(guān)的關(guān)鍵詞用公鑰加密。
4.一種帶隱私保護的數(shù)據(jù)共享與發(fā)布的裝置,其特征在于,所述裝置包括第一處理模塊,用于由數(shù)據(jù)擁有者根據(jù)預設需求,對擁有的數(shù)據(jù)及與數(shù)據(jù)相關(guān)的關(guān)鍵詞用公鑰加密后,存儲到服務提供者提供的存儲服務器;第二處理模塊,用于由用戶向服務提供者發(fā)送關(guān)鍵詞查詢請求信息;所述請求信息是由隱含查詢關(guān)鍵詞的陷門信息構(gòu)成;第三處理模塊,用于由服務提供者將接收的關(guān)鍵詞查詢請求信息轉(zhuǎn)發(fā)給數(shù)據(jù)擁有者; 第四處理模塊,用于由數(shù)據(jù)擁有者,通過頒發(fā)給服務提供者代理重加密密鑰,給服務提供者授權(quán);第五處理模塊,用于由服務提供者利用用戶的查詢請求信息,若通過比較預先存儲的加密查詢關(guān)鍵詞與隱含查詢關(guān)鍵詞的陷門信息,驗證有滿足查詢請求的加密文件,則服務提供者用代理重加密密鑰加密符合用戶查詢請求的加密文件,并將加密文件提供給用戶, 由用戶用自己的私鑰解密文件。
5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述裝置還包括第六處理模塊,用于當通過比較預先存儲的加密查詢關(guān)鍵詞與隱含查詢關(guān)鍵詞的陷門信息,驗證沒有滿足查詢請求的加密文件,發(fā)送“未查找到符合查詢條件的文件”給用戶。
6.根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述第一處理模塊包括以下子模塊 第一加密子模塊,用于對擁有的數(shù)據(jù)用公鑰加密;第二加密子模塊,用于對與擁有的數(shù)據(jù)相關(guān)的關(guān)鍵詞用公鑰加密。
全文摘要
本發(fā)明提供一種帶隱私保護的數(shù)據(jù)共享與發(fā)布的方法和裝置,數(shù)據(jù)擁有者根據(jù)預設需求,對擁有的數(shù)據(jù)及與數(shù)據(jù)相關(guān)的關(guān)鍵詞加密后,存儲到服務提供者,用戶向服務提供者發(fā)送關(guān)鍵詞查詢請求,服務提供者將接收的關(guān)鍵詞查詢請求轉(zhuǎn)發(fā)給數(shù)據(jù)擁有者,數(shù)據(jù)擁有者,通過頒發(fā)給服務提供者代理重加密密鑰,給服務提供者授權(quán),服務提供者利用用戶的查詢請求,若通過比較預先存儲的加密查詢關(guān)鍵詞與隱含查詢關(guān)鍵詞的陷門信息,驗證有滿足查詢請求的加密文件,則服務提供者用代理重加密密鑰加密符合用戶查詢請求的加密文件,并將加密文件提供給用戶,由用戶用自己的私鑰解密文件,確保數(shù)據(jù)擁有者的數(shù)據(jù)隱私的保護,將數(shù)據(jù)擁有者的數(shù)據(jù)共享給授權(quán)的合法使用者。
文檔編號H04L29/06GK102176709SQ201010586198
公開日2011年9月7日 申請日期2010年12月13日 優(yōu)先權(quán)日2010年12月13日
發(fā)明者李勇, 陳曦 申請人:北京交通大學