摘要:企业文档承载核心知识资产,安全是不可妥协的底线。本文从存储加密、传输加密、权限模型、审计日志及AI安全五个维度,详解私有化部署文档系统的安全设计,适合对数据安全有较高要求的技术团队参考。
一、整体安全架构
遵循纵深防御理念,在数据生命周期各阶段设置防护:
客户端层: Web端/App端,内容加密传输(TLS 1.3),设备指纹校验
接入层: 网关限流、防重放、WAF防护
应用层 :RBAC权限、动态水印、操作审计
**数据层:**数据库加密(TDE)、文件加密存储(AES-256)
二、存储加密
2.1 文件加密
所有上传的文档(Word、PDF、图片等)在写入本地磁盘前,使用AES-256-GCM算法加密。每个租户单独生成密钥,密钥存储在密钥管理服务(KMS)中。
文件上传时加密的代码示意(Java):
byte[] content = file.getBytes();
SecretKeySpec key = KeyStore.getKey(tenantId); // 租户独立密钥
byte[] encrypted = AesGcmUtil.encrypt(content, key);
storageClient.write(encrypted);
解密时同样根据租户获取密钥。即使磁盘被盗,没有密钥文件也无法读取文档内容。
2.2 数据库加密
数据库中的敏感字段(如文档标题、用户名等)可采用透明数据加密(TDE)或应用层加密。常见加密字段包括:文档名称、文档预览片段、用户自定义属性,使用与文件加密一致的算法。
三、传输加密
-
**全链路HTTPS:**强制使用TLS 1.2及以上版本,禁用弱加密套件
-
**WebSocket加密:**协同编辑场景的WebSocket连接使用WSS协议
-
**证书管理:**支持企业自有CA证书导入,避免公共证书可能导致的中间人风险
四、权限模型
采用基于RBAC的权限体系,支持以下控制粒度:
-
**空间级:**整个知识库空间可见性(公开/私有/指定部门)
-
**文件夹级:**不同群组对文件夹的读/写/管理权限
-
**文档级:**单篇文档可设置独立密码或有效期访问
-
**操作级:**区分预览、下载、打印、复制、分享等细分操作
**动态水印:**对于机密文档,可开启动态水印,水印内容包含当前登录用户姓名+时间戳,有效震慑截图泄露。
五、审计日志
系统记录所有关键操作:
-
**登录审计:**账号、IP、设备、登录成功/失败
-
**文档行为:**查看、编辑、下载、分享、删除
-
**权限变更:**角色分配、文件夹授权更改
-
**系统配置:**备份设置、AD/LDAP同步记录
日志采用write-once存储,防止篡改。
六、AI安全增强
集成AI套件后,所有AI请求均在私有化环境闭环。安全措施包括:
-
**数据不离开租户:**AI模型调用时只传递文档索引ID,由模型从本地数据库读取
-
**问答审计:**所有用户与AI的问答记录均保存,可审计是否存在查询越权文档
-
**敏感词过滤:**AI生成内容前进行敏感词屏蔽
七、合规适配
-
**等保2.0三级:**支持三员管理,日志留存6个月以上
-
**GDPR:**支持数据导出/删除接口,匿名化处理
-
**信创环境:**适配麒麟OS、达梦数据库、东方通中间件
八、附录:存储加密 vs 传输加密技术对比
| 加密层级 | 加密方式 | 保护范围 | 性能影响 |
|---|---|---|---|
| 传输加密 | TLS 1.3 | 网络传输过程 | 较低 |
| 存储加密 | AES-256-GCM | 磁盘存储文件 | 中等 |
| 数据库TDE | 透明数据加密 | 数据库文件 | 低 |
| 应用层加密 | 字段级加密 | 敏感字段 | 视实现而定 |
企业可根据自身合规要求和性能预算选择不同的加密组合。