Criptografia de dados
From LimeSurvey Manual
Introdução
O recurso de criptografia de dados foi criado para ajudar os administradores de inquéritos a lidar melhor com as novas regulamentações de proteção de dados adotadas em diferentes partes do mundo (por exemplo, a LGPD e o GDPR).
Este recurso permite a criptografia de dados pessoais localizados no banco de dados central de participantes e/ou na tabela de participantes do questionário. Além disso, você também pode criptografar os dados coletados de seus respondentes se o atributo de pergunta de criptografia estiver ativado.
Observe que seus dados sempre estarão visíveis na interface do LimeSurvey. Apenas as entradas do banco de dados são criptografadas - ninguém que acesse o servidor onde você hospeda o LimeSurvey consegue visualizar os dados correspondentes. Portanto, tenha atenção a quem você concede permissões globais e de inquérito.
Quando criptografar seus dados?
Não há uma única resposta correta para essa pergunta. Depende fortemente de:
- o tipo de dados que você coleta
- o local em que seu inquérito se baseia
- a legislação nacional ou federal
Na maioria das vezes, é importante criptografar dados de identificação pessoal (por exemplo, conforme recomendado pelo Regulamento Geral sobre a Proteção de Dados). Portanto, campos como nome, sobrenome, endereço de e-mail, número de telefone, endereço e assim por diante podem ser usados para identificar as respostas enviadas por uma pessoa.
Em outros casos, os dados que devem ser criptografados não se limitam necessariamente aos exemplos acima. Em certos cenários (por exemplo, em pesquisas médicas), pode ser necessário criptografar a maior parte dos seus dados se for possível rastrear as respostas até a pessoa que as enviou.
Portanto, adapte seu inquérito e a coleta de dados à legislação local!
Configurações
Existem três locais no LimeSurvey onde as configurações de criptografia de dados podem ser definidas:
- atributos de pergunta
- atributos de participante
- atributos do banco de dados central de participantes.
Atributos de pergunta
O atributo de pergunta "Criptografado" é usado para ativar a criptografia de dados para as respostas correspondentes. Este atributo está desativado por padrão. Depois que o inquérito é ativado, não é possível alterar este atributo.

Atributos de participante
Três atributos principais (nome, sobrenome e e-mail) são sempre exibidos na tabela de participantes do questionário, com a criptografia ativada por padrão.
Cada novo atributo de participante terá a criptografia desativada por padrão.
A criptografia pode ser ativada ou desativada a qualquer momento.
Gerenciamento de atributos do banco de dados central de participantes
Três atributos principais (nome, sobrenome e e-mail) são sempre exibidos no banco de dados central de participantes, com a criptografia ativada por padrão.
Cada novo atributo de participante terá a criptografia desativada por padrão.
A criptografia pode ser ativada ou desativada a qualquer momento.
Avançado
A biblioteca Sodium é usada para fornecer a funcionalidade de criptografia e descriptografia de dados no LimeSurvey.
Sodium é uma biblioteca de software moderna e fácil de usar para criptografia, descriptografia, assinaturas, hash de senhas e mais. É um fork portátil, compilável de forma cruzada, instalável e empacotável do NaCl, com uma API compatível e uma API estendida para melhorar ainda mais a usabilidade. Seu objetivo é fornecer todas as operações essenciais necessárias para construir ferramentas criptográficas de nível mais alto.
Sodium é multiplataforma e multilinguagem. Ele funciona em diversos compiladores e sistemas operacionais, incluindo Windows (com MinGW ou Visual Studio, x86 e x86_64), iOS e Android. Versões em JavaScript e WebAssembly também estão disponíveis e são totalmente suportadas. Há bindings para todas as linguagens de programação comuns, com bom suporte.
A versão 7.2.0 e posteriores da linguagem de programação PHP incluem a extensão Sodium (chamada de ext/sodium) como biblioteca principal de criptografia. A versão 2 da extensão PHP no PECL é compatível com a ext/sodium do PHP 7.2.
O LimeSurvey usa a biblioteca Sodium Compat para fazer a ponte com diferentes versões do PHP.
Esta biblioteca oferece suporte experimental ao PHP 5.2.4 - 7.x (mais recente), mas oficialmente só oferece suporte a versões do PHP que não atingiram o fim da vida útil (EOL).
Os métodos de criptografia/descriptografia de dados usados no LimeSurvey são baseados em assinaturas de chave pública. As chaves pública e secreta podem ser encontradas no arquivo /application/config/security.php. As chaves são geradas automaticamente no primeiro uso do recurso de criptografia.
A busca parcial de texto não será possível em colunas do banco de dados com dados criptografados; apenas a busca por correspondência exata.
Erros
Possíveis erros ao usar a criptografia de dados:
- library doesn't exists (a biblioteca não existe): a biblioteca PHP Sodium precisa estar instalada para que você possa usar o recurso de criptografia de dados. Veja aqui um guia de como instalar a biblioteca: Instalação do Sodium. Se você não deseja usar a criptografia de dados, é necessário desativar a criptografia nas configurações de atributos.
- wrong decryption key (chave de descriptografia incorreta): a chave de descriptografia foi alterada desde que os dados foram salvos pela última vez, portanto os dados não podem ser descriptografados. A única maneira de descriptografar os dados é recuperar a chave original a partir do backup e substituir a chave de descriptografia atual pela chave original.
Nota: se o erro wrong decryption key ocorrer somente quando o LimeSurvey envia um e-mail (por exemplo, quando você conclui um inquérito), acesse Configuração > Definições globais > Configurações de e-mail, insira novamente sua senha SMTP e clique em Salvar.[1]
Caso contrário, você ainda pode tentar comparar e, eventualmente, recuperar suas chaves de descriptografia a partir de um backup (afinal, você faz backups... não é mesmo? Hein?).