Carduri: debit/credit, PIN, bani, …..

Există o serie de Standarde ISO ce prezintă specificațiile pentru cardurile cu bandă magnetică:

  • 7810 Physical characteristics of credit card size document
  • 7811-1 Embossing
  • 7811-2 Magnetic stripe – low coercivity
  • 7811-3 Location of embossed characters
  • 7811-4 Location of tracks 1 & 2
  • 7811-5 Location of track 3
  • 7811-6 Magnetic stripe – high coercivity
  • 7813 Financial transaction cards

 

Pentru economia postării, nu voi intra în foarte multe detalii tehnice. Dacă standardele ISO sînt mai greu accesibile, AICI sînt detalii despre informațiile care există pe cele trei piste ale benzii magnetice.   Cifra de control se calculează conform algoritmului lui Luhn, sau modulo 10.

Legat de subiectul acesta am fost interesat mai mult de procesul prin care se realizează tranzacțiile și de discuțiile legate de existența sau inexistența PIN-ului pe card (fie el de debit sau de credit).

Fiecare dintre noi, odată cu ridicarea cardului am primit în plic și o foaie mai specială pe care era imprimat PIN-ul. Cum se generează acesta? Iată pe scurt procesul,  generic și simplificat (există mai multe variante, de exemplu cea de la IBM – 3624 PIN Generation Algorithm):

  1. se generează un umăr aleator format din 4 cifre – PIN
  2. PIN-ul este combinat cu alte informații de pe card (de exemplu numărul cardului) și se obține un bloc de date ce vor fi folosite ca date de intrare în procesul de criptare
  3. acest bloc este criptat 3DES
  4. din ceea ce rezultă la criptare se selectează cifrele ce vor alcătui Pin Verification Value sau Pin Offset
  5. se memorează pe bandă PIN Offset-ul (nu PIN-ul generat inițial) dacă se va dori ca validarea să fie fcăută de ATM. Pentru ATM-urile care afișează opțiunea de schimbare a PIN, offsetul se calculează în timp real și nu se salvează pe bandă
  6. se imprimă PIN-ul
  7. se curăță memoria dispozitivului pentru a șterge urmele PIN-ului inițial generat

Mai avem pe carduri și CVV – Card Verification Value respectiv CVV2 folosită mai ales în cazul autorizării tranzacțiilor cu ajutorul telefonului.

Ori de cîte ori introducem cardul în ATM, tot generic și simplificat,  lucrurile se desfășoară cam așa:

  1. se citește de pe banda magnetică valabilitatea cardului, eventual și celelalte informații, și vor fi stocate în bufer-ul ATM-ului
  2. ni se cere validare prin PIN, iar PIN-ul introdus este stocat într-un HSM – host/hardware security module.
  3. cererea noastră împreună cu PIN-ul sînt criptate cu cheia ATM și transmise către bancă.
  4. la destinație se decriptează informația, se calculează un nou PVV sau CVV și   se compară cu informația din baza de date.

 

Lucrurile au evoluat. Din cauză fraudelor ce au pornit de la posibilitatea copierii datelor de pe bandă și la imposibilitatea băncii de a ști dacă un card este autentic sau nu, am ajuns să avem acum carduri cu chip.  Mai sigure. Doar că am dat, cu ceva întîrziere,  peste povestea Chip and PIN is broken   (și în original ) și de filmul de mai jos:

Chip and PIN is broken

