PostHeaderIcon 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

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.

9 Responses to “Penggunaan Sistem Single Sign On dengan LDAP”

  • pacarmu mengatakan:

    wew…berat bahasannya =D>

    Hikmah bergadang beberapa hari jadi sugoi gila begini

  • petra mengatakan:

    gw kirain latu yang nulis :P
    nice post…. gw juga lagi nyari2 tutorial LDAP, hehehe.

  • Funny Blog mengatakan:

    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

  • Nov mengatakan:

    mas, gmn siy proses bwt web pke SSO.
    sya mau bwt TA tntg SSO tp msh bln ngerti tntg itu…

  • Wulandari Suseno mengatakan:

    waduh, pertama2 saya mau bilang jangan panggil mas dong, saya cewe soalnya :D
    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..

  • Nov mengatakan:

    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,,, :)

  • ami mengatakan:

    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 :D

  • Wulandari Suseno mengatakan:

    @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..

  • Nov mengatakan:

    LDAP itu d jalanin d ubuntu y mbak?? atau bs jg d windows??

Leave a Reply