修正贷款定价敏感信息脱敏设计与计划

This commit is contained in:
wkc
2026-03-30 13:39:12 +08:00
parent 51890506b9
commit 2eb1e6b8ee
5 changed files with 56 additions and 16 deletions

View File

@@ -19,7 +19,8 @@
## 2. 已确认约束
- 仅修改贷款定价流程相关前后端与数据库脚本,不扩散到系统其他模块
- 不覆盖模型输出表的敏感字段治理
- 不覆盖模型输出表的存储加密治理
- 详情页模型输出“基本信息”中的 `custName``idNum` 必须纳入展示脱敏范围
- 不新增前端字段级加密协议
- 不引入外部密钥管理系统
- 不新增兼容性字段、补丁式逻辑或降级分支
@@ -172,6 +173,14 @@
4. 将解密后的明文复制到 `ModelInvokeDTO`
5. 模型调用完成后,模型输出链路保持现状,不纳入本次改造
### 7.5 模型输出展示链路
1. 详情接口查询到 `ModelRetailOutputFields``ModelCorpOutputFields`
2. 模型输出实体中的 `custName``idNum` 保持当前存储方式,不做表级加密改造
3. 在详情接口返回前,对模型输出“基本信息”中的 `custName``idNum` 做统一脱敏
4. 前端 `ModelOutputDisplay` 组件直接展示后端返回的脱敏值
5. 不提供模型输出基本信息的明文查看入口
## 8. 后端改造设计
### 8.1 配置项
@@ -202,6 +211,9 @@
5. `LoanPricingModelService#invokeModelAsync`
模型调用前解密 `custName``idNum`,确保模型收到明文业务数据
6. `LoanPricingWorkflowServiceImpl#selectLoanPricingBySerialNum`
在组装 `ModelRetailOutputFields``ModelCorpOutputFields` 返回值时,对其 `custName``idNum` 进行脱敏替换
### 8.3 对象边界
本次不新增明文返回字段,也不保留“密文字段 + 展示字段”双轨结构,避免对象语义膨胀。
@@ -225,6 +237,7 @@
- 保持字段布局不变
- `custName``idNum` 直接展示后端返回的脱敏值
- 不新增“查看明文”“复制原值”等交互入口
- 模型输出组件 `ModelOutputDisplay.vue` 的“基本信息”页签继续直接消费后端字段,但要求后端返回值已完成脱敏
### 9.3 建单页
@@ -266,8 +279,9 @@
3. 列表查询仅支持通过 `custIsn` 命中
4. 列表返回中的 `custName` 为脱敏值
5. 详情返回中的 `custName``idNum` 为脱敏值
6. 模型调用链路成功,证明服务内部解密逻辑成立
7. 配置缺失时创建流程失败,确认不会明文入库
6. 模型输出“基本信息”中的 `custName``idNum` 返回为脱敏值
7. 模型调用链路成功,证明服务内部解密逻辑成立
8. 配置缺失时创建流程失败,确认不会明文入库
### 12.2 前端验收
@@ -275,7 +289,9 @@
2. 列表页客户名称展示为脱敏值
3. 个人详情页客户名称、证件号码展示为脱敏值
4. 企业详情页客户名称、证件号码展示为脱敏值
5. 创建流程、查看详情、设定执行利率等既有功能不受影响
5. 个人模型输出“基本信息”页签中的客户名称、证件号码展示为脱敏值
6. 企业模型输出“基本信息”页签中的客户名称、证件号码展示为脱敏值
7. 创建流程、查看详情、设定执行利率等既有功能不受影响
## 13. 风险与控制
@@ -306,12 +322,13 @@
- 贷款定价流程建单入库加密
- 贷款定价流程列表和详情展示脱敏
- 贷款定价流程详情页中的模型输出“基本信息”展示脱敏
- 贷款定价流程查询条件收口为客户内码
- 贷款定价流程存量数据清空处理
本次不包含:
- 模型输出表加密改造
- 模型输出表存储加密改造
- 系统其他模块的敏感字段改造
- 前后端传输层字段加密
- 密钥托管平台接入

View File

@@ -12,6 +12,7 @@
- 明确采用应用层 AES 加解密与返回前统一脱敏方案
- 明确列表查询改为仅支持客户内码 `custIsn`
- 明确存量数据处理方式为直接清空,不做迁移
- 补充模型输出“基本信息”中的 `custName``idNum` 也需纳入展示脱敏范围
## 文档路径
@@ -22,6 +23,7 @@
- `loan_pricing_workflow.cust_name``loan_pricing_workflow.id_num` 改为密文存储
- 贷款定价流程列表页、详情页仅展示脱敏值
- 贷款定价流程详情页中的模型输出“基本信息”也仅展示脱敏值
- 前端不承担加解密职责
- 模型调用前由后端服务内部解密敏感字段

View File

@@ -9,6 +9,7 @@
- 明确后端采用统一加解密服务 + 统一展示脱敏服务的实施路径
- 明确前端仅做查询项收口和脱敏值消费,不承担加解密
- 明确测试命令、数据库清理脚本、实施记录与提交节点
- 补充模型输出“基本信息”页签中的 `custName``idNum` 也纳入脱敏验证范围
## 文档路径
- `docs/superpowers/plans/2026-03-30-loan-pricing-sensitive-data-encryption-backend-plan.md`
@@ -18,7 +19,8 @@
## 计划结论
- 计划已按仓库要求拆分为后端执行文档和前端执行文档
- 后端计划覆盖密钥配置、敏感字段加解密、列表/详情脱敏、模型调用前解密和历史数据清理
- 端计划覆盖查询项切换为客户内码、脱敏值展示消费、构建验证和联调验证
- 端计划补充模型输出“基本信息”返回值脱敏
- 前端计划覆盖查询项切换为客户内码、脱敏值展示消费、构建验证和联调验证,并显式检查模型输出“基本信息”页签
- 两份计划都采用最短路径实现,不引入明密文兼容分支
## 说明