Methods to increase search performance for encrypted databases



Similar documents
Transparent Data Encryption: New Technologies and Best Practices for Database Encryption

MySQL Security: Best Practices

How encryption works to provide confidentiality. How hashing works to provide integrity. How digital signatures work to provide authenticity and

Thick Client Application Security

Securing Data on Microsoft SQL Server 2012

Defense In-Depth to Achieve Unbreakable Database Security

CPSC 467b: Cryptography and Computer Security

Using etoken for SSL Web Authentication. SSL V3.0 Overview

MS-55096: Securing Data on Microsoft SQL Server 2012

Fixity Checks: Checksums, Message Digests and Digital Signatures Audrey Novak, ILTS Digital Preservation Committee November 2006

Key Steps to Meeting PCI DSS 2.0 Requirements Using Sensitive Data Discovery and Masking

Journal of Electronic Banking Systems

Database Security. Database Security Requirements

Chapter 23. Database Security. Security Issues. Database Security

Microsoft SQL Server Security and Auditing Clay Risenhoover ISACA North Texas April 14,

Debunking The Myths of Column-level Encryption

Secure Data transfer in Cloud Storage Systems using Dynamic Tokens.

Introduction to IT Security

SafeNet DataSecure vs. Native Oracle Encryption

CS377: Database Systems Data Security and Privacy. Li Xiong Department of Mathematics and Computer Science Emory University

Connected from everywhere. Cryptelo completely protects your data. Data transmitted to the server. Data sharing (both files and directory structure)

Chapter 11 Security+ Guide to Network Security Fundamentals, Third Edition Basic Cryptography

Common security requirements Basic security tools. Example. Secret-key cryptography Public-key cryptography. Online shopping with Amazon

Module 7 Security CS655! 7-1!

Database and Data Mining Security

Columbia University Web Security Standards and Practices. Objective and Scope

VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wānanga o te Ūpoko o te Ika a Māui

Efficient Framework for Deploying Information in Cloud Virtual Datacenters with Cryptography Algorithms

WHITE PAPER AUGUST Preventing Security Breaches by Eliminating the Need to Transmit and Store Passwords

Office of Inspector General

Hack Your SQL Server Database Before the Hackers Do

HP Quality Center. Upgrade Preparation Guide

SQL Server Encryption Overview. September 2, 2015

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

Data Collection and Analysis: Get End-to-End Security with Cisco Connected Analytics for Network Deployment

Using Foundstone CookieDigger to Analyze Web Session Management

Notes on Network Security - Introduction

Ky Vu DeVry University, Atlanta Georgia College of Arts & Science

AN IMPLEMENTATION OF HYBRID ENCRYPTION-DECRYPTION (RSA WITH AES AND SHA256) FOR USE IN DATA EXCHANGE BETWEEN CLIENT APPLICATIONS AND WEB SERVICES

Secure cloud access system using JAR ABSTRACT:

CLOUD COMPUTING SECURITY ARCHITECTURE - IMPLEMENTING DES ALGORITHM IN CLOUD FOR DATA SECURITY

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications

Cryptographic Modules, Security Level Enhanced. Endorsed by the Bundesamt für Sicherheit in der Informationstechnik

ensure prompt restart of critical applications and business activities in a timely manner following an emergency or disaster

Security in Android apps

CipherShare Features and Benefits

Secure Collaborative Privacy In Cloud Data With Advanced Symmetric Key Block Algorithm

Security (II) ISO : Security Architecture of OSI Reference Model. Outline. Course Outline: Fundamental Topics. EE5723/EE4723 Spring 2012

Passing PCI Compliance How to Address the Application Security Mandates

Information Security Services

Criteria for web application security check. Version

BM482E Introduction to Computer Security

SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS

Executable Integrity Verification

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

7 Network Security. 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework. 7.5 Absolute Security?

Chap. 1: Introduction

(C) Global Journal of Engineering Science and Research Management

Client Server Registration Protocol

Securing PostgreSQL From External Attack

Victor Shoup Avi Rubin. Abstract

Savitribai Phule Pune University

4. Identify the security measures provided by Microsoft Office Access. 5. Identify the methods for securing a DBMS on the Web.

GUIDE TO SYBASE SECURITY

Advanced Topics in Distributed Systems. Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech

CPA SECURITY CHARACTERISTIC SECURE VOIP CLIENT

Keywords Cloud Computing, CRC, RC4, RSA, Windows Microsoft Azure

Chapter 17. Transport-Level Security

Securing your Microsoft Internet Information Services (MS IIS) Web Server with a thawte Digital Certificate thawte thawte thawte thawte thawte 10.

Microsoft.NET Passport, a solution of single sign on

Oracle Database Security. Nathan Aaron ICTN 4040 Spring 2006

More effective protection for your access control system with end-to-end security

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010

SQL Injection January 23, 2013

IY2760/CS3760: Part 6. IY2760: Part 6

PrivyLink Cryptographic Key Server *

NSA/DHS CAE in IA/CD 2014 Mandatory Knowledge Unit Checklist 4 Year + Programs

Hushmail Express Password Encryption in Hushmail. Brian Smith Hush Communications

Secure Authentication and Session. State Management for Web Services

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

Secure Network Communications FIPS Non Proprietary Security Policy

Security Goals Services

TECHNICAL AUDITS FOR CERTIFYING EUROPEAN CITIZEN COLLECTION SYSTEMS

SSL A discussion of the Secure Socket Layer

Peer-to-peer Cooperative Backup System

PCI PA - DSS. Point ipos Implementation Guide. Version VeriFone Vx820 using the Point ipos Payment Core

A Layered Signcryption Model for Secure Cloud System Communication

Plain English Guide To Common Criteria Requirements In The. Field Device Protection Profile Version 0.75

Data Storage Security in Cloud Computing

How To Encrypt Data With Encryption

CPSC 467: Cryptography and Computer Security

Division of IT Security Best Practices for Database Management Systems

A Framework for Secure and Verifiable Logging in Public Communication Networks

Vormetric Data Security

Content Teaching Academy at James Madison University

Transcription:

Available online at www.sciencedirect.com Procedia Economics and Finance 3 ( 2012 ) 1063 1068 Emerging Markets Queries in Finance and Business Methods to increase search performance for encrypted databases a, * a Postal code 051843, Romania Abstract Weakly encrypted economic data are vulnerable to numerous attacks that do not require access to decryption keys. To prevent text content discovery by comparing encrypted values, most encryption algorithms include salt value. A distinct salt value encryption generates a very different result. Salt encryption could be a good solution in terms of security of databases, such as a database of social security numbers used in the American system or database of credit card numbers. However, if necessary to seek one record from such a database can be also difficult. Thus, the paper describes three methods to increase search performance of encrypted data. 2012 Published by Elsevier Ltd. Selection and peer-review under responsibility of the Emerging 2012 The Authors. Published by Elsevier Ltd. Selection and Markets peer review Queries under responsibility in Finance of and Emerging Business Markets local Queries organization in Finance and Business local organization. Keywords: encryption; salt encryption; security; database encryption; 1. Introduction The tools used nowadays for the databases protection and security are numerous and can be implemented on different levels of security with a higher or lower complexity, depending on the environment in which the database server is located and the importance of the stored data. There are several types of database servers, among which some of the most commonly used are: Oracle, Microsoft SQL Server, MySQL and DB2. * Corresponding author. Tel.: +40 723679214 E-mail address: t_mariuta@yahoo.com 2212-6716 2012 The Authors. Published by Elsevier Ltd. Selection and peer review under responsibility of Emerging Markets Queries in Finance and Business local organization. doi:10.1016/s2212-5671(12)00274-2

1064 Șerban Mariuța / Procedia Economics and Finance 3 ( 2012 ) 1063 1068 In this paper we conducted a case study on the technologies and tools provided by Microsoft SQL Server, technologies which can be found at most competitors. Microsoft SQL Server offers complex instruments for the access of management to databases, offering the possibility of constructing different access architectures, on different levels of security. The tools used for the encryption of data offered by Microsoft SQL Server use a variety of algorithms and encryption keys which can be administrated at database and server level, therefore providing maximum of transparency for the applications to which is connected. The user can manage the keys, by having the advantage of keeping secrets that the administration can not access. The data used in network are vulnerable to attacks because they are found exactly as they are, even if they have been encrypted and decrypted at database server level. For data protection in this case SQL server offers the possibility of securing the transmission channel by using certificates. SQL Server either generates automatically the auto signed certificate used for the channel security or installs a certificate which works explicitly with SQL Server. As the attacks of hackers become more and more complex, so the possibility of new wholes to be left open increases thus, the encryption becomes the last line of defense in the management system of database security. Although the database administrator (DBA) applied the latest patches, secured the database with the latest privileges, used pass-wording systems, the attackers can be smarter and discover certain vulnerabilities because the patches are being used after they have been studied by an attacker which has found also several weak points. Therefore, the encryption can be considered as the latest method of defense for the accidental wholes. The encryption can make the process considerable difficult, that is why when a large amount of data is used, a special attention is given to the encrypting algorithm, the length of the keys used and the size of the text in clear. 2. Using maliciously encrypted data without decrypting them The weakly encrypted data are vulnerable to numerous attacks that do no require access to decryption keys. If a user has access to personal files that contains data which must remain confidential and are non transferable, the mall-intended user can update the content of the file with the encrypted value contained by those data. Subsequently, the user can search the other files tables that contain the same encrypted result; any encrypted values that matches must contain the same values of the initial text. This way, the user can determine the value of an encrypted filed by confirming a previous assumption. SQL Server is protected against these types of attacks. The encryption at database level or volume level is not affected by these problems because any user who has read access of the tables can not see the encrypted data. Most of the encryption algorithms include a salt value in order to prevent the revealing of a text content comparing encrypted values. A very different encryption result is generated by a distinct salt value. When.NET encryption groups are used, the salt value can be specified as an argument for the initialization vector. In SQL Server a random salt value is always applicable to the encryption. The encrypted value can not be compared with the internal functioning of SQL encryption to see if they are equal because the salt value is generated and implicitly included into the encrypted result. However, this is possible for the encrypted data with.net groups as long as the same initialization vector is used. It is not possible to maintain a salt value in SQL Server. To protect against the attacks, the encrypting functions of SQL Server accept a popular authenticator kwon also as the data integration parameter. This corresponds with a primary key of the file or other field which is unique for the given record. The authenticator must provide the same value at encryption because if there is a

Șerban Mariuța / Procedia Economics and Finance 3 ( 2012 ) 1063 1068 1065 difference, the encryption is abandoned and the error is deleted. This architecture makes impossible a copypaste attack because the encrypted value of the new file will contain a wrong value give by the authenticator. ent from SQL SERVER is varbinary type so that the value can contain whole numbers, unique identifications (GUIDs) or even range type. The initialization vector from the.net encrypting groups is also a binary matrix and can be used in.net groups for similar purposes. The identification columns can be used, but the identification value must be known before. The encryption on a primary key GUID, while the encrypted value can be inserted in the table without the threat of a primary keys conflict. 3. Methods to increase search performance for encrypted databases The salt encryption could represent an efficient solution regarding the security of databases, such as social security numbers used in the American system or the credit card databases security. However, in case we need to search records from this kind of database difficulties may occur. As long as the SQL Server engine is used only for the storage and recovery of encrypted information everything develops normally and without problems. The sorting or comparison data operations decrease the performance of this searching engine because this encryption technique prevent the users and the searching engine their implementation. Such sorting involves the individual decryption of each record as the perfect registration is looked for, the time necessary for this operation being very high. There are several approaches that increase the performance, but affect their security. Thus, three methods are described: The first method means to encrypt the text without using a salt value or a consistent salt value. When the search is performed, the term looked for is encrypted by using the same salt value and the binary output is compared with the encrypted value in the databases. The simple identical texts should generate identical encryptions. The encrypted data increase the exposure to attacks and permit the users to correctly confirm the values considered of the simple text. Moreover, the data can not be protected against the copy-paste attacks, which can be realized by using the authenticator argument. Because SQL Server uses salt values for the data encryption, this method can be implemented only for using the.net groups through the extension of the SQL Server with.net groups that offers a significant advantage types. The frequent use of the internal encryption function from SQL Server, EncryptByKey, except when the encryption is made with another key and also the ensuring of the authenticator argument are measures recommended by this method. This method creates encrypting fully salted value which benefits from a robust protection against the attacks. Applying this method involves the creation of a column which contains the hash value of the initial value from the simple text. The lowercase () function is used if the type of search is not sensible to the type of characters. To execute this kind of search the hash value is compared with the values from the new column. The comparison of the returned value of the hash function permits the rapid execution of the interrogation. A hash result on 20 bytes is obtained by using the HashBytes function and the SHA-1 specification algorithm; ideal would be that the type of data of the result hash column to be chosen on binary type (20). If the MD4 algorithm or MD4 algorithm is used the hash result obtained is on 16 bytes which can also represent a unique identifier. If multiple records which have identical hash value must be decrypted and then compared with the searching term of the initial text we can use a single SQL query.

