Seguridad
en redes informaticas
La
problemática de la seguridad
Desde el comienzo de la
utilización de sistemas informáticos ha existido una gran preocupación por
la seguridad de la información que almacenan. Los responsables de los Centros
de Cómputos se han encargados desde hace años de implantar controles de
seguridad física frente a intrusos interesados en acceder a los sistemas, y
han realizado periódicamente copias de seguridad para prevenir posibles pérdidas
involuntarias de los datos.
La extensión de la
microinformática y de las redes de ámbito mundial que interconectan recursos
informáticos de todo tipo, ha hecho que los peligros que sufre la información
almacenada en los diversos sistemas crezcan considerablemente y se
diversifiquen, y que las medidas adoptadas internamente en los Centros de
Computo resulten insuficientes.
En los últimos meses no sólo
la prensa especializada en informática, sino todos los medios de difusión
han hecho eco del futuro de las autopistas de la información, cuyo embrión
está representado por la red Internet. A raíz de la interconexión del mundo
empresarial a esta red, viaja por ella y se almacena información de todo
tipo, que abarca desde noticias o cotilleos, documentos, normas y aplicaciones
informáticas de libre distribución hasta complejas transacciones que
requieren medidas de seguridad que garanticen la confidencialidad, la
integridad y el origen de los datos.
La escucha electrónica, que
permite la obtención y posible manipulación de información privada, y los
sabotajes realizados tanto por atacantes externos como internos, están
causando últimamente la pérdida de grandes cantidades de dinero.
Pero, ¿cómo controlar el
acceso indebido a aplicaciones y a la información almacenada?, ¿cómo
garantizar la integridad o la confidencialidad de la información que viaja a
través de las redes?, ¿cómo comprobar de manera fiable que el emisor y el
receptor de una información son realmente quienes dicen ser?, o ¿cómo
garantizar que el emisor no niegue haber enviado algo y el receptor no niegue
haberlo recibido?.
En este trabajo se pretende
dar una respuesta a estos interrogantes. Estas soluciones consisten en dotar a
las redes de una serie de servicios de seguridad.
La
extensión de la tecnología de Redes
Proceso
distribuido
Parece lógico suponer que
las computadoras podrán trabajar en conjunto cuando dispongan de la conexión
de banda ancha. ¿Cómo conseguir, sin embargo, que computadoras de diferentes
fabricantes en distintos países funcionen en común a través de todo el
mundo? Hasta hace poco, la mayoría de las computadoras disponían de sus
propias interfaces y presentaban su estructura particular. Un equipo podía
comunicarse con otro de su misma familia, pero tenía grandes dificultades
para hacerlo con un extraño. Sólo los más privilegiados disponían del
tiempo, conocimientos y equipos necesarios para extraer de diferentes recursos
informáticos aquello que necesitaban.
En los años noventa, el
nivel de concordancia entre las diferentes computadoras alcanzó el punto en
que podían interconectarse de forma eficaz, lo que le permite a cualquiera
sacar provecho de un equipo remoto. Los principales componentes son:
Cliente/servidor
En vez de construir sistemas
informáticos como elementos monolíticos, existe el acuerdo general de
construirlos como sistemas cliente/servidor. El cliente (un usuario de PC)
solicita un servicio (como imprimir) que un servidor le proporciona (un
procesador conectado a la LAN). Este enfoque común de la estructura de los
sistemas informáticos se traduce en una separación de las funciones que
anteriormente forman un todo. Los detalles de la realización van desde los
planteamientos sencillos hasta la posibilidad real de manejar todos los
ordenadores de modo uniforme.
Tecnología
de objetos
Otro de los enfoques para la
construcción de los sistemas parte de la hipótesis de que deberían estar
compuestos por elementos perfectamente definidos, objetos encerrados,
definidos y materializados haciendo de ellos agentes independientes. La adopción
de los objetos como medios para la construcción de sistemas informáticos ha
colaborado a la posibilidad de intercambiar los diferentes elementos.
Sistemas
abiertos
Esta definición alude a
sistemas informáticos cuya arquitectura permite una interconexión y una
distribución fáciles. En la práctica, el concepto de sistema abierto se
traduce en desvincular todos los componentes de un sistema y utilizar
estructuras análogas en todos los demás. Esto conlleva una mezcla de normas
(que indican a los fabricantes lo que deberían hacer) y de asociaciones
(grupos de entidades afines que les ayudan a realizarlo). El efecto final es
que sean capaces de hablar entre sí.
El objetivo último de todo
el esfuerzo invertido en los sistemas abiertos consiste en que cualquiera
pueda adquirir computadoras de diferentes fabricantes, las coloque donde
quiera, utilice conexiones de banda ancha para enlazarlas entre sí y las haga
funcionar como una máquina compuesta capaz de sacar provecho de las
conexiones de alta velocidad.
Protocolo
de intercambio
En informática, como en las
relaciones humanas, señal mediante la cual se reconoce que puede tener lugar
la comunicación o la transferencia de información. Los protocolos de
intercambio se pueden controlar tanto con hardware
como con software. Un protocolo de intercambio de hardware, como el existente entre un ordenador o computadora con una
impresora o con un módem, es un intercambio de señales, a través de cables
específicos, en el que cada dispositivo señala su disposición para enviar o
recibir datos. Un protocolo de software,
normalmente el que se intercambia durante las comunicaciones del tipo módem a
módem, consiste en una determinada información transmitida entre los
dispositivos de envío y de recepción. Un protocolo de intercambio de software
establece un acuerdo entre los dispositivos sobre los protocolos que ambos
utilizarán al comunicarse. Un protocolo de intercambio de hardware
es, por tanto, similar a dos personas que físicamente estrechan sus manos,
mientras que un protocolo de intercambio de software
es más parecido a dos grupos que deciden conversar en un lenguaje particular.
Red
(informática)
Conjunto de técnicas,
conexiones físicas y programas informáticos empleados para conectar dos o más
computadoras. Los usuarios de una red pueden compartir ficheros, impresoras y
otros recursos, enviar mensajes electrónicos y ejecutar programas en otros
ordenadores.
Una red tiene tres niveles
de componentes: software de
aplicaciones, software de red y hardware
de red.
El
software de aplicaciones
Está formado por programas
informáticos que se comunican con los usuarios de la red y permiten compartir
información (como archivos, gráficos o vídeos) y recursos (como impresoras
o unidades de disco). Un tipo de software
de aplicaciones se denomina cliente-servidor. Las computadoras cliente envían
peticiones de información o de uso de recursos a otras computadoras llamadas
servidores, que controlan datos y aplicaciones. Otro tipo de software
de aplicación se conoce como ‘de igual a igual’ (peer
to peer). En una red de este tipo, los ordenadores se envían entre sí
mensajes y peticiones directamente sin utilizar un servidor como
intermediario.
El
software de red
Consiste en programas informáticos
que establecen protocolos, o normas, para que las computadoras se comuniquen
entre sí. Estos protocolos se aplican enviando y recibiendo grupos de datos
formateados denominados paquetes. Los protocolos indican cómo efectuar
conexiones lógicas entre las aplicaciones de la red, dirigir el movimiento de
paquetes a través de la red física y minimizar las posibilidades de colisión
entre paquetes enviados simultáneamente.
El
hardware de red
Está formado por los
componentes materiales que unen las computadoras. Dos componentes importantes
son los medios de transmisión que transportan las señales de los ordenadores
(típicamente cables o fibras ópticas) y el adaptador de red, que permite
acceder al medio material que conecta a los ordenadores, recibir paquetes
desde el software de red y
transmitir instrucciones y peticiones a otras computadoras. La información se
transfiere en forma de dígitos binarios, o bits (unos y ceros), que pueden
ser procesados por los circuitos electrónicos de los ordenadores.
Conexiones
de red
Una red tiene dos tipos de
conexiones: conexiones físicas —que permiten a los ordenadores transmitir y
recibir señales directamente— y conexiones lógicas, o virtuales, que
permiten intercambiar información a las aplicaciones informáticas, por
ejemplo a un procesador de textos. Las conexiones físicas están definidas
por el medio empleado para transmitir la señal, por la disposición geométrica
de los ordenadores (topología) y por el método usado para compartir
información. Las conexiones lógicas son creadas por los protocolos de red y
permiten compartir datos a través de la red entre aplicaciones
correspondientes a ordenadores de distinto tipo, como un Apple Macintosh y un
PC de IBM. Algunas conexiones lógicas emplean software
de tipo cliente-servidor y están destinadas principalmente a compartir
archivos e impresoras. El conjunto de Protocolos de Control de Transmisión y
Protocolo de Internet (TCP/IP, siglas en inglés), desarrollado originalmente
por el Departamento de Defensa estadounidense, es el conjunto de conexiones lógicas
empleado por Internet, la red de redes planetaria. El TCP/IP, basado en software
de aplicación de igual a igual, crea una conexión entre dos computadoras
cualesquiera.
Medios
de transmisión
El medio empleado para
transmitir información limita la velocidad de la red, la distancia eficaz
entre ordenadores y la topología de la red. Los cables bifilares de cobre o
los cables coaxiales proporcionan velocidades de transmisión de algunos miles
de bps (bits por segundo) a largas distancias y de unos 100 Mbps (millones de
bits por segundo) a corta distancia. Las fibras ópticas permiten velocidades
de entre 100 y 1.000 Mbps a largas distancias.
Topología
Las topologías más
corrientes para organizar las computadoras de una red son las de punto a
punto, de bus, en estrella y en anillo. La topología de punta a punta es la más
sencilla, y está formada por dos ordenadores conectados entre sí. La topología
de bus consta de una única conexión a la que están unidos varios
ordenadores. Todas las computadoras unidas a esta conexión única reciben
todas las señales transmitidas por cualquier computadora conectada. La
topología en estrella conecta varios ordenadores con un elemento dispositivo
central llamado hub. El hub puede ser
pasivo y transmitir cualquier entrada recibida a todos los ordenadores —de
forma semejante a la topología de bus— o ser activo, en cuyo caso envía
selectivamente las entradas a ordenadores de destino determinados. La topología
en anillo utiliza conexiones múltiples para formar un círculo de
computadoras. Cada conexión transporta información en un único sentido. La
información avanza por el anillo de forma secuencial desde su origen hasta su
destino.
Las redes de área local
(LAN, siglas en inglés), que conectan ordenadores separados por distancias
reducidas, por ejemplo en una oficina o un campus universitario, suelen usar
topologías de bus, en estrella o en anillo. Las redes de área amplia (WAN,
siglas en inglés), que conectan equipos distantes situados en puntos alejados
de un mismo país o en países diferentes, emplean a menudo líneas telefónicas
especiales arrendadas como conexiones de punto a punto.
Compartir
información
Cuando los ordenadores
comparten conexiones físicas para transmitir paquetes de información, se
emplea un conjunto de protocolos MAC (siglas en inglés de ‘control de
acceso al medio’) para que la información fluya sin problemas a través de
la red. Un protocolo MAC eficiente garantiza que el medio de transmisión no
esté sin utilizar si alguna computadora tiene información que transmitir.
También evita colisiones debidas a la transmisión simultánea, que
desperdiciarían capacidad de transmisión. Los protocolos MAC también
permiten que los distintos ordenadores accedan al medio de forma equitativa.
Un tipo de protocolo MAC es
el Ethernet, empleado en topologías de bus o en estrella. Un ordenador
conectado al Ethernet comprueba antes de nada si el medio compartido está
siendo utilizado. Si no es así, el ordenador transmite la información. Como
el ordenador puede comprobar si el medio está en uso la vez que envía
paquetes, continúa vigilando la conexión compartida y deja de transmitir
información si ocurre una colisión. Ethernet puede transmitir información a
una velocidad de 10 Mbps.
Las computadoras también
pueden utilizar protocolos MAC del tipo Token Ring, que transmiten un mensaje
especial (en inglés, token) a través
de la red. Esta contraseña da permiso a la computadora que lo recibe para que
envíe un paquete de información por la red. En caso de que no tenga ningún
paquete que enviar, pasa la contraseña al siguiente ordenador. Como sólo hay
una contraseña en toda la red, en cada momento no hay más que una
computadora que pueda transmitir información.
Funcionamiento
y gestión de las redes
La gestión de la red y la
administración del sistema son cruciales para que un sistema complejo de
ordenadores y recursos interconectados pueda funcionar. El gestor de una red
es la persona o el equipo responsable de configurar la red para que opere de
forma eficiente. Por ejemplo, el gestor de la red puede tener que conectar
directamente ordenadores que se comunican con frecuencia para reducir la
interferencia con otros ordenadores. El administrador del sistema es la
persona o el equipo responsable de configurar las computadoras y su software
para emplear la red. Por ejemplo, el administrador del sistema puede instalar software de red y configurar el sistema de archivos de un servidor
para que los computadores clientes puedan acceder a los ficheros compartidos.
Las redes pueden ser objeto
de acceso ilegal, por lo que los archivos y recursos deben protegerse. Un
intruso que se introdujera en la red podría espiar los paquetes enviados por
la red o enviar mensajes ficticios. En el caso de información sensible, el
cifrado de los datos (la codificación de la información mediante ecuaciones
matemáticas) hace que un intruso no pueda leer los paquetes que lleguen a su
poder. La mayoría de los servidores también emplean sistemas de
autentificación para garantizar que una petición de leer o modificar un
fichero o de utilizar recursos procede de un cliente legítimo y no de un
intruso.
Tecnologías
y tendencias futuras
El uso extendido de
ordenadores portátiles ha impulsado avances en las redes inalámbricas. Las
redes inalámbricas utilizan transmisiones de infrarrojos o radiofrecuencias
para unir las computadoras portátiles a las redes. Las LAN inalámbricas de
infrarrojos sólo funcionan dentro de una misma habitación, mientras que las
LAN inalámbricas de radiofrecuencias pueden funcionar a través de casi
cualquier pared. Las LAN inalámbricas tienen velocidades de transmisión que
van desde menos de 1 Mbps hasta 8 Mbps, y funcionan a distancias de hasta unos
cientos de metros. Las WAN inalámbricas emplean redes de telefonía celular,
transmisiones vía satélite o equipos específicos y proporcionan una
cobertura regional o mundial, pero su velocidad de transmisión es de sólo
2.000 a 19.000 bps.
En febrero de 1996, Fujitsu
Ltd. , Nippon Telephone and Telegraph Corporation y un equipo de
investigadores de AT&T consiguieron transmitir información a través de
una fibra óptica a una velocidad de un millón de Mbps, lo que equivale a
transmitir los periódicos de 300 años en un solo segundo. Esto se logró
enviando simultáneamente por la fibra óptica luz de distintas longitudes de
onda, cada una portadora de información diferente. Si esta nueva tecnología
puede integrarse en una red, será posible enviar de forma barata información
masiva como vídeo o imágenes tridimensionales.
Redes
de comunicación
La posibilidad de compartir
con carácter universal la información entre grupos de computadoras y sus
usuarios; un componente vital de la era de la información. La generalización
de la computadora personal (PC) y de la red de área local (LAN) durante la década
de los ochenta ha dado lugar a la posibilidad de acceder a información en
bases de datos remotas; cargar aplicaciones desde puntos de ultramar; enviar
mensajes a otros países y compartir ficheros, todo ello desde una computadora
personal.
Las redes que permiten todo
esto son equipos avanzados y complejos. Su eficacia se basa en la confluencia
de muy diversos componentes. El diseño e implantación de una red mundial de
ordenadores es uno de los grandes milagros tecnológicos de las últimas décadas.
Módems
y empresas de servicios
Todavía en la década de
los setenta las computadoras eran máquinas caras y frágiles que estaban al
cuidado de especialistas y se guardaban en recintos vigilados. Para
utilizarlos se podía conectar un terminal directamente o mediante una línea
telefónica y un módem para acceder desde un lugar remoto. Debido a su
elevado coste, solían ser recursos centralizados a los que el usuario accedía
por cuenta propia. Durante esta época surgieron muchas organizaciones, las
empresas de servicios, que ofrecían tiempo de proceso en una mainframe. Las
redes de computadoras no estaban disponibles comercialmente. No obstante, se
inició en aquellos años uno de los avances más significativos para el mundo
de la tecnología: los experimentos del Departamento de Defensa norteamericano
con vistas a distribuir los recursos informáticos como protección contra los
fallos. Este proyecto se llama ahora Internet.
Redes
de área local (LAN)
Uno de los sucesos más críticos
para la conexión en red lo constituye la aparición y la rápida difusión de
la red de área local (LAN) como forma de normalizar las conexiones entre las
máquinas que se utilizan como sistemas ofimáticos. Como su propio nombre
indica, constituye una forma de interconectar una serie de equipos informáticos.
A su nivel más elemental, una LAN no es más que un medio compartido (como un
cable coaxial al que se conectan todas las computadoras y las impresoras)
junto con una serie de reglas que rigen el acceso a dicho medio. La LAN más
difundida, la Ethernet, utiliza un mecanismo denominado Call Sense Multiple
Access-Collision Detect (CSMS-CD). Esto significa que cada equipo conectado sólo
puede utilizar el cable cuando ningún otro equipo lo está utilizando. Si hay
algún conflicto, el equipo que está intentando establecer la conexión la
anula y efectúa un nuevo intento más adelante. La Ethernet transfiere datos
a 10 Mbits/seg. , lo suficientemente rápido como para hacer inapreciable la
distancia entre los diversos equipos y dar la impresión de que están
conectados directamente a su destino.
Ethernet y CSMA-CD son dos
ejemplos de LAN. Hay tipologías muy diversas (bus, estrella, anillo) y
diferentes protocolos de acceso. A pesar de esta diversidad, todas las LAN
comparten la característica de poseer un alcance limitado (normalmente
abarcan un edificio) y de tener una velocidad suficiente para que la red de
conexión resulte invisible para los equipos que la utilizan.
Además de proporcionar un
acceso compartido, las LAN modernas también proporcionan al usuario multitud
de funciones avanzadas. Hay paquetes de software
de gestión para controlar la configuración de los equipos en la LAN, la
administración de los usuarios, y el control de los recursos de la red. Una
estructura muy utilizada consiste en varios servidores a disposición de
distintos (con frecuencia, muchos) usuarios. Los primeros, por lo general máquinas
más potentes, proporcionan servicios como control de impresión, ficheros
compartidos y correo a los últimos, por lo general computadoras personales.
Conexiones
internas en una LAN
Una LAN suele estar formada
por un grupo de ordenadores, pero también puede incluir impresoras o
dispositivos de almacenamiento de datos como unidades de disco duro. La conexión
material entre los dispositivos de una LAN puede ser un cable coaxial, un
cable de dos hilos de cobre o una fibra óptica. También pueden efectuarse
conexiones inalámbricas empleando transmisiones de infrarrojos o
radiofrecuencia.
Un dispositivo de LAN puede
emitir y recibir señales de todos los demás dispositivos de la red. Otra
posibilidad es que cada dispositivo esté conectado a un repetidor, un equipo
especializado que transmite de forma selectiva la información desde un
dispositivo hasta uno o varios destinos en la red.
Las redes emplean
protocolos, o reglas, para intercambiar información a través de una única
conexión compartida. Estos protocolos impiden una colisión de datos
provocada por la transmisión simultánea entre dos o más computadoras. En la
mayoría de las LAN, los ordenadores emplean protocolos conocidos como
Ethernet o Token Ring. Las computadoras conectadas por Ethernet comprueban si
la conexión compartida está en uso; si no es así, la computadora transmite
los datos. Como los ordenadores pueden detectar si la conexión está ocupada
al mismo tiempo que envían datos, continúan controlando la conexión
compartida y dejan de transmitir si se produce una colisión. Los protocolos
Token Ring transmiten a través de la red un mensaje especial (token
en inglés). El ordenador que recibe la contraseña obtiene permiso para
enviar un paquete de información; si el ordenador no tiene ningún paquete
que enviar, pasa la contraseña al siguiente ordenador.
Conexiones
externas en una LAN
Las conexiones que unen las
LAN con recursos externos, como otra LAN o una base de datos remota, se
denominan puentes, reencaminadores y pasarelas (Gateways).
Un puente crea una LAN extendida transmitiendo información entre dos o más
LAN. Un camino es un dispositivo intermedio que conecta una LAN con otra LAN
mayor o con una WAN, interpretando la información del protocolo y enviando
selectivamente paquetes de datos a distintas conexiones de LAN o WAN a través
de la vía más eficiente disponible. Una puerta conecta redes que emplean
distintos protocolos de comunicaciones y traduce entre los mismos. Los
computadores de una LAN emplean puertas o caminos para conectarse con una WAN
como Internet. Estas conexiones suponen un riesgo para la seguridad porque la
LAN no tiene control sobre los usuarios de Internet. Las aplicaciones
transferidas desde Internet a la LAN pueden contener virus informáticos
capaces de dañar los componentes de la LAN; por otra parte, un usuario
externo no autorizado puede obtener acceso a ficheros sensibles o borrar o
alterar ficheros. Un tipo de puerta especial denominado cortafuegos impide a
los usuarios externos acceder a recursos de la LAN permitiendo a los usuarios
de la LAN acceder a la información externa.
Avances
Los avances en la forma en
que una red encamina la información permitirán que los datos circulen
directamente desde el ordenador de origen hasta el de destino sin
interferencia de otras computadoras. Esto mejorará la transmisión de flujos
continuos de datos, como señales de audio o de vídeo. El uso generalizado de
ordenadores portátiles ha llevado a importantes avances en las redes inalámbricas.
Las redes inalámbricas utilizan transmisiones de infrarrojos o de
radiofrecuencia para conectar ordenadores portátiles a una red. Las LAN inalámbricas
de infrarrojos conectan entre sí computadoras situadas en una misma habitación,
mientras que las LAN inalámbricas de radiofrecuencia pueden conectar
computadoras separadas por paredes.
Las nuevas tecnologías de
LAN serán más rápidas y permitirán el empleo de aplicaciones multimedia.
Actualmente ya existen redes que emplean el modo de transferencia asíncrono
(ATM, Asyncronous Transfer Mode) y
LAN con Ethernet que son entre 10 y 15 veces más rápidas que las LAN
corrientes. Para aprovechar la mayor rapidez de las LAN, los ordenadores deben
aumentar su velocidad, en particular la del bus, la conexión que une la
memoria del ordenador con la red. También habrá que desarrollar soporte lógico
capaz de transferir eficientemente grandes cantidades de datos desde las redes
a las aplicaciones informáticas.
Routers
y bridges
Los servicios en la mayoría
de las LAN son muy potentes. La mayoría de las organizaciones no desean
encontrarse con núcleos aislados de utilidades informáticas. Por lo general
prefieren difundir dichos servicios por una zona más amplia, de manera que
los grupos puedan trabajar independientemente de su ubicación. Los Routers
y los bridges son equipos especiales que permiten conectar dos o más LAN.
El bridge es el equipo más
elemental y sólo permite conectar varias LAN de un mismo tipo. El router es un elemento más inteligente y posibilita la interconexión
de diferentes tipos de redes de ordenadores.
Las grandes empresas
disponen de redes corporativas de datos basadas en una serie de redes LAN y Routers.
Desde el punto de vista del usuario, este enfoque proporciona una red físicamente
heterogénea con aspecto de un recurso homogéneo.
Redes
de área extensa (WAN)
Cuando se llega a un cierto
punto deja de ser poco práctico seguir ampliando una LAN. A veces esto viene
impuesto por limitaciones físicas, aunque suele haber formas más adecuadas o
económicas de ampliar una red de computadoras. Dos de los componentes
importantes de cualquier red son la red de teléfono y la de datos. Son
enlaces para grandes distancias que amplían la LAN hasta convertirla en una
red de área extensa (WAN). Casi todos los operadores de redes nacionales
(como DBP en Alemania o British Telecom en Inglaterra) ofrecen servicios para
interconectar redes de computadoras, que van desde los enlaces de datos
sencillos y a baja velocidad que funcionan basándose en la red pública de
telefonía hasta los complejos servicios de alta velocidad (como frame
relay y SMDS-Synchronous Multimegabit Data Service) adecuados para la
interconexión de las LAN. Estos servicios de datos a alta velocidad suelen
denominarse conexiones de banda ancha. Se prevé que proporcionen los enlaces
necesarios entre LAN para hacer posible lo que han dado en llamarse autopistas
de la información.
Una
vista a los peligros que acechan en este ambiente
VIRUS
Los virus informáticos son
programas, generalmente destructivos, que se introducen en el ordenador (al
leer un disco o acceder a una red informática) y pueden provocar pérdida de
la información (programas y datos) almacenada en el disco duro.
Historia
En 1949, el matemático
estadounidense de origen húngaro John Von Neumann, en el Instituto de
Estudios Avanzados de Princeton (Nueva Jersey), planteó la posibilidad teórica
de que un programa informático se reprodujera. Esta teoría se comprobó
experimentalmente en la década de 1950 en los Laboratorios Bell, donde se
desarrolló un juego llamado Core Wars en el que los jugadores creaban minúsculos
programas informáticos que atacaban y borraban el sistema del oponente e
intentaban propagarse a través de él. En 1983, el ingeniero eléctrico
estadounidense Fred Cohen, que entonces era estudiante universitario, acuñó
el término de “virus” para describir un programa informático que se
reproduce a sí mismo. En 1985 aparecieron los primeros caballos de Troya,
disfrazados como un programa de mejora de gráficos llamado EGABTR y un juego
llamado NUKE-LA. Pronto les siguió un sinnúmero de virus cada vez más
complejos. El virus llamado Brain apareció en 1986, y en 1987 se había
extendido por todo el mundo. En 1988 aparecieron dos nuevos virus: Stone, el
primer virus de sector de arranque inicial, y el gusano de Internet, que cruzó
Estados Unidos de un día para otro a través de una red informática. El
virus Dark Avenger, el primer infector rápido, apareció en 1989, seguido por
el primer virus polimórfico en 1990. En 1995 se creó el primer virus de
lenguaje de macros, WinWord Concept.
El virus es un programa de
ordenador que se reproduce a sí mismo e interfiere con el hardware de una computadora o con su sistema operativo (el software
básico que controla la computadora). Los virus están diseñados para
reproducirse y evitar su detección. Como cualquier otro programa informático,
un virus debe ser ejecutado para que funcione: es decir, el ordenador debe
cargar el virus desde la memoria del ordenador y seguir sus instrucciones.
Estas instrucciones se conocen como carga activa del virus. La carga activa
puede trastornar o modificar archivos de datos, presentar un determinado
mensaje o provocar fallos en el sistema operativo.
Existen otros programas
informáticos nocivos similares a los virus, pero que no cumplen ambos
requisitos de reproducirse y eludir su detección. Estos programas se dividen
en tres categorías: caballos de Troya, bombas lógicas y gusanos. Un caballo
de Troya aparenta ser algo interesante e inocuo, por ejemplo un juego, pero
cuando se ejecuta puede tener efectos dañinos. Una bomba lógica libera su
carga activa cuando se cumple una condición determinada, como cuando se
alcanza una fecha u hora determinada o cuando se teclea una combinación de
letras. Un gusano se limita a reproducirse, pero puede ocupar memoria de la
computadora y hacer que sus procesos vayan más lentos.
Cómo
se producen las infecciones
Los virus informáticos se
difunden cuando las instrucciones —o código ejecutable— que hacen
funcionar los programas pasan de un ordenador a otro. Una vez que un virus está
activado, puede reproducirse copiándose en discos flexibles, en el disco
duro, en programas informáticos legítimos o a través de redes informáticas.
Estas infecciones son mucho más frecuentes en PC que en sistemas
profesionales de grandes computadoras, porque los programas de los PC se
intercambian fundamentalmente a través de discos flexibles o de redes informáticas
no reguladas.
Los virus funcionan, se
reproducen y liberan sus cargas activas sólo cuando se ejecutan. Por eso, si
un ordenador está simplemente conectado a una red informática infectada o se
limita a cargar un programa infectado, no se infectará necesariamente.
Normalmente, un usuario no ejecuta conscientemente un código informático
potencialmente nocivo; sin embargo, los virus engañan frecuentemente al
sistema operativo de la computadora o al usuario informático para que ejecute
el programa viral.
Algunos virus tienen la
capacidad de adherirse a programas legítimos. Esta adhesión puede producirse
cuando se crea, abre o modifica el programa legítimo. Cuando se ejecuta dicho
programa, lo mismo ocurre con el virus. Los virus también pueden residir en
las partes del disco duro o flexible que cargan y ejecutan el sistema
operativo cuando se arranca el ordenador, por lo que dichos virus se ejecutan
automáticamente. En las redes informáticas, algunos virus se ocultan en el software
que permite al usuario conectarse al sistema.
Especies
de virus
Existen seis categorías de
virus: parásitos, del sector de arranque inicial, multipartitos, acompañantes,
de vínculo y de fichero de datos. Los virus parásitos infectan ficheros
ejecutables o programas de la computadora. No modifican el contenido del
programa huésped, pero se adhieren al huésped de tal forma que el código
del virus se ejecuta en primer lugar. Estos virus pueden ser de acción
directa o residentes. Un virus de acción directa selecciona uno o más
programas para infectar cada vez que se ejecuta. Un virus residente se oculta
en la memoria del ordenador e infecta un programa determinado cuando se
ejecuta dicho programa. Los virus del sector de arranque inicial residen en la
primera parte del disco duro o flexible, conocida como sector de arranque
inicial, y sustituyen los programas que almacenan información sobre el
contenido del disco o los programas que arrancan el ordenador. Estos virus
suelen difundirse mediante el intercambio físico de discos flexibles. Los
virus multipartitos combinan las capacidades de los virus parásitos y de
sector de arranque inicial, y pueden infectar tanto ficheros como sectores de
arranque inicial.
Los virus acompañantes no
modifican los ficheros, sino que crean un nuevo programa con el mismo nombre
que un programa legítimo y engañan al sistema operativo para que lo ejecute.
Los virus de vínculo modifican la forma en que el sistema operativo encuentra
los programas, y lo engañan para que ejecute primero el virus y luego el
programa deseado. Un virus de vínculo puede infectar todo un directorio
(sección) de una computadora, y cualquier programa ejecutable al que se
acceda en dicho directorio desencadena el virus. Otros virus infectan
programas que contienen lenguajes de macros potentes (lenguajes de programación
que permiten al usuario crear nuevas características y herramientas) que
pueden abrir, manipular y cerrar ficheros de datos. Estos virus, llamados
virus de ficheros de datos, están escritos en lenguajes de macros y se
ejecutan automáticamente cuando se abre el programa legítimo. Son
independientes de la máquina y del sistema operativo.
Existen programas antivirus
que los reconocen y son capaces de ‘inmunizar’ o eliminar el virus del
ordenador.
Tácticas
antivíricas
·
Preparación y prevención:
Los usuarios pueden prepararse frente a una infección viral creando
regularmente copias de seguridad del software original legítimo y de los ficheros de datos, para poder
recuperar el sistema informático en caso necesario. Puede copiarse en un
disco flexible el software del
sistema operativo y proteger el disco contra escritura, para que ningún virus
pueda sobrescribir el disco. Las infecciones virales pueden prevenirse
obteniendo los programas de fuentes legítimas, empleando una computadora en
cuarentena para probar los nuevos programas y protegiendo contra escritura los
discos flexibles siempre que sea posible.
·
Cortafuegos, en
seguridad informática, dispositivo que impide el acceso no autorizado a la
red de área local de una organización. El cortafuegos puede residir en el
servidor que actúa como gateway de
la red de área local o en un sistema dedicado emplazado entre la red local e
Internet, de manera que la red privada nunca accede a Internet directamente.
Realiza el seguimiento de todos los archivos que entran o salen en la red de
la organización para poder detectar el origen de virus o de intentos de
acceso no autorizado.
Detección
de virus
Para detectar la presencia
de un virus pueden emplearse varios tipos de programas antivíricos. Los
programas de rastreo pueden reconocer las características del código informático
de un virus y buscar estas características en los ficheros del ordenador.
Como los nuevos virus tienen que ser analizados cuando aparecen, los programas
de rastreo deben ser actualizados periódicamente para resultar eficaces.
Algunos programas de rastreo buscan características habituales de los
programas virales; suelen ser menos fiables.
Los únicos programas que
detectan todos los virus son los de comprobación de suma, que emplean cálculos
matemáticos para comparar el estado de los programas ejecutables antes y
después de ejecutarse. Si la suma de comprobación no cambia, el sistema no
está infectado. Los programas de comprobación de suma, sin embargo, sólo
pueden detectar una infección después de que se produzca.
Los programas de vigilancia
detectan actividades potencialmente nocivas, como la sobreescritura de
ficheros informáticos o el formateo del disco duro de la computadora. Los
programas caparazones de integridad establecen capas por las que debe pasar
cualquier orden de ejecución de un programa. Dentro del caparazón de
integridad se efectúa automáticamente una comprobación de suma, y si se
detectan programas infectados no se permite que se ejecuten.
Contención
y recuperación
Una vez detectada una
infección viral, ésta puede contenerse aislando inmediatamente los
ordenadores de la red, deteniendo el intercambio de ficheros y empleando sólo
discos protegidos contra escritura. Para que un sistema informático se
recupere de una infección viral, primero hay que eliminar el virus. Algunos
programas antivirus intentan eliminar los virus detectados, pero a veces los
resultados no son satisfactorios. Se obtienen resultados más fiables
desconectando la computadora infectada, arrancándola de nuevo desde un disco
flexible protegido contra escritura, borrando los ficheros infectados y
sustituyéndolos por copias de seguridad de ficheros legítimos y borrando los
virus que pueda haber en el sector de arranque inicial.
Estrategias
virales
Los autores de un virus
cuentan con varias estrategias para escapar de los programas antivirus y
propagar sus creaciones con más eficacia. Los llamados virus polimórficos
efectúan variaciones en las copias de sí mismos para evitar su detección
por los programas de rastreo. Los virus sigilosos se ocultan del sistema
operativo cuando éste comprueba el lugar en que reside el virus, simulando
los resultados que proporcionaría un sistema no infectado. Los virus llamados
infectores rápidos no sólo infectan los programas que se ejecutan sino también
los que simplemente se abren. Esto hace que la ejecución de programas de
rastreo antivírico en un ordenador infectado por este tipo de virus pueda
llevar a la infección de todos los programas del ordenador. Los virus
llamados infectores lentos infectan los archivos sólo cuando se modifican,
por lo que los programas de comprobación de suma interpretan que el cambio de
suma es legítimo. Los llamados infectores escasos sólo infectan en algunas
ocasiones: por ejemplo, pueden infectar un programa de cada 10 que se
ejecutan. Esta estrategia hace más difícil detectar el virus.
Hackers
Los hackers son usuarios muy avanzados que por su elevado nivel de
conocimientos técnicos son capaces de superar determinadas medidas de
protección. Su motivación abarca desde el espionaje industrial hasta el mero
desafío personal. Internet, con sus grandes facilidades de conectividad,
permite a un usuario experto intentar el acceso remoto a cualquier máquina
conectada, de forma anónima.
El Hacker, originalmente,
un aficionado a los ordenadores o computadoras, un usuario totalmente
cautivado por la programación y la tecnología informáticas. En la década
de 1980, con la llegada de las computadoras personales y las redes de acceso
remoto, este término adquirió una connotación peyorativa, refiriéndose a
menudo a alguien que invade en secreto las computadoras de otros, consultando
o alterando los programas o los datos almacenados en las mismas. También se
utiliza para referirse a alguien que, además de programar, disfruta
desmenuzando sistemas operativos y programas para ver cómo funcionan.
Las redes corporativas u
ordenadores con datos confidenciales no suelen estar conectadas a Internet; en
el caso de que sea imprescindible esta conexión se utilizan los llamados
cortafuegos, un ordenador situado entre las computadoras de una red
corporativa e Internet. El cortafuegos impide a los usuarios no autorizados
acceder a los ordenadores de una red, y garantiza que la información recibida
de una fuente externa no contenga virus.
Unos ordenadores especiales
denominados servidores de seguridad proporcionan conexiones seguras entre las
computadoras conectadas en red y los sistemas externos como instalaciones de
almacenamiento de datos o de impresión. Estos ordenadores de seguridad
emplean el cifrado en el proceso de diálogo inicial, el comienzo del
intercambio electrónico, lo que evita una conexión entre dos ordenadores a
no ser que cada uno de ellos reciba confirmación de la identidad del otro.
Una técnica para proteger
la confidencialidad es el cifrado. La información puede cifrarse y
descifrarse empleando ecuaciones matemáticas y un código secreto denominado
clave. Generalmente se emplean dos claves, una para codificar la información
y otra para descodificarla. La clave que codifica la información, llamada
clave privada, sólo es conocida por el emisor. La clave que descodifica los
datos, llamada clave pública, puede ser conocida por varios receptores. Ambas
claves se modifican periódicamente, lo que complica todavía más el acceso
no autorizado y hace muy difícil descodificar o falsificar la información
cifrada. Estas técnicas son imprescindibles si se pretende transmitir
información confidencial a través de un medio no seguro como puede ser
Internet. Las técnicas de firma electrónica permiten autenticar los datos
enviados de forma que se pueda garantizar la procedencia de los mismos
(imprescindible, por ejemplo, a la hora de enviar una orden de pago).
Respuestas
a las actividades de intrusión
Criptografía
Ciencia que trata del
enmascaramiento de la comunicación de modo que sólo resulte inteligible para
la persona que posee la clave, o método para averiguar el significado oculto,
mediante el criptoanálisis, de un texto aparentemente incoherente. En su
sentido más amplio, la criptografía abarca el uso de mensajes encubiertos,
cifras y códigos. Los mensajes encubiertos, como los ocultos en textos
infantiles o los escritos con tinta invisible, cifran todo su éxito en no
levantar ninguna sospecha; una vez descubiertos, a menudo no resultan difíciles
de descifrar. Los códigos, en que las palabras y las frases se representan
mediante vocablos, números o símbolos preestablecidos, por lo general
resultan imposibles de leer si no se dispone del libro con el código clave.
La palabra criptografía se
limita a veces a la utilización de cifras, es decir, métodos de transponer
las letras de mensajes (no cifrados) normales o métodos que implican la
sustitución de otras letras o símbolos por las letras originales del mensaje
así como a diferentes combinaciones de tales métodos, todos ellos conforme a
sistemas predeterminados. Hay diferentes tipos de cifras, pero todos ellos
pueden encuadrarse en una de las dos siguientes categorías: transposición y
sustitución.
En las claves de transposición,
el mensaje se escribe, sin separación entre palabras, en filas de letras
dispuestas en forma de bloque rectangular. Las letras se van transponiendo según
un orden acordado de antemano, por ejemplo, por columnas verticales,
diagonales o espirales, o mediante sistemas más complicados como el salto del
caballo, basado en el movimiento del caballo de ajedrez. La disposición de
las letras en el mensaje cifrado depende del tamaño del bloque utilizado y
del camino seguido para inscribir y transponer las letras. Para aumentar la
seguridad de la clave o cifra se puede utilizar una palabra o un número
clave; por ejemplo, a la hora de transponer por columnas verticales, la
palabra clave coma obligaría a
tomar las columnas en el orden 2-4-3-1, que es el orden alfabético de las
letras de la palabra clave, en lugar de la secuencia normal 1-2-3-4. Las
cifras de transposición se pueden reconocer por la frecuencia de las letras
normales según el idioma utilizado. Estas cifras se pueden desentrañar sin
la clave reordenando las letras de acuerdo con diferentes pautas geométricas,
al tiempo que se van resolviendo anagramas de posibles palabras, hasta llegar
a descubrir el método de cifrado.
Cifras
sencillas y complejas
En las cifras o claves
sencillas de sustitución, cada letra se reemplaza por otra o por un símbolo.
Las letras se dejan en su secuencia original, observando normalmente la
separación de palabras. Estas claves se reconocen por la frecuencia de
aparición de letras normales seguidas de otras incorrectas. Se pueden
resolver mediante el análisis de frecuencias y detectando las características
de determinadas letras, tales como la tendencia a formar letras dobles,
prefijos y sufijos comunes, letras de inicio y final habituales y
combinaciones frecuentes, como QU, CH, LL.
En las cifras de sustitución
múltiple (poli alfabéticas) se utiliza una palabra o número clave. La
primera letra del mensaje se puede cifrar añadiéndole el valor numérico de
la primera letra de la palabra clave; la segunda letra del mensaje se cifra de
forma análoga, utilizando la segunda letra de la palabra clave, y así
sucesivamente, repitiendo la palabra clave tantas veces como sea necesario
para cifrar todo el mensaje. Así, para cifrar la palabra MESA mediante la
palabra clave CAB, M se convierte en O, ya que C es la tercera letra del
alfabeto; E pasa a ser F, pues A es la primera letra, y S se convierte en U,
pues B es la segunda letra del alfabeto. Para el resto del mensaje se repite
la palabra clave y MESA queda codificada como OFUC. El sistema de tablas de
Vigenère utiliza estos mismos principios.
En los sistemas poli alfabéticos
más complejos, las letras de la palabra clave indican cuál de la serie de
alfabetos de sustitución entremezclados debe utilizarse para cifrar cada
letra del mensaje. En el auto cifrado se emplea una única letra clave para la
primera letra del mensaje; la primera letra cifrada se utiliza entonces para
cifrar la segunda (autoclave del texto cifrado) y así sucesivamente. Otros
sistemas usan el código Morse con diferentes transposiciones o tablas
complejas para la sustitución de letras en grupos de dos o tres. Las claves
poli alfabéticas con palabra clave se caracterizan por una frecuencia de
letras homogénea o aleatoria. Estas claves se pueden descifrar determinando
la longitud de la palabra clave, por lo general tomando como base secuencias
repetidas en el texto (método Kasiski), y aplicando a continuación el
procedimiento de sustitución simple a cada uno de los alfabetos de sustitución
descubiertos.
La combinación de los tipos
básicos permite crear claves de diferentes grados de complejidad. Sin
embargo, la clave deberá siempre recordarse o reproducirse fácilmente, pues
de lo contrario deja de ser un mensaje para convertirse en un rompecabezas.
Con tiempo y medios suficientes se pueden descifrar la mayoría de las claves,
pero en cada caso deberá utilizarse el grado de complejidad suficiente para
alcanzar el nivel de seguridad deseado. Las órdenes militares que deben
permanecer en secreto durante muy pocas horas se pueden codificar con una
clave que resultaría totalmente inadecuada para informes diplomáticos de más
prolongada vigencia. Los mensajes se pueden transmitir a través de máquinas
automáticas de cifrado. Un télex puede ser dotado de una palabra clave para
codificar de forma automática todos los mensajes; la máquina receptora, con
la misma clave, procederá a su descodificación.
Claves
de computadora
En la actualidad, los
organismos oficiales, los bancos y muchas empresas transmiten gran cantidad de
información confidencial, en forma de comunicación de datos, de una
computadora a otra. La comunicación se efectúa por línea telefónica u
otros canales no privados. A principios de la década de 1970 se desarrolló
LUCIFER, un sistema de cifrado basado tanto en la sustitución como en la
transposición, y en 1976 se elaboró la técnica denominada Data Encryption
Standard (DES)
sobre la base del primero. Utiliza el código binario compuesto por ceros y
unos. Cada unidad recibe el nombre de bit. El DES transforma segmentos de
mensaje de 64 bit en otros equivalentes de texto cifrado, empleando una clave
de 56 bits. Cada usuario elige una clave al azar, que sólo comunica a
aquellas personas autorizadas a conocer los datos protegidos. El mensaje real
se codifica y descodifica automáticamente mediante equipos electrónicos
incorporados a las computadoras emisoras y receptoras. Como existen más de
70.000 billones de combinaciones de 56 bit, la probabilidad de descubrir la
clave aleatoria parece mínima. Sin embargo, algunos expertos han criticado la
técnica DES por su vulnerabilidad frente a los potentes métodos de
descodificación posibles para los grandes ordenadores.
Se han propuesto diferentes
alternativas, como el criptosistema de clave pública (PKC), que utiliza una
clave pública y otra secreta. El PKC, basado en un enfoque matemático,
elimina el problema de la distribución de claves pero no resulta tan eficaz,
desde el punto de vista informático, como el DES. En 1978 apareció el
denominado algoritmo RSA, que utiliza dos números primos de 100 cifras, p
y q, para formar su producto n=
pq, desarrollando la dificultad
inherente a la factorización de los números primos. Desde entonces se han
estudiado muchas variantes de este tipo de claves, aunque parece ser que RSA
continúa siendo el sistema más eficaz y seguro.
Libros
cifrados
Los cifrados a partir de
claves resultan más sencillos que los códigos, que exigen que tanto el
emisor como el receptor posean el mismo libro de cifra. Por otro lado, un código
bien construido es capaz de representar frases y párrafos enteros mediante símbolos,
tales como grupos de cinco letras, y a menudo se utiliza más por razones de
economía que de seguridad. Aunque un código bien construido puede
proporcionar un nivel mayor de seguridad, la dificultad de imprimir y
distribuir los libros cifrados en condiciones de absoluto secreto reduce su
uso a lugares en los que los libros puedan quedar bien vigilados.
Historia
Los códigos secretos
provienen de muy antiguo. Los escritores judíos de antaño a veces
disfrazaban el significado de sus textos invirtiendo el alfabeto, es decir,
utilizaban la última letra de éste en lugar de la primera, la penúltima en
vez de la segunda, y así sucesivamente. Este sistema, denominado atbash,
aparece en la Biblia, en Jer. 25,26, que escribe ‘Sesac’ en lugar de
‘Babel’, empleando la segunda y duodécima letras contando desde el final,
no desde el principio, del alfabeto hebreo. Los éforos de Esparta se
comunicaban con sus generales de campo por medio de mensajes escritos en los
extremos de una banda de cuero que se enrollaba formando una espiral sobre un
bastón llamado escitalo. Una vez desenrollado, el mensaje sólo podía volver
a leerse si se enrollaba la cinta sobre un bastón idéntico. El escritor
Polibio inventó el cuadro de 5 x 5, que se utilizó mucho en diferentes
sistemas criptográficos. Julio César empleó un sistema consistente en
adelantar cada letra cuatro posiciones.
La
criptografía como herramienta de la seguridad
El objetivo de la criptografía
es el de proporcionar comunicaciones seguras sobre canales inseguros, es
decir, permitir que dos entidades, bien sean personas o bien aplicaciones,
puedan enviarse mensajes por un canal que puede ser interceptado por una
tercera entidad, de modo que sólo los destinatarios autorizados puedan leer
los mensajes. Pero la criptografía no es en sí la seguridad, sólo es la
herramienta básica que utilizan mecanismos más complejos para proporcionar,
además de confidencialidad, otros servicios de seguridad.
La criptografía viene
utilizándose desde la Antigüedad para enviar mensajes bélicos y amorosos de
forma confidencial. Uno de los primeros criptosistemas conocidos es el llamado
cifrado de Cesar, que consiste en sustituir cada letra del mensaje original
por otra, la cual está determinada por la tercera siguiente en el alfabeto.
Este tipo de criptosistemas
que basan su seguridad en mantener secreto el algoritmo, son fáciles de
descifrar utilizando medios estadísticos. En la actualidad sólo los emplean
los aficionados mientras que en medios profesionales han sido sustituidos por
criptosistemas que basan su seguridad en mantener en secreto una serie de parámetros,
llamados claves, de forma que el algoritmo puede ser conocido.
Seguridad
informática
Técnicas
desarrolladas para proteger los equipos informáticos individuales y
conectados en una red frente a daños accidentales o intencionados. Estos daños
incluyen el mal funcionamiento del hardware,
la pérdida física de datos y el acceso a bases de datos por personas no
autorizadas. Diversas técnicas sencillas pueden dificultar la delincuencia
informática. Por ejemplo, el acceso a información confidencial puede
evitarse destruyendo la información impresa, impidiendo que otras personas
puedan observar la pantalla del ordenador, manteniendo la información y los
ordenadores bajo llave o retirando de las mesas los documentos sensibles. Sin
embargo, impedir los delitos informáticos exige también métodos más
complejos.
En
un sistema de los denominados ‘tolerante a fallos’ dos o más ordenadores
funcionan a la vez de manera redundante, por lo que si una parte del sistema
falla el resto asume el control.
Seguridad
y gestión
El
hecho de disponer de rápidas redes de computadoras capaces de interconectarse
no constituye el punto final de este enfoque. Quedan por definir las figuras
del “usuario de la autopista de la información” y de los “trabajos de
la autovía de la información”.
Seguridad
La
seguridad informática va adquiriendo una importancia creciente con el aumento
del volumen de información importante que se halla en las computadoras
distribuidas. En este tipo de sistemas resulta muy sencillo para un usuario
experto acceder subrepticiamente a datos de carácter confidencial. La norma
Data Encryption System (DES) para protección de datos informáticos,
implantada a finales de los años setenta, se ha visto complementada
recientemente por los sistemas de clave pública que permiten a los usuarios
codificar y descodificar con facilidad los mensajes sin intervención de
terceras personas.
Gestión
La
labor de mantenimiento de la operativa de una LAN exige dedicación completa.
Conseguir que una red distribuida por todo el mundo funcione sin problemas
supone un reto aún mayor. Últimamente se viene dedicando gran atención a
los conceptos básicos de la gestión de redes distribuidas y heterogéneas.
Hay ya herramientas suficientes para esta importante parcela que permiten
supervisar de manera eficaz las redes globales.
Acceso
no autorizado
En
un sistema seguro el usuario, antes de realizar cualquier operación, se tiene que
identificar mediante una clave de acceso. Las claves de acceso son
secuencias confidenciales de caracteres que permiten que los usuarios
autorizados puedan acceder a un ordenador. Para ser eficaces, las claves de
acceso deben resultar difíciles de adivinar. Las claves eficaces suelen
contener una mezcla de caracteres y símbolos que no corresponden a una
palabra real. Para ponérselo difícil a los impostores, los sistemas informáticos
suelen limitar el número de intentos de introducir la clave.
Las
tarjetas de contraseña son tarjetas de plástico que no pueden ser
manipuladas, dotadas de un microprocesador que almacena una clave de acceso
que cambia frecuentemente de forma automática. Cuando se entra en un
ordenador mediante una tarjeta de acceso, el ordenador lee la clave de la
tarjeta y otra clave introducida por el usuario, y las compara respectivamente
con una clave idéntica a la de la tarjeta (que el ordenador genera automáticamente)
y con la clave de acceso del usuario, que está almacenada en una lista
confidencial. En el futuro, es posible que las claves y las tarjetas de acceso
se vean reforzadas por mecanismos biométricos basados en características
personales únicas como las huellas dactilares, los capilares de la retina,
las secreciones de la piel, el ácido desoxirribonucleico (ADN), las
variaciones de la voz o los ritmos de tecleado. Sistemas operativos como UNIX
y WINDOWS-NT permiten restringir el acceso a recursos del sistema (ficheros,
periféricos..) de acuerdo con esa identificación.
Seguridad
en redes complejas
El fenómeno de la extensión
de la red ha adquirido una velocidad tan rápida y unas proporciones, que el
panorama actual y muchos de los efectos que se dan en su seno resultan
sorprendentes y difícilmente imaginables hace sólo una década.
Inicialmente nace como una
serie de terminales que promueven la captura de información en sectores que
trabajan en proyectos conjuntos o comparten resultados usando los recursos de
la red. En esta etapa inicial, la información circulaba libremente y no existía
una preocupación por la privacidad de los datos ni por ninguna otra problemática
de seguridad.
Los protocolos de acceso
fueron diseñados de una forma deliberada para que fueran simples y sencillos.
El poco esfuerzo necesario para su desarrollo y verificación jugó
eficazmente a favor de su implantación generalizada, pero tanto las
aplicaciones como los niveles de transporte carecían de mecanismos de
seguridad que no tardaron en ser echados en falta.
Más recientemente, la
conexión al mundo empresarial se ha producido a un ritmo vertiginoso. Ello ha
significado que esta red se haya convertido en “la red” por excelencia
para esta repartición.
Se ha incrementado la
variedad y cantidad de usuarios que usan la red para fines tan diversos como
el aprendizaje, la investigación, la búsqueda de mercados, la cooperación,
la práctica política. En medio de esta variedad han ido aumentando las
acciones poco respetuosas con la privacidad y con la propiedad de recursos y
sistemas. Hackers, frackers, crakers,
funcionarios corruptos ... y demás familias han hecho aparición en el
vocabulario ordinario de los usuarios y de los administradores de las redes.
La propia complejidad de la
red es una dificultad para la detección y corrección de los múltiples y
variados problemas de seguridad que van apareciendo. Además de las técnicas
y herramientas antes citadas, es importante recalcar que una componente muy
importante para la protección de los sistemas consiste en la atención y
vigilancia continua y sistemática por parte de los gestores de la red.
A la hora de plantearse en
que elementos del sistema se deben de ubicar los servicios de seguridad podrían
distinguirse dos tendencias principales:
·
Protección de los
sistemas de transferencia o transporte. En este caso, el administrador de
un servicio, asume la responsabilidad de garantizar la transferencia segura de
la información de forma bastante transparente al usuario final.
·
Aplicaciones seguras de
extremo a extremo. Si pensamos por ejemplo en correo electrónico
consistiría en construir un mensaje en el cual en contenido ha sido asegurado
mediante un procedimiento de encapsulado previo al envío, de forma que este
mensaje puede atravesar sistemas heterogéneos y poco fiables sin por ello
perder la validez de los servicios de seguridad provistos. Aunque el acto de
asegurar el mensaje cae bajo la responsabilidad del usuario final, es
razonable pensar que dicho usuario deberá usar una herramienta amigable
proporcionada por el responsable de seguridad de su organización. Este mismo
planteamiento, se puede usar para abordar el problema de la seguridad en otras
aplicaciones tales como videoconferencia, acceso a bases de datos, etc.
En ambos casos, un problema
de capital importancia es la gestión
de claves. Este problema es inherente al uso de la criptografía y debe
estar resuelto antes de que el usuario esté en condiciones de enviar un solo
bit seguro. En el caso de las claves secretas el problema mayor consiste en
mantener su privacidad durante su distribución, en caso de que sea inevitable
su envío de un punto a otro. En el caso de clave pública, los problemas
tienen que ver con la garantía de que pertenecen a su titular y la confianza
en su vigencia (que no haya caducado o sido revocada).
Una manera de abordar esta
gestión de claves está basada en el uso de los Certificados de Clave Pública
y Autoridades de Certificación. El problema de la vigencia de la clave se
resuelve con la generación de Listas de Certificados Revocados (CRLs) por
parte de las CAs.
Sistemas
integrados para la seguridad
Todos estos planteamientos
de diversas ubicaciones de servicios de seguridad, algoritmos criptográficos
utilizados y diferentes formas de gestionar las claves, dan lugar a una gran
variedad de sistemas para la seguridad. Normalmente cada sistema incluye además
de cierta gestión de claves - infraestructura para la seguridad - una serie
de aplicaciones seguras (aseguradas sobre la base del planteamiento de extremo
a extremo, al de servicio seguro o una mezcla de ambas) y una serie de
recomendaciones sobre cómo asegurar nuevas aplicaciones. Esta última labor
se facilita habitualmente con la existencia de librerías de funciones que
ejecutan tareas relacionadas con la seguridad.
Implicaciones
legales
La seguridad informática es
rica en implicaciones legales. Las leyes restringen la manipulación abusiva
de datos personales tan comunes como la dirección, teléfono, etc.
obligando a proteger los ficheros que contengan este tipo de datos. Otros
datos personales como los sanitarios, ideología, religión o vida sexual están
especialmente protegidos, requiriéndose permiso escrito del afectado para su
tratamiento o bien, sólo en algunas excepciones, una legislación especial.
Aunque aún no se ha
desarrollado un reglamento, y su incumplimiento es manifiesto, la ley está en
vigor. También el uso y la exportación de criptografía están contemplados
en la legislación de muchos países despertando no poca polémica. En la
mayoría de los países de nuestro entorno, incluida Argentina, se permite
libremente el uso de la criptografía.
Finalmente la validez de la
firma digital ante posibles conflictos o reclamaciones, tampoco está
perfectamente avalada en la legislación vigente. Respecto a su uso en el ámbito
de la contratación privada, - para dar validez a una oferta, encargo u orden
de pago hecha por medios electrónicos - la ley se refiere únicamente a que
se pueda demostrar la voluntad de contratar.
En el ámbito de la
Administración Pública, se reconoce explícitamente la validez de los métodos
electrónicos de transferencia de la información siempre que se garantice la
identidad (servicio de autenticación).
Esta normativa contempla tanto las relaciones entre lo diferentes
departamentos como las de los administrados con la Administración.
Sin embargo, hay que
reconocer que, ni en el derecho mercantil ni en el administrativo hay
jurisprudencia en la aplicación de estas leyes, ya que los interesados que
usan estos procedimientos prefieren llegar a acuerdos antes que recurrir a los
tribunales.
Dentro de Europa, es
excepcional el caso de Francia donde el simple uso de la criptografía está
prohibida a no ser que se disponga de una licencia. En sentido contrario,
algunos países nórdicos no tienen ningún tipo de limitación respecto a la
exportación. Hay que tener en cuenta que este tipo de limitaciones tienen muy
poca efectividad ante la dificultad existente para vigilar la exportación de
software. Por otra parte, aunque se prohíba la exportación de los sistemas
seguros, los algoritmos criptográficos y protocolos para la consecución de
servicios de seguridad son frecuentemente públicos, con lo que los sistemas
se pueden volver a desarrollar en el país de destino.
Entornos
seguros
Los servicios de seguridad
se proporcionan a través de una serie de mecanismos de seguridad que se
basan, en su mayoría, en técnicas criptográficas.
La cantidad y el tipo de
servicios de seguridad que son necesarios en una red dependen de las características
de las aplicaciones que se desean proteger. Por lo tanto, no se puede hablar
de redes seguras en general, sino de entornos seguros formados por una serie
de sistemas integrados para la seguridad, que incluyen además de una serie de
servicios de seguridad sobre varias aplicaciones, una gestión de claves
global.
Como se verá a continuación,
estos sistemas permiten proporcionar servicios de seguridad sobre una o varias
aplicaciones que realizan transferencia de información a través de redes y
la mayoría de ellos utilizan en su base, criptografía de clave pública.
La
necesidad de establecer un entorno seguro
En la actualidad, la falta
de medidas de seguridad en las redes es un problema que está en crecimiento.
Cada vez es mayor el número de atacantes y cada vez están más organizados,
por lo que van adquiriendo día a día habilidades más especializadas que les
permiten obtener mayores beneficios en su labor de piratería.
La criptografía por sí
sola no es suficiente para prevenir los posibles ataques que se perpetran
sobre las redes, sino que es necesario establecer unos mecanismos más
complejos que utilizan los distintos sistemas criptográficos en sus
cimientos. Pero el problema no queda solucionado instalando en una serie de
servidores herramientas de seguridad, porque ¿quién tendría acceso a esas
herramientas?, ¿a qué aplicaciones se aplicarían?, ¿qué sucedería si sólo
uno de los dos interlocutores en una comunicación tiene acceso a herramientas
de seguridad?. Por lo tanto, cuando se habla de seguridad en redes es
necesario definir el entorno en el que se va a aplicar.
La definición de un entorno
seguro implica la necesidad de estudiar varios aspectos y de establecer una
infraestructura que dé soporte a los servicios de seguridad que se quieren
proporcionar. Lo primero que hay que establecer es qué aplicaciones necesitan
seguridad y cuántos servicios se necesitan. En segundo lugar hay que
determinar cómo se van a proporcionar esos servicios, si van a ser
transparentes al usuario, si se le va a dejar elegir el tipo de servicio, etc.
También es necesario determinar en qué nivel se van a proporcionar, si en el
nivel de aplicación o en niveles inferiores. Y sobre todo, tanto si se
utiliza criptografía de clave secreta, como si se utiliza criptografía de
clave pública es necesario diseñar un sistema de gestión de claves y
definir una política que determine la forma en la que se debe operar.
Cuando se utiliza únicamente
criptografía de clave simétrica, aunque el sistema de generación de claves
suele ser sencillo, ya que no se requiere una gran infraestructura para
soportarlo, los mecanismos de distribución de las claves suelen ser muy
complejos. En este caso, los principales parámetros que hay que tener en
cuenta son el modo de difundir la clave secreta de forma segura a las dos
entidades que van a utilizarla y la frecuencia con la que se deben renovar las
claves para evitar que sean desveladas.
Cuando se utiliza criptografía
de clave pública, el sistema de gestión de claves se complica. En primer
lugar es necesario almacenar las claves públicas en un lugar al que tengan
libre acceso todos los usuarios que forman parte del entorno de seguridad.
ITU, en su recomendación X.509, propone la utilización
del Directorio para este fin; pero no todos los usuarios de seguridad tienen
acceso al Directorio X.500, por lo que en muchos entornos es necesario crear o
utilizar otro tipo de bases de datos.
El segundo problema que se
plantea al utilizar criptosistemas de clave pública, es que las claves públicas,
por el simple hecho de ser públicas, están expuestas a la manipulación por
parte de todos los usuarios, por lo que es necesario buscar un mecanismo que
permita confiar en su validez. Siguiendo el ejemplo de los actuales sistemas
legales, aparece la figura de una autoridad de confianza que se encarga de
certificar las claves públicas. Estas autoridades, conocidas con el nombre de
Autoridades de Certificación (CA “Certification Authority”), emiten
certificados de las claves públicas de los usuarios firmando con su clave
secreta un documento, válido por un período determinado de tiempo, que
asocia el nombre distintivo de un usuario con su clave pública. En la
recomendación X.509 se define en sintaxis ASN.1 el siguiente modelo de
certificado:
<FONT=-1
Certificate ::=
SIGNED SEQUENCE{
version
[0] Version DEFAULT 0,
serialNumber
CertificateSerialNumber,
signature
AlgorithmIdentifier,
issuer
Name,
validity
Validity,
SubjectPublicInfo
SubjectPublicInfo,
issuerUniqueId
[1] IMPLICIT BIT STRING OPTIONAL,
SUBJECTUniqueId
[1] IMPLICIT BIT STRING OPTIONAL}
Además, para que los
usuarios puedan estar seguros de la validez de los certificados de las claves
públicas de sus interlocutores, la CA debe mantener una lista con los
certificados emitidos por ella y que han sido revocados por detección de un
uso fraudulento de la clave pública certificada o de la clave secreta
asociada. Estas listas se conocen con el nombre de Listas de Certificados
Revocados (CRL, “Certificate Revocation List”).
Cuando la comunidad de
usuarios crece, una sola CA puede verse desbordada por el número de
certificados que tiene que gestionar. En otros casos, las empresas o
instituciones quieren tener cierto control sobre la manera en que sus usuarios
generan las claves, la caducidad de los certificados, etc. Esto hace
conveniente distribuir las funciones de certificación entre varias CAs, cuya
política de seguridad puede ser diferente. En la recomendación X.509 ya se
prevé la necesidad de una organización de CAs donde se certifiquen unas a
otras, sin indicar el tipo de relación organizativa que se debe establecer
entre ellas. De esta forma, dependiendo de las necesidades de cada entorno han
aparecido distintos modelos de organización de CAs.
Entorno
seguro para la transferencia de información
Uno de los puntos más
vulnerables de las redes frente a ataques de intrusos, es la captura de
información durante su transferencia. Aunque cada sistema que forma parte de
una red se proteja internamente a sí mismo y a la información que tiene
almacenada, cuando la información se transfiere de un sistema a otro no se
conoce a priori el encaminamiento que va a seguir ni las medidas de seguridad
que poseen los sistemas por los que atraviesa y los medios por los que se
transmite. Por este motivo la transferencia segura de información a través
de las redes es en la actualidad, el principal problema que los investigadores
intentan solucionar.
DIATEL ha estado trabajando
en los últimos años en el proyecto de la UE, COST225 “Secure
Communications”, cuya coordinación en la última fase, ha sido llevada a
cabo por uno de los miembros del grupo de seguridad del Departamento, que ha
realizado la función de “chairman”.
El objetivo de este proyecto, que ha concluido al inicio de 1995, ha sido el
de estudiar y experimentar en varios entornos seguros en los que se realiza
transferencia de información, como son el correo electrónico y la
transferencia de ficheros a través de FTP y FTAM. Concretamente, en DIATEL se
ha montado un entorno de seguridad que permite transferir información con
distintos niveles de seguridad, a través de cualquier aplicación.
El desarrollo consta de dos
partes fundamentales. La primera parte consiste en una aplicación, denominada
SECKit,
que permite a un usuario manejar distintas herramientas de seguridad con el
fin de poder convertir a un fichero normal, en un fichero con un cierto nivel
de seguridad. La aplicación SECKit que por su carácter experimental no
incluye una interfaz de usuario amigable, presenta un único menú en el que
aparece la lista de operaciones que permite realizar.
La segunda parte consiste en
el desarrollo de un servidor de seguridad denominado SECServer. Este servidor de
seguridad no sólo oferta los servicios de una autoridad de certificación
(generación de certificados de claves públicas), sino que además ofrece la
posibilidad de generación de claves RSA para aquellos usuarios que no sean
capaces de generarlas, y se encarga del almacenamiento y distribución de los
certificados de los usuarios que lo soliciten. Las peticiones de servicios al
SECServer se realizan a través de correo electrónico y el SECServer envía
los certificados o las claves solicitadas a través de correo electrónico,
FTP o FTAM.
En este entorno de seguridad
los usuarios antes de transferir un fichero lo pueden transformar en un
fichero firmado, en un fichero encriptado con DES o RSA, o en lo que en el
entorno se denomina, un fichero seguro. Y cuando reciben un fichero firmado,
encriptado o seguro, procedente de otro usuario, lo pueden transformar en el
fichero original, verificando la validez de la información recibida.
Un fichero seguro es el
resultado de combinar los mecanismos de seguridad de firma y encriptado con el
fin de proporcionar los servicios de autenticación de origen y destino,
integridad, confidencialidad y no repudio de origen.
Cuando un usuario A desea
enviar un fichero seguro a un usuario B, debe seguir los siguientes pasos:
1.
A debe cifrar el fichero que quiere enviar a B. Para cifrarlo utilizará
una clave simétrica K, generada en ese momento, y un algoritmo de cifrado
DES.
2.
Para que B pueda descifrar el contenido del fichero necesita conocer la
clave K empleada. A debe enviar a B la clave K de una forma segura. Para ello,
A utilizará un algoritmo de cifrado asimétrico RSA y cifrará K con la clave
pública de B. De esta forma se garantiza que el único destinatario que puede
recibir el fichero original es B. Cuando B reciba el fichero seguro, deberá
utilizar su clave secreta para obtener la clave K, de esta forma sólo B podrá
conocer la clave de cifrado empleada, con lo que queda totalmente garantizada
la confidencialidad del contenido del fichero.
3.
Para proporcionar el servicio de integridad y de autenticación del
origen de los datos, A firmará el fichero original comprimiendo el contenido
con una función hash y cifrando el resultado con su clave secreta. Cuando B
reciba el fichero podrá verificar la firma comprobando así la integridad del
mismo y autenticando al originador de los datos. Para verificar la firma, B
deberá descifrarla utilizando la clave pública de A, obteniendo así el
contenido del fichero comprimido. Si B obtiene la clave pública de A de su
certificado, queda garantizado ante la CA que A es quien ha enviado el
certificado. Una vez descifrado el fichero original, B puede comprimirlo con
la función hash que se ha empleado en la firma, comparando el resultado con
el obtenido de la firma, de forma que si ambos coinciden queda garantizado que
el contenido del fichero original no ha sido manipulado durante su
transferencia.
El entorno diseñado en esta
experimentación es un entorno muy abierto. Cualquier usuario de Internet que
tenga correo electrónico puede acceder al SECServer para solicitar claves RSA
o certificados. Si los usuarios del servidor tienen acceso al Directorio X.500,
ellos mismos pueden guardar sus certificados en su entrada correspondiente y
pueden recuperar los certificados de sus interlocutores. Los usuarios que
tienen certificadas las claves publicas por la CA del entorno no necesitan
obligatoriamente tener instalada la aplicación de usuario SECKit para
realizar comunicaciones seguras; basta con que los usuarios tengan un
traductor de sintaxis ASN.1 y una implementación de los algoritmos utilizados
en el entorno.
En la última fase del
proyecto COST 225, varias de las instituciones participantes, y entre ellas
DIATEL, han centrado sus esfuerzos en plantear nuevos modelos en los que
participan varias CAs.
Se han estudiado distintas arquitecturas de organización de las CAs y se han
buscado soluciones para que los usuarios puedan conocer los caminos de
certificación compuestos por los certificados que se deben examinar para que
un usuario A tenga plena confianza en la validez de la clave pública de un
usuario B.
Una
experiencia de entornos seguros en el ámbito académico
Proyecto
PASSWORD
El proyecto PASSWORD Piloting
an European Security Infraestructure for Network Application financiado
por la Unión Europea dentro del programa VALUE tenía como objetivo central
el desarrollo de un entorno de seguridad apropiado para la comunidad
investigadora europea. Se trataba de poner a prueba la madurez de las tecnologías
empleadas en la provisión de servicios de seguridad en redes telemáticas en
aspectos como la adecuación de los protocolos y herramientas criptográficas,
adecuación del hardware disponible (tarjeta inteligente), aspectos ergonómicos,
etc..
Para probar la dificultad
real de desarrollar independientemente sistemas que ínter operen entre sí,
se constituyeron tres consorcios. Cada uno de los consorcios desarrolló un
sistema de seguridad completamente independiente a partir de cero, con los que
luego se probarían distintas comunicaciones seguras. Cada consorcio estaba
formado por instituciones de un país distinto de la Unión Europea y cada uno
estaba liderado por una prestigiosa institución investigadora.
Gran Bretaña, (encabezaba el consorcio el
University College de Londres)
Alemania (GMD), y
Francia (INRIA)
El diseño inicial incluye
una infraestructura de gestión de claves basada en claves certificadas según
X.509 y el aseguramiento de varias aplicaciones de uso común: Directorio
X.500, documentos ofimáticos en formato ODA y correo electrónico, tanto
X.400 (versión 88) como Internet PEM. Cada aplicación era modificada para
hacer uso de los servicios de seguridad y todas ellas usaban una misma
infraestructura de claves. El directorio cumplía una doble función de
aplicación asegurada y colaborador de la infraestructura de certificados al
ser la vía preferida para la distribución de estos.
DIATEL participó en el
proyecto como institución piloto, instalando una DSA segura y dos Autoridades
de Certificación con varios usuarios. Durante la experiencia se pudieron
realizar varias comunicaciones seguras con los otros participantes en el
proyecto. Las aplicaciones probadas fueron, correo Internet PEM y Directorio
seguro X.500 utilizando autenticación fuerte en peticiones y respuestas. Para
ello se utilizó el software público SecuDE 4.2 del GMD
e ISODE 8.0. En el transcurso del proyecto se contribuyó a depurar el
software y afloraron algunas de las limitaciones de este modelo que se exponen
más adelante.
El
Correo PEM
PEM (Privacy Enhancement for
Internet Electronic Mail) es el formato de correo seguro normalizado por
Internet. Incluye los servicios de
autenticación fuerte de origen, integridad, no repudio en el origen y,
opcionalmente, privacidad. Los tres primeros servicios se consiguen por medio
de la firma digital tal y como se pudo anteriormente. Para implementar la
confidencialidad se hace uso del algoritmo simétrico DES: para cada mensaje
se utiliza una clave DES que llamaremos de sesión. Se cifra el mensaje con
esta clave y a continuación se envía encriptada con la clave secreta del
destinatario. De esta manera se garantiza que sólo el destinatario puede
recuperar la clave de sesión y leer el mensaje.
En cualquiera de los casos
(con o sin privacidad) tanto el mensaje como la firma y la clave de sesión se
encapsulan en un formato imprimible (7 bits) que luego puede ser incluido en
un mensaje RFC 822 o bien transmitido por cualquier otro medio. En la
actualidad se trabaja en la implementación de los mismos servicios al correo
multicuerpo y multimedia MIME.
Jerarquía
de certificación
Como se expuso
anteriormente, la existencia de múltiples CAs obliga a establecer algún
modelo organizativo entre ellas. Si la organización es jerárquica, los
problemas de autoridad y consistencia se simplifican. Se llama camino de
certificación al conjunto de certificados que se deben comprobar para llegar
de un usuario A a otro usuario B. Cuando se adopta una estructura
perfectamente piramidal, cada usuario necesita únicamente comprobar los
certificados que de cada CA emite su superior hasta llegar a un punto de
confianza común que en el peor de los casos será el vértice de la pirámide.
En el proyecto PASSWORD se
planteó inicialmente una arquitectura basada en una CA de máximo nivel (Top
Level CA o TLCA) por país y una serie de Policy CAs en un segundo nivel.
Dependiendo de cada Policy CA se extienden una serie de CAs cuyos usuarios
deben cumplir la política de Seguridad establecida por esta Policy CA. De
modo parecido, la comunidad Internet había establecido para su correo seguro
PEM, una jerarquía similar donde todas las Policy CAs son certificadas “a
efectos de registro” por una TLCA llamada Internet Policy Registration
Authority IPRA.
La dificultad para usar simultáneamente ambas jerarquías, y el deseo de
utilizar correo PEM hizo que finalmente se cambiaran las especificaciones y se
adoptara una jerarquía PEM. Al no estar operativa la IPRA en el momento de
las experiencias, se sustituyó por una TLCA creada al efecto que fue operada
por el UCL.
Uno de los requisitos para
el uso de los certificados de clave pública consiste en que se deben
establecer mecanismos que eviten el mal uso de las claves, evitando así que
se extienda la jerarquía más allá de sus límites naturales. Una CA no debe
certificar usuarios fuera del ámbito para el que fue creada. Un usuario
tampoco debe usar su clave pública para emitir un certificado. Para facilitar
la detección de estas irregularidades, tanto la jerarquía inicialmente
planteada en PASSWORD como la jerarquía PEM, establecen la “regla de
subordinación” que indica que el Distinguished Name (DN) de una CA debe ser
un subconjunto del DN del usuario que certifica, garantizando así que el
usuario pertenece a la organización o unidad organizativa asociada con la CA.
Por ejemplo, se detectaría inmediatamente que es fraudulento un certificado
extendido por la CA <C=ES; O=Banca Hispano-Gibratareña; OU=Compras y
Suministros> a favor de un usuario <C=ES; O=UPM; OU=Diatel; CN=Pérez>.
Sólo las TLCAs y las Policy CAs quedan exentas del cumplimiento de esta
regla.
Esta regla, aunque eficaz, se considera demasiado
estricta y plantea problemas derivados, entre otras cosas, de la equivalencia
que se hace del nombre de una organización o un departamento con su CA.
Muchas veces, una organización puede necesitar varias CAs en el mismo lugar
de su árbol organizativo, bien para implementar varias políticas con
distintos grados de confianza, bien para separar usos diferenciados de las
claves (comunicaciones internas frente a externas...). Para solucionar éste y
algunos otros problemas detectados durante el proyecto PASSWORD, se han
propuesto algunas medidas transitorias sobre maneras de organizar la
certificación usando la norma X.509 versión 2 . Además, toda la experiencia
obtenida durante este proyecto y la prueba simultánea de los servicios PEM en
la Internet está siendo de gran utilidad en el proceso de modificación del
formato de certificado. Como resultado existe ya un borrador de X.509 versión
3 que incluye, entre otros, varios campos opcionales para distinguir varias
claves públicas del mismo usuario, distintas políticas de seguridad y
privilegios o acreditaciones asociados a la clave certificada.
Entornos
seguros comerciales
Hoy en día existen ya algunos sistemas integrados de
seguridad que van más allá de desarrollos experimentales y que se pueden
obtener en el mercado informático. DIATEL ha realizado un estudio paralelo de
tres de los sistemas comerciales más conocidos.
KERBEROS
Kerberos que era el perro de tres cabezas que, según
la leyenda, guardaba la puerta de los infiernos, es ahora el encargado de la
seguridad en el proyecto Athena.
En 1983, en colaboración con IBM y con Digital
Equipment Corporation, el MIT emprendió el proyecto Athena, para poner a
disposición de alumnos y profesores, medios informáticos avanzados basados
en la arquitectura cliente-servidor. Kerberos es, por lo
tanto, el sistema de autenticación que usa el proyecto Athena.
El objetivos principal de Kerberos es el de
proporcionar un sistema de autenticación entre clientes y servidores que
evite que las passwords de los usuarios viajen continuamente por la red. El
sistema se basa en una serie de intercambios cifrados, denominados
“tickets” o vales, que permiten controlar el acceso desde las estaciones
de trabajo a los servidores. Kerberos proporciona, asimismo, una serie de
verificaciones criptográficas para garantizar que los datos transferidos
entre estaciones y servidores no estén corrompidos, bien por accidente o bien
por ataques intencionados.
La versión de Kerberos utilizada en el MIT utiliza el
criptosistema simétrico DES, aunque en la actualidad se estén desarrollando
versiones de Kerberos basadas en RSA.
En el entorno Kerberos cuando un usuario desea utilizar
un determinado servicio, envía su “login” (1->) a un centro distribuidor de claves (KerAS), el cual genera un vale con el
“login” del usuario, la hora, un período de validez, el nombre de la
estación de trabajo y una clave de sesión. El vale se cifra con la clave
secreta del centro servidor de claves, se añade de nuevo la clave de sesión
y se cifra todo con la contraseña del usuario, y esta información se
devuelve a la estación de trabajo (1<-). La estación de trabajo solicita
al usuario su contraseña, la convierte en una clave DES, y con ella extrae el
vale y la clave de sesión. A continuación, la estación de trabajo crea una
credencial con la hora actual, el nombre del usuario y la dirección de la
estación, la cifra con la clave de sesión y se la envía al centro
de concesión de vales (KerTGS) junto con el vale que había recibido en
el paso anterior (2->). En el centro de concesión de vales se descifra el
vale y se extrae la clave de sesión que contenía, y se usa esta clave para
descifrar la credencial. Se verifica la validez de los sellos de tiempo y la
concordancia entre vale y credencial y se crea un nuevo vale con una nueva
clave de sesión. El segundo vale se cifra con la clave secreta del servidor,
se le añade la segunda clave de sesión y se cifra todo con la primera clave
de sesión y el resultado se envía de vuelta al cliente (2<-). El cliente
usa la primera clave de sesión para extraer el vale y la segunda clave de
sesión, crea una nueva credencial y la cifra con la segunda clave de sesión,
y envía la credencial cifrada y el vale al servidor (3->), el cual
descifra el vale, descifra la credencial, los compara y si todo es correcto
pasa a proporcionar el servicio solicitado (3<-).
SPX
Es la arquitectura de seguridad desarrollada por
Digital E. C. y propuesta para su elección como estándar dentro de la
iniciativa DCE del llamado “Grupo de Gibraltar”. Usa claves asimétricas
RSA certificadas según la norma X.509 combinadas con el uso de DES como
algoritmo de cifrado con claves de sesión. Al igual que Kerberos dispone de
un centro de autenticación ante el que se identifican los usuarios (LEAF:
Login Enrollment Agent Facility). El otro componente básico es un Centro de
Distribución de Certificados (CDC) que gestiona un repositorio con los
certificados de las claves públicas de clientes y servidores.
El proceso de autenticación se basa en el uso inicial
de una clave privada RSA por parte del usuario que se autentica, esta clave se
sustituye por una clave temporal llamada clave de delegación disminuyendo la
exposición de la clave privada del usuario.
El uso de una jerarquía de
certificados de clave pública permite solucionar los problemas de
escalabilidad que presenta Kerberos.
Pretty
Good Privacy (PGP)
Pretty Good Privacy es un programa de libre distribución
escrito por Phil Zimmermann, un programador independiente y activista de los
derechos civiles, para poner la criptografía al alcance de cualquiera. Se ha
extendido rápidamente por todo el mundo con el consiguiente disgusto del
gobierno norteamericano, que como dijimos mantiene la política de limitar en
lo posible la exportación de material criptográfico. De formato parecido a
PEM, coinciden fundamentalmente en que están concebidos como ‘filtros’
que producen, a partir de una entrada cualquiera, un encapsulado seguro que se
codifica en un formato imprimible (ASCII 7 bits). Este resultado puede luego
incluirse en un correo electrónico, puede ser transferido como un fichero,
enviado en disquete, etc.
Al contrario que PEM usa
claves de sesión IDEA, un algoritmo simétrico, esto es, de claves secretas,
mucho más sólido que DES. La clave de sesión se protege igualmente con un
cifrado RSA usando la clave pública del destinatario.
Para la distribución de claves se ha diseñado un
sencillo formato de certificado, no compatible con X.509, que sirve tanto para
que una autoridad certifique claves ajenas (desempeñando el papel de CA) como
para que un usuario certifique sus propias claves. Queda así al arbitrio del
usuario el establecer sus propios criterios para confiar o no en las claves
ajenas según los certificados que la avalen. En definitiva, cada cual es
responsable de fijar su política de seguridad. En la practica se establecen
caminos de confianza muy fáciles de extender que recuerdan la rapidez con que
se extendieron en tiempos las rutas de correo sobre protocolo UUCP. Al igual
que el UUCP, plantea problemas parecidos de escalabilidad si no se establecen
autoridades de certificación y servidores de claves.
Con sus inconvenientes y sus ventajas, entre las que
destaca su facilidad de uso, la gran difusión de PGP ha hecho de él un estándar
de facto para correo. En la actualidad diferentes grupos trabajan en el
desarrollo de herramientas que faciliten de alguna manera el acceso simultáneo
tanto al mundo PEM como al de PGP.
Entorno
seguro para intercambio electrónico de mensajes EDI y mensajería electrónica
X.400
En la actualidad DIATEL se encuentra trabajando en el
proyecto EDISE. EDISE es el acrónimo de un proyecto de seguridad cuyo título
completo es “Desarrollo de funciones y servicios de seguridad según las
normativas X.400 y X.509 y su integración en entornos EDI”. En este
proyecto, que forma parte del programa PASO, colaboran junto con DIATEL la
Universidad Carlos III, las empresas P3K y el CCS, el Ministerio del Interior
y el CSIC.
Los objetivos principales de este proyecto consisten en
dotar de servicios de seguridad a un servicio EDI que utiliza sintaxis EDIFACT
y en incluir servicios de seguridad en correo electrónico X.400, con el fin
de integrar los resultados obtenidos para proporcionar el servicio EDI sobre
MTAs X.400, conforme a la norma X.435.
Un intercambio EDIFACT está formado por uno o varios
mensajes que llevan una serie de cabeceras y colas con información específica.
Los servicios de seguridad, integridad de secuencia de mensaje, integridad de
contenido del mensaje, autenticación del origen del mensaje y no repudio de
origen pueden estar integrados en el mensaje o se pueden proporcionar en un
mensaje separado.
Todos los servicios mencionados se pueden proporcionar
incluyendo cabeceras y colas de seguridad, después de la cabecera de mensaje
y antes de la cola de mensaje, respectivamente. Las cabeceras de seguridad
especifican los métodos de seguridad asociados al mensaje, y los datos
necesarios para poder realizar los cálculos de validación (identificación
de algoritmos, certificados, etc.). Las colas de seguridad especifican los
resultados de seguridad correspondientes a las funciones especificadas en la
cabecera. La cabecera y cola de seguridad se repiten por cada conjunto de
servicios y originador.
Los servicios de seguridad se pueden proporcionar también,
utilizando un mensaje de seguridad asociado, denominado AUTACK. Este mensaje
específico proporciona los servicios de seguridad para uno o más mensajes.
También se puede utilizar para proporcionar el servicio de no repudio en
destino, dando al emisor un reconocimiento seguro de que el receptor ha
recibido el mensaje original, sin tener que retornarlo.
El servicio de confidencialidad se proporciona
utilizando un nuevo tipo de mensaje llamado CIPHER.
Los
servicios de seguridad
El documento
de ISO que describe el Modelo de Referencia OSI, presenta en su Parte 2 una Arquitectura
de Seguridad.
Según esta arquitectura, para proteger las comunicaciones de los usuarios en
las redes, es necesario dotar a las mismas de los siguientes
servicios de seguridad:
Autenticación
de entidad par. Este servicio corrobora la fuente de una unidad de datos.
La autenticación puede ser sólo de la entidad origen o de la entidad
destino, o ambas entidades se pueden autenticar la una o la otra.
Control
de acceso. Este servicio se utiliza para evitar el uso no autorizado de
recursos.
Confidencialidad
de datos. Este servicio proporciona protección contra la revelación
deliberada o accidental de los datos en una comunicación.
Integridad
de datos. Este servicio garantiza que los datos recibidos por el receptor
de una comunicación coinciden con los enviados por el emisor.
No
repudio. Este servicio proporciona la prueba ante una tercera parte de que
cada una de las entidades comunicantes han participado en una comunicación.
Puede ser de dos tipos:
Con
prueba de origen. Cuando el destinatario tiene prueba del origen de los
datos.
Con
prueba de entrega. Cuando el origen tiene prueba de la entrega íntegra de
los datos al destinatario deseado.
Para
proporcionar estos servicios de seguridad es necesario incorporar en los
niveles apropiados del Modelo de Referencia OSI los siguientes mecanismos de seguridad:
Cifrado.
El cifrado puede hacerse utilizando sistemas criptográficos simétricos o
asimétricos y se puede aplicar extremo a extremo o individualmente a cada
enlace del sistema de comunicaciones. El mecanismo de cifrado soporta el
servicio de confidencialidad de datos al tiempo que actúa como complemento de
otros mecanismos de seguridad.
Firma
digital. Se puede definir la firma digital como el conjunto de datos que se añaden a una unidad de datos
para protegerlos contra la falsificación, permitiendo al receptor probar la
fuente y la integridad de los mismos. La firma digital supone el cifrado, con
una componente secreta del firmante, de la unidad de datos y la elaboración
de un valor de control criptográfico.
La firma
digital descrita por ITU y OSI en el Entorno
de Autenticación del Directorio
utiliza un esquema criptográfico asimétrico. La firma consiste en una
cadena que contiene el resultado de cifrar con RSA aplicando la clave privada
del firmante, una versión comprimida, mediante una función hash
unidireccional y libre de colisiones, del texto a firmar.
Para
verificar la firma, el receptor descifra la firma con la clave pública del
emisor, comprime con la función hash al texto original recibido y compara el
resultado de la parte descifrada con la parte comprimida, si ambas coinciden
el emisor tiene garantía de que el texto no ha sido modificado. Como el
emisor utiliza su clave secreta para cifrar la parte comprimida del mensaje,
puede probarse ante una tercera parte, que la firma sólo ha podido ser
generada por el usuario que guarda la componente secreta.
El
mecanismo de firma digital soporta los servicios de integridad de datos,
autenticación de origen y no repudio con prueba de origen. Para proporcionar
el servicio de no repudio con prueba de entrega es necesario forzar al
receptor a enviar al emisor un recibo firmado digitalmente.
Control
de acceso. Este mecanismo se utiliza para autenticar las capacidades de
una entidad, con el fin de asegurar los derechos de acceso a recursos que
posee. El control de acceso se puede realizar en el origen o en un punto
intermedio, y se encarga de asegurar si el enviante está autorizado a
comunicar con el receptor y/o a usar los recursos de comunicación requeridos.
Si una entidad intenta acceder a un recurso no autorizado, o intenta el acceso
de forma impropia a un recurso autorizado, entonces la función de control de
acceso rechazará el intento, al tiempo que puede informar del incidente, con
el propósito de generar una alarma y/o registrarlo.
El
mecanismo de control de acceso soporta el servicio de control de acceso.
Integridad
de datos. Es necesario diferenciar entre la integridad de una unidad de
datos y la integridad de una secuencia de unidades de datos ya que se utilizan
distintos modelos de mecanismos de seguridad para proporcionar ambos servicios
de integridad.
Para
proporcionar la integridad de una unidad de datos la entidad emisora añade a
la unidad de datos una cantidad que se calcula en función de los datos. Esta
cantidad, probablemente encriptada con técnicas simétricas o asimétricas,
puede ser una información suplementaria compuesta por un código de control
de bloque, o un valor de control criptográfico. La entidad receptora genera
la misma cantidad a partir del texto original y la compara con la recibida
para determinar si los datos no se han modificado durante la transmisión.
Para
proporcionar integridad a una secuencia de unidades de datos se requiere,
adicionalmente, alguna forma de ordenación explícita, tal como la numeración
de secuencia, un sello de tiempo o un encadenamiento criptográfico.
El
mecanismo de integridad de datos soporta el servicio de integridad de datos.
Intercambio de
autenticación.
Existen
dos grados en el mecanismo de autenticación:
Autenticación
simple. El emisor envía su nombre distintivo y una contraseña al
receptor, el cual los comprueba.
Autenticación
fuerte. Utiliza las propiedades de los criptosistemas de clave pública.
Cada usuario se identifica por un nombre distintivo y por su clave secreta.
Cuando un segundo usuario desea comprobar la autenticidad de su interlocutor
deberá comprobar que éste está en posesión de su clave secreta, para lo
cual deberá obtener su clave pública.
Para que un
usuario confíe en el procedimiento de autenticación, la clave pública de su
interlocutor se tiene que obtener de una fuente de confianza, a la que se
denomina Autoridad de Certificación. La Autoridad de Certificación utiliza
un algoritmo de clave pública para certificar la clave pública de un usuario
produciendo así un certificado.
Un
certificado es un documento firmado por una Autoridad de Certificación, válido
durante el período de tiempo indicado, que asocia una clave pública a un
usuario.
El mecanismo
de intercambio de autenticación se utiliza para soportar el servicio de
autenticación de entidad par.
Sección
extraída de la Tesis sobre Seguridad en Sistemas Informáticos – Materia
4042-85
Copyright
© 1998 - 1999 Ing.
Mario A. Groppo – UTN (FRC)