Otentikasi versus Otorisasi

626

Apa perbedaan konteks aplikasi web? Saya melihat singkatan "auth" banyak. Apakah itu berdiri untuk auth -entication atau auth -orization? Atau keduanya?

daGrevis
sumber
51
ingat ini: otentikasi memeriksa kredensial, otorisasi memeriksa izin.
Onur Yıldırım
1
Duplikat
antar
Baru-baru ini untuk singkatan yang saya lihat authnuntuk otentikasi dan authzotorisasi
jdf
Apakah ini menjawab pertanyaan Anda? Apakah ada perbedaan antara otentikasi dan otorisasi?
paxdiablo

Jawaban:

865

Otentikasi adalah proses memastikan bahwa seseorang benar-benar seperti yang mereka klaim.

Otorisasi mengacu pada aturan yang menentukan siapa yang diizinkan melakukan apa. Misalnya Adam dapat diotorisasi untuk membuat dan menghapus basis data, sedangkan Usama hanya diizinkan untuk membaca.

Kedua konsep tersebut sepenuhnya ortogonal dan independen, tetapi keduanya merupakan pusat desain keamanan, dan kegagalan untuk mendapatkan salah satu yang benar membuka jalan untuk kompromi.

Dalam hal aplikasi web, berbicara sangat kasar, otentikasi adalah ketika Anda memeriksa kredensial login untuk melihat apakah Anda mengenali pengguna sebagai login, dan otorisasi adalah ketika Anda mencari di kontrol akses Anda apakah Anda mengizinkan pengguna untuk melihat, mengedit, menghapus atau buat konten.

Kerrek SB
sumber
32
Definisi-definisi itu kelihatannya baik-baik saja, tetapi tentu saja mereka tampaknya tidak independen. Seperti yang didefinisikan, bukankah otorisasi juga menyiratkan otentikasi ? Bagaimana Anda bisa membiarkan operasi penghapusan basis data Adam jika Anda ragu bahwa ia adalah Adam? Dengan kata lain, jika operasi penghapusan Adam diotorisasi, semoga itu menyiratkan bahwa Adam diautentikasi.
Timo
7
@Timo: Sebuah aplikasi mungkin ingin melakukan keduanya, tapi itu konsep ortogonal. Bos Anda dapat meninjau otorisasi staf untuk mengakses komponen penting dari bisnis, jet perusahaan, dan lemari es bir tanpa kekhawatiran yang individu tertentu pada umpan CCTV cocok dengan nama-nama dalam spreadsheet. Yang terakhir akan menjadi perhatian penjaga keamanan.
Kerrek SB
1
Konsepnya jelas ortogonal. Otentikasi belum tentu membuktikan identitas Anda. Itu bisa membuktikan klaim tentang diri Anda misalnya usia. Saat Anda minum, Anda mengautentikasi usia Anda dengan menunjukkan ID. Maka Anda mungkin diizinkan untuk minum tergantung pada usia dan wilayah hukum Anda (Anda dapat minum jika> 21 di AS> 18 di Eropa)
David Brossard
1
@Sinjai: Saya pikir intinya adalah bahwa itu adalah masalah ortogonal, dan mereka dapat diatasi dengan fasilitas terpisah: misalnya penjaga pintu (tepercaya) di pintu dapat menentukan usia klien, dan berbagai layanan di dalam pendirian dapat memiliki usia yang berbeda batas, tetapi semua akan menggunakan nilai yang mereka dapatkan dari penjaga untuk membuat keputusan penerimaan.
Kerrek SB
1
Cara lain untuk melihatnya (dalam konteks contoh barroom) adalah dengan mempertimbangkan bahwa otentikasi adalah proses mencocokkan foto pada kartu ID dengan orang yang berdiri di depan Anda sedangkan otorisasi adalah proses memvalidasi usia mereka. memenuhi persyaratan hukum. Menurut pendapat saya, elemen dalam campuran ini yang menyebabkan garis-garis menjadi kabur adalah bahwa kedua tes juga harus menyadari dan dikeraskan terhadap pemalsuan (apakah ID itu palsu) yang cenderung dilihat oleh sebagian besar orang sebagai masalah otentikasi. dari sama pentingnya untuk sertifikasi auth-c dan auth-z.
Ryan Hansen
660

Singkatnya, tolong. :-)

Otentikasi = login + kata sandi (siapa Anda)

Otorisasi = izin (apa yang Anda boleh lakukan)

"Auth" pendek kemungkinan besar merujuk pada yang pertama atau keduanya.

