2009-02-04 15 views
15

¿Alguien podría explicarme en términos programáticos simples cómo funcionan estos dongles clave RSA? Sé que Blizzard los tiene para WoW y para PayPal, así como para algunos de los sitios de negociación.¿Cómo funcionan los llaveros rsa?

Gracias!

Respuesta

25

El llavero tiene un reloj y un número de serie que se utiliza como semilla para un PRNG. Cuando presiona el botón "mostrarme un código", el mando muestra un número que es el producto de esa marca de tiempo y el número de serie se ejecuta a través del PRNG. El servidor conoce el número de serie y la hora de su mando, y realiza la misma operación. Si tus códigos coinciden, estás autenticado.

Puede calcular los N valores anteriores/siguientes en el extremo del servidor para tener en cuenta el sesgo del reloj.

+4

PRNG = generador de números pseudoaleatorios – joeforker

+0

El mando de PayPal usa uno de los dígitos para la sincronización, lo que le da al servidor otra forma de compensar el sesgo del reloj. – joeforker

+0

gracias. Pensé en eso, luego agregué un enlace; Sin embargo, tu comentario me golpeó hasta el golpe. :) –

2

Términos programáticos no son necesarios. Solo imagine dos piezas de hardware (su dongle y algo en la empresa) que generan los mismos números en los mismos intervalos programados regularmente. Sería prácticamente imposible adivinar cuál es el número debido a algunos algoritmos propietarios, por lo que si el número que escribe (o el dongle lo envía automáticamente) coincide con el número en el servidor, su identidad se validará.

Al menos con el dongle que tengo, también tienes que proporcionar un pin que solo tú y el servidor conozcas. Entonces, para ser autenticado necesitas algo físico y algo en tu cabeza. Esa combinación es bastante difícil de falsificar. Incluso si alguien recibe el dongle, a menos que conozcan tu pin, no vale nada. Y si conocen tu pin, esa información no tiene valor sin el dongle.

1

Security Now! episode 103 habla de cómo funcionan. (Ese enlace es para las notas del programa, pero hay un enlace en la parte superior de la página para el podcast de audio.)

Básicamente, el llavero se sincroniza con un servidor y ambos se siembran para generar la misma secuencia de números pseudoaleatorios. El servidor sabe que eres tú si ingresas el número correcto en el momento adecuado.