HASIL DAN PEMBAHASAN
Sistem Ujian Online (SUO)
1 Pengertian Sistem Ujian Online (SUO)
Sistem Ujian Online (SUO) dikembangkan sebagai suatu metode alternatif untuk sistem pelaksanaan ujian, selain sistem ujian konvensional secara paper based dengan media kertas. SUO dikembangkan dengan memanfaatkan teknologi internet untuk proses komunikasi datanya. SUO didukung oleh Sistem Informasi Bank Soal yang menyediakan data soal valid dengan format pilihan ganda (obyektif) yang telah tersimpan dalam basis data bank soal. Pelaksanaan ujian melibatkan unit-unit sentra (ICT Centre) dengan lokasi yang tersebar di seluruh Indonesia, dimana proses pelaksanaannya diawasi oleh seorang administrator dan pengawas ujian dari setiap unit sentra pelaksana.
Beberapa asumsi dasar yang digunakan sebagai persyaratan awal untuk mengikuti ujian ujian, diantaranya adalah:
a Peserta ujian sudah melakukan registrasi awal dengan mengisi data pribadi (nama, tanggal lahir dan nama ibu kandung) sebelum melakukan registrsi ujian online.
b Untuk dapat mengikuti ujian, mahasiswa peserta ujian (client) harus memiliki bukti registrasi mata kuliah yang diregistrasikan untuk semester yang sedang berjalan.
c Ujian hanya dilakukan pada waktu-waktu tertentu, sesuai dengan jadwal yang telah ditentukan oleh institusi penyelenggara dan diberitahukan kepada mahasiswa peserta ujian (client) melalui website institusi penyelenggara ujian. d Manajemen pengelolaan sistem hanya boleh diberikan kepada administrator
e Mahasiswa peserta ujian (client) tidak boleh memberitahukan user id dan password yang telah diperoleh pada saat registrasi kepada siapapun juga, termasuk kepada administrator ICT Centre.
f Sistem secara fisik berada di tempat yang aman (secure), yaitu dilokasi tertentu (ICT Centre) yang hanya digunakan pada saat ujian berlangsung. 2 Arsitektur jaringan pada Sistem Ujian Online (SUO)
Secara umum, komunilkasi data yang terjadi dalam SUO merupakan hubungan client-server, karena hanya melibatkan komputer dari sisi mahasiswa peserta ujian sebagai client dan komputer dari sisi institusi sebagai komputer server penyedia layanan dan aplikasi yang dihubungkan oleh suatu jaringan internet (Gambar 11).
Gambar 11 Arsitektur jaringan pada Sistem Ujian Online (SUO).
Setiap proses komunikasi melibatkan data-data penting yang harus dijaga keamanannya, yaitu:
- Data Registrasi Ujian Online
Data registrasi awal yaitu NIM (Nomor Induk Mahasiswa), akan digunakan sebagai user id. Kemudian pada saat melakukan proses registrasi, seorang mahasiswa peserta ujian akan mendapat password tertentu. Data registrasi tersebut (user id dan password), selanjutnya digunakan sebagai identitas untuk
Client
Computer Computer
Database
melakukan aktivasi SUO. Pengiriman data registrasi menjadi titik kritis pertama pada protokol ini.
- Data Soal Ujian
Soal ujian merupakan data yang menjadi fokus dari SUO ini. Pengamanan terhadap data soal ujian baik dalam hal penyimpanan maupun pengirimannya, merupakan titik kritis kedua dalam protokol keamanan yang harus diperhatikan dengan seksama, sehingga data tidak dapat dirusak, diubah, dimodifikasi ataupun dicuri.
- Data Jawaban Hasil Ujian
Pelaksanaan ujian online menghasilkan data berupa jawaban hasil ujian yang harus dikirim kembali untuk proses penilaian. Pengiriman jawaban hasil ujian tersebut merupakan titik kritis lain yang menjadi celah keamanan pada protokol.
Kebutuhan Dasar Keamanan
Suatu protokol keamanan harus memenuhi kebutuhan dasar keamanan sesuai dengan aspek-aspek kriptografi yang dibutuhkan. Aspek-aspek kriptografi tersebut menjadi kebutuhan yang tidak terelakkan dalam sebuah transaksi elektronik. Untuk transaksi non-elektronik, dalam hal ini adalah sistem ujian secara paper based, beberapa solusi yang dapat diambil untuk masing-masing aspek, antara lain:
- Kerahasiaan data, dengan menggunakan amplop yang tersegel. - Otentikasi entitas, dengan kehadiran fisik peserta ujian
- Integritas data, dengan tanda tangan peserta ujian
- Nir-penyangkalan, dengan tanda tangan peserta ujian, atau bukti tertulis.
Seperti yang dapat dilihat, langkah-langkah tersebut merupakan bagian dari penerapan ilmu kriptografi. Selain langkah-langkah di atas, kriptografi juga memiliki sesuatu yang juga dapat menjadi solusi keamanan transaksi elektronik yaitu protokol kriptografi (Yolanda 2007).
Protokol keamanan data pada SUO tentunya harus memenuhi kebutuhan dasar dari SUO, yang juga memenuhi aspek-aspek kriptografi seperti berikut:
1 Kerahasiaan.
Semua data yang terkait dengan SUO yang meliputi data registrasi, soal ujian dan jawaban hasil ujian harus dijaga kerahasiaannya. Dalam hal ini, layanan kerahasiaan pada protokol keamanan diberikan dengan tujuan untuk menjaga kerahasiaan data/informasi sehingga hanya diketahui oleh pihak yang berhak menerima data/informasi tersebut dan tidak dapat diketahui oleh pihak lain yang tidak berhak. Layanan kerahasiaan dilakukan dengan menerapkan protokol kriptografi yaitu enkripsi atau penyandian.
2 Otentikasi.
Dalam hal ini, kebutuhan untuk dapat melakukan otentikasi merupakan hal yang sangat penting. Kebutuhan otentikasi pada SUO antara lain:
a Otentikasi entitas
Pada protokol keamanan ini, baik mahasiswa peserta ujian (client) maupun masing-masing server (server Registrasi dan server SUO) harus yakin bahwa masing-masing dari mereka merupakan pihak tujuan (entitas) yang benar.
b Otentikasi data
Data registrasi, soal ujian dan jawaban hasil ujian yang diterima oleh masing-masing pihak harus merupakan data yang benar, yang berasal dari pihak pengirim yang benar.
Oleh karena itu, hanya pengguna yang valid yang dapat mengakses SUO ini. Kebutuhan otentikasi dipenuhi dengan diberikan dengan menambahkan nonce dan nilai hash pada kunci simetri dari setiap entitas. Penambahan nonce untuk memastikan bahwa komunikasi hanya dilakukan pada entitas yang benar dan komunikasi lama tidak dapat digunakan ulang dalam serangan balasan (replay attacks). Dalam hal ini akan dapat dideteksi pula jika muncul entitas ganda.
3 Integritas data
Data registrasi yang diterima oleh server Registrasi, soal ujian yang diterima oleh mahasiswa peserta ujian dan jawaban hasil ujian yang diterima oleh server SUO harus dalam kondisi utuh dan tidak mengalami perubahan. Integritas data dijamin dengan menggunakan metode kriptografi fungsi hash untuk setiap data yang terkait dengan protokol.
4 Nir-penyangkalan
Baik client maupun server tidak dapat menyangkal telah mengirim data yang dimaksud. Kebutuhan dasar ini dijamin dengan penggunaan tandatangan digital, dimana masing-masing pihak memiliki pasangan kunci yang bersesuaian.
5 Ketersediaan.
Koneksi ke jaringan internet harus berjalan dengan baik, soal ujian harus selalu tersedia dan jawaban hasil ujian selama ujian online berlangsung. Hal ini dijamin dengan pemanfaatan jaringan khusus atau privat (VPN) (Talin 2010).
Ancaman (Threats)
Sebuah ancaman (threats) adalah kekerasan potensial dalam suatu sistem keamanan. Di dalam konteks ujian, terdapat banyak sekali serangan yang mengancam. Oleh karenanya, sistem ujian yang akan dibangun harus dipersiapkan agar mampu melindungi sistem dari ancaman-ancaman yang mungkin terjadi.
Ancaman yang mungkin terjadi pada ujian konvensional diantaranya adalah soal yang diterima oleh peserta ujian salah, kebocoran soal, atau penggunaan identitas oleh orang lain. Ancaman kesalahan dan kebocoran soal dapat terjadi akibat dari proses penyiapan, pencetakan hingga distribusi soal yang memerlukan waktu lama. Ancaman tersebut mungkin terjadi karena adanya penyusupan oleh orang yang tidak berhak atau adanya pengubahan soal oleh penyusup. Ancaman penggunaan identitas oleh orang lain muncul akibat proses identifikasi dan pengawasan yang kurang baik.
Serangan yang mengancam pada ujian secara konvensional (paper based) berbeda dengan serangan ujian secara online (computer based). Ancaman yang mungkin terjadi pada ujian secara online dapat terjadi pada proses pertukaran informasi yang terkirim dan diterima oleh client dan server. Protokol keamanan pengiriman data pada SUO ini sangat berpotensi untuk mendapat ancaman. Analisis terhadap berbagai ancaman yang mungkin muncul dan menyerang keamanan protokol sangat diperlukan. Dalam SUO, terdapat beberapa objek yang berpotensi menjadi target serangan, antara lain: kunci sesi, data registrasi (NIM dan password), soal ujian dan juga hasil jawaban ujian. Ancaman-ancaman yang diperkirakan akan muncul, diantaranya adalah:
a Penyamaran (spoofing) yang dapat terjadi pada saat berlangsungnya proses komunikasi antara client dengan server, seperti pada saat client melakukan registrasi, login atau aktivasi untuk mengikuti ujian atau juga pada saat mengirim jawaban hasil ujian. Hal yang mungkin terjadi adalah client mengirimkan data registrasi atau kunci sesi ke server yang salah, yang telah menyamar menggunakan identitas server Registrasi atau server SUO, demikian pula sebaliknya. Penyamaran juga memungkinkan terjadinya penyangkalan terhadap data yang dikirim oleh pihak tertentu. Dalam hal ini, salah satu pihak bisa menyangkal telah mengirimkan data kepada pihak lain karena identitasnya telah diganti atau diubah oleh pihak penyerang. Ancaman ini akan diatasi dengan layanan otentikasi.
b Interception (penyusupan), dalam hal ini yang mungkin terjadi penyusup berhasil membaca data registrasi, kunci sesi atau soal ujian. Ancaman ini akan diatasi dengan layanan privasi atau kerahasiaan.
c Modifikasi (modification), dalam hal ini, ancaman modifikasi yang mungkin terjadi adalah penyerang mengubah kunci simetri atau kunci sesi yang digunakan dalam proses komunikasi antara client dengan server. Hal ini dapat menyebabkan komunikasi menjadi terganggu atau bahkan tidak dapat dilakukan. Ancaman lain
yang mungkin terjadi adalah penyerang mengubah data soal atau jawaban hasil ujian yang terkirim. Ancaman ini akan diatasi dengan layanan integritas.
Kebijakan
Kebijakan keamanan adalah pernyataan atas apa yang diperbolehkan dan tidak diperbolehkan dalam menjalankan sebuah sistem. Sistem ujian online yang rentan terhadap serangan keamanan tentu membutuhkan kebijakan tentang hal-hal yang diperbolehkan dan tidak diperbolehkan dalam proses penyelenggaraan ujian secara online.
Kebijakan untuk protokol ujian online ini mengacu pada secure voting requreiments yang dipaparkan oleh Schneier (1996). Dalam hal ini sistem pemilihan online merupakan sistem yang dianggap paling mirip dengan SUO. Kebijakan tersebut saat ini merupakan kebijakan yang memiliki protokol yang dapat menjamin privasi individu dan pencegahan terhadap berbagai bentuk kecurangan pada pelaksanaan ujian online.
Menurut Schneier (1996), secure voting yang dibangun secara komputerisasi akan dapat digunakan jika terdapat protokol yang menjamin:
1 Privasi individu
2 Pencegahan terhadap kecurangan
Adapun hasil adaptasi kebijakan pada secure voting requreiments yang akan diterapkan pada protokol keamanan data untuk SUO meliputi 5 persyaratan berikut. 1 Hanya peserta ujian yang sah yang boleh mengikuti ujian
Dalam hal ini, hanya peserta ujian yang berhak yang dapat mengerjakan soal ujian (otentifikasi) yang dipenuhi dengan adanya proses registrasi. Setiap peserta ujian terlebih dahulu harus mendaftarkan dirinya agar dapat mengikuti ujian. Setelah itu paserta ujian akan mendapatkan akun (user id dan password) yang digunakan dalam proses ujian. User id dan password inilah yang menjadi bukti bahwa orang tersebut merupakan peserta ujian yang sah dan dapat mengerjakan soal ujian.
2 Peserta ujian tidak boleh mengikuti ujian lebih dari 1 (satu) kali
Hal ini dapat pula diartikan pencegahan peserta ujian ganda. Peserta ujian ganda dapat dicegah jika terlebih dahulu dilakukan pengecekan apakah seseorang yang mendaftar sebagai peserta ujian sudah pernah mendaftarkan dirinya. Pengecekan ini dapat dilakukan pada ID peserta ujian.
3 Tidak ada peserta ujian yang dapat mengisi jawaban ujian peserta lain
Dalam hal ini digunakan saluran aman untuk mengirim username dan password secara langsung untuk setiap peserta ujian, sehingga orang lain selain peserta ujian yang dimaksud tidak akan dapat mengetahui password peserta ujian lain 4 Tidak boleh mengubah jawaban hasil ujian peserta lain
Peserta ujian tidak boleh mengubah jawaban hasil ujian peserta lain. Hal ini dapat dilakukan dengan cara memberikan validation ID yang unik dan aman sehingga orang lain tidak dapat mengganti jawaban hasil ujian peserta lain, termasuk server SUO.
5 Setiap peserta dapat memastikan bahwa jawaban hasil ujian sudah terkirim dan nilainya sudah terhitung dengan benar
Setiap peserta ujian dapat memastikan bahwa jawaban hasil ujian sudah masuk ke sistem dan nilainya sudah terhitung dengan benar dalam perhitungan akhir. Peserta ujian dapat memastikan hal tersebut jika terdapat tabel yang menampilkan hasil jawaban ujian beserta nilainya yang berupa jumlah jawaban benar. Hal ini merupakan sebuah bukti bahwa jawaban hasil ujian sudah masuk dan terhitung oleh sistem.
Spesifikasi
Spesifikasi adalah pernyataan baik formal maupun informal mengenai fungsi sistem yang diinginkan (Bishop 2003). Setelah kebijakan ujian dibuat, langkah selanjutnya adalah menentukan spesifikasi keamanan system Sesuai dengan kebijakan, SUO membutuhkan berbagai spesifikasi keamanan.
Protokol keamanan data pada ujian online ini menggunakan 2 server yaitu server Registrasi dan server SUO. Masing-masing server memiliki tugas dan fungsi utama, sebagai berikut.
Server Registrasi
Server Registrasi merupakan server yang memiliki tugas utama mengotentikasi dan mengotorisasi peserta ujian (client). Setiap client akan mengirim pesan kepada server Registrasi yang berisi permintaan registrasi dan password. Server Registrasi akan membangkitkan password, mendaftarkannya secara aman kepada server SUO, dan mengirimkannya pada client. Server Registrasi juga berfungsi sebagai salah satu server yang memiliki fungsi utama melakukan pertukaran kunci simetri Blowfish dengan menggunakan kunci publik server Registrasi.
Server SUO
Server SUO memiliki fungsi utama untuk melayani permintaan login ujian, permintaan naskah soal, dan pengiriman hasil jawaban ujian. Sedangkan beberapa fungsi-fungsi utama yang dimiliki oleh server SUO yaitu:
1 Melakukan pertukaran kunci simetri Blowfish dengan menggunakan kunci publik server SUO.
2 Membuat secure validationID dan dikirimkan ke client yang akan digunakan sebagai identitas client dalam pelaksanaan ujian
3 Melakukan otentikasi terhadap client yang valid. 4 Menerima permintaan soal ujian dari client yang sah.
5 Memberikan tanda tangan digital pada data naskah ujian yang dikirim ke client.
6 Menerima hasil jawaban ujian yang aman dari client yang sah melalui permintaan verifikasi secara aman.
7 Mengijinkan client untuk meminta nilai hasil jawaban ujian yang sah
Secara umum sistem yang dibangun haruslah memberikan jaminan bahwa informasi yang diakses peserta ujian (client) adalah informasi yang benar dan akurat dan terjamin keamannya. Oleh karena itu, sistem protokol kriptografi pada SUO membutuhkan spesifikasi sebagai berikut.
1 Pengamanan data ke server Registrasi dan server SUO dengan enkripsi kunci simetri Blowfish.
2 Pengamanan data untuk pengiriman kunci simetri menggunakan kunci publik RSA.
3 Server SUO memperbolehkan peserta ujian untuk masuk/log in dan menjawab soal hanya boleh satu kali dengan memberikan validation ID untuk setiap peserta ujian.
4 Pengamanan data untuk menjaga keutuhan data dilakukan dengan menggunakan fungsi hash SHA-1.
5 Otentikasi dan verifikasi peserta ujian dengan penambahan nilai nonce pada kunci simetri.
Berdasarkan persyaratan yang harus dipenuhi oleh sebuah sistem ujian online, maka diperlukan spesifikasi yang dapat menunjang kebutuhan sistem tersebut, yaitu. 1 Hanya peserta ujian yang sah yang boleh mengikuti ujian (otentikasi).
Terdapat validation ID yang acak dan unik untuk setiap peserta ujian.
Secara komputasional tidak memungkinkan seorang penyerang untuk menebak pasangan kunci dan validation ID yang valid.
2 Peserta ujian tidak boleh menjawab soal ujian lebih dari 1 (satu) kali (membuat duplikasi jawaban soal).
Jika peserta ujian telah melakukan proses menjawab soal dan kembali melakukan proses menjawab soal tersebut, maka server SUO akan membuat pesan adanya duplikasi jawaban soal ujian. Server SUO mengetahui validation ID peserta ujian sehingga dapat mengetahui jika telah terjadi duplikasi.
3 Tidak ada peserta ujian yang dapat mengisi jawaban ujian peserta lain.
Terdapat saluran aman untuk mengirim username dan password secara langsung untuk setiap peserta ujian, sehingga orang lain selain peserta ujian yang dimaksud tidak dapat mengetahui password peserta ujian lain.
4 Tidak boleh mengubah jawaban hasil ujian peserta lain.
Diberikan validation ID yang unik dan aman sehingga orang lain tidak dapat mengganti jawaban soal dari peserta ujian lain termasuk server SUO.
5 Setiap peserta dapat memastikan bahwa jawaban hasil ujian sudah terkirim dan nilainya sudah terhitung dengan benar.
Jika seorang peserta ujian memasukkan pilihan jawaban soal, server SUO akan menyimpan pilihan jawaban dan menghitung jumlah jawaban yang benar dan salah. Kemudian akan mengembalikan hasil penghitungan sementara. Hal ini menyebabkan peserta dapat memastikan bahwa pilihan jawabannya benar telah dihitung oleh server SUO.
Disain
Disain protokol terbagi menjadi 4 bagian utama, yaitu: protokol untuk proses registrasi, protokol untuk login ujian, protokol untuk generate dan pengiriman naskah soal ujian serta protokol untuk pengiriman jawaban hasil ujian.
Tahapan disain diawali dengan mengidentifikasi proses komunikasi data pada SUO yang dapat dilihat pada Gambar 12 berikut.
Selanjutnya dapat dilihat hubungan client – server yang terjadi pada proses komunikasi data pada Gambar 12 diatas, melalui diagram alur pada Gambar 13 dibawah ini. Client 1. Registrasi ujian online Server Registrasi 2. Validasi data registrasi Client 3. Login ujian Server SUO 4. Otentikasi client Client 5. Permintaan soal ujian Server SUO 6. Preparing dan generate naskah Client 7. Kirim hasil ujian Server SUO 8. Validasi hasil ujian client
Data valid? Data valid?
Data valid? 0. Mulai 9. Selesai Ya Ya Ya Tidak Tidak Tidak Ujian
Gambar 13 Diagram alur komunikasi protokol keamanan data pada SUO. Gambar 12 Skema komunikasi data pada SUO.
1. User request 2. Validasi data Client Server Registrasi 3. Login Server SUO Client 4. Otentikasi client
7. Kirim Hasi Ujian
Server SUO Client 8. Otentikasi client 5. Request ujian Server SUO Client 6. Preparing & generate naskah
Alur Komunikasi Protokol Ujian Online
Alur komunikasi protokol untuk ujian online berdasarkan Gambar 13 memiliki deskripsi langkah-langkah komunikasi seperti berikut:
1 Proses Registrasi
Langkah-langkah komunikasi yang dilakukan untuk memenuhi protokol pada proses registrasi adalah:
a Mahasiswa (client) meminta untuk melakukan proses registrasi melalui server Registrasi.
b Client dan server Registrasi generate kunci publik dan kunci privat masing-masing. Server Registrasi kemudian mengirimkan kunci publik (“reg.pub”) ke client, demikian pula sebaliknya.
c Client memasukkan data NIM (user id) sebagai bukti identitas. Client men-generate kunci simetri sebagai session key.
d Client mengirim data NIM dan kunci simetri yang ditambah dengan nilai nonce dan dienkripsi dengan kunci publik server Registrasi (“reg.pub”) ke server Registrasi untuk divalidasi.
e Server Registrasi melakukan validasi terhadap data registrasi (NIM) yang dikirim oleh client.
f Server Registrasi akan mendekripsi pesan dari client sehingga didapat NIM dan kunci simetri serta membaca nilai nonce, kemudian mencari data NIM yang telah tersimpan di server Registrasi dan membandingkan dengan data NIM yang dikirim oleh client.
g Jika datanya ada dan cocok, maka server Registrasi akan men-generate password secara random. Jika datanya tidak ada atau tidak cocok, maka proses registrasi akan dihentikan.
h Selanjutnya dicari nilai hash dari NIM, beserta nilai nonce+1 dengan SHA-1, kemudian nilai hash dan password dienkripsi dengan kunci simetri untuk dikirim ke client.
i Server Registrasi mengirim kunci simetri ke client setelah dienkripsi dengan kunci publik client (”mhs.pub”).
j Client mendekripsi kunci simetri dengan berkas kunci privat client (“mhs.prv”), dan mendekripsi pesan dengan kunci simetri.
k Client memeriksa keutuhan pesan dengan membaca nilai hash dan otentikasi pesan dengan menghitung nonce+1, sehingga didapat NIM (user name) dan password yang akan digunakan sebagai identitas client.
Secara umum proses komunikasi pada proses registrasi antara client dengan server Registrasi dapat dilihat pada Gambar 14.
Gambar 14 Alur komunikasi proses registrasi. Client membaca kunci
publik server Registrasi
Client memasukkan data NIM dan generate kunci
simetri Blowfish
Server Registrasi mendekripsi data NIM dan kunci simetri dengan kunci privat dan membaca nonce
Server Registrasi mencari nilai hash dari NIM dengan
SHA-1 dan nonce+1
Client mendekripsi kunci simetri dengan kunci privat server Registrasi dan mendekripsi pesan dengan kunci simetri
1. Kunci publik client
2. Kunci publik Server Registrasi
3. Data NIM dan kunci simetri
Blowfish + nonce yang telah dienkripsi dengan kunci publik
server Registrasi
Client Server Registrasi
Server Registrasi membandingkan data NIM apakah cocok dengan data
yang ada di server
Registrasi. Jika cocok, maka generate password
4. Nilai hash dari NIM & password
yang dienkripsi dengan kunci simetri dan kunci simetri yang dienkripsi
dengan kunci publik server
Registrasi
Client generate kunci publik dan kunci privat
Server Registrasi generate
kunci publik dan kunci privat
Server Registrasi terima kunci publik client
Client memeriksa keutuhan pesan dari
server Registrasi dengan membaca nilai hash dan otentikasi pesan dengan
2 Login Ujian
Langkah-langkah komunikasi yang dilakukan untuk memenuhi protokol pada proses login ujian adalah:
a Client memohon hubungan aman untuk melakukan proses login ujian ke Server SUO dengan menyertakan kunci publik client (“mhs.pub”).
b Server SUO juga mengirimkan kunci publiknya (“suo.pub”) yang akan digunakan untuk mengenkripsi session key.
c Client masuk ke sistem dengan memasukkan user id (NIM) dan password. d User id dan password dienkripsi dengan session key dan session key
dienkripsi dengan kunci publik server SUO (”suo.pub”).
e User id, password + session key dan session key + ”suo.pub” dikirim ke server SUO.
f Server SUO melakukan autentikasi terhadap client dengan mendekripsi session key dengan kunci privat server SUO (“suo.prv”) dan mendekripsi pesan dengan session key sehingga didapat user id (NIM) dan password. Jika user id (NIM) dan password tersebut valid, maka server SUO akan membuat validation ID.
g Server SUO mengirimkan validation ID yang dienkripsi dengan session key ke client.
h Client mendekripsi pesan yang berisi validation ID dengan session key. Jika valid, kemudian client bisa membuat permintaan (request) naskah soal ujian (exam paper) ke server SUO.
Secara umum proses komunikasi pada proses login ujian antara client dengan server SUO dapat dilihat pada Gambar 15.
Gambar 15 Alur komunikasi proses login.
3 Permintaan Naskah Soal Ujian (Request Exam Paper )
Langkah-langkah komunikasi yang dilakukan untuk memenuhi protokol pada proses permintaan naskah soal ujian adalah:
a Client membuat permintaan (request) naskah soal ujian (exam paper) ke server SUO.
b Server SUO mengirimkan kunci publik server SUO (”suo.pub”) ke client. c Client membaca kunci publik server SUO kemudian membangkitkan kunci
simetri Blowfish.
d Client mengenkripsi kunci simetri dengan kunci publik server SUO (“suo.pub”) kemudian dikirim kembali ke server SUO. Client mengirimkan pesan yang berisi permintaan naskah soal ujian (exam paper) kepada server SUO dengan symmetric chipper.
Client membaca kunci publik server SUO
Client memasukkan user id
(NIM) dan password
Server SUO mendekripsi kunci simetri dengan kunci
privat RSA dan mendekripsi pesan dengan
kunci simetri
Client mendekripsi pesan dengan kunci simetri
1. Kunci publik client (mhs.pub) 2. Kunci publik server SUO
(suo.pub)
3. Data user id (NIM) dan password
yang telah dienkripsi dengan kunci simetri server SUO dan kunci simetri yang dienkripsi dengan kunci publik server SUO
4. ValidationID yang dienkripsi dengan kunci simetri
Client Server SUO
Server SUO melakukan otentikasi terhadap user id
dan password. Jika data
valid, maka server SUO membuat validationID
e Server SUO mendekripsi kunci simetri dengan kunci privat (“suo.prv”) dan mendekripsi pesan dengan kunci simetri.
f Server SUO men-generate naskah soal ujian (exam paper) dan menandatangani dengan SHA-1.
g Server SUO mengenkripsi naskah soal ujian (exam paper) dengan kunci simetri dan mengirimkan kepada client.
h Client mendekripsi exam paper dan memverifikasi tanda tangan digital dari server SUO dengan membaca nilai hash yang disertakan. Jika tanda tangan valid, client dapat melakukan proses ujian (melalui Aplikasi Ujian Online pada client).
Secara umum proses komunikasi pada proses permintaan naskah soal ujian antara client dengan server SUO dapat dilihat pada Gambar 16.
Gambar 16 Alur komunikasi proses permintaan soal ujian. Client membaca kunci publik
server SUO
Server SUO mendekripsi kunci simetri dengan kunci privat RSA dan mendekripsi pesan
dengan kunci simetri
Client mendekripsi soal ujian dan memverifikasi tanda tangan digital. Jika valid, maka lanjut ke proses ujian
1. Kunci publik server SUO (suo.pub)
3 Pesan minta naskah soal ujian dengan symmetric cipher
4 Naskah soal ujian yang dienkripsi dengan kunci simetri
Client Server SUO
Cek pesan apakah cocok. Jika
ya, maka server SUO
generate naskah soal ujian dan beri tanda tangan digital
dengan SHA-1
Clientgenerate kunci simetri
Blowfish
2 Kunci simetri Blowfish yang telah dienkripsi dengan kunci publik server SUO
4 Kirim Jawaban Ujian
Langkah-langkah komunikasi yang dilakukan untuk memenuhi protokol pada proses kirim jawaban ujian adalah:
a Client mengirimkan pesan akan mengirimkan jawaban hasil ujian ke server SUO, setelah ujian selesai.
b Server SUO mengirim kunci publik (“suo.pub”) melalui saluran aman.
c Client membaca kunci publik yang dikirim oleh server SUO, kemudian membangkitkan kunci simetri dengan algoritma Blowfish.
d Kunci simetri dienkripsi dengan kunci publik server SUO (“suo.pub”) kemudian dikirim kembali ke server SUO.
e Client menandatangani hasil jawaban ujian dengan SHA-1.
f Client mengirim pesan yang terdiri dari validationID dan jawaban hasil ujian dengan enkripsi kunci simetri ke server SUO.
g Server SUO mendekripsi kunci simetri dengan kunci privat server SUO (“suo.prv”), kemudian mendekripsi pesan dengan kunci simetri.
h Server SUO memeriksa validationID. Jika valid, maka jawaban hasil ujian akan disimpan di server SUO.
i Server SUO mengirim pesan kepada client yang berisi konfirmasi “OK SIMPAN” yang ditandatangani dengan SHA-1 dan dienkripsi dengan kunci simetri.
j Client mendekripsi pesan dengan kunci simetri, kemudian memverifikasi tanda tangan digital dengan membaca nilai hash yang disertakan pada pesan. Jika valid, maka proses dinyatakan selesai.
Secara umum proses komunikasi pada proses kirim jawaban ujian antara client dengan server SUO dapat dilihat pada Gambar 17.
Gambar 17 Alur komunikasi proses kirim jawaban ujian.
Implementasi
Implementasi dari setiap spesifikasi yang telah dibuat, dilakukan untuk mengimplementasikan disain protokol menjadi aplikasi komputer. Dalam penelitian ini digunakan batasan-batasan dan beberapa alat bantu, yaitu:
1 Tipe data
Tipe data yang digunakan pada implementasi berbentuk text. 2 Perangkat Keras dan Perangkat Lunak
- Perangkat keras berupa laptop dengan spesifikasi: Processor Intel Core i5, monitor 14.1 inch, memori 4GB DDR3 (RAM).
- Perangkat Lunak yang terdiri dari:
Server SUO
Client membaca kunci publik
server SUO
Clientgenerate kunci simetri
Blowfish
Server SUO mendekripsi kunci simetri dengan kunci privat RSA dan mendekripsi pesan
dengan kunci simetri
Client mendekripsi pesan dan memverifikasi tanda tangan. Jika valid, maka
proses selesai
1. Kunci publik server SUO (suo.pub)
3. ValidationID dan jawaban ujian yang telah dienkripsi dengan kunci simetri Blowfish
4. Pesan konfirmasi yang
ditandatangani dengan SHA-1 dan dienkripsi dengan kunci simetri
Client
Server SUO memeriksa
validationID. Jika valid, maka jawaban akan disimpan di
server SUO
Client memberi tanda tangan
digital pada jawaban ujian dengan SHA-1
2 Kunci simetri Blowfish yang telah dienkripsi dengan kunci publik server SUO
a OS Host: Linux Cent OS Release 5.5 (Final), Kernel 2.6.18-194.32.1 el5.on an X86-64.
b OS Guest : Microsoft Windows XP Profesional Versi 2002 Service Pack 3. c Tools Bahasa Pemrograman: Power Builder 10.0 Build 4500
d Library java:
- bcprov-jdk14-119.jar - jce.jar
- pbcrypto-1_0.jar
Hasil Implementasi
Implementasi dari disain protokol yang dibangun, dibuat dalam suatu aplikasi kecil yang menggambarkan proses-proses dari alur komunikasi pada protokol. Aplikasi tersebut terdiri dari 8 menu tampilan yaitu: Registration Connection Request, Registration Connection Listener, Password Request, Password Request Listener, Examination Connection Request, Server SUO Connection and Validation ID Generator, Exam Paper Request Connection, Exam Generator and scorer Connection Listener yang merupakan gambaran dari proses-proses berikut:
Registrasi, Login Ujian,
Permintaan Mengikuti Ujian
Permintaan Soal Ujian dan Pengiriman Hasil Jawaban Ujian
Setiap proses memiliki menu tampilan sesuai dengan proses komunikasinya, seperti berikut.
User Interface Proses Registrasi
Proses registrasi yang terdapat pada protokol meliputi proses komunikasi yang terjadi antara client dengan server Registrasi, yaitu:
- Permintaan koneksi dari client ke server Registrasi - Pertukaran kunci publik
Pertukaran kunci publik
Gambar 18.a Registration Connection Gambar 18.b Registration Connection
Request. Listener.
Gambar 18.a menunjukkan menu Registration Connection Request yang berada pada sisi client yang menampilkan kunci publik dan kunci privat yang dibangkitkan oleh client dan kunci publik server Registrasi hasil proses pertukaran kunci publik. Gambar 18.b menunjukkan menu Registration Connection Listener pada server Registrasi yang menampilkan kunci publik dan kunci privat yang dibangkitkan oleh server Registrasi dan kunci publik client hasil proses pertukaran kunci publik. Connection Listener selalu dalam posisi aktif, menunggu jika ada permintaan koneksi dari client. Jika ada client yang meminta koneksi, maka client membangkitkan kunci publik dan kunci privat. Selanjutnya kunci publik dikirim ke server Registrasi. Setelah server Registrasi menerima kunci publik client, maka siap membangkitkan kunci publik dan kunci privat. Kemudian terjadilah proses pertukaran kunci publik sebagai bukti identitas dari masing-masing pihak. Hasil pemrograman untuk implementasi proses registrasi dapat dilihat pada Lampiran 2.
User Interface Proses Login Ujian
Proses Login Ujian yang terdapat pada protokol meliputi proses komunikasi untuk melakukan login yang terjadi antara client dengan server Registrasi, yaitu:
- Client login - Otentikasi client
- Generate password oleh server Registrasi - Kirim password ke client
Gambar 19.a Password Request. Gambar 19.b Password Request Listener.
Proses login ujian yang terdapat pada implementasi ditampilkan secara simultan pada menu Password Request pada sisi client dan Password Request Listener pada server Registrasi, dimana fungsi utamanya adalah untuk melihat proses otentikasi dan pembangkitan password. Proses dimulai dengan memasukkan data NIM yang unik yang dimiliki oleh setiap client. Password Request Listener juga dalam kondisi aktif menunggu permintaan login ujian. Gambar 19.a menggambarkan proses yang terjadi pada menu Request Password pada sisi client yang menampilkan NIM, kunci simetri dan nonce, beserta hasil enkripsinya (dalam 2 kolom yang berdampingan). Selain itu ditampilkan pula perbandingan nilai hash dari client dan server Registrasi dan password yang diperoleh dari server Registrasi. Sedangkan Gambar 19.b adalah Password Request Listener yang menampilkan NIM, kunci simetri dan nonce, yang telah dienkripsi beserta hasil dekripsinya. Kolom yang lain menampilkan nilai hash dan password yang akan
dikirim ke client. Hasil pemrograman untuk implementasi proses registrasi dapat dilihat pada Lampiran 3 dan Lampiran 4.
User Interface Proses Permintaan Mengikuti Ujian
Proses Permintaan Ujian yang terdapat pada protokol meliputi proses komunikasi yang terjadi antara client dengan server SUO, yaitu: - Permintaan koneksi dari client ke server SUO
- Pertukaran kunci publik - Otentikasi client
- Generate validation ID oleh server SUO - Kirim validation ID ke client
Gambar 20.a Examination Connection Gambar 20.b Server SUO Connection Request. and Validation ID Generator.
Gambar 20.a menampilkan menu Examination Request Connection pada pihak client dan Gambar 20.b menampilkan menu Connection and Validation_ID Generator pada pihak server SUO. Masing-masing menu menampilkan kunci publik dan kunci privatnya dan juga hasil proses pertukaran kunci publik yang terjadi. Selain itu, pada menu Connection Request ditampilkan pula validation ID yang diperoleh dari server SUO. Hasil pemrograman untuk implementasi proses registrasi dapat dilihat pada Lampiran 5.
User Interface Proses Permintaan Soal Ujian dan Pengiriman Jawaban Hasil Ujian
Proses permintaan soal ujian dan pengiriman jawaban hasil ujian yang terdapat pada protokol meliputi proses komunikasi yang terjadi antara client dengan server SUO, yang terdiri dari proses-proses:
- Client memasukkan permintaan soal - Otentikasi client oleh server SUO
- Generate soal oleh server SUO dan kirim ke client - Client terima soal dan validasi soal
- Client kirim hasil jawaban ke server SUO
Gambar 21.a Exam Paper Request Gambar 21.b Exam Generator and scorer Connection. Connection Listener.
Gambar 21.a adalah menu Exam Paper Request Connection yang menampilkan kunci publik dari server SUO dan kunci simetri yang dibangkitkan oleh client sebagai kunci sesi. Selain itu, ditampilkan pula hasil enkripsi dari kode mata kuliah sebagai pesan permintaan soal, contoh soal ujian yang diperoleh dari server SUO, hasil jawaban serta skornya. Terdapat pula tombol Kirim Jawaban yang harus ditekan jika pihak client selesai menjawab soal dan akan mengirim jawaban hasil ujiannya ke server SUO. Gambar 21.b adalah menu Exam
Generator and Scorer Connection Listener yang berada dalam kondisi aktif menunggu permintaa koneksi. Menu tersebut memuat tampilan contoh soal yang dibangkitkan oleh server SUO, jawaban hasil ujian yang dikirim oleh client serta skornya. Hasil pemrograman untuk implementasi proses permintaan naskah soal dapat dilihat pada Lampiran 6.
Pengujian
Tahap selanjutnya adalah pengujian terhadap implementasi dari disain protokol keamanan yang telah dibuat. Pengujian secara komputasi dilakukan dengan uji coba terhadap aplikasi simulasi dengan satu input peserta (client). Uji coba dilakukan dengan pengulangan sebanyak 25 kali, pada rentang waktu antara pukul 8.00-17.00 pada selama 3 hari. Hasil simulasi berupa timer yang menunjukkan waktu sebuah proses dimulai atau berakhir. Kemudian dari data timer tersebut, dilakukan penghitungan secara manual untuk mendapatkan data berupa waktu rata-rata dari setiap proses tersebut. Adapun proses yang dihitung datanya antara lain: proses generate pasangan kunci publik dan privat dari client dan server Registrasi, pertukaran kunci publik antara client dengan server Registrasi, generate kunci simetri pada client, dan juga enkripsi dan dekripsi. Hasil perhitungan waktu rata-rata dari setiap proses perhitungannya, tersaji pada Lampiran 1.
Berdasarkan batasan ruang lingkup penelitian, bahwa disain protokol keamanan pengiriman data yang dibuat bersifat framework, karena beberapa keuntungan dari sifat tersebut, yaitu:
1 Menggunakan algoritma yang sudah ada, tanpa perlu melakukan modifikasi terhadap algoritma tersebut.
2 Kemudahan untuk mengganti algoritma yang telah digunakan. 3 Tidak mengurangi kinerja algoritma yang digunakan.
4 Analisis keamanan protokol berdasarkan pada kekuatan algoritma yang digunakan oleh metode keamanan informasi pada protokol tersebut. (Neyman 2007)
Analisis Hasil Implementasi
Berdasarkan hasil implementasi, dilakukan analisis terhadap disain protokol yang dibuat melalui analisis secara komputasi dan analisis keamanan protokol. Analisis secara komputasi dilihat dari kinerja protokol sedangkan analisis keamanan dilihat dari algoritma kriptografi yang digunakan dan kemampuannya untuk mengamankan sistem.
Analisis Secara Komputasi
Secara komputasi, disain protokol dapat diimplementasikan ke dalam aplikasi komputer. Aplikasi berjalan dengan stabil pada lingkungan pengembangan dengan OS Host: Linux Cent OS Release 5.5 (Final), Kernel 2.6.18-194.32.1 el5.on an X86-64, OS Guest : Microsoft Windows XP Profesional Versi 2002 Service Pack 3, bahasa pemrograman Power Builder 10.0 Build 4500 dan library java dari Java Cryptographic Extension (Weiss 2003).
Berdasarkan hasil ujicoba simulasi yang dilakukan sebanyak 25 kali, diperoleh hasil bahwa proses pembangkitan kunci publik dan kunci privat untuk masing-masing pihak, antara client degnan server Registrai dapat dilakukan dengan rata-rata waktu 5-7 detik. Proses pertukaran kunci publik antara client dengan server Registrasi juga dapat dilakukan dengan rata-rata waktu 5-7 detik. Hal ini karena implementasi dari proses pembangkitan kunci tersebut, dilakukan secara simultan bersamaan dengan proses pertukaran kunci publik antara client dengan server, sehingga perhitungan waktu kecepatannya juga dilakukan untuk kedua proses tersebut secara bersamaan. Pembangkitan kunci simetri dan proses otentikasi, juga dapat dilakukan dalam hitungan detik dengan rata-rata waktu 0.5 detik. Proses enkripsi dan dekripsi dapat dilakukan dengan rata-rata waktu 0,02-0,03 detik.
Hasil perhitungan pada simulasi dapat memberikan gambaran mengenai waktu yang diperlukan untuk melaksanakan setiap bagian proses pada protokol. Dalam hal ini diperoleh gambaran bahwa waktu untuk proses pembangkitan kunci publik dan kunci privat berpengaruh terhadap kecepatan proses pertukaran kunci
publik antara client dengan server, karena prosesnya dilakukan secara simultan. Pada protokol, tidak terlihat hubungan antara proses pembangkitan kunci publik dan kunci privat dengan pembangkitan kunci simetri. Waktu yang dibutuhkan untuk proses enkripsi dan dekripsi mempengaruhi kinerja protokol, karena semakin cepat proses enkripsi dan dekripsi kinerja protokol akan semakin baik.
Analisis Keamanan Protokol
Protokol keamanan pengiriman data pada SUO dirancang berdasarkan kebutuhan dasar keamanan SUO dan memenuhi aspek-aspek kriptografi.
- Aspek kerahasiaan
Dipenuhi dengan penerapan protokol kriptografi dalam bentuk enkripsi. Penerapan enkripsi dilakukan dengan algoritma Blowfish untuk pengamanan data pada proses pengiriman data. Kunci simetri Blowfish digunakan sebagai kunci sesi dan untuk mengenkripsi data, baik data registrasi, data soal maupun data jawaban ujian. Menurut Marcel (2010) Algoritma Blowfish memiliki kelebihan antara lain:
1 Desain algoritma Blowfish mudah untuk dipahami dan digunakan,
2 Ketika diimpelementasikan, algoritma Blowfish tidak menggunakan ruang memori dalam jumlah besar,
3 Pembangkitan subkunci benar-benar acak karena menggunakan digit konstanta pi dalam heksadesimal,
4 Sekuritas cukup tinggi karena menggunakan P-array untuk membangkitkan subkunci dan 4 buah S-box untuk operasi substitusi,
5 Free license.
Sampai saat ini algoritma Blowfish belum ditemukan kelemahan yang berarti hanya adanya weak key dimana dua entri dari S-box mempunyai nilai yang sama. Belum ada cara untuk mengecek weak key sebelum melakukan key expansion, tetapi hal ini tidak berpengaruh terhadap hasil enkripsi. Hasil enkripsi dengan algoritma Blowfish sangat tidak mungkin dan tidak praktis untuk di terjemahkan
tanpa bantuan kunci. Sampai kini belum ada cryptanalysis yang dapat membongkar pesan tanpa kunci yang enkripsi oleh Blowfish. Algoritma Blowfish pun dapat digabungkan dengan algoritma-algoritma enkripsi yang lain dalam pengkripsian sebuah pesan untuk lebih menjamin isi dari pesan tersebut. John Kelsey pada tahun 1995 mengembangkan sebuah metode serangan yang dapat memecahkan Blowfish dengan tiga putaran, tetapi tidak dapat mengembangkan lebih dari itu. Penyerangan ini mengeksploitasi fungsi F. Vikramjit Singh Chabra juga telah mencari cara yang efisien untuk mengimplementasikan mesin pencarian kunci dengan cara lempang (brute force). Serge Vaudenay melakukan pemeriksaan terhadap Blowfish dengan kotak-S diketahui dan putaran sebanyak r (Guritman dkk 2003).
Dalam beberapa implementasi, Blowfish memerlukan memori yang relatif besar, yaitu sekitar 4 kilobyte. Hal ini tidak menjadi masalah bahkan untuk komputer desktop dan laptop yang sudah berumur tua. Tetapi hal ini juga membuat implementasi Blowfish pada embedded system terkecil (seperti pada smartcard pada awal kemunculannya) tidak mungkin untuk dilakukan. Pemilihan Blowfish sebagai algoritma enkripsi kunci simetri, berdasarkan keamanan algoritma yang belum dapat diserang dengan kecepatan dan keuntungan yang memadai.
Kunci simetri yang digunakan sebagai kunci sesi, selanjutnya diamankan dengan enkripsi kunci publik. Metode ini dikenal sebagai hybrid cryptosystem, yang menggabungkan teknik enkripsi kunci simetri dengan enkripsi kunci publik. Penerapan metode ini menjadikan data lebih aman.
- Aspek Otentikasi dan Integritas data
Merupakan hal yang sangat penting karena hanya pengguna yang valid yang dapat mengakses SUO ini. Kebutuhan otentikasi dipenuhi dengan diberikan dengan menambahkan nonce dan nilai hash pada kunci simetri dari setiap entitas. Nilai hash diperoleh dengan menerapkan algoritma SHA-1. Algoritma SHA-1 masih dianggap sebagai fungsi hash yang kuat, karena belum ada yang mampu
melakukan penyerangan dengan waktu yang cepat. Selain itu setiap client akan diberikan validationID yang bernilai kompleks sehingga secara komputasi tidak dimungkinkan seorang penyerang untuk memproduksi sebuah ID yang valid. Server SUO memiliki daftar validationID serta daftar identifikasi client dari setiap validationID untuk mencegah client menerima lebih dari satu validationID dan melakukan lebih dari satu kali ujian.
- Aspek Nir-penyangkalan
Hal ini dijamin dengan penggunaan tanda tangan digital. Pemilihan tanda tangan digital dilakukan berdasarkan sifat-sifat yang dimilikinya, yaitu:
1 Otentik, tak bisa atau sulit ditulis atau ditiru oleh orang lain. Pesan dan tanda tangan pesan tersebut juga dapat menjadi barang bukti, sehingga penandatangan tak bisa menyangkal bahwa dulu ia tidak pernah menandatanganinya.
2 Hanya sah untuk dokumen (pesan) itu saja atau salinannya yang sama persis. Tanda tangan itu tidak bisa dipindahkan ke dokumen lainnya, meskipun dokumen lain itu hanya berbeda sedikit. Ini juga berarti bahwa jika dokumen itu diubah, tanda tangan digital dari pesan tersebut tidak lagi sah.
3 Dapat diperiksa dengan mudah, termasuk oleh pihak-pihak yang belum pernah bertatap muka langsung dengan penandatangan.
- Ketersediaan
Hal ini dijamin dengan pemanfaatan jaringan khusus atau privat (VPN). Pemanfaatan VPN akan menangkal serangan dari pihak luar yang dapat mengganggu koneksi dan lalulintas jalur data dalam jaringan. Koneksi ke jaringan internet diharapkan dapat berjalan dengan baik, dan aman, sehingga soal ujian harus selalu tersedia selama ujian online berlangsung dan jawaban hasil ujian dapat dapat dikirim dengan baik dan aman.
Berdasarkan persyaratan pada asumsi awal, resiko keamanan dari protokol muncul jika peserta dan administrator melakukan tindakan kecurangan, baik secara
sendiri-sendiri ataupun dengan bekerjasama. Dalam hal ini, resiko keamanan yang muncul dari pihak dalam protocol dapat diatasi dengan menerapkan aturan ujian yang ketat ataupun dengan membuat protokol untuk proses pelaksanaan ujian yang aman.