Pregunta

Me pregunto cómo las compañías de telefonía móvil generan tanto PIN y PUK por sus tarjetas SIM?

Tengo una gran base de datos de códigos ya generados, esta base de datos contiene 3 columnas: * MSIN: Número de identificación del abonado móvil (10 dígitos) * PIN: Número de identificación personal (4 dígitos) * PUK: Personal Código de desbloqueo (8 dígitos)

Hasta ahora, tal vez ambas PIN y PUK se generan a partir de MSIN porque la columna MSIN está incrementando, mientras que otros, se generan con una lógica, algo así como;

MSIN            PIN     PUK  
1000000000      3234    20005627  
1000000001      5993    92870018  
1000000002      3465    30327846  
...

¿es posible saber cómo se generan estos seriales? Utilizando la base de datos existente es posible adivinar el algo usado?

Lo pregunto por el bien del conocimiento sólo a no utilizar la información proporcionada en cualquier actividad ilegal;)

Gracias.

ACTUALIZACIÓN

busqué cuántas veces se repiten algunos códigos PIN y encontré este

0000 –> 261 times
1111 –> 429982 times
2222 –> 275
3333 –> 233
4444 –> 279
5555 –> 277
6666 –> 242
7777 –> 263
8888 –> 249
9999 –> 242

el pasador 1111 se utiliza más que otros! así que quizás el algo se cambia de vez en cuando .. o allí hay lógica en absoluto en el interior: (

ACTUALIZACIÓN 2

He comprobado el MSIN y encontró que hacen que salta en el sistema incrementando, así, por ejemplo;

1011000000
1011000001
…              here they followed incrementing until 1011499999     
1011499999     and they jumped to 1031000000
1031000000
…              the same thing here
1031299999
1131000000
… 

Esto lleva a una idea que cada vez que quieran emitir nuevas tarjetas, digamos 500 000 tarjetas, que comienzan con una nueva MSIN que no sigue la regla de incremento en la base de datos y la puede cambiar el algo detrás de la generación de código (Es por eso que encontramos en algunos casos se emitieron todos los próximos tarjetas con pin 1111)

¿Fue útil?

Solución

La respuesta puede ir de muy fácil a bastante compleja .

Si tuviera que diseñar el sistema, la función f (Pin,Puk) = f(MSIN) no sería fácil de adivinar, y, por otra parte, no es reversible (es decir, si usted sabe (PIN, PUK) no se puede adivinar MSIN).

Debido a que el sujeto está en torno a la seguridad y el pago, es probable que pueda esperar una función compleja.

A menos que se documenta en algún lugar de la red (que lo dudo) que es muy poco probable que encuentre el f función.

Otros consejos

Si hacemos la suposición de que PUK / PIN se genera a partir del MSIN, hay un número casi infinito de maneras que podrían estar haciendo esto. Para poner un ejemplo (razonable), podrían estar utilizando un HMAC. Aun suponiendo que sabía lo algoritmo de hash que están usando, todavía habría que determinar la clave secreta, y el espacio de búsqueda para la que está en el orden de 2 ^ 160 (por HMAC-SHA1) - totalmente impracticable para buscar exhaustivamente.

La única posibilidad que tiene es si están haciendo algo estúpido, como el uso de un algoritmo fácil de adivinar o determinado para generar el PIN / PUK - y no hay ningún procedimiento mecánico práctico para trabajar en eso, solo ensayo, el error, y la intuición .

Por lo general, no es el operador de red móvil que genera el PIN y PUK. El fabricante de la tarjeta SIM hace esto a menos que se ordene lo contrario por parte del operador.

¿Qué te hace creer que se puede calcular SIM y / o PUK de la MSIN? Ni el operador de red ni el fabricante SIM tendrían ninguna ventaja de esto. Yo asumiría que códigos PIN y PUK son tan al azar como económicamente factible con el fin de poner en práctica la protección que se pretende.

Sin embargo, creo que el 1111 interesante anomalía. Es el derecho de la muestra desde la fabricación? ¿O se obtiene un vertedero HLR? Este último podría proporcionar una explicación para la acumulación 1111:. La gente cambia su PIN a algo fácil de recordar y escribir, 1111 sería el candidato más común para este

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top