Enabling Sovereign Information Sharing Using Web Services

29
Enabling Sovereign Enabling Sovereign Information Sharing Using Information Sharing Using Web Services Web Services R. Agrawal, D. Asonov, R. Srikant R. Agrawal, D. Asonov, R. Srikant IBM Almaden Research Center Additional contributors: P. Baliga, L. Liang, P. Baliga, L. Liang, B. Porst B. Porst

description

Enabling Sovereign Information Sharing Using Web Services. R. Agrawal, D. Asonov, R. Srikant IBM Almaden Research Center Additional contributors: P. Baliga, L. Liang, B. Porst. Outline. Background Implementation Architecture Resource discovery, Schema mapping, and Authentication - PowerPoint PPT Presentation

Transcript of Enabling Sovereign Information Sharing Using Web Services

Page 1: Enabling Sovereign Information Sharing Using Web Services

Enabling Sovereign Information Enabling Sovereign Information Sharing Using Web ServicesSharing Using Web Services

R. Agrawal, D. Asonov, R. SrikantR. Agrawal, D. Asonov, R. SrikantIBM Almaden Research Center

Additional contributors: P. Baliga, L. Liang, B. PorstP. Baliga, L. Liang, B. Porst

Page 2: Enabling Sovereign Information Sharing Using Web Services

OutlineOutline

BackgroundBackground Implementation ArchitectureImplementation Architecture Resource discovery, Schema mapping, and Resource discovery, Schema mapping, and

AuthenticationAuthentication PerformancePerformance ConclusionConclusion

R. Agrawal, A. Evfimievski, R. Srikant. R. Agrawal, A. Evfimievski, R. Srikant. Information Sharing Across Private DatabasesInformation Sharing Across Private Databases. SIGMOD . SIGMOD 03.03.

Page 3: Enabling Sovereign Information Sharing Using Web Services

Assumption: Information in each database can be Assumption: Information in each database can be freely shared.freely shared.

Information Integration TodayInformation Integration Today

Mediator

Q R

Federated

Q R

Centralized

Page 4: Enabling Sovereign Information Sharing Using Web Services

Need for a new style of Need for a new style of information sharinginformation sharing

Compute queries across databases so that no more Compute queries across databases so that no more information than necessary is revealed (without information than necessary is revealed (without using a trusted third party).using a trusted third party).

Need is driven by several trends:Need is driven by several trends:– End-to-end integration of information systems End-to-end integration of information systems

across companies (virtual organizations)across companies (virtual organizations)– Simultaneously compete and cooperate.Simultaneously compete and cooperate.– Security: need-to-know information sharingSecurity: need-to-know information sharing

Page 5: Enabling Sovereign Information Sharing Using Web Services

Security ApplicationSecurity Application

Security Agency finds Security Agency finds those passengers who those passengers who are in its list of suspects, are in its list of suspects, but not the names of but not the names of other passengers.other passengers.

Airline does not find Airline does not find anything.anything.

Agency

SuspectList

Airline

PassengerList

http://www.informationweek.com/story/showArticle.jhtml?articleID=184010%79

Page 6: Enabling Sovereign Information Sharing Using Web Services

Medical Research Medical Research

Validate hypothesis Validate hypothesis between adverse between adverse reaction to a drug and a reaction to a drug and a specific DNA sequence.specific DNA sequence.

Researchers should not Researchers should not learn anything beyond 4 learn anything beyond 4 counts:counts:

MayoClinic

DNA Sequences

DrugReactions

Adverse ReactionAdverse Reaction No Adv. ReactionNo Adv. Reaction

Sequence PresentSequence Present ?? ??

Sequence AbsentSequence Absent ?? ??

Page 7: Enabling Sovereign Information Sharing Using Web Services

R S R must not

know that S has b & y

S must not know that R has a & x

uu

vv

RSaa

uu

vv

xx

bb

uu

vv

yy

R

S

Count (R S) R & S do not learn

anything except that the result is 2.

Minimal Necessary SharingMinimal Necessary Sharing

Page 8: Enabling Sovereign Information Sharing Using Web Services

Problem Statement:Problem Statement:Minimal SharingMinimal Sharing

Given:Given:– Two parties (honest-but-curious): R (receiver) and S Two parties (honest-but-curious): R (receiver) and S

(sender)(sender)– Query Q spanning the tables R and SQuery Q spanning the tables R and S– Additional (pre-specified) categories of information Additional (pre-specified) categories of information II

Compute the answer to Q and return it to R without revealing Compute the answer to Q and return it to R without revealing any additional information to either party, any additional information to either party, except for the except for the information contained in information contained in II– For intersection, intersection size & equijoin, For intersection, intersection size & equijoin,

II = { |R| , |S| } = { |R| , |S| }

– For equijoin size, For equijoin size, II also includes the distribution of duplicates & also includes the distribution of duplicates & some subset of information in R some subset of information in R S S

Page 9: Enabling Sovereign Information Sharing Using Web Services

A Possible ApproachA Possible Approach

Secure Multi-Party ComputationSecure Multi-Party Computation– Given two parties with inputs x and y, compute f(x,y) such Given two parties with inputs x and y, compute f(x,y) such

that the parties learn only f(x,y) and nothing else.that the parties learn only f(x,y) and nothing else.– Can be solved by building a combinatorial circuit, and Can be solved by building a combinatorial circuit, and

simulating that circuit [Yao86].simulating that circuit [Yao86].

Prohibitive cost for database-size problems.Prohibitive cost for database-size problems.– Intersection of two relations of a million records each Intersection of two relations of a million records each

would require 144 days (Yao’s protocol)would require 144 days (Yao’s protocol)

Page 10: Enabling Sovereign Information Sharing Using Web Services

Intersection ProtocolIntersection Protocol

RS

R S

Secret key

a b

fb(S )

Shorthand for { fb(s) | s S }

Commutative Encryptionfa(fb(s)) = fb(fa(s))

f(s,b,p) = sb mod p

Page 11: Enabling Sovereign Information Sharing Using Web Services

R

Intersection ProtocolIntersection Protocol

S

R S

fb(S)fb(S )

fa(fb(S ))

a b

fb(fa(S ))

Commutative property

Page 12: Enabling Sovereign Information Sharing Using Web Services

R

Intersection ProtocolIntersection Protocol

S

R

S

fa(R )

fa(R )

fb(fa(S ))

{< fa(r ), fb(fa(r ))>}

a b

<r, fb(fa(x))>

{< fa(r ), fb(fa(r ))>}

Since R knows<r, fa(r)>

Page 13: Enabling Sovereign Information Sharing Using Web Services

Implementation: Grid of Data ServicesImplementation: Grid of Data Services

DP DBServer

meta data

DataProvider

SIS Server n

DP DBServer

meta data

DataProvider

SIS Server 1

Application

SIS Client

UserApplicationDeveloper

ClientMetadata

SIS Platform

Constructs web service query requests against multiple data providers, and collects responses.

Mapping information and data provider

access information.

Thin layer on top of the SIS client: invokes the required SIS operations, provides an interface to a SIS user.

Includes view information to retrieve data from the data

provider database, database access information, and

context information.

Provides the necessary functionality on the data provider side to enable

sovereign sharing.

Templates to aid application development

Page 14: Enabling Sovereign Information Sharing Using Web Services

Implementation EnvironmentImplementation Environment

Data resides inData resides in DB2 v.8.1. database systems, DB2 v.8.1. database systems, installed on 2.4GHz/ 512MB RAM Intelinstalled on 2.4GHz/ 512MB RAM Intel workstations, connected by a 100Mbit LAN network.workstations, connected by a 100Mbit LAN network.

Web services runWeb services run on top of the IBM WebSphere on top of the IBM WebSphere Application Server v.5.0 and use Application Server v.5.0 and use Apache AXIS Apache AXIS v.1.1. SOAP library for messaging.v.1.1. SOAP library for messaging.

IBMIBM private UDDI registry installed on one of the private UDDI registry installed on one of the machines.machines.

Page 15: Enabling Sovereign Information Sharing Using Web Services

IssuesIssues

How does the application developer find the How does the application developer find the necessary data sources and their schemas? necessary data sources and their schemas? – need a need a resource discoveryresource discovery mechanism mechanism

How does the application developer link the data How does the application developer link the data between different providers? between different providers? – need a need a schema mappingschema mapping mechanism mechanism

How to ensure that only eligible users can carry out How to ensure that only eligible users can carry out the computation? the computation? – need an need an authenticationauthentication mechanism mechanism

Page 16: Enabling Sovereign Information Sharing Using Web Services

Resource Discovery Resource Discovery

Problem: Finding the necessary data sources and their Problem: Finding the necessary data sources and their schemasschemas

Solution: Employ a UDDI registry to store and searchSolution: Employ a UDDI registry to store and search– data providers and operations they supportdata providers and operations they support– available schemas for each data provideravailable schemas for each data provider

TSA and AL publish their schemas in the Business TSA and AL publish their schemas in the Business Services elements of the private UDDI.Services elements of the private UDDI.

<Data Provider> <Table Name=“Passenger List” Schema=“AL”> <Column> <Name>Passenger Name<Name> …

