trabajo practico final de criptografia y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  ·...

28
TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y SEGURIDAD INFORMATICA (66.69) SMART CARDS PROFESOR: Ing. Dams Alberto INTEGRANTES: Bluvstein Alejandro 71322 Lehmann Marcelo 71367 Nardini Sergio 71774 Sanin Dario 71354 CURSO: 1er. Cuatrimestre 1998

Upload: vodan

Post on 15-Apr-2018

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

TRABAJO PRACTICO FINAL DE CRIPTOGRAFIAY SEGURIDAD INFORMATICA (66.69)

SMART CARDS

PROFESOR: Ing. Dams Alberto

INTEGRANTES: Bluvstein Alejandro 71322Lehmann Marcelo 71367Nardini Sergio 71774Sanin Dario 71354

CURSO: 1er. Cuatrimestre 1998

Page 2: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 2

SMART CARDS

La gran ventaja de las SMART CARDS respecto de las tarjetas magneticas es quepermite ejecutar algoritmos criptográficos en su circuitería interna. Estas brindan máximaseguridad en todos los sistemas en las que participan.

Que es una SMART CARD?

La idea de insertar un chip en una tarjeta plastica es tan antigua como lacriptografia de clave pública. Recien unos pocos años atrás aparecieron las aplicacionesprácticas de clave pública debido a las limitaciones que existía anteriormente respecto ala capacidad de almacenamiento y procesamiento en la tecnología de los circuitos. Hoyen día existe una nueva generación de tarjetas y aplicaciones mas ambiciosas como porejemplo RSA.

La mayor demanda en las SMARTS CARDS de clave pública se da en lascompañias operadoras de teléfono, bancos y corporaciones de seguro.

El soporte fisico de una SMART CARD convencional es un rectangulo de plasticoimpreso con información concerniente a la aplicación.

De acuerdo con la International Organization for Standardization (ISO) Standard7816, el micromódulo contiene una cadena de 8 contactos pero actualmente sólo 6 sonconectados al chip, distribuidos de la siguiente manera: 2 son para tensión, 1 para tierra,1 para RESET, 1 para CLOCK y el restante I/O (vínculo de comunicación de datos serie).

Las CPUs de las tarjetas son microcontroladores de 8 bits, los mas comunes sonMotorola 68HC05, Intel 80C51. El microprocesador de la tarjeta ejecuta un programaescrito en una memoria ROM el cual no puede ser modificado de ninguna manera. Estogarantiza que el fabricante controla el código en forma estricta.

Para almacenar datos individuales de cada usuario específico, la primerageneración de smart cards de memorias no volatiles usaban EPROM (memoriasprogramables electricamente). Estas requerían una fuente extra de “alto voltaje”tipicamente de 15 a 20V. En cambio las mas actuales contienen EEPROM (electricallyerasable programmable memory), las cuales pueden ser escritas y borradas ciento deveces. Tambien es posible a veces importar programas dentro de la EEPROM de latarjeta de acuerdo a las necesidades.

El tamaño de la EEPROM es un punto crítico a la hora del diseño de aplicacionesde clave pública, donde las claves son relativamente largas. Consecuentemente losprogramadores de smart cards frecuentemente adoptan típicas técnicas de optimizacióncomo por ejemplo regenerar la clave pública a partir de una secreta, regenerar una clavesecreta a partir de una semilla mas corta (números secretos mas cortos), evitandoesquemas de claves largas, implementando algoritmos de compresión para los datosredundantes. Diversos fabricantes han desarrollado sistemas operativos completos paraeste propósito.

Finalmente la tarjeta contiene un port serial de comunicación (trabajando en formaasincrónica) para intercambiar datos e información de control entre la tarjeta y el mundoexterno. Una tasa de bits común es de 9600 bits por segundo, pero hay interfaces mucho

Page 3: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 3

mas veloces que son comunmente usadas ( desde 19200 hasta 115200 bits por segundo)estando totalmente de acuerdo con la norma ISO 7816.

La primera regla de seguridad es juntar todos los elementos en un solo chip comose muestra en la siguiente figura:

En la figura anterior se observa el procedimiento de fabricación de las SMARTCARDS. Los pasos son: 1) Armado del chip + micromodulo, 2) chip + micromódulo +tarjeta de plastico.

Si esto no es hecho ( juntar todo en un solo chip) podría existir una posible ruta depenetración para un acceso ilegal a la tarjeta. El standard ISO especifica lascaracterísticas de la tarjeta para resistir una serie de fatigas mecánicas. El tamaño delchip está consecuentemente limitado, y presenta restricciones, especialmente en lamemoria y en la capacidad criptográfica.

Los chips de las smarts cards son muy confiables y la mayoría de los fabricantesgarantizan las propiedades electricas de sus chips por 10 años o mas. Los standards ISOespecifican como debe ser protejida una tarjeta contra las agresiones mecánicas,eléctricas o químicas.

Chip

Page 4: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 4

Los sensores de seguridad permiten al microcontrolador prevenir intentos demonitoreo por reseteo de la RAM/EEPROM. Detectores de clock reaccionan ante unamuy elevada, o una muy baja frecuencia de clock. Por obvias razones de seguridad, lainformación acerca de los detectores de seguridad, habitualmente es bastante dificil deobtener de los fabricantes.

En general, las SMARTS CARDS pueden ayudar en situaciones que requieranobjetos portatiles seguros. La calidad de la tarjeta con respecto a la falsificación de lamisma, combinado con la criptografía de clave pública, generalmente provée una soluciónadecuada para muchos de los problemas de seguridad existentes hoy en día.

Comunicaciones y formatos de comandos:

