SVault
The SVault module APIs provide tokenization functionalities for anonymizing and pseudonymizing databases containing Personally Identifiable Information (PII). The tokenization process is based on the generation of random numbers by a FIPS SP800-90A DRBG ( NIST CAVP approval).
Architecture
The SVault module Dinamo tokenizes personally identifiable information (also called secret) by generating a random token and a token blob(secret and encrypted metadata).
The token blob can be stored and used for later retrieval of the secret, for pseudonymization operations. For anonymization operations, the token blob must be discarded and the secret cannot be recovered later.
The token generated replaces the secret in the original database and may have the blob token associated with it in cases of pseudonymization. The token can have its format (decimal, base62, etc.) and the ability to generate check digits (in the case of CPF, CNPJ, PAN, etc.) specified at the time of generation.
Sensitive data is protected using a symmetric key protected within the HSM.
Retrieving the secret using the token blob allows it to be retrieved in clear text or masked. Masking is done internally to the HSM, preventing the secret from being manipulated in clear text by the application.
---
title: Fluxo de codificação de segredos
---
sequenceDiagram
autonumber
participant base as Base de dados
participant app as Aplicação
participant hsm as HSM
Note over hsm: chave
app ->> hsm: segredo
hsm ->> hsm: codifica
hsm ->> app: token (dado pseudomizado)<br>token blob (segredo encriptado)
app ->> base: token<br>token blob
Note over base: token<br>token blob
---
title: Fluxo de decodificação de tokens blobs
---
sequenceDiagram
autonumber
participant base as Base de dados
participant app as Aplicação
participant hsm as HSM
Note over base: token (dado pseudomizado)<br>token blob (segredo encriptado)
Note over hsm: chave
app ->> base: busca token blob
base ->> app: token blob
app ->> hsm: token blob
hsm ->> hsm: decodifica
hsm ->> app: segredo
Attention
The tokens are generated randomly and, naturally, there is the possibility of conflicting tokens being generated. Therefore, the application will have to deal with the collisions by requesting the generation of the token again in order to guarantee the storage of unique tokens.
SVault API
Specific API documentation for the SVault module, with functions, classes and examples.