Card abbonamenti TPER "Mi Muovo"

Si tratta di una PICC a 13.56MHz, ma a differenza di quel che pensavo, non è la solita Mifare.
Vediamo un po' di capire di cosa si tratta...

Il mio lettore ACS ACR122U mi restituisce, come ATR "virtuale" della card, 3B 8C 80 01 50 xx xx xx xx xx xx xx xx xx 71 71 cc che, tradotto, vuol dire che si tratta di una scheda che utilizza ISO14443-B.
Questo riduce leggermente il campo, lasciando molto probabilmente solo la possibilità che si tratti di una carta Calypso. Oltretutto mi spiazza un pochino: mi aspettavo che si trattasse della solita Mifare 1K... Sembra che chi ha studiato il sistema abbia svolto bene i compiti Smile
Così, però, al momento dubito di riuscire ad analizzare oltre queste card... Ed è un peccato, perché mi sarebbe piaciuto riutilizzarle per altre applicazioni, ma tutte le specifiche per le Calypso sono costose e sotto NDA Sad

[edit]: Ho trovato un bellissimo tool (cardpeek) che riconosce e decodifica anche le Calypso.
Ecco la parte interessante del log di una:

0020 INFO    ATR is 17 bytes: 3B8C8001501068DD3700000000B371717C
0021 INFO    send: 94A40000022010 [3S]
0022 INFO    Recv: 9000 85170804041D061F1212120103030300(...) [Normal processing]
0023 INFO    send: 94A40000020002 [3S]
0024 INFO    Recv: 9000 85170204021D011F0012000101010100(...) [Normal processing]
0025 INFO    send: 94B201041D [2S]
0026 INFO    Recv: 9000 00000000000000040071B30200000000(...) [Normal processing]
0027 INFO    send: 94B202041D [2S]
0028 INFO    Recv: 6A83  [Wrong parameter(s) P1-P2 - Record not found]
0029 INFO    send: 94A40000020003 [3S]
0030 INFO    Recv: 9000 85170304021D01011200000102010100(...) [Normal processing]
0031 INFO    send: 94B201041D [2S]
0032 INFO    Recv: 6982  [Command not allowed - Security status not satisfied]
0033 INFO    send: 94A40000022000 [3S]
0034 INFO    Recv: 9000 85170002000000121200000103010100(...) [Normal processing]
0035 INFO    send: 94B201041D [2S]
0036 INFO    Recv: 6986  [Command not allowed - Command not allowed (no current EF)]
0037 INFO    send: 94A40000022001 [3S]
0038 INFO    Recv: 9000 85170704021D011F1200000101010100(...) [Normal processing]
0039 INFO    send: 94B201041D [2S]
0040 INFO    Recv: 9000 02FD8C16000000000000000000000000(...) [Normal processing]
0041 INFO    send: 94B202041D [2S]
0042 INFO    Recv: 6A83  [Wrong parameter(s) P1-P2 - Record not found]
0043 INFO    send: 94A40000022002 [3S]
0044 INFO    Recv: 6A82  [Wrong parameter(s) P1-P2 - File not found]
0045 INFO    send: 94A40000022010 [3S]
0046 INFO    Recv: 9000 85170804041D061F1212120103030300(...) [Normal processing]
0047 INFO    send: 94B201041D [2S]
0048 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0049 INFO    send: 94B202041D [2S]
0050 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0051 INFO    send: 94B203041D [2S]
0052 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0053 INFO    send: 94B204041D [2S]
0054 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0055 INFO    send: 94B205041D [2S]
0056 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0057 INFO    send: 94B206041D [2S]
0058 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0059 INFO    send: 94B207041D [2S]
0060 INFO    Recv: 6A83  [Wrong parameter(s) P1-P2 - Record not found]
0061 INFO    send: 94A40000022020 [3S]
0062 INFO    Recv: 9000 85170904021D041F1212000102030100(...) [Normal processing]
0063 INFO    send: 94B201041D [2S]
0064 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0065 INFO    send: 94B202041D [2S]
0066 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0067 INFO    send: 94B203041D [2S]
0068 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0069 INFO    send: 94B204041D [2S]
0070 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0071 INFO    send: 94B205041D [2S]
0072 INFO    Recv: 6A83  [Wrong parameter(s) P1-P2 - Record not found]
0073 INFO    send: 94A4000002202A [3S]
0074 INFO    Recv: 9000 85170A04081D011F1212120102030200(...) [Normal processing]
0075 INFO    send: 94B201041D [2S]
0076 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0077 INFO    send: 94B202041D [2S]
0078 INFO    Recv: 6A83  [Wrong parameter(s) P1-P2 - Record not found]
0079 INFO    send: 94A4000002202B [3S]
0080 INFO    Recv: 9000 85170B04081D011F1212120102030200(...) [Normal processing]
0081 INFO    send: 94B201041D [2S]
0082 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0083 INFO    send: 94B202041D [2S]
0084 INFO    Recv: 6A83  [Wrong parameter(s) P1-P2 - Record not found]
0085 INFO    send: 94A4000002202C [3S]
0086 INFO    Recv: 9000 85170C04081D011F1212120102030200(...) [Normal processing]
0087 INFO    send: 94B201041D [2S]
0088 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0089 INFO    send: 94B202041D [2S]
0090 INFO    Recv: 6A83  [Wrong parameter(s) P1-P2 - Record not found]
0091 INFO    send: 94A4000002202D [3S]
0092 INFO    Recv: 9000 85170D04081D011F1212120102030200(...) [Normal processing]
0093 INFO    send: 94B201041D [2S]
0094 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0095 INFO    send: 94B202041D [2S]
0096 INFO    Recv: 6A83  [Wrong parameter(s) P1-P2 - Record not found]
0097 INFO    send: 94A4000002202E [3S]
0098 INFO    Recv: 6A82  [Wrong parameter(s) P1-P2 - File not found]
0099 INFO    send: 94A4000002202F [3S]
0100 INFO    Recv: 6A82  [Wrong parameter(s) P1-P2 - File not found]
0101 INFO    send: 94A40000022060 [3S]
0102 INFO    Recv: 6A82  [Wrong parameter(s) P1-P2 - File not found]
0103 INFO    send: 94A40000022061 [3S]
0104 INFO    Recv: 6A82  [Wrong parameter(s) P1-P2 - File not found]
0105 INFO    send: 94A40000022062 [3S]
0106 INFO    Recv: 6A82  [Wrong parameter(s) P1-P2 - File not found]
0107 INFO    send: 94A40000022040 [3S]
0108 INFO    Recv: 9000 85171D04021D031F1200000103010100(...) [Normal processing]
0109 INFO    send: 94B201041D [2S]
0110 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0111 INFO    send: 94B202041D [2S]
0112 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0113 INFO    send: 94B203041D [2S]
0114 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0115 INFO    send: 94B204041D [2S]
0116 INFO    Recv: 6A83  [Wrong parameter(s) P1-P2 - Record not found]
0117 INFO    send: 94A40000022050 [3S]
0118 INFO    Recv: 9000 85171E04021D011F1200000103010100(...) [Normal processing]
0119 INFO    send: 94B201041D [2S]
0120 INFO    Recv: 9000 00000000000000000000000000000000(...) [Normal processing]
0121 INFO    send: 94B202041D [2S]
0122 INFO    Recv: 6A83  [Wrong parameter(s) P1-P2 - Record not found]
0123 INFO    send: 94A40000022069 [3S]
0124 INFO    Recv: 6A82  [Wrong parameter(s) P1-P2 - File not found]
0125 INFO    send: 94A40000023F1C [3S]
0126 INFO    Recv: 6A82  [Wrong parameter(s) P1-P2 - File not found]
0127 ERROR   (DEBUG) [string "calypso.lua"]:168: attempt to concatenate local 'country' (a nil value)
0128 ERROR   Called from calypso_process
0129 ERROR   Runtime error in calypso.lua

