INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e...

51
1 INTRODUCCION A LOS SISTEMAS DE SEGURIDAD Principios básicos de un sistema criptográfico. Sistemas criptográficos. Bases para los Sistemas de Seguridad El procesamiento distribuido, la interconexión de grandes corporaciones y el muy difundido uso de redes externas, públicas y privadas dan gran poder, flexibilidad y dinámicas a las organizaciones actuales. Pero junto con el poder y la economía que brinda la interconexión, las compañías enfrentan enormes desafíos de seguridad. Al principio, estaban basadas generalmente en redes privadas punto a punto, o redes LAN propietarias, que permitían compartir recursos, como terminales, impresoras, accesos a las bases de datos, etc. También permitían enviar mensajes del tipo del correo electrónico, pero en formato propietario y bastante más rudimentario que el actual. En estas condiciones la seguridad era implementada en el acceso a la información de la empresa en forma de login y password, mientras que la seguridad en las comunicaciones carecía de importancia por cuanto se trataba, como dijimos de redes privadas punto a punto, donde era muy difícil que un extraño accediera a los recursos de la empresa y por ello no fue objeto de atención, hasta que aparecieron otros conceptos de redes públicas, con muchísimo menor costo como es el caso de Internet. En la actualidad millones de usuarios utilizan las redes para una extensa gama de servicios, algunas de ellas de alto contenido de seguridad, como por ejemplo las transacciones bancarias, compras con tarjetas de crédito, etc. Es aquí donde la seguridad aparece como un problema que puede adquirir proporciones enormes. Los problemas de seguridad de las redes pueden dividirse en cuatro aspectos casi siempre relacionados entre sí: No permitir que la información caiga en manos de usuarios no autorizados. Validación de identificación, para determinar la persona o computadora con la que se mantiene el diálogo. Asegurar la “firma” de los mensajes, de igual forma que se firma en papel en una operación comercial. Control de integridad, que permite asegurar que el mensaje recibido fue el enviado por la otra parte y no un mensaje manipulado por un tercero. Muchos de estos problemas se resuelven en capas inferiores según el modelo de referencia OSI, (Enlace de Datos o de Red), no necesariamente deben encararse en una sola capa, siempre es aconsejable hacerlo en función de una seguridad integrada en donde deben pasarse varios niveles de obstáculos antes de ingresar a la información. Lo mismo que sucede en nuestra casa, donde tenemos rejas en el frente, pero además ponemos llaves y trabas en todas las puertas y ventanas exteriores, en algunos casos se tienen cajas fuertes, se incluyen alarmas y a veces hasta perros guardianes, con el objeto de hacer más difícil el acceso a extraños, o al menos persuadir

Transcript of INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e...

Page 1: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

1

INTRODUCCION A LOS SISTEMAS DE SEGURIDAD • Principios básicos de un sistema criptográfico. • Sistemas criptográficos.

Bases para los Sistemas de Seguridad

El procesamiento distribuido, la interconexión de grandes corporaciones y el muy difundido uso de redes externas, públicas y privadas dan gran poder, flexibilidad y dinámicas a las organizaciones actuales. Pero junto con el poder y la economía que brinda la interconexión, las compañías enfrentan enormes desafíos de seguridad.

Al principio, estaban basadas generalmente en redes privadas punto a punto, o redes LAN

propietarias, que permitían compartir recursos, como terminales, impresoras, accesos a las bases de datos, etc. También permitían enviar mensajes del tipo del correo electrónico, pero en formato propietario y bastante más rudimentario que el actual. En estas condiciones la seguridad era implementada en el acceso a la información de la empresa en forma de login y password, mientras que la seguridad en las comunicaciones carecía de importancia por cuanto se trataba, como dijimos de redes privadas punto a punto, donde era muy difícil que un extraño accediera a los recursos de la empresa y por ello no fue objeto de atención, hasta que aparecieron otros conceptos de redes públicas, con muchísimo menor costo como es el caso de Internet. En la actualidad millones de usuarios utilizan las redes para una extensa gama de servicios, algunas de ellas de alto contenido de seguridad, como por ejemplo las transacciones bancarias, compras con tarjetas de crédito, etc.

Es aquí donde la seguridad aparece como un problema que puede adquirir proporciones

enormes. Los problemas de seguridad de las redes pueden dividirse en cuatro aspectos casi siempre

relacionados entre sí:

• No permitir que la información caiga en manos de usuarios no autorizados.

• Validación de identificación, para determinar la persona o computadora con la que se mantiene el diálogo.

• Asegurar la “firma” de los mensajes, de igual forma que se firma en papel en una

operación comercial.

• Control de integridad, que permite asegurar que el mensaje recibido fue el enviado por la otra parte y no un mensaje manipulado por un tercero.

Muchos de estos problemas se resuelven en capas inferiores según el modelo de referencia

OSI, (Enlace de Datos o de Red), no necesariamente deben encararse en una sola capa, siempre es aconsejable hacerlo en función de una seguridad integrada en donde deben pasarse varios niveles de obstáculos antes de ingresar a la información. Lo mismo que sucede en nuestra casa, donde tenemos rejas en el frente, pero además ponemos llaves y trabas en todas las puertas y ventanas exteriores, en algunos casos se tienen cajas fuertes, se incluyen alarmas y a veces hasta perros guardianes, con el objeto de hacer más difícil el acceso a extraños, o al menos persuadir

Page 2: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

2

que para ingresar deberá tomar mucho trabajo con los riesgos que sea descubierto antes de que el intruso complete su cometido.

En el caso de las redes públicas, se construyen túneles seguros mediante encriptación en la

capa de Enlace de Datos y de Red, se instalan firewall en la capa de Red, se bloquean puertos inseguros en la capa de Transporte (TCP/IP), pueden mantenerse cifrados extremo a extremo, se implementan mecanismos de control de acceso en las aplicaciones, etc.

Y como en los domicilios, debe tenerse en cuenta que ninguna de estos mecanismos resuelve

completamente los problemas de seguridad.

Antes de continuar analicemos algunas definiciones a tener en cuenta:

1. En OSI, como parte del modelo de referencia, se define la seguridad como: Una serie de mecanismos que minimizan la vulnerabilidad de bienes y recursos, donde un bien se define como algo de valor y la vulnerabilidad se define como la debilidad que se puede explotar para violar un sistema o la información que contiene. Para ello, se han desarrollado protocolos y mecanismos adecuados, para preservar la seguridad.

2. El criptoanálisis, es la ciencia que se encarga de descifrar los mensajes (los intrusos

utilizan estas técnicas), mientras que la criptografía busca métodos más seguros de cifrado y se puede clasificar en: o Criptografía clásica: cifrados rudimentarios basados en sustitución y

transposición o Criptografía moderna: cifrados basados en algoritmos parametrizados en base a

claves

3. Seguridad de la red: implica la seguridad de cada uno de los componentes de la red. 4. Hacker: Es un programados con conocimientos suficientes para superar, sin ser

detectado, las barreras de seguridad que tienen los sistemas. Por lo general no hacen daño, solo se contentan con ingresar, algunas veces dejar un mensaje y salir sin ser descubierto.

5. Cracker: Es similar al anterior, pero sus ataques son utilizados para sacar beneficio

propios (económicos) robando información o realizando fraudes, o bien para destruir los datos y programas de la empresa. Si bien ambos pueden catalogarse como delincuentes, son mucho mas dañinos estos últimos.

6. Ataque: A veces son solo intentos de sabotear, o amenazas de sabotaje, hacia los

recursos de la empresa. Estos ataque o amenazas se pueden realizar por:

o Compromiso: El atacante obtiene el control de algún elemento de la red, por ejemplo utilizando cuentas con contraseñas no encriptadas o errores del sistema

o Modificación: El atacante modifica el contenido de algún mensaje, texto o dato. o Suplantación: El atacante se hace pasar por otra persona. o Reenvío: El atacante obtiene un mensaje o texto en tránsito y más tarde lo reenvía

para duplicar su efecto o Denegación de servicio (DOS): El atacante impide que algún componente de la

red cumpla su función

Page 3: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

3

Como habrán podido verificar hasta aquí, los temas de seguridad muchas veces escapan al

entorno técnico y están vinculados con asuntos legales que escapan al contenido de esta materia, pero que no debemos descuidar de ninguna manera.

Los Gobiernos tratan de implantar estándares de encriptación y cifrado, de manera que ellos

mismos puedan descifrar fácilmente. Por ejemplo en Francia y EEUU no están permitidas transacciones cifradas, que el gobierno no sea capaz de descifrar, pues pueden utilizarse para comercio de armas, terrorismo, y otros tipos de delincuencia.

La estrategia del sistema de seguridad debe contemplar la disparidad que presenta la infraestructura del sistema.

Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar en forma simultánea sobre un conjunto de áreas y sobre el esquema que las sostiene. Estas áreas requieren una revisión sistemática tanto en sus formas como en sus contenidos.

La estructura del sistema de seguridad debe poder establecer:

• Programas de difusión de las necesidades de transformación para promover la participación de los agentes de manera de lograr el consenso de las medidas a implementar.

• Desarrollo de tecnologías administrativas basadas en las necesidades locales. • Ampliar el espectro de las mediciones, instalando sistemas de control sobre los

administrativos. • Desarrollar mecanismos que generen nuevas capacidades y tecnologías administrativas

en la formación de los recursos humanos. • Exhibir la parte no visible de la trama burocrática de manera de facilitar el diagnóstico

organizacional.

Cada vez que llega una información real, el sistema verifica que se encuentre dentro de la banda establecida, en cuyo caso almacena la información. Pero si no está dentro de esa banda genera una señal de alarma. Un programa apoyado en información histórica corrige las bandas de normalidad cada cierto tiempo.

Cuando se habla de seguridad en comunicaciones es muy importante el entorno y el

equipamiento. No es lo mismo un sistema de seguridad para una PC, una red LAN o una red de gran envergadura (WAN).

Muchas de las violaciones de seguridad son llevadas a cabo por empleados disgustados o

indirectamente por el paso de la información a través de las redes de la empresa o de terceras partes. Satisfacer a los empleados es también implementar seguridad.

Aplicación de los Sistemas de Seguridad

Podemos distinguir dos aplicaciones fundamentales dentro de la protección de la información:

Page 4: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

4

1. Protección en el soporte de almacenamiento. 2. Protección durante el transporte de la información en un sistema de comunicaciones. En el primer caso se pueden usar métodos de protección tradicionales basados en las

protecciones físicas. Incluso pueden usarse medios de almacenamiento cifrado en caso de extrema seguridad.

Con el advenimiento de los procesos distribuidos y la proliferación de las redes de

información, el segundo punto se vuelve de gran importancia, y en este caso los nodos juegan un papel de consideración, ya que la información debe ser transmitida a través de los enlaces de comunicación y en este caso la protección física no es posible.

Riesgos de Seguridad en la Interconexión

La disponibilidad de la información se ha incrementado, creando un mayor riesgo de penetración ilegal, destrucción y exposición de información importante por parte de extraños.

Casi todas las empresas utilizan la red pública en alguna de sus formas, ya sea red telefónica

conmutada, ADSL, Cable MODEM, Frame Relay, Internet, etc. las que evidentemente no fueron diseñadas con niveles altos de seguridad. Además, muchas empresas usan terceras partes para la transmisión de datos y tampoco esto es seguro, ya que se le está entregando la información vital a terceros a los cuales no se les puede responsabilizar por nuestra seguridad.

Software

La interconexión no es el único problema de seguridad. Los riesgos en sistemas de computación ocurren en hardware, tales como procesador central, monitores, memoria externa, impresoras y líneas de comunicaciones y más peligrosamente, en el software mismo. Tanto los sistemas operativos como los programas de aplicación pueden contener errores, que los intrusos (hackers) conocen y pueden utilizar para su ventaja.

Los sistemas operativos son examinados cuidadosamente y revisados antes de ser liberados

para su uso. Aparte de esto, la mayoría no revisan ni siquiera lo que el usuario está haciendo y mucho menos si eso está autorizado.

Un dato curioso para tener en cuenta, sólo el sistema operativo comercial que dio

clasificación de seguridad Clase A para el gobierno de los Estados Unidos, fue el SKOMP de Honeywell. Sin embargo, este fue incontrolable y difícil de utilizar y por lo tanto totalmente impopular.

Vulnerabilidad de la Contraseña (Password)

En la medida que el software se concibe más sofisticado, también se ha hecho más vulnerable. Identificaciones de acceso (Login) en forma de contraseñas no son suficientes como medida de seguridad por varias razones.

La mayoría de los usuarios no cambian su contraseña frecuentemente y cuando se escoge la contraseña, lo hacen por algo muy obvio como nombres, número de teléfono, o fecha de nacimiento.

Page 5: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

5

Otro problema con las contraseñas es que muchas veces están limitadas a unos pocos (cuatro) caracteres o menos. Programas bastante simples pueden romper una palabra de cuatro caracteres en muy poco tiempo.

Virus, Caballos de Troya y Bombas Lógicas

Otros riesgos del software incluyen lectura encubierta, falsificación y destrucción de datos y programas y la implementación de virus de computadoras, Caballos de Troya y Bombas Lógicas. La mayoría de estos sacan ventaja de falencias en el software y si bien este no es un tema a tratar dentro de la materia Comunicaciones, vamos a dejar en claro algunos conceptos.

Lamentablemente, el software puede contener huecos legítimos para permitir mejoras, así

como puesta a punto de programas especiales que permiten adaptar los sistemas operativos a diferentes tipos de computadoras. Esto hace a los programas vulnerables a los ataques.

Un virus es capaz de copiar por si mismo una o más secciones discretas a otro archivo, otro

disco, o un disco de otra computadora. Un virus está también diseñado como un "boot-strap" parásito, de modo que pueda ejecutarse

por si mismo sin ser llamado explícitamente por el usuario de la computadora. Como resultado, este modifica algo existente, comúnmente utilizando programas que ejecutan el virus. El objetivo más obvio es el sistema operativo.

Los programas "vacunas" disponibles bloquean invasiones por virus monitoreando aspectos

del sistema que normalmente no deberían cambiar. Un Caballo de Troya es un programa que desempeña servicio más allá de aquellos planteados

en sus especificaciones. Los efectos son frecuentemente maliciosos. Un ejemplo es un software que se anuncia como un programa determinado, pero que en realidad destruye toda la información del disco.

Una Bomba Lógica es un programa que causa daño cuando se dispara por una condición

específica, p. ej., por la presencia o ausencia de datos con igual nombre. Un ejemplo puede ser la coincidencia con la puesta a cero de una celda en una hoja de cálculo cada jueves. Existen empleados (programadores) que utilizan bombas lógicas que se disparan si por ejemplo son despedidos de la empresa.

