Firma Electrónica y Certificados

Entrevista ISV Magazine
¿Cómo introducir a los desarrolladores acerca de la importancia de los certificados digitales?¿Hay una base importante para ello?

Creo que no hace falta explicar los detalles acerca de los certificados digitales, así que no entraremos sobre el tema, que está relacionado principalmente con conceptos matemáticos. Partimos pues de la base de que los certificados digitales están entre nosotros desde hace varios años, y se están utilizando, por ejemplo en las declaraciones de la Renta, relaciones con las administraciones públicas, así como empresas que requieren de certificados para múltiples operaciones, como comercio electrónico o telebanca.

Esto hace que haya una gran base instalada, a lo cual se ha sumado recientemente el despliegue masivo del DNI electrónico, el DNIe, que cuenta ya con más de cuatro millones y llegará a más de seis millones antes de final de año. Como se aprecia, un elevado número que ofrece una base instalada realmente importante.

Y todo ello ¿cómo afecta o en qué se puede emplear para los desarrolladores? ¿para qué puede aprovecharse le tema de los certificados digitales?

Pues hay múltiples campos. Fundamentalmente para resumir podemos indicar que el certificado digital ofrece ventajas en tres áreas: Autentificación, Firma y Cifrado.

La autentificación es la característica que asegura que, desde el punto de vista de un servidor, que estamos tratando con la persona adecuada. Básicamente se controla y comprueba que el usuario es quien dice ser.

((Todas las tecnologías Web actuales permiten utilizar módulos que en lugar de pedirle al usuario un nombre y su contraseña, miran el certificado digital para autentificar a la persona))

Todas las tecnologías Web actuales, ya sean Java, .NET, PHP, Ruby, la que sea, permiten utilizar módulos que en lugar de pedirle al usuario un nombre o identificador y su contraseña, miran el certificado digital para autentificar a la persona. De esta forma, si estamos seguros de que el certificado está en poder de ese usuario, y en este caso el DNI electrónico es un caso claro ya que no se presta a ninguna persona, tenemos la seguridad de que estamos tratando con el individuo adecuado.

Esto genera una gran diferencia con lo que estábamos haciendo hasta ahora, que era confiar en que un nombre de usuario y una contraseña identificaban únicamente a un usuario. Todos sabemos lo fácil que es compartir esa información, que, a veces, incluso está escrita en un post-it junto al monitor del usuario. Con el certificado esto se evita, y cambiamos no solo la certeza en cuanto a la confianza sino la forma de lograrla. Gracias a las autoridades de certificación, como nosotros mismos (ipsCA), la FNMT, Camerfirma, Verisign y otros, la tarea de garantizar esa confianza se traspasa a otros, con lo que los usuarios, y las empresas, evitan el mantenimiento de costosas y complejas infraestructuras propias para ello.

Las empresas no deben mantener en sus sistemas los mecanismos de confianza, sino que se traspasan al usuario, que guarda su propio certificado digital, y a quien genera ese certificado, es decir a las autoridades de certificación. No hay que olvidar que con ello el usuario adquiere la responsabilidad de guardar conveniente ese certificado, para evitar un uso indebido, así como de avisar para invalidar ese certificado y evitar que alguien actúe con él usurpando la identidad.

Ello también nos lleva al concepto de autoría, que implica que los sitios donde nos autenticamos nos podrán exigir la oportuna responsabilidad sobre las operaciones que realizamos, ya que no podremos negar haber realizado dichas operaciones. Esto tiene gran importancia en operaciones como banca online, compras online, firmas de contratos, comprobación de cámaras de seguridad on line. Es decir, todo lo que requiera en el mundo online de Internet estar seguros, con un nivel alto de certeza, de que la persona que está al otro lado es quien dice ser. En estos casos, el certificado digital es una buena herramienta que es fácilmente integrable con cualquier tipo de tecnología o lenguaje de desarrollo.

¿Y qué se puede decir de la propiedad o cualidad de firma, asociada al certificado digital?

En cuanto a la firma, que normalmente es el paso posterior, sirve para que no se pueda repudiar posteriormente una acción realizada con el certificado digital. La firma se relaciona con herramientas que permiten verificar que un usuario, una vez autentificada, ha realizado una acción voluntaria para dar su consentimiento a una operación. De nueva la tecnología de firma es aplicable a todo tipo de desarrollos, sea cual sea su tecnología.

