Digital signing of Web pages with PGP

Using Webber for automatically signing Web pages


Table of Contents


Este servicio permite el registro de documentos vía correo electrónico. En principio esta diseñado para que cualquier usuario pueda registrar un documento simplemente empleando el correo electrónico.

Por "registro" de un documento se entiende la posibilidad de comprobar a posteriori si un documento dado existía en una fecha determinada.

Actualmente el registro funciona vía correo electrónico, solamente hay que enviar un correo a la dirección del registro:

(sellado @ rediris . es )

conteniendo como anexos o attach los documentos que se quieren registrar.

El usuario recibirá en su cuenta de correo un mensaje del registrador cuando los documentos son procesados, con información sobre como verificar la información.

Verificación de la información.

Para verificar la información que envía el mensaje puede:

Documentación Adicional.

En la página de preguntas más frecuentes encontrará respuesta a algunas de las preguntas que los usuarios suelen plantear.

Presentaciones

  • Presentación Jornadas Técnicas RedIRIS 2002
  • Presentación Jornadas de Usuarios Científicos en RedIRIS 2002
    • ¿Para qué firmar las páginas HTML ?

      Muchas veces es conveniente estar seguros de que la inforMación reflejada en un documento esta tal y como fue publicada y que por lo tanto tenemos acceso a la información original.

      Este es el fin de la firma mediante PGP de algunas de las páginas HTML del servidor de RedIRIS, que cualquier usuario pueda comprobar que la información no ha sido modificada. Para realizar esto se emplea se pueden emplear diversas técnicas matemáticas, entre ellas la criptografía de clave publica y el programa PGP.

      Criptografía de clave publica.

      La criptografía de clave publica se basa en la existencia de dos "claves" o funciones matematicas con caracteristica fundamental de que lo que solamente es posible decodificar un mensaje empleando la clave complementaria. Se llama de clave publica porque una de ellas se mantiene en secreto, mientras que la otra se hace publica y cualquier persona puede acceder a ella.

      A la hora de firmar un documento este se firma con la clave privada y cualquiera puede, empleando la clave publica, comprobar que el documento no ha sido modificado, ya que cualquier modificación en el texto haría que la comprobación del mensaje no fuera correcta.

      ¿Qué es PGP ?

      Existen diversos programas que nos permiten firmar digitalmente los documentos. Para la firma de las páginas HTML del servidor se ha optado por emplear el programa PGP . Este programa fue uno de los primeros aparecidos que permitian a los usuarios firmar y codificar documentos. Tiene una larga e interesante historia y existen versiones de dominio publico para casi todas las plataformas y sistemas operativos lo que permite comprobar que las páginas no han sido modificadas en cualquier sistema operativo.

      ¿Por qué no emplear SSL/TLS ?

      Existe otro mecanismo denominado SSL/TLS que permite mantener conexiones seguras y autenticadas desde navegadores WWW como Netscape o Internet Explorer, de una forma hasta más transparente y directa que el mecanismo empleado por RedIRIS. El problema que tienee este sistema es que requiere que todas las operaciones criptograficas se realizen para cada conexión que se establezca, lo que enlentece la conexión. El sistema empleado en el servidor de RedIRIS, aunque no tan transparente al navegador solamente firma las páginas una vez (cuando se modifican desde RedIRIS), y las páginas firmadas se cargan a la misma velocidad que las páginas que no están firmadas.

      Información de la clave publica PGP

      La clave publica empleada para firmar las páginas HTML de RedIRIS tiene la siguiente información:

      gpg --list-secret-keys
      gpg: signature packet without keyid
      /.gnupg/secring.gpg
      - ---------------------------------------------
      sec  2048R/2C4C669B 2000-10-19 PGP certificate of RedIRIS Web Server 
            , see http://www.rediris.es/pgp/firmaweb/
      uid               CN=www.rediris.es, OU=IRIS-CERT, O=RedIRIS, ST=Madrid, C=ES
      gpg --list-keys --fingerprint 
      /.gnupg/pubring.gpg
      - ---------------------------------------------
      pub  2048R/2C4C669B 2000-10-19 PGP certificate of RedIRIS Web Server 
             see http://www.rediris.es/pgp/firmaweb/
           Key fingerprint = 99 A8 78 63 8C 5C E8 0A  8C 54 FE 46 81 25 A6 CA
      
      
      El par de claves RSA empleado es exactamente el mismo que esta ahora mismo en uso en el servidor SSL . La clave publica para PGP se puede obtener aquí

      ¿Como Verificar que una página es correcta ?

      Los navegadores no disponen de un mecanismo para automatizar la firma de las paginas WWW mediante PGP por lo que para comprobar que una página no ha sido modificada debe cguardar la pagina en el disco y realizar la comprobación con el programa PGP. Dado que PGP esta disponible para varios sistemas Operativos, en diferentes versiones los ejemplos que aparecen a continuación pueden variar dependiendo del sistema.

      Algunos ejemplos de comprobación.

      Comprobación en versiones Unix de PGP

      Emplenado el programa GnuPgP la verificacion de una pagina firmada con el servidor de RedIRIS da este resultado:

      gpg --verify < index.es.html 
      gpg: Signature made Tue Dec 12 23:32:30 2000 MET using RSA key ID 2C4C669B
      gpg: Good signature from "PGP certificate of RedIRIS Web Server \\
         ,  see http://www.rediris.es/pgp/firmaweb/"
      
      Con PGP 2.6 el resultado es similar:
      gp < index.es.html 
      Pretty Good Privacy(tm) 2.6.3ia - Criptografía de clave pública para todos.
      (c) 1990-96 Philip Zimmermann, Phil's Pretty Good Software. 1996-03-04
      Versión internacional - no apta para los EE.UU. No utiliza RSAREF.
      Hora actual: 2000/12/12 22:34 GMT
      
      El fichero tiene firma. Se necesita la clave pública para comprobarla.
      .
      Firma correcta de "PGP certificate of RedIRIS Web Server  \\
      	 see http://www.rediris.es/pgp/firmaweb/".
      Firma realizada el 2000/12/12 22:33 GMT con una clave de 2048 bits, 
      identificador 2C4C669B
      
      AVISO: Esta clave pública no está certificada con una firmade confianza,
      por lo que no se sabe con seguridad si realmente pertenece a:
       "PGP certificate of RedIRIS Web Server , see http://www.rediris.es/pgp/firmaweb/".
      

      Comprobación en MacOS con PGP 6.5

      ¿Por qué me dice que la firma es invalida ?

      La firma de documentos electronicos con claves digitales permite dos cosas:

      • Comprobar que el documento no ha sido modificado
      • Comprobar que el documento ha sido firmado por quien dice ser

      Algunas versiones de PGP indican que la firma es invalida cuando la página bien firmada pero no se le ha indicado al programa que debe considerar como "verdadera" la clave PGP que ha firmado la página.

      en el ejemplo de comprobación en Unix aparece al final indicado que la clave no esta dentro de la Red de Confianza PGP.

      Consulte la información disponible en la sección de PGP si desea más información sobre el funcionamiento de las redes de confianza de PGP

      ¿Como se han firmado las páginas ?

      La información de las páginas HTML del Servidor de RedIRIS se procesa empleando un sistema de Agentes denominado Webber desarrollado en RedIRIS.

      Webber permite la automatización de diversos aspectos del diseño de la información mostrada en el servidor y se ha desarrollado un procesador que realiza la firma de las páginas HTML de una forma automatica a partir de los fuentes webber iniciales.

      Consulte las páginas de Webber para más información.

      Why signing Web pages?

      Sometimes you want to be sure that the information of a document has not been modifiied and you have the original version of that document.

      This is why some Web pages at the RedIRIS server have been signed, so everybody can check the pages and notice if the information has been modified. This digital signature has been made using a set mathematical algorithms generally known as public key criptography, and a program called PGP.

      Public key cryptography

      Public key cryptography is based on two related diferent keys, or mathematical functions, with the special characteristc that it is only possible to decode the output of one function using the other one. It is called public key cryptography because one of the keys is stored securely by the user while the other key is public and everybody can access the key in order to send encrypted documents to the holder of the private key.

      When you sign a document, this means encrypting a summary of it with your private key. Thus, everybody can, using the public key, check that the document has not been modified, since if there is any modification (change of a word, or character), the verification of the signature will not be correct.

      What is PGP?

      There are some programs for digitally signing documents. We have chosen PGP . PGP was one of the first public programs allowing people to sign and encrypt their documents. This program has a long history, and there are public avalaible versions for almost all computer platform and operating systems.

      Why not use SSL/TLS?

      There is another method to establish secure and authenticated connections between hosts, using WWW browsers as Netscape or Internet Explorer, more direct and transparent than with this PGP-based setup. The big problem with SSL/TLS is that all the connections must be encrypted, and the server needs to do more process to send pages, so the connection is slower.

      The aproach at the RedIRIS webserver is not as trasparent to the browser, but itonly uses strong cryptography to sign the pages once (when they are modified), so pages are loaded at a faster speed.

      PGP Public Key information

      The information of the PGP key used for signing the HTML pages at the RedIRIS Web server is:

      gpg --list-secret-keys
      gpg: signature packet without keyid
      /.gnupg/secring.gpg
      - ---------------------------------------------
      sec  2048R/2C4C669B 2000-10-19 PGP certificate of RedIRIS Web Server 
                    see http://www.rediris.es/pgp/firmaweb/
      uid          CN=www.rediris.es, OU=IRIS-CERT, O=RedIRIS, ST=Madrid, C=ES
      gpg --list-keys --fingerprint 
      /.gnupg/pubring.gpg
      - ---------------------------------------------
      pub  2048R/2C4C669B 2000-10-19 PGP certificate of RedIRIS Web Server 
              see http://www.rediris.es/pgp/firmaweb/
       Key fingerprint = 99 A8 78 63 8C 5C E8 0A  8C 54 FE 46 81 25 A6 CA
      
      
      We are using the same pair of RSA keys for PGP signing and for the RedIRIS secure Web Server . You can obtain the PGP public key here.

      How to verify the Web pages?

      As stated before, the browsers is not able to automatically verify the PGP signature of the Web pages. If you want to verify one page you need to save the page as a file to your disk, and use the PGP program to verify the information. The following examples are for diferent platform and operating systems.

      Some examples of signature verification

      Using a Unix PGP

      With GnuPG the verification of a HTML page is as follows:

      gpg --verify < index.es.html 
      gpg: Signature made Tue Dec 12 23:32:30 2000 MET using RSA key ID 2C4C669B
      gpg: Good signature from "PGP certificate of RedIRIS Web Server 
                                     see http://www.rediris.es/pgp/firmaweb/"
      
      With PGP 2.6 (Spanish interface) the result is:
      Pretty Good Privacy(tm) 2.6.3ia - Criptografía de clave pública para todos.
      (c) 1990-96 Philip Zimmermann, Phil's Pretty Good Software. 1996-03-04
      Versión internacional - no apta para los EE.UU. No utiliza RSAREF.
      Hora actual: 2000/12/12 22:34 GMT
      
      El fichero tiene firma. Se necesita la clave pública para comprobarla.
      .
      Firma correcta de "PGP certificate of RedIRIS Web Server , \\
           see http://www.rediris.es/pgp/firmaweb/".
      Firma realizada el 2000/12/12 22:33 GMT con una clave de 2048 bits, \\
       identificador 2C4C669B
      
      AVISO: Esta clave pública no está certificada con una firmade confianza,
      por lo que no se sabe con seguridad si realmente pertenece a:
       "PGP certificate of RedIRIS Web Server , see http://www.rediris.es/pgp/firmaweb/".
      

      Using MacOs and PGP 6.5

      Why is the signature said to be "invalid"?

      Digital signatures may be used for two different purposes:

      • Check that a document has not been modified
      • Verify that the signer of a document is really the person who you think he is

      Some PGP versions show that the signature is invalid although the page is well signed. The reason for that is that the PGP key used to sign the HTML pages is not inside your PGP web of trust.

      You can get more information at the International PGP pages .

      How are the WEB pages signed ?

      All the information of the Web pages of the RedIRIS server is processed with a component-based system called Webber, developed also at RedIRIS.

      Webber allows the automation of several aspects of web page design. We have developed a component that allows digitally signing page contents.

      Check the Webber pages for more information.

This page has been signed using PGP