tugas akhir ki141502 › download › pdf › 291463363.pdfviii pada tugas akhir ini didapatkan...
TRANSCRIPT
-
i
TUGAS AKHIR – KI141502
IMPLEMENTASI ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA) UNTUK MENGATASI BLACK HOLE DAN WORM HOLE ATTACK PADA KOMUNIKASI V2V DI LINGKUNGAN VANETS TITIES NOVANINDA OVARI NRP 5113100083 Dosen Pembimbing I Dr.Eng. Radityo Anggoro, S.Kom., M.Sc. Dosen Pembimbing II Henning Titi Ciptaningtyas, S.Kom., M.Kom. Jurusan Teknik Informatika Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya 2017
-
i
TUGAS AKHIR – KI141502
IMPLEMENTASI ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA) UNTUK MENGATASI BLACK HOLE DAN WORM HOLE ATTACK PADA KOMUNIKASI V2V DI LINGKUNGAN VANETS
TITIES NOVANINDA OVARI NRP 511310003
Dosen Pembimbing I
Dr.Eng. Radityo Anggoro, S.Kom., M.Sc.
Dosen Pembimbing II
Henning Titi Ciptaningtyas, S.Kom., M.Kom.
Jurusan Teknik Informatika
Fakultas Teknologi Informasi
Institut Teknologi Sepuluh Nopember
Surabaya 2017
-
ii
(Halaman ini sengaja dikosongkan)
-
iii
UNDERGRADUATE THESES – KI141502
ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA) IMPLEMENTATION TO OVERCOME BLACK HOLE AND WORM HOLE ATTACK IN V2V COMMUNICATION OF VANETS TITIES NOVANINDA OVARI NRP 5113100083
First Advisor
Dr.Eng. Radityo Anggoro, S.Kom., M.Sc.
Second Advisor
Henning Titi Ciptaningtyas, S.Kom., M.Kom.
Department of Informatics
Faculty of Information Technology
Sepuluh Nopember Institute of Technology
Surabaya 2017
-
iv
(Halaman ini sengaja dikosongkan)
-
v
LEMBAR PENGESAHAN
IMPLEMENTASI ELLIPTIC CURVE DIGITAL
SIGNATURE ALGORITHM UNTUK MENGATASI
BLACK HOLE DAN WORM HOLE ATTACK PADA
KOMUNIKASI V2V DI LINGKUNGAN VANETS
TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
pada
Bidang Studi Komputasi Berbasis Jaringan
Program Studi S-1 Jurusan Teknik Informatika
Fakultas Teknologi Informasi
Institut Teknologi Sepuluh Nopember
Oleh:
TITIES NOVANINDA OVARI
NRP: 5113100083
Disetujui oleh Pembimbing Tugas Akhir:
1. Dr.Eng. Radityo Anggoro, S.Kom., M.Sc. ..................... (NIP. 198410162008121002) (Pembimbing 1)
2. Henning Titi Ciptaningtyas, S.Kom., M.Kom. ..................... (NIP. 198407082010122004) (Pembimbing 2)
SURABAYA
JUNI, 2017
-
vi
[Halaman ini sengaja dikosongkan]
-
vii
IMPLEMENTASI ELLIPTIC CURVE DIGITAL
SIGNATURE ALGORITHM (ECDSA) UNTUK
MENGATASI BLACK HOLE DAN WORM HOLE ATTACK
PADA KOMUNIKASI V2V DI LINGKUNGAN VANETS
Nama Mahasiswa : TITIES NOVANINDA OVARI
NRP : 5113100083
Jurusan : Teknik Informatika FTIF-ITS
Dosen Pembimbing 1 : Dr.Eng. Radityo Anggoro, S.Kom.,
M.Sc.
Dosen Pembimbing 2 : Henning Titi Ciptaningtyas, S.Kom.,
M.Kom.
Abstrak
Vehicular Ad-hoc Network (VANET) merupakan
teknologi yang mendukung pertukaran data antar kendaraan di
jalan raya. VANET menggunakan jaringan wireless berbasis ad
hoc yang memungkinkan terjadi serangan, seperti Black hole dan
Worm hole attack. Black hole attack adalah serangan yang
dilakukan suatu malicious node dengan menjatuhkan paket data
yang diterima, sedangkan Worm hole attack dilakukan dengan
mengubah isi paket data. Kedua serangan ini dapat mempengaruhi
performa routing protocol yang digunakan dalam komunikasi
antar kendaraan.
Kedua serangan tersebut dapat diatasi jika tiap node dapat
mendeteksi jika ada malicious node di sekitarnya, sehingga tiap
node tersebut tidak meneruskan paket data ke malicious node.
Black hole attack dapat dideteksi dengan melakukan pemantauan
terhadap arus pertukaran data pada tiap node, sedangkan Worm
hole attack dapat dideteksi dengan menggunakan digital signature.
Tugas akhir ini mengimplementasikan Elliptic Curve Digital
Signature Algorithm (ECDSA) sebagai algoritma digital signature
yang dilampirkan pada tiap paket data.
-
viii
Pada tugas akhir ini didapatkan routing protocol yang
menerapkan pemantauan arus pertukaran data dan digital
signature pada tiap paket data yang dikirimkan mempunyai
performa yang lebih baik jika dihadapkan dengan Black hole dan
Worm hole attack dibandingkan dengan routing protocol yang
tidak menerapkannya, dibuktikan dengan peningkatan packet
delivery ratio hingga mencapai 60.61% yang pada routing
protocol tanpa modifikasi sebelumnya turun drastis.
Kata kunci: ECDSA, Black hole attack, Worm hole attack,
VANET.
-
ix
ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM
IMPLEMENTATION TO OVERCOME BLACK HOLE
AND WORM HOLE ATTACK IN V2V
COMMUNICATION OF VANETS
Student’s Name : TITIES NOVANINDA OVARI
Student’s ID : 5113100083
Department : Teknik Informatika FTIF-ITS
First Advisor : Dr.Eng. Radityo Anggoro, S.Kom.,
M.Sc.
Second Advisor : Henning Titi Ciptaningtyas, S.Kom.,
M.Kom.
Abstract
Vehicular Ad-hoc Network (VANET) is a technology
enabling data exchange between vehicular on roads, in order to
support Intelligent Transportation System. VANET use an ad-hoc
base wireless network that can be attacked by several attacks, such
as Black hole attack and Worm hole attack. Black hole attack is an
attack conducted by dropping data packet that has been received,
meanwhile Worm hole attack conducted by tampering the data
packet. Both attacks can affect the performance of the routing
protocol used in vehicular communication.
Both attacks can be overcome if each node can detect the
malicious node around them, so they do not forward the data
packet to malicious node. Black hole attack can be detected by
recording the data packet exchange traffic in each node,
meanwhile Worm hole attack can be detected by attaching digital
signature on each data packets that will be sent. This thesis
implements Elliptic Curve Digital Signature Algorithm (ECDSA)
as the digital signature algorithm attached to each data packets
that will be sent.
In this thesis, it is obtained that the routing protocol which
applies data packet exchange traffic recording and the digital
-
x
signature on each packet that will be sent has better performance
than the routing protocol which does not, proven by the increase
of packet delivery ratio until 60.61%, which value has dropped
dramatically when using the original routing protocol before.
Keywords: ECDSA, Black hole attack, Worm hole attack,
VANET.
-
xi
KATA PENGANTAR
Alhamdulillahirabbil’alamin, segala puji bagi Allah SWT,
yang telah melimpahkan rahmat dan hidayah-Nya sehingga
penulis dapat menyelesaikan Tugas Akhir yang berjudul
“IMPLEMENTASI ELLIPTIC CURVE DIGITAL
SIGNATURE ALGORITHM (ECDSA) UNTUK
MENGATASI BLACK HOLE DAN WORM HOLE ATTACK
PADA KOMUNIKASI V2V DI LINGKUNGAN VANETS”.
Tugas Akhir ini merupakan salah satu syarat dalam menempuh
ujian sidang guna memperoleh gelar Sarjana Komputer. Dengan
pengerjaan Tugas Akhir ini, penulis bisa belajar banyak untuk
memperdalam dan meningkatkan apa yang telah didapatkan
penulis selama menempuh perkuliahaan di Teknik Informatika
ITS.
Selesainya Tugas Akhir ini tidak terlepas dari bantuan dan
dukungan beberapa pihak, sehingga pada kesempatan ini penulis
mengucapkan terima kasih kepada:
1. Allah SWT dan Nabi Muhammad SAW. 2. Keluarga penulis yang selalu memberikan dukungan doa,
moral, dan material yang tak terhingga kepada penulis
sehingga penulis dapat menyelesaikan Tugas Akhir ini.
3. Bapak Dr.Eng. Radityo Anggoro, S.Kom., M.Sc. dan Ibu Henning Titi Ciptaningtyas, S.Kom., M.Kom. selaku
dosen pembimbing penulis yang telah membimbing dan
memberikan motivasi, nasehat dan bimbingan dalam
menyelesaikan tugas akhir ini.
4. Bapak Darlis Herumurti, S.Kom., M.Kom. selaku kepala jurusan Teknik Informatika ITS.
-
xii
5. Seluruh dosen dan karyawan Teknik Informatika ITS yang telah memberikan ilmu dan pengalaman kepada penulis
selama menjalani masa studi di ITS.
6. Ibu Eva Mursidah dan Ibu Sri Budiati yang selalu mempermudah penulis dalam peminjaman buku di RBTC.
7. Kakak Sari, Mama Risma, Nida, dan Mbak Yuyun yang telah menemani penulis selama berkuliah.
8. Muhammad yang telah banyak meluangkan waktu dan membantu penulis selama berkuliah.
9. Mas Randy, Mbak Nabila, dan Mas Raga yang telah meluangkan waktu berdiskusi dengan penulis selama
mengerjakan Tugas Akhir.
10. Teman-teman seperjuangan RMK NCC/KBJ, yang telah menemani dan menyemangati penulis.
11. Teman-teman administrator NCC/KBJ, yang telah menemani dan menyemangati penulis selama penulis
menjadi administrator, menjadi rumah kedua penulis
selama penulis berkuliah.
12. Teman-teman angkatan 2013, yang sudah mendukung penulis selama perkuliahan.
13. Sahabat penulis yang tidak dapat disebutkan satu per satu yang selalu membantu, menghibur, menjadi tempat
bertukar ilmu dan berjuang bersama-sama penulis.
Penulis menyadari bahwa Tugas Akhir ini masih memiliki
banyak kekurangan sehingga dengan kerendahan hati penulis
mengharapkan kritik dan saran dari pembaca untuk perbaikan ke
depan.
Surabaya, Juni 2017
-
xiii
DAFTAR ISI
LEMBAR PENGESAHAN .........................................................v Abstrak ...................................................................................... vii Abstract ....................................................................................... ix DAFTAR ISI ............................................................................ xiii DAFTAR GAMBAR .............................................................. xvii DAFTAR TABEL .................................................................... xxi BAB I PENDAHULUAN ...........................................................1
1.1 Latar Belakang .................................................................1 1.2 Rumusan Masalah ............................................................2 1.3 Batasan Permasalahan ......................................................2 1.4 Tujuan ..............................................................................2 1.5 Manfaat.............................................................................3 1.6 Metodologi .......................................................................3
1.6.1 Penyusunan Proposal Tugas Akhir ...........................3 1.6.2 Studi Literatur ...........................................................4 1.6.3 Implementasi Sistem .................................................4 1.6.4 Pengujian dan Evaluasi .............................................4 1.6.5 Penyusunan Buku .....................................................5
1.7 Sistematika Penulisan Laporan ........................................5 BAB II TINJAUAN PUSTAKA .................................................7
2.1 VANET (Vehicular Ad hoc Network) .............................7 2.2 AODV (Ad hoc On-Demand Distance Vector)................8 2.3 ECDSA (Elliptic Curve Digital Signature Algorithm) ...10 2.4 Black hole Attack ............................................................11 2.5 Worm hole Attack ...........................................................12 2.6 NS-2 (Network Simulator-2) ..........................................13
2.6.1 Instalasi ...................................................................14 2.6.2 Trace File ................................................................14
2.7 OpenSSL ........................................................................16 2.8 SUMO (Simulation of Urban Mobility) .........................17 2.9 OpenStreetMap ...............................................................17 2.10 AWK ..............................................................................18
BAB III PERANCANGAN .......................................................19
-
xiv
3.1 Deskripi Umum ..............................................................19 3.2 Perancangan Skenario Mobilitas ....................................21
3.2.1 Perancangan Skenario Mobilitas Grid ....................21 3.2.2 Perancangan Skenario Mobilitas Real ....................23
3.3 Analisis dan Perancangan Modifikasi Routing Protocol AODV untuk Mengatasi Black Hole dan Worm Hole
Attack ..............................................................................24 3.3.1 Analisis dan Perancangan Deteksi Black Hole
Attack ......................................................................25 3.3.2 Analisis dan Perancangan Deteksi Worm Hole
Attack ......................................................................26 3.3.3 Perancangan Pemilihan Nexthop Node ...................27
3.4 Perancangan Simulasi pada NS-2 ...................................30 3.5 Perancangan Metrik Analisis..........................................31
3.5.1 Packet Delivery Ratio (PDR) ..................................31 3.5.2 Rata-rata End to End Delay (E2E) ..........................31 3.5.3 Routing Overhead (RO) ..........................................32
BAB IV IMPLEMENTASI.......................................................33 4.1 Implementasi Skenario Mobilitas ...................................33
4.1.1 Skenario Grid ..........................................................33 4.1.2 Skenario Real ..........................................................37
4.2 Implementasi Modifikasi pada Routing Protocol AODV untuk Mengatasi Black Hole dan Worm Hole Attack .....39
4.2.1 Implementasi Deteksi Black Hole Attack ...............39 4.2.2 Implementasi Deteksi Worm Hole Attack ...............41 4.2.3 Implementasi Pemilihan Nexthop Node ..................44
4.3 Implementasi Simulasi pada NS-2 .................................45 4.3.1 Implementasi Black Hole Attack ............................46 4.3.2 Implementasi Worm Hole Attack ...........................48
4.4 Implementasi Metrik Analisis ........................................50 4.4.1 Implementasi Packet Delivery Ratio (PDR) ...........50 4.4.2 Implementasi Rata-rata End to End Delay (E2E) ...52 4.4.3 Implementasi Routing Overhead (RO) ...................53
BAB V HASIL UJI COBA DAN EVALUASI ........................55 5.1 Lingkungan Uji Coba .....................................................55
-
xv
5.2 Hasil Uji Coba ................................................................55 5.2.1 Hasil Uji Coba Skenario Grid .................................56 5.2.2 Hasil Uji Coba Skenario Real .................................66
BAB VI KESIMPULAN DAN SARAN ...................................75 6.1 Kesimpulan.....................................................................75 6.2 Saran ...............................................................................75
DAFTAR PUSTAKA ................................................................77 LAMPIRAN ...............................................................................79
A.1 Kode Skenario NS-2 .........................................................79 A.2 Kode Fungsi AODV::recvHello .......................................81 A.3 Kode Fungsi AODV::recvRequest ...................................81 A.4 Kode Fungsi AODV::sendRequest ...................................86 A.5 Kode Skrip AWK Packet Delivery Ratio .........................91 A.6 Kode Skrip AWK Rata-rata End to End Delay ................91 A.7 Kode Skrip AWK Routing Overhead ...............................92
BIODATA PENULIS ................................................................93
-
xvi
[Halaman ini sengaja dikosongkan]
-
xvii
DAFTAR GAMBAR
Gambar 2.1 Ilustrasi Komunikasi pada VANET [4] .................... 8 Gambar 2.2 Ilustrasi pencarian rute routing protocol AODV [6] 9 Gambar 2.3 Ilustrasi Kurva pada ECDSA [7] ............................ 10 Gambar 2.4 Ilustrasi Black Hole Attack [9]................................ 12 Gambar 2.5 Ilustrasi Worm Hole Attack [10] ............................. 13 Gambar 2.6 Perintah untuk menginstall dependency NS-2 ........ 14 Gambar 2.7 Baris kode yang diubah pada file ls.h ..................... 14 Gambar 2.8 Logo OpenSSL [12] ............................................... 16 Gambar 2.9 Logo SUMO [13] ................................................... 17 Gambar 2.10 Logo OpenStreetMap [14] .................................... 18 Gambar 3.1 Diagram Rancangan Simulasi ................................ 20 Gambar 3.2 Alur Pembuatan Skenario Mobilitas Grid .............. 22 Gambar 3.3 Alur Pembuatan Skenario Mobilitas Real .............. 24 Gambar 3.4 Ilustrasi Routing Protocol AODV .......................... 25 Gambar 3.5 Pseudocode Modifikasi Routing Protocol AODV .. 29 Gambar 3.6 Pseudocode Modifikasi Protocol AODV ............... 32 Gambar 4.1 Perintah netgenerate ............................................... 33 Gambar 4.2 Hasil Generate Peta Grid ....................................... 34 Gambar 4.3 Perintah randomTrips ............................................. 34 Gambar 4.4 Perintah duarouter .................................................. 35 Gambar 4.5 File Skrip sumocfg ................................................. 35 Gambar 4.6 Simulasi Pergerakan Kendaraan ............................. 36 Gambar 4.7 Perintah SUMO ...................................................... 36 Gambar 4.8 Perintah traceExporter ............................................ 37 Gambar 4.9 Ekspor peta dari OpenStreetMap ............................ 37 Gambar 4.10 Perintah netconvert ............................................... 37 Gambar 4.11 Hasil Konversi Peta Real ...................................... 38 Gambar 4.12 Pengaktifan Hello Packet ..................................... 40 Gambar 4.13 Potongan Kode untuk Menyimpan Node Tetangga
.................................................................................................... 40 Gambar 4.14 Inisialisasi Variabel untuk Melakukan Deteksi Black
Hole Attack ................................................................................. 41 Gambar 4.15 Modifikasi Makefile ............................................. 42
-
xviii
Gambar 4.16 Daftar Library OpenSSL yang Digunakan ........... 42 Gambar 4.17 Perubahan Struktur Header Packet ...................... 43 Gambar 4.18 Potongan Kode Pemilihan Nexthop Node ............ 45 Gambar 4.19 Konfigurasi Lingkungan Simulasi ........................ 45 Gambar 4.20 Potongan kode untuk menugaskan node sebagai
Black hole attacker ..................................................................... 46 Gambar 4.21 Potongan Kode untuk Mengenali Black Hole
Attacker ...................................................................................... 47 Gambar 4.22 Inisialisasi Variabel Malicious ............................. 47 Gambar 4.23 Potongan Kode untuk Melakukan Drop paket ..... 47 Gambar 4.24 Potongan Kode Black Hole Attacker Mengirim Paket
Reply ........................................................................................... 48 Gambar 4.25 Potongan Kode untuk Menugaskan Node sebagai
Worm Hole Attacker ................................................................... 48 Gambar 4.26 Potongan Kode untuk Mengenali Worm Hole
Attacker ...................................................................................... 49 Gambar 4.27 Inisialisasi Variabel Worm ................................... 49 Gambar 4.28 Potongan Kode untuk Mengirim Paket Reply dan
Memodifikasi Paket yang Diterima ............................................ 50 Gambar 4.29 Pseudocode untuk Menghitung PDR .................... 51 Gambar 4.30 Perintah Pengeksekusian Skrip awk PDR ............ 51 Gambar 4.31 Output Skrip awk PDR ......................................... 51 Gambar 4.32 Pseudocode untuk Menghitung E2E ..................... 52 Gambar 4.33 Perintah Pengeksekusian Skrip awk E2E ............. 53 Gambar 4.34 Output Skrip awk E2E .......................................... 53 Gambar 4.35 Pseudocode untuk Menghitung RO ...................... 53 Gambar 4.36 Perintah Pengeksekusian Skrip awk RO .............. 54 Gambar 4.37 Output Skrip awk RO ........................................... 54 Gambar 5.1 Grafik PDR terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Grid 30 Node .................... 57 Gambar 5.2 Grafik PDR terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Grid 40 Node .................... 58 Gambar 5.3 Grafik PDR terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Grid 50 Node .................... 59
-
xix
Gambar 5.4 Grafik E2E terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario grid 30 node ...................... 61 Gambar 5.5 Grafik E2E terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Grid 40 Node .................... 62 Gambar 5.6 Grafik E2E terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Grid 50 Node .................... 63 Gambar 5.7 Grafik RO terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Grid 30 Node .................... 64 Gambar 5.8 Grafik RO terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Grid 40 Node .................... 65 Gambar 5.9 Grafik RO terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Grid 50 Node .................... 65 Gambar 5.10 Grafik PDR terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Real 30 Node .................... 67 Gambar 5.11 Grafik PDR terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Real 40 Node .................... 68 Gambar 5.12 Grafik PDR terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Real 50 Node .................... 69 Gambar 5.13 Grafik E2E terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Real 30 Node .................... 70 Gambar 5.14 Grafik E2E terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Real 40 Node .................... 71 Gambar 5.15 Grafik E2E terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Real 50 Node .................... 71 Gambar 5.16 Grafik RO terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Real 30 Node .................... 72 Gambar 5.17 Grafik RO terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Real 40 Node .................... 73 Gambar 5.18 Grafik RO terhadap Banyak Malicious Node dan
Variasi Serangannya pada Skenario Real 50 Node .................... 74
-
xx
[Halaman ini sengaja dikosongkan]
-
xxi
DAFTAR TABEL
Tabel 2.1 Tabel Detail Penjelasan Trace File AODV ................ 15 Tabel 3.1 Daftar Istilah ............................................................... 20 Tabel 3.2 Parameter Lingkungan Simulasi dengan Skenario ..... 30 Tabel 5.1 Spesifikasi Perangkat yang Digunakan ...................... 55
-
xxii
[Halaman ini sengaja dikosongkan]
-
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Vehicular Ad-hoc Network (VANET) merupakan salah satu
teknologi yang saat ini banyak dikembangkan di berbagai negara.
VANET menggunakan jaringan wireless berbasis ad hoc pada
likungan yang dinamis, sehingga rentan terjadi serangan. Terdapat
beberapa area riset dalam teknologi VANET, diantaranya adalah
routing protocol dan sekuritas [1]. Fokus pada routing protocol
adalah untuk memenuhi kebutuhan mengenai penentuan rute dari
source node ke destination node dengan jangka waktu sesingkat
mungkin dan akurasi rute yang optimal, sedangkan sekuritas
berfokus pada ketercapaian dan autentikasi paket dalam pertukaran
paket. Skenario serangan yang memungkinkan terjadi pada
jaringan VANET adalah Black hole dan Worm hole attack.
Black hole attack merupakan serangan dimana malicious
node selalu melakukan drop pada paket yang diterimanya dan
membalas pada source node seolah paket sudah diterima oleh
destination node. Sedangkan Worm hole attack memiliki banyak
variasi serangan, salah satunya dengan mengubah isi dari paket
yang diterimanya.
Dalam beberapa tahun terakhir terdapat penelitian terkait
metode untuk mengatasi Black hole maupun Worm hole attack
pada jaringan VANET, salah satunya adalah penerapan evaluation
system dan digital signature pada routing protocol GPSR [2].
Pada penelitian kali ini akan dilakukan cara untuk
mengatasi Black hole dan Worm hole attack dengan menggunakan
evaluation value yang didapatkan melalui forward-backward
evaluation dan implementasi Elliptic Curve Digital Signature
Algorithm (ECDSA) sebagai algoritma digital signature pada
routing protocol AODV.
Dikemudian hari dapat dihasilkan routing protocol yang
cukup efektif dalam mengatasi serangan dalam jaringan VANET,
-
2
sehingga didapatkan routing protocol yang aman dan reliable
untuk komunikasi antar kendaraan.
1.2 Rumusan Masalah
Tugas akhir ini mengangkat beberapa rumusan masalah
sebagai berikut:
1. Bagaimana cara mendeteksi dan mengatasi malicious node yang melakukan Black hole dan Worm hole attack?
2. Bagaimana perbandingan performa routing protocol AODV ketika terdapat malicious node yang melakukan Black hole
dan Worm hole attack sebelum dan sesudah ECDSA
diterapkan pada skenario grid?
3. Bagaimana perbandingan performa routing protocol AODV ketika terdapat malicious node yang melakukan Black hole
dan Worm hole attack sebelum dan sesudah ECDSA
diterapkan pada skenario real?
1.3 Batasan Permasalahan
Permasalahan yang dibahas pada tugas akhir ini memiliki
batasan sebagai berikut:
1. Simulator yang digunakan adalah simulator NS2. 2. Routing protocol yang digunakan adalah routing protocol
AODV.
3. Algoritma digital signature yang digunakan adalah algoritma ECDSA.
1.4 Tujuan
Tujuan dari tugas akhir ini adalah sebagai berikut:
1. Dapat mendeteksi malicious node yang melakukan Black hole dan Worm hole attack pada lingkungan VANET
dengan routing protocol AODV.
-
3
2. Dapat mengimplementasikan ECDSA untuk mengatasi Black hole dan Worm hole attack yang terjadi di lingkungan
VANET dengan routing protocol AODV.
3. Menganalisa perbandingan performa routing protocol AODV ketika terdapat malicious node yang melakukan
Black hole dan Worm hole attack sebelum dan sesudah
ECDSA diterapkan.
1.5 Manfaat
Manfaat dari hasil pembuatan tugas akhir ini adalah sebagai
berikut:
1. Memberikan manfaat di bidang VANET terutama pada area
riset sekuritas dengan mendapatkan performa routing
protocol yang relatif stabil meskipun terdapat malicious
node yang melakukan Black hole dan Worm hole attack
pada lingkungan VANET.
2. Menerapkan ilmu yang dipelajari selama kuliah di Teknik
Informatika ITS agar dapat berguna bagi orang banyak.
1.6 Metodologi
Tahapan-tahapan yang dilakukan dalam pengerjaan tugas
akhir ini adalah sebagi berikut:
1.6.1 Penyusunan Proposal Tugas Akhir
Tahap awal tugas akhir ini adalah menyusun proposal tugas
akhir. Pada proposal, berisi tentang deskripsi pendahuluan dari
tugas akhir yang akan dibuat. Proposal juga berisi tentang garis
besar tugas akhir yang akan dikerjakan sehingga memberikan
gambaran untuk dapat mengerjakan tugas akhir sesuai dengan
timeline yang dibuat. Gagasan untuk mengatasi Black Hole dan
Worm Hole attack pada komunikasi V2V di lingkungan VANETs.
-
4
1.6.2 Studi Literatur
Pada tahap ini dilakukan untuk mencari informasi dan studi
literatur apa saja yang dapat dijadikan sebagai referensi untuk
membantu pengerjaan tugas akhir ini. Tahap ini merupakan tahap
untuk memahami semua metode yang akan dikerjakan, sehingga
memberi gambaran selama pengerjaan tugas akhir. Informasi
didapatkan dari buku dan literatur yang berhubungan dengan
metode yang digunakan. Informasi yang dicari adalah Black Hole
dan Worm Hole attack, dan ECDSA. Tugas akhir ini juga mengacu
pada literatur jurnal dengan judul “Secure and Efficient
Protocol for Position-based Routing in VANET” [2].
1.6.3 Implementasi Sistem
Implementasi merupakan tahap untuk
mengimplementasikan metode-metode yang sudah diajukan pada
proposal Tugas Akhir. Untuk membangun algoritma yang telah
dirancang sebelumnya, implementasi dilakukan dengan
menggunakan NS-2 sebagai Network Simulator, bahasa C/C++
sebagai bahasa pemrograman, dan OpenSSL sebagai library untuk
mengimplementasikan ECDSA.
1.6.4 Pengujian dan Evaluasi
Pada tahap ini algoritma yang telah disusun diuji coba
dengan melakukan generate skenario grid dan skenario real yang
kemudian diberikan malicious node dalam jumlah tertentu dan
melakukan serangan tertentu. Kemudian dari skenario tersebut
akan didapatkan data uji packet delivery ratio (PDR), rata-rata end
to end delay (E2E), dan routing overhead (RO). Dari data uji
tersebut, dilakukan analisa untuk membandingkan performa
routing protocol yang telah dimodifikasi dengan routing protocol
original.
-
5
1.6.5 Penyusunan Buku
Pada tahap ini disusun buku sebagai dokumentasi dari
pelaksanaan tugas akhir yang mencangkup seluruh konsep, teori,
implementasi, serta hasil yang telah dikerjakan.
1.7 Sistematika Penulisan Laporan
Sistematika penulisan laporan tugas akhir adalah sebagai
berikut:
1. Bab I. Pendahuluan Bab ini berisikan penjelasan mengenai latar belakang, rumusan
masalah, batasan masalah, tujuan, manfaat, metodologi, dan
sistematika penulisan dari pembuatan tugas akhir.
2. Bab II. Tinjauan Pustaka Bab ini berisi kajian teori dari metode dan algoritma yang
digunakan dalam penyusunan tugas akhir ini. Secara garis
besar, bab ini berisi tentang VANET, AODV, ECDSA, Black
Hole attack, Worm Hole attack, OpenSSL, OpenStreetMap,
SUMO, NS-2, dan AWK.
3. Bab III. Perancangan Perangkat Lunak Bab ini berisi pembahasan mengenai perancangan dari metode
ECDSA untuk mengatasi Black Hole dan Worm Hole attack
pada komunikasi V2V di lingkungan VANETs menggunakan
NS-2 sebagai simulator.
4. Bab IV. Implementasi Bab ini menjelaskan implementasi ECDSA untuk mengatasi
Black Hole dan Worm Hole attack pada komunikasi V2V di
lingkungan VANETs menggunakan NS-2 sebagai simulator.
5. Bab V. Pengujian dan Evaluasi Bab ini berisikan hasil uji coba dari implementasi ECDSA
untuk mengatasi Black Hole dan Worm Hole attack pada
komunikasi V2V di lingkungan VANETs menggunakan NS-2
sebagai simulator. Pengujian dilakukan dengan skenario yang
digenerate oleh SUMO untuk mendapatkan data uji PDR, E2E,
-
6
dan RO yang nantinya akan dianalisa menggunakan skrip awk
dan dilakukan perbandingan performa routing protocol.
6. Bab VI. Kesimpulan dan Saran Bab ini merupakan bab yang menyampaikan kesimpulan dari
hasil uji coba yang dilakukan, masalah-masalah yang dialami
pada proses pengerjaan tugas akhir, dan saran untuk
pengembangan solusi ke depannya.
7. Daftar Pustaka Bab ini berisi daftar pustaka yang dijadikan literatur dalam
tugas akhir.
8. Lampiran Dalam lampiran terdapat kode program secara keseluruhan.
-
7
BAB II
TINJAUAN PUSTAKA Bab ini berisi pembahasan mengenai teori-teori dasar yang
digunakan dalam tugas akhir. Teori-teori tersebut diantaranya
adalah Elliptic Curve Digital Signature Algorithm, dan beberapa
teori lain yang mendukung pembuatan tugas akhir. Penjelesan ini
bertujuan untuk memberikan gambaran secara umum terhadap
program yang dibuat dan berguna sebagai penunjang dalam
pengembangan riset yang berkaitan.
2.1 VANET (Vehicular Ad hoc Network)
VANET merupakan bentuk dari wireless ad hoc network
untuk menyediakan komunikasi antar kendaraan dan roadside
equipment terdekat. VANET muncul sebagai teknologi baru untuk
mengintegrasikan kemampuan wireless network baru dengan
kendaraan. Tujuan utama VANET adalah untuk menyediakan
ubiquitos connectivity kepada mobile user ketika berada di jalan
raya dan komunikasi antar kendaraan yang efisien menuju
Intelligent Transportation System [3].
VANET merupakan pengembangan dari MANET (Mobile
Ad hoc Network). Pada VANET maupun MANET, node yang
bergerak bergantung pada ad hoc routing protocol untuk
menentukan bagaimana mengirim pesan kepada tujuan. Perbedaan
antara VANET dan MANET terletak pada kecepatan node. Pada
VANET, node bergerak dengan kecepatan yang relatif tinggi. Hal
tersebut merupakan sebuah tantangan dan memiliki peranan
penting dalam menentukan desain jaringan seperti apakah yang
akan dibuat.
Terdapat dua jenis node yang tergabung dalam VANET,
yaitu RSU (Road-side Unit) dan OBU (On-Board Unit) [4]. Oleh
karena itu terdapat dua tipe komunikasi dalam VANET, yaitu
antara kendaraan dengan kendaraan, yang biasa disebut dengan
komunikasi V2V dan antara kendaraan dengan RSU, yang biasa
disebut dengan komunikasi V2I seperti pada Gambar 2.1.
-
8
Gambar 2.1 Ilustrasi Komunikasi pada VANET [4]
Agar komunikasi antar node pada VANET dapat berjalan
dengan baik, diperlukan sebuah routing protocol yang dapat
beradaptasi dengan karakteristik VANET. Pada Tugas Akhir ini,
penulis menggunakan routing protocol AODV yang dimodifikasi
untuk menambahkan aspek sekuritas sehingga dapat mengatasi
serangan yang memungkinkan terjadi pada VANET, yaitu Black
hole dan Worm hole attack. Implementasi VANET dilakukan pada
NS-2 dan dilakukan pengujian performa menggunakan skrip awk.
2.2 AODV (Ad hoc On-Demand Distance Vector)
AODV merupakan routing protocol yang umum digunakan
di MANET dan telah diaplikasikan juga di VANET. Pada AODV,
rute dibuat hanya ketika diminta oleh node asal (source node).
Metode penemuan rute AODV berdasarkan pada routing table
yang menyimpan rute terhadap beberapa node. Source node akan
menyebarkan paket route request (RREQ) ke tiap neighbor-nya
yang akan mengirimkan paket RREQ juga ke tiap neighbor-nya,
begitu seterusnya hingga mencapai node tujuan (destination node).
-
9
Ketika paket RREQ mencapai destination node atau node
yang mengetahui rute ke destination node, paket route replay
(RREP) akan dikirimkan kembali ke source node melalui reverse
route. AODV menggunakan sequence number untuk mendapatkan
informasi rute yang paling update dan mencegah routing loop [5].
Ilustrasi pencarian rute routing protocol AODV dapat dilihat pada
Gambar 2.2.
Gambar 2.2 Ilustrasi pencarian rute routing protocol AODV [6]
Sebagai contoh pencarian rute, ilustrasi pada Gambar 2.2
menggambarkan bagaimana node asal, yaitu node A mencari rute
untuk menuju node destination yaitu node J. Node A mengirimkan
RREQ kepada semua neighbornya dan diteruskan oleh node
neighbor hingga mencapai node J. Kemudian node J mengirimkan
RREP melalui rute terdekat yang telah dibuat.
Routing protocol AODV termasuk ke dalam routing
protocol yang bersifat reaktif, artinya node hanya akan mencari
rute jika diminta (on demand). Sehingga routing protocol AODV
dinilai memiliki performa yang relatif baik jika diterapkan pada
lingkungan VANET yang memiliki karakteristik yaitu node
bergerak dengan kecepatan tinggi.
Pada Tugas Akhir ini, penulis menggunakan routing
protocol AODV sebagai algoritma routing protocol yang
-
10
digunakan untuk mengimplementasikan lingkungan VANET
beserta skenario serangannya.
2.3 ECDSA (Elliptic Curve Digital Signature Algorithm)
Elliptic Curve Digital Signature Algorithm (ECDSA)
merupakan varian dari Digital Signature Algorithm (DSA) yang
beroperasi pada grup elliptic curve. Untuk mengirim pesan yang
tertandatangani dari node asal ke node tujuan, keduanya sepakat
pada parameter domain elliptic curve. Pengirim memiliki key pair
yang terdiri dari private key 𝑑𝐴 (sebuah integer kurang dari n yang dipilih secara acak, dimana n merupakan urutan dari kurva, sebuah
parameter domain elliptic curve) dan public key 𝑄𝐴 = 𝑑𝐴 ∗ 𝐺 (G adalah generator point, sebuah parameter domain elliptic curve)
[7]. Ilustrasi kurva dapat dilihat pada Gambar 2.3.
Gambar 2.3 Ilustrasi Kurva pada ECDSA [7]
ECDSA merupakan salah satu algoritma digital signature
yang umum digunakan selain RSA. Tingkat kemanan ECDSA
dinilai cukup baik digunakan dalam jaringan. Di samping itu,
ECDSA membutuhkan tempat yang lebih sedikit dibandingkan
dengan RSA. Untuk tingkat keamanan yang sama, ECDSA
-
11
memiliki ukuran signature dan public key yang lebih kecil [8].
Sehingga jika akan ditambahkan pada packet header, tidak akan
terlalu membebani dengan menambah ukuran paket yang akan
dikirimkan.
Pada Tugas Akhir ini, penulis menggunakan ECDSA
sebagai algoritma digital signature yang diterapkan untuk menjaga
keaslian paket yang dikirimkan. Dengan menjaga keaslian paket,
Worm hole attack yang melakukan penyerangan dengan
memodifikasi paket dapat diatasi.
2.4 Black hole Attack
Black hole attack terjadi saat terdapat malicious node yang
menunggu mendapatkan paket RREQ dari neighbor-nya. Namun
ketika sudah mendapatkan paket RREQ, malicious node tersebut
membalas seolah-olah dia memiliki rute terpendek menuju
destination node. Sehingga source node akan meneruskan dengan
mengirim paket data ke destination node melalui malicious node
tersebut. Ketika mendapatkan paket data dari source node,
malicious node tersebut tidak meneruskan paket data ke
destination node, tetapi melakukan drop terhadap paket data yang
diterima. Sehingga paket data tersebut tidak mencapai destination
source-nya dan malicious node tidak memberi tahu source node
jika paket datanya tidak mencapai destination node [2]. Ilustrasi
Black hole attack dapat dilihat pada Gambar 2.4.
-
12
Gambar 2.4 Ilustrasi Black Hole Attack [9]
Pada Tugas Akhir ini, Black hole attack dilakukan sebagai
skenario untuk menilai performa routing protocol dalam mengatasi
serangan yang memungkinkan terjadi pada komunikasi V2V di
lingkungan VANET.
2.5 Worm hole Attack
Worm hole attack terdiri dari 2 fase yang dilancarkan oleh
satu atau lebih malicious node. Pada fase pertama, malicious node
mencoba mengumpan node neighbor-nya agar mengirimkan paket
melalui dirinya. Pada fase kedua, malicious node tersebut
memanfaatkan paket data yang diterimanya sesuai keinginannya,
-
13
salah satunya dengan mengubah isi paket data [2]. Worm hole
attack dapat diilustrasikan seperti pada Gambar 2.5.
Gambar 2.5 Ilustrasi Worm Hole Attack [10]
Pada Tugas Akhir ini, Worm hole attack dilakukan sebagai
skenario untuk menilai performa routing protocol dalam mengatasi
serangan yang memungkinkan terjadi pada komunikasi V2V di
lingkungan VANET.
2.6 NS-2 (Network Simulator-2)
NS-2 merupakan sebuah discrete event simulator yang
didesain untuk membantu penelitian pada bidang jaringan
komputer. Pengembangan NS dimulai pada tahun 1989 sebagai
sebuah varian dari REAL network simulator, pada tahun 1995
pengembangan NS didukung oleh DARPA melalui VINT project
di LBL, Xerox PARC, UCB dan USC/ISI. NS kemudian memasuki
versi dua pada tanggal 31 Juli 1995. Saat ini pengembangan NS
didukung oleh DARPA melalui SAMAN dan NSF melalui
CONSER beserta peneliti lainnya termasuk ACIRI [11].
NS-2 dinilai lebih stabil untuk melakukan simulasi
lingkungan VANET jika dibandingkan dengan versi terbarunya,
yaitu NS-3.
-
14
Pada Tugas Akhir ini, NS-2 digunakan untuk melakukan
simulasi lingkungan VANET beserta dengan skenario serangan
yang memungkinkan terjadi, yaitu Black hole dan Worm hole
attack. Trace file yang dihasilkan oleh NS-2 juga digunakan
sebagai informasi untuk mengukur performa routing protocol.
2.6.1 Instalasi
NS-2 membutuhkan beberapa package yang harus sudah
terinstall sebelum memulai instalasi NS-2. Untuk menginstall
dependency yang dibutuhkan dapat dilakukan dengan command
yang ditunjukkan pada Gambar 2.6.
Gambar 2.6 Perintah untuk menginstall dependency NS-2
Setelah menginstall dependency yang dibutuhkan, ekstrak
package NS-2 dan ubah baris kode ke-137 pada file ls.h di folder
linkstate menjadi seperti pada Gambar 2.7.
Gambar 2.7 Baris kode yang diubah pada file ls.h
Install NS-2 dengan menjalankan perintah ./install pada
folder NS-2.
2.6.2 Trace File
Trace file merupakan file hasil simulasi yang dilakukan oleh
NS-2 dan berisikan informasi detail pengiriman paket data. Trace
file digunakan untuk menganalisis performa routing protocol yang
sudo apt-get install build-essential autoconf
automake libxmu-dev
void eraseAll(){this->erase(baseMap::begin(),
baseMap::end()); }
-
15
disimulasikan. Detail penjelasan trace file ditunjukkan pada Tabel
2.1.
Tabel 2.1 Tabel Detail Penjelasan Trace File AODV
Kolom
ke-
Penjelasan Isi
1 Event s : sent
r : received
f : forwarded
D: dropped
2 Time Waktu terjadinya event
3 ID Node _x_ : dari 0 hingga banyak node
pada topologi
4 Layer AGT : application
RTR : routing
LL : link layer
IFQ : packet queue
MAC : MAC
PHY : physical
5 Flag --- : Tidak ada
6 Sequence
Number
Nomor paket
7 Tipe Paket AODV : paket routing AODV
cbr : berkas paket CBR (Constant
Bit Rate)
RTS : Request To Send yang
dihasilkan MAC 802.11
CTS : Clear To Send yang
dihasilkan MAC 802.11
ACK : MAC ACK
ARP : Paket link layer address
resolution protocol
8 Ukuran Ukuran paket pada layer saat itu
9 Detail MAC [a b c d]
a : perkiraan waktu paket
-
16
b : alamat penerima
c : alamat asal
d : IP header
10 Flag -------- : Tidak ada
11 Detail IP source,
destination, dan
nexthop
[a:b c:d e f]
a : IP source node
b : port source node
c : IP destination node (jika -1
berarti broadcast)
d : port destination node
e : IP header ttl
f : IP nexthop (jika 0 berarti node 0
atau broadcast)
2.7 OpenSSL
OpenSSL adalah sebuah proyek open source yang
menyediakan toolkit protokol Transport Layer Security (TLS) dan
Secure Socket Layer (SSL). OpenSSL juga merupakan library
yang umum digunakan untuk keperluan kriptografi. OpenSSL
toolkit terlisensi di bawah lisensi Apache, yang bisa didapatkan
secara gratis untuk tujuan komersial maupun non-komersial [12].
OpenSSL memiliki logo seperti pada Gambar 2.8.
Pada tugas akhir ini, penulis menggunakan OpenSSL untuk
mengimplementasikan ECDSA yang digunakan sebagai algoritma
digital signature dalam mengatasi skenario serangan yang
diberikan.
Gambar 2.8 Logo OpenSSL [12]
-
17
2.8 SUMO (Simulation of Urban Mobility)
Simulation of Urban Mobility atau disingkat SUMO
merupakan simulasi lalu lintas jalan raya yang open source,
microscopic, dan multi-modal. Sumo mensimulasikan bagaimana
permintaan lalu lintas yang terdiri dari beberapa kendaraan berjalan
pada jalan raya yang telah ditentukan. Simulasi SUMO dapat
menunjukkan beberapa topik manajemen lalu lintas dalam skala
besar. SUMO murni microscopic, yang artinya setiap kendaraan
dimodelkan secara eksplisit, memiliki rutenya sendiri, dan
bergerak secara individu dalam jaringan [13]. Logo SUMO
ditunjukkan pada Gambar 2.9.
Pada Tugas Akhir ini, penulis menggunakan SUMO untuk
mengenerate skenario VANET, peta area simulasi, dan pergerakan
node sehingga menyerupai keadaan sebenarnya lalu lintas yang
ingin disimulasikan.
Gambar 2.9 Logo SUMO [13]
2.9 OpenStreetMap
OpenStreetMap merupakan proyek kolaboratif untuk
membuat sebuah peta dunia yang dapat dengan bebas disunting
oleh siapapun. OpenStreetMap digunakan sebagai data peta pada
-
18
berbagai website, aplikasi mobile, dan hardware device.
OpenStreetMap dibangun oleh komunitas pembuat peta yang
berkontribusi dan mengelola data mengenai jalan raya, kafe,
stasiun kereta api, dan sebagainya di seluruh dunia [14]. Logo
OpenStreetMap ditunjukkan pada Gambar 2.10.
Gambar 2.10 Logo OpenStreetMap [14]
Pada Tugas Akhir ini, penulis menggunakan
OpenStreetMap untuk mendapatkan peta sebenarnya guna
melakukan simulasi dengan skenario real.
2.10 AWK
AWK merupakan sebuah bahasa pemrograman yag didesain
untuk text-processing dan biasanya digunakan sebagai alat ekstrasi
data dan pelaporan. AWK bersifat data-driven yang berisikan
kumpulan perintah yang akan dijalankan pada data tekstural baik
secara langsung pada file atau digunakan sebagai bagian dari
pipeline [15].
Pada tugas akhir ini, penulis menggunakan AWK untuk
memproses data yang diberikan oleh NS-2 agar mendapatkan
analisis mengenai packet delivery ratio, end to end delay, dan
routing overhead.
-
19
BAB III
PERANCANGAN
Bab ini membahas mengenai perancangan implemetasi
sistem yang dibuat pada Tugas Akhir. Bagian yang akan dijelaskan
pada bab ini berawal dari deskripsi umum, perancangan skenario,
hingga alur dan implementasinya.
3.1 Deskripi Umum
Pada Tugas Akhir ini penulis akan mengimplementasikan
routing protocol AODV yang dimodifikasi dengan menambahkan
proses evaluasi untuk mendeteksi dan mengatasi Black hole dan
Worm hole attack. Proses evaluasi pertama dilakukan dengan cara
merekam keluar masuknya paket dalam suatu node. Proses
evaluasi ini digunakan untuk dapat mendeteksi apakah node
tetangga dari suatu node berpotensi melakukan Black Hole attack.
Sedangkan proses evaluasi kedua dilakukan dengan
mengimplementasikan ECDSA sebagai algoritma digital signature
untuk memvalidasi keaslian paket yang diterima. Proses evaluasi
ini digunakan untuk dapat mendeteksi apakah node tetangga dari
suatu node berpotensi melakukan Worm Hole attack. Analisis dan
perancangan modifikasi routing protocol AODV guna mendeteksi
dan mengatasi Black Hole dan Worm Hole attack ini dijelaskan
pada subbab 3.4.
Modifikasi routing protocol AODV ini akan disimulasikan
menggunakan NS-2 dengan skenario pergerakan node yang dibuat
menggunakan tools SUMO. Simulasi yang dilakukan akan
menghasilkan trace file, yang kemudian dianalisis menggunakan
AWK untuk mendapatkan packet delivery ratio, average end to
end delay, dan routing overhead. Analisis tersebut dapat mengukur
performa routing protocol AODV yang telah dimodifikasi
dibandingkan dengan routing protocol AODV sebelum
dimodifikasi. Diagram rancangan simulasi dapat dilihat pada
Gambar 3.1.
-
20
Gambar 3.1 Diagram Rancangan Simulasi
Daftar istilah yang sering digunakan pada buku Tugas
Akhir ini dapat dilihat pada Tabel 3.1.
Tabel 3.1 Daftar Istilah
No. Istilah Penjelasan
1. AODV Ad Hoc On-Demand Distance Vector
2. ECDSA Elliptic Curve Digital Signature
Algorithm
3. PDR Packet Delivery Ratio
4. E2E Average End to End Delay
5. RO Routing Overhead
6. RREQ Paket request AODV
7. RREP Paket reply AODV
-
21
3.2 Perancangan Skenario Mobilitas
Perancangan skenario mobilitas dimulai dengan generate
area simulasi, pergerakan node, implementasi pergerakan node,
dan memilih node yang akan dijadikan attacker. Dalam Tugas
Akhir ini, terdapat dua macam area simulasi yang akan digunakan.
Diantaranya adalah peta grid dan peta real. Peta grid yang
dimaksud adalah bentuk jalan berpetak-petak sebagai contoh jalan
berpotongan yang sederhana. Peta grid digunakan sebagai simulasi
awal VANET karena lebih seimbang dan stabil. Peta grid
didapatkan dengan menentukan panjang dan jumlah petak area
menggunakan SUMO. Sedangkan yang dimaksud peta real adalah
peta asli yang digunakan sebagai area simulasi. Peta real
didapatkan dengan mengambil area yang dimaksudkan sebagai
area simulasi dari OpenStreetMap. Pada Tugas Akhir ini, peta real
yang diambil penulis adalah salah satu area di Surabaya.
3.2.1 Perancangan Skenario Mobilitas Grid
Perancangan skenario mobilitas grid diawali dengan
merancang luas area peta grid yang dibutuhkan. Luas area tersebut
bisa didapatkan dengan cara menentukan terlebih dahulu jumlah
titik persimpangan yang diinginkan pada peta grid, sehingga dari
jumlah persimpangan tersebut dapat diketahui berapa banyak petak
yang dibutuhkan. Dengan mengetahui jumlah petak yang
dibutuhkan, dapat digunakan untuk menentukan panjang tiap petak
sehingga mendapatkan luas area seperti yang diinginkan. Misalkan
luas area yang dibutuhkan adalah 1000 m x 1000 m. Dengan 11
titik persimpangan, maka akan didapatkan 10 petak. Dengan begitu
panjang tiap petak untuk mendapatkan luas area 1000 m x 1000 m
adalah 100 m.
Peta grid yang telah ditentukan luas areanya tersebut
kemudian dibuat dengan menggunakan tools SUMO yaitu
netgenerate. Selain titik persimpangan dan panjang tiap petak grid,
-
22
dibutuhkan juga pengaturan kecepatan kendaraan dalam
pembuatan peta grid menggunakan netgenerate ini. Peta grid yang
dihasilkan oleh netgenerate akan memiliki ekstensi .net.xml. Peta
grid ini kemudian digunakan untuk membuat pergerakan node
dengan tools SUMO yaitu randomTrips dan duarouter.
Skenario mobilitas grid dihasilkan dengan
menggabungkan file peta grid dan file pergerakan node yang telah
digenerate, yang akan menghasilkan file dengan ekstensi .xml.
Selanjutnya, untuk dapat menerapkannya pada NS-2 file skenario
mobilitas grid yang berekstensi .xml dikonversi ke dalam bentuk
file .tcl. Konversi ini dilakukan menggunakan tools traceExporter.
Alur pembuatan skenario grid dapat dilihat pada Gambar 3.2.
Gambar 3.2 Alur Pembuatan Skenario Mobilitas Grid
-
23
3.2.2 Perancangan Skenario Mobilitas Real
Perancangan skenario mobilitas real diawali dengan
memilih area yang akan dijadikan simulasi. Pada Tugas Akhir ini,
penulis menggunakan peta dari OpenStreetMap untuk mengambil
area yang dijadikan model simulasi. Setelah memilih area, unduh
dengan menggunakan fitur export dari OpenStreetMap. Peta hasil
export dari OpenStreetMap ini memiliki ekstensi .osm.
Setelah mendapatkan peta area yang dijadikan simulasi,
peta tersebut dikonversi ke dalam bentuk file dengan ekstensi
.net.xml menggunakan tools SUMO yaitu netconvert. Tahap
berikutnya memiliki tahapan yang sama seperti tahapan ketika
merancang skenario mobilitas grid, yaitu membuat pergerakan
node menggunakan randomTrips dan duarouter. Kemudian
gabungkan file peta real yang sudah dikonversi ke dalam file
dengan ekstensi .net.xml dan file pergerakan node yang sudah
digenerate. Hasil dari penggabungan tersebut merupakan file
skenario yang berekstensi .xml. File yang dihasilkan tersebut
dikonversi ke dalam bentuk file .tcl agar dapat diterapkan pada NS-
2. Alur pembuatan skenario real dapat dilihat pada Gambar 3.3.
-
24
Gambar 3.3 Alur Pembuatan Skenario Mobilitas Real
3.3 Analisis dan Perancangan Modifikasi Routing Protocol AODV untuk Mengatasi Black Hole dan Worm Hole
Attack
Routing Protocol AODV tidak memiliki benteng sekuritas
sehingga rentan terjadi serangan, dalam hal ini adalah Black hole
dan Worm hole attack. Modifikasi pada Routing Protocol AODV
-
25
dilakukan dengan adanya penambahan aspek sekuritas untuk dapat
mendeteksi kemungkinan terdapat malicious node guna mengatasi
Black hole dan Worm hole attack.
3.3.1 Analisis dan Perancangan Deteksi Black Hole Attack
Black Hole attack terjadi ketika suatu node selalu
melakukan drop pada tiap paket yang diterima, yang seharusnya
diteruskan ke node tetangganya. Untuk dapat mengatasi Black
Hole attack, suatu node harus dapat mengetahui apakah node
tetangganya adalah malicious node, sehingga node tersebut tidak
dijadikan nexthop node.
Salah satu cara untuk dapat mendeteksi apakah node
tetangganya berpotensi melakukan Black Hole attack adalah
dengan melihat perbandingan antara jumlah paket yang dikirimkan
ke node tetangga tersebut dan jumlah paket yang diterima dari node
tetangga tersebut.
Gambar 3.4 Ilustrasi Routing Protocol AODV
Sebagai ilustrasi, pada Gambar 3.4 node 0 sebagai source
node ingin mencari rute ke node 3 sebagai destination node, maka
node 0 akan membroadcast paket request (RREQ) pada semua
tetangganya, node tetangganya akan membroadcast ke semua
tetangganya, begitu seterusnya hingga menemukan node 3. Jika
node 5 adalah malicious node yang melakukan Black Hole attack,
-
26
maka node 2, node 6, dan node 3 harus dapat mendeteksi bahwa
node 5 adalah malicious node.
Oleh karena itu, pada tiap node dilakukan evaluasi
terhadap tiap node tetangganya. Sebagai contoh pada node 2, ia
akan menghitung jumlah paket request yang ia kirimkan pada tiap
node 5, node 6, dan node 3. Ia juga akan menghitung jumlah paket
request yang ia terima dari tiap node 5, node 6, dan node 3.
Kemudian node 2 membandingkan jumlah paket yang ia terima
dengan jumlah paket yang ia kirimkan. Jika node 5 adalah
malicious node, ia tidak akan membroadcast paket request pada
node tetangganya. Hal tersebut akan menyebabkan nilai
perbandingan paket pada node 2 tidak seimbang. Dengan begitu
node 2 dapat memperkirakan bahwa node 5 berpotensi melakukan
Black Hole attack. Nilai perbandingan ini dinamakan nilai evaluasi
forward.
3.3.2 Analisis dan Perancangan Deteksi Worm Hole Attack
Worm Hole attack terjadi ketika suatu node mengubah isi
paket yang diterimanya, sehingga node tetangganya akan
menerima informasi yang tidak valid. Sama halnya dengan Black
Hole attack, untuk dapat mengatasi Worm Hole attack, suatu node
harus dapat mengetahui apakah node tetangganya adalah malicious
node agar node tersebut tidak dijadikan sebagai nexthop node.
Langkah awal yang dapat dilakukan agar dapat
mengetahui apakah suatu node berpotensi melakukan Worm Hole
attack adalah dengan melakukan verifikasi terhadap paket yang
diterima dari node tersebut. Verifikasi ini dilakukan untuk dapat
mengetahui apakah paket yang diterima masih terjamin
keasliannya atau sudah diubah di tengah jalan. Untuk melakukan
verifikasi keaslian paket tersebut dibutuhkan digital signature.
ECDSA berperan sebagai algoritma untuk mengenerate digital
signature dan memverifikasinya.
Agar dapat mengetahui apakah terdapat malicious node,
pada tiap node dilakukan evaluasi terhadap tiap node tetangganya
-
27
dengan melihat nilai perbandingan antara jumlah paket yang
dinyatakan lulus verifikasi dengan jumlah semua paket yang
diterima dari node tetangga tersebut.
Dengan melihat ilustrasi pada Gambar 3.4, misalkan node
0 adalah source node, dan node 3 adalah destination node, maka
sebelum membroadcast paket request, node 0 akan mengenerate
digital signature dari paket tersebut dengan ECDSA. Jika node 5
adalah malicious node yang melakukan Worm Hole attack, maka
node-node tetangga dari node 5 harus dapat mengetahui bahwa
node 5 berpotensi melakukan Worm Hole attack dengan selalu
melakukan evaluasi terhadap node tetangganya.
Sebagai contoh, node 2 akan menghitung semua jumlah
paket request yang ia terima dari node 5, node 6, dan node 3, juga
melakukan verifikasi keaslian paket tersebut menggunakan
ECDSA, kemudian ia akan menghitung jumlah paket request yang
lulus verifikasi. Setelah itu dilakukan perbandingan antara jumlah
paket yang lulus verifikasi dengan semua jumlah paket yang
diterima. Jika node 5 melakukan Worm Hole attack, maka paket
request yang diterima dari node 5 tidak lulus verifikasi yang akan
menyebabkan nilai perbandingan paket tidak seimbang, sehingga
dapat dikatakan bahwa node 5 berpotensi melakukan Worm Hole
attack. Nilai perbandingan ini dinamakan dengan nilai evaluasi
backward.
3.3.3 Perancangan Pemilihan Nexthop Node
Setelah dapat mendeteksi jika suatu node berpotensi
melakukan Black Hole atau Worm Hole attack dengan melihat nilai
evaluasi forward dan backward, langkah selanjutnya adalah
dengan menentukan apakah suatu node layak dijadikan nexthop
node.
Oleh karena itu, ditentukan suatu batas nilai yang
dinamakan threshold untuk menyaring node mana yang layak
dijadikan nexthop. Nilai yang akan dibandingkan dengan threshold
tersebut adalah nilai evaluasi total, yang didapat dari penjumlahan
-
28
antara nilai evaluasi forward yang telah dikalikan dengan bilangan
random dan nilai evaluasi backward yang telah dikalikan dengan
bilangan random. Jika nilai evaluasi total dari node tersebut lebih
besar dari nilai threshold, maka node tersebut dapat dikatakan
layak dijadikan sebagai nexthop node, yang selanjutnya pemilihan
nexthop node dilakukan sesuai dengan algoritma routing protocol
AODV. Namun jika nilai evaluasi total dari node tersebut lebih
kecil dari nilai threshold, maka node tersebut dideteksi sebagai
malicious node dan secara otomatis dieliminasi dari pemilihan
nexthop node, sehingga malicious node tersebut tidak akan menjadi
nexthop node.
Ilustrasi digunakan skenario yang sama pada subbab 3.3.1
dan subbab 3.3.2 dimana node 0 sebagai source node, node 3
sebagai destination node, dan node 5 sebagai malicious node.
Sebagai contoh, pada node 2 dilakukan evaluasi terhadap node 5,
node 6, dan node 3 sehingga tiap node 5, node 6, dan node 3
tersebut memiliki nilai evaluasi total masing-masing. Kemudian
masing-masing nilai evaluasi total akan dibandingkan dengan nilai
threshold, dimana nilai evaluasi total dari node 5 akan
menghasilkan nilai yang lebih kecil dari threshold karena ia
melakukan Black Hole attack atau Worm Hole attack. Dengan
demikian, node 5 dideteksi sebagai malicious node dan dieliminasi
dari pemilihan nexthop. Sedangkan node 6 dan node 3 yang
memiliki nilai evaluasi total lebih dari nilai threshold mempunyai
kemungkinan untuk dijadikan nexthop node. Selanjutnya apakah
node 6 atau node 3 yang dijadikan nexthop node dipilih
menggunakan algoritma dari routing protocol AODV itu sendiri.
Pseudocode modifikasi routing protocol AODV ini, dari
deteksi malicious node yang melakukan Black Hole attack atau
Worm Hole attack hingga dilakukan pemilihan nexthop node dapat
dilihat pada Gambar 3.5.
-
29
Gambar 3.5 Pseudocode Modifikasi Routing Protocol AODV
Part I
if source IP of packet != IP of this node
then
counter array of packet received from node
n ++
if verify of the signature successful then
counter array of verified packet from
node n ++
else
drop packet and return
end if
Part II
if neighbor IP != destination IP of packet
counter array of packet sent to node n ++
if eval value of node n > threshold
record node n as nexthop
forward packet
else
forward packet
end if
Part III
for i = 1 to the number of neighbors
forward eval [i] = counter array of packet
received from node i / counter array of
packet send to node i
backward eval [i]= counter array of
verified packet from node i / counter array
of packet received from node i
eval value [i] = random number * forward
eval [i] + random number * backward eval [i]
-
30
3.4 Perancangan Simulasi pada NS-2
Simulasi VANET pada NS-2 dilakukan dengan
menggabungkan file skenario yang telah dibuat menggunakan
SUMO dan file skrip tcl yang berisikan konfigurasi lingkungan
simulasi. Konfigurasi lingkungan simulasi VANET pada NS-2
dapat dilihat pada Tabel 3.2.
Tabel 3.2 Parameter Lingkungan Simulasi dengan Skenario
No. Parameter Spesifikasi
1. Network simulator NS-2, 2.35
2. Routing protocol AODV
3. Waktu simulasi 200 detik
4. Area simulasi 1700 m x 1700 m
5. Banyak kendaraan 30, 40, 50
6. Agen pengirim Constant Bit Rate (CBR)
7. Protocol MAC IEEE 802.11
8. Propagasi sinyal Two-ray ground
9. Source/Destination Dinamis
10. Tipe Kanal Wireless channel
Selain konfigurasi lingkungan simulasi VANET, pada skrip
tcl tersebut juga ditambahkan perintah untuk menugaskan node
yang akan menjadi attacker untuk Black hole attack maupun Worm
hole attack.
Agar node attacker dapat menjalankan tugasnya melakukan
Black hole attack atau Worm hole attack, ditambahkan beberapa
kode untuk melakukan Black hole attack dan Worm hole attack
pada kode routing protocol AODV di NS-2.
Kode yang ditambahkan diantaranya adalah deklarasi
variabel pada file aodv.h. Kemudian pada file aodv.cc ditambahkan
kode untuk mengenali node attacker dan alur penyerangan. Ketika
simulasi NS-2 dijalankan routing protocol AODV akan mengenali
apakah suatu node adalah Black hole attacker atau Worm hole
attacker. Jika node tersebut adalah Black hole attacker, maka node
-
31
tersebut akan melakukan drop pada setiap paket yang diterimanya,
sedangkan jika node tersebut adalah Worm hole attacker, maka
node tersebut akan mengubah node tujuan yang ada pada paket
header.
3.5 Perancangan Metrik Analisis
Berikut ini merupakan parameter-parameter yang akan
dianalisis pada Tugas Akhir ini untuk dapat membandingkan
performa dari routing protocol AODV yang telah dilakukan
modifikasi dan routing protocol AODV yang asli:
3.5.1 Packet Delivery Ratio (PDR)
Packet Delivery Ratio merupakan perbandingan antara
jumlah paket yang diterima dengan jumlah paket yang dikirimkan.
Packet Delivery Ratio dihitung dengan persamaan 3.1.
𝑃𝐷𝑅 = 𝑝𝑎𝑐𝑘𝑒𝑡 𝑟𝑒𝑐𝑒𝑖𝑣𝑒𝑑
𝑝𝑎𝑐𝑘𝑒𝑡 𝑠𝑒𝑛𝑡
(3.1)
Packet Delivery Ratio dapat menunjukkan keberhasilan
paket yang dikirimkan. Semakin tinggi Packet Delivery Ratio,
artinya semakin berhasil pengiriman paket yang dilakukan.
3.5.2 Rata-rata End to End Delay (E2E)
Rata-rata End to End Delay merupakan rata-rata dari delay
atau waktu yang dibutuhkan tiap paket untuk sampai ke node
tujuan dalam satuan detik. Delay tiap paket didapatkan dari rentang
waktu antara node asal mengirimkan paket (CBRSentTime) dan
node tujuan menerima paket (CBRRecvTime). Dari delay tiap
paket tersebut semua dijumlahkan dan dibagi dengan jumlah paket
yang berhasil diterima (recvnum), maka akan didapatkan rata-
rata end to end delay, yang dapat dihitung dengan persamaan 3.2.
-
32
𝐸2𝐸 = ∑ 𝐶𝐵𝑅𝑅𝑒𝑐𝑣𝑇𝑖𝑚𝑒 − 𝐶𝐵𝑅𝑆𝑒𝑛𝑡𝑇𝑖𝑚𝑒𝑟𝑒𝑐𝑣𝑛𝑢𝑚𝑚=1
𝑟𝑒𝑐𝑣𝑛𝑢𝑚
(3.2)
3.5.3 Routing Overhead (RO)
Routing Overhead adalah jumlah paket kontrol routing yang
ditransmisikan per data paket ke node tujuan selama simulasi
terjadi. Routing Overhead didapatkan dengan menjumlahkan
semua paket kontrol routing yang ditransmisikan, baik itu paket
route request (RREQ), route reply (RREP), maupun route error
(RERR). Perhitungan Routing Overhead dapat dilihat dengan
persamaan 3.3.
𝑅𝑂 = ∑ 𝑝𝑎𝑐𝑘𝑒𝑡 𝑠𝑒𝑛𝑡𝑠𝑒𝑛𝑡𝑛𝑢𝑚
𝑚=1
(3.3)
-
33
BAB IV
IMPLEMENTASI
Bab ini membahas mengenai implementasi dari perancangan
sistem yang telah dijabarkan pada bab sebelumnya.
4.1 Implementasi Skenario Mobilitas
Implementasi skenario mobilitas VANET dibagi menjadi
dua, yaitu skenario grid yang menggunakan peta jalan berpetak dan
skenario real yang menggunakan peta hasil pengambilan suatu
area di kota Surabaya.
4.1.1 Skenario Grid
Dalam mengimplementasikan skenario grid, SUMO
menyediakan tools untuk membuat peta grid yaitu netgenerate.
Pada Tugas Akhir ini, penulis membuat peta grid dengan luas 1500
m x 1500 m yang terdiri dari titik persimpangan antara jalan
vertikal dan jalan horizontal sebanyak 11 titik x 11 titik. Dengan
jumlah titik persimpangan sebanyak 11 titik tersebut, maka
terbentuk 10 buah petak. Sehingga untuk mencapai luas area
sebesar 1500 m x 1500 m dibutuhkan luas per petak sebesar 150 m
x 150 m. Berikut perintah netgenerate untuk membuat peta tersebut
dengan kecepatan default kendaraan sebesar 20 m/s dapat dilihat
pada Gambar 4.1.
Gambar 4.1 Perintah netgenerate
Gambar hasil peta yang telah dibuat dengan netgenerate
dapat dilihat pada Gambar 4.2.
netgenerate --grid --grid.number=11 --
grid.length=150 --default.speed=20 --
tls.guess=1 --output-file=map.net.xml
-
34
Gambar 4.2 Hasil Generate Peta Grid
Setelah peta terbentuk, maka dilakukan pembuatan node
dan pergerakan node dengan menentukan titik awal dan titik akhir
setiap node secara random menggunakan tools randomTrips.
Perintah penggunaan tools randomTrips untuk membuat node
sebanyak n node dengan pergerakannya dapat dilihat pada Gambar
4.3.
Gambar 4.3 Perintah randomTrips
Selanjutnya dibuatkan rute yang digunakan kendaraan
untuk mencapai tujuan dari file hasil sebelumnya menggunakan
tools duarouter. Secara default algoritma yang digunakan untuk
python sumo-0.27.1/tools/randomTrips.py –n
map.net.xml –e 30 –l --trip-
attributes=”departLane=\”best”\
departSpeed=\”max\” departPos=\”random_free\””
–o trip.trips.xml
-
35
membuat rute ini adalah algoritma dijkstra. Perintah penggunaan
tools duarouter dapat dilihat pada Gambar 4.4.
Gambar 4.4 Perintah duarouter
Untuk menjadikan peta dan pergerakan node yang telah
digenerate menjadi sebuah skenario dalam bentuk file berekstensi
.xml, dibutuhkan sebuah file skrip dengan ekstensi .sumocfg guna
menggabungkan file peta dan rute pergerakan node. Isi dari file
skrip tersebut dapat dilihat pada Gambar 4.5.
Gambar 4.5 File Skrip sumocfg
File .sumocfg disimpan dalam direktori yang sama dengan
file peta dan file rute pergerakan node. Untuk percobaan sebelum
dikonversi, file .sumocfg dapat dibuka dengan menggunakan tools
sumo-gui. Cuplikan pergerakan kendaraan dapat dilihat pada
Gambar 4.6.
duarouter –n map.net.xml –t trip.trips.xml –o
route.rou.xml --ignore-errors --repair
-
36
Gambar 4.6 Simulasi Pergerakan Kendaraan
Kemudian buat file skenario dalam bentuk file .xml dari
sebuah file skrip berekstensi .sumocfg menggunakan tools SUMO.
Perintah untuk menggunakan tools SUMO dapat dilihat pada
Gambar 4.7.
Gambar 4.7 Perintah SUMO
File skenario berekstensi .xml selanjutnya dikonversi ke
dalam bentuk file berekstensi .tcl agar dapat disimulasikan
menggunakan NS-2. Tools yang digunakan untuk melakukan
konversi ini adalah traceExporter. Perintah untuk menggunakan
traceExporter dapat dilihat pada Gambar 4.8.
sumo –c scenario.sumocfg --fcd-output
scenario.xml
Zoom in
-
37
Gambar 4.8 Perintah traceExporter
4.1.2 Skenario Real
Dalam mengimplementasikan skenario real, langkah
pertama adalah dengan menentukan area yang akan dijadikan area
simulasi. Pada Tugas Akhir ini penulis mengambil area jalan
sekitar Kertajaya Surabaya. Setelah menentukan area simulasi,
ekspor data peta tersebut dari OpenStreetMap seperti yang
ditunjukkan pada Gambar 4.9.
Gambar 4.9 Ekspor peta dari OpenStreetMap
File hasil ekspor dari OpenStreetMap tersebut adalah file
peta dengan ekstensi .osm. Kemudian konversi file .osm tersebut
menjadi peta dalam bentuk file berekstensi .xml menggunakan
tools netconvert. Perintah untuk menggunakan netconvert dapat
dilihat pada Gambar 4.10.
python sumo-0.27.1/tools/traceExporter.py --
fcd-input=scenario.xml --ns2-mobility-
output=scenario.tcl
netconvert --osm-files map.osm --output-file
map.net.xml
Gambar 4.10 Perintah netconvert
-
38
Hasil konversi peta dari file berekstensi .osm menjadi file
berekstensi .xml dapat dilihat menggunakan tools sumo-gui seperti
yang ditunjukkan pada Gambar 4.11.
Gambar 4.11 Hasil Konversi Peta Real
Langkah selanjutnya sama dengan ketika membuat skenario
mobilitas grid, yaitu membuat node, asal, dan tujuan node
menggunakan tools randomTrips. Lalu membuat rute node untuk
sampai ke tujuan menggunakan tools duarouter. Kemudian
membuat file skenario berekstensi .xml menggunakan tools SUMO
dengan bantuan file skrip berekstensi .sumocfg. Selanjutnya
konversikan file skenario berekstensi .xml tersebut menjadi file
skenario berekstensi .tcl untuk dapat disimulasikan pada NS-2
menggunakan tools traceExporter. Perintah untuk menggunakan
tools tersebut sama dengan ketika membuat skenario grid di atas.
-
39
4.2 Implementasi Modifikasi pada Routing Protocol AODV untuk Mengatasi Black Hole dan Worm Hole Attack
Routing protocol AODV merupakan salah satu routing
protocol yang umum digunakan dalam simulasi VANET. Namun,
routing protocol ini belum dilengkapi dengan aspek sekuritas
sehingga memungkinkan penurunan performa yang cukup drastis
ketika terjadi serangan, dalam hal ini adalah Black hole dan Worm
hole attack.
Pada Tugas Akhir ini dilakukan pada routing protocol
AODV untuk menambahkan aspek sekuritas agar dapat
mendeteksi adanya malicious node guna mengatasi Black Hole dan
Worm Hole attack. Sehingga ketika terjadi serangan tersebut,
performa routing protocol AODV tetap terjaga.
Implementasi modifikasi routing protocol AODV ini dibagi
menjadi tiga bagian, yaitu:
Implementasi Deteksi Black Hole Attack
Implementasi Deteksi Worm Hole Attack
Implementasi Pemilihan Nexthop Node Kode implementasi dari routing protocol AODV pada NS-2
versi 2.35 berada pada direktori ns-2.35/aodv. Di dalam diretori
tersebut terdapat beberapa file, diantaranya aodv.cc, aodv.h, dan
aodv_packet.h. Ketiga file tersebut akan dimodifikasi untuk dapat
mengatasi Black hole dan Worm hole attack yang telah disebutkan
sebelumnya.
Pada bagian ini penulis akan menjelaskan langkah-langkah
dalam mengimplementasikan modifikasi routing protocol AODV
untuk mengatasi Black hole dan Worm hole attack.
4.2.1 Implementasi Deteksi Black Hole Attack
Langkah awal yang dilakukan untuk mengimplementasikan
pendeteksian Black Hole attack seperti yang telah dirancang pada
subbab 3.3.1 adalah dengan menghitung jumlah paket RREQ yang
diterima dari tiap node tetangga dan jumlah paket RREQ yang
-
40
dikirimkan kepada tiap node tetangga. Namun, secara default pada
routing protocol AODV tidak dapat mengetahui siapa saja
tetangga dari suatu node. Sehingga diperlukan pengiriman hello
packet terlebih dahulu untuk dapat mengetahui siapa saja tetangga
dari suatu node. Hello packet dapat diaktifkan dengan mengubah
beberapa baris kode pada fungsi AODV::command menjadi seperti
pada Gambar 4.12.
Gambar 4.12 Pengaktifan Hello Packet
Selanjutnya node tetangga dari suatu node disimpan dalam
variabel std::vector myneigh(50) dengan
menambahkan kode pada fungsi AODV::recvHello seperti pada
Gambar 4.13. Kode fungsi AODV::recvHello dapat dilihat pada
Lampiran A.2. Karena node bersifat dinamis, maka node
tetangganya bisa berubah-ubah setiap saat, sehingga daftar node
tetangga dari suatu node harus selalu diperbarui. Memperbarui
daftar node tetangga dari suatu node ini dapat dilakukan dengan
mengosongkan variabel myneigh(50) setiap akan mengirimkan
hello packet.
Gambar 4.13 Potongan Kode untuk Menyimpan Node Tetangga
Untuk dapat menghitung jumlah paket RREQ yang
diterima dari tiap node tetangga, ditambahkan variabel int record
pada header packet RREQ agar node yang menerima dapat
mengetahui siapa yang mengirimkan paket tersebut. Kemudian
diperlukan beberapa variabel untuk menjumlahkan paket RREQ
yang diterima oleh suatu node dari tiap node tetangganya dan paket
RREQ yang dikirim dari suatu node ke tiap node tetangganya, serta
//#ifndef AODV_LINK_LAYER_DETECTION
htimer.handle((Event*) 0);
ntimer.handle((Event*) 0);
//#endif // LINK LAYER DETECTION
myneigh[(int)rp->rp_dst].push_back(index);
-
41
variabel untuk membandingkan nilai keduanya. Variabel-variabel
tersebut diantaranya int kirimdari[50][50], int
kirimke[50][50], double forward_eval[50][50]. Gambaran
inisialisasi variabel dapat dilihat pada Gambar 4.14.
Gambar 4.14 Inisialisasi Variabel untuk Melakukan Deteksi
Black Hole Attack
Selanjutnya setiap node akan menjumlahkan paket RREQ
yang diterima dari tiap node tetangganya setiap kali menerima
paket dan menyimpan hasil jumlah pada variabel
kirimdari[50][50]. Node tersebut juga akan menjumlahkan paket
yang dikirimkan kepada node tetangganya setiap akan melakukan
forward dan menyimpan hasil jumlah pada variabel
kirimke[50][50]. Kemudian node tersebut membandingkan
jumlah paket RREQ yang diterima dengan jumlah paket RREQ
yang dikirimkan dan menyimpan nilainya pada variabel
forward_eval[50][50]. Nilai dari variabel tersebut akan dijadikan
bahan evaluasi untuk menentukan apakah node tersebut layak
dijadikan nexthop node. Kode implementasi evaluasi ini diletakkan
pada fungsi AODV::recvRequest dan dapat dilihat pada lampiran
A.3.
4.2.2 Implementasi Deteksi Worm Hole Attack
Worm Hole attack dapat dideteksi dengan memperhatikan
keaslian paket RREQ yang diterima dari node tetangga. Untuk
dapat mengetahui keaslian paket RREQ yang diterima, dilakukan
implementasi ECDSA sebagai algoritma digital signature yang
digunakan.
std::vector myneigh(50);
int kirimdari[50][50] = {0};
int kirimke[50][50] = {0};
double forward_eval[50][50] = {0.0};
-
42
Pada Tugas Akhir ini, ECDSA diimplementasikan
menggunakan library OpenSSL. Namun library ini tidak termasuk
ke dalam package NS-2, sehingga diperlukan modifikasi pada
Makefile yang terdapat pada direktori ns2.35. Perubahan yang
dilakukan pada Makefile dapat dilihat pada Gambar 4.15.
Gambar 4.15 Modifikasi Makefile
Setelah melakukan modifikasi Makefile, library OpenSSL
dapat digunakan pada NS-2 dengan memanggil library yang
dibutuhkan. Daftar library OpenSSL yang digunakan untuk
mengimplementasikan ECDSA dapat dilihat pada Gambar 4.16.
Gambar 4.16 Daftar Library OpenSSL yang Digunakan
Untuk menjaga keaslian paket RREQ yang dikirimkan,
maka sebelum suatu node mengirimkan paket RREQ, akan
digenerate signature dari paket RREQ tersebut. Kode untuk
mengenerate signature ini ditambahkan dalam fungsi
LIB = \
-L/home/tities/Documents/TA/ns-allinone-
2.35/tclcl-1.20 -ltclcl -
L/home/tities/Documents/TA/ns-allinone-
2.35/otcl-1.14 -lotcl -
L/home/tities/Documents/TA/ns-allinone-
2.35/lib -ltk8.5 –
L/home/tities/Documents/TA/ns-allinone-
2.35/lib -ltcl8.5 \
-L/usr/include/openssl -lssl -lcrypto\
-lXext -lX11 \
-lnsl -ldl \
-lm -lm
#include
#include
#include
#include
-
43
AODV::sendRequest dan dapat dilihat pada lampiran A.4. Kemudian
signature dari paket RREQ tersebut dicantumkan pada header
packet. Oleh karena itu diperlukan beberapa variabel, diantaranya
adalah char mdString[SHA256_DIGEST_LENGTH*2+1], EC_KEY
*eckey, dan ECDSA_SIG *signature. Variabel mdString digunakan
untuk menyimpan nilai hash dari isi paket. Variabel eckey
digunakan untuk menyimpan public key, sedangkan variabel
signature digunakan untuk menyimpan digital signature. Kode
implementasi perubahan struktur header packet dapat dilihat pada
Gambar 4.17.
Gambar 4.17 Perubahan Struktur Header Packet
Selanjutnya, pada tiap node yang menerima paket RREQ
dari tiap node tetangganya dilakukan verifikasi signature paket.
Beberapa variabel yang dibutuhkan yaitu int verified[50][50],
dan double backward_eval[50][50]. Selain menghitung jumlah
paket RREQ yang diterima, node yang menerima paket juga akan
menghitung jumlah paket RREQ yang terverifikasi keasliannya
dan menyimpan nilainya pada variabel verified[50][50].
Kemudian jumlah paket RREQ yang terverifikasi tersebut
dibandingkan dengan jumlah paket RREQ yang diterima dari tiap
node tetangganya. Nilai perbandingan ini disimpan dalam variabel
backward_eval[50][50]. Nilai dari variabel tersebut akan dijadikan
bahan evaluasi untuk menentukan apakah node tersebut layak
dijadikan nexthop node. Kode implementasi evaluasi ini diletakkan
struct hdr_aodv_request {
...
int record;
char mdString[SHA256_DIGEST_LENGTH*2+1];
EC_KEY *eckey;
ECDSA_SIG *signature;
...
}
-
44
pada fungsi AODV::recvRequest dan dapat dilihat pada lampiran
A.3.
4.2.3 Implementasi Pemilihan Nexthop Node
Setelah mendapatkan nilai perbandingan forward_eval
sebagai hasil deteksi Black Hole attack dan backward_eval sebagai
hasil deteksi Worm Hole attack, langkah selanjutnya adalah
melakukan evaluasi dari kedua nilai perbandingan tersebut untuk
menentukan apakah suatu node layak dijadikan sebagai nexthop
node. Oleh karena itu, dibutuhkan batas nilai sebagai pembanding
dalam menentukan hal tersebut yang dinamakan dengan threshold.
Pada Tugas Akhir ini, nilai threshold yang digunakan adalah 0.7.
Nilai evaluasi yang akan dibandingkan dengan nilai
threshold didapatkan dengan menjumlahkan nilai forward_eval
yang telah dikalikan dengan bilangan desimal random antara 0
sampai 1 dan nilai backward_eval yang juga telah dikalikan dengan
bilangan desimal random antara 0 sampai 1. Kemudian nilai
evaluasi ini disimpan ke dalam variabel double eval_value[50][50].
Sebelum memilih nexthop node, nilai eval_value
dibandingkan dengan nilai threshold terlebih dahulu. Jika nilai
eval_value lebih besar dari nilai threshold, maka node tersebut
layak untuk dijadikan nexthop node. Kemudian nexthop node akan
dipilih sesuai dengan algoritma pada routing protocol AODV. Jika
nilai eval_value lebih kecil atau sama dengan nilai threshold, maka
node tersebut dideteksi sebagai malicious node yang berpotensi
melakukan Black Hole atau Worm Hole attack sehingga secara
otomatis tidak akan mendapat kesempatan untuk dipilih sebagai
nexthop node. Potongan kode untuk pemilihan nexthop node dapat
dilihat pada Gambar 4.18. Kode tersebut diletakkan pada fungsi
AODV::recvRequest dan dapat dilihat pada lampiran A.3.
-
45
Gambar 4.18 Potongan Kode Pemilihan Nexthop Node
4.3 Implementasi Simulasi pada NS-2
Implementasi simulasi VANET diawali dengan
pendeskripsian lingkungan simulasi pada sebuah file tcl. File ini
berisikan konfigurasi setiap node dan langkah-langkah yang
dilakukan selama simulasi. Potongan konfigurasi lingkungan
simulasi dapat dilihat pada Gambar 4.19.
Gambar 4.19 Konfigurasi Lingkungan Simulasi
if(eval_value[(int)myneigh[index][i]][index] >
0.7){
if (rt) rq->rq_dst_seqno = max(rt-
>rt_seqno, rq->rq_dst_seqno);
}
set val(chan) Channel/WirelessChannel
set val(prop) Propagation/TwoRayGround
set val(netif) Phy/WirelessPhy
set val(mac) Mac/802_11
set val(ifq) Queue/DropTail/PriQueue
set val(ll) LL
set val(ant) Antenna/OmniAntenna
set val(ifqlen) 50
set val(nn) 30
set val(rp) AODV
set val(energymodel) EnergyModel
set val(initialenergy) 100
set val(lm) "off"
set val(x) 1700
set val(y) 1700
set val(stop) 200
set val(cp) "traffic"
set val(sc) "scenario.tcl"
-
46
Pada konfigurasi dilakukan pemanggilan terhadap file traffic
yang berisikan konfigurasi node asal dan node tujuan, serta file
skenario yang berisi pergerakan node yang telah digenerate oleh
SUMO. Kode implementasi pada NS-2 dapat dilihat pada lampiran
A.1.
4.3.1 Implementasi Black Hole Attack
Selain konfigurasi lingkungan simulasi dan pergerakan
node, dilakukan juga konfigurasi untuk menugaskan node yang
akan melakukan Black hole attack dan bagaimana node tersebut
melakukan tugasnya sebagai attacker. Konfigurasi dilakukan di
beberapa file, diantaranya file tcl, aodv.h, dan aodv.cc.
Pada file tcl, suatu node ditugaskan menjadi Black hole
attacker dengan memberikan tambahan kode seperti yang
ditunjukkan oleh Gambar 4.20.
Gambar 4.20 Potongan kode untuk menugaskan node sebagai
Black hole attacker
Setelah itu, pada file aodv.h dilakukan modifikasi dengan
menambahkan variabel bool malicious yang digunakan untuk
menandai jika suatu node adalah malicious node yang melakukan
Black hole attack.
Agar node yang ditugaskan menjadi Black hole attacker
dapat melakukan Black hole attack, dilakukan modifikasi pada file
aodv.cc. Modifikasi pertama yang dilakukan adalah mengenali
attacker yang telah dideklarasikan di file tcl. Modifikasi ini
diletakkan pada fungsi AODV::command, kode untuk mengenali
attacker dapat dilihat pada Gambar 4.21.
$ns_ at 0.0 "[$node_(4) set ragent_] hacker"
-
47
Gambar 4.21 Potongan Kode untuk Mengenali Black Hole
Attacker
Selanjutnya menginisialisasi variabel malicious
diletakkan pada fungsi AODV::AODV, inisialisasi dapat dilihat pada
Gambar 4.22.
Gambar 4.22 Inisialisasi Variabel Malicious
Black hole attack dilakukan dengan melakukan drop pada
setiap paket yang diterima. Untuk dapat melakukan itu, dilakukan
modifikasi pada fungsi AODV::rt_resolve dengan menambahkan
kode seperti pada Gambar 4.23.
Gambar 4.23 Potongan Kode untuk Melakukan Drop paket
Selain melakukan drop pada paket, attacker juga
mengirimkan respon kepada node asal sehingga node asal mengira
bahwa paket yang ia kirimkan telah diterima. Untuk dapat
melakukan hal tersebut, dilakukan modifikasi pada fungsi
AODV::recvRequest dengan menambahkan kode seperti pada
Gambar 4.24.
if(strncasecmp(argv[1], "hacker", 6) == 0) {
malicious = true;
return TCL_OK;
}
malicious = false;
if (malicious == true ) {
drop(p, DROP_RTR_ROUTE_LOOP);
return;
}
-
48
Gambar 4.24 Potongan Kode Black Hole Attacker Mengirim
Paket Reply
4.3.2 Implementasi Worm Hole Attack
Sama seperti implementasi Black hole attack, file yang
diperlukan untuk konfigurasi antara lain file tcl, aodv.h dan
aodv.cc. Konfigurasi pertama yang dilakukan adalah dengan
menugaskan suatu node untuk menjadi Worm hole attacker dengan
menambahkan kode pada file tcl seperti pada Gambar 4.25.
Gambar 4.25 Potongan Kode untuk Menugaskan Node sebagai
Worm Hole Attacker
Kemudian pada file aodv.h dilakukan modifikasi dengan
menambahkan variabel bool worm yang digunakan untuk menandai
apakah suatu node adalah malicious node yang melakukan Worm
hole attack.
Selanjutnya dilakukan modifikasi pada file aodv.cc agar
node dapat melakukan Worm