330 likes | 343 Views
Explore Agile Management strategies for secure peer collaboration in dynamic coalitions. Enhance trust, security, and service-oriented infrastructure using decentralized authentication, mobile code, and secure networking protocols.
E N D
Agile Management ofDynamic Collaboration John Mitchell Patrick Lincoln Stanford University SRI International David Dill, Li Gong, Mary Baker Ninghui Li Dynamic Coalitions PI Meeting
Contract Start date: 5/4/2000 Duration: 48 months (12 mo optn) Agent POC Steve Spendlove SPAWAR Personnel Stanford John Mitchell (PI) Mary Baker, David Dill (Faculty) Ninghui Li (Researcher) Graduate Students SRI Patrick Lincoln (co-PI) Research scientists Consultant Li Gong (Sun/JavaSoft) Project Organization
Goal • Trust and security for dynamic coalitions • Coalitions via peer-to-peer service concept • Sites may offer to provide services • Clients search for services • Service may be established using mobile code • Secure adaptive (wireless) networking • Key management, discovery, search and delivery for secure peer-to-peer communication • Decentralized authentication and trust decisions • Policy language and compliance checker • Service-oriented infrastructure based on secure communication protocols, decentralized trust management, and secure mobile code
Jini Dynamic service search and configuration Based on Java, RMI Limited Java security Peer-to-peer Napster: centralized Gnutella, Freenet: decentralized Inefficient n2 coalition update No security Trust management Emerging approach for distributed infrastructure Based on keys, policies, inference engine No off-the-shelf implementation Protocols Secure multicast, P2P: rests on key management Decentralized routing flawed (e.g., AODV, BGP) Security, reliability require careful design and analysis Background
Jini architecture Code filter Architecture design Implementation of some parts in progress Peer-to-peer Evaluate current systems coalition discovery and search problems network simulation Trust management Comparison with other access control mechanisms Identify role-based TM Implementing inference engine Protocols (ad hoc wireless routing) Improve DSR reliability watchdog, pathrater Discover looping in AODV model checking, abstraction Collaboration: Drew Dean, Xerox New Personnel: Ninghui Li, Trust Management Mary Baker, Wireless Networking Collaboration: Jon Millen, SRI Progress Summary
Jini-Based Service Architecture • Three phases for dynamic service installation • Request lookup server; receive lookup proxy code • Specify service via lookup proxy; receive service proxy code • Access service via downloaded service proxy Group Lookup Service Client lookup proxy service proxy Service Mobile code Problem: Standard Java-basedJini has limited security guarantees Approach:Develop protocols, trust mechanism, mobile code security Solutions useful for Jini and for other dynamic coalition platforms
Mobile Code Security Asdfasdg./as sdfgsdfg gfsdfg s gfdsdfg sdfg sdfgdsdfgf Asdfasdg./as sdfgsdfg gfsdfg s gfdsdfg sdfg sdfgdsdfgf • Code transmitted and executed • E.g., transparent dynamic installation of user interface, communication protocol, device driver, Jini service proxy • Problem: Untrusted code executed inside mission-critical system • Approach:Dynamic code analysis, code monitoring, and load-time code modification to insert checks and controls
Dynamic peer-service goals • Manage client risks • Authenticate or establish trust in service (solution:TM) • Contain mobile code risks (solution: code filter) • Manage service risks • Authenticate or establish trust in client (solution: TM) • Dynamic trust (solution:Trust Management) • Service has no prior knowledge of client • Client has no prior knowledge of service • Establish trust through signed statements by transitively known principals
Disneyland Wireless device for Electronic cash Data communication Attraction UI Functions Store, communicate secure data Find trusted friends and family Control local devices Mobile reconnaissance team Ad hoc wireless networking Secure group communication Client obtains real-time data and control features from service Illustrative scenarios
Jini Architecture • Lookup server stores credentials • Client, server consult TM • Client runs bytecode filter • Trust management is a service Client trusts service Lookup Service Service Client Trust Mgmt Service trusts client Client filters mobile code Lookup Service Lookup Service Service Client Filter Client Trust Mgmt
Sp ID# attr[] More details Client authentication of service Lookup Service (1) discovery (1) discovery serviceItem (2) query(attr[]) (2) ServiceRegis (w/ ID) (3) serviceItem[] (3) register(Sp, ID, attr[]) Client Service ID# Extract key/auth info from attr[] credentials Sp attr[] (5) Trust proof or yes/no TM Engine (4) query(key, trust credentials) PKI / Trust CA (not a peer) Database and cache; Fetches credentials Constructs auth proof
Peer-to-peer systems • Several recent systems in use • Napster, Gnutella, Freenet, Casino 2000, … • Move toward decentralized peer-to-peer services • Basic functions • Maintain decentralized network of active peers • Search active peers for document, other resource • Problems • Gnutella uses DFS, Freenet uses BFS, both wasteful • How to maintain network of active peers efficiently • How to query active peers and forward responses • How to evaluate, analyze, simulate system
Peer-to-peer effort • Study existing systems • Install, test, analyze Gnutella, Freenet, … • Build ns (network sim) test environment (in progress) • Design improved protocols (in progress) • Efficient discovery and query • Consider applications • Public key infrastructure • Nameserver for Baker’s MobilePeople architecture • Close analogy to ad hoc wireless routing
Trust Management • Problem: Authentication and trust • Service may not be what client wanted • Client may not be authorized for service • Solution: Trust management • Decentralized security management based on authorities granted to a cryptographic key • Distributed policy determined by service policies and delegation (ability to transfer partial authority) Compliance Checker Request Yes/No Proof Policies Credentials
Trust management progress • Study revocation • Feigenbaum and Li • Comparison with other mechanisms • Chander, Dean, Mitchell • Begin development of Role-based trust mgmt • Increase expressiveness, appropriate for trust based on role of individual in organization • Begin study of distributed implementation • Current experimental implementations require centralized deduction (Prolog theorem prover)
Role-Based Trust Management • Background • Traditional role-based access control lacks • distributed roles, distributed credentials, role-delegation • Existing trust management lacks: • explicit support for roles, the ability to use partial rights • Approach • Principals named by Entities and Roles • e.g., companyA’s employee • Permissions: assigned to roles by distributed policy • Role-delegation • Request with a role
Work in progress on RBTM • Identify concepts for dynamic coalitions • role-delegation • role-formula • Develop logic-based language for concepts • Implement a RBTM engine that • manages roles and credentials for entities • does distributed certificate discovery • Integrate RBTM engine into Jini framework
Why isn’t SPKI/SDSI the answer? • Problems with delegation and names • Delegation from SPKI, local names from SDSI • Need better integration to be useful • SPKI/SDSI lacks some desirable features • intersections of names • parameterized names K_hospital's physician(alice) • Some issues not addressed by SPKI/SDSI • Distributed certificate discovery • find a certificate chain in a set of credentials • Privacy issues, deliver minimal certificates, etc. • Need better implementation of superset of subset of SPKI/SDSI
Protocols • Reliability • Routing protocols assume nodes follow protocol • Investigate problems caused by misbehavior • One solution: improve throughput by monitoring • Correctness • Model checking • Exhaustively check all states of a system • Works only for finite-state model • Predicate abstraction • Use automatic theorem proving for arbitrary size system • Reduce unbounded system to finite-state approximation
Background: Ad hoc routing • Mobile wireless network • composed of limited range wireless devices • no dedicated routers • Several routing protocols proposed • Dynamic Source Routing (DSR) • On-demand source routing, maintains route cache • Ad hoc, On-demand, Distance Vector routing (AODV) • Not source routing; node only knows what’s next S D
Node Misbehavior • Node agrees to forward other nodes’ packets but instead drops the packets • Reasons for node misbehavior: • Malicious nodes mounting denial of service attacks • Selfish nodes conserving resources • Overloaded nodes • Broken software
Solutions • Watchdog and Path Rater mitigate the effects of node misbehavior • Assumptions • Bi-directional links • Promiscuous mode • Philosophy: avoid adding more complexity to the routing protocol
Watchdog • Forwarding node verifies next node passes on packet • Watchdog notifies source of possible node misbehavior B A C S D A listens to B forwarding to C
B A C S D Path Rater • Rate nodes based on reliability (as reported by watchdog) • Node rating initially neutral • Misbehaving node gets strongly negative rating • Increment rates of nodes on active paths • Decrement rating of nodes on paths if link-break occur • Pick path with highest average rating • Fallback: route discovery • If all known paths contain misbehaving nodes, run Path Rater Route Request (PRRR)
Throughput • 17% improvement at 40% misbehaving (low mobility) • 27% improvement at 40% misbehaving (high mobility)
Protocol correctness • Protocols are notoriously difficult to design • Goal: make formal verification techniques applicable to important network protocols • Approach: • Model checking systematically generate states of a system for fixed numbers of nodes • Mature; works only for finite-state models. • Predicate abstraction uses automatic theorem proving to verify for any number of nodes. • New: works for descriptions with unbounded states.
Predicate abstraction Reduce verification of large or infinite-state systems to standard finite-state model checking Protocol description Predicate abstractor FSM checker Abstract FSM Properties to check Simple Predicates (e.g. x > 0)
Predicate Abstraction Details • Prototype checker exists • Combines several different libraries • SVC: “Stanford Validity Checker” (automatic theorem prover) • BDD-based model checking • uses Boolean functions to represent FSMs and their states • Performance increased 10-fold in last 2 months • Successive approximation based on counterexamples. • Used on AODV and cryptographic protocols
AODV • “Ad hoc, On-demand, Distance Vector routing” • Automatically assemble networks of mobile nodes • Routes are required to be loop-free • Routes may fail if loops exist • Route loops found using Mur model checker • During timeout of routes • previously discovered by Broch and Maltz of CMU • During processing of RERR messages • previously unknown; newly introduced in AODV version 4 AODV is broken. Can we fix it?
AODV Modification • Changed protocol to eliminate (?) loops • Mur verification with 4 nodes found no problems • Found bugs in “fixed” protocol • Use predicate abstraction to study larger networks • Problem results from arbitrary message delays • Example requires 5 nodes (too big for Mur !) • Goal • Complete repair of AODV protocol • Verify version 5 of AODV using predicate abstraction
Jini architecture Code filter Architecture design Implementation of some parts in progress Peer-to-peer Evaluate current systems coalition discovery and search problems network simulation Trust management Comparison with other access control mechanisms Identify role-based TM Implementing inference engine Protocols (ad hoc wireless routing) Improve DSR reliability watchdog, pathrater Discover looping in AODV Formal tools find new bugs Progress Summary
Deliverables • Upcoming Year 1 report deliverables • Trust-management approach to policy analysis and negotiation for dynamic coalitions, • A Jini-based system for dynamic discovery, query, and selection of services and community members • Architecture for trust management used negotiations for dynamic coalitions, • Mobile-code security mechanisms in Jini environment