Apa itu Single Sign On (SSO), Bagaimana Mengimplementasikannya, dan Apa Manfaatnya?

Apa itu Single Sign On (SSO), Bagaimana Mengimplementasikannya, dan Apa Manfaatnya?

by
Ahid Maulana
August 18, 2021

Kemajuan teknologi memberi kemudahan bagi manusia untuk menyelesaikan segala bentuk pekerjaannya. Banyak aplikasi yang pada akhirnya lahir untuk memenuhi kebutuhan. Namun, dengan banyaknya aplikasi kadang membuat penggunanya sering lupa dengan akun dan password yang digunakannya. Dari problematika inilah kemudian muncul sistem login yang dikenal dengan Single Sign On (SSO) sebagai solusi atas isu tersebut.

Teknologi datang dengan segala manfaat dan kekurangan. Kini, mendapatkan sebuah produk yang dibutuhkan bisa dilakukan hanya dengan sekali tekan. Berkembangnya teknologi membuat banyak orang makin pintar sehingga aksi peretasan juga makin banyak sehingga mengganggu keamanan data pengguna.

Guna mengantisipasi masalah keamanan, setiap aplikasi dibekali dengan suatu sistem yang mengharuskan pengguna memasukkan email atau nama akun beserta password. Masalah tidak akan muncul jika satu orang hanya menggunakan satu aplikasi saja. Nyatanya, di era yang mengharuskan setiap orang berpacu dengan teknologi ini, setiap orang menggunakan beberapa aplikasi. Bahkan, beberapa aplikasi mengharuskan pengguna untuk menggunakan akun lain dengan alasan keamanan. Di sinilah masalah lupa akun atau password sering terjadi.

Apa Itu Sistem Single Sign On (SSO)?

Sebagai sebuah sistem layanan autentikasi, Single Sign On berperan untuk menanggulangi masalah lupa password serta mempermudah proses masuk ke suatu situs atau aplikasi. Dengan sistem ini, pengguna hanya perlu login sekali untuk masuk ke beberapa aplikasi sekaligus. 

Caranya adalah dengan mengidentifikasi pengguna secara ketat setelah pengguna memasukkan kredensial, seperti alamat surel dan password. Sistem tersebut kemudian mengizinkan informasi kredensial digunakan dalam suatu atau sekumpulan sistem terpercaya. Layanan ini dapat digunakan oleh perusahaan, organisasi kecil, dan perorangan untuk memudahkan pengaturan username dan password.

Di layanan SSO web biasa, modul agen pada server aplikasi mengambil kredensial otentikasi pengguna individu dari server SSO terpercaya. Di saat yang sama, sistem itu memberikan izin pengguna untuk masuk dalam gudang data pengguna, seperti direktori Lightweight Directory Access Protocol (LDAP).

Setelah proses itu, layanan ini memungkinkan pengguna untuk masuk ke semua aplikasi terpercaya. Ia juga akan mencegah aplikasi lain memunculkan halaman login di sesi yang sama.

Bagi para pengembang yang masih awam dalam hal software development, perbedaan antara Directory Server Authentication (same-sign on) sistem layanan ini tampaknya tidak terlalu jelas. Hal serupa juga bisa terjadi antara layanan ini dengan LDAP. Bila Anda masih bingung, silahkan simak perbedaan antara Sistem Masuk Tunggal dengan beberapa layanan sistem masuk lain berikut.

SSO vs Same Sign On vs LDAP

Selain SSO, sebenarnya sudah ada sistem sign on yang disebut same sign on. Sistem masuk tunggal hanya meminta pengguna melakukan login sekali untuk masuk ke berbagai aplikasi. Sedangkan same sign on meminta pengguna untuk login setiap kali akan masuk ke aplikasi, tetapi dengan kredensial yang sama. 

Untuk meningkatkan keamanan, same sign on memanfaatkan alat seperti DirSync dengan kemampuannya dalam mereplikasi password. Satu akun yang sama bisa memiliki beberapa password di aplikasi berbeda. Hasilnya, jika informasi kredensial di satu aplikasi diretas, informasi itu tidak bisa digunakan untuk membuka aplikasi lain karena password yang berbeda.

Same sign on dikembangkan pada 1992 oleh Tim Howes—pada saat itu berstatus mahasiswa—dan timnya di University of Michigan. Awalnya sistem ini dirancang untuk menghubungkan pengguna ke sistem di seluruh universitas. Saat itu mereka memanfaatkan X.500 Directory Access Protocol (DAP). 

Dalam perjalanannya, LDAP terbukti lebih efektif untuk menunjang sistem ini. Bila sebelumnya LDAP digunakan untuk mengakses sistem dan aplikasi, kini direktori ini juga sudah dimanfaatkan untuk mengotentikasi pengguna yang hendak mengakses alat DevOps, seperti Jenkins®.

Seiring waktu, banyak software house kesulitan menghubungkan on-prem IdP mereka (biasanya Active Directory) ke aplikasi web melalui LDAP. Pasalnya, LDAP adalah protokol yang dikembangkan pada tahun 90-an sedangkan aplikasi web baru muncul di awal 2000-an. Untuk mengatasinya diciptakanlah Secure Assertion Markup Language (SAML).

SAML bertujuan untuk menambahkan fungsi layanan direktori tradisional ke aplikasi berbasis cloud. Dalam praktiknya, para pengembang sering kali menumpuk SSO pada rancangan AD mereka. Para perusahaan pengembang pun bisa terus menggunakan sistem berbasis LDAP yang menggunakan aplikasi web dengan dukungan SAML.

Singkatnya, LDAP adalah protokol aplikasi yang digunakan untuk melakukan pemeriksaan kembali informasi di server akhir, sementara SSO adalah proses otentikasi pengguna yang memberikan akses ke berbagai sistem.

Tantangan SSO dan LDAP

SSO dan LDAP tradisional terbilang mumpuni dalam menghubungkan pengguna dengan aplikasi mereka masing-masing. Namun, penggunaan keduanya terkenal rumit di kalangan admin IT. Misalnya, rancangan LDAP tradisional digunakan dalam kerangka on-prem sehingga sulit dipakai dan dirawat. Hasilnya, para admin IT harus menyediakan waktu dan usaha lebih banyak dalam penerapannya.

Selain itu, layanan direktori lawas berbasis LDAP kesulitan menghadapi lingkungan sistem antarplatform, aplikasi on-prem web, infrastruktur cloud di AWS® dan GCP®, gudang penyimpanan fail fisik dan virtual, dan remote network. Jadi, SSO sering kali menjadi satu dari banyak tambahan layanan direktori terpisah yang diperlukan dalam lingkungan AD atau OpenLDAP tradisional. Dengan kata lain, walaupun LDAP dan SSO bisa menyelesaikan sebagian masalah IAM di organisasi modern, masalah yang harus dihadapi sebenarnya lebih daripada itu.

Apakah tantangan tersebut terdengar merepotkan bagi Anda? Tidak usah khawatir. Jika tidak ingin mengalami kerepotan kedepannya, serahkan saja semua urusan Single Sign On website maupun aplikasi Anda pada SoftwareSeni

SoftwareSeni merupakan perusahaan one-stop IT solution. Anda bisa berkonsultasi mengenai pembuatan produk digital (web app & mobile app), membuat produk digital, hingga membuat dokumen spesifikasi dari produk digital tersebut. Dengan pilihan teknologi yang beragam serta penanganan oleh staf ahli IT yang berpengalaman, kualitas produk digital akan terjamin. 

SoftwareSeni memiliki standar operasi dan keamanan data & privacy yang cukup ketat dengan hasil kerja yang sudah teruji secara Internasional. Properti intelektual dari produk digital yang dikembangkan akan sepenuhnya menjadi milik Anda, tanpa terkecuali. Selain itu, SoftwareSeni juga menawarkan layanan service on demand untuk selalu memastikan produk digital yang Anda miliki dapat bekerja optimal.

Kenali Konfigurasi SSO Berikut

Sebelumnya telah disinggung bahwa SSO bisa dijalankan dengan bantuan SAML. Tidak hanya SAML, OpenID juga umum dipakai untuk menunjang teknologi SSO. Jika SAML banyak dipakai oleh perusahaan, OpenID sering dipakai oleh layanan yang dikunjungi oleh pengguna umum, seperti website. Ada juga konfigurasi SSO berbasis kerberos, kartu pintar, dan perangkat seluler. Berikut penjelasan lebih lengkap tentang kelima konfigurasi tersebut.

SAML

Protokol SSO ini termasuk sebagai standar terbuka. Ia memberikan otentikasi dan otorisasi berbasis assertion (penegas) dalam bentuk XML. Standar ini paling banyak digunakan oleh aplikasi peranti lunak berbentuk layanan, seperti Salesforce, Github, Jira, ServiceNow, dan Workday.

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

b. Bagaimana 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.

c. Bagaimana 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

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

  1. Ping Identity

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

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

OpenID

OpenID diperkenalkan oleh Open ID Foundation pada 2006. Kemudian pada Februari 2014 mereka kembali memperkenalkan Open ID generasi ketiga yang disebut Open ID Connect (OIDC). Standar ini telah dipakai oleh lebih dari satu milyar akun, yang paling terkenal adalah Google dan Facebook.

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

b. Bagaimana memilih penyedia identitas OpenID untuk mobile app development Anda?

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.

Kerberos

Kerberos, berasal dari kata Cerberus yang merupakan anjing berkepala tiga penjaga gerbang menuju Hades, adalah protokol otentikasi yang dikembangkan oleh Massachusetts Institute of Technologi (MIT). Diperkenalkan pada 1980-an, ia dikembangkan sebagai solusi otentikasi pengguna dalam sebuah jaringan besar dan terdistribusi. Ia menggunakan kunci skripsi rahasia dengan algoritma rumit.

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

Berbasis Kartu Pintar

Ini adalah salah satu konfigurasi paling praktis SSO. Pengguna hanya perlu memakai kartu pintar tersebut sekali ketika login dan tidak perlu memasukkan kredensial lagi. Untuk melakukan otorisasi dan otentikasi, aplikasi hanya perlu menggunakan sertifikat atau password yang tersimpan di dalam kartu itu.

Penggunaan Ponsel Pintar

Ada alasan mengapa ponsel pintar mendapatkan julukannya, salah satunya adalah karena ia dibekali kemampuan untuk memberikan akses kredensial. Dengan demikian sebuah ponsel pintar bisa mengakses sistem seperti komputer dan kontrol akses gedung. Hal tersebut bisa terjadi dengan bantuan metode otentikasi SAML dan OIDC yang menggunakan sertifikat X.509 untuk mengidentifikasi ponsel pintar ke server akses.

Mengapa Harus Single Sign On?

Di zaman yang serba cepat, tidak banyak orang yang memiliki waktu untuk berkali-kali memasukkan kredensial tiap membuka suatu aplikasi. Dibandingkan dengan sistem masuk sama yang lebih dulu ada, sistem masuk tunggal lebih efektif karena bisa memberikan akses ke beberapa aplikasi sekaligus sekali login.

Apa hanya itu saja keunggulannya? Tentunya tidak. Berikut beberapa keunggulan lain dari SSO.

1. Mempermudah pengaturan nama pengguna dan password.

Ketika terjadi pergantian karyawan perusahaan, SSO mengurangi beban kerja admin IT dan kemungkinan terjadinya kesalahan. Karyawan yang keluar dari perusahaan secara otomatis akan kehilangan haknya untuk melakukan login. Selain itu, pengelola layanan tidak perlu meluangkan waktu dan bandwidth lebih untuk menemukan informasi kredensial pengguna ketika terjadi lupa atau perubahan password.

2. Meningkatkan perlindungan identitas.

Dengan SSO, perusahaan bisa meningkatkan keamanan identitas karyawan dengan teknik, seperti Two-factor authentication (2FA) dan multi factor authentication (MFA).

3. Tidak takut lupa password.

Di era teknologi ini, setiap orang pasti memiliki beberapa akun sekaligus yang akan merepotkan jika tiap aplikasi meminta kredensial berbeda. Dengan adanya SSO, pengguna hanya perlu menghafal satu kredensial untuk semua aplikasi yang mereka gunakan.

4. Mempercepat proses masuk saat genting.

Di lingkungan kerja seperti rumah sakit, industri pertahanan, dan layanan darurat, ketika banyak orang dan departemen yang membutuhkan akses cepat tanpa batas ke aplikasi yang sama. Di situasi tersebut, mencegah eror dan gangguan malware bisa menjadi pembeda antara hidup dan mati.

5. Meringankan beban kerja admin IT.

Sedikitnya pengguna yang menelepon akibat kehilangan password bisa menyelamatkan bujet  dan meningkatkan keamanan.

6. Mengurangi risiko keamanan pelanggan, vendor, dan partner.

Hubungan antara perusahaan seringkali berujung pada masalah keamanan yang bisa ditangani oleh SSO.

Kesimpulan

Berdasarkan penjelasan diatas SSO memiliki peranan penting untuk meningkatkan efisiensi suatu perusahaan, sehingga produktivitas perusahaan pun secara tidak langsung akan meningkat juga. 

Pentingnya SSO dalam suatu perusahaan membuat Angkasa Pura mempercayakan sistem Single Sign On (SSO) pada Softwareseni. 

Mengapa Angkasa Pura Memilih Softwareseni?

Softwareseni adalah software house sekaligus IT consultant yang berbasis di Indonesia dan Australia. Dengan lebih dari 150 staf profesional, Softwareseni mampu memberikan solusi untuk setiap kebutuhan teknologi perusahaan anda.

PT Angkasa Pura bekerjasama dengan Softwareseni menciptakan Single Sign On (SSO) sebagai sarana dan wadah untuk bagi seluruh staf dan jajaran Angkasa Pura dalam bertukar informasi dan sosialisasi kegiatan ke seluruh kantor cabang.

Softwareseni juga membantu PT Angkasa Pura untuk mengumpulkan dan menyinkronkan semua login utama menjadi satu SSO yang aman dan dapat digunakan di seluruh perusahaan. Selain itu sistem SSO Angkasa Pura memastikan seluruh staf dan jajaran PT Angkasa Pura dapat mengakses berbagai titik teknologi yang dimilikinya dengan relatif mudah.

Softwareseni telah memberikan saran dan solusi bagi PT Angkasa Pura untuk memudahkan berjalannya bisnis mereka dengan lebih efisien dan aman melalui teknologi Single Sign On. Lalu bagaimana dengan anda? Tertarik juga untuk membuat teknologi Single Sign On bersama kami?


FAQ

Table of Contents

+ Show

Punya Project atau Ingin Membuat Aplikasi?

Hubungi kami segera dan konsultasikan kebutuhan aplikasi Anda lebih lanjut
Office Address Image

SYDNEY

55 Pyrmont Bridge Road,
Pyrmont NSW 2009 Australia
+61 2 8123 0997

YOGYAKARTA

Unit A & B
Jl. Prof. Herman Yohanes No.1125, Terban, Gondokusuman, Yogyakarta, Daerah Istimewa Yogyakarta 55223
+62 858 6514 9577