x

주요 장

  1. LimeSurvey Cloud vs 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. 일반 FAQ
  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로 옮길 수 있습니다.

데이터를 언제 암호화해야 합니까?

이 질문에 대한 정답은 하나가 아닙니다. 다음 사항에 따라 크게 달라집니다.

  • 수집하는 데이터의 유형
  • 설문조사가 기반을 둔 지역
  • 국내법 또는 연방법

대부분의 경우 개인 식별이 가능한 데이터를 암호화하는 것이 중요합니다(예: 일반 데이터 보호 규정에서 권장하는 바와 같이). 따라서 이름, 성, 이메일 주소, 전화번호, 주소 등의 필드는 한 사람이 제출한 응답을 식별하는 데 사용될 수 있습니다.

다른 경우에는 암호화해야 하는 데이터가 위에서 제시한 예시에 국한되지 않을 수 있습니다. 특정 상황(예: 의학 연구)에서는 응답을 제출한 사람까지 추적할 수 있다면 대부분의 데이터를 암호화해야 할 수도 있습니다.

따라서 설문조사와 데이터 수집을 해당 지역의 법규에 맞게 조정하십시오!

설정

LimeSurvey에서 데이터 암호화 설정은 세 곳에서 지정할 수 있습니다.


질문 속성

질문 속성 "암호화"는 해당 응답에 대한 데이터 암호화를 활성화하는 데 사용됩니다. 이 속성은 기본적으로 꺼져 있습니다. 설문조사를 활성화한 후에는 이 속성을 변경할 수 없습니다.



참여자 속성

세 가지 핵심 속성(이름, 성, 이메일)은 항상 설문조사 참여자들 테이블에 표시되며, 암호화는 기본적으로 켜져 있습니다.

새로 추가한 각 참여자 속성은 기본적으로 암호화가 꺼져 있습니다.

암호화는 언제든지 켜거나 끌 수 있습니다.



중요 참여자 데이터베이스 속성 관리

세 가지 핵심 속성(이름, 성, 이메일)은 항상 중요 참여자 데이터베이스에 표시되며, 암호화는 기본적으로 켜져 있습니다.

새로 추가한 각 참여자 속성은 기본적으로 암호화가 꺼져 있습니다.

암호화는 언제든지 켜거나 끌 수 있습니다.


고급

LimeSurvey의 데이터 암호화 및 복호화 기능에는 Sodium 라이브러리가 사용됩니다.

Sodium은 암호화, 복호화, 서명, 비밀번호 해싱 등을 위한 현대적이고 사용하기 쉬운 소프트웨어 라이브러리입니다. NaCl의 포터블, 크로스 컴파일, 설치 및 패키징이 가능한 포크로서, 호환 API와 사용성을 더욱 높이기 위한 확장 API를 제공합니다. 상위 수준의 암호화 도구를 구축하는 데 필요한 모든 핵심 기능을 제공하는 것이 목표입니다.


Sodium은 크로스 플랫폼 및 크로스 언어를 지원합니다. Windows(MinGW 또는 Visual Studio, x86 및 x86_64), iOS, Android를 포함한 다양한 컴파일러와 운영 체제에서 실행됩니다. Javascript 및 WebAssembly 버전도 제공되며 완벽하게 지원됩니다. 모든 주요 프로그래밍 언어용 바인딩이 제공되며 잘 지원됩니다.


PHP 프로그래밍 언어 버전 7.2.0 이상에는 핵심 암호화 라이브러리로 Sodium 확장(ext/sodium)이 포함되어 있습니다. PECL의 PHP 확장 버전 2는 PHP 7.2의 ext/sodium과 호환됩니다.


LimeSurvey는 다양한 PHP 버전과 연동하기 위해 Sodium Compat 라이브러리를 사용합니다. 이 라이브러리는 PHP 5.2.4 - 7.x(최신)를 잠정적으로 지원하지만, 공식적으로는 EOL되지 않은 PHP 버전만 지원합니다.


LimeSurvey에서 사용하는 데이터 암호화/복호화 방식은 공개 키 서명을 기반으로 합니다. 공개 키와 비밀 키는 /application/config/security.php 파일에서 확인할 수 있습니다. 키는 암호화 기능을 처음 사용할 때 자동으로 생성됩니다.


  경고 : 데이터 암호화를 켜면 해당 데이터베이스 열의 데이터는 먼저 복호화하지 않는 한 읽을 수 없게 됩니다. 암호화 키가 삭제될 경우에 대비하여 항상 암호화 키의 백업을 보관해야 합니다. 또한 암호화 키를 한 번 설정한 후에는 기존의 모든 데이터를 사용할 수 없게 되므로 절대 변경하지 마십시오.



암호화된 데이터가 있는 데이터베이스 열에서는 부분 문자열 검색은 불가능하며, 정확히 일치하는 검색만 가능합니다.

오류

데이터 암호화를 사용할 때 발생할 수 있는 오류:

  • library doesn't exists: 데이터 암호화 기능을 사용하려면 PHP Sodium 라이브러리가 설치되어 있어야 합니다. 라이브러리 설치 방법은 다음 안내를 참조하십시오: Sodium 설치. 데이터 암호화를 사용하지 않으려면 속성 설정에서 암호화를 비활성화해야 합니다.
  • wrong decryption key: 데이터를 마지막으로 저장한 이후 복호화 키가 변경되어 데이터를 복호화할 수 없습니다. 데이터를 복호화하는 유일한 방법은 백업에서 원래 키를 가져와 현재 복호화 키를 원래 키로 교체하는 것입니다.

참고: wrong decryption key 오류가 LimeSurvey가 이메일을 보낼 때(예: 설문을 완료했을 때)만 발생한다면, 설정 > 전역 설정 > 이메일 설정으로 이동하여 SMTP 비밀번호를 다시 입력한 후 저장을 누르십시오.[1]

그렇지 않다면 백업에서 복호화 키를 비교하여 복구해 볼 수 있습니다(백업은 해 두셨겠죠? 설마 안 하셨나요?).