Mã hóa dữ liệu
From LimeSurvey Manual
Giới thiệu
Mã hóa dữ liệu là một tính năng mới được cung cấp trong LimeSurvey 4. Nó được tạo ra để giúp quản trị viên khảo sát đối phó tốt hơn với các quy định bảo vệ dữ liệu mới được áp dụng ở nhiều nơi trên thế giới (ví dụ: GDPR).
Tính năng này cho phép mã hóa dữ liệu cá nhân nằm trong cơ sở dữ liệu người tham gia trung tâm và/hoặc bảng người tham gia khảo sát. Ngoài ra, bạn cũng có thể mã hóa dữ liệu bạn thu thập từ người trả lời nếu thuộc tính câu hỏi mã hóa được bật.
Xin lưu ý rằng dữ liệu của bạn sẽ luôn hiển thị trong giao diện LimeSurvey. Chỉ các mục cơ sở dữ liệu mới được mã hóa - không ai truy cập vào máy chủ nơi bạn lưu trữ LimeSurvey có thể hiển thị dữ liệu tương ứng. Do đó, vui lòng chú ý đến người mà bạn cung cấp quyền toàn cầu và khảo sát.
Khi nào cần mã hóa dữ liệu của bạn?
Không có một câu trả lời đúng cho câu hỏi này. Nó phụ thuộc rất nhiều vào:
- loại dữ liệu bạn thu thập
- nơi khảo sát của bạn dựa trên
- luật pháp quốc gia hoặc liên bang
Trong hầu hết mọi trường hợp, điều quan trọng là phải mã hóa dữ liệu nhận dạng cá nhân (ví dụ: như được khuyến nghị trong Quy định chung về bảo vệ dữ liệu). Do đó, các trường như tên, họ, địa chỉ email, số điện thoại, địa chỉ, v.v. có thể được sử dụng để xác định phản hồi mà một người đã gửi.
Trong các trường hợp khác, dữ liệu cần được mã hóa không nhất thiết chỉ dừng lại ở các ví dụ được cung cấp ở trên. Trong một số trường hợp nhất định (ví dụ: trong nghiên cứu y học), bạn có thể cần mã hóa hầu hết dữ liệu của mình nếu bạn có thể theo dõi lại phản hồi của người đã gửi chúng.
Do đó, vui lòng điều chỉnh cuộc khảo sát và thu thập dữ liệu của bạn cho phù hợp với luật pháp địa phương!
Cài đặt
Có ba vị trí trong LimeSurvey nơi bạn có thể đặt cài đặt mã hóa dữ liệu:
Thuộc tính câu hỏi
Thuộc tính câu hỏi "Đã mã hóa" được sử dụng để kích hoạt mã hóa dữ liệu cho các câu trả lời tương ứng. Thuộc tính này được tắt theo mặc định. Sau khi khảo sát được kích hoạt, bạn không thể thay đổi thuộc tính này.
Thuộc tính của người tham gia
Ba thuộc tính cốt lõi (tên, họ và email) luôn được hiển thị trong bảng người tham gia khảo sát, mã hóa được bật theo mặc định.
Mỗi thuộc tính người tham gia mới sẽ có mã hóa tắt theo mặc định.
Mã hóa có thể được bật hoặc tắt bất cứ lúc nào.
Quản lý thuộc tính cơ sở dữ liệu của người tham gia trung tâm
Ba thuộc tính cốt lõi (tên, họ và email) luôn được hiển thị trong cơ sở dữ liệu của người tham gia trung tâm, mã hóa đang được bật theo mặc định.
Mỗi thuộc tính người tham gia mới sẽ có mã hóa tắt theo mặc định.
Mã hóa có thể được bật hoặc tắt bất cứ lúc nào.
Thư viện Advanced
Sodium được sử dụng để cung cấp chức năng mã hóa và giải mã dữ liệu cho LimeSurvey.
Sodium là một thư viện phần mềm hiện đại, dễ sử dụng để mã hóa, giải mã, chữ ký, băm mật khẩu và hơn thế nữa. Nó là một nhánh NaCl di động, có thể biên dịch chéo, có thể cài đặt, có thể đóng gói, với API tương thích và API mở rộng để cải thiện khả năng sử dụng hơn nữa. Mục tiêu của nó là cung cấp tất cả các hoạt động cốt lõi cần thiết để xây dựng các công cụ mã hóa cấp cao hơn.”
Sodium là đa nền tảng và đa ngôn ngữ. Nó chạy trên nhiều trình biên dịch và hệ điều hành, bao gồm Windows (với MinGW hoặc Visual Studio, x86 và x86_64), iOS và Android. Phiên bản Javascript và WebAssembly cũng có sẵn và được hỗ trợ đầy đủ. Các ràng buộc cho tất cả các ngôn ngữ lập trình phổ biến đều có sẵn và được hỗ trợ tốt.
Phiên bản 7.2.0 và mới hơn của ngôn ngữ lập trình PHP bao gồm phần mở rộng Natri (được gọi là ext/natri) làm thư viện mật mã cốt lõi. Phiên bản 2 của phần mở rộng PHP trong PECL tương thích với ext/sodium trong PHP 7.2.
LimeSurvey sử dụng thư viện Natri Compat để kết nối với các phiên bản PHP khác nhau.
Thư viện này tạm thời hỗ trợ PHP 5.2.4 - 7.x (mới nhất), nhưng về mặt chính thức thì nó chỉ hỗ trợ các phiên bản PHP không phải EOL'd.
Các phương pháp mã hóa/giải mã dữ liệu được sử dụng trong LimeSurvey dựa trên chữ ký khóa công khai. Khóa công khai và bí mật có thể được tìm thấy trong tệp /application/config/security.php. Khóa được tạo tự động khi sử dụng tính năng mã hóa lần đầu tiên.
Tìm kiếm chuỗi một phần sẽ không thể thực hiện được đối với các cột cơ sở dữ liệu có dữ liệu được mã hóa, chỉ tìm kiếm đối sánh chính xác.
Errors
Các lỗi có thể xảy ra khi sử dụng mã hóa dữ liệu:
- thư viện không tồn tại: Cần phải cài đặt thư viện PHP Natri để có thể sử dụng tính năng mã hóa dữ liệu. Dưới đây là hướng dẫn cách cài đặt thư viện: Cài đặt natri. Nếu bạn không muốn sử dụng mã hóa dữ liệu, bạn phải tắt mã hóa trong attribute settings.
- sai khóa giải mã: khóa giải mã đã thay đổi kể từ lần cuối cùng dữ liệu được lưu trữ đã được lưu nên dữ liệu không thể giải mã được. Cách duy nhất để giải mã dữ liệu là lấy khóa gốc từ bản sao lưu và thay thế khóa giải mã hiện tại bằng khóa gốc.
Lưu ý: nếu lỗi khóa giải mã sai chỉ xảy ra khi LimeSurvey gửi email (ví dụ: khi bạn kết thúc khảo sát), hãy vào Cấu hình > Cài đặt chung > Cài đặt email và chèn lại mật khẩu STMP của bạn rồi nhấn Lưu .[1]
Nếu không, bạn vẫn có thể thử so sánh và cuối cùng khôi phục khóa giải mã của mình từ bản sao lưu (vì bạn thực hiện sao lưu... phải không? Uh?).