Top Banner
APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” UNTUK MENINGKATKAN KEAMANAN OTENTIKASI NASKAH PUBLIKASI diajukan oleh Rizka Putra Mustofa 09.11.3514 kepada JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2013
18

APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

Mar 02, 2019

Download

Documents

vantuong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” UNTUK MENINGKATKAN KEAMANAN OTENTIKASI

NASKAH PUBLIKASI

diajukan oleh

Rizka Putra Mustofa

09.11.3514

kepada JURUSAN TEKNIK INFORMATIKA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA

YOGYAKARTA 2013

Page 2: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian
Page 3: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

ANDROID MOBILE APPLICATION “ONE TIME PASSWORD (OTP)” TO INCREASE AUTHENTICATOR SECURITY

APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)”

UNTUK MENINGKATKAN KEAMANAN OTENTIKASI

Rizka Putra Mustofa Andi Sunyoto

Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA

ABSTRACT

Handphone have become human needs. It is most associated with handphone is network. Especially the internet that has been familiar to humans. From one of the network system, the problem is safety. Now it has a lot hijack user accounts by recording a user and password.

One of prevention to avoid piracy is to use a system of OTP (One Time Password). This system will continue to constantly change the password and have the time expired. Android is a mobile operating system that is currently very popular. So it was fit to be the generator of the OTP system.

With the OTP system with a web server and android mobile application as a generator, it is expected that the security problem for an account can be prevented and reduce the possibility of account hijacking. Keyword : one time password, otp, android application

Page 4: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

1

1. Pendahuluan

Internet dibangun melalui jaringan komputer yang saling terhubung. Dengan

begitu salah satu aspek penting yang harus diperhatikan dengan adanya sistem jaringan

komputer adalah masalah keamanannya, dimana dengan banyaknya komputer yang

dihubungkan dalam suatu jaringan dan banyaknya user yang memakai, suatu data

maupun informasi menjadi sangat rentan terhadap serangan-serangan dari pihak-pihak

yang tidak berwenang.

Salah satu masalah dalam keamanan komputer berkaitan dengan bagaimana

komputer mengetahui seseorang yang masuk ke dalam koneksi jaringan adalah benar-

benar dirinya sendiri. Dengan kata lain, sekali user mengidentifikasikan dirinya ke

komputer, komputer harus memastikan apakah identifikasi tersebut otentik atau tidak.

Ada beberapa metode untuk melakukan otentikasi, salah satunya dan yang

paling umum adalah menggunakan password. Metode otentikasi dengan menggunakan

password statis adalah yang paling banyak digunakan. Tetapi jika user menggunakan

password yang sama (password statis) beberapa kali untuk masuk ke dalam suatu

sistem, password tersebut akan menjadi rentan terhadap keamanan account. Salah satu

bentuk serangan ke sistem komputer jaringan adalah seseorang mencoba masuk ke

dalam suatu koneksi jaringan untuk mendapatkan informasi otentikasi, seperti ID login

dan password yang berbeda setiap kali user akan masuk ke sistem. Sistem autentikasi

one time password (OTP) dibuat untuk mengatasi serangan diatas.

Maka dengan penjelasan di atas terinspirasi pemakaian metode One Time

Password (OTP) terhadap suatu account login dengan aplikasi generate kode mobile

berbasis Android yang telah disinkronisasi dengan halam login pada suatu web.

2. Landasan Teori

2.1 Otentikasi

Otentikasi (Authentication) adalah proses untuk memastikan bahwa kedua ujung

koneksi dalam keadaan benar atau sama. Seperti password pada umumnya, syarat agar

otentikasi berhasil adalah password yang dikirimkan client harus sama dengan password

yang disimpan di server. Dengan alasan keamanan jarang sekali server menyimpan

password user dalam bentuk plain-text. Biasanya server menyimpan password user

dalam bentuk hash sehingga tidak bisa dikembalikan dalam bentuk plain-text. Jadi syarat

otentikasi berhasil di atas bisa diartikan sebagai hasil penghitungan hash dari password

yang dikirim klien harus sama dengan nilai hash yang disimpan dalam server.

