免费论文查重: 大雅 万方 维普 turnitin paperpass

简析安全性Oracle数据库运用系统安全性经典

最后更新时间:2024-02-01 作者:用户投稿原创标记本站原创 点赞:14281 浏览:58948
论文导读:性和防止秘密数据被所采用的主要技术手段之一。随着信息技术的发展,网络安全与信息保密日益引起人们的关注。目前各国除了从法律上、管理上加强数据的安全保护外,还分别在软件和硬件两方面采取措施,促使数据加密技术和物理防范技术不断发展。按作用不同,数据加密技术主要分为数据传输、数据存储、数据完整性的鉴别以及
摘要:从开发应用程序的角度出发,深入理解oracle数据库的安全策略。结合当前的数据加密技术,提出由应用程序开发人员和数据库管理人员共同提高应用系统安全性的新观念,并以提高Oracle数据库应用系统安全性为例加以实现。
关键词:Oracle数据库应用程序安全

在一些较大规模的客户/服务器系统中,许多数据库管理员都会遇到由于应用程序的安全漏洞,导致数据库中数据丢失的问题,这时,数据库管理员除了从备份中恢复数据外别无它法。但是,只要在开发程序时,事先考虑系统的安全问题,便可以提高应用系统的安全性。以往在开发数据库应用程序时,软件的登录界面大多是直接使用数据用户进入程序的,知道数据拥有用户口令的人就越多,这样他们除了通过应用程序连接数据库外,还可以用许多其它的工具连接数据库,近而可以对该用户所拥有的数据做任意的修改、删除等操作,使其中的数据再无安全可言,而系统却认为其是合法的,因为他是以合法身份进入数据库的。尽管经常改变数据库的用户是为保障数据库系统安全而经常采用的一个基本办法,可对于那些已经将认证用户和写在程序中的应用系统,数据库管理员又不能随意地改动该用户的口令,因为一旦口令发生变化,应用程序的开发人员就要重新改写程序中的相关部分,重新进行编译后再下发给各个推广单位,所有这些工作对于客户端多而分散的应用系统而言,工作量大,实际运作极不方便。针对这一问题,我们提出在开发数据库应用系统时,应结合基础数据库的安全策略,由应用程序开发人员和数据库管理人员来共同提高数据库应用系统的安全性,近而提高数据库的安全性。
1应用技术

1.1数据加密技术

数据加密技术,是为提高信息系统及数据的安全性、保密性和防止秘密数据被所采用的主要技术手段之一。随着信息技术的发展,网络安全与信息保密日益引起人们的关注。目前各国除了从法律上、管理上加强数据的安全保护外, 还分别在软件和硬件两方面采取措施,促使数据加密技术和物理防范技术不断发展。按作用不同, 数据加密技术主要分为数据传输、数据存储、数据完整性的鉴别以及密钥管理技术四种。
(1)数据传输加密技术。数据传输加密技术的目的是对传输中的数据流加密, 常用的方法有线路加密和端到端加密两种。前者重在线路上而不考虑信源与信宿, 是对保密信息通过各线路采用不同的加密密钥提供的安全保护。后者指信息由发送端自动加密,并进入TCP/IP数据包回封, 然后作为不可阅读和不可识别的数据穿过互联网, 这些信息一旦到达目的地将被自动重组、解密, 成为可读数据。
(2)数据存储加密技术。此项技术的目的是防止在存储环节上的数据失密, 可分为密文存储和存取控制两种。前者一般是通过加密算法转换、附加以及加密模块等方法实现; 后者通过对用户资格及权限加以审查和限制、防止非法用户存取数据或合法用户越权存取数据来实现。
(3)数据完整性鉴别技术。此项技术的目的是对信息的传送、存取、处理人的身份和相关数据内容进行验证, 达到保密的要求。一般包括口令、密钥、身份和数据等项的鉴别。 系统通过对比验证对象输入的特征值是否符合预先设定的参数, 实现对数据的安全保护。
(4)密钥管理技术。为了让数据使用得更方便, 数据加密在许多场合集中表现为密钥的应用, 因此密钥往往是保密与窃密的主要对象。密钥的管理技术包括密钥的产生、分配保存、更换与销毁等各环节上的保密措施。

