Security-related things of Capabilities

Source: Internet
Author: User

Surging clouds

I really don't know how to call this question, so I have to write a little bit of information.

I saw an article yesterday)

Html? Utm_source = feedburner & utm_medium = feed & utm_campaign = Feed % 3A + YetAnotherDevelopersBlog + % 28Yet + Another + Developer % 27 s + Blog % 29 "target = _ blank> Is Role Based Access Control dead?


This section describes the impact of the Role-Based Access Control solution.
To initialize strate this point, consider the following situation.

You have just completed coding a wonderful project management application for Big Humungous Inc. that filled all the requirements, is unhackable, and even has a list of features far exceeding the clients requests. one day you recieve a call that your client is creating a special group of representatives that need to have administrative access to customer accounts that belong to Group A between 2 and 3 every Monday, wednesday, and Friday.

Now you have a problem. A role is an all-or-nothing access mechanic. so you cant just add the users to the Administrator Role, so your only option is to go back into the code and add a new check in the code that says am I in this role,AndDo I meet all these other requisites to do the requested action. Then you need to implement that code in every place where you wowould normally ask is the user an administrator?


There are more and more similar problems, and Role Based AC cannot meet more and more flexible requirements.

Therefore, the author proposes a Context-Based Access Control

However, I think this is a manifestation of Capability based Security.

There are two mainstream access control methods:Access Control List, One isCapabilities

On wikipedia, Capability based Security and POSIX Capabilities in Linux Kernel are separated, but I think they are similar in nature.

An important article about ACL and capabilities in EROS:

Comparing ACLs and Capabilities



For more information about Capabilities in Linux Kernel, see:

Taking Advantage of Linux Capabilities
Linux Capabilities FAQ 0.2

Introduction to Linux Capabilities and ACLs


Capabilities are mainly considered as a subject (which can be a user or process) ability to access objects (which can be files and other resources ).

In Linux Capablities, the object Descriptor and access permission identifier (such as RW) must be included.

Capabilities generally use technology to prevent forgery and tampering, which is a very special token.

For objects, only capabilities are recognized, and no persons are recognized. With this capabilities, you can access it.

This idea is often used

Confused deputy problem

To describe the limitations of the ACL.

The most famous example of confused deputy problem is CSRF.

So we can understand it very well. In the CSRF solution, we add an unpredictable token. CSRF wants to request the url and only checks whether the token is valid.

This token can be understood as a capability and the ability to access the data.

Back to the problem of Role based Access Control, the current flexibility requirements are increasingly difficult to meet. When I

WEB Application Security Design Philosophy
The "Horizontal permission Control" problem mentioned in shows the difficulty of Role Based Access Control.

Maybe we need to re-design a new access control system to solve this problem,
Capabilities Based Security brings a glimmer of light.

However, Capabilities also have their own problems, such as distribution, recycling, invalidation, sharing, and how to better and rationally manage capabilities will bring new challenges.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.