关于Open Banking消息签名要求的更多细节可以在每个读/写版本(即)的Confluence(一个专业的企业知识管理与协同软件,也可以用于构建企业wiki)页面上找到。
研究人员已经将算法整合到一个小的图形用户界面,以提高可用性。下图显示了示例AISP同意有效负载和生成的分离的JWS标头。
消息签名
然后,JWS可以包含在带有“x-jws-signature”头的请求中,如下面的示例所示(是图3中分离的JWS的占位符):
用户重定向
如AISP用户流图(图1)所示,有两个用户重定向。第一次重定向时,用户被发送到ASPSP进行身份验证,然后授权访问请求。在同意授权之后,用户被重定向回TPP,下图(图4)是重定向技术方面的更集中视图。
重定向
为了在测试ASPSP时完成用户流程,研究人员需要:
生成从TPP到银行的重定向;
处理来自银行的重定向。
下面是从TPP到ASPSP的重定向请求示例," <> "中的值是占位符,需要为每个同意进行更改或生成。
最重要的参数是“redirect_uri”和“request”,分别包含TPP回调URL和授权请求详细信息,有关其他OAuth2参数的更多信息可以在这里找到。
JWS包括同意和TPP信息,下面是来自Open Banking规范的一个示例JWS结构:
通过重定向,用户被发送到银行的身份验证门户。
需要为每个同意生成重定向请求参数,下面是研究人员为此创建的GUI的截图:
用户重定向到ASPSP
在用户授权同意后,银行将把用户发送到TPP重定向中指定的URL。该URL必须是软件声明声明(SSA)中注册的终端之一,如果不是,则银行不得转发PSU。
下面是一个重定向URL的例子:
“id_token”参数包含有关授权同意的详细信息,TPP使用OAuth代码(黄色突出显示)创建下一个访问令牌,对读/写API执行授权操作。正如中“为了减少泄漏风险”所指定的那样,代码仅在几秒钟内有效。毕竟,此代码用于生成用于执行付款的访问令牌或查看敏感的财务数据。因此,新的访问令牌必须在收到回调后立即被请求:
Open Banking Burp Suite扩展
研究人员使用Burp套件来测试大多数web应用程序和web服务,虽然Burp已经提供了许多优秀的本机功能,包括许多扩展,但它们并没有完全覆盖Open Banking的用户流(例如特定的消息签名算法和用户重定向)。这就是为什么我们为Burp创建了Open Banking扩展的原因,它具有上一部分提到的算法。
Open Banking Burp Suite扩展
该扩展程序可以通过在响应正文中突出显示同意ID并将其发送到扩展程序来生成用户重定向,自动在Repeater和Intruder中签名消息以启用模糊测试,还可以处理来自银行的回调重定向以及后续的OAuth请求。
以上所述,是Open Banking所必需具备的基本安全功能。