Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
[es-es] Uso de PASSWORD para encriptar las contraseñas
Hola a todos,
este es mi primer post así que pido disculpas de antemano si me salto alguna normal del foro :-)
Una pregunta que llevo tiempo haciendome es porqué Textpattern almacena las contraseñas de los usuarios encriptadas con PASSWORD.
Lo primero que hice hace tiempo fué mirar en la documentación de mySQL y, a pesar del cambio en la implementación de la función a partir de la versión 4.1, ellos mismos aconsejan que (cito sus palabras sacados de la documentación [1]):
Nota: La función PASSWORD se usa por el sistema de autenticación en MySQL Server; no debe usarlo en su propias aplicaciones. Para ese propósito, use MD5 o SHA1 en su lugar. Consulte RFC 2195 para más información acerca de tratar contraseñas y autenticación de forma segura en su aplicación.
¿Por qué no se cambia a SHA1 ? He mirado en el foro en castellano y en el internacional de Textpattern y no veo dos cosas: ni preguntas sobre el tema de la encriptación de las contraseñas ni respuesta a mi pregunta. El cambio de usar PASSWORD a SHA1 no implicaría más que cambiar 5 sencillas funciones (os lo garantizo, tengo una instalación de TXP funcionando con SHA1 ). Con lo sencillo que es ¿por qué no se hará el cambio? ¿Para ahorrarse problemas con las contraseñas de instalaciones ya en marcha? (no olvidemos que habría que pasar las contraseñas de PASSWORD a SHA1) ¿Merece la pena seguir así ‘por ahorrarnos un apretón’ de trabajo?
Un saludo a todos, ciao :-)
Offline
Re: [es-es] Uso de PASSWORD para encriptar las contraseñas
Personalmente pienso que se debe a una cuestión histórica. Fíjate que aun hoy en día el requisito para correr Txp es Mysql 3.23+. En esa versión ni siquiera existía la función SHA1. Habría que usar MD5, que si existía en esa versión. Pero MD5 genera un hash más débil que PASSWORD. Y claro, tampoco es cuestión de exigir una versión mayor de Mysql solo por poder usar SHA1.
De todas formas, personalmente tampoco lo veo tan problemático ¿no? Al fin y al cabo PASSWORD funciona y en la actualidad (desde el cambio en mysql 4.1) su nivel de seguridad es bueno. Entiendo que la gente de mysql no lo recomiende para las aplicaciones, sobre todo visto el lío que se armó cuando cambiaron el algoritmo en la versión 4.1 y muchas aplicaciones dejaron de poder usarse. De esta manera se quedan con las manos libres para cambiar el algoritmo cuando lo necesiten. Pero al fin y al cabo, tampoco es que lo cambien todos los días ¿no? :-)
Un saludo.
Offline
Re: [es-es] Uso de PASSWORD para encriptar las contraseñas
Hola Juanjo,
igual que tú me imagino que el motivo sea histórico: ya no por compatibilidad hacia atrás de la base de datos (no sé los datos exactos, ¿pero cuántas versiones de mySQL 3.23+ quedan por ahí? ) más bien creo que será para no obligar a regenerar contraseñas para todos los usuarios de alguna instalación de TXP (que para el administrador no sería más que marcar todas las casillas de usuario y darle al botón de regenerar contraseña). Estamos en lo de siempre: eficiencia vs efectividad. Pero como cabezota que soy no me vale con la de ‘siempre ha sido así, pués lo dejamos igual’. En ese caso, ¿por qué han ido mejorarndo los sistemas de cifrado? ¿por qué no haber seguido con el cifrado PASSWORD antiguo? Hummmm
Sé que tú no tienes la culpa de nada pero es que a veces esta forma de ser que tenemos los desarrolladores (de ‘funciona, pués no lo cambies’) es para matarnos :-)
Un saludo.
Offline