Sunteți pe pagina 1din 73

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA


SECCION DE ESTUDIOS DE POSGRADO E INVESTIGACION

INSERCIN DE INFORMACIN OCULTA EN ARCHIVOS PDF

TESINA

QUE PARA OBTENER EL GRADO DE:


ESPECIALISTA EN SEGURIDAD INFORMATICA Y TECNOLOGIAS DE LA INFORMACION

PRESENTA:
Ing. RUBEN JONATHAN GARCIA VARGAS

ASESOR: Dr. MARIO GONZALEZ LEE

Mxico D.F 2011

ii

iii

Resumen
En la actualidad las empresas e instituciones de gobierno usan los documentos digitales
diariamente confiando en que su informacin no ser modificada, sin embargo esto es un riesgo
ya que no se puede garantizar que alguien que tenga acceso a un documento digital no sea capaz
de modificarlo. En el presente trabajo se propone un mecanismo para insertar informacin de
manera oculta en un archivo PDF utilizando la estructura interna del mismo por medio de una
llave de insercin que se agrega a los diccionarios de los objetos PDF, y se presenta un mtodo de
codificacin de caracteres de texto en objetos PDF numricos con un lmite definido por el usuario
de hasta 8 caracteres por diccionario. As mismo se presenta el mtodo de verificacin y
decodificacin correspondiente tomando una llave para hacer la revisin de diccionarios y un
lmite para el proceso de decodificacin de nmeros decimales a caracteres de texto. Tambin se
presenta una implementacin del modelo de insercin propuesto por medio de un programa
hecho C# capaz de abrir un archivo PDF, calcular la capacidad e insercin, extraer una lista de
posibles objetos insertables, y realizar los procesos de insercin, codificacin, verificacin y
decodificacin usando las llaves y limites que indique el usuario. As mismo la aplicacin puede
introducir el texto de un archivo txt y recuperarlo posteriormente en otro. Por ltimo se presentan
las pruebas del sistema y las limitaciones que presenta.

iv

Agradecimientos

A mis padres que me apoyan y motivan a seguir adelante, mis amigos que incitan a buscar cosas
mejores, profesores que con su enseanza me han ayudaron a ser mejor persona y compaeros
de trabajo que me apoyaron en la realizacin de este proyecto y de todos los que me propongo en
la vida. A todos gracias.
Rubn J. Garca V.

ndice
1

Introduccin ................................................................................................................................ 1
1.1

Definicin del problema ...................................................................................................... 1

1.2

Justificacin ......................................................................................................................... 1

1.3

Objetivo ............................................................................................................................... 2

1.4

Antecedentes ...................................................................................................................... 3

1.4.1

Contrasea .................................................................................................................. 3

1.4.2

Permisos sobre el documento ..................................................................................... 4

1.4.3

Insercin de informacin de control en el documento ............................................... 4

1.4.4

Control de Documentos Digitales por medio de servicios compartidos ..................... 5

1.4.5

Resumen electrnico del Documento ......................................................................... 6

1.4.6

Firma Digital ................................................................................................................ 7

1.4.7

Servidores de certificacin de archivos ....................................................................... 8

1.4.8

PDF .............................................................................................................................. 9

Autenticacin y Derechos de Autor en Archivos Digitales ........................................................ 10


2.1

Marcas de Agua ................................................................................................................. 10

2.2

Seguridad persistente en los documentos ........................................................................ 12

2.2.1

Control de Documentos ............................................................................................ 13

2.2.2

Control Dinmico de documentos ............................................................................ 14

2.2.3

Rendicin de cuentas ................................................................................................ 15

2.2.4

Firmas digitales.......................................................................................................... 16

2.2.5

Integridad .................................................................................................................. 16

2.2.6

Autenticidad .............................................................................................................. 17

2.2.7

No repudio................................................................................................................. 17

2.2.8

Infraestructura de clave pblica (PKI) ....................................................................... 17

Esteganografa y los Medios Digitales ....................................................................................... 18


3.1

Autenticacin Basada en el Contenido ............................................................................. 18

3.2

Codificacin por Cambio de Lneas ................................................................................... 19

3.3

Codificacin por Cambio de Palabras................................................................................ 19

3.4

Codificacin de Caractersticas ......................................................................................... 19

3.5

Aplicaciones de Esteganografa ......................................................................................... 19


vi

Estructura de los archivos PDF .................................................................................................. 22


4.1

Caractersticas ................................................................................................................... 22

4.2

Objetos del Estndar PDF ISO 32000 ................................................................................ 23

4.2.1

Objetos Lgicos ......................................................................................................... 23

4.2.2

Objetos Numricos .................................................................................................... 23

4.2.3

Objetos de Cadena de Texto ..................................................................................... 24

4.2.4

Objetos Nombre ........................................................................................................ 25

4.2.5

Objetos Arreglo ......................................................................................................... 26

4.2.6

Objetos Diccionario ................................................................................................... 26

4.2.7

Objetos Cadenas........................................................................................................ 27

4.2.8

Objetos Nulos ............................................................................................................ 29

4.2.9

Objetos Indirectos ..................................................................................................... 29

4.3

4.3.1

Cabecera .................................................................................................................... 31

4.3.2

Cuerpo ....................................................................................................................... 31

4.3.3

Tabla de referencias cruzadas ................................................................................... 32

4.3.4

Trailer ........................................................................................................................ 32

4.4
5

Actualizaciones Incrementales .......................................................................................... 34

Desarrollo del Sistema............................................................................................................... 36


5.1

Modelo del Sistema de Insercin ...................................................................................... 40

5.1.1

Mtodo de Codificacin ............................................................................................ 41

5.1.2

Mtodo de Insercin ................................................................................................. 41

5.2

Modelo del Sistema de Verificacin .................................................................................. 43

5.2.1

Funcin de Verificacin ............................................................................................. 43

5.2.2

Funcin de Decodificacin ........................................................................................ 44

5.3
6

Estructura .......................................................................................................................... 31

Implementacin ................................................................................................................ 45

Prueba MOS, Anlisis, Conclusiones y Trabajo a Futuro ........................................................... 46


6.1

Prueba MOS ...................................................................................................................... 46

6.2

Pruebas de Implementacin ............................................................................................. 47

6.3

Conclusiones y Trabajo a Futuro ....................................................................................... 48

Bibliografa .......................................................................................................................................... a
Referencias .......................................................................................................................................... b
vii

ndice de Imgenes .............................................................................................................................. f


ndice de Tablas .................................................................................................................................... f
Glosario ............................................................................................................................................... g
Anexos .................................................................................................................................................. j
A.

Diagramas de Clases de Objetos PDF ...................................................................................... k

B.

Nombres Recomendados para las Entradas en Diccionarios .................................................. n

C.

Parmetros de la Aplicacin PDFAnalizer ............................................................................... o

viii

Insercin de Informacin Oculta en Archivos PDF

2011

1 Introduccin
1.1 Definicin del problema
Los archivos PDF son utilizados con frecuencia por las empresas y entidades de gobierno como una
forma cotidiana de enviarse informacin, confiando que estos documentos son seguros y difciles
de modificar; sin embargo, para aquellas personas que conocen la estructura interna de los
archivos PDF, es posible modificar la informacin contenida sin tener que crear un archivo
diferente; por lo que es necesario desarrollar un algoritmo y encontrar un parmetro para insertar
informacin oculta dentro la estructura de un archivo PDF de manera tal que no sea perceptible
para un atacante que intente modificar la informacin y al mismo tiempo no haya modificaciones
en el documento visibles para el ojo humano.

1.2 Justificacin
En la actualidad la informacin de las empresas se considera como el bien ms importante y
valioso que se pueda poseer. Esto provoca que garantizar que la informacin sea exacta, veraz,
proceda de quien se diga ser su autor y se mantenga su integridad son problemas muy
importantes para las empresas. La veracidad de la informacin contenida en un documento de
texto es de una importancia tal que puede hacer tomar las mejores o peores decisiones cuando la
informacin es incorrecta o a sido falsificada.
En la actualidad los documentos de texto son muy susceptibles a ser modificados por terceras
personas y esto puede provocar errores a las personas que reciben el documento modificado. Los
archivos PDF no son la excepcin ya que su seguridad se agrega directamente en la estructura de
documento y dependiendo de que se habr con la aplicacin que le d cumplimiento al esquema
de seguridad propuesto. Esto hace que si alguien modifica directamente la informacin de la
estructura del archivo se corra el riesgo de que la informacin se pierda, dae o se comprometa la
veracidad de la informacin.
Para evitar que sea fcil la modificacin de un archivo PDF se propone utilizar las caractersticas de
la estructura de un archivo PDF y se oculte informacin dentro de sus caractersticas que definen
contenido o apariencia. Un mtodo de este tipo podra ser utilizado para crear esquemas en los
que se pueda controlar quien tiene acceso al documento, mtodos de distribucin, control de
cambios e incluso validacin en contra de modificaciones.

Insercin de Informacin Oculta en Archivos PDF

2011

1.3 Objetivo
Disear e implementar un algoritmo para insertar informacin de manera oculta en un archivo
PDF tal que esta sea imperceptible al sistema visual humano utilizando las caractersticas de la
estructura del mismo archivo como portadora de la informacin.
Para esto se proponen los siguientes objetivos particulares:

Encontrar un parmetro de la estructura del archivo PDF para insertar informacin en l.


Seleccionar un mtodo de codificacin para la informacin.
Disear un mtodo de verificacin y decodificacin.
Implementar los mtodos en una aplicacin de pruebas
Medir los resultados de la implementacin.

Insercin de Informacin Oculta en Archivos PDF

2011

1.4 Antecedentes
La necesidad de autenticar y tener informacin de control dentro documentos digitales ha crecido
en diferentes formas en los ltimos aos. Algunos proveedores incluyen en sus aplicaciones
funciones de control de cambios, autenticacin, validacin y firmado de los documentos. Todas las
funciones que se agregan en las aplicaciones para controlar cambios o validaciones tratan de
garantizar la confidencialidad, autenticidad, la integridad, disponibilidad y el no repudio en los
documentos electrnicos y en las personas que los utilizan.
Los mtodos que se utilizan son muy variados y van desde un nivel bsico para 1 o dos usuarios
hasta amplias soluciones que involucran la participacin de varios dispositivos y personas para
llevar un control de los documentos digitales. A continuacin se mencionan y describen algunos de
los mtodos ms usados para proteger los documentos electrnicos.
1.4.1 Contrasea
Este es uno de los primeros mtodos que se utiliz para dar seguridad en los documentos
digitales, se basa en la idea que solo las personas que conocen la contrasea pueden abrir el
documento y hacer los cambios necesarios en l. Usualmente esta opcin incluye un mecanismo
de cifrado para evitar que se pueda abrir o modificar el documento con alguna otra herramienta
diferente a la que lo creo.

Imagen 1-1 Uso de Contraseas en Aplicaciones

Esta opcin no fue suficiente ya que la seguridad del documento depende de que tan bien se
guarde la contrasea, adems esta opcin no incluye control de los cambios ni quien tiene acceso
a editar o ver el documento. Con este esquema no se corre el riesgo de que la informacin dentro
de un documento sea modificada y nadie lo note despus de que alguien consiga la contrasea.

Insercin de Informacin Oculta en Archivos PDF

2011

1.4.2 Permisos sobre el documento


Esta opcin se agreg a las aplicaciones junto con el control de usuarios de la aplicacin o del
sistema operativo, dependiendo de la herramienta con que se creen y editen los documentos. Esta
opcin permite que se asigne permisos de lectura y/o escritura a los diferentes usuarios de un
equipo o aplicacin. Esta opcin permite que si un usuario quiere abrir o editar un documento
primero se valida si puede verlo y despus si puede modificarlo.

Imagen 1-2 Permisos en los Archivos

Esta opcin, como la anterior, tampoco permite tener un control de cambios en el documento ni
un registro de quien accede y que se hace con el documento. Tambin existe la posibilidad que un
usuario con permisos de administrador, ya sea del sistema operativo o de la aplicacin, cambie los
permisos sobre el documento o cambie al dueo del documento.
1.4.3 Insercin de informacin de control en el documento
En esta opcin las aplicaciones empezaron a introducir dentro de la estructura interna del
documento (separado de la parte visible y editable del documento) informacin de control de los
cambios realizados en documento. Los datos de control que se guardan corresponden a: La
posicin del cambio; el usuario que realizo el cambio; la hora del cambio; y el estado anterior.

Imagen 1-3 Herramientas de Control de Cambios

Insercin de Informacin Oculta en Archivos PDF

2011

Junto con este esquema se introdujo la posibilidad de tener control sobre los usuarios que
acceden a un documento y se agreg la funcin de llevar registro por cuenta de usuario de la
aplicacin (rendicin de cuentas). Tambin es posible crear roles dentro de un grupo de usuarios
para controlar uno o ms archivos. Esto permite que algunos usuarios puedan ver el documento
bloqueando la edicin; que otros usuarios puedan editar ciertas partes del documento; y que
existan usuarios que validen y aprueben los cambios en los documentos. Incluso es posible llevar
este esquema a los usuarios de diferentes maquinas que tengan la misma aplicacin.
Aunque este esquema aumento las posibilidades de control y validacin de un documento solo es
posible utilizarlo cuando todas las partes que interactan con el documento lo hagan a travs de la
misma herramienta y que exista una configuracin comn cuando se utilizan diferentes equipos
para trabajar sobre los documentos. En la actualidad son pocos los proveedores que ofrecen en
sus aplicaciones un control como este en todas las partes de su sistema y no hay mucha
compatibilidad entre diferentes proveedores. Este sistema tiene la limitante que no controla la
distribucin del documento, ni el flujo en su desarrollo distribuido, es decir es posible que varias
personas estn trabajando el mismo archivo al mismo tiempo y cada uno tenga versiones
diferentes de l. Tambin se corre el riesgo de no saber quien posee la informacin de un
documento ya que se puede copiar el documento sin que la aplicacin sepa cuantas copias hay en
circulacin.
1.4.4 Control de Documentos Digitales por medio de servicios compartidos
Esta es la ltima opcin que se ofrece en el mercado y permite explotar todas las opciones
anteriores y pretende solucionar el problema de la distribucin y acceso a los documentos. El
sistema se basa en la idea de presentar los documentos como un recurso compartido para varios
usuarios dentro de un equipo servidor que se encarga de centralizar el almacenamiento, acceso y
distribucin del documento por medio de una o varias aplicaciones.
El sistema permite que los usuarios autorizados abran el documento en sus equipos, sin embargo
los cambios se guardan en el servidor y no en el equipo que lo edita para evitar que existan varias
versiones circulando de un solo documento. Adems el servidor lleva el control de quien puede
acceder al documento y el registro de quien y que hizo con el documento.
Este sistema tambin lleva un control de cambios y se pueden guardar las diferentes versiones que
se crean con los cambios para poder recuperar cualquier estado anterior del documento. Es
posible tener un control ms estricto sobre los usuarios, sus roles y archivos que pueden ver o
modificar.
Este tipo de sistemas empieza a tener auge ya que los servicios por internet lo estn ofreciendo
como parte de sus prestaciones permitiendo a los usuarios de sus productos compartir
documentos y controlar la edicin distribuida y versiones de un documento a travs de servicios
en internet.

Insercin de Informacin Oculta en Archivos PDF

2011

Imagen 1-4 Uso de un Servidor de Documentos Compartidos

