Re: Seguridad en PostgreSQL

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Victor Lopez <v(dot)lopez(dot)s(at)ono(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Seguridad en PostgreSQL
Date: 2006-11-27 13:18:21
Message-ID: 20061127131821.GX4432@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Victor Lopez escribió:

> MD5 es un algoritmo, llamemosle, de un solo sentido.
> Por eso, si encriptamos la 'clave, no conocemos esta ... solo el 'MD5'
> resultante.
>
> El funcionamiento es mas o menos, desde el punto de vista del gestor, así
> (generalmente):
> 1-Me dan una clave.
> 2-La guardo temporalmente, mediante alguna variable que solo yo (el sistema
> gestor) se donde está.
> 3-Le aplico la encriptación.
> 4-Comparo el resultado con lo que está almacenado en .... la base de datos, un
> archivo de texto plano, etc.
> 5-Si coinciden, el usuario es valido.
>
> De esta manera NADIE ve la clave, a partir de lo que lea en el 'almacén de
> claves encriptadas'.
>
> Tampoco puede utilizar las 'claves encriptadas' para darselas al gestor e
> intentar engañarlo (puesto que cuando el gestor aplique la encriptación sobre
> este 'engaño' el resultado no sera válido).

Bueno, lo que falta en este análisis es que el algoritmo MD5 fue "roto",
es decir, se encontró una manera de generar un trozo de texto que genera
una cierta "clave encriptada". O sea si un atacante tiene una clave
encriptada, podría generar un texto que no necesariamente es la clave,
pero que sí da acceso a los datos.

El punto débil de ese ataque es cómo obtiene un atacante dicha clave
encriptada. Queda de "ejercicio para el lector" el determinar por qué
un atacante no puede obtenerla, sin haber roto antes la seguridad del
sistema.

Hint: en Unix, /etc/shadow tiene permisos de lectura solo para el
superusuario. En Postgres, la tabla con las contraseñas también.

Otro hint: las contraseñas encriptadas no viajan por la red, sino que
viajan encriptadas una segunda vez.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Martin Marques 2006-11-27 13:58:07 Re: numrow
Previous Message Raúl Andrés Duque 2006-11-27 12:52:00 Re: [pgsql-es-ayuda] Visual Basic 6 conexión con Postresql 8.1.4 con PgOleDb