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.