Background

E-BANKING

BAB I      PENDAHULUAN
Latar Belakang
Dunia Internet merupakan jaringan global yang dipublikasikan kepada umum. Didalam internet dapat ditemukan berbagai macam tindakan positif dan negatif. Apalagi kalau kita berbicara dalam jaringan pada suatu internet. Jaringan internet pada masa sekarang sudah semakin cangih. Berbagai bidang dapat menggunakan jaringan internet, salah satunya dalam dunia perbankan. Karena internet merupakan jaringan global yang di publkasikan secara umum, dan menggunakan protocol TCP/IP yang semua orang dapat mengaksesnya, maka perlu keamanan untuk mengantisipasi perbuatan negatif yang ada pada jaringan internet. Salah satu nya yaitu dengan menggunakan kriptografi.
Pada dunia perbankan yang juga semakin canggih menggunakan teknologi, juga sangat diperlukan keamanan untuk menjaga data-data dari pihak-pihak yang tidak berwenang. Salah satu teknologi yang digunakan perbankan adalah e-banking. e-banking atau sering disebut Electronic Banking dapat diartikan sebagai aktivitas perbankan di internet. Pada layanan ini memungkinkan nasabah pada sebuah bank dapat menggunakan hampir semua transaksi perbankan melalui sarana internet. Baik via web, taupun handphone.
E-banking pada web ataupun aplikasi lain yg menggunakan internet, penggunaan nya mirip dengan ATM. Lewat sarana internet nasabah dapat dipermudah. Nasabah bisa melakukan apa saja dari berbagai tempat selama nasabah tersebut masih terhubung ke internet. Hal-hal yang dapat dilakukan nasabah pada e-banking seperti pengecekan saldo, transfer antar rekening, pembayaran via rekening (seperti pembayaran telepon, listrik, air, dll). Banyak sekali keuntungan yang didapat dari e-banking tersebut. Baik kenyamanan, efisiensi waktu dan tenaga, dll.
Tentunya e-banking belum tentu aman karena e-banking menggunakan internet. Sedangkan jaringan internet merupakan jaringan global yang dapat diakses oleh siapapun. Banyak kejadian negatif pada jaringan dunia perbankan seperti webspoofing, pencurian password dengan sniffing packet, dll. Pada e-banking tentunya pada saat nasabah ingin melakukan transaksi perbankan pada internet sebelum nya nasabah diminta untuk memasukan nomor pin nasabah untuk masuk ke rekening yang dimiliki oleh nasabah tersebut. Kembali lagi pada internet merupakan jaringan global yang belum tentu aman, pin nasabah yang telah diinputkan tadi dikirimkan melalui internet yang mungkin ditengah jalan dapat dilihat oleh pihak yang tidak berwenang tadi. Dan pihak tersebut dapat saja memanfaatkan rekening tabungan nasabah yang sesungguhnya untuk kebutuhan pribadi.
One Time Password atau sering disebut OTP dapat digunakan sabagai static password maupun hased password. Apabila nasabah menggunakan password static yang banyak digunakan pada umumnya, beberapa kali untuk masuk kedalam sistem, maka akan menjadi rentan terhadap sniffer jaringan. Salah satu bentuk serangan dari jaringan yaitu seseorang yang tidak berkepentingan masuk kedalam jaringan untuk mendapatkan informasi autentikasi, yaitu ID Login dan password pada saat user akan masuk kedalam sistem. Maka sistem OTP dibuat untuk mengatasi serangan semacam itu.
Sistem OTP ini hanya melindungi terhadap serang pasif (Passive attack), bukan melindungi terhadap serangan aktif (active attack). Sistem OTP terdiri dari 2 entitas yaitu generator dan server. Secara umum generator akan menerima masukan berupa passphrase rahasia user dan challenge dari server, yang nantinya akan menghasilkan OTP. Server bertugas mengirimkan challenge yang sesuai dengan user, memverivikasi OTP yang diterima., dan menyimpan OTP yang terbaru.
Proses yang dilakukan pada generator OTP dapat dibagi menajdi 3 yaitu proses awal dimana semua input dikombinasikan, proses perhitungan dimana fungsi hash diterapkan beberapa kali, dan proses output dimana OTP 64 bit dikonversi ke bentuk yang mudah dibaca manusia.
Proses-proses yang dilakukan oleh generator OTP :
1.         Langkah Awal (intial Step)
2.         Langkah perhitungan(computation step)
3.         Langkah Output
Jika hasil operasi ini sesuai dengan OTP terakhir dalam basisdata, proses autentikasi berhasil dan OTP yang diterima disimpan untuk digunakan pada proses berikutnya.



BAB II     LANDASAN TEORI
Keamanan Password dan Enkripsi
Password merupakan feature keamanan yang paling penitng. Dalam hal autentikasi sangat penting meiliki password yang aman dan tidak mudah untuk di terka yaitu digunakan enkripsi. Dan terdapat berbagai macam metode pengenkripsian yang memiliki karakteristik sendiri-senidri.
Pada umumnya algoritma enkripsi satu arah (one-way), disebut DES (Data Encryption Standard) untuk mengenkripsi password. Password yang terenkripsi ini kemudian disimpan (umumnya) di /etc/passwd (atau kurang umum) di /etc/shadow. Ketika login, apapun yang diketikkan dienkripsi dibandingkan dengan masukan dalam file yang menyimpan password. Jika hasilnya cocok, pastilah passwordnya sama, dan setelah itu akan dipersilahkan mengakses. Meskipun DES merupakan algoritma enkripsi dua arah yang di maksud dua arah itu adalah dapat menkode dan mendekode pesan, dengan memberi kunci yang tepat, varian yang digunakan kebanyakan unicies adalah satu arah. Artinya tidak mungkin membalik enkripsi untuk memperoleh password dari isi /etc/passwd (atau /etc/shadow).
Serangan brute force, seperti "Crack" atau "John the Ripper" sering dapat digunakan untuk menerka password meski password sudah cukup acak.
Shadow Password
Shadow password adalah suatu cara menjaga password terenkripsi anda dari pemakai normal. Normalnya, password terenkripsi ini disimpan di file /etc/passwd dapat dibaca semua pemakai. Mereka lalu dapat menjalankan program penerka password dan berusaha menentukan passwordnya. Shadow password menyimpan informasi ini ke file /etc/shadow yang hanya dapat dibaca oleh pemakai yang berhak. Dalam rangka menjalankan shadow password anda perlu memastikan bahwa seluruh utilitas anda yang perlu mengakses informasi password dikompilasi ulang untuk mendukungnya.
Crack dan John the Ripper
Program password cracking bekerja berdasarkan ide yang mudah. Mereka mencoba setiap kata yang ada di kamus, dan kemudian variasi dari kata-kata tersebut. Mereka mengenkripsi satu kata dan membandingkannya dengan password terenkripsi Jika cocok dicatat.
Terdapat sejumlah program ini...dua yang paling dikenal adalah "Crack" dan "John the Ripper" http://www.false.com/security/john/. Mereka akan mengambil banyak waktu cpu anda, tetapi anda seharusnya dapat mengetahui jika penyerang dapat masuk dengan menggunakan mereka dengan terlebih dulu menjalankan mereka dan memberitahu pemakai dengan password lemah. Perhatikan bahwa penyerang harus menggunakan beberapa lubang lain untuk memperoleh file password.
Public Key Cryptography
Public Key Cryptography melibatkan kriptografi yang menggunakan satu kunci untuk enkripsi, dan satu kunci untuk dekripsi. Secara tradisional, kriptografi menggunakan kunci yang sama untuk enkripsi dan dekripsi. "Kunci pribadi" ini harus diketahui oleh kedua pihak, dan ditransfer dari satu ke lainnya secara aman.

Gambar bentuk model enkrpsi single key
Enkripsi kunci publik membebaskan kebutuhan untuk secara aman mentransmisi kunci yang diperlukan untuk enkripsi dengan menggunakan dua buah kunci berbeda, kunci pribadi dan kunci publik. Kunci publik setiap orang tersedia bagi semua orang untuk melakukan enkripsi, sementara pada saat yang sama setiap orang menjaga kunci pribadinya untuk mendekripsi pesan terenkripsi dengan kunci publik yang tepat.
Kerberos
Kerberos adalah sebuah sistem autentikasi yang dikembangkan oleh Proyek Athena di MIT. Ketika pemakai login, Kerberos mengautentikasi pemakai tersebut (menggunakan password), dan memberikan pemakai suatu cara untuk membuktikan identitasnya ke server dan host lain yang tersebar di jaringan.
Autentikasi ini kemudian digunakan oleh program seperti rlogin untuk membolehkan pemakai login ke host lain tanpa password (seperti file .rhosts). Autentikasi juga digunakan oleh sistem surat dalam rangka menjamin bahwa surat dikirimkan kepada orang yang tepat, dan juga menjamin bahwa pengirim adalah benar orang yang diklaimnya.
Efek keseluruhan menginstalasi Kerberos dan berbagai program bersamanya adalah secara virtual menghilangkan kemampuan pemakai untuk menipu (spoof) sistem agar mempercayai bahwa mereka adalah orang lain. Sayangnya, instalasi Kerberos sangat sulit, membutuhkan modifikasi atau mengganti berbagai program standar.
Jenis Serangan Terhadap Keamanan (Security Attack)
Pada dasarnya serangan-serangan terhadap satu data dalam suatu jaringan dapat dikategorikan dalam suatu jaringan dapat dikategorikan dalam 2 jenis serangan menurut jenisnya, yaitu (Stallings, 1995):
a.         Serangan Pasif (Passive Attacks)
Serangan pasif adalah serangan pada sistem autentukasi yang tidak menyisipkan data pada aliran data (data stream), tetapi hanya mengamati atau memonitor pengiriman informasi yang dikirim ke tujuan. Informasi ini dapat digunakan lain waktu oleh pihak yang tidak bertanggung jawab. Serangan pasif yang mengambil suatu unit data dan kemudian menggunakannya untuk memasuki sesi autentikasi dengan berpura-pura menjadi user yang autentik / asli disebut dengan replay attack. Beberapa informasi autentikasi seperti pssword atau data biometric yang dikirim melalui transmisi elektronik, dapat direkam dan digunakan kemudian unutk memalsukan data yang sebenarnya. SeRangan pasif ini sulit untuk dideteksi karena penyerang tidak melakukan perubahan data. Oleh sebab itu untuk mengatasi serangan pasif ini tekanannya adalah pada pencegahannya daripada pendeteksiannya.
b.         Serangan Aktif (Aktive Attacks)
Serangan aktif adalah serangan yang mencoba meemodifikasi data, mencoba mendapatkan autentikasi, atau mendapatkan autentikasi dengan mengirimkan paket-paket data yang salah ke data stream atau dengan memodifikasi paket-paket yang melewati data stream. Kebalikan dari serangan pasif, serangan aktif sulit untuk dicegah karena untuk melakukannya dibutuhkan perlindungan fisik untuk semua fasilitas komunikasi dan jalur-jalurnya setiap saat. Yang dapat dilakukan adalah mendeteksi dan memulihkan dari keadaan yang disebabkan oleh serangan ini.



BAB III    PEMBAHASAN
AUTENTIKASI
Internet adalah jaringan publik yang siapa sajah dapat mengaksesnya begitu besar jaringan ini dapat menimbulkan sisi positif dan sisi negatifnya. Dan jaringan terebut belum tentu aman, bisa saja ditengah jalan pada saat proses pengiriman data, data kita diubah autentikasinya.
Sebuah pesan, file, dokumen atau kumpulan data yang lainnya dikatakan otentik jika asli dan berasal dari sumber yang terpercaya, atau resmi. Otentik sebuah pesan merupakan suatu prosedur yang mengizinkan partisipan untuk memverifikasi bahwa pesan yang diterima otenti atau asli. Ada dua aspek penting dalam memverifikasi sebuah pesan yaitu :
a.         Apakah pesan tersebut belum diubah.
b.         Apakah pesan tersebut otentik.
Kita mungkin juga ingin memverifikasi batas waktu dari sebuah pesan (belum ditunda dan digunakan) dan urutan relatif ke pesan yang lain yang mengalir dipartisipan.
Sebenarnya dalam kehidupan sehari-hari kita sering menemui autentikasi dalam kehidupan sehari-hari, seperti KTP, SIM dan Akte kelahiran. Autentikasi atau keaslian pada KTP yaitu foto yang berada di KTP, tanda tangan, sidik jari. Pada sudut pandang teknologi proses autentikasi merupakan kombinasi evaluasi dari ketiga proses yaitu :
•          Apa yang kita ketahui (contonya : smart password dan PIN)
•          Apa yang kita miliki (contohnya : Smart card, security token : Handphone)
          Apa yang melekat pada diri kita (contohnya : sidik jari, dan tanda lahir)
Pada PIN paling banyak digunakan saat ini, misalnya pada mesin ATM. Dan security tokennya adalah ATM tersebut. Jadi pada internet banking, security token berada pada piranti key suatu bank. Password dikirim dari suatu peer (pihak yang akan melakukan autentikasi) ke autentikator (pihak yang memeriksa autentikasi). Dalam hal ini ada tiga jenis yaitu :
•          Password Statis
•          Password Hash
•          One Time Password (OTP)
Password statis merupakan kombinasi dari user name dan password. Password tipe ini tidak terlalu aman, karena selama seseorang dapat memasukkan kombinasi kunci dengan benar, pihak lain yang mengontrol sekuriti tidak bisa memastikan siapa sesungguhnya yang memasukkan password tipe tersebut.
Tipe hashed password sebaliknya, tidak memasukkan password yang sesungguhnya, tetapi mengirimkan password yang sudah dikonversi (lebih dikenal dengan nama message diggest). Konversi ini bersifat satu arah, artinya hasil dari konversi ini tidak bisa dikonversi balik ke data awal. Hash ini biasanya bersifat bahwa autentikator-lah yang mengirimkan suatu data kepada pihak yang akan memerlukan autentikasi (peer). Peer ini kemudian kembali mengirimkan hash dari data tersebut kepada autentikator.
One-Time-Password (OTP), OTP dapat digunakan sebagai static password maupun hashed password. Apabila digunakan sebagai static password berarti harus ada sebuah security token yang bersifat off-line. Konfigurasi lain adalah menggunakan ponsel sebagai security token. Salah satu keunggulan ponsel sebagai security token dikarenakan sekarang hampir semua orang menjadikan ponsel sebagai sesuatu benda yang harus selalu berada dalam jangkauan, seperti halnya dompet. Dengan ponsel sebagai security token, sebuah OTP dapat dikirimkan dalam kondisi ter-enkripsi, dan untuk membukanya harus menggunakan PIN. Dengan cara ini, hanya pemilik ponsel yang dapat membuka OTP tersebut.
Pada umumnya ada 3  pendekatan dalam pembuktian suatu pesan atau data itu otentik atau asli dengan kelebihan dan keterbatasan.
Pertama, dimana partisipan menyediakan informasi yang hanya dia ketahui, seperti password, PIN atau indentitas lainnya. Kedua, penggunaan peralatan yang dipakai oleh partisipan, seperti printer dan yang lainnya. Dan pendekatan yang terakhir adalah menguji segala sesuatu yang mewakili partisipan yang bisa berupa sidik jari atau bentuk lainnya. Untuk pembuktian yang lebih kuat bisa menggabungkan beberapa pendekatan. Authenticity memberikan dua layanan yaitu :
1.         Mengidentifikasi keaslian suatu pesan dan memberikan jaminan keotentikannya.
2.         Untuk menguji identitas seseorang apabila ia akan memasuki sebuah sistem.
Mekanisme Autentikasi
Sebenarnya dalam kehidupan sehari-hari kita sering menemui autentikasi dalam kehidupan sehari-hari, seperti KTP, SIM dan Akte kelahiran. Autentikasi atau keaslian pada KTP yaitu foto yang berada di KTP, tanda tangan, sidik jari. Pada sudut pandang teknologi proses autentikasi merupakan kombinasi evaluasi dari ketiga proses yaitu :
•          Apa yang kita keahui (contonya : smart password dan PIN)
•          Apa yang kita miliki (contohnya : Smart card, security token : Handphone)
          Apa yang melekat pada diri kita (contohnya : sidik jari, dan tanda lahir)
