Domanda

Sto sviluppando un'applicazione NFC. La mia applicazione elaborerà le informazioni segrete e voglio archiviare tali dati sulla scheda SIM. È possibile e, se è possibile, come posso farlo? La versione Android del mio telefono è Android 2.3.5.

È stato utile?

Soluzione

TL; DR - Al momento non è possibile senza enormi sforzi.

Si desidera utilizzare la scheda SIM come elemento sicuro in modalità di emulazione della scheda: questo è l'approccio favorito da Associazione GSM. Per accedere all'elemento sicuro (su SIM o CHIP integrato), è necessario utilizzare un Service Manager di fiducia (TSM). Nel tuo caso, il TSM invierebbe i dati sulla scheda SIM utilizzando i messaggi binari SMS. Il problema è che è molto presto per NFC sui telefoni cellulari. La lettura/scrittura dei tag è abbastanza semplice ma accedere all'elemento sicuro non lo è. Esistono prove molto limitate di smartphone NFC che utilizzano SIM come elemento sicuro per l'emulazione di carte e le prove sono attualmente limitate a un operatore di rete mobile (MNO) specifico in paesi specifici.

Se vuoi farlo, devi farlo Leggi le specifiche, Scrivi un TSM e quindi ottieni i contratti necessari con gli MNO per essere autorizzato a utilizzare i loro SIM.

Buona fortuna!

Altri suggerimenti

Come dice Kevin, non è possibile senza molto sforzo.

Un modo per farlo, potrebbe essere Usa un TSM. Ma è inefficiente per quello che stai cercando di ottenere E richiede di essere "online". Invia alcune informazioni al server TSM e quindi invia alcuni dati alla scheda SIM.

== Phone == |                    | == TSM ==
Application | ---- Network ----> | Server
SIM card    | <----------------- |

E TSM non è abbastanza. Avrai anche bisogno delle credenziali della scheda SIM. Senza tali credenziali, non sarai in grado di aggiornare i dati della scheda SIM dal TSM. Quelle credenziali sono controllate dal tuo operatore mobile. Infine, un TSM non è affatto obbligatorio.

Con quello schema sopra, vediamo un modo più ovvio per farlo stabilendo un link: Applicazione -> Simcard. Questa volta funziona anche se non hai una rete. Ma Android è concepito in un certo senso, non esiste un contatto diretto tra le applicazioni e la scheda SIM. C'è qualche soluzione, se sei interessato, è ben spiega In quell'articolo.

Ecco alcuni requisiti:

  • Potrebbe essere necessario rattoppare il livello RIL
  • È necessario riparare il codice sorgente di Android
  • Devi avere credenziali della tua scheda SIM (UICC) (puoi acquistare SIM SIM SIM, ma non sarà in grado di collegare la rete perché non contiene le credenziali dell'operatore)
  • Devi sapere come sviluppare software per la scheda SIM (di solito Javacard)
  • ...

Il modo più semplice per archiviare i dati segreti, in modo sicuro, senza molti mal di testa sarà quello di utilizzare una scheda SD speciale come elemento sicuro. Non c'è bisogno di patch di nulla, non è necessario avere accesso al root, non è necessario disporre di credenziali della scheda SIM. Potrebbe essere necessario sviluppare la tua scheda SD "software" per ospitare i tuoi dati lì.

La sicurezza riguarda il livello di minaccia rispetto al livello di protezione. È probabile che l'elemento sicuro sia un po 'troppo lavoro per proteggere i tuoi dati. A seconda di quali dati provi a proteggere, è possibile utilizzare un meccanismo Android integrato che sarà abbastanza sicuro.

Ho un requisito simile. Il mio approccio è, non usare la SIM dell'operatore GSM. Ma sto lavorando per trovare un modo per far usare l'operatore GSM la mia SIM. Quindi avrò i miei meccanismi di accesso per archiviare i miei articoli sicuri nella carta.

Yasin Yilmaz

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top