Publikasi_09.11.3134.pdf

19
 ANALISIS DAN PERANCANGAN APLIKASI ENKRIPSI SMS DENGAN KOMBINASI METODE SUBSTITUSI DAN AES BERBASIS ANDROID DI KALANGAN MAHASISWA STMIK “AMIKOM” YOGYAKARTA NASKAH PUBLIKASI diajukan oleh Mimbar Sutisna Wangsadiria 09.11.3134 kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA  YOGYAKARTA 2013

Transcript of Publikasi_09.11.3134.pdf

  • ANALISIS DAN PERANCANGAN APLIKASI ENKRIPSI SMS DENGAN KOMBINASI METODE SUBSTITUSI DAN AES BERBASIS ANDROID

    DI KALANGAN MAHASISWA STMIK AMIKOM YOGYAKARTA

    NASKAH PUBLIKASI

    diajukan oleh

    Mimbar Sutisna Wangsadiria 09.11.3134

    kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

    AMIKOM YOGYAKARTA YOGYAKARTA

    2013

  • ANALYSIS AND DESIGN SMS ENCRYPTION APPLICATION IN SUBSTITUTION AND AES COMBINATION METHOD BASED IN ANDROID

    AMONG STMIK AMIKOM YOGYAKARTA

    ANALISIS DAN PERANCANGAN APLIKASI ENKRIPSI SMS DENGAN KOMBINASI METODE SUBSTITUSI DAN AES BERBASIS ANDROID DI KALANGAN

    MAHASISWA STMIK AMIKOM YOGYAKARTA

    Mimbar Sutisna Wangsadiria Ema Utami

    Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA

    ABSTRACT

    Last few years occurred rapid development in technology, one of which is the development of telecommunications technology that has helped us reducing the obstacles in communication limited by distance and time. These developments can we look along in wide range of smart phone developments with sophisticated features. One of the provided features is Short Message Service (SMS). This feature is veru familiar among users of smart phones, using SMS, users can communicate via text messages.

    In this final project, a software built on the smart phone that are used to enhance

    the security of the message that will be done through SMS. The software intended to enhance the security of message contents by encrypting sent messages and decrypt received messages. This application can be used to transmit a confidential information securely to others through SMS.

    This software was built by using a combination of classical cryptographic

    algorithms and modern cryptographic algorithms to encrypt SMS. The purpose of using this multiple methods is to obtain an reliably algorithm and can be implemented using Android technology.

    Keywords : SMS, encryption, decryption, substitution technique, AES, android.

  • 1. Pendahuluan

    Beberapa tahun terakhir terjadi perkembangan yang pesat pada bidang

    teknologi, khususnya smartphone yang dapat digunakan untuk pelbagai macam kegiatan

    seperti data transferring, multimedia, multiplayer games, browsing, video streaming dan

    lain lain. Perkembangan smartphone yang sedang populer saat ini adalah smartphone

    yang berbasis Android. Perkembangan smartphone berbasis Android ini sangat

    menakjubkan, dikarenakan Android merupakan Operating Systen Mobile yang open

    platform. Pelbagai perangkat lunak telah dikembangkan untuk memudahkan kita dalam

    membangun suatu aplikasi berbasis Android, diantaranya yang terkenal adalah Eclipse.

    Salah satu fitur penting yang tidak dapat dilupakan dari smartphone adalah fitur

    untuk melakukan pengiriman data berupa pesan singkat melalui Short Message Service

    (SMS).Namun seiring denganperkembangan teknologi yang semakin canggih

    menimbulkan pertanyaan mengenai keamanan informasi yang dikirimkan melalui SMS.

    Setelah melalui pelbagai pertimbangan akhirnya penulis menemukan solusi

    untuk mengembangkan suatu aplikasi pengamanan SMS dengan menggunakan metode

    gabungan dari algoritma kriptografi klasik dan algoritma kriptografi modern untuk meng-

    enkripsi data yang berjalan pada sistem operasi Android sehingga para pengguna

    smartphone berbasis Android dapat mengirim pesan dengan lebih aman.

    2. Landasan Teori 2.1 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 standar yang digunakan untuk mengirim dan menerima

    pesan dalam bentuk teks yang dikirim melalui telepon seluler1.

    2.2 Android Android merupakan sebuah sistem operasi perangkat mobile berbasisi Linux yang mencakup sistem operasi, middleware, dan aplikasi lainnya. Awalnya pada bulan

    Juni 2005 Google Inc. membeli Android Inc. yang merupakan pendatang baru dalam

    pembuatan piranti lunak untuk telepon seluler. Kemudian untuk mengembangkan

    Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan piranti

    keras, piranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola,

    Qualcomm, T-Mobile, dan Nvidia2.

    1 Zulfadli. Aplikasi Supply Chain Management Berbasis SMS. FMIPA UGM, Yogyakarta, 2005. 2 Nazruddin Safaat H, Pemrograman Aplikasi Mobile Smartphone Dan Tablet PC Berbasis Android, Bandung : Informatika, 2012, hal. 1.

  • 2.3 SQLite Android memiliki fasilitas untuk membuat database yang dikenal dengan

    SQLite. SQLite adalah salah satu software yang embedded yang sangat popular,

    kombinasi SQL interface dan penggunaan memory yang sangat sedikit dengan

    kecepatan yang sangat cepat dan ringan dalam hal sumber daya. SQLite tidak memiliki

    server, namun bentuknya adalah library yang akan dipanggil suatu saat program

    dijalankan3.

    2.4 Kriptografi

    Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata

    kriptografi dibagi menjadi dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia)

    dab graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan

    seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat menuju

    tempat yang lain. Dalam perkembangannya, kriptografi juga digunakan untuk

    mengidentifikasi pengiriman pesan dengan sidik jari digital (fingerprint)4.

    2.5 Data Flow Diagram (DFD)

    Pemodelan proses adalah cara formal untuk menggambarkan bagaimana suatu

    proses beroperasi. Salah satu cara yang popular untuk merepresentasikan proses model

    adalah Data Flow Diagram (DFD)5. DFD adalah suatu grafik yang menjelaskan sebuah

    sistem dengan menggunakan bentuk bentuk atau symbol symbol untuk

    menggambarkan aliran data dari proses proses yang saling berhubungan6.

    3. Analisis 3.1 Analisis Sistem

    Analisis sistem adalah teknik pemecahan masalah yang menguraikan bagian - bagian komponen dengan mempelajari seberapa bagus komponen - komponen tersebut

    bekerja dan berinteraksi untuk mencapai tujuan mereka7. Analisis merupakan tahapan

    awal dan sangat penting, karena kesalahan pada tahap ini akan menyebabkan

    kesalahan pada tahap selanjutnya. Analisis merupakan fondasi untuk menentukan

    sukses atau tidaknya suatu sistem informasi yang akan dibuat. dalam perancangan

    sistem nantinya hal yang sangat penting adalah dengan mengetahui masalah yang

    timbul dan kebutuhan yang yang dibutuhkan.

    3 Feri Djuandi, Menggunakan Database Di Android, 2011, hal. 1. 4 Dony Ariyus, Computer Security, Yogyakarta : Andi, 2005, hal. 77. 5 Hanif Al Fatta, Analisis & Perancangan Sistem Informasi, Yogyakarta : Andi, 2007, hal. 105. 6 Elmasri & Navathe, 1994. 7 Hanif Al Fatta, Analisis & Perancangan Sistem Informasi, Yogyakarta : Andi, 2007, hal. 44.

  • 3.2 Software Requirement Spesification (SRS) Tabel 3.1 Spesifikasi Kebutuhan Perangkat Lunak

    NO SRS-ID DESKRIPSI

    1 DECS-01 Menerima input nomor tujuan, pesan, key 1, key 2, dan key 3

    2 DECS-02 Mengubah pesan dan key menjadi kode ASCII

    3 DECS-03 Melakukan enkripsi terhadap pesan menggunakan key yang

    telah dimasukkan

    4 DECS-04 Memberikan header DECS- pada pesan yang akan dikirimkan

    5 DECS-05 Mengirim pesan dan memberikan laporan bahwa pesan telah

    dikirim ke nomor tujuan

    6 DECS-06 Memeriksa pesan yang masuk apakah memiliki header DECS-

    7 DECS-07 Menampilkan nomor pengirim pesan

    8 DECS-08 Melakukan dekripsi menggunakan key yang dimasukkan

    9 DECS-09 Mengubah pesan dari kode ASCII menjadi karakter

    10 DECS-10 Menampilkan pesan asli kepada penerima

    3.3 Rancangan Diagram Hierarki

    Rancangan ini disusun dengan tujuan untuk memudahkan proses perancangan

    aplikasi DECryptoSMS. Diagram hierarki ini memiliki dua sub menu, yaitu menu enkripsi

    dan menu dekripsi. Sedangkan pada tipe sub menu terdapat dua pilihan, yaitu tipe

    masukan (input) dan proses.

    Gambar 3.1 Diagram Hierarki

    3.4 Rancangan Flowchart

    MenuUtama

    MenuDekripsi MenuEnkripsi

    Menu Input Kunci Menu Input Kunci Menu Proses Enkripsi

    Menu Proses Dekripsi

  • Rancangan ini disusun dengan tujuan mendesain dan merepresentasikan

    program. Fungsinya adalah untuk memudahkan dalam penentuan alur logika yang akan

    dibuat.

    Gambar 3.2 Flowchart Sistem

    3.5 Rancangan Sistem

    Perancangan sistem dibagi dalam beberapa tahap, yaitu penyusunan arsitektur

    dan pemodelan fungsional dengan menggunakan DFD.

    3.5.1 Arsitektur Sistem 3.5.1.1 Arsitektur Aliran Pesan Secara Umum (GSM)

    Gambar dibawah ini menunjukkan dua GSM network dan komponen yang

    relevan untuk menyampaikan pesan dari end user A menuju end user B :

  • Gambar 3.3 Susunan Jaringan dan Aliran SMS

    1. SMS dikirim melalui MSC/ VLR menuju SMSC di PLMN (Public Land Mobile

    Network) A. Ini merupakan sebuah pesan MAP forward SM, termasuk nomor MSISDN

    asal A dan MSISDN tujuan B.

    2. Karena end user B berada di PLMN B, SMSC harus me-routing informasi dari HLR

    PLMN B. Untuk melakukannya, SMSC mengirim MAP send routing info for SM dengan

    nomor MSISDN B.

    3. HLR mengirim kembali IMSI dari end user B dan VLR-nya.

    4. SMSC mengirim SMS sebagai MAP message melalui MSC/ VLR ke end user B.

    (Elemen elemen SMS sudah dibahas di Bab II).

    3.5.1.2 Arsitektur Sistem Aplikasi

  • Gambar 3.4 Arsitektur Sistem Aplikasi

    3.5.2 Perancangan Pemodelan Fungsional 3.5.2.1 Context Diagram

    Context diagram menunjukkan data yang mengalir antara sistem dan

    lingkungan yang digambarkan secara umum.

    Gambar 3.5 Context Diagram

    Penjelasan dari gambar diatas adalah user (pengirim) memasukkan nomor

    tujuan, menulis pesan dan mengisi key untuk diproses oleh sistem. Setelah itu sistem

    akan memberikan output pemberitahuan bahwa pesan telah dikirim. Selanjutnya

    penerima akan mendapatkan pesan yang telah diacak (ciphertext) disertai dengan nomor

    pengirim (seperti proses sms pada umumnya).Penerima harus memasukkan kunci yang

    sesuai agar sistem dapat menampilkan pesan yang asli (plaintext).

  • 3.5.2.2 Data Flow Diagram (DFD) Pada tahap ini, proses tunggal dari context diagramakan dibagi menjadi enam

    proses yang lebih terperinci, yaitu proses konversi ASCII, proses enkripsi, proses

    pemberian header, proses pengiriman pesan, proses pemeriksaan header, proses

    dekripsi, dan proses perubahan kode ASCII menjadi karakter kembali.

    Gambar 3.6 DFD Level 1

    Gambar diatas merupakan DFD level 1 dari aplikasi perangkat lunak

    DECryptoSMS. Proses proses yang berlangsung adalah

    1. Konversi ASCII

    Pada proses ini dilakukan perubahan bentuk isi pesan dari karakter menjadi kode ASCII.

    2. Enkripsi

    Pada proses ini dilakukan enkripsi terhadap pesan yang akan dikirim dengan

    menggunakan bantuan kunci yang telah di-inputkan dan dikonversi menjadi kode ASCII.

  • 3. Pemberian Header

    Pada proses ini dilakukan pemberian header pada pesan yang akan dikirim sebagai

    tanda bahwa pesan tersebut milik DECryptoSMS.Pesan tersebut sudah dalam bentuk

    ciphertext.

    4. Pengiriman Pesan

    Pada proses ini dilakukan pengiriman pesan sesuai nomor tujuan yang telah melalui

    proses konversi dan enkripsi, setelah pesan terkirim akan muncul pemberitahuan bahwa

    pesan telah dikirim.

    5. Pemeriksaan Header

    Pada proses ini pesan yang masuk akan diperiksa terlebih dahulu apakah memiliki

    header DECryptoSMS atau tidak. Jika pesan tersebut memiliki header, maka pesan

    tersebut akan langsung diteruskan menuju proses selanjutnya, yaitu dekripsi. Jika pesan

    tidak memiliki header, maka system aplikasi DECryptoSMSakan mengabaikan pesan

    tersebut. Selain itu, proses pemeriksaan header juga akan memisahkan SMS yang

    memiliki header menuju kotak masuk aplikasi DECryptoSMS.

    6. Dekripsi

    Pada proses ini dilakukan dekripsi terhadap pesan yang masuk dengan menggunakan

    kunci yang sesuai. Apabila kunci yang digunakan sesuai, maka pesan yang asli akan

    muncul, tetapi apabila kunci yang digunakan tidak sesuai, maka pesan yang ditampilkan

    tetap berupa chipertext.

    3.5.3 Perancangan Sistem

    Perancangan sistem merupakan langkah awal dalam pembuatan sistem dimana tahapan ini bertujuan untuk memberikan ketentuan bentuk dan proses pada

    perangkat lunak yang dibuat agar pembuatan program tidak menyimpang dari aturan

    yang telah ditetapkan. Pada proses pembuatan aplikasi DECryptoSMS ini terdiri dari 11

    (sebelas) kelas, yaitu :About, DB, Decrypto, DecryptoSMSActivity, Help, LazyAdapter,

    MainActivity, Settings, SMSInfo, SMSInfoAdapter, SMSReceiver. Proses pembuatan

    menggunakan aplikasi Eclipse. Secara garis besar, fungsi dari masing masing kelas

    adalah

    1. About merupakan kelas yang berfungsi untuk memberikan informasi tentang aplikasi

    DECryptoSMS kepada pengguna.

    2. DB merupakan kelas yang berfungsi untuk menyimpan data aplikasi.

    3. Decryptomerupakan kelas yang berisi algoritma yang digunakan dalam proses

    enkripsi dan dekripsi. Pada bagian ini seluruh pesan yang keluar dan masuk akan melalui

    proses enkripsi dan dekripsi.

  • 4. DecryptoSMSActivity merupakan kelas utama yang mengatur tampilan, pengiriman,

    penghapusan, dan penerimaan pesan.

    5. Help merupakan kelas yang berfungsi untuk memberikan penjelasan tentang cara

    menggunakan aplikasi.

    6. LazyAdaptermerupakan kelas yang berfungsi untuk mengatur tampilan dan activity

    pada inboxdan outbox.

    7. MainActivity merupakan kelas yang berfungsi untuk mengatur tampilan awal

    sebelum masuk menuju halaman utama aplikasi.

    8. Settingsmerupakan kelas yang berfungsi untuk mengatur tampilan pada halaman

    Settings.

    9. SMSInfo merupakan kelas yang berfungsi untuk menampilkan informasi dari pesan

    yang diterima seperti nomor telepon pengirim dan pesan.

    10. SMSInfoAdapter merupakan kelas yang berfungsi untuk updating otomatis pesan

    yang masuk.

    11. SMSReceiver merupakan kelas yang yang berfungsi untuk mengatur tampilan list

    pesan yang masuk.

    3.6 Perancangan User Interface Perancangan Interface atau antarmuka adalah perancangan tampilan aplikasi

    yang menghubungkan pengguna dengan system. Berikut ini adalah perancangan

    interface pada aplikasi DECryptoSMS.

    3.6.1 Rancangan Splash Screen

    Gambar 3.7 Rancangan Splash Screen

    Logo

  • 3.6.2 Rancangan Form Tab Tulis Pesan

    Gambar 3.8 Rancangan Form Tab Tulis Pesan 3.6.3 Rancangan Form Tab Kotak Masuk Pesan

    Gambar 3.9 Rancangan Form Tab Kotak Masuk Pesan

    Tab

    Nomor Tujuan

    Kunci 1

    Kunci 2

    Kunci 3

    Pesan

    Kirim Enkrip Reset

    Tab

    Kunci 1

    Kunci 2

    Kunci 3

    Pesan

  • 3.6.4 Rancangan Form Tab Kotak Keluar Pesan

    Gambar 3.10 Rancangan Form Tab Kotak Keluar Pesan 3.6.5 Rancangan Form Bantuan

    Gambar 3.11 Rancangan Form Tab Bantuan 4. Hasil Penelitian Dan Pembahasan 4.1 Implementasi

    Tahap yang harus dilalui setelah melewati tahap perancangan dan pengkodean

    adalah tahap pengujian.Pengujian terhadap program ini dilakukan dengan tujuan untuk

    mengetahui apakah program atau sistem yang dibuat berjalan dan berfungsi sesuai

    dengan rancangan.

    Tab

    Kunci 1

    Kunci 2

    Kunci 3

    Pesan

    Tab

    Help

    About

    Exit

  • Dalam proses pembuatan aplikasi, implementasi perancangan antarmuka dibagi

    menjadi 5 bagian utama, penjelasannya akan dibahas sesuai dengan sub bahasan

    dibawah ini.

    4.1.1 Splash Screen Pada saat aplikasi dijalankan, pengguna akan ditampilkan splash screen berupa

    logo aplikasi DECryptoSMS, setelah beberapa saat pengguna akan masuk halaman

    utama.

    Gambar 4.1 Form Splash Screen

    4.1.2 Form Tulis Pesan

    Ketika splash screen telah hilang, pengguna akan langsung menuju menu tab Tulis Pesan. Pada tab Tulis Pesan ini pengguna diharapkan untuk memasukkan nomor

    tujuan, pesan yang ingin disampaikan, kunci 1 yang sudah disediakan dalam bentuk

    number picker sehingga memudahkan pengguna dalam memilih angka yang ingin

    dijadikan kunci 1. Kemudian pengguna harus memasukkan kunci 2 dengan batas

    maksimal 8 karakter, langkah terakhir pengguna juga harus memasukkan kunci 3 dengan

    batas maksimal 8 karakter. Setelah mengisi semua form, pengguna dapat mengirim

    pesan dengan cara memilih tombol send, apabila pengguna ingin menulis ulang sms,

    pengguna dapat memilih tombol reset, selain itu pengguna dapat mengetahui ciphertext

    yang akan dikirim dengan cara memilih tombol encrypt.

  • Gambar 4.2 Form Tulis Pesan

    4.1.3 Form Kotak Masuk Pesan

    Aplikasi DECryptoSMS telah dilengkapi dengan tab, sehingga akan memudahkan pengguna dalam berpindah posisi dari tab Tulis Pesan menuju tab Kotak

    Masuk Pesan. Setelah berada di tab Kotak Masuk Pesan, telah disediakan form untuk

    memasukkan kunci 1, kunci 2, dan kunci 3. Pengguna harus mengisi form tersebut

    kemudian memilih pesan yang ingin dibaca. Jika kunci yang dimasukkan dan pesan yang

    dipilih sesuai, maka aplikasi akan menampilkan pesan asli. Namun jika kunci yang

    dimasukkan dan pesan yang dipilih tidak sesuai, maka aplikasi akan tetap menampilkan

    chipertext.

    Gambar 4.3 Form Kotak Masuk Pesan

  • 4.1.4 Form Kotak Keluar Pesan

    Setelah dari tab kotak masuk pesan, kita beralih menuju tab kotak keluar pesan. Tab kotak keluar pesan memiliki tampilan yang sama dengan tampilan tab kotak masuk

    pesan, begitu juga dengan cara kerja. Pesan yang tersimpan didalam kotak keluar pesan

    pun merupakan pesan yang sudah dienkripsi.Jika pengguna ingin membaca kembali

    pesan yang telah dikirim, maka pengguna harus memasukkan kunci yang sesuai.

    Gambar 4.4 Form Kotak Keluar Pesan

    4.1.5 Form Bantuan Tab bantuan berisi menu help, about, dan exit.Help berfungsi untuk memberikan

    petunjuk kepada pengguna mengenai cara mengoperasikan aplikasi DECryptoSMS.

    About berfungsi untuk memberikan informasi kepada pengguna tentang aplikasi

    DECryptoSMS. Exit berfungsi untuk keluar dari aplikasi DECryptoSMS.

    Gambar 4.5 Form Bantuan

  • 5. Kesimpulan

    Kesimpulan yang dapat diambil dari penulisan skripsi ini adalah sebagai berikut:

    1. Aplikasi DECryptoSMS ini dapat mengirimkan dan menerima SMS sekaligus

    memiliki fasilitas untuk mengamankan informasi dari pesan yang dikirim dengan cara

    memanfaatkan ilmu kriptografi.

    2. Untuk menghasilkan aplikasi berbasis mobile yang dapat melakukan enkripsi, kita

    dapat mengimplementasikan algoritma kriptografi klasik dan atau modern dengan

    menggunakan eclipse.

    3. Kombinasi algoritma kriptografi klasik dan modern dapat diimplementasikan dengan

    baik untuk enkripsi pesan teks yang bekerja pada jaringan GSM dengan mengirimkan

    pesan dalam bentuk kombinasi abjad dan angka pada ponsel berbasis Android.

    4. Kekurangan dari implementasi algoritma AES untuk enkripsi SMS adalah jumlah

    karakter yang lebih besar karena 15 karakter akan menjadi 32 karakter setelah dienkripsi

    (kelipatan 16).

  • DAFTAR PUSTAKA

    Ariyus, Dony. 2005. Computer Security. Yogyakarta : Andi.

    Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi. Yogyakarta : Andi.

    DiMarzio, J. F. 2008. Android A Programmers Guide. Mc Graw Hill.

    Elmastri, R & Navasthe, B. 1994.Fundamental Of Database System 2nd Edition. Addison Wesley. Fatta, H. A. 2007. Analisis & Perancangan Sistem Informasi. Yogyakarta: Andi.

    Felker, Donn. 2011. Android Application Development for Dummies. Wiley.

    H, Nazruddin Safaat. 2012. Pemrograman Aplikasi Mobile Smartphone Dan Tablet PC

    Berbasis Android.Bandung : Informatika.

    Hariyanto, B. 2007.Esensi Esensi Bahasa Pemrograman Java Edisi 2.Bandung : Informatika. Jackson, Wallace. Android Apps for Absolute Beginners.Apress.

    Murphy, Mark. 2011. Android Programming Tutorials. CommonsWare.

    HALAMAN JUDULNASKAH PUBLIKASIABSTRACT1. Pendahuluan2. Landasan TeoriShort Message Service (SMS)AndroidSQLiteKriptografiData Flow Diagram (DFD)

    3. AnalisisAnalisis SistemSoftware Requirement Spesification (SRS)Rancangan Diagram HierarkiRancangan FlowchartRancangan SistemPerancangan User Interface

    4. Hasil Penelitian Dan PembahasanImplementasiSplash ScreenForm Tulis PesanForm Kotak Masuk PesanForm Kotak Keluar PesanForm Bantuan

    5. KesimpulanDAFTAR PUSTAKA