Penggunaan Sistem Single Sign On dengan LDAP
Single Sign On (SSO) adalah sebuah sistem yang memfasilitasi penanganan user account untuk beberapa server dengan hanya menggunakan satu username dan password saja. Sistem ini memiliki beberapa keuntungan, antara lain :
1. User tidak perlu mengingat banyak username dan password.
2. Kemudahan pemrosesan data. Jika setiap server memiliki data user masing-masing, maka pemrosesan data user (penambahan, pengurangan, perubahan) harus dilakukan pada setiap server yang ada. Sedangkan dengan menggunakan SSO, cukup hanya melakukan 1 kali pemrosesan.
Dua hal diatas jelas menyatakan bahwa penggunaan SSO meningkatkan kepraktisan, Namun di sisi lain, kepraktisan tersebut menimbulkan suatu kelemahan dalam hal keamanan. Jika password system administrator diketahui oleh orang yang tidak berhak, maka orang tersebut dapat melakukan perubahan terhadap semua data yang ada di dalamnya.
Directory Service
Directory yang dimaksud disini mempunyai arti yang mirip dengan kamus dimana sebuah directory menyediakan nama dan informasi yang berkaitan dengan nama tersebut. Selayaknya sebuah kamus dimana sebuah kata dapat memiliki banyak arti, dalam sebuah directory sebuah nama dapat terkait dengan beberapa informasi yang berbeda.
Directory Service adalah sebuah perangkat lunak sistem yang menyimpan, mengorganisir dan menyediakan akses ke informasi dalam sebuah direktori. Namun, perlu diperhatikan bahwa Directory Service memiliki perbedaan dengan Database Relational. Secara umum, perbedaan antara kedua hal tersebut adalah :
1. Penggunaan Directory Service lebih kepada pembacaan data ketimbang penulisan data. Oleh karena itu, Directory Service umumnya tidak mendukung proses transaksi rumit seperti roll-back yang lazimnya ditemukan pada DBMS.
2. Diperbolehkan adanya redudansi data jika dapat meningkatkan performansi
Lightweight Directory Access Protocol (LDAP)
LDAP adalah sebuah protokol kelas ringan untuk mengakses Directory Service dalam jaringan, baik internet ataupun intranet berdasarkan pada protokol servis direktori X.500. LDAP berjalan melalui protokol TCP/P. Protokol LDAP membentuk sebuah direktori yang berisi hirarki pohon yang memiliki cabang, mulai dari negara, organisasi, departemen sampai dengan perorangan. Struktur pohon LDAP pada umumnya saat sekarang ini berdasarkan nama domain internet.
Informasi pada LDAP disimpan dalam entry. Layaknya entry pada basis data umunya, setiap entry memiliki beberapa atribut. Setiap atribut dapat memiliki satu atau lebih nilai. Namun, jika pada basis data kita memiliki primary key untuk membedakan suatu entry dengan entry lainnya, dalam LDAP kita memiliki Distinguished Name (DN) yang bernilai unik untuk tiap entry. DN didapat dengan merunutkan lokasi entry hingga akar hirarki.
Sebagai contoh, perhatikan hirarki di bawah ini :

LDAP hierarchy
Dari contoh diatas, informasi lengkap dari uid=13506001 adalah :
dn : uid=13506001, ou=informatika, o=itn, dc=com
uid : 13506001
cn : Wulandari
userPassword : {crypt}sayawulan
mail : wulandari.mawardi@gmail.com
objectClass : person
objectClass : organizationalPerson
objectClass : top
Dapat dilihat bahwa DN merupakan hasil pengurutan dari sumber hingga akar hirarki. Sedangkan uid(user id), cn(common name), userPassword, mail, dan objectClass merupakan atribut yang dimiliki oleh entry tersebut. Object Class merupakan kelas-kelas yang diturunkan sifatnya oleh sebuah entry, sebuah entry dapat menurunkan lebih dari satu object Class.
Selain DN, sebuah entry juga memiliki RDN (Relative Distinguished Name). RDN hanya membedakan suatu entry dengan entry lainnya di bawah sebuah percabangan yang sama. Untuk contoh diatas, pada ou=informatika, 13506001 memiliki RDN : uid=13506001 untuk membedakannya dengan uid=13505019.
Cara Kerja LDAP
Secara teknis, LDAP merupakan sebuah protokol untuk mengakses ke Directory Service X-500. Pertama-tama, client mengakses gateway ke X-500. Gateway tersebut akan menjalankan LDAP di antara client dan gateway, sekaligus menjalankan Directory Access Protocol X-500 antara X-500 dan server. Karena LDAP merupakan jenis simpel dari DAP, maka LDAP menyediakan sebagian besar dari fungsi DAP dengan biaya yang jauh lebih rendah.
LDAP menggunakan model client server. Saat client terkoneksi ke server dan mengajukan LDAP request, server merespon dengan jawaban dan/atau dengan pointer ke arah mana client dapat mendapat tambahan informasi (khususnya ke server LDAP yang lain). Tidak masalah server LDAP yang mana yang merespon requst dari client, karena client tersebut akan mendapat informasi yang sama.
wew…berat bahasannya =D>
Hikmah bergadang beberapa hari jadi sugoi gila begini
gw kirain latu yang nulis
nice post…. gw juga lagi nyari2 tutorial LDAP, hehehe.
Posting Artikel ini cukup menambah ilmu gw Euy!!! Thnx!!!
gw punya beberapa Url yang mungkin menambah lebih banyak Ilmu tentang LDAP ini. silahkan ke:
http://www.batan.go.id/sjk/tutorial/system/Integrasi%20User%20Account%20dengan%20LDAP%20Part%201%20of%203.pdf
Atau ke:
http://www.cert.or.id/~budi/courses/ec7010/2004/dika-proposal.pdf
mas, gmn siy proses bwt web pke SSO.
sya mau bwt TA tntg SSO tp msh bln ngerti tntg itu…
waduh, pertama2 saya mau bilang jangan panggil mas dong, saya cewe soalnya
intinya web pake sso sih supaya usernya ga harus sign-in ditiap sub2 yg ada di websitenya, Jadi misalnya website itu integrasi dari berbagai sub website lainnya, user hanya perlu sing on pas di awal, nah si sso ini yg akan integrasi ke semuanya..
hehehe…
maap mbak
jd bkn SSO ini pke apa y mbak??
trs gmn cara mengintegrasi 4 aplikasi??
bs kasih tutorial integrasi bbrp web + bikin SSO ga mbak??
mksh,,,
waah td mau ngejawabin pertanyaan yg komen di aku, sambil searching2 dapet ini deh..
hebat2 dah ngerti ginian pas masih kuliah (malu kalah sama adek kelas :p)..
mudah2an lancar deh di dunia kerjanya
ak ketemu ginian bru di dunia kerja n nda ngerti apa2 tp lgsg implementasi.. harusnya baca ini dulu ya baru implemen kemaren
@Nov : mengenai bikin SSO pake apa, ada beberapa cara, salah satunya menggunakan LDAP. Namun kalo maksud pertanyaannya adalah menggunakan bahasa pemrograman apa, itu bergantung pada aplikasi yang ingin diintegrasikan.
@Ami : waaah, ada ka ami, jadi malu. hehe..
Iya ka, makasi ya doanya.. Amin amin..
LDAP itu d jalanin d ubuntu y mbak?? atau bs jg d windows??