Metode access management (MAC, DAC, and RBAC)

 Access Control Lists

ACL adalah seperangkat aturan yang digunakan untuk mengontrol traffic flow masuk atau keluar dari antarmuka atau jaringan. ACL mencantumkan izin yang dilampirkan ke objek—siapa yang diizinkan untuk view, modify, move, or delete objek tersebut. Dalam sistem dan jaringan komputer, ada beberapa cara pengendalian akses dapat diimplementasikan. Matriks kontrol akses menyediakan kerangka kerja paling sederhana untuk menggambarkan proses. Contoh matriks kontrol akses adalah sebagai berikut :


Dalam matriks ini, sistem melacak dua proses, dua file, dan satu perangkat keras. Proses 1 dapat membaca File 1 dan File 2 tetapi hanya dapat menulis ke File 1. Proses 1 tidak dapat mengakses Proses 2, tetapi Proses 2 dapat menjalankan Proses 1. Kedua proses memiliki kemampuan untuk menulis ke printer.

Meskipun sederhana untuk dipahami, matriks kontrol akses jarang digunakan dalam sistem komputer karena sangat mahal dalam hal ruang penyimpanan dan pemrosesan. Bayangkan ukuran matriks kontrol akses untuk jaringan besar dengan ratusan pengguna dan ribuan file.

Mandatory Access Control (MAC)

Proses pengendalian akses ke informasi berdasarkan sensitivitas informasi tersebut dan apakah pengguna beroperasi pada tingkat sensitivitas yang sesuai dan memiliki wewenang untuk mengakses informasi tersebut.


Di bawah sistem MAC, setiap bagian informasi dan setiap sumber daya sistem (files, devices, networks, and sebagainya) diberi label dengan tingkat sensitivitasnya (seperti Public, Engineering Private, Cat Secret). User diberi tingkat izin yang menetapkan batas atas informasi dan perangkat yang boleh mereka akses. Karena kerumitannya, MAC biasanya hanya dijalankan pada sistem di mana keamanan menjadi prioritas utama seperti Trusted Solaris, OpenBSD, dan SELinux.

RBAC (Role Base Access Control)

Ada banyak metode-metode seputar Access Control (AC). Seperti disebutkan di WikiPedia, ada Attribute Based (ABAC), Discresionary (DAC), History Based (HBAC), Identity Based (IBAC), Mandatory (MAC), Rule Based (RAC), Organization Based (OBAC) dan yang akan kita bahas adalah Role Based (RBAC).
Role Based AC saya pilih disini karena cara pemberian kewenangan akses terhadap sesuatu itu dengan mengikuti model struktur jabatan. Dan model pemberian akses dengan cara seperti ini sudah sangat populer dalam aplikasi-aplikasi perusahaan besar ataupun kecil.
Idenya secara sederhana seperti berikut ini:

  • Semakin tinggi jabatan kamu, maka semakin banyak wewenang yang kamu dapat.
  • Semakin rendah jabatan kamu, maka semakin terbatas hak-hak akses yang diberikan kepada kamu.

Dari diagram diatas, bisa dilihat jika semakin tinggi jabatan seseorang dalam organisasi, maka orang tersebut “diizinkan” untuk melakukan apapun yang bisa dilakukan oleh bawahannya. Diagram diatas menunjukan, “menjadi seorang boss besar, ia boleh melakukan/mengakses semua fungsi-fungsi yang bisa dilakukan oleh semua boss, semua kepala dan semua pegawai”.

Konsep RBAC
Ide mengenai RBAC pertama kali di sebut-sebut dalam sebuah tulisan ilmiah oleh David F. Ferraiolo dan D. Richard Kuhn berjudul “Role-Based Access Control” di tahun 1992.
Dalam paper tersebut, secara ilmiah dijelaskan mengenai bagaimana sebuah sistem komputer melakukan Authorization terhadap setiap penggunanya. Serta bagaimana struktur data sebuah “Authorization System” menyimpan data-data perizinan (permission). Orang dulu, kalau bikin konsep IT, banyak menggunakan permodelan matematis. Yang gak doyan matematika gak perlu baca bukunya. Baca artikel ini saja ya… biar gak pusing. Dalam artikel ini, semua gambaran-gambaran matematisnya dijelaskan dengan mudah. Percaya deh.
Berikut ini adalah beberapa notasi-notasi matematis dalam paper Pak David dan Pak Richard.
Diketahui 3 buah himpunan :

  • AR(s:subject) = { Role yang aktif bagi seorang subyek }
  • RA(s:subject) = { Semua Role yang dimiliki oleh sorang subyek }
  • TA(r:role) = { Semua transaksi yang dimiliki oleh sebuah role }

Dengan modal 3 himpunan diatas, maka dibuatlah sebuah peraturan. (Jangan terlalu memusingkan notasi matematisnya, cukup pahami penjelasan dari setiap peraturan/hukum dibawah)

Salah satu skema dari RBAC adalah Access Token. Access Token adalah sebuah informasi yang dipergunakan oleh sebuah sistem untuk menunjukan bahwa sistem tersebut “berhak” untuk meng-akses suatu fungsi atau “sumberdaya” sebagaimana disebutkan

  1. Access Token hanya bisa diambil dari “Auth System”, seperti halnya kunci cuma bisa diambil dari pos sekuriti (dalam konteks artikel ini ya… bukan dari tukang kunci).
  2. Access Token dipastikan tidak bisa dimodifikasi. Mirip kunci yang terbuat dari “Bajanya Baja Super”. Kalau kuncinya bisa dibuat se-enaknya bisa bobol kantor orang.
  3. Informasi dapat “dilihat” dari dalam AccessToken, tapi informasi ini tidak bisa dirubah sebagaimana disebutkan di nomor #2. Kan ceritanya tiap kunci ada “Tag” nya yang tulisannya gak bisa diganti.




Post a Comment

0 Comments