An Extensive Formal Security Analysis of the OpenID Financial-grade API

01/31/2019
by   Daniel Fett, et al.
0

Forced by regulations and industry demand, banks worldwide are working to open their customers' online banking accounts to third-party services via web-based APIs. By using these so-called Open Banking APIs, third-party companies, such as FinTechs, are able to read information about and initiate payments from their users' bank accounts. One of the most promising standards in this segment is the OpenID Financial-grade API (FAPI), currently under development in an open process by the OpenID Foundation and backed by large industry partners. The FAPI is a profile of OAuth 2.0 designed for high-risk scenarios and aiming to be secure against very strong attackers. To achieve this level of security, the FAPI employs a range of mechanisms that have been developed to harden OAuth 2.0. In this paper, we perform a rigorous, systematic formal analysis of the security of the FAPI, based on the Web Infrastructure Model (WIM) proposed by Fett, Kuesters, and Schmitz. To this end, we first develop a precise model of the FAPI in the WIM, including different profiles and combinations of security features. We then use our model of the FAPI to precisely define central security properties. In an attempt to prove these properties, we uncover partly severe attacks, breaking authentication, authorization, and session integrity properties. We develop mitigations against these attacks and finally are able to formally prove the security of a fixed version of the FAPI. This analysis is an important contribution to the development of the FAPI since it helps to define exact security properties and attacker models, and to avoid severe security risks. Of independent interest, we also uncover weaknesses in the aforementioned security mechanisms for hardening OAuth 2.0. We illustrate that these mechanisms do not necessarily achieve the security properties they have been designed for.

READ FULL TEXT
research
06/27/2022

FIDO2 With Two Displays-Or How to Protect Security-Critical Web Transactions Against Malware Attacks

With the rise of attacks on online accounts in the past years, more and ...
research
09/24/2017

A Model for Enhancing Human Behaviour with Security Questions: A Theoretical Perspective

Security questions are one of the mechanisms used to recover passwords. ...
research
03/28/2020

Security Analysis of the Open Banking Account and Transaction API Protocol

To counteract the lack of competition and innovation in the financial se...
research
01/28/2020

Language-Based Web Session Integrity

Session management is a fundamental component of web applications: despi...
research
09/28/2021

A Formally Verified Configuration for Hardware Security Modules in the Cloud

Hardware Security Modules (HSMs) are trusted machines that perform sensi...
research
05/18/2020

DALock: Distribution Aware Password Throttling

Large-scale online password guessing attacks are wide-spread and continu...
research
04/21/2021

A Calculus for Flow-Limited Authorization

Real-world applications routinely make authorization decisions based on ...

Please sign up or login with your details

Forgot password? Click here to reset