4 安全架构
4.1 威胁模型
数据库运行在复杂的环境中,在计算、传输、存储数据等阶段,攻击者可利用硬件、软件等漏洞,威胁数据库安全。本文以数据库为核心,缩短攻击链路,排除攻击者身份演变、攻击阶段演进等因素,构造简化的威胁模型:
- 一、角色
- 黑客
- 内部运维人员
- 内部研发人员
- 系统维护人员
- 供应链
- 网络中间人
- 机房管理人员
- 二、动机
- 售卖获利
- 勒索获利
- 情报窃取
- 蓄意报复
- 规避审计
- 炫耀技能
- 人为过失
- 三、目标
- 鉴别数据
- 用户表
- 系统表
- 事务日志
- 审计日志
- 内存数据
- 配置文件
- 四、技术
- 不可信IP登录
- 默认账户攻击
- 过期账号攻击
- 弱口令攻击
- 密码泄露
- 暴力破解
- 凭证重放
- 内存凭证残留
- 流量伪造
- 流量重放
- 证书伪造
- 未授权访问
- 越权访问
- 权限提升
- 权限滥用
- 磁盘窃取
- 恶意软件
- 操作系统隔离失效
- 数据文件篡改
- 供应链后门
- 侧信道内存嗅探
- 调试工具滥用
- 特权用户窥探
- 审计日志伪造
- 攻击行为隐匿
- 恶意操作抵赖
- 合规审计证据缺失
- 五、分类
- 欺骗
- 篡改
- 否认
- 信息泄露
- 拒绝服务
- 权限提升
4.2 防御模型
针对威胁模型,本文从接入、传输、访问、存储、计算、合规6个维度,提供以下安全功能,构建防御模型:
- 接入安全:合法用户,才能接入数据库
- 网络防火墙
- 身份认证
- 传输安全:与数据库的通信数据,
- 安全传输
- 访问安全
- 访问控制
- 计算安全
- 驱动加密
- 机密计算
- 密码函数
- 存储安全
- 透明加密
- 合法合规
- 安全审计
- 动态脱敏
- 密钥管理
防御模型如下图所示:

4.3 安全功能
内核提供多种安全功能,有效解决各类威胁,保障数据在各阶段的机密性、完整性、可用性、可认证性、不可抵赖性等。目前,内核中各安全功能的关键功能点如下:
- 网络防火墙
- 多维度接入控制:主机、角色、数据库等
- 身份认证
- 用户管理:创建、锁定、解锁、过期、删除
- 口令复杂度校验:长度、字符、重复
- 弱口令校验
- 口令安全存储:sha256、sm3
- 认证失败限制
- 密码有效限制:失效提醒、账号锁定
- 内存凭证清理
- 多因素认证:证书、Kerberos、peer等
- 安全传输
- TLS协议
- TLCP协议
- 双向证书认证
- 证书有效校验
- 算法套件可配
- 访问控制
- 自主访问控制
- 强制访问控制
- 角色访问控制
- 行级访问控制
- 三权分立
- 视图访问控制:SECURITY DEFINER
- 驱动加密
- 密文端到端处理
- 列级加密
- 多级密钥
- 密态等值查询
- 机密计算
- 密态范围查询
- 密态模糊查询
- 密态排序
- 密态表达式计算
- 密态连接
- 密码函数
- 加密函数
- 哈希函数
- 密钥派生函数
- 随机数函数
- 透明加密
- 表级加密
- 索引加密
- 预写日志加密
- 双写加密
- 多级密钥
- 密钥轮转
- 数据防篡改
- 操作记录
- 篡改校验
- 安全审计
- 细粒度策略:用户、操作类型、对象、操作结果等
- 系统审计
- 日志存储
- 日志查询
- 日志加密
- 日志清理
- 动态脱敏
- 细粒度策略:角色、会话
- 脱敏算法可选
- 密钥管理
- 密钥服务可配
- 硬件加密
- 国密算法
未来:数据治理:敏感数据识别、分类分级、血缘分析、风险评估。隐私增强计算:差分隐私、联邦学习接口、匿名化