Aparte de firmar operaciones, también se pueden firmar documentos, y esto resulta todavía más interesante. Cualquier documento electrónico, sea contrato, pedido, factura, etc, puede ser firmado mediante uno de los certificados digitales que tenga el usuario. E incluso con mayor seguridad.

En España la firma digital tiene el mismo valor que la firma manuscrita y de hecho resulta más segura, ya que con la firma tradicional no hay forma de comprobar si efectivamente el garabato en el papel corresponde a la persona a diferencia de la firma digital. Así, raramente se comprueba si la firma corresponde a la que figura en el DNI, e incluso es fácil enviar una fotocopia trucada con una firma falsa.

La seguridad que aporta la firma electrónica se relaciona con muchas cosas, aplicables a operaciones y documentos realizados o transmitidos online o gestionados de forma electrónica.

En España, además hay una gran ventaja. En nuestro país hay un gran despliegue de certificados digitales de personas, lo que facilita que hoy mismo la tramitación de contratos, pedidos, etc. En los últimos 18 meses me he dedicado a viajar por muchos países analizando el mercado para ver la posibilidad de vender este tipo de herramientas relacionadas con los certificados digitales, como firma, autentificación y cifrado, y he podido comprobar la gran diferencia que existe entre España y otros países.

((Hace 13 años era complicado ya que había que darle al cliente la herramienta y el certificado, mientras que hoy con darle la herramienta es más que suficiente))

Simplemente el hecho de tener un DNI, que otros países, como por ejemplo Gran Bretaña, no tienen así como el gran número de certificados desplegados hacen que sea muy fácil implementar este tipo de soluciones. Hace 13 años cuando nosotros empezamos era complicado ya que había que darle al cliente la herramienta y el certificado, mientras que hoy con darle la herramienta es más que suficiente.

Además conviene destacar que se puede tener un gran mercado fuera, ya que contamos con unos 4 o 5 años de ventaja sobre otros muchos países, incluso de los que están en la categoría de países avanzados en el campo de la tecnología. Así que los desarrollos y herramientas que aprovechen los certificados tendrán una importante ventaja competitiva en otros países.

((Se puede tener un gran mercado fuera, ya que contamos con unos 4 o 5 años de ventaja sobre otros muchos países en este tema))

Por lo que hemos podido comprobar en nuestros viajes por diversos continentes, nuestras herramientas han llegado incluso un paso más, ya que en muchos países todavía ni se están planteando qué es eso de la firma digital ni cómo aplicarlo.

Y la parte de cifrado asociada a un certificado digital, ¿qué implicaciones y aplicaciones tiene?

En lo relativo a cifrado, se aporta mayor seguridad, ya que los documentos viajan cifrados y sólo pueden ser leídos por él mismo y por el destinatario. Contando siempre con que se cuiden adecuadamente las claves de cifrado. El cifrado tiene un problema y es que se pierden las claves no se puede recuperar nunca la información cifrada con dicha clave. Y eso es aplicable a cualquier certificado. Un punto que debe ser tenido por los desarrolladores a la hora de aplicar el cifrado de documentos. Sobre todo según el tipo de soporte o mecanismo que almacene las claves.

Hay que tener cuidado en el uso de cifrado, ya que algunos certificados digitales, admiten copia y otros no, algo aplicable a las tarjetas con chip. Por ejemplo, el DNIe no admite exportación o copia del certificado, con lo cual su empleo para cifrado queda bajo total responsabilidad del usuario. Si este revoca el certificado o lo pierde, se rompe la tarjeta o la roban, será incapaz de recuperar todo el contenido cifrado previamente con su DNIe, con lo que ello significa de pérdida de la información cifrada.

En el caso del DNIe no está prevista la opción de cifrar ¿es así?

Efectivamente. Al menos en teoría el DNIe no te lo dan para cifrar, aunque el titular lo puede emplear para ello, bajo su responsabilidad. No te prohíben que cifres, pero no hay un certificado (específico) para cifrar, ya que ello significa que el emisor tendría guardada una copia que se podría recuperar en caso de pérdida. Como no es el caso, el titular puede aplicar cualquiera de los certificados presentes en el DNIe para cifrar pero bajo su entera responsabilidad. Sobre todo porque si pierdes ese DNIe y te lo tienen que rehacer, pierdes las claves, con lo que ello significa.

((El DNIe no te lo dan para cifrar, aunque el titular lo puede emplear para ello, bajo su responsabilidad))

Así que, en caso de certificados que no admitan la exportación o copia de los mismos, ya sea local o por parte del emisor, hay que tener precaución sobre el uso para cifrado. El cifrado no es una operación complicada en sí misma, pero si tiene importantes complejidades en cuanto a asegurar la copia del certificado, para asegurar la recuperación a posteriori de las claves y los datos cifrados.

¿Cuál es el número de certificados digitales en España?

En España hay unos 7 millones de certificados digitales, aproximadamente, incluyendo los cuatro millones del DNIe y los suministrados por la FNMT (Fábrica Nacional de Moneda y Timbre), Hacienda, Seguridad Social, más los asignados a particulares pueden dar una cifra más cercana a los 10 millones de certificados. Aunque, claro, en este número hay que contar con las personas que tienen más de un certificado. Yo mismo, por ejemplo, tengo tres, dos de empresa más el DNIe.

Los principales emisores de certificados, hasta la fecha, han sido la FNMT y ahora el DNIe.

¿Qué interés puede tener un desarrollador en emplear certificados digitales en sus creaciones?

Pues fundamente en los tres aspectos asociados a los certificados digitales, como son la autentificación, la firma y el cifrado. La autentificación y firma electrónica son requisitos obligatorios en la relación con la Administración Pública. Todo programa utilizable por la Administración Pública y que tenga una vertiente de relación con el ciudadano a través de medios telemáticos, necesita contemplar los certificados digitales. Les va a ser obligatorio que su aplicación sepa identificar y aceptar una firma electrónica a través de certificados.

((Comienza a ser habitual que las herramientas de gestión de negocio contemplen y soporten el empleo de certificados digitales))

De igual forma, lo mismo ocurre en las aplicaciones Web para grandes empresas, ya que es obligatorio que tengan un canal telemático con autentificación del usuario, como exige la Ley de Medidas de Impulso de la Sociedad Digital. Y también, banca seguros, tasaciones, las utilities (agua, gas, electricidad), necesitan contemplar la autentificación segura del cliente. Y esto es aplicable a otros campos. Así que comienza a ser habitual que las herramientas de gestión de negocio contemplen y soporten el empleo de certificados digitales.

Un punto importante que conviene destacar es que la implementación de los certificados digitales no es compleja y se puede integrarse fácilmente en las aplicaciones, sea cual sea la tecnología con la que estén realizadas.

¿Quién aplica los certificados digitales?

Pues los primeros en aplicarlo fueron los organismos oficiales, comenzando por los Ministerios, temas de la declaración de la renta, Seguridad Social, y todos ellos han sido el catalizador que ha empujado el uso d los certificados. Luego los “early adopter” de la tecnología (estamos hablando del año 97-98), como grandes empresas y algunas pequeñas que, por su economía de empresa, han descubierto sus ventajas. Por ejemplo las que se han dedicado a venta por Internet, que, siendo empresas pequeñas han encontrado un amplio campo de comercialización que generaba buenos beneficios.

Pero no está restringido a ningún tamaño de empresa. En algunos casos hay empresas que no son grandes, son medianas o incluso pequeñas, pero que han descubierto que supone un gran ahorro, como las tasadoras o las Empresas de Trabajo Temporal. Y desde luego las grandes empresas. A día de hoy se usa, o se puede aplicar, en todos los entornos.

((No es una tecnología de nicho, como era hace años, sino que se ha convertido actualmente en una tecnología de uso común))

Luego hay otras operaciones, como el envío de cuentas al registro que ya se hace telemáticamente, así como peticiones de datos, y un largo etc. Desde luego no es una tecnología de nicho, como era hace años, sino que se ha convertido actualmente en una tecnología de uso común. Hoy hablas de firma electrónica y la gente conoce el concepto. Cada vez hay más gente que hace la declaración por Internet, entre otras cosas porque así te devuelven el dinero más rápidamente.

Hay ciertos entornos en los cuales nosotros que la firma electrónica es imprescindible. Entre estos cabría citar, por no citar más que algunas:
– Colegios profesionales (arquitectura e ingenieros, principalmente) para relacionarse con el colegio y realizar visados
– Tasadoras (hay una gran penetración, con un 80 a 90% de empresas que lo tienen implementado) para presentar el informe al banco o aseguradora.
– Facturación electrónica, aplicable a todo tipo de empresas, ya sean grandes, pequeñas o medianas.
– Empresas de trabajo Temporal, ETT, para firmas de contratos,
– Receta electrónica

¿Cómo pueden aprovecharlo los desarrolladores?

Los ISVs tienen que ir incorporando esta funcionalidad en sus creaciones. Una empresa, e incluso un programador que decide lanzar una aplicación para tasadoras, y en España hay un gran número de empresas pequeñas en este campo, tiene que contemplar el empleo de certificados digitales. Y no se puede permitir el lujo de no hacerlo, porque comienza a ser un estándar de mercado. Fabricante de ERP y CRM, facturación, sistema de ingeniería, son candidatos, pero no los únicos.

((Los desarrolladores tienen que contemplar el empleo de certificados digitales. Y no se puede permitir el lujo de no hacerlo, porque comienza a ser un estándar de mercado))

En muchos casos comienza a ser un requisito aunque el cliente no lo pida, ya que supone un importante ahorro de coste. Por ejemplo en las aplicaciones relativas a proyectos, no solo hay un tema de responsabilidades, sino que existe todo un ciclo de aprobaciones y firmas que requieren múltiples pasos. Y con ello existen unos costes elevados en mover en papel cada bloque del proyecto, como el cálculo de estructuras, el diseño general, etc y firmarlo. Incluso mover internamente el proyecto basado en papel tiene un valor importante, con lo también supone un importante ahorro de costes al afrontar el proyecto con empleo de certificados digitales.

¿Dónde pueden implementarse los certificados digitales en una aplicación? ¿Cómo se afronta un proyecto para incluirlos?

Pues básicamente en todos los procesos que tienen consecuencias fiscales o legales, como certificación, firma, pedidos, contratos, admiten la relación con los certificados. Nosotros trabajamos mucho con partners, que en su mayor parte son ISVs, para unir los certificados digitales a todo tipo de aplicaciones. Por ejemplo, ahora estamos en un proyecto con un partner que tiene una herramienta de digitalización, bastante conocida en el mercado, que tiene mucha difusión, y vio la oportunidad de crear una funcionalidad de digitalización certificada.

Se trata de una interesante aplicación que va a crear mucha movimiento en el mercado. El objetivo es transformar en formato electrónico documentos que llegan en papel de los proveedores, como facturas, albaranes, notas de entrega, en fin, todo aquello que tiene consecuencia fiscal. Todo aquello que un inspector podría solicitar en una inspección. Mediante procesos de digitalización certificada se puede almacenar la información, firmarla y destruir el papel, justificante o documento original, con el consiguiente, y elevado, ahorro de coste al evitar la posterior manipulación del papel, como clasificación y almacenaje. Adicionalmente, se gestiona mejor la información, por la ausencia de papel.

Este partner está convirtiendo su herramienta de digitalización y OCR a un sistema con digitalización y OCR con digitalización certificada y almacenamiento seguro de esa información.

¿Cómo afecta la implementación del certificado digital a los desarrolladores de aplicaciones?

Hay varios pasos a dar. Hay que transformar las herramientas utilizando conocimientos conjuntos. Nos hemos reunido con el desarrollador que nos ha explicado cómo funciona su herramienta. Lo primero es analizar el proyecto en su conjunto, mirando el desarrollo software. Luego hay que analizar la normativa vigente aplicable, para ver que el proyecto contempla las leyes y normas apropiadas.

((Todo lo que está relacionado con firma debe estar basado en las leyes de firma electrónica así como reglamentos y normativas específicas y no se puede hacer de cualquier manera))

Todo lo que está relacionado con firma debe estar basado en las leyes de firma electrónica así como reglamentos y normativas específicas. Esto implica contar con un buen conocimiento de la normativa. No se pueden hacer las cosas de cualquier manera, sino que hay que estar acorde con las normas y leyes. En caso contrario podemos estar engañando a nuestro cliente, o la cliente final,

Más adelante, cuando ambos entendemos la otra parte, y comenzamos a hablar de igual a igual. Cuando antes hablamos por una parte de digitalización y por otra de firma, ahora hablamos de ambas al unísono. A partir de ahí comenzamos con la recomendación sobre el mecanismo que debe seguir su aplicación, para trabajar con digitalización certificada. Es decir los diversos pasos de cómo tomar la información, cómo firmarla, almacenarla, etc dentro de su aplicación.

El siguiente paso es que nosotros proporcionamos las librerías adecuadas para la integración de la certificación dentro de la aplicación. Disponemos de una amplia variedad de librerías que contemplan prácticamente todos los lenguajes de desarrollo más comunes de la actualizada (Java, .NET, C#, etc,). Y más adelante le dimos soporte durante el periodo de desarrollo y pruebas.

Por último hay un análisis posterior para verificar que la implementación se ha hecho de acuerdo a unos criterios de calidad. Hay que evitar que, por ejemplo, se haya hecho un proceso de facturación que técnicamente es brillante, pero que no está acorde con la normativa, porque eso es engañar al cliente. Hay que certificar, o al menos comprobar, que efectivamente se realizan los procesos acorde con la normativa.

Para ello lo más apropiado es pasar una auditoría externa que verifique la corrección del proceso y emita un certificado de que la herramienta cumple los criterios adecuados y cumple con las normativas. Para ello nada mejor que acudir a una empresa especializada que de manera forma o informal compruebe cómo se han implementado los procesos y que, eventualmente, emita un certificada que indique qué normativas, tanto legales como técnicas, se han cumplido en la herramienta creada.

Por ejemplo, en el caso del empleo del DNIe hay una normativa del Ministerio de Industria para homologar que se hace un uso correcto de la información suministrada por el DNIe, y que el usuario recibe la información correcta y apropiada para saber qué está firmando exactamente y que no haya engaños posteriores o cambios. Es decir implementar una serie de perfiles de protección del DNIe, que estandarizan la forma en la que las aplicaciones utilizan los datos obtenidos de los certificados del DNIe.

Una preocupación de los ISVs es el tiempo y coste de los desarrollos ¿podrías indicar una referencia en cuanto a plazos y costes?

Siempre es difícil indicar con exactitud estos datos, ya que dependen de la complejidad del proyecto. Pero de forma orientativa podemos hacer referencia a un proyecto reciente, con una aplicación basada en SAP, con almacenamiento de documentos y transformación a archivos PDF, en el cual se ha necesitado como unos dos meses, y la empresa desarrolladora ha empleado a 2 o 3 personas durante ese tiempo, destinados a la implantación de la certificación digital en la aplicación.

En este caso se ha transformado en un producto estándar, en el área de facturación, de manera que se pueda incorporar en otras aplicaciones basadas en SAP. Para ello se utilizaron los conocimientos del partner y nuestro appliance de firma. El resultado ha sido la creación de un producto estándar para SAP con firma electrónica incorporada.

La firma electrónica no es un problema técnico, sino que se trata de un proyecto de negocio, de empresa. Por ello se necesitan conocimientos, o al menos soporte, tanto técnicos, como legales y de negocio.

¿Y el nivel de complejidad?

La firma no es una tecnología altamente compleja. La problemática de la firma electrónica y los certificados siempre ha recaído en la disponibilidad de los certificados por parte de individuos y empresas. Una vez que la gente tiene certificados, deja de ser complicado, al menos a nivel de tecnología.

Realmente, usando mecanismos estándar del mercado, a través de las librerías adecuadas, es sencillo leer los certificados y usarlo. El empleo de la firma electrónica en una aplicación es tan sencillo como el soporte para enviar correo electrónico. Es decir, tienes que contar con las librerías apropiadas y seguir simplemente unos protocolos.

Y estas librerías están disponibles para los principales lenguajes de programación. Afortunadamente hay un elevado nivel de normalización sobre los certificados. Una de las ventajas es que se pueden emplear librerías estándar para manejar los certificados estándar, sea cual sea su emisor, con lo que no se necesita añadir más librerías en caso de necesitar validaciones o certificados adicionales.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s