Las comunicaciones con las SMARTS CARDS están de acuerdo a lo escrito por elstandard 7816-3 de la ISO. Habitualmente este standard solamente define 2 protocolos:orientado al byte T=0, y orientado al bloque T=1. Sin embargo el standard reserva hasta14 protocolos (T=14 es muy raro y significa que el protocolo es propietario). De estamanera, los niveles eléctricos y los errores de handshake así como también la frecuenciautilizada, imponen un hardware específico del lado externo, el cual es el equivalente deun UART (universal asynchronous receiver/transmitter) con más funciones sofisticadas. Elmínimo hardware que se necesita para operar una tarjeta consiste en:

• Una interfase mecánica, el conector.• Una interfase electrónica, el acoplador; y• Un estuche conteniendo los dos primeros elementos, el lector de la smart card.

Los lectores mas simples son bastantes similares a los modems y manejansolamente los protocolos de comunicación ISO sin interactuar inteligentemente con elsistema operativo de la tarjeta. Estos lectores stransparentes deberían (pero, en lapractica, deben) operar con cualquier smart card proveniente de cualquier vendedor queesté cumpliendo con el standard ISO. Los lectores más sofisticados aceptan serprogramados con partes de una aplicación y contienen datos (claves públicas RSA oDSA), archivos y programas. Estos pueden ejecutar funciones criptográficas,practicamente reemplazan a una PC: tienen teclados, pines, o displays; y generalmenteusan un lenguaje de programación específico. Estos lectores no aceptan todos los tiposde Smart cards, a pesar de que estas cumplen con el standard ISO, porque a menudoestos trabajan con una serie de comandos particulares dedicados a una tarjeta dada.

Para operar una tarjeta el lector debe implementar las siguientes 4 funciones:• Encendido y apagado de la tarjeta.• Reseteo de la tarjeta.• Leer datos de la misma (obtener comandos), y• Escribir datos en la misma (insertar comandos).

Cada uno de estos comandos que se inserta o que se obtiene de la tarjeta poséeun header acorde a como la tarjeta procesa los datos entrantes ( el header actualmentees una función de código consistente de 5 bytes designados por: CLA, INS, P1, P2, yLEN – clase, instrucción, parametro1, parametro2, y longitud). La tarjeta envía un byte deacknowledge y dos bytes de status ( SW1 y SW2) durante y después de la ejecución decada comando.

Page 5: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 5

Coprocesadores aritmeticos

La multiplicación modular (d=t mod n donde t=a.b) es probablemente la operaciónque con mayor frecuencia se realiza en la criptografía moderna. La eficiencia, medida enterminos de la velocidad y la complejidad del hardware, para realizar este tipo deoperación es uno de los puntos claves para este tipo de aplicaciones. Sin embargo, en lamayoría de los sistemas criptográficos, a y b cambian mucho mas frecuentemente que n,y por lo tanto la mayoría de los aceleradores criptográficos son optimizados para realizararitmetica modular trabajando sobre la base de un cambio poco frecuente de n.

Un coprocesador aritmético (ACP) es un hrdware dedicado para obtener el valor ded, o en algunos casos una exponenciación modular entera. Generalmente losmicrocontroladores de las tarjetas tratan con el ACP como un conjunto de direccionesRAM especiales, donde los datos son escritos bajo la forma (a,b,n), o leídos (d).

Usualmente los ACPs operan con los siguientes pasos ( posiblemente integradoscomo un comando macro en una librería que es provista por el fabricante):

1. Reseteo del hardware e inicialización.2. Carga ( o refresco) de los operandos a,b, y (opcionalmente) n.3. Multiplicación (posiblemente repetida); y4. Descargar el resultado.

El ACP realiza el paso 1, el cual no depende del tamaño del operando N, en unnúmero constante de ciclos de clock ( tiempo constante para una dada frecuencia declock). Los pasos 2 y 4, consisten en el manipuleo de cantidades de datos de longitudgeneralmente igual o proporcional a N, son lineales en N. Habitualmente, lasmultiplicaciones (paso 3) requiere un número de ciclos de clock que crece con elcuadrado de N. Por lo tanto, el tiempo total resultante generalmente es proporcional a unpolinomio de segundo grado de N.

Algunos de los algoritmos mas usados para obtener d son: Montgomery (utilizadopor los chips de Motorola), de Waleffe and Quisquater (utilizado por los chips de Philips),Levy-dit-Vehel and Naccache (utilizado por Gemplus), Bucci and other variants of Barrett(usado por Amtec), Sedlak (utilizado por Siemens).

El SC49: Un microcontrolador de clave pública.

Motorola ha tenido una participación muy activa en el desarrollo de las SMARTSCARDS. Con el Groupe Bull, este desarrollo los primeros dos y un chip microcontroladorde SMART CARD a fines de los años 70 y desde ese momento ha estado involucradocontinuamente en tecnología e innovación en seguridad.

Motorola ha introducido el MC68HC05SC49 (SC49 para abreviar) especialmentepara direccionar la performance y los requerimientos computacionales de las aplicacionesde criptografía de clave pública y privada. Como el resto de la serie de microcontroladoresde SMART CARD de Motorola, el corazon de la serie SC49 es el MC68HC05, unavariante del HCMOS de baja potencia para sistemas de seguridad.

Page 6: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 6

El SC49 trabaja con un coprocesador, llamado MAP (modular arithmetic processor)el cual trabaja con los calculos del algoritmo de Montgomery. El hardware del MAP tieneuna capacidad de multiplicación modular de 512*512 bits, pero en conjunto con elsoftware del HC05 puede realizar multiplicacion modular de 768 y 1024 bits. Este realizauna firma de 512 bits de RSA en menos de 500 ms sin la utilización del ChineseRemainder Theorem (CRT), y toma 125 ms con el mismo. El coprocesador MAP estácompletamente bajo el control del HC05.

El SC49 incorpora una librería de firmware de rutinas MAP incluyendo algoritmosde clave secreta privada y pública (DES, RSA, DSS y SHA) y un rango de funcionesmatemáticas. Las funciones de librería pueden ser expandidas como sea necesario parasoportar nuevas técnicas.

La velocidad tipica del bus para el SC49 está entre 1MHz y 5 MHz. Un PLL eleva lafrecuencia del clock interno para manejar un clock de alta frecuencia dentro del MAP. Ungenerador de números random produce la semilla para la generación de las claves. Lahabilidad del coprocesador para generar claves significa que el coprocesador nuncarevela la clave secreta afuera del microcontrolador de la SMART CARD, este es unelemento crucial en la seguridad del sistema.

El SC49 corre el código con una ROM de 13.3 Kbytes y 512 bytes de RAM,también provée almacenamiento de datos entre los datos del usuario y el software de losdrivers MAP. Además están disponible para el usuario 4 Kbytes de EEPROM con untiempo de escritura de 2 ms. La EEPROM asegura 10 años de retención de datos.

La tecnología de encripción de clave pública para SMART CARD está aún en suinfancia. Los dispositivos del futuro requerirán diferentes configuraciones de memoria oincluso diferentes tipos de memorias para satisfacer necesidades de sistemasespecificos. Algoritmos alternativos y con mayor performance manejarán el desarrollo demicroprocesadores avanzados.

Por supuesto que todo esto está en continuo crecimiento para obtener una mayorseguridad, confianza, posibilidad de fabricación y calidad, necesaria para el comercioelectrónico.

Page 7: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 7

Montgomery

Chips de Motorola, Thomson y Universidad católica de Louvain usan este método. En1987 Montgomery publicó un algoritmo elegante para calcular d' = ab2^-N mod n.Este método cancela los 1's menos significativos de t sumándole a t adecuados múltiplosde n y desplazando a t a la derecha. Como la salida es d', los programadores debencorregir el resultado aplicando el algoritmo a d' y una constante 4^N mod n. El algoritmoes muy simple (inicialmente d' = 0)

for i = 0 to N - 1d' = d' + b a[i]d' = d' + n d'[0]d' >> 1

if d' < n then return (d') else return (d' - n)

EJEMPLOS

N = 4 a = 5 b = 7 n = 11

i 0 1 2 3d’= + b a(i) 7 9 17 14

d’= + n d’(0) 18 20 28 14d’ >> 1 9 10 14 7

El valor de salida es d’= 7 , como 4^N mod n = 3 , se usa el algoritmo de nuevo usando como a yb a estos dos últimos resultados y se obtiene el valor real de d = 2.

N = 8 a = 37 b = 19 n = 101

i 0 1 2 3 4 5 6 7d’= + b a(i) 19 60 49 75 88 63 82 41

d’= + n d’(0) 120 60 150 176 88 164 82 142d’ >> 1 60 30 75 88 44 82 41 71

El valor de salida es d’= 71 , como 4^N mod n = 88 , se usa el algoritmo de nuevo usando como ay b a estos dos últimos resultados y se obtiene el valor real de d = 97.

de Waleffe y Quisquater

Chips de Philips usan este algoritmo. Los autores observaron que podían usar la cajanegra, f(y,x,c) = yx + c, donde x es un entero de N bits, y es un registro de v bits,(generalmente de 24 bits) y c es un acumulador de N + v bits, para:

• calcular el producto t (c es el acumulador de la multiplicación, x es a, e y es laiecima parte de b de v bits.

• reducir el obtenido t mod n sumando a c = t un múltiplo y = k de x = -n =complemento a 2 de n apropiado.

Es fácil estimar k cuando los n bits más significantes de v son 10000000 (cualquier n

Page 8: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 8

puede ser multiplicado por un factor u apropiado para lograrlo). El siguiente lazo calcula d(inicialmente d = 0)

for i = n -1 to 0 con pasos de -vreduce d = f(2^v,d,f(b[i],a,0)) con v bits usando f.

Levy-dit-Vehel y Naccache

Chips de Gemplus usan este algoritmo, que calcula t con una triple multiplicación serie-paralelo, este es un bloque de hardware que multiplican ax, ay y az simultáneamente,siempre que x ^ y = x ^ z = y ^ z = 0Este algoritmo ejecuta los siguientes pasos:

1. Separar a b en 2 bloques de N/2 bits b = b" | b', y hacer x = b' ^ b"2. Calcular {u = ax, v = a(b' + x), w = a(b" + x)}3. Calcular t = delay [u + w] + u + v

Bucci y otras variantes de Barrett

Chips de Amtec usan este algoritmo. Barrett aproxima d con un cuasireducido d' = d talque d' < d + 2n. El algoritmo usa un parámetro L que limita el máximo tamaño de t (L =2N) y una constante k = [2^L / n] precalculada, los pasos son:

1. d = t - n((k(t >> (N - 1))) >> (L - N +1))2. while d >= n do d = d - n (esto se hace al menos 2 veces)3. return(d)

En diseños óptimos, Barrett y Montgomery son mas o menos equivalentes en numero decompuertas. Para una performance dada y argumentos de 512 bits, los benchmarksrevelan un poco largo coeficiente de segundo grado de Barrett.

Sedlak

Siemens usa este algoritmo de reducción, en cuales comparaciones de t con 1/3, 1/6, ...de n juegan un rol muy importante, asume que durante la división de t por n, n estaba yadesplazada y restada varias veces de t, y el resto guardado en t. El algoritmo asegura que|t| < n/3. Esto será verdad para los siguientes pasos. Por suposición t cae en uno de lossiguientes rangos.

Rango 2 n/6 < |t| < n/3Rango 3 n/12 < |t| < n/6 .......Rango i n/[3(2^(i-1))] < |t| < n/[3(2^(i-2))]

para alguna i > 1. Ahora n es desplazada i bits a la derecha, y para el resultado n' = n/2tenemos

2^i n'/[3(2^(i-1))] < |t| < 2^i n'/[3(2^(i-2))] => -n'/3 < |t| - n'< n'/3

Page 9: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 9

Para el resultado, t' = t + n'<= n'/3 da igual. Probado que esta condición siempre secumple, n se desplaza en todos los pasos por lo menos i = 2 bits. Sin embargo, el valoresperado de i es 3, lo cual impone una reducción complementaria por un factor estimadode 1/3 cuando se compara a la reducción bit a bit.

Tecnología

Hemos compilado un catalogo de características de las tecnologias existentes y vendidas.

Page 10: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 10

Page 11: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 11

Implementaciones de alto nivel

Generalmente es recomendado separar los sistemas de cryptografia (RSA, DSA,Rabin, Gost y otros) de las operaciones de cryptografia (firmas, verificación, encriptado,desencriptado, hash y intercambio de claves). Los diseñadores realizan estoimplementando un buffer de I/O en la tarjeta en el cual la terminal escribe datos a losprocesos. En este modelo, los pasos siguientes son realizados que la tarjeta ejecuta unaoperación de cryptografia.

1. Un comando de escritura selecciona un archivo clave especifico a un sistema2. Un comando de escritura escribe datos de un proceso (mensajes, texto cifrado,

firma y otros) al buffer de I/O RAM.3. Un comando de lectura (especifico a una operación) devuelve el resultado de la

tarjeta.

Semejante aproximación resulta en un set de comandos reducido y permite unupgrade de la tarjeta sin sumar nuevos códigos de comandos. El siguiente ejemplo ilustra:

• la encripcion de un mensaje "process me that" con clave RSA contenida en unarchivo 2401

• la firma del mensaje "123" con archivo DSA 334A y

• intercambio de claves Diffie-Hellman con las claves contenidas en el archivo E1F3

select file 2401 intercambio ISO: tarjeta a lectora{RSA, 768, s/e/i} /* = TYPE en DOS */

El archivo seleccionado devuelve un tipo de clave (768 bits RSA) y la operación decrypyografia permitida con este archivo (s = firma y verificación, e = encriptado ydesencriptado, i = identificación y verificado, k = intercambio de claves).

put data intercambio ISO: lectora a tarjeta{"process me that"} /* datos a procesar */

get data:encrypt 0000 intercambio ISO: tarjeta a lectora{"E32A371B908AB37"} /* = ENCRYPY.EXE */

El 0000 envia a la tarjeta (P1 = P2 = 00), significa que el resultado (acá el textocifrado con E32) debe ser enviado a la terminal. Un código distinto de cero indicaría el IDde un archivo donde el texto cifrado debería ser escrito.

select file 334A intercambio ISO: tarjeta a lectora{DSA, 512, s} /* = TYPE en DOS */

put data intercambio ISO: lectora a tarjeta{"123"} /* datos a procesar */

get data:

Page 12: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 12

sign 0000 intercambio ISO: tarjeta a lectora{"ADE603B826FDE04"} /* = SIGN.EXE */

select file E1F3 intercambio ISO: tarjeta a lectora{D-H, 512, k} /* = TYPE en DOS */

put data intercambio ISO: lectora a tarjeta{"process me that"} /* a ^ x mod p */

get data:key exchange 2010 intercambio ISO: tarjeta a lectora{"AE589EB6A564CDD"} /* = KEY_EXCHANGE.EXE devuelve a ^ y mod p */

Durante un intercambio de claves, el usuario debe especificar un ID de un archivode destino (acá 2010) para la clave común. El mundo externo no puede acceder a estevalor nunca. Un usuario usa típicamente este archivo para las operaciones de triple-DES.

Performance

Philips, Siemens, Thomson y Motorola dominan el mercado de smart-card estosaños. La existencia de aplicaciones y prototipos confirman esto. Nos enfocaremos en estasección en chips de estas 4 compañías.La tabla 2 lista características de recientes aplicaciones de coprocesadores de smart-card.

La tabla 3 compara las velocidades de varios chips de smart-card, listando lostiempos de procesos para firma, verificación y generación de claves. Nuestrosbenchmarks indican que la diferencia de velocidades entre ST16CF54/A y la SLE44C200es relativamente importante. Aunque más lento que estos el diseño antiguo de Philips(P83C852) parece el más elegante, ambos en termino de área de silicio y simplicidad dealgoritmos y circuitos.

En la tabla 4 se muestra el diseño más flexible en términos de tamaño deoperación es generalmente mas lento.

Page 13: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 13

Page 14: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 14

Figura 2 y 3 muestra las curvas que subrayan diferencias en performance y área.Figura 4 muestra que la performance esta cercanamente relacionada con el área ACP.SCALPS merece su nombre muy bien (Smart Card for Low Payment Systems); sutamaño es la mitad que los chips basados en microprocesadores.

Antes de elegir un cryptoprocesador hay que saber que es lo que se necesita,muchos fabricantes venden 3 o 4 productos genéricos que cubren un gran porcentaje dela necesidad del mercado. Algunas consideraciones para tener en cuenta sonperformance del tiempo, precio, fácil desarrollo, seguridad física, herramientas dedesarrollo, modularidad, portabilidad, espacio de EEPROM para aplicaciones dedicadas,disponibilidad de un generador real de números al azar, y otros.

Page 15: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 15

Page 16: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 16

SCALPS (Smart Cards for Limited Payment Systems)

Las tarjetas de transferencia de dinero siguen teniendo aceptación en el comercio.Actualmente existen 3 tipos de tarjetas, cintas magnéticas, con memoria y las inteligentes.Las tarjetas magnéticas son las mas económicas y se usan para pequeños montos dedinero. Las de memoria pueden tener varios megabytes de capacidad. Las Smart cardspermiten acceder a algoritmos criptográficos permitiendo realizar procesos deautentificación, firma digital, etc.La principal limitación de las smart cards es la capacidad de memoria (típicamente 512bytes de RAM, 16 Kbytes de ROM y 8 Kbytes de EEPROM). Asimismo las especificaciones eléctricas y físicas y la organización de los datoscomo el protocolo de transmisión o la jeraraquia de archivo están standarizadas bajo laISO7816-1 a -6-.La mayoría de estas tarjetas usan al 8051 o al 6805 como microcontroladores. Debido alimitaciones de memoria las mismas solo pueden manejar algoritmos de clave secretacomo el DES o algoritmos de clave pública en muy pocas aplicaciones.

Actualmente las tarjetas utilizan, además del CPU, un coprocesador criptográficoque permite realizar exponenciaciones de hasta 512 bits. La contrapartida de esto es elcosto que ronda en los $10 contra $1 que es el costo de una tarjeta magnética.

Protocolo de Pago.

Un sistema on-line requiere de un enlace permanente entre la terminal y el banco,como por ejemplo los ATM (cajeros automáticos). Por otro lado una tarjeta-terminal debajo costo, bajo un ambiente off-line parece ser mas atractivo. En este ultimo sistema, latarjeta contiene una cantidad determinada de dinero, la cual debe ser (idealmente):

• Impersonal - no relacionable a una persona en particular.• Agotable - tienen un tiempo de vida limitado.• Universal - pueden ser usadas en cualquier lugar• Autentificable - puede certificar al receptor que es verdaderamente autorizada.

Un sistema prepago electrónico no necesita un enlace permanente con el banco.Mayormente se presentan los siguientes escenarios:

• Sistema no monopolico - cuando la tarjeta es rellenada en un cajero del banco, elterminal también debita una cuenta correspondiente a los créditos colocados en latarjeta., cuando el usuario realiza un pago, la tarjeta se autentifica por si misma y debeasegurar que retira la cantidad correcta de dinero de la memoria. Durante el pago, latarjeta debe transmitir un número de referencia que corresponde al proceso de cargade la tarjeta por parte del banco, de manera tal que el que recibe el pago pueda luegocontactar al banco correspondiente de manera de poder recibir el dinero. Esteesquema posibilita el carácter anónimo del usuario.

• Sistema monopólico - Cuando la tarjeta se rellena, la terminal del banco debita lacuenta. También transfiere el dinero dinero correspondientes a los créditos de latarjeta directamente al sistema administrador de créditos , S.A.C., (operadorestelefónicos con sistema de pago telefónico entre otros). Alternativamente el usuariopuede comprar los créditos desde el S.A.C. El pago debe ser igual que en el sistema

Page 17: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 17

no monopólico pero el esquema finaliza aquí pues ya que la terminal de pago estambién propiedad del S.A.C..

Ya que la idea es implementar un sistema de bajo costo, con tarjetas descartables,no tenemos que incluir un protocolo que incluya la recarga de la tarjeta.. Nuestraimplementación se adapta mejor con els sistema monopólico.

La siguiente figura describe un protocolo de pagos ideal, entre una tarjeta y unaterminal de pagos.

Donde ID es la identificación que la tarjeta le envia al terminal, N es el dinero quequeda disponible en la tarjeta y α es la cantidad de creditos para retirar de la tarjeta.

Durante la autentificación la tarjeta despacha su identidad y el número de créditosremanentes y luego prueba su posesión por medio de una relación secreta con laidentidad. Similarmente, durante el pago, la terminal envia el número de créditos parapagar, luego la tarjeta prueba que realmente hizo el retiro de este numero de su memoria.

Un oponente (persona desautorizada tratando de acceder a los datos de tarjeta),va a tratar de:

• Modificar la identidad• Modificar N• Modificar α• Alterar la prueba• Repetir una prueba• Tomar el lugar de la terminal.

En el ultimo item, el oponente trata de obtener información de la tarjeta y extraer susecreto.

Cabe aclarar que las fases de pago y autentificación deberán estar enlazadas,pues un oponente tratara de simular un pago con la terminal sin que realmente seproduzca dicho proceso con la verdadera tarjeta.

Verificador(Terminal)

TarjetaReset

Pago

ID, N

Prueba

α a ser pagado

Prueba

Autentificación

Page 18: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 18

Algoritmos Criptograficos

Es necesario un algoritmo para que autentifique a la tarjeta por si misma y quegarantice la cantidad de dinero a ser pagado.

Una solución es usar un algoritmo de clave secreta y almacenar dicha clave en laterminal y en la tarjeta. La tarjeta cifra un número aleatorio enviado por la terminal, la cualverifica el resultado realizando la misma operación. Luego la terminal envia a la tarjeta unnumero aleatorio cifrado concatenado con la cantidad de dinero a pagarse.En este caso el protocolo es vulnerable ataques físicos pues el atacante puede intentarextraer la claves secreta que reside en la memoria de la tarjeta.

Otra alternativa es el uso de un sistema de clave publica. La terminal simplementeverificará la autenticidad de la tarjeta sin poseer ningun secreto o clave secreta,solamente utilizando informacion publica. La terminal verifica que la tarjeta posea unaclave secreta guardada por la autoridad apropiada o por el proveedor del servicio (para elcaso de un sistema monopolico).

Usando algoritmos conocidos, tales como RSA, DSS o El Gamal, una tarjeta puedeautentificarse y probar que tiene una determinada cantidad de dinero.Desafortunadamente los cómputos necesarios son pesados con números de 512 o aun768 bits. Por ejemplo para que una tarjeta se autentifique tiene que “firmar” un númeroaleatorio con su clave privada, lo que significa a aproximadamente 1.600.000multiplicaciones de 16x16 bits sobre operandos de 512 bits.

Esquemas recientes que utilizan el sistema de Cero conocimiento son masapropiados para el entorno de smart cards. Estos son Fiat-Shamir (FS) o Guillou-Quisquater (GQ).

Comparando los distintos sistemas, teniendo en cuenta la misma capacidad dememoria para almacenar las claves se llega a concluir que el mas efectivo (en cuanto atiempo insumido) es el esquema GQ.

Realización Práctica

Se seleccionó una versión modificada de GQ con conocimiento cero, dondesimultaneamente se autentifica la tarjeta y el monto pagado.

La siguiente figura muestra el esquema:

Page 19: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 19

n = p.qJ = red (ID)

B = J -v mod n

T == h.(tv Jd + αα) mod n

Antes que la tarjeta sea usada en un sistema práctico, alguna autoridad deberpersonalizar la tarjeta. Esta autoridad setea el nivel de seguridad v y el modulo n en laterminal y en la tarjeta. Una semilla (numero inicial secreto) se envia a la tarjeta para elgenerador ramdom de numeros. Observando la figura anterior, despues que la terminalresetea la tarjeta, la tarjeta envia su ID y el dinero disponible N a la terminal.

Entonces la terminal envia el monto de pago a la tarjeta, la cual luego elije r que esun número aleatorio entre 2 y n-1, computando luego T. Despues de recibir T, la terminaltoma en nro. d en forma aleatoria entre 1 y v-1, y se lo envia a la tarjeta como un“desafio”; luego la tarjeta computa t usando el numero secreto B. Finalmente el hecho deque B sea obtenido a traves de v y J hace que la terminal se convenza de que la tarjetaes autentica y que � no fue modificada. Los 4 ultimos pasos del esquema puedenrepetirse varias veces para incrementar el nivel de seguridad.

AUTORIDAD

TERMINAL TARJETA

Reset

ID, N

αα

T

d εε [[1, v - 1]]

t

v,nv, n, semilla,ID, N, B

T=h (rv + α) mod n ≠ h(α)

t = r Bd mod n

Page 20: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 20

Solamente B, p y q son secretos en este esquema. Notar que r no se revela directamentey ademas enmascara a B. Ni la tarjeta ni la terminal necesitan saber sobre p y q.

Como sabemos este esquema se basa en la dificultad que representa factorizar n.En nuestro caso n es un número de 512 bits.

Por otro lado en este esquema se usa redundancia, red(), para prevenirpotenciales ataques en la exponenciación modular. Puede ser una funcion hash como ladescripta en ISO –9796.

En este esquema, nosotros podemos adaptar el nivel de seguridad para lasaplicaciones en uso. Es interesante reducir el número de cómputos para aumentar lavelocidad. En cada round los oponentes tienen exactamente 1 posibilidad en v-1 paraengañar al verificador (terminal).

Page 21: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 21

Implementando al Algoritmo de Montgomery:

La arquitectura esta basada en un sumador de 10 bit. Una multiplicación de 8x8 seejecuta en 8 ciclos de reloj.

El registro Ai (8 bits) retiene al operando ai y el registro B al operando bi. Si el bitsaliente luego de hacer un corrimiento de un bit a la derecha de Ai es 1, el contenido delregistro AC es sumado al contenido del registro B y guardado nuevamente en AC. Dehecho la salida del sumador es desplazada a la derecha en un bit antes de ser guardadoen AC, y el bit saliente es desplazado hacia ML. Si el bit saliente de Ai es 0, el contenidode AC es simplemente desplazado un bit en el registro ML. Luego de 8 ciclos de reloj, elbyte menos significativo del resultado se encontrara en ML, y el mas significativo en AC.

Los pasos a realizar para hacer ab son

1- Cargar el operando ai y guardarlo en el registro Ai2- Cargar el byte correspondiente del resultado intermedio S y guardarlo en el registro B.

Limpiar el registro AC3- Sumar el contenido de B a AC. Al mismo tiempo cargar el operando bi, y guardarlo en

el registro B.4- Testear los 8 bits de Ai y sumar y desplazar AC según corresponda(hacer una

multiplicación 8x8)5- Descartar el primer resultado (este es igual a cero) en los pasos de reducción.6- Guardar el resultado de vuelta en memoria (S)7- Incrementar el contador j e ir para atrás hasta el paso 2

El registro Sn retiene el 65th byte de resultado intermedio despues del paso demultiplicación. Este resultado puede algunas veces ser de 9 bits (ab+S) y por lo tanto 1registro de 1 bit L retiene este noveno bit luego de la multiplicación completa.

Sin tomar en cuenta el termino lineal, el numero total de operaciones es2xt2xk+10xt2. Donde t es el numero de bytes en un operando, y k es el numero de bitsusados en un byte.

Se eligió trabajar con números de 8 bits debido a que el numero de operaciones estal que el protocolo GQ puede ser computado en un razonable periodo de tiempo ( aprox.1 segundo), con un nivel de seguridad suficente (1/66).

Generador de números aleatorios

El problema de un generador de números aleatorios es crucial debido a que estepuede cambiar el protocolo. Sin un buen generador, la seguridad del protocolo puede serdramáticamente reducida. Como es bien sabido solamente generadores de secuenciaspseudoaleatorias son prácticamente implementadas en SmartCards.

El mayor problema es la semilla del generador. Nosotros debemos asegurar queen cada situación, tales como una caída de tensión, nosotros hemos actualizado lasemilla. En el siguiente uso de la tarjeta, el numero pseudoaleatorio generado debe serdistinto del anterior. Otro problema es la necesidad de usar EEPROM para almacenar lasemilla. Como el tiempo de programación no es despreciable es importante cambiar solouna pequeña parte de la semilla.

Todos esos problemas relativos al uso de la SmartCard reducen dramáticamenteel numero de posibles generadores. Nosotros reducimos nuestros estudios a generadores

Page 22: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 22

basados en la exponenciacion modular, porque este recurso fue previamenteimplementado en el chip.

Se eligió la función r=g3 mod n como el generador.La forma mas simple de generar una secuencia de semilla para el generador es empezarde un numero aleatorio secreto concatenado con un contador. Se reinyecta 64 bits delultimo numero aleatorio generado dentro de la semilla, nunca directamente revelando elnumero generado. El contador es siempre necesario para evitar un ciclo del generador.Un ciclo arriba cuando luego de cierto lapso de tiempo el generador de númerosaleatorios siempre genera la misma secuencia; además este contador también almacenala cantidad de dinero almacenada en la tarjeta.

Generador de números Aleatorios

Arquitectura del Chip:

Page 23: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 23

En la figura se observa la arquitectura completa del microchip.El registro de desplazamiento D retienen los exponentes (v y d) permitiendo que cada bitsea testeado.

Para realizar la exponenciacion se utiliza el método de elevar al cuadrado y luegomultiplicar. El inversor antes del registro B permite la substracción de n después derealizarse el algoritmo de Montgomery. Un conjunto de contadores controlan los bytesque están siendo cargados en la memoria (RAM y EEPROM) y en los registros dedesplazamiento.

Un punto importante es minimizar el numero de memoria RAM estática debido aque esta toma mucha mas área física que la RAM o EEPROM. Si todos los númerosinvolucrados en el protocolo (secretos, públicos y aleatorios) están almacenados en unamemoria no volátil del tipo EPROM o EEPROM, se necesitan solamente 128 bytes deRAM cuando estamos trabajando con números de 512 bits.

La unidad de control consiste de dos arreglos lógicos programables con 7 entradasy 30 salidas que tienen todo el protocolo mas dos pequeños arreglos lógicosprogramables (PLAs) que recodifican la salida.

Se escribe la unidad de control como una tabla con ocho entradas yaproximadamente 60 salidas. Dos pequeñas tablas y demultiplexores inmediatamenterecodifican la salida, dejando a la unidad central de control con aproximadamente 30salidas. Debido a las restricciones con las herramientas de generación automática, latabla fue dividida en dos partes. Cada tabla es simplificada y el bloque resultante es

Page 24: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 24

menor que la ROM correspondiente debido a que no hay decodificadores y debido a laoptimización.

El programa puede ser escrito en un lenguaje tipo C y un pequeño interpretetraslada el programa a la unidad de control. El código del algoritmo de Montgomery y elprotocolo de comunicación son escrito como procedimientos separados. Este procesoparece complicar el desarrollo de nuevas aplicaciones. de hecho solo se necesitarecompilar nuevas PLAs de la unidad de control describiendo los nuevos protocolos y luegohacer una nueva mascara. Aunque parezca mas complicado es el mismo proceso que sehace en las actuales Smart-Cards en las cuales el uso de ROMs también implica, paranuevas aplicaciones la realización de una nueva mascara.

Una pila de tres niveles guarda la dirección de retorno de una pieza de códigollamada. El programa es limitado a 256 líneas de código, equivalentes a 256 líneas en latabla de la unidad de control.

Page 25: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 25

Breve resumen y analisis de: IBM Smarts Card Solution Elements

Inicialmente el articulo comienza con una descripción general de cuales sonalgunos de los sectores que abarca el uso de las Smarts Cards y las aplicaciones que aesta se le puede dar: pago sin efectivo, medicina prepaga, seguridad social, control deacceso, autenticación, estos son solo algunos ejemplos. En los proximos años lasaplicaciones se irán expandiendo cada vez mas hacia nuevos campos.

Luego se describen una serie de características concernientes a la Smart Card deIBM:

Multifuncionalidad: Se enumera las principales aplicaciones que se puedeobtener con lamisma, la mayoria de estas fueron enumeradas anteriormente.Lamultifuncionalidad demanda un alto grado de interoperabilidad yseguridad.

Seguridad: Refiere a la utilización de Passwords, Algoritmos de Encripción,confidenciabilidad de datos, firmas electrónicas, etc.

Interoperatibilidad:Esta solamente se puede lograr estando de acuerdo con los standardsinternacionales. IBM trabaja con los standards ISO y CEN, así comotambién iniciativas llevadas a cabo por las industrias: EMV, TheOpenCard Framework y especificaciones PS/SC. Este tema de losdiferentes standards es tratado en el articulo más adelante.

Flexibilidad: Como la tecnología de la tarjeta multifunción de IBM está basada en unmicroprocesador, esta provée flexibilidad y la base paraactualizaciones dinámicas de la tarjeta con nuevas aplicaciones.

Service & Consultancy: Esto está descripto como una característica, es decir es unatributo de IBM para poder diferenciarse del resto de las Smart Cards,hace referencia al soporte que ellos les brindan a sus clientes.

IBM Multifunction Cards (MFC)

En esta parte, el articulo comienza a hablar sobre el producto específico que brindaIBM y que es la tarjeta Multifunción. Hace referencia al sistema operativo de la misma, alas características de seguridad y a los standards de seguridad relacionados con lasSmart Cards.

Sistema operativo de la IBM MFC

Protocolo de comunicación: Soporta el protocolo de transferencia de bloque ISO7816-3 T=1, puede soportar otras protocolos como el ISO 7816-3 T=0.

Sistema de archivos: El sistema de archivos de una IBM MFC tiene unaestructura de arbol y puede ser comparada con la estructura de archivos del disco durode una PC. Esta tiene un Master File, Dedicated Files y Elementary Files (EF). Existe unabreve descripción acerca de cada uno de ellos.

Page 26: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 26

Condiciones de Acceso: Cada archivo contenido en el arbol de directorios en laEEPROM de la IBM MFC contiene condiciones de acceso predefinidas asignadas paralos diferentes métodos de acceso como: Solo lectura, Poder realizar cambios yAdministrador. Luego se enumera una serie de condiciones de acceso las cuales puedenser especificadas por la IBM MultiFunction Card.

Comandos: Se brinda varias tablas con los diferentes comandos soportados por laIBM MFC, los cuales están basados en los standards internacionales. Los mismos estánagrupados de acuerdo a su funcionalidad en los siguientes grupos:

• Comandos de aplicación de datos.• Comandos de seguridad.• Comandos adicionales/modificados disponibles con tarjetas de algoritmos de

clave pública (PKA).• Comandos del Management de la tarjeta.• Electronic Purse Commands.• Comandos miscelaneos.

Funciones de Personalización:

Durante los diferentes pasos de producción (fabricación del chip, fabricación ytesteo del módulo, fabricación de la tarjeta, inicialización y personalización) la IBMMultiFunction Card pasa a travez de diferentes estados lógicos, los principales son:Vaciado, Inicializado y Personalizado (en el articulo existe una breve descripción de cadauno de ellos).

Seguridad

Una de las mayores ventajas de las Smart Cards “inteligentes” es el alto nivel deseguridad que estas brindan. Una Smart Card real, por ej. un chipcard con un procesadorcompleto consiste de: Una CPU, una memoria ROM, una memoria EEPROM, unamemoria RAM y opcionalmente un coprocesador criptográfico.

Existe un grafico bastante explícito que muestra como interactúan dentro del Chiplas diferentes partes anteriormente descriptas, y cual es la participación de cada una deellas en la seguridad del sistema.

La tarjeta multifunción de IBM provée servicios de seguridad tales como: CardHolder verification, autenticación del mundo exterior, autenticación de la tarjeta, integridadde los datos, confidenciabilidad de los datos y firmas digitales. Cada uno de estos itemsestá descripto en el articulo de IBM.

Standards

La estandarización juega un rol importante en la aceptación y el crecimiento de laindustria de las Smart Cards. Solamente los estandares internacionales apropiadospueden asegurar que una Smart Card pueda ser aceptada por los diferentes lectores detarjetas y terminales en las diferentes partes del mundo.

Page 27: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 27

La estandarización de las Smart Card es llevada a cabo desde dos lados:

• Las organizaciones internacionales de estandarización ( ISO, ANSI, CEN, etc ).• La industria, basada en los mercados emergentes y en los productos. Ejemplo

de esto son: Visa, Mastercard y Europay, quienes decidieron migrar de lastarjetas magneticas a las Smart Cards.

El articulo hace referencia a que las tarjetas multifunción de IBM están basadas enlos estandares internacionales y que continuarán con los mismos.

Luego de esto existe una descripción detallada de cada uno de los estandaresinternacionales y de las iniciativas llevadas a cabo por la industria y los estandares de lamisma.

Tarjetas Híbridas

Las tarjetas híbridas son una combinación de las Smart Cards convencionales concontactos y las tarjetas sin contactos. Estas combinan la funcionalidad de dos tarjetasindependientes (con y sin contacto) en una misma tarjeta plastica. Un ejemplo deaplicación de esto podría ser una tarjeta de pago y una aplicación de acceso sin contacto.

Tarjetas con interfase dual

La tarjeta de interfase dual integra las ventajas de las Smart Cards con y sincontacto en un mismo chip. Esta brinda la posibilidad de poder acceder a una mismafuente con dos interfases diferentes.

Tarjetas Opticas

Cuando trabajamos con aplicaciones para las cuales la memoria común de lachipcard no es suficiente, es adecuado emplear tarjetas ópticas, las cuales ofrecencapacidades de varios Mbytes.

Aplicaciones para este tipo de tarjetas son por ejemplo en el campo del cuidado dela salud, en donde se almacena los datos de los pacientes. Debido a la gran capacidad deeste tipo de tarjetas incluso permiten guardar fotografías de rayos X.

Luego el articulo brinda una tabla con las versiones disponibles de las tarjetasMultifuncion de IBM. El mismo brinda la pagina de Internet donde poder obtener unaactualización de esta.

La Arquitectura Abierta de las Smart Cards

La Arquitectura Abierta de las Smart Cards toma en cuenta el ciclo de vidacompleto de las smart cards. Esta está diseñada con el standard ISO 7816, en principio laarquitectura está basada sobre tres componentes principales:

Page 28: TRABAJO PRACTICO FINAL DE CRIPTOGRAFIA Y …materias.fi.uba.ar/6669/alumnos/1999/card.pdf ·  · 1999-03-26la capacidad de almacenamiento y procesamiento en la tecnología de los

SMART CARD 28

• The Smart Card Compiler: Para la creación de las Smart Cards, este creadesde un alto nivel de descripción todos los datos requeridos para lainicialización y personalización de la tarjeta.

• The Smart Card Agent: Maneja el sistema operativo de la tarjeta, este cubrela parte de la interfase de aplicación para una smart card.

• The Smart Card Agency: Este ayuda a manejar el uso de diferentes SmartCard Agents y ofrece a la aplicación un tipo de smart card independiente de lainterfase.

Luego se brinda una explicación muy detallada de cada una de estas partes y delas que componen a estas. Existen una serie de graficos que muestran en una maneramuy clara como trabajan cada una de estas partes y como se relacionan entre sí.