Pytasz, dlaczego numer karty i kod bezpieczeństwa są wydrukowane na karcie. W obu przypadkach, przejrzyjmy trochę historii:
Numer karty
Numer karty (zwany w branży PAN) to tylko identyfikator, nie ma powodu, by był tajny. Jest on potrzebny do każdej transakcji, aby można było… obciążyć odpowiednie konto, niezależnie od tego, czy:
- w fizycznym punkcie sprzedaży (POS), przy użyciu starej metody “imprinter” (nie wiem, czy to jeszcze gdziekolwiek jest w użyciu). Z tego powodu numer jest faktycznie wytłoczony, a nie tylko wydrukowany (wraz z innymi danymi wymaganymi do transakcji: datą ważności, nazwiskiem posiadacza karty).
w punkcie sprzedaży, za pomocą terminala POS (“automatu do kart kredytowych”), który albo odczytuje pasek magnetyczny, albo chip karty, które w obu przypadkach podają PAN i resztę danych bez żadnego uwierzytelniania czy szyfrowania.
telefonicznie lub papierowo (co w branży nazywane jest “MOTO”: zamówienie pocztowe / telefoniczne), kiedy to wystarczy odczytać dane przez telefon lub wpisać je na formularzu zamówienia.
w internecie, gdzie trzeba odczytać numer z karty i wpisać go do formularza. Jak możesz cokolwiek zamówić, jeśli nie potrafisz odczytać numeru karty?
PAN nigdy nie był uważany za tajemnicę. Jest to po prostu numer konta, dokładnie tak jak numer konta widnieje na papierowych czekach, aby wiedzieć, z jakiego konta należy pobrać pieniądze.
Niektórzy ludzie uważają, że klucz (ostatnia cyfra) jest (słabym) zabezpieczeniem, podczas gdy w rzeczywistości służy on tylko do ochrony przed błędami przy wprowadzaniu danych (zmiana cyfr, zamiana cyfr…).
Obecnie ludzie zaczynają myśleć, że PAN powinien być tajny, co doprowadziło do wprowadzenia “tokenizacji”: zamiast wysyłania rzeczywistego numeru karty, wysyłany jest inny numer karty, który jest ograniczony do określonego kanału (i ewentualnie urządzenia), lub nawet do pojedynczej transakcji.
Tak jest np. w przypadku Apple Pay: kiedy rejestrujesz swoją kartę z jej prawdziwym PAN, bank odsyła token (“fałszywy” PAN), który jest używany zamiast niego i może być użyty tylko do płatności dokonywanych za pomocą Apple Pay na danym urządzeniu. Jeśli kiedykolwiek ktoś przechwyci ten PAN, nie będzie mógł nic z nim zrobić: nie zostanie zaakceptowany, aby dodać kartę do Apple Pay, nie zostanie zaakceptowany w sklepie, online, przez telefon, ani nigdzie indziej.
Czy to naprawdę przydatne? W idealnym świecie, gdzie wszystkie transakcje są uwierzytelniane w inny sposób, to naprawdę nie powinno mieć znaczenia, PAN sam w sobie powinien być bezużyteczny. W praktyce, ponieważ istnieją kanały, które pozwalają na użycie całkiem niezbyt bezpiecznych metod uwierzytelniania, jest to dodatkowa linia obrony.
Zauważ, że potrzeba tokenizacji jest prawdopodobnie nieco ważniejsza po wprowadzeniu bezdotykowości: możesz odczytać PAN dowolnej karty zbliżeniowej, nawet jej nie dotykając, to tylko kwestia zbliżenia się wystarczająco blisko.
Kod bezpieczeństwa
Kod bezpieczeństwa wydrukowany na odwrocie karty (lub na awersie, w przypadku kart American Express) nie był pierwotnie obecny. Został on dodany w celu uniknięcia następujących scenariuszy oszustwa:
paragon z karty kredytowej z pełnym numerem karty (oraz nazwą i terminem ważności) został wyrzucony i odebrany przez kogoś innego (było to szczególnie prawdziwe, gdy w użyciu były imprintery, ale było to również prawdziwe zanim sieci kart ostatecznie zdecydowały, że zabronione jest drukowanie pełnego PAN na paragonie klienta).
karta jest “machnięta” w celu zapisania zawartości paska magnetycznego, który zawiera PAN, datę ważności, nazwę posiadacza karty i inne…). Dzięki temu osoby, które miały fizyczny dostęp do kart (kelnerzy, kasjerzy…) mogły dość szybko i niezauważenie zapisywać duże ilości kart.
Aby temu przeciwdziałać, dodano nowy kod, który nie znajduje się na paragonie (ponieważ nie jest wytłoczony), nie ma go również na ścieżce magnetycznej.
Ten kod jest wymagany tylko w przypadku MOTO i zakupów internetowych, gdzie nie można sprawdzić, czy użytkownik rzeczywiście ma kartę (tzw. transakcja “card not present”), a chcemy być nieco bardziej pewni, że użytkownik ma kartę.
Jest to rzeczywiście dość łatwe do obejścia: wystarczy wykonać pełną kopię karty (obie strony) lub zanotować wszystkie dane. Ale w wielu z powyższych scenariuszy, to tylko trochę utrudniało nieuczciwemu użytkownikowi zrobienie tego niezauważenie.
(Wprowadzenie terminali ręcznych również bardzo pomaga, ponieważ użytkownik może mieć oczy - i ręce - na karcie przez cały czas, ale szczególnie w restauracjach w USA nie jest to jeszcze standardowa praktyka).
Kod zabezpieczający pomaga również w przypadku, gdy strona przechowuje dane karty kredytowej i ktoś zdoła uzyskać do nich dostęp: teoretycznie nikt nie może przechowywać kodu zabezpieczającego, więc haker uzyskałby tylko PAN i datę ważności, i nie byłby w stanie użyć jej ponownie, ale w praktyce o wiele za dużo osób nadal przechowuje kod zabezpieczający. Branża jest goni za nimi (jest to jeden z aspektów inicjatywy PCI DSS), ale przed nami jeszcze długa droga.
Prawdziwa ochrona pochodzi z nowych środków uwierzytelniania (3D Secure), które pozwalają na inny sposób weryfikacji, niż tylko te dane. W zależności od banku (lub nawet karty), mogą one obejmować:
- hasło
- hasło jednorazowe (OTP) wysyłane SMS-em lub w inny sposób
- uwierzytelnianie biometryczne (odcisk palca, rozpoznawanie twarzy, skan tęczówki oka…)
- faktyczne rozmawianie z chipem na karcie za pomocą czytnika kart podłączonego do komputera (nie jestem pewien, czy to faktycznie zostało gdziekolwiek wdrożone) …
Zauważ, że kod bezpieczeństwa jest używany tylko dla transakcji online/MOTO (transakcje “bez obecności karty”). Transakcje dokonywane kartą obecną będą albo używały:
- innego kodu zabezpieczającego, który znajduje się na pasku magnetycznym (choć jest on łatwy do skopiowania)
- komunikacji z chipem (na kartach, które go posiadają), dzięki czemu karta uwierzytelnia się sama.