嵌入式數據庫需要多少安全性

9 月 17

帶有盾牌的數據庫圖標

數據管理的傳統方法是擁有高度集中的大型鋼鐵企業數據庫引擎,該引擎支持存儲敏感數據的多種安全選項。使用這些企業引擎,您可以選擇身份驗證,權限,加密和其他選項來保護數據。只要您擁有了解這些選項並能夠正確配置它們(聽起來並不那麼簡單)的數據庫管理員,就可以保護您的數據。但是,數據開始從數據中心出現,並進入網絡的外部節點。

外部節點上的許多設備都沒有運行與具有其安全選項陣列的成熟企業DBMS兼容或無法運行的硬件。這些外部節點開始依賴嵌入式數據庫引擎。儘管嵌入式數據庫引擎開始類似於企業數據庫系統,但企業數據庫系統不是企業數據庫系統,也不應該是企業數據庫系統。這是我的同事蘭迪·梅里拉特(Randy Merilatt)在他的文章中雄辯地指出的一個事實。 “是否在嵌入式計算機應用程序中使用SQL,就像試圖將ELEPHANT擠入MINI一樣?”。如果嵌入式數據庫中的數據需要某種安全措施,那麼開發人員該怎麼辦?

嵌入式數據庫引擎的一種常見安全性方法是模糊性。嵌入式數據庫通常嵌入在應用程序的內部,並且只有該應用程序對存儲在數據庫中的數據具有任何可見性。當隱秘的安全性是唯一可用的安全措施時,它是無效的。監視文件I / O並確定嵌入式數據庫引擎在文件系統上的哪個位置寫入數據已經足夠容易了。一個有足夠動力的攻擊者將能夠對任何明文文件格式進行逆向工程,並學習如何解釋所存儲的數據。此外,由於嵌入式數據庫已具有其企業級員工的特徵,因此他們開始允許遠程訪問。由於具有遠程訪問數據的能力,因此還需要進行身份驗證。

RDM能夠通過添加數據庫級加密來保護數據庫內容。儘管不需要身份驗證的應用程序可以以不需要加密的方式在其應用程序中實現加密,但是RDM中的加密實現既可以進行身份驗證也可以進行模糊處理。了解我們的引擎已在運行於各種硬件上的各種應用程序中使用後,我們設計了加密功能,使其既靈活又集中。提供強大的安全性來滿足嵌入式應用程序和設備的需求,而無需企業引擎所需的計算和人力資源開銷。

為了實現此目標,Raima決定將AES加密用於我們的數據安全解決方案。 AES對於Raima來說是一個很好的選擇的原因有很多。

  • 這是一種行業標準且高度安全的算法
  • 它允許幾種密鑰大小(128、192和256位),使我們的客戶可以靈活地在更高的安全性和更高的性能之間進行選擇。
  • 作為對稱密鑰塊密碼,輸入的位數與加密數據的位數匹配
  • 有公開測試數據可用於驗證AES實施
  • 它允許Raima提供某種程度的混淆和身份驗證

Raima的加密實現通過對寫入磁盤的所有數據(包括日誌文件)進行加密來提供數據混淆功能。即使攻擊者正在監視文件I / O以確定應用程序更新了哪些文件,如果沒有正確的加密密鑰,他們也無法解釋這些文件的內容。除了知道正確的加密密鑰外,他們還需要確切地知道文件的加密方式。出於性能和實用性考慮,數據庫文件不是整體加密的,而是以單個塊的形式加密的。當您更新表中的一行時,引擎只會更新具有存儲行的特定加密塊的文件塊。這種安全級別可以避免攻擊者對數據庫文件進行反向工程以發現內容,但是並不能消除攻擊者使用應用程序讀取數據或使用RDM運行時編寫應用程序以讀取數據的風險。這是身份驗證在安全性中起作用的地方。

為了創建加密的RDM數據庫,要求開發人員提供加密密碼。將此密碼通過單向哈希進行創建,以創建加密密鑰。此加密密鑰用於加密用於加密所有數據庫內容的隨機生成的密鑰。簡單地說,沒有原始密碼,就不可能讀取數據庫內容。任何想要讀取加密數據庫的應用程序都必須提供正確的密碼,其中包括所有RDM實用程序應用程序以及開發人員提供的任何應用程序。使用加密數據庫時,可以確保開發人員只有授權用戶才能訪問RDM嵌入式數據庫中存儲的數據。

學習更多關於 Raima的加密

Get notified about new RDM updates

Be the first to know about new Raima Database Manager updates when they go live, use cases, industry trends and more.