Criptografía y Seguridad de la Información: Conceptos Clave y Amenazas

Criptografía Simétrica y Asimétrica

Los criptosistemas simétricos o de clave privada emplean la misma clave k tanto para cifrar como para descifrar. Su principal inconveniente radica en la necesidad de que la clave k esté presente tanto en el emisor como en el receptor para establecer una comunicación, lo que plantea el desafío de cómo transmitir dicha clave de forma segura.

Los criptosistemas asimétricos o de clave pública utilizan un par de claves: una clave privada (kp) y una clave pública (kP). Una de ellas se usa para la transformación de cifrado (‘E’) y la otra para la transformación de descifrado (‘D’). En muchos casos, estas claves son intercambiables; es decir, si una se emplea para cifrar, la otra sirve para descifrar, y viceversa.

Tipos de Ataques Criptográficos

Los ataques criptográficos se clasifican según la información disponible para el criptoanalista:

  • Ataque de solo texto cifrado: El criptoanalista solo tiene acceso a una colección de textos cifrados o codificados.
  • Ataque de texto plano conocido: El atacante tiene un conjunto de textos cifrados de los que conoce el correspondiente texto plano o descifrado.
  • Ataque de texto plano escogido (o ataque de texto cifrado elegido): El atacante puede obtener los textos cifrados (o planos) correspondientes a un conjunto arbitrario de textos planos (o cifrados) de su propia elección.
  • Ataque adaptativo de texto plano escogido: Similar a un ataque de texto plano escogido, pero el atacante puede elegir textos planos subsiguientes basándose en la información obtenida de los descifrados anteriormente. De manera similar, existe el ataque adaptativo de texto cifrado escogido.
  • Ataque de clave relacionada: Similar a un ataque de texto plano escogido, pero el atacante puede obtener texto cifrado utilizando dos claves diferentes. Las claves son desconocidas, pero la relación entre ambas es conocida; por ejemplo, dos claves que difieren en un bit.

Niveles de Ruptura Criptográfica

La ruptura de un criptosistema puede clasificarse en diferentes niveles:

  • La ruptura total implica que el atacante deduce la clave secreta.
  • La deducción global ocurre cuando el atacante descubre un algoritmo funcionalmente equivalente para el cifrado y descifrado de mensajes, sin obtener la clave.
  • La deducción local (o de instancia) se da cuando el atacante descubre textos planos o cifrados adicionales a los conocidos previamente.
  • La deducción de información implica que el atacante descubre alguna información, en el sentido de Shannon, que no era conocida previamente.
  • La distinción del algoritmo sucede cuando el atacante puede diferenciar la información cifrada de una permutación aleatoria.

Estas categorías pueden aplicarse a ataques sobre otros tipos de algoritmos.

Categorización de Ataques por Recursos

Los ataques pueden categorizarse según los recursos que requieren:

  • Tiempo: El número de «operaciones primitivas» que deben ser realizadas.
  • Memoria: La cantidad de almacenamiento necesaria para realizar el ataque.
  • Datos: La cantidad de textos planos y cifrados necesaria.

Algoritmo DES (Data Encryption Standard)

El algoritmo DES (Data Encryption Standard) codifica bloques de 64 bits utilizando claves de 56 bits. Se basa en una Red de Feistel de 16 rondas, complementada por dos permutaciones: una inicial (Pi) y otra final (Pf), donde Pi es la inversa de Pf (Pi = Pf⁻¹).

S-Cajas (Substitution-boxes)

Para construir algoritmos de producto robustos, se intercalan sustituciones sencillas (confusión) con tablas pequeñas, y permutaciones (difusión). Estas tablas de sustitución, de tamaño reducido, se denominan genéricamente S-Cajas (Substitution-boxes).

La utilización de las S-Cajas es sencilla: el bloque original se divide en segmentos de m bits, y cada uno de ellos se sustituye por otro de n bits, empleando la S-Caja correspondiente. Generalmente, cuanto mayores sean las S-Cajas, más resistente será el algoritmo resultante, aunque la selección de los valores de salida para lograr un algoritmo eficaz no es trivial.

AES (Advanced Encryption Standard) y Diferencias con DES

AES (Advanced Encryption Standard), a diferencia de algoritmos como DES, no utiliza una estructura de red de Feistel. En su lugar, cada ronda se define como una composición de cuatro funciones invertibles distintas, organizadas en tres capas, diseñadas para ofrecer resistencia contra el criptoanálisis lineal y diferencial. Cada función tiene un propósito específico:

  • La capa de mezcla lineal (funciones DesplazarFila y MezclarColumnas) permite obtener un alto nivel de difusión a lo largo de varias rondas.
  • La capa no lineal (función ByteSub) consiste en la aplicación paralela de S-Cajas con propiedades óptimas de no linealidad.
  • La capa de adición de clave es un simple OR-exclusivo (XOR) entre el estado intermedio y la subclave correspondiente a cada ronda.

Modo de Operación ECB (Electronic Codebook)

Ventajas

  • Permite codificar los bloques independientemente de su orden, lo cual es adecuado para cifrar bases de datos o archivos que requieren acceso aleatorio.
  • También es resistente a errores, ya que si uno de los bloques sufre una alteración, el resto permanece intacto.

Desventajas

  • Si el mensaje presenta patrones repetitivos, el texto cifrado también los mostrará, lo cual es peligroso, especialmente al codificar información muy redundante (como archivos de texto) o con patrones comunes al inicio y al final (como el correo electrónico). En estos casos, un atacante podría realizar un ataque estadístico y extraer información significativa.
  • Sustitución de bloques: Si se intercepta una comunicación cuyo contenido es conocido (ej., una transacción bancaria a nuestra cuenta), un atacante podría luego interceptar otras comunicaciones y sustituir los bloques correspondientes al número de cuenta del beneficiario por la versión cifrada de su propio número de cuenta (sin necesidad de descifrarlo).

Modo de Operación CBC (Cipher Block Chaining)

Ventajas

  • Este método evita que un atacante inserte, elimine o reordene bloques del mensaje cifrado.

Desventajas

  • Los textos cifrados correspondientes a dos cadenas que difieran en un único bit serán idénticos hasta el bloque que contenga ese bit, momento a partir del cual serán totalmente distintos. Esto permitiría a un atacante identificar mensajes con inicios comunes. Para mitigar este problema, se recomienda usar un vector de inicialización (IV) diferente para cada mensaje.

Modo de Operación CFB (Cipher Feedback)

Ventajas

  • Una ventaja importante de este modo de operación es que la longitud de los bloques del mensaje puede ser menor que la longitud de bloque que acepta el algoritmo de cifrado.

Autenticación

La autenticación puede implementarse mediante diversas técnicas:

  • Basados en Cifrados por Bloques: Son los más comunes y consisten en cifrar el mensaje empleando un algoritmo por bloques en modo de operación CBC. El valor del MAC (Message Authentication Code) será entonces el resultado de cifrar el último bloque del mensaje.
  • HMAC (Hash-based Message Authentication Code): Se basan en el uso de cualquier función MDC (Modification Detection Code) existente, aplicada sobre una versión del mensaje a la que se ha añadido un conjunto de bits, calculados a partir de la clave que se quiere emplear.
  • Basados en Generadores de Secuencia: Empleando un generador de secuencia pseudoaleatorio, el mensaje se divide en dos subcadenas —correspondientes al mensaje combinado con la secuencia y a la propia secuencia—, cada una de las cuales alimenta un Registro de Desplazamiento Retroalimentado (Feedback Shift Register, o FSR). El valor del MAC se obtiene a partir de los estados finales de ambos registros.

Firma Digital

Las características clave de una firma digital son:

  • Va ligada indisolublemente al mensaje. Una firma digital válida para un documento no puede ser válida para otro distinto.
  • Solo puede ser generada por su legítimo titular. Al igual que cada persona tiene una forma diferente de escribir, y que la escritura de dos personas diferentes puede ser distinguida mediante análisis caligráficos, una firma digital solo puede ser construida por la persona o personas a quienes legalmente corresponde.
  • Es públicamente verificable. Cualquiera puede comprobar su autenticidad en cualquier momento, de forma sencilla.

Certificado Digital

Un certificado digital es un archivo con un formato específico que contiene registros. Dicho archivo es firmado por la Autoridad de Certificación (Certificate Authority, CA). Puede ser verificado por cualquiera que conozca la clave pública de la autoridad.

Claves Compartidas y de Sesión (Desafío-Respuesta)

Las técnicas de desafío-respuesta se utilizan para:

  • Verificar un canal recién establecido.
  • Verificar un canal establecido previamente.

Usualmente son parte de protocolos. Usar siempre los mismos desafíos es peligroso, ya que alguien podría reenviar las respuestas.

Técnicas de Desafío-Respuesta

  • Nonces (Number Used Once): Secuencia de bits aleatorios, típicamente de 32 a 128 bits. Generada por el origen como un desafío. No deben reutilizarse ni memorizarse. Pueden contribuir a la generación de claves.
  • Timestamps: Uso de la hora en el PC de origen (en milisegundos). Asociado a Service time-out.
  • Números de Secuencia: El origen mantiene un contador que se incrementa en cada desafío.
  • Claves: El origen genera una clave k, la envía encriptada. El destino responde usando k. La clave puede ser enviada por medio de un tercero.

Tipos de Claves

  • Claves Compartidas:
    • Existen antes de que el intercambio se inicie.
    • No cambian entre ejecuciones del protocolo.
  • Claves de Sesión (Short-term Keys):
    • Generadas durante la ejecución y válidas durante la sesión.
    • Deben ser seguras por la duración de la sesión. No siempre es necesario que sean criptográficamente fuertes.

Se denomina ‘sesión’ a la ejecución completa del protocolo.

Protocolo Needham-Schroeder

El Protocolo de Clave Simétrica Needham-Schroeder es la base de Kerberos y permite establecer las claves de sesión.

Vulnerabilidad de Needham-Schroeder

  • El paso 3 no está protegido con un nonce.
  • No hay manera de concluir que el paquete del paso 3 es nuevo; puede ser una retransmisión.
  • Un intruso tiene tiempo de sobra para intentar reusar el paquete como si fuera nuevo.
  • Ejemplo: Un empleado descontento aplica los pasos uno y dos repetidamente sobre todos los empleados, obteniendo así los paquetes del paso 3 del protocolo para usarlos cuando desee.

Lógica BAN (Burrows-Abadi-Needham)

La Lógica BAN (Burrows-Abadi-Needham) es un conjunto de reglas para definir y analizar los protocolos de intercambio de información. Específicamente, la lógica BAN ayuda a sus usuarios a determinar si la información intercambiada es de confianza, está protegida contra escuchas ilegales, o ambas. La lógica BAN parte de la suposición de que todos los intercambios de información ocurren en medios de comunicación vulnerables a la manipulación y el control público.

Postulados de la Lógica BAN

  • Postulado 1: Significado del Mensaje
    • De recibir un paquete a creer que el paquete lo envió la contraparte.
    • Si A cree en la clave compartida y ve un paquete cifrado con esa clave, entonces cree que fue enviado por B.
  • Postulado 2: Verificación de Nonce
    • Si se conoce que el paquete fue enviado por B, se confía en la recepción (uso de nonces o timestamps).
    • Si se cree que el paquete es reciente, se puede confiar.
  • Postulado 3: Jurisdicción
    • Si se sabe que el paquete lo envió B y que es reciente, ahora se tiene que creer en B.

Kerberos

Kerberos provee dos servicios fundamentales:

  • Servicio de Autenticación (AS – Authentication Service): Su función es autenticar inicialmente a los clientes y proporcionarles un ticket para comunicarse con el segundo servicio.
  • Servicio de Concesión de Tickets (TGS – Ticket Granting Service): Proporcionará a los clientes las credenciales necesarias para comunicarse con un servidor final que es quien realmente ofrece un servicio.

El AS posee una base de datos de sus clientes (usuarios o programas) con sus respectivas claves privadas, conocidas únicamente por dicho servidor y por el cliente al que pertenecen.

Arquitectura de Kerberos

La arquitectura de Kerberos se basa en tres objetos de seguridad clave:

  • Clave de Sesión
  • Ticket
  • Autenticador

Clave de Sesión

La clave de sesión es una clave secreta generada por Kerberos y expedida a un cliente para su uso con un servidor durante una sesión. No es obligatorio utilizarla en toda la comunicación con el servidor, solo si:

  • El servidor lo requiere (porque los datos son confidenciales).
  • El servidor es un servidor de autenticación.

Las claves de sesión se utilizan para minimizar el uso de las claves secretas de los diferentes agentes; estas últimas son válidas durante mucho tiempo, por lo que es conveniente, para minimizar ataques, utilizarlas lo menos posible.

Ticket

El ticket es un testigo expedido a un cliente del servicio de tickets de Kerberos para solicitar los servicios de un servidor; garantiza que el cliente ha sido autenticado recientemente. Este ticket incluye:

  • El nombre del cliente (C), para evitar su posible uso por impostores.
  • El periodo de validez y la clave de sesión asociada para uso del cliente y el servidor.

Kerberos siempre proporciona el ticket ya cifrado con la clave secreta del servidor al que se le entrega.

Autenticador

El autenticador es un testigo construido por el cliente y enviado a un servidor para probar su identidad y la actualidad de la comunicación; solo puede ser utilizado una vez. Este autenticador contiene:

  • Cifrado con la clave de la sesión.
  • El nombre del cliente.
  • Un timestamp.

Servicios de Seguridad

  • Autenticación: Confirma que la identidad de una o más entidades (usuario, proceso o sistema) conectadas sea verdadera. De igual forma, corrobora a una entidad que la información proviene de otra entidad verdadera.
  • Control de Acceso: Protege a una entidad contra el uso no autorizado de sus recursos. Este servicio de seguridad se puede aplicar a varios tipos de acceso, como el uso de medios de comunicación, la lectura, escritura o eliminación de información, y la ejecución de procesos.
  • Confidencialidad: Protege a una entidad contra la revelación deliberada o accidental de cualquier conjunto de datos a entidades no autorizadas.
  • Integridad: Protege (pero no repara) los datos contra su modificación no autorizada.
  • No Repudio: Este servicio protege contra usuarios que quieran negar falsamente haber enviado o recibido un mensaje.

Ataques a la Seguridad (Clasificación X.800)

Los ataques a la seguridad pueden clasificarse en:

  • Accidentales: Errores de software, errores de hardware, mala administración.
  • Intencionales:
    • Pasivos: Divulgación, análisis de tráfico.
    • Activos: Modificación de datos, retrasos, bloqueo, copia de datos, destrucción de datos.

Imagen

Confusión y Difusión

Las técnicas básicas para ocultar la redundancia en un texto claro son la confusión y la difusión.

  • Confusión: Busca ocultar la relación entre el texto claro y el texto cifrado a partir de la clave k empleada. El mecanismo más simple de confusión es la sustitución, que consiste en cambiar cada ocurrencia de un símbolo en el texto claro por otro.
  • Difusión: Diluye la redundancia del texto claro, distribuyéndola a lo largo de todo el texto cifrado. El mecanismo más elemental para llevar a cabo una difusión es la transposición, que consiste en cambiar de posición elementos individuales del texto claro.

Objetivos de Seguridad de la Información

El objetivo de las medidas de seguridad es minimizar eficientemente los riesgos. El riesgo se define como probabilidad x impacto, aunque el impacto sobre intangibles es difícil de evaluar.

Los principales objetivos de seguridad son:

  • Confidencialidad: Proteger los datos contra la divulgación no autorizada.
  • Integridad: Protege (pero no repara) los datos contra su modificación no autorizada.
  • Disponibilidad: Protege al sistema para que provea los servicios según su diseño.
  • Autenticación de Corresponsal: Verifica la identidad de quien declara estar en el otro extremo.
  • Autenticación de Origen: Verifica la identidad de quien declara ser la fuente de los datos.
  • No Repudio: Protege contra la falsa negativa del remitente; es decir, el remitente no puede negar ser la fuente. Sirve para ambos extremos.
  • Control de Acceso: Protege recursos contra su uso no autorizado.
  • Imputabilidad: Deja constancia de las acciones y sus responsables.
  • Firma: Provee integridad, autenticación, no repudio y no es reutilizable.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.