ES2329970T3 - Procedimiento de comunicacion entre una tarjeta inteligente y una estacion huesped. - Google Patents

Procedimiento de comunicacion entre una tarjeta inteligente y una estacion huesped. Download PDF

Info

Publication number
ES2329970T3
ES2329970T3 ES01914084T ES01914084T ES2329970T3 ES 2329970 T3 ES2329970 T3 ES 2329970T3 ES 01914084 T ES01914084 T ES 01914084T ES 01914084 T ES01914084 T ES 01914084T ES 2329970 T3 ES2329970 T3 ES 2329970T3
Authority
ES
Spain
Prior art keywords
card
request
smart card
microcontroller
iso
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES01914084T
Other languages
English (en)
Inventor
Nicolas Drabczuk
Mathias Gelze
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales DIS France SA
Original Assignee
Gemalto SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemalto SA filed Critical Gemalto SA
Application granted granted Critical
Publication of ES2329970T3 publication Critical patent/ES2329970T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • G06K19/0772Physical layout of the record carrier
    • G06K19/07733Physical layout of the record carrier the record carrier containing at least one further contact interface not conform ISO-7816
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0008General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0013Methods or arrangements for sensing record carriers, e.g. for reading patterns by galvanic contacts, e.g. card connectors for ISO-7816 compliant smart cards or memory cards, e.g. SD card readers
    • G06K7/0021Methods or arrangements for sensing record carriers, e.g. for reading patterns by galvanic contacts, e.g. card connectors for ISO-7816 compliant smart cards or memory cards, e.g. SD card readers for reading/sensing record carriers having surface contacts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

Una tarjeta inteligente (3) que incluye un microcontrolador (33) y que consta de: - una memoria con un conjunto de instrucciones (337) que permiten al microcontrolador (33) establecer comunicación de acuerdo con un primer protocolo de comunicación; que se caracteriza porque la tarjeta inteligente consta además de: - una interfaz (336) para convertir los comandos, de acuerdo con el primer protocolo de comunicación, en comandos de acuerdo con un segundo protocolo de comunicación y viceversa.

Description

Procedimiento de comunicación entre una tarjeta inteligente y una estación huésped.
La invención se refiere a un articulo portátil similar a una tarjeta que incluye un microcontrolador. La invención se refiere también a un conector con una ranura para acoger dicho artículo portátil similar a una tarjeta.
Las tarjetas inteligentes son artículos portátiles estandarizados definidos en la norma ISO 7816 y se pueden utilizar especialmente para permitir la gestión segura de datos confidenciales y facilitar la identificación. Para comunicarse con el mundo exterior, estas tarjetas utilizan normalmente los protocolos de comunicación definidos en los apartados tercero y cuarto de la norma mencionada anteriormente. En concreto, utilizan un protocolo muy conocido para las personas con experiencia en la materia bajo la referencia T=0, que implementa comandos con un formato definido: los comandos para unidad de datos de protocolo de aplicación (UDPA).
La norma sobre el bus serie universal (USB) describe un sistema de bus serie universal y se ha desarrollado para hacer posibles los intercambios de datos entre una estación principal, p. ej. una estación de trabajo compuesta por un ordenador personal, y cualquier dispositivo periférico, como una impresora o un teclado, que se utiliza de una forma sencilla y rápida. El uso de este sistema presenta múltiples ventajas. En primer lugar, requiere dos líneas conductoras VBUS y GND (TIERRA) para alimentar el dispositivo periférico y dos líneas conductoras D+ y D- para la transmisión diferencial de las señales de datos. En segundo lugar, permite la transmisión de datos a velocidades más altas, por lo general, que las recomendadas por los enlaces tipo serie instalados habitualmente en los ordenadores personales. Dichas velocidades son 12 megabits por segundo (Mb/seg) a velocidad máxima y 1,5 Mb/seg a velocidad baja. Además, es compatible con la conexión "Plug and Play" en caliente de los periféricos, es decir, es compatible con el reconocimiento dinámico de dichos periféricos por parte del ordenador principal. Mediante dicho reconocimiento, los programas del controlador del periférico residentes en una memoria masiva del ordenador principal sólo se cargan en una memoria de lectura y escritura de dicho ordenador cuando se conectan los periféricos mencionados. Los mismos controladores se descargan de dicha memoria de lectura y escritura cuando se desconectan los periféricos. Además, el bus serie universal permite la conexión en cascada de hasta 126 periféricos en un único puerto USB físico. Por último, los periféricos
USB no monopolizan una petición de interrupción (IRQ) de hardware realizada por los componentes del ordenador.
En la actualidad, la necesidad de acceder de forma segura a las estaciones principales o a los servidores asociados con los mismos es cada vez más importante. Lo mismo se aplica a la necesidad de transferir de forma segura los datos que están bajo el control de dichas estaciones, especialmente desde el software de las aplicaciones en dichas estaciones dedicado específicamente al correo electrónico o a la navegación por Internet, donde es aconsejable la autentificación de los datos mediante algoritmos de cifrado que permitan certificar y registrar dichos datos.
Considerando el estado de la tecnología descrito más arriba, las necesidades de seguridad mencionadas con anterioridad se han cubierto de forma natural utilizando tarjetas inteligentes que funcionan con los protocolos indicados en los apartados tercero y cuarto de la norma ISO 7816, a través de lectores de tarjetas inteligentes conectados a los puertos USB de un ordenador principal y que utilizan la conversión de protocolos USB/ISO. Dichos lectores se comunican, en primer lugar, con el ordenador principal utilizando el sistema USB y, en segundo lugar, con la tarjeta utilizando el sistema ISO. En la patente FR-A-2 774 194 o en la EP-A-O 259 786 se presentan ejemplos de lectores.
Por desgracia, dichos lectores son muy caros. Necesitan disponer de los medios necesarios para generar un reloj para impulsar el funcionamiento de una unidad central de procesamiento (CPU) en el microcontrolador de la tarjeta a través del área de contacto del reloj (CLK) de la tarjeta. Necesitan también disponer de los medios necesarios para generar una señal de reinicio y transmitir dicha señal a la tarjeta a través de un área de contacto específica conocida como área de reinicio (RST).
Además, cuando la tarjeta es una simple tarjeta ISO, los procedimientos para comunicarse con la tarjeta no tienen las ventajas anteriormente mencionadas del sistema USB, relativas, en concreto, a un número reducido de líneas conductoras y a altas velocidades de transmisión de datos.
Un objetivo de la invención es reducir los costes.
En un primer aspecto, la invención proporciona un método de comunicación entre una estación principal, como un ordenador personal, y una tarjeta inteligente, en el que dicho artículo portátil está conectado mediante un sistema de bus utilizando un primer protocolo de comunicación a dicha estación principal; el método se caracteriza por que incluye un paso mediante el que la estación principal comunica, de acuerdo con el primer protocolo de comunicación, una petición específica correspondiente a un segundo protocolo de comunicación, al artículo portátil que incluye un microcontrolador.
De forma ventajosa, el sistema de bus es un sistema de bus serie universal (USB) y la petición específica se comunica a la tarjeta inteligente que incluye un microcontrolador utilizando el modo de transferencia de control del segundo protocolo de comunicación. La petición específica puede ser una petición que proporcione la funcionalidad de un lector para la tarjeta inteligente que contiene un microcontrolador. El microcontrolador puede incluir una dispositivo que asocie una unidad central de procesamiento con una memoria volátil y la petición específica puede ser una petición DoReset(), que activa el reinicio de la memoria volátil de dicha unidad. La petición específica puede ser una petición GetATR(), que permite recuperar una cadena de respuestas al reiniciar la tarjeta inteligente. La petición específica puede ser una petición SendADPU(), que permite a la estación principal enviar una cabecera de comando a la tarjeta inteligente. La petición específica puede ser una petición GetData() concreta, que permite a la estación principal recuperar los datos enviados por la tarjeta inteligente y recuperar una palabra de estado. La petición específica puede ser una petición SendDaid(), que permite a la estación principal comunicar datos a la tarjeta inteligente. La petición específica puede ser una petición IsReady(), que sirve para evitar que la estación principal active un modo de funcionamiento de bajo consumo de potencia en la tarjeta inteligente. La tarjeta inteligente puede enviar una respuesta OS-STATUS a la estación principal como contestación a la petición que permite a dicha estación activar un modo de consumo bajo de potencia en la mencionada tarjeta inteligente, que estaría codificada de tal modo que definiera el estado actual de la tarjeta inteligente. El estado actual de la tarjeta inteligente puede ser un estado silenciado o un estado en el que la tarjeta esté procesando. El artículo portátil que incluye un microcontrolador es una tarjeta de microcontrolador y el microcontrolador de la tarjeta incluye una memoria no volátil, que contiene un sistema operativo, apropiado para establecer comunicación mediante el segundo protocolo de comunicación que utiliza comandos UDPA como los que se definen en la norma ISO 7816.
En un segundo aspecto, la invención soluciona este problema proporcionando una tarjeta inteligente, apropiada para establecer comunicación con una estación principal como, p. ej. un ordenador personal, mediante un bus que está conectado tanto con la tarjeta inteligente como con la estación principal mencionadas, y en la que el artículo se comunica directamente con la estación principal.
La tarjeta inteligente tiene un microcontrolador y una memoria con un conjunto de instrucciones, que permite al microcontrolador establecer comunicación de acuerdo con un primer protocolo de comunicación. Además, la tarjeta inteligente consta de una interfaz para convertir los comandos de acuerdo con un segundo protocolo de comunicación y viceversa.
El sistema de bus es un sistema de bus USB; y el artículo portátil incluye una dispositivo que asocia una unidad central de procesamiento con una memoria no volátil que lleva un sistema operativo, apropiado para gestionar comandos UDPA como los que se definen en la norma ISO 7816.
La invención se entenderá mejor leyendo la siguiente descripción sin restricciones. La descripción debe leerse tomando como referencia los dibujos adjuntos.
- La figura 1 muestra los posibles esquemas de conexión entre una estación de trabajo principal y un artículo portátil de la invención;
- La figura 2 muestra una conexión entre un ordenador personal principal y una tarjeta inteligente de la invención;
- La figura 3 es una vista en perspectiva de un elemento conector apropiado para recibir una tarjeta inteligente para su conexión, de acuerdo con la invención, a un ordenador principal;
- La figura 4 es una vista frontal ampliada que muestra los contactos de una tarjeta inteligente para la conexión, de acuerdo con la invención, a un ordenador principal;
- La figura 5 es un diagrama de bloques que representa diversos elementos implicados en el funcionamiento de un microcontrolador de una tarjeta para su conexión, de acuerdo con la invención, a un ordenador principal;
- La figura 6 es un diagrama que representa la arquitectura lógica para un sistema, de acuerdo con la invención, para establecer la comunicación entre una tarjeta y una aplicación de software de un ordenador principal;
- La figura 7 es un diagrama de flujo que representa el modo en que tiene lugar una sesión de comunicación con una tarjeta inteligente de la invención;
- Las figuras 8A y 8B muestran transacciones que tienen lugar en un modo para que la tarjeta ejecute un comando ISO tipo 1;
- Las figuras 9A a 9D representan las transacciones que tienen lugar en un modo para que la tarjeta ejecute un comando ISO tipo 2; y
- Las figuras 10A a 10D representan las transacciones que tienen lugar en un modo para que la tarjeta ejecute un comando ISO tipo 3.
La invención se aplica especialmente dentro del contexto de garantizar la seguridad de la estación principal, p. ej. una estación equipada con un sistema operativo como los distribuidos por Microsoft bajo el nombre de Windows 2000, que está protegido como marca registrada. Ese sistema operativo y ciertas aplicaciones de software diseñadas para funcionar con el mismo, permiten utilizar una tarjeta diseñada específicamente para hacer que las transferencias de datos sean seguras, p. ej. para firmar el correo electrónico, así como hacer seguro el acceso a las redes de ordenadores, p. ej. mediante algoritmos de autenticación o algoritmos de no repudio. En general, la invención se puede implantar en cualquier tarjeta que tenga un sistema operativo compatible con los apartados tercero y cuarto de la norma ISO 7816.
La figura 1 muestra una estación principal 1 que tiene un concentrador 2 integrado y dicho concentrador 2 está dotado de puertos 21, 22 y 23 específicos, como se definen en la versión 1.1 de la norma USB, publicada el 23 de septiembre de 1998. Los puertos USB se pueden conectar a un artículo portátil 3 que tiene un microcontrolador de acuerdo con la invención, bien directamente, como en el caso de los artículos conectados a los puertos 21 y 22, o bien, de forma indirecta a través de otro concentrador 4, como en el caso de los artículos conectados al puerto 23.
Como se muestra en la figura 2, la estación principal es, p. ej. una estación de trabajo formada por un ordenador personal 1, y el artículo portátil que incluye un microcontrolador es una tarjeta inteligente 3. La tarjeta inteligente 3 se conecta a un conector 5 que no es un lector, toda vez que un lector dispondría de medios activos para leer y/o escribir en una tarjeta y/o para permitir dicha escritura y/o lectura.
En el modo habitual, el ordenador 1 tiene una unidad central 11 conectada a un monitor 12 y un teclado. La unidad central 11 incluye una placa base. La placa base incluye, en concreto, un microprocesador y bandas de memoria volátil. Está conectada a un disco duro que constituye una memoria masiva para el ordenador y también al menos a un puerto USB que está incluido en un concentrador integrado en el ordenador.
Tomando ahora como referencia la figura 6, puede verse que el ordenador principal 1 incluye al menos una aplicación de software 13 y utiliza una tarjeta inteligente. Tiene también una parte software PC/SC 14 que gestiona la interfaz utilizada por la aplicación. Asimismo, tiene un controlador 15 de software intermedio que consta de dos partes lógicas principales (no mostradas en la figura 6). La primera parte se carga en la memoria de lectura/escritura del ordenador principal en el proceso de arranque y proporciona una interfaz con la parte de software PC/SC 14, simulando la presencia de un lector para una o más tarjetas inteligentes de la invención, conectado al ordenador principal. Es un lector virtual. La segunda parte se almacena en la memoria masiva del ordenador principal y se carga en su memoria de lectura/escritura cuando la tarjeta se conecta realmente al ordenador principal, se le asigna una dirección y se configura. Esta segunda parte sirve para transmitir información desde la parte PC/SC o desde la tarjeta a los destinos correspondientes y realiza la conversión de datos. Incluye también una parte controladora del ordenador principal 16, que sirve para gestionar la distribución de los datos en el bus USB. Por último, tiene una parte de hardware 17 que constituye la interfaz entre el ordenador principal y el mundo exterior.
La tarjeta 3 que se muestra en la figura 2 está compuesta, p. ej. por una tarjeta con formato ISO estándar o por una tarjeta con formato de "plug-in" (conexión) descrito en la norma ISO 7816 mencionada o en la norma ETSI GSM 11.11. Dicha tarjeta se muestra más detalladamente en la figura 3. Consta de un cuerpo de tarjeta de plástico 31 que lleva insertado un módulo electrónico, compuesto por un microcontrolador conectado mediante cables de conexión a las áreas de contacto 32 que están a ras de la superficie de dicho cuerpo de tarjeta.
La figura 4 muestra las áreas de contacto 32 de la tarjeta 3. A título de ejemplo hay ocho de ellas. Estas áreas se denominan Cl, C2, C3, C4, C5, C6, C7 y C8. Las áreas C1 y C5 se conectan respectivamente a los conductores Vcc y GND (TIERRA) del microcontrolador de la tarjeta y sirven para alimentarlo con corriente. Las áreas C4 y C8 se conectan respectivamente a los conductores D+ y D- de dicho microcontrolador, constituyendo un par diferencial para la transmisión de los datos utilizando el sistema de bus USB. El resto de las áreas se utilizan para transmitir los datos utilizando la norma ISO y no se utilizan en el sistema de bus USB mencionado anteriormente.
El microcontrolador 33 de la tarjeta 3 se muestra en forma de diagrama en la figura 5. Incluye un dispositivo 331 que combina una unidad de procesamiento central (CPU) con memoria volátil RAM de lectura/escritura y memoria ROM y EEPROM no volátiles, albergando la memoria ROM el sistema operativo de la tarjeta. Incluye también una interfaz de comunicaciones 332 que utiliza el sistema ISO, un motor USB 333 que se asocia, en primer lugar, con un sistema de transmisión 334 y, en segundo lugar, con los registros 335, y una interfaz de bloques externa (EBI) 336. El sistema de transmisión está conectado, como mínimo, a las áreas D+ y D- de la tarjeta. También está también a las áreas de Vcc y GND (TIERRA) a efectos de suministro de corriente. El sistema operativo 337 de la tarjeta, la EBI 336 y el motor USB 333 se muestran en forma de diagrama en la figura 6.
Como puede verse en la figura 3, la tarjeta se inserta en la práctica en un conector de tarjetas 5. En la invención, el conector 5 es pequeño. Unicamente tiene un conector USB 51 y un conector 52 para la tarjeta 3.
En la norma USB, se pueden transferir datos a dos velocidades, a alta velocidad que permite una transferencia de datos de 12 Mb/seg y a velocidad baja que permite una transferencia de datos de 1,5 Mb/seg. En la invención, los datos se transfieren a velocidad baja. Por lo tanto, es posible generar una señal de reloj interna en función de las líneas de da-
tos del bus USB. Como resultado, el conector 5 no tiene ningún medio para suministrar una señal de reloj a la
\hbox{tarjeta 3.}
En la norma USB se proporcionan cuatro modos de transferencia de datos. El modo de transferencia masiva y el modo de transferencia isócrona están pensados únicamente para la utilización con comunicaciones a velocidad máxima. El modo de transferencia de control y el modo de transferencia de interrupción están pensados para su utilización en comunicaciones a velocidad baja y a velocidad máxima.
En la invención, la tarjeta constituye un periférico USB que se comunica directamente con el ordenador principal en el modo de transferencia de control. De este modo, la tarjeta puede interpretar y procesar los datos dirigidos a la misma en formato de señales USB de velocidad baja a través del bus USB. Asimismo, tiene un programa que le permite procesar peticiones USB específicas del modo de transferencia de control y, en especial, las peticiones convencionales que permite al ordenador principal recuperar los descriptores de la tarjeta, para asignarle una dirección y configurarla. En la norma USB, se solicita el modo de transferencia de control para todos los periféricos USB con el fin de recuperar los descriptores, asignarles direcciones y configurarlos. La norma USB no sugiere la utilización del modo de transferencia de control para manejar las transferencias de datos salvo en los pasos de control del tipo descrito anteriormente.
Además de las peticiones USB convencionales que permiten reconocer, asignar direcciones y configurar el periférico, se han definido seis peticiones específicas de los fabricantes. La tarjeta dispone de medios para reconocer y procesar estas peticiones específicas del fabricante. Estas peticiones específicas del fabricante permiten reproducir el funcionamiento de una tarjeta ISO 7816-3 o ISO 7816-4 asociada con un lector activo de tarjetas inteligentes, mientras utiliza el protocolo USB y el bus de datos asociado y sin utilizar una interfaz adicional formada por el lector. Estas peticiones sirven en concreto para garantizar el procesamiento de los comandos UDPA y para inicializar o reinicializar el microcontrolador de la tarjeta sin reinicializar la interfaz de comunicaciones con el ordenador principal.
El control de la tarjeta es asumido, en primer lugar, por el controlador instalado en el ordenador principal, responsable de enviar las peticiones específicas del fabricante y, en segundo lugar, por el motor USB incluido en el microcontrolador de la tarjeta y su sistema operativo, responsables ambos de reconocer y procesar dichas peticiones.
Por último, la tarjeta funciona "como si" estuviera conectada a un lector de tarjetas inteligentes, al tiempo que utiliza el protocolo USB, lo que significa que el cambio de interfaz, es decir, el cambio de un lector de tarjetas inteligentes ISO a un conector USB resulta transparente para el nivel de aplicación del ordenador principal.
Las peticiones específicas del fabricante de la invención se definen en la tabla siguiente. En la tabla:
- Los valores mostrados en la columna bmRequest identifican las características de las peticiones. Si el valor de la bmRequest es 40h, la petición es una petición específica del fabricante, cuya fase de datos se transmite desde el ordenador principal a la tarjeta. Si el valor de la bmRequest es COh, la petición es una petición específica del fabricante, cuya fase de datos se transmite desde la tarjeta al ordenador principal.
- Los valores mostrados en la columna bRequest permiten al motor USB identificar las peticiones DoReset() e IsReady() comprobando sólo un bit en cada ocasión, los bits 4 y 5 si el bit menos significativo se toma como bit 0.
- Los valores mostrados en la columna wValue son específicos de la petición.
- Lo mismo es válido para los valores mostrados en la columna wIndex.
- Los valores mostrados en la columna wLength especifican el número de bytes en la fase de datos de la petición.
- El modo indicado en la última columna de la tabla corresponde a la dirección de desplazamiento de los datos USB. OUT (SALIDA) significa que, durante la fase de datos, los datos se desplazan desde el ordenador principal hacia la tarjeta, mientras que IN (ENTRADA) significa que los datos se desplazan desde la tarjeta hacia el ordenador principal.
1
Inicialmente, se dedican dos peticiones a la secuencia de reinicio de la tarjeta. Se trata de las peticiones DoReset() y GetATR ().
La petición DoReset() sirve para reiniciar el microcontrolador y la memoria RAM de lectura/escritura del dispositivo 331 sin reiniciar la interfaz de comunicación con el ordenador principal. El motor USB 333 incluido en el microcontrolador se encarga de procesarlo completamente y no necesita la intervención del sistema operativo de la tarjeta. El procesamiento automático de la petición DoReset() específica del fabricante permite que la propia tarjeta inteligente genere la señal de reinicio y, junto con la petición GetATR() específica del fabricante, conserve el funcionamiento normal de la señal de reinicio en el modo ISO.
La petición GetATR() sirve para recuperar la cadena de respuesta al reinicio de la tarjeta (siendo ATR las siglas en inglés de Answer To Reset (Respuesta a reinicio)). Esta respuesta se define en la norma ISO 7816-3. Identifica la tarjeta.
Es preciso observar que la mayoría de los periféricos tienen un reinicio que se utiliza en caso de funcionamiento anómalo. El protocolo USB prevé estas circunstancias ofreciendo al ordenador principal la posibilidad de enviar un reinicio de USB en caliente que provoca la reinicialización completa del periférico. No obstante, las aplicaciones que dependen del uso de tarjetas inteligentes pueden utilizar el reinicio de la tarjeta inteligente con el fin de reinicializar únicamente la memoria de lectura/escritura controlada por el microcontrolador de dicha tarjeta. En estas circunstancias, no es necesario reiniciar la interfaz de comunicación con el ordenador principal y, además, sería una pérdida de tiempo. Por lo tanto, no existe justificación para utilizar la señal de reinicio en caliente de USB. Además, esta señal de reinicio debe ser completamente asíncrona, lo que implica que puede tenerse en cuenta independientemente del estado de la tarjeta o del comando que se está procesando, si es que existe alguno, lo que constituye una razón más para utilizar lectores de tarjetas inteligentes en tales soluciones disponibles actualmente en el estado de la tecnología anterior, en la que es el lector el que reinicia el microcontrolador y su memoria asociada por medio del área de contacto conectada al conector de contacto Reiniciar del microcontrolador.
Consecuentemente se dedican cuatro peticiones al procesamiento de los comandos UDPA. Tres de estas peticiones son SendADPU(), GetData() y SendData().
La petición SendAPDU() sirve para enviar la cabecera de un comando UDPA ISO a la tarjeta, es decir, las partes CLAss, INStruction, parámetro P1, P2 y P3.
La petición GetData() sirve tanto para recuperar los datos enviados por la tarjeta en el contexto de un comando ISO tipo 2 como para recuperar la palabra de estado definida por la norma ISO 7816, que informa al mundo exterior del resultado del comando enviado anteriormente cuando ha terminado la ejecución del comando.
La petición SendData() sirve para enviar datos además de los parámetros de cabecera del comando en el contexto de un comando ISO tipo 3.
Por último, la cuarta es una petición que se utiliza para evitar la activación del modo de consumo bajo de potencia y manejar la secuenciación de los comandos UDPA. Se trata de la petición IsReady(). El procesamiento semiautomático de la petición específica del fabricante IsReady() sirve para evitar cambiar al consumo bajo de potencia mientras se ejecuta un comando ISO UDPA. El tiempo que necesita la tarjeta para procesar un comando ISO UDPA no se puede prever. Desafortunadamente, el protocolo USB prevé un modo de consumo bajo de potencia cuando el bus no se ha utilizado durante un determinado periodo de tiempo y esto puede suceder si el tiempo empleado para procesar un comando ISO UDPA es demasiado largo. Esta petición evita así cambiar al modo de consumo bajo de potencia mientras se procesa un comando ISO UDPA, si bien permite dicho cambio en otros casos. Más exactamente, permite recuperar el estado del sistema operativo de la tarjeta o del comando que se está procesando, en el caso de que se esté procesando realmente un comando. Se envía de forma periódica, por ejemplo, una vez cada 5 milisegundos (ms) por el controlador 15 incluido en el ordenador principal mientras que la tarjeta está procesando un comando ISO APDU. Puede ser procesado por el motor USB 333 incluido en el microcontrolador. Esto es válido en especial cuando el microcontrolador está ocupado o silenciado y, por tanto, no puede contestar. También puede ser procesado por el sistema operativo de la tarjeta, en especial cuando está disponible y, por tanto, puede responder.
Este conjunto de peticiones específicas del fabricante permite reconstituir el comportamiento de un lector de tarjetas inteligentes asociado con la tarjeta, además de realizar operaciones convencionales de la tarjeta inteligente en modo ISO y de efectuar la operación de periféricos USB estándar.
Además, se ha definido también una respuesta OS_STATUS a la petición IsReady(). Esta respuesta está codificada en un byte, cuyos primeros cuatro bits definen el estado actual de la tarjeta y sus cuatro últimos bits especifican el estado mencionado.
Así, cuando el bit 7 es 1, significa que la tarjeta está en un estado silenciado denominado MUTE (SILENCIADO). Cuando el bit 6 es 1, significa que el sistema operativo de la tarjeta está procesando y, en consecuencia, que el sistema no está disponible para ningún otro procesamiento. Se dice entonces que la tarjeta está en un estado BUSY (OCUPADO). Cuando el bit 5 es 1, significa que ha finalizado el procesamiento del comando recibido anteriormente por la tarjeta y que el sistema operativo está preparado para enviar una palabra de estado SW1 SW2. Se dice entonces que la tarjeta está en una fase de palabra de estado (SWP). Cuando el bit 4 es 1, significa que el sistema operativo de la tarjeta está preparado para enviar o recibir datos relativos a un comando anterior. Se dice entonces que la tarjeta está en un estado de fase de transferencia de datos (DTP).
Los bits 3, 2, 1 y 0 proporcionan información adicional sobre el estado actual. Pueden resultar útiles, p. ej. cuando un comando es muy largo, para evitar provocar un time-out, es decir, actuar debido a que un comando ha excedido un tiempo máximo especificado. En tales circunstancias, su valor se incrementa de forma cíclica. Por lo tanto, vuelve al valor Oh después de que su valor alcance Fh, permitiendo así que el controlador incluido en el PC detecte alguna actividad.
El encapsulado simple del protocolo de comunicación definido en las partes 3 y 4 de la norma ISO 7816 mediante el protocolo USB provocaría una pérdida de tiempo asociada con el hecho de que la tarjeta sólo puede transmitir información a través del bus USB cuando así lo solicite el ordenador principal y que parte de dicha información no tiene ninguna utilidad en el contexto de la ejecución de un comando UDPA. La utilización de la petición IsReady() específica del fabricante permite reducir este periodo de tiempo al informar al controlador de la tarjeta no sólo del estado actual de la tarjeta, sino también del estado actual del comando, permitiendo así eliminar el paso del byte de procedimiento definido en la norma ISO 7816-3.
La norma ISO 7816-3 establece la gestión de time-out si el sistema operativo de la tarjeta no devuelve datos dentro de un periodo de tiempo definido por la cadena ATR. Para los comandos que no se puedan procesar dentro de este periodo, la norma permite también utilizar el byte 60h, que constituye un valor reservado para especificar que la tarjeta sigue procesando. Cuando la tarjeta envía este byte, produce el efecto de reinicializar el contador para disparar el time-out. La gestión de este time-out se puede reproducir mediante el valor devuelto como respuesta a la petición IsReady().
La figura 7 muestra cómo se desarrolla una sesión de comunicación con una tarjeta inteligente según la invención. A la izquierda, esta figura muestra el procesamiento llevado a cabo por el motor USB de la tarjeta y, a la derecha muestra el procesamiento realizado por el sistema operativo de la tarjeta.
El procesamiento realizado por el sistema operativo de la tarjeta comprende en concreto el procesamiento siguiente.
"Card connected" (Tarjeta conectada) a un puerto USB del ordenador principal. Se informa a continuación al ordenador principal que la tarjeta está conectada y que constituye un nuevo periférico USB. El ordenador activa entonces la tarjeta, provocando su reinicio. Este reinicio comprende el reinicio de la RAM, la EBI 336, los registros 335 y el sistema de transmisión 334 de la tarjeta.
"List and initialize card components" (Enumerar e inicializar los componentes de la tarjeta). La enumeración es una operación USB que permite poner en funcionamiento la tarjeta, es decir, asignarle direcciones y configurarla. Una vez que el procesamiento anterior ha reiniciado la tarjeta, ésta puede identificarse en el ordenador principal. Durante la etapa de enumeración es cuando la tarjeta envía ciertos elementos de información al ordenador principal en forma de descriptores. El ordenador principal asigna entonces una dirección a la tarjeta y la configura. La tarjeta aparece a continuación como lista para ser utilizada.
"GetATR() received" (Recibido GetATR()). Tras el paso anterior de enumeración e inicialización, la tarjeta espera una petición GetATR() específica del fabricante. Ésta es la única petición específica del fabricante que se autoriza en esta etapa.
"Card returns ATR string" (La tarjeta devuelve la cadena ATR). Una vez que se ha recibido la petición GetATR() específica del fabricante, la tarjeta devuelve la cadena ATR. De este modo, a nivel de la aplicación en el ordenador principal, el Reinicio que existe en las tarjetas compatibles exclusivamente con la norma ISO 7816 es simulado.
"OS_STATUS = 00h". El sistema operativo de la tarjeta adopta una configuración en que está preparado para procesar un comando ISO UDPA, poniendo su byte de estado a 00h.
"SendAPDU() received" (Recibido SendAPDU()). El sistema operativo de la tarjeta recibe la cabecera de un comando UDPA en el formato de una petición USB específica del fabricante.
"OS_STATUS = BUSY" (OS_STATUS = OCUPADO). El sistema operativo de la tarjeta se prepara para procesar la cabecera del comando UDPA y, de este modo, deja de estar disponible. Para informar al mundo exterior que no está disponible y, en la práctica, para informar al ordenador principal, dicho sistema operativo actualiza su byte de estado poniéndolo en "BUSY" (OCUPADO). En esta etapa, el motor USB de la tarjeta procesa las peticiones procedentes del ordenador principal.
"Processing command" (Procesando el comando). El sistema operativo de la tarjeta está procesando la cabecera del comando UDPA.
En esta etapa pueden producirse varias situaciones.
En primer lugar, el comando es un comando ISO UDPA de tipo 1, es decir, un comando UDPA representado exclusivamente por su cabecera y cuya ejecución da lugar a que la tarjeta envíe una palabra de estado, o bien, un comando ISO de tipo 2 ó 3 de error, siendo un comando ISO de tipo 2 un comando definido por su cabecera y cuya ejecución provoca que la tarjeta envíe los datos junto con una palabra de estado, y un comando ISO de tipo 3 un comando definido por su cabecera y por los datos y cuya ejecución provoca que la tarjeta envíe una palabra de estado. En este caso, están previstos los casos siguientes.
"OS_STATUS = SWP". El sistema operativo de la tarjeta está preparado para devolver la palabra de estado, que está disponible de nuevo para procesar las peticiones enviadas al mismo y que está a la espera de una petición IsReady() para informar al ordenador principal. Este byte de estado se actualiza en consecuencia. Toma el valor "SWP".
"IsReady() received" (Recibido IsReady()). El sistema operativo de la tarjeta recibe a continuación la petición IsReady() específica del fabricante. La función de esta petición consiste en informar al mundo exterior acerca del estado del sistema operativo de la tarjeta, que es "MUTE (SILENCIO)" o "BUSY (OCUPADO)", o bien, del estado del comando ISO UDPAU que se está procesando, que es "SWP" o "DTP". En el caso actual, la respuesta a esta petición es "SWP". Informa al ordenador principal que debe enviar un comando GetData() para recuperar la palabra de estado.
"Return OS_STATUS" (Devolver OS_STATUS). El sistema operativo de la tarjeta devuelve su byte de estado al ordenador principal y espera una petición GetData() específica del fabricante.
"GetData() received" (Recibido GetData()). Después de que se le haya enviado la petición específica del fabricante, el sistema operativo de la tarjeta recibe la petición GetData() con el fin de permitir que el ordenador recupere los datos devueltos por el sistema operativo de la tarjeta, como la palabra de estado en el caso actual.
"Return status word" (Devolver palabra de estado) Como respuesta a la petición GetData(), el sistema operativo de la tarjeta devuelve la palabra de estado. Seguidamente, adopta una configuración en que se encuentra listo para procesar un nuevo comando ISO UDPA y el sistema vuelve a continuación al paso descrito anteriormente "OS_STATUS = 00h".
Los comandos ISO UDPA de los tipos 2 y 3 tienen la característica especial de poseer una fase de datos, desde la tarjeta al ordenador principal para los comandos ISO 2 y desde el ordenador principal a la tarjeta para los comandos ISO 3. En ambos casos, el sistema operativo debe informar al ordenador principal de que está preparado para la fase de datos. A continuación, se ejecutan los pasos siguientes.
"OS_STATUS = DTP". El sistema operativo de la tarjeta está preparado para la fase de datos del comando ISO UDPA. Por lo tanto, está disponible de nuevo para procesar las peticiones que se le envían y está esperando recibir una petición IsReady() para informar al mundo exterior de su estado de disponibilidad. El byte de estado se actualiza en consecuencia. Toma el valor "DTP".
"IsReady() received" (Recibido IsReady()). El sistema operativo de la tarjeta recibe una petición IsReady() específica del fabricante. El objetivo de esta petición es informar al ordenador principal del estado del sistema operativo de la tarjeta, que es "MUTE (SILENCIO)" o "BUSY (OCUPADO)", o bien, del estado del comando ISO UDPA que se está procesando, que es "SWP" o "DTP". En el caso actual, la respuesta a esta petición es "DTP". Inicialmente, esta respuesta informa al ordenador principal de que debe enviar una petición GetData(P3) para recuperar los datos que constituyen la respuesta al comando ISO UDPA. Estos datos están compuestos por bytes P3, siendo P3 uno de los parámetros del comando ISO UDPA. En un segundo caso, la respuesta informa al ordenador principal que debe enviar una petición SendData(P3) para enviar los datos adicionales del comando ISO UDPA. Estos datos están compuestos por bytes P3, siendo P3 uno de los parámetros del comando ISO UDPA.
"Return OS_STATUS" (Devolver OS_STATUS). El sistema operativo de la tarjeta devuelve su byte de estado al ordenador principal y espera una petición GetData(P3) o una petición SendData(P3).
Pueden producirse entonces dos situaciones.
La primera situación es que un comando ISO2 UDPA para el caso nominal en el que no se ha detectado ningún error relacionado con la cabecera del comando o en el contexto actual de la tarjeta. El sistema operativo de la tarjeta espera a continuación una petición GetData(P3).
"GetData() received" (Recibido GetData()). El sistema operativo de la tarjeta ha recibido la petición GetData(). La función de esta petición es recuperar los datos devueltos por el sistema operativo como, por ejemplo, en el caso actual, los datos que constituyen la respuesta al comando ISO UDPA de tipo 2.
"Card returns data" (La tarjeta devuelve los datos). Una vez recibida la petición GetData(), la tarjeta devuelve los datos que constituyen la respuesta al comando ISO UDPA y se coloca en una configuración en la que está preparada para devolver la palabra de estado, en cuyo caso el sistema vuelve al paso "OS_STATUS = SWP" mencionado anteriormente.
La segunda circunstancia es la de un comando ISO UDPA de tipo 3 en el caso nominal en el que no se ha detectado ningún error en la cabecera del comando o en el contexto actual de la tarjeta. El sistema operativo espera a continuación una petición SendData(P3).
"SendData()-received" (Recibido SendData()). El sistema operativo de la tarjeta ha recibido la petición SendData(). Esta petición permite enviar datos adicionales, en la medida en que se necesiten para ejecutar el comando ISO UDPA de tipo 3.
"Card recovers data" (La tarjeta recupera los datos). Una vez que se ha recibido la petición, la tarjeta recupera los datos adicionales del comando ISO UDPA de tipo 3 y se coloca en una configuración que le permita procesar el resto de los datos del comando.
"OS_STATUS = BUSY" (OS_STATUS = OCUPADO). Como el sistema operativo de la tarjeta está procesando, ya no es capaz de procesar ninguna de las solicitudes que se le envíen. Señaliza este estado colocando su byte de estado en "BUSY" (OCUPADO). Durante esta etapa, el motor USB de la tarjeta es el que se encarga de procesar las peticiones enviadas por el ordenador principal.
"Processing the command" (Procesando el comando). El sistema operativo termina el procesamiento del comando ISO UDPA y se coloca en una configuración en la que está preparado para devolver la palabra de estado. A continuación, vuelve al paso "OS_ STATUS = SWP" descrito anteriormente.
La última circunstancia procesada por el sistema operativo de la tarjeta es la de un error grave producido durante la ejecución de cualquier comando ISO UDPA como, por ejemplo, después de un ataque contra la seguridad o una corrupción de datos. En tales circunstancias, el sistema operativo de la tarjeta se silencia en el paso siguiente.
"OS_STATUS = MUTE" (OS_STATUS = SILENCIO). El sistema operativo de la tarjeta actualiza su byte de estado a "MUTE" (SILENCIO) para informar al ordenador principal de que no está disponible hasta la siguiente petición DoReset() o hasta que haya sido desconectada la tarjeta. Durante esta etapa, el motor USB es el que se encarga de procesar las peticiones enviadas por el ordenador principal.
El procesamiento realizado por el motor USB incluye concretamente el procesamiento siguiente.
Mientras el sistema operativo (OS) no está disponible, es decir, mientras OS_STATUS = BUSY (OCUPADO) u OS_STATUS = MUTE (SILENCIO), el motor USB procesa las peticiones enviadas por el ordenador principal. Además, el motor USB siempre procesa la petición DoReset() para evitar cualquier intervención del sistema operativo de la tarjeta en su propia reinicialización.
De este modo, pueden producirse tres circunstancias. La primera circunstancia, que no aparece en la figura 7, corresponde a todas las peticiones que no se aparecen como procesadas por el motor USB. Para estas peticiones, el motor USB no hace sino informar al ordenador principal de que están fuera de contexto.
La segunda circunstancia es la de la petición DoReset() y se ejecutan los pasos siguientes.
"DoReset() received" (Recibido DoReset()). Independientemente del estado del sistema operativo de la tarjeta o del comando ISO UDPA que se está procesando actualmente, esta petición siempre la procesa el motor USB. Provoca el reinicio de la CPU de la tarjeta y de su memoria asociada y sólo se reinician la unidad central y la memoria asociada con ésta, ya que la interfaz de comunicación USB formada por la configuración y la dirección del periférico permanece intacta.
"Reset sequence" (Secuencia de reinicio). Se reinicializan la CPU de la tarjeta y su memoria. El sistema operativo de la tarjeta espera una petición GetATR(). La secuencia de reinicio coloca al sistema operativo de la tarjeta en un estado que le permite procesar las peticiones que se le envían.
La tercera circunstancia es la petición IsReady() que se produce mientras el sistema operativo de la tarjeta no está disponible. Entonces se ejecutan los pasos siguientes.
"IsReady() received" (Recibido IsReady()). El sistema operativo de la tarjeta recibe la petición IsReady(). La función de esta petición es informar al ordenador principal del estado de "MUTE" (SILENCIO) o "BUSY" (OCUPADO) del sistema operativo de la tarjeta, o bien, del estado de "SWP" o "DTP" del comando ISO UDPA que se está procesando. El sistema operativo de la tarjeta no está disponible, estando en "MUTE" (SILENCIO) o "BUSY" (OCUPADO). Las demás circunstancias son procesadas por el sistema operativo de la tarjeta.
"USB engine returns OS_STATUS" (El motor USB devuelve OS_STATUS). El motor USB informa al ordenador principal del estado del sistema operativo de la tarjeta devolviendo su byte de estado.
Así, se reproduce el funcionamiento de una tarjeta ISO asociada con su lector de tarjetas inteligentes.
Una vez descrita la figura 7, la descripción que aparece a continuación es una explicación de las figuras 8A y 8B, 9A a 9D y 10A a 10D.
Para un comando UDPA de tipo 1 como el que se muestra en la figura 8A, la cabecera del comando es suficiente para ejecutar completamente el comando y la única respuesta del sistema operativo de la tarjeta es la palabra de estado. Así, en el protocolo ISO, la comunicación se divide en al menos dos pasos. En un primer paso, el ordenador envía la cabecera del comando. A continuación, en un segundo paso, la tarjeta envía un byte 60h para reiniciar el contador para determinar el time-out, o bien, una palabra de estado SW1 SW2 (figura 8B). Cuando se envía el byte 60h, los pasos siguientes consisten en enviar otros bytes, posiblemente 60h, siendo el último paso siempre el envío de una palabra de estado SW1 SW2. Por el contrario, en la invención queda eliminado el paso mostrado en la figura 8B. Se sustituye por la respuesta de la tarjeta a un comando IsReady() enviado por el ordenador principal.
\newpage
Para un comando ISO UDPA de tipo 2, la cabecera del comando comienza la ejecución, pero la respuesta del sistem a operativo de la tarjeta está formada por datos, además de la palabra de estado. Por lo general, la comunicación se divide en cuatro pasos. En un primer paso, tal como se muestra en la figura 9A, el ordenador envía la cabecera del comando. El segundo paso se utiliza tradicionalmente en un procedimiento ISO. En este paso, el ordenador recibe el byte de procedimiento 60h, INS o SW1. Cuando el byte de procedimiento es 60h, el sistema vuelve a la circunstancia antes descrita hasta que recibe el byte INS o el byte SW1. Una vez que se ha recibido el byte de procedimiento INS o SW1, como se muestra en la figura 9B, el proceso continúa tal como se describe más adelante tomando como referencia las figuras 9C y 9D. No obstante, conviene apuntar que en la invención, se omite el paso de la figura 9B. Se sustituye por la respuesta de la tarjeta a un comando IsReady() enviado por el ordenador principal. Tomando ahora como referencia la figura 9C, correspondiente al byte de procedimiento INS recibido, la tarjeta envía los datos. Por último, el ordenador espera al byte de procedimiento hasta que se convierte en SW1, como se muestra en la figura 9D. Si no se recibe INS, sino que se recibe directamente SW1, se recibe entonces SW2 y se termina el comando. En la invención, se conservan los pasos mostrados en las figuras 9C y 9D excepto en la circunstancia mostrada en la figura 9D, en la que la tarjeta devuelve el byte de procedimiento 60h.
Para un comando UDPA de tipo 3, el procedimiento es idéntico al antes descrito tomando como referencia el procesamiento de un comando ISO de tipo 2, excepto por la dirección en la que se envían los datos, que ya no es desde la tarjeta al ordenador sino desde el ordenador a la tarjeta.
En resumen, se ha descrito un artículo portátil similar a una tarjeta que contiene un microcontrolador. El artículo portátil similar a una tarjeta comprende una memoria con un conjunto de instrucciones, que permite al microcontrolador comunicarse de acuerdo con un primer protocolo de comunicación. El artículo portátil similar a una tarjeta comprende además una interfaz para convertir los comandos, de acuerdo con el primer protocolo de comunicación, en comandos de acuerdo con un segundo protocolo de comunicación y viceversa. Preferiblemente, el primer protocolo de comunicación cumple la norma ISO 7816-3 y el segundo protocolo de comunicación cumple la norma USB. Una ventaja es que el artículo portátil similar a una tarjeta no necesita un sistema operativo específico para establecer comunicación conforme a la norma USB. Se puede utilizar un sistema operativo basado en la norma ISO 7816. Dicho sistema operativo se puede ejecutar a un coste relativamente bajo, mientras que un sistema operativo específico para USB conlleva gastos de desarrollo relativamente altos.
Se ha descrito también un conector con un extremo que es una ranura para recibir un artículo portátil similar a una tarjeta y otro extremo que es un enchufe, que se puede insertar en una ranura USB de una estación principal. Preferiblemente, la ranura consta de un conjunto de elementos de contacto que, cuando se inserta en la ranura un objeto portátil similar a una tarjeta compatible con la norma ISO 7816, entran en contacto con las áreas de contacto C1, C5, C4 y C8 del objeto portátil similar a una tarjeta compatible con la norma ISO 7816.

Claims (14)

1. Una tarjeta inteligente (3) que incluye un microcontrolador (33) y que consta de:
- una memoria con un conjunto de instrucciones (337) que permiten al microcontrolador (33) establecer comunicación de acuerdo con un primer protocolo de comunicación; que se caracteriza porque la tarjeta inteligente consta además de:
- una interfaz (336) para convertir los comandos, de acuerdo con el primer protocolo de comunicación, en comandos de acuerdo con un segundo protocolo de comunicación y viceversa.
2. En la tarjeta inteligente de la reivindicación 1, donde el primer protocolo de comunicación cumple la norma ISO 7816-3 y el segundo protocolo de comunicación cumple la norma USB.
3. Un método de comunicación entre una estación principal (1), como un ordenador personal, y una tarjeta inteligente (3) que incluye un microcontrolador (33), en el que dicha tarjeta inteligente está conectada mediante un sistema de bus utilizando un primer protocolo de comunicación a dicha estación principal; el método se caracteriza por que incluye un paso mediante el que la estación principal comunica, de acuerdo con el primer protocolo de comunicación, una petición específica correspondiente al segundo protocolo de comunicación, a la tarjeta inteligente que incluye un microcontrolador.
4. El método conforme a la reivindicación 3, en el que el sistema de bus es un sistema de bus serie universal USB y en que la petición específica se comunica a la tarjeta inteligente que incluye un microcontrolador utilizando el modo de transferencia de control del segundo protocolo de comunicación.
5. El método conforme a la reivindicación 4, en el que el microcontrolador de la tarjeta incluye una memoria permanente que contiene un sistema operativo, apropiado para establecer la comunicación mediante el segundo protocolo de comunicación que utiliza comandos UDPA como los que se definen en la norma ISO 7816.
6. El método conforme a la reivindicación 5, en el que la petición es una petición específica que proporciona la funcionalidad de un lector para la tarjeta inteligente que contiene un microcontrolador.
7. El método conforme a la reivindicación 5, en el que microcontrolador incluye un dispositivo que asocia una unidad central de procesamiento con una memoria volátil y en el que la petición específica es una petición DoReset(), que activa el reinicio de la memoria volátil de dicho dispositivo.
8. El método conforme a la reivindicación 5, en el que la petición específica es una petición GetATR(), que permite recuperar una cadena de respuesta al reiniciar la tarjeta inteligente.
9. El método conforme a la reivindicación 5, en el que la petición específica es una petición SendADPU(), que permite a la estación principal enviar una cabecera de comando a la tarjeta inteligente.
10. El método conforme a la reivindicación 5, en el que la petición específica es una petición GetData() específica, que permite a la estación principal recuperar datos enviados por la tarjeta inteligente y recuperar una palabra de estado.
11. El método conforme a la reivindicación 5, en el que la petición específica es una petición SendData(), que permite a la estación principal comunicar datos a la tarjeta inteligente.
12. El método conforme a la reivindicación 5, en el que la petición específica es una petición IsReady(), que sirve para evitar que la estación principal active un modo de funcionamiento de bajo consumo de potencia en la tarjeta inteligente.
13. El método conforme a la reivindicación 12, en el que la tarjeta inteligente envía una respuesta OS-STATUS a la estación principal como contestación a la petición que permite a dicha estación activar un modo de consumo bajo de potencia en la mencionada tarjeta inteligente, estando codificada dicha respuesta de tal modo que define el estado actual de la tarjeta inteligente.
14. El método conforme a la reivindicación 13, en el que el estado actual de la tarjeta inteligente es un estado silenciado o un estado en el que la tarjeta esté procesando.
ES01914084T 2000-03-15 2001-03-15 Procedimiento de comunicacion entre una tarjeta inteligente y una estacion huesped. Expired - Lifetime ES2329970T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0003498 2000-03-15
FR0003498A FR2806505A1 (fr) 2000-03-15 2000-03-15 Procede de communication entre une carte a puce et une station hote

