Criptosistemas
Un criptosistema es una implementación de técnicas criptográficas y la infraestructura que las acompaña para proporcionar servicios de seguridad de la información. Un criptosistema también se conoce comocipher system.
Analicemos un modelo simple de un criptosistema que brinda confidencialidad a la información que se transmite. Este modelo básico se muestra en la siguiente ilustración:
La ilustración muestra a un remitente que desea transferir algunos datos confidenciales a un receptor de tal manera que cualquier parte que intercepte o escuche a escondidas en el canal de comunicación no pueda extraer los datos.
El objetivo de este simple criptosistema es que al final del proceso, solo el remitente y el receptor conozcan el texto plano.
Componentes de un criptosistema
Los diversos componentes de un criptosistema básico son los siguientes:
Plaintext. Son los datos a proteger durante la transmisión.
Encryption Algorithm.Es un proceso matemático que produce un texto cifrado para cualquier texto sin formato y clave de cifrado. Es un algoritmo criptográfico que toma texto plano y una clave de cifrado como entrada y produce un texto cifrado.
Ciphertext.Es la versión codificada del texto sin formato producido por el algoritmo de cifrado que utiliza una clave de cifrado específica. El texto cifrado no está protegido. Fluye en el canal público. Puede ser interceptado o comprometido por cualquier persona que tenga acceso al canal de comunicación.
Decryption Algorithm,Es un proceso matemático que produce un texto plano único para cualquier texto cifrado y clave de descifrado. Es un algoritmo criptográfico que toma un texto cifrado y una clave de descifrado como entrada y genera un texto sin formato. El algoritmo de descifrado esencialmente invierte el algoritmo de cifrado y, por lo tanto, está estrechamente relacionado con él.
Encryption Key.Es un valor que conoce el remitente. El remitente ingresa la clave de cifrado en el algoritmo de cifrado junto con el texto sin formato para calcular el texto cifrado.
Decryption Key.Es un valor que conoce el receptor. La clave de descifrado está relacionada con la clave de cifrado, pero no siempre es idéntica a ella. El receptor ingresa la clave de descifrado en el algoritmo de descifrado junto con el texto cifrado para calcular el texto sin formato.
Para un criptosistema dado, una colección de todas las claves de descifrado posibles se denomina key space.
Un interceptor(un atacante) es una entidad no autorizada que intenta determinar el texto sin formato. Puede ver el texto cifrado y conocer el algoritmo de descifrado. Sin embargo, nunca debe conocer la clave de descifrado.
Tipos de criptosistemas
Fundamentalmente, existen dos tipos de criptosistemas basados en la forma en que se lleva a cabo el cifrado-descifrado en el sistema:
- Cifrado de clave simétrica
- Cifrado de clave asimétrica
La principal diferencia entre estos criptosistemas es la relación entre el cifrado y la clave de descifrado. Lógicamente, en cualquier criptosistema, ambas claves están estrechamente asociadas. Es prácticamente imposible descifrar el texto cifrado con la clave que no está relacionada con la clave de cifrado.
Cifrado de clave simétrica
El proceso de cifrado donde same keys are used for encrypting and decrypting la información se conoce como cifrado de clave simétrica.
El estudio de criptosistemas simétricos se conoce como symmetric cryptography. Los criptosistemas simétricos también se denominan a vecessecret key cryptosystems.
Algunos ejemplos bien conocidos de métodos de cifrado de clave simétrica son: Estándar de cifrado digital (DES), Triple-DES (3DES), IDEA y BLOWFISH.
Antes de 1970, todos los criptosistemas empleaban cifrado de clave simétrica. Incluso hoy en día, su relevancia es muy alta y se está utilizando ampliamente en muchos criptosistemas. Es muy poco probable que este cifrado desaparezca, ya que tiene ciertas ventajas sobre el cifrado de clave asimétrica.
Las características más destacadas del criptosistema basado en el cifrado de clave simétrica son:
Las personas que utilizan el cifrado de clave simétrica deben compartir una clave común antes del intercambio de información.
Se recomienda cambiar las claves con regularidad para evitar cualquier ataque al sistema.
Debe existir un mecanismo sólido para intercambiar la clave entre las partes comunicantes. Como es necesario cambiar las llaves con regularidad, este mecanismo resulta caro y engorroso.
En un grupo de n personas, para permitir la comunicación bipartita entre dos personas cualesquiera, el número de claves necesarias para el grupo es n × (n – 1)/2.
La longitud de la clave (número de bits) en este cifrado es menor y, por lo tanto, el proceso de cifrado-descifrado es más rápido que el cifrado de clave asimétrica.
La potencia de procesamiento del sistema informático necesaria para ejecutar un algoritmo simétrico es menor.
Desafío del criptosistema de clave simétrica
Hay dos desafíos restrictivos de emplear criptografía de clave simétrica.
Key establishment- Antes de cualquier comunicación, tanto el remitente como el receptor deben acordar una clave simétrica secreta. Requiere un mecanismo seguro de establecimiento de claves.
Trust Issue- Dado que el emisor y el receptor utilizan la misma clave simétrica, existe un requisito implícito de que el emisor y el receptor "confíen" entre sí. Por ejemplo, puede suceder que el receptor haya perdido la clave de un atacante y el remitente no esté informado.
Estos dos desafíos son muy restrictivos para la comunicación moderna. Hoy en día, las personas necesitan intercambiar información con partes desconocidas y no confiables. Por ejemplo, una comunicación entre el vendedor y el cliente en línea. Estas limitaciones del cifrado de clave simétrica dieron lugar a esquemas de cifrado de clave asimétrica.
Cifrado de clave asimétrica
El proceso de cifrado donde different keys are used for encrypting and decrypting the informationse conoce como cifrado de clave asimétrica. Aunque las claves son diferentes, están relacionadas matemáticamente y, por lo tanto, es posible recuperar el texto sin formato descifrando el texto cifrado. El proceso se muestra en la siguiente ilustración:
Clave de cifrado asimétrico fue inventado en la 20 ª siglo para venir a la necesidad de pre-compartida clave secreta entre las personas que se comunican. Las características más destacadas de este esquema de cifrado son las siguientes:
Todos los usuarios de este sistema deben tener un par de claves diferentes, private key y public key. Estas claves están relacionadas matemáticamente: cuando una clave se utiliza para el cifrado, la otra puede descifrar el texto cifrado de nuevo al texto plano original.
Requiere poner la clave pública en un repositorio público y la clave privada como un secreto bien guardado. Por lo tanto, este esquema de cifrado también se llamaPublic Key Encryption.
Aunque las claves públicas y privadas del usuario están relacionadas, computacionalmente no es factible encontrar una de otra. Esta es una de las fortalezas de este esquema.
Cuando Host1 necesita enviar datos a Host2, obtiene la clave pública de Host2 del repositorio, cifra los datos y transmite.
Host2 usa su clave privada para extraer el texto sin formato.
La longitud de las claves (número de bits) en este cifrado es grande y, por lo tanto, el proceso de cifrado-descifrado es más lento que el cifrado de clave simétrica.
El poder de procesamiento del sistema informático requerido para ejecutar un algoritmo asimétrico es mayor.
Los criptosistemas simétricos son un concepto natural. Por el contrario, los criptosistemas de clave pública son bastante difíciles de comprender.
Puede pensar, ¿cómo pueden estar 'relacionadas' la clave de cifrado y la clave de descifrado y, sin embargo, es imposible determinar la clave de descifrado a partir de la clave de cifrado? La respuesta está en los conceptos matemáticos. Es posible diseñar un criptosistema cuyas claves tengan esta propiedad. El concepto de criptografía de clave pública es relativamente nuevo. Se conocen menos algoritmos de clave pública que algoritmos simétricos.
Desafío del criptosistema de clave pública
Los criptosistemas de clave pública tienen un desafío importante: el usuario debe confiar en que la clave pública que está utilizando en las comunicaciones con una persona es realmente la clave pública de esa persona y no ha sido falsificada por un tercero malintencionado.
Por lo general, esto se logra a través de una infraestructura de clave pública (PKI) que consiste en un tercero de confianza. El tercero gestiona de forma segura y da fe de la autenticidad de las claves públicas. Cuando se solicita al tercero que proporcione la clave pública para cualquier persona X comunicante, se confía en que proporcione la clave pública correcta.
El tercero se satisface con la identidad del usuario mediante el proceso de atestación, certificación notarial o algún otro proceso: que X es el único, o globalmente único, X. El método más común para hacer que las claves públicas verificadas estén disponibles es incrustarlas en un certificado firmado digitalmente por el tercero de confianza.
Relación entre esquemas de cifrado
A continuación se ofrece un resumen de las propiedades clave básicas de dos tipos de criptosistemas:
Criptosistemas simétricos | Criptosistemas de clave pública | |
---|---|---|
Relation between Keys | Mismo | Diferente, pero matemáticamente relacionado |
Clave de encriptación | Simétrico | Público |
Clave de descifrado | Simétrico | Privado |
Debido a las ventajas y desventajas de ambos sistemas, los criptosistemas de clave simétrica y de clave pública se utilizan a menudo juntos en los sistemas prácticos de seguridad de la información.
Principio de Kerckhoff para el criptosistema
En la 19 ª siglo, un criptógrafo holandés A. Kerckhoff amueblada con los requisitos de un buen sistema de cifrado. Kerckhoff afirmó que un sistema criptográfico debería ser seguro incluso si todo lo relacionado con el sistema, excepto la clave, es de conocimiento público. Los seis principios de diseño definidos por Kerckhoff para el criptosistema son:
El criptosistema debería ser prácticamente irrompible, si no matemáticamente.
La caída del criptosistema en manos de un intruso no debería provocar ningún compromiso del sistema, evitando cualquier inconveniente para el usuario.
La clave debe ser fácilmente comunicable, memorable y modificable.
El texto cifrado debe ser transmisible por telégrafo, un canal inseguro.
El aparato de cifrado y los documentos deben ser portátiles y ser manejados por una sola persona.
Finalmente, es necesario que el sistema sea fácil de usar, y no requiera esfuerzo mental ni el conocimiento de una larga serie de reglas para observar.
La segunda regla se conoce actualmente como Kerckhoff principle. Se aplica en prácticamente todos los algoritmos de encriptación contemporáneos como DES, AES, etc. Estos algoritmos públicos se consideran completamente seguros. La seguridad del mensaje cifrado depende únicamente de la seguridad de la clave de cifrado secreta.
Mantener los algoritmos en secreto puede actuar como una barrera significativa para el criptoanálisis. Sin embargo, mantener los algoritmos en secreto solo es posible cuando se utilizan en un círculo estrictamente limitado.
En la era moderna, la criptografía debe atender a los usuarios que están conectados a Internet. En tales casos, el uso de un algoritmo secreto no es factible, por lo que los principios de Kerckhoff se convirtieron en pautas esenciales para diseñar algoritmos en la criptografía moderna.