• Jueves 28 de Marzo de 2024, 17:07

Autor Tema:  Firmar Digitalmente Un Docimento Con Un Browser  (Leído 3970 veces)

Pucho

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Firmar Digitalmente Un Docimento Con Un Browser
« en: Lunes 26 de Junio de 2006, 23:19 »
0
Hola, estoy implementando firma digital con paginas ASPX en el cliente web. El problema que debo resolver es el sig: se necesita que el usuario firme digitalmente un formulario que carga via web, pero el problema es que no tengo idea de como puede implementarse una firma de esta forma. Se me había ocurrido en un primer momento con javascript. Pero no se si lo implementado

Se agradece respuesta

Saludos

fuhrer

  • Miembro MUY activo
  • ***
  • Mensajes: 329
  • Nacionalidad: mx
    • Ver Perfil
    • http://admin.busquenoseninternet.com
Re: Firmar Digitalmente Un Docimento Con Un Browser
« Respuesta #1 en: Martes 27 de Junio de 2006, 05:03 »
0
Hola, que tal.

No entiendo muy bien tu pregunta, ¿quieres que el usuario firme un formulario que recibe o que firme un formulario que va a enviar? o tal vez no te refiaras a eso y sea otra tu pregunta.

Si aclaras un poco más esto, creo que tal vez podría sugerirte algo.

Hasta luego.

Pucho

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Firmar Digitalmente Un Docimento Con Un Browser
« Respuesta #2 en: Miércoles 28 de Junio de 2006, 22:31 »
0
oka, aclaro un poco más.
Necesito que el usuario firme un formulario que llena. El formulario es HTML, por ende no hay código en él, mas que HTML o javascript para utilizar.
El proceso es el siguiente:
El formulario es una declaración jurada que el usuario llena, y debe ser firmada ANTES de hacer el submit al server IIS. Digamos, debería ser firmada por el browser o alguna api de windows. Cuando se hace el submit, al server debería llegarle los datos del formulario junto con los datos firmados.
La firma no puede hacerse en el server porque la clave privada no viaja al servidor, siempre está en el cliente y aparte, desde el punto de vista de la seguridad eso no sería válido.

Entonces el problema se plantea ante la imposibilidad de utilizar algoritmos para firmar en un browser, pués no está esto soportado por javascript que es lo que imagino debería usar.

Alguna idea?
PD: gracias por ayudarme

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Firmar Digitalmente Un Docimento Con Un Browser
« Respuesta #3 en: Miércoles 28 de Junio de 2006, 23:12 »
0
Cita de: "Pucho"
oka, aclaro un poco más.
Necesito que el usuario firme un formulario que llena. El formulario es HTML, por ende no hay código en él, mas que HTML o javascript para utilizar.
El proceso es el siguiente:
El formulario es una declaración jurada que el usuario llena, y debe ser firmada ANTES de hacer el submit al server IIS. Digamos, debería ser firmada por el browser o alguna api de windows. Cuando se hace el submit, al server debería llegarle los datos del formulario junto con los datos firmados.
La firma no puede hacerse en el server porque la clave privada no viaja al servidor, siempre está en el cliente y aparte, desde el punto de vista de la seguridad eso no sería válido.

Entonces el problema se plantea ante la imposibilidad de utilizar algoritmos para firmar en un browser, pués no está esto soportado por javascript que es lo que imagino debería usar.

Alguna idea?
PD: gracias por ayudarme
No es pocible:
  • No todos usan WIndows, asi que eso del API de windows sera descartado</li>
  • El codigo tendria que se ejecutado por la maquina residente en el server, y si javascript no lo permite, no creo que exista otra manera.</li>
Creo que la solucion seria que en el formulario le pongas un campo de acceso multiusuario, es decir, como una cuenta de correo, te pida nombre y usuario y a la vez la firma que seria agregada despues en el servidor.
Lo de multiusuario es para evitar problemas.
Citar
La firma no puede hacerse en el server porque la clave privada no viaja al servidor, siempre está en el cliente y aparte, desde el punto de vista de la seguridad eso no sería válido.
Entonces para que la firma?  :blink:
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

Pucho

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Firmar Digitalmente Un Docimento Con Un Browser
« Respuesta #4 en: Jueves 29 de Junio de 2006, 15:25 »
0
Hola SU. La firma debe hacerse en el cliente, antes de hacer el submit del formulario, es decir antes que el formulario viaje con los datos del usuario por la red. La idea de que se firme antes que viajen los datos, es para evitar que en el camino alguien los pueda alterar, y también evita que el usuario diga "el servidor me alteró los datos".
No entendí muy bien lo del acceso multiusuario

