A Brief Introduction to Authority Management

Simply put, Authority Management (AuthM) is an approach to cooperative computing that takes intangible concepts around permissions and makes them into tangible tokens of authority that can be used to simplify complex resource management tasks. 

AuthM and Identity and Access Management (IAM, the most common approach in use today for implementing resource controls) share many of the same goals, but have noticeably different security foundations. We coined the term Authority Management to describe our approach to resource management because it is much broader than just IAM.

IAM can be defined by answering this three part question…focusing on identity (who).

Who can Do What with Which Resources?

In contrast, AuthM attempts to answer a different question…focusing on permissions.

What Permissions with respect to Which Resources do You have?

The difference appears academic for simple cases. But it becomes more apparent under complex real-world conditions.

For example, let’s take the situation where multiple users cooperatively perform a computation within a commercial cloud. 

Who gets the bill?

Can one of them give billing credits to others? 

Whose permissions are in effect when a researcher uses a 3rd party browsing application to access a protected catalog?

IAM focuses on and answers the above questions considering a user’s identity. This approach is fragile and high risk. In general, when a user runs a 3rd party application, that application acquires all of the user’s permissions because it runs under the user’s identity. Delegation protocols like OAuth2 attempt to mitigate these risks by allowing users to specify which permissions these applications have access to, but they still work by delegating a user’s identity — we'll get into why this is not enough in a subsequent posting.

Authority Management , on the other hand, is based upon permissions and the authority behind those permissions, that one or more users (or a software entity such as a service) may possess. These can easily be combined for cooperative computing. The ability to take an action, perform a task or run up a bill is based upon having permissions instead of your identity. This brings fine grained control by allowing the user to share a reduced set of permissions with 3rd parties instead of their entire identity. This in turn makes permissions context-sensitive and provides natural support for the Principle Of Least Authority (POLA).

In subsequent posts, we will be going into more and more details about Authority Management, how it works, and its benefits.

Obscure JWT Security Vulnerabilities