Certificados Digitales y Veri*factu

Certificación digital y firma electrónica

Una firma electrónica es un conjunto de datos electrónicos que se adjuntan a un documento digital (como una factura) y que principalmente cumple dos funciones:

Para realizar dicha firma con plena validez legal, es necesario un Certificado Electrónico o Digital.

Un certificado digital es un archivo electrónico emitido por una Autoridad de Certificación (CA) acreditada que contiene:

El estándar técnico universal para certificados digitales es X.509, desarrollado por la ITU-T (Telecommunication Standardization Sector) y adoptado por todos los sistemas de infraestructura de clave pública (PKI o Public Key Infrastructure).

Formato del certificado: PEM, DER, PFX/P12

Los certificados digitales se distribuyen en distintos formatos según el uso:

Las dos extensiones de archivo (.p12 y .pfx) corresponden al mismo formato, PKCS#12, también denominado PFX. Este es el formato más utilizado para el intercambio de certificados y claves privadas.

.p12 y .pfx son archivos prácticamente iguales e intercambiables. Puede cambiar su extensión y el archivo resultante debería funcionar.

Operativa o funcionamiento. 

El certificado digital funciona sobre la base de la criptografía asimétrica, criptografía de clave pública o PKI:

Cada titular de certificado posee dos claves matemáticamente relacionadas (par de claves):

Proceso de firma:

1. Se calcula el hash (huella criptográfica) del documento a firmar.
2. El hash se cifra con la clave privada del firmante → esto es la firma digital.
3. La firma + 'el certificado del firmante' se adjuntan al documento.

Proceso de verificación:

1. Se descifra la firma con la clave pública del firmante → se obtiene el hash original.
2. Se recalcula el hash del documento actual.

Si los dos hashes coinciden → firma válida (identidad verificada, documento íntegro).
Si los hashes difieren → el documento fue alterado y/o la firma es falsa.

Tipos de Certificados válidos para la Firma Electrónica.

Certificado de persona física (o de ciudadano)

Identifica a una persona física específica. Contiene su nombre, apellidos y número de DNI o pasaporte. Es el tipo común para profesionales que firman documentos en su nombre.

En España, el DNIe (Documento Nacional de Identidad electrónico) es un certificado de persona física emitido por la Dirección General de Policía.

También emiten certificados de persona física la FNMT (Fábrica Nacional de Moneda y Timbre), entre otros proveedores acreditados.

Certificado de representante de persona jurídica

Identifica a una persona física en su calidad de representante legal de una empresa u organización. Contiene tanto los datos de la persona física como los de la empresa que representa.

Certificado de persona jurídica (sello de empresa)

Identifica exclusivamente a la persona jurídica (empresa u organismo). No identifica a ningún individuo específico. Se usa para el sello electrónico de la organización: la autenticación del origen institucional de documentos emitidos en nombre de la empresa.

La sede electrónica de Fábrica Nacional de Moneda y Timbre (FNMT-Real Casa de la Moneda) pone a su disposición distintos tipos de certificados electrónicos cualificados, en función de tus necesidades que son compatibles con la firma electrónica Veri*factu.

Autenticación requerida para Veri*factu.

Es la misma que se emplea para otros servicios web de la Agencia Estatal de Administración Tributaria (AEAT), por lo que no se trata de un desarrollo específico del sistema Veri*factu.

Los certificados admitidos pueden ser de persona física o representante que se validen en la plataforma @firma. Asimismo, se admiten los certificados cualificados de sello electrónico y sello de entidad —tipos 4 y 8 en @firma— para realizar la presentación mediante Web Service, pero estos dos tipos de certificado no sirven para realizar los envíos/consultas por sede electrónica.

@firma
@firma es una plataforma de validación y firma electrónica multi-PKI, que se pone a disposición de las Administraciones Públicas, proporcionando servicios para implementar la autenticación y firma electrónica avanzada.

WDSL (Web Services Description Language) de los servicios.

Los programas que remiten los registros de facturación y se autentican con el certificado de Sello de Entidad, deben de apuntar al *endpoint especifico destinado para las remisiones con este tipo de certificado, consulte la configuración con tu proveedor de software de facturación empleado si presenta algún error.

*Un endpoint es cualquier dispositivo físico que pueda conectarse a una red, como computadoras, ordenadores portátiles, teléfonos móviles, tabletas, servidores, etc..

Almacenamiento del Certificado Digital: 

En el navegador o el sistema operativo

La clave privada se almacena en el almacén de certificados del navegador (Chrome, Firefox) o del sistema operativo (Windows Certificate Store, macOS Keychain, 'almacenes de certificados' del sistema GNU/Linux...). Es la opción más accesible pero también la menos segura: si el ordenador es comprometido, la clave privada puede ser robada.

En tarjeta inteligente (smart card) o token USB

La clave privada se genera y almacena dentro del chip criptográfico del dispositivo y nunca sale de él. La firma se realiza dentro del chip: el ordenador envía el hash al dispositivo, y el dispositivo devuelve la firma. Si el dispositivo cumple los estándares de Dispositivo Cualificado de Creación de Firma (Qualified Signature Creation Device o QSCD) del Reglamento eIDAS, puede usarse para generar firmas electrónicas cualificadas.

CriptoKIT Token HID

En España, el DNIe es la tarjeta inteligente más extendida. También son habituales los tokens USB de la FNMT, entre otros proveedores.

En la nube (HSM — Hardware Security Module o Módulo de Seguridad de Equipos)

La clave privada se almacena en un HSM (Módulo de Seguridad Hardware) gestionado por el proveedor de confianza. El titular se autentica ante el proveedor (con PIN, OTP o biometría) para autorizar cada uso de su clave. Esta modalidad, llamada firma remota, permite usar un certificado cualificado desde cualquier dispositivo, sin necesidad de tarjeta física ni lector de tarjetas.

La firma remota en HSM cualificado permite generar firmas electrónicas cualificadas (el nivel más alto de eIDAS) desde cualquier dispositivo y lugar.

Ejemplos de 'HSM en la nube' son: Google Cloud HSM, AWS CloudHSM, Azure Managed HSM....

hsm_thales
THALES modelo Luna Network HSM del tipo de despliege Físico (On-premise o En las instalaciones). Trata de un dispositivo de hardware que se instala y gestiona en el centro de datos de la propia organización.