Il convient très souvent d'être sûrs que l'information reflétée dans un document l'est telle qu'elle a été publiée et que nous avons par conséquent accès à l'information originale.
La finalité de la signature PGP de certaines pages HTML du serveur d'INTECO est donc de permettre à tout utilisateur de vérifier que l'information n'a pas été modifiée. Pour ce faire, différentes techniques mathématiques peuvent être utilisées, dont la cryptographie de clé publique et le programme PGP.
La cryptographie de clé publique repose sur l'existence de deux clés
ou fonctions mathématiques dont la caractéristique fondamentale est que le décodage d'un message n'est possible qu'en utilisant la clé complémentaire. Elle est dite de clé publique parce que l'une d'elles est maintenue secrète, tandis que l'autre est rendue publique et que toute personne peut y avoir accès.
Lors de la signature d'un document, ce dernier et signé avec la clé privée et m'importe qui peut, en utilisant la clé publique, vérifier que le document n'a pas été modifié, car toute modification dans le texte rendrait incorrecte la vérification du message.
Il existe différents programmes qui nous permettent de signer numériquement les documents. Pour la signature des pages HTML du serveur, nous avons choisi d'utiliser le programme PGP. Ce programme a été l'un des premiers à permettre aux utilisateurs de signer et de codifier des documents. Il possède une longue et intéressante histoire et il existe des versions du domaine public pour pratiquement toutes les plates-formes et les systèmes d'exploitation, ce qui permet de vérifier dans tout système d'exploitation que les pages n'ont pas été modifiées.
Il existe un autre mécanisme dénommé SSL/TLS qui permet de maintenir des connexions sûres et authentifiées à partir de navigateurs WWW tels que Mozilla Firefox ou Internet Explorer, d'une façon d'ailleurs plus transparente et directe que le mécanisme employé par INTECO. Le problème que présente ce système est qu'il exige que toutes les opérations cryptographiques s'effectuent pour chaque connexion établie, ce qui ralentit la connexion. Le système employé dans le serveur d'INTECO, bien qu'il soit moins transparent au navigateur, ne signe les pages qu'une fois (lorsqu'elles sont modifiées depuis INTECO), et les pages signées sont chargées à la même vitesse que les pages qui ne sont pas signées.
Fichier -> Enregistrer souspuis sélectionner l'option
Page Web, uniquement HTML. Dans Internet Explorer 7, nous devons aller à
Page -> Enregistrer souspuis sélectionner l'option
Page Web, uniquement HTML. Dans Mozilla Firefox, l'opération est identique à celle employée dans la version 6 d'Internet Explorer.
Nous devons ensuite importer la clé publique d'INTECO, et nous exécuterons pour cela la commande suivante :
gpg --keyserver pgp.rediris.es --recv-key 84970D98
enfin, nous exécuterons la commande suivante pour valider la page téléchargée précédemment, en remplaçant nombre_archivo par le chemin vers cette page :
gpg --verify nombre_archivo
Si la vérification est correcte, nous verrons un message semblable au suivant :
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.
Dans le cas contraire, nous obtiendrons un message d'erreur :
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.