Data encryption/nl

=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.

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
 * Deelnemerattributen
 * Deelnemerstabelattributen.

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 platform-onafhankelijk en taaloverschrijdend. Het werkt op verschillende compilers en besturingssystemen, waaronder Windows (met MinGW of Visual Studio, x86 en x86_64), iOS en Android. Javascript- en WebAssembly-versies zijn ook beschikbaar en worden volledig ondersteund. Bindingen voor alle gangbare programmeertalen zijn beschikbaar en worden goed ondersteund. ''

Versie 7.2.0 en hoger van de PHP programmeertaal bevat de sodium-extensie (ext/sodium genoemd) als een cryptografiebibliotheek. Versie 2 van de PHP-extensie in PECL is compatibel met ext/sodium in PHP 7.2.

LimeSurvey gebruikt de Sodium Compat bibliotheek om te werken met verschillende PHP-versies. Deze bibliotheek ondersteunt voorlopig PHP 5.2.4 - 7.x (laatste), maar officieel ondersteunt het alleen niet-EOL-versies van PHP.

Gegevenscodering / decoderingsmethoden die in LimeSurvey worden gebruikt, zijn gebaseerd op publieke sleutel handtekeningen. Openbare en geheime sleutels zijn te vinden in het bestand /application/config/security.php. Sleutels worden automatisch gegenereerd bij het eerste gebruik van de coderingsfunctie.

Gedeeltelijk zoeken naar teksten is niet mogelijk op databasekolommen met gecodeerde gegevens, wel het zoeken naar een exacte overeenkomst.

Fouten

 * Bibliotheek bestaat niet (library doesn't exists): De PHP Sodiumbibliotheek moet geïnstalleerd zijn om de gegevenscoderingsfunctie te kunnen gebruiken. Installatie. Als je geen gegevenscodering wilt gebruiken, moet je de codering uitschakelen in de attribuutinstellingen.
 * Verkeerde decoderingssleutel (wrong decryption key): De decoderingssleutel is gewijzigd sinds de gegevens voor het laatst zijn opgeslagen, dus gegevens kunnen niet worden gedecodeerd. De enige manier om gegevens te decoderen, is door de oorspronkelijke sleutel uit de back-up te halen en de huidige decoderingssleutel te vervangen door de originele sleutel.