PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA...

33
PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2013

Transcript of PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA...

Page 1: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA

BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA

EDI SYAHPUTRA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2013

Page 2: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel
Page 3: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

PERNYATAAN MENGENAI SKRIPSI DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA

Dengan ini saya menyatakan bahwa skripsi Pengembangan Aplikasi

Pertukaran SMS Rahasia Berbasis Andorid Menggunakan Algoritme RSA 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 disertasi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut

Pertanian Bogor.

Bogor, Desember 2013

Edi Syahputra

NIM G64096021

Page 4: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

ABSTRAK

EDI SYAHPUTRA. Pengembangan Aplikasi Pertukaran SMS Rahasia Berbasis

Android Menggunakan Algoritme RSA. Dibimbing oleh SHELVIE NIDYA

NEYMAN dan KARLINA KHIYARIN NISA.

Pengiriman pesan dengan menggunakan short message service (SMS)

merupakan suatu layanan yang sangat populer di kalangan pemakai telepon

seluler di Indonesia. Pengiriman SMS dari satu perangkat ke perangkat lain

membutuhkan perantara SMS center (SMSC) untuk menyimpan dan

menyampaikan SMS ke tujuan ketika perangkat tujuan tersedia. Teknologi SMS

memiliki kelemahan yaitu enkripsi hanya dilakukan antara mobile station (MS)

dan base transceiver station (BTS) sedangkan pada bagian lain tanpa enkripsi

sama sekali, sehingga memungkinkan serangan berupa penyadapan maupun

modifikasi. Metode RSA memiliki keunggulan yaitu tidak membutuhkan

pertukaran secret key dan dapat menjaga keaslian dari isi SMS. Aplikasi algoritme

RSA dapat diaplikasikan agar pertukaran SMS menjadi lebih aman dan terjaga

kerahasiaan isi pesan.

Kata kunci: Android, dekripsi, enkripsi, kriptografi, RSA, SMS rahasia

ABSTRACT

EDI SYAHPUTRA. Development of Secret SMS Exchange Application Based on

Android by Using RSA Algorithm. Supervised by SHELVIE NIDYA NEYMAN

and KARLINA KHIYARIN NISA.

Delivering message using short message service (SMS) is very familiar

among the users of cellular phone in Indonesia. SMS center (SMSC) is required to

keep and deliver SMS from one device to another device. The weakness of SMS

technology of is that the encryption only works between mobile station (MS) and

base transceiver station (BTS). Meanwhile on the other side, it is fully opened

without encryption so that some attacks such as hacking and modification become

highly possible. This research utilized RSA algorithm to secure the delivery of

SMS between one device and another. The advantage of RSA method is that it

does not need to exchange secret key and it is able to keep the original content of

SMS. It was found that RSA applications can be applied in order to guarantee the

security of SMS contents.

Keywords: Android, cryptography, decrypt, encrypt, RSA, secret SMS

Page 5: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

Skripsi

sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer

pada

Departemen Ilmu Komputer

PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA

BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA

EDI SYAHPUTRA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2013

Page 6: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

Penguji:

1 DrEng Heru Sukoco, BSc MEng

Page 7: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

Judul Skripsi : Pengembangan Aplikasi Pertukaran SMS Rahasia Berbasis

Android Menggunakan Algoritme RSA

Nama : Edi Syahputra

NIM : G64096021

Disetujui oleh

Shelvie Nidya Neyman, SKom Msi

Pembimbing I

Karlina Khiyarin Nisa, SKom MT

Pembimbing II

Diketahui oleh

Dr Ir Agus Buono, MSi Mkom

Ketua Departemen

Tanggal Lulus:

Page 8: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

Judul Skripsi Pengernbangan Aplikasi Pertukaran SMS Rahasia Berbasis Android Menggunakan Algoritrne RSA

Nama Edi Syahputra NIM G64096021

Disetujui oleh

Shelvie Nidya Neyman, SKorn MSi Karlina Khiyarin Nisa, Skorn MT

Pernbirnbing I Pernbirnbing II

Diketahui ~.t

MSi ~'n\..orn

Tanggal Lulus: O 7 FEB 20 '4

Page 9: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

PRAKATA

Segala puji syukur dan kemuliaan hanya kepada Tuhan Yesus Kristus atas

segala limpahan hasil karunia-Nya, sehingga penulis dapat menyelesaikan skripsi

yang berjudul “Pengembangan Aplikasi Pertukaran SMS Rahasia Berbasis

Android Menggunakan Algoritme RSA”.

Penulis menyadari skripsi ini masih jauh dari sempurna dan dalam

penyelesaiannya tidak lepas dari bimbingan, arahan dan bantuan dari berbagai

pihak, dalam kesempatan ini perkenankan penulis untuk mengucapkan terima

kasih dan penghargaan yang tinggi kepada yang terhormat :

1 Ayahanda Lodewyk Panjaitan, SH, Ibunda Nanamna Br Sembiring,

Kakanda Cony M. Br Panjaitan, Adinda Nancy R. Br Panjaitan dan Bery

C. Panjaitan beserta semua keluarga besar atas semua doa dan dukungan

yang senantiasa diberikan.

2 Miel Arta yang penuh dengan kesabaran untuk memberikan semangat,

motivasi, dan mendengarkan segala keluhan disaat penulis merasa jenuh

dan putus asa selama penyusunan skripsi.

3 Ibu Shelvie Nidya Neyman, SKom MSi dan Ibu Karlina Khiyarin Nisa,

SKom MT selaku dosen pembimbing yang senantiasa mencurahkan

waktu, tenaga, dan pikiran untuk penyelesaian skripsi ini.

4 Bapak DrEng Heru Sukoco, BSc MEng sebagai dosen penguji atas

segala masukan yang diberikan.

5 Seluruh dosen pengajar Departemen Ilmu Komputer FMIPA IPB untuk

semua yang telah mereka berikan selama penulis mengikuti proses

pembelajaran.

6 Seluruh staf yang telah membantu proses pembelajaran hingga selesai.

7 Rekan-rekan mahasiswa ekstensi ILKOM IPB khususnya seangkatan

Ilkom X4 atas persahabatan dan kebersamaan selama ini. Semoga

kebersamaan kita akan terus berjalan untuk selamanya.

8 Pihak-pihak lain yang tidak mungkin disebutkan satu persatu untuk

bantuannya dalam penyelesaian tugas akhir ini.

Akhir kata, masukan dari berbagai pihak tentu amat diharapkan untuk

membangun apa yang telah dicapai penelitian ini hingga menjadi lebih baik lagi.

Semoga penelitian ini memberikan manfaat untuk orang lain.

Bogor, Desember 2013

