本發(fā)明涉及數(shù)據(jù)挖掘技術(shù)領(lǐng)域,特別涉及一種垂直分布式關(guān)聯(lián)規(guī)則挖掘隱私信息保護方法。
背景技術(shù):
伴隨著數(shù)據(jù)挖掘技術(shù)在各個領(lǐng)域的廣泛應(yīng)用,數(shù)據(jù)挖掘?qū)τ脩舻碾[私和數(shù)據(jù)安全所造成的威脅越來越引起人們的關(guān)注。在涉及企業(yè)敏感數(shù)據(jù)(如電子病歷中包含的醫(yī)院醫(yī)療業(yè)務(wù)或財務(wù)狀況)或個人隱私信息(如電子病歷中包含的患者隱私病癥)的各種數(shù)據(jù)挖掘日常應(yīng)用中,對于如何提高數(shù)據(jù)的安全性引起了學(xué)者的廣泛關(guān)注。
目前國內(nèi)外的隱私保護數(shù)據(jù)挖掘算法主要有基于數(shù)據(jù)擾亂的、基于查詢限制等方法,在分布式環(huán)境下主要有基于查詢限制或數(shù)據(jù)擾亂和查詢限制混合使用等方法。數(shù)據(jù)擾亂首先通過數(shù)據(jù)離散化、數(shù)據(jù)隨機變換和增加噪聲等操作對原始數(shù)據(jù)進行干擾,對干擾后的數(shù)據(jù)進行挖掘,減少挖掘中隱私的泄漏;查詢限制則是通過數(shù)據(jù)隱藏、抽樣、劃分或加密等方式,再利用概率統(tǒng)計或分布式計算的方法得到挖掘結(jié)果,以達到保護數(shù)據(jù)的目的。目前分布式環(huán)境下關(guān)聯(lián)規(guī)則挖掘隱私保護算法較多的使用同態(tài)加密技術(shù),該技術(shù)最主要的特點是對經(jīng)過同態(tài)加密的數(shù)據(jù)進行處理得到一個輸出,將這一輸出進行解密,其結(jié)果與用同一方法處理未加密的原始數(shù)據(jù)得到的輸出結(jié)果是一樣的。在將該技術(shù)運用在分布式關(guān)聯(lián)規(guī)則挖掘中時,私鑰擁有者容易通過兩兩計算站點的信息,獲得足夠多的方程組后,解出各站點數(shù)據(jù)集中項集的支持度信息造成隱私泄漏。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)存在的不足,本發(fā)明提出一種垂直分布式關(guān)聯(lián)規(guī)則挖掘隱私信息保護方法,增強在垂直分布式環(huán)境下關(guān)聯(lián)規(guī)則挖掘中各站點支持度和個體信息的安全性,圖2是分布式數(shù)據(jù)挖掘框架。
主要思想如下:
(1)在對站點的數(shù)據(jù)進行挖掘之前,首先使用部分隨機化回答方法對原始數(shù)據(jù)集進行隱藏與干擾,對隱藏與干擾后的數(shù)據(jù)進行挖掘,再通過重構(gòu)方法重構(gòu)出數(shù)據(jù)中包含的項的支持度,保護站點原始數(shù)據(jù)的安全性的同時,通過重構(gòu)項集支持度來保證數(shù)據(jù)的準確性。
(2)在計算分布在各站點中的數(shù)據(jù)的項的支持度時,各站點先對數(shù)據(jù)進行paillier算法加密,paillier算法具有加法同態(tài)加密性質(zhì),站點之間通過對已加密的項的數(shù)據(jù)進行相加操作,高效安全地求出項集的全局支持度。
附圖說明
圖1是方法流程圖;
圖2是分布式數(shù)據(jù)挖掘框架。
具體實施方式
一種垂直分布式關(guān)聯(lián)規(guī)則挖掘隱私信息保護方法,如圖1所示,包含以下步驟:
若k=1,即判斷1-項集是否為頻繁項集,通過統(tǒng)計該1-項集存在的事務(wù)個數(shù),即
若k≥2,則采用以下方法:
(1)各站點si(1≤i≤n)產(chǎn)生paillier加密算法密鑰對(ei,di),并把公鑰ei發(fā)送給dsc,在dsc向站點發(fā)送數(shù)據(jù)時,先使用與該站點相應(yīng)的公鑰ei對數(shù)據(jù)進行加密,保證數(shù)據(jù)在傳輸中的安全性;
(2)dsc產(chǎn)生paillier加密算法密鑰對(pk,sk)和隨機干擾參數(shù)p1,p2,使用ei對公鑰pk、和參數(shù)p1,p2進行加密并發(fā)送到各站點,在站點向其他站點或者dsc發(fā)送數(shù)據(jù)時,先使用公鑰pk對數(shù)據(jù)進行加密,保證數(shù)據(jù)在傳輸中的安全性;
(3)站點si根據(jù)從dsc接收到的隨機干擾參數(shù)p1和p2并行使用部分隨機化回答方法對原始數(shù)據(jù)進行隱藏與擾亂;
(4)當si擁有多個頻繁項集時,對每個事務(wù)向量
(5)si使用公鑰pk對
(6)dsc將接收到的結(jié)果進行解密,即得到該項集隱藏與擾亂后的全局事務(wù)向量,通過重構(gòu)方法重構(gòu)出原始數(shù)據(jù)中的k-項集的全局事務(wù)向量,最后統(tǒng)計出k-項集的事務(wù)向量中“k”出現(xiàn)的次數(shù),即為k-項集的全局支持數(shù)。
以上對本發(fā)明的具體實施例進行了描述。需要理解的是,本發(fā)明并不局限于上述特定實施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變形或修改,這并不影響本發(fā)明的實質(zhì)內(nèi)容。