Pengembangan Bagian Offline pada Shapefile Encryption System (SES)

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
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).

2
3
4
5
6
7

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