Edi Syahputra

Page 10: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

DAFTAR ISI

DAFTAR TABEL vii

DAFTAR GAMBAR vii

DAFTAR LAMPIRAN viii

PENDAHULUAN 1

Latar Belakang 1

Tujuan Penelitian 1

Ruang Lingkup Penelitian 2

TINJAUAN PUSTAKA 2

Android 2

Android Software Development Kit (SDK) 2

Arsitektur SMS 3

Keamanan SMS 3

Serangan pada SMS 4

Kriptografi 5

Protokol 6

Siklus Hidup Keamanan 6

Algoritme RSA 7

METODE 8

Identifikasi Layanan Keamanan 8

Penentuan Kebijakan 9

Spesifikasi 9

Desain 9

Implementasi 9

Pengujian 9

HASIL DAN PEMBAHASAN 9

Identifikasi Layanan Keamanan 9

Penentuan Kebijakan 10

Spesifikasi 10

Desain 11

Implementasi 15

Pengujian 16

Page 11: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

SIMPULAN DAN SARAN 17

DAFTAR PUSTAKA 18

LAMPIRAN 19

RIWAYAT HIDUP 20

Page 12: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

DAFTAR TABEL

1 Pengujian fungsionalitas 16

2 Kinerja enkripsi pesan 17

3 Kinerja dekripsi pesan 17

DAFTAR GAMBAR

1 Skema pengiriman SMS 3

2 Teknik spoofing SMS 4

3 Siklus hidup keamanan 6

4 Tahapan penelitian 8

5 Alur protokol 11

6 Proses pembangkitan pasangan kunci 12

7 Proses enkripsi pesan 12

8 Proses dekripsi pesan 13

9 Proses pengiriman SMS rahasia 13

10 Proses verifikasi SMS 14

11 Alur SMS rahasia 15

DAFTAR LAMPIRAN

1 Source code untuk pembangkitan pasangan kunci (gen_key.php) 19

2 Source code untuk enkripsi pesan (encrypt.php) 19

3 Source code untuk dekripsi pesan (decrypt.php) 19

Page 13: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel
Page 14: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

PENDAHULUAN

Latar Belakang

Kemajuan teknologi dewasa ini telah mengalami perkembangan yang

signifikan. Kemajuan ini pun dirasakan berdampak baik pada manusia. Hal ini

dikarenakan banyaknya permasalahan manusia yang mampu diselesaikan oleh

teknologi. Mulai dari masalah komunikasi sampai pada masalah keamanan telah

mampu dijawab oleh teknologi sekarang ini. Sehingga bisa dikatakan teknologi

saat ini telah menjadi tulang punggung bagi segala aktifitas manusia. Kemajuan

teknologi yang paling signifikan yang dapat kita lihat adalah kemajuan teknologi

dalam bidang informasi.

Salah satu perkembangan teknologi informasi terwakilkan dalam

perkembangan telepon seluler. Telepon seluler atau lebih dikenal sebagai ponsel

merupakan perangkat komunikasi populer berbasis mobile. Oleh karena itu, dunia

saat ini sedang melangkah pasti pada dunia mobile, dimana peralatan teknologi

informasi yang awalnya hanya bisa di kantor atau rumah mulai tergantikan dengan

notebook, netbook, smartphone, dan peralatan mobile yang lainnya. Telepon

seluler pun menjadi salah satu yang akan berperan aktif dalam dunia mobile ini.

Salah satu media komunikasi yang digunakan menggunakan ponsel adalah

short message service (SMS). SMS merupakan cara cepat dan mudah

berkomunikasi untuk menyampaikan pesan kepada orang lain. Layanan SMS juga

digunakan untuk transaksi perbankan yaitu dengan mengirimkan informasi saldo,

laporan transaksi yang baru saja dilakukan dan PIN untuk transaksi e-Banking.

Namun, semakin praktis dan efektif sebuah teknologi maka semakin rentan

juga teknologi itu terhadap sasaran dari tindak kejahatan pada dunia mobile ini.

Teknologi pun menjadi rentan terhadap segala tindak kecurangan yang mampu

dilakukan oleh orang-orang yang mampu memasuki daerah privasi ini.

Kemungkinan kerentanan sistem keamanan pada teknologi informasi ini juga

dialami pada layanan SMS.

SMS memiliki berbagai kelemahan yaitu SMS dibangun dengan system dan

program yang sama. SMS juga melakukan roaming jaringan setempat hingga ke

jaringan asing sehingga dimungkinkan adanya SMS spoofing dalam bentuk

penyamaran atau manipulasi informasi seperti alamat atau data lainnya yang

menyerupai user. Kelemahan lainnya yaitu isi SMS yang dikirim bersifat terbuka

di system penyedia jasa maupun pegawainya. Hal ini semakin menuntut kekuatan

pada keamanan data yang dimiliki oleh SMS.

Penelitian ini akan mengaplikasikan algoritme RSA pada SMS untuk

meningkatkan aspek confidentiality, integrity, authenticity, dan non-repudiation

pada perangkat mobile berbasis Android. Aplikasi dikembangkan dan diujikan

pada perangkat ponsel yang mendukung Android dengan versi minimal 2.3.

Tujuan Penelitian

Tujuan dari penelitian ini adalah mengembangkan aplikasi pengiriman SMS

rahasia sehingga menjamin kerahasiaan isi pesan dan menjamin otentikasi

Page 15: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

2

pengirim sebenarnya. Dengan demikian cracker akan kesulitan untuk membaca,

mengubah SMS, dan memalsukan otentikasi pesan antara dua perangkat berbasis

Android.

Ruang Lingkup Penelitian

Ruang lingkup penelitian ini yaitu:

1 Penerapan pembangkitan kunci publik dan pribadi menggunakan algoritme

RSA;

2 Distribusi kunci publik dilakukan via SMS;

3 Penggunaan enkripsi dan dekripsi SMS menggunakan algoritma RSA sebagai

peningkatan keamanan SMS;

4 Ponsel pengirim dan penerima harus memakai aplikasi yang dikembangkan;

5 Tidak membahas/menganalisa overhead cost pemakaian aplikasi dibandingkan

dengan aplikasi SMS biasa;

6 Hanya untuk satu pengirim dan satu penerima.

TINJAUAN PUSTAKA

Android

Android bukan hanya untuk perangkat mobile saja, Android merupakan

sebuah sistem operasi yang dikemas sedemikian rupa sehingga dapat digunakan

untuk berbagai perangkat yang menggunakan layar.

Awalnya, Google membeli Android, pendatang baru yang membuat peranti

lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open

Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan

telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile,

dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android

