Tarjeta SIM utilizada como almacenamiento seguro con AVR

Me gustaría usar una tarjeta SIM normal para almacenar una clave AES para que la use un microcontrolador AVR. Creo que una SIM es lo suficientemente segura (¿no es así?).

Mi problema es que no puedo encontrar nada sobre la interfaz de una tarjeta SIM con Arduino (para la creación de prototipos) como almacenamiento seguro y no como GSM. ¿Tengo que actualizar un sistema operativo personalizado a la tarjeta SIM? ¿O debería simplemente comprar una tarjeta inteligente ordinaria y simplemente cortarla en las dimensiones de la tarjeta SIM?

¿ Qué hay de malo en las soluciones de seguridad de Atmel ?
Eché un vistazo al módulo AES CryptoAuthentication y no es para mi uso. Es una implementación regular de AES, por lo que para ser lo suficientemente seguro requiere una clave aleatoria, y lo que quiero hacer es almacenar en algún lugar la clave aleatoria utilizada en mi aplicación AES.
¿Por qué no guardar la llave en el AVR? Probablemente no sea 100% seguro, pero no es menos seguro que leer una clave de otra cosa a través de cables que se pueden espiar. Incluso si cifra la clave a medida que atraviesa el cable, la clave para descifrarla debe estar en el AVR y, por lo tanto, depender de su mecanismo de seguridad.
Tiene que haber una forma de autenticación. Si necesito un PIN, ¿será seguro? Además, la EEPROM es muy fácil de leer, ¿no?
Proyecto interesante; Comenzaría leyendo los documentos 3GPP que especifican la interfaz de la tarjeta SIM.
3gpp es un estándar de comunicación, no es lo que estoy buscando... gracias aunque
@ChrisStratton: Creo que todos están de acuerdo en que enviar una clave a través de un cable es menos seguro que mantener una clave dentro de un chip. Creo que te estás perdiendo el punto de que las tarjetas SIM están diseñadas para almacenar una clave única que nunca sale de la tarjeta SIM: el teléfono pasa datos a la SIM, la SIM usa su clave interna para firmar los datos y la tarjeta SIM pasa los datos firmados de vuelta al teléfono.
@ChrisStratton: Si bien almacenar una clave en el AVR es una buena idea y puede ser mejor que una SIM para la aplicación de ttouch, me parece probable que una persona típica que escriba el firmware del AVR tenga más errores de seguridad en su código que una persona típica que escriba Es probable que el firmware de SIM y, por lo tanto, Key-in-AVR sea menos seguro que Key-in-SIM.
@Davidcary: usar la SIM como motor de encriptación es una idea interesante, aunque un poco diferente de la redacción de la pregunta. Creo que mi preocupación sería que, si bien la clave podría ser posiblemente más segura, cualquier mensaje o texto claro transmitido a la tarjeta SIM para encriptación o firma probablemente se pueda recuperar en tránsito con un analizador lógico de $20 o sustituirlo por un microcontrolador de $5. El hecho de que la clave pueda ser irrecuperable no es un gran beneficio, a menos que su preocupación sea sobre un atacante que solo quiere copiar las credenciales de un dispositivo que luego devolverá.

Respuestas (1)

respuesta literal

El "lector SIM" y algunos cables parecen ser todo el hardware necesario para conectar una tarjeta SIM a un Arduino. Parece que hay algunos scripts de Python diseñados para comunicarse con él a través de un puerto serie; quizás no le resulte demasiado difícil traducirlo a algo (C++) que se ejecute en un Arduino.

¿O debería simplemente comprar una tarjeta inteligente normal...?

"Una tarjeta SIM es una tarjeta inteligente". -- Thomas Pornin. "¿Hay material criptográfico en la tarjeta SIM de un teléfono que se pueda usar con el cifrado RSA?"

La mayoría de las tarjetas SIM de hoy en día tienen "aplicaciones" que se ejecutan en la pequeña CPU de la tarjeta SIM almacenada en la memoria flash de la tarjeta SIM. -- "Una breve introducción a las tarjetas SIM"

respuesta mas general

No importa en qué chip se esté ejecutando el software criptográfico, parece mejor generar y mantener la clave dentro de ese mismo chip.

Parece más fácil escribir software que implemente el cifrado de clave pública para ejecutarse en un AVR que en una tarjeta inteligente. Si ejecuta la criptografía en el chip AVR, sería mejor mantener la clave segura dentro del chip AVR en lugar de intentar almacenarla externamente.

El cifrado de clave pública (combinado con el cifrado simétrico como AES) parece ser más útil en general que cualquier sistema de cifrado simétrico solo. Parece que te puede interesar el "Pico: ¡No más contraseñas!" sistema; véase también los primeros "Pico: ¡No más contraseñas!" video.