Capítulo 3: Seguridad en la comunicación

Publicado por P. Ruiz en

Seguridad básica

Con la amplia difusión que han adquirido las comunicaciones el la actualidad, la seguridad se ha convertido en una preocupación constante en cualquier sistema de información. Su objetivo fundamental será garantizar la integridad y la privacidad de la información que se procese y contemplará los diferentes aspectos del sistema, como los equipos, las aplicaciones, las comunicaciones y a los propios usuarios.

Por otro lado, cuando hablamos de seguridad, deberemos centrarnos en varios aspectos:

  • Confidencialidad: Garantiza que la información sólo estará accesible para quien esté autorizado (usuarios o aplicaciones).

  • Autenticidad: Asegura que el origen de la información es el esperado.

  • Integridad: Los datos no deben ser alterados sin autorización.

  • Disponibilidad: La información debe estar disponible para quienes estén autorizados a obtenerla (usuarios o aplicaciones).

Un aspecto complementario a tener en cuenta es la trazabilidad. Es decir, que se puedan analizar los diferentes cambios que se han aplicado, quién los hizo y en qué momento.

Política de seguridad

Podríamos definir la política de seguridad como la identificación de los elementos a proteger (activos), el análisis detallado de la debilidades a las que se enfrenta el sistema informático (análisis de riesgos) y de los métodos que se aplicarán para alcanzar los objetivos de confidencialidad, autenticidad, integridad, disponibilidad y, en su caso, trazabilidad (gestión de riesgo). Por último, se definirá una estrategia para el caso de que los riesgos se hagan efectivos (plan de contingencia)

Es frecuente que el resultado del análisis anterior se plasme en un documento donde se incluya el grado de alcance previsto en cada uno de los objetivos ya que, en muchas ocasiones, la consecución completa de uno de ellos puede evitar el alcance de otro (por ejemplo, la garantía total de autenticidad puede evitar la disponibilidad en un momento dado).

Ataques a la seguridad

Un ataque a la seguridad consiste en una acción, o conjunto de acciones, que pueden ser intencionadas o casuales, y que pueden llevar a los activos a un estado inseguro.

Los métodos de ataque más habituales se organizan en dos categorías:

  • Físicos: Incluyen cualquier tipo de acción que afecte al funcionamiento de los dispositivos, como la interrupción del suministro eléctrico, el sabotaje de líneas de comunicación, la avería intencionada del hardware, etc.

  • Lógicos: Están relacionados con la intervención sobre el software del sistema informático. Aquí podemos incluir, por ejemplo:

    • Aprovechar defectos conocidos en los programas instalados, o los fallos de seguridad no detectados o que aún no se han corregido. Aquí podemos incluir aplicaciones mal configuradas, utilidades desconocidas por el administrador, puertos abiertos, cuentas de usuario no eliminadas y no supervisadas o, incluso, cuentas sin la debida contraseña.

    • Instalar virus o troyanos en los sistemas.

    • Utilizar las herramientas de seguridad del propio sistema.

    • Aprovechar la presencia de sistemas para desarrollo o pruebas con medidas de seguridad más relajadas

    • Suplantar a un usuario legítimo haciéndose con su contraseña o convencer al administrador para que la cambie.

En cualquier caso, si contemplamos el sistema como el tráfico de información entre un origen y un destino, se podrían establecer los siguientes tipos de amenazas:

  • Interrupción: Se trata de una amenaza a la disponibilidad en la que se aplica alguno de los métodos anteriores para destruir un activo o ponerlo fuera del alcance del destinatario.

    Interrupción
  • Intercepción: Se trata de una amenaza a la confidencialidad en la que alguien, sin autorización, consigue acceder a un activo. Aquí se incluye la duplicación ilícita del propio activo.

    Intercepción
  • Alteración: Se trata de una amenaza a la integridad en la que un activo es accedido y alterado.

    Alteración
  • Invención: Como en el caso anterior, consiste en una amenaza a la integridad donde se insertan objetos falsos en el sistema.

    Invención

Contraseñas

Un método básico de protección frente a intrusiones consiste en utilizar contraseñas. El objetivo de una contraseña es validar el derecho del usuario para utilizar los recursos del sistema.

Un propósito fundamental de los requisitos de seguridad será impedir que una contraseña sea conocida por alguien que no esté autorizado para ello. Y el mejor modo de lograrlo será conocer los métodos más utilizados para averiguar contraseñas. Son estos:

  • Ingeniería social: Consiste en recabar información sobre un usuario legítimo para deducir su contraseña o persuadirlo para que la comunique voluntariamente a una persona no autorizada.

    Por ejemplo, un usuario recibe una llamada telefónica de alguien que se identifica como el administrador del sistema y le informa de que se van a hacer trabajos de mantenimiento para los que se necesitan las contraseñas de los usuarios

  • Ataque basado en diccionario: Se basa en la utilización de una lista de palabras. Con ellas, se automatiza un método de autenticación que las pruebe una a una o con las combinaciones más frecuentes.

    Es importante aclarar que la relación de palabras puede nos ser un diccionario común, sino que incluirá las combinaciones más conocidas de caracteres, nombres de personajes famosos, etc.

  • Ataque por fuerza bruta: Consiste en probar todas las combinaciones posibles, hasta encontrar la que coincida con la contraseña del usuario atacado.

    Este suele ser el último recurso, debido a la cantidad de tiempo que puede requerir.

Para protegernos de estas situaciones, debemos considerar el establecimiento de un protocolo que permita la elección de contraseñas difíciles de averiguar. Por ejemplo, podemos seguir esta serie de recomendaciones:

  1. Aconsejar a los usuarios estrategias para evitar la ingeniería social.

  2. Evitar el uso de palabras o combinaciones de palabras de uso común, que pudieran aparecer en un diccionario.

  3. Crear contraseñas con una longitud suficiente para que no pueda averiguarse fácilmente mediante un ataque por fuerza bruta.

    Puedes recurrir a sitios de Internet, como https://howsecureismypassword.net/, para calcular el tiempo que puede emplear un ordenador en averiguar tu contraseña

Por otro lado, la necesidad de confidencialidad de la contraseña es evidente, pero resulta de vital importancia cuando la autenticación del usuario se produce de forma remota. La contraseña deberá viajar por la red, entre el equipo cliente y el servidor para que éste la valide. En estos casos, debemos prever que un tercer usuario pueda interceptar la comunicación y hacerse con la contraseña compartida.

Para evitarlo, se recomienda que las contraseñas se compartan cifradas entre el cliente y el servidor.

Cifrado

El cifrado es un buen método para poner la información a salvo de miradas no deseadas. Básicamente, consiste en aplicar un algoritmo que transforme un mensaje a partir de una clave. De este modo, únicamente la persona, o personas, que dispongan de dicha clave podrán recuperar el contenido de la información original.

En este contexto, nos referiremos a la información original como texto en claro (en inglés, plain text) mientras que el resultado de la transformación se denomina criptograma. El proceso al que se somete el texto en claro para obtener el criptograma se denomina algoritmo de cifrado.

Existen dos tipos de cifrado en función del número de claves empleadas:

  • Cifrado simétrico: Utiliza una sola clave que se utiliza tanto en el proceso de cifrado como en el proceso de descifrado. Quien conozca esta clave puede suplantar tanto al emisor como al receptor de un mensaje.

    Entre los métodos de cifrado simétrico más conocidos encontramos los siguientes: DES, Triple DES, RC5, Blowfish y AES.

  • Cifrado asimétrico: Utiliza dos claves diferentes: una para cifrar (llamada clave privada) y la otra para descifrar (que se denomina clave pública).

    El método asegura que será imposible averiguar la clave privada partiendo de la clave pública. De este modo, un emisor puede hacer llegar su clave pública a diferentes receptores y, posteriormente, enviarles un mensaje cifrado.

    Se comparte la clave pública

    Los receptores podrán descifrar el mensaje y tener la seguridad de que su origen es legítimo porque estará cifrado con la clave privada del remitente. Además, el emisor no podrá desvincularse del mensaje enviado

    cifrado con clave privada

    Si uno de los receptores necesita contestar, podrá cifrar la respuesta con la clave pública del emisor, que lo descifrará con su clave privada. Así, quien envía la respuesta tiene la seguridad de que sólo el destinatario podrá descifrar la respuesta.

    Respuesta con clave pública

    Por último, si en el caso anterior fuese necesario garantizar también el remitente, puede aplicarse un doble cifrado: primero con la clave privada de quien responde y después con la pública de quien recibe.

    respuesta cifrada y autenticada

    Este tipo de cifrado también suele llamarse Cifrado con clave pública o PKE (del inglés Public-Key Encryption) y, como ejemplos, podemos mencionar RSA, DSA, Diffie-Hellman y ElGamal, entre otros.

    Cuando la pareja de claves (privada y pública) están otorgadas por una Autoridad de Certificación reciben el nombre de Certificado electrónico, y aseguran que la pareja de claves se corresponden con una persona física concreta cuyos datos identificativos son conocidos por la Autoridad de Certificación (nombre, NIF, etc.).

    La Autoridad de Certificación (en inglés, Certification Authority) es un organísmo que se responsabiliza de la emisión (y en su caso, revocación) de Certificados digitales.

    Un Certificado digital es un fichero que relaciona a su poseedor (una persona física o jurídica) con una identidad digital, facilitando una pareja de claves (una pública y otra privada) que facilitan el cifrado asimétrico.

    En definitiva, la Autoridad de Certificación acredita que el poseedor de un Certificado digital es quien dice ser.

    Aunque la Autoridad de Certificación más utilizada en España es la Fábrica Nacional de Moneda y Timbre (http://www.cert.fnmt.es/clase2/main.htm), existen otras, como la Agencia Notarial de Certificación (http://www.ancert.com/) o la Dirección General de la Policía (http://www.dnielectronico.es/) entre otros.

    Si quieres consultar Autoridades de Certificación en otros paises, puedes recurrir a la siguiente página: https://www.tractis.com/help/?p=3670

Normalmente, los métodos de cifrado simétricos son más rápidos que los asimétricos.

Firma electrónica

El objetivo de la firma electrónica es validar la aceptación, por parte de una persona (física o jurídica) del contenido de un documento electrónico (que puede ser un documento pdf, una imagen, una hoja de cálculo, etc). Su objetivo es identificar al firmante, garantizar la integridad de los datos firmados e impedir que el firmante pueda repudiar el documento.

Para lograrlo, el programa o el dispositivo que emite la firma crea una huella digital del documento a firmar. Esta huella digital se obtiene a partir de una función hash que produce una salida alfanumérica, normalmente de longitud fija, que actúa como resumen del documento de origen.

La función hash asegura de una variación en el documento inicial, aunque sea mínima, producirá una huella digital diferente.

Una vez obtenida la huella digital, el programa la codifica con la clave privada del usuario y crea un nuevo documento con el contenido original y el resultado de cifrar la huella digital. Este será el documento firmado que se envía al destinatario.

firma electrónica