• Tidak ada hasil yang ditemukan

Pengembangan Protokol Keamanan pada Jalur Komunikasi Modul Client dan Server Sistem Penilangan Kendaraan Bermotor

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengembangan Protokol Keamanan pada Jalur Komunikasi Modul Client dan Server Sistem Penilangan Kendaraan Bermotor"

Copied!
73
0
0

Teks penuh

(1)

ANINDRA AGENG JIHADO

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(2)

ANINDRA AGENG JIHADO

Skripsi

sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada

Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(3)

Client and Server Module on Vehicle Traffic Ticket System. Under the supervision of ENDANG PURNAMA GIRI.

The current traffic ticket system is still developed on the desktop platform. This desktop application could not provide the real time information needed by the traffic officer to confirm the history data of the traffic offender. Therefore the improvement of the current traffic ticket system is required especially for providing communication protocol between server side and client side in order to ensure the secure information.

This research aims to develop a secure traffic ticket system by implementing RSA and AES algorithm. The main focus of this research is to develop the security protocol for the client side application using RSA and AES algorithm. The RSA algorithm is employed to distribute AES key between server and client. Moreover, the AES algorithm is used to encrypt the traffic offense information distributed from server to client or from client to server.

The results of the security analysis conducted in this research show that the security performance of the new traffic ticket system can be improved in term of confidentiality, data integrity, authentication, and non-repudiation. However, the execution time of the new system is slightly increase (0.4 second) compared to the basic traffic ticket system which is developed without providing the security protocol.

(4)

Menyetujui: Dosen Pembimbing,

Endang Purnama Giri, SKom, MKom NIP. 19821010 200604 1 027

Mengetahui: Ketua Departemen,

Dr Ir Agus Buono, MSi, MKom NIP. 19660702 199302 1 001

(5)

PRAKATA

Alhamdulillahirabbil ‘alamin, segala puji dan syukur penulis panjatkan kepada ALLAH Subhanahu wa ta’ala atas segala curahan rahmat, kasih sayang, hidayah, dan karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir ini yang berjudul Pengembangan Protokol Keamanan pada Jalur Komunikasi Modul Client dan Server Sistem Penilangan Kendaraan Bermotor.

Terima kasih penulis ucapkan kepada semua pihak yang telah membantu dalam penyelesaian tugas akhir ini, antara lain kepada:

1 Kedua orang tua tercinta Ibunda Pepita Sopranita dan Ayahanda Zaenal Arifin yang telah banyak memberikan dukungan, kasih sayang, doa, dan kesabaran.

2 Kedua saudari penulis yaitu Annisa dan Anggita serta si bungsu Iqraya yang telah memberikan tawa dan semangat dalam hari-hari penyelesaian tugas akhir.

3 Bapak Endang Purnama Giri SKom, MKom selaku pembimbing tugas akhir yang telah meluangkan waktunya memberikan bimbingan, dukungan, dan saran selama penelitian tugas akhir.

4 Bapak Dr Wisnu Ananta Kusuma ST, MT dan Bapak Sony Hartono Wijaya S.Kom, Mkom selaku penguji tugas akhir dalam penelitian ini yang telah memberikan begitu banyak pelajaran dan masukan kepada penulis sehingga penulis dapat memperbaiki berbagai kesalahan dalam penelitian.

5 Zissalwa Hafsari untuk semangat, doa, motivasi, dan kesabaran yang tak dapat dijabarkan dengan kata-kata.

6 Tim Polimat, Gaos dan Wikhdal, yang telah banyak memberikan sumbangan saran dan data serta kebersamaan dalam melakukan penelitian.

7 Mas Agus dan Priyo yang telah memberikan tempat dan bantuan pada penulis dalam menyelesaikan penelitian.

8 Seluruh Asaderz yang beranggotakan Dipa, Eko, Ikhsan, Mas Agung, Mas Firda, dan masih banyak lainnya yang tidak dapat disebutkan satu per satu atas dukungan dan bantuan selama penulis berada di Bogor.

9 Tim Joker, Hanif dan Kurni untuk ide-ide segar, ilmu pemrograman Java dan kesempatan berkompetisi di ajang nasional.

10 Teman-teman Ilkomerz 42 tahun-tahun yang indah dalam menuntut ilmu.

11 Seluruh dosen pengajar yang telah mendidik, mengayomi, dan memberikan ilmu-ilmu yang bermanfaat serta seluruf staf pegawai Departemen Ilmu Komputer atas bantuan dan kerjasamanya selama penulis menuntut ilmu beberapa tahun terakhir.

12 Semua pihak yang tidak dapat disebutkan satu per satu.

Akhirnya penulis berharap semoga tulisan ini dapat bermanfaat bagi pihak yang memerlukannya dan yang terlibat dalam penyusunan tugas akhir ini. Amin.

Bogor, Agustus 2012

(6)

RIWAYAT

HIDUP

(7)

DAFTAR ISI

Halaman

DAFTAR TABEL ... vi

DAFTAR GAMBAR ... vi

DAFTAR LAMPIRAN ... vii

PENDAHULUAN... 1

Latar Belakang ... 1

Tujuan ... 1

Ruang Lingkup ... 1

Manfaat Penelitian ... 2

TINJAUAN PUSTAKA ... 2

Kriptografi ... 2

Kriptografi Kunci Publik ... 2

Kriptografi Kunci Simetris ... 2

Padding ... 3

Modus Operasi Algoritme Blok... 3

Electronic Codebook (ECB) ... 3

RSA ... 3

Advanced Encryption Standard (AES) ... 4

Enkripsi AES ... 4

a SubBytes ... 4

b ShiftRows ... 5

c MixColumns ... 5

d AddRoundKey ... 5

Dekripsi AES ... 5

a InvShiftRows ... 6

b InvSubBytes ... 6

c AddRoundKey ... 6

d InvMixColumns ... 6

Ekspansi Kunci ... 6

LightWeight UI Toolkit ... 7

Metode Pengembangan Perangkat Lunak Waterfall ... 7

Analysis of Variance (ANOVA) ... 8

METODOLOGI PENELITIAN ... 8

Perumusan Masalah dan Studi Literatur ... 8

Wawancara ... 8

Pengembangan Perangkat Lunak ... 8

Analisis Kebutuhan Sistem ... 8

Perancangan Sistem dan Perangkat Lunak ... 9

Implementasi dan Pengujian Unit ... 9

Integrasi dan Pengujian Sistem ... 9

Operasi dan Pengelolaan ... 9

Analisis Perbandingan ... 9

Lingkungan Pengembangan ... 9

HASIL DAN PEMBAHASAN ... 9

Analisis Kebutuhan Sistem ... 9

a Deskripsi Umum Sistem ... 9

b Analisis Kebutuhan Pengguna ... 9

c Analisis Kebutuhan Sistem ... 10

d Analisis Pengguna ... 10

e Analisis Keamanan ... 10

(8)

a Perancangan Input ... 10

b Perancangan Output ... 10

c Perancangan Basis Data ... 10

d Perancangan Proses ... 10

e Perancangan Antarmuka... 11

f Perancangan Protokol Keamanan ... 11

Implementasi dan Pengujian Unit ... 12

a Implementasi Basis Data ... 12

b Implementasi Protokol Keamanan ... 13

c Implementasi Antarmuka ... 14

Integrasi dan Pengujian Sistem ... 14

Operasi dan Pengelolaan ... 14

Analisis Keamanan ... 14

a Kerahasiaan ... 14

b Integritas data ... 14

c Autentikasi ... 14

d Non-repudiasi ... 15

Analisis Perbandingan ... 15

KESIMPULAN DAN SARAN ... 16

Kesimpulan ... 16

Saran ... 17

DAFTAR PUSTAKA ... 17

DAFTAR TABEL

Halaman 1 Struktur tabel T_MOBILE ... 13

2 Hasil uji ANOVA ... 16

DAFTAR GAMBAR

Halaman 1 Skema kunci publik ... 2

2 Skema kunci simetris ... 2

3 Skema Electronik Codebook ... 3

4 Proses enkripsi AES ... 4

5 Ilustrasi proses SubBytes ... 5

6 Ilustrasi proses ShiftRows ... 5

7 Contoh AddRoundKey ... 5

8 Proses dekripsi AES ... 6

9 Ilustrasi ekspansi kunci ... 6

10 Proses pengembangan perangkat lunak dengan metode Waterfall ... 7

11 Metodologi penelitian ... 8

12 Diagram alir proses Polimat Mobile menggunakan enkripsi. ... 11

13 Rancangan antarmuka... 11

14 Proses handshake. ... 12

15 Komunikasi antara Polimat Mobile dengan server. ... 13

16 Struktur package com.tilang.koneksi dan package com.tilang.kripto. ... 13

17 Struktur polimat.Package.kripto dan polimatPackage.mobileConnect ... 14

18 Tampilan antarmuka login pada Polimat Mobile... 14

(9)

DAFTAR LAMPIRAN

Halaman

1 Tabel S-Box ... 19

2 Tabel inverse S-Box ... 20

3 Tabel RC[j] ... 21

4 Use case diagram Polimat Mobile ... 22

5 Fungsi aplikasi Polimat Mobile ... 23

6 Implementasi antarmuka Polimat Mobile ... 24

7 Tabel pengujian running time tiap modul fungsi pada Polimat Mobile ... 27

8 Tabel pengujian running time tiap modul fungsi pada Polimat Mobile TE ... 28

9 Hasil tiga nilai tengah dari uji running time Polimat Mobile ... 29

(10)

PENDAHULUAN

Latar Belakang

Penilangan adalah suatu tindakan atas pelanggaran yang dilakukan pengendara kendaraan bermotor di jalan raya. Pada saat ini, penilangan yang dilakukan di wilayah Bogor dilakukan tanpa melakukan pengecekan riwayat penilangan sehingga tindakan penilangan diambil hanya berdasarkan pelanggaran yang terjadi saat itu.

Ketersediaan sarana atau fasilitas yang digunakan dalam proses penilangan mutlak dimiliki untuk memudahkan pihak-pihak yang terkait dengan penilangan. Sarana dan fasilitas yang ada saat ini tidak dapat memenuhi kebutuhan informasi secara cepat dalam kegiatan penilangan di lapangan. Pengambilan data pelanggar dilakukan melalui software desktop yang membutuhkan sebuah komputer dan tidak terhubung secara online. Hal ini menyulitkan petugas dalam melakukan proses penilangan di lapangan karena perangkat yang digunakan tidak portable dan tidak efisien. Masalah tersebut mendasari pengembangan aplikasi Polimat (Police Mobile Application for Traffic Ticket).

Polimat merupakan sistem penilangan digital yang terdiri atas dua subsistem, yaitu server Polimat dan Polimat Mobile. Server Polimat merupakan sistem perangkat lunak berbasis web yang digunakan sebagai pusat pengelolaan data pelanggaran lalu lintas di Polres Bogor dan berfungsi sebagai server (Irwana 2011). Polimat Mobile merupakan aplikasi telepon genggam yang bertindak sebagai client dari Polimat Server. Polimat Mobile memiliki akses terhadap data pelanggaran serta dapat melakukan input data pelanggaran. Polimat Mobile dikembangkan pada platform J2ME.

Polimat Mobile melakukan komunikasi menggunakan General Packet Radio Service

(GPRS) atau layanan komunikasi data pada GSM. Tentunya komunikasi antara client dan

server yang bersifat global melalui internet rentan akan ancaman. Oleh karena itu, diperlukan suatu pengamanan tambahan dalam komunikasi data untuk mencegah terjadinya penyadapan, pencurian informasi, dan penyisipan data. Diperlukan juga suatu protokol untuk mengautentikasi entitas yang saling berkomunikasi. Untuk mengatasi hal tersebut, diterapkan algoritme RSA dan AES sebagai langkah pengamanan komunikasi data antara

server PolimatdanPolimat Mobile pada proses penilangan.

Algoritme RSA adalah algoritme kunci publik dan tanda tangan digital pertama yang ditemukan oleh Rivest, Shamir, dan Adleman pada tahun 1978. Algoritme ini berdasar pada permasalahan matematis, yaitu sulitnya memfaktorkan bilangan yang sangat besar (Stallings 2005). Algoritme RSA pada penelitian ini digunakan pada tahap pertukaran kunci AES.

Advanced Encryption Standard atau yang biasa disingkat AES awalnya bernama algoritme Rijndael merupakan algoritme kunci simetris yang dikembangkan oleh Joan Daemen dan Vincent Rijmen. Salah satu kelebihannya adalah dapat mudah diterima sebagai standar karena bebas royalti dan dapat diimplementasikan dengan mudah di berbagai platform tanpa mengurangi bandwidth secara signifikan (Daemen & Rijmen 2002). Oleh sebab itu AES sangat cocok digunakan di telepon genggam yang memiliki sumber daya terbatas. Pada penelitian ini, algoritme AES digunakan untuk penyandian komunikasi data antara client dan server.

Tujuan

Tujuan dari penelitian ini adalah:

1 Pengembangan Polimat Mobile yang merupakan salah satu sistem dari dua subsistem penilangan digital.

2 Membangun protokol keamanan untuk Polimat dengan menggunakan algoritme RSA dan AES.

3 Menjaga kerahasiaan data selama proses komunikasi antara server Polimat dan Polimat Mobile berlangsung.

Ruang Lingkup

Beberapa lingkup penelitian ini meliputi:

1 Sistem yang dikembangkan merupakan sistem untuk melakukan penilangan secara digital. Secara keseluruhan sistem ini terdiri atas dua subsistem utama yaitu:

a Sistem Mobile digunakan untuk melihat riwayat pelanggar dan mengirimkan data penilangan ke server pada proses penilangan.

(11)

2 Penelitian ini berfokus pada poin a, yaitu pengembangan sistem mobile serta melakukan perlindungan komunikasi data.

3 Spesifikasi sistem dibuat berdasarkan pada alur proses penilangan yang berlaku di wilayah Bogor.

4 Data yang digunakan adalah data yang bersifat dummy.

5 Penerapan algoritme AES menggunakan panjang blok kunci 128 bit yang dibangkitkan secara acak.

6 Perlindungan keamanan dalam komunikasi data hanya menggunakan algoritme RSA dan AES untuk menjaga kerahasiaan data.

Manfaat Penelitian

Manfaat dari penelitian ini adalah dihasilkannya suatu aplikasi yang dapat memenuhi kebutuhan informasi pengguna pada proses penilangan. Penelitian ini juga diharapkan dapat memberi contoh penerapan protokol keamanan komunikasi data menggunakan algoritme RSA dan AES.

TINJAUAN PUSTAKA

Kriptografi

Kriptografi adalah studi teknik matematis yang berkaitan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, autentikasi entitas, dan autentikasi asal data (Menezes et al. 1996). Ilmu kriptografi merupakan alat utama programmer untuk hal yang berkaitan dengan aspek keamanan di dalam aplikasinya.

Ada empat tujuan utama kriptografi menurut Menezes et al. (1996):

1 Kerahasiaan, yaitu layanan untuk menjaga isi informasi hanya untuk yang berhak. 2 Integritas data, yaitu layanan yang berkaitan

terhadap perubahan data.

3 Autentikasi, yaitu layanan yang berkaitan dengan idetifikasi.

4 Non-repudiasi, yaitu layanan yang mencegah suatu entitas melanggar kesepakatan.

Kriptografi Kunci Publik

Kriptografi kunci publik mempunyai kunci yang berbeda untuk melakukan enkripsi dan dekripsi. Kunci untuk enkripsi disebut kunci publik yang nilainya dapat diketahui secara

umum sementara kunci untuk dekripsi disebut kunci privat yang nilainya rahasia. Algoritme kunci publik dapat digunakan untuk kerahasiaan dan autentikasi ataupun keduanya. Skema kunci publik dapat dilihat pada Gambar 1.

Karakteristik penting yang dimiliki algoritme kunci publik adalah tidak layak untuk mencari kunci dekripsi hanya dengan mengetahui algoritme kriptografi dan kunci enkripsi (Stallings 2005).

Gambar 1 Skema kunci publik (Stallings 2005). Salah satu algoritme kunci publik yang terkenal adalah RSA yang juga digunakan pada penelitian ini.

Kriptografi Kunci Simetris

Gambar 2 Skema kunci simetris (Stallings 2005).

Kriptografi secret key atau kunci simetris adalah kriptografi yang hanya melibatkan satu kunci dalam proses enkripsi dan dekripsi. Proses dekripsi dalam kriptografi kunci simetris merupakan kebalikan dari proses enkripsi. Skema kunci simetris dapat dilihat pada Gambar 2.

(12)

Padding

Pada umumnya, plaintext memiliki ukuran yang tidak sama dengan algoritme blok cipher yang digunakan. Hal ini diatasi dengan padding yaitu dengan menambahkan bit tambahan agar ukuran blok semestinya terpenuhi. Tidak ada aturan baku mengenai padding. Semua skema padding dapat digunakan asalkan prosesnya dapat dibalik atau unpadding.

Penelitian ini menggunakan skema penambahan byte dengan karakter ASCII yang mempunyai kode sama dengan jumlah padding yang ditambahkan di blok tersebut. Skema padding dapat ditulis sebagai berikut:

Cpadd = Npadd = 16 - (Plength mod 16)

dengan Cpadd adalah kode ASCII yang

digunakan sebagai padding, Npadd adalah jumlah

padding, dan Plength adalah panjang byte dari

plaintext.

Sebagai contoh apabila plaintext panjangnya 88 bit atau 11 byte, diperlukan 16 – (11 mod 16), yaitu lima byte padding. Kode ASCII 5 ditambahkan sebanyak lima kali pada blok ciphertext.

Modus Operasi Algoritme Blok

