API Java
HSM Dinamo
Cargando...
Buscando...
No se han encontrado entradas
SVault

Descripción detallada

Operaciones de tokenización y anonimización de datos.

SVault

Las API del módulo SVault proporcionan funcionalidades de tokenización para anonimizar y seudonimizar bases de datos que contengan Información de Identificación Personal (IIP). El proceso de tokenización se basa en la generación de números aleatorios mediante un DRBG FIPS SP800-90A (aprobación NIST CAVP).

Arquitectura

El módulo SVault Dinamo tokeniza la información personal identificable (también llamada secreta) generando un token aleatorio y un token blob( metadatossecretos y cifrados).

El token blob puede almacenarse y utilizarse para recuperar posteriormente el secreto, para operaciones de seudonimización. Para las operaciones de anonimización, el token blob debe descartarse y el secreto no puede recuperarse posteriormente.

El token generado sustituye al secreto en la base de datos original y puede tener asociado el token blob en los casos de seudonimización. El token puede tener su formato (decimal, base62, etc.) y la generación de dígitos de verificación habilitada (en el caso de CPF, CNPJ, PAN, etc.) especificados en el momento de la generación.

Los datos sensibles se protegen mediante una clave simétrica protegida dentro del HSM.

La recuperación del secreto mediante el token blob permite recuperarlo en texto claro o enmascarado. El enmascaramiento se realiza internamente en el HSM, lo que impide que la aplicación manipule el secreto en texto claro.

--- título: Secrets coding flow --- sequenceDiagram autonúmero participante base como Base de datos participante app como Aplicación participant hsm como HSM Nota sobre hsm: clave app ->> hsm: secreto hsm ->> hsm: cifrar hsm ->> app: token (datos pseudomizados)
token blob (secreto cifrado) app ->> base: token
token blob Nota sobre base: token
token blob

--- título: Blob token decoding flow --- sequenceDiagram autonúmero participante base como Base de datos participante app como Aplicación participant hsm como HSM Nota sobre base: token (datos pseudomizados)
token blob (secreto encriptado) Nota sobre hsm: clave app ->> base: buscar token blob base ->> app: token blob app ->> hsm: token blob hsm ->> hsm: descifrar hsm ->> app: secreto

Atención
Los tokens se generan aleatoriamente y, naturalmente, existe la posibilidad de que se generen tokens conflictivos. Por lo tanto, la aplicación tendrá que hacer frente a las colisiones solicitando de nuevo la generación de tokens para garantizar el almacenamiento de tokens únicos.

Funciones

SVaultGenTokenResponse GenSVaultToken (int op, SVaultGenTokenInfo tokenInfo, int reserved) throws TacException
 Tokeniza un dato, generando un token blob y su respectivo token.
 
SVaultGenTokenResponse GenSVaultToken(SVaultGenTokenInfo tokenInfo ) throws TacException
 Tokeniza un dato, generando un token blob y su respectivo token.
 
SVaultGenTokenResponse GenSVaultDigitToken (byte CKS, byte maskFlags, String MK, String secret) throws TacException
 Tokeniza los dígitos, generando un token blob y su respectivo token.
 
SVaultGenTokenResponse GenSVaultStringToken (byte maskFlags, String MK, String secret) throws TacException
 Tokeniza una cadena UTF-8, generando un token blob y su respectivo token.
 
Cadena GetSVaultTokenBlobData (int op, String MK, String mask, byte[] tokenBlob) lanza una TacException
 Recupera el secreto o token de datos tokenizados utilizando un token blob.
 
Cadena GetSVaultSecret (String MK, String mask, byte[] tokenBlob) throws TacException
 Recupera el secreto de los datos tokenizados mediante un blob de token.
 
Cadena GetSVaultToken (String MK, String mask, byte[] tokenBlob) throws TacException
 Recupera el token de los datos tokenizados utilizando un token blob.
 

Funciones

GenSVaultToken() [1/2]

SVaultGenTokenResponse GenSVaultToken ( int op,
SVaultGenTokenInfo tokenInfo,
int reservado ) lanza una TacException

Tokeniza un dato, generando un token blob y su respectivo token.

