Acerca de...
El equipo
Encuestas
Política de privacidad
WinTablets

Encuesta

¿Cual crees que triunfará?

Ver Resultados

Cargando ... Cargando ...

últimas entradas importantes

Categorías

Archivos

08
Jul 2017
Podcast

La paradoja de las contraseñas seguras, o si Pascal y Fermat levantaran la cabeza…

Desde hace tiempo se va extendiendo entre los servicios protegidos por contraseña la costumbre de pedir que éstas cumplan una serie de requisitos. Cada vez es más difícil encontrar un sitio donde no se exija que la contraseña tenga, por ejemplo, una letra mayúscula, una letra minúscula y un dígito, como mínimo. A priori, la lógica nos puede llevar a pensar que esto es algo positivo: una contraseña más enrevesada debe ser más segura. Y así sería, levemente, si los requisitos no fueran conocidos por quien pretende romper la seguridad, pero este no es el caso, así que ¿son realmente más seguras? La respuesta es no, y no sólo no son más seguras sino que, paradójicamente, lo son menos. Si quieres saber por qué, sigue leyendo.

El hecho de restringir las contraseñas que se consideran válidas, mediante la exigencia de una serie de requisitos, no es más que una forma de transmitir al usuario una falsa sensación de seguridad que, casi con toda probabilidad molestaría tanto a Pascal y Fermat, padres de la combinatoria moderna, como nos molesta a mí y a tantos y tantos usuarios, por obligarnos a tener que recordar contraseñas más complejas para nada.

Para comprender mejor el porqué de esta afirmación, lo ideal es un ejemplo y, como el mejor ejemplo es el más simple, vamos a ver el caso de una contraseña de 3 caracteres, que pueden ser letras, mayúsculas o minúsculas, o dígitos. Si colocamos libremente en cada una de las 3 posiciones cualquiera de los caracteres válidos (una mayúscula, una minúscula o un dígito) tendremos un total de 238328 combinaciones posibles, que no está nada mal para una contraseña de solo 3 caracteres de longitud. El número no me lo saco de la manga, claro. Tenemos 26 letras mayúsculas, otras tantas minúsculas y 10 dígitos, lo que nos da un total de 62 caracteres entre los que escoger el que colocaremos en cada una de las 3 posiciones de la contraseña, por tanto 62x62x62=623=238328.

Ahora agreguémosle algunas restricciones de «seguridad»: la contraseña debe contener al menos una letra mayúscula, al menos una letra minúscula y al menos un dígito. En nuestro ejemplo de 3 caracteres, esto se traduce en que las contraseñas válidas serán las que tengan un carácter de cada tipo. Visto desde el otro lado, todas las que no cumplen dicho requisito son contraseñas no válidas… Contémoslas:

  • primero descartamos los casos en que los 3 caracteres son del mismo tipo, son un total de 141608 combinaciones:
    • si son 3 números tenemos un total de 1000 (10x10x10) combinaciones
    • si son 3 letras (tanto mayúsculas como minúsculas) tenemos un total de 140608 (52x52x52) combinaciones
  • descartamos también los casos en los que hay 2 letras y un dígito, pero las 2 letras son mayúsculas o minúsculas, en vez de ser una de cada, que suman 40560 combinaciones:
    • las combinaciones de 2 letras mayúsculas son 676 (26×26), pero como estas 2 letras pueden distribuirse de 3 formas distintas (posiciones 1 y 2, posiciones 1 y 3 y posiciones 2 y 3) el total es 2028 (676×3) combinaciones
    • tenemos otras 2028 combinaciones para el caso de 2 letras minúsculas
    • como cada una de esas 4056 (2028+2028) combinaciones de 2 letras puede combinarse con un dígito en la posición restante, tenemos un total de 40560 (4056*10) combinaciones
  • por último descartamos también los casos en los que hay 1 letra y 2 dígitos, que suman 15600 combinaciones:
    • las combinaciones de 2 dígitos son 100 (10×10), pero como éstos pueden distribuirse de 3 formas distintas (posiciones 1 y 2, posiciones 1 y 3 y posiciones 2 y 3) el total es 300 (100×3) combinaciones; como para cada una de esas 300 combinaciones, la letra que colocamos en la posición restante puede ser cualquiera de las 52 (26 mayúsculas y 26 minúsculas), el total de combinaciones en las 3 posiciones es 15600 (52×300)

Al final, sumando todas esas contraseñas no válidas, tenemos un total de 197768 (141608+40560+15600) combinaciones. Por cierto, todo esto podría haberse calculado de otro modo, pero quería que se viera con más claridad de donde viene, por decirlo de algún modo, cada bloque de combinaciones descartadas.

En cualquier caso, si a las 238328 combinaciones que podríamos tener sin restricciones le restamos las 197768 combinaciones que las restricciones convierten en no válidas, el resultado es algún hacker de medio pelo frotándose las manos porque ahora la contraseña que debe averiguar es una entre 40560, en vez de una entre 238328. Las restricciones han hecho que quien pretenda romper la seguridad por fuerza bruta sólo tenga que buscar en el 17,02% del total de las combinaciones posibles.

En el caso de una contraseña de 4 caracteres con las mismas restricciones, el total de combinaciones es 14776336 y el número de combinaciones válidas es 5029440, lo que supone un 34,04% del total. Y en el caso de una contraseña de 5 caracteres el total de combinaciones sería es 916132832 y el número de combinaciones válidas es 438859200, que es un 47,90% del total.

Como puede verse, con el aumento del número de caracteres en la contraseña, el porcentaje de combinaciones válidas (que cumplen los requisitos) va en aumento, pero eso no cambia el hecho de que estas restricciones que se imponen a las contraseñas, dejan fuera de un plumazo una ingente cantidad de combinaciones, más cuanto más caracteres (aunque porcentualmente sean menos), que un ataque podrá pasar por alto sin perder tiempo en ellas, puesto que las restricciones pueden ser conocidas por cualquiera que tenga (o intente crear) una cuenta de acceso al servicio que las impone en sus contraseñas.

Mi opinión es, por tanto, que este tipo de combinaciones más enrevesadas deberían simplemente ser recomendadas al usuario y tenidas en cuenta a la hora de indicarle a éste si su contraseña es más o menos «fuerte», pero no deben ser una imposición, porque se consigue el efecto contrario. Y vosotros, ¿qué opináis?

La imagen usada al principio del artículo está compuesta a partir de la imagen procedente de https://en.wikipedia.org/wiki/Matrix_digital_rain#/media/File:Xmatrix.png

Por Hal9000 | 15 Comentarios | Enlaza esta entrada
contacto@wintablet.info tema WinTablet.info por Ángel García (Hal9000)