JR∕T 0196-2020 多方安全计算金融应用技术规范(金融).pdf
《JR∕T 0196-2020 多方安全计算金融应用技术规范(金融).pdf》由会员分享,可在线阅读,更多相关《JR∕T 0196-2020 多方安全计算金融应用技术规范(金融).pdf(19页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、 ICS 35.240.40 CCS A 11 JR 中 华 人 民 共 和 国 金 融 行 业 标 准 JR/T 01962020 多方安全计算金融应用技术规范 Secure multi-party computation financial application technical specification 2020-11-24 发布 2020-11-24 实施 中国人民银行 发 布 JR/T 01962020 I 目 次 前言.II 1 范围.1 2 规范性引用文件.1 3 术语和定义.1 4 缩略语.3 5 概述.3 5.1 MPC 参与方及工作时序.3 5.2 应用目标.4 5.
2、3 总体要求.5 6 基础要求.5 6.1 数据输入.5 6.2 算法输入.6 6.3 协同计算.6 6.4 结果输出.7 6.5 调度管理.7 7 安全要求.7 7.1 协议安全.7 7.2 隐私数据安全.8 7.3 认证授权.8 7.4 密码安全.8 7.5 通信安全.8 7.6 存证与日志.9 8 性能要求.9 附录 A(规范性)MPC 典型应用分类.10 A.1 联合查询.10 A.2 联合建模.10 A.3 联合预测.10 附录 B(资料性)MPC 典型应用场景.12 B.1 基于 MPC 的生物特征识别.12 B.2 基于 MPC 的联合风控.12 附录 C(资料性)通用 MPC
3、系统参考架构.14 JR/T 01962020 II 前 言 本文件按照GB/T 1.12020标准化工作导则 第1部分:标准化文件的结构和起草规则的规定起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由中国人民银行提出。本文件由全国金融标准化技术委员会(SAC/TC 180)归口。JR/T 01962020 1 多方安全计算金融应用技术规范 1 范围 本文件规定了多方安全计算技术金融应用的基础要求、安全要求、性能要求等。本文件适用于金融机构开展多方安全计算金融应用的产品设计、软件开发。2 规范性引用文件 下列文件中的内容通过文中的规范性引用而构成本文件必
4、不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T 18391.12009 信息技术 元数据注册系统(MDR)第1部分:框架 GB/T 324002015 信息技术 云计算 概览与词汇 3 术语和定义 下列术语和定义适用于本文件。3.1 多方安全计算 secure multi-party computation;MPC 一种基于多方数据协同完成计算目标,实现除计算结果及其可推导出的信息之外不泄漏各方隐私数据的密码技术。注:多方安全计算常采用的技术有混淆电路、不经意传输、秘密分享、同态加密等。3.2 参与
5、方 party 参与多方安全计算的自然人或法人。来源:GB/T 324002015,3.1.6,有修改 3.3 计算因子 computation factor 基于多方安全计算输入数据产生的数据。注:包括输入因子、输出因子和中间因子:输入因子是指数据提供方执行数据输入过程后可供计算方执行后续计算的数据;输出因子是指计算方执行计算后,返回给结果使用方用以恢复最终计算结果的数据;中间因子指计算方中间计算过程中产生的数据。3.4 数据输入 data input JR/T 01962020 2 采用秘密分享、混淆电路、同态加密等技术对数据提供方提供的隐私数据进行处理,使数据转化为输入因子的过程。3.5
6、 数据输出 data output 采用秘密分享、混淆电路、同态加密等技术对输出因子进行处理从而获得计算结果的过程。3.6 计算节点 computation node 计算方执行多方安全计算协议或算法逻辑的软件、计算机、虚拟计算机或集群。注:一个计算方对应一个计算节点和管理域,对外提供一个交互接口,如IP地址、端口等。3.7 安全模型 security model 对参与方行为模式所做的假设。注:不同的MPC协议可基于不同的安全模型,安全模型可分为半诚实模型和恶意攻击模型两类。半诚实模型是参与方在接触和处理其他参与方隐私数据时,在严格遵守协议规范基础上,尽其所能地从接触和处理的数据中挖掘出有效
7、信息;恶意攻击模型是参与方可能做出任何行为,尽其所能地获得关于隐私数据的有效信息,如背离协议或与他人串通等,这样的参与方也称为不诚实参与方。3.8 安全参数 security parameter 用以衡量多方安全计算协议安全强度或破解难度的一组参数。注:MPC安全参数主要包括不诚实门限、统计安全参数、计算安全参数。不诚实门限是多方安全计算协议允许合谋的不诚实参与方的最大值,当该值小于参与方数量的一半时称协议是诚实大多数的,否则称协议是不诚实大多数的;统计安全参数是一个整数l,根据输入数据产生的计算因子的概率分布,与不知道输入数据随机模拟的计算因子的概率分布,两者统计上不可区分(统计距离不高于2
8、-l);计算安全参数是一个整数k,表示多项式时间攻击者破解多方安全计算协议的计算复杂度为O(2k)。3.9 数据集 dataset 一个或多个数据提供方参与多方安全计算的数据集合。3.10 元数据 metadata 定义和描述其他数据的数据。来源:GB/T 18391.12009,3.2.16 3.11 计算引擎 computation engine 各计算方通过网络连接形成的执行多方安全计算的一组计算节点。3.12 隐私数据 private data JR/T 01962020 3 数据提供方输入的数据、结果使用方获得的数据,以及算法参数和模型参数中需要被保护的数据。3.13 有效位数 en
9、ob 对没有小数位且以若干个零结尾的数值,从非零数字最左一位向右数得到的位数减去无效零(即仅为定位用的零)的个数。对其他数值,从非零数字最左一位向右数而得到的位数。3.14 MPC 精度 MPC accuracy 用于衡量多方安全计算结果精确度。注:与相同数据明文计算结果相比,连续相同有效位数越多精度越高。对于计算结果存在多个数值的情况,可根据实际应用度量每个数值的精度或将多个数值拟合成一个数值后再计算精度。3.15 正确性 correctness 用于衡量在一定MPC精度范围内,多方安全计算与相同数据明文计算结果的一致性。4 缩略语 下列缩略语适用于本文件。CA:认证中心(Certifica
10、tion Authority)RA:注册中心(Registration Authority)TPS:每秒处理的事务数(Transactions Per Second)5 概述 5.1 MPC 参与方及工作时序 5.1.1 MPC 参与方 MPC 参与方说明如下:a)任务发起方:触发MPC任务,在任务执行前完成任务资源配置,并对资源到位情况进行核实。b)调度方:配置计算任务,管理和协调其他参与方执行任务。c)算法提供方:为MPC提供计算逻辑和算法参数,当算法参数有保护要求时,应将该算法参数视为隐私数据,该算法提供方视为数据提供方。d)数据提供方:为MPC提供所需隐私数据,通过MPC数据输入处理将
11、隐私数据转化为输入因子并发送给计算方。一个MPC计算任务中数据提供方的数量大于等于2。e)计算方:为MPC提供算力支持,计算方接收数据提供方的输入因子并进行计算,计算结束后将输出因子发送给结果使用方。一个MPC计算任务中计算方的数量应大于等于2,并不能由同一实体承担多个计算方角色。f)结果使用方:接收MPC计算结果,一个MPC计算任务的结果使用方可以有1个或多个。5.1.2 工作时序 JR/T 01962020 4 MPC任务工作时序包括任务创建、任务分配、数据输入、任务计算、结果解析等步骤,见图1。MPC任务工作时序具体说明如下:a)任务创建:1)任务发起方配置、核实MPC任务计算所需资源,
12、发起计算任务。2)数据提供方对所有的数据使用进行授权,任务发起方和数据提供方为同一实体的情况除外。数据提供方可委托调度方对数据进行使用授权,也可在任务创建前对数据进行预授权。数据使用授权和后续任务分配阶段可合并执行。b)任务分配:1)调度方验证任务请求信息的合法性,包括身份验证和数据授权的合法性。2)验证通过后生成任务配置信息,发送给数据提供方、计算方和结果使用方。3)数据提供方、计算方和结果使用方收到任务配置信息后进行验证。4)各参与方保存收发的任务配置信息。c)数据输入:1)数据提供方从数据源读取数据并生成输入因子,通过安全通道发送给指定计算方。2)数据提供方保存任务配置信息,并对发送的输
13、入因子进行存证。d)任务计算:1)计算节点接收各数据提供方的输入因子,按照MPC协议进行协同计算生成输出因子。2)将输出因子发送至结果使用方。e)结果解析:1)结果使用方对输出因子进行解析得到计算结果。2)对结果进行存证。图 1 MPC 工作时序图 5.2 应用目标 MPC应满足数据隐私性、数据合法性、计算结果正确性、计算性能可接受性等要求,具体要求如下:a)各参与方的隐私数据不应被其他参与方获取或推知,结果使用方可从计算结果推导出的信息除外。JR/T 01962020 5 b)计算过程中不应出现其他参与方的隐私数据原文。c)各参与方应按照计算任务约定的角色参与MPC计算。d)计算任务所使用的
14、隐私数据应事先得到相应数据提供方的授权。e)计算结果应满足正确性要求,并只被结果使用方获取。f)计算性能应满足具体应用需求。5.3 总体要求 MPC金融应用总体要求包括基础要求、安全要求和性能要求三部分,见图2。基础要求包括数据输入、算法输入、协同计算、结果输出及调度管理等要求,分别主要针对数据提供方、算法提供方、计算方、结果使用方、调度方。安全要求包括协议安全、隐私数据安全、认证授权、密码安全、通信安全、存证与日志等要求。性能要求对MPC金融应用提出了计算延时、吞吐量、计算精度等性能指标要求。图 2 MPC 金融应用总体要求 6 基础要求 6.1 数据输入 数据提供方数据输入具体要求如下:a
15、)数据提供方应将隐私数据转化为输入因子,提供给指定计算节点,并确保在设定的安全模型下无法通过输入因子推算出输入数据。b)数据提供方应对数据源、数据集、元数据等进行统一管理:1)数据源管理:应支持不同类型的数据源接入,包括但不限于数据库和文件,数据库类型如关系型数据库、列式数据库、数据仓库等,文件类型如 txt、csv、xml、key-value 等;可扩展支持新的数据类型。JR/T 01962020 6 2)数据集管理:应支持对数据集的添加、删除操作;应支持指定数据集的使用方、用途和用量;应支持数据集接入状态查询功能,展示所有数据集接入任务的状态;应支持监控数据集参与计算状态的功能,如正在参与
16、计算、使用完毕等。3)元数据管理:应支持使用元数据描述数据集;应支持元数据查询功能,包括名称、标记、描述、大小、样例、类型等信息;应支持向数据需求方提供数据集的元数据信息。c)应具备数据存储格式转换、数据预处理等功能。d)可在任务执行前取消数据的使用授权。e)应对发送数据进行存证。6.2 算法输入 算法输入为金融应用提供算法逻辑和输入方式,并对算法逻辑进行管理,具体要求如下:a)算法逻辑类型:1)应支持常见的查询操作,如 Select、Sort、Join 等。2)应支持常见的统计分析算法,如均值、方差、中位数等。3)应支持常用的机器学习算法,如线性回归、逻辑回归、神经网络、K-Means、PC
17、A、决策树、XGBoost 等。4)应支持梯度下降等常见的机器学习模型优化算法。b)算法输入方式:1)应支持以一种或多种常用的算法逻辑语言输入,如 C/C+、Python、Java 等。2)应支持将算法中的重要参数作为数据进行输入,如查询条件、机器学习中的模型参数等。3)应支持常见输入交互方式,如 Web 网页、命令行、OpenAPI 等。4)应支持算法在线编写、修改、调试、提交等。c)算法逻辑管理:1)将算法逻辑进行处理后应交给 MPC 引擎进行运算。2)对输入的算法逻辑应能够进行列表显示、运行状态查看、删除等操作。通用MPC能够满足上述所有要求。专用MPC根据金融应用需求选择满足部分要求。
18、不同MPC金融应用类型应符合附录A的要求;MPC典型应用场景见附录B;通用MPC系统参考架构见附录C。6.3 协同计算 应由多个MPC计算节点组成MPC计算引擎,协同计算实现MPC协议。MPC计算节点提供基础运算,并能够通过基础运算组合实现复杂运算,具体要求如下:a)基础运算:1)应覆盖加、乘、比较等常见运算。2)应支持常见数值计算。3)应保证运算结果与相同数据明文计算的结果一致。4)宜支持整数、小数、常见字符、字符串在内的一种或多种基本数据类型。5)宜支持标量、矢量、矩阵、多维数组在内的一种或多种基本数据单元。b)MPC计算节点:JR/T 01962020 7 1)应确保每个计算节点均处于不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JRT 0196-2020 多方安全计算金融应用技术规范金融 JR 0196 2020 多方 安全 计算 金融 应用技术 规范
限制150内