Tanto no nivel de e-mail, navegando pola web, como noutras cousas en Internet, enviamos información; desde o punto de partida esa información paira chegar ao destino pasa por moitos puntos: salgue do noso computador ou outro dispositivo dixital, pasa por algún router (router de rede da empresa, wiko de casa ou de bar...), logo chega ao provedor de Internet e de aí aínda pasará moitos outros nodos até o destino. Quen exerza o control de calquera destes puntos intermedios, xa sexa o informático da empresa, o propietario do bar ou a policía que se atope en contacto co provedor de Internet --ou, no caso da wifi, incluso calquera que teña un computador con wifi cero-, pode acceder facilmente á información.
Gran parte das comunicacións da rede (a maior parte da navegación na web, moitos envíos e recepcións de correo) van en aberto e accesibles paira calquera persoa. Pero Internet ten mecanismos paira transportar información sensible como contrasinais, datos de cartóns de crédito ou correos electrónicos segredos de forma segura e confidencial. Paira iso utiliza a criptografía, é dicir, encriptando (codificando ou cifrando) as mensaxes convértense en incomprensibles paira calquera persoa que non sexa o destinatario. En concreto, utilízase en Internet un tipo especial de criptografía: criptografía de clave pública ou criptografía asimétrica.
Os sistemas de encriptación de mensaxes foron moi utilizados ao longo da historia, especialmente paira comunicacións importantes entre reis, xerais e outras autoridades, pero tamén paira mensaxes secretas de amor entre amantes. Os métodos que inicialmente eran simples fóronse facendo cada vez máis complexos a medida que a tecnoloxía o permite e fóronse descubrindo técnicas de ruptura de sistemas anteriores. Entre os métodos de encriptación máis coñecidos e utilizados da historia podemos citar a cifra de César, a cifra de Vigène e as máquinas de rotor como Lorenz ou Enigma.
Basicamente, todos estes sistemas de encriptación baséanse no mesmo principio: a mensaxe transfórmase mediante unha función, utilizando una clave, e o receptor aplica posteriormente a función inversa paira obter a mensaxe orixinal coa mesma clave. No exemplo máis simple, a función pode ser réstaa e a clave o número 1. Desta forma, a mensaxe "IBM" pasaría a ser "HAL" si aplicamos a cada letra a función "-1" que substituímos pola letra anterior, e o destinatario, coñecendo a clave (número 1), aplicando a función "+1" á mensaxe cifrada, volvería obter "IBM". A isto chámaselle criptografía simétrica porque utiliza a mesma clave paira encriptar e desencriptar.
Estes sistemas volvéronse cada vez máis fráxiles ao complicar a función de cifrado coa axuda da tecnoloxía de cada época. Na actualidade, a criptografía realízase a través de ordenadores que permiten que estas funcións sexan moi complexas e que as claves sexan longas paira desenvolver sistemas totalmente inquebrantables. Así, o cifrado AES (Advanced Encryption Standard) utilizado polo Goberno de EEUU (entre outros moitos) é un sistema de criptografía simétrica.
Pero este tipo de sistemas teñen un problema á hora de navegar por internet, comprar online ou enviar emails privados: ambas as partes deben coñecer a clave e ninguén máis. Por tanto, non sempre se pode utilizar a mesma clave, necesítase una clave diferente paira cada destinatario e remitente, e para que ninguén saiba esa clave, non se pode enviar por Internet, como se dixo anteriormente, xa que se pode detectar. Así, nalgúns casos, como os dos gobernos, pódese enviar a clave por mensaxeiro a cada organización que se quere comunicar, pero paira as comunicacións en Internet? Por cada tenda e cliente, por sitio web e visitante, por cada remitente e destinatario do correo electrónico, é imposible na práctica ter que compartir previamente una clave ou enviala por mensaxeiro: sería moi caro e non seguro (os mensaxeiros poden estar corruptos ou nos poden roubar a clave no camiño).
Se o comercio electrónico e o envío de información comprometida a través de Internet evolucionaron, é porque na década de 1970 inventouse un novo sistema de cifrado totalmente diferente e rompedor aos sistemas existentes, totalmente oposto á intuición e á vez moi seguro: criptografía de clave pública ou criptografía asimétrica.
Na criptografía por clave pública utilízase una función de cifrado e una clave, pero esta función non é inversa (denominadas funcións unidireccionales), polo que aínda sabendo a clave non se pode descifrar a mensaxe, senón que se necesita outra función de descifrado e outra clave (por iso chámase criptografía asimétrica). Entón, se alguén quere permitir a outros comunicarse de forma privada con el (por exemplo, o vendedor aos compradores para que estes poidan enviar os datos do cartón de crédito), fai pública a clave de encriptación. Calquera persoa poderá utilizar esta clave pública paira enviarlle unha mensaxe cifrada, pero aínda coñecendo esa clave pública todo o mundo, a mensaxe só pode descifralo, xa que só el coñece a clave de descifrar (denominada clave privada).
Para que este sistema funcione é necesario que exista una función segundo unha clave que non sexa investida, que o investimento se obteña mediante outra función e outra clave e que non poida calcularse coñecendo a segunda clave. A existencia deste tipo de funcións e claves é totalmente oposta á intuición, pero existen grazas á aritmética modular, os números primos e a factorización. Investigadores do prestixioso MIT (Massachusetts Institute of Technology) atoparon os primeiros en 1977.
Comentouse que una das condicións de funcionamento do sistema é que a clave de descifrado non se pode basear na clave de cifrado. Con todo, como é lóxico, ambas están relacionadas e pódese calcular a segunda a partir da primeira: é simplemente una factorización, é dicir, a extracción dos divisores deste número. A cuestión é que paira poder facelo non hai fórmulas rápidas, só se pode facer probando todos os números. Por tanto, se estes números son relativamente grandes (e utilízanse centos de díxitos), a factorización convértese nun problema imposible coa tecnoloxía actual, e o sistema de cifrado é practicamente inviolable. O método, denominado RSA, en homenaxe aos inventores, foi inventado posteriormente por persoal de Clifford Cocks GCHQ (Government Communications Headquerosarters, ou o Servizo de Intelixencia Británico) en 1973, é dicir, catro anos antes, pero toda a información desta organización era secreta e non se comunicou até 1997.
Tras o RSA inventáronse outros sistemas de criptografía con clave pública como DSA ou ElGamal.
As comunicacións a Internet están organizadas a nivel segundo o modelo OSI, tal e como vos contamos no número anterior. E paira garantir a confidencialidade destas comunicacións definiuse un protocolo TLS (Transport Layer Security) paira o nivel de transporte (anteriormente coñecido como SSL ou Secure Sockets Layer). Neste caso, tanto o remitente como o receptor utilizan criptografía por clave pública (RSA normalmente, pero pode ser outra se ambas teñen implementada) paira acordar outra clave (aleatoria) e posteriormente a comunicación real realízase con devandita clave e cun método de criptografía simétrica (AES por exemplo), xa que computacionalmente non é tan custosa e de seguridade equivalente.
Paira cada protocolo de nivel de aplicación de Internet (HTTP paira web, SMTP paira correo e IMAP, FTP paira subir ficheiros, Telnet paira abrir sesións en computadores remotos, etc.) creáronse as súas versións seguras (HTTPS, SMTPS, IMAPS, SFTP e SSH respectivamente). Algunhas delas, como HTTPS, SMTPS ou IMAPS, limítanse a engadir TLS ao protocolo orixinal no nivel de transporte e a asignar outro porto ao novo protocolo (agora, a través do novo protocolo STARTTLS, as aplicacións poden utilizar o mesmo porto paira conexións seguras nos casos en que ambas as partes o teñan implementado). Outros, como SFTP e SSH, teñen a mesma función pero son protocolos diferentes que utilizan encriptación mediante clave pública. Cando se utilicen estes protocolos, podemos considerar garantida a confidencialidade das nosas comunicacións. E como sabemos si estamos a usar estes protocolos?
Cando estamos a navegar pola web, se vemos un cadeado na dirección e ao principio do mesmo "https://", significa que estamos a usar o protocolo HTTPS e por tanto a comunicación é segura. Ao pagar en sitios de comercio electrónico, utilízase habitualmente en servizos como correo web e noutros moitos sitios.
No caso dos programas de correo, teremos que revisar en axústelos da nosa conta que protocolos aproba paira enviar e recibir correo. En calquera caso, aínda que o programa de correo utilice os protocolos SMTPS e IMAPS, significa que ninguén poderá ler a comunicación entre nós e o noso provedor de correo, pero que nas fases posteriores ao envío ninguén máis lerá. Se queremos evitalo, podemos integrar no noso programa de correo o programa PGP (Pretty Good Privacy) (creado por Phil Zimmermann en 1991 e que se converteu en moi coñecido e utilizado) ou a súa versión libre GPG (GNU Privacy Guard), que cifran a información utilizando a clave pública do destinatario final e por tanto só poderá lela.
Paira abrir sesións ou subir arquivos en computadores remotos, deberemos asegurarnos de que se utilizan protocolos SSH ou SFTP si queremos manter a confidencialidade. Noutros programas (VNC, VPN ou Redes Privadas Virtuais, etc.) deberemos comprobar si utilizan protocolos con encriptación ou sistemas de encriptación. Se temos en conta estas cuestións, a nosa información privada seguirá sendo así mesmo a través de Internet.