[英]Mongodb community - at rest data encryption in node js
我正在尋找一種方法來加密整個數據庫並保持搜索數據的能力,盡管它是加密的。
我在 Mongo 中看到了很多關於 rest 數據加密的問題,但沒有一個答案可以幫助他們完成應用程序的完整流程。 我希望在這里展示我的發現並獲得反饋和更多想法(我還有一些問題)。
加密選項:
1.貓鼬加密。 完整的解決方案。 可以用最少的工作為您加密所有數據庫!
2. Procona mongodb - 我沒有機會測試它,我花了好幾個小時試圖安裝並讓它運行,但沒有運氣(這可能只是我自己..)。
3. 在模塊級別創建 get 和 send 方法來加密和解密您的數據。
我對 rest 數據加密的要求是:
我的做法:
我想嘗試使用 mongoose-encryption 來利用這個驚人插件的所有好處。
我還想將加密字段中 Real 值的 Hash 添加到架構中,以便我可以對加密字段執行查找操作。
問題:我似乎無法找到正確的 mongoose Hook 以在 mongoose-encryptions 隱藏它之前對未加密數據進行調和。 所以我無法生成我的 Hash。
這不起作用:
Users.pre('save', () => {
this.hashedName = hash(this.name)
console.log(":(")
});
同樣如上所述,在加密數據中搜索部分和短語。 使用我的方法,我們可以找到名為“Danielle”的人,但我們無法在 Hash 中搜索名稱以“Dani”開頭的用戶。
請給我您的意見以及我的方法。 我知道這是一個不容易找到解決方案的話題。
如果要加密磁盤上的數據,請加密整個磁盤並加密交換。 如果有人獲得了數據庫的副本(例如,您忘記將身份驗證放在數據庫上,而有人連接到數據庫並轉儲數據),則明文將被公開。
如果您希望數據庫僅存儲加密數據,請使用客戶端加密。 這需要在客戶端進行密鑰管理,但這樣做會使轉儲您的數據庫的人無法獲得明文。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.