Skip to main content
Ilustrasi cara kerja Safe Exam Browser pada aplikasi ujian online

Safe Exam Browser: Cara Kerja dan Cara Memakainya

• 5 min • 1,107 words

Pertanyaan yang paling sering muncul tentang Safe Exam Browser (SEB) kira-kira begini: apakah SEB itu aplikasi yang dipasang di komputer peserta, atau pengaturan yang dihidupkan di aplikasi ujian? Jawabannya keduanya. SEB bekerja di dua sisi, dan ujian baru benar-benar “terkunci” bila kedua sisinya cocok.

Artikel ini menjelaskan cara kerja SEB, termasuk mekanisme validasinya yang sering membingungkan, lalu cara memakainya dan masalah yang biasa muncul. Contoh penerapannya mengambil dari PurwaExam, aplikasi ujian berbasis komputer yang kami bangun untuk sebuah perguruan tinggi negeri (nama disamarkan atas permintaan pihak terkait). Gambaran fitur ujian secara umum ada di fitur wajib aplikasi ujian online untuk kampus.

Apa Itu Safe Exam Browser

SEB adalah peramban khusus ujian. Saat dijalankan, ia berada dalam mode terkunci: peserta tidak leluasa berpindah ke aplikasi lain, dan beberapa fitur peramban biasa, seperti menu klik kanan, dinonaktifkan. Dokumentasi Moodle tentang SEB memberi gambaran fitur-fitur ini. SEB tersedia untuk Windows, macOS, dan iOS, dan banyak dipakai bersama sistem pembelajaran seperti Moodle dan ILIAS.

Perlu dipahami bahwa SEB hanya membatasi perangkat peserta. Ia tidak tahu apa pun tentang ujian Anda sampai aplikasi ujian meminta bukti bahwa peserta memang memakai SEB yang sah. Di sinilah validasi di sisi server berperan.

Dua Sisi yang Harus Cocok

Sisi klien adalah SEB yang terpasang di komputer peserta, lengkap dengan berkas konfigurasi (berekstensi .seb) yang mengatur apa yang diizinkan dan alamat ujian yang dibuka.

Sisi server adalah aplikasi ujian yang memeriksa setiap permintaan. Tanpa pemeriksaan ini, peserta bisa saja membuka alamat ujian di peramban biasa, dan “mode terkunci” tidak berarti apa-apa. Karena itu pengaturan SEB di aplikasi ujian bukan sekadar tombol hidup-mati. Server perlu tahu kunci apa yang harus ditemukan pada permintaan yang masuk.

Mekanisme Validasi: Hash di Header Permintaan

Prinsipnya sederhana. SEB menambahkan sebuah header khusus pada setiap permintaan HTTP ke server. Isi header itu bukan kunci mentah, melainkan hash SHA-256 dari gabungan alamat lengkap permintaan dan sebuah kunci rahasia. Dokumentasi SEB menjelaskan bahwa hash ini berubah untuk setiap alamat yang diminta, sehingga kunci tetap terlindung.

Server lalu melakukan pemeriksaan serupa:

  1. Server menyimpan kunci yang diharapkan, yang dimasukkan administrator saat menyiapkan ujian.
  2. Saat permintaan masuk, server mengambil alamat lengkap permintaan itu.
  3. Server menghitung sendiri hash SHA-256 dari alamat tersebut digabung kunci yang tersimpan.
  4. Hasilnya dibandingkan dengan nilai pada header yang dikirim SEB.
  5. Bila cocok, permintaan diteruskan. Bila tidak, atau header tidak ada, permintaan ditolak.

Mengapa alamat ikut di-hash? Karena kunci tidak pernah dikirim apa adanya, dan nilai header untuk satu halaman tidak dapat dipakai ulang untuk halaman lain. Bila nilai itu bocor, kegunaannya terbatas pada alamat yang sama.

Browser Exam Key dan Config Key

SEB mengenal dua jenis kunci yang bisa dipakai untuk validasi, masing-masing dengan header sendiri.

AspekBrowser Exam Key (BEK)Config Key (CK)
HeaderX-SafeExamBrowser-RequestHashX-SafeExamBrowser-ConfigKeyHash
Apa yang dipastikanVersi SEB dan konfigurasi yang dipakai benarKonfigurasi yang dipakai sesuai
SifatTerikat versi atau build SEB dan konfigurasinya, sehingga bisa berbeda antar versiRingkasan standar dari seluruh pengaturan konfigurasi
Konsekuensi praktisVersi SEB di semua komputer ujian perlu seragam, dan kunci diambil dari SEB yang dipakaiLebih stabil, tetapi hanya memeriksa konfigurasi, bukan keaslian aplikasinya

Sesuai penjelasan resmi SEB, BEK berbeda untuk tiap build SEB di Windows dan macOS. Itu sebabnya administrator yang memakai BEK perlu mengambil kunci dari SEB yang sama dengan yang dipakai peserta. Sistem seperti SEB Server menambah lapisan kunci lain, tetapi dua kunci di atas yang paling sering ditemui pada aplikasi ujian buatan sendiri.

