NFC Wybrane zagadnienia bezpieczeństwa Dariusz Lewicki dariusz.lewicki@cryptotech.com.pl
NFC w pigułce Technologia komunikacji bezprzewodowej krótkiego zasięgu Bazuje na szeroko rozpowszechnionej technologii RFID 13,56MHz Zasięg działania do 10cm (typowo 3-4cm) Kompatybilna z najpopularniejszymi technologiami RFID opartymi na standardach ISO 14443 (proximity card), ISO 15693 (vicinity card) kompatybilność wsteczna Prędkość komunikacji obecnie do 424kbit/s Udostępnia metodę komunikacji z urządzeniem bez własnego zasilania Szeroko wykorzystuje ideę/gest dotknięcia jako innowacyjnego elementu interakcji z otoczeniem na miarę kliknięcia przyciskiem myszki w świecie Internetu
NFC w pigułce Umożliwia komunikację pomiędzy: Dwoma zasilanymi urządzeniami Zasilanym i niezasilanym urządzeniem Pełna standaryzacja ciągle w toku Obecnie ustandaryzowany: interfejs komunikacyjny podstawowe protokoły wymiany informacji i formaty typowych danych W przygotowaniu kolejne standardy (m.in. dotyczący bezpieczeństwa protokołów komunikacyjnych) To tylko opis komunikacji i nie ogranicza swobody jej użycia Typowe dzisiaj przedstawiane obszary użycia NFC to TYLKO pierwsze pomysły a nie zamknięty zbiór!
Przewidziane tryby pracy w NFC Czytnik/koder tagów/kart bezstykowych Emulacja tagu/karty bezstykowej Peer 2 Peer - komunikacja pomiędzy dwoma urządzeniami NFC NFC Device NFC Device Źródło Nokia
Najpopularniejsze zastosowania NFC Różne formy płatności mobilnych w tym wykorzystujące kombinacje elementów: Emulacji bezstykowej karty płatniczej Czytnika tagów NFC (np. w trybie Smart Poster) Wykorzystania wiadomości SMS Telefon jako czytnik karty płatniczej Zamknięte systemy płatności (punkty/portfel el.) Różne formy biletów elektronicznych Bilety ładowane do pamięci telefonu Bilety ładowane do pamięci SE Bilety online linkowane do numeru telefonu Szybkie parowanie urządzeń sieciowych Ułatwienie podłączenia do sieci WiFi Szybkie nawiązanie połączenia Bluetooth
Urządzenie NFC jako czytnik kart elektronicznych Funkcja dostępna standardowo dla urządzenia NFC Zarówno urządzenia stacjonarne (komputery, terminale informacyjne, POS, czytniki kontroli dostępu, itd.) jak i mobilne (telefon GSM, PDA) Rosnący obszar wykorzystania wieloaplikacyjnych kart bezstykowych, dokumentów tożsamości, prostych kart i tagów RFID Efekt max. wykorzystywania istniejących standardów - synergia Istniejące killer aplikacje możliwe do użycia z czytnikami NFC Niska cena pozwala wdrażać urządzenie NFC jako uniwersalny czytnik większości kart bezstykowych Pierwsze zastosowania NFC (np. parowanie urządzeń WiFi, Bluetooth) budują bazę dla innych zastosowań (mamy już czytnik NFC, więc możemy zbliżyć do niego kartę a pomysły na praktyczne wykorzystanie rodzą się same) a to dopiero początek
Urządzenie NFC w konfiguracjach P2P Słabo jeszcze wykorzystywany tryb NFC Dwa aktywne urządzenia mogą komunikować się bezpośrednio i jednocześnie możliwość szybkiego zestawienia połączenia adhoc pomiędzy urządzeniami NFC dla przesłania małej ilości informacji typowe np. dla protokołów uwierzytelniających czy systemów podpisu elektronicznego Najczęściej stosowane do odczytu/zapisu małej ilości informacji gdy stosowanie kart elektronicznych czy tagów RFID nie jest potrzebne lub stanowiłaby utrudnienie Możliwość płynnego przełączenia komunikacji z NFC na inny szybszy interfejs, np. WiFi czy BT Możliwe całkiem nowe konfiguracje wykorzystujące np. zewnętrzny ekran/klawiaturę
Urządzenie NFC jako emulacja karty elektronicznej Urządzenie NFC wobec dowolnego czytnika kart elektronicznych udaje standardową kartę bezstykową zgodną z ISO14443 Możliwość emulacji wielu kart przez jedno urządzenie NFC wygoda, niższe koszty, elastyczność zarządzania kartami Urządzenie NFC może być znacznie bogatsze funkcjonalnie niż karta elektroniczna (klawiatura, ekran, łączność ) W przypadku emulacji kart identyfikacyjnych czy w systemach płatniczych emulacja karty ISO14443-4 W systemach kontroli dostępu typowo emulacja prostych tagów RFID (ISO14443-3) Najpopularniejsze urządzenie NFC tym kontekście to obecnie telefon GSM
Urządzenie NFC w roli digital ID lub SSCD W ramach urządzeń NFC tego typu zawsze występuje tzw. Secure Element (najczęściej chip karty elektronicznej) SE urządzenia NFC w roli karty może pełnić funkcję Digital ID tam gdzie wykorzystuje się standardową kartę identyfikacyjną, (w tym również w roli Secure Signature Creation Device w ramach kwalifikowanego podpisu elektronicznego) NFC w roli karty zasadniczo ograniczone do realizacji funkcji układu elektronicznego karty - nie występuje fizyczna postać karty np. zawierająca określone informacje wizualne lub fizyczne zabezpieczenia karty ale kto ich potrzebuje w świecie online?
Telefon GSM najbardziej obiecujące urządzenie NFC Architektura nowoczesnego telefonu NFC najbardziej nadaje się do wykorzystywania równocześnie różnych trybów funkcjonowania NFC Telefon czytnikiem kart i tagów zgodnych z NFC (czyli np. ISO 14443) Ale jednocześnie telefon w innych interakcjach może sam pełnić rolę identyfikacyjne karty elektronicznej czy karty płatniczej W wybranych przypadkach może też komunikować się z innym urządzeniem NFC w trybie P2P
Architektura typowego telefonu GSM/NFC Oddzielny Secure Element Źródło Gemalto SIM/UICC jako Secure Element Źródło Nokia
Secure Element układu NFC (opcje) Różne interfejsy komunikacyjne Różne formy fizyczne SE
Secure Element w UICC, telefonie czy MC? SE w UICC UICC typowo pod kontrolą operatora GSM Zasoby (pamięć) UICC wynajmowana odpłatnie dla dostawców aplikacji Wygoda korzystania z OTA Możliwość przenoszenia SE do innego aparatu SE w telefonie SE w telefonie zarządzany przez użytkownika, dostawcę telefonu, sponsora telefonu Ograniczona ilość urządzeń z SE Optymalizacja konstrukcji telefonu (anteny) dla wbudowanego SE SE w module pamięci flash SD/MMC Znaczna niezależność od operatora i producenta telefonu Zupełnie niezależni dostawcy SE Nowe możliwości wynajmowania SE Możliwość używania dużej bazy istniejących telefonów Pewne ograniczenia technologiczne
Secure Element układu NFC - bezpieczeństwo Secure Element w ramach układu NFC = typowo chip karty elektronicznej oferuje więc taki sam poziom bezpieczeństwa (może być certyfikowany do poziomów wymaganych np. dla używania w ramach aplikacji płatniczej, z aplikacją ICAO, IAS, SSCD itd) Telefon z układem SE funkcjonalnie jest odpowiednikiem terminala z włożoną na stałe kartą elektroniczną (SE) Dodaje wiele cech niemożliwych do uzyskania w przypadku standardowej karty elektronicznej: Możliwość komunikacji online z dostawcami usług (w tym unieważniania zawartości, blokowania aplikacji, walidacji certyfikatów, oznaczania czasem itp.)
Telefon GSM a ekosystem NFC 70 Źródło G&D
Jak użytkownik postrzega Secure Element? Użytkownik nie widzi SE Użytkownik posługuje się telefonem jako całością Użytkownik prowadzi dialog z SE za pośrednictwem aplikacji telefonu (np. J2ME), jego wyświetlacza, jego klawiatury Użytkownik nie rozróżnia też, które komunikaty, akcje, funkcje realizowane są przez aplikacje SE, aplikację telefonu czy zdalne aplikację na serwerze w sieci Nie wie i nie ma kontroli nad tym gdzie jest wysyłany podany przez niego kod PIN
Telefon istotnym elementem w łańcuchu bezpieczeństwa Bezpieczeństwo zapewniane przez Security Element jest w wielu aplikacjach obsługiwane przez oprogramowanie telefonu coraz bardziej złożone oprogramowanie Telefon powinien stopniowo przejąć część zadań terminali płatniczych i POS zapewniając interfejs do interakcji z użytkownikiem Secure Element u Szczególnie dotyczy to obsługi klawiatury (np. Secure PIN entry) oraz wyświetlacza zapewniającego zaufanie do prezentowanych treści
Interfejsy komunikacyjne Telefon jako łącznik pomiędzy różnymi interfejsami ISO 14443-4 Źródło www.nfc-research.at
Typowe interfejsy aplikacyjne wewnątrz telefonu!! Telefon pełni rolę czytnika Secure Element Potrzebne są dwie aplikacje: J2ME pełni rolę aplikacji GUI i czytnika kart JavaCard aplikacja w Secure Element JSR 177 pracuje jako interfesj pomiedzy J2ME i wbudowaną kartą JavaCard (Secure Element)
JSR177 Security and Trust Services APIs vs JSR 257 Contactless Communication API JSR 177 pozwala na wywoływanie metod zdalnej karty JavaCard Wspiera podpis elektroniczny aplikacji Zawiera podstawowe funkcja zarządzania poufnymi informacjami identyfikacyjnymi użytkownika Obejmuje podzbiór J2SE crypto API (message digest, signature, encryption, decryption) JSR177 definiuje interfejs na poziomie APDUConnection Aplikacje Java mogą używać JSR 177 do komunikacji z aplikacjami karcie elektronicznej (zgodnie z ISO7816-4) Oba interfejsy pozwalają na dostęp do kart elektronicznych ale JSR177 tylko do wbudowanych czyli SE JSR 257 pozwala na dostęp do połączeń wg ISO 14443 i pełnego interfejsu RF układu NFC JSR 257 udostępnia interfejs niższego poziomu do SE
Nieco inne podejście Smart Card Web Server - SCWS Częściowo adresuje wybrane zagrożenia gdyż znaczna część aplikacji może pracować wewnątrz Security Elementu wyposażonego w serwer webowy i pracujące na nim aplikacje (servlety)
Interes użytkownika i jego pochodzenie SCWS
Nowe protokoły dostępu do SE w przypadku SCWS
Przepływ danych na bazie protokołu IP
Ciekawy tryb pracy SCWS HTTP(S) Proxy
SCWS standaryzacja OMA SCWS Open Mobile Alliance definiuje zewnętrzne interfejsy serwera HTTP w karcie elektronicznej ETSI głównie pracuje nad standaryzacją protokołów transportowych SCWS TS 102223 standaryzacja protokołu BIP TS 102 483 protokół IP dla UICC TS 102558 interfejs programistyczny dla apletu Java generującego dynamiczną zawartość HTTP TS 102 600 IC_USB interfejs Interchip USB lekka modyfikacja USB
Jak przełamać impas braku NFC w telefonach? 1 Na rynku dostępnych jest już kilka rozwiązań dodających interfejs NFC do istniejących modeli telefonów Najczęściej urządzenia samodzielne lub łączące się z telefonem za pośrednictwem innego, standardowego interfejsu np. Bluetooth Mogą mieć formę nalepki na obudowę telefonu albo niezależnego urządzenia Są też złożone moduły pamięci flash z NFC+SE
Jak przełamać impas braku NFC w telefonach? 2 Pojawiają się też pierwsze przykłady niezależnych urządzeń typu NFC wallet, które chcą podbić świat skłócony przez spory operatorów GSM, producentów telefonów, banków o to kto powinien być właścicielem SE i głównym rozdającym karty w ramach ekosystemu NFC i kto powinien zainwestować w zbudowanie odpowiedniej infrastruktury urządzeń na rynku NFC, WiFi, USB Emulacja 14443 A/B Reader 14442 A/B, NDEF Tags NFC Peer to Peer Biometric sensor UICC reader Touch screen, audio microsd Lunix, ARM 9
Bezpieczeństwo całego łańcucha Niezależnie od rodzaju Security Elementu, umiejscowienia układu NFC i sposobu ich integracji z pozostałymi składnikami systemu NFC, wyraźnie widać jak ważną rolę odgrywa osobiste urządzenie (na dzisiaj typowo telefon GSM), za pomocą którego użytkownik realizuje interakcje z ekosystemem NFC Ten element pośredniczy w wielu wymianach informacji, obsługuje wiele kanałów komunikacji i obecnie jest najsłabszym ogniwem łańcucha Nie trzeba przełamywać wysokiego poziomu bezpieczeństwa SE czy wielu protokołów sieciowych wystarczy zmanipulować lub wykorzystać wady dość złożonego stosu aplikacyjnego we współczesnym telefonie by obraz transakcji z użyciem NFC jaki postrzega użytkownik był zgoła odmienny od faktycznie realizowanych działań na poszczególnych interfejsach Używanie dodatkowych interfejsów (jak BT) dalej sprawę pogarsza
Spostrzeżenia z lotu ptaka NFC próbuje osiągnąć masę krytyczną na bazie sukcesu GSM i kartowych systemów płatniczych, biletowych, kontroli dostępu... ale systemy te już czują na plecach oddech rozwiązań, strategii i modelu działania wywodzącego się z zupełnie innego świata świata Internetu i stałej bytności online! Google, Twitter czy dobrze rozumiejący pędzący postęp technologii w służbie user experience gracze, tacy jak Apple, nie zamierzają byś ubogim krewnym w świecie postrzeganym obecnie jako środowisko naturalne dla NFC (np. płatności) Tacy gracze mogą (i już to przygotowują) wytworzyć nowy, alternatywny ekosystem wykorzystujący NFC, ale poza kontrolą i wpływami banków, GSM i innych tradycyjnych graczy w ramach ekosystemu NFC Nie marnujmy czasu (!) gdyż część zastosowań NFC związana jest ze światem, którego dni być może są już policzone NFC może umożliwić szerokie spektrum wygodnych usług, ale nie możemy doprowadzić do sytuacji gdy będziemy musieli naprawiać mentalne szkody wyrządzone w świadomości użytkowników przez falę nadużyć, oszustw, strat spowodowanych pozostawieniem (wstępnym etapie rozwoju ekosystemu) istotnych luk bezpieczeństwa w całym łańcuchu transakcyjnym np. luk dotyczących bezpieczeństwa terminala użytkownika
Pytania dariusz.lewicki@cryptotech.com.pl CryptoTech 2010 www.cryptotech.com.pl