Parámetros
opTipo de operación. Debe ser 0.
tokenInfoDetalles de la operación de tokenización
reservadoReservado para uso futuro (debe ser 0).
Devolución
Excepciones
TacException

GenSVaultToken() [2/2]

SVaultGenTokenResponse GenSVaultToken ( SVaultGenTokenInfo tokenInfo) lanza una TacException

Tokeniza un dato, generando un token blob y su respectivo token.

Parámetros
tokenInfoDetalles de la operación de tokenización
Devolución
Excepciones
TacException

GenSVaultDigitToken()

SVaultGenTokenResponse GenSVaultDigitToken ( byte CKS,
byte maskFlags,
Cadena MK,
Cadena secreto ) lanza una TacException

Tokeniza los dígitos, generando un token blob y su respectivo token.

Parámetros
CKSDefine el tipo de suma de comprobación para la generación de fichas. Puede ser una de las opciones de la siguiente tabla
Valor Operación
TacNDJavaLib.D_SVAULT_CKS_NULL No genera una suma de comprobación. Sólo genera el token.
TacNDJavaLib.D_SVAULT_CKS_CPF Genera los 2 dígitos de verificación del estándar CPF (Cadastro de Pessoas Físicas) en el token. El secreto debe contener solo números e incluir los dígitos de verificación.
TacNDJavaLib.D_SVAULT_CKS_CNPJ Genera los 2 dígitos de verificación en el estándar CNPJ (Registro Nacional de Personas Jurídicas) en el token. El secreto debe contener sólo números e incluir los dígitos de verificación.
TacNDJavaLib.D_SVAULT_CKS_PAN Genera un PAN (Primary Account Number) con un dígito de control válido en el token. El secreto debe estar completo y contener solo números.
TacNDJavaLib.D_SVAULT_CKS_IEL Genera los 2 dígitos de control en el patrón del número de registro de votante en la ficha. El secreto debe contener solo números e incluir los dígitos de control.
maskFlagsOpciones de generación. Puede ser una de las opciones de la siguiente tabla
Valor Operación
0 No utiliza máscaras para la generación de testigos ni para la recuperación de secretos.
TacNDJavaLib.D_SVAULT_F_MASK_TOKEN Utiliza máscaras para generar el token. La máscara se puede pasar al recuperar el token o el secreto.
TacNDJavaLib.D_SVAULT_F_MASK_SECRET Utiliza máscaras para generar el secreto. La máscara se puede pasar al recuperar el token o el secreto.
MKNombre de la clave utilizada para la protección de datos
secretoEl secreto debe ser una cadena con números solamente. Debe tener un tamaño mínimo de TacNDJavaLib . D_SVAULT_MIN_TL y un tamaño máximo de TacNDJavaLib.D_SVAULT_MAX_TL.
Devolución
Excepciones
TacException

GenSVaultStringToken()

SVaultGenTokenResponse GenSVaultStringToken ( byte maskFlags,
Cadena MK,
Cadena secreto ) lanza una TacException

Tokeniza una cadena UTF-8, generando un token blob y su respectivo token.

Parámetros
maskFlagsOpciones de generación. Puede ser una de las opciones de la siguiente tabla
Valor Operación
0 No utiliza máscaras para la generación de testigos ni para la recuperación de secretos.
TacNDJavaLib.D_SVAULT_F_MASK_TOKEN Utiliza máscaras para generar el token. La máscara se puede pasar al recuperar el token o el secreto.
TacNDJavaLib.D_SVAULT_F_MASK_SECRET Utiliza máscaras para generar el secreto. La máscara se puede pasar al recuperar el token o el secreto.
MKNombre de la clave utilizada para la protección de datos
secretoEl secreto debe ser una cadena UTF-8. Debe tener un tamaño mínimo de TacNDJavaLib . D_SVAULT_MIN_TL y un tamaño máximo de TacNDJavaLib.D_SVAULT_MAX_TL.
Devolución
Excepciones
TacException

GetSVaultTokenBlobData()

Cadena GetSVaultTokenBlobData ( int op,
Cadena MK,
Cadena máscara,
byte[] tokenBlob ) lanza una TacException

