2012-02-20 15 views

risposta

15

tl; dr - non è attualmente possibile senza uno sforzo enorme.

Si desidera utilizzare la scheda SIM come Elemento protetto in modalità Emulazione scheda: questo è l'approccio preferito da GSM Association. Per accedere a Secure Element (su SIM o Integrated Chip), è necessario utilizzare un Trusted Service Manager (TSM). Nel tuo caso, TSM invierà i dati alla scheda SIM utilizzando messaggi SMS binari. Il problema è che è molto presto per NFC sui telefoni cellulari. Il tag di lettura/scrittura è abbastanza semplice ma l'accesso all'elemento sicuro non lo è. Esistono prove molto limitate degli Smart Phone NFC che utilizzano la SIM come elemento di sicurezza per l'emulazione di schede e le prove sono attualmente limitate a uno specifico operatore di rete mobile (MNO) in specifici paesi.

Se si desidera eseguire questa operazione, è necessario read the specifications, scrivere un TSM e quindi ottenere i contratti necessari con gli MNO per poter utilizzare le proprie SIM.

Buona fortuna!

+0

grazie, ho imparato che non è possibile. –

+0

Grazie. Questa risposta è ancora affidabile? – Abraham

+1

@Abraham - Più o meno, sì. Tuttavia, l'emulazione della scheda host (aggiunta in Android KitKat 4.4) può essere utile, a seconda delle esigenze. https://developer.android.com/guide/topics/connectivity/nfc/hce.html – Kevin

1

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

Yasin Yilmaz

3

Come Kevin dice, non è possibile senza un grande sforzo.

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

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

E TSM non è sufficiente. Avrete anche bisogno delle credenziali della carta SIM. Senza tali credenziali, non sarà possibile aggiornare i dati della carta SIM dal TSM. Queste credenziali sono controllate dal tuo operatore mobile. Infine, un TSM non è obbligatorio.

Con quello schema sopra, vediamo un modo più ovvio per farlo stabilendo un collegamento: Applicazione -> Simcard. Questa volta funziona anche se non hai una rete. Ma Android è concepito in un modo, non esiste un contatto diretto tra le applicazioni e la scheda SIM. C'è qualche soluzione, se sei interessato, è bene spiegare in that article.

Ecco alcuni requisiti:

  • potrebbe essere necessario correggere il livello di RIL
  • È necessario correggere il codice sorgente di Android
  • è necessario disporre delle credenziali della carta SIM (UICC) (è possibile acquistare la carta SIM sviluppatore, ma non sarà in grado di connettersi alla rete, perché non contiene le credenziali di operatore)
  • Hai bisogno di sapere come sviluppare software per la scheda SIM (di solito Javacard)
  • ...

Il modo più semplice per archiviare dati segreti, in modo sicuro, senza troppi problemi, consiste nell'utilizzare una scheda SD speciale come elemento sicuro. Non è necessario applicare alcuna patch, non è necessario avere accesso root, non è necessario avere credenziali della SIM card. Potresti ancora dover sviluppare il tuo "software" per la scheda SD per ospitare i tuoi dati lì.

La sicurezza riguarda il livello di minaccia rispetto al livello di protezione. È probabile che Secure Element lavori un po 'troppo per proteggere i tuoi dati. A seconda di quali dati si tenta di proteggere, è possibile utilizzare il meccanismo di Android integrato che sarà abbastanza sicuro.