Abstract
Graphics processing units have proved their capability for general-purpose computing in many research areas. In this paper, we propose the mechanism and implementation of a database system that encrypts and decrypts data by using GPU. The proposed mechanism is mainly designed for database systems that require data encryption and decryption to support high security level. The outsourced database systems or database cloud service could be a good candidate for our system. By exploiting the computation capability of GPU, we achieve not only a fast encryption and decryption time per operation, but also a higher overall performance of a database system by offloading computation to GPU. Moreover, the proposed system includes a mechanism which can decide whether to offload computation to GPU or not for more performance gain. We implemented the AES algorithm based on CUDA framework and integrate with MySQL, a commodity database system. Our evaluation demonstrates that the encryption and decryption on GPU show eight times better performance compared to that on CPU when the data size is 16 MB and the performance gain is proportional to the data size. We also show that the proposed system alleviates the utilization of CPU, and the overall performance of the database system is improved by offloading heavy encrypting and decrypting computation to GPU.
Similar content being viewed by others
References
Elovici Y, Waisenberg R, Shmueli E, Gudes E (2004) A structure preserving database encryption scheme. In: Lecture Notes in Computer Science, vol 3178, pp 449–455
Fernandez EB, Summers RC, Wood C (1980) Database security and integrity. Addison-Wesley, Massachusetts
Coper JA (1989) Computer and communication security: strategies for the 1990s. McGraw-Hill, New York
Conway RW, Maxwell WL, Morgan HL (April 1972) On the implementation of security measures in information systems. Commun ACM 15(4):211–220
Graham GS, Denning PJ (1972) Protection—principles and practice. In: Proceedings of spring joint computer conference, vol 40, Montrale, NJ, pp 417–429
Hwang MS, Yang WP (1994) A new dynamic access control scheme based on subject object-list. Data Knowl Eng 14(1):45–56
Garvey C, Wu A (1988) ASD-Views. In: Proceedings of IEEE symposium on security and privacy, Oakland, California, pp 85–95
Lunt TF, Denning DE, Schell RR, Heckman M, Shockley WR (1990) The SeaView security model. IEEE Trans Softw Eng 16(6):593–607
Stachour PD, Thuraisingham B (1990) Design of LDV: a multilevel secure relational database management system. IEEE Trans Knowl Data Eng 2(2):190–209
National Bureau of Standards (1977) Data encryption standard. FIPS, NBS
Rivest RL, Shamir A, Adleman L (1978) A method for obtaining digital signatures and public key cryptosystems. Commun ACM 21(2):120–126
Smid ME, Branstad DK (1988) The data encryption standard: past and future. Proc IEEE 76(5):550–559
Hacigumus H, Iyer B, Mehrotra S (2002) Providing database as a service. In: Proceedings of ICDE, pp 29–38
Mehrotra S, Hacigumus H, Iyer B (2004) Efficient execution of aggregration queries over encrypted relation databases. In: Proceedings of DASFAA, pp 125–136
Agrawal R, Kiernan J, Srikant R, Xu Y (2004) Fine order-preserving encryption for numeric data. In Proceedings of ICDM, pp 563–574
Amazon RDS. http://aws.amazon.com/rds/
Microsoft SQL Azure. http://www.windowsazure.com
Xeround. http://xeround.com/
NVIDIA. http://www.nvidia.com/docs/IO/105880/DS_Tesla-M2090_LR.pdf
Che S, Boyer M, Meng J, Tarjan D, Sheaffer JW, Skadron K (2008) A performance study of general purpose applications on graphics processors using CUDA. J Parallel Distrib Comput 68(10):1370–1380
Khronos OpenCL Working Group (2008) The OpenCL 1.0 Specification. Khronos Group
GPGPU. http://gpgpu.org
Manavski SA (2007) CUDA compatible GPU as an efficient hardware accelerator for AES cryptography. In: Proceedings of the IEEE international conference on signal processing and communication, 2007 (ICSPC 2007), pp 65–68
Cook DL, Keroymytis AD (2006) Cryptographics: exploiting graphics cards for security. Advancements in information security series. Springer, Berlin
Cook DL, Ioannidis J, Keromytis AD, Luck J (2005) CryptoGraphics: secret key cryptography using graphics cards. In: Cryptographer’s track RSA conference (CT-RSA)
Govindaraju NK, Larsen S, Gray J, Manocha D (2006) A memory model for scientific algorithms on graphics processors. In: Proceedings of the ACM/IEEE conference on supercomputing, Nov. 11–17, 2006, Tampa, Florida
Oprofile. http://oprofile.sourceforge.net
Jo H, Hong ST, Chang JW, Choi DH (2013) Data encryption on GPU for high-performance database systems. In: Proceedings of international conference on ambient systems, networks and technologies, June 25–28, 2013, Halifax, Nova Scotia, Canada
Daemen J, Rijmen V (2002) The design of Rijndael: AES—the advanced encryption standard. Springer, Berlin
Lee VW et al (2010) Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU. In: Proceedings of the 37th annual international symposium on computer architecture, 2010 (ISCA ’10). ACM, New York, pp 451–460
AMD, APU. http://fusion.amd.com
Keckler SW, Dally WJ, Khailany B, Garland M, Glasco D (2011) GPUs and the future of parallel computing. Micro IEEE 31(5):7–17
Nickolls J, Dally WJ (2010) The GPU computing era. Micro IEEE 30:56–69
Sysbench. http://sysbench.sourceforge.net
Costigan N, Scott M (2007) Accelerating SSL using the vector processorsin IBMs cell broadband engine for sonys playstation 3. In Cryptology ePrint Archive Report
Harrison O, Waldron J (2008) Practical symmetric key cryptography on modern graphics hardware. In: USENIX security symposium
Jang K, Han S, Moon S, Park K (2011) Sslshader: cheap ssl acceleration with commodity processors. In: Proceedings of the 8th USENIX conference on networked systems design and implementation 2011 (NSDI ’11). USENIX Association, Berkeley, CA, pp 1–1
Szerwinski R, Gneysu T (2008) Exploiting the power of GPUs for asymmet-ric cryptography. In: International workshop on cryptographic hardwareand embedded systems
Harrison O, Waldron J (2009) Efficient acceleration of asymmetric cryptography on graphics hardware. In: International conference on cryptology, Africa
Kim C, Chhugani J, Satish N, Sedlar E, Nguyen AD, Kaldewey T, Lee VW, Brandt SA, Dubey P (2010) FAST: fast architecture sensitive tree search on modern CPUs and GPUs. In: Proceedings of the 2010 international conference on management of data, June 06–10, 2010, Indianapolis, Indiana
Govindaraju N, Gray J, Kumar R, Manocha D (2006) GPUTeraSort: high performance graphics co-processor sorting for large database management. In: Proceedings of the 2006 ACM SIGMOD international conference on management of data, June 27–29, 2006, Chicago, IL
He B, Yang K, Fang R, Lu M, Govindaraju N, Luo Q, Sander P (2008) Relational joins on graphics processors. In: Proceedings of the 2008 ACM SIGMOD international conference on management of data, June 09–12, Vancouver, Canada
Fang W, He B, Luo Q (2010) Database compression on graphics processors. In: Proceedings of the VLDB endowment, vol 3, no. 1, pp 670–680
Ding S, He J, Yan H, Suel T (2009) Using graphics processors for high performance IR query processing. In: Proceedings of the 18th international conference on World wide web, April 20–24, 2009, Madrid, Spain
Engine-cudamrg. http://code.google.com/p/engine-cuda
OpenSSL. http://www.openssl.org
Intel Desktop Board DP67BG Technical Product Specification
GeForce Graphics Cards. http://www.nvidia.com/object/geforce_family.html
Acknowledgments
This research was supported by the Korea Institute of Science and Technology Information [Building Scientific Big Data Management Platform] and the IT R&D program of MSIP/KEIT [10038768, The Development of Supercomputing System for the Genome Analysis]. It was also supported by the Industrial Convergence Source Technology Development Program through the Ministry of Science, ICT and Future Planning, Korea (grant 10044313).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Jo, H., Hong, ST., Chang, JW. et al. Offloading data encryption to GPU in database systems. J Supercomput 69, 375–394 (2014). https://doi.org/10.1007/s11227-014-1159-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-014-1159-0