3. 安全工程基础与合规约束

跨机构联合计算的安全工程,第一步不是选框架、搭集群,而是把“哪些数据能碰、能碰多少、能用来干什么、干完留下什么痕迹”这四件事说清楚。它们分别对应合规要求中的合法性基础、最小必要、目的限制与审计追溯。本节从法规约束出发,落到可执行的工程原则,并给出一个可复用的合规约束映射表。

一、三部法规的约束焦点不同,但共同指向“可控可证”

《数据安全法》的核心是数据分类分级保护与数据处理活动的全流程安全。它要求建立数据分类分级制度,对重要数据实行更严格的管理,并在数据出境、委托处理、开放共享等场景中明确安全义务。对联合计算而言,最直接的影响是:参与方必须先判定各自输入数据的级别,重要数据原则上不出域,一般数据也需在受控环境中使用。

《个人信息保护法》聚焦个人信息处理规则,强调告知同意、单独同意、最小必要、目的限制、可携带权与删除权。联合计算中若涉及个人信息,必须回答:是否取得了个人的有效同意?同意范围是否覆盖本次联合计算的目的?计算完成后原始数据与中间结果如何删除?特别地,若联合计算涉及“向其他处理者提供个人信息”,需履行告知并取得单独同意,除非符合法定豁免情形。

GDPR 的约束逻辑与 PIPL 高度相似,但更强调数据主体的权利、数据保护影响评估(DPIA)、数据保护官(DPO)参与、跨境传输的充分性认定或适当保障措施。对于跨境联合计算,GDPR 要求传输前完成合法性评估,并采用标准合同条款(SCC)或约束性公司规则(BCR)等工具。三部法规的共同底线是:处理活动必须有合法性基础,处理范围必须可控,处理过程必须可证明。

二、四项工程原则:把法规语言翻译成系统约束

最小必要不是“少拿点数据”,而是“只取完成目标所需的最小字段、最小粒度、最小时间窗口”。工程上可落为字段白名单、行级过滤、时间窗口裁剪和采样率上限。例如,联合风控场景中,若只需判断“近 90 天是否有逾期”,则不应传输完整还款流水,而应传输“逾期标签 + 时间戳”或经本地聚合后的布尔值。

目的限制要求数据用途与收集时的目的保持一致。工程上通过“目的标签”绑定数据与计算任务:每个数据集携带 purpose_id,计算任务提交时声明 purpose_id,调度器校验二者匹配才允许执行。这样可防止数据被二次用于未授权目的。

审计追溯要求每一次数据访问、每一次计算、每一次结果输出都可回溯到主体、时间、目的和授权依据。工程上需要记录:谁在何时、以什么目的、访问了哪些数据、执行了什么算子、输出了什么结果、结果被谁取走。日志本身也要防篡改,通常采用哈希链或写入不可变存储。

数据最小化与去标识化是上述原则的技术支撑。联合计算中常用的手段包括:本地差分隐私、安全聚合、k-匿名、假名化。需要强调的是,去标识化不等于匿名化;若仍可结合辅助信息重识别,仍属个人信息,仍受 PIPL 与 GDPR 约束。

跨机构联合计算合规约束映射:法规 → 原则 → 工程控制 数据安全法 分类分级 · 重要数据不出域 委托处理安全义务 数据出境安全评估 个人信息保护法 告知同意 · 单独同意 最小必要 · 目的限制 删除权 · 可携带权 GDPR 合法性基础 · DPIA 数据主体权利 · DPO 跨境传输 SCC / BCR 最小必要 字段白名单 · 行级过滤 时间窗口裁剪 · 采样上限 本地聚合后输出 目的限制 purpose_id 绑定数据集 任务提交声明用途 调度器校验匹配才执行 审计追溯 访问/计算/输出全记录 主体·时间·目的·授权依据 哈希链防篡改 数据接入控制 字段级 ACL + 脱敏规则 差分隐私 ε 预算 k-匿名阈值 k≥5 输出结果行数下限 任务执行控制 purpose_id 校验 算子白名单 计算沙箱隔离 结果审批后出域 审计与存证 操作日志 + 数据血缘 哈希链 / 不可变存储 定期合规审计报告 删除证明与留存期限

三、合规约束映射表:从条款到可执行字段

把法规要求落到系统,最有效的方式是建立一张“约束—控制—验证”映射表。下表给出一个可参考的示例结构,字段可根据实际项目裁剪。