bersama Open Handset Alliance menyatakan mendukung pengembangan standar

terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android

di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka

perangkat seluler.

Android Software Development Kit (SDK)

Layanan SMS, merupakan salah satu layanan pengiriman pesan. Layanan

SMS terdapat di hampir semua perangkat telepon seluler. Layanan SMS

memungkinkan pengiriman pesan pendek berbasis teks melalui jalur komunikasi.

Pengiriman dilakukan dari satu pengguna ke pengguna lain atau dari satu

pengguna ke suatu aplikasi. Sebuah pesan SMS memiliki kapasitas maksimal 140

byte. Untuk karakter 8 bit sebuah pesan bisa memuat 140 karakter, untuk 7 bit

sebanyak 160 karakter, dan untuk karakter 16 bit seperti Bahasa Jepang, Bahasa

Mandarin, dan Bahasa Korea yang memakai huruf Kanji, dapat memuat 70

karakter. Pengguna dapat mengirimkan lebih dari 140 byte, namun akan dihitung

mengirim pesan lebih dari satu SMS (Ayuningtyas 2007).

Page 16: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

3

Layanan SMS awalnya dirancang sebagai bagian dari jaringan global system

for mobile communication (GSM). Seiring dengan berkembangnya teknologi,

layanan ini juga dibawa ke jaringan lain seperti general packet radio service

(GPRS) dan code division multiple access (CDMA). Skema pengiriman SMS

ditunjukkan pada Gambar 1.

Gambar 1 Skema pengiriman SMS (Bodic 2003).

SMS yang dikirim oleh pengirim akan diterima oleh operator

telekomunikasi yang digunakan pengirim. Operator ini akan mengirimkan SMS

tersebut ke operator yang digunakan penerima. Bila pengirim dan penerima masih

satu operator, proses ini tidak terjadi. Operator penerima kemudian mengirimkan

SMS tersebut ke penerima yang dituju oleh pengirim. Penerima secara otomatis

akan mengirim status report ke pengirim. Status report ini akan melalui proses

yang sama dengan pesan yang dikirim. Saat ini, pengiriman SMS sudah dapat

melintasi teknologi baik itu GSM ke CDMA atau sebaliknya. Proses lintas

teknologi ini dilakukan antar operator telekomunikasi.

Arsitektur SMS

Suatu pesan SMS dikirim melalui kanal sinyal GSM antara mobile station

(MS) dan base transceiver station (BTS). Pesan ini mengalir seperti panggilan

normalnya, tetapi mereka diarahkan dari mobile station center (MSC) ke short

message service center (SMSC). SMSC menyimpan pesan tersebut sampai dapat

dikirim kepada penerima ataupun sampai kepada validitas waktu dari pesan telah

terlewati. Penerima dari pesan ini dapat berupa pemakai MS maupun SMS

gateway. SMS gateway yaitu suatu server yang terkoneksi kepada satu atau lebih

SMSC untuk menyediakan aplikasi SMS kepada pemakai MS.

Keamanan SMS

Dua aspek penting dari suatu entitas yang menggunakan teknologi SMS

untuk pertukaran data pribadi maupun bisnis adalah sebagai berikut:

1 SMS bukanlah suatu lingkungan yang aman;

2 Pelanggaran keamanan sering terjadi lebih mudah pada konsentrasi terhadap

manusia daripada teknologi (Jones 2002).

Isi dari pesan SMS tidak terenkripsi pada sistem operator, sehingga

karyawan maupun penyusup pada sistem operator dapat dengan mudah

melakukan penyadapan maupun perubahan. Dengan demikian SMS bukanlah

teknologi yang cocok untuk komunikasi yang membutuhkan keamanan.

Kebanyakan pemakai tidak menyadari bahwa pembacaan isi SMS dapat dengan

mudah dilakukan oleh karyawan operator. Keamanan pada jaringan ini juga sangat

Page 17: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

4

longgar proteksinya, sehingga menjadi sasaran cracker karena isi dari pesan

dikirim dalam bentuk plaintext. Walaupun pada gateway telah memiliki

authentication, tetapi kebanyakan menggunakan protokol dengan plaintext yang

mengandung informasi nama login dan password. Serangan man-in-the-middle-

attack dapat saja dilakukan walaupun tidak mudah dilakukan karena biasanya

gateway dan SMS center (SMSC) berada di belakang firewall.

Serangan pada SMS

Koneksi antara SMSC dan SMS gateway adalah bukan merupakan bagian

dari standard GSM, yang memungkinkan pemakaian protokol seperti TCP/IP dan

X.25 untuk komunikasi antara SMSC dan gateway. Koneksi tersebut juga

bukanlah merupakan bagian dari jaringan GSM, tetapi merupakan jaringan antara

operator dengan penyedia konten, atau bahkan dengan internet.

Permasalahan lainnya yang perlu diketahui adalah adanya kemungkinan

penyerang untuk membuat suatu gateway dimana dia berpura-pura menjadi

gateway yang sebenarnya. Gateway palsu ini kemudian dapat mengirim segala

jenis SMS kepada pemakai Mobile Station (MS) melalui SMSC tersebut dengan

memanipulasi informasi pengirim pesan pada field tertentu pada SMSC protocol.

Dengan teknik spoofing ini dimungkinkan untuk memanipulasi Mobile Station

International ISDN Number (MSISDN) sehingga seakan-akan pesan tersebut

datang dari telepon seluler tertentu. Keberhasilan teknik ini tergantung kepada

implementasi pada SMSC. SMSC dapat juga cukup cerdas untuk memeriksa

keabsahan pengirim dan memblokir pesan tersebut, karena berasal dari suatu

gateway yang bukan merupakan suatu telepon seluler. Dalam hal ini penyerang

membuat suatu SMSC simulator yang berpura-pura menjadi suatu SMSC yang

sebenarnya sebagaimana ditunjukkan Gambar 2.

Gambar 2 Teknik spoofing SMS (Lenstra dan Verheul 2001)

Page 18: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

5

Pada Gambar 2 dapat dijelaskan bahwa SMS dikirim kepada SMS-C dengan

memanipulasi MSISDN seakan-akan berasal dari pemakai akhir dari public land

mobile network (PLMN) A, dan mengirim SMS kepada pemakai akhir pada

PLMN B. Layanan ini diharapkan dapat mengatasi ancaman keamanan berupa

pemalsuan pengirim atau penyamaran dan perubahan isi pesan oleh pihak yang

tidak berwenang.

Kriptografi

Kriptografi berasal dari bahasa Yunani, yang terdiri dari kata crypto dan

graphia. Crypto berarti rahasia dan graphia berarti tulisan. Kriptografi merupakan

