You are on page 1of 7

Penerapan Enkripsi Pesan Rahasia untuk Pengiriman Sms Menggunakan Algoritma Arc4 pada Peralatan Teknologi Mobile

20 Nopember 2010
Rangga Firdaus, Ronal Damanik, Didik Kurniawan Program Studi Ilmu Komputer Jurusan Matematika, Gedung FMIPA Terpadu, Lantai 1 Jl. Prof Soemantri Brojonegoro No.1 Bandar Lampung Universitas Lampung rf@unila.ac.id, leo_melancholic@yahoo.com
Ringkasan Keamanan merupakan aspek yang penting dalam berkomunikasi menggunakan teknologi informasi. SMS merupakan layanan yang disediakan telepon seluler untuk berkomunikasi dengan cara mengirimkan pesan singkat dengan cepat dan murah. Pengiriman pesan singkat dilakukan melalui jaringan SMS, sehingga pesan tidak langsung dikirim ke telepon seluler tujuan. Oleh karena itu pesan yang hendak dikirim melalui layanan SMS perlu diproteksi, sehingga keamanan pesan yang dikirim pada jaringan SMS tetap terlindungi kerahasiaannya. Pada penelitian ini akan dibangun perangkat lunak yang dapat meningkatkan keamanan pesan pada komunikasi melalui SMS. Perangkat lunak yang dibangun berfungsi untuk melakukan enkripsi pesan yang akan dikirimkan dan dekripsi pesan yang masuk melalui layanan SMS. Perangkat lunak yang dibangun menggunakan algoritma ARC4. Algoritma ARC4 adalah algoritma aliran (stream cipher) yang termasuk kedalam jenis sistem kriptogra kunci simetri. Implementasi algoritma ARC4 pada perangkat lunak yang dibangun menggunakan teknologi Java ME. Sehingga diharapkan perangkat lunak yang dibangun dapat diterapkan pada telepon seluler yang mendukung teknologi Java MIDP 2.0 untuk enkripsi dan dekripsi pesan melalui layanan SMS. Kata Kunci : Kriptogra, SMS, ARC4, Enkripsi, Dekripsi, Java ME

Pendahuluan

Keamanan merupakan aspek yang sangat penting dalam berkomunikasi dengan menggunakan komputer dan perangkat komunikasi lainnya. Kerahasiaan data atau informasi harus terjaga dari pihak yang tidak berwenang hingga data atau informasi tersebut terkirim kepada penerima yang semestinya. Salah satu alat komunikasi yang saat ini banyak digunakan adalah telepon seluler. Telepon seluler adalah alat komunikasi yang menyediakan media komunikasi beragam dan salah satunya adalah media SMS (Short Message Service). SMS merupakan suatu layanan untuk mengirimkan pesan singkat kepada pengguna telepon seluler lainnya dengan cepat dan biaya yang murah. Oleh karena itu layanan ini lebih diminati dan sering digunakan oleh pengguna telepon seluler untuk berkomunikasi. Pesan yang dikirim disimpan terlebih dahulu di SMSC (Short Message Service Center). Hal ini menjadi kelebihan dari layanan SMS yang tetap dapat

mengirimkan pesan meskipun telepon seluler tujuan sedang sibuk. Namun hal ini juga menjadi celah keamanan bagi layanan SMS. Hal ini dikarenakan penyerang dapat melakukan penyusupan pada SMSC untuk mendapatkan pesan yang disimpan di SMSC sebelum dikirimkan ke telepon seluler tujuan [8].

Gambar 1: Jaringan SMS [8] Tentu hal ini menjadi sangat penting untuk diperhatikan ketika pengguna telepon seluler hendak

