martes, 2 de julio de 2013

Tarjetas telefonicas.

Hubo un tiempo en que el celular no era el rey en la calle y cuando alguien debía hacer una llamada recurría a un misterioso cubículo llamado: "Cabina telefónica". En un comienzo se usaban monedas especiales como método de cobro, las cuales eran vendidas en los quioscos.
 
Luego de que mucha gente utilizara los mas diversos métodos para que la moneda ingrese para luego poder recuperarla o bien trabar el sistema para realizar llamadas infinitas se paso a una tarjeta con banda magnética.
 
La tarjeta magnética era frágil y también vulnerable. El siguiente paso fueron las tarjetas con chip de memoria integrada a la misma, mas resistentes que las anteriores pero llego la masificación del celular y las cabinas telefónicas publicas terminaron casi por extinguirse. Aunque aun hoy, en algún lugar se las puede ver.
 
De este ultimo método mencionado es del que mostrare hoy algunas cualidades y funcionamiento de las mismas.
 

Tarjetas CHIP.


Con el tamaño de una tarjeta de crédito, las tarjetas chip se diferencian de estas ultimas por carecer de toda banda magnética recurriendo a un chip inserto en la misma para almacenar la información (si bien hay algunas tarjetas de crédito que, ademas de la banda magnética, poseen chip integrado).

De las tarjetas chip hay dos grupos bien diferenciados:

- Memorias EEPROM Microprocesadas.
- Simples memorias PROM.

El primer grupo son los chip que ademas de poseer memoria para almacenar la información poseen un sistema que coordina tanto la escritura como el borrado de la memoria, incluyendo un sistema de clave para evitar la modificación por personas no autorizadas.

El segundo grupo es el que nos interesa y del que explicare como funciona.

 
Funcionamiento.

Para comenzar hay que explicar un poco lo de memoria PROM ya que parece confuso.
Una memoria PROM, como su nombre indica, es una memoria que solo permite ser grabada una vez y sin limite en la lectura.
El sistema es sencillo: Al ser fabricadas toda la tarjeta esta con todo su contenido en cero. Aplicando alta tensión se puede programar cada posición pero con una particularidad: Un bit solo puede pasar de cero a uno y no viceversa. Y es así como, al ir grabando bit tras bit, la cabina telefónica va descontando el crédito que la misma posee.

Ademas de almacenar el crédito que posee la tarjeta, estas vienen grabadas con ciertos datos que ayuda a la cabina a identificar a que empresa corresponde (ya que una tarjeta de una compania podia funcionar en una cabina de otra empresa), de que valor es la tarjeta (ya que había distintos precios), identificadores varios, numero de serie de la tarjeta, etc.

Las tarjetas usadas en telefonía eran de 256 bits o 32 bytes, donde generalmente los primeros 12 bytes poseían la información sobre la tarjeta y los 20 bytes restantes guardaban cuanto llevaba gastado el usuario con dicha tarjeta.


Conector.


Se observa en la imagen que el conector que comunica el chip con el mundo exterior posee 8 pines. La función de cada uno se detalla a continuación:

Vcc:   Voltaje de alimentación de la tarjeta. (+5v)
GND: Tierra.
VPP:  Tensión de programación. Al estar este pin a 21v permite grabar el contenido de la tarjeta.
           En funcionamiento normal debe estar conectado a +5v.
OUT:  Salida serial. Mediante este pin se va leyendo uno a uno los 256 bits que la tarjeta posee.
NC :   Pin no usado (No Conectado).
RST:   Activo en bajo, este pin permite resetear el puntero de la memoria que pasara a apuntar al primer bit.
CLK:  Señal de reloj para sincronizar la comunicación.
IN:      Entrada de datos. Por medio de este pin se graba el contenido de la memoria.


Diagrama de tiempos.


En la imagen anterior se observa el protocolo usado por la tarjeta tanto para su lectura como para su reset (no se muestra el protocolo de grabación de la misma)

Como se dijo anteriormente, el pin VPP debe permanecer conectado a +5v cuando la tarjeta es leída. Para producir un reset de la misma primero se coloca el pin RST a tierra, luego se aplica un pulso de clock y en el pin de salida (OUT) aparecerá el valor del primer bit de la memoria (bit 0). Luego en cada pulso de reloj se podrá leer los siguientes bit.

Al leer el ultimo bit (bit 256) y aplicar un nuevo pulso de reloj la tarjeta volverá al inicio (bit 0). Como se puede ver no hay método para ingresar la dirección de un bit en particular teniendo que leer todos los bits hasta llegar al deseado.
Tampoco se puede retroceder. Si el puntero esta en el bit 75 y se desea leer el bit 2 habrá o bien dar pulsos hasta que el puntero señale la dirección del bit 2 o bien resetear la tarjeta y dar un pulso de reloj.


Usos.
 

Ya sabiendo como funcionan las tarjetas telefónicas nuestro propósito sera crear una cerradura que utilice dichas tarjetas.
Se utilizaran los 3 bytes que componen el numero de serie ya que no hay dos tarjetas telefónicas con un mismo identificador dando mas seguridad al sistema.

Se podrán almacenar varias tarjetas para tener de esta forma varias llaves que abrirán la cerradura. Un indicador sonoro nos servirá para saber si una tarjeta es invalida así como también para indicar que la programación de una tarjeta en particular fue correctamente guardada en el sistema.

No hay comentarios:

Publicar un comentario