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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend