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