بخشی از مقاله
چکیده
سرویسهای ابری بعنوان راهکاری برای ارائه خدمات ابر در دنیای اطلاعات میباشد. در این میان ارائه سرویسهای اطلاعات از قبیل ذخیره، بازیابی، توزیع و انتشار اطلاعات بعنوان خدمات ابری میتواند راه را برای هر چه هموارتر شدن مدیریت دادهها در بین حجم عظیمی از اطلاعات آسانتر کند و دسترسی به حجم انبوهی از دادهها را از نقاط مختلف جهان با سرعت و کیفیت هر چه تمامتر امکانپذیر سازد.در این مقاله یک معماری جدید پیشنهاد شده است که خدمات پایگاهداده ابر را با محرمانگی اطلاعات و امکان اجرای عملیات همزمان بر روی دادههای رمزنگاری شده ادغام میکند. این اولین راهحل برای پشتیبانی از کلاینتهای جغرافیایی توزیع شده است که بطور مستقیم به پایگاهداده ابری بصورت رمزنگاری شده دست مییابند و برای اجرای عملیات همزمان و مستقل، از جمله تغییرات ساختار پایگاهداده، آنرا رمزنگاری میکنند. معماری پیشنهادی دارای مزیت حذف پروکسیهای واسط است که انعطاف-پذیری، قابلیت دسترسی و قابلیت مقیاسپذیری را که در راهحلهای مبتنی بر ابر ذاتی هستند، را محدود میکند. اثربخشی معماری پیشنهادی با استفاده از تجزیه و تحلیلهای نظری و نتایج آزمایشهای گسترده براساس اجرای یک نمونه اولیه مطابق با معیار استاندارد TPC-C برای تعداد مختلف کلاینتها و تاخیرهای شبکه ارزیابی میشود.
کلمات کلیدی:پایگاهداده ابری، امنیت پایگاهداده بعنوان سرویس ابری، رمزنگاری پایگاهداده ابری، محاسبات ابری.
-1 مقدمه
قرار دادن دادههای حیاتی در دست ارائه دهندگان ابر باید با تضمین امنیت و در دسترس بودن دادههای در حالت توقف، حرکت و استفاده، همراه باشد. چندین جایگزین برای خدمات ذخیرهسازی وجود دارد، درحالیکه راهحلهای محرمانگی دادهها برای پایگاهداده بعنوان یک پارادایم سرویس هنوز نابالغ هستند. در یک زمینه ابری، جائیکه اطلاعات بحرانی در زیرساختهای شخص ثالث غیر قابل اعتماد، قرار میگیرد؛ اطمینان از محرمانگی دادهها اهمیت اساسی دارد .[1,2] این الزامات، انتخاب روشهای مدیریت داده را به روشنی بیان میکنند. دادههای اصلی باید تنها توسط افراد مورد اعتماد، قابل دسترسی باشند که شامل ارائه دهندگان ابر، واسطهها و اینترنت نمیباشند. در هر زمینه غیرقابل اعتماد، دادهها باید رمزنگاری شوند.
رضایت از این اهداف، بسته به نوع سرویس ابر، دارای سطوح مختلف پیچیدگی میباشد. چندین راهحل وجود دارد که از محرمانگی ذخیرهسازی بعنوان یک پارادایم سرویس، اطمینان میدهد .[3,4,5] درحالیکه تضمین حفظ محرمانگی دادهها در یک پایگاهدادهای که بعنوان یک سرویس ارائه میشود، یک امر مهم محسوب میگردد. در این زمینه، 1Secure DBaaS - امنیت پایگاه داده بعنوان سرویس ابری - بعنوان اولین راهحل پیشنهاد شده است؛ که دریافت کنندگان ابر را قادر میسازد تا از ویژگیهای 2DBaaS - پایگاه داده بعنوان سرویس ابری - ، مانند دسترسی، قابلیت اطمینان و مقیاسپذیری، با ارائه داده-های رمزنگاری شده به ارائه دهندهگان ابر، بطور کامل استفاده کنند. طراحی این معماری دارای یک هدف سه گانه میباشد.
برای اجازه دادن به کلاینتهای چندگانه، مستقل و جغرافیایی جهت اجرای عملیات همزمان بر روی دادههای رمز شده، از جمله دستورات SQL ، ساختار پایگاهداده را تغییر میدهند تا محرمانگی اطلاعات حفظ شده و برای کاهش تعداد سرورهای3 واسط بین کلاینت4 ابر و ارائه دهنده ابر، یک سازگاری در سطح کلاینت و ابر ایجاد گردد.امکان ترکیب قابلیت دسترسی، قابلیت ارتجاعی و مقیاسپذیری یک DBaaS معمولی با محرمانگی دادهها از طریق یک نمونه اولیه از Secure DBaaS از اجرای عملیات همزمان و مستقل پایگاهداده رمزنگاری شده توسط بسیاری از کلاینتان جغرافیایی توزیع شده همانند راهحل دیجیتالی غیررمزنگاری شده پشتیبانی میکند.
برای رسیدن به این اهداف، Secure DBaaS طرحهای رمزنگاری موجود، مکانیزمهای انزوا و استراتژیهای جدید برای مدیریت متادیتاهای رمز شده را در پایگاهدادههای ابری غیرقابل اعتماد ادغام میکند. این مقاله شامل یک بحث نظری در مورد راهحلی برای مسائل انسجام دادهها بعلت دسترسی کلاینتان بطور همزمان و مستقل به دادههای رمز شده میباشد. در این زمینه، بدلیل پیچیدگیهای محاسباتی بیش از حد، نمیتوان طرحهای رمزنگاری کاملا همگن5 را اعمال کرد .[3]معماری Secure DBaaS برای سیستم عاملهای ابر طراحی شده است و هیچ پروکسی یا سرور واسطی بین کلاینت و ارائه دهنده ابر ارائه نمیکند.
حذف هر سرور واسط باعث میشود که Secure DBaaS به همان میزان دسترسی، قابلیت اطمینان و سطح قابلیت ارتجاعی 6Cloud DBaaS - پایگاه داده ابر بعنوان سرویس ابری - دست یابد. سایر پیشنهادهای ارائه شده در مقالات [3,6,7,8,9] براساس سرورهای واسط برای یک راهحل مبتنی بر ابر غیرقابل اطمینان در نظر گرفته شدند، زیرا هر پروکسی تنها یک نقطه شکست و یک تنگنای سیستم است که مزایای اصلی یک سرویس پایگاهداده مستقر در یک پلت فرم ابر مانند مقیاسپذیری، در دسترس بودن و قابلیت ارتجاعی را محدود میکند. بر خلاف Secure DBaaS، معماری اعمال شده مبتنی بر پروکسی واسط سناریوی معمولی ابر را که در آن کلاینتان پراکنده جغرافیایی میتوانند همزمان عملیات خواندن/نوشتن و اصلاح ساختار داده را به یک پایگاهداده ابر اضافه کنند، پشتیبانی نمیکند.
مجموعهای بزرگ از آزمایشهای مبتنی بر سیستم عاملهای واقعی نشان میدهد که Secure DBaaS بلافاصله قابل اجرا روی هر 7DBMS است، زیرا هیچ نیازی به اصلاح سرویسهای پایگاهداده ابر وجود ندارد. مطالعات دیگری که معماری پیشنهادی برای معیارهای استاندارد TPC-C برای تعداد مختلف کلاینتها ارائه کرده است و نیز تأخیرهای شبکه نشان میدهد که عملکرد عملیات خواندن و نوشتن همزمان، بدون اصلاح ساختار پایگاه داده Secure DBaaS ، قابل مقایسه با پایگاهداده ابرهای رمزنگاری نشده است. حجم کار از جمله تغییرات در ساختار پایگاهداده نیز توسط Secure DBaaS پشتیبانی میشود، و هزینه سربارها برای رسیدن به سطح مطلوب محرمانگی اطلاعات قابل قبول است.
انگیزه این نتایج این است که تاخیرهای شبکه، که معمولا از سناریوهای ابری است، تمایل دارند هزینههای عملکرد رمزنگاری دادهها را در زمان پاسخگویی پنهان کنند. نتیجه کلی این مقاله اهمیت قابلیت استفاده از رمزنگاری سرویسهای پایگاه-داده ابر را از لحاظ امکانسنجی و عملکرد نشان میدهد. ادامه این مقاله به شرح زیر میباشد .[10,11]بخش 2 پیشنهاد ارائه شده در مقاله را با راهحلهای موجود در رابطه با محرمانگی سرویسهای پایگاهداده ابر مقایسه میکند. بخش 3 و 4 معماری کلی و نحوه پشتیبانی از عملیات اصلی روش پیشنهادی را توصیف میکند. بخش 5 بعضی از ارزیابیهای تجربی را از طریق نمونه اولیه اجرا میکند. بخش 6 نتایج اصلی را بیان میکند.
-2 کارهای انجام شده
Secure DBaaS چندین ویژگی اصلی را ارائه میکند که از کار قبلی در زمینه امنیت سرویسهای پایگاهداده از راه دور، متفاوت است. این امر محرمانگی دادهها را با اجازه دادن به سرور پایگاهداده ابر برای اجرای عملیات همروندSQL 8 از قبیل خواندن/نوشتن و اصلاح ساختار پایگاهداده از طریق دادههای رمزنگاری شده تضمین میکند؛ وقابلیت دسترسی، قابلیت ارتجاعی، و مقیاسپذیری اصلی را بدون نیاز به هیچ سرور واسط فراهم میکند.اگرچه زمان پاسخ با سربارهای رمزنگاری همراه است، ولی این زمان تلف شده که با اکثر عملیات SQL همراه است در مقابل تأخیرهای شبکه ناچیز میباشد. کلاینتان متعدد، که از لحاظ جغرافیایی توزیع شده هستند، میتوانند بطور همزمان و مستقل به یک سرویس پایگاهداده ابری دسترسی داشته باشند و نیازی به یک سرور قابل اعتماد یا یک پروکسی معتبر ندارند زیرا دادههای دریافتکننده خدمات ابری و متادیتاهای ذخیره شده توسط پایگاهداده ابر همیشه رمزنگاری میشوند.
و این با سرویس دهندههای پایگاهدادههای ابری سازگار میباشد و برای پیادهسازیهای مختلف DBMS قابل اجرا است.سیستم فایل رمزنگاری و راهحلهای ذخیرهسازی امن کارهایی است که در این زمینه انجام شده است. Secure DBaaS نیازی به استفاده از ارائه دهندگان چندین ابر ندارد و از الگوریتمهای رمزنگاری اطلاعاتی SQL پشتیبانی میکند تا از اجرای معمولترین عملیات SQL در دادههای رمز شده پشتیبانی کند .[12]Secure DBaaS با استفاده از رمزنگاری از دادههای مدیریت شده توسط پایگاههای نامشخص پشتیبانی میکند. در چنین مواردی، یک مسئله اصلی برای آدرس این است که تکنیکهای رمزنگاری را نمیتوان بصورت استاندارد DBaaS اعمال کرد، زیرا DBMS تنها می-تواند عملیات SQL را بر روی دادههای متن ساده انجام دهد. برخی از موتورهای DBMS امکان رمزنگاری دادهها را در سطح سیستم فایل با استفاده از ویژگی رمزنگاری داده ارائه میدهند .[3]
این ویژگی امکان ساخت یک DBMS قابل اطمینان را بر روی ذخیرهسازی نامعتبر فراهم میکند. با این حال، DBMS قبل از استفاده از دادهها، آنها را رمزگشایی میکند. از این رو، این رویکرد به زمینه DBaaS که توسط Secure DBaaS مورد بررسی قرار می-گیرد، قابل اجرا نیست، زیرا فرض بر این است که ارائهکننده ابر، نامعلوم میباشد. راهحلهای دیگر مانند [13] اجازه اجرای عملیات بیش از دادههای رمزنگاری شده را میدهد. این رویکردها حفظ محرمانگی اطلاعات در سناریوهایی هستند که DBMS مورد اعتماد نیست.با این حال، آنها نیاز به یک موتور DBMS اصلاح شده دارند و با نرم افزار DBMS ارائه دهندگان ابر سازگار نمیباشند. از سوی دیگر، Secure DBaaS با موتورهای DBMS سازگار است و دریافت کنندگان ابر را قادر میسازد تا با استفاده از سرویس Cloud DBaaS که در حال حاضر در دسترس هستند، پایگاههای امنیتی را ایجاد کنند.
به همین دلیل، Secure DBaaS محرمانگی دادهها را در - DBMS - های غیر قابل اعتماد از طریق تکنیکهای رمزنگاری حفظ میکند، عملیات SQL را بر روی دادههای رمزنگاری شده انجام میدهد و با موتورهای DBMS مشترک نیز سازگار است.با این حال، معماری این راهحلها مبتنی بر یک پروکسی متمرکز و معتبر است که هرگونه تعامل بین کلاینت و سرور DBMS غیرقابل اعتماد را متمایز میکند. رویکرد پیشنهاد شده در [7] با رمزنگاری بلوکهای داده بجای رمزنگاری هر مورد داده، کار میکند. هر وقت یک آیتم داده که متعلق به یک بلوک است مورد نیاز باشد، پروکسی قابل اعتماد، کل بلوک را رمزگشایی کرده و دادههای غیرضروری را که متعلق به همان بلوک هستند را فیلتر میکند.بعنوان یک نتیجه، انتخاب این طراحی، نیاز به ایجاد تغییرات در عملیات اصلی SQL تولید شده توسط هر کلاینت دارد و به این ترتیب هزینههای قابل توجهی را در سرور DBMS و پروکسی قابل اعتماد ایجاد میکند.
سایر روشها به معرفی بهینهسازی و تعمیم میپردازند که تعدادی از عملگرهای SQL را پشتیبانی میکنند . آنها از یکسو معماری مبتنی بر پروکسی و مسائل مربوط به آن را به اشتراک می-گذارند و از سوی دیگر، Secure DBaaS اجازه اجرای عملیات روی دادههای رمز شده را از طریق الگوریتمهای رمزنگاری SQL-Aware میدهد. این روش، ابتدا در [6] که مربوط به رمزنگاری پایگاه داده است، پیشنهاد شد؛ که عملیات را بر روی دادههای رمزنگاری شده انجام میدهد و شبیه به عملیات بر روی دادههای متن ساده است. در بسیاری از موارد، برنامه پرس و جو توسط پایگاهداده DBMS برای دادههای رمزنگاری شده و متن ساده یکسان است. شکل - 1 - معماری Secure DBaaS را نشان میدهد.