跳到主要内容

1. 产品介绍

​ 隐私计算平台是⼀个⽀持多⽅平等协作和⼤数据复杂逻辑密⽂计算的⾼性能隐私计算平台,致⼒于扫除隐私合规技术壁垒,促进数据价值跨域流通和融合创新。

​ 多⽅⼤数据隐私计算平台融合学术界、产业界隐私保护的前沿成果,基于安全多⽅计算、零知识证明、同态加密等前沿核⼼技术与国密算法、经典密码原语,有效⽀持各类通⽤隐私计算,具体包括算术运算、关系运算、逻辑运算、集合运算、多项式运算等,具有完善的系统管理能⼒、⼤规模数据处理能⼒、完备的数据隐私计算能⼒与⼯业级安全性及稳定性。

2. 功能特性

  • 安全合规

    • ⽀持国密算法:⽀持可插拔的密码算法,包括国密算法。
    • 基于区块链的可信数据治理:利⽤区块链进⾏隐私计算增信,不依赖单⼀中⼼机构。
  • 全面隐私

    • 明⽂数据不出库:采⽤安全⾼效的隐私计算相关算法和协议,保证明⽂数据留在本地,保护数据安全。

    • 密⽂数据哈希⽤途:关键操作上链存在,可以支持哈希值的审计。

  • 功能丰富

    • 全⾯涵盖主流协作模式:独⽴参与⽅⻆⾊,隐私计算协作过程中⼀个参与⽅可以单独作为隐私计算任务发起⽅,隐私计算结果接收⽅、数据提供⽅或者算法提供⽅,也⽀持⼀个参与⽅同时承担多个⻆⾊进⾏协作。

    • ⽀持任意数量机构同时参与:不受限于两⽅或三⽅机构进⾏联合隐私计算,⽀持任意数量机构同时参与隐私计算任务。

    • 恶意安全模型+区块链提供全流程正确性验证:⽀持恶意安全模型下的隐私计算,结合区块链全流程审计,可以有效验证隐私计算结果的正确性。

  • 易学易用

    • 类Python算法编写:⽀持类似Python的语句编写隐私计算业务逻辑,开发效率⾼、成本低。
  • 部署灵活

    • 容器化镜像快速部署:所有⼦系统均容器化,⼀键搭建隐私计算平台。

    • ⽆特定硬件依赖:不依赖TEE硬件设备。

    • ⽆平台绑定依赖:可⽀持Ubuntu、CentOs等多个平台,⽀持公有云部署与私有化部署。

3. 应用场景

  • 政务数据开放

​ 政府部门可以使用隐私计算系统对公民的数据进行分析,以提高公共服务的效率、改善城市规划等,同时保护公民的隐私。

  • 医疗数据分析

​ 在医疗领域,医院可以使用隐私计算系统对患者的医疗记录进行分析,而无需实际访问或共享敏感的个人医疗信息。这样可以保护患者的隐私,同时允许医院从数据中提取有用的信息以改善医疗服务和研究。

  • 金融领域服务

​ 银行和金融机构可以使用隐私计算系统对客户的财务数据进行分析,以识别欺诈行为、制定个性化的金融服务方案,或进行风险评估,而无需实际接触客户的敏感数据。

  • 企业数据共享

​ 企业之间或组织之间需要共享数据进行合作或研究,但又希望保护数据隐私。隐私计算系统允许参与方在不共享敏感数据的情况下进行合作,比如进行市场分析、人口统计学研究等。

  • 个性化广告定制

​ 广告公司可以使用隐私计算系统对用户的行为数据进行分析,以更准确地定向广告,提高广告投放的效率,同时避免暴露用户的个人隐私。

4. 用户使用指南

4.1. 数据管理

  • 创建数据源

进入数据管理模块,点击搜索框旁边的【数据源信息上传】按钮。

image-20240411175635082

数据源创建支持两种方式:上传文件和对接数据库,用户可通过配置【数据源类型】字段自由选择。

上传文件支持解析EXCEL格式的文件文件。需注意:“文件不能为空,支持识别第一行内容为表头,第一行内容不的为空”。

image-20240411175932157

数据库支持对接达梦、MySQL和Oracle数据库。

image-20240411180011924

  • 管理数据源

创建完成后我的数据页签下出现数据源记录,状态为“未发布”。打开“发布”开关,其他用户可在其他数据页签下查看数据源信息,数据源也可被申请参与计算任务。发布后的数据源用户可通过控制“启用”开关控制数据源状态。

image-20240411180138401

用户可点击自己创建的数据源名称进入数据源详情页面预览数据源基本信息和数据源前五行的明文数据。

image-20240411180421965

点击授权信息模块的【编辑】按钮,进入编辑授权信息的弹窗,用户可添加数据源授权的角色。被授权的角色无需经过二次审批即可使用数据源参加任务。点击【确定】按钮保存修改内容。

image-20240411180555386

4.2. 算法管理

  • 创建算法

进入算法管理模块,点击搜索框旁边的【创建算法】按钮。

image-20240411180635400

用户可通过配置【算法对应任务类型】字段控制创建算法的类型。

可信计算的算法创建如下,其中数据方参与人数需与成员数保持一致。

image-20240411180757013

联邦查询的算法创建如下,用户需额外配置【算法授权】字段,即算法最终有效日期。

image-20240411180838415

匿踪查询的算法创建如下,【数据方】参与人数固定为1,用户同样需配置【算法授权】字段。

image-20240411180923610

联邦建模的算法创建如下,支持的基础算法类型为“线性回归”和“逻辑回归二分类”。

image-20240411180957657

  • 管理算法

创建完成后我的算法页签下出现算法记录,状态为“未发布”。打开“发布”开关,其他用户可在其他算法页签下查看算法信息,算法也可被申请参与计算任务。发布后的算法用户可通过控制“启用”开关控制算法状态。

image-20240411181527485

用户可点击自己创建的算法名称进入算法详情页面预览算法基本信息和算法内容。

img

点击授权信息模块的【编辑】按钮,进入编辑授权信息的弹窗,用户可添加算法授权的角色。被授权的角色无需经过二次审批即可使用数据源参加任务。点击【确定】按钮保存修改内容。

image-20240411181608664

4.3. 任务管理

  • 可信计算

发布任务

进入任务管理下的可信计算模块,点击搜索框旁边的【任务发布】按钮,出现任务配置弹窗。

image-20240411181723306

用户在任务发布弹窗中第一步配置任务基本信息,包括任务名称和描述,算法,计算和审核超时告警。

配置算法需先选择目标角色,再选择角色所属的算法和版本。

审核超时告警时间若为30分钟,则超过30分钟参与方未全部同意提供数据源,则任务自动失败并告警提示用户超时告警时间。计算超时告警时间若为30分钟,则超过30分钟仍未完成计算,则任务自动失败并告警提示用户超时告警时间。

image-20240411181805981

第二步根据算法配置数据参与方和结果接收方。

数据源参与方数量与选择的算法内容一致,每个参与方用户先配置目标用户,到角色拥有的数据源,再到参与运算的字段。每个任务参与方都需提供数据源,如算法参与方也需提供数据源。

最后用户可自由配置结果就收方,即在计算任务完成后有权获取下载结果的用户。结果接收方需在所有参与方中选择,任务发布方默认接收结果。

点击【完成】按钮发布任务,等待参与方的审批。

image-20240411181851606

参与任务

用户可在“我参与的任务”页签下看到最新申请使用数据的记录。

image-20240411181915752

用户可点击任务名称,进入对应任务详情页查看任务信息以判断是否参与任务。

image-20240411182020676

用户点击【是否参与】按钮,打开授权弹窗。点击【授权】按钮完成授权。

image-20240411182346415

所有授权完成后,任务进入“计算中”状态。

image-20240411182446220

管理任务

用户可通过控制“启用”和“运行”的开关控制任务的状态。

image-20240411182458726

接收任务结果

计算任务完成后,在发布任务时配置的结果接收方可点击【下载结果】按钮直接触发文件下载。无权限接收结果的参与方【下载结果】按钮置灰。

image-20240411182627133

  • 匿踪查询

发布服务

进入任务管理下的匿踪查询模块,点击搜索框旁边的【服务发布】按钮,出现任务配置弹窗。

image-20240411194349908

用户在任务发布弹窗中第一步配置任务基本信息,包括服务名称和描述,算法,数据源提供方,查询总次数,不可区分度和审核超时告警。

配置算法需先选择目标角色,再选择角色所属的算法和版本。

数据源提供方固定为一方,同样需先选择目标角色,再选择角色所属的数据源。

点击【确定】按钮发布服务,等待参与方审核通过。

image-20240411203019255

参与服务

匿踪查询的服务同样需要参与方的审批。

image-20240411203122466

参与方审批通过后,服务状态变更为“服务中”。

image-20240411203154958

调用服务

状态为“服务中”的服务所有参与方可发起服务调用,点击【调用记录】

image-20240411203159739

进入调用记录页面后点击【调用服务】按钮,触发服务调用的弹窗。用户需配置完成所有字段才可发起调用服务。其中【查询索引】字段为用户选择查询数据表中的哪一个字段为查询对象。【查询内容】字段为用户输入查询的内容。

image-20240411203246005

调用记录以列表形式展现所有的调用服务,状态为“已完成”的服务可下载结果。用户仅可查看自己发起的调用和下载对应结果。

image-20240411203323324

管理服务

用户可通过控制“启用”和“运行”的开关控制任务的状态。

image-20240411204133908

  • 联邦查询

发布服务

进入任务管理下的联邦查询模块,点击搜索框旁边的【服务发布】按钮,出现任务配置弹窗。

image-20240411205739112

用户在任务发布弹窗中第一步配置任务基本信息,包括服务名称和描述,算法,数据源提供方,查询总次数,查询QPS和审核超时告警。

配置算法需先选择目标角色,再选择角色所属的算法和版本。

数据源参与方数量与选择的算法内容一致,每个参与方用户先配置目标用户再到角色拥有的数据源。

点击【确定】按钮发布服务,等待参与方审核通过。

image-20240411205938522

参与服务

联邦查询的服务同样需要参与方的审批。

image-20240411210248876

参与方审批通过后,服务状态变更为“服务中”。

image-20240411210338372

调用服务

状态为“服务中”的服务所有参与方可发起服务调用,点击【调用记录】

image-20240411210401343

进入调用记录页面后点击【调用服务】按钮,触发服务调用的弹窗。用户需配置完成所有字段才可发起调用服务。其中【查询规则】字段为用户输入查询规则,语法与可信计算语法相同。【查询内容】字段为用户输入查询的内容。

image-20240411210430408

调用记录以列表形式展现所有的调用服务,状态为“已完成”的服务可下载结果。用户仅可查看自己发起的调用和下载对应结果。

image-20240411210852929

管理服务

用户可通过控制“启用”和“运行”的开关控制任务的状态。

image-20240411210549787

  • 联邦建模

创建流水线

进入任务管理下的联邦建模模块,进入“联合训练”页签,点击搜索框旁边的【流水线创建】按钮,出现流水线创建弹窗。

image-20240411211145576

用户在流水线弹窗中第一步配置任务基本信息,包括任务名称和描述,算法,数据源提供方,计算和审核超时告警。

配置算法需先选择目标角色,再选择角色所属的算法和版本。

数据源参与方数量与选择的算法内容一致,每个参与方用户先配置目标用户,到角色拥有的数据源,再到参与运算的字段。每个任务参与方都需提供数据源,如算法参与方也需提供数据源。

image-20240411211251778

用户在流水线弹窗中第二步配置数据源的隐私求交/并信息,先选择每个数据源作为求交依据的字段,再设置可接受的误报率,最后根据业务需求设置以交集或并集为训练数据源。

image-20240411211549587

用户在流水线弹窗中第三步配置数据源的字段对齐信息。第一个数据源默认为基准数据源,先选中参与训练的字段,再手动映射每个选中字段对应的再其他数据源中代表同一个含义的字段。

image-20240411211638595

用户在流水线弹窗中第4步配置流程编排信息,即填入机器学习训练的参数。

模型训练模式分为“默认模式”和“自定义模式”。“默认模式”下用户只需要填入基础训练参数,数值范围:epoch取值范围为0-1000;federated_epoch取值范围为0-1000;test_dataset_percentage取值范围为0-0.5;batch_size取值范围为0-1000;learning_rate取值范围为0-1。

image-20240411211720024

“自定义模式”下用户可额外补充配置模型参数,参数结构应为json格式。

image-20240411211739010

