SlideShare a Scribd company logo
1 of 33
Download to read offline
Self-Enforcing Access Control for Encrypted RDF
Javier D. Fernández,Sabrina Kirrane, Axel Polleres,Simon Steyskal
ESWC 2017– Portorož
Publishing Linked Open Data
Motivation
“Open data and content can be freely used, modified,
and shared by anyone for any purpose” - http://opendefinition.org/
RDB2RDF
RDB2RDF
RDB2RDF
Interface
RDF Store
RDF(a) Document
What about Linked Closed Data?
Motivation
§ What are the incentives for data owners to publish their
data as Closed Data?
§ financial considerations, compliance with institutional/community
norms, privacy requirements, …
Publishing Linked Closed Data
Motivation
§ In order to also cater for Linked Closed Data, existing
infrastructure needs to be extended with suitable
security mechanisms:
Encryption
Selectively grant or
revoke access to data.
Protect data against
unauthorized access.
Access control
Allow Multiple Users Access to Encrypted Data
Concrete example
Alice
Admin
„What‘s my ex:salary?“
„Show me all triples!“
Multiple Users Encryption Granularity
Scenario 1: a key for everything
Encryption is coarse-grained
S P O
ex:Alice foaf:pastProject ex:Project1
ex:Alice ex:salary 30000
ex:Alice foaf:mbox "alice@example.org"  
ex:Bob foaf:pastProject ex:Project1
ex:Bob ex:salary 20000
ex:Bob foaf:mbox "bob@example.org"  
Alice
Admin
ex:Bob earns
less than me!
What‘s my
ex:salary?
Show me all
triples!
Alice shouldn’t have access
to that information!
Scenario 2: a key for each triple
Encryption is coarse-grained
PAGE 7
S P O
ex:Alice foaf:pastProject ex:Project1
ex:Alice ex:salary 30000
ex:Alice ex:salary 30000
ex:Alice foaf:mbox "alice@example.org"  
ex:Bob foaf:pastProject ex:Project1
ex:Bob ex:salary 20000
ex:Bob foaf:mbox "bob@example.org"  
Alice
Admin
I don‘t want
all those
keys..
What‘s my
ex:salary?
Show me all
triples!
Admin has to manage
a lot of keys!
Scenario 3: a key for each user
Encryption is coarse-grained
PAGE 8
S P O
ex:Alice foaf:pastProject ex:Project1
ex:Alice ex:salary 30000
ex:Alice foaf:mbox "alice@example.org"  
ex:Bob foaf:pastProject ex:Project1
ex:Bob ex:salary 20000
ex:Bob foaf:mbox "bob@example.org"  
Alice
Admin
I don‘t want
all those
keys..
What‘s my
ex:salary?
Show me all
triples!
Admin has to manage
a lot of keys!
Scenario 4: one key opens multiple locks
Encryption based on patterns
S P O
ex:Alice foaf:pastProject ex:Project1
ex:Alice ex:salary 30000
ex:Alice foaf:mbox "alice@example.org"  
ex:Bob foaf:pastProject ex:Project1
ex:Bob ex:salary 20000
ex:Bob foaf:mbox "bob@example.org"  
Alice
Admin
Only 1 key,
that‘s much
better
What‘s my
ex:salary?
Show me all
triples! =  (ex:Alice,  ex:salary,  ?)
=  (?,  ?,  ?)
one key can open
multiple locks
1. Compute the triple vector using a  mapping  function  to  map  the    subject,  
predicate,  and  object  value  to  elements  in  ℤ 𝑁
2. Functionally encrypt a randomly generated seed using the triple vector
3. Derive an encryption key from our previously generated seed and use AES to
encrypt the triple with an encryption key
4. Return the triple cipher and the decryption key
Encryption of RDF Triples
A Functional Encryption Scheme for RDF
triple vector
key
triple cipher
1)
2) 3)
4)
jpbc http://gas.dia.unisa.it/projects/jpbc/#.WS73m_exW7M
Encryption of RDF Triples
A Functional Encryption Scheme for RDF
triple vector
triple cipher
𝜎 denotes  a  mapping  function  that  maps  a  triple’s
subject,  predicate,  and  object  value  to  elements  in  ℤ 𝑁
key
Decryption of RDF Triples
A Functional Encryption Scheme for RDF
𝒚 𝒔 𝒕
𝒚′ 𝒔 𝒕
𝒚 𝒑 𝒕
𝒚′ 𝒑 𝒕
𝒚 𝒐 𝒕
𝒚′ 𝒐 𝒕
−𝑟+ ∗ 	
   𝜎(𝐴𝑙𝑖𝑐𝑒) 𝑟+ −𝑟5 ∗ 	
   𝜎(𝑝𝑎𝑠𝑡𝑃) 𝑟5 −𝑟; ∗ 	
   𝜎(𝑃𝑟𝑜1) 𝑟;
tp  =  (ex:Alice,  foaf:pastProject,  ?)
t  =  (ex:Alice,  foaf:pastProject,  ex:Project1)
𝐱 𝒔 𝒕𝐩
𝐱′ 𝒔 𝒕𝐩
𝐱 𝒑 𝒕𝐩
𝐱′ 𝒑 𝒕𝐩
𝐱 𝒐 𝒕𝐩
𝐱′ 𝒐 𝒕𝐩
1 𝜎(𝐴𝑙𝑖𝑐𝑒) 1 𝜎(𝑝𝑎𝑠𝑡𝑃) 0 0
−𝑟+ ∗ 	
   𝜎 𝐴𝑙𝑖𝑐𝑒 + 𝑟+ ∗ 	
   𝜎 𝐴𝑙𝑖𝑐𝑒 + −𝑟5 ∗ 	
   𝜎 𝑝𝑎𝑠𝑡𝑃 + 𝑟5 ∗ 	
   𝜎 𝑝𝑎𝑠𝑡𝑃 + 0 + 0 = 0
compute the inner-product of their
corresponding triple vector
Decryption of RDF Triples
Optimising Query Execution
S P O
ex:Alice foaf:pastProject ex:Project1
ex:Alice ex:salary 30000
ex:Alice foaf:mbox "alice@example.org"  
ex:Bob foaf:pastProject ex:Project1
ex:Bob ex:salary 20000
ex:Bob foaf:mbox "bob@example.org"  
=  (ex:Alice,  ?,  ?)
She has to always check
each and every triple
O S P
ex:Alice foaf:pastProject ex:Project1
ex:Alice ex:salary 30000
ex:Alice foaf:mbox "alice@example.org"  
ex:Bob foaf:pastProject ex:Project1
ex:Bob ex:salary 20000
ex:Bob foaf:mbox "bob@example.org"  
P O S
ex:Alice foaf:pastProject ex:Project1
ex:Alice ex:salary 30000
ex:Alice foaf:mbox "alice@example.org"  
ex:Bob foaf:pastProject ex:Project1
ex:Bob ex:salary 20000
ex:Bob foaf:mbox "bob@example.org"  
3-Index
Optimising Query Execution
S P O
ex:Alice foaf:pastProject ex:Project1
ex:Alice ex:salary 30000
ex:Alice foaf:mbox "alice@example.org"  
ex:Bob foaf:pastProject ex:Project1
ex:Bob ex:salary 20000
ex:Bob foaf:mbox "bob@example.org"  
=  (ex:Alice,  ?,  ?)
S P O
ex:Alice foaf:pastProject ex:Project1
ex:Alice ex:salary 30000
ex:Alice foaf:mbox "alice@example.org"  
We use three key-
value B-Trees and data
is encrypted using a
strong hash function
O S P
ex:Alice foaf:pastProject ex:Project1
ex:Alice ex:salary 30000
ex:Alice foaf:mbox "alice@example.org"  
ex:Bob foaf:pastProject ex:Project1
ex:Bob ex:salary 20000
ex:Bob foaf:mbox "bob@example.org"  
3-Index
Optimising Query Execution
S P O
ex:Alice foaf:pastProject ex:Project1
ex:Alice ex:salary 30000
ex:Alice foaf:mbox "alice@example.org"  
ex:Bob foaf:pastProject ex:Project1
ex:Bob ex:salary 20000
ex:Bob foaf:mbox "bob@example.org"  
S P O
ex:Alice foaf:pastProject ex:Project1
ex:Alice ex:salary 30000
ex:Alice foaf:mbox "alice@example.org"  
=  (?,  foaf:pastProject,  ex:Project1)
P O S
ex:salary 30000 ex:Alice
ex:salary 20000 ex:Bob
foaf:mbox
"alice@example.or
g"  
ex:Alice
foaf:mbox "bob@example.org"   ex:Bob
foaf:pastProject ex:Project1 ex:Alice
foaf:pastProject ex:Project1 ex:Bob
We use three key-
value B-Trees and data
is encrypted using a
strong hash function
S O
ex:Alice ex:Project1
ex:Bob ex:Project1
S O
ex:Alice 30000
ex:Bob 20000
S O
ex:Alice "alice@example.org"  
ex:Bob "bob@example.org"  
Vertical Partitioning
Optimising Query Execution
foaf:mbox
ex:salary
foaf:pastProject
S
ex:Alice foaf:pastPro
ex:Alice ex:salar
ex:Alice foaf:mbo
ex:Bob foaf:pastPro
ex:Bob ex:salar
ex:Bob foaf:mbo
=  (?,  foaf:pastProject,  ex:Project1)
We use three key-
value B-Trees and data
is encrypted using a
strong hash function
S O
ex:Alice ex:Project1
ex:Bob ex:Project1
S O
ex:Alice 30000
ex:Bob 20000
S O
ex:Alice "alice@example.org"  
ex:Bob "bob@example.org"  
Vertical Partitioning
Optimising Query Execution
foaf:mbox
ex:salary
foaf:pastProject
=  (ex:Alice,  ?,  ?)
S
ex:Alice foaf:pastPro
ex:Alice ex:salar
ex:Alice foaf:mbo
ex:Bob foaf:pastPro
ex:Bob ex:salar
ex:Bob foaf:mbo
We use three key-
value B-Trees and data
is encrypted using a
strong hash function
Experiment Setup
Evaluation
§ Real-world datasets from different domains:
§ Census represents the 2010 Australian census
§ Jamendo lists music records and artists
§ AEMET includes sensor data from weather stations in Spain
§ Lehigh University Benchmark (LUBM) data generator to obtain synthetic
datasets
Encrypting and Indexing
Evaluation
§ Both strategies report similar performance results
Ø VP is slightly faster for loading given that only the subject and object is
used to index each triple
§ Encryption overhead
Ø can be of one order of magnitude greater for the smaller datasets
Ø this is greatly reduced for larger datasets
B-Tree
indexes
become
slower the
more triples
are added
(due to
rebalancing)
Query Resolution
Evaluation
§ 3-Index is better than VP for queries with unbound predicates as VP
has to iterate though all predicate tables in this case
§ There is minimum overhead between the plain and encrypted
indexes if a look-up returns only a small amount of results
LUBM Jamendo
if you have
to decrypt
more triples,
it takes
more time
overall
Scalability
Evaluation
§ Our approach allows for parallel encryption/decryption of
triples
Ø scales with the system’s supported level of parallelization
§ Encrypting and indexing (3-Index) 10,000 LUBM triples takes
about:
Ø 76s with 16 available cores
Ø 133s with 8 available cores
Ø 262s with 4 available cores
Ø 497s with 2 available cores
§ Each result triple can be returned as soon as its decryption
has finished!
Results
Conclusion
§ Practical realisation of a functional encryption scheme for
RDF
§ generate decryption keys based on (triple-)patterns
§ a decryption key can decrypt all triples that match its associated triple
pattern
Ø provides a high degree of flexibility and enables controlled access to
encrypted RDF data
§ Evaluation
§ reasonable loading and query performance overheads with respect to
traditional, non-encrypted data retrieval
§ relatively slow for batch decryption, but it is suitable for serving
incremental results
https://aic.ai.wu.ac.at/comcrypt/sld/
Future Work
Conclusion
Evaluate different indexing strategies
Ø optimise the loading time and query performance of large queries
Cater for named graphs
Ø encrypting quads instead of triples and generating keys based on quad
patterns
Triple store for compressed encrypted data
Ø Current implementation uses an offtheshelf key value store
Ø Build a custom triple store based on HDT
Add a “policy” tier
Ø manages the access/revocation of query keys and serve as fully fledged
security framework for Linked Data
Self-Enforcing Access Control
for Encrypted RDF
S P O
ex:Alice foaf:pastProject ex:Project1
ex:Alice ex:salary 30000
ex:Alice foaf:mbox "alice@example.org"  
ex:Bob foaf:pastProject ex:Project1
ex:Bob ex:salary 20000
ex:Bob foaf:mbox "bob@example.org"  
Alice
Admin
Only 1 key,
that‘s much
better
Show me
ex:salary?
Show me all
triples!
=  (ex:Alice,  ex:salary,  ?)
=  (?,  ?,  ?)
Backup Slides
PAGE 25
Overview
Public Key Encryption
data owner will encrypt data to
the public key of a specific user
only a user possessing the corresponding
private key can decrypt the ciphertext
§ Encryption is targeted towards a specific user
§ Decryption is an all or nothing operation; either:
a) a ciphertext is fully decrypted and the original data is recovered
b) it fails and nothing is learned.
Figure taken from http://www.infosectoday.com/Articles/Intro_to_Cryptography
Functional Encryption to the Rescue!
More fine-grained control over access to encrypted data
§ Functional Encryption
§ secret keys correspond to functions in some class 𝐹
§ each ciphertext is associated with a (secret) attribute of some
attribute space 𝛴
§ a ciphertext associated with 𝐼 ∈ 𝛴 can be decrypted by a secret
key 𝑠𝑘G corresponding to the function 𝑓 ∈ 𝐹 iff 𝑓(𝐼) = 1.
§ Inner-product Functional Encryption
§ Each ciphertext is associated with a (secret) attribute vector 𝒚
§ Each secret key corresponds to a vector 𝒙 that is incorporated into
its respective boolean function 𝑓 𝒙
𝑓 𝒙(𝒚) = 1 iff 𝒙 J 𝒚 = 0
J. Katz et al.: “Predicate Encryption Supporting Disjunctions,Polynomial
Equations, and Inner Products”. J. Cryptology,26(2): 191–224, 2013.
Generating Decryption Keys
A Functional Encryption Scheme for RDF
serves as a wildcard
Query Resolution (cold)
Evaluation
§ 3-Index reports a noticeable better performance than VP
for queries with unbound predicates
§ VP has to iterate though all predicate tables in this case.
§ 3-Index and VP remain competitive wrt. their non-secure
counterparts, if a look-up returns only a small amount of
results
§ Decrypting Jamendo entirely took about 2256s using VP
and 2808s using 3-Index
§ Leading to triple decryption rates of 465 triples/sec and
374 triples/sec respectively Each result triple can be
returned as soon as its
decryption has finished!
Query Resolution (cold)
Evaluation
§ 3-Index reports a noticeable better performance than VP
for queries with unbound predicates
§ VP has to iterate though all predicate tables in this case.
§ 3-Index and VP remain competitive wrt. their non-secure
counterparts, if a look-up returns only a small amount of
results
§ Decrypting Jamendo entirely took about 2256s using VP
and 2808s using 3-Index
§ Leading to triple decryption rates of 465 triples/s and
374 triples/s respectively
Each result triple can be
returned as soon as its
decryption has finished!
5M LUBM triples Jamendo
Decryption of RDF Triples
A Functional Encryption Scheme for RDF
𝒚 𝒔 𝒕
𝒚′ 𝒔 𝒕
𝒚 𝒑 𝒕
𝒚′ 𝒑 𝒕
𝒚 𝒐 𝒕
𝒚′ 𝒐 𝒕
−𝑟+ ∗ 	
   𝜎(𝐴𝑙𝑖𝑐𝑒) 𝑟+ −𝑟5 ∗ 	
   𝜎(𝑝𝑎𝑠𝑡𝑃) 𝑟5 −𝑟; ∗ 	
   𝜎(𝑃𝑟𝑜1) 𝑟;
