firmar.online ·Integradores
Autenticación de firmantes en procesos de firma electrónica remota
La firma electrónica remota debe aportar garantías de que el firmante es quien dice ser.
Por tanto, principalmente en sector banca/ seguros y salud, se hace muy relevante autenticar a la persona (firmante / aceptador) antes de permitirle visualizar el documento. En documentos confidenciales, o con datos de carácter personal, es un requisito indispensable que sólo pueda ver el documento la persona interesada.
La autenticación fuerte de firmantes también se denomina autenticación multifactor porque permite aplicar más de un método de autenticación.
Por ejemplo, realizar una solicitud de firma por correo electrónico sería un factor de autenticación, pero realizar una solicitud de firma por correo electrónico que también requiera verificación por SMS serían dos factores de autenticación.
Este documento es define cómo firmar.online resuelve la autenticación de firmantes en procesos de firma remota, dotando a la firma remota de un mayor nivel de seguridad que garantiza que la persona que accede al documento es quien dice ser.
Los métodos de autenticación de firmantes que pueden resultar interesantes serían:
- Sin autenticación: El interesado accede directamente al documento.
- Autenticación básica: Antes de visualizar el documento, firmar.online muestra el nombre del firmante, email, teléfono y el identificador
- Autenticación mediante DNI: se solicita imagen del anverso y reverso del documento nacional de identidad. firmar.online lee el numero del DNI mediante OCR y valida que corresponde al del firmante.
- Autenticación fuerte mediante OTP: El firmante recibe un mensaje de texto (SMS) con una contraseña de un solo uso (OTP – One Time Password) que debe informar antes de visualizar el documento. Sólo podrá acceder al documento si responde de forma exacta.
- Autenticación mediante clave de acceso: Para acceder al documento, el firmante debe conocer una cuestión planteada. l visor muestra una pregunta y una caja para que el firmante pueda responder. Por ejemplo, “Por favor, indica tu fecha de nacimiento, los últimos cuatro dígitos de tu móvil, la letra de tu DNI…
Para definir la forma en la que vamos a solicitar la autenticación del firmante, existen dos posibilidades
.- Creación de un nuevo documentSet en base a un flujo predefinido: en este caso, la forma de autenticación se define a nivel de flujo.
.- Creación de un nuevo documentSet mediante los otros métodos de creación de sobres de la API. En este caso, se definirá el parámetro authMode
API REST
El método de autenticación se informa medante el parámetro authMode en la creación de un nuevo documentSet, en la API REST, a nivel de recipient.
Será opcional. Si no se indica nada, la autenticación default de la plataforma para todos los componentes “autenticación básica
Posibles valores del parámetro authMode
00 Sin autenticación. No se muestra la pantalla previa
10 (default) Autenticación Básica: Mostrar datos y check de aceptación
20 Autenticación mediante clave de acceso
30 Autenticación mediante DNI
40 Autenticación mediante SMS- OTP
Aquí hay una pequeña muestra, pero puedes consultar más ejemplos en la colección de API PUBLICA:
"recipient":{"name": {{RecipientName_1}},"email": {{RecipientEMail_1}},"cardId": {{RecipientCardId_1}},"phoneNumber": "{{RecipientPhone_1}},"actionType": 30,"authType": 40,
Otro ejemplo, para un sobre creados mediante flujo, sólo se debe informar la respuesta esperada.
"recipients":[{"name": {{RecipientName_1}},"email": {{RecipientEMail_1}},"cardId": {{RecipientCardId_1}},"phoneNumber": {{RecipientPhoneNumber_1}},"id": "string","accessCode": { "response": "Lucas" },
Autenticación fuerte de doble factor
Autenticación mediante DNI (AuthType 30)
El firmante deberá mostrar su DNI a la cámara y sacar una fotografía para garantizar su identidad, antes de visualizar el documento.
Primero se solicita la cara donde se muestra el MRZ (tres líneas en las que se resume la información del documento de identidad). firmar.online, mediante lectura OCR, comprueba que el texto del MRZ contiene el número de DNI del firmante.
Una vez validada la cara del MRZ, se solicita el anverso y se vuelve a comprobar el numero de documento de identidad
Autenticación mediante OTP – SMS (AuthType 40)
La autenticación mediante OTP (One Time Password) se define mediante el valor AuthType = 40
Recuerda que será obligatorio informar el número de teléfono móvil/celular del interesado.
Autenticación mediante Clave de Acceso (AuthType 20)
La autenticación fuerte del firmante mediante clave de acceso permite autenticar al firmante mediante una clave que el interesado conoce. Por ejemplo, cuales son los seis últimos dígitos de tu contrato de luz.
Para ello se define
- La pregunta que verá el interesado, antes de acceder a visualizar el documento.
- La respuesta esperada
- El formato de la respuesta: el formato se define en forma de expresión regular.
Aquí se puede ver un ejemplo para Postman:
"actionType": 30,"authType": 20,"accessCode":{"challenge": "Introduce los 6 últimos números de tu contrato","response": "123456" ,"format": "\\d{6}"},
expresiones regulares para el formato del authType 20
Las expresiones regulares nos permiten definir el formato de la respuesta esperada.
Por ejemplo, si queremos que la respuesta sea
- un código postal para 5 (90807) o 9 números (92064–3404), la expresión regular podría ser \d{5}|\d{5}-\d{4}
- El formato de teléfono: (111)-222–2222 la expresión regular sería (\d\d\d) \d\d\d-?\d\d\d\d
- Teléfono de España: [opcional] +34, [opcional] 34 u [opcional] 0034, exactamente 9 números (los espacios y guiones están permitidos), y el primer número debe ser 6 o 7, la expresión sería (+34|0034|34)?[ -](6|7)[ -]([0-9][ -]*){8}
En la siguiente tabla podrás ver las reglas de juego:
Tipos de caracteres
.
Cualquier carácter, excepto linea nueva
\w\d\s
Palabra, digito, espacio en blanco
\W\D\S
NO Palabra, digito, espacio en blanco
[abc]
cualquiera de a, b, o c
[^abc]
ninguno de a, b, o c
[a-g]
[A-Z]
[0-9]
Letra entre a & g
Letra entre A & Z (cualquier letra mayúscula)
Numérico entre el 0 y el 9 (cualquier numero)
Anclas
^abc$
comienzo/ final de una cadena
\b\B
limite de una palabra / no palabra
Caracteres escapados
\.\*\\
caracteres especiales
\t\n\r
tabulador, salto de línea, retorno de carro
Grupos
(abc)
grupo
\1
referencia al grupo #1
(?:abc)
grupo que no se captura
(?=abc)
búsqueda positivo
(?!abc)
búsqueda negativa
Cuantificadores y alternancia
a*a+a?
0 o más (a), 1 o más (aaaa), 0 o 1 (a)
a{5}a{2,}
exactamente 5 (aaaaa) / exactamente 2 (aa)
a{1,3}
entre una y tres (aa)
a+?a{2,}?
la menor cantidad posible
ab|cd
“o” (ab o cd)
Para saber más sobre expresiones regulares, puedes acceder a regexr.com
¿Sigues con dudas?
Si este artículo no resuelve tu caso, hablamos.
Soporte técnico, dudas comerciales y demos. Te respondemos el mismo día laborable.
