Estándares de hash en el software front-end DB

0

¿Existe algún estándar real para el hash cuando se trabaja con contraseñas de usuario en el desarrollo de software no basado en la web?

Antes, solo he manejado contraseñas en Php, donde hash es imprescindible dada la disponibilidad abierta de la web.

En una aplicación que actúa puramente como una interfaz de una base de datos almacenada localmente, sin interacción con Internet (al menos no en lo que respecta a las contraseñas), ¿cómo se almacenan y manejan las contraseñas? Seguramente no se almacenan como texto simple, ya que parece una idea terrible, independientemente de lo seguros que sean los sistemas. En este momento, lo mejor que tengo es almacenar una contraseña Hashed y un Salt por separado en la base de datos. En mi experiencia, incluso almacenar la sal por separado es una mala práctica.

Tampoco puedo encontrar mucha documentación cuando se trata de prácticas para una solución no basada en la web. Tuve que realizar varias conversiones y manipular la contraseña manualmente para trabajar con el espacio de nombres (system.security.cryptography).

Teniendo en cuenta que no se puede esperar que todos los desarrolladores se preocupen lo suficiente por el esfuerzo, yo esperaba que hubiera una serie de bibliotecas y herramientas para ayudar a que la tarea sea lo más sencilla posible.

Editar: Solo para aclarar, estoy buscando la forma en que estas prácticas cambian (si las hay) para las aplicaciones locales, y si hay un estándar separado a seguir para trabajar en un entorno local.

(Estoy trabajando con C # .NET por cierto si eso cambia algo)

    
pregunta lewis 06.07.2017 - 15:18
fuente

1 respuesta

3

Los estándares realmente no cambiarían de la web al almacenamiento local, con la excepción de algunos de los detalles de la implementación. El hash sigue siendo una técnica de defensa en profundidad para proteger en caso de un almacén de datos comprometido para ambas situaciones. Las preferencias siguen siendo:

  1. Si puede salirse con la suya, no almacene nada.
  2. Si necesita almacenar una contraseña, haga un hash con un salt usando una función de derivación de claves (KDF)
respondido por el user52472 06.07.2017 - 16:33
fuente

Lea otras preguntas en las etiquetas