Recupera el secreto o token de datos tokenizados utilizando un token blob.

Esta API también permite recuperar el secreto enmascarado o el token.

Parámetros
opTipo de operación. Puede ser una de las opciones siguientes.
Valor Significado
TacNDJavaLib.D_SVAULT_GET_OP_SECRET Recupera el secreto.
TacNDJavaLib.D_SVAULT_GET_OP_TOKEN Recupera la ficha.
MKNombre de la clave utilizada para la protección de datos.
máscaraPatrón de máscara que se aplicará al secreto o token, según el definido al generar el token blob en GenSVaultToken(). Buffer con un tamaño mínimo de TacNDJavaLib.D_SVAULT_MIN_TL y máximo de TacNDJavaLib.D_SVAULT_MIN_TL que contiene la máscara. Puede ser una cadena vacía "" para no utilizar el enmascaramiento. La máscara es una cadena UTF-8 que contiene los caracteres que se aplicarán a los datos para enmascararlos. Pase '\0' en las posiciones en las que desee que se muestren los datos. Consulte las notas para ver ejemplos.
tokenBlobBuffer de tamaño TacNDJavaLib.D_SVAULT_TOKEN_BLOB_LEN, generado por la API GenSVaultToken(), que contiene el blob token.
Devolución
Retorno definido en op
Excepciones
TacException
Notas
Ejemplos con secreto de valor "123456789".
  1. Con la máscara "***" obtenemos el siguiente resultado: "***456789".
  2. Con la máscara "9999" tendremos el siguiente resultado: "999956789".
  3. Con la máscara "***\0\0***" tendremos el siguiente resultado: "***456***".

GetSVaultSecret()

String GetSVaultSecret ( Cadena MK,
Cadena máscara,
byte[] tokenBlob ) lanza una TacException

Recupera el secreto de los datos tokenizados utilizando un token blob.

Esta API también permite recuperar el secreto enmascarado.

Parámetros
MKNombre de la clave utilizada para la protección de datos.
máscaraPatrón de máscara que se aplicará al secreto o token, según el definido al generar el token blob en GenSVaultToken(). Buffer con un tamaño mínimo de TacNDJavaLib.D_SVAULT_MIN_TL y máximo de TacNDJavaLib.D_SVAULT_MIN_TL que contiene la máscara. Puede ser una cadena vacía "" para no utilizar el enmascaramiento. La máscara es una cadena UTF-8 que contiene los caracteres que se aplicarán a los datos para enmascararlos. Pase '\0' en las posiciones en las que desee que se muestren los datos. Consulta las notas sobre GetSVaultTokenBlobData() para ver ejemplos.
tokenBlobBuffer de tamaño TacNDJavaLib.D_SVAULT_TOKEN_BLOB_LEN, generado por la API GenSVaultToken(), que contiene el blob token.
Devolución
secreto
Excepciones
TacException

GetSVaultToken()

String GetSVaultToken ( Cadena MK,
Cadena máscara,
byte[] tokenBlob ) lanza una TacException

Recupera el token de los datos tokenizados utilizando un token blob.

Esta API también permite recuperar el token enmascarado.

Parámetros
MKNombre de la clave utilizada para la protección de datos.
máscaraPatrón de máscara que se aplicará al secreto o token, según el definido al generar el token blob en GenSVaultToken(). Buffer con un tamaño mínimo de TacNDJavaLib.D_SVAULT_MIN_TL y máximo de TacNDJavaLib.D_SVAULT_MIN_TL que contiene la máscara. Puede ser una cadena vacía "" para no utilizar el enmascaramiento. La máscara es una cadena UTF-8 que contiene los caracteres que se aplicarán a los datos para enmascararlos. Pase '\0' en las posiciones en las que desee que se muestren los datos. Consulta las notas sobre GetSVaultTokenBlobData() para ver ejemplos.
tokenBlobBuffer de tamaño TacNDJavaLib.D_SVAULT_TOKEN_BLOB_LEN, generado por la API GenSVaultToken(), que contiene el blob token.
Devolución
ficha
Excepciones
TacException