Bezpečnost mobilních multi-banking aplikací Smart Cards & Devices Forum 2016
Lime
@Lime_Company
Single-banking
Smart Cards & Devices Forum 2013
Hlavním tématem je autentizace. Doplňková témata (SSL, logování, …). Rozumně zvládnuté napříč bankami. Problémy s inovativními vlastnostmi.
Android Widget
Touch ID
Apple Watch Today Screen
Android Wear
PowerAuth 2.0 http://powerauth.com/
“Poučený”, referenční protokol. Open-source a zdarma ke stažení. MONETA Money Bank.
Multi-factor autentizace
End-to-end šifrování
Bezpečné úložiště
“
End-to-end šifrování a bezpečné úložiště vznikly jako side-efekt při návrhu bezpečné autentizace.
Multi-banking
Dopady legislativy PSD2. Otevřené bankovní služby a API. Vstup 3. stran a #fintech startupů.
Nové bezpečnostní problémy. Lze řešit různými způsoby. Ne kompromis v bezpečnosti či UX. Nejspíš nechceme super-autoritu.
Nové bezpečnostní problémy. Lze řešit různými způsoby. Ne kompromis v bezpečnosti či UX. Nejspíš nechceme super-autoritu.
Problémy distribuovaného multi-bankingu
Příklad 1
Více bank, jeden PIN kód
Uživatelé
activation id
Banky
knowledge
Banka A
Uživatelé
activation id PIN(x)
Banky
knowledge
Banka A
Uživatelé
activation id
activation id
PIN(x)
PIN(y)
Banky
knowledge
Banka A
knowledge
Banka B
Uživatelé
activation id
activation id
PIN(x)
PIN(y)
knowledge
knowledge
Banky
X=Y?
Banka A
Banka B
Uživatelé
activation id PIN(x)
Banky
knowledge
Banka A
Banka B
activation id PIN(?)
knowledge
Situace 1
Aplikace nezná PIN Jak přidat další banku?
Uživatelé
activation id PIN(x)
Banky
knowledge
Banka A
Uživatelé
activation id PIN(x)
Banky
knowledge
Banka A
Banka B
Uživatelé
activation id PIN(x)
knowledge
Banky
activation id
Banka A
Banka B
knowledge
Situace 2
Pro X bank, N * X pokusů Jak zajistit pouze N pokusů?
Uživatelé
activation id PIN(x)
Banky
knowledge
Banka A
Banka B
activation id PIN(x)
knowledge
Uživatelé
activation id PIN(x)
Banky
knowledge
Banka A
Banka B
activation id PIN(x)
knowledge
S každou další bankou trochu méně bezpečné
Situace 3
Synchronizace Jak zabránit zablokování pouze jedné banky?
Uživatelé
activation id PIN(x)
Banky
knowledge
Banka A
Banka B
activation id PIN(x)
knowledge
Uživatelé
activation id PIN(x)
knowledge
Banky
Nová platba
Banka A
Banka B
activation id PIN(x)
knowledge
Uživatelé
activation id PIN(x)
knowledge
activation id PIN(x)
knowledge
Banky
Nová platba - neúspěšná autentizace
Banka A
Banka B
Uživatelé
activation id PIN(x)
Banky
knowledge
Banka A
Banka B
0 pokusů BLOCKED
5 pokusů ACTIVE
activation id PIN(x)
knowledge
Řešení: Centrální komunikační hub a secure vault
Uživatelé Zingly
Zingly Multi-Banking Hub Server
Zingly API Server
Banky
Zingly API Server
Internetové bankovnictví
PowerAuth Server
PowerAuth Server
Banka A
Banka B
Internetové bankovnictví
Uživatelé Zingly
Zingly Multi-Banking Hub Server
Zingly API Server
Banky
Zingly API Server
Internetové bankovnictví
PowerAuth Server
PowerAuth Server
PowerAuth Server
Banka A
Banka B
Internetové bankovnictví
Uživatelé
PowerAuth 2.0 Client
activation id PIN(x)
Zingly
knowledge
activation id PIN(x)
knowledge
Zingly Multi-Banking Hub Server
Zingly API Server
Banky
Zingly API Server
Internetové bankovnictví
PowerAuth Server
PowerAuth Server
PowerAuth Server
Banka A
Banka B
Internetové bankovnictví
Uživatelé
PowerAuth 2.0 Client
activation id PIN(x)
Zingly
knowledge
VAULT
activation id PIN(x)
PIN(x)
knowledge
Zingly Multi-Banking Hub Server
knowledge
PowerAuth Server
Zingly API Server
Banky
Zingly API Server
Internetové bankovnictví
activation id
PowerAuth Server
PowerAuth Server
Banka A
Banka B
Internetové bankovnictví
Příklad 2
Data na všech internetech
“
To nejcenější na otevřeném API jsou data.
— zaslechnuto na Internetu
“
Data z bankovního API jsou radioaktivní odpad který nikdo nechce
skladovat.
🔒 Databáze - Banka
🔒 Databáze - Banka
🔒 Databáze - Banka
Replika - Startup A
🔒
Záloha na Dropboxu
Startup C
🔒 Cloud - Startup B
🔒 Bankovní API
🔒 Databáze - Banka
Replika - Startup A
🔒
Záloha na Dropboxu
Startup C
🔒 Cloud - Startup B
🔒 Bankovní API
🔒 Databáze - Banka
Replika - Startup A
🔒
Záloha na Dropboxu
Startup C
💀 Cloud - Startup B
🔒 Bankovní API
🔒 Databáze - Banka
Replika - Startup A
💀
Záloha na Dropboxu
Startup C
💀 Cloud - Startup B
💀 Bankovní API
💀 Databáze - Banka
Replika - Startup A
💀
Záloha na Dropboxu
Startup C
💀 Cloud - Startup B
💀 Bankovní API
💀 Databáze - Banka
Drahé, neefektivní. Jeden “nešika” to kazí všem. Náhodně umístěné repliky dat. Nemožnost kontrolovat svá data.
Řešení: End-to-end šifrování a on-demand služby
Cena za 1 MB úložiště ($) 0,03
0,023
0,015
0,008
$0.0000283 0 1998
2000
2002
2004
2006
2008
2010
2012
2014
http://www.jcmit.com/disk2015.htm
Cena za 1 Mbps ($) 1200
900
600
300
$0.63 0 1998
2000
2002
2004
2006
2008
2010
2012
2014
http://drpeering.net/white-papers/Internet-Transit-Pricing-Historical-And-Projected.php
“
Banka bude fungovat jako bezpečná finanční databáze, nebude nutné replikovat data v jednotlivých službách.
— odvážná predikce
“
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
Příklad: PFM
Uživatelé
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í.
🔒
Zingly
1. Aplikace si stáhne data z více bank,
data jsou chráněna E2E šifrováním.
Zingly Multi-Banking Hub Server
Banky
🔒 Banka A
🔒
PFM Engine
🔒 Banka B
🔒
Shrnutí
Nové bezpečnostní problémy. Bezpečný trezor a E2E šifrování. Banka jako bezpečná databáze. On-demand služby.
Děkuji http://powerauth.com/
Petr Dvořák e-mail:
[email protected] twitter: @zinglyapp
31. 5.,17:00 - 18:00 Přehled fintech společností v ČR a ve světě
https://plus.google.com/events/cpuvhoe5pniilhkjh27u91hoang
2. 6., 17:00 - 18:00 Jak vypadá ideální bankovní API? https://plus.google.com/events/c8oji1fpp7jsvulkes0sjso6bs8
Otázky? :-) http://powerauth.com/
Petr Dvořák e-mail:
[email protected] twitter: @zinglyapp