关于SQL Serer数据库安全的研究
日期:2023-01-24 阅读量:0次 所属栏目:计算机应用
【摘 要】本文对数据库安全的内涵和要求及数据库管理系sql serer的安全防护机制,如身份认证、访问控制、完整性保障、访问审计、数据加密与视图、存储过程等进行了详细分析和研究。
【关键词】数据库 数据库安全机制 sql serer
1 数据库安全的内涵
数据库安全是指保护数据库以防止非法用户的越权使用、窃取、更改或破坏数据。与其它计算机系统(如操作系统)的安全要求类似,数据库系统的安全要求可以归纳为完整性、保密性和可用性三个方面。
(1)完整性
数据库的完整性主要包括物理完整性和逻辑完整性。物理完整性是指保证数据库的数据不受物理故障(如硬件故障、突然断电等)的影响,并有可能在灾难性毁坏时重建和恢复数据库,逻辑完整性是指对数据库逻辑结构的保护,包括数据的语义完整性和操作完整性。前者是指数据存取在逻辑上满足完整性约束,后者主要是指在并发事务中保证数据的一致性。
(2)保密性
保密性指保护数据库中的数据不被泄露和未授权的获取,一般要求对用户进行访问授权,同一组数据的不同用户可以被授予不同的存取权限.同时还要求能够对用户的访问操作行为进行跟踪和审计。
(3)可用性
数据库的可用性是指数据库不应拒绝授权用户对数据的正常操作,同时保证系统的运行效率并提供用户良好的人机交互。
2 sql server的数据库安全机制
2.1身份验证
对用户的身份认证是数据库管理系统提供的最外层安全保护措施,其方法是用户进入系统时通过输入id和密码,向系统出示自己的身份证明,系统通过严格的认证机制对用户身份进行审查核实,经过确认后才提供与之相对应的系统服务。 serer支持windows nt认证模式和混合认证模式两种身份认证模式。
2.2访问控制
为了保证用户只能存取有权存取的数据,数据库系统要求对每个用户定义存取权限.在sql server中,用户是属于特定的数据库的,数据库用户与登录标识相关联,一个应用程序使用登录标识sql serer登录成功后,能否对某个数据库进行操作,由该数据库中是否有相应的数据库用户来决定。sql serer可根据访问用户所属的用户类型,利用grant等语句来对数据库或数据库对象作权限的控制,能够较为完善地支持自主访问控制策略。sql server将用户分为四个类型:系统管理员用户、数据库所有者用户、数据库对象拥有者用户和普通用户,不同的用户具有不同的权限。为了达到管理的便利和灵活,sql serer引入了角色的概念,可以支持基于角色的访问控制策略。对于具有相同权限的用户,可以创建一个角色并对其赋予权限,然后将这些用户添加到该角色中使它们成为这个角色的成员。若要改变这些用户的权限,只需对角色的权限进行设置,不必对每一个用户进行权限设置。
2.3审计功能
数据库审计是监视和记录用户对数据库所施加的各种操作的机制。通过审计机制,可以自动记录用户操作,利用审计跟踪的信息,便于追查有关责任,也有助于发现系统安全方面的弱点和漏洞。对于ms sql server,它能提供较为完善的审计功能,用来监视各用户对数据库施加的动作。sol server审计方式具体分用户审计和系统审计2种,审计工作一般通过sql事件探查器完成。启用用户审计功能时,审计系统可记下所有对该数据库表或视图进行访问的企图(包括成功的和不成功的)及每次操作的用户名、时间、操作代码等信息;系统审计由系统管理员进行,其审计内容主要是系统一级命令以及数据库客体的使用情况。
2.4数据库加密
数据库加密通过将数据用密文形式存储或传输的手段保证高敏感数据的安全,这样可以防止那些企图通过不正常途径存取数据的行为.sql serer也提供了加密的功能,以强化对分布式数据库的安全管理。sql serer使用名为pwdencrypt的哈希函数来加密隐藏用户存储在master数据库中系统表内的密码,将已定义的视图、存储过程、触发器等都存储在系统表syscomments中,sql serer提供了内部加密机制,可以使用with encryption语句来进行加密。在条件允许情况下,可以通过启动相应加密功能让sql serer在通过网络传输数据时将数据按照ssl协议加密处理后传输。
2.5视图和存储过程机制
视图是从一个或几个基本表(视图)中导出的虚表.在数据库系统中,可以利用视图通过授予用户操作特定视图的权限,限制用户访问表的特定行和特定列来保证数据的安全,防止用户对基本表的操作,实现行级或列级的安全性。在sql serer中,系统较好地支持了视图定义和访问机制,如何利用createview语句建立视图,利用select子句进行视图访同等,通过建立视图以及将视图表中的不同记录分成不同的保密级别,甚至将同一字段中的不同值分成不同的保密级别,控制用户可以看到的数据,实现安全性。在sql serer中存储过程是存储于数据库内部经过编译可执行的sql语句,它可被其他应用程序调用执行,彻底隐藏了用户可用的数据和数据操作中涉及的某些保密处理。存储过程可用来保护基表的数据。为了禁止用户直接更改基表,可通过存储过程来更改基表,然后授予用户具有执行该存储过程的权力,这就限制了用户对基表的不当操作,从而保证了数据的安全。
2.6备份、恢复和并发控制机制
为防止系统发生故障导致重要数据的丢失或损坏,保证数据库系统在最短时间内恢复运行,数据库管理系统应具备备份和恢复机制。sql serer支持静态备份和动态备份,并提供了四种备份方案,即完全备份、差异数据库备份、事务日志备份、文件备份.而在系统恢复方式上,sql serer可以选择三种模型进行恢复:简单恢复、完全恢复、批量日志记录恢复。在sql serer中,无论是备份或恢复均可方便地通过transact—sql语句或
企业管理器来设置。作为网络数据库管理系统,sql serer可以提供完善的并发控制机制,通过支持事务机制来管理多个事务,保证数据的一致性,并使用事务日志保证修改的完整性和可恢复性。sql serer遵从三级封锁协议,从而有效的控制并发操作可能产生的丢失更新、读错数据、不可重复读等错误。sql serer具有多种不同粒度的锁,允许事务锁定不同的资源,并能自动使用与任务相对应的等级锁来锁定资源对象,以使锁的成本最小化。
3 结论
本文就sql serer数据库管理系统的安全机制进行了全面的探索和研究,数据库的安全是一个非常复杂的课题,它的实现不仅是纯粹的技术问题,而且还需要法律、管理、社会因素的配合,相信随着信息安全技术的持续改进、信息安全管理水平的不断提高和有关人员的防范意识的不断增强,数据库的安全将越来越有保障。
参考文献:
[1]王珊,萨师煊.数据库系统概论[m].北京:高等教育出版社,2006.
[2]郑振楣,于戈,郭敏.分布数数据库[m].北京:科学出版社,1998.
[3]邹健.中文版sql serer 2000开发与管理应用实例[m].北京:人民邮电出版社,2005.
[4]韩卫,张艳苏.mis中数据库安全性研究[j].计算机工程.(作者单位:山东省青州市潍坊教育学院;山东省潍坊卫生学校;陕西省西京学院)
本文链接:http://www.qk112.com/lwfw/jsjlw/jisuanjiyingyong/244979.html