Firma digital de documentos con SealSign (III)

miércoles, 27 de mayo de 2015

En un artículo anterior vimos los distintos productos de SealSign e indicamos que se basaban en la firma digital, la cual puede utilizar tanto biometría como certificados digitales. En este artículo vamos a analizar el uso de los certificados digitales en los productos de SealSign.

Esquema simple de firma digital

Certificados digitales

Un certificado digital es básicamente un documento electrónico que asocia una identidad (de un usuario, una empresa, un servidor, etcétera) con una clave pública. Además dicha asociación está garantizada por una entidad de confianza (llamada Autoridad de Certificación) que en España son principalmente la Fábrica Nacional de Moneda y Timbre y la Dirección General de Policía. En algunos aspectos es muy similar al DNI. El DNI es un documento en el que aparece la identidad de un usuario, una firma manuscrita que le identifica y tiene un periodo de validez. En el certificado digital aparecen también la identidad de una entidad (usuario, empresa, servidor, etcétera), en lugar de la firma manuscrita aparece la clave pública, y también tiene una caducidad.


Comparación entre un DNI y un certificado digital


Hay varios tipos de certificados, pero todos tienen unos atributos (información privada asociada: nombre, email, etcétera) que permiten asociar una identidad a una clave pública.

Introducción al módulo CKC (Central Key Control) de SealSign

En una empresa cada empleado puede utilizar uno o varios certificados para identificarse en Internet al realizar ciertas operaciones que requieren su identificación. Cada uno de esos certificados se almacena en su propio equipo. Uno de los problemas más habituales en cualquier organización, es la ineficiente gestión de los certificados y claves usados para la firma de documentos, sobre todo cuando estas gestiones se hacen de forma masiva por varios miembros de la misma compañía. Piénsese en la cantidad de certificados que puede haber en una empresa modesta, de digamos unos 500 empleados.

Uso de certificados por los empleados al realizar operaciones en Internet

CKC proporciona un almacén de certificados y claves asociados a unas reglas de uso configurables. Este almacén puede utilizar certificados guardados en diversos repositorios y gestionarlos como si estuviesen almacenados localmente en cada equipo. De esta forma las acciones que realiza son transparentes al usuario. Además solo permite a los usuarios autorizados que realicen los procesos de autenticación, firma o cifrado. CKC tiene una parte servidora que es donde se sitúa el almacén de certificados, y una parte cliente que es la que utilizan los usuarios para acceder a esos certificados.

Certificados de los usuarios almacenados en un servidor CKC


Además, CKC tiene la posibilidad de aumentar la seguridad en el acceso a los certificados, añadiendo un factor extra de autenticación a la hora del uso de la clave privada de los mismos. Esta adición se basa en la integración con SmartID (otro producto de ElevenPaths), de modo que se pueden añadir factores tales como tarjetas inteligentes (con o sin contacto) o huellas dactilares. También permite configurar tanto una lista de procesos, de equipos cliente, o de usuarios autorizados como una lista de URLs en las que se permitirá el uso de las claves privadas asociadas a los certificados de la plataforma.

El módulo dispone de una consola de administración basada en web, que es la misma que la utilizada con otros productos de SealSign, de cara a una mayor integración entre los módulos.

El módulo CKC dentro de SealSign


Características de CKC

Una vez que un entorno empresarial dispone del módulo CKC deberá haber un administrador que se encargue de gestionar el módulo. Antes de que un certificado pueda ser usado o compartido a través de CKC, ese administrador deberá añadir el certificado o su referencia en el servidor de SealSign DSS. Los certificados se pueden autoimportar al servidor de una forma transparente al usuario, además los usuarios avanzados o "power users" pueden importar al servidor sus propios certificados.

El módulo DSS es el módulo sobre el que descansa el funcionamiento de CKC. De hecho para su correcto funcionamiento necesita además los módulos DSS Web y DSS Service de SealSign. (En el primer post de esta serie se indican los módulos existentes).

Módulos de SealSign para CKC

Opcionalmente esos certificados se pueden guardar en servidores, bases de datos cifradas o dispositivos criptográficos. También es posible utilizar diversos tipos de autenticaciones respecto a los usuarios, como por ejemplo usuarios internos del servidor o autenticación con Active Directory.

Posible entorno empresarial con un módulo CKC


Una vez que los certificados se han añadido al almacén de CKC ya están disponibles para su uso, aunque hay que tener en cuenta cada certificado tiene un único propietario.

El uso de CKC permite establecer distintos usos a cada certificado mediante un conjunto de condiciones de acceso. Estas condiciones incluyen diversas combinaciones de elementos de una organización. Entre estos elementos se pueden citar por ejemplo a usuarios autorizados, equipos o dispositivos desde los que se permite el acceso, aplicaciones autorizadas, URLs autorizadas (solo en Internet Explorer), etcétera.

Será el administrador de CKC el que establezca estas condiciones. Esto hace posible que, por ejemplo, solo desde ciertos equipos se pueda acceder a determinados certificados, lo que añade un nivel extra de seguridad al uso de estos.

Es posible también generar y exportar automáticamente informes con las acciones realizadas por CKC, ya que DSS Service incluye un módulo de auditoría e informes integrado que registra cualquier uso de los certificados digitales almacenados.

Casos de uso con y sin CKC
  • En caso de disponer de un certificado importante:
Supongamos que la empresa SUAN con 50.000 empleados, dispone de un certificado extraordinariamente importante con el cual se pueden realizar acciones de alto nivel (transacciones bancarias, compras y ventas de activos, etcétera). Ese certificado solo está disponible para los cinco consejeros delegados de SUAN.

Sin CKC: En este caso cada uno de los cinco consejeros delegados deberá disponer en su equipo de una copia de dicho certificado. El hecho de que existan cinco copias del mismo certificado supone un riesgo excesivo en caso de pérdida del equipo o suplantación del consejero por parte de un intruso. A la hora de actuar cada uno de los consejeros delegados utilizaría su certificado para realizar las acciones necesarias en Internet.

Entorno empresarial de SUAN sin el uso del módulo CKC


Con CKC: En este caso el certificado se almacena de forma segura en un servidor de CKC y cada uno de los cinco consejeros delegados podrá acceder a él, siempre y cuando cumplan las normas de seguridad establecidas en dicho servidor (acceso a determinados usuarios, acceso desde ciertas aplicaciones, etcétera). A la hora de actuar, cada uno de los consejeros delegados se identificaría en el servidor en el que estuviera CKC, y tras obtener el certificado realizaría las acciones necesarias en Internet.

Entorno empresarial de SUAN sin el uso del módulo CKC

  • En caso de necesitar delegar el certificado:
Supongamos que la empresa ANSU con 500 empleados, tiene un único jefe con un certificado importante con el cual realiza todas las transacciones de la empresa. El jefe se tiene que ausentar un mes por determinados motivos y durante ese tiempo hay que realizar una tarea que requiere el uso de ese certificado.

Sin CKC: En este caso el jefe debería confiar en uno de sus subalternos para que usase el certificado en su ausencia para realizar dicha tarea. Esto no impediría a dicho empleado su uso para realizar cualquier transacción cuyas consecuencias podrían ser imprevisibles para la empresa.

Con CKC: En este caso el jefe podría indicar a uno de sus subalternos que usase el certificado en su ausencia para realizar dicha tarea, pero podría establecer previamente que lo utilizase únicamente en un momento dado, siendo denegada invalidada cualquier acción realizada con dicho certificado en otro momento.

En un próximo artículo se mostrarán casos de uso en los que se pueden utilizar los certificados digitales y la biometría.

Firma digital de documentos con SealSign (I)
Firma digital de documentos con SealSign (II)