TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Dancrazy en 30 de Noviembre de 2006, 16:03:29
-
Hola a todos
mi duda va especialmente a Nocturno, que sé que ha trabajado con smartcards... pero si alguien sabe... ¡agradeceria mucho!
Tengo una smartcart (realmente mas de una, pero hablo literalmente) preprogramada para cargar y/o ejecutar simples aplicaciones...
y evidentemente necesita un lector.... de esos dispongo... pero quiero (realmente debo) hacer una prueba para determinar ciertas cosas...
tome una tarjeta y soldé cablecillos a sus contactos, y deseo conectarme con la tarjeta al hiperterminal... lo intente con el icprog y un JDM programer y no se entendieron... pues bien, esta tarjeta es manejada internamente por un sistema que si le envio serialmente (creo) una serie de 5 bytes especificos ella me devolvería su serial o su data, es decir, me habria comunicado con ella sin lector..
se que la tarjeta tiene como contactos, Vcc, GND, CLK, RST, VPP e I/O... eso no puede ser más parecido a un programador de PIC, pero el hecho es que no quiero programarla, quiero comunicarme con ella... pense que puede ser una comunicacion serial half duplex, pero esa señal de reloj me deja intrigado...
en fin, puedo hacer en el PIC algun programa (PICCpor favor.. se de asembler, pero he resultado alérgico al asembler) que me permita comunicarme con esa smartcard? y enviarle los dichosos 5 bytes, para que ella me responda con su serial?
gracias x todo!!!
-
Dancrazy, no conozco mucho sobre el tema pero acá hay algo de información:
Información:
http://www.cs.uct.ac.za/Research/DNA/SOCS/
http://www.cs.uct.ac.za/Research/DNA/SOCS/psec2.html
Saludos
-
Muchas gracias... estupendo articulo, me ayuda a encontrar el camino :-/
pero... la informacion para nosostros es como el dinero para los codiciosos...
mientras mas tenemos mas queremos...
asi que si encuentran algo mas,... sera siempre bienvenido!!! :-)
-
Zaphyrus, magnifica referencia ésta que has puesto, muy completa. Me va a ser muy útil con una idea que tengo en mente desde hace tiempo ...
Muchas gracias. :mrgreen:
(Me explico: En el hilo Emulación Teclado PS/2 con PIC (Engañe a su PC y dele gato por liebre) (http://www.todopic.com.ar/foros/index.php?topic=11910.0) podéis ver unas fotos del en las que éste se acompaña de otro diseño. Este otro es un lector de smartcard, construido alrededor de un 16F628 SMD realizado en Italia, al que mi KBDEMUL está conectado y lee, convirtiendo su salida a PS/2 emulación teclado. La idea que tengo es hacer eso mismo pero desde mi misma KBDEMUL pudiendo así prescindir del otro cacharro completo :P)
-
Yo estaré pendiente de lo que comentáis en este hilo. Lamentablemente no tengo ninguna experiencia con Smartcards; sólo sé que son diferentes de una pelota porque no son redondas, pero poco más.
-
Hola a todos!!!
Bueno, creo que me equivoque... pero juraria que encontre un hilo del 2004 en que nocturno hablaba alguito de smartcard y por eso crei que era un experto en la materia.... pero gracias! la buena intencion es la que cuenta...
Pues sigo alli... ahora se mas o menos como va la cosa....... la voya compartir con ustedes porsia tienen la curiosidad
adjunto un dibujito de cómo deberia ser, (lo siento, no tenia otra forma y lo hice en MS Paint)
y cómo conectarme con la smartcard...
estoy en proceso... aun no lo he probado del todo... les aviso si funciona o no pronto...
-
RedPic, el enlace fue de casualidad ya que estaba buscando en google y lo encontré de suerte. Me alegra que les haya servido.
Una pregunta:
¿Alguien sabe si debe usar algun programa en especial o con el Hyperterminal ya se puede comunicar con la Smartcar?
Saludos.
-
Para hablar con una SmartCard mediante el puerto COM he utilizado una variante de la TE20 y el soft WinRobin. Busca y encontrarás :mrgreen:
-
Gracias RedPic, solo preguntaba porque ví el circuito que puso Dancrazy.Cuando tenga tiempo me voy a poner a investigar porque todavía no vi ninguna SmartCard en Argentina.
Saludos.
-
Hola, aca en Argentina hay varias aplicaciones con smartcard, de hecho la de puntos de YPF serviclub es una, claro que se pueden clasificar en varias categorias, tambien la SIM de un telefono celular GSM, es una SMARTCARD o tarjeta inteligente, la de YPF por ejemplo es una siemens SLE4442 y es una memoria de 256 bytes con acceso controlado, es decir para poder escribirla hay que concocer la clave de acceso.
Tambien hay otras que poseen memorias I2C, como las 24CXXX, que son usadas para aplicaciones donde no es necesario que lo que se escribe o se lee tenga relevancia, y no exista interes de nadie por leer o escribir alterando la informacion.
Hay otras disponibles como la llamada goldcard que contiene un pic16f84a + una memoria 24cXX, que se usan para muchas aplicaciones, como ser cerraduras electronicas credito para telefonia prepaga, acceso a internet etc.
Tambien aca en Argentina eran usadas las trajetas chip o inteligentes para la telefonia publica, estas eran una memoria del tipo eeprom, que tenia posiciones de memoria que eran borradas por el telefono a medida de que iban consumiendo credito, no tenian ningun tipo de proteccion, las usadas actualmente cuentan con un mecanismo de validacion son las llamadas TG3, no son empleadas en Argentina.
Entonces para leer o escribir cualquier tipo de tarjeta inteligente deberas contar con alguna inteface o lector que suministre señal de reloj, y comandos a la memoria o mico de la tarjeta, sin duda conectandola a un puerto de la PC podras leerla pero no con el hyperterminal, ademas de un prgrama especifico deberias colocar un max232 o similar para adaptar los niveles de tension, a 5V o 3,3 V segun el tipo de tarjeta, o conectarla al port paralelo de la PC.
Con respecto a tu consulta de que tienen VPP, VCC, RST ,CLK, I/O Y GND, pues si, y es un standart ISO, pero VPP ya casi no se utiliza, pues este terminal era utilizado para alimentar la memoria cuando era escrita, pues las antiguas tarjetas no permitian ser grabadas con 5 vcc, en las aplicaciones de telefonia esta pata se llamaba FUSE, y permitia hacer que fuese de solo escritura la zona de credito de la tarjeta, para que no se pudiese recargar.
Hoy los terminales validos son VCC, GND, CLK, RST e I/O, y en el caso de las tarjetas con microprocesador (por ejemplo DirecTV), el pin CLK es uan señal de reloj de 3,58 o 6 mhZ, en el caso de las SLE4442 es una señal de clock para sincronizar el envio o recepcion de datos.
Bueno es todo lo que tengo a mi alcance, espero que te sirva y cualquier duda o pregunta a tus ordenes.
-
Pikman, las tarjetas de Telefónica las conozco al igual que las de DirectTV y las SIM de los celulares GSM pero creía que eran solo una EEPROM por eso dije que no había visto ninguna.
Yo llamo SmartCard a las que poseen un microcontrolador junto a una memoria en su interior, no sabía de su existencia en Argentina hasta recién.
Gracias por el dato.
Saludos.
-
Zaphyrus,
Las SIM, son smartcards, tienen un microprocesador, una ram, una eeprom, las de DTV tambien son asi, aca se consigue la PIC8 que es parecida a la goldcard tiene un pic16f84 y una 24lc16, la podes conseguir en www.cika.com se llama PIC8, las tarjetas usadas para los telefonos publicos si son memorias, como al SLE4442, pero tienen mecanismos de proteccion y validacion.
-
¡¡¡Me interesaron las PIC8!!! :-/
Ya estoy pensando que hacer con ellas.
Gracias por la información.
Saludos.
-
ESTABA PENSANDO SI ESTAS SMARTCARD CON PROCESADOR PODRIAN PROGRAMARSE CON UN PROGRAMADOR DE PIC USANDO EL ISCP (IN CIRCUIT PROGRAMMER) YA QUE YO ESTUVE VIENDO EN ALGUNOS LUGARES EN LOS CUALES SE PUEDE LEER LA SIM DE UN CELULAR , PARA LUEGO COPIARLA O CLONARLA. CREEN QUE SE PUEDE PROGRAMAR LAS TARJETAS ESTAS USANDO CONEXION IN CIRCUIT DE UN PROGRAMDOR DE PIC.
SOLDANDO UNOS CABLECITOS A LOS COBRES DEL CHIP Y ESO CONECTADO AL ISCP DE UN PROGRAMADOR DE PIC COMUN COMO EL PIC PABLIN II O ALGUNO COMUN.
DE ESE MODO SE PODRIAN LEER. Y HASTA QUISA PROGRAMAR.
ALGUEIN SABE ALGO MAS?
-
facundo_10, la tarjeta llamada PIC8, tiene un microcontrolador PIC16F84 y una memoria 24lc16 conectada, podes programarla mediante un zocalo SMARTCARD accediendo a los pines RB6, RB7 & MCLR que estan disponibles en los contactos ISO, para programar la memoria 24lc16 hay que incluir rutinas en el programa del PIC para que hagan de 'puente', pues los pines de esta no estan disponibles en el conector ISO.
Con respecto a 'clonar' la sim, puedo decirte que tengo un lector USB que copia y guarda la agenda y el contenido del usuario pero no de la cuenta, para poder tener un backup de usuario, pero no se si se podra clonar la informacion de la cuenta.
En este LINK http://www.maxking.com/galaxysmartcards.htm#cutout
hay informacion de las tarjetas disponigles en el mercado inclusive una que viene con el formato ID000 que es el de la SIM de de celular, yo he utilizado la PIC8 para un un sistema prepago de navegacion para internet en un hotel, que lo que hace es contabilizar el tiempo que cada pasajero utiliza las PC para navegar, y despues cuando se le liquida la cuenta al pasajero se le suma el uso de internet, la ventaja de usar esta tarjeta es que fue muy facil implentar el sistema pues el lector es uno del tipo phoenix muy sencillo y la interface de la PC la relize en VB6 lo que permitio conectarlo con la aplicacion del hotel muy facil.
-
La tarjeta SIM de un celular tiene dos numero IK y IMSI esos son los nuevos con los cuales podriamos llegar a clonar una SIM.
Para sacar eso numero se hace mediante la lectura de la sim a clonar con un t-20 o phoenix. Yo estuve viendo segun las normas ISO la disponibilidad de los pin y quisa la pueda leer con mi ISPC del programdor de pic comun que posee VPP, VCC, CLOCK, RB6 y rb7 y Ground . Pensa que como tiene la misma disponibilidad podria leerla
Tu que piensas?
-
Estimado facundo, pues la verdad no he estudiado eso, la experiencia que tengo es lo que ves, un T-20 no es lo mismo que un PHOENIX, ISO define los pines y tamaños de la tarjeta y la forma de comunicacion, pero no todas tienen el mismo procesador, memoria y se programan de la misma manera o usan el mismo lenguaje, de cualquier modo 'clonar' una tarjeta? que es clonar los datos o para usar la linea de otra SIM?,de cualquier manera, no esta permitido disertar sobre temas o actividades que puedan ser ilegales, espero que no te lo tomes a mal, pero es solo cumplir con las reglas del foro.
-
Me refiero a poder tener por ejemplo dos numeros a mi nombre en un SIM.
Pero com no tengo un programador de goldcard o otra tarjetas pense que con un programador comun podria leerla . Eso es a lo que me refiero quiero leer mi tarjeta con los 6 pines que trae mi programdor de pic par incircuit .
que son:
RB6
RB7
VDD
ground
MCLR
CS MICROWIRE ( no lo tomo en cuenta)
tu crees que pueda hacerlo?
-
que son:
RB6
RB7
VDD
ground
MCLR
CS MICROWIRE ( no lo tomo en cuenta)
RB6 pin de clock para programacion serie de la linea pic16cxx 16fxx y 18fxx
RB7 pin de datos para programacion serie de la linea pic16cxx 16fxx y 18fxx
VDD alimentacion + 5Vcc ó menos en la linea de bajo voltaje desde 2 Volt a 5.5
ground negativo de la fuente de alimentacion
MCLR este pin sirve para resetar con un flanco descendente desde 5 V a 0 el micro
o aplicando 13 Vcc (o llamado VPP) activa el modo de programacion de la memoria
de programa del micro
CS MICROWIRE ( no lo tomo en cuenta) ESTE NO SE QUE FUNCION CUMPLE NO ES UN PIN DEL MICRO, DEBERIAS REVISAR EL MANUAL DEL PROGRAMADOR.
Para poder leer la SIM debes usar un lector tipo PHOENIX, como el smartmouse que muestran en la pagina del link que deje mas arriba, la sim de los celulares creo que trabaja con 1,8 V un modelo y con 3,3 otra, creo que ya no usan 5 Vcc y el clock es de 6 mhz, en lugar de 3,58 Mhz como era antes, de cualquier manera voy a ver si tengo alguna informacion de como hay que hacer para leer la agenda, y desde luego que seguro eso lo vas a poder hacer, yo uso este lector,
http://www.eurocase.com/version2/index.php?productos=si&nivel=3&id_rubro=11&id_subrubro=15&id_producto=199
que lee la agenda baja las fotos y todo lo que el usuario puede almacenar en la SIM.
NO creo que te sirva ese programador, solo es para microcontroladores o tarjetas basadas en un PIC.
-
La respuesta a la pregunta del amigo facundo es: si...
de hecho, el icprog tiene una seccion para hacerlo...
puedes encontrar mas informacion en el numero de la revista
"Everyday Practical electronics" de mayo de 2006
que tiene un smart card reader/programmer...
voy a anexar el circuito que provee tal revista...
la revista creo que se puede adquirir en la pagina web en formato digital
Espero sea de utilidad
-
Estimado Dancrazy; dices
La respuesta a la pregunta del amigo facundo es: si...
de hecho, el icprog tiene una seccion para hacerlo...
a la pregunta de facundo que es esta :
ESTABA PENSANDO SI ESTAS SMARTCARD CON PROCESADOR PODRIAN PROGRAMARSE CON UN PROGRAMADOR DE PIC USANDO EL ISCP (IN CIRCUIT PROGRAMMER)
La seccion del ICPROG es para leer o escribir tarjetas basadas en PIC, inclusive hay un loader destinado a programar la memoria interna, el circuito que dejastes es el que necesita facundo (phoenix/smartmouse) que nada tiene que ver con el programador de ICSP para los PIC, el se refiere a la SIMCARD de un telefono celular no a una tarjeta con PIC.
-
bueno, "...todo depende de cierto punto de vista."
(Obi Wan Kenoby)
El Retorno del Jedi
A mi me parece que el circuito que menciona la revista funge de programador serial en el circuito ICSP.... esta diseñado para una tarjeta smartcard que la norma iso7816 llama ID-1 (tipico tamaño de una tarjeta de credito). las SIM de telefonia GSM, son identicas (excepto quiza en composicion interna) y se les denomina ID-000. una ID-000 no es mas que una ID-1 con unas perforaciones alrededor de los contactos que permitan con traccion mecanica desprenderla del resto del plastico... si consigues una tarjeta sim en blanco (Sin el COS Card Operating System) puedes programarla en este mismo lector, simplemente recolocandola en la superficie de tarjeta ID-1 de donde fue desprendida con cinta plastica... esto porque la ubicacion de los contactos dorados esta estandarizada.
y para ello usarias el icprog y el lector/programmer de la revista en lugar de un conocido programador de PIC JDM. cse me ocurre que la otra manera es hacer corresponder las lineas del programador jdm con los contactos del SIM e intentarlo asi.. de hecho se parecen
ambos tienen I/O <--> PGD, CLK <---> PGC, PGM <--> GND, VDD <---> VCC y VPP....
Bueno, claro, si me equivoque e interprete mal la pregunta
Lo siento!!!
:-)
Saludos
-
Daniel, no estas equivocado, pero lo que pretende facundo es leer el contenido de la agenda de una SIM que este funcionando, en honor a la verdad nunca programe una SIM, no estoy en condiciones de afirmar que pueda programarse on un JDM, a pesar de que corresponden las lineas no se si la tension de VPP por ejemplo es igual la de un PIC por ejemplo, si te fijas en el link de maxking hay tarjetas ID-1 con prosesadores ATMEL, con los mismos contactos y no se pueden programar con un JDM, y cualquier trajeta que posea un sistema operativo sin importar el procesador con un lector phoenix podria leerse o escribirse.
-
Hola amigo Pikman...
ahora si entendi... eso si creo que está ligeramente complicado... existen procesos de encriptacion algo complicados entre un sim (o cualquier smartcard) y su lector.... sobretodo en el caso de una sim... recuerda que una sim ya escrita es una linea de telefono por si sola, con una asociacion a un saldo a favor del dueño, con una serie de datos personales y no es un servicio al portador... por ello la sim lleva asociada un PIN (personal identification number) o contraseña de 4 digitos... se debe poder averiguar, pero personalmente ignoro cuales son las llaves de encriptacion que intercambian un lector (en este caso un telefono movil) y su Smartcard (en este caso una SIM)... de hecho, hay sims que no se pueden cambiar de telefono, porque han sido limitadas para seguridad del dueño...
ah, y en la mayoria de las tarjetas nuevas VPP no se encuentra en uso, ha sido descontinuado su uso, pero por respeto a la norma se mantiene el contacto. actualmente el voltaje de programacion de la EEPROM y el chip en si es generado en el propio chip internamente....
este dato se puede ver en el libro "John Wiley & Sons - Smart Card Handbook" (muy bueno lo recomiendo) ahora... si consigues sim nuevas (sin nada, virgenes) las podrias usar para guardar y recuperar libretas de direcciones, porque tu sabrias como las programaste y ordenaste y dejarias nulas (o las fijarias y sabrias tu mismo) las normas de seguridad..
Si alguien encuentra mas informacion, soy todo oidos!!!
:-) :-/
Saludos
-
Muchas Gracias Dancrazy. Lo que estaba necesitando es el circuito que me pasaste , es similar al circuito de un phonix o TE-20 y gracias a dios sirve para leer y escribir tarjetas Goldwafer (sim) silver card. Distintos modelos de sims.
Voy a ponerme a trabajar en este proyecto. Si alguien me ayudaria estaria encantado de ir haciendolo mientras ustedes me brindan consejos.
Primero pensaba probarlo en un protoboard. Espero que entre en el mio porq no es muy grande.
Me qedo una duda los transistor IC2f o IC2c o ICDd etc como los pido en la casa de electronica? los pido como 74HC04??
Desde Ya muchas gracias Y espero que me sigan en mi proyecto!
-
Hola amigo facundo. de la misma revista
EVERYDAYS PRACTICAL ELECTRONICS mayo 2006 (me equivoque, actualemte no tiene pagina web)
en amazon la venden en http://www.amazon.com/Everyday-Practical-Electronics/dp/B0000DBJF0...
pero fue la edicion del año pasado... antes podias comprarla en digital... bueno, te envio una captura de la lista de accesorios del proyecto del lector escritor de SmartCard para que te guies. y el plano, ademas de una foto.
ademas en una de las fotos esta el nombre de el autor del articulo, muy importante por los derechos de autor :-) :/
espero que les sea de utilidad...
Saludos
-
Dancrazy, este material que has publicado, ¿es de libre distribución o tiene copyright?. Si fuera el segundo caso convendría que modificaras tu post y lo retirases. Gracias
-
Bueno, realmente no tengo idea, pero como es una informacion de revista, me parece que uno puede utilizar la informacion siempre y cuando haga referencia a la publicacion y el autor.... pero no estoy seguro
la pagina web de la revista es http://www.epemag.wimborne.co.uk/0506.htm
si alguien sabe de eso, porfa digame
-
Hola.. Muchas gracias por el circuito es de mucha ayuda. Alguein podria ayudarme o guiarme para hacer un buen PCB . Ya que se la tecnica antigua la del marcador indelebre alguien tiene alguna tecnica facil y que me ayude.=?
-
DanCrazy si me podes pasar el PCB de el lector ya que me estoy armando una INSOLADORA :) y voya probar que tal me va.
Ya me monte una insoladora Si me podes pasar el PCB. Te lo agradeceria.
http://img460.imageshack.us/my.php?image=facu027qj0.jpg
Fotos de la insoladora terminada
Tubos luz blanca
-
Saludos Amigos.....oigan en que va todo esto del lector de SmartCard?, alguien ya probo el circuito que se muestra aqui?.
He comenzado a interesarme por este proyecto, me gustaría poder leer una SmartCard con un Microcontrolador PIC, por lo menos leer el ATR. ¿Alguien ya ha conseguido esto?. Agradecería mucho cualquier informacion relacionada con esto.......Gracias y un saludo.
-
Cuando decis ATR te referis al numero de Serie de la tarjeta ? Yo creo que si uno saca eso esa importantisimo para luego generar con tarjetas comunes comolas de un celular un sistema de seguridad que lee los numeros de serie de las smartcard y si el numero de serie del chip gsm concuerda con los datos grabados en la epromm del pic, se activaria un rele y eso activaria una cerradura de una puerta el proyecto Funcionaria perfecto. Yo encontre un lector mucho pero mucho mas facil en la misma revista es menos complejo. Que te parece si nos ponemos manos a la obra ? Ya que este circuito lo veo un poco complejo para solo leer una smartcard. Vi uno mas pequeño si te interesa lo publico
-
La verdad es que si me interesa, ojala pudieras publicarlo para ponerse a chambear en eso...
Tu idea de activar un sistema de alarma con solo leer el ATR es bastante buena y no parece dificil.
Ojala pudieras pubicar tu diagrama. Gracias y un saludo a todos.
-
Bueno, me parece que activar/desactivar una alarma con el ATR no me parece una buena idea pues pueden haber mas de una tarjeta con el mismo ATR, Answet To Reset, es una trama que envia la tarjeta al lector o dispositivo de lectura, para que este sepa, que convenio logico debe usar, protocolo, tension de trabajo, frecuencia de trabajo etc, por lo tanto usarlo como 'llave' de un sistema de seguridad, es lo ultimo que se me ocurre, lo que si se puede hacer es, usar la tarjeta como llave, comunicandose con ella, y bueno se puede por ejemplo utilizar un sistema de chalenge/response, en donde el lector le envia una trama de datos al la tarjeta y la tarejta debe procesarla de alguna manera y responder al lector, de esta manera, podriamos saber si la tarjeta esta autorizada o no, y despues ver si activa o desactiva la alarma, por ejemplo, la trama de datos a enviar podria generarse usando un rtc en la alarma o lector, que provea la fecha y la hora, y con esto generar una variable, que jamas seria igual, enviarsela a la tarjeta y que ella dentro mediante un algoritmo calcule una respuesta, luego usando el mismo algoritmo en la alarma o lector comparamos si es correcta y despues podemos decir que reconocimos al 'dueño' de la alarma.
-
Vos te referis a que el lector envie algun tipo de algoritmo (numero a la tarjeta) y que esta lo ordene, de tal forma que algunos digitos concuerden con la base de datos del circuito y accione algo ?
-
Hola, como estan, bueno ante todo muchas gracias por la publicacion es muy util e instructiva, foros como estos son los que realmente valen la pena, voy a implementar el lector ya que tengo 2 celus y quiro tener los 2 numeros en ambos telefonos y no deseo cambiar los chips (no me gusta), aca les dejo un link bastante piola que ayuda a hacer esto, espero les sea util, no me parece que hacer un backup de mi propio chip y cuenta sea ilegal, saludos.
-
perdon me olvide del link jeje :shock:
http://foro.portalhacker.net/index.php/topic,11723.msg46343.html
-
Hola,
He estado leyendo este post donde hablais de la comunicación de una SmartCard mediante puerto serie y me ha parecido interesante.
Actualmente estoy intentando construir una PCB que comunica un lector de tarjeta inteligente con un pic18f97j60. El pic tiene dos USART (que ya uso) y viene con el driver Ethernet integrado (lo cual es importante en mi aplicación).
La cosa es que para comunicarme con la tarjeta estoy intentando usar el driver NCN8025A y no tengo muy claro si la comunicación con el pic es por SPI o por I2C. ¿Alguien ha usado este chip y puede darme algunas notas de aplicación?
Por otro lado, tengo que pensar en hacer un circuito de adaptación normalmente abierto y normalmente cerrado para la entrada del lector a la PCB. ¿sabéis cómo son estos circuitos?
Muchas gracias y a ver si tengo suerte y alguien lee mi pregunta :)