Satu catatan teknis: dokumentasi SEB menyebut bahwa mesin peramban modern pada SEB untuk macOS dan iOS versi 3.0 ke atas tidak mengirim kunci lewat header. Pada versi itu, kunci diambil lewat JavaScript API SEB. Pastikan vendor Anda menangani perbedaan ini bila perangkat ujian bercampur.

Contoh di PurwaExam

Di PurwaExam, pemeriksaan SEB bersifat per sesi: gerbangnya hanya aktif bila opsi SEB pada sesi itu dihidupkan. Server membandingkan header X-SafeExamBrowser-RequestHash dengan hash dari alamat permintaan dan Browser Exam Key yang tersimpan, dengan perbandingan yang aman terhadap serangan pengukuran waktu.

Administrator dapat mengunduh berkas .seb dari halaman sesi. Berkas itu hanya berisi alamat awal ujian. Browser Exam Key sengaja tidak ditanam di dalamnya, sehingga harus disalin manual dari SEB yang dipakai di laboratorium ke pengaturan sesi. Pilihan ini wajar, karena kunci itu bergantung pada build SEB dan konfigurasi yang sebenarnya dipakai di lapangan.

Cara Memakai SEB untuk Ujian

Alur praktisnya:

  1. Seragamkan versi SEB di komputer ujian. Ini penting terutama bila memakai BEK.
  2. Siapkan konfigurasi. Tentukan apa yang diizinkan, lalu simpan sebagai berkas .seb.
  3. Ambil kunci (BEK atau CK) dari SEB atau alat konfigurasinya.
  4. Masukkan kunci ke pengaturan ujian di aplikasi, lalu hidupkan opsi SEB pada sesi.
  5. Bagikan berkas .seb atau tautan peluncurannya kepada peserta atau panitia laboratorium.
  6. Uji dengan satu komputer sebelum hari ujian, termasuk membuka ujian di peramban biasa untuk memastikan ditolak.
  7. Siapkan cadangan bila ada peserta yang SEB-nya bermasalah: komputer cadangan atau prosedur penanganan oleh pengawas.

Masalah Umum dan Solusinya

GejalaKemungkinan PenyebabYang Dicek
Peserta ditolak padahal memakai SEBVersi SEB berbeda dengan yang dipakai mengambil BEKSamakan versi, atau ambil ulang kunci dari versi yang dipakai
Semua peserta ditolakKunci di aplikasi salah atau belum diisiPeriksa kunci pada pengaturan sesi
Hash tidak cocok di sebagian jaringanProxy atau pengaturan server mengubah alamat atau membuang headerPastikan alamat yang dilihat server sama persis dengan yang dikirim SEB dan header tidak terhapus
Berhasil di komputer lain tetapi gagal di macOS atau iOSPerbedaan cara mesin peramban mengirim kunciTanyakan apakah vendor mendukung pengambilan kunci lewat JavaScript API
Ujian bisa dibuka di peramban biasaOpsi SEB belum dihidupkan pada sesiPeriksa pengaturan sesi

Menurut contoh pada catatan seorang pengembang, dua penyebab tersering hash tidak cocok adalah header yang dibuang server dan alamat yang ditulis ulang sebelum sampai ke aplikasi.

Batas Safe Exam Browser

SEB membantu, tetapi tidak sempurna. Ia membatasi lingkungan peserta, bukan perilakunya di luar layar. Validasinya bergantung pada kunci yang dirahasiakan, sehingga kunci tidak boleh dibagikan ke peserta. Ia juga menuntut perangkat yang cukup seragam dan dukungan teknis di hari ujian.

Karena itu SEB paling tepat dipadukan dengan token akses berbatas waktu, pencatatan kejadian mencurigakan, dan pengawas di ruangan. Untuk ujian bernilai tinggi di laboratorium, kombinasi ini masuk akal. Untuk kuis harian, SEB mungkin berlebihan.

Langkah Berikutnya

Bila kampus Anda sedang menimbang sistem ujian dengan pengawasan seperti SEB, mulailah dari tingkat risiko ujian dan kesiapan laboratorium. Kami dapat membahas ruang lingkupnya melalui layanan aplikasi web dan desktop dan LMS dan platform edukasi. Untuk gambaran faktor biaya pengawasan, baca biaya aplikasi ujian online custom untuk kampus, dan untuk proses migrasinya, studi kasus migrasi PurwaExam ke Laravel dan Filament.

Panduan Safe Exam Browser (SEB): cara kerja, mekanisme validasi Browser Exam Key dan Config Key lewat header, cara memasang, serta masalah umumnya.

Pelayanan

Butuh website atau aplikasi?

Sashindo Project membangun company profile, aplikasi web, LMS, dan otomasi Google Apps Script sesuai kebutuhan bisnis Anda.

Lihat layanan