Skip to content

数据安全清单

文档编号: SYS-SEC-DATA-001
版本: 1.0
创建日期: 2026-03-08
作者: 安全架构师
状态: ✅ 已完成


1. 概述

1.1 目的

本文档定义System平台的数据安全要求,确保数据在传输、存储、处理过程中的安全性,防止数据泄露、篡改和丢失。

1.2 适用范围

  • 用户数据(个人信息、账号信息)
  • 业务数据(系统配置、操作日志)
  • 敏感数据(密码、密钥、令牌)
  • 备份数据(数据库备份、文件备份)

1.3 参考标准

  • GB/T 22239-2019 信息安全技术 网络安全等级保护基本要求
  • GB/T 35273-2020 信息安全技术 个人信息安全规范
  • OWASP Data Protection Cheat Sheet

2. 传输安全

2.1 TLS加密

检查项要求实现方式优先级
TLS版本TLS 1.2或更高Web服务器配置必须
证书有效性使用有效证书证书管理必须
证书来源使用可信CA签发证书购买/申请必须
HSTS启用HTTP严格传输安全响应头配置建议
混合内容禁止HTTP资源加载CSP策略必须

Nginx TLS配置示例:

nginx
server {
    listen 443 ssl http2;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
    ssl_prefer_server_ciphers on;
    add_header Strict-Transport-Security "max-age=31536000" always;
}

2.2 API传输安全

检查项要求实现方式优先级
敏感参数禁止URL传递敏感信息POST请求体必须
请求签名重要接口请求签名HMAC-SHA256建议
防重放请求时间戳+随机数请求参数建议
响应加密敏感数据响应加密AES加密可选

3. 存储安全

3.1 密码存储

检查项要求实现方式优先级
哈希算法bcrypt/Argon2Spring Security必须
工作因子bcrypt: 10-12配置参数必须
盐值随机盐值bcrypt内置必须
明文存储禁止代码审查必须

3.2 敏感字段加密

字段类型加密算法密钥管理优先级
身份证号AES-256-GCMKMS管理必须
手机号AES-256-GCMKMS管理必须
银行卡号AES-256-GCMKMS管理必须
邮箱地址AES-256-GCMKMS管理建议
地址信息AES-256-GCMKMS管理建议

MyBatis Plus加密示例:

java
@Component
public class SensitiveDataEncryptor implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        // 加密敏感字段
        String idCard = (String) getFieldValByName("idCard", metaObject);
        if (StrUtil.isNotBlank(idCard)) {
            setFieldValByName("idCard", AESUtil.encrypt(idCard), metaObject);
        }
    }
}

3.3 数据库安全

检查项要求实现方式优先级
连接加密SSL/TLS连接JDBC配置必须
账号权限最小权限原则数据库用户配置必须
密码管理定期更换密码密码策略必须
审计日志启用数据库审计数据库配置建议

4. 数据脱敏

4.1 脱敏规则

数据类型脱敏规则示例
手机号保留前3后4138****8888
身份证号保留前6后4110101********1234
银行卡号保留后4位**** **** **** 1234
邮箱保留首字母和域名a***@example.com
姓名保留姓张**
地址保留省市北京市******

4.2 脱敏场景

场景脱敏要求实现方式
列表展示默认脱敏序列化注解
详情查看有权限可查看原文权限控制
数据导出默认脱敏导出处理
日志记录必须脱敏日志拦截器
API响应根据权限脱敏响应处理器

脱敏注解示例:

java
public class UserVO {
    @Sensitive(type = SensitiveType.MOBILE)
    private String mobile;
    
    @Sensitive(type = SensitiveType.ID_CARD)
    private String idCard;
    
    @Sensitive(type = SensitiveType.NAME)
    private String realName;
}

5. 数据备份

5.1 备份策略

备份类型频率保留周期存储位置
全量备份每周4周异地存储
增量备份每天7天本地+异地
事务日志实时30天本地
配置文件变更时10个版本版本控制

5.2 备份安全

检查项要求实现方式优先级
备份加密备份文件加密存储AES加密必须
传输加密备份传输使用SFTP/SCPSSH协议必须
访问控制备份存储访问控制权限管理必须
定期恢复测试每季度恢复测试测试环境建议

5.3 备份脚本示例

bash
#!/bin/bash
# MySQL备份脚本
BACKUP_DIR="/backup/mysql"
DATE=$(date +%Y%m%d_%H%M%S)
DB_NAME="linsir_system"

