数据共享的API标准(帐户聚合器 ) 创新与数字经济咨询小组提交的报告 2022年10月 国际清算银行美洲代表处 该出版物可在BIS网站(www.bis.org)上获得。 ©BankforInternationalSettlements2022.Allrightsreserved.Briefexcerptsmaybereplicatedortranslatedprovidedthesourceisstated. ISBN978-92-9259-606-4(在线) 目录 前言5 执行摘要6 导言7 1背景技术7 1.1Definitions7 1.1.1数据共享7 1.1.2API内容8 1.1.3数据序列化8 1.1.4API维度8 1.1.5API标准9 1.2消息传递数据格式和数据模型9 1.3数据提供者9 1.4数据消费者10 1.5同意体系结构10 1.6帐户聚合器10 2数据共享实施过程12 3数据共享流模型13 3.1集中式模型13 3.2分散式模型14 3.3信任生态系统模型15 4交互和数据流15 4.1通过API实现完全集中的模型16 4.2通过第三方同意应用程序的集中式模型17 4.3没有集中器的信任模型18 5API设计的技术注意事项19 5.1服务API设计模式19 5.2API协议和样式22 5.3服务API访问级别24 5.4安全考虑24 5.4.1JSONWeb令牌25 5.4.2OAuth2.025 5.4.3OpenIDConnect26 5.4.4财务级API(FAPI)26 巴西的开放金融27 墨西哥的开放式金融29 6API聚合器实现(演示)30 6.1前提条件30 6.2软件体系结构30 6.3执行情况31 6.4测试35 7结论38 附件A:数据共享API标准调查39 附件B:数据共享监管模式41 市场驱动41 监管驱动41 附件C:从其他倡议中吸取的经验教训42 澳大利亚42 印度42 韩国43Raidiam43 英国44 附件D:创新与数字经济协商小组(CGIDE)成员45 附件E:CGIDE技术工作队(TTF)成员46 参考文献47 前言 本报告是在BIS创新与数字经济咨询小组(CGIDE)的主持下,通过API实现开放金融三部曲的第三部分。 CGIDE于2020年2月启动,以满足美洲国际清算银行(BIS)中央银行成员在技术创新和数字经济方面加强合作的需求。该小组提供了一个论坛,供中央银行高级官员合作,其目标如下: (i)分析和开发公共技术基础设施,以解决所有参与司法管辖区的共同缺陷。 (ii)可能通过开发关键应用程序编程接口(API)来促进适合开放银行业务的环境。 (iii)分析这些公共技术基础设施在市场结构和监管方面的影响。 CGIDE的第一份报告《通过API实现开放金融》于2020年12月发布,探讨了围绕识别和身份验证API开发的技术问题,该API可用于实现具有无缝可扩展性的私人和公共管理的开放金融解决方案。第二份报告《通过API实现开放金融 :支付启动报告》分析了两种用于支付启动的替代API架构,这两种架构都基于由中央验证者开发和维护的手机身份验证应用程序。第一个涉及使用独立的应用程序来验证每个交易的客户,由中央验证器管理。第二个涉及嵌入式功能,允许客户在完成中央验证器的身份验证应用程序的初始登录后使用其第三方应用程序。 这是三部曲的第三份报告,涉及数据共享模型。该报告是由参加CGIDE的中央银行专家技术工作队编写的。它旨在为寻求在开放金融背景下制定与账户汇总有关的自己的数据共享举措的中央银行提供有用的一般参考。欢迎发表评论,并应联系CGIDEreport@bis。 米尔顿·维加 米格尔·迪亚兹 AlexandreTombini 技术工作组主席 椅子CGIDE 国际清算银行首席代表 秘鲁中央储备银行 BIS创新中心负责人 美洲 执行摘要 应用程序编程接口(API)是开放金融的关键部分,它们对于实现不同方之间的安全信息交换尤为重要。然而,为了实现这一目标,一定程度的标准化是必要的,以及关于能够共享数据的技术模型的协议。本报告深入探讨了这些技术问题。目标是为中央银行提供重要的要素,根据这些要素可以评估其经济中数据共享基础设施的引入。 数据共享可以定义为数据持有者或数据提供者在数据所有者同意的情况下向第三方或数据消费者提供数据。它是开放银行计划的主要支柱之一,并包含与个人或组织之间数字信息交换有关的实践,技术,架构,文化元素和法律框架的集合。引入显式数据共享模型有几个好处。它可以促进透明度,竞争和市场进入,并有助于金融生态系统中的互惠与合作。它可以通过组合来自不同来源的数据来提高服务的性能和价值。最后,它可以实现更好的决策,提供更好的产品并增强公民数据所有权。 帐户聚合器(AA)是一个中间技术平台,负责管理和传输数据提供者和数据消费者之间的数据流。AAs是实现数据共享的重要机制。他们的功能之一是开发参与者之间的互操作性。但AA只是中介,不能存储数据或将其重定向到未经授权的实体。AA的一个重要特征是它们如何开发机制以获得来自最终用户和最终用户的数据流的同意。 本报告介绍了三种类型的数据共享模型:集中式,分散式和信任生态系统。在集中式模型中,AA收集数据。在分散模型中,参与成员同意与其他参与者单独共享他们的数据。信任框架是混合的;它分散用于数据共享,集中用于身份管理。它与受信任的第三方而不是聚合器集成。最后一个模型要求运营商正确建立参与者的注册过程,并确保通信的安全性并商定信息交换标准。 API对于在数据共享模型中共享信息非常重要。要开发它们,权威机构必须评估其功能,访问级别,标准,协议和安全机制。API的三个主要访问级别是公共、私有和合作伙伴。访问级别取决于监管立场以及当局如何实施数据共享。公共API通常是开放和可访问的。私有或内部API仅对特定的服务使用者可用。合作伙伴API可用于预定义的服务使用者的外部访问,通常来自合作伙伴组织。 API的安全机制必须是健壮的,并且必须保持数据安全。第一个过程,身份验证,识别客户端和用户是否是他们声称的用户。第二个过程是访问控制,它限制了API使用者在正确身份验证后的行为。第三是加密。加密令牌存储重要信息 ,如用户名和密码。这些令牌在一定时间后过期,从而增强了API的安全性。最后,注册表中的审计日志记录存储对API的操作和调用。为实现API安全机制的一些推荐标准是JSON(JavaScript对象表示法)Web令牌、OAth2.0、OpeIDCoect和FAPI(金融级API)。 中央银行在实施数据共享方面具有共同利益,目的是提高效率和促进其生态系统的竞争。主要挑战是参与者之间的协调,标准化和技术基础设施。合作技术工作可以帮助减轻这些挑战。 Introduction 该报告是数据共享(帐户聚合器)的API标准,是创新与数字经济协商小组(CGIDE)关于开放金融的工作的一部分。 CGIDE于2020年2月启动,旨在满足美洲国际清算银行(BIS)中央银行成员在技术创新和数字经济领域加强合作的需求 。这项工作是通过应用程序编程接口(API)实现开放金融的一系列项目的一部分。以前的报告制定了技术流程,概述了信息技术基础设施的特征和拟议的API体系结构。 在本报告中,CGIDE技术任务组(TTF)探讨了多种数据共享模型:集中式,分散式,混合式,信任生态系统 ,监管驱动和市场驱动。本报告中提出的其他要点涉及数据序列化、API内容、元数据、API协议、消息传递格式和服务访问。本文件补充了以前的报告,并讨论了有关API的技术问题,这些技术问题可能有助于实现私人和公共管理的开放金融和数据共享生态系统。 与以前的报告一样,CGIDETTF的工作没有审查通过API进行数据共享的所有可能替代方案。相反,本文件应作为寻求开发自己的数据共享项目的各个国家的一般参考。报告不建议一种解决方案。 作为本报告的初步工作,CGIDETTF进行了一项调查,受访者是美洲的八个中央银行(阿根廷,巴西,加拿大,智利,哥伦比亚,墨西哥,秘鲁和美国)。目的是收集与API标准相关的意识和考虑因素的相关初步信息,以便在金融机构、金融科技公司和认证第三方之间安全有效地共享客户数据。附件A中介绍的这项调查的结果是讨论技术工作队随后提出的实施技术要求的基础。 本报告的其余部分组织如下:第1节定义了数据共享基础和相关概念,如API,数据提供者,数据消费者,同意架构和帐户聚合器。第2节介绍了用于中央银行目的的数据共享实施过程。第3节和第4节研究相关的模型、交互和数据流 。第5节介绍了API实现的技术考虑因素,例如设计模式,协议,技术标准和演示。最后,结论集中在CGIDETTF的挑战和下一步。 1背景 1.1Definitions 1.1.1数据共享 本报告将数据共享定义为数据持有者在数据所有者同意的情况下向第三方提供数据。数据共享还包括基于商业和非商业数据共享协议的数据重用。数据共享包含与个人或组织之间发送的任何类型信息的数字交易相关的实践,技术,架构,文化元素和法律框架的集合。值得注意的是,数据共享概念不仅涉及数据,还涉及交换数据所涉及的过程(SCDS(2022))。 数据共享是金融服务中正在出现的开放银行计划的主要支柱之一。创新包括第三方提供商的参与,这些提供商在用户同意的情况下方便访问银行记录,也称为支付服务提供商。数据共享促进数字社会的透明度,并支持金融生态系统内的高水平互惠与合作。 帐户聚合器是在开放式银行计划中实施数据共享的重要机制。在下面描述的大多数模型中,账户集中器或聚合器是信息流的集中点,适当地标准化和调节。相比之下,在分散模型中,中间加载或身份验证机制就足够了。数据共享有几个好处,例如促进透明的数字社会,在金融生态系统中实现互惠与合作,结合来自不同来源的数据以提高服务的性能和价值,实现更好的决策,提供更好的产品以及增强公民的数据所有权。 1.1.2API内容 应用程序编程接口(API)是由软件程序使用的一组函数,用于提供允许其他消费者程序(外部方)连接到软件程序并与之交互的接口。 (i)通信协议; (ii)数据交换要求; (iii)准入和消费者政策;以及 (iv)诚信和保密管理。 1.1.3数据序列化 数据序列化是将一种数据格式转换为另一种数据格式的过程。在此过程中,数据被序列化,但不会改变,源和目标仍然可以访问相同的数据。交换数据但以不同方式存储或表示数据的软件程序需要数据序列化。这种机制存在于基于API实现的数据共享生态系统中。 1.1.4API维度 构建用于数据共享的API需要与API本身的实施相关的一系列考虑或特征。这些质量属性或维度在API设计和构建方面很重要,从而促进了API在开放银行背景下的成功(Zachariadis(2020))。相关考虑或特征包括: API可访问性。描述了API的开放性。可用的模型选择是公共的、私有的或合作伙伴的。这个维度需要一个加入过程的定义和建立。 API功能。建立服务的粒度、类别、功能和范围。此维度需要讨论和定义只读和事务API。 API用法在实施数据共享解决方案之前,评估和测量基础设施的带宽、弹性、并发性、可扩展性和规模。 开放API是“提供基于公共标准访问数据的方法的接口。也称为外部或公共API。”1中央银行或金融机构必须定义开放标准,即API标准,消息格式,基于标准的安全策略等。 替代API。财务情况不包含无银行账户公民的数据。因此,财务包容性方法应考虑包括补充/替代数据,例如来自社交网络,传感器,物联网(IoT)和移动技术等的数据。这将有助于克服与包括无银行账户公民相关的挑战。 1.1.5API标准 实施基于API的数据共享解决方案需要国际和业界接受的标准。最常见的标准如下: OpenAPI:定义了描述面向资源和基于REST的API的标准。该标准最初基于Swagger规范,目