ilmu dan seni untuk menjaga keamanan pesan ketika dikirim dari sebuah sumber

informasi ke suatu tujuan pengiriman informasi. Para sejarahwan percaya bahwa

hieroglif Mesir, yang dimulai sekitar tahun 1900, merupakan contoh

pengenkripsian yang paling awal ditemukan. Kunci yang dapat memecahkan

rahasia hieroglif adalah Rosetta Stone, ditemukan tahun 1799 di Mesir dan

sekarang berada di British Museum, London. Francois Champollion,

menggunakan Rosetta Stone, mendekripsi hieroglif pada tahun 1822 (Konheim

2007).

Pesan yang dikirimkan dapat berupa teks, data numerik, dan data jenis lain

disebut dengan plaintext. Dengan melakukan proses enkripsi, plaintext tersebut

berubah menjadi ciphertext. Proses untuk mengembalikan ciphertext menjadi

plaintext disebut dengan proses dekripsi. Untuk melakukan proses dekripsi

diperlukan adanya suatu kunci rahasia.

Tujuan dari kriptografi adalah (Schneier 1996):

1 Kerahasiaan (confidentiality) adalah layanan yang digunakan untuk menjaga isi

informasi dari semua pihak kecuali pihak yang memiliki otoritas terhadap

informasi. Ada beberapa pendekatan untuk menjaga kerahasiaan, dari

pengamanan secara fisik hingga penggunaan algoritma matematika yang

membuat data tidak dapat dipahami. Istilah lain yang senada dengan

confidentiality adalah secrecy dan privacy.

2 Integritas data adalah layanan penjagaan pengubahan data dari pihak yang

tidak berwenang. Untuk menjaga integritas data, sistem harus memiliki

kemampuan untuk mendeteksi manipulasi pesan oleh pihak-pihak yang tidak

berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain

kedalam pesan yang sebenarnya. Di dalam kriptografi, layanan ini

direalisasikan dengan menggunakan tanda-tangan digital (digital signature).

Pesan yang telah ditandatangani menyiratkan bahwa pesan yang dikirim adalah

asli.

3 Otentikasi adalah layanan yang berhubungan dengan identifikasi, baik

mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user

authentication atau entity authentication) maupun mengidentifikasi kebenaran

sumber pesan (data origin authentication). Dua pihak yang saling

berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat

memastikan sumber pesan. Pesan yang dikirim melalui saluran komunikasi

juga harus diotentikasi asalnya. Otentikasi sumber pesan secara implisit juga

Page 19: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

6

memberikan kepastian integritas data, sebab jika pesan telah dimodifikasi

berarti sumber pesan sudah tidak benar. Oleh karena itu, layanan integritas data

selalu dikombinasikan dengan layanan otentikasi sumber pesan. Di dalam

kriptografi, layanan ini direalisasikan dengan menggunakan tanda-tangan

digital (digital signature). Tanda-tangan digital menyatakan sumber pesan.

4 Nirpenyangkalan (non-repudiation) adalah layanan untuk mencegah entitas

yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan

menyangkal melakukan pengiriman atau penerima pesan menyangkal telah

menerima pesan.

Protokol

Protokol merupakan rangkaian langkah-langkah yang melibatkan dua entitas

atau lebih dan didesain untuk menyelesaikan masalah (Schneier 1996).

Karakteristik protokol adalah sebagai berikut:

1 Semua pihak yang terlibat dalam protokol harus mengetahui keberadaan

protokol dan mengikuti keseluruhan langkah-langkah yang terdapat di dalam

protokol.

2 Semua pihak yang terlibat harus menyetujui penggunaan protokol tersebut.

3 Setiap langkah yang ada di dalam protokol harus jelas dan tidak

membingungkan.

4 Protokol yang digunakan harus lengkap menjelaskan tindakan yang dilakukan

untuk semua kemungkinan yang terjadi.

Siklus Hidup Keamanan

Salah satu metode pembangunan protokol adalah berdasarkan siklus hidup

keamanan (security life cycle). Siklus ini terdiri atas rangkaian tahap. Setiap tahap

dapat kembali lagi ke tahap sebelumnya walau belum menyelesaikan satu siklus.

Gambar 3 menunjukkan siklus hidup keamanan (Bishop 2002).

Threats

Policy

Spesification

Design

Implementation

Operation and

Maintenance

Gambar 3 Siklus hidup keamanan (Bishop 2002)

Page 20: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

7

Penjelasan dari siklus hidup keamanan pada Gambar 3 adalah sebagai

berikut:

1 Threat atau ancaman. Pada tahap ini, dilakukan analisis ancaman-ancaman

yang berpotensi menyerang protokol. Identifikasi ini bertujuan agar layanan

yang dibuat nantinya mampu mengatasi ancaman-ancaman tersebut.

2 Policy atau kebijakan. Kebijakan yang dibuat berdasarkan ancaman yang telah

diidentifikasi. Kebijakan-kebijakan yang dibuat harus mampu mengatasi

ancaman-ancaman pada layanan yang dibuat.

3 Specification. Spesifikasi merupakan pernyataan fungsional. Spesifikasi

mendeskripsikan metode sistem dalam memberikan layanan keamanan.

Spesifikasi juga menentukan kebutuhan yang relevan dengan layanan yang

dibuat.

4 Design. Pada tahap ini, apa yang telah ada di tahap spesifikasi diterjemahkan

ke dalam komponen-komponen yang siap untuk diimplementasikan.

5 Implementation. Pada tahap ini, apa yang ada di tahap desain

diimplementasikan. Tahap ini menghasilkan aplikasi protokol yang sesuai

dengan tahap desain. Aplikasi yang memenuhi desain berarti memenuhi

spesifikasi.

6 Operation and maintenance atau pengoperasian dan perawatan. Pada tahap ini,

dijelaskan bagaimana proses pengoperasian aplikasi yang dikembangkan

hingga berhasil sesuai dengan tujuan sedangkan perawatan merupakan proses

perubahan-perubahan yang terjadi dari aplikasi yang dikembangkan hingga

perkembangannya menjadi lebih baik lagi.

Algoritme RSA

Algoritma RSA mengambil nama dari Ron Rivest, Adi Shamir dan Len

Adleman yang menciptakan metode ini pada tahuin 1977. Teknik dasarnya

ditemukan pertama kali pada tahun 1973 oleh Clifford Cock dari CESG (bagian

dari British GCHQ) tetapi dirahasiakan sampai tahun 1977. Paten dimiliki oleh

RSA Labs dan telah expired (Ireland 2011). Keamanan algoritme RSA terletak

pada sulitnya memfaktorkan bilangan bulat yang berukuran besar (Schneier 1996).

