Type-Based Distributed Access Control Tom Chothia, Dominic Duggan, and Jan Vitek Presented by Morgan Kleene.

Slides:



Advertisements
Similar presentations
1 ABCs of PKI TAG Presentation 18 th May 2004 Paul Butler.
Advertisements

Completeness and Expressiveness
Computer Science CSC 474Dr. Peng Ning1 CSC 474 Information Systems Security Topic 3.1 Overview of Authentication.
Public Key Infrastructure A Quick Look Inside PKI Technology Investigation Center 3/27/2002.
Operating System Security
MAC Raushan. DES simple fiestel network 3131 PlainText Blocks 2*4=8bits 31 f f =0011 xor 0011=0000 = 0 f(r,k)=(2*r+k^2)%8 f(1,5)=(2*1+5^2)%8=3 xor 3 3.
Building Secure Distributed Systems The CIF model : Component Information Flow Lilia Sfaxi DCS Days - 26/03/2009.
Foundational Certified Code in a Metalogical Framework Karl Crary and Susmit Sarkar Carnegie Mellon University.
Building web applications on top of encrypted data using Mylar Presented by Tenglu Liang Tai Liu.
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
Hybrid Signcryption with Insider Security Alexander W. Dent.
Copyright © Cengage Learning. All rights reserved.
F22H1 Logic and Proof Week 7 Clausal Form and Resolution.
1 The RSA Algorithm Supplementary Notes Prepared by Raymond Wong Presented by Raymond Wong.
16.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft® Windows® Server 2003 Active Directory Infrastructure.
CSCI283 Fall 2005 GWU All slides from Bishop’s slide set Public Key Infrastructure (PKI)
Information Flow, Security and Programming Languages Steve Steve Zdancewic.
Chapter 7: Relational Database Design. ©Silberschatz, Korth and Sudarshan7.2Database System Concepts Chapter 7: Relational Database Design First Normal.
1 Enforcing Confidentiality in Low-level Programs Andrew Myers Cornell University.
Decentralized Robustness Stephen Chong Andrew C. Myers Cornell University CSFW 19 July 6 th 2006.
Polyglot: An Extensible Compiler Framework for Java Nathaniel Nystrom, Michael R. Clarkson, and Andrew C. Myers Presentation by Aaron Kimball & Ben Lerner.
Robust Declassification Steve Zdancewic Andrew Myers Cornell University.
CMSC 414 Computer and Network Security Lecture 10 Jonathan Katz.
1 Clark Wilson Implementation Shilpa Venkataramana.
Type Based Distributed Access Control Tom Chothia È cole Polytechnique Joint work with Dominic Duggan (Stevens) and Jan Vitek (Purdue)
03 December 2003 Public Key Infrastructure and Authentication Mark Norman DCOCE Oxford University Computing Services.
Homework #5 Solutions Brian A. LaMacchia Portions © , Brian A. LaMacchia. This material is provided without.
Automatic Implementation of provable cryptography for confidentiality and integrity Presented by Tamara Rezk – INDES project - INRIA Joint work with: Cédric.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
Understanding Security Lesson 6. Objective Domain Matrix Skills/ConceptsMTA Exam Objectives Understanding the System.Security Namespace Understand the.
Controller of Certifying Authorities PKI Technology - Role of CCA Assistant Controller (Technology) Controller of Certifying Authorities Ministry of Communications.
Secure Systems Research Group - FAU Patterns for Digital Signature using hashing Presented by Keiko Hashizume.
Identity Based Encryption Debdeep Mukhopadhyay Associate Professor Dept of Computer Sc and Engg, IIT Kharagpur.
Data Objects (revisited) Recall that values are stored in data objects, and that each data object holds one value of a particular type. Data objects may.
Lecture 18 Page 1 CS 111 Online Access Control Security could be easy – If we didn’t want anyone to get access to anything The trick is giving access to.
1 A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Presented by Liping Cai 03/15/2006.
Identity-Based Secure Distributed Data Storage Schemes.
1 Security on Social Networks Or some clues about Access Control in Web Data Management with Privacy, Time and Provenance Serge Abiteboul, Alban Galland.
Compliance Defects in Public- key Cryptography “ A public-key security system trusts its users to validate each others’s public keys rigorously and to.
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
Confidentiality-preserving Proof Theories for Distributed Proof Systems Kazuhiro Minami National Institute of Informatics FAIS 2011.
Lifecycle Metadata for Digital Objects October 18, 2004 Transfer / Authenticity Metadata.
Objects & Dynamic Dispatch CSE 413 Autumn Plan We’ve learned a great deal about functional and object-oriented programming Now,  Look at semantics.
The TAOS Authentication System: Reasoning Formally About Security Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
1 Kyung Hee University Diagram Editor : Design View Spring 2001.
Protocols for public-key management. Key management –two problems Distribution of public keys (for public- key cryptography) Distribution of secret keys.
Security Many secure IT systems are like a house with a locked front door but with a side window open -somebody.
CSC 411/511: DBMS Design Dr. Nan Wang 1 Schema Refinement and Normal Forms Chapter 19.
Notes on local determinism Days 12, 13 and 14 of Comp Sci 480.
Home Work. Design Principles and Weak Entity Sets.
Manipulating the Quota in Weighted Voting Games (M. Zuckerman, P. Faliszewski, Y. Bachrach, and E. Elkind) ‏ Presented by: Sen Li Software Technologies.
Naïve Set Theory. Basic Definitions Naïve set theory is the non-axiomatic treatment of set theory. In the axiomatic treatment, which we will only allude.
Lecture 18 Page 1 CS 111 Online OS Use of Access Control Operating systems often use both ACLs and capabilities – Sometimes for the same resource E.g.,
1 Kerberos n Part of project Athena (MIT). n Trusted 3rd party authentication scheme. n Assumes that hosts are not trustworthy. n Requires that each client.
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.
01/02/2016Web security and Trust Management 1 Reza Mousoli Web Security and Trust Management.
Understanding Security
Fall, Privacy&Security - Virginia Tech – Computer Science Click to edit Master title style Decentralized Information Flow A paper by Myers/Liskov.
Lecture 14 Page 1 CS 111 Summer 2013 Security in Operating Systems: Basics CS 111 Operating Systems Peter Reiher.
Types and Programming Languages Lecture 3 Simon Gay Department of Computing Science University of Glasgow 2006/07.
Does Privacy Require True Randomness? Yevgeniy Dodis New York University Joint work with Carl Bosley.
SDSM IN MOBILE CLOUD COMPUTING By- ID NO-1069 K.C. SHARMILAADEVI Sethu Institute Of Tech IV year-ECE Department CEC Batch: AUG 2012.
6.033 Quiz3 Review Spring How can we achieve security? Authenticate agent’s identity Verify the integrity of the request Check the agent’s authorization.
PREPARED BY: MS. ANGELA R.ICO & MS. AILEEN E. QUITNO (MSE-COE) COURSE TITLE: OPERATING SYSTEM PROF. GISELA MAY A. ALBANO PREPARED BY: MS. ANGELA R.ICO.
CSC 411/511: DBMS Design Dr. Nan Wang 1 Schema Refinement and Normal Forms Chapter 19.
TAG Presentation 18th May 2004 Paul Butler
Outline Basic concepts in computer security
TAG Presentation 18th May 2004 Paul Butler
How to Check if a site's connection is secure ?
Presentation transcript:

Type-Based Distributed Access Control Tom Chothia, Dominic Duggan, and Jan Vitek Presented by Morgan Kleene

Problem Enforcing access control in a distributed setting, i.e., in a setting where requests need not go through a central authority Would like to do as much as possible statically

Model Current paper extends and augments DLM, (Distributed Label Model) the foundation of JIF [Myers and Liskov] All hosts are trusted (this can be relaxed, as in their later work) We deal with mistrust between principals only, not a domain that we do not trust

Review of DLM Policy { o: r 1, r 2, …, r n } denotes a policy where o is the owner and the r i ’s are the readers authorized to read the data annotated with this policy (o is not necessarily a reader) LUB operation on policies is simply the union of two policies { o 1 : r 1,…, r n } ⊔ { o 2 : s 1, …, s n } = {o 1 :r 1,…,r n ; o 2 : s 1, …, s n } { o 1 : r 1,…, r n } ⊔ { o 2 : s 1, …, s n } = {o 1 :r 1,…,r n ; o 2 : s 1, …, s n }

DLM Declassification Suppose a principal A is acting with authority L A. Then A can declassify data with L 2 to label L 1 if the following condition holds: L 1 ⊑ L 2 ⊔ L A

Dynamic Operations (DLM) In general, we don’t know what the labels of the data are Operations involving dynamic labels must be checked dynamically Declassification Declassification Read Access Read Access If a program type-checks then it contains the proper dynamic checks

Example

Extending the Model (Chothia et. al.) DLM says nothing about encryption What properties of cryptography do we care about? Private keys are only given to authorized users through an unspecified PKI Private keys are only given to authorized users through an unspecified PKI Ciphertext can safely be made public Ciphertext can safely be made public A user who wishes to share encrypted data can do so by sharing his private key A user who wishes to share encrypted data can do so by sharing his private key All three are modeled in the type system introduced

Policies Mean the same thing as in DLM In DLM, policies are expressed at the type level, now we introduce another level of abstraction and work at the Kind level Kinds are ‘types’ for Types in the same way that Types classify values

Kinds Three classes of Kinds Principals Principals Types Types EKey F (P : P 1, P 2, …, P n ) EKey F (P : P 1, P 2, …, P n ) The label inside the EKey constructor means exactly what it did before The F tag on the encryption key indicates whether the key is virtual (only used for specifying policy) or actual (has a corresponding cryptographic key)

Types K is a key name, which has kind EKey F (P : P 1, P 2, …, P n ) K is a key name, which has kind EKey F (P : P 1, P 2, …, P n ) An encryption key a + has type [EncKey(K)] RW. This type has kind Type A decryption key a - has type [DecKey(K)] RW Principle names P are types having kind Prin Primitive types (int, etc.) having kind Type

How can a user share a key? Central Question: “ Should it be possible to declassify encrypted data, making it available to principals that did not have access to It beforehand without having toe decrypt the data, declassify it, and then re-encrypt under another key?” If no, then a simple treatment suffices If yes (paper’s answer) things are more complex

Declassification Certificates Allow a principal to issue a certificate giving another principal access to data encrypted with a particular key If we do things the wrong way: Principal P wants access to data it doesn’t have permission to read Principal P wants access to data it doesn’t have permission to read The data may be encrypted with the a key that it has a declassification certificate for The data may be encrypted with the a key that it has a declassification certificate for It can just declassify the data and gain access! It can just declassify the data and gain access! The problem is that when we decrypted we forgot about the constraints on the original data

Resolution using Kinds Since we now have access control information in the Kinds we insist on two conditions To encrypt a value with secrecy label K 1,...,K n where K i : EKey F (P i : P i1, P i2, …, P in ) we must have n encryption keys where the type of the i th encryption key is [EncKey(K i )] ri wi To encrypt a value with secrecy label K 1,...,K n where K i : EKey F (P i : P i1, P i2, …, P in ) we must have n encryption keys where the type of the i th encryption key is [EncKey(K i )] ri wi

Contd. When we decrypt we must have declassification certificates [K i ’ reclassifies K i ] r’i w’i When we decrypt we must have declassification certificates [K i ’ reclassifies K i ] r’i w’i Decrypting the data with this key gives us data that can only be read by those authorized in all of the K i ’ Decrypting the data with this key gives us data that can only be read by those authorized in all of the K i ’

Kinds and Key Distribution Kinds also enforce the semantics of having a private key selectively distributed Suppose a key name K is of Kind EKey F (P : P 1, P 2,…,P n ) We forbid constructing a private key where there is a reader not on the access list in the Kind, for example [EncKey(K)] RW where R = EncKey(P: Q) and Q isn’t one of the P i ’s We forbid constructing a private key where there is a reader not on the access list in the Kind, for example [EncKey(K)] RW where R = EncKey(P: Q) and Q isn’t one of the P i ’s

Kinds and Declassification of Ciphertext The Kind of the decryption key already constrains who may see the output, so we can essentially give the ciphertext any read permissions we want

What it actually does A soundness lemma is proved that implies that no dynamic checks are needed This seems to imply that the system is completely static This seems to imply that the system is completely static You would need to recompile whenever your labels changed You would need to recompile whenever your labels changed

Kinds Lack of dynamic control seems undesirable Possibly a consequence of the use of Kinds Possibly a consequence of the use of Kinds In DLM principals are at the value level In DLM principals are at the value level Thus their types can be checked against those of files and other types not known statically Thus their types can be checked against those of files and other types not known statically Not clear how to do this here