Re: Google Docs as capabilities as data

Domenico Rotondi <[email protected]>
Newsgroups gmane.comp.capabilities.general
Message-ID <[email protected]>
Hi Alan,
I agree that the credential sharing risk exists; in contexts like the ones we address 
with the Event Notification Service there are formal constraints (company policies) 
that come into play and reduce that risk (or at least have the guy sharing is 
credentials liable for infringing the company rules).

In other contexts a "plese don't delegate flag" could be more effective.
Reagrding the revocation procedure we follow the check is not so "simple"; indeed 
don't forget that our mechanism is completely distributed and there could be 
situaitons in which the PDP doesn't have all the information required to check if the 
revocation request is acceptable or not.
Suppose for example that Alice has granted Bob the right X on resource Y and also 
the right to further grant right X. Then that Bob has granted Carol rights creating a 
token for Carol based on his capability token, ...
Alice doesn't have visibility (unless Bob, Carol, ... don't inform her) of the capability 
tokens beneath the Bob's one, nor she has copies of these tokens.
Now Alice wants to revoke Bob's token and all the ones descendent from this one; 
she knows the ID of Bob's token only and a copy Bob's token (if she has maintained 
copy of it). She creates a revocation request specifying she wants to revoke Bob's 
token and all its descenndents.
On the PDP side (let's treat the Revocation Service just as an additional service of 
the PDP!) if Bob's token and descented ones have never been used to access the 
resource Y, the PDP doesn't have the possibility to ascertain if Alice's request must 
be accepted or not and must defer the processing until it receives resoruce access 
requests from Bob or one of the descendent subjects.
At that time the PDP receives all information to complete the revocation process.
We implemented the Revocation Service has a distinct service for convenience (so to 
reduce the load on the PDP), but logically it can be considered as exposing a further 
API/service of the PDP.
Ciao
   Domenico



On 31 Jan 2014 at 5:28, Karp, Alan H wrote:

    Domenico Rotondi wrote:
     
èAttemptingto prevent re-delegation is both futile and counterproductive.  It is futile 
    because people can and do share credentials.  It is counterproductive because when 
    they share credentials, you lose accountability.  Further, you force them to give up 
    all their permissions in order to share a few of them.  I am now proposing that the 
    Do Not Delegate flag be treated as a warning to indicate “Please do not delegate.” 
      In an enterprise setting, the employee will be informed that continuing with the 
    delegation would violate policy and be given the chance to provide a justification for 
    management.
     
    Our delegation system doesn't force a subject to delegate all his/her rights. When 
    you create a new token based on the one you own you can select which of the 
    rights hou have (and for which you are also allowed to delegate) you actually 
    grant to the other subject. Therefore if, for example, I have both read and write 
    rights for resource X and I have the delegate right only for the read operation I 
    can only grant you the read right to you creating a new token (actually the 
    schema file we use supports also a delegation depth attribute, but this attribute is 
    not currently accessible via the UI of our tool).
     
    Sorry.  I didn’t make myself very clear.  Of course, any properly designed capability 
    system, such as yours, will allow fine-grained, attenuated re-delegation.  However, if 
    you  block re-delegation, people will share credentials.  That’s when they end up 
    sharing all their rights.
     
    Therefore we have a "can delegate" flag for each granted right. If you don't want 
    a subject delegates received rights, simply don't set this flag in his/her capability 
    token.
    Regarding the sharing of credentials. We use X509 certificates and digital 
    signatures to protect the tokens (and as a proof of ownership when submitting an 
    access request). So users have to share their private keys if they want to share a 
    capability.
    We know this issue exists, but: first the owner of the X509 in any case remains 
    accountable for his/her private key, and he/she's violating company policies 
    (don't forget that the context of our system is to do access control to shop floor 
    events in manufacturing).
     
    If you do set that flag, people may not be able to get their jobs done.  When that happens, 
    they will share their private keys, company policy notwithstanding.  Credential sharing in 
    systems that make (re-)delegation hard is such a problem that Ping Identity runs a webinar 
    on it.
     
èWehave a PDP (Policy Decision Point) and a PEP (which actually is the 
    Authorization Service of the pub/sub system). So each request is first locally 
    checked by the Authorization Service (e.g., if the capability token is 
    acceptable, the request is compliant to the capability token, ...); then the 
    Authorizaiton Server asks the PDP for further checks (currently only if the 
    capability token is reported as revoked or not).
    We designed the Revocation Service to manage revocation requests and, if 
    the revocation has to be performed, report this to the PDP and to the subject 
    that reuqested the revocation (this "report" could be deferred in time due the 
    decentralised nature of our system; so the Revocaiton Serivce/PDP could not 
    have all the info for immediately taking a decision if a capability token must 
    be revoked or not).
     
    I just think it’s simpler to send the revocation request directly to the PDP.  (Actually,  the 
    check is simple enough, you can even do it in the PEP.)
     
    ________________________
    Alan Karp
    Principal Scientist
    Enterprise Services, Office of the CTO
    Hewlett-Packard Company
    1501 Page Mill Road
    Palo Alto, CA 94304
    (650) 857-3967, fax (650) 857-7029
    http://www.hpl.hp.com/personal/Alan_Karp

_______________________________________________
cap-talk mailing list
[email protected]
http://www.eros-os.org/mailman/listinfo/cap-talk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.