La criptografía es una disciplina compleja a ojos del usuario común e ignorante como uno, pero presente por defecto en muchos de los sistemas y redes que hoy usamos.
¿Qué es la criptografía?
La criptografía o cifrado es una práctica aprovechada por el hombre desde tiempos lejanos para ocultar la información, utilizando las matemáticas para encriptar y descifrar los datos.
En un nivel concreto, consiste en transformar el contenido de un mensaje para que solo pueda descifrarlo su destinatario. Se usa, por ejemplo, para almacenar información sensible o comunicarla a través de redes inseguras como Internet.
Se trata de una rama de las matemáticas, con desarrollos y usos en la informática, telemática y otros campos, que se dedica a estudiar e implementar algoritmos, claves y protocolos destinados a dar privacidad y seguridad a las comunicaciones entre partes.
En su definición más simple, el cifrado consiste en convertir información de un estado legible a un formato ininteligible, sin sentido a ojos de cualquier humano. Es decir, la transformación de datos comunes (texto sin formato) a texto de cifrado.
El término deriva de las palabras griegas:
- “kryptos” – oculto, secreto
- “graphein” – escritura
Parte de un problema básico. Casi un enigma:
¿Cómo pueden comunicarse dos partes en secreto, sin la presencia e infiltración de terceros?
La criptografía data desde las viejas campañas militares. Era otra forma de tener ventaja o desventaja frente al enemigo, valiéndose del oficio de encriptar para conservar los secretos fuera del alcance de terceros.
Como disciplina, experimentó desarrollos tempranos en la esfera académica, así como usos, abusos e investigaciones a puertas cerradas en el radio de las agencias de inteligencia.
Hacia los 90′ comenzó a estar en manos de los cypherpunks y otros autores de un arsenal de piezas de software libre aliadas con la privacidad, incluyendo compañías y creadores ocultos de código al servicio del usuario.
Hoy aprovechan la solidez de la criptografía dedos expertos, compañías, bancos, gobiernos e instituciones, pero también se encuentra en forma predeterminada y hasta cierto punto incrustada en programas, aplicaciones, sistemas y conexiones usadas a diario por el usuario común y corriente.
Por ejemplo, en las contraseñas de computadoras, protocolos de seguridad en Internet, tarjetas de cajeros automáticos o como base de las criptomonedas.
El cifrado nació con métodos rudimentarios de papel o cuero y actualmente, atraviesa todo el mundo digital. Tal vez a futuro, la computación cuántica, su avance de algoritmos y otras tecnologías de mayor automatización sean otro reto y salto de umbral.
Ver: Esteganografía – Concepto básico, usos y 10 programas
Cifrado y codificación
A veces confundidos, en rigor cifrado y codificación no son sinónimos.
¿Qué es cifrar?
El cifrado convierte los datos a un formato ilegible para mantener la confidencialidad de mensajes, archivos o transacciones en su viaje por canales de comunicación no seguros.
En el caso de un mensaje, el cifrado consiste en convertir texto legible a un formato ilegible. Así se cifra/encripta. Los datos pasan a texto de cifrado.
Sólo las partes específicas e involucradas pueden revertir esa transformación con las claves.
Su propósito es proteger los datos para que nadie más que el destinatario acceda a ellos, dificultando que terceros vean (o modifiquen) la información original.
Para descifrar los datos cifrados, se debe tener la clave correspondiente.
Tipos de cifrado – criptografía
¿Qué es la criptografía simétrica?
Combina componentes de datos legibles para volverlos no legibles. Una misma clave se usa para cifrar y descifrar el mensaje.
Las partes, tanto el emisor como destinatario (el encriptador y desencriptador), requieren acceso a la misma clave.
¿Qué es la criptografía asimétrica?
El cifrado asimétrico, conocido también como criptografía de clave pública, es un esquema criptográfico presente en PGP, Bitcoin y otros tantos protocolos, cuyo mecanismo de cifrado se basa en 2 claves relacionadas: una clave pública y una clave privada.
- La pública se utiliza para cifrar los datos y puede compartirse con otros.
- La privada, que siempre debe mantenerse en secreto, sirve para descifrar.
Además de mantener la confidencialidad en un canal de comunicación, el cifrado asimétrico proporciona una forma de generar firmas digitales, un procedimiento con el cual el receptor puede autentificar el origen de los datos y garantizar que no fueron alterados en su camino.
Confirma que ese mensaje provino de ti, si fuiste quien lo envió.
Claves y algoritmos
Para que la encriptación sea posible, se usan algoritmos de cifrado, que convierten en modo sistemático la estructura y contenido de los datos a proteger y/o encubrir.
El mensaje se vuelve automáticamente no legible, incomprensible a ojos de terceros aunque consigan interceptar la comunicación.
Descifrar el mensaje requiere de una clave secreta para que el texto de cifrado vuelva a su forma legible y original.
Existen muchísimos algoritmos, como por ejemplo:
- RSA – Algoritmo para la criptografía de clave pública, el primero eficaz tanto para el cifrado como para la firma.
- AES (Advanced Encryption Standard), conocido también como Rijndael
- Blowfish
- ECDSA (Elliptic Curve Digital Signature Algorithm)
- SHA-256, algoritmo usado por Bitcoin
- RC4
- 3DES
En la práctica, quebrar el cifrado sin la clave requiere de conocimientos muy avanzados, mucho tiempo, gran poder de recursos computacionales y otras tecnologías a la mano.
Codificación
Codificar es transformar los datos para que sean consumidos en forma segura y eficiente por otro tipo de sistema. Por ejemplo, cuando los bits (datos binarios) viajan en un envío por correo electrónico.
Diferentes estándares de codificación buscan facilitar la transmisión y procesamiento informático de los datos. A diferencia del cifrado, el propósito de la codificación no es conservar la información en secreto, sino que se enfoca en la usabilidad.
Permitir el procesamiento, transferencia óptima y almacenamiento sin peligros de datos binarios, un formato que sirve para la representación de datos o textos, pero también para el procesamiento de instrucciones en una computadora o dispositivo.
La codificación convierte la información en otro formato, utilizando un modelo (scheme) que está disponible públicamente para que pueda revertirse con facilidad. No se necesita una clave. Para decodificarla, se requiere el algoritmo usado para codificarla.
Ejemplos de estándares / herramientas de codificación
- Unicode
- Base64
- Código Ascii
- URL Encoding
¿Para qué se usa la criptografía?
Uno de sus principales usos es por motivos de seguridad frente a posibles ataques e intrusiones. Es decir, para la protección de la información en los sistemas informáticos, redes virtuales y dispositivos físicos.
También se usa invocando la premisa básica de la privacidad: los datos de un usuario no deberían ser accesibles para otros. Dicho diferente, para que otros no vean lo que uno no quiere que se vea.
Qué compartir con quién. Esta decisión personal es, en parte, una de las más extendidas razones del uso de la criptografía por parte del usuario.
Sin ingresar en el árido terreno técnico, a muy grandes rasgos la criptografía puede tener estos y otros variados propósitos:
- Seguridad
- Anonimato
- Privacidad
Un usuario puede necesitar encriptar sus comunicaciones, ya sea porque corre riesgo de vida, por pura paranoia, para proteger datos sensibles, evitar el acceso a otros, revelar secretos sin peligro, ocultarse de gobiernos y compañías corruptas, o por el simple hecho de ejercer el derecho a la privacidad.
Por ejemplo:
- Cifrar un mensaje para mantener la confidencialidad en su viaje hasta el destinatario.
- Encriptar archivos de especial valor si trabajas como abogado o investigador.
- Enviar contraseñas por Internet en forma segura.
Una cosa es la seguridad, otra la privacidad.
La criptografía proporciona formas sólidas para la protección de datos ante posibles ataques. Pero también está al servicio de la privacidad, un valor cada vez más expuesto en la era digital.
El uso de la criptografía y tácticas de anonimización también pueden servir para resistir la censura, sortear los bloqueos, la manipulación, vigilancias y todo tipo de usurpaciones en línea.
O por legítima desconfianza frente a los monitoreos que a diario nos persiguen sin darnos cuenta.
Ya sea para proteger la vida de una fuente, una contraseña, un mensaje, la información de una dirección geográfica, un archivo, datos a gran escala o un secreto trivial.
Ver: Censura de Internet – Países + censurados y Formas de evitarla
¿La criptografía ofrece 100 % de privacidad?
Hay una confusión habitual: asociar la criptografía con métodos perfectos de obtener seguridad y confidencialidad.
Que algo incorpore protocolos e implementaciones criptográficas no supone que sea impenetrable, tampoco una garantía absoluta de privacidad y anonimato.
Por regla general, no confiar en expresiones como 100 % seguro, privado y anónimo u otras promesas difíciles de plasmar.
Existen sistemas más sólidos que otros, como en todo. Depende, por ejemplo, de qué componente se cifra, así como del tipo de encriptación usado y los recaudos que tenga o no el usuario.
¿Se cifran solo los mensajes? ¿Los archivos en un dispositivo? ¿El tráfico? ¿Más de una capa al mismo tiempo?
En su libro ‘Criptografía Aplicada: Protocolos, Algoritmos y Código Fuente en C’, el criptógrafo Bruce Schneier lo pone muy claro:
“Hay dos tipos de criptografía en este mundo: la criptografía que evitará que su hermana menor lea sus archivos y la criptografía que evitará que los gobiernos principales lean sus archivos”.
La elección por un método u otro depende de cada uno, es decir de sus necesidades, así como de su propia investigación, comprensión y asesoramiento con expertos del campo.
Su adopción exige de la responsabilidad de uno.
Pero hablar de encriptación no significa cifrado completo. Otra vez: no implica privacidad y protección al 100 %. Las diferentes formas de cifrado tienen sus distintos alcances y limitaciones.
Es posible acudir a variadas formas de cifrado para archivos en particular, todo el disco duro o para proteger los datos que viajan entre un dispositivo y el proveedor de Internet.
Si bien varios servicios ofrecen formas de encriptar los datos entre un dispositivo y sus servidores, los datos que pasan por allí podrían ser vistos por ellos.
Además, mucho depende de la conducta y prudencia del usuario.
Por más que un sistema incorpore métodos de cifrado fuertes, un paso en falso del usuario puede ser irreversible.
Por ejemplo, el peligro de compartir contraseñas u otros datos por canales de comunicación no tan seguros como Internet, SMS, WhatsApp y casi cualquier vía de comunicación en línea habitual.
Asimismo, expresiones como HTTPS o cifrado de extremo a extremo, tampoco suponen seguridad y privacidad absolutas e invencibles. No es tan simple.
Ver: Herramientas de cifrado, redes anónimas y protectores de la privacidad en línea
HTTP, TLS y HTTPS
Considerada como la versión segura de HTTP (Hypertext Transfer Protocol), HTTPS (HyperText Transfer Protocol Secure) es un protocolo de comunicación que protege la privacidad e integridad de los datos de los usuarios cuando viajan entre sus dispositivos y los sitios web.
Es un estándar para proteger las conexiones, que utiliza TLS (Transport Layer Security), sucesor de SSL (Secure Socket Layer), un protocolo que cifra los datos intercambiados e impide que puedan verse, cambiarse o dañarse durante su viaje por Internet.
Cuando el sitio es HTTP se avisa que la conexión con esa página web no es segura. Si aparece un candado en la barra izquierda del navegador, la conexión es HTTPS, un equivalente de cierta seguridad.
HTTPS y TLS protegen la comunicación entre dispositivos y servidores al cifrar los datos que viajan. Pero no esconden la comunicación una vez que llega a los servidores, donde podría ser leída.
A modo de ejemplo, un mensaje puede salir y viajar cifrado entre una computadora y un servidor, pero puede no haber encriptación entre ese servidor y el destinatario.
Cifrado de extremo a extremo
Si se usa E2EE, más conocida como cifrado / encriptación de extremo a extremo, los datos están cifrados desde que salen del dispositivo hasta que llegan a destino, con lo cual no pueden interceptarse ni por el proveedor de servicios ni por otros terceros intermediarios.
Un tipo de encriptación muy útil en caso de necesitar una protección del contenido de tus comunicaciones, que además puede usarse para verificar el origen de un mensaje, autentificando que proviene de esa persona en específico.
El mítico servicio de e-mail encriptado PGP o la app de mensajería Signal son ejemplos de herramientas que incorporan el cifrado de extremo a extremo en sus comunicaciones.
Pero cabe agregar que aunque el contenido del mensaje está cifrado, generalmente no lo están sus metadatos, los cuales pueden resultar muy importantes e indecentemente reveladores.
Ver: ¿Qué es el cifrado de extremo a extremo? – Concepto, utilidad y límites
Los metadatos
El cifrado puede aplicarse al contenido de las comunicaciones, encriptando por ejemplo las palabras de un mensaje o un correo electrónico para que solo el destinatario pueda leerlos. ¿Pero y los metadatos?
La Electronic Frontier Foundation describe los metadatos como “todo excepto el contenido de sus comunicaciones”.
Varias herramientas y aplicaciones cifran el contenido del mensaje, aunque a menudo no protegen los metadatos, es decir: remitente, destinatario, lugar, fecha, hora y dispositivo usado para el envío, duración de las conversaciones, etc.
Los metadatos se han comparado con los sobres de una carta, donde también está la información sobre el remitente y destinatario.
Es esa “información sobre la información” que, al combinarse a gran escala con sistemas avanzados de recolección, cruzamiento y procesamiento, proporciona un completo e indeseable perfil sobre los hábitos y otros detalles de cada usuario.
Los proveedores de servicios de Internet, redes, correo electrónico y otros intermediarios pueden ver metadatos, es decir quién envía qué a quién, cuándo y cómo, o que el mensaje está cifrado, entre otras revelaciones.
Servicios como Ricochet Refresh y la app Signal, por ejemplo, destacan por minimizar mucho qué metadatos pueden ver ellos mismos.
¿Hay que aprender criptografía desde 0 para usarla?
¿Debe el usuario común preocuparse por el uso de la criptografía?
Muchos protocolos y métodos criptográficos ya están incorporados por defecto, automáticamente, en variados programas y sistemas sin que el usuario lo sepa.
Pero el uso, configuración y puesta en marcha de ciertos mecanismos de encriptación extras resulta más exigente para el usuario. Requiere de conocimientos avanzados, tiempo y paciencia.
Una tarea compleja, más a la altura del especialista en código, que del usuario común.
Como nos explica muy claramente el usuario danegraphics ante nuestra pregunta abierta en reddit:
“Actualmente, casi todos usamos, sin saberlo, los protocolos de comunicación más seguros que conocemos. En su navegador web, si ve un ícono de candado al lado de la URL, o ve HTTPS al comienzo de la URL, significa que está utilizando protocolos de seguridad bien establecidos y actualizados para la comunicación”.
“La mayoría de los usuarios ignorantes ni siquiera necesitan pensar en usar la criptografía. La comunidad de seguridad generalmente trabajará para integrar automáticamente la mejor seguridad de la mejor manera posible en el software de comunicación más popular. Los datos de la mayoría de las personas ya están encriptados en Internet, o usando el almacenamiento en la nube, o usando una aplicación de mensajería“.
En otras palabras, las personas comunes no deben comenzar a aprender sobre criptografía de hoy para pasado mañana, porque en parte ya está incorporadas en la red y los sistemas que utilizamos.
Buena parte de la web ya está en HTTPS (Hypertext Transfer Protocol Secure).
Un armamento de criptografía está presente, por ejemplo, en todos los sistemas UNIX y Linux.
Ya desde el momento en que se escribe una contraseña para iniciar sesión en Linux y autentificar que eres tú, o para establecer canales de comunicación seguros entre computadoras.
UNIX contiene protocolos y herramientas criptográficas como OpenSSH, GPG, SuSE, entre otras ya instaladas en su sistema.
Sin embargo, para comenzar a usar herramientas y mecanismos criptográficos adicionales uno tiene que saber lo que hace.
Tal como advierte Linux mismo:
“Si usa herramientas de cifrado sin comprender cómo están destinadas a funcionar, corre el riesgo de exponer sus secretos más importantes en público. Por lo tanto, debe asegurarse de leer los manuales antes de usar el software.”
¿Cómo medir la seguridad de un sistema criptográfico si uno es ignorante?
La mayoría desconocemos cómo funcionan los mecanismos criptográficos, por lo que decidir entre uno y no otro sería un poco a ciegas.
¿Cómo descifrar qué método de cifrado utilizar? ¿Se le cree a Snowden? ¿Al post de un hacker en un blog? ¿A qué criptógrafo del mundo académico?
Las fuentes de confianza son más difíciles de detectar para quien no tiene idea qué es la criptografía asimétrica.
¿Cómo hace el usuario normal para saber si las garantías de seguridad, privacidad y anonimato que les venden son tales?
Una respuesta posible nos la da el mismo usuario de reddit:
“Si el software y la metodología de seguridad es de código abierto, actualizado, se ha establecido durante años, y es ampliamente aceptado en la comunidad de criptografía, entonces esa es probablemente su mejor apuesta para saber que algo es seguro y protegido”.
Cuando un sistema o herramienta es de código abierto, eso significa que su software puede revisarse por parte de otros expertos para identificar y alertar por posibles errores o vulnerabilidades.
¿Qué sucede si el otro usa sistemas inseguros?
Si uno implementa mecanismos criptográficos adicionales a sus comunicaciones, ¿qué ocurre si los otros con quienes nos comunicamos no los usan?
A medida que más personas adoptan, directa o indirectamente, herramientas criptográficas, la privacidad, seguridad y libertad de la red podrán ser mayores.
Pero si un lado de la comunicación se encuentra encriptada y el otro extremo no, entonces ese canal de comunicación no es del todo seguro.
En tal caso, el usuario del canal inseguro podrá ser evitado o quedará excluido. Es posible comunicarse con ellos si uno quiere, pero si su privacidad está en riesgo mejor es no hacerlo, tal como lo mejor sería no navegar sitios HTTP que aún hoy abundan aunque igual lo hagamos.
¿Criptografía e ilegalidad?
Tomar algunos casos y ejemplos para tachar algo de esto o aquello no solo es injusto, sino que impreciso. La parte por el todo peca de inexacto. Colocar el foco sobre una porción del asunto desplaza el resto de las partes.
La muralla de privacidad y anonimato que conceden ciertos mecanismos criptográficos calzan perfecto con el modelo de acción de los delincuentes.
Porque así como puede ser un salvavidas para resguardar al usuario que realmente pueda necesitarlo, la eficacia de la criptografía también habilita al terrorista, vendedor de droga o hacker a complicar el hallazgo de su paradero y descomponer su identidad para las autoridades.
Sin embargo, el derecho a la privacidad que todo usuario debería poder ejercer se perfila como un bien mayor al hecho de que los actos ilegales puedan quedar impunes bajo la protección de protocolos y sistemas matemáticos duros de romper.
‘Pero no tengo nada que esconder…’
No hay que andar en algo raro para necesitar de resguardos.
‘¿Por que debería encriptar su correo electrónico? ¡No estoy haciendo nada ilegal!’ es una de las preguntas del FAQ de PGP (Pretty Good Privacy), programa creado y lanzado a inicios de los 90’ por Phil Zimmerman para dar privacidad a los correos electrónicos.
La respuesta:
“Debe encriptar su correo electrónico por la misma razón que no escribe toda su correspondencia en el reverso de una tarjeta postal. El correo electrónico es en realidad mucho menos seguro que el sistema postal. Con la oficina de correos, al menos pones tu carta dentro de un sobre para ocultarla de un casual fisgón. Mire el área del encabezado de cualquier mensaje de correo electrónico que recibe y verá que ha pasado por una serie de nodos en camino hacia ti. Cada uno de estos nodos presenta una oportunidad para espiar. El cifrado de ninguna manera debe implicar ilegal actividad. Simplemente tiene la intención de mantener los pensamientos personales personales“.
Edward Snowden, el ex empleado de la CIA y la NSA que en 2013 reveló (o mejor dicho, confirmó) la existencia de sistemas de vigilancia masiva (PRISM y XKeyscore) por parte de las agencias de inteligencia, lo pone en palabras aún más simples:
“Argumentar que no te importa el derecho a la privacidad porque no tienes nada que ocultar no es diferente de decir que no te importa la libertad de expresión porque no tienes nada que decir”.
El derecho está. A unos les interesa, otros lo consideran vital, hay quienes directamente lo necesitan y muchos otros no o ni saben por dónde comenzar.
Fuentes para ampliar:
- Cryptography Fandom
- Hilo iniciado por servisaberlo en Reddit
- Daniel Miessler
- We live security
- Surveillance Self-Defense — ssd.eff.org
- Security in a box