Ciao masfin
Ti riporto la spiegazione tecnica di cosa è un secure microcontroller e capirai da solo il perchè con queste card è difficilissimo estrarre i codici sorgenti:
Un Secure Microcontroller è un microcontrollore che rispecchia alcune caratteristiche fondamentali di costituzione interna tali da renderlo particolarmente sicuro dagli attacchi mirati all'estrazione del codice in esso contenuto effettuati in maniera intrusiva o non intrusiva.
Molti microncotrollori commerciali per ragioni produttive e tecnologiche, non possono essere classificati “Secure” in quanto non sono provvisti di determinate caratteristiche.
Gli attacchi non intrusivi, che normalmente vengono effettuati sui microcontrollori al fine di estrarre il codice sorgente, sono svolti applicando picchi di tensione sull'alimentazione oppure sfasando il clock. In tale maniera si tenta di porre il microcontrollore in una situazione non prevista dal costruttore e renderlo così vulnerabile per poter estrarre il codice sorgente al suo interno. Lavorando fuori specifiche avviene (soprattutto per dei microcontrolleri di vecchia concezione) che essi lascino involontariamente la possibilità di leggere alcune aree di memoria o addirittura tutto il loro contenuto, sia esso relativo alla memoria programma, alla EEprom o ad un'eventuale area OTP.
Gli attacchi di tipo intrusivo avvengono direttamente mediante il “de-packaging” del Chip, cercando di comprendere la struttura interna del microcontrollore al fine, una volta trovate le
varie aree, di poter agire più liberamente avendo accesso diretto ai bus indirizzi e dati della memoria interna. Così facendo si possono by-passare certe misure di protezione poste dal costruttore ed arrivare all'estrazione del codice sorgente.
Questa breve descrizione molto sommaria e spicciola rende noto quanto sia importante proteggere dei dati particolarmente sensibili ed importanti da eventuali intrusioni.
Le applicazioni soggette a maggiore rischio in merito, sono proprio le applicazioni sviluppate su Smartcard in quanto i volumi usualmente sviluppati sono molto elevati (basti pensare alle Smartcard GSM, Pay-TV etc.). Quanto più ampio e cospicuo è il numero di Smartcard utilizzate per una applicazione tanto maggiore è lo standard di sicurezza richiesto.
A tal proposito alcune aziende tra le quali Atmel, Siemens (Infineon) hanno introdotto nelmercato alcuni prodotti definiti “Secure Microcontroller”.
Tale sicurezza è data da alcuni dei seguenti fattori:
- Scarsità di informazioni tecniche precise circolanti in merito alla struttura interna del dispositivo. Vedi la mappatura della ROM, CPU, Bus etc.
- Sistemi di rilevazione e protezione in caso di Power Glitch o Clock Glitch. Qualora venissero rilevati dei picchi particolarmente sensibili il dispositivo dispone in auto-protezione.
- Protezione interna della mera struttura del silicio, tramite layer sovrapposti in maniera da garantire la massima sicurezza in caso di intrusioni dall'esterno. In tale maniera tentando la
rimozione dei layer oppure tentando di resettare alcuni bit si compromette definitivamente il funzionamento del dispositivo stesso rendendolo così inservibile.