CryptographicallyEnforced



Similar documents
MESSAGE AUTHENTICATION IN AN IDENTITY-BASED ENCRYPTION SCHEME: 1-KEY-ENCRYPT-THEN-MAC

Keywords: Authentication, Third party audit, cloud storage, cloud service provider, Access control.

Secure Role-Based Access Control on Encrypted Data in Cloud Storage using Raspberry PI

Security Aspects of. Database Outsourcing. Vahid Khodabakhshi Hadi Halvachi. Dec, 2012

Non-interactive and Reusable Non-malleable Commitment Schemes

Verifiable Outsourced Computations Outsourcing Computations to Untrusted Servers

Computational Soundness of Symbolic Security and Implicit Complexity

MACs Message authentication and integrity. Table of contents

Expressive, Efficient, and Revocable Data Access Control for Multi-Authority Cloud Storage

Advanced Cryptography

Role Based Encryption with Efficient Access Control in Cloud Storage

Certificate Based Signature Schemes without Pairings or Random Oracles

Chapter 23. Database Security. Security Issues. Database Security

Authenticated Encryption: Relations among Notions and Analysis of the Generic Composition Paradigm By Mihir Bellare and Chanathip Namprempre

Lecture 1: Introduction. CS 6903: Modern Cryptography Spring Nitesh Saxena Polytechnic University

Victor Shoup Avi Rubin. Abstract

Data Sharing on Untrusted Storage with Attribute-Based Encryption

Risk-Aware Role-Based Access Control

Categorical Heuristic for Attribute Based Encryption in the Cloud Server

Secure and Verifiable Policy Update Outsourcing for Big Data Access Control in the Cloud

Distributed Attribute Based Encryption for Patient Health Record Security under Clouds

CS377: Database Systems Data Security and Privacy. Li Xiong Department of Mathematics and Computer Science Emory University

Identity-based Encryption with Post-Challenge Auxiliary Inputs for Secure Cloud Applications and Sensor Networks

Cryptography and Network Security: Summary

SECURE RE-ENCRYPTION IN UNRELIABLE CLOUD USINGSYNCHRONOUS CLOCK

Secure Attribute Based Mechanism through Access cipher policy in Outsourced Cloud Data

Introduction. Digital Signature

A logical approach to role-based access control in a distributed environment

Role Based Access Control

Electronic Voting Protocol Analysis with the Inductive Method

Time-Based Proxy Re-encryption Scheme for Secure Data Sharing in a Cloud Environment

How to prove security of communication protocols?

Ch.9 Cryptography. The Graduate Center, CUNY.! CSc Theoretical Computer Science Konstantinos Vamvourellis

An Efficient and Secure Data Sharing Framework using Homomorphic Encryption in the Cloud

1 Message Authentication

1 Construction of CCA-secure encryption

Lecture 10: CPA Encryption, MACs, Hash Functions. 2 Recap of last lecture - PRGs for one time pads

1 Signatures vs. MACs

Towards Provably-Secure Remote Memory Attestation

CHAPTER 7 GENERAL PROOF SYSTEMS

Formal Methods in Security Protocols Analysis

An Overview of Common Adversary Models

KEY-POLICY ATTRIBUTE BASED ENCRYPTION TO SECURE DATA STORED IN CLOUD

Advanced Topics in Cryptography and Network Security

Database Security. The Need for Database Security

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

Practical Yet Universally Composable Two-Server Password-Authenticated Secret Sharing

How To Verify A Bluetooth Device Pairing With A Human Eye Oracle

Post-Quantum Cryptography #4

Lecture 17: Re-encryption

Application Based Access Control on Cloud Networks for Data Security

Chapter 11. Asymmetric Encryption Asymmetric encryption schemes

Adversary Modelling 1

Entangled Encodings and Data Entanglement

Proposed NIST Standard for Role-Based Access Control

Attributed-based Access Control for Multi-Authority Systems in Cloud Storage

Chosen-Ciphertext Security from Identity-Based Encryption

Data Security Using Reliable Re-Encryption in Unreliable Cloud

A Survey and Analysis of Solutions to the. Oblivious Memory Access Problem. Erin Elizabeth Chapman

Talk announcement please consider attending!

The Order of Encryption and Authentication for Protecting Communications (Or: How Secure is SSL?)

Secure Sharing of Health Records in Cloud Using ABE

YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE

IMPLEMENTATION OF NETWORK SECURITY MODEL IN CLOUD COMPUTING USING ENCRYPTION TECHNIQUE

AN ENHANCED ATTRIBUTE BASED ENCRYPTION WITH MULTI PARTIES ACCESS IN CLOUD AREA

Security/Privacy Models for "Internet of things": What should be studied from RFID schemes? Daisuke Moriyama and Shin ichiro Matsuo NICT, Japan

Data management using Virtualization in Cloud Computing

Policy Analysis for Administrative Role Based Access Control

CPSC 467b: Cryptography and Computer Security

Overview. SSL Cryptography Overview CHAPTER 1

EFFICIENT AND SECURE ATTRIBUTE REVOCATION OF DATA IN MULTI-AUTHORITY CLOUD STORAGE

Security Analysis of the PACE Key-Agreement Protocol

Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur

Secure Attribute-Based Systems

Lecture 9 - Message Authentication Codes

Security Analysis for Order Preserving Encryption Schemes

IMPLEMENTATION OF RESPONSIBLE DATA STORAGE IN CONSISTENT CLOUD ENVIRONMENT

OpenHRE Security Architecture. (DRAFT v0.5)

Chosen-Ciphertext Security from Identity-Based Encryption

Transcription:

Cryptographically CryptographicallyEnforced Enforced RBAC RBAC Georg Fuchsbauer (IST Austria) 27 June 2013, CSF joint work with Anna Lisa Ferrara and Bogdan Warinschi (University of Bristol)

Overview Cryptographically enforced access control concentrate on Role-Based Access Control for file system Formal model, security definitions Soundness theorem for enforcing policies Implementation using Attribute-Based Encryption

Access Control Access control by low-level mechanisms enforcement by design absolute semantics

Access Control Access control by low-level mechanisms enforcement by design absolute semantics using cryptography key management only probabilistic guarantees

Previous Work Cryptographic sealing [Gifford'82] Cryptographic model (UC) for access control [Halevi,Karger,Naor'05] Access control for XML documents [Abadi,Warinschi'08]

Previous Work Cryptographic sealing [Gifford'82] Cryptographic model (UC) for access control [Halevi,Karger,Naor'05] Access control for XML documents [Abadi,Warinschi'08] GAP between semantics associated to polices and cryptographic guarantees (previously: simple polices, simple primitives)

RBAC for Hospital Doctor Nurse Patient Receptionist

RBAC for Hospital Medical records List of doctors List of appointments

RBAC for Hospital

RBAC for Hospital

RBAC - The Model R... set of roles (fixed) U... universe of users U U... set of users P... universe of permissions P P... set of permissions UA U R... user-role assignment relation PA P R... permission-role assignment relation State of the system: S = (U, P, UA, PA)

Hospital Example

Hospital Example R U UA P PA n

RBAC Commands U U {u} AddUser(u) DeleteUser(u) AddObject(p) DeleteObject(p) AssignUser(u,r) UA UA {(u,r)} DeassignUser(u,r) UA UA \ {(u,r)} GrantPermission(p,r) PA PA {(p,r)} RevokePermission(p,r) PA PA \ {(p,r)} U U \ {u}, UA UA \ {(u,r) UA r R} P P {p} P P \ {p}, PA PA \ {(p,r) PA r R}

RBAC Semantics System evolves via commands (U, P, UA, PA) (U', P', UA', PA') RBAC command Trace: sequence of commands:...

RBAC Semantics System evolves via commands (U, P, UA, PA) (U', P', UA', PA') RBAC command Trace: sequence of commands: Semantic: User u has access to p:... HasAccess(u,p) r R: (u,r) UA (p,r) PA

Security Policies... express limits on access Separation of Duty:... models conflict of interest between r, r' : no user can hold both roles Privilege Escalation:... lower-rank roles cannot access resources for higerrank roles

Security Policies... express limits on access Separation of Duty:... models conflict of interest between r, r' : no user can hold both roles Privilege Escalation:... lower-rank roles cannot access resources for higerrank roles Example: Doctor Receptionist

Security Policies Security policy for RBAC is a formula u U p P: Cond(u,p) HasAccess(u,p)

Security Policies Security policy for RBAC is a formula u U p P: Cond(u,p) HasAccess(u,p) interpreted over a state S = (U, P, UA, PA) A policy should hold over any execution trace.

Security Policies Security policy for RBAC is a formula u U p P: Cond(u,p) HasAccess(u,p) interpreted over a state S = (U, P, UA, PA) A policy should hold over any execution trace. Example: Privilege escalation from role r to role r': Cond(u,p) [(u,r) UA (p,r') PA]

Security Policies Security policy for RBAC is a formula u U p P: Cond(u,p) HasAccess(u,p) interpreted over a state S = (U, P, UA, PA) A policy should hold over any execution trace. Example: Privilege escalation from role r to role r': Cond(u,p) Multiple policies: [(u,r) UA (p,r') PA] C1,..., Cn C1... Cn

Cryptographic RBAC

Cryptographic RBAC Permission = read access for file p in file system FS Manager Users

Cryptographic RBAC Permission = read access for file p in file system FS Manager write read Users have unrestricted access to FS

Cryptographic RBAC Permission = read access for file p in file system FS Manager write MPC Users have unrestricted access to FS read

Cryptographic RBAC Non-interactive protocol: Manager write runs command locally writes to FS sends update msgs to users Users read

Cryptographic RBAC Non-interactive protocol: Manager write runs command locally writes to FS sends update msgs to users Users update their states when receiving msg read

crbac Algorithms Init AddUser DelUser AddObject DelObject AssignUser DeassignUser GrantPerm RevokePerm RBAC commands, run by manager input: statem, FS, args output: state'm, FS', {msgu}

crbac Algorithms Init AddUser DelUser AddObject DelObject AssignUser DeassignUser GrantPerm RevokePerm Write Read Update run by manager, input: p, m run by users, input: stateu RBAC commands, run by manager input: statem, FS, args output: state'm, FS', {msgu}

Properties of crbac Correctness: After any executions of commands, if HasAccess(u,p) then Read(stu, p, FS) outputs content of p

Properties of crbac Correctness: After any executions of commands, if HasAccess(u,p) then Read(stu, p, FS) outputs content of p Security: No information on content of p is leaked to u when HasAccess(u,p) Adversary can make manager execute RBAC cmds corrupt users (not manager) ask for challenges

Security Security game: Expind(λ) b $ {0,1} (stm, FS, {st[u]}u U ) λ,r) Init(1 $ b' $ A (1λ,FS : O ) Return (b' = b) Advind(λ) := Pr [Expind(λ) true] - 1/2 Oracles O : Oracles for RBAC commands CorruptU(u), Challenge(p,m0,m1)

Security Security game: Expind(λ) b $ {0,1}; Cr,Ch (stm, FS, {st[u]}u U ) $ Init(1λ,R) b' $ A (1λ,FS : O ) Return (b' = b) Advind(λ) := Pr [Expind(λ) true] - 1/2 Oracles O : Oracles for RBAC commands CorruptU(u), Challenge(p,m0,m1) Game ensures that at all time: u Cr p Ch: HasAccess(u,p)

Secure Policy Enforcement Policy Φ defined by Cond s.t. whenever Cond(u,p) then HasAccess(u,p) ( i.e. r R: (u,r) UA (p,r) PA )

Secure Policy Enforcement Policy Φ defined by Cond s.t. whenever Cond(u,p) then HasAccess(u,p) ( i.e. r R: (u,r) UA (p,r) PA ) crbac enforces Φ if whenever Cond(u,p) then u does not have access to p in reality

Secure Policy Enforcement Policy Φ defined by Cond s.t. whenever Cond(u,p) then HasAccess(u,p) ( i.e. r R: (u,r) UA (p,r) PA ) crbac enforces Φ if whenever Cond(u,p) then u does not have access to p in reality Ind-based definition: Manager enforces Φ symbolically A impersonates u, for Cond(u,p)... must distinguish content of p

Secure Policy Enforcement Theorem: If CRBAC is secure then it enforces any policy Computational soundness: Policies that are satisfied symbolically are also satisfied computationally.

Implementation

Attribute-Based Encryption Attribute-Based Encryption Encryption w.r.t. set of attributes from universe A Keys associated to policies over attributes... decrypt ciphertexts whose attributes satisfy policy

Attribute-Based Encryption Attribute-Based Encryption Encryption w.r.t. set of attributes from universe A Keys associated to policies over attributes... decrypt ciphertexts whose attributes satisfy policy Only need weak form of ABE: Policies: Disjunction of attributes ψ = a1 a2... an

Attribute-Based Encryption Attribute-Based Encryption Encryption w.r.t. set of attributes from universe A Keys associated to policies over attributes... decrypt ciphertexts whose attributes satisfy policy Only need weak form of ABE: Policies: Disjunction of attributes ψ = a1 a2... an key ~ x A ciphertext ~ y A y x

Implementation of crbac RBAC ABE roles attributes objects ciphertexts

Implementation of crbac RBAC ABE roles attributes objects ciphertexts File p is encrypted w.r.t. roles (attributes) associated to it (according to PA) Write Encrypt User u receive keys corresponding to their roles (according to UA) Read Decrypt

Revocation and Deassignment AssignUser(u,r)... issue new key for user u's extended set of roles GrantPerm(p,r)... re-encrypt content of p w.r.t. extended set of roles RevokePerm(p,r)... re-encrypt content of p w.r.t. reduced set of roles

Revocation and Deassignment AssignUser(u,r)... issue new key for user u's extended set of roles GrantPerm(p,r)... re-encrypt content of p w.r.t. extended set of roles RevokePerm(p,r)... re-encrypt content of p w.r.t. reduced set of roles DeassignUser(u,r)...?

Revocation and Deassignment AssignUser(u,r)... issue new key for user u's extended set of roles GrantPerm(p,r)... re-encrypt content of p w.r.t. extended set of roles RevokePerm(p,r)... re-encrypt content of p w.r.t. reduced set of roles DeassignUser(u,r) associate role r with a new attribute a re-encrypt files p with (p,r) PA re-issue keys to users u' with (u',r) UA

Security Not secure. Why? Consider: (u,r) UA, (p,r) PA HasAcc(u,p)

Security Not secure. Why? Consider: (u,r) UA, (p,r) PA HasAcc(u,p) RevokePerm(p,r) HasAcc(u,p)

Security Not secure. Why? Consider: (u,r) UA, (p,r) PA HasAcc(u,p) RevokePerm(p,r) HasAcc(u,p) AssignUser(u,r) HasAcc(u,p)

Security Not secure. Why? Consider: (u,r) UA, (p,r) PA HasAcc(u,p) c sk RevokePerm(p,r) HasAcc(u,p) c' sk AssignUser(u,r) HasAcc(u,p) c' sk'

Security Not secure. Why? Consider: (u,r) UA, (p,r) PA HasAcc(u,p) c sk RevokePerm(p,r) HasAcc(u,p) c' sk AssignUser(u,r) HasAcc(u,p) c' sk'

Security Not secure. Why? Consider: (u,r) UA, (p,r) PA HasAcc(u,p) c sk RevokePerm(p,r) HasAcc(u,p) c' sk AssignUser(u,r) HasAcc(u,p) c' sk' New attribute for role r also when RevokePerm(p,r)!

Security Not secure. Why? Consider: (u,r) UA, (p,r) PA HasAcc(u,p) c sk RevokePerm(p,r) HasAcc(u,p) c' sk AssignUser(u,r) HasAcc(u,p) c' sk' New attribute for role r also when RevokePerm(p,r)! Theorem: If ABE satisfies indistinguishability then CRBAC [ABE ] is a secure implementation

Conclusion Defined syntax & security for cryptographic access control Soundness theorem for policies Provably secure implementation using weak ABE

Conclusion Defined syntax & security for cryptographic access control Soundness theorem for policies Provably secure implementation using weak ABE Future work Hierarchical RBAC, attribute-based RBAC More general framework for abstract notions of symbolic & computational access-control enforcement