Memahami dan Membongkar Cara Kerja Token Atau Keys Internet Banking

Pemakaian token atau keys yang berbentuk alat kecil satu genggaman tangan seperti kalkulator untuk mengamankan transaksi internet banking saat ini telah jadi suatu hal yang wajib dimiliki oleh seseorang yang mempunyai akses intermet banking. Token atau keys ini jadi aspek tambahan dalam otentikasi yakni untuk menunjukkan kalau kalian atau seseorang tersebut adalah betul-betul pemilik yang sah. Mungkin saja ada yang bertanya-tanya bagaimana caranya kerja token seperti yang digunakan website internet banking? Bagaimana alat kecil seperti kalkulator itu dapat hasilkan angka yang di ketahui oleh server internet banking, walau sebenarnya alat itu tidak terbubung dengan server. 


Perlu kalian ketahui keberadaan token ini tentunya sangat membantu sekali bagi kalian yang sering melakukan transaksi di internet banking, selain menjadi alat tambahan token ini juga dikalim sangat ketat dalam menjaga keamanan si pemilik akun internet banking. Yang jadi pertanyaan lagi, apakah alat ini benar – benar aman ? dan kenapa masih ada saja akun internet banking yang kena bobol ? Dalam artikel ini saya juga akan menerangkan bagaimana langkah kerja token internet banking.

Memahami dan Membongkar Cara Kerja Token Internet Banking


Untuk mengetahui lebih lanjut tentang metode apa yang digunakan token di dunia internet banking silahakan kalian perhatian faktor atau poin-poin penting dibawah ini :


A. Authentication Method


Otentikasi disini mempunyai tujuan untuk menunjukkan siapa kaliansesungguhnya, apakah kalian betul-betul orang yang kalian klaim sebagai dia (who you claim to be). Terdapat beberapa langkah untuk menunjukkan siapa kalian. Cara otentikasi didalam dunia internet banking dapat diliat dalam 3 kelompok  : 


  • Something You Know 

Something You Know disiniyaitu cara otentikasi yang paling umum. Langkah tersebut mengandalkan kerahasiaan informasi dari si pemilik akun, misalnya password serta PIN. Langkah tersebut menganalisis kalau tidak ada seseorangpun yang memahami rahasia itu terkecuali kalian sendiri. 


  • Something You Have 

Langkah tersebut umumnya adalah aspek tambahan untuk membuat otentikasi jadi lebih aman. Langkah tersebut mengandalkan barang yang sifatnya unik misalnya yaitu kartu magnetik/smartcard, hardware token, USB token dsb. Langkah tersebut berasumsi kalau tak ada seseorangpun yang mempunyai barang itu terkecuali kalian sendiri pemilik akun yang sah. 


  • Something You Are 

Something You Are yaitu cara yang paling tidak terlalu sering diapakai karna aspek tehnologi dan manusia juga. Langkah tersebut mengandalkan keunikan bebrapa sisi badan kalian yang mustahil ada pada orang lain seperti sidik jari, suara atau sidik retina mata kalian. Langkah tersebut berasumsi kalau sisi badan kalian seperti sidik jari serta sidik retina mata, mustahil sama dengan orang lain. 

Lantas bagaimana dengan cara otentikasi tradisionil seperti tanda tangan diatas materai? Masuk ke kelompok manakah cara tersebut dari ke-3 cara diatas? Saya fikir tak ada yang cocok, karenanya saya berikan satu lagi yakni “Something You Can“. Langkah tersebut berasumsi kalau tak ada orang lain didunia ini yang dapat lakukan itu terkecuali kalian. Memang otentikasi dengan tanda tangan dibuat diatas asumsi itu, tak ada yang dapat menuliskan tanda tangan anda terkecuali kalian. Meskipun sebenarnya ada saja orang yang dapat mengikuti tanda tangan kalian dengan begitu baik, tetapi meskipun mengerti fakta itu tanda tangan diatas kertas tetaplah disadari sebagai bukti otentik atas siapa kalian sesungguhnya.


B. Two Factor Authentication

Pada aplikasi yang kritis serta sensitif seperti transaksi keuangan, satu cara otentikasi saja dianggap tidak cukup. Oleh karenanya keluar istilah 2FA (Two Factor Authentication) yang disebut-sebut sebagai salah satu system otentikasi yang memakai 2 aspek (cara) secara berlainan. Empat cara otentikasi yang telah saya terangkan sebelunya bisa dipadukan untuk meningkatkan keamanan, satu diantara misalnya yaitu dengan gabungan “something you have” berbentuk kartu ATM dengan “something you know” berbentuk PIN. Gabungan ini adalah gabungan yang paling banyak digunakan didalam dunia perbankan saat ini.



C. Kata Sandi (Password) Yang Dihasilkan Token Internet Banking

  • Mode Challenge/Response (C/R) 

Mode pertamayaitu model yang seringkali digunakan saat melakukan sesuatu berbentuk transaksi. Dalam mode ini, server memberi challenge berbentuk sederetan angka, dan angka itu mesti dimasukkan dalam mesin token untuk memperoleh jawaban (response). Selanjutnya pemakai memasukkan angka yang keluar pada tokennya kedalam form di website internet banking. Token juga akan keluarkan kode yang berbeda-beda meskipun dengan challenge code yang sama dengan periodik bergantung waktu challenge dimasukkan kedalam token. 


  • Mode Self Generated (Response Only) 