mengirimkan pesan yang penting dan bersifat raha- contoh diagram sistem kriptogra [3]. sia. Untuk mengurangi risiko dari celah keamanan tersebut, maka salah satu cara yang dapat diterapkan adalah dengan menggunakan teknik kriptogra atau melakukan enkripsi pada pesan yang akan dikirim. Dengan demikian, sekalipun penyerang berhasil menyusup di SMSC dan mendapatkan pesan, namun ia akan kesulitan untuk mengetahui isi pesGambar 2: Diagram Sistem Kriptogra [3] an yang terenkripsi tersebut. Untuk mengimplementasikan kriptogra pada Layanan yang disediakan oleh kriptogra adalah telepon seluler, harus disesuaikan dengan kondisi telepon itu sendiri. Telepon seluler pada umumnya sebagai berikut [3]. tidak didukung dengan prosesor yang cepat seper1. Kerahasiaan (condentiality) ti komputer. Oleh karena itu, algoritma kriptogra Layanan yang digunakan untuk menjaga isi yang akan digunakan sebaiknya yang sederhana, tipesan dari siapapun yang tidak memiliki hak dak rumit namun cukup kuat untuk mengamankan untuk membacanya. pesan. Algoritma ARC4 yang dirancang oleh Ronald L Rivest, termasuk kedalam kategori algoritma 2. Integritas data (data integrity) aliran yang diakui kekuatan dan kesederhanaannya Layanan yang menjamin bahwa pesan masih untuk diimplementasikan. Contoh sistem keamanasli/utuh atau belum pernah dimanipulasi sean yang menggunakan algoritma ARC4 antara lalama pengiriman. in protokol SSL (Secure Socket Layer), WEP (Wired Equivalent Privacy), dan WPA (Wi- Protect Access) 3. Otentikasi (authentication) untuk jaringan nirkabel [3]. Layanan untuk mengidentikasi kebenaran pihak-pihak yang berkomunikasi (user authentication) dan untuk mengidentikasi kebenar2 Tinjauan Pustaka an sumber pesan (data origin authentication).

2.1

Kriptogra

4. Nirpenyangkalan (non-repudiation) Layanan untuk mencegah pihak yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.

Kriptogra berasal dari bahasa Yunani, yang dalam bahasa Inggris berarti secret writing. Adapun denisi tentang apa yang dimaksud dengan kriptogra, yaitu ilmu dan seni untuk menjaga keamanan pesan (message) (Schneier, 1996). art and science to keep message secure. Kriptogra pada dasarnya sudah ada dan digunakan sejak zaman dahulu. Sejarah mencatat bahwa bangsa Mesir (4000 tahun yang lalu) menggunakan alat yang bernama hieroglyph yang tidak standard untuk menulis pesan. Sedangkan di Yunani, kriptogra sudah digunakan 400 BC dan alat yang digunakan pada saat itu bernama scytale [3]. Sistem kriptogra (cryptosystem) terdiri dari Algoritma kriptogra (cipher), Plainteks, Cipherteks dan Kunci. Algoritma kriptogra (cipher) menurut Munir adalah fungsi matematika yang digunakan untuk enkripsi dan dekripsi pesan. Pesan itu sendiri adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Pesan tersebut juga dinamakan sebagai plainteks (plaintext). Pesan atau plainteks kemudian diproses oleh sistem kriptogra (cryptosystem) untuk dienkripsi atau didekripsi. Jenis pesan atau plainteks yang diproses oleh cryptosystem dapat berupa teks, citra, suara, video, basis data dan sebagainya. Enkripsi adalah proses menyandikan plainteks menjadi cipherteks. Sedangkan dekripsi adalah proses mengembalikan cipherteks kembali menjadi plainteks. Berikut ini adalah

2.2

Algoritma ARC4

Algoritma ARC4 (ARCFOUR) adalah nama lain dari algoritma RC4 yang dibuat oleh Ronald L Rivest dari laboratorium RSA pada tahun 1987. Algoritma ini merupakan jenis algoritma aliran (stream cipher) yang termasuk ke dalam sistem kriptogra (cryptosystem) kunci simetri. Algoritma ini pada awalnya bersifat rahasia hingga pada bulan September 1994, RC4 dikirim secara anonym ke milis Cypherpunks kemudian dikirim ke newsgroup sci.script dan menyebar di internet (Munir, 2006). Karena telah diketahui oleh banyak orang, maka algoritma ini bukan lagi rahasia dan dapat digunakan dengan menggunakan nama ARC4 untuk menghindari masalah trademarks. Enkripsi dilakukan dengan melakukan operasi XOR antara aliran kunci (keystream) yang telah dibangkitkan dengan plainteks. Sedangkan dekripsi pesan merupakan kebalikan dari proses enkripsi dengan menggunakan kunci yang sama. Adapun langkah-langkah algoritma ARC4 adalah sebagai berikut (Rika, 2006).

1. Melakukan inisialisasi larik S: S0 = 0, . . . , S255 = 255. for i endfor 0 t o 255 do S[ i ] i

Keterangan: C : array karakter cipherteks K : aliran kunci (keystream) yang dibangkitkan P : plainteks

ARC4 digunakan pada beberapa sistem keamanan 2. Jika panjang kunci U < 256 karakter maka la- seperti protokol SSL (Secure Socket Layer), WEP kukan padding, yaitu penambahan bit-bit isian (Wired Equivalent Privacy), dan WPA (Wi- Protepada akhir kunci. Contoh kunci adalah ronal. ct Access) untuk jaringan nirkabel (Munir, 2006). Karena panjang kunci kurang dari 256, maka kunci tersebut di-padding menjadi ronalrona2.3 SMS lronalronal. . . hingga 256 karakter. 3. Melakukan permutasi setiap nilai-nilai dalam larik S. j 0 for i SMS merupakan salah satu layanan komunikasi yang disediakan oleh telepon seluler untuk berkomunikasi dengan cara mengirimkan pesan singkat dengan cepat dan murah. Adapun struktur pesan 0 t o 255 do SMS dapat dilihat pada Gambar 3berikut. j ( j + S [ i ] + U[ i ] ) mod 256 swap ( S [ i ] , S [ j ] )

endfor Fungsi swap adalah proses pertukaran S[i] dengan S[j]. 4. Membangkitkan aliran kunci (keystream) dan lakukan enkripsi dengan operasi XOR antara aliran kunci dan plainteks untuk menghasilkan cipherteks. i 0 j 0 for idx Gambar 3: Struktur Pesan SMS [2] Struktur pesan SMS terdiri dari bagian header yang berisi instruksi-instruksi yang bekerja dalam jaringan SMS. Sedangkan bagian message body berisi isi dari pesan yang akan dikirimkan. Pesan SMS do memiliki panjang yang berukuran maksimal 160 karakter yang mana setiap karakter memiliki panjang 7 bit [8]. JAVA ME (JAVA Mobile Edition) adalah salah satu jenis bahasa pemrograman JAVA yang diperuntukkan untuk pengembangan aplikasi java agar dapat berjalan pada perangkat seluler yang memiliki keterbatasan memori dan tampilan (Johannes, 2010). Dengan menggunakan JAVA ME, dapat dikembangkan aplikasi SMS yang memiliki banyak tur dibandingkan dengan aplikasi SMS standar telepon seluler. Struktur pesan dalam bahasa JAVA ME dikenal ada dua jenis yang diturunkan dari interface Message, yaitu interface TextMessage dan BinaryMessage. Interface TextMessage berfungsi untuk mengirim dan menerima pesan dalam bentuk teks sama seperti fungsi aplikasi SMS standar ponsel. Sedangkan interface BinaryMessage berfungsi untuk mengirim dan menerima pesan dalam bentuk binary. do Pengiriman pesan SMS umumnya hanya dapat dilakukan satu kali oleh sebuah telepon seluler. Namun seiring dengan kemajuan teknologi, beberapa telepon seluler mampu mengirimkan beberapa paket SMS dalam satu pesan. Yang dilakukan oleh telepon seluler agar terlihat dapat mengirim beberapa paket SMS dalam satu pesan adalah dengan melakukan konkatinasi [8] Dengan menggunakan

0 to PanjangPlainteks 1 i ( i + 1) mod 256 j ( j + S [ i ] ) mod 256 swap ( S [ i ] , S [ j ] ) t ( S [ i ] + S [ j ] ) mod 256 K S[ t ] C K P[ idx ]

endfor Keterangan: P : array karakter plainteks K : aliran kunci (keystream) yang dibangkitkan C : cipherteks 5. Proses dekripsi dilakukan dengan menggunakan kunci aliran yang sama dengan yang digunakan saat proses enkripsi. i 0 j 0 for idx 0 to PanjangCipherteks 1 i ( i + 1) mod 256 j ( j + S [ i ] ) mod 256 swap ( S [ i ] , S [ j ] ) t ( S [ i ] + S [ j ] ) mod 256 K S[ t ] P K C[ i d x ] endfor

tur ini, seolah-olah pengguna telepon seluler dapat mengirim paket SMS lebih dari 160 karakter untuk satu buah pesan. Namun yang sebenarnya dilakukan oleh telepon seluler adalah mengirimkan paket-paket SMS tersebut lebih dari satu kali dan kemudian paket-paket SMS tersebut disatukan agar menjadi satu buah pesan. Proses penyambungan beberapa pesan agar menjadi satu buah pesan memerlukan informasi tambahan, oleh karena itu panjang satu buah pesan tersebut akan menjadi lebih kecil[8] Selain proses pengiriman pesan, sebuah aplikasi Gambar 4: Model RAD SMS juga harus memiliki proses penerimaan pesan. Untuk membuat aplikasi SMS pada sebuah telepon seluler yang tentu saja juga sudah terinstal aplikasi Proses ini dilakukan untuk mencari dan mengSMS, pengembang harus mendenisikan port apliumpulkan spesikasi kebutuhan dan fungsiokasi SMS yang akan dibangun. Fungsi pendenisinalitas program yang akan dibuat. an nomor port ini adalah agar pesan yang akan di2. Desain proses kirim sampai pada aplikasi SMS yang dibangun dan bukan pada aplikasi SMS standar ponsel yang meProses ini dilakukan untuk membuat rancangmiliki nomor port 0. Penggunaan nomor port beran algoritma yang digunakan dan desain antar gantung pada jenis aplikasi SMS yang hendak dimuka program. bangun. Jika aplikasi SMS yang hendak dibangun adalah aplikasi SMS yang berfungsi mengirimkan 3. Implementasi pesan pada waktu tertentu, maka tidak perlu menProses ini dilakukan untuk menerapkan desadenisikan nomor port pada aplikasi SMS. Hal ini in yang telah dibuat kedalam bentuk program dikarenakan pesan memang ditujukan untuk maagar memenuhi kebutuhan dan fungsionalitas suk pada aplikasi SMS standar ponsel. Namun jika yang telah dianalisis pada tahap pertama. aplikasi SMS yang akan dibangun memiliki fungsi khusus yang tidak dimiliki aplikasi SMS standar 4. Pengujian ponsel, maka perlu dilakukan pendenisian nomor Proses ini dilakukan untuk menilai dan mengport. evaluasi program hasil tahapan implementaInformasi nomor port yang telah didenisikan si, apakah telah sesuai dengan kebutuhan dan akan dibawa bersama paket pesan yang dikirim fungsionalitas program. oleh pengirim. Sehingga panjang maksimal paket pesan akan berkurang untuk menampung informa- Tahap implementasi dilakukan dengan menggusi nomor port [8]. nakan teknik konstruksi berbasis komponen atau reuseable code yang memenuhi kebutuhan dan 2.4 Model RAD (Rapid Application De- fungsionalitas program atau sistem yang akan dibuat. Kondisi yang tepat untuk menggunakan model velopment) RAD (Sukamto, 2010) adalah: Rapid Application Development (RAD) merupakan 1. Proyek dalam skala kecil atau medium dalam model proses pengembangan sekuensial linier yang jangka waktu yang pendek. menekankan siklus pengembangan yang sangat pendek [4]. Model RAD ini merupakan adaptasi 2. Fokus pada lingkup tertentu. kecepatan tinggi dari model sekuensial linier, dimana pengembangan dilakukan dengan cepat de3. Spesikasi kebutuhan sudah diketahui dengan ngan menggunakan komponen-komponen atau rebaik. usable code yang mungkin untuk digunakan. Jika kebutuhan program atau sistem diketahui dengan 4. Jika dikerjakan dalam tim, maka komposisi tim baik dan komponen-komponen yang diperlukan teharus stabil dan anggota tim memiliki keahlian lah tersedia, maka proses pengembangan program yang baik. atau sistem bisa selesai dalam periode waktu yang sangat pendek. Tahapan model RAD yang dilakuk5. Ada kontrol proyek yang baik. an dalam penelitian ini adalah sebagai berikut. Penjelasan dari model RAD diatas adalah sebagai Sedangkan kondisi yang tidak sesuai untuk menggunakan model RAD adalah[7]: berikut. 1. Analisis kebutuhan 1. Proyek terlalu besar dan kompleks.

2. Proyek bersifat aplikasi real-time atau menangani hal-hal yang kritis. 3. Lingkup dan objek bisnis proyek belum jelas. 4. Banyak orang yang harus terlibat dalam proyek. 5. Pengumpulan spesikasi kebutuhan membutuhkan waktu yang lama. Kelebihan model RAD adalah sebagai berikut[7]: 1. Hasil pengembangan bisa lebih cepat dibanding model SDLC lainnya. 2. Memerlukan biaya yang lebih sedikit. 3. Mementingkan dari segi teknis. 4. Berkonsentrasi pada sudut pandang user. 5. Waktu dan biaya yang diperlukan minimal. Kekurangan model RAD adalah sebagai berikut [7]:: 1. Hasil kualitas dengan kecepatan dan biaya pengembangan yang minimal kemungkinan rendah. 2. Sangat sulit membuat modul yang dapat digunakan kembali. 3. Potensial terjadi ketidaksesuaian antara desain dan implementasi. 4. Proyek mungkin berakhir dengan lebih banyak tambahan kebutuhan. 5. Memerlukan potensial sumber daya yang baik jika ingin melakukan dalam bentuk tim.

perhitungan yang rumit sehingga cocok untuk diimplementasikan pada perangkat seluler yang pada umumnya tidak dilengkapi dengan prosesor yang cepat. Algoritma ARC4 akan diimplementasikan pada aplikasi SMS yang terpisah dari aplikasi SMS standar ponsel. Aplikasi SMS yang dibangun berfungsi untuk mengirim dan menerima pesan yang masuk ke port aplikasi. Proses enkripsi dilakukan sebelum pesan dikirim ke telepon seluler tujuan. Sedangkan proses dekripsi dilakukan setelah pesan berhasil diterima atau masuk melalui port aplikasi SMS. Tahapan Penelitian Tahapan penelitian ini disesuaikan dengan model pengembangan aplikasi yang digunakan, yaitu RAD (Rapid Application Development). Proses pengerjaan penelitian ini terdiri dari empat tahapan yang harus dilakukan, yaitu analisis kebutuhan, desain proses, implementasi dan pengujian yang pelaksanaannya kurang lebih 30-90 hari. Kebutuhan Perangkat Lunak Adapun kebutuhan untuk implementasi perangkat lunak enkripsi pesan rahasia pada pengiriman SMS ini adalah sebagai berikut: 1. Ponsel yang sudah mendukung teknologi JAVA MIDP 2.0 2. Operator seluler yang digunakan adalah GSM Sedangkan kebutuhan perangkat lunak untuk membangun aplikasi enkripsi pesan rahasia pada pengiriman SMS ini adalah sebagai berikut: 1. Sistem Operasi Windows XP SP 2

3
3.1

Metodologi Penelitian
Obyek Penelitian

2. IDE Netbeans 6.8 3. Sun Wireless Toolkit 2.5.

Obyek dari penelitian ini adalah masalah keamanan pengiriman pesan SMS pada telepon seluler yang menggunakan operator sistem nirkabel GSM. Masalah keamanan dari pengiriman pesan SMS tersebut terletak pada proses pengiriman SMS yang tidak langsung menuju telepon seluler tujuan. Sehingga dalam hal ini diperlukan suatu cara untuk meminimalisir kemungkinan pengiriman pesan yang bersifat rahasia dapat dibaca oleh orang yang tidak bertanggung jawab. Penggunaan algoritma kriptogra adalah salah satu cara untuk menangulangi masalah keamanan pengiriman SMS tersebut. Algoritma kriptogra yang digunakan adalah algoritma ARC4. Algoritma ini dipilih karena relatif sederhana untuk diimplementasikan dan kuat. ARC4 tidak memerlukan

Implementasi

Implementasi perangkat lunak dibangun pada laptop dengan spesikasi sebagai berikut: 1. Intel Core 2 Duo 2.00 GHz 2. 2 GB DDR2 3. 320 GB HDD Adapun skema kerja perangkat lunak yang akan dibangun secara umum adalah seperti gambar dibawah ini. Alur proses kerja aplikasi seperti gambar 5 adalah pengirim memasukkan data pesan SMS, seperti pesan teks, nomor tujuan dan kunci. Selanjutnya

Gambar 5: Skema Kerja Aplikasi aplikasi akan melakukan proses enkripsi data pesan SMS sehingga menghasilkan data pesan terenkripsi. Kemudian data pesan terenkripsi tersebut dikirimkan ke nomor tujuan. Setelah data pesan terenkripsi sampai di nomor tujuan, maka data pesan terenkripsi tersebut kemudian didekripsi oleh penerima pesan dengan menggunakan kunci yang valid. Implementasi proses enkripsi data pesan sms ditunjukkan pada diagram alir dibawah ini. Gambar 7: Diagram Alir Dekripsi

Gambar 8: Menu Aplikasi menggunakan kunci yang benar. Sehingga hanya penerima yang berhak yang dapat membacanya. 3. Algoritma ARC4 dapat diimplementasikan dengan baik sebagai aplikasi enkripsi dan dekripsi SMS yang berdiri sendiri. 4. Kekurangan dari implementasi algoritma ARC4 untuk enkripsi SMS adalah kemungkinan terjadi tabel S-box yang sama, hal ini dikarenakan kunci user diulang-ulang untuk mengisi 256 bytes, sehingga aaaa dan aaaaa akan menghasilkan permutasi yang sama. 5. Semakin panjang kunci yang digunakan untuk mengenkripsi pesan, maka tingkat keamanan semakin baik.

Gambar 6: Diagram Alir Enkripsi Sedangkan implementasi proses dekripsi terlihat seperti diagram alir berikut ini. Adapun contoh implementasi antar muka aplikasi yang akan dibangun adalah sebagai berikut.

Simpulan

Adapun kesimpulan yang didapat selama pengerjaan penelitian ini adalah sebagai berikut. 1. Penerapan Algoritma ARC4 untuk proses enkripsi dan dekripsi adalah cepat. 2. Penerapan algoritma ARC4 untuk enkripsi pesan pada pengiriman SMS, dapat meningkatkan keamanan. Pesan yang terenkripsi tidak dapat dimengerti maknanya jika tidak didekripsi

Pustaka
[1] Imam Heryanto dan Harif Haryono Budi Raharjo. Tuntunan Pemrograman Java Untuk Handphone. Informatika, 2007.

Gambar 9: Form Tulis Pesan [2] Clements.T. SMSShort but Sweet. Sun Microsystems, 2003. [3] Rinaldi Munir. Kriptogra. Informatika, 2006. [4] Roger S Pressman. Software Engineering A Practitioners Approach Fifth Edition. McGraw-Hill, 2001. [5] Rika Safrina. Studi dan perbandingan sistem penyandian pesan dengan algoritma rc2, rc4, rc5 dan rc6. Makalah Ilmiah ITB, 2006. [6] Bruce Schneier. Applied Cryptography , Second Edition: Protocols, Algorithms, and Source Code in C. John Wiley & Sons, Inc., 1996. [7] Rosa Sukamto. Rapid Application Development (RAD), Prototyping. [8] Rangga W.A.P. Implementasi Algoritma RC6 Untuk Enkripsi SMS Pada Telepon Seluler, 2010. [9] Wikipedia. Rc4.

You might also like