On Sun, Jun 26, 2005 at 08:09:32PM -0700, Jainal Martin wrote: > tetapi begitu password user di LDAP dienkrip > menggunkan MD5, maka siuser tsb tidak dapat login ke > VPN server dengan error messages berikut : > > Sending Access-Reject of id 179 to 127.0.0.1:32771 > MS-CHAP-Error = "\320E=691 R=1"
Cara kerja CHAP itu tidak seperti auth protocol lainnya. Sewaktu proses authentication, password tidak pernah dikirim sama sekali antara server dan client. Yg dikirim hanya challenge dan response (makanya namanya CHAP, challenge handshake auth protocol). Untuk generate challenge dan responsenya si server dan si client butuh passwordnya. Jadi passwordnya harus accesible sama si server. Kalo udah disimpan dalam bentuk hashnya aja (seperti md5, yg one-way hash algorithm) maka ya passwordnya kan jadi tidak bisa diakses lagi sama servernya, jadi dia tidak bisa pake utk generate challenge. CHAP punya kekuatan yaitu passwordnya tidak pernah disend sama sekali waktu authentication, tapi punya kekurangan juga yaitu passwordnya harus disimpan cleartext (atau encrypted/encoded yg penting accessible) di servernya. MD5 itu one-way hash (atau message digest) algorithm, bukan encryption algorithm. One-way artinya kalo punya hashnya aja secara teori tidak mungkin bisa mendapatkan inputnya. Contoh encryption itu AES, DES, 3DES, RSA. Beberapa implementation LDAP (schema) punya dua field utk password, yg cleartext dan yg hash. Jadi utk CHAP ditunjuk utk pake field yg cleartext, yg laen pake yg hash. Lalu LDAP servernya diatur access control/securitynya supaya field cleartext itu betul2 dibatasi dan dijaga kerahasiaannya. Saya pernah mentok gini juga waktu mau implement authentication utk squid dg ldap backend, bukan utk vpn, tapi prinsipnya sama, dia butuh CHAP juga. Ronny
pgpe5vngkbpeg.pgp
Description: PGP signature