Cifrado y autenticación, mecanismos fundamentales para la protección de la información
Debido al
crecimiento de las comunicaciones, mucha información importante transita por
internet, un medio mundial en el que se comparte información y constantemente
hay transferencias de datos. Sin embargo no es un sitio muy seguro, ya que
todos tienen acceso a este y si no se tiene el debido cuidado alguien podría
obtener información confidencial nuestra, es por eso que existen diferentes mecanismos
de seguridad que nos ayudan a proteger nuestra información, como lo son el
cifrado (Simétrico y asimétrico) y la autenticación, pero ¿En realidad estos
mecanismos protegen nuestra información?, pues la respuesta es sí, resultan muy
útiles para asegurar la confidencialidad y genuinidad de la información, sin
embargo tu puedes generarte tu propio criterio.
Como ya se mencionó,
el cifrado es un mecanismo de seguridad, el cual asegura la confidencialidad
del contenido de los menajes por medio de la ocultación de la información
gracias a una clave y un algoritmo. Existen dos tipos de cifrado: El cifrado
simétrico y el asimétrico.
Cifrado simétrico
El cifrado simétrico también conocido como
cifrado convencional, de clave secreta o de clave única era el único utilizado
hasta finales de los 70s, cuando se comenzó a desarrollar el cifrado
asimétrico, sin embargo hoy en día de los dos tipos de cifrado que existen, el
cifrado simétrico es el más utilizado.
Un cifrado
simétrico está formado por 6 componentes: Texto claro, algoritmo de cifrado,
clave secreta, texto cifrado y algoritmo de descifrado.
Texto claro: Es
el mensaje original o los datos sin cifrar, los cuales serán introducidos en el
algoritmo de cifrado.
Algoritmo de cifrado:
Es un conjunto de operaciones ordenadas que realizan varias sustituciones en el
texto claro, y lo transforman.
Clave secreta:
Es una entrada del algoritmo, de la clave dependen todas las sustituciones y
transformaciones que se le hagan al texto claro por medio del algoritmo de
cifrado.
Texto Cifrado:
Es el mensaje ilegible de salida producto de un texto claro que ha pasado por
un algoritmo de cifrado. El texto cifrado depende del texto claro y de la clave
secreta, es decir, el mismo texto cifrado con distintas claves producirá dos
textos cifrados distintos
Algoritmo de
descifrado: Es el algoritmo de cifrado aplicado inversamente. Se toma el texto
cifrado, se aplica el algoritmo de cifrado a la inversa (con la misma clave), y
finalmente se obtiene el texto claro.
Para que un
cifrado simétrico sea seguro, el algoritmo utilizado debe ser robusto, es
decir, que aun cuando un atacante conociera el algoritmo utilizado, este no
pudiera averiguar la clave utilizada. Lo más importante en un cifrado de este
tipo es la privacidad de la clave, tanto el emisor como el receptor deben
conocer la clave y resguardarla de manera segura. No es necesario que el
algoritmo sea secreto, pero la clave sí que debe serlo. Si se conoce el
algoritmo y la clave, todos los mensajes son descifrables.
Cifrado asimétrico
El otro tipo de
cifrado es el cifrado asimétrico, cifrado de dos claves o de clave pública. En
este cifrado el emisor y el receptor utilizan claves diferentes cada uno. Uno
utiliza una clave para cifrar y otro utiliza otra clave distinta para
descifrar.
El cifrado
asimétrico surgió con el fin de darle solución al problema de intercambiar
claves privadas en el cifrado simétrico
El cifrado
asimétrico está conformado por los mismos componentes que el cifrado simétrico:
Texto claro, algoritmo de cifrado, clave, Texto cifrado y algoritmo de
descifrado, sólo que a diferencia del algoritmo simétrico, el asimétrico
utiliza 2 claves, una privada y una pública.
El emisor del
mensaje cifra con la clave pública del receptor, cuando el receptor recibe el
mensaje cifrado con la clave pública, éste lo descifra con su clave privada. En
pocas palabras, la clave pública del receptor es utilizada para cifrar y la clave
privada del receptor es utilizada para descifrar. De esta manera no hay
intercambio de claves, cada quien posee su propia clave privada para poder
descifrar.
Se le llama
clave pública porque más de una persona, aparte de los emisores y receptores,
puede conocerla. La clave pública de una persona está relacionada con la clave
privada de la misma, es decir, a partir de la clave privada de alguien, se
puede calcular su clave pública. Sin embargo la razón por la que en los
cifrados asimétricos una clave se puede hacer pública es porque estos utilizan funciones trampa de un solo sentido. Esto significa
que la clave pública puede ser calculada fácilmente con la clave privada, sin
embargo aplicar el proceso inverso no es tan sencillo, es muy difícil calcular
la clave privada a partir de la pública.
Regresando a los cifrados simétricos, los algoritmos más comunes que estos
utilizan son los cifradores de bloques, estos procesan el texto claro en
bloques de tamaño fijo, y una vez que generan el texto cifrado, el tamaño de
este es el mismo que el del texto claro.
DES (Data Encryption Standard)
El algoritmo de cifrado más utilizado de ese tipo es el DES (Data
Encryption Standard), en este algoritmo el texto claro tiene una longitud de 64
bits y la clave es de 58, aunque si el texto claro es de una longitud mayor a
64 bits, este se divide en bloques de 64 bit para poder ser procesado. El DES
es una variación del cifrado de Feistel. En el DES hay 16 etapas de proceso y
en cada etapa se genera 1 subclave que parte de la clave original. El proceso
de descifrado en DES es el inverso, es decir, como entrada se utiliza el texto
cifrado y se utiliza la última clave, partiendo de esta se utiliza la anterior
y así sucesivamente hasta llegar a la clave original y al texto claro.
Para cifrar el texto claro se divide en dos bloques de igual tamaño, al
bloque del lado derecho se le aplica la clave con la operación correspondiente,
posteriormente a ese resultado se le aplica un xor con el segundo bloque de
información (el izquierdo). Una vez realizado esto, el bloque inicial del lado
izquierdo se pasa al lado derecho. Este proceso se realiza 16 veces con cada
clave, pero en la etapa 16, una vez que se haya realizado el proceso normal,
los dos bloques cambian sus posiciones; el derecho se pasa al lado izquierdo y
el izquierdo se pasa al lado derecho.
Primeramente se decía que el DES era un algoritmo irrompible y que ante un
ataque de fuerza bruta (Se prueban varias claves para ver cuál es la correcta),
ya que para esto existen 256 claves posibles, sin embargo en 1998 se
probó que el DES no era seguro, la EFF (Electronic Frontier Foundation) anunció
que había roto un cifrado en DES con una máquina especial que crearon El “DES
cracker”. Además enseñaron como fabricarla. Sin embargo lo
que la EFF no contempló es que aumentando la longitud de la clave, un ataque de
fuerza bruta resulta inofensivo, aún incluso si se hiciera con la tecnología
que se tiene en la actualidad, con una clave de 128 bits, se tardarían 1018
años en romper el cifrado.
Existe una
variación del DES, la cual es el 3DES o triple DES. En este algoritmo se
utilizan 3 claves y el algoritmo DES original es ejecutado 3 veces. Se toma el
texto claro, se cifra con una clave X (siguiendo el algoritmo DES original),
posteriormente el texto cifrado generado se descifra con una clave X2 (Se
aplica el inverso del DES original), y finalmente se vuelve a cifrar con otra
clave Y.
Para descifrar
en 3DES, se aplica el mismo procedimiento pero a la inversa: Descifrar, cifrar
y descifrar.
El cifrado es un
mecanismo de seguridad que protege ante ataques pasivos, pero para protegerse
de ataques activos en necesario utilizar el mecanismo de seguridad de
autenticación. La autenticación verifica que los contenidos del mensaje no
hayan sido modificados, verifica que no haya habido repetición o retraso del
mensaje y asegura que sea auténtico, es decir que proceda de la fuente
original.
Existen 3 manera
de autentificar un mensaje: Por medio de cifrado convencional, sin cifrado y
por código.
Si sólo el
emisor y el receptor comparten una sola clave es posible realizar la
autenticación, ya que el emisor es el único que puede cifrarlo con esa clave y
el receptor es el único capaz de descifrar el mensaje. Si el cifrado incluye un
código de detección de errores y un sello de tiempo, el receptor puede
asegurarse de que el contenido no ha sido modificado y que el mensaje no fue
retrasado.
Utilizando el
cifrado se posee confidencialidad y autenticidad en los mensajes, sin embargo
hay una manera de autentificar un mensaje sin el cifrado, y esta es por medio
de una referencia de autentificación que se le añade a cada mensaje. En este
caso el mensaje no está cifrado, pero puede ser autentificado, pero ¿Por qué no
cifrarlo?, bueno existen algunos casos en los que conviene autentificar
mensajes sin cifrarlos, por ejemplo cuando la carga de mensajes en tan grande
que no es posible tomarse el tiempo para cifrar cada uno.
Otra manera de
autentificar es por medio de un código de autenticación. El emisor y el receptor
poseen una clave secreta, la cual es utilizada para calcular el código de
autentificación a partir del mensaje y de la clave. El receptor del mensaje
realiza el código de autentificación, y si este coincide con el código recibido
significa que no ha sido alterado, pero como un atacante no conoce el código ni
la clave, si el código calculado no coincide con el enviado, eso significa que
el mensaje ha sido alterado.
En conclusión hay
varios mecanismos de seguridad que ayudan a proteger los mensajes, aseguran su
confidencialidad y su autenticidad, cada mecanismo es distinto, pero ambos
tienen un mismo fin, proteger la información, y la aplicación de estos sí
resulta útil, más aún si se alternan, es decir, se utiliza el cifrado simétrico
y la clave privada se comparte por medio de un cifrado asimétrico, además de
que se utiliza la autenticación para hacer más segura la comunicación. El
cifrado y la autenticación hacen más segura y confiable la comunicación.
Referencias:
William Stallings;(2004) Fundamentos de
seguridad en redes Aplicaciones y Estándares; 2a edición; Editorial Pearson educación; Madrid, España;
Páginas 5-15
Comentarios
Publicar un comentario