Estos son los sistemas ms robustos que existen para controlar el flujo de desarrollo de un
documento. Sin embargo estos sistemas tiene la limitante que solo funciona dentro del circulo de
usuarios y equipos que conforman el sistema. No permite tener control sobre personas que
adquieran el documento por fuera del sistema, ya sea en un correo electrnico, descarga o una
copia en caso de que alguien tuviera permisos de guardar una copia local. En un escenario real los
documentos finales se comparten con personas fuera del sistema de control de edicin, pueden
ser los jefes que reciben los resultados del documento o clientes que reciben el documento entre
varias posibilidades. Cuando el documento est terminado y es enviado a alguien fuera del
sistema, ya no es posible garantizar la integridad del documento ni verificar su autenticidad.
1.4.5 Resumen electrnico del Documento
Este es un esquema que es muy utilizado en la actualidad pero no es una parte integral en las
aplicaciones, fue diseado para la distribucin de los archivos electrnicos y es aplicable para los
documentos digitales tambin. Se basa en funciones que crean resmenes de los archivos a
manera de firma.

Imagen 1-5 Funcin de Resumen

Insercin de Informacin Oculta en Archivos PDF

2011

La funcin de resumen est planeada para que siempre que se tenga una entrada especfica se
logre el mismo resultado, pero con el ms mnimo cambio en la entrada el resultado ser
totalmente diferente. Estos mtodos son ampliamente aceptados para verificar la autenticidad de
un archivo, sin embargo ya se ha demostrado que es posible generar el mismo resumen con
entradas diferentes (Colisin de la funcin) por lo que estos mtodos son susceptibles a ser
vulnerados.
1.4.6 Firma Digital
Es un esquema matemtico que sirve para demostrar la autenticidad de un mensaje digital o de un
documento electrnico. Consiste en un mtodo criptogrfico que asocia la identidad de una
persona o de un equipo informtico al mensaje o documento. La Firma Digital utiliza un algoritmo
de resumen electrnico y algoritmos de criptografa para cifrar el resultado del contenido de un
documento y garantizar la autenticidad de un documento.
El sistema de firma digital incluye el uso de certificados digitales, mtodos de renovacin de
certificados, servicios de estampado de tiempo, algoritmos de criptografa y funciones de
resumen.

Imagen 1-6 Sistema de Firma Digital

Insercin de Informacin Oculta en Archivos PDF

2011

Para comprobar la autenticidad de un documento por medio de su firma se necita realizar la


extraccin de los datos del documento y hacer la misma funcin de resumen para que el resultado
sea comparado con el resultado de descifrar la firma digital con la llave publica del que firmo el
documento. Si el resultado del resumen y de la firma digital descifrada es el mismo se puede
comprobar que el documento es el mismo que fue enviado originalmente.
Usualmente la Firma Digital y el certificado son adjuntados a los datos para ser enviados al
destinatario. De esta forma el destinatario puede validar la autenticidad del o los documentos
enviados. Otra opcin es que el destinatario pueda descargar un certificado con la llave pblica
para descifrar o cuente con l antes de recibir los datos.
La seguridad de este esquema se basa tanto en la seguridad del mtodo de cifrado en no poder
encontrarla llave que cifro los datos como en la funcin de resumen. Sin embargo algunas
funciones de resumen ya han sido vulneradas por lo que es posible que se generen diferentes
documentos con el mismo resumen y a este sistema solo le queda confiar en lo bien que se guarde
la clave de cifrado.
En este mtodo de autenticacin la informacin de validacin es visible lo que hace evidente que
se utiliz este esquema de seguridad.
1.4.7 Servidores de certificacin de archivos
En Mxico existe la "NORMA Oficial Mexicana NOM-151-SCFI-2002 [A][B][C], Prcticas
comerciales-Requisitos que deben observarse para la conservacin de mensajes de datos" que se
encarga de regular la certificacin de documentos digitales para demostrar su autora e integridad.
Tiene el propsito de regular la prctica de tener documentos electrnicos y/o la digitalizacin de
documentos originales en papel para demostrar su existencia y poder disponer de los documentos
originales y mejorar su gestin en sistemas informticos.
Estos sistemas generalmente se basan en el apsito de una "constancia", tpicamente: los datos
del prestador, una marca temporal (estampa de tiempo) y una firma electrnica, facilitada por un
tercero de confianza legalmente autorizado.
El esquema es muy parecido al de la Firma Digital con la diferencia que se agrega un elemento
llamado estampa de tiempo que indica la fecha de registro y que los datos de la firma digital y el
certificado se guardan en un servidor de un tercero ajeno al que genera el documento y al que lo
recibe. El tercero es una autoridad certificadora autorizada y es esta entidad la que realiza la
validacin de un documento a peticin de l que recibi el documento.
La entidad certificadora se encarga de cumplir con todos los lineamientos de la norma y de dar el
servicio de validacin. Este mtodo depende de que el servicio de validacin est disponible o se
tenga acceso a l para validar un documento, pero si este estuviera fuera de servicio o no se
tuviera acceso a l por errores en la red del cliente que desea verificar la autenticidad de un
documento los usuarios quedan desamparados hasta que se cuente con el servicio. Adems se
tiene el mismo problema que con los algoritmos de resumen que ya han sido colisionados.
8

Insercin de Informacin Oculta en Archivos PDF

2011

1.4.8 PDF
Los Archivos PDF fueron creados por Adobe, utilizan un mtodo de descripcin de pginas
basado en PostScript y existe toda una solucin implementada a su alrededor utilizando la Suite de
Adobe para crear y controlar archivos PDF. Su finalidad es el poder intercambiar documentos sin
importar el entorno en el que hayan sido creados o en el que se visualicen manteniendo el mismo
aspecto bajo cualquier plataforma.
Adobe ofrece una solucin muy robusta que contempla y propone un proceso de siclo de vida en
la creacin y distribucin de un documento. Sin embargo en el da a da de las aplicaciones y de los
archivos PDF son pocas las empresas que utilizan la Suite de Acrobat para crear sus documentos
debido al amplio nmero de empresas y soluciones que ofrecen la conversin o creacin de estos
Archivos. Adems la seguridad y control que ofrece la suite de Acrobat estn limitados a los
usuarios que cuentan con el sistema en sus equipos. En la seccin Estado del arte de
Autenticacin y Derechos de Autor se describe con mayor detalle lo que se ofrece como sistema
de seguridad y control para estos documentos.
El formato de archivos PDF es usado cotidianamente por muchas aplicaciones ya que la estructura
es pblica y varios proveedores de aplicaciones de creacin de documentos digitales lo han
agregado a sus funciones. Por si sola la estructura de un archivo PDF no tiene control de cambios o
mtodos de validacin, en el presente trabajo se propone un mtodo para incluir informacin
oculta en la estructura de un documento PDF.
Los archivos PDF son ampliamente aceptados por entidades de gobierno y privadas como una
solucin estndar para la representacin de documentos digitales. Existen diferentes
recomendaciones para utilizarlo dependiendo del mbito en el que se utilice. En enero de 2008 el
comit tcnico de ISO aprob una versin final de la documentacin para PDF 1.7 como el
estndar ISO 32000-1[D][E][F][K]. En julio de 2008 puso el archivo a la venta en su pgina Web.
Hasta ahora se han revisado los diferentes mtodos que se han venido utilizando comercialmente
para controlar y autenticar documentos electrnicos. En el siguiente captulo se analizan las
diferentes investigaciones y propuestas que se han diseado para mantener la integridad,
autenticidad o autora de los documentos electrnicos.

Insercin de Informacin Oculta en Archivos PDF

2011

2 Autenticacin y Derechos de Autor en Archivos Digitales


El dueo de una obra o de los derechos de autor de un documento digital espera poder tener una
retribucin econmica, social o un reconocimiento a su trabajo; tambin desea que su trabajo no
sea mal utilizado. La proteccin a los derechos de Autor y Autenticacin son tan importantes y tan
antiguos como el papel y a lo largo de la historia han existido diferentes mtodos para garantizar
que se puede demostrar la autenticidad y el origen de una obra. La importancia de la originalidad y
veracidad de las cosas a pasado de los medios impresos y se ha convertido en parte vital de los
medios digitales.
La definicin ms acepta actualmente para el manejo de derechos de autor digitales fue
introducida por Iannella de IPR Systems en el W3C (World Wide Web Consortium) Taller de
Manejo de Derechos Digitales en 2001[H]:
El manejo de Derechos Digitales (DRM) involucra la descripcin, identificacin, rastreo,
proteccin, monitoreo seguimiento de todas las formas de uso de derechos sobre ambos activos,
tangibles e intangibles - en ambas formas, fsicas y digitales incluyendo el manejo de las
relaciones de los poseedores de los derechos.
Esta definicin incluye muchas actividades y se requiere de diferentes tipos de procesos y
herramientas para conseguir cada una de sus partes.
Existen diferentes formas de medios digitales (audio, video, imgenes y documentos) y en cada
medio se tienen diferentes formas para realizar la autenticacin y hacer valer los derechos de
autor. Los mtodos ms estudios son las marcas de agua, los mtodos de firma y los mtodos de
control de archivos digitales. Tambin existen mtodos que utilizan la estenografa y estos sern
abordados en el siguiente captulo.

2.1 Marcas de Agua


Las marcas de agua se crearon con la intensin de poder identificar la originalidad de un objeto,
son casi tan antiguas como la fabricacin de papel. Durante cientos de aos, cualquiera que
poseyera o fabricase un documento u obra de arte valiosos lo marcaba con un sello de
identificacin o marca de agua (visible o no), no slo para establecer su propiedad, origen o
autenticidad, sino para desalentar a aquellos que pudieran intentar robarlo.
La importancia de lograr este mismo objetivo pas a los medios digitales y aumento debido al gran
auge que han tenido los medios de comunicacin digital. Ahora es posible crear copias exactas de
materiales y distribuirlas por todo el mundo por lo que garantizar la identificacin o control de
copias y su distribucin es de vital importancia para los dueos intelectuales de un material digital.
Los materiales digitales se pueden analizar como seales en varios aspectos y muchas de las
teoras seales aplican en ellos. Es por eso que las marcas de agua se pueden analizar como la
insercin de una seal de informacin en un material digital.
10

Insercin de Informacin Oculta en Archivos PDF

2011

El objetivo de las marcas de agua es introducir una seal en el material digital de tal forma que
esta seal sea un mtodo confiable para la proteccin del material digital contra su uso ilegal. Las
marcas de agua sirven para identificar al origen, destino o autenticidad de un material digital. Las
caractersticas de una marca de agua dependern de su aplicacin.
Es posible que para diferentes aplicaciones se tengan caractersticas completamente diferentes.
Las marcas de agua se clasifican por el dominio de insercin, el tipo de material digital a proteger,
la percepcin humana y a su aplicacin [G].

Imagen 2-1 Clasificacion de Marcas de Agua

El dominio se refiere al lugar en donde se inserta la marca de agua. El dominio espacial se refiere
al espacio donde la seal digital existe, en una imagen es el nada de bits de brillo de cada punto,
en un video es parecido a la imagen ms la localizacin de la imagen en el tiempo. En un audio es
el valor del sonido que se reproduce. El dominio de una trasformacin es el convertir la seal
digital por medio de una funcin a otra seal con diferentes propiedades.
La percepcin de refiere a si la marca de agua es visible para el ojo humano o no. Cuando una
marca de agua es invisible tambin se suele subdividir a las marcas de agua en frgil, semi-frgil y
robusta dependiendo de su funcin.
Las marcas de agua que se aplican a los diferentes medios son diferentes entre s por lo que se
separan segn el medio. Las imgenes y los videos son muy parecidos, sin embargo los medios
digitales de audio y los de texto son diferentes. Tambin es posible agregar marcas de agua a otros
medios digitales pero su desarrollo no es muy grande.
Adems de esta clasificacin tambin se encuentran las clasificaciones por objetivo a proteger y
por medio de deteccin.
Para detectar una marca de agua se tienen dos formas principales las marcas de agua ciegas y las
no ciegas. Las ciegas son la que no necesitan de tener el medio digital original para corroborar si
existe una marca de agua. Las no ciegas son las que necesitan tener el medio digital original para
compararlo con el medio digital que contenga la marca de agua.
Las marcas de agua se utilizan para las siguientes funciones:
Proteccin de derechos de autor: se incluye en los medios digitales una marca de agua que
permita demostrar u obtener la informacin de la autora u origen de un material digital.

11

Insercin de Informacin Oculta en Archivos PDF

2011

Identificacin: se utiliza para identificar a los usuarios o compradores de un medio y as saber si


alguien hace mal uso de un material digital.
Control de Copias: las marcas de agua pueden contener informacin que evite que los equipos o
sistemas de reproduccin puedan copiar el material protegido por la marca de agua.
Monitorio de la Difusin: se pueden disear mtodos de supervisin automatizados que puedan
revisar si un material est siendo distribuido de la manera en que se haya contratado el servicio de
publicacin.
Autenticacin: Se agrega la marca de agua frgil para poder garantizar que un medio no ha sido
modificado son el consentimiento de su autor.
Las marcas de agua son frgiles cuando al ms mnimo cambio en la seal portadora, la marca de
agua se destruye y ya no es detectable. Esto sirve para garantizar que un medio no ha sido
alterado en su composicin.
Las marcas de agua son robustas cuando se disean para que soporten un gran nmero de
cambios en la seal portadora haciendo que la marca de agua persista y sea detectable hasta que
la seal deje de ser til debido al nmero de modificaciones. Esto nos ayuda a mantener los
derechos de autor de un material.
Las marcas de agua son semi-frgiles cuando estn planeadas para soportar las modificaciones
ms comunes sin desaparecer pero con cambios ms notorios la marca se destruya.
En la actualidad existen muchos usos para las marcas de agua en diferentes medios (imgenes,
audio y video), sin embargo en el mbito del texto o los documentos electrnicos no existen
grandes avances al respecto.

2.2 Seguridad persistente en los documentos


Una solucin mucho ms eficaz para la proteccin de un documento electrnico es asignar los
parmetros de seguridad como una parte integral del propio documento. Los criterios siguientes
se definen la seguridad persistente de los documentos.
1.
2.
3.
4.
5.
6.

Confidencialidad - Quin debe tener acceso al documento?


Autorizacin - Qu permisos tiene el usuario tiene para trabajar con el documento?
Rendicin de cuentas - Qu ha hecho con el destinatario del documento?
Integridad - Cmo sabes si el documento ha sido alterado?
Autenticidad - Cmo sabes que el documento de vino?
No repudio - Puede el firmante negar la firma del documento?

12

Insercin de Informacin Oculta en Archivos PDF

2011

Imagen 2-2 Ciclo de vida de la seguridad persistente de un documento

2.2.1 Control de Documentos


Confidencialidad - Cifrado
El cifrado es el proceso de transformacin de la informacin (texto plano) en una forma
incomprensible (texto cifrado). La encriptacin es una tcnica eficaz para la gestin de acceso a los
documentos.
El descifrado es el proceso inverso que transforma el texto cifrado de nuevo al texto original.
La criptografa se refiere a los dos procesos de cifrado y descifrado y su aplicacin se conoce como
un sistema de cifrado.
Los sistemas de cifrado ms populares utilizan el concepto de llaves. Una clave de cifrado son
datos que se combinan con un algoritmo de cifrado para; crear un texto cifrado a partir de texto;
y recuperar texto plano de un texto cifrado. Hoy en da, los expertos en seguridad estn de
acuerdo con los principios de "Kerckhoff" como la base de un sistema de cifrado eficaz. Los
Principios de Kerckhoff establecen que la clave es la nica parte de un sistema criptogrfico que
debe permanecer en secreto para que todo el sistema sea seguro. Si la fuerza del sistema de
cifrado se basa en el hecho de que un atacante no sabe cmo funciona el algoritmo, entonces es
slo cuestin de tiempo antes de que se pueda hacer la ingeniera inversa y romper el mtodo de
cifrado.
Existen dos tipos de mtodos de cifrado, los simtricos y los asimtricos
13

Insercin de Informacin Oculta en Archivos PDF

2011

