Recomendación cifrado/hash.

Iniciado por Xyzed, 28 Abril 2021, 04:12 AM

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

Xyzed

Hola.

Estoy dudando acerca de que cifrado/hash es recomendable utilizar hoy en día para proteger las contraseñas de una base de datos SQL.

¿Cuál recomendarían/utilizarían ustedes?, ¿existe la necesidad de utilizar uno u otro según la circunstancia de uso que se le da?


Saludos.
...

Danielㅤ

#1
Hola, podes usar AES256 o AES512 y si querés aún más seguridad podes usar un Salt.




Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

el-brujo

pues la idea es utilizar un cifrado que se considere actaulmente "seguro"

¿Es una aplicación en php?

PHP tiene varias funciones seguras de cifrado.

Y todos los lenguajes suelen tenerlo.

Xyzed

Cita de: [D]aniel en 28 Abril 2021, 06:56 AM
Hola, podes usar AES256 o AES512 y si querés aún más seguridad podes usar un Salt.

Saludos
Hola @[D]aniel.

Ahora me pondré a investigar acerca de AES256 y AES512, me suena el concepto pero no los conocía.

Gracias por la respuesta.




Cita de: el-brujo en 29 Abril 2021, 11:54 AM
pues la idea es utilizar un cifrado que se considere actaulmente "seguro"

¿Es una aplicación en php?

PHP tiene varias funciones seguras de cifrado.

Y todos los lenguajes suelen tenerlo.
Hola, es una aplicación web que correré con django en sqlite3.

Con la misma base de datos interactuará una app que estoy desarrollando en Python, es un proyecto que incluye la omnicanalidad.

Es decir, es prácticamente todo Python. De todas formas, quizás utilice algún que otro archivo en php.

Utilice anteriormente MD5/SHA1/WHIRLPOOL para php, pero hoy en día veo que hay muchas web´s que contienen millones de datos descifrados como por ejemplo: crackstation.net


Saludos.
...

Danielㅤ

Cita de: Xyzed en 30 Abril 2021, 01:47 AM
Hola @[D]aniel.

Ahora me pondré a investigar acerca de AES256 y AES512, me suena el concepto pero no los conocía.

Gracias por la respuesta.


Muy bien, te será muy útil

¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

WHK

#5
Cita de: el-brujo en 29 Abril 2021, 11:54 AM
pues la idea es utilizar un cifrado que se considere actaulmente "seguro"

¿Es una aplicación en php?

PHP tiene varias funciones seguras de cifrado.

Y todos los lenguajes suelen tenerlo.

Por lo general no se recomienda utilizar los mecanismos de cifrado de los lenguajes ejecutados del lado del servidor, los mismos motores de bases de datos integran por defecto soluciones altamente seguras y robustas para la gestión de contraseñas, por ejemplo la de bcrypt que dentro de su mismo hash contiene su coste y salt altamente seguros, incluso contra ataques de fuerza bruta.

En mi caso utilizo Spring con Bcrypt con un alto coste, hoy por hoy está muy aceptado en el mundo del desarrollo utilizar este método ya que lo soportan muchos motores de bases de datos y vienen integrados por defecto en casi todos los lenguajes de programación ejecutados del lado del servidor.

CitarEstoy dudando acerca de que cifrado/hash es recomendable utilizar hoy en día para proteger las contraseñas de una base de datos SQL.

Mira:

https://stackoverflow.com/questions/2647158/how-can-i-hash-passwords-in-postgresql
https://docs.djangoproject.com/en/3.2/topics/auth/passwords/#using-bcrypt-with-django

Citar¿Cuál recomendarían/utilizarían ustedes?

Por lo general uso Java Spring Boot con modelos de datos en persistencia, hibernate, JPA y hasheo con Spring Security + Bcrypt con coste de salt en sha256 y postgres 10.

CitarAhora me pondré a investigar acerca de AES256 y AES512, me suena el concepto pero no los conocía.

Ojo, no todos los algoritmos de cifrado sirven para todos los casos, algunos son mas efectivos que otros, especialmente cuando se necesita un hash de ua sola vía, en el caso de AES, tampoco es mas seguro que blowfish (algoritmo que utiliza bcrypt), tampoco tiene integridad cuando necesitas manejar contraseñas, no tiene salt integrado ni costes dinámicos, debes integrarlo manualmente y ahi pueden haber riesgos si te equivocas, AES no se adapta a la necesidad de un servicio WEB donde dependiendo del caso el coste y el performance pueden ser desicivos, en cambio bcrypt está totalmente preparado para este tipo de ambientes y es totalmente configurable y seguro. En lo personal no recomiendo AES para hacer hash de contraseñas en un servicio WEB.

Mira esto: https://stackoverflow.com/questions/30028499/does-bcrypt-uses-aes-448bit-encryption

Saludos.

@XSStringManolo

Yo te recomiendo utilizar argon2di, o scrypt.

Mira comparaciones.

Uno de los problemas con los SHA y HMAC-SHA es que son muy rápidos. Y eso no es bueno para seguridad. A más rapido se generan los hashes, más rápidos son de crackear también.
HMAC-SHA a diferencia de SHA usa una clave para cifrar el hash, asique si te hacen un dump con un sqli, no lo pueden romper sin averigurar la contraseña del servidor.

Hay varios artículos que lo explican.
https://medium.com/analytics-vidhya/password-hashing-pbkdf2-scrypt-bcrypt-and-argon2-e25aaf41598e

PBKDF2 usa varias pasadas de HMAC-SHA.


WHK

Cita de: @XSStringManolo en  1 Mayo 2021, 04:48 AM
Yo te recomiendo utilizar argon2di, o scrypt.

Lo has utilizado alguna ves en algún proyecto?

@XSStringManolo

#8
Cita de: WHK en  1 Mayo 2021, 05:38 AM
Lo has utilizado alguna ves en algún proyecto?
Argon2 sí, tienes versión online y libs para todos los lenguajes. Scrypt lo vi muchas veces recomendado pero nunca lo probé.
https://argon2.online/