conformance verification of privacy policies

23
Conformance Verification of Privacy Policies Xiang Fu Assistant Professor Department of Computer Science Hofstra University

Upload: edana

Post on 25-Feb-2016

41 views

Category:

Documents


5 download

DESCRIPTION

Conformance Verification of Privacy Policies. Xiang Fu Assistant Professor Department of Computer Science Hofstra University. Outline. Motivation PV Framework Privacy Properties in Temporal Logic Verification using Alloy Conclusion. Introduction. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Conformance Verification of Privacy Policies

Conformance Verification of Privacy PoliciesXiang Fu

Assistant ProfessorDepartment of Computer ScienceHofstra University

Page 2: Conformance Verification of Privacy Policies

Outline•Motivation•PV Framework•Privacy Properties in Temporal Logic•Verification using Alloy•Conclusion

Page 3: Conformance Verification of Privacy Policies

Introduction

Page 4: Conformance Verification of Privacy Policies

Web App: Consumer and Producerof INFORMATION

Web AppSSNCredit CardMedical RecordAddressShopping Preference

Online Marketin

gEmail

Identity Collection

SSN

BusinessPartners

Shopping Habits

Page 5: Conformance Verification of Privacy Policies

Privacy Verification Problem

Web App

Your SSN never be forwarde

d

CC destroyed

after transaction

Function as PROMISED?

Page 6: Conformance Verification of Privacy Policies

ChallengesBusiness

Procedures

DB Ops

Servlets

Servlets

P3P Privacy Policy

Model Checker

Page 7: Conformance Verification of Privacy Policies

PV Framework•Privacy Verification Framework

1. Servlet Control/Data Flow

2. Information Flow

3. Data Operations

Page 8: Conformance Verification of Privacy Policies

Data Model

•Entity

•Data Item

OperatorServletDatabaseBusiness OrganizationStakeholder

Atomic Real-Being

Countable Set

CC CardSSNMed RecordTransaction IDName

Primitive Type System

Flattened Model

Page 9: Conformance Verification of Privacy Policies

Example: Bookstore AppEntities

Page 10: Conformance Verification of Privacy Policies

Example: Bookstore AppData Types

Page 11: Conformance Verification of Privacy Policies

Actions•Know(e, d)

entity data

At any moment for any e and d, Know(e,d) is defined

Action: transition system expressed using first order on Know predicates

Page 12: Conformance Verification of Privacy Policies

Example: Charge Credit Card CCcc

)(know' )(know' Bank,ccDB,cc

Free var, input variable

)(know' )(know' : },{ x,dx,dDdBANKDBx

All entities All data

)know( )(know' )know( )(know' :}{

Bank,dBank,dDB,dDB,dccDd

Page 13: Conformance Verification of Privacy Policies

Modeling Privacy Policy•Typical Examples: P3P and EPAL•Defines:

▫(1) What to protect?▫(2) Who can receive it?▫(3) How long?

Page 14: Conformance Verification of Privacy Policies

P3P Example

Page 15: Conformance Verification of Privacy Policies

Temporal Logic for P3P•CTL-FO = CTL + First Order Quantifiers

Credit Card Info Regularly Purged from DB & is not leaked

)),know(:AF( )),know(AG( :CC dxExdDBd

for any credit card for any entities

Page 16: Conformance Verification of Privacy Policies

Verification•(1) Translate from PV to Alloy•(2) Translate CTL-FO to Alloy

Predicates•(3) Verification using Alloy

Page 17: Conformance Verification of Privacy Policies

Modeling World Schemamodule bookstore

//1. world schemaabstract sig Object {}abstract sig WA, Env, Data extends Object {}abstract sig Actions, Entities extends WA {}…

Web App.Set of All Data Items

Servlets

Page 18: Conformance Verification of Privacy Policies

Modeling System State•Model the transition relation

sig State{ know: (WA + Env) -> Data, prev: one State, actstate: Actions -> actionStatus}{ all x: Actions | some status: actionStatus |

x -> status in actstate}

Page 19: Conformance Verification of Privacy Policies

Modeling Actionpred pChargeCC[s,s’: State, d:CC]{ChargeCC->READY in s.actstate and

(s’.know = s.know + {DB->d} +

{Bank->d} &&s’.prev=s &&s’.actstate = s.actstate - ..

)}

Page 20: Conformance Verification of Privacy Policies

Modeling CTL-FO Formula

pred ef[s:State, d:Data]{some s’: State | (CEO->d in s’.know)&& s in s’.*prev

}

pred fa[s:State]{all d: Data | (DB->d in s.know) => ef[s,d]

}

assert AGProperty{all s: State | fa[s]

}

Page 21: Conformance Verification of Privacy Policies

Initial Experiments

State Clauses Constr. Time (ms)

Solver Time (ms)

5 431k 2203 78110 1928k 7984 626615 4504k 18782 4082820 - - -

20 Objects

Page 22: Conformance Verification of Privacy Policies

Conclusion•PV Framework for Reasoning about

Privacy•Verification Paradigm using Alloy•Problems …

Page 23: Conformance Verification of Privacy Policies

Future Directions•(1) Static Program Analysis •Path Transducer Model (Servlet)• Information Flow (Business Rules,

Access Right Policies)

•(2) Customized Relational Constraint Solvers