<Data Provider> <Table Name=“Suspect List” Schema=“TSA”> <Column> <Name>Suspect Name<Name> …

Page 17: Enabling Sovereign Information Sharing Using Web Services

Schema MappingSchema Mapping

1.1. Global:Global:• Data providers use a standard domain-specific vocabulary Data providers use a standard domain-specific vocabulary

(e.g. Rosetta Net) and schema.(e.g. Rosetta Net) and schema.• Data providers map local schema to global schema.Data providers map local schema to global schema.

2.2. Application Specific: Application Specific: • Every data provider maps local schema to the application Every data provider maps local schema to the application

schema, separately for each application.schema, separately for each application.• Every data provider updates its mapping as the application Every data provider updates its mapping as the application

evolves.evolves.

3.3. Sovereign: Sovereign: • Data providers publish schemas in their own vocabularies.Data providers publish schemas in their own vocabularies.• Developers link the schemas.Developers link the schemas.

- Least burden on data providers- Maximal autonomy for data providers and developers

Page 18: Enabling Sovereign Information Sharing Using Web Services

Schema Mapping: TSA-AL scenarioSchema Mapping: TSA-AL scenario

<Data Provider> <Table Name=“Passenger List” Schema=“AL”> <Column> <Name>Passenger Name<Name> …

<Data Provider> <Table Name=“SuspectList” Schema=“TSA”> <Column> <Name>Suspect Name<Name> …

Airline schema TSA schema

The application developer determines mapping (possibly negotiating The application developer determines mapping (possibly negotiating using the information in the Business Entity element of the UDDI using the information in the Business Entity element of the UDDI registry)registry)

Page 19: Enabling Sovereign Information Sharing Using Web Services

Authentication Across Multiple Domains Authentication Across Multiple Domains

Auth T

oken

User: Bob

Authentication Authority (AA)

Username: Bob

Password: ****

Aut

hen

ticat

e B

ob

Certified by AA

Client application

1

User: BobCertified by AA

Sovereign Airlines

Access Manager

Web Service Request

4

Application receives an authentication token from AA

2 3

The token is used to authenticate the client application to the client

web service.

Page 20: Enabling Sovereign Information Sharing Using Web Services

Authentication Across Multiple Domains Authentication Across Multiple Domains

Auth T

oken

User: Bob

Authentication Authority (AA)

Username: Bob

Password: ****

Aut

hen

ticat

e B

ob

Certified by AA

Client application

1

User: BobCertified by AA

Sovereign Airlines

Access Manager

Web Service Request

4

Certified by SA

Tok

en V

alid

atio

n

Web Service

Request

User: Bob

Certified by AA

5

6TSA

Access Manager

2 3

Client web service signs the token from AA to

authenticate the request to the server web service.

Page 21: Enabling Sovereign Information Sharing Using Web Services

Authentication Across Multiple Domains Authentication Across Multiple Domains

Auth T

oken

User: Bob

Authentication Authority (AA)

Username: Bob

Password: ****

Aut

hen

ticat

e B

ob

Certified by AA

Client application

1

User: BobCertified by AA

Sovereign Airlines

Access Manager

Web Service Request

4

Certified by SA

Tok

en V

alid

atio

n

Web Service

Request

User: Bob

Certified by AA

5

6TSA

Access Manager

Web Service Response

7

Token V

alidation

Web Service Response

9

8

2 3

Page 22: Enabling Sovereign Information Sharing Using Web Services

Security Application: ExecutionSecurity Application: Execution

TSA encrypts TSA encrypts Suspect NameSuspect Name column of column of Suspect ListSuspect List table. table. TSA sends an intersection web-service request to AL, with the TSA sends an intersection web-service request to AL, with the

encrypted encrypted Suspect ListSuspect List as a SOAP attachment. as a SOAP attachment. AL encrypts AL encrypts Passenger NamePassenger Name column of column of Passenger ListPassenger List table table

and double-encrypts the and double-encrypts the encrypted Suspect Listencrypted Suspect List from TSA. from TSA. AL sends a web-service response to TSA with both encrypted AL sends a web-service response to TSA with both encrypted

tables as attachments.tables as attachments. TSA double-encrypts Passenger List from AL.TSA double-encrypts Passenger List from AL. Finally, TSA uses both double-encrypted tables to perform the Finally, TSA uses both double-encrypted tables to perform the

intersection and returns the results to the application.intersection and returns the results to the application.

Page 23: Enabling Sovereign Information Sharing Using Web Services

PerformancePerformance

ImplementationImplementation msms

Java programJava program 3232

Java DB2 UDFJava DB2 UDF 33-3433-34

Exponentiation time for Exponentiation time for one number (Intel P3)one number (Intel P3)

65 msMS Visual C++ (Crypto++

library)

Page 24: Enabling Sovereign Information Sharing Using Web Services

Making Encryption Faster: Making Encryption Faster: Software ApproachesSoftware Approaches

The main component of encryption is exponentiation: The main component of encryption is exponentiation: enc(x, k, p) = xenc(x, k, p) = xkk mod p mod p

Tried custom implementations of exponentiation that Tried custom implementations of exponentiation that used preprocessing based onused preprocessing based on– fixed exponent (k)fixed exponent (k)– fixed base (x)fixed base (x)

Fixed exponent implementation turned out to be Fixed exponent implementation turned out to be slower than the Java native implementationslower than the Java native implementation

Fixed based is beneficial if the same value is Fixed based is beneficial if the same value is encrypted multiple times with different keys (not encrypted multiple times with different keys (not useful for intersection where each value is encrypted useful for intersection where each value is encrypted once)once)

Page 25: Enabling Sovereign Information Sharing Using Web Services

Making Encryption Faster: Making Encryption Faster: Hardware AcceleratorHardware Accelerator

Use SSL card to speed-up exponentiationUse SSL card to speed-up exponentiation Multiple threads (100+) must post exponentiation request Multiple threads (100+) must post exponentiation request

simultaneously to the card API to get the advertised simultaneously to the card API to get the advertised speed-upspeed-up

AEP scheduler distributes exponentiation requests AEP scheduler distributes exponentiation requests between multiple cards automatically; linear speed-upbetween multiple cards automatically; linear speed-up

Example:Example:AEP SSL CARD Runner 2000AEP SSL CARD Runner 2000≈ ≈ $2k$2k

Page 26: Enabling Sovereign Information Sharing Using Web Services

Execution time: Encryption UDFExecution time: Encryption UDF

Encryption EngineEncryption Engine Number of rows in the tableNumber of rows in the table

1,0001,000 5,0005,000 10,00010,000

CPU Intel III 2.0 GhzCPU Intel III 2.0 Ghz 3434ss 175175ss 320320ss

AEP Runner 2000AEP Runner 2000 3.53.5ss 1919ss 3737ss

Page 27: Enabling Sovereign Information Sharing Using Web Services

Application PerformanceApplication Performance

Encryption speed is 20K encryptions per minute Encryption speed is 20K encryptions per minute using one accelerator card ($2K per card)using one accelerator card ($2K per card)

TSA-Airline: 150,000 (daily) passengers and 1 TSA-Airline: 150,000 (daily) passengers and 1 million people in the watch list:million people in the watch list:

120 minutes with one accelerator card120 minutes with one accelerator card 12 minutes with ten accelerator cards 12 minutes with ten accelerator cards

Epidemiological research: 1 million patient records Epidemiological research: 1 million patient records in the hospital and 10 million records in the in the hospital and 10 million records in the Genebank:Genebank:

37 hours with one accelerator cards37 hours with one accelerator cards 3.7 hours with ten accelerator cards3.7 hours with ten accelerator cards

Page 28: Enabling Sovereign Information Sharing Using Web Services

Related WorkRelated Work

[Naor & Pinkas 99]: Two protocols for list [Naor & Pinkas 99]: Two protocols for list intersection problemintersection problem– Oblivious evaluation of n polynomials of degree n each.Oblivious evaluation of n polynomials of degree n each.– Oblivious evaluation of nOblivious evaluation of n22 linear polynomials. linear polynomials.

[Huberman et al 99]: find people with common [Huberman et al 99]: find people with common preferences, without revealing the preferences.preferences, without revealing the preferences.– Intersection protocols are similar Intersection protocols are similar

[Clifton et al, 2003]: Secure set union and set [Clifton et al, 2003]: Secure set union and set intersectionintersection– Similar protocolsSimilar protocols

Page 29: Enabling Sovereign Information Sharing Using Web Services

Summary and ChallengesSummary and Challenges

New applications require us to go beyond traditional New applications require us to go beyond traditional centralized and federated information integration: sovereign centralized and federated information integration: sovereign information integrationinformation integration

Demonstrated feasibility of realizing sovereign sharingDemonstrated feasibility of realizing sovereign sharing Need models of minimal disclosure and corresponding Need models of minimal disclosure and corresponding

protocols forprotocols for– other database operationsother database operations

– combination of operationscombination of operations Need faster commutative encryptionNeed faster commutative encryption Need further study of tradeoff between efficiency andNeed further study of tradeoff between efficiency and

– additional information disclosedadditional information disclosed

– approximationapproximation