Modus operasi algoritme blok merupakan aturan yang memetakan n-bit blok plaintext ke n-bit blok-blok ciphertext, dalam hal ini n merupakan panjang blok. Pada umumnya, blok cipher mengoperasikan blok plaintext dan ciphertext menjadi 64 bit atau lebih (Schneier 1996). Contoh modus operasi algoritme blok adalah Electronic Codebook (ECB), Cipher Block Chaining (CBC), Cipher Feedback (CFB), Output Feedback (OFB), dan Counter (CTR) (Stalling 2005). Penelitian ini menggunakan ECB sebagai modus algoritme blok pada implementasi AES.

Electronic Codebook (ECB)

Gambar 3 Skema Electronic Codebook (Stalling 2005).

Electronic Codebook (ECB) merupakan modus operasi algoritme blok yang mengoperasikan plaintext secara satu blok utuh menggunakan kunci yang sama. Gambar 3 menunjukkan skema dari modus operasi agloritme blok ECB.

Algoritme RSA merupakan algoritme kunci publik yang populer. Nama RSA diambil dari Rivest, Shamir, dan Adleman yang merupakan pengembang algoritme tersebut.

Algoritme ini berdasar pada bilangan prima dan konsep matematika sederhana, yaitu relatif sulit untuk mencari faktor bilangan prima p dan q dari bilangan komposit r. Hal ini cepat dilakukan jika r mempunyai sedikit digit. Akan tetapi, jika digit r melampaui 100, faktor primanya akan sulit dicari.

Langkah-langkah pembuatan kunci publik dan kunci privat algoritme RSA adalah sebagai berikut:

1 Bangkitkan dua bilangan prima p dan q. Kedua bilangan ini bersifat rahasia.

2 Lakukan perkalian n = p x q. Hasil perkalian dapat diketahui orang lain tanpa resiko diketahuinya p dan q.

3 Hitung φ = (p - 1)(q - 1). Bilangan φ bersifat rahasia.

4 Pilih bilangan bulat e dengan 1 < e < φ yang relatif prima terhadap φ. Relatif prima dapat diartikan gcd(e, φ) = 1.

5 Hitung integer d dengan 1 < d < φ sehingga ed

 1 (mod

φ). Perhitungan dapat dilakukan dengan menggunakan algoritme Euclid.

6 Didapat kunci publik adalah pasangan (r, e) dan kunci privat adalah d.

Setelah mendapat kunci publik dan kunci privat, dapat dilakukan enkripsi dan dekripsi. Enkripsi dapat dilakukan dengan menggunakan persamaan:

c = me (mod n)

Dekripsi dapat dilakukan dengan menggunakan persamaan:

(13)

Sebelumnya pesan terlebih dahulu direpresentasikan sebagai integer m dengan m

{0, 1 , 2, ..., n – 1}.

Pada penelitian ini, digunakan library java.math.BigInteger untuk mencari kunci privat dan representasi pesan. Kunci privat dicari dengan cara:

privateKey = publicKey.modInverse(phi)

Pesan yang akan dienkripsi direpresentasikan menjadi BigInteger dengan baris kode berikut:

BigInteger msg = new BigInteger(message)

Advanced Encryption Standard (AES)

Algoritme Rijndael merupakan algoritme pemenang sayembara yang diadakan oleh National Institute of Standards and Technology (NIST). Sayembara tersebut diadakan untuk untuk membuat standar algoritme kriptografi yang baru pengganti Data Encyption Standard atau biasa disingkat DES. Standar baru dinamakan Advanced Encryption Standard (AES). Oleh karena itulah Rijndael juga disebut AES.

Algoritme AES ditemukan oleh Vincent Rijmen dan Joan Daemen. Ada tiga kriteria pada saat Rijndael didesain (Daemen & Rijmen 2002), yaitu:

1 Ketahanan terhadap serangan yang sudah diketahui.

2 Kecepatan dan kode yang compact pada berbagai platform.

3 Desain yang sederhana.

Gambar 4 menunjukkan proses enkripsi pada AES.

Enkripsi AES

Secara umum, algoritme AES melakukan putaran enkripsi sebanyak sepuluh putaran yang terbagi dalam tiga bagian, yaitu initial round, 1-9 round, dan final round. Dilakukan empat proses utama, yaitu: SubBytes, ShiftRows, MixColumns, dan AddRoundKey.

Pada initial round, dilakukan proses AddRoundKey pada state awal yang masih berupa plaintext dengan cipher key. Pada sembilan round berikutnya, akan dilakukan empat proses transformasi, yaitu SubBytes, ShiftRows, MixColumns, dan AddRoundKey. Final round merupakan putaran terakhir yang hanya melibatkan proses transformasi SubBytes, ShiftRows, dan AddRoundKey.

Gambar 4 Proses enkripsi AES (Stalling 2005).

Pada enkripsi dilakukan ekspansi kunci untuk memperoleh round key. Pada round pertama digunakan w[4,7] pada matriks ekspansi kunci sebagai round key pertama.

a SubBytes

Subbytes merupakan tahap subsitusi byte plaintext menggunakan kaidah permutasi S-Box. AES mendefinisikan S-Box (Lampiran 1) sebagai byte matriks 16 x 16 yang memuat semua permutasi yang mungkin dari nilai 8 byte. Hanya ada satu S-Box yang digunakan untuk menyubsitusikan byte pada matriks state di semua round.

(14)

dipetakan sebagai baris A dan kolom 9 pada S-Box yang ternyata memuat nilai heksadesimal {D3}. Subsitusi dilakukan dengan mengganti {A9} dengan {D3}. Lebih jelasnya proses SubBytes dapat dilihat pada Gambar 5.

Gambar 5 Ilustrasi proses SubBytes (Stalling 2005).

b ShiftRows

Proses ShiftRows pada dasarnya menggeser baris pada matriks state dengan aturan sebagai berikut:

1 Baris pertama tidak bergeser (tetap).

2 Baris kedua dilakukan pergeseran secara rotasi satu byte ke kiri.

3 Baris ketiga dilakukan pergeseran secara rotasi dua byte ke kiri.

4 Baris keempat dilakukan pergeseran secara rotasi tiga byte ke kiri.

Pergeseran secara rotasi ke kiri mengakibatkan byte paling kiri berpindah ke byte paling kanan pada dalam satu baris matriks state. Lebih jelasnya diberikan Gambar 6 yang merupakan ilustrasi proses SubBytes.

Gambar 6 Ilustrasi proses ShiftRows (Stalling 2005).

c MixColumns

Proses MixColumns mengoperasikan kolom secara terpisah. Setiap byte kolom dipetakan menjadi nilai baru dengan suatu fungsi yang melibatkan semua nilai pada kolom tersebut. Transformasi didapat dengan melakukan operasi perkalian matriks forward mix columns

dengan matriks state. Lebih jelasnya dapat dilihat pada persamaan berikut (Stalling 2005):

