Una scheda SIM è una smart card. Segue tutti gli standard pertinenti per le smart card, è prodotto dai venditori di smart card.
Una smart card è "solo" un computer antimanomissione. Ha una propria CPU, RAM, ROM, area di memoria (spesso EEPROM). Potenza e orologio sono forniti dall'esterno. Si suppone che il dispositivo sia resistente all'estrazione fisica dei dati memorizzati internamente: è dotato di molti sensori che rilevano una violazione del coperchio esterno, operazioni in condizioni fuori range (temperatura troppo bassa o troppo alta, orologio tasso in partenza dalla frequenza prevista ...), e, in definitiva, dovrebbe autodistruggersi se avanzato reverse engineering viene tentato su di esso.
Naturalmente, questa è tutta una questione di soldi. Si dice che l'ispezione diretta con un microscopio elettronico e laser sia costata qualche migliaio di dollari; negli anni passati, era una vera industria tra gli hacker della televisione a pagamento via satellite (specialmente nei paesi che ricevevano il segnale dal satellite ma che non potevano legalmente sottoscriversi per mancanza di un'infrastruttura commerciale). Ho visto accadere molto in Nord Africa, con TV europea). Inoltre, i metodi di indagine per l'estrazione della chiave segreta da una smart card sono stati studiati seriamente da entrambi gli studiosi e dall'industria . Infine, una smart card è un piccolo computer a sé stante, utilizza software e quindi ha bug , alcuni dei quali sono sfruttabili.
Recentemente ho lavorato con questo tipo di prodotto . Questa è una smart card che può essere inserita nel "formato SIM" e tuttavia può memorizzare e utilizzare dozzine di chiavi RSA. Le chiavi sono generate a bordo e le prestazioni sono accettabili per molti usi (meno di 1 secondo per una firma RSA a 2048 bit). La carta è stata certificata conforme a FIPS 140-2 Level 3 e EAL 5+, che sono entrambi piuttosto impressionanti (non garantiscono che la carta sia indistruttibile, ma dimostrano che il venditore aveva investito meno sforzi e denaro quell'obiettivo).
Quello che spiego sopra è che è tecnologicamente possibile avere una scheda SIM che memorizza e usa chiavi asimmetriche per la crittografia, con una resistenza all'estrazione della chiave privata che non è trascurabile.
Ora, naturalmente, il problema è che le schede SIM esistenti e implementate non sono necessariamente in grado di farlo. La funzionalità di base di una scheda SIM è quella di memorizzare un tasto simmetrico e utilizzarlo per un protocollo di autenticazione con la rete del gestore telefonico. Questo è chiamato A3 / A8 nel mondo GSM. Questa è solo crittografia simmetrica, che è computazionalmente molto più semplice e può essere eseguita con una CPU di base a 8 bit, senza richiedere alcun circuito di accelerazione. Tali carte sono molto più economiche delle smart card RSA e le compagnie telefoniche sono sempre tentate di abbassare il più possibile i costi (l'ordine di grandezza del costo di produzione di una singola carta è di circa 5 $ per una carta in grado di RSA , meno di 1 $ per una carta che fa solo crypto simmetrico).
Alcune società hanno distribuito schede SIM che possono firme di calcolo , ma non penso che tu possa lo aspetto dalla maggior parte delle carte SIM esistenti (ancora). La tecnologia è lì, ora è necessario un incentivo commerciale .
Un'ulteriore complicazione è se l'accesso da un'app per Android sia consentito. All'interno di un telefono, la scheda SIM è piuttosto isolata, poiché viene utilizzata come base legale per la fatturazione delle comunicazioni: se la carta può essere dirottata da un'app di malware, diventa troppo facile per i clienti dichiarare che il loro telefono è stato violato e quindi rifiutare di pagare le bollette.
Non "crittografati con la chiave privata". Con una chiave privata, decripta o firma . Suppongo che il tuo caso d'uso sia quello dell'autenticazione: vuoi assicurarti, dal server, che un utente specifico si trovi all'altro capo della linea.