Šifrování dat
From LimeSurvey Manual
Úvod
Funkce Šifrování dat byla vytvořena, aby správcům průzkumů usnadnila plnění nových předpisů na ochranu osobních údajů přijímaných v různých částech světa (např. GDPR).
Tato funkce umožňuje šifrovat osobní údaje uložené v centrální databázi respondentů a/nebo v tabulce respondentů průzkumu. Kromě toho můžete šifrovat také data, která od respondentů sbíráte, pokud je povolen atribut otázky pro šifrování.
Upozorňujeme, že vaše data budou v rozhraní LimeSurvey vždy viditelná. Šifrují se pouze záznamy v databázi – nikdo, kdo má přístup k serveru, na němž LimeSurvey provozujete, si příslušná data nemůže zobrazit. Proto pečlivě zvažte, komu udělíte globální oprávnění a oprávnění k průzkumu.
Kdy šifrovat data?
Na tuto otázku neexistuje jediná správná odpověď. Velmi záleží na:
- typu dat, která sbíráte
- tom, kde je váš průzkum realizován
- národní nebo federální legislativě
Ve většině případů je důležité šifrovat osobní údaje, které umožňují identifikaci osoby (jak doporučuje například obecné nařízení o ochraně osobních údajů). Pole jako jméno, příjmení, e-mailová adresa, telefonní číslo, adresa a podobně totiž lze použít k identifikaci odpovědí, které jedna osoba odeslala.
V jiných případech se data, která by měla být šifrována, nemusí omezovat na výše uvedené příklady. V některých situacích (např. v lékařském výzkumu) může být nutné zašifrovat většinu dat, pokud lze odpovědi zpětně dohledat k osobě, která je odeslala.
Přizpůsobte proto svůj průzkum a sběr dat místní legislativě!
Nastavení
V LimeSurvey existují tři místa, kde lze nastavit šifrování dat:
Atributy otázky
Atribut otázky „Šifrováno“ slouží k zapnutí šifrování dat pro příslušné odpovědi. Tento atribut je ve výchozím nastavení vypnutý. Po aktivaci průzkumu již nelze tento atribut změnit.

Atributy respondenta
Tři základní atributy (jméno, příjmení a e-mail) jsou vždy zobrazeny v tabulce respondentů průzkumu a šifrování je u nich ve výchozím nastavení zapnuté.
U každého nového atributu respondenta je šifrování ve výchozím nastavení vypnuté.
Šifrování lze zapnout nebo vypnout kdykoli.
Správa atributů centrální databáze respondentů
Tři základní atributy (jméno, příjmení a e-mail) jsou vždy zobrazeny v centrální databázi respondentů a šifrování je u nich ve výchozím nastavení zapnuté.
U každého nového atributu respondenta je šifrování ve výchozím nastavení vypnuté.
Šifrování lze zapnout nebo vypnout kdykoli.
Pokročilé
Pro šifrování a dešifrování dat v LimeSurvey se používá knihovna Sodium.
Sodium je moderní, snadno použitelná softwarová knihovna pro šifrování, dešifrování, podpisy, hashování hesel a další operace. Je to přenositelný, křížově kompilovatelný, instalovatelný a balíčkovatelný fork knihovny NaCl s kompatibilním API a rozšířeným API pro ještě lepší použitelnost. Jejím cílem je poskytnout všechny základní operace potřebné k vytváření kryptografických nástrojů vyšší úrovně.
Sodium je multiplatformní a funguje s mnoha programovacími jazyky. Běží na řadě kompilátorů a operačních systémů, včetně Windows (s MinGW nebo Visual Studio, x86 a x86_64), iOS a Android. K dispozici jsou také plně podporované verze pro JavaScript a WebAssembly. Dostupné a dobře podporované jsou i vazby pro všechny běžné programovací jazyky.
Programovací jazyk PHP ve verzi 7.2.0 a novější obsahuje rozšíření Sodium (označované jako ext/sodium) jako základní kryptografickou knihovnu. Verze 2 rozšíření PHP v PECL je kompatibilní s ext/sodium v PHP 7.2.
LimeSurvey používá knihovnu Sodium Compat, která zajišťuje propojení s různými verzemi PHP.
Tato knihovna předběžně podporuje PHP 5.2.4 – 7.x (nejnovější), oficiálně však podporuje pouze verze PHP, jejichž podpora neskončila.
Metody šifrování a dešifrování dat používané v LimeSurvey jsou založeny na podpisech s veřejným klíčem. Veřejný a tajný klíč naleznete v souboru /application/config/security.php. Klíče se generují automaticky při prvním použití funkce šifrování.
U sloupců databáze se šifrovanými daty nebude možné vyhledávat podle části řetězce, pouze podle přesné shody.
Chyby
Možné chyby při používání šifrování dat:
- knihovna neexistuje: Pro použití funkce šifrování dat musí být nainstalována knihovna PHP Sodium. Návod k instalaci knihovny naleznete zde: Instalace Sodium. Pokud šifrování dat používat nechcete, musíte šifrování zakázat v nastavení atributů.
- nesprávný dešifrovací klíč: dešifrovací klíč se změnil od posledního uložení dat, a proto data nelze dešifrovat. Jediným způsobem, jak data dešifrovat, je získat původní klíč ze zálohy a nahradit jím aktuální dešifrovací klíč.
Poznámka: pokud se chyba nesprávný dešifrovací klíč objevuje pouze tehdy, když LimeSurvey odesílá e-mail (např. po dokončení průzkumu), přejděte do Konfigurace > Globální nastavení > Nastavení e-mailu, znovu zadejte své heslo SMTP a klikněte na Uložit.[1]
V opačném případě můžete zkusit porovnat a případně obnovit své dešifrovací klíče ze zálohy (zálohujete přece, že ano? Hm?).