Cifrado de Contenido

77
UNIVERSIDAD DE COLIMA FACULTAD DE TELEMÁTICA TÉCNICAS DE PROTECCIÓN CONTRA PIRATERÍA EN DISCOS COMPACTOS TESIS Que para obtener el grado de: Maestra en ciencias, área telemática Presenta: ING. ANA AZUCENA EVANGELISTA SALAZAR Asesor: M. C. PEDRO DAMIÁN REYES Colima, Col ., junio de 2001

description

 

Transcript of Cifrado de Contenido

Page 1: Cifrado de Contenido

UNIVERSIDAD DE COLIMA

FACULTAD DE TELEMÁTICA

TÉCNICAS DE PROTECCIÓN CONTRA PIRATERÍA

EN DISCOS COMPACTOS

TESIS

Que para obtener el grado de:

Maestra en ciencias, área telemática

Presenta:

ING. ANA AZUCENA EVANGELISTA SALAZAR

Asesor:

M. C. PEDRO DAMIÁN REYES

Colima, Col ., junio de 2001

Page 2: Cifrado de Contenido

2

INDICE

RESUMEN ........................................................................................................................ 4

SUMARY ........................................................................................................................ 5

INTRODUCCIÓN ..................................................................................................................... 6

PLANTEAMIENTO.................................................................................................................. 7

JUSTIFICACIÓN...................................................................................................................... 7

DESCRIPCIÓN GENERAL DE PROYECTO...................................................................... 8

OBJETIVO GENERAL DEL PROYECTO........................................................................... 9

OBJETIVOS PARTICULARES............................................................................................. 9

ANTECEDENTES ................................................................................................................... 9

Rainbow Technologies...................................................................................................... 12

Seguridad y rendimiento en Internet................................................................................. 12

Distribución y licenciamiento de software ........................................................................ 13

Información y comunicación............................................................................................. 13

Wibu-Systems................................................................................................................... 13

METODOLOGÍA....................................................................................................................14

METAS ......................................................................................................................15

CAPÍTULO I. ORGANIZACIÓN DE LA INFORMACIÓN EN EL CENEDIC..............16

Recepción de información del Departamento de Captura y Revisión ............................... 20

Transferencia de archivos en formatos diversos a formato WinWord .............................. 21

Exportación de formato WinWord a formato ASCII........................................................... 21

Exportación de archivos de formato WinWord a formatos diversos. ................................ 22

Verificación de imágenes faltantes y sobrantes............................................................... 22

Page 3: Cifrado de Contenido

3

CAPÍTULO II. TÉCNICAS DE PROTECCIÓN DE DATOS .........................................25

¿Qué es la criptografía, cifrado o codificación de información? ...................................... 25

Terminología..................................................................................................................... 25

Encriptación...................................................................................................................... 25

Desencriptación ................................................................................................................ 26

Un ejemplo criptográfico................................................................................................... 26

¿Es la criptografía una tecnología militar o civil?............................................................. 28

Algoritmos y funciones criptográficas.............................................................................. 29

CAPÍTULO III. ANÁLISIS DE SOFTWARE Y HARDWARE EXISTENTESPARA LA PROTECCIÓN DE INFORMACIÓN ....................................53

¿Para que sirve el sentinel?.............................................................................................. 54

MicroDog GS-MH............................................................................................................... 61

WIBU NET.......................................................................................................................... 65

CAPÍTULO IV. UTILIZACIÓN DE MICRODOG EN UN PLAN PILOTO.....................68

Descripción del uso de la llave MICRODOG GS-MH para protección de software ............ 68

Explicación de los procesos que se pueden realizar utilizando la llave Dog. ................... 69

CONCLUSIONES................................................................................................................765

BIBLIOGRAFÍA....................................................................................................................776

Page 4: Cifrado de Contenido

4

RESUMEN

El propósito fundamental de este trabajo es analizar técnicas de protección

de información que existan en el mercado, para sugerir su implementación en los

discos compactos que produce el Cenedic (Centro Nacional Editor de Discos

Compactos) de la Universidad de Colima, evitando así que de manera ilegal y con

fines de lucro se realicen copias de grandes volúmenes de información.

Page 5: Cifrado de Contenido

5

SUMARY

The fundamental purpose of this job is to analyze all the information about

protection techniques which exist in the market to suggest its implementation in the

compact disks that the CENEDIC (Centro Nacional Editor de Discos Compactos)

from the Universidad de Colima produces, preventing thus to make from an illegal

way copies of big volumes of information.

Page 6: Cifrado de Contenido

6

INTRODUCCIÓN

La constante evolución de la tecnología y el ritmo vertiginoso de la vida

actual nos invitan a desear cuanto artilugio vemos en los aparadores, tiendas,

escaparates y demás. Por ello, siempre estamos a la caza y a la espera de las

bondades tecnológicas que nos harán la vida más fácil, pero cuántas veces nos

ponemos a pensar si el horno de microondas, el televisor o nuestra computadora

personal no es de dudosa procedencia. Sí, la piratería está a lo orden del día y es

el dolor de cabeza de quienes generan productos originales con todo el esfuerzo

que esto conlleva mientras que alguien más listo (o más abusivo) puede hacer uso

indebido de esta adquisición.

Este trabajo, pretende identificar técnicas de seguridad de datos para

posteriormente sugerir su adecuada implementación en los discos compactos del

Cenedic (Centro Nacional Editor de Discos Compactos ) de la Universidad de

Colima.

En el capítulo I, se explicará cómo está organizada la información en el

Cenedic (Centro Nacional Editor de Discos Compactos) para identificar en qué

parte se implementarían las técnicas de seguridad de la información.

En el capítulo II, se abordarán las diferentes técnicas de protección de datos

existentes, para de ahí seleccionar las que mejor se apliquen a las necesidades de

los proyectos del Cenedic (Centro Nacional Editor de Discos Compactos).

En el capítulo III, se analizarán el software y el hardware para protección de

información, de la misma manera se identificarán cuáles son los más convenientes

para en un futuro inmediato implementarlos en los proyectos del Cenedic.

En el capítulo IV, se pondrá en marcha un plan piloto donde se apliquen las

técnicas seleccionadas, y se lleve a cabo la protección de información de los

productos que genera el Cenedic.

Page 7: Cifrado de Contenido

7

PLANTEAMIENTO

La veloz marcha de los avances tecnológicos representa un gran negocio

para aquellos que encuentran un filón de oro en la elaboración de productos

piratas, desde una cinta de audiocasette hasta sofisticados programas de

cómputo, es por ello que se busca encontrar la (s) herramientas(s) tecnológicas

más adecuados para proteger los productos que genera el Cenedic (Centro

Nacional Editor de Discos Compactos ) de la Universidad de Colima, pues se

tienen algunos casos de discos compactos que ha desarrollado el Cenedic y se

han pirateado tanto en su información como el disco completo, y esto lleva a tener

perdidas considerables.

JUSTIFICACIÓN

La proliferación de equipo técnico y el abaratamiento del mismo convierte en

una "tentación" para todos la adquisición de productos piratas existentes en el

mercado, ya sean de música, información e incluso, de software; por ello, resulta

imperioso encontrar e implementar medidas de seguridad que garanticen su

integridad.

Un ejemplo claro que puede suscitarse es que cualquier persona que

adquiera algún disco, puede modificar esta información ya procesada (con todo lo

que esto representa) y realizar una actualización o hasta una edición "pirata". Esto

tiene una solución inmediata con la implementación de técnicas como el cifrado,

que evita que la información sea legible al usuario aunque se realice la copia; y la

protección contra ejecución del disco a través de software y hardware a pesar de

tener un duplicado.

En el Cenedic se tienen ejemplos de productos (Artemisa, Embriología

Humana 1 y 2) que han sido copiados y que actualmente se venden en mercados

Page 8: Cifrado de Contenido

8

populares a un precio mucho más bajo; del mismo modo algunos discos

(Jurisprudencia ) se editaron por vez primera y las posteriores se cancelaron

debido a que la información ya estaba procesada, sólo bastaba pagar por su

edición, tarea que contrataron con otra empres aa precio mucho más bajo. Esto

genera pérdidas para el Cenedic, ya que invierte en personal y en procesos para

que la información finalmente sea "pirateada", es por eso que resulta imperioso

que todos los productos generados por el Cenedic estén protegidos, de esta

manera, y así evitar pérdidas.

DESCRIPCIÓN GENERAL DE PROYECTO

La finalidad primordial de este proyecto es implementar técnicas de

encriptación de datos y protección de software contra la piratería, así como

seleccionar y experimentar con llaves (dispositivo combinado de Hardware y

Software para la Protección de Software ) que impidan la ejecución de la copia del

disco o el software aunque los tengan físicamente.

Para ello, primeramente se investigarán las técnicas de encriptación y los

métodos de seguridad que ya existen para evitar la piratería, por lo que se tendrán

que realizar pruebas para elegir la mejor técnica que se adapte a las necesidades

de los proyectos y de cualquier software que se realice en el Cenedic, protegiendo

así los derechos de autor que se ven tan amenazados por la propia tecnología que

posibilita que cualquier persona con un equipo y conocimientos básicos pueda

realizar copias de un producto deseado con seguir una serie de pasos sencillos. Al

mismo tiempo se investigará sobre los productos que ya existen en el mercado

para protección de información por hardware de los mismos, y se eligirá el mejor,

esto requerirá que se adquieran productos para realizar pruebas y se ponga en

marcha un plan piloto, el cual deberá ser monitoreado permanentemente para

determinar con exactitud el más conveniente, además hay que considerar la

velocidad con que esta tecnología evoluciona.

Page 9: Cifrado de Contenido

9

OBJETIVO GENERAL DEL PROYECTO

Identificar y analizar las herramientas existentes para la protección de datos y

software contra la piratería, con el propósito de encontrar las más adecuadas para

los productos que genera el Cenedic (Centro Nacional Editor de Discos

Compactos).

OBJETIVOS PARTICULARES

♦ Investigar las técnicas de encriptación de datos y software contra la

piratería

♦ Analizar las técnicas más apropiadas para encriptación de datos

♦ Investigar los medios existentes para proteger el software contra la

piratería

♦ Analizar la viabilidad de protección de software contra la piratería por

medio de:

Técnicas desarrolladas externamente (empresas)

♦ Presentar un análisis completo de la tecnología seleccionada .

ANTECEDENTES

Criptografía se define como una estructura cifrada según una determinada

clave (Diccionario Larousse), por lo que el presente trabajo versará a este

respecto y continuamente aparecerán términos como encriptación, cifrado,

criptografía, codificación, los cuales giran en torno a la ciencia de encapsular y

desencapsular mensajes. Cabe mencionar que algunos autores difieren en los

usos de estas palabras, lo que pudiera causar alguna confusión al lector, sin

embargo, se respetará el empleo que de ellos hagan.

Page 10: Cifrado de Contenido

10

La idea de la criptografía tiene miles de años de antigüedad, los generales

griegos y romanos la utilizaban para enviar mensajes en clave a los comandantes

que estaban en el campo de batalla. Estos sistemas primitivos se basaban en dos

técnicas: la sustitución y la transposición.

La sustitución se basa en el principio de remplazar cada letra del mensaje

que se desea encriptar con otra. Por ejemplo, el código del César sustituye la letra

"a" por la "d", la "b" por la "e", etcétera. Algunos códigos de sustitución ocupan el

mismo esquema de reemplazo para todas las letras del mensaje que se encripta;

otros emplean diferentes esquemas para distintas letras.

La transposición se basa en la revoltura de los caracteres del mensaje. Un

sistema de transposición implica escribir un mensaje dentro de una tabla, renglón

por renglón, y luego leerlo columna por columna. El cifrado de doble transposición

implica repetir la revoltura otra vez.

En el siglo XIX se dieron dos factores que ayudaron a mejorar la criptografía.

El primero fue la aparición de los relatos de Edgar Allan Poe, como "La Pulga de

Oro", que con sus mensajes codificados excitaron la imaginación de muchos lecto-

res. El segundo fue la invención del telégrafo y del código Morse. El código Morse

constituyó la primera representación binaria (puntos y rayas) del alfabeto que se

usó de forma muy extendida.

Durante la Primera Guerra Mundial muchas naciones construyeron

"codificadoras" mecánicas que permitían una fácil codificación y decodificación de

textos usando complejas y sofisticadas claves. En este punto, la historia de la

criptografía cambió ligeramente la historia de quienes se dedicaban a descifrar

códigos. Antes de que se usaran mecanismos para decodificar y codificar

mensajes, las claves complejas se usaban con poca frecuencia, debido al tiempo y

el esfuerzo que requería tanto codificarlos como decodificarlos. Por tanto, la

mayoría de los códigos podían ser descifrados en, relativamente, poco tiempo. Al

Page 11: Cifrado de Contenido

11

usar máquinas para los códigos, el arte de descifrarlos se hizo mucho más difícil.

Aunque las modernas computadoras habrían descifrado fácilmente esos códigos,

ni siquiera ellas pueden eludir el increíble talento de Herbert Yardley, todavía

considerado el mayor maestro de todos los tiempos en el arte de descifrar

códigos. No sólo descifró el código diplomático de los Estados Unidos en 1915, en

sus ratos libres, sino que incluso descifró el código diplomático japonés de 1922.

Lo hizo mediante tablas de frecuencias del lenguaje nipón.

Durante la Segunda Guerra Mundial, el principal método usado para descifrar

el código del enemigo fue robarle su máquina codificadora, eludiendo así el

tedioso (aunque quizá intelectualmente gratificante) proceso de descifrarlo. De

hecho, la posesión por parte de los aliados de una máquina codificadora de los

alemanes (sin que ellos lo supieran) contribuyó en gran medida a que terminase la

guerra.

Hacia principios del siglo XX, se construyeron en Europa y Estados Unidos

varios dispositivos electromecánicos para encriptar mensajes de radio y telégrafo.

Los sistemas dependían, sobre todo, de la sustitución, ya que no había modo de

guardar un mensaje completo usando técnicas de transposición. Hoy en día, los

algoritmos de encriptación, que se ejecutan en computadoras digitales de alta

velocidad emplean sustitución y transposición combinadas, así como otras

funciones matemáticas.

Con la llegada de las computadoras, especialmente las computadoras

multiusuario, la seguridad y la existencia de códigos indescifrables se ha

convertido en algo muy importante. No sólo es frecuente la necesidad de

mantener secretos ciertos archivos, sino que el mismo acceso a la computadora

debe ser controlado y regulado. Se han desarrollado numerosos métodos de

cifrado de archivos de datos y el algoritmo DES (Estándar de Cifrado de Datos),

aceptado por la Oficina Nacional de Estándares de Estados Unidos, generalmente

se considera seguro contra los intentos de descifrarlo. Sin embargo, el DES es

Page 12: Cifrado de Contenido

12

muy difícil de implementar y puede no ser adecuado en todas las ocasiones.

Con respecto a los antecedentes de la protección por hardware (sentinel) no

se tiene fecha exacta de su inicio, se tienen datos de empresas que ahora fabrican

estos candados, por ejemplo:

Rainbow Technologies

Es una de las primeras compañías en soluciones de seguridad para el

Comercio electrónico en Internet, fundada en 1984. Rainbow enfoca su principal

tecnología a una variedad de aplicaciones para Internet, desde software para

proteger aplicaciones hasta la aceleración de comunicaciones seguras en internet

y redes virtuales privadas (VPN). Los productos de Rainbow incluyen servidores

seguros de Web y tarjetas aceleradoras de VPN; soluciones de antipiratería y

distribución de software en Internet; soluciones de seguridad basadas en

infraestructura; sistemas de seguridad para voz, datos y satélites; y autentificación

por llaves de hardware basadas en USB (Interfase Serial Universal) y puerto

paralelo.

Las soluciones de Rainbow Technologies se basan en productos

relacionados con la seguridad:

Seguridad y rendimiento en Internet

Ya que ofrece seguridad y rendimiento al sector del comercio electrónico .

Son líder de mercado en soluciones dirigidas al rendimiento del hardware de redes

privadas virtuales (VPN) y servidores seguros de comercio electrónico y Web.

CryptoSwift, NetSwift y FastMAP son la propuesta para estos retos. CryptoSwift

acelera las transacciones seguras en servidores de Web, y NetSwift es un

producto exclusivo que aumenta el rendimiento de las soluciones para redes VPN.

Ambos productos utilizan el chip FastMAP de Rainbow, el circuito integrado de

criptografía de clave pública más rápido existente, el cual suministra una

Page 13: Cifrado de Contenido

13

criptografía de alto rendimiento y eficacia de costos para redes virtuales privadas

(VPN), procesando de datos financieros y otros productos de hardware orientados

a la seguridad.

Distribución y licenciamiento de software

Que proporciona las herramientas que necesitan los desarrolladores de

software para dar soluciones a sus clientes por Internet. La protección del software

que brinda Sentinel no sólo tiene relación con la piratería, sino también con

información sobre sus clientes, para darles la opción de probar, comprar y

actualizar los productos por Internet, y al mismo tiempo, poder obtener el registro

al 100% de esos productos. La línea de productos Sentinel tiene una larga historia

de líder en soluciones de protección para software; en realidad, el 55% de todo el

software protegido actual hace uso de una llave Sentinel.

Información y comunicación

Que proporciona al gobierno de EE.UU. y a la industria aeroespacial

telecomunicaciones seguras y productos de criptografía. Mykotronx, filial de

Rainbow, es un fabricante líder de equipos de encriptación y descifrado de alto

nivel que se utilizan en las comunicaciones espaciales y en otros entornos

especiales de comunicación digital, y tiene más productos aprobados por la NASA

que cualquier otra compañía.

Rainbow Technologies ha reunido toda su experiencia para mejorar la

capacidad de las empresas de efectuar transacciones en Internet. Tanto si se trata

del suministro seguro de software, de transacciones seguras y aceleradas de

eCommerce, o de la seguridad del tráfico por las redes privadas virtuales,

Rainbow se dedica a brindar seguridad al comercio del mundo. (1)

Wibu-Systems

Esta empresa fue fundada en 1989 en Karlsruhe, por Oliver Winzenried y

Marcellus Buchheit, es conocida como sinónimo de uno de los más avanzados

Page 14: Cifrado de Contenido

14

desarrolladores y distribuidores de Hardware para protección de copias,

proveedores de licencias en red e Internet, y respuestas a información sobre

seguridad.

Desde 1997, WIBU-SYSTEMS posee la acreditación de la norma ISO-9001

y se ha adherido a un Sistema de Seguro de la Calidad. Cada departamento de

WIBU-SYSTEMS ha sido certificado de acuerdo con los estándares de la norma

ISO-9001.

Hoy en día, WIBU-SYSTEMS es el único proveedor de Hardware para

protección de copias en Alemania con sus propios departamentos de

investigación, desarrollo, producción y ventas en un mismo lugar. Esta

característica distintiva nos permite ofrecerles a nuestros clientes un servicio de

especial calidad.

El diseño de sus productos se basa en tres principios: funcionalidad, facilidad

de uso y seguridad ecológica, ofrece la gama más amplia a nivel mundial de

hardware para protección de copias para PCs y Macintosh.(2)

Después de haber expuesto los productos de dos empresas líderes en el

ramo, queda constancia del trabajo de análisis para su posterior aplicación,

remarcando que la investigación debe ser continua para estar a la vanguardia en

la protección de la información.

METODOLOGÍA

De acuerdo al tipo de investigación que se plantea y a las posibilidades de

aplicación que se vislumbran, se presenta la siguiente metodología:

♦ Conceptualizar términos que intervienen en el encriptamiento de datos

♦ Organizar y análizar la información.

Page 15: Cifrado de Contenido

15

♦ Seleccionar los métodos elegidos para su experimentación (software y

hardware)

♦ Analizar el comportamiento de los métodos elegidos

♦ Documentar la información, experiencias y conocimientos adquiridos.

METAS

♦ Profundizar en el conocimiento de protección de software y encriptación de

datos

♦ Conocer las diversas herramientas que proporcionan tanto las empresas

comerciales como centros de investigación.

♦ Aprender a utilizar estas herramientas para realizar las aplicaciones

pertinentes.

♦ Sugerir la implementación de los mejores métodos de acuerdo a la

investigación previa

Page 16: Cifrado de Contenido

16

CAPÍTULO I. ORGANIZACIÓN DE LA INFORMACIÓN EN EL

CENEDIC

El Centro Nacional Editor de Discos Compactos, Cenedic, surge en el año de

1989 con el "Proyecto Colima". El objetivo principal de dicho proyecto era el de

propiciar el intercambio de información bibliográfica y documental entre las

universidades públicas mexicanas, además, estimular el desarrollo de bases de

datos y la automatización de los servicios bibliotecarios. La propuesta fue

presentada a la Subsecretaría de Educación Superior e Investigación Científica y

respaldada por el desarrollo y productos obtenidos desde 1983 en el área. Uno de

los productos más importantes es el SIABUC (Sistema integral para la

Automatización de Bibliotecas de la Universidad de Colima), el cual es un sistema

que potencializa la administración de los servicios bibliotecarios. Este software es

usado en gran parte de los CD´S producidos en el Cenedic y por más de 500

instituciones nacionales y extranjeras.

Los primeros discos realizados contienen bases de datos de tipo referencial.

Conforme avanzó la tecnología y la experiencia en ella, fueron enriqueciéndose

con características como: manejo de imágenes; una mejor presentación y

eficiencia del software; inclusión de bases de datos a texto completo; multimedios;

etc.

En 1995 la UNESCO le otorga el reconocimiento de Centro Regional para la

Producción de Discos Compactos y Nuevas Tecnologías de Información gracias a

su aplicación y desarrollo en el ámbito. Hasta fines de 1998 el catálogo del

CENEDIC sumaba cerca de 200 títulos enmarcados en las diferentes áreas del

conocimiento: medicina; área jurídica; literatura y humanidades; ciencias

naturales; catálogos y directorios; economía; etc.

Page 17: Cifrado de Contenido

17

Cabe señalar que los programas (software) incluidos en cada disco y la

metodología usada en los proyectos de edición, es producida en su totalidad por

personal del centro.

El Cenedic ha logrado consolidarse gracias al entusiasmo de las personas

que laboran en él y la gran responsabilidad que aplican en cada uno de los

proyectos, así como a la energía propia de los estudiantes que realizan

investigación y son el eslabón que unen academia y tecnología. (3)

Ahora presentaré un análisis de cómo se organiza la información en el

Cenedic de la Universidad de Colima, para identificar en qué proceso se llevaría a

cabo la seguridad (proteción) de la información.

Cuando inicia un proyecto se recibe el material, se analizan y evalúan sus

características. Esto quiere decir que si el material no es de buena calidad se

captura y si no, se pasa por scanner. En cualquiera de estos casos se pasa al

departamento de Captura y Revisión de Información.

Aquí se captura la información ya sea manualmente o por scanner.

Page 18: Cifrado de Contenido

18

Por medio de los scanners se digitaliza la información como imagen,

posteriormente se convierte a texto con una herramienta que tiene el software

Omni Page que es con el que se scanea. Ya que la información está capturada (ya

sea manual o digitalmente) se pasa a revisión para que se coteje con el original,

para corregir algún caracter que el software no haya reconocido. Aquí también se

le agregan marcas a la información para su mejor localización en el CD-ROM, esto

quiere decir que dependiendo de la información que se trabaje son las marcas que

van a colocar, ejemplo: Supongamos que se está capturando la información de un

periódico, por lo tanto, las marcas que conviene poner son las del título del

artículo, autor, fecha, lugar; de esta manera cuando se realicen las búsquedas

será más fácil su localización, dichas marcas le sirven al programador para

conocer en qué campos va a ejecutar las consultas.

Las imágenes se digitalizan también por medio de scanner´s parecidos a los

de texto, sólo que de mayor calidad pues deben captar colores, ya que se trabajan

fotografías, imágenes, diapositivas, negativos, y todo lo que sea imagen fija.

Page 19: Cifrado de Contenido

19

Aquí se digitalizan todas las imágenes fijas.

Una vez digitalizada se retoca por medio de unos programas (Adobe

Photoshop, Picture publisher) para manejo de imágenes donde se les da

tratamiento, se les proporciona brillo, intensidad, nitidez, etc., estas imágenes se

pasan al departamento de Captura y Revisión para que sean colocadas en el lugar

correspondiente que se indica en el texto original.

El siguiente paso es unir toda la información en un sólo archivo, esto lo

realiza el departamento de Tratamiento y Organización de Datos, donde organizan

la información a través de procesos automáticos de acuerdo a los requerimientos

Page 20: Cifrado de Contenido

20

del proyecto; cabe aclarar que si algún proyecto ya tiene procesada su información

pasa directamente por esta área.

Aquí se generan macros para unir la información.

Recepción de información del Departamento de Captura y Revisión

1.- Se recibe la información y las características de ésta del Departamento de

Captura y Revisión realiza la transferencia de archivos de formatos diversos a

formato WinWord, exporta archivos en formato WinWord a formato ASCII (Texto

MS-DOS), exporta archivos de formato WinWord a formatos diversos: HTML, RTF,

etc.

Page 21: Cifrado de Contenido

21

2.- Se verifica con el Departamento de Programación los productos que

deberán entregarse al mismo.

3.- Se analiza la información para ver la forma en que se realizarán dichos

procesos.

Transferencia de archivos en formatos diversos a formato WinWord

En este proceso se cuida que la información quede en el formato más

accesible para el Departamento de Captura y Revisión, tomando en cuenta las

características del equipo, así como el software instalado en dicho Departamento.

1.- La información puede ser recibida en diversos dispositivos de

almacenamiento, según lo disponga el cliente, y las políticas que se aplicarán

al proyecto se determinan según las características del mismo.

2.- Se determinan las herramientas que se utilizarán para realizar la conversión

de dicha información a formato Word, así como la organización que se le

dará.

Exportación de formato WinWord a formato ASCII

1.- Se recibe la información en WinWord con la lista de formatos asignados y las

políticas del proyecto

2.- Se analizan las políticas y la información

3.- Se aplican macros en WinWord para etiquetar los campos de cada

documento y se convierten a ASCII (esto con la intención de identificar esos

campos que en formato Word tienen un formato especial, pero que éste se

perderá una vez convertida la información a ASCII) .

4.- Se unen los archivos en uno solo.

5.- Se valida el archivo unido para asegurarse de que no existen caracteres

fuera de formato.

Page 22: Cifrado de Contenido

22

Exportación de archivos de formato WinWord a formatos diversos.

1.- Se recibe información en formato WinWord así como las políticas a aplicar.

2.- Se genera un listado con el total de archivos a convertir.

3.- Se realiza la conversión de cada uno de los archivos al formato solicitado.

Verificación de imágenes faltantes y sobrantes

Este proceso se realiza para tener la seguridad que a cada marca de imagen

le corresponde un archivo de imagen digitalizada.

1.- Se realiza una lista de las marcas de imágenes encontradas en los archivos.

2.- Se solicita el listado de imágenes al Departamento de Digitalización de

Imágenes.

3.- Se ejecuta el programa de verificación de imágenes.

4.- Los reportes creados anteriormente se turnan para realizar las correcciones

pertinentes.

5.- Se realiza este proceso tantas veces como sea necesario hasta que no haya

faltantes.

Una vez terminado los procesos respectivos a la información del proyecto

ésta deberá entregarse al Departamento de Desarrollo de Software en un archivo

determinado previamente según la naturaleza del mismo, éste contendrá la

totalidad de la información separada por registros con ciertas marcas, este archivo

lo utilizan los programadores para realizar todos los procesos necesarios para

que el contenido pueda ser consultado, primeramente realizan un proceso para

separar palabras estén o no repetidas, esto quiere decir que crean un índice que

contiene la palabra y a qué registro pertenece, posteriormente se crea una base

de datos con palabras únicas y se ordena sin perder su ubicación de los registros

en la base de datos, esto se realiza con el motor de búsqueda Microsis.

Page 23: Cifrado de Contenido

23

Aquí se realizan varios procesos hasta que la información sea consultable

En resumen se crea un archivo que se llama A.xrf que contiene el inicio y el

final de cada registro, y otro que se llama B.htm que contiene toda la información

separada por registros y cada registro tiene su propio archivo con extensión .htm

de esta manera cuando se realiza una búsqueda se va al archivo que contiene el

índice de las palabras y en que registro se encuentra, posteriormente se va al

archivo A.xrf para saber dónde inicia y termina ese registro para después ir al

B.htm y tomar la información para saber cuál archivo .htm desplegar.

Page 24: Cifrado de Contenido

24

En el departamento de programación es donde se realizará la encriptación

de los archivos y se harán los programas para proteger la información por medio

de los candados (sentinel), todo esto aplicado a un plan piloto.

Page 25: Cifrado de Contenido

25

CAPÍTULO II

TÉCNICAS DE PROTECCIÓN DE DATOS

¿Qué es la criptografía, cifrado o codificación de información?

La criptografía es un conjunto de técnicas empleadas para conservar segura

la información. Con ella es posible transformar palabras escritas y otros tipos de

mensajes de forma que sean incomprensibles para receptores no autorizados. Un

receptor autorizado puede después regresar las palabras o mensajes a un

mensaje perfectamente comprensible.

Por ejemplo, he aquí un mensaje que tal vez desee:

SSL is a cryptographic protocol

Este podría ser el mensaje una vez encriptado:

« · A @~[-F« ST0p'lx0E~ 0fl+ ~+a<~r~u,w

Aún mejor, mediante la criptografía es posible volver a convertir esta "basura"

en el comprensible mensaje original. (6)

Terminología

Los sistemas de encriptación (codificación) modernos constan de dos

procesos complementarios:

Encriptación

Proceso mediante el cual el mensaje (el texto llano) se transforma en un

segundo mensaje (el texto cifrado) mediante una función compleja (el algoritmo de

Page 26: Cifrado de Contenido

26

encriptación) y una llave de codificación (encriptación) especial.

Desencriptación

Proceso inverso, en el cual el texto cifrado (encriptado) se convierte

nuevamente en el texto llano original mediante una segunda función compleja y

una llave de desencriptación. En algunos sistemas de codificación, las llaves de

encriptación y de desencriptación son iguales; en otros, son distintas.

La meta de la criptografía es hacer imposible tomar el texto cifrado y

reproducirlo en su forma original sin la llave correspondiente, y elevar el costo de

adivinar la llave más allá de lo práctico. Varios sistemas de encriptación modernos

alcanzan fácilmente esta meta. De hecho, los algoritmos criptográficos que no

tienen fallas conocidas están disponibles en la actualidad.

Un ejemplo criptográfico

Veamos cómo funciona la criptografía en la práctica. He aquí un sencillo

fragmento de texto llano:

SSL is a cryptographic protocol

Este mensaje puede encriptarse mediante un popular algoritmo de

encriptación, conocido como el Estándar de Encriptación de Datos (DES, Data

Encryption Standard). DES es un algoritmo simétrico, lo que significa que utiliza la

misma llave para encriptación y para desencriptación. En este caso, podemos

utilizar la llave nosmis

% des -e < text > text.des

Enter key: nosmis

Enter key again: nosmis

Page 27: Cifrado de Contenido

27

%

El resultado de la encriptación es el siguiente mensaje encriptado:

% cat text.des

«~AQ% [ ·F« ST0p'lx0E~ 0fl+ -~+a<~P~u,w

Cuando este mensaje se desencripta utilizando la llave nosmis, se obtiene el

mensaje original:

% dc8 -d < tcxt.dcs > tcxt.dccrypt

Enter key: nosmis

Enter key again: nosmis

% eat tcxt.dacrypt

SSL is a cryptographic protocol

%

Si intenta desencriptar el mensaje con una llave distinta, digamos gandalf; el

resultado es basura:

% des -d < text.des> text.ded-crypt

Enter key: y~ lf

Enter key again: y~ lL

Corrupted file or wrong key

% c~t t~xt.d-cryyt

N~E~R+f'~H;O~lO>~,!_+I*>

La única forma de desencriptar el mensaje encriptado y obtener texto legible

es conociendo la llave secreta nosmis. Si se desconoce, una manera de obtener el

contenido del mensaje es probando todas las llaves posibles. Esta forma se

conoce como ataque de búsqueda de llave o ataque de fuerza bruta.

Page 28: Cifrado de Contenido

28

¿Cuán fácil es realizar un ataque de búsqueda de llave? Depende de la

longitud de la llave. El mensaje anterior fue encriptado mediante el algoritmo DES,

el cual tiene una llave de 56 bits. Cada uno de estos 56 bits puede ser un 1 o un 0.

Esto significa que existen 256 llaves, o aproximadamente

72,057,594,037,900,000. Por otra parte, el comando DES solo da acceso a este

espacio de llaves cuando estas se especifican como números hexadecimales. Una

llave tecleada de forma ordinaria solo incluirá los 96 caracteres imprimibles,

reduciendo el espacio de llaves un 90%, a 7,213,895,789,838,340 (968).

Aunque el algoritmo DES tiene muchas llaves, no es un número demasiado

grande. Si es posible probar mil millones de llaves por segundo y reconocer la

correcta al encontrarla (lo cual es muy factible en algunas computadoras

modernas), se pueden probar todas las llaves posibles en poco menos de 834

días.

¿Es la criptografía una tecnología militar o civil?

Durante años la criptografía se ha considerado sobre todo, una tecnología

militar sin importar que casi todos los sistemas criptográficos han sido inventados

por civiles.

¿Por qué esta confusión? Casi todos los ejemplos históricos de la

criptografía, desde Grecia y Roma, pasando por Francia, Alemania e Inglaterra,

hasta la época moderna, son relatos de ejércitos y espías que la utilizaron para

proteger los mensajes enviados por medio de mensajeros. Los ejemplos restantes

son diplomáticos, como el de María, Reina de los escoceses, que usó la

criptografía para proteger sus mensajes (a fin de cuentas sin éxito), o nefastos,

como el de los piratas, que la emplearon para registrar dónde habían enterrado

sus ganancias mal habidas.

También hay una tradición de varios siglos de uso no militar de la

Page 29: Cifrado de Contenido

29

criptografía. Existen registros de personas que la utilizaron para proteger secretos

religiosos, ocultar secretos científicos e industriales y organizar interludios

románticos clandestinos. Durante la Primera Guerra Mundial, el servicio postal de

Estados Unidos abría todas las cartas enviadas a ultramar. La mayoría de las

cartas abiertas por la llamada Cámara Negra de Herbert Yardley no eran

mensajes enviados por espías alemanes que operaban dentro de Estados Unidos,

sino cartas no militares intercambiadas entre amantes ilícitos. Utilizaban la

criptografía por las mismas razones que lo hacían los espías: para asegurarse de

que, en caso de que uno de sus mensajes fuera interceptado o abierto por una

persona equivocada, su contenido permaneciera secreto.

En años recientes, la criptografía se ha convertido, cada vez en mayor

medida, en una herramienta de negocios y comercio. Ross Anderson, criptógrafo

inglés, cree que en años recientes el uso civil de la criptografía ha eclipsado su

uso militar. Después de todo, dice Anderson, la criptografía se utiliza para codificar

transmisiones televisivas vía satélite, proteger el dinero almacenado en "tarjetas

inteligentes" o la información financiera enviada a través de redes electrónicas. La

popularidad de todos estos usos se ha manifestado en años recientes.

Por ello, al igual que los camiones, las fibras de carbono y las computadoras

de alta velocidad, la criptografía no es una tecnología exclusivamente militar o

civil. Es una tecnología de uso dual, que tiene aplicaciones tanto militares como

civiles. Para todos sus usuarios, la criptografía es una forma de comprar seguridad

y reducir el riesgo en un mundo de incertidumbres.

Algoritmos y funciones criptográficas

Actualmente se emplean dos tipos básicos de algoritmos criptográficos:

Algoritmos de llaves simétricas

En este tipo de algoritmos se utiliza la misma llave para encriptar y

Page 30: Cifrado de Contenido

30

desencriptar el mensaje. El algoritmo DES, mencionado con anterioridad, es un

algoritmo de llaves simétricas. Estos algoritmos se conocen también como

algoritmos de llave secreta y, en ocasiones, como algoritmos de llave privada.

Desafortunadamente, ambos nombres provocan confusión con los algoritmos de

llave pública, que no están relacionados con los de llaves simétricas.

Algoritmos de llave pública

En este tipo de algoritmos se utiliza una llave para encriptar el mensaje y otra

para desencriptarlo. La llave de encriptación por lo general se conoce como llave

pública, ya que se puede divulgar públicamente sin poner en peligro la

confidencialidad del mensaje ni la llave de desencriptación. Esta última por lo

común se conoce como llave privada o llave secreta.

En raras ocasiones los algoritmos de llave pública se conocen como

algoritmos de llaves asimétricas.

Los algoritmos de llaves simétricas son los caballos de batalla de los

sistemas criptográficos modernos. Por lo general son mucho más rápidos que los

de llave pública, además de ser algo más fáciles de implementar. Por desgracia,

los algoritmos de llaves simétricas tienen un problema que limita su uso en el

mundo real: para intercambiar información mediante un algoritmo de llaves

simétricas, ambas partes deben primero intercambiar, en forma segura, una llave

de encriptación.

Los algoritmos de llave pública resuelven este problema. Las personas que

desean comunicarse crean una llave pública y una llave secreta. La llave pública

se publica. Si Sascha desea enviar un mensaje confidencial a Wendy, todo lo que

debe hacer es obtener una copia de la llave pública de Wendy (tal vez la

encuentre en su página web), usarla para encriptar el mensaje y enviarlo. Nadie,

excepto Wendy, puede desencriptar el mensaje, ya que solo ella posee la llave

Page 31: Cifrado de Contenido

31

secreta correspondiente.

La criptografía de llave pública también se ocupa para crear firmas digitales

para la información, digamos un mensaje de correo electrónico, a fin de certificar

su origen e integridad. En el caso de las firmas digitales, la llave secreta se utiliza

para crear la firma digital y la llave pública para comprobarla. Por ejemplo, Wendy

podría escribir una carta a Sascha y firmarla con su llave secreta. Cuando Sascha

recibe el mensaje, puede verificarlo mediante la llave pública de Wendy.

Los algoritmos de llave pública tienen inherente un problema importante: son

increíblemente lentos. En la práctica, la encriptación y desencriptación mediante

llave pública se ejecuta entre diez y cien veces más lenta que con el algoritmo

equivalente de llaves simétricas. Debido a ello existe un tercer tipo.

En estos sistemas, la criptografía de llave pública más lenta, se utiliza para

intercambiar una llave de sesión aleatoria la cual se usa entonces como base para

un algoritmo de llaves .simétricas (una llave de sesión es la que se utiliza para una

sola sesión de encriptación, luego se desecha). Casi todas las implementaciones

prácticas de sistemas de llave pública son, en realidad, sistemas híbridos.

Existe un nuevo tipo de funciones que se ha popularizado en años recientes,

las cuales se utilizan junto con la criptografía de llave pública:

Compendio de mensaje

La función de compendio de mensaje (message digest) genera un patrón de

bits único o casi único para una entrada específica. El valor del compendio se

calcula de modo que encontrar una entrada que genere en forma exacta un

compendio específico no sea factible computacionalmente. Los compendios de

mensaje se consideran comúnmente como huellas digitales para archivos.

Page 32: Cifrado de Contenido

32

Las siguientes secciones analizan con detalle todos estos tipos de

algoritmos.

Algoritmos de llaves simétricas

Los algoritmos de llaves simétricas sirven para la encriptación en masa de

datos o flujos de datos. Están diseñados para ser muy rápidos y (por lo general)

tienen un gran número de llaves posibles. Los mejores algoritmos de llaves

simétricas ofrecen confidencialidad casi perfecta: una vez que los datos son

encriptados mediante una llave no hay forma de desencriptarlos sin poseer la

misma llave.

Los algoritmos de llaves simétricas pueden dividirse en dos categorías: de

bloque y de flujo. Los algoritmos de bloque encriptan los datos un bloque a la vez;

los algoritmos de flujo encriptan byte por byte.

DES

El Estándar de Encriptación de Datos fue adoptado como estándar del

gobierno estadounidense en 1977, y como estándar ANSI en 1981. DES es un

algoritmo de bloque que utiliza una llave de 56 bits y tiene varios modos de

operación, de acuerdo con el propósito con el que se utilice.

DESX

DESX consiste en una sencilla modificación al algoritmo DES, construida

alrededor de dos pasos de "blanqueo". Estos pasos al parecer mejoran con mucho

la seguridad del algoritmo, haciendo casi imposible la búsqueda de las llaves.

Puede encontrar mayor información sobre DESX en la FAQ de criptografía de

RSA Data Security.

Page 33: Cifrado de Contenido

33

Triple-DES

Triple-DES brinda una forma de, por lo menos, duplicar la seguridad de DES,

mediante el uso del algoritmo DES tres veces con tres diferentes llaves (utilizar

simplemente DES dos veces con dos diferentes llaves no mejora la seguridad al

grado que se podría esperar, debido a un tipo teórico de ataque conocido como

"encontrarlo a la mitad", en el cual un atacante intenta, de modo simultáneo,

encriptar el texto llano con una sola operación DES y desencriptar el texto cifrado

con otra operación DES, hasta que se encuentra una correspondencia a la mitad).

Triple-DES actualmente se utiliza en instituciones financieras y gobiernos como

alternativa a DES.

Blowfish

Blowfish (pez globo) es un algoritmo de bloque rápido, compacto y sencillo,

inventado por Bruce Schneier. Permite una llave de longitud variable de hasta 448

bits, y está optimado para ejecutarse en procesadores de 32 y 64 bits. El algoritmo

no está patentado y se ha puesto en el dominio público.

IDEA

El Algoritmo Internacional de Encriptación de Datos (IDEA International Data

Encryplion Algorithm) fue desarrollado en Zurich, Suiza, por James L. Massey y

Xuejia Lai, y publicado en 1990. Utiliza una llave de 128 bits que se considera

bastante segura. Por desgracia, el uso más amplio de IDEA ha sido obstaculizado

por una serie de patentes de software que existen sobre el algoritmo, el cual en la

actualidad es propiedad de AscomTech AG, empresa ubicada en Solothurn, Suiza.

Page 34: Cifrado de Contenido

34

RC2

Ronald Rivest desarrolló originalmente este algoritmo de bloque y RSA lo

mantuvo como secreto comercial. Luego se divulgó en un mensaje anónimo en

Usenet en 1996, y parece ser razonablemente seguro (aunque hay algunas llaves

específicas que son débiles). RC2 se vende con una implementación que permite

llaves de entre 1 y 2048 bits.

Aunque los autores en general están a favor de la protección de la propiedad

intelectual se oponen al concepto de las patentes de software, en parte porque

obstaculizan que individuos y pequeñas empresas y uso de programas desarrollen

y utilicen software de inovación. Además las patentes de software tienden a

construir algunas formas de investigación experimental.

Comúnmente la longitud de las llaves de RC2 se limita a 40 bits en el

software que se vende para exportarlo fuera de Estados Unidos.

RC5

Este algoritmo de bloque fue desarrollado por Ronald Rivest y publicado en

1994. RC5 permite que la longitud de la llave, el tamaño del bloque de datos, y

número de pasadas de encriptación las definida el usuario.

Fortaleza criptográfica

Las diferentes formas de criptografía no son todas iguales. Algunos sistemas

no son muy buenos para la protección de datos, pues permiten desencriptar la

información sin conocer la llave correspondiente. Otros son bastante resistentes

aun a los ataques más obstinados. La capacidad de un sistema criptográfico para

proteger información contra el ataque se conoce como fortaleza, la cual depende

de muchos factores, incluyendo:

Page 35: Cifrado de Contenido

35

La confidencialidad de la llave

La dificultad de adivinar la llave o intentar todas las llaves posibles (una

búsqueda de llaves). Las llaves más largas por lo general son más difíciles de

adivinar o encontrar.

La dificultad de invertir el algoritmo de encriptación sin conocer la llave

(romper el algoritmo de encriptación)

La existencia (o falta) de puertas traseras, es decir, formas adicionales de

poder desencriptar un archivo encriptado más fácilmente sin conocer la llave.

La habilidad de desencriptar un mensaje encriptado si se conoce cómo se

desencripta una parte de él (conocido como ataque de texto llano conocido)

La fortaleza criptográfica casi nunca puede probarse: sólo puede probarse la

debilidad. Al proponer nuevos algoritmos criptográficos, sus creadores presuponen

que el algoritmo es perfecto. Esto es, el creador supone que los algoritmos son

fuertes y que no hay forma de desencriptar un mensaje encriptado sin conocer la

llave correspondiente. El creador del algoritmo también puede demostrar que este

es resistente a ataques específicos previamente conocidos. Con el paso del

tiempo, las personas por lo general encuentran nuevos ataques contra el algoritmo

y los publican (o bien encuentran problemas y les sacan provecho, como en el

caso de Enigma).

Por esta razón, generalmente es buena idea tener cautela respecto a

algoritmos criptográficos recién introducidos. Con muy pocas excepciones, la

mayoría de los algoritmos de encriptación tienen fallas fundamentales que los

hacen poco aptos para uso profesional.

Page 36: Cifrado de Contenido

36

Ataques contra los algoritmos simétricos de encriptación

Si utiliza la criptografía para proteger la información, debe presuponer que

quienes no desea que accedan a la información registrarán los datos encriptados

e intentarán desencriptarlos por la fuerza. Para ser útil, un sistema criptográfico

debe ser resistente a este tipo de ataque directo.

Los ataques contra la información encriptada se clasifican en tres categorías

principales:

♦ Ataques de búsqueda de llaves (fuerza bruta)

♦ Ataques basados en el sistema

♦ Ataques de búsqueda de llaves (fuerza bruta)

La forma más fácil de romper un código es probar todas las llaves posibles,

una tras otra (suponiendo que el violador de códigos puede reconocer el resultado

de utilizar la llave correcta). Casi todos los intentos fallarán, pero al final uno

tendrá éxito y permitirá al violador acceder al sistema o desencriptar el texto

cifrado. Estos ataques son de búsqueda de llaves o ataques de fuerza bruta. No

hay modo de protegerse contra un ataque de búsqueda de llaves, ya que no hay

forma de evitar que un atacante intente desencriptar el mensaje probando todas

las llaves posibles.

Whitfield Diffie, uno de los inventores de la criptografía de llave pública, ha

señalado que si los datos no van a estar sujetos de este tipo de ataque directo, no

hay necesidad de encriptarlos. Por otra parte, muchos ataques de búsqueda de

llaves se simplifican considerablemente porque la mayoría de los usuarios eligen

llaves basadas en claves de acceso pequeñas con caracteres legibles.

Considere el algoritmo de encriptación RC4, utilizado comúnmente por los

Page 37: Cifrado de Contenido

37

navegadores para encriptar información enviada a través del World Wide Web.

RC4 puede emplearse con cualquier longitud de llave entre 1 y 2048 bits, pero, en

general, se utiliza con llaves secretas de 40 o de 128 bits.

Con una llave de 40 bits, existen 24" (1.1 X 1012) llaves posibles que pueden

utilizarse. Con una computadora que se puede adquirir en cualquier tienda

especializada, capaz de probar un millón de llaves por segundo, se pueden probar

todas las llaves en menos de 13 días. Carl Ellison señala que en 1994, un

ingeniero que tenía 20,000 dólares en partes construyó un motor de búsqueda

RC4 que podía procesar 150 millones de llaves por segundo. En 1997, se rompió

un código de 40 bits en 3.5 horas. Es evidente que una llave de 40 bits puede ser

blanco de un ataque de búsqueda de llaves.

Por otra parte, una llave de 128 bits es muy resistente a un ataque de

búsqueda de llaves, pues permite 2l28 (3 4 X 1038) llaves posibles. Aun si

existiera una computadora que pudiera probar mil millones de llaves por segundo

y si se contara con mil millones de semejantes computadoras, tomaría 1013 años

probar todas las llaves RC4 de 128 bits posibles. Este lapso es aproximadamente

mil veces mayor que la edad del universo, que se estima en 1.8 x 10 años.

A partir de este sencillo análisis, parece ser que RC4 con una llave de 128

bits debe ser suficiente para la mayoría de las necesidades criptográficas --ahora y

siempre--. Por desgracia, hay varios factores que hacen que esta solución no sea

técnica, legal o políticamente conveniente para muchas aplicaciones.

Criptoanálisis

Si la longitud de la llave fuera el único factor determinante para la seguridad

de un código, cualquiera que estuviera interesado en intercambiar mensajes

secretos simplemente utilizaría códigos con llaves de 128 bits y todos los

criptoanalistas (personas que rompen códigos) tendrían que buscar nuevos

Page 38: Cifrado de Contenido

38

trabajos. La criptografía sería una rama resuelta de las matemáticas, al igual que

la adición simple.

Lo que mantiene vigente el interés en la criptografía es el hecho de que la

mayoría de los algoritmos de encriptación no satisfacen nuestras expectativas. Los

ataques de búsqueda de llaves rara vez son necesarios para acceder al contenido

de un mensaje encriptado. Más bien, es posible vencer a la mayoría de los

algoritmos de encriptación mediante una combinación de matemáticas complejas y

poder de cómputo. El resultado es que muchos mensajes encriptados pueden

descifrarse sin conocer la llave. En ocasiones un criptoanalista hábil puede

descifrar texto encriptado sin siquiera conocer el algoritmo de encriptación.

Un ataque criptoanalítico puede tener dos metas. El criptoanalista puede

tener texto cifrado y quiere descubrir el texto llano, o tener el texto cifrado y buscar

la llave utilizada para encriptarlo (estas metas son similares pero no son

exactamente idénticas). Los siguientes ataques se utilizan por lo común cuando se

conoce el algoritmo de encriptación, y pueden lanzarse contra el tráfico del WWW.

Ataque de texto llano conocido

En este tipo de ataque, el criptoanalista tiene un bloque de texto llano y el

bloque correspondiente de texto cifrado. Aunque esto parezca poco probable, en

realidad es muy común, utilizar la criptografía para proteger correo electrónico

(con encabezados estándar al principio del mensaje) o discos duros (con

estructuras conocidas en lugares predeterminados del disco). La meta de un

ataque de texto llano conocido es determinar la llave criptográfica (y posiblemente

el algoritmo), los cuales pueden emplearse entonces para desencriptar otros

mensajes.

Page 39: Cifrado de Contenido

39

Ataque de texto llano elegido

En este tipo de ataque, el criptoanalista hace que el sujeto del ataque

encripte (sin saberlo) bloques selectos de datos, creando un resultado que el

criptoanalista puede entonces analizar. Llevar a cabo un ataque de texto llano

elegido es más fácil de lo que podría parecer (por ejemplo, el sujeto del ataque

puede ser una conexión de radio que encripta y retransmite mensajes recibidos

por teléfono). La meta de un ataque de texto llano elegido es determinar la llave

criptográfica, la cual puede entonces ocuparse para desencriptar otros mensajes.

Criptoanálisis diferencial

En este ataque, que es una variante del ataque de texto llano elegido, se

encriptan muchos textos ligeramente diferentes entre sí y se comparan los

resultados.

Análisis diferencial de fallas

Este ataque se lleva a cabo contra sistemas criptográficos integrados al

hardware. Se somete al dispositivo a factores ambientales (calor, fuerza,

radiación) para que cometa errores durante la encriptación o desencriptación.

Estas fallas pueden analizarse para, posiblemente, obtener a partir de ellas el

estado interno del dispositivo, incluyendo la llave o algoritmo de encriptación.

La única forma confiable de determinar si un algoritmo es resistente es

publicarlo y esperar que alguien encuentre una debilidad. Este proceso de revisión

todavía no es perfecto, pero es mejor que ninguna revisión. No se debe confiar en

las personas que dicen haber desarrollado un nuevo algoritmo de encriptación

pero no pueden divulgarlo porque pondría en peligro su seguridad. Si el algoritmo

se utiliza para almacenar información valiosa, un atacante comprará (o robará)

una copia del programa que lo implementa, lo desensamblará y averiguará cómo

Page 40: Cifrado de Contenido

40

funciona. Como en el caso de RC2 y RC4, el atacante puede incluso publicar el

algoritmo obtenido mediante la ingeniería inversa. La verdadera seguridad

criptográfica yace en la apertura y la revisión pública.

Ataques basados en el sistema

Otra forma de romper un código es atacar al sistema criptográfico que utiliza

el algoritmo criptográfico, sin atacar al algoritmo en sí.

Uno de los casos más espectaculares de ataques basados en el sistema fue

el algoritmo de encriptación de video VC-1, utilizado para encriptar las primeras

transmisiones de televisión vía satélite. Durante años, los piratas de video vendían

decodificadores que interceptaban la transmisión de las llaves y las utilizaban para

desencriptar las transmisiones. El algoritmo de encriptación VC-1 era seguro, pero

el sistema en su conjunto era débil (este caso también demuestra que, cuando se

trata de mucho dinero, algunas personas probablemente encontrarán las fallas en

un sistema débil de encriptación y las explotarán).

Algoritmos de llaves públicas

La existencia de la criptografía de llave pública fue presentada por primera

vez en forma impresa en el otoño de 1975 por Whitfield Diffie y Martin Hellman.

Ellos, que en ese tiempo estaban en la Universidad de Stanford, redactaron un

documento en el que presuponían la existencia de una técnica de encriptación en

la cual la información encriptada con una llave podría ser desencriptada solo con

otra llave aparentemente no relacionada con la primera. Robert Merkle, en ese

tiempo estudiante graduado en Berkeley, tenía ideas similares, pero debido a los

caprichos del sistema académico de publicación, los textos de Merkle no se

publicaron sino hasta que la idea de la encriptación de llave pública era muy

conocida.

Page 41: Cifrado de Contenido

41

Desde entonces se han desarrollado varios sistemas de encriptación de llave

pública. Por desgracia, ha habido mucho menos desarrollo en los algoritmos de

llave pública que en los de llaves simétricas. La razón tiene que ver con la forma

en que se diseñan estos algoritmos. Los buenos algoritmos de llaves simétricas

simplemente revuelven su entrada con base en la llave de entrada; el desarrollo

de un nuevo algoritmo de llaves simétricas solo requiere idear nuevas formas de

hacer esa revoltura en forma confiable. Los algoritmos de llave pública por lo

general se basan en la teoría numérica. El desarrollo de nuevos algoritmos de

llave pública requiere la identificación de nuevos problemas matemáticos con

propiedades específicas.

A continuación, resumimos los sistemas de llave pública que se utilizan

comúnmente en la actualidad:

Intercambio de llaves Diffie-Hellman

Sistema para intercambio de llaves criptográficas entre partes activas.

Diffie-Hellman no es en realidad un método de encriptación y desencriptación sino

un método para desarrollar e intercambiar una llave privada compartida mediante

un canal de comunicación público. A fin de cuentas, ambas partes acuerdan

utilizar algunos valores numéricos comunes, y luego cada una de ellas crea una

llave. Se intercambian transformaciones matemáticas de las llaves. Cada parte

puede calcular entonces una tercera llave de sesión, la cual no puede ser

fácilmente derivada por un atacante que conozca ambos valores intercambiados.

RSA

RSA es un sistema criptográfico de llave pública bien conocido, desarrollado

por Ronald Rivest, Adi Shamir, y Leonard Adleman, entonces profesores del

Instituto Tecnológico de Massachussets. RSA puede ocuparse para encriptar

información y como fundamento de un sistema de firmas digitales. Las firmas

Page 42: Cifrado de Contenido

42

digitales pueden utilizarse para probar la autoría y autenticidad de información

digital. La llave puede tener cualquier longitud dependiendo de la implementación

que se utilice.

ElGamal

Llamado así en honor a su creador, Taher ElGamal, este es un sistema de

encriptación de llave pública basado en el protocolo de intercambio de llaves

Diffie-Hellman.

DSS

El Estándar de Firmas Digitales (DSS, Digital Signature Standard) fue

desarrollado por la Agencia de Seguridad Nacional de Estados Unidos (NSA,

National Secunty Agency) y adoptado como Estándar de Procesamiento de

Información Federal (FIPS) por el Instituto Nacional de Estándares y Tecnología

(NIST). DSS se basa en el Algoritmo de Firmas Digitales (DSA). Aunque DSA

permite utilizar llaves de cualquier longitud, bajo el DSS de FIPS solo se permiten

llaves de 512 y 1024 bits. DSS especifica que solo puede ocuparse para firmas

digitales, aunque es posible utilizar implementaciones de DSA también para

encriptación.

Ataques contra los algoritmos de llaves públicas

En teoría, los algoritmos de llave pública son más fáciles de atacar que los

de llave simétrica, pues puede presuponerse que el atacante tiene una copia de la

llave pública utilizada para encriptar el mensaje. La labor del atacante se simplifica

aún más, ya que el mensaje tal vez indica qué algoritmo de llave pública se usó

para encriptarlo.

Los ataques contra algoritmos de llave pública se dividen en general en dos

Page 43: Cifrado de Contenido

43

categorías: Ataques de factorización, Ataques algorítmicos

Ataques de factorización

Los ataques de factorización son el tipo más popular de ataque contra

mensajes encriptados mediante llave pública porque son los más fáciles de

comprender. Estos ataques intentan derivar una llave secreta a partir de su llave

pública correspondiente. En el caso del sistema de llave pública RSA, este ataque

puede instrumentarse mediante la factorización de un número asociado con la

llave pública. Con otros sistemas de llave pública, este ataque necesita resolver

otros tipos de problemas matemáticos de alta dificultad.

Hoy en día, la fortaleza del popular algoritmo RSA depende de la dificultad

de factorizar números grandes. El problema de este tipo de factorización ha

llamado la atención de los matemáticos durante siglos y con seguridad seguirá

siendo materia de interés. Se han encontrado algunos métodos eficientes para

factorizar clases muy pequeñas de números con propiedades especiales, pero el

problema general de la factorización de números aún se considera "difícil". No

obstante, no se ha mostrado prueba alguna de que la factorización de números

sea realmente "difícil" desde un punto de vista computacional, por lo que puede

llegar un momento en que sea necesario descartar RSA a favor de algún nuevo

algoritmo.

Un ataque de factorización muy famoso es la factorización del número de

reto RSA-129. Este número fue publicado en la edición de septiembre de 1977 de

la revista Popular Science. El número fue factorizado en 1994 por un equipo

internacional de voluntarios coordinados por Arjen Lenstra, quien entonces

trabajaba en Bellcore (el organismo de investigación de las compañías telefónicas

estadounidenses), Derek Atkins, Michael Graff y Paul Leyland.

RSA Data Security publica una lista de retos de factorización, con premios

monetarios para las primeras personas capaces de factorizar los números.

Page 44: Cifrado de Contenido

44

Ataques algorítmicos

La otra forma de atacar un sistema de encriptación de llave pública es

encontrar una falla o debilidad fundamental en el problema matemático en el que

se basa. No se burle, esto se ha hecho anteriormente por lo menos una vez. El

primer sistema de encriptación de llave pública patentado se basaba en un

problema matemático conocido como el Problema de la Mochila Supercreciente.

Unos años después de sugerida esta técnica, se encontró una forma de derivar

matemáticamente la llave secreta a partir de la llave pública en un lapso muy

breve.

Métodos conocidos y métodos publicados

Cabe señalar que siempre puede haber una diferencia entre los mejores

métodos conocidos y los mejores métodos publicados. Si se hiciera un

descubrimiento mayor en cuanto a factorización, podría no ser publicado para

todos. Si una institución gubernamental desarrollara un nuevo método, podría

mantenerlo en secreto para emplearlo contra mensajes encriptados enviados por

oficiales de otros países. Alternativamente, si alguien con tendencias criminales

desarrollara un nuevo método, podría mantenerlo en secreto para utilizarlo en

delitos económicos que involucraran los métodos de encriptación existentes.

Funciones de compendio de mensajes

Las funciones de compendio de mensajes destilan la información contenida

en un archivo (pequeño o grande) a un solo número grande, típicamente de entre

128 y 256 bits. Las mejores funciones de compendio de mensajes combinan las

siguientes propiedades matemáticas:

Cada bit de la función de compendio de mensajes sufre la influencia de cada

bit de la entrada de la misma función

Page 45: Cifrado de Contenido

45

Si se modifica cualquier bit de la entrada de la función, cada bit de salida

tiene 50% de probabilidad de cambiar.

Dado un archivo de entrada y su compendio correspondiente, debe ser no

factible computacionalmente encontrar otro archivo con el mismo valor de

compendio.

Los compendios de mensajes también se conocen como funciones hash de

un sólo sentido, ya que producen valores difíciles de invertir, resistentes al ataque,

en su mayoría únicos y ampliamente distribuidos.

Se han propuesto y actualmente se utilizan muchas funciones de compendio

de mensajes. A continuación analizamos algunas de ellas:

HMAC

El Código de Autenticación de Mensajes por Hash (HMAC, Hashed Message

Authentication Code) utiliza una llave secreta y una función de compendio de

mensajes para crear un código de autenticación secreto para mensajes. El método

HMAC fortalece una función de compendio de mensajes existente para hacerla

resistente a un ataque externo, aun si la función en sí es violada.

MD2

El Compendio de Mensajes #2 (Message Digest #2), desarrollado por Ronald

Rivest, es la más segura de las funciones de compendio de mensajes de Rivest,

pero es la que lleva más tiempo calcular. Produce un compendio de 128 bits.

Page 46: Cifrado de Contenido

46

MD4

El Compendio de Mensajes #4 (Message Digest #4), creado también por

Ronald Rivest, se desarrolló como alternativa a MD2. Posteriormente, se demostró

que MD4 es inseguro, es decir, que es posible encontrar dos archivos que

produzcan el mismo código MD4 sin tener que hacer una búsqueda de fuerza

bruta. MD4 produce un compendio de 128 bits.

MD5

El Compendio de Mensajes #5 (Message Digest #5), desarrollado también

por Ronald Rivest, es una modificación de MD4 que incluye técnicas diseñadas

para hacerlo más seguro. Aunque se utiliza ampliamente, en el verano de 1996 se

le descubrieron algunas fallas que permiten calcular algunos tipos de colisiones.

Como resultado, MD5 está perdiendo poco a poco popularidad. MD5 produce un

compendio de 128 bits.

SHA-1

El Algoritmo Seguro de Hash (SHA, Secure Hash Algorithm), desarrollado

por la NSA y diseñado para usarse junto con el Estándar de Firmas Digitales del

Instituto Nacional de Estándares y Tecnología (el DSS del NIST). Poco después

de la publicación del SHA, NIST declaró que no era adecuado para emplearlo sin

un pequeño cambio. SHA-1 produce un compendio de 160 bits.

SH4-1

El Algoritmo Seguro de Hash revisado, también desarrollado por la NSA y

diseñado para emplearse en conjunto con DSS, hace cambios menores a SHA.

No se sabe si estos cambios hacen que SHA-1 sea más seguro que SHA, aunque

algunas personas lo creen así. SHA-1 produce un compendio de 160 bits.

Page 47: Cifrado de Contenido

47

Además de estas funciones, también es posible utilizar como funciones de

compendio de mensajes sistemas de encriptación simétrica de bloque; por

ejemplo, DES. Para utilizar una función de encriptación como función de

compendio de mensajes, simplemente debe ejecutar la función de encriptación en

modo de retroalimentación de código. Como llave se utiliza una llave elegida al

azar y específica a la aplicación. Se encripta todo el archivo y el último bloque de

datos encriptados es el compendio.

Cómo funcionan los algoritmos de compendio de mensajes

Los algoritmos de compendio de mensajes no se emplean para operaciones

de encriptación y desencriptación; se utilizan en la creación de firmas digitales,

códigos de autenticación de mensajes (MAC, Message Authentication Codes) y

llaves de encriptación a partir de frases de acceso.

La forma más fácil de entender las funciones de compendio de mensajes es

verlas trabajando. Considere el algoritmo de compendio de mensajes MD5,

desarrollado por Ronald Rivest y distribuido por RSA Data Security de la siguiente

manera.

MD5(Hay 51500 en la caja azul.) = fl348485f7619f3017c641af32683cda

MD5(La junta de ayer estuvo bien.) = 0500502790abfel9dO397f4f3f878518

MD5(Hay 51100 en la caja azul.) = 4430869e496c75d94328cl80cOlcfe3f

Observe que todos estos mensajes tienen códigos MD5 sumamente

distintos. Aun el primer y tercer mensajes, que difieren en un solo carácter (y aún

en ese carácter en un sólo bit), tienen compendios de mensaje diferentes por

completo. En apariencia, el compendio es del todo aleatorio, pero en realidad no

es así.

Page 48: Cifrado de Contenido

48

Veamos algunos compendios más:

MD5(Hay 51500 en la caja azul) = d9261e7d6dlee9cO39076abO2cda6629

MD5(Hay 51500 en la caja azul) = b8f3aaO9ccdec76bce9001flO43ceefa

MD5(Hay 51500 en la caja azul.) = fl348485f7619f3017c641af32683cda

MD5(Hay 51500 en la caja azul!) = 062dc60d4db7b2fc6130389e8bba6254

MD5(Hay 51500 en la caja azul:) = 3159032c79d7f6017cO77a87305faafO

MD5(Hay 51500 en la caja azul..) = acf4521537e5df7d6d47d73c6e32230d

Considere la tercera línea de código MD5 del ejemplo anterior: puede ver

que es idéntica a la primera línea mostrada con anterioridad. Esto se debe a que

el mismo texto siempre produce el mismo código MD5.

La función de compendio de mensajes es una herramienta poderosa para

detectar cambios muy pequeños en archivos o mensajes muy grandes; usted

calcula el código MD5 del mensaje y lo guarda en lugar aparte. Si cree que el

archivo ha sido modificado (a propósito o por accidente), solo recalcula el código

MD5 y lo compara con el MD5 creado originalmente. Si son idénticos, hay una

probabilidad muy alta de que el archivo no haya sido modificado.

Dos archivos diferentes pueden tener el mismo valor de compendio. Esto se

conoce como una colisión. Para que una función de compendio de mensajes sea

segura debe ser imposible computacionalmente encontrar o producir tales

colisiones.

Usos de las funciones de compendio de mensajes

Las funciones de compendio de mensajes se utilizan ampliamente hoy en día

por varias razones:

Son mucho más rápidas que las funciones criptográficas de llaves simétricas

tradicionales, pero parecen compartir muchas de sus fuertes propiedades

Page 49: Cifrado de Contenido

49

criptográficas

No hay restricciones de patente en ninguna de las funciones de compendio

de mensajes que se utilizan en la actualidad

No tienen restricciones de exportación

Al parecer proporcionan una excelente forma de esparcir el azar (entropía)

de una entrada entre todos los bits de salida de la función.

Para generar un número "aleatorio", simplemente se puede tomar un gran

número de fuentes de datos que aparenten cambiar a través del tiempo; por

ejemplo; las bitácoras, relojes de tiempo real y entradas del usuario, y se pasa

toda la información a través de una función de compendio de mensajes. Si hay

más bits de entropia en el bloque de entrada que bits de salida de la función, se

puede suponer que todos los bits de salida son independientes y aleatorios,

siempre y cuando la función de compendio de mensajes sea segura.

Mediante un compendio de mensajes es posible crear llaves de encriptación

para códigos de encriptación simétrica, permitiendo a los usuarios introducir frases

de acceso. La llave de encriptación se produce calculando el compendio de la

frase introducida.

Los compendios de mensajes pueden usarse con facilidad para generar

códigos de autenticación de mensajes que utilicen un secreto compartido entre

dos partes para comprobar que el mensaje es auténtico. Se agregan los códigos

de autenticación al final del mensaje que se va a verificar (la RFC 2104 describe

cómo utilizar hash con llaves para la autenticación)

Las funciones de compendio de mensajes también forman parte importante

de muchos sistemas de criptografía de llave pública.

Page 50: Cifrado de Contenido

50

Los compendios de mensajes forman la base de la mayoría de los

estándares de firmas digitales y en vez de firmar todo el documento simplemente

firman un compendio

Los códigos de autenticación de mensajes basados en compendios de

mensajes proporcionan la seguridad "criptográfica" de la mayoría de los protocolos

de enrutamiento de Internet

Resulta desconcertante que haya pocas bases teóricas publicadas acerca de

las funciones de compendio de mensajes.

Ataques contra las funciones de compendio de mensajes

Existen dos tipos de ataques contra las funciones de compendio de

mensajes. El primero consiste en encontrar dos mensajes --los que sean-- que

tengan el mismo compendio. El segundo ataque es más general: dado un mensaje

específico, encontrar otro que tenga el mismo compendio. Tiene valor añadido si

el segundo mensaje es legible por las personas, en el mismo idioma y en el mismo

formato de procesador de palabra que el primero.

Por qué publicar un ataque

Durante años, la criptografía ha sido una disciplina académica y los

criptógrafos han hecho públicos sus resultados en publicaciones en Internet y por

medio de prestigiosas conferencias.

Con el paso del tiempo, si la criptografía se convierte cada vez más en la

base del comercio electrónico, esta tendencia puede cambiar. En vez de publicar

sus resultados, algunos matemáticos pueden decidir explotarlos y utilizarlos como

herramientas para defraudar a los bancos y otras instituciones financieras.

Page 51: Cifrado de Contenido

51

No se sabe si este enfoque pueda tener éxito o no. Se puede hacer mucho

más dinero por medio del fraude que en el mundo académico. Por otra parte, no

es probable que los bancos confíen sólo en la fuerza de sus protocolos

criptográficos para proteger sus recursos.

MD5 es quizá suficientemente seguro para usarse durante los próximos cinco

a diez años. Aún si es posible encontrar colisiones MD5, será muy difícil convertir

este conocimiento en un ataque de propósito general. No obstante, es mejor tener

una función de compendio de mensajes que no tenga debilidades conocidas,

razón por la que cambian a un algoritmo más seguro.

Infraestructura de llaves públicas

Los sistemas de encriptación por llave pública requieren que cada usuario

cree dos llaves:

Una llave pública, utilizada para enviar correo electrónico y para verificar su

firma digital

Una llave secreta, utilizada por el usuario para desencriptar mensajes

recibidos y para plasmar su firma digital

Aunque las llaves secretas están diseñadas para que mantengan el secreto,

las llaves públicas están diseñadas para publicarse y difundirse ampliamente.

Sin embargo, resulta que es necesario guardar más información junto con

cada llave pública.

Además de la información de encriptación, puede ser provechoso almacenar

el nombre del usuario u otro tipo de información identificatoria. De otro modo, si

tuviéramos las llaves públicas de tres personas--digamos, Sascha, Wendy y

Jonathan--no habría forma fácil de diferenciarlas. Además, es necesario guardar

Page 52: Cifrado de Contenido

52

más información junto con cada llave secreta, de modo que se pueda saber cuál

llave secreta corresponde a cuál. (4)

Page 53: Cifrado de Contenido

53

CAPÍTULO III

ANÁLISIS DE SOFTWARE Y HARDWARE EXISTENTES PARA LA

PROTECCIÓN DE INFORMACIÓN

De acuerdo al planteamiento teórico del capítulo anterior, en este apartado

se hará un análisis del software y hardware para la protección de datos, con el

propósito de encontrar el producto más adecuado para ello.

Primeramente analizaremos los productos de la empresa Rainbow

Tecnhologies.

Los desarrolladores de software son unos artistas cuyo producto de su

talento ofrece significativos beneficios en el diario ejercicio de actividades

administrativas, industriales, científicas, educativas, informativas, comerciales, de

misión crítica e incluso en nuestra vida diaria.

El uso de software en las organizaciones da como resultado sistematización

y automatización en las actividades, minimizando los errores y generando

importantes ahorros.

Estas aplicaciones o programas han alcanzado gran reconocimiento regional,

nacional e incluso internacionalmente. En muchos casos se convierten en un

estándar, son aplicaciones muy exitosas y reconocidas, lamentablemente esto no

significa un beneficio directamente proporcional en cuanto a los ingresos por

ventas de estas soluciones.

Es muy importante entender que durante el proceso idóneo de una empresa

de software se debe distribuir, facturar y cobrar los productos. Muchas veces esta

relación está desproporcionada, es decir, se distribuye más software del que se

factura, y se factura más de lo que se cobra. Por lo tanto, hay un gran número de

copias que no son pagadas.

Page 54: Cifrado de Contenido

54

La piratería es un mal que lastima severamente a la industria de software.

Eventualmente la situación económica, otras veces la comodidad e ignorancia

sobre el tamaño del delito y su repercusión, y otras veces el dolo, hacen que los

desarrolladores de software tengan fuertes fugas de ingresos.

Todo lo anterior sin mencionar el alto costo de asesorar, dar soporte técnico,

actualización de versiones y demás, que eventualmente atiende a usuarios

piratas, los cuales no han pagado la licencia de uso del software.

Por otro lado, la evolución tecnológica y comercial obligan un nuevo

paradigma en muchos sentidos. Mercados globalizados, consumidores más

exigente, mejores comunicaciones, internet, etc., son sólo algunos ejemplos de

nuestra nueva era, para poder ser exitosos es este nuevo paradigma es necesario

salir del esquema comercial tradicional.

¿Para que sirve el sentinel?

Esta pregunta obliga una serie de reflexiones sobre el paradigma tradicional.

Evitar Piratería. La industria de software propone una serie de situaciones

interesantes:

♦ No contamina,

♦ Utiliza gente con determinada preparación,

♦ Crece anualmente más que otras industrias, y muchas otras ventajas.

Sin embargo, dado que el software es intangible, y se distribuye a través de

un disco con un muy bajo costo, es propenso a ser plagiado con mucha frecuencia

y facilidad.

Sobre piratería se puede decir mucho, se dice que 1 de cada 20 programas

es original. Este dato es muy poco halagador para los productores de software.

Page 55: Cifrado de Contenido

55

Pero más que un guardian, la Sentinel ofrece un panorama al productor de

software difícil de igualar, veamos otros beneficios:

♦ Renta de software. Esta opción ofrece muchas ventajas cuando el

precio de venta del software es alto. Usando Sentinel se podrán

desplazar los producto haciendo cobros trimestrales y ofreciendo

incluso una póliza de mantenimiento al usuario.

♦ Manejo de demos con vida finita. En algunos casos los usuarios

solicitan que les prestemos el software un tiempo para su evaluación,

esto inquieta ya que puede llegar a ser la última vez que nos reciba esta

empresa, ya que fue muy fácil copiar el sistema y usarlo.

♦ Promoción de todas sus aplicaciones. Incluya en una sola caja todas

sus aplicaciones y únicamente será posible ejecutar la que pago

derechos de uso, las demás funcionarán en forma demo. Bajo este

esquema el usuario conocerá la familia de sus aplicaciones y sus

bondades, teniendo la ventaja de que cuando las decida comprar sólo

hay que enviarle una contraseña posterior a su pago. Así disminuimos

costos e incrementamos las oportunidades de mayores ingresos.

♦ Generación de ingresos sobre la venta de actualizaciones. El

ingreso más importante de un fabricante de software es la venta de

actualizaciones, ¡pregúntele a Bill Gates!!. ¿Su estrategia comercial

considera este punto??. Para este efecto es importante que los

usuarios que legalmente adquirieron la versión 1.0 paguen los derechos

por la 2.0, por la 3.0, etc., etc.

♦ Tangibilización del software. La piedra angular de la piratería es que

el software es intangible. Basados en la inconciente percepción de esta

Page 56: Cifrado de Contenido

56

situación, muchos mayoristas de software no desean invertir en un gran

inventario, pues prefieren poner su dinero en hardware que es tangible!.

Considere este punto y justifique la estrategia de venta a consignación

en los intermediarios de programas para computadoras.

♦ Asegure su producto. Muchos empresarios aseguran sus

instalaciones, sus equipos, tienen seguro de vida e incluso seguro de

gastos médicos, entonces ¿porqué no asegurar el producto que brinda

bienestar a su empresa, trabajadores y a su familia?.

♦ Uso de software por puntos. Le gustaría que su software se venda

como tarjetas ladatel?, esto es, de acuerdo al uso es el pago, el

Sentinel lleva el control de los puntos disponibles, ¡cuando éstos se

agotan cóbrele a sus clientes por más puntos y actualice el contador del

Sentinel por Internet.

Ventajas generales de protección con hardware

♦ El método más seguro. No interfiere con la logística de la operación

comercial y de distribución física del software

♦ Protección de múltiples productos con un sólo dispositivo Sentinel.

♦ Transparente para el usuario.

♦ Modelos para monousuario y red.

♦ Fácil de instalar por el usuario final.

♦ Fácil de implantar por el desarrollador.

♦ Compatible con DOS, OS/2, Windows, Unix, Novell...

Page 57: Cifrado de Contenido

57

Tabla de características generales y beneficios de protección con hardware

sentinel

♦ Memoria de lectura y escritura. Protección de varias versiones, módulos o

programas. Personaliza la protección por usuario. Control de distintas

versiones. Programable.

♦ Algoritmos. Número ilimitado de preguntas y respuestas. Virtualmente

imposible determinar el comportamiento.

♦ Varios modelos de Sentinel. Se garantiza compatibilidad con su estrategia

comercial.

♦ Passwords. Seguridad. Control. Unicos por usuarios. Confidenciales.

♦ Cascadeable. Pueden conectarse varios Sentineles a la vez (Pro y

SuperPro).

♦ Contadores. Ayudan a controlar el número de veces que deseamos se

active un determinado evento. Ayuda a ofrecer demos finitas.

♦ Software Shell (Pro y SuperPro). Ayuda a proteger una aplicación sin tener

acceso al código fuente. Protección automática de una aplicación. Ahorra

tiempo y esfuerzo. Muy útil cuando no existe la interface del desarrollador.

♦ Software Wizard (SuperPro). Lo lleva a uno de la mano para programar o

formatear el Sentinel de acuerdo a nuestras necesidades o caprichos.

Contiene un editor que ayuda a visualizar y modificar el contenido del

Sentinel.

♦ Se instala en el puerto paralelo. Transparente para el usuario. Todas las

computadoras tienen este puerto. Sumamente fácil de instalar el Sentinel en

este puerto.

♦ Controla la ejecución del programa. Sólo una persona a la vez puede usar

el programa (monousuario). Determina el número de personas que

concurrentemente pueden usar la licencia (red).

♦ Varias interfaces y plataformas. Es compatible técnicamente con su

lenguaje de programación así como con distintos sistemas operativos.

Page 58: Cifrado de Contenido

58

♦ Certificación ISO-9002 desde 1994. Calidad certificada. Empresa seria,

actualizada y confiable. Producto hecho con componentes de calidad los

cuales garantizan un excelente desempeño

♦ Reconocimiento mundial

Ventajas generales de protección con software sentinel lm

♦ Económico.

♦ Sumamente flexible.

♦ Ideal para distribuir y activar software por internet.

♦ Ofrece demos de su aplicación.

♦ Versión monousuario y red.

♦ La aplicación se "amarra" a una computadora, no necesita un hardware, sin

embargo, la aplicación también se puede amarrar a un Sentinel para

robustecer la seguridad.

♦ Transferencia de licencia de una PC a otra.

♦ Registro de usuarios.

♦ Multiplataforma: soporta Windows, Unix, Java.

♦ Solución nativa para red.

Tabla de características generales y beneficios de protección con hardware

sentinel lm

♦ Tecnología de amarre a una PC o Server. La aplicación solamente

funciona en una computadora.

♦ Activación remota de la licencia. El usuario podrá usar el software como

demo por un tiempo determinado, posteriormente debe de pagar los

derechos para la activación y uso del mismo, esta activación la realiza

remotamente el desarrollador después de recibir el pago del software.

Page 59: Cifrado de Contenido

59

♦ Varias interfaces y plataformas. Es compatible técnicamente con su

lenguaje de programación así como con distintos sistemas operativos.

♦ Software Shell. Ayuda a proteger una aplicación sin tener acceso al código

fuente. Protección automática de una aplicación. Ahorra tiempo y esfuerzo.

Muy útil cuando no existe la interface del desarrollador. Ahorra tiempo y

esfuerzo

♦ Certificación ISO-9002 desde 1994. Calidad certificada. Empresa seria,

actualizada y confiable. Producto hecho con componentes de calidad los

cuales garantizan un excelente desempeño

Sentinel Super Pro para monousuario

Sentinel LM es un esquema de protección para software basado en software

ENCRYPTION PLUS SUITE: Software para codificar información dentro de

windows. Exporta información encryptada.

Sentinel Pro

Proteccion de alto nivel basada en algoritmos.

El Sentinel Pro se basa en un circuito de tecnología ASIC propietaria de

Rainbow. La característica de constantes cambios en las respuestas del algoritmo

hacen que este dispositivo sea de alta seguridad. Trabaja en DOS, OS/2,

Windows, UNIX y XENIX. Compatible con el programa Shell.

Caracteristicas y beneficios del sentinel super pro

- Dispositivo físico de hardware se conecta al puerto paralelo (Super Pro y

Super Pro 797) o al puerto USB (Super Pro USB).

- Soporta más de 100 lenguajes de programación

- Trabaja en DOS, WINDOWS y UNIX

Page 60: Cifrado de Contenido

60

- Cuenta con memoria de lectura y escrutura

- Cuenta con 128 Bytes de memoria

- Es programable y re programable

Sentinel Super Pro (Versión Normal, 797 y USB)

Proteccion basada en múltiples algoritmos y memoria.

Cada Sentinel SuperPro contiene 128 bytes de memoria de lectura y

escritura organizada en 64 palabras de 16 bits cada una. Por ejemplo, una palabra

puede ser usada como contador de tiempo para el caso de controlar la renta de

software. También contar las ejecuciones para una operación limitada de un

demo.

Las celdas o palabras pueden ser previamente programadas con información

del cliente, números de serie, palabras clave, etc., o bien, su aplicación puede

alterar y/o reprogramar el contenido de ciertas palabras durante la ejecución de la

misma. Para máxima seguridad, puede generar algoritmos por cada par de

palabras. Lo interesante es que puede tener varios algoritmos y cada uno de ellos

ofrecer la más alta seguridad a diversas aplicaciones o módulos de su sistema.

De esta forma puede proteger múltiples aplicaciones o controlar diferentes

módulos, esto es tener una serie de aplicaciones que giren alrededor de una y

tener todas éstas protegidas a la vez. Asimismo las nuevas versiones se pueden

autoproteger en el campo, actualización remota, ejecución permitida entre fechas,

demos controladas, etc. Trabaja en DOS, Windows y Unix. Además de contar con

el Sentinel Wizard, el cual es un software que ayuda a utilizar el Sentinel y

proteger una aplicación.

♦ SuperPro 797 – Es físicamente menor que el SuperPro normal, mide sólo 2

centímetros y el funcionamiento es igual.

♦ SuperPro USB – Mismo concepto que el SuperPro normal pero para el

puerto USB.

Page 61: Cifrado de Contenido

61

♦ Sentinel DUO – Se conecta al puerto USB, en PC trabaja como SuperPro y

en MAC como Eve 3.

MicroDog GS-MH

El Microdog GS-MH es una herramienta inteligente de protección de

software, cuyo Kit de Desarrollo, o SDK por sus siglas en inglés, incluye una llave

MicroDog de protección física (dongle) y el software de instalación y soporte.

La llave Dog esta compuesta por un solo chip microprocesador y 200 bytes

de memoria no volátil.

El software de soporte corre en DOS y en Windows 3.x/9x/NT/2000, y es

compatible con varios tipos de lenguajes y tipos de archivos de distintas

computadoras.

Características principales:

1.- Shell y API'S.

Protección por utilería de Shell y API'S. Este producto permite protección

automática con la utilería Shell y también comandos dentro de su código fuente

(API'S). Asímismo para incrementar la seguridad se puede utilizar, una

combinación de ambos. Es interesante destacar que usando la utilería de Shell el

programa puede funcionar en modo demo por un tiempo definido sin necesidad de

tener la presencia del dispositivo

Page 62: Cifrado de Contenido

62

2.- Pasword único

Para escribir o leer datos en la llave se utiliza un único password el cual

puede ser modificado por el desarrollador las veces que lo desee.

3.- Memoria de lectura y escritura

MicroDog ofrece una memoria no volátil de lectura y escritura con capacidad

de hasta 200 bytes.

4.- Un algoritmo

Para incrementar la seguridad, MicroDog cuenta con un algoritmo de

consulta el cual responde valores encriptados. Los caracteres de la consulta

pueden ser alfanuméricos.

El algoritmo es definido por el programador si lo desea, modificando los

factores del algoritmo de las celdas 196 a la 199 con posibilidad de hasta

16,777,216 diferentes combinaciones.

3.- Compatibilidad con lenguajes de programación y plataformas más

comúnes

Las interfaces que soporta MicroDog están disponibles para los siguientes

lenguajes: C, C++(MS, Turbo, Borland, High, NDP, Watcom), FORTRAN(MS,

NDP, LAHEY, PowerStation), ASM, BASIC(BASCOM, Quick, True), FOXPRO(for

DOS/WINDOWS), Java, Clipper, Foxbase, Dbase, ESE/COM/EXP, VisualBasic,

VisualFoxpro, PowerBuilder, Delphi etc.

4.- Técnicas de seguridad que integra Microdog

Page 63: Cifrado de Contenido

63

Utilizando MicroDog se crea una barrera entre los productos de software y la

piratería. Diferentes tecnologías de MicroDog evitan que se pueda romper la

protección de sus programas:

Random Noise Technology Technique:

Permite que la comunicación entre el programa y la llave sea codificada

evitando que pueda ser monitoreada la información que se intercambia entre la

aplicación y MicroDog.

Timer Technique:

Toda operación que se realiza con la llave tiene un tiempo de respuesta

definido normalmente, si este tiempo se excede, responderá valores incorrectos.

AS Technique:

Trabajan en conjunto el Shell (protección automática sin modificar el código

fuente) y las llamadas API'S (protección a través del código fuente del programa).

Maze Technique:

Al momento de compilar con API'S se agrega basura al código ejecutable.(1),

(4)

Ahora analizaremos los productos de la empresa WIBU SYSTEM

WIBU-KEY es el sistema técnicamente más avanzado de protección de

copias y control de licencias que se puede encontrar hoy en día..

Page 64: Cifrado de Contenido

64

El sistema de protección de copias WIBU-KEY está basado en encriptación

genuina mediante el uso de hardware. El objetivo es proteger información y

programas para que no sean utilizados sin autorización. WIBU-KEY consiste en un

software que encripta información, un software controlador y un componente

hardware: la WIBU-BOX.

Hay distintas variantes de la WIBU-BOX. Cada variante está basada en el

ASIC WIBU-KEY. El ASIC WIBU-KEY es un pequeño y poderoso Microchip que

contiene el micro, la lógica, los programas y la memoria para el encriptado y

desencriptado de información. WIBU-SYSTEMS desarrolla este chip únicamente

en su casa matriz. Esto significa que no puede ser vendido ilegalmente ni copiado

por otros.

Hay WIBU-BOXes disponibles para puertos COM y LPT, tarjetas para ranura

(E)ISA, tarjetas para PC, NEC-PC (serie), RS232 Interfaces, para los sistemas

japoneses NEC-PC98 (paralelo), para el ADB-Bus de Apple Macintosh y al nueva

versión para el USB-Bus de PC y Macintosh. Ningún otro hardware es necesario

para programar la WIBU-BOX, y al momento de entrega aún no ha sido

programado.

Los programas y la información protegida tienen ecriptados que acceden

directamente a la WIBU-BOX conectada a la PC. Sin la WIBU-BOX, los programas

protegidos no corren y la información protegida no es legible. El desencriptado

procede de acuerdo con los parámetros que fueron programados en la WIBU-

BOX. Por lo tanto, no hay software que pueda imitar la encriptación. Usando el

hardware de WIBU-KEY, usted decide la cantidad de copias de su software que

hay en circulación.

WIBU-KEY ofrece dos formas de encriptado:

Page 65: Cifrado de Contenido

65

Encriptación Automática: ésta genera una versión protegida del archivo

original. No es necesario modificar el código fuente original. Está disponible para

programas ejecutables en Windows y DOS.

Encriptación Explícita requiere ser integrada con el código fuente. El WIBU-

KEY API completa la integración con el código fuente. Está disponible para

programas de los sistemas operativos Windows, Mac OS, DOS, UNIX (Linux) and

OS/2.

WIBU-KEY en la red: basado en Protocolo (usando TCP/IP) y no basado en

Protocolo (que trabaja en cualquier sistema de red, incluso redes heterogéneas

que combinen Unix, Mac y PC's). Usted controla la cantidad de licencias de una

determinada WIBU-BOX, programando el límite de licencias concurrentes elegido

en una de las entradas de registro de la WIBU-BOX. En el control de licencias en

red, con la WIBU-KEY, no hay cargo adicional por número de licencias.

WIBU-SYSTEMS asegura que con WIBU-KEY usted puede tener un sistema

extremadamente seguro. Este nivel de seguridad no proviene del controlador o del

ASIC WIBU-KEY únicamente. Ambas son simplemente herramientas de ayuda del

sistema. La WIBU-BOX interactúa con estas herramientas con el fin de proteger

los programas.

Mediante el método RID/RED, WIBU-KEY también le ofrece a sus clientes la

habilidad de proteger software de expulsión sistemática y de aquellos que intentan

evadir la protección de copias

WIBU NET

Es una llave de hardware para control de licencias en Red y protección

anticopia de software. Se conecta en el puerto paralelo o al USB para

computadoras IBM o compatibles, trabaja con el modo de puerto bidireccional

Page 66: Cifrado de Contenido

66

EPP, además de estar fabricada con tecnología ASIC (Application-Specific

Integrated Circuit) circuitos diseñados para realizar tareas específicas. Wibu NET

pude utilizarse tanto en aplicaciones para monousuario como para redes Windows

NT y Novell. La protección de las aplicaciones se puede realizar en 2 formas, la

primera es utilizando el programa WKCRYPT que funciona como un Shell, que

permite proteger aplicaciones para monousuario y red sin necesidad de modificar

código fuente y la segunda a través de las interfaces de programa API's

(Application Program Interface).

Cuando la protección se implementa en una Red, la llave puede estar

conectada en el servidor o en cualquiera de las estaciones. Es necesario instalar

una versión actualizada del driver en cada una de las máquinas de la red para que

cada cliente pueda accesar a la llave, de lo contrario aparecerá un error en el

KERNEL de Windows.

El Wibu NET está compuesto por 10 entradas, cada entrada representa una

aplicación en monousuario por cada entrada se pueden grabar características

como números de licencia, fechas de expiración, contadores entre otras.

En red se pueden proteger hasta 5 aplicaciones diferentes ya que se

requieren de 2 entradas para cada aplicación protegida.

Cada entrada se compone por un código de firma y un código de usuario. El

código de FIRMA es un número único que es provisto con la Licencia de Firma

WIBU KEY, éste es diferente para cada desarrollador. El código de usuario es

Page 67: Cifrado de Contenido

67

libremente elegible y se puede utilizar para identificar cada usuario, cada producto,

etc. Ambos números se utilizan en el proceso de inicialización del encriptado.

Las entradas para redes se componen también del Código de firma y Código

de usuario. Si el Wibu Net contiene sólo una entrada, el software podrá ser usado

únicamente una vez en cualquier computadora de la red. Si requiere limitar el

número de usuarios que puedan correr simultáneamente la aplicación es

necesario implementar una segunda entrada en el Wibu Net. El código de usuario

en la segunda entrada debe ser mayor que el de la primera, la diferencia entre

estos 2 códigos define el número de copias que pueden ser usadas al mismo

tiempo en la red.

La llave incluída en el Kit de Evaluación Wibu Net tiene grabada una clave

universal que cualquier desarrollador puede utilizar para pruebas. Las llaves que

serán entregadas a los usuarios finales de las aplicaciones protegidas, deberán

tener grabada una clave la cual es diferente para cada desarrollador.

Esta sólo puede ser incorporada si el desarrollador cuenta con el disco y la

llave Wibu FSB (Firm Security Box), conocida como el Kit de Programación. (2),

(4)

Page 68: Cifrado de Contenido

68

CAPÍTULO IV

UTILIZACIÓN DE MICRODOG EN UN PLAN PILOTO

Se probaron algunos candados, a continuación se explica paso a paso la

puesta en marcha en un plan piloto uno de ellos:

La llave MicroDog es un dispositivo combinado de Hardware y Software para

la Protección de Software comercial, esta llave consiste en un pequeño

procesador que va conectado al puerto paralelo al cual hacen acceso una serie de

funciones que indicaran si los métodos de protección definidos en el Software

estan funcionando de manera adecuada y asi continuar con la ejecución del

programa.

Descripción del uso de la llave MICRODOG GS-MH para protección de

software

Esta Llave nos proporciona una serie de funciones que pueden ser utilizadas

en casi todos los lenguajes Visuales, estas funciones son llamadas mediante la

Interface API que la mayoria de los lenguajes tienen disponible.

Explicación de las Variables Globales Utilizadas en el Entorno MicroDog.

DogAddr : En esta variable indicamos la dirección de memoria en la llave

Dog donde comenzaremos a Leer o Escribir, este valor varia de entre 1 a 200.

Page 69: Cifrado de Contenido

69

DogBytes : Especifica el número de Bytes que seran leidos o escritos en la

memoria de la llave Dog.

DogData : Es una Variable puntero que es direccionada al buffer donde

seran leidos o almacenados los valores que pasan a través de la llave Dog.

DogPassword : En esta variable especificaremos el password que nos

permita tener acceso a la información almacenada en la memoria de la llave dog,

mediante este password podremos leer o escribir información en la llave.

DogResult : En esta función se almacena el Resultado de una de las

funciones de la llave que nos ayuda a convertir una cadena a un número de 32

bits con 16,777,216 posibles combinaciones diferentes, dependiendo de los

parámetros que asignemos a las 4 últimas posiciones de la memoria de la llave.

Cascadeo : Esta variable es utilizada para especificar a cual de las llaves (en

caso de que esten puestas en cascada) se hara acceso.

Explicación de los procesos que se pueden realizar utilizando la llave Dog.

* Es posible detectar mediante una función si se encuentra conectada la llave

dog al puerto paralelo, la Función DogCheck() me indicara si la llave está colocada

en la máquina o no, así desde el programa se podrá tomar la decisión de continuar

o interrumpir el proceso en caso de que no se encuentre la llave.

* El Micro Dog nos proporciona una función muy útil, para agregar un nivel

más de seguridad en nuestro sistema, esta función nos codifica una cadena que

le pasamos como parámetro, el resultado obtenido dependerá del algoritmo que

utilice la llave, esta contiene 16,777,216 descriptores de algoritmos diferentes, o

sea que de la cadena que enviemos como parámetro podremos obtener millones

Page 70: Cifrado de Contenido

70

de combinaciones diferentes, lo que hace muy díficil que algún hacker logre

descifrar algún código que se utilice en la protección del software.

* Podemos Utilizar como un nivel mas de seguridad las funciones de

Entrada/Salida que nos proporciona la llave, mediante estas funciones podremos

Leer o Escribir información en la memoria, la cual consta de 200 bytes, para que

estas funciones trabajen correctamente es necesario proporcionar un password

que previamente es definido, sin este password no es posible la utilización de

estas funciones, este password puede ser cambiado con una utilería

proporcionada con el Sistema Microdog. De fabrica trae asignado el número 0

como password.

* Cada una de las llaves tiene un número de serie único, y el sistema

microdog nos proporciona una función con la cual podremos leer este número,

más no podemos modificarlo, este número nunca sera igual para 2 llaves

diferentes, con lo cual podemos forzar al sistema que desarrollamos a funcionar

unicamente con la llave que le indiquemos, de lo contrario se cortará la ejecución

del mismo.

* Podemos especificar si deseamos compartir el puerto con otras

computadoras, el sistema Dog nos provee de una función con la cual indicaremos

si deseamos compartir el puerto para que varias computadoras puedan utilizar la

misma llave. (1), (4)

A continuación se exponen una serie de ejemplos del uso de las funciones, el

código está hecho en Delphi.

El siguiente código verifica si la llave DOG se encuentra conectada al puerto

paralelo

Resul:=DogCheck();

Page 71: Cifrado de Contenido

71

If Resul=0 Then

Edit1.Text:='SI se encuentra la llave . . .'

Else

Edit1.Text:='NO se encuentra la llave . . .';

Este código que me regresara el número único de la llave que se encuentra

en el puerto paralelo:

DogCascade:=0;

DogData := @NumeroRegresado;

Resul := GetCurrentNo();

If Resul=0 Then

Edit1.Text:=IntToStr(NumeroRegresado)

Else

Edit1.Text:='Hay algun error !!! . . .';

El siguiente código que me regresara el valor contenido en la memoria de la

llave en la posición que se le indique y el número de caracteres especificados :

CadenaLeida:='';

SetLength(CadenaLeida,0);

DogCascade := 0;

DogPassword := StrToInt(Edit3.Text);

DogData := @ CadenaLeida[1];

SetLength(CadenaLeida,StrToInt(Edit5.Text));

DogBytes := StrToInt(Edit5.Text);

DogAddr := StrToInt(Edit4.Text);

Resul := ReadDog();

Page 72: Cifrado de Contenido

72

If Resul=0 Then

Edit1.Text:=CadenaLeida

Else

Edit1.Text:='Hay algun error !!! . . .';

Código que almacena una serie de caracteres en la memoria del Dog, en la

posición que se le especifique :

CadenaLeida:='';

SetLength(CadenaLeida,0);

DogCascade := 0;

DogPassword := StrToInt(Edit3.Text);

CadenaLeida:=Edit2.Text;

DogData := @ CadenaLeida[1];

DogBytes := StrToInt(Edit5.Text);

DogAddr := StrToInt(Edit4.Text);

Resul := WriteDog();

If Resul=0 Then

Edit1.Text:='Se grabó bien la información . . .'

Else

Edit1.Text:='Hay algun error !!! . . .';

Código que utiliza la función para codificar una cadena con el tipo de

algoritmo que se seleccione, regresa la cadena codificada :

{graba los datos para seleccionar el tipo de algoritmo para la conversión}

DogCascade := 0;

DogPassword := StrToInt(Edit3.Text);

Page 73: Cifrado de Contenido

73

CadenaLeida:=Edit6.Text;

DogData := @ CadenaLeida[1];

DogBytes := 4;

DogAddr := 196;

Resul := WriteDog();

{termina de grabar los datos..}

CadenaLeida:='';

SetLength(CadenaLeida,0);

DogCascade := 0;

CadenaLeida:=Edit2.Text;

DogData := @ CadenaLeida[1];

DogBytes := StrToInt(Edit5.Text);

Resul := DogConvert();

If Resul=0 Then

Edit1.Text:=IntToStr(DogResult)

Else

Edit1.Text:='Hay algun error !!! . . .';

Este código se implementó de manera piloto en un proyecto y se realizaron

las pruebas necesarias, de esta manera, se vio que el candado de Rainbows

Technologies (MicroDog) cubre las necesidades del Cenedic (Centro Nacional

Editor de Discos Compactos) para proteger los programas que realizan. Además

de todo, es un producto cuyo costo no se compara con el beneficio que

representa, por lo tanto se puede incluir en la cotización de los discos compactos.

Quiero dejar claro que este tipo de tecnologias cambia día con día, por lo tanto

queda libre la investigación para que se sigan realizando pruebas con nuevos

productos.

Page 74: Cifrado de Contenido

74

Para proteger la información que va dentro de los discos compactos, como

por ejemplo archivos con extensión .RTF, también se implemento un plan piloto,

se utilizó una variante del método de encriptación XOR exclusivo. De esta manera

la información no es legible para el usuario pues la información va encriptada y se

desencripta al momento de consultarla.

A continuación se presenta una explicación del operador XOR

El operador XOR tiene la siguiente tabla de verdad:

XOR

0 0 0

0 1 1

1 0 1

1 1 0

Por lo que la operación XOR sólo es CIERTA si y sólo si uno de los

operandos es CIERTO y el otro FALSO. Esto le da al operador XOR una

propiedad única: si se hace la XOR de un byte con otro byte denominado clave y

luego se vuelve a hacer la XOR del resultado con la misma clave, lo que se

obtiene es el byte original. (6)

Cuando se usa para codificar un archivo, este proceso resuelve los dos

problemas. En primer lugar, como se usa una clave, el programa de cifrado por sí

mismo no puede decodificar un archivo; en segundo lugar, como cada clave hace

que cada archivo sea único, lo que resulta no aparece tan evidente a alguien que

Page 75: Cifrado de Contenido

75

haya estudiado informática.

La clave no tiene por qué ser de sólo un byte. Por ejemplo, se puede usar

una clave de varios caracteres e irlos alternando a lo largo del archivo.

A continuación se presenta el algoritmo que se utilizó en el plan piloto.

1. Dar una Clave

2. Cambiar la clave a su correspondiente código ASCII

3. Se almacena el código en una cadena

4. Esa cadena se convierte de nuevo a código ASCII

5. Leer bloque por bloque del Archivo Original mientras no sea final del archivo

6. Cambiar el bloque leído del archivo a código ASCII

7. Hacer un XOR de la cadena y el bloque que están en código ASCII

8. Se convierte el resultado del XOR a caracteres y se almacena en una cadena

Se guarda el resultado.

Este mismo código se utiliza para desencriptar pues esta es una de las

ventajas que se tienen con el operador XOR, al volver a aplicarle el operador

recuperamos el archivo original, con este método se realizaron varias pruebas que

satisficieron las necesidades para ese tipo de archivos.

Quiero dejar claro que este tipo de tecnologías y métodos cambia día con

día, por lo tanto queda libre la investigación para que se sigan realizando pruebas

con nuevos productos.

Page 76: Cifrado de Contenido

76

CONCLUSIONES

A lo largo de este trabajo se analizaron algunos de los diversos productos

que ofrece el mercado para la protección de datos. Estas tareas fueron realizadas

de acuerdo a determinadas características que posibilitaran su posterior

aplicación, es decir que fueran una suma de adquisición, puesta en marcha y

efectividad; esto encaminado a asegurar la aplicación de los candados (sentinel)

Para lograr estos resultados, primeramente, me di la tarea de investigar los

productos en el mercado, analizar sus características y usos, para finalmente,

proceder a seleccionar aquellos que resultaran más viables de implementar en un

futuro cercano, con esto puedo concluir que los productos de la empresa

Raimbows Technologies satisfacen nuestras necesidades, aclarando que

dependiendo del proyecto (disco compacto) y del costo es el nivel de seguridad

con el que se protegerían.

Este trabajo no culmina aquí, deseo hacer un llamado a los estudiosos y

desarrolladores de software para continuar esta tarea de investigación con el fin

de encontrar nuevos productos que impidan la piratería y den batalla a quienes se

dedican a lucrar con los resultados de quienes verdaderamente se esfuerzan.

Page 77: Cifrado de Contenido

77

BIBLIOGRAFÍA

1) http//www.rainbow.com (13/02/2001)

2) http//www.wibu.com (24/03/2001)

3) http://www.ucol.mx/acerca/coordinaciones/CGSTI/cenedic/ (18/06/2001)

4) http//www.impex-comp.com (22/01/2000)

5) http//www.isecurity.com.es (20/05/2001)

6) http//www.rsa.com/rsalabs/newfaq/ (05/03/1999)

7) http://www.ctsecurity.com/p7.htm (16/04/2000)