Szyfrowanie danych
From LimeSurvey Manual
Wprowadzenie
„Szyfrowanie danych” to nowa funkcja dostępna w LimeSurvey 4. Została stworzona, aby pomóc administratorom ankiet lepiej radzić sobie z nowymi przepisami dotyczącymi ochrony danych przyjętymi w różnych częściach świata (np. RODO).
Funkcja ta umożliwia szyfrowanie danych osobowych znajdujących się w centralna baza danych uczestników i/lub tabela uczestników ankiety. Co więcej, możesz także szyfrować dane, które zbierasz od swoich respondentów, jeśli włączona jest opcja atrybut pytania szyfrującego.
Pamiętaj, że Twoje dane będą zawsze widoczne w interfejsie LimeSurvey. Tylko wpisy do bazy danych są szyfrowane – nikt, kto uzyskuje dostęp do serwera, na którym hostujesz LimeSurvey, nie może wizualizować odpowiednich danych. Dlatego proszę zwrócić uwagę komu nadajesz uprawnienia globalne i ankietowe.
Kiedy szyfrować swoje dane?
Nie ma jednej prawidłowej odpowiedzi na to pytanie. To w dużej mierze zależy od:
- rodzaj danych, które zbierasz
- jeśli Twoja ankieta opiera się na
- przepisach krajowych lub federalnych
W większości przypadków ważne jest szyfrowanie danych osobowych (np. zgodnie z zaleceniami ogólnego rozporządzenia o ochronie danych). Dlatego pola takie jak imię, nazwisko, adres e-mail, numer telefonu, adres itp. mogą zostać wykorzystane do identyfikacji odpowiedzi przesłanych przez jedną osobę.
W innych przypadkach dane, które należy zaszyfrować, niekoniecznie kończą się na powyższych przykładach. W niektórych scenariuszach (np. w badaniach medycznych) może być konieczne zaszyfrowanie większości danych, jeśli można prześledzić odpowiedzi do osoby, która je przesłała.
W związku z tym prosimy o dostosowanie ankiety i zbieranych danych do lokalnego ustawodawstwa!
Ustawienia
W LimeSurvey są trzy miejsca, w których można ustawić ustawienia szyfrowania danych:
Atrybuty pytania
Atrybut pytania „Zaszyfrowane” służy do umożliwienia szyfrowania danych dla odpowiednich odpowiedzi. Ten atrybut jest domyślnie „wyłączony”. Po aktywowaniu ankiety nie ma możliwości zmiany tego atrybutu.
Atrybuty uczestnika
Trzy podstawowe atrybuty (imię, nazwisko i adres e-mail) są zawsze wyświetlane w tabela uczestników ankiety, a szyfrowanie jest domyślnie „włączone” .
Każdy nowy atrybut uczestnika będzie miał domyślnie wyłączone szyfrowanie.
Szyfrowanie można włączyć lub wyłączyć w dowolnym momencie.
Zarządzanie atrybutami centralnej bazy danych uczestników
Trzy podstawowe atrybuty (imię, nazwisko i adres e-mail) są zawsze wyświetlane w centralna baza danych uczestników, przy czym szyfrowanie jest „włączone” domyślnie.
Każdy nowy atrybut uczestnika będzie miał domyślnie wyłączone szyfrowanie.
Szyfrowanie można włączyć lub wyłączyć w dowolnym momencie.
Zaawansowane
Biblioteka Sodium służy do zapewniania funkcji szyfrowania i deszyfrowania danych dla LimeSurvey.
„Sodium to nowoczesna, łatwa w użyciu biblioteka oprogramowania do szyfrowania, deszyfrowania, podpisów, mieszania haseł i nie tylko. Jest to przenośny, możliwy do kompilacji krzyżowej, instalowalny i pakowalny fork NaCl, z kompatybilnym API i rozszerzonym API, aby jeszcze bardziej poprawić użyteczność. Jego celem jest zapewnienie wszystkich podstawowych operacji potrzebnych do zbudowania narzędzi kryptograficznych wyższego poziomu.
„Sód jest dostępny na wielu platformach i w różnych językach. Działa na różnych kompilatorach i systemach operacyjnych, w tym Windows (z MinGW lub Visual Studio, x86 i x86_64), iOS i Android. Dostępne są również wersje JavaScript i WebAssembly, które są w pełni obsługiwane. Dostępne i dobrze obsługiwane są powiązania dla wszystkich popularnych języków programowania.
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?).