Para evitar tales ataques, las empresas tienen que garantizar que todos los huecos en el

software son erradicados de modo que un usuario no autorizado no pueda ejecutar programas en el sistema. Esto significa que todo el software debería ser revisado, lo que consume mucho tiempo y es muy dificultoso.

Es aquí que probablemente el usuario tendrá que confiar en la palabra de las empresas de

software, de que los programas están libres de huecos. Además, el nuevo software que corre en las computadoras debería ser mantenido en aislamiento hasta que sea cierto que está libre de virus. Criterios que Definen un Sistema de Seguridad

Los sistemas de seguridad deben tener determinadas características, que podemos especificar en siete criterios que definen un entorno secreto de comunicaciones mediante criptografías.

Page 6: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

6

1. La cantidad de seguridad deseada determina la cantidad de trabajo y tiempo de cálculo

necesario para vulnerar el mensaje cifrado. Esto indica la relación entre el grado de protección deseado y la complejidad del sistema de encriptado.

2. Las claves deben ser de fácil construcción, lo más cortas posibles, fáciles de manipular

y modificar y que ocupen la menor cantidad de memoria posible. 3. Las operaciones de cifrado-descifrado deben implicar la menor cantidad de cálculos

posible. 4. Las claves y el sistema de cifrado deben ser tal que destruyan los parámetros

estadísticos del lenguaje o su estructura natural. 5. Los errores de transmisión no deben originar pérdida de sentido de la información

original, o sea que un error producido en el transporte del mensaje no debe alterar necesariamente todos los caracteres.

6. La necesidad de almacenamiento de los criptogramas no debe ser mayor que la

necesaria para los mensajes. 7. El análisis de un criptograma, tratando de descifrarlo, debe necesitar una cantidad de

cálculo tal que sea considerado como un problema intratable.

Arquitectura y niveles de Seguridad

La principal dificultad consiste en diseñar un sistema de seguridad que satisfaga la demanda de mayor flexibilidad y simplicidad para con el usuario, y al mismo tiempo está asegurado contra daños accidentales o intencionales.

Si bien estos dos criterios de diseño se contraponen, se debe hallar una situación de

compromiso que contemple la facilidad de uso en un marco de alta seguridad, aplicando criterios inteligentes de coexistencias de ambas situaciones.

Según los últimos avances realizados indican que si bien la seguridad puede implementarse en

cualquier capa según el modelo OSI, lo más apropiado es realizarla en la capa física, en las capas de red o de transporte y en la capa de presentación.

Es posible en consecuencia disponer de tres niveles de seguridad. • La seguridad física: representada por el uso de medidas tradicionales en, tales como

áreas restringidas, puertas con cerrojos, guardias de seguridad, etc. En este nivel podemos distinguir varias áreas sensibles a la seguridad: acceso a archivos, servidores, líneas de comunicaciones, estaciones de trabajos, etc. En los grandes centros de cómputos se cumple en mayor o menor medida con esta seguridad física.

• La seguridad en los medios de comunicación: está relacionada con la vulnerabilidad de los medios de comunicación ante la intromisión externa, ya sea accidental o intencionada. Por cierto los analizadores de protocolos para los servicios de control de red permiten el monitoreo de la información presente en el medio, o al menos puede facilitar la detección de la palabra clave del administrador de red. En relación al medio de comunicación suelen tomarse recaudos en cuanto al procesamiento y acceso remoto.

Page 7: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

7

• La seguridad en las aplicaciones: estas tienen que ver con el acceso a las aplicaciones, como por ejemplo a Bases de Datos o programas de acceso a estas Bases de Datos, donde se encuentra la información vital de la empresa

Para los tres niveles indicados existen técnicas de compactación y encriptación de datos que

proveen altos grados de seguridad. Estas técnicas que transforman los datos, previo a la transmisión, previenen que un intruso se

"cuelgue" de la red y acceda a los mismos.

Los Cinco Dominios de la Seguridad

Con el fabuloso crecimiento de Internet, las empresas se han visto cada vez más expuestas al ataque de los hackers, delincuentes y espías, que a través de la red hacen estragos en los datos de la organización. Por tal motivo se han implementado, para ayudar a hacer frente a este problema, un nuevo modelo llamado "Los Cinco Dominios de Seguridad de la Red".

Los Dominios 1 al 4 proveen seguridad a los elementos más vulnerables de la empresa:

• Internet • Los grupos de trabajo (workgroup) de redes LAN. • Computadores personales móviles. • Lugares remotos.

La seguridad en cada uno de estos dominios puede ser implementada individualmente, pero la potencia de protección aumenta enormemente si es implementada en conjunto.

El Dominio 5 envuelve a todos los otros componentes proveyendo una cubierta de seguridad

central para que los administradores puedan configurar, monitorear y administrar la seguridad en tantos lugares como estimen necesario.

SEGURIDAD INTEGRADADE LA EMPRESA

DO

MIN

IO 4

:SE

GU

RID

AD D

E O

FIC

INA

REM

OTA

DOMINIO 2:

SEGURIDAD DE GRUPOS DE TRABAJO

DOMINIO 3:

SEGURIDAD DE USUARIOS MÓVILES

DOMINIO 1:SEGURIDAD DE INTERNET

DOMINIO 5:

Figura 1

Comentario [.1]: Desarrollado por Raptor Systems, Inc, este modelo ofrece, una guía para proveer protección a través de la infraestructura de información.

Page 8: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

8

Mientras cada uno de los dominios tiene un área individual de enfoque, la solución de seguridad es similar.

Si bien pueden variar, dependiendo de la funcionalidad, generalmente fallan en alguna de las

dos categorías siguientes: filtros de paquetes a nivel de red o firewall en el nivel de aplicación.

Figura 2 Si somos conscientes de la seguridad no deberíamos confiar únicamente en filtros de paquetes

a nivel de red para proteger los datos. Esta tecnología solo deniega acceso para ciertos tipos de mensajes, la podemos considerar

como una primera línea de defensa En el nivel de aplicación, el firewall, puede imponer controles más sofisticados para aplicaciones individuales relevantes, tales como un esquema de password mejorado que autentica más cuidadosamente a los usuarios.

Dominio 1: Seguridad Internet

La protección de los accesos no autorizados desde Internet es de alta prioridad para los administradores que deben consolidar la seguridad de la empresa.

Si bien la seguridad Internet no debe ser el único enfoque para la solución de la seguridad de

la red, es un buen lugar para comenzar, teniendo en cuenta el grado de integración de Internet. La seguridad del Dominio 1 controla el flujo de datos a y desde Internet. Cuando se conecta a

una red externa, debe asegurarse que las amenazas no puedan operar dentro de la red interna. Debido a que la amenaza a la seguridad puede originarse en la red interna, debe ser aplicada

una comprobación de seguridad (policing) a los datos que fluyen en ambas direcciones.

CAPA 1 FISICA

CAPA 2 ENLACE DE DATOS

CAPA 3 RED

CAPA 4 TRANSPORTE

CAPA 5 SESION

CAPA 6 PRESENTACION

CAPA 7 APLICACION

FIREWALL

FILTRADO DE PAQUETES

Page 9: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

9

Junto a la protección dentro y fuera de los límites del paquete de datos, se ha comenzando a incrementar la restricción en el uso de información de Internet durante las horas de trabajo, tales como acceso on-line a la pornografía, planificación de vacaciones, visitas a pubs y bares, etc.

La solución ideal para Internet, así como para los grupos de trabajo (workgroup) LAN, oficina

remota y usuarios móviles, es un "firewall" en el nivel de Aplicación, con las siguientes características:

• Proteger los sistemas con direcciones ocultas dentro del gateway. • Implementación de autenticación de usuarios para prevenir el uso no autorizado. • Proveer apertura de túneles (tunneling) para proteger los mensajes que pasan a través de

Internet. • Ser fácil de usar, configurar y administrar. • Entregar en tiempo real monitoreo y capacidad de acceso (logging). • Generar alarmas en tiempo real para alertar a los administradores cuando alguna cosa

pueda ser errónea. • Correr sobre una selección de plataformas de hardware. • Bajar el sistema (Shutdown) si existe violación

Dominio 2: Seguridad de Grupos de Trabajo de LAN

El segundo Dominio de seguridad de red es el departamental o de LAN y asegura que los datos confidenciales que residen en el nivel del grupo de trabajo son protegidos de accesos no autorizados. Esta información puede incluir detalles de diseños de productos, archivos personales, información financiera o comunicación ejecutiva.

La necesidad de seguridad de este dominio que controla los sistemas de computación, da

como resultado grupos de trabajo entre los departamentos, haciendo accesible los datos a mucha gente.

Un método para proteger a un grupo de trabajo dentro de la red de la empresa, es segregando al grupo con un firewall. Esto crea un sistema de dos capas, interno y externo.

Más recientemente ha surgido una nueva clase de seguridad para mejorar la seguridad entre

lugares remotos (Dominios 2, 3 y 4) y la red corporativa. Esta tecnología llamada “Conexión Privada Virtual“ o “Redes Privadas Virtuales“ (VPN) que funciona estableciendo autenticación por medio de túneles a través de Internet asegurando la confidencialidad de los datos.

Las Redes Privadas Virtuales crean túneles impenetrables a través de redes públicas y privadas. El usuario es autenticado cuando al establecer el túnel y a partir de allí la integridad de los datos es protegida en su travesía a través de su viaje para asegurar que el mensaje no es modificado en su tránsito por la red. Las VPN las estudiaremos más adelante.

Dominio 3: Seguridad de Usuarios Móviles

Los usuarios móviles son, usuarios o clientes, etc., que componen la oficina virtual. Toda esa gente debe ser autorizada a acceder a la red corporativa.

El administrador de red debe afrontar tres problemas:

Page 10: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

10

1. Asegurar que los usuarios autorizados puedan acceder sólo a la LAN y/o al server individual aprobado.

2. Asegurar que los usuarios autorizados puedan acceder sólo a las aplicaciones autorizadas.

3. Tener la seguridad que sólo los usuarios autorizados están usando la PC portátil.

Los usuarios móviles tienen inconvenientes, al usar redes públicas, para acceder a los datos, por ello deben ser usarse métodos de encriptación y compresión para esos accesos.

Combinando las protecciones de password con la tecnología de VPN, el firewall a nivel de

aplicación, puede establecer accesos para el usuario móvil tan seguros como una línea arrendada de uso privado, simplemente instalando una pequeña pieza de software en la computadora portátil del cliente. El mismo nivel de seguridad también puede ser aplicado para proteger grupos de trabajo dentro de la empresa.

Dominio 4: Seguridad de la Oficina Remota

En una red corporativa geográficamente dispersa, puede haber instalados varios puntos de control de seguridad. Estos pueden incluir firewalls en los puntos de conexión a la red pública, firewalls internas y túneles de interconexión privada virtual encriptada en los puntos finales para propósitos de seguridad interna.

Un importante aspecto de la seguridad de red es que es consistente en todas las partes de la

red. Todos los componentes de los sistemas de seguridad debieran permitir ser controlados remotamente, de modo que puedan ser establecidas e impuestas las reglas a través de la organización.

Si ellas están protegiendo a empleados o clientes, los productos de acceso remoto deben

proveer conexión transparente y segura a la red con una solución de seguridad multinivel en el lugar remoto.

Dominio 5: Seguridad Integrada de la Empresa

La seguridad del dominio 5 frecuentemente bloquea a todos, si bien este es quizás el más crítico al momento de proveer una solución de seguridad cohesiva y comprensiva para la empresa.

Compuesto de una solución integrada y servicios que trabajan continuamente para proteger

los Dominios 1 a 4 dentro de la empresa, el Dominio 5 cubre la seguridad de Internet, grupos de trabajo, usuarios móviles y remotos a través del punto de control central.

El Dominio 5 provee una aplicación de administración de seguridad a través de la cual un

administrador de red puede modificar, gobernar y controlar la seguridad y monitorear la violación. Este provee una sombrilla que configura, monitorea y administra las soluciones de seguridad de toda la empresa bajo los parámetros necesarios para la administración.

Cualquier sistema de seguridad tiene muchos componentes, pero el más importante es un

control que balancee las necesidades de seguridad con las de la organización de manera de proveer acceso dinámico y flexible para grandes cantidades de datos a veces muy dispersos.

Page 11: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

11

Siempre debemos tener en cuenta que si un sistema fuera asaltado, entonces es muy probable que, en un mundo normalizado, todos los otros estén en peligro.

CRIPTOGRAFIA

Uno de los mecanismos más empleados en la resolución de los problemas de seguridad en el transporte de los datos, es el uso de técnicas de cifrado (encriptación) de los mensajes.

La criptografía es una ciencia compleja que hace uso de y altos conceptos matemáticos. Los

buenos criptosistemas son muy difíciles de crear. Hasta la llegada de las computadoras, el cifrado estaba restringido al ámbito militar u

organismos de seguridad, como policías, o agencias de inteligencia y estaba en relación directa con la capacidad del encargado de la codificación.

Otro aspecto importante que restringía el uso de estas técnicas consistía en la dificultad de

cambiar el método de cifrado con la rapidez suficiente para evitar el descifrado o, la captura por parte del enemigo de alguien relacionado con el mensaje o con las claves para su desencriptación.

Esto hace que sea necesario e indispensable el cambio del método de cifrado con la velocidad

suficiente para que cuando se vulnere la seguridad, esta haya cambiado a otros métodos o claves de encriptación.

La palabra CRIPTOGRAFIA etimológicamente deriva del griego y significa:

KRYPTOS (oculto) + GRAPHOS (escritura)

De esto podemos inferir que CRIPTOGRAFIA es: “El arte de escribir y enviar mensajes mediante claves secretas, de manera que sea

imprescindible conocerla para descifrarlo”. Una regla fundamental de la criptografía es que se debe conocerse el método general de

cifrado usado, pues la cantidad de esfuerzo necesario para inventar, probar e instalar un método nuevo cada vez que el viejo es conocido, hace impracticable mantenerlo en secreto. Aquí es donde entra la clave.

La clave consiste en una cadena relativamente corta que puede cambiarse con relativa

facilidad, mientras que el método general de cifrado, tal vez se cambie cada cierto número de años.

Un ejemplo de esto es la cerradura de nuestra puerta de entrada, cuya combinación puede ser

cambiada con relativa facilidad (obviamente por un cerrajero), o una cerradora de combinación de números que es mucho más fácil de cambiar, y si bien todo el mundo conoce como funciona, si no tiene la clave secreta no puede abrirla.

Hay que tener en cuenta que la complejidad de la clave está íntimamente relacionada a la

longitud de esta. Una clave de tres dígitos significa que existen mil posibilidades, mientras que una longitud de seis dígitos implica un millón de posibilidades.

Page 12: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

12

Existen dos formas para aplicar la seguridad a las redes y depende de si la protección es responsabilidad de la red o del usuario.

• Encriptado a nivel del enlace: Si el encriptado es a nivel de enlace, un mensaje se cifra

y descifra en cada nodo en su viaje a través de la red. • Encriptado extremo a extremo también conocido como encriptado a niveles

superiores: En el segundo método el encriptado es a niveles extremos, en el cual el mensaje es cifrado en la fuente y descifrado en el destino. Esto da como ventaja que los datos son protegidos en todo su recorrido.

El encriptado de la información obedece a tres aspectos:

a. Autenticación de quien recibe la información. b. Falsificación ó modificación. c. No permitir que la información llegue a manos indebidas.

Otra alternativa asociada a la anterior es buscar caminos alternativos redundantes de manera

de asegurar que la información llegue a destino con la menor distorsión posible. El encriptado a veces es poco práctico, sobre todo cuando es realizado por software, debido a

la demora que produce, sobre todo en la cada vez mayor velocidad de transmisión. Lo más aconsejable es usar técnicas de encriptado por hardware. El cifrado a niveles extremos implica un sistema de intercambio seguro de las claves entre los

usuarios, salvo que se trate de un sistema de claves públicas. Una medida de seguridad única nunca será suficiente. Los administradores tienen que

instrumentar un paquete completo de control, monitoreando y verificando procedimientos. La encriptación convierte el texto, voz, ó información en forma indescifrable. El uso de autenticidad para proteger los datos hace mucho más fácil detectar los ataques al

sistema. Usada para proteger la integridad, puede también detectar Bombas Lógicas, Virus y Caballos de Troya.

Un efectivo sistema de encriptación puede estar basado en el intercambio de claves privadas,

que abarcan las instrucciones para generar secuencias seudo aleatorias ó para controlar la codificación y algoritmos de decodificación. Sin embargo, la habilidad para establecer vínculos seguros en una gran comunidad depende de tener un método seguro normalizado para la distribución real de claves.

Tipos de ataques criptográficos

Los sistemas criptográficos están sujetos a una variedad de ataques. Es imposible proveer una

taxonomía completa, pero veremos algunos de los más importantes ataques. • Criptoanálisis: el arte de leer tráfico encriptado sin conocimiento previo de la clave. • Criptoanálisis Práctico: Se refiere a métodos intuitivos para la obtención de la clave por

cualquier medio posible.

Page 13: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

13

• Criptoanálisis por corrupción: Suele ser muy fácil obtener la clave por medios monetarios.

• Ataque conociendo el texto plano: A menudo, un enemigo puede tener uno o más pares de textos cifrados y texto plano, encriptado con la misma clave. Estos pares, conocidos como plagio, pueden ser usados como ayuda en el criptoanálisis

• Selección del texto plano: Ataques en los cuales se engaña al enemigo dentro de mensajes encriptados con la misma clave enemiga. Por ejemplo, si su oponente encripta tráfico para y desde un servidor de archivos, se puede remitir un mensaje de correo a esa persona y vigilar la copia encriptada enviada.

• Búsqueda exhaustiva: Ensayar todas las posibles claves. También conocido como “fuerza bruta”.

• Repetición: Se trata de tomar un mensaje legitimo y reinyectarlo en la red • Escucha secreta: Se trata de un atacante pasivo que simplemente escucha el tráfico

tratando de averiguar la clave. • Ataque activo: En un ataque activo, el enemigo puede insertar mensajes y en algunas

variantes borrar o modificar los mensajes legítimos. • Atacante en el medio: El enemigo se ubica entre ambas partes que quieren comunicarse

y desempeña un papel activo entre ambos. • Copiar y pegar: Teniendo dos mensajes encriptados con la misma clave, es posible,

algunas veces, combinar porciones de ambos para producir uno nuevo. Seguramente no conoce que dicen estos mensajes, pero puede usarlo para engañar a la otra parte.

• Tiempo de restablecimiento: En los protocolos que usan el tiempo, este ataque puede poner a prueba para confundir acerca que cual es el tiempo correcto.

En cualquier caso, el objetivo del atacante es recuperar la clave de encriptado y desencriptado.

En un cifrado robusto, debiera ser imposible recuperarla por medios cortos y hace muy difícil analizar todos los valores posibles.

El intercambio de claves se llama “sesión de claves”, y es una tarea muy crítica, debiendo ser

establecida en forma encritpada y en un tiempo muy corto.

UN POCO DE HISTORIA

Método Espartano De acuerdo a la historia, el primer empleo de la criptografía es el caso de un esclavo portador

de un mensaje en la guerra entre Atenas y Esparta. El general Lysandro recibe una lista con una serie de letras con aparente falta de sentido.

Esta lista, al ser enrollada en un determinado rodillo mostraba longitudinalmente los símbolos

dispuestos de manera que podían leerse normalmente. Este cifrado consistía simplemente de una alteración, incluyendo símbolos innecesarios que desaparecen en el proceso descifrado (enrollado en el rodillo).

Estos rodillos son llamados “scitalos”, y consisten de dos bastones exactamente iguales, uno

lo lleva el general, y el otro se guarda el “éforo” o ministro de la guerra. Cuando quieren enviar un mensaje, cortan una tira de pergamino, larga y estrecha como una

correa, la enrollan alrededor del scitalo, cubriendo enteramente la superficie. Sobre este pergamino escriben el mensaje que luego es enviado por separado. Las letras, una vez sacado del

Page 14: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

14

bastón, pierden la alineación y su lectura es imposible, pero al volver a enrollarlo en la scitalo, recuperan el mensaje.

Estas misivas se llaman scitalos, tomando el nombre del mismo bastón donde fueron escritas.

Figura 3

Círculos Concéntricos, o Círculos de Alberti En 1466 León Alberti, músico, pintor, escritor y arquitecto concibió el sistema, que emplea

varios abecedarios saltando de uno al otro cada “n” palabras, como siempre el emisor y el destinatario han de ponerse de acuerdo para fijar la posición relativa de dos círculos concéntricos, que determinara la posición de los signos.

Estos sistemas están compuestos por dos discos uno interior móvil y otro exterior fijo. En el disco externo hay escritos número y letras que representan el texto claro. En el interior aparecen los signos cifrados, para crear una clave se gira el externo y se hace corresponder la letra a otra preestablecida.

El disco interno representa los caracteres a emplear en el texto cifrado mientras que en el

disco externo se representan los caracteres del texto en "claro". Solo queda ponerse de acuerdo en la posición del disco móvil respecto al fijo para iniciar el

cifrado/descifrado. El cifrado se efectúa enfrentando una casilla del anillo exterior con otra cualquiera del anillo

interior. Esta pareja constituye la clave del cifrado, y con esta correspondencia entre ambos anillos se efectúa el cifrado.

U

I

E

N

D

O

E

P

I

D

O

S

I

G

A

P

A

S

O

R

A

A

V

A

N

Z

A

R

Texto Claro avanzarapasorápidosiguiendoelcursodelrío Texto cifrado AAPUVPIIAADENSONZOSDARIORAGE…

Page 15: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

15

Figura 4 Podemos utilizar las dos primeras letras del texto cifrado para indicar la relación entre los

discos. En el caso de aparecer un número en el texto significaba que se cambiaba la posición de los

discos para aumentar así la seguridad del mensaje siendo la primera letra tras el número la referencia para relacionar de nuevo los discos.

Podemos variar la relación entre los discos tantas veces como queramos con solo intercalar un

número en el texto seguido de una letra. Estos círculos fueron mejorados por Giovanni Battista Porta en 1535, empleando sus propios

círculos concéntricos, pero con signos no convencionales proporcionando los criptogramas. Utilizó varios alfabetos.

El cifrado en épocas más recientes

Evidentemente existen muchos otros ejemplos que llegan hasta nuestros días. Ambas guerras

mundiales proveyeron muchos ejemplos de criptografía. Acuciados por los grandes interese en juego incentivó las necesidades de mantener los

secretos tanto bélicos como científicos. Estados Unidos creó su propio departamento de criptografía llamado M18.

Durante la Primera Guerra Mundial, los franceses consiguieron averiguar la clave del cifrado

alemán ADFGX. Este sistema usaba solo estas cinco letras para sustituir una combinación de ellas por cada símbolo del mensaje en claro.

El cifrado se realiza por la sustitución de cada letra por un par de símbolos de acuerdo a la matriz.

El sistema se completa con una transposición de bloques con longitud 20. Los criptoanalistas

utilizaron la herramienta proporcionada por la frecuencia de las letras para vulnerar el sistema. Posteriormente el sistema fue ampliado con un símbolo más, la letra V, convirtiéndose en el

cifrado ADFGVX, que permitió cifrar los números.

Page 16: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

16

A D F G X

A n b x r uD q o k d vF a h s g f G m z c l t X e i p j w

A partir de 1930, aparecen las máquinas de cifrar, que efectuaban cifrados muy complejos

comparados con los existentes hasta ese momento. Las máquinas PURPLE y ENIGMA fueron las precursoras de las utilizadas en la Segunda

Guerra Mundial, que proveyeron de notables mejoras. A partir de aquí, las técnicas se mejoran con el uso de ordenadores para desarrollar sistemas criptográficos potentes e invulnerables.

Estructura de los sistemas criptográficos.

El esquema de funcionamiento de un sistema de cifrado, es idéntico tanto si se trata de un

sistema de comunicación como un sistema de almacenamiento. En un sistema criptográfico existen dos funciones elementales que se denominan proceso de

cifrado y proceso de descifrado, ambos se suponen conocidos por emisor y receptor. La función de cifrado, E, es tal que combina de alguna manera el mensaje original o en claro,

con la clave K, para obtener el mensaje cifrado o criptograma. Consecuentemente, la función de descifrado, D, combina el mensaje cifrado o criptograma, con la clave K, para obtener el mensaje original o en claro, tal como puede verse en las figuras 5 y 6.

Figura 5

Figura 6

CIFRADO MENSAJE ORIGINAL

EN CLARO MENSAJE CIFRADO CRIPTOGRAMA

CIFRADO = E CLAVE = K

DESCIFRADO MENSAJE CIFRADO

CRIPTOGRAMA MENSAJE ORIGINAL TEXTO CLARO

DESCIFRADO = D

CLAVE = K

Page 17: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

17

Principios criptográficos fundamentales.

Si bien la criptografía tiene muchas variantes, existen dos principios fundamentales que es importante entender.

Primer Principio: Redundancia: todos los mensajes deben tener redundancia suficiente, es

decir, información no necesaria para entender el mensaje. Esto da seguridad, dado que los intrusos pasivos no entenderán los mensajes. Sin embargo, puede fallar si se consigue descubrir parte de la redundancia del mensaje y con un poco de programación pueden generarse mensajes con ese contenido, poniendo cualquier cosa en la parte cifrada. El sistema entenderá el contenido no cifrado e intentará responder.

Este problema puede resolverse agregando redundancia a todos los mensajes, haciendo que la

probabilidad de generar un mensaje válido sea muy baja Otro ejemplo de este principio, es el concepto de CRC (Cyclic Redundant Check), es decir

información redundante puesta al final del mensaje para evitar que otros puedan generar información que pueda ser interpretada e introducir vulnerabilidad en las comunicaciones.

Segundo Principio: Evitar la reproducción de mensajes viejos: Si no se toman medidas en

este sentido, alguien puede ingresar y simplemente continuar repitiendo mensajes válidos enviados previamente. Una medidas es la inclusión de una marca de tiempo en cada mensaje, vencida la cual el mensaje no tendrá validez. Los mensajes con mayor antigüedad pueden descartarse.

A partir de ahora realizaremos un estudio de las técnicas de cifrado, empezando por las

técnicas clásicas para pasar a estudiar las técnicas criptográficas modernas.

Criptografía clásica.

La criptografía clásica se basa en algoritmos sencillos y claves muy largas. Las técnicas criptográficas clásicas son básicamente dos, el cifrado por sustitución y el cifrado por transposición. Cifrado por sustitución. Método Cesar

El cifrado por sustitución se basa en la sustitución de cada letra o grupo de letras por otra letra o grupo de letras para alterarla. Uno de los cifrados por sustitución más antiguos conocidos es el cifrado de Cesar, atribuido al emperador romano Julio Cesar. En este método la letra a se convierte en D, la b en E, la c en F, y así sucesivamente, hasta que la z se vuelve C. Así, el mensaje “soldado” se convierte en “VRÑGDGR”. Como ya habrá podido darse cuenta, solo se ha desplazado el alfabeto original tres letras como puede verse a continuación

Nor- mal a b c d e f g h i j k l m n ñ o p q r s t u v w x y z

Cifrado D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z A B C Una generalización del cifrado de Cesar permite que el alfabeto de texto cifrado se desplaza

“k” letras en lugar de 3, con lo cual “k” se convierte en la clave de cifrado.

Page 18: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

18

La siguiente mejora es hacer que cada uno de los símbolos del texto normal, por ejemplo las

27 letras del alfabeto, correspondan biunívocamente con alguna otra letra. Por ejemplo:

Nor-mal a b c d e f g h i j k l m n ñ o p q r s t u v w x y z

Cifrado Q W E R T Y U I O P A S D F G H J K L Ñ Z X C V B N M

Este sistema se llama sustitución monoalfabética, siendo la clave la cadena de 27 letras del alfabeto. A primera vista, esto podría parecer un sistema seguro, porque aunque el criptoanalista conoce el sistema general (sustitución letra por letra), no sabe cuál de las 27! = 4x1027 claves posibles se está usando. Sin embargo, si se cuenta con una cantidad pequeña de texto cifrado, puede descifrarse fácilmente.

En este caso se aprovecha las propiedades estadísticas y de sintaxis de los lenguajes naturales.

Al leer algún libro de Edgar Allan Poe, se verificara, que por ejemplo en el lenguaje inglés, la letra e es la más común, seguida de t, o, a, n, i, etc. Las combinaciones de letras más comunes o digramas son th, in, er, re y an. Las combinaciones de tres letras más comunes o trigramas son the, ing, and e ion. Vale la pena detenerse un momento y leer algunos de los buenos libros de Edgar Allan Poe.

Un primer intento para descifrar una codificación monoalfabética comenzaría por contar la frecuencia relativa de todas las letras del texto cifrado. Entonces podría asignar tentativamente la más común a la letra e y la siguiente más común a la letra t. Luego vería los trigramas para encontrar uno común de la forma tXe, lo que sugerirá que X es h. De la misma manera si el patrón thYt ocurre con frecuencia, Y probablemente representa a la letra a. Con esta información puede buscar trigramas frecuentes de la forma aZW, que con probabilidad es and, y acabar de forma similar descifrando el texto cifrado.

Obviamente un intento similar se puede hacer con el idioma castellano, si bien es un poco más

difícil, no representa demasiadas complicaciones al analizar una página de texto de cualquier libro se podrá verificar cual es la regla correspondiente.

Cifrado de Polybius

Se introduce el alfabeto dentro de una tabla por filas, donde la tabla tiene un número de

columnas determinado, este número de columnas es la clave. El texto normal se codifica en base a las coordenadas de las letras del texto normal dentro de dicha tabla.

La clave está de acuerdo a la disposición del alfabeto en la tabla, es decir el número de

columnas.

1 2 3 4 5 6 7 1 A B C D E F g 2 H I J K L M N3 Ñ O P Q R S t 4 U V W X Y Z +

El texto HOLA, en forma cifrada será (codificando fila, columna) (2,1), (3,2), (2,5), (1,1)

Page 19: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

19

Cifrados Homofónicos Son cifrados por sustitución, de tal modo que a un símbolo en el alfabeto del mensaje en

claro, le corresponde uno de un conjunto de símbolos denominados homofónicos. Si se trata del alfabeto español, por ejemplo, se le asignan al azar varios números enteros de modo que el número de enteros en proporcional a la cantidad de ocurrencia relativa de cada letra, y ningún entero es asignado a más de una letra.

Ejemplo: asignamos número 00 a 99 en forma aleatoria

A: 18 25 36 54 65 68 71 82 99B: 03 12 69 35 C: 11 28 55 63 L: 05 13 24 87 98 M: 14 22 33 91 N: 07 15 35 P: 17 49 72 O: 19 44 59 65 70 81 U: 06 12 66

Mensaje en Claro: ALUMNO: Xriptograma: 25, 05, 12, 14, 07, 19

Cifrados Polialfabéticos

Los cifrados monoalfabeto son vulnerables, ya que el descifrado es relativamente simple. Una

solución a estos problemas es usar, varios alfabetos, conocidos como sustitución polialfabética, o sistema de Vigenere. Debe especificarse una clave que indique que sustitución debe realizarse en cada caso. En el sistema más simple (Vigenere), la clave es una palabra o frase que se repite las veces necesarias para cifrar el mensaje. Supongamos que esa palabra clave sea justamente “CLAVE”. Veamos un ejemplo.

Supongamos que el texto en claro es

ACA ME PONGO A CANTAR

A continuación indicamos los distintos alfabetos

A B C D E F G H I J K L M N O P Q R S T U V W X

C D E F G H I J K L M N O P Q R S T U V W X Y Z AL L M N O P Q R S T U V W X Y Z A B C D E F G H I A B C D E F G H I J K L M N O P Q R S T U V W X YV U V W X Y Z A B C D E F G H I J K L M N O P Q RE

1 2 3 4 5 6 G H I J K L M N O P Q R S T U V W X Y Z A B C D

7 A C A M E P O N G O A C A N T A R 8 V E C L A V E C L A V E C L A V E

9 U I L X F J U Q R P U I D Y U U X

Page 20: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

20

1: Alfabeto en claro 2: Primer alfabeto correspondiente a la letra 1 de la calve 3: Segundo alfabeto correspondiente a la letra 2 de la calve 4: Tercer alfabeto correspondiente a la letra 3 de la calve 5: Cuarto alfabeto correspondiente a la letra 4 de la calve 6: Quinto alfabeto correspondiente a la letra 5 de la calve 7: Mensaje original en claro 8: Clave repetida 9: Mensaje cifrado Como podemos apreciar el mensaje cifrado es:

UIL XF JUQRP U IDYUUX

El cual es muy fácil de verificar con el gráfico anterior. La vulnerabilidad de este mensaje es que existen parejas de mensaje-clave que se repiten a lo

largo del texto. Veamos las letras sombreadas del texto en claro y del cifrado, que se muestran a continuación.

A C A M E P O N G O A C A N T A R

U I L X F J U Q R P U I D Y U U X

Como vemos, la secuencia “AC”, se corresponde con la “UI” del texto cifrado. A un criptoanalista no le llevará mucho tiempo descifrarlo. Esto es como consecuencia de usar una clave relativamente corta.

Para evitar este problema, podría usarse una clave suficientemente larga como para que no se repita. Esta solución fue propuesta por Kasiski para evitar la periodicidad de la clave.

Sin embargo hay dos tipos de soluciones para el criptoanalista, aun cuando la clave no se

repita. La primera se basa en la suposición de que tanto la clave como el mensaje en claro tienen

idéntica distribución. De los símbolos, ya que son frases que corresponde a un lenguaje natural. El segundo se basa en un método denominado “palabra probable”, según el cual se sacan

palabras consideradas como “más probables”, hasta que vaya configurando la clave. Una cierta cantidad del mensaje proporciona información suficiente para lograr el éxito sin esfuerzo.

Una variante a este sistema lo propuso el ingeniero Vernan en 1918, en el cual empleaba una

palabra clave aleatoria de longitud infinita. De esta manera aleatorizar las características de frecuencia o probabilidad y dependencia entre símbolos y su periodicidad impedirían el uso de las herramientas indicadas anteriormente.

Esta variante fue probada por Shannon, mediante una cinta perforada que contenía la clave y

que lee símbolo a símbolo según eran ingresadas las letras del mensaje en claro. En el receptor se efectuaba una operación inversa, empleando una cinta idéntica.

Cifrado por transposición.

Los cifrados por sustitución conservan el orden de los símbolos de texto normal, pero los disfrazan. Los cifrados por transposición en contraste, reordenan las letras pero no las disfrazan.

Page 21: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

21

El cifrado por transposición se lleva a cabo mediante la operación con bloques de longitud

“n”, empleando como clave las “n!” permutaciones posibles transponiendo los símbolos del mensaje.

Para cifrar hay que seguir los siguientes pasos: 1. Se divide el mensaje en claro en bloques de longitud “n”, teniendo así un grupo de “n”

símbolos de longitud. 2. Se aplica a cada grupo la transposición determinada por la clave seleccionada Los espacios en blanco que separan las palabras no se incluyen de manera de no facilitar la

actividad del criptoanálisis. Veamos un ejemplo de cifrado por transposición, para ello tomemos una clave de una

longitud n = 8, siendo la clave seleccionada una de 6! Permutaciones posibles, concretamente la que resulta de transponer los símbolos según la clave a las posiciones 1, 2, 3, … n.

n = 8 Clave: 78241365

Mensaje en Claro: Tomemos este fragmento de una frase de James Joyce: Un hombre se ha desvanecido hasta ser impalpable, por muerte, por ausencia, por cambio

de costumbres.

En este ejemplo, la letra que ocupa la posición “7” deberá ser ubicada en la posición “1”, la que ocupa la posición “8” deberá ser ubicada en la posición “2”, la de posición “2” en la posición “3”, y así sucesivamente, siguiendo el orden de la clave.

1 U N H O M B R E S E H A D E S V A N E C I D O H A S T A S E R I 2 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 3 R E N O U H B M S V E A S H E D O H N C A E D I R I S A A T E S

1: Mensaje en claro 2: Posición original 3: Mensaje cifrado

Este sistema sigue manteniendo la frecuencia de las letras del lenguaje, permitiendo su

estudio por métodos estadísticos. Existen varias modalidades de uso de este método de cifrado, pero esencialmente son lo

mismo. Uno de ellos es el conocido como “rail fence” o posicionamiento en zig-zag, y seguimiento de camino escogido, como se muestra en los siguientes ejemplos (b) y (c).

Mensaje Original:

U N H O M B R ES E H A D E S VA N E C I D O HA S T A S E R I

Page 22: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

22

Mensaje Cifrado: USAANENSHHETOACAMDISBEDERSOREVHI (b) Mensaje Original:

U H M R S H D S A E I O A T S RN O B E E A E V N C D H S A E I

Mensaje Cifrado: UHMRSHDSAEIOATSRNOBEEAEVNCDHSAEI (c)

Transposición por columnas

Otro ejemplo de cifrado por transposición es la transposición por columnas. La clave del cifrado es una palabra o frase que no contiene letras repetidas. El propósito de la clave es numerar las columnas, estando la columna 1 bajo la letra clave más cercana al inicio del alfabeto, y así sucesivamente. El texto normal se escribe horizontalmente en filas, el texto cifrado se lee por columnas, comenzando por la columna cuya letra clave es la más baja.

Veamos como funcionan los cifrados por transposición, para ello supongamos que queremos

encriptar el siguiente mensaje:

“Bajemos, pues, y confundamos su lengua de modo que no se entiendan unos a otros”. Génesis, cap. 11, versículo 7

D E S C I F R A N CLAVE 3 4 9 2 6 5 8 1 7 b a j e m o s p u e s y c o n f u n d a m o s s u l e

Texto Normal bajemos, pues, y confundamos su lengua de modo que no se entiendan unos a otros.

n g u a d e m o d C q u e n o s e e N t i e n d a n u N o s a o t r o s

Texto cifrado puloeno ecoaeea bednonn asagqto onseodt mosdnno unedeus sfumsar jymuuis

Para descifrar un cifrado por transposición, primero debe ser consciente de que está tratando

con un cifrado por transposición. Observando la frecuencia, es fácil ver si se ajustan al patrón usual del texto normal. De ser así, es evidente que se trata de un cifrado por transposición, pues en tal cifrado cada letra se representa a sí misma.

El siguiente paso es adivinar la cantidad de columnas. En muchos casos, puede adivinarse una palabra o frase probable por el contexto del mensaje.

Si se sospecha que la frase de texto normal aparece en algún lugar del mensaje, se puede

observar que ciertas combinaciones de letras ocurren en el texto cifrado como resultado de que esta frase da la vuelta. Se comienza probando distintas longitudes de clave, hasta que se obtiene el patrón por ocurrencia de esos diagramas o conjuntos de letras. De hecho, para cada longitud de clave, se produce un grupo diferente de diagramas de texto cifrado. Buscando las diferentes posibilidades, con frecuencia puede determinarse fácilmente la longitud de la clave.

Page 23: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

23

El paso restante es ordenar las columnas. Cuando la cantidad de columnas, k, es pequeña, puede examinarse cada uno de los pares de columnas k(k-1) para ver si la frecuencia de sus diagramas es igual a la del texto normal. El par con mejor concordancia se supone correctamente ubicado. Ahora cada columna restante se prueba tentativamente como el sucesor de este par. La columna cuyas frecuencias produce la mejor concordancia se toma tentativamente como correcta. La columna antecesora se encuentra de la misma manera. El proceso completo se repite hasta encontrar un orden potencial. Es probable que el texto normal sea reconocible en algún punto.

Máquinas de cifrar

Estas máquinas fueron desarrolladas durante la Segunda Guerra Mundial. Utilizaban

dispositivos eléctricos y mecánicos para realizar las operaciones de cifrado de la información. Aun se usan este tipo de máquinas, aunque hayan quedado obsoletas por el uso de ordenadores.

Hagelin C-48

Esta máquina combina el texto original, símbolo a símbolo con la fuente clave, que es una

larga secuencia pseudoaleatoria derivada de la clave, en forma similar al método Vigenere ya explicado. Tanto el texto en claro, como la clave y el criptograma producido, se componen de letras de un alfabeto de 26 símbolos. En este caso el texto en claro se resta en lugar de sumar a la fuente de la clave.

La generación de la fuente clave se consigue mediante seis volantes de clave, que tienen

engranajes de 26, 25, 23, 21, 19 y 17 dientes respectivamente. Estos volantes generan una larga secuencia de grupos de 6 bit de tipo pseudoaleatorio. El otro elemento es la jaula cuya misión es la de convertir los grupos de 6 bits en caracteres. Mediante ajuste de los volantes y la jaula, se determina la clave a usar.

A continuación de cada diente de cada volante, hay un contacto que puede estar abierto o

cerrado, generando un bit de la clave. Cada volante tiene una ventana que permite ver la letra (el diente), que en ese momento está

activado. De esta manera, al principio del proceso de cifrado, las seis ventanas de los volantes muestras AAAAAA, correspondiente a la primera letra de la clave. Una vez que ha cifrado la primer letra del mensaje, cada volante gira una posición mostrando BBBBBB, apareciendo otros seis bit correspondientes a la nueva letra, independiente del anterior.

Luego de 17 caracteres la ventana mostrará RRRRRA dado que la última rueda habrá dado

una vuelta completa. Este decimoctavo carácter se relaciona con el primero de la clave, igual que el siguiente SSSSSB con el segundo.

Sin embargo, el 20 lo será con el primero y el tercero, ya que la ventana muestra TTTTAC.

De esta forma la clave no volverá a repetirse hasta que todas las ruedas vuelvan a la posición AAAAAA, lo que ocurrirá cuando se hayan generado exactamente 26 x 25 x 23 x 21 x 19 x17 caracteres de clave.

Esta máquina fue fabricada en 1940, y como ya vimos esta construida con elementos

mecánicos, puede ser considerada como una memoria PROM, capaz de trabajar con un alfabeto de 26 = 64 caracteres.

Page 24: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

24

Máquinas de rotor Estas máquinas fueron desarrolladas en la Segunda Guerra Mundial por los aliados. Su uso

fue intenso hasta la década del cincuenta y si bien permanecen en perfectas condiciones, fueron totalmente reemplazadas por computadoras.

Están constituidas por una serie de discos que giran sobre un mismo eje, de tal manera que un

mensaje que ingresa por la cara de un disco es permutada en el antes de salir, para entrar en otro donde se realiza nuevamente una permutación. El contacto entre ambos discos se produce mediante cables. Cada disco puede ser movido de su posición, por lo que la permutación cambia de un mensaje a otro. Una máquina de este tipo consiste en un conjunto de rotores con un mecanismo que permite cambiar su posición cada vez que se cifra un carácter.

Con un alfabeto de 26 caracteres, y un conjunto de 6 rotores, la clave se repite cada 237 1369= símbolos.

Figura 7

A

B

C

D

E

F

G

H . . . .

L

M

N

O

P

Q

R

S

T . . .

. .

R

S

T

U

V

W

X

Y

Z A

.

F

G

H I J

K

L

M

N . .

X

Y

V

W

X

Y

Z

A

B

C

E .

D

E

F

G

H I

J

K

L

M

N .

EJE DE GIRO

N G

Y E : N

N J : Y

S Y : N

E B : M M O : S

DISCO 5

DISCO 4

DISCO 3

DISCO 2 DISCO 1

DISCO 6

Page 25: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

25

Si los rotores se parasen sucesivamente en su posición 26 el primero, el la posición 25 el segundo, en 23, 21,19, 17, tendríamos un período similar al de la máquina de Hageline C-48 vista anteriormente, alrededor de estaríamos. Con la Hageline C-48 obteníamos 101 millones de combinaciones, mientras que con la máquina de rotor se obtiene alrededor de 309 millones de combinaciones. Exactamente 626 308.915.776= .

