• Tidak ada hasil yang ditemukan

Pengembangan Aplikasi Pertukaran SMS Rahasia Berbasis Android Menggunakan Algoritme RSA

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengembangan Aplikasi Pertukaran SMS Rahasia Berbasis Android Menggunakan Algoritme RSA"

Copied!
33
0
0

Teks penuh

(1)

PENGEMBANGAN APLIKASI PERTUKARAN SMS RAHASIA

BERBASIS ANDROID MENGGUNAKAN ALGORITME RSA

EDI SYAHPUTRA

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

(2)
(3)

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

(4)

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.

(5)

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

(6)

Penguji:

(7)

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

(8)
(9)

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

(10)

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

(11)

SIMPULAN DAN SARAN 17

DAFTAR PUSTAKA 18

LAMPIRAN 19

(12)

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

(13)
(14)

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

(15)

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 overheadcost 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

(16)

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

(17)

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.

(18)

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

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.

(19)

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

(20)

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 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:

(21)

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

(22)

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

(23)

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

(24)

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)

(25)

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 p1dideskripsikan menjadi blok cidengan rumus ci= piemod n atau lebih mudahnya enkripsi = pesane mod n

Mulai

Pembangkitan kunci

c = pe mod n

Selesai

(26)

13 Algoritma dekripsi:

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

pi=cidmod n atau lebih mudahnya pesan=enkripsid 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

(27)

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 valid Plainteks

terbaca?

SMS valid

Selesai

Tidak

Ya

Gambar 10 Proses verifikasi SMS

(28)

15

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

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.

(29)

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 processordual 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

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

(30)

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

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

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

(31)

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.

(32)

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

//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++){

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

//pesan dikodekan menjadi kode ascii, //kemudian di enkripsi per karakter

//antar tiap karakter dipisahkan dengan "."

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

//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))); }

(33)

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.

Gambar

Gambar 1  Skema pengiriman SMS (Bodic 2003).
Gambar 2  Teknik spoofing SMS (Lenstra dan Verheul 2001)
Gambar 3 menunjukkan siklus hidup keamanan (Bishop 2002).
Gambar 6  Proses pembangkitan pasangan kunci.
+4

Referensi

Dokumen terkait

Menurut saya selama ini sebenarnya secara perlahan- lahan sudah sering dilakukan, bahkan terkadang beberapa lokasi yang jauh dan kemudian ditempat itu tidak ada

Hasil dari uji lanjut Tukey menunjukkan bahwa perlakuan penambahan lumatan daging ikan yang berbeda memberikan pengaruh berbeda nyata terhadap nilai tensile strength mie

Pondok Pesantren Modern ini menggunakan metode transformasi bentuk dan ciri arsitektur tropis menurut Lippsmeier, (1980), adapun prinsip-prinsip arsitektur tropis

FRINNA SHINTA 500644607 Magister Manajemen MM PENGARUH PELATIHAN, INTERAK.SI SOSIAL, DAN MOTIVASI KERJA TERHADAP KINERJA PENYULUH MELALUI KOMPETENSI Studi pada Kantor

Cara mengatasi kendala kurangnya fasilitas kerja seperti tidak adanya laptop untuk praktikan bekerja, maka praktikan membawa laptop pribadi untuk menyelesaikan

Hasil penelitian ini telah membuktikan bahwa penerapan metode mengajar presentasi personal dapat meningkatkan motivasi peserta didik melalui perilaku belajarnya

Ketua : Kepala Bagian Tata Usaha pada Perwakilan Badan Pengawasan Keuangan dan Pembangunan Provinsi Jawa Barat.. Anggota :

Penelitian ini bertujuan untuk menganalisis kapasitas lendutan, daktalitas dan kekakuan dari struktur balok beton bertulang yang diperkuat GFRP dengan perendaman air