ANALISIS DAN PERANCANGAN KEAMANAN INFORMASI PADA ELECTRONIC VOTING MENGGUNAKAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK
SKRIPSI
POLIN SAUT PATOGU PARDEDE 071402014
PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2012
Universitas Sumatera Utara
ANALISIS DAN PERANCANGAN KEAMANAN INFORMASI PADA ELECTRONIC VOTING MENGGUNAKAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Teknologi Informasi
POLIN SAUT PATOGU PARDEDE 071402014
PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA 2012
Universitas Sumatera Utara
ii
PERSETUJUAN
Judul
Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas
: ANALISIS DAN PERANCANGAN KEAMANAN INFORMASI PADA ELECTRONIC VOTING MENGGUNAKAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK : SKRIPSI : POLIN SAUT PATOGU PARDEDE : 071402014 : SARJANA (S1) TEKNOLOGI INFORMASI : TEKNOLOGI INFORMASI : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI Diluluskan di Medan, Juli 2012
Komisi Pembimbing
:
Pembimbing 2
Dedy Arisandi, ST.M.Kom NIP. 197908312009121002
Pembimbing 1
M. Andri Budiman S.T., M.Comp.Sc., M.E.M. NIP. 197510082008011011
Diketahui/Disetujui oleh Program Studi Teknologi Informasi Ketua,
Prof. Dr. Opim Salim Sitompul, M.Sc NIP 19610817 198701 1001
Universitas Sumatera Utara
iii
PERNYATAAN
ANALISIS DAN PERANCANGAN KEAMANAN INFORMASI PADA ELECTRONIC VOTING MENGGUNAKAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan,
Juli 2012
Polin Saut Patogu Pardede 071402014
Universitas Sumatera Utara
iv
PENGHARGAAN
Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Kuasa yang telah melimpahkan berkat dan rahmatNya sehingga penulis dapat menyelesaikan skripsi ini. Penulis sangat menyadari bahwa Tuhanlah yang sangat berperan membantu dan mengingatkan disaat penulis jatuh ataupun terlena selama mengerjakan skripsi ini. Dalam menyelesaikan skripsi ini penulis menyadari banyak mendapatkan bantuan dari berbagai pihak baik bantuan secara materi maupun moril. Pada kesempatan ini dengan segala kerendahan hati, penulis ingin mengucapkan terima kasih yang sedalam-dalamnya kepada: 1. Kedua orang tua penulis, yaitu Rico Selwin Pardede dan Lolita Hutabarat, karena berkat dukungan dan kesabarannya baik secara moril maupun materil sehingga penulis dapat menyelesaikan skripsi ini. Kepada Kakak, Marune Renta Pardede yang juga memberikan dukungan kepada penulis. 2. Kepada Bapak M. Andri Budiman S.T., M.Comp.Sc., M.E.M. dan Bapak Dedy Arisandi, ST.M.Kom selaku dosen pembimbing penulis yang telah memberikan saran dan masukan serta bersedia meluangkan waktu, tenaga dan pikiran untuk menyelesaikan skripsi ini. 3. Kepada dosen penguji saya Bapak M Anggia Muchtar, S.T.MM.IT dan Ibu Dr Erna Budhiarti Nababan, M.IT yang banyak memberikan masukan. 4. Ketua dan Sekretaris Jurusan Prof. Dr. Opim Salim, MSc dan Drs. Sawaluddin, M.IT. 5. Seluruh Dosen yang mengajar pada program studi Teknologi Informasi Universitas Sumatera Utara. 6. Teman-teman seangkatan di jurusan Teknologi Informasi 2007 : Boy Manalu, Bambang Kurniawan, Musyafa Hutagalung, Fadhli Noor, Erlin Umar Dhani, Muhammad Reza, Seluruh teman-teman sejawat yang tidak dapat disebutkan satu persatu. Terima kasih atas bantuan kalian, teman. 7. Adik-adik kelas di jurusan Teknologi Informasi 2009 yang sudah banyak membantu : Rizqi Mulki, Fitrah. 8. Teman-teman basket yang selalu memberikan support dan dukungan agar cepat menyelesaikan skripsi. 9. Saudara-saudara dan keluarga terdekat. Penulis menyadari bahwa hasil penulisan skripsi ini masih banyak kesalahan dan jauh dari sempurna. Oleh karena itu, kritik dan saran dari pembaca sangatlah penulis harapkan bagi perbaikan dan kesempurnaan di masa yang akan datang. Penulis mohon maaf apabila terdapat kekurangan dan kesalahan dalam penulisan skripsi ini. Akhir kata, penulis ucapkan terima kasih kepada semua pihak yang terkait dalam penyelesaian skripsi ini yang tidak bisa disebutkan satu persatu, biarlah Tuhan yang membalas semua kebaikan kalian. Amin.
Universitas Sumatera Utara
v
ABSTRAK
Pemungutan suara secara konvensional atau voting adalah proses pemungutan suara dan aspirasi serta keputusan penting untuk beberapa pihak. Tetapi pemungutan secara konvensional membutuhkan waktu yang lama dan sangat melelahkan untuk menunggu hasil voting. e-voting menjadi alternatif proses pemungutan suara yang lebih mudah dan cepat serta dapat menurunkan tingkat kesalahan. Tetapi penerapan evoting menyisakan persoalan terkait soal keamanan informasi yaitu keutuhan data (integrity), kerahasiaan informasi (confidentiality), dan ketersediaan informasi (availability). Kriptografi dapat dimanfaatkan untuk menjawab pertanyaan terkait dengan keamanan informasi berupa kerahasiaan, keutuhan data, nir penyangkalan, serta otentikasi. Pada skripsi ini dijelaskan bagaimana algoritma kunci publik yaitu algoritma RSA digunakan untuk meningkatkan pertukaran informasi dalam e-voting. Hasil dari penelitian ini adalah sebuah sistem e-voting berbasis web menggunakan bahasa pemograman PHP dan database MySql dan menunjukkan bahwa algoritma kunci publik cukup aman digunakan untuk keamanan informasi pada e-voting. Kata Kunci : kriptografi, keamanan informasi, e-voting
Universitas Sumatera Utara
vi
ANALYSIS AND DESIGN OF INFORMATION SECURITY FOR ELECTRONIC VOTING SYSTEM USING PUBLIC KEY ALGORITHM ABSTRACT
Conventional ballot is the voting process and to make important decisions for several parties involved. But voting is very time consuming and very tiring to wait for the results of voting. e-voting is an alternative voting process which can make easier and faster and can reduce the error rate. But the application of e-voting remains a matter of information security-related issues, namely the integrity of the data, confidentiality and availability of information. Cryptography can be used to answer questions related to information security in the form of confidentiality, integrity of data, nonrepudiation, and authentication. In this study, it is described how a public-key algorithm (RSA algorithm) is used to improve the exchange of information in the evoting. The results of this study is an e-voting system using a web-based programming language PHP and MySql database.It is shown whether the public key algorithm used is safe enough for security of information on e-voting. Keywords : cryptography, information security, e-voting
Universitas Sumatera Utara
vii
DAFTAR ISI
Halaman
Persetujuan
ii
Pernyataan
iii
Penghargaan
iv
Abstrak
v
Abstract
vi
Daftar Isi
vii
Daftar Tabel
x
Daftar Gambar
xii
BAB 1 PENDAHULUAN
1
1.1
Latar belakang
1
1.2
Rumusan Masalah
3
1.3
Batasan Masalah
3
1.4 Tujuan Penelitian
4
1.5
Manfaat Penelitian
4
1.6
Metode Penelitian
4
1.7
Sistematika Penulisan
5
BAB 2 LANDASAN TEORI
7
2.1
Voting
7
2.2
e-voting
8
Kriptografi
10
2.3.1 Kunci Simetrik
12
2.3.2 Kunci Asimetrik
13
2.4
Algoritma Kriptografi RSA
14
2.5
Konsep Dasar Perhitungan Matematis
15
2.5.1 Fungsi Totient Euler φ
15
2.5.2 Algoritma Euclidean
16
2.5.3 Metode Fast Exponition
17
2.3
Universitas Sumatera Utara
viii
2.6
Proses Enkripsi dan Dekripsi RSA
18
2.6.1 Proses Pembentukan Kunci
18
2.6.2 Proses Enkripsi
18
2.6.3 Proses Dekripsi
19
2.7
Captcha
21
2.8
Unified Modelling Language (UML)
22
2.8.1 Diagram Use Case
24
2.8.2 Spesifikasi Use Case (Use Case Spesification)
25
2.8.3 Diagram Sekuen
26
2.8.4 Diagram Aktivasi (Activity Diagram)
28
Flowchart
29
2.9
2.10 Bahasa Pemograman PHP
30
BAB 3 ANALISIS DAN PEMODELAN PERANGKAT LUNAK 3.1
Analisis Sistem Enkripsi dan Dekripsi dengan
33 33
Algoritma RSA 3.1.1 Pembangkitan Kunci
33
3.1.2 Enkripsi
34
3.1.3 Dekripsi
34
3.2
Deskripsi Perangkat Lunak
35
3.3
Pemodelan Diagram Use Case
36
3.3.1 Model Spesifikasi Use Case
39
3.3.2 Model Interaksi Diagram Sequence
50
3.3.3 Kelas Diagram
54
3.3.4 Diagram Aktivitas
54
Perancangan Antarmuka Sistem
56
3.4.1 Rancangan Antarmuka pada sisi Administrator
56
3.4.2 Rancangan Antarmuka pada sisi Operator
60
3.4.3 Rancangan Antarmuka pada sisi User
62
3.5
Perancangan Flowchart Sistem
63
3.6
Flowchart Enkripsi dengan Algoritma RSA
68
3.7
Flowchart Enkripsi dengan Algoritma RSA
69
3.4
Universitas Sumatera Utara
ix
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1
71
Spesifikasi Perangkat Keras dan Perangkat Lunak
71
yang digunakan 4.2
Uji Batasan
72
4.3
Pengujian Sistem Secara Menyeluruh
73
4.3.1 Pengujian pada sisi Administrator dan Operator
73
4.3.2 Pengujian pada sisi User
78
Analisis Kriptografi Kunci Publik terhadap Sistem
80
4.4.1 Analisis Keamanan Informasi Data di dalam Sistem
80
4.4
setelah Pengujian 4.4.2 Requirement Dasar e-voting yang terpenuhi setelah
81
Pengujian
BAB 5 KESIMPULAN DAN SARAN
83
5.1
Kesimpulan
83
5.2
Saran
83
DAFTAR PUSTAKA
84
LAMPIRAN LISTING PROGRAM
86
Universitas Sumatera Utara
x
DAFTAR TABEL
Halaman Tabel 2.1
Tabel Proses Mencari Kunci Privat (d)
19
Tabel 2.2
Tabel Elemen elemen dasar Sequence Diagram
26
Tabel 2.3
Tabel Simbol Aktivitas Diagram
28
Tabel 2.10 Flowchart
29
Tabel 3.1
Spesifikasi Use Case Administrator Login
39
Tabel 3.2
Spesifikasi Use Case Lihat Profil Kandidat
40
Tabel 3.3
Spesifikasi Use Case Edit Profil Kandidat
40
Tabel 3.4
Spesifikasi Use Case Administrator Lihat Pendaftar
41
Tabel 3.5
Spesifikasi Use Case Administrator Lihat Memilih
42
Tabel 3.6
Spesifikasi Use Case Administrator Membuat Operator Baru
42
Tabel 3.7
Spesifikasi Use Case Administrator Edit Operator
43
Tabel 3.8
Spesifikasi Use Case Administrator Hasil Voting
44
Tabel 3.9
Spesifikasi Use Case Administrator Logout
44
Tabel 3.10 Spesifikasi Use Case Operator Login
45
Tabel 3.11 Spesifikasi Use Case Operator Registrasi
46
Tabel 3.12 Spesifikasi Use Case Operator Lihat Pendaftar
46
Tabel 3.13 Spesifikasi Use Case Operator Lihat yang Memilih
47
Tabel 3.14 Spesifikasi Use Case Operator Logout
48
Tabel 3.15 Spesifikasi Use Case User Login
48
Tabel 3.16 Spesifikasi Use Case User Pilih Kandidat
49
Tabel 3.17 Spesifikasi Use Case User Lihat Hasil Voting
49
Tabel 3.18 Spesifikasi Use Case User Logout
50
Tabel 4.1
81
Tabel requirement dasar e-voting
Universitas Sumatera Utara
xi
DAFTAR GAMBAR
Halaman Gambar 2.1
Skema Kriptografi Kunci Simetrik
12
Gambar 2.2
Skema Kriptografi Kunci Asimetrik
13
Gambar 2.3
Captcha
21
Gambar 2.4
Cara meng-embed captcha
22
Gambar 2.5
Aktor-aktor use case
24
Gambar 2.6
Aktor dan use case
25
Gambar 2.7
Keterhubungan
25
Gambar 3.1
Diagram Use Case Administrator
37
Gambar 3.2
Diagram Use Case Operator
38
Gambar 3.3
Diagram Use Case User
38
Gambar 3.4
Diagram Sequence User Lihat Hasil Voting
51
Gambar 3.5
Diagram Sequence User Pilih Kandidat
51
Gambar 3.6
Diagram Sequence Registrasi Mahasiswa
52
Gambar 3.7
Diagram Sequence User Login
53
Gambar 3.8
Diagram Sequence Administrator Lihat Kandidat
53
Gambar 3.9
Kelas Diagram
54
Gambar 3.10 Diagram Aktivitas Regsitrasi Mahasiswa
55
Gambar 3.11 Diagram Aktivitas Login
55
Gambar 3.12 Diagram Aktivitas Lihat Hasil Voting
56
Gambar 3.13 Rancangan Halaman Login
57
Gambar 3.14 Rancangan Halaman Dashboard
57
Gambar 3.15 Rancangan Halaman Lihat Profil Kandidat
58
Gambar 3.16 Rancangan Halaman Lihat Pendaftar
58
Gambar 3.17 Rancangan Halaman Daftar Operator
59
Gambar 3.18 Rancangan Halaman Lihat Diagram
59
Gambar 3.19 Rancangan Halaman Login
60
Gambar 3.20 Rancangan Halaman Tambah User
61
Gambar 3.21 Rancangan Halaman Lihat Pendaftar
61
Gambar 3.22 Rancangan Halaman Lihat yang Sudah Memilih
62
Gambar 3.23 Rancangan Halaman Login
62
Universitas Sumatera Utara
xii
Gambar 3.24 Rancangan Halaman Pilih Kandidat
63
Gambar 3.25 Flowchart Proses Login
64
Gambar 3.26 Flowchart Proses Registrasi Mahasiswa
65
Gambar 3.27 Flowchart Proses pengaktifan akun pemilih
66
Gambar 3.28 Flowchart Proses Pemilihan Kandidat
67
Gambar 3.29 Flowchart Proses perhitungan hasil voting
68
Gambar 3.30 Flowchart Enkripsi
69
Gambar 3.31 Flowchart Deskripsi
70
Gambar 4.1
Proses Enkripsi Jumlah Suara
72
Gambar 4.2
Proses Dekripsi Jumlah Suara
72
Gambar 4.3
Tampilan Batasan algoritma RSA
72
Gambar 4.4
Halaman Login Administrator dan Operator
73
Gambar 4.5
Halaman Beranda Administrator
74
Gambar 4.6
Halaman Beranda Operator
74
Gambar 4.7
Halaman Profil Kandidat
75
Gambar 4.8
Halaman Tambah Kandidat
75
Gambar 4.9
Halaman Lihat Pendaftar
76
Gambar 4.10 Halaman Lihat yang Sudah Memilih
76
Gambar 4.11 Halaman Daftar Operator
77
Gambar 4.12 Halaman Tambah User
77
Gambar 4.13 Halaman Login Mahasiswa
78
Gambar 4.14 Halaman Pemilih
78
Gambar 4.15 Pembatasan waktu akses voting
79
Gambar 4.16 Halaman Lihat Hasil Voting
79
Gambar 4.17 Kandidat setelah Pengujian
80
Universitas Sumatera Utara