1
IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI DAN
DEKRIPSI PESAN SMS PADA SMARTPHONE BERBASIS ANDROID
Randy Pranarelza
12100845
Jurusan Teknik Informatika
STMIK EL RAHMA YOGYAKARTA
Email :
[email protected]
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.
2
1. PENDAHULUAN1.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 aspek-aspek 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
3
memiliki perbedaan sumber dayadengan 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: Rhine-doll) 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
asal-4
usul di Square, sebuah kolaborasisebelumnya 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 ( S-box).
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
5
yang begitu cepat dalam melakukaninovasi demi inovasi. Hal tersebut tentu saja tidak dapat dilepaskan dari pengembang utama dibelakangnya, yaitu Google. Android tersedia secara open-source 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 open-source 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 multi-touch.
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
6
3. PERANCANGAN3.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.
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
beberapa kegiatan yang ada pada menu utama aplikasi SMS. Adapun kegiatan-kegiatan 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 * * Kotak Masuk Kotak Keluar Tentang Aplikasi Keluar * * * * * * * * Pengguna Menu Utama « include » « include » « include » « include » « include »
Gambar 3 Usecase Utama
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. Pesan Baru Kotak Masuk Kotak Keluar Tentang Aplikasi Keluar
Menu Utama
1 2 3 4 57
Pengguna Aplikasi SMSMembuka Aplikasi Sms Menampilkan Layout Utama
Menekan Tombol Pesan Baru
Menekan Tombol Kotak Masuk
Menekan Tombol Kotak Keluar
Menekan Tombol Tentang Aplikasi
Menekan Tombol Keluar Aplikasi Mulai
Selesai Menampilkan Layout Sms
Menampilkan Layout List Pesan
Menampilkan Layout List Pesan
Menampilkan Layout Tentang Tidak Ya Tidak Ya Tidak Ya Tidak Ya
Gambar 4 Activity Diagram Menu Utama
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
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.
Pengguna
Masuk Aplikasi
Memilih Pesan Baru
Pesan Normal
Kunci String Tampil Daftar Kontak Layar Smartphone
Menutup Aplikasi
Kunci String Konfirmasi
Mengirim Pesan
Menu Utama Tampil Tulis Pesan
Aplikasi SMS
Mengenkripsi Pesan Pesan Terenkripsi
Pesan Tersimpan Dikotak Keluar Tampil Menu Utama
Cari Nomor Kontak Memasukkan Nomor Kontak
Memilih Nomor Kontak
Tampil Nomor Kontak Menulis Pesan
Menulis Kunci String
Menulis Kunci String Konfirmasi
Memilih Enkripsi Pesan
Memilih Kirim Pesan
Keluar Aplikasi Menutup Aplikasi Nomor Kontak Tampil Nomor Kontak
8
4. PENUTUP4.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/java-untuk-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-data-capai-2-milliar-sms.html diakses