Pular para conteúdo

SVault

As APIs do módulo SVault disponibilizam funcionalidades de tokenização para anonimização e pseudonimização de base de dados que contém informações de identificação pessoal (Personally Identifiable Information – PII). O processo de tokenização é baseado na geração de números randômicos por um DRBG FIPS SP800-90A (homologação NIST CAVP).

Arquitetura

O módulo SVault Dinamo faz a tokenização de uma informação de identificação pessoal (também chamada de secret) gerando um token randômico e um token blob (secret e metadados encriptados).

O token blob pode ser armazenado e utilizado para posterior recuperação do secret, para operações de pseudonimização. Para operações de anonimização o token blob deve ser descartado, não permitindo a recuperação posterior do secret.

O token gerado substitui o secret na base de dados original e pode ter o token blob associado, nos casos de pseudonimização. O token pode ter seu formato (decimal, base62 etc.) e habilitação de geração de dígitos verificadores (no caso de CPF, CNPJ, PAN etc.) especificados no momento da geração.

A proteção dos dados sigilosos é feita utilizando uma chave simétrica protegida dentro do HSM.

A recuperação do secret utilizando o token blob permite que ele seja recuperado em texto claro ou mascarado. O mascaramento é feito internamente ao HSM, evitando que o secret seja manipulado em texto claro pela aplicação.

---
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

Atenção

Os tokens são gerados de forma randômica e, naturalmente, há a possibilidade de geração de tokens conflitantes. Desta forma, a aplicação deverá fazer o tratamento das colisões, solicitando novamente a geração do token para garantir o armazenamento de tokens únicos.

API SVault

Documentação específica da API para o módulo SVault, com funções, classes e exemplos.