Top Banner
Bezpečnost mobilních multi-banking aplikací Smart Cards & Devices Forum 2016 @Lime_Company Lime
52

Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Jan 07, 2017

Download

Technology

Petr Dvořák
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Bezpečnost mobilních multi-banking aplikací Smart Cards & Devices Forum 2016

@Lime_CompanyLime

Page 2: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Single-banking

Page 3: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Smart Cards & Devices Forum 2013

Řešení bezpečnosti mobilního single-bankingu bylo velkým

tématem cca v letech 2010-2014.

Page 4: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Doplňková témata (SSL, logování, …).

Rozumně zvládnuté napříč bankami.

Hlavním tématem je autentizace.

Problémy s inovativními vlastnostmi.

Page 5: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Touch ID

Apple Watch

Android Widget

Today Screen

Android Wear

Banky mají dnes problém implementovat bezpečně

některé z těchto funkcí. Jejich autentizační řešení nepočítá

s různými faktory autentizace.

Page 6: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Z českých bank má nejobecněji a z pohledu rozšiřitelnosti

nejlépe bezpečnost řešené Mobilní eKonto od

Raiffeisenbank.

Page 7: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

PowerAuth 2.0http://powerauth.com/

Řešením Mobilní eKonto od Raiffeisenbank je silně

inspirovaný free a open-source protokol PowerAuth 2.0.

Page 8: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Open-source a zdarma ke stažení.

MONETA Money Bank.

“Poučený”, referenční protokol.

Page 9: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Multi-factor autentizace

End-to-end šifrování

Bezpečné úložiště

PowerAuth 2.0 byl původně pouze autentizační protokol, ale

postupem času v něm byla vyvinuta podpora pro E2E šifrování a secure vault.

Page 10: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

End-to-end šifrování

a bezpečné úložiště vznikly

jako side-efekt při návrhu

bezpečné autentizace.

Tyto dvě dodatečné vlastnosti, které vznikly jako “side-efekt” pak v případě multi-banking

aplikací hrají překvapivě zcela zásadní roli.

Page 11: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Multi-banking

Page 12: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Otevřené bankovní služby a API.

Vstup 3. stran a #fintech startupů.

Dopady legislativy PSD2.

Page 13: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Problémy specifické pro multi-banking se objevily během

návrhu aplikace Zingly.

Page 14: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Lze řešit různými způsoby.

Ne kompromis v bezpečnosti či UX.

Nové bezpečnostní problémy.

Nejspíš nechceme super-autoritu.

Page 15: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Problémy distribuovaného multi-bankingu

Ideální stav je takový, že kdokoliv může postavit aplikaci nad bankovními službami

a realizovat funkce typu “bezpečné platby”. Multi-banking tak není koncentrovaný do

jedné centrální autority.

Page 16: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Příklad 1

Více bank, jeden PIN kód

Page 17: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Ban

kyUži

vate

activation id

PIN(x)

knowledge

Banka A

V případě jedné banky je “knowledge” related faktor

autentizace uložený pomocí PIN kódu.

Page 18: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Ban

kyUži

vate

activation id

PIN(x)

activation id

PIN(y)

X = Y ?

knowledge knowledge

Banka A Banka B

Co se ale stane, pokud má uživatel dvě banky kde je “knowledge” related faktor uložený pomocí jednoho

stejného PIN kódu.

Page 19: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Ban

kyUži

vate

activation id

PIN(x)

activation id

PIN(?)

knowledge knowledge

Banka A Banka B

A co se stane, když do tohoto stavu uživatele dotlačíme tím, že mu pro dvě banky dáme jednu

aplikaci?

Page 20: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Situace 1

Aplikace nezná PIN Jak přidat další banku?

Page 21: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Ban

kyUži

vate

activation id

PIN(x)

knowledge

Banka A Banka B

Jakým způsobem probíhá přidání další banky? Aplikace

nezná PIN kód, ale umí pomocí zadaného PIN kódu odemknout

“knowledge” related faktor.

Page 22: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Ban

kyUži

vate

activation id

PIN(x)

activation id

knowledge knowledge

Banka A Banka B

Pro uložení “knowledge” faktoru druhé banky je potřeba správný

PIN kód, který ale aplikace nezná a neumí ho lokálně zjistit.

Page 23: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Situace 2

Pro X bank, N * X pokusů

Jak zajistit pouze N pokusů?

Page 24: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Ban

kyUži

vate

activation id

PIN(x)

activation id

PIN(x)

knowledge knowledge

Banka A Banka B

Další problém je, že uložené autentizační prostředky více

bank je možné používat nezávisle na sobě.

Page 25: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Ban

kyUži

vate

activation id

PIN(x)

activation id

PIN(x)

knowledge knowledge

Banka A Banka B

Útočník tak získá N pokusů na přihlášení do

každé z X uložených bank.

Page 26: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

S každou další bankou trochu méně bezpečné

Killer marketing slogan?

:)

Page 27: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Situace 3

Synchronizace

Jak zabránit zablokování pouze jedné banky?

Page 28: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Ban

kyUži

vate

knowledge

activation id

PIN(x)

knowledge

activation id

PIN(x)

Nová platba - neúspěšná autentizace

Banka A Banka B

Při neúspěšné autentizaci do jedné banky v dané bance klesne počet pokusů

a v ostatních bankách nikoliv.

Page 29: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Ban

kyUži

vate

knowledge

activation id

PIN(x)

knowledge

activation id

PIN(x)

0 pokusů BLOCKED

5 pokusů ACTIVE

Banka A Banka B

Jedna banka se tak může kompletně

zablokovat s tím, že ostatní banky mají

stále aktivní prostředky.

Page 30: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Řešení: Centrální komunikační

