Newsgroup: it.hobby.elettronica.digitale
Titolo: PIC e SIM CARD ?

Salve a tutti, è da tempo che mi sto chiedendo quale legame via sia tra
microcontrolori e PIC e Sim CARD dei cellulari.
Ho diverse SIM scadute, le vorrei azzerare completamente per poterne usarne
tutti i 32kb disponibili, per fare piccoli controlli di vario genere. Lo
posso fare ?
Vi è da qualche parte la pedinatura della sim card, come costruire il
programmatore, il codice ASM, i settori della memoria, il data sheet, ecc.
ecc. ?
Grazie Alessio.


Beh, le SIM sono delle normalissimo smartcard ISO7816 solo che hanno un
formato diverso, quello piccolo. Se ti ricordi, nei primi telefoni (tipo
il Motorola 8700) si usavano delle SIM che avevano le stesse dimensioni
delle smartcard.
I contatti sono gli stessi, quindi c'è una Vcc, un GND, un I/O (quindi
half-duplex, anche se ci sono delle carte strane che vanno in
full-duplex
ma sono elettricamente diverse), un CLK, un paio di Not Used (o Reserved
For Future Use). Non ricordo che altro, comunque sono tutte standard
quindi i contatti sono sempre gli stessi.
Le smartcard possono dividersi sostanzialmente in due tipi: a
microprocessori,
o smartcard intelligenti o chipcard o come altro vuoi, e le memory card
o carte memoria o smartcard stupide o come altro vuoi.
Le memory card sono semplicemente delle EEPROM su cui si può scrivere
e/o
leggere. Il segnale di CLK e la linea di I/O permettono questo
trasferimento
dati normalmente comandato dal master, cioé dal lettore della scheda.
Dovrebbero essere memory card le carte telefoniche elettroniche,
le schede dell'AGIP, quelle dei supermercati, ecc. (ma non ne sono
sicuro).
Le chip card sono più evolute poiché all'interno hanno un chip con una
CPU che può fare dei calcoli. Normalmente è un microcontrollore, più
o meno complesso, che gestisce il collegamento con l'esterno, mediante
un protocollo ben preciso (descritto anch'esso dalle specifiche ISO7816)
ed eventualmente esegue delle operazioni. Quali operazioni? Dipende
dall'uso. Normalmente la capacità di calcolo delle chip card non è
esagerata quindi si fanno fare a questi micro i calcolo indispensabili.
Nella pratica, la gestione della EEPROM interna con dei dati (il tipo
di abbonamento per le pay-tv, per esempio) e eventuali algoritmi di
cifratura.
Le SIM (e anche le schede della pay-tv) sono delle chip card. Mediante
un normale lettore per smartcard (anche lo Smartmouse va bene) è
possibile interagire con la SIM come fa un telefonino. Si trasmettono
dei comandi che possono essere: leggi un nome in rubrica, cancella un
messaggio, ecc. ecc.
In particolare, ogni SIM ha all'interno un algoritmo che permette
di autenticarsi alla rete GSM del proprio operatore. All'accensione
l'operatore, attraverso la rete GSM ed il telefonino, manda alla SIM
un numero casuale. La SIM, attraverso un algoritmo di crittazione,
lo trasforma in un altro numero di risposta grazie ad una chiave univoca
scritta all'interno della SIM e incognita anche all'utente ma
conosciuta solo dall'operatore. Il telefonino rimanda indietro al
gestore
il numero di risposta così calcolato e l'operatore lo confronta
con il numero che lui si calcola. Se coincidono vuol dire che la SIM
è autentica poiché si suppone che nessun altro sappia la chiave univoca
(chiamata Ki). Quindi anche conoscendo l'algoritmo (e lo si conosce
almeno per le vecchie schede) non si può ottenere un numero di risposta
valido.
In realtà la Ki la si può ottenere, almeno per le vecchie schede SIM,
e qualcuno è riuscito anche a clonare la proprio SIM (alla faccia di
chi diceva che il GSM era privo di questo problema).
Nelle ultime schede hanno cambiato algoritmo quindi trovare la Ki della
propria SIM è sicuramente più complesso.
Cosa te ne puoi fare di una SIM scaduta? Beh, se è di vecchio tipo
potresti tentare di trovare la Ki che è un numero univoco. A questo
punto puoi usarla come chiave personale. Ti fai uno Smartmouse con
micro che utilizza più o meno lo stesso meccanismo della rete GSM
per capire se nella SIM c'è la Ki che vuoi tu. A questo punto
hai un'autenticazione più che valida.
Purtroppo non puoi fare molto altro, a parte utilizzare la rubrica per
memorizzare qualcosa e l'area degli SMS. Non puoi, per esempio,
"programmare" il micro che si trova all'interno della SIM per metterci
un altro firmware che si comporta in altro modo. Probabilmente si può
fare ma bisognerebbe portare la SIM in una modalità particolare e
sinceramente non sono a conoscenza di un tale meccanismo, anche se non
è teoricamente impossibile.
PIC è il nome che l'azienda Microchip ha dato ai suoi microcontrollori.
In realtà ce ne sono tanti altri ma i PIC sono diventati estremamente
diffusi tra gli hobbisti per molte loro caratteristiche.

