Actions

Data encryption/nl: Difference between revisions

From LimeSurvey Manual

No edit summary
(Created page with "<blockquote>''Sodium is een moderne, gebruiksvriendelijke softwarebibliotheek voor codering, decodering, handtekeningen en wachtwoordhashing. Het is een portable, cross-compil...")
Line 72: Line 72:
In LimeSurvey wordt de Sodium-bibliotheek gebruikt voor de gegevenscodering en decoderingsfunctionaliteit.
In LimeSurvey wordt de Sodium-bibliotheek gebruikt voor de gegevenscodering en decoderingsfunctionaliteit.


<blockquote>''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.''
<blockquote>''Sodium is een moderne, gebruiksvriendelijke softwarebibliotheek voor codering, decodering, handtekeningen en wachtwoordhashing. Het is een portable, cross-compileerbare, installeerbare, packagable vork van NaCl, met een compatibele API en een uitgebreide API om de bruikbaarheid nog verder te vergroten. Het doel is om alle kernactiviteiten te bieden die nodig zijn om cryptografische hulpmiddelen van een hoger niveau te bouwen.''





Revision as of 14:19, 19 August 2019



Inleiding

Encryptie is een nieuwe functie in LimeSurvey 4. Het is gemaakt om enquêtebeheerders te helpen beter om te gaan met de nieuwe voorschriften voor gegevensbescherming die sinds 2016 in de Europese Unie zijn aangenomen (bijv. AVG).

Deze functie maakt het versleutelen mogelijk van persoonlijke gegevens in de deelnemersdatabase en / of deelnemers enquête. Bovendien kun je de gegevens die je van je respondenten verzamelt ook versleutelen als het encryptie vraagattribuut is ingeschakeld.

Hou er rekening mee dat de gegevens altijd zichtbaar zijn in de LimeSurvey-interface. Alleen de opslag in de database is versleuteld. Iemand die toegang heeft tot de server waarop je LimeSurvey host, kan de respectieve gegevens niet bekijken, buiten LimeSurvey om. Let daarom op aan wie je rechten geeft.


  Nadat je sleutels voor encryptie hebt gemaakt, moet je back-ups maken. Als je de sleutel verliest, worden de gegevens onbruikbaar omdat ze niet meer kunnen worden gelezen. Als je LimeSurvey CE gebruikt, zijn de openbare en geheime sleutels te vinden in /application/config/security.php.



Wanneer versleutelen?

Dat is afhankelijk van:

  • het type gegevens dat wordt verzamelt
  • waar de gegevens staan
  • Nederlandse of Europese wetgeving
  • ...

Meestal is het belangrijk om persoonlijk identificeerbare gegevens te versleutelen (zoals aanbevolen in de Algemene Verordening Gegevensbescherming). Velden als voornaam, achternaam, e-mailadres, telefoonnummer, adres, ... kunnen worden gebruikt om de responsen te identificeren naar één persoon.

In andere gevallen kunnen ook meer velden moeten worden versleuteld. Bijvoorbeeld in medisch onderzoek moet je mogelijk de meeste van de gegevens coderen als de antwoorden naar een persoon zijn te achterhalen.

Pas daarom de enquête en de gegevens aan de geldende wetgeving aan!

Instellingen

De encryptie kan worden ingesteld bij:


Vraagattributen

Het attribuut "Gecodeerd" wordt gebruikt om de encryptie van responsen op de enquête in te schakelen. Standaard uitgeschakeld. Na het activeren van de enquête kan de waarde van het attribuut niet meer worden gewijzigd.



Deelnemerattributen

Drie kernattributen (voornaam, achternaam en e-mailadres) worden altijd weergegeven in de deelnemerstabel, waarbij de codering standaard is ingeschakeld.

Bij elk nieuw deelnemerattribuut is standaard encryptie uitgeschakeld.

Encryptie kan op elk moment worden ingeschakeld en uitgeschakeld.



Deelnemerstabelattributen

Drie kernattributen (voornaam, achternaam en e-mailadres) worden altijd getoond in de centrale deelnemersdatabase, waarbij de codering standaard is ingeschakeld.

Bij elk nieuw deelnemerattribuut is standaard encryptie uitgeschakeld.

Encryptie kan op elk moment worden ingeschakeld en uitgeschakeld.


Geavanceerd

In LimeSurvey wordt de Sodium-bibliotheek gebruikt voor de gegevenscodering en decoderingsfunctionaliteit.

Sodium is een moderne, gebruiksvriendelijke softwarebibliotheek voor codering, decodering, handtekeningen en wachtwoordhashing. Het is een portable, cross-compileerbare, installeerbare, packagable vork van NaCl, met een compatibele API en een uitgebreide API om de bruikbaarheid nog verder te vergroten. Het doel is om alle kernactiviteiten te bieden die nodig zijn om cryptografische hulpmiddelen van een hoger niveau te bouwen.


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.


  Warning : Once data encryption is turned on, data in corresponding database columns would become unreadable without decrypting them first. You should always have a backup of your encryption keys in case they get deleted. Also, once encryption keys are set, you should never change them because it would make all existing data unusable.



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.