En la figura 7 se ha representado en forma esquemática un máquina de rotor con seis discos

en una posición determinada. Como puede verse, un carácter entrando por la izquierda, por ejemplo el “E”, es permutado dentro del mismo disco al “B”, produciendo un nuevo carácter que ingresa al segundo disco como “M” en nuestro ejemplo. Este, a su vez es permutado por el “O” que ingresa al tercer disco como “S” y así sucesivamente como puede apreciarse en la figura, hasta obtener el carácter “G” a la salida del sexto disco.

El resultado de esta máquina es una secuencia de permutaciones P1, P2, …. P6 producidas en

cada disco. El procedimiento de cifrado anterior y el descrito aquí han sido ampliamente estudiados para

averiguar su resistencia a ataques de criptoanálistas, obteniéndose una serie de conclusiones, como que el criptoanálista puede basarse en una serie de suposiciones, como por ejemplo suponer una estructura determinada. A partir de estas suposiciones podemos encontrar información válida o no.

Un punto débil de la máquina de rotor es que el cifrado depende únicamente de las

conexiones escogidas para que la señal circule a través de los discos. Si se intercambian dos cables que no intervienen en el camino de este mensaje, el símbolo del criptograma no varía. El texto cifrado debería depender de toda la clave y no solo de una porción.

Cifrado por sustitución poligráfica

En realidad se han diseñado una gran cantidad de sistemas y mecanismos para encriptar

mensajes. Por ejemplo, en el año 1929, Hill propuso que el cifrado se formulase como un modelo simple de transformaciones sobre un espacio de mensajes. Identificó un mensaje como un conjunto de enteros e igualó las operaciones de cifrado y descifrado a una pareja de transformaciones lineales inversas.

Suponiendo un alfabeto de 37 símbolos (las 26 letras del alfabeto inglés más los dígitos del 0

al 9 y el espacio), el cifrado y descifrado puede llevarse a cabo mediante la aplicación del módulo 37, asignando un número entero a cada símbolo. La clave completa está constituida por la correspondencia entre el texto y el criptograma.

De acuerdo a lo explicado, el método por sustitución de Hill se puede expresar de la siguiente

manera:

1 11 1 12 2C a m a m≡ +

2 21 1 22 2C a m a m≡ +

Donde 1C y 2C son los símbolos obtenidos al cifrar los 1m y 2m caracteres del mensaje

en claro. La matriz formada por las dos filas 11a , 12a y 21a , 22a , son los únicos datos necesarios para cifrar el mensaje, siendo requisito tener inversa para el descifrado.

Page 26: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

26

Los Algoritmos de Encriptación Actuales Los cambios fundamentales en las técnicas de encriptación aparecen en la década del 50. La

aparición de los primeros ordenadores comerciales aportó la potencia de cálculo necesaria para que aparecieran métodos basados en complejidad computacional.

La criptografía se ve complementada con la capacidad de almacenamiento y la velocidad de

calculo de los ordenadores, lo que proporciona soluciones rápidas y flexibles para el cifrado y descifrado. Obviamente también le aporta al criptoanalista de una poderosa herramienta para vulnerar el mensaje cifrado.

Los métodos clásicos vistos anteriormente, fueron adicionando distintos aportes que

incrementaban la seguridad, pasando de ser muy simples a verdaderos ingenios, como lo fueron las máquinas de rotor. Para aportar seguridad, las claves deben ser lo más aleatorias y de mayor longitud posibles, lo que torna a los sistemas cada vez más complejos y hasta muy difíciles de manejar por el encriptador.

Las computadoras proporcionan complejidad mediante las teorías computacionales, así como

posibilidad de variar las claves de cifrado tan rápidamente que no daría tiempo al descifrado de la clave antes de que esta cambie.

Si al criptoanalista se le presenta la información de modo tal que para vulnerarla necesite una

elevada cantidad de cálculo, o que bien que las variaciones de la clave sean más rápidas que el tiempo que necesita para descifrar, el sistema habrá ganado en seguridad.

Por otra parte, el uso de computadoras le provee al criptoanalista herramientas que le permiten

explorar sus hipótesis con mayor rapidez, haciendo posibles suficientes análisis estadísticos de manera de investigar todas las posibles combinaciones de la clave.

El uso de computadoras provee, pues, de herramientas para una manipulación más cómoda de

los datos de manera de aplicar métodos computacionales que hagan prácticamente imposible la vulneración de la información.

A continuación estudiaremos las características que debe cumplir un sistema criptográfico ,

desde el punto de vista de la Teoría de la Complejidad, de manera de hacerlo invulnerables.

Complejidad de los Algoritmos de Encriptación

La teoría de la complejidad da una base que permite al análisis de los recursos de cálculo, necesario en las técnicas criptográficas.

Como primera aproximación puede indicarse que un sistema criptográfico: "Será tanto más seguro, cuanto más complejos sean los algoritmos necesarios para

vulnerar un sistema". Existen dos medidas básicas en la complejidad de un algoritmo:

a. Complejidad tiempo (T) b. Complejidad espacio (E)

Page 27: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

27

O dicho de otra forma: "El tiempo necesario para que a partir de unos datos (entrada), el algoritmo produzca

los resultado deseados (salida)".

Las medidas T y E son expresadas en función de "l", siendo "l" la longitud de los datos de entrada al algoritmo.

Así una función "f(l)", que exprese la complejidad se suele representar, en términos de la

teoría de la complejidad como "O[g(l)]", en donde la letra O indica "del orden de". La medida de T y E de un algoritmo por el orden de su complejidad, tiene la ventaja de ser

independiente del ordenador en que se implante, dependiendo de "l" (longitud de entrada). Un algoritmo es de complejidad polinomial si el tiempo de funcionamiento, o sea el número

de operaciones que necesita efectuar es del tipo:

( )tT O l= t = constante = 0, 1, 2, 3, ...

Según el valor de "t" será: constante, lineal, cuadrático, cúbico, etc. Un algoritmo es de complejidad exponencial si el tiempo T tiene la siguiente expresión:

( )( )h lT O t= h(l) = función polinómica de "l" t = constante

A continuación se aprecia una tabla donde se puede distinguir el grado de complejidad de algunos algoritmos:

Tabla 1

Clase Complejidad Operacional (l=106)

Polinomial

o Constante o Lineal o Cuadrática o Cúbica

O (1) O (l ) O (l 2) O (l 3)

1

106 1012 1018

Exponencial O (2l ) 21.000.000 Se puede observar que el algoritmo de complejidad exponencial, necesita una elevada

cantidad de operaciones de tal manera, que si cada una se realizase en 10-6 segundos, se necesitarían en el orden de 10301016 años para su realización.

Page 28: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

28

El algoritmo DES, que veremos más adelante es un algoritmo de cifrado de complejidad exponencial.

Los problemas que pueden resolverse en un tiempo polinomial, son denominados tratables,

porque pueden ser utilizados con longitudes de entrada razonables. Los que no pueden resolverse en un tiempo polinomial son llamados intratables, ya que

según aumente la longitud de la entrada, la solución es imposible. La Teoría de la Complejidad computacional indujo al diseño de sistemas criptográficos que

no son posibles de resolverse en tiempo polinomial, se trata de los problemas “No Polinomiales”. Estos sistemas tienen una debilidad dado que permiten determinar si una solución es correcta, aunque no haya garantía de que la encuentre, lo que puede facilitar la labor de interceptación. Para evitar esta debilidad, se han sugerido la construcción de algoritmos de cifrado de “sentido único”, cuya característica es la facilidad de cómputo en un sentido y la imposibilidad de hacerlo en el otro.

Una función f, es de sentido único, si para todo x perteneciente a su dominio es fácil de

calcular ( )f x , y para todo y perteneciente al rango de f, no es factible calcular1( )f y , aunque

se conozca f. Sin embargo, dado que el sistema también necesita la función de descifrado, deberá ser fácil

calcular 1( )f y mediante el aporte de información secreta adicional que se denomina clave. En 1976, Diffie y Hellman propusieron la aplicación de complejidad computacional al diseño

de algoritmos de cifrado. La construcción de tales cifrados pueden realizarse mediante el uso de funciones de un solo sentido. Los sitsemas de clave pública que veremos más adelante, están basados en este principio.

Como conclusión, podemos indicar las tres características, que desde el punto de vista de la

complejidad computacional debe tener un sistema criptográfico:

1. Mientras la Teoría de la Complejidad estudia problemas aislados, el criptoanalista posee una colección de criptogramas para solucionarlos

2. Mientras la Teoría de la Complejidad mide los problemas dando una dimensión en

el pero de los casos, un sistema criptográfico debe ser “difícil” en todos los casos posibles.

3. Mientras la Teoría de la Complejidad califica como difíciles a determinados

problemas, esto no significa que todos pueden ser transformados en sistemas criptográficos. Además deben ser de fácil solución con el aporte de determinada información (clave) y solo con esa información. A esto se le llama “puerta de escape”.

Estas tres razones nos permiten considerar a la Teoría de Complejidad como una herramienta

muy valiosa, pero no definitiva.

Transformaciones por métodos computacionales aritméticos

Veremos algunos de los métodos aritméticos.

Page 29: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

29

Suma y resta Las operaciones de suma y resta tienen operaciones inversas bien definidas, pueden usarse

como técnicas de apoyo al diseño de sistemas criptográficos a usarse en un ordenador. En estos sistemas el mensaje en claro se considera como una serie de bloques de números de

un sistema de base “n”, mediante una correspondencia entre los símbolos del alfabeto del mensaje en claro, y un dígito del sistema de numeración de base “n”. El cifrado se realiza mediante la sustitución numérica a la que se le suma o resta una determinada cantidad denominada “clave”.

Este tipo de transformaciones responde al tipo:

M K C± = Siendo M el mensaje en claro, K la clave y C el criptograma. La función de descifrado será por consiguiente:

M C K= ± A continuación podemos ver un ejemplo de un cifrado y descifrado mediante transformación

por suma. Esto es muy fácil de realizar en un ordenador, ya que se trata de realizar simples sumas o

restas en un sistema de numeración determinado. En algunos casos, al sumar la clave al mensaje en claro, en el criptograma aparece un símbolo

más, como consecuencia del acarreo de la suma, pero este hecho no es algo que perjudique al sistema.

Símbolo alfabeto

en claro Valor decimal

equivalente Símbolo alfabeto

en claro Valor decimal

equivalente

Espacio 00 N 14 A 01 Ñ 15 B 02 O 16 C 03 P 17 D 04 Q 18 E 05 R 19 F 06 S 20 G 07 T 21 H 08 U 22 I 09 V 23 J 10 W 24 K 11 X 25 L 12 Y 26 M 13 Z 27

Veamos como se encripta un determinado mensaje:

Page 30: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

30

Texto en claro: El libro del fantasma Mensaje equivalente: 051200120902191600040512000601142101201301 Clave: sesenta Mensaje equivalente: 20052005142101 Cifrado: 051200120902191600040512000601142101201301 200520051421012005200514210120052005142101 Al sumarlos obtenemos:

0 5 1 2 0 0 1 2 0 9 0 2 1 9 1 6 0 0 0 4 0 5 1 2 0 0 0 6 0 1 1 4 2 1 0 1 2

2 0 0 5 2 0 0 5 1 4 2 1 0 1 2 0 0 5 2 0 0 5 1 4 2 1 0 1 2 0 0 5 2 0 0 5 1

2 5 1 7 2 0 1 7 2 3 2 3 2 1 0 8 0 5 2 4 1 0 1 6 2 1 0 7 2 1 2 1 1 3 0 6 1

X P S P V V T H E W J O T G T T M F O

Nota: Recordar que estamos trabajando con un sistema numérico de base 28, por eso para entender el resultado de la suma veamos la siguiente equivalencia

A 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53B 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 A: Sistema de Base 10 B: Sistema de Base 28

Por ello en los números sombreados dan como resultado: 16 + 20 = 36, pero este en la

numeración de base 28 da como resultado el carácter (18)28 por lo tanto colocamos el 08 y acarreamos un 1 hacia la izquierda, resultado el dígito siguiente de 9 + 1 + 1 = 11, o sea que colocamos el 1 y nos llevamos un acarreo hacia la izquierda de 1. De la misma manera en las otras posiciones sombreadas.

De esta manera el texto cifrado será: Texto cifrado: XPSPVVTHEWJOTGTTMFOOB El proceso de descifrado es exactamente la inversa del anterior: Si ahora restamos obtenemos:

2 5 1 7 2 0 1 7 2 3 2 3 2 1 0 8 0 5 2 4 1 0 1 6 2 1 0 7 2 1 2 1 1 3 0 6 1

2 0 0 5 2 0 0 5 1 4 2 1 0 1 2 0 0 5 2 0 0 5 1 4 2 1 0 1 2 0 0 5 2 0 0 5 1

0 5 1 2 0 0 1 2 0 9 0 2 1 9 1 6 0 0 0 4 0 5 1 2 0 0 0 6 0 1 1 4 2 1 0 1 2

E L L I B R O D E L F A N T A S

Nota: Recordar que en los casos de acarreo ahora son a la inversa que en la suma

Page 31: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

31

Multiplicación y división

Parecido al anterior, pero haciendo multiplicaciones o divisiones del mensaje en claro con la clave escogida. Al igual que el anterior se trata de representar tanto el mensaje en claro como la clave mediante un numero de base “n”, pero procediendo a multiplicarlos o dividirlos. Con la multiplicación el criptograma será más largo, ya que se expande el número de dígitos de base “n” obtenido de la multiplicación, mientras que con la división se reduce la longitud del mensaje, lo que puede producir importantes ahorros a la hora de la transmisión del mensaje.

En el caso de la división tenemos una complicación adicional, ya que deberá escogerse una

clave cuyo resto de cero para que no exista ambigüedad en el descifrado.

Criptografía Mediante Operaciones Lógicas

El empleo de operaciones binarias elementales hace de estas herramientas idóneas en cuanto a su facilidad de ejecución y manejo para el diseño e implantación de sistemas criptográficos.

Las operaciones son simples y generalmente se emplean varias, de tal modo que el cifrado resultante es uno de los denominados productos.

Los métodos empleados actualmente están basados generalmente en alguno de los

procedimientos simple:

• Operaciones lógicas. • Registros de desplazamiento. • Manipulación de bits: • Permutaciones. • Sustituciones.

De las operaciones lógicas booleanas, sólo pueden usarse aquellas que tengan inversa, ya que

de otra forma no podría realizarse la operación de obtención del mensaje en texto claro. Las únicas operaciones lógicas con inversa son:

• O-exclusiva • Negación • Equivalencia

La aplicación se efectúa considerando que la información en un ordenador es binaria, lo que