2.2 Challenge/Response

Proses otentikasi melibatkan prosedur challenge/response yang terjadi pada saat

dimulainya sebuah otentikasi. Ketika seorang pemakai ingin meminta hak akses kepada

Page 5: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

2

sistem, maka sistem akan mengirimkan challenge kepada pemakai kemudian pemakai

mengirimkan kode yang sesuai. Sistem akan membandingkan kode yang dikirimkan oleh

pemakai dengan kode yang ada didalam database. Jika ada kecocokan maka sistem

akan memberikan hak akses sesuai dengan hak yang dimiliki oleh pengguna yang

bersangkutan.

2.3 One Time Password

One Time Password (OTP) adalah password yang berlaku hanya untuk satu sesi

login atau transaksi. OTP menghindari sejumlah kelemahan yang berkaitan dengan

tradisional (statis) password. Kelemahan yang paling penting yang ditujukan oleh OTP

berbeda dengan password statis, OTP tidak rentan terhadap serangan replay. Ini berarti

jika penyusup potensial berhasil merekam OTP yang sudah digunakan untuk masuk ke

layanan atau untuk melakukan transaksi, penyusup tidak akan dapat

menyalahgunakannya karena tidak berlaku lagi.

Sistem OTP adalah layanan yang bisa diimplimentasikan pada banyak hal yang

berhubungan dengan keamanan suatu akun atau melewati tahap otentikasi pemakai.

Sistem ini lebih baik jika dilakukan pada layanan yang berhubungan dengan keuangan,

misalkan layanan validasi pembayaran kuliah, validasi pembayaran internet, tansfer uang

dan sebagainya.

2.4 Eclipse

Aplikasi Android di tulis dan dibangun dengan menggunakan Java, dengan begitu

ada ada beberapa pilihan Aplication Building Tools. Baik dengan memakai IDE

(Integrated Development Environment) atau dengan CLI (Command Line Interface). Akan

tetapi pada saat ini OHA (Open Handset Alliance) dan Google sangat mendukung

Eclipse sebagai IDE Java untuk membangun aplikasi android dibandingkan dengan IDE

lain. Salah satu bukti adalah dirilisnya plugin ADT (Android Development Tools) untuk

Eclipse.

ADT akan mempersingkat waktu pembangunan aplikasi, menyediakan editor

kode Android yang akan membantu ketika menulis file XML pada Android Manifest dan

File Resources, juga Project Wizard yang akan membuat file dasar yang diperlukan pada

saat pembangunan aplikasi Android.

2.5 Macromedia Dreamweaver

Macromedia Dreamweaver atau biasa disebut Dreamweaver adalah sebuah

perangkat lunak untuk mendesain dan membuat halaman web. Dengan menggunakan

Dreamweaver, ketika membuat sebuah halaman web, tidak perlu lagi mengetik kode-

kode HTML atau kode-kode lainnya secara manual. Cukup melakukan klik beberapa kali,

maka dreamweaver akan membantu memberikan script yang akan digunakan

Page 6: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

3

Selain HTML Dreamweaver juga mendukung CSS, JavaScript, PHP, ASP, dan

bahasa pemrograman lainnya untuk membuat web. Hal ini akan sangat menguntungkan

bagi penggunanya. Sebagai contoh, jika dahulu harus mengetikkan kode-kode CSS

untuk membuat Style tertentu, maka dengan Dreamweaver, cukup melakukan klik

beberapa kali saja.

2.6 Bahasa Pemrograman

Bahasa pemrograman adalah software bahasa komputer yang digunakan

dengan cara merancang atau membuat program sesuai dengan struktur dan metode

yang dimiliki oleh bahasa program itu sendiri. Komputer mengerjakan transformasi data

berdasarkan kumpulan printah program yang telah dibuat oleh program. Kumpulan

perintah ini harus dimengerti oleh komputer, berstruktur terntentu (syntax), dan

bermakna. Bahasa pemrograman merupakan notasi untuk memberikan secara tepat

program komputer. Berbeda dengan bahasa, misalkan Bahasa Indonesia dan Inggris

