La criptografía nació de la necesidad de hacer privada una transmisión de datos, así que en base, la criptografía es el método que se aplica a un mensaje para cifrarlo y descifrarlo de tal manera que solo sea visible el texto en claro para el emisor y el receptor de dicho mensaje, que sea totalmente ilegible para cualquiera que lo intercepte en mitad de la transmisión, y a su vez, que sea lo suficientemente seguro como para aguantar cualquier ataque que pueda comprometer la información que se está transmitiendo.
Existen dos tipos de cifrado según el tipo de sus claves. La criptografía cuyos algoritmos solo usan una clave, o criptografía simétrica, y la criptografía de algoritmos de dos llaves, criptografía asimétrica. Aquí vamos a poder ver cómo funciona cada una y cuáles son sus propiedades y diferencias.
Criptografía simétrica o criptografía de una clave
La criptografía simétrica es la técnica criptográfica más antigua que existe, pero sigue ofreciendo un alto nivel de seguridad. Se basa en la utilización de una única clave secreta que se encargará de cifrar y descifrar la información, ya sea información en tránsito con protocolos como TLS, o información en un dispositivo de almacenamiento extraíble. La criptografía simétrica fue el primer método empleado para el cifrado de la información, se basa en que se utilizará la misma contraseña tanto para el cifrado como el descifrado, por tanto, es fundamental que todos los usuarios que quieran cifrar o descifrar el mensaje, tengan esta clave secreta, de lo contrario, no podrán hacerlo. Gracias a la criptografía simétrica, podremos realizar comunicaciones o almacenar archivos de forma segura.
El cifrado mediante una clave simétrica, significa que, como mínimo, dos usuarios deben poseer la clave secreta. Utilizando esta clave se cifrará y descifrarán todos los mensajes transmitidos a través del canal inseguro, como Internet, de ahí que necesitemos el cifrado de los datos para mantener la confidencialidad. Cualquier usuario que quiera acceder al mensaje cifrado, deberán tener esta contraseña de descifrado, de lo contrario será ilegible.
El método para cifrar los datos se basa en que el emisor va a cifrar el mensaje con su clave privada, lo enviará a través del canal inseguro, y el destinatario lo tendrá que descifrar con la misma contraseña o clave privada que ha usado el emisor.
Hay varios puntos que debe cumplir un algoritmo de clave simétrica para que su uso sea seguro:
- Una vez que se cifra el mensaje, no se podrá obtener la clave de cifrado ni tampoco el mensaje en claro por ningún método.
- Si conocemos el mensaje en claro y el cifrado, se debe gastar más tiempo y más dinero en obtener la clave para acceder al mensaje en claro, que el posible valor que pueda tener la información que se consiga robar.
Los ataques por fuerza bruta son el enemigo real de los algoritmos de criptografía simétrica, hay que tener en cuenta que estos algoritmos son públicos y que la fuerza de los mismos depende directamente de lo complejo que sea el algoritmo internamente, y también de la longitud de la clave empleada para evitar estos ataques.
Lo más importante en la criptografía simétrica es proteger la clave privada o contraseña. El principal problema que se presenta es la distribución de esta clave privada o contraseña a todos los usuarios, tanto emisores como receptores de la información, para cifrar y descifrar la información del mensaje. Es fundamental que todos los usuarios del sistema protejan la clave privada o contraseña lo mejor posible, porque si cae en malas manos, todo el sistema se vería comprometido, teniendo que generar una nueva clave y volviendo a redistribuir la clave privada a los diferentes participantes.
Una de las diferencias que tenemos entre la criptografía simétrica y asimétrica, es que en la simétrica todos los usuarios tienen la misma clave de cifrado/descifrado, si tenemos más de un canal de comunicación, tendremos tantas claves privadas como canales de comunicación paralelos. Sin embargo, en los asimétricos cada usuario tendrá una pareja de claves (pública y privada) para todos los canales de comunicación, no importa el número de canales seguros a mantener, solamente deberemos proteger la clave privada.
La ventaja de los algoritmos de criptografía simétrica es que son rápidos, muy rápidos, además, en los últimos años se han ido incorporando a los procesadores de ordenadores, servidores, routers y otra serie de dispositivos la aceleración de cifrado por hardware, de esta forma, podremos transferir datos vía VPN de forma realmente rápida. La velocidad también depende del algoritmo de cifrado simétrico a utilizar, por ejemplo, AES y ChaCha20 son dos de los más rápidos y seguros que tenemos hoy en día, pero influye mucho el hardware de los equipos.
Sin embargo, el principal punto en contra que se puede encontrar del cifrado simétrico está en que todas y cada una de las parten implicadas tienen que intercambiar la clave que se use para cifrar los datos antes de que se puedan descrifrar. Por lo tanto, este paso de intercambiar y gestionar de manera segura las claves hace que muchos servicios de cifrado tendrán que usar otros tipos de algoritmos de cifrado.
Ahora os vamos a hablar en detalle de dos algoritmos simétricos que se utilizan continuamente en la actualidad, ya sea en las conexiones HTTPS con TLS 1.2 y TLS 1.3, en las redes privadas virtuales con IPsec, OpenVPN o WireGuard, y también en otros ámbitos donde se utilice cifrado de datos, como en VeraCrypt.
AES (Advanced Encryption Standard)
El algoritmo simétrico AES fue el encargado de sustituir al DES, y es el empleado actualmente en todos los canales y protocolos seguros como TLS, FTPES, redes privadas virtuales y mucho más. El cifrado de AES puede ser empleado tanto en software como en hardware, AES es un algoritmo de cifrado por bloques, el tamaño fijo del bloque es de 128 bits. La longitud de la clave se puede elegir, y tenemos disponible 128, 192 y 256 bits, siendo la longitud de 128 bits el estándar, pero también es muy utilizado los 256 bits.
Un aspecto muy importante, es que AES se encarga de generar una matriz de 4×4, y posteriormente se le aplican una serie de rondas de cifrado. Para una clave de 128 bits se aplican 10 rondas de cifrado, para una clave de 192 bits se aplican 12 rondas, y para una clave de 256 bits las rondas aplicadas son 14. Desde los inicios, muchos criptógrafos dudan de su seguridad, y es que se han registrado ataques a un número de rondas cercanas a la ronda final, concretamente se han podido descifrar 7 rondas para claves de 128 bits, 8 rondas para claves de 192 bits y 9 rondas para claves de 256 bits.
El modo de cifrado es la forma en que se gestionan los bloques del mensaje cifrado con AES, existen diferentes tipos, y cada uno de ellos funciona de una forma diferente. Por ejemplo, existe el AES-CBC, AES-CFB y AES-OFB, os vamos a explicar qué es exactamente esto que aparece en las librerías criptográficas como OpenSSL y LibreSSL.
- CBC (Cipher-block chaining): este modo de cifrado ha sido ampliamente utilizado junto con una función hash para comprobar la autenticidad de los datos, y hoy en día se sigue utilizando. Este modo de cifrado consiste en que a cada bloque de texto plano, se le aplica la operación XOR con el bloque de cifrado anterior. Cada bloque cifrado, depende de lo anterior procesado hasta ese punto. Para realizar esta opción XOR con el primer bloque de texto, se hace uso de un vector de inicialización IV. Este modo de cifrado se realiza de forma secuencial, no permite ser tratado de forma paralela para aumentar el rendimiento en el cifrado/descifrado de los datos.
- OFB (Output feedback): en este modo se utiliza la clave secreta para crear un bloque pseudoaleatorio al que se le aplica la operación XOR con el texto en claro para crear el texto cifrado. En este caso también se necesita un vector de inicialización que debe ser único para cada mensaje cifrado. Si no se utiliza un IV diferente, se compromete la seguridad del sistema. Tampoco se puede paralelizar.
- CFB (Cipher feedback): se hace igual que en OFB, pero para producir el keystream cifra el último bloque de cifrado, en lugar del último bloque del keystream como hace OFB. El cifrado no puede ser paralelizado, sin embargo, el descifrado sí.
- GCM (Galois/Counter Mode): este modo de cifrado es uno de los mejores en cuanto a seguridad y velocidad, GCM permite el procesamiento en paralelo y es compatible con procesadores AES-NI para acelerar el rendimiento en cifrado/descifrado de los datos. Este modo de cifrado es AEAD, además de cifrar los datos, también es capaz de autenticarlos y comprobar la integridad de los datos, para asegurarnos que no se ha modificado. GCM puede aceptar también vectores de inicialización aleatorios.
AES es actualmente uno de los algoritmos de cifrado simétrico más importantes y utilizados en todo el mundo, sin embargo, el modo de cifrado más recomendable es AES-GCM ya que incorpora AEAD. Cuando nosotros establecemos una conexión TLS 1.2 o TLS 1.3, el canal de datos casi siempre hace uso de AES-128-GCM o AES-256-GCM, ya que son los dos algoritmos de cifrado simétricos más utilizados por las conexiones HTTPS. Este algoritmo también es ampliamente utilizado en las conexiones FTPES para transferir datos cifrados y autenticados a través de servidores FTP, FTPES hace uso del canal de control basado en TLS 1.2 o TLS 1.3, y el canal de datos utiliza exactamente los mismos algoritmos que las conexiones HTTPS. Finalmente, AES también es ampliamente utilizado por las redes privadas virtuales (VPN) como IPsec o OpenVPN, en ambos protocolos VPN tenemos la posibilidad de elegir este tipo de cifrado simétrico para las conexiones.
Un detalle muy importante es que los procesadores actuales disponen de AES-NI, esto significa que tendremos aceleración de cifrado por hardware, por lo tanto, el cifrado y descifrado de los datos es realmente rápido, casi tanto como si no estuvieran cifrado, por lo que es ideal para conseguir un mayor ancho de banda al usar las VPN, y una mayor velocidad de lectura y escritura al usar servicios FTPES.
Diferencias entre AES-128 y AES-256
En el caso de AES-128, estamos ante un cifrado en el que el algoritmo de clave utiliza una codificación de 128 bits. La cantidad de bits es lo que va a otorgar una mayor protección a ese cifrado. Una clave en concreto que utilice el cifrado AES-128 va a tener dos elevado a 127 posibilidades. Una cantidad para nada despreciable, como podemos imaginar. Por tanto, podemos decir que el 128 es la clave de longitud. Este cifrado apareció en el año 2001 con el objetivo de mejorar lo que había hasta entonces, que eran cifrados de 56 bits. En los inicios, ese cifrado antiguo era más que suficiente para estar protegidos. Sin embargo poco a poco surgieron nuevos equipos que ganaron capacidad para romper las claves. AES-128 llegó para duplicar la cantidad de bits en la codificación, algo que exponencialmente aumentaba considerablemente la seguridad de los cifrados. Desde entonces está disponible para todos, ya que es algo que podemos encontrar en una gran cantidad de programas, como pueden ser de mensajería, de cifrado de archivos, etc. A día de hoy los equipos informáticos actuales no tienen la capacidad suficiente para poder romper este cifrado. Se sigue considerando seguro. Ahora bien, ¿hasta cuándo ocurrirá esto? Es una realidad que la tecnología avanza y cada vez tenemos equipos más potentes que son capaces de llevar a cabo operaciones matemáticas con mayor celeridad. Hay que indicar que las primeras pruebas para romper claves de 56 bits tardaron más de 200 días. Sin embargo poco después ya hubo equipos informáticos que lo lograban en apenas 3 días.
AES-256 no es más que una nueva versión del protocolo anterior. Es un cifrado de 256 bits, mucho más poderoso. Esto permite tener una mayor seguridad y que todos los datos estén mucho más seguros ante el hipotético caso de que pudieran romper un cifrado de 128 bits. Hay que tener en cuenta que la Ley de Moore se basa en que conforme pasa el tiempo los microprocesadores son más potentes y tienen una mayor capacidad. Si trasladamos esto a la posibilidad de romper contraseñas y cifrados, es lógico pensar que tarde o temprano puede ocurrir con el AES-128. Esto lo evitamos, al menos durante unos cuantos años, con el AES-256. En este caso estamos ante un cifrado con dos elevado a 255 posibilidades. Es algo muy, muy superior a la cifra que conseguimos con AES-128. En caso de que un usuario lleve a cabo un intento de robar una clave por fuerza bruta, se encontraría con infinidad de opciones más respecto al protocolo anterior. La seguridad sería mucho mayor.
¿Será siempre seguro el cifrado AES-256? Lógicamente la tecnología avanza y esto traerá cambios. Con total seguridad en unos años (sean más o sean menos) nos encontraremos con dispositivos que puedan romper una clave de cifrado de este tipo en cuestión de horas o días. Eso obligará a que aparezcan nuevos protocolos más seguros. Romper estos algoritmos es algo que de momento no se ha conseguido. Es por ello que hoy en día cuando un ciberdelincuente roba una contraseña se basa en ataques como el Phishing, métodos de adivinación, keyloggers que recopilen las claves que ponemos, etc.
Hay que indicar que AES se utiliza en diferentes lenguajes de programación, como C, C++, Java o Python. También que está presente en programas de compresión de archivos como pueden ser WinZip, 7 Zip, etc. Por tanto, en este sentido no hay diferencias, ya que el uso es el mismo. Podemos encontrar diferencias evidentes en el algoritmo de clave, ya que en AES-128 utiliza una codificación de 128 bits, mientras que AES-256 utiliza una codificación de 256 bits. Esa es la diferencia más importante de todas. Es lo que otorga realmente una mayor complejidad en este segundo tipo y va a permitir proteger correctamente los dispositivos y programas. Mientras más larga sea la clave, más difícil para un atacante romperla.
Otra diferencia es el número de rondas. En el caso de AES-128 utiliza 10, mientras que AES-256 utiliza 14. Hay que mencionar que el algoritmo se basa en diferentes sustituciones, permutaciones y transformaciones lineales, que se ejecutan en bloques de 16 bytes. Esas operaciones se repiten varias veces y es lo que se denomina como rondas. En cada ronda se calcula una clave única diferente y se incorpora a esos cálculos. Por tanto, existe una diferencia entre una y otra opción.
Llegado a este punto podemos preguntarnos qué tipo de cifrado debemos utilizar. Lo cierto es que ambos, al menos a día de hoy, son totalmente seguros. No ha habido forma de explotar AES-128 y mucho menos AES-256. ¿Debemos evitar usar el primer tipo? Es muy probable que nos encontremos con programas que estén cifrados con AES-128. Eso no es motivo para no utilizarlo o pensar que es menos seguro.
Ahora bien, tarde o temprano la tecnología avanzará. Es posible que en unos años el cifrado AES-128 pueda ser explotado por equipos muy, muy potentes. Incluso AES-256, aunque para esto quedaría mucho más. No obstante, a día de hoy podemos utilizar cualquier tipo de cifrado AES sin temor a que nuestras contraseñas puedan romperse. Ambas opciones son muy seguras y no tendremos problemas. En definitiva, como hemos explicado no existen tantas diferencias entre AES-128 y AES-256 más allá de la cantidad de bits de cada cifrado. La segunda opción es mucho más complicado de romper, pero hay que partir de la base de que a día de hoy nadie ha logrado explotar el cifrado AES-128.
ChaCha20
El algoritmo ChaCha20 es un algoritmo de cifrado simétrico que soporta claves de 128 y 256 bits y de alta velocidad, a diferencia de AES que es un cifrado por bloques, ChaCha20 es un cifrado de flujo. Tiene características similares a su predecesor Salsa20, pero con una función primitiva de 12 o 20 rondas distintas. Su código fue publicado, estandarizado por la IETF en la RFC 7539 y en implementaciones de software, es mucho más eficiente y rápido que AES, por lo que rápidamente se ha hecho un hueco dentro de los algoritmos más usados en la actualidad.
Para saber por qué se ha hecho tan famoso, vamos a meter a Google de por medio para que se pueda entender todo mucho más rápido. Las conexiones HTPPS están enfocadas a ofrecer la máxima seguridad en las webs que visitamos todos los días, fue el siguiente paso del protocolo HTTP el cual no tenía protección alguna. El cifrado, sin embargo, varía de un navegador a otro. Hasta hace algunos años, Chrome para Android ha estado utilizando AES-GCM como algoritmo de cifrado simétrico, sin embargo, Google lleva trabajando desde hace muchos años en cifrados más actuales, seguros y rápidos.
El salto de popularidad se produce cuando, tras su puesta en marcha en la versión de escritorio de Chrome, llega a Android el nuevo ChaCha20 para la encriptación y Poly1305 para la autenticación. Un trabajo titánico que se traduce en un algoritmo simétrico que ofrece más seguridad, y que es inmune a varios tipos de ataques. Sin embargo, lo más destacable es que consigue un rendimiento tres veces superior a protocolos algo más antiguos como puede ser AES, de esta manera, también se aprovechan mejor las capacidades de la CPU y se hace notar una reducción del 16% en el ancho de banda utilizado, lo que hace que se pueda aprovechar aún más la conexión.
ChaCha20 se utiliza ampliamente en las conexiones HTTPS, actualmente si queremos tener la mejor seguridad podemos elegir entre AES o ChaCha20, no obstante, este último nos proporciona un mayor rendimiento, aunque tengamos aceleración de cifrado por hardware. Este protocolo también se utiliza en las conexiones SSH para administrar servidores, de esta forma, podremos no solamente administrarlos, sino hacer uso del protocolo de transferencia de ficheros basado en SSH que es SFTP, por lo que tendremos un gran rendimiento. Por último, otro protocolo muy popular que usa ChaCha20 es VPN WireGuard, de hecho, este protocolo de VPN solamente nos permite usar ChaCha20, por este motivo (entre otros) es mucho más rápido que OpenVPN o IPsec, aunque tengamos aceleración de cifrado por hardware.
Hasta aquí la explicación de la criptografía simétrica, hemos comentado los dos algoritmos que se usan frecuentemente en la actualidad, hay muchos más que en el pasado fueron muy relevantes, sobre todo para el desarrollo de los actuales, ya que las bases de los nuevos se asentaron sobre la experiencia de los viejos, sus errores y sus ventajas. Algoritmos como el DES, 3DES, RC5 o IDEA allanaron el camino a los nuevos para que hoy tengamos unos algoritmos de cifrado realmente fuertes y con capacidad para aguantar ataques y proteger toda nuestra información de manos indeseadas y malintencionadas.
Cifrado TwoFish
Lo primero que vamos a ver acerca de este cifrado, es de qué se compone. Estamos ante un cifrado de clave simétrica, que dispone de un tamaño de bloque de 128 bits, lo que puede verse a priori, como muy seguro ante ataques de fuerza bruta, al requerir grandes capacidades de procesamiento para poder descifrarlo. La longitud de su clave puede variar entre los 128, 192 o 256 bits. Es de código abierto, y su uso es totalmente gratuito.
Está pensado y optimizado para usarse en unidades de procesamiento de 32 bits tanto en entornos de hardware y software. Nació en el año 1998, y se estableció como uno de los mejores algoritmos de cifrado, que entraría en sustitución de DES. Pero fue descartado porque a pesar de ser muy seguro, resultaba muy lento en comparación con otros algoritmos de la competencia. Por lo cual, si es usado para cifrar grandes cantidades de datos, puede hacer que el programa que usamos para transmitir los datos, se ejecute de forma notablemente más lenta.
TwoFish utiliza una clave para cifrar y descifrar todos los datos e información, soporta las claves junto con la información sin ningún tipo de formato. Una vez recibida toda la información, la cifra, por lo cual ya no es visible sin pasar por el proceso de descodificación. Todos estos datos, se enviarán al usuario o sistema final, acompañados de la clave de cifrado, para que se pueda ver la misma.
Otro punto interesante de TwoFish, son las cajas de sustitución (S-Boxes), las cuales son calculadas previamente y dependen de la clave. Estas con un componente básico del algoritmo, y se utilizan para hacer menos visible la relación entre un texto plano y uno cifrado. Pero estas pueden ser el talón de Aquiles del algoritmo, pues pueden ser vulnerables a ataques de canal lateral. En todo caso, el riesgo se minimiza en gran medida, al hacer que las S-Boxes dependan de la clave transmitida.
Criptografía asimétrica o criptografía de clave pública
La criptografía de clave asimétrica también es conocida como clave pública, emplea dos llaves diferentes en cada uno de los extremos de la comunicación para cifrarla y descifrarla. Cada usuario de la comunicación tendrá una clave pública y otra privada. La clave privada tendrá que ser protegida y guardada por el propio usuario, será secreta y no la deberá conocer absolutamente nadie ni tampoco debe ser enviada a nadie. La clave pública será accesible por todos los usuarios del sistema que quieran comunicarse.
La fortaleza del sistema por el cual es seguro este tipo de algoritmo asimétrico, es que está basado en funciones matemáticas las cuales son fáciles de resolver en un sentido, pero que su resolución en sentido contrario es extremadamente complicada, a menos que se conozca la clave. Las claves públicas y privadas se generan simultáneamente y están ligadas la una a la otra. La relación entre ambas debe ser muy compleja, para que resulte muy difícil que obtengamos una clave a partir de la otra, en este caso, que obtengamos la clave privada puesto que la pública la conoce toda persona conectada al sistema.
Las parejas de claves tienen varias y muy importantes funciones, entre las que destacamos:
- Cifrar la información.
- Asegurar la integridad de los datos transmitidos.
- Garantizar la autenticidad del emisor.
Cifrado con clave asimétrica
Si una persona con una pareja de claves cifra un mensaje con la llave pública del receptor, ese mensaje sólo podrá ser descifrado con la llave privada asociada. Si encriptamos un mensaje con la clave privada, no podremos desencriptarlo con la propia clave privada, deberemos usar la pública (en este caso no se considera cifrado, sino que se comprueba la autenticidad del emisor, con ello comprobaremos que el emisor es quien realmente dice ser).
La estructura matemática del funcionamiento del cifrado asimétrico es esta:
- Mensaje + clave pública = Mensaje cifrado
- Mensaje encriptado + clave privada = Mensaje descifrado
- Mensaje + clave privada = Mensaje firmado
- Mensaje firmado + clave pública = Autenticación
Como hemos comentado antes al hablar de la criptografía de clave simétrica, el cifrado simétrico aporta confidencialidad (sólo podrá leer el mensaje el destinatario). La criptografía asimétrica proporciona otras propiedades: autenticidad, integridad y no repudio. Para que un algoritmo sea considerado seguro debe cumplir lo siguiente:
- Si se conoce el texto cifrado, debe resultar muy difícil o prácticamente imposible extraer el texto en claro y la clave privada por cualquier método.
- Si se conoce el texto en claro y el cifrado, debe resultar más costoso obtener la clave privada que el texto en claro.
- Si los datos han sido cifrados con la clave pública, sólo debe existir una clave privada capaz de descifrarlo, y viceversa.
La ventaja del cifrado asimétrico sobre el simétrico, radica en que la clave pública puede ser conocida por todos los usuarios del sistema, sin embargo, no ocurre esto con la clave privada, y por parte del cifrado simétrico deben conocer la misma clave los dos usuarios (y la clave debe hacerse llegar a cada uno de los distintos usuarios por el canal de comunicación establecido).
Dónde se puede utilizar
Hay que tener en cuenta que la criptografía de clave pública lo cierto es que se suele usar en el tráfico de correo electrónico. Por ejemplo, como en el método de cifrado estándar S/MIME, en las firmas digitales o hasta en los protocolos criptográficos como SSL/TLS, SSH y HTTPS. Además de esto, lo cierto es que también se pueden combinar con métodos simétricos.
Si es este último caso, los criptosistemas se combinan con métodos simétricos intercambiando de primeras el cifrado asimétrico, aunque la comunicación se cifra de manera simétrica. Esto se conoce como sistema híbrido y se usa en el momento en el que los usuarios necesitan de la velocidad de la opción simétrica y también de la seguridad de la criptografía asimétrica.
Funcionamiento del sistema simétrico y asimétrico
El principal inconveniente que tiene este tipo de cifrado es la lentitud, el empleo de este tipo de claves ralentiza el proceso de cifrado de la comunicación. La solución a esto es usar tanto el cifrado asimétrico como el simétrico (como hacen protocolos como el IPSec o OpenVPN para las redes privadas virtuales, el HTTPS para las conexiones web seguras, o en las conexiones SFTP/FTPES).
Esta combinación de cifrados sucede de la siguiente manera. Creamos la clave del algoritmo simétrico, la ciframos con la clave pública del receptor, enviamos los datos cifrados por el canal de comunicación inseguro, y a continuación, el receptor descifrará los datos mediante su llave privada. Con la clave del algoritmo simétrico en los dos puntos, es cuando puede empezar la comunicación mediante el cifrado simétrico, lo que hace que la comunicación sea mucho más rápida que si usáramos solo criptografía asimétrica en toda la comunicación.
El ejemplo claro de donde se usa este tipo de método combinado son las VPN, como OpenVPN o IPsec, en ellas, la clave de sesión que es conocida por los usuarios, se regenera cada cierto tiempo para incrementar aún más la seguridad en la comunicación, sin que ello conlleve un retardo significativo en la transferencia de los datos.
Desafío-Respuesta
Para aumentar la seguridad, este método comprueba que el emisor es realmente quien dice ser, para ello se envía un texto al emisor y éste lo cifrará con su clave privada (lo que está haciendo realmente es firmarlo), el emisor nos enviará el texto cifrado (firmado) y nosotros descifraremos la clave (comprobaremos la firma) aprovechando que tenemos la clave pública del emisor, y por último, compararemos que el mensaje obtenido sea el mismo que enviamos anteriormente.
Si algún usuario se hace pasar por el emisor real, no tendría la clave privada por lo que el «desafío» no hubiera resultado satisfactorio y no se establecería la comunicación de los datos.
Firma digital
La firma digital permite al receptor de un mensaje que el origen es auténtico, también podremos comprobar si el mensaje ha sido modificado. Falsificar una firma digital es casi imposible a no ser que conozcan la clave privada del que firma (y ya hemos dicho anteriormente que la clave privada debe estar guardada, y que no la debe saber nadie). Aquí están las dos fases para la realización de la firma digital:
- Proceso de firma: el emisor cifra los datos con la clave privada y lo manda al receptor.
- Verificar la firma: el receptor descifra los datos usando la clave pública del emisor y comprueba que la información coincide con los datos originales (si coincide es que no se ha modificado).
En las firmas digitales se hace uso de las funciones hash como SHA2-256 y SHA2-512 ya que, como hemos explicado anteriormente, el cifrado asimétrico es lento. El emisor de la comunicación aplicará la función HASH al mensaje original para obtener con ello la huella digital. A continuación, se cifrará la huella con la clave privada y se envía al destinatario por el canal inseguro para que la descifre. El destinatario también aplicará la función hash a sus datos y comparará los resultados (la que ha obtenido y la que ha recibido). Si el resultado de la comparación de estos datos es negativo, es decir, que hay diferencias entre lo obtenido y lo recibido, la información ha sido alterada y los datos de la huella digital habrán cambiado. Si el resultado es el mismo, se llevará a cabo la comunicación sin problemas.
Con todo esto hemos cumplido:
- Autenticidad, el emisor es quien dice ser. La firma en origen y destino es la misma.
- Integridad, el mensaje no ha sido modificado. Lo obtenido y lo recibido es igual.
- No repudio, el emisor no puede negar haber enviado el mensaje al receptor. La firma digital no varía.
Si queremos introducir la confidencialidad a la comunicación, lo único que hay que hacer es que el emisor cifre el mensaje original con la clave pública del receptor.
Algoritmos de cifrado de clave asimétrica
Ahora listaremos los dos principales algoritmos asimétricos que se utilizan en la actualidad y os explicaremos el funcionamiento de los mismos.
Diffie-Hellman
No es un algoritmo asimétrico propiamente dicho, es un protocolo de establecimiento de claves, se usa para generar una clave privada a ambos extremos de un canal de comunicación inseguro. Se emplea para obtener la clave privada con la que posteriormente se cifrará la información junto con un algoritmo de cifrado simétrico. El punto fuerte del Diffie-Hellman es que, su seguridad radica en la dificultad de calcular el logaritmo discreto de números grandes (Diffie-Hellmann también permite el uso de curvas elípticas).
El problema de este algoritmo es que no proporciona autenticación, no puede validar la identidad de los usuarios, por tanto, si un tercer usuario se pone en medio de la comunicación, también se le facilitaría las claves y, por tanto, podría establecer comunicaciones con el emisor y el receptor suplantando las identidades. Para evitar esto existen varias soluciones que mitigan y solucionan el problema, como hacer uso de certificados digitales.
RSA
El algoritmo asimétrico por excelencia, este algoritmo se basa en la pareja de claves, la pública y la privada de las que ya hemos hablado con anterioridad. La seguridad de este algoritmo radica en el problema de la factorización de números enteros muy grandes, y en el problema RSA, porque descifrar por completo un texto cifrado con RSA no es posible actualmente, aunque sí un descifrado parcial. Algunas características muy importantes de RSA es la longitud de clave, actualmente como mínimo se debe utilizar una longitud de 2048 bits, aunque es recomendable que sea de 4096 bits o superior para tener una mayor seguridad.
Ventajas:
- Se resuelve el problema de la distribución de las llaves simétricas (cifrado simétrico).
- Se puede emplear para ser utilizado en firmas digitales.
Desventajas:
- La seguridad depende de la eficiencia de los ordenadores.
- Es más lento que los algoritmos de clave simétrica.
- La clave privada debe ser cifrada por algún algoritmo simétrico.
DSA
Este algoritmo es también puramente asimétrico, una desventaja de DSA es que quiere mucho más tiempo de cómputo que RSA a igualdad de hardware. DSA se utiliza ampliamente como un algoritmo de firma digital, es actualmente un estándar, pero DSA no se utiliza para cifrar datos, solamente como firma digital. Este algoritmo se utiliza ampliamente en las conexiones SSH para comprobar la firma digital de los clientes, además, existe una variante de DSA basada en curvas elípticas (ECDSA), y está disponible en todas las librerías criptográficas actuales como OpenSSL, GnuTLS o LibreSSL. Otra característica de DSA es la longitud de clave, la mínima longitud de clave es de 512 bits, aunque lo más habitual es usar 1024 bits.
El algoritmo DSA es el utilizado de forma predeterminada por OpenSSH, el popular software del servidor/cliente SSH que usamos ampliamente en cualquier servidor NAS, router o switch compatible con este protocolo, además, tenemos también una compatibilidad perfecta con los diferentes sistemas operativos, independientemente del software utilizado. DSA suele ser más utilizado en SSH que el popular RSA.
Ahora conoces los dos tipos de criptografía y las propiedades de cada una, con ello sabrás dónde merece la pena usar un tipo y dónde el otro. Con el tiempo estos métodos variarán o se actualizarán a unos más seguros, ya que con el crecimiento del rendimiento de los ordenadores se consigue potenciar los ataque a este tipo de método de seguridad, pero ahora mismo, los que están vigentes y siguen usándose por no haber sido desbancados aún, son los que os acabamos de explicar.
Qué es ECC y en qué se diferencia de RSA
ECC son las siglas de criptografía de curva elíptica. Se trata de un método de criptografía asimétrica o clave pública. Tiene diferencias respecto a RSA. La diferencia más importante es el tamaño de las claves. Ofrece la misma seguridad que RSA, pero las claves son mucho más pequeñas. Una clave ECC de 256 bits equivale a una clave RSA de 3072, por lo que hay una diferencia considerable.
Pero también ofrece otras mejoras ECC. Por ejemplo, si lo comparamos con RSA es mucho más ligero, rápido y seguro. Esto hace que se utilice cada vez más en certificados SSL/TLS. Además, ECC es compatible con la mayoría de sistemas operativos y navegadores actuales, por lo que facilita mucho su uso. Es compatible en sistemas como Windows (desde la versión Vista), macOS, Android o iOS, así como en los principales navegadores como son Google Chrome, Mozilla Firefox, Opera o Edge.
Si hablamos estrictamente de seguridad, hay numerosos ataques que se han implementado contra RSA. ECC en este sentido aporta mayor seguridad y beneficios como los siguientes:
- Las claves son más pequeñas, por lo que tendrán un mejor rendimiento con menor sobrecarga.
- El ECC escala mejor, mientras que el RSA se vuelve más lento y pesado.
- ECC es mucho menos vulnerable a Quantum Computing.
El problema más importante que salva ECC es el tamaño y peso de las claves. Como hemos mencionado, son mucho más pequeñas. Puedes ver este cuadro comparativo:
Tamaño de clave ECC | Tamaño de clave RSA |
160 bits | 1024 bits |
224 bits | 2048 bits |
256 bits | 3072 bits |
384 bits | 7680 bits |
521 bits | 15360 bits |
En definitiva, como ves hay diferencias importantes entre ECC y RSA. La primera es más segura, menos vulnerable a ciertos ataques y además es una clave más pequeña y menos pesada. Ha ido dejando poco a poco a un lado a RSA y el hecho de tener una gran compatibilidad ayuda bastante.
Qué es el cifrado pervasivo de IBM
IBM es una de las empresas pioneras en el mundo de la tecnología. En esta ocasión, destaca una de sus soluciones de cifrado que propone ser una de las más seguras, sobre todo, si hablamos de cifrado de datos en tránsito. Algo que mencionamos con frecuencia es que los datos son el activo más valioso, en consecuencia, tanto organizaciones como individuos deben ser conscientes acerca de los avances tecnológicos en cuanto a soluciones de cifrado. IBM propone al cifrado pervasivo, el cual puede ser accesible mediante una plataforma denominada IBM z15.
Una de las tendencias en cuanto a los ciberataques son los filtrados de datos. Los mismos acostumbran a darse en grandes corporaciones. Los cibercriminales no sólo se fijan en el volumen de datos que manejan, sino el contenido y su valor. Los datos personales, bancarios y financieros especialmente, son las presas favoritas de los eventos de filtrado de datos. Algunos pueden pensar que esto no es tan perjudicial como un ataque DDoS, porque los datos quedan solamente expuestos. Sin embargo, el sólo hecho que un importante volumen de datos esté expuesto puede implicar que los mismos puedan venderse con diversos fines. Incluso, es posible encontrar valiosas bases de datos a la venta en la deep web y dark web.
No queda duda que la seguridad y privacidad de los datos se ha convertido en algo obligatorio. Los esfuerzos para llegar al verdadero nivel de cifrado de extremo a extremo no paran. Así también, se está trabajando para originar algoritmos de encriptación más fuertes en el sentido de que sean mucho más difíciles de descifrar. No hay freno cuando se trata de encontrar maneras de ejecutar ciberataques.
El cifrado pervasivo se presenta como una alternativa bastante eficiente en relación a tiempo, dinero y recursos invertidos a la hora de cifrar los datos. Este método de cifrado permite proteger los datos en todos los puntos por donde viaja a través de la red. No sólo se aplica el cifrado cuando están en tránsito, sino también cuando están almacenados (at-rest).
Recordemos que los métodos de cifrados tradicionales se caracterizan por la necesidad de invertir mucho dinero, tiempo y recursos humanos especializados para ejecutar las operaciones. El cifrado pervasivo reduce en gran medida las posibilidades que sea vulnerable ante potenciales ataques. Esto último, sin implicar un esfuerzo extra en cuanto a tiempo, dinero y esfuerzo para implementarlo. La clave de este método de cifrado es que solamente los usuarios que cuentan con la clave pueden acceder a los datos y por ende, descifrarlos.
Esquema de funcionamiento
El cifrado pervasivo es una realidad gracias al mainframe. Es un tipo de ordenador que se caracteriza por ser de lo más seguro que podemos encontrar en el mundo de la computación. Todo el hardware y software necesario para que pueda funcionar reside en una sola máquina. Este tipo de máquinas es comúnmente utilizado para procesar un gran volumen de datos, transacciones y operaciones que requieren un nivel mucho más alto de seguridad. Anteriormente, a un mainframe se lo conocía como un «ordenador muy grande y costoso» que solamente podía estar en manos de grandes organizaciones.
Sin embargo, de acuerdo a IBM, hoy en día si hablamos de mainframe hablamos de una forma de gestionar las operaciones, aplicaciones y recursos de sistema operativo. Igualmente, se mantiene el hecho de que el hardware es distinto al de un ordenador personal (un PC de escritorio o portátil). Hoy en día, ya no son pocas las organizaciones que necesitan de equipamiento adecuado para que su negocio fluya con normalidad y que, sobre todo, sea escalable si hubiese necesidad.
¿Cómo funciona el cifrado en cuestión? Los datos procesados viajarán por la red, justamente, cifrados a nivel de red. Esto hace posible que exista el cifrado de datos en tránsito. En consecuencia, las posibilidades de que un cibercriminal quiera hacer «sniffing» del tráfico se reducen considerablemente. El protocolo utilizado para asegurar a estos datos en tránsito es TLS. Sin embargo, este último puede verse vulnerado ante la posibilidad de que un cibercriminal pueda apropiarse de estos datos cifrados y disminuya su nivel de seguridad a un algoritmo muy fácil de descifrar. Por fortuna, la solución propuesta por IBM cuenta con una tecnología que detecta estos tipos de ataques y los mitiga. Si por algún motivo, el ataque consigue hacerse de los datos, no podrá descifrarlos.
La clave maestra
Otra característica distinta de este método de cifrado es el Master Key (Clave Maestra). Esto es especialmente útil si es que hay riesgos de ciberataques a nivel interno, este tipo de ataques es uno de los que se da con más frecuencia, más que nada porque los autores acostumbran a ser personas que cuentan con los permisos suficientes para acceder a ciertos conjuntos de datos o bien, cuenta con los permisos necesarios para ejecutar acciones que no debería. Supongamos que algún técnico quiera acceder a ciertos datos sensibles y tiene las credenciales para ello. Intenta acceder, pero se topa con la sorpresa de que tiene acceso denegado al contenido de los datos cifrados, pero sí al conjunto de datos en cuestión. Es como que uno reciba un regalo, lo desenvuelve, pero no puede abrir la caja para visualizar su contenido.
¿Cómo sucede esto? Las claves que permiten descifrar el contenido de los datos se encuentran almacenados en una pequeña base de claves que está gobernada por las Master Keys. Por lo que, a pesar de que se tenga acceso a la localidad de los datos, los mismos no serán descifrados en absoluto si es que no se cuenta con dicha clave maestra. No servirá de nada si cuentas solamente con la clave «normal» para descifrar el contenido. Lo mejor de esto es que si personas no autorizadas desean hacerse de las claves maestras, ante algún intento, las mismas pasan a tener valor cero como una medida extra de protección. Única y exclusivamente, las Master Keys pueden ser utilizadas por quienes han solicitado su generación.
En el caso de que estés interesado en saber más respecto a esta solución de IBM, puedes acceder al portal oficial de la misma. En ella, encontrarás material más detallado acerca de los productos y servicios ofrecidos. Además, es posible contar con demos y videos que explican con más alto nivel de detalle acerca de la plataforma IBM z15. ¡Incluso es posible participar de un juego! El mismo se denomina «Desafío de cifrado de datos» y puedes pasar un buen rato además de aprender sobre cifrado pervasivo, esta es una buena oportunidad.
Diferencias cifrado simétrico y asimétrico
Después de explicar cómo funcionan los diferentes tipos de cifrados, vamos a hablar de las diferencias que hay entre el simétrico y asimétrico. Ambos permiten cifrar archivos y usar servicios como el correo electrónico con mayores garantías, pero cuentan con ciertas peculiaridades en cada caso. Por ello, toca conocer cuáles son las principales diferencias que hay entre estos dos tipos de cifrados:
- El uso de claves
La diferencia principal es que el cifrado simétrico utiliza una única clave. Por ejemplo, para enviar un correo electrónico a otra persona ciframos ese mensaje con una llave. Cuando llega al destinatario, éste tiene que usar esa misma clave para descifrarlo y poder leerlo. Por tanto, podemos decir que en este caso el emisor y receptor van a utilizar la misma clave para ese mensaje. Previamente, antes de enviar ese mensaje ambas partes deben comunicarse para conocer cuál es esa llave que van a tener que utilizar.
En cambio, el cifrado asimétrico utiliza dos claves. Una de ellas va a ser privada, mientras que la otra es pública. La clave pública va a encargarse de cifrar el mensaje de ese correo. La privada la va a utilizar el destinatario para descifrar el mensaje. Esto hace que sea más sencillo distribuir las claves y también es más seguro, ya que la clave privada no la va a conocer nadie más.
En este sentido, el cuidado que debemos tener es mayor en el caso del cifrado simétrico, ya que al compartir las claves pueden terminar en malas manos. El cifrado asimétrico no va a poner en riesgo la clave privada, por lo que no debemos de tener tanto cuidado en ese sentido para poder estar protegidos.
- Longitud de las claves
Otra diferencia es la longitud de las claves. En el caso de la simétrica, puede ser más corta que la asimétrica, que necesitan tener una mayor longitud. La asimétrica va a necesitar un mensaje que ocupa más espacio y necesita más tiempo para procesarlo, además de que requiere de mayor potencia de los equipos.
- El tipo de algoritmos
El tipo de algoritmos que se utiliza varía según el tipo de cifrado. En el caso del simétrico, utiliza algoritmos como AES, DES, 3DES o RC4. Respecto al asimétrico, usa algoritmos como DSA o RSA.
Usos más comunes de la criptografía
La criptografía se ha convertido en una parte fundamental sin la que Internet sería un lugar extremadamente peligroso. Esta se encuentra en prácticamente todos los servicios donde se realizan intercambios de datos, y se aplica a gran cantidad de funciones, incluso algunas que es posible que no conozcamos.
La seguridad en las comunicaciones es el uso más frecuente. Nos permite establecer canales seguros sobre las redes que pueden ser potencialmente peligrosas. Hoy en día con la capacidad computacional que hemos conseguido, esto pasa totalmente desapercibido para los usuarios, de forma que se hace rápido y efectivo. Por la contra, si esto se quiere romper y descifrar, será necesario que el mejor superordenador actual, calcule el descifrado durante muchos años para poder ver información encriptada.
La identificación y autentificación es vital. Gracias al uso que se les da a las firmas digitales y demás técnicas, se puede identificar a usuarios y validar sus accesos en todos sus servicios con todas las garantías de seguridad. En todo caso, hoy en día tenemos leyes que están creadas para salvaguardar todos los datos de los usuarios, por lo cual, incluso conociendo esos datos, no se pueden revelar nunca.
La certificación también encuentra un aliado muy importante en la criptografía. Esto busca encontrar agentes fiables que validen identidades. Esto se puede aplicar a los certificados que utilizamos para firmar digitalmente, como puede ser un FNMT, Camerfirma, Razer, entre otros muchos.
En las transacciones cumplen una función vital, ya que permiten que el comercio electrónico se realice con todas las garantías. Por lo cual, si compramos en tiendas online, nadie podrá ver nuestros datos de pago. Esto permite que los riesgos de fraudes disminuyan significativamente. En todo caso, siempre debemos tener cuidado con las tiendas online, y acudir siempre a servicios confiables y conocidos.
Cifrado en la nube
La nube está cada vez más presente en nuestro día a día. Es una realidad que tanto usuarios particulares como empresas utilizan cada vez más los servicios en la nube para poder tener siempre disponibles los archivos e información, en cualquier lugar y desde cualquier dispositivo.
Sin embargo, es muy importante que esos archivos, esa información que almacenamos, estén cifrados correctamente. Puede que utilicemos servicios seguros, pero siempre puede haber alguna filtración, alguna vulnerabilidad que sea explotada, y nuestros datos queden expuestos.
Normalmente los servicios en la nube más importantes cuentan con cifrado. De esta forma nuestros archivos siempre estarán protegidos. También los propios usuarios pueden utilizar diferentes herramientas para cifrar esos archivos previamente a la subida.
Por eso es importante utilizar empresas reconocidas, no será lo mismo iCloud, que una nueva página que nos ofrezca 100 GB gratuitos, ahí podemos sospechar de que no tendrán las mismas medidas de seguridad, y que además de carecer de un buen cifrado, es posible que las filtraciones sean más habituales. Es por ello que, con nuestra privacidad, no podemos ser tacaños, y usar siempre un buen servicio.
Cifrado de discos y archivos
Mantener nuestra privacidad y seguridad son factores muy importantes que debemos cuidar en nuestro día a día. Son muchos los ataques que podemos sufrir en la red, muchos tipos de amenazas que tienen como objetivo robar nuestra información. Ahora bien, también podemos hacer uso de diferentes herramientas y funciones que nos permiten proteger nuestros dispositivos y archivos. El cifrado es algo que podemos aplicar a nuestros discos y archivos si no queremos que posibles intrusos accedan a ellos y comprometer la privacidad. Tenemos la posibilidad de utilizar el cifrado de disco y el cifrado a nivel de archivos. Vamos a explicar qué es cada caso.
Como hemos indicado tenemos la posibilidad de usar el cifrado a nivel de disco o el cifrado a nivel de archivos. Cada uno de ellos tiene sus ventajas y pueden ser interesantes para los usuarios en función del uso que vayan a darle, el nivel de privacidad y seguridad que quieran aplicar, etc. Podemos hacer uso de una gran variedad de herramientas y funciones integradas en los propios sistemas operativos para cifrar nuestros sistemas. Podemos cifrar un disco completo o también cifrar únicamente una serie de archivos y carpetas que nos interesan.
La primera opción de la que vamos a hablar es el cifrado a nivel de disco. ¿Qué significa esto? Como su nombre indica esto quiere decir que vamos a cifrar el disco por completo. Esto puede ser el disco duro de nuestro ordenador, una memoria externa como puede ser un pendrive, etc. El cifrado a nivel de disco va a afectar a todo el contenido que hay en ese disco, en esa memoria. Cifrará todas las carpetas y archivos que pueda haber dentro. Esto incluye sistemas operativos, programas instalados, archivos de todo tipo… El objetivo principal es claro: proteger toda la información en caso de pérdida o robo. Pongamos que perdemos un disco duro externo, un portátil donde almacenamos información importante o una memoria USB. Si hemos utilizado previamente el cifrado a nivel de disco no tendríamos que temer por esos archivos, esos documentos, esa información en general que podría comprometer nuestra privacidad. Eso sí, hay que tener en cuenta que esos archivos, esos documentos, solamente están cifrados mientras se encuentren en ese disco. Es decir, si copiamos una carpeta con archivos en otra memoria o en otro equipo, esos archivos no estarían cifrados. Pero la idea es, como hemos indicado, que nadie pudiera acceder a esa información mientras estén en ese disco.
Otra opción que tenemos es la del cifrado a nivel de archivos. En este caso podemos aplicar el cifrado únicamente sobre aquellos archivos que nos interesan. No es necesario que todo el disco, que todo el equipo, esté cifrado; esta vez vamos a poder seleccionar lo que realmente queremos que esté cifrado. Además hay que tener en cuenta que si ciframos un archivo de texto, por ejemplo, seguirá cifrado aunque lo pasemos a otro equipo. Es muy interesante para compartir archivos de forma segura a través de la nube, por ejemplo. De esta forma evitaremos que posibles intrusos puedan acceder a ese contenido y poner en riesgo los sistemas. Para el cifrado a nivel de archivos podemos hacer uso de una gran cantidad de herramientas. Tenemos a nuestra disposición muchos programas tanto gratuitos como de pago que tienen como objetivo cifrar una serie de carpetas o archivos que queramos y de esta forma que estén protegidos. Así podremos preservar nuestra privacidad en caso de problemas o que alguien pueda acceder al contenido.
En definitiva, como vemos existe la posibilidad de hacer uso del cifrado a nivel de disco y también del cifrado a nivel de archivos. Son diferentes, aunque el objetivo es el mismo: preservar nuestros datos y no comprometer nuestra privacidad. Dependerá de lo que busquemos que elijamos una opción u otra, aunque como hemos mencionado hay muchos programas en ambos casos.
Cifrado de mensajes
Por supuesto el cifrado de mensajes es algo que está cada vez más presente. La mayoría de aplicaciones de mensajería instantánea ya cuentan con cifrado de extremo a extremo. Esto significa que ningún intruso intermedio podría leer esa información que estamos enviando o recibiendo.
Aplicaciones como WhatsApp, por ejemplo, incluyen este tipo de cifrado. Así nuestros mensajes estarán protegidos, aunque hubiera algún intruso en esa red intentando leerlo.
Telegram fue de las primeras en incorporarlo, y uno de los anuncios que la hizo tan popular fue el enviado por los creadores, donde ofrecían 100.000 dólares a la persona que consiguiese descifrar un mensaje enviado entre dos contactos que ellos mismos te daban, dando a entender que era imposible, y que la seguridad de sus clientes sería siempre su punto principal.
Cifrado de tráfico web
El cifrado de tráfico web también es muy importante. En este caso protege toda la información que enviamos a la hora de navegar. Por ejemplo, al iniciar sesión en un sitio web, rellenar un formulario, etc.
En la actualidad la gran mayoría de páginas web son HTTPS. Esto significa que nuestros datos van cifrados. Nunca debemos iniciar sesión o enviar información desde un sitio HTTP a través de una red insegura, ya que podría haber intrusos que pudieran interceptar esa información.
Por tanto, fíjate bien en la URL, y si cuenta con el certificado, es posible que en una página o foro normal te dé igual, pero cuando vayas a acceder a tu correo o cuenta bancaria, un simple vistazo puede salvarte de algún susto.
Cifrado de contraseñas
Por último, algo fundamental es el cifrado de contraseñas. Podemos hacer uso de gestores de contraseñas que cuenten con un cifrado potente. De esta forma nuestras claves estarán siempre aseguradas y no habrá problemas.
Las contraseñas es la principal barrera que tenemos para evitar la entrada de intrusos. Debemos usar siempre claves que sean fuertes y complejas, que estén protegidas correctamente y evitar así problemas que afecten a nuestra privacidad.
iCloud, por ejemplo, tiene su propio llavero, asociado a todos los servicios de Apple, ya tengas un iPad, un Mac, un iPhone, etc, y almacena no solo las claves de inicio, sino redes WiFi e incluso tarjetas bancarias. Como todo, puede tener sus riesgos, pero la seguridad y cifrado de Apple no se puede comparar a la de cualquier programa que encontremos gratuito en la red, por eso hay también que tener cuidado cuál se elige.
Criptografía con Inteligencia Artificial
Una de las formas de utilizar la criptografía con la inteligencia artificial, es combinando sus principios. Por un lado, tenemos los valores de los cifrados actuales, y por otro el aprendizaje automático que proporciona enfoques más sofisticados y seguros para que la información se encuentre más protegida. En este punto las IAs se pueden centrar mucho más en el desarrollo de los algoritmos y nuevos modelos, que permitan que las máquinas puedan disponer de mayor aprendizaje y puedan tomar decisiones basadas en los comandos que los usuarios les facilitan.
Con esto es posible fortalecer los algoritmos ya presentes y tradicionales. Pero implica que se tengan que entrenar modelos de IA para poder mejorar a la hora de generar claves, el propio cifrado y la detección de posibles ataques que se puedan producir. Todo esto será muy importante en algunas aplicaciones.
- Claves: Con el uso de las inteligencias artificiales, se puede mejorar la creación de algoritmos. Esto se basa en que la IA pueda analizar grandes cantidades de datos y patrones, los cuales permitan generar claves cada vez más complejas. Por lo cual resultará mucho más complicado de descifrar. Si ella no es capaz de hacerlo con una, pero sí con otra, al menos te proporcionará la más complicada. No tiene porque ser inquebrantable, pero al menos te guiará en la mejor.
- Amenazas: Hoy en día Internet está lleno de amenazas que pueden perjudicar muchos sistemas. Con las IA, se podría identificar mucho más rápido cuando llegue algún comportamiento sospechoso que siga algún patrón. Esto se puede combinar con que la IA aplique las medidas de seguridad necesarias. Incluso en los ataques de fuerza bruta, en donde esta pueda adaptarse a las necesidades de seguridad del sistema en cada momento del ataque.
- Privacidad y confidencialidad: Son dos de los factores más importantes hoy en día, y en lo que muchas empresas invierten millones. Mediante algoritmos de aprendizaje automáticos, se puede garantizar una precisión mayor y más rapidez en los procesos de cifrado y descifrado del contenido.
- Adaptabilidad: Con el paso del tiempo, la IA tendrá datos suficientes como para adaptarse a nuevas amenazas o requerimientos de seguridad que puedan surgir. Por lo cual dispondremos de un sistema que requerirá menos mantenimiento en cuanto a seguridad.
En todo caso, el uso de las IA es algo que se sigue estudiando con detenimiento. Son tecnologías que, a pesar de estar cerca, no es posible implementarlas en muchos sistemas por el momento. Ya que requieren una redistribución de los recursos y reconfiguraciones de los sistemas. E incluso es algo que incluso con su cercanía, le falta desarrollo y nunca debe dejar de mejorarse.
Nuevas formas de criptografía
Con el paso del tiempo, se han ido desarrollando nuevas formas de criptografía. A su vez nos ha llevado a nuevos sistemas como los lectores de huellas dactilares, o los reconocimientos faciales. Muchos dispositivos hoy en día ya utilizan estas tecnologías, y lo hacen de una forma eficiente y muy natural para todos los usuarios. La criptografía es una parte fundamental en el papel de estos sistemas, de forma que se garantiza que no se puede acceder a nada sin no es utilizada por la persona que la utiliza siempre. Esto se basa en algunos puntos clave.
- Mapeo y almacenamiento: Cuando se utilizan estos sistemas se generan gran cantidad de datos, sea una huella o un rostro. Esto lo que hace es crear un modelo matemático que se encuentra encriptado, y representa las características que el dispositivo recoge. A esto se le llama mapa de puntos.
- Desencriptado: Para la desencriptación segura, se utilizan fuertes algoritmos avanzados que almacenan la información. Por lo cual es necesario que los datos biométricos sean necesarios para poder tener un acceso a los datos encriptados.
- Aprendizaje automático: Algo bueno que tienen algunos dispositivos hoy en día, es que todo se realiza en el propio equipo local. Lo cual quiere decir que todos esos datos no llegan a los servidores de las compañías, dejando totalmente protegido el contenido ante posibles ataques de terceros.
- Protección contra falsificación: Las fórmulas matemáticas que se crean cuando se realiza un escaneo biométrico, hace que sea imposible que dos usuarios tengan la misma clave. Por lo cual estamos ante formas de seguridad, que, mediante la criptografía única de usuario, permiten tener medidas de seguridad muy elevadas.
- Actualizaciones: Todos los sistemas deben actualizarse de forma periódica. Esto es para que se les puedan incorporar nuevas medidas de seguridad, o simplemente mejorar las que ya tienen para que estas sean cada vez más seguras.
En definitiva, como has podido ver existen diferencias entre el cifrado simétrico y asimétrico. El más reciente, el que además se utiliza más hoy en día, es el asimétrico. Es más seguro y ofrece diferentes ventajas respecto al anterior, como hemos explicado. No obstante, tiene también algunos puntos negativos, como es el hecho de necesitar una mayor longitud de clave y tardar más en el proceso.