Salve e scusate se mi intrometto.
Un grazie a Pozz per tutte queste informazioni.
Volevo chiedere se le schede dei supermercati, dell'AGIP ecc.. possono
essere lette e magari modificarle.
Se si, con quale programmatore ?
E' possibile costruirsi il programmatore?
Grazie
Francesco


 E' possibile costruirsi il programmatore?
<IRONICO>
Non immagino lo scopo di questa domanda..
</IRONICO>

 E' possibile costruirsi il programmatore?
Beh, io non so benissimo cosa ci sia dentro in quelle schede AGIP,
supermercati ed altro simile. Penso ci sia solo una EEPROM ma non
ne sono sicurissimo. Per quello che costano le smartcard vergini
da programmare (usate ampiamente tempo fa dai piratoni del satellite)
non vedo perché una ditta non debba usare queste.
Poi bisogna stabilire il tipo di comunicazione sia a livello fisico
che a livello di protocollo. Le carte ISO7816 standard hanno un ben
preciso protocollo e possono essere interfacciate bene con un
computer con un qualsiasi lettore tipo smartmouse/dumbmouse o altri
più costosi.
Non so però se queste cartine hanno il protocollo standard o meno.
Non ci vuole niente a crearsi un protocollo non standard e questo
lo renderebbe più sicuro.
La prima cosa che farei è vedere se la carta mi restituisce un ATR
con un qualsiasi software di gestione delle ISO7816. Se c'è un ATR
quasi sicuramente la scheda è una chip-card e colloquia con uno
dei protocolli standard. Altrimenti non so.

Ciao Pozz e grazie per aver risposto.
Puoi spiegarmi che cos'è un ATR e con quale software è possibile averlo?
Si può costruire lo smartmouse o bisogna per forza comprarlo?
GRazie.
Francesco


 essere lette e magari modificarle.
Anche se sono delle semplici EEPROM io eviterei (o almeno aspetterei) prima
di modificarne il contenuto o i punti accumulati!!
Ti spiego: tempo fa si credeva che clonando una scheda telefonica a banda
magnetica, il che puň risultare abbastanza facile (tanto sulla banda
magnetica non ci sono chip!!), si potesse fare telefonate per un credito
illimitato, tanto quando finisci il credito ti basta rileggere i dati da una
piena. Invece non č cosě perchč i dati scritti sulla schede sono contenuti
anche in un database situato in centrale. Quindi una volta che il credito
cambia, cambia anche nel database centrale....
....credo che non ci sia bisogno di aggiungere altro.
Saluti da Roby