當移動設備和其他嵌入式系統與其他系統和組件進行互操作時,安全性是一個重要的考慮因素。未經授權的訪問、竊聽、會話劫持和其他安全威脅可能會導致不可逆轉的損害,例如數據丟失、知識產權盜竊和故障。
數據管理安全性是為嵌入式系統開發的應用程序的基本要求。從工業自動化和醫療設備到太陽能逆變器,甚至家庭娛樂系統,數據都必須在設備上的靜態和通信過程中得到保護。但誰對數據安全負責呢?所有設備組件都必須采用注重安全的設計,從應用程序和嵌入式數據庫到硬件。
保護嵌入式數據
嵌入式應用程序開發變得越來越復雜,開發人員有興趣學習如何在嵌入式系統開發的所有階段安全地管理數據。無論工程師是構建移動設備、太陽能逆變器、醫療設備還是任何其他嵌入式系統,數據安全都是設計中最危險的部分。
身份驗證和加密技術對于保護數據存儲和分發至關重要,但是嵌入式開發人員需要了解哪些知識來保護嵌入式數據庫?隨著保護數據變得越來越重要,監管機構和消費者要求認真保護數據,應用程序開發人員可能會問:如何確保我的應用程序安全?應該在應用程序級別還是在數據庫級別保護數據?能否通過簡單地組合正確的技術組合來實現安全性?
只要數據保留在沒有通信層的嵌入式系統的本地,安全管理就不是很復雜。但是,隨著TCP/IP等通信協議被添加到設計中,安全監督變得更加成問題,開發人員必須了解各種選項,例如保護套接字層,以便可以安全地訪問數據。
在應用程序級別保護數據
數據庫和應用程序可以提供安全的避風港,使數據安全。開發人員可以在數據離開應用程序并到達數據庫之前對其進行加密,但這僅適用于不可搜索的數據。例如,管理門安全性的嵌入式系統將具有員工及其憑據(如 PIN 或密碼)的列表。憑據應由應用程序加密,以便可以單獨驗證。但是,用于標識或列出工作人員的任何信息不得由應用程序加密。
物理安全也很重要。門安全系統不應將數據存儲在可移動的閃存介質上,這些介質可以很容易地更換以規避安全性。但是,即使數據存儲在內部,對設備具有物理訪問權限的專用攻擊者也幾乎總是可以訪問存儲在其中的數據。在這種情況下,存儲級加密對于保護敏感數據是必需的。
在數據庫級別保護數據
加密是一種公認的安全方法,其中數據使用特定的加密密鑰進行編碼,并且只能通過提供相同的密鑰來讀取相同的數據。文件加密是一種保持數據安全的方法,因為它將阻止對每個數據庫文件的訪問,直到應用程序提供正確的密鑰。此方法可在發生媒體盜竊時保護數據,并且只要對數據的訪問僅限于本地連接,就是提供安全性的首選方法。
過去,在數據離開系統之前對其進行加密是管理和保護數據的常用方法。但是,這種方法可能會使分析數據和搜索個人信息變得困難。
保護遠程訪問和數據分發
對于關注數據機密性、完整性和可用性的開發人員來說,數據庫安全性非常重要。雖然為最終用戶訪問創建過程等步驟可能會限制物理訪問,但數據庫安全性需要特別注意,并且極大地影響了嵌入式系統的風險管理。如果網絡上的惡意系統或惡意軟件應用程序攔截對機密數據的訪問,則任務關鍵型應用程序和商業智能系統的開發人員會遇到嚴重的安全漏洞。
開發人員如何防止未經授權的會話進行遠程訪問?遠程訪問需要防止未經授權的訪問,以及竊聽和會話劫持。這些故障可能是由于數據管理和數據分發缺乏安全性造成的。
當消費者遠程訪問數據時,他們可能會在未經授權的情況下連接到數據庫,從而允許任何人在線訪問此數據。因此,有必要實現授權令牌,以便使用者可以使用密碼訪問數據庫。這可以保護通信,以防止未經授權的一方直接訪問數據庫。
嵌入式數據庫安全功能
某些應用程序在本地收集數據,并定期將該數據發布到 Internet 上的服務器。如果該連接未加密,則 Internet 或本地網絡上的其他計算機可以觀察或篡改該連接。開發人員經常在嵌入式數據庫中尋找安全性和身份驗證功能,以提供解決這些問題的靈活數據安全技術。使用數據庫安全功能,開發人員可以通過加密網絡通信和存儲介質來實現嵌入式應用程序中的數據安全性。
ITTIA DB SQL 是一個用于移動設備和其他嵌入式系統的數據庫軟件庫,可提供安全的文件存儲、遠程訪問和復制(參見圖 1)。無論數據庫文件是僅本地訪問還是通過公共 TCP/IP 網絡共享,ITTIA DB SQL 提供的加密功能都能確保數據免受未經授權的訪問、竊聽和會話劫持。
圖 1:ITTIA DB SQL 嵌入式關系數據庫管理系統提供安全的文件存儲、遠程訪問和復制。
要保護設備上的靜態數據,可以使用 AES-128 或 AES-256 密鑰對每個數據庫文件進行加密。高級加密標準 (AES) 是美國政府和全球其他管理機構采用的數據加密規范。即使從設備中刪除數據庫,如果沒有加密密鑰,也無法讀取或修改該數據庫。因此,敏感數據可以存儲在消費者移動設備上的可移動媒體上或備份到可移動媒體上,而不會影響安全性。
當嵌入式設備可以與其他設備和后端系統共享數據時,安全性變得更加令人擔憂。無論數據是通過主動客戶端/服務器連接還是通過被動復制共享,都應使用不需要通過網絡傳輸數據庫密碼的 Salted 質詢響應身份驗證機制 (SCRAM) 等協議對通信進行身份驗證。這可確保只有經過授權的參與方才能啟動連接并修改嵌入式數據庫。
通過公共網絡(如 Internet)的連接還應使用傳輸層安全性 (TLS) 或其前身安全套接字層 (SSL) 來保護通信通道。這可以防止從網絡上的其他設備進行竊聽和中間人攻擊,例如會話劫持,即使在建立經過身份驗證的連接后,會話劫持也會危及安全性。
無論應用程序是面向 Windows、Linux、Android、ThreadX、QNX,還是嵌入式設備中常見的許多其他操作系統之一,軟件開發人員都必須考慮數據共享和存儲的安全隱患。選擇提供所需功能的嵌入式數據庫對于安全應用程序的規范和設計至關重要。雖然最終由應用程序來實施足夠的安全措施,但為管理安全性提供基礎知識的嵌入式數據庫對于保護嵌入式設計至關重要。
審核編輯:郭婷
-
嵌入式
+關注
關注
5087文章
19149瀏覽量
306299 -
逆變器
+關注
關注
285文章
4737瀏覽量
207240 -
計算機
+關注
關注
19文章
7521瀏覽量
88277
發布評論請先 登錄
相關推薦
評論