楊軍莉
(陜西財經職業技術學院陜西咸陽712000)
隨著無線通信技術、嵌入系統的發展,在未來10年之內,智能卡、電話、電燈開關均要展現計算機化,這些設備均有相對豐富的內部數據。若要有效解決嵌入式數據存儲方面的問題,嵌入式數據庫技術必須投入使用。嵌入式數據庫必須依托本機開展各項操作,它可以與應用程序密切集合起來,如果這個應用程序得以開啟,會隨著應用程序的使用終止整個操作[1]。因無線連接網絡并沒有設計固定的安全技術,因此,不論何時何地均容易被黑客竊聽或者發出無線電波,導致處于傳輸狀態的數據遭到盜用或者修改等情況[2]。加之,嵌入式設備方便攜帶,想方設法防止嵌入式設備丟失后數據被盜用或者磁場干擾等問題,均是數據安全必須考慮的問題。本項目以嵌入式數據庫系統為主要對象,通過調研、管理分析該影響系統安全的因素和用戶對系統的各項要求,設計相應的安全機制,大大提高嵌入式數據庫系統的安全性。
嵌入式系統就是以應用為重要內容,依托計算機技術,且軟硬件可以進行裁剪,適應用戶對于系統的功能、功耗情況、可靠性等有具體要求的計算機系統。系統具體結構見圖1。本文研究的是嵌入式Linux操作系統,這種系統具有安全性高、穩定、便于裁剪、多任務等優點,且具備免費、開放源代碼等特征。

圖1 嵌入式數據庫系統架構
嵌入式數據庫系統通常會與操作系統和多種應用進行集成,在智能嵌入式或移動設備上工作。嵌入式數據庫系統實質就是依據通用數據庫發展起來的,其部分功能與大型數據庫之間存在一些相似之處,它能夠當做網狀或關系型數據庫[3]。但嵌入式和通用數據庫在實際運行環境、應用等方面存在一定差異。因此,不可簡單的將其看成通用數據庫在嵌入設備上的微縮版本。嵌入式數據庫系統具有所用磁盤空間小、可靠性高、具有可移植性和可剪裁性,從而滿足使用者各方面的需求[4-5]。
隨著無線網絡的快速發展,已有的嵌入式數據庫已經不單單是單機在嵌入式設備方面使用。由于無線設備必須進行聯網,嵌入式數據安全定然遭遇一系列的威脅。使用者隨意使用嵌入式設備,對于用戶身份并未進行嚴格的管理,導致用戶登錄信息或者密碼遭泄露[6]。此外,不法分子也可以根據截獲的信息盜走合法用戶各項信息,從而順利登錄嵌入式數據庫,導致信息嚴重泄露[7]。
隨著嵌入式數據庫得以廣泛使用,要求必須配備一套更為可靠地安全方案,確保訪問數據的有效。因此,對于數據庫安全問題,我們從以下方面提出保障嵌入式數據庫安全各項需要。
1)從物理存儲角度分析,不單要確保數據文件不遭受隨意的更改,也要保證未經許可的登錄人員無法進入數據庫系統[8]。針對上述情況,需要對機密數據實施加密處理,只有具備瀏覽權限的用戶方能運用解密方法獲得相應的數據信息。2)從身份認證方面來說,需要確保登錄數據庫系統后用戶的身份信息不會出現被泄露、復制或者偽造的情況。同時,要確保數據或者其它各種機密數據可以在網絡中順利實現傳輸,哪怕信息遭他人截取,這些信息也無法識別出來,信息遭到篡改能夠及時發現[9-10]。3)從管理層面來說,可以將使用者在數據庫系統中執行的各項操作自動記錄,并將這些信息存儲到日志中,方便進行深入的調查或追蹤具體的責任。
依據用戶對嵌入式數據庫的安全需求,結合該系統的具體特征,挑選恰當的安全機制,并對不同安全機制展開比較,獲得行之有效的執行方案。
身份認證就是設置在應用層上最基礎的安全機制,它根據用戶的身份認證情況,可以有效預防并未獲得合法授權的用戶訪問或者讀取數據,也能避免用戶進行越權訪問[11]。身份認證選擇技術相對成熟、安全性高的指紋認證,指紋認證通常包含兩種方法:1)先輸入用戶IG由指紋庫內把相對應的指紋提取出來,隨之與現場采集到的指紋信息進行匹配,依據相似度展開驗證處理;2)直接從現場采集所需指紋,提取指紋后到指紋庫內逐個進行匹配,進而識別使用者的身份。第二種方式雖然使用方便,但檢索速度較慢。考慮本次設計的嵌入式系統資源有限,選擇第一種檢索速度快、支持較多用戶的方法。身份認證需要用到的用戶信息見表1。系統會對用戶登錄次數等信息進行統計,方便管理者隨時查看用戶使用情況,如果存在安全問題,方便及時找到隱患。