Publications (1)

Publication Number Publication Date
ES2329970T3 true ES2329970T3 (es) 2009-12-03

Family

ID=8848255

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01914084T Expired - Lifetime ES2329970T3 (es) 2000-03-15 2001-03-15 Procedimiento de comunicacion entre una tarjeta inteligente y una estacion huesped.

Country Status (9)

Country Link
US (2) US7011247B2 (es)
EP (1) EP1264461B1 (es)
JP (1) JP4898056B2 (es)
CN (1) CN1241142C (es)
BR (1) BR0109225A (es)
DE (1) DE60138689D1 (es)
ES (1) ES2329970T3 (es)
FR (1) FR2806505A1 (es)
WO (1) WO2001069881A2 (es)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8625270B2 (en) 1999-08-04 2014-01-07 Super Talent Technology, Corp. USB flash drive with deploying and retracting functionalities using retractable cover/cap
US7872871B2 (en) * 2000-01-06 2011-01-18 Super Talent Electronics, Inc. Molding methods to manufacture single-chip chip-on-board USB device
US8102662B2 (en) * 2007-07-05 2012-01-24 Super Talent Electronics, Inc. USB package with bistable sliding mechanism
US20080286990A1 (en) * 2003-12-02 2008-11-20 Super Talent Electronics, Inc. Direct Package Mold Process For Single Chip SD Flash Cards
FR2804816B1 (fr) * 2000-02-03 2003-10-31 Gemplus Card Int Transport d'unites de protocole d'objet electronique portable par protocole pour peripheriques de micro- ordinateur
US7127678B2 (en) * 2000-12-21 2006-10-24 Microsoft Corporation System and method to specify device specific user interface information in the firmware of a USB device
JP2002351569A (ja) * 2001-03-21 2002-12-06 Toshiba Corp ソフトウェアのライセンス管理方法、ソフトウェアのライセンス管理システムおよび記憶媒体
WO2002099742A1 (fr) * 2001-06-04 2002-12-12 Renesas Technology Corp. Carte memoire
FR2830107B1 (fr) * 2001-09-24 2004-09-24 Gemplus Card Int Cle electronique destinee a etre connectee a un port d'un dispositif de telecommunication et procede de fabrication de la cle
US20040238646A1 (en) * 2001-10-10 2004-12-02 Christophe Gien Management of byte transmission in a smartcard
WO2003038534A1 (en) * 2001-10-31 2003-05-08 Telefonaktiebolaget Lm Ericsson Method and apparatus for controlling a device from a smart card
EP1308805A1 (en) * 2001-10-31 2003-05-07 Telefonaktiebolaget Lm Ericsson Method and apparatus for controlling a device from a smart card
KR20040073523A (ko) * 2001-12-29 2004-08-19 타이구엔 엔터프라이즈 코퍼레이션 리미티드 표준 데이터 인터페이스를 구비한 휴대용 데이터 전환처리장치
CN2517012Y (zh) * 2002-01-23 2002-10-16 台均实业有限公司 可随意升级扩容更换存储介质的usb移动存储器
US7344074B2 (en) * 2002-04-08 2008-03-18 Nokia Corporation Mobile terminal featuring smart card interrupt
US7114105B2 (en) * 2002-12-05 2006-09-26 Qualcomm, Inc. System and method for software download to wireless communication device
JP3804657B2 (ja) * 2003-01-08 2006-08-02 ソニー株式会社 外部記憶装置
FR2849945B1 (fr) 2003-01-10 2005-03-11 Atmel Corp Moyens pour la communication des cartes a puces usb utilisant des transferts a vitesse maximale ou elevee
US6945454B2 (en) * 2003-04-22 2005-09-20 Stmicroelectronics, Inc. Smart card device used as mass storage device
US7373522B2 (en) * 2003-05-09 2008-05-13 Stmicroelectronics, Inc. Smart card with enhanced security features and related system, integrated circuit, and methods
US7181649B2 (en) * 2003-05-09 2007-02-20 Stmicroelectronics, Inc. Universal serial bus (USB) smart card having enhanced testing features and related system, integrated circuit, and methods
US7080789B2 (en) * 2003-05-09 2006-07-25 Stmicroelectronics, Inc. Smart card including a JTAG test controller and related methods
US6991173B2 (en) * 2003-07-07 2006-01-31 Stmicroelectronics, Inc. Method and apparatus for autoreset of a USB smart card device in a mute mode
KR100562505B1 (ko) * 2003-10-09 2006-03-21 삼성전자주식회사 중앙 처리 장치의 개입없이 널 바이트 정보를 자동적으로전송할 수 있는 집적회로 카드
US8998620B2 (en) * 2003-12-02 2015-04-07 Super Talent Technology, Corp. Molding method for COB-EUSB devices and metal housing package
US7872873B2 (en) * 2003-12-02 2011-01-18 Super Talent Electronics, Inc. Extended COB-USB with dual-personality contacts
US7440286B2 (en) * 2005-04-21 2008-10-21 Super Talent Electronics, Inc. Extended USB dual-personality card reader
US8102657B2 (en) * 2003-12-02 2012-01-24 Super Talent Electronics, Inc. Single shot molding method for COB USB/EUSB devices with contact pad ribs
US8321923B2 (en) * 2004-03-04 2012-11-27 Gemalto Sa Secure sharing of resources between applications in independent execution environments in a retrievable token (e.g. smart card)
HK1063994A2 (en) * 2004-06-09 2004-12-17 Advanced Card Systems Ltd Smart card reader with contactless access capability.
US7458825B2 (en) 2004-06-17 2008-12-02 Walletex Microelectronics Ltd. Double-sided USB-compatible plug connector adapted for insertion in either orientation into a USB-compatible receptacle
JP4981271B2 (ja) * 2004-07-05 2012-07-18 三星電子株式会社 モード検出を含むマルチモード集積回路装置及びそれの動作方法
TW200606642A (en) * 2004-08-02 2006-02-16 Power Quotient Int Co Ltd Multimedia storage and communication device, and its determining method
KR100579053B1 (ko) * 2004-08-26 2006-05-12 삼성전자주식회사 스마트 카드와 메모리 카드간의 멀티 인터페이스 방법 및멀티 인터페이스 카드
TWI282517B (en) * 2004-10-15 2007-06-11 C One Technology Corp Ltd Multi-functional integrated circuit card module having mixed interface
US20060095598A1 (en) * 2004-10-30 2006-05-04 Axalto Inc. Method and apparatus of extending answer to reset and subsequent communications between a smart card and a chip card interface device
CN1878055B (zh) * 2005-06-07 2010-11-03 北京握奇数据系统有限公司 一种分离式大数据量加/解密设备及实现方法
KR100691281B1 (ko) * 2005-09-15 2007-03-12 삼성전기주식회사 쿼드러처 전압제어발진기
US8078788B2 (en) * 2005-12-08 2011-12-13 Sandisk Technologies Inc. Media card command pass through methods
FR2896060A1 (fr) * 2006-01-06 2007-07-13 Gemplus Sa Cle electronique generique munie d'une carte a puce personnalisee
EP1826709A3 (en) * 2006-02-24 2012-04-25 LG Electronics Inc. Method and apparatus for contactless interface on ICC supporting high speed interface
US20070235519A1 (en) * 2006-04-05 2007-10-11 Samsung Electronics Co., Ltd. Multi-functional dongle for a portable terminal
EP1883257A1 (fr) * 2006-07-28 2008-01-30 Gemplus Procédé de synchronisation entre un equipement mobile et une carte a puce
KR100849212B1 (ko) * 2006-10-12 2008-07-31 삼성전자주식회사 메모리 카드 및 메모리 카드의 구동 프로그램 업데이트방법
WO2008044160A2 (en) 2006-10-12 2008-04-17 Nxp B.V. Device, system and method for compensating signal delays in an rfid communication system
CN100414556C (zh) * 2006-10-23 2008-08-27 北京飞天诚信科技有限公司 一种主机与智能卡信息交互的方法和装置
US8151345B1 (en) 2007-01-25 2012-04-03 Yeager C Douglas Self-authorizing devices
US8161546B2 (en) * 2007-02-28 2012-04-17 Red Hat, Inc. Partitioning data on a smartcard dependent on entered password
US7726568B2 (en) 2007-03-21 2010-06-01 Research In Motion Limited Smart card session optimization
US8254134B2 (en) * 2007-05-03 2012-08-28 Super Talent Electronics, Inc. Molded memory card with write protection switch assembly
US8102658B2 (en) * 2007-07-05 2012-01-24 Super Talent Electronics, Inc. Micro-SD to secure digital adaptor card and manufacturing method
US7789680B2 (en) * 2007-07-05 2010-09-07 Super Talent Electronics, Inc. USB device with connected cap
JP2009086988A (ja) * 2007-09-28 2009-04-23 Toshiba Corp メモリカード
US20090094472A1 (en) * 2007-10-08 2009-04-09 Asustek Computer Inc. Computer system and method for dynamically saving power thereof
US8812970B2 (en) * 2008-02-27 2014-08-19 Microsoft Corporation Dynamic device state representation in a user interface
TW200950218A (en) * 2008-05-23 2009-12-01 Chant Sincere Co Ltd Card reader
KR20100030126A (ko) 2008-09-09 2010-03-18 삼성전자주식회사 메모리 장치 및 그를 포함하는 전자 장치
DE102008047639A1 (de) * 2008-09-17 2010-03-25 Giesecke & Devrient Gmbh Verfahren und Vorrichtung zum Zugriff auf ein maschinenlesbares Dokument
CN201387639Y (zh) * 2008-12-29 2010-01-20 深圳市江波龙电子有限公司 一种读卡器及移动支付终端
JP4944213B2 (ja) * 2010-01-04 2012-05-30 株式会社バッファロー 本体機器、外部機器、及び通信システム
US8566934B2 (en) 2011-01-21 2013-10-22 Gigavation, Inc. Apparatus and method for enhancing security of data on a host computing device and a peripheral device
CN202004207U (zh) * 2011-02-25 2011-10-05 华为终端有限公司 一种连接器及无线调制解调器
US8713237B2 (en) * 2011-03-29 2014-04-29 Cisco Technology, Inc. X2 10GBASE-T transceiver with 1 Gigabit side-band support
JP5796741B2 (ja) * 2011-05-19 2015-10-21 日立工機株式会社 電動工具
GB2506803B (en) 2011-08-10 2020-07-01 Srivastava Gita Apparatus and method for enhancing security of data on a host computing device and a peripheral device
US11080701B2 (en) 2015-07-02 2021-08-03 Royal Bank Of Canada Secure processing of electronic payments
CA2830260C (en) 2012-10-17 2021-10-12 Royal Bank Of Canada Virtualization and secure processing of data
US11210648B2 (en) 2012-10-17 2021-12-28 Royal Bank Of Canada Systems, methods, and devices for secure generation and processing of data sets representing pre-funded payments
US10304047B2 (en) * 2012-12-07 2019-05-28 Visa International Service Association Token generating component
JP2014137777A (ja) * 2013-01-18 2014-07-28 Gt Telecom Co Ltd 携帯端末機用タッチペン
CN104077618B (zh) * 2013-03-29 2018-08-31 西门子公司 一种访问智能卡的方法和装置
US10402186B2 (en) 2013-05-22 2019-09-03 Gimso Mobile Ltd. Remote update of a portable storage device
US9999924B2 (en) 2014-08-22 2018-06-19 Sigma Labs, Inc. Method and system for monitoring additive manufacturing processes
EP3204903A4 (en) 2014-10-10 2018-02-21 Royal Bank Of Canada Systems for processing electronic transactions
US10786948B2 (en) 2014-11-18 2020-09-29 Sigma Labs, Inc. Multi-sensor quality inference and control for additive manufacturing processes
WO2016115284A1 (en) 2015-01-13 2016-07-21 Sigma Labs, Inc. Material qualification system and methodology
AU2016208989B2 (en) 2015-01-19 2021-11-25 Royal Bank Of Canada Secure processing of electronic payments
US11354651B2 (en) 2015-01-19 2022-06-07 Royal Bank Of Canada System and method for location-based token transaction processing
CN104750630B (zh) * 2015-04-14 2017-09-22 飞天诚信科技股份有限公司 一种pc/sc驱动库在ios设备中的工作方法
US11599879B2 (en) 2015-07-02 2023-03-07 Royal Bank Of Canada Processing of electronic transactions
US10207489B2 (en) 2015-09-30 2019-02-19 Sigma Labs, Inc. Systems and methods for additive manufacturing operations
TWI659359B (zh) * 2018-04-27 2019-05-11 慧榮科技股份有限公司 控制儲存裝置之方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0259786A1 (de) * 1986-09-12 1988-03-16 Xmit Ag Auf einer Steckkarte für einen Mikrocomputer angeordnete Schnittstelle mit bestimmbaren Protokollen
JPH04205079A (ja) * 1990-11-29 1992-07-27 Kyocera Corp メモリカード変換装置
JPH06105271A (ja) * 1992-09-16 1994-04-15 Asahi Optical Co Ltd Icメモリカードカメラシステム
US6457647B1 (en) * 1993-11-16 2002-10-01 Canon Kabushiki Kaisha Memory card adaptor to facilitate upgrades and the like
FR2743647B1 (fr) * 1996-01-12 1998-02-13 Bull Cp8 Coupleur pour gerer une communication entre un support de donnees portable et un dispositif d'echange de donnees, et dispositif d'echange de donnees associe
US5767844A (en) * 1996-02-29 1998-06-16 Sun Microsystems Inc Modified universal serial bus interface implementing remote power up while permitting normal remote power down
JP3565686B2 (ja) * 1997-08-01 2004-09-15 東京エレクトロンデバイス株式会社 コンピュータの記憶装置及び変換システム
US6188761B1 (en) * 1997-10-21 2001-02-13 Mci Communications Corporation System and method for providing operator and customer services
JPH11259605A (ja) * 1998-01-08 1999-09-24 Tdk Corp Pcカード
FR2774194A1 (fr) * 1998-01-27 1999-07-30 Scm Schneider Microsysteme Mic Dispositif de liaison entre au moins une carte a puce, un lecteur et l'hote
US6216230B1 (en) * 1998-02-11 2001-04-10 Durango Corporation Notebook security system (NBS)
US6151647A (en) * 1998-03-26 2000-11-21 Gemplus Versatile interface smart card
CA2325902A1 (en) * 1998-03-26 1999-09-30 Gemplus Versatile interface smart card
FR2783336B1 (fr) * 1998-09-11 2001-10-12 Schlumberger Ind Sa Procede de transmission de donnees et carte pour une telle transmission
US6168077B1 (en) * 1998-10-21 2001-01-02 Litronic, Inc. Apparatus and method of providing a dual mode card and reader
ATE360238T1 (de) * 1998-11-10 2007-05-15 Aladdin Knowledge Systems Ltd Benutzer-rechner wechselwirkungsverfahren das durch flexibel verbindbare rechnersysteme verwendet werden soll
CN1262485A (zh) 1998-11-10 2000-08-09 阿拉丁知识系统有限公司 由可灵活连接计算机系统群体使用的用户-计算机交互方法
US6145035A (en) * 1999-02-25 2000-11-07 Dallas Semiconductor Corporation Card cradle system and method
DE69935518T2 (de) * 1999-11-22 2007-11-29 A-DATA TECHNOLOGY Co., Ltd., Chung Ho City Zwei-Schnittstellenspeicherkarte und Anpassungsmodul dafür
US6343364B1 (en) * 2000-07-13 2002-01-29 Schlumberger Malco Inc. Method and device for local clock generation using universal serial bus downstream received signals DP and DM
US6439464B1 (en) * 2000-10-11 2002-08-27 Stmicroelectronics, Inc. Dual mode smart card and associated methods
US6634565B2 (en) * 2001-11-06 2003-10-21 Litronic, Inc. Smart card having additional connector pads
US6752321B1 (en) * 2003-03-31 2004-06-22 Stmicroelectronics, Inc. Smart card and method that modulates multi-color LED indicative of operational attributes and/or transactions between the smart card and USB port of a USB host
US7143224B2 (en) * 2003-05-09 2006-11-28 Stmicroelectronics, Inc. Smart card for performing advance operations to enhance performance and related system, integrated circuit, and methods

