Per poder entendre millor el sistema de xifratge emprat pels sistemes de claus asimètriques (de claus públiques i privades), és necessari entendre la diferència amb els sistemes de claus simètriques (claus secretes).
Els sistemes de xifratge de clau simètrica són aquells en els que la clau que s'empra per xifrar les dades és la mateixa que s'utilitza per desxifrar-los. En el cas del correu electrònic, el remitent xifra el missatge amb una clau secreta, perquè el destinatari el pugui desxifrar, necessita obtenir prèviament aquesta mateixa clau de manera «segura», o sigui, de manera que terceres persones no tinguin l'oportunitat d'obtenir aquesta clau. Si no es té certesa que l'intercanvi de claus ha estat segur, la validesa del sistema és nul·la.
Els sistemes de xifratge amb claus asimètriques, en canvi, empren dues claus diferents per al xifratge i el desxifratge de les dades. El el cas anterior del correu electrònic, el remitent empraria la clau pública del destinatari per xifrar el missatge, i el destinatari desxifraria el missatge amb la seva pròpia clau privada. Així doncs, la clau privada no ha de ser accessible per a ningú que no en sigui el propietari, mentre que la clau pública, pot ser entregada a qualsevol persona. En un sistema de xifratge ben implementat, la clau privada no es pot obtenir a partir de la clau pública.
El punt crucial de tot aquest sistema és que la clau privada
ha de mantenir-se en secret i només el seu propietari hi ha de tenir
accés. NO ENVIEU AQUESTA CLAU A TRAVÉS D'INTERNET. De la mateixa
manera és molt perillós utilitzar GnuPG a través de telnet
(considereu la possibilitat de no emprar mai telnet degut als riscos
de seguretat importants que presenta).
El concepte de signatura digital es basa en la verificació de l'autoria d'un missatge. Això vol dir que el destinatari d'un missatge pot comprovar que el «suposat» remitent és qui diu que és. Per fer-ho, el remitent, una vegada ha escrit el missatge, el signa emprant la seva pròpia clau privada. El destinatari, una vegada ha rebut el missatge, comprovarà l'autenticitat d'aquest, és a dir, el verificarà emprant la clau pública del remitent.
Aquest mètode és d'especial utilitat per a reduir els riscos de seguretat en els nostres sistemes (ens podrien enviar un suposat pegat per a un programa, i ser en realitat un virus o un troià); també podrien enviar-nos informació o dades, com provinents d'una font lícita o fiable. En ambdós casos, no seria gaire difícil falsificar la direcció i el nom del remitent, però sí impossible falsificar-ne la signatura digital.
Com ja hem comentat, la verificació d'un missatge signat digitalment es duu a terme mitjançant l'ús de la clau pública del remitent sobre el text del propi missatge. D'aquesta manera no només podem verificat la identitat de l'autor, sinó que també podem comprovar la integritat del missatge, ja que la signatura digital ha estat generada amb el text i la clau privada. Així doncs, una alteració o modificació del text «a posteriori», o qualsevol manipulació del missatge (especialment si fem ús de les especificacions MIME/PGP), donaria com a resultat un error en la verificació.
Un punt feble dels algoritmes de clau asimètrica és la transmissió de les claus públiques. Un intrús podria posar en circulació una clau pública amb un identificador d'usuari fals. Si es xifren missatges amb aquesta clau, l'intrús podria desxifrar i llegir els missatges. Si llavors l'intrús el xifrés amb la clau pública autèntica de l'usuari i li passés, aquest atac no seria perceptible.
La solució de PGP
(i per tant la solució de GnuPG
) és la
signatura de les claus. La clau pública d'un usuari pot estar
signada per altres usuaris. L'objectiu d'aquestes signatures és
que l'usuari que signa reconeix que l'UID (identificador d'usuari) de
la clau signada pertany a l'usuari a qui diu que pertany. A partir
d'aquí és responsabilitat de l'usuari de GnuPG
decidir fins a
quin punt es refia de la signatura. Una clau es pot consiferar fiable
que es confia en el remitent i se sap amb seguretat que la clau
signant pertany a aquella persona. Només quan es pot confiar plenament
en la clau del signant, es pot confiar en la clau a la que signa (i en
les signatures generades amb aquesta clau). Per tenir la seguretat que
la clau és correcta, s'ha de comparar amb la seva empremta
digital mitjançant un mitjà de canal fiable. Per exemple, podríem
buscar el seu telèfon a la guia i trucar-lo, demanant-li que ens
digues l'empremta digital a viva veu per tal de poder-li donar
confiança absoluta.
Si el que es vol és mantenir la confidencialitat de les dades
que es posseixen, no n'hi ha prou amb determinar quin algoritme de
xifratge cal emprar; és necessari també pensar amb la seguretat general
del sistema. En principi, PGP
està considerat com suficientment
segur, i fins aquest moment, no se sap de cap cas en el que una clau
PGP hagi estat trencada. Això no vol dir que tot el que s'ha xifrat
sigui segur. Per exemple, si la NSA (l'Agència de Seguretat Nacional
dels EUA) hagués aconseguit trencar una clau PGP d'alguna manera,
probablement no ho farien públic. Però, encara que les claus de PGP
fossin absolutament impossibles de trencar, hi ha d'altres tipus
d'atacs que poden ser utilitzats per trencar-ne la seguretat. A
principis de febrer de 1999, es va descobrir un troià que cercava
claus privades de PGP en el disc dur i els transferia mitjançant FTP.
Si s'hagués escollit una contrasenya feble, un atacant podria haver
obtingut fàcilment les claus privades.
Una altra possibilitat tècnica (encara que més difícil) és la d'un troià que recollís tot el que s'escriu pel teclat i ho transmetés a l'atacant. També és possible, encara que difícil, passar el contingut d'una pantalla a una altra. En aquest cas, no caldria fer cap anàlisi de les dades xifrades, ja que es tindria accés a les dades abans de xifrar.
Per tot això, és necessari una planificació de la seguretat que estigui ben prevista i que en minimitzi els perills.
La idea no és crear una atmosfera de paranoia entre la gent, sinó deixar clar que per tenir un sistema segur no n'hi ha prou amb instal·lar un programa criptogràfic, ja que, si bé és un pas cap a un sistema més segur, no és la solució completa. Troians com els que aparegueren el març del 1999 amb el virus Melissa van demostrar que moltes empreses no estan preparades pel que fa a la seguretat.