|
TARJETAS TELEFóNICAS
Por Juan Manuel García López
Después de que los bancos nos llenaran los bolsillos de tarjetas de banda magnética, llegan los teléfonos y
nos ofrecen unas nuevas tarjetitas, del mismo tamaño, pero completamente distintas. Esos trocitos de plástico
que parece que llevan una peseta de las antiguas incrustada en una de sus caras son las tarjetas chip. Desde
aquí pretendemos alumbrar un poco sobre el misterio que encierran.
Una tarjeta chip es, en su modelo más sencillo, una memoria EPROM (Eraseable Programmable Read-Only
Memory) de 256 bits que pueden ser leídos y, algunos de ellos, escritos. Hay modelos más complejos, que
incluyen zonas que no pueden ser leídas si no se proporciona una clave, o que tienen incluso un microprocesador
con sistema operativo propio (definido en el estándar ISO7816). Las tarjetas de teléfono pertenecen al primer
modelo, pero no por ello son inseguras. El hecho de que no haya campos protegidos contra lectura se explica
porque no hay nada confidencial en ellas (al contrario de, por ejemplo, en las tarjetas de los bancos).
Una EPROM se borra sometiéndola a radiación ultravioleta. Para garantizar la inviolabilidad de la tarjeta, el
chip está recubierto de resina opaca a dicha luz. Así, resulta imposible borrar los bits de la EPROM, impidiendo
de esta forma la grabación en la tarjeta del contenido que nosotros deseemos. Además, aun en el caso de que
consiguiésemos que la luz ultravioleta llegase al chip, con ello pondríamos a cero TODOS los 256 bits. Alguien
pensó en ello e incorporó un fusible (que ya viene fundido de fábrica) cuya misión es la de impedir la grabación
en los primeros 96 bits de la tarjeta, zona denominada "del fabricante", y que sirve como DNI de la tarjeta (Sí.
Llevan número de serie individual) y como identificación del fabricante y demás. Al no poder reescribir esta
zona, la tarjeta quedaría inservible, ya que no sería reconocida. Si alguien comenzó a leer este artículo
únicamente pensando que podría ahorrarse unos duros en teléfono, aquí acaba para él. La respuesta es no se
puede recargar una tarjeta, lo que si pondemos es emularla (para mas informacion ver seccion de ficheros).
Si, por el contrario, el lector es curioso, lo que viene a continuación son algunos detalles de funcionamiento.
Conector
La distribución de los contactos del conector es la siguiente:
Contacto
Significado
1
Vcc = +5V
2
-R/W
3
CLK
4
RST
5
GND
6
Vpp = +21V
7
I/O
8
FUS
El bus de datos es de un solo bit (contacto 7), y no hay bus de direcciones. Las posiciones de memoria van
siendo leídas/escritas secuencialmente. Si se desea leer/escribir una posición determinada, se ha de hacer un
"reset" a la tarjeta (contacto 4) y comenzar leyendo desde el bit 1 hasta la posición elegida. El contacto 2 a
nivel alto indica petición de escritura. A nivel bajo, lectura. Los contactos 1, 5 y 6 son los correspondientes a
la alimentación de la tarjeta. GND es el voltaje de referencia. Vcc es el voltaje de la circuitería, +5V, y Vpp es
el voltaje necesario para escribir bits en la tarjeta. El contacto Vpp está normalmente a +5V salvo cuando se
escribe, que pasa a +21V. El contacto 8 (FUS) es utilizado únicamente en fábrica para impedir la escritura en
los 96 primeros bits. El contacto 3 (CLK) es mediante el cual se comunica a la tarjeta cuál debe ser su ritmo
cardiaco. Algunos fabricantes de tarjetas no emplean los contactos 6 y 8, ya que, en algunos modelos, no es
necesario el voltaje +21V para programar el chip.
Mapa de memoria
A estas alturas, al lector ya se le habrá ocurrido pensar cómo se pueden introducir 1000 o incluso 2100 pts.
en 256 bits, máxime cuando 96 de ellos están ya ocupados para la identificación de la tarjeta. Veamos
detalladamente qué es lo que hay en esos 256 bits:
Bits 1-8 (byte 1): Byte de comprobación. Su valor es 216 menos la suma de los bits 9 a 96.
Bits 9-16 (byte 2): 83h
Bits 17-32 (bytes 3-4): FFFFh
Bits 33-40 (byte 5): Identificador de la marca del fabricante. En las tarjetas españolas vale 90h, 30h o
5Ah, según el fabricante de que se trate.
Bits 41-64 (bytes 6-8): Número de serie. En las tarjetas etiquetadas como 30h y 5Ah en el byte 5, se
calcula como Byte 6 * 10000h + Byte 7 * 100h + Byte 8. En las demás, se ignora.
Bits 65-80 (bytes 9-10): Valor inicial de la tarjeta:
1000 pts. -> 148Ah
2000 pts. -> 2504h
2100 pts. -> 2506h
Bits 81-88 (byte 11): 1Eh
Bits 89-96 (byte 12): País. España es 22h, pero hay otros países cuyas tarjetas utilizan el mismo mapa de
memoria.
Hasta aquí la zona del fabricante. A partir de aquí comienza la zona de datos propiamente dicha: 160 bits, de
los cuales los diez primeros (bits 97-106) se funden (ponen a uno) en fábrica para probar la tarjeta.
A medida que vayamos consumiendo la tarjeta, se irán poniendo más bits de esta zona a uno, pero no
uniformemente. Dentro de los 150 bits disponibles hay dos zonas, y su mapa depende del valor de la tarjeta:
En las tarjetas de 1000 pts., los bits 107 a 206 son unidades "lentas". Cada bit puesto a uno en esta zona
vale 5 pts. En total, 500 pts. Los bits 207 a 256 son unidades "rápidas". Un bit a uno en esta zona vale 10
pts. En total, otras 500 pts.
En las tarjetas de 2000 pts., los bits 127 a 166 son unidades de 5 pts. (total: 200 pts.), y los bits 167 a
256 son unidades de 20 pts. (total: 1800 pts.). Se desconoce la utilidad de los bits 107 a 126 en estas
tarjetas. Posiblemente no se usen.
En las tarjetas de 2100 pts., el funcionamiento es como el de las de 2000 pts., salvo que la zona "lenta"
corresponde a los bits 107 a 166 (300 pts.). La decisión de utilizar unidades "lentas" o "rápidas"
corresponde al aparato lector. El autor de este artículo desconoce el criterio empleado.
Sin embargo, aparece algún interrogante:
- Las tarjetas de 1000 pts. son, aparentemente, más flexibles que sus hermanas mayores, ya que el tamaño de
las unidades de cobro es más uniforme que en las de 2000 y 2100 pts.
- Al término de las unidades menores, ¿qué ocurre? Si no hay "duros" para usar, se supone que la unidad
mínima de cobro es la unidad rápida. En una tarjeta de 2100 pts. con los "duros" agotados, unallamada urbana
que sobrepase mínimamente las 20 pts. nos costará la friolera de ¡40 pts.! frente a las teóricas veintipocas. No
obstante, esto es sólo una suposición que se revela inmediatamente de la estructura de los datos de la tarjeta,
estando en estos momentos pendiente de confirmar.
- Como ahora la llamada mínima en una cabina es de 20 pts., es de sospechar que en las tarjetas de 1000 pts.
se consuma primero alguna unidad de 10 pts. De esta forma, se terminarán antes las unidades de 10 pts. que las
de 5 pts., y así los redondeos serán mínimos. Por tanto, en cada llamada con una tarjeta de 1000 pts. se pierden
a lo más 4 pts. (de 0 a 4, dependiendo de lo que le falte al importe de la llamada para llegar a múltiplo de 5 pts.),
y en media 2 pts. por llamada. En una tarjeta de 2100 pts. las pérdidas medias han de ser mayores (las unidades
lo son, y el redondeo es por abajo). Desde luego, es nefasto utilizar una tarjeta de 2100 pts. sólo para llamadas
urbanas de 25 pts.: las 30 primeras serían a 25 pts, las 30 restantes (¿por qué 30?) serían a 40 pts.
- ¡Ojo con dejar 5, 10 o 15 pts. al final en una tarjeta! Es posibleque no puedan ser utilizadas, ya que la
llamada mínima es de 20 pts. Existe la posibilidad de vaciar la tarjeta en la cabina cuando está casi terminada,
con el fin de emplear el crédito restante junto con otro medio de pago, pero es una posibilidad que está muy
poco documentada en las cabinas.
Espero que esto ayude a todos un poco a utilizar más inteligentemente las tarjetas. Seguiremos investigando.
Para más información, el grupo rec.collecting.phonecards de las news.
Aún no hay comentarios para este recurso.
Monografias, Exámenes, Universidades, Terciarios, Carreras, Cursos, Donde Estudiar, Que Estudiar y más: Desde 1999 brindamos a los estudiantes y docentes un lugar para publicar contenido educativo y nutrirse del conocimiento.
Contacto »