Geo
sumber
3
Manis seperti sepotong Kue :)
devansvd
Saya suka ini, pendek dan manis.
Raja
5
Maka saya masih tidak mengerti mengapa header HTTP Otorisasi membawa informasi otentikasi ... Bukankah itu penamaan yang disayangkan?
Jens
@Jens Jawaban singkat: ya. Roy Fielding tidak tahu lebih baik pada saat itu ... ;-) </tongue-in-cheek>
Per Lundberg
@ Jens, aku juga penasaran. Saya menemukan intuisi jawaban ini bermanfaat. Karena HTTP tidak memiliki kewarganegaraan , info otentikasi harus dikirimkan bersama dengan setiap permintaan, bukan hanya permintaan awal dan penutupan (seperti, membuat sesi aman, dan mengirim permintaan tanpa auth di antaranya). Oleh karena itu, tajuk permintaan tersebut haruslah otorisasi , karena hampir selalu membawa maksud lain (mengambil data, img, ...), bukan hanya otentikasi .
Minh Nghĩa
83

Seperti Otentikasi vs Otorisasi meletakkannya:

Otentikasi adalah mekanisme di mana sistem dapat mengidentifikasi penggunanya dengan aman. Sistem otentikasi memberikan jawaban atas pertanyaan:

  • Siapa pengguna itu?
  • Apakah pengguna benar-benar mewakili dirinya?

Sebaliknya, otorisasi adalah mekanisme di mana suatu sistem menentukan tingkat akses yang harus dimiliki pengguna terotentikasi tertentu untuk mendapatkan sumber daya yang dikendalikan oleh sistem. Sebagai contoh, sistem manajemen basis data mungkin dirancang untuk memberikan individu tertentu dengan kemampuan untuk mengambil informasi dari basis data tetapi bukan kemampuan untuk mengubah data yang disimpan dalam basis data, sementara memberi individu lain kemampuan untuk mengubah data. Sistem otorisasi memberikan jawaban atas pertanyaan:

  • Apakah pengguna X diizinkan untuk mengakses sumber daya R?
  • Apakah pengguna X diizinkan untuk melakukan operasi P?
  • Apakah pengguna X diizinkan untuk melakukan operasi P pada sumber daya R?

Lihat juga:

Sebastian Paaske Tørholm
sumber
34

Saya lebih suka Verifikasi dan Izin ke Otentikasi dan Otorisasi.

Lebih mudah di kepala saya dan di kode saya untuk memikirkan "verifikasi" dan "izin" karena dua kata

  • tidak terdengar sama
  • tidak memiliki singkatan yang sama

Otentikasi adalah verifikasi dan Otorisasi sedang memeriksa izin. Auth dapat berarti baik, tetapi digunakan lebih sering sebagai "Authasi Pengguna" yaitu "Otentikasi Pengguna"

Aditya Mittal
sumber
2
Verifikasi IMHO tampaknya memiliki cakupan yang sedikit lebih terbuka daripada otentikasi, meskipun otentikasi tampaknya semacam verifikasi, tidak setiap verifikasi adalah otentikasi ... jadi saya akan mengatakan bahwa konteks selalu diperlukan: verifikasi akses pengguna dll., Otentikasi sepertinya selalu terjadi di bidang "apakah dia benar-benar pria / mesin?" (pukul saya jika saya salah, bukan penutur asli, tetapi: "verifikasi" INFORMASI yang diberikan akurat vs otentikasi tampaknya ada hubungannya dengan mengetahui orang / mesin yang ia berpura-pura menjadi)
Beachwalker
14

Kebingungan dapat dimengerti, karena kedua kata tersebut terdengar serupa, dan karena konsep-konsepnya sering saling terkait dan digunakan bersama. Juga, seperti yang disebutkan, singkatan Auth yang umum digunakan tidak membantu.

Yang lain telah menjelaskan dengan baik apa arti otentikasi dan otorisasi. Berikut adalah aturan sederhana untuk membantu memisahkan keduanya:

  • Tupoksi enti kation memvalidasi Anda Id enti ty (atau keaslian , jika Anda lebih suka)
  • Penulis isasi memvalidasi Anda penulis ity, yaitu hak Anda untuk mengakses dan mungkin perubahan sesuatu.
Kjartan
sumber
12

Saya telah mencoba membuat gambar untuk menjelaskan ini dengan kata-kata yang paling sederhana

1) Otentikasi berarti "Apakah Anda yang Anda katakan adalah Anda?"

