¿Cifrar o camuflar?

Enviado por Anónimo (no verificado) en

Foros: 

Anónimo

En estos dias sabemos que en internet se usa la IA y los metadatos para la detección, y se supone que existe además la computación cuántica y que potencialmente se descifra cualquier cosa. En ese escenario, un texto solamente cifrado sería contraproducente ya que en realidad sólo llama la atencion y facilitaría el trabajo.

Una solución contra la detección sería la esteganografía. Pregunto: ¿Sería posible diseñar un sistema en que se crean dos mensajes con sentido, y que uno se descifre a partir del otro usando un sistema de llave pública/privada? Dando por perdido el tema de las matemáticas y de la potencia de computación, ¿no sería mejor dar más peso al camuflaje? ¿Podrían las propias llaves ser también frases de texto con sentido, de manera que todo el círculo permanezca camuflado? ¿Sería esto viable?

Relacionada:

 

En el fondo es lo mismo ¿no?

Un cifrado o un camuflado, desde el punto de vista matemático, me da que es lo mismo. La diferencia entre un método y el otro creo que está a un nivel semántico (el texto cifrado carece de sentido y el camuflado lo conserva) pero el ataque matemático no tiene que entrara en esas materias para ser efectivo.

Si hablamos de cifrado o camuflaje para transmitir mensajes, siempre debe haber un proceso reversible, es decir, que si realmente el método fuera infalible, el mensaje original no podría ser descifrado ni revelado por nadie, incluido el destinatario.

Por tanto debe existir, al menos, una forma de descifrado o revelado, y esa forma sólo puede ser conocida por el destinatario. En este punto entramos en el problema de averiguar qué debe ser, tener o conocer, que nadie más sea, tenga o conozca y eso es hablar de identidad y otros berenjenales.

Para mí, el gran problema está en que el lenguaje escrito o simbólico es muy digital, y - por tanto - atacable de forma matemática y automática. Creo que sólo se puede aspirar a cierto grado de fiabilidad si se emplean lenguajes que no sean simbólicos o que empleen símbolos carentes de significado intrínseco, lo que evitaría durante un tiempo el ataque matemático.

¿Un ejemplo? Todavía desconocemos el significado de los dibujos de Nazca o de las pinturas de Altamira. Y eso que probablemente no tuvieran intención de cifrar u ocultar su significado.

El eterno debate, seguridad por oscuridad...

Hay expertos en seguridad que recomiendan esta controvertida y no exenta de polémica practica -Seguridad por oscuridad- este principio se basa en no dar mas información de la debida de lo que se este haciendo para que asi sea mas complicado que un atacante descubra un agujero por donde atacar un sistema. Yo soy lego en este tema sin embargo se que es una practica que muchos apoyan y que otros odian o no la toman en serio puesto que lo que un fallo tiene mas tarde o mas temprano se acaba descubriendo, alguien con mucho tiempo acabaria dando con la solucion de eso no cabe duda, en fin el eterno debate como bien dije antes.

My home 127.0.0.1

No debe haber oscuridad

en lo que no puede fácilmente ser cambiado. Una vez eso sale a la luz estás frito.

Hay muchos y poderosos argumentos en contra de mantener el algoritmo o partes esenciales de él fuera del alcance del público. Ciertamente hay enormes probabilidades de que acabe siendo completamente conocido (ingenierias inversas, filtraciones o simple espionaje) por un atacante y seguramente eso ocurrirá cuando ya esté ampliamente implantado y sea muy complicado de parchear. Es el famoso caso del cifrado de los DVDs.

Si un algoritmo tiene un problema (y todos en alguna fase de su vida los tienen) es mejor detectarlo a tiempo y poder corregirlo. La falsa sensación de seguridad que proporciona la oscuridad juega en tu contra, pues seguramente sólo tu enemigo conocerá tu vulnerabilidad y la explotará extensamente antes de que ni seas consciente de que existe. Tampoco nadie te ayudará a resolverla.

Muchas recomendaciones en seguridad incluyen algo parecido a "no inventes por tu cuenta". Las baterías de tests y los ataques que han tenido que superar los estándares actuales para implantarse, ni por asomo los experimentará un algoritmo no conocido. Y será díficil que a tí se te ocurran todos los ataques que a tus atacantes se les van a ocurrir. Ellos son muchos más y con más motivación, tiempo y medios. Ya se que hay mucha conspiranoia sobre puertas traseras y las capacidades cuánticas de determinados gobiernos. Las librerías de algoritmos criptográficos comunmente aceptadas están ahí para quien le apetezca compilarlas (que tampoco es poner un hombre en marte), con sus hashes para verificarlas y basadas en principios matemáticos sólidos. Son lo suficientemente fiables, hasta el punto de tener prevista su propia caducidad (basada en esos mismos principios).

Podría seguir extendiéndome sobre la no conveniencia de ocultar un algoritmo de criptografía pero sería dar más vueltas a lo mismo. En resumen, la seguridad por oscuridad no es seguridad en absoluto, al menos a medio plazo.

Por eso mi propuesta concita

Por eso mi propuesta concita lo mejor de ambas partes. No es cifrado por oscuridad, toda vez que propongo que se utilice una implementación alfabética de AES, pero tampoco es un cifrado a la vista, porque no existe forma de de saber si en un texto hay un cifrado o no. Aún sabiendo, por otras vías, que hay algo esteganografiado en un mensaje en claro, en la medida en que la implementación del cifrado utilizado sea seguro, sería completamente indemostrable asegurar que ese texto contiene datos cifrados.

una propuesta genial

gracias por enlace.

El comentario de LlamameX se basa en un planteamiento a mi entender que ya suena muy ingenuo, y es la suposición de unas autoridades imparciales (como la NSA dictaminando la seguridad de los cifrados) y también que todo el mundo tiene acceso a la misma tecnología. Pero por la historia sabemos que la diferencia entre la tecnología civil y la militar ha llegado a ser de casi 30 años.

La propuesta de tokamak: http://www.kriptopolis.com/esteganografia-texto-cuatro-lineas

es súmamente interesante porque un texto con sentido no da señales de estar cifrado. Solo es un texto. Si se consigue meter un mensaje oculto dentro de otro, o también dentro de una página de "El Quijote" resulta totalmente invisible para esos procesos masivos de detección por palabras clave. Los procesos de IA podrían detectarlo salvo que actuen con más datos del autor o del destinatario que hagan sospechar de esa comunicación (por ejemplo, que esa persona jamás ha sido aficionada a determinado tipo de lectura o cosas similares). Pero es tremendamente difícil si forma parte de un perfil.

¿No sería posible además de manejar dos textos con sentido (lo cual ya es una idea excelente) también poder manejar textos predefinidos para que el texto "anfitrión" fuese un texto cualquiera?. No se bien si esto podría ser considerado estegotexto, pero imaginando las posibilidades: los billones de páginas de toda la internet podrían ser manejadas como recipientes de mensajes cifrados. ¿Como saber que cuando se envía un enlace de una página o de cualquier información en realidad se está transmitiendo otra información?. La idea expuesta por tokamak me parece algo enorme, tiene muchas posibilidades.

Hace mucho tiempo....

... y en un lugar muy lejano, me enseñaron un método de transmisión de información que consistía en el envío contínuo de ficheros de unos 10MB con contenido y nombres cifrados.
En realidad el contenido de estos ficheros era totalmente aleatorio e irrelevante para el mensaje.
Lo realmente importante era el nombre de los ficheros, que estaban construídos a partir del alfabeto [A-Za-z0-9] con una longitud de entre 50 y 150 caracteres y de apariencia aleatoria, aunque no lo eran.
El nombre del fichero se pasaba por un algoritmo, supongamos CRC-32, y el resultado representaba un caracter del mensaje a transmitir. Así fichero a fichero.
Con esto lo que se quería lograr, entre otras cosas, era la transmisión contínua de información para evitar análisis por actividad de línea y por otro lado sobrecargar el análisis de los datos al proporcionar miles y miles de MB de datos inútiles para analizar.
Que yo sepa nunca se llegó a utilizar.

Saludos,
Andy

No se yo, sin duda alguna

No se yo, sin duda alguna alguien que interecepte un fichero, lo primero que se va a fijar es en el nombre e intentar averiguar "qué es lo que contiene" el fichero a partir del nombre. Claro que por otro lado uno piensa que dentro del texto encontrará más información útil(estadísticas etc) para romper el cifrado... Es buena idea.

Velocitocino

Que las librerias públicas de implementaciones de algoritmos criptográficos sean más seguras que una implementación doméstica de un algoritmo propio cuya mayor protección sea que lo vamos a mantener oculto no creo que sea ingenuidad. Creo que es mucho más ingenuo creer que esa maravilla de la ciencia que es la protección por oscuridad te va a proteger más que una libreria miles de veces contrastada contra la NSA (o sus alumnos aventajados), aunque disponga de criptoanálisis cuántico que le haya traído del futuro la señora de la lejía.

Si estaré de acuerdo contigo en que usar implementaciones no contrastadas de según que cosas tiene algo más que riesgos. Incluso te puedo admitir que se hayan insertado puertas traseras ya a nivel de diseño de hardware, o soltado stuxnets, duqus o skywipers, haciendo inútil cualquier intento de protección que luego puedas poner por encima, pero primero, eso te va a afectar sea cual sea el método de protección que uses después, sea oscuro, claro o claroscuro y segundo nada de eso hace que los principios matemáticos que hay detrás de las implementaciones estandard dejen de cumplirse.

Good!

(...) aunque disponga de criptoanálisis cuántico que le haya traído del futuro la señora de la lejía.

Sigo entrando en estas páginas porque de vez en cuando me alegráis el día.

sobre lo del futuro, leo que

sobre lo del futuro, leo que en lo académico el AES-128 ya se considera roto y el AES-256 inseguro a medio plazo:
http://crypto.stackexchange.com/questions/6712/is-aes-256-a-post-quantum-secure-cipher-or-not

si hay que pensar en pasar de lo académico a lo secreto y militar, no parece disparatada la suposición de que el AES-256 ya pueda ser roto. De hecho cabe preguntarse si hubiera sido validado para el uso civil sin la capacidad de romperlo de algún modo. Recordemos el caso histórico de Zimmermann con el PGP

Se entiende que la obsesión en el mundo del cifrado es la protección, pero en el mundo en general lo que estamos viendo estos días es que la obsesión es la detección y clasificación. Si la información cifrada resultase imposible de distinguir de la no-cifrada, eso parece algo muy poderoso. Nadie ni la NSA tiene capacidad para detectar si un texto coherente es lo que aparenta ser de entre los miles de Petabytes que circulan por internet al presuponer que cualquiera de ellos pueda ser estegotexto. No habría capacidad para procesar semejante escenario. De lo otro pueden haber dudas, pero de esto ninguna.

Respecto a la esteganografía

Ocultar texto en texto es algo que se viene haciendo desde hace mucho y puede ser muy útil para mensajes cortos puntuales. Sin embargo, si pensamos en protocolos de comunicaciones la cosa va a ser bastante más compleja. Elaborar textos con sentido que parezcan haber sido escrito por humanos es muy complicado, requiere bastante trabajo de revisión y veo muy difícil automatizarlo, con lo que un simple chateo puede acabar siendo algo imposible.

Se han usado otras técnicas esteganográficas sobre el texto, como el repatir los espacios en blanco para justificar un párrafo (con una fuente de letra no proporcional) de una determinada manera o incluso cometer adrede faltas de ortografía para codificar información. Lo complicado es que incluso eso puede llamar la atención si se le deja a un programa tomar las decisiones.

Me gusta la idea sin embargo de la saturación de la red. No tanto por el método de los ficheros como por el concepto. No saber cuando se está transmitiendo o no información puesto que el canal siempre se está activo. Esto es fácil transladarlo a una arquitectura p2p donde ya no sólo sabes si has de buscar algo y cuando si no ni siquiera donde. Ahora, que a las operadoras les haría una gracia loca.

También le había estado dando vueltas a la idea contraria. Los silencios y sus duraciones, aunque me temo que las tecnologías actuales no nos darían la suficiente precisión para poder usar el tiempo como criterio de cifrado.

Sobre lo de la saturacion

La idea de la saturación la vienen usando los militares desde hace rato para evitar que potencias extranjeras que pudiesen estar monitorizando sus canales de comunicación utilicen un incremento de tráfico hacia distintas unidades como una alerta temprana de movilización.

La idea es no sobresalir, que no se sepa cuándo se estan transmitiendo mensajes importantes (o de los otros).

