数据库安全保护.pptx
1第5章数据库安全保护
并发控制与封锁数据库的恢复完整性控制数据库的安全性
5.1.1数据库安全性的含义5.1数据库的安全性35.1.1数据库安全性的含义数据库的安全性是指保护数据库以防止非法使用所造成的数据泄露、更改或破坏。安全性问题有许多方面:(1)法律、社会和伦理方面时问题。(2)物理控制方面的问题。(3)政策方面的问题。(4)运行方面的问题。(5)硬件控制方面的问题。(6)操作系统安全性方面的问题。(7)数据库系统本身的安全性方面的问题。
5.1.2安全性控制的一般方法4安全性控制是指要尽可能地杜绝所有可能的数据库非法访问。图5-1安全控制模型0102
安全性控制的一般方法53定义视图21用户标识和鉴定用户存取权限控制54数据加密审计(Audit)
用户标识和鉴定6用户标识和鉴定用户标识和鉴定是由系统提供一定的方式让用户标识自己的名字或身份,系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统进行核实,通过鉴定后才提供机器的使用权。用户标识和鉴定的方法用一个用户名或用户标识符来标明用户的身份,系统以此来鉴别用户的合法性。如果正确,就可以进入下一步的核实。用户标识符是用户公开的标识,它不足以成为鉴别用户身份的凭证。常采用用户名和与口令相结合的方法。通过用户名和口令来鉴定用户的方法简单易行,但该方法在使用时,由于用户名和口令的产生和使用比较简单,也容易被窃取,因此还可采用更复杂的方法。例如预先约定好一个过程和函数,系统可提供一个随机数,用户可根据函数计算出结果,系统根据结果来辨别用户身份的合法性。
授权表用户标识数据对象操作类型用户存取权限控制用户存取权限指的是不同的用户对于不同的数据对象允许执行的操作权限。在数据库系统中,定义用户存取权限称为授权。这些授权定义经过编译后以一张授权表的形式存放在数据字典中。
关系系统中的存取权限8数据对象操作类型模式模式建立、修改、检索外模式建立、修改、检索内模式建立、修改、检索数据表查找、插入、修改、删除属性列查找、插入、修改、删除
衡量授权机制的另一个重要指标就是授权表中允许的登记项的范围。有些授权表的授权只涉及到数据名(关系或属性名),而未提到具体的值,有些授权表提供了与值有关的授权。如表5.3和表5.4授权粒度越细,授权子系统就越灵活,能够提供的安全性就越完善。对于授权表,一个衡量授权机制的重要指标就是授权粒度,即可以定义的数据对象的范围,在关系数据库中,授权粒度包括关系、记录或属性。
定义视图为不同的用户定义不同的视图,可以限制各个用户的访问范围。通过视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动对数据提供一定程度的安全保护。
数据加密11加密的基本思想是根据一定的算法将原始数据加密成为不可直接识别的格式,数据以密文的形式存储和传输。加密方法:替换方法,该方法使用密钥将明文中的每一个字符转换为密文中的字符。转换方法,该方法将明文中的字符按不同的顺序重新排列。通常将这两种方法结合起来使用,就可以达到相当高的安全程度。
审计审计功能是一种监视措施,它跟踪记录有关数据的访问活动。审计追踪把用户对数据库的所有操作自动记录下来,存放在一个特殊文件中,即审计日志中。记录的内容一般包括:操作类型(如修改、查询等),操作终端标识与操作者标识,操作日期和时间,操作所涉及到的相关数据(如基本表、视图、记录、属性等),数据的前象和后象等。
使用审计功能会大大增加系统的开销,所以DBMS通常将其作为可选特征,提供相应的操作语句可灵活打开或关闭审计功能。例如:可使用SQL语句打开对表S的审计功能,对表S的每次成功的查询、增加、删除和修改操作都作审计追踪。AUDITSELECT,INSERT,DELETE,UPDATEONSWHENEVERSUCCESSFUL要关闭对表S的审计功能可以使用如下语句;NOAUDITALLONS
5.1.3SQLServer2000的数据安全性机制为了实现安全性,SQLServer2000对用户的访问进行两个阶段的检验:身份验证阶段(Authentication):身份验证机制决定了用户能否连接(或登录)到SQLServer2000服务器。权限许可确认阶段(PermissionValidation):权限许可机制决定了经过了身份验证后的用户连接到SQLServer2000服务器可以执行的具体操作,包括服务器上的操作和具体的数据库上的操作。
5.1.4SQLServer2000的身份验证模式允许Windows操作系统用户连接到SQLServer。当使用Windows身份验证模式时,用户必须首先登录到Windo