Program uwierzytelniania chipa - Chip Authentication Program

Urządzenie Gemalto EZIO CAP ze stylizacją Barclays PINsentry

Program uwierzytelniania chipów (CAP) to inicjatywa MasterCard i specyfikacja techniczna dotycząca korzystania z bankowych kart elektronicznych EMV do uwierzytelniania użytkowników i transakcji w bankowości internetowej i telefonicznej. Został również przyjęty przez Visa jako Dynamic Passcode Authentication (DPA). Specyfikacja CAP definiuje urządzenie podręczne ( czytnik CAP ) z gniazdem karty inteligentnej, klawiaturą numeryczną i wyświetlaczem zdolnym do wyświetlania co najmniej 12 znaków (np. Wyświetlacz typu starburst ). Klienci bankowi, którym bank wydał czytnik CAP, mogą włożyć swoją kartę z chipem i kodem PIN ( EMV ) do czytnika CAP, aby uczestniczyć w jednym z kilku obsługiwanych protokołów uwierzytelniania . CAP to forma uwierzytelniania dwuskładnikowego, ponieważ aby transakcja zakończyła się sukcesem, musi być obecna zarówno karta inteligentna, jak i ważny kod PIN. Banki mają nadzieję, że system zmniejszy ryzyko niczego niepodejrzewających klientów, wprowadzających swoje dane na fałszywe strony internetowe po przeczytaniu tzw. Wiadomości phishingowych .

Zasada działania

Specyfikacja CAP obsługuje kilka metod uwierzytelniania. Użytkownik najpierw wkłada swoją kartę inteligentną do czytnika CAP i włącza ją, wprowadzając kod PIN. Następnie należy nacisnąć przycisk, aby wybrać typ transakcji. Większość czytelników ma dwa lub trzy typy transakcji dostępne dla użytkownika pod różnymi nazwami. Niektóre znane implementacje to:

Kod / identyfikacja
Czytnik CAP współdziała z kartą inteligentną bez konieczności wprowadzania dalszych danych, tworząc dziesiętne jednorazowe hasło , które można wykorzystać na przykład do zalogowania się na bankowej stronie internetowej.
Odpowiedź
Ten tryb implementuje uwierzytelnianie typu wyzwanie – odpowiedź , w którym strona internetowa banku prosi klienta o wprowadzenie numeru „wezwania” do czytnika CAP, a następnie skopiowanie numeru „odpowiedzi” wyświetlanego przez czytnik CAP na stronę internetową.
Znak
Ten tryb jest rozszerzeniem poprzedniego, w którym nie tylko losowa wartość „wyzwanie”, ale także kluczowe szczegóły transakcji, takie jak wartość przelewu, waluta i numer rachunku odbiorcy muszą być wpisane do czytnika CAP.

Powyższe typy transakcji są realizowane w jednym z dwóch trybów. Jeden z tych trybów ma dwie formy, w których może działać, tworząc trzy różne tryby, chociaż nie są tak nazwane w specyfikacji.

Tryb 1
Jest to tryb normalnych transakcji pieniężnych, takich jak zakupy online u sprzedawcy. Wartość transakcji i waluta są uwzględniane w obliczeniach kryptogramu. Jeśli karta tego nie wymaga lub terminal jej nie obsługuje, wówczas zarówno kwota, jak i waluta są ustawione na zero.
Tryb2
Ten tryb może być przydatny do uwierzytelniania użytkownika, w którym nie ma miejsca żadna transakcja, na przykład logowania do systemu bankowości internetowej. Żadna wartość transakcji, waluta ani inne dane nie są uwzględniane, co sprawia, że ​​te odpowiedzi są bardzo łatwe do wstępnego obliczenia lub ponownego wykorzystania.
Z podpisem danych transakcyjnych (TDS)
Ten tryb może być używany do bardziej skomplikowanych transakcji, takich jak transfer środków między kontami. Wiele pól danych dotyczących transakcji jest łączonych, a następnie haszowanych za pomocą kryptogramu Mode2 jako klucza dla algorytmu mieszania. Wynikowy skrót jest używany zamiast kryptogramu obliczonego w operacji innej niż TDS Mode2.

Mode1 brzmi bardzo podobnie do konkretnego zastosowania Mode2 z TDS, ale istnieje krytyczna różnica. W trybie Mode1 dane transakcji (kwota i typ waluty) są używane w obliczeniach kryptogramu oprócz wszystkich wartości używanych w Mode2 bez TDS, podczas gdy Mode2 obejmuje dane transakcji w kolejnym kroku zamiast uwzględniać je w kroku obliczania kryptogramu . Gdyby nie ta różnica, wszystkie operacje można by uogólnić jako pojedynczą operację z różnymi opcjonalnymi danymi transakcji.

Szczegóły protokołu

Czytnik kodów Nordea

We wszystkich trzech trybach czytnik CAP prosi kartę EMV o wysłanie pakietu danych potwierdzającego anulowanie fikcyjnej transakcji płatności EMV, która obejmuje dane wprowadzone przez użytkownika. Ten komunikat potwierdzający zawiera kod uwierzytelniający wiadomość (zwykle CBC-MAC / Triple DES ), który jest generowany za pomocą tajnego klucza specyficznego dla karty, bezpiecznie przechowywanego na karcie inteligentnej. Takie wiadomości o anulowaniu nie stanowią zagrożenia bezpieczeństwa dla zwykłej aplikacji płatniczej EMV, ale mogą być weryfikowane kryptograficznie i są generowane przez kartę EMV dopiero po wprowadzeniu prawidłowego kodu PIN. Zapewnił projektantom CAP sposób na stworzenie silnego dowodu kryptograficznego, że karta EMV aktywowana kodem PIN jest obecna i widziała pewne dane wejściowe, bez konieczności dodawania jakichkolwiek nowych funkcji oprogramowania do już używanych kart EMV.

Karta elektroniczna EMV zawiera (zwykle 16-bitowy) licznik transakcji, który jest zwiększany przy każdej płatności lub transakcji CAP. Odpowiedź wyświetlana przez czytnik CAP składa się zasadniczo z różnych części odpowiedzi karty (licznik transakcji aplikacji, MAC itp.), Która jest następnie redukowana do określonych bitów określonych przez rekord wskaźnika uwierzytelnienia wystawcy (IAI) przechowywany na karcie ( jest to ustawiane dla każdego wydawcy, chociaż gdyby życzył sobie tego wystawca, może być ustawione losowo dla każdej karty, zapewniając bazę danych IAI każdej karty), w końcu po odrzuceniu niechcianych bitów (zasadniczo bezwzględna pozycja bitów jest nieistotne, bit w IAI, który wynosi 0, oznacza, że ​​odpowiedni bit w odpowiedzi karty zostanie odrzucony, a nie tylko zostanie ustawiony na 0). Na koniec wartość jest konwertowana z binarnej na liczbę dziesiętną i wyświetlana użytkownikowi. Poniżej przedstawiono skrócony przykład:

  1. Urządzenie CAP wybiera aplikację EMV, odczytuje informacje IAI z karty, a użytkownik wybiera akcję do wykonania (w tym przykładzie IAI to 111011011000 2 ).
  2. Po pomyślnym wprowadzeniu kodu PIN urządzenie CAP wysyła wezwanie 011100111010 2 jako transakcję szyfrowania żądania autoryzacji (ARQC).
  3. Karta inteligentna daje odpowiedź 110101110110 2, a urządzenie CAP anuluje fałszywą transakcję.
  4. Urządzenie CAP używa maski IAI: 111011011000 2 do zrzucania bitów; te bity, które odpowiadają 0 w masce, są odrzucane.
  5. Stąd ostateczna odpowiedź to 1100110 2 lub 102 dziesiętnie.

Rzeczywisty proces jest oczywiście nieco bardziej złożony, ponieważ karta może zwrócić ARQC w jednym z dwóch formatów (albo prosty format szablonu komunikatu odpowiedzi typu 1 (id. 80 16 ) lub bardziej złożony format szablonu komunikatu odpowiedzi 2 (id. 77 16 ), który dzieli dane ARQC na oddzielne wartości TLV, które należy ponownie złożyć sekwencyjnie, aby dopasować je do formatu typu 1.

W trybie identyfikacji odpowiedź zależy tylko od wymaganych bitów z IAI, ponieważ kwota i numer referencyjny są ustawione na zero; oznacza to również, że wybranie odpowiedzi i wprowadzenie liczby 00000000 w rzeczywistości wygeneruje prawidłową odpowiedź dotyczącą identyfikacji. Co więcej, jeśli żądanie odpowiedzi jest wysyłane przez bank, użycie trybu podpisu o tym samym numerze i kwocie 0,00 ponownie wygeneruje ważny wynik, który stwarza możliwość oszukania klienta do wykonania testu „odpowiedź na wezwanie na kwotę 0,00 which, która w rzeczywistości zostanie wykorzystana przez oszusta do zweryfikowania polecenia odpowiedzi w celu dodania siebie jako odbiorcy płatności na koncie ofiary; ataki te były możliwe do przeprowadzenia przeciwko bankom, które stosowały urządzenia z silnym uwierzytelnianiem, które nie przerywały działań, dopóki nie wprowadzono kwoty co najmniej 0,01. Prawdopodobieństwo tego rodzaju ataków zostało wyeliminowane w 2009 r., Kiedy wprowadzono nowe generacje urządzeń, wdrażając funkcję bezpiecznej separacji domen, która jest zgodna z notą aplikacyjną MasterCard z października 2010 r. Podobnie oczywiście; bank, który wdraża polecenie identyfikacji, umożliwia oszustom zażądanie od ofiary wykonania transakcji „testowej” z odpowiedzią, podając numer 00000000 jako odniesienie, a następnie będzie mógł pomyślnie zalogować się na konto ofiary.

Używany jest ten sam licznik ponownych prób kodu PIN na karcie, jak w przypadku innych transakcji EMV. Tak więc, podobnie jak w bankomacie lub terminalu płatniczym, trzykrotne wprowadzenie nieprawidłowego kodu PIN do czytnika CAP spowoduje zablokowanie karty.

Niezgodność

Oryginalna specyfikacja CAP została zaprojektowana tak, aby wykorzystywać normalne transakcje EMV, tak aby aplikacja CAP mogła zostać wdrożona bez aktualizacji oprogramowania układowego istniejących kart EMV, jeśli to konieczne. Preferowana implementacja wykorzystuje oddzielną aplikację dla transakcji CAP. Te dwie aplikacje mogą udostępniać pewne dane, takie jak PIN, podczas gdy inne dane nie są udostępniane w przypadkach, gdy mają zastosowanie tylko do jednej aplikacji (tj. Dane zarządzania ryzykiem terminala dla EMV) lub zalety posiadania oddzielnego (tj. Licznika transakcji, więc że transakcje EMV i CAP zwiększają oddzielne liczniki, które można dokładniej zweryfikować). Czytnik przenosi również dane specyficzne dla implementacji, z których niektóre mogą być nadpisane wartościami na karcie. Dlatego czytniki CAP generalnie nie są kompatybilne z kartami z różnych banków-wydawców.

Jednak czytniki kart wydawane przez większość, a być może wszystkie banki w Wielkiej Brytanii są zgodne z podzbiorem CAP zdefiniowanym przez APACS , co oznacza, że ​​w większości przypadków karty wydane przez bank w Wielkiej Brytanii mogą być używane w czytnikach kart wydanych przez inny bank.

Luki w zabezpieczeniach

Badacze z University of Cambridge Saar Drimer, Steven Murdoch i Ross Anderson przeprowadzili badania nad wdrożeniem CAP, wskazując szereg luk w protokole i brytyjskiej wersji czytników i kart. Stwierdzono liczne słabości. Badacze z Radboud University odkryli lukę w holenderskim ABN AMRO e.dentifier2, umożliwiającą atakującemu nakazanie czytnikowi podłączonemu przez USB do podpisywania złośliwych transakcji bez zgody użytkownika.

Użytkownicy

Szwecja

  • Nordea korzystała z CAP w listopadzie 2007 r. Rozwiązanie Nordea eCode jest używane przez Nordea zarówno w przypadku eBanking, eCommerce (3DS), jak i eID. Czytnik, który ma bardziej zaawansowaną funkcjonalność, która rozszerza CAP, sprawia, że ​​implementacje CAP Nordea są bezpieczniejsze przed trojanami i atakami typu man-in-the-middle . Korzystając z eID, użytkownik może złożyć swoje „zeznanie podatkowe” online lub dowolne zaimplementowane funkcje e-administracji. Urządzenie jest również wyposażone w port USB, który umożliwia bankowi wykonanie Sign-What-You-See w celu zatwierdzania transakcji wrażliwych.

Zjednoczone Królestwo

Ogólnokrajowe urządzenie CAP z monetą 20 pensów w skali
Urządzenie Natwest CAP z monetą 10 pensów w skali
  • Administracja UK Płatności zdefiniowany podzbiór CAP do stosowania przez banki w Wielkiej Brytanii. Obecnie jest używany przez:
  • Czytniki CAP z Barclays, Lloyds Bank, Nationwide, NatWest, Co-operative Bank / Smile i RBS są kompatybilne.
  • Barclays zaczął wydawać czytniki CAP (zwane PINsentry ) w 2007 roku. Ich witryna bankowości internetowej wykorzystuje tryb identyfikacji do weryfikacji logowania i tryb podpisu do weryfikacji transakcji. Reagują tryb jest używany jako część nowej PingIt Telefony wniosek o płatność do uwierzytelniania danych konta. Urządzenie jest teraz używane również w oddziałach, zastępując tradycyjne urządzenia z chipem i pinami, aby jeszcze bardziej zapobiegać próbom oszustwa.
  • Karty bankowe wydawane przez HBOS są technicznie kompatybilne z systemem, chociaż HBOS nie wprowadził (jeszcze) czytników CAP do wykorzystania w swojej bankowości internetowej.

Wdrożenia oprogramowania

Istnieje implementacja oprogramowania napisana w języku Python obsługująca Tryb 1, Tryb 2 i Tryb 2 z TDS do użytku wyłącznie w celach edukacyjnych. Funkcja identyfikacji (bez wyzwania) odpowiada funkcji m1 z wyzwaniem „00000000”.

Pamiętaj, że używanie tego oprogramowania do rzeczywistych operacji finansowych może wiązać się z pewnym ryzykiem. Rzeczywiście, zaletą korzystania z samodzielnego czytnika jest izolacja karty bankowej od złośliwego oprogramowania, które może znajdować się na komputerze. Używanie go w niezabezpieczonym czytniku wiąże się z ryzykiem przechwycenia kodu PIN przez keylogger, a szkodliwe oprogramowanie punktu sprzedaży uzyska dostęp do danych karty, a nawet przechwyci transakcję w celu jej zmodyfikowania lub przeprowadzi własną transakcję.

Zobacz też

Bibliografia

  1. ^ Dynamiczne uwierzytelnianie za pomocą kodu dostępu Zarchiwizowane 19.11.2008 w Wayback Machine , VISA Europe
  2. ^ Leyden, John. „Barclays wdraża PINsentry w celu zwalczania oszustw” . www.theregister.com . Źródło 2021-04-30 .
  3. ^ Banques en ligne: à la découverte d'EMV-CAP Zarchiwizowane 2012-11-27 w Wayback Machine , UnixGarden
  4. ^ a b c d Drimer, Saar; Murdoch, Steven J .; Anderson, Ross (2009). Zoptymalizowany do awarii: czytniki kart dla bankowości internetowej (PDF) . Kryptografia finansowa i bezpieczeństwo danych. LNCS. 5628 . Skoczek. s. 184–200. doi : 10.1007 / 978-3-642-03549-4_11 . CS1 maint: zniechęcony parametr ( link )
  5. ^ Zaprojektowany do niepowodzenia: czytnik podłączony przez USB do bankowości internetowej
  6. ^ Nowe rozwiązanie bezpieczeństwa | nordea.se w języku szwedzkim.
  7. ^ „Barclays PINsentry” . Zarchiwizowane od oryginału w dniu 16 czerwca 2007 r. CS1 maint: zniechęcony parametr ( link )
  8. ^ Barclays uruchomi uwierzytelnianie dwuskładnikowe , The Register, 2006-08-09.
  9. ^ „Aplikacja” . sites.uclouvain.be . Źródło 2021-04-30 .