Single-sign-on

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas

Teknologi Single-sign-on (sering disingkat menjadi SSO) adalah teknologi yang mengizinkan pengguna jaringan agar dapat mengakses sumber daya dalam jaringan hanya dengan menggunakan satu akun pengguna saja. Teknologi ini sangat diminati, khususnya dalam jaringan yang sangat besar dan bersifat heterogen (di saat sistem operasi serta aplikasi yang digunakan oleh komputer adalah berasal dari banyak vendor, dan pengguna dimintai untuk mengisi informasi dirinya ke dalam setiap platform yang berbeda tersebut yang hendak diakses oleh pengguna). Dengan menggunakan SSO, seorang pengguna hanya cukup melakukan proses autentikasi sekali saja untuk mendapatkan izin akses terhadap semua layanan yang terdapat di dalam jaringan.

Selain mendatangkan manfaat, SSO juga dapat mendatangkan bencana. Dari cara pandang seperti ini, beberapa pengamat memperkirakan bahwa penggunaan SSO dapat menghemat biaya untuk memelihara password yang rumit yang dapat mencapai ratusan dolar setiap pengguna tiap tahun. Tetapi, implementasi SSO dalam sebuah jaringan yang heterogen adalah rumit, sehingga banyak administrator jaringan kurang begitu giat dalam mengimplementasikannya.

Contoh dari sistem SSO adalah protokol Kerberos, yang telah dimasukkan ke dalam sistem operasi Windows 2000 ke atas. Protokol yang sama dapat juga digunakan di dalam keluarga sistem operasi
UNIX. Novell juga telah menawarkan fungsi SSO miliknya sendiri, yang disebut sebagai Novell Single Sign On (NSSO) yang dapat digunakan dalam lingkungan Windows/NetWare. Beberapa perusahaan, seperti Entrust Technologies dan RSA Security menawarkan fungsi SSO yang berbasis kriptografi
kunci publik

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.