HOTLINE

(0275) 2974 127

CHAT WA 24/7
0859-60000-390 (Sales)
0852-8969-9009 (Support)
Blog

Pengertian, Manfaat, dan Cara Kerja Single Sign On (SSO)

Kemajuan teknologi memudahkan kita untuk mengakses banyak aplikasi atau situs. Salah satu masalah yang dirasakan pengguna banyak aplikasi adalah lupa password saat akan login akun. Sangat manusiawi memang manusia bisa saja lupa, namun jika ini sering terjadi bisa berisiko pada keamanan akun atau anda harus kerepotan mengurus administrasi.

Meski anda dapat memilih untuk membuat password baru namun hal itu jika dilakukan terus menerus juga akan berdampak buruk. Salah satu solusi yang dapat mengatasi masalah ini adalah sistem Single Sign On atau SSO. SSO adalah sistem autentikasi yang bisa digunakan untuk masuk ke beberapa situs atau akun sekaligus.

Istilah ini mungkin belum familiar di beberapa orang. Jadi, untuk lebih jelas apa itu Single Sign On (SSO), manfaat dan cara kerjanya, yuk langsung simak.

Pengertian Single Sign On (SSO)

SSO adalah sistem autentikasi yang dikembangkan untuk mengatasi masalah lupa password, username, atau email pada sebuah akun. Sistem ini memungkinkan pengguna hanya perlu satu kali login saja untuk beberapa situs website dan aplikasi.

Proses identifikasi SSO ini hanya dilakukan pertama kali ketika membuat akun berupa username dan password. Setelah itu sistem SSO akan menyimpan informasi tersebut agar bisa digunakan pada beberapa aplikasi lain.

Penerapan SSO juga dapat digunakan pada organisasi, perusahaan, institusi, sekolah, dan masih banyak lagi. Contoh penggunaan SSO adalah ketika anda hendak login pada sebuah situs biasanya anda akan ditawari membuat akun baru atau menggunakan akun Google yang memang sudah ada.

Manfaat Single Sign On (SSO)

1. Mudah dan hemat waktu

SSO dapat mengurangi beban administrator IT ketika terjadi pemutusan kontrak kerja karyawan. Karyawan yang sudah keluar otomatis tidak dapat melakukan login di akun perusahaan. Sehingga ini akan mempersingkat waktu dan mengurangi resiko kesalahan yang dilakukan admin.

2. Keamanan pengguna terjamin

Dengan sistem ini, keamanan menjadi hal yang utama, apalagi terkait identitas. Sehingga sistem ini juga didukung dengan Two-factor authentication (2FA) yang memungkinkan pengguna untuk melakukan verifikasi ganda dan  multi factor authentication (MFA) yang mengharuskan pengguna verifikasi dua kali atau lebih.

3. Tidak khawatir lupa password

Seperti yang telah disampaikan sebelumnya bahwa banyaknya akun memberikan peluang untuk seseorang menjadi lupa. Untuk itu dengan adanya SSO ini membuat seseorang lebih merasa terjamin karena tidak perlu menggunakan kredensial yang berbeda-beda untuk banyak akun.

4. Akses cepat

Kebutuhan akan penggunaan aplikasi pada waktu yang sama dapat menyebabkan aplikasi error atau terjadi gangguan malware. Itu bisa dihindari dengan SSO, seluruh karyawan atau yang berkepentingan dapat mengakses aplikasi dengan cepat dan mudah.

Cara Kerja Single Sign On (SSO)

Mengerti arti Single Sign On saja tidak cukup, agar anda lebih paham sebaiknya pahami juga bagaimana cara kerjanya.

SSO adalah sistem yang dapat mengelola identitas atau akun pengguna agar bisa digunakan pihak ketiga juga. Dalam hal ini pihak ketiganya misalnya seperti Facebook, Google, Instagram, dan yang lain.

Namun, meski pihak ketiga mendapat informasi identitas anda, namun sistem SSO tidak akan memberikan akses terhadap akun misalnya seperti password.

Lalu siapa yang akan membantu proses ini terjadi? Yaitu OAuth, open authorization atau komponen otorisasi terbuka yang memberikan hak akses pada aplikasi pihak ketiga agar bisa melakukan akses data yang dimiliki pengguna dengan sistem token base.

Token SSO ini nantinya didistribusikan dari sistem satu menuju sistem lainnya. Agar lebih ada gambaran, berikut cara kerja SSO.

  • Pengguna mengakses suatu aplikasi atau website yang diinginkan, yang disebut dengan service provider.
  • Kemudian service provider mengirim sebuah token yang memuat beberapa informasi tentang pengguna seperti email ke sistem SSO (identity provider), sebagai bagian dari permintaan untuk mengautentikasi pengguna tersebut.
  • Identity provider lalu akan mengecek apakah pengguna sudah diautentikasi. Jika sudah, Identity provider akan memberikan izin akses kepada pengguna untuk mengakses service provider.
  • Bila pengguna belum masuk, maka akan diminta memverifikasi kredensial yang disediakan oleh identity provider, bisa berupa username dan password, serta autentikasi tambahan dengan mengirimkan kode OTP.
  • Setelah proses validasi selesai dilakukan, identity provider mengirimkan kembali token kepada service provider untuk mengonfirmasi bahwa autentikasi telah berhasil.
  • Token yang diterima service provider telah divalidasi sesuai kesepakatan yang diatur sebelumnya (misalnya service provider tidak akan menyebarkan identitas pengguna yang telah didapatkan dari identity provider, dll).
  • Pengguna berhasil mendapatkan akses terhadap service provider.

Standar Konfigurasi Single Sign On (SSO)

Jika sebelumnya kita sudah membahas bagaimana cara kerja SSO, khususnya dengan bantuan OAuth, kemudian terdapat beberapa standar konfigurasi lain yang dapat digunakan yaitu SAML, OpenID, dan Kerberos.

Masing-masing jenis konfigurasi tersebut akan kita bahas berikut ini :

1. SAML

SAML atau Standar Extensible Markup Language merupakan sebuah konfigurasi SSO yang banyak digunakan pada aplikasi perangkat lunak seperti GitHub, Jira, SalesForce atau yang lain. Sistem ini memiliki autentikasi berbasis assertion dalam bentuk XML.

  • Alur kerja SAML

Berikut alur otentikasi SSO berbasis SAML :

    1. Pengguna mengakses URL penyedia layanan.
    2. Situs penyedia layanan (SP) membuat SAML <AuthnRequest>.
    3. SP mengarahkan mesin peramban ke SSO URL dan menyerahkan SAML tersebut.
    4. Mesin peramban mengarahkan pengguna ke SSO URL dengan membawa SAML.
    5. Situs penyedia identitas (IdP) mengurai SAML request dan meminta otentikasi pengguna.
    6. IdP memunculkan halaman login.
    7. Pengguna memasukkan kredensial ke IdP.
    8. IdP membuat SAML <response>.
    9. IdP memberikan signed SAML <response> Assertion.
    10. Mesin peramban melakukan Post signed SAML <response> ke SP.
    11. SP melakukan verifikasi kemudian memberikan akses masuk ke pengguna.
  • Cara mengadopsi SSO berbasis SML ke aplikasi

Sebelum bisa mulai menggunakan, sebaiknya anda membaca dokumen teknis SAML terlebih dahulu. Setelah itu, barulah anda lanjut memilih sistem stack sesuai website development yang sedang dikerjakan. Berikut beberapa alternatif yang bisa dipakai :

    1. One Login : SAML toolkit ini mendukung lima bahasa pemrograman berbeda, yaitu PHP, Java, .NET, Ruby, dan Python,
    2. Spring Security : SAML tambahan yang digunakan untuk bahasa pemrograman Java, dan
    3. Passport SAML : menyediakan otentikasi SAML 2.0 untuk Passport, pustaka otentikasi Node.js.
  • Cara memilih penyedia identitas SSO SAML untuk perusahaan atau aplikasi

Cara yang tepat memilih penyedia identitas adalah dengan menyesuaikannya dengan kebutuhan dan bujet. Berikut rekomendasi yang bisa dipilih :

    • Okta

Okta merupakan penyedia identitas yang kaya fitur, seperti mendukung kustomisasi identitas pengguna di setiap aplikasi, integrasi ke on-premise AD, serta memiliki fungsi provisioning yang menggunakan System for Cross-domain Identity Management (SCIM). Fungsi ini membuat administrator bisa mendaftar dan mengatur otorisasi pengguna di tiap aplikasi.

    • Ping Identity

Ping Identity juga memiliki banyak fitur yang dibutuhkan perusahaan. Ia juga memiliki alternatif AD, yaitu Ping Directory.

    • Azure Active Directory

Azure Active Directory adalah penyedia identitas dari Microsoft. Mengingat sebagian besar perusahaan menggunakan produk Microsoft, maka fitur yang diberikannya tentu dapat memenuhi kebutuhan perusahaan.

Secara garis besar, SAML memang sangat cocok digunakan oleh perusahaan karena memiliki tingkat keamanan tinggi juga fitur yang mampu menyesuaikan diri dengan fungsi otentikasi perusahaan.

Keandalan sistem keamanannya bisa dilihat dari otentikasi yang menggunakan penegas. Otentikasi itu berisi dokumen sertifikat X.509 yang sudah ditandatangani oleh penyedia identitas serta informasi pengguna untuk diautentikasi oleh penyedia layanan.

Ditambah lagi, pendaftaran akun ke tiap aplikasi, pengurusan kompleksitas dan penggantian kata sandi, dan pengaturan level otorisasi pengguna di tiap aplikasi bisa dilakukan di tempat yang sama. Hal ini memberikan kemudahan dalam pengaturan keamanan dan kepraktisan pada admin IT perusahaan.

2. OpenID

Standar SSO kedua adalah OpenID atau OpenID Connect. Standar ini sudah digunakan lebih dari 1 milyar akun dan yang paling populer adalah Facebook dan Google. Selain itu OpenID Connect juga seringkali disebut SSO social login karena kebanyakan digunakan untuk mengunjungi website atau aplikasi umum.

Jadi, apabila SAML digunakan pada tools seperti GitHub atau Jira maka konfigurasi OpenID lebih sering digunakan pada misalnya pada aplikasi game yang perlu login atau media sosial.

  • Alur kerja OIDC

Alur otentikasi OIDC dapat dijabarkan sebagai berikut :

    1. Pengguna mengakses URL penyedia layanan (RP) dan memilih OpenID yang akan digunakan.
    2. RP memberikan Client ID untuk penyedia identitas (OP).
    3. RP mengarahkan mesin peramban ke SSO URL dan memberikan Client ID.
    4. Mesin peramban mengarahkan ke SSO URL dengan membawa Client ID.
    5. OP membaca kode otorisasi dan meminta otentikasi pengguna.
    6. OP memunculkan halaman login.
    7. Mesin peramban memasukkan kredensial ke OP.
    8. OP memunculkan halaman persetujuan pengguna dan mengotentikasi lalu meminta persetujuan.
    9. Mesin peramban memberikan persetujuan.
    10. OP memberikan kode otorisasi pada mesin peramban.
    11. Mesin peramban memberikan kode otorisasi ke RP.
    12. RP memberikan kode otorisasi ke OP untuk mendapatkan token ID dan memvalidasi pengguna.
    13. OP menyerahkan kode otorisasi untuk meminta token untuk ID, akses, dan refresh.
    14. RP memberikan akses masuk.
  • Cara memilih penyedia identitas OpenID untuk mobile app development

Mengingat OpenID bisa diakses siapa saja, anda bisa memilih beberapa penyedia identitas populer, seperti Google, Facebook, dan Microsoft sesuai kebutuhan. Hal tersebut berbeda jika membutuhkan SSO agar terotentikasi di suatu kelompok aplikasi yang anda kembangkan. Misalnya, penyedia layanan A memiliki kelompok aplikasi layanan B dan C yang memiliki basis data pengguna dan fungsi otorisasi berbeda. Di sini, A bertindak sebagai penyedia identitas untuk B dan C.

Bila mengalami kasus tersebut, anda dapat mengintegrasikan aplikasi dengan penyedia identitas pihak ketiga. Pasalnya, sebagian besar penyedia identitas sudah mendukung penggunaan bersama SAML dan OpenID.

Secara singkat, bisa dikatakan bahwa OpenID memodernisasi SAML yang sudah lebih dahulu ada dan digunakan oleh sebagian besar aplikasi. Namun, vendor penyedia identitas untuk perusahaan umumnya sudah mendukung kedua standar tersebut.

3. Kerberos

Kerberos adalah protokol yang dikembangkan oleh MIT, digunakan untuk  otentikasi jaringan komputer. Kerberos Ini adalah protokol default yang digunakan oleh Microsoft Windows dan juga digunakan dalam implementasi sistem operasi Linux, Apple OS, UNIX, dan FreeBSD.

Sistem keamanan berbasis enkripsi buatan MIT ini dapat melindungi password dan login. Sistem ini juga menyediakan layanan untuk menentukan client mana yang diperbolehkan mengakses server tertentu.

  • Cara kerja kerberos

Di awal proses kerja, Kerberos meminta kredensial pengguna untuk mendapatkan tiket pemberian tiket (TGT) Kerberos. Aplikasi peranti lunak tambahan yang membutuhkan otentikasi, seperti wiski, sistem kendali revisi, dan klien email, menggunakan TGT itu untuk mendapatkan tiket layanan. Tiket itu kemudian digunakan untuk membuktikan identitas pengguna ke server surel atau lainnya tanpa harus meminta pengguna memasukkan kredensial lagi.

Jika menggunakan windows, alurnya adalah login Windows » mengambil TGT » Active Directory mengambil tiket layanan » pengguna masuk. Sedangkan di Linux, alurnya adalah masuk melalui modul PAM Kerberos » mengambil TGT » aplikasi klien seperti Firefox, SVX, dan Evolution menggunakan tiket layanan » pengguna masuk tanpa otentikasi ulang.

Kelebihan Single Sign On (SSO)

Setelah mengerti beberapa manfaat SSO, ada beberapa kelebihan lain menggunakan sistem login SSO ini? Di bawah ini beberapa manfaat SSO adalah sebagai berikut :

1. Pengaturan pengguna yang mudah

Ketika ada pegawai yang keluar, maka otomatis mereka tidak bisa lagi mengakses ke akun kantornya. Selanjutnya apabila mereka lupa akan email dan password, maka sistem SSO akan membantu memperbaikinya, dan kita hanya perlu mendaftarkan akun kantor pada aplikasi-aplikasi yang memang digunakan perusahaan.

2. Identitas terlindungi

Sistem login SSO dapat anda tambahkan dengan melakukan aktivasi perlindungan yaitu seperti two factor authentication (2FA) atau MFA.

3. Mempermudah kerja admin

Ketika pengguna lupa pada akun atau password-nya. Otomatis akan banyak pengaduan yang masuk pada admin untuk memperbaikinya. Namun, sistem SSO dapat meminimalisir terjadinya lupa password sehingga admin bisa lebih menghemat waktu, energi dan bisa mengerjakan pekerjaan lainnya.

4. Lebih efektif dalam satu kredensial

Seperti yang kita alami, kita biasanya membutuhkan lebih dari satu aplikasi baik untuk menunjang pekerjaan atau yang lain. Daripada anda mendaftarkan akun atau kredensial satu persatu, lebih baik gunakan satu akun namun dapat digunakan pada aplikasi apapun.

Kekurangan Single Sign On (SSO)

Selain kelebihan, sistem SSO juga masih memiliki kekurangan. Bahkan kekurangan tersebut terdapat pada kredensial tersebut. Penggunaan satu kredensial sebenarnya dapat memberikan banyak manfaat namun di satu sisi juga dapat menjadi bumerang apabila tidak dibarengi dengan sistem keamanan yang baik.

Skenario terburuknya apabila akun tersebut diketahui orang lain, maka seluruh akun juga dapat diketahui karena menggunakan username dan password yang sama. Selain itu, SSO juga belum memiliki Single Sign Off atau logout dari semua aplikasi atau website.

Jadilah yang pertama untuk memberi nilai
Risa Y

Recent Posts

Pahami 5+ Hal yang Perlu Diperhatikan Saat Memilih Framework PHP

Framework PHP adalah platform untuk membangun aplikasi web PHP. Framework ini menyediakan pustaka baris kode…

7 hours ago

Rahasia Jitu SEO Tanpa Kursus Mahal

Ingin mengikuti kursus SEO yang biayanya jutaan? Baca ini sebelum Anda membayar kursus SEO yang…

10 hours ago

Pahami 5+ Keunggulan Framework PHP

Keberadaan framework PHP dilatarbelakangi oleh data dari W3Tech yang menunjukkan bahwa lebih dari 80% website…

1 day ago

Pilihan Software Terbaik Web Development Untuk Web Developer

Hallo Sobat! Saat ini perkembangan website semakin hari semakin meningkat. Mulai dari kebutuhan bisnis, akademik,…

1 day ago

15+ Aplikasi Edit Video Tanpa Watermark yang Harus Kamu Coba

Industri digital saat ini semakin berkembang dari waktu ke waktu, baik itu digital audio maupun…

2 days ago

Penasaran Bagaimana Cara Cek Umur Domain? Cek Artikel Ini!

Sebelum membeli sebuah website, sebaiknya cek dulu umur domainnya. Itu karena usia domain ternyata bisa…

2 days ago