1066 Șerban Mariuța / Procedia Economics and Finance 3 ( 2012 ) 1063 1068 The encryption vulnerability is high compared with a user who considers as known the encrypted values and receives the confirmation by comparing them with the hash values, but a mall indented user can not copy the encrypted value from another record. Because the hash values are not salt, they are vulnerable to certain type of attacks and to frequently analysis because there is the possibility to determine the encrypted value based on their frequency. The third method is similar to the previous one as regarding the encryption of salt values adding an additional hash column which is not salt where the hash values are truncated or even limited as numerical precision. Because the previous method must harmonize with the hashes doubles, this method refers to the harmonization of the duplicates. The advantage of this approach is the low clarity of the hash values which make possible two random values from the initial text to generate the same hash value, thus the hashes are less vulnerable to frequent analysis. The hash functions are used mostly to signatures ensuring though their length a high level of security because two messages do not generate the same hash value. It is therefore almost impossible that another message to generate the same hash value. A relevant example of this method is to presume that the hash method has been reduced to one byte, tinyint type or 256 distinct values. The search using the encrypting salt records can be faster, because the number of records which need an individual decryption could be approximately 256 times lower, presuming a constant distribution. However, any attacker which tries to verify the encrypted value implicates to have a 1:256 cote in order to match the absolute hash value that can offer limited confirmation of this assumption. The number of hash values that matches is directly proportional with the number of rows contained into a table. The clarity of the hash values is inversely proportional with the number of rows from the table. The Bitewise-And (& ;) is used to determine the numerical precision of the hash result for the bytes filtration. The method permits the accurate specification of the hash value clarity, the wanted number of bytes and the offline modification of the hash value precision. An alternative approach of the hash matches is to truncate or reduce the precision of the initial text value and then to create a hash which is not salt starting from this value, offering a control over the distribution and the match precision of the hashes. The advantage offered by this method is represented by the realized equilibrium between the data security, the table dimension and the search performance. Is hard to find an universal solution because the correct answer depends on the size of the table, the frequency of the search and the critical necessity to maintain the secret of the initial data text. 4. The quantitative testing of the encryption methods offered by SQL Server A database named test, with 87500 records was implement to storage the data that helped to the test the encryption of the Value table, using TDE and comparing the time of execution of SELECT ALL, SELECT RANGE, SELECT MATCH instructions. For the quantitative testing using the first method of encryption, described above, a new database named test2 was implemented, with also 87500 records. In the Value table a new column is created, entitled ENCRYPTION_SUM, where all the encrypted values are stored from the column Sum, observing the execution time of the same instructions: SELECT ALL, SELECT RANGE, and SELECT MATCH. Identical instructions are tested into a salt encrypted column because for identical values from the SUM column the encrypted values are the same. Because the search time from an encrypted value column is high, a new data base, test4, is implemented. In the Value table of the database a new column entitled HASH_SUM is introduced, which will contain the hash values of the values from the SUM column and the same types of search are tested in HASH_SUM column.