RSA digunakan untuk enkripsi suatu berita tanpa membutuhkan pertukaran

secret key. Sebagai contoh, dalam suatu skema pengiriman pesan dari Alice ke

Bob, Alice dapat mengirim pesan tersandi kepada Bob tanpa perlu pertukaran

secret key sebelumnya. Alice cukup menggunakan kunci publik milik Bob untuk

proses enkripsi berita menjadi ciphertext, dan Bob menggunakan kunci pribadi

yang hanya diketahuinya untuk proses dekripsi ciphertext tersebut menjadi

plaintext. RSA juga dapat digunakan untuk suatu tandatangan digital pada berita,

dimana Alice menandatangani pesan dengan menggunakan kunci pribadi-nya dan

Bob dapat memeriksanya dengan menggunakan kunci publik milik Alice (Ireland,

2011).

Langkah-langkah algoritme RSA untuk membangkitkan kunci adalah

sebagai berikut:

1 Membangkitkan dua bilangan acak prima x dan y dengan jumlah bit yang sama.

2 Hitung nilai n = xy.

Page 21: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

8

3 Hitung nilai (n) = (x – 1)(y – 1).

4 Memilih bilangan bulat e. Nilai e merupakan bilangan prima relatif dari (n)

dan tidak memiliki faktor bersama kecuali 1. Persamaan untuk nilai e dapat

dituliskan dengan gcd(e, (n)) = 1.

5 Menghitung nilai d. Nilai d didapat dari perhitungan e*d ≡ 1 mod (n)

sehingga d = e-1

mod (n).

Yang menjadi kunci publik adalah pasangan (n, e) dan yang menjadi kunci

pribadi adalah d.

Pesan yang akan dikirim dianggap sebagai bilangan integer p. Enkripsi dilakukan

dengan melakukan perhitungan c = pe(mod n). C merupakan pesan yang sudah

dienkripsi. Proses dekripsi dilakukan dengan melakukan perhitungan

p = cd(mod n). Nilai p merupakan pesan asli.

METODE

Penelitian dilakukan dengan lima tahap yang digunakan dan berdasarkan

siklus hidup keamanan (Bishop 2002).

Tahapan tersebut meliputi identifikasi layanan keamanan dari ancaman-

ancaman (threats), penentuan kebijakan (policy), spesifikasi (specification),

desain (design), implementasi (implementation), dan pengujian (testing)

sedangkan untuk tahapan operation dan maintenance tidak dilakukan. Tahapan

penelitian ditunjukkan pada Gambar 4.

Threats

Policy

Spesification

Design

Implementation

Gambar 4 Tahapan penelitian

Identifikasi Layanan Keamanan

Pada tahap ini, dilakukan identifikasi layanan keamanan pertukaran SMS

yang akan digunakan. Layanan ini diharapkan dapat mengatasi ancaman

Page 22: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

9

keamanan berupa pemalsuan pengirim (penyamaran) dan modifikasi pesan oleh

pihak yang tidak berwenang.

Penentuan Kebijakan

Pada tahap ini, ditentukan kebijakan-kebijakan yang akan diterapkan pada

aplikasi dikembangkan. Kebijakan ini harus dapat diterapkan di aplikasi

pertukaran SMS yang dikembangkan agar dapat mengatasi ancaman keamanan

yang ada.

Spesifikasi

Pada tahap ini, ditentukan berbagai elemen yang ingin diterapkan pada

aplikasi pertukaran SMS.

Desain

Pada tahap ini, dilakukan perancangan aplikasi pertukaran SMS.

Perancangan dilakukan berupa perancangan protokol, perancangan proses, dan

cara kerja aplikasi pertukaran SMS.

Implementasi

Pada tahap ini, dilakukan implementasi sesuai dengan desain yang telah

dilakukan. Implementasi dilakukan dengan menggunakan Android karena aplikasi

dikembangkan untuk digunakan di telepon seluler.

Pengujian

Pada tahap ini, aplikasi telah selesai diuji. Pengujian yang dilakukan adalah

pengujian fungsionalitas dan pengujian kinerja aplikasi pertukaran SMS.

HASIL DAN PEMBAHASAN

Identifikasi Layanan Keamanan

Layanan keamanan pertukaran SMS didesain untuk dapat memberikan

layanan autentikasi dan integritas data untuk mengatasi masalah penipuan yang

dilakukan cracker. Layanan ini juga dapat memberikan fungsi anti penyangkalan.

Layanan anti penyangkalan memungkinkan pihak pengirim tidak dapat

menyangkal sebagai pemilik pesan yang diterima oleh penerima.

Page 23: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

10

Masalah keamanan yang menjadi sorotan utama pada pengembangan sistem

ini adalah tentang kerahasiaan isi pesan. Kerahasiaan tersebut berupa ancaman

pembacaan isi pesan oleh pihak yang bukan seharusnya membaca isi pesan,

sehingga informasi menjadi rentan untuk tetap bersifat rahasia. Ancaman

pemalsuan terkait dengan autentikasi pesan. Masalah modifikasi terkait integritas

data.

Untuk itu diperlukan sistem proteksi yang dapat menjaga isi SMS dengan

menggunakan algoritme RSA. Pada sisi pengirim akan mengenkripsi pesan

dengan kunci publik penerima kemudian dienkripsi lagi dengan kunci pribadi

pengirim. Lalu di sisi penerima akan mendekripsi pesan dengan kunci publik

pengirim kemudian didekripsi lagi dengan kunci pribadi penerima. Dengan

demikian akan dapat dipastikan hanya penerima yang sah yang dapat mendekripsi

pesan dan bahwa benar pengirim yang sah yang mengirim pesan tersebut.

Penentuan Kebijakan

Kebijakan keamanan yang diterapkan adalah sebagai berikut:

1 User Policy

Terdapat dua pengguna yaitu pengirim dan penerima. Pengirim bertindak

juga sebagai penanda. Hak dari pengirim adalah:

Membangkitkan pasangan kunci RSA.

Mengirimkan kunci publik ke penerima.

Mengamankan isi SMS yang dikirimkan.

Penerima bertindak juga sebagai pihak yang melakukan verifikasi. Hak

dari penerima adalah:

Membangkitkan pasangan kunci RSA

Menerima kunci publik dari pengirim.

Melakukan verifikasi valid tidaknya isi SMS.

2 IT Policy

Masing-masing pasangan kunci pada pengirim dan penerima dicatat untuk

proses enkripsi dan dekripsi pesan.

3 General Policy

Kebijakan lain yang diterapkan adalah sebagai berikut:

Pengirim tidak diijinkan untuk menyebarkan atau mempertukarkan kunci

