Breaking wizy PIN

02 lipca 2008 w i Eftpos Bankowość

Poniżej znajduje się artykuł znalazłem niedawno. Ten jeden z najbardziej wyczerpujące opisy Wartość hackingu.

Myślałem, że będzie ona tutaj replikację dla mojej lokalnej odniesienia.

Jako komentarz zostały dokonane w odniesieniu do gramatyki użyte tekście oryginalnym, mam poprawione niektóre z oczywistych błędów przy jednoczesnym zachowaniu kontekście pierwotnego materiału.

http://69.46.26.132/ ~ biggold1/fastget2you/tutorial.php

--- oryginalny ----

Przedmowa
Czy kiedykolwiek się zastanawiać, co by się stało, jeśli stracisz kredytową lub debetową, i ktoś go znajdzie. Czy osoba ta miałaby być w stanie wycofać gotówkę z bankomatów na zgadywaniu, w jakiś sposób, PIN? Ponadto, jeśli znajdzie kogoś, kto był na można by spróbować odgadnąć i podejmuje niektóre szansę zdobyć łatwe Oczywiście odpowiedź na obydwa pytania powinna być "nie". Praca ta nie odnosi się do drugiego pytania, to jest kwestia Niniejszym próbuję odpowiedzieć na pierwsze pytanie.

Wszelkie informacje wykorzystywane do tych prac jest publiczna i można swobodnie znaleźć w Reszta jest sprawą zakresu matematyki i programowania, w ten sposób możemy dowiedzieć się i mieć fun. I nie ujawniają sekretów. Ponadto, w celu (i zawarcia) niniejszej pracy jest wykazanie, że algorytmy są jeszcze wystarczająco silne, aby zapewnić wystarczające Wszyscy wiemy, nie jest

Ta praca analiz jednym z najczęstszych VISA używany przez wiele debetowe) i próbuje dowiedzieć się, jak odporny jest guessing ataków. Przez "zgadywaniu" nie oznacza wybór losowy próbuje go w ATM. Jest to znany powszechnie, że mamy trzy kolejne próby, aby wprowadzić prawo jeśli nie prowadzi do bankomatu Jak to czterocyfrowy długo można łatwo wywnioskować, że szansa na losowej jest odgadnięcie 3 / 10000 = 0,0003, wydaje się na tyle niska, by być bezpieczne, to znaczy, musisz stracić karty ponad trzy tysiące razy ( lub utraty więcej niż trzy tysiące kart w tym samym czasie:), dopóki istnieje rozsądna szansa utraty

Co naprawdę rozumie przez "zgadywaniu" było zerwanie tak, że biorąc pod uwagę kartę można od razu poznać związane Dlatego ten dokument, że możliwość badania, analizując i proponuje metodę Wreszcie dajemy narzędzie, które implementuje i przedstawić wyniki o szacunkowej szansę uszkodzenia systemu. Należy pamiętać, że tak długo, jak inne algorytmów (inne formatów, takich jak IBM walidacji podpisów takich jak lub CVC) są podobne do to samo można zrobić analizę przynosi prawie takie same wyniki i wnioski.



Jednym z najczęstszych algorytmów jest Wartość Klient otrzymuje i Zakodowany w to czterocyfrowy numer, zwany Ta liczba jest kryptograficzny PIN i dane związane z Gdy użytkownik wprowadzi swój w bankomacie czyta szyfruje i wysyła te informacje do centralnego komputera. Nie próbna jest obliczany przy użyciu klient wpisuje i kryptograficzne informacje o Rozprawie jest w porównaniu z przechowywane w jeżeli pasują do centralnego komputera wraca do bankomatu zezwolenia na Zobacz w sposób bardziej szczegółowy.

Opis z można znaleźć w dwóch dokumentów związanych w poprzedniej strony. W podsumowaniu ona polega na 8 bajtów (64 bitów) ciąg zwany Transformed Parametr (TSP), z (DEA) w Code Book trybie (EBC) przy użyciu tajnego klucza 64-bitowych. W pochodzi z produkcji proces, który jest 8 bajtowy ciąg znaków. Czterech cyfr z (od lewej do prawej) odnoszą się do pierwszych czterech cyfr (od lewej do prawej) na wyjście z gdy uznane za 16 znaków szesnastkowych (16 bit x 4 = 64-bitowa) string. Jeśli nie ma wśród czterech cyfr, 16 znaków szesnastkowych następnie podjęta zostanie zakończona (od lewej do prawej) nie dziesiętny znaków i decimalizing je za pomocą konwersji A> 0, B-> 1, C-> 2, D -> 3, E-> 4, K-5. Oto przykład:

Wyjście z 0FAB9CDEFFE7DCBA

0975

Strategia unikania decimalization przez pomijanie znaków aż czterech cyfr znajdują się (co zdarza się niemal wszystkie razy, ile będziemy patrz poniżej) jest bardzo sprytny, gdyż unika ważnym stronniczości w dystrybucji cyfr, który okazał się być śmiertelne dla innych systemów, chociaż wpływ na ten system byłby znacznie niższy. Patrz również problem związany z nie stosowania się do