2) Otorisasi berarti "Haruskah Anda dapat melakukan apa yang Anda coba lakukan?".

Ini juga dijelaskan pada gambar di bawah ini.

masukkan deskripsi gambar di sini

Saya telah mencoba menjelaskannya dengan sebaik mungkin, dan menciptakan gambar yang sama.

Rohit Ailani
sumber
4

Otentikasi adalah proses memverifikasi identitas yang diproklamirkan.

  • mis. nama pengguna / kata sandi

Biasanya diikuti oleh otorisasi , yaitu persetujuan bahwa Anda dapat melakukan ini dan itu.

  • mis. izin
Jakub Truhlář
sumber
Jawaban ini sudah diberikan dengan penjelasan mendalam.
Sonu patel
3

Menambahkan ke jawaban @ Kerrek;

Otentikasi adalah formulir Umum (Semua karyawan dapat masuk ke mesin)

Otorisasi adalah formulir khusus (Tetapi admin hanya dapat menginstal / mencopot aplikasi dalam Mesin)

Boobalan
sumber
1
Kata "bisa" hanya berlaku untuk Otorisasi. Otentikasi hanya sedikit atau tidak ada hubungannya dengan login. Saya bisa sangat baik Otentikasi bahwa Anda Boobalan dalam banyak hal (Bukan hanya nama pengguna / kata sandi). Setelah saya mengautentikasi dan tahu siapa Anda, saya bisa TIDAK mengotorisasi Anda untuk masuk, atau melakukan apa pun di situs saya. Anda Otentikasi, tetapi Anda tidak dapat melakukan diddley-squat. Membingungkan dan salah menggunakan kata "bisa" ketika berbicara tentang Otentikasi.
Suamere
3

Otentikasi adalah proses memverifikasi nama pengguna dan kata sandi Anda.

Otorisasi adalah proses memverifikasi bahwa Anda dapat mengakses sesuatu.

Sovichea Cheth
sumber
3
"Jawaban" ini tidak menambahkan apa pun ke jawaban yang sudah diberikan.
Ojonugwa Jude Ochalifu
1

Definisi

Otentikasi - Apakah Anda orang yang Anda klaim?

Otorisasi - Apakah Anda berwenang untuk melakukan apa pun yang Anda coba lakukan?

Contoh

Aplikasi web menggunakan Google Masuk . Setelah pengguna berhasil masuk, Google mengirim kembali:

  1. Token JWT. Ini dapat divalidasi dan didekodekan untuk mendapatkan informasi otentikasi . Apakah token ditandatangani oleh Google? Apa nama dan email pengguna?
  2. Token akses. Ini mengizinkan aplikasi web untuk mengakses Google APIs atas nama pengguna. Misalnya, dapatkah aplikasi mengakses acara Kalender Google pengguna? Izin ini tergantung pada cakupan yang diminta, dan apakah pengguna mengizinkannya atau tidak.

Selain itu:

Perusahaan mungkin memiliki dasbor admin yang memungkinkan dukungan pelanggan untuk mengelola pengguna perusahaan. Alih-alih menyediakan solusi pendaftaran khusus yang memungkinkan dukungan pelanggan untuk mengakses dasbor ini, perusahaan menggunakan Google Masuk.

Token JWT (diterima dari proses masuk Google) dikirim ke server otorisasi perusahaan untuk mencari tahu apakah pengguna memiliki akun G Suite dengan domain yang diinangi organisasi ([email protected])? Dan jika ya, apakah mereka anggota Grup Google perusahaan yang dibuat untuk dukungan pelanggan? Jika ya untuk semua hal di atas, kami dapat menganggapnya terautentikasi .

Server otorisasi perusahaan kemudian mengirimkan token akses aplikasi dasbor. Token akses ini dapat digunakan untuk membuat permintaan resmi ke server sumber daya perusahaan (mis. Kemampuan untuk membuat permintaan GET ke titik akhir yang mengirim kembali semua pengguna perusahaan).

Jabacchetta
sumber
0

Authentication adalah proses verifikasi:

  • identitas pengguna dalam suatu sistem (nama pengguna, login, nomor telepon, email ...) dengan memberikan bukti (kunci rahasia, biometrik, sms ...). Otentikasi multi-faktor sebagai ekstensi.
  • pemeriksaan email menggunakan digital signature
  • checksum

Authorizationadalah langkah selanjutnya setelah Authentication. Ini tentang izin / peran / hak istimewa untuk sumber daya. OAuth (Otorisasi Terbuka) adalah contoh Otorisasi

yoAlex5
sumber