10.05.2018 | 07:58

avatar

irq

Portfel w jabłku – analiza bezpieczeństwa Apple Pay w polskim systemie płatności

Czekaliście, czekaliście i się doczekaliście. Polscy użytkownicy telefonów Apple mogą poczuć się docenieni. Usługi płatności telefonem Apple Pay będą wkrótce dostępne na naszym rynku.

Pod koniec kwietnia media poinformowały, iż w Polsce będzie dostępna możliwość dokonywania płatności Apple Pay. Kilka czołowych banków (wymienia się WBK, mBank oraz trzy inne) postanowiło pozytywnie zareagować na możliwość rozszerzenia oferty o płatności mobilne na platformie Apple. Możliwe, że już od połowy czerwca klienci wybranych banków będą mogli płacić swoimi „jabłkowymi” telefonami niemal jak kartą kredytową.

Postanowiliśmy się przyjrzeć, w jaki sposób działa taki elektroniczny portfel w telefonie oraz jakie zagrożenia czekają na użytkownika tej usługi.

Jak to działa

Do działania usługa potrzebuje interfejsu NFC (Near Field Communication) oraz technologii Touch ID lub Face ID. Chcąc korzystać z aplikacji, należy zarejestrować kartę kredytową (ew. płatniczą, debetową). Należy dodać kartę do aplikacji Apple Wallet. Można to zrobić ze swojego konta iTunes, wprowadzić dane ręcznie lub zrobić zdjęcie karty i wprowadzić je do aplikacji. Jest to najbardziej niebezpieczny i podatny na nadużycia moment, gdyż w istocie to jedyny etap, w którym w użyciu są dane naszej karty kredytowej.

źródło: https://www.youtube.com/watch?v=DnsbgGoh334

Dla każdej dodanej karty dedykowany układ wewnątrz urządzenia (tzw. Secure Element) przypisuje, szyfruje oraz przechowuje unikalny numer DAN (Device Account Number). Secure Element jest odseparowanym układem scalonym zaprojektowanym zgodnie ze standardem przemysłowym, przeznaczonym do bezpiecznego przetwarzania danych. Został on opracowany z myślą o bezpieczeństwie transakcji finansowych. Numer ten wraz z kilkoma informacjami (tj. klucz służący generacji unikalnych kodów dla każdej transakcji) wysyłany jest do Apple. Rzeczywisty numer karty nie jest przechowywany ani transmitowany.

W trakcie transakcji finansowej wykorzystywany jest numer DAN, który jest wysyłany poprzez terminal płatniczy POS i sieć płatniczą. By móc dokonać płatności i użyć numeru DAN, użytkownik musi odblokować do niego dostęp, autoryzując transakcję (w najprostszym przypadku za pomocą odcisku palca w rozwiązaniu TouchID). Do tworzenia 16-cyfrowego kodu – tokenu DAN – Apple skorzystał z uznanego przez środowisko bankowe standardu EMV. Twórcy rozwiązania podkreślają, iż przechowywany token nie może być przetworzony tak, by odzyskać wprost z niego rzeczywisty numer karty kredytowej. Powiązanie z właściwą kartą realizowane jest pomiędzy siecią obsługującą płatności kartami a bankiem – wystawcą kart. Odbywa się to w zaciszu bankowych systemów transakcyjnych i nie jest w żaden sposób widoczne dla uczestników transakcji płatniczej.

źródło: http://mobilepaymentux.com/meet-apple-pay/

Apple Pay działa na takich urządzeniach, jak iPhone 6 oraz iPhone 6 Plus i kolejne modele iPhone’a, iPad Pro, iPad Air 2 lub iPad mini 3 i późniejsze, a także Apple Watch.

Warto zwrócić uwagę na kilka właściwości takiego rozwiązania:

  1. Dane karty kredytowej nie są przechowywane w urządzeniu ani na serwerach Apple (lub operatora usługi). W tym kontekście dane karty nie są udostępniane ani przekazywane sprzedawcom lub innym stronom zaangażowanym w proces płatności.
  2. Apple bądź operator usługi nie posiada informacji o transakcjach. Użytkownik może sprawdzić kilka ostatnich transakcji w swoim e-portfelu, jednak są one dostępne tylko w urządzeniu (iPhone lub iWatch).
  3. Apple nie gromadzi informacji o operacjach w usłudze, nie śledzi i nie profiluje swoich użytkowników. Jednoznacznie określa się zasady dotyczące zachowania prywatności.

Bezpieczeństwo rozwiązania

Zagrożenia usługi i atak na nią ma dwa główne wymiary: atak na urządzenie i aplikację oraz atak na warstwę sieciową komunikacji. Analizując bezpieczeństwo Apple Pay, trzeba wziąć pod uwagę trzy główne ryzyka, które mogą prowadzić do nadużyć i w rzeczywistości do strat finansowych użytkownika.

  1. Utrata telefonu (zgubienie lub kradzież) i dostęp do portfela przez osoby nieupoważnione. Nie należy porównywać utraty telefonu do utraty karty kredytowej. Telefon sam w sobie nie zawiera numerów karty kredytowej, a użycie go do wykonania płatności jest uzależnione od uwierzytelnienia się właściciela. Ryzyko jest zależne od możliwości „siłowego” otwarcia e-portfela w telefonie. Jednakże przy obecnie stosowanych metodach uwierzytelniania, opartych o rzetelną biometrię (rozumie się przez to dobrą implementację odczytu rzeczywistych cech biometrycznych), metodę uznaje się za najbardziej bezpieczną z dostępnych. Oczywiście znane są przypadki pokonania zabezpieczeń TouchID, jednak są to działania na poziomie doświadczeń laboratoryjnych. Z tego powodu zalecane jest stosowanie dwuskładnikowego uwierzytelnienia – połączenie tradycyjnego PIN-u oraz biometrii (odcisk palca lub rozpoznawanie twarzy).
  2. Podszycie się przez przestępców (spoofowanie) w momencie rejestracji portfela. Cyberprzestępcy, którzy przyczaili się w sieci, do której podłączony jest telefon, mogą podszyć się pod system rejestracji e-portfela w trakcie procesu rejestracji. Może to pozwolić im na podszywanie się pod e-portfel. Nadużycie to możliwe jest do wykonania tylko w momencie rejestracji karty. Ryzyko to eliminuje się bądź znacząco minimalizuje poprzez korzystanie z zaufanych sieci (unikanie otwartych lub nieznanych sieci Wi-Fi, używanie połączeń VPN).
  3. Infekcja telefonu przez złośliwe oprogramowanie. Jeżeli na telefonie został zainstalowany złośliwy kod, to w zasadzie można uznać, że wszystkie informacje i operacje, jakie wykonujemy na telefonie mogą zostać przejęte przez cyberprzestępców. W zależności od rodzaju złośliwego oprogramowania może ono wykradać dane lub rejestrować każdy wprowadzony znak. Taki program może zarejestrować i wykraść dane karty kredytowej (podczas procesu rejestracji karty), jak również ominąć metody uwierzytelniania i dać przestępcy dostęp (nawet zdalny) do portfela bez uwierzytelnienia. Niemniej wykorzystanie e-portfela jest możliwe tylko z wykorzystaniem połączenia NFC w komunikacji z terminalem płatniczym, co znacząco ogranicza możliwości ataku złośliwego oprogramowania na samą metodę płatności. Dodatkowo trzeba przyznać, iż infekcja telefonu tego producenta przez złośliwe oprogramowanie, choć nie jest wykluczona, jest mało prawdopodobna (i to nie tylko dlatego, że na iOS nawet wirusy są płatne).

Opisane powyżej ryzyka uznaje się za bardzo niskie, a samą usługę za jedną z bardziej bezpiecznych. Jednocześnie podkreśla się znane już metody świadomego dbania o swoje bezpieczeństwo: wieloskładnikowe uwierzytelnianie, brak zaufania do nieznanych sieci i co za tym idzie, nieoperowanie na wrażliwych danych (dane prywatne, hasła, numery kart) w miejscach publicznych i niezaufanych.

Płatności telefonem nie są u nas nowinką technologiczną. Na rynku zadomowiły się już takie rozwiązania jak Blik, PeoPay, „karta kredytowa w telefonie” (telefon służy jako emulator właściwej karty – NFC/HCE) oraz Google Pay. Apple Pay dołącza do tej grupy rozwiązań, wypełniając lukę, która dotykała użytkowników technologii Apple.

Warto przypomnieć, że żadna ze znanych obecnie metod płatności nie jest w pełni bezpieczna i w 100% odporna na nadużycia i kradzieże. Zarówno portfele tradycyjne, jak i te ukryte w telefonach mogą zostać skradzione. Jednak e-portfele mają wbudowane wiele technologicznych zabezpieczeń, utrudniających kradzież zawartości, a współzawodnictwo pomiędzy dostawcami takich usług powoduje, iż stale poprawia się użyteczność rozwiązań, a przede wszystkim skuteczność zabezpieczeń.

Aktualizacja:

  1. Obecnie karty kredytowe dodaje się do aplikacji Apple Wallet. Początkowo karty był przechowywane w aplikacji Apple Passbook i wdrażając Apple Pay, wykorzystano to rozwiązanie. Jednak w celu lepszej implementacji funkcjonalności Apple Pay zastąpiono Apple Passbook przez Apple Wallet (wraz z iOS9).
  2. Apple Pay jest obsługiwane przez Apple Watch począwszy od Apple Watch (1st generation).
    Pełna i oficjalna lista kompatybilności usługi Apple Pay ze sprzętem: https://support.apple.com/pl-pl/HT208531

Dziękuję uważnym czytelnikom za zwrócenie uwagi na nieścisłości.

Powrót

Komentarze

  • avatar
    2018.05.10 08:07 Qwerty

    Mieliście okazję przeanalizować jak działa to rozwiązanie w praktyce czy polecacie coś jedynie na podstawie dokumentacji?

    Czy dobrze rozumiem, wystarczy przygotować dobra dokumentację by mój produkt został uznany za bezpieczny?

    Odpowiedz
    • avatar
      2018.05.10 12:27 Kropek

      Rzesze ludzi uznają latanie za bezpieczne, a mało kto analizował budowę każdego samolotu i weryfikował to z prawami fizyki. Niektórzy wierzą … ale zasadniczo weryfikuje się standardy, procedury i polega się na specjalistach, którzy w swojej dziedzinie potwierdzili iż produkt jest zrobiony zgodnie z deklarowanymi normami (często nazywa się to audytem).

      W tym wypadku – tak – ja wierzę, że Apple Pay działa tak jak producent opisuje w specyfikacji technicznej. Specyfikację tę zweryfikowali z rzeczywistym produktem audytorzy podczas wdrożenia rozwiązania oraz partnerzy (operatorzy kartowi, banki).

      Odpowiedz
  • avatar
    2018.05.10 08:15 Artur

    Takie pytanie… jeśli Apple zna DAN,oraz klucz prywatny służący do generowania tokenow to co stoi na przeszkodzie przestępcy który ukradnie te dane od Apple i „zaladuje” na stosowny emulator? Nie musi znać naszego numeru karty kredytowej aby wykonywać transakcje. Czy jest coś jeszcze co pominąłem?
    Co do monitorowania, co z lotami transakcji NFC? Ich nie analizuje Apple? Realną transparentność w zakresie usługodawcy powinna umożliwiać klientowi przeglądanie wszystkich danych przyjętych do konta, włączając w to dane pozyskane od innych dostawców i działania algorytmów własnych. Bez takiego podejścia to jest tylko fragment obrazka. Fałszywa podstawa do zaufania.

    Odpowiedz
    • avatar
      2018.05.10 08:47 Filon

      Apple nie zna tych danych, są zapisane w dedykowanym chipie w telefonie. Podobnie jak odcisk palca czy skan ryja.

      Odpowiedz
    • avatar
      2018.05.10 09:07 ke?

      @artur podejrzewam, ze te dane sa przchowywane w HSMach. Rownie dobrze moznaby spytac co stoi na przeszkodzie przestepcy ktory ukradnie numery kart kredytowych z banku lub operatora platnosci. Realna transparentnosc jest nie do osiagniecia (chociazby przez te algorytmy wlasne) a i tak opieralaby sie na zaufaniu ze Apple udostepnil wszystko.
      @qwerty do jakiego poziomu chcialbys zejsc zeby uznac produkt za bezpieczny? pentesty secure elementu czy infrastruktury apple?

      Odpowiedz
  • avatar
    2018.05.10 10:15 KB

    1. „Chcąc korzystać z aplikacji należy zarejestrować kartę kredytową (ew. płatniczą, debetową).”

    Karta płatnicza = kredytowa, debetowa itp.

    2. „Rzeczywisty numer karty nie jest przechowywany ani transmitowany.”

    Apple Pay korzysta z platform tokenizacyjnych organizacji kartowych (Visa, MasterCard, American Express itp) więc przy rejestracji karty oryginalny PAN z telefonu musi być wysłany w jakiś sposób.

    To co mnie do Google Pay zraziło – dodawanie karty, robimy jej zdjęcie, podajemy CVV. Tak samo jest w Apple Pay – taaa… skoro bank te informacje i tak już ma, czemu to bank nie wyśle do telefonu tokenu, gdy zechcemy sobie uruchomić *Pay’a ?

    Odpowiedz
    • avatar
      2018.05.10 12:03 Kropek

      To kwestia semantyki :-). Jednak w definicjach usług bankowych – to są 3 różne rodzaje kart i rodzaje usług. Natomiast dla przeciętnego użytkownika, różnica jest tylko w tym jaki ma limit na koncie i czy musi spłacać.

      Odpowiedz
      • avatar
        2018.05.10 12:29 KB

        Wróćmy do punktu 2 – jak jest wiązany token z kartą ?

        Mapowanie tokenu na PAN robione jest w systemach organizacji kartowych (MDES, VDEP/VTS itp), ale co się dzieje przy rejestracji ? Otóż PAN jest słany do Apple – a w odpowiedzi odsyłany jest token. To nie Secure Enclave generuje token.

        Odpowiedz
    • avatar
      2018.05.10 14:43 winmaciek

      Nie musisz robić zdjęcia karcie – możesz dodać bezpośrednio z aplikacji banku.

      Odpowiedz
      • avatar
        2018.05.10 16:58 KB

        mBank, karta Visa, telefon z Androidem 8.0 – co z tego, że z aplikacji bankowej wybrałem kartę, kiedy i tak odpala mi się Google Pay i wymusza zrobienie zdjęcia/wklepanie danych.
        Czy u kogoś pod Androidem działa to inaczej (inne karty, inny bank) ?

        iPhone – po zmianie regionu na UK mogę dodać kartę, oczywiście przez zdjęcie/wklepanie. Z aplikacją bankową spróbuję jak ogłoszą, że można.

        Odpowiedz
  • avatar
    2018.05.10 10:41 winmaciek

    Aplikacja, gdzie dodajemy kartę nazywa się już od paru lat Wallet, a nie Passbook. Poza tym kartę możemy dodać z poziomu aplikacji bankowej (najszybszy i najbezpieczniejszy sposób chyba).
    Apple Pay jest także obsługiwane na wszystkich Apple Watch, a nie series 1 w górę. Szkoda, że artykuł nie analizuje także poziomu bezpieczeństwa z uwzględnieniem zegarka (wygodne, ale chyba jednak słabiej zabezpieczone niż na telefonie).
    Artykuł również spłyca Apple Pay, bo można go używać

    Odpowiedz
    • avatar
      2018.05.12 22:59 Bartek

      Generalnie ten artykuł wygląda na jeden z kategorii „kazali coś napisać, ale mi się nie chce”.

      Odpowiedz
    • avatar
      2018.05.13 11:08 Maciej

      Jak można już uzywać apple pay?

      Odpowiedz
    • avatar
      2018.05.13 13:08 Kropek

      Zaktualizowałem.

      Odpowiedz
    • avatar
      2018.06.26 17:19 xStagGx

      Dlaczego uważasz zegarek za mniej bezpieczne rozwiązanie? Owszem, watch nie wymaga podania PINu w momencie dokonywania transakcji, ale nie jest to konieczne z uwagi na detekcję nadgarstka. (poza tym, podawanie pinu każdorazowo przy transakcji zwiększało by ryzyko, że ktoś go podejrzy). 4 cyfrowy PIN to owszem, słabe zabezpieczenie, ale w ustawieniach zegarka jest możliwość zmiany na 6 cyfrowy, dokładnie tak jak w przypadku iPhone’a.
      Jeśli ktoś zedrze ci zegarek z ręki – ten się zablokuje i bez PINu złodziej płatności nie dokona.
      Oczywiście, można rozważać wyjątkowo skrajne przypadki jak autoryzacja gdy jesteśmy mocno wstawieni, ale wtedy czy ktoś kliknie 2 razy na zegarek czy przyłoży paluch do Touch ID wydaje się bez różnicy.
      Poza tym, DAN na każdym urządzeniu można błyskawicznie zablokować przez find my iPhone, który konkretny DAN (a nie całą kartę) zastrzega.

      Odpowiedz
  • avatar
    2018.05.10 11:17 KRIS

    Nie zrozumiałem zasady działania.
    Kto co generuje i komu wysyła?
    Wprowadzam dane karty: kto generuje DAN, jak trafia on do banku i do mojego telefonu? Bo jak rozumiem te 2 strony musza go znać.
    Płacę: Tu jak rozumiem DAN z telefonu wysyłam przez terminal POS do banku/operatora płatności – czyli taka sama sytuacja jak gdybym płacił kartą.

    Odpowiedz
    • avatar
      2018.05.10 12:02 Kropek

      DAN jest generowany i pilnowany w telefonie. Jest potem wysłany do Apple, Banku/operatora płatności.

      Płacisz kart dane karty lataj po aplikacjach, serwerach i sieci. Płacisz Apple Pay po sieci lata unikalny token, który wykradziony nie niesie zagrożeń takich jak kradzież danych CC.

      Odpowiedz
      • avatar
        2018.05.10 15:04 KB

        Token („DAN”) nie powstaje w telefonie – Apple dostaje go od Token Service Providera (TSP) w odpowiedzi na żądanie, w którym przysyłany jest PAN karty. Tak jest przy rejestracji.

        Apple wcale się nie kryje z tym, że korzysta z systemów TSP oferowanych przez organizacje płatnicze (Visa, MC, Amex itp.).

        Odpowiedz
        • avatar
          2018.05.11 02:13 Kropek

          Prawda, DAN nie jest tworzony w urządzeniu, jest w nim tylko bezpiecznie przechowywany i w używany przy transakcjach.

          Dlatego moment rejestracji jest najbardziej krytycznym z punktu widzenia ochrony danych karty, w całym procesie rejastracji.

          Odpowiedz
  • avatar
    2018.05.10 16:45 Zdzisław

    i tak większość użytkowników ajfonow poda hasło do banku, każdemu kto zadzwoni i poda się za pracownika banku albo appla.
    a hasła do banku zapiszą w notesie w biurku albo w szufladzie pod telewizorem.
    do tego do resetu hasła użyją konta mailowego w pracy albo na wp.pl lel i będą się logować przez proxy firmowe do banków.
    przeciętnemu sebastianowi z ajfonem, konto w banku może wyczyść randomowy janusz włamywacz albo gimnazjalista na praktyce w it w korpo gdzie ciężko pracuje sebastian.

    Odpowiedz
    • avatar
      2018.05.11 20:18 fgfgfgd

      Pięknie bajesz.

      Odpowiedz
    • avatar
      2018.05.23 12:53 przemek

      o kurde, długo nad tym myślałeś?

      Odpowiedz
  • avatar
    2018.05.14 07:31 ff

    ’Zarówno portfele tradycyjne jak i te ukryte w telefonach mogą zostać skradzione.’
    Nie noszę portfela.
    Garść drobniaków luzem w kieszeni wystarczy na dzień.

    Odpowiedz
  • avatar
    2018.05.14 07:32 ff

    ’Apple Pay działa na iPhone 6 lub iPhone 6 Plus i kolejnych modelach iPhone, iPad Pro, iPad Air 2, lub iPad mini 3 i późniejszych oraz Apple Watch.’
    Na stronie https://support.apple.com/pl-pl/HT208531 jest jeszcze SE.

    Odpowiedz
    • avatar
      2018.06.12 10:33 Tytus

      SE wyszedł po 6s więc wszystko się zgadza. Jest jednym z wielu modeli po 6.

      Odpowiedz
  • avatar
    2018.05.14 22:15 Pan

    Czy na IPhone x tez działa ?

    Odpowiedz

Zostaw odpowiedź

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Portfel w jabłku – analiza bezpieczeństwa Apple Pay w polskim systemie płatności

Komentarze