SlideShare ist ein Scribd-Unternehmen logo
1 von 51
An Extremely Simple ORAM
Protocol – Path ORAM
Published by Stefanov, Emil, et al.
Presented by Shijie Zhang
Cloud storage
SkyDrive
Windows Azure
Storage
Amazon S3, EBS
Dropbox
EMC
Atmos
Mozy
iCloud Google Storage
Cloud storage
SkyDrive
Windows Azure
Storage
Amazon S3, EBS
Dropbox
EMC
Atmos
Mozy
iCloud
Google Storage
Can we
TRUST
the cloud?
Not completely
Cloud storage
Sensitive
documents
should be
encrypted
User Server
Files
Encrypted Files
Search on Cloud storage
What if users need to search on
encrypted documents?
e.g. documents containing keyword
“urgent”
Searchable Encryption
Searchable encryption schemes are proposed
User Server
Files Encrypted Files + Index
(contains trapdoors
only known by user)
Searchable Encryption
Searchable encryption schemes proposed
User Server
Search for documents
containing keyword
e.g. “urgent”
Searchable Encryption
Searchable encryption schemes proposed
User Server
Search for documents
containing keyword
e.g. “urgent”
Trapdoor function (“urgent”)
Searchable Encryption
Searchable encryption schemes proposed
User Server
Search for documents
containing keyword
e.g. “urgent”
Trapdoor function (“urgent”)
Trapdoor function
(“urgent”) + Index
Searchable Encryption
Searchable encryption schemes proposed
User Server
Search for documents
containing keyword
e.g. “urgent”
Trapdoor function (“urgent”)
Trapdoor function
(“urgent”) + Index
Requested encrypted documents
Information leaked ???
Most previous research works
‱ Do not leaked Encrypted documents
‱ Do not leaked Searched keywords
However, most previous research works
‱ leaked access pattern
Access Pattern Leaked
Access Pattern leaked:
‱ Which data is being accessed
‱ When the data was last accessed
‱ Whether the same data is being accessed
‱ Access randomly or sequentially
‱ Whether the access is a read or write
What could be done
with access pattern ?
Client
Buy IBM
Buy EMC
?Buy IBM
Access patterns leak:
80% of search queries to
encrypted database
(Islam et. al)
?Buy IBM
Server
Search queries
Example Attack
?Buy PC
Example Attack
Oblivious RAM
‱ Search over encrypted data
without revealing access pattern
‱ Impractical O(N) bandwidth overhead
Path ORAM
‱ Most practical ORAM construction to date
‱ High efficiency and low overhead
Asymptotic breakthrough for large blocks
Instantiation Client Storage Bandwidth
Without Recursion đ‘¶ đ‘” đ‘¶ đ„đšđ  đ‘”
With Recursion
~ đ‘¶
đ„đšđ  đ‘” 𝟐
đ„đšđ  𝐗
đ‘¶
đ„đšđ  đ‘” 𝟐
đ„đšđ  𝐗
Path ORAM
‱ Server storage
binary map
‱ Client storage
position map, stash
Path ORAM
nodes can contain
multiple blocks
some nodes are empty
Server: data blocks stored in nodes of the tree
bucket
block
Block #
data
Path ORAM
1 2 3 4 5 6 7 8
“Position” comes from the leaf sequence number.
Path ORAM
1 2 3 4 5 6 7 8
A block must be placed on the path to its “position”
If a BLOCK’s position is 5, it can only be in the this path
Path ORAM
1 2 3 4 5 6 7 8
A block must be placed on the path to its “position”
If a BLOCK’s position is 1, it can only be in the this path
Path ORAM
1 2 3 4 5 6 7 8
Blocks’ position are chosen randomly from 1 to 2^L(number of leaves).
Some nodes(buckets) have multiple blocks while some are empty.
Path ORAM
Client storage: position map & stash
position map: to store each block’s “position”
(assume there are N blocks in the tree)
Block #
Block’s “position”
1 2 
 
 
. 
. N-1 N
5 4 
 
 
. 
. 1 7
Path ORAM
position map: to store each block’s “position”
(assume there are N blocks in the tree)
Block #
Block’s “position”
1 2 
 
 
. 
. 13 14
2 4 1 1
10 6
2 58
714 9 1
13
3 12 4 11
1 2 3 4
Client storage: position map & stash
Path ORAM
Stash: 1. block cash
2. to store blocks overflowed from the server
Client storage: position map & stash
one block
Path ORAM
16 lines
of
pseudocode
Path ORAM
An example for access (op, a, data)
Example:
A user wants to modify block “7”
Path ORAM
10 6
2 5
714 1
13
3 12 4 11
1 2 3 4
Server
Client
stash
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 2 2 1 1 4 3 2 1
Example: A user wants to modify block “7”
8 9
Path ORAM
10 6
2 5
714 9 1
13
3 12 4 11
1 2 3 4
Server
Client
stash
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 2 2 1 1 4 3 2 1
Example: A user wants to modify block “7”
1. Lookup block’s position
8 9
Path ORAM
10 6
2 5
714 1
13
3 12 4 11
1 2 3 4
Server
Client
stash
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 2 2 1 1 4 3 2 1
Example: A user wants to modify block “7”
2. Read the entire path
8 9
71 13 10 6
71 13 10 6
decrypt
Path ORAM
10 6
2 5
714 1
13
3 12 4 11
1 2 3 4
Server
Client
stash
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 2 2 1 1 4 3 2 1
Example: A user wants to modify block “7”
8 9
71 13 10 6
1 13 10 6
decrypt
7
3. Client can now
read/modify data in block
Path ORAM
10 6
2 58
714 9 1
13
3 12 4 11
1 2 3 4
Server
Client
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 2 2 1 1 4 3 2 1
Example: A user wants to modify block “7”
Note:
the blocks on the tree are encrypted
4. Assign a new random position.
Position[block 7] = UniformRandom(1, 2, 3, 4)
here = 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 1 2 1 1 4 3 2 1
Path ORAM
10 6
2 5
14 1
13
3 12 4 11
1 2 3 4
Server
Client
Note:
the blocks on the tree are encrypted
5. Write path back
7
Principles:
A. Blocks should be pushed down as deep as possible
B. Blocks should always be on the path to its position
Path ORAM
10 6
2 5
14 1
13
3 12 4 11
1 2 3 4
Server
Client
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 1 2 1 1 4 3 2 1
Note:
the blocks on the tree are encrypted
5. Write path back.
Principle A:
Push blocks as deep as
possible
stash 8 9 1 13 10 67
Try the deepest possible
node first
Path ORAM
10 6
2 5
14 1
13
3 12 4 11
1 2 3 4
Server
Client
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 1 2 1 1 4 3 2 1
Note:
the blocks on the tree are encrypted
5. Write path back.
Principle A:
Push blocks as deep as
possible
stash 8 9 1 13 10 67
If full, try the upper level
Path ORAM
10 6
2 5
14 1
13
3 12 4 11
1 2 3 4
Server
Client
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 1 2 1 1 4 3 2 1
Note:
the blocks on the tree are encrypted
5. Write path back.
Principle A:
Push blocks as deep as
possible
stash 8 9 1 13 10 67
If full, try the upper level
Path ORAM
10 6
2 5
14 1
13
3 12 4 11
1 2 3 4
Server
Client
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 1 2 1 1 4 3 2 1
Note:
the blocks on the tree are encrypted
5. Write path back.
Principle A:
Push blocks as deep as
possible
stash 8 9 1 13 10 67
If root is full, store in the stash
Path ORAM
10 6
2 5
14 1
13
3 12 4 11
1 2 3 4
Server
Client
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 1 2 1 1 4 3 2 1
Note:
the blocks on the tree are encrypted
5. Write path back
Principle B:
The block should always be on
its path to “position”
stash 8 9 1 13 10 67
2 1 2 1 2 1 1“positions”
7
Path ORAM
10 6
2 5
14 1
13
3 12 4 11
1 2 3 4
Server
Client
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 1 2 1 1 4 3 2 1
Note:
the blocks on the tree are encrypted
5. Write path back
Block 8, 1, 13 can
end up at any buckets on
the entire path
Principle B:
The block should always be on
its path to “position”
stash 8 9 1 13 10 67
2 1 2 1 2 1 1
7
Path ORAM
10 6
2 5
14 1
13
3 12 4 11
1 2 3 4
Server
Client
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 1 2 1 1 4 3 2 1
Note:
the blocks on the tree are encrypted
5. Write path back
Block 9, 7, 10, 6 can only
end up at these buckets
Principle B:
The block should always be on
its path to “position”
stash 8 9 1 13 10 67
2 1 2 1 2 1 1
7
Path ORAM
2 5
14 3 12 4 11
1 2 3 4
Server
Client
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 1 2 1 1 4 3 2 1
Note:
the blocks on the tree are encrypted
5. Write path back
stash 8 9 1 13 10 67
2 1 2 1 2 1 1
3
2
1
Get back to our example:
Path ORAM
2 5
14 8 3 12 4 11
1 2 3 4
Server
Client
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 1 2 1 1 4 3 2 1
Note:
the blocks on the tree are encrypted
5. Write path back
stash 8 9 1 13 10 67
2 1 2 1 2 1 1
3
2
1
13
Path ORAM
2 51
14 8
7
3 12 4 11
1 2 3 4
Server
Client
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 1 2 1 1 4 3 2 1
Note:
the blocks on the tree are encrypted
5. Write path back
stash 8 9 1 13 10 67
2 1 2 1 2 1 1
3
2
1
13
Path ORAM
9 6
2 51
14 8
7
3 12 4 11
1 2 3 4
Server
Client
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 1 2 1 1 4 3 2 1
Note:
the blocks on the tree are encrypted
5. Write path back
stash 8 9 1 13 10 67
2 1 2 1 2 1 1
3
2
1
13
Path ORAM
9 6
2 51
14 8
7
3 12 4 11
1 2 3 4
Server
Client
position map
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 4 3 4 3 1 1 2 1 1 4 3 2 1
Note:
the blocks on the tree are encrypted
5. Write path back
stash 10
3
2
1
13
Client storage
Position map:
‱ Log N bits per block
‱ Totally N log N bits
Too much !!!
Recursion
‱ Store the position map in another ORAM.
‱ Do this recursively.
Server
Client




