NET API
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 (UInt32 Op, DinamoApi.SVAULT_GEN_TOKEN TokenInfo, UInt32 Reserved)
 Tokeniza un dato, generando un token blob y su respectivo token.
 
SVaultGenTokenResponse GenSVaultToken(DinamoApi.SVAULT_GEN_TOKEN TokenInfo)
 Tokeniza un dato, generando un token blob y su respectivo token.
 
SVaultGenTokenResponse GenSVaultDigitToken (byte CKS, byte MaskFlags, cadena MK, cadena Secret)
 Tokeniza los dígitos, generando un token blob y su respectivo token.
 
SVaultGenTokenResponse GenSVaultStringToken (byte MaskFlags, cadena MK, cadena Secret)
 Tokeniza una cadena UTF-8, generando un token blob y su respectivo token.
 
cadena GetSVaultTokenBlobData (UInt32 Op, cadena MK, cadena Mask, byte[] TokenBlob)
 Recupera el secreto o token de datos tokenizados utilizando un token blob. Esta API también permite recuperar el secreto o token enmascarado.
 
cadena GetSVaultSecret (cadena MK, cadena Mask, byte[] TokenBlob)
 Recupera el secreto de datos tokenizados utilizando un token blob. Esta API también permite recuperar el secreto enmascarado.
 
cadena GetSVaultToken (cadena MK, cadena Mask, byte[] TokenBlob)
 Recupera el token de los datos tokenizados utilizando un blob de token. Esta API también permite recuperar el token enmascarado.
 

Funciones

GenSVaultToken() [1/2]

SVaultGenTokenResponse GenSVaultToken ( UInt32 Op,
DinamoApi.SVAULT_GEN_TOKEN TokenInfo,
UInt32 Reservado )
en línea

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
Token blob y token.
Excepciones
DinamoExceptionLanza una excepción en caso de error.

GenSVaultToken() [2/2]

SVaultGenTokenResponse GenSVaultToken ( DinamoApi.SVAULT_GEN_TOKEN TokenInfo)
en línea

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

Parámetros
TokenInfoDetalles de la operación de tokenización.
Devolución
Token blob y token.
Excepciones
DinamoExceptionLanza una excepción en caso de error.

GenSVaultDigitToken()

SVaultGenTokenResponse GenSVaultDigitToken ( byte CKS,
byte MaskFlags,
cadena MK,
cadena Secreto )
en línea

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
DinamoApi.D_SVAULT_CKS_NULL No genera una suma de comprobación. Sólo genera el token.
DinamoApi.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.
DinamoApi.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.
DinamoApi.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.
DinamoApi.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.
DinamoApi.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.
DinamoApi.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 sólo con números. Debe tener una longitud mínima de puntos de codificación DinamoApi . D_SVAULT_MIN_TL y máxima de unidades de codificación DinamoApi.D_SVAULT_MAX_TL.
Devolución
Token blob y token.
Excepciones
DinamoExceptionLanza una excepción en caso de error.
Ejemplos
tokenisation.cs.

GenSVaultStringToken()

SVaultGenTokenResponse GenSVaultStringToken ( byte MaskFlags,
cadena MK,
cadena Secreto )
en línea

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.
DinamoApi.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.
DinamoApi.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 sólo con números. Debe tener una longitud mínima de puntos de codificación DinamoApi . D_SVAULT_MIN_TL y máxima de unidades de codificación DinamoApi.D_SVAULT_MAX_TL.
Devolución
Token blob y token.
Excepciones
DinamoExceptionLanza una excepción en caso de error.
Ejemplos
tokenisation.cs.

GetSVaultTokenBlobData()

cadena GetSVaultTokenBlobData ( UInt32 Op,
cadena MK,
cadena Máscara,
byte[] TokenBlob )
en línea

Recupera el secreto o token de datos tokenizados utilizando un blob de token. Esta API también permite recuperar el secreto o token enmascarado.

Parámetros
OpTipo de operación. Puede ser una de las opciones siguientes.
Valor Significado
DinamoApi.D_SVAULT_GET_OP_SECRET Recupera el secreto.
DinamoApi.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áximo de DinamoApi.D_SVAULT_MAX_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 DinamoApi.D_SVAULT_TOKEN_BLOB_LEN, generado por la API GenSVaultToken(), que contiene el token blob.
Devolución
Devolución según lo definido en op.
Excepciones
DinamoExceptionLanza una excepción en caso de error.
Notas

Ejemplos de uso de una máscara. En este ejemplo utilizaremos un secreto con el valor "123456789". Utilizando la máscara "***" obtendremos el siguiente resultado.

"***456789"

Aplicando la máscara "9999" obtendremos el siguiente resultado.

"999956789"

Aplicando la máscara "***\0\0***" obtendremos el siguiente resultado.

"***456***"

GetSVaultSecret()

cadena GetSVaultSecret ( cadena MK,
cadena Máscara,
byte[] TokenBlob )
en línea

Recupera el secreto de 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áximo de DinamoApi.D_SVAULT_MAX_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 DinamoApi.D_SVAULT_TOKEN_BLOB_LEN, generado por la API GenSVaultToken(), que contiene el token blob.
Devolución
secreto
Excepciones
DinamoExceptionLanza una excepción en caso de error.
Ejemplos
tokenisation.cs.

GetSVaultToken()

cadena GetSVaultToken ( cadena MK,
cadena Máscara,
byte[] TokenBlob )
en línea

Recupera el token de los datos tokenizados utilizando un blob de token. 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áximo de DinamoApi.D_SVAULT_MAX_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 DinamoApi.D_SVAULT_TOKEN_BLOB_LEN, generado por la API GenSVaultToken(), que contiene el token blob.
Devolución
ficha
Excepciones
DinamoExceptionLanza una excepción en caso de error.