Esto puede parecer una respuesta de evasión, pero se considera que el “pad de una sola vez” es el único algoritmo de cifrado / descifrado verdaderamente “irrompible”.
Para máxima seguridad, requiere la fuente de entropía (aleatoriedad) de la más alta calidad que pueda encontrar, preferiblemente de algún proceso físico, analógico y ultracomplejo, como el ruido térmico en los componentes eléctricos. También se puede usar una combinación de imágenes de cámaras de video de fenómenos relacionados con el clima, imágenes altamente localizadas de olas oceánicas chapoteando y chocando contra rocas, etc. y alimentando estos datos de transmisión en una función de hash de alta calidad (como SHA-256 ) para generar una secuencia aleatoria de bits que se utilizará como pad de una sola vez.
El pad de una sola vez es simplemente una secuencia de bits verdaderamente aleatorios que tiene exactamente la misma longitud que la secuencia de bits de texto sin formato. Los dos flujos de bits son XOR’-bit juntos para crear el texto cifrado.
- Estoy buscando cambiar de carrera de TI Cyber Security a ser piloto. ¿Cuál sería la mejor ruta para hacer una transición sin problemas a esta profesión?
- ¿Cuáles son las ventajas / desventajas de usar el inicio de sesión único?
- ¿Dejar su correo electrónico conectado lo hace vulnerable a la piratería?
- ¿Por qué la guerra cibernética cuenta como guerra?
- ¿Debo abandonar mi curso de seguridad cibernética?
Para descifrar el mensaje, uno debe estar en posesión tanto del texto cifrado como de la secuencia de bits de una sola vez. Simplemente XOR estos juntos para recuperar el texto sin formato.
Ahora, esta es la parte más importante: ¡NUNCA, use NUNCA ese flujo de bits de una sola vez para cualquier actividad criptográfica futura! Se llama una “almohadilla de una sola vez” por una razón: está destinado a usarse UNA VEZ y SOLO UNA VEZ. Si esta regla fundamental se sigue perfectamente, entonces cualquiera que pueda interceptar el mensaje de texto cifrado mientras está en tránsito no tiene absolutamente ninguna esperanza de descifrar el mensaje sin tener también posesión de los bits de una sola vez. El ÚNICO vector de ataque posible para este esquema de cifrado / descifrado es de alguna manera obtener la posesión del pad de una sola vez. Ninguna cantidad de análisis matemáticos inteligentes o el uso de recursos de supercomputación pueden recuperar el texto sin formato de solo poseer el texto cifrado.
Si alguien infringe las reglas y decide reutilizar un bloc de un solo uso, y se interceptan dos o más mensajes de texto cifrado, la seguridad de este esquema de cifrado se ve muy comprometida. El criptoanálisis que involucra el XOR de dos o más mensajes de texto cifrado interceptados (todos cifrados con el mismo panel de una sola vez) revela mucho sobre lo que hay en el panel de una sola vez, y los mensajes de texto sin formato casi se regalan. Si el atacante / interceptor tiene una forma de influir en el contenido de los mensajes futuros, entonces un “ataque de texto plano conocido” puede romper el cifrado de par en par. Por lo tanto, debe repetirse: nunca, NUNCA use una almohadilla única más de una vez. Hacer algo como esto en un entorno de máxima seguridad con documentos clasificados debería, al menos, revocar la autorización de seguridad de alguien, y muy bien podría hacer que alguien sea sentenciado a algún tiempo en la cárcel. A menos que, por supuesto, la persona tenga cierto apellido … Mejor no me meta en eso aquí.
En la práctica (especialmente en TI / seguridad informática), los pads únicos no son prácticos y rara vez se usan. El problema es que con todos y cada uno de los mensajes cifrados enviados / recibidos, también se debe enviar / recibir un pad único por separado a través de un canal fuera de banda altamente confiable, como un servicio de mensajería o, en algunos casos, a través de un USPS Carta o paquete de Fedex o UPS. Lo que se usa más comúnmente en entornos altamente seguros para proteger los documentos clasificados más sensibles es un algoritmo de cifrado de clave simétrica como AES-256. Como el nombre del algoritmo implica, la clave de cifrado / descifrado tiene 256 bits de longitud. La ventaja de algoritmos como este es que las claves pueden reutilizarse para cifrar muchos, muchos documentos, y los textos cifrados de estos documentos pueden filtrarse a los enemigos sin que puedan descubrir la clave de cifrado / descifrado. Esto es especialmente cierto si los cálculos de cifrado de bloque se realizan en un modo de encadenamiento de bloque de cifrado (modo CBC), con un “vector de inicialización” aleatorizado que básicamente agrega “sal” al comienzo del mensaje, para asegurarse de que incluso Si se cifran textos claros idénticos, el atacante no podrá correlacionar sus textos cifrados.
En las comunicaciones remotas seguras, a menudo todavía no es lo suficientemente bueno como para tener algoritmos de cifrado simétricos fuertes disponibles con claves largas (256 bits). Si dos sistemas remotos nunca se han comunicado entre sí antes, y desean intercambiar datos cifrados a través de un algoritmo como AES-256 (que, hasta ahora, ha resistido ataques severos por parte de criptólogos), debe haber una forma para estos sistemas acordar una clave secreta de cifrado / descifrado para usar, incluso si un tercero (un enemigo en el medio) está escuchando todo el tráfico de red entre estas dos máquinas (con un rastreador de paquetes en algún lugar crucial). Aquí es donde entra en juego el cifrado asimétrico (clave pública / privada) como RSA, utilizado junto con protocolos de intercambio de claves como Diffie-Hellman. Con los recientes desarrollos en la “computación cuántica”, existe una gran preocupación de que los algoritmos de clave pública / privada como RSA (que dependen de la dificultad de factorizar números grandes en sus dos factores primos) pronto se vuelvan rotos e inútiles, al menos por algunas de las longitudes de tecla más pequeñas aún en uso hoy en día. El tamaño de clave RSA predeterminado para muchos programas y protocolos actuales (GPG, SSH, OpenSSL) es de 2048 bits. Por el momento, esto todavía se considera “indescifrable”, pero los que están paranoicos sobre los próximos avances de la computación cuántica están bien aconsejados de aumentar las longitudes de las claves RSA a al menos 4096 bits.
Con frecuencia escuchamos en las noticias algunas historias muy inquietantes sobre cómo los servidores que usan una versión particular de OpenSSL para proteger la identidad del sitio web (a través de certificados SSL y protocolo HTTPS) están siendo pirateados, y supuestamente se confía en software de código abierto como OpenSSL y SSH por ser “inseguros” o “altamente vulnerables” hasta que se los repare. Y desafortunadamente, es realmente cierto que tales sistemas * son * realmente vulnerables a los ataques (en algunos casos, con alguien que se conecta al servidor de forma remota y obtiene un shell raíz en el sistema). El problema no está en los algoritmos de cifrado / descifrado en sí. Si se implementa correctamente, AES-256 y RSA 4096-bit deberían ser extremadamente seguros en el futuro previsible. Lo que sucede, desafortunadamente, es que la codificación de los protocolos utilizados con estos algoritmos es compleja y las implementaciones aún pueden tener errores ocultos en el código, esperando ser explotados por alguien. A menudo, estos errores implican errores de programación simples y estúpidos como errores de desbordamiento de búfer, donde un atacante puede inyectar código ejecutable arbitrario de elección en las estructuras de datos apropiadas y engañar al software para que lo ejecute y otorgue acceso al sistema, a menudo con privilegios elevados.