RobertoBifulco.it

  • topics
  • projects
  • il gatto
  • account
Home

Identificare univocamente un telefono cellulare.

Roberto Bifulco — Tue, 06/02/2009 - 09:35

Quando si realizzano applicazioni che richiedono l'interazione fra diversi dispositivi mobili, ciascuno con la propria identita' e pecurialita', ci si trova ad affrontare il problema dell'indentificazione univoca di questi apparati. Tralasciando le soluzioni che adoperano identificativi "scritti a mano" che possono avere un'utilita' in contesti ristretti e facilmente gestibili, una soluzione ideale sarebbe disporre di un identificativo univoco e non modificabile presente direttamente sul dispositivo. Tale identificativo costituirebbe poi la chiave di accesso a tutte le informazioni conservate dal sistema che riguardano quel preciso dispositivo.

Ogni telefono mobile (indipendentemente dalla tecnologia: GSM, satellitare, ecc.) dispone di un identificativo univoco, che prende il nome di codice IMEI:

Il codice IMEI (acronimo di International Mobile Equipment Identity) è un codice alfanumerico che identifica univocamente un terminale mobile (Mobile Equipment), che può essere un telefonino o un modem.

L'IMEI si può visualizzare digitando *#06#, ovvero il comando AT + CIMI.

È composto da 15 cifre, suddiviso in 4 parti:

AAAAAA-BB-CCCCCC-D

dove

  • AAAAAA - Rappresenta il TAC (Type Approval Code) che identifica la casa costruttrice e il modello del telefonino;
  • BB - Rappresenta il FAC (Final Assembly Code) che identifica il luogo di costruzione o di assemblaggo del prodotto;
  • CCCCCC - Indica il numero di serie del cellulare;
  • D - Viene definita SP (Spare) o CD (Check Digit) ed è una cifra riservata di controllo che verifica la correttezza del codice IMEI, calcolato con la formula di Luhn.

Dall'aprile 2004, il FAC è stato eliminato ed è diventato 00. Inoltre la sigla TAC ha cambiato significato e è divenuto acronimo di Type Allocation Code.

Alcuni numeri IMEI hanno 17 cifre: l'ultima parte di due cifre, detta SV (Software Version), indica la versione del firmware dell'apparecchio.

(Wikipedia)

L'IMEI e' quindi un buon candidato se si vuole disporre di un codice da usare nelle applicazioni per identificare un dispositivo mobile. Purtroppo JavaMe non definisce alcuna API di accesso all'IMEI, e non e' quindi presente un unico modo di ottenere tale informazione.

Piu' o meno tutti i produttori di dispositivi mobili hanno sfruttato la chiamata System.getProperty() per recuperare l'identificativo. Ogni produttore ha assegnato pero' un nome diverso alla proprieta' da richiamare, quindi, e' necessario tenere in considerazione questa problematica quando si scrive il codice che ottiene l'IMEI. Ecco quali sono le chiamate da effettuare per ottenere l'IMEI nei dispositivi mobili dei piu' diffusi produttori:

NOKIA

System.getProperty("phone.imei")

System.getProperty("com.nokia.IMEI")

Sony-Ericsson

System.getProperty("com.sonyericsson.imei")

Motorola

System.getProperty("IMEI")

System.getProperty("com.motorola.IMEI")

Samsung

System.getProperty("com.samsung.imei")

Siemens

System.getProperty("com.siemens.imei")

 

Qualche informazione utile per applicazioni particolari

Alcune applicazioni particolari potrebbero fare molto affidamento sul valore dell'IMEI. In questo caso e' bene conoscere qualche dettaglio ulteriore sul modo in cui il codice e' conservato e su come viene gestito dal cellulare:

L'IMEI è salvato nella SIM del cellulare, insieme agli altri codici: numero di telefono, IMSI, PIN, PUK. All'avvio di ogni chiamata viene trasmesso alla rete dell'operatore. In caso di furto, l'IMEI del cellulare rubato sarà inserito in una banca dati condivisa da tutti gli operatori.

Ciò consente di bloccare il telefonino e renderlo inutilizzabile in caso di furto, indipendentemente dall'operatore con cui si chiama.

Poiché l'IMEI non è memorizzato direttamente nel cellulare, nella memoria ROM, ma nella scheda, su Internet sono rintracciabili software che permettono facilmente di assegnare al telefonino un nuovo IMEI. Quando si tenterà di accedere alla rete GSM, l'IMEI non risulterà nell'elenco dei codici bloccati, e il telefonino diviene utilizzabile anche in caso di furto.

L'IMEI, essendo trasmesso all'avvio di ogni chiamata telefonica, può essere utilizzato per intercettazioni telefoniche. Ciò è facilitato dal fatto che il codice è salvato nella SIM senza crittografia, ed è anche trasmesso in chiaro nelle reti GSM.

Esistono in commercio modelli di cellulari, a tutela della privacy, generano un nuovo IMEI, semplicemente disinserendo e inserendo nuovamente la scheda SIM nel cellulare.

(Wikipedia)

 

  • JavaME

order cheap propecia online

Anonymous (not verified) — Sun, 09/05/2010 - 05:57

the most effective remedy to treat hair loss is propecia finasteride - order cheap propecia 5 mg online, low cost!

  • reply

Ho visto proprio ora che

Roberto Bifulco — Fri, 06/05/2009 - 14:58
Ho visto proprio ora che nelle recenti versioni della piattaforma S60 di Nokia, si adopera la seguente proprieta': System.getProperty("com.nokia.mid.imei")
  • reply

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.
  • topics
  • projects
  • il gatto
  • account