pribadi yang dimilikinya.

Jika pengirim dan penerima membangkitkan kunci lagi, kunci yang lama

akan dianggap tidak valid dan akan ditulis-ulang dengan kunci yang baru.

Spesifikasi

Pembangkitan pasangan kunci, enkripsi pesan, dan dekripsi pesan

berdasarkan algoritme RSA yang dilakukan oleh server. Pengiriman SMS yang

sudah terenkripsi dilakukan melalui jaringan telekomunikasi yang ada pada ponsel

Page 24: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

11

yang digunakan seperti GSM atau CDMA. SMS tersebut kemudian diverifikasi

oleh aplikasi penerima. Hasil verifikasi akan menunjukkan apakah SMS tersebut

valid atau tidak. Hasil dari verifikasi tersebut dapat dijadikan sebagai cara untuk

menjamin otentikasi SMS dan integritas SMS.

Desain

Tahapan desain merupakan proses yang dilakukan untuk merancang

pembuatan sistem. Secara umum aplikasi yang dirancang terdiri dari 3 komponen

utama yaitu:

1 Aktifitas untuk pembangkitan kunci publik dan kunci pribadi pemakai dengan

algoritma RSA.

2 Aktifitas untuk mengirim kunci publik dan SMS terenkripsi pemakai kepada

alamat target tujuan dengan menggunakan SMS.

3 Aktifitas yang berfungsi menampilkan plaintext dari SMS terenkripsi.

4 Aktifitas untuk membangkitkan kunci publik dan kunci pribadi pemakai,

enkripsi pesan, dan dekripsi pesan pada server.

Keempat bagian tersebut mengikuti protokol yang ditunjukkan pada

Gambar 5.

Mulai

Pembangkitan

pasangan kunci RSA

Mengirim kunci

publik dan SMS

enkripsi

Verifikasi kunci

pada SMS

Selesai

Gambar 5 Alur protokol

Proses pembangkitan pasangan kunci mengikuti algoritme RSA yang telah

ada, yaitu:

1 Membangkitkan dua bilangan acak prima x dan y dengan jumlah bit yang sama.

2 Hitung nilai n = xy.

3 Hitung nilai (n) = (x – 1)(y – 1).

4 Pilih sembarang bilangan e, 1< e < (n); {x|gcd(x,n)=1}

5 Hitung inversi dari e, yaitu d*e = 1+k((n)).

Yang menjadi kunci publik adalah pasangan (e, n)

Yang menjadi kunci pribadi adalah (d, n)

Page 25: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

12

Mulai

Pili bilangan prima

x & y

n = x x y

Ф(n) = (x-1)(y-1)

Pilih integer e

gcd(ф(n),e) = 1

1 < e < ф(n)

Hitung d

d * e = 1+ k (ф(n))

Kunci publik = {e,n}

Kunci private = {d,n}

Selesai

Gambar 6 Proses pembangkitan pasangan kunci.

Setelah kunci dibangkitkan pada pengirim dan penerima, lalu dilakukan

penyebaran kunci publik via SMS dari pengirim SMS untuk proses pembentukan

SMS enkripsi dan untuk proses dekripsi SMS pada penerima SMS.

Algoritma enkripsi:

1 Ambil kunci publik penerima pesan, e, dan modulus n.

2 Nyatakan plainteks p menjadi blok-blok p1, p2, ..., sedemikian sehingga tiap

blok mempresentasikan nilai di dalam selang [0, n – 1]

3 Setiap blok p1 dideskripsikan menjadi blok ci dengan rumus ci = pie mod n atau

lebih mudahnya enkripsi = pesane mod n

Mulai

Pembangkitan

kunci

c = pe mod n

Selesai

Gambar 7 Proses enkripsi pesan

Page 26: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

13

Algoritma dekripsi:

1 Setiap blok chiperteks ci dideskripsi kembali menjadi blok pi dengan rumus

pi =cid mod n atau lebih mudahnya pesan=enkripsi

d mod n

2 Ambil kunci publik (n,e) dan kunci pribadi (n,d)

3 Dekripsi: p=cd mod n

Mulai

Pembangkitan

kunci

p = cd mod n

Selesai

Gambar 8 Proses dekripsi pesan

Desain proses pembentukan SMS rahasia ditunjukkan pada Gambar 9.

Tahap-tahap yang dilakukan pada proses pembentukan SMS rahasia adalah

sebagai berikut:

1 Masukan adalah SMS yang akan dikirim.

2 Pada SMS plainteks akan dienkripsi dengan parameter kunci publik penerima

sebagai C1.

3 C1 kemudian dienkripsi menggunakan parameter kunci pribadi pengirim SMS

menjadi C2.

4 Hasil enkripsi tersebut (C2) yang akan dikirim ke penerima.

Mulai

SMS

Enkripsi

kunci publik penerima

C1

Enkripsi

Kunci private

pengirim C2

Kirim C2 via SMS ke

tujuan

Selesai

Gambar 9 Proses pengiriman SMS rahasia

Page 27: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

14

Desain proses verifikasi pesan (dekripsi) ditunjukkan pada Gambar 10.

Tahap-tahap verifikasi SMS rahasia adalah sebagai berikut:

1 Masukan pada penerima adalah SMS yang telah terenkripsi hasil dari pengirim

(C2).

2 SMS enkripsi, didekripsi menggunakan parameter kunci publik pengirim

sebagai P1.

3 P1 kemudian didekripsi dengan kunci pribadi sebagai plainteks.

4 Hasil dekripsi tersebut didapat plainteks yang jika terbaca maka SMS tersebut

bernilai valid dan jika tidak dapat dibaca maka SMS tersebut bernilai tidak

valid.

Mulai

SMS enkripsi

Dekripsi

kunci publik pengirim

P1

Dekripsi

kunci private penerima

P2

SMS tidak validPlainteks

terbaca?

SMS valid

Selesai

Tidak

Ya

Gambar 10 Proses verifikasi SMS

Untuk alur menyeluruh proses pengiriman pesan ditunjukkan pada

Gambar 11.

Page 28: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

15

PONSEL

A

PONSEL

BServer

GENERATE KEY GENERATE KEY

GET KEY

GET KEY

A. PROSES PEMBANGKITAN KUNCI

PONSEL

A

PONSEL

B

Server Server

PRESS SEND BUTTON ON HANDSET

SEND SMS ENKRIPSI

SEND SMS ENKRIPSI

A input nilai kunci Publik B dan Pribadi A beserta SMS ASLI

SERVER MELAKUKAN ENRKIPSI(kunci publik B + kunci pribadi A + SMS ASLI) OPERATOR