Es parecido a la esteanografía ("no estoy transmitiendo un mensaje cifrado"), pero al revés ("transmito cifrado todo el tiempo lo necesite o no").

Obviamente los canales de comunicaciones militares no son de ISPs, sino privados.

Se me ocurre una idea

[...]Elaborar textos con sentido que parezcan haber sido escrito por humanos es muy complicado, requiere bastante trabajo de revisión y veo muy difícil automatizarlo, con lo que un simple chateo puede acabar siendo algo imposible.

Se me ocurre una idea malévola: combinar la esteganografía que describe Tokamak sobre textos HOYGAN. No hay criptólogo que lo resista y los propios textos a veces parecen generados por un script en Visual Basic.

Sería el equivalente a El chiste más gracioso del mundo pero para proteger la información en lugar de para la guerra.

--
Yo que sé. No me hagan caso. Lean lo que quieran y analicen. (by Sasha)

El caso Bárcenas.

Este caso puede ser un buen ejemplo de contexto en el que utilizar esteganografía sobre textos. Como recordaréis en la visita que la señora de Bárcenas hizo a su marido en la cárcel no pudo utilizar lápiz ni papel, ni por su puesto ningún método de grabación electrónico.

Pero entonces ¿cómo proporcionar las claves e instrucciones precisas para llevar a cabo ciertas cosillas que no queremos que nadie más sepa?. Si antes de ingresar en el trullo se hubieran puesto de acuerdo en algunos conceptos, se podría haber establecido todo un protocolo de comunicación permanente, muy eficaz:

1-) Lo primero sería aprender a memorizar textos largos. No es imposible, mucho menos pequeños textos de unos 2.000 caracteres, hay numerosas reglas nemotécnicas ¿cómo creéis que los actores aprenden sus diálogos, considerablemente más extensos que eso?

2-) Después hay que cifrar mensajes cortos, de unos 100 caracteres, con el método del solitario, que es bastante seguro y no precisa más hardware que una baraja.

3-) A continuación se generarían con lápiz y papel los valores de plantilla con alguna función parecida a la del método que he propuesto y pasaríamos a crear un monólogo cualquiera con la plantilla.

4-) La clave cambiaría en cada cifrado, y podría consistir en una serie de frases procedentes de algún libro en común.

Si el solitario aguantase, sería todo un espectáculo.

En otro orden de cosas, me parece lógico que mucha gente desconfíe de los estándares criptográficos, pues es perfectamente posible que tengan debilidades que sólo conozcan las grandes agencias de seguridad, pero, para los muy paranoicos, existe una solución muy sencilla: los supercifrados.

Los supercifrados -cifrar varias veces, incluso con diferentes algoritmos- son un truco verdaderamente sucio. No es una solución elegante, digamos que tiene la sutileza de una roca de 10 toneladas, pero sus resultados pueden ser muy difíciles de atacar, si el tema de la rapidez no es crítico. Por ejemplo se cifra con AES, después se puede introducir un HILL, que adobamos con RC6 y nuevamente con AES. Por fin, de postre, SERPENT.

Y hasta se pueden permutar las secuencias ¡y el número de veces de cada una!, como se hacía antes con los discos de las máquinas... Creo que esto sería intragable para cualquier fisgón.

Que opinan de estos engendros italianos?

Muy interesante el tema del cifrado y camuflado. Me gustaría someter a vuestro buen juicio la arquitectura de esta parejita de engendros, creación del Ingeniero Cosimo Oliboni. Se trata de MultiObfuscator 2.0 y OpenPuff 4.0

Implementan tres capas de seguridad: Multi-criptografía, Scrambling y Whitening.

Hé aquí los manuales en inglés de ambos softwares:

http://embeddedsw.net/doc/OpenPuff_Help_EN.pdf

http://embeddedsw.net/doc/MultiObfuscator_Help_EN.pdf

Gracias por sus sesudos razonamientos, fuente de luz para este humilde aficionado...

opinar

Texto puro

  • No se permiten etiquetas HTML.
  • Saltos automáticos de líneas y de párrafos.
Imágenes
Puedes añadir hasta 10 imágenes explicativas a tus comentarios (pantallazos, etc).
Los archivos deben ser menores que 8 MB.
Tipos de archivo permitidos: png gif jpg jpeg.
By submitting this form, you accept the Mollom privacy policy.