Data encryption: Difference between revisions
From LimeSurvey Manual
mNo edit summary |
mNo edit summary |
||
Line 11: | Line 11: | ||
==Introduction== <!--T:1--> | ==Introduction== <!--T:1--> | ||
'''Data encryption''' is a new feature provided in LimeSurvey 4. It has been created to help survey administrators better cope with the new data-protection regulations adopted in different parts of the world (e.g., GDPR). | |||
This feature permits the encryption of personal data located in the central participants database and/or survey participants table. Moreover, you can also encrypt the data you collect from your respondents if the corresponding question attribute is enabled. | |||
When encryptoion is turned on, the database entries associated with the three locations mentioned above will appear as being encrypted when visualizing the database where they are stored. As a result, no one with access to your server can visualize it. | |||
However, if the encryption keys are lost, the data will become unusable since it cannot be recovered any longer. Therefore, make sure that you ''' | |||
* General settings of a question | * General settings of a question |
Revision as of 14:38, 11 April 2019
Introduction
Data encryption is a new feature provided in LimeSurvey 4. It has been created to help survey administrators better cope with the new data-protection regulations adopted in different parts of the world (e.g., GDPR).
This feature permits the encryption of personal data located in the central participants database and/or survey participants table. Moreover, you can also encrypt the data you collect from your respondents if the corresponding question attribute is enabled.
When encryptoion is turned on, the database entries associated with the three locations mentioned above will appear as being encrypted when visualizing the database where they are stored. As a result, no one with access to your server can visualize it.
However, if the encryption keys are lost, the data will become unusable since it cannot be recovered any longer. Therefore, make sure that you
- General settings of a question
Settings
There are three places in LimeSurvey where data encryption settings can be set: question attributes, participant attributes, and central participant database attributes.
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.