7 gânduri despre “Carduri: debit/credit, PIN, bani, …..

  1. Interesant subiectul, dar referitor la nesiguranta cardurilor noi cu chip si banda magnetica, cred ca au totusi niste plusuri fata de vechile carduri, adica oamenii care cloneaza carduri ar trebui sa aiba un curaj fantastic sa mearga in magazine si sa introduca ei cardurile in POS-uri(asta in sensul ca e mai usor sa faci phishing).
    Am auzit ca pe banda 3 ar fi stocat si pin-ul, am auzit povesti cum cineva care avea un amic intr-o banca i-ar fi schimbat pin-ul acestuia(ca sa nu se mai duca acasa sa i-a hartia cu pin-ul), dar motivul pentru care nu incercase era ca nu stia numarul fiind un card nou.
    Probabil nu era „generated pin” fiind unul intermediar.
    Nu inteleg totusi daca un pin a fost generat, nu mai poate fi modificat ulterior de la ATM, stiu cel putin in cazul meu ca se percepe o taxa si nu am incercat sa il mai modific.

    Apreciază

  2. De obicei metoda de generare şi verificare a PIN este proprietară băncii. După cum spuneam există mai multe metode ce se folosesc. În afară de IBM 3624 mai există: Netherlands PIN, IBM German Bank Pool Institution, VISA PIN-Validation Value şi Interbank PIN.

    De obicei PIN-ul se calculează pornind de la numărul contului/cardului prin criptare cu o cheie secretă. Numărul contului/cardului este înregistrat pe bandă în timp ce PIN-ul NU (ar fi chiar absurd, fie şi dacă este criptat)! Lucrurile sînt destul de tehnice: informaţia iniţială este reprezentată ASCII dar la criptarea cu DES ajunge în hexazecimal care apoi este transformată din nou în zecimal (tastatura de la ATM nu lucreaza cu hexa).

    După cum spuneam, PIN-ul nu este pe card. Verificarea la ATM presupune extragerea PIN offset-ului de pe card şi compararea cu valoarea zecimală a ceea ce rezultă prin criptare. Cheile de criptare pentru PIN-uri sînt stocate în bancă în HSM.

    Apreciază

  3. Tin sa cred totusi ca PIN-ul (nu neaparat in forma lui de cod ci PIN-ul criptat one-way) este stocat pe card. Motivul pentru care ma face sa zic asta e faptul ca atunci cind facem o plata la POS ni se cere (uneori) sa introducem PIN-ul. Dupa introducere apare mesajul daca e valid sau nu, dupa care tranzactia continua prin conectarea la banca si procesarea tranzactiei (in cazul in care PIN-ul a fost valid). Apropo, a incercat cineva de curiozitate sa introduca un card de cumparaturi de fidelizare (ex: Gima) intr-un bancomat? Try it, you’ll be surprised 🙂
    Legat de faptul ca aceste carduri cu EMV (chip) sunt insecure stiam de ceva vreme insa acum a fost si demonstrat stiintific, ca sa spun asa.
    Daca la aceste carduri mai e cum mai e, stati sa vedeti la cele Pay Pass care incep incet-incet sa apara si pe la noi. Un simplu citat de pe site-ul Mastercard:
    Is it safe?

    * You are in control – your PayPass never leaves your hands to make a payment (si daca il pierd oricine poate plati in limita a X – la noi in Ro parca e 100 RON FARA PIN!!!)
    * No accidental payments – your PayPass must be extremely close to the reader at checkout to work (mda, extremly ca si cardurile de acces…uneori chiar si 5 cm, indeajuns cat sa treci cu un RFID reader prin multime)
    * Not billed twice – even if you tap more than once at checkout, you’ll only get billed once for your purchase (de acord, iar cum de obicei nu mai scoti cardul din portofel, daca te-a pus pacatul sa ai 2-3 carduri cu PayPass de cite ori vei fi taxat?)
    http://www.mastercard.com/us/personal/en/aboutourcards/paypass/security.html

    Recomandarea mea sincera e sa nu va faceti EVER un astfel de card, oricat de pompoasa ar suna oferta bancii.

    @bogdan: vezi ca sunt destule banci ce permit schimbarea PIN-ului direct la ATM fara a percepe comision. Eu mi-l schimb odata pe luna (aproape ca o parola) 🙂

    Apreciază

    • M-ai facut curios acum cu cardurile de fidelizare, nu stiam ca la POS iti cere pin-ul, evit sa fac cumparaturi cu cardul, sunt printre majoritatea romanilor care au card, dar il folosesc doar pentru plati electronice, si transferat bani.
      Daca se cere pinul la POS inseamna ca ar trebui sa dureze cel putin cateva secunde pana se verifica pin-ul in serverul lor pe baza id-ului, si cum asta se face prin intermediul unei conexiuni de 56 kbit/s ar trebui asteptat la fel ca o tranzactie

      Apreciază

  4. Ce as vrea sa fie scris pe banda magnetica ar fi si 2 indicatori (contori) care sa numere de cite ori s-a facut o tranzactie reusita / nereusita. In felul acesta daca ai o plingere la banca cum ca ti-a fost clonat cardul si folosit in alta parte nu ai decit sa te duci cu cardul la ei si sa compare numarul tranzactiilor totale cu cele de pe card. Acum bancile iti spun sec: a fost o tranzactie cu PIN, la revedere, nu ai ce face.
    Daca e sa extindem parerile si mai mult, oare cit de sigure sunt tranzactiile facute la POS sau chiar si la ATM (in special cele din mall-uri) in care comunicatia se face wireless? Sunt convins ca ati vazut (de obicei la restaurante) ca va aduce direct dispozitivul in care bagati cardul, acesta fiind prevazut cu o mini-antena ce comunica direct cu serverul (in aceeasi incapere). Cit de criptate sunt datele respective. In mall-uri unele banci practica asa ceva la ATM-urile lor, care au undeva in spate o antena wireless (banuiesc ca emite pe o frecventa de ordinul GHz – e la fel cu cea oferita de operatorul de telefonie pentru a o conecta la telefon / modem -http://image.made-in-china.com/2f0j00KMjaOcnELQoS/3g-Umts-Magnetic-Antenna-with-Huawei-Merlin-Sierra-Wireless-Connector.jpg ) ce comunica cu un server dintr-o alta incepere securizata. Ceea ce uita banca e ca aceasta comunicatie nu e chiar atit de sigura, insa o foloseste in ideea ca securizeaza comunicarea cu serverul bancii (FAIL).

    Apreciază

    • La noi inca se fura ATM cu forta, se taie un perete si iei tot bancomatul, probabil nu e asa de mare bataie de cap, dar asta nu inseamna ca nu exista „baieti destepti” care fura prin intermediul retelelor wireless, si nimeni nu are habar ca ei exista, bancile dau vina pe clienti pentru ca le-au fost clonat cardul, si clientul nu stie cand si cum s-a intamplat.

      Apreciază

Mulţumesc.

Completează mai jos detaliile cerute sau dă clic pe un icon pentru a te autentifica:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare /  Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare /  Schimbă )

Conectare la %s

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.