Saltar al contenido principal
Las funciones de protección de datos proporcionan opciones de cifrado y transmisión segura para reforzar los niveles de seguridad del proyecto.
Se soporta la transmisión y almacenamiento seguro de datos mediante configuración de cifrado de liveform y configuración de transmisión segura.

Configuración de cifrado de Liveform

Puede mantener niveles de seguridad más altos para los submissions de usuarios mediante la configuración de cifrado de liveform.
Configuración de cifrado de liveform

Selección de algoritmo de cifrado

Cuando se necesita cifrado en el Query String de la URL de liveform, los datos deben cifrarse usando el algoritmo de cifrado seleccionado y la clave de cifrado.
AlgoritmoDescripción
ECB (Electronic Codebook)Método de cifrado de bloques rápido y sencillo
GCM (Galois/Counter Mode)Método de cifrado mejorado que incluye funciones de autenticación e integridad
Cómo usar después de seleccionar el algoritmoDespués de seleccionar el algoritmo de cifrado, los parámetros que requieren cifrado en el Query String de la URL de liveform deben cifrarse usando el algoritmo seleccionado y la clave de cifrado, y luego usarse en la forma encrypted={encrypted_data}.

Encryption-only Mode

Active encryption-only mode cuando desee cifrar y usar todos los parámetros de Query String.
Encryption-only mode
Cuando encryption-only mode está activado, solo se permiten los parámetros pid, encrypted, lang en la URL de liveform, y todos los demás parámetros deben cifrarse e incluirse en el parámetro encrypted. Formato de URL permitido:
https://form.argosidentity.com?pid={project_Id}&encrypted={encrypted_data}&lang=ko
Formato de URL no permitido:
https://form.argosidentity.com?pid={project_Id}&encrypted={encrypted_data}&email=user@example.com
Precauciones de Encryption-only ModeCuando encryption-only mode está activado, todos los parámetros de Query String no cifrados se ignoran. Todos los datos deben cifrarse e incluirse en el parámetro encrypted.

Gestión de claves de cifrado

Gestiona las claves a usar para cifrado. Puede usar la API KEY o emitir y usar una clave dedicada (secretKey).
Gestión de claves de cifrado
Emisión de clave de cifrado
Tipo de claveDescripción
API KEYUsar la API key predeterminada asignada al proyecto como clave de cifrado
Dedicated Key (secretKey)Clave de cifrado dedicada recién emitida y usada en liveform
Aviso importante sobre Dedicated Key (secretKey)La clave dedicada (secretKey) recién emitida solo se muestra en el momento de emisión, así que asegúrese de almacenarla de forma segura. Si se pierde, debe re-emitir y usar una nueva, y las claves existentes ya no pueden usarse.
Guía de selección de clave
  • Usar API KEY: Puede comenzar rápidamente con configuración sencilla.
  • Usar Dedicated Key (secretKey): Puede reforzar la seguridad usando claves diferentes en liveform y API.

Cómo usar el cifrado de URL de Liveform

Aprenda a cifrar y usar parámetros de Query String en URLs de liveform.

Paso 1: Preparar datos a cifrar

Prepare los parámetros de Query String a cifrar en formato JSON.
{
  "email": "user@example.com",
  "userid": "user123",
  "cf1": "custom_field_1",
  "cf2": "custom_field_2",
  "cf3": "custom_field_3",
  "token": "token_id"
}
Parámetros no cifrablesLos query strings pid, lang y los query strings sid, action usados en la página ‘Additional Process (Injection)’ no soportan cifrado. Sin embargo, al usar Injection, sid y action deben cifrarse incluyéndolos dentro del parámetro encrypted.

Paso 2: Realizar cifrado

Cifre los datos usando el algoritmo de cifrado seleccionado (ECB o GCM) y la clave de cifrado (API KEY o secretKey).

Guía de cifrado

Consulte métodos detallados de cifrado/descifrado y ejemplos de código.
Ejemplo de cifrado (método ECB):
// Node.js example
const crypto = require('crypto');

function encryptECB(data, apiKey) {
  const hashedKey = crypto.createHash('sha256').update(apiKey).digest();
  const cipher = crypto.createCipheriv('aes-256-ecb', hashedKey, null);
  return cipher.update(JSON.stringify(data), 'utf8', 'base64') + cipher.final('base64');
}

// Usage example
const data = {
  email: "user@example.com",
  userid: "user123",
  token: "token_id"
};
const encrypted = encryptECB(data, 'YOUR_API_KEY_OR_SECRET_KEY');

