用户使用非法手段访问数据库系统的途径有很多种。例如:用户通过编写符合法律规定的程序,绕过DBMS模型及数据库的访问机制,直接进入数据库系统,进行信息资源的存取、改变或者数据备份等操作;通过制作访问程序,执行信息的非法存取操作,以貌似合法的途径检索数据库的重要信息。这种非法行为的性质难以确定,可能是故意为之,也可能是无意之举,或者是一起恶意行为。数据库的安全保障就是要尽全力避免一切非法访问和信息的存取,无论入侵性质的好坏与否,都要坚决杜绝。
事实上,安全保障问题并不是数据库所特有的,而是计算机信息系统中普遍存在的问题。数据库的性质特殊,具有大量的重要数据信息,是全民共享的平台,所以安全性的问题尤为重要。因此在大多数数据库中,安全关卡是层层排布的。
在防护关卡中,计算机要求用户展示出正规的访问标识,只有通过计算机的常规核实,才能正常访问数据库系统;只有具备合理合法的权限,才能正常使用数据库系统。此外,还应该进一步细化访问权限,对于已经进入数据库的用户,DBMS还应该针对数据的存取空间设立限制,给予合法的用户使用权力。数据库每一层级都应该具备独立的安全保障,可以通过设计密码的形式保证数据信息的安全。参照科学、规范的书籍,设定切实有效的防护措施。本书主要探讨与数据使用相关的访问权限和合法兼备、使用流程现住址、密钥安全等措施。
(一)用户标识和鉴定
用户标识[1]和权利的鉴定是独立于数据库系统之外的防护措施。只有通过DBMS系统成功注册个人信息的用户,才具备访问数据库的权限,具有存取数据信息的权力。根据个人信息的差异,每个用户注册后所获得的标识也不相同。它是用户进入数据库系统的钥匙和身份象征,用户凭借自己独特的标识访问数据库系统。数据库中存有各个用户的身份标识,在用户访问数据库系统时,系统将用户提供的信息与数据库内储存的信息进行核验,验证通过后才具有访问权力。核验用户信息的方法有很多种,大多数情况下是多种核验方式并行,从而加强安全保障。
用户基本信息的识别往往通过用户名称或特殊标识来辨别,数据库系统结合用户的信息记录,核验用户信息的真实性:如果通过鉴定,可以进入下一步的核查;如果未能通过,则不能使用数据库系统。数据库核查用户身份的方式通常是用户输入使用的口令,数据库系统通过口令来鉴别用户的身份。为了保证数据信息的安全性,访问口令通常由用户个人设定,可以随时更改个人信息。口令是以“*”的形式表示,防止访问口令被他人恶意窃取。
通过个人信息和访问指令来核查用户的身份较为简单、实用,但网络信息存在一定的安全隐患,因为这些信息和指令容易被他人窃取,所以可以使用更加复杂的核查方式来确定用户的身份,如利用用户的个人特征。用户的个人特征包括指纹、签名等。这些鉴别方法效果不错,但需要特殊的鉴别装置。此外,还可以通过回答对随机数的运算结果表明用户身份。通常的做法是,数据库用户事先预约访问的逻辑流程和函数,在系统核查身份的时候,数据库给出任意一函数,用户通过预约好的逻辑程序和计算函数进行数据计算分析,由系统判断用户计算结果正确与否,从而确定用户的身份。例如,算法为“输出结果=随机数平方的后两位”;出现随机数48,则用户身份识别码为64。
用户标识和鉴定可以重复多次,用户的信息和身份也可以进行多次核查。
(二)存取控制
通过核查用户的个人信息和身份来确定该用户的合法权益,但每个用户的使用权限是有一定差异的。在数据库运行过程中,为了确保用户的使用权限,需要提前针对用户进行权限范围的设定,使用户在权限范围内存取数据。存取权限包含两个因素,分别为数据对象和操作类型。所以,使用权限就是用户可以针对某些数据对象行使一定的逻辑操作。这种使用权限在数据库系统中被称为授权。这些权限经过系统的核查后被存放在数据库中,用户在成功进入数据库系统后,需要进行使用权限的核查,由DBMS模型检索数据库中授权信息,根据数据记录核查用户存取权限的真实性,如果用户未能通过记录信息的核查,将不能进行下一步操作。以上就是数据库使用权限。
在关系系统中,数据库管理员可以把建立、修改基本表的权限授予用户,用户一旦获得此权限后,可自行设立和改变基本信息,还能建立数据信息的检索和搜索版图。所以,数据库中使用权限的面向范围不只包括数据对象,还包括数据本身和其他信息的特征,以及模式、外模式、内模式等数据字典中的内容。
数据库的安全系统进一步划分为子系统,由授权逻辑程序和相关鉴定检查机制组成。
评价授权逻辑程序和鉴定检查机制合理与否的关键在于授权粒度,也就是针对的数据对象范围。授权逻辑程序面向的数据对象越繁杂,可以利用的数据对象就越少,数据库子系统使用就越可行。
在数据库系统中,以数据结构来表示各个实体之间的联系,表格可以细致划分为行和列,这些元素都是数据库系统中的授权逻辑程序和鉴定检查机制的内容。
授权粒度复杂的数据表格,从一定程度上来说,只能限制部分关系授权。
精细的授权表则可以对属性列权,如端设备号、系统时钟等,就是与时间、地点有关的存取权限,这样用户只能在某时间内、某台终端上存取有关数据。
由此可见,授权粒度越细,授权子系统就越灵活,能够提供的安全性就越完善。另外,因数据字典变大、变复杂,系统定义与检查权限的开销也会相应地增大。
DBMS一般都提供了存取控制语句进行存取权限的定义。例如,前面介绍的SQL语言就提供了GRANT和REVOKE语句实现授权和收回授权。
(三)视图机制(www.xing528.com)
监管用户使用权限的方法有很多,如授权逻辑程序和访问权限的鉴定,借助外层安全性能来实时监管数据库的稳定性等。在数据库关系结构中,结合用户的信息和特征设定各异的视图,从而将这些重要信息保护起来,只对有访问权限的用户开放,禁止其他用户使用。但视图更为关键的作用在于维持信息的独立性,数据库的安全性水平有待提高,不符合数据库系统的要求,所以在实际的安全性核查过程中,将视图和授权逻辑等多种机制联合使用,可以进一步为数据库的运行提供保障。
(四)审计
鉴定、核查用户的个人信息和身份,设置访问权限,建立视图监管机制等一系列安全保障都带有强制性意味,即通过强制手段将用户的权限限定在有限的范围内。但每种安全系统的稳定性都是不确定的,涉及的影响因素较多,总会给非法用户留有可乘之机。针对重要的保密性信息资源,应该加以其他核查手段进行安全防护。数据审计就是一种科学的监管机制,能够实时追踪用户的访问路径。
审计能够自动将用户的访问路径及信息记录下来,存储在特殊的位置,即审计日志文件中。记录的内容大致分为以下几类:用户查询、修改信息的操作,路径标识和用户的信息,访问时间和日期,访问的信息类型,如表格、视图、信息记载及文本属性等。
利用这些信息,可以重现导致数据库现有状况的一系列事件,以进一步找出非法存取数据的人、时间和内容等。
审计功能一般主要用于安全性要求较高的部门。审计通常是很费时间和空间的,所以DBS往往都针对这一特征进行挑选,结合数据库安全性的要求,灵活运用审计机制。例如,可以借助特殊的逻辑程序使用审计手段,针对表格的访问、修改、增减等行为都做实时的跟踪记录。
(五)数据加密
针对较为重要、隐秘的信息,如经济信息、军事信息、国家机关的重要文件,除了要添加基本的保护措施外,还要增添更为实用的保护措施,可以用数据加密技术[2]通过密钥的形式来限制访问的权力,从而将试图采用非法手段进入数据库系统的用户拒之门外,避免人们恶意攻击数据库系统的安全防护网络,杜绝破坏和窃取数据信息行为的发生。通过非法手段进入数据库的用户,只能看到部分难以识别的逻辑代码。正规用户访问数据库系统,需要先通过密钥破译关卡,才能获得使用权限。
在数据库中增添密钥和逻辑函数是避免数据库中主要信息资源丢失的主要手段。增添密钥和逻辑函数的思路是将基本信息转变为不能直接检索的形式,只能供给具有密钥信息的用户使用,其他用户不能访问这一数据库信息。添加密钥和逻辑函数的方法主要有以下两种。
1.替换方法
该方法是使用密钥中的特殊字符替换明文中的数据信息。
2.置换方法
该方法只是将明文中的字符信息打乱,进行重新排布。
单一使用其中某一种方法,是不能加强数据库系统的安全性的。但将两种方法联合起来,就能够增强系统的安全性能。
当前,大多数数据库系统都设置了加密程序,可以结合用户的实际需求,自动为数据信息流通路径增添保护程序。部分数据库系统并未添加加密程序,但提供了联系接口[3],允许用户使用其他程序增强程序的安全性。
每个加密程序都会对应相应的解密程序。解密程序也需要具备完善的安全保护机制,否则会影响加密程序的有效运作。
加密和解密程序较浪费时间,是相对烦琐的逻辑程序,而且数据加密与解密程序会占用大量系统资源,因此数据加密功能通常也作为可选项,允许用户自由选择,只对高度机密的数据加密。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。