GM/T 0032-2014 基于角色的授权管理与访问控制技术规范:国密 PKI 的权限治理框架
概述
GM/T 0032-2014《基于角色的授权管理与访问控制技术规范》于 2014 年发布,由国家密码管理局发布,备案号 93742-2014。该标准规定了基于角色(Role-Based Access Control, RBAC)的授权管理机制,适用于信息系统密码应用中的权限管理需求,尤其对 CA 系统、密钥管理系统等关键密码基础设施提出了强制要求。
与通用 RBAC 模型(如 NIST RBAC0)相比,GM/T 0032-2014 针对密码应用场景的特殊性进行了扩展,强调三权分立、权限互斥和操作可追溯。
标准基本信息
| 属性 | 内容 |
|---|---|
| 标准编号 | GM/T 0032-2014 |
| 中文名称 | 基于角色的授权管理与访问控制技术规范 |
| 英文名称 | Technical specification for role-based authorization management and access control |
| 发布日期 | 2014-09-01 |
| 实施日期 | 2015-01-01 |
| 主管部门 | 国家密码管理局 |
| 状态 | 现行有效 |
| 备案编号 | 93742-2014 |
标准定位
GM/T 0032-2014 是国密 PKI 体系中的基础性标准,与以下标准形成互补关系:
| 配套标准 | 关系说明 |
|---|---|
| GM/T 0034-2014 | CA 系统规范,引用 GM/T 0032 定义操作员权限模型 |
| GM/T 0030-2014 | 服务器密码机规范,定义硬件模块的访问控制接口 |
| GM/T 0037-2014 | 证书认证系统检测规范,将 RBAC 实现纳入检测项 |
| GB/T 39786-2021 | 密码应用基本要求,明确三级系统需支持 RBAC |
核心架构:角色、权限与用户
角色分层模型
GM/T 0032-2014 定义了三级角色分层结构,每个层级具有明确的权限边界:
CODE
┌─────────────────────────────────────────────────────┐
│ 系统管理员(System Administrator) │
│ - 定义角色、分配权限 │
│ - 管理用户账户 │
│ - 配置系统参数 │
│ - 不直接参与业务操作 │
└─────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ 业务操作员(Operator) │
│ - 执行证书签发、吊销、续期 │
│ - 管理密钥材料 │
│ - 需审批员复核关键操作 │
│ - 不参与系统配置 │
└─────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ 审计员(Auditor) │
│ - 查看操作日志 │
│ - 生成审计报告 │
│ - 不能修改业务数据 │
│ - 不能授予或撤销权限 │
└─────────────────────────────────────────────────────┘权限矩阵定义
标准第 5.3 节明确规定了关键操作的权限分配规则:
| 操作类型 | 系统管理员 | 业务操作员 | 审计员 |
|---|---|---|---|
| 用户创建/删除 | ✓ | ✗ | ✗ |
| 角色定义 | ✓ | ✗ | ✗ |
| 证书签发 | ✗ | ✓(普通) | ✗ |
| 证书吊销 | ✗ | ✓(需双人) | ✓(查看) |
| 密钥生成 | ✗ | ✓ | ✗ |
| 密钥导出 | ✗ | ✗ | ✗ |
| 查看操作日志 | ✓ | ✓ | ✓ |
| 删除操作日志 | ✗ | ✗ | ✗ |
| 修改系统配置 | ✓ | ✗ | ✗ |
- 密钥永不导出:任何角色均不得导出原始密钥材料
- 删除操作禁止:操作日志不可被删除或修改
- 关键操作双人授权:证书吊销、密钥恢复等高风险操作需至少两名操作员确认
权限互斥规则
标准第 5.4 节定义了权限互斥约束,防止单一角色拥有过大权限:
| 互斥对 | 说明 |
|---|---|
| 系统管理员 ≠ 业务操作员 | 配置人员不得参与业务操作 |
| 业务操作员 ≠ 审计员 | 操作人员不得审计自己 |
| 签发操作 ≠ 吊销操作 | 同一操作员不得同时拥有签发和吊销权限 |
身份鉴别与会话管理
身份鉴别要求
GM/T 0032-2014 第 6 章规定了身份鉴别的安全要求:
| 等级 | 鉴别方式 | 适用场景 |
|---|---|---|
| 一级 | 用户名 + 口令 | 低风险操作 |
| 二级 | 用户名 + 口令 + 动态口令 | 常规业务操作 |
| 三级 | 用户名 + 口令 + 生物特征 | 高敏感操作 |
| 四级 | 多因子综合鉴别 | 密钥管理操作 |
会话生命周期管理
标准规定了会话的完整生命周期:
CODE
会话创建 → 身份验证 → 权限检查 → 操作执行 → 审计记录 → 会话终止关键要求:
- 会话超时:空闲超过 15 分钟自动终止
- 并发限制:同一用户最多允许 3 个并发会话
- 会话绑定:会话与鉴别信息绑定,不可转让
审计与可追溯性
审计记录要求
标准第 7 章规定,系统必须记录以下审计信息:
| 记录项 | 内容 |
|---|---|
| 时间戳 | 操作发生的精确时间(毫秒级) |
| 操作者 | 执行操作的用户标识 |
| 操作类型 | 登录、签发、吊销等 |
| 操作对象 | 目标资源标识 |
| 操作结果 | 成功/失败 |
| 来源地址 | 操作发起的 IP 地址 |
审计数据保护
审计数据本身受到严格保护:
- 完整性保护:审计记录采用 SM3 哈希链结构,防止篡改
- 不可删除:审计记录一旦生成,不可被删除或修改
- 定期备份:审计数据应定期备份至独立存储介质
与 GB/T 39786 的合规映射
GB/T 39786-2021《信息安全技术 信息系统密码应用基本要求》对 RBAC 提出了明确要求:
| GB/T 39786 条款 | 对应要求 | GM/T 0032 实现 |
|---|---|---|
| 第 8.1.3 条 | 应对登录用户进行身份标识和鉴别 | 第 6 章身份鉴别机制 |
| 第 8.1.4 条 | 应具备登录失败处理功能 | 会话锁定策略 |
| 第 8.2.3 条 | 应对重要主体和客体设置安全标记 | 角色权限标记 |
| 第 8.3.1 条 | 应授予管理用户所需的最小权限 | 最小权限原则 |
- 必须实现三级角色划分(系统管理员、操作员、审计员)
- 必须实现权限互斥(签发 ≠ 吊销)
- 必须实现审计日志防篡改
工程实践要点
实施步骤
- 角色定义阶段:根据业务需求定义角色集合,确保满足三权分立
- 权限分配阶段:按照权限互斥矩阵分配初始权限
- 用户关联阶段:将用户账户与角色关联,记录关联关系
- 鉴别机制部署:根据操作敏感级别部署相应鉴别强度
- 审计配置:开启全量审计日志,配置完整性保护
常见合规问题
| 问题 | 原因 | 修复方案 |
|---|---|---|
| 操作员可直接删除日志 | 未实现审计保护机制 | 添加日志完整性校验,禁止删除操作 |
| 同一人拥有签发和吊销权限 | 权限互斥未生效 | 在权限矩阵中强制互斥检查 |
| 系统管理员参与业务操作 | 角色分离不清 | 重新划分角色,建立操作隔离 |
| 审计日志明文存储 | 未启用完整性保护 | 采用 SM3 哈希链或数字签名保护 |
相关实践
- GM/T 0032-2014 角色授权与访问控制:国密 PKI 系统的权限治理基石 — Python 实现参考