<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>2227-1899</journal-id>
<journal-title><![CDATA[Revista Cubana de Ciencias Informáticas]]></journal-title>
<abbrev-journal-title><![CDATA[Rev cuba cienc informat]]></abbrev-journal-title>
<issn>2227-1899</issn>
<publisher>
<publisher-name><![CDATA[Editorial Ediciones Futuro]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S2227-18992014000100007</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Modelo para la extensión de las capacidades de procesamiento y memoria de tarjetas inteligentes Java Card]]></article-title>
<article-title xml:lang="en"><![CDATA[Model for the extension of the processing and memory capabilities of Java Card smartcards]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Ramírez-Brey]]></surname>
<given-names><![CDATA[Susana María]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Legón-Campo]]></surname>
<given-names><![CDATA[Donis César]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Valle-Martínez]]></surname>
<given-names><![CDATA[Yusnier]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad de las Ciencias Informáticas Centro de Identificación y Seguridad Digital ]]></institution>
<addr-line><![CDATA[La Habana ]]></addr-line>
<country>Cuba</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad de las Ciencias Informáticas Dirección de Formación Postgraduada ]]></institution>
<addr-line><![CDATA[La Habana ]]></addr-line>
<country>Cuba</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>03</month>
<year>2014</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>03</month>
<year>2014</year>
</pub-date>
<volume>8</volume>
<numero>1</numero>
<fpage>61</fpage>
<lpage>69</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S2227-18992014000100007&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S2227-18992014000100007&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S2227-18992014000100007&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[Las tarjetas inteligentes poseen características distintivas como la portabilidad, dado su tamaño reducido y el bajo costo, para poder ser usadas a gran escala. Asociadas a estas características se encuentran las limitaciones de los recursos de hardware que poseen, relacionadas fundamentalmente con la capacidad de memoria y procesamiento de estos dispositivos. Estas y otras limitaciones propias de la tecnología Java Card, constituyen limitantes significativas para los desarrolladores de aplicaciones para tarjetas inteligentes. En este trabajo se presenta un modelo de desarrollo de aplicaciones para tarjetas inteligentes con tecnología Java Card, que permite extender las capacidades de procesamiento y memoria de estas, haciendo uso de los recursos de hardware de un ordenador, y con el que además se garantiza el ambiente seguro que es característico de este tipo de dispositivo. El modelo de desarrollo que se propone provee un mecanismo para el almacenamiento de datos asociados a las aplicaciones de las tarjetas inteligentes fuera de esta y para la ejecución de algoritmos de alto costo computacional, que por el tiempo de ejecución y/o complejidad es más factible realizar fuera de la tarjeta. Con este nuevo modelo de desarrollo se pretende aumentar significativamente las aplicaciones y el uso de las tarjetas inteligentes, en ambientes conectados y controlados como empresas e instituciones.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[Smartcard have distinctive features like portability, by the reduced size, and the low cost, in order to be used on a large scale. Associated to these characteristics, find out limitations of the hardware's resources, related fundamentally with memory and processing capabilities. These and others limitations of Java Card technology constitute significant limitations for the smartcard applications developers, and in general. In this work, is presented a smartcard application development model with Java Card technology that allows to extend memory and processing capabilities, making use of the computer's hardware resources. This model guarantees the safe environment that is characteristic of this device type. The proposed development model provide a mechanism for storage data associated to smartcard applications off- card, and for the execution of high cost computational algorithms, that for runtime or complexity is more feasible to perform off- card. With this new model is intended to significantly increase the applications and use of the smartcard, in connected and controlled environments like companies and institutions.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[limitaciones]]></kwd>
<kwd lng="es"><![CDATA[memoria]]></kwd>
<kwd lng="es"><![CDATA[modelo de desarrollo]]></kwd>
<kwd lng="es"><![CDATA[procesamiento]]></kwd>
<kwd lng="es"><![CDATA[tarjetas inteligentes]]></kwd>
<kwd lng="en"><![CDATA[Development model]]></kwd>
<kwd lng="en"><![CDATA[java card]]></kwd>
<kwd lng="en"><![CDATA[limitations]]></kwd>
<kwd lng="en"><![CDATA[memory]]></kwd>
<kwd lng="en"><![CDATA[processing]]></kwd>
<kwd lng="en"><![CDATA[smartcards]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>ART&Iacute;CULO    ORIGINAL </B></font></p>     <p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif" size="4"> <b>Modelo para    la extensi&oacute;n de las capacidades de procesamiento y memoria de tarjetas    inteligentes Java Card</b></font></p>     <p>&nbsp;</p>     <P><font face="Verdana, Arial, Helvetica, sans-serif"><b><font size="3">Model    for the extension of the processing and memory capabilities of Java Card smartcards</font></b>    </font>      <p>&nbsp;</p>     <p>&nbsp;</p>     <P><font face="Verdana, Arial, Helvetica, sans-serif"><b><b><font size="2">Susana    Mar&iacute;a Ram&iacute;rez Brey</font></b><font size="2"><sup>1*</sup>, </font><b><font size="2">Donis    Cesar Leg&oacute;n Campo</font></b><font size="2"><sup>1</sup>, </font><b><font size="2">Yusnier    Valle Mart&iacute;nez</font></b><font size="2"><sup>3</sup> </font></b></font>      <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><sup>1</sup> Centro    de Identificaci&oacute;n y Seguridad Digital. Universidad de las Ciencias Inform&aacute;ticas,    Carretera a San Antonio de los Ba&ntilde;os, km 2 &frac12;, Torrens, Boyeros,    La Habana, Cuba. CP.: 19370 Email: smramirez@uci.cu     <br>   <sup>2</sup> </font><font face="Verdana, Arial, Helvetica, sans-serif"><font size="2">Direcci&oacute;n    de Formaci&oacute;n Postgraduada. Universidad de las Ciencias Inform&aacute;ticas,    Carretera a San Antonio de los Ba&ntilde;os, km 2 &frac12;, Torrens, Boyeros,    La Habana, Cuba. CP.: 19370 Email:yvm@uci.cu</font></font>      ]]></body>
<body><![CDATA[<P>&nbsp;</p>     <P>&nbsp;</p> <hr>     <P><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>RESUMEN</B></font>      <P><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> Las tarjetas inteligentes    poseen caracter&iacute;sticas distintivas como la portabilidad, dado su tama&ntilde;o    reducido y el bajo costo, para poder ser usadas a gran escala. Asociadas a estas    caracter&iacute;sticas se encuentran las limitaciones de los recursos de hardware    que poseen, relacionadas fundamentalmente con la capacidad de memoria y procesamiento    de estos dispositivos. Estas y otras limitaciones propias de la tecnolog&iacute;a    Java Card, constituyen limitantes significativas para los desarrolladores de    aplicaciones para tarjetas inteligentes. En este trabajo se presenta un modelo    de desarrollo de aplicaciones para tarjetas inteligentes con tecnolog&iacute;a    Java Card, que permite extender las capacidades de procesamiento y memoria de    estas, haciendo uso de los recursos de hardware de un ordenador, y con el que    adem&aacute;s se garantiza el ambiente seguro que es caracter&iacute;stico de    este tipo de dispositivo. El modelo de desarrollo que se propone provee un mecanismo    para el almacenamiento de datos asociados a las aplicaciones de las tarjetas    inteligentes fuera de esta y para la ejecuci&oacute;n de algoritmos de alto    costo computacional, que por el tiempo de ejecuci&oacute;n y/o complejidad es    m&aacute;s factible realizar fuera de la tarjeta. Con este nuevo modelo de desarrollo    se pretende aumentar significativamente las aplicaciones y el uso de las tarjetas    inteligentes, en ambientes conectados y controlados como empresas e instituciones.</font>      <P><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>Palabras clave:    </B> Java card, limitaciones, memoria, modelo de desarrollo, procesamiento,    tarjetas inteligentes</font><font face="Verdana, Arial, Helvetica, sans-serif">.    </font>  <hr>     <p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>ABSTRACT</b></font>  </p>     <P><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> Smartcard have    distinctive features like portability, by the reduced size, and the low cost,    in order to be used on a large scale. Associated to these characteristics, find    out limitations of the hardware's resources, related fundamentally with memory    and processing capabilities. These and others limitations of Java Card technology    constitute significant limitations for the smartcard applications developers,    and in general. In this work, is presented a smartcard application development    model with Java Card technology that allows to extend memory and processing    capabilities, making use of the computer's hardware resources. This model guarantees    the safe environment that is characteristic of this device type. The proposed    development model provide a mechanism for storage data associated to smartcard    applications off- card, and for the execution of high cost computational algorithms,    that for runtime or complexity is more feasible to perform off- card. With this    new model is intended to significantly increase the applications and use of    the smartcard, in connected and controlled environments like companies and institutions.</font>      <P> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><B>Key words:    </B> Development model, java card, limitations, memory, processing, smartcards.    </font>  <hr>     <p>&nbsp;</p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>INTRODUCCI&Oacute;N</b></font>  </p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las tarjetas inteligentes    o smartcards, surgidas en Europa en la d&eacute;cada de los a&ntilde;os 70,    han contribuido al desarrollo tecnol&oacute;gico y al aumento de la seguridad    en sistemas inform&aacute;ticos. El auge que han tenido las tarjetas inteligentes    se debe en gran medida a la seguridad tanto f&iacute;sica como l&oacute;gica    que brinda esta tecnolog&iacute;a. Los datos sensibles que pueden manejar estos    dispositivos como informaci&oacute;n personal del portador del documento, llaves    secretas e informaci&oacute;n de las aplicaciones que estas manejan (applets),    son protegidos por una combinaci&oacute;n de hardware y software. Adem&aacute;s    de la seguridad, otra de las caracter&iacute;sticas de impacto que han tenido    las tarjetas inteligentes es su flexibilidad. Tecnolog&iacute;as como Java Card,    proveen un entorno de programaci&oacute;n que permite crear e instalar nuevas    aplicaciones seg&uacute;n sean requeridas por el propietario de la tarjeta,    lo que significa que es posible hacer tarjetas &quot;a la medida&quot; seleccionando    para la tarjeta las aplicaciones que se adapten a las circunstancias y necesidades    de cada persona.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Debido fundamentalmente    a estas razones, ha ido en aumento el &aacute;rea de aplicaci&oacute;n de las    tarjetas inteligentes y son aplicadas ya no solo en el campo de la telefon&iacute;a    celular o en el comercio electr&oacute;nico como en sus inicios, sino en &aacute;reas    muy diversas entre las que se encuentran: transacciones seguras, identificaci&oacute;n,    firma digital, control de acceso, entre otras. Como una tendencia se ha observado    tambi&eacute;n que varios pa&iacute;ses han comenzado a modernizar su documento    de identificaci&oacute;n nacional (Leg&oacute;n, et al., 2013) hasta convertirlo    en un documento de identificaci&oacute;n electr&oacute;nico (eID) con el uso    de esta tecnolog&iacute;a. De esta manera se pretende aumentar la utilidad del    documento de identificaci&oacute;n en distintas esferas de la sociedad, al brindar    nuevos servicios a los ciudadanos basados en su eID (servicios de transporte,    almacenamiento de historia cl&iacute;nica, seguridad social, etc).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Sin embargo, dada    las caracter&iacute;sticas f&iacute;sicas de las tarjetas inteligentes definidas    en (ISO/IEC, 2003; ISO/IEC, 2007), como su tama&ntilde;o reducido (para que    sea una tarjeta de pl&aacute;stico flexible e incrementar la seguridad del hardware),    y su bajo costo (para poder ser vendidas en grandes vol&uacute;menes), existen    limitaciones relacionadas con la capacidad de memoria y de procesamiento de    estos dispositivos. La configuraci&oacute;n de hardware t&iacute;pica para las    tarjetas inteligentes existentes hoy en d&iacute;a consta de aproximadamente    de 8/16-bit CPU, ~4-Kb RAM (para la pila de ejecuci&oacute;n, variables temporales    y objetos transitorios), de 48-Kb - 96-Kb de ROM (para el sistema operativo    de la tarjeta, la m&aacute;quina virtual y aplicaciones preinstaladas), y de    8-128Kb de EEPROM (para el c&oacute;digo de las aplicaciones dentro de la tarjeta,    objetos persistentes y variables de clases) (SUN MICROSYSTEMS, 2008). Estas    limitaciones del hardware de la tecnolog&iacute;a impactan en gran medida en    el uso extensivo y aplicabilidad de las tarjetas inteligentes, fundamentalmente    para algunas &aacute;reas de aplicaci&oacute;n. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La tecnolog&iacute;a    Java Card, dise&ntilde;ada por la empresa SUN Mycrosytems, casi desde sus inicios    se convirti&oacute; en la plataforma dominante y tecnolog&iacute;a l&iacute;der    para el desarrollo de aplicaciones para tarjetas inteligentes en el mundo(Sun    Microsystems, 2008), llegando a desplegar en el a&ntilde;o 2012 m&aacute;s de    10 billones de tarjetas inteligentes con esta tecnolog&iacute;a (Oracle; Java    Card Forum, 2012). Java Card fue dise&ntilde;ada de tal forma que ciertas construcciones    de Java consideradas como demasiado complejas o no aplicables para la programaci&oacute;n    de tarjetas inteligentes no son incorporadas. Dentro de estos elementos del    lenguaje se encuentran algunos referentes a la carga din&aacute;mica de clases,    el trabajo con hilos, clonado de objetos, etc. Adem&aacute;s no se soportan    los tipos de datos char, double, float, long y arreglos multidimensionales;    el tipo int es opcional. Estas y otras caracter&iacute;sticas de Java no soportadas    por la plataforma Java Card pueden encontrarse descritas en la especificaci&oacute;n    de la misma (Sun Microsystems, 2006). En (Cap, Maibaum y Heyden, 2001) se describen    y referencian un gran n&uacute;mero de proyectos Java Card que han demostrado    claramente estas limitaciones del lenguaje y sus consecuencias. Estas caracter&iacute;sticas    del lenguaje Java Card, unidas a las limitaciones propias del hardware de las    tarjetas inteligentes, constituyen una limitante significativa para los desarrolladores    de aplicaciones Java Card para tarjetas inteligentes y en general.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En el presente    trabajo se abordan las limitaciones de los recursos de hardware de las tarjetas    inteligentes, y las soluciones, a&uacute;n insuficientes, que se han estado    revisando por la industria en temas de dise&ntilde;o de las mismas. El objetivo    fundamental de este trabajo es proponer un modelo de desarrollo de aplicaciones    para tarjetas inteligentes con tecnolog&iacute;a Java Card, que extienda las    capacidades de procesamiento y memoria de estas, haciendo uso de los recursos    de hardware de un ordenador y adem&aacute;s se garantice el ambiente seguro    que es caracter&iacute;stico en este tipo de dispositivo.</font></p>     <p>&nbsp;</p>     <P><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>MATERIALES Y    M&Eacute;TODOS</b></font>      <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para el desarrollo    de la presente investigaci&oacute;n, se utilizaron los siguientes m&eacute;todos    te&oacute;ricos y emp&iacute;ricos:</font>      <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Anal&iacute;tico    - sint&eacute;tico: Se seleccion&oacute; para el an&aacute;lisis del objeto    de estudio y sus componentes, de manera que se pudieran describir sus caracter&iacute;sticas    generales, as&iacute; como las relaciones entre sus componentes.</font>      ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana, Arial, Helvetica, sans-serif">An&aacute;lisis    hist&oacute;rico - l&oacute;gico: Se seleccion&oacute; para analizar el proceso    de desarrollo de aplicaciones para tarjetas inteligentes y la extensi&oacute;n    de sus capacidades de procesamiento y memoria, desde su perspectiva hist&oacute;rica,    evidenciando c&oacute;mo ha evolucionado a trav&eacute;s del tiempo.</font>      <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Modelaci&oacute;n:    Se tuvo en cuenta para modelar los componentes del modelo de desarrollo de aplicaciones    para la extensi&oacute;n de las capacidades de procesamiento y memoria de las    tarjetas inteligentes, que se presenta como aporte fundamental de este trabajo.    </font>      <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Alternativas    a las limitaciones de procesamiento y memoria de las tarjetas inteligentes.</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como posibles soluciones    a las limitaciones mencionadas, la industria de software ha estado revisando    temas de dise&ntilde;o que permiten incorporar m&uacute;ltiples chips de memoria    en una tarjeta inteligente. Empresas como Gemalto han producido tarjetas gemelas    (twin cards), con la incorporaci&oacute;n de dos chips no conectados en una    sola tarjeta, que no pueden por tanto compartir datos entre ellos. Por otra    parte la industria tambi&eacute;n ha ido desarrollado algunos dispositivos con    una configuraci&oacute;n de hardware superior (32-bit de CPU, 24-Kb de RAM,    &gt; 256-Kb de ROM, &gt;128Kb de EEPROM, etc). Estos dispositivos demandan un    soporte m&aacute;s completo del lenguaje, para lo cual Sun ha creado una nueva    arquitectura Java Card (3.0.1 Connected Edition)(Sun Microsystems, 2009). Esta    edici&oacute;n presenta un ambiente de ejecuci&oacute;n significativamente enriquecido    y una m&aacute;quina virtual nueva como se detalla en (Sun Microsystems, 2008).    A pesar de los avances que significa esta nueva generaci&oacute;n de tarjetas    inteligentes, el mercado a&uacute;n es dominado por las generaciones anteriores    debido fundamentalmente a los costos de producci&oacute;n que implican y en    muchos casos la memoria EEPROM disponible sigue siendo insuficiente.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Otro de los enfoques    en los que se ha estado trabajando incluye el uso de ordenadores de conjunto    con las tarjetas inteligentes, para utilizar de esta manera los recursos de    hardware que tienen estos. Como ejemplo temprano se encuentra Blaze (Blaze,    1995) que propone el uso de un ordenador potente con una tarjeta inteligente    para un cifrado de clave sim&eacute;trica, debido a que el ordenador proporciona    mayor velocidad para el cifrado. Luego de esta primera publicaci&oacute;n, se    realizan otras (Blaze, Feigenbaum y Naor, 1999; Lucks, 1997) donde, tomando    como base el Remotely Keyed Encryption Protocol propuesto por BLAZE (se usa    Remotely Keyed Encryption Scheme como t&eacute;rmino equivalente) y el principio    que plantea su autor, se analizan algunas debilidades de seguridad que posee    y se formalizan requerimientos de seguridad que debe cumplir. Luego, Lucks (Lucks,    1999) describe un nuevo esquema : Accelerated Remotely Keyed encryption scheme    (ARK) que plantea ser m&aacute;s eficiente y cumplir los mismos requerimientos    de seguridad que (Blaze, Feigenbaum y Naor, 1999). A pesar de las diferencias    y formalismos en cuanto a seguridad, todos estos algoritmos poseen el mismo    principio de utilizar la capacidad de procesamiento de un host para el cifrado    de grandes bloques de informaci&oacute;n, usando la seguridad de una tarjeta    inteligente para almacenar la llave secreta con que se realiza el cifrado. Por    otra parte, en (Cap, Maibaum y Heyden, 2001) se presenta un m&eacute;todo para    aumentar la memoria de datos de las smartcards utilizando memoria virtual. Esta    soluci&oacute;n posibilita el almacenamiento de datos asociados a las aplicaciones    de las tarjetas inteligentes fuera de la misma, en un servidor, de manera que    se extienda la capacidad de memoria de estos dispositivos y sea recuperable    su informaci&oacute;n ante una p&eacute;rdida o deterioro. Sin embargo esta    soluci&oacute;n provee una extensi&oacute;n solo de la capacidad de almacenamiento    de las tarjetas Java Card, pero no de su capacidad de procesamiento. Adem&aacute;s    la documentaci&oacute;n que se presenta es insuficiente y no existe acceso al    c&oacute;digo fuente de esta soluci&oacute;n.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la revisi&oacute;n    de la literatura de manera general, se observa que es recurrente el tema de    las limitaciones de procesamiento y memoria de las tarjetas inteligentes, enmarcadas    fundamentalmente en algunas de las &aacute;reas de aplicaci&oacute;n m&aacute;s    cr&iacute;ticas por los recursos que necesitan. No obstante estas limitaciones,    no se considera que ha sido explotada por la industria o la academia, la idea    de proveer soluciones de software. Por tanto, surge la necesidad de crear un    modelo de desarrollo de referencia para la extensi&oacute;n de las capacidades    no solo de memoria, sino tambi&eacute;n de procesamiento, de las aplicaciones    Java Card para tarjetas inteligentes.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Modelo de desarrollo    tradicional de aplicaciones para tarjetas inteligentes Java Card</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Existen varios    elementos que intervienen en el desarrollo tradicional de aplicaciones para    tarjetas inteligentes Java Card (<a href="#f1">Figura 1</a>). Entre estos elementos    se encuentran, primeramente, los applets Java Card que corren dentro del ambiente    de la tarjeta gracias al int&eacute;rprete Java Card de la m&aacute;quina virtual.    Adem&aacute;s de los applets Java Card intervienen en el conjunto de una aplicaci&oacute;n,    los elementos correspondientes al terminal o host. Estos elementos a su vez    podr&iacute;an interactuar con una aplicaci&oacute;n remota o back- end conformando    un sistema completo que proporciona un servicio final a un usuario.</font></p>     <p align="center"><font face="Verdana, Arial, Helvetica, sans-serif"><a name="f1"></a><img src="img/revistas/rcci/v8n1/f0107114.jpg" width="571" height="304"></font></p>     <p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El    terminal contiene las aplicaciones que com&uacute;nmente residen en un ordenador.    Aqu&iacute; se encuentran los middlewares, que no son m&aacute;s que librer&iacute;as    que exponen m&eacute;todos de acceso a un applet determinado en una tarjeta    inteligente. La comunicaci&oacute;n entre un middleware y un applet Java Card    determinado, se basa en el modelo de comunicaci&oacute;n &quot;Paso de Mensajes&quot;,    usando comandos APDU . Los middlewares env&iacute;an comandos APDU con las peticiones    a la tarjeta inteligente, mediante la comunicaci&oacute;n con un lector de tarjeta    (Smartcard Reader) que utiliza el est&aacute;ndar PC/SC para la conexi&oacute;n    con el ordenador. Dichos comandos APDU son recibidos y procesados por un applet    espec&iacute;fico que devuelve una respuesta en el mismo formato APDU. El modelo    de desarrollo tradicional est&aacute; centrado alrededor del procesamiento de    peticiones entrantes, donde un applet dentro de la tarjeta obtiene una petici&oacute;n    y luego la procesa. De esta manera una tarjeta inteligente puede verse como    un servidor, nunca toma la iniciativa. A continuaci&oacute;n se propone un modelo    de desarrollo extendido, que permite obtener una mayor capacidad de procesamiento    y memoria en aplicaciones para tarjetas inteligentes, usando componentes de    software que posibilitan la utilizaci&oacute;n de los recursos de hardware de    un ordenador.</font></p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <P><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>RESULTADOS Y    DISCUSI&Oacute;N</b></font>      <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Las principales    caracter&iacute;sticas generales del modelo de desarrollo de aplicaciones para    la extensi&oacute;n de las capacidades de procesamiento y memoria de las tarjetas    inteligentes, que fueron definidas son las siguientes:</font>  <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El modelo de      desarrollo que se propone provee un mecanismo para el almacenamiento de los      datos asociados a las aplicaciones de las tarjetas inteligentes, fuera de      esta, en un repositorio de datos externo.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El modelo de      desarrollo que se propone provee un mecanismo para la ejecuci&oacute;n de      algoritmos de alto costo computacional, que por el tiempo de ejecuci&oacute;n      y/o complejidad es m&aacute;s factible realizar fuera de la tarjeta.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El modelo de      desarrollo necesita contar con un ambiente conectado y controlado como empresas      e instituciones.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El modelo de      desarrollo provee mecanismos de seguridad que proporcionan un ambiente seguro      fuera de la tarjeta y protegen la integridad y confidencialidad de los datos      que se almacenan en el servidor externo.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El modelo de extensi&oacute;n    que se propone integra nuevos componentes de software al modelo de desarrollo    tradicional de aplicaciones para tarjetas inteligentes Java Card, que pueden    ser utilizados para applets Java Card espec&iacute;ficos, que por sus caracter&iacute;sticas    requieran operaciones con mayor capacidad de memoria o procesamiento de la que    la tarjeta es capaz de proveer. En la <a href="#f2">Figura 2</a> se muestra    una representaci&oacute;n del mismo.</font></p>     <p align="center"><font face="Verdana, Arial, Helvetica, sans-serif"><a name="f2"></a><img src="img/revistas/rcci/v8n1/f0207114.jpg"></font></p>     ]]></body>
<body><![CDATA[<p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los    nuevos componentes de software que se proponen como parte de este modelo y sus    responsabilidades se detallan a continuaci&oacute;n:</font></p>     <p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Java    Card Extension API:</b> Este componente va instalado en la tarjeta inteligente,    de conjunto con los applets Java Card que se desarrollen. Esta API provee un    conjunto de m&eacute;todos a utilizar por el desarrollador Java Card, como conformar    una petici&oacute;n de extensi&oacute;n con los datos necesarios para realizarla    fuera de la tarjeta, o procesar el resultado final de una operaci&oacute;n de    extensi&oacute;n.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Proxy Component:</b>    Este componente reside en el terminal y sirve de intermediario de la comunicaci&oacute;n    entre todos los componentes del modelo. Este componente adem&aacute;s debe funcionar    como un wrapper de la API PC/SC, con la idea de que cualquier middleware lo    pueda usar para la comunicaci&oacute;n con una tarjeta inteligente, abstrayendo    al middleware a solo realizar operaciones necesarias para su comunicaci&oacute;n    con el applet o los applets que necesita. A su vez el Proxy Component implementa    toda la l&oacute;gica de un Reader (lector), interceptando los comandos APDU    que por &eacute;l pasen y con un comportamiento en cierta medida &quot;inteligente&quot;    reenv&iacute;a al applet en la tarjeta, al componente Extension service en el    servidor externo o a un middleware estos comandos APDU. Entre las principales    responsabilidades que debe tener este componente se encuentran:</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Obtener los      lectores disponibles para la conexi&oacute;n.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Realizar la      conexi&oacute;n y desconexi&oacute;n con un lector de tarjetas determinado.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Recibir, enviar      e interpretar un comando APDU.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Enviar una petici&oacute;n      de extensi&oacute;n al servicio de extensi&oacute;n o enviar respuesta de      una operaci&oacute;n de extensi&oacute;n a la tarjeta.</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Extension Service:</b>    Servicio de extensi&oacute;n que reside en un servidor de aplicaci&oacute;n    y es el encargado de recibir las peticiones de ejecuci&oacute;n o de almacenamiento    fuera de la tarjeta inteligente. Se recomienda que sea un servicio gen&eacute;rico,    que invoque operaciones de extensi&oacute;n espec&iacute;ficas, para minimizar    el desarrollo para los programadores. Entre las principales responsabilidades    que debe tener este componente se encuentran:</font></p> <ul>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Ejecutar una      funci&oacute;n o algoritmo en el servidor</font></li>       ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Almacenar o      leer informaci&oacute;n asociada a una tarjeta en un repositorio de datos.</font></li>       <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Enviar la respuesta      de una operaci&oacute;n realizada (procesamiento o almacenamiento).</font></li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Extension Operations    (OE):</b> Constituyen las operaciones espec&iacute;ficas a ser ejecutadas en    el servidor de aplicaciones. Estas operaciones deben ser desarrolladas y publicadas    en el servidor, y pueden ser de almacenamiento o consulta de informaci&oacute;n,    o la ejecuci&oacute;n de operaciones de costo computacional o complejidad, que    por el tiempo de ejecuci&oacute;n es factible que se realicen fuera de la tarjeta.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Data Repository:</b>    Es un repositorio de datos para almacenar informaci&oacute;n asociada a un applet    fuera de la tarjeta inteligente. En este componente se almacena informaci&oacute;n    asociada a una operaci&oacute;n de extensi&oacute;n de almacenamiento, tales    como: el identificador de la operaci&oacute;n y el identificador del chip de    la tarjeta a la que se le va a asociar una informaci&oacute;n almacenada en    el servidor para su posterior recuperaci&oacute;n. Tambi&eacute;n se almacenan    las variables con sus respectivos valores, que se van a gestionar fuera de la    tarjeta. Por lo b&aacute;sico de los tipos de datos que se almacenan en las    tarjetas y su conversi&oacute;n en arreglos de bytes para su salida o entrada    de esta, no se definen tipos de datos complejos, sino una estructura simple    de clave - valor que permita almacenar variables y sus valores. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Security Extension    Manager:</b> Es el componente que se encarga de implementar la seguridad entre    los nuevos componentes que introduce el modelo de desarrollo. Espec&iacute;ficamente    se encarga de establecer un canal seguro de comunicaci&oacute;n entre el servidor    de aplicaciones y la Java Card Extension API en la tarjeta, para cuando se realicen    peticiones que requieran la ejecuci&oacute;n de operaciones de extensi&oacute;n.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Key Management    System (KMS):</b> Componente que se encarga de la administraci&oacute;n de manera    segura de las llaves que se utilizar&aacute;n para el establecimiento de los    canales seguros entre los componentes del modelo.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Adem&aacute;s de    estos nuevos componentes que forman parte del modelo de extensi&oacute;n que    se propone, se mantienen los componentes de software fundamentales de una soluci&oacute;n    para tarjetas inteligentes Java Card: los middlewares y sus applets correspondientes,    que son implementados por el desarrollador de igual manera que en el modelo    tradicional.    <br>   Los componentes del modelo de extensi&oacute;n son desplegados en tres ambientes    diferentes: el terminal, la tarjeta inteligente y un servidor de aplicaciones.    Al igual que en el modelo tradicional de desarrollo tambi&eacute;n, la comunicaci&oacute;n    entre un middleware determinado, el componente Proxy y un applet Java Card es    a trav&eacute;s de un comando APDU. Por su parte, la comunicaci&oacute;n entre    el componente Proxy y el Extensi&oacute;n Service ocurre a trav&eacute;s del    protocolo SOAP .</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Flujo de comunicaci&oacute;n    entre los componentes del modelo de extensi&oacute;n</b></font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <a href="#f3">Figura    3</a> se presenta un flujo de comunicaci&oacute;n b&aacute;sico entre cada uno    de los componentes del modelo de extensi&oacute;n. El flujo de comunicaci&oacute;n    comienza desde el terminal, cuando un middleware espec&iacute;fico env&iacute;a    un comando APDU a la tarjeta inteligente, que es interceptado ahora por el Proxy    Component, que lo reenv&iacute;a a la tarjeta. En la tarjeta un applet espec&iacute;fico    recibe el comando APDU y lo procesa para determinar si se est&aacute; solicitando    una operaci&oacute;n que requiere ser ejecutada fuera de la tarjeta (operaci&oacute;n    de extensi&oacute;n) o una operaci&oacute;n est&aacute;ndar. En cualquiera de    los casos se responde al Proxy Component con un comando APDU respuesta.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Si el comando APDU    enviado por el Proxy Component es un comando APDU de una operaci&oacute;n est&aacute;ndar,    se le env&iacute;a un APDU respuesta con la respuesta del comando enviado. En    caso contrario, si se est&aacute; solicitando una operaci&oacute;n de extensi&oacute;n,    usando el componente Java Card Extension API, se conforma un TLV con los datos    necesarios para ejecutar la operaci&oacute;n de extensi&oacute;n en el servidor    de aplicaciones fuera de la tarjeta. En el caso de que los datos no quepan en    un comando APDU respuesta, la Java Card Extension API puede enviar cadenas APDU    respuesta con todos los datos que se necesitan para ejecutar una operaci&oacute;n    de extensi&oacute;n (pueden ser varios par&aacute;metros para ejecutar un algoritmo    costoso, por ejemplo).</font></p>     <p align="center"><font face="Verdana, Arial, Helvetica, sans-serif"><a name="f3"></a><img src="img/revistas/rcci/v8n1/f0307114.jpg" width="567" height="382"></font></p>     <p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El    comando APDU respuesta enviado por el applet en cualquiera de los dos casos    anteriormente explicados, es interceptado por el Proxy Componente interpretado    para saber c&oacute;mo proceder. En caso de ser un comando APDU respuesta est&aacute;ndar    se le reenv&iacute;a esta respuesta al middleware y termina el flujo de comunicaci&oacute;n.    En el otro caso, que el APDU respuesta est&eacute; solicitando realizar una    operaci&oacute;n de extensi&oacute;n, se env&iacute;a esta petici&oacute;n al    Extension Service. Las operaciones de extensi&oacute;n en el servidor pueden    ser de operaciones de almacenamiento o consulta de informaci&oacute;n, o la    ejecuci&oacute;n de algoritmos de alto costo computacional que por el tiempo    de ejecuci&oacute;n y/o complejidad es m&aacute;s factible realizar fuera de    la tarjeta Como resultado del servicio web se devuelve el resultado de la ejecuci&oacute;n    de la operaci&oacute;n en el servidor al Proxy Component. Este componente env&iacute;a    a la tarjeta un APDU con la respuesta de la operaci&oacute;n de extensi&oacute;n    recibida por el servidor, el cual se procesa por la Java Card Extension API    y el applet al que corresponde realiza con ese resultado cualquier operaci&oacute;n    que necesite o simplemente no hace nada. Luego de este flujo de procesamiento    en la tarjeta, se devuelve un APDU respuesta al Proxy Componet para que sea    reenviado finalmente al middleware con el resultado final de la operaci&oacute;n    de extensi&oacute;n.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Mecanismos de    seguridad propuestos</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como mecanismos    de seguridad se proponen los modelos de seguridad de ISO/IEC 7816 (ISO/IEC,    2005) y Global Platform (Global Platform, 2003). Estos modelos est&aacute;n    compuestos principalmente por un conjunto de elementos que se encuentra en el    chip de la tarjeta, aunque deben ser considerados por el terminal, para poder    establecer una configuraci&oacute;n de seguridad en determinado momento, e iniciar    y mantener un canal seguro de comunicaci&oacute;n con la tarjeta inteligente.    Estos elementos son: contextos y objetos de seguridad; y protocolo de autenticaci&oacute;n    mutua y de mensajer&iacute;a segura.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los contextos de    seguridad definen ambientes para las aplicaciones en el chip, a los cuales pertenecen    varios objetos de seguridad como: conjuntos de llaves sim&eacute;tricas o asim&eacute;tricas,    configuraciones para el canal seguro de comunicaci&oacute;n que se quiera establecer,    objetos para autenticaci&oacute;n de usuario, entre otros. Los protocolos de    autenticaci&oacute;n mutua, conforman la primera fase en la comunicaci&oacute;n    segura entre el terminal y la tarjeta, y describen cu&aacute;les son los pasos    necesarios para realizar una autenticaci&oacute;n entre ambas partes. Estos    protocolos est&aacute;n soportados por un conjunto de comandos APDU (ISO/IEC,    2005). La mensajer&iacute;a segura es la segunda fase en una comunicaci&oacute;n    entre el terminal y la tarjeta, y solo puede establecerse luego de haberse realizado    alg&uacute;n proceso de autenticaci&oacute;n mutua satisfactoriamente.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para la comunicaci&oacute;n    middleware - applet, se propone un canal seguro Global Platform con el protocolo    SCP 01, donde la autenticaci&oacute;n mutua se realiza de forma sim&eacute;trica.    Una descripci&oacute;n detallada de este protocolo y los comandos que se intercambian    en el mismo se puede encontrar en el est&aacute;ndar (Global Platform, 2003)    y en (Jardines, 2013). Entre los componentes que se introducen como parte del    modelo de desarrollo, para peticiones que requieren la ejecuci&oacute;n de operaciones    de extensi&oacute;n fuera de la tarjeta, se propone un canal seguro ISO/IEC    7816 entre la API Java Card Extension y el componente Security Extension Management    (ambientes seguros ambos). Esta decisi&oacute;n est&aacute; basada en el concepto    de que las llaves est&eacute;n almacenadas de manera segura en la tarjeta y    el Key Management System, que se encuentra en el servidor de aplicaciones. Para    enviar las llaves a la tarjeta se debe hacer durante la etapa de personalizaci&oacute;n    a trav&eacute;s de un comando Put Data. A diferencia de Global Platform, ISO    no define la estructura y codificaci&oacute;n de los comandos a utilizar para    establecer un canal seguro en el est&aacute;ndar, solo especifica cu&aacute;les    son los comandos para crear, establecer y verificar los datos que se van a necesitar    en el proceso de autenticaci&oacute;n mutua (sim&eacute;trica o asim&eacute;trica).    Los principales comandos que se proveen en (ISO/IEC, 2005) son: Put Data, Get    Challenge, Manage Security Environment, Perform Security Operation, Mutual Authenticate,    Internal Authenticate y External Authenticate.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Teniendo lo anterior    como base se dise&ntilde;&oacute; un protocolo de autenticaci&oacute;n mutua    sim&eacute;trica basado en el modelo de seguridad ISO/IEC 7816, que se muestra    a continuaci&oacute;n en la <a href="#f4">Figura 4</a>.</font></p>     <p align="center"><font face="Verdana, Arial, Helvetica, sans-serif"><a name="f4"></a><img src="img/revistas/rcci/v8n1/f0407114.jpg" width="658" height="406"></font></p>     ]]></body>
<body><![CDATA[<p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">De    igual manera que para la ejecuci&oacute;n de las operaciones de extensi&oacute;n,    descritas en el flujo de la Figura 3, todos la comunicaci&oacute;n es dirigida    por el Proxy Component. Sin embargo, en este protocolo de autenticaci&oacute;n    mutua, todo el procesamiento de informaci&oacute;n ocurre entre la Java Card    Extension API y el componente Security Extension Management, adem&aacute;s del    KMS que almacena las llaves a utilizar por el servidor de aplicaciones. Luego,    durante la etapa de mensajer&iacute;a segura la data del comando se empaqueta    en un TLV donde la etiqueta corresponde con el nivel de seguridad que se vaya    a implementar seg&uacute;n el canal de comunicaci&oacute;n establecido entre    la tarjeta inteligente y el terminal y la decisi&oacute;n del desarrollador.</font></p>     <p>&nbsp;</p>     <P align="left"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><B>CONCLUSIONES</B></font>      <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En este trabajo    ha sido presentado un modelo de desarrollo de aplicaciones para la extensi&oacute;n    de las capacidades de procesamiento y memoria de las tarjetas inteligentes,    propuesto a partir de las restricciones de hardware que tienen estos dispositivos    a&uacute;n, y la insuficiencia detectada de proveer soluciones de software a    esta problem&aacute;tica. El modelo de desarrollo que se propone provee un mecanismo    para el almacenamiento de datos asociados a las aplicaciones de las tarjetas    inteligentes fuera de esta y para la ejecuci&oacute;n de algoritmos de alto    costo computacional, que por el tiempo de ejecuci&oacute;n y/o complejidad es    m&aacute;s factible realizar fuera de la tarjeta. El modelo de desarrollo adem&aacute;s    provee mecanismos de seguridad que proporcionan un ambiente seguro fuera de    la tarjeta y protegen la integridad y confidencialidad de los datos que se almacenan    en el servidor externo. Este nuevo modelo de desarrollo puede aumentar significativamente    las aplicaciones y el uso de las tarjetas inteligentes, en un ambiente conectado,    principalmente para entornos controlados como empresas e instituciones.</font>      <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como aporte pr&aacute;ctico    de este trabajo se ha desarrollado una plataforma de software que automatiza    el modelo propuesto y permite ejecutar operaciones de extensi&oacute;n (procesamiento    y almacenamiento) fuera de la tarjeta inteligente, aprovech&aacute;ndose los    recursos de hardware de los ordenadores, con tarjetas de menores prestaciones.    Como trabajo futuro de la presente investigaci&oacute;n queda la presentaci&oacute;n    de los resultados obtenidos en la aplicaci&oacute;n de la plataforma de software    desarrollada, para algunas aplicaciones de tarjetas inteligentes.</font>      <P>&nbsp;</p>     <P><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>REFERENCIAS    BIBLIOGR&Aacute;FICAS</B></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> BLAZE, MATT. High-Bandwidth    Encryption with Low-Bandwidth. In Proceedings of the Fast Software Encryption    Workshop. Springer, 1995.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">BLAZE, MATT; FEIGENBAUM,    JOAN; NAOR, Mori. A formal treatment of remotely keyed encryption. In Proceedings    of the tenth annual ACM-SIAM symposium on Discrete algorithms. Society for Industrial    and Applied Mathematics, 1999. ISBN 0898714346.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">CAP, CLEMENS H;    MAIBAUM, NICO y HEYDEN, LARS. Extending the data storage capabilities of a Java-based    smartcard. In Proceedings. Sixth IEEE Symposium on Computers and Communications.    IEEE, 2001. ISBN 0769511775.</font></p>     ]]></body>
<body><![CDATA[<!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">GLOBAL PLATFORM.    GlobalPlatform Card Specification Version 2.1.1. 2003,     no. March.</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">ISO/IEC. 7816-1:    Physical characteristics. 2003.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">ISO/IEC. 7816-2:    Cards with contacts - Dimensions and location of the contacts. 2007.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">ISO/IEC. 7816-4:    Organization, security and commands for interchange. 2005.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">JARDINES, Ander.    Gu&iacute;a para establecer una autenticaci&oacute;n mutua y abrir un canal    seguro GlobalPlatform 2.1.1 en Tarjetas Inteligentes. In XI Seminario Iberoamericano    de Seguridad en las Tecnolog&iacute;as de la Informaci&oacute;n. Convenci&oacute;n    Inform&aacute;tica. Havana, Cuba, 2013.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">LEG&Oacute;N, ADONIS    C&Eacute;SAR; RAMIREZ, SUSANA MAR&Iacute;A; LANDRI&Aacute;N, JORGE; et al. Sistema    de gesti&oacute;n de servicios para documentos de identificaci&oacute;n nacional    electr&oacute;nicos. In XI Seminario Iberoamericano de Seguridad en las Tecnolog&iacute;as    de la Informaci&oacute;n. Convenci&oacute;n Inform&aacute;tica. Havana, Cuba,    2013.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">LUCKS, STEFAN.    Accelerated remotely keyed encryption. In Proceedings of the Fast Software Encryption    Workshop. Berlin Heidelberg : Springer, 1999. ISBN 354066226X.</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">LUCKS, STEFAN.    On the security of remotely keyed encryption. In Proceedings of the Fast Software    Encryption Workshop. Berlin Heidelberg: Springer, 1997. ISBN 3540632476.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">ORACLE; JAVA CARD    FORUM. Java Card Forum. 2012.     Dostupn&eacute; tak&eacute; z. Disponible en:    [<a href="http://www.javacardforum.org/openday/" target="_blank">http://www.javacardforum.org/openday/</a>].</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">SUN MICROSYSTEMS.    Java Card Platform Version 3.0.1- Connected Edition Specification. 2009.     Dostupn&eacute;    tak&eacute; z. Disponible en: [<a href="http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javame-419430.html#java_card_kit-3.0.1-rr-spec-oth-JPR" target="_blank">http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javame-419430.html#java_card_kit-3.0.1-rr-spec-oth-JPR</a>].</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">SUN MICROSYSTEMS.    THE JAVA CARD TM 3 PLATFORM. 2008.     Dostupn&eacute; tak&eacute; z: Disponible    en: [<a href="http://www.oracle.com/technetwork/articles/javase/javacard3-whitepaper-149761.pdf" target="_blank">http://www.oracle.com/technetwork/articles/javase/javacard3-whitepaper-149761.pdf</a>].</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">SUN MICROSYSTEMS.    Virtual Machine Specification- Java CardTM Platform, Version 2.2.2. 2006.    </font></p>     <p>&nbsp;</p>     <P>&nbsp; </p>     <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Recibido: 07/11/2013    <br>   Aceptado: 10/12/2013</font>       ]]></body><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BLAZE]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[High-Bandwidth Encryption with Low-Bandwidth. In Proceedings of the Fast Software Encryption Workshop]]></source>
<year>1995</year>
</nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BLAZE]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[FEIGENBAUM]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[NAOR]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[A formal treatment of remotely keyed encryption. In Proceedings of the tenth annual ACM-SIAM symposium on Discrete algorithms]]></source>
<year>1999</year>
<publisher-name><![CDATA[Society for Industrial and Applied Mathematics]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CAP]]></surname>
<given-names><![CDATA[C. H]]></given-names>
</name>
<name>
<surname><![CDATA[MAIBAUM]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[HEYDEN]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<source><![CDATA[Extending the data storage capabilities of a Java-based smartcard.]]></source>
<year>2001</year>
</nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="">
<collab>GLOBAL PLATFORM</collab>
<source><![CDATA[GlobalPlatform Card Specification Version 2.1.1.]]></source>
<year>2003</year>
</nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="">
<collab>ISO/IEC</collab>
<source><![CDATA[7816-1: Physical characteristics]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="">
<collab>ISO/IEC</collab>
<source><![CDATA[7816-2: Cards with contacts - Dimensions and location of the contacts]]></source>
<year>2007</year>
</nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="">
<collab>ISO/IEC</collab>
<source><![CDATA[7816-4: Organization, security and commands for interchange]]></source>
<year>2005</year>
</nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[JARDINES]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Guía para establecer una autenticación mutua y abrir un canal seguro GlobalPlatform 2.1.1 en Tarjetas Inteligentes]]></source>
<year>2013</year>
<publisher-loc><![CDATA[Havana ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LEGÓN]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[RAMIREZ]]></surname>
<given-names><![CDATA[S. M]]></given-names>
</name>
<name>
<surname><![CDATA[LANDRIÁN]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[Sistema de gestión de servicios para documentos de identificación nacional electrónicos]]></source>
<year>2013</year>
<publisher-loc><![CDATA[Havana ]]></publisher-loc>
<publisher-name><![CDATA[Convención Informática]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LUCKS]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[Accelerated remotely keyed encryption]]></source>
<year>1999</year>
<publisher-name><![CDATA[Berlin Heidelberg]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LUCKS]]></surname>
<given-names><![CDATA[STEFAN]]></given-names>
</name>
</person-group>
<source><![CDATA[On the security of remotely keyed encryption]]></source>
<year>1997</year>
<publisher-name><![CDATA[Berlin Heidelberg]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="">
<collab>ORACLE</collab>
<source><![CDATA[JAVA CARD FORUM.]]></source>
<year>2012</year>
</nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="">
<collab>SUN MICROSYSTEMS</collab>
<source><![CDATA[Java Card Platform Version 3.0.1- Connected Edition Specification]]></source>
<year>2009</year>
</nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="">
<collab>SUN MICROSYSTEMS</collab>
<source><![CDATA[THE JAVA CARD TM 3 PLATFORM]]></source>
<year>2008</year>
</nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="">
<collab>SUN MICROSYSTEMS</collab>
<source><![CDATA[Virtual Machine Specification- Java CardTM Platform]]></source>
<year>2006</year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
