Codigos de Barras
Por Warezzman warezzman@usa.net
-> Introduccion
Estamos en la era de la informacion, estamos sumergidos en ella, esta
informacion contribuye a (o quiza controla?) nuestra vida, los datos se
encuentran codificados en casi cualquier sitio, tarjetas telefonicas, tarjetas
magneticas, tarjetas inteligentes, y codigos de barras...
Mira un momento a un alrededor, seguro que hay algun codigo de barras en alguna
cosa junto a ti, puede que incluso decenas...
Te has preguntado alguna vez como funcionan? para que sirven? o quiza has
pensado alguna vez si se podrian usar en tu "provecho personal" ?
-> Los Codigos de Barras (CB)
Los codigos de barras son en primer lugar una forma optica para almacenar
informacion reconocible por sistemas informaticos. Se usan en sistemas de
control de acceso, manejo automatizado de objetos, pero quiza los mas conocidos
son los usados para identificar productos de consumo, de estos ultimos se
hablara en este articulo.
Si quieres seguir mejor este articulo busca un CB y observalo.....
Facilmente puedes distinquir dos partes diferencaidas, el CB es si mismo y un
numero en la parte inferior. Cuenta las cifras de este numero... ¨tiene 13
cifas verdad? Eso es por que los CB siguen un standard llamado EAN-13 (EAN =
Europen Article Numbering)....
¨como, que no tiene 13 cifras????? el EAN13 es el sistema mas comun en europa
pero hay otros, el UPC (originario de USA) o el EAN8 que pese a ser minoritarios
tambien se pueden encontrar en nuestro pais.
Pero sigamos esas rayas que forman el CB son la codificacion optica del numero
que esta a su lado, ese numero es por decirlo de alguna manera el DNI del
producto, lo identifica como tal.
Cuando realizas una compra, la amable cajera pasa el CB del productos comprado
por un scanner, de forma automatica el numero representado en el CB es comparado
con los almacenados en la base de datos y el importe de contabiliza de manera
inmediata.
Los CB aportan una gran cantidad de ventajas a los vendedores, algunos ejemplos
son: seguimiento en tiempo real del volumen de ventas, rapidez de atencion al
cliente, eliminacion de la posibilidad de error en el marcado, ahorro de tiempo
y dinero en etiquetado, etc, etc
-> EAN13
En el EAN13 se usa un digito de control para evitar posibles fallos de
lectura en el CB, este digito de control es el ultimo digito del CB y el que se
encuentra mas a la derecha. Se calcula de la siguiente manera:
1. Se suman los valores de los digitos en las <posiciones> pares esto es
A=0+2+4+6+8+10
2. Se suman los valores de los digitos en las <posiciones> impares osea B=1+3+5+7+8+11 y el valor resultante se multiplica por 3 (B*3)
3. Se realiza la suma de los resultados anteriores C=A+B
4. Se calcula el modulo 10 de C, si el resultado no es 0 se resta de 10 y el
numero resultante es el codigo de integridad.
Ejemplo: CD-Recordable TraxData 74m. Su codigo es 5030159000106
Suma de las posiciones pares 5 + 3 + 1 + 9 + 0 + 1 = 19
Suma de las posiciones impares 0 + 0 + 5 + 0 + 0 + 0 = 5 * 3 = 15
Total = 34
34 MOD 10 = 4 10 - 4 = 6 <---- DIGITO DE CONTROL
El resto de las cifras tienen tambien su significado, las 2 primeras identifican
el pais de origen de la marca. En espa¤a la entidad gestora del EAN13 es AECOC,
los codigos de las empresas asociadas a AECOC tienen este formato:
00 01 02 03 04 05 06 07 08 09 10 11 12
-- -- -- -- -- -- -- -- -- -- -- --- --
8 4 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 DC
84 Es el prefijo asignado por EAN internacional a AECOC. Esto no quiere decir
necesariamente que sea un producto fabricado en Espana sino simplemente que la
empresa fabricante usa un CB asignado por AECOC.
X1..X5..X8 En este espacio aparece el codigo asignado por AECOC a la empresa
propietaria de la marca del producto. Dicho codigo tendra entre 5 y 8 digitos
dependiendo de las necesidades de la empresa.
X6..X9.X10 Este espacio es utilizado por la empresa fabricante para identificar
cada producto en particular. El posible espacio sobrante se corrige a¤adiendo
los ceros necesarios a la izquierda.
DC es el digito de control calculado con la formula vista antes.
Ej. Gallina blanca, Sopinstant, Crema de champinones 8 410300 100751
Gallina blanca, Sopinstant, Pollo con pasta 8 410300 100799
Pasemos ahora a la parte quiza mas farragosa de los CB: la representacion optica
del codigo en forma de barras. Como esta pasa por ser bastante complicada solo
la comentare por encima, si estais realmente interesados en conocer como
funciona podria escribir una segunda parte de este articulo.
En primer lugar el CB esta dividido en 2 segmentos, que agrupan cada uno a 6
digitos y forman en pareja los 12 digitos del cb, delimitados por las lineas mas
largas de los extremos y centro. En el CB una barrita fina significa 1 y una en
blanco 0. De esta forma las barras de calibrado dan lugar a los valores 101 en
los extremos y 01010 en el centro.
Los segmentos codifican los grupos de 6 cifras usando 3 tablas de codigos de 7 bits que a su vez dependen de una tabla de patrones de manera que segun el valor del digito de control se use un patron u otro.
-> (IN)Seguridad de los codigos de barras
Silogismo de los codigos de barras:
1 - Un CB es parte de un sistema informatico
2 - TODO sistema informatico se puede hackear/crackear
De lo que deducimos que: "Un CB se puede hackear/crackear"
¨Acaso no te has dado cuenta de que cuando compras algo en el super de la
esquina la informacion sobre el precio del producto se extrae del CB?
Supongamos por un momento que imprimes un CB identico a una botella de vino del
"Tio de la bota" y la pegas en una cara botella de vino frances
cosecha del 89, la cajera pasara el cb por el scanner y en la pantalla aparecera
"vino" y pagaras 130pts por una botella que vale 5000pts.
Ojo todo esto es hipotetico, debe quedar claro que no pretendo incitar a cometer
un delito, simplemente expongo las deficiencias de seguridad de los CB. ;-)
Continuemos suponiendo, nada te impediria comprar una SB AWE 64 GOLD al precio
de la 32 Value Edition. Veamos que pasos deberias seguir para "perpetrar"
este tipo de acciones:
- Anotar el codigo de un producto similar al que nos vamos a llevar y de un
precio inferior, es recomendable comprobar que tal producto se encuentra a la
venta en el lugar en cuestion.
- Imprimir en casa sobre una etiqueta adesiva el cb correspondiente, existen
multiples programas tanto shareware como comerciales para estos menesteres, y en
inet no es dificil encontrar alguno de ellos.
- Pegar dicha etiqueta sobre la original y pasar por caja.
Si vas de "Hacker con buenas intenciones" puedes imprimir el mismo
codigo que el original para demostrarte a ti mismo que podrias haber defraudado
al sistema si hubieras querido, en algunas grandes superficies incluso hay
lectores de CB a disposicion del publico para que comprueben el precio
de los productos, ya que este no va etiquetado en el envase.
Para finalizar agradecer a +ORC por la informacion original "How to crack
barcodes" y a KazMeyer. Sed buenos y no hagais nada que yo no haria. }:)
Denuncia cualquier innovacion delictiva a:
delitos.tecnologicos@policia.es
Y si lo quieres publicar en este medio: ciberpol@ciberpol.com