合规要求 工程原则 系统控制点 可验证证据
PIPL 第6条 最小必要 字段/行/时间最小化 数据接入网关字段白名单、行级过滤、时间窗口裁剪 接入配置快照 + 过滤前后行数对比日志
PIPL 第6条 目的限制 用途绑定 数据集 purpose_id 标签、任务提交声明、调度器校验 任务审批单 + 校验通过/拒绝日志
数据安全法 第21条 分类分级 分级管控 数据级别标签、重要数据不出域策略、出境评估流程 数据资产清单 + 级别标签 + 出境评估报告
GDPR 第35条 DPIA 风险评估前置 联合计算前完成 DPIA,识别高风险处理并采取缓解措施 DPIA 报告 + 缓解措施落实记录
GDPR 第30条 处理活动记录 审计追溯 访问日志、计算日志、输出日志、数据血缘 不可变日志 + 哈希链校验值
PIPL 第47条 删除权 生命周期终结 计算完成后原始数据与中间结果定时删除、删除证明生成 删除任务执行记录 + 存储层确认回执

四、一个可执行的合规检查清单

在联合计算任务上线前,建议按以下清单逐项确认。清单不是形式,而是把“合规”从法务文档变成工程门禁。

  1. 合法性基础确认:本次联合计算涉及的个人信息,是否已取得告知同意或单独同意?若依赖合同履行、法定义务等其它合法性基础,是否有对应依据?
  2. 数据级别判定:各参与方输入数据是否已完成分类分级?是否包含重要数据?若包含,是否满足不出域要求?
  3. 最小必要审查:所需字段是否逐项列出并说明必要性?是否可用聚合值、标签值替代原始明细?时间窗口是否已裁剪到最小?
  4. 目的绑定检查:数据集是否已绑定 purpose_id?任务提交时是否声明用途?调度器是否已配置校验规则?
  5. 去标识化与隐私预算:是否采用差分隐私、k-匿名或安全聚合?ε 预算、k 阈值、输出行数下限是否已设定并记录?
  6. 审计日志完整性:访问、计算、输出三类日志是否齐全?日志是否防篡改?留存期限是否明确?
  7. 删除与留存:计算完成后原始数据、中间结果、日志的删除或留存策略是否明确?删除证明如何生成与保存?
  8. 跨境传输评估:若涉及跨境,是否已完成出境安全评估或采用 SCC/BCR?是否完成 DPIA?

常见误区:把“去标识化”等同于“匿名化”。若数据仍可通过辅助信息重识别到个人,仍属个人信息,仍受 PIPL 与 GDPR 约束。另一个误区是“先计算、后补合规”,这在联合计算中风险极高,因为数据一旦出域或结果一旦泄露,无法回滚。合规审查必须前置到任务提交之前。

五、工程落地中的参数示例

以下参数为教学示例,用于说明如何把原则量化为可配置项,并非实测结果。实际项目应根据数据敏感度、业务需求和监管要求调整。

# 联合计算任务合规配置示例(教学用)
task:
  purpose_id: "credit_risk_2024Q3"
  data_fields:
    - user_id_hash        # 假名化后的用户标识
    - overdue_flag_90d    # 近90天逾期标签,布尔值
    - apply_count_30d     # 近30天申请次数,整数
  row_filter: "apply_count_30d > 0"
  time_window: "2024-07-01 ~ 2024-09-30"
  privacy:
    method: "differential_privacy"
    epsilon: 1.0          # 隐私预算,越小越安全但可用性下降
    min_output_rows: 50   # 输出结果最小行数,防止小群体推断
  audit:
    log_access: true
    log_compute: true
    log_output: true
    hash_chain: true
  retention:
    raw_data_days: 0      # 计算完成后立即删除
    intermediate_days: 7  # 中间结果保留7天用于排障
    audit_log_days: 365   # 审计日志保留1年

这份配置中,epsilon=1.0 表示在差分隐私下允许的隐私损失预算,数值越小隐私保护越强,但统计结果的可用性会下降;min_output_rows=50 用于防止输出结果过细导致个体被推断;raw_data_days=0 表示计算完成后原始数据立即删除,只保留审计日志和删除证明。这些参数需要在任务提交时由合规负责人与数据负责人共同确认,并写入任务审批记录。

合规不是一次性的文档工作,而是贯穿数据接入、任务执行、结果输出、生命周期终结的持续控制。把法规条款翻译成系统字段和校验规则,把原则固化为配置项和日志证据,才能让跨机构联合计算在“可用”与“可控”之间取得平衡。