Also Published As

Publication number Publication date
JP2003526863A (ja) 2003-09-09
DE60138689D1 (de) 2009-06-25
US20050211788A1 (en) 2005-09-29
JP4898056B2 (ja) 2012-03-14
US7011247B2 (en) 2006-03-14
BR0109225A (pt) 2003-03-25
WO2001069881A2 (en) 2001-09-20
CN1241142C (zh) 2006-02-08
US7703688B2 (en) 2010-04-27
WO2001069881A3 (en) 2002-01-31
EP1264461A2 (en) 2002-12-11
EP1264461B1 (en) 2009-05-13
FR2806505A1 (fr) 2001-09-21
CN1418349A (zh) 2003-05-14
US20030093609A1 (en) 2003-05-15

Similar Documents

Publication Publication Date Title
ES2329970T3 (es) Procedimiento de comunicacion entre una tarjeta inteligente y una estacion huesped.
US8327099B2 (en) Method for soft configuring a memory device
ES2212604T3 (es) Procedimiento de transmision de datos y tarjeta para tal transmision.
JP4148136B2 (ja) インタフェース装置
KR101097367B1 (ko) 표준 보안 기능을 포함하는 메모리 카드들
US20030038177A1 (en) Passive flash media adapter system
KR20010036746A (ko) 범용 직렬 버스용 메모리 스틱
JP2001523369A (ja) 改良されたオペレーティングモード検出機能を備えたフラッシュメモリーカード及びユーザフレンドリなインターフェーシングシステム
US6991173B2 (en) Method and apparatus for autoreset of a USB smart card device in a mute mode
US20040221130A1 (en) Method and device for a accessing non-volatile memory by PC and X-BOX
WO1998058379A1 (fr) Unite integree disque-entrainement
JP4588427B2 (ja) メモリシステムおよびホストとメモリカードとの間のデータ伝送速度設定方法
JP2010176582A (ja) Icチップ及びicカード及び発行装置及び発行方法及び発行システム
US20020083221A1 (en) Universal disk array controller
KR100426302B1 (ko) 범용 직렬 버스 인터페이스 기능이 포함된 스마트 카드
KR200329847Y1 (ko) 스마트카드리드기 겸용 유에스비 드라이브 장치
CN112905504A (zh) 存储设备、包括其的非易失性存储器系统及其操作方法
JP2008204172A (ja) カード型メモリ
EP1102173A3 (en) Universal serial bus architecture
KR100250882B1 (ko) 컴퓨터-스마트 카드인터페이스 장치
JPH09212445A (ja) カード状インターフェイス機器
WO2002010901A3 (en) Automatic detection of host bus protocol
JP3285346B2 (ja) ゲームシステム
KR20030051488A (ko) 메모리 스틱을 하드키로 사용하는 방법