tp  =  (ex:Alice,  ex:salary,  ?)
t  =  (ex:Alice,  foaf:pastProject,  ex:Project1)
𝐱 𝒔 𝒕𝐩
𝐱′ 𝒔 𝒕𝐩
𝐱 𝒑 𝒕𝐩
𝐱′ 𝒑 𝒕𝐩
𝐱 𝒐 𝒕𝐩
𝐱′ 𝒐 𝒕𝐩
1 𝜎(𝐴𝑙𝑖𝑐𝑒) 1 𝜎(𝑠𝑎𝑙𝑎𝑟𝑦) 0 0
−𝑟+ ∗ 	
   𝜎 𝐴𝑙𝑖𝑐𝑒 + 𝑟+ ∗ 	
   𝜎 𝐴𝑙𝑖𝑐𝑒 + −𝑟5 ∗ 	
   𝜎 𝑝𝑎𝑠𝑡𝑃 + 𝑟5 ∗ 	
   𝜎 𝑠𝑎𝑙𝑎𝑟𝑦 + 0 + 0	
   ≠ 0
3-Index
Optimising Query Execution
Vertical Partitioning
Optimising Query Execution

More Related Content

What's hot

Hadoop with Python
Hadoop with PythonHadoop with Python
Hadoop with PythonDonald Miner
 
IPython Notebook as a Unified Data Science Interface for Hadoop
IPython Notebook as a Unified Data Science Interface for HadoopIPython Notebook as a Unified Data Science Interface for Hadoop
IPython Notebook as a Unified Data Science Interface for HadoopDataWorks Summit
 
TinkerPop: a story of graphs, DBs, and graph DBs
TinkerPop: a story of graphs, DBs, and graph DBsTinkerPop: a story of graphs, DBs, and graph DBs
TinkerPop: a story of graphs, DBs, and graph DBsJoshua Shinavier
 
Cascalog at Strange Loop
Cascalog at Strange LoopCascalog at Strange Loop
Cascalog at Strange Loopnathanmarz
 
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...Olaf Hartig
 
The design, architecture, and tradeoffs of FluidDB
The design, architecture, and tradeoffs of FluidDBThe design, architecture, and tradeoffs of FluidDB
The design, architecture, and tradeoffs of FluidDBTerry Jones
 
Bigdive 2014 - RDF, principles and case studies
Bigdive 2014 - RDF, principles and case studiesBigdive 2014 - RDF, principles and case studies
Bigdive 2014 - RDF, principles and case studiesDiego Valerio Camarda
 
Twinkle: A SPARQL Query Tool
Twinkle: A SPARQL Query ToolTwinkle: A SPARQL Query Tool
Twinkle: A SPARQL Query ToolLeigh Dodds
 
Querying the Web of Data with XSPARQL 1.1
Querying the Web of Data with XSPARQL 1.1Querying the Web of Data with XSPARQL 1.1
Querying the Web of Data with XSPARQL 1.1Daniele Dell'Aglio
 
Creating an Open Source Genealogical Search Engine with Apache Solr
Creating an Open Source Genealogical Search Engine with Apache SolrCreating an Open Source Genealogical Search Engine with Apache Solr
Creating an Open Source Genealogical Search Engine with Apache SolrBrooke Ganz
 
Getting started with Apache Spark in Python - PyLadies Toronto 2016
Getting started with Apache Spark in Python - PyLadies Toronto 2016Getting started with Apache Spark in Python - PyLadies Toronto 2016
Getting started with Apache Spark in Python - PyLadies Toronto 2016Holden Karau
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...Olaf Hartig
 

What's hot (14)

Hadoop with Python
Hadoop with PythonHadoop with Python
Hadoop with Python
 
IPython Notebook as a Unified Data Science Interface for Hadoop
IPython Notebook as a Unified Data Science Interface for HadoopIPython Notebook as a Unified Data Science Interface for Hadoop
IPython Notebook as a Unified Data Science Interface for Hadoop
 
TinkerPop: a story of graphs, DBs, and graph DBs
TinkerPop: a story of graphs, DBs, and graph DBsTinkerPop: a story of graphs, DBs, and graph DBs
TinkerPop: a story of graphs, DBs, and graph DBs
 
Cascalog at Strange Loop
Cascalog at Strange LoopCascalog at Strange Loop
Cascalog at Strange Loop
 
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
 
The design, architecture, and tradeoffs of FluidDB
The design, architecture, and tradeoffs of FluidDBThe design, architecture, and tradeoffs of FluidDB
The design, architecture, and tradeoffs of FluidDB
 
Bigdive 2014 - RDF, principles and case studies
Bigdive 2014 - RDF, principles and case studiesBigdive 2014 - RDF, principles and case studies
Bigdive 2014 - RDF, principles and case studies
 
Twinkle: A SPARQL Query Tool
Twinkle: A SPARQL Query ToolTwinkle: A SPARQL Query Tool
Twinkle: A SPARQL Query Tool
 
Intro to Neo4j 2.0
Intro to Neo4j 2.0Intro to Neo4j 2.0
Intro to Neo4j 2.0
 
Querying the Web of Data with XSPARQL 1.1
Querying the Web of Data with XSPARQL 1.1Querying the Web of Data with XSPARQL 1.1
Querying the Web of Data with XSPARQL 1.1
 
R meetup talk
R meetup talkR meetup talk
R meetup talk
 
Creating an Open Source Genealogical Search Engine with Apache Solr
Creating an Open Source Genealogical Search Engine with Apache SolrCreating an Open Source Genealogical Search Engine with Apache Solr
Creating an Open Source Genealogical Search Engine with Apache Solr
 
