viernes, septiembre 16, 2005

Privacidad en el email: GnuPG (III)

En el artículo anterior habíamos visto que la criptografía de clave pública y privada tiene muy buenas propiedades, pero tiene el problema de que tienes que asegurarte de que la clave pública es de quien dice ser.

Si confiaramos en que nos mandaran por mail la clave pública o nos la descargáramos de una página web sería muy fácil suplantar la personalidad de alguien. Los bancos y páginas seguras de Internet usan los certificados digitales con el fin de asegurar que alguien es quien dice que es. Existen unas empresas que comprueban los datos de una persona o entidad, lo asocian a su clave pública y luego firman digitalmente dichos datos con su clave privada. Así todo el mundo pueda comprobar que eso es cierto, siempre que confíes en que la clave pública de la entidad certificadora pertenece a ella realmente y es una empresa seria. ¿Quién certifica a los certificadores? Se certifican entre ellas y en último lugar los navegadores de Internet vienen con las claves públicas de las entidades certificadoras más importantes del mundo. Sí, hay cabos sueltos, pero para hacer una estafa habría que hacer una gigantesca operación como crear cientos de claves públicas de certificadores falsos, meterlos en un navegador, conseguir que el usuario se lo instale, que dicho usuario no se meta en una página segura certificada por un certificador real, etc. Este sistema funciona para las empresas, pero para los usuarios presenta dos problemas:
  1. Es engorroso: hay que ir a un sitio a que comprueben tu identidad y te den el certificado digital.
  2. Cuesta dinero.
Es cierto que en España la Fábrica Nacional de Moneda y Timbre crea certificados para sus ciudadanos de forma gratuita, pero hay que ir físicamente allí. Esto se suele usar para demostrar la identidad frente a otra institución, por ejemplo para hacer la declaración de la renta por Internet. Normalmente son las páginas web seguras las que demuestran su identidad, para ello pagan el certificado; y los usuarios lo demuestran con una contraseña o con el número de la tarjeta de crédito si van a hacer una compra. Hacienda necesita más seguridad.

GnuPG
, al igual que su predecesor no-libre PGP, usa otro sistema de certificación distinto, gratuito. Cada usuario se genera en su ordenador su clave pública y privada. La pública se sube a unos servidores de Internet. Por supuesto cualquiera podría subir una clave haciéndose pasar por otra persona. Por ello, al bajarte una clave, no deberías confiar en ella. Deberías comprobar que dicha clave pertence a la persona que dice ser. Para ello, por ejemplo, llamas por teléfono a la persona indicada. Y le pides el fingerprint, que es un hash de la clave pública. Esto es una palabra hexadecimal relativamente corta, mucho más corta que los 1024 bits de la clave que sería muy engorroso transmitir por medios "analógicos" (convencionales). Una vez comprobado el fingerprint puedes firmar la clave de la otra persona con la tuya propia. Y además calificar en que medida confías en que la clave realmente corresponde a dicha persona. Y luego vuelves a subir su clave al servidor. Así se crea una red de confianza. Si yo confío en A, que me ha dado su fingerprint en un papel escrito y concuerda con lo que me bajé de Internet, y A confía en B de una forma absoluta, yo también podré confiar en que la clave que me he bajado de Internet de B, firmada por A, es realmente de B.

Es un método menos seguro, siempre puede haber eslabones en la cadena que fallen, pero es barato, gratuito, que delega la responsabilidad de la autenticidad de las claves en los propios usuarios. Y cuanta más gente haya firmado una misma clave, gente que recursivamente esté dentro de tu confianza, claro está, mejor funciona esta red de confianza.

En el próximo artículo nos centramos ya en el sistema GnuPG, aunque de la parte teórica ya lo he dicho todo.


Tags Technorati: , , ,

No hay comentarios: