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

Attachment: pgpe5vngkbpeg.pgp
Description: PGP signature

Kirim email ke