yang merupakan bahasa alamiah (natural language), sintaksis dan semantik bahasa

pemrograman komputer ditentukan secara jelas dan terstruktur, sehingga bahasa

pemrograman juga disebut sebagai bahasa formal (formal language).

2.6.1 Java

Bahasa Java dapat dikategorikan sebagai sebuah bahasa pemrograman

berorientasi objek, pemrograman terdistribusi dan bahasa pemrograman multithrreaded.

Objek Java dispesifikasi dengan membentuk kelas. Untuk masing-masing kelas Java,

kompiler Java memproduksi sebuah file keluaran arsitektur netral yang akan jalan pada

berbagai implementasi dari Java Virtual Machine (JVM). Awalnya Java sangat digemari

oleh komunitas pemrograman internet, karena Java mendukung untuk applets, dimana

program dengan akses sumber daya terbatas yang jalan dalam sebuah web browser.

Java juga menyediakan dukungan level tinggi untuk networking dan objek terdistribusi.

2.6.2 PHP Hypertext Preprocessor

PHP merupakan kependekan dari PHP Hypertext Preprocessor. bahasa atau

kode PHP ini berbentuk kode yang ditempatkan dalam server dan diproses di server.

Hasilnya dikirim ke klien melalui tampilan browser. Secara khusus, PHP dirancang untuk

membentuk aplikasi web jadi dinamis. Artinya, ia dapat membentuk suatu tampilan

berdasarkan permintaan terkini misalnya dengan membuat atau menampilkan database

di halaman web.

PHP adalah suatu bahasa pemrograman Open Source yang digunakan secara

luas terutama untuk pengembangan web dan dapat disimpan dalam bentuk HTML

(Wahana Komputer,2006). Untuk menghasilkan sebuah HTML script yang menggunakan

PHP mempunyai perintah yang lebih singkat dibandingkan bahasa pemrograman lain

seperti Perl atau C.

Page 7: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

4

2.7 XAMPP

XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem operasi,

merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai server yang

berdiri sendiri (localhost), yang terdiri atas program Apache HTTP Server, MySQL

database, dan penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan

Perl. Nama XAMPP merupakan singkatan dari X (empat sistem operasi apapun),

Apache, MySQL, PHP dan Perl. Program ini tersedia dalam GNU General Public License

dan bebas, merupakan web server yang mudah digunakan yang dapat melayani tampilan

halaman web yang dinamis.

2.8 Apache

Server HTTP Apache atau Server Web/WWW Apache adalah server web yang

dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan

Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan

situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini mengunakan

HTTP.

2.9 MySQL

Mysql adalah sebuah server database open source yang terkenal yang

digunakan berbagai aplikasi terutama untuk server atau membuat web. Mysql berfungsi

sebagai SQL (Structured Query Language) yang dimiliki sendiri dan sudah diperluas oleh

Mysql umumnya digunakan bersamaan dengan PHP untuk membuat aplikasi server

yang dinamis dan powerfull.

MySQL adalah sebuah implementasi dari sistem manajemen basis data

relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General

Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun

dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang

bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama

dalam basisdata yang telah ada sebelumnya; SQL(Structured Query Language). SQL

adalah sebuah konsep pengoperasian basis data, terutama untuk pemilihan atau seleksi

dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan

mudah secara otomatis.

2.10 Hash MD5

Dalam ilmu kriptografi, MD5 (Message Digest Algorithm version 5) adalah salah

satu algoritma hash yang paling populer. Hash atau hashing sendiri adalah proses

perubahan suatu data menjadi data lain dengan panjang tertentu, sedemikian sehingga

data itu tidak dapat dipulihkan kembali. Teknik ini biasa digunakan dalam enkripsi data,

misalnya untuk menyimpan password agar tidak ada yang dapat mengetahuinya

meskipun melihat hash dari password itu.

Page 8: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

5

3. Analisis Dan Perancangan Sistem

3.1 Analisis Sistem

Analisis sistem adalah penguraian dari suatu sistem informasi secara utuh ke

dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan

mengevaluasi permasalah, kesempatan, hambatan yang terjadi dan kebutuhan yang

diharapkan sehingga dapat diusulkan perbaikan.

3.1.1 Analisis Kelemahan Sistem

3.1.1.1 Analisis Permasalahan

Authentification adalah proses dalam rangka validation user pada saat memasuki

sistem, nama dan password dari user diperiksa langsung dari daftar mereka yang

diberikan hak untuk memasuki sistem tersebut. Authority (wewenang) ini diberikan oleh

administrator, webmaster atau pemilik situs (pemegang hak tertinggi atau mereka yang

ditunjuk di sistem tersebut). Untuk proses ini masing-masing user akan diperiksa dari

data yang diberikannya seperti nama, password serta hal-hal lainnya yang tidak tertutup

kemungkinannya seperti jam penggunaan dan lokasi yang diperbolehkan.

3.1.1.2 Solusi Terhadap Masalah

Untuk mengatasi permasalahan di atas, maka dibuat sistem OTP(One Time

Password). Namun sistem ini hanya melindungi sistem terhadap serangan pasif (passive

attack) tetapi tidak dapat mengatasi serangan aktif (active attack). Sistem ini terdiri dari

dua entitas yaitu generator dan server. Secara umum, generator akan menerima

masukan berupa kode rahasia user dan challenge dari server, kemudian menghasilkan

OTP. Sedangkan server bertugas mengirimkan challenge yang sesuai dengan user,

memverifikasi OTP yang diterima, dan menyimpan OTP terbaru.

Proses yang dilakukan pada generator OTP dapat dibagi menjadi 3 yaitu proses

awal yang semua input dikombinasikan, proses penghitungan bahwa fungsi hash

diterapkan beberapa kali, dan proses output yang OTP 64 bit dikonversi ke bentuk yang

mudah dibaca manusia.

3.1.2 Analisis Kebutuhan Sistem

3.1.2.1 Analisis Kebutuhan Fungsional

Analisis kebutuhan fungsional adalah bagian paparan mengenai fitur-fitur yang

akan dimasukkan ke dalam aplikasi yang dibuat adalah sebagai berikut.

1. Dapat menginputkan user name

2. Dapat menginputkan init-secret (kode rahasia)

3. Dapat menampilkan list user yang telah register ke aplikasi

4. Dapat menginputkan challenge berupa sederetan angka

Page 9: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

6

5. Dapat menghapus account data profil

6. Dapat mengubah user name

7. Dapat membuat dan menampilkan suatu password yang dapat diotentikasikan

account pada sistem web.

3.1.2.2 Analisis Kebutuhan Non-Fungsional

Analisis kebutuhan non-fungsional adalah bagian yang akan mendukung

jalannya proses pembuatan aplikasi OTP Otentikasi untuk android.

3.1.3 Analisis Kelayakan Sistem

3.1.3.1 Kelayakan Teknologi

Sistem ini secara teknologi sangat layak karena hampir semua orang memiliki

ponsel khususnya smart phone serta semakin bertambahnya permintaan perangkat

mobile di dunia. Selain itu, ketersediaan teknologi yang ada sangat memadai dan mudah

untuk didapatkan. Kelayakan teknologi ini semakin layak dengan banyaknya sistem yang

menggunakan layanan member untuk mengakses suatu service.

3.1.3.2 Kelayakan Hukum

Dari sisi software, aplikasi yang digunakan untuk perancangan yaitu Eclipse

Indigo bersifat open source. Selain itu beberapa aplikasi pendukung seperti, Android

SDK, Android ADT, Dreamweaver, XAMPP, Google Chrome bersifat gratis dan bebas

didistribusikan.

3.1.3.3 Kelayakan Operasional

Sistem yang akan dibangun nantinya dapat dijalankan pada perangkat mobile

berbasis Android minimal versi 2.1 Android Froyo

3.1.4 Analisis SWOT

Dari penjabaran di atas dapat diperoleh beberapa kesimpulan tentang kekuatan,

kelemahan, peluang dan ancaman dari aplikasi mobile OTP ini adalah sebagai berikut.

1. Strength (Kekuatan)

