Криптиране на данни
From LimeSurvey Manual
Въведение
Шифроване на данни е нова функция, предоставена в LimeSurvey 4. Тя е създадена, за да помогне на администраторите на анкети да се справят по-добре с новите разпоредби за защита на данните, приети в различни части на света (напр. GDPR).
Тази функция позволява криптиране на лични данни, намиращи се в централната база данни на участниците и/или таблица с участници в проучването. Освен това можете също да шифровате данните, които събирате от вашите респонденти, ако атрибутът на въпроса за шифроване е активиран.
Моля, имайте предвид, че вашите данни винаги ще бъдат видими в интерфейса на LimeSurvey. Само записите в базата данни се криптират - никой, който има достъп до сървъра, където хоствате LimeSurvey, не може да визуализира съответните данни. Затова, моля, обърнете внимание на кого предоставяте глобални разрешения и разрешения за проучване.
Кога да шифровате данните си?
Няма един правилен отговор на този въпрос. Силно зависи от:
- вида данни, които събирате
- когато вашето проучване се основава на
- национално или федерално законодателство
През повечето време е важно да криптирате лични данни (напр. както се препоръчва в Общия регламент за защита на данните). Следователно полета като собствено име, фамилия, имейл адрес, телефонен номер, адрес и т.н. могат да се използват за идентифициране на отговорите, изпратени от едно лице.
В други случаи данните, които трябва да бъдат криптирани, не спират непременно до примерите, дадени по-горе. В определени сценарии (напр. при медицински изследвания) може да се наложи да шифровате повечето от вашите данни, ако можете да проследите обратно отговорите до лицето, което ги е изпратило.
В резултат на това, моля, адаптирайте вашето проучване и събирането на данни към местното законодателство!
Настройки
Има три места в LimeSurvey, където могат да се задават настройки за криптиране на данни:
Атрибути на въпроса
Атрибутът на въпроса „Шифровано“ се използва за активиране на криптиране на данни за съответните отговори. Този атрибут е изключен по подразбиране. След като проучването е активирано, не е възможно да се промени този атрибут.
Атрибути на участниците
Три основни атрибута (име, фамилия и имейл) винаги се показват в таблица с участници в проучването, като криптирането е включено по подразбиране .
Всеки нов атрибут на участник ще има изключено криптиране по подразбиране.
Шифроването може да бъде включено или изключено по всяко време.
Управление на атрибутите на централната база данни на участниците
Три основни атрибута (име, фамилия и имейл) винаги се показват в централната база данни на участниците, като криптирането е включено по подразбиране.
Всеки нов атрибут на участник ще има изключено криптиране по подразбиране.
Шифроването може да бъде включено или изключено по всяко време.
Advanced
Sodium библиотека се използва за предоставяне на функционалност за криптиране и декриптиране на данни за LimeSurvey.
Sodium е модерна, лесна за използване софтуерна библиотека за криптиране, декриптиране, подписи, хеширане на пароли и др. Това е преносимо, кръстосано компилируемо, инсталируемо, опаковано разклонение на NaCl, със съвместим API и разширен API за подобряване на използваемостта още повече. Целта му е да предостави всички основни операции, необходими за изграждане на криптографски инструменти от по-високо ниво.
„Sodium е между платформи и различни езици. Той работи на различни компилатори и операционни системи, включително Windows (с MinGW или Visual Studio, x86 и x86_64), iOS и Android. Версиите на Javascript и WebAssembly също са налични и се поддържат напълно. Обвързванията за всички често срещани езици за програмиране са налични и се поддържат добре.“
Версия 7.2.0 и по-нова на езика за програмиране PHP включва разширението Sodium (наричано ext/sodium) като основна криптографска библиотека. Версия 2 на PHP разширението в PECL е съвместима с ext/sodium в PHP 7.2.
LimeSurvey използва библиотеката Sodium Compat за свързване с различни версии на PHP.
Тази библиотека условно поддържа PHP 5.2.4 - 7.x (най-нова), но официално поддържа само не-EOL'd версии на PHP.
Методите за криптиране/декриптиране на данни, използвани в LimeSurvey, се основават на подписи с публичен ключ. Публичните и секретните ключове могат да бъдат намерени във файла /application/config/security.php. Ключовете се генерират автоматично при първото използване на функцията за криптиране.
Частично търсене на низове няма да е възможно за колони на база данни с криптирани данни, а само търсене с точно съвпадение.
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?).