
1) 【一句话结论】
构建多层次数据安全体系,通过RBAC权限控制、传输存储加密、静态动态脱敏,满足个人信息保护法要求,保障学生信息全生命周期安全。
2) 【原理/概念讲解】
老师口吻解释关键概念:
3) 【对比与适用场景】
| 对比项 | RBAC(基于角色的访问控制) | ABAC(基于属性的访问控制) | 对称加密(如AES) | 非对称加密(如RSA) | 静态脱敏 | 动态脱敏 |
|---|---|---|---|---|---|---|
| 定义 | 根据预定义角色分配权限 | 根据用户属性、资源属性等动态决定访问权限 | 加密解密用同一密钥 | 加密用公钥,解密用私钥 | 数据入库前处理 | 查询时实时处理 |
| 特性 | 简单直观,角色与权限绑定 | 灵活,支持复杂条件 | 加解密速度快,适合大量数据 | 密钥分离,安全 | 永久脱敏,数据无法恢复 | 临时脱敏,不影响统计 |
| 使用场景 | 角色明确、权限固定(教师、管理员) | 需求复杂,动态调整(跨部门共享、按条件查询) | 数据存储加密(数据库字段) | 传输加密(TLS密钥交换)、数字签名 | 数据库中存储脱敏数据 | 查询结果展示(如用户查看信息) |
| 注意点 | 角色权限需定期审查 | 实现复杂,计算开销大 | 密钥管理困难,密钥泄露则数据全泄露 | 加解密速度慢,不适合大量数据传输 | 脱敏规则需匹配业务需求 | 实时处理可能影响查询性能 |
4) 【示例】
def check_permission(user_role, operation, resource):
if user_role == "admin":
return True # 管理员全权
elif user_role == "teacher":
if resource["class_id"] == user["class_id"]:
return True # 教师只能查看本班
else:
return False
else:
return False # 学生无操作权限
INSERT INTO student_info (id_card, name, class_id)
VALUES (
'123456****3456', # 前六位保留,后四位脱敏
'张三',
101
);
5) 【面试口播版答案】
面试官您好,针对学生信息管理系统的数据安全,我会从权限控制、数据加密、数据脱敏三个维度设计方案。首先权限控制,采用RBAC模型,按角色(管理员、教师、学生)分配权限,如教师仅能查看本班学生信息,管理员可全权操作,避免越权。其次数据加密,传输阶段用TLS 1.3加密网络通信,防止中间人攻击;存储阶段对身份证号、家庭住址等敏感字段用AES-256加密,密钥存储在HSM中,确保密钥安全。然后数据脱敏,分静态和动态,静态脱敏是在数据入库前处理(如身份证号前6位保留,后4位替换为星号),动态脱敏是在用户查询时实时处理(如查询时显示为123456****3456),避免数据泄露。这样从访问控制、传输存储、数据展示三个层面,全面满足个人信息保护法的要求。
6) 【追问清单】
7) 【常见坑/雷区】