熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL語言 >> 正文

由淺入深講解數據庫管理系統層次安全技術[2]

2013-11-13 12:40:31  來源: SQL語言 

  下面我們進一步解釋在DBMS外層實現加密功能的原理

  數據庫加密系統分成兩個功能獨立的主要部件一個是加密字典管理程序另一個是數據庫加/脫密引擎數據庫加密系統將用戶對數據庫信息具體的加密要求以及基礎信息保存在加密字典中通過調用數據加/脫密引擎實現對數據庫表的加密脫密及數據轉換等功能數據庫信息的加/脫密處理是在後台完成的對數據庫服務器是透明的

  ◆加密字典管理程序

  ◆加密系統

  ◆應用程序

  ◆數據庫加脫密引擎

  ◆數據庫服務器

  ◆加密字典

  ◆用戶數據

  按以上方式實現的數據庫加密系統具有很多優點首先系統對數據庫的最終用戶是完全透明的管理員可以根據需要進行明文和密文的轉換工作;其次加密系統完全獨立於數據庫應用系統無須改動數據庫應用系統就能實現數據加密功能;第三加解密處理在客戶端進行不會影響數據庫服務器的效率

  數據庫加/脫密引擎是數據庫加密系統的核心部件它位於應用程序與數據庫服務器之間負責在後台完成數據庫信息的加/脫密處理對應用開發人員和操作人員來說是透明的數據加/脫密引擎沒有操作界面在需要時由操作系統自動加載並駐留在內存中通過內部接口與加密字典管理程序和用戶應用程序通訊數據庫加/脫密引擎由三大模塊組成加/脫密處理模塊用戶接口模塊和數據庫接口模塊如圖所示其中數據庫接口模塊的主要工作是接受用戶的操作請求並傳遞給加/脫密處理模塊此外還要代替加/脫密處理模塊去訪問數據庫服務器並完成外部接口參數與加/脫密引擎內部數據結構之間的轉換加/脫密處理模塊完成數據庫加/脫密引擎的初始化內部專用命令的處理加密字典信息的檢索加密字典緩沖區的管理SQL命令的加密變換查詢結果的脫密處理以及加脫密算法實現等功能另外還包括一些公用的輔助函數

  數據加/脫密處理的主要流程如下:

  () 對SQL命令進行語法分析如果語法正確轉下一步;如不正確則轉)直接將SQL命令交數據庫服務器處理

  () 是否為數據庫加/脫密引擎的內部控制命令?如果是則處理內部控制命令然後轉);如果不是則轉下一步

  () 檢查數據庫加/脫密引擎是否處於關閉狀態或SQL命令是否只需要編譯?如果是則轉)否則轉下一步

  () 檢索加密字典根據加密定義對SQL命令進行加脫密語義分析

  () SQL命令是否需要加密處理?如果是則將SQL命令進行加密變換替換原SQL命令然後轉下一步;否則直接轉下一步

  () 將SQL命令轉送數據庫服務器處理

  () SQL命令執行完畢清除SQL命令緩沖區

[]  []  


From:http://tw.wingwit.com/Article/program/SQL/201311/16360.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.