Estas aquiContenido / Crear y verificar firmas en formularios web

Crear y verificar firmas en formularios web


Poradmin- Publicado el09 Enero 2009

Dr. Dobb's publica un interesante artículo en tres partes que detalla un método para crear y verificar firmas digitales en los formularios web, garantizando de ese modo tanto la identidad electrónica del autor como la integridad de los datos transmitidos.

El método combina el uso de Javascript en el cliente (uhm?) con el de PHP en el servidor (aah!).

Aunque el artículo está escrito en inglés, los autores son Rafael Palacios y David de la Fuente, de la Universidad Pontificia de Comillas.

Etiquetas

Comentarios

Selecciona arriba tu forma preferida de visualizar los comentarios y pulsa el botón para guardar tu elección para próximas visitas (sólo si eres usuario registrado).

Felicidades por el artículo, a los autores ya a nuestro editor de Kriptópolis, a ver si toman nota muchos sitios web de nuestra administración y en lugar de utilizar cada uno sus componentes propietarios para firmar formularios se utilizan las capacidades que desde hace muchos años incorporan los navegadores para la firma electrónica (aunque en este caso sea necesario habilitar javascript y a alguien le dé reparos ;)).

Saludos

PD. Sobre todo enhorabuena por el tema de la validación en el servidor, que es donde se suele atascar la gente :)

... porque estaba a punto de publicar un comentario haciendo notar la ausencia de interés de esos supuestos adoradores de los artículos sobre temas más técnicos en Kriptópolis, que protestan tan airadamente ante los artículos de opinión u otros.

Evidentemente, Álvaro, ése no es tu caso, pero me hace mucha gracia que los temas técnicos sobre criptografía, seguridad y web son siempre los que no lee ni dios.

Perdón por el exabrupto que -insisto- nada tiene que ver contigo.

Y además lo de tener que utilizar javascript no lo veo como algo tan malo, teniendo en cuenta que en muchos sitios de la administración española hay que instalar un ActiveX para firmar los formularios... y ya sabemos lo que eso significa: no cumplir con la neutralidad tecnológica.

.... me tiro casi un mes montando una arquitectura de certificados, con mi propia CA, con clave publica firmada por mi CA y requiriendo certificado de cliente, con dicho certificado firmado tambien por la CA (si hay que firmar, se firma), y oye, justo cuando lo acabo abro kriptopolis y me encuentro con esto.

Por lo menos me queda el (inmenso) consuelo de haber aprendido como un animal todo el berenjenal este de los certificados.... :)

Un saludo y buen trabajo.

Existe también una extensión para realizar firmas digitales con gpg en los formularios de Mozilla Firefox, enigform:
http://enigform.mozdev.org/

El código PHP permite veriticar de una manera muy sencilla los datos del formulario (gracias a la firma digital que se adjunta). Quizás se ha hecho poco énfasis en el artículo, pero lo más importante es la verificación en el lado del servidor.

Para generar la firma digital de los datos es necesario utilizar un certificado personal y ejecutar código en el lado del cliente (en el navegador) sin que el certificado salga nunca del cliente. Las opciones para ello son programas tipo Plug-in, Add-on, ActiveX... pero salvo que la fuente sea fiable, supone un riesgo enorme permitir que un código externo tenga acceso a nuestros certificados.

La función SignText de JavaScript por el contrario es "nativa" del navegador y viene implementada en FireFox sin suponer ningún peligro. Se ha optado por desarrollar una función JavaScript por la sencillez de implementación y por la seguridad que supone frente a las demás alternativas, sin embargo también hemos desarrollado código para generar la firma con VisualBasic Script y con la librería CAPICOM de Microsoft y la función de verificación PHP funciona perfectamente (siempre que la firma se haya generado correctamente).

Rafael Palacios.

No suelo poner mensajes para decir que estoy de acuerdo con algo, porque considero que no aportan demasiado, pero en este caso, coincido al 100 % con lo que dice Rafael Palacios :), lo has clavado.

Buenas, el articulo me ha parecido fantastico y ya lo he probado en firefox, pero no encuentro como generar la firma en IE, se que hay que usar capicom, pero no encuentro un solo ejemplo completo, siempre alguna sentencia pero no consigo hacerlo funcionar, alguien tiene un ejemplo sencillo para que funcione luego con la validacion php de la pagina web.

Muchas gracias y un saludo.

Publicidad

Patrocinadores

Kriptópolis alojado en
Zilos-Veloxia Network

Tu mejor defensa:
Bufet Almeida

Publicidad