Firma Digital


En los últimos meses, me ha tocado enfrentarme a varios proyectos que usan firma digital en diversas formas.

Primero fueron web services cuya invocación y respuesta debía ser firmada digitalmente utilizando certificados X.509 en el lado del cliente y del servidor. Esto lo programamos con Windows Cominucation Fundation que viene con el .NET Framework 3.5 y lo integramos a Genexus a traves de web services.

Despues aparecio otro proyecto para enviar y recibir Certificados de Origen, en formato digital, que son archivos XML que vienen firmados por exportadores y entidades emisoras de certificados. La diferencia con el anterior, era que si bien las firmas vienen en un XML la misma no tiene formato SOAP y hay que programar bastante para poder firmar y verificar que la firma es valida.

El tercer proyecto es de sustituir documentos que hoy se emiten en papel (Certificados de Importación de Automotores, que son necesarios para anotar el auto/moto/camion en los registros oficiales), por documentos electrónicos. En este caso, deben ser documentos que puedan ser verificados por todas las oficinas encargadas de empadronamiento en el Uruguay y deberían poder ser verificados por personas. Para este caso usamos PDF firmados digitalmente por una aplicación, con certificados X.509 y se redactará un instructivo para que sepan distinguir cuando un certificado es válido o no.

Que tienen de comun estos proyectos?
Ademas del uso de firma digital y certificados X.509, estos proyectos tienen en comun que chocan contra una realidad dificil de cambiar, como son los temas legales y de confianza.

Abogados, jueces y demas participantes de los tramites a veces se encuentran reacios a aceptar los nuevos tramites. Si bien todos coinciden que la firma escrita (a mano, normal) puede ser falsificada, existen los mecanismos de control ya establecidos para su detección y castigo.
No está tan claro cuales son los problemas que van a empezar a aparecer con la firma digital y menos como se iran solucionando.

Hoy los jueces llaman a perítos calígrafos cuando tienen dudas sobre si una firma es real y no es claro quien va a controlar cuando tengamos los primeros problemas con certificados con firmas que no puedan ser verificadas o que sean firmadas, cuando el certificado fue revocado por algun motivo.

En el año 2000, participe en un proyecto para agregar firma digital a un intercambio entre organismos estatales, y el mismo fracasó cuando el mismo llego a los abogados que no lograron ponerse de acuerdo en lo que se necesitaba para que dicho tramite tuviera validez legal.

Desde esa fecha a ahora, han habido muchisimos cambios en el campo técnico. Antes programabamos en C++ y con la CryptoAPI, que era bastante primitivo. Ahora las herramientas han mejorado notoriamente, pues hay programas de mayor nivel de abstraccion para el manejo de certificados y la generacion /verificacion de la firma.

En donde no se ve mucho avance, es en la creación de la infraestructura necesaria para que este tipo de proyectos sean viables. Estamos en un circulo vicioso, donde no se pueden poner en practica procedimientos porque es difícil que la gente tenga certificados digitales para firmar, y por otro lado, las entidades certificadoras (por ejemplo, El Correo) no se desarrollan y no mejoran sus procedimientos porque emiten muy pocos certificados.

Este gobierno puso en sus objetivos el promover la firma digital, pero siempre estamos a la espera la próxima ley en donde se van a solucionar los problemas que tuvo la ley anterior.
Creo que la legislación actual es suficientemente buena como para permitir avanzar mas rápido.

Como informáticos, podemos colaborar para bajar la burocracia y acelerar tramites para lograr ser un poco mas competitivos.

Comentarios

  1. En la orbita de Agesic están trabajando en la redacción de un proyecto de ley sobre la firma digital, que incluye el uso en el estado como en el ámbito privado. En una presentación de la ley de Datos Personales hable con una abogada de Agesic que estaba trabajando en ese texto, quedo en enviarmelo en cuanto lo tuvieran finalizado,lo cual no ha ocurrido. Veamos a ver si con esa ley se resuelven los temas de aplicación.Ya en el período de gobierno anterior se presento un proyecto de ley en el cual tuve oportunidad de trabajar en el grupo que lo redacto, si bien luego le introdujeron diferencias cuando lo elevaron al parlamento el espiritu se conservo. En el Artículo 2 le daba la misma validez y eficacia que le firma autografa, la firma esta basada en certificados digitales y en el Artículo 4 reconoce otro tipo de firmas que las partes acuerden, alli se pueden utilizar firmas digitales que no se basan en certificados como por ejemplo PGP o GPG (ideal para firmar e-mails)
    si te interesa el texto de ese proyecto esta accesible en http://www.presidencia.gub.uy/proyectos/2004031001.htm

    ResponderBorrar
  2. Federico:
    Se que Agesic esta trabajando en el tema.
    Ahora hacen un llamado a interesados en prestar cervicios de certificacion y PKI que es indispensable para que este tipo de proyectos llegue a buen termino.
    Lo que si me parece es que muchas veces se postergan proyectos que son posibles hoy, esperando que la legislacion se ponga a tiro con la tecnologia.

    En el noticiero de la CUTI, publicaron:

    Op2 - AGESIC: Consulta pública para evaluar instalación de infraestructura PKI

    AGESIC pretende conocer las soluciones disponibles en el mercado para la implantación de una plataforma que posibilite la creación y gestión de la Infraestructura Nacional de Certificación Electrónica (PKI), requerida por la ley de documento electrónico y firma electrónica.

    Esta consulta pública consiste en la recolección de información sobre qué tecnologías están disponibles hoy en el mercado, y las opiniones respecto a ellas que tienen las distintas empresas que las comercializan e implementan.

    Los interesados deberán registrarse enviando un correo electrónico a pki_rfi@agesic.gub.uy antes del 5 de setiembre, presentando los siguientes datos:

    • Nombre de la empresa
    • País de origen
    • Datos para contacto: nombre, cargo, e-mail, teléfono

    Los interesados también podrán realizar preguntas por correo electrónico a: pki_rfi@agesic.gub.uy

    Mas informacion en http://www.cuti.org.uy/documentos/agesic-27-08-09.pdf

    ResponderBorrar
  3. Buenos días Enrique:
    Soy programadora de Genexus y necesito ayuda.
    Siempre he programado en ambiente win y ahora tengo que crear una "Sede electrónica" en la web. El problema es a la hora de acceder a los certificados electrónicos en el cliente para que se identifiquen. Hice una dll que desde mi ordenador funcionaba perfectamente (en win), pero claro, al llevarlo a la web no me mostraba nada.
    Estoy todavía un poco verde en web, pero creo que la solución sería crear un JavaScript para que se ejecute en el cliente, ¿no?.
    Veo que tu has hecho algo de este estilo en los proyectos que comentas en tu blog.
    ¿Podrías ayudarme? O por lo menos orientarme por dónde ir.
    También he estado haciendo algo con WCF, con la idea de usarlo luego desde Genexus con un web service (igual que comentas tú), pero todavía no lo he conseguido y no sé si seguir por ahí o buscar documentación sobre JavaScript.

    Te agradecería cualquier ayuda. El plazo para tener operativa la web se acabó ayer y estoy un poco agobiada...

    Muchas gracias y un saludo, Noemí.

    ResponderBorrar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

Aplicación monolítica o distribuida?

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.