=a14c id=zoom>
下面我们进步解释在DBMS外层实现加密功能原理: 数据库加密系统分成两个功能独立主要部件:个是加密字典管理另个是数据库加/脱密引擎数据库加密系统将用户对数据库信息具体加密要求以及基础信息保存在加密字典中通过数据加/脱密引擎实现对数据库表加密、脱密及数据转换等功能数据库信息加/脱密处理是在后台完成对数据库服务器是透明 ◆加密字典管理 ◆加密系统 ◆应用 ◆数据库加脱密引擎 ◆数据库服务器 ◆加密字典 ◆用户数据 按以上方式实现数据库加密系统具有很多优点:首先系统对数据库最终用户是完全透明管理员可以根据需要进行明文和密文转换工作;其次加密系统完全独立于数据库应用系统无须改动数据库应用系统就能实现数据加密功能;第 3加解密处理在客户端进行不会影响数据库服务器效率 数据库加/脱密引擎是数据库加密系统核心部件它位于应用和数据库服务器的间负责在后台完成数据库信息加/脱密处理对应用开发人员和操作人员来说是透明数据加/脱密引擎没有操作界面在需要时由操作系统自动加载并驻留在内存中通过内部接口和加密字典管理和用户应用通讯数据库加/脱密引擎由 3大模块组成:加/脱密处理模块、用户接口模块和数据库接口模块如图4所示其中"数据库接口模块"主要工作是接受用户操作请求并传递给"加/脱密处理模块"此外还要代替"加/脱密处理模块"去访问数据库服务器并完成外部接口参数和加/脱密引擎内部数据结构的间转换"加/脱密处理模块"完成数据库加/脱密引擎化、内部专用命令处理、加密字典信息检索、加密字典缓冲区管理、SQL命令加密变换、查询结果脱密处理以及加脱密算法实现等功能另外还包括些公用辅助 数据加/脱密处理主要流程如下: (1) 对SQL命令进行语法分析如果语法正确转下步;如不正确则转6)直接将SQL命令交数据库服务器处理 (2) 是否为数据库加/脱密引擎内部控制命令?如果是则处理内部控制命令然后转7);如果不是则转下步 (3) 检查数据库加/脱密引擎是否处于关闭状态或SQL命令是否只需要编译?如果是则转6)否则转下步 (4) 检索加密字典根据加密定义对SQL命令进行加脱密语义分析 (5) SQL命令是否需要加密处理?如果是则将SQL命令进行加密变换替换原SQL命令然后转下步;否则直接转下步 (6) 将SQL命令转送数据库服务器处理 (7) SQL命令执行完毕清除SQL命令缓冲区
最新评论