Pengantar

Semakin banyak aplikasi yang digunakan dalam sebuah organisasi, semakin kompleks pula pengelolaan akun dan akses pengguna. Tanpa sistem identitas yang terpusat, pengguna dapat memiliki akun dan password berbeda untuk setiap aplikasi.

Kondisi tersebut tidak hanya merepotkan pengguna, tetapi juga meningkatkan beban administrator. Pengelolaan akses menjadi lebih sulit dan risiko password yang lemah atau digunakan berulang kali ikut meningkat.

Salah satu solusi untuk masalah tersebut adalah Centralized Identity Provider (IdP). Dengan IdP terpusat, proses autentikasi dapat dikelola melalui satu sistem identitas yang kemudian digunakan oleh berbagai aplikasi.

Dalam ekosistem OpenID Connect, Identity Provider berperan menyediakan layanan autentikasi sehingga aplikasi dapat memverifikasi identitas pengguna tanpa harus membangun sistem login sendiri. (dikutip dari: OpenID Foundation – How OpenID Connect Works)


Apa Itu Centralized Identity Provider?

Centralized Identity Provider (IdP) adalah sistem yang menjadi pusat pengelolaan identitas dan autentikasi pengguna untuk berbagai aplikasi atau layanan.

Sederhananya, pengguna tidak perlu melakukan autentikasi secara terpisah pada setiap aplikasi.

Contohnya:

                    +----------------+
                    | Centralized IdP |
                    +----------------+
                       /     |      \
                      /      |       \
                     v       v        v
                  Web App  Mobile   Internal
                            App     System

Pengguna melakukan login melalui IdP. Setelah berhasil diautentikasi, aplikasi yang terhubung dapat menggunakan hasil autentikasi tersebut untuk memberikan akses.

Konsep ini menjadi dasar dari banyak penerapan Single Sign-On (SSO).

baca juga : Git Submodule Typosquatting: Ancaman Supply Chain yang Sering Terabaikan Developer


Mengapa Identity Provider Dibutuhkan?

Dalam lingkungan modern, satu organisasi dapat memiliki banyak layanan:

  • Aplikasi internal
  • Website
  • Cloud platform
  • Sistem HR
  • Dashboard perusahaan
  • Aplikasi mobile
  • VPN
  • Developer tools

Jika setiap aplikasi memiliki sistem login sendiri, administrator harus mengelola identitas pengguna di banyak tempat.

Sebaliknya, dengan centralized IdP:

Tanpa IdP Terpusat:

User → App A → Login
User → App B → Login
User → App C → Login


Dengan IdP:

             +------+
             | IdP  |
             +------+
              / | \
             /  |  \
           App A App B App C

Pendekatan ini membuat pengelolaan identitas lebih terpusat dan konsisten.


Bagaimana Cara Kerja Centralized IdP?

Alur sederhananya dapat digambarkan seperti berikut:

User
 |
 | 1. Login
 v
Application
 |
 | 2. Redirect
 v
Identity Provider
 |
 | 3. Authentication
 v
User
 |
 | 4. Berhasil
 v
Identity Provider
 |
 | 5. Token / Assertion
 v
Application
 |
 | 6. Akses diberikan
 v
Protected Resource

Dalam OpenID Connect, aplikasi atau Relying Party (RP) mengarahkan pengguna ke OpenID Provider. Setelah autentikasi berhasil, provider mengembalikan informasi identitas melalui mekanisme token. (dikutip dari: OpenID Connect Core 1.0)

Dengan demikian, aplikasi tidak harus menangani seluruh proses autentikasi secara mandiri.


Komponen Utama Centralized IdP

Identity Provider

IdP merupakan pusat autentikasi.

IdP bertanggung jawab memverifikasi identitas pengguna dan menerbitkan informasi yang dibutuhkan aplikasi.

User Directory

IdP biasanya terhubung dengan directory yang menyimpan informasi pengguna.

Contohnya:

  • Username
  • Email
  • Identitas pengguna
  • Group
  • Role
  • Status akun

Client atau Relying Party

Client adalah aplikasi yang menggunakan layanan IdP.

Contohnya:

IdP
 |
 +--- Website
 |
 +--- Mobile App
 |
 +--- Dashboard
 |
 +--- Internal System

Dalam OpenID Connect, aplikasi tersebut sering disebut Relying Party (RP).

Token

Setelah autentikasi berhasil, IdP dapat menerbitkan token sesuai protokol yang digunakan.

Pada OpenID Connect, salah satu token penting adalah ID Token, yang membawa claims tentang identitas pengguna.


Centralized IdP dan Single Sign-On

Salah satu manfaat paling populer dari centralized IdP adalah Single Sign-On (SSO).

SSO memungkinkan pengguna melakukan autentikasi melalui satu sistem dan kemudian mengakses beberapa aplikasi yang telah terintegrasi.

Contohnya:

              Login Sekali
                  |
                  v
              Central IdP
             /     |     \
            v      v      v
         Email   HR App  Dashboard

Pengguna tidak perlu memasukkan password berulang kali pada setiap aplikasi.

Namun, SSO bukan berarti semua aplikasi harus menggunakan teknologi autentikasi yang sama. IdP dapat mendukung beberapa protokol federasi sesuai kebutuhan organisasi.


Protokol yang Digunakan IdP

OpenID Connect

OpenID Connect (OIDC) adalah identity layer yang dibangun di atas OAuth 2.0.

OIDC memungkinkan aplikasi memverifikasi identitas pengguna dan memperoleh informasi dasar mengenai pengguna melalui claims. (dikutip dari: OpenID Foundation – OpenID Connect Core)

OIDC banyak digunakan pada:

  • Web application
  • Mobile application
  • API
  • Modern cloud application

SAML

Security Assertion Markup Language (SAML) juga banyak digunakan untuk SSO, terutama pada lingkungan enterprise.

SAML menggunakan assertion untuk menyampaikan informasi autentikasi dan atribut pengguna antara IdP dan aplikasi.

NIST menjelaskan bahwa SAML dan OpenID Connect merupakan dua pendekatan yang dapat digunakan untuk transaksi federated identity.


Apa Perbedaan Authentication dan Authorization?

Centralized IdP terutama berkaitan dengan authentication, tetapi sistem identity modern juga dapat terlibat dalam proses authorization.

Authentication

Authentication menjawab pertanyaan:

“Siapa pengguna ini?”

Contohnya:

Username + Password
        |
        v
       IdP
        |
        v
User berhasil diverifikasi

Authorization

Authorization menjawab:

“Apa yang boleh dilakukan pengguna ini?”

Contohnya:

User: Adhe
Role: Administrator

Boleh:
✓ Membaca data
✓ Mengubah konfigurasi
✓ Mengelola user

Dengan memisahkan kedua konsep tersebut, arsitektur keamanan dapat dibuat lebih jelas.

baca juga : Return-to-libc Attack: Teknik Eksploitasi yang Memanfaatkan Fungsi Library untuk Membajak Alur Program


Keuntungan Centralized Identity Provider

Pengelolaan Akun Lebih Mudah

Administrator dapat mengelola identitas dari satu pusat.

Ketika seorang karyawan bergabung atau keluar dari organisasi, perubahan status akun dapat dikelola melalui sistem identitas terpusat.

Mendukung Single Sign-On

Pengguna dapat mengakses beberapa aplikasi tanpa melakukan login berulang kali.

Meningkatkan Visibilitas

Administrator dapat memiliki gambaran yang lebih baik mengenai identitas dan akses pengguna.

Memudahkan Penerapan Kebijakan Keamanan

Kebijakan seperti:

  • MFA
  • Password policy
  • Session management
  • Account lockout
  • Conditional access

dapat diterapkan secara lebih terpusat, tergantung kemampuan platform IdP yang digunakan.

Mengurangi Duplikasi Sistem Login

Aplikasi tidak perlu selalu membuat sistem autentikasi sendiri.

Hal ini juga dapat mengurangi pekerjaan developer dalam mengelola password, session, dan mekanisme login.


Risiko Centralized Identity Provider

Meskipun memberikan banyak manfaat, centralized IdP juga memiliki risiko.

Menjadi Target Bernilai Tinggi

Karena IdP mengelola banyak identitas, kompromi terhadap IdP dapat berdampak luas.

Jika akun administrator IdP berhasil diambil alih, attacker berpotensi mendapatkan akses ke banyak aplikasi yang terhubung.

Single Point of Failure

Jika IdP mengalami gangguan dan aplikasi sangat bergantung padanya, proses login ke beberapa layanan dapat ikut terganggu.

Karena itu, organisasi perlu mempertimbangkan:

  • High availability
  • Backup
  • Disaster recovery
  • Monitoring
  • Redundancy

Kesalahan Konfigurasi

Konfigurasi yang salah pada redirect URI, token validation, role, atau policy akses dapat menimbulkan risiko keamanan.

Karena itu, integrasi IdP harus dirancang dan diuji dengan baik.


Cara Mengamankan Centralized IdP

Gunakan Multi-Factor Authentication

MFA menambahkan lapisan verifikasi selain password.

Jika password pengguna dicuri, attacker masih membutuhkan faktor autentikasi tambahan.

Lindungi Akun Administrator

Akun administrator IdP harus mendapatkan perlindungan lebih ketat.

Gunakan:

  • MFA
  • Password kuat
  • Privileged access
  • Monitoring
  • Audit log

Validasi Token

Aplikasi harus memvalidasi token dengan benar.

Hal yang perlu diperhatikan antara lain:

  • Issuer
  • Audience
  • Signature
  • Expiration
  • Claims

Jangan menerima token hanya karena formatnya terlihat valid.

Gunakan HTTPS

Komunikasi antara aplikasi dan IdP harus menggunakan koneksi terenkripsi.

Hal ini penting untuk melindungi credential, authorization code, token, dan informasi identitas.

Batasi Hak Akses

Gunakan prinsip least privilege.

User maupun aplikasi sebaiknya hanya mendapatkan akses yang memang diperlukan.


Centralized IdP dalam Arsitektur Modern

Centralized IdP semakin penting dalam arsitektur seperti:

  • Cloud computing
  • Zero Trust
  • Microservices
  • SaaS
  • API ecosystem
  • Enterprise application
  • Hybrid infrastructure

Contohnya pada lingkungan cloud:

                 Centralized IdP
                       |
          +------------+------------+
          |            |            |
          v            v            v
       Cloud A      Cloud B       SaaS
          |            |            |
          +------------+------------+
                       |
                     User

Dengan pendekatan tersebut, identitas dapat menjadi salah satu pusat kontrol keamanan.


Centralized IdP vs Login Terpisah

Aspek Login Terpisah Centralized IdP
Pengelolaan akun Banyak sistem Terpusat
SSO Terbatas Mendukung
Administrasi Lebih kompleks Lebih sederhana
Konsistensi policy Sulit Lebih mudah
Dampak kompromi Terpisah Bisa lebih luas
Infrastruktur Banyak sistem login Satu pusat identitas

Centralized IdP memberikan efisiensi yang lebih besar, tetapi juga membutuhkan perlindungan yang lebih kuat karena IdP menjadi komponen penting dalam arsitektur keamanan.


Kapan Centralized IdP Cocok Digunakan?

Centralized IdP cocok dipertimbangkan ketika organisasi memiliki banyak aplikasi dan membutuhkan pengelolaan identitas yang konsisten.

Contohnya:

Perusahaan

Perusahaan dengan banyak aplikasi internal dapat menggunakan satu sistem identitas untuk karyawan.

Institusi Pendidikan

Universitas dapat menggunakan satu akun untuk berbagai layanan akademik dan digital.

SaaS

Platform SaaS dapat menggunakan IdP untuk mendukung autentikasi pengguna dan integrasi enterprise.

Infrastruktur Cloud

Cloud environment dapat menggunakan federated identity untuk memberikan akses tanpa membuat akun terpisah pada setiap layanan.

baca juga : Raft Consensus Algorithm: Cara Kerja dan Perannya dalam Menjaga Konsistensi Sistem Terdistribusi


Kesimpulan

Centralized Identity Provider (IdP) adalah sistem yang menyediakan pengelolaan identitas dan autentikasi secara terpusat untuk berbagai aplikasi.

Dengan centralized IdP, organisasi dapat menyederhanakan pengelolaan akun, mendukung Single Sign-On, menerapkan kebijakan keamanan secara konsisten, dan mengurangi kebutuhan setiap aplikasi untuk membangun sistem login sendiri.

Teknologi seperti OpenID Connect dan SAML dapat digunakan untuk menghubungkan aplikasi dengan IdP. Namun, karena IdP menjadi pusat identitas, keamanan komponen ini harus menjadi prioritas.

Penerapan MFA, HTTPS, least privilege, token validation, monitoring, dan high availability dapat membantu mengurangi risiko.

Pada akhirnya, centralized IdP bukan hanya tentang membuat proses login lebih mudah. Jika dirancang dengan benar, IdP dapat menjadi fondasi penting untuk identity security, SSO, dan arsitektur Zero Trust.