a component security infrastructure
play

A Component Security Infrastructure Y. David Liu Scott Smith - PowerPoint PPT Presentation

A Component Security Infrastructure Y. David Liu Scott Smith http://www.jcells.org 9/24/15 Cells @ FCS 2002 1 Motivation Build software systems Secure software using components systems SDSI/SPKI Cells Secure software systems at the


  1. A Component Security Infrastructure Y. David Liu Scott Smith http://www.jcells.org 9/24/15 Cells @ FCS 2002 1

  2. Motivation Build software systems Secure software using components systems SDSI/SPKI Cells Secure software systems at the component level 9/24/15 Cells @ FCS 2002 2

  3. Goals for a Component Security Infrastructure l Simplicity – Complex protocols will be misused l Generality – Applicable across a wide range of domains l Interoperability – Security policies shared between components, others l Extensibility – Evolves as component architecture evolves 9/24/15 Cells @ FCS 2002 3

  4. Background: Cells l A new distributed component programming language [Rinat and Smith, ECOOP2002] Header Header Body Body Cell A Cell B plugout Service = Connector = plugin 9/24/15 Cells @ FCS 2002 4

  5. Background: SDSI/SPKI l Basis of our security infrastructure l Features Principal with public/private key pair – Decentralized name service – Extended names, name certificate l Group membership certificate l Access control – Principal with ACL l Delegation model: authorization/revocation l certificate 9/24/15 Cells @ FCS 2002 5

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

  7. Cell Identifiers: CID l CID = the public key in the key pair generated by public key cryptosystem – CID is a secured cell identity l Universally unique – No two cells share the same CID l Outgoing messages signed by CID -1 and verified by CID 9/24/15 Cells @ FCS 2002 7

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

  9. Cell Header Security Information CID CID -1 Identity/Key NLT Naming Lookup Table SPT Security Policy Table CertSTORE Certificate Store (Delegation) 9/24/15 Cells @ FCS 2002 9

  10. Cell Reference Unifies many notions in one concept: l A locator of cells l A capability to a cell Cell CID – No cell reference, no access CVM CID l A programming language Network construct: reference Location l Corresponds to a SDSI/SPKI principal certificate 9/24/15 Cells @ FCS 2002 10

  11. Name Services l 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 l Our name service is based on SDSI/SPKI l Improvements: – Fewer certificates needed due to on-line nature – More expressive lookup algorithm 9/24/15 Cells @ FCS 2002 11

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

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

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

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

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

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

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

  19. Cycle Detection Sketch A cycle exists Same local name expansion entry encountered twice Solution: l Keep track of the path l Raise an exception if the same name encountered twice 9/24/15 Cells @ FCS 2002 19

  20. Security Policy l Each cell holds a security policy table, SPT . l Each policy is a 5-tuple. subject resource access hook deleg bit right owner unit Bob thiscell connector1 connect NULL 0 Group1 thiscell service1 invoke NULL 1 Alice Tim service1 invoke h 0 9/24/15 Cells @ FCS 2002 20

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

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

  23. SDSI/SPKI Delegation ID 1..1 “ Access Granted ” ID AuthC1 AuthC1 3..3 AuthC3 AuthC1 ID AuthC3 5..5 9/24/15 Cells @ FCS 2002 23

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

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

  26. Future Work l Security for Mobile Components – Cells can migrate – Mobile devices, PDAs l Hierarchical Security Policy l Interoperability 9/24/15 Cells @ FCS 2002 26

  27. jcells.org 9/24/15 Cells @ FCS 2002 27

  28. Dynamic Component l Components are named, addressable entities, running at a particular location. l Components have interfaces which can be invoked. l Components may be distributed across the network 9/24/15 Cells @ FCS 2002 28

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

  30. Traditional Security Model allow request from alice.jhu.edu 9/24/15 Cells @ FCS 2002 30

  31. … Fails for Mobile Devices allow request from alice.jhu.edu 9/24/15 Cells @ FCS 2002 31

  32. Cell Security Infrastructure allow request from CVM with CID 3333333 9/24/15 Cells @ FCS 2002 32

  33. … Adapts Well with Mobile Devices allow request from CVM with CID 3333333 9/24/15 Cells @ FCS 2002 33

  34. 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 . 9/24/15 Cells @ FCS 2002 34

  35. Example: Traditional Security Model allow request from alice.jhu.edu 9/24/15 Cells @ FCS 2002 35

  36. … Fails in Cell Migration allow request from alice.jhu.edu 9/24/15 Cells @ FCS 2002 36

  37. Example: Cell Security Infrastructure allow request from cell with CID 1234567 9/24/15 Cells @ FCS 2002 37

  38. … Adapts Well in Cell Migration allow request from cell with CID 1234567 9/24/15 Cells @ FCS 2002 38

Recommend


More recommend