PPP Authentication (CHAP)

1. CHAP
Challenge Handshake Authentication Protocol (CHAP) merupakan salah satu protokol Point -to-Point yang menyediakan layanan otentikasi dengan menggunakan suatu identifier yang berubah-ubah dan suatu variabel challenge. CHAP digunakan secara periodik untuk memverifikasi pengguna atau host network menggunakan suatu metode yang dinamakan 3-way handshake. Proses ini dilakukan selama inisialisasi link establishment. Dan sewaktu-waktu bisa saja diulang setelah hubungan telah terbentuk. Berikut di bawah ini proses yang terjadi pada protokol CHAP :

Setelah fase link establishment selesai, otentikator mengirimkan sebuah pesan challenge ke peer atau pasangan usernya.

Peer meresponnya dengan menghitung suatu nilai hash-nya.
Otentikator merespon nilai hash tersebut, kemudian membandingkannya. Jika nilai hash-nya sama, maka otentikasi valid, sebaliknya koneksi bisa saja diputus.

Pada interval tertentu (ditentukan secara acak), otentikator mengirimkan suatu challenge baru kepada peer dan peer meresponnya seperti pada tahap (2).

Begitupun dengan otentikator merespon nilai hash tersebut seperti pada tahap (3).

Spesifikasi umum chap :
Persyaratan Desain
Algoritma CHAP mensyaratkan bahwa panjang nilai secret minimal harus delapan oktet (64-bit). Dan juga nilai secret tersebut diusahakan tidak terlalu pendek serta susah untuk ditebak (tidak bersifat umum, contoh : root, 123456, dan lain-lain). Nilai secret tersebut disarankan minimal sepanjang nilai hashnya (hal ini tergantung dari algoritma hash yang dipilih) atau dengan kata lain panjangnya tidak kurang dari nilai hashnya. Hal ini dimaksudkan agar cukup tahan terhadap exhaustive search attack. Masing - masing nilai challenge harus unique (tidak sama satu sama lain), karena perulangan dari nilai challenge tersebut dalam hal ini untuk nilai secret yang sama, akan memberikan peluang bagi attacker untuk melakukan replay attack. Oleh karena itu diharapkan bahwa untuk nilai secret yang sama yang digunakan untuk melakukan
otentikasi dengan server – server pada wilayah yang berbeda-beda, nilai challenge-nya harus menunjukkan keunikan. Disamping itu juga, nilai challenge harus bersifat unpredictable. Karena dengan nilai challenge yang bersifat unpredictable, dapat melindungi dari serangan – serangan aktif dengan jangkauan yang luas.
Kelebihan 

 CHAP memberikan perlindungan terhadap playback attack yang dilakukan oleh peer. Kegunaan dari challenge yang diulang-ulang adalah dimaksudkan untuk membatasi waktu pembukaan untuk suatu single attack. Otentikator bertugas mengontrol frekuensi dan waktu dari challenges. Metode otentikasi ini tergantung pada suatu nilai secret yang hanya diketahui oleh otentikator dan peer yanag bersangkutan dimana nilai secret tersebut tidak dikirimkan lewat jaringannya. Walaupun otentikasinya bersifat satu arah (one way), melalui negosiasi CHAP pada kedua arah, maka nilai secret yang sama dapat dengan mudah digunakan untuk mutual authentication.

Kekurangan
Disamping memiliki kelebihan, CHAP juga memiliki kekurangan yakni nilai secret-nya harus tersedia dalam bentuk plaintext. Basis data untuk password yang terenkripsi satu arah, ada yang tidak bisa digunakan. Sehingga hal tersebut membuat CHAP tidak baik untuk jaringan yang lebih luas. Hal ini karena akan membuat instalasi yang besar yang harus dikelola di kedua pihak (peer) dalam jaringan.
Pilihan format konfigurasi untuk CHAP:
§  Type – 3
§  Length – 5
§  Authentication-Protocol - C223 (Hex) untuk CHAP
§  Algorithm - algoritma berisi satu oktet yang mengindikasikan metode authentikasi yang digunakan
§  Packet format
§  Code - mengidentifikasi tipe paket CHAP:
1. Challenge;
2. Response;
3. Success;
4. Failure. 
§  Identifier – identifier yang digunakan dalam pencocokan challanges, responses and replies. 
§  Length – panjang bit dari paket CHAP yang berisi Code, Identifier, Length and Data fields. 
§  Data - 0 atau lebih oktet, formatnya ditentukan oleh Code field. 


Challenge and response
Paket challenge digunakan untuk protokol autentikasi challenge-handshake (CHAP). Pihak autentikasi harus mengirim paket CHAP dengan kolom kode yang di-set 1. Tambahan paket challenge harus dikirim sampai paket Respon yang valid diterima, atau pilihan lain yang counternya telah berakhir.
Paket challenge dapat ditransmisikan setiap saat selama layer protokol jaringan dapat menjamin koneksi tidak mengalami perubahan.
Suatu pihak harus memperkirakan paket challenge selama fase autentikasi dan fase protokol Lapisan jaringan. Setiap kali paket challenge diterima, pihak tsb mengirim paket dengan kolom kode di-set 2 (response).
Setiap kali paket response diterima, pihak autentikasi akan membandingkan nilai response dengan nilai perhitungan yang diharapkan. Berdasarkan perbandingan ini, pihak autentikasi harus mengirim paket Sukses atau Gagal.
Implementasi: karena kesuksesan dapat hilang atau gagal, maka pihak autentikasi dapat mengulang paket response selama fase protokol lapisan jaringan menyelesaikan tahap autentikasi. Untuk mencegah penemuan alternatif Nama dan Kunci rahasia, setiap paket response yang diterima memiliki identitas challenge yang kembali dengan jawaban yang sama sebelumnya untuk challenge yang spesifik ( namun bagian pesan dapat berbeda). Setiap paket response yang diterima dalam fase lainnya harus dihilangkan secara diam-diam. Ketika kegagalan dapat dihilangkan dan pihak autentikasi memberhentikan hubungan, LCP terminate-request-terminate-ack akan memberikan indikasi lain bahwa autentikasi gagal.
Ringkasan mengenai format paket challenge dan response adalah sebagai berikut:

Field yang ditransmisikan dari kiri ke kanan.
1. Code
Bernilai: 1 untuk challenge
2 untuk response
2. Field Identifier
Field identifier berisi satu byte. Field identifier harus diubah setiap kali paket challenge dikirim. ID response harus disalin dari kolom ID challenge yang menyebabkan response.
3. Value-size
Field ini berisi satu byte dan menjelaskan panjang dari kolom Value
4. Value
Field value ini berisi satu atau lebih byte. Byte yang terbesar ditransmisikan terlebih dahulu. Nilai dari challenge adalah variabel aliran dari byte. Pentingnya nilai challenge yang unik dan hubungannya dengan nilai rahasia akan dijelaskan lebih lanjut. Nilai challenge harus berubah setiap kali challenge dikirimkan. Panjang dari nilai challenge bergantung pada metode yang digunakan untuk menghasilkan byte dan saling bebas terhadap algoritma hash yang digunakan.
Nilai response merupakan hasil perhitungan hash satu arah pada aliran byte yang terdiri dari Identitas, diikuti (di-concate dengan) nilai rahasia, dan nilai challenge. Panjang dari nilai response bergantung pada algoritma hash yang digunakan. (MD5: 16-byte)
5. Name
Field dari Nama berisi satu atau lebih byte yang merepresentasikan identitas dari sistem transmisi paket. Tidak ada batasan pada isi dari field ini. Sebagai contoh, field ini dapat berisi rangkaian karakter ASCII atau identitas unik dalam syntax ASN.1. Nama tidak diperkenankan NUL atau CR/LF. Ukurannya ditentukan dari panjang Field.
Sukses dan Kegagalan
Jika Nilai yang diterima dalam Respon sama dengan yang nilai diharapkan, maka otentikator harus mengirimkan paket CHAP dengan kolom kode di-set ke 3 (Sukses).
Jika Nilai yang diterima dalam Respon tidak sama dengan yang diharapkan nilai, maka otentikator harus mengirimkan paket CHAP dengan kolom Kode diatur ke 4 (gagal), dan mengakhiri link.
Ringkasan mengenai format paket challenge dan response adalah sebagai berikut:
Field yang ditransmisikan dari kiri ke kanan.


Kode:
3 untuk Sukses;
4 untuk Kegagalan.
Identifier merupakan 1 oktet untuk membandingkan request dan replies. Identifier harus diambil dari field identifier pada respon.
Message merupakan 0 atau lebih oktet, isinya bisa dibaca dan tidak boleh mempengaruhi operasi dalam protocol, direkomendasikan isi dari pesan ini merupakan karakter ASCII antara decimal 32 sampai 126. Ukurannya ditentukan dari field length.

0 komentar:

Posting Komentar

Write here, about you and your blog.
 
Copyright 2009 Aransyah P All rights reserved.
Free Blogger Templates by DeluxeTemplates.net
Wordpress Theme by EZwpthemes