Skip to main content
SUPERVISOR
Mehdi Berenjkob,Mohammad Ali Montazeri
مهدی برنج کوب (استاد مشاور) محمدعلی منتظری (استاد راهنما)
 
STUDENT
Mohsen Koohi
محسن کوهی اصفهانی

FACULTY - DEPARTMENT

دانشکده مهندسی برق و کامپیوتر
DEGREE
Master of Science (MSc)
YEAR
1388
oosting of processors power by increasing the number of cores, necessitates operating systems that use all the cores carry out jobs in parallel. The presence of GPUs with a lot of cores enables OS to send processes to them and therefore to increase the performance of OS. On the other hand, for many years users attended the security of their information and because of vast amount of computations needed for encryption, we can use GPUs for data encryption. In this thesis we design and implement a secure file system that uses General Purpose Graphical Processing Units(GPGPUs). GPGPU based Secure File System (GSFS) provides integrity and confidentiality of data. This file system makes data(inodes) accessible for different users and also enables users to expand/shrink the access level in each point of the tree structure of the inodes. Using these two techniques GSFS provides information sharing for users. GSFS uses Crust key revocation method for effective user revocation. Crust requires only d keys to store for revoking of n=md, and also it can derive keys with maximum m usage of hash function. GSFS also uses cryptographic links of Cryptree to decrease the usage of public key encryption. Cryptographic links encrypts the key of lower level inodes with parent inode key, and in this way we don’t need public key encryption algorithms to encrypt/decrypt the child inodes keys. GSFS uses Galois Counter Mode (GCM) for regular secure inodes integrity and confidentiality. GCM is a counter block cipher that provides integrity as well as confidentiality. GCM uses galois hash for calculating the hash of each block. For each block of secure regular inodes GSFS stores the VIA values: Version of crust key, the Initiation Vector(IV), and the Authenticated Tag(AT). GSFS uses a merkel tree for reading and writing the VIAs pages quickly. In current version GSFS can store up to 64GB secure regular inode. GSFS also uses another merkel tree to store and resotre the directory entries(dentries) of each secure directory inode. GSFS, uses root user public key to make file system integrated and uses users public keys for confidentiality, and therefore it diffrentiates between integrity and confidentiality. GSFS uses root user private key to sign the digest of super block with a timestamp. This value is shown to the root user at the start and at the end of mounting the GSFS, and in this way the ability of replay attacks is diminished. GSFS is implemented as a linux kernel module and in current version it uses one OpenCL user level program to encrypt/decrypt data in parallel with CPU and GPU. Our examinations show GSFS provides these properties with no less rate in comparison with ext3 for insecure inodes but GSFS rate is less than eCryptfs rate because of its security algorithms. Also, using GPU in our OpenCL program doubles the rate of GSFS in comparison with using CPU. Using one independent process for our parallel encryption, decreases our performance because of the cost of context switch, and therefore we need to use OpenCL in kernel in future versions to improve perfromance of GSFS. Keywords: Secure File System, GPGPU, Parallel Processing, OpenCL, Operating System, Linux, GCM, RSA
با افزایش توان پردازنده ها از طریق افزودن تعداد هسته ها، نیاز به سیستم عاملی داریم که بتواند از همه ی پردازنده ها استفاده کند و به این ترتیب سیستم عامل به صورت موازی نیازهای کاربران را تامین نماید. حضور پردازنده های گرافیکی با تعداد هسته های زیاد، این امکان را برای سیستم عامل فراهم می نماید تا پردازش های حجیم را به آنها منتقل کند و از این طریق کارایی بالاتری ارائه نماید. از سوی دیگر حفظ امنیت اطلاعات برای کاربران اهمیت دارد و از آن جا که رمزنگاری اطلاعات، پردازش زیادی نیاز دارد، می توان از پردازنده های گرافیکی برای رمزنگاری داده ها استفاده نمود. در این پایان نامه یک سیستم فایل امن که از پردازنده های گرافیکی استفاده می کند، با نام «سیستم فایل امن مبتنی بر پردازنده های گرافیکی» (GSFS) طراحی و پیاده سازی شده است. GSFS علاوه بر محرمانگی، جامعیت داده ها را نیز تامین می کند. این سیستم فایل، با ایجاد دسترسی به اطلاعات (آی نودها) برای کاربران گوناگون و افزایش یا کاهش سطح دسترسی در هر سطح از ساختار سیستم فایل، امکان به اشتراک گذاشتن اطلاعات را فراهم می کند. GSFS، امکان لغو کاربر به صورت کارامد را فراهم می کند و با استفاده از لینک های رمزنگاری، کاهش استفاده از رمزنگاری کلید عمومی را ممکن می سازد. همچنین GSFS، از GCM برای احراز اصالت و محرمانگی داده ها استفاده می کند. در GSFS، جامعیت داده ها توسط کلید کاربر ریشه و محرمانگی داده ها توسط کلید کاربران تامین می شود و به این ترتیب محرمانگی از جامعیت داده ها، متمایز می شود و تمامی اطلاعات جدول ها واجزای گوناگون در GSFS، با استفاده از کلید عمومی کاربر ریشه احراز اصالت می شود. GSFS، در سطح هسته پیاده سازی شده است و از یک برنامه ی OpenCL در سطح کاربر برای رمزنگاری صفحات استفاده می کند و به این ترتیب امکان پردازش موازی اطلاعات توسط هر نوع پردازنده فراهم می شود. آزمون های انجام شده نشان می دهد GSFS ضمن فراهم آوردن این امکانات، در مقایسه با یکی از سیستم فایل های پیش فرض سیستم عامل لینوکس (ext3 )سرعت تقریبا یکسانی برای آی نودهای غیر امن ارائه می کند ولی به دلیل استفاده از الگوریتم رمزنگاری و سازی متفاوت نسبت به سیستم فایل امن eCryptfs سرعت کمتری برای آی نودهای امن ارائه می کند. به علاوه استفاده از GPU در طرح پیشنهادی این پایان نامه، در مقایسه با CPU، باعث افزایش سرعت به دو برابر می شود. کلمات کلیدی: سیستم فایل امن، پردازنده های گرافیکی همه منظوره ، پردازش موازی ، سیستم عامل، لینوکس، OpenCL

ارتقاء امنیت وب با وف بومی