no need to perform join (Robinson et al., 2013) and
it is absent in the Cypher query language (Cypher,
2015). Nevertheless, as it was noticed in (Aburawi
et al., 2018) the issue of unnecessary leaks remains
for graph databases as well.
In this paper, we propose a novel encryption ad-
justment scheme which we call ”traversal-aware”.
This scheme, when applied to graph database que-
rying lead to demonstrably less unnecessary leaks of
information. The scheme is dynamic and the encryp-
tion layer adjustment happens not before the query
execution, but rather it gradually progresses alongs-
ide the execution.
This paper is organized as follows, in Section 2
the encryption layers and adjustment as proposed in
(Aburawi et al., 2018) is presented. Section 3 then ex-
plains the CryptGraphDB. The next section, Section
4, presents the proposed traversal-aware encryption
adjustment for graph database. Some conclusions and
some suggested areas for future work are drawn in the
final section.
2 ENCRYPTION LAYERS AND
ADJUSTMENT
In this section we outline briefly the concepts of en-
cryption layers and encryption adjustment in the con-
text of encrypted databases querying. Onion Layers
of Encryption considered in (Popa et al., 2011a; Abu-
rawi et al., 2018) allow to change data encryption le-
vels on demand in an efficient way. The main idea
is to encrypt each data item in one or more onions,
where each layer of each onion enables some kinds of
functionality as explained in (Popa et al., 2011a; Abu-
rawi et al., 2018). At the beginning, each data item in
the database is encrypted in all onions of encryption,
started with the most secure encryption scheme as ou-
termost layers. At this point, the server can know no-
thing about the data other than the number of nodes,
properties, and data size, whilst the inner layers such
as OPE and DET provide more functionality. De-
pending on the requirements of a particular query for
data access the level of encryption is adjusted before
query execution. Different cryptographic algorithms
are available to be cascaded into onion layers (as ori-
ginally mention in (Popa et al., 2011a)):
• Random (RND). RND is a probabilistic scheme
that provides the maximum security, when two
equal values are encrypted to different ciphertexts.
RND does not reveal any information on the plain
text and does not allow any computation over the
ciphertext.
• Homomorphic encryption (HOM). HOM is a
method of encryption that allows to perform cal-
culations on encrypted information without de-
crypting it first.
• Deterministic (DET). DET generates the same
ciphertext that correspond to the same plaintext,
DET was implemented to let the equality checks
to be performed.
• Order-preserving encryption (OPE). OPE is a
scheme that produces ciphertexts that preserve the
order of their plaintexts, and allows to perform
comparisons between data values based on their
encrypted versions.
• Word search (SEARCH). SEARCH allows to
execute searches on encrypted text.
3 CryptGraphDB
In (Aburawi et al., 2018) a proposed approach for
graph database inspired by CryptDB was reported
whereby executing a cypher query over an encrypted
graph database as if it was executed over a plain graph
database. Therefore, the typical processing of a query
in CryptGraphDB can be performed as follows:
1. The application issues a query, which is rewritten
and anonymizes each label, node, and relations-
hip name, and encrypts each constant in the query
with an encryption scheme that allows the requi-
red operation.
2. By using multi-layered encryption and encryp-
tion, adjust encryption layers before executing the
query if DBMS needs to do. If so, issues an UP-
DATE query to adjust the encryption layer of the
appropriate node, while the semantics of the query
are preserved.
3. The encrypted query is sent to the DBMS server to
be executed by using standard Cypher and return
the encrypted results.
4. The server returns the encrypted result of the
query, then the proxy decrypts and returns to the
application.
To illustrate how CryptGraphDB processes the
cypher query, consider an example scenario as can be
seen in Figure 1, consisting of a graph database la-
bel Person, which has ten nodes of interest: name
and age as properties. Initially, each property in this
graph database is adapted in onion of encryption with
RND as outermost layer. At this stage, the server (or
rather an attacker taken over the server, or curious ad-
ministrator) can recognize nothing about the data con-
DATA 2018 - 7th International Conference on Data Science, Technology and Applications
382