cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jeske <>
Subject Re: Storing pre-sorted data
Date Fri, 21 Oct 2011 00:31:28 GMT
>  2) If a single key, would adding a file/block/record-level encryption to
>> Cassandra solve this problem? If not, why not? Is there something
>> special about your encryption methods?
> There is nothing special about our encryption methods but will never be
> able to encrypt or decrypt data on our server as the keys will always remain
> on the clients. Therefore, we would not profit from built-in cassandra
> encryption support. However, this would probably be a good feature for many
> other users.

If I understand you correctly, you are saying that you will never have the
encryption key, but that some third-party will. Given this description, the
design space you are in has nothing to do with Cassandra-per-se. Cassandra,
like any sorted-order storage, will keep data in the order of a key that it
can read. A database can't keep data sorted in an order that it unknown to

I get the idea you are trying to provide "encrypted database services" to
third-parties, and that you are trying to give them sorted-order retrieval.
This is a "hard problem". The only two options I see were detailed in my
previous explanation.

1) require the client/third-party expose some non-encrypted data, which can
be used for sorting. Leave it up to them how they can generate data useful
for sorting which does not compromise security. (previously described as
option a)

2) Use some bleeding-edge research order-preserving encryption algorithm.
(Also, don't compress the sort-key.) If the encrypted form sorts in the same
order as the unencrypted form, then any database can store the encrypted key
as if it was normal data and keep the data in proper sorted-order. (some
extra work would be required for composite keys) (previously described as
option c)

I hope that helps.. Good luck!

View raw message