Pada masa sekarang hal-hal seperti pencurian password secara ilegal masih sering terjadi di dalam dunia jaringan. Maka untuk mengatasi kita dapat menggunakan sistem password sekali pakai.
Cara penerapan sistem password sekali pakai yaitu dengan cara :
1.         Menggunakan sistem perangko pada waktu terenkripsi. Pada saat itu password dimodifikasi terlebih dahulu kemudian baru dikirimkan.
2.         Menggunakan sistem challenge-respon (CR), password yang akan kita berikan itu tergantung pada challenge dari server. Mungkin dapat dianalogikan kita menyiapan suatu daftar jawaban/response yang berbeda bagi pertanyaan/challenge yang diberikan oleh server. Untuk mengahafal sekian banyak password bukan lah mudah sehingga akan lebih mudah jika yang dihafal itu adalah aturan untuk mengubah challenge yang diberikan menjadi respon.
Misalnya aturan kita adalah: "kapitalkan huruf kelima dan hapus huruf keempat", maka password yang kita berikan adalah MxyPtlk1W2 untuk challenge sistem Mxyzptlk1W2.
Jika pada Challenge Response (CR), Harus diketahui aturan mainnya, lain hal dengan sistem perangko-waktu. Pada saat ini kita memberikan perangko dan kita harus mengingat passwordnya. Mekanisme seperti ini biasa ditangani oleh atupun perangkat lunak dan juga diterapkan melalui dukungan perangkat keras. Perangkat lunak autentisasi yang mengadopsi perangko-waktu  adalah Kerberos  yang dibuat di MIT. Keberos mewajibkan modifikasi client bagi sinkronisasi waktu dengan server serta pemberian password perangko-waktu.
Modifikasi program client mengingatkan kita pada proxy. Sistem CR biasanya diterapkan sekaligus dengan dukungan perangkat keras. Contoh sistem CR operasional adalah perangkat SNK-004 card (Digital Pathways). Contoh sistem CR operasional adalah perangkat SNK-004 card (Digital Pathways) yang dapat diterapkan bersama-sama dengan paket TIS-FWTK (Trusted Information System - internet FireWall ToolKit).
TIS-FWTK menawarkan solusi password sekali pakai (sistem CR) yang ‘menyenangkan’: S/Key. S/Key menerapkan prosedur algoritma hash iteratif terhadap suatu seed, sedemikian sistem dapat memvalidasi response-client instant tapi tidak mempunyai kemampuan untuk memprediksi response-client berikutnya. Sehingga bila terjadi penyusupan pada sistem, tidak ada ‘sesuatu’ yang bisa dicuri (biasanya daftar password). Algoritma hash mempunyai dua sifat utama. Pertama, masukan tidak bisa diregenerasikan dari keluaran (non-reversibel). Kedua, terdapat dua kemungkinan masukan bagi sebuah keluaran yang sama.

(diambil dari http://budi.insan.co.id/courses/ec7010/dikmenjur/ali-report.doc)
Teknis  Autentikasi
Dari perspektif koneksi jaringan dapat dibedakan dua macam autentikasi:
          Two-channel-authentication, menggunakan dua channel untuk melakukan autentikasi. Contoh sederhana, ketika melakukan login dari komputer via internet, sedangkan passwordnya di kirimkan ke ponsel. Cara ini masih mengandung kelemahan, sebab dapat terjadi serangan yang disebut man in the middle attack. Artinya adalah seseorang bisa berpura-pura sebagai server tujuan koneksi internet,  dengan melakukan sabotase koneksi internet.
          One-channel-authentication. Dari sudut pandang server, terlihat adanya satu channel, meskipun di lapisan bawahnya dapat saja menggunakan dua channel. Skenarionya adalah PC terhubung ke server via jaringan SSL. Kemudian, PC dan ponsel bisa terhubung, baik menggunakan port serial maupun bluetooth. Dengan SIM card yang sudah dilengkapi dengan fasilitas sekuriti, semisal SIM card browser yang menggunakan spesifikasi WIB SmartTrust, maka ponsel tersebut dapat digunakan untuk autentifikasi misalnya dengan generate OTP.
Challenge/Response
Proses otentifikasi melibatkan prosedur challenge/response yang terjadi pada saat dimulainya sebuah otentifikasi. Ketika seorang pemakai ingin meminta hak akses kepada 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. Contohnya, pada saat seorang administrator Web ingin mengakses IIS (Internet Information Service) di Windows NT maka proses challenge/response terjadi agar sistem dapat memberikan hak akses yang sesuai. Contoh lain dalam sistem UNIX yang menggunakan one-time password, seorang pemakai yang ingin melakukan koneksi terminal (telnet) ke dalam sistem harus memasukkan password sebelum sistem memberikan hak akses terhadap terminal. Proses challenge/response yang terjadi disini yaitu pemakai menghubungi server melalui port telnet (21), kemudian server membentuk hash serta challenge key. Pemakai kemudian membalas challenge key tersebut dengan one-time-password yang sesuai. Selanjutnya response/jawaban dari pemakai akan dibandingkan dengan database yang ada didalam sistem, sebelum diputuskan untuk memberikan akses atau tidak.
Sistem Autentikasi One Time Password
Sistem OTP hanya melindungi sistem terhadap serangan pasif (passive attack) tetapi tidak dapat mengatasi serangan aktif (active attacks). Sistem ini terdiri dari 2 ntitas yaitu generator dan server. Secara umum, generator akan menerima masukan brupa passphrase rahasia user dan challenge dari server, kemuian menghasilkan OTP. Sedangkan server bertugas mengirimkan challenge yang sesuai dengan user, memverifikasi OTP yang diterima dan menyimpan OTP terbaru.
Keamanan dari sistem OTP berdasarkan pada tidak bisa dibalikkannya (non-invertability) fungsi hash. Generator dan server harus menggunakan algoritma yang sama untuk dapat beroperasi. Sistem OTP memfolding output dari fungsi hash menjadi 64 bit yang merupakan panjang dari OTP.
Proses yang dilakukan pada generator OTP dapat dibagi menjadi 3 yaitu proses awal dimana semua input dikombinasikan, proses penghitungandimana fungsi hash diterapkan beberapa kali, dan proses output dimana OTP 64 bit dikonversi ke bentuk yang mudah dibaca manusia.
Proses-proses yang dilakukan pada generaator OTP :
1.         Langkah Awal (Initial Step)
Pada prinsipnya, passphrase rahasia  user panjangnya sembarang. Untuk mengurangi resiko dari teknik-teknik penyerangan seperti dictionary attack, string passphrase paling sedikit panjangnya harus 10 karakter. Passphrase rahasia biasanya merupakan informasi tekstual yang dibuat oleh user. Pada langkah ini passphrase disambung dengan seed yang dikirimkan dari server dalam bentuk clear text. Hasil penyambungan ini akan dilewatkan fungsi hash.
2.         Langkah penghitungan (Computation Step)
Serangkaian OTP dihasilkan dengan menerapkan fungsi hash beberapa kali pada output langkah awal (S). OTP pertama yang digunakan dihasilkan dari melewatkan S pada fungsi hash sebanyak N kali. OTP berikutnya yang digunakan dihasilkan dari melewatkan S pada fungsi hash sebanyak N-1 kali. Pengintai yang memonitor pengiriman data OTP tidak dapat menghitung password berikutnya yang dibutuhkan karena hal itu berarti menginvers fungsi hash.
3.         Langkah Output
OTP yang dihasilkan dari langkah no.2 panjangnya 64 bit. Memasukkan angka 64 bit adalah suatu proses yang sulit dan rentan terhadap kesalahan. Beberapa geenerator mengirimkan password ini melalui input stream dan beberapa generator yang lain membuat sistem “cut and paste”. Hasil OTP dikonversi menjadi 6 kata pendek (1-4) yang diambil dari ISO-646 IVS. Setiap kata dipilih dari kamus yang terdiri dari 2048 kata, dengan satu kata panjangnya 11 bit.
Entitas server memiliki basis data yang berisi OTP dari autentikasi yang berhasil atau OTP pertama untuk inisialisasi. Untuk mengautentikasi user, server mendekode OTP yang diterima dari generator ke dalam kunci 64 bit dan menerapkan fungsi hash satu kali. Jika hasil operasi ini sesuai dengan OTP terakhir yang tersimpan dalam basis data, proses autentikasi berhasil dan OTP yang diterima disimpan untuk digunakan pada proses berikutnya.
Enkripsi dengan Fungsi Hash MD5
Ada beberapa tipe fungsi kriptografi, antara lain enkripsi simetris (symmetric encriyption), enkripsi asimetris (asymmetric encription), dan fungsi hash satu arah (one way hash function). Fungsi hash mengurangi data dari ukuran yang berubah-ubah menjadi ukuran yang khusus. Fungsi hash dibutuhkan dalam bagian konfigurasi sistem untuk memudahkan pengecekan terhadap kelebihan data. Seluruh data dapat diperiksa untuk melihat apakah data yang berkapasitas besar dapat diulang, sebab hal ini akan mendatangkan kerugian besar dalam kecepatan dan waktu.
Fungsi hash digunakan dalam kriptografi yaitu dalam hal membagi atribut yang mirip. Terutama dalam hal tanda tangan digital. Sebagai contoh, DDs menandai 320 bit dari pesan 160 bit. Bagaimanapun juga, ketika kalimat dapat lebih panjang, pesan ini akan menghasilkan keelambatan dalam proses pengiriman dan penyimpanan, karena panjang pesan menjadi ganda dari pesan aslinya.
Hal ini terjadi pada waktu sesudah tanda tangan dimasukkan dan dibagi dalam blok 160 bit untuk tanda tangan itu sendiri. Sehingga hal ini menyebabkan kecepatan turun dan pesan dianggap tiak valid. Fungsi hash dapat mengatasi hal ini. Caranya adalah pesan dibagi dalam ukuran yang lebih kecil dan panjang yang berubah-ubah dari teks dibuat dalam ringkasan pesan.
Fungsi hash adalah suatu fungsi matematika atau fungsi lainnya yang menerima input string dengan ukuran sembarang dan mengkonversinya menjadi output string dengan ukuran yang tetap (ukurannya bisa lebih kecil). Sedangkan fungsi satu arah adalah fungsi yang relatif mudah untuk dihitung tetapi sulit untuk menghitung kebalikannya. Jadi fungsi hash satu arah adalah fungsi hash yang merupakan fungsi satu arah, artinya untuk menghitung nilai hash dari input string yang diberikan itu mudah, tetapi sulit untuk menghasilkan string yang nilai hashnya diketahui. Salah satu contoh dari fungsi hash yang digunakan dalam sistem OTP ini adalah fungsi hash MD5.
Penerapan Sistem One Time Password
Pada penerapan ini, ada beberapa program  yaitu program password generator, program untuk login dan verifikasi password, serta program aplikasi sistem, dalam haal ini yang dibuat adalah program aplikasi sistem informasi keuangan. Sebelum melakukan proses login, seorang user harus memiliki user ID dan passphrase terlebih dahulu. Passphrase ini biasanya berupa informasi tekstual dari user. Sesuai dengan ketentuan dari RFC 2289, passphrase terdiri dari 10-63 karakter. Jika diambil contoh panjang passphrase 10-63 karakter dan pada tiap posisi, karakter boleh dipaki ulang, maka jika seseorang mencoba memecahkan passphrasenya kemungkinan passphrase tertebak adalah minimal adalah 1 : 256 (=1208925819614629174706176) dan maksimal 1 : 256  (=5.237424972633826992021103514924e+151). Jadi semakin panjang passphrasenya kemungkinan tertebak menjadi semakin kecil.
Verifikasi OTP pada Server
Dalam proses verifikasi dilakukan pengecekan apakah OTP yang dimasukkan oleh user sama dengan OTP yang tersimpan dalam basis data atau tidak. Setiap kali user berhasil masuk ke dalam sistem, akan dilakukan pencatatan nama user, tanggal, dan jam masuk untuk mengetahui siapa saja yang sudah login ke dalam sistem. Pada program yang penulis buat , pertama kali user mendaftar ke sistem, user menentukan sendiri userID dan seednya. Nilai awal counter sifatnya bebas, tergantung dari kebutuhan sistem. Pada program yang dibuat , counter diberi nilai awal = 100. Kemudian user diminta memasukkan passphrase rahasianya, kemudian menghitung OTP pertamanya (OTP ke-100, hasil dari fungsi hash 100 kali / f(100)) yang kemudian disimpan di dalam basis data. Pada saat pertama kali user menggunakan haknya untuk login ke dalam sistem, user akan diminta untuk memasukkan haknya untuk login ke dalam sistem, user akan diminta untuk memasukkan OTP ke-99 (bukan ke-100). User dapat menghitung OTP ke-99 (hasil dari fungsi hash 99 kali /f(99) ini pada generator. Program verifikasi kemudian akan mengerjakan fungsi hash 1 kali terhadap masukan (f(99)) :
                        à f(f(99)) = f(100)
Kemudian hasil fungsi hash 1 kali ini dibandingkan dengan OTP yang tersimpan dalam basis data. Jika sama maka user berhasil masuk kedalam sistem. Program verifikasi menerima masukan berupa user ID dan OTP. Setelah itu, program akan melakukan validasi nama  user, jika nama user valid dilanjutkan dengan pengecekan terhadap nilai counter. Jika nama user tidak ditemukan, akan ditampilkan pesan. Selanjutnya dilakukan pengecekan terhadap nilai counter, jika nilai counter sudah mencapai nol maka user harus mengganti seednya dengan nilai yang baru.
Langkah-langkah yang dikerjakan dalam proses verifikasi password :
1.         Membagi OTP ke dalam array, masing-masing berisi 1 kata. Kata pertama dimasukkan dalam array ke-1, kata ke-2 dimasukkan dalam array ke-2, dst.
2.         Kebalikan dari proses mengkode bilangan menjadi kata-kata pada generator, proses selanjutnya adalah mengkode kata-kata menjadi bilangan. Hal ini dilakukan dengan mencari posisi/indek tiap kata pada tabel.
3.         Setelah posisi tiap kata yang disimpan dalam array “posisi” didapatkan (dalam bentuk bilangan heksadesimal), dilakukan penyambungan tiap elemen array posisi. Hasil penyambungan ini akan digunakan sebagai masukan untuk penghitungan OTP dengan fungsi hash 1 kali. Jadi masukan yang dipakai untuk fungsi hash ini adalah dalam bentuk heksadesimal.
4.         OTP yang dihasilkan dari fungsi hash 1 kali ini dicocokkan dengan OTP terakhir yang sudah tersimpan dalam tabel. Jika OTP yang dihasilkan sama dengan OTP yang tersimpan dalam tabel maka user bisa masuk kedalam program aplikasi.
5.         Dilakukan pengupdatean data-data pada tabel tersebut. Data yang diubah adalah data counter dan data OTP. Nilai counter akan dikurangi 1 dan data OTP lama akan diganti dengan OTP yang baru (OTP yang dimasukkan user).



BAB IV    KESIMPULAN
Ada beberapa karakteristik sistem OTP yang membuatnya menjadi sistem autentikasi yang unggul :
a.         Dengan tidak melewatkan password yang sebenarnya pada jaringan, sistem OTP dapat menangani replay attack sehingga password sebenarnya menjadi aman.
b.         One Time Password digunakan hanya untuk sekali proses login, sehingga jika seseorang berhasil mendapatkannyapun, OTP tersebut tidak bisa digunakan kembali untuk proses login berikutnya.
c.         Tidak ada informasi rahasia yang disimpan sehingga jika seseorang berusaha mencari data yang tersimpan hal tersebut tidak berguna.
d.         Ketangguhan dari sistem OTP berdasarkan pada tidak bisa dibalikkannya (noninvertability) fungsi hash yang akan digunakan menjadi penting.



DAFTAR PUSTAKA
•           http://rahard.wordpress.com/2007/01/10/hasil-kuliah-security-meng-open-source-kan-kuliah/
•           http://www.x-phones.com/www/as_detail.php?id=283
•           http://one.indoskripsi.com/skripsi/teknik-elektro/aplikasi-kriptografi-dengan-algoritma-message-digest-5-md5
•           http://sdn.vlsm.org/share/ServerLinux/node171.html
•           http://www.x-phones.com/www/art_detail.php?id=1651
•           kriptografi Drs. Megah Mulya,M.T
                      Ardiny Zulistya Putri   

Categories: Share

1 komentar:

  1. berikut kami sajikan paper mengenai E-Banking

    http://repository.gunadarma.ac.id/bitstream/123456789/1028/1/27209033.pdf

    ReplyDelete

Please, do not spam here