O-RAM #1 O-RAM #2:
Position Map
for O-RAM #1 O-RAM #3:
Position Map
for O-RAM #2
Security‱ Security Definition:
Given two access sequences,
Computational indistinguishable by anyone but the user
‱ Server only observes a single random number on access to each block
Each access number is random
not computational distinguishable by anyone but the user
Security - example
Server
Client
stashposition map
Suppose client
accesses blocks
1, 2, 3, 4.5
0 1 2 3 4 5 6 7positions:
1 6 4
Server observes:
5, 1, 6, 4
Client looks up in
position map.
5 1 6 4
equally likely
If client instead accesses:
46, 49, 53, 60
the two access patterns are
indistinguishable
Proof for Bounds on Stash Usage
Target: the probability for stash overflow is low
Equivalent to:
Find a subtree in ORAM binary tree
that after a sequences of access “s”, the number of
Remaining blocks are bigger than n(T)Z+R
References
1. Path ORAM, Emil, S., et al. slides and papers,
2012
2. Access Pattern Disclosure on Searchable
Encryption. Mohammad, S. et al. , 2006

Weitere Àhnliche Inhalte

Was ist angesagt?

Run Apache Spark on Kubernetes in Large Scale_ Challenges and Solutions-2.pdf
Run Apache Spark on Kubernetes in Large Scale_ Challenges and Solutions-2.pdfRun Apache Spark on Kubernetes in Large Scale_ Challenges and Solutions-2.pdf
Run Apache Spark on Kubernetes in Large Scale_ Challenges and Solutions-2.pdfAnya Bida
 
Apache Spark Performance tuning and Best Practise
Apache Spark Performance tuning and Best PractiseApache Spark Performance tuning and Best Practise
Apache Spark Performance tuning and Best PractiseKnoldus Inc.
 
Deploying Flink on Kubernetes - David Anderson
 Deploying Flink on Kubernetes - David Anderson Deploying Flink on Kubernetes - David Anderson
Deploying Flink on Kubernetes - David AndersonVerverica
 
æ±Žç”šæ€§ăšé«˜é€Ÿæ€§ă‚’ç›źæŒ‡ă—ăŸăƒšă‚ąăƒȘăƒłă‚°æš—ć·ăƒ©ă‚€ăƒ–ăƒ©ăƒȘ mcl
æ±Žç”šæ€§ăšé«˜é€Ÿæ€§ă‚’ç›źæŒ‡ă—ăŸăƒšă‚ąăƒȘăƒłă‚°æš—ć·ăƒ©ă‚€ăƒ–ăƒ©ăƒȘ mclæ±Žç”šæ€§ăšé«˜é€Ÿæ€§ă‚’ç›źæŒ‡ă—ăŸăƒšă‚ąăƒȘăƒłă‚°æš—ć·ăƒ©ă‚€ăƒ–ăƒ©ăƒȘ mcl
æ±Žç”šæ€§ăšé«˜é€Ÿæ€§ă‚’ç›źæŒ‡ă—ăŸăƒšă‚ąăƒȘăƒłă‚°æš—ć·ăƒ©ă‚€ăƒ–ăƒ©ăƒȘ mclMITSUNARI Shigeo
 
Hardening cassandra for compliance or paranoia
Hardening cassandra for compliance or paranoiaHardening cassandra for compliance or paranoia
Hardening cassandra for compliance or paranoiazznate
 
Turing Machine
Turing MachineTuring Machine
Turing MachineRajendran
 
Diffie-hellman algorithm
Diffie-hellman algorithmDiffie-hellman algorithm
Diffie-hellman algorithmComputer_ at_home
 
CNIT 141 8. Public-Key Cryptosystems Based on the DLP
CNIT 141 8. Public-Key Cryptosystems Based on the DLPCNIT 141 8. Public-Key Cryptosystems Based on the DLP
CNIT 141 8. Public-Key Cryptosystems Based on the DLPSam Bowne
 
ă€Œćž‹ăźç†è«–ă€ăšèšŒæ˜Žæ”ŻæŽă‚·ă‚čテム -- COQぼ侖界
ă€Œćž‹ăźç†è«–ă€ăšèšŒæ˜Žæ”ŻæŽă‚·ă‚čテム -- COQăźäž–ç•Œă€Œćž‹ăźç†è«–ă€ăšèšŒæ˜Žæ”ŻæŽă‚·ă‚čテム -- COQぼ侖界
ă€Œćž‹ăźç†è«–ă€ăšèšŒæ˜Žæ”ŻæŽă‚·ă‚čテム -- COQぼ侖界maruyama097
 
Distributed Locking in Kubernetes
Distributed Locking in KubernetesDistributed Locking in Kubernetes
Distributed Locking in KubernetesRafaƂ Leszko
 
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...StreamNative
 
Resilience testing with Wiremock and Spock
Resilience testing with Wiremock and SpockResilience testing with Wiremock and Spock
Resilience testing with Wiremock and SpockDavid Schmitz
 
「みんăȘべ搌じ」はăȘăœè”·ă“ă‚‹ïŒŸ
「みんăȘべ搌じ」はăȘăœè”·ă“ă‚‹ïŒŸă€Œăżă‚“ăȘべ搌じ」はăȘăœè”·ă“ă‚‹ïŒŸ
「みんăȘべ搌じ」はăȘăœè”·ă“ă‚‹ïŒŸYosuke YASUDA
 
Scaling Machine Learning Feature Engineering in Apache Spark at Facebook
Scaling Machine Learning Feature Engineering in Apache Spark at FacebookScaling Machine Learning Feature Engineering in Apache Spark at Facebook
Scaling Machine Learning Feature Engineering in Apache Spark at FacebookDatabricks
 
Lex (lexical analyzer)
Lex (lexical analyzer)Lex (lexical analyzer)
Lex (lexical analyzer)Sami Said
 
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...CODE BLUE
 
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsPractical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsFlink Forward
 
SSE4.2ăźæ–‡ć­—ćˆ—ć‡Šç†ć‘œä»€ăźçŽč介
SSE4.2ăźæ–‡ć­—ćˆ—ć‡Šç†ć‘œä»€ăźçŽč介SSE4.2ăźæ–‡ć­—ćˆ—ć‡Šç†ć‘œä»€ăźçŽč介
SSE4.2ăźæ–‡ć­—ćˆ—ć‡Šç†ć‘œä»€ăźçŽč介MITSUNARI Shigeo
 

Was ist angesagt? (20)

A Short Review of the NTRU Cryptosystem
A Short Review of the NTRU CryptosystemA Short Review of the NTRU Cryptosystem
A Short Review of the NTRU Cryptosystem
 
Run Apache Spark on Kubernetes in Large Scale_ Challenges and Solutions-2.pdf
Run Apache Spark on Kubernetes in Large Scale_ Challenges and Solutions-2.pdfRun Apache Spark on Kubernetes in Large Scale_ Challenges and Solutions-2.pdf
Run Apache Spark on Kubernetes in Large Scale_ Challenges and Solutions-2.pdf
 
Apache Spark Performance tuning and Best Practise
Apache Spark Performance tuning and Best PractiseApache Spark Performance tuning and Best Practise
Apache Spark Performance tuning and Best Practise
 
Deploying Flink on Kubernetes - David Anderson
 Deploying Flink on Kubernetes - David Anderson Deploying Flink on Kubernetes - David Anderson
Deploying Flink on Kubernetes - David Anderson
 
æ±Žç”šæ€§ăšé«˜é€Ÿæ€§ă‚’ç›źæŒ‡ă—ăŸăƒšă‚ąăƒȘăƒłă‚°æš—ć·ăƒ©ă‚€ăƒ–ăƒ©ăƒȘ mcl
æ±Žç”šæ€§ăšé«˜é€Ÿæ€§ă‚’ç›źæŒ‡ă—ăŸăƒšă‚ąăƒȘăƒłă‚°æš—ć·ăƒ©ă‚€ăƒ–ăƒ©ăƒȘ mclæ±Žç”šæ€§ăšé«˜é€Ÿæ€§ă‚’ç›źæŒ‡ă—ăŸăƒšă‚ąăƒȘăƒłă‚°æš—ć·ăƒ©ă‚€ăƒ–ăƒ©ăƒȘ mcl
æ±Žç”šæ€§ăšé«˜é€Ÿæ€§ă‚’ç›źæŒ‡ă—ăŸăƒšă‚ąăƒȘăƒłă‚°æš—ć·ăƒ©ă‚€ăƒ–ăƒ©ăƒȘ mcl
 
Hardening cassandra for compliance or paranoia
Hardening cassandra for compliance or paranoiaHardening cassandra for compliance or paranoia
Hardening cassandra for compliance or paranoia
 
Turing Machine
Turing MachineTuring Machine
Turing Machine
 
Diffie-hellman algorithm
Diffie-hellman algorithmDiffie-hellman algorithm
Diffie-hellman algorithm
 
CNIT 141 8. Public-Key Cryptosystems Based on the DLP
CNIT 141 8. Public-Key Cryptosystems Based on the DLPCNIT 141 8. Public-Key Cryptosystems Based on the DLP
CNIT 141 8. Public-Key Cryptosystems Based on the DLP
 
ă€Œćž‹ăźç†è«–ă€ăšèšŒæ˜Žæ”ŻæŽă‚·ă‚čテム -- COQぼ侖界
ă€Œćž‹ăźç†è«–ă€ăšèšŒæ˜Žæ”ŻæŽă‚·ă‚čテム -- COQăźäž–ç•Œă€Œćž‹ăźç†è«–ă€ăšèšŒæ˜Žæ”ŻæŽă‚·ă‚čテム -- COQぼ侖界
ă€Œćž‹ăźç†è«–ă€ăšèšŒæ˜Žæ”ŻæŽă‚·ă‚čテム -- COQぼ侖界
 
Distributed Locking in Kubernetes
Distributed Locking in KubernetesDistributed Locking in Kubernetes
Distributed Locking in Kubernetes
 
FHE in Action
FHE in ActionFHE in Action
FHE in Action
 
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
 
Resilience testing with Wiremock and Spock
Resilience testing with Wiremock and SpockResilience testing with Wiremock and Spock
Resilience testing with Wiremock and Spock
 
「みんăȘべ搌じ」はăȘăœè”·ă“ă‚‹ïŒŸ
「みんăȘべ搌じ」はăȘăœè”·ă“ă‚‹ïŒŸă€Œăżă‚“ăȘべ搌じ」はăȘăœè”·ă“ă‚‹ïŒŸ
「みんăȘべ搌じ」はăȘăœè”·ă“ă‚‹ïŒŸ
 
Scaling Machine Learning Feature Engineering in Apache Spark at Facebook
Scaling Machine Learning Feature Engineering in Apache Spark at FacebookScaling Machine Learning Feature Engineering in Apache Spark at Facebook
Scaling Machine Learning Feature Engineering in Apache Spark at Facebook
 
Lex (lexical analyzer)
Lex (lexical analyzer)Lex (lexical analyzer)
Lex (lexical analyzer)
 
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
[CB21] Appearances are deceiving: Novel offensive techniques in Windows 10/11...
 
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsPractical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobs
 
SSE4.2ăźæ–‡ć­—ćˆ—ć‡Šç†ć‘œä»€ăźçŽč介
SSE4.2ăźæ–‡ć­—ćˆ—ć‡Šç†ć‘œä»€ăźçŽč介SSE4.2ăźæ–‡ć­—ćˆ—ć‡Šç†ć‘œä»€ăźçŽč介
SSE4.2ăźæ–‡ć­—ćˆ—ć‡Šç†ć‘œä»€ăźçŽč介
 

Andere mochten auch

ORAM: A Brief Overview
ORAM: A Brief OverviewORAM: A Brief Overview
ORAM: A Brief OverviewDev Nath
 
Oram And Secure Computation
Oram And Secure ComputationOram And Secure Computation
Oram And Secure ComputationChong-Kuan Chen
 
Role-based Access Control on AWS
Role-based Access Control on AWSRole-based Access Control on AWS
Role-based Access Control on AWSFreeman Zhang
 
Radial club hand
Radial club handRadial club hand
Radial club handDrzameer
 
Drb Nih Talk Jan 2009
Drb Nih Talk Jan 2009Drb Nih Talk Jan 2009
Drb Nih Talk Jan 2009guest957fad2
 
Holt oram syndrome presentation
Holt oram syndrome presentationHolt oram syndrome presentation
Holt oram syndrome presentationbdw41
 
ç§˜ćŻ†èšˆçź—ă‚’ç”šă„ăŸæ™‚çł»ćˆ—æƒ…ć ±ăźćź‰ć…šăȘ集蚈æ–čæł•
ç§˜ćŻ†èšˆçź—ă‚’ç”šă„ăŸæ™‚çł»ćˆ—æƒ…ć ±ăźćź‰ć…šăȘ集蚈æ–čæł•ç§˜ćŻ†èšˆçź—ă‚’ç”šă„ăŸæ™‚çł»ćˆ—æƒ…ć ±ăźćź‰ć…šăȘ集蚈æ–čæł•
ç§˜ćŻ†èšˆçź—ă‚’ç”šă„ăŸæ™‚çł»ćˆ—æƒ…ć ±ăźćź‰ć…šăȘ集蚈æ–čæł•æˆæł° ć„ˆè‰Ż
 