Gracias por la colaboración!!!

fuhrer

  • Miembro MUY activo
  • ***
  • Mensajes: 329
  • Nacionalidad: mx
    • Ver Perfil
    • http://admin.busquenoseninternet.com
Re: Firmar Digitalmente Un Docimento Con Un Browser
« Respuesta #5 en: Jueves 29 de Junio de 2006, 18:05 »
0
Hola, que tal.

Lo que te dice su- sobre lo de multiusuario puede ser una opción aunque no es la única.

A lo de multiusuario se refiere a que crees una página en donde se tenga que identificar el usuairio con su nombre y contraseña, al ser identificado un usuario estaras activando la llave privada que esta almacenada en algún lugar del cliente (tu decides donde y como almacenrla, de preferencia tienes que cifrar la llave). Una vez que sabes que usuario es y tienes su llave privada, antes de enviar la información del formulario firmas los datos del formulario y envias los datos junto con la firma y eso es todo.

La otra opción es que se llene el formulario y al momento de mandarlo pidas la contraseña para que se firmen los datos, de esta forma te ahorras el hacer una interfaz para el inicio de sesión de usuario.

Espero me hayas entendido, o si no vuelve a preguntar para que te quede más claro.

Citar
Entonces para que la firma?
Se firma para veifcar la intedridad de los datos, esa verificación se hace con la llave pública la cual debe estar almacenada en el servidor.

Hasta luego.

Pucho

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Firmar Digitalmente Un Docimento Con Un Browser
« Respuesta #6 en: Miércoles 12 de Julio de 2006, 17:10 »
0
hola fuhrer, el usuario no tiene que ingresar su clave ni nada en ningún momento. Todo esto es transparente para él. La clave privada está guardada en un certificado en el cliente y debería extraerse desde alli y firmarse con javascript por ejemplo. Luego, tendrían que enviarse los datos firmados. Hay que tener en cuenta que siempre se está trabajando con un browser, no con un programa de escritorio en el cliente.
Justamente el problema que tengo es el de como firmar los datos del formulario en el cliente, pués si fuese un programa de escritorio no habría inconveniente. Al tratarse de un browser, el único lenguaje disponible es Javascript o Visual Basic Script. No se si JScript tiene el potencial de extraer la clave privada de un certificado, tomar los datos a firmar y firmarlos en el cliente mismo con el browser.

Saludos

fuhrer

  • Miembro MUY activo
  • ***
  • Mensajes: 329
  • Nacionalidad: mx
    • Ver Perfil
    • http://admin.busquenoseninternet.com
Re: Firmar Digitalmente Un Docimento Con Un Browser
« Respuesta #7 en: Miércoles 12 de Julio de 2006, 18:33 »
0
Hola.

Eso que dices que los únicos lenguajes disponibles para el explorador de internet son javascript y visual basic script, no es cierto, existen muchos otros lenguajes que puedes utilizar.

Conosco una persona que realizo un sistema para elecciones electrónicas y utilizo java, obviamente se utilizaba la firma digital para verificar le autenticidad del cliente.

En un sistema que utiliza firma digital, por razones de seguridad es necesario pedir una contraseña de usuario para garantizar autenticidad, ya que cualquiera podría utilizar la computadora cliente y hacerse pasar por alguin más.

Lo que necesitas es un lenguaje que te permita el acceso de lectura a algunos archivos del cliente, en este caso, tu problema ya no es referente a este foro, sino que tienes que buscar el lenguaje que se adapte mejor a tus necesidades, que es tener acceso de lectura.

Hasta luego.

Pucho

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Firmar Digitalmente Un Docimento Con Un Browser
« Respuesta #8 en: Viernes 14 de Julio de 2006, 23:46 »
0
Si utilizó java es porque tenia la JVM en el cliente. Aca usamos .NET y la idea es que el cliente no tenga que tener nada especial instalado. Contraseña y usuario no da autenticidad segura. No permite firmar. Estamos usando certificados digitales con clave privada. De todas formas acá investigamos bastante el tema y parece que el problema es conocido y una de las vías es la de hacer un applet usando la JVM. El tema es como lo implementamos y recuperamos después en el servidor encriptando con java y desencriptando con .NET. Depués te comento como nos fué y como lo reslvimos.
Gracias por la ayuda!