Criptografar dados de campo

A Plataforma FileMaker fornece estas funções para criptografar e descriptografar os dados usando uma chave especificada:

  • CryptEncryptBase64: aceita texto ou dados de container e retorna texto criptografado codificado em Base64.

  • CryptDecryptBase64: aceita texto criptografado, codificado em Base64 pelo CryptEncryptBase64 e retorna dados descriptografados no mesmo formato (texto ou dados de container) que eram antes de serem criptografados.

Se precisar de mais controle sobre como os dados criptografados são codificados e formatados, você pode usar as funções CryptEncrypt e CryptDecrypt. Consulte a Ajuda do FileMaker Pro.

Importante  Essas funções não têm conexão direta com o esquema de segurança de um arquivo do FileMaker Pro (contas, conjuntos de privilégios, privilégios estendidos). Portanto, a segurança dos seus dados depende de como você usa essas funções no seu app personalizado.

Como desenvolvedor, considere como gerenciar as chaves de forma segura:

  • Criação: as práticas recomendadas para a criação de chaves (ou geração) incluem pelo menos estes elementos: comprimento, complexidade e entropia da chave.

  • Armazenamento: armazene as chaves com segurança e em separado dos dados que elas descriptografam.

  • Retenção: as chaves devem estar disponíveis enquanto os dados criptografados estiverem disponíveis. Por exemplo, os backups ficarão inutilizáveis se as chaves estiverem indisponíveis.

  • Destruição: dependendo da forma como você usar essas funções, se uma chave for destruída, os dados que ela criptografou serão efetivamente destruídos, pois eles não podem ser descriptografados sem a chave.

Uma aplicação dessas funções é proteger a confidencialidade dos dados em um campo (também conhecida como criptografia de nível de campo). No entanto, esse nível de criptografia não substitui a criptografia em repouso, cuja função é proteger todo o arquivo (inclusive backups) contra adulterações. Consulte Criptografar um app personalizado.

Considere também:

  • A tentativa de descriptografar dados que já foram descriptografados poderá destruí-los. Em vez disso, use um sinalizador separado para indicar se os dados foram criptografados. Descriptografe os dados apenas quando for necessário.

  • Quando o conteúdo de um campo é criptografado, subsequentemente descriptografado e depois recriptografado, os valores criptografados serão diferentes a cada vez.

  • Se a chave for comprometida, você precisará localizar todos os registros com os dados criptografados para que eles possam ser descriptografados com a chave comprometida e recriptografados com uma nova chave.