1.2基础数据库安全机制分析

oracle数据库是支持客户、服务器方式的大型关系数据库系统,它提供了一系列相对较完善的安全机制:
(1)帐户安全(Account Security)。要在数据库中访问数据,就必须访问该数据库的一个帐户。每个帐户必须指定一个口令。口令是在帐户建立的时候设置的,可由数据库管理员或用户自己进行修改。
(2)系统级权限(System-level Privilege)。系统级权限可以建立从系统级权限全集到扩展的基本系统级权限的各类角色。比如,Connect, Resource和DBA就是分别提供给用户,开发者及数据库管理员的标准角色。
(3)对象安全性(Object Security)。用户可以通过授权命令将自己创建的一些权限授予其他用户使用,也可以给其他用户授予对摘自:本论文导读:--用户名称;mimarchar2(6)------加密前的);insertintotestvalues('dmgc','dmgc');commit;2.2采用算法加密技术,处理数据用户的口令目前加密技术主要有四种,每种技术又可细分为多种方法,可根据需要选择适当的方式实现。一般,在给用户设置口令时,通常是按某种规律进行选择的,可能是生日、名字缩写或是电话号
科毕业论文答辩www.7ctime.com
对象授权的权限。例如,可以授予一个用户拥有对本用户表授予查询权限的权限。
2技术实现
虽然oracle数据库提供了较为完善的安全机制,但是如果在开发应用程序时,认为安全只是数据库管理员的责任,而将拥有数据的用户及口令固化在程序中,这样会大大地降低应用系统的安全性,甚至直接威胁到整个数据库的安全,所以,我们可以根据基础数据库本身的安全机制,结合应用程序的自身特点,采用多种办法,即提高数据库及应用系统的安全系数,而又方便应用程序的推广。我单位数据库环境为Oracle,应用程序的开发工具是PB或Delphi等。应用程序客户端的每个节点通过局域网与数据库服务器相连。为了实现提高数据库应用系统安全性的目的,在开发应用程序时,采用了如下的办法:

2.1基于底层数据库的安全机制,在数据库中增建应用程序管理用户

应用程序管理用户只是起管理作用,他只包含用于管理数据用户及口令的管理表,而不包含任何生产数据,在此,采用了数据库安全管理的帐户认证机制和系统级权限机制,具体sql实现为:
(1)创建应用程序管理用户test。由数据库管理员创建基本用户:create user test;identified by test;default tablespace dmgc;quota 100K
(2)对test用户授以系统级权限。grant create session to test;grant resource to test;
(3)在应用程序管理用户下,创建用于管理数据用户的管理表并插入记录。数据用户管理表由两列构成,分别是用户名称和未经过处理的用户口令。create table test;(unamevarchar2(6),------用户名称;mimarchar2(6)------加密前的);insert into test values( 'dmgc', 'dmgc');commit;

2.2采用算法加密技术,处理数据用户的口令

目前加密技术主要有四种,每种技术又可细分为多种方法,可根据需要选择适当的方式实现。一般,在给用户设置口令时,通常是按某种规律进行选择的,可能是生日、名字缩写或是电话号码等,这是很不安全的,所以我们只要采用一种极为简单的算法,就可以将有规律可循的信息,变成随机的代码,从而降低了口令被的可能性。本文在应用程序管理用户下建立一个存储函数mmtranslate,主要是用来对其中存放的数据用户的口令进行处理的。
function mmtranslate(m varchar2)
return varchar2
as
i number(2);
kk varchar2(10);
begin
kk:=′′;
i:=1;
loop