Las smartcards
son pequeños ordenadores, su evolución es tan rápida
como la de la informática en general y es difícil
predecir su futuro. Esta página resume su presente en cuanto
a la criptografía.
Las tarjetas
inteligentes (o smartcards) actuales tienen suficientes capacidades
como para permitir usar protocolos y aplicaciones de seguridad
populares. Por ejemplo permiten firmar y verificar firmas RSA
eligiendo entre longitudes de clave de 512, 768 o 1024 bits. Los
algoritmos suelen usar el teorema chino del resto (ver página
de código fuente) para acelerar el proceso. Incluso con
1024 bits el tiempo necesario para firmar es menos de un segundo.
Finalmente el fichero EEPROM que contiene la clave privada está
diseñado de forma que el material sensible nunca salga
del chip y ni siquiera el poseedor de la tarjeta puede acceder
a él. El uso de la clave privada está protegido
por un PIN de modo que sólo con poseer la clave no es suficiente
para firmar con la tarjeta.
Las smartcards
pueden generar pares de claves RSA aunque puede ser un proceso
muy lento. El tiempo típico puede oscilar entre 8 segundos
y 3 minutos. Este último tiempo viola las especificaciones
ISO para las comunicaciones, así que puede ser necesario
un hardware especial. Por otro lado las claves generadas podrían
no ser de buena calidad debido a que los algoritmos para la elección
de primos son débiles.
El algoritmo
de firmado digital (DSA) está menos implementado que RSA,
cuando aparece suele ser de 512 bits. Las tarjetas más
importantes pueden emplear DES o TripleDES, y pueden ser usados
como función de autenticación de mensajes (MAC).
Sin embargo como los interfaces serie de las smartcards proporcionan
poco ancho de banda el cifrado simétrico es muy lento.
Para que sea
difícil extraer información de los chips existen
varios mecanismos de seguridad hardware. Por ejemplo para impedir
que se clone la tarjeta se usa un número de serie inalterable
"quemado" en la memoria. Si detectan fluctuaciones en
las voltajes, temperatura o frecuencia del reloj, las tarjetas
se reinician.
Es típico
que se incluyan funciones de monedero electrónico pero
basadas en claves simétricas. Los algoritmos de resumen
suelen ser SHA-1 y MD5 pero de nuevo la longitud actual de las
tarjetas hacen que el hashing no pueda hacerse de forma masiva.
La generación
de números aleatorios depende del fabricante. Algunos utilizan
un pseudo RNG donde cada tarjeta tiene una semilla diferente,
otros tienen auténticos RNG basados en algún fenómeno
físico.
Fuente: Sspsolutions
Para saber más: