数据库的安全性算法
目录:数据库
1.安全性问题安全
2.SQL中的安全机制网络
3.经常使用的安全措施加密
1.安全性问题spa
1.数据库安全性的定义日志
定义:数据库的安全性是指保护数据库,防止不合法的使用,以避免数据的泄密、更改或破坏。code
完整性和安全性的区别:安全性是保护数据以防止非法用户故意形成的破坏;而完整性是保护数据以防止合法用户无心中形成的破坏。对象
2.安全性级别索引
①环境级
②职员级
③OS级
④网络级
⑤DBS级
3.权限问题
定义:用户(或应用程序)使用数据库的方式称为“权限”。
权限有两种,访问数据的权限和修改数据库结构的权限。
(1)访问数据的权限有4个
①读权限
②插入权限
③修改权限
④删除权限
(2)修改数据库模式的权限也有4个
①索引权限
②资源权限
③修改权限
④撤销权限
2.SQL中的安全机制
SQL中有4个机制提供了安全性:视图(View)、权限(Authorization)、角色(Role)和审计(Audit)。
1.视图
视图是从一个或多个基本表导出的表。但视图仅是一个定义,视图自己没有数据,不占磁盘空间。视图一经定义就能够和基本表同样被查询,也能够用来定义新的视图,但更新操做将有必定限制。
优势:数据安全性、逻辑数据独立性和操做简便性。
2.权限
DBMS的受权子系统容许有特定存取权限的用户有选择地和动态地把这些权限授予其余用户。
①用户权限
SELECT INSERT DELETE UPDATE REFERENCES USAGE
前4类权限分别容许用户对关系或试图执行查、插、删、修操做。
REFERENCES权限容许用户定义新关系时,引用其余关系的主键做为外键。
USAGE权限容许用户使用已定义的域。
②受权语句
GRANT <权限表> ON <数据库元素> TO <用户名表> [WITH GRANT OPTION]
WITH GRANT OPTIONO表示得到权限的用户还能得到传递权限,把得到的权限转授给其余用户。
③回收语句
REVOKE <权限表> ON <数据库元素> FROM <用户名表> [RESTRICT|CASCADE]
CASCADE表示回收权限时要引发连锁回收。
RESTRICT则当不存在连锁回收现象时,才能回收权限,不然系统会拒绝回收。
3.角色
在大型DBS中,用户的数量可能很是大,使用数据库的权限也各不相同。为了便于管理,引入了角色的概念。
定义:在SQL中,用户是实际的人或者是访问数据库的应用程序。而角色是一组具备相同权限的用户,实际上角色是属于目录一级的概念。
4.审计
定义:用于安全性目的的数据库日志称为审计追踪。
3.经常使用的安全措施
1.强制存取控制
这个方法的基本思想在于为每一个数据对象(文件、记录或字段等)赋予必定的密级,级别从高到低有:绝密级、机密级、秘密级和公用级。每一个用户也具备相应的级别,称为许可证级别。密级和许可证级别都是严格有序的,如:绝密>机密>秘密>公用。
在系统运行时,采用以下两条简单规则:
①用户i只能查看比它级别低或同级的数据。
②用户i只能修改和它同级的数据
第②条中,用户不能修改比它级别低的数据,为了防止用户将高级别的数据复制到较低级别的文件中。
2.统计数据库的安全性
有一类数据库称为“统计数据库”,例如人口调查数据库,它包含大量的数据,但其目的只是向公众提供统计、汇总信息,而不是提供单个记录的内容。
虽然不容许用户查询单个记录的信息,可是用户能够用过足够多的汇总信息来分析出单个记录的信息,这就给统计数据库的安全性带来严重的威胁。
在统计数据库中,对查询应做下列限制。
①一个查询查到的记录个数至少是n。
②两个查询查到的记录的”交”数目至可能是n。
另外一个方法——“数据污染”:也就是在回答查询时,提供一些偏离正确值的数据,以避免数据泄露,固然,这个偏离要在不破坏统计数据的前提下进行。
3.数据加密法
普通加密法和明键加密法。
①普通加密法:
加密算法的输入是源文和加密键,输出是密码文。加密算法能够公开,但加密键是必定要保密的。
②明键加密法:
能够随意公开加密算法和加密键,可是相应的解密键时保密的,所以明键法有两个键,一个用于加密,一个用于解密。