Mysql

帶有 MS Access2003-VBA 的加密和使用者控制的後端

  • March 26, 2018

我的客戶有一個 Access 2003“多使用者”(<6)“數據庫”(<3k 記錄),“加密”位於 LAN 文件夾中,我使用 VBA(DAO 庫)拋光了一個簡單的表格。使用非常簡單的工具可以在不到一秒的時間內破解 Access 2003 加密。應該對數據應用適當級別的加密(可能還有使用者控制)。我的客戶需要一個“簡單”的解決方案;他們可以在沒有工程師幫助的情況下自行管理(就像他們使用 access mdb 文件所做的那樣)。一些電腦具有 Access 2003,一些具有 Access 2007(因此 2007 的奇妙而直接的加密不是解決方案)。Access 2003 拒絕通過 ODBC 連接到 access 2007 數據庫,並且還以純文字形式儲存連結表的密碼(並且不要求提供密碼)。

我想到了以下幾點:

  • 對單個欄位進行編碼。使用者生成一個 sha-512 雜湊,從每個欄位中減去該雜湊以獲得解密的欄位。問題:Access 表的手動版本在該數據庫中很常見。
  • MySQL 在電腦伺服器中,它們通過 ODBC 連接到數據庫。或 SQL Express(使用 Access 似乎更好)。問題:必須有人定期配置和管理伺服器。鑑於數據量稀少且不經常使用,它似乎異常複雜。sqlite(它也有一個 ODBC 驅動程序)似乎沒有很好的加密。我相信在他們的案例中,複雜的解決方案比簡單的解決方案具有更大的安全風險……
  • zip 文件中的 mdb 文件,說明包括在需要使用文件時提取文件。可以解決問題,但不夠優雅或不夠安全(如果黑客在打開數據庫時進入遠端文件夾,他將獲得對所有數據的訪問權限)。該文件每天只打開一次或兩次。

你有什麼建議?你有其他想法嗎?我想了很多次,看來我必須選擇 SQL Express 2008;我不喜歡這個解決方案。謝謝

我已經和他們談過了。他們考慮遷移到 Access 2007,它提供數據保護但沒有像樣的每使用者控制。

這是一個糟糕的解決方案。我將研究 JDBC-ODBC GPL 橋和現代 GPL 數據庫。

我希望可以提及我們的第三方產品NetLib Encryptionizer。它為 Windows 平台上的任何應用程序、數據庫或服務(包括 Microsoft Access)提供透明數據加密。您可以使用點擊式界面或基於腳本的部署進行分發。

我是 NetLib Security Inc. 的創始人和 CTO。

引用自:https://dba.stackexchange.com/questions/131228