多权分立
达梦数据库默认使用三权分立,将传统的数据库管理员划分 为三个可以互相制约的角色
⚫ 数据库管理员安全功能范围:身份验证、资源限制、 数据加密、访问控制、客体重用
⚫ 数据库审计员安全功能范围:审计
⚫ 数据库安全员安全功能范围:策略和标记管理
多权分立
在三权分立权限管理基础上,进一步对权限管理进行升级优化,支持多权分立
⚫ 在数据库初始化时用户可根据需要设定系统级角色和对 应的权限
⚫ 一旦设定不可修改系统角色权限
⚫ 系统提供常用的权限分立方案供用户选择能力
多权分立——设置四权分立
身份验证
数据库口令验证
口令复杂度:
⚫ 0: 无限制;
⚫ 1: 禁止与用户名相同;
⚫ 2: 口令长度不小于6个字符;
⚫ 4: 至少包含一个大写字母(A-Z);
⚫ 8: 至少包含一个数字(0-9);
⚫ 16:至少包含一个标点符号(英文输入法状态下,除双引号和空格外的所有符号);
⚫ 若为其他数字,则表示配置值的和,如3=1+2,表示同时启用第1项和第2项限制。
资源限制
⚫ 资源限制是用于限制用户对达梦系统资源的使用,达梦提供了资源限制选项
⚫用户 ➢使用者在数据库系统中的身份。
⚫权限 ➢数据库系统可以授予操作者的最小权 力单位。
⚫角色 ➢一组权限的集合。
权限
⚫系统权限 ➢规定允许用户在数据库中执行特定的操作,例如执行DDL语句。 create、drop、alter、audit、label…… table, view, sequence,trigger, function……
⚫对象权限 ➢规定允许用户对数据库对象执行特定的操作,例如对表执行DML语句。 select、insert、update、delete、references、 execute
➢ 用户创建视图时,受到其在该视图所在基表上的权限限制,视图只能定义在该用户有访问权限的基表对象上;
➢ 若视图包含不止一个基表,则只能定义在该用户在这些基表上的访问权限的交集上;
➢ 用户可以将其在某个视图上拥有的可转授权限转授其他用户;
➢ 达梦数据库对视图等“嵌套”对象的权限检查采用“调用者”模式,即用户访问视图时必须同时具备视图所在 基表的权限。
自主访问控制实现
为了避免重复分析主体对客体是否有访问权限,DM采用如下实现方案:
(1)在分析阶段生成执行计划时,搜集所有需要访问的对象;
(2)生成执行计划后,一次性判断用户是否具有所有这些对象上的访问权限;
(3)如果具有需要的所有权限,则继续执行;否则,报错返回。
审计
⚫审计的作用 ➢跟踪数据库操作,监视输出信息,以确定是否存在违背安全性的行为。
⚫执行审计需要的权限
➢只有数据库审计员才能进行进行审计操作,数据库管 理员和安全员不能参与审计活动。
➢达梦预定义系统审计管理员(SYSAUDITOR)。
审计——审计种类
⚫ 系统级审计 系统的启动与关闭,此级别的审计记录在任何情况下都会强制产生, 无法也无需由用户进行设置。
⚫ 语句级审计 导致影响特定类型数据库对象的特殊SQL或语句组的审计。如AUDIT TABLE 将审计CREATE TABLE、ALTER TABLE和DROP TABLE等语 句。
⚫ 对象级审计 审计作用在特殊对象上的语句。如PERSON表上的INSERT语句。
审计——审计活动
在DM系统中,启用审计功能需要两步:
⚫打开审计开关(默认审计开关关闭),并重启数据库服务。
⚫对指定的审计对象设置审计,否则不记录审计记录。
打开审计开关
设置审计——针对具体的对象
对用户USER1查询操作SYSDBA模式下T1表设置审计
SP_AUDIT_OBJECT('SELECT', 'USER1', 'SYSDBA', 'T1', 'ALL');
1
对用户USER1所有表更新操作设置审计
SP_AUDIT_STMT('UPDATE TABLE', 'USER1', 'ALL');
1
数据库加密
⚫ 通信加密
⚫ 存储加密
➢ 透明存储加密、半透明存储加密、非透明存储加密
⚫ 导出数据加密
⚫ 加密引擎
基本概念
⚫ 对称密码算法 :加密和解密使用相同密钥的密码算法。
➢ 分组密码算法:将输入数据划分成固定长度的分组进行加解密的一类对称密码算法。
➢ 分组密码算法工作模式:分组密码算法的使用方式, 主要包括:
• 电码本工作模式(ECB)、密码分组链接工作模式(CBC)、
• 密码反馈工作模式(CFB)、输出反馈工作模式(OFB)。
➢ 序列密码算法:也成流密码算法,将明文逐比特/字符运算的一种对称密码算法。
⚫ 非对称密码算法/公钥密码算法:加密和解密使用不同密钥的密码算法。其中一个密钥(公钥)可以公开,另 一个密钥(私)必须保密,且由公钥求解私钥是计算不可行的。
➢ 椭圆曲线密码算法(ECC):基于有限域上椭圆曲线 离散对数问题的非对称密码算法。
⚫ 密码杂凑算法:又称杂凑算法、密码散列算法或哈希算法。该算法将一个任意长的比特串映射到一个固定长的 比特串,且满足三个特性:碰撞稳固性,原根稳固性和 第二原根稳固性。
⚫ 数字证书:也称公钥证书,由证书认证机构(CA)签名 的包含公开密钥拥有者信息、公开密钥、签发者信息、 有效期以及扩展信息的一种数据结构。
➢ 按类别可分为个人证书、机构证书和设备证书,按 用途可分为签名证书和加密证书。
⚫ SSL协议:一种传输层安全协议,用于构建客户端和服 务端之间的安全通道。
密钥管理
达梦数据库采用多级密钥管理机制,整个系统的密钥分为 库内密钥、数据库主密钥、服务器主密钥。
⚫ 库内密钥
➢ 包括用户密钥、列加密密钥,由系统随机生成或用户指定
➢ 库内密钥通过数据库主密钥加密保护
⚫ 数据库主加密
➢ 在初始化数据库时随机生成,用于库内密钥、数据库对象信息的加密保护
➢ 数据库主密钥由服务器主密钥加密保护
⚫ 服务器主加密
➢ 在系统安装过程中随机生成,由专门的UKey 进行加密保护
通信加密
达梦数据库的通信加密是基于安全套接字层(SSL)协议实现的。
⚫ SSL协议使用公钥加密体系并结合对称密钥加密体系来提供身份认证、数据加密、数据完整性校验、数字签名 等一系列的服务。
⚫ 为了保证通信双方是可信任的,公钥加密体系中的公钥都是以数字证书形式存在。
⚫ 启用通信加密后,客户端、服务器须使用相配套文件的证书文件,并置于指定目录下。