Files
etsii-vault/CUARTO/SSII/Teoria_2526.md
2025-10-09 19:25:27 +02:00

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.