Moltes vegades, és convenient estar segurs que la informació reflectida en un document està tal i com va ser publicada i que, per tant, tenim accés a la informació original.
Aquesta és la finalitat de la signatura a través de PGP d’algunes de les pàgines HTML del servidor d’INTECO, per tal que l’usuari pugui comprovar que la informació no ha estat modificada. Per tal de realitzar això, es poden fer servir diverses tècniques matemàtiques, entre les quals figuren la criptografia de clau pública i el programa PGP.
La criptografia de clau pública es basa en l’existència de dos claus
o funcions matemàtiques amb la característica fonamental que només és possible descodificar un missatge fent servir la clau complementària. S’anomena clau pública perquè una d’elles es manté en secret, mentre que l’altra es fa pública i qualsevol persona hi pot accedir.
A l’hora de signar un document, aquest se signa amb la clau privada i qualsevol persona pot comprovar, fent servir la clau pública, que el document no ha estat modificat, ja que qualsevol modificació en el text faria que la comprovació del missatge no fos correcta.
Existeixen diversos programes que ens permeten signar digitalment els documents. Per a la signatura de les pàgines HTML del servidor, s’ha optat per fer servir el programa PGP. Aquest programa va ser un dels primers apareguts que permetien als usuaris signar i codificar documents. Té una llarga i interessant història i n’existeixen versions de domini públic per a gairebé totes les plataformes i els sistemes operatius, cosa que permet comprovar que les pàgines no han estat modificades en qualsevol sistema operatiu.
Existeix un altre mecanisme denominat SSL/TLS, que permet mantenir connexions segures i autenticades des de navegadors WWW, com ara Mozilla Firefox o Internet Explorer, d’una forma fins i tot més transparent i directa que el mecanisme utilitzat per part d’INTECO. El problema que té aquest sistema és que requereix que totes les operacions criptogràfiques es realitzin per a cada connexió que s’estableixi, cosa que alenteix la connexió. El sistema usat en el servidor d’INTECO, encara que no sigui tan transparent al navegador, només signa les pàgines una vegada (quan es modifiquen des d’INTECO), i les pàgines signades es carreguen a la mateixa velocitat que les pàgines que no estan signades.
GPG és una implementació lliure i gratuïta de l’estàndard OpenPGP. Existeixen versions descarregables per a Microsoft Windows i Linux, entre altres. A continuació, es mostra un exemple de validació fent servir GPG.
Arxiu -> Guardar comi seleccionar l’opció Pàgina Web, només HTML. A Internet Explorer 7, hem de prémer a
Pàgina -> Guardar comi seleccionar l’opció Pàgina Web, només HTML. A Mozilla Firefox, l’operació és idèntica a la utilitzada en la versió 6 d’Internet Explorer.
A continuació, hem d’importar la clau pública d’INTECO, per a la qual cosa executarem el següent comandament:
gpg --keyserver pgp.rediris.es --recv-key 84970D98
Per últim, executarem el següent comandament per a validar la pàgina descarregada anteriorment, substituint nom_arxiu per la ruta a l’esmentada pàgina:
gpg --verify nom_arxiu
Si la verificació és correcta, veurem un missatge similar al següent:
gpg --verify home_inteco.html gpg: Signature made Wed Feb 21 13:56:46 2007 using RSA key ID 84970D98 gpg: Good signature from "Inteco, S. A. <info@inteco.es>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: F78B 4796 75DE 5EF3 5C77 196B 64CC 15DA 8497 0D98
En cas contrari, obtindrem un missatge d’error:
gpg --verify home_inteco_modificada.html gpg: Signature made Wed Feb 21 13:57:48 2007 using RSA key ID 84970D98 gpg: BAD signature from "Inteco, S. A. <info@inteco.es>"