Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Atacar ficheros TACOGRAFOS DIGITALES (https://www.clubdelphi.com/foros/showthread.php?t=43457)

Lepe 15-06-2007 11:09:26

los conductores que tenemos son:
- diego antonio
- juan jose
- manuel riquelme.

Sería bueno saber de antemano la fecha de expedición de su tarjeta, primer dia de validez y fecha en la que termina la validez (Al menos algunas de ellas) a ver si calculando los segundos de esas fechas, se puede obtener el número que viene en el fichero).

Este fin de semana salgo de viaje, así que no podré echarle un vistazo.

Saludos

Casimiro Noteví 15-06-2007 11:22:46

También sería útil ver los resultados de esos ficheros con algún otro programa que los lea, a ver qué datos saca.

SpyNett 21-06-2007 23:23:00

Interpretación ficheros
 
Socger,
Te puedo comentar que leer correctamente los ficheros no es en absoluto trivial. La estructura de los ficheros sigue un método de almacenamiento bastante arcaico y propenso a errores. Toda la información se graba en binario y debes convertirla a carácter y después verificar que lees correctamente mediante la firma digital. En realidad la información no va encriptada (aunque podría estarlo). Cada segmento sólo va acompañado de un hash hecho sobre estos datos en base a la parte privada del certificado del dispositivo (tarjeta de conductor en tu caso).
Como ha comentado ya alguien en el foro, leer el fichero solo es un paso, luego debes darle coherencia a la información leída y es entonces :eek: cuando empiezan los problemas: Un fichero de conductor se divide en varios segmentos (por ejemplo: tarjetas introducidas, lugares visitados, vehículos utilizados, actividades) los cuales no siempre cuadran entre si. :eek: !!

Después tienes errores del tipo en que un mismo día y hora aparece que el conductor ha llevado dos vehículos :eek: (porque uno de los relojes de los tacógrafos no está bien calibrado por ejemplo), después tienes discrepancias respecto a cuánto tiempo ha estado la tarjeta insertada en el tacógrafo (que puede variar según donde lo mires) u otros problemas como que el tacógrafo no registre con cuantos kilómetros has finalizado un día de conducción, entonces no puedes calcular correctamente la distancia recorrida en ese dia.
No es por desanimarte pero te espera bastante curro. Donde yo trabajo hemos tenido que lidiar con estos y 'algunos' problemas más ya que hemos desarrollado un software de lectura y análisis de tacógrafos. Se llama Datacograf y creo (humildemente) que es el software más detallado en cuanto a análisis. (no porque seamos más listos que nadie, sino porque lo hemos desarrollado partiendo de lo que creemos que no hacen bien los otros programas y porque está desarrollado sobre .NET 2.0+Visual Studio 2005).

En cuanto al acceso a los datos: puedes acceder a la información por dos vías: con este programa tienes acceso libre a la base de datos (el programa trabaja en MS Access, SQL Server 2000, SQL Server 2005 o MySQL 5.0 ). Si el primer método no te sirve puedo comentarte que actualmente yo estoy desarrollando una DLL que ataca a los datos integrados en el programa, de manera que puedas llamar a esta DLL y pedirle por ejemplo los totales de conducción y descanso del conductor X entre el dia xxx y el xxx.

Yo he analizado los ficheros TGD que has colgado y si a alguien les interesa os los puedo mandar por email (no los puedo colgar aquí porque su tamaño está entre 400Kb (informe de contenido puro del fichero) y 4000Kb (informe detallado)).
Si quereis probar vosotros mismo el análisis de ficheros de conductor lo podeis hacer en un servicio (actualmente gratuïto) que colgamos hace más o menos un mes en http://www.tacografo-digital.net/Fil...yzerLogin.aspx
Introducid el usuario 'datacograf' y el password 'invitado'.

Si deseas más información puedes escribir a [email protected] o llamar al 972 207 208 y preguntar por Pedro.
Espero haber ayudado en algo y disculpad por la longitud de este mensaje.

Cordialmente,
Miquel Fornas
[email protected]

Lepe 22-06-2007 00:50:47

Que el nombre de "Datacograf Profesional" aparezca en este hilo no es mera casualidad, de hecho, es el software que recomendé a uno de mis Clientes de mi ciudad (Lepe) hace cosa de un mes.

Miguel, aprovecho la ocasión para agradecer que te hayas registrado en el foro y responder este hilo.

Saludos

xino83 01-08-2007 13:06:35

Ayuda
 
Hola a todos,
Soy novato en este tema de tacógrafos digitales. Trabajo en una empresa donde la flota de vehículos está bastante descentralizada y mi intención es poder descargar las tarjetas de cada conductor en la sede en la que esté trabajando y enviarlas a la sede central donde se integrarán en el programa que gestione estos ficheros. Mi duda es cómo descargar estas tarjetas, se que necesito un lector de tarjetas. Lo que no se es cómo descargarla y si al descargarla obtengo directamente el fichero TGD o necesita hacer alguna transformación. Como dije anteriormente mi intención no es editar los datos del fichero ni la tarjeta, sino exportalos para posteriormente ser integrados.

Saludos y gracias de antemano

SpyNett 01-08-2007 18:09:24

Hola xino83,

Tienes varias alternativas:

1- Usar el dispositivo DownloadKey de Siemens. Deberás ir al vehículo e insertar la tarjeta de empresa así como la tarjeta del conductor. El downloadkey generará un fichero TGD que quedará almacenado en su memoria y que después podrás enviar via email a la central.

2- Usar el dispositivo de Optac o de Actia. Con estos dispositivos no necesitas ir al vehículo ya que tiene una ranura para poder insertar la tarjeta de conductor, también generarán un fichero TGD que quedará almacenado en su memoria y que después podrás enviar via email a la central.

3- Usar un lector genérico de smartcards conectado a un PC y un software que genere el fichero. Productos como Datacograf, Strada o TachoMaster ofrecen este servicio.

Si ya dispones del hardware para descargar y no necesitas acceder ni consultar los datos leídos en las delegaciones, lo más sencillo es usar la opción 1 o 2.


Cordialmente,

Miquel Fornas
[email protected]
www.tacografo-digital.net

jojobkx_1 02-09-2007 09:07:37

sobre fechas
 
con los problemas de fechas yo de duzco que:
tienes posibilidad de ver las tarjetas fisicamente No?
pues puedes saber la fecha de validez.
si no esta impreso en la tarjeta, puedes saber el plazo sabiendo cuando
se izo la tarjeta. No?
apartir de ahi teniendo lo que obtienes en el fichero tgd se podria saber
desde cuando se empieza.(pero provando varias tarjetas).

No se si te servira o sera una tonteria.
sobre los ficheros tgd es muy interesante(quien no tiene un amigo camionero y que quiera ver el fichero. ya que es suyo!sin pagar una pasta)
si puedo le echare un ojo al codigo tuyo.
saludos.

javigh 08-10-2007 13:28:41

Hola. Yo también estoy intentando descrifrar este tipo de archivos. El problema con el que me encuentro es que el único documento que he encontrado explica la estructura de datos de la "tarjeta de conductor" es el pdf ese del BOE. En la página 119 es donde se encuentra dicha estructura, pero no tiene "nada" que ver con la estructura del fichero TGD que tengo y los que he bajado de este post. Yo he podido leer el "EF Identification" (titular de la tarjeta, todo tipo de fechas, etc), pero por ingeniería inversa y no leyendo el documento. Según el PDF el "cardIssuingMemberState" debería estar en la posición 0x01B0, pero tanto en los archivo que tengo como en los que se han publicado en este post, esa información está en el 0x00C4. ¿Qué ha pasado con los certificados que deberían estar antes?.

Si se empieza desde el principio, el embedderIcAssemblerId debería estar en la posición 0x0012, pero anda sobre la posición 0x0017 (que es donde pone EFNMT, que deduzco que será la fábrica nacional de moneda y timbre).

¿Alguien sabe por qué no coincide la posición indicada en el documento con la que viene en el archivo?. Yo he pensado que quizás la información del PDF es la información almacenada en la tarjeta, y parte de esa información se pierde al pasarlo a un archivo, como por ejemplo los certificados digitales.

Muchas gracias de antemano!

Un Saludo.

PE: Bueno, he "descubierto" que los diferentes campos pueden estar desordenados y sólo es cosa de mirar el FID, jeje... Las prisas!

javigh 08-10-2007 14:36:15

Sobre el tema de la fecha... supongo que ya hace tiempo que estará arreglado, pero por si acaso. Lo que a mi me ha funcionado es coger el hexadecimal, por ejemplo 4F 38 52 80, se pasa a decimal que sería 1329091200, y esos son los segundos a partir del 1/1/1970. Y ya "sólo" hay que haer las cuentas pertinentes.

Un Saludo.

javigh 17-10-2007 11:09:57

Hola a todos de nuevo. Ya he conseguido extraer toda la información de la tarjeta del conductor y del archivo del tacógrafo. Ahora estoy intentando verificar las firmas de las diferentes zonas de datos.

¿Sabéis si existen librerías para Delphi que utilicen certificados RSA para encriptar/desencriptar datos?. La verdad es que he estado buscando y no he encontrado ninguna gratuita.

A falta de esto, me valdría con alguna función que pueda elevar un número impresionantemente grande (del tamaño de los datos), a otro número de 1024 bits y hacerle un módulo de 1024 bits. No sé tampoco si esto existe o me lo tendré que implementar yo todo.

Un Saludo.

Casimiro Noteví 17-10-2007 12:27:49

Creo que es una buena pregunta para seoane, que, por cierto, hace unos días que no se le ve por aquí :confused:

socger 17-10-2007 12:34:22

Javigh ... he avanzado bastante en el tema
 
No se exáctamente que es lo que necesitas.
Pero no me importaría poderte hechar un cable con lo que he ido avanzando.

Si quieres contactar diréctamente conmigo mi cuenta de correo es [email protected]

Saludos

javigh 17-10-2007 13:06:10

Cita:

Empezado por socger (Mensaje 239093)
No se exáctamente que es lo que necesitas.
Pero no me importaría poderte hechar un cable con lo que he ido avanzando.

Si quieres contactar diréctamente conmigo mi cuenta de correo es [email protected]

Saludos

Bueno, lo que necesito es verificar que los datos son correctos y no han sido modificados. En el caso de la tarjeta del conductor la firma de una zona concreta de datos empieza con la cabecera con Tipo = 0x01. Pero para verificar esa firma primero hace falta saber la clave pública del aparato que ha firmado los datos (en este caso, de la tarjeta), y para saber eso hace falta saber la clave pública de la CA y para saber eso se necesita la clave pública EUR.PK. Con la clave EUR.PK se verifica el certificado MemberStateCertificate y se saca ES.PK en nuestro caso. Y con la ES.PK se saca la clave pública de la tarjeta a partir del CardCertificate. Una vez que se tiene la clave pública de la tarjeta, se hace el Hash de los datos, se desencripta la firma (dándonos el hash calculado en la creación) y ambos hash deberían coincidir.

Con los datos del tacógrafo es básicamente lo mismo, aunque el archivo no tiene el mismo formato que el archivo de la tarjeta del conductor, pero también tiene los dos certificados (MemberStateCertificate y VUCertificate) y una firma cada segmento de datos.

El proceso que hay que hacer sé cual es, pero no sé cómo conseguir la EUR.PK, ni si existe alguna librería en delphi que devuelva la clave pública de un certificado y que compruebe una firma ni nada...

Gracias por la ayuda!

Un Saludo.

jojobkx_1 03-12-2007 09:44:05

enlace para claves
 
he visto algo +- sobre lo que buscas de las claves.
prueba en:

http://es.wikipedia.org/wiki/RSA#Gen....B3n_de_claves

si que hay librerias (para linux) no he encontrado nada para delphi.

javigh 03-12-2007 18:35:44

Cita:

Empezado por jojobkx_1 (Mensaje 249932)
he visto algo +- sobre lo que buscas de las claves.
prueba en:

http://es.wikipedia.org/wiki/RSA#Gen....B3n_de_claves

si que hay librerias (para linux) no he encontrado nada para delphi.

Muchas gracias!. Pero la teoría ya la sé, jeje ;). El problema es encontrar alguna librería gratuita que sea medianamente rápida para delphi.

Un Saludo.

pauvalencia 21-01-2008 10:10:52

Cita:

Empezado por javigh (Mensaje 250044)
Muchas gracias!. Pero la teoría ya la sé, jeje ;). El problema es encontrar alguna librería gratuita que sea medianamente rápida para delphi.

Un Saludo.

Hola!!!,

Yo estoy con el mismo tema, tengo la aplicación del tacógrafo hecha, simplmente me queda poder analizar el tema de las firmas digitales. Si tienes un rato ponte en contacto conmigo, bueno, tú o cualquiera que se haya pegado con este tema de las firmas digitales de ficheros TGD y lo comentamos, gracias!

Saludos cordiales.

sunday5_5 28-02-2008 12:53:04

ayuda
 
soy un usuario sin m uchos nconocimientoa de programacion y querria saber si alguien me puede pasar un link o algun programa gratuito respondan a mi correo [email protected]

josejm 25-03-2008 00:57:46

Enhorabuena por este gran foro.
 
Estoy alucinando, cada dia mas con www.clubdelphi.com, aqui he resuleto el 80% de mis dudas en casi todos los temas. Estoy desarrollando en delphi desde hace ya 6 años y es alucinante, como crecemos entre todos.

ral 10-11-2009 12:07:53

¿Retomar el tema?
 
Buenas a todos,

Realmente no se si debería abrir un post nuevo para esto, pero he pensado que quizas estaría bien la continuación de la lectura de los ficheros TGD.

Como todos vosotros, he tenido que realizar la lectura de los ficheros TGD de conductores para mi empresa, pero parece que eso no es suficiente y ahora necesitan tambien la lectura de los ficheros de datos de la Unidad Intravehicular.

Mirando la documentación, no logro encontrar donde está la estructura de datos para estos ficheros que comienza con V_*.TGD
Según el B.O.E. la estructura de campos es:

Nombre Longitud Significado
SID 1 Identificador de servicio (fijo '76')
TREP 1 '01' Resumen, '02' Actividades, '03' Incidente......
Datos [variable] Contenido del archivo elemental

Pero esto es lo máximo que he encontrado. No cuantos bytes debo leer para el contenido de datos, y voy muy perdido...

¿Alguien podría echarme una mano (al cuello :P) e iluminarme para seguir el camino?

Muchas Gracias por todo de antemano!!!

Manolin 26-11-2009 20:23:37

Un saludo a todos!!

Me esta sirviendo de mucho toda la informacion que poneis aqui en el foro, estoy mui agradecido.. No obstante haber si tambien me podeis ayudar en esto.

Yo descargo los datos del tacografo de mis vehiculos y guardo los discos de los analogicos, pero esto no me dice nada, me gustaria que me aconsejarais sobre algun programa informatico que me diera informacion sobre estos datos, porque con el simple hecho de guardar los datos no me vale, me gustaria tener mas informacion! muchas gracias de antemano

isaacRHR 31-01-2010 22:04:59

Hola a todos.

Mi problema no es la interpretación de los ficheros, por lo menos aún no.
Estoy realizando un programa que se conecta a nuestro sistema y simplemente lo que necesito es descargar los ficheros.

Es decir el programa que estoy realizando debe ser capaz de sacar los ficheros de la tarjeta y colocarlos en un directorio. La verdad es que estoy muy perdido.

Muchas gracias

carlangasmanero 13-02-2011 10:38:09

duda
 
entonces, la herramienta online que sale en la web del ministerio para que sirve?
Gracias de antemano.
Estoy intentando ponerme al dia haber si con lo poco que se de programacion puedo ayudaros algo.
No pongo la url como enlace porque no me deja.
Un saludo.

SAMGCT 25-03-2011 12:48:44

Existe algún programa de descarga y analisis para android, sería muy interesante....
Sobre todo ahora que están proliferando los dispositivos con este sistema operativo.

Manolin 15-07-2011 12:22:13

Hola de nuevo!!!

He leido mucho sobre el tema tratado aqui y me han comentado el uso de Tachospeed, para la lectura de tacografos tanto analogicos como digitales. No se si alguien lo conoce o lo ha utilizado y podria, aconsejarme.

Un saludo

SAMGCT 10-11-2011 23:15:44

Hola yo he probado tachospeed y no me ha gustado, al final, despues de probar el stradacard, lector, tachospeed, globofleet y datacograf, me he comprado datacograf y sin duda el mas claro y hace unos informes fenomenales, lo recom
iendo.


La franja horaria es GMT +2. Ahora son las 16:51:48.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi