Breaking VISA PIN

02 iulie 2008 în sectorul bancar şi EFTPoS

Mai jos este un articol l-am găsit recent. Aceasta una dintre cele mai complete descrieri ale Valoare

Am crezut ca ar putea-o reproduc aici pentru meu locale de referinţă.

După cum s-au făcut comentarii cu privire la gramaticale folosite în original, am corectat unele erori evidente de a menţine în acelaşi timp, contextul original material.

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

--- Textul ----

Cuvânt înainte
V-aţi întrebat vreodată ce s-ar întâmpla dacă ai pierdut sau şi găseşte-l pe cineva. Această persoană ar trebui să poată retrage numerar de la un bancomat ghicitul, cumva, Mai mult decât atât, dacă ai fi fost cineva care descoperă de va încerca să ghicesc şi să ia şansa de a obţine unele uşor de Desigur, răspunsul la ambele întrebări ar trebui să fie "nu". Acest lucru nu se referă la cea de-a doua întrebare, este o chestiune de Alăturat am încerca să răspundă la prima întrebare.

Toate informaţiile utilizate pentru acest lucru este publică şi poate fi găsit în mod liber Restul este o chestiune de si de programare, astfel încât să putem învăţa şi să te distrezi. Eu nu dezvăluie secretele. În plus, obiectivul (şi a acestui lucru este de a demonstra că algoritmi sunt încă destul de puternice pentru a oferi suficiente Ştim cu toţii nu este

Acest lucru analize una dintre cele mai comune algoritmi, folosite de mai multe şi carduri de şi încearcă să afle cum este rezistent la ghicitul atacuri. Prin "ghicită" Eu nu înseamnă a alege aleator şi a încercat-o într-un bancomat. Este bine cunoscut faptul că în general, ne sunt prezentate trei studii clinice pentru a intra în dreptul de dacă nu reuşim ATM ţine un astfel de Ca este de patru cifre lung este uşor să deducem că şansă pentru aleator ghicitul este 3 / 10000 = 0,0003, se pare destul de mici pentru a fi în siguranţă; aceasta înseamnă că trebuie să-ţi pierzi cu mai mult de trei mii de ori ( sau a pierde mai mult de trei mii de carduri, în acelaşi timp:), până când există o şansă rezonabilă de a-şi pierde

Ce Chiar mi-a vorbit de "ghicită" a fost spart codul astfel încât dat nici o puteţi imediat să ştiu asociate Prin urmare, acest document de studii în care această posibilitate, analiza de şi de a propune o metodă de În cele din urmă vom da un instrument care pune în aplicare şi să prezinte rezultatele estimate despre sansa de a sparge sistemul. Reţineţi că, atâta timp cât alte legate de algoritmi (alte formate, cum ar fi IBM sau validare de semnături, cum ar fi sau CVC) sunt similare cu la fel de analiză se poate face elastic aproape aceleaşi rezultate şi concluzii.



Una dintre cele mai comune algoritmi este Valoare Clientul este dat un cod şi a unei Codificate în este un număr din patru cifre, numit Acest număr este o semnătura criptografică a şi alte legate de Când un utilizator introduce sale la ATM-uri citeşte encrypts şi trimite toate aceste informaţii la un computer central. Există un proces este calculat folosind client introdus şi informaţiile despre de criptare cu un Procesul este, comparativ cu stocate în în cazul în care acestea se potrivesc cu centrale de calculator revine la ATM autorizaţie pentru A se vedea mai în detaliu.

De descriere a poate fi găsită în două documente legate în pagina anterioară. În aceasta constă în rezumat de de a 8 byte (64 bit) şir de numit Transformată Parametru (TSP), cu (DEA) în Code Book Mod (BCE), folosind un secret pe 64 biţi cheie. De este derivat din producţia de procesul de care este un octet string 8. Cele patru cifre ale (de la stânga la dreapta) să corespundă cu primele patru cifre zecimale (de la stânga la dreapta) de la ieşirea de la atunci când a considerat ca o hexazecimal 16 de caractere (16 x 4 bit = 64 bit) şir. Dacă nu există patru cifre zecimale între cele 16 de caractere hexazecimale atunci este completat luate (de la stânga la dreapta) şi caractere non zecimal decimalizing le prin utilizarea de conversie A-> 0, B-> 1, C-> 2, D -> 3, E-> 4, F-> 5. Iată un exemplu:

De ieşire de la 0FAB9CDEFFE7DCBA

0975

Strategia de a evita decimalization sărit de caractere până la patru cifre zecimale sunt găsit (care se întâmplă să fie aproape toate ori aşa cum vom vedea mai jos) este foarte inteligent, pentru că se evită o prejudecată în distribuţia de cifre, care a fost dovedit a fi fatale pentru alte sisteme, desi impactul asupra acestui sistem ar fi mult mai mici. Vezi, de asemenea, legate de o problemă nu se aplică la

De TSP, văzut ca un hexazecimal 16 de caractere (64 bit) sir de caractere, este formata (de la stânga la dreapta), cu 11 cifre, de la dreapta PAN (numărul de excluzând ultima cifră (verifica cifre), o cifră de la 1 la 6 care selecteaza secrete criptând cheie şi, în final, cele patru cifre ale Iată un exemplu:

PAN: 1234 5678 9012 3445
Selector cheie: 1
2468

TSP: 5678901234412468

În mod evident, problema de spargere constă în găsirea de secrete cheia de criptare Metoda de care este de a face un brute force căutare a tasta spaţiu. Reţineţi că acest lucru nu este singura metoda, s-ar putea încerca să găsească un punct slab în DEA, mulţi au încercat, dar acest standard vechi este încă utilizat la scară largă (în prezent, a fost înlocuit cu AES şi totusi). Acest lucru este destul de robust, astfel încât brute force este singura metodă viabilă din punct de vedere (există unele atacuri, dar nu o mai bună practică în cazul nostru, pentru o sinteză a se vedea LASEC memoria şi pentru detalii, a se vedea Biham murdare & Shamir 1990, Biham & Shamir 1991, Matsui 1993, Biham & Biryukov 1994 şi Heys 2001).

Cheia selectorul cifre foarte probabil a fost introdus pentru a acoperi posibilitatea de a tasta un compromis. În acest caz, ele au doar de a emite noi carduri, utilizând un alt selector cheie. Anterioarele carduri poate fi înlocuită cu altele noi, sau pur şi simplu de ATM-uri transparent poate scrie o nouă (corespunzător la noua cheie şi menţinerea în acelaşi data viitoare în care clientul utilizează lui / ei Pentru a se agită de toţi utilizatorii ar trebui să fie solicitat pentru a schimba PIN-urile lor, cu toate acestea, ar fi jenant pentru pentru a explica motivul, deci foarte probabil ca ele nu ar face o astfel de cerere.

Pregătirea de


Un brute force constă în criptând TSP cu o cunoscută folosind toate posibilele chei de criptare şi compara fiecare obţinute cu cunoscut În cazul în care un meci este găsit avem un candidat cheie. Dar cât de multe chei am să încerc? Aşa cum am spus mai sus-cheie este de 64 de biţi lung, aceasta ar însemna că trebuie să încercaţi 2 ^ 64 chei. Cu toate acestea acest lucru nu este adevărat. De fapt doar 56 biţi sunt eficiente în chei, pentru că un bit (cel mai puţin important) din fiecare octet lungul istoriei, a fost rezervate ca un control pentru altele; în practică, cele 8 biţi (câte unul pentru fiecare din cele 8 octets) sunt ignorate.

Prin urmare, cheie spaţiu constă din 2 ^ 56 chei. Dacă am încerca toate aceste chei vom găsi una şi doar un singur meci, în funcţie de secret cheie? Desigur, nu. Vom obţine mai multe chei de potrivire. Acest lucru se datorează faptului că este decât o mică parte (un sfert) din ieşire. În plus, este degenerat deoarece unele dintre cifre (cele între 0 şi 5 după ultima, văzut de la stânga la dreapta, cifră între 6 şi 9), poate să provină dintr-o cifră zecimal sau de la un decimalized hexazecimal cifră de iesire. Astfel, multe chei va produce un ieşire care randamentele la acelaşi potrivire

Apoi, ce putem face pentru a gasi adevarata cheie printre cei alte fals pozitive cheile? Pur şi simplu ne-am pentru a cripta un al doilea diferite TSP, de asemenea, cunoscut cu dar numai folosind tastele de candidat care a dat un rezultat pozitiv de potrivire cu prima pereche. Cu toate acestea nu există nici o garanţie, nu vom lua din nou multe pozitive false, împreună cu adevărat cheie. Dacă da, vom avea nevoie de o treime pereche, repetaţi procesul şi aşa mai departe.

Înainte de a începe noastre trebuie să ştii cât de multe perechi vom avea nevoie. Pentru că avem de a calcula pentru aleator ieşire la un randament de potrivire doar de sansa. Există mai multe modalităţi de a calcula acest număr şi aici voi folosi un simplu abordare de uşor de înţeles, dar care necesită unele fundal in de

O poate fi întotdeauna văzut ca raport favorabil de cazuri de posibile cazuri. În problema noastră numărul de cazuri posibile este dat de de 16 elemente (de la 0 la F hexazecimal cifre) într-un grup de 16 dintre ele (cele 16 cifre ale hexazecimal ieşire). Aceasta este data de 16 ^ 16 ~ 1,8 * 10 ^ 19, care, desigur, coincide cu 2 ^ 64 (numere diferite din cele 64 de biţi). Acest set de numere pot fi împărţiţi în cinci categorii:

Cei cu cel puţin patru cifre zecimale (0 la 9), printre cele 16 hexazecimal cifre (0 la F) a ieşire.

Cei cu exact doar trei cifre zecimale.

Cei cu exact doar două cifre zecimale.

Cei cu exact doar o cifră zecimală.

Cei cu nici cifre zecimale (toate între A şi F).

Să se calculeze câte numere se încadrează în fiecare categorie. Dacă vom eticheta hexazecimală de 16 cifre ale ieşire ca X1 la x16 atunci putem eticheta în primele patru cifre zecimale de orice număr dat de prima categorie, astfel cum Xi, Xj, Xk şi XL. Numărul de combinaţii diferite cu acest profil este dat de produs 6 i-1 * 10 * 6j-i-1 * 10 * 6k-j-1 * 10 * 6 lk-1 * 10 * 1616-l în cazul în care 6 ' venit de la serie de posibilităţi pentru o cifră de la A la F, de 10 a venit de la posibilităţile de a 0 la 9 cifre, şi de 16 vine de la posibilităţile de la 0 la F cifre. Acum, numărul total din prima categorie este pur şi simplu dată de însumarea acest produs peste I, J, K, L de la 1 la 16, dar cu i <j <k <l. Daca faci unele math lucru se va vedea acest lucru este egal cu produsul de 104 / 6 cu însumarea i peste 4 la 16 de (i-1) * (i-2) * (i-3) * 6i-4 * 16 16-i ~ 1,8 * 1019.

Analogously numărul de cazuri, în cea de-a doua categorie este data de peste însumarea i, j, k 1 la 16, cu i <j <k a produsului 6i-1 * 10 * 6j-i-1 * 10 * 6k-j -1 * 10 * 616-k pe care o puteţi muncă a fi 16! / (3! * (16-13)!) * 103 * 6 13 = 16 * 15 * 14 / (3 * 2) * 103 * 613 = 56 * 104 * 613 ~ 7,3 * 1015. În mod similar, pentru a treia categorie, avem peste însumarea i, j de la 1 la 16, cu i <j din 6 i-1 * 10 * 6j-i-1 * 10 * 616-j care echivalează cu până la 16! / (2! * (16-14)!) * 102 * 614 = 2 * 103 * 615 ~ 9,4 * 1014. Din nou, pentru cea de-a patra categorie avem însumarea peste i de la 1 la 16 din 6i-1 * 10 * 616-i = 160 * 615 ~ 7,5 * 1013. Şi, în final, suma de cazuri, în cea de-a cincea categorie este dat de de şase elemente (de la A la F cifre) într-un grup de 16, care este, 616 ~ 2,8 * 1012.

Sper că aţi urmat calculele de până la acest punct de vedere, este greu de facut. Acum, ca o dovadă a faptului că totul este în regulă, puteţi sumă a numărului de cazuri în 5 categorii şi-l văd este egal cu numărul total de cazuri posibile am calculat înainte. Fă operaţiunile care utilizează numere de 64 biţi sau de rotunjire (pentru plutitoarelor) sau overflow (pentru întregi) erori nu va lasa sa te exact rezultat.

Pana acum ne-am calculat numărul de cazuri posibile în fiecare din cele cinci categorii, dar suntem interesaţi în a obţine numărul de cazuri favorabile, în loc. Este foarte uşor să obţină cel din urmă din fosta ca aceasta este doar de stabilire a combinaţie de patru cifre zecimale (sau necesare hexazecimal cifre dacă nu există patru cifre zecimale) din în loc de ai lăsat să liberă. În practică, acest lucru înseamnă de 10 de cotitură în formula de mai sus în 1 şi volumul necesar de 6 în 1 a lui dacă nu există patru cifre zecimale. Asta este, am să împartă primul rezultat de 104, cea de-a doua de 103 * 6, al treilea de 102 * 62, una de către cel de-al patrulea 10 * 63 şi cea de-a cincea o cu 64. Apoi, numărul de cazuri favorabile, în cinci categorii sunt de aproximativ 1,8 * 1015, 1,2 * 1012, 2,6 * 1011, 3,5 * 1010, respectiv 2,2 * 109.

Acum avem posibilitatea de a obţine ceea ce este de pentru un ieşire pentru a se potrivi cu o de sansa. Trebuie să adăugaţi cele cinci numere de cazuri favorabile şi împărţi la numărul total de cazuri posibile. Făcând acest lucru vom obţine că este foarte aproximativ 0.0001 sau de una din zece mii. Este ciudat acest bine rotunjite rezultat? Nu la toate, trebuie doar să aruncăm o privire la numere am calculat de mai sus. Prima categorie domină de mai multe ordine de mărime a numărului de cazuri favorabile, şi posibil. Acest lucru este destul de intuitiv ca este evident faptul că este foarte puţin probabil nu are patru cifre zecimale (10 sanse de 16 pe cifre) între 16 hexazecimal cifre. Am văzut anterior că relaţia dintre numărul de cazuri favorabile, posibil şi în prima categorie a fost de o divizie de 10 ^ 4, care a rezultat în cazul în care ne p = 0.0001 vine de la.

Scopul nostru pentru toate aceste calcule, a fost de a afla cât de multe perechi de care avem nevoie pentru a transporta o reuşită brute force Acum avem posibilitatea de a calcula numărul de aşteptat fals pozitive intr-o prima cautare: acesta va fi numărul de studii ori de pentru un singur aleatoare fals pozitive, adică t * p unde t = 2 ^ 56, de dimensiunea cheie spaţiu. Aceasta se ridică la aproximativ 7,2 * 10 ^ 12, un număr destul de mare. De aşteptat număr de fals pozitive, în cea de-a doua de căutare (restricţionat la pozitivă a găsit cheile în primul căutare) va fi (t * p) * p, pentru o treime va fi de căutare ((t * p) * p) * p şi aşa mai departe. Astfel, pentru n căutări de aşteptat numărul de fals pozitive vor fi t * p ^ n.

Putem obţine numărul de căutări necesară pentru a aştepta doar un fals pozitive prin care îşi exprimă ecuaţia t * p ^ n = 1 şi rezolvarea de n. Deci, n este egal cu în baza de 1 p / t, care, prin proprietăţile logaritmilor aceasta randamentelor n = log (1 / T) / log (p) ~ 4.2. Din moment ce nu ne putem face o căutare fracţional, este convenabil pentru a ridica acest număr. Prin urmare, ceea ce este de aşteptat numărul de fals pozitive dacă vom efectua căutări cinci? Este t * p ^ 5 ~ 0.0007 sau aproximativ 1 din 1400. Astfel, folosind cinci perechi este sigură de a obţine cheia cu adevărat secret nu pozitive false.


Odată ce ştim noi avem nevoie de cinci perechi, cum ne-i? Desigur, avem nevoie de cel puţin o cu cunoaşte şi din cauza naturii de care este singurul lucru de care avem nevoie. Cu alte sisteme, precum IBM, vom avea nevoie de cinci cărţi, însă acest lucru nu este necesar cu Trebuie să citiţi şi apoi a schimba patru ori, dar de lectură după fiecare schimbare.

Este necesar pentru a citi de pentru a obţine şi selectorul de cheie de criptare. Puteţi cumpăra o comerciale sau să facă un singur urmând instrucţiunile puteţi găsi în pagina anterioară şi se leagă de aceasta. Odată ce aveţi un vedea această descriere standard de piese magnetice pentru a afla cum să obţineţi de citit. În acest document, în domeniul liniilor 1 şi 2 se spune să fie cinci de caractere de lung, dar, de fapt, adevărata constă în ultimele patru cifre. Prima dintre cele cinci cifre este cheia selector. Am văzut doar cărţi de credit cu o valoare de 1, în această cifră, care este în concordanţă cu standardele şi cu secret cheie fiind compromisă niciodată (şi, prin urmare, acestea nu au nevoie pentru a trece la o altă cheie a schimba selectorul).

Am făcut un simplu program C, getpvvkey.c, pentru a efectua Se compune dintr-o buclă de a incerca toate cheile de la cripta prima TSP, în cazul în care derivate se potriveşte cu adevărat un nou TSP este încercat, şi aşa mai departe, până când există o nepotrivire, caz în care cheia este aruncat şi o nouă este încercat, sau derivate din cele cinci PVVs meci corespunzătoare adevărat PVVs, caz în care ne putem asuma avem secret cheie, cu toate acestea, bucla merge pe până când se epuizează cheie spaţiu. Aceasta se face pentru a ne asigura găsi adevărata cheie, pentru că există o şansă (deşi foarte mici), primul-cheie găsit este un fals pozitiv.

Este de aşteptat de program ar dura foarte mult timp pentru a finaliza şi pentru a minimiza riscurile de o putere de tăiat, computer iesim in oras, etc n-are trecere în fişier getpvvkey.dat din timp în timp (ora exactă, depinde de viteza de calculator, este în jur de o oră pentru cea mai rapidă de calculatoare acum în utilizare). Pentru acelaşi motiv, în cazul în care o cheie este găsit pozitiv este scris pe fişierul getpvvkey.key. Programul afişează numai un mesaj de la început, la care începe de la poziţia adoptată de control fişier dacă este cazul, după care nimic nu mai este afişată.

The este un punct-cheie în program, prin urmare, este foarte important pentru a optimiza viteza. Am testat mai multe implementări: libdes, SSLeay, OpenSSL, cryptlib, NSS, libgcrypt, catacombă, libtomcrypt, cryptopp, UFC-crypt. The funcţii de primele patru sunt bazate pe acelaşi cod de Eric Young şi este cel care a funcţionat cel mai bine (include optimizat C şi de asamblare x86 code). Astfel, am ales libdes, care a fost iniţial de punere în aplicare şi condensat toate codul in fisiere encrypt.c (C versiune) şi x86encrypt.s (x86 asamblare versiune). Codul este uşor modificate pentru a realiza unele îmbunătăţiri într-un brute force iniţial este un post fix, în fiecare comună abrupte TSP şi, prin urmare, se poate face doar o singură dată de la început. O altă îmbunătăţire este că am scris-o complet noua funcţie setkey (am numit-o nextkey), care este optimă pentru un brute force bucla.

Pentru a beneficia de programul de lucru trebuie doar sa corespunzător în locul cinci TSPs şi lor PVVs şi apoi compilaţi-l. Am testat-o numai în platformele UNIX, folosind Makefile Makegetpvvkey pentru a compila (folosi comanda "make-f Makegetpvvkey"). Se poate compila pe alte sisteme, dar este posibil să aveţi nevoie pentru a stabili anumite lucruri. Asiguraţi-vă că definiţia de long64 corespunde unui număr întreg pe 64 biţi. În principiu, nu există nici o dependenţă pe endianness de procesor. Am compilat cu succes şi rulaţi-l pe Pentium-Linux, Alpha-Tru64, mips-Irix-şi Sparc Solaris. Dacă nu aveţi şi nu doriţi să instalaţi Linux (nu ştiţi ce vă lipsesc ;-) încă aveţi posibilitatea de a alege să ruleze Linux de pe CD-ul meu şi de a folosi programul, vezi pagina mea să ruleze Linux, fără ao instala.

Odată ce aţi găsit secretul cheie, dacă doriţi, pentru a găsi al unui arbitrar trebuie doar sa scrie un program similar (scuze nu am scris-o, sunt prea lenesa:), care ar încerca toate 10 ^ 4 PIN-urile prin generarea corespunzătoare TSP, criptând cu (nu mai) secret cheie, care decurg din şi a comparat-o cu în de pe Veţi primi un meci de adevărat Doar un singur meci? Amintiţi-vă ce am văzut mai sus, avem o şansă de 0.0001 că aleator se potriveşte cu Incercam 10000 PINS (şi, prin urmare, TSPs), astfel, ne aşteptăm la 10000 * 0,0001 = 1 fals pozitive, în medie.

Acesta este un rezultat foarte interesant, asta înseamnă că, în medie, fiecare are două valabil PINS: client şi de aşteptat fals pozitive. Eu îi spun "false", dar ţineţi cont de faptul că, atâta timp cât acesta generează adevărat este un cod ca valabil ca al clientului o. În plus, nu există nici o cale de a şti care este, care, chiar şi pentru ATM-uri; doar client stie. Chiar şi în cazul în care fals pozitive nu au fost valabile ca încă aveţi trei studii clinice de la ATM-uri, oricum, destul de, în medie. Prin urmare, am calculat de la începutul acestui document despre ghicitul aleatoriu de trebuie să fie corectate. De fapt, este de două ori ca valoare, de exemplu, este de 0.0006 sau într-una din mai mult de 1600, în condiţii de siguranţă mai scăzut.

Rezultate


Este important pentru a optimiza compilare a programului şi pentru a executa o în cel mai rapid procesor posibil ca urmare a timpului de funcţionare mult de aşteptat. Am constatat că compilator de optimizare pavilion-O devine de o performanţă mai bună, gândit de anumite îmbunătăţiri este realizată adăugând-fomit-frame-pointer pavilion pe Pentium-Linux, de-spike pavilion pe Alpha-Tru64, de-IPA pavilion pe mips-Irix şi-fast-pavilion pe Sparc Solaris. Special steaguri (-DDES_PTR-DDES_RISC1-DDES_RISC2-DDES_UNROLL-DASM) pentru cod au în general, precum şi beneficii. Toţi aceşti indicatori au fost deja testate şi am ales cea mai bună combinaţie pentru fiecare procesor (a se vedea Makefile), dar puteţi încerca la fin tune alte steaguri.

În opinia mea teste cea mai bună performanţă este realizată cu AMD Athlon 1600 Mhz, de peste 3.4 milioane de chei pe secundă. Este interesant sa se rezultate mai bune decât Intel Pentium IV 1800 MHz şi de 2000 MHz (vezi figurile de mai jos, faceţi clic pe ele pentru a mari). Cred că aceasta se datorează într-o oarecare I / O saturaţie, cu siguranţă, cache-ul de memorie sau de ca procesor AMD (care are jumătate din cache-ul de la Pentium) sau placa de bază în care se execută, reuşeşte să le evite. În primul figura de mai jos puteţi vedea că rupere viteza de toate procesoarele a mai mult sau mai puţin o relaţie liniară cu procesor de viteză, în afară de cele două Intel Pentium-am menţionat mai înainte. Acest lucru este logic, înseamnă că pentru un dublu procesor viteza veţi primi dublu de rupere de viteză, dar fereşte-te pentru saturaţie adverse, în acest caz este mai bine de AMD Athlon 1600 MHz, care va fi chiar mai ieftin decât Intel Pentium 1800 MHz sau 2000 MHz.

În cea de-a doua cifră putem vedea mai în detaliu ceea ce ne-ar suna intrinsec pauză de putere de la procesor. I a lua această valoare pur şi simplu împărţirea pauză viteza de procesor de viteza, care este, vom ajunge la numărul de cheile încercat pe secundă şi pe MHz. Aceasta este o măsură a performanţei de procesor indiferent de viteza. Rezultatele arată că cel mai bun procesor pentru această sarcină este AMD Athlon, apoi vine Alpha şi foarte aproape după ce este Intel Pentium (cu excepţia celor pentru cea mai mare viteza de cele care funcţionează foarte săraci din cauza efectului de saturaţie). Înainte este procesor MIPS şi în ultimul loc este Sparc. Unele Alpha şi mips procesoare sunt situate la partea de jos a grilei, deoarece acestea sunt mai devreme versiuni nu inclusiv îmbunătăţiri de târziu versiuni. Reţineţi că, am inclus de performanţă de procesoare x86 pentru C şi de asamblare cod ca exista o mare Se pare că gcc nu este un bun generator de cod optimizat maşină, dar, desigur, nu ştim dacă un manual de optimizare a codului de asamblare pentru alte procesoare (Alpha, MIPS, Sparc) ar impulsiona rezultatele lor faţă de compilatoare nativ C (nu am folosi gcc pentru aceste alte platforme), după cum se întâmplă cu procesoare x86.

Actualiza

Aici este un articol în cazul în care aceste tehnici ar fi putut fi folosite.

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

Tranzacţie financiară Prelucrarea

02 iulie 2008 în sectorul bancar şi EFTPoS

Am fost recent de lucru în interiorul una dintre cele mai mari banci din
Prin acest lucru am fost uitat la controale şi din jurul de şi carduri de in jurul Asia Pacific.

M-am efectua multe şi a sistemelor de evaluări.
Pe parcursul anilor am considerat mereu de a ca fiind una din principalele considerente.

Pana ieri am mai văzut un sau Cred că unele scripted utilizare a acestor instrumente ar putea fi foarte interesant.
Site-ul hziggurat29.com

Multe din alte instrumente de pe acest site sunt, de asemenea, foarte unica si merita o privire.
Big datorită ziggurat29 minunat pentru furnizarea de astfel de instrumente.

Ca multe dintre aceste site-uri sunt de acest gen sunt greu de găsit şi, adesea, par a dispărea-a lungul anilor, am ales să reproduc de pe această pagină şi să ofere locale copii pe fişiere.
Este demn de a vizita periodic site-ul ziggurat29 fiecare acum şi, din nou, pentru a vedea dacă există instrumente suplimentare au fost publicate.

Unul dintre cele mai extraordinare fişiere este Atalla Module şi instrumente. Aşa că mă întreb dacă şi sunt tremurat în ghete. Unele cum nu cred că acest lucru. ;-)

--- Ziggurat29 ---

Acestea sunt toate Windows utilitare de linie de comandă (cu excepţia cazului în care a observat); executa cu optiunea-help
pentru a stabili de utilizare.

DUKPT decripta (<- reale pentru a descărca fişierul)

Acesta este un care va criptate Blocheaza care au fost produse prin intermediul metodă. Am folosit acest scop testarea de iesire a unor Pad software am creat, dar este, de asemenea, la îndemână pentru alte scopuri de depanare.

VISA PVV Calculator (<- real
pentru a descărca fişierul)

Acesta este un care va calcula şi verifica valorile care au fost produse folosind Are o grămadă de functii auxiliare, cum ar fi verificarea şi stabilirea unui PAN (Luhn crearea şi criptând blocuri, decripta şi PIN-urile de la extragerea criptate blocuri, etc

VISA CVV Calculator (<- reale pentru a descărca fişierul)

Acesta este un care va calcula valorile care au fost produse folosind MasterCard CVC utilizează CVV asa ca va lucra pentru că, de asemenea. Aceasta se va calcula CVV3, iCVV, CAVV, deoarece Acestea sunt doar variante pe servicii şi codul
format din data de expirare. este pur şi simplu a compara valoarea calculată cu ceea ce ai primit, aşa că nu există nici un explicite funcţie.

Atalla AKB Calculator (<- reale pentru a descărca fişierul)

Acesta este un care va genera şi Atalla AKB cryptograms. Veţi avea nevoie de plaintext MFK de a efectua aceste operaţiuni. Când a decripta, MAC va fi, de asemenea, verificate şi rezultatele afişate.

BogoAtalla (<- efective de fişier
download)

Aceasta este o Atalla (sau simulator). Acest software (simulare) a cunoscut Atalla Module care este utilizat de către bănci şi pentru procesoare criptografice operaţiuni, precum verificarea / traducerea blocuri, de autorizare a tranzacţiilor efectuate de verificarea
/ CSC numere, şi care efectuează cheie schimb procedurile, a fost produs în scop de testare. Acest lucru nu este de punere în aplicare completă HP Atalla comanda set, ci, mai degrabă de doar
porţiuni care am nevoie. Acestea fiind spuse, este complet, dacă sunt suficient de performante achiziţionarea şi / sau emiterea de funcţii, şi sunt moderne, folosind mai multe sisteme, cum ar fi şi şi necesitatea de a face generaţie, precum şi de traducere.

Aceasta ruleaza ca o ascultare socket şi mânerele de nativ Atalla comanda set. I-au luat unele libertăţi eroare reveni cu valorile şi nu s-au striven de înaltă fidelitate acolo (de exemplu, este posibil să primiţi un răspuns de la diferite eroare nativ dar cu siguranta ar trebui sa ne identice pozitiv
răspunsuri. Unele caracteristici puse în aplicare în mod normal, aici ar fi nevoie de achiziţionarea primei comenzi, dar toate comenzile implementate sunt disponibile aici. Exemple sunt generatoare de valori şi de criptare / decodare plaintext valori.

BogoAtalla pentru Linksys (<- reale pentru a descărca fişierul)

Aceasta este Atalla merge pe Linux şi construi pentru instalare pe un sistem de OpenWRT. Face pentru o foarte ieftine ($ 60 USD) / test aparat.

Local Fişiere

bogoatalla002
atallaakbcalc
bogoatalla_10-1_mipsel
dukptdecrypt
visacvvcalc
visapvvcalc

Tehnologia este întotdeauna de a fi contestată

18 iunie 2008 în RFID

Am citit un foarte interesant de hârtie creat de Universitatea din Massachusetts, Laboratories si Innealta, Inc <<

Această lucrare în primul rând, se referă la un compromis de contact mai puţin tehnologii în materie de în cazul în care şi / sau nu au fost puse în aplicare în mod corect sau de la furnizorul de soluţie a folosit un inoportun şi discută problemele în jurul şi cu privire la financiară de exemplu, tranzacţiile şi conformităţii.

În plus, lucrarea descrie o metodă care este discutată în mai multe forum-uri din întreaga lume şi ne-am început acum, pentru a vedea echipamente fiind produse pentru / clonners de a utiliza mijloace de rău.

În general punct acestei lucrari este de a utiliza un caz & soluţii care sprijină / vieţii private a utilizatorilor şi scopul (financiare sau non financiare) <<

The paper can be found at http://prisms.cs.umass.edu/~kevinfu/papers/ -CC-manuscript.pdf

In modern & solutions, newer devices can be used which possess a high degree of power and are therefore able to execute strong cryptographic methods (such as signatures) to protect the and information whilst the is occurring.

These systems often utilise between the / scanner and the tag/ prior to performing the . These methods and are accepted and proven to work within the traditional markets.

As mentioned in the paper, some solution store static digitally signed and/or encrypted which is provided to the / when queried, but this never changes from one to another. This may allow a malicious individual to capture and re-inject the into the at a later stage. The alternative to storing static digitally signed and/or encrypted is to negotiate a key exchange at the time of the in which the /value information is encrypted and subsequently transmitted. With this method the transmitted
changes on every and therefore even if a malicious individual was to capture the encrypted from one , this would not be accepted by the if re-injected at a later stage.

Although this is the case today, older / solutions often use technologies which are not appropriate for financial transactions and therefore may be compromised easily and in some cases without the knowledge of the holder, or .

I find this interesting how some of these less secure solution have been approved for use by acquiring banks and the schemes around the world (if they were told) in recent years, where it has been seen that these solutions have utilised techniques or deployment methods which can be compromised. These technologies and techniques would never be approved within the Point of Sale (PoS) or traditional markets.

It can only be assumed that the need to get product to market quickly at the expense of proper testing, understanding and with due consideration to industry lessons learnt has succeeded again.

Bluetooth

Mar 24, 2008 in Bluetooth

Source

This article is about the wireless specification. For King Harold , see Harold I of Denmark

is an industrial specification for wireless personal area networks (PANs).

provides a way to connect and exchange information between devices like personal digital assistants (PDAs), , laptops , PCs , printers and digital cameras via a secure, low-cost, globally available short range radio frequency .

lets these devices talk to each other when they come in range, even if they’re not in the same room, as long as they are within 10 metres (32 feet ) of each other.

The spec was first developed by Ericsson , later formalised by the Bluetooth Special Interest Group (SIG). The SIG was formally announced on May 20 , 1999 . It was established by Sony Ericsson , IBM , Intel , Toshiba and Nokia , and later joined by many other companies as Associate or Adopter members.

Table of contents

* 1 About the name
* 2 General information
o 2.1 Embedded
* 3 Features by version
o 3.1 1.0 and 1.0B
o 3.2 1.1
o 3.3 1.2
o 3.4 2.0
* 4 Future uses
* 5 concerns
* 6 profiles
* 7 See also
* 8 External links

About the name

The system is named after a Danish king Harald Blåtand (< arold Bluetooth in English), King of Denmark and Norway from 935 and 936 respectively, to 940 known for his unification of previously warring tribes from Denmark, Norway and Sweden . likewise was intended to unify different technologies like computers and mobile phones . The logo merges the Nordic runes for H and B.

General information

A typical mobile phone headset

The latest version currently available to consumers is 2.0, but few manufacturers have started shipping any products yet. Apple Computer, Inc. offered the first products supporting version 2.0 to end customers in January 2005. The core chips have been available to OEMs (from November 2004 ), so there will be an influx of 2.0 devices in mid-2005. The previous version, on which all earlier commercial devices are based, is called 1.2.

is a wireless radio standard primarily designed for low power consumption, with a short range (up to 10 meters [1] , ) and with a low-cost transceiver microchip in each device.

It can be used to wirelessly connect peripherals like printers or keyboards to computers, or to have PDAs communicate with other nearby PDAs or computers.

Cell phones with integrated have also been sold in large numbers, and are able to connect to computers, PDAs and, specifically, to handsfree devices. BMW was the first motor vehicle manufacturer to install handsfree in its cars, adding it as an option on its 3 Series , 5 Series and X5 vehicles. Since then, other manufacturers have followed suit, with many vehicles, including the 2004 Toyota Prius and the 2004 Lexus LS 430. The car kits allow users with -equipped cell phones to make use of some of the ’s features, such as making calls, while the itself can be left in a suitcase or in the boot/ , for instance.

The standard also includes for more powerful, longer-range devices suitable for constructing wireless LANs .

A device playing the role of “master” can communicate with up to 7 devices playing the role of “slave”. At any given instant in time, can be transferred between the master and one slave; but the master switches rapidly from slave to slave in a round-robin fashion. (Simultaneous from the master to multiple slaves is possible, but not used much in practice). These groups of up to 8 devices (1 master and 7 slaves) are called piconets .

The specification also allows connecting two or more piconets together to form a scatternet , with some devices acting as a bridge by simultaneously playing the master role in one piconet and the slave role in another piconet. These devices have yet to come, though are supposed to appear within the next two years.

Any device may perform an “inquiry” to find other devices to which to connect, and any device can be configured to respond to such inquiries.

Pairs of devices may establish a trusted relationship by learning (by user input) a shared secret known as a “passkey”. A device that wants to communicate only with a trusted device can cryptographically authenticate the of the other device. Trusted devices may also encrypt the that they exchange over the air so that no one can listen in.

The protocol operates in the license-free ISM band at 2.45 GHz . In order to avoid interfering with other protocols which use the 2.45 band, the protocol divides the band into 79 channels (each 1 MHz wide) and changes channels up to 1600 times per second. Implementations with versions 1.1 and 1.2 reach speeds of 723.1 kbit /s. Version 2.0 implementations feature Enhanced Rate ( ) , and thus reach 2.1 Mbit /s. Technically version 2.0 devices have a higher power consumption, but the three times faster rate reduces the times, effectively reducing consumption to half that of 1.x devices (assuming equal traffic load).

differs from Wi-Fi in that the latter provides higher throughput and covers greater distances but requires more expensive and higher power consumption. They use the same frequency range , but employ different multiplexing schemes. While is a cable replacement for a variety of applications, Wi-Fi is a cable replacement only for local area network . A glib summary is that is wireless USB whereas Wi-Fi is wireless Ethernet .

Many adapters are available, some of which also include an IrDA adapter.

Embedded

devices and modules are increasingly being made available which come with an embedded stack and a standard UART port. The UART protocol can be as simple as the industry standard AT protocol, which allows the device to be configured to cable replacement mode. This means it now only takes a matter of hours (instead of weeks) to enable legacy wireless products that communicate via UART port.

Features by version

1.0 and 1.0B

Versions 1.0 and 1.0B had numerous problems and the various manufacturers had great difficulties in making their products interoperable. 1.0 and 1.0B also had mandatory Device Address (BD_ADDR) in the handshaking process, rendering anonymity impossible at a protocol level, which was a major set-back for services planned to be used in environments, such as Consumerism.

1.1

In version 1.1 many errata found in the 1.0B specifications were fixed. There was added for non-encrypted channels.

1.2

This version is backwards compatible with 1.1 and the major enhancements include

  • Adaptive Hopping (AFH) , which improves resistance to