JR/T 0185-2020
标准分类号
标准ICS号:
信息技术、办公机械设备>>信息技术应用>>35.240.40信息技术在银行中的应用
中标分类号:综合>>经济、文化>>A11金融、保险
关联标准
出版信息
出版社:中国标准出版社
标准价格:0.0
相关单位信息
起草人:李伟、李兴锋、曲维民、程胜、郭栋、段力畑、郭晶莹等
起草单位:中国人民银行科技司、中国金融电子化公司、中国银联股份有限公司等
归口单位:全国金融标准化技术委员会(SAC/TC 180)
提出单位:中国人民银行
发布部门:中国人民银行
主管部门:中国人民银行
标准简介
标准号:JR/T 0185-2020
标准名称:商业银行应用程序接口安全管理规范
英文名称:Commercial bank application programming interface secure management specification
标准格式:PDF
发布时间:2020-02-13
实施时间:2020-02-13d
标准大小:1.81M
标准介绍:本标准规定了商业银行应用程序接口的类型与安全级别、安全设计、安全部署、安全集成、安全运维、服务终止与系统下线、安全管理等安全技术与安全保障要求。
本标准适用于商业银行对外互联的应用程序接口的设计和应用,以指导从事或参与商业银行应用程序接口服务的银行业金融机构、集成接口服务的应用方开展相关工作,并为第三方安全评估机构等单位开展安全检査与评估工作提供参考(接口类型关系详见附录A)。其他类型应用程序接口的设计和应用可参照本标准执行。
本标准规定了商业银行应用程序接口的类型与安全级别、安全设计、安全部署、安全集成、安全运维、服务终止与系统下线、安全管理等安全技术与安全保障要求。
本标准适用于商业银行对外互联的应用程序接口的设计和应用,以指导从事或参与商业银行应用程序接口服务的银行业金融机构、集成接口服务的应用方开展相关工作,并为第三方安全评估机构等单位开展安全检查与评估工作提供参考(接口类型关系详见附录A)。其他类型应用程序接口的设计和应用可参照本标准执行。
本标准按照GB/T 1.1—2009给出的规则起草。
本标准由中国人民银行提出。
本标准由全国金融标准化技术委员会(SAC/TC 180)归口。
本标准起草单位:中国人民银行科技司、中国金融电子化公司、中国银联股份有限公司、中国工商银行股份有限公司、中国农业银行股份有限公司、中国银行股份有限公司、中国建设银行股份有限公司、中国邮政储蓄银行股份有限公司、招商银行股份有限公司、上海浦东发展银行股份有限公司、中信银行股份有限公司、兴业银行股份有限公司、中国民生银行股份有限公司、中国光大银行股份有限公司、平安银行股份有限公司、广发银行股份有限公司、北京银行股份有限公司、徽商银行股份有限公司、山东省城市商业银行合作联盟有限公司、齐鲁银行股份有限公司、浙江网商银行股份有限公司、中信百信银行股份有限公司、山东省农村信用社联合社、北京中金国盛认证有限公司、北京银联金卡科技有限公司、中金金融认证中心有限公司、中国外汇交易中心。
本标准主要起草人:李伟、李兴锋、曲维民、程胜、郭栋、段力畑、郭晶莹、刘运、高强裔、陈聪、蒋慧科、姜城、孟宪哲、卓越、文韬、孙垚、孔鹏志、赵思琪、白帆、李培钊、李屹秦、何伟明、赵鹏、耿丽、刘会明、李言平、蒋向超、王建华、张培承、刘伟伟、胡琳珑、贾海明、云婧、刘书洪、陈淼、叶黎明、方绍全、谢振哲、丘佳成、江泓、沈天乐、全成、刘嘉文、王效飞、伏开佐、杜守伟、左敏、邓翔、丁芃、刘巍巍、涂鼎。
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 25069 信息安全技术 术语
JR/T 0071 金融行业信息系统信息安全等级保护实施指引
JR/T 0124—2014 金融机构编码规范
标准内容
ICS35.240.40
iikAa~cJouakAa
中华人民共和国金融行业标准
JR/T 0185—2020
商业银行应用程序接口安全管理规范Commercial bank application programming interface secure managementspecification
2020-02-13发布
中国人民银行
2020-02-13实施
iiiKAa~cJouakAa-
1范围
2规范性引用文件
3术语和定义
4缩略语
5概述
6接口类型与安全级别
7安全设计
8安全部署
9安全集成
10安全运维
11服务终止与系统下线
12安全管理
附录A(规范性附录)
附录B(规范性附录)
参考文献
iiikAa~cJouakAa-
商业银行应用程序接口关系示意商业银行应用程序接口统一识别码编码规则.JR/T01852020
JR/T0185—2020
iiiKAacJouaKAa
本标准按照GB/T1.1一2009给出的规则起草本标准由中国人民银行提出。
本标准由全国金融标准化技术委员会(SAC/TC180)归口。本标准起草单位:中国人民银行科技司、中国金融电子化公司、中国银联股份有限公司、中国工商银行股份有限公司、中国农业银行股份有限公司、中国银行股份有限公司、中国建设银行股份有限公司、中国邮政储蓄银行股份有限公司、招商银行股份有限公司、上海浦东发展银行股份有限公司、中信银行股份有限公司、兴业银行股份有限公司、中国民生银行股份有限公司、中国光大银行股份有限公司、平安银行股份有限公司、广发银行股份有限公司、北京银行股份有限公司、徽商银行股份有限公司、山东省城市商业银行合作联盟有限公司、齐鲁银行股份有限公司、浙江网商银行股份有限公司、中信百信银行股份有限公司、山东省农村信用社联合社、北京中金国盛认证有限公司、北京银联金卡科技有限公司、中金金融认证中心有限公司、中国外汇交易中心。本标准主要起草人:李伟、李兴锋、曲维民、程胜、郭栋、段力烟、郭晶莹、刘运、高强裔、陈聪、蒋慧科、姜城、孟宪哲、卓越、文韬、孙圭、孔鹏志、赵思琪、白帆、李培钊、李屹秦、何伟明、赵鹏、耿丽、刘会明、李言平、蒋向超、王建华、张培承、刘伟伟、胡琳珑、贾海明、云婧、刘书洪、陈淼、叶黎明、方绍全、谢振哲、丘佳成、江泓、沈天乐、全成、刘嘉文、王效飞、伏开佐、杜守伟、左敏、邓翔、丁芃、刘巍巍、涂鼎。
1范围
iiKAacJouaKAa-
商业银行应用程序接口安全管理规范JR/T0185—2020
本标准规定了商业银行应用程序接口的类型与安全级别、安全设计、安全部署、安全集成、安全运维、服务终止与系统下线、安全管理等安全技术与安全保障要求。本标准适用于商业银行对外互联的应用程序接口的设计和应用,以指导从事或参与商业银行应用程序接口服务的银行业金融机构、集成接口服务的应用方开展相关工作,并为第三方安全评估机构等单位开展安全检查与评估工作提供参考(接口类型关系详见附录A)。其他类型应用程序接口的设计和应用可参照本标准执行。
2规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件,凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T25069信息安全技术术语
JR/T0071金融行业信息系统信息安全等级保护实施指引JR/T0124—2014金融机构编码规范3术语和定义
GB/T25069界定的以及下列术语和定义适用于本文件。3.1
应用程序接口applicationprogramminginterface组预先定义好的功能,开发者可通过该功能(或功能的组合)便捷地访问相关服务,而无需关注服务的设计与实现。
应用方applicationagency
调用商业银行应用程序接口的机构,3.3
应用程序接口唯一标识applicationprogramminginterfaceuniqueID由商业银行自行定义,用于区分商业银行应用程序接口功能的唯一标识。3.4
应用程序接口统一识别码uniformapplicationprogramminginterfaceID商业银行依据行业主管部门发布的编码规则,生成的商业银行应用程序接口统一识别码。注:用于标识商业银行机构代码、接口类型、服务类别、接口顺序号等内容。1
JR/T0185—2020下载标准就来标准下载网
iiiKAacJouaKAa
应用软件开发工具包software developmentkit基于特定软件包、软件框架、硬件平台、操作系统等建立应用程序时所使用的软件开发工具集合。3.6
应用唯一标识applicationuniqueID在应用方身份核验通过后,根据其调用的金融产品与服务类型,由商业银行为其授予的唯一标识,注:包括服务器端应用标识与移动终端应用软件标识两种,3.7
应用鉴别密文applicationsecret应用合法性鉴别凭证,与应用唯一标识配套使用,以验证通过API方式接入的应用合法性,接入验证通过后,即可完成系统对接,调用应用程序接口或使用应用程序接口提供的功能和数据。3.8
移动金融客户端应用软件financialmobileapplicationsoftware在移动终端上为用户提供金融交易服务的应用软件。注:包括但不限于可执行文件、组件等。3.9
个人金融信息personalfinancialinformation金融机构通过提供金融产品和服务或其他渠道获取、加工和保存的个人信息注1:包括账户信息、鉴别信息、金融交易信息、个人身份信息、财产信息、借贷信息及其他反应特定个人某些情况的信息
注2:改写GB/T35273—2017,定义3.1。3.10
支付敏感信息paymentsensitiveinformation支付信息中涉及支付主体隐私和身份识别的重要信息注:包括但不限于银行卡磁道或芯片信息、卡片验证码、卡片有效期、银行卡密码、网络支付交易密码等3.11
支付账号paymentaccount
具有金融交易功能的银行账户、非银行支付机构支付账户的编码及银行卡卡号。[JR/T0149—2016,定义3.1]
明示同意explicitconsent
个人金融信息主体通过书面声明或主动做出肯定性动作,对其个人金融信息进行特定处理做出明确授权的行为。
注:肯定性动作包括个人信息主体主动作出声明(电子或纸质形式)、主动勾选、主动点击“同意”“注册”“发送”“拨打”等
iiiKAacJouaKAa
[GB/T35273—2017,定义3.6]
4缩略语
下列缩略语适用于本文件。
API:应用程序接(ApplicationProgrammingInterface)APIID:接唯标识(ApplicationProgrammingInterfaceuniqueID)App_ID:应用唯一标识(ApplicationuniqueID)App_Secret:应用鉴别密文(ApplicationSecret)DDoS:分布式拒绝服务攻击(DistributedDenialofService)JR/T0185—2020
U_API_ID:应用程序接口统一识别码(UniformApplicationProgrammingInterfaceID)SDK:应用软件开发工具包(SoftwareDevelopmentKit)SSL:安全套接层协议(SecureSocketsLayer)TLS:安全传输层协议(TransportLayerSecurity)MAC:消息鉴别码(Message AuthenticationCode)5概述
商业银行应用程序接口服务是一种依托API技术实现内部与外部互联的金融服务模式。商业银行通过为合作伙伴提供用以互联的应用程序接口,输出自身金融服务能力与信息技术能力,为增加金融生态黏性提供有益补充。外部机构能够通过互联网渠道,调用商业银行应用程序接口(外部API,详见附录A),获取商业银行提供的各类服务,其逻辑结构见图1。商业银行应用程序接口服务的参与方主要包括用户、应用方以及商业银行,商业银行通过API直接连接或SDK间接连接方式向应用方和用户提供应用程序接口服务,实现商业银行服务的对外输出。用户发起商业银行应用程序接口应用请求,并接收由应用方或商业银行返回的处理结果。应用方负责接收并处理用户请求,通过应用程序接口向商业银行提交相关请求、接收返回结果,依照流程进行服务请求处理或反馈用户。商业银行构建商业银行应用程序接口、应用程序接口服务层和银行业务系统以提供商业银行应用程序接口服务。商业银行应用程序接口服务层将应用方请求转发至银行业务系统处理,并将处理结果反馈应用方或用户,包含认证鉴权、流量控制、监控分析、报文交换、服务组合等功能,不涉及具体业务逻辑处理,实现对商业银行应用程序接口和应用方的管理。3
JR/T0185—2020
接口类型与安全级别
6.1接口类型
iiiKAa~cJouakAa-
应用方
认证鉴权
监控分析
流三监控
报文交换
服务组合
帝业银行应用程序接丨服务层
银行业务系统
图1商业银行应用程序接口逻辑结构图加密解密
商业银行应用程序接口按照应用集成方式,分为服务端对服务端集成方式与移动终端对服务端集成方式两种。
对于服务端对服务端集成方式,主要包含两种实现形式:应用方服务端直接调用商业银行应用程序接口(如REST、SOAP协议)。应用方服务端使用商业银行提供的服务端SDK,间接访问商业银行应用程序接口。其中,服务端SDK主要实现商业银行通用接入算法的封装,为降低应用方接入开发难度,一般此类SDK不包含业务逻辑。
对于移动终端对服务端集成方式,主要包含两种实现形式:应用方移动终端应用软件直接调用商业银行应用程序接口。-应用方移动终端应用软件使用商业银行提供的移动终端应用SDK,间接访问商业银行应用程序接口。
其中,应用方移动终端应用软件直接调用商业银行应用程序接口的方式,主要以与用户个体无直接关联的金融服务为主,如提供商业银行公开信息查询、公开服务查询等。移动终端应用SDK除封装商业银行通用接入算法外,还可封装业务逻辑、个人金融信息安全保护(例如密码数据的安全加固)等功能。在移动终端对服务端模式下,对于仅使用H5(超文本标记语言版本5.0)技术,提供银行金融产品和服务访问链接的情况,由于H5页面本身并未直接调用(或封装)商业银行应用程序接口,不将其单4
iriKAa~cJouaKAa
独列为商业银行应用程序接口的一种类型。6.2安全级别
JR/T0185—2020
按照服务类型将商业银行应用程序接口安全级别划分为两级,安全保护要求从A2至A1递减:A2:资金交易与账户信息查询应用类,此类金融产品和服务与用户个体直接关联,实施高等级安全保护强度,此类商业银行应用程序接口包括但不限于:商业银行通过SDK,提供资金交易类服务,如支付、转账以及金融产品与服务购买等:商业银行通过SDK,提供用户账户信息查询类服务,如账户余额、交易历史、账户限额、付款时间、金融产品和服务持有情况等;·对于上述服务,若确需使用API直接连接方式进行服务调用,商业银行应对接入风险进行评估,并制定专门的接口与应用方进行对接,实施高等级的安全保护强度要求。一A1:金融产品和服务信息查询应用类,此类金融产品和服务与用户个体并无直接关联,实施通用的安全保护强度,此类商业银行应用程序接口包括但不限于:商业银行提供银行金融产品和服务的详细信息的“只读”查询服务。7安全设计
7.1设计基本要求
商业银行应用程序接口安全设计基本要求如下:使用的密码算法、技术及产品应符合国家密码管理部门及行业主管部门要求。应制定安全编码规范。
应对开发人员进行安全编码培训,并依照安全编码规范进行开发开发中如需使用第三方应用组件,应对组件进行安全性验证,并持续关注相关平台的信息披露和更新情况,适时更新相关组件。应对商业银行应用程序接口进行代码安全专项审计,审计工作可通过人工或工具自动化方式开展。
应制定源代码和商业银行应用程序接口版本管理与控制规程,规范源代码和商业银行应用程序接口版本管理,并就接口废止、变更等情况与应用方保持信息同步。商业银行向应用方提供的异常与调试信息,不应泄漏服务器、中间件、数据库等软硬件信息或内部网络信息。
7.2接口安全设计
7.2.1身份认证安全
a)接口身份认证安全要求如下:1)对于应用方身份认证应使用的验证要素包括:—App_ID、App_Secret。
-App_ID、数字证书。
-App_ID、公私钥对。
一上述三种方案的组合。
2)对于A2级别接口、应用方身份认证时,应使用包含数字证书或公私钥对的方式进行双向身份认证。
b)用户身份认证安全要求如下:5
JR/T01852020
iiiKAacJouaKAa
1)商业银行应结合金融服务场景,对不同安全级别的商业银行应用程序接口设计不同级别的用户身份认证机制:
用户身份认证应在商业银行执行,对于A2级别接口中的资金交易类服务,用户登录身份2)
认证应至少使用双因子认证的方式来保护账户财产安全。7.2.2接口交互安全
商业银行应用程序接口交互安全要求如下:一一商业银行应用程序接口应对连通有效性进行验证,如接口版本、参数格式等要素是否与平台设计保持一致。
一一应对通过商业银行应用程序接口进行交互的数据进行完整性保护,对于A2级别的接口,商业银行和应用方应使用数字签名来保证数据的完整性和不可抵赖性。一一对于支付敏感信息等个人金融信息,应采取以下措施进行安全交互:登录口令、支付密码等支付敏感信息在数据交互过程中应使用包括但不限于替换输入框原文、自定义软键盘、防键盘窃听、防截屏等安全防护措施,保证无法获取支付敏感信息明文:
账号、卡号、卡有效期、姓名、证件号码、手机号码等个人金融信息在传输过程中应使用集成在SDK中的加密组件进行加密,或对相关报文进行整体加密处理;若确需使用商业银行应用程序接口将账号、卡号、姓名向应用方进行反馈,应脱敏或去标识化处理,因清分与清算、差错对账等需求,确需将卡号等支付账号传输至应用方时,应使用加密通道进行传输,并采取措施保证信息的完整性:对于金融产品持有份额、用户积分等A2类只读信息查询,可使用API直接连接方式进行查询请求对接,应采取加密等措施保证查询信息的完整性与保密性,查询结果在应用方本地不得保存。
一一应在交易认证结束后及时清除用户支付敏感信息,防范攻击者通过读取临时文件、内存数据等方式获得全部或部分用户信息。7.3服务安全设计
7.3.1授权管理
商业银行应根据不同应用方的服务需求,按照最小授权原则,对其相应接口权限进行授权管理,当服务需求变更时,需及时评估和调整接口权限。7.3.2攻击防护
服务安全设计应具备以下攻击防护能力:一一API和SDK应对常见的网络攻击具有安全防护能力。一一移动终端应用SDK应具备静态逆向分析防护能力,防范攻击者通过静态反汇编、字符串分析、导入导出函数识别、配置文件分析等手段获得有关SDK实现方式的技术细节。一一移动终端应用SDK宜具备动态调试防护能力,包括但不限于:具有防范攻击者通过挂接动态调试器、动态跟踪程序的方式控制程序行为的能力:具有防范攻击者通过篡改文件、动态修改内存代码等方式控制程序行为的能力。7.3.3安全监控
安全监控安全要求如下:
iiiKAacJouaKAa
一商业银行应对接口使用情况进行监控,完整记录接口访问日志一日志应满足以下要求:
JR/T0185—2020
商业银行相关日志应至少包括交易流水号、应用唯一标识、接口唯一标识、调用耗时、时·
间戳、返回结果(成功或失败)等:因清分清算、差错对账等业务需要,应用方接口日志中应以部分屏蔽的方式记录支付账号(或其等效信息),除此之外的个人金融信息不应在应用方接口日志中进行记录。7.3.4密钥管理
密钥管理安全要求如下:
一一加密和签名宜分配不同的密钥,且相互分离。一不应以编码的方式将私钥明文(或密文)编写在商业银行应用程序相关代码中,App_Secret或私钥不应存储于商业银行与应用方本地配置文件中,防止因代码泄露引发密钥泄露。一一应依据商业银行应用程序接口等级设置不同的密钥有效期,并对密钥进行定期更新。安全部署
商业银行与应用方应遵循商业银行应用程序接口网络部署逻辑结构示意图,见图2,进行商业银行应用程序接口的安全部署。商业银行及应用方都应在互联网边界部署如防火墙、IDS/IPS、DDoS防护等具备访问控制、入侵防范相关安全防护能力的网络安全防护措施7
JR/T01852020
应用端
iiikAa~cJouakAa
移动终端
对服务端
直接连接
通信网络
商业银行应用程序接
口服务层
报文交换
银行业务层
间接连接
互联网/移动互联网
网络安全防护措施
服务组合
认证鉴权
业务系统1
认证鉴权
流量控制
API业务处理转接服务
网络安全防护措施
报文交换
服务组合
API业务处理转接服务
应用总线
网络安全防护措施
直接连接
监控分析
间接连接
业务系统2
业务系统3
核心内部系统
业务系统.
图2商业银行应用程序接口网络部署示意图服务端对
服务端集成
商业银行应用程序接口服务层应部署流量控制、监控分析、认证鉴权、报文交换、服务组合等服务,其中认证鉴权、报文交换、服务组合等服务也可部署在银行业务层。商业银行应用程序接口服务层与银行业务层之间应部署如防火墙等具备相关访问控制、入侵防范安全防护能力的网络安全防护措施。应用方服务器应部署在应用方互联网接入安全防护设备之后的逻辑隔离区域,通过互联网、移动互联网网络访问商业银行应用程序接口相关应用服务。商业银行的安全控制要求依据JR/T0071部署相应级别的安全控制措施。应用方部署商业银行应用程序接口有关安全控制措施,应符合国家网络安全等级保护有关标准二级及以上安全要求。8
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。