Así funcionan las tarjetas inteligentes. Si quieres una memoria USB, sabes dónde encontrarla.
Las tarjetas inteligentes están diseñadas para la seguridad. Están diseñados para ser resistentes a la manipulación . Están diseñados para almacenar secretos y suicidarse en lugar de revelar sus secretos. No puede (con un esfuerzo razonable, salvo fallas de implementación) extraer los datos de él o clonarlo.
Las tarjetas inteligentes están (supuestamente diseñadas) de modo que si intentas evitar la interfaz del software y leer su memoria directamente, no puedes. Las únicas interfaces externas son las líneas de alimentación y serie. Todo lo demás está dentro de una jaula de Faraday (para contrarrestar las mediciones de emisiones) que está protegida por una capa de productos químicos corrosivos (ácidos, creo), de modo que si intentas hacer un agujero en la capa de protección, el chip (especialmente la memoria) ser dañado más allá de la recuperación.
El chip está diseñado para generar energía constante, para evitar filtraciones de información a través del consumo . También está diseñado para permitir que las operaciones tomen tiempo constante. Por lo tanto, los chips de tarjetas inteligentes no tienen optimizaciones de hardware, como canales de instrucciones o administración de energía para reducir la disipación de calor. Los chips de tarjetas inteligentes a menudo contienen partes que en realidad no sirven para ningún propósito, para hacer que las emisiones y el consumo de energía sean más constantes o más difíciles de analizar, y para dificultar la ingeniería inversa.
Varias cosas hacen que las tarjetas inteligentes sean más lentas que los chips no sensibles a la seguridad. Dado que las tarjetas inteligentes no tienen su propia fuente de alimentación, necesitan escribir en la memoria flash con bastante frecuencia; no pueden permitirse almacenar en caché las cosas en la RAM. De lo contrario, el adversario podría cortar el poder en momentos ventajosos (para él). El software tiene que usar algoritmos de tiempo constante (para evitar ataques de tiempo ), no el algoritmo más rápido posible. El software debe escribirse con redundancias, en caso de que el adversario apunte un láser a la tarjeta para voltear algunos bits en la memoria y poner el software en un estado que no debería haber sido accesible (sí, es un ataque real).
Las medidas de seguridad como estas tienen un costo. Además, dado que los ataques siguen mejorando, el diseño de los chips tiene que mantenerse al día. La mayoría de los tipos de chips se vuelven cada vez más potentes siguiendo la ley de Moore, pero con las tarjetas inteligentes, las mejoras de ingeniería son absorbidas principalmente por la necesidad de contrarrestar nuevos ataques.
No son tarjetas que soportan 4k claves RSA. Pero son poco comunes. Hace unos años, se introdujo Java Card 3 para admitir casi todas las características del lenguaje Java; Creo que una tarjeta capaz de hacerlo sería capaz de firmar con 4k RSA. Pero en realidad no lo han hecho, en parte porque las mejoras de ingeniería se toman al aumentar las protecciones de seguridad, y en parte porque muchas mejoras de ingeniería se han incorporado a las tarjetas sin contacto, que requieren menos consumo de energía y tiempos de respuesta más rápidos.
Pero no hay mucho mercado para 4k RSA. A medida que las tarjetas inteligentes llegaban a ese punto, ECC se hizo ampliamente disponible. Puede obtener el mismo nivel de seguridad que 4k RSA con claves ECC mucho más pequeñas. El único inconveniente de cambiar de RSA a ECC es la compatibilidad con el algoritmo en toda su infraestructura, pero los dispositivos integrados, como las tarjetas inteligentes, son la parte más difícil: casi cualquier cosa del lado del servidor es compatible con ECC en estos días.
Si realmente necesita algo más potente, existen dongles USB con potencia informática "real", que pueden almacenar claves criptográficas y realizar operaciones criptográficas con una interfaz PKCS # 11. Estos dongles no tienen casi la misma resistencia a la manipulación física que un PKCS # 11 típico. Es un compromiso entre seguridad y rendimiento.
Otras lecturas: