Zusammenfassung
Spaltenfamiliendatenbanken (engl.: „column family databases“ oder „wide column stores“) sind wegen ihres flexiblen Datenmodells beliebt, das eine weitgehend schemalose Datenverwaltung ermöglicht. Diese Datenbanken (insbesondere HBase und Cassandra als quelloffene Produkte) werden auch von einigen großen Cloud-Dienstanbietern als Database-as-a-Service bereitgestellt. Eine Verschlüsselung der Transportschicht (also eine Sicherung der Verbindung zwischen Kundenrechner und der Cloud-Datenbank) ist in der Regel vorgesehen. Jedoch wird eine darüberhinausgehende Verschlüsselung der Daten innerhalb der Datenbank entweder gar nicht oder zu spät (d. h. erst auf Datenbankseite) unterstützt. Die Daten sind daher im Klartext zugreifbar für den Dienstanbieter. Im Falle eines Einbruchs in das Datenbanksystem kann darüber hinaus auch ein externer Angreifer vollen Zugriff auf die Daten erhalten.
Verschlüsselung ist daher notwendig, um Daten vor unbefugtem Zugriff zu schützen. Insbesondere sollte die gesamte Schlüsselverwaltung sowie die Ver- und Entschlüsselungsoperationen auf Kundenseite erfolgen, damit die Vertraulichkeit der Daten gewahrt bleibt. Traditionelle starke Verschlüsselungsverfahren führen jedoch dazu, dass die Daten nicht mehr effizient verwaltet werden können: eine Suche nach übereinstimmenden Werten, eine Sortierung oder eine Aggregation (zum Beispiel Summierung) der Daten ist nicht möglich. Zur Lösung dieser Probleme wurden in der Theorie zahlreiche Verschlüsselungsverfahren vorgeschlagen, die gewisse Eigenschaften des Klartextes erhalten (sogenannte durchsuchbare und ordnungserhaltende Verschlüsselung).
In diesem Artikel behandeln wir zum einen die derzeit vorhandenen Angebote, HBase und Cassandra als Database-as-a-Service zu nutzen und zum Anderen stellen wir unsere Implementierungen von Verschlüsselungsverfahren vor, die es ermöglichen, Cloud-Datenbanken (und zwar speziell HBase und Cassandra) mit verschlüsselten Daten zu nutzen.
Abstract
Column family databases (sometimes also called wide column stores) are popular due to their flexible data model, which allows schemaless data storage. These databases (in particular the open source platforms Apache Cassandra and Apache HBase) are offered as database-as-a-service by several cloud storage providers. While encryption of the transport layer (and thus, a secure connection between a customer’s computer and the cloud database) is usually provided, there is no further encryption within in database. The cloud storage provider can access the data in plaintext format. In case external attackers break into the database, they can get access as well.
Thus encryption is necessary to protect sensitive data from illegitimate access. In particular the key management as well as encryption and decryption should be done on customer side in order to preserve data confidentiality. However traditional encryption methods like AES do not preserve the plaintexts characteristics, which make data processing very inefficient. Certain operations, for example sorting, searching and aggregations, are no longer possible at all after encryption. However, various theoretical encryption methods were proposed recently, that preserve the plaintext properties the databases are relying on, e.g. order-preserving encryption and searchable encryption.
This article describes the currently available options for using Apache Cassandra and HBase in the database-as-a-service scenario and introduces our implementations of property-preserving encryption schemes, that enables cloud databases to operate on encrypted data.
Notes
Vgl. http://db-engines.com/de/ranking, besucht am 24.03.2016.
Verfügbar unter .https://github.com/dbsec/FamilyGuard
www.bouncycastle.org, besucht am 24.03.2016.
Literatur
Agrawal R, Kiernan J, Srikant R, Xu Y (2004) Order preserving encryption for numeric data. Proceedings of the 2004 ACM SIGMOD international conference on Management of data, pp 563–574. ACM
Arasu A, Blanas S, Eguro K, Kaushik R, Kossmann D, Ramamurthy R, Venkatesan R (2013) Orthogonal Security with Cipherbase. Proceedings of the 23rd International Conference on Field programmable Logic and Applications, S 1–8
Bajaj S, Sion R (2014) trusted hardware-based database with privacy and data confidentiality. Knowl Data Eng IEEE Trans 26(3):752–765
Boldyreva A, Chenette N, Lee Y, O’neill A (2009) Order-preserving symmetric encryption. In: Advances in Cryptology-EUROCRYPT 2009. Springer, Berlin Heidelberg, S 224–241
Boldyreva A, Chenette N, O’Neill A (2011) Order-preserving encryption revisited: Improved security analysis and alternative solutions. In: Advances in Cryptology–CRYPTO 2011. Springer, Berlin Heidelberg, S 578–595
Borthakur D, Gray J, Sarma JS, Muthukkaruppan K, Spiegelberg N, Kuang H, Aiyer A (2011) Apache Hadoop goes realtime at Facebook Proceedings of the 2011 ACM SIGMOD International Conference on Management of data, June 2011, S 1071–1080
Bösch C, Hartel P, Jonker W, Peter A (2014) A survey of provably secure searchable encryption. ACM Comput Surv (CSUR) 47(2):18
Brewer E (2010) A certain freedom: thoughts on the cap theorem Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing, Singapore, July 2010, S 335–335
Byun C, Arcand W, Bestor D, Bergeron B, Hubbell M, Kepner J, Prout A (2012) Driving big data with big compute High Performance Extreme Computing (HPEC), 2012 IEEE Conference, September 2012, S 1–6
Chang F, Dean J, Ghemawat S, Hsieh WC, Wallach DA, Burrows M, Gruber RE (2008) Bigtable: A distributed storage system for structured data. ACM Transact Comp Syst (TOCS) 26(2):4
Cormack GV, Lynam TR (2005) TREC Spam Track Overview Spam Track of TREC 2005 – The Fourteenth TExt Retrieval Conference, Gaithersburg MD, November 2005
Curtmola R, Garay J, Kamara S, Ostrovsky R (2006) Searchable symmetric encryption: improved definitions and efficient constructions Proceedings of the 13th ACM conference on Computer and communications security, New York, October 2006, S 79–88
Hahn F, Kerschbaum F (2014) Searchable Encryption with Secure and Efficient Updates Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security, New York, November 2014, S 310–320
Kerschbaum F, Schroepfer A (2014) Optimal Average-Complexity Ideal-Security Order-Preserving Encryption Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security, November 2014, S 275–286
Lakshman A, Malik P (2010) Cassandra: a decentralized structured storage system. ACM SIGOPS Oper Syst Rev 44(2):35–40
Popa RA, Redfield C, Zeldovich N, Balakrishnan H (2012) CryptDB: Processing queries on an encrypted database. Commun ACM 55(9):103–111
Song DX, Wagner D, Perrig A (2000) Practical techniques for searches on encrypted data. Security and Privacy, 2000. S&P 2000. Proceedings. 2000 IEEE Symposium, S 44–55
Waage T, Jhajj RS, Wiese L (2015) Searchable Encryption in Apache Cassandra. In: Foundations and Practice of Security – 8th International Symposium (FPS2015), Lecture Notes in Computer Science, 9482. Springer, Heidelberg
Waage T (2015) Durchsuchbare Verschlüsselung in NoSQL Datenbanken. INFORMATIK2015, Lecture Notes in Informatics, 246, S 1747–1758. Bonner Köllen Verlag
Wiese L (2015) Advanced Data Management for SQL, NoSQL, Cloud and Distributed Databases. De Gruyter, Berlin
Wozniak S, Rossberg M, Grau S, Alshawish A, Schaefer G (2013) Beyond the ideal object: towards disclosure-resilient order-preserving encryption schemes Proceedings of the 2013 ACM workshop on Cloud computing security workshop, Berlin, November 2013, S 89–100
Funding
Das Projekt FamilyGuard wird von der DFG gefördert. Förderkennzeichen: WI 4086/2-1.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Waage, T., Wiese, L. Implementierung von kryptographischen Sicherheitsverfahren für Apache Cassandra und Apache HBase. HMD 53, 499–513 (2016). https://doi.org/10.1365/s40702-016-0227-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1365/s40702-016-0227-8