Getting started with Apache Spark in Python - PyLadies Toronto 2016
Getting started with Apache Spark in Python - PyLadies Toronto 2016Getting started with Apache Spark in Python - PyLadies Toronto 2016
Getting started with Apache Spark in Python - PyLadies Toronto 2016
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 2 (...
 

Viewers also liked

Privacy & innovation digital enterprise
Privacy & innovation digital enterprisePrivacy & innovation digital enterprise
Privacy & innovation digital enterpriseSabrina Kirrane
 
Society, Privacy and the Semantic Web - Policy and Technology PrivOn 2017
Society, Privacy and the Semantic Web - Policy and Technology PrivOn 2017Society, Privacy and the Semantic Web - Policy and Technology PrivOn 2017
Society, Privacy and the Semantic Web - Policy and Technology PrivOn 2017Sabrina Kirrane
 
Sabrina Kirrane INSIGHT Viva Presentation
Sabrina Kirrane INSIGHT Viva Presentation Sabrina Kirrane INSIGHT Viva Presentation
Sabrina Kirrane INSIGHT Viva Presentation Sabrina Kirrane
 
Transparent Personal Data Processing: The Road Ahead
Transparent Personal Data Processing: The Road AheadTransparent Personal Data Processing: The Road Ahead
Transparent Personal Data Processing: The Road AheadSabrina Kirrane
 
Modelling the General Data Protection Regulation
Modelling the General Data Protection RegulationModelling the General Data Protection Regulation
Modelling the General Data Protection RegulationSabrina Kirrane
 
Access Control for Linked Data: Past, Present and Future
Access Control for Linked Data: Past, Present and FutureAccess Control for Linked Data: Past, Present and Future
Access Control for Linked Data: Past, Present and FutureSabrina Kirrane
 
Data License Clearance Center
Data License Clearance Center Data License Clearance Center
Data License Clearance Center Sabrina Kirrane
 
Scalable policy-aware Linked Data architecture for prIvacy, transparency and ...
Scalable policy-aware Linked Data architecture for prIvacy, transparency and ...Scalable policy-aware Linked Data architecture for prIvacy, transparency and ...
Scalable policy-aware Linked Data architecture for prIvacy, transparency and ...Sabrina Kirrane
 

Viewers also liked (8)

Privacy & innovation digital enterprise
Privacy & innovation digital enterprisePrivacy & innovation digital enterprise
Privacy & innovation digital enterprise
 
Society, Privacy and the Semantic Web - Policy and Technology PrivOn 2017
Society, Privacy and the Semantic Web - Policy and Technology PrivOn 2017Society, Privacy and the Semantic Web - Policy and Technology PrivOn 2017
Society, Privacy and the Semantic Web - Policy and Technology PrivOn 2017
 
Sabrina Kirrane INSIGHT Viva Presentation
Sabrina Kirrane INSIGHT Viva Presentation Sabrina Kirrane INSIGHT Viva Presentation
Sabrina Kirrane INSIGHT Viva Presentation
 
Transparent Personal Data Processing: The Road Ahead
Transparent Personal Data Processing: The Road AheadTransparent Personal Data Processing: The Road Ahead
Transparent Personal Data Processing: The Road Ahead
 
Modelling the General Data Protection Regulation
Modelling the General Data Protection RegulationModelling the General Data Protection Regulation
Modelling the General Data Protection Regulation
 
Access Control for Linked Data: Past, Present and Future
Access Control for Linked Data: Past, Present and FutureAccess Control for Linked Data: Past, Present and Future
Access Control for Linked Data: Past, Present and Future
 
Data License Clearance Center
Data License Clearance Center Data License Clearance Center
Data License Clearance Center
 
Scalable policy-aware Linked Data architecture for prIvacy, transparency and ...
Scalable policy-aware Linked Data architecture for prIvacy, transparency and ...Scalable policy-aware Linked Data architecture for prIvacy, transparency and ...
Scalable policy-aware Linked Data architecture for prIvacy, transparency and ...
 

Similar to Self-Enforcing Access Control for Encrypted RDF

Aidan's PhD Viva
Aidan's PhD VivaAidan's PhD Viva
Aidan's PhD VivaAidan Hogan
 
Two graph data models : RDF and Property Graphs
Two graph data models : RDF and Property GraphsTwo graph data models : RDF and Property Graphs
Two graph data models : RDF and Property Graphsandyseaborne
 
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic WebESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Webeswcsummerschool
 
Staab programming thesemanticweb
Staab programming thesemanticwebStaab programming thesemanticweb
Staab programming thesemanticwebAneta Tu
 
Programming the Semantic Web
Programming the Semantic WebProgramming the Semantic Web
Programming the Semantic WebSteffen Staab
 
Sending a for ahuh. win32 exploit development old school
Sending a for ahuh. win32 exploit development old schoolSending a for ahuh. win32 exploit development old school
Sending a for ahuh. win32 exploit development old schoolNahidul Kibria
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapesJose Emilio Labra Gayo
 
Querying Heterogeneous Linked Date Interfaces through Reasoning
Querying Heterogeneous Linked Date Interfaces through ReasoningQuerying Heterogeneous Linked Date Interfaces through Reasoning
Querying Heterogeneous Linked Date Interfaces through ReasoningJoachim Van Herwegen
 
Spark Summit EU talk by Shay Nativ and Dvir Volk
Spark Summit EU talk by Shay Nativ and Dvir VolkSpark Summit EU talk by Shay Nativ and Dvir Volk
Spark Summit EU talk by Shay Nativ and Dvir VolkSpark Summit
 
Halogen: Past, Present, and Future
Halogen: Past, Present, and FutureHalogen: Past, Present, and Future
Halogen: Past, Present, and FutureJohn De Goes
 
Graph Data -- RDF and Property Graphs
Graph Data -- RDF and Property GraphsGraph Data -- RDF and Property Graphs
Graph Data -- RDF and Property Graphsandyseaborne
 
Wi2015 - Clustering of Linked Open Data - the LODeX tool
Wi2015 - Clustering of Linked Open Data - the LODeX toolWi2015 - Clustering of Linked Open Data - the LODeX tool
Wi2015 - Clustering of Linked Open Data - the LODeX toolLaura Po
 
The Internet Is Your New Database: An Introduction To The Semantic Web
The Internet Is Your New Database: An Introduction To The Semantic WebThe Internet Is Your New Database: An Introduction To The Semantic Web
The Internet Is Your New Database: An Introduction To The Semantic WebWill Strinz
 
Monitoring Oracle Database Instances with Zabbix
Monitoring Oracle Database Instances with ZabbixMonitoring Oracle Database Instances with Zabbix
Monitoring Oracle Database Instances with ZabbixGerger
 
Streams of information - Chicago crystal language monthly meetup
Streams of information - Chicago crystal language monthly meetupStreams of information - Chicago crystal language monthly meetup
Streams of information - Chicago crystal language monthly meetupBrian Cardiff
 
NoSQL and Triple Stores
NoSQL and Triple StoresNoSQL and Triple Stores
NoSQL and Triple Storesandyseaborne
 
Emerging technologies /frameworks in Big Data
Emerging technologies /frameworks in Big DataEmerging technologies /frameworks in Big Data
Emerging technologies /frameworks in Big DataRahul Jain
 

Similar to Self-Enforcing Access Control for Encrypted RDF (20)

Aidan's PhD Viva
Aidan's PhD VivaAidan's PhD Viva
Aidan's PhD Viva
 
ShEx by Example
ShEx by ExampleShEx by Example
ShEx by Example
 
Two graph data models : RDF and Property Graphs
Two graph data models : RDF and Property GraphsTwo graph data models : RDF and Property Graphs
Two graph data models : RDF and Property Graphs
 
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic WebESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
 
Staab programming thesemanticweb
Staab programming thesemanticwebStaab programming thesemanticweb
Staab programming thesemanticweb
 
Programming the Semantic Web
Programming the Semantic WebProgramming the Semantic Web
Programming the Semantic Web
 
Linked Data Fragments
Linked Data FragmentsLinked Data Fragments
Linked Data Fragments
 
Sending a for ahuh. win32 exploit development old school
Sending a for ahuh. win32 exploit development old schoolSending a for ahuh. win32 exploit development old school
Sending a for ahuh. win32 exploit development old school
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapes
 
Querying Heterogeneous Linked Date Interfaces through Reasoning
Querying Heterogeneous Linked Date Interfaces through ReasoningQuerying Heterogeneous Linked Date Interfaces through Reasoning
Querying Heterogeneous Linked Date Interfaces through Reasoning
 
Spark Summit EU talk by Shay Nativ and Dvir Volk
Spark Summit EU talk by Shay Nativ and Dvir VolkSpark Summit EU talk by Shay Nativ and Dvir Volk
Spark Summit EU talk by Shay Nativ and Dvir Volk
 
Halogen: Past, Present, and Future
Halogen: Past, Present, and FutureHalogen: Past, Present, and Future
Halogen: Past, Present, and Future
 
Graph Data -- RDF and Property Graphs
Graph Data -- RDF and Property GraphsGraph Data -- RDF and Property Graphs
Graph Data -- RDF and Property Graphs
 
Wi2015 - Clustering of Linked Open Data - the LODeX tool
Wi2015 - Clustering of Linked Open Data - the LODeX toolWi2015 - Clustering of Linked Open Data - the LODeX tool
Wi2015 - Clustering of Linked Open Data - the LODeX tool
 
The Internet Is Your New Database: An Introduction To The Semantic Web
The Internet Is Your New Database: An Introduction To The Semantic WebThe Internet Is Your New Database: An Introduction To The Semantic Web
The Internet Is Your New Database: An Introduction To The Semantic Web
 
Monitoring Oracle Database Instances with Zabbix
Monitoring Oracle Database Instances with ZabbixMonitoring Oracle Database Instances with Zabbix
Monitoring Oracle Database Instances with Zabbix
 
HyperGraphQL
HyperGraphQLHyperGraphQL
HyperGraphQL
 
Streams of information - Chicago crystal language monthly meetup
Streams of information - Chicago crystal language monthly meetupStreams of information - Chicago crystal language monthly meetup
Streams of information - Chicago crystal language monthly meetup
 
NoSQL and Triple Stores
NoSQL and Triple StoresNoSQL and Triple Stores
NoSQL and Triple Stores
 
Emerging technologies /frameworks in Big Data
Emerging technologies /frameworks in Big DataEmerging technologies /frameworks in Big Data
Emerging technologies /frameworks in Big Data
 

More from Sabrina Kirrane

Different perspectives on data science
Different perspectives on data scienceDifferent perspectives on data science
Different perspectives on data scienceSabrina Kirrane
 
Intelligent agents the vision revisited
Intelligent agents the vision revisitedIntelligent agents the vision revisited
Intelligent agents the vision revisitedSabrina Kirrane
 
SPECIAL ESWC project networking
SPECIAL ESWC project networkingSPECIAL ESWC project networking
SPECIAL ESWC project networkingSabrina Kirrane
 
DALICC ESWC Project Networking 2018
DALICC ESWC Project Networking 2018DALICC ESWC Project Networking 2018
DALICC ESWC Project Networking 2018Sabrina Kirrane
 
Digital Rights Management
Digital Rights ManagementDigital Rights Management
Digital Rights ManagementSabrina Kirrane
 
W3C Data Privacy Vocabularies and Controls Community Group
W3C Data Privacy Vocabularies and Controls Community GroupW3C Data Privacy Vocabularies and Controls Community Group
W3C Data Privacy Vocabularies and Controls Community GroupSabrina Kirrane
 
Propelling the Potential of Linked Data in Enterprises
Propelling the Potential of Linked Data in EnterprisesPropelling the Potential of Linked Data in Enterprises
Propelling the Potential of Linked Data in EnterprisesSabrina Kirrane
 
Cryptocurrencies and Blockchain technology
Cryptocurrencies and Blockchain technologyCryptocurrencies and Blockchain technology
Cryptocurrencies and Blockchain technologySabrina Kirrane
 

More from Sabrina Kirrane (8)

Different perspectives on data science
Different perspectives on data scienceDifferent perspectives on data science
Different perspectives on data science
 
Intelligent agents the vision revisited
Intelligent agents the vision revisitedIntelligent agents the vision revisited
Intelligent agents the vision revisited
 
SPECIAL ESWC project networking
SPECIAL ESWC project networkingSPECIAL ESWC project networking
SPECIAL ESWC project networking
 
DALICC ESWC Project Networking 2018
DALICC ESWC Project Networking 2018DALICC ESWC Project Networking 2018
DALICC ESWC Project Networking 2018
 
Digital Rights Management
Digital Rights ManagementDigital Rights Management
Digital Rights Management
 
W3C Data Privacy Vocabularies and Controls Community Group
W3C Data Privacy Vocabularies and Controls Community GroupW3C Data Privacy Vocabularies and Controls Community Group
W3C Data Privacy Vocabularies and Controls Community Group
 
Propelling the Potential of Linked Data in Enterprises
Propelling the Potential of Linked Data in EnterprisesPropelling the Potential of Linked Data in Enterprises
Propelling the Potential of Linked Data in Enterprises
 
Cryptocurrencies and Blockchain technology
Cryptocurrencies and Blockchain technologyCryptocurrencies and Blockchain technology
Cryptocurrencies and Blockchain technology
 

Recently uploaded

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 

Self-Enforcing Access Control for Encrypted RDF

  • 1. Self-Enforcing Access Control for Encrypted RDF Javier D. Fernández,Sabrina Kirrane, Axel Polleres,Simon Steyskal ESWC 2017– Portorož
  • 2. Publishing Linked Open Data Motivation “Open data and content can be freely used, modified, and shared by anyone for any purpose” - http://opendefinition.org/ RDB2RDF RDB2RDF RDB2RDF Interface RDF Store RDF(a) Document
  • 3. What about Linked Closed Data? Motivation § What are the incentives for data owners to publish their data as Closed Data? § financial considerations, compliance with institutional/community norms, privacy requirements, …
  • 4. Publishing Linked Closed Data Motivation § In order to also cater for Linked Closed Data, existing infrastructure needs to be extended with suitable security mechanisms: Encryption Selectively grant or revoke access to data. Protect data against unauthorized access. Access control
  • 5. Allow Multiple Users Access to Encrypted Data Concrete example Alice Admin „What‘s my ex:salary?“ „Show me all triples!“ Multiple Users Encryption Granularity
  • 6. Scenario 1: a key for everything Encryption is coarse-grained S P O ex:Alice foaf:pastProject ex:Project1 ex:Alice ex:salary 30000 ex:Alice foaf:mbox "alice@example.org"   ex:Bob foaf:pastProject ex:Project1 ex:Bob ex:salary 20000 ex:Bob foaf:mbox "bob@example.org"   Alice Admin ex:Bob earns less than me! What‘s my ex:salary? Show me all triples! Alice shouldn’t have access to that information!
  • 7. Scenario 2: a key for each triple Encryption is coarse-grained PAGE 7 S P O ex:Alice foaf:pastProject ex:Project1 ex:Alice ex:salary 30000 ex:Alice ex:salary 30000 ex:Alice foaf:mbox "alice@example.org"   ex:Bob foaf:pastProject ex:Project1 ex:Bob ex:salary 20000 ex:Bob foaf:mbox "bob@example.org"   Alice Admin I don‘t want all those keys.. What‘s my ex:salary? Show me all triples! Admin has to manage a lot of keys!
  • 8. Scenario 3: a key for each user Encryption is coarse-grained PAGE 8 S P O ex:Alice foaf:pastProject ex:Project1 ex:Alice ex:salary 30000 ex:Alice foaf:mbox "alice@example.org"   ex:Bob foaf:pastProject ex:Project1 ex:Bob ex:salary 20000 ex:Bob foaf:mbox "bob@example.org"   Alice Admin I don‘t want all those keys.. What‘s my ex:salary? Show me all triples! Admin has to manage a lot of keys!
  • 9. Scenario 4: one key opens multiple locks Encryption based on patterns S P O ex:Alice foaf:pastProject ex:Project1 ex:Alice ex:salary 30000 ex:Alice foaf:mbox "alice@example.org"   ex:Bob foaf:pastProject ex:Project1 ex:Bob ex:salary 20000 ex:Bob foaf:mbox "bob@example.org"   Alice Admin Only 1 key, that‘s much better What‘s my ex:salary? Show me all triples! =  (ex:Alice,  ex:salary,  ?) =  (?,  ?,  ?) one key can open multiple locks
  • 10. 1. Compute the triple vector using a  mapping  function  to  map  the    subject,   predicate,  and  object  value  to  elements  in  ℤ 𝑁 2. Functionally encrypt a randomly generated seed using the triple vector 3. Derive an encryption key from our previously generated seed and use AES to encrypt the triple with an encryption key 4. Return the triple cipher and the decryption key Encryption of RDF Triples A Functional Encryption Scheme for RDF triple vector key triple cipher 1) 2) 3) 4) jpbc http://gas.dia.unisa.it/projects/jpbc/#.WS73m_exW7M
  • 11. Encryption of RDF Triples A Functional Encryption Scheme for RDF triple vector triple cipher 𝜎 denotes  a  mapping  function  that  maps  a  triple’s subject,  predicate,  and  object  value  to  elements  in  ℤ 𝑁 key
  • 12. Decryption of RDF Triples A Functional Encryption Scheme for RDF 𝒚 𝒔 𝒕 𝒚′ 𝒔 𝒕 𝒚 𝒑 𝒕 𝒚′ 𝒑 𝒕 𝒚 𝒐 𝒕 𝒚′ 𝒐 𝒕 −𝑟+ ∗   𝜎(𝐴𝑙𝑖𝑐𝑒) 𝑟+ −𝑟5 ∗   𝜎(𝑝𝑎𝑠𝑡𝑃) 𝑟5 −𝑟; ∗   𝜎(𝑃𝑟𝑜1) 𝑟; tp  =  (ex:Alice,  foaf:pastProject,  ?) t  =  (ex:Alice,  foaf:pastProject,  ex:Project1) 𝐱 𝒔 𝒕𝐩 𝐱′ 𝒔 𝒕𝐩 𝐱 𝒑 𝒕𝐩 𝐱′ 𝒑 𝒕𝐩 𝐱 𝒐 𝒕𝐩 𝐱′ 𝒐 𝒕𝐩 1 𝜎(𝐴𝑙𝑖𝑐𝑒) 1 𝜎(𝑝𝑎𝑠𝑡𝑃) 0 0 −𝑟+ ∗   𝜎 𝐴𝑙𝑖𝑐𝑒 + 𝑟+ ∗   𝜎 𝐴𝑙𝑖𝑐𝑒 + −𝑟5 ∗   𝜎 𝑝𝑎𝑠𝑡𝑃 + 𝑟5 ∗   𝜎 𝑝𝑎𝑠𝑡𝑃 + 0 + 0 = 0 compute the inner-product of their corresponding triple vector
  • 13. Decryption of RDF Triples Optimising Query Execution S P O ex:Alice foaf:pastProject ex:Project1 ex:Alice ex:salary 30000 ex:Alice foaf:mbox "alice@example.org"   ex:Bob foaf:pastProject ex:Project1 ex:Bob ex:salary 20000 ex:Bob foaf:mbox "bob@example.org"   =  (ex:Alice,  ?,  ?) She has to always check each and every triple
  • 14. O S P ex:Alice foaf:pastProject ex:Project1 ex:Alice ex:salary 30000 ex:Alice foaf:mbox "alice@example.org"   ex:Bob foaf:pastProject ex:Project1 ex:Bob ex:salary 20000 ex:Bob foaf:mbox "bob@example.org"   P O S ex:Alice foaf:pastProject ex:Project1 ex:Alice ex:salary 30000 ex:Alice foaf:mbox "alice@example.org"   ex:Bob foaf:pastProject ex:Project1 ex:Bob ex:salary 20000 ex:Bob foaf:mbox "bob@example.org"   3-Index Optimising Query Execution S P O ex:Alice foaf:pastProject ex:Project1 ex:Alice ex:salary 30000 ex:Alice foaf:mbox "alice@example.org"   ex:Bob foaf:pastProject ex:Project1 ex:Bob ex:salary 20000 ex:Bob foaf:mbox "bob@example.org"   =  (ex:Alice,  ?,  ?) S P O ex:Alice foaf:pastProject ex:Project1 ex:Alice ex:salary 30000 ex:Alice foaf:mbox "alice@example.org"   We use three key- value B-Trees and data is encrypted using a strong hash function
  • 15. O S P ex:Alice foaf:pastProject ex:Project1 ex:Alice ex:salary 30000 ex:Alice foaf:mbox "alice@example.org"   ex:Bob foaf:pastProject ex:Project1 ex:Bob ex:salary 20000 ex:Bob foaf:mbox "bob@example.org"   3-Index Optimising Query Execution S P O ex:Alice foaf:pastProject ex:Project1 ex:Alice ex:salary 30000 ex:Alice foaf:mbox "alice@example.org"   ex:Bob foaf:pastProject ex:Project1 ex:Bob ex:salary 20000 ex:Bob foaf:mbox "bob@example.org"   S P O ex:Alice foaf:pastProject ex:Project1 ex:Alice ex:salary 30000 ex:Alice foaf:mbox "alice@example.org"   =  (?,  foaf:pastProject,  ex:Project1) P O S ex:salary 30000 ex:Alice ex:salary 20000 ex:Bob foaf:mbox "alice@example.or g"   ex:Alice foaf:mbox "bob@example.org"   ex:Bob foaf:pastProject ex:Project1 ex:Alice foaf:pastProject ex:Project1 ex:Bob We use three key- value B-Trees and data is encrypted using a strong hash function
  • 16. S O ex:Alice ex:Project1 ex:Bob ex:Project1 S O ex:Alice 30000 ex:Bob 20000 S O ex:Alice "alice@example.org"   ex:Bob "bob@example.org"   Vertical Partitioning Optimising Query Execution foaf:mbox ex:salary foaf:pastProject S ex:Alice foaf:pastPro ex:Alice ex:salar ex:Alice foaf:mbo ex:Bob foaf:pastPro ex:Bob ex:salar ex:Bob foaf:mbo =  (?,  foaf:pastProject,  ex:Project1) We use three key- value B-Trees and data is encrypted using a strong hash function
  • 17. S O ex:Alice ex:Project1 ex:Bob ex:Project1 S O ex:Alice 30000 ex:Bob 20000 S O ex:Alice "alice@example.org"   ex:Bob "bob@example.org"   Vertical Partitioning Optimising Query Execution foaf:mbox ex:salary foaf:pastProject =  (ex:Alice,  ?,  ?) S ex:Alice foaf:pastPro ex:Alice ex:salar ex:Alice foaf:mbo ex:Bob foaf:pastPro ex:Bob ex:salar ex:Bob foaf:mbo We use three key- value B-Trees and data is encrypted using a strong hash function
  • 18. Experiment Setup Evaluation § Real-world datasets from different domains: § Census represents the 2010 Australian census § Jamendo lists music records and artists § AEMET includes sensor data from weather stations in Spain § Lehigh University Benchmark (LUBM) data generator to obtain synthetic datasets
  • 19. Encrypting and Indexing Evaluation § Both strategies report similar performance results Ø VP is slightly faster for loading given that only the subject and object is used to index each triple § Encryption overhead Ø can be of one order of magnitude greater for the smaller datasets Ø this is greatly reduced for larger datasets B-Tree indexes become slower the more triples are added (due to rebalancing)
  • 20. Query Resolution Evaluation § 3-Index is better than VP for queries with unbound predicates as VP has to iterate though all predicate tables in this case § There is minimum overhead between the plain and encrypted indexes if a look-up returns only a small amount of results LUBM Jamendo if you have to decrypt more triples, it takes more time overall
  • 21. Scalability Evaluation § Our approach allows for parallel encryption/decryption of triples Ø scales with the system’s supported level of parallelization § Encrypting and indexing (3-Index) 10,000 LUBM triples takes about: Ø 76s with 16 available cores Ø 133s with 8 available cores Ø 262s with 4 available cores Ø 497s with 2 available cores § Each result triple can be returned as soon as its decryption has finished!
  • 22. Results Conclusion § Practical realisation of a functional encryption scheme for RDF § generate decryption keys based on (triple-)patterns § a decryption key can decrypt all triples that match its associated triple pattern Ø provides a high degree of flexibility and enables controlled access to encrypted RDF data § Evaluation § reasonable loading and query performance overheads with respect to traditional, non-encrypted data retrieval § relatively slow for batch decryption, but it is suitable for serving incremental results https://aic.ai.wu.ac.at/comcrypt/sld/
  • 23. Future Work Conclusion Evaluate different indexing strategies Ø optimise the loading time and query performance of large queries Cater for named graphs Ø encrypting quads instead of triples and generating keys based on quad patterns Triple store for compressed encrypted data Ø Current implementation uses an offtheshelf key value store Ø Build a custom triple store based on HDT Add a “policy” tier Ø manages the access/revocation of query keys and serve as fully fledged security framework for Linked Data
  • 24. Self-Enforcing Access Control for Encrypted RDF S P O ex:Alice foaf:pastProject ex:Project1 ex:Alice ex:salary 30000 ex:Alice foaf:mbox "alice@example.org"   ex:Bob foaf:pastProject ex:Project1 ex:Bob ex:salary 20000 ex:Bob foaf:mbox "bob@example.org"   Alice Admin Only 1 key, that‘s much better Show me ex:salary? Show me all triples! =  (ex:Alice,  ex:salary,  ?) =  (?,  ?,  ?)
  • 26. Overview Public Key Encryption data owner will encrypt data to the public key of a specific user only a user possessing the corresponding private key can decrypt the ciphertext § Encryption is targeted towards a specific user § Decryption is an all or nothing operation; either: a) a ciphertext is fully decrypted and the original data is recovered b) it fails and nothing is learned. Figure taken from http://www.infosectoday.com/Articles/Intro_to_Cryptography
  • 27. Functional Encryption to the Rescue! More fine-grained control over access to encrypted data § Functional Encryption § secret keys correspond to functions in some class 𝐹 § each ciphertext is associated with a (secret) attribute of some attribute space 𝛴 § a ciphertext associated with 𝐼 ∈ 𝛴 can be decrypted by a secret key 𝑠𝑘G corresponding to the function 𝑓 ∈ 𝐹 iff 𝑓(𝐼) = 1. § Inner-product Functional Encryption § Each ciphertext is associated with a (secret) attribute vector 𝒚 § Each secret key corresponds to a vector 𝒙 that is incorporated into its respective boolean function 𝑓 𝒙 𝑓 𝒙(𝒚) = 1 iff 𝒙 J 𝒚 = 0 J. Katz et al.: “Predicate Encryption Supporting Disjunctions,Polynomial Equations, and Inner Products”. J. Cryptology,26(2): 191–224, 2013.
  • 28. Generating Decryption Keys A Functional Encryption Scheme for RDF serves as a wildcard
  • 29. Query Resolution (cold) Evaluation § 3-Index reports a noticeable better performance than VP for queries with unbound predicates § VP has to iterate though all predicate tables in this case. § 3-Index and VP remain competitive wrt. their non-secure counterparts, if a look-up returns only a small amount of results § Decrypting Jamendo entirely took about 2256s using VP and 2808s using 3-Index § Leading to triple decryption rates of 465 triples/sec and 374 triples/sec respectively Each result triple can be returned as soon as its decryption has finished!
  • 30. Query Resolution (cold) Evaluation § 3-Index reports a noticeable better performance than VP for queries with unbound predicates § VP has to iterate though all predicate tables in this case. § 3-Index and VP remain competitive wrt. their non-secure counterparts, if a look-up returns only a small amount of results § Decrypting Jamendo entirely took about 2256s using VP and 2808s using 3-Index § Leading to triple decryption rates of 465 triples/s and 374 triples/s respectively Each result triple can be returned as soon as its decryption has finished! 5M LUBM triples Jamendo
  • 31. Decryption of RDF Triples A Functional Encryption Scheme for RDF 𝒚 𝒔 𝒕 𝒚′ 𝒔 𝒕 𝒚 𝒑 𝒕 𝒚′ 𝒑 𝒕 𝒚 𝒐 𝒕 𝒚′ 𝒐 𝒕 −𝑟+ ∗   𝜎(𝐴𝑙𝑖𝑐𝑒) 𝑟+ −𝑟5 ∗   𝜎(𝑝𝑎𝑠𝑡𝑃) 𝑟5 −𝑟; ∗   𝜎(𝑃𝑟𝑜1) 𝑟; tp  =  (ex:Alice,  ex:salary,  ?) t  =  (ex:Alice,  foaf:pastProject,  ex:Project1) 𝐱 𝒔 𝒕𝐩 𝐱′ 𝒔 𝒕𝐩 𝐱 𝒑 𝒕𝐩 𝐱′ 𝒑 𝒕𝐩 𝐱 𝒐 𝒕𝐩 𝐱′ 𝒐 𝒕𝐩 1 𝜎(𝐴𝑙𝑖𝑐𝑒) 1 𝜎(𝑠𝑎𝑙𝑎𝑟𝑦) 0 0 −𝑟+ ∗   𝜎 𝐴𝑙𝑖𝑐𝑒 + 𝑟+ ∗   𝜎 𝐴𝑙𝑖𝑐𝑒 + −𝑟5 ∗   𝜎 𝑝𝑎𝑠𝑡𝑃 + 𝑟5 ∗   𝜎 𝑠𝑎𝑙𝑎𝑟𝑦 + 0 + 0   ≠ 0