collaborative data access between enterprise...

51
Collaborative Data Access between Enterprise Clouds* Krishna Kant Center for Secure Information Systems George Mason University *With Meixing Le and Sushil Jajodia ARO Workshop on Cloud Computing Security March 11-12, 2013 George Mason University, Fairfax, VA

Upload: others

Post on 05-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Collaborative Data Access between Enterprise Clouds*

Krishna Kant Center for Secure Information Systems

George Mason University

*With Meixing Le and Sushil Jajodia

ARO Workshop on Cloud Computing Security March 11-12, 2013

George Mason University, Fairfax, VA

Page 2: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Collaborative Sharing

3/19/2013 Collaborative Data Access between Enterprise Clouds 2

Product Stock

Shipping Company

Customer Service

Warehouse E-commerce Company

Factory Info Stock

Request Supplier

Combat Unit

Combat Unit

Combat Unit

Inventory Control

Combat Veh. Supplier

Parts Supplier

Mainte-nance

Soldier gear supplier

Ground Logistics

Page 3: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Model

• A set of parties, each “owns” some data. – Data: Relations in standard (BCNF) form. – Access rules: Mutually agreed & visible to all parties – Rules: Joins & projections, but no selections.

• Assuming joins only on key attributes

• Trust Model – No subversion of access rules or malicious query

processing. – Accessible data may be manipulated further (e.g.,

further joins) – Cloud may not be entirely trusted (future)

3/19/2013 Collaborative Data Access between Enterprise Clouds 3

Page 4: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Problems

• Consistency [Le1’12] – Some data accessible but not explicitly authorized

• Enforceability – Access explicitly authorized, but not possible – Enforcement via third parties

• Query planning with collaborative access [Le2’12] • Rule Changes

– Efficient checking of consistency and enforceability

• Other Issues – Trust, Granular access control, …

3/19/2013 Collaborative Data Access between Enterprise Clouds 4

Page 5: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Related Work • The authorization model[D.C.Vimercati’08,CCS’08]

– Similar model, but assumes rules consistency • Classical distributed query processing

[Kossmann’00] – Access constraints on data not addressed

• Distributed query processing under protections [Cali’08] – Binding patterns, no collaborative parties – Views based authorization[Goldstein’01, Halevy’01] – Conjunctive queries, do not consider rule consistency

• Collaborative access control[Tolone’05] – RBAC, different authorization models

3/19/2013 Collaborative Data Access between Enterprise Clouds 5

Page 6: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

A Running Example • An e-commerce scenario with five parties

3/19/2013 Collaborative Data Access between Enterprise Clouds 6

E (oid, pid, total) C (oid, issue, status)

E-commerce Company Customer Service

S (oid, address, delivery)

Shipping Company W (pid, sid,

location)

Warehouse

oid

oid oid pid

P (sid, sname, factory)

Supplier sid

Authorized Attribute Set Join Path Authorized Party

E (oid, pid, total) W (pid, location) join over pid

• An access rule is a triple[At, Jt, Pt] – E.g., {oid, pid, location}, (E ⨝pid W) -> PS

Page 7: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Example Rule Set Rule No.

Authorized Attribute Set Join Path Party

1 {oid, pid, total} E PE

2 {oid, issue, address} S ⨝oid C PE

3 {oid, pid, total, issue} E ⨝oid C PE

4 {oid, pid, sid, location, total} E ⨝pid W PE

5 {pid, sid, factory} W ⨝sid P PE

3/19/2013 Collaborative Data Access between Enterprise Clouds 7

Example query authorized by rule r2: SELECT oid, issue FROM JOIN(S, C) ON S.oid = C.oid WHERE address = “Pittsburgh”

Supplier

Page 8: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Rule Inconsistency

• Query – SELECT oid, total, issue FROM JOIN(E,C) ON E.oid = C.oid is

allowed but not authorized • Two key questions:

– Discover all possible inconsistencies – Remove inconsistency by adding/removing rules or using

third parties

3/19/2013 Collaborative Data Access between Enterprise Clouds 8

{oid,pid,total,issue} (E ⨝ C)

{oid,pid,total} (E) {oid,issue} (C)

Party S

Inconsistency

Local computation

Page 9: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Consistency Checking

Page 10: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Join Group & Graph – A group of Rules having identical key attributes

– Consistent Join Group (CJG): Closure of join group

• A rule may be part of two distinct CGJ’s – Rules are connected if they can be joined – Creates a join graph involving multiple CJG’s

3/19/2013 Collaborative Data Access between Enterprise Clouds 10

Join group {oid,pid,total} (E) {oid,issue} (C)

{oid,pid,total} (E) {oid,issue} (C)

Consistent Join group

{oid,pid,total,issue} (E ⨝ C)

Sub-join Path Relevant rules

Page 11: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Generating CJG

3/19/2013 Collaborative Data Access between Enterprise Clouds 11

{oid,pid,total} (E)

{oid,issue,address} (S ⨝ C) {oid,pid,total,issue} (E ⨝ C)

R1 {sid,location} (W)

R2

R3

R4 optional

{oid,pid,issue,total,address} (E ⨝ S ⨝ C)

{sid,location} (W) R7

R6

{sid,location} (W) R8

{oid,pid,total} (E)

{oid,issue,address} (S ⨝ C) {oid,pid,total,issue} (E ⨝ C)

R1 {oid,pid,sid,location,total} (E ⨝ W)

R2 R3

R4

Original Join Group of oid

Consistent Join Group of oid

Page 12: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

CJG of oid Rule No. Authorized Attribute Set Join Path Party

1 {oid, pid, total} E PE

2 {oid, issue, address} S ⨝oid C PE

3 {oid, pid, total, issue} E ⨝oid C PE

4 {oid, pid, sid, location, total} E ⨝pid W PE

5 {pid, sid, factory} W ⨝sid P PE

6 {oid, pid, total, issue, address} E ⨝oid S ⨝oid C PE

7 {oid, pid, total, issue, location, sid} C ⨝oid E ⨝pid W PE

8 {oid, pid, total, issue, location, sid, address} S ⨝oid C ⨝oid E ⨝pid W PE

3/19/2013 Collaborative Data Access between Enterprise Clouds 12

Page 13: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Key Attributes Hierarchy oid total pid location sid sname

3 248.23 56 NY 23 Alpha

5 854.21 41 CA 12 Sigma

3/19/2013 Collaborative Data Access between Enterprise Clouds 13

• Join attributes are key attributes of basic relations • Key of a join path is a key attribute of a relation • Key attributes of the relations form hierarchy in a join path

Supplier

E (oid, pid, total) C (oid, issue, status)

E-commerce Company Customer Service

S (oid, address, delivery)

Shipping Company W (pid, sid,

location)

Warehouse

oid

oid oid pid

P (sid, sname, factory)

sid

oid

pid

Hierarchy

sid

Page 14: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Iteration over Key Attributes • Iterate join groups based on key hierarchy • Add generated rules into Target rule set

– Check if the rule includes the key of the next join group – If so, add the generated rules or merge with existing

rules

3/19/2013 Collaborative Data Access between Enterprise Clouds 14

R1

R2

R3

R4

R6

R8

R7 R5: {pid, sid, factory}, (W⨝P)

R1

R2

R3

R4

R6 R8

R7 R9

R10

R11

⨝pid Join Group of oid

Join Group of pid

Consistent Closure

Page 15: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Consistent Rule Closure Rule No.

Authorized Attribute Set Join Path Party

1 {oid, pid, total} E PE

2 {oid, issue, address} S ⨝oid C PE

3 {oid, pid, total, issue} E ⨝oid C PE

4 {oid, pid, sid, location, total} E ⨝pid W PE

5 {pid, sid, factory} W ⨝sid P PE

6 {oid, pid, total, issue, address} E ⨝oid S ⨝oid C PE

7 {oid, pid, total, issue, location, sid} C ⨝oid E ⨝pid W PE

8 {oid, pid, total, issue, location, sid, address} S ⨝oid C ⨝oid E ⨝pid W PE

9 {oid, pid, sid, factory, location, total} E ⨝pid W ⨝sid P PE

10 {oid, pid, total, issue, sid, location, factory} C ⨝oid E ⨝pid W ⨝sid P PE

11 {oid, pid, total, issue, location, sid, factory, address}

S ⨝oid C ⨝oid E ⨝pid W ⨝sid P

PE

3/19/2013 Collaborative Data Access between Enterprise Clouds 15

Page 16: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Closure Graph

3/19/2013 Collaborative Data Access between Enterprise Clouds 16

{oid,pid,total} (E)

{oid,pid,sid,total, location} (E ⨝ W)

{oid,pid,total, issue} (E ⨝ C)

{oid,address issue} (S ⨝ C)

{pid,factory, sid}(W ⨝ P)

{oid,issue,pid,total, sid,location} (C⨝E⨝W)

{oid,pid,sid,total,location,factory} (E⨝W⨝P)

{oid,issue,pid,location,total,sid,address} (S⨝C⨝E⨝W)

{oid,issue,pid,total,sid,location,factory} (C⨝E⨝W⨝P)

{oid,issue,pid,location,total,sid,address,factory} (S⨝C⨝E⨝W⨝P)

R1

R2 R3 R4 R5

R7

R8

R9

R10

R11

{oid,issue,pid,total, address} (S⨝E⨝C) R6

So, for consistency, we need to add several new rules. Is that desirable?

Page 17: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Respecting Inconsistency

• Is access to E ⨝ C okay? – Yes: The party already has access to both E & C – No: Association between E & C is more sensitive than

either.

• Potential resolution – Limit #tuples for queries Limited leakage of E ⨝ C – Queries involving C or E ⨝ C executed via a 3rd party

3/19/2013 Collaborative Data Access between Enterprise Clouds 17

{oid,pid,total,issue} (E ⨝ C)

{oid,pid,total} (E) {oid,issue} (C)

Party S

Local computation

Page 18: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Enforceability Checking

Page 19: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Rule Enforceability • A given authorization rule is not necessarily

enforceable

• No access to C Cannot do join – Queries involving E ⨝ C are authorized but cannot be

answered • Different from consistency

19

{oid,pid,total,issue} (E ⨝ C)

{oid,pid,total} (E) {oid,issue} (C)

Party E Local computation

3/19/2013 Collaborative Data Access between Enterprise Clouds

Page 20: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Rule Enforcement checking

• Recursion wrt join path length (JPL) – JPL=1 Rules always enforceable – At step JPL=n

• Path enforcement: Can we generate the desired join path? E.g., (E ⨝ C)

• Attribute enforcement: Can we provide access to the desired attributes? E.g., {oid, pid}, (E ⨝ C)

• Cooperative enforcement – May need to transmit parts of relations to a party

that has access but doesn’t own it.

3/19/2013 Collaborative Data Access between Enterprise Clouds 20

Page 21: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Cooperative Enforcement

• Steps – C can access {oid, pid}(E), but needs its

transmission from E – Generates {oid,pid,issue} (E ⨝ C), and sent to E to

generate the desired data

3/19/2013 Collaborative Data Access between Enterprise Clouds 21

{oid, pid, total}, (E) {oid, pid}, (E) {oid, issue, status}, (C)

{oid, pid, issue, status}, (E ⨝ C)

{oid, pid, total, issue}, (E ⨝ C)

Party E

Party C

{oid, pid}

{oid, pid, issue}

{oid, total} {oid, pid} {oid, issue, status}

{oid, pid,total,issue,address }, (S ⨝ E ⨝ C)

Join Path Enforceable

21

Page 22: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

{oid,pid,location} (E ⨝ W)

{pid,location} (W) {oid, pid}

(E)

{oid,pid,total} (E)

{oid,pid,total,issue} (E ⨝ C)

{oid,pid,issue, total,address} (S ⨝ E ⨝ C)

{oid,pid,location, total,address} (S ⨝ E ⨝ W)

{oid,pid,total, address,delivery}

(S ⨝ E ⨝ W)

{oid,pid,total, address, delivery} (E ⨝ S)

{oid, pid,total

} (E ⨝ W)

{oid,address, delivery}

(S)

{oid, pid, total} (E)

Party E Party S Party W

Illustration with example • Start bottom up at each party • Collaborative enforcement as needed

3/19/2013 Collaborative Data Access between Enterprise Clouds 22

Page 23: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Enforceability Check Outcomes

• Case 1: Totally enforceable – All rules can be enforced by existing parties

• Case 2: Partially enforceable – Can do all joins, but some attributes unavailable – Remedy: Change rules to grant more attributes

• Case 3: Unenforceable – Can’t even do certain joins. – Remedy 1: Enforcement via trusted third party – Remedy 2: Suggest addition of new rules may be

undesirable. 23 3/19/2013 Collaborative Data Access between Enterprise Clouds

Page 24: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Adding Attributes for Full Enforceability

• Add at the top and do top-down breadth first search • Objective: Minimal number of parties affected

24 3/19/2013 Collaborative Data Access between Enterprise Clouds

Page 25: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Enforcement via third parties

• Can always do it, but … – Overhead of sending information – Latency/expense of third party computation – Potential exposure of data to the third party

• Minimal involvement of third party 3/19/2013 Collaborative Data Access between Enterprise Clouds 25

{oid,pid,total,issue} (E ⨝ C)

{oid,pid,total} (E) {oid,issue} (C)

Party E Party C

Trusted Third Party

Page 26: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Minimizing Communication costs

• Communication cost – The cost of transferring data to third party

• Cost minimization is NP-hard – Set covering problem in its simplest form

3/19/2013 Collaborative Data Access between Enterprise Clouds 26

{oid,pid,total,issue,address} (E ⨝ C ⨝ S)

{oid,pid,total,issue} (E ⨝ C )

{oid,issue, Status} (C)

Party E Party C

Trusted Third Party

{oid,pid,total} (E)

{oid,address, delivery} (S)

Party S

{oid,pid,address} (E ⨝ S)

Party W

Top level relevant rule

Page 27: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Minimizing Computation Costs • Computation cost

– Join costs primarily (w/ or w/o index) • Minimization problem is NP-hard

• Greedy algorithm to find solutions

– Select the rule with minimal relative cost (MRC) – MRC: Cost of selecting the rule / No. of attributes

being covered – The greedy algorithm is a 2-approximation

• Works extremely well – max difference 5%, mostly identical results

3/19/2013 Collaborative Data Access between Enterprise Clouds 27

Page 28: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Evaluation – Accuracy • Results with different join schemas

3/19/2013 Collaborative Data Access between Enterprise Clouds 28

Page 29: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Evaluation – Accuracy • Results with different join path lengths

3/19/2013 Collaborative Data Access between Enterprise Clouds 29

Page 30: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Evaluations – Performance

3/19/2013 Collaborative Data Access between Enterprise Clouds 30

• Function of # top level relevant rules • Need greedy for >20 top level relevant rules

Page 31: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Query Planning

Page 32: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

What’s New? • Classical distributed query planning does not

consider access restrictions

3/19/2013 Collaborative Data Access between Enterprise Clouds 32

{oid, pid,total}, (E) {oid, status}, (C)

{oid, pid, total, status}, (E ⨝ C) Desired result at party C

Query tree w/o considering access restrictions

Incorrect because C does not have access to “total”

Party C

Party C Party C

Rule No. Authorized Attribute Set Join Path Party

1 {oid, pid, total} E PE

2 {oid, pid, total, issue} E ⨝oid C PE

3 {oid, pid} E PC

4 {oid, issue, status} C PC

5 {oid, pid, total, status} E ⨝oid C PC

Page 33: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Actual Query Plan is Quite Complex

3/19/2013 Collaborative Data Access between Enterprise Clouds 33

{oid, pid, total}, (E) {oid, pid}, (E) {oid, issue, status}, (C)

{oid, pid, total, status}, (E ⨝ C)

Party E

Party C

{oid} , (E)

{oid} {oid, status}

{oid, pid, total}, (E) {oid, pid}, (E) {oid, issue, status}, (C)

{oid, pid, total, status}, (E ⨝ C) {oid, pid, total, issue}, (E ⨝ C)

Party E

Party C

{oid}, (E ⨝ C) {oid, total}

{oid,pid,total}, (E ⨝ C)

Page 34: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Difficulty of query planning

• Query optimization is NP-complete • Additional Complexity

– Need to consider all possible ways of obtaining the join path

– Need to consider all possible ways of covering the desired set of attributes.

• Have an algorithm to generate a “good” query plan, not optimal – Properties wrt optimal not known

3/19/2013 Collaborative Data Access between Enterprise Clouds 34

Page 35: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Proposed approach

• Record the optimal way of enforcing a join path when doing the rule enforcement checking

• Decompose the missing attributes to relevant rules on cooperative parties – Get attributes from basic relations by semi-joins – Decompose to fewest rules – Add corresponding operations to the query plan

3/19/2013 Collaborative Data Access between Enterprise Clouds 35

Page 36: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Illustration with example • Join path enforcement plan • Retrieving missing attributes

3/19/2013 Collaborative Data Access between Enterprise Clouds 36

{oid,pid,location} (E ⨝ W)

{pid,location} (W)

{oid, pid} (E)

{oid,pid,total} (E)

{oid,pid,location, total,address} (S ⨝ E ⨝ W)

{oid,pid,total,location address,delivery}

(S ⨝ E ⨝ W)

{oid,pid, address, delivery} (E ⨝ S)

{oid,pid, location} (E ⨝ W)

{oid,address, delivery}

(S)

{oid, pid} (E)

Party E Party S Party W

Page 37: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Join path enforcement plan

• The plan enforces most attributes but has a missing attribute “total”

3/19/2013 Collaborative Data Access between Enterprise Clouds 37

{oid,pid,location} (E ⨝ W)

{pid,location} (W)

{oid, pid} (E)

{oid,pid,total} (E)

{oid,pid,total,location address,delivery}

(S ⨝ E ⨝ W)

{oid,pid, location} (E ⨝ W)

{oid,address, delivery}

(S)

Party E Party S Party W

Page 38: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Retrieving missing attributes • Party E and S has the rules on the equivalent join paths • A semi-join can enforce the missing attribute “total”

3/19/2013 Collaborative Data Access between Enterprise Clouds 38

{oid,pid,total} (E)

{oid,pid,location, total,address} (S ⨝ E ⨝ W)

{oid,pid,total,location address,delivery}

(S ⨝ E ⨝ W)

Party E Party S

{oid} (S ⨝ E ⨝ W)

{oid,total} (E)

{oid,total} (S ⨝ E ⨝ W)

Page 39: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Rule Modification

Page 40: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Rule Modification • Need for Changes

– Evolving business needs Occasional change – A distinct set of rules for each mission/workflow – Changes based on reciprocal actions of parties

• Issues to consider – Efficient change evaluation for consistency &

enforceability – Treatment of ongoing queries: do they see change?

• Types of Changes – Cases 1 & 2: Addition/removal of attributes – Cases 3 & 4: Addition/removal of rules

3/19/2013 Collaborative Data Access between Enterprise Clouds 40

Page 41: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Case 1: Grant New Attributes • Bottom up propagation of new attr. to higher level rules • Example: Add “delivery” attribute

3/19/2013 Collaborative Data Access between Enterprise Clouds 41

{oid,pid,total} (E)

{oid,pid,sid,total, location} (E ⨝ W)

{oid,pid,total, issue} (E ⨝ C)

{oid,address issue} (S ⨝ C)

{pid,factory, sid}(W ⨝ P)

{oid,issue,pid,total, sid,location} (C⨝E⨝W)

{oid,pid,sid,total,location,factory} (E⨝W⨝P)

{oid,issue,pid,location,total,sid,address} (S⨝C⨝E⨝W)

{oid,issue,pid,total,sid,location,factory} (C⨝E⨝W⨝P)

{oid,issue,pid,location,total,sid,address,factory} (S⨝C⨝E⨝W⨝P)

R1

R2 R3 R4 R5

R7

R8

R9

R10

R11

{oid,issue,pid,total, address} (S⨝E⨝C) R6

delivery

delivery

delivery

delivery

Page 42: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Case 2: Revocation of Attributes • May cause inconsistency

– Search downwards on relevant rules, revoke such attributes

3/19/2013 Collaborative Data Access between Enterprise Clouds 42

{oid,pid,total} (E)

{oid,pid,sid,total, location} (E ⨝ W)

{oid,pid,total, issue} (E ⨝ C)

{oid,address issue} (S ⨝ C)

{pid,factory, sid}(W ⨝ P)

{oid,issue,pid,total, sid,location} (C⨝E⨝W)

{oid,pid,sid,total,location,factory}(E⨝W⨝P)

{oid,issue,pid,location,total,sid,address} (S⨝C⨝E⨝W)

{oid,issue,pid,total,sid,location, factory} (C⨝E⨝W⨝P)

{oid,issue,pid,location,total,sid,address,factory} (S⨝C⨝E⨝W⨝P)

R1

R2 R3 R4 R5

R6 R7

R8

R9

R10

R11

{oid,issue,pid,total, address} (S⨝E⨝C)

Page 43: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Case 3: Adding New Rule

• A rule with a new join path is added – Update CJG for the key attribute of the new rule

• Consider joins with existing rules

– Compose with other join groups systematically

3/19/2013 Collaborative Data Access between Enterprise Clouds 43

Rule No. Authorized Attribute Set Join Path Party

12 {oid, pid, total, address} E ⨝oid S PE

Page 44: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Recompute CJG

3/19/2013 Collaborative Data Access between Enterprise Clouds 44

R2

Rule No. Authorized Attribute Set Join Path Party

13 {oid, pid, total, address, sid, location} S ⨝oid E ⨝pid W PE

{oid,pid,total} (E)

{oid,issue,address} (S ⨝ C) {oid,pid,total,issue} (E ⨝ C)

R1 {sid,location} (W)

R3

R4 optional

{oid,pid,issue,total,address} (E ⨝ S ⨝ C)

{sid,location} (W) R7

R6

{sid,location} (W) R8

{oid,pid,total, address} (E ⨝ S)

R12

R12 R2 ⨝ R6 R12 R3 ⨝ R6

R12 R4 ⨝ R13

{sid,location} (W) R13

Page 45: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Compose with other Join Groups

• {oid} is top level in the key hierarchy, no need to further check with existing rules

3/19/2013 Collaborative Data Access between Enterprise Clouds 45

Rule No. Authorized Attribute Set Join Path Party

12 {oid, pid, total, address} E ⨝oid S PE

13 {oid, pid, total, address, sid, location} S ⨝oid E ⨝pid W PE

Consistent Join group of pid

{pid, sid, factory}, (W⨝P)

R5

R12

R14

R13 ⨝

14 {oid, pid, total, address, sid, location, factory} S ⨝oid E ⨝pid W ⨝sid P

PE

Page 46: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Case 4: Rule Revocation • Simply removing the rule is inadequate since the rule

may be composable from others • Search the graph & remove rules from each possible join

pair • Fix up: Revoke related rules that are added in

consistency checking process • Split possible join pairs

– Find relevant rules – Search rule pairs that can recover the join path

• Matching join path • Top-down search

– Revoke one rule from each found pairs • Rules with most appearances are preferred • Rules have fewer connections with others are preferred

3/19/2013 Collaborative Data Access between Enterprise Clouds 46

Page 47: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Step 1: Remove Join Paths

3/19/2013 Collaborative Data Access between Enterprise Clouds 47

{oid,pid,total} (E)

{oid,pid,sid,total, location} (E ⨝ W)

{oid,pid,total, issue} (E ⨝ C)

{oid,address issue} (S ⨝ C)

{pid,factory, sid}(W ⨝ P)

{oid,issue,pid,total, sid,location} (C⨝E⨝W)

{oid,pid,sid,total,location,factory} (E⨝W⨝P)

{oid,issue,pid,location,total,sid,address} (S⨝C⨝E⨝W)

{oid,issue,pid,total,sid,location,factory} (C⨝E⨝W⨝P)

{oid,issue,pid,location,total,sid,address,factory} (S⨝C⨝E⨝W⨝P)

R1

R2 R3 R4 R5

R8

R9

R10

R11

R6 {oid,issue,pid,total, address} (S⨝E⨝C) R7

W ⨝ P

P C

E ⨝ C

Page 48: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Step 2: Fix Up the Graph

3/19/2013 Collaborative Data Access between Enterprise Clouds 48

{oid,pid,total} (E)

{oid,pid,sid,total, location} (E ⨝ W)

{oid,pid,total, issue} (E ⨝ C)

{oid,address issue} (S ⨝ C)

{pid,factory, sid}(W ⨝ P)

{oid,issue,pid,total, sid,location} (C⨝E⨝W)

{oid,pid,sid,total,location,factory}(E⨝W⨝P)

{oid,issue,pid,location,total,sid,address} (S⨝C⨝E⨝W)

{oid,issue,pid,total,sid,location,factory} (C⨝E⨝W⨝P)

{oid,issue,pid,location,total,sid,address,factory} (S⨝C⨝E⨝W⨝P)

R1

R2 R3 R4 R5

R7

R8

R9

R10

R11

{oid,issue,pid,total, address} (S⨝E⨝C)

R6

Page 49: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Other Issues

• Untrusted Cloud Provider – Cooperative verification of results returned by a

query. • Exploit multiple ways of executing queries • Collaborative water-marking, etc.

– Queries over encrypted data

• Rules with limited forms of selection • Lack of trust between parties

– Verification of results

3/19/2013 Collaborative Data Access between Enterprise Clouds 49

Page 50: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

Thank you!

3/19/2013 Collaborative Data Access between Enterprise Clouds 50

Page 51: Collaborative Data Access between Enterprise Clouds*csis.gmu.edu/albanese/events/march-2013-cloud-security... · 2013. 3. 19. · Collaborative Data Access between Enterprise Clouds*

References • [D.C.Vimercati’08] S. De Capitani di Vimercati, S. Foresti, S. Jajodia, S. Paraboschi, and P. Samarati.

Controlled information sharing in collaborative distributed query processing. In ICDCS 2008, Beijing, China, June 2008.

• [CCS’08] S. De Capitani di Vimercati, S. Foresti, S. Jajodia, S. Paraboschi, and P. Samarati. Assessing query privileges via safe and efficient permission composition. In CCS 2008, Virginia, USA, October 27-31, 2008.

• [Kossmann’00] D. Kossmann. The state of the art in distributed query processing. ACM Comput. Survey, 32(4):422–469, 2000.

• [Cali’08] A. Cali and D. Martinenghi. Querying data under access limitations. In ICDE 2008, April 7-12, 2008, Cancun, Mexico, pages 50–59, 2008.

• [Goldstein’01] J. Goldstein and P. Larson. Optimizing queries using materialized views: A practical, scalable solution. In SIGMOD 2001, pages 331–342.

• [Halevy’01] A. Y. Halevy. Answering queries using views: A survey. VLDB Journal, 10(4):270–294, 2001. • [Tolone’05] Tolone, Ahn, Pai, and Hong. Access control in collaborative systems. CSURV: Computing

Surveys, 37, 2005. • [Le1’12] M. Le, K. Kant and S. Jajodia, "Consistent Query Plan Generation in Secure Cooperative Data

Access", Proc. of SafeConfig 2012, Baltimore, MD, Oct 3-4, 2012. • [Le2’12] M. Le, K. Kant and S. Jajodia, "Access Rule Consistency in Cooperative Data Access

Environment”, Proc. of CollaborateCom conference, Oct 15-17, 2012, Pittsburgh, PA. An extended version to appear in Elsevier Computers & Security Journal. 3/19/2013 Collaborative Data Access between Enterprise Clouds 51