0

我正在寫一個VB.NET桌面應用程序依靠MS Access * .accdb 數據庫。當我的應用程序安裝在最終用戶機器上時,數據庫文件必須與程序集位於同一目錄中。如何防止用戶查看我正在使用的數據庫文件?

我擔心的是我希望數據保持機密,並且訪問數據庫的密碼保護很容易被破壞。

我該如何保護這些數據?

我想過把數據庫嵌入到我的程序集中,但它看起來像是(或者是)not possible。儘管如此,我嘗試了embed,但我無法弄清楚如何修改我的連接字符串。

任何幫助非常感謝!

回答

2

訪問權限對機密數據來說不是一個合適的存儲介質。正如你所說,密碼機制很容易被破壞。

您可以將所有機密數據以加密形式存儲在數據庫中,但仍需要將加密密鑰存儲在同一個系統上,以便應用程序讀取數據。你的應用程序需要進行加密/解密。至少當文件被打開並且密碼被猜出時,內容仍然難以閱讀。任何具有足夠的.NET和安全知識的人都可以解密數據,因爲您必須將加密密鑰存儲在應用程序可以檢索它的位置以加密/解密數據。

嵌入數據庫也無濟於事,因爲嵌入式資源無法在運行時更新,除非您也加密整個程序集(有些工具可以實現這一點),否則它們可以很容易地從程序集中提取出來。

底線:當機密性很關鍵時,不要儲存一個人不能/不可以在他/她的系統上看到的數據。或者不要將加密密鑰存儲在該人的系統上。

+0

另一種解決方案可能是第三方軟件,將我的所有文件打包成安全的可執行文件。這是否存在? – Nicolas

+0

你可以嘗試某種形式的虛擬化......沿着http://spoon.net/studio – jessehouwing

相關問題