Keyboard covert channels
Keyboard covert channelsKeyboard covert channels
Keyboard covert channelsFreeman Zhang
 
AWS re:Invent 2016: FINRA in the Cloud: the Big Data Enterprise (ENT313)
AWS re:Invent 2016: FINRA in the Cloud: the Big Data Enterprise (ENT313)AWS re:Invent 2016: FINRA in the Cloud: the Big Data Enterprise (ENT313)
AWS re:Invent 2016: FINRA in the Cloud: the Big Data Enterprise (ENT313)Amazon Web Services
 
Congenital anomalies of upper limb
Congenital anomalies of upper limbCongenital anomalies of upper limb
Congenital anomalies of upper limbVictor Effiom
 
Radial club hand
Radial club handRadial club hand
Radial club handdralizameer
 
Skeletal dysplasia : Radiodiagnosis
Skeletal dysplasia : RadiodiagnosisSkeletal dysplasia : Radiodiagnosis
Skeletal dysplasia : Radiodiagnosiskunalj000
 

Andere mochten auch (14)

ORAM: A Brief Overview
ORAM: A Brief OverviewORAM: A Brief Overview
ORAM: A Brief Overview
 
Oram And Secure Computation
Oram And Secure ComputationOram And Secure Computation
Oram And Secure Computation
 
Role-based Access Control on AWS
Role-based Access Control on AWSRole-based Access Control on AWS
Role-based Access Control on AWS
 
Radial club hand
Radial club handRadial club hand
Radial club hand
 
Drb Nih Talk Jan 2009
Drb Nih Talk Jan 2009Drb Nih Talk Jan 2009
Drb Nih Talk Jan 2009
 
Holt oram syndrome presentation
Holt oram syndrome presentationHolt oram syndrome presentation
Holt oram syndrome presentation
 
Analyzing Bitcoin Security
Analyzing Bitcoin SecurityAnalyzing Bitcoin Security
Analyzing Bitcoin Security
 
ç§˜ćŻ†èšˆçź—ă‚’ç”šă„ăŸæ™‚çł»ćˆ—æƒ…ć ±ăźćź‰ć…šăȘ集蚈æ–čæł•
ç§˜ćŻ†èšˆçź—ă‚’ç”šă„ăŸæ™‚çł»ćˆ—æƒ…ć ±ăźćź‰ć…šăȘ集蚈æ–čæł•ç§˜ćŻ†èšˆçź—ă‚’ç”šă„ăŸæ™‚çł»ćˆ—æƒ…ć ±ăźćź‰ć…šăȘ集蚈æ–čæł•
ç§˜ćŻ†èšˆçź—ă‚’ç”šă„ăŸæ™‚çł»ćˆ—æƒ…ć ±ăźćź‰ć…šăȘ集蚈æ–čæł•
 
Keyboard covert channels
Keyboard covert channelsKeyboard covert channels
Keyboard covert channels
 
AWS re:Invent 2016: FINRA in the Cloud: the Big Data Enterprise (ENT313)
AWS re:Invent 2016: FINRA in the Cloud: the Big Data Enterprise (ENT313)AWS re:Invent 2016: FINRA in the Cloud: the Big Data Enterprise (ENT313)
AWS re:Invent 2016: FINRA in the Cloud: the Big Data Enterprise (ENT313)
 
Congenital anomalies of upper limb
Congenital anomalies of upper limbCongenital anomalies of upper limb
Congenital anomalies of upper limb
 
Radial club hand
Radial club handRadial club hand
Radial club hand
 
Skeletal dysplasia : Radiodiagnosis
Skeletal dysplasia : RadiodiagnosisSkeletal dysplasia : Radiodiagnosis
Skeletal dysplasia : Radiodiagnosis
 
Congenital hand anomalies
Congenital hand anomaliesCongenital hand anomalies
Congenital hand anomalies
 

Ähnlich wie Path oram

Building a Replicated Logging System with Apache Kafka
Building a Replicated Logging System with Apache KafkaBuilding a Replicated Logging System with Apache Kafka
Building a Replicated Logging System with Apache KafkaGuozhang Wang
 
Cassandra : to be or not to be @ TechTalk
Cassandra : to be or not to be @ TechTalkCassandra : to be or not to be @ TechTalk
Cassandra : to be or not to be @ TechTalkAndriy Rymar
 
APEX tour 2019 - successful development with autonomous
APEX tour 2019 - successful development with autonomousAPEX tour 2019 - successful development with autonomous
APEX tour 2019 - successful development with autonomousConnor McDonald
 
rac_for_beginners_ppt.pdf
rac_for_beginners_ppt.pdfrac_for_beginners_ppt.pdf
rac_for_beginners_ppt.pdfHODCA1
 
Data structures assignmentweek4b.pdfCI583 Data Structure
Data structures assignmentweek4b.pdfCI583 Data StructureData structures assignmentweek4b.pdfCI583 Data Structure
Data structures assignmentweek4b.pdfCI583 Data StructureOllieShoresna
 
A Simple Communication System Design Lab #1 with MATLAB Simulink
A Simple Communication System Design Lab #1 with MATLAB Simulink A Simple Communication System Design Lab #1 with MATLAB Simulink
A Simple Communication System Design Lab #1 with MATLAB Simulink Jaewook. Kang
 
Spark Summit EU talk by Qifan Pu
Spark Summit EU talk by Qifan PuSpark Summit EU talk by Qifan Pu
Spark Summit EU talk by Qifan PuSpark Summit
 
SQL and PLSQL features for APEX Developers
SQL and PLSQL features for APEX DevelopersSQL and PLSQL features for APEX Developers
SQL and PLSQL features for APEX DevelopersConnor McDonald
 
Art of the Possible_Tim Faulkes.pdf
Art of the Possible_Tim Faulkes.pdfArt of the Possible_Tim Faulkes.pdf
Art of the Possible_Tim Faulkes.pdfAerospike, Inc.
 
Configuring Aerospike - Part 2
Configuring Aerospike - Part 2 Configuring Aerospike - Part 2
Configuring Aerospike - Part 2 Aerospike, Inc.
 
Operating Systems: Revision
Operating Systems: RevisionOperating Systems: Revision
Operating Systems: RevisionDamian T. Gordon
 
Experiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah WatkinsExperiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah WatkinsCeph Community
 
spark stream - kafka - the right way
spark stream - kafka - the right way spark stream - kafka - the right way
spark stream - kafka - the right way Dori Waldman
 
Flip flop& RAM ROM
Flip flop& RAM ROMFlip flop& RAM ROM
Flip flop& RAM ROMBala Ganesh
 
riyaj_advanced_rac_troubleshooting_rmoug_2010_ppt.pdf
riyaj_advanced_rac_troubleshooting_rmoug_2010_ppt.pdfriyaj_advanced_rac_troubleshooting_rmoug_2010_ppt.pdf
riyaj_advanced_rac_troubleshooting_rmoug_2010_ppt.pdfabdulhafeezkalsekar1
 
Sayeh extension(v23)
Sayeh extension(v23)Sayeh extension(v23)
Sayeh extension(v23)Farzan Dehbashi
 
Deep Dive on the Amazon Aurora MySQL-compatible Edition - DAT301 - re:Invent ...
Deep Dive on the Amazon Aurora MySQL-compatible Edition - DAT301 - re:Invent ...Deep Dive on the Amazon Aurora MySQL-compatible Edition - DAT301 - re:Invent ...
Deep Dive on the Amazon Aurora MySQL-compatible Edition - DAT301 - re:Invent ...Amazon Web Services
 
Profiling the logwriter and database writer
Profiling the logwriter and database writerProfiling the logwriter and database writer
Profiling the logwriter and database writerEnkitec
 
07 - Bypassing ASLR, or why X^W matters
07 - Bypassing ASLR, or why X^W matters07 - Bypassing ASLR, or why X^W matters
07 - Bypassing ASLR, or why X^W mattersAlexandre Moneger
 
Configuring Aerospike - Part 1
Configuring Aerospike - Part 1Configuring Aerospike - Part 1
Configuring Aerospike - Part 1Aerospike, Inc.
 

Ähnlich wie Path oram (20)

Building a Replicated Logging System with Apache Kafka
Building a Replicated Logging System with Apache KafkaBuilding a Replicated Logging System with Apache Kafka
Building a Replicated Logging System with Apache Kafka
 
Cassandra : to be or not to be @ TechTalk
Cassandra : to be or not to be @ TechTalkCassandra : to be or not to be @ TechTalk
Cassandra : to be or not to be @ TechTalk
 
APEX tour 2019 - successful development with autonomous
APEX tour 2019 - successful development with autonomousAPEX tour 2019 - successful development with autonomous
APEX tour 2019 - successful development with autonomous
 
rac_for_beginners_ppt.pdf
rac_for_beginners_ppt.pdfrac_for_beginners_ppt.pdf
rac_for_beginners_ppt.pdf
 
Data structures assignmentweek4b.pdfCI583 Data Structure
Data structures assignmentweek4b.pdfCI583 Data StructureData structures assignmentweek4b.pdfCI583 Data Structure
Data structures assignmentweek4b.pdfCI583 Data Structure
 
A Simple Communication System Design Lab #1 with MATLAB Simulink
A Simple Communication System Design Lab #1 with MATLAB Simulink A Simple Communication System Design Lab #1 with MATLAB Simulink
A Simple Communication System Design Lab #1 with MATLAB Simulink
 
Spark Summit EU talk by Qifan Pu
Spark Summit EU talk by Qifan PuSpark Summit EU talk by Qifan Pu
Spark Summit EU talk by Qifan Pu
 
SQL and PLSQL features for APEX Developers
SQL and PLSQL features for APEX DevelopersSQL and PLSQL features for APEX Developers
SQL and PLSQL features for APEX Developers
 
Art of the Possible_Tim Faulkes.pdf
Art of the Possible_Tim Faulkes.pdfArt of the Possible_Tim Faulkes.pdf
Art of the Possible_Tim Faulkes.pdf
 
Configuring Aerospike - Part 2
Configuring Aerospike - Part 2 Configuring Aerospike - Part 2
Configuring Aerospike - Part 2
 
Operating Systems: Revision
Operating Systems: RevisionOperating Systems: Revision
Operating Systems: Revision
 
Experiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah WatkinsExperiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah Watkins
 
spark stream - kafka - the right way
spark stream - kafka - the right way spark stream - kafka - the right way
spark stream - kafka - the right way
 
Flip flop& RAM ROM
Flip flop& RAM ROMFlip flop& RAM ROM
Flip flop& RAM ROM
 
riyaj_advanced_rac_troubleshooting_rmoug_2010_ppt.pdf
riyaj_advanced_rac_troubleshooting_rmoug_2010_ppt.pdfriyaj_advanced_rac_troubleshooting_rmoug_2010_ppt.pdf
riyaj_advanced_rac_troubleshooting_rmoug_2010_ppt.pdf
 
Sayeh extension(v23)
Sayeh extension(v23)Sayeh extension(v23)
Sayeh extension(v23)
 
Deep Dive on the Amazon Aurora MySQL-compatible Edition - DAT301 - re:Invent ...
Deep Dive on the Amazon Aurora MySQL-compatible Edition - DAT301 - re:Invent ...Deep Dive on the Amazon Aurora MySQL-compatible Edition - DAT301 - re:Invent ...
Deep Dive on the Amazon Aurora MySQL-compatible Edition - DAT301 - re:Invent ...
 
Profiling the logwriter and database writer
Profiling the logwriter and database writerProfiling the logwriter and database writer
Profiling the logwriter and database writer
 
07 - Bypassing ASLR, or why X^W matters
07 - Bypassing ASLR, or why X^W matters07 - Bypassing ASLR, or why X^W matters
07 - Bypassing ASLR, or why X^W matters
 
Configuring Aerospike - Part 1
Configuring Aerospike - Part 1Configuring Aerospike - Part 1
Configuring Aerospike - Part 1
 

KĂŒrzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĂșjo
 

KĂŒrzlich hochgeladen (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Path oram

  • 1. An Extremely Simple ORAM Protocol – Path ORAM Published by Stefanov, Emil, et al. Presented by Shijie Zhang
  • 2. Cloud storage SkyDrive Windows Azure Storage Amazon S3, EBS Dropbox EMC Atmos Mozy iCloud Google Storage
  • 3. Cloud storage SkyDrive Windows Azure Storage Amazon S3, EBS Dropbox EMC Atmos Mozy iCloud Google Storage Can we TRUST the cloud? Not completely
  • 5. Search on Cloud storage What if users need to search on encrypted documents? e.g. documents containing keyword “urgent”
  • 6. Searchable Encryption Searchable encryption schemes are proposed User Server Files Encrypted Files + Index (contains trapdoors only known by user)
  • 7. Searchable Encryption Searchable encryption schemes proposed User Server Search for documents containing keyword e.g. “urgent”
  • 8. Searchable Encryption Searchable encryption schemes proposed User Server Search for documents containing keyword e.g. “urgent” Trapdoor function (“urgent”)
  • 9. Searchable Encryption Searchable encryption schemes proposed User Server Search for documents containing keyword e.g. “urgent” Trapdoor function (“urgent”) Trapdoor function (“urgent”) + Index
  • 10. Searchable Encryption Searchable encryption schemes proposed User Server Search for documents containing keyword e.g. “urgent” Trapdoor function (“urgent”) Trapdoor function (“urgent”) + Index Requested encrypted documents
  • 11. Information leaked ??? Most previous research works ‱ Do not leaked Encrypted documents ‱ Do not leaked Searched keywords However, most previous research works ‱ leaked access pattern
  • 12. Access Pattern Leaked Access Pattern leaked: ‱ Which data is being accessed ‱ When the data was last accessed ‱ Whether the same data is being accessed ‱ Access randomly or sequentially ‱ Whether the access is a read or write What could be done with access pattern ?
  • 13. Client Buy IBM Buy EMC ?Buy IBM Access patterns leak: 80% of search queries to encrypted database (Islam et. al) ?Buy IBM Server Search queries Example Attack ?Buy PC
  • 15. Oblivious RAM ‱ Search over encrypted data without revealing access pattern ‱ Impractical O(N) bandwidth overhead
  • 16. Path ORAM ‱ Most practical ORAM construction to date ‱ High efficiency and low overhead Asymptotic breakthrough for large blocks Instantiation Client Storage Bandwidth Without Recursion đ‘¶ đ‘” đ‘¶ đ„đšđ  đ‘” With Recursion ~ đ‘¶ đ„đšđ  đ‘” 𝟐 đ„đšđ  𝐗 đ‘¶ đ„đšđ  đ‘” 𝟐 đ„đšđ  𝐗
  • 17. Path ORAM ‱ Server storage binary map ‱ Client storage position map, stash
  • 18. Path ORAM nodes can contain multiple blocks some nodes are empty Server: data blocks stored in nodes of the tree bucket block Block # data
  • 19. Path ORAM 1 2 3 4 5 6 7 8 “Position” comes from the leaf sequence number.
  • 20. Path ORAM 1 2 3 4 5 6 7 8 A block must be placed on the path to its “position” If a BLOCK’s position is 5, it can only be in the this path
  • 21. Path ORAM 1 2 3 4 5 6 7 8 A block must be placed on the path to its “position” If a BLOCK’s position is 1, it can only be in the this path
  • 22. Path ORAM 1 2 3 4 5 6 7 8 Blocks’ position are chosen randomly from 1 to 2^L(number of leaves). Some nodes(buckets) have multiple blocks while some are empty.
  • 23. Path ORAM Client storage: position map & stash position map: to store each block’s “position” (assume there are N blocks in the tree) Block # Block’s “position” 1 2 
 
 
. 
. N-1 N 5 4 
 
 
. 
. 1 7
  • 24. Path ORAM position map: to store each block’s “position” (assume there are N blocks in the tree) Block # Block’s “position” 1 2 
 
 
. 
. 13 14 2 4 1 1 10 6 2 58 714 9 1 13 3 12 4 11 1 2 3 4 Client storage: position map & stash
  • 25. Path ORAM Stash: 1. block cash 2. to store blocks overflowed from the server Client storage: position map & stash one block
  • 27. Path ORAM An example for access (op, a, data) Example: A user wants to modify block “7”
  • 28. Path ORAM 10 6 2 5 714 1 13 3 12 4 11 1 2 3 4 Server Client stash position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 2 2 1 1 4 3 2 1 Example: A user wants to modify block “7” 8 9
  • 29. Path ORAM 10 6 2 5 714 9 1 13 3 12 4 11 1 2 3 4 Server Client stash position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 2 2 1 1 4 3 2 1 Example: A user wants to modify block “7” 1. Lookup block’s position 8 9
  • 30. Path ORAM 10 6 2 5 714 1 13 3 12 4 11 1 2 3 4 Server Client stash position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 2 2 1 1 4 3 2 1 Example: A user wants to modify block “7” 2. Read the entire path 8 9 71 13 10 6 71 13 10 6 decrypt
  • 31. Path ORAM 10 6 2 5 714 1 13 3 12 4 11 1 2 3 4 Server Client stash position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 2 2 1 1 4 3 2 1 Example: A user wants to modify block “7” 8 9 71 13 10 6 1 13 10 6 decrypt 7 3. Client can now read/modify data in block
  • 32. Path ORAM 10 6 2 58 714 9 1 13 3 12 4 11 1 2 3 4 Server Client position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 2 2 1 1 4 3 2 1 Example: A user wants to modify block “7” Note: the blocks on the tree are encrypted 4. Assign a new random position. Position[block 7] = UniformRandom(1, 2, 3, 4) here = 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 1 2 1 1 4 3 2 1
  • 33. Path ORAM 10 6 2 5 14 1 13 3 12 4 11 1 2 3 4 Server Client Note: the blocks on the tree are encrypted 5. Write path back 7 Principles: A. Blocks should be pushed down as deep as possible B. Blocks should always be on the path to its position
  • 34. Path ORAM 10 6 2 5 14 1 13 3 12 4 11 1 2 3 4 Server Client position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 1 2 1 1 4 3 2 1 Note: the blocks on the tree are encrypted 5. Write path back. Principle A: Push blocks as deep as possible stash 8 9 1 13 10 67 Try the deepest possible node first
  • 35. Path ORAM 10 6 2 5 14 1 13 3 12 4 11 1 2 3 4 Server Client position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 1 2 1 1 4 3 2 1 Note: the blocks on the tree are encrypted 5. Write path back. Principle A: Push blocks as deep as possible stash 8 9 1 13 10 67 If full, try the upper level
  • 36. Path ORAM 10 6 2 5 14 1 13 3 12 4 11 1 2 3 4 Server Client position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 1 2 1 1 4 3 2 1 Note: the blocks on the tree are encrypted 5. Write path back. Principle A: Push blocks as deep as possible stash 8 9 1 13 10 67 If full, try the upper level
  • 37. Path ORAM 10 6 2 5 14 1 13 3 12 4 11 1 2 3 4 Server Client position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 1 2 1 1 4 3 2 1 Note: the blocks on the tree are encrypted 5. Write path back. Principle A: Push blocks as deep as possible stash 8 9 1 13 10 67 If root is full, store in the stash
  • 38. Path ORAM 10 6 2 5 14 1 13 3 12 4 11 1 2 3 4 Server Client position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 1 2 1 1 4 3 2 1 Note: the blocks on the tree are encrypted 5. Write path back Principle B: The block should always be on its path to “position” stash 8 9 1 13 10 67 2 1 2 1 2 1 1“positions” 7
  • 39. Path ORAM 10 6 2 5 14 1 13 3 12 4 11 1 2 3 4 Server Client position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 1 2 1 1 4 3 2 1 Note: the blocks on the tree are encrypted 5. Write path back Block 8, 1, 13 can end up at any buckets on the entire path Principle B: The block should always be on its path to “position” stash 8 9 1 13 10 67 2 1 2 1 2 1 1 7
  • 40. Path ORAM 10 6 2 5 14 1 13 3 12 4 11 1 2 3 4 Server Client position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 1 2 1 1 4 3 2 1 Note: the blocks on the tree are encrypted 5. Write path back Block 9, 7, 10, 6 can only end up at these buckets Principle B: The block should always be on its path to “position” stash 8 9 1 13 10 67 2 1 2 1 2 1 1 7
  • 41. Path ORAM 2 5 14 3 12 4 11 1 2 3 4 Server Client position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 1 2 1 1 4 3 2 1 Note: the blocks on the tree are encrypted 5. Write path back stash 8 9 1 13 10 67 2 1 2 1 2 1 1 3 2 1 Get back to our example:
  • 42. Path ORAM 2 5 14 8 3 12 4 11 1 2 3 4 Server Client position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 1 2 1 1 4 3 2 1 Note: the blocks on the tree are encrypted 5. Write path back stash 8 9 1 13 10 67 2 1 2 1 2 1 1 3 2 1 13
  • 43. Path ORAM 2 51 14 8 7 3 12 4 11 1 2 3 4 Server Client position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 1 2 1 1 4 3 2 1 Note: the blocks on the tree are encrypted 5. Write path back stash 8 9 1 13 10 67 2 1 2 1 2 1 1 3 2 1 13
  • 44. Path ORAM 9 6 2 51 14 8 7 3 12 4 11 1 2 3 4 Server Client position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 1 2 1 1 4 3 2 1 Note: the blocks on the tree are encrypted 5. Write path back stash 8 9 1 13 10 67 2 1 2 1 2 1 1 3 2 1 13
  • 45. Path ORAM 9 6 2 51 14 8 7 3 12 4 11 1 2 3 4 Server Client position map 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 4 3 4 3 1 1 2 1 1 4 3 2 1 Note: the blocks on the tree are encrypted 5. Write path back stash 10 3 2 1 13
  • 46. Client storage Position map: ‱ Log N bits per block ‱ Totally N log N bits Too much !!!
  • 47. Recursion ‱ Store the position map in another ORAM. ‱ Do this recursively. Server Client 
 
 O-RAM #1 O-RAM #2: Position Map for O-RAM #1 O-RAM #3: Position Map for O-RAM #2
  • 48. Security‱ Security Definition: Given two access sequences, Computational indistinguishable by anyone but the user ‱ Server only observes a single random number on access to each block Each access number is random not computational distinguishable by anyone but the user
  • 49. Security - example Server Client stashposition map Suppose client accesses blocks 1, 2, 3, 4.5 0 1 2 3 4 5 6 7positions: 1 6 4 Server observes: 5, 1, 6, 4 Client looks up in position map. 5 1 6 4 equally likely If client instead accesses: 46, 49, 53, 60 the two access patterns are indistinguishable
  • 50. Proof for Bounds on Stash Usage Target: the probability for stash overflow is low Equivalent to: Find a subtree in ORAM binary tree that after a sequences of access “s”, the number of Remaining blocks are bigger than n(T)Z+R
  • 51. References 1. Path ORAM, Emil, S., et al. slides and papers, 2012 2. Access Pattern Disclosure on Searchable Encryption. Mohammad, S. et al. , 2006