# 执行备份
mysqldump -u backup -p$PASSWORD --single-transaction $DB_NAME | gzip > $BACKUP_DIR/${DB_NAME}_${DATE}.sql.gz

# 加密备份
openssl enc -aes-256-cbc -salt -in $BACKUP_DIR/${DB_NAME}_${DATE}.sql.gz -out $BACKUP_DIR/${DB_NAME}_${DATE}.sql.gz.enc -pass pass:$ENCRYPT_KEY

# 删除原文件
rm $BACKUP_DIR/${DB_NAME}_${DATE}.sql.gz

# 清理过期备份
find $BACKUP_DIR -name "*.enc" -mtime +30 -delete

6. 数据访问控制

6.1 访问控制策略

控制点要求实现方式
身份认证访问前必须认证JWT验证
权限校验访问需授权RBAC模型
数据范围只能访问授权数据数据权限拦截
操作审计记录所有访问审计日志

6.2 数据导出控制

检查项要求实现方式优先级
导出权限需特定权限权限校验必须
导出审批敏感数据导出需审批工作流建议
导出水印添加用户标识水印PDF/Excel水印建议
导出日志记录导出操作审计日志必须
导出脱敏敏感字段脱敏导出处理必须

7. 数据销毁

7.1 销毁策略

数据类型销毁时机销毁方式
用户注销数据用户注销后30天逻辑删除+物理删除
临时数据过期后自动清理定时任务删除
日志数据保留期满后归档后删除
备份数据保留期满后安全擦除

7.2 安全删除

检查项要求实现方式优先级
逻辑删除先标记删除状态deleted字段必须
物理删除定期清理逻辑删除数据定时任务必须
文件删除安全擦除文件覆写删除建议
删除审计记录删除操作审计日志必须

8. 密钥管理

8.1 密钥生命周期

阶段要求实现方式
生成使用安全随机数生成SecureRandom
存储存储在KMS或安全密钥库HashiCorp Vault
使用内存中使用,不持久化临时变量
轮换定期轮换密钥定时任务
销毁安全销毁旧密钥安全擦除

8.2 密钥分类

密钥类型用途存储位置
数据库加密密钥敏感字段加密KMS
JWT签名密钥Token签名验证配置文件+环境变量
API签名密钥接口签名验证数据库
备份加密密钥备份文件加密KMS

9. 安全检查清单

9.1 开发阶段检查

  • [ ] 敏感字段加密实现
  • [ ] 数据脱敏注解实现
  • [ ] 传输加密配置
  • [ ] 密码哈希存储
  • [ ] 数据权限拦截器
  • [ ] 导出安全控制

9.2 测试阶段检查

  • [ ] 传输层加密测试
  • [ ] 存储加密测试
  • [ ] 数据脱敏测试
  • [ ] 备份恢复测试
  • [ ] 密钥轮换测试

9.3 部署阶段检查

  • [ ] TLS证书配置
  • [ ] 数据库SSL连接
  • [ ] 备份策略配置
  • [ ] 密钥管理系统
  • [ ] 数据审计日志

10. 合规要求

10.1 等保三级要求

控制点要求实现
S3A4-数据完整性防止数据篡改数字签名/校验
S3A5-数据保密性加密存储和传输TLS + AES加密
S3A5-备份恢复数据备份和恢复定期备份策略

10.2 个人信息保护

要求实现
最小必要只收集必要个人信息
加密存储敏感个人信息加密
访问控制严格的数据访问控制
删除权支持用户删除个人信息

11. 评审记录

11.1 评审意见

序号评审项评审意见评审结果
1传输加密TLS 1.2+配置完善✓ 通过
2存储加密敏感字段AES加密✓ 通过
3数据脱敏脱敏规则覆盖全面✓ 通过
4备份策略备份策略合理✓ 通过
5密钥管理KMS密钥管理✓ 通过
6等保合规满足数据安全要求✓ 通过

11.2 评审结论

评审结果: ✅ 通过

评审日期: 2026-03-08

评审人员:

  • 安全专家: _________________ (签字) 2026-03-08
  • 技术负责人: _________________ (签字) 2026-03-08
  • 产品经理: _________________ (签字) 2026-03-08

12. 修订记录

版本日期作者变更内容
1.02026-03-08安全架构师初始版本,定义数据安全清单

Released under the MIT License.