FCS A Component Security Infrastructure Y. David Liu Scott Smith

Slides:



Advertisements
Similar presentations
Towards Remote Policy Enforcement for Runtime Protection of Mobile Code Using Trusted Computing Xinwen Zhang Francesco Parisi-Presicce Ravi Sandhu
Advertisements

Csci5233 Computer Security1 Bishop: Chapter 10 (Cont.) Key Management: Certificates.
Chapter 6 User Protections in OS. csci5233 computer security & integrity (Chap. 6) 2 Outline User-level protections 1.Memory protection 2.Control of access.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
Active Directory: Final Solution to Enterprise System Integration
16.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft® Windows® Server 2003 Active Directory Infrastructure.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
CSE331: Introduction to Networks and Security Lecture 28 Fall 2002.
CS-550 (M.Soneru): Protection and Security - 1 [SaS] 1 Protection and Security.
CMSC 414 Computer and Network Security Lecture 20 Jonathan Katz.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
Security Management.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
14 May 2002© TrueTrust Ltd1 Privilege Management in X.509(2000) David W Chadwick BSc PhD.
Russ Housley IETF Chair Founder, Vigil Security, LLC 8 June 2009 NIST Key Management Workshop Key Management in Internet Security Protocols.
Chapter 10: Authentication Guide to Computer Network Security.
Common Devices Used In Computer Networks
1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Java Security Pingping Ma Nov 2 nd, Overview Platform Security Cryptography Authentication and Access Control Public Key Infrastructure (PKI)
Secure Credential Manager Claes Nilsson - Sony Ericsson
Digital Signatures A Brief Overview by Tim Sigmon April, 2001.
A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.
Information Security - City College1 Access Control in Collaborative Systems Authors: Emis Simo David Naco.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Matej Bel University Cascaded signatures Ladislav Huraj Department of Computer Science Faculty of Natural Sciences Matthias Bel University Banska Bystrica.
Legion - A Grid OS. Object Model Everything is object Core objects - processing resource– host object - stable storage - vault object - definition of.
Jini Architecture Introduction System Overview An Example.
Jini Architectural Overview Li Ping
Key Management. Authentication Using Public-Key Cryptography  K A +, K B + : public keys Alice Bob K B + (A, R A ) 1 2 K A + (R A, R B,K A,B ) 3 K A,B.
Secure Operating Systems Lesson F: Capability Based Systems.
Chapter 20 Concepts for Object-Oriented Databases Copyright © 2004 Pearson Education, Inc.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 2.
Active Directory Domain Services (AD DS). Identity and Access (IDA) – An IDA infrastructure should: Store information about users, groups, computers and.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
IP Security
Key management issues in PGP
Chapter 5 Network Security Protocols in Practice Part I
Chapter 9. Key management
PROTECTION.
Chapter 14: System Protection
Grid Security.
Cryptography and Network Security
Software Design and Architecture
Distribution and components
THE STEPS TO MANAGE THE GRID
Virtual LANs.
Chapter 2: The Linux System Part 2
Chapter 14: Protection.
Outline Midterm results summary Distributed file systems – continued
ELECTRONIC MAIL SECURITY
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 4: Planning and Configuring Routing and Switching.
ELECTRONIC MAIL SECURITY
Modular Internet Programming with Cells
Digital Certificates and X.509
Implementing an OpenFlow Switch on the NetFPGA platform
Chapter 14: Protection.
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
MUMT611: Music Information Acquisition, Preservation, and Retrieval
Introduction to Network Security
DATABASES WHAT IS A DATABASE?
Chinese wall model in the internet Environment
Public-Key, Digital Signatures, Management, Security
Understanding Android Security
Design Yaodong Bi.
A Component Security Infrastructure
Access Control Dr. X Parenthesis: before we dive deeper into crypto, we will explore and old but still valid security principle, access controls.
The devil is in the details
Presentation transcript:

FCS A Component Security Infrastructure Y. David Liu Scott Smith

FCS Motivation Secure software systems Secure software systems at the component level SDSI/SPKICells Build software systems using components

FCS Goals for a Component Security Infrastructure Simplicity – Complex protocols will be misused Generality – Applicable across a wide range of domains Interoperability – Security policies shared between components, others Extensibility – Evolves as component architecture evolves

FCS Background: Cells Cell A Connector = Service = plugout plugin Header Body Header Body Cell B A new distributed component programming language [Rinat and Smith, ECOOP2002] A new distributed component programming language [Rinat and Smith, ECOOP2002]

FCS Background: SDSI/SPKI Basis of our security infrastructure Features – Principal with public/private key pair – Decentralized name service Extended names, name certificate Group membership certificate – Access control Principal with ACL Delegation model: authorization/revocation certificate

FCS Principles of Component Security Each component should be a principal – Traditional principals: users, locations, protection domains, … – New idea: Components as principals Components are known to outsiders by their public key Components each have their own secured namespace for addressing other components Components may be private

FCS Cell Identifiers: CID CID = the public key in the key pair generated by public key cryptosystem – CID is a secured cell identity Universally unique – No two cells share the same CID Outgoing messages signed by CID -1 and verified by CID

FCS CVM Identity With President Cells: Universe is homogeneously composed of cells Locations are also principals – Locations are represented by cells and each cell is a principal Unique CVM identity via its President CVM CellA CID: 1..1 CellB CID: 5..5 CVM President Cell CID: 7..7

FCS Cell Header Security Information CIDCID -1 NLT SPT CertSTORE Security Policy Table Naming Lookup Table Certificate Store (Delegation) Identity/Key

FCS Cell Reference A locator of cells A capability to a cell – No cell reference, no access A programming language construct: reference Corresponds to a SDSI/SPKI principal certificate Cell CID CVM CID Network Location Unifies many notions in one concept:

FCS Name Services CIDs vs. Names – CIDs serve as universal identifiers, but names are still necessary – Extended name mechanism enables a cell to refer to another cell even if its CID is unknown Our name service is based on SDSI/SPKI Improvements: – Fewer certificates needed due to on-line nature – More expressive lookup algorithm

FCS SDSI/SPKI Extended Names Bob ID : 1..3 LOC : sdsi://cs.jhu.edu ID 1..3 ID 2..9 ID 7..1 Andy ID : 2..9 LOC : sdsi://starwars.com Bob’s Andy? Local Name Certificate

FCS SDSI/SPKI Groups Bob ID : 1..3 LOC : sdsi://cs.jhu.edu ID 1..3 ID 2..9 ID 7..1 Andy ID : 2..9 LOC : sdsi://starwars.com Local Name Certificate Group Membership Certificate Friend {Bob, Bob’s Andy}

FCS Cell Naming Lookup Table Bob CID : 1..3 CVM :4..7 LOC : cell://cs.jhu.edu CID 1..3 CID 2..9 CID 7..1 Andy CID : 2..9 CVM :5..5 LOC : cell://starwars.com CID: 4..7 cell://cs.jhu.edu CID: 5..5 cell://starwars.com Friend {Bob, Bob’s Andy} CID: 9..5 cell://home.org

FCS Cell Naming Lookup Table Online nature makes local name certificates unnecessary, unlike SDSI/SPKI – More suited for mobility Maintained by naming lookup interface, a concept closer to programming languages Naming entries can be effectively secured by using hooks Compatible with SDSI/SPKI

FCS Name Lookup Process Bob CID : 1..3 CVM :4..7 LOC : cell://cs.jhu.edu CID 1..3 CID 2..9 CID 7..1 Andy CID : 2..9 CVM :5..5 LOC : cell://starwars.com Bob’s Andy?

FCS A More Expressive Algorithm Anthony CID : 9..9 CVM :4..7 LOC : cell://cs.jhu.edu CID 1..3 CID 2..9 Andy CID : 2..9 CVM :5..5 LOC : cell://starwars.com Tony? Tony Andy’s Anthony CID 9..9

FCS Cycles Alice CID : 1..3 CVM :5..7 LOC : cell://cs.jhu.edu CID 1..3 CID 2..9 Andy CID : 2..9 CVM :5..5 LOC : cell://starwars.com Tony’s Bob? Tony Andy’s Anthony CID 9..9 Anthony Alice’s Tony

FCS A cycle exists Same local name expansion entry encountered twice Solution: Keep track of the path Raise an exception if the same name encountered twice Cycle Detection Sketch

FCS Security Policy subjectresourceaccess right hookdeleg bit ownerunit Bobthiscellconnector1connectNULL0 Group1thiscellservice1invokeNULL1 AliceTimservice1invokeh0 Each cell holds a security policy table, SPT. Each policy is a 5-tuple.

FCS Subjects, Resources, Access Rights Subjects – Cells and a group of cells – Local names, extended names, cell references Resources – Services, connectors, operations – Partial order relations among them Access rights – Connect and invoke Application level protection: meaningful services and meaningful connections.

FCS Hooks Designed for fine-grained access control – Protect a naming lookup entry: lookup(“Tony”) – Protect a specific file: read(“abc.txt”) Associated with operations Operation parameters verified via a predicate Predicate checked when the associated operation is triggered – Example: Hook lookup (arg1) = { arg1=“Tony” }

FCS SDSI/SPKI Delegation ID 3..3 ID 1..1 ID 5..5 AuthC1 AuthC3 AuthC1 AuthC3 AuthC1 “Access Granted”

FCS Cell Delegation Implements SDSI/SPKI delegation Each cell holds all certificates (both delegation and revocation) in a certificate store. Security policy table supports delegation – The owner of the resource might not be thiscell – The delegation bit indicating whether certificates can be further delegated Certificates are implicitly passed for delegation chain detection – No need for manual user intervention

FCS Goals Revisited Simplicity – No complex algorithms/data structures – Clearly defined principals and resources Generality – Not just cells, but components in general – Not limited to certain applications Interoperability – Built on SDSI/SPKI standard – Communicate with any infrastructure that supports SDSI/SPKI Extensibility – Consideration for future additions: mobility, etc

FCS Future Work Security for Mobile Components – Cells can migrate – Mobile devices, PDAs Hierarchical Security Policy Interoperability

FCS jcells.org

FCS Dynamic Component Components are named, addressable entities, running at a particular location. Components have interfaces which can be invoked. Components may be distributed across the network

FCS Summary Security infrastructure in a component programming language Cell identity and CVM identity (president cell) Naming lookup table/interface – More expressive lookup algorithm and cycle detection Fine-grained access control Unification of security artifacts and programming language ones Formalization of SDSI/SPKI API from programming language perspective

FCS Traditional Security Model allow request from alice.jhu.edu

FCS …Fails for Mobile Devices allow request from alice.jhu.edu

FCS Cell Security Infrastructure allow request from CVM with CID

FCS …Adapts Well with Mobile Devices allow request from CVM with CID

FCS Extended Name An extended name is a sequence of local names [n 1, n 2, …, n k ], where each n i+1 is a local name defined in the name space of the cell n i.

FCS Example: Traditional Security Model allow request from alice.jhu.edu

FCS …Fails in Cell Migration allow request from alice.jhu.edu

FCS Example: Cell Security Infrastructure allow request from cell with CID

FCS …Adapts Well in Cell Migration allow request from cell with CID