Paso 3: Agregar datos cifrados a la URL

Agregue los datos cifrados al parámetro de consulta encrypted.
https://form.argosidentity.com?pid={project_Id}&encrypted={encrypted_data}
Codificación de URLLos datos cifrados deben codificarse para URL antes de usarse en URLs.

Configuración de transmisión segura

Configuración para reforzar la seguridad en la transmisión de datos mediante métodos API.
Configuración de transmisión segura

Secure Data Transmission

Cuando la opción secure data transmission está activada, toda la transmisión de datos entre ARGOS y los clientes se cifra.
ConfiguraciónDescripción
Secure Data TransmissionCifra y transmite datos en métodos API (GET, POST, PATCH, etc.) y webhooks.
Importante: Se requiere cifrado/descifradoCuando la opción secure data transmission está activada, todos los datos de solicitud (Request) y respuesta (Response) de API deben cifrarse/descifrarse. Ocurren errores si se realizan solicitudes con datos no cifrados.

Cifrado de datos de solicitud API

Cuando secure data transmission está activado, el Request Body debe cifrarse al realizar solicitudes API. Métodos de cifrado:
  • Solicitudes API (GET, POST, PATCH): Método AES-256-ECB
  • Datos de Webhook: Método AES-256-CBC
Ejemplo de solicitud:
// POST /submission request example
const requestData = {
  email: "user@example.com",
  fullName: "John Doe",
  issuingCountry: "USA",
  birthDate: "1990-01-01"
};

// Encrypt data
const encryptedBody = encryptECB(requestData, apiKey);

// Send encrypted data as body
fetch('https://rest-api.argosidentity.com/v3/submission', {
  method: 'POST',
  headers: {
    'x-api-key': apiKey,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    body: encryptedBody
  })
});

Descifrado de datos de respuesta API

Cuando secure data transmission está activado, las respuestas API también se cifran, por lo que se requiere descifrado. Formato de respuesta:
{
  "data": "encrypted-string",
  "isEncrypted": true
}
Ejemplo de descifrado:
// Response processing
const response = await fetch('https://rest-api.argosidentity.com/v3/submission/{submissionId}', {
  headers: {
    'x-api-key': apiKey
  }
});

const responseData = await response.json();

if (responseData.isEncrypted) {
  // Decrypt encrypted data
  const decryptedData = decryptECB(responseData.data, apiKey);
  const submission = JSON.parse(decryptedData);
  console.log(submission);
} else {
  // Unencrypted case (generally does not occur)
  console.log(responseData);
}

Cifrado/descifrado de datos de Webhook

Los datos de webhook se cifran usando el método AES-256-CBC.

Guía de cifrado

Aprenda los métodos de cifrado/descifrado de datos de webhook en detalle.

Guía de configuración por escenario

Cuando selecciona un algoritmo de cifrado y cifra solo algunos Query Strings.Configuración:
  • Algoritmo de cifrado: Seleccionar ECB o GCM
  • Clave de cifrado: Seleccionar API KEY o clave dedicada
  • Encryption-only Mode: Desactivado
Ejemplo de uso:
https://form.argosidentity.com?pid={project_Id}&email=user@example.com&encrypted={encrypted_token_data}
En este caso, email es un parámetro normal, e información sensible como token se cifra e incluye en el parámetro encrypted.
Cuando cifra y usa todos los parámetros de Query String.Configuración:
  • Algoritmo de cifrado: Seleccionar ECB o GCM
  • Clave de cifrado: Seleccionar API KEY o clave dedicada
  • Encryption-only Mode: Activado
Ejemplo de uso:
https://form.argosidentity.com?pid={project_Id}&encrypted={all_parameters_encrypted_data}&lang=ko
En este caso, todos los parámetros excepto pid, lang deben cifrarse e incluirse en el parámetro encrypted.
Cuando refuerza la seguridad para la transmisión de datos vía API.Configuración:
  • Secure Data Transmission: Activado
Tareas requeridas:
  • Cifrar todas las solicitudes API (Request Body)
  • Descifrar todas las respuestas API (Response Body)
  • Descifrar datos recibidos de webhook
Cuando secure data transmission está activado, toda la comunicación API se cifra, por lo que debe implementarse lógica de cifrado/descifrado en el lado del cliente.

Documentación relacionada

Control de acceso

Consulte la configuración de private mode y gestión de Token ID.

Guía de cifrado

Consulte métodos detallados de cifrado/descifrado y ejemplos de código.

Guía de Query String

Aprenda a usar parámetros de Query String.

Referencia de API

Aprenda a usar las APIs.