Claves simtricas: la criptografa de llave simtrica utiliza la misma clave para cifrar y para
descifrar y es muy rpido y difcil de romper cuando se usan llaves grandes. Sin embargo, como
ambas partes tienen la misma llave para una comunicacin efectiva que se produzca, la
distribucin de llaves se convierte en un problema. Hoy en da los algoritmos simtricos comunes
son AES, DES, 3DES, y RC4.
Claves asimtricas: la criptografa de llave asimtrica, tambin llamada criptografa de llave
pblica, utiliza un par de llaves para el cifrado y descifrado. Por ejemplo, si la primera llave cifra el
contenido, entonces la segunda llave de la pareja descifra el contenido. Del mismo modo, si la
segunda llave se utiliza para cifrar la informacin, a continuacin, la primera llave se debe utilizar
para descifrar el contenido.
Normalmente, una de las claves del par se etiqueta como la llave pblica y la otra como la llave
privada. Un individuo mantiene en secreto la llave privada, mientras que la llave pblica se
distribuye gratuitamente a otros que deseen comunicarse con la persona que tiene la privada.
Cuando alguien desea enviar a la persona con la llave privada un mensaje confidencial, l o ella
pueden cifrar con la llave pblica libremente disponible y enviar el texto cifrado al individuo.
Debido a que el individuo es el nico que tiene la llave privada, l o ella es el nico que puede
descifrar el contenido.
Las llaves asimtricas ayudan a resolver el problema de distribucin de claves, pero los algoritmos
tienden a ser ms lentos. Algunos algoritmos asimtricos comunes son RSA, DSA y El Gamal.
Autorizacin
Adems de manejar quien puede abrir un documento, las organizaciones obtienen proteccin
adicional a travs de la autorizacin. La autorizacin especfica lo que un usuario puede hacer con
un documento y se logra a travs de permisos y control dinmico de documentos.
Permisos
Los permisos rigen la actuacin de un usuario al trabajar con un documento protegido. Los
permisos se pueden especificar si un destinatario que tiene acceso al documento est autorizado a
imprimir o copiar el contenido, rellenar campos, aadir comentarios o anotaciones en el
documento, insertar o eliminar pginas, remitir el documento, firmar digitalmente el documento,
y as sucesivamente con cada accin posible en el documento.
2.2.2 Control Dinmico de documentos
El control dinmico documento mantiene los derechos de acceso y permisos asignados a un
documento electrnico una vez que ha sido publicado y distribuido. El autor de un documento
puede realizar cambios en un documento dado a conocer sin tener que redistribuirlo
manualmente ya que los cambios se envan automticamente a todas las versiones existentes del
documento, sin importar su lugar de residencia. Usando el control de documentos dinmicos, las

14

Insercin de Informacin Oculta en Archivos PDF

2011

organizaciones pueden gestionar y supervisar el uso de documentos electrnicos dentro y fuera


del firewall, en lnea o no, y en varios documentos.
El control dinmico documento incluye las siguientes capacidades:
1. Caducidad de Documento y revocacin
El control posterior a la publicacin del documento se puede mantener a travs de la
aplicacin de fechas de vencimiento y la posibilidad de revocar el acceso a un documento.
Por ejemplo, un autor puede enviar un documento que expirar dentro de dos semanas
para que los destinatarios no puedan tener acceso a l una vez que la fecha de caducidad
ha pasado. O bien, el acceso a un documento puede ser revocado automticamente si un
destinatario autorizado abandona el proyecto o cambia de departamento.
2. Gestin de acceso fuera de lnea
Las organizaciones pueden administrar la duracin que un destinatario autorizado puede
tener un documento fuera de lnea. Una vez que la longitud de tiempo ha pasado, el
destinatario ya no puede ver el documento y tiene que ir de nuevo al sistema en lnea para
obtener el acceso. Cualquier cambio de acceso o permisos que el autor haya realizado en
el documento distribuido se aplicar cuando el destinatario este de nuevo en lnea.
3. Control persistente de versiones
Los sistemas de gestin de documentos y de contenido proporcionan un mecanismo eficaz
de control de versiones, siempre y cuando un documento se Mantenga dentro de los
lmites del sistema. El control persistente de versiones funciona manteniendo el control de
versiones fuera del sistema y fuera de lnea. Permite a los autores del documento realizar
cambios en las polticas de uso de un documento y evitar que la versin obsoleta se
acceda por los usuarios finales mientras se actualiza la versin.

2.2.3 Rendicin de cuentas


La auditora de documentos permite a las organizaciones mantener la responsabilidad de los
usuarios con respecto a la utilizacin de documentos protegidos, ya que se pueden conocer con
precisin a los involucrados con un documento:
Cmo un destinatario ha utilizado un documento? Con qu frecuencia se produjo cada tipo de
uso? Cuando ocurri el uso del documento?
La rendicin de cuentas se logra cuando un autor puede rastrear el uso de cada destinatario de un
documento para cada permiso asignado (por ejemplo, permitir que un usuario rellene los campos

15

Insercin de Informacin Oculta en Archivos PDF

2011

en un formulario, imprimir, reenviar, guardar una copia, etc.) La auditora debe incluir
notificaciones automticas sobre el uso de los documentos protegidos.
Por ejemplo, un representante de servicio al cliente enva un cliente una declaracin electrnica
con tiempo crtico que requiere una accin por parte del cliente, como una respuesta o firma
digital. Una vez que el cliente recibe el documento electrnico, se notifica automticamente al
representante cuando el cliente lo abre. Si el cliente no puede abrir el documento, el se notifica al
representante 24 horas despus.
2.2.4 Firmas digitales
Cuando las empresas distribuyen documentos electrnicamente, a menudo es importante que los
destinatarios puedan verificar lo siguiente:

Que el contenido no ha sido alterado (integridad)


Que el documento proviene de la persona real que lo envi (autenticidad)
Que un individuo que ha firmado el documento no puede negar la firma (no repudio)

Las firmas digitales son una buena solucin frente a estos requisitos de seguridad al ofrecer
mayores garantas para la integridad de los documentos, la autenticidad y no repudio.
2.2.5 Integridad
Las firmas digitales permiten a los beneficiarios verificar la integridad de un documento
electrnico que se utiliza en un solo sentido o flujos de trabajo de ida y vuelta. Por ejemplo,
cuando una firma digital se aplica a los estados financieros trimestrales, los beneficiarios tienen
ms seguridad de que la informacin financiera no se ha modificado desde que fue enviado.
Los mtodos para mantener la integridad son:

Bits de paridad o funciones de comprobacin de redundancia cclica (CRC)


Funciones del CRC funcionan bien para las modificaciones no intencionales, pero pueden
ser eludidas por un atacante inteligente de modificacin.
Hash unidireccionales

Un hash de un solo sentido crea un valor de longitud fija, llamada el valor hash o resumen del
mensaje de un documento de cualquier longitud. Un hash es como una huella digital nica. Con un
hash adjunto al mensaje original, un receptor puede determinar si el mensaje ha sido alterado al
volver a calcular el hash y comparar su respuesta con el hash adjunto. Los algoritmos comunes de
hash son MD5, SHA-1 y SHA-256. Adobe ha adoptado los algoritmos SHA-1 y SHA-256, debido a su
amplia aceptacin como un estndar de seguridad.

Cdigos de autenticacin de mensajes (MAC)

Un MAC evita que un atacante pueda obtener el mensaje original, modificarlo, y adjuntar un
nuevo hash. En este caso, una clave simtrica est contenida en el MAC y luego se realiza un hash

16

Insercin de Informacin Oculta en Archivos PDF

2011

(HMAC). Sin la llave, un atacante no puede crear un nuevo mensaje. Adobe utiliza HMAC en su
caso. Las firmas digitales permiten verificar la integridad de un documento electrnico.
2.2.6 Autenticidad
Las firmas digitales proporcionan la autenticidad de un documento mediante la verificacin de la
identidad digital de un firmante. Por ejemplo, una firma digital de los estados financieros
trimestrales permite a los beneficiarios verificar la identidad del remitente y les asegura que la
informacin financiera no se ha modificado desde que fue enviado.
Las firmas digitales se crean utilizando criptografa de clave asimtrica. Para el cifrado de
documentos, el autor de un documento cifra un documento usando una clave pblica. Debido a
que el receptor es la nica persona con la clave privada, l o ella es el nico que puede descifrar el
mensaje. El autor cifra el hash del mensaje con una clave privada. Slo la clave pblica
correctamente puede descifrar el hash y lo utilizan para ver si coincide con un nuevo hash del
documento. Debido a que los destinatarios del documento tienen la clave pblica del autor, que
obtienen una mayor seguridad de que la persona que firm el documento era la persona que cifr
el valor hash original.
El proceso que constituye una firma digital es el siguiente:

Un hash se crea son el documento original.


La firma digital es creada al cifrar el hash con una clave privada.
La firma se incluye en el documento.

2.2.7 No repudio
No repudio es un servicio de seguridad de los documentos que impide que el firmante del
documento pueda negar que firm el documento. El apoyo a este servicio es a menudo impulsado
por la autentificacin y las capacidades de marcado de tiempo.
2.2.8 Infraestructura de clave pblica (PKI)
La infraestructura de clave pblica (PKI), principalmente ofrece un certificado digital que permite a
los receptores de un documento saber si una clave pblica especfica pertenece realmente a un
individuo especfico. Los certificados digitales se unen a una persona (o entidad) y a una clave
pblica. La autoridad certificadora (CA) expide los certificados y los receptores deben confiar en la
CA que emiti el certificado. X.509 es un estndar ampliamente aceptado y es el metido de
certificado de Adobe utiliza.
Si el certificado caduca o una clave privada se ve comprometida, la autoridad competente
revocar el certificado y registra la revocacin. Como parte del proceso de autenticacin de un
certificado digital, los receptores pueden verificar el estado del certificado. Certificado de validez
se puede comprobar mediante los mtodos estndar siguientes:
Certificado de lista de revocacin (CRL)
Protocolo de estado de certificados en lnea (OCSP)
17

Insercin de Informacin Oculta en Archivos PDF

2011

3 Esteganografa y los Medios Digitales


El manejo de los derechos de autor dentro de los documentos digitales es abordable por
diferentes mtodos y tcnicas para garantizar varias de las partes del manejo de derechos
digitales. La esteganografa es una herramienta que permite crear mtodos de control para las
diferentes partes que se contemplan en un mtodo persistente para la seguridad de los
documentos.
La esteganografa es el arte de ocultar informacin dentro de un medio de tal forma que esta sea
imperceptible dentro del medio oculto. La imperceptibilidad que conlleva la esteganografa es la
propiedad que permite crear sistemas con alto grado de seguridad para evitar que algn atacante
sea capaz de modificar los mecanismos internos que se establecen para proteger un documento.
La esteganografa se puede utilizar para autenticar un documento introduciendo informacin de
control en el mismo, incluso es posible introducir otros mtodos de seguridad como marcas de
agua para autenticar un documento. Tambin es posible utilizar la esteganografa para introducir
informacin sobre el origen del documento y sobre el mtodo de distribucin para validar
permisos o integridad.
Otro mtodo posible es el de embeber el mismo documento en s mismo para poder validar su
integridad e incluso indicar el lugar donde existan las modificaciones. Tambin es posible crear un
mtodo en el que se pueda rastrear los diferentes cambios que se le han hecho al documento por
los diferentes usuarios con acceso al documento.
Los posibles sistemas que permite crear la esteganografa son capases de cubrir todos los aspectos
del manejo de derechos digitales y crear sistemas de seguridad persistentes que no usen
estructuras especificas dentro del documento que puedan ser modificadas o burladas por los
atacantes.
Entre las diferentes opciones para poder insertar informacin oculta dentro de un documento
podemos encontrar el uso de cdigos para representar datos, la modificacin de parmetros del
formato del documento para indicar bits de datos, la modificacin de imgenes o la insercin de
informacin oculta de dentro de los parmetros de creacin del mismo documento. Adems de las
investigaciones, tambin existen aplicaciones comerciales que utilizan medios digitales como
portadoras de mensajes ocultos. Primero analizaremos las diferentes investigaciones y
posteriormente enumeraremos algunas de las aplicaciones que existen actualmente.

3.1 Autenticacin Basada en el Contenido


La autenticacin basada en el contenido es el mtodo de autenticar un documento utilizando la
misma informacin que describe al documento, en lugar de utilizar una cadena binaria que
represente al documento. Este mtodo permite tener una robustez en el autenticador que
permanece valida a pesar de cualquier cambio en el formato o transformacin que ocurra en el
documento.
18

Insercin de Informacin Oculta en Archivos PDF

2011

En el presente trabajo abordamos la opcin de insertar informacin dentro de los parmetros que
describen y crean un documento PDF.

3.2 Codificacin por Cambio de Lneas


En esta codificacin se pretende modificar la distancia en la que pintan los renglones entre s. Para
poder decodificar el mensaje contenido en un archivo es necesario digitalizarlo si se a impreso y
medir la distancia entre los renglones para determinar si se a insertado informacin. De esta
forma es posible insertar N bits de informacin dependiendo de N lneas que tenga una hoja. En
este proceso se tiene un nmero limitado de espacios para colocar informacin.

3.3 Codificacin por Cambio de Palabras


En esta aproximacin fue presentada junto a la codificacin por cambio de lneas pero en esta se
necesita cambiar la posicin de las palabras acercndolas o alejndolas entre s. Este mtodo
permite tener ms espacio para introducir informacin, sin embargo como muchos programas
utilizan espacios dinmicos para mostrar las palabras se necesita tener el texto original para poder
comparar si ha habido cambios en el documento. Un atacante a este mtodo necesita mas
esfuerzo para eliminar la seguridad.

3.4 Codificacin de Caractersticas


En este mtodo se aprovechan las caractersticas de las fuentes, letras, coles y tamaos que tiene
un documento. En este mtodo se modifican las caractersticas de algunas de las letras para
codificar informacin. En el archivo se incluyen las fuentes modificadas y no es necesario modificar
todas las partes del documento. Para que un atacante pueda modificar la informacin en este
mtodo es necesario que sepa cuales letras han sido modificadas y tener la fuente original para
comparar.
En esta codificacin de caractersticas es posible explotar cualquier caracterstica que describa el
texto a mostrarse. Un ejemplo es el manejo de las mtricas de las palabras para insertar
informacin. Las mtricas son los espacios que utilizan el programa o lenguaje descriptor para
indicar la distancia entre un carcter y otro.
Dentro de estas mtricas es posible introducir ms informacin que en cualquier otra
aproximacin ya que es posible insertar la informacin de un carcter completo en lugar de un bit
por cada letra.
Adems es posible indicar un desorden en el pintado de los caracteres del documento de tal forma
que al abrirlo directamente no se pueda entender el orden de pintado y sea solo visible el texto al
abrirlo a travs de la aplicacin intrprete comn disuadiendo a los posibles atacantes a modificar
el archivo.

3.5 Aplicaciones de Esteganografa


En la actualidad existen varios programas que ofrecen servicios de esteganografa en diferentes
medios digitales como imgenes, archivos y videos. Algunos de ellos se muestran en la Tabla 3-1.
19

Insercin de Informacin Oculta en Archivos PDF


Programa
Steganoptic 0.1[1]
Cloack 7.0[2]

CryptoMX[3]

2011

Plataforma
Windows/Linux
Windows

Descripcin
Permite agregar mensajes ocultos en imgenes GIF
Permite cifrar y ocultar archivos dentro de imgenes
BMP. Utiliza algoritmos de cifrado Cloak-128,
Blowfish y Mercury
Windows / Linux / Es una coleccin de herramientas de criptografa y
Mac
esteganografa que se utiliza en aplicaciones WEB
por medio de JavaScript en cualquier explorador de
internet. Genera una secuencia aleatoria de texto de
la cual extrae el texto original.
Windows
Permite guardar texto en imgenes

Dounds
Steganography[4]
Hide in Picture Windows
(HIP) 2.1[5]
UnderMP3Cover[6] Linux

Permite guardar archivos en mapas de bits utilizando


una contrasea.
Permite ocultar archivos o texto en archivos MP3
dependiendo de su tamao
S-Tools[7]
Windows
Es una herramienta que permite ocultar archivos
dentro de imgenes, videos o archivos de audio. Se
pueden ocultar varios archivos e incluso ocultarlos al
mismo tiempo.
Wodax[8]
Linux
Es una aplicacin que permite guardar un archivo de
texto plano en una imagen PNG. Est escrito en C++
y ha sido probado en Gentoo, Debian y Ubuntu.
MP3Stego[9]
Windows
Es un Programa que permite ocultar informacin
dentro de un archivo MP3. La informacin es
comprimida y cifrada antes de introducirla en el
archivo.
Invisible Secret[10] Windows
Es un programa que permite esconder informacin
dentro de archivos de imgenes, de audio y HTML.
La informacin se cifra antes de guardarla en el
archivo.
InvisibleInk[11]
Windows/Linux/MAC Es un Programa hecho en Java que permite
introducir informacin dentro de archivos BMP y
cifrarlos con una contrasea.
Hermetic Stego[12] Windows
Es un programa que permite introducir un archivo de
cualquier tipo dentro de una o varias imgenes BMP
utilizando un mtodo aleatorio por medio de una
clave. El mtodo aleatorio permite evitar la
deteccin de la informacin por aplicaciones de
anlisis estadstico.
BitCrypt[13]
Windows
Es u programa que cifra texto plano y lo introduce
dentro de imgenes de mapa de bits.
Bon Kyu Bon[14]
Windows
Es un programa que permite introducir texto dentro
de archivos de diferentes tipos; BMP, GIF, TIF, PNG,
WAV, MID and .NET Assemblies.
SteganoG[15]
Windows
Es un programa que guarda informacin en mapas
de bit y permite utilizar algoritmos de cifrado; RC4,
20

Insercin de Informacin Oculta en Archivos PDF

PicCrypto[16]

Windows

Camouflage[17]

Windows

P2Stego[18]

Windows

Xiao
Steganography[19]

Windows

2011

Blowfish, TEA, Twofish y Skipjack.


Es un programa que cifra y convierte cualquier
archivo en una Imagen BMP utilizando una llave. La
imagen se puede convertir de nuevo en archivo
indicando la llave del cifrado.
Es una aplicacin que permite ocultar cualquier
archivo en cualquier otro archivo, es posible utilizar
una clave para ocultar y recuperar el archivo.
Es un programa que Permite Guardar texto en un
Archivo cualquiera. Se puede indicar una contrasea
para recuperar el mensaje.
Es un programa que permite guardar informacin en
archivos BMP o de Audio.
Tabla 3-1Programas de Esteganografa

En la tabla anterior se enumeraron varios programas que utilizan esteganografa, La mayora de los
programas son parecidos en los mtodos que utilizan y los archivos que puede utilizar; por lo
general se utilizan archivos de imgenes, audio y video [20]. Los programas que pueden insertar
informacin en documentos de texto son pocos y en el caso de Archivos PDF no hay una
implementacin especfica.
En el captulo siguiente se describen las caractersticas y partes de un archivo PDF.

21

Insercin de Informacin Oculta en Archivos PDF

2011

4 Estructura de los archivos PDF


El formato de documento porttil (PDF) fue inventado por Adobe Systems y ha sido perfeccionado
durante 17 aos; es el estndar mundial que permite capturar y revisar informacin sofisticada
desde cualquier aplicacin y en cualquier sistema informtico, as como compartirla con
prcticamente cualquier persona en cualquier sitio.

4.1 Caractersticas
Las caractersticas que los archivos PDF ofrecen son:
Estndar abierto: el formato PDF es ahora un estndar formal abierto conocido como ISO 32000.
Mantenida por la Organizacin Internacional de Estandarizacin (ISO), la norma ISO 32000 seguir
desarrollndose para cumplir los objetivos de proteger la integridad y longevidad del formato PDF,
lo que proporciona un estndar abierto para los ms de mil millones de archivos PDF que existen
hoy en da. se han generado herramientas de software libre que permiten crear, visualizar o
modificar documentos en formato PDF. Un ejemplo es la suite ofimtica OpenOffice.org y el
procesador de textos LaTeX.
Multiplataforma: los archivos PDF se pueden visualizar e imprimir desde prcticamente todas las
plataformas, incluidas Windows, Mac OS y plataformas mviles como Android.
Extensible: ms de 2.000 proveedores en todo el mundo ofrecen soluciones basadas en PDF, que
incluyen creacin, plug-ins, consultoras, formacin y herramientas de soporte tcnico.
Fiable: el hecho de que haya ms de 150 millones de documentos PDF para uso pblico circulando
en la red hoy en da, junto con los innumerables archivos PDF en administraciones pblicas y
negocios, es la prueba de la cantidad de organizaciones que confan en este formato para
transmitir informacin.
Sofisticado en cuanto a la integridad de la informacin: los archivos PDF tienen el mismo aspecto
y muestran la misma informacin que los archivos originales como, por ejemplo, texto, dibujos,
contenidos multimedia, vdeos, 3D, mapas, grficos en color, fotos e incluso lgica empresarial,
independientemente de la aplicacin utilizada para crearlos y de si se han compilado en una sola
cartera PDF a partir de mltiples formatos.
Capacidad de bsqueda: las funciones de bsqueda de texto en documentos y metadatos facilitan
las bsquedas en los documentos PDF.
Accesible: los documentos PDF utilizan tecnologas de asistencia para facilitar el acceso a la
informacin a personas con discapacidades.
Flexible: Puede ingerir cualquier combinacin de texto, elementos multimedia como vdeos o
sonido, elementos de hipertexto como vnculos y marcadores, enlaces y miniaturas de pginas.
Seguridad: Puede cifrarse para proteger su contenido e incluso firmarlo digitalmente.
22

Insercin de Informacin Oculta en Archivos PDF

2011

Portabilidad: Los ficheros PDF son independientes del dispositivo, el mismo archivo puede
imprimirse en una impresora de inyeccin de tinta o una filmadora. Para la optimizacin de la
impresin podremos configurar las opciones de creacin del fichero PDF.
Un archivo PDF est definido por el estndar ISO 32000 en el que se especifican las partes, formas
de creacin de un archivo PDF y de los objetos que lo componen.

4.2 Objetos del Estndar PDF ISO 32000


Los archivos PDF incluyen ocho tipos bsicos de objetos; valores lgicos, nmeros enteros y reales,
cadenas de texto, nombres, arreglos, diccionarios, cadenas y objetos nulos. Los objetos en un
archivo PDF se escriben con ciertas reglas que aplican para cualquier tipo de objeto.
Los objetos deben de ser marcados para poder ser referenciados por otros objetos. Un objeto
marcado es llamado un objeto indirecto. Todo el texto contenido en un Archivo PDF se analiza
para determinar si es un objeto y que tipo de objeto es.
Cada objeto tiene una sintaxis que lo identifica y ayuda al lector a decodificar el archivo
correctamente. Cuando se desea agregar un comentario se utiliza el smbolo de porcentaje al
principio de la lnea, todo el texto que siga despus de este smbolo y hasta el fin de la lnea se
descarta del proceso de anlisis; siempre y cuando el smbolo de porcentaje no se encuentre
dentro de un objeto de cadena de texto ni de cadena.
4.2.1 Objetos Lgicos
Los Objetos Lgicos se representan por los valores de verdadero y falso. En un archivo PDF
aparecen indicados por las palabras claves de true y false.
4.2.2 Objetos Numricos
PDF provee de dos tipos de objetos numricos; enteros y reales. El rango y la precisin pueden ser
limitados por la representacin interna usada por la computadora en la que se ejecuta el lector
compatible.
Un Entero se escribe como uno o ms dgitos decimales opcionalmente precedidos por signo. El
valor ser tratado como un entero decimal con signo y debe ser convertido a un objeto entero.
Ejemplo 1 Objetos Enteros
123

43445 +17

-98 0

Un valor Real se escribe con uno o ms dgitos decimales con un signo opcional y un punto inicial,
final o incrustado. El valor debe ser tratado como un nmero real y debe ser convertido a un
objeto real.
Ejemplo 2 Objetos Reales
34.5

-3.62

+123.6 4

-.002 0.0

23

Insercin de Informacin Oculta en Archivos PDF

2011

Aunque Objeto Numrico es parte del estndar, este puede significar cualquiera de los dos
anteriores.
4.2.3 Objetos de Cadena de Texto
Un Objeto de Cadena de Texto consiste en una serie de cero o ms bytes. Los Objetos de Cadena
de Texto no son objetos de tipo entero pero son almacenados en un formato ms compacto. Este
tipo de objetos se puede escribir utilizando una de estas opciones.

Como una secuencia de caracteres literales encerrados por parntesis.


Como una informacin hexadecimal encerrada en llaves de Angulo <>

4.2.3.1 Cadenas Literales


Una cadena literal debe de ser escrita como un nmero arbitrario de caracteres encerrados entre
parntesis. Cualquier carcter puede aparecer en una cadena, excepto parntesis no balanceados,
ni el smbolo de barra invertida \ (5Ch).
Ejemplo 1 Los siguientes son valores de literales validos
(This is a string)
(Strings may contain newlines
and such.)
(Strings may contain balanced parentheses ( ) and
special characters (*!&}^% and so on).)
(The following is an empty string.)
()
(It has zero (0) length.)

Dentro de una cadena literal se utiliza la barra invertida como carcter de escape. El siguiente
carcter al smbolo de escape (\) determina la interpretacin que el lector le dar como se en la
tabla 4-1. Si el carcter subsecuente a la barra invertida no pertenece a ninguno de los mostrados
en la tabla se ignorara al smbolo de escaque (\).
Secuencia

Interpretacin

\n

Salto de lnea (0Ah) (LF)

\r

Vuelta de Carro (0Dh) (CR)

\t

Tabulador Horizontal (09h) (HT)

\b

Retroceso (08h) (BS)

\f

Entrada de Formulario (FF)

\(

Parntesis Izquierdo (28h)

\)

Parntesis derecho (29h)

\\

Barra Inversa (5Ch) (Backslash)

\ddd

Cdigo de caracter ddd (octal)


Tabla 4-1 Secuencia de escape en cadenas literales

24

Insercin de Informacin Oculta en Archivos PDF

2011

Un programa compatible que escriba archivos PDF debe de dividir las cadenas Literales en varias
lneas. La barra invertida al final de una lnea indica que la cadena literal contina en la siguiente
rengln. UN lector compatible ignora la barra invertida seguida del smbolo de fin de lnea para
crear una cadena de texto que no ha sido segmentada.
Ejemplo 2

These \
two strings \
are the same.)
(These two strings are the same.)

4.2.3.2 Cadenas Hexadecimales


Las cadenas tambin pueden ser escritas de forma hexadecimal que es til para guardar
informacin binaria arbitraria en un archivo PDF. Una cadena hexadecimal debe escribirse como
una secuencia de dgitos hexadecimales codificados como caracteres ASCII y encerrado entre
smbolos <>.
Ejemplo 1

<4E6F762073686D6F7A206B6120706F702E>

Cada par de dgitos hexadecimales definen un byte de la cadena, los espacios, tabuladores vuelta
de carro, entrada de lnea y entrada de formulario son ignorados. En caso de la falta de un digito
para completar un par se sobre entiende que es 0.
4.2.4 Objetos Nombre
Comenzando en la versin 1.2 los objetos nombre son smbolos atmicos definidos nicamente
por una secuencia con cualquier carcter, excepto el carcter nulo (0h). nicamente definidos
significa que dos objetos nombres hechos con la misma secuencia de caracteres denotan al mismo
objeto. Atmico significa que no posee estructura interna.
Cuando se escribe un Objeto Nombre en un Archivo PDF se debe de comenzar con el smbolo de
barra (/). La barra no forma parte del nombre es un prefijo que indica que la siguiente secuencia
de caracteres representa un nombre en el archivo PDF y debe seguir las siguientes reglas:

Un smbolo numrico en un nombre debe de ser escrito usando su cdigo hexadecimal de


2 caracteres (23h), precedido por el signo de nmeros (#).
Cualquier carcter regular en un nombre (excepto el smbolo de nmeros) deber ser
escrito como es o utilizando su cdigo hexadecimal de dos dgitos precedidos por el
smbolo de nmeros (#).
Cualquier carcter que no sea regular debe de ser escrito usando su cdigo hexadecimal
de dos dgitos precedido por el smbolo de nmeros (#).

Los espacios dentro de un objeto nombre se deben de indicar con la codificacin hexadecimal de
dos dgitos y no puede haber espacio en blanco entre el smbolo de barra y el comienzo del
nombre.
Los caracteres regulares fuera del rango del smbolo de admiracin (21h) () y la tilde (7h) (~)
deben ser escritos con su cdigo hexadecimal.
25

Insercin de Informacin Oculta en Archivos PDF

2011

El smbolo de barra (sin ningn carcter posterior) introduce un nombre nico vlido definido por
la secuencia vaca.
Los ejemplos de la tabla con el smbolo # no son vlidos en las versiones 1.0 y 1.1.
Sintaxis del nombre literal

Nombre resultante

/Name1

Name1

/ASomewhatLongerName
/A;Name_With-Various***Characters?
/1.2
/$$
/@pattern

ASomewhatLongerName
A;Name_With-Various***Characters?
1.2
$$
@pattern

/.notdef

.notdef

/lime#20Green

Lime Green

/paired#28#29parentheses

paired()parentheses

/The_Key_of_F#23_Minor

The_Key_of_F#_Minor

/A#42

AB
Tabla 4-2 Ejemplo de Objetos tipo Nombre

Los nombres en un archivo PDF son atmicos y nunca son tratados como texto que se mostrara al
usuario ni a alguna aplicacin externa.
4.2.5 Objetos Arreglo
Un objeto arreglo es una coleccin unidimensional de objetos arreglados secuencialmente. A
diferencia de los arreglos en otros lenguajes de computadora, los arreglos en PDF pueden ser
heterogneos; esto es que los elementos en el arreglo puede ser de cualquier tipo, incluso ms
arreglos.
Un arreglo debe escribirse como una secuencia de objetos encerrados en Parntesis Cuadrados ([
y ]) (5Bh y 5Dh).
Ejemplo 1

[549 3.14 false (Ralph) /SomeName]

El formato PDF solo soporta arreglos unidimensionales. Para crear arreglos con ms niveles se
necesita introducir arreglos como elementos anidados a cualquier nivel.
4.2.6 Objetos Diccionario
Un objeto diccionario es una tabla asociativa que contiene pares de objetos, conocidas como
entradas del diccionario. El primer elemento del de cada entrada es la llave y el segundo elemento
es el valor. La llave debe ser un objeto nombre mientras que el valor puede ser cualquier tipo de
objeto PDF. Una entrada de diccionario con valor nulo es tratada como si la entrada no existiera.
Las entradas de in diccionario representan una tabla asociativa y como tal se encuentra
desordenada, aunque al momento de ser escrito el archivo se tenga un orden este ser ignorado.
Mltiples entradas en el mismo diccionario no deben tener el mismo nombre.
26

Insercin de Informacin Oculta en Archivos PDF

2011

Un diccionario debe de ser escrito como una secuencia de pares Llave-Valor encerradas en
parntesis angulares dobles (<<>>).
Ejemplo

<< /Type /Example


/Subtype /DictionaryExample
/Version 0.01
/IntegerItem 12
/StringItem (a string)
/Subdictionary << /Item1 0.4
/Item2 true
/LastItem (not!)
/VeryLastItem (OK)
>>
>>

Los objetos diccionario son los bloques de construccin principales de un documento PDF. Son
usados comnmente para reunir y atar juntos los atributos de objetos complejos en cada entrada
del diccionario, especificando el nombre y valor de un atributo. Por convencin la entrada Type
en un diccionario, si existe, especifica el tipo de objeto que el diccionario describe. En algunos
casos la entrada Subtype o S se utilizan para identificar una subcategora especializada del
objeto general. El valor de la entra Type y Subtype debe de ser un objeto de tipo nombre.
El valor de la entrada Type puede ser inferido casi siempre por el contexto y su utiliza ms para
documentacin y correccin de errores. La entrada Type no es requerida a menos que la
descripcin de un objeto indique sea as. Tampoco existen valores correctos o no para esta
entrada, por lo que cualquier valor es vlido.
4.2.7 Objetos Cadenas
Un Objeto Cadena, al igual que una cadena de texto, es una secuencia de bytes. Sin embargo un
objeto cadena no tiene limitaciones de longitud a diferencia de la cadena de texto que tiene
limitaciones segn la implementacin. Por esta razn, los objetos potencialmente grandes, como
imgenes o descripciones de pgina, deben ser representados como cadenas. El contexto en el
que se agrega una cadena determina que es lo que representa la secuencia de bytes.
Una cadena consiste de un diccionario seguido de cero o ms bytes encerrados entres las palabras
clave stream (seguida de una nueva lnea) y endstream.

Ejemplo

dictionary
Stream
Zero or more bytes
endstream

Todas las cadenas deben ser objetos indirectos mientras que el diccionario debe ser un objeto
directo. La palabra clave stream, despus del diccionario, debe estar seguida de un marcador de
fin de lnea consistiendo de un smbolo de vuelta de carro y salto de lnea, o de un salto de lnea
solo; y no solo por una vuelta de carro. La secuencia de bytes que dan forma a la cadena residen
entre un marcador de lnea despus de stream y la palabra clave endstream; el diccionario de
27

Insercin de Informacin Oculta en Archivos PDF

2011

la cadena especifica el largo de la cadena. Debe existir un marcador de fin de lnea entre la cadena
y la palabra endstream; este marcador no se contempla en el tamao de la cadena. Por ultimo
no debe haber ningn byte adicional diferente del espacio blanco entre endstream y endobj.
Cada diccionario de cadena debe contener una entrada Length que indica cuantos bytes del
archivo PDF se usan para la informacin de la cadena. En la tabla 4-3 se muestra la lista de
entradas comunes del diccionario de cadena junto con su tipo correspondiente.
Llave

Tipo

Valor

Length

Entero

(Requerido) El nmero de bytes desde el principio de la linea


posterior a la palabra clave stream hasta el ltimo byte antes de la
palabra clave endstream. (Debe existir un marcador de fin de lnea
adicional precediendo a endstream, que no es considerado en la
cuenta y no es parte de la informacin de la cadena.)

Filter

Nombre o Arreglo

(Opcional) El nombre de un filtro que debe ser aplicado al procesar


la informacin de la Cadena, o un arreglo de nombres de diferentes
filtros ordenados en la secuencia en que sern usados.

DecodeParms

Diccionario
Arreglo

(Opcional) Un parmetro diccionario o un arreglo de diccionarios,


utilizados por los filtros especificados por Filter. Si slo hay un
filtro y ese filtro tiene parmetros, DecodeParms debe estar
establecido por el diccionario de los parmetros del filtro a menos
que todos los parmetros del filtro tengan sus valores por defecto,
en cuyo caso puede ser omitida la entrada DecodeParms. Si hay
varios filtros y cualquiera de ellos tiene valores diferentes a los
predeterminados, DecodeParms ser una matriz con una entrada
para cada filtro: tambin un diccionario de parmetros para el filtro
o el objeto nulo si el filtro no tiene parmetros (o si todos sus
parmetros tienen valores por defecto). Si ninguno de los filtros
tiene parmetros, o si todos los parmetros tienen valores por
defecto, la entrada DecodeParms puede ser omitida

Especificacin
Archivo

FFilter

Nombre o Arreglo

FDecodeParm
s

Diccionario
Arreglo

DL

Entero

de

(Opcional; PDF 1.2) El archivo que contiene la cadena de


informacin. Si existe esta entrada, los bytes entre stream y
endstream deben ser ignorados. Sin embargo la entrada de
Length debe seguir especificando el nmero de esos bytes.. Los
filtros que son aplicados a la informacin del archivo deben ser
especificados por FFilter y los parmetros del filtro se especifican
en FDecodeParms.
(Opcional; PDF 1.2) El nombre de un filtro que debe ser aplicado al
procesar la informacin encontrada en el archivo externo de la
cadena, o un arreglo de nombres de filtros. Aplica las mismas
reglas que Filter.

(Opcional; PDF 1.2) Un diccionario de parmetros o un arreglo de


diccionarios de parmetros usados por los filtros especificados en
FFilter. Se aplican las mismas reglas que usa DecodeParms.
(Opcional; PDF 1.5) Un entero no negativo representando el
nmero de bytes en la cadena decodificada o filtrada. Puede ser
usada para determinar, por ejemplo, si hay suficiente espacio en
disco duro para escribir una cadena en un archivo. Este valor debe
ser considerado como una pista para ciertos filtros de cadena. Tal
vez no sea posible determinar este valor con precisin.

Tabla 4-3 Entradas Comunes al Diccionario de Cadena

28

Insercin de Informacin Oculta en Archivos PDF

2011

4.2.8 Objetos Nulos


El objeto nulo tiene un tipo y valor que son diferentes a aquellos de cualquier otro objeto Solo
debe de haber un objeto de tipo nulo y se denota por la palabra clave null. Una referencia a un
objeto indirecto que no exista se tratara igual que un objeto nulo. Especificar al valor nulo como el
valor de una entrada de diccionario es equivalente a omitir la entrada.
4.2.9 Objetos Indirectos
Cualquier objeto en un archivo PDF puede ser rotulado como un objeto indirecto. Esto da al objeto
un identificador nico de objeto al cual otros objetos pueden referirse. El identificador de objeto
consta de dos partes:

Un entero Positivo llamado Numero de Objeto. Los objetos indirectos pueden estar
numerados secuencialmente dentro del archivo PDF. Pero esto es un requisito, los
nmeros de objeto pueden ser asignados en cualquier orden arbitrario.
Un entero no negativo llamado Numero de Generacin. En un archivo PDF nuevo, todos
los objetos indirectos poseen un nmero de generacin igual a cero. Nmeros de
generacin diferentes de cero pueden ser introducidos cuando el archivo es actualizado
posteriormente.

Juntos, la combinacin de un numero de objeto y un numero de generacin debe identificar


nicamente a un objeto indirecto.
La definicin de un objeto indirecto debe consistir en su nmero de objeto y su nmero de
generacin separados por un espacio en blanco, seguidos del valor del objeto encerrado entre las
palabras clave obj y endobj.
Ejemplo 1

Definicin de objeto indirecto


12 0 obj
(Brillig)
Endob

El ejemplo se define un objeto con nmero de objeto 12 y numero de generacin 0. El valor de


este objeto es la cadena de texto Brillig
Un objeto puede ser referenciado desde cualquier parte del archivo con una referencia indirecta.
Una referencia indirecta debe de consistir de nmero de objeto, numero de generacin y de la
palabra clave R (con espacios blancos separando cada parte).
Ejemplo 2

Definicin de referencia Indirecta


12 0 R

A partir de PDF 1.5 pueden residir objetos indirecto dentro de cadenas. Se referencian igual, sin
embargo su definicin no debe incluir las palabras clave obj y endobj, y su nmero de
generacin debe de ser cero.

29

Insercin de Informacin Oculta en Archivos PDF

2011

Una referencia indirecta a un objeto indefinido no debe de ser tratada como un error por un lector
compatible, debe de ser tratada como una referencia al objeto nulo.
Ejemplo 3
diccionario.

Uso de objetos indirectos para indicar la longitud de una cadena en un

7 0 obj
<< /Length 8 0 R >>
stream
BT/
F1 12 Tf
72 712 Td
(A stream with an indirect length) Tj
ET
Endstream
Endobj
8 0 obj
77
endobj

% Una referencia Indirecta al objeto 8

%La longitud de la cadena precedente.

En el ejemplo 3 se muestra el uso de una referencia indirecta en la segunda lnea para indicar la
longitud de un objeto cadena. El valor de la entrada del diccionario de cadena es el valor entero
que se encuentra despus de la cadena. Esto permite a la aplicaciones que generan PDF en un solo
paso dejar la especificacin de la longitud de las cadenas despus de haberlas terminado de
escribir.

30

Insercin de Informacin Oculta en Archivos PDF

2011

4.3 Estructura
Todos los archivos PDF comparten la misma estructura interna independientemente de con que
aplicacin se haya creado. EL estndar ISO 32000 define a los Archivos PDF en cuatro partes
principales que se muestran en la figura 4-1.

Imagen 4-1 Partes de un Archivo PDF

4.3.1 Cabecera
Es la primera lnea de un archivo PDF y consiste de 5 caracteres (%PDF -) seguidos del nmero de
versin de PDF utilizada para crear el archivo.
Si el archivo PDF contiene informacin binaria, la cabecera debe estar seguida de una lnea
comentada con, por lo menos, cuatro caracteres binarios cuyo valor se igual o mayor a 128. Esto
garantiza un comportamiento correcto para las aplicaciones de transmisin de archivos que
analizan el principio de los archivos para determinar si manejarlos como texto o como datos
binarios
4.3.2 Cuerpo
El cuerpo de un archivo PDF consiste de una secuencia de objetos indirectos que representan el
contenido de un archivo. Los objetos, que describiremos en la siguiente seccin, representas
componentes de un documento como fuentes, pginas e imgenes. Desde la versin 1.5 se cuenta
con cadenas de objetos que se vern ms adelante.

31

Insercin de Informacin Oculta en Archivos PDF

2011

4.3.3 Tabla de referencias cruzadas


La tabla de referencias cruzadas contiene la informacin que permite el acceso aleatorio a los
objetos indirectos en el archivo y as no tener que leer el archivo completo para encontrar un
objeto en particular. La tabla se compone de entradas de una sola lnea para cada objeto indirecto,
indicando el desfase en Bytes dentro del cuerpo del archivo.
Esta parte del archivo es la nica con un formato explicito, lo que permite el acceso aleatorio a las
entradas de la tabla. Un archivo puede contener varias secciones conteniendo la tabla de
referencias cruzadas, esto se debe a que los archivos PDF pueden ser actualizados.
Ejemplo 1

Tabla de referencias cruzadas


xref0 60000000003 65535 f
0000000017 00000 n
0000000081 00000 n
0000000000 00007 f
0000000331 00000 n
0000000409 00000 n

Cada parte de la tabla de referencias debe de comenzar indicada por el texto xref. Despus de
esta indicacin puede haber una o ms subsecciones conteniendo las entradas de la tabla. Para los
archivos que nunca han sido actualizados de manera incremental, en la seccin de la tabla, solo
debe existir una sola subseccin en la que los objetos comiencen con el nmero cero.
Cuando se indica una subseccin de la tabla se debe indicar el nmero del primer objeto y el
nmero de objetos que contiene la seccin. Los numero de Objeto son consecutivos dentro de
cada subseccin, por eso solo se indica el nmero de objeto del primero de la subseccin.
La tabla de referencias cruzadas indica el estado del objeto en el ltimo carcter de la entrada. Si
es n el objeto esta en uso, si est en f el objeto a sido eliminado y es posible usar su nmero
de objeto.
Hay que notar que cuando un archivo PDF es modificado y se aade nuevo contenido, ste tendr
nuevas secciones de cuerpo, tabla de referencias cruzadas y coda pero al guardar este documento
podemos optimizarlo para que las secciones duplicadas se fusionen en una sola y se reorganice el
fichero.
4.3.4 Trailer
El Trailer permite a un lector de PDF encontrar rpidamente la tabla de referencias cruzadas y
ciertos objetos especiales Los lectores de PDF que cumplan con el estndar deben de comenzar a
leer el archivo desde el final. El final del Archivo contiene la indicacin de fin del archivo (%%EOF) y
dos lneas; la primera indica que se definir la ubicacin de la tabla de referencias cruzadas
(starxref) y la segunda indica donde empieza la tabla de referencias cruzadas con respecto al
comienzo del archivo.

32

Insercin de Informacin Oculta en Archivos PDF

2011

Ejemplo 1 Ejemplo de trailer


Trailer
<< key1 value1
key2 value2

keyn valuen>>
startxref
Byte_offset_of_last_cross-reference_section
%%EOF

Encima de la indicacin startxref se encuentra el diccionario del Trailer, este diccionario se


delimita por los dobles smbolos de menor qu y mayor qu (<< y >>), 3Ch y 3Eh respectivamente.
Dentro de los smbolos separadores se encuentran entradas de pares de valores llamados llaves
(Keys) en las que se indican valores especficos del archivo. Los posibles valores de llaves se indican
en la Tabla
Llave

Tipo

Valor

Size

Entero

(Requerido, no debe ser una referencia indirecta) Es el nmero total


de las entradas en en la tabla de referencias cruzadas del archivo,
cmo se hayan definido en la combinacin de la seccin original y de
todas las secciones actualizadas. Equivalente mente este nmero
debe de ser 1 mayor que el nmero de objeto ms alto definido en el
archivo.
Cualquier objeto en la tabla de referencias cruzadas cuyo nmero de
objeto sea mayor a este valor ser ignorado y definido como faltante
por un lector PDF.

Prev

Entero

(Se presenta solo si el archivo tiene ms de una seccin en la tabla


de referencias cruzadas, debe de ser una referencia indirecta) El
desplazamiento en byte en el texto decodificado desde el principio
del archivo hasta el comienzo de la seccin anterior de la tabla de
referencias cruzadas.

Root

Diccionario

(Requerido, debe ser una referencia indirecta) El catalogo del


diccionario para el documento PDF contenido en el archivo.

Encrypt

Diccionario

(Requerido si el archivo est cifrado) Diccionario del cifrado del


documento.

Info

Diccionario

(Optinal, debe ser una referencia indirecta) El diccionario de la


informacin del documento.

ID

Arreglo

(Requerido si se presenta una entrada cifrada) Un arreglo cadenas


de uno o dos bytes, cada una, constituyendo un identificador de
archivo. Si hay una entrada cifrad, este arreglo y la cadena de dos
bytes deben ser objetos directos sin cifrar.
Nota 1: Ya que las entradas de ID no estn cifradas es posible
revisar la llave ID para asegurar que el archivo correcto est siendo
accedido sin descifrar el archivo. Las restricciones de que la cadena
sea un objeto directo y no estar cifrado asegura que esto es posible.
Nota 2: Aunque esta entrada es opcional, su ausencia puede evitar
que el archivo funcione en algunos flujos que dependen de archivos
con identificacin nica.

33

Insercin de Informacin Oculta en Archivos PDF

2011

Nota 3: Los valores las cadenas de ID son usadas como entrada al


algoritmo de cifrado. Si estas cadenas fueran indirectas o si el
arreglo de ID fuera indirecto provocara que las cadenas fueran
cifradas al momento de escribirlas. Esto dara como resultado una
condicin circular en un lector: Las cadenas de ID deben de ser
descifradas en orden para usarlas al descifrar cadenas, incluyendo
las mismas cadenas de ID. Las restricciones anteriores previenen la
condicin circular.
Tabla 4-4 Tabla de Llaves de la Coda

Existen ms cadenas insertables en el diccionario del Trailer y se utilizan para opciones de


compatibilidad y no son necesarias para definir un archivo PDF estndar.
Ejemplo

Trailer sin actualizaciones


trailer
<< /Size 22
/Root 2 0 R
/Info 1 0 R
/ID [ <81b14aafa313db63dbd6f981e49f94f4>
<81b14aafa313db63dbd6f981e49f94f4>]
>>
startxref
18799
%%EOF

4.4 Actualizaciones Incrementales


El contenido de un archivo PDF puede ser actualizado incrementalmente sin tener que reescribir el
archivo original. Cuando se actualiza un archivo PDF de manera incremental, los cambios se deben
agregar al final del archivo, dejando los contenidos originales intactos.
Una seccin en tabla de referencias cruzadas para una actualizacin incremental debe contener
nicamente entradas de objetos que hayan sido cambiados, eliminados o remplazados. Los
objetos eliminados deben de permanecer intactos en el archivo, pero deben ser marcados como
borrados en la tabla de referencias cruzadas.
El trailer agregado debe contener todas las entradas anteriores con excepcin de la coda anterior,
haya sido modificada o no. Adems, en el diccionario de coda aadido debe de contener la
entrada de previo (Prev) dando la ubicacin de la seccin de referencias cruzadas anterior. Cada
seccin de coda debe de terminar con su propio marcador de fin de archivo (%%EOF).
La seccin de referencias cruzadas actualizada debe de incluir un desfase de bytes a la nueva copia
del objeto, sobre escribiendo el viejo desfase de bytes de la seccin original. Cuando un lector
compatible lea el archivo, debe de construir su tabla de referencias cruzadas de tal forma que la
copia ms reciente del objeto sea la que se acceda en el archivo.

34

Insercin de Informacin Oculta en Archivos PDF

2011

Imagen 4-2 Ejemplo de la Estructura Actualizada Incrementalmente de un Archivo PDF

Con todas las partes de un archivo PDF presentadas hasta el momento es posible comprender y
manipular la informacin de contenida en estos archivos de manera bsica. Para mayores detalles
en la creacin de archivos PDF se puede revisar el estndar ISO-32000. En el siguiente captulo se
presenta la propuesta de insercin de informacin en archivos PDF basada en el anlisis de la
estructura interna de estos archivos.

35

Insercin de Informacin Oculta en Archivos PDF

2011

5 Desarrollo del Sistema


En este captulo se presenta la propuesta de parmetro para insertar, el mecanismo de
codificacin y sus respectivos procesos de verificacin y decodificacin. Tambin se presenta el
programa que implementa los mtodos propuestos por el anlisis. Primero se presenta el
parmetro seleccionado para la insercin seguido del mtodo de codificacin propuesto y sus
lmites. Posteriormente se presenta la propuesta de verificacin y de decodificacin.
Despus de haber realizado un anlisis de las partes de un archivo PDF, sus objetos y funciones; se
propone utilizar los objetos de tipo diccionario como el medio para introducir informacin a un
archivo PDF realizando la insercin segn el orden del nmero de objeto de menor a mayor.
Los diccionarios pueden contener cualquier tipo de valor PDF con un nombre que lo identifica.
Cuando el lector compatible de archivos PDF revisa el diccionario, toma los valores necesarios para
construir el elemento que se describe en l. Cuando se encuentra un objeto que no es necesario el
elemento es ignorado por el lector sin mandar un error. Esta caracterstica permite a los
desarrolladores agregar comportamiento especializado al lector de archivos PDF para realizar
acciones especficas en el contenido.
Para el propsito de este trabajo, se aprovecha esta caracterstica y as agregar una nueva entrada
en los diccionarios del archivo PDF que contendr la informacin oculta que se desea insertar.
Primero se obtiene la lista de todos los diccionarios disponibles, este es nuestro conjunto de
insercin D en el que se agrega la informacin, y su longitud se llama d. La nueva entrada en el
diccionario ser invisible para los usuarios al momento de abrir el documento en un lector de PDF
compatible, sin embargo, es posible que alguien al abrir el archivo PDF directamente, y mire la
estructura del archivo, sea capaz de ver el elemento agregado en los diccionarios.
Esto es una posible vulnerabilidad en el sistema, por lo que se proponen dos cosas para minimizar
el riesgo de detectar fcilmente la entrada agregada al diccionario: usar como llave (key) de la
entrada un nombre que sea lo ms compatible con los elementos usualmente encontrados en los
diccionarios del archivo; y utilizar un mtodo de codificacin para no introducir texto plano como
valor de la entrada del diccionario. En el anexo B se encuentra una tabla con los valores
recomendados como nombres para las entradas de diccionario.
Es recomendable utilizar variaciones de elementos comunes en los archivos PDF para mimetizar el
elemento agregado con el contenido del archivo y dificultar su deteccin.
Para codificar la informacin a insertar se propone dividir el texto en pequeas partes, convertir
los carcter en su representacin binaria, concatenar varias representaciones binarias de varios
caracteres y transformar la cadena binaria en un numero decimal para ser insertado en el archivo.
Cada carcter de texto utiliza 8 bits.

36

Insercin de Informacin Oculta en Archivos PDF

2011

El utilizar valores numricos en los archivos como medio de codificacin del texto presenta
algunas limitaciones. Los valores numricos que el estndar PDF permite usar nmeros de hasta
64 bits, sin embargo los valores se manejan de manera indistinta entre nmeros con punto
flotante y nmeros enteros.
En el mtodo de codificacin propuesto se obtienen nmeros enteros como salida, pero la
caracterstica de poder contener objetos de diferentes tipos como entrada de valor hace que los
equipos que lo lean sean susceptibles de cometer errores de conversin.
Varias implementaciones utilizan valores flotantes largos para englobar y obtener valores
numricos de los archivos PDF. Por lo tanto, al leer un nmero entero que utiliza la capacidad
mxima de 64 bits en los valores numricos, se corre el riesgo de perder los bits menos
significativos al tratar de ingresar el valor a un nmero flotante.
Este riesgo depende de la implementacin del lector y es necesario contemplar la posibilidad de
usar un lmite en los bits que se usaran en el archivo para insertar. Para evitar posibles prdidas de
informacin se propone utilizar seis caracteres en lugar de ocho, que es el mximo nmero de
caracteres posibles en un nmero de 64 bits, para realizar la codificacin. Esta limitacin se debe
considerar segn las caractersticas del lector que se use.
Adems de la limitacin que se tiene por la codificacin e implementacin del lector, se debe
considerar que como se usan los objetos de tipo diccionario para contener la informacin oculta,
el nmero de objetos aprovechable es limitado. Por lo que la capacidad de insercin de
informacin se limita al nmero de objetos diccionario por el nmero de caracteres a insertar en
cada objeto numrico. Esto da por resultado la funcin siguiente
N = Dn * L
Dnde:
N = Nmero de caracteres posibles de insercin.
Dn = Nmero de diccionarios en el archivo
L = Lmite de caracteres a insertar por objeto numrico.
El lmite de caracteres a insertar por objeto nmero es una variable que depende del usuario y de
la implementacin del lector de archivos PDF. Sin embargo, dado que el tipo de nmero a utilizar
es de 64 bits (8 caracteres de 8 bits), se puede decir que con este mtodo de codificacin la
capacidad mxima de insercin en un archivo est dada por la frmula:
N(max) = Dn * 8
Dnde:
N(max) = Nmero mximo de caracteres posibles de insercin
Dn = Nmero de diccionarios en el archivo

37

Insercin de Informacin Oculta en Archivos PDF

2011

La insercin de la informacin en los diccionarios del archivo PDF se ordenaran los objetos de
menor a mayor segn su nmero de objeto. Esto permite tener un orden en el proceso de
insercin y de extraccin.
En un proceso de insercin no siempre es necesario ocupar todo el espacio de insercin
disponible, por lo que habr diccionarios en los que no es necesario insertar informacin. Esto
depende de la longitud del mensaje a ocultar, ya que el mensaje se divide en n partes.
Para determinar el nmero de diccionarios necesarios para insertar se divide el mensaje entre el
lmite de caracteres para codificar. Si el resultado de la operacin no es entero se redondea al
entero positivo siguiente. La operacin se define as:
n = Ceil(M/ L)
Dnde:
n = nmero de diccionarios necesarios para insertar el mensaje.
Ceil = funcin de redondeo hacia arriba.
M = Longitud del mensaje.
L = Lmite de caracteres a insertar por objeto numrico.
El nmero de renglones siempre es igual o menor que el nmero de diccionarios disponibles para
insertar.
Cuando se codifica un mensaje se obtienen n nmeros decimales que sern insertados en n
diccionarios del archivo PDF. Este conjunto de nmeros decimales recibe el nombre de C y los
datos que contiene son tomados por el proceso de insercin en el mismo orden que fueron
generados.
Despus de agregar las nuevas entradas al diccionario se guarda en un nuevo archivo PDF los
cambios realizados. Sin embargo, en un proceso normal de modificacin, los cambios del archivo
PDF se guardan de forma incremental. Esto significa que los cambios se guardan al final del archivo
y los objetos originales se conservan intactos. Para el propsito de la esteganografa este mtodo
de guardado facilitara la deteccin de la informacin agregada al abrir el archivo directamente.
Para evitar este comportamiento se crear un nuevo archivo copiando la informacin del original
ms las modificaciones. Otra cosa que se debe considerar es que al guardar el nuevo archivo es
necesario recalcular la tabla de referencias cruzadas ya que la ubicacin de los objetos cambia al
agregar los elementos en los diccionarios.
Para la deteccin de la informacin oculta se necesita conocer el nombre del parmetro que se
insert y el lmite de caracteres usado. Posteriormente se busca en los diccionarios del archivo PDF
la llave que el usuario indique; los diccionarios se ordenan por nmero de objeto y se decodifica el
texto convirtiendo el numero decimal en binario y despus en caracteres los bits del nmero
decimal de ocho en ocho bits.

38

Insercin de Informacin Oculta en Archivos PDF

2011

Para el proceso de verificacin se propone tomar la lista de objetos diccionario del archivo PDF a
revisar y leer todos los diccionarios ordenados de menor a mayor por su nmero de objeto y
comparar sus entradas con una llave indicada por el usuario, en caso de coincidir se decodificara el
numero decimal en texto y se ira concatenando hasta terminar con todos los diccionarios.
Cuando se verifica si hay un texto oculto dentro de un archivo PDF se toman los valores de las
entradas que coinciden y si se encuentra un diccionario sin el valor indicado por el usuario como
llave este diccionario se ignora del proceso. Como la insercin se hace en orden el proceso de
extraccin deja de encontrar entradas coincidentes al terminar de decodificar todo el mensaje.
Para decodificar el texto de los nmeros decimales se propone tomar el valor numrico decimal de
la entrada del diccionario y convertirlo en su representacin binaria, posteriormente sepralo en
grupos de ocho y convertir en caracteres cada grupo. La conversin de caracteres e concatena y se
obtiene el texto original.
Teniendo este anlisis de las caractersticas de los archivos PDF y de lo necesario para el mtodo
de insercin y codificacin se propone un sistema para insertar informacin oculta en archivos
PDF. A continuacin se describen los modelos de Insercin codificacin y de verificacin
decodificacin. Y por ltimo la forma de implementarlos.

39

Insercin de Informacin Oculta en Archivos PDF

2011

5.1 Modelo del Sistema de Insercin


Para el sistema de insercin de informacin oculta en archivos PDF se proponen diferentes
mdulos y mtodos que se encarguen de codificar, insertar, detectar y decodificar la informacin.
Con estos mecanismos es posible crear sistemas para insertar informacin de control,
autenticacin o validacin para los archivos PDF que viaje junto con el archivo y que no dependa
de una infraestructura muy compleja, solo se necesitan los algoritmos de codificacin-insercin y
los algoritmos de deteccin-decodificacin que poden residir en aplicaciones independientes y
locales en los equipos de los usuarios que lo deseen.
El modelo del sistema de insercin se muestra en la imagen 5-1.

Imagen 5-1 Modelo de Insercin

El sistema de insercin se compone de la funcin de codificacin que convierte los caracteres del
mensaje en nmeros decimales utilizando un lmite para el nmero de caracteres codificados, y de
la funcin que agrega una entrada a los diccionarios necesarios usando la llave dada por el usuario
para obtener como salida un nuevo documento PDF que contiene las nuevas entradas en los
diccionarios.

40

Insercin de Informacin Oculta en Archivos PDF

2011

5.1.1 Mtodo de Codificacin


Para la codificacin se necesita el mensaje y el lmite de caracteres a usar en cada nmero
decimal. El mensaje se divide en cadenas de longitud igual al lmite. Al llegar al final del mensaje es
posible que no alcancen los caracteres para completar un segmento con la longitud del lmite, por
lo que el bloque se completa con ceros. Despus de crear los segmentos necesarios, estos se
convierten a nmeros binarios y posteriormente se convierten en nmeros decimales.
Hay que considerar que el nmero de segmentos generados debe ser menor o igual al nmero de
diccionarios disponibles para insertar, en caso contrario no se puede insertar el mensaje completo
en el archivo PDF. El modelo de la funcin de codificacin se presenta en la imagen 5-2.

Imagen 5-2 Modelo de Codificacin

5.1.2 Mtodo de Insercin


Para el mtodo de insercin se toma el archivo PDF original y se extrae la lista de diccionarios
ordenados por nmero de objeto, tambin se toma el conjunto de decimales C que se obtuvo del
proceso de codificacin y se agrega un elemento del conjunto C en cada diccionario hasta que se
termina con los nmeros decimales a insertar.
Cuando se inserta un nmero decimal en un diccionario se utiliza la llave indicada por el usuario
para nombrar la entrada. Al terminar de agregar las entradas al diccionario se procede a guardar
en un nuevo archivo PDF los cambios.

41

Insercin de Informacin Oculta en Archivos PDF

2011

La imagen 5-3 muestra el proceso de insercin de informacin de un archivo PDF.

Imagen 5-3 Modelo del Proceso de Insercin

El resultado de la operacin de insercin de una nueva entrada en un diccionario se muestra en la


imagen 5-4.

Imagen 5-4 Resultado de la insercin de una entrada en un diccionario

42

Insercin de Informacin Oculta en Archivos PDF

2011

5.2 Modelo del Sistema de Verificacin


Para la verificacin de la existencia de un mensaje oculto dentro de un archivo PDF se requiere
tener el archivo PDF que se desea analizar, conocer la llave con la que se insert el mensaje y el
lmite de caracteres usado en la codificacin.
En la imagen 5-4 se muestra el modelo del sistema de verificacin. El proceso de decodificacin
del mensaje se encuentra dentro de la funcin de verificacin.

Imagen 5-5 Modelo del Sistema de Verificacin

5.2.1 Funcin de Verificacin


En el proceso de verificacin se tmala lista de diccionarios del archivo PDF (D) de longitud d y se
ordena de menor a mayor por su nmero de objeto. Cada diccionario tiene una cantidad de
entradas llamada L.
Para verificar la existencia de un mensaje oculto se toma la llave indicada por el usuario y analiza
todos los diccionarios entrada por entrada. Si se encuentra una entrada coincidente con la llave se
toma el valor decimal contenido en la entrada y se decodifican los carcter que se indican en el
lmite L.
Los valores decodificados se concatenan en un mensaje de salida. Como la insercin y la deteccin
se hacen en el orden ascendente de los nmeros de objeto de los diccionarios no es necesario
realizar un ordenamiento al concatenar.
Si no se encuentra ninguna entrada de diccionario coincidente con la llave significa que el archivo
no tiene datos ocultos con la llave indicada. Es muy importante conocer el lmite de caracteres
usado en la codificacin para evitar que se pierdan caracteres o se agreguen valores innecesarios
en el mensaje de salida.
El modelo del proceso de verificacin se muestra en la imagen 5-5.
43

Insercin de Informacin Oculta en Archivos PDF

2011

Imagen 5-6 Modelo de Verificacin

5.2.2 Funcin de Decodificacin


La funcin de decodificacin toma el nmero decimal de la entrada del diccionario y lo convierte a
su representacin binaria. Posteriormente se utiliza el lmite introducido por el usuario para tomar
el nmero necesario de bits que represente a los caracteres codificados. Se separa la cadena de
bits en grupos de ocho y se convierte uno por uno en carcter. Finalmente se concatenan todos los
caracteres resultantes. Este proceso se realiza en todas las entradas de diccionario que sean
coincidentes con el valor de llave indicado por el usuario.
El modelo de la funcin de decodificacin se muestra en la imagen 5-7.

Imagen 5-7 Modelo de la Funcin de Decodificacin

44

Insercin de Informacin Oculta en Archivos PDF

2011

5.3 Implementacin
Para implementar este sistema y poder realizar pruebas se program una aplicacin de lnea de
comandos que realiza las funciones de los mdulos del sistema descritas en las secciones
anteriores. La aplicacin fue basada en el comportamiento observado de software gratuito para
analizar o abrir archivos PDF [21][22][23][24][25]. La aplicacin resultante se llama PDFAnalizer y
funciona como una instruccin de lnea de comandos de MS-DOS o Linux y es capaz de recibir
argumentos que modifican su comportamiento.
La aplicacin est hecha en C# utilizando Microsoft Visual Studio 2010. El programa abre archivos
PDF, recorre sus elementos y obtiene una representacin lgica del archivo en forma de rbol.
Para interpretar correctamente un archivo se deben definir, por medio de expresiones regulares,
los posibles objetos que se pueden encontrar en el archivo y como tratarlos. Los objetos lgicos
definidos corresponden a los ocho tipos bsicos de objeto del estndar PDF y los objetos
descriptores que conforman los nodos del rbol que se crea con la estructura del archivo. En el
Anexo A se encuentran los diagramas de clase de los objetos lgicos definidos en la aplicacin.
La aplicacin recupera del rbol de estructura interna una lista de los objeto diccionario junto con
su nmero de objeto y de generacin. Posteriormente se ordenan de menor a mayor segn su
nmero de objeto. El usuario tiene diferentes opciones (Parmetros) para controlar el
comportamiento del programa. La explicacin de todos los parmetros posibles y su
funcionamiento se muestran en el anexo C. El usuario debe introducir, por lo menos, el nombre de
un archivo PDF y alguna opcin para trabajar con l.
La aplicacin creada contiene en si misma tanto al sistema de verificacin, como al sistema de
verificacin. Con el programa es posible obtener una lista de objetos diccionario; el clculo de la
capacidad de insercin del archivo en trmino de caracteres; el lmite de caracteres a insertar por
entrada del diccionario; el mensaje a introducir o la ruta de un archivo txt con la informacin en
texto plano; el nombre del archivo PDF nuevo resultante de la insercin; el nombre del parmetro
de insercin o verificacin a utilizar; la ruta y nombre de un archivo para verificar la existencia de
informacin oculta; el nombre de un archivo txt para guardar la salida de la verificacin.
La aplicacin est diseada para ejecutarse de manera nativa en equipos con sistemas operativos
Microsoft que cuenten con Net Framework 2.0 o superior. Tambin es posible ejecutar la
aplicacin en sistemas Linux utilizando el compilador de C# para diferentes sistemas operativos
proporcionado por el proyecto Mono [26].
Esta implementacin de los mtodos propuesto de insercin y verificacin se probaron
ampliamente para analizar su comportamiento en diferentes archivos PDF y tambin se evalu si
la insercin de informacin es perceptible para los usuarios de los archivos al visualizar el archivo
original contra el archivo modificado. El proceso de revisin de resultados se muestra en el
siguiente captulo.

45

Insercin de Informacin Oculta en Archivos PDF

2011

6 Prueba MOS, Anlisis, Conclusiones y Trabajo a Futuro


Con una aplicacin como la que se ha propuesto e implementado es necesario analizar y evaluar
varios aspectos alrededor de su funcionamiento; cuanta informacin se puede insertar con este
mtodo, en que cantidad crece el archivo con la informacin insertada, la taza de errores al
verificar y recuperar informacin; la imperceptibilidad del cambio realizado para los usuarios de
los archivos PDF.

6.1 Prueba MOS


Para medir si es perceptible algn cambio visual en el archivo PDF para los usuarios se realiz una
prueba MOS en la que se mostraron 3 archivos con informacin insertada y se comparan
visualmente con el archivo original.
A los participantes de la prueba se les mostro 3 pares archivos PDF, uno era el original y el
segundo el modificado. Todos los documentos de esta prueba eran de una hoja y contenan por lo
menos 4 prrafos de 4 renglones de texto con dos imgenes como mnimo. A los participantes se
les pregunto si notaban alguna diferencia entre los archivo en el formato siguiente.

Imagen 6-1 Formato de Preguntas para Archivos PDF

Este formato se repite para los tres pares de archivos y se entreg a 100 participantes; de los
cuales, en el primer par el 97 por ciento de los participantes los encontr idnticos; en el segundo
par el 98 por ciento de los participantes sealo que eran iguales; y en el tercer par el 98 por ciento
sealo que no existe ninguna diferencia entre los archivos.
El porcentaje de participantes que encontr diferencias en los archivos PDF se puede explicar a
que el sistema visual del ojo humano no es perfecto y existen diferencias de percepcin entre cada
persona. Mientras ms grande es una muestra, es ms difcil conseguir una evaluacin donde
resultado sea perfecto e indique no hay diferencia alguna entre todos los archivos.
El resultado que se obtuvo indica que no es perceptible ninguna diferencia entre el archivo original
y el modificado. Este resultado era esperado ya que no se inserta informacin en los elementos
que interpretan la vista. En las imgenes 6-2 y 6-3 se muestran ejemplos del archivo original contra
el archivo modificado respectivamente.

46

Insercin de Informacin Oculta en Archivos PDF

2011

Imagen 6-2 Archivo PDF Original

Imagen 6-3 Archivo PDF Modificado

Utilizando la implantacin desarrollada se observa no hay modificacin visual en el archivo


despus de insertar la informacin. A diferencia de otros mtodos que utilizan las caractersticas
visuales del texto para insertar informacin. En las aproximaciones de esteganografa en
documentos de texto, como las que aprovechan el espacio entre las lneas, prrafos, palabras o
letras[I] es ms fcil detectar cambios en la vista del archivo. En las aproximaciones que utilizan
parte del lenguaje de descripcin del texto como la mtrica[J] es ms difcil percibir los cambios
por el nmero tan pequeo que representan, pero an son visibles ya que modifican parte de la
vista. Como la informacin en el sistema propuesto se inserta en la estructura de objetos y no en
los parmetros de recreacin, el sistema es imperceptible para el sistema visual humano cuando
se abre el archivo por un usuario normal.

6.2 Pruebas de Implementacin


Se analiz el comportamiento de la implementacin para conocer su comportamiento en
diferentes situaciones. Se tomaron 50 archivos PDF con diferentes caractersticas en nmero de
pginas, cantidad de texto y cantidad de imgenes en cada uno de ellos. El comportamiento
observado ndico que, cuando se manejan archivos de versiones superiores a PDF 1.5, la
implementacin comienza a tener problemas en interpretar objetos y se pueden perder objetos al
recuperar la lista de objetos tiles para insertar. Este comportamiento se debe a que la
implementacin de lectura de archivos PDF est basada en la versin 1.5 del estndar PDF y es
necesario realizar una actualizacin al mtodo de apertura.
Se prob el mtodo de insercin con diferentes limiten en el proceso de codificacin y de
decodificacin. Cuando se utilizaron los 8 caracteres que se pueden insertar en nmeros de 64 bits
se ocurri una prdida del 20 por ciento del texto al momento de decodificarlo. Cuando se utiliz
un lmite de 7 caracteres se obtuvo una prdida del 10 por ciento del texto insertado. Por ultimo al
probar una codificacin con 6 caracteres se logr recuperar el 100 por ciento del texto insertado.
Otra limitacin en la codificacin es que solo se pueden usar smbolos de la codificacin ASCII.
Otros smbolos se sustituyen por ?. El detalle de la codificacin es debido a la implementacin
del programa lector de archivos PDF por lo que este proceso puede ser mejorado.
47

Insercin de Informacin Oculta en Archivos PDF

2011

Tambin se observ que en archivos con varios formatos de texto e imgenes diferentes, se
cuenta con un mayor nmero de objetos tiles para insertar informacin, comparados con
archivos que solo tiene texto. Mientras ms complejo sea un documento en el formato que utiliza
ms objetos requiere para describir el contenido. As mismo mientras ms pginas se agregan,
crece la capacidad de insercin.
Tambin se observ que los archivos PDF crecen en un porcentaje de 4 veces la entrada de texto a
ocultar. Esto significa que si se insertan 14 kb de texto en un archivo, el archivo crece en 60 KB
aproximadamente. Esta relacin se mantiene mientras ms grande sea el mensaje a insertar.
Comparado con otros mtodos, el sistema propuesto inserta ms informacin en los archivos. Este
sistema tiene un payload de 4 veces el peso del texto ingresado.

6.3 Conclusiones y Trabajo a Futuro


Con el modelo propuesto y la implementacin en software se logr introducir informacin oculta
dentro de un archivo PDF que es imperceptible por los usuarios de los archivos PDF, con la
posibilidad de migrar el sistema a diferentes plataformas que soportan C#.
Se implement un proceso de lectura de archivos PDF, basado en el estndar, capaz de abrir la
mayora de los archivos sin problemas. Este proceso se bas en herramientas de exploracin PDF
para la versin 1.5 por lo que archivos de versiones ms actuales pueden representar problemas al
momento de apertura. Por este motivo es necesario actualizar el mtodo a las nuevas versiones
de PDF. As mismo es necesario mejorar la implementacin para hacer diferencia entre los objetos
numricos de tipo entero y los de punto flotante en los procesos lgicos.
Se dise implement y prob una forma para codificar texto dentro de los objetos decimales de
un PDF que permite seleccionar la cantidad de caracteres a codificar y decodificar por numero
decimal teniendo como mximo 8 caracteres.
Se desarroll un proceso para verificar la existencia de informacin oculta en un archivo PDF por
medio de llaves y lmites de decodificacin ajustables segn las necesidades del usuario. La
codificacin se aplica sobre caracteres con formato ASCII.
Se implement un mtodo de decodificacin de texto en objetos decimales de archivos PDF
recorriendo el rbol de objetos del archivo PDF y recuperando la informacin en orden ascendente
al nmero de objeto.
Tambin se concluye que es posible mejorar el proceso de insercin de informacin en los objetos
diccionarios utilizando nombres de entradas que sean ms compatibles con su entorno
dependiendo del objeto que describe al diccionario. Esto es que en un diccionario que describe
una fuente es ms compatible con entradas que hablen de estilo, tamao o color que con entradas
que asemejen codificacin, nombres, formato o filtro por ejemplo. Para cada diccionario se puede
seleccionar el mejor nombre para el parmetro que se introduce y mimetiza la informacin sin
hacer fcil de detectar las entradas nuevas en los diccionarios ya que no sera la misma para todos.

48

Insercin de Informacin Oculta en Archivos PDF

2011

Se logr probar el funcionamiento de un mecanismo para insertar informacin oculta en archivos


PDF y presentar un esquema de codificacin bsico para no usar entradas de diccionario de tipo
texto. Como se estn utilizando funciones con partes en bits es posible agregar algn meto de
criptografa al sistema.
Despus de realizar un anlisis de los resultados obtenido y del funcionamiento del sistema se
propone lo siguiente como trabajo a Futuro:
Mejorar la implementacin de lectura de archivos PDF para ser compatible con los nuevos
elementos y versiones.
Integrar a los objetos de la implementacin la diferencia entre nmeros enteros y nmeros de
punto flotante para aprovechar al mximo la codificacin.
Mejorar el mtodo de insercin para que los parmetros que se utilicen sean compatibles con el
objeto que describen y as poder mimetizar la informacin insertada.
Agregar mtodos de cifrado al sistema de insercin y verificacin en las secciones de codificacin y
decodificacin.
Agregar un esquema para poder insertar entradas a los diccionarios de manera aleatoria y no
depender del orden de los nmeros de objeto y que las entradas se puedan auto ordenar.
Con el sistema que se ha presentado es posible crear un sistema de validacin de cambios y de
integridad de la informacin de un archivo PDF.
Hacer un esquema que permita aumentar la capacidad de insercin utilizando una o ms llaves
por cada diccionario.

49

Insercin de Informacin Oculta en Archivos PDF

2011

Bibliografa
A. NORMA Oficial Mexicana NOM-151-SCFI-2002, Prcticas comerciales-Requisitos que deben
observarse para la conservacin de mensajes de datos
Secretaria de Gobernacin, Diario Oficial de la Federacin: 04/06/2002

http://dof.gob.mx/nota_detalle.php?codigo=727725&fecha=04/06/2002

B. Entrada en vigor de la Norma Oficial Mexicana NOM-151-SCFI-2002


Secretaria de Gobernacin, Diario Oficial de la Federacin: 19/12/2005

http://dof.gob.mx/nota_detalle.php?codigo=2102579&fecha=19/12/2005

C. ACUERDO por el que se delegan facultades a la Direccin General de Normatividad Mercantil


en Materia de Evaluacin de la conformidad de la Norma Oficial Mexicana NOM-151-SCFI2002,
Secretaria de Gobernacin, Diario Oficial de la Federacin: 10/11/2006

http://dof.gob.mx/nota_detalle.php?codigo=4937232&fecha=10/11/2006

D. Historia del PDF de Adobe

Adobe, Copyright 2011 Adobe Systems Incorporated.


http://www.adobe.com/es/products/acrobat/adobepdf.html

E. Supplement to the ISO 32000

Adobe Junio 2008


http://www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/adobe_supplement_iso32000.
pdf
F. Supplement to the ISO 32000

Adobe Junio 2009


http://www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/adobe_supplement_iso32000_
1.pdf
G. Classification of Image Watermarking Schemes

Deepak Sharma, Dr. Chee-Hung Henry Chu, Center for Advanced Computer Studies, University of
Louisiana at Lafayette
http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBoQFjAA&url=http%3A%2F%2Fdee
paksharma.net%2FDocuments%2FWatermarks%2520Classification.doc&rct=j&q=watermarking%2
0classification&ei=YHzBTZSNCaTiiALh3syJAw&usg=AFQjCNFc8QAfWoOHEnau6yAnGUCU4iYTw&cad=rja

Insercin de Informacin Oculta en Archivos PDF

2011

H. Definicin de Manejo de derechos de autor Digitales

Renato Iannella. Open digital rights management. Position paper for the W3C DRM Workshop,
2001.
http://www.w3.org/2000/12/drm-ws/pp/Overview.html

I.

Uso de codificacin de linea

Jack T. Brassil, Steven H. Low, and Nicholas F. Maxemchuk. Copyright


Protection for electronic distribution of text documents. Proceedings of the IEEE (USA),
87(7):11811196, 1999.
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.8396
J.

Ocultamiento de Informacin en Documentos Electrnicos de Tipo PostScript

Cano Jimnez, Abel. IPN SEPI-ESIME UC, 2010


K. ISO 32000
Adobe Systems Incorporated, 2008
http://www.iso.org/iso/catalogue_detail.htm?csnumber=51502

Referencias
[1]Steganoptic
Douglas Ryan Richardson, Windows/Linux, 2003-08-04
http://steganopic.sourceforge.net/

[2]Cloak 7.0
insight-concepts, Windows 95/98/Me/NT/2000/XP,2004-02-23
http://www.baxware.com/cloak.htm
[3]CryptoMX

daemon404, bsd,Linux2 : posix : unix : windows 2000 : windows 2003 : windows 95 :


windows 98 : windows nt : windows xp : os independent : beos : embedded os : Handheld
OS , 2006-02-12.
http://unix.freshmeat.net/projects/cryptomx

[4]Dounds Steganography
Brinkster, Windows Me, Windows 98, Windows 95, Windows 2000, Windows XP,2002-02-24
http://download.cnet.com/Dound-s-Steganography/3000-2092_4-10072532.html

Insercin de Informacin Oculta en Archivos PDF

2011

[5]Hide in Picture
Davi Figueiredo, 2011-02-12
http://sourceforge.net/projects/hide-in-picture/

[6]UnderMP3Cover
Christian Platt, 2009-07-17
http://sourceforge.net/projects/ump3c/

[7]S-Tools
Peter Gutmann,200-11-18

http://www.spychecker.com/program/stools.html

[8]Wodax
Joan Puigcerver Prez, 2009-01-03
http://www.kriptopolis.org/wodax-esteganografia

[9]MP3Stego
Fabien Petitcolas, 2006-06-13
http://www.petitcolas.net/fabien/steganography/mp3stego/

[10]Invisible Secret
NeoByte Solutions, Copyright 1999-2010
http://www.invisiblesecrets.com/

[11]InvisibleInk
Kathryn H, 2010-11-05
http://sourceforge.net/projects/diit/

[12]Hermetic Stego
Hermetic systems, Copyright 2003-2008
http://www.hermetic.ch/hst/hst.htm

[13]BitCrypt
moshe-szweizer, Win98,WinME,Windows2000,WinXP,Windows2003, Windows Vista
http://bitcrypt.moshe-szweizer.com/

Insercin de Informacin Oculta en Archivos PDF

2011

[14]Bon Kyu Bon


Pmcchp, 2011
http://pmcchp.com/bonkyubon/index.html

[15]SteganoG
Gaijin, 2007-02-22
http://www.gaijin.at/en/dlsteg.php

[16]PicCrypt
2009-08-07
http://www.neoteo.com/piccrypt-archivos-hechos-imagenes
[17]Camouflage
Unfiction
http://camouflage.unfiction.com/

[18]P2Stego
P2Labs, Copyright 2001 - 2011
http://cloud.p2labs.com/products/p2stego/index.html

[19]Xiao Steganography
naka soft, 2010-06-28
http://www.softpedia.com/get/Security/Encrypting/Xiao-Steganography.shtml

[20]Lista de Programas de Esteganografa


Neil F. Johnson, Ph.D. JJTC.Com, Copyright, 1995-2011
http://www.jjtc.com/Steganography/tools.html

[21]Editando un archivo PDF


Jon Bessan, 2010-10-16
http://acrobatusers.com/tutorials/getting-started-basics-editing-pdf-document

[22]PDFXplorer
O2Solutions, 2003 - 2010 O2 Solutions
http://www.o2sol.com/pdfxplorer/overview.htm

Insercin de Informacin Oculta en Archivos PDF

2011

[23]PDF Surgeon
Nix solutions, NIX Solutions Ltd 2011
http://nixsolutions.com/products/pdf-surgeon/

[24]Kernel for PDF file Repair Tool


Kernel, Copyright 2011 Lepide Software Pvt. Ltd.
http://www.nucleustechnologies.com/pdf-repair-tool.html

[25]PDF2HTML 2.02
GetPDF Inc., (C) 2000-2011
http://www.getpdf.com/pdf2htm.html

[26]Proyecto Mono
Novell, Junio 2010.
http://www.mono-project.com/Main_Page

Insercin de Informacin Oculta en Archivos PDF

2011

ndice de Imgenes
Imagen 1-1 Uso de Contraseas en Aplicaciones ............................................................................... 3
Imagen 1-2 Permisos en los Archivos.................................................................................................. 4
Imagen 1-3 Herramientas de Control de Cambios .............................................................................. 4
Imagen 1-4 Uso de un Servidor de Documentos Compartidos ........................................................... 6
Imagen 1-5 Funcin de Resumen ........................................................................................................ 6
Imagen 1-6 Sistema de Firma Digital................................................................................................... 7
Imagen 2-1 Clasificacion de Marcas de Agua .................................................................................... 11
Imagen 2-2 Ciclo de vida de la seguridad persistente de un documento ......................................... 13
Imagen 4-1 Partes de un Archivo PDF ............................................................................................... 31
Imagen 4-2 Ejemplo de la Estructura Actualizada Incrementalmente de un Archivo PDF ............... 35
Imagen 5-1 Modelo de Insercin ...................................................................................................... 40
Imagen 5-2 Modelo de Codificacin ................................................................................................. 41
Imagen 5-3 Modelo del Proceso de Insercin................................................................................... 42
Imagen 5-4 Resultado de la insercin de una entrada en un diccionario ......................................... 42
Imagen 5-5 Modelo del Sistema de Verificacin............................................................................... 43
Imagen 5-6 Modelo de Verificacin .................................................................................................. 44
Imagen 5-7 Modelo de la Funcin de Decodificacin ....................................................................... 44
Imagen 6-1 Formato de Preguntas para Archivos PDF ..................................................................... 46
Imagen 6-2 Archivo PDF Original....................................................................................................... 47
Imagen 6-3 Archivo PDF Modificado ................................................................................................. 47
Imagen A-0-1 Clases Base de Objetos PDF ......................................................................................... k
Imagen A-0-2 Tipos de Objeto PDF ..................................................................................................... k
Imagen A-0-3 Clases de los Objetos PDF .............................................................................................. l
Imagen A-0-4 Objeto Descriptor ........................................................................................................ m
Imagen A-0-5 Objeto Lector de Archivos PDF .................................................................................... m

ndice de Tablas
Tabla 3-1Programas de Esteganografa ............................................................................................ 21
Tabla 4-1 Secuencia de escape en cadenas literales......................................................................... 24
Tabla 4-2 Ejemplo de Objetos tipo Nombre...................................................................................... 26
Tabla 4-3 Entradas Comunes al Diccionario de Cadena .................................................................... 28
Tabla 4-4 Tabla de Llaves de la Coda................................................................................................. 34
Tabla B-1 Nombres recomendados para Insercin ............................................................................. n
Tabla C-1 Tabla de Parmetros del Programa PDFAnalizer ................................................................ p

Insercin de Informacin Oculta en Archivos PDF

2011

Glosario
Objeto Arreglo
Una coleccin unidimensional de objetos arreglados secuencialmente y numerados implcitamente
comenzando en cero.
ASCII
El cdigo estndar americano para intercambio de informacin, una convencin ampliamente
usada para codificar un grupo especfico de 128 caracteres como nmeros binarios definidos en
ANSI X3.4-1986.
Informacin Binaria
Una secuencia ordenada de bytes.
Objetos Lgicos
Cualquiera, la palabra clave true o la palabra clave false.
Byte
Un grupo de 8 dgitos binarios que colectivamente pueden ser configurados para representar uno
de 256 valores diferentes y varias realizaciones de 8 dgitos binarios son utilizados ampliamente en
equipo electrnico actualmente.
Catalogo
El objeto diccionario principal que contiene las referencias directas o indirectas a todos los objetos
en el documento con la excepcin que tal ves haya objetos en el trailer que no son referenciado
por el catalogo.
Carcter
Cdigos numricos representando un smbolo abstracto de acuerdo con reglas de codificacin
Conjunto de Caracteres
Un conjunto de smbolos definidos asignados a un carcter nico.
Lector Compatible
Implementacin de software que es capaz de leer y procesar archivos PDF que han sido hechos
conforme las especificaciones del estndar ISO32000.
Cadena de Contenido
Cadenas de objetos cuya informacin consiste de una secuencia de instrucciones describiendo los
elementos grficos a ser pintados en una pgina.
Tabla de Referencias Cruzadas
Estructura de datos que contiene el desfase en bytes para cada objeto indirecto dentro del archivo.
Objeto Diccionario
Una tabla asociativa conteniendo pares de objeto, el primer objeto es el nombre del objeto
sirviendo como una llave t el segundo objeto trabajando como el valor puede ser cualquier objeto.
Objeto Directo
Cualquier objeto que no ha sido convertido en un objeto indirecto.

Insercin de Informacin Oculta en Archivos PDF

2011

Documento electrnico
Representacin electrnica de un grupo de texto orientado a pgina, imgenes y grficas, y
metadatos tiles para identificar entender y renderear informacin. Puede ser reproducido en paple
o desplegado sin prdidas significativas del contenido de su informacin.
Marcador de Fin de Lnea (Marcador EOL)
Uno o dos caracteres indicando el fin de una lnea de texto, consistiendo de una vuelta de carro y
de una entrada de lnea.
Fuente
Coleccin identificada de graficas que pueden ser lneas u otros elementos grficos.
Funcin
Un tipo especial de objeto que representa clases parametrizadas, incluyendo frmulas
matemticas y representaciones con resolucin arbitraria.
Objeto indirecto
Un objeto que est marcado con un numero entero positivo seguido por un numero de generacin
entero no negativo seguido de obj y teniendo endobj despus de el.
Objeto Entero
Enteros matemticos con una implementacin especificada en un intervalo con centro cero y
escrita como uno o ms dgitos decimales opcionalmente precedidos de un smbolo.
Objeto Nombre
Un smbolo atomico identificado nicamente por una secuencia de caracteres precedidos por el
smbolo de barra, sin que este primer smbolo sea parte del nombre.
Objeto Nulo
Un objeto solo del tipo nulo, denotado por la palabra clave null, y teniendo un tipo y valor que son
diferentes a otros objetos.
Objetos Numricos
Cualquiera, un objeto entero o un objeto real.
Objeto
Una estructura bsica de la cual los archivos PDF son contruidos e incluidos en los objetos bsicos
de PDF.
Referencia de Objeto
El valor de un objeto usado para que un objeta pueda referirse a otro.
Objeto Cadena
Una cadena que contiene una secuencia de objetos PDF.
PDF
Archivo de Portable Document Format (PDF) en el estndar.
Objeto Real
Nmero real de aproximacin matemtica. Pero con un rango limite y precisin y escrito como uno
en los digitos decimales
Diccionario de Recursos
Asocia nombres de recursos, usado en cadenas de contenidos, con los mismos objetos de
recursos y los organiza en varias categoras.

Insercin de Informacin Oculta en Archivos PDF

2011

Carcter de Espacio
Carcter de cadena de texto usado para representar el espacion en blanco ortogrfico en cadenas
de texto.
Cadena de Objeto
Consiste de un diccionario seguido de cero o ms bytes encerrados entre las palabras clave
Stream y endstream.
Objeto Cadena
Consiste en una serie de bytes (valores enteros sin signo en el rango del 0 al 255) y los bytes no
son objetos enteros, pero estn almacenados en una forma ms compacta.
Carcter de Espacio Blanco
Carcter que separa constructores sintcticos PDF tales como nombres y nmeros unos de otros;
caracteres de espacio son tabulador horizontal, entrada de lnea, entrada de formulario, vuelta de
carro, espacio.
Archvio XPDF
Archivo apegado al formato de informacin XML 2.0, el cual es una transliteracin del Formato de
Formularios de Informacin (FDF).

Insercin de Informacin Oculta en Archivos PDF

2011

Anexos

Insercin de Informacin Oculta en Archivos PDF

A.

2011

Diagramas de Clases de Objetos PDF

Clases base para la representacin de los objetos de manera lgica

Imagen A-0-1 Clases Base de Objetos PDF

Lista de tipos de objetos dependientes de las clases base.

Imagen A-0-2 Tipos de Objeto PDF

Insercin de Informacin Oculta en Archivos PDF

2011

Clases de los objetos del estndar ISO32000

Imagen A-0-3 Clases de los Objetos PDF

Insercin de Informacin Oculta en Archivos PDF

2011

Objeto lector de archivos PDF

Este objeto es el que abre el archivo PDF y lo convierte en una


estructura lgica en forma de rbol. De esta forma el rbol se
puede recorrer y obtener los objetos en una lista.

Objeto Descriptor de los nodos de la lista de objetos insertables

Imagen A-0-4 Objeto Descriptor

Imagen A-0-5 Objeto Lector de


Archivos PDF

Insercin de Informacin Oculta en Archivos PDF

B.

2011

Nombres Recomendados para las Entradas en Diccionarios

Como nombre para los parmetros a insertar se propone utilizar alguno de los siguientes:
Nombre
StyleT
StyleC
StyleF
TextC
TextM
TextP
FontM
FontN
FontL
FontC
ColoRef
ColorHex
ColorN
FormatP
FormatT
FormatAl
AnchorT
AnchorFor
ArrayS
StringT
StringF
StringMsk
WidthT
LengthT
ObjectN
ObjectCol
ObjectFmt
ObjectStl
Tabla B-1 Nombres recomendados para Insercin

Tambin es vlida cualquier variacin de nombres de entradas comunes en los archivos PDF.

Insercin de Informacin Oculta en Archivos PDF

C.

2011

Parmetros de la Aplicacin PDFAnalizer

El programa PDFAnalizer puede recibir varios parmetro que le indican que tarea realizar sobre un
archivo PDF. Su sintaxis es la siguiente
PDFAnalizer <Nombre y ruta de archivo PDF> |-Parmetro 1 <argumento>||-Parmetro n <argumento>|

El primer parmetro indica el nombre del archivo PDF a utilizar como principal de trabajo, es el
nico parmetro obligatorio. En caso de no introducir ningn parmetro el programa solo muestra
la lista de objetos del archivo PDF.
En la Tabla siguiente se muestran los parmetros de entrada posibles para el programa
PDFAnalizer y sus efectos en el comportamiento del mismo. Todos los parmetros se introducen
anteponiendo el smbolo - y, en su caso, seguidos del valor de la entrada.
Parmetro
p

Descripcin
En un proceso de insercin, este parmetro indica
que el texto siguiente a l corresponde al nombre
se utilizara como llave de las entradas insertadas a
los diccionarios del archivo. En un proceso de
verificacin, indica que el texto siguiente a l
corresponde a la llave que se buscara en los
diccionarios del archivo para encontrar texto
oculto. Este parmetro no tiene ningn efecto si
no se utiliza el parmetro a m en la lista de
argumentos. Si no se indica este parmetro se
utiliza /StyleT como el nombre de la llave para las
entradas a insertar en los diccionarios del archivo
PDF
Este parmetro indica que el nmero decimal
entero inmediatamente
posterior a l
corresponde al lmite de lneas para mostrar de la
lista de objetos antes de solicitar al usuario
presionar una tecla antes de continuar.
Con este parmetro se indica que el texto
subsecuente ser insertado en los diccionarios del
archivo PDF utilizando la llave indicada por p y el
lmite indicado por L. Si en la lista de argumentos
se encuentra el argumento a, se ignorara este
parmetro y se usara el parmetro a.
En un proceso de verificacin indica que el texto
encontrado ser guardado en el archivo que se
indica despus de este parmetro. En caso de no
indicar el nombre de un archivo txt de salida para
el mensaje recuperado se utilizara el nombre del
archivo verificado ms el sufijo mensaje.txt. Este
parmetro no tiene ningn efecto cuando no se
incluye el parmetro v en la lista de argumentos.
o

Insercin de Informacin Oculta en Archivos PDF


a

2011

En un proceso de insercin indica el nombre de un


archivo txt con el texto a ocultar utilizando el
parmetro indicado por p y el lmite indicado por
L. En caso de existir un parmetro m en la lista
de argumentos se utilizara este parmetro en lugar
de m.
Este parmetro indica que se mostrara la lista de
objetos del archivo PDF en orden de nmero de
objeto al usuario.
En un proceso de insercin indica el nmero de
caracteres a introducir por cada nmero decimal
en los diccionarios del archivo. Si no se indica este
valor se utilizara el valor 6 como lmite de
insercin. El valor mximo para este parmetro es
de 8 caracteres por diccionario.
Este parmetro indica que se desea mostrar la
capacidad de insercin en caracteres del archivo
PDF indicado como archivo de trabajo principal.
Este parmetro indica que el texto posterior a l
corresponde al nombre del archivo donde se
guardara el resultado de la insercin. Si no se
indica este parmetro en la lista de argumentos se
utilizara el nombre del archivo principal de trabajo
ms el sufijo changed.pdf. Este parmetro no
hace nada si no se indica el parmetro m a en
la lista de argumentos.
Con este parmetro se indica que se realizara un
proceso de verificacin al archivo principal de
trabajo utilizando el lmite indicado por L y el
valor de la llave indicado por p. En caso que se
indique el parmetro a m en la lista de
argumentos, se utilizara el nombre de archivo de
salida del proceso de insercin indicado en s.
Tabla C-1 Tabla de Parmetros del Programa PDFAnalizer

S-ar putea să vă placă și