Dalam mode ini, server tidak memberi tantangan (challenge) apa pun. Token pemakai dapat segera keluarkan sederetan angka tanpa ada tindakan untuk memasukkan challenge. Seperti mode C/R, token juga keluarkan kode yang tidak sama dengan periodik bergantung waktu token disuruh untuk hasilkan kode self generated tersebut.


Perlu ditegaskan kembali, bahwa desungguhnya jawaban yang didapatkan dari token baik dalam mode C/R ataupun Self Generated (resopnse only) tidak lain yaitu password juga. Tetapi berlainan dengan password yang kalian gunakan untuk login, password yang dibuat token ini mempunyai keterbatasan untuk alasan keamanan, sehingga dapat disimpulkan bahwa kode yang dihasilkan mempunyai sifat-sifat dibawah ini :

  1. Kode yang dihasilkan token hanya dapat dpakai untuk sekali transaksi, jika kalian akan melakukan transaksi kembali maka kode yang digunakan adalah beda lagi
  2. Hanya bisa digunakan dalam batas waktu tertentu, biasanya batas kelayakan kode ini dibatasi anatara 3 samapi dengan 5 menit
  3. Kode yang dihasilkan akan selalu berubah – ubah


D. Proses Otentikasi

Dengan alasan keamanan jarang sekali server menaruh password user berbentuk plain-text. Umumnya server menaruh password user berbentuk hash hingga tidak dapat dikembalikan berbentuk plain-text. Jadi syarat otentikasi berhasil diatas dapat disimpulkan sebagai hasil penghitungan hash dari password yang di kirim client mesti sama juga dengan nilai hash yang disimpan dalam server. Untuk lebih memahami, silahkan kalian perhatikan gambar berikut ini :


Memahami dan Membongkar Cara Kerja Token Atau Keys Internet Banking




E. Pemakaian Salt 

Untuk hindari brute-force attack pada hash yang disimpan di server, maka sebelumnya password user dihitung nilai hashnya, terlebih dulu ditambahkan string acak yang dimaksud dengan salt. Cermati contoh berikut, apabila password user yaitu “secret”, jadi sebelumnya dihitung nilai hashnya, password ditambahkan dulu salt berbentuk string acak “81090273” hingga yang dihitung nilai hashnya yaitu “secret81090273” bukanlah “secret”. 


Cermati kalau nilai MD5 (“secret81090273”) yaitu 894240dbe3d2b546c05a1a8e9e0df1bc sedang nilai MD5 (“secret”) yaitu 5ebe2294ecd0e0f08eab7690d2a6ee69. Apabila tanpa memakai salt, maka attacker yang memperoleh nilai hash 5ebe2294ecd0e0f08eab7690d2a6ee69 dapat memakai tehnik brute force attack atau rainbow table untuk memperoleh nilai password dalam plain-text. 



Penambahan salt “81090273” membuat nilai hash jadi 894240dbe3d2b546c05a1a8e9e0df1bc. Apabila nilai ini dimasukkan dalam website itu, maka dijamin tidak akan ada pada databasenya kalau nilai hash itu  “secret81090273”. Serta karna nilai salt ini dibangkitkan dengan random, jadi setiap user mempunyai nilai salt yang berlainan hingga mustahil attacker dapat membuat database pemetaan pada plaintext serta hash dengan lengkap.



F. Pembangkitan OTP Token Internet Banking 

Bagaimana caranya token hasilkan sederetan angka jadi OTP (One Time password) yang dapat diotentikasi oleh server? Ingat kalau ketentuan supaya otentikasi sukses yaitu password yang di kirim client mesti sama juga dengan yang disimpan di server. Ingat juga kalau password yang dibuat token senantiasa berubah-ubah dengan periodik. Kemudian bagaimana caranya dengan apa yang dibuat alat itu dapat sinkron dengan server? Walau sebenarnya alat itu tidak tersambung dengan server, bagaimana server dapat tahu berapakah nilai yang dibuat token? Jawabannya yaitu dengan waktu. Terlebih dulu telah saya katakan kalau waktu yaitu elemen yang begitu perlu dalam system ini. Server serta token bisa sinkron dengan memakai waktu menjadi nilai referensi. 



G. OTP dalam Model Self Generated (Response Only) 

Saya juga akan terangkan mulai dari pembangkitan OTP dalam model self generated atau response only. Sebelumnya sudah pasti, server serta token mesti menyetujui satu nilai awal rahasia (init-secret atau secret key). Nilai awal ini disimpan (ditanam) dalam suatu token piranti serta disimpan juga dalam database di bagian server. 


Saat disuatu waktu tertentu token disuruh hasilkan OTP tanpa ada challenge code, berikut yang dikerjakan token : 

  1. Ambil waktu saat ini dalam detik berformat EPOCH (jumlah detik sejak 1 Januari 1970), umumnya dalam granularity 10 detik, hingga nilai EPOCH dibagi 10. 
  2. Memadukan init-secret dengan waktu sekarang ini dari langkah 1. 
  3. Mengkalkulasi nilai hash paduan init-secret serta waktu dari langkah 2.
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s