Upload
vantuong
View
226
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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.
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.
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
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.
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
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
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.
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.
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
12
Gambar 4.15 Tampilan Challenge Mode dan Response Only
Gambar 4.16 Tampilan Halaman Login Web
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.
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.
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.