- Debido a la comodidad de los sistemas de gestión de contraseñas, hoy en día muchas personas usan las funciones integradas en el OS o en el navegador
- Pero puede surgir la duda: ¿realmente es seguro?
- Definición de cifrado
- El objetivo de la criptografía es defender los protocolos frente a entidades hostiles
- Es el proceso de transmitir información (es decir, texto plano) usando algoritmos para que nadie pueda leerla salvo quienes poseen conocimiento especial
- Si todos los algoritmos son públicos, ¿sigue siendo seguro?
- Existe algo llamado el principio de Kerckhoffs
- “Un sistema criptográfico no debe requerir secreto, y no debe causar problemas incluso si cae en manos del enemigo.”
- La razón por la que sigue siendo seguro aunque el algoritmo sea público es la clave secreta
- Lo importante es hacer seguro el protocolo, no el algoritmo
- Más bien, conviene hacer público el algoritmo para que más personas puedan validarlo y mejorarlo
- ¿Por qué la criptografía clásica es peligrosa?
- Antes de la aparición de las computadoras era suficientemente compleja y útil, pero con la llegada de las computadoras se volvió posible descifrarla en poco tiempo
- Existen diversas técnicas de ataque, como fuerza bruta y análisis de frecuencia
- ¿Es segura la criptografía moderna?
- La criptografía clásica es riesgosa porque tiene poco espacio de claves y refleja características del lenguaje
- En cambio, la criptografía moderna utiliza los conceptos de confusión y difusión para generar una enorme cantidad de combinaciones -> fuera de una búsqueda exhaustiva de claves que acierte por casualidad, es imposible descifrarla
- La confusión (Substitution) significa reemplazar una cadena como 'ABCA' por algo como '1231'
- La difusión (Permutation) significa cambiar el orden de una cadena como 'ABCA' para obtener algo como 'BCAA'
- Tres métodos de cifrado
- Existen el cifrado simétrico, asimétrico y unidireccional
- El cifrado simétrico es un algoritmo que cifra y descifra usando una sola clave secreta (o clave simétrica)
- Un ejemplo representativo es AES
- El cifrado asimétrico es un algoritmo que cifra y descifra usando dos claves
- Un ejemplo representativo es RSA
- El cifrado simétrico presenta problemas cuando hay muchos participantes
- El cifrado unidireccional consiste en convertir datos de longitud arbitraria en datos de longitud fija
- Un ejemplo representativo es SHA
- Se utiliza para verificar la integridad
- Implementación de una bóveda personal de secretos
- La contraseña maestra es la clave secreta que permite autenticar que alguien es el propietario del sistema de gestión de secretos
- El valor hash de la contraseña maestra nunca debe almacenarse, ya que puede ser vulnerable a un ataque Pass-the-Hash
- Se pueden guardar las contraseñas de forma más segura si se crea una clave maestra de desbloqueo usando además una clave aleatoria ligada al dispositivo del usuario
- En Mac se puede usar Keychain, y en Windows Credential Manager
- Para la implementación real, consultar el enlace
4 comentarios
¿Android no tiene algo como un llavero..? ¿También es riesgoso Samsung Wallet en los Galaxy?
Hola. :) Sé que existe algo llamado Secret Manager. No conozco bien Samsung Wallet, pero probablemente lo hicieron de forma segura, ¿no?
Como dice caos (substitution) y difusión (permutation), me pregunté qué sería, así que revisé el texto original.
Resulta que dice que el caos se logra usando sustitución (substitution), y la difusión se logra usando permutación (permutation)...
Lo resumí demasiado, lo siento ^^;;