[

Semua operasi penjumlahan dan perkalian untuk masing-masing nilai pada perkalian matriks dilakukan pada ruang lingkup finite field GF(28).

d AddRoundKey

AddroundKey merupakan proses XOR antara matriks state dan matriks round key. Matriks round key merupakan matriks hasil ekspansi kunci yang dibangkitkan pada setiap round. Gambar 7 merupakan contoh dari proses AddRoundKey.

Gambar 7 Contoh AddRoundKey (Stalling 2005).

Dekripsi AES

Alur dekripsi AES kebalikan dari alur enkripsi. Proses transformasi pada dekripsi juga merupakan kebalikan terhadap proses transformasi enkripsi. Perbedaanya adalah pada penjadwalan kunci yang dimulai dari word ke-43 sampai word ke-0.

Pada initial round dilakukan proses AddRoundKey pada state awal yang merupakan ciphertext dengan w[40,43] dari matriks ekspansi kunci. Selanjutnya dilakukan sembilan putaran yang meliputi proses tranformasi InvShiftRows, InvSubBytes, AddRoundKey, dan InvMixColumns. Sementara itu, final round hanya dilakukan proses InvShiftRows, InvSubBytes, dan AddRoundKey.

(15)

dengan matriks state. Lebih jelasnya alur proses dekripsi dapat dilihat pada Gambar 8.

Gambar 8 Proses dekripsi AES (Stalling 2005)

a InvShiftRows

InvShiftRows mengembalikan pergeseran byte yang telah dilakukan oleh forward ShiftRows. InvShiftRows memiliki aturan-aturan sebagai berikut:

1 Baris pertama tidak bergeser (tetap).

2 Baris kedua dilakukan pergeseran secara rotasi satu byte ke kanan.

3 Baris ketiga dilakukan pergeseran secara rotasi dua byte ke kanan.

4 Baris keempat dilakukan pergeseran secara rotasi tiga byte ke kanan.

Pergeseran satu byte ke kanan akan menyebabkan byte paling kanan akan berpindah ke byte paling kiri.

b InvSubBytes

InvSubBytes pada dasarnya sama dengan proses transformasi SubBytes namun menggunakan inverse S-Box alih-alih S-Box.

Inverse S-Box merupakan matriks 16x16 yang memuat nilai antilog dari S-Box. Matriks inverse S-Box dapat dilihat pada Lampiran 2.

c AddRoundKey

AddroundKey pada dekripsi sama dengan AddRoundKey pada enkripsi. AddRoundKey melakukan proses XOR antara matriks state dan round key. Perbedaannya terletak pada round key yang digunakan pada proses enkripsi dan pada proses dekripsi. Sebagai contoh pada round pertama enkripsi, digunakan round key w[4,7] sementara pada round pertama dekripsi digunakan round key w[36,39].

d InvMixColumns

Proses InvMixColumns melakukan operasi perkalian matriks inverse mix columns dengan matriks state. Berikut merupakan persamaan untuk perkalian InvMixColumns:

Operasi penjumlahan dan perkalian untuk masing-masing nilai pada perkalian matriks dilakukan pada ruang lingkup finite field GF(28).

Ekspansi Kunci

Ekspansi kunci merupakan proses pembangkitan round key dari kunci AES. Pembangkitan dilakukan per word sebanyak 44 word. Gambar 9 merupakan ilustrasi proses ekspansi kunci.

(16)

Langkah-langkah ekspansi kunci adalah sebagai berikut:

1 Word pertama (w0) hingga word ke-4 (w3)

merupakan penyalinan langsung dari kunci AES.

2 Word selanjutnya apabila memenuhi persyaratan jika i mod 4 = 0 dengan i merupakan indeks dari word, dilakukan proses sebagai berikut:

 Rot Word

Rot Word merupakan proses pergeseran byte dimana byte yang terletak pada baris paling atas berpindah ke baris paling bawah.

 Sub Word

Sub Word merupakan proses subsitusi byte pada word menggunakan kaidah S-Box.

 XOR

Proses XOR dilakukan pada hasil dari sub word dengan Rcon[i/4]. Rcon merupakan konstanta dengan nilai yang berbeda-beda untuk setiap round. Pembangkitan tabel RC[j] dapat dilihat pada Lampiran 3.

3 Lakukan proses XOR dengan wi-4.

Setelah didapatkan ke-44 word, didapat 11 round key yang masing-masing berisikan empat word. Round key tersebut digunakan pada proses AddRoundKey.

LightWeight UI Toolkit

LightWeight UI Toolkit (LWUIT) merupakan application programming interface (API) yang memudahkan programmer membuat tampilan antarmuka lebih menarik dan lebih dinamis pada aplikasi mobile. Antarmuka menggunakan LWUIT membuatnya beroperasi seragam pada berbagai device.

Pada aplikasi Polimat Mobile, LWUIT digunakan agar tampilan tidak berubah pada berbagai tipe dan sistem operasi telepon genggam yang digunakan.

Metode Pengembangan Perangkat Lunak

Waterfall

Model waterfall mengambil aktivitas proses (spesifikasi, pengembangan, validasi, dan evolusi) lalu merepresentasikannya sebagai fase proses yang terpisah seperti spesifikasi kebutuhan, perancangan perangkat lunak, implementasi, pengujian, dan proses selanjutnya (Sommerville 2007). lunak dengan metode Waterfall (Sommerville 2007).

Gambar 10 merupakan tahapan-tahapan penting dari model Waterfall menurut Sommerville (2007) yang dapat dijabarkan sebagai berikut:

1 Analisis dan definisi kebutuhan. Layanan, batasan, dan tujuan sistem ditetapkan melalui pembicaraan dengan pengguna sistem. Informasi tersebut kemudian didefinisikan secara detail dan menjadi spesifikasi sistem.

2 Perancangan sistem dan perangkat lunak. Perancangan sistem berfungsi untuk menetapkan arsitektur sistem secara keseluruhan. Perancangan perangkat lunak meliputi identifikasi dan deskripsi abstraksi sistem perangkat lunak.

3 Implementasi dan pengujian unit. Pada tahap ini perancangan direalisasikan dalam bentuk unit. Pengujian unit meliputi verifikasi bahwa setiap unit memenuhi spesifikasinya.

4 Integrasi dan pengujian sistem. Seluruh unit perangkat lunak diuji sebagai sebuah sistem secara keseluruhan untuk memastikan bahwa kebutuhan perangkat lunak telah terpenuhi.

5 Operasi dan pengelolaan. Pada tahap ini, sistem telah digunakan. Pemeliharaan meliputi perbaikan error yang tidak diketahui saat tahap sebelumnya, mengoptimalkan implementasi dari tiap unit sistem, dan penambahan layanan baru sesuai kebutuhan sistem.

(17)

Analysis of Variance (ANOVA)

Analysis of Variance merupakan metode statistik untuk mengetahui signifikansi perbedaan rata-rata dari beberapa populasi.

Berdasarkan faktor yang diuji, ANOVA dapat dibagi menjadi dua tipe, yaitu:

1 ANOVA satu arah

Uji ANOVA satu arah hanya melibatkan satu faktor yang mengalami pengulangan sampel.

2 ANOVA dua arah

Uji ANOVA dua arah melibatkan faktor yang mempunyai sub kategori.

METODOLOGI PENELITIAN

Pelaksanaan penelitian ini meliputi beberapa tahapan proses atau aktivitas yang dirangkum dalam suatu metode penelitian yang dapat dilihat pada Gambar 11. Secara garis besar, tahapan penelitian ini adalah (1) Perumusan masalah dan studi literatur, (2) Pengembangan perangkat lunak, dan (3) Analisis perbandingan antara aplikasi yang menerapkan algoritme RSA dan AES dengan aplikasi tanpa enkripsi.

Mulai

Gambar 11 Metodologi penelitian.

Perumusan Masalah dan Studi Literatur

Segala hal yang menjadi alasan perlunya untuk mengembangkan sistem dalam penelitian dirumuskan sehingga akan menjadi alasan-alasan latar belakang dari penelitian ini.

Studi literatur dilakukan dengan mempelajari sumber-sumber tertulis yang

berhubungan dengan penelitian, baik dalam bentuk dokumen, jurnal, text book, maupun electronic book.

Wawancara

Sebelum pengembangan sistem perangkat lunak, dilakukan wawancara untuk mengetahui kebutuhan perangkat lunak. Wawancara dilakukan kepada kepala unit (Kanit) penilangan di Polres Bogor terkait masalah prosedur, data penilangan, dan surat tilang. Beberapa pertanyaan yang penting bagi perolehan informasi dalam penelitian ini adalah:  Bagaimana sistem perangkat lunak

penilangan di Bogor saat ini?

 Bagaimana prosedur penilangan berlangsung?

 Informasi apa yang perlu diketahui petugas tilang sebelum melakukan penilangan?  Informasi apa yang harus disampaikan

petugas tilang pada pelanggar?

 Data apa saja yang harus dicatat dalam surat tilang?

 Bagaimana prosedur pembayaran atau pengadilan bagi pelanggar?

Dari hasil wawancara, diperoleh data yang akan menjadi kebutuhan dan batasan sistem yang akan dikembangkan.

Pengembangan Perangkat Lunak

Perangkat lunak yang dikembangkan terdiri dari server dan client. Server penilangan telah dikembangkan Gaos Irwana (2011), sementara client berupa perangkat lunak mobile dikembangkan pada penelitian ini. Perangkat lunak client dibuat dua buah dengan spesifikasi yang sama dan dengan metode pengembangan perangkat lunak yang sama yaitu melalui metode pengembangan perangkat lunak waterfall. Sistem pertama dibuat dengan menerapkan algoritme RSA dan AES sementara sistem satunya tidak menerapkannya. Hal ini berlaku juga untuk server.

Pada penelitian ini, aplikasi client yang menggunakan enkripsi disebut Polimat Mobile sementara aplikasi tanpa enkripsi seterusnya akan disebut Polimat Mobile TE.

Analisis Kebutuhan Sistem

(18)

batasan, dan tujuan sistem. Pada tahap ini, spesifikasi sistem telah ditetapkan.

Perancangan Sistem dan Perangkat Lunak

Pada tahap ini, akan dirancang suatu representasi sistem yang akan dibuat. Perancangan meliputi perancangan basis data, perancangan alir aplikasi, perancangan antarmuka, dan perancangan protokol keamanan.

Implementasi dan Pengujian Unit

Implementasi algoritme RSA dan AES dilakukan di tahap ini. Implementasi dilakukan di bagian client dan server Polimat Mobile. Implementasi tidak dilakukan pada Polimat Mobile TE.

Integrasi dan Pengujian Sistem

Pengujian dilakukan terhadap sistem penilangan keseluruhan dengan menggunakan metode pengujian black box. Sistem diuji dengan menjalankan simulasi penilangan kendaraan bermotor. Sistem dinyatakan sukses apabila simulasi berjalan tanpa ada kendala. Jika ada proses yang belum berjalan, aplikasi kembali diperbaiki sampai tahap uji mencapai sukses.

Operasi dan Pengelolaan

Operasi dan pengelolaan adalah tahapan pengoperasian dan pengelolaan sistem yang telah dibuat.

Analisis Perbandingan

Analisis perbandingan dilakukan antara sistem yang menggunakan enkripsi dan sistem tanpa enkripsi. Data perbandingan merupakan uji waktu pada setiap fungsi pengiriman dan penerimaan data antara Polimat Mobile dan server Polimat. Analisis perbandingan dilakukan dengan menggunakan Analysis of Variance (ANOVA).

Lingkungan Pengembangan

Lingkungan pengembangan yang digunakan dalam penelitian ini adalah sebagai berikut: Server:

1 Perangkat lunak:

 Windows XP Professional SP 3;  Netbeans IDE 7.0;

 Apache Tomcat 6.0.20;  Oracle 10g Express Edition;  Java version 1.6.0_14.

2 Perangkat keras:

 Prosesor AMD Athlon II 245 2,9 GHz;  Memori 2046 MB;

 HDD 160 GB. Client:

1 Sony Ericsson W660i; 2 Samsung C6625.

HASIL DAN PEMBAHASAN

Peraturan lalu lintas di Indonesia menerapkan bahwa tindakan penilangan dikenakan terhadap pengemudi selaku pelaku pelanggaran bukan terhadap pemilik kendaraan. Penilangan kendaraan bermotor dilakukan menggunakan surat bukti pelanggaran (tilang) berbentuk kertas yang berisi data pelanggar dan data pelanggaran. Riwayat pelanggar terkait pelanggaran lalu lintas perlu diketahui terlebih dahulu sebelum melakukan penilangan. Hal ini akan menentukan langkah apa yang harus diambil oleh polisi dalam menindak pelanggar. Saat ini, belum ada sistem penilangan kendaraan bermotor yang terhubung secara online, untuk itulah diperlukan aplikasi penilangan digital yang memudahkan penilangan.

Polimat merupakan aplikasi penilangan digital yang dimaksudkan untuk memudahkan petugas dalam melakukan proses tilang. Petugas dapat mengambil tindakan yang sesuai berdasarkan informasi riwayat pelanggaran.

Analisis Kebutuhan Sistem

Analisis yang dilakukan berdasarkan hasil dari wawancara, prosedur penilangan, dan studi literatur. Hal yang perlu dianalisis pada tahap ini adalah sebagai berikut:

a Deskripsi Umum Sistem

Polimat Mobile adalah sistem perangkat lunak pada telepon genggam yang digunakan sebagai alat bantu untuk melakukan penilangan kendaraan bermotor di Polres Bogor. Polimat Mobile membantu petugas dalam menampilkan riwayat pelanggar dan mengirimkan data terkait pelanggaran yang dilakukan ke server Polimat melalui koneksi internet. Pertukaran data antara Polimat Mobile dan server Polimat dilakukan secara rahasia dengan menggunakan enkripsi.

b Analisis Kebutuhan Pengguna

(19)

 Menampilkan lima riwayat pelanggaran terakhir.

 Menampilkan detail dari pelanggaran yang telah dilakukan pelanggar.

Input data terkait pelanggaran yang dilakukan untuk dikirimkan ke server Polimat.

Lampiran 4 menunjukkan use case diagram Polimat Mobile.

c Analisis Kebutuhan Sistem

Polimat Mobile bertujuan membantu polisi melakukan proses penilangan secara cepat dan aman. Tujuan tersebut dipenuhi dengan melakukan analisis kebutuhan yang terdapat pada sistem.

Kebutuhan sistem diterjemahkan menjadi fungsi-fungsi yang meliputi keamanan data dan kebutuhan pengguna. Daftar fungsi-fungsi yang dapat dikerjakan Polimat Mobile dapat dilihat pada Lampiran 5.

d Analisis Pengguna

Pengguna Polimat Mobile merupakan polisi yang telah terdaftar pada server Polimat. Pengguna dapat mencari data pelanggar berdasarkan Single Identity Number (SIN), melihat riwayat pelanggaran, dan melakukan input data pelanggaran. Pengguna tidak dapat mengubah data pelanggar maupun data pelanggaran.

e Analisis Keamanan

Polimat Mobile terhubung dengan server menggunakan internet. Informasi yang dikirim maupun yang diterima tentunya rentan terhadap serangan apabila tidak dilakukan pengamanan.

Keamanan informasi Polimat Mobile dilandasi pada empat tujuan kriptografi yaitu: 1 Kerahasiaan

Data surat tilang bersifat rahasia terjaga dari pihak-pihak yang tidak berwenang.

2 Integritas data

Data surat tilang harus dijamin integritasnya tanpa ada manipulasi dari pihak-pihak yang tidak berwenang.

3 Autentikasi

Server Polimat dan Polimat Mobile harus saling mengidentikasi dirinya satu sama lain sehingga informasi dapat teridentifikasi. Sistem juga harus mengautentikasi pengguna Polimat Mobile untuk keperluan lebih lanjut.

4 Non-repudiasi

Non-repudiasi mencegah polisi untuk mengingkari penilangan yang dilakukannya.

Perancangan Sistem dan Perangkat Lunak

Proses perancangan dilakukan untuk menerjemahkan hasil analisis kebutuhan menjadi rancangan abstrak atau visual dari Polimat Mobile.

a Perancangan Input

Polimat Mobile dirancang pada telepon genggam yang memiliki keyboard fisik namun beberapa telepon genggam yang memiliki layar sentuh juga dapat menggunakannya. Segala bentuk interaksi dilakukan dengan cara menekan tombol atau mengisi form melalui keyboard atau layar sentuh.

b Perancangan Output

Output Polimat Mobile ditampilkan dalam bentuk form dan dialog. Polimat Mobile mendukung semua resolusi layar untuk mengantisipasi resolusi layar telepon genggam yang berbeda-beda. Hal ini dimungkinkan dengan digunakannya LWUIT.

c Perancangan Basis Data

Basis data pada server Polimat (Irwana 2011) dikembangkan tanpa adanya tabel untuk telepon genggam. Oleh karena itu, perlu ditambahkan untuk menyimpan daftar telepon genggam dan kunci RSA yang telah didaftarkan.

d Perancangan Proses

Alur proses Polimat Mobile yang menggunakan enkripsi dan tanpa enkripsi sedikit berbeda. Perbedaannya terletak pada fungsi handshake yang tidak dimiliki Polimat Mobile TE. Fungsi handshake bertujuan mengautentikasi kedua belah pihak yang melakukan komunikasi. Handshake juga berfungsi mengirimkan kunci AES yang digunakan untuk mengenkripsi semua informasi yang ditukar selama proses penilangan berlangsung. Jika handshake gagal, maka aplikasi akan langsung keluar.

(20)

Mulai

Gambar 12 Diagram alir proses Polimat Mobile menggunakan enkripsi.

Username dan password yang dimasukkan pada halaman login kemudian akan dicari dan dicocokkan pada database server Polimat. Apabila sesuai, pengguna akan dihadapkan dengan menu utama Polimat Mobile. Menu utama terdiri atas Pencarian SIN, Bantuan, Tentang Aplikasi, Logout, dan Exit. Pencarian SIN digunakan untuk mencari riwayat penilangan yang dilakukan pelanggar berdasarkan nomor SIN.

Setelah melihat riwayat, barulah pembuatan surat tilang dapat dilakukan dengan mengisi form pemrosesan. Halaman pemrosesan merupakan halaman tempat pengguna memasukkan data pelanggar. Pelanggar dapat memilih antara slip biru atau slip merah. Pada slip biru, perlu dilakukan input alamat bank yang digunakan pelanggar untuk membayar denda, sementara pada slip merah pengguna perlu melakukan input data terkait sidang.

Nomor tilang didapatkan dari server Polimat ketika penilangan selesai dilakukan dan secara otomatis data pelanggaran akan tersimpan di server. Diagram alir proses Polimat Mobile menggunakan enkripsi dapat dilihat pada Gambar 12.

e Perancangan Antarmuka

Perancangan antarmuka pada Polimat Mobile cukup sederhana. Antarmuka terbagi menjadi dua bagian, yaitu judul halaman dan isi halaman. Gambar 13 merupakan bentuk rancangan antarmuka.

Judul

Isi Halaman

Gambar 13 Rancangan antarmuka.

f Perancangan Protokol Keamanan

Pertukaran informasi antara server dan Polimat Mobile bersifat rahasia. Informasi yang dikirimkan haruslah aman dari pihak-pihak yang tidak berwenang. Oleh sebab itu, perlu dirancang protokol untuk mengamankan komunikasi data.

(21)

ID diperlukan untuk mengidentifikasi aplikasi Polimat Mobile yang melakukan input data penilangan sementara kunci RSA digunakan pada proses handshake.

Handshake merupakan proses distribusi kunci AES antara Polimat Mobile dan server. AES digunakan sebagai algoritme penyandian pesan selama proses penilangan berlangsung.

Langkah-langkah dari handshake diproyeksikan pada Gambar 14. Tiap langkah dapat dijelaskan sebagai berikut:

1 E(PUb,[N1||IDA])

Polimat Mobile (client) menggunakan kunci publik server untuk mengirimkan pesan yang berisikan identitas aplikasi (IDA)

dan nonce 1 (N1) ke server yang

menandakan transaksi. Nonce 1 (N1)

merupakan angka acak yang dibangkitkan oleh client. Server kemudian mendekripsinya dengan menggunakan kunci private server lalu mendapatkan N1 dan ID

client. Server memerlukan ID dari client untuk mengetahui kunci RSA client. Kunci tersebut digunakan untuk mengenkripsi data yang akan dikirimkan ke client.

2 E(PUa,[N1||N2])

Server membangkitkan nonce 2 (N2)

secara acak lalu mengirimkan bersama N1

yang sebelumnya dienkripsi menggunakan kunci publik client. Setelah client menerima, dilakukan enkripsi untuk mendapatkan N1

lalu client akan langsung membandingkan N1 miliknya. Apabila sama, server

terautentikasi oleh client, namun jika tidak sama, komunikasi tidak akan dilanjutkan.

3 E(PUb,N2)

Client mengembalikan N2 yang telah

dienkripsi dengan kunci publik server

dengan tujuan untuk mengautentikasi dirinya. Server mendekripsinya, kemudian membandingkan dengan N2 miliknya. Jika sesuai, server akan mengirimkan respons berhasil. Jika tidak sesuai, server akan mengirimkan respons gagal.

4 E(PUb,E(PRa,KunciAES))

Setelah mendapatkan respons berhasil, client akan membangkitkan kunci AES lalu mengenkripsinya menggunakan kunci privat client kemudian mengenkripsinya lagi dengan menggunakan kunci publik server. Penggunaan kunci privat client yaitu sebagai tanda tangan digital client sementara penggunaan kunci publik server

dimaksudkan agar hanya server yang mampu mendekripsinya. Server mendekripsi pesan menggunakan kunci privatnya lalu mendekripsinya kembali dengan menggunakan kunci publik Polimat Mobile. Setelah kunci AES diperoleh, server akan mengirimkan respons yang menyatakan handshake berhasil. Respons tersebut dienkripsi menggunakan kunci AES yang didistribusikan. Jika berhasil, seharusnya client dapat mendekripsinya dan jika gagal, client menyatakan handshake gagal dan aplikasi akan keluar. Setiap komunikasi data yang terjadi selanjutnya terlebih dahulu dienkripsi menggunakan algoritme AES 128 bit.

Telepon

Gambar 14 Proses handshake.

Implementasi dan Pengujian Unit

Polimat Mobile dikembangkan menggunakan platform Java 2 Micro Edition (J2ME). Oleh karena itu, aplikasi ini hanya dapat dijalankan pada telepon genggam yang mendukung J2ME.

Pada tahap ini, dilakukan proses implementasi terhadap semua perancangan yang dilakukan pada tahap sebelumnya, dan kemudian dilakukan pengujian dari hasil implementasi tersebut. Tahap implementasi untuk Polimat Mobile terdiri atas:

a Implementasi Basis Data

(22)

tabel yang ditambahkan untuk Polimat Mobile terlihat pada Tabel 1.

Tabel 1 Struktur tabel T_MOBILE

Field Tipe Keterangan

mobile_id Varchar2(4000) ID telepon genggam pu_k Varchar2(4000) Kunci publik modulus Varchar2(4000) modulus pr_k Varchar2(4000) Kunci privat hash Varchar2(4000) Hash kunci

privat

b Implementasi Protokol Keamanan

User Nomor tilang dari riwayat pelanggar

Detail dari penilangan

Gambar 15 Komunikasi antara Polimat Mobile dengan server.

Informasi yang dikirim antara server dan client berbentuk objek. Objek informasi ini diserialisasi menjadi aliran byte, lalu dienkripsi menggunakan algoritme AES pada bagian client dengan method:

byte[] data = pol.serialize(); data = aes.Encrypt(data);

Objek Pol merupakan informasi berisi NIP, sandi, dan lokasi tilang yang akan dikirimkan ke

server. Pol.serialize() merupakan method yang akan menserialisasi objek tersebut menjadi aliran byte, sementara aes.Encrypt(data) merupakan method penyandian pesan menggunakan AES.

Saat data diterima, server melakukan dekripsi dan deserialisasi menggunakan method:

data = aes.Decrypt(data); pol.deserialize(data);

Method aes.Decrypt(data) akan mendekripsi data menjadi aliran byte lalu akan diubah kembali menjadi objek menggunakan method pol.deserialize(data). Secara umum, komunikasi antara client dan server terlihat pada Gambar 15.

Implementasi dilakukan di kedua belah pihak baik client maupun server. Pada client, terdapat package com.tilang.kripto yang memuat kelas untuk algoritme RSA dan AES dan kelas untuk menyimpan kunci. Kelas-kelas yang difungsikan sebagai informasi yang akan dikirimkan ke server disimpan pada package com.tilang.koneksi. Gambar 16 menunjukkan struktur dari package com.tilang.kripto dan com.tilang.koneksi.

(23)

Gambar 17 Struktur package pada server.

c Implementasi Antarmuka

Rancangan antarmuka Polimat Mobile diimplementasikan menggunakan bahasa pemrograman Java ME dengan menggunakan LWUIT. Adanya LWUIT memudahkan pembuatan antarmuka untuk berbagai resolusi layar telepon genggam.

Gambar 18 Tampilan antarmuka login pada Polimat Mobile.

Gambar 18 merupakan antarmuka saat pengguna melakukan login. Judul terletak pada bagian paling atas sementara isi halaman di bawahnya. Tombol aksi diletakan paling bawah.

Bagian kiri merupakan tombol bantuan penggunaan aplikasi dan bagian kanan merupakan tombol keluar dari aplikasi. Lampiran

6 memuat antarmuka Polimat Mobile.

Integrasi dan Pengujian Sistem

Server Polimat terlebih dahulu dilakukan deploy untuk melakukan pengujian. Pengujian dilakukan programmer Polimat Mobile menggunakan telepon genggam dengan menyimulasikan penilangan. Penilangan dilakukan dengan beberapa perubahan variabel input untuk melihat hasil output yang mungkin akan tampil.

Operasi dan Pengelolaan

Operasi dan pengelolaan dilakukan saat sistem telah digunakan. Pada tahap ini dilakukan pemeliharaan, perbaikan ataupun pengembangan sistem.

Analisis Keamanan

a Kerahasiaan

Kerahasiaan merupakan salah satu tujuan penting dalam kriptografi. Tentunya, pihak yang tertilang tidak menginginkan data kesalahannya diketahui oleh pihak lain. Untuk memenuhi tujuan ini, Polimat Mobile mengimplementasikan algoritme AES yang mampu mengenkripsi data sehingga terjamin kerahasiaannya.

Pada aplikasi ini algoritme AES menggunakan kunci 128 bit yang diganti setiap kali pengguna melakukan login. Distribusi kunci tersebut dilakukan dengan menggunakan algoritme kunci publik RSA.

b Integritas data

Dengan digunakannya kunci simetris AES, integritas data terjaga. Hal ini dikarenakan hanya pihak yang memiliki kunci yang dapat bertukar pesan. Jika ada manipulasi data, baik penambahan, penghapusan, atau penyisipan, sistem akan terjadi error dalam penerimaan pesan sehingga komunikasi tidak akan dilanjutkan.

c Autentikasi

(24)

Sehingga hanya pengguna yang sudah terdaftar yang dapat menggunakan aplikasi ini.

d Non-repudiasi

Non-repudiasi adalah prinsip kriptografi yang tujuannya adalah untuk mencegah terjadinya penyangkalan terhadap komitmen yang telah disepakati oleh pihak yang berkomunikasi. Setiap kali pengguna akan melakukan penilangan, server akan mencatat Nomor Induk Polisi (NIP) sehingga mencegah penyangkalan penilangan yang dilakukan oleh polisi.

Analisis Perbandingan

Pengujian running time dalam komunikasi data antara Polimat Mobile dan server dilakukan untuk mengetahui perbedaan waktu antara aplikasi Polimat Mobile dan Polimat Mobile TE. Pengujian dilakukan pada telepon genggam dengan memasukkan baris kode sebagai penghitung running time. Pengujian dimulai saat enkripsi dilakukan dan berakhir pada saat data telah diterima dan didekripsi oleh Polimat Mobile. Perangkat keras yang digunakan pada pengujian yaitu telepon genggam Sony Ericsson w660i dengan koneksi 3G yang telah dipasang aplikasi Polimat Mobile dan Polimat Mobile TE. Pengujian dilakukan pada setiap modul fungsi koneksi dan diulang sebanyak sepuluh kali. Lampiran 7 memuat hasil uji running time Polimat Mobile sementara Lampiran 8 memuat hasil uji running time Polimat Mobile TE.

Dari hasil uji, diambil tiga nilai tengah dari sampel running time. Lampiran 9 memuat tiga sampel running time dan besar data untuk setiap proses pengiriman data pada Polimat Mobile.

Lampiran 10 memuat tiga sampel running time dan besar data untuk Polimat Mobile TE. Grafik perbandingan rata-rata antara Polimat Mobile dengan Polimat Mobile TE dapat dilihat pada

Gambar 19.

Perbedaan besar yang terjadi pada penggunaan enkripsi atau tidak adalah adanya handshake. Polimat Mobile terlebih dahulu melakukan handshake dengan maksud mendapatkan kunci AES. Berdasarkan hasil uji, running time handshake berkisar antara 22764 ms dan 24094 ms. Besar data yang dikirimkan bervariasi antara 709 sampai 712 byte. Hal ini tidak dimasukkan dalam perhitungan ANOVA karena handshake dilakukan hanya sekali pada saat aplikasi dijalankan dan tidak dilakukan pada Polimat Mobile TE.

Simulasi tilang dilakukan menggunakan username admin pada Polimat Mobile. Besar data yang dikirimkan Polimat Mobile saat melakukan login adalah 44 byte sementara pada Polimat Mobile TE sebesar 69 byte. Perbedaan besar data terjadi karena pengiriman session dilakukan pada saat login di Polimat Mobile TE sementara session dikirim pada saat melakukan handshake pada Polimat Mobile.

Fungsi melihat riwayat, detail riwayat, dan input pelanggaran dilakukan berdasarkan kemungkinan yang ada yaitu masing-masing lima untuk melihat perbedaan running time dan besar data koneksi. Laju pertumbuhan besar data pada Polimat Mobile dan Polimat Mobile TE mengalami kenaikan namun laju petumbuhan running time tidak linear. Hal ini disebabkan oleh variabel tak terkontrol seperti kekuatan sinyal, beban prosesor telepon genggam, beban server, dan beban jaringan. Koneksi GPRS yang tidak stabil sering

Gambar 19 Diagram waktu pengujian setiap fungsi menggunakan enkripsi dan tanpa enkripsi. 0

0 History 1 History 2 History 3 History 4 History 5 History 1 Pasal 2 Pasal 3 Pasal 4 Pasal 5 Pasal 1 Pasal 2 Pasal 3 Pasal 4 Pasal 5 Pasal

Login History Detail History Input Data

R

Modul Fungsi Polimat Mobile

(25)

Tabel 2 Hasil uji ANOVA

Source of

Variation SS df MS F P-value F crit

Sample 39,23353851 16 2,452096157 350,556231 9,58902E-59 1,794556249 Columns 0,490048039 1 0,490048039 70,05817987 4,66389E-12 3,981896256 Interaction 0,258491961 16 0,016155748 2,309655742 0,008917519 1,794556249 Within 0,475651333 68 0,006994873

Total 40,45772984 101

membuat pengiriman data sangat lama ataupun gagal dilakukan. Faktor-faktor inilah yang menyebabkan running time memiliki keragaman besar.

Berdasarkan Gambar 19, terlihat bahwa running time Polimat Mobile selalu lebih lambat daripada running time Polimat Mobile TE. Bisa disimpulkan bahwa penggunaan enkripsi membuat proses berjalan lebih lama namun perbedaannya tidak signifikan. Hal ini merupakan hipotesis nol yang akan diujikan melalui ANOVA. Uji ANOVA dilakukan untuk mengetahui signifikansi perbedaan running time antara Polimat Mobile dan Polimat Mobile TE. Sebelumnya ditentukan taraf nyata sebesar 5% atau 0.05 dan hipotesis yaitu:

H0 : Running time antara Polimat Mobile dan

Polimat Mobile TE tidak berbeda signifikan

H1 : Running time antara Polimat Mobile dan

Polimat Mobile TE berbeda signifikan Berdasarkan hasil uji didapat data seperti pada

Tabel 2.

Berdasarkan Tabel 2, terlihat bahwa nilai F pada baris sampel (fungsi) sebesar 350.3556231. Nilai F menyatakan seberapa besar tingkat keragaman running time fungsi. Nilai F pada sampel jauh lebih besar dari nilai F kirits yang hanya sebesar 1.794556249 yang berarti adanya perbedaan signifikan running time pada dua fungsi atau lebih.

Hal ini juga berlaku pada metode koneksi. Pada baris kolom nilai F sebesar 70.05817987 melampaui nilai F kritis yang hanya sebesar 3.981896256. Nilai ini menyiratkan bahwa adanya pebedaan signifikan antara penggunaan metode koneksi yang dilakukan.

Baris interaksi memuat informasi mengenai interaksi antara fungsi yang dijalankan dengan metode koneksi. Nilai F sebesar 2.309655742 lebih besar dari nilai F kritis 1.794556249. Nilai P-value juga lebih kecil dari taraf nyata yang telah ditetapkan sebelumnya. Dari dua hal

tersebut, dapat diambil kesimpulan bahwa

terjadi interaksi signifikan antara fungsi dan metode koneksi.

Melalui ANOVA, dapat diambil keputusan untuk menolak H0 dan menerima H1. Terjadi

perbedaan signifikan antara Polimat Mobile dan Polimat Mobile TE.

Walaupun menurut ANOVA terjadi signifikansi perbedaan, namun sebetulnya perbedaan running time terbesar hanya 420.33 ms atau sekitar 0.4 detik. Nilai tersebut cukup kecil untuk dapat dirasakan pengguna. Perbedaan mencolok terjadi pada saat fungsi handshake dilakukan yaitu sekitar 23470 ms.

KESIMPULAN DAN SARAN

Kesimpulan

Integrasi Polimat Mobile dengan server Polimat berhasil dilakukan. Implementasi algoritme RSA dan AES membuat sistem Polimat lebih aman. Hasil analisis keamanan menunjukkan bahwa penggunaan algoritme tersebut membuat sistem mampu memenuhi tujuan dasar kriptografi yaitu kerahasiaan, integritas data, autentikasi entitas, dan non-repudiasi. Penerapan protokol keamanan pada Polimat membuat sistem membutuhkan tenaga komputasi lebih yang berakibat pada meningkatnya running time aplikasi khususnya pada Polimat Mobile yang mempunyai sumber daya terbatas.

Analisis perbandingan running time

menggunakan ANOVA menunjukkan bahwa terjadi perbedaan signifikan antara adanya dan tidak adanya penggunaan algoritme AES. Akan tetapi, perbedaan running time terbesar terjadi pada proses handshake. Fungsi handshake tidak dijalankan pada Polimat Mobile TE. Proses

(26)

Saran

Polimat Mobile telah dikembangkan secara khusus untuk platform J2ME namun dengan perkembangan platform telepon genggam yang semakin beragam perlu dikembangkannya Polimat Mobile pada platform lain seperti BBOS, IOS, dan Android.

Implementasi AES pada penelitian ini hanya menggunakan panjang kunci 128 bit dan modus operasi Electronic Code Book (ECB). Dikarenakan kemajuan teknologi komputasi telepon genggam semakin canggih, untuk penelitian selanjutnya penggunaan panjang kunci 192 bit atau 256 bit dapat dianalisis. Modus operasi blok dapat menggunakan alternatif lain seperti Cipher Block Chaining (CBC), Cipher Feedback (CFB), Output Feedback (OFB), dan Counter (CTR).

DAFTAR PUSTAKA

Daemen J, Rijmen V. 2002. The Design of Rijndael. Berlin: Springer-Verlag Berlin Heidelberg.

Menezes A, Oorschot PV, Vanstone S. 1996. 1996. Handbook of Applied Cryptography. Boca Raton: CRC Press, Inc.

Irwana G. 2011. Penerapan Crud Pattern Dalam Server Sistem Penilangan Kendaraan Bermotor Polres Bogor [skripsi]. Bogor: Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.

Schneier B. 1996. Applied Cryptography: Protocols, Algorithms and Source Code in C Ed ke-2. New York: John Wiley & Sons, Inc.

Sommerville I. 2007. Software Engineering Ed ke-8. Harlow: Pearson Education Limited. Stalling W. 2005. Cryptography and Network

(27)
(28)

Lampiran 1 Tabel S-Box

0 1 2 3 4 5 6 7 8 9 A B C D E F

(29)

Lampiran 2 Tabel inverse S-Box

0 1 2 3 4 5 6 7 8 9 A B C D E F

(30)

Lampiran 3 Tabel RC[j]

RC[j] merupakan bilangan heksadesimal, sementara j merupakan bilangan desimal. Langkah pembangkitan tabel RC[j]:

1. Inisialisasi RC[1] = 01 2. Hitung RC[j] = 2 * RC[j-1]

Operasi * merupakan perkalian dalam GF(28) Contoh:

RC[1] = 01 (inisialisasi) RC[2] = 2 * RC[2-1]

= 2 * RC[1] = 2 * 01 = 02

RC[9] = 2 * RC[9-1] = 2 * RC[8] = 2 * 80 = 100

Dilakukan operasi mod terhadap polinomial irreducible GF(28) yaitu x8 + x4 + x3 + x + 1 yang dalam biner menjadi 100011011 atau 11B dalam heksadesimal.

= 100 mod 11B = 1B

RC[10] = 2 * RC[10-1] = 2 * RC[9] = 2 * 1B = 36

j 1 2 3 4 5 6 7 8 9 10

(31)

Lampiran 4 Use case diagram Polimat Mobile

Polimat Mobile

Input Data Pelanggaran Polisi

Lihat Riwayat Pelanggaran

Lihat Detail Riwayat Pelanggaran

Input Data Slip Merah

Input Data Slip Biru

<<extend >>

<<extend>>

(32)

Lampiran 5 Fungsi aplikasi Polimat Mobile

Kode fungsi Deskripsi

[POLIMATM-001] Melakukan autentikasi terhadap server [POLIMATM-002] Mendistribusikan kunci AES kepada server

[POLIMATM-003] Melakukan enkripsi pada setiap data yang dikirimkan ke server [POLIMATM-004] Melakukan dekripsi pada setiap data yang diterima dari server [POLIMATM-005] Melakukan serialisasi pada setiap data yang dikirimkan ke server [POLIMATM-006] Melakukan deserialisasi pada setiap data yang diterima dari server [POLIMATM-007] Melakukan autentikasi terhadap pengguna (login)

[POLIMATM-008] Mencari riwayat penilangan berdasarkan SIN [POLIMATM-009] Melihat detail riwayat penilangan

(33)

Lampiran 6 Implementasi Antarmuka Polimat Mobile 1. Halaman login

2. Halaman menu utama

(34)

Lanjutan

4. Halaman riwayat pelanggaran

5. Halaman detail riwayat pelanggaran

(35)

Lanjutan

7. Halaman slip biru

8. Halaman slip merah

(36)

Lampiran 7 Tabel pengujian running time tiap modul fungsi pada Polimat Mobile

No. 1.Hand

shake 2.Login

3. History 4. Detail History 5. Input Data

0

Hist. 1

Hist. 2

Hist. 3

Hist.

4

Hist.

5

Hist. 1 Pasal

2 Pasal

3 Pasal

4 Pasal

5 Pasal

1 Pasal

2 Pasal

3 Pasal

4 Pasal

5 Pasal

(37)

Lampiran 8 Tabel pengujian running time tiap modul fungsi pada Polimat Mobile TE

No. 1.Hand

shake 2.Login

3. History 4. Detail History 5. Input Data

0

Hist. 1

Hist. 2

Hist. 3

Hist. 4

Hist. 5

Hist. 1 Pasal

2 Pasal

3 Pasal

4 Pasal

5 Pasal

1 Pasal

2 Pasal

3 Pasal

4 Pasal

5 Pasal

(38)
(39)
(40)
(41)

Client and Server Module on Vehicle Traffic Ticket System. Under the supervision of ENDANG PURNAMA GIRI.

The current traffic ticket system is still developed on the desktop platform. This desktop application could not provide the real time information needed by the traffic officer to confirm the history data of the traffic offender. Therefore the improvement of the current traffic ticket system is required especially for providing communication protocol between server side and client side in order to ensure the secure information.

This research aims to develop a secure traffic ticket system by implementing RSA and AES algorithm. The main focus of this research is to develop the security protocol for the client side application using RSA and AES algorithm. The RSA algorithm is employed to distribute AES key between server and client. Moreover, the AES algorithm is used to encrypt the traffic offense information distributed from server to client or from client to server.

The results of the security analysis conducted in this research show that the security performance of the new traffic ticket system can be improved in term of confidentiality, data integrity, authentication, and non-repudiation. However, the execution time of the new system is slightly increase (0.4 second) compared to the basic traffic ticket system which is developed without providing the security protocol.

(42)

PENDAHULUAN

Latar Belakang

Penilangan adalah suatu tindakan atas pelanggaran yang dilakukan pengendara kendaraan bermotor di jalan raya. Pada saat ini, penilangan yang dilakukan di wilayah Bogor dilakukan tanpa melakukan pengecekan riwayat penilangan sehingga tindakan penilangan diambil hanya berdasarkan pelanggaran yang terjadi saat itu.

Ketersediaan sarana atau fasilitas yang digunakan dalam proses penilangan mutlak dimiliki untuk memudahkan pihak-pihak yang terkait dengan penilangan. Sarana dan fasilitas yang ada saat ini tidak dapat memenuhi kebutuhan informasi secara cepat dalam kegiatan penilangan di lapangan. Pengambilan data pelanggar dilakukan melalui software desktop yang membutuhkan sebuah komputer dan tidak terhubung secara online. Hal ini menyulitkan petugas dalam melakukan proses penilangan di lapangan karena perangkat yang digunakan tidak portable dan tidak efisien. Masalah tersebut mendasari pengembangan aplikasi Polimat (Police Mobile Application for Traffic Ticket).

Polimat merupakan sistem penilangan digital yang terdiri atas dua subsistem, yaitu server Polimat dan Polimat Mobile. Server Polimat merupakan sistem perangkat lunak berbasis web yang digunakan sebagai pusat pengelolaan data pelanggaran lalu lintas di Polres Bogor dan berfungsi sebagai server (Irwana 2011). Polimat Mobile merupakan aplikasi telepon genggam yang bertindak sebagai client dari Polimat Server. Polimat Mobile memiliki akses terhadap data pelanggaran serta dapat melakukan input data pelanggaran. Polimat Mobile dikembangkan pada platform J2ME.

Polimat Mobile melakukan komunikasi menggunakan General Packet Radio Service

(GPRS) atau layanan komunikasi data pada GSM. Tentunya komunikasi antara client dan

server yang bersifat global melalui internet rentan akan ancaman. Oleh karena itu, diperlukan suatu pengamanan tambahan dalam komunikasi data untuk mencegah terjadinya penyadapan, pencurian informasi, dan penyisipan data. Diperlukan juga suatu protokol untuk mengautentikasi entitas yang saling berkomunikasi. Untuk mengatasi hal tersebut, diterapkan algoritme RSA dan AES sebagai langkah pengamanan komunikasi data antara

server PolimatdanPolimat Mobile pada proses penilangan.

Algoritme RSA adalah algoritme kunci publik dan tanda tangan digital pertama yang ditemukan oleh Rivest, Shamir, dan Adleman pada tahun 1978. Algoritme ini berdasar pada permasalahan matematis, yaitu sulitnya memfaktorkan bilangan yang sangat besar (Stallings 2005). Algoritme RSA pada penelitian ini digunakan pada tahap pertukaran kunci AES.

Advanced Encryption Standard atau yang biasa disingkat AES awalnya bernama algoritme Rijndael merupakan algoritme kunci simetris yang dikembangkan oleh Joan Daemen dan Vincent Rijmen. Salah satu kelebihannya adalah dapat mudah diterima sebagai standar karena bebas royalti dan dapat diimplementasikan dengan mudah di berbagai platform tanpa mengurangi bandwidth secara signifikan (Daemen & Rijmen 2002). Oleh sebab itu AES sangat cocok digunakan di telepon genggam yang memiliki sumber daya terbatas. Pada penelitian ini, algoritme AES digunakan untuk penyandian komunikasi data antara client dan server.

Tujuan

Tujuan dari penelitian ini adalah:

1 Pengembangan Polimat Mobile yang merupakan salah satu sistem dari dua subsistem penilangan digital.

2 Membangun protokol keamanan untuk Polimat dengan menggunakan algoritme RSA dan AES.

3 Menjaga kerahasiaan data selama proses komunikasi antara server Polimat dan Polimat Mobile berlangsung.

Ruang Lingkup

Beberapa lingkup penelitian ini meliputi:

1 Sistem yang dikembangkan merupakan sistem untuk melakukan penilangan secara digital. Secara keseluruhan sistem ini terdiri atas dua subsistem utama yaitu:

a Sistem Mobile digunakan untuk melihat riwayat pelanggar dan mengirimkan data penilangan ke server pada proses penilangan.

Gambar

Gambar 1  Skema kunci publik (Stallings 2005).
Gambar 4  Proses enkripsi AES (Stalling 2005).
Gambar 5  Ilustrasi proses SubBytes
Gambar 8  Proses dekripsi AES (Stalling
+7

Referensi

Dokumen terkait

Perencanaan perletakan pada kereta api layang Medan ini direncanakan menggunakan landasan yang terbuat dari karet yang di dalamnya dilengkapi dengan pelat baja

Berdasarkan hal tersebut maka Kecamatan Satui bersama-sama dengan para pejabat struktural dan staf kecamatan Satui menyusun Rencana Strategis Tahun 2016- 2021 yang merupakan

Buku Induk Penduduk yang selanjutnya disingkat BIP adalah buku yang digunakan mencatat keberadaan dan status yang dimiliki oleh seseorang yang dibuat oleh setiap

Meskipun sistem dapat berjalan dengan baik, masih terdapat beberapa permasalahan yang mengindikasikan pengguna terhadap menu yang tidak sesuai, form memiliki label yang

Berdasarkan hasil dari penelitian ini yaitu ada hubungan yang negatif dan signifikan antara lingkungan sosial dengan prestasi akademik siswa, untuk meningkatkan

Menurut Sudono (1999) faktor yang terpenting untuk mendapatkan sukses dalam usaha peternakan sapi perah adalah peternak harus dapat menggabungkan kemampuan

Setelah peneliti melakukan perhitungan uji pengeruh dengan menggunakan rumus t selanjutnya peneliti akan menjawab pertanyaan dari cara menghitung adanya tingkat

Terjadinya apendisitis akut dan adanya perubahan dinding apendiks vermiformis secara signifikan berhubungan dengan meningkatnya jumlah leukosit darah.. Temuan ini