Emulacja karty elektronicznej EMV Michał Głuchowski Praca dyplomowa inżynierska pod opieką prof. Zbigniewa Kotulskiego
Agenda Co to jest EMV? Dlaczego warto się tym zajmować? Bezpieczeństwo EMV Karta tradycyjna a EMV Certyfikacja EMV Narzędzia testowe Projekt systemu Implementacja Rezultaty Plany na przyszłość Pytania
Co to jest EMV? Standard systemów płatniczych opartych o karty elektroniczne ISO/IEC-7816 EMV = Europay Mastercard Visa Aktywnie rozwijany od 1993 roku (pierwsza wersja standardu 1996)
Dlaczego EMV? Rosnąca liczba nieuczciwych transakcji przy użyciu podrobionych kart ( skimming ) Bezpieczeństwo zapewniane przez konstrukcję karty oraz kryptografię Mała elastyczność kart z paskiem magnetycznym Liability shift (od 01.2005)
Dlaczego EMV? Wieloaplikacyjność Uwierzytelnienie karty SDA (Static Data Authentication) DDA (Dynamic Data Authentication) CDA (Combined Dynamic Data Authentication/Cryptogram Generation) Zarządzanie ryzykiem w karcie Weryfikacja PINu offline Wzajemnie uwierzytelnienie w przypadku transakcji online szyfry symetryczne Zdalne zarządzanie aplikacją w karcie
Bezpieczeństwo EMV SDA Źródło: EMVCo, LLC. EMVIntegrated Circuit CardSpecifications for Payment Systems
Bezpieczeństwo EMV DDA Źródło: EMVCo, LLC. EMVIntegrated Circuit CardSpecifications for Payment Systems
Bezpieczeństwo EMV Źródło: EMVCo, LLC. EMV Issuer and Application Security Guidelines
Transakcja tradycyjna a EMV Transakcja dla karty z paskiem magnetycznym Odczyt danych karty Odczyt karty Restrykcje akceptanta Online / offline Restrykcje agenta rozliczeniowego w terminalu Autoryzacja transakcji online / offline
Transakcja tradycyjna a EMV Transakcja dla karty EMV Inicjalizacja aplikacji Odczyt rekordów aplikacji Bardziej skomplikowana, ale... Uwierzytelnienie danych karty Restrykcje agenta rozliczeniowego w terminalu Restrykcje wydawcy Dużo większa kontrola nad Uwierzytelnienie posiadacza karty transakcją przez wydawcę Analiza ryzyka w terminalu Większe bezpieczeństwo Analiza ryzyka w karcie Decyzja online / offline Online Autoryzacja transakcji online + uwierzytelnienie wydawcy przez kartę Offline Zakończenie transakcji Wykonianie skryptów wydawcy
Certyfikacja EMV Problemy z bezpieczeństwem wynikającym z niestosowaniem się do zaleceń Znaczne większe skomplikowanie EMV duże ryzyko błędów Certyfikacja sprzętu ( TA Level 1 ) Certyfikacja oprogramowania dla jądra ( TA Level 2 ) Testy zgodności aplikacji z konkretnymi systemami płatniczymi ADVT (Acquirer Device Validation Test) VSDC (Visa Smart Debit/Credit) ETEC (End To End Compliance)
Narzędzia testowe Specjalistyczne laboratoria testujące EMV L1, drogie testy EMV L2 na zlecenie Narzędzia dostarczane przez organizacje płatnicze (ADVT, ETEC) ICC Solutions komercyjny zestaw do testowania Niezależnie od rozwiązania wysoki koszt
Projekt systemu Emulator karty Warstwa pośrednicząca (interfejs) Biblioteka systemu operacyjnego karty (ROM) Pliki z rekoradmi danych karty oraz nieulotne flagi (EEPROM) Tymczasowe dane transakcyjne karty (RAM) Klient (Terminal)
Implementacja Karta ISO-7816 zaimplementowana jako biblioteka w C (dll dla Windows, ale proste przeniesienie na dowolną platformę) Interfejs PC/SC możliwe przeźroczyste stosowanie przez dowolną aplikację Windows Interfejs do terminali płatniczych Hypercom oraz Verifone Prosty klient testowy
Rezultaty
Co w przyszłości? Budowa sprzętowego interfejsu ISO/IEC 7816 Rozbudowanie systemu testowe o moduł wydawcy Rozwinięcie mechanizmów zarządzania ryzykiem w karcie
Zakończenie Dziękuję za udział w seminarium Pytania...?