Nuevo en Symfony 3.4: codificador de contraseñas Argon2

Symfony recomienda usar Bcrypt para codificar las contraseñas de las aplicaciones. Bcrypt está especialmente diseñado para almacenar contraseñas a largo plazo y tiene soporte nativo en PHP.

No obstante, como el ámbito de la seguridad es tan cambiante, cada día surgen nuevas recomendaciones y buenas prácticas. Últimamente, el algoritmo de codificación Argon2 se está poniendo de moda, especialmente desde que en 2015 ganó un concurso de codificación de contraseñas. Tanto es así que PHP 7.2 (que se publica a finales de 2017) incluye soporte nativo para Argon2.

Así que hemos decidido incluir un codificador de contraseñas Argon2 en Symfony 3.4. Si no usas PHP 7.2, lo primero que tienes que hacer es añadir soporte para Argon2 instalando la extensión PHP Libsodium en tu servidor o añadiendo la librería libsodium-php como dependencia en tu proyecto. Después, ya puedes usar el algoritmo argon2i en la configuración de seguridad de tu aplicación:

# app/config/security.yml
security:
    # ...

    encoders:
        Symfony\Component\Security\Core\User\User:
            algorithm: 'argon2i'

En las aplicaciones ya existentes, no es urgente pasarse a Argon2, siempre que uses Bcrypt con unos parámetros de configuración suficientemente seguros. Pero para nuevos proyectos, sí que puedes considerar empezar a utilizar este codificador.

Esta funcionalidad fue contribuida por Zan Baldwin en el Pull Request #21604.

Fuente: New in Symfony 3.4: Argon2i password hasher

Comentarios

Publicada el

3 de octubre de 2017

Etiquetas

Proyectos Symfony destacados

La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.