1 / 21

GENI Federation Basics

GENI Federation Basics. Jeff Chase Duke University. Preface. This slide deck has some introductory slides for a longer series on authorization and trust management in GENI. It contains: A few Big Picture slides from the GPO, which I find useful

sammy
Download Presentation

GENI Federation Basics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GENI Federation Basics Jeff Chase Duke University

  2. Preface This slide deck has some introductory slides for a longer series on authorization and trust management in GENI. It contains: • A few Big Picture slides from the GPO, which I find useful • Basic GENI concepts: aggregates, slices, projects, clearinghouse • Some basic material defining terms and concepts for trust management based on principals speaking with public keys. There shouldn’t be anything new and controversial here for anybody who has been involved in the GENI process. But it isn’t a good introduction to GENI either. It’s only purpose is to ground some terms and concepts for a larger discussion.

  3. The GENI VisionA suite of infrastructure for long-running,realistic experiments in Network Science and Engineering Sensor Network Federated International Infrastructure Edge Site Mobile Wireless Network Virtualized Deeply programmable Federated substrate with end-to-end virtualized “slices” “aggregates” Heterogeneous, and evolving over time via spiral development 2007

  4. “GENI from First Principals” This series is about trust management in GENI. • How to think about principals and trust • Declarative trust policies with automated inference • Federation architecture addressing these goals: • Be flexible enough to represent a wide range of trust structures for multi-domain infrastructure services. • Implement GENI spiral 4 governance mandate as deployment-time policy with a rigorous specification. • Evolve to decentralize GENI-like services over time. • Grow richer structures around GENI by allowing others to join the system and contribute on their own terms. • Declare new trust structures without changing code.

  5. Reading the slides GENI users Test Tube Guy and Dr. D, and some of their credentials A A generic principal IdP.studentT IdP.facultyD A coordination service implementing some clearinghouse function, such as a Slice Authority AM SA Indicates trust of one principal in another, often associated with some kind of formal agreement: Indicates a request Aggregate Indicates credential flow

  6. Basic concepts • A principal is any entity that may: • Request an action • Respond to a request • Assert or receive a statement • Know a secret • Trust is that which a principal must have in order to: • Honor a request • Accept a response • Believe a statement • Reveal a secret A A B trusts Trust is usually limited to a particular function or purpose, which we would like to specify rigorously.

  7. Example: client/server trust • A server accepts a request only if it trusts the client to issue it. • Server’s guard authenticates the client and checks each client request for compliance with an authorization policy. trusts Client Server Guard compliance check request reference monitor • Each entity chooses its own policy. • How to represent it and check compliance?

  8. Example: client/server trust • A client must also trust its servers to provide the requested service, protect private data, and return a correct response. Client Server trusts We often think of client trust policies as being very simple... C …but they’re not.

  9. Trust graph • Trust may derive from a trust path through one or more intermediate principals that endorse another party. Client Server • Each step in the trust path follows a delegation of trust from a principal to its successor in the path, specified by its policy. • We would like to constrain each delegation and specify rigorously and exactly what trust is delegated.

  10. GENI on the back of a napkin Chip Elliott @ GEC4 Standard issue BBN napkin

  11. GENI trust structure: overview GENI Federation Oversight Users and tools Users create global slices and request aggregates to bind local resources to those slices. GENI Meta-Operations GENI Clearinghouse GENI I&M and Other Services Bidirectional trust based onagreements AM AM AM AM Principals are users, servers, and organizations. Principals are actors: subjects. Generically: entities.

  12. GENI Principals We are concerned with three kinds of GENI principals. • Aggregates and other services. • Focus on infrastructure services, not hosted applications. • Users (researchers, experimenters) • “User” is my shorthand for any human principal acting as a client of an infrastructure service. • Users may control/operate services and/or form groups. • GENI Oversight and Coordination (GOC) • “GOC” is my shorthand for the GENI root authority. • E.g., GMOC, GFOC • Clearinghouse is shorthand for “that which manages federation”, i.e., GOC-affiliated coordination services.

  13. Slices • Resources are allocated to slices. • Each slice is created by a user, who owns it. • The slice owner may delegate permissions to operate on the slice. • A slice can host an application or service. • In principle, slices (or hosted services) can be subjects in the authorization framework. • Out of scope for now… • A slice is a global object that is a target of local operations at each aggregate.

  14. Slices as principals • Can user software running within a slice invoke GENI interfaces? • Can slices offer infrastructure services? • In principle, slices can be subjects in the authorization framework. • This will be useful. • The question of how to build trust in slices (e.g., through attestation) is an important and interesting research topic. • But this topic is out of scope for now. • The problem with slices as principals is that we have little basis to say anything about any public keys they speak with, or what trust to place in those keys.

  15. Projects • All GENI activity is organized into projects. • Clearinghouse service registers/endorses projects • Every user action is taken within the scope of a project. • Each project has a designated leader (e.g., PI). • The leader is accountable for activity in the project. • The leader may set policies for the project. • The leader may delegate management rights and/or organize the project and its members into subgroups. • GENI policies may consider project identity, e.g., for resource allocation as well as authorization.

  16. Clearinghouse Functions GEC-12 Clearinghouse A.Auditing and accountability B.Brokering requests and allocations C.Credentialing users and services D.Discovery/Directory of resources/services Let’s take them one at a time…

  17. Clearinghouse Functions GEC-12 A. Auditing and accountability GOC receives event logs (audit trails) distributed by pub/sub. Avoid central authorization services where we can. B.Brokering requests and allocations Resource quotas/caps, sharing policies: rarely discussed in GENI. ORCA uses ticket-granting brokers. Central authorization services are useful here! C.Credentialing users and services Federated identity (e.g., Shib) + ABAC credentials D.Discovery/Directory of resources/services Dissemination: non-essential, cannot subvert system  replaceable and “easy” to build scalable implementations

  18. More on what this is about • These slides focus on the “Credentialing” functions. • Endorsing services and aggregates (trust structure) • Endorsing users (researcher-experimenters) • Endorsing projects and project leaders (see below) • Endorsing slices and linking them to projects • Naming • …and establishing authorization policies. • Capability-based sharing (SFA) and flexible user control • Ownership by registered projects and users • Kill switch • These topics are the keys to federation architecture. • Stitching boils down to naming and authorization.

  19. PKI? • We can build an architecture around this trust model using either: • SSL communication with an always-on server for each delegating principal; • signed assertions with asymmetric crypto (PKI); • all of the above. • Each choice involves some painful tradeoffs. • We revisit these tradeoffs later…. CA

  20. PKI! • Choice: use PKI, but use it wisely. • Abandon CA hierarchy: use a “trust forest” with multiple roots and flexible delegation. • Use attributes for authorization (trust), and bind them to bare public keys. • Conventional PKI binds global names to keys: trust is a different problem, for which global naming is neither necessary nor sufficient. • Use automated inference to derive authority from signed assertions and policy rules. • See SPKI/SDSI [RFC 2693] CA

  21. Certificates and credentials • Each principal has at least one keypair that it may use to issue signed assertions. • Assertions represent delegations, policies, name bindings. • Any such signed assertion is a certificate or “cert”. • Certificates reference other principals by their public keys. • A credential is a certificate used for authorization. Given knowledge of a public key, it is easy to secure communication with the principal who is using that keypair (authentication). We focus instead on authorization or trust management: how authenticated principals use credentials to establish trust. Certificate Term of validity Issuer’s name (or key) Payload: assertion Signature

More Related