2010-06-09 91 views
2

我們使用的是Sybase SQL Anywhere 11。我們需要加密我們數據庫中的一些表格。我按照指示做了。我們選擇了使用encryptionKey和AES256_FIPS算法的「strong」選項。但有些事情我不清楚。數據庫加密問題

  1. 這將需要encryptonKey當我們創建數據庫,刪除數據庫,啓動數據庫服務器,但它不會需要的encryptionKey當我們停止數據庫服務器和連接到服務器創建表和添加數據。爲什麼在我們連接到它或嘗試停止服務器時沒有詢問encryptionKey?我做錯了什麼?

  2. 不知道如何測試加密?當我使用Sybase Central工具時,仍然可以看到加密表中的所有純文本。如果有人知道數據庫的用戶名和密碼,他/她可以連接到數據庫並讀取沒有encryptionKey的內容。這是正確的嗎?

回答

0

最初,SQL Anywhere工具在您首次輸入密鑰時(即在服務器啓動時)會捕獲加密密鑰,然後將其存儲在內存中以解密其他操作。正如@Adam Robinson所說,數據需要在文件系統中進行加密,或者通過採用「模擬解決方案」並僅解析原始文件來進行後門處理,這對您的第二個問題來說是個不錯的選擇......

如果要測試加密,請嘗試在Sybase工具之外查找並打開該文件,並查看是否可以發現任何可識別的數據。我會先從一個簡單的文本搜索字符串開始(創建一個可以搜索的唯一字符串的單元格),並確保它不在加密文件中。要驗證,您還可以解析數據庫的非加密版本,並確保您可以可以在處找到該字符串。

2

我不會說明具體到Sybase的系統,但數據庫加密一般設計在文件系統級加密,以防止對數據庫的數據後門訪問(即讀的二進制文件,並解析它而不是通過RDBMS),而不是,以防止通過標準數據庫接口訪問或混淆數據(預計您將使用RDBMS的安全機制來執行此操作)。

+1

我*可以*說出SQL Anywhere加密如何工作,這是完全正確的。 – 2013-03-14 16:45:26