Buonasera. Recentemente mi sono appassionato allo studio e al reverse engineering dei sistemi di pagamento per i distributori automatici. Ho studiato le Mifare, infami per la scarsa sicurezza, mentre ora mi sto approcciando alle COGES. Ciò che mi stupisce del sistema è che mi sembra estremamente poco sicuro, ma potrebbe trattarsi del fatto che ho frainteso qualcosa.
Partiamo dal presupposto che le chiavette in questione sono nate per essere offline, quindi contengono esse stesse il credito; i distributori - attuate le dovute verifiche - tendono a "fidarsi" dei dati inseriti. Il fatto è che i dati delle Coges sono accessibili tramite comandi triviali su diversi lettori disponibili al pubblico, e pure economici (io uso un Proxmark 3).
La sicurezza delle chiavi si affida a:
Partiamo dal presupposto che le chiavette in questione sono nate per essere offline, quindi contengono esse stesse il credito; i distributori - attuate le dovute verifiche - tendono a "fidarsi" dei dati inseriti. Il fatto è che i dati delle Coges sono accessibili tramite comandi triviali su diversi lettori disponibili al pubblico, e pure economici (io uso un Proxmark 3).
La sicurezza delle chiavi si affida a:
- Il credito attuale, "cifrato" (non ho investigato molto, ma sembra essere una cifratura triviale)
- Uno storico in chiaro delle transazioni con date e crediti passati
- Un contatore in decrement, da cui deriva un checksum
- Un UID lockato
- Presupporrebbe l'assenza totale di distributori offline, i quali non potrebbero aggiornare la chiavetta perché risulterebbe fuori sincronia col server
- Sarebbe illogico: se il sistema si appoggiasse interamente ai server, il credito potrebbe andare direttamente nel cloud senza rischiare manomissioni