Z TSP, postrzegane jako 16 znaków szesnastkowych (64 bit) string, tworzy się (od lewej do prawej) z 11 cyfr z prawej PAN z wyłączeniem ostatniej cyfry (cyfra sprawdzić), jednej cyfry od 1 do 6 które wybiera tajny klucz szyfrowania i wreszcie czterech cyfr PIN. Oto przykład:

PAN: 1234 5678 9012 3445
Klucz selektora: 1
2468

TSP: 5678901234412468

Oczywiście problem łamania polega na znalezieniu tajnego klucza do szyfrowania Metoda to zrobić brutalnej siły szukać klucza miejsca. Należy pamiętać, że nie jest to jedyna metoda, można było spróbować znaleźć słabości w DEA, wielu próbowało, ale to stary standard jest jeszcze w powszechnym użyciu (obecnie został zastąpiony przez AES i aczkolwiek). Pokazuje to jest wystarczająco solidne, aby brutalnej siły jest tylko opłacalne metody (istnieją lepsze ataki, ale nie praktyczne w naszym przypadku, na podsumowanie patrz LASEC pamięć i za brudne szczegóły patrz Biham & Shamir 1990, Biham & Shamir 1991 r., Matsui 1993, Biham & Biryukov 1994 i Heys 2001).

Selektor cyfrowy klucz był bardzo prawdopodobne, wprowadziła na pokrycie możliwość kluczowym kompromisu. W takim przypadku po prostu oni mają do wydania nowej karty za pomocą innego klucza selektora. Starsze karty mogą być zastąpione nowymi lub po prostu ATM przejrzysty może napisać nową (odpowiednio do nowego klucza i utrzymywanie tego samego następnym razem, gdy klient korzysta z jego Do wstrząsnąć wszystkich użytkowników powinny być poproszone o ich zmianę PIN, jednak byłoby krępujące banku, aby wyjaśnić przyczyny, więc bardzo prawdopodobne, to oni nie czynią takiego wniosku.

Przygotowanie


A brutalna siła polega na szyfrowaniu jeden ze znanych TSP przy użyciu wszystkich możliwych kluczy szyfrowania i porównać uzyskane każdego ze znanym Gdy mecz jest znaleźć mamy kandydata klucz. Ale jak wielu kluczy musimy spróbować? Jak już wspomniano powyżej klucz jest 64-bitowa długo, oznaczałoby to, że musimy spróbować 2 ^ 64 kluczy. Jednak nie jest to prawdą. Właściwie tylko 56 bitów są skuteczne w kluczy, ponieważ jeden bit (najmniej znaczący) obecnie każdy oktet była historycznie suma kontrolna jako zastrzeżone dla innych, w praktyce te 8 bitów (po jednym dla każdego z 8 bajtów) są ignorowane.

Dlatego klawisz spacji składa się z 2 ^ 56 kluczy. Jeśli spróbujemy wszystkich tych klawiszy będzie nam znaleźć jeden i tylko jeden mecz, co odpowiada tajnego klucza? Z pewnością nie. Będziemy uzyskania dopasowania wielu kluczy. Dzieje się tak, ponieważ jest tylko niewielka część (jedna czwarta) z wyjście. Ponadto jest degenerated, ponieważ niektóre z cyfr (tych od 0 do 5 po ostatniej, patrząc od lewej do prawej, cyfra pomiędzy 6 i 9) mogą pochodzić z postaci cyfr lub z cyfr szesnastkowych decimalized z wyjście. Tak więc wiele kluczy powstanie wyjście, które daje do tego samego dopasowywania

Wtedy to, co możemy zrobić, aby znaleźć klucz rzeczywistym między innymi fałszywie pozytywnych klucze? Po prostu mamy do szyfrowania drugi różnych TSP, znany również z ale tylko przy użyciu klawiszy kandydata, który wydał pozytywną dopasowania z pierwszym pary. Jednak nie ma gwarancji, że nie będzie ponownie wielu fałszywych alarmów wraz z prawdziwego klucza. Jeśli tak, to będziemy potrzebować trzeciego pary, powtórz ten proces i tak dalej.

Zanim zaczniemy naszą musimy wiedzieć, ilu par będziemy potrzebować. Do tego musimy obliczyć na losowej wyjściowej pasującej do plonu tylko przez przypadek. Istnieje kilka sposobów obliczania tej liczby i będę tu użyć prostego podejścia łatwe do zrozumienia, ale która wymaga pewnych tła matematyce

A zawsze można postrzegać jako korzystny stosunek przypadków możliwych przypadków. W naszym problemem liczby przypadków możliwe jest podany przez z 16 elementów (z 0 do F szesnastkowych) w grupie 16 z nich (16 cyfr szesnastkowych z wyjście). Jest to podana przez 16 ^ 16 ~ 1,8 * 10 ^ 19 co oczywiście zbiega się z 2 ^ 64 (różne numery 64 bity). Ten zestaw liczb można podzielić na pięć kategorii:

Osób z co najmniej czterech cyfr (0 do 9) wśród 16 cyfr szesnastkowych (od 0 do F) z wyjście.

Dokładnie z tych zaledwie trzech cyfr.

Dokładnie tylko z tych dwóch cyfr.

Dokładnie z tych tylko jednego palca.

Żaden z tych cyfr (wszystkie pomiędzy A i K).

Let's obliczyć, ile liczb wchodzą w każdej kategorii. Jeżeli etykieta 16 cyfr szesnastkowych z wyjście jako X1 do X16 następnie możemy etykiety pierwsze cztery cyfry dziesiętnej dowolnej liczby pierwszej kategorii Xi, XJ, Xk i XL. Liczbę różnych kombinacji z tego profilu jest podana przez producenta 6 I-1 * 10 * 6j-i-1 * 10 * 6k-J-1 * 10 * 6 str. 1 * 10 * 1616-l, gdzie 6 ' s pochodzą z wielu możliwości A do F cyfrowy, 10's pochodzą z możliwości dla cyfry od 0 do 9, i 16 pochodzą z możliwości 0 do F cyfrowy. Teraz całkowitej liczbie w pierwszej kategorii jest po prostu podane przez sumowanie tego produktu nad i, j, k, l od 1 do 16, ale ze i <j <k <l. Jeśli kilka prac matematycznych zobaczysz tego produktu jest równa 104 / 6 z ciągu i zsumowanie od 4 do 16 (i-1) * (i-2) * (I-3) * 4 *-6i 16 16-I ~ 1,8 * 1019.

Analogicznie liczba przypadków, w drugiej kategorii jest podawany przez sumowanie nad i, j, k od 1 do 16 z I <j <k danego produktu 6i-1 * 10 * 6j-i-1 * 10 * 6k-j -1 * 10 * 616-k, które można pracować to być 16! / (3! * (16-13)!) * 103 * 6 13 = 16 * 15 * 14 / (3 * 2) * 103 * 613 = 56 * 104 * 613 ~ 7,3 * 1015. Podobnie w przypadku kategorii trzeciej mamy sumowanie nad i, j od 1 do 16 z I <J 6 I-1 * 10 * 6j-i-1 * 10 * 616-J, który wynosi do 16! / (2! * (16-14)!) * 102 * 614 = 2 * 103 * 615 ~ 9,4 * 1014. Ponownie, do czwartej kategorii mamy ponad podsumowanie i od 1 do 16 6i-1 * 10 * 616-I = 160 * 615 ~ 7,5 * 1013. I wreszcie wysokość przypadkach, w piątej kategorii podany jest przez się z sześciu elementów (od A do F cyfr) w grupie 16, że jest, 616 ~ 2,8 * 1012.

Mam nadzieję, że po obliczeniach do tego punktu, twardego część jest wykonywana. Teraz, jako dowód, że wszystko jest prawo możesz suma liczby przypadków w 5 kategoriach i zobaczyć go równa całkowitej liczby możliwych przypadkach obliczona przed. Czy operacje przy użyciu 64-bitowych liczb lub zaokrągleniem (dla pływaków) lub przepełnienia (dla całkowitych) błędy nie pozwalają na uzyskanie dokładnych wyników.

Do chwili obecnej mamy obliczona liczba możliwych przypadków w każdej z pięciu kategorii, ale są zainteresowane w uzyskaniu wielu przypadkach zamiast korzystna. Jest to bardzo łatwe do uzyskania drugiego z byłych jak jest to tylko ustalające kombinacji czterech cyfr (lub wymaganego szesnastkowych jeżeli nie ma czterech cyfr) z zamiast najmu nich wolne. W praktyce oznacza to zwrotny 10's we wzorze na 1 powyżej oraz wymaganej kwoty na 6 do nr 1, jeżeli nie ma czterech cyfr. Oznacza to, że musimy podzielić wynik przez pierwsze 104, drugi 103 * 6, trzeci 102 * 62, czwarty jeden przez 10 * 63 i 64 piąta. Następnie liczba przypadków korzystny w pięciu kategoriach są około 1,8 * 1015, 1,2 * 1012, 2,6 * 1011, 3,5 * 1010, 2,2 * 109 odpowiednio.

Teraz jesteśmy w stanie uzyskać to, co jest dla wyjście będzie odpowiadała przez przypadek. My wystarczy dodać do pięciu numerów przypadkach korzystne i podzielić ją przez liczbę możliwych przypadków. Ten sposób że prawdopodobieństwo jest bardzo ok. 0,0001 lub jeden z dziesięciu tysięcy. Czy to dziwne tym również zaokrąglony wynik? Nie na wszystkich, wystarczy spojrzeć na numery my z powyższymi obliczeniami. Pierwsza kategoria dominuje przez kilka rzędów wielkości liczbę korzystne i możliwe przypadki. To jest raczej jak go intuicyjnym wydaje się jasne, że jest to bardzo mało prawdopodobne, nie czterech cyfr (10 obecnie szanse na 16-cyfrowy) wśród 16 cyfr szesnastkowych. Widzieliśmy wcześniej, że związek między liczbą możliwe i korzystne w przypadku pierwszej kategorii został podział przez 10 ^ 4, że jeżeli w wyniku naszej p = 0,0001 pochodzi.

Naszym celem dla wszystkich tych obliczeń było dowiedzieć się, ilu par musimy przeprowadzić udaną brutalna siła Teraz jesteśmy w stanie obliczyć oczekiwane liczby fałszywych alarmów w pierwszej wyszukiwania: będzie to liczba prób razy dla pojedynczego losowy fałszywie dodatnie, tj. t * p gdzie t = 2 ^ 56, rozmiar klucza miejsca. Kwota ta stanowi około 7,2 * 10 ^ 12, dość duża liczba. Oczekiwane liczby fałszywych alarmów w drugim (ograniczone do pozytywnych kluczy znalezionych w pierwszej wyszukiwania) zostanie (T * p) * p, na trzecim wyszukiwania będzie ((t * p) * p) * p i tak dalej. Zatem dla n wyszukiwań oczekiwane liczby fałszywych alarmów będzie t * p ^ n.

Możemy uzyskać wymaganej liczby wyszukiwań oczekiwać tylko jeden fałszywie dodatnich przez równania wyrażające t * p ^ n = 1 i rozwiązania dla n. Więc n równa do w podstawy p 1 / t, które przez właściwości logarytmów ona daje n = log (1 / t) / log (p) ~ 4.2. Ponieważ nie możemy zrobić ułamkową wyszukiwania jest wygodny zaokrąglić w górę do tego numeru. W związku z tym, co jest oczekiwane liczby fałszywych alarmów, jeśli będziemy wykonywać pięć wyszukiwania? Jest t * p ^ 5 ~ 0,0007 czyli około 1 na 1400. W ten sposób za pomocą pięciu pary jest bezpieczna do uzyskania prawdziwego tajnego klucza, bez fałszywych alarmów.


Gdy wiemy, musimy pięć parach, w jaki sposób je uzyskać? Oczywiście musimy co najmniej kartę ze znanymi a ze względu na charakter tego to jedyną rzeczą, której potrzebowaliśmy. Z drugiej systemów, takich jak IBM, ale musiałyby pięć kart, jednak nie jest to konieczne z Po prostu trzeba przeczytać a następnie zmienić cztery razy, ale czytanie po każdej zmianie.

Konieczne jest zapoznanie się z na aby uzyskać i klucz szyfrowania selektora. Możesz kupić handlowe lub jednego sobie następujące instrukcje można znaleźć w poprzedniej strony i linki w nim. Gdy masz już zobaczą ten opis standardowych ścieżek magnetycznych, aby dowiedzieć się jak otrzymać z odczytać. W tym dokumencie w dziedzinie ścieżek 1 i 2 to rzekł do pięciu znaków długo, ale rzeczywiście prawdziwe składa się z czterech ostatnich cyfr. Pierwszy z pięciu cyfr jest kluczem selektora. I have seen tylko karty o wartości 1 w tym cyfrowy, który jest zgodny ze standardem iz sekret klucz nigdy nie jest zagrożony (a więc nie trzeba przenieść do innego klucza zmiany selektor).

Zrobiłem prosty program w języku C, getpvvkey.c, do przeprowadzenia Składa się on z pętli, aby spróbować wszystkich możliwych kluczy do szyfrowania pierwszego TSP, jeżeli uzyskane mecze prawdziwe nowy TSP jest sądzony, i tak dalej, dopóki istnieje niedopasowanie, w którym to przypadku jest klucz wyrzucić i nowe skanowane, lub pięciu PVVs pochodzące z odpowiednią PVVs prawdziwe, w przypadku których można zakładać, mamy tajnego klucza, jednak wychodzi na pętli, dopóki nie wyczerpuje kluczowe miejsca. Robimy to, aby zapewnić nam znaleźć prawdziwego klucza, ponieważ istnieje szansa (choć bardzo niski) pierwszy klucz Znaleziono jest fałszywie dodatni.

Oczekuje się, program będzie trwać bardzo długo, aby zakończyć i aby zminimalizować ryzyko energii, komputer zawiesza się obecnie, itp. to kontrolnych do pliku getpvvkey.dat od czasu do czasu (dokładny czas zależy od prędkości z komputera, to około jednej godziny dla najszybszych komputerów już w użyciu). Z tego samego powodu, jeżeli pozytywny klucz znajduje to jest napisane w pliku getpvvkey.key. Program wyświetla tylko jedną wiadomość na początku, w pozycji wyjściowej, wzięte z pliku punktu kontrolnego, jeżeli takie istnieją, po to, że nic więcej wyświetlany.

W jest kluczowym punktem w programie, dlatego jest bardzo ważne, aby zoptymalizować jego prędkość. I testowany kilka implementacji: libdes, SSLeay, openssl, cryptlib, NSS, libgcrypt, katakumby, libtomcrypt, cryptopp, ufc-crypt. W funkcje pierwsze cztery są oparte na tym samym kodem przez Erica Younga i jest jedynym, który najlepiej wykonane (w tym C i zoptymalizowany kod asemblera x86). Wybrałem więc libdes który był oryginalny i realizacji wszystkich istotnych skróconego kodu w plikach encrypt.c (wersja C) i x86encrypt.s (x86, wersja asemblera). Kod jest nieco zmodyfikowany w celu osiągnięcia pewnych ulepszeń w brutalnej siły początkowy jest ustalana w każdym wspólnym strome TSP a zatem można dokonać tylko jeden raz na początku. Innym jest poprawa, że napisałem zupełnie nową funkcję setkey (I nazwał go nextkey), który jest optymalny dla brutalnej siły pętlę.

Aby pobrać program pracy aby wpisać w odpowiednie miejsce pięć TSPs i ich PVVs a następnie skompilować go. Ja testowałem to tylko na platformach UNIX, korzystając z Makegetpvvkey Makefile do kompilacji (użyj polecenia "make-f Makegetpvvkey"). Może ona innych systemów na skompilowac, ale być może trzeba będzie ustalić pewne rzeczy. Upewnij się, że definicja long64 odpowiada 64-bitowych. W zasadzie nie istnieje zależność od Endianness przetwórcy. Mam pomyślnie skompilowany i uruchomić go na Pentium-Linux-Alpha Tru64, Irix mips-i-Sparc Solaris. Jeśli nie masz i nie chcesz zainstalować Linuksa (nie wiesz, co ci brakuje ;-) nadal masz wyboru, aby uruchomić Linuksa na płycie CD i korzystać z mojego programu, zobacz moją stronę Linuksa bez potrzeby instalowania go.

Po znalezieniu tajnych kluczowych, jeśli chcesz znaleźć w sposób arbitralny wystarczy napisać podobny program (niestety nie mam napisane to, jestem zbyt leniwy:), które mogłyby spróbować wszystkich 10 ^ 4 PIN poprzez tworzenie odpowiednich TSP, szyfrowanie go z (nie) tajnego klucza, wynikających z i porównując go z z na Pojawi się jeden mecz za prawdziwe Tylko jeden mecz? Pamiętaj, co widzieliśmy powyżej, mamy szansę na 0,0001, że wyrywkowe odpowiada Jesteśmy próbuje 10000 PIN (a zatem TSPs) więc oczekujemy 10000 * 0,0001 = 1 fałszywie dodatnie średnio.

Jest to bardzo ciekawy wynik, to znaczy, że średnio każda ma dwa ważne PIN: klient oczekiwane fałszywie pozytywnych. Ja nazywam to "false", ale pamiętać, że tak długo, jak długo ona generuje prawdziwe jest to tak samo ważne, jak to jeden klient. Ponadto, nie ma sposobu, aby wiedzieć, który jest który, nawet do bankomatu, tylko klient wie. Nawet jeśli nie zostały fałszywie pozytywnych, jak ważny nadal mają trzy próby na bankomatu mimo, wystarczy na średniej. W związku z tym że obliczony na początku tego dokumentu temat z domyślać losowy musi zostać poprawiony. Właściwie to dwa razy, że wartości, tj. 0.0006 lub jest on jednym z ponad 1600, w dalszym ciągu bezpiecznie niska.

Wyniki


Ważne jest, aby zoptymalizować kompilacji programu i uruchomić go w możliwie najszybszym procesorem z powodu długiego spodziewać uruchamiania. I stwierdziła, że kompilator optymalizacji flaga-O pobiera lepsze wyniki, myśli o pewnej poprawie, to osiągnąć dodając-fomit-frame-pointer flagi na Pentium-Linux,-Spike bandery Alpha-Tru64, na IPA flagi na mips-Irix i-szybkie flagi na sparc-solaris. Specjalnego banderami (-DDES_PTR-DDES_RISC1-DDES_RISC2-DDES_UNROLL-DASM) do kod ogólnie, jak również korzyści. Wszystkie te flagi zostały już przetestowane i wybrali najlepszą kombinacją dla każdego procesora (patrz Makefile), ale możesz spróbować w celu dokładnego dostrojenia innych flag.

Według moich testów najlepsze wyniki osiąga się z AMD Athlon 1600 MHz procesor, przekraczającej 3,4 miliona kluczy na sekundę. Co ciekawe jeszcze lepsze wyniki niż Intel Pentium IV 1800 MHz i 2000 MHz (patrz rys. poniżej, kliknij je, aby powiększyć). Sądzę, że wynika to pewne I / O nasycenia, na pewno w pamięci cache lub że procesor AMD (która ma połowę cache w Pentium) lub płyty głównej, w którym jest uruchomiony, zarządza, aby uniknąć. W pierwszym rysunku poniżej widać, że łamiącym prędkości wszystkich procesorów ma mniej lub bardziej liniowa zależność z szybkości procesora, z wyjątkiem dwóch Intel Pentium już wspomniałem wcześniej. To jest logiczne, oznacza to, że za podwójną prędkość procesora otrzymasz podwójne złamanie prędkości, ale należy zwrócić uwagę na skutki nasycenia, w tym przypadku lepiej jest AMD Athlon 1600 MHz, które będą nawet tańsze niż Intel Pentium 1800 MHz lub 2000 MHz.

W drugim rysunku widzimy bardziej szczegółowo, co chcielibyśmy połączyć swoistych złamać moc procesora. I get wartość ta po prostu podzielenie break prędkości przez prędkość procesora, to otrzymujemy liczbę kluczy na sekundę i próbował na MHz. To jest miarą wydajności procesora niezależnie od jego prędkości. Wyniki pokazują, że najlepszym procesorem do tego zadania jest AMD Athlon, a potem przychodzi Alfa i po bardzo blisko jest procesor Intel Pentium (za wyjątkiem wyższych prędkości te, które wykonują bardzo biednych z powodu nasycenia efektu). Dalej jest procesor MIPS i ostatnie miejsce jest Sparc. Niektóre procesory MIPS i Alpha znajdują się w dolnej części skali, ponieważ są one wczesnych wydaniach nie wliczając akcesoriów późnych wersji. Należy pamiętać, że włączone wydajność dla procesorów x86 C i kod asemblera, gdyż istnieje duża Wydaje się, że gcc nie jest dobry generator kodu maszynowego zoptymalizowany, ale oczywiście nie wiemy, czy podręcznik optymalizacji kodu asemblera dla innych procesorów (Alpha, Mips, Sparc) zwiększy swoje wyniki w porównaniu do rodzimych kompilatory C (Nie używać gcc dla innych platform), jak dzieje się z procesorem x86.

Uaktualnić

Tutaj znajduje się artykuł, gdzie tych technik mogły być użyte.

http://redtape.msnbc.com/2008/08/could-a-hacker.html

Przetwarzania transakcji finansowych

02 lipca 2008 w i Eftpos Bankowość

I zostały niedawno pracy wewnątrz jednego z większych banków Polsce.
Dzięki tej pracy miałem patrząc na kontroli mechanizmów otaczającego kredytowych i debetowych wokół Pacyfiku.

I get wykonywać wiele bezpieczeństwa i ocen.
Z biegiem lat mam zawsze jako jeden z głównych rozważań.

Aż do wczoraj nie miałem się o lub narzędzi. Myślę, że kilka skryptów wykorzystania tych narzędzi może być bardzo interesująca.
Na stronie hziggurat29.com

Wiele innych narzędzi na tej stronie są również bardzo wyjątkowy i warto obejrzeć.
Duże podziękowania należą się ziggurat29 za dostarczenie takich narzędzi awesome.

Ponieważ wiele z tych witryn są tego rodzaju są trudne do znalezienia i często wydaje się wsiąkać w ciągu ostatnich lat, mam wybrany do powielanie z tej strony i na lokalne kopie plików.
To jest warte ziggurat29 okresowo odwiedzając witrynę i co teraz ponownie, aby sprawdzić, czy wszelkie dodatkowe narzędzia zostały zamieszczone.

Jednym z bardziej nadzwyczajne plików jest Atalla Module i narzędzi. Ciekawe, czy tak i są wytrząsanie w ich buty. Niektóre, jak ja tak nie uważam. ;-)

--- Ziggurat29 ---

Są to wszystkie Windows Narzędzia wiersza polecenia (o ile nie zaznaczono inaczej); wykonać z opcją-help
w celu ustalenia użycia.

DUKPT Odszyfruj (<- rzeczywisty plik do pobrania)

Jest to będzie zaszyfrowane Bloki, które zostały wyprodukowane przez metody. Użyłem tego do testowania wydajności niektórych Pad oprogramowanie miałem utworzone, ale jest także przydatny dla innych celów debugowania.

VISA PVV Kalkulator (<- rzeczywiste
plik do pobrania)

Jest to będzie obliczyć i sprawdź wartości, które zostały wyprodukowane przy użyciu Posiada kilka funkcji pomocniczych, takich jak sprawdzania i ustalania PAN (Luhn tworzenia i szyfrowania blokuje, i odszyfrowywania wydobycia z szyfrowany PIN bloki, itp.

Kalkulator VISA CVV (<- rzeczywisty plik do pobrania)

Jest to będzie obliczyć wartości, które zostały wyprodukowane przy użyciu MasterCard CVC CVV korzysta z a więc będzie pracować dla tego, jak dobrze. CVV to CVV3, iCVV, CAVV, ponieważ Są to tylko wariacje na temat usług i kod
Format upływie daty ważności. jest po prostu obliczona wartość porównując z tym, co masz, dlatego nie ma wyraźnych funkcji.

Atalla AKB Kalkulator (<- rzeczywisty plik do pobrania)

Jest to będą generować i Atalla AKB cryptograms. Będziesz potrzebował plaintext MFK do wykonywania tych czynności. Gdy dekodujące, MAC będą również sprawdzane, a wyniki wykazały.

BogoAtalla (<- rzeczywisty plik
download)

Jest to Atalla (lub symulator). To oprogramowanie (symulacji) z dobrze znanych Atalla Module który jest stosowany przez banki i przetwórców na operacje kryptograficzne, takie jak weryfikacja / tłumaczenie blokuje, upoważniająca transakcji przez sprawdzania
/ CSC numerów i wykonywanie procedur wymiany klucza, został wyprodukowany w celach testowych. Ta implementacja nie jest kompletny zestaw HP Atalla polecenia, ale tylko
porcjach, że ja sam potrzebne. Cela dit, jest na tyle kompletne, jeśli wykonują nabycia i / lub wydawanie funkcji, a są przy użyciu bardziej nowoczesnych systemów takich jak i i potrzeba do tego weryfikacji i tłumaczeń.

Ten biegnie jak słuchanie gniazda i obsługuje native Atalla polecenie set. Muszę podjąć pewne wolności z błędów zwracanych wartości i nie starała się o wysokiej wierności tam (tzn. można uzyskać odpowiedzi od różnych błędów native ale Zdecydowanie powinno się identyczne pozytywne
odpowiedzi. Niektóre funkcje realizowane tutaj zwykle wymagają zakupu premii polecenia, ale wszystkie polecenia są dostępne tutaj realizowane. Przykładami są generowania wartości i szyfrowania / odszyfrowywania plaintext wartości.

BogoAtalla dla Linksys (<- rzeczywisty plik do pobrania)

To jest Atalla wycięciami na Linuksa i budowania instalacji systemu na OpenWRT. Pozwala na naprawdę tanie ($ 60 USD) / test urządzenia.

Pliki lokalne

bogoatalla002
atallaakbcalc
bogoatalla_10-1_mipsel
dukptdecrypt
visacvvcalc
visapvvcalc

E-commerce Słowniczek

18 czerwca 2008 w i Eftpos Bankowość

Instytucji przejmującej
finansowej, która posiada uczestnictwo w finansowej, zazwyczaj pierwszego zaangażowanych w

Applet
Niewielki program komputerowy, który ułatwia wykonanie poszczególnych zadań.

Bandwidth
Zdolność do przeprowadzenia procesu lub informacji. Im wyższa przepustowość szybszego graficzne ładunkiem będzie pobrać.

Przeglądarka
Krótki dla oprogramowania, aplikacji używanych do lokalizowania i wyświetlania Dwóch najpopularniejszych przeglądarek Netscape Navigator i Internet Explorer. Obie te są graficznych przeglądarek, co oznacza, że mogą one wyświetlać grafikę, jak i Ponadto, większość nowoczesnych przeglądarek może przedstawić informacji multimedialnej, w tym dźwięku i wideo, choć wymagają one plug-in dla niektórych formatów.

Buforowanie
Automatyczne kopiowanie i przechowywania często wykorzystywanych informacji do systemu komputerowego - Zazwyczaj buforowania jest postrzegana jednocześnie surfowanie w itp.) oraz wykorzystywanych przez 'y) w celu zmniejszenia ilości użytkowników na

Emitenta
finansowej, który wydał karty, i

Karty
The individual participating in the financial whose is being credited or debited.


The additional information printed on the to be processed. This is used to verify if the was present when the was initiated.  This is the additional digits imprinted on the usually on the reverse side for & Mastercard and on the front for AMEX.

Certificate
An x.509 certificate used to entities such as Merchants and Gateways. Certificates can be used to identify and/or encrypt sensitive such as numbers and personal cardholder information.

CGI
Common Gateway : A protocol that allows a page to run a program on a . Forms, counters, and guest books are common examples of CGI programs.

Any piece of software can be a CGI program if it handles input and output according to the CGI standard. Usually a CGI program is a small program that takes from a and does with it, like putting the content of a form into an e-mail message, or turning the into a database query. CGI “scripts” are just scripts which use CGI. CGI is often confused with Perl, which is a programming language, while CGI is an to the from a particular program.

Client
A computer or software that requests a service of another computer system or process (a “ ”). For example, a workstation requesting the contents of a file from a file is a client of the file . A browser is commonly referred to as a client.

Clients and Servers
In general, all of the machines on the can be categorised as two types: servers and clients. Those machines that provide services (like servers or FTP servers) to other machines are servers. And the machines that are used to connect to those services are clients.

When you connect to Yahoo at www.google.com to read a page, Google is providing a machine (probably a cluster of very large machines), for use on the , to service your request. Google is providing a . Your machine, on the other hand, is probably providing no services to anyone else on the . Therefore, it is a user machine, also known as a client. It is possible and common for a machine to be both a and a client !

Cookie
A file sent by some servers to your computer’s hard drive to enable you to quickly and easily return to particular sites. Cookies give rise to concerns as they are often used to store information used for marketing purposes.

The main purpose of cookies is to identify users and possibly prepare customised pages for them. When you enter a site using cookies, you may be asked to fill out a form providing such information as your name and interests. This information is packaged into a cookie and sent to your browser which stores it for later use. The next time you go to the same site, your browser will send the cookie to the . The can use this information to present you with custom pages. So, for example, instead of seeing just a generic welcome page you might see a welcome page with your name on it.

CRN
The Customer Receipt Number (CRN) is used to assist the holder, the gateway and the to confirm the has been processed and to track the throughout the end-to-end process. This is often used when making enquiries about a or for tracking.

Cybersquatting
Bad faith, abusive domain name registration. Cybersquatters register company and product names as domain names with a view to selling them at inflated prices to the “rightful” owners.

/CVC
The additional information printed on the to be processed. This is used to verify if the was present when the was initiated.  This is the additional digits imprinted on the usually on the reverse side for & Mastercard and on the front for AMEX.

Database
A collection of : part numbers, product codes, customer information, etc. It usually refers to organised and stored on a computer that can be searched and retrieved by a computer program.

Deep link
A hypertext link directly to a page, often bypassing home pages or other identifying pages.

Certificate
A pop up window that allows you to identify the level of used to secure a particular site.

Signature
A complex numeric “signature” designed to be used, in conjunction with special software, to the sender of a message and guarantee that the contents of the message have not been altered during to the recipient. The EU has adopted legislation which makes signatures legally valid. The Bill (Cth) 1999 has the same effect in .

Domain Name
The plain English name given to a host destination on the , for example, www.madrock.net. The suffix, dot.com is known as the generic top level domain, the prefix madrock. The domain name forms part of the Address or URL.

A name that identifies one or more IP addresses. For example, the domain name microsoft.com represents about a dozen IP addresses. Domain names are used in URLs to identify particular pages. For example, in the URL http://www.madrock.net, the domain name is madrock.net.

Download
To transfer information from one computer to your computer.

Dynamic page
A document that is created from a database in real-time or “on the fly” at the same time it is being viewed, providing a continuous flow of new information and giving visitors a new experience each time they visit the site.

Dynamic sites offer the user the ability to interact with the site. This interaction can take place in the form of a search for products, a questionnaire that automatically posts results or polls. Basically, dynamic pages and content are generated from the input of the user.

EC
.

Often referred to as simply e- , business that is conducted over the using any of the applications that rely on the , such as e-mail, instant messaging, shopping carts, services, and FTP, among others. can be between two businesses transmitting funds, goods, services and/or or between a business and a customer.

ECI
The Indicator (ECI), is used to determine the source of the original request. This is a program that the banks have developed and have mandated it’s use.

Interchange (EDI)
Systems set up by businesses, which facilitate the exchange of information.


The process of scrambling to prevent it being viewed by unauthorized persons.

Expiry Date
The date printed on the indicating when the will expire. Not to be confused with the issue date found on some cards.

Firewall
An barrier and/or traffic filter.

Forms
Forms are pages comprised of and “fields” for a user to fill in with information. They are an excellent way of collecting and information from people visiting a site, as well as allowing them to interact with pages. Forms are written in HTML and processed by CGI programs.

Frame
A means of dividing a screen into a number of compartments. Frames may give rise to legal disputes if sites created by third parties are framed as your own.

FTP servers
One of the oldest of the services, File Transfer Protocol makes it possible to move one or more files securely between computers while providing file and organisation as well as transfer control.

Fulfilment
1. Process of supplying goods after an order has been received.
2. Process of reacting to a customer’s request, covering everything that has to happen from the time the customer places an order until they are completely satisfied.

Host
Any computer on a that provides services or information to other computers on the . A host is also called a .

Integration
The software and/or business processes which combine the ’s (website, back office, etc.) order system with the System.

IP address
Every computer connected to the is assigned a unique number known as an Protocol (IP) address. Since these numbers are usually assigned in country-based blocks, an IP address can often be used to identify the country from which a computer is connecting to the .

Gateway
A system allowing incompatible computer networks to send and receive information.

HTML (Hypertext Markup Language)
Language used to translate documents into a form which can be sent over the .

Hyperlink
A highlighted phrase in a document which permits linking to another document or part of a document.

Content Host (ICH)
Those who host or propose to host content on the . Anybody who is responsible for a site, news group or bulletin board that contains articles, graphics or other content provided by others. The host may/may not also produce their own content and/or provide to the through a carriage service, ie they may also be an .

Service Provider ( )
A company that provides an connection through some kind of carriage service, for example Sprint, Chello Broadband, Telstra Bigpond, Adam , Internode. ’s may/may not also be ICHs.

Mail servers
Almost as ubiquitous and crucial as servers, mail servers move and store mail over corporate networks (via LANs and WANs) and across the .


This is an set up with a to process orders from customers.


The entity receiving payments for goods and/or services.


The ’s into which transactions are credited or debited.


The software installed on the ’s sites or back office system to enable real-time or batched of financial transactions.

Administrator
The individual(s) responsible for the maintenance of the , including issuing and importing certificates.

MTL
Layer (MTL)

PAN
Primary Number (PAN) is the number printed on the customers to reference the cardholder’s financial . This is typically the number.

Gateway
The Gateway provides a central point of contact/ switching with the for the software or devices. The Networks gateway provides advanced integrated , integration services (Mainframe, Mini, Windows, UNIX, OS400, Desktop/ , PoS Terminals. Loyalty systems, etc.) and / customised solutions not offered by regional or global institutions.

An system for real-time charging of cards when a customer places an order. Normally requires a .

A common question from merchants is “Do we have to change banks to use gateways?”

The answer is NO!  - All you need to do is open a facility with one of the supported banks, Networks can ensure you open the correct one for your needs. The