Access control for data integration in presence of data dependencies
Mehdi Haddad, Mohand-Saïd Hacid
1
Access control for data integration in presence of data dependencies - - PowerPoint PPT Presentation
Access control for data integration in presence of data dependencies Mehdi Haddad, Mohand-Sad Hacid 1 Outline Introduction Motivating example Related work Approach Detection phase (Re)configuration phase Conclusion
1
2
3
Business Intelligence
4
Data Warehousing System Reporting UI
Privacy Policy Enforcement Point Data Sources Mediator Data Consumers
5
[1] Csilla Farkas, Sushil Jajodia: The Inference Problem: A Survey. SIGKDD Explorations 4(2): 6-11 (2002)
6
7
Sources S1(SSN, Diagnosis, Doctor). S2(SSN, AdmissionDate). S3(SSN, Service). Authorization policy at S1 Nurses are prohibited from accessing the association of SSN and Diagnosis. Authorization rule (SSN, Diagnosis) :- S1(SSN, Diagnosis, Doctor), role = nurse.
8
Mediator M(SSN, Diagnosis, Doctor, AdmissionDate, Service) :- S1(SSN, Diagnosis, Doctor) , S2(SSN, AdmissionDate), S3(SSN, Service). Functional dependencies FD1 : AdmissionDate, Service ⟶ SSN FD2 : AdmissionDate, Doctor⟶ Diagnosis Authorization policy at the mediator (Propagation) Nurses are prohibited from accessing the association of SSN and Diagnosis. Authorization rule (SSN, Diagnosis) :- M(SSN, Diagnosis, Doctor, AdmissionDate, Service), role = nurse.
9
Q1 (SSN, AdmissionDate, Service). Q2(Diagnosis, AdmissionDate ,Service).
advantage of FD1, a malicious user will obtain SSN and diagnosis, thus will violate the authorization policy
Q2(Diagnosis, AdmissionDate ,Service).
10
11
could appear.
decision about the current query.
12
13
[2] Tzong-An Su, Gultekin Özsoyoglu: Data Dependencies and Inference Control in Multilevel Relational Database Systems. IEEE Symposium on Security and Privacy 1987: 202-211
14
[3] MB Thuraisingham. Security checking in relational database management systems augmented with inference engines. Computers & Security, 6(6):479-492, 1987
15
– Each virtual relation of the mediator is constructed by a conjunctive query over the sources’ relations. – e.g., M (SSN, Diagnosis, Doctor, AdmissionDate, Service) :- S1(SSN, Diagnosis, Doctor) , S2(SSN, AdmissionDate), S3(SSN, Service).
– e.g., (SSN, Diagnosis) :- S1(SSN, Diagnosis, Doctor), role = nurse.
16
17
(Re)configuration phase
Functional dependencies Mediator policy Mediator schema
{Q1, Q3, Q4} {Q1, Q5} {Q2, Q3, Q5} {Q2, Q4} {Q3, Q4, Q5}
Detection phase
Transition graph construction Transactions generation P = P ⋃ {p(Q4), p(Q5)} Policy modification Query tracking {Q1, Q3, Q4} {Q1, Q5} {Q2, Q3, Q5} {Q2, Q4}
18
19
20
Functional dependencies FD1 : AdmissionDate, Service ⟶ SSN FD2 : AdmissionDate, Doctor ⟶ Diagnosis (SSN, Diagnosis)
21
Functional dependencies FD1 : AdmissionDate, Service ⟶ SSN FD2 : AdmissionDate, Doctor ⟶ Diagnosis (SSN, Diagnosis) Q1 (AdmissionDate, Service, Diagnosis) FD1
22
Functional dependencies FD1 : AdmissionDate, Service ⟶ SSN FD2 : AdmissionDate, Doctor ⟶ Diagnosis (SSN, Diagnosis) Q1(AdmissionDate, Service, Diagnosis) Q2 (SSN, AdmissionDate, Doctor) FD1 FD2
23
Functional dependencies FD1 : AdmissionDate, Service ⟶ SSN FD2 : AdmissionDate, Doctor ⟶ Diagnosis (SSN, Diagnosis) Q1 (AdmissionDate, Service, Diagnosis) Q2(SSN, AdmissionDate, Doctor) Q3 (AdmissionDate, Service, Doctor) FD1 FD2 FD2
24
Functional dependencies FD1 : AdmissionDate, Service ⟶ SSN FD2 : AdmissionDate, Doctor ⟶ Diagnosis (SSN, Diagnosis) Q1(AdmissionDate, Service, Diagnosis) Q2(SSN, AdmissionDate, Doctor) Q3(AdmissionDate, Service, Doctor) FD1 FD1 FD2 FD2
25
𝒐
26
(SSN, Diagnosis) Q1(AdmissionDate, Service, Diagnosis) Q2 (SSN, AdmissionDate, Doctor) Q3 (AdmissionDate, Service, Doctor) FD1 FD1 FD2 FD2
27
(SSN, Diagnosis) Q1(AdmissionDate, Service, Diagnosis) Q2 (SSN, AdmissionDate, Doctor) Q3 (AdmissionDate, Service, Doctor) FD1 FD1 FD2 FD2
Correspond to the query FDQ1: (AdmissionDate, Service, SSN)
Transactions T1 ={FDQ1, Q1}
28
(SSN, Diagnosis) Q1(AdmissionDate, Service, Diagnosis) Q2 (SSN, AdmissionDate, Doctor) Q3 (AdmissionDate, Service, Doctor) FD1 FD1 FD2 FD2 Transactions T1 ={FDQ1, Q1} T2 ={FDQ2, Q2}
29
(SSN, Diagnosis) Q1(AdmissionDate, Service, Diagnosis) Q2 (SSN, AdmissionDate, Doctor) Q3 (AdmissionDate, Service, Doctor) FD1 FD1 FD2 FD2 Transactions T1 ={FDQ1, Q1} T2 ={FDQ2, Q2} T3 ={FDQ1, FDQ2, Q3}
30
31
T1={Q1, Q2, Q3} T2={Q3, Q4} T3={Q5, Q6} T4={Q7, Q6}
32
T1={Q1
1, Q1 2, … Q1 n1}
T2={Q2
1, Q2 2, … Q2 n2}
… Tn={Qn
1, Qn 2, … Qn nn}
33
34
35
1, Qu 2, Qu 3, Qu 4} be a sequence of
36
Relationship between Qi and Qu
i
Q1 ⊆ Qu
1
Q2 ⊆ Qu
2
Q3 ⊆ Qu
4
37
User’s queries Transaction Evaluation Qu
1
T ={Q1, Q2, Q3} Qu
1 is accepted
Relationship between Qi and Qu
i
Q1 ⊆ Qu
1
Q2 ⊆ Qu
2
Q3 ⊆ Qu
4
38
User’s queries Transaction Evaluation Qu
1
T ={Q1, Q2, Q3} Qu
1 is accepted
Qu
2
T ={Q1, Q2, Q3} Qu
2 is accepted
Relationship between Qi and Qu
i
Q1 ⊆ Qu
1
Q2 ⊆ Qu
2
Q3 ⊆ Qu
4
39
User’s queries Transaction Evaluation Qu
1
T ={Q1, Q2, Q3} Qu
1 is accepted
Qu
2
T ={Q1, Q2, Q3} Qu
2 is accepted
Qu
3
T ={Q1, Q2, Q3} Qu
3 is accepted
Relationship between Qi and Qu
i
Q1 ⊆ Qu
1
Q2 ⊆ Qu
2
Q3 ⊆ Qu
4
40
User’s queries Transaction Evaluation Qu
1
T ={Q1, Q2, Q3} Qu
1 is accepted
Qu
2
T ={Q1, Q2, Q3} Qu
2 is accepted
Qu
3
T ={Q1, Q2, Q3} Qu
3 is accepted
Qu
4
T ={Q1, Q2, Q3} Qu
4 is denied
Relationship between Qi and Qu
i
Q1 ⊆ Qu
1
Q2 ⊆ Qu
2
Q3 ⊆ Qu
4
41
Relationship between Qi and Qu
i
Q1 ⊆ Qu
1
Q2 ⊆ Qu
2
Q3 ⊆Qu
1 ⋈ Qu 2 ⋈ Qu 3
Q3 ⊆ Qu
4
42
User’s queries Transaction Evaluation Qu
1
T ={Q1, Q2, Q3} Qu
1 is accepted
Relationship between Qi and Qu
i
Q1 ⊆ Qu
1
Q2 ⊆ Qu
2
Q3 ⊆Qu
1 ⋈ Qu 2 ⋈ Qu 3
Q3 ⊆ Qu
4
43
User’s queries Transaction Evaluation Qu
1
T ={Q1, Q2, Q3} Qu
1 is accepted
Qu
2
T ={Q1, Q2, Q3} Qu
2 is accepted
Relationship between Qi and Qu
i
Q1 ⊆ Qu
1
Q2 ⊆ Qu
2
Q3 ⊆Qu
1 ⋈ Qu 2 ⋈ Qu 3
Q3 ⊆ Qu
4
44
User’s queries Transaction Evaluation Qu
1
T ={Q1, Q2, Q3} Qu
1 is accepted
Qu
2
T ={Q1, Q2, Q3} Qu
2 is accepted
Qu
3
T ={Q1, Q2, Q3} Qu
3 is denied
Relationship between Qi and Qu
i
Q1 ⊆ Qu
1
Q2 ⊆ Qu
2
Q3 ⊆Qu
1 ⋈ Qu 2 ⋈ Qu 3
Q3 ⊆ Qu
4
45
User’s queries Transaction Evaluation Qu
1
T ={Q1, Q2, Q3} Qu
1 is accepted
Qu
2
T ={Q1, Q2, Q3} Qu
2 is accepted
Qu
3
T ={Q1, Q2, Q3} Qu
3 is denied
Qu
4
T ={Q1, Q2, Q3} Qu
1 is denied
Relationship between Qi and Qu
i
Q1 ⊆ Qu
1
Q2 ⊆ Qu
2
Q3 ⊆Qu
1 ⋈ Qu 2 ⋈ Qu 3
Q3 ⊆ Qu
4
46
47
48
49
50
51
52
53