Penyulitan data
From LimeSurvey Manual
Pengenalan
Ciri Penyulitan data dicipta untuk membantu pentadbir tinjauan menangani peraturan perlindungan data baharu yang diterima pakai di pelbagai bahagian dunia dengan lebih baik (cth. GDPR).
Ciri ini membenarkan penyulitan data peribadi yang terdapat dalam pangkalan data peserta pusat dan/atau jadual peserta tinjauan. Selain itu, anda juga boleh menyulitkan data yang dikumpul daripada responden anda jika atribut soalan penyulitan diaktifkan.
Sila ambil perhatian bahawa data anda akan sentiasa kelihatan dalam antara muka LimeSurvey. Hanya entri pangkalan data yang disulitkan - tiada sesiapa yang mengakses pelayan tempat anda menjadi hos LimeSurvey boleh melihat data berkenaan. Oleh itu, sila berhati-hati dalam memberikan kebenaran global dan kebenaran tinjauan.
Bilakah perlu menyulitkan data anda?
Tiada satu jawapan yang betul untuk soalan ini. Ia sangat bergantung pada:
- jenis data yang anda kumpulkan
- lokasi tinjauan anda berasaskan
- perundangan negara atau persekutuan
Kebanyakan masa, adalah penting untuk menyulitkan data yang boleh mengenal pasti individu (cth., seperti yang disyorkan dalam Peraturan Perlindungan Data Am). Oleh itu, medan seperti nama pertama, nama akhir, alamat e-mel, nombor telefon, alamat, dan sebagainya boleh digunakan untuk mengenal pasti jawapan yang dihantar oleh seseorang.
Dalam kes lain, data yang perlu disulitkan tidak semestinya terhad kepada contoh di atas. Dalam senario tertentu (cth., dalam penyelidikan perubatan), anda mungkin perlu menyulitkan kebanyakan data anda jika jawapan boleh dijejaki kembali kepada orang yang menghantarnya.
Oleh itu, sila sesuaikan tinjauan dan pengumpulan data anda dengan perundangan tempatan!
Tetapan
Terdapat tiga tempat dalam LimeSurvey di mana tetapan penyulitan data boleh ditetapkan:
Atribut soalan
Atribut soalan "Disulitkan" digunakan untuk mengaktifkan penyulitan data bagi jawapan yang berkaitan. Atribut ini dimatikan secara lalai. Setelah tinjauan diaktifkan, atribut ini tidak boleh diubah.

Atribut peserta
Tiga atribut teras (nama pertama, nama akhir, dan e-mel) sentiasa dipaparkan dalam jadual peserta tinjauan, dengan penyulitan dihidupkan secara lalai.
Setiap atribut peserta baharu akan mempunyai penyulitan dimatikan secara lalai.
Penyulitan boleh dihidupkan atau dimatikan pada bila-bila masa.
Pengurusan atribut pangkalan data peserta pusat
Tiga atribut teras (nama pertama, nama akhir dan e-mel) sentiasa dipaparkan dalam pangkalan data peserta pusat, dengan penyulitan dihidupkan secara lalai.
Setiap atribut peserta baharu akan mempunyai penyulitan dimatikan secara lalai.
Penyulitan boleh dihidupkan atau dimatikan pada bila-bila masa.
Lanjutan
Pustaka Sodium digunakan untuk menyediakan fungsi penyulitan dan penyahsulitan data bagi LimeSurvey.
Sodium ialah pustaka perisian moden yang mudah digunakan untuk penyulitan, penyahsulitan, tandatangan, pencincangan kata laluan dan banyak lagi. Ia ialah fork NaCl yang mudah alih, boleh dikompil silang, boleh dipasang dan boleh dipakej, dengan API yang serasi, serta API lanjutan untuk meningkatkan kebolehgunaan lagi. Matlamatnya adalah untuk menyediakan semua operasi teras yang diperlukan bagi membina alat kriptografi peringkat lebih tinggi.
Sodium ialah merentas platform dan merentas bahasa. Ia berjalan pada pelbagai pengkompil dan sistem pengendalian, termasuk Windows (dengan MinGW atau Visual Studio, x86 dan x86_64), iOS dan Android. Versi Javascript dan WebAssembly juga tersedia dan disokong sepenuhnya. Binding untuk semua bahasa pengaturcaraan biasa tersedia dan disokong dengan baik.
Bahasa pengaturcaraan PHP versi 7.2.0 dan ke atas menyertakan sambungan Sodium (dirujuk sebagai ext/sodium) sebagai pustaka kriptografi teras. Versi 2 sambungan PHP dalam PECL serasi dengan ext/sodium dalam PHP 7.2.
LimeSurvey menggunakan pustaka Sodium Compat untuk menjambatani pelbagai versi PHP.
Pustaka ini menyokong PHP 5.2.4 - 7.x (terkini) secara tentatif, tetapi secara rasmi ia hanya menyokong versi PHP yang belum EOL.
Kaedah penyulitan/penyahsulitan data yang digunakan dalam LimeSurvey adalah berdasarkan tandatangan kunci awam. Kunci awam dan kunci rahsia boleh didapati dalam fail /application/config/security.php. Kunci dijana secara automatik apabila ciri penyulitan digunakan buat kali pertama.
Carian rentetan separa tidak boleh dilakukan untuk lajur pangkalan data yang mengandungi data tersulit; hanya carian padanan tepat dibenarkan.
Ralat
Ralat yang mungkin berlaku semasa menggunakan penyulitan data:
- library doesn't exists: Pustaka PHP Sodium mesti dipasang untuk menggunakan ciri penyulitan data. Berikut ialah panduan cara memasang pustaka tersebut: Sodium installation. Jika anda tidak mahu menggunakan penyulitan data, anda perlu melumpuhkan penyulitan dalam tetapan atribut.
- wrong decryption key: kunci penyahsulitan telah berubah sejak data terakhir disimpan, jadi data tidak dapat dinyahsulitkan. Satu-satunya cara untuk menyahsulit data ialah mendapatkan semula kunci asal daripada sandaran dan menggantikan kunci penyahsulitan semasa dengan kunci asal.
Nota: jika ralat wrong decryption key hanya berlaku apabila LimeSurvey menghantar e-mel (cth. apabila anda menamatkan tinjauan), pergi ke Konfigurasi > Tetapan global > Tetapan e-mel, masukkan semula kata laluan STMP anda dan tekan Simpan.[1]
Jika tidak, anda masih boleh cuba membandingkan dan akhirnya memulihkan kunci penyahsulitan anda daripada sandaran (kerana anda membuat sandaran, bukan? Hmm?).