Che, decodificato, risulta:

Probabilmente, l'errore finale è dovuto al fatto che non è una carta inizializzata (o per lo meno non completamente, basta vedere quanti "file not found")... Proverò anche con una inizializzata (appena mi capita) per vedere quali dati vengono memorizzati. Una cosa su cui praticamente tutti sono d'accordo è che le carte Calypso violano la privacy, ma vorrei capire fino a che punto...

0
Il tuo voto: Nessuna

Commenti

Opzioni visualizzazione commenti

Seleziona il tuo modo preferito per visualizzare i commenti e premi "Salva impostazioni" per attivare i cambiamenti.

Any news? :)

Hey man!
I was looking on google for the Calypso ATR and I have found your test.

Did you make any further tests? I am quite interested to study Calypso cards, since Mifare became a bit boring Smile

Cheers,
Luca

P.S.: In case, I would like to stay in touch, where I could find your email?

Il tuo voto: Nessuna

Nearly nothing

immagine di NdK

I've had nearly no time for more experiments, except reading an initialized card (but I can't publish that data, since the card is not mine).
At a first lookm it seems the 'TPER' implementation doesn't give out 'private' informations like french ones, but I'd need more cards to check.

Anyway, since I'm not willing to pay 1K€ for the specs, I doubt I'll be able to squeeze anything more out of those cards. ATM I'm focusing on JavaCards -- a whole new world for me! That's real crypto.

To contact me, you can use the site contact form and send me your address. Thanks to really stupid spammers (they still didn't notice that comments are moderated!), I won't publish it on the site.

Il tuo voto: Nessuna

Link interessante

immagine di NdK

Pirates Mag' (EN) raccoglie un po' di analisi di varie card usate in giro per il mondo, con sorgenti in BASIC. Vale la pena di leggerlo.

Il tuo voto: Nessuna

Numero logico su MiMuovo

Secondo il capitolato tecnico l'unica informazione che si puo' leggere in chiaro su una MiMuovo e' il numero logico, che e' quello laserato sulla tessera. Dovrebbe essere nei primi 32 bit dell'environment. Mi confermi che il numero logico della tua tessera e' il:
50170902?

(il prefisso 50 significa Bologna, credo)

grazie,

Francesco

Il tuo voto: Nessuna

Azzeccato!

immagine di NdK

Esatto. Direi che ci hai preso su entrambi i fronti.
Sai per caso dove reperire ulteriori informazioni?
In altre Calypso sono indicati e leggibili in chiaro anche i codici delle "stazioni" oltre le date di inizio e fine validità.
Come dicevo più sopra, dubito che sulle mie tessere ci siano altri dati (essendo un abbonamento integrato, ogni anno me ne danno una nuova), ma sarebbe interessante poterle anche solo cancellare e riutilizzare per altro (odio gli sprechi)... Magari, non inizializzandole hanno pure lasciato le transport keys di default Smile

Il tuo voto: Nessuna

Opzioni visualizzazione commenti

Seleziona il tuo modo preferito per visualizzare i commenti e premi "Salva impostazioni" per attivare i cambiamenti.
Realizzato con Drupal, un sistema open source per la gestione dei contenuti