Actions

Data encryption/bg: Difference between revisions

From LimeSurvey Manual

Maren.fritz (talk | contribs)
Created page with "През повечето време е важно да криптирате лични данни (напр. както се препоръчва в Общия регламе..."
Maren.fritz (talk | contribs)
Created page with "Забележка: ако грешката „грешен ключ за декриптиране“ се случи само когато LimeSurvey изпрати имей..."
 
(17 intermediate revisions by the same user not shown)
Line 32: Line 32:
В други случаи данните, които трябва да бъдат криптирани, не спират непременно до примерите, дадени по-горе. В определени сценарии (напр. при медицински изследвания) може да се наложи да шифровате повечето от вашите данни, ако можете да проследите обратно отговорите до лицето, което ги е изпратило.
В други случаи данните, които трябва да бъдат криптирани, не спират непременно до примерите, дадени по-горе. В определени сценарии (напр. при медицински изследвания) може да се наложи да шифровате повечето от вашите данни, ако можете да проследите обратно отговорите до лицето, което ги е изпратило.


'''As a result, please adapt your survey and the data collection to the local legislation!'''
'''В резултат на това, моля, адаптирайте вашето проучване и събирането на данни към местното законодателство!'''


==Settings==
==Настройки==
There are three places in LimeSurvey where data encryption settings can be set:  
Има три места в LimeSurvey, където могат да се задават настройки за криптиране на данни:  
* [[Data_encryption#Question_attributes|question attributes]]  
* [[Data_encryption#Question_attributes|атрибути на въпрос]]  
* [[Data_encryption#Participant_attributes|participant attributes]]
* [[Data_encryption#Participant_attributes|атрибути на участници]]  
* [[Data_encryption#Central_participant_database_attribute_management|central participant database attributes]].
* [[Data_encryption#Central_participant_database_attribute_management|атрибути на централната база данни на участниците]].




===Question attributes===
===Атрибути на въпроса===
Question attribute "Encrypted" is used to enable data encryption for corresponding responses. This attribute is '''turned off''' by default. Once survey is activated, it is not possible to change this attribute.
Атрибутът на въпроса „Шифровано“ се използва за активиране на криптиране на данни за съответните отговори. Този атрибут е '''изключен''' по подразбиране. След като проучването е активирано, не е възможно да се промени този атрибут.




Line 48: Line 48:




===Participant attributes===
===Атрибути на участниците===
Three core attributes (firstname, lastname, and email) are always shown in the [[Survey_participants|survey participants table]], the encryption being '''turned on''' by default.
Три основни атрибута (име, фамилия и имейл) винаги се показват в [[Survey_participants|таблица с участници в проучването]], като криптирането е '''включено''' по подразбиране .


Each new participant attribute will have encryption '''turned off''' by default.
Всеки нов атрибут на участник ще има '''изключено''' криптиране по подразбиране.


Encryption can be turned on or off at any moment.
Шифроването може да бъде включено или изключено по всяко време.




Line 59: Line 59:




===Central participant database attribute management===
===Управление на атрибутите на централната база данни на участниците===
Three core attributes (firstname, lastname and email) are always shown in the [[Central_Participant_Database|central participant database]], the encryption being '''turned on''' by default.
Три основни атрибута (име, фамилия и имейл) винаги се показват в [[Central_Participant_Database|централната база данни на участниците]], като криптирането е '''включено''' по подразбиране.


Each new participant attribute will have encryption '''turned off''' by default.
Всеки нов атрибут на участник ще има '''изключено''' криптиране по подразбиране.


Encryption can be turned on or off at any moment.  
Шифроването може да бъде включено или изключено по всяко време.  




Line 70: Line 70:


==Advanced==
==Advanced==
Sodium library is used to provide data encryption and decryption functionality for LimeSurvey.
Sodium библиотека се използва за предоставяне на функционалност за криптиране и декриптиране на данни за LimeSurvey.


<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 е модерна, лесна за използване софтуерна библиотека за криптиране, декриптиране, подписи, хеширане на пароли и др. Това е преносимо, кръстосано компилируемо, инсталируемо, опаковано разклонение на NaCl, със съвместим API и разширен API за подобряване на използваемостта още повече. Целта му е да предостави всички основни операции, необходими за изграждане на криптографски инструменти от по-високо ниво.




''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.''</blockquote>
„Sodium е между платформи и различни езици. Той работи на различни компилатори и операционни системи, включително Windows (с MinGW или Visual Studio, x86 и x86_64), iOS и Android. Версиите на Javascript и WebAssembly също са налични и се поддържат напълно. Обвързванията за всички често срещани езици за програмиране са налични и се поддържат добре.</blockquote>




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.
Версия 7.2.0 и по-нова на езика за програмиране PHP включва разширението Sodium (наричано ext/sodium) като основна криптографска библиотека. Версия 2 на PHP разширението в PECL е съвместима с ext/sodium в PHP 7.2.




LimeSurvey uses the [https://github.com/paragonie/sodium_compat Sodium Compat] library to bridge with different PHP versions.
LimeSurvey използва библиотеката [https://github.com/paragonie/sodium_compat Sodium Compat] за свързване с различни версии на PHP.
This library tentatively supports PHP 5.2.4 - 7.x (latest), but officially it only supports [https://secure.php.net/supported-versions.php non-EOL'd versions of PHP].
Тази библиотека условно поддържа PHP 5.2.4 - 7.x (най-нова), но официално поддържа само [https://secure.php.net/supported-versions.php не-EOL'd версии на PHP].




Data encryption/decryption methods used in LimeSurvey are based on [https://libsodium.gitbook.io/doc/public-key_cryptography/public-key_signatures 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.
Методите за криптиране/декриптиране на данни, използвани в LimeSurvey, се основават на [https://libsodium.gitbook.io/doc/public-key_cryptography/public-key_signatures подписи с публичен ключ]. Публичните и секретните ключове могат да бъдат намерени във файла /application/config/security.php. Ключовете се генерират автоматично при първото използване на функцията за криптиране.




{{Alert|title=Warning|text=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'''.
{{Alert|title=Предупреждение|text=След като шифроването на данните е включено, данните в съответните колони на базата данни ще станат нечетими, без първо да бъдат дешифрирани. '''Винаги трябва да имате резервно копие на вашите ключове за шифроване, в случай че бъдат изтрити'''
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: [https://www.php.net/manual/en/sodium.installation.php Sodium installation]. If you don't want to use data encryption, you have to disable encryption in [[Data_encryption#Settings|attribute settings]].
* '''библиотеката не съществува''': PHP Sodium библиотеката трябва да бъде инсталирана, за да може да използва функцията за криптиране на данни. Ето ръководство как да инсталирате библиотека: [https://www.php.net/manual/en/sodium.installation.php Инсталация на Sodium]. Ако не искате да използвате криптиране на данни, трябва да деактивирате криптирането в [[Data_encryption#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.<ref>https://forums.limesurvey.org/forum/installation-a-update-issues/120567-encryption-keys-after-update</ref>
Забележка: ако грешката „грешен ключ за декриптиране“ се случи само когато LimeSurvey изпрати имейл (напр. когато приключите анкета), отидете в Конфигурация > Глобални настройки > Настройки на имейл и въведете отново вашата STMP парола и натиснете Запазване .<ref> https://forums.limesurvey.org/forum/installation-a-update-issues/120567-encryption-keys-after-update</ref>


Otherwise, you can still try to compare and eventually recover your decryption keys from a backup (since you do backups... isn't it? Uh?).
В противен случай все още можете да опитате да сравните и евентуално да възстановите ключовете си за декриптиране от резервно копие (тъй като правите резервни копия... нали? ъ?).

Latest revision as of 07:27, 14 November 2023



Въведение

Шифроване на данни е нова функция, предоставена в LimeSurvey 4. Тя е създадена, за да помогне на администраторите на анкети да се справят по-добре с новите разпоредби за защита на данните, приети в различни части на света (напр. GDPR).

Тази функция позволява криптиране на лични данни, намиращи се в централната база данни на участниците и/или таблица с участници в проучването. Освен това можете също да шифровате данните, които събирате от вашите респонденти, ако атрибутът на въпроса за шифроване е активиран.

Моля, имайте предвид, че вашите данни винаги ще бъдат видими в интерфейса на LimeSurvey. Само записите в базата данни се криптират - никой, който има достъп до сървъра, където хоствате LimeSurvey, не може да визуализира съответните данни. Затова, моля, обърнете внимание на кого предоставяте глобални разрешения и разрешения за проучване.


  След като създадете ключове за криптиране, не забравяйте да създадете резервни копия. Ако загубите ключовете, данните ще станат неизползваеми, тъй като вече не могат да бъдат възстановени. Ако използвате LimeSurvey CE, публичният и секретният ключ могат да бъдат намерени в /application/config/security.php.


Template:Забележка

Кога да шифровате данните си?

Няма един правилен отговор на този въпрос. Силно зависи от:

  • вида данни, които събирате
  • когато вашето проучване се основава на
  • национално или федерално законодателство

През повечето време е важно да криптирате лични данни (напр. както се препоръчва в Общия регламент за защита на данните). Следователно полета като собствено име, фамилия, имейл адрес, телефонен номер, адрес и т.н. могат да се използват за идентифициране на отговорите, изпратени от едно лице.

В други случаи данните, които трябва да бъдат криптирани, не спират непременно до примерите, дадени по-горе. В определени сценарии (напр. при медицински изследвания) може да се наложи да шифровате повечето от вашите данни, ако можете да проследите обратно отговорите до лицето, което ги е изпратило.

В резултат на това, моля, адаптирайте вашето проучване и събирането на данни към местното законодателство!

Настройки

Има три места в 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. Ключовете се генерират автоматично при първото използване на функцията за криптиране.


  Предупреждение : След като шифроването на данните е включено, данните в съответните колони на базата данни ще станат нечетими, без първо да бъдат дешифрирани. Винаги трябва да имате резервно копие на вашите ключове за шифроване, в случай че бъдат изтрити Освен това, след като ключовете за шифроване са зададени, никога не трябва да ги променяте, защото това ще направи всички съществуващи данни неизползваеми.



Частично търсене на низове няма да е възможно за колони на база данни с криптирани данни, а само търсене с точно съвпадение.

Грешки

Възможни грешки при използване на криптиране на данни:

  • библиотеката не съществува: PHP Sodium библиотеката трябва да бъде инсталирана, за да може да използва функцията за криптиране на данни. Ето ръководство как да инсталирате библиотека: Инсталация на Sodium. Ако не искате да използвате криптиране на данни, трябва да деактивирате криптирането в настройки на атрибут.
  • грешен ключ за декриптиране: ключът за декриптиране е променен от последното изпращане на данните запазени, така че данните не могат да бъдат декриптирани. Единственият начин за дешифриране на данни е да извлечете оригиналния ключ от архива и да замените текущия ключ за декриптиране с оригиналния ключ.

Забележка: ако грешката „грешен ключ за декриптиране“ се случи само когато LimeSurvey изпрати имейл (напр. когато приключите анкета), отидете в Конфигурация > Глобални настройки > Настройки на имейл и въведете отново вашата STMP парола и натиснете Запазване .[1]

В противен случай все още можете да опитате да сравните и евентуално да възстановите ключовете си за декриптиране от резервно копие (тъй като правите резервни копия... нали? ъ?).