Changes between Version 9 and Version 10 of CrudgeDocs


Ignore:
Timestamp:
Apr 10, 2011 9:40:23 PM (13 years ago)
Author:
faber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CrudgeDocs

    v9 v10  
    33== Intro ==
    44
    5 Crudge is a browser for credentials implementing the RT0 logic used by ABAC. The credentials are visualized as a directed graph where principals and roles/attributes are nodes in the graph and credentials are edges.  If a principal has an attribute (can act in a role) there is a path through the directed graph from principal to attribuet (role).
     5Crudge is a browser for credentials implementing the RT0 logic used by ABAC. The credentials are visualized as a directed graph where principals and roles/attributes are nodes in the graph and credentials are edges.  If a principal has an attribute (can act in a role) there is a path through the directed graph from principal to attribute (role).
    66
    7 Crudge uses the same visualizations for roles that [http://groups.geni.net/geni/wiki/TIEDABACModel our description of ABAC] for [http://groups.geni.net/geni/wiki/TIED TIED] uses.  [http://groups.geni.net/geni/wiki/TIEDABACModel That description] is a good starting point the visualiations and ABAC.
     7Crudge uses the same visualizations for roles that [http://groups.geni.net/geni/wiki/TIEDABACModel our description of ABAC] for [http://groups.geni.net/geni/wiki/TIED TIED] uses.  [http://groups.geni.net/geni/wiki/TIEDABACModel That description] is a good starting point the visualizations and ABAC.
    88
    99Crudge allows a user to visualize an ABAC proof or explore a policy.  One can make queries against the policy and save all or parts of the policy.  It can be used to create credentials and principals, that interoperate with the rest of [wiki:WikiStart ABAC].  It can be used as a simple management interface for small systems using ABAC.
     
    4040To demonstrate running a query, load an example set of credentials from http://abac.deterlab.net/examples/rockets_intersection.zip .  Select "Open a URL" from the File menu and type http://abac.deterlab.net/examples/rockets_intersection.zip into the dialog box and hit return.  (You can also get the dialog box by typing Ctrl-U).
    4141
    42 A set of credentials will appear layed out roughly as a tree.  You will probably need to move the boxes around a bit to see the structure.  You can move a vertex by putting the pointer on it, holding doen the left mouse button and dragging the box. You can pan around the space by putting the pointer on the background, holding the left button and dragging the whole frame. With a little moving you should see something like the image below.
     42A set of credentials will appear layed out roughly as a tree.  You will probably need to move the boxes around a bit to see the structure.  You can move a vertex by putting the pointer on it, holding down the left mouse button and dragging the box. You can pan around the space by putting the pointer on the background, holding the left button and dragging the whole frame. With a little moving you should see something like the image below.
    4343
    4444[[Image(batman.png)]]
     
    4848[[Image(coyote_query.png)]]
    4949
    50 The query pane shows the similing face icon and the part of the graph containing the path from Coyote to Acme.buy_rockets.  The credential graph encodes the idea that to buy rockets from Acme, a principal must be a preferred customer of Acme (the Acme.preferred_customer role) and be a !WarnerBros character (the !WarnerBros.character role).  The Coyote meets both conditions, but Batman meets only one in this example.
     50The query pane shows the smiling face icon and the part of the graph containing the path from Coyote to Acme.buy_rockets.  The credential graph encodes the idea that to buy rockets from Acme, a principal must be a preferred customer of Acme (the Acme.preferred_customer role) and be a !WarnerBros character (the !WarnerBros.character role).  The Coyote meets both conditions, but Batman meets only one in this example.
    5151
    5252To see that Batman cannot buy rockets enter Acme.buy_rockets in the leftmost query box and Coyote in the other and hit enter.  You will see an empty query with the red "X".
     
    117117Crudge can load ABAC information from several different file formats:
    118118
    119  * Individual X.509 certificates that contain either principals (in PEM format) or ABAC credentials (in der format)
    120  * A directory containing X.509 certificates that contain either principals (in PEM format) or ABAC credentials (in der format)
    121  * A zip file of X.509 certificates
     119 * Individual X.509 certificates that contain either principals (in PEM format) or ABAC credentials (in DER format)
     120 * A directory containing X.509 certificates that contain either principals (in PEM format) or ABAC credentials (in DER format)
     121 * A zip file of X.509 certificates that contain either principals (in PEM format) or ABAC credentials (in DER format)
    122122 * An rt0 file that includes only a description of the credentials, but no principal keys or credentials
    123123
    124 The first three are pretty straightforward.  The certificates that comprise a real policy or proof can be loaded from those formats and viewed and manipulated directly in crudge.  Note that if the principal keypairs are not included, or are not accessible, crudge will not be able to create new certificates signed by those principals.  Such credentials can still be reasoned about, but will be drawn in red to indicate that they cannot be exported.
     124The first three are pretty straightforward.  The certificates that comprise a real policy or proof can be loaded from those formats and viewed and manipulated directly in crudge.  Note that if the principal key pairs are not included, or are not accessible, crudge will not be able to create new certificates signed by those principals.  Such credentials can still be reasoned about, but will be drawn in red to indicate that they cannot be exported.
    125125
    126126The rt0 format is for simple debugging and testing.  It consists of lines of the format:
     
    138138Zip files and rt0 files can also be loaded from URLs.  The "Open URL" and Append URL" choices in the File menu accomplish this.
    139139
     140If a principal has been loaded from one source without its key pair, the key pair can be loaded using "Load Keys" from the "File" menu.  Crudge can find the principal bound to the same key in memory.  Note that this cannot be used to assign a key pair to a principal created by crudge.
     141
     142== Saving Credential Graphs ==
     143
     144Crudge can save credential graphs either in a zip file containing the relevant credentials or in rt0 files for debugging.  Rt0 files do not contain any cryptographic information and cannot directly specify proofs or policies.  Zip files can be used to provide policies or proofs.
     145
     146To save the entire credential graph, choose "Save" from the "File" menu and pick the save file name from the chooser.  That chooser will look like this:
     147
     148[[Image(chooser.png)]]
     149
     150If the name ends in .zip or .rt0 that format will be used.  If neither of these are chosen, or the user wants to force a format, the pull-down menu in the "Format" section of the file chooser can be used (it it displaying "Use suffix" in the image above).
     151
     152Below that pull down menu are two check boxes that control extra information to be saved in the zip file.  If "Include Private Keys" is selected, the identity certificates of the principals will include their private keys.  This means that holders of the zip file will be able to generate new credentials from those principals.  This is a feature if you are generating principals to act under the policy you are exporting, but a bug if you believe your are exporting a proof.  It is off by default.
     153
     154Unless "Include All Identities" is checked, only identities necessary to validate the credentials are included in the output.  This means that principals who only have attributes assigned to them are not included.  If this box is checked, identity certificates for those principals are included as well.
     155
     156Neither of those check boxes are relevant to .rt0 files, because they contain no cryptographic material.
     157
     158== Conclusion ==
     159
     160That should be enough to get you started using crudge.  If you have further questions [WikiStart contact us].