Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a difference between authentication and authorization?

Tags:

security

I see these two terms bandied about quite a bit (specifically in web-based scenarios but I suppose it's not limited to that) and I was wondering whether or not there was a difference.

It appears to me that they both mean you're allowed to be doing what you're doing. So is this just a nomenclature thing, or is there a basic difference in meaning?

like image 823
paxdiablo Avatar asked Jun 16 '11 06:06

paxdiablo


People also ask

What is the difference between authentication and authorization give an example?

In simple terms, authentication is the process of verifying who a user is, while authorization is the process of verifying what they have access to. Comparing these processes to a real-world example, when you go through security in an airport, you show your ID to authenticate your identity.

What goes first authorization or authentication?

Authentication is done before the authorization process, whereas authorization process is done after the authentication process. 1. In authentication process, the identity of users are checked for providing the access to the system.

What is user authentication and authorization?

Authentication confirms that users are who they say they are. Authorization gives those users permission to access a resource. While authentication and authorization might sound similar, they are distinct security processes in the world of identity and access management (IAM).

Can authorization be allowed without authentication?

Authorization does nothing without authentication. The authorization system must know who the user is before it can grant access permissions.


1 Answers

There is indeed a fundamental difference. Authentication is the mechanism whereby systems may securely identify their users. Authentication systems seek to provide answers to the questions:

  • Who is the user?
  • Is the user really who they claim / represent to be?

Authorization, by contrast, is the mechanism by which a system determines what level of access a particular (authenticated) user should have to resources controlled by the system. For an example that may or may not be related to a web-based scenario, a database management system might be designed so as to provide certain specified individuals with the ability to retrieve information from a database but not the ability to change data stored in the database, while giving other individuals the ability to change data. Authorization systems provide answers to the questions:

  • Is user X authorized to access resource R?
  • Is user X authorized to perform operation P?
  • Is user X authorized to perform operation P on resource R?

Steve Riley has written a quite good essay on why they must remain distinct.

like image 161
Michael Foukarakis Avatar answered Sep 28 '22 03:09

Michael Foukarakis