a. Mencegah terjadinya serangan pasif

b. Meningkatkan keamanan jaringan satu level lebih aman dari pada

sebelumnya

c. Kode / password tersebut memiliki waktu kadaluarsa supaya apabila

seseorang mendapatkan password tersebut dalam jangka waktu tertentu

sudah tidak berlaku lagi

2. Weakness (Kelemahan)

a. Harus memiliki generator / handphone yang menggunakan sistem operasi

android sebagai pembuat kode

3. Opportunity (Peluang)

a. Keinginan untuk mengurangi resiko terhadapap serangan atau pembajak.

Page 10: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

7

4. Threats (Ancaman)

a. Semakin pesat berkembangnya teknologi

b. Serangan aktif yang sulit untuk dihadapi.

3.2 Perancangan Sistem

Perancangan sistem merupakan pemodelan secara umum mengenai alur kerja

sistem yang akan dibuat. Dari sana akan didapatkan gambaran yang jelas mengenai

sistem tersebut.

3.2.1 Perancangan Proses

3.2.1.1 Use Case Diagram

Berikut adalah use case diagram yang digunakan pada perancangan sistem OTP

(One Time Password).

Gambar 3.1 Use Case Diagram

3.2.2 Perancangan Interface/Antarmuka

Perancangan interface/antarmuka merupakan merupakan perancangan antar

muka aplikasi OTP Otentikasi yang nantinya akan berjalan pada website dan mobile

device berbasis Android.

4. Implementasi Dan Pembahasan

4.1 Implementasi

Implementasi adalah tahap di mana sistem informasi telah digunakan oleh

pengguna (Al Fatta, Hanif.2007: 167). Hal ini membahas aplikasi ataupun sistem yang

telah dibuat dapat berjalan dan berfungsi dengan benar sesuai dengan sebenarnya.

Sehingga aplikasi dapat menghasilkan keluaran yang sesuai dengan yang diinginkan

4.1.1 Uji Coba Sistem dan Program

Ui coba program sering pula disebut dengan testing program, pada tahapan ini

dilakukan testing pada sistem dan program. Uji coba sistem dan program memiliki

Page 11: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

8

perbedaan yaitu pada uji program membahas tentang bagaimana program tersebut

harus bebas dari kesalahan logika, proses, dan kesalahan sintaks. Sedangkan uji coba

sistem yaitu uji coba yang dilakukan terhadap elemen pendukung sistem baru yang

dibangun mulai dari personil operasional, fungsionalitas program aplikasi hingga lingkup

kerja sistem nantinya.

4.1.1.1 Uji Coba Program

Sebelum program diterapkan, perlu dilakukan pengetesan terhadap program

untuk menemukan kesalahan-kesalahan yang mungkin terjadi. Pengetasan dilakukan

pada tiap-tiap program dan dilanjutkan dengan pengetesan untuk semua modul yang

telah dirangkai. Pengetesan program dilakukan bersamaan dengan pembuatan program,

yaitu dengan pengentrian data, penghapusan data, pengediaan data, kesalahan dari

program yang mungkin terjadi dapat diklasifikasikan dalam dua bentuk kesalahan antara

lain.

4.1.1.2 Uji Coba Sistem

Uji coba sistem adalah sebuah proses terhadap program / aplikasi untuk

menentukan kesalahan dan segala kemungkinan yang akan menimbulkan kesalahan

sesuai dengan spesifikasi aplikasi yang telah ditentukan. Uji coba terhadap sebuah

sistem secara umum bisa dilakukan dengan berbagai macam pendekatan. Pada uji coba

aplikasi ini akan dijabarkan metode pendekatan testing sistem yaitu Metode Black Box

Testing dan White Box Testing.

Tabel 4.1 Pengujian Sistem

No Layout Input Aktivitas

Pengujian Hasil

Kesimpu

lan

1. Login

Android

Username,

Password

Tidak diisi

Muncul pesan “Username

atau Password tidak

cocok”

Berhasil

- Username =

benar

- Password =

salah

Muncul pesan “Username

atau Password tidak

cocok” Berhasil

- Username =

benar

- Password =

benar

