x

Основные главы

  1. LimeSurvey Cloud и LimeSurvey CE: сравнение
  2. Краткое руководство по началу работы - LimeSurvey 3.0+
  3. Установка - LimeSurvey CE
  4. Как разработать хороший опрос (руководство)
  5. Начиная
  6. Администрирование LimeSurvey
  7. Опросы - Вступление
  8. Настройки опроса
  9. Меню опроса
  10. Структура опроса
  11. Вопросы — введение
  12. Группы вопросов - введение
  13. Опросы - управление
  14. Параметры панели инструментов опроса
  15. Многоязычный опрос
  16. Движок ExpressionScript — краткое руководство
  17. Не классифицированы и расширенные функции
  18. ЧаВо
  19. Устранение неполадок
  20. Обходные пути
  21. Лицензия
  22. Журнал изменений версий
  23. Плагины
 Actions

Шифрование данных

From LimeSurvey Manual

Эта страница, возможно, переведена машинным способом и может содержать ошибки. Показать английский оригинал · Улучшить этот перевод
This page is a translated version of the page Data encryption and the translation is 100% complete.



Введение

Функция шифрования данных создана, чтобы помочь администраторам опросов лучше соответствовать новым нормам защиты данных, принятым в разных частях мира (например, GDPR).

Эта функция позволяет шифровать персональные данные, находящиеся в центральной базе данных участников и/или в таблице участников опроса. Кроме того, можно шифровать данные, собираемые от респондентов, если включен атрибут вопроса «Зашифровано».

Обратите внимание: ваши данные всегда будут отображаться в интерфейсе LimeSurvey. Шифруются только записи в базе данных - никто из тех, кто имеет доступ к серверу, на котором размещён LimeSurvey, не сможет просмотреть эти данные. Поэтому внимательно выбирайте, кому предоставлять глобальные права доступа и права доступа к опросу.


  После создания ключей шифрования обязательно сделайте их резервные копии. Если вы потеряете ключи, данные станут непригодными для использования, так как восстановить их будет невозможно. Если вы используете LimeSurvey CE, открытый и секретный ключи находятся в файле /application/config/security.php.


После установки вы можете перенести эти настройки в файл application/config/config.php.

Когда следует шифровать данные?

Однозначного ответа на этот вопрос нет. Он во многом зависит от:

  • типа собираемых данных
  • места проведения опроса
  • национального или федерального законодательства

Чаще всего важно шифровать персональные данные, позволяющие идентифицировать человека (например, как рекомендовано в Общем регламенте по защите данных). Поэтому такие поля, как имя, фамилия, адрес e-mail, номер телефона, адрес и т. д., могут использоваться для определения ответов, отправленных одним человеком.

В других случаях данные, которые необходимо шифровать, не ограничиваются приведёнными выше примерами. В некоторых ситуациях (например, в медицинских исследованиях) может потребоваться зашифровать большую часть данных, если ответы можно отследить до человека, который их отправил.

Поэтому, пожалуйста, адаптируйте ваш опрос и сбор данных к местному законодательству!

Настройки

В LimeSurvey есть три места, где можно задать настройки шифрования данных:


Атрибуты вопросов

Атрибут вопроса «Зашифровано» используется для включения шифрования данных в соответствующих ответах. По умолчанию этот атрибут выключен. После активации опроса изменить этот атрибут невозможно.



Атрибуты участников

Три основных атрибута (имя, фамилия и e-mail) всегда отображаются в таблице участников опроса, при этом шифрование по умолчанию включено.

У каждого нового атрибута участника шифрование по умолчанию выключено.

Шифрование можно включить или выключить в любой момент.



Управление атрибутами центральной базы данных участников

Три основных атрибута (имя, фамилия и e-mail) всегда отображаются в центральной базе данных участников, при этом шифрование по умолчанию включено.

У каждого нового атрибута участника шифрование по умолчанию выключено.

Шифрование можно включить или выключить в любой момент.


Дополнительно

Для шифрования и расшифровки данных в LimeSurvey используется библиотека Sodium.

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 (последняя версия), но официально она поддерживает только версии PHP, поддержка которых не прекращена.


Методы шифрования и расшифровки данных, используемые в LimeSurvey, основаны на подписях с открытым ключом. Открытый и секретный ключи находятся в файле /application/config/security.php. Ключи генерируются автоматически при первом использовании функции шифрования.


  Предупреждение : После включения шифрования данные в соответствующих столбцах базы данных станут нечитаемыми без предварительной расшифровки. Всегда храните резервную копию ключей шифрования на случай их удаления. Кроме того, после установки ключей шифрования их ни в коем случае не следует менять, так как все существующие данные станут непригодными для использования.



Для столбцов базы данных с зашифрованными данными поиск по части строки невозможен — доступен только поиск по точному совпадению.

Ошибки

Возможные ошибки при использовании шифрования данных:

  • library doesn't exists (библиотека не существует): для использования функции шифрования данных необходимо установить библиотеку PHP Sodium. Руководство по установке библиотеки: Установка Sodium. Если вы не хотите использовать шифрование данных, отключите шифрование в настройках атрибутов.
  • wrong decryption key (неверный ключ расшифровки): ключ расшифровки изменился с момента последнего сохранения данных, поэтому данные невозможно расшифровать. Единственный способ расшифровать данные — взять исходный ключ из резервной копии и заменить им текущий ключ расшифровки.

Примечание: если ошибка wrong decryption key возникает только при отправке LimeSurvey сообщения электронной почты (например, после завершения опроса), перейдите в раздел Конфигурация > Общие настройки > Настройки e-mail, заново вставьте свой пароль STMP и нажмите «Сохранить».[1]

В противном случае вы все же можете попытаться сравнить и, возможно, восстановить ключи расшифровки из резервной копии (ведь вы же делаете резервные копии... правда? Э-э?).