B input nilai kunci Publik A dan Pribadi B beserta SMS ENKRIPSI

SERVER MELAKUKAN DEKRIPSI(kunci publik A + kunci pribadi B + SMS ENKRIPSI)

PRESS DEKRIP BUTTON

ON HANDSET

“VALID”

GET SMS ASLI

B. PROSES PENYEBARAN KUNCI

PONSEL

A

PONSEL

B

SEND PUBLIK KEY A VIA SMS

SEND PUBLIK B VIA SMS

C. PROSES PENGIRIMAN SMS

Gambar 11 Alur SMS rahasia

Pada proses A yaitu pembangkitan kunci, ponsel A dan B meminta server

untuk membangkitkan kunci dengan method POST sehingga mendapatkan kunci

publik dan kunci pribadi. Pada proses B yaitu proses penyebaran kunci, ponsel A

dan B hanya melakukan pertukaran kunci publik melalui SMS biasa. Kunci publik

diperlukan untuk proses enkripsi dan dekripsi. Pada proses C yaitu pengiriman

SMS rahasia, ponsel A bertindak sebagai pengirim memasukkan nomor ponsel B,

kunci publik B, dan kunci pribadi A beserta SMS asli. Lalu si A memilih menu

send pada aplikasi SMS rahasia untuk selanjutnya server melakukan proses

enkripsi dan SMS rahasia tersebut dikirimkan melalui jalur SMS biasa hingga si B

mendapatkan pemberitahuan SMS masuk. SMS masuk akan berada pada inbox

aplikasi SMS rahasia. Untuk mendapatkan validasi dan isi pesan asli dari SMS

rahasia tersebut si B harus memasukkan kunci publik A dan kunci pribadi B.

Selanjutnya proses dekripsi SMS rahasia dilakukan oleh server, jika nilai

parameter yang dibutuhkan sesuai maka si B akan mendapatkan SMS asli. Namun

jika nilai parameter yang dimasukkan salah, maka si B tidak dapat membaca

pesan tersebut.

Implementasi

Implementasi dilakukan sesuai dengan desain yang telah dibuat. Perangkat

yang digunakan terdiri atas perangkat keras, perangkat lunak, dan perangkat uji.

Perangkat keras yang digunakan adalah sebagai berikut:

1 Processor Intel Celeron M 430 1.70 GHz.

2 RAM 2 GB.

3 Harddisk kapasitas 250 GB.

Page 29: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

16

Perangkat lunak yang digunakan adalah sebagai berikut:

1 Sistem operasi Microsoft Windows XP Service Pack 3 32-bit.

2 JDK 7 Update 25 32 bit.

3 Eclipse Juno v.21.

4 XAMPP v.1.8.

Perangkat uji untuk mencoba aplikasi ini adalah telepon seluler. Telepon

seluler yang digunakan adalah Smartfren Andromax U. Ponsel ini menggunakan

sistem operasi Android 4.1.2 dengan processor quad core 1.2 GHz, RAM 1 GB.

Perangkat uji lain adalah LG L7 II Dual dengan processor dual core berkecepatan

1.2 GH, RAM 768 MB. Ponsel ini menggunakan sistem operasi Android 4.1.2.

Untuk membangkitkan kunci RSA, mengenkripsi SMS, dan mendekripsi SMS

dilakukan menggunakan PHP.

Pengujian

Pengujian terdiri dari 2 sisi penilaian yaitu:

Pengujian pembacaan pesan, bagaimana pesan dapat dibaca sesuai dengan

pesan asli dari pengirim tanpa ada perubahan pesan asli.

Pengujian kinerja aplikasi, dengan menggunakan waktu untuk mengukur

kinerja masing-masing telepon seluler.

Pengujian awal dilakukan dengan cara pembangkitan pasangan kunci RSA,

lama pengiriman SMS bergantung pada kemampuan jaringan dan tidak ada

perbedaan dengan pengiriman SMS biasa.

1 Pengujian fungsionalitas yang dilakukan terdiri atas 6 pengujian. Pengujian

ditunjukkan pada Tabel 1.

Tabel 1 Pengujian fungsionalitas

Kasus Parameter kunci Andromax U Parameter kunci LG L7 II Dual Hasil

verifikasi

1 Valid Valid (Pasangan dari Andromax U) True

2 Valid (LG L7 II Dual) Valid True

3 Valid (Milik sendiri) Valid (Milik sendiri) False

4 Valid Invalid False

5 Invalid Valid False

6 Invalid Invalid False

Pengujian pertama dan kedua merupakan pengujian yang memberikan

verifikasi benar (true). Pada pengujian ini, penerima memasukkan parameter

kunci publik yang sesuai dengan parameter kunci pribadi yang membentuk pesan.

Pengujian ketiga dilakukan dengan cara kedua ponsel mengenkripsi dan

mendekripsi pesan dengan kuncinya masing-masing. Pengujian keempat, kelima,

dan keenam melibatkan parameter kunci invalid. Maksud dari parameter kunci

invalid adalah ada satu atau lebih parameter yang bukan pasangan parameter yang

lainnya. Pasangan parameter yang invalid menyebabkan pesan tidak dapat dibaca.

2 Perhitungan waktu enkripsi pesan dilakukan saat tombol “send” pada aplikasi

ditekan hingga diterima oleh pengirim. Cara ini tentu menghasilkan bias yang

diakibatkan waktu pengiriman. Bias pada pengujian ini menjadi semakin besar

karena ditambah penggunaan stopwatch. Di samping itu, penggunaan produk

Page 30: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

17

yang berbeda dari operator dapat berpengaruh pada kapasitas jaringan. Hasil

pengujian kinerja penerimaan SMS beserta verifikasi SMS rahasia ditunjukkan

pada Tabel 2.

Tabel 2 Kinerja enkripsi pesan

Pesan Asli Jumlah Karakter

Pesan Enkripsi

Pada

Andromax U

Pada

LG L7 II Dual

Hello 150 kar 1.45 detik 1.99 detik

Skripsi 155 kar 2.37 detik 2.86 detik

Percobaan 159 kar 2.92 detik 3.30 detik

3 Perhitungan waktu dekripsi pesan dilakukan setelah pesan diterima oleh

pengirim. Cara ini menghasilkan bias pada pengujian. Bias ini menjadi

semakin besar karena ditambah bias penggunaan stopwatch. Hasil pengujian

kinerja penerimaan SMS beserta verifikasi SMS rahasia ditunjukkan pada

Tabel 3.

Tabel 3 Kinerja dekripsi pesan

Jumlah Karakter

Pesan Enkripsi Pesan Asli

Pada

Andromax U

Pada

LG L7 II Dual

150 kar Hello 1.10 detik 1.46 detik

