Crittografia dei dati
From LimeSurvey Manual
Introduzione
Crittografia dei dati è una nuova funzionalità fornita in LimeSurvey 4. È stata creata per aiutare gli amministratori dei sondaggi a far fronte meglio alle nuove normative sulla protezione dei dati adottate in diverse parti del mondo (ad esempio, GDPR).
Questa funzione consente la crittografia dei dati personali che si trovano nel database centrale dei partecipanti e/o tabella dei partecipanti al sondaggio. Inoltre, puoi anche crittografare i dati che raccogli dai tuoi intervistati se l'attributo della domanda di crittografia è abilitato.
Tieni presente che i tuoi dati saranno sempre visibili nell'interfaccia di LimeSurvey. Solo le voci del database vengono crittografate: nessuno che acceda al server su cui ospiti LimeSurvey può visualizzare i rispettivi dati. Pertanto, fai attenzione a chi fornisci autorizzazioni globali e sondaggi.
Quando crittografare i dati?
Non esiste una risposta corretta a questa domanda. Dipende fortemente da:
- il tipo di dati che raccogli
- dove il tuo sondaggio è basato su
- legislazione nazionale o federale
Nella maggior parte dei casi, è importante crittografare i dati di identificazione personale (ad esempio, come raccomandato dal regolamento generale sulla protezione dei dati). Pertanto, campi come nome, cognome, indirizzo e-mail, numero di telefono, indirizzo e così via possono essere utilizzati per identificare le risposte inviate da una persona.
In altri casi, i dati che dovrebbero essere crittografati non si fermano necessariamente agli esempi forniti sopra. In alcuni scenari (ad esempio, nella ricerca medica), potrebbe essere necessario crittografare la maggior parte dei dati se è possibile rintracciare le risposte alla persona che li ha inviati.
Pertanto, ti preghiamo di adattare il tuo sondaggio e la raccolta dei dati alla legislazione locale!
Impostazioni
Ci sono tre posizioni in LimeSurvey in cui è possibile impostare le impostazioni di crittografia dei dati:
- attributi della domanda
- attributi del partecipante
- attributi del database del partecipante centrale.
Question attributes
Question attribute "Encrypted" is used to enable data encryption for corresponding responses. This attribute is turned off by default. Once survey is activated, it is not possible to change this attribute.
Participant attributes
Three core attributes (firstname, lastname, and email) are always shown in the survey participants table, the encryption being turned on by default.
Each new participant attribute will have encryption turned off by default.
Encryption can be turned on or off at any moment.
Central participant database attribute management
Three core attributes (firstname, lastname and email) are always shown in the central participant database, the encryption being turned on by default.
Each new participant attribute will have encryption turned off by default.
Encryption can be turned on or off at any moment.
Advanced
Sodium library is used to provide data encryption and decryption functionality for LimeSurvey.
Sodium is a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more. It is a portable, cross-compilable, installable, packageable fork of NaCl, with a compatible API, and an extended API to improve usability even further. Its goal is to provide all of the core operations needed to build higher-level cryptographic tools.
Sodium is cross-platforms and cross-languages. It runs on a variety of compilers and operating systems, including Windows (with MinGW or Visual Studio, x86 and x86_64), iOS and Android. Javascript and WebAssembly versions are also available and are fully supported. Bindings for all common programming languages are available and well-supported.
Version 7.2.0 and newer of the PHP programming language includes the Sodium extension (referred to as ext/sodium) as a core cryptography library. Version 2 of the PHP extension in PECL is compatible with ext/sodium in PHP 7.2.
LimeSurvey uses the Sodium Compat library to bridge with different PHP versions.
This library tentatively supports PHP 5.2.4 - 7.x (latest), but officially it only supports non-EOL'd versions of PHP.
Data encryption/decryption methods used in LimeSurvey are based on public-key signatures. Public and secret keys can be found in /application/config/security.php file. Keys are automatically generated on first usage of encryption feature.
Partial string search won't be possible for database columns with encrypted data, only exact match search.
Errors
Possible errors when using data encryption:
- library doesn't exists: PHP Sodium library have to be installed to be able to use data encryption feature. Here is a guide on how to install library: Sodium installation. If you don't want to use data encryption, you have to disable encryption in attribute settings.
- wrong decryption key: decryption key has changed since data was last saved, so data can't be decrypted. The only way to decrypt data is to retrieve the original key from backup and replace the current decryption key with the original key.
Note: if the wrong decryption key error happens only when LimeSurvey sends an email (e.g. when you concluded a survey), go in Configuration > Global Settings > E-mail settings, and re-insert your STMP password and press Save.[1]
Otherwise, you can still try to compare and eventually recover your decryption keys from a backup (since you do backups... isn't it? Uh?).