8 votos

¿Por qué es la potencia de procesamiento y memoria en tarjetas inteligentes tan limitadas?

¿Por qué es común que las tarjetas inteligentes como el SLE5528 son casi siempre limitada a <16 kb de memoria disponible, y una muy lenta 8 bits del procesador? ¿Cuál es el factor limitante que hace que sea tecnológicamente o económicamente inviable plantear estos límites?

EDIT: tal vez debería darle un poco más de fondo sobre por qué estoy haciendo esta pregunta. Para un cliente en el trabajo hemos tenido que integrar un módulo de tarjeta inteligente que, básicamente, actuó como un almacén de claves (similares a los que se pueden utilizar en la programación de alto nivel a las bibliotecas como PKCS11). Estábamos constantemente golpeando los límites de este dispositivo (no se puede almacenar más de un par de claves, no puede almacenar cualquier tecla de más de 1k, tiene que esperar al menos 5 segundos antes de ir a buscar la lista de claves, etc.). La única persona a nuestro proveedor podía alcanzar era el de un vendedor que me dio el "Que es la forma de tarjetas de trabajo" como respuesta. No es como si no existe un verdadero mercado para el almacenamiento de claves RSA de tamaño >4K en una tarjeta. Me encantaría saber la verdadera razón detrás de esto.

11voto

Nils Pipenbrinck Puntos 1718

¿Por qué es común que las tarjetas inteligentes como el SLE5528 son casi siempre limitada a <16 kb de memoria disponible, y una muy lenta 8 bits del procesador? ¿Cuál es el factor limitante que hace que sea tecnológicamente o económicamente inviable plantear estos límites?

Es el precio extra causados por las características de seguridad que subir el precio. Técnicamente no se puede comparar la memoria no volátil del smart-cards normales con flash o de memoria eeprom. Por ejemplo, es posible la apertura normal de la memoria flash, bonos de alambres en el morir y leer los contenidos de la memoria. Con smart-cards esto no debería ser posible (o de manera más realista: debe ser tan complicado y caro, que no vale la pena).

Lo mismo es cierto para la CPU. Smart-tarjeta Cpu tiene un montón de características de seguridad integradas que no son necesarios para la normal de la Cpu. Se debe, por ejemplo, no dejar escapar nada de información sobre el código que se ejecutan por la cantidad de corriente que dibujar, o pérdida de cualquier cosa por la radiación de RF.

Dicho esto, todos estos de canal lateral blindings tiene un precio, no sólo en el costo de fabricación, sino también en el rendimiento computacional. Es más importante estar seguro de ser rápido.

Dicho esto, smart-cards con más memoria de la disponible. Usted puede comprar de ellos con más de 100 kb de memoria. Son caros, aunque.

La recomendación en los comentarios para cambiar las claves de RSA a la ECC es una muy buena. El tamaño de la clave de ECC en comparación con RSA en el mismo nivel de seguridad es mucho menor. Para que usted obtenga más de su limitada memoria no volátil. ECC también es probable que sea más rápido.

6voto

Nilesh Tailor Puntos 41

Esa es la forma de tarjetas de trabajo. Si desea una memoria USB, ya sabes donde encontrarlo.

Las tarjetas inteligentes están diseñados para la seguridad. Están diseñados para ser resistentes a la manipulación. Están diseñados para guardar secretos y suicidarse antes que renunciar a sus secretos. Usted no puede (con un esfuerzo razonable, salvo que la aplicación defectos) extraer los datos de la misma, o de clonar.

Las tarjetas inteligentes son (se supone) diseñado de forma que si intenta eludir el software de la interfaz y la lectura de su memoria directamente, no se puede. La única interfaces externas son el poder y líneas serie. Todo lo demás está dentro de una jaula de Faraday (para contrarrestar las emisiones de las medidas), el cual está protegido por una capa de productos químicos corrosivos (ácidos, creo) así que si usted trata de 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 dibujar potencia constante, para evitar la fuga de información a través de consumo de energía. También está diseñado para permitir que las operaciones de toma constante de tiempo. Así chips smartcard no tiene optimizaciones del hardware, tales como la instrucción de tuberías o de gestión de energía para reducir la disipación de calor. Chips Smartcard a menudo contienen partes que en realidad no sirve para ningún propósito, para hacer de emisiones y consumo de energía más constante o más difíciles de analizar, y hacer ingeniería inversa difícil.

Un número de cosas que hacen las tarjetas inteligentes, más lenta que la de los no sensibles a la seguridad chips. Desde las tarjetas inteligentes no tienen su propia fuente de energía, que necesitan para escribir en la memoria flash bastante a menudo - que no puede permitirse el lujo de caché de las cosas en la memoria RAM. De lo contrario, el adversario podía cortar la energía a ventajosa (para él) de veces. El Software tiene el uso de la constante de tiempo de los algoritmos (para evitar la sincronización de los ataques), no el algoritmo más rápido posible. El Software tiene que ser escrito con los despidos, en caso de que el adversario brilla un láser en la tarjeta para voltear algunos bits en la memoria y poner el software en un estado que no han sido accesibles (sí, eso es un ataque real).

Medidas de seguridad tales como estos tienen un costo. Además, dado que los ataques de seguir mejorando, el diseño de las fichas se ha de mantener. La mayoría de los tipos de fichas se vuelven más y más poderoso, siguiendo la ley de Moore, pero con las tarjetas inteligentes, la ingeniería de mejoras en su mayoría son absorbidos por la necesidad de luchar contra nuevos ataques.

No son tarjetas que soportan 4k claves RSA. Pero no son muy comunes. Hace un par de años, Java Card 3 se introdujo para apoyar casi todas las características del lenguaje Java; creo que una tarjeta capaz de hacer que sería capaz de firmar con 4k de RSA. Pero que en realidad no han tomado, en parte debido a mejoras de ingeniería son tomadas por el aumento de las protecciones de seguridad, y en parte debido a una gran cantidad de de ingeniería de mejoras en tarjetas sin contacto, que requieren menos consumo de energía y tiempos de respuesta más rápidos.

Pero no hay mucho de un mercado para 4k RSA. Como las tarjetas inteligentes, fueron de llegar a ese punto, ECC hizo ampliamente disponible. Usted puede obtener el mismo nivel de seguridad 4k RSA con mucho menor ECC claves. El único inconveniente de cambiar de RSA a la ECC es el soporte para el algoritmo de toda su infraestructura, pero los dispositivos embebidos, como las tarjetas inteligentes son la parte más difícil: casi cualquier cosa en el lado del servidor soporta ECC en estos días.

Si realmente necesitas algo más potente, existen dongles USB con "real" de la potencia de computación, que puede almacenar claves de cifrado y realizar operaciones criptográficas con una interfaz PKCS#11. Estos dispositivos no tienen casi la misma resistencia a la manipulación como un típico PKCS#11. Es un compromiso entre la seguridad y el rendimiento.

Leer más:

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X