155 kar Skripsi 1.45 detik 1.60 detik

159 kar Percobaan 1.68 detik 1.83 detik

Kemungkinan perbedaan waktu yang didapat disebabkan oleh karena

perbedaan jaringan operator (GSM dan CDMA) saat pengiriman. Kemungkinan

lain penggunaan RAM atau processor yang berbeda pada tiap ponsel.

SIMPULAN DAN SARAN

Simpulan

Berdasarkan hasil pengujian yang dilakukan aplikasi yang dirancang hanya

dapat mengirimkan pesan asli ≤ 9. Dari hasil tersebut diharapkan aplikasi ini dapat

meningkatkan keamanan SMS dari aspek otentikasi, integritas dan non-

repudiation. Karena plaintext SMS sebelum dikirim akan dienkripsi dengan kunci

publik penerima sebagai ciphertext1, dan ciphertext1 akan dienkripsi sekali lagi

dengan kunci pribadi pengirim menjadi ciphertext2. Sesuai dengan kemampuan

dari Algoritme RSA, jika seorang cracker melakukan penyadapan dan ingin

membaca ataupun melakukan perubahan isi pesan, maka dia perlu memecahkan

kunci pribadi penerima SMS rahasia tersebut. Jika seorang cracker ingin

mengirim SMS spoofing, maka dia perlu memecahkan kunci pribadi pengirim

SMS rahasia tersebut.

Page 31: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

18

Saran

Saran yang dapat digunakan untuk penelitian selanjutnya antara lain:

1 Mengembangkan aplikasi agar dapat melakukan verifikasi dari beberapa

pengirim.

2 Mengembangkan aplikasi agar dapat memisahkan SMS biasa dengan SMS

rahasia.

3 Menambah jumlah karakter pesan asli sesuai dengan standar jumlah karakter

SMS biasa.

DAFTAR PUSTAKA

Ayuningtyas N. 2008. Implementasi kode Huffman dalam aplikasi kompresi teks

pada layanan SMS [skripsi]. Bandung (ID): Institut Teknologi Bandung.

Bishop M. 2002. Computer Security: Art and Science. Boston (US): Addison

Wesley.

Bodic GL. 2003. Mobile Messaging Technologies and Services: SMS, EMS and

MMS. Ed ke-2. West Sussex (UK): J. Wiley.

Ireland D. 2011.Using the CRT with RSA [internet]. [diunduh 2013 Agu 28].

Tersedia pada: http://www.di-mgt.com.au/crt_rsa.html.

Jones N. 2002. Don’t use SMS for confidential communication [internet].

[diunduh 2013 Agu 10]. Tersedia pada:

http://www.gartner.com/displaydocument?doc_cd=111720.

Konheim AG. 2007. Computer Security and Cryptography. New Jersey (US): J

Wiley.

Lenstra AK and Verheul ER, 2011. Selecting cryptographic key sizes. Journal of

Cryptology. 14(4):255.

Safaat N. 2011. Android (Pemrograman Aplikasi Mobile Smartphone dan Tablet

PC Berbasis Android). Bandung (ID): Informatika.

Schneier B. 1996. Applied Cryptography. Protocols, Algorithms, and Source Code

in C. Ed ke-2. New Jersey (US): J Wiley.

Page 32: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

19

Lampiran 1 Source code untuk pembangkitan pasangan kunci (gen_key.php)

Lampiran 2 Source code untuk enkripsi pesan (encrypt.php)

Lampiran 3 Source code untuk dekripsi pesan (decrypt.php)

$rand1=rand(1000,2000);

$rand2=rand(1000,2000);

//cari bil prima selanjutnya $rand1 &rand2

$p = gmp_nextprime($rand1);

$q = gmp_nextprime($rand2);

//menghitung&menampilkan n=p*q

$n=gmp_mul($p,$q);

//menghitung&menampilkantotient/phi=(p-1)(q-1)

$totient=gmp_mul(gmp_sub($p,1),gmp_sub($q,1));

//cari e, dimana e merupakan coprime dari totient

//e dikatakan coprime dari totient

//jika gcd/fpb dari e dan totient/phi = 1

for($e=2;$e<100;$e++){

$gcd = gmp_gcd($e, $totient);

if(gmp_strval($gcd)=='1')

break; }

//menghitung d

$i=1;

do{

$res = gmp_div_qr(gmp_add(gmp_mul($totient,$i),1), $e);

$i++;

if($i==10000)

break;

}while(gmp_strval($res[1])!='0');

$d=$res[0];

//encrypt with n & e

//pesan dikodekan menjadi kode ascii,

//kemudian di enkripsi per karakter

$isi_pesan_asli = $_GET['isi_pesan_asli'];

for($i=0;$i<strlen($isi_pesan_asli);++$i)

{

//rumus enkripsi <enkripsi>=<pesan>^<e>mod<n>

$chiper.=gmp_strval(gmp_mod(gmp_pow(ord($isi_pesan_asli[$i]),$e),$n));

//antar tiap karakter dipisahkan dengan "."

if($i!=strlen($isi_pesan_asli)-1)

{

$chiper.=".";

}

}

//decrypt with n & d

$n = $_GET['n'];

$d = $_GET['d'];

//pesan enkripsi dipecah menjadi array dengan //batasan "."

$pesan_terenkrip = explode(".",$_GET['pesan_terenkrip']);

foreach($pesan_terenkrip as $nilai)

{

//rumus enkripsi <pesan>=<enkripsi>^<d>mod<n>

$pesan_asli.=chr(gmp_strval(gmp_mod(gmp_pow($nilai,$d),$n)));

}

echo $pesan_asli;

Page 33: PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA … · PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA EDI SYAHPUTRA ... pada perangkat ponsel

20

RIWAYAT HIDUP

Penulis dilahirkan di Jakarta pada tanggal 9 Mei 1988 dari Bapak

Lodewyk Panjaitan dan Ibu Nanamna Br Sembiring. Penulis merupakan anak

kedua dari empat bersaudara.

Tahun 2003 penulis lulus dari SMP Negeri 1 Sidikalang lalu melanjutkan

ke SMA Negeri 1 Sidikalang. Pada tahun 2006 penulis lulus dari SMS kemudian

melanjutkan studi diploma di Institut Pertanian Bogor, program studi Teknik

Komputer melalui jalur penelusuran minat dan kemampuan (PMDK) IPB. Pada

tahun 2009 penulis lulus dari program diploma dan pada tahun 2009 melanjutkan

pendidikan di program Alih Jenis Ilmu Komputer, Fakultas Matematika dan Ilmu

Pengetahuan Alam untuk mendapatkan gelar sarjana.