本發(fā)明涉及云計(jì)算安全技術(shù)領(lǐng)域,具體涉及一種多用戶環(huán)境下基于公鑰加密的文件分類方法和文件分類系統(tǒng)。
背景技術(shù):
隨著云計(jì)算的飛速發(fā)展,越來(lái)越多的文件被外包到云上以減少用戶端的存儲(chǔ)負(fù)擔(dān),但有的時(shí)候?yàn)榱烁玫毓芾砦募?,需要根?jù)文件的一些屬性對(duì)文件進(jìn)行分類,比如每個(gè)文件都有相應(yīng)的關(guān)鍵詞,根據(jù)關(guān)鍵詞對(duì)文件進(jìn)行分類。如果這些都要依靠手工來(lái)完成的話,會(huì)消耗大量的人力物力,并且可能導(dǎo)致一些不必要的信息泄露。所以我們把這些工作交給云服務(wù)器來(lái)完成,但是,因?yàn)樵品?wù)器是一個(gè)公共的平臺(tái),數(shù)據(jù)的安全會(huì)受到威脅,為了不泄露數(shù)據(jù)的隱私,要將數(shù)據(jù)加密后外包存儲(chǔ)在云服務(wù)器。
傳統(tǒng)的文件分類方法大多數(shù)都是根據(jù)明文進(jìn)行分類,沒(méi)有考慮數(shù)據(jù)的隱私,這樣數(shù)據(jù)的安全性不能得到保證,所以需要一種安全可靠的文件分類方法。在實(shí)施本發(fā)明的過(guò)程中,我們對(duì)文件內(nèi)容進(jìn)行加密,對(duì)文件關(guān)鍵詞密文進(jìn)行分類,進(jìn)而可以解決文件分類安全的問(wèn)題。
文件的分類可以理解成在文件中搜索相應(yīng)的關(guān)鍵詞,把搜索到的相同關(guān)鍵詞的文件歸為一類。然而,傳統(tǒng)的密文搜索方法大多只適合在單用戶環(huán)境,無(wú)法應(yīng)用到多用戶環(huán)境中,也就是說(shuō)只能對(duì)單個(gè)用戶的文件進(jìn)行關(guān)鍵詞搜索分類。而在實(shí)際應(yīng)用中,比如一個(gè)公司,要對(duì)公司的所有文件進(jìn)行整理分類,不同的部門,不同的職位都保存有相應(yīng)的文件,這就是一個(gè)多用戶的場(chǎng)景,因此,在實(shí)施本發(fā)明的過(guò)程中,我們考慮多用戶環(huán)境,每個(gè)用戶都加密他們的文件,并存儲(chǔ)外包到云服務(wù)器,云服務(wù)器根據(jù)用戶和文件管理者的授權(quán)將他們加密的文件依據(jù)關(guān)鍵詞或者其他一些分類的標(biāo)準(zhǔn)進(jìn)行分類,實(shí)現(xiàn)保護(hù)文件的分類和對(duì)文件內(nèi)容的隱私保護(hù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有的不足,在保護(hù)文件數(shù)據(jù)隱私的前提下,提供一種多用戶環(huán)境下基于公鑰加密的文件分類方法和文件分類系統(tǒng)。
為此,本發(fā)明一方面提供了一種多用戶環(huán)境下基于公鑰加密的文件分類方法,包括以下步驟:(1)系統(tǒng)初始化,生成公開參數(shù);(2)為系統(tǒng)中文件管理者和每個(gè)用戶生成一對(duì)公/私鑰對(duì);(3)加密文件的關(guān)鍵詞和文件內(nèi)容,并將加密的關(guān)鍵詞和內(nèi)容密文外包存儲(chǔ)至云服務(wù)器;(4)用戶和文件管理者分別生成陷門授權(quán)給云服務(wù)器,讓云服務(wù)器擁有執(zhí)行關(guān)鍵詞等值匹配的權(quán)利;(5)云服務(wù)器執(zhí)行關(guān)鍵詞等值匹配,將文件按照關(guān)鍵詞類別分類整理。
進(jìn)一步地,所述步驟(1)的具體過(guò)程為:
系統(tǒng)(指可信權(quán)威機(jī)構(gòu)),應(yīng)用雙線性群產(chǎn)生算法
進(jìn)一步地,所述步驟(2)的具體過(guò)程為:
(21)為文件管理者生成一對(duì)公/私鑰對(duì)(pkf,skf),隨機(jī)選擇
(22)為每個(gè)用戶生成一對(duì)公/私鑰對(duì):假設(shè)系統(tǒng)中有n個(gè)用戶{u1,u2,…,un},為每個(gè)用戶ui(1≤i≤n)生成一對(duì)公/私鑰對(duì)(pki,ski),隨機(jī)選擇
進(jìn)一步地,所述步驟(3)的具體過(guò)程為:
用戶ui利用其公鑰pki對(duì)文件mi及其關(guān)鍵詞wi進(jìn)行加密。
(31)首先,對(duì)文件mi加密我們使用對(duì)稱加密算法,密文為ek(mi),具體細(xì)節(jié)不再闡述,然后使用公鑰加密算法對(duì)關(guān)鍵詞wi進(jìn)行加密,隨機(jī)選擇
(32)文件管理者也會(huì)利用其公鑰pkf對(duì)指定的分類標(biāo)準(zhǔn),比如關(guān)鍵詞進(jìn)行加密,假設(shè)這里所有需要分類關(guān)鍵詞是l個(gè)(w1,w2,…,wl)使用上述公鑰加密算法進(jìn)行加密,密文用cf表示。
進(jìn)一步地,所述步驟(4)的具體過(guò)程為:
(41)用戶陷門生成:利用用戶的私鑰,為用戶ui生成授權(quán)陷門tdi=y(tǒng)i。
(42)文件管理者陷門生成:利用文件管理者的私鑰,為文件管理者生成授權(quán)陷門tdf=y(tǒng)f。
進(jìn)一步地,所述步驟(5)的具體過(guò)程為:
云服務(wù)器將一個(gè)用戶加密的關(guān)鍵詞密文和文件管理者加密的關(guān)鍵詞密文進(jìn)行相等性判斷,按關(guān)鍵詞對(duì)文件進(jìn)行分類。
為了比較用戶ui和文件管理者的密文對(duì)應(yīng)的文件關(guān)鍵詞是否相等,云服務(wù)器首先需要接收到ui和文件管理者發(fā)送的陷門,運(yùn)行test(ci,tdi,cf,tdf)計(jì)算
根據(jù)本發(fā)明的另一方面,提供了一種多用戶環(huán)境下基于公鑰加密的文件分類系統(tǒng),包括可信的授權(quán)機(jī)構(gòu)、多個(gè)用戶、文件管理者、以及云服務(wù)器,其中,所述可信的授權(quán)機(jī)構(gòu)上存儲(chǔ)有系統(tǒng)程序,該系統(tǒng)程序在執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:系統(tǒng)初始化,生成公開參數(shù);以及為系統(tǒng)中文件管理者和每個(gè)用戶生成一對(duì)公/私鑰對(duì);所述多個(gè)用戶上存儲(chǔ)有客戶端程序,該客戶端程序在執(zhí)行時(shí)實(shí)行以下步驟:用戶對(duì)文件的關(guān)鍵詞和文件內(nèi)容進(jìn)行加密,并將加密的關(guān)鍵詞和內(nèi)容密文外包存儲(chǔ)至云服務(wù)器;以及用戶生成陷門授權(quán)給云服務(wù)器;所述文件管理上存儲(chǔ)有管理端程序,該管理端程序在執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:管理者按關(guān)鍵詞分類規(guī)則,一一將關(guān)鍵詞用自己的公鑰加密后外包存儲(chǔ)至云服務(wù)器;當(dāng)需要將用戶上傳的文件進(jìn)行分類時(shí),管理者發(fā)送一個(gè)授權(quán)陷門給云服務(wù)器,讓云服務(wù)器擁有執(zhí)行關(guān)鍵詞等值匹配的權(quán)利;以及所述云服務(wù)器上存儲(chǔ)有分類整理程序,該分類整理程序在執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:云服務(wù)器執(zhí)行關(guān)鍵詞等值匹配,將文件按照關(guān)鍵詞類別分類整理。
本發(fā)明的優(yōu)點(diǎn)是:讓云服務(wù)器完成按關(guān)鍵詞對(duì)文件的分類,減少了人力的消耗;對(duì)分類文件內(nèi)容進(jìn)行了加密,很好地保護(hù)了數(shù)據(jù)的隱私,并且云服務(wù)器在分類過(guò)程中得不到任何關(guān)于分類標(biāo)準(zhǔn)關(guān)鍵詞和文件內(nèi)容的信息;適用于多用戶環(huán)境,可以在多用戶環(huán)境下使用分類算法來(lái)判斷文件該分為哪一類,符合實(shí)際需求。
除了上面所描述的目的、特征和優(yōu)點(diǎn)之外,本發(fā)明還有其它的目的、特征和優(yōu)點(diǎn)。下面將參照?qǐng)D,對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
附圖說(shuō)明
構(gòu)成本申請(qǐng)的一部分的說(shuō)明書附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明的多用戶環(huán)境下基于公鑰加密的文件分類方法的整體流程圖;以及
圖2是根據(jù)本發(fā)明的多用戶環(huán)境下基于公鑰加密的文件分類方法的系統(tǒng)模型圖。
具體實(shí)施方式
需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。
為便于進(jìn)一步理解本發(fā)明,以下首先就本發(fā)明的技術(shù)術(shù)語(yǔ)進(jìn)行解釋和說(shuō)明:
系統(tǒng):指可信的授權(quán)機(jī)構(gòu)。初始化公開參數(shù),并為文件管理者和用戶生成一對(duì)公/私鑰對(duì)。
用戶:系統(tǒng)中存儲(chǔ)文件的一方。使用公鑰加密系統(tǒng),通常是使用用戶的公鑰將文件關(guān)鍵詞加密以及使用對(duì)稱加密算法對(duì)文件的內(nèi)容加密,之后將兩個(gè)密文一起外包存儲(chǔ)在云服務(wù)器上。在本發(fā)明中,用戶加密文件及其關(guān)鍵詞外包至云服務(wù)器,如果需要將文件分類,用戶需要發(fā)送一個(gè)授權(quán)陷門給云服務(wù)器。
文件管理者:按照制定的分類規(guī)則,比如按關(guān)鍵詞分類,一一將關(guān)鍵詞用自己的公鑰加密后外包存儲(chǔ)至云服務(wù)器,當(dāng)需要將用戶上傳的文件進(jìn)行分類時(shí),發(fā)送一個(gè)授權(quán)陷門給云服務(wù)器。讓云服務(wù)器在其密文和用戶密文間進(jìn)行關(guān)鍵詞等值比較,將用戶的文件按其標(biāo)準(zhǔn)進(jìn)行分類。
云服務(wù)器:文件的存儲(chǔ)方。主要工作是將用戶發(fā)來(lái)的授權(quán)陷門和密文與文件管理者存儲(chǔ)在云上的密文進(jìn)行相等性匹配,從而將文件進(jìn)行很好的分類,而云服務(wù)器不會(huì)知道任何關(guān)于分類關(guān)鍵詞以及文件內(nèi)容的信息。
如圖1所示,本發(fā)明的在云環(huán)境下一種多用戶環(huán)境下基于公鑰加密的文件分類方法,其過(guò)程主要如下:
(1)系統(tǒng)初始化,生成公開參數(shù);
(2)為系統(tǒng)中文件管理者和每個(gè)用戶生成一對(duì)公/私鑰對(duì);
(3)加密文件的關(guān)鍵詞和文件內(nèi)容,并將加密的關(guān)鍵詞和內(nèi)容密文外包存儲(chǔ)至云服務(wù)器;
(4)用戶和文件管理者分別生成陷門授權(quán)給云服務(wù)器,讓云服務(wù)器擁有執(zhí)行關(guān)鍵詞等值匹配的權(quán)利;
(5)云服務(wù)器執(zhí)行關(guān)鍵詞等值匹配,將文件按照關(guān)鍵詞類別分類整理。
實(shí)施例1:
如圖2所示,本實(shí)施例適用于云計(jì)算環(huán)境中,在這個(gè)云計(jì)算系統(tǒng)環(huán)境中,有4個(gè)實(shí)體:可信的授權(quán)機(jī)構(gòu)、半可信的云服務(wù)器、可信的文件管理者以及用戶。其中半可信的云服務(wù)器指云服務(wù)器會(huì)誠(chéng)實(shí)地按照既定的協(xié)議提供存儲(chǔ)與計(jì)算服務(wù)。
本實(shí)施例的具體步驟如下:
步驟(1)的具體實(shí)施過(guò)程如下:
系統(tǒng)(指可信權(quán)威機(jī)構(gòu)),應(yīng)用雙線性群產(chǎn)生算法
步驟(2)的具體實(shí)施過(guò)程如下:
(21)為文件管理者生成一對(duì)公/私鑰對(duì)(pkf,skf),隨機(jī)選擇
(22)為每個(gè)用戶生成一對(duì)公/私鑰對(duì):假設(shè)系統(tǒng)中有n個(gè)用戶{u1,u2,…,un},為每個(gè)用戶ui(1≤i≤n)生成一對(duì)公/私鑰對(duì)(pki,ski),隨機(jī)選擇
步驟(3)的具體實(shí)施過(guò)程如下:
用戶ui利用其公鑰pki對(duì)文件mi及其關(guān)鍵詞wi進(jìn)行加密。
(31)首先,對(duì)文件mi加密我們使用對(duì)稱加密算法,密文為ek(mi),具體細(xì)節(jié)不再闡述,然后使用公鑰加密算法對(duì)關(guān)鍵詞wi進(jìn)行加密,隨機(jī)選擇
(32)文件管理者也會(huì)利用其公鑰pkf對(duì)指定的分類標(biāo)準(zhǔn),比如關(guān)鍵詞進(jìn)行加密,假設(shè)這里所有需要分類關(guān)鍵詞是l個(gè)(w1,w2,…,wl)使用上述公鑰加密算法進(jìn)行加密,密文用cf表示。
步驟(4)的具體實(shí)施過(guò)程如下:
(41)用戶陷門生成:利用用戶的私鑰,為用戶ui生成授權(quán)陷門tdi=y(tǒng)i。
(42)文件管理者陷門生成:利用文件管理者的私鑰,為文件管理者生成授權(quán)陷門tdf=y(tǒng)f。
步驟(5)的具體實(shí)施過(guò)程如下:
云服務(wù)器將一個(gè)用戶加密的關(guān)鍵詞密文和文件管理者加密的關(guān)鍵詞密文進(jìn)行相等性判斷,按關(guān)鍵詞對(duì)文件進(jìn)行分類。
為了比較用戶ui和文件管理者的密文對(duì)應(yīng)的文件關(guān)鍵詞是否相等,云服務(wù)器首先需要接收到ui和文件管理者發(fā)送的陷門,運(yùn)行test(ci,tdi,cf,tdf)計(jì)算
由實(shí)施例可以看出,發(fā)明可以對(duì)加密的文件按照既定的規(guī)則進(jìn)行分類存儲(chǔ),并且在存儲(chǔ)分類的過(guò)程保護(hù)了數(shù)據(jù)的隱私,增加了文件存儲(chǔ)的可靠性。
本發(fā)明能實(shí)現(xiàn)對(duì)加密的文件數(shù)據(jù)存儲(chǔ)和分類的功能,并且在此過(guò)程中能很好地保護(hù)文件內(nèi)容的隱私,同時(shí),不僅僅是在用戶和文件管理者之間能進(jìn)行關(guān)鍵詞等值匹配,可以在兩個(gè)任意用戶的密文間進(jìn)行關(guān)鍵詞密文的等值匹配,這可以擴(kuò)展到其他的應(yīng)用場(chǎng)景,比如郵件管理系統(tǒng),emrs等,具有靈活性。
需要指出的是,執(zhí)行關(guān)鍵詞等值匹配時(shí),云服務(wù)器只有當(dāng)收到用戶和文件管理者發(fā)送的授權(quán)陷門時(shí),才能開始進(jìn)行關(guān)鍵詞匹配分類。當(dāng)不需要進(jìn)行文件管理分類時(shí),該系統(tǒng)也可以看做一個(gè)云存儲(chǔ)系統(tǒng),減少用戶端的存儲(chǔ)代價(jià)。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。