بخشی از مقاله
خلاصه
امروزه فناوری ذخیرهسازی ابری بهعنوان راهکاری جهت مدیریت حجم بالایی از دادهها با هزینه پایین و دسترسی بالا - هر زمان و هر مکان - مطرح گردیده است. با این وجود نگرانیهای فراوانی در حوزه حفظ حریم خصوصی در این فضا احساس میشود. جهت برآوردن نیاز به حفظ محرمانگی اطلاعات خصوصی افراد و سازمانها، از رمزنگاری استفاده میشود. علیرغم توانایی بالای تکنیکهای رمزنگاری اطلاعات در حفظ محرمانگی دادهها عملاً امکان جستجو در رکوردهای رمزنگاری شده که یکی از نیازهای اساسی برای بازیابی اطلاعات است، پس از رمزنگاری کلاسیک غیر فعال میشود. جهت حل این مشکل و فعال نمودن امکان جستجو در دادههای رمزشده، ایده رمزنگاری قابل جستجو مطرح گردیده است. در این مقاله طرحی نوین برای جستجو در اطلاعات رمزشده پایگاه داده ارائه شده است. از ویژگیهای این طرح میتوان به قابلیت جستجوی عطفی، تأمین امنیت دریچه در مقابل حملات حدس کلمات کلیدی با ارائه دریچههای یکبار مصرف، تأمین محرمانگی سلسله مراتبی و تضمین صحت دادهها که یکی دیگر از نیازهای اساسی در فضای ابری است، اشاره نمود.
کلمات کلیدی: رمزنگاری قابل جستجو، محرمانگی و صحت داده، زوجسازی دوسویه، حملات حدس کلمه کلیدی، دریچه
-1 مقدمه
با توجه به گسترش سریع فناوری اطلاعات و افزایش چشمگیر نرخ تولید اطلاعات، نیاز به فضای کافی برای ذخیرهسازی این اطلاعات هر روز بیشتر میشود. رایانش ابری و به صورت خاص فضای ذخیرهسازی ابری، جهت تأمین این نیاز به وجود آمده و در حال حاضر تبدیل به یکی از رایجترین اصطلاحات در زمینه فناوری اطلاعات گردیده است. استفاده از این سرویس بهدلیل اقتصادی بودن و همیشه در دسترس بودن دادهها - بدون توجه به زمان و مکان - بسیار محبوب گشته و فضاهای ذخیرهسازی ابری، به صورت گسترده برای خدماتی مانند پشتیبانگیری و برونسپاری دادهها - جهت کاهش هزینهی عملیاتی - استفاده میشوند.
با این حال سرویسدهندههای از راه دور به دلیل دسترسی کاملی که مدیران آنها و همچنین نفوذگران به دادهها دارند، مطمئن نیستند. تصور کنید صاحبان فضای ذخیرهسازی شما، کسبوکار خود را به شرکتی بفروشند که شما به آن اعتماد ندارید. شرکتی که میتواند به دادههای شما دسترسی داشته باشد. بنابراین برای ذخیره ایمن اطلاعات حساس روی سرویسدهندههای نامطمئن، دادهها باید رمزنگاری شوند. این کار موجب کاهش خطرات امنیت و حریم خصوصی به وسیله پنهان کردن دادههای شما میشود. رمزنگاری دسترسی مدیران سرویسدهنده ابری و نفوذگرانی که فاقد کلید هستند را غیرممکن میسازد. ولی علاوه بر این موجب از بین رفتن قابلیت جستجو در دادهها میشود.
یک راهحل بدیهی جهت توانمندسازی ما به جستجو، دانلود کل پایگاه داده، خارج کردن آن از حالت رمزشده و جستجو برای نتیجه مورد نظر است. برای بیشتر کاربردها این راهکار غیرعملی است. روش دیگر دادن اجازه رمزگشایی دادهها به سرویس دهنده و اجرای پرسوجو روی سرویسدهنده و ارسال نتایج به کاربر میباشد. روش سوم که موضوع بحث این مقاله میباشد، رمزنگاری قابل جستجو است. در این راهکار، به سرویسدهنده این قابلیت داده میشود که بدون یادگیری اطلاعات روی دادههای رمز شده جستجو انجام دهد و نتیجه را به کاربر بازگرداند.رمزنگاری قابل جستجو به طور کلی شامل چهار مرحله میشود. در مرحله اول رمزهای مورد نظر تولید میشود.
در مرحله دوم دادهها به علاوه شاخصها رمزنگاری میشوند. در مرحله سوم کاربر مجاز که مایل به جستجو میباشد اقدام به ایجاد یک دریچه با استفاده از کلمه کلیدی مورد نظر خود و همچنین کلید مجاز مینماید. در مرحله چهارم سرور اطلاعات دریچه ایجاد شده را با شاخصهای موجود تطبیق میدهد که در صورت تطابق یک و در صورت عدم تطابق صفر باز میگرداند. به این تابع، تابع آزمون میگوییم.امروزه بسیاری از سازمانها، پایگاه داده خود را روی فضای ذخیرهسازی ابری قرار میدهند. در این سازمانها معمولاً یک کاربر، دادهها را ایجاد و سایر کاربران، از آنها استفاده مینمایند. این کاربران معمولاً نیاز به اطلاعات محدودی دارند که برای این کار، اقدام به جستجو در دادهها میکنند. از طرفی این کاربران سطح دسترسی مختلفی دارند.
بعلاوه هر سطر از یک جدول پایگاه داده میتواند نیاز به سطح دسترسی متفاوتی داشته باشد، که به عنوان یکی از ستونهای جدول ذخیره شود. امنیت دریچه در پایگاههای داده بسیار حساس است. از آنجا که هر دریچه حاوی کل اطلاعات یک فیلد است، به خطر افتادن امنیت دریچه، به خطر افتادن امنیت فیلدهای متناظر با آن است. در نتیجه اگر یکی از این دریچهها افشا شود، اطلاعات بسیاری درباره دادههای موجود در جدول برای دیگران فاش میشود.بنابراین حفاظت از امنیت دریچه در محیط پایگاه داده از جایگاهی ویژه برخوردار است. یکی از حملات مهمی که بر روی دریچهها انجام میشود، حملات حدس کلمه کلیدی است که موجب افشای دریچه میشود. میتوان تدابیری جهت جلوگیری از این حملات اتخاذ نمود. یکی از این تدابیر، راهکار تولید دریچه متفاوت در زمان متفائت برای کلمه کلیدی یکسان است.
چارچوب رمزنگاری قابل جستجوی ارائهشده در این مقاله برای کاربردهای پایگاه داده ای طراحی گردیده است. با توجه به این محدودسازی به پایگاه داده، کارایی آن بهبود یافته است. در بسیاری از طرح های مشابه پیشین امکان جستجوی کلمات به صورت ترکیبی وجود ندارد. به عنوان مثال اگر کاربر درخواستی برای جستجو در پایگاه داده برای کلیه رکوردهایی که نام آنها علی و نام خانوادگی آنها محمدی است داشته باشد، باید دو بار به فضای ذخیرهسازی دریچه بفرستد - یکبار این جستجو را برای رکوردهایی که مقدار فیلد نام آنها علی است انجام دهد و بار دیگر برای رکوردهایی که مقدار فیلد نامخانوادگی آنها محمدی است - .
سپس اشتراک نتایج بهدست آمده از این دو درخواست را بهدست آورد. در صورتی که کاربر بخواهد جستجوی ترکیبی براساس m ستون داشته باشد، بیشتر روش های پیشین مستلزم m بار ارتباط با فضای ذخیرهسازی - سربار ارتباطی - و همچنین m بار اجرای درخواست روی تمامی سطرها است. در حالیکه در روش ارائه شده تنها نیاز به یک ارتباط با فضای ذخیرهسازی و یک بار اجرای درخواستها روی تمامی سطرهاست. ویژگی دیگر این طرح امکان سنجش صحت داده ذخیره شده است. همچنین این قابلیت به گونهای طراحی شده که تنها کاربران مجاز بتوانند از صحت داده مطلع شوند. همچنین کاربران مجاز برای مشاهده صحت داده نتوانند داده را بهصورت غیرمجاز تغییر دهند.
هدف اصلی این نوشتار بهبود یک طرح ارائه شده با نام رمزنگاری قابل جستجو براساس دریچه یکبار مصرف در محیط پایگاهداده است که بدین ترتیب ادامه خواهد یافت: بخش 2 پیشینه تحقیق در راستای این طرح را شرح میدهد. در بخش 3 پیشنیازهای طرح آمده است. در بخش 4، به معرفی حملات حدس کلمات کلیدی پرداخته شده و تعاریف مورد نیاز ارائه میگردد. در بخش 5 معماری مورد استفاده در این طرح بررسی میگردد. در بخش 6 به تشریح الگوریتم طرح پیشنهادی پرداخته میشود. بخش 7 به تحلیل طرح معرفی شده میپردازد. و بخش انتهایی به نتیجهگیری و جمعبندی این نوشتار اختصاص دارد.
-2 پیشینه تحقیق
اولین طرح ارائه شده عملی برای انجام جستجو روی متن رمزشده - رمزنگاری قابل جستجو - توسط Song و همکارانش ارائه گردید.[3] این طرح براساس رمزنگاری متقارن ارائه شد. در این طرح صاحب داده و کاربر هر دو یک نفر هستند. این طرح همچنین حاوی شاخص نبود. استفاده از شاخص برای اولین بار توسط Goh پیشنهاد گردید.[4] همچنین Golle و همکارانش برای نخستین بار طرحی با قابلیت ترکیب عطفی روی دادههای رمزشده ارئه دادند.[6] ایده تأمین صحت دادهها در رمزنگاری قابل جستجو اولین بار توسط Chang و Mitzenmacher ارائه شد.[5]از دیگر سو، اولین طرح رمزنگاری نامتقارن - رمزنگاری کلید عمومی با قابلیت جستجوی کلمات کلیدی - توسط boneh و همکارانش ارائه گردید.[9]
با این وجود طرح ارائه شده توسط وی در برابر حملات حدس کلمه کلیدی آسیبپذیر بود. جهت حل این مشکل، طرح dPEKS ارائه گردید که دربرابر حملات حدس کلمه کلیدی آفلاین مقاوم است.[8] ام این طرح نیز در برابر حملات حدس کلمات کلیدی آنلاین آسیبپذیر بود. در طرح دریچه یک بار مصرف برای رمزنگاری قابل جستجو، طرحی برای جلوگیری از حملات حدس کلمات کلیدی ارائه گردید.[7] این طرح در برابر حملات آفلاین و آنلاین مقاوم است و همچنین امنیت دریچه را بهصورت کامل تأمین مینماید. با این وجود در این طرح راهکاری جهت تأمین صحت دادهها و همچنین جستجوی ترکیبی ارائه نشده است.
-3 پیشنیازهای مقاله
در این بخش به بررسی پیشنیازهای طرح معرفی شده میپردازیم.
-1-3 زوجسازی دوسویه
زوجسازی دوسویه کاربردهای فراوانی در رمزنگاری دارد و در این مقاله نیز نقش بهسزایی ایفا میکند.اگر - G1 , + - و - . , - G2 دو گروه چرخشی از مرتبه q باشند، زوجسازی دوسویه بین آنها بهصورت زیر تعریف میشود:
این زوجسازی دارای خواص زیر است:
-1 رابطه دوسویی: رابطه زیر همواره برقرار است:
-2 پایستگی: اگر P مولد 1 باشد e - P , P - مولد 2 است.
-3 محاسبهپذیری: الگوریتمی برای محاسبه e - P , Q - بهازای , ∈ 1 وجود دارد. زوجسازی ویل و زوجسازی تیت روشهایی برای محاسبه زوجسازی روی خم بیضوی هستند.
-4 همچنین رابطه زیر همواره برقرار است:
-2-3 مسئله لگاریتم گسسته روی خم بیضوی
مسئله لگاریتم گسسته روی گروههای چرخشی محدود تعریف میشود. اگر g و h، اعضای یک گروه چرخشی محدود باشند، این مسئله بهصورت معادله gx = h نمایش داده میشود و به آن لگاریتم گسسته h در پایه g گوییم. این مسئله بهراحتی برای خمهای بیضوی قابل پیادهسازی است. اگر E یک خم بیضوی روی میدان محدود Fq از درجه q و P نقطهای روی آن باشد E - Fq - ∪ O - که در آن O نقطهای در بینهایت است - ، مطلوب است محاسبه d در معادله .Q = d.Pدر حال حاضر الگوریتم چند جملهای برای حل این مسئله برای تمامی P و Qها وجود ندارد. همین موضوع موجب مناسب بودن این مسئله برای رمزنگاری میشود.
-4 حملات حدس کلمه کلیدی
دادههای موجود در فضای ذخیرهسازی میتوانند توسط کاربران بد و افراد غیرمجاز مورد حمله قرار گیرند. یکی از این حملات، که در رمزنگاری عمومی با قابلیت جستجو وجود دارد، حملات حدس کلمه کلیدی است. این حملات از انجا ناشی میشوند که کلمات درون فرهنگ لغت محدود است. این حملات دارای دو نوع آنلاین و آفلاین هستند.
-1-4 حملات حدس کلمه کلیدی آفلاین
با توجه به در دسترس بودن کلید عمومی تولید دریچه برای کلمه موردنظر برای همه بهراحتی مقدور است. همچنین محدود بودن دامنه کلمات موجود در فرهنگ لغت این امکان را میدهد که هرکسی دریچه موردنظر برای ت کلمه موردنظر خود را ایجاد نماید.