Buenos días,
Como algunos saben, he estado muy activo en este foro durante los últimos días. En mis intentos de aprender sobre la seguridad, he publicado una gran cantidad de "basura" en los términos de protección real.
Antes de la semana pasada no tenía conocimiento sobre la protección de datos y espero que mi anterior estupidez no haya borrado a nadie de la manera incorrecta.
Esto es lo que se me ha ocurrido al usar el código de este foro, los consejos de sus miembros y un montón de tiempo dedicado al aprendizaje.
-
La contraseña del usuario es de 8 dígitos, 0-9. Esto lo establecen los administradores utilizando un generador aleatorio (para ser único) y no es algo que pueda cambiar. Entiendo la debilidad de esto, pero solo puedo trabajar con lo que tengo.
-
Un cheque. Esto lo estableceré cuando compile la base de datos para aumentar la entropía sin pedir demasiado a los usuarios. Se generará aleatoriamente a partir de 96 caracteres diferentes (Tabla ASCII - 32 a 126, más 128 & 163)
Esto daría una entropía de 10 * 10 * 10 * 10 * 10 * 10 * 10 * 10 * 96 * 96 = 921600000000
- La sal se genera aleatoriamente como 512 Bits (128 de longitud)
InputPassword="12345678"
InputCheck="K)"Contraseña = Contraseña & Compruebe
Salt = CryptGenRandom (512)
SaltedPassword = Contraseña & SalCryptHash = CryptHashData (SaltedPassword, CALG_SHA_512)
Para i = 0 a 9999
CryptHash = CryptHashData (CryptHash & Password & Salt, CALG_SHA_512)
SiguienteSalida = CryptHash & Sal
Display (Salida)
El estiramiento anterior aumentaría la cantidad de hashes para cada estimación en 10,000. Convertir 921600000000 en 9216000000000000. Contra el ataque de 10000000000 H / S podría llevar 1,75 años (en cuyo momento se cambiarían las contraseñas).
¿Estoy empezando a ir por el camino correcto o estoy completamente fuera de lugar?
Ian