OpenPuff Steganography and Watermarking, a veces abreviado en OpenPuff o Puff, es una herramienta libre de esteganografía para Microsoft Windows creada por Cosimo Oliboni y todavía desarrollada como software independiente. El programa es notable por haber sido uno de los primeros instrumentos de esteganografía (versión 1.01 liberada el diciembre de 2004) que:

  • permite que los usuarios escondan datos en más que un solo portador. Cuando los datos ocultos se distribuyen entre un juego de portadores forman una cadena, sin algún límite del tamaño teórico (256MB, 512MB, ... depende solo de la implementación)
  • implementa 3 niveles de ofuscación de los datos ocultos (criptografía, whitening y encoding)
  • extiende la criptografía negable en la esteganografía negable
OpenPuff

OpenPuff v4.00 - captura de pantalla
Información general
Tipo de programa Esteganografía
Desarrollador Eng. Cosimo Oliboni
Licencia GNU LGPL
Versiones
Última versión estable 4.01 (info) ( 19 de julio de 2018 (5 años, 9 meses y 8 días))
Archivos legibles
Enlaces

La última revisión soporta una gama amplia de formatos de portadores:

Utilización editar

Se usa OpenPuff principalmente para intercambiar datos de forma asincrónica y anónima:

  • el emisor trasmite un flujo de datos escondidos dentro de algunos portadores públicamente disponibles (contraseña + portadores+ orden de los portadores constituyen la clave secreta)
  • el receptor recupera el flujo de datos ocultos usando la clave secreta

La ventaja de la esteganografía, en comparación con la sola criptografía, está que los mensajes elaborados por la esteganografía no atraen atención a sí mismos. Los mensajes cifrados, aunque robustos, engendran sospechas y pueden ser incriminatorios en países donde la criptografía es ilegal. Por lo tanto, mientras que el cifrado protege el contenido de un mensaje, puede decirse que la esteganografía protege mensajes y ambas las partes de la comunicación

Watermarking o marca de agua digital es la acción de firma un archivo con un ID que certifica el derecho de propiedad literaria. OpenPuff lo hace en una manera esteganográfica invisible, aplicando la esteganografía a cualquier formato de portador soportado. La marca invisible no está protegida por contraseña y es accesible por todos (usando el programa).[1]

 
Arquitectura de la multi-criptografía
 
Arquitectura de la multi-criptografía

Multi-criptografía editar

OpenPuff es un programa open source:

  • la criptografía, el CSPRNG, el hash (usado para ampliar las contraseñas) y el scrambling son open source

Los algoritmos criptográficos (16, tomados del Advanced Encryption Standard process, NESSIE y CRYPTREC) se juntan en un algoritmo único de multi-criptografía:

  • se inicializan las claves y los datos interiores estáticos para cada algoritmo f
  • cada bloque de datos D [ i ] (128bit) está cifrado usando un algoritmo diferente f [ i ]
  • f [ i ] es elegido por un oráculo aleatorio, inicializada por una segunda contraseña independiente[2]
1. Elección del algoritmo para el bloque i
f [ i ] = rand ( Oracle )
2. Aplicación en el bloque i
Cipher ( D [ i ] ) = f [ i ] ( D [ i ] )
 
CSPRNG

Resistencia estadística editar

Numerosas pruebas han sido realizadas en las propiedades de la resistencia estadísticas de los módulos de CSPRNG y de multi-criptografía, usando: ENT,[3]​ NIST[4]​ y DIEHARD.[5]​ Los resultados de las pruebas proceden de muestras de 64KB, 128KB. 256MB:

 
Codificación de bits de portador

Resistencia estegoanálitica editar

Seguridad, rendimiento y resistencia estegoanálitica son trade-off, objetivos contraditorios.[6]

[Seguridad contra Rendimiento]: Whitening

  • Pro: garantiza una mayor seguridad
  • Pro: permite el cifrado negable
  • Contra 1: requiere muchos carrier bits adicionales

[Seguridad contra Estegoanálisis]: Criptografía + Whitening

  • Pro: garantiza una mayor seguridad
  • Contra 2: los portadores pueden ser identificados como "sospechosos" por la fuerte componente aleatoria.

Los datos, antes de ser inyectados en los portadores, son cifrados y sometidos a whitening: pequeñas cantidades de datos ocultos se convierten en grandes cantidades de datos pseudoaleatorios "sospechosos". El operación de inyección en los portadores utiliza una función no lineal de cobertura[7]​ que toma también en input los bit originales del portador. Los portadores modificados necesitan de muchas menos modificaciones (Contra 1) y, decreciendo la respuesta pseudoaleatoria estadística, superan más pruebas estegoanáliticas (Contra 2).

 
Utilización de la esteganografía negable

Esteganografía negable editar

Siempre habrá una probabilidad no nula de ser detectado incluso si los datos ocultos se comportan como un "portador natural" (por un efecto secundario impredecible, el ser detenido en delito flagrante...). Es posible resistir también a estos ataques imprevisibles, aunque si se vea obligado (por la coacción física o jurídica) a proporcionar una contraseña válida.[8][9]​ La esteganografía negable (una técnica basada en la utilización de uno o más "señuelos") permite negar en modo convincente el hecho mismo que se ocultan datos sensibles: necesita solo proporcionar una contraseña de señuelo, revelar el atacante algunos datos no comprometedores y afirmar plausiblemente que no hay nada más.

Referencias editar

  1. Cours : stéganographie et tatouage numérique
  2. Manual del Programa
  3. ENT - A Pseudorandom Number Sequence Test Program
  4. NIST - A Statistical Test Suite for the Validation of Random Number Generators and Pseudo Random Number Generators for Cryptographic Applications
  5. DIEHARD - The Marsaglia Random Number CDROM including the Diehard Battery of Tests of Randomness Archivado el 25 de enero de 2016 en Wayback Machine.
  6. Provos, Niels. «Defending against statistical steganalysis». En USENIX Association, ed. Proceedings of the 10th conference on USENIX Security Symposium. SSYM'01 10: 24-37. Consultado el 28 de noviembre de 2012. 
  7. Bierbrauer, Jürgen; Fridrich, Jessica. «Constructing good covering codes for applications in Steganography». En Springer Berlin Heidelberg, ed. Transactions on Data Hiding and Multimedia Security III. Lecture Notes in Computer Science 4920: 1-22. ISBN 978-3-540-69019-1. doi:10.1007/978-3-540-69019-1_1. 
  8. Sergienko, Greg S. «Self Incrimination and Cryptographic Keys». En jolt.richmond.edu, ed. Richmond Journal of Law and Technology 2 (1). Consultado el 28 de noviembre de 2012. 
  9. Julian Assange - Physical Coercion

Enlaces externos editar