IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI DAN DEKRIPSI PESAN SMS PADA SMARTPHONE BERBASIS ANDROID Randy Pranarelza 12100845 Jurusan Teknik Informatika STMIK EL RAHMA YOGYAKARTA Email : r283relza@gmail.com ABSTRAK Saat ini penggunaan Smartphone sangat digemari oleh banyak kalangan, khususnya Smartphone berbasis Android. Mulai dari kalangan masyarakat bawah hingga kalangan atas, semua sudah tidak asing lagi. Salah satu fitur Smartphone yang juga banyak diminati oleh masyarakat adalah SMS. SMS adalah salah satu fitur yang banyak digunakan dan dimanfaatkan oleh masyarakat, namun ada satu masalah yang sering dihadapi oleh masyarakat dalam menggunakan SMS yaitu masalah keamanan pesan SMS. Kriptografi merupakan salah satu solusi yang dapat dimanfaatkan dan dikembangkan dalam menghadapi permasalahan tentang keamanan pesan SMS. Dengan melakukan enkripsi pada pesan SMS, maka kemanan pesan SMS akan lebih terjaga dan aman. Kriptografi memiliki banyak teknik dalam melakukan pengenkripsian pesan SMS dan salah satu yang memiliki tingkat keamanan yang tinggi dan tingkat kesulitan dalam pemecahannya adalah algoritma Rijndael. Pada saat melakukan pengenkripsian pesan harus memasukkan kunci yang akan mengamankan pesan SMS. Sehingga orang atau pihak yang tidak bertanggung jawab akan mengalami kesulitan dalam melakukan tindakannya. Kata kunci : Smartphone, Android, SMS, kriptografi, enkripsi, dekripsi, Rijndael 1
1. PENDAHULUAN 1.1. Latar Belakang Perkembangan teknologi informasi saat ini mampu menghasilkan perangkat keras yang mempermudah dalam melakukan komunikasi. Smartphone adalah salah satu dari sekian perangkat keras komunikasi yang sering digunakan. Banyak vendor-vendor besar seperti SAMSUNG dan lainya yang senantiasa mengembangkan dan memproduksi Smartphone. Dan salah satu dari beberapa fungsi dan fitur Smartphone adalah Short Message Service (SMS). Indonesia sendiri peningkatan pengguna Short Message Service (SMS) meningkat dengan sangat pesat seperti diberitakan di JAKARTA - Kementerian Komunikasi dan Informatika (Kemenkominfo) memperkirakan akan terkirim sekurang-kurangnya 2 miliar layanan pesan singkat (SMS) pada H-1 hingga H+1 lebaran tahun ini. Kepala Pusat Informasi dan Humas Kemenkominfo, Gatot S. Dewa Broto mengatakan pada momen Lebaran seperti tahun sebelumnya dipastikan akan terjadi lonjakan trafik telekomunikasi yang cukup signifikan. "Kami memperkirakan pada waktu yang sama juga akan berlangsung percakapan sebanyak minimal 2,5 miliar menit." ujarnya dalam siaran persnya, Minggu (28/8/2011), Traffik layanan Data diperkirakan akan digunakan sebanyak minimal 250 terabyte untuk layanan data. Kemenkominfo juga menghimbau masyarakat agar dapat menggunakan layanan telekomunikasi secara efisien meskipun setiap orang berhak sepenuhnya saling bertelekomunikasi. Short Message Service (SMS) sendiri merupakan fungsi dari Smartphone yang digunakan untuk mengirim atau menerima pesan teks dalam berkomunikasi. Pada proses pengiriman dan penerimaan pesan, diperlukan suatu media transmisi, media transmisi tersebut salah satunya berupa jalur komunikasi Global System for Mobile Communication (GSM). Proses pengiriman dan penerimaan pesan sangat rentan terhadap upaya pencurian, penyadapan, pembajakan dan banyak hal lain terhadap suatu informasi. Karena beberapa hal diatas, penerapan kriptografi sangat dibutuhkan dalam menjaga kerahasiaan suatu pesan SMS. Kriptografi adalah ilmu untuk menjaga kerahasiaan informasi dari aspekaspek yang dapat mengancam keamanan suatu informasi dengan metode dan teknik matematika tertentu. Salah satu algoritma kriptografi yang memiliki tingkat ketahanan dalam menjaga kerahasiaan data adalah algoritma Rijndael. 1.2. Rumusan Masalah a. Menjalankan algoritma Rijndael pada Smartphone berbasis Android yang 2
memiliki perbedaan sumber daya dengan komputer. b. Mengimplementasikan aplikasi SMS pada Smartphone berbasis Android dengan algoritma Rijndael untuk mengenkripsi dan mendekripsi pesan SMS. 1.3. Batasan Masalah a. Algoritma kriptografi yang digunakan adalah Algoritma Rijndael. b. Aplikasi SMS dibuat dengan menggunakan bahasa pemrograman eclipse-mobile-kepler-m2-win32 dan framework Android SDK. c. Aplikasi bersifat mobile application dan menggunakan OS Android versi 2.3 (Gingerbread). d. Dua belah pihak pengguna (penerima dan pengirim pesan SMS) harus sama-sama menggunakan aplikasi ini. 1.4. Tujuan Penelitian a. Merancang dan mengimplementasikan sebuah aplikasi SMS yang mempunyai kemampuan untuk melakukan enkripsi pesan SMS sebelum dikirim serta dapat melakukan dekripsi pesan SMS yang terenkripsi yang telah diterima. b. Aplikasi ini hanya ditujukan sebagai contoh semata agar mempermudah dalam pemahaman tentang algoritma Rijndael, SMS dan Smartphone. 2. LANDASAN TEORI 2.1. Kriptografi Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata kriptografi dibagi menjadi dua, yaitu ktipto dan graphia. Kripto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut termonologinya kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain. 2.2. Algoritma Rijndael Algoritma Rijndael (dibaca: Rhinedoll) adalah algoritma yang telah dipilih oleh National Institute of Standards and Technology (NIST) sebagai calon Advanced Encryption Standard (AES). Algoritma Rijndael dipilih dari daftar lima finalis, yang dipilih lebih dari 15 pengaju. Algoritma Rijndael akan mulai menggantikan Data Encryption Standard (DES) dan kemudian Triple DES selama beberapa tahun ke depan dalam banyak aplikasi kriptografi. Algoritma ini dirancang oleh dua ahli kriptologi Belgia yaitu Vincent Rijmen dan Joan Daemen, yang nama mereka tercermin dalam cipher ini yaitu dari Vincent Rijmen dan Joan Daemen Belgia. Rijndael memiliki asal- 3
usul di Square, sebuah kolaborasi sebelumnya antara kedua kriptologi.garis besar algoritma Rijndael yang beroperasi pada blok 128-bit dengan kunci 128-bit adalah sebagai berikut (di luar proses pembangkitan round key): 1. AddRoundKey: melakukan XOR antara state awal (plainteks) dengan cipher key. Tahap ini disebut juga initial round. 2. Putaran sebanyak Nr 1 kali. Proses yang dilakukan pada setiap putaran adalah: a. SubBytes: substitusi byte dengan menggunakan table substitusi (Sbox). b. ShiftRows: pergeseran baris-baris array state secara wrapping. c. MixColumns: mengacak data di masing-masing kolom array state. d. AddRoundKey: melakukan XOR antara state sekarang dengan round key. 3. Final round: proses untuk putaran terakhir: a. SubBytes b. ShiftRows c. AddRoundKey Garis besar algoritma enkripsi Rijndael diperlihatkan pada Gambar 1. Gambar 1. Diagram Proses Enkripsi (Munir, 2006) 2.3. SMS SMS (Short Message Service) merupakan sebuah layanan yang banyak diaplikasikan pada sistem komunikasi tanpa kabel/nirkabel, memungkinkan dilakukannya pengiriman pesan dalam bentuk alphanumeric antara terminal pelanggan dengan sistem eksternal seperti email, paging, voice mail, dan lain-lain. SMS pertama kali dikenalkan pada tanggal 3 Desember 1982. SMS pertama di dunia dikirimkan menggunakan jaringan GSM milik operator telepon bernama Vodafone. SMS pertama ini dikirimkan oleh ahli bernama Neil Papwort kepada Richard Jarvis menggunakan komputer. 2.4. Android Android adalah sebuah sistem operasi telepon seluler dan komputer tablet layar sentuh (touchscreen) yang berbasis Linux. Namun seiring perkembangannya Android berubah menjadi sebuah platform 4
yang begitu cepat dalam melakukan inovasi demi inovasi. Hal tersebut tentu saja tidak dapat dilepaskan dari pengembang utama dibelakangnya, yaitu Google. Android tersedia secara opensource bagi manufaktur perangkat keras untuk memodifikasinya sesuai kebutuhan. Meskipun konfigurasi perangkat Android tidak sama antara satu perangkat dengan perangkat lainnya, namun Android sendiri mendukung fitur-fitur berikut ini (Suprianto, 2012): 1. Penyimpanan (Storage) - menggunakan SQLite yang merupakan database relational yang ringan untuk menyimpan data. 2. Koneksi (connectivity) - mendukung GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth (termasuk A2DP dan AVRCP), Wifi, LTE, dan WiMAX. 3. Pesan (Messaging) - mendukung SMS dan MMS. 4. Web Browser menggunakan opensource WebKit termasuk di dalamnya engine Chrome V8 JavaScript. 5. Media media yang didukung antara lain: H.263, H.264 (3GP atau MP4 container), MPEG-4 SP, AMR, AMR-WB (3GP container), AAC, HE-ACC (MP4 atau 3GP container), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF dan BMP. 6. Hardware terdapat Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor dan GPS. 7. Multi-touch mendukung layar multitouch. 8. Multi-tasking - mendukung aplikasi multi-tasking. 9. Dukungan Flash Android 2.3 mendukung Flash 10.1 2.5. Eclipse IDE Eclipse adalah sebuah IDE untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent).(lyrac, 2009) 2.6. Alat Bantu/Tools Perancangan UML (Unified Modeling Language) sendiri adalah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. UML sendiri terdiri atas diagram-diagram antara lain: a. Usecase Diagram b. Sequence Diagram c. Activity Diagram 5
3. PERANCANGAN 3.1. Perancangan Tampilan Rancangan tampilan menu utama pada aplikasi sms ini dapat dilihat pada gambar 2 Pada rancangan tersebut terdapat 5 button yaitu button pesan baru, button kotak masuk, button kotak keluar, button tentang aplikasi dan button keluar. beberapa kegiatan yang ada pada menu utama aplikasi SMS. Adapun kegiatankegiatan tersebut antara lain : memilih submenu pesan baru, memilih submenu kotak masuk, memilih submenu kotak keluar, memilih submenu tentang aplikasi, dan memilih submenu keluar. Aplikasi SMS Pesan Baru Menu Utama Kotak Masuk Pesan Baru 1 Pengguna Kotak Keluar Tentang Aplikasi Menu Utama Kotak Masuk 2 Keluar Kotak Keluar 3 Gambar 3 Usecase Utama Tentang Aplikasi 4 Keluar 5 Gambar 2. Perancangan Tampilan Menu Utama 3.2. Perancangan Sistem Usecase utama aplikasi SMS pada gambar 3 menunjukkan kegiatan-kegiatan dari submenu yang disediakan aplikasi SMS yang bisa dipilih dan digunakan oleh pengguna. Pengguna dapat memilih Proses yang dijelaskan oleh gambar 4 berlangsung saat pengguna menjalankan aplikasi SMS pertama kali. Ketika aplikasi SMS dijalankan pengguna maka aplikasi menampilkan layout utama sebagaimana yang dijelaskan pada gambar 4. Proses selanjutnya tergantung pada keinginan pengguna aplikasi SMS. Apabila yang ditekan Button pesan baru maka aplikasi akan masuk kedalam proses pembuatan pesan baru. Begitu pula halnya dengan Button kotak masuk, Button kotak keluar, Button tentang aplikasi dan Button keluar. 6
Pengguna Mulai Membuka Aplikasi Sms Menekan Tombol Pesan Baru Ya Tidak Menekan Tombol Kotak Masuk Ya Tidak Menekan Tombol Kotak Keluar Ya Tidak Menekan Tombol Tentang Aplikasi Ya Tidak Aplikasi SMS Menampilkan Layout Utama Menampilkan Layout Sms Menampilkan Layout List Pesan Menampilkan Layout List Pesan Menampilkan Layout Tentang melakukan operasi enkripsi pada pesan untuk menjaga keamanan pesan dan dekripsi untuk mengembalikan pesan ciphertext menjadi pesan plaintext yang dapat dibaca oleh Actor. Setelah itu Actor mengirimkan pesan rahasia atau meneruskan pesan rahasia atau mengembalikan pesan rahasia. Apabila Actor melakukan pengiriman, maka pesan yang berhasil dikirim akan disimpan pada kotak keluar. Dan selanjutnya Actor dapat kembali ke menu utama atau keluar dari aplikasi. Menekan Tombol Keluar Aplikasi Selesai Gambar 4 Activity Diagram Menu Utama Pengguna Layar Smartphone Aplikasi SMS Masuk Aplikasi Pada gambar 5 menjelaskan bagaimana suatu operasi dilakukan. Operasi yang dilakukan antara lain Actor ke aplikasi melalui layar smartphone dan aplikasi menampilkan menu utama aplikasi. Selanjutnya Actor memilih submenu pesan baru dengan menekan Button pesan baru yang terdapat pada menu utama dan aplikasi menampilkan tulis pesan untuk mulai memasukkan nomor kontak, menulis pesan dan melakukan kegitan-kegiatan yang terdapat disini. Setelah nomor kontak dimasukkan dan pesan ditulis, pengguna punya beberapa kegiatan, seperti langsung mengirimkan pesan berupa pesan normal atau plaintext. Selain itu Actor juga dapat Tampil Menu Utama Memilih Pesan Baru Tampil Tulis Pesan Memasukkan Nomor Kontak Nomor Kontak Tampil Nomor Kontak Cari Nomor Kontak Tampil Daftar Kontak Memilih Nomor Kontak Tampil Nomor Kontak Menulis Pesan Pesan Normal Menulis Kunci String Kunci String Menulis Kunci String Konfirmasi Kunci String Konfirmasi Memilih Enkripsi Pesan Mengenkripsi Pesan Pesan Terenkripsi Memilih Kirim Pesan Mengirim Pesan Pesan Tersimpan Dikotak Keluar Menu Utama Menutup Aplikasi Keluar Aplikasi Menutup Aplikasi Gambar 5 Sequence Diagram Pesan Baru 7
4. PENUTUP 4.1. Kesimpulan 1. Hasil penelitian ini adalah bahwa dari penelitian ini membuat aplikasi SMS pada Smartphone berbasis Android yang dapat mengirim dan menerima pesan berupa teks, gambar dan lainnya. Aplikasi ini juga mempunyai fasilitas dalam pengaman pesan atau informasi yang akan dikirimkan. 2. Algoritma Rijndael sangat peka terhadap perubahan sekecil apapun pada string kunci yang dimasukkan, ini didasarkan pada kenyataan bahwa string kunci pada saat proses enkripsi dan dekripsi harus sama. 3. Hasil percobaan yang telah dilakukan menunjukkan aplikasi tidak mengalami masalah dan membuktikan juga bahwa sebagian besar fungsi yang terdapat aplikasi SMS yang telah dirancang dan diimplementasikan dapat berjalan sesuai yang diharapkan. 4.2. Saran 1. Algoritma yang digunakan dapat dikembangkan dengan algoritma yang lain. Kemudian bandingkan performanya antara algoritma Rijndael dengan yang lain. Misalnya algoritma Data Encryption Standard (DES). 2. Pengimplementasikan algoritma Rijndael ini hanya dalam cakupan kecil dan sangat mendasar (hanya menggunakan algoritma Rijndael) yang menggunakan bahasa pemograman eclipse-mobile-kepler- M2-win3. Pengembang selanjutnya dapat mengkombinasi algoritma Rijndael dengan algoritma kriptografi yang lain seperti dengan Twofish. Penyusun berharap agar pembaca dapat mengembangkannya lebih lanjut 5. Daftar Pustaka 1. Lyracc, 2009. Eclipse IDE, http://java.lyracc.com/belajar/javauntuk-pemula/eclipse-ide diakses tanggal 1 April 2013. 2. Munir, Rinaldi., 2006, Kriptografi, Informatika, Bandung. 3. Rosidi, R, I., 2009, Membuat Sendiri SMS Gateway Berbasis Protokol SMPP, Penerbit Andi, Yogyakarta. 4. Siregar, I, M., 2011, Membongkar Source Code Berbagai Aplikasi Android, Cetakan Pertama, Gava Media, Yogyakarta. 5. Suprianto, D., Agustina, R., 2012, Pemrograman Aplikasi Android, Cetakan Pertama, MediaKom, Yogyakarta. 6. Wartapedia., 2011, Lebaran 2011: Traffik Data Capai 2 Milliar Sms, http://wartapedia.com/tekno/telko/ope rator/4901-lebaran-2011-traffik-datacapai-2-milliar-sms.html diakses tanggal 28 Maret 2013. 8