隐私计算互联互通组件容器化|前沿资讯

北京金融科技产业联盟   2023-05-31 19:20:01

为落实人民银行《金融科技发展规划(2022-2025年)》关于“探索建立跨主体数据安全共享隐私计算平台,在保障原始数据不出域前提下规范开展数据共享应用”的要求,北京金融科技产业联盟数据专委会在2022年度组织设立了2项重点课题。2023年5月,《金融业隐私计算互联互通技术研究报告》正式发布,为实现行业级隐私计算互联互通,保障金融数据要素安全有序流通提供坚实保障。 在上一篇 基础上,课题组开展了组件容器化加载方案研究。从平台标准化管理异构隐私计算算法出发,课题组梳理了组件容器化加载思路,为高效调用隐私计算平台资源奠定了坚实基础。 本文主要撰写人员:上海富数科技有限公司(卫骞、杨天雅) 一关键技术点概述

本关键技术点系北京金融科技产业联盟数据专委会“隐私计算互联互通”课题中“流程调度接口和算法容器加载研究”子课题的组成部分,由上海浦东发展银行股份有限公司、北京百度网讯科技有限公司、深圳前海微众银行股份有限公司、上海富数科技有限公司、深圳市洞见智慧科技有限公司牵头,联合13家单位共同研究攻关(完整参与单位名单见附录)。

算法是隐私计算的核心,而算法的加载就是用来使用标准化的接口或方式管理异构算法,其实现方式决定了算法的可扩展性和易扩展性,并且其设计方式也会影响到算法的执行效率。因此,我们需要制定统一的算法镜像构建标准与接口并定义一套规范的算法镜像加载机制与流程,从而保证整个算法容器加载过程的安全、高效及高可用。图1展示了组件容器化加载在隐私计算互联互通中所处的层次。


(相关资料图)

图1 组件容器化加载在隐私计算互联互通整体框架中所处层次

二关键技术点研究思路、内容及相关成果为了标准化算法容器组件的镜像,本关键技术点制定了组件镜像构建规范并设计了标准的组件加载管理机制与容器加载流程;此外还对镜像、组件名称和组件的实例状态进行了规范定义,以实现更完整、更统一、更兼容的算法容器加载流程。 01研究思路

本关键技术点研究了组件容器化加载的详细方案,提供标准化的组件容器加载流程和关键技术,提供统一的镜像定义规范和组件名称定义规范,最后给出组件实现和组件管理服务的详细容器加载工作流程。本关键技术点与“流程调度接口和算法容器加载研究”子课题中其他关键技术点关系如图2所示:

图2 组件容器化加载在流程调度与算法容器加载中的作用 02研究内容

组件容器化加载方案由组件容器加载整体设计、镜像定义规范和组件名称定义规范、容器加载流程三部分组成。组件容器加载整体设计,定义了组件镜像加载到隐私计算平台的相关模块及模块关系,明确了组件容器管理器对标准组件全生命周期的管理机制;镜像定义规范和组件名称定义规范,明确了镜像和组件名称的命名规范及组件实例状态与转换;容器加载流程,明确了算法容器加载到隐私计算平台的时序。

03研究成果

(1)组件容器加载整体设计

组件容器化加载的整体关系结构示意图如图3所示。

图3 组件容器化加载关系结构图

与隐私计算平台相关的模块包括:

1)component register and discovery service:组件注册与发现。用于管理组实例的服务,提供组件的注册和查找服务。组件实例启动后进行注册,实现算法服务发现和路由

2)schedule service:调度服务。对算法作业、任务进行调度

3)container manager:容器管理器。对底层容器编排能力的封装,接收调度服务的请求

注:上述各模块是逻辑上的抽象,不对应具体的服务,其物理形态不作限制。

组件通过加载机制,将组件的镜像加载成为组件实例,并将相应的接口注册到注册和发现服务上,供任务进行调用。任务和组件实例之间,可以是多个任务对应一个组件实例,也可以是一对一形式。组件和任务的关系示意图如图4所示。

图4 组件和任务关系示意图

其中组件镜像(Component Image)指用于表示组件的打包后的容器镜像文件。组件实例(Component Instance)指在加载和启动后用于提供组件功能的进程或者服务。组件实例可以是常驻或者单次形态进行运行,但组件的工作流程和步骤均保持一致。

●常驻形态:组件经过加载后,形成组件实例将持续存在系统中,供一个或者多个任务来进行使用。组件启动,可以在组件第一次使用时进行加载,或者在系统启动时完成拉起;组件停止,可以在系统停止时,或者根据空闲情况进行停止。

●单次形态:组件随着任务的执行开始而启动,随着任务的执行完成而进行停止。

下面进一步描述标准组件加载管理机制,由组件管理服务和组件支撑服务两部分组成。标准组件全生命周期通过组件容器管理器进行管理。容器加载结构如图5所示。

图5 容器加载结构图 其中:

●组件管理服务Component Management Service:用于管理组件及其实例的服务。负责管理组件所运行的容器的管理,与容器平台(例如,Docker,Swarm和 Kubernetes)进行对接,完成容器的编排管理。

●组件支撑服务 Component Support Service:用于向组件提供基础操作能力的服务。用于对组件容器内所使用的功能,提供标准的服务接口。其会将基础服务通过unixfile文件形式将基础接口功能映射到容器内部并接收并响应组件所提供的请求。

