designing a publish subscribe substrate for privacy/security in pervasive environments lukasz...

25
Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University of Michigan Ann Arbor, MI Amit Agrawal Indian Institute of Technology New Delhi, India

Upload: milo-terence-dickerson

Post on 04-Jan-2016

217 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments

Lukasz OpyrchalMiami UniversityOxford, OH

Atul PrakashUniversity of MichiganAnn Arbor, MI

Amit AgrawalIndian Institute of TechnologyNew Delhi, India

Page 2: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Introduction

Emerging pervasive applications RFID tags and other sensors

Tracking objects, people, etc. Cell phones

Location-based services

Privacy concerns People do not wish to have their

movements available to everyone1

1 R. J. Harper, 1995

Page 3: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Privacy

The ability of an individual to control the terms for acquisition and usage of their personal information

How to build applications and services while providing means to users to have control over the conditions of distribution of their data

Page 4: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Policies we are interested in

Environment-dependent sharing Share info at certain times, Share info in certain locations, Share info during special events, etc.

Privacy-protected access to services Location-based notification Without revealing ones location

Page 5: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Rest of presentation

Content-based publish subscribePolicy modelPrototype publish subscribe system

Location tracking application

Page 6: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Publish Subscribe Systems

subscriber

subscriber

subscriber

subscriber

subscriber

publisher

publisher

subscriber

subscriber

brokers

Page 7: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Content-Based Publish Subscribe

SIENA, Elvin, Hermes IBM: Gryphon Microsoft: Herald

Publishers

Subscribers

[Issue = "IBM", Price > 100]

[Issue = *, Vol >= 1000]

[Issue = "IBM", Price*Vol >= 1M]

Event Schema:

[Issue,Price,Vol]

Only rudimentary security solutions exist

Page 8: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Policy Dimensions

Authorization/Authentication existing solutions (Kerberos, certificates, etc.)

Access Control conditions under which an action can be

performed historically – coarse-grained

Data Security security guarantees (confidentiality, integrity,

sender authenticity, etc.)

Granularity of Security Guarantees explained later

Page 9: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Entities

Administrators “high level” control over applications

Owners can authorize other entities to perform

actions

PublishersSubscribers users, application, services (event filters)

Event Delivery System broker network

Page 10: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Entities

Application application administrator consists of multiple event types LOC_APP application:

LOC_INFO and LOC_SERVICE event types

Event type describes event schema

Owner can authorize others to subscribe, receive

and modify policy for its events one or more owners per event type

Page 11: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Policy Language

Based on KeyNote [RFC 2704]Fields: Authorizer Licensees Conditions Signature

Page 12: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Sample Rules

Authorizer: “POLICY”Licensees: adminConditions: (app_domain == “LOC_APP”)

-> “true”;

Authorizer: adminLicensees: joeConditions: (app_domain == “LOC_APP”)&&

(evtType == “LOC_INFO”) &&(user == “joe”) &&(owner == “joe”)

-> “true”;

Page 13: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Access Control

Actions authenticate advertise publish subscribe receive change policy

Page 14: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Restricting Delegations

Authorizer: adminLicensee: joeConditions: (app_domain == “LOC_APP”) && (evtType == “LOC_INFO”) &&

((action == “SUBSCRIBE”) || (action == “RECEIVE”) || (action == “CHANGE_POLICY”)) && (owner == “joe”) -> “true”;

Authorizer: joeLicensee: aliceConditions: (app_domain == “LOC_APP”) && (evtType == “LOC_INFO”) &&

((action == “SUBSCRIBE”) || (action == “RECEIVE”)) &&(owner == “joe”) -> “true”;

• admin delegates ownership rights to joe

• joe delegates only “SUBSCRIBE” and “RECEIVE” rights to alice

Page 15: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Advertisements

ApplicationEvent typeAttribute namesOwnerAccess controlData securityGranularity

Application: STOCK_APP Event type: STOCK_QUOTE Attributes: exchange:string issue:string price:integer volume:integer Owner: * Access control: receive-subscribe Security: confidentiality, integrity Granularity: matching_set

Page 16: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Access Control

No-controlSubscribe-time Only check subscription requests

Receive-time Check before events are delivered

Receive-Subscribe-time

Page 17: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Granularity of Security Guarantees

System granularity confidentiality required no access control protect from system outsiders

Event-type granularity authorization for all events of a type once authorized a user can read all events of that

type

Matching-set granularity determine set of interested and authorized

subscribers for each event only subscribers from that set can gain access each event encrypted for a different subset of

subscribers

Page 18: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

SystemImplemented in JavaSupports any number of applications and event types

Advertisements read at start-upExternal attributes

Event schema List of attributes All attributes - String

[LOC_INFO: (user, building, room)]

Subscriptions Only equality implemented (others trivial to add)

(user == “alice” && building == EECS && room == “*”)

Page 19: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Architecture

Client Handler Authentication Handler

Security Manager

Protocol Handler

KeyNote System

Content-BasedMatching Engine

Broker-to-Broker Handler

User Database

Security Policy

Extension Manager

Extension Class

Extension Class

...

Page 20: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

OKIs ok? Publish E

Client Handler Authentication Handler

Security Manager

Protocol Handler

KeyNote System

Content-BasedMatching Engine

Broker-to-Broker Handler

User Database

Security Policy

Extension Manager

Extension Class

Extension Class

...

Publish E

Publish E

Match ES1, S2, …

Is S1 OK?OK

Is S2 OK?No

Send E to S1

Send E to S1

Architecture

Page 21: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Location-Tracking Application

Page 22: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Location-Tracking Application

Event schema:[LOC_INFO: (user, building, room)]

Sensors planned - RFID currently – event generator

Privacy policies users own event about them allow others to receive your events based on event attributes and external

attributes

Page 23: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Authorizer: POLICYLicensee: location_adminConditions: (app_domain == “LOC_APP”) -> “true”;

Authorizer: location_adminConditions: (app_domain == “LOC_APP”) && (evtType == “LOC_INFO”)

(action == “SUBSCRIBE’) -> “true”;

Authorizer: location_adminLicensee: location_publisherConditions: (app_domain == “LOC_APP”) && (evtType == “LOC_INFO”)

(action == “PUBLISH’) -> “true”;

Authorizer: location_adminLicensee: ownerConditions: (app_domain == “LOC_APP”) && (evtType == “LOC_INFO”) &&

((action == “RECEIVE”) || (action == “CHANGE_POLICY”))-> “true”;

Authorizer: BobLicensee: Alice || Eve || NickConditions: (app_domain == “LOC_APP”) && (evtType == “LOC_INFO”) &&

(owner == “Bob”) && (action == “RECEIVE”) && ((extTime == “WORK_DAY”) || (extTime == “WORK_NIGHT”)) -> “true”;

Authorizer: NickConditions: (app_domain == “LOC_APP”) && (evtType == “LOC_INFO”) &&

(owner == “Nick”) && (action == “RECEIVE”) && (extCollaborator == “true”)-> “true”;

Authorizer: EveConditions: (app_domain == “LOC_APP”) && (evtType == “LOC_INFO”) &&

(owner == “Eve”) && (action == “RECEIVE”) &&(building == extBuilding) && (room == extRoom) -> “true”;

location_admin is the administrator of LOC_APP application

Authorizer: POLICYLicensee: location_adminConditions: (app_domain == “LOC_APP”) -> “true”;

Eve authorizes everybody to receive her events but only when Eve and the subscriber are in the same room.

Authorizer: EveConditions: (app_domain == “LOC_APP”) && (evtType == “LOC_INFO”) &&

(owner == “Eve”) && (action == “RECEIVE”) &&(building == extBuilding) && (room == extRoom) -> “true”;

Page 24: Designing a Publish Subscribe Substrate for Privacy/Security in Pervasive Environments Lukasz Opyrchal Miami University Oxford, OH Atul Prakash University

Conclusion and Future Work

Flexible support for complex privacy policiesServices (such as privacy filters) Publisher/subscriber

Restricting delegationSupport for contract signingSupport for archived events