IMPLEMENTASI ALGORITMA ENKRIPSI AES PADA APLIKASI SMS (SHORT MESSAGE SERVICE) BERBASIS ANDROID
HALAMAN UTAMA NASKAH PUBLIKASI
diajukan oleh Noni Endriani 10.11.3926
kepada JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2014
HALAMAN PENGESAHAN
IMPLEMENTATION AES ENCRYPTION ALGORITHM IN APPLICATION SMS (SHORT MESSAGE SERVICE) BASED ON ANDROID IMPLEMENTASI ALGORITMA ENKRIPSI AES PADA APLIKASI SMS (SHORT MESSAGE SERVICE) BERBASIS ANDROID Noni Endriani Ema Utami Jurusan Teknik Informatika STMIK AMIKOM Yogyakarta
ABSTRACT
Short message service (SMS) is one of the popularly used message exchange communication medias although many internet based message exchange application tend to be more thrifty and easy but still obstructed by unstable networks. Android is now the operating system with the most advanced developments, the number of devices that offer this operating system increasing rapidly due to the growing number of users, followed by ease of communication technology should be accompanied by increased security, especially security in the exchange of information, one of the easiest and most popular way to exchange information is through short message services (SMS).In general, SMS on mobile phones, especially Android, are particularly vulnerable to the risk of information theft, interception, and even the loss of important information, because frequently sent messages are personal and confidential. So, it can be concluded that it is necessary a cryptographic application in Android that important and confidential SMS delivery is expected can be safely delivered to the recipient, without fear of information leakage. Advanced encryption standard (AES) algorithm implementation for message delivery in Android could be one solution to the problem above, this application has a simple and attractive appearance, so the application is user friendly and can be a secure solution in exchange of information through SMS. Keywords: SMS, Encryption, Decryption, Android, AES
1.
Latar Belakang Di era globalisasi ini, kebutuhan manusia semakin kompleks. Sehingga manusia
termotivasi untuk membuat inovasi baru yang memudahkan kita dalam menyelesaikan suatu masalah. Handphone adalah salah satu inovasi manusia untuk membantu dalam penyelesaian masalah tersebut. Seiring dengan perkembangan dan kemudahan dari teknologi-teknologi tersebut, banyak informasi baru bermunculan, baik yang layak disebarluaskan atau dirahasiakan. Namun keamanan dari informasi tersebut belum terjamin. Untuk mengamankan informasi tersebut, digunakanlah ilmu Kriptografi. Ilmu kriptografi sangat cepat berkembang, Tidak hanya bisa digunakan di komputer, tapi juga digunakan di beberapa perangkat dan sistem operasi, seperti Blackberry, Android, iPhone dan masih banyak lagi. Terutama disini adalah Android, sistem operasi yang dikembangkan oleh Google ini mengalami peningkatan jumlah pengguna dan tentu saja perangkat yang menggunakan sistem operasi ini menjamur dan sangat laris di pasaran, Setiap telepon selular membutuhkan komunikasi, SMS merupakan suatu bentuk komunikasi yang saat ini banyak digunakan oleh semua orang, karena efisien dan biayanya yang murah. SMS yang bersifat penting sangat diharapkan dalam pengirimannya dapat dikirimkan dengan aman kepada penerima. Penggunaan pesan singkat di sistem android, baik melalui aplikasi SMS bawaan atau aplikasi pihak ketiga sangat mudah dan cepat, dan tanpa ragu lagi informasi baik yang penting atau tidak dengan mudahnya dikirimkan, akan tetapi dengan fasilitas sekarang sangat mungkin isi SMS dapat dibaca oleh pihak yang tidak di inginkan, misalnya ketika handphone hilang, dicuri atau di forward oleh orang lain yang menggunakan perangkat kita. Hal ini bisa berakibat kebocoran informasi dan bahkan yang plaing parah adalah kejahatan yang menggunakan kartu kredit dan ATM, disinilah diperlukan cara agar suatu informasi yang penting tidak begitu saja bocor, apalagi status seseorang tidaklah sama dan memiliki tingkat informasi yang berbeda. Dunia kriptografi masa kini semakin dipermudah dengan adanya aplikasi kriptografi dimana pengguna tidak lagi membutuhkan waktu yang lama, rumit dan berpotensi menimbulkan kesalahan, dengan menggunakan algoritma yang ada, pengguna dapat dengan mudah meng-enkripsi sebuah teks hanya dengan sekali klik. Sayangnya jumlah aplikasi kriptografi yang ada saat ini sangat minim, terutama di sistem operasi android.
1
2
Oleh karena itu penulis mencoba merancang sebuah aplikasi kriptografi untuk telepon selular berbasis Android dengan algoritma enkripsi yang kuat. Algoritma yang digunakan di aplikasi ini menggunakan basis perhitungan matematika sehingga hasil dari teks yang terenkripsi cukup kuat, aplikasi ini sangat berguna untuk mempermudah penyandian suatu informasi tanpa harus membutuhkan waktu yang lama, rumit dan memahami algoritma ataupun cara kerjanya. Aplikasi ini bernama SMS Encryption. 2. 2.1
Landasan Teori Short Message Service (SMS) Short Message Service (SMS) atau sering disebut dengan layanan pesan singkat
merupakan sebuah layanan pesan singkat yang disediakan oleh Global System of Mobile (GSM) sebagai layanan standart yang digunakan untuk mengirim dan menerima pesan dalam bentuk teks yang dikirim melalui telepon selular1. 2.2
Konsep Dasar Kriptografi Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret
(rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain2. 2.3
Algoritma Kriptografi
2.3.1
Advanced Encryption Standard (AES) Advanced Encryption Standard (AES) merupakan blok kode simetris untuk
menggantikan DES (Data Encryption Standard) yang dipublikasikan oleh NIST (Nastional Institute of Standard and Technology) pada tahun 2001 . Melalui seleksi yang ketat dan persyaratan yang tidak mudah dari NIST maka pada2 oktober 2000 terpilih algoritma Rinjdel sebagai pemenang yang dibuat oleh Dr. Vincent Rijmen dan Dr. Joan Daemen . Input dan output dari algoritma AES terdiri dari urutan data sebesar 128 bit. Urutan data yang sudah terbentuk dalam satu kelompok 128 bit tersebut disebut juga sebagai blok data atau plaintext yang nantinya akan dienkripsi menjadi ciphertext. Cipher key dari AES
1 2
Zulfadl. 2005.Aplikasi Supply Chain Management berbasis SMS. FMIPA UGM, Yogyakarta. Ariyus, Dony.2008. Pengantar Ilmu Kriptografi, Yogyakarta: Andi, hal. 13
3
terdiri dari key dengan panjang 128 bit, 192 bit, atau 256 bit. Perbedaan panjang kunci akan mempengaruhi jumlah round yang akan diimplementasikan pada algoritma AES ini. 2.3.2
Proses Enkripsi AES Proses enkripsi algoritma AES terdiri dari 4 jenis transformasi bytes, yaitu SubBytes,
ShiftRows, Mixcolumns, dan AddRoundKey. Pada awal proses enkripsi, input yang telah dicopykan ke dalam state akan mengalami transformasi byte AddRoundKey. Setelah itu, state akan mengalami transformasi SubBytes, ShiftRows, MixColumns, dan AddRoundKey secara berulang-ulang sebanyak Nr. Proses ini dalam algoritma AES disebut sebagai round function. Round yang terakhir agak berbeda dengan round-round sebelumnya dimana pada round terakhir, state tidak mengalami transformasi MixColumns. 2.4
Android
2.4.1
Pengertian Android Android merupakan perangkat lunak (Software) sistem operasi yang memakai basis
kode computer yang dapat didistribusikan secara terbuka atau open source sehingga pengguna bisa membuat aplikasi baru di dalamnya . Seiring berkembangnya produk handphone, para produsen penyedia provider juga menyediakan layanan internet untuk memudahkan setiap penggunanya mendapatkan informasi yang diinginkan dimana saja dan kapan saja, salah satunya untuk mendapatkan informasi lokasi transjakarta terdekat dari posisi kita, yaitu dengan menanamkan aplikasi pencarian pada smartphone Android. 2.4.2
Aplikasi Aplikasi Android dikembangkan dalam bahasa pemrograman Java dengan
menggunakan kit pengembangan perangkat lunak Android (SDK). SDK ini terdiri dari seperangkat perkakas pengembangan, termasuk debugger, perpustakaan perangkat lunak, emulator handset yang berbasis QEMU, dokumentasi, kode sampel, dan tutorial. Didukung secara resmi oleh lingkungan pengembangan terpadu (IDE) Eclipse, yang menggunakan plugin Android Development Tools (ADT). Perkakas pengembangan lain yang tersedia di antaranya adalah Native Development Kit untuk aplikasi atau ekstensi dalam C atau C++, Google Eclipse, lingkungan visual untuk pemrogram pemula, dan berbagai kerangka kerja aplikasi web seluler lintas platform.
4
2.5
Eclipse
2.5.1
Tentang Eclipse IDE Eclipse merupakan sebuah IDE (integrated Development environment) yang gratis
dan open source atau yang dapat dikembangkan dan digunakan untuk membangun sebuah program komputer dan dapat dijalankan di semua platform . 2.6
UML Unified modeling language (UML) adalah keluarga notasi grafis yang didukung oleh
meta-model tunggal, yang membantu pendekripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (OOP). (Fowler, 2004, h.1). Unified modeling language (UML) adalah sebuah “bahasa” yang telah menjadi standar dalam industry unruk visualisasi, merancang dan mendokumentasikan sesten piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. 2.6.1
Use Case Use case merupakan fungsionalitas yang diharapkan dari sebuah sistem. Use case
merepresentasikan dekripsi lengkap tentang interaksi yang terjadi antara para actor dengan sistem/perangkat lunak yang sedang dikembangkan (Nugroho, 2009: 7) 2.6.2
Class Diagram Class diagram adalah suatu diagram yang memperlihatkan struktur sebuah sistem.
Class diagram yang menggambarkan struktur class, package, dan objek beserta hubungan satu sama lain seperti dinamis, pewarisan, asosiasi, dan agregasi. 2.6.3
Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar
sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertical (waktu) dan horizontal (objekobjek terkait). Sequence diagram digunakan untuk menggambarkan scenario atau langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu.
5
2.6.4
Activity Diagram Activity Diagram adalah representasi grafis dari alur kerja tahapan akivitas. Para
pemodelan UML, activity diagram dapat digunakan untuk menjelaskan bisnis dan alur kerja operasional secara tahap demi tahap dari komponen suatu sistem. Activity diagram menunjukkan keseluruhan dari aliran control. 3.
Analisis dan Perancangan Sistem
3.1
Analisis SWOT Analisis SWOT adalah metode perencanaan strategis yang digunakan untuk
mengevaluasi kekuatan (Strenghts), kelemahan (Weaknesses), peluang (Opportunities), dan ancaman (Threats) dalam suatu proyek. Keempat faktor itulah yang membentuk akronim SWOT (Strenghts, Weaknesses, Opportunities, Threats). 3.2
Analisis Kebutuhan Awal Aplikasi SMS Encryption ini digunakan untuk mengirim dan menerima pesan baik
secara terenkripsi ataupun tidak. Untuk mengirim pesan secara terenkripsi, aplikasi ini mengenkripsi pesan menjadi chipertext kemudian dikirim kepada penerima dan mendekripsi pesan yang diterima menjadi plainteks, sehingga kondisi yang terjadi pada pengirim dan penerima SMS adalah : 1. Setiap pengirim dan penerima SMS sudah menginstal aplikasi ini 2. Pengirim dan penerima SMS harus memiliki kunci simetri yang sama sesuai yang telah disepakati sebelum mengirim dan menerima SMS yang terenkripsi 3.3
Analisis Kelayakan Sistem Analisis kelayakan sistem digunakan untuk menentukan apakah pengembangan
aplikasi ini dapat diteruskan atau tidak. Hal ini dilakukan agar sistem yang dibuat benarbenar bermanfaat. 3.3.1
Analisis Kelayakan Teknologi Dari segi kelayakan teknologi, aplikasi ini dapat diakatakan layak karena untuk
menjalankan aplikasi, pengguna (user) tidak harus menggunakan Android versi terbaru, Android versi 2.2 pun bisa menggunakan aplikasi ini. 3.3.2
Analisis Kelayakan Hukum Kelayakan hukum disini merupakan peraturan yang ada dalam pemerintahan, yang
pasti berubah-ubah setiap waktu dan di antisipasi dengan undang-undang yang berlaku. Dalam membuat aplikasi tidak boleh menyimpang dari hukum dan peraturan pemerintah/ instansi terkait.
6
Dari segi kelayakan hukum, aplikasi ini dapat dikatakan layak karena dilihat dari konten aplikasi kriptografi AES tidak ada unsur yang melanggar hukum, aplikasi ini tidak mengandung unsur SARA dan pornografi. 3.3.3
Analisis Kelayakan Operasional Aplikasi ini sangat layak karena saat ini mayoritas masyarakat sudah mampu
mengoperasikan handphone Android dengan baik dan aplikasi ini mudah untuk dipahami dan di operasikan. 3.3.4
Analisis Kebutuhan Pengguna Kebutuhan pengguna terhadap fitur di aplikasi ini adalah keamanan dalam mengirim
dan menerima SMS, sehingga pesan yang dikirim dapat di enkripsi dengan salah satu metode enkripsi yang disediakan, beberapa fitur standar pada aplikasi SMS seperti pesan masuk, pesan terkirim dan draft pesan tidak dibutuhkan karena berkaitan dengan tujuan kriptorafi diantaranya kerhasiaan dan nir-penyangkalan. Lalu fitur kritik dan saran juga bisa digunakan apabila pengguna ingin memberi masukkan untuk aplikasi ini. 3.3.5
Kebutuhan Perangkat Keras Spesifikasi perangkat keras yang dibutuhkan dalam pembuatan aplikasi SMS
Encryption adalah:
3.3.6
1.
Intel Core i3-350
2.
2GB RAM
3.
320GB HDD
4.
VGA On Board
Kebutuhan Perangkat Lunak Perangkat lunak yang dibutuhkan dalam pembuatan aplikasi SMS Encryption
sebagai berikut :
3.4
1.
Eclipse IDE
2.
ADT
3.
Android SDK
Perancangan Sistem Perancangan sistem meliputi : 1.
Perancangan proses yang meliputi flowchart dan data flow diagram
2.
UML (United Modelling Language)
7
3.4.1
Flowchart Sistem Flowchart menggambarkan alur sebuah aplikasi, flowchart dari aplikasi ini dapat
dijelaskan pertama pengguna menjalankan apikasi jika ada pesan masuk aplikasi akan memberikan pemberitahuan berupa tampilan menerima pesan kemudian dari pesan yang masuk pengguna dapat membacanya, jika pesan tersebut terenkripsi maka pengguna dapat mendekripsi dengan menggunakan kuci yang telah ditentukan sehingga pesan dapat terbaca. 3.4.2
Diagram Arus Data Sistem/Data Flow Diagram Pada aplikasi SMS Encryption, aliran arus data sistem akan dijelaskan secara
terstruktur oleh DFD yang akan dikembangkan hingga mencapai DFD level 1 Set No.Tujuan
Set No.Tujuan
Get No.Tujuan Pesan
Pengirim
Key
Chiperteks SMS Encryption
Penerima
Key Pesan
Lap.Terkirim
Gambar 3.1 DFD Level 0 Aplikasi SMS Encryption Pengirim memberikan kunci dan pesan, lalu mengenkripsi pesan tersebut, pesan terenkripsi dikirim ke nomor tujuan, kemudian SMS Encryption memberikan laporan terkirim kepada pengirim. Di penerima, SMS Encryption memberikan nomer pengirim dan chiperteks. Lalu mengatur metode dekripsi pesan, lalu apikasi memberikan pesan/plainteks. Key Pesan
Pengirim
Enkripsi
Set_no.Tujuan Lap.Terkirim Set_no.pengirim
Kirim Pesan
Chiperteks
Chiperteks Key Penerima
Chiperteks
Dekripsi
Pesan
Gambar 3.2 DFD Level 1 SMS Encryption
8
Pada DFD Level 1, Proses enkripsi menggunakan kunci dan pesan menghasilkan chiperteks dan dikirim melalui pengiriman pesan dengan nomer tujuan yang diatur oleh pengirim, penerima menjalankan proses dekripsi chiperteks dengan mengatur kunci yang digunakan, sehingga hasil proses dekripsi akan dikembalikan ke penerima. 3.4.3
Use Case Diagram Use case diagram SMS Encryption menceritakan tentang user yang menggunakan
aplikasi ini secara optional bisa memilih untuk mengakses menu sesuai dengan yang diinginkan, Fungsi utama dari aplikasi ini semuanya terletak pada halaman pertama setelah dijalankan, sehingga loading cepat.
Gambar 3.3 Use case SMS Encryption 3.5
Perancangan Antarmuka Perancangan antarmuka adalah proses desain form sebagai interaksi antara pengguna dan aplikasi, pengguna memasuki antarmuka utama baik melalui notifikasi penerimaan SMS atau memulai aplikasi
LOGO
Gambar Tombol
MENU
Gambar 3.4 Rancangan form Splash (splash screen)
9
SMS Encryption Key : Judul Kolom Phone Number :
Message :
Encrypt
Kolom Isian
Send
Tombol
Gambar 3.5 Rancangan form Create message
4.
Implementasi dan Pembahasan
4.1
Implementasi Desain Tampilan dari aplikasi kriptografi berbasis android yang dibuat menggunakan Eclipse
ini terdiri dari beberapa tampilan, diantaranya Splash Screen,Create message, inbox, Menu About, Menu Help dan feedback. Dalam pembuatan aplikasi ini menggunakan software Eclipse, semua layar menggunakan form terpisah dan sebagai pembuat tampilan layar atau form dalam aplikasi ini menggunakan layout. Berikut ini adalah hasil implementasi tampilan aplikasi SMS Encryption pada Emulator.
10
Gambar 4.1 Tampilan Utama SMS Encryption 4.2
Pembahasan
4.2.1
Form Tampilan Create Message Kode dimana saat pengguna memilih Create Message, mengenkripsi pesan dan
mengirim pesan tersebut kenomor tertentu. Berikut sebagian kodenya :
11
4.2.2
Form Tampilan Inbox / Decrypt Message Fungsi kode tampilan Inbox ini akan dijalankan setelah pengguna memilih salah satu
pesan di list kotak masuk untuk dibaca atau di dekripsi . Saat user menerima pesan, maka pesan masuk akan muncul pada list inbox dengan kode sebagai berikut:
12
13
5. 5.1
Penutup Kesimpulan Kesimpulan yang didapat dari “Implementasi Algoritma Enkripsi AES pada Aplikasi
SMS (Short Message Service) Berbasis Android” adalah sebagai berikut: 1.
Aplikasi ini bernama SMS Encryption yang mampu meningkatkan keamanan pengiriman dan penerimaan SMS dengan cara enkripsi dan dekripsi untuk smartphone dan tablet android.
2.
Aplikasi ini dibuat menggunakan Eclipse yang mampu menghasilkan aplikasi yang berkualitas dan kompatibilitas perangkat yang sangat baik, dibuktikan pada pengujian berbagai smartphone dan tablet menggunakan sistem operasi Android versi 2.2 (Frozen Yoghurt) atau yang lebih tinggi.
3.
Menggunakan standar algoritma enkripsi unique yang merupakan standart algoritma dunia.
4.
Aplikasi ini di desain user friendly sehingga mudah digunakan, terdapat beberapa fitur dan menu yang membantu.
5.2 Saran Pada penulisan skripsi ini tentu masih terdapat bug atau kekurangan yang dapat disempurnakan lagi pada pengembangan berikutnya, sehingga terdapat beberapa saran yang bisa menjadi pertimbangan agar Aplikasi enkripsi-dekripsi SMS ini menjadi lebih baik, diantaranya: 1.
Aplikasi SMS Encyption ini dapat ditambahkan pilihan algoritma kriptografi yang digunakan, sehingga banyak pilihan pada pengguna.
2.
Penampilan aplikasi bisa menjadi daya tarik khusus, sehingga penambahan theme warna aplikasi membuat aplikasi tidak membosankan, terutama fitur SMS yang sering digunakan.
3.
Sementara ini hanya memakai algoritma AES 128bit, guna memenuhi kebutuhan pengguna, aplikasi dapat ditambahkan dengan yang lebih tinggi tingkat keamanannya.
4.
Bisa dikombinasikan dengan aplikasi yang menggunakan GPS untuk penentuan titik lokasi saat ini sehingga tidak perlu menulis secara manual.
5.
Bisa ditambahkan fitur bahasa seperti bahasa Indonesia untuk memudahkan pengguna,
karena
yang
digunakan
saat
ini
hanya
bahasa
Inggris.
14
DAFTAR PUSTAKA
Ariyus, Doni. 2008. Pengantar ilmu Kriptografi, Teori, analisis dan Implementasi. Yogyakarta: Penerbit Andi.
Dharwiyanti, Sri. 2003. Pengantar Unified Modeling Language (UML). IlmuKomputer.com.
H, Nazaruddin Safaat. 2012. Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika Bandung.
https://stackoverflow.com/
Komputer, Wahana. 2010. The best Encryption Tools. Jakarta : Elex Media Computindo.
Rambe, Muhammad Januar. 2011.
Analisis Dan Implementasi Keamanan E-Mail
Menggunakan Algoritma RSA Sebagai Enkripsi Dan Dekripsi Pada Mozilla Thunderbird. Medan: USU.
Supardi, Yuniar. 2012. Sistem Operasi Andal Android.
Sutejo, B. Y.Handoko. 2003. Teleakses : Database Pendidikan Berbasis Ponsel, Yogyakarta : Andi.
Yuniati, Voni. Gani Indriyanta. Antonius Rachmat C. 2009. Enkripsi dan Dekripsi dengan Algoritma AES 256 Untuk Semua Jenis File.
Zulfadli. 2005. Aplikasi Supply Chain Management berbasis SMS. FMIPA UGM, Yogyakarta.
14