Implementación práctica de los algoritmos
Hardware Especializado versus Software
A la hora de implementar los algoritmos criptográficos en un sistema de información basado en TICs, y debido a la complejidad de las operaciones que tienen que realizarse con los datos, el hardware especializado resulta mucho más rápido que la implementación mediante software utilizando un procesador de propósito general. Este hardware especializado puede consistir en alguna de las siguientes alternativas:
- Tarjeta criptográfica que se añade a la placa madre de una computadora, que se puede configurar para que realice la encriptación automática de todos los archivos residentes en los diferentes componentes de almacenamiento.
- “Caja de encriptación” para comunicaciones, capaz de realizar la encriptación de todos los mensajes y archivos enviados desde la red de la organización hacia sistemas situados en otras redes.
- Tarjeta chip, consistente en una tarjeta inteligente que incorpora un chip especializado para las operaciones criptográficas.
Los criptoprocesadores, conocidos como HSM (del idioma inglés, Hardware Security Modules) permiten almacenar las claves y realizar todas las operaciones criptográficas en forma segura. Se ha propuesto su clasificación en función del nivel de seguridad, distinguiéndose en la práctica cuatro niveles, desde el nivel 1 para los de menor seguridad hasta el nivel 4 para los más robustos.
Conviene destacar que la implementación mediante hardware de un algoritmo suele resultar más segura que la implementación mediante software. En el proceso de encriptación/desencriptación mediante software, las claves pueden resultar vulnerables al encontrarse en memoria o almacenadas en la computadora que está realizando el proceso. De hecho, un atacante que haya comprometido el dispositivo puede localizar claves criptográficas en el archivo de memoria virtual del sistema operativo, e incluso puede tratar de modificar el propio programa encargado de la implementación del algoritmo o instalar algún tipo de software malicioso que pueda comprometer la seguridad de las claves. No obstante, se han propuesto ataques contra tarjetas criptográficas basados en el análisis de la cantidad de energía eléctrica consumida por el chip al realizar las distintas operaciones con los datos.
También pueden señalarse algunas ventajas de la implementación mediante software, como son la mayor flexibilidad y portabilidad del algoritmo, que puede ejecutarse en un mayor número de sistemas de información, o la facilidad para la actualización del algoritmo mediante nuevas versiones que corrijan vulnerabilidades o mejores sus prestaciones.
Utilización en Protocolos de Comunicaciones para Redes de Computadoras
En dichas redes pueden adoptarse dos estrategias distintas a la hora de utilizar algoritmos criptográficos: realizar encriptación “enlace a enlace” o “extremo a extremo”, tal como se describe a continuación.
La encriptación “enlace a enlace” tiene lugar en los protocolos de las capas inferiores, es decir, a nivel físico, nivel de enlace o nivel de red (según el Modelo de Referencia OSI), estableciendo una clave de sesión compartida por los dos dispositivos que intervienen en cada enlace. Entre sus ventajas, puede destacarse que se trata de un modo de operación del algoritmo criptográfico totalmente transparente al usuario, y que no ofrece ninguna información sobre el tráfico de datos (origen o destino, por ejemplo), ya que todo se envía encriptado.
Como inconvenientes, debe tenerse en cuenta la sobrecarga de trabajo en los dispositivos de red, que deben soportar la encriptación/desencriptación de los paquetes transmitidos y, por lo tanto, requieren de una mayor capacidad de procesamiento. Además, si uno solo de los nodos de conmutación resultase comprometido, es posible revelar la información confidencial a terceros. Por este motivo, tiene que garantizarse la seguridad lógica y física de todos los nodos de la red.
Por otra parte, la encriptación “extremo a extremo” tiene lugar en los protocolos de las capas superiores, es decir, a nivel de transporte, nivel de sesión, nivel de representación o a nivel de aplicación (según el Modelo de Referencia OSI). De esta forma, el proceso de encriptación/ desencriptación sólo es realizado por los dispositivos terminales, sin sobrecargar los dispositivos de red. Además, otra ventaja importante es que en este modo de operación la confidencialidad no depende de la seguridad de los nodos de la red.
Sin embargo, como inconvenientes de la encriptación “extremo a extremo” cabe destacar que se complica la gestión de las claves y que, si un atacante pudiera capturar y analizar el tráfico transmitido por la red (mediante un sniffer, por ejemplo), éste puede obtener información sobre las características básicas de la comunicación: origen, destino o protocolo utilizado, ya que estos datos no se transmiten encriptados.
Por supuesto, también pueden combinarse ambas estrategias de encriptación: “enlace a enlace” dentro de la red y “extremo a extremo” entre los dispositivos finales que intervienen en la comunicación.
Como ejemplos prácticos de aplicación de los sistemas criptográficos en distintos servicios de Internet, pueden destacarse algunos de los más conocidos:
- Encriptación a nivel de aplicación: S/MIME (del idioma inglés, Secure / Multipurpose Internet Mail Extensions), S-HTTP (del idioma inglés, Secure HyperText Transfer Protocol).
- Encriptación a nivel de sesión: SSH (del idioma inglés, Secure Shell).
- Encriptación a nivel de transporte: SSL (del idioma inglés, Secure Sockets Layer).
- Encriptación a nivel de red: IPSec (del idioma inglés, Internet Protocol Security).
Otra cuestión a tener en cuenta es que si bien la criptografía constituye una herramienta imprescindible para garantizar la confidencialidad y la autenticidad de las comunicaciones en una organización, también puede representar un serio obstáculo para el funcionamiento de antivirus, filtros y otros servicios de seguridad que traten de impedir la entrada de contenido malicioso o la salida de información sensible de la organización.