Skip to main content

Practical Confidentiality Enforcement Algorithms in Ontology-based Information Systems

Supervisor

Suitable for

MSc in Computer Science

Abstract

BACKGROUND Preserving confidentiality of information (i.e.,ensuring that sensitive data is only accessible to authorised users) is a critical requirement for the design of information systems. In recent years, Semantic Technologies have become widespread in many application domains. There is consequently a pressing need for suitable confidentiality enforcement infrastructure in information systems which rely on RDF as a data model, SPARQL as a query language, and OWL 2 as a language for describing background knowledge. Controlled Query Evaluation (CQE) is an approach to confidentiality enforcement where system administrators specify in a declarative way the information that cannot be disclosed to users by means of a confidentiality policy. When given a user query, a censor checks whether returning the answer would lead to a violation of the corresponding policy and thus to a disclosure of confidential information to unauthorised users; in that case, the censor returns a distorted answer. CQE has been recently studied in the context of ontologies and algorithms have been proposed in the case where the relevant ontologies are expressed in the OWL 2 RL profile—a fragment of OWL 2 for which query answering is known to be theoretically tractable in the size of both ontology and data, and efficiently implementable by means of rule-based technologies. PROJECT GOALS The main goals of this project are the following: • Implement the basic CQE algorithm for linear OWL 2 RL ontologies. This algorithm will be implemented on top of RDFox (http://www.cs.ox.ac.uk/isg/tools/RDFox/): a query answering engine for OWL 2 RL. • Study and implement potential optimisations. • Evaluate the implementation using both benchmark and realistic datasets. • Design and implement an extension of the basic algorithm that is applicable to a larger fragment of OWL 2 RL. PROJECT PREREQUISITES • Good programming skills in Java and/or C++ • The following courses are relevant for this project: o Knowledge representation and reasoning. o Theory of Data and Knowledge Bases o Databases o Computer Security