Discussion:
Zlamanie PIN, a SmartCard
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
pawbrok
2010-02-18 17:21:06 UTC
Permalink
Niedawno dowiedziałem się o spektakularnym doświadczeniu naukowców z
Cambridge, którzy za pomocą prostego sprzętu i oprogramowania pokonali
zabezpieczenie PINem i autoryzowali transakcje kartami bakowymi z chipem, do
których nie znali PINów.
W ten sam sposób zostały pokonane wszystkie testowane karty z największych
brytyjskich banków.
Trik polegał na tym, że oryginalne karty były wkładane do przejściówki
składającej się z typowego czytnika kart chipowych, laptopa z Linuksem oraz
podłączonej do niego imitacji karty, którą wsuwało się do oryginalnego
terminala kartowego. Przejściówka przekazywała całą wymianę iformacji
pomiędzy kartą, a terminalem, za jednym wyjątkiem. Podczas sprawdzania kodu
PIN, podawana była dowolna kombinacja 4 cyfr, a kiedy karta odpowiadała, że
PIN jest niezgodny, skrypt zainstalowany na laptopie odpowiadał systemowi
bankowemu, że jest OK. Transakcja przebiegała normalnie dalej, tak jakby
autoryzacja była prawidłową.
Jest to ewidentny dowód na to, że protokół EMV zastosowany w komunikacji
kart z chipem a bankiem (niezależnie od systemu - Visa, Mastercard) jest
wadliwy i posiada dyskwalifikujący go błąd. Tego błędu nie ma w przypadku
kart z paskiem magnetycznym, bo sprawdzenie PIN odbywa się na serwerze
banku.

I tu moje pytanie do osób znających się na tych protokołach i kwestiach
kryptograficznych używanych w podpisie elektronicznym.
Do podpisu elektronicznego a także autoryzacji operacji bankowych w
bakowości elektronicznej, używa się kart kryptograficznych z chipem
(smartcard), do których należy podać PIN. Czy protokół stosowany w takiej
autentykacji jest tak samo podatny na ominięcie PINu za pomocą ww. metody,
czy też jest bardziej wyrafinowany i nie pozwala na to?
Sergiusz Rozanski
2010-02-18 21:47:50 UTC
Permalink
Post by pawbrok
Jest to ewidentny dowód na to, że protokół EMV zastosowany w komunikacji
kart z chipem a bankiem (niezależnie od systemu - Visa, Mastercard) jest
wadliwy i posiada dyskwalifikujący go błąd. Tego błędu nie ma w przypadku
kart z paskiem magnetycznym, bo sprawdzenie PIN odbywa się na serwerze
banku.
Bo to jest po prostu chore, karta powinna liczyć podpis ze skrótu,
a nie "potwierdzać pin", ktoś to w ogóle beznadziejnie zaprojektował.
Post by pawbrok
I tu moje pytanie do osób znających się na tych protokołach i kwestiach
kryptograficznych używanych w podpisie elektronicznym.
Do podpisu elektronicznego a także autoryzacji operacji bankowych w
bakowości elektronicznej, używa się kart kryptograficznych z chipem
(smartcard), do których należy podać PIN. Czy protokół stosowany w takiej
autentykacji jest tak samo podatny na ominięcie PINu za pomocą ww. metody,
czy też jest bardziej wyrafinowany i nie pozwala na to?
Technicznie, to z podpisywanego dokumentu robiony jest skrót (np md5),
ten skrót ląduje w karcie razem z pinem i karta odpowiada podpisem
tego skrótu. Laptop po drodze nic nie da, ani karta nie zna podpisywanego
dokumentu, bez prawidłowego pinu karta nie zna klucza prywatnego itd.
Co w ww. spieprzyli, to zobaczymy ;)
--
"A cóż to za sens kupować samochód, żeby jeździć po asfalcie?
Tam, gdzie jest asfalt, nie ma nic ciekawego, a gdzie jest
coś ciekawego, tam nie ma asfaltu".
Strugaccy - Poniedziałek zaczyna się w sobotę.
Bartosz Ma³kowski
2010-02-19 08:09:57 UTC
Permalink
Post by Sergiusz Rozanski
Technicznie, to z podpisywanego dokumentu robiony jest skrót (np md5),
ten skrót ląduje w karcie razem z pinem i karta odpowiada podpisem
tego skrótu. Laptop po drodze nic nie da, ani karta nie zna podpisywanego
dokumentu, bez prawidłowego pinu karta nie zna klucza prywatnego itd.
Ale można zrobić MITM i podsunąć do karty "lewy" skrót do
podpisania :) Oczywiście w bankomacie to nie ma sensu.
Ale klient zleca przelew 100zł na konto 1234 a leci 10000zł na konto
8234 ;) Reklamacja? Jaka reklamacja? Podpisałeś pan!

--
Bartosz Małkowski
b***@nano.pl
2010-02-19 12:04:14 UTC
Permalink
Post by Bartosz Ma³kowski
Post by Sergiusz Rozanski
Technicznie, to z podpisywanego dokumentu robiony jest skrót (np md5),
ten skrót ląduje w karcie razem z pinem i karta odpowiada podpisem
tego skrótu. Laptop po drodze nic nie da, ani karta nie zna podpisywanego
dokumentu, bez prawidłowego pinu karta nie zna klucza prywatnego itd.
Ale można zrobić MITM i podsunąć do karty "lewy" skrót do
podpisania :) Oczywiście w bankomacie to nie ma sensu.
Ale klient zleca przelew 100zł na konto 1234 a leci 10000zł na konto
8234 ;) Reklamacja? Jaka reklamacja? Podpisałeś pan!
A nie sądzisz, że karta sprawdza podpis banku? I sprawdza to co
podpisuje, czy jest wystawione przez uprawnionego dostawcę?