hub a secure vault

Page 31: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

PowerAuth Server PowerAuth Server

Zingly API Server Zingly API Server

Zingly Multi-Banking Hub Server

Banka A Banka B

Ban

kyUži

vate

PowerAuth Server

Zin

gly

Internetové bankovnictví

Internetové bankovnictví

Centrálně orchestrovaný autentizační prostředek drží “master autentizační data”, která jsou použita pro autentizaci

a odemčení secure vaultu, který na zařízení udržuje šifrovaná autentizační data do jednotlivých bank. Přihlášení pak probíhá ve dvou krocích: 1) odemčení vaultu autentizací

vůči master aktivaci a odšifrování autentizačních dat jednotlivých bank a 2) přihlášení k jednotlivým bankám.

Page 32: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Uži

vate

léPowerAuth 2.0 Client

PowerAuth Server PowerAuth Server

Zingly API Server Zingly API Server

Zingly Multi-Banking Hub Server

Banka A Banka B

Ban

kyUži

vate

PowerAuth Server

Zin

gly

Internetové bankovnictví

Internetové bankovnictví

VAULT

knowledge

activation id

PIN(x)

activation id

PIN(x)

activation id

PIN(x)

knowledge knowledge

Page 33: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Příklad 2

Data na všech internetech

Page 34: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

To nejcenější na

otevřeném API jsou

data. — zaslechnuto na Internetu

Page 35: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Data z bankovního API

jsou radioaktivní odpad

který nikdo nechceskladovat.

Page 36: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

S bankovními daty by měli nakládat pouze lidé, kteří jsou na to dobře vybaveni, mají adekvátní dress code a jsou za to dobře

placeni. Čili bankéři…

Page 37: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Databáze - Banka

🔒

Banky dnes investují nemalé peníze do ochrany dat svých

klientů.

Page 38: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Replika - Startup A

Databáze - Banka

Cloud - Startup B

Záloha na DropboxuStartup C

Bankovní API

🔒

🔒

🔒🔒

Pokud tato data následně vystaví

pomocí API, očekává se, že je zabezpečí i

všechny ostatní služby.

Page 39: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Replika - Startup A

Databáze - Banka

Cloud - Startup B

Záloha na DropboxuStartup C

Bankovní API

🔒

🔒

🔒🔒

Tento náklad se následně “nerozpočítá”

- celkové náklady se sčítají, všichni musí

investovat do ochrany dat.

Page 40: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Replika - Startup A

Databáze - Banka

Cloud - Startup B

Záloha na DropboxuStartup C

Bankovní API

🔒

🔒

💀🔒

Pokud se následně objeví jeden hříšník,

který data neuchrání, je ochrana dat zmařena.

Historie plateb se nedá revokovat…

Page 41: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Replika - Startup A

Databáze - Banka

Cloud - Startup B

Záloha na DropboxuStartup C

Bankovní API

💀

💀

💀💀

V podstatě je to tak, že dojde ke ztrátě dat,

která chrání všechny replikujícíc služby.

Page 42: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Replika - Startup A

Databáze - Banka

Cloud - Startup B

Záloha na DropboxuStartup C

Bankovní API

💀

💀

💀💀

A násobně investované prostředky se

nenávratně ztratí…

Page 43: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Jeden “nešika” to kazí všem.

Náhodně umístěné repliky dat.

Drahé, neefektivní.

Nemožnost kontrolovat svá data.

Page 44: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Řešení: End-to-end šifrování

a on-demand služby

Page 45: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Cena za 1 MB úložiště ($)

0

0,008

0,015

0,023

0,03

1998 2000 2002 2004 2006 2008 2010 2012 2014

$0.0000283

http://www.jcmit.com/disk2015.htm

Uložiště jsou velmi levná, v čase cena

radikálně klesla.

Page 46: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

http://drpeering.net/white-papers/Internet-Transit-Pricing-Historical-And-Projected.php

0

300

600

900

1200

1998 2000 2002 2004 2006 2008 2010 2012 2014

Cena za 1 Mbps ($)

$0.63

Totéž ovšem platí i pro konektivitu, relativní pokles pak je ještě vyšší, než pro cenu

úložiště.

Page 47: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Banka bude fungovat jako

bezpečná finanční databáze,

nebude nutné replikovat data

v jednotlivých službách. — odvážná predikce

Banku si představte jako “lokální tabulky” vaši databáze

zprostředkované přes API.

Page 48: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Služby, které dnes replikují

data budou umět fungovat

na vyžádání, v reálném čase

a za kontroly uživatele. — odvážná predikce

Tato data si pak služby 3. stran budou moci kdykoliv vyžádat, bez nutnosti replikace dat. Ukládat pak budou muset nejvýše autentizační data, která jsou ale revokovatelná.

Page 49: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Banka A

Ban

kyUži

vate

léZ

ing

ly

Příklad:On-demand PFM

1. Aplikace si stáhne data z více bank,data jsou chráněna E2E šifrováním.

2. Aplikace si odšifruje data, uživatel označí data, která chce odeslat k analýze.

3. Data se odešlou k real-time analýze do cloudové služby, zpět je vrácena analýza. Data se neukládají.

PFM Engine

🔒

Banka B

🔒

🔒

Zingly Multi-Banking Hub Server

🔒 🔒PFM

= personal finance

management

Page 50: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Shrnutí

Page 51: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Bezpečný trezor a E2E šifrování.

Banka jako bezpečná databáze.

Nové bezpečnostní problémy.

On-demand služby.

Page 52: Smart Cards and Devices Forum 2016 - Bezpečnost multi-banking mobilních aplikací

Děkuji

Petr Dvořák e-mail: [email protected] twitter: @zinglyapp

http://powerauth.com/