facilita las operaciones. Las tablas de verdad de esas operaciones lógicas son:

Tabla 2

O-exclusiva a b 0 0 0 0 1 1 1 0 1 1 1 0

Equivalencia a b ≡0 0 10 1 01 0 01 1 1

Negación a ā0 11 0

Page 32: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

32

La aplicación criptográfica se realiza aplicando la operación escogida directamente sobre la secuencia de bits del mensaje.

La operación da como resultado otra secuencia binaria que es fácilmente vulnerable, ya que

por sí sola no destruye los parámetros del lenguaje, por lo que se encadena con otras operaciones formando un cifrado producto.

Veamos unos ejemplos Ejemplo 1: Operación con operación lógica O-exclusiva ( )

CIFRADO M = 0100000101000010010000010 Mensaje en claro K = 0011011000011101010011001 Clave C = 0111011101011111000011011 C = M K

Nota: (El símbolo significa la operación O-exclusiva) DESCIFRADO C = 0111011101011111000011011 Mensaje Cifrado K = 0011011000011101010011001 Clave M = 0100000101000010010000010 M = C K

Ejemplo 2: Operación con operación lógica Equivalencia (≡)

CIFRADO M = 0100000101000010010000010 Mensaje en claro K = 0011011000011101010011001 Clave C = 1000100010100000111100100 C = M ≡ K

