Presenationslides

Download Report

Transcript Presenationslides

Authentication and Integrity
in Outsourced Databases
Kanaka Rajanala
What is Outsourced Database


Organizations outsource their data
management needs to an external
provider.
The service provider hosts client
database and offers mechanisms.
• Create databases
• Updating
• Storing
• Accessing (querying)
Advantages of ODB


The organizations can concentrate on
their core tasks and operate their
business applications via Internet.
Don’t worry about
• Deployment, instillation, maintenance
,upgrades.
• Hire, train/retain people.
Challenges

Overall performance

Scalability

Usability
Challenges
• Privacy/Security
• Protection of outsourced data from
intruders and attacks.
• Protecting clients from misuse of data
by service providers.
• Ensuring
integrity+privacy+completeness of
query replies.
Goal

This paper investigate techniques to
help ODB client authenticate the
origin and verify the integrity of data
returned by the service provider in
response to a posed query.
System Model


ODB is an example of Client –Server
model.
Types of ODB
• Unified Client Model
• Multi Querier Model
• Multi Owner Model
1. Unified Owner Scenario
Server Site
Data Deposit + Queries
Owner/Querier
Server
Encrypted User
Database
A single entity creates, queries, manipulates the
database.
2. Multi-Querier Scenario
Server Site
Data Deposit
Owner/Querier
Server
& queries
Encrypted User
Database
Querier 1
Querier 2
Querier 3
3. Multi-Owner Scenario
Server Site
Server
Owner 1
Encrypted User
Database
Data Queries
Owner 2
Owner 3
Querier 1
Querier 2
Why do we need Integrity

In some occasions where we may not
want secrecy but want integrity
• Every one is allowed to read a message
• But no one is allowed to modify it.
Why do we need Authentication


To authenticate the source of data.
The main goal is to assure ODB
clients that the data they receive
from the server has not be tampered
from an external adversary or the
server itself.
Granularity of Integrity



Table level-impractical for large
tables.
Column level-very expensive for the
owner in terms of computation.
Optimal is to provide integrity at row
level.
Overhead Factors and Desired
Features





Querier computation
Querier bandwidth
Server computation
Owner computation
Server storage
MAC’s or Signatures



With MAC client can ask server to
store record along with MAC.
Works for Unified Client model where
owner and querier are same.
Cannot be worked with other models
• MAC key to be shared between all
owners and queriers.
• Non repudiation of queries cannot be
achieved.
Standard RSA
Condensed RSA

Server:
• Selects records matching posed query
• Multiplies corresponding RSA signatures
• Returns single signature to querier
Server
Given t record signatures:
{σ1, σ2 … σt} ,
compute combined signature
σ1,t =
Πσi mod n
Send σ1,t to the querier
Querier
σ1,t
Given t messages:
{m1,m2 … mt} and σ1,t
verify combined signature:
(σ1,t)e = ? = Π h(mi) (mod n)
Condensed RSA

Reduced querier computation costs
• Querier performs (t-1) mult-s and a one
exponentiation

Constant bandwidth overhead
• Querier receives a single RSA signature

As secure as batch RSA (with FDH)

Not efficient for Multi-Owner model
Batch Verification of RSA Signatures


Batching: useful when many signature
verifications need to be performed
simultaneously
Reduces computational overhead
• By reducing the total number of modular
exponentiations

Fast screening of RSA signatures :
• Given a batch instance of signatures {σ1, σ2 … σt} on
distinct messages {m1, m2 … mt}
e
t



  i 
   h(mi )(mod n)
i 1
 i 1

where h() is a full domain hash function
t
Fast Screening

Reduces (somewhat) querier computation
but not bandwidth overhead
• Individual signatures are sent to the querier
for verification

Bandwidth overhead can be overwhelming
• Consider weak (anemic) queriers
• Query reply can have thousands of records
• Each RSA signature is at least 1024 bits!
Cost Comparisons
1. Querier computation:
Condensed RSA
Batch DSA
Sign
1 signature
6.82
3.82
Verify
1 signature
t =1000 sigs, k=1 signer
t =100 sigs, k=10 signers
t =1000 sigs, k = 10
signers
0.16
44.12
45.16
441.1
8.52
1623.59
1655.86
16203.5
Parameters:
For RSA: |n| = 1024
For DSA: |p| = 1024 and |q| = 160