Linux Symposium

GSFS: GPGPU-based Secure File System

Mohsen Koohi

By boosting the processors speed via increasing the number of cores, we need operating systems that use all cores to carry out each process in parallel. The presence of GPUs with a lot of cores enables OS to send massive computations of processes to them and therefore, to increase the performance of OS. On the other hand, for many years, users turned to the security of their information and because of the vast amount of computations needed for encryption, we can use GPUs for data encryption. In this article, we design and implement a secure file system that uses GPUs.

GPGPU based Secure File System (GSFS) provides integrity and confidentiality of data. GSFS enables information sharing for users by making inodes accessible for different users and also enabling users to expand/shrink the access level in each point of tree structure of inodes. GSFS uses Crust key revocation method for effective user revocation and Cryptographic Links of Cryptree to decrease the usage of time-consuming public key cryptography algorithm. It uses Galois Counter Mode(GCM) to provide integrity and confidentiality services for regular secure inodes.

GSFS is implemented as a Linux kernel module and in the current version, it uses one OpenCL user level program to encrypt/decrypt data in parallel with CPU and GPU. Using GPU in our OpenCL program doubles the rate of GSFS in comparison to CPU. Using one independent process for our parallel cryptographic computations decreases our performance because of the cost of context switch; therefore, we need to use OpenCL in kernel mode in future versions to improve the performance of GSFS.

Policies   |   Media Archives