用户还应选择作为训练特征的字段和训练标签的字段,字段从上一步配置的已对齐的字段中选择,同一字段不可同时作为训练特征和标签。

image-20240411211810914

用户在流水线弹窗中第5步配置模型输出信息,即选择是否上传至模型仓库。

image-20240411211904848

若上传至模型仓库,则需额外配置模型信息。

image-20240411211931647

参与流水线

用户可在“联合训练”页签下看到最新申请使用数据的记录。

image-20240411212051963

用户可点击任务名称,进入对应任务详情页查看任务信息以判断是否参与任务。

image-20240411212031527

用户点击【是否参与】按钮,打开授权弹窗。点击【授权】按钮完成授权。

image-20240411212121981

所有授权完成后,任务进入“已汇集”状态。

image-20240411212201878

点击【执行】按钮,弹窗二次确认后进入“执行中”状态。

image-20240411212222435

重置流水线

训练完成的流水线进入“已完成”状态,用户可点击【下载结果】按钮触发模型文件下载。

image-20240411212528721

用户也可进入流水线详情页面并点击【导出任务报告】按钮获得模型准确率评估文件。

文件包括参数ROC、KS、Precision-Recall和Accuracy四个参数的曲线图表。

img img

img img

对于结果模型不满意的流水线,用户可重置训练。点击【重置】按钮触发重置训练模型参数的弹窗。

image-20240411212405700

重置模型训练可重新设置所有训练参数,点击【确定】后重新开始训练。

image-20240411212424650

管理流水线

用户可通过控制运行”的开关控制任务的状态。

image-20240411212519337

创建预测服务

进入任务管理下的联邦建模模块,进入“预测服务”页签,点击搜索框旁边的【服务创建】按钮,出现服务创建弹窗。

image-20240411212606842

用户在创建服务弹窗中配置服务基本信息,包括服务名称和描述,模型和审核超时告警。配置模型需先选择目标角色,再选择角色所属的模型和版本。

点击【确定】按钮发布服务,等待参与方审核通过。

image-20240411212650791

参与预测服务

用户可在“预测服务”页签下看到最新申请使用模型的记录。

image-20240411212756592

用户点击【是否参与】按钮,打开授权弹窗。点击【授权】按钮完成授权。

image-20240411212812233

所有授权完成后,任务进入“服务中”状态。

image-20240411212851908

调用预测服务

状态为“服务中”的服务所有参与方可发起服务调用,点击【调用记录】

image-20240411212859385

进入调用记录页面后点击【调用服务】按钮,触发服务调用的弹窗。用户需配置完成所有字段才可发起调用服务。其中【预测样本上传】字段为用户上传用于预测的数据,其中字段数与内容应与【模型训练特征】展示的字段一致,调用结果会与【模型训练标签】展示的字段一致。

image-20240411212949332

调用记录以列表形式展现所有的调用服务,状态为“已完成”的服务可下载结果。用户仅可查看自己发起的调用和下载对应结果。

image-20240411213038224

5. 可信计算语法参考

5.1. 秘密数据类型

秘密数据类型参数对应常规类型
SecFlt(m,s,e):具有s位有效数和e位指数的安全m位浮点数,其中m=s+e。浮点数
SecFxp(m,f):有f位小数部分的m位安全定点数。定点数
SecInt(m):安全的m位整数。整数

5.2. 支持计算方法

计算方法参数简介
四则运算和比较运算+,-,*,/,<,<=,–,>,>=,!=重载运算符的安全计算
mpc.sum()array将array中值逐一相加(不支持浮点)
mpc.min()arrayarray中的最小值
mpc.max()arrayarray中的最大值
mpc.vector_add()array, array两个array每个位置值相加
mpc.vector_sub()array, array两个array每个位置值相减
mpc.vector_mul()scalar, array向量相乘
mpc.schur_prod()array, array两个array每个位置值相乘(不支持浮点)

5.3. 算法示例

/*成员数*/
party_num = 2
/*数据类型*/
party_0_type = SecFlt()
party_1_type = SecFlt()
/*数据条数*/
party_0_num = 10
party_1_num = 20
/*定义运算*/
do_compute:
for i in range(len(party_0[0])) :
result.append(party_0[0][i] * party_1[0][i] + 2 * party_1[0][i] + 3 * party_0[0][i] / party_1[0][i])
mpc.output(result)