Existen muchas defensas frente a los ataques informáticos, que abarcan toda la gama que va desde la metodología a la tecnología. La herramienta de carácter mas general que esta a disposición de los usuarios y de los diseñadores de sistemas es la criptografia. En esta sección vamos a explicar algunos detalles acerca de la criptografia y de su uso en el campo de la seguridad informática.
En una computadora aislada, el sistema operativo puede determinar de manera fiable quienes son el emisor y el receptor de todas las comunicaciones interpretaros, ya que el sistema operativo controla todos los canales de comunicaciones de la computadora. En una red de computadoras, la situación es bastante distinta. Una computadora conectada a la red recibe bits desde el exterior, y no tiene ninguna forma inmediata y fiable de determinar que maquina o aplicación ha enviado esos bits. De forma similar, la propia computadora envía bits hacia la red sin tener ninguna forma de determinar quien puede llegar a recibirlos.
Comúnmente, se utilizan las direcciones de red para inferir los emisores y receptores potenciales de los mensajes que circulan por la red. Los paquetes de red llegan con una dirección de origen, como por ejemplo una dirección IP. Y cuando una computadora envía mensajes, indica quienes es el receptor pretendido del mismo especificando una dirección de destino. Sin embargo, para aquellas aplicaciones en que la seguridad tenga importancia, correríamos el riesgo de meternos en problemas si asumiéramos que la dirección de origen o de destino de un paquete permite determinar con fiabilidad quien a enviado o recibido dicho paquete. Una computadora maliciosa podría enviar un mensaje con una dirección de origen falsificada y, asimismo, otras muchas computadoras distintas de la especificada por la dirección de destino podrían (y normalmente hacen) recibir un paquete. Por ejemplo, todos los encaminadores ubicados en la ruta hacia el destino recibirán también el paquete. ?como puede, entonces, decidir el sistema operativo si debe conceder una solicitud, cuando no puede confiar en el origen especificado en dicha solicitud? ?y como se supone que debe proporcionar protección para una solicitud o para un conjunto de datos, cuando no puede determinar quien recibirá la respuesta o el contenido del mensaje que envié a través de la red?
Generalmente, se considera impracticable construir una red (de cualquier tamaño) en la que se pueda “confiar” en este sentido en las direcciones de origen y destino de los paquetes. Por tanto, la única alternativa es eliminar, de alguna manera, la necesidad de confiar en la red; este es el trabajo de la criptografia. Desde un punto de vista abstracto, la criptografia se utiliza para restringir los emisores y/o receptores potenciales de un mensaje. La criptografia moderna se basa en una serie de secretos, denominados clave , que se distribuyen selectivamente a las computadoras de una red y se utilizan para procesar mensajes. La criptografia permite al receptor de un mensaje verificar que el mensaje ha sido creado por alguna computadora que posee una cierta clave: esa clave es el origen del mensaje. De forma similar, un emisor puede codificar su mensaje de modo que solo una computadora que disponga de una cierta clave pueda decodificar el mensaje, de manera que esa clave se convierte en el destino . Sin embargo, a diferencia de las direcciones de red, las claves están diseñadas de modo que no sea computacionalmente factible calcularlas a partir de los mensajes que se hayan generado con ellas, ni a partir de ninguna otra información publica. Por tanto, las claves proporcionan un medio mucho mas fiable de restringir los emisores y receptores de los mensajes. Observe que la criptografia es un campo de estudio completo por derecho propio, con una gran complejidad; aquí, vamos a explorar únicamente los aspectos mas importantes de aquellas partes de la criptografia que se relacionan con los sistemas operativos.