Authentication dan authorization

Fahmi Prasetio
3 min readNov 11, 2018

--

Authentication dan authorization adalah kunci untuk mendapatkan akses kepada resources corporate — banyak jenis authentication method yang bisa diadopsi dengan keuntungan dan kerugiannya

Dalam suatu infrastuktur jaringan business atau corporasi yang berskala menengah dan besar, perhatian terhadap perlindungan asset corporate yang berupa informasi begitu besarnya. Keamanan terhadap segala macam ancaman jaringan maupun ancaman dari internet adalah yang paling utama. Adanya manajemen keamanan terhadap informasi adalah seuatu keharusan, yang merupakan framework, procedure, kebijakan dan lain-lain yang tujuannya adalah keamanan total terhadap asset informasi. Salah satu pintu masuk kompromi keamanan adalah mendapatkan akses melalui authentication dan authorization.

Apa itu authentikasi?

Authentication adalah proses dimana seorang user (melalui berbagai macam akses fisik berupa komputer , melalui jaringan , atau melalui remote access ) mendapatkan hak akses kepada suatu entity (dalam hal ini jaringan suatu corporate). Seorang user melakukan login kedalam suatu infrastruktur jaringan dan sistem mengenali user ID ini dan menerimanya untuk kemudian diberikan akses terhadap resources jaringan sesuai dengan authorisasi yang dia terima.

Form-Based Authentication

Metode authentication yang berbasis pada kerahasiaan informasi adalah:

  • Password/PIN: Hanya pemiliknya yang tahu password/pin.
  • Digital Certificate: Berbasis pada asymmetric cryptography yang mengandung informasi rahasia yaitu private key.
  • Private Key: Hanya pemiliknya yang tahu private key, orang lain hanya tahu public key.

Sedangkan metode authentication yang berbasis pada keunikan adalah:

  • Retina: Tidak mungkin ada 2 orang yang pola retinanya sama.
  • Fingerprint: Tidak mungkin ada 2 orang yang sidik jarinya sama.
  • Paspor: Hanya pemiliknya yang bisa menunjukkan foto di paspor sesuai dengan wajahnya.
  • Tandatangan: Hanya pemiliknya yang bisa menuliskan tandatangan dengan sempurna.

Session Based Authentication

Pada session based authentication, server aka membuat session untuk user setelah user log in. Session id akan disimpan di dalam cookie pada browser yang digunakan user. Selama user tetap dalam keadaan log in, Cooki dapat dikirim pada setiap request yang dilakukan oleh user. Server lalu melakukan perbandingan dengan session id yang disimpan pada cookie dengan informasi session yang disimpan pada memory untuk mengverifikasi identitas user dan mengembalikan respon sesuai dengan status yang diberikan.

Token Based Authentication

Terdapat banyak aplikasi web menggunakan JSON Web Token (JWT) dibandingkan sessions untuk authentication. Pada aplikasi token based, server akan membuat JWT dengan rahasia dan mengirim JTW kepada client. Client kemudian menyimpan JTW (biasanya pada local storage) dan memasukan JWT kedalam headers untuk setiap request yang dilakukan oleh client. Server kemudian akan memvalidasi JWT pada setiap request yang dilakukan clinet dan mengembalikan respons yang sesuai.

Perbedaan yang sangat besar disini adalah user’s state tidak disimpan di dalam server, akan tetapi disimpan didalam token pada sisi client. Sebagian besar aplikasi web modern menggunakan JWT untuk authentication dengan alasan scalabilty dan mobile device authentication.

Apa itu authorisasi?

Authorization adalah proses penentuan apakah user tersebut diijinkan / ditolak untuk melakukan satu atau beberapa action atau akses terhadap resources tertentu dalam system. User login terhadap system dengan menggunakan user-ID dan password, kemudian system mengenalinya dan user mendapatkan akses atau ditolak terhadap suatu resource system tertentu.

Logikanya adalah tanpa mengetahui siapa anda, saya tidak tahu apa saja yang boleh dan tidak boleh untuk anda. Jadi tanpa authentication tidak ada authorization. Biasanya pengguna yang tidak ter-otentikasi (anonymous guest) tetap bisa menikmati layanan, namun dengan akses yang sangat terbatas.

http://www.ilmuhacking.com/basic-concept/memahami-authentication-dan-authorization/

Hubungan antara client,server,authentication dan authorization system bisa dilihat pada gambar di atas. Client sebelum bisa menikmati layanan server harus melalui proses authentication. Setelah authentication berhasil akan terjalin hubungan trust antara client dan server sehingga cukup sekali saja authentication sampai client logout/keluar. Selanjutnya setiap ada permintaan layanan, server akan menghubungi system authorization untuk menentukan apakah client tersebut berhak atas layanan yang dimintanya.

--

--