
1) 【一句话结论】:为满足《个人信息保护法》要求,数据存储和传输需采用“加密存储+安全传输协议+访问控制+数据脱敏”的多层次方案,通过技术手段保障数据在静态和动态场景下的隐私安全,同时通过密钥管理和审计确保合规性。
2) 【原理/概念讲解】:
3) 【对比与适用场景】:
| 方案类型 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 对称加密(AES) | 加密解密用同一密钥 | 速度快,计算量小 | 数据库静态存储敏感数据 | 密钥需安全存储,避免泄露 |
| 非对称加密(RSA) | 加密用公钥,解密用私钥 | 安全,用于密钥交换 | 传输时交换会话密钥 | 密钥对生成复杂,存储成本高 |
| TLS/HTTPS | 传输层安全协议,加密传输 | 机密性、完整性、身份验证 | 客户端与服务器之间的数据传输 | 需证书认证,避免中间人攻击 |
| 访问控制(RBAC) | 基于角色的权限管理 | 逻辑化权限分配 | 限制不同用户对数据的访问权限 | 角色设计需合理,避免权限过大 |
4) 【示例】(伪代码):
# 假设用户数据为字典,包含敏感信息(如id, phone, address)
user_data = {"id": "123456", "phone": "13800138000", "address": "北京市XX区"}
# 对敏感字段加密(假设用AES)
import os, base64, hashlib
def encrypt_data(data, key):
key = os.urandom(32) # 256位密钥
cipher = AES.new(key, AES.MODE_GCM)
nonce = cipher.nonce
ciphertext, tag = cipher.encrypt_and_digest(data.encode('utf-8'))
return base64.b64encode(nonce + tag + ciphertext).decode('utf-8'), key
encrypted_data, key = encrypt_data(user_data)
# 存入数据库(加密后存储)
db.save(encrypted_data, key) # 密钥需单独存储(如密钥管理服务)
5) 【面试口播版答案】:
“面试官您好,针对《个人信息保护法》的要求,我设计的安全方案核心是‘加密存储+安全传输+访问控制+脱敏’,具体来说:
首先,数据存储时,对敏感信息(如用户ID、电话、地址)采用AES对称加密,确保数据库中数据即使泄露也难以解密;密钥通过密钥管理服务安全存储,避免密钥泄露。
其次,数据传输采用TLS/HTTPS协议,通过证书验证通信双方身份,加密传输过程,防止中间人攻击和数据窃取。
然后,实施基于角色的访问控制(RBAC),为管理员、教师、学生分配不同权限,限制对敏感数据的访问,比如教师只能查看自己班级的学生信息,不能访问其他班级。
最后,对存储的敏感数据(如身份证号)进行部分脱敏,比如只显示前6位和后4位,减少泄露风险。
这样,从存储、传输到访问,多维度保障数据隐私,符合法规要求。”
6) 【追问清单】:
7) 【常见坑/雷区】: