• Tidak ada hasil yang ditemukan

IJCCS, Vol.x, No.x, Julyxxxx, pp. 1~5 ISSN:

N/A
N/A
Protected

Academic year: 2022

Membagikan "IJCCS, Vol.x, No.x, Julyxxxx, pp. 1~5 ISSN:"

Copied!
7
0
0

Teks penuh

(1)

SISTEM TWO-FACTOR AUTHENTICATION DENGAN ALGORITMA TIME-BASED ONE-TIME

PASSWORD PADA APLIKASI WEB MENGGUNAKAN PERANGKAT ANDROID

TWO-FACTOR AUTHENTICATION SYSTEM WITH TIME-BASED ONE-TIME PASSWORD ALGORITHM ON WEB APPLICATION USING ANDROID DEVICE

Tesar Ardan Wijaya*1, Desi Purwanti K. *2

Universitas Dian Nuswantoro, Jl. Nakula 1 No.5-11, Semarang, 50131 Jurusan Teknik Informatika, Fakultas Ilmu Komputer

e-mail: *1[email protected], *2[email protected]

Abstrak

Keamanan adalah perhatian utama pada era digital. Banyak aplikasi berbasis web berkembang di dunia perbankan, pemerintahan, institusi pendidikan dan lain sebagainya.

Aplikasi-aplikasi tersebut pada umumnya menggunakan kombinasi username dan password dalam proses otentikasi pengguna. Pelaku kejahatan sering kali memanfaatkan kelalaian pengguna sehingga informasi username dan password sangat rentan terhadap tindakan pencurian data melalui serangan phising. Serangan ini menggunakan pesan email palsu yang dikirim dari sumber yang seolah-olah terpercaya. Two-factor authentication (2FA) adalah sistem otentikasi yang membutuhkan 2 faktor untuk melakukan otentikasi pengguna. One-time password (OTP) adalah kata sandi yang valid dan bisa digunakan hanya untuk satu kali sesi login atau transaksi saja pada komputer atau alat digital lainnya. Sistem two-factor authentication dapat dibangun dengan menggunakan kombinasi username dan password serta divalidasikan kepemilikannya dengan password dinamis one-time password. Salah satu metode untuk membangkitkan one-time password adalah Time-based One Time Password (TOTP), metode ini membangkitkan sebuah password dinamis yang berubah mengikuti suatu jeda waktu tertentu. Tujuan dari penelitian ini adalah bagaimana sebuah perangkat mobile android dapat digunakan sebagai pembangkit atau generator One-time password yang dapat digunakan dalam sistem two-factor authentication.

Kata kunci—keamanan; aplikasi web; two-factor authentication; one-time password; android

Abstract

Security is a major concern in the digital age. Many web-based applications developed in banking, government, educational institutions and others. These applications usually use combination of username and password in the user authentication process. The criminals often take advantage of the slackness of the user so that the username and password information is very vulnerable to acts of data theft through phishing attacks. These attacks use fake e-mail messages sent from a source that seems reliable. Two-factor authentication (2FA) is an authentication system that requires two factors to authenticate users. One-time password (OTP) is a password that is only valid and can be used for once of login session or transaction on a computer or other devices. Two-factor authentication system can be built using a combination of username and password then are validated with dynamic one-time password. One of method for generating one-time password is Time-based One Time Password (TOTP), this method generates a dynamic password which is changed following a certain time lag. The purpose of

(2)

this study is how an android mobile device can be used as a generator of One-time password that can be used in two-factor authentication system.

Keywords—security; web application; two-factor authentication; one-time password; android

1. PENDAHULUAN

Keamanan adalah perhatian utama dalam segala sektor sekarang ini meliputi, dunia perbankan, aplikasi pemerintahan, organisasi kemiliteran, institusi pendidikan dan lain sebagainya. Perkembangan yang sangat pesat pada layanan online memicu peningkatan jumlah identitas digital setiap pengguna butuhkan. Dan password menjadi pengamanan yang paling banyak digunakan untuk saat ini [1]. Para pengguna biasa menggunakan kata-kata yang jelas mudah diingat seperti Nama, umur, tanggal lahir, kata sandi atau password seperti ini sangatlah mudah dipecahkan menggunakan program pemecah sandi sederhana [2]. Informasi pengguna menjadi sangat rentan terhadap tindakan pencurian data melalui serangan phising. Serangan phising sering menggunakan pesan email palsu yang terkirim dari sumber yang terlihat terpercaya. Pelaku kejahatan internet membuat sebuah pesan yang seolah-olah dapat dipercaya oleh korban dengan menggunakan format yang mirip dengan yang asli. Dengan menggunakan teknik social engineering mereka mampu menarik korbannya untuk membalas pesan mereka [3].

Ketidakmampuan single factor authentication dalam mengamankan akun-akun penting para pengguna ini memicu kebutuhan otentikasi lebih dari satu faktor. Two factor authentication (2FA) adalah sistem otentikasi yang membutuhkan 2 faktor untuk melakukan otentikasi pengguna. 2 faktor ini biasanya adalah gabungan dari sesuatu yang diketahui pengguna, dimiliki pengguna atau pengguna itu sendiri seperti sidik jari [4].

One-time password (OTP) adalah kata sandi yang valid dan bisa digunakan hanya untuk satu kali sesi login atau transaksi saja pada komputer atau alat digital lainnya. Berbeda dengan password statis, OTP dapat bertahan dari serangan replay attack. Ada 3 cara untuk membangkitkan OTP: time-synchronization OTP adalah OTP yang dibangkitkan berdasarkan waktu sekarang, previous-password-based OTP adalah OTP yang dibangkitkan berdasarkan password yang dibangkitkan sebelumnya, dan yang terakhir adalah challenge-based OTP adalah OTP yang dibangkitkan berdasarkan challage dari server.

Penelitian ini bertujuan untuk mengimplementasikan sistem Two-factor authentication dengan menggunakan kombinasi username dan password sebagai faktor otentikasi pertama dan one time password yang dibangkitkan menggunakan perangkat android dengan metode time- based one time password (TOTP) sebagai faktor otentikasi kedua.

2. METODE PENELITIAN 2.1 Prosedur Pengumpulan Data

2.1.1 Studi Pustaka

Studi pustaka adalah tahapan pengumpulan data melalui sumber seperti publikasi jurnal internasional, konferensi internasional maupun dokumen-dokumen elektronik.

Pengetahuan-pengetahuan yang didapat dari studi pustakan digunakan untuk menyusun landasan teori dan sebagai acuan dalam mengembangkan dan implementasi sistem two-factor authentication dengan algoritma time-based one-time password pada aplikasi web dengan perangkat android dan QR code.

Penulis melakukan penelusuran dengan menggunakan kata kunci one-time password, time-based one-time password, web authentication dan QR code.

2.1.2 Observasi

Observasi adalah proses pengamatan terhadap pengguna suatu sistem ataupun terhadap sistem yang telah berjalan. Pada tahap ini, penulis melakukan pengamatan terhadap aplikasi

(3)

sejenis yang telah beredar dan mengamati bagaimana sistem tersebut berjalan sehingga dapat diketahui apa kelebihan dan kelemahan dari sistem yang telah berjalan tersebut. Dengan melakukan observasi pada aplikasi yang telah berjalan, diharapkan penulis dapat mengambil kelebihan dari aplikasi tersebut dan meminimalkan kelemahan pada sistem aplikasi yang akan dibuat oleh penulis.

2.2 Arsitektur Sistem

Alur kerja sistem bisa dijelaskan melalui gambar berikut:

Gambar 1. Arsitektur sistem

Pada diagram diatas, terdapat alur yang telah diberi nomor masing-masing dengan keterangan seperti dibawah ini

1. User atau pengguna melakukan request transaksi pada sistem melalui perangkat komputer atau alat digital lainnya.

2. Sebelum memenuhi request dari pengguna, sistem terlebih dahulu melakukan verifikasi dengan meminta kode one time password (OTP).

3. Pengguna melihat informasi kode OTP pada aplikasi yang terdapat pada perangkat android pengguna yang sebelumnya telah menyimpan kode secret seed.

4. Pengguna mendapatkan informasi kode OTP yang diperlukan untuk melanjutkan transaksi 5. Apabila kode OTP yang dimasukan oleh pengguna sesuai maka transaksi yang dilakukan

oleh pengguna akan disimpan dan diproses pada database aplikasi.

2.3 Two-Factor Authentication

Two factor Authentication [5] adalah mekanisme yang mengimplementasikan dua faktor yang telah disebutkan diatas dan diketahui lebih kuat dan lebih aman daripada implementasi sistem one factor authentication sederhana. Pengambilan uang dari mesin ATM membutuhkan otentikasi faktor ganda; pengguna harus memiliki kartu ATM sebagai apa yang kamu miliki, dan harus mengetahui personal identification number (PIN) sebagai apa yang kamu tahu.

Menurut [6] two-factor authentication dapat dibangun dengan mengkombinasikan dua dari pilihan otentikasi berikut:

A. Something you know:

a) Password

b) Knowlegde-Based Authentication (KBA) B. Something you have:

a) One-time password token b) Sertifikat digital

c) Grid cards C. Something you are:

a) Biometrics

(4)

D. Something known about you:

a) Risk-based authentication b) Device ID

Two-factor authentication menggunakan kombinasi dari “something you know” dan

“something you have”. Akan tetapi dalam pengaplikasiannya membutuhkan alat tambahan yang dibutuhkan oleh penyedia layanan dan pengguna layanan.

2.4 Time-based One-time Password

Seperti yang sebelumnya didefinisikan di dalam dokumen RFC4226, algoritma HOTP adalah sebuah algoritma yang berdasarkan algoritma HMAC-SHA-1 yang digunakan pada sebuah nilai pencacah dan kumpulan string yang merepresentasikan pesan hasil komputasi HMAC.

Hasil dari komputasi HMAC-SHA-1 adalah kumpulan karakter yang memiliki panjang 40 karakter atau 20 byte, sehingga karakter-karakter ini perlu dipotong (truncate) agar dapat memenuhi kebutuhan user-friendly sehingga persamaan dari HOTP adalah sebagai berikut:

HOTP(K,C) = Truncate(HMAC-SHA-1(K,C))

dimana fungsi truncate adalah sebuah fungsi yang dapat mengubah nilai HMAC-SHA-1 menjadi nilai HOTP. K dan C merepresentasikan secret seed dan nilai pencacah (counter).

Time-based One Time Password (TOTP) adalah salah satu variasi dari algoritma ini yang menggunakan waktu sebagai nilai pencacahnya, dimana nilai T yang diturunkan dari nilai waktu dan jeda waktu (step), sebagai nilai yang menggantikan C. Dalam membangkitkan kode OTP, terdapat langkah-langkah yang harus dilakukan sebelumnya, yaitu

2.3.1 Menentukan Time Window

Dalam menentukan Time Window (T), time-step harus didefinisikan oleh sistem terlebih dahulu dan nilai time-step harus sama antara prover dan verifier. Time-step menentukan berapa lama sebuah kode OTP dapat digunakan dalam sistem. Dalam menghitung time-step, terdapat 2 nilai yang harus diperhatikan yaitu:

1. X yang mewakili time-step dalam detik (nilai baku X = 30 detik).

2. T0 adalah waktu inisial yang digunakan untuk menghitung time-step (nilai baku T0 adalah 0).

Setelah kedua nilai diatas didefinisikan, time window dapat dihitung dengan persamaan:

T = (UNIX time – T0) / X,

dimana hasil dari persamaan diatas akan selalu dibulatkan kebawah. UNIX time atau juga biasa disebut POSIX time atau Epoch time) adalah sistem dalam menggambarkan waktu, didefinisikan sebagai jumlah detik yang dihitung sejak 00:00:00 UTC [32]. Sebagai contoh, jika T0 = 0, X = 30, UNIX time = 59, maka T = (59-0)/30 = 1. Nilai waktu T harus lebih besar dari interger 32-bit ketika tahun sudah melebihi 2038.

2.3.2 Penandatanganan Digital

Tanda tangan digital atau digital signature adalah skema matematis untuk membuktikan keaslian dokumen atau pesan digital. HMAC adalah salah satu tipe dari Message Authentication Code (MAC) yang berbasis fungsi kriptografi hash satu arah. MAC sendiri adalah fungsi satu-arah yang menggunakan kunci privat (K) dalam membangkitkan digest message. Selain membutuhkan kunci privat, dalam mengimplementasikan HMAC juga perlu untuk menentukan fungsi hash (H) yang akan digunakan.

HMAC(K, m) = 𝐻((𝐾⨁𝑜𝑝𝑎𝑑) ∥ 𝐻((𝐾⨁𝑖𝑝𝑎𝑑) ∥ 𝑚)) dimana,

H = fungsi kriptografi hash K = kunci privat

m = pesan yang akan dibuktikan

(5)

K’ = kunci privat yang diturunkan dari kunci privat asli dengan menambahkan 0 pada sebelah kanan hingga panjang kunci sama dengan ukuran block

|| = konkat

⊕ = fungsi XOR Opad = outer padding Ipad = inner padding

Dalam penelitian ini, SHA-1 adalah fungsi hash satu arah yang digunakan dalam proses penandatanganan digital pada penelitian ini dan pesan yang akan ditandatangani adalah time window (T) sedangkan K yang digunakan adalah secret seed dari masing-masing pengguna, sehingga persamaannya menjadi,

HMAC(K, T) = 𝑆𝐻𝐴1((𝐾⨁𝑜𝑝𝑎𝑑) ∥ 𝑆𝐻𝐴1((𝐾⨁𝑖𝑝𝑎𝑑) ∥ 𝑇)) 2.3.3 Truncate / Pemotongan Digest

Setelah didapatkan digest message dari hasil penandatanganan digital atau digital signing menggunakan SHA1, langkah terakhir adalah pesan digest tersebut harus dipotong terlebih dahulu karena pesan terlalu panjang untuk digunakan sebagai OTP. Oleh karena itu, digest message dipotong dengan menggunakan fungsi pemotongan yang bersifat dinamis sehingga panjang pesan menjadi 32 bit atau 4 bytes dengan indeks awal ditentukan oleh nilai 4 bit terakhir dari digest message.

Hasil pemotongan dari digest message masih terlalu panjang untuk digunakan sebagai OTP, sehingga hasil pemotongan ini perlu disederhanakan lagi agar dapat digunakan sebagai OTP. Pemotongan hasil akhir ini dilakukkan dengan cara melakukan operasi modulo 108 sehingga didapat bilangan bulat integer dengan panjang 8 digit. 8 digit angka ini adalah kode OTP yang dapat digunakan oleh pengguna.

3. HASIL DAN PEMBAHASAN

Untuk menguji keberhasilan model yang usulkan dalam penelitian ini, penulis melakukan sampling pengguna dan waktu tertentu untuk melakukan proses login terhadap sistem. Penulis melakukan uji coba setiap pengguna masing-masing 5 kali percobaan login pada 5 pengguna berbeda.

Tabel Hasil Sampling Uji Coba Sistem No Nama

Pengguna

Tanggal (UTC)

Jam (UTC)

Unix Time Password Kode OTP

1 gasyxar 2016-06-27 13:32:13 1467034333 password 84511778 2 gasyxar 2016-06-27 13:38:15 1467034695 password 56845482 3 gasyxar 2016-06-27 13:48:15 1467035295 password 96364010 4 gasyxar 2016-06-27 13:52:46 1467035566 password 29264117 5 gasyxar 2016-06-27 14:10:48 1467036648 password 12363723 6 wusehu 2016-06-27 14:18:06 1467037086 password 16153963 7 wusehu 2016-06-27 14:21:16 1467037276 password 01624850 8 wusehu 2016-06-27 14:27:39 1467037659 password 36181515 9 wusehu 2016-06-27 14:29:46 1467037786 password 51248843 10 wusehu 2016-06-27 14:33:35 1467038015 password 75911202

(6)

11 zecyhuny 2016-06-27 15:01:50 1467039710 password 64448958 12 zecyhuny 2016-06-27 15:22:28 1467040948 password 90098960 13 zecyhuny 2016-06-27 15:27:26 1467041246 password 36830783 14 zecyhuny 2016-06-27 15:36:53 1467041813 password 67000170 15 zecyhuny 2016-06-27 15:56:39 1467042999 password 06336826 16 bipityga 2016-06-27 19:46:29 1467056789 password 52319147 17 bipityga 2016-06-27 20:37:41 1467059861 password 18528901 18 bipityga 2016-06-27 21:39:49 1467063589 password 00028034 19 bipityga 2016-06-27 23:26:38 1467069998 password 48426509 20 bipityga 2016-06-28 00:56:54 1467075414 password 77845792 21 farik 2016-06-28 03:42:36 1467085356 password 72992841 22 farik 2016-06-28 05:03:00 1467090180 password 77670635 23 farik 2016-06-28 06:04:33 1467093873 password 98687267 24 farik 2016-06-28 07:34:50 1467099290 password 31642799 25 farik 2016-06-28 07:50:56 1467100256 password 50898463

Pada tabel uji coba diatas terlihat bahwa, setiap pengguna memerlukan password dan kode OTP untuk melakukan login. Setiap pengguna akan memerlukan kode OTP yang berbeda setiap kali mencoba untuk melakukan login, dan kode OTP yang dihasilkan untuk setiap pengguna dan setiap waktu selalu berbeda.

4. KESIMPULAN

1. Perangkat mobile android dapat digunakan untuk membangkitkan kode OTP menggunakan metode time-based one time password yang dapat digunakan sebagai faktor kedua dalam implementasi two-factor authentication pada aplikasi berbasis web.

2. Aplikasi web dapat mengimplementasikan two-factor authentication dengan menggunakan kombinasi username dan password sebagai faktor pertama, dan perangkat mobile android sebagai faktor kedua.

3. Dengan mengimplementasikan two-factor authentication, akun pengguna relatif lebih aman dari tindakan phising

5. SARAN

1. Dalam mengimplementasikan two-factor authentication ini, penulis hanya membuat prototipe bagian sistem saja, sehingga model ini belum teruji pada aplikasi web yang sesungguhnya.

2. Pada pembangkitan shared secret tingkat randomness-nya masih belum terhitung, sehingga penulis belum mengetahui apakah ada kemungkinan suatu shared secret yang sama dapat terjadi pada proses pembangkitan yang berbeda.

3. Keamanan pada aplikasi android masih perlu dikembangkan lagi sehingga menutup kemungkinan seseorang untuk membuka proses didalamnya.

(7)

UCAPAN TERIMA KASIH

Dengan memanjatkan puji syukur kehadirat Allah SWT. Tuhan Yang Maha Pengasih dan Maha Penyayang yang telah melimpahkan segala rahmat, hidayah dan inayah-Nya kepada penulis sehingga laporan tugas akhir dengan judul “Sistem Two-Factor Authentication Dengan Algoritma Time-Based One-Time Password Pada Aplikasi Web Menggunakan Perangkat Android” dapat penulis selesaikan sesuai dengan rencana karena dukungan dari berbagai pihak yang tidak ternilai besarnya. Oleh karena itu penulis menyampaikan terimakasih kepada:

1. Dr.Ir. Edi Noersasongko, M.Kom, selaku Rektor Universitas Dian Nuswantoro Semarang.

2. Dr. Abdul Syukur, selaku Dekan Fasilkom.

3. Dr. Heru Agus Santoso,M.Kom, selaku Ka.Progdi Teknik Informatika dan selaku dosen wali selama menempuh perkuliahan di Universitas Dian Nuswantoro.

4. Desi Purwanti Kusumaningrum,M.Kom, selaku pembimbing tugas akhir yang telah memberikan ide penelitian, memberikan informasi referensi yang penulis butuhkan dan bimbingan yang berkaitan dengan penelitian penulis.

5. Dosen-dosen pengampu di Fakultas Ilmu Komputer Teknik Informatika Universitas Dian Nuswantoro Semarang yang telah memberikan ilmu dan pengalamannya masing-masing, sehingga penulis dapat mengimplementasikan ilmu yang telah disampaikan.

Semoga Tuhan yang Maha Esa memberikan balasan yang lebih besar kepada beliau-beliau, dan pada akhirnya penulis berharap bahwa penulisan laporan tugas akhir ini dapat bermanfaat dan berguna sebagaimana fungsinya.

DAFTAR PUSTAKA

[1] S. Acharya, A. Polawar, P. Baldawa, S. Junghare and P. Pawar, "Internet Banking Two Factor Authentication Using Smartphone," IJSER, vol. 4, no. 3, 2013.

[2] E. Kalaikavitha and J. Gnanaselvi, "Secure Login Using Encrypted One Time Password (Otp) and Mobile Based Login Methodology," International Journal Of Engineering And Science, vol. 2, no. 10, pp. 14-17, 2013.

[3] A. A. Khan, "Preventing Phishing Attacks using One Time Password and User Machine Identification," International Journal of Computer Applications, vol. 68, no. 3, 2013.

[4] VirtualDCS, "Should two factor authentication be the norm: VirtualDCS," virtualDCS, 12 February 2015. [Online]. Available: http://www.virtualdcs.co.uk/. [Accessed 12 November 2015].

[5] B. Schneier, "Two-Factor Authentication: Too Little, Too Late," Inside Risks 178, Communications of the ACM, vol. 48, no. 4, 2005.

[6] D. v. Thanh, I. Jorstad, T. Jonvik and D. v. Thuan, "Strong authentication with mobile phone as security token," in Mobile Adhoc and Sensor Systems, 2009. MASS '09. IEEE 6th International Conference on, Macau, 2009.

[7] The Open Group, "The Open Group Base Specification Issue 7," 2013. [Online]. Available:

http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_15. [Accessed 21 6 2016].

Gambar

Gambar 1. Arsitektur sistem
Tabel Hasil Sampling Uji Coba Sistem  No  Nama  Pengguna  Tanggal (UTC)  Jam  (UTC)

Referensi

Dokumen terkait

Dengan begitu Framework Zachman sangat membantu dalam memecahkan masalah yang ada di KSP Jaya Manunggal dengan menggunakan sudut pandang yang berbeda di setiap

Tujuan dari penelitian ini ialah untuk menguji seberapa besar pengaruh dan dampak dari penggunaan internet financial reporting (IFR) dan tingkat pengungkapan informasi website

Dengan latar belakang diatas, peneliti telah memaparkan secara singkat tentang kelebihan-kelebihan algoritma naive bayes classfier , maka penulis akan membuat sebuah

Penelitian tentang perancangan arsitektur sistem informasi dan teknologi informasi pada perguruan tinggi bukan merupakan hal baru, maka beberapa penelitian terdahulu

Teknik analisis data yang digunakan untuk mengetahui pengaruh administrasi, sosialisasi dan implementasi PP Nomor 46 Tahun 2013 terhadap kepatuhan Wajib Pajak

Dengan mengembangkan usaha ke sistem online, maka sebagian konsumen dapat lebih menghemat waktunya dalam berbelanja, diman konsumen cukup melakukan transaksi

Berdasarkan pada hasil uji hipotesis simultan mendapatkan nilai F hitung adalah 2,764 lebih besar dari nilai F tabel 2,75 dengan taraf signifikansi sebesar 0,049 dibawah 0,05

Implementasi HMAC-SHA-3-Based One Time Password pada Skema Two-Factor Authentication.. Internet of Things IoT: Definitions, Challenges and Recent Research