PENGEMBANGAN BAGIAN OFFLINE PADA SHAPEFILE ENCRYPTION SYSTEM (SES)
TEGUH CIPTA PRAMUDIA
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2013
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Pengembangan Bagian Offline pada Shapefile Encryption System (SES) adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, Mei 2013 Teguh Cipta Pramudia NIM G64070123
ABSTRAK TEGUH CIPTA PRAMUDIA. Pengembangan Bagian Offline pada Shapefile Encryption System (SES). Dibimbing oleh SHELVIE NIDYA NEYMAN. Data Geographical Information System (GIS) tergolong data yang sensitif dan mahal. Ancaman terbesar yang dihadapi oleh data GIS saat ini adalah merebaknya pengaksesan serta penggandaan secara ilegal oleh pihak-pihak yang tidak berwenang. Saat ini, sebagian besar metode perlindungan yang diterapkan pada data GIS berfokus pada penggunaan watermarking digital. Namun, metode tersebut tidak dapat membatasi data GIS dari pengaksesan maupun penggandaan secara ilegal. Penelitian ini bertujuan untuk mengembangkan sistem perlindungan data GIS berbentuk shapefile dengan mengkombinasikan algoritme Advanced Encryption Standard (AES), algoritme Rivest Shamir Adleman (RSA), dan teknik steganografi citra Least Significant Bit (LSB) yang dapat memberikan layanan kerahasiaan dan autentikasi. Sebagai hasilnya, sebuah aplikasi standalone dibangun menggunakan metode pengembangan security life cycle. Aplikasi diujikan pada lima data shapefile yang berbeda untuk mengukur pengaruh dari empat panjang kunci RSA yang berbeda terhadap waktu eksekusi yang dibutuhkan untuk melakukan proses enkripsi dan dekripsi. Kata kunci: kriptografi, shapefile, AES, RSA, steganografi LSB
ABSTRACT TEGUH CIPTA PRAMUDIA. Offline Component Development on Shapefile Encryption System (SES). Supervised by SHELVIE NIDYA NEYMAN. Geographical Information System (GIS) data are classified as expensive and sensitive data. The biggest threat to be dealed by GIS data at the moment is the spread of illegally accessed and distributed by unauthorized party. Currently, most of protection methods that are applied on GIS data focused on the use of digital watermarking. But, this method does not restrict GIS data from being accessed and distributed illegally. This research intends to develop a protection system for GIS data in shapefile form by combining Advanced Encryption Standard (AES) algorithm, Rivest Shamir Adleman (RSA) algorithm, and image steganography technique Least Significant Bit (LSB) which can provide confidentiality and authentication service. As a result, a standalone application is built using the security life cycle development method. The application is being tested on five different shapefile data to measure the effect from four different RSA key lengths towards the execution times needed to perform encryption and decryption process. Keywords: cryptography, shapefile, AES, RSA, steganography LSB
PENGEMBANGAN BAGIAN OFFLINE PADA SHAPEFILE ENCRYPTION SYSTEM (SES)
TEGUH CIPTA PRAMUDIA
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Ilmu Komputer pada Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2013
Judul Skripsi : Pengembangan Bagian Offline pada Shapefile Encryption System (SES) Nama : Teguh Cipta Pramudia NIM : G64070123
Disetujui oleh
Shelvie Nidya Neyman, SKom, MSi Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi, MKom Ketua Departemen
Tanggal Lulus:
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Januari 2012 ini ialah kriptografi, dengan judul Pengembangan Bagian Offline pada Shapefile Encryption System (SES). Banyak pihak yang telah memberikan bantuan baik bersifat materi maupun moral kepada penulis dalam menyelesaikan penelitian ini. Oleh sebab itu, penulis ingin menyampaikan rasa terima kasih sebesar-besarnya kepada: 1 Ayahanda Anda Juanda, Ibunda Ida Maherani Widaningsih, Adinda Nitami Adistya Putri yang senantiasa mendoakan, mendukung serta memberikan motivasi dan kesabarannya dalam mengingatkan penulis untuk menyelesaikan tugas akhir. 2 Ibu Shelvie Nidya Neyman, SKom, MSi selaku pembimbing yang telah banyak memberi pengarahan, saran, dan motivasi dalam penyelesaian tugas akhir. 3 Bapak Endang Purnama Giri, SKom, MKom dan Ibu Ir Sri Wahjuni, MT selaku dosen penguji yang telah memberikan kritik dan saran yang membangun. 4 Seluruh staf pengajar Ilmu Komputer IPB atas ilmu dan bimbingan selama penulis berkuliah di almamater ini. 5 Teman-teman tim kriptografi: Adi G, Gamma SK, Gema AU, Trie S, Rian S, dan Ardini SK atas saran serta dukungan selama ini. 6 Seluruh ilkomerz’44 atas saran, semangat, dan motivasi kepada penulis selama ini. Dan semua pihak yang tidak dapat disebutkan satu per satu. Jazakumullah khairan. Semoga karya ilmiah ini bermanfaat.
Bogor, Mei 2013 Teguh Cipta Pramudia
DAFTAR ISI DAFTAR TABEL
viii
DAFTAR GAMBAR
viii
DAFTAR LAMPIRAN
viii
PENDAHULUAN
1
Latar Belakang
1
Perumusan Masalah
2
Tujuan Penelitian
3
Manfaat Penelitian
3
Ruang Lingkup Penelitian
3
Distributed Transparent Extensive Data Protection Mechanism (DTEDPM)
3
Password-Based Key Derivation Function 2 (PBKDF2)
4
Algoritme Advanced Encryption Standard (AES)
5
Algoritme RSA
5
Steganografi
6
Metode Least Significant Bit (LSB)
7
Security Life Cycle
7
METODE
9
Ancaman
9
Kebijakan
9
Spesifikasi
10
Perancangan
10
Implementasi
10
Analisis dan Pengujian
10
HASIL DAN PEMBAHASAN
10
Ancaman
10
Kebijakan
11
Spesifikasi
12
Perancangan
12
Implementasi
15
Analisis dan Pengujian
19
SIMPULAN DAN SARAN
22
Simpulan
22
Saran
23
DAFTAR PUSTAKA
23
LAMPIRAN
24
RIWAYAT HIDUP
29
DAFTAR TABEL 1 2 3 4 5 6 7
Kombinasi kunci-blok-putaran AES Pengujian fungsionalitas SES Data shapefile uji ETime dan DTime pada besar kunci RSA 512 bit ETime dan DTime pada besar kunci RSA 1024 bit ETime dan DTime pada besar kunci RSA 2048 bit ETime dan DTime pada besar kunci RSA 4096 bit
5 20 20 21 21 21 21
DAFTAR GAMBAR 1 Komponen utama DTEDPM 2 Komponen offline DTEDPM 3 Komponen online DTEDPM 4 Proses dalam steganografi (Pfitzmann 1996). 5 Security life cycle (Bishop 2003) 6 Metode penelitian 7 Diagram alir bagian offline SES 8 Diagram pembangkitan kunci AES 9 Diagram pengenkripsian shapefile 10 Diagram pengenkripsian password 11 Diagram penyisipan password terenkripsi 12 Grafik ETime dan DTime
3 4 4 6 8 9 13 13 14 14 15 22
DAFTAR LAMPIRAN 1 2 3 4 5
Diagram pengenkripsian shapefile menggunakan kunci 256 bit Pseudocode proses pembangkitan kunci RSA Percobaan pertama uji ETime dan DTime Percobaan kedua uji ETime dan DTime Percobaan ketiga uji ETime dan DTime
24 25 26 27 28
PENDAHULUAN Penggunaan data Geographical Information System (GIS) saat ini dapat ditemui di berbagai bidang. Pada sejumlah kasus, proses transaksi data GIS perlu dilindungi karena data tersebut dapat berisi informasi-informasi rahasia yang tidak seharusnya dapat digunakan oleh pihak-pihak yang tidak berwenang. Beberapa solusi yang ditawarkan saat ini adalah dengan memberikan tanda hak cipta pada data GIS. Namun, cara tersebut tidak dapat menghalangi pihak-pihak yang tidak berwenang untuk mengakses dan menggandakan data secara ilegal. Dengan demikian, dibutuhkan sebuah sistem yang mampu melindungi proses transaksi data GIS, salah satunya dengan menerapkan teknik kriptografi. Tujuan dari penelitian ini adalah mengembangkan sebuah sistem yang mampu mengelola transaksi data GIS secara aman. Pengembangan dilakukan dengan mengombinasikan teknik kriptografi dan steganografi sedemikian rupa sehingga diharapkan sebuah sistem perlindungan transaksi data GIS yang aman dapat terwujud.
Latar Belakang Dewasa ini, kesadaran akan perlunya fasilitas perlindungan terhadap penyebaran data GIS semakin meningkat. Hal tersebut disebabkan karena data GIS dapat berisi informasi-informasi yang tidak semestinya bisa diakses oleh pihak-pihak yang tidak berwenang. Menurut Dakroury et al. (2010) setidaknya terdapat dua alasan yang menyebabkan perlunya data GIS untuk dilindungi. Pertama, data GIS tergolong data yang mahal. Biaya yang diperlukan mulai dari pengambilan data sampai pengolahan ke dalam bentuk yang sesuai untuk disajikan tidaklah sedikit. Kedua, data GIS merupakan data yang sensitif. Perubahan kecil pada data tersebut dapat memberikan interpretasi yang berbeda dari yang seharusnya. Lebih lanjut Dakroury et al. (2010) menyatakan bahwa terdapat dua cara yang dapat digunakan dalam menyebarkan data GIS kepada pengguna, yaitu: 1 Menyimpan di dalam server kemudian membangun sebuah aplikasi web agar pengguna dapat mengakses data tersebut. 2 Membangun sebuah aplikasi standalone dan menyajikan data GIS yang digunakan kepada pengguna. Teknik–teknik tradisional seperti intrusion detection, network access control (NAC), dan firewall dapat digunakan pada cara pertama untuk mengamankan infrastruktur jaringan serta melindungi server dari serangan keamanan. Sedangkan cara kedua dapat dilindungi menggunakan proses autentikasi pengguna serta penggunaan format khusus untuk data GIS yang dipakai. Meskipun demikian, teknik-teknik tersebut tidak mampu memberikan perlindungan penuh pada data GIS karena masih banyaknya celah-celah keamanan yang belum seluruhnya telah terdokumentasikan pada sistem-sistem yang diterapkan saat ini. Jika suatu serangan mampu menembus celah keamanan tersebut, maka data GIS dapat diakses, digandakan, dan digunakan secara ilegal.
2 Beberapa penelitian yang dilakukan terkait penyebaran data GIS menawarkan solusi menggunakan teknik watermarking digital, salah satunya adalah Zhu et al. (2008) yang menggunakan teknik watermarking digital berdasarkan integer wavelet transform. Penelitian tersebut menghasilkan watermark yang memiliki tingkat ketahanan efektif terhadap berbagai serangan pada data GIS yang digunakan. Akan tetapi, teknik watermarking digital memiliki sejumlah batasan, terutama jika diterapkan pada data GIS (Dakroury et al. 2010). Pada banyak kasus, penggunaan teknik watermarking digital dapat memengaruhi akurasi data terlebih jika data yang digunakan merupakan peta berskala kecil. Batasan lain adalah teknik watermarking digital tidak dapat melindungi data GIS dari pengaksesan oleh pihak-pihak yang tidak berwenang. Oleh sebab itu, perlu adanya keterlibatan kriptografi untuk menjaga kerahasiaan dari data GIS. Dakroury et al. (2010) telah memublikasikan Distributed Transparent Extensive Data Protection Mechanism (DTEDPM) sebagai protokol keamanan yang memadukan teknik kriptografi dengan watermarking digital. Protokol tersebut menggunakan Password Based Key Derivation Function (PBKDF) untuk membangkitkan kunci rahasia dari masukan password. Kunci rahasia tersebut kemudian digunakan dalam proses enkripsi data GIS dengan menggunakan algoritme Advanced Encryption System (AES). Masukan password akan disandikan menggunakan algoritme Rivest Shamir Adleman (RSA). Password terenkripsi tersebut kemudian disisipkan ke dalam media citra menggunakan teknik watermarking digital Least Significant Bit (LSB). Namun, teknik watermarking dianggap kurang sesuai mengingat data yang harus dilindungi adalah password. Penelitian ini mencoba mengimplementasikan modifikasi dari protokol DTEDPM pada Shapefile Encryption System (SES) dengan mengubah algoritme watermarking digital menjadi algoritme steganografi. SES merupakan sistem perlindungan transaksi data GIS berbentuk shapefile. SES terdiri dari dua bagian, offline dan online. Bagian offline merupakan aplikasi standalone yang menyediakan fungsi untuk melakukan enkripsi pada shapefile lalu mengirimkannya pada server. Sementara bagian online adalah aplikasi web yang akan melakukan proses dekripsi pada shapefile sehingga dapat diakses oleh pengguna. Pengembangan bagian offline akan menjadi fokus pada penelitian ini, sementara bagian online akan dikembangkan oleh peneliti lain.
Perumusan Masalah Perumusan masalah dalam penelitian ini antara lain: 1 Bagaimana cara melindungi data GIS dari pengaksesan serta penggandaan secara ilegal. 2 Apa saja yang perlu diperhatikan saat mengembangkan sistem perlindungan data GIS.
3 Tujuan Penelitian Tujuan penelitian ini adalah untuk mengembangkan sistem perlindungan transaksi data GIS berbentuk shapefile dengan mengkombinasikan algoritme AES, RSA, dan teknik steganografi citra LSB yang dapat memberikan layanan kerahasiaan dan autentikasi.
Manfaat Penelitian Penelitian ini diharapkan dapat menyediakan suatu sistem perlindungan transaksi data GIS berbentuk shapefile yang memenuhi aspek kerahasiaan serta autentikasi. Penelitian ini diharapkan dapat menjadi awal bagi pengembangan sistem keamanan data GIS lebih lanjut.
Ruang Lingkup Penelitian Penelitian ini dilakukan dengan batasan sebagai berikut: 1 Penelitian difokuskan hanya pada pengembangan bagian offline dari SES. 2 Proses enkripsi hanya diterapkan pada berkas utama shapefile (.shp). Berkas terkait lain seperti tabel dBASE (.dbf) dan indeks (.shx) tidak mendapat perlakuan tersebut. 3 Media citra yang digunakan pada proses steganografi berupa bitmap (.bmp).
Distributed Transparent Extensive Data Protection Mechanism (DTEDPM) DTEDPM (Dakroury et al. 2010) adalah sebuah mekanisme perlindungan data yang bertujuan untuk melindungi shapefile dari pengaksesan dan penggandaan secara ilegal. Gambar 1 menunjukan hubungan antara dua komponen pada DTEDPM.
Gambar 1 Komponen utama DTEDPM
4 Komponen offline merupakan aplikasi desktop yang akan melakukan proses enkripsi pada shapefile. Gambar 2 menunjukan alur proses pengenkripsian shapefile pada komponen offline.
Gambar 2 Komponen offline DTEDPM Sementara komponen online merupakan aplikasi web yang bertujuan untuk memberikan akses pada pengguna yang terdaftar untuk menampilkan shapefile dan mencegah pengguna yang tidak terdaftar untuk melakukan hal yang sama. Gambar 3 menunjukan diagram proses yang terjadi pada komponen online DTEDPM.
Gambar 3 Komponen online DTEDPM
Password-Based Key Derivation Function 2 (PBKDF2) Key derivation function adalah algoritme deterministik yang digunakan untuk menghasilkan material kunci kriptografi dari suatu nilai rahasia, contohnya password. Password-based key derivation function menggunakan password sebagai kunci awal dengan parameter berupa salt dan iterasi. PBKDF2 menerapkan fungsi pseudorandom (PRF) SHA-1 untuk mendapatkan kunci turunan. Password lebih mudah diingat dibandingkan kunci yang berupa aliran bit. Meskipun demikian, password diperoleh dari rentang kemungkinan yang relatif lebih kecil dibandingkan kunci. Hal tersebut tidak cocok jika digunakan dalam
5 kriptografi, sehingga dibutuhkan adanya modifikasi dari password agar layak digunakan dalam proses kriptografi. Modifikasi tersebut salah satunya dengan menambahkan salt dan iterasi pada password. Salt merupakan bilangan acak yang akan dikombinasikan dengan password saat membangkitkan kunci. Penggunaan salt setidaknya memiliki dua keuntungan, pertama, password dapat mengenkripsi suatu data dengan menggunakan beragam kemungkinan cara. Proses enkripsi suatu data yang sama dengan password yang sama tetapi salt yang berbeda, akan menghasilkan data terenkripsi yang berbeda pula. Kedua, setiap bit yang ditambahkan pada salt akan menggandakan jumlah kunci yang dibangkitkan sehingga mempersulit serangan yang dilakukan terhadap kunci. Sementara, iterasi adalah suatu nilai tetap c yang akan menentukan berapa kali perulangan yang dilakukan PRF untuk membangkitkan satu blok dari kunci (Turan et al. 2010).
Algoritme Advanced Encryption Standard (AES) Algoritme AES merupakan algoritme kriptografi kunci simetri yang beroperasi pada blok 128 bit dengan menggunakan tiga varian blok kunci dengan panjang 128 bit, 192 bit, dan 256 bit yang berpengaruh pada jumlah putaran seperti yang digambarkan pada Tabel 1. Tabel 1 Kombinasi kunci-blok-putaran AES Varian kunci AES-128 AES-192 AES-256
Panjang kunci (words) 4 6 8
Ukuran blok (words) 4 4 4
Jumlah putaran (rounds) 10 12 14
Setiap putaran pada algoritme AES terdiri atas 4 transformasi byte-oriented yang berbeda yaitu: 1 Mensubstitusi byte (sub bytes) menggunakan tabel substitusi (S-Box). 2 Menggeser baris (shift rows) pada 3 baris terakhir dari state array dengan offsets yang berbeda untuk setiap baris. 3 Mengacak data dari setiap kolom state array (mix columns). 4 Menambah iterasi pada state (add round key). Transformasi-transformasi tersebut digunakan untuk proses enkripsi sementara transformasi inversinya digunakan untuk proses dekripsi (Adiwidya 2009).
Algoritme RSA Algoritme RSA dinamakan berdasarkan nama tiga orang penemunya yakni Ron Rivest, Adi Shamir, dan Leonard Adleman. Keamanan algoritme RSA didapatkan dari sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima. Pemfaktoran dilakukan untuk memperoleh kunci privat. Algoritme RSA memiliki besaran-besaran sebagai berikut: 1 p dan q bilangan prima (rahasia)
6 2 3 4 5 6 7
N = p. q (tidak rahasia) φ (N) = (p-1)(q-1) (rahasia) e (kunci enkripsi) (tidak rahasia) d (kunci dekripsi) (rahasia) m (plaintext) (rahasia) c (ciphertext) (tidak rahasia) Deskripsi sederhana dari algoritme RSA dijelaskan sebagai berikut. 1 Diberikan nilai N, dengan N adalah RSA modulus yang didapatkan dari persamaan 1 sebagai berikut: N = p . q, (1) dengan p dan q adalah dua bilangan prima besar dengan ukuran yang sama. 2 Diberikan nilai e sebagai encryption exponent dan d sebagai decryption exponent dengan ketentuan seperti persamaan 2 di bawah ini: ed = 1 mod φ(N), (2) dimana φ(N) adalah sebagai berikut: φ (N) = (p-1)(q-1), (3) Pasangan nilai (N,e) merupakan kunci publik yang digunakan di dalam proses enkripsi pesan, sementara pasangan nilai (N,d) adalah kunci rahasia atau kunci privat yang digunakan untuk melakukan proses dekripsi ciphertext atau pesan yang telah dienkripsi ke pesan sebenarnya. Sebagai contoh, pesan terdiri atas bilangan integer M. Saat melakukan proses enkripsi, M menggunakan cara C = Me mod N. Saat melakukan proses dekripsi, ciphertext menerapkan perhitungan M = Cd mod N dengan Cd = Med = M (mod N) (Boneh 1999).
Steganografi Steganografi adalah ilmu dan seni menyembunyikan informasi dengan menyisipkan pesan ke dalam suatu media sedemikian rupa sehingga tidak menimbulkan perubahan pada media tersebut. Media yang digunakan umumnya berbeda dari media pembawa informasi rahasia (Cummins et al. 2004). Tujuan dari teknik steganografi adalah menyembunyikan informasi yang tidak ingin diketahui oleh pihak lain ke dalam suatu media yang dapat mengalihkan perhatian atau tidak mencurigakan pihak lain. Gambaran umum proses dalam sistem steganografi dapat dilihat pada Gambar 4.
Gambar 4 Proses dalam steganografi (Pfitzmann 1996) Istilah-istilah yang sering digunakan dalam steganografi adalah sebagai berikut:
7 1 Cover object merupakan berkas yang digunakan sebagai tempat menyembunyikan informasi rahasia. 2 Stego key adalah kunci yang digunakan untuk menyisipkan serta mengekstraksi pesan. 3 Stego object adalah berkas yang sudah disisipi pesan rahasia. Dalam proses penyembunyian informasi dengan metode steganografi terdapat beberapa kriteria yang harus diperhatikan, yaitu: 1 Imperceptible, keberadaan pesan rahasia tidak dapat dipersepsi sehingga tidak akan menimbulkan kecurigaan kepada pihak lain. 2 Fidelity, kualitas media tidak dapat jauh berubah setelah dilakukan penyisipan data rahasia. Perubahan yang signifikan dapat menyebabkan pihak lain mencurigai adanya pesan rahasia dalam cover-object. 3 Recovery, data yang disembunyikan harus dapat diekstrak kembali. Karena tujuan dari steganografi adalah data hiding, maka data rahasia dalam coverobject harus dapat diambil kembali untuk digunakan lebih lanjut.
Metode Least Significant Bit (LSB) Sebuah citra digital dapat dipandang sebagai kumpulan pixel dengan masing-masing pixel memiliki nilai tertentu yang dinyatakan dalam bilangan biner. Citra digital abu-abu dapat direpresentasikan menggunakan bilangan biner 8 bit (1 byte). Pada setiap byte dari pixel citra, terdapat bit yang paling kecil bobotnya, yaitu LSB (Setyawan et al. 2009). Sebagai contoh, urutan bit berikut ini menggambarkan tiga pixel dari suatu citra bitmap 24-bit. (00100111 11001010 10101101) (00100111 11001010 11100101) (11000011 01011011 00001011) Pesan yang akan disisipkan adalah karakter “T” dengan kode ASCII 84 yang memiliki nilai biner 01010100, maka akan dihasilkan stego image dengan urutan bit sebagai berikut: (00100110 11001011 10101100) (00100111 11001010 11100101) (11000010 01011010 00001011)
Security Life Cycle Bishop (2003) mengenalkan metode yang dapat diterapkan saat membangun sistem keamanan data digital. Metode ini terdiri atas 6 tahap utama sebagai berikut (Gambar 5):
8
Gambar 5 Security life cycle (Bishop 2003) 1 Ancaman (threats) adalah hal-hal yang dapat menyebabkan kerusakan pada sistem. Pengidentifikasian ancaman terhadap protokol merupakan tahap awal dari pembangunan protokol. Hal ini bertujuan agar layanan keamanan dapat dipersiapkan untuk mengatasi serangan akibat ancaman-ancaman yang diperkirakan muncul pada protokol. 2 Kebijakan (policy) merupakan pernyataan dari hal-hal yang diperbolehkan (aman) dan dilarang (tidak aman) dalam menjalankan suatu sistem. Dalam penerapannya, kebijakan seringkali tidak dijelaskan secara detail, melainkan hanya berupa deskripsi dari hal-hal yang boleh dilakukan oleh para pengguna sistem. Persepsi-persepsi yang ambigu dapat muncul dari kebijakan-kebijakan yang dideskripsikan. 3 Spesifikasi (specification) adalah pernyataan fungsional yang diharapkan dari sistem. Pernyataan ini dapat berupa ekspresi matematika atau bahasa lain yang mendeskripsikan metode sistem dalam memberikan layanan keamanan. Bagian utama spesifikasi adalah menentukan serangkaian kebutuhan yang relevan dengan sistem. 4 Perancangan (design) akan menerjemahkan spesifikasi ke dalam komponenkomponen yang kemudian akan diimplementasikan. Perancangan dapat dikatakan memenuhi spesifikasi jika tidak ada ketentuan yang dilanggar dalam tahapan spesifikasi. 5 Implementasi (implementation) akan menghasilkan sistem yang memenuhi kebutuhan desain. Apabila desain telah memenuhi spesifikasi sistem, maka secara tidak langsung sistem yang dihasilkan juga akan memenuhi spesifikasi tersebut. 6 Operasi dan Pemeliharaan (operation and maintenance) merupakan tahap terakhir dari security life cycle. Setiap aksi yang dilakukan dalam proses
9 pemeliharaan sebaiknya mengikuti prosedur keamanan yang sama seperti prosedur yang digunakan dalam pengembangan sistem.
METODE Penelitian ini dikembangkan dengan menggunakan metode yang berdasarkan pada Security Life Cycle (Bishop 2003). Tahap Operasi dan Pemeliharaan pada penelitian ini tidak diikutsertakan. Sebagai gantinya, akan ditambahkan tahap Analisis dan Pengujian sebagaimana ditampilkan pada Gambar 6.
Gambar 6 Metode penelitian
Ancaman Keamanan merupakan salah satu aspek penting yang diperhitungkan dalam pengembangan SES. Oleh sebab itu, proses identifikasi ancaman menjadi tahap pertama yang perlu dilakukan agar sistem dapat terhindar dari serangan-serangan yang dapat mengganggu kerja atau mengakibatkan kerusakan serta kebocoran data dari sistem. Tahap indentifikasi ancaman dilakukan dengan cara membuat skenario serangan yang mungkin terjadi pada sistem.
Kebijakan Sistem keamanan data yang rentan terhadap serangan keamanan tentu membutuhkan kebijakan mengenai hal-hal yang diperbolehkan dan tidak diperbolehkan dalam penggunaannya. Kebijakan yang dibuat dalam penelitian ini mengacu pada pendekatan end-to-end encryption sebagai bagian dari encrypting communication channels oleh Schneier (1996).
10
Spesifikasi Setelah kebijakan penggunaan sistem dibuat, langkah selanjutnya adalah menentukan spesifikasi sistem. Agar dapat menjalankan mekanisme keamanan, sistem SES membutuhkan berbagai spesifikasi keamanan yang menjelaskan fungsi-fungsi sesuai dengan kebijakan.
Perancangan Tahap desain pada SES dilakukan sesuai spesifikasi yang telah dibuat. Secara garis besar, perancangan sistem ini dapat dibagi menjadi dua bagian, yakni: 1 Perancangan proses perlindungan shapefile. 2 Perancangan proses perlindungan password. Tahapan desain akan menghasilkan diagram-diagram terkait proses yang akan diimplementasikan pada bagian offline SES.
Implementasi Lingkungan pengembangan yang digunakan pada penelitian ini adalah notebook dengan spesifikasi sebagai berikut: 1 Perangkat Keras • Prosesor Intel® Core™ 2 Duo ~2,00 GHz. • RAM 3072MB. 2 Perangkat Lunak • Sistem operasi Windows 7 Ultimate 32-bit. • Visual Studio 2010.
Analisis dan Pengujian Tahap analisis dan pengujian akan memeriksa kemampuan SES dalam menyediakan layanan kerahasiaan serta autentikasi. Hal ini dilakukan dengan menganalisis berbagai kemungkinan yang dapat menyebabkan layanan-layanan tersebut gagal tersedia. Selain itu, pengujian dilakukan untuk memverifikasi tiap shapefile terenkripsi dengan cara melakukan proses dekripsinya sehingga dapat diakses kembali.
HASIL DAN PEMBAHASAN Ancaman Secara umum, ancaman yang dapat muncul dalam konteks pengembangan bagian offline SES terbagi ke dalam 2 kelas besar, yaitu:
11 1 Disclosure, yakni akses terhadap informasi oleh pihak yang tidak berwenang. 2 Usurpation, yakni pengaturan beberapa bagian dari sistem oleh pihak-pihak yang tidak berwenang. Pada bagian offline, komunikasi terjadi antara sistem dan server sebagai media penyimpanan data. Proses pengamanan yang diterapkan pada shapefile membutuhkan kunci simetri untuk digunakan dalam proses enkripsi dan dekripsinya. Hal tersebut menjadikan kunci simetri juga perlu dilindungi dari kemungkinan serangan. Ancaman-ancaman yang mungkin terjadi pada bagian offline SES antara lain: 1 Pada kelas disclosure, ancaman yang mungkin terjadi adalah pengintaian (snooping) yang merupakan penahanan informasi yang didapat pada saat proses komunikasi terjadi antara dua atau lebih entitas yang dilakukan oleh pihak yang tidak berwenang. Pada SES, entitas yang berperan adalah sistem dan server. Pengintaian dikatakan berhasil saat penyerang dapat turut mendengarkan alur kerja sistem (traffic analysis). Sebagai contoh: penyerang yang melakukan pengintaian pada SES dapat mengetahui dari mana berkas shapefile berasal, di mana akan disimpan serta di mana kunci simetri untuk membuka shapefile berada. Layanan keamanan kerahasiaan dapat diterapkan untuk mengatasi ancaman ini. 2 Pada kelas usurpation, ancaman dapat berupa penyamaran atau peniruan suatu entitas terhadap entitas lain. Ancaman ini akan mengumpan korban agar percaya bahwa entitas yang berkomunikasi dengannya adalah pihak yang benar, meski pada kenyataannya pihak tersebut adalah penyerang yang bukan merupakan pihak yang berwenang. Dalam konteks SES, penyerang berusaha mengakses sistem dengan cara menyamar sebagai administrator. Tidak ada pihak (termasuk administrator) yang menyadari penyamaran ini sehingga penyerang dapat masuk ke dalam sistem dan mengakses shapefile terenkripsi beserta kunci rahasia di dalamnya. Ancaman ini dapat ditangani dengan menyediakan layanan autentikasi.
Kebijakan Pengembangan SES dilakukan menggunakan pendekatan end-to-end encryption sebagai bagian dari aturan encrypting communication channels. Pendekatan tersebut mengatur peran pengguna dan hal-hal terkait implementasi. Kebijakan yang diterapkan terhadap pengguna antara lain: 1 Bagian offline SES hanya dapat diakses oleh satu pengguna dalam satu waktu. Kebijakan ini diterapkan karena bagian offline SES akan menangani semua data sensitif dan rahasia yang digunakan oleh sistem dalam bentuk plaintext. Pengguna yang memiliki hak akses dalam konteks penelitian ini adalah seorang administrator. 2 Administrator bertugas melakukan enkripsi pada shapefile dengan menentukan password, membangkitkan pasangan kunci asimetri, dan memilih citra yang digunakan oleh sistem. Sementara itu, beberapa kebijakan terkait dengan implementasi adalah: 1 Sistem memerlukan suatu mekanisme autentikasi bagi pengguna. Hal ini dilakukan dengan menyediakan username serta password untuk administrator
12 SES. 2 Baik kunci simetri maupun pasangan kunci publik yang digunakan akan dibangkitkan untuk setiap transaksi shapefile yang akan dienkripsi.
Spesifikasi Secara umum, bagian offline SES memiliki spesifikasi sebagai berikut: 1 Sistem hanya dapat diakses oleh satu pengguna dalam satu waktu. • Sistem tidak terhubung dengan jaringan aktif selama proses enkripsi berlangsung. • Terdapat ID yang bersifat unik untuk administrator. • Hanya pengguna (administrator) dengan ID serta PassID yang terdaftar yang dapat mengakses sistem. 2 Administrator bertugas melakukan enkripsi pada shapefile dengan menentukan kunci simetri, membangkitkan kunci publik, dan memilih citra yang digunakan oleh sistem. • Kunci simetri dibangkitkan untuk setiap proses enkripsi shapefile. • Kunci publik dibangkitkan untuk setiap proses enkripsi password.
Perancangan Tahapan desain bagian offline SES melayani 2 fungsionalitas utama diantaranya adalah: 1 Fungsi perlindungan shapefile (SHP encryption). 2 Fungsi perlindungan password (password encryption). Fungsi perlindungan shapefile diawali dengan proses pembangkitan kunci simetri yang memerlukan password sebagai masukan. Password tersebut akan dikonversi menggunakan PBKDF2 untuk menghasilkan kunci simetri AES 256 bit. Proses selanjutnya adalah pengenkripsian shapefile yang akan menggunakan masukan berupa kunci simetri AES dan shapefile. Proses ini akan menghasilkan shapefile terenkripsi sebagai produk pertama dari bagian offline SES. Fungsi perlindungan password diawali oleh proses pembangkitan kunci RSA. Masukan yang diperlukan adalah kisaran nilai p dan q yang akan menghasilkan pasangan kunci publik dan kunci privat. Selanjutnya, password akan diubah ke dalam bentuk biner lalu dienkripsi menggunakan kunci publik RSA. Hasil dari proses ini berupa password terenkripsi. Selanjutnya password terenkripsi tersebut disisipkan ke dalam sebuah citra bitmap. Hasil dari proses ini adalah stego-image yang menjadi produk kedua dari bagian offline SES. Desain bagian offline SES secara keseluruhan dapat dilihat pada Gambar 7.
13
Gambar 7 Diagram alir bagian offline SES Fungsi Perlindungan Shapefile • Pembangkitan kunci AES: Proses pembangkitan kunci simetri AES dilakukan dengan menggunakan sebuah key derivation function (KDF) yang membutuhkan password, salt, serta iterasi untuk mendapatkan kunci. Alur proses pembangkitan kunci AES pada SES dapat dilihat pada Gambar 8.
Gambar 8 Diagram pembangkitan kunci AES Masukan password didapatkan dari user. Salt serta counter iterasi ditentukan oleh sistem. Proses pembangkitan kunci akan dilakukan selama counter iterasi belum dicapai. Proses ini akan menghasilkan kunci yang berukuran 256 bit. • Pengenkripsian shapefile: Kunci simetri AES yang telah dihasilkan proses sebelumnya akan digunakan untuk mengenkripsi shapefile seperti yang ditunjukan oleh Gambar 6. Proses enkripsi akan menggunakan AES-256 dengan panjang kunci 256 bit. Proses enkripsi akan menggunakan mode enkripsi cipher block chaining (CBC). Secara sederhana, diagram alir proses pengenkripsian shapefile ditampilkan pada Gambar 9.
14
Gambar 9 Diagram pengenkripsian shapefile Fungsi Perlindungan Password • Pembangkitan kunci RSA: Pembangkitan kunci RSA akan menghasilkan dua buah kunci yaitu, kunci publik dan kunci privat. Kunci-kunci ini akan digunakan di sejumlah modul, baik pada komponen offline maupun online. Panjang kunci yang digunakan antara lain 512, 1024, 2048, dan 4096 bit. Penggunaan panjang kunci yang besar akan meningkatkan sisi keamanannya namun akan membutuhkan waktu yang lebih lama pada proses pembangkitan serta proses enkripsi dan dekripsi. • Pengenkripsian password: Kunci rahasia yang dihasilkan pada proses pembangkitan kunci AES tidak akan disimpan, sementara password yang merupakan masukan awal akan dienkripsi menggunakan kunci publik RSA untuk kemudian disimpan. Pertama-tama password akan dimanipulasi ke dalam bentuk biner. Password yang berbentuk deret biner akan dienkripsi menggunakan kunci publik RSA dengan terlebih dahulu diubah ke dalam nilai desimal dari kode ASCII untuk setiap karakternya. Diagram alir proses ini dapat dilihat pada Gambar 10.
Gambar 10 Diagram pengenkripsian password • Penyisipan password terenkripsi: Password yang sudah terenkripsi akan disisipkan ke dalam citra bitmap dengan metode LSB. Setiap byte dari masukan akan dibagi menjadi 3 bagian dan setiap bagiannya akan disisipkan ke dalam setiap pixel dimulai dari bit paling kiri most significant bit (MSB). Tiap layer warna r ij , g ij , dan b ij pada pixel P ij berlaku fungsi sebagai berikut:
15 r [7]=t[0], j mod 3=0 ⎧ ij ⎪ gij [7]=t[1], j mod 3=0 ⎪ bij [7]=t[2], j mod 3=0 ⎪ ⎪ rij [7]=t[3], j mod 3=1 f(t)= gij [7]=t[4], j mod 3=1 ⎨ b [7]=t[5], j mod 3=1 ⎪ ij ⎪ rij [7]=t[6], j mod 3=2 ⎪ g [7]=t[7], j mod 3=2 ⎪ ij ⎩bij [7]=bij [7], j mod 3=2 i merupakan indeks koordinat lebar citra dan j merupakan indeks koordinat tinggi citra. Layer warna merah pada bit ke-7 dinotasikan dengan r ij [7]. Layer warna hijau pada bit ke-7 dinotasikan dengan g ij [7]. Layer warna biru pada bit ke-7 dinotasikan dengan b ij [7]. Tiap byte dari password terenkripsi akan disimpan di dalam t[0] sampai t[7]. Secara sederhana, diagram alir penyisipan password terenkripsi dapat dilihat pada Gambar 11.
Gambar 11 Diagram penyisipan password terenkripsi
Implementasi Fungsi Perlindungan Shapefile Implementasi fungsi perlindungan shapefile diawali dengan proses pembangkitan sebuah kunci simetri. Masukan yang diperlukan terdiri atas: password, iterasi, panjang kunci, dan salt. Password diperoleh dari pengguna, sementara ketiga masukan lain dideklarasikan secara statis di dalam sistem. Pseudocode berikut menampilkan proses pembangkitan kunci menggunakan PBKDF2. MASUKAN: P // password S // salt C // counter iterasi kLen // panjang kunci yang diinginkan
16 KELUARAN: K // kunci sepanjang kLen 1 2 3 4 5 6 7 8 9 10 11
d = CEILING(kLen/hLen). T = string kosong. for i = 1 to d F = U 1 = PRF(P,APPEND(S,i)) for j = 2 to C U j = PRF(P, U j-1 ) F = F xor U j end for T = APPEND(T, F) end for K = T sepanjang kLen.
Proses pembangkitan kunci memanfaatkan kelas Rfc2898DeriveBytes yang menerapkan PBKDF2 dengan menggunakan fungsi pseudorandom (PRF) berdasarkan pada HMAC-SHA1. Iterasi ditentukan sebanyak 1000, salt dideklarasikan sepanjang 14 bytes, dan panjang kunci ditentukan sepanjang 256 bit. Selanjutnya, berkas shapefile akan dibaca sebagai aliran bit untuk dienkripsi seperti pada Gambar 9. Shapefile yang telah terenkripsi adalah produk pertama yang akan dikirimkan ke server. Proses enkripsi ditunjukan pada pseudocode berikut. MASUKAN: Sh // shapefile Nb // panjang blok dalam satuan words Nr // banyaknya round KELUARAN: ShEn // shapefile terenkripsi 1 2 3 4 5 6 7 8 9 10 11 12
Tentukan state sebagai setiap blok Sh ADDROUNDKEY(state, w[0, Nb-1]) for round=1 to Nr-1 SUBBYTES(state) SHIFTROWS(state) MIXCOLUMNS(state) ADDROUNDKEY(state, w[round*Nb, (round+1)*Nb-1]) end for SUBBYTES(state) SHIFTROWS(state) ADDROUNDKEY(state, w[Nr*Nb, (Nr+1)*Nb-1]) ShEn = state
Setiap fungsi yang digunakan dalam proses pengenkripsian shapefile (SubBytes, ShiftRows, MixColumns, dan AddRoundKey) memiliki perlakuan masing-masing
17 terhadap state. Diagram pada Lampiran 1 menampilkan proses pengenkripsian shapefile secara lebih lengkap. Fungsi Perlindungan Password Proses pembangkitan kunci RSA dilakukan dengan menggunakan kelas RSACryptoServiceProvider. Masukan yang dibutuhkan adalah ukuran kunci yang diinginkan. Hasil dari proses ini berupa pasangan kunci publik dan privat. Informasi terkait kunci publik digunakan untuk proses enkripsi password dan disimpan di bagian offline sistem sementara informasi terkait kunci privat akan digunakan oleh bagian online untuk digunakan dalam proses dekripsi. Pseudocode berikut menampilkan proses pasangan kunci RSA dibangkitkan dapat dilihat pada Lampiran 2. Proses selanjutnya yaitu pengenkripsian password. Proses ini diawali dengan perubahan password ke dalam bentuk desimal sebagai representasi kode ASCII untuk setiap karakter yang ditampilkan pada pseudocode sebagai berikut. MASUKAN: P // password yang digunakan KELUARAN: B // representasi desimal ASCII dari password 1 Baca P 2 Masukan setiap karakter dari P ke dalam array C 3 Ubah setiap anggota array C menjadi byte yang disimpan di dalam array E 4 Konversi setiap anggota dari array E menjadi string yang merepresentasikan nilai desimal dari ASCII 5 Gabung seluruh string yang dihasilkan di dalam B Selanjutnya, representasi ASCII tersebut dienkripsi menggunakan kunci publik RSA. Proses yang terjadi ditampilkan pada pseudocode sebagai berikut. MASUKAN: B // representasi desimal ASCII dari password E // informasi kunci publik KELUARAN: Eb // password terenkripsi 1 Baca B 2 Ubah B menjadi byte dan simpan setiap byte ke dalam array B 3 Enkripsi anggota array B dengan algoritme RSA dan kunci E lalu simpan di dalam Eb Password yang telah terenkripsi kemudian disisipkan di dalam sebuah citra. Dalam penelitian ini, format citra yang digunakan adalah bitmap. Potongan pseudocode berikut menampilkan proses identifikasi masukan untuk proses
18 penyisipan. MASUKAN: I // citra yang ingin digunakan Eb // password terenkripsi KELUARAN: Eb_byte // password terenkripsi dalam bentuk byte height // dimensi tinggi dari citra width // dimensi lebar dari citra 1 Baca ukuran Eb sebagai Eb_size 2 Baca citra I yang ingin digunakan 3 Baca dimensi dari citra I dan simpan tinggi sebagai height dan lebar sebagai width 4 if ((8*height*width)/3) < Eb_size then 5 goto baris 2 6 else 7 Eb_byte=(byte)Eb 8 end if Proses selanjutnya adalah mengidentifikasi ketiga layer warna dari setiap pixel. Pseudocode berikut menunjukan tahap-tahap identifikasi layer warna setiap pixel. MASUKAN: I height width Eb_byte
// citra yang digunakan // dimensi tinggi dari citra // dimensi lebar dari citra // password terenkripsi dalam bentuk byte
KELUARAN: R // array untuk layer merah dari pixel G // array untuk layer hijau dari pixel B // array untuk layer biru dari pixel T // array untuk setiap byte dari Eb_byte 1 Selama i
19 yang digunakan dalam menyisipkan setiap anggota array T. MASUKAN: R // array untuk layer merah dari pixel G // array untuk layer hijau dari pixel B // array untuk layer biru dari pixel T // array untuk setiap byte dari Eb_byte i // indeks koordinat x dari citra j // indeks koordinat y dari citra KELUARAN: Is // citra yang telah disisipi password terenkripsi (stego-object); 1 if j%3 == 0 then 2 R[7] = T[0] 3 G[7] = T[1] 4 B[7] = T[2] 5 else if j%3 == 1 then 6 R[7] = T[3] 7 G[7] = T[4] 8 B[7] = T[5] 9 else if j%3 == 2 then 10 R[7] = T[6] 11 G[7] = T[7] 12 end if 13 Is = SETPIXEL(j,i, COLOR(R,G,B));
Analisis dan Pengujian Layanan keamanan kerahasiaan pada SES diperoleh dari perlakuan yang diterapkan pada shapefile, yaitu dengan cara mengenkripsinya menggunakan algoritme kunci simetri AES. Sementara, layanan keamanan autentikasi diperoleh dari penggunaan kunci asimetri RSA yang secara tidak langsung mengidentifikasi setiap klien yang bertransaksi melalui SES. Meskipun demikian, beberapa kelemahan masih ditemukan pada bagian offline dari SES. Bagian ini memiliki tingkat ketergantungan yang tinggi terhadap pengguna yang dapat mengaksesnya. Oleh sebab itu, jika pengguna tidak mengikuti protokol kontrol pada sistem secara seksama, layanan keamanan yang disediakan pun sulit untuk dicapai. Selain itu, penyimpanan kunci privat RSA pada server membuat SES rentan terhadap serangan pencurian kunci yang dapat berakibat pada pengaksesan shapefile secara ilegal. Pengujian dilakukan untuk mengetahui fungsi-fungsi yang telah diimplementasikan pada SES bekerja sebagaimana mestinya. Hasil pengujian fungsionalitas SES dapat dilihat pada Tabel 2 berikut.
20 Tabel 2 Pengujian fungsionalitas SES Deskripsi uji Fungsi perlindungan shapefile Pembangkitan kunci 256 bit. Pengenkripsian shapefile. Fungsi perlindungan password Pembangkitan pasangan kunci RSA. Pengenkripsian password. Penyisipan password terenkripsi pada citra. Fungsi pelengkap Pengiriman tabel dBASE (.dbf) dan indeks (.shx). Penyimpanan kunci privat RSA beserta parameter terkait. Proses dekripsi shapefile dengan menggunakan kunci dari password hasil ekstraksi citra.
Hasil uji Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
Tabel 3 Data shapefile uji ID 1 2 3 4 5
Shapefile jawa_tengah_highway.shp banten_highway.shp jakarta_raya_highway.shp jawa_barat_highway.shp indonesia_highway.shp
Ukuran (kB) 1330.12 1955.23 2909.38 4177.39 31492.65
Pengujian lebih lanjut dilakukan untuk mengetahui waktu yang diperlukan dalam menjalankan proses enkripsi (ETime) dan waktu yang diperlukan untuk proses dekripsi (DTime). Data uji yang digunakan terdiri atas lima data shapefile yang diperoleh dari situs inigis (http://inigis.org). ETime dan DTime dicatat berdasarkan perubahan besar kunci RSA yang dibangkitkan. Pada penelitian ini besar kunci RSA yang digunakan antara lain: 512, 1024, 2048, dan 4096. Tabel 3 menunjukan kelima data uji yang digunakan. Berdasarkan alur implementasi yang diterapkan, fungsi-fungsi yang berpengaruh pada besarnya ETime diantaranya adalah: pembangkitan kunci AES, pengenkripsian shapefile, pembangkitan kunci RSA, pengenkripsian password, penyisipan password terenkripsi, penyimpanan kunci privat RSA. Sementara, besarnya DTime dipengaruhi oleh proses ekstraksi password terenkripsi dari citra, proses dekripsi password terenkripsi oleh kunci privat RSA, proses pembangkitan kunci AES dari password, dan proses dekripsi shapefile menggunakan algoritme AES. Citra yang digunakan pada pengujian ini memiliki format bitmap-24 bit dengan dimensi tinggi 50 pixel dan lebar 51 pixel. Pengujian dilakukan sebanyak tiga kali perulangan untuk setiap shapefile dan setiap besaran kunci RSA. Lampiran 3, 4, dan 5 secara berturut-turut menampilkan tabel perulangan pertama, kedua, dan ketiga. Tabel 4 menampilkan hasil pengujian untuk besar kunci RSA 512 bit.
21 Tabel 4 ETime dan DTime pada besar kunci RSA 512 bit ID 1 2 3 4 5
ETime (ms) 138.5359 200.9368 228.4038 287.0710 4693.6897
DTime (ms) 110.8023 133.7361 179.8034 233.0708 1231.2240
Tabel 5 ETime dan DTime pada besar kunci RSA 1024 bit ID 1 2 3 4 5
ETime (ms) 364.9389 451.6062 519.7441 536.0766 1440.6972
DTime (ms) 120.2023 137.9360 171.4035 223.6708 1164.3567
Tabel 6 ETime dan DTime pada besar kunci RSA 2048 bit ID 1 2 3 4 5
ETime (ms) 2651.2750 3858.5680 1878.5612 1649.9735 4107.5970
DTime (ms) 163.8700 203.7372 216.9377 251.7385 1198.0253
Tabel 7 ETime dan DTime pada besar kunci RSA 4096 bit ID 1 2 3 4 5
ETime (ms) 23039.4702 43059.0089 28570.8559 22836.4065 17742.2988
DTime (ms) 513.2103 525.0774 561.7447 596.5455 1580.3646
Pada Tabel 4, perubahan ETime dan DTime berbanding lurus dengan ukuran shapefile. Hal tersebut dapat dilihat dari perubahan ETime dan DTime yang meningkat seiring dengan besarnya ukuran shapefile. Pada Tabel 5 diperlihatkan hasil pengujian untuk besar kunci RSA 1024 bit. Perlakuan yang berbeda terjadi pada shapefile ke-5. Shapefile tersebut memiliki ETime lebih kecil dibandingkan ETime pada Tabel 4 untuk shapefile yang sama.
22 Hal tersebut kemungkinan besar disebabkan oleh waktu yang diperlukan untuk membangkitkan pasangan kunci RSA lebih sedikit. Tabel 6 menunjukan ETime dan DTime pada besar kunci RSA 2048 bit. Keragaman nilai ETime cukup mencolok. Selain dari waktu yang diperlukan untuk membangkitkan kunci RSA, faktor lain yang dapat mempengaruhi ETime adalah kemampuan kerja hardware yang digunakan saat pengujian. Tabel 7 menunjukan ETime dan DTime pada besar kunci RSA 4096 bit. Perbedaan ETime terjadi secara signifikan pada Tabel 7. Waktu yang diperlukan untuk melakukan proses enkripsi berkisar antara 17–43 detik. Grafik pengujian ETime dan DTime ditunjukkan pada Gambar 12.
Gambar 12 Grafik ETime dan DTime Dari pengujian tersebut diperoleh informasi bahwa ukuran shapefile bukan menjadi faktor utama yang mempengaruhi ETime. Beberapa faktor yang mungkin lebih mempengaruhi ETime diantaranya adalah proses pembangkitan kunci RSA, proses penyisipan pada citra, dan hardware yang digunakan pada saat pengujian.
SIMPULAN DAN SARAN Simpulan Penelitian ini berhasil mengembangkan bagian offline dari Shapefile Encryption System (SES), sistem perlindungan transaksi data GIS berbentuk shapefile yang menyediakan layanan keamanan kerahasiaan dan autentikasi. Bagian offline dari SES dikembangkan menggunakan pendekatan end-to-end encryption yang memastikan tingkat keamanan data lebih tinggi tetapi memerlukan sistem manajemen kunci yang lebih rumit. Penelitian ini menerapkan modifikasi dari protokol DTEDPM yang mengombinasikan algoritme kunci simetri AES, algoritme kunci publik RSA, serta algoritme steganografi LSB.
23 Saran Penelitian ini masih dapat terus dikembangan dan diperbaiki pada penelitian selanjutnya. Beberapa rekomendasi yang dapat dilakukan untuk penelitian selanjutnya antara lain: 1 Menggunakan AES dengan mode enkripsi CTR pada proses enkripsi shapefile sehingga proses enkripsi dapat dilakukan secara paralel untuk semua blok. 2 Menggunakan algoritme ECC untuk menggantikan algoritme kunci asimetri RSA. ECC membutuhkan panjang kunci yang signifikan lebih kecil dari algoritme RSA sehingga proses komunikasi dapat berjalan relatif lebih cepat. 3 Mengalihkan modul pembangkit kunci RSA ke bagian online dari sistem untuk meningkatkan tingkat keamanan dari SES.
DAFTAR PUSTAKA Adiwidya, BMD. 2009. Algoritma AES (Advanced Encryption Standard) dan penggunaanya dalam penyandian pengompresian data [skripsi]. Bandung (ID): Teknik Informatika, Institut Teknologi Bandung. Bishop M. 2003. Computer Security: Art and Science. Boston (US): Pearson Education. Boneh D. 1999. Twenty years of attacks on the RSA cryptosystem. Notices of the American Mathematical Society (AMS). 46(2):203-213. Cummins J, Diskin P, Lau S, Parlett R. 2004. Steganography and Digital Watermarking. Birmingham (GB): University of Birmingham. Dakroury Y, El-ghafar IA, Tammam AH. 2010. Protecting GIS data using cryptography and digital watermarking. International Journal of Computer Science and Network Security. 10(1):75-84. Pfitzmann B. 1996. Information hiding terminology. Di dalam: Information Hiding: First International Workshop; 1996 Mei 30-Jun 1; Cambridge, UK. Springer Verlag. hlm 347-350. Schneier B. 1996. Applied Cryptography-Protocol, Algorithms, and Source Code in C. 2nd ed. New York (US): Jon Wiley & Sons. Setyawan H, Muchallil S, Arnia F. 2009. Implementasi steganografi dengan metode LSB. Jurnal Rekayasa Elektrika. 8(1):8-13. Turan MS, Barker E, Burr W, Chen L. 2010. Recommendation for passwordbased key derivation, part 1: storage applications. NIST Special Publication. 800-132. Zhu C, Yang C, Wang QS. 2008. A watermarking algorithm for vector geo-spatial data based on integer wavelet transform. The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. 37:15-18.
24 Lampiran 1 Diagram pengenkripsian shapefile menggunakan kunci 256 bit state
Key w[0,3]
AddRoundKey
ROUND 1
SubBytes ShiftRows MixColumns AddRoundKey
w[4,7]
Expand key
ROUND 13
SubBytes ShiftRows MixColumns
ROUND 14
AddRoundKey
w[52,55]
SubBytes ShiftRows AddRoundKey
w[56,59]
25 Lampiran 2 Pseudocode proses pembangkitan kunci RSA MASUKAN: KLen // panjang kunci yang diinginkan KELUARAN: E // informasi kunci publik D // informasi kunci privat 1 x = RANDOM(KLen/2) 2 p=x 3 while ( p <= 2^(KLen/2)) do 4 if p prime then 5 break 6 else p=p+2 7 end if 8 end while 9 y = RANDOM(KLen-KLen/2) 10 q=y 11 while (q <= 2^(KLen-KLen/2) do 12 if q prime then 13 break 14 else q=q+2 15 end if 16 end while 17 if p < q 18 SWAP(p,q) 19 if p==q 20 DISPOSE(p) 21 DISPOSE(q) 22 goto baris 1 23 n = p x q 24 phi=(p-1)(q-1) 25 e=2 26 while(e
26 Lampiran 3 Percobaan pertama uji ETime dan DTime No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Panjang kunci RSA (bit) 512 512 512 512 512 1024 1024 1024 1024 1024 2048 2048 2048 2048 2048 4096 4096 4096 4096 4096
Nama shapefile jawa_tengah_highway.shp banten_highway.shp jakarta_raya_highway.shp jawa_barat_highway.shp indonesia_highway.shp jawa_tengah_highway.shp banten_highway.shp jakarta_raya_highway.shp jawa_barat_highway.shp indonesia_highway.shp jawa_tengah_highway.shp banten_highway.shp jakarta_raya_highway.shp jawa_barat_highway.shp indonesia_highway.shp jawa_tengah_highway.shp banten_highway.shp jakarta_raya_highway.shp jawa_barat_highway.shp indonesia_highway.shp
Waktu enkripsi (ms) 126.0072 166.0095 186.0106 206.0117 11117.0639 268.0153 294.0168 670.0308 485.0277 1514.0866 3804.2176 5117.2927 1330.0761 2017.1154 3244.1855 23254.3301 54108.0948 21955.2558 16217.9276 21699.2411
Waktu dekripsi (ms) 114.0066 136.0078 165.0095 200.0114 1182.0676 111.0064 133.0076 171.0098 203.0116 1153.0659 164.0093 190.0109 214.0123 256.0146 1254.0717 510.0292 530.0303 562.0321 604.0345 1543.0882
27 Lampiran 4 Percobaan kedua uji ETime dan DTime No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Panjang kunci RSA (bit) 512 512 512 512 512 1024 1024 1024 1024 1024 2048 2048 2048 2048 2048 4096 4096 4096 4096 4096
Nama shapefile jawa_tengah_highway.shp banten_highway.shp jakarta_raya_highway.shp jawa_barat_highway.shp indonesia_highway.shp jawa_tengah_highway.shp banten_highway.shp jakarta_raya_highway.shp jawa_barat_highway.shp indonesia_highway.shp jawa_tengah_highway.shp banten_highway.shp jakarta_raya_highway.shp jawa_barat_highway.shp indonesia_highway.shp jawa_tengah_highway.shp banten_highway.shp jakarta_raya_highway.shp jawa_barat_highway.shp indonesia_highway.shp
Waktu enkripsi (ms) 118.0002 249.6005 296.4005 436.8008 1887.6033 327.6005 358.8006 452.4008 624.0011 1450.8025 1638.0029 3088.8054 2152.8038 1060.8019 3135.6055 14445.6254 60606.1065 18314.4322 9843.6173 10327.2182
Waktu dekripsi (ms) 109.2002 140.4002 218.4004 280.8005 1341.6023 124.8002 140.4002 171.6003 249.6005 1154.4021 156.0003 218.4004 218.4003 249.6005 1216.8021 514.8009 514.8009 561.6010 592.8010 1560.0027
28 Lampiran 5 Percobaan ketiga uji ETime dan DTime No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Panjang kunci RSA (bit) 512 512 512 512 512 1024 1024 1024 1024 1024 2048 2048 2048 2048 2048 4096 4096 4096 4096 4096
Nama shapefile jawa_tengah_highway.shp banten_highway.shp jakarta_raya_highway.shp jawa_barat_highway.shp indonesia_highway.shp jawa_tengah_highway.shp banten_highway.shp jakarta_raya_highway.shp jawa_barat_highway.shp indonesia_highway.shp jawa_tengah_highway.shp banten_highway.shp jakarta_raya_highway.shp jawa_barat_highway.shp indonesia_highway.shp jawa_tengah_highway.shp banten_highway.shp jakarta_raya_highway.shp jawa_barat_highway.shp indonesia_highway.shp
Waktu enkripsi (ms) 171.6003 187.2003 202.8004 218.4004 1076.4019 499.2009 702.0012 436.8008 499.2009 1357.2024 2511.6045 3369.6059 2152.8037 1872.0033 5943.0000 31418.4551 14462.8254 45442.8798 42447.6746 21200.4372
Waktu dekripsi (ms) 109.2002 124.8002 156.0003 218.4004 1170.0021 124.8002 140.4003 171.6003 218.4004 1185.6021 171.6003 202.8003 218.4004 249.6004 1123.202 514.8009 530.4009 561.6010 592.8010 1638.0029
29
RIWAYAT HIDUP Penulis dilahirkan di Pandeglang pada tanggal 14 Agustus 1989. Penulis merupakan anak pertama dari ayahanda bernama Anda Juanda dan ibunda bernama Ida Maherani Widaningsih. Penulis lulus dari Sekolah Menengah Atas Negeri (SMAN) 1 Serang pada tahun 2007. Penulis melanjutkan pendidikan pada tahun yang sama di Institut Pertanian Bogor (IPB) melalui jalur Seleksi Penerimaan Mahasiswa Baru (SPMB) dan diterima sebagai mahasiswa Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Selama masa kuliah, penulis aktif di beberapa kegiatan mahasiswa serta kepanitiaan di lingkungan kampus, antara lain: UKM Tae Kwon Do, panitia IT Today 2008, IT Today 2009, OMI 2009, Pesta Sains 2009, ISC 2009. Penulis pun aktif dalam kegiatan di Himpunan Mahasiswa Ilmu Komputer sebagai salah satu pengurus Divisi Komunitas. Penulis melaksanakan Praktik Kerja Lapangan di PT. Telekomunikasi Indonesia Divisi Bussiness Service pada tanggal 4 Juli 2011 sampai tanggal 19 Agustus 2011.