Nota: (El símbolo ≡ significa la operación Equivalencia

DESCIFRADO

C = 1000100010100000111100100 Mensaje Cifrado K = 0011011000011101010011001 Clave M = 0100000101000010010000010 M = C ≡ K

Existen técnicas criptográficas con funciones lógicas de más de dos variables, que proporcionan procedimientos más complejos, donde se utilizan más de una clave, haciendo más seguro el sistema.

Si al criptograma obtenido en el ejemplo 1 se le aplica una nueva función, con una clave

distinta, se obtendrá otro criptograma, en donde los parámetros del lenguaje han sido desfigurados, esto se conoce como cifrado producto.

Page 33: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

33

A continuación tomaremos el mismo ejemplo 1, pero aplicando dos veces la función O-exclusiva con distintas claves (K) y (K´).

Como la operación O-exclusiva goza de la propiedad asociativa, se concluye con las ecuaciones: CIFRADO 1: C = M K 2: C' = C K' DESCIFRADO 1: C = C' K 2: M = C K M = [C' K'] K = C' K' K

Queda como ejercicio para el lector la demostración mediante código binario

Si además de la operación O-exclusiva se utilizaran las funciones equivalencia y negación, los mensajes en claro pueden descomponerse en varios criptogramas, añadiendo de esta manera más seguridad al cifrado.

Así, pueden construirse funciones donde se dan dos expresiones para el cifrado y descifrado

usando las operaciones lógicas mencionadas. Como puede verse a continuación, se han empleado funciones O-exclusiva, sumas lógicas,

equivalencia y producto lógico que no tienen inversa.

USO DE LA NEGACION

M C= CIFRADO

M C= DESCIFRADO USO DE LA EQUIVALENCIA

(M K)=C≡ CIFRADO (C K)=M≡ DESCIFRADO

USO DE LAS FUNCIONES AND, OR, NEGACION Y EQUIVALENCIA

1M K=C∧ CIFRADO

2M K=C∧

1 2M=(C C ) K∨ ≡ DESCIFRADO Ejemplo práctico USO DE LAS FUNCIONES OR, AND, NEGACION Y O-EXCLUSIVA

Page 34: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

34

M =10100111010011 K =01001111010001

1M K=11101111010011=C∨

1 2C C 11101000000010∧ =

2M K 11111000101110 C∨ = =

1 2M =(C C ) K∧ ⊕

M=10100111010011 Estas funciones pueden usarse como operaciones auxiliares que dificultan la labor del

criptoanalista, ya que no tienen inversa, y por lo tanto los textos “C1” y “C2” no pueden descifrarse, a no ser que sean debidamente compuestos de acuerdo a la función empleada.

Así, pueden construirse funciones donde se dan dos expresiones para el cifrado y descifrado

usando las operaciones lógicas mencionadas. M solo puede hallarse si se combinan entre si usando las funciones y la clave adecuada.

Registros de Desplazamiento (Shift Registers)

Los métodos actualmente empleados, ya sea su versión de hardware mediante componentes electrónicos, o las versiones de software, mediante algoritmos de cifrado y descifrado, están basados en algunos de los siguientes procedimientos simples:

Operaciones lógicas Registros de desplazamiento Manipulación de bits. o Permutaciones o Sustituciones

La razón de estos operaciones simples está en la facilidad de manejo de secuencias de bits en

una computadora y en la facilidad de encadenamiento de operaciones simples que dan lugar a cifrados muy seguros.

Figura 8

b1 b3 = b4

b1 b2 b3

b4 b2 = b5

b4 b1 b2

b5 b1 = b6

b5 b4 b1

Page 35: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

35

Se ha puesto mucho énfasis en desarrollar productos que den métodos de generación de bits de naturaleza pseudoaleatoria, para producir secuencias binarias largas no remeditas y aleatorias, siempre partiendo de una clave dada. A continuación, mediante un ejemplo podemos ver el esquema de funcionamiento de un registro de desplazamiento.

El primer y tercer bit se suman (módulo 2) y dan como resultado la siguiente entrada al

registro, desplazando su contenido un bit a la derecha, para dar cabida al nuevo valor obtenido Si la clave inicial pseudoaleatoria fuese 001, la secuencia producida sería 1001110 antes de

que comience a repetirse cíclicamente, siendo entonces su longitud igual a 7 tal como se indica a continuación.

0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0

Registro de 3 bits Secuencia Producida 1001110

0 0 1 Se repite el ciclo

Figura 9 Cualquier otro estado inicial producirá la misma secuencia cíclicamente repetida, a excepción

del estado inicial “000”que únicamente produce ceros. Así, por ejemplo, al estado inicial “011” le sigue el estado “101”, y a este el estado “010”, etc., produciendo como salida la secuencia “110100111…”.

Si el registro fuese de cuatro bits, la secuencia producida antes de que comience a repetirse,

para un estado inicial “0100”, sería tal como se aprecia en la figura 10. Cualquier otro estado inicial que no fuese “0000”, producirá la misma secuencia cíclicamente

repetida de forma similar al caso de 3 bits anterior.. La longitud de la secuencia antes que se repita el ciclo está dada por la siguiente expresión:

2 1nl = − Siendo “l” la longitud en bits de la secuencia producida y “n” la longitud en bits del registro

de desplazamiento. La longitud de “n = 100” dará una secuencia de bits de:

1002 1l = −

Page 36: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

36

0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1

Registro de 4 bits Secuencia Producida 001000111101011

0 1 0 0 Se repite el ciclo

Figura 10 Muy superior a “1030” de los sistemas clásicos explicados anteriormente. Es de hacer notar

que un registro de 100 bit es muy fácil de lograr en hardware y si se tratara de un programa su construcción sería mucho más fácil aún.

El tamaño de esta secuencia nos dice que si tuviéramos que transmitirla a través de una línea

de 1 Mbps (106 b/seg), se tardarían aproximadamente “1016” años. A la longitud máxima de la secuencia producida se la conoce como “MLSRS” (Maximal

Length Shift Register Sequence). Respecto a la pseudoaleatoriedad de la secuencia, puede verse en el ejemplo para n = 3

(figura 9), tiene tres 0 y cuatro 1. Si los consideramos en grupos de 2 bits se encuentras dos grupos de 01, dos de 10, dos de 11 y uno de 00. En ambos casos puede considerarse como una distribución plana .

Si consideramos la secuencia de 15 bits que produce el registro de n = 4, (figura 10), se

puede observar que existen siete 0 y ocho 1, cuatro 11, cuatro 01, tres 00, tres 10, siendo también una distribución muy cercana a la plana.

Generalizando, con un registro de n bits, el MLSRS, se puede extender a longitud de bits de

3, 4, etc., considerándose como uniformemente distribuidos y usándose para producir secuencias pseudoaleatorias de gran utilización en los sistemas criptográficos.

Un ejemplo de su aplicación es el cifrado por el método de Vernam, en el que se necesita una

clave pseudoaleatoria de longitud “infinito”, para combinarla con O-exclusiva con el mensaje en claro.

Page 37: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

37

Desde el punto de vista del criptoanálisis, es relativamente fácil, con la ayuda de una pequeña computadora, obtener el contenido inicial del registro de desplazamiento. Si combinamos mediante la operación O-exclusiva el texto en claro con el texto cifrado, se obtiene los “m” bit de la clave. Estos “m” bits nos dan el estado del registro de desplazamiento en un momento dado, recorriendo hacia atrás y hacia delante, puede obtenerse toda la secuencia necesaria.

De nuevo necesitamos utilizar funciones más complejas para cifrar información, que

involucren más operaciones, de otro modo la seguridad puede ser relativamente fácil vulnerar. Existen otras formas de producir secuencias pseudoaleatorias de bits, como la propuesta por

Simmons, a la que asigna el nombre de LFSR (Linear Feedback Shift Registers). El generador de secuencias está regido por la siguiente ecuación:

2 k n< para i > 1 Siendo: tix : el estado (0 ó 1) del i-ésimo bit del registro, en el paso t-avo.

ic : es un coeficiente (1) del i-ésimo término de un polinomio

1 0( ) ...n n np x x x x−= + + + 1t

ix−

: es el estado (0 ó 1) del i-ésimo bit del registro en el paso t – 1-avo

Transformación mediante manipulación de bits En un ordenador, la representación de la información, como secuencia de dígitos binarios se

presenta como óptima para su manipulación criptográfica. Cualquier símbolo en su representación binaria (p.ej. ASCII) puede verse como una secuencia

de símbolos de un alfabeto de solo dos elementos (0 y 1) y por lo tanto se le puede aplicar métodos de cifrado.

No siempre es posible realizar instrucciones que manejen cualquier longitud de la secuencia

de bits, sobre todo en computadoras de propósito general, por ello es necesaria la construcción de dispositivos especiales que realicen las operaciones necesarias.

Entre las operaciones realizadas con los bits tenemos las siguientes: 1. Permutación (P) de bits, también conocido como transposición de bits dentro de la

secuencia binaria del mensaje. 2. Sustitución (S), está dividida en dos etapas:

a. Decodificación, en el que "n" bits son codificados. b. Permutación (P) de bits.

Page 38: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

38

Las operaciones simples que se realizan afectan al mensaje en claro, a una secuencia utilizada como clave o a ambos. Combinándolos con alguna operación lógica, forman un cifrado llamado “producto”, que veremos más adelante.

Permutación de bits

Se suelen llamar cajas “P”, dado que pueden ser construidas como una caja cableada en la que

entran “n” señales binarias y salen “n” señales también binarias, pero que han sufrido una permutación de los bits en su interior. El método es similar al ya estudiado anteriormente, pero aplicado a un alfabeto de dos símbolos.

Las cajas “P” suelen ser fijas y su única función es la crear difusión. El número de

permutaciones posibles es “n!” (n-factorial). La figura muestra un ejemplo de permutación de bits.

Figura 11

Sustitución de bits

Se conocen como caja “S” e internamente está dividida en tres etapas: 1. La primera etapa es un codificador, en la que “n” bits son codificados, generalmente de

binario a decimal, aunque podría usarse otro código, generando 2n bits.

2. La segunda etapa es una caja “P” donde los 2n bit son permutados antes de entrar en la tercera etapa.

3. En la tercera etapa, un codificador convierte los 2n bit resultantes de la permutación en otros “n” bit, realizando la codificación inversa de la inicial.

Estas transformaciones pueden ser singulares o no singulares, siendo reversibles solamente las

no singulares.

El número total de transformaciones posibles son 2(2 )n n

, mientras que el de

transformaciones no singulares diferentes es 2 !n .

0 1 2 3 4 5 6 7 8 9 10 11

74 5 0 9 8 3 11 10 1 6 2CAJA P

Page 39: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

39

Este tipo de transformaciones es muy difícil para valores grandes de “n” por la gran cantidad

de manipulaciones que encierran y las diferentes opciones que permiten, por lo que normalmente se realizan en paralelo utilizando cajas “S” trabajando con pequeños bloques de bit, generalmente 4 o 6.

A continuación se da un par de transformaciones:

0 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1

Bloque singular

Claro Cifrado Claro Cifrado Sustitución reversible Sustitución irreversible

Las cajas “S”, están planificadas para ejecutar sustituciones no lineales, creando confusión en

el sistema. Una acción conjunta de cajas P, cajas S, funciones lógicas reversibles, registros de

desplazamiento y otros, son usados en la actualidad en los sistemas de cifrado, con utilización normal de ordenadores. Cifrado con clave privada (simétrica)

Los métodos de cifrado de clave privada, también son conocidos como de clave simétrica, porque ambos extremos conocen la clave para poder descifrar. Cifrado DES (Data Encryption Standar).

El algoritmo DES es un algoritmo de cifrado de clave privada desarrollado por IBM a principios de la década de los 70 a partir de otro algoritmo conocido como Lucifer que utilizaba claves de 112 bits y que fueron reducidas a 56 bits en el algoritmo DES. La reducción del tamaño de las claves, propuesta por la NSA (Agencia Nacional de Seguridad) originó controversia debido a que sé pensó que la NSA había debilitado intencionadamente el algoritmo del DES para poder desencriptarlo.

IBM publicó en 1994 un artículo describiendo los criterios de desarrollo del algoritmo DES. El artículo indica que el diseño se realizó de forma que el algoritmo fuera resistente a criptoanálisis, pero lo suficientemente sencillo para ser implementado con la tecnología de principios de los 70. Por tanto, el algoritmo DES se diseño de forma que no pudiera ser descifrado por criptoanálisis, pero si que puede ser descifrado probando todas las claves posibles, asumiendo que se cuenta con el hardware adecuado.

En la figura 12 se muestra el algoritmo DES. El texto normal se cifra en bloques de 64 bits, produciendo 64 bits de texto cifrado. El algoritmo, que se parametriza con la clave de 56 bits, tiene 19 etapas diferentes.

Page 40: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

40

Transposición inicial

Iteración 1

Iteración 2

Iteración 16

Intercambio de 32 bits

Transposición inversa

64 bits de texto normal

64 bits de texto cifrado

Clave de 56 bits.

32 bits Li 32 bits Ri

Li-1 Ri-1

Li-1 op f(Ri-1,Ki)

Figura 12

La primera etapa es una transposición, independiente de la clave, del texto normal de 64 bits. La última etapa es el inverso exacto de esta transposición. La etapa previa a la última intercambia los 32 bits de la izquierda y los 32 bits de la derecha. Las 16 etapas restantes son funcionalmente idénticas, pero se parametrizan mediante diferentes funciones de la clave. El algoritmo se ha diseñado para permitir que el descifrado se haga con la misma clave que el cifrado, simplemente ejecutando los pasos en orden inverso. Cada una de las 16 etapas intermedias toma dos entradas de 32 bits y produce dos salidas de 32 bits. La salida de la izquierda es simplemente una copia de la entrada de la derecha.

La salida de la derecha es el or-exclusivo a nivel de bit de la entrada izquierda y una función

de la entrada derecha y la clave de esta etapa Ki. Toda la complejidad reside en esta función.

La función consiste en cuatro pasos, ejecutados en secuencia. Primero se construye un número de 48 bits, E, expandiendo el Ri-1 de 32 bits según una regla fija de transposición y duplicación. Después, se aplica un or-exclusivo a E y Ki. Esta salida entonces se divide en ocho grupos de 6 bits, cada uno de los cuales se alimenta a una caja S distinta. Cada una de las 64 entradas posibles a la caja S se transforma en una salida de 4 bits. Por último estos 8x4 bits se pasan a través de una caja P.

En cada una de las 16 iteraciones, se usa una clave diferente. Antes de iniciarse el algoritmo, se aplica una transposición de 56 bits a la clave. Justo antes de cada iteración, la clave se divide en dos unidades de 28 bits, cada una de las cuales se gira hacia la izquierda una cantidad de bits dependiente del número de iteración. Ki se deriva de esta clave girada aplicándole otra transposición de 56 bits. En cada vuelta (o iteración) se extrae y permuta de los 56 bits un subgrupo de 48 bits diferente. Descifrado DES.

Aunque en un principio el DES parecía inviolable, dos investigadores de criptografía de Standford diseñaron en 1977 una máquina para violar el DES y estimaron que podría construirse

Page 41: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

41

por unos 20 millones de dólares. Dado un trozo pequeño de texto normal y el texto cifrado correspondiente, esta máquina podría encontrar la clave mediante una búsqueda exhaustiva del espacio de claves de 256 en menos de un día. Otros autores han diseñado máquinas capaces de descifrar el DES mediante búsqueda exhaustiva en unas cuatro horas.

Otra estrategia similar es descifrar el DES por software. Aunque el cifrado es 1.000 veces más lento por software que por hardware, una computadora casera de alto nivel aún puede efectuar unos 250.000 cifrados/segundo en software, y es probable que este ociosa unos 2 millones de segundos al mes. Este tiempo de inactividad podría usarse para descifrar el DES. Si alguien pusiera un mensaje en uno de los grupos de noticias de Internet, no debería ser difícil conseguir las 140.000 personas necesarias para revisar las 167 10x claves en un mes.

En conclusión, el DES no es seguro. Sin embargo, surge la idea de ejecutar el DES dos veces,

con dos claves de 56 bits distintas. Esto proporciona un espacio de 2112, esto es, 335 10x , lo cual provocaría que el ataque requiriese muchísimos más cálculos, que podrían llevar años de descifrar. Sin embargo dos investigadores han desarrollado un método que hace sospechoso al doble cifrado. El método de ataque se llama encuentro a la mitad. Cifrado DES triple (3DES)

Como hemos visto, el cifrado realizado con el algoritmo DES es descifrable mediante diversos tipo de ataques de fuerza bruta, hecho que corroboro IBM en su artículo de 1994.

Por lo tanto, el cifrado con el algoritmo DES no es seguro, sin embargo, el cifrado triple con

el algoritmo DES es otro asunto. El método seleccionado, que se ha incorporado al estándar internacional 8732, se ilustra en la siguiente figura.

E D E

K1 K2 K1

P C D E D

K1 K2 K1

C P

Figura 13

Aquí se usan dos claves y tres etapas. En la primera etapa el texto normal se cifra con K1. En la segunda etapa el algoritmo DES se ejecuta en modo de descifrado, usando K2 como clave. Por último, se hace otro cifrado usando K1. El hecho de que se usen dos claves y en modo EDE (cifrado-descifrado-cifrado) en lugar de EEE (cifrado-cifrado-cifrado) es debido a dos motivos:

1. Se admite que 112 bits son suficientes para las aplicaciones comerciales actuales. Subir a 168 bits (3 claves) simplemente agregaría carga extra innecesaria de administración y transporte.

2. En segundo lugar, la razón de cifrar, descifrar y luego cifrar de nuevo es la

compatibilidad con los sistemas DES de una sola clave. Tanto las funciones de cifrado como de descifrado son correspondencias entre números de 64 bits. Desde el punto de vista criptográfico, las dos correspondencias son igualmente robustas. Sin embargo, usando EDE en lugar de EEE, una computadora que usa cifrado triple puede hablar con otra que usa cifrado sencillo simplemente estableciendo K1=K2. Esta propiedad permite la introducción gradual del cifrado triple.

Page 42: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

42

Cifrado IDEA (International Data Encryption Algorithm).

Después de comprobar la debilidad del algoritmo DES en su forma simple, diversos trabajos propusieron nuevos métodos de cifrados de bloques (BLOWFISH, Crab, FEAL, KHAFRE, LOKI91, NEWDES, REDOCII, SAFER K64). Sin embargo el más interesante e importante de los cifrados posteriores al algoritmo DES es el algoritmo IDEA, algoritmo internacional de cifrado de datos.

El algoritmo IDEA es un algoritmo de clave privada que fue diseñado por dos investigadores

en Suiza, usa una clave de 128 bits, lo que lo hará inmune durante décadas a los ataques de la fuerza bruta, la lotería china y a los ataques de encuentro a la mitad. No hay ninguna técnica o máquina conocida actualmente que se crea que puede descifrar el algoritmo IDEA.

La estructura básica del algoritmo se asemeja al algoritmo DES en cuanto a que se alteran

bloques de entrada de texto normal de 64 bits en una secuencia de iteraciones parametrizadas para producir bloques de salida de texto cifrado de 64 bits, como se puede ver en la figura 14.

Iteración 1

Iteración 2

Iteración 7

Iteración 8

Transformación

64 bits de texto normal

64 bits de texto cifrado

X

# # # #

X+ +

# #

X

+

+

X

K1 K2 K3 K4

K5

K6

Cuatro bloques de entrada de 16 bits

Cuatro bloques de salida de 16 bits

Suma módulo 216 de 16 bits

Multiplicación módulo 216+1 de 16 bits

OR EXCLUSIVO de 16 bits

+

X

#

Figura 14 Dada la extensa alteración de bits (por cada iteración, cada uno de los bits de salida depende

de cada uno de los bits de entrada), basta con ocho iteraciones. Como con todos los cifrados de bloque, el algoritmo IDEA también puede usarse en el modo de realimentación de cifrado y en los demás modos del algoritmo DES. El algoritmo IDEA usa tres operaciones, todas sobre

números sin signo de 16 bits. Estas operaciones son un or-exclusivo, suma módulo 162 y multiplicación módulo 162 1+ . Las tres operaciones se pueden efectuar fácilmente en una computadora de 16 bits ignorando las partes de orden mayor de los resultados. Las operaciones

Page 43: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

43

tienen la propiedad de que ningunos dos pares obedecen la ley asociativa ni la ley distributiva, dificultando el criptoanálisis. La clave de 128 bits se usa para generar 52 subclaves de 16 bits cada una, 6 por cada una de las ocho iteraciones y 4 para la transformación final. El descifrado usa el mismo algoritmo que el cifrado, sólo que con subclaves diferentes.

Cifrado AES (Advanced Encryption Estándar) o Rijndael.

Es considerado el sucesor de DES. Este algoritmo se adoptó oficialmente en octubre del 2000 como nuevo Estándar Avanzado de Cifrado (AES) por el NIST (National Institute for Standards and Technology) para su empleo en aplicaciones criptográficas.

Sus autores son dos, los belgas Joan Daemen y Vincent Rijmen, de ahí su nombre Rijndael.

Tiene como peculiaridad que todo el proceso de selección, revisión y estudio tanto de este algoritmo como de los restantes candidatos, se efectuó de forma pública y abierta, por lo que, toda la comunidad criptográfica mundial ha participado en su análisis, lo cual convierte a Rijndael en un algoritmo perfectamente digno de la confianza de todos.

AES es un sistema de cifrado por bloques, diseñado para manejar longitudes de clave y de

bloque variables, ambas comprendidas entre los 128 y los 256 bits.

AES es un algoritmo que se basa en aplicar un número determinado de rondas a un valor intermedio que se denomina estado. Dicho estado puede representarse mediante una matriz rectangular de bytes, que posee cuatro filas, y Nb columnas. Así, por ejemplo, si nuestro bloque tiene 160 bits (tabla 3), Nb será igual a 5.

a0,0 a0,1 a0,2 a0,3 a0,4a1,0 a1,1 a1,2 a1,3 a1,4a2,0 a2,1 a2,2 a2,3 a2,4a3,0 a3,1 a3,2 a3,3 a3,4

Tabla 3: Ejemplo de matriz de estado con Nb=5 (160 bits).

La clave tiene una estructura análoga a la del estado, y se representa mediante una tabla con

cuatro filas y Nk columnas. Si nuestra clave tiene, por ejemplo, 128 bits, Nk será igual a 4 (tabla 6).

k0,0 k0,1 k0,2 k0,3k1,0 k1,1 k1,2 k1,3k2,0 k2,1 k2,2 k2,3k3,0 k3,1 k3,2 k3,3

Tabla 4: Ejemplo de clave con Nk=4 (128 bits).

El bloque que se pretende cifrar o descifrar se traslada directamente byte a byte sobre la

matriz de estado, siguiendo la secuencia a0,0, a1,0, a2,0, a3,0, a0,1…, y análogamente, los bytes de la clave se copian sobre la matriz de clave en el mismo orden, a saber, k0,0, k1,0, k2,0, k3,0, k0,1….

Siendo B el bloque que queremos cifrar, y S la matriz de estado, el algoritmo AES con n

rondas queda como sigue:

1. Calcular K0,K1, …Kn subclaves a partir de la clave K.

Page 44: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

44

2. S ← B ⊕ K0

3. Para i = 1 hasta n hacer

4. Aplicar ronda i-ésima del algoritmo con la subclave Ki.

El algoritmo de descifrado consistirá en aplicar las inversas de cada una de las funciones en el orden contrario, y utilizar los mismos Ki que en el cifrado, sólo que comenzando por el último.

Es un algoritmo resistente al criptoanálisis tanto lineal como diferencial y uno de los más

seguros en la actualidad ya que para recuperar la clave a partir de un par texto cifrado-texto claro hay que realizar una búsqueda exhaustiva.

Cifrado con clave pública RSA (Rivest, Shamir, Adleman)

Históricamente, el problema de distribución de claves siempre ha sido la parte débil de la mayoría de criptosistemas. Sin importar lo robusto que sea el criptosistema, si un intruso puede robar la clave, el sistema no vale nada.

En 1976, dos investigadores de la Universidad de Stanford propusieron una clase nueva de criptosistema, en el que las claves de cifrado y descrifrado eran diferentes y la clave de descifrado no podía derivarse de la clave de cifrado. En su propuesta, el algoritmo de cifrado (con clave), E, y el algoritmo de descifrado (con clave), D, tenían que cumplir los tres requisitos siguientes:

1. D(E(P))=P. 2. Es excesivamente difícil deducir D de E. 3. E no puede descifrarse mediante un ataque de texto normal seleccionado.

El método funciona como sigue. Una persona A que quiera recibir mensajes secretos, primero

diseña dos algoritmos E y D, que cumplan los requisitos anteriores. El algoritmo de cifrado y la clave, EA de cifrado, se hacen públicos, de ahí el nombre de criptografía de clave pública. Esto podría hacerse poniéndolos en un archivo accesible a cualquiera que quiera leerlo. A publica también el algoritmo de descifrado, pero mantiene secreta la clave de descifrado DA. Por tanto EA es pública, pero DA es secreta.

Ahora veamos si podemos resolver el problema de establecer un canal seguro entre A y B, que nunca han tenido contacto previo. Se supone que tanto la clave de cifrado de A, EA, como la clave de cifrado de B, EB, están en un archivo de lectura pública. Ahora, A toma su primer mensaje P, calcula EB(P) y lo envía a B. B entonces lo descifra aplicando su clave secreta DB (es decir, calcula DB(EB(P))=P). Nadie más puede leer el mensaje cifrado, EB(P), porque se supone que el sistema de cifrado es robusto y porque es demasiado difícil derivar DB de la EB públicamente conocida. A y B ahora pueden comunicarse con seguridad.

Page 45: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

45

Figura 15: Escenario de establecimiento de sesión con clave asimétrica o pública

La única dificultad del método anterior estriba en que necesitamos encontrar algoritmos que

realmente satisfagan los tres requisitos. Debido a las ventajas potenciales de la criptografía de clave pública, muchos investigadores están trabajando en este tema, y ya se han publicado algunos algoritmos. Un buen método fue descubierto por un grupo del M.I.T y es conocido como RSA por las iniciales de sus descubridores (Rivest, Shamir, Adleman). Su método se basa en:

1. Seleccionar dos números primos grandes, p y q (generalmente mayores que 10100).

2. Calcular n=pxq y z=(p-1)x(q-1).

3. Seleccionar un número primo con respecto a z (es decir, un número sin ningún

factor común con z), llamándolo d.

4. Encontrar e tal que exd=1 mod z

Con estos parámetros calculados por adelantado, estamos listos para comenzar el cifrado. Dividimos el texto normal (considerado como una cadena de bits) en bloques, para que cada mensaje de texto normal, P, caiga en el intervalo 0<P<n, Esto puede hacerse agrupando el texto

normal en bloques de k bits, donde k es el entero más grande para el que 2k n< es verdad.

Para cifrar un mensaje, P, calculamos C=Pe(mod n). Para descifrar C, calculamos P=Cd(mod n). Puede demostrarse que, para todos los P del intervalo especificado, las funciones de cifrado y descifrado son inversas. Para ejecutar el cifrado, se necesitan e y n. Para llevar a cabo el descifrado se requieren d y n. Por tanto, la clave pública consiste en el par (e,n) y la clave privada consiste en (d,n).

Page 46: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

46

La seguridad del método se basa en la dificultad de factorizar números grandes. Si el criptoanalista pudiera factorizar n (conocido públicamente), podría encontrar p y q, y a partir de éstos, z. Equipado con el conocimiento de z y de e, puede encontrar d usando el algoritmo de Euclides. Afortunadamente, los matemáticos han estado tratando de factorizar números grandes durante los últimos 300 años y las pruebas acumuladas sugieren que se trata de un problema excesivamente difícil. De acuerdo con los descubridores del RSA, la factorización de un número de 200 dígitos requiere 4 mil millones de años de tiempo de cómputo; la factorización de un número de 500 dígitos requiere 1025 años. En ambos casos se supone el mejor algoritmo conocido y una computadora con un tiempo de instrucción de 1 microsegundo. Aun si las computadoras continúan aumentando su velocidad, pasarán siglos antes de que sea factible la factorización de un número de 500 dígitos, y entonces simplemente se puede escoger un p y un q todavía más grandes.

Sin embargo, el algoritmo RSA es demasiado lento para poder cifrar grandes volúmenes de

datos, por lo cual suele usarse para distribuir claves de sesión de una sola vez para su uso con los algoritmos DES, IDEA u otros semejantes. Otros algoritmos de cifrado con clave pública

Cabe comentar finalmente que existen otros algoritmos de clave pública (asimétrica), basados siempre en resolución de problemas matemáticos de cálculo costoso, que tienen un procedimiento directo fácil, pero difícil en inverso. Estos métodos son de resolución computacional imposible, para poder resolver la función matemática inversa.

Algoritmo de ElGamal

Fue diseñado en un principio para producir firmas digitales, pero posteriormente se extendió también para codificar mensajes. Se basa en el problema de los logaritmos discretos, que está íntimamente relacionado con el de la factorización, y en el de Diffie-Hellman.

Para generar un par de claves, se escoge un número primo n y dos números aleatorios p y x

menores que n. Se calcula entonces

y = px (mod n)

La clave pública es (p, y, n), mientras que la clave privada es x. Escogiendo n primo, garantizamos que sea cual sea el valor de p, el conjunto {p, p2, p3 …} es

una permutación del conjunto {1, 2,… n-1} lo suficientemente grande. Firmas Digitales de ElGamal

Para firmar un mensaje m basta con escoger un número k aleatorio, tal que mcd(k, n-1) =1, y calcular:

a = pk (mod n) b = (m - xa)k-1 (mod (n - 1))

La firma la constituye el par (a, b). En cuanto al valor k, debe mantenerse en secreto y ser

diferente cada vez. La firma se verifica comprobando que

Page 47: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

47

yaab = pm (mod n)

Codificación de ElGamal

Para codificar el mensaje m se escoge primero un número aleatorio k primo relativo con (n-1), que también será mantenido en secreto. Calculamos entonces las siguientes expresiones

a = pk (mod n) b = ykm (mod n)

El par (a, b) es el texto cifrado, de doble longitud que el texto original. Para decodificar se

calcula

m = b * a-x (mod n) Algoritmo de Rabin

El sistema de clave asimétrica de Rabin se basa en el problema de calcular raíces cuadradas modulo un número compuesto. Este problema se ha demostrado que es equivalente al de la factorización de dicho número.

En primer lugar escogemos dos números primos, p y q, ambos congruentes con 3 módulo 4

(los dos últimos bits a 1). Estos primos son la clave privada. La clave pública es su producto, n = pq. Para codificar un mensaje m, simplemente se calcula

c = m2 (mod n)

La decodificación del mensaje se hace calculando lo siguiente:

m1 = c(p+1) / 4 (mod p) m2 = (p - c(p+1) / 4) (mod p) m3 = c(q+1) / 4 (mod q) m4 = (q - c(q+1) / 4) (mod q)

Luego se escogen a y b tales que a = q(q-1 (mod p)) y b = p(p-1 (mod q)). Los cuatro posibles

mensajes originales son

ma = (am1 + bm3) (mod n) mb = (am1 + bm4) (mod n) mc = (am2 + bm3) (mod n) md = (am2 + bm4) (mod n)

Desgraciadamente, no existe ningún mecanismo para decidir cuál de los cuatro es el auténtico,

por lo que el mensaje deberá incluir algún tipo de información para que el receptor pueda distinguirlo de los otros.

Page 48: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

48

Algoritmo DSA

El algoritmo DSA (Digital Signature Algorithm) es una parte el estándar de firma digital DSS (Digital Signature Standard). Este algoritmo, propuesto por el NIST, data de 1991, es una variante del método asimétrico de ElGamal. Creación del par clave pública-clave privada

El algoritmo de generación de claves es el siguiente:

1. Seleccionar un número primo q tal que 2159 < q < 2160. 2. Escoger t tal que 0 ≤ t ≤ 8, y seleccionar un número primo p tal que 2511+64t < p <

2512+64t, y que además q sea divisor de (p - 1). 3. Seleccionar un elemento g ∈ Z*

p y calcular α = g(p-1)/q mod p. 4. Si α = 1 volver al paso 3. 5. Seleccionar un número entero aleatorio a, tal que 1 ≤ a ≤ q - 1 6. Calcular y = αa mod p. 7. La clave pública es (p, q, α, y). La clave privada es a.

Generación y verificación de la firma

Siendo h la salida de una función resumen sobre el mensaje m, la generación de una firma se hace mediante el siguiente algoritmo:

1. Seleccionar un número aleatorio k tal que 0 < k < q. 2. Calcular r = (αk mod p) mod q. 3. Calcular k-1 mod q. 4. Calcular s = k-1(h + ar) mod q. 5. La firma del mensaje m es el par (r, s).

El destinatario efectuará las siguientes operaciones, suponiendo que conoce la clave pública (p, q, α , y), para verificar la autenticidad de la firma:

1. Verificar que 0 < r < q y 0 < s < q. En caso contrario, rechazar la firma. 2. Calcular el valor de h a partir de m. 3. Calcular qs mod1−=ω . 4. Calcular u1 = ϖ * h mod q y u2 = ϖ * r mod q. 5. Calcular v = (αu1yu2 mod p) mod q. 6. 6. Aceptar la firma si y sólo si v = rLocalización de los dispositivos de cifrado

Existen dos alternativas para la ubicación del cifrado, y vamos a analizarla desde el punto de

vista de una sesión TCP/IP:

• Cifrado de enlace a enlace, donde cada nodo intermedio (router) debe descifrar los paquetes

• Cifrado extremo a extremo, donde sólo los extremos pueden descifrar la información, pero las cabeceras de los paquetes han de viajar descifradas para que los routers puedan encaminar

y una combinación de los anteriores, cifrado mixto enlace-enlace, extremo-extremo, donde

las cabeceras van cifradas enlace a enlace y los datos extremo a extremo

Con esta estrategia de localización de los cifradores, podemos ocultar la información, pero realmente a un intruso sólo se le oculta las direcciones y los contenidos, pero no el volumen de

Page 49: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

49

información intercambiado. Para ocultar dicha información, se integra tráfico de relleno, para ocultar el volumen de información real. Por ejemplo, si un usuario trata de acceder a un servidor de banca electrónica y la información intercambiada es mínima, frente a otro usuario que el volumen de información intercambiado es grande, da a entender que el segundo tiene más trato con el banco y el volumen de dinero debería ser mayor. Comentario clave pública vs clave privada

Los métodos de claves asimétricas tienen un costo computacional bastante más caro (unas 1000 veces más), aunque son muchísimos más seguros.

En la práctica, toda conexión consta de dos partes.

1. La de establecimiento para validar y autentificar, además de negociar una clave secreta para la sesión, utilizando para ello la clave pública

2. Una segunda parte, que consiste en el cifrado de forma simétrica (DES, 3DES,

IDEA, ...) con la clave llave secreta negociado. PGP (Pretty Good Privacy)

Cuando un mensaje de correo electrónico se envía entre dos sitios distantes, generalmente transitará por docenas de máquinas en el camino. Cualquiera de éstas puede leer y registrar el mensaje para su uso posterior, por lo que la confidencialidad es inexistente. No obstante, mucha gente quiere poder enviar correo electrónico que el destinatario pueda leer, pero nadie más. Este deseo ha estimulado a varias personas y grupos a aplicar principios criptográficos al correo electrónico para producir correo seguro. Veremos a continuación dos de sistemas de correo electrónico seguro de amplio uso en Internet: PGP y SSL.

PGP (Pretty Good Privacy) desarrollado por Phil Zimmermann, es un paquete completo de seguridad que proporciona confidencialidad, validación de identificación, firmas digitales y compresión basado en el envoltorio digital, es decir un procesamiento completo que se le realiza para cumplir los requisitos fijados por PGP. El paquete completo, incluido código fuente, se distribuye por Internet de forma gratuita, por lo que es el de más amplio uso hoy en día.

PGP usa algoritmos criptográficos existentes en lugar de inventar nuevos; se basa en los algoritmos de encriptación RSA e IDEA y el compendio de mensaje MD5, algoritmos que han resistido análisis extensos y no fueron diseñados ni influidos por ninguna agencia gubernamental que hubiera tratado de debilitarlos. Para ver como funciona PGP, consideremos la figura 16:

Base64

Texto ASCIIa la redP1 P1.Z

P

RSA

MD5 RSA Zip IDEA

KM

Mensaje entexto normaloriginal de A

Concatenación deP y la dispersiónfirmada de P

Concatenación deP1.Z cifrado conIDEA y KMcifrado con EB

P1 comprimido

Clave RSA privadade A, DA

Clave RSA públicade B, EB

Figura 16: diagrama de bloques de cifrado en PGP

Page 50: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

50

Aquí, A quiere enviar un mensaje de texto P, normal firmado, a B de una manera segura. Tanto A como B tienen claves RSA privadas (DX) y públicas (EX). Supongamos que cada uno conoce la clave pública del otro.

A comienza por invocar el programa PGP en su computadora. El PGP primero difunde su mensaje, P, usando MD5, y luego cifra la dispersión resultante con su clave RSA privada, DA. Cuando B recibe el mensaje, puede descifrarlo con la clave pública de A y comprobar que es correcta.

La difusión cifrada y el mensaje original ahora están concatenados en un solo mensaje P1, y

comprimidos mediante el programa ZIP. Llamemos a la salida de este paso P1.Z.

A continuación, PGP solicita a A una entrada al azar. Tanto el contenido como la velocidad de tecleo se usan para generar una clave de mensaje IDEA de 128 bits, KM (llamada clave de sesión). KM se usa ahora para cifrar P1.Z con IDEA en modo de realimentación de cifrado. Además, KM se cifra con la clave pública de B, EB. Estos dos componentes se concatenan y convierten a base64. El mensaje resultante contiene entonces sólo letras, dígitos y los símbolos +, / e =, lo que significa que puede ponerse en un cuerpo RFC 822 y esperar que llegue sin modificación.

Llamaremos todo este proceso realizado con el correo como paquete digital.

Cuando B recibe el mensaje deshace el paquete y para ello, invierte la codificación base64 y descifra la clave IDEA usando su clave RSA privada. Con la clave así obtenida, B descifra el mensaje para obtener P1.Z. Tras descomprimir esto, B separa el texto normal de la dispersión cifrada y descifra la dispersión usando la clave pública de A. Si la dispersión del texto normal concuerda con su propio cálculo MD5, sabe que P es el mensaje correcto y que vino de A.

La administración de claves ha recibido mucha atención en el PGP, puesto que es el punto débil de todos los sistemas de seguridad. Cada usuario mantiene localmente dos estructuras de datos: un anillo con claves privadas y un anillo de claves públicas. Estos anillos se llaman repositorios de llaves o llaveros. El anillo de claves privadas contiene uno o más pares de “clave privada-clave pública” personales. La razón para reconocer varios pares por usuario es permitir a los usuarios cambiar sus claves públicas periódicamente o cuando se piensa que una está comprometida, sin invalidar los mensajes que actualmente están en preparación o en tránsito. Cada par asociado tiene un identificador, para que el remitente de un mensaje pueda indicar al destinatario de la clave pública usada para cifrarlo.

SSL (Secure Socket Layer)

Secure Socket Layer (SSL) es una pila de protocolos diseñada por Netscape y permite configurar al navegador en conexión segura. En el caso de una conexión web, aparece el protocolo https. La pila de protocolos SSL está localizada sobre el nivel de transporte y es independiente del protocolo superior (interfaz similar a BSD Sockets). SSL protege del ataque de alguien al medio a través de certificados digitales X.509v3.

Obviamente el establecer sesiones seguras con SSL en la práctica reduce las prestaciones de un sistema normal, debido al cifrado en el establecimiento de la conexión

SSL es un conjunto de protocolos que se establecen entre la capa de transporte y aplicación en el modelo TCP/IP. Estos protocolos son Alert Protocol (AP), Handshake Protocol (HP), Change Cipher Spec (CCSP) y Application Data Protocol (ADP), que son protocolos que se ubican al

Page 51: INTRODUCCION A LOS SISTEMAS DE SEGURIDAD · Deber detectar los eventos que producen mayor impacto e influencia sobre el sistema y actuar ... destrucción y exposición de información

51

mismo nivel, por debajo de la aplicación en sí. Por debajo de todos ellos, encargado de cifrar y fragmentar los paquetes se encuentra el Record Protocol (RP). Con esta pila de protocolos, cada sesión tiene sus parámetros criptográficos y no varían durante la sesión, salvo mensajes Change Cipher Spec (CCSP).

Figura 17. Pila de protocolos en SSL

Cuando el navegador ha negociado una conexión segura por SSL, es decir opera en modo de

conexión segura, aparece el dibujo de un candado o llave en la barra inferior. Los puertos utilizados para las aplicaciones que utilizan SSL son 443 para HTTPS, 465 para

SSMTP, 563 para SNEWS, 636 para SS-LDAP, 995 para SPOP3.

El establecimiento de una sesión se realiza con Handshake Protocol (HP) como podemos ver en la figura anterior y sigue los siguientes pasos:

1. El cliente inicia la conexión y le responde el servidor 2. Se negocian los parámetros de conexión segura 3. El servidor envía su certificado firmado (opcional) 4. Certificado expedido por una CA, o validado ad hoc 5. Puede requerir un certificado del cliente 6. El cliente envía una clave simétrica 7. La genera y cifra (con la clave pública del servidor) 8. Se intercambian mensajes Change Cipher Spec (CCSP) 9. El cliente informa de los cifradores disponibles 10. El servidor elige el más fuerte común a ambos 11. Ya puede comenzar la comunicación cifrada

El protocolo AP Alert Protocol es utilizado para el intercambio de mensajes especiales, como

Warning: para notificar avisos o Error (fatal) para indicar errores irrecuperables.

Una mejora del protocolo SSL es el Transport Layer Security (TLS), que es una generalización de SSL para ser un estándar no dependiente de un solo fabricante (Netscape). La v1.0 es el RFC-2246 del IETF (1.999), es una ligera modificación de SSL v3.0. Adicionalmente a SSL, tiene una extensibilidad del protocolo, ya que se pueden agregar nuevos protocolos por encima del Record Protocol. Los protocolos que comprende son similares a los de SSL: Record Protocol (RP), Alert Protocol (AP), Handshake Protocol (HP), Change Cipher Spec (CCSP) y Application Data Protocol (ADP).