wer
Bartosz Ma³kowski
2010-02-20 09:34:29 UTC
Permalink
Post by b***@nano.pl
Post by Bartosz Ma³kowski
Ale można zrobić MITM i podsunąć do karty "lewy" skrót do
podpisania :) Oczywiście w bankomacie to nie ma sensu.
Ale klient zleca przelew 100zł na konto 1234 a leci 10000zł na konto
8234 ;) Reklamacja? Jaka reklamacja? Podpisałeś pan!
A nie sądzisz, że karta sprawdza podpis banku? I sprawdza to co
podpisuje, czy jest wystawione przez uprawnionego dostawcę?
W sumie zależy od aplikacji na karcie.
Właśnie sobie przypomniałem, że ten atak, to już przeprowadzili
chłopcy z GDATA na zestawie sprzętowo-programowym do składania
"kwalifikowanych podpisów elektronicznych".

--
Bartosz Małkowski

Sergiusz Rozanski
2010-02-19 12:49:32 UTC
Permalink
Post by Bartosz Ma³kowski
Post by Sergiusz Rozanski
Technicznie, to z podpisywanego dokumentu robiony jest skrót (np md5),
ten skrót ląduje w karcie razem z pinem i karta odpowiada podpisem
tego skrótu. Laptop po drodze nic nie da, ani karta nie zna podpisywanego
dokumentu, bez prawidłowego pinu karta nie zna klucza prywatnego itd.
Ale można zrobić MITM i podsunąć do karty "lewy" skrót do
podpisania :)
Kluczowe jest tu "razem z pinem", musisz go jednak znać.
Musisz to zrobić w obecności osoby mającej kartę i znającej PIN, co może
być trudne (wpisałbyś PIN widząc jakieś laptopy między kartą a terminalem?)
równie dobrze mógłbyś poprosić kogoś o kartę i pin z podobnym skutkiem :)

To z artykułu wymaga tylko karty, pinu znać jak widać nie musisz, tu jest
różnica i dziura w kartach płatniczych.
--
"A cóż to za sens kupować samochód, żeby jeździć po asfalcie?
Tam, gdzie jest asfalt, nie ma nic ciekawego, a gdzie jest
coś ciekawego, tam nie ma asfaltu".
Strugaccy - Poniedziałek zaczyna się w sobotę.
Marek Marczykowski
2010-02-18 21:56:34 UTC
Permalink
Post by pawbrok
Niedawno dowiedziałem się o spektakularnym doświadczeniu naukowców z
Cambridge, którzy za pomocą prostego sprzętu i oprogramowania pokonali
zabezpieczenie PINem i autoryzowali transakcje kartami bakowymi z chipem, do
których nie znali PINów.
W ten sam sposób zostały pokonane wszystkie testowane karty z największych
brytyjskich banków.
Trik polegał na tym, że oryginalne karty były wkładane do przejściówki
składającej się z typowego czytnika kart chipowych, laptopa z Linuksem oraz
podłączonej do niego imitacji karty, którą wsuwało się do oryginalnego
terminala kartowego. Przejściówka przekazywała całą wymianę iformacji
pomiędzy kartą, a terminalem, za jednym wyjątkiem. Podczas sprawdzania kodu
PIN, podawana była dowolna kombinacja 4 cyfr, a kiedy karta odpowiadała, że
PIN jest niezgodny, skrypt zainstalowany na laptopie odpowiadał systemowi
bankowemu, że jest OK. Transakcja przebiegała normalnie dalej, tak jakby
autoryzacja była prawidłową.
Jest to ewidentny dowód na to, że protokół EMV zastosowany w komunikacji
kart z chipem a bankiem (niezależnie od systemu - Visa, Mastercard) jest
wadliwy i posiada dyskwalifikujący go błąd. Tego błędu nie ma w przypadku
kart z paskiem magnetycznym, bo sprawdzenie PIN odbywa się na serwerze
banku.
I tu moje pytanie do osób znających się na tych protokołach i kwestiach
kryptograficznych używanych w podpisie elektronicznym.
Do podpisu elektronicznego a także autoryzacji operacji bankowych w
bakowości elektronicznej, używa się kart kryptograficznych z chipem
(smartcard), do których należy podać PIN. Czy protokół stosowany w takiej
autentykacji jest tak samo podatny na ominięcie PINu za pomocą ww. metody,
czy też jest bardziej wyrafinowany i nie pozwala na to?
Tu na szczęście jest lepiej. OS karty nie da dostępu do danych, funkcji
itp bez zalogowania do karty. Trochę się tym bawiłem wiem, że działa.
--
Pozdrawiam,
Marek Marczykowski | gg:2873965 | RLU #390519
marmarek at staszic waw pl | xmpp:marmarek at staszic waw pl
http://akademia.linuksa.pl - Szkolenia Linux, PHP, Java, Office
Kontynuuj czytanie narkive:
Loading...