Șerban Mariuța / Procedia Economics and Finance 3 ( 2012 ) 1063 1068 1067 The disadvantage of this encryption is similar to the simple encryption, namely: obtaining identical hash values to identical information. To use the third method to increase the performance of the encrypted data a new column is introduced which storages only the first octet of the hash value. The quantitative comparison of the time necessary for tested encrypting methods and the time necessary for different search types is illustrated in the following table: Table 1: Time required for interrogation in a encrypted database No. records Encryption method Type of search Time/seconds 77500 TDE 87500 Column encryption 87500 Salt column encryption 87500 Hash encryption 87500 Hash truncated encryption SELECT ALL 4 SELECT RANGE 1 SELECT MATCH 0 Total encryption 10 SELECT ALL 5 SELECT RANGE 0 SELECT MATCH 0 Total encryption 13 SELECT ALL 7 SELECT RANGE 1 SELECT MATCH 1 Total encryption 16 SELECT ALL 6 SELECT MATCH 0 Total encryption 12 SELECT ALL 6 SELECT MATCH 1 5. Conclusions The encryption solutions desired by database users present more options in SQL Server and Windows. These options are not mutually exclusive. The different levels of encryption available in SQL Server and Windows can be used to trigger the defense system in depth and to globally secure the database. The transparent encryption of data offers a series of facilities, such as: the easy administration and use, the performance and security ensuring. TDE provides a global defense because the database remains encrypted, even when is moved to different locations. Both the backup and the snapshots are protected, without requiring support from the server administrator. The most common problem related to the functionality of cryptography is that it is used to address and not to solve problems. Situations that are frequently encountered can be grouped into two categories of examples: using asymmetric key pairs in situations when communicating the key is not an issue, such as data stored in a SQL Server database;

1068 Șerban Mariuța / Procedia Economics and Finance 3 ( 2012 ) 1063 1068 using encryption for data access control. In SQL Server permissions are robust and designed for this. The only exception occurs when access to the mass-media storage may be compromised, encryption adding a significant level of security. The best part of the cryptographic functioning of SQL Server is the fact that is relatively simple to create a robust security. The simplicity of this application ensures a superior quality of security to those users who depend on it to protect their data. Although SQL Server provides powerful tools for encryption and verification, most often these are not understood well enough, which can lead to a poor or incomplete implementation. Acknowledgements Many sincere thanks to my supervisor, Prof. dr. Horia-Ioan Georgescu, who accepted me as PhD. Sudent and who guided me and offered me a great support in my research. References Barnes R.. Database Security and Auditing: Leading Practices. Enterprise Auditing Solutions Applications Security; 2011. T.I.... Editura Matrix Rom;2003. Crampton J. Cryptographically-enforced hierarchical access control with multiple keys. The Journal of Logic and Algebraic Programming 78.; 2009, pag. 690 700. Fusaru D. Arhitectura bazelor de date.. 2002. Hicks J., Criptography in SQL Server. http://msdn.microsoft.com/enus/library/cc837966%28v=sql.100%29.aspx. 2008. Hsueh S. Database encryption in SQL Server 2008 Enterprise Edition. http://msdn.microsoft.com/enus/library/cc278098(v=sql.100).aspx; 2008. Lesov P. Database Security: A Historical Perspective. University of Minnesota. CS 8701; 2008. Patriciu VV, Ene- M, Bica, Voicu N. Editura All ;2001. Srikanth, Radhakrishna., Database security best practices. www.helium.com; 2011.. Annals of Spiru Hart University, Economic Series, Volumul 2(11); 2011, pag. 93-100, ISSN 2068-6900., -M., 2012, Security Solutions for Data at Rest, 19th International Economic Conference IECS June 15, 2012, The Persistence of the Global Economic Crisis: Causes, Implications, Solutions, Lucian Blaga University of Sibiu. -M., 2012, Improving continuously encrypting databases, Arad Academic Days 22 nd Edition, Universitatea de Vest -M., 2012, Criptarea unei baze de date utilizând algoritmi ce includ o valoare salt i 2012, Universitatea Spiru Haret. http://en.wikipedia.org/wiki/database_security.