5.4 KiB
TEMA 1: Introducción a la Seguridad
1. Conceptos Fundamentales
Seguridad Informática e Información
Seguridad informática protege infraestructuras tecnológicas y de comunicación, mientras que la seguridad de la información abarca cualquier soporte y las personas que la gestionan. El activo más importante es la información, que debe ser clasificada y protegida.
Gestión y Estrategias
Defensa en profundidad emplea capas de salvaguardas. La seguridad por oscuridad usa el secreto en los detalles. Security by design asume que el diseño puede ser conocido y la clave es el único secreto. Moving-target defense incrementa la dificultad introduciendo cambios continuos en la configuración.
Consecuencias de Mala Gestión
La falta de gobierno en seguridad implica riesgos legales, pérdida de datos, perjuicio reputacional, bloqueo de servicios y delitos como fraude, sabotaje, chantaje o suplantación de identidad.
2. Requisitos de la Seguridad
- Integridad: evitar cambios no autorizados o accidentales.
- Confidencialidad: solo los autorizados acceden a información.
- Disponibilidad: acceso garantizado a usuarios legítimos.
- Identificación, autenticación y autorización como pilares del control de acceso.
- No repudio y auditoría para asegurar responsabilidades.
TEMA 2: Integridad de la Información
1. Definición y Objetivos
Prevenir, detectar y responder a ataques que comprometan la información. Implementar medidas para monitorización y respuesta en caso de incidentes.
2. Hash y Funciones Resumen
Las funciones hash crean resúmenes únicos para detectar alteraciones. Los algoritmos clásicos incluyen MD5, SHA-1 y los más robustos: SHA-224, SHA-256, SHA-384, SHA-512 y SHA-3. MD5 y SHA-1 son vulnerables frente a colisiones hoy día.
Propiedades de un Hash Seguro
- Fácil cálculo
- Unidireccionalidad
- Resistencia a colisiones e inversión
3. Implementación Práctica
Lenguajes modernos (Java, Python) proveen librerías para generar y verificar hashes. Ejemplos: MessageDigest en Java, hashlib en Python.
4. Integridad en Almacenamiento
La monitorización de integridad de ficheros (Tripwire, VeriSys, Nikto) es clave para detectar cambios no autorizados. Se recomienda almacenar los resúmenes en lugares protegidos.
5. Contraseñas y Salting
El uso de salt (valor aleatorio añadido a la contraseña antes del hash) previene ataques de diccionario y rainbow tables. Se recomienda salt variable. Funciones de key stretching como PBKDF2, Bcrypt y Scrypt aumentan la seguridad.
6. Aplicaciones y Utilidades
- Cadena de custodia en análisis forense.
- Identificación rápida de archivos (Git, Dropbox).
- Antivirus y descarga segura de software.
- Blockchain y sellado de documentos digitales.
- Limpieza segura y recuperación de datos (Eraser, Data Shredder, Photorec).
TEMA 3: Confidencialidad de la Información
1. Cifrado Simétrico
Usa una clave secreta compartida. Ejemplos: DES, 3DES, Blowfish, AES, Camellia. AES es el estándar moderno, eficiente y robusto. Existen cifradores de bloque y flujo.
Modos de Operación
ECB cifra bloques independientemente (menos seguro), CBC usa XOR con el bloque anterior (más seguro), CFB y OFB adecuados para streaming. Los modos de relleno permiten cifrar mensajes no múltiplos del tamaño de bloque.
2. Cifrado Asimétrico
Emplea un par de claves pública/privada (RSA, DSA, ElGamal, ECC). La clave pública puede ser divulgada libremente; la clave privada debe mantenerse secreta.
Características del Cifrado Asimétrico
- Más seguro para intercambio de claves, pero más lento y requiere claves más largas.
- Problemas: autenticidad de claves públicas, compromiso de la clave privada, pérdida y lentitud.
3. Acuerdo de Claves y Protocolos
Protocolos como Diffie-Hellman permiten que dos partes acuerden una clave común sin compartirla explícitamente por el canal. Usados en VPN y otros entornos seguros.
4. Protocolos Criptográficos
SSL/TLS y SSH combinan criptografía simétrica y asimétrica para autenticación y transmisión segura. WS utilizan XML Encryption para proteger mensajes a nivel de aplicación.
Implementación en Java y OpenSSL
Java proporciona clases específicas (Cipher, KeyPairGenerator, SecureRandom). OpenSSL es el toolkit estándar para SSL/TLS.
5. Esteganografía
Técnica para ocultar información dentro de otros contenidos. Puede emplearse junto a la criptografía para incrementar la confidencialidad.