es seguro publicar llaves rsa publicas ???

Jens Hardings jens en hardings.cl
Dom Nov 25 10:20:11 CLST 2007


On Sat, 2007-11-24 at 21:50 -0300, Roberto Bonvallet wrote:
> El 24/11/07, Rodrigo Fuentealba <darkprox en gmail.com> escribió:
> > > deciendome que era muy peligroso publicar las llaves en internet.
> >
> > Lo es cuando son llaves débiles (MD5, SHA, etc), pero la llave pública
> > ES para aquello.
> 
> MD5 y SHA *no* son llaves, son funciones de hash.  Y tampoco es
> encriptación, lo que es un malentendido bastante frecuente:  un
> mensaje encriptado se puede desencriptar, pero a partir del hash no se
> puede obtener el mensaje original, sencillamente porque hay infinitas
> cadenas que entregan el mismo hash.

Sorprende la cantidad de información a medias que se maneja en general,
y las confusiones.

Roberto tiene razón en que MD5 y SHA no son llaves, sino funciones de
Hash. Y como tales tampoco manejan llaves. Simplemente convierten un
mensaje en un "hash" de largo fijo. En algunos casos, se usan para
esconder una password y que un servidor pueda verificar que un usuario
conoce una password, sin tener la password propiamente tal, sino
solamente este hash que se calcula en base a la password.

En el artículo citado se critica la forma en la cual Wordpress usa esa
técnica, porque se hace sin una parte fundamental, que es agregarle un
par de caracteres antes de encriptar (la "sal"). Eso se hace en el caso
de linux para esconder la password usando algún algoritmo conocido
(crypt, md5, etc.)

Claro que todo eso no tiene mucha relación con la criptografía
asimétrica (o criptografía de llave pública), donde la llave pública
justamente está pensada para ser publicada lo más ampliamente posible.
La idea es que un atacante malicioso que quiera calcular la llave
privada en base a la llave pública se demore un tiempo del orden de la
edad del universo. Hay varios algoritmos de los cuales se sospecha
fundadamente que cumplen con eso (claro que no hay demostraciones).
Dentro de ellos están los algoritmos utilizados por RSA y otros.

Ahora, siempre es posible tener la mala suerte que justo algún perejil
generó aleatoriamente el mismo par de llave pública y privada, y decide
publicar _ambas_ en una página web y así puedas usar Google para llegar
a encontrar la llave privada a partir de una búsqueda por la llave
pública. Pero la probabilidad es tan baja que conviene más confiar en
que eso no pasará en lugar de usar métodos alternativos al uso de
criptografía pública (como que alguien viaje con un maletín esposado a
la muñeca para entregar el mensaje secreto cada vez).

Saludos,
-- 
Jens



Más información sobre la lista de distribución Linux