Si llegamos a saber cuál es el algoritmo de encriptación (usando alguno tradicional) ¿no acabaríamos comprometiendo toda nuestra app?

David Behar

David Behar

Pregunta
studenthace 6 años

Si llegamos a saber cuál es el algoritmo de encriptación (usando alguno tradicional) ¿no acabaríamos comprometiendo toda nuestra app?

3 respuestas
para escribir tu comentario
    Helmer Barcos

    Helmer Barcos

    studenthace 6 años

    Recuerda que lo que se hace es

    cifrar y no encriptar
    . Una clave encriptada puede ser desencriptada. Pero una que se cifra, matemáticamente seria imposible de revelar.

    Un JWT puede ser firmado, cifrado o ambos. Se firma mediante strings en base64 y se cifra mediante algún algoritmo popular de cifrado como SHA-256.

    Se ve mas o menos así:

    header.payload.signature

    Lo que se busca es generar tokens de los cuales podamos determinar su validez y que contengan alguna clase de información NO sensible relacionada con el usurario.

    Si se firma pero no se cifra, este podrá ser leído fácilmente. Sin embargo la última parte del token, que es donde va la firma si esta cifrada con la informacion del header, el payload un string que llamaremos secret, solo quienes conozcan ese secret podrán alterar el contenido de ese token sin que pierda su validez, agregando scopes o extendiendo la validez del mismo por ejemplo.

    La complejidad del algoritmo solo debe suponer una preocupación en el caso que esa persona o app externa tambien conozca el secret con el que se firmo el token.

    Fer Torres

    Fer Torres

    studenthace 6 años

    No necesariamente. Eso depende de cuál fue el método de encriptación y lo dificíl que sería "romperlo". Un ejemplo muy general: en México, el Servicio de Administración Tributaria utiliza seguridad asimétrica (llaves públicas y privadas) para crear tus archivos de certificado FIEL (Firma Fiel Avanzada); si conoces el RFC de un contribuyente, todo mundo puede obtener de la web del SAT la llave pública de dicho RFC con datos adicionales (nombre, CURP, rep legal, etc), pero aunque la conozcas y sepas qué usa el SAT para generar el par de llaves, es casi imposible (por ahora) lograr obtener la otra llave o la contraseña.

    Erik Ochoa

    Erik Ochoa

    studenthace 6 años

    Para romper los algoritmos de encriptación actuales necesitas a parte de conocer cómo funciona el algoritmo, una llave secreta que es muy difícil de conseguir. Por lo que ya no basta con sólo saber el algoritmo.

Curso de Autenticación con Passport.js

Curso de Autenticación con Passport.js

Genera estrategias de autenticación Sign-In y Sign-Out usando Passport.js. Agrega autenticación con Facebook, Twitter y Google a tus desarrollos. Gestiona de manera sencilla los procesos de éxito y falla en la autenticación de tu aplicación. Implementa la capa de seguridad de PlatziVideo. Desarrolla software profesional, agrega seguridad a tus aplicaciones usando Passport.js.

Curso de Autenticación con Passport.js
Curso de Autenticación con Passport.js

Curso de Autenticación con Passport.js

Genera estrategias de autenticación Sign-In y Sign-Out usando Passport.js. Agrega autenticación con Facebook, Twitter y Google a tus desarrollos. Gestiona de manera sencilla los procesos de éxito y falla en la autenticación de tu aplicación. Implementa la capa de seguridad de PlatziVideo. Desarrolla software profesional, agrega seguridad a tus aplicaciones usando Passport.js.