表1 用戶信息表
用戶身份認證步驟見圖2,由改圖可知,用戶進行身份認證實質上是需要通過兩層認證順利實現,一方面是用戶名認證,只要輸入的合法的用戶名,系統會繼續展開指紋批評操作。此外,可以輸入用戶ID,由指紋庫內提取相應的指紋,隨之與現場采集出來的指紋進行匹配,依據相似度檢驗。如果指紋匹配成果,系統會獲取數據表授權。
數據加密主要作用是防止重要信息在網絡上遭遇不法分子或者黑客攔截或截獲信息,保障截取數據以后,數據不容易輕易被外人讀取[12]。實施加密處理的口令或者數據,即使遭到黑客截取也無法讀取具體的信息,除非已用加密方法和密匙比較脆弱。數據加解密是依托密碼體制加入密碼鑰匙進行控制[13]。操作原理見圖3。

圖2 身份認證流程簡圖

圖3 數據加密、解密原理
在加密操作中,嵌入式數據庫加密方案包含多種加密粒度,因此,數據庫有待加密的秘鑰量比較大,密鑰進行存儲和管理工作更加復雜,必須進行動態管理。若密鑰采取明文的形式保存在數據庫中,這種情況下,非法入侵者只要能進入數據庫系統,就會輕松找到破解密鑰[14]。因此,必須將密鑰表中的密鑰實施加密處理密鑰算法實現流程見圖4。

圖4 密鑰算法流程
由上圖可知,系統會隨機產生一個主密鑰(MKey),并將其保存在數據表內,它主要功能在于對表密鑰實施加密處理,系統每個加密對象均會有與之對應的表密鑰(TKey)。對象進行加密操作時,必須把MKey和TKey經算法處理,從而出現新的密鑰(Key),這個所得新密鑰就是給對象加密的密鑰。這種管理方法的優勢在于,哪怕黑客已經盜取主密鑰及表密鑰,也無法獲取最終密鑰。
這里所用的通信機制,旨在利用信息安全交換達到某種安全操作的目的,這種設計能有效彌補已有通信協議存在的問題[15]。已有通信協議主要分布于TCP/IP協議棧內,例如:IP協議、HTTP協議等。安全通信協議就是依托TCP/IP協議簇展開設計,其分布在多個層次內,如圖5所示。

圖5 TCP/IP協議簇安全架構效果圖
由上圖可知,在這個安全架構內,由鏈路層直到應用層各環節,均要設計合理的安全通信協議。其中,鏈路層設計PPTP、L2TP等安全協議,這一層安全協議旨在利用專用通信鏈路和主機或者路由器順利實施連接,這種協議效率雖然比較高,但不能通用,且擴展性不理想。網絡層設計IPSec協議,這種安全協議對網絡層以上各層的透明度比較高,但難以提供不可否定的服務。應用層設計的安全協議主要依據電子郵件等特定應用安全需求和特點展開設計,包含PGP、SNMP等,這一層的協議能夠密切結合各項特定要求,提供具有一定針對性的安全服務,但各應用需要單獨設計所需的安全機制[16]。
綜上所述,在嵌入式數據庫系統中,各服務其一般用于較多的部門或者單位之間,這些單位或部門不會集中控制用戶身份驗證及訪問方法。因此,為保障系統的安全性,對其設計安全機制尤為重要。本文在深入分析影響嵌入式數據庫系統安全的多種因素基礎上,提出身份認證、安全通信等安全機制設計情況,以期為類似研究提供一定指導。