当前位置:首页 > 发言稿 > 数据库访问技术 [基于WEB数据库安全的访问技术]
 

数据库访问技术 [基于WEB数据库安全的访问技术]

发布时间:2019-01-01 06:24:12 影响了:

  摘要:为了增强WEB数据库的安全,本文主要介绍了通过QDBC安全访问接口的设计与实现,在基于关系数据库的安全增强器中对标准ODBC访问接口做了扩充。   关键词:WEB数据库;ODBC;安全增强器
  
  1 引言
  
  在网络发展的早期。由于用户对安全还不是很重视,原来数据库的结构是客户机ODBC-数据库服务器3层体系结构。随着现代网络技术的发展,网络服务器数据库安全越来越重要,为了提升网络数据库的安全,本文提出从客户机 -ODBC一安全增强器一数据库服务器这样的一个4层结构。使得所有使用ODBC访问接口的应用系统对数据库的访问操作都将首先被提交给安全增强器接受安全检查,只有检查通过后才能访问后台的RDBMS。考虑到目前在国内流行的RDBMS如Oracle等都仅只有C2级的安全,在安全增强系统中实现的安全模块只需提供强制访问控制(MAC)和B1级所要求的扩充审计功能,就可以将原来只具有C2级安全的数据库管理系统的安全性能增强到B1级,从而可以满足对数据安全要求较高领域的应用需要。由于对安全模块的操作需要有一个扩充的数据安全子语言,而标准的ODBC并不具备处理该语言的能力,因此需要对ODBC所使用的SOL语言进行适当的扩充,以增加对安全操作命令的处理能力。
  
  2 WEB数据库安全性的内容
  
  WEB数据库的安全性包括:机密性、完整性和可用性,数据库在3个层次上的异构,客户机、服务器通过开放的网络环境,跨不同硬件和软件平台通信,数据库安全问题在异构环境下变得更加复杂。而且异构环境的系统具有可扩展性。能管理分布或联邦数据库环境,每个节点服务器还能自治实行集中式安全管理和访问控制,对自己创建的用户、规则、客体进行安全管理。如:由DBA或安全管理员执行本部门、本地区或整体的安全策略,授权特定的管理员管理各组应用程序、用户、规则和数据库。因此访问控制和安全管理尤为重要a异构环境的数据库安全策略有:全局范围的身份验证;全局的访问控制,以支持各类局部访问控制(自主和强制访问控制):全局完整性控制;网络安全管理,包括网络信息加密、网络入侵防护和检测等。
  
  3 WEB数据库的安全增强器基本原理
  
  在当前,数据库应用系统和关系数据库管理系统(RDBMS)之间的交互―般都是采用典型的客户机,服务器(C/S)结构,通过ODBC(Open Database Connectivity)来进行的。其中应用系统和ODBC驱动程序管理器放在客户机上,提出对数据库访问的请求,而RDBMS放在后台服务器上,提供服务,ODBC通过网络传输负责这两者之间的访问命令和结果数据的交互。由此看出,如果能够截获应用系统通过ODBC发送到数据库服务器的访问命令,就可以在ODBC和第三方的RDBMS之间加入我们提供的安全模块,以达到增强数据库系统的安全功能的目的。目前的数据库系统具有3种标准形式的网络访问接口:ODBC接口、JDBC接口和专用接口,而目前大部分应用程序约90%以上均使用ODBC接口来连接后台数据库。
  基于上述设计思想,一个通用RDBMS的安全增强器主要由3部分内容组成:
  (1)ODBG接口:该接口是连接客户端软件与后台RDBMS的标准接口,通过网络传输负责维护这两者之间命令和数据的交互。
  (2)安全模块:该模块实现强制访问控制检查及安全审计功能,ODBC将客户端应用的SQL访问请求传送到服务器端后,由安全模块负责对SQL语句执行安全检查,只有在主体和客体的安全级别符合规定的访问要求后才能进入RDBMS进行相应操作。同时安全模块还将负责此次访问的安全审计工作。
  (3)与RDBMS的接口模块:该模块负责将经过安全检查的SQL语句转换成RDBMS的标准语句并进入数据库进行相应的访问操作。为了确保应用系统-ODBC-安全模块一数据库服务器访问通道的封闭,与RDBMS的接口模块采用的是后台数据库的非网络访问接口,并封闭其原有的网络访问接口。
  
  4 ODBC的结构及主要内容
  
  ODBC的4个组成部分:应用程序、驱动程序管理器、驱动程序、数据源以及每部分的功能。ODBC驱动程序是Microsoft推出的访问数据库的统一接口。这个接口提供了最大限度的互操作性,每一种对应某种DBMS的拓扑结构,它们分别是一级驱动器、二级驱动器、三级及多级驱动器。一级驱动器可以说是一种单机结构,数据库和驱动器放在同一台机器中,其程序设计接口由文件I/O构成,如Access、Foxpro、dBase等。二级驱动器就是目前流行的客户/服务器系统,如Oracle、Sybase、SQL Serve等。三级驱动器就是在二级驱动器的客户和服务器之间增加一个网关服务器,而这个网关服务器可以与多个DBMS相连,而网关服务器将用户的请求加载适当的ODBC驱动器后发送到相应的数据库服务器上。考虑到目前的需要,在基于RDBMS的安全增强器中,ODBC的实现采用二级驱动器方式。
  在基于RDBMS的安全增强器中,为了保证整个数据库系统的安全性,要求安全模块本身就构成一个安全子系统,即安全模块的操作命令也必须受到强制访问控制的检查和进行安全审计。这就要求OD8C能够处理数据安全子语言的访问命令,但是在ODBC的标准规范中。只有对标准SQL语句的操作,并没有包含任何有关B1级安全的命令函数,因此必须在ODBC许可的范围内对ODBC进行适当的扩展,以增加对数据安全子语言的处理能力。使得任何对安全模块的操作命令都必须经由ODBC发送到安全模块,以达到增强系统安全的目的。
  为提供对安全模块的操作与管理,对标准ODBCSOL语言的语法成分进行了如下扩充:
  (1)层次等级的创建与删除;
  (2)范畴的创建与删除;
  (3)客体的标识、修改、删除;
  (4)代理的标识、修改,删除;
  (5)主体的标识、修改、删除;
  (6)特权的授予与回收;
  (7)MAC的启动与关闭;
  (8)安全信息浏览;
  (9)设置安全管理员口令;
  (10)审计的启动与关闭;
  (11)安全审计选项的设置与撤消;
  (12)审计报警的打开与关闭;
  (13)审计信息的浏览与删除;
  (14)设置审计员口令。
  
  5 ODBC的设计与实现
  
  基于RDBMS的安全增强系统中的ODBC的实现采用目前比较常用的Cllent/Server体系结构,主要包括客户端和服务器端的实现。从ODBC要实现的函数的内容来看。不仅包括常见的数据定义和数据操纵命令,还包括安全操作命令和数据字典 访问命令,在数据库服务器端需要调用不同的数据库访问函数。
  5.1客户端的设计与实现
  客户端主要是根据ODBC V3.0的规范来提供一个标准统一的用户接口,使得具体的实现对用户来说是透明的。在客户端主要包括3个句柄:
  (1)环境句柄HENV:为全程信息标识内存存储。包括有效链接句柄和当前活动连接句柄并维护有关环境的错误集:
  (2)链接句柄HDBC:为特定链接的信息标识内存存储,每个链接句柄与环境句柄有关。存放本次链接的必要信息,包括网络连接的信息和维护有关连接的错误集:
  (3)语句句柄HSTMT:为SQL语句信息标识内存存储。用于存放每次操作的相美信息,以及返回的结果集和有关语句的错误集。一个语句句柄必须与一个连接句柄相连,但一个连接句柄上可以有多个语句句柄。客户端就是通过这3个訇柄来维护用户的访问信息的。
  5.2服务器端的设计与实现
  在网络环境下,用户对数据库的访问量可能高于在单机环境下访问的几个数量级。而且在同一时刻会有多个用户对数据库进行访问,这就要求服务器端能够并发地处理用户的访问请求。在接口的具体实现中,我们借助于操作系统的多任务多线程的特性,以实现多用户的数据库并发访问操作。在数据库服务器启动后将首先产生一个主线程,通过它再创建其他的服务线程。服务器端在接收到一次连接请求后都派生出一个线程来处理这次连接中的所有操作。而数据库内部的并发控制由后台的RDBMS来负责维护。线程产生后,就开始监听网络,当它从网络上接收到请求时,首先进入语法分析模块,对于MAC管理语句和审计管理语句,将分别进入MAC管理模块和审计管理模块;对于SQL请求,则进入安全模块进行安全检查,如果安全检查不能通过,则进行相应的处理并返回错误,否则将调用RDBMS的API函数进行处理,并将执行的结果发回客户端。在同一时间内。服务器端可以派生出多个线程进行并发操作。
  
  6 ODBC在安全增强系统中的应用
  
  利用上述ODBC研究成果。我们实现了一个基于Oracle数据库系统的安全增强系统,并利用该安全增强系统对我们自主实现的ODBC访问接口进行了功能测试和性能测试。
  整个测试采用1999年江苏省的网上招生系统,该系统共定义了基表38个、视图30个、存储过程10个,测试数据量总共在40万条记录左右。在对ODBC的功能测试中一共选取了85个例子,分为两个部分:一是按照QDBC的标准对ODBC函数进行测试(70个例子);二是进行应用综合测试(15个例子)。测试用例共使用了61个ODBC函数,对所有ODBC v3.0调用函数都进行了测试,测试结果表明系统功能完全符合ODBCV3.0的要求。
  我们利用Oracle数据库及其专用的ODBC访问接口进行了性能对比测试。首先利用Oracle数据库的专用ODBC访问接口直接访问Qracle数据库,然后再使用我们实现的ODBC接口通过安全增强系统访问O-racle数据库,记录在每次运行过程中,从应用程序发出一条SQL访问命令开始,一直到获取该次访问的执行结果所需的执行时间。在测试过程中共选取了15个应用例子,每个例子执行3次。经过测试使用安全增强器时整个系统的效率仅下降5%左右。
  
  7 小结
  
  本文通过扩展ODBC所采用的标准SQL语法成分的方法,使得该ODBC实现系统可以支持对数据安全子语言命令的处理,从而使得由ODBC、安全模块、RDBMS接口模块和后台RDBMS可以构成一个安全的数据库系统。但是ODBC仅是关系数据库系统在客户/服务器方式下的一个网络访问接口,无法实现在Internet环境中应用程序对数据库服务器的直接访问操作,因此尽快实现一个具有自主知识产权的JDBC数据库访问接口,并实现对上述数据安全子语言的支持,以构建一个Internet环境中的安全数据库系统将是我们今后进一步的研究工作。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3