tugas akhir ki141502 › download › pdf › 291463363.pdfviii pada tugas akhir ini didapatkan...

119
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

Upload: others

Post on 03-Feb-2021

13 views

Category:

Documents


0 download

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