E-wallet arquitectura applet java card

Solo disponible en BuenasTareas
  • Páginas : 9 (2219 palabras )
  • Descarga(s) : 0
  • Publicado : 21 de febrero de 2011
Leer documento completo
Vista previa del texto
E-Wallet
Arquitectura del Applet
Como cualquier aplicación o programa que se desee desarrollar, uno no se puede sentar y empezar a escribir código, en este caso un Java Card Applet. Primero uno debe seguir una fase de diseño. En esta fase, uno define la arquitectura del applet.
Son 4 pasos los que se requieren para esta fase:
Especificad las funciones del applet.
Solicitar y asignar AID’s(Applet ID) a ambos, el applet y el paquete que contiene la clase del applet.
Diseñar la estructura de la clase de los programas del applet.
Definir la interface entre el applet y la aplicación del terminal.
Cuando una Java Card es insertada dentro de un CAD (Card Acceptance Device ó la terminal lectora), el CAD selecciona el o un applet de la tarjeta y le envía una serie de comandos paraejecutarlos. Cada applet es identificado y seleccionado por su AID. Comandos como la selección, son formateados y transmitidos en la forma de un APDU (Application Protocol Data Units). Los applets responden a cada operación APDU con un SW (status Word), que indica el resultado de la operación. Un applet puede contestar de modo opcional un APDU con otro tipo de dato.

Especificando las funciones delApplet
El ejemplo mostrado almacenara dinero electrónico y como funciones dará soporte para crédito, debito y verificar el balance.
Para no prevenir un acceso no autorizado de la tarjeta, la misma posee un algoritmo de seguridad. Este algoritmo requiere que el usuario ingrese un PIN, una cadena de máximo 8 dígitos. Este algoritmo de seguridad de la tarjeta tiene como efecto el cierre o bloqueodespués de tres intentos fallidos de ingresar el PIN. El PIN es inicializado de acuerdo a los parámetros instalados cuando el applet es instalado y creado.
El PIN es solicitado cuando se requiera verificar una transacción de crédito o debito.
Por sencillez, digamos que el balance máximo de nuestra tarjeta es de 2,767 (0xACF hex), y ni el crédito ni el debito pueden exceder 27. Entonces esasvariables de Java pueden ser representadas como una de tipo short y byte respectivamente.
Un monedero electrónico real, requería un mayor mecanismo de seguridad para prevenir un acceso no autorizado.
Especificando AID’s
La mayoría aplicaciones que se hacen son identificadas por un nombre e identificadas con un tipo string como nombre. En la tecnología de Java Carda, sin embargo, cada applet esidentificado y seleccionado por un AID. También, cada paquete de Java le es asignado un AID. Esto es porque el paquete cuando es cargado en la tarjeta es vinculado o direccionado a otros paquetes, los cuales ya han sido cargados y ubicados en la tarjeta mediante sus AID’s. Este nombre (AID) es usado conforme a las especificaciones para Smart Cards, definidas en la ISO 7816.
Un AID es una secuencia de5-16 bytes de longitud. Este formato lo mostramos en la Tabla 1.
AID(Application ID ó Application Identifier) |
RID(National Registered Application Provider) | PIX(Propietary Application Identifier Extension) |
5 bytes | 0-11 bytes |
Tabla 1.Formato AID
La asignación de los RID’s a compañías está controlada por los controles de ISO, cada compañía obtiene su único RID de ISO. Las compañíasasignan sus PIX’s.
Las clases de Java del applet (Wallet), están definidas en un paquete de Java. Los AID’s del applet (wallet) son ficticios. Y los mostramos en la Tabla 2.
AID del Paquete |
Campo | Valor | Longitud |
RID | 0xF2, 0x34, 0x12, 0x34, 0x56 | 5 bytes |
PIX | 0x10, 0x00, 0x00 | 3 bytes |
AID del Applet |
Campo | Valor | Longitud |
RID | 0xF2, 0x34, 0x12, 0x34, 0x56 | 5bytes |
PIX | 0x10, 0x00, 0x01 | 3 bytes |
Tabla 2. Asignación de AID’s ficticios para el Applet y el Paquete
El AID del paquete y el AID del applet, tienen el mismo valor para el RID, pero el RIX cambia en el último bit.

Definiendo la estructura de la clase y los funciones (métodos) del applet
Un applet de la Java Card debe ser construido desde la clase javacard.framework.Applet. Esta...
tracking img