Autor Tema: PIC generedor de Keygen ..o el Keygen-TodoPic  (Leído 2742 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
PIC generedor de Keygen ..o el Keygen-TodoPic
« en: 02 de Noviembre de 2009, 15:54:49 »
Hola a todos....resulta q viendo un equipo q hizo un amigo del gym  sobre gimnasia pasiva, vi que para la seguridad del equipo implementó un "keygen". el pic arroja un numero "aleatorio" de 4 cifras y segun determinado algoritmo a ese numero le corresponde una contraseña....entonces me entró la curiosidad y las ganas de hacerme un keygen.....pero entonces como definir la aleatoriedad y asi mismo la contraseña del numero arrojado?...desde ya  gracias por la ayuda
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado Menta

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 607
Re: PIC generedor de Keygen ..o el Keygen-TodoPic
« Respuesta #1 en: 02 de Noviembre de 2009, 16:14:19 »
Una forma de obtener números aleatorios es con alguna entrada analógica "al aire" de esta forma lo que ingresa es ruido y la naturaleza de éste es aleatoria, por lo cual puedes realizar varias lecturas y tomar el bit menos significativo (1 o varios) y así formar un número con ellos. Luego la fórmula de codificación la puedes hacer de mil formas, yo usaría varias funciones matemáticas anidadas, no tiene que ser algo muy complejo, aunque de eso depende el nivel de seguridad.
El pic entonces genra un número al azar cuando se le ordena hacerlo, después pide un código que va a comparar con el calculado internamente... si no coincide debería generar una demara para poder ingresar el código nuevamente, esta demora se debería incrementar exponencialmente con cada intentaço para evitar el uso de fuerza bruta...
     

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: PIC generedor de Keygen ..o el Keygen-TodoPic
« Respuesta #2 en: 02 de Noviembre de 2009, 17:44:12 »
Hola

Asta donde tengo entendido para generar números aleatorios requieres lo que en programación llaman semilla a partir  de  esta variable se genera el numero aleatorio aunque generar este numero aleatorio no es cosa fácil. ya que es a base de matemática  por lo cual es posible  hacer reversible tu procedimiento (descubrir el algoritmo por el cual generaste tu numero).
En el caso que te recomiendan una entrada analógica al aire la semilla no seria complejo descubrirla  ya que aunque su valor sea ruido y dependa de la naturaleza, su valor mínimo y máximo si son conocidos en caso que tu a/d este a 8 bit serian valores de 0 a 255 .
Otro método utilizado para generar esta semilla es el rtc de tu sistema (reloj) lo cual tampoco es muy recomendable por razones  obvias por lo cual es mas bien utilizado en ejercicios  didácticos.
Ahora que quede claro la idea en si en buena y no seria cosa   fácil romper tu código  pero alguien con los conocimientos, tiempo y las ganas de joder, terminaría por descubrir la forma en que se general las claves.

Saludos

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: PIC generedor de Keygen ..o el Keygen-TodoPic
« Respuesta #3 en: 02 de Noviembre de 2009, 19:21:18 »
psss si no habia pensado la idea de menta...pero claro q no seria aleatorio el numero porque dependeria de que tanto ruido le entre al canal...y ya ye sabria el numero maximo y minimo...no se que tan probable sea que se pueda generar un numero aleatorio, y como dice septiembre negro partiendo de un numero conocido si es descubierto se podrian conocer todas las contraseñas...ya que la aleatoriedad es casi nula..yo habia pensado en definir una ruleta de 4 cifras y al hacer el detenimiento de la ruleta al numero que quedó aplicarle el algoritmo para generar su contraseña

PD. mirando la ayuda de CCS hay algo que se llama rand(); y srand(); alguien la a utilizado?
« Última modificación: 02 de Noviembre de 2009, 19:25:32 por jhozate »
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: PIC generedor de Keygen ..o el Keygen-TodoPic
« Respuesta #4 en: 02 de Noviembre de 2009, 19:42:46 »
Puedes elevar exponencialmente el número de posibilidades usando el método del adc abierto.

Mides 1 vez, tienes 256 diferentes posibilidades. Mides una segunda vez y multiplicas por lo anterior, tienes 256^2 posibilidades. Mides una tercera vez y multiplicas por lo anterior, tienes 256^3 posibilidadesy así sucesivamente.

Cuatro lecturas y tendrás 4294967296 posibilidades   :mrgreen: Ya solo aplicas alguna operación matemática a aquello y lo reduces al rango de aleatorios que tú buscas.

Ahora, si temes que descubran la raíz de tu aleatorio... pon el pic a lado de un motor de trifásica y verás que lindo se genera un número impredecible... además de que la raíz siempre será nueva porque el pic se reseteará como nunca  :D

Por cierto, rand() es pseudoaleatorio por lo que los números serán random pero serán siempre los mismos.

Desconectado Menta

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 607
Re: PIC generedor de Keygen ..o el Keygen-TodoPic
« Respuesta #5 en: 03 de Noviembre de 2009, 20:28:26 »
psss si no habia pensado la idea de menta...pero claro q no seria aleatorio el numero porque dependeria de que tanto ruido le entre al canal...y ya ye sabria el numero maximo y minimo...no se que tan probable sea que se pueda generar un numero aleatorio

el máximo y mínimo se saben? NO, depende de cuántos bits sea tu clave...
pero a ver... pongámonos de acuerdo,
1º el número aleatorio no es el que te tienen que adivinar, el que te tienen que adivinar es el resultado de los procesos que tu le hagas a ese número.. estoy en lo correcto???
2º para que la clave no la saquen por fuerza bruta, ya lo expliqué antes, aun con sólo 8 bits si usas unos cuantos retardos es practicamente imposible que lo logren...
3º el nivel de ruido en los últimos 2 bits con la pata al aire para mí es bien aleatorio, me refiero a los bits de menos peso que en el caso de tomar de 0 a 5 voltios el último bit indica menos de 20mV y si configuras el adc a 10 bits es de menos de 5mV. Realizas varias lecturas como dijo migsantiago y conformas así tu número.
     

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Re: PIC generedor de Keygen ..o el Keygen-TodoPic
« Respuesta #6 en: 04 de Noviembre de 2009, 03:26:44 »
Uno dificil de romper:
generas un número aleatorio, por ejemplo con la entrada analógica, supongamos que sale el 123.
Desde fuera del PIC coges el 123 que te da el PIC y eliges una clave cualquiera, por ejemplo 1234.
Los pasas por un hash de MD5 ( en google mismo )
1231234-->MD5= 8b353d5cc07e13577608711f4602fcb7
Coges por ejemplo los 4 últimos bytes y le pasas al PIC tu clave que has elegido 1234 y los 4 bytes fcb7
Implementas un hash MD5 en el PIC (lo hay por ahí ya hecho...) y haces con el PIC 1231234-->MD5 (el 123 lo generó el PIC y el 1234 lo has elegido tú en el momento) y compruebas que los últimos 4 bytes son fcb7 que le has introducido.
Como tú decides la longitud de la clave que introduces, creo que por fuerza bruta lo llevan claro...
Si no te leen el código del PIC, dudo que nadie lo rompa.

Salu2
« Última modificación: 04 de Noviembre de 2009, 03:36:15 por droky »
Yo... he visto cosas que vosotros no creeríais... atacar naves en llamas más allá de Orión, he visto rayos C brillar en la oscuridad cerca de la puerta Tannhäuser.
Todos esos momentos se perderán en el tiempo como lágrimas en la lluvia.
Es hora de morir.

Si me buscas en twitter, me tienes por @radikaldesig

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: PIC generedor de Keygen ..o el Keygen-TodoPic
« Respuesta #7 en: 04 de Noviembre de 2009, 10:31:14 »
interesante droky..voy a averiguar lo del hash MD5...es una buena solucion....yo no queria utilizar operaciones matematicas para  poder generar la contraseña..por q en un contexto real pss tocaria papel lapiz y calculadora para meter la contraseña y seria algo engorroso
gracias..
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: PIC generedor de Keygen ..o el Keygen-TodoPic
« Respuesta #8 en: 04 de Noviembre de 2009, 19:24:46 »
Mmm si te quieres evitar  entrarle a las matemáticas  y todo est. por que no pruebas con los id button de maxim cada  uno de estos dispositivos tiene una clave gravada  única e irrepetible  adema que los procesos de comprobación están documentados por el fabricante.
Personalmente no los e probado pero se de buena fuente que son una buena solución y económica.
Un compañero se enfrento al problema de validar a los usuarios que tendrían acceso a algunos equipos de oficina .investigo varias opciones, teclado de matriz, lector de cinta magnética, rf id. Y al final implemento los id button



Desconectado serch

  • PIC10
  • *
  • Mensajes: 2
Re: PIC generedor de Keygen ..o el Keygen-TodoPic
« Respuesta #9 en: 04 de Noviembre de 2009, 22:31:13 »
Hola yo tengo una aplicacion donde necesitaba generar un tiempo aleatorio con el Pic

Lo que hice fue poner a correr el timer libremente

En la aplicacion la PC mandaba un comando al pic y de alli se tenia que generar el tiempo aleatorio

Cuando me llegaba el comando leia el timer y lo multiplicaba por un numero establecido para que me diera un tiempo "humano"

Pude generar tiempos muy cortos y muy largos del orden de 3 seg..........que es una eternidad para un micro

Saludos

Serch

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: PIC generedor de Keygen ..o el Keygen-TodoPic
« Respuesta #10 en: 05 de Noviembre de 2009, 00:58:03 »
Yo he usado los iButton para esos fines tambien. Son economicos y durables. Goooooglea el DS1990A.

Saludos
El papel lo aguanta todo

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: PIC generedor de Keygen ..o el Keygen-TodoPic
« Respuesta #11 en: 05 de Noviembre de 2009, 19:54:48 »
bueno puede ser q me este complicando mucho, pero la idea es q el pic arroje un numero y que solo yo al momento de ver el numero sepa la contraseña..entonces debe haber una relacion directa y sencilla entre el numero arrojado y la contraseña, pero obviamente con esa relacion tan "directa y sencilla" cualquiera con poco tiempo se da cuenta de q se trata.
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA