Únete a la comunidad

Forma parte de esta comunidad y participa en las decisiones sobre el futuro de Librecraft

  1. Este sitio usa cookies técnicas. Learn More.

¿Cómo funcionan las contraseñas encriptadas?

Tema en 'Reglas y tutoriales' comenzado por Soporte, 11 de Mayo de 2020.

Usuarios viendo el post (Usuarios: 0, Invitados: 0)

Estado del tema:
No está abierto para más respuestas.
  1. Soporte

    Staff

    Se incorporó:
    7 de Julio de 2019
    Mensajes:
    89
    Puntos de trofeos:
    28
    Ratings:
    +292
    #1 Soporte, 11 de Mayo de 2020
    Última modificación por un moderador: 27 de Octubre de 2021
    Para entender mejor la vital importancia de mantener tu cuenta segura, vamos a explicar brevemente como funciona cualquier sistema de login.

    PRIMERO. El registro y la encriptación

    Cuando te registras en el servidor, indicas una contraseña que te pediremos la próxima vez. Tenemos que guardar esa contraseña para que cuando vuelvas a jugar, la podamos comparar.

    No obstante, si guardaramos la contraseña sin más, cualquiera con acceso a la lista de registros podría conocer todas las contraseñas. Es aquí donde se entra en juego el encriptar la contraseña.

    ¿Y que es encriptar exactamente? Encriptar consiste en generar "una palabra con letras y números aleatorios" mediante un algoritmo, a partir de la contraseña que se ha dado. El algoritmo siempre generará la misma "palabra" cuando pongas la contraseña.

    Para entenderlo mejor, imagínate que tu contraseña fuera un número. El algoritmo indica que se debe sumarle 20 y multiplicar por 3. Por tanto, si tu contraseña es:
    - "1", la contraseña encriptada sería (1+20)*3 = 63.
    - "20", la contraseña encriptada sería (20+20)*3= 120.

    Esto quiere decir, que nadie puede ver las contraseñas si listamos todos los registros. Las contraseñas están encriptadas sin que nadie puede conocer su contraseña*.

    *Letra pequeña de que "nadie puede conocer la contraseña":

    En caso de que hubiera un fallo de seguridad y se extranjeran los listados de contraseñas encriptadas se podría conocer la contraseña conociendo el algoritmo y mediante fuerza bruta (usar un programa que prueba cientos de combinaciones). ¿Pero cómo si están encriptadas? Si consigues que el resultado inicial sea igual al final, sabes que la contraseña es correcta ya que el algoritmo siempre genera el mismo resultado.

    Para evitar esto, nosotros generamos una segunda contraseña para cada contraseña. Con esta contraseña que generamos (y guardamos), la utilizamos junto a la del usuario para generar la contraseña encriptada. ¿Y para qué todo esto? En el caso anterior, como simplemente se encripta la contraseña, podrías generar un listado de millones de contraseñas y compararlas: con generar una vez la lista ya te valdría para todos los usuarios. Al utilizar una segunda contraseña para encriptar, habría que generar una lista diferente por cada usuario del que quisieramos adivinar su contraseña encriptada. De esta forma, llevaría mucho más tiempo adivinar las contraseñas.

    ¿Entonces, si generan la lista ya pueden saber mi contraseña? Sí, pero generar una lista con la tecnología actual requiere muchísimos años de procesamiento, y recordemos que estaríamos hablando de que sólo en caso de que hubiera un fallo de seguridad.

    Por lo tanto, cuando se nos solicita conocer una contraseña, nos es imposible ya que esta está guardada mediante un proceso que no admite volver atrás (des-encriptar).

    SEGUNDO. El inicio de sesión: ¿Cómo sabe el sistema que la contraseña es correcta?

    Cuando tu inicias sesión en un servicio existen dos opciones: comparar la contraseña sin encriptar o comparar el resultado del algoritmo. En nuestro caso, dado que las contraseñas se guardan tras pasar por la función del algoritmo, la única forma es comparar.

    Para comparar hacemos igual que en el proceso de registro. Cogemos la contraseña que crees que es correcta y la metemos al algoritmo.

    Por lo tanto, si la contraseña que nos proporcionas, junto a nuestra contraseña y pasado por el algoritmo genera el mismo resultado que la contraseña encriptada, la contraseaña es correcta y te dejamos acceder. En caso contrario, la contraseña es incorrecta.

    ¿Pero si tengo la contraseña encriptada, podría acceder al servidor? No. Porque al introducir la contraseña encriptada, el algoritmo también se aplica sobre ella.

    Volviendo al ejemplo anterior. La contraseña encriptada es "120". Pues bien, al intrudirla en el sistema se realizará el cálculo (120+20)*3 = 420 por lo que no funciona.


    CONCLUSIONES:

    - En Librecraft encriptamos las contraseñas.
    - Las contraseñas encriptadas dificultan extraer fácilmente la contraseña original, pero no lo evitan.
    - Por tanto, la forma más fácil de robarte tu contraseña es que la uses en otro sistema que no las encripte.
     
Estado del tema:
No está abierto para más respuestas.