Esteganografía (Definición)
La palabra Esteganografía viene del griego
'steganós', que significa 'cubierto', y 'grafía' que significa 'escritura'.
Aunque en un principio se utilizó como sinónimo de criptografía, hoy en día se
utiliza para definir el arte de ocultar la existencia de mensajes en una
comunicación.
A diferencia de la criptografía en la que el mensaje está
cifrado e induce a sospecha, en la Esteganografía la información está
inmersa sutilmente en un medio, sea texto, imagen o sonido, aparentemente
normal. La
información que contiene ese medio sólo puede revelarse aplicando un
procedimiento apropiado. fuentes: (INTECO)
Historia y orígenes
Más de 400 años antes de Cristo, Herodoto ya reflejó en su libro Las Historias el uso de la esteganografía en la antigua Grecia. En dicho libro describe como un personaje toma un cuadernillo de dos hojas o tablillas; raya bien la cera que las cubre y en la madera misma graba un mensaje y lo vuelve a cubrir con cera.
Otra historia, en el mismo libro, describe como otro personaje rasura a navaja la cabeza de uno de sus esclavos y le tatúa un mensaje en el cuero cabelludo. Así, espera a que le vuelva a crecer el cabello y lo manda al receptor del mensaje con instrucciones de que le rasuren la cabeza. fuentes: (INTECO)
Otra historia, en el mismo libro, describe como otro personaje rasura a navaja la cabeza de uno de sus esclavos y le tatúa un mensaje en el cuero cabelludo. Así, espera a que le vuelva a crecer el cabello y lo manda al receptor del mensaje con instrucciones de que le rasuren la cabeza. fuentes: (INTECO)
La Esteganografía ha aparecido ante los ojos de mucha gente, a raíz de los hechos del 11 de septiembre pues la posibilidad de que redes terroristas estén usando algunas de estas técnicas para transmitir mensajes a través de imágenes y sonidos en la red, hacen que el uso legal o ilegal de la Esteganografía sea un tema debatido en grupos de seguridad, intentando cambiar leyes que permitan el estudio de cualquier documento que viaja por la red. Es una ciencia que estudia todos los procedimientos que se pueden usar para ocultar la existencia de un mensaje en una comunicación, típicamente dentro de un texto, una imagen, o una canción. La Esteganografía no trata de sustituir al cifrado convencional sino que intenta complementarlo, pues al ocultar el mensaje se reducen las posibilidades de que sea descubierto.
Mecanismos Utilizados
1) Esteganografía en imágenes:
La tecnología digital a partir de 1990, le brindó a la Esteganografía una nueva forma
de aplicación: Esconder mensajes en los formatos de imagen.
Para una computadora, una imagen es
prácticamente una matriz de puntos o píxeles, en donde cada píxel representa la
intensidad de un color en números. Una imagen típica es de 640 por 480 píxeles
y puede contener 256 colores representados en 8 bits por píxel.
La información puede ser escondida de
distinta forma en las imágenes, el método más clásico es el LSB Least
Significant Bit (Último Bit mas Significante). El LSB es el Bit que menos
información brinda, por ejemplo si al número binario 1111 (15) se le modifica
el primer Bit se obtiene 0111 (7), pero si se le modifica el ultimo Bit se
obtiene 1110 (14); lo que implica un cambio en el valor menor al del primer
ejemplo, ayudando a que pase desapercibido.
De esta forma el color de la imagen
casi no varía, por eso para el ojo humano es imposible distinguir esa
diferencia en una imagen total.
1) Esteganografía en sonido:
Para poder
ocultar información en sonido éste debe ser transformado de su forma original
(vibraciones que se propagan a través del aire), a un formato manejable como es
la corriente eléctrica. Esta digitalización del sonido está compuesta por tres
procesos, los cuales se explicarán a continuación como complemento para el
entendimiento de la Esteganografía.
Cuantificación: Una vez obtenidas las muestras, se estudia su nivel, y se le asigna el
valor más aproximado que se le encuentre de acuerdo a unos valores previamente
establecidos. Entre más niveles o valores se establezcan, mejor será la calidad
del sonido y más posibilidades se tendrán para ocultar datos, pues en una
cuantificación de 16 bits se tendrán 65536 valores para modificar.
Conversión a números binarios: Ya con el valor cuantificado de la muestra, éste se transforma en
números binarios. Ejemplo: 122 es el número binario 01111010.
Para la reproducción de la señal digitalizada, se realiza el
proceso inverso, obteniendo una señal analógica aproximada, pero nunca igual a
la original, pues las muestras de sonido son por naturaleza, estimaciones
inexactas de los valores correctos de un sonido en un momento determinado del
tiempo, y por eso, esas leves imperfecciones son aprovechadas para ocultar la
información.
Todo lo que las aplicaciones de Esteganografía hacen es
distribuir el patrón de bits correspondiente al mensaje o archivo que se desea
ocultar a través de los bits menos significantes (LSB) del archivo de sonido.
3. Protocolo HTTP
El protocolo HTTP (Hypertext Transfer
Protocol) es un sencillo protocolo transaccional de nivel de aplicación que
realiza la transferencia de información entre sistemas bajo el diseño
cliente/servidor. La especificación completa del protocolo HTTP 1.0 está en el
RFC 1945 [1]. Fue propuesto por Tim Berners-Lee y su uso actual es la
distribución global de información, sobretodo en la World Wide Web.
En el tema de comunicaciones, el
protocolo está soportado sobre los servicios de conexión prestados por los
protocolos TCP/IP y se basa en sencillas operaciones entre el cliente y el
servidor de solicitud y respuesta.
El cliente normalmente crea una
comunicación con el servidor a través de un puerto predeterminado (puerto 80) y
le envía los mensajes con los datos de su solicitud. El servidor le responde
con un mensaje indicándole el estado de la operación de consulta y su posible
resultado, seguido de la información que haya solicitado como tal.
Los resultados normalmente se conocen
como objetos o recursos y suelen ser páginas HTML, imágenes o archivos binarios
La comunicación completa entre
clientes y servidores se realiza a partir de caracteres de 8 bits. Así, se
puede transmitir cualquier tipo de documento: texto, binario, etc., sin cambiar
su formato original.
Existen sentencias básicas que un
cliente puede utilizar para dialogar con el servidor, algunas de ellas son:
·
GET, para recoger un objeto,
·
POST, para enviar información al servidor y
·
HEAD, para solicitar las características de un objeto (por ejemplo, la fecha
de modificación de un documento HTML).
Cada operación HTTP implica una
conexión con el servidor, que es liberada al término de la misma. Esto quiere decir que para cada
objeto, archivo o imagen que pueda contener la solicitud del cliente, se
realizará una conexión para transmitirlo. Una vez transmitido, el protocolo TCP
se encargará de cerrar la conexión, para establecer una nueva de ser necesario.
El protocolo no mantiene el estado,
esto quiere decir que cada petición de un cliente a un servidor no depende, ni
es influida por las transacciones anteriores. El servidor trata cada petición como una operación totalmente independiente
del resto de operaciones que le preceden o le anteceden.
La comunicación con los servidores
HTTP, normalmente se establece a través de mensajes de texto, que contienen los
diferentes comandos y opciones del protocolo. Solo existen dos tipos de
mensajes, uno para realizar la petición y otro para devolver la respuesta.
Estos dos se clasifican de la siguiente forma:
1) Simples.
Las peticiones simples no tienen
contenido, son solicitudes de información desde el cliente al servidor.
2) Compuestos.
Los mensajes compuestos están
formados por una cabecera y un contenido (objeto, imagen, etc.). Para
diferenciar la cabecera del contenido se usa una línea vacía.
Por tener contenido, las respuestas
del servidor al cliente son mensajes compuestos.
La estructura general para los dos
tipos de mensajes es:
Comando HTTP + parámetros
Cabeceras del requerimiento
(línea en blanco)
Información opcional
|
Mensaje de Respuesta
|
Resultado de la solicitud
Cabeceras de la respuesta
(línea en blanco)
Información opcional
|
En el mensaje de solicitud se
encuentra el comando por el cual se le piden al servidor los datos, mientras
que en la respuesta contiene un código numérico que permite conocer cual es el
resultado de la operación (ACK ó Error)
Después, para los dos mensajes
aparecen unas cabeceras que contienen la información necesaria para entender
los requerimientos y especificaciones de la comunicación y que condicionan el
funcionamiento del protocolo.
Seguido, viene la separación de la
cabecera con el cuerpo del mensaje mediante una línea en blanco (ctrl. Line
Feed), después de la cual se pueden incluir los datos solicitados, por ejemplo
el documento HTML o la imagen solicitada por el cliente.
A continuación un video en donde se enseña a encriptar a traves de la aplicación openPuff.
fuente (Bonilla- Luis Jorge, Llano- Mónica, Ramírez- Alfonso Esteganografía en HTTP)
A continuación un video en donde se enseña a encriptar a traves de la aplicación openPuff.
No hay comentarios.:
Publicar un comentario