Muncul pesan

“Berhasil:HORE!!!”

Masuk ke view data

Berhasil

2. View Data -

- Tampil list user

- Klik pada user

akun

Muncul dialog box dengan

dua menu mode Berhasil

Page 12: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

9

3. Response

Only -

Klik pada button

generate

Muncul enam digit one

time password Berhasil

4. Challenge

Mode Angka

Tidak diisi Button generate tidak bisa

di klik Berhasil

Diisi kurang dari 4

digit

Button generate tidak bisa

di klik Berhasil

Diisi 4 digit angka

- Button generate tidak

bisa di klik

- Muncul enam digit one

time password

Berhasil

5. Login web Username,

PIN

Tidak diisi

-Muncul pesan “isi

username dan password

dengan benar”

Berhasil

- Username =

benar

- PIN = salah

Muncul pesan “Data Login

tidak valid” Berhasil

- Username =

benar

- PIN = benar

Berhasil masuk ke menu

utama web

Berhasil

6. Transfer

Uang PIN

Tidak diisi Muncul pesan “Wrong

PIN” Berhasil

PIN = salah Muncul pesan “Wrong

PIN” Berhasil

PIN = benar Muncul pesan “Transfer

Succes” Berhasil

4.1.2 Manual Program

Cara menggunakan program yang sudah dibuat adalah sebagai berikut.

1. Setelah user mendaftar pada website maka akan diberikan aplikasi mobile android

dan 16 digit initsecret. Kemudian user harus menginstall aplikasi tersebut ke dalam

device.

Page 13: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

10

2. Setelah di-install aplikasi akan mengarahkan ke halaman registrasi dan input data

user. Pada halaman input data user, user harus memasukkan username dan

initsecret yang sama seperti pada halaman registrasi web.

3. Kemudian pada halaman view data pilih username, selanjutnya pilih mode generate

yang dikehendaki. Apabila memilih response only user hanya perlu generate tetapi

apabila challenge mode user harus memasukkan 4 digit pin sebagai inputan untuk

mendapatkan generate code.

4. Setelah mendapatkan code, user harus segera menginputkan code tersebut ke

dalam form pada halaman web karena adanya masa kadaluarsa yang merupakan

sifat dari code tersebut.

4.1.3 Manual Instalasi

Untuk membuat aplikasi dan sistem OTP ada dua entitas yang mendukung

keberhasilan sistem, yaitu aplikasi OTP android sebagai generator dan web otentikasi

sebagai server.

4.1.4 Pemeliharaan Sistem

Setelah melakukan tahapan uji coba, baik uji coba dengan menggunakan

emulator atau dengan menggunakan handphone, maka aplikasi tersebut dapat

digunakan. Hal ini juga dapat memungkinkan terjadinya proses peninjauan kembali

terhadap tingkat efektifitas dari aplikasi yang telah dibuat dalam periode waktu tertentu,

berdasarkan perkembangan dan kemajuan dunia teknologi yang terjadi, serta

berdasarkan tingkat kebutuhan masyarakat terhadap dunia informasi dan media digital

yang digunakan sebagai salah satu media pembelajaran.

4.2 Pembahasan

4.2.1 Pembahasan Listing Program

Pemograman merupakan proses implementasi terhadap pembuatan system

dengan melakukan pengkodean berdasarkan hasil perancangan perangkat lunak yang

telah dibuat sehingga berbentuk sistem baru yang sedemikian rupa seperti yang telah

direncanakan. Pengkodean ini dilakukan dengan menggunakan bahasa pemrograman

PHP (Php Hypertext Preposessor) dan java, database yang digunakan adalah MySQL

dan webserver yang digunakan adalah Apache.

4.2.2 Pembahasan Basis Data

Database untuk aplikasi otentikasi OTP ini terdiri dari 3 database. Pada bahasa

PHP yang sebagai server dibuat dengan database MySql, Sedangkan pada bahasa java

bibuat dengan database SQLiteOpenHelper.

Page 14: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

11

4.2.3 Pembahasan Interface/Antarmuka Program

Berikut tampilan interface / antarmuka.

