简体   繁体   中英

Encrypting Neo4j relationships

I know that Neo4j does not support explicit encryption and that data can be encrypted by the application before persisting the data into the graph database. But this raises an issue: Suppose the data in the nodes are encrypted, but the relationships between these nodes are still maintained in plaintext. This results in a graph of nodes containing encrypted information, but strictly speaking, there is still data to be gleaned from the relationships, even if the name of the relationship (or the data) is encrypted. For example:

在此处输入图片说明

Is there a way to encrypt or secure the relationships in a Neo4j database such that an attacker cannot glean the structure of the graph (even if the data itself is secure)?

You can try to obfuscate your data structure by adding a reasonably large number of nonsense relationships (and possibly also nonsense nodes).

A nonsense relationship can have a nonsense type, or have a special property value that flags it as a nonsense relationship. The property used could even be a "real" property. And these nonsense relationships can be connected to both real and nonsense nodes.

A nonsense node can have a nonsense label, or have a special property value that flags it as a nonsense node.

Of course, your queries would have to be crafted to ignore the nonsense nodes and relationships, but that may not be difficult.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM