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

Conformance Verification of Privacy Policies

Feb 25, 2016

Download

Documents

edana

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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