Gambar 4.13 Tampilan Login dan Input Data Akun

Gambar 4.14 Tampilan View Data dan Menu Mode

Page 15: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

12

Gambar 4.15 Tampilan Challenge Mode dan Response Only

Gambar 4.16 Tampilan Halaman Login Web

Page 16: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

13

Gambar 4.17 Tampilan Transfer Form

Gambar 4.17 Tampilan Pengaturan Server OTP

5. Penutup

5.1 Kesimpulan

Kesimpulan yang dapat diambil dari kegiatan penelitian ini adalah sebagai

berikut.

Page 17: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

14

1. Pembuatan sistem OTP seperti ini dapat dipergunakan untuk mendukung

keamanan dan meningkatkan keamanan suatu akun dalam mengakses suatu

layanan baik yang berbasis web, lokal ataupun aplikasi.

2. Password dari sistem ini memiliki waktu kadaluarsa dengan cara terus berganti

setiap kali login sehingga meningkatkan keamanan suatu akun dan

meminimalisir terjadinya serangan yang dilakukan hacker atau cracker.

3. Dengan memberikan jadwal generate maka password akan melakukan

autogenerate dan password akan terus berganti.

4. Membuat aplikasi mobile android bisa menggunakan eclipse dengan bahsa

pemrograman java.

5. Cara meng-implementasikan ke dalam ponsel android dengan mengambil file

berekstensi apk dari folder bin dari eclipse dan diinstal pada ponsel.

6. Pembuatan sistem OTP bisa diterapkan pada otentikasi login maupun otentikasi

pembayaran karena memiliki sistem keamanan yang dapat mencegah terjadinya

serangan pasif.

5.2 Saran

Beberapa saran untuk penelitian dan pengembangan lebih lanjut dari skripsi ini

adalah.

1. Sistem ini dapat diimplementasikan pada banyak hal dan akan lebih baik jika

dilakukan pada layanan yang berhubungan dengan keuangan, misalkan layanan

validasi pembayaran kuliah, validasi pembayaran internet dan sebagainya.

2. Sistem ini hanya bisa dilakukan menggunakan handphone/gadget dengan sistem

operasi android (minimal versi Gingerbread) sebagai generator, maka disarankan

untuk bisa diterapkan pada semua sistem operasi mobile.

3. Sistem aplikasi mobile android OTP ini ada peringatan tentang jangka waktu

kadaluarsa serta belum diberikan fitur untuk mengubah username dan password

login sehingga perlu ditambahkan fitur-fitur yang mendukung sempurnanya

aplikasi ini.

4. Tampilan dapat dibuat lebih rapi dan teratur seperti penambahan icon agar

menarik serta pengguna lebih mengerti maksud dari fungsi-fungsinya.

Page 18: APLIKASI MOBILE ANDROID “ONE TIME PASSWORD(OTP)” …repository.amikom.ac.id/files/Publikasi_09.11.3514.pdf · masukan berupa kode rahasia user dan challenge dari server, kemudian

15

DAFTAR PUSTAKA

Al Fatta, Hanif. 2007. Analisis dan Perancangan Sistem Informasi. Yogyakarta: Andi

Offset.

Ariyus, Dony. 2007. Pengantar Ilmu Kriptografi Teori, Analisis dan Implementasi.

Yogyakarta: Andi Offset.

Siregar, Ivan Michael. 2011. Membongkar Source Code Berbagai Aplikasi Android.

Yogyakarta: Gava Media.

Sunyoto, Andi. 2007 Pemrograman Database dengan Visual Basic dan Microsoft SQL.

Yogyakarta: Andi Offset.

Ali. 2012. Penerapan Sistem Autentikasi One Time Password Untuk Proses Login,

http://budi.insan.co.id/courses/el7010/dikmenjur/ali-report.doc, diakses tanggal

28 November 2012.

Akbar, Christhofer dkk. 2012. Implementasi One Time Password pada Otentikasi Login

via SMS,

http://openjurnal.politekniktelkom.ac.id/index.php/Jurnal%20PA/TK/2008/?adds

page=2, diakses tanggal 28 November 2012.