(2)镜像定义规范和组件名称定义规范

1)镜像定义规范如下:

a.镜像命名:基本格式为 //:

表1 镜像命名字段信息

字段

描述

developer

组件的开发者,公司/组织名,如 fudata、baidu,建议由联盟进行各家名称的标准化

image-name

需体现组件的功能、分类等重点信息,如 hetero-lr(纵向逻辑回归)、dh-psi(基于DH密钥协商的PSI)、fate-collection(FATE算法包)

tag

版本号,遵循 major.minor.patch[-state] 规范(状态是可选的),如 1.0.0、1.0.1-beta。镜像一旦发布则不可更改

b.镜像标签:通过 LABEL k1=v1 k2=v2 的方式添加键值对,为镜像提供更多的信息,具体含义需在对外文档上说明。 c.目录结构:通过 Dockerfile WORKDIR 指定工作目录,在镜像标签上指定日志目录。 表2 镜像标签信息

LABEL key

描述
log_dir 日志文件目录,如 /home/admin/app/logs
d.网络通信: ●TCP/IP socket:最常见方式,通过监听端口来暴露内部服务。需指定端口使容器对外可访问。在镜像标签里提供以下信息:

表3 镜像标签信息

LABEL key 描述
port 端口号,如 80

可能出现端口冲突问题,需要利用基础设施(如K8S)的能力来解决。

●Unix file(可选):利用 Unix Domain Socket 技术, 通过监听本地 socket文件来暴露内部服务;访问外部服务也是通过socket文件。该方式可屏蔽网络架构的细节,但需要组件支撑服务实现流量转发。在镜像标签里提供以下信息: 表4 镜像标签信息
LABEL key 描述
uds_dir socket文件所在目录,如 /var/uds。文件命名可参考“组件名称定义规范”中的子接口类型,例如 register.sock

e.镜像安全性保护手段可参考如下:

●防篡改:比对镜像的 sha256 摘要值与开发者提供的是否一致 ●漏洞扫描:各家可根据自身基础设施的情况,利用开源或自研工具进行 CVE 漏洞扫描 ●镜像签名:可利用Notary服务实现发布方加签与使用方验签 2)组件名称定义规范(Component Name)如下: a.组件名称 Component Name用于唯一表示组件的名称字符串,按照<前缀>.<版本>.<类型>.<名称>方式进行命名。 例如:intercom.v1.algorithm.hetero_lr 表5 组件名称字段信息

字段

描述

前缀

互通标准前缀

版本

接口版本

类型

子接口类型

名称

接口的名称

组件实例状态描述如下:

表6 组件实例状态描述

状态标识

状态名称

状态描述

UNLOADED

未加载

当组件镜像未加载到系统时,所处在的状态

LOADED

已加载

当组件镜像完成下载和验证,加载到系统的状态

STOPPED

已停止

当组件镜像停止运行,可以准备进行重新启动或者卸载时所处在的状态

STARTED

已运行

当组件完成了初始化工作,可以对外提供服务时

FAILED

已故障

当组件镜像运行之后,出现故障后时所处在的状态

组件实例状态转换关系如图6所示。

图6 组件实例状态转换关系图

(3)容器加载流程

各家基于自身的基础设施,通过 container manager实现容器加载能力。以 K8S 为例,container manager 构建好 Deployment 配置后调用 API server 的 REST 接口(或 kubectl 命令)创建 pod(即component instance)。 整体交互时序图如图7所示。 图7 容器加载流程图

本关键技术点联系人:杨天雅 salan@fudata.cn

下一篇预告基于最小化约束的算法容器设计

流程调度与算法容器加载子课题参与单位(按贡献度排序)

类别

公司名称及主要参与人

牵头单位

上海浦东发展银行股份有限公司(王梦鸽、龚乐诚、刘瑞)

上海富数科技有限公司(卞阳、卫骞、杨天雅、张严明)

深圳市洞见智慧科技有限公司(王湾湾、靳新、赵永坤)

深圳前海微众银行股份有限公司(范涛、万志辉)

北京百度网讯科技有限公司(陈治宇、于欢)

参与单位

蚂蚁科技集团股份有限公司(彭晋、王华忠、汪婷、胡晓龙、昌文婷)

蓝象智联(杭州)科技有限公司(王超、赵可、虞洋)

华控清交信息科技(北京)有限公司(王云河、靳晨)

中国银行股份有限公司(张翼飞、刘玉良)

同盾科技有限公司(黄翠婷、陈涛、卞杰)

度小满科技(北京)有限公司(陈鑫、蒋嘉琦、李亚朋)

神州融安数字科技(北京)有限公司(刘伟、宁立君、唐志徽)

北京八分量信息科技有限公司(王铀之)

深圳壹账通智能科技有限公司(黄章成、吴天博、孔令炜)

FATE开源社区(张海宁、范涛、万志辉)

隐语开源社区(袁鹏程、陆宇飞、余超凡)

金罩开源社区(张晓蒙、肖俊贤)

中国银联股份有限公司(周雍恺、李定洲、张远健、张乐)

本文来源:数据专委会

投稿邮箱:News@bfia.org.cn

关注我们,了解更多资讯!

最新供应

更多