行業資訊

MongoDB有哪些數據脫敏技術?

2022-05-19 10:49:10 fast 5

為什么需要知道掩蓋技術?因為這是一種匿名化數據的方法,這樣就可以使用包含敏感或個人信息的數據進行測試或開發。 即使你負責的數據庫具有完全的訪問控制和安全性,你也可能需要多種數據脫敏技術來支持應用程序。

例如,你可能需要動態脫敏數據以確保應用程序不會暴露不必要的敏感信息?;蛘?,如果您需要對實際生產數據運行測試或開發,而實際生產數據包含個人或敏感信息,則可能需要脫敏真實數據。

如果你需要將生產數據推到一個安全性較低的環境,你也需要進行數據脫敏技術,為了分發報告或者分析相應的數據,并且必須保留報告所需要的基礎數據。

出于培訓或用戶測試的目的,常見的做法是生成看起來像真實數據的假數據。這是一個不同的過程,需要不同的技能。

為什么需要脫敏數據?

關于數據的各種規則適用于任何數據庫、文件或電子表格。從法律的角度來看,在哪里保存數據并不重要。如果你是組織的一部分,你應該只能訪問適合你在組織中角色的信息。如果你沒有合法的理由訪問該數據,那么你必須無法訪問該數據。

總結:

所有數據都必須以可靠的方式進行管理,無論它在哪里保存。法律并不關心你用什么方法存儲數據,只要你這樣做了。

如果包含可能獲取個人的數據(PII數據),它必須在任何時候都具有訪問限制。此外,法律提供了就如何匿名或偽匿名數據給出指示性建議。它只是要求在適當的時候這樣做。

法律要求不能在匿名數據中識別任何個人或團體,即使它與其他數據源結合在一起。如何讓數據實現這一目標是我們所關心的,而實現這一目標的技術在當前的法律中沒有明確的定義。

如果可以通過重新識別或去匿名化來識別個人,那么數據就沒有正確地匿名化。這種重新識別技術多年來被執法機構和情報機構用于破解犯罪網絡,可以肯定的是,暗網也有同樣的技術。

脫敏與MongoDB

因為你保存和處理數據的方式與法律無關,MongoDB和其他任何數據格式一樣面臨同樣的挑戰。

由于MongoDB在默認情況下不啟用訪問控制,所以第一個明顯的步驟是提供基于角色的訪問控制和數據庫及服務器的安全性。

相關的閱讀:MongoDB安全提示,以確保遠離黑客

然而,任何文檔數據,無論是非結構化文本、YAML、JSON或XML,對于負責將其匿名化的任何人來說都有特定的問題。除非包含模式和規范的方法,否則敏感數據可能存在于任何地方,并且可以在多個地方重復。

在具有“非規范化”或包含XML或JSON列的關系型結構數據中,可能會遇到同樣的問題。如果進行檢查,通常會發現相同的數據存在于多個位置,并且其中兩個數據具有相同的名稱,而忽略對它們進行脫敏,那么就存在潛在的漏洞。

MongoDB基于集合的概念。一個集合,就像一個關系數據庫表,包含一個或多個文檔。每個文檔都是一組鍵值對。

圖片關鍵詞

圖片地址:

https://studio3t.com/wp-content/uploads/2018/10/mongodb-document-structure.png

MongoDB使用集合、文檔和鍵值對來構造數據

由于同一個集合中的文檔不需要具有相同的字段集或結構,因此集合文檔中具有相同名稱的字段可能包含不同類型的數據。它們可以保存數組,其中可以包含各種類型的數據。

基本上,MongoDB很少強制執行模式。這使得制作一個系統的自動化脫敏程序變得更加困難。

事實上,如果沒有一致的模式,那么定義掩碼的過程會變得非常冗長。要實現屏蔽,可以使用MongoDB的只讀非物化視圖、字段級密文或字段級加密等技術。

視圖是最簡單的方法,因為它們基于聚合管道,因此可以創建相當復雜的集合篩選器。您需要將這些數據托管到生產數據庫中,并使用它們導出脫敏后的數據。

然而,盡管這些方法可以實現假名化,但它們需要大量的編程,假設對模式進行合理的強制執行,并且不能滿足所有的需求。

假名化、匿名化、聚合、屏蔽和數據生成

有很多技術可以使數據匿名。最合適的選擇取決于您需要匿名化數據的原因。

如果為了開發工作的需要,那么任何敏感數據必須被脫敏。為了培訓或用戶測試,數據也必須是需要脫敏。為了測試數據的彈性和可伸縮性,數據生成來提供必要的方法。

聚合

如果數據是用于報告的,那么僅僅通過在報告所需的最低級別上,提供一個聚合就可以實現很大的效果。

例如,如果它是用于報告交易,而最詳細的報告是關于一天的交易,那么數據只能提供每天的數據。

如果某些群體的人數較少,聚合的個人數據可以被重新識別。這發生在開放數據醫療信息和犯罪記錄上。

屏蔽

動態屏蔽不同于靜態屏蔽,因為它是對數據查詢的結果進行屏蔽。它只在目的地具有訪問控制以防止臨時查找/連接的情況下有效。不同的數據庫系統以不同的方式進行動態屏蔽,但MongoDB使用視圖和編校投影技術。動態屏蔽的優點是它避免破壞約束數據的應用程序邏輯。

如果將***放入實際的數字數據中,它可能會在JSON Schema中失敗,因為它不再看起來像一個數字。

如果你有一個電話號碼、郵政編碼或卡號,情況就更復雜了,因為如果違反了校驗和或特殊的驗證規則,那么用數字掩蓋的數字的驗證可能會失敗。

假名化

假名化是一種數據掩蓋技術,其中個人可能需要重新識別。

例如,如果一家醫院需要根據病史對某些病理或最佳治療的可能性進行分析,則報告必須掩蓋個人細節,以便重新識別。

最明顯的是,在必要的醫療信息中留下一個“替代”鍵,以取代個人(PII)信息,然后可用于從隨后的報告中重新識別個別患者。

如果個人信息“泄露”到醫療信息中,并且在法律上不認為這等同于匿名化,那么這種安全性就會被打破。

數據生成

數據生成用于應用程序測試和培訓:對于尚未發布的應用程序,它是唯一的方法。它可能看起來很簡單,而且它可能只是字段中的信息可能是相關的??蛻魧⒌玫竭壿嬕恢碌男畔?,可能是與性別相關的,約會可能需要在其他約會之前或之后,并將需要一個真實的跨度。

Studio 3T中的數據屏蔽

Studio 3T中的數據屏蔽是對其編輯和操作MongoDB數據能力的一個明顯的擴展,它與它的“Reschema”功能有效地結合在一起。這將告訴你許多關于數據位置的信息。

數據屏蔽由“任務”以與任何其他可重復作業相同的方式完成,可以保存、調度和編輯。訪問屏蔽數據,右鍵單擊要屏蔽的集合,然后在出現的上下文菜單中單擊“屏蔽集合”。

圖片關鍵詞

圖片地址:

https://studio3t.com/wp-content/uploads/2021/01/word-image-402.png

在Studio 3T的任意集合上單擊右鍵,選擇屏蔽集合一個任務由一個或多個“單元”組成,每個單元管理一個集合的屏蔽。一個“單元”允許您屏蔽整個集合,并決定哪些字段應該混淆。您可以屏蔽原始集合,也可以將其保存為新集合。

在它的第一個版本中,集中討論了通常用于動態數據屏蔽的“屏蔽”技術。你還不能做混排,同步或替換。屏蔽的類型取決于字段的數據類型。

圖片關鍵詞

圖片地址:

https://studio3t.com/wp-content/uploads/2021/01/word-image-403.png

Studio 3T中的“數據屏蔽單元”

可以從20種不同的數據類型中選擇一種,屏蔽或混淆的類型取決于數據類型。

例如,數組可以被排除、空值或空對象。字符串部分或全部替換為散列(#)或星號(*)字符。整數可以與原始值不同,可以是原始值的一個變化百分比,也可以是原始值的一個固定百分比,或者可以用一個固定的值替換它們。

日期可以在您可以定義的范圍內給出一個隨機值。

圖片關鍵詞

圖片地址:

https://studio3t.com/wp-content/uploads/2021/01/word-image-404.png

編輯字段映射并選擇數據屏蔽技術

這只有簡單幾個符合模式的集合的數據庫,因為每個字段是完全獨立完成的,并沒有為用戶自行設定默認值,你需要選擇相關的方法,(例如,一個整數的方差)這不是快速的大型數據庫。

這種屏蔽的第一次迭代對于大多數目的來說已經足夠了,但是如果它有效地執行了,您的數據看起來就不會那么漂亮,而且可能不會有相同的分布。然而,它是有效的。

對于我們這些對數據混淆感興趣的人來說,他們對混淆文本的方式感到自豪,這種方式使文本看起來像真實的數據,甚至通過約束和模式驗證規則。實際上,這只在培訓、用戶驗收或性能測試中使用。

Studio 3T提供的屏蔽功能在第一次迭代中提供了足夠的功能,允許在普通開發工作和“下游”報告中屏蔽數據。

結論

當你開發、維護或測試一個數據驅動的應用程序時,如果有大量的數據,就會容易得多。許多問題,尤其是性能問題,只有在有大量數據的情況下才會浮出水面。通過在大型數據集上嘗試各種想法,應用程序設計很快就得到了完善。

如果你有一個現有的應用程序,那么使用實時數據總是很誘人的,有時也是必要的。

屏蔽數據的功能必須是任何處理數據的開發人員的工具包的一部分。這有助于確保您負責任地處理實時數據。然而,它只是數據庫開發人員的一個基本工具,用于滿足業務依賴于數據的組織的需求。

為了滿足社會的需求,它必須與數據生成、加密、聚合、訪問控制一起使用,以保護敏感和個人信息。

關于作者:管祥青

湖南大學研究生畢業,畢業后在??低曆芯吭簭氖麓髷祿邪l及機器學習相關工作,現在就職于一家大數據金融公司。


动漫精品欧美一区二区三区-无码一级毛片一区二区色欲-无码日韩精品无码国产-欧美视频一二三区