Autor: Andrei Dumitru
(Executive Partner, Innovation & Technology Services, IT Smart Systems)
Directiva Europeană PSD2 – deschidere a pieței bancare
Directiva Europeana PSD2, care își propune să deschidă piața serviciilor financiare din Uniunea Europeană, va intra in vigoare în septembrie 2019, asadar peste foarte putin timp. Cât de pregătite sunt băncile din România pentru acest termen nu putem știi sigur în momentul de față. În faza de testare, din experiența noastră, nu toate băncile din România au reusit să expuna interfete (API) cu un nivel ridicat de calitate, disponibilitate si controale aferente de securitate.
Modificările propuse de Directiva PSD2 au permis materializarea conceptului de OpenBanking care pleacă tocmai de la această deschidere în furnizarea informatiilor legate de plăți și detalii cont, a conturilor utilizatorilor prin interfețele API, și astfel garantând accesul la piață al terților, fie ei fintechuri, companii specializate în plăți si servicii sau chiar bănci in rolul de fintechuri.
Avand in vedere că Directiva trebuie implementată la nivelul Uniunii Europene și Regatului Unit al Marii Britanii, au apărut și două grupuri mari de inițiativă care se ocupă cu standardizarea cerințelor PSD2: Berlin Group și Open Banking UK. Berlin Group a lansat initiativa NextGenPSD2, un cadru care include toate specificațiile de conformitate API dar si standardele de Securitate asociate, specificatii ce sunt constant actualizate. Institutul Open Banking din Marea Britanie conduce o intitiativa de standardizare similara, cu standardele de implementare oferite prin OBIE (Entitatea de Implementare a OpenBanking).
Una dintre principalele provocări în implementarea și adopția PSD2 o reprezintă securizarea accesului terților la informațiile legate de conturi, balanță și tranzacții, dar si la initierea de plăți. Putem spune cu siguranță că modelul existent de interacțiune directă Utilizator – Serviciu Bancar Digital (Mobile Banking, Internet Banking) este mai simplu de securizat, însă noul model PSD2 (care implica suplimentar tertul) este cu siguranță mai complex și aduce vulnerabilități suplimentare care trebuie adresate.
Vulnerabilități de cyber-securitate în PSD2
În industria bancară, vorbind despre expunerea unor interfete către terți, mecanismele de cyber-securitate sunt și mai greu puse la încercare când relația nu mai este una directă client-bancă, ci este intermediată de terți în anumite puncte. Apar, astfel, diferite vulnerabilități specifice PSD2, identificate mai jos:
Dacă ar fi să extragem amenințările de securitate ale API-urilor din tabelul de mai sus, am identifica următoarele situații:
După cum putem observa, controalele de securitate trebuie implementate asupra mai multor nivele de informatii, în mai multe straturi practic: nivel transport, nivel aplicatie, nivel specific canalului de access și la nivel de perimetru.
Atat specificatiile NextGenPSD2, dar si OBIE foloseșc ca protocol standard de securitate la nivel de aplicatie OAuth2,pe care ne vom concentra si despre care vom vorbi în continuare.
OAuth2 – Protocolul de autorizare
Protocolul OAuth2asigură accesul securizat limitat unui terț (numit Client) la o resursa sau un set de resurse (găzduite de un server de resurse) în baza consimțământului oferit de Utilizatorul final, iar, mai extins, la API-urile unui server.
Modelul OAuth2a prins o foarte mare tracțiune pe piață, chiar și in industrii cu cerințe de securitate foarte ridicate, ca OpenBanking, eHealth, eGovernment sau semnături electronice, devenind astfel in standard acceptat si consacrat in piata pe zona de securitate API.
Standardele și recomandările de bune-practici de securitate momentan publicate sub draftul web de autorizare sunt disponibile: Security Best Current Practice, draft-ietf-oauth-security-topics-13(care poate fi accesat și la linkul: https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13).
Însă ce înseamnă acest protocol OAuth2mai exact? Accesul se oferă prin generarea unui token cu durată limitată, care este trimis de client ca parametru sau în header către serverul-resursă. Tokenul trebuie ținut confidențial si trebuie sa fie asociat in mod unic cu Utiliatorul final, Tertul si operatiunea efectiva (plata sau cerere de acces la informatii de cont).
Securitatea în NextGenPSD2 – recomandari incluse in standardului de implementare
Astfel, controalele de securitate cheie în PSD2 pe care le identificăm în urma amenintărilor menționate, recomandate în cadrul specificației emise de Berlin Group, sunt:
· Autentificarea mutuală la nivel de transport - MTLS
· Confidențialitate - criptarea datelor în tranzit la nivel de transport
· Integritatea (prevenirea coruperii mesajelor transmise)
· Autorizarea (validarea în timp real al organizației Terț ca fiind autorizată să inițieze transacții în spectrul PSD2)
· Autentificarea clientului (SCA) – autentificarea clientului folosind cel puțin 2 factori
· Autorizarea actiunilor păstrând o legatura unică între Tert, Utilizator și operația (plată sau cerere informații cont) pentru fiecare tranzactie
Acestea sunt doar cateva dintre măsurile principale care trebuie adoptate pentru blocarea eventulelor atacuri cibernetice asupra tranzacțiilor PSD2.
Concluzie
15 septembrie 2019 devine cea mai importantă dată în PSD2, securitarea informatiilor utilizatorului final, al băncii și a prestatorilor terți rămâne însă cea mai mare preocupare în implementarea noilor reglementări. Urmând recomandările grupurilor de lucru Berling Group si OBIE, dar si implementarea standardelor impuse în acest sens vor aduce protejarea tuturor actorilor implicați în acest model de banking.
IT Smart Systems oferă soluții de securitate și consultanță băncilor și PTP-urilor și a dezvoltat un pentesting tool de conformitate pentru NextGenPSD2 care poate rula contra API-urile lor de PDS2. Mai multe detalii la: https://www.smartfintech.eu/iss-identitylive.
Referințe:
Johann Reinke – Understanding OAuth 2 (http://www.bubblecode.net)
Comments