In unserem Blog veröffentlichen wir in unregelmäßigen Abständen Artikel zu verschiedenen Themen der IT-Sicherheit, wie z. B. Open Penetrationstests, öffentlichen Bedrohungsanalysen und Analysen zu anderen interessanten Themen.

FAPI verstehen #01: Wie mit der Financial-grade API im Finanzsektor hochsichere APIs realisiert werden Banner

FAPI verstehen – Blogserie Teil #01

In den letzten Jahren hat sich Online-Banking zunehmend einer größeren Beliebtheit erfreut. Finanzgeschäfte jeglicher Art werden sowohl im privaten Bereich, als auch im geschäftlichen Kontext, immer weiter digitalisiert. Doch die Digitalisierung des Finanzsektors ist eine anspruchsvolle Aufgabe: Durch die Verarbeitung hochsensibler Daten und die Rechte zur Ausführung von Zahlungen sind die IT-Systeme von Banken attraktive Angriffsziele.

In dem wachsenden Finanztechnologie-Sektor entsteht eine Vielzahl FinTech-Unternehmen, die hilfreiche Dienstleistungen im Online-Kontext anbieten. Oft ist für diese Services ein Zugriff auf die Bankkonten der Kund:innen notwendig. Die Herausforderung besteht darin, den FinTechs Zugriff auf die Transaktionsdaten der Kund:innen zu gewähren. Bisher wurde hierfür primär das sogenannte “Screen Scraping” eingesetzt.

 

Das Problem mit Screen Scraping

Beim Screen Scraping werden User aufgefordert, Ihre Login-Daten an einen Drittanbieter-Dienst weiterzugeben. Diese Dienste können sich anschließend im Namen der User stellvertretend anmelden. Ein Beispiel ist in Abbildung 1 dargestellt.

Screen Scraping Dienste emulieren meist einen Webbrowser, um so mit der Hilfe von automatisierten Tools die Bankdaten der User aus dem Inhalt der Webseite auszulesen (den “Screen zu scrapen”).

Die Weitergabe von Bank Login-Daten birgt große Gefahren für die Sicherheit der Kontoinhaber:innen und ist auch rechtlich umstritten. Mit den Login-Daten kann die empfangende Partei beliebige Aktionen im Namen des Users ausführen. Der User muss den Screen Scraping Diensten  somit voll vertrauen, dass sie beispielsweise keine unautorisierten Zahlungen durchführen.

Eine Bank kann nicht zwischen einem Screen Scraping Dienst und einem echten User unterscheiden.  Die Verantwortung für die Ausführung einer Aktionen ist damit unbestimmbar.

Ein weiteres praktisches Problem besteht darin, dass sich der Aufbau einer Webseite ändern kann. In diesem Fall muss  die Screen Scraping Logik aufwendig angepasst werden um weiterhin korrekt zu funktionieren.

Insgesamt ist von dem  Einsatz von Screen Scraping Techniken daher abzuraten.

 

Ein Fintech verwendet die Bankzugangsdaten des Users Sam

Ein Fintech verwendet die Bankzugangsdaten des Users Sam

Screen Scraping Ablauf - Ein Fintech verwendet die Bankzugangsdaten des Users Sam. (Abb. 01)

 

PSD2 – Das Konzept des Open Bankings

Im Jahr 2015 wurde die Zahlungsdiensterichtlinie 2 (Payment Service Directive 2, PSD2) vom Europäischen Parlament veröffentlicht. Ihr erklärtes Ziel:  Bis Januar 2018 sollen etwa 6.000 europäische Banken [1] zu API-Anbieter werden. Dies ist die Grundlage für das Konzept “Open Banking”. [2]

Durch die Öffnung der Kontoschnittstellen durch APIs können auch dritte Unternehmen, wie FinTechs, am Wettbewerb im Finanzsektor teilnehmen.

Die Branche der Zahlungsabwicklung ist somit nicht mehr nur den Banken vorenthalten. Damit soll  Platz für Innovationen im aufstrebenden FinTech-Sektor geschaffen werden.

Open Banking ermöglicht es Usern ihre Finanzdaten, einschließlich Transaktionsdetails und der Berechtigung Zahlungen auszuführen, sicher mit Dritten auszutauschen.  Dabei behalten sie die volle Kontrolle über den Zugriff auf ihre Daten.

Mit der Umsetzung von PSD2 wurde auch die verpflichtende Zwei-Faktor-Authentifizierung für Online-Zahlungen, sowie das Verbot von zusätzlichen Gebühren, die zum Beispiel für Kreditkartenzahlungen erhoben wurden, festgelegt. Die Ziele der Direktive bestehen in einer erhöhten Zahlungssicherheit, einem stärkeren Wettbewerb und einem größeren Verbraucherschutz. [3]

Die Zahlungsdiensterichtlinie wurde im Januar 2018 auch in Deutschland gesetzlich umgesetzt. [3]

 

OAuth 2.0 – die Lösung?

Durch die Pflicht APIs zur Verfügung zu stellen entstand für Banken und Zahlungsdienstleister der Bedarf nach einer effizienten Lösung, welche gleichzeitig dem im Finanzsektor benötigten hohen Sicherheitsniveau gerecht wird.

Bei dem Thema der Autorisierung von API-Zugriffen, fällt das Augenmerk schnell auf OAuth 2.0. Hierbei handelt es sich um ein offenes “Authorization Framework”, welches Usern ermöglicht, mittels Tokens, Dritten Zugriff auf ihre Ressourcen zu geben.

OAuth 2.0 ist heutzutage der de-facto Standard für die Freigabe von Ressourcen über APIs, wurde jedoch ursprünglich nicht für den Finanzsektor und die damit einhergehenden, hohen Sicherheitsanforderungen, entwickelt.

Zudem definiert OAuth 2.0 als Framework lediglich einen Rahmen und erlaubt viele individuelle Protokoll-Konfigurationen. OAuth 2.0 könnte zwar grundsätzlich für die API Freigabe von Finanzdaten genutzt werden, allerdings würde ohne festgelegte Vorgaben und Standards die Interoperabilität zwischen den zahlreichen FinTechs und den 6.000 Banken zu Insellösungen führen. Dies ist vergleichbar zu den sehr unterschiedlichen APIs, die große Soziale Netzwerke wie Facebook und Google anbieten: Auch diese nutzen beide OAuth, unterscheiden sich aber stark in den Details ihrer APIs.

Vor allem die hohen Sicherheitsanforderungen im Finanzsektor sind von OAuth nur mithilfe einer Vielzahl, optionaler Erweiterungen erreichbar. Eine klare Umsetzungsrichtlinie für die speziellen Anforderungen des Finanzsektors fehlte bisher.

 

FAPI – die Lösung!

Um die Mammutaufgabe der Digitalisierung im Finanzsektor zu bewältigen, sollte ein Profil für OAuth 2.0 geschaffen werden, welches dem hohen Sicherheitsstandard, der für den Umgang mit hochsensiblen Daten im Bankenumfeld erforderlich ist, gerecht wird.

Zu diesem Zwecke wurde die Financial-grade API (FAPI) Working Group von der OpenID Connect Foundation gegründet.

Die Arbeitsgruppe untersucht welche Sicherheitsmaßnahmen aus den OpenID Connect und OAuth Standards verwendet werden sollten, um den Zugriff auf Finanz-APIs abzusichern und eine sichere Alternative zu Screen Scraping zu bieten. Das Ergebnis ist das hochsichere "Financial-grade API Security Profile 1.0", bestehend aus "Part 1: Baseline" und "Part 2: Advanced".

 

Mit welchen Maßnahmen die FAPI Profile das hohe Sicherheitsniveau des Finanzsektors erreichen, und sogar gegen komplexe Mix-Up Angriffe schützen, werden wir Ihnen in weiteren Teilen der “FAPI verstehen”-Serie erläutern.

Demnächst > FAPI verstehen Teil #02: Was steckt hinter der FAPI ein Überblick

Folgen Sie uns auf Twitter und verpassen Sie keinen unserer zukünftigen Blogposts mehr.

 

Blogserie – FAPI verstehen

Teil #01 – Wie werden mit der Financial-grade API im Finanzsektor hochsichere APIs realisiert?


 


[1] https://service.destatis.de/DE/WirtschaftJahrtausendwendeEuropa/bloc-3d.html

[2] https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32015L2366&from=DE

[3] https://www.bundesbank.de/de/aufgaben/unbarer-zahlungsverkehr/psd2/psd2-775434


 

Unsere Experten entwickeln die optimale Lösung für Sie

APIs – OAuth – FAPI

Stehen Sie vor der Entscheidung, wie Sie Ihre APIs und Kundendaten optimal schützen können? Oder verwenden Sie OAuth bereits und fragen sich, ob Ihre Implementierung sicher ist?

Wir beraten Sie gerne; kontaktieren Sie uns für eine unverbindliche Erstberatung. So stehen wir Ihnen mit folgenden Services und Lösungen zur Seite:

Bedrohungsanalysen  |  Schulungen   |  Penetrationstests

Zögern Sie nicht und finden Sie mit uns Ihren Weg zu sicheren APIs. Wir freuen uns darauf Sie bei Ihren Projekten zu unterstützen.

 

Dr. Christian Mainka

Ihr Ansprechpartner für OAuth und sichere API

Dr. Christian Mainka
christian.mainka@hackmanit.de