بخشی از مقاله
*** این فایل شامل تعدادی فرمول می باشد و در سایت قابل نمایش نیست ***
تأمین محرمانگی و تمامیت داده برون سپرده با استفاده از تسهیم راز آستانه ای
چکیده
در مدل برونسپاری دادهها، مالک داده، عملیات مربوط به مدیریت داده را به یک سرویس دهنده خارجی میسپارد تا پرسوجوهای کاربران را دریافت کرده و به آنها پاسخ دهد. دادهها برای مالکان بسیار با اهمیت است، حال آنکه ممکن است سرویس دهنده خارجی قابل اعتماد نباشد. بنابراین، حفظ محرمانگی و همچنین تمامیت دادهها باید کاملاً مورد توجه قرار گیرد. حفظ محرمانگی دادهها به این معناست که سرویس دهنده خارجی از محتوای داده برون سپرده اطلاعی نیابد و تمامیت نیز یعنی مجموع دادههایی که به عنوان جواب برای کاربر ارسال می شود، دقیق و کامل باشد. روش های مختلفی برای تأمین این اهداف ارائه شده که هر کدام دارای معایب و مزایایی است. به عنوان مثال، می توان به استفاده از رمزنگاری، تسهیم دادهها و بازیابی محرمانه اطلاعات اشاره کرد. در این مقاله، روشی مبتنی رویکرد تسهیم دادهها ارائه شده که کارایی بهتری نسبت به روش های قبلی دارد و برخی از مشکلات آنها را مرتفع می نماید. در روش پیشنهادی، علاوه بر تأمین محرمانگی داده ها، تمامیت پرس وجوها نیز تأمین می شود.
واژههای کلیدی: پایگاه داده، برونسپاری، امنیت، توزیع داده.
۱. مقدمه با توسعه روزافزون اینترنت، گرایش شدیدی به پذیرش و اطمینان به تکنولوژیهای مبتنی بر اینترنت و وب به وجود آمده است. رایانش ابری، در حال عمومیت یافتن در دنیای تجاری است و در آن، قابلیتهای مختلف محاسباتی، به عنوان سرویس به مشتریان داده می شود. بنابراین نیاز مشتریان با استخدام افراد متخصص در این زمینهها یا مدیریت و نگهداری نرم افزارهایی که این سرویس ها را می دهند، به این ترتیب برطرف می شود. یکی از دلایل موفقیت ارائه سرویس در اینترنت، حذف تأثیر اندازه یک سازمان، در میزان موفقیت تجاری آن است. مثال خوبی که در این مورد می توان زد، مرکز داده است که برای مشتریان، زیرساختهای فیزیکی مورد نیاز را برای میزبانی فراهم میکند. این زیرساخت ها میتواند شامل مواردی همچون ارتباطات با پهنای باند بالا، قابلیتهای نظارتی و امنیتی باشد. به این ترتیب مراکز داده، نیاز سازمان ها و شرکتهای کوچک به پرداخت هزینه سرمایه ای بالا، برای ایجاد زیرساختی در مقیاس جهانی را مرتفع میکند. مدل مرکز داده، مؤثر و اجرایی بوده است زیرا به یک سازمان با هر اندازه، اجازه میدهد تا میزان سرویس را متناسب با میزان رشدش، افزایش و یا در صورت شکست، کاهش دهد. در چند سال اخیر، شتاب زیادی در
ارائه نوآوری در الگوهای جدید تجاری مشاهده می شود و مراکز داده نقش مهمی در این فرآیند ایفا کردهاند. علاوه بر زیرساخت فیزیکی که برای پشتیبانی از کاربردهای تحت وب مورد نیاز هستند، چنین کاربردهایی نیاز به مدیریت داده نیز دارند. به عنوان مثال، کاربردهای تجارت الکترونیکی برای هر کاربر، به منظور ایجاد امکان تحلیلهای دقیق تجاری و علایق کاربران، اطلاعات یا کارنامهای ذخیره میکنند. چنین موارد استفاده ای،موجب رشد سریع میزان داده مرتبط با این کاربردها شده است. ذخیرهسازی و بازیابی چنین دادههایی باعث به وجود آمدن چالش های بزرگی، به ویژه برای شرکتها و سازمانهای کوچک می شود، زیرا هزینه مدیریت دادهها ۵ تا ۱۰ برابر بیشتر از هزینه ذخیرهسازی آنها است 1.
به علاوه، مدیریت داده در سمت کاربر، نیازمند مهارت بالایی در مورد کار کردن با تکنولوژی هایذخیرهسازی، مدیریت خطا و عیب یابی، تحمل خرابی و بهروزرسانی نرمافزار DBMS یا DSMS و سیستم عامل است. این در حالی است که بیشتر سازمانها ترجیح می دهند که به جای پرداختن به مسائل مدیریت داده، منابع با ارزش و نیروی مهندسی را بر کاربرد تجاری خود متمرکز کنند. با توجه به دلایل ذکر شده، برونسپاری دادهها یا پایگاه داده در قالب سرویس ، به عنوان خط فکری جدیدی در مدیریت دادهها مطرح می شود که در آن، سرویس دهنده پایگاه داده، مسئولیت مدیریت دادهها را بر عهده میگیرد و نیاز مالک داده را در مورد خریداری سختافزاری برای به کارگیری DBMS، تخصیص پهنای باند شبکه و استخدام پرسنل حرفهای برای اجرای سیستم، مرتفع میسازد.
اینکه سرویس دهنده پایگاه داده، ذخیرهسازی امن داده را با هزینه اندک تضمین می کند، از دید سازمان ها و شرکتها بسیار جذاب است. به علاوه چنین سرویسی می تواند از طریق اینترنت، دسترسی جهانی به دادهای را فراهم نماید که در سایتهای قابل اطمینان و امن ذخیره شده است. شرکت یا سازمان میتواند داده خود را برونسپاری کند و کارمندانش به جای جابهجا کردن داده که خطر از بین رفتن آن وجود دارد، قطع نظر از مکانشان، به آن دسترسی داشته باشند.
در روش برونسپاری، سه نوع موجودیت مالک داده یا DO، سرویس دهنده یا SP و کاربر وجود دارد. مالک داده، عملیات مربوط به پایگاه دادهاش را به یک (یا چند) سرویس دهنده، با توان و ابزار محاسباتی لازم برای پشتیبانی از پردازش پیشرفته پرسوجو، میسپارد. کاربران پرسوجوهای خود را به طور مستقیم به سرویس دهنده میفرستند.
برونسپاری برای تمام موجودیتهای دخیل در آن، سودمند است: ۱- مالک داده نیازی ندارد برای به کارگیری DBMS منابعی را خریداری کند یا منابع موجود را به آن اختصاص دهد، ۲- سرویس دهنده می تواند با سرویس دادن به چند مالک داده، کسب درآمد کند و ۳- کاربر می تواند داده را از سرویس بهتر و حرفهای تری از سرویس دهنده و با تأخیر کمتری دریافت کند. به علاوه، با توجه به اینکه مالک داده دیگر گلوگاه یا SPF نیست، سیستم قوی تر می شود. هرچند رویکرد برونسپاری مزایای اقتصادی و تکنیکی قابل توجهی دارد، اما متأسفانه موفقیت مراکز داده را به دست نیاورده است. دلیل اصلی آن این است که قوانین اخیر دولتی، رقابت بین شرکتهای مختلف و سرقت دادهها، شرکتها را مجبور به استفاده از تکنیکهای حفظ محرمانگی و تمامیت دادهها نموده است. استفاده از یک سرویس پایگاه داده خارجی، باید مشابه کاربرد مشتری سرویس دهنده معمولی باشد که در آن سرویس دهنده ها و مشتریان صادق اند و مشتریان در به اشتراکگذاری دادههایشان با سرویس دهنده درنگ نمی کنند. اما معمولاً اینگونه نیست و در نتیجه لازم است به کاربران اطمینان داده شود که محرمانگی دادهها توسط سرویس دهنده تأمین می شود و همچنین باید امکان بررسی صحت نتایج برگشتی برای آنها فراهم شود. ممکن است سرویس دهنده خارجی قابل اعتماد نباشد و در عین حال دادهها برای صاحبانشان و این، محافظت از آنها در مقابل مهاجمان باید کاملاً مورد توجه قرار گیرد. این سؤال که «چگونه باید از دادههای برون سپرده در برابر مهاجمان محافظت شود»، بسیار مورد علاقه محققان است.
باید توجه کرد که در اینجا «مهاجمان»، شامل مهاجمان خارجی و کاربران غیرقابل اعتماد در سمت سرویس دهنده میباشد. وجود کاربران غیرقابل اعتماد در سمت سرویس دهنده، تکنیکهای سنتی امنیت پایگاه داده را بیاثر می کند که حتی با صرف نظر از آن، میتوان هدف نهایی مالکان را به این صورت بیان کرد که آنها تمایل دارند برون سپاری دادهها از دیدشان شفاف باشد و سیستم، مانند یک پایگاه داده معمولی عمل کند. کاربران میخواهند با دادههای برون سپرده، بدون نگرانی از فاش شدن آن، کار کنند. همچنین میخواهند پرسوجوهایشان با کارایی بالا و به درستی اجرا شود.
۲۔ تکنیکهای مختلف برون سپاری
هر کدام از روش های مختلفی که برای تأمین محرمانگی و تمامیت دادهها ارائه شده است، دارای معایب و مزایایی است. این روشها معمولاً به صورت مجزا به دو حوزه مختلف تأمین محرمانگی دادهها و تضمین تمامیت پرسوجوها پرداختهاند. در حوزه نخست، هدف این است که محتوای دادهها برای سرویس دهنده خارجی فاش نگردد و در حوزه دوم هدف این است که دادهها در برابر دستکاریهای احتمالی سرویس دهنده محافظت شوند و همچنین پرسوجوهای کاربران به طور کامل اجرا شوند تا در نتیجه تمامیت پایگاه داده مخدوش نگردد. این رویکردها را میتوان به سه دسته عمده: استفاده
از رمزنگاری، بازیابی محرمانه اطلاعات و تسهیم دادهها تقسیم نمود.
در رویکردهای مبتنی بر رمزنگاری آ۵-۲] قبل از اینکه دادهها به سرویس دهنده خارجی سپرده شوند، باید رمزنگاری گردند. اما این کار باعث به وجود آمدن چالش جدیدی در مورد جستجو روی داده رمزنگاری شده می شود. روشهایی که در این زمینه ارائه شده اند، علاوه بر محدودیتهای خاصی مانند نیاز به تغییر هسته DBMS، از مشکل پایین بودن کارایی رنج میبرند. رویکرد بازیابی محرمانه اطلاعات ۸-۶] فقط جنبه محرمانگی کاربران را تأمین می کند و
محرمانگی دادهها و تمامیت پرسوجوها را پوشش نمیدهد. به علاوه، پیچیدگی بالا عملاً استفاده از آن را غیرممکن ساخته است ۲. سومین رویکرد پیشنهاد شده در این زمینه، استفاده از تسهیم دادهها است. در این رویکرد، دادهها بر روی چند سرویس دهنده توزیع میشوند و برای دسترسی به آنها باید به همه یا حداقل تعدادی از سرویس دهندهها دسترسی داشت ||۳| با بررسی روشهای موجود، ملاحظه می شود که هنوز راه حل صحیح و در عین حال مقرون به صرفهای در مورد تأمین محرمانگی و تمامیت دادهها در رویکرد برونسپاری ارائه نشده است. دیفی که از پیشگامان عرصه رمزنگاری است و الگوریتم معروف دیفی هلمن به نام او مشهور است، به تازگی در مصاحبهای بیان کرد: «تکنیکهای موجود، بیشتر منافع اقتصادی به دست آمده از برونسپاری را خنثی میکند و نشان اندکی از عملی شدن دارد». سیون که از محققین فعال در زمینه برونسپاری است، در یک بررسی مفصل در سال ۲۰۱۰، نشان داد که این ادعا کاملاً درست است و حتی در اغلب موارد، برونسپاری پرهزینهتر از تهیه DBMS و استفاده از پایگاه داده به شکل معمول آن است ||۴||
در مقاله حاضر، روشی بر مبنای رویکرد تسهیم دادهها ارائه شده که کارایی بهتری نسبت به روشهای قبلی داشته و برخی از مشکلات آنها را نیز مرتفع می نماید. در روش پیشنهادی علاوه بر تأمین محرمانگی دادهها، تمامیت آنها نیز با فرض متحد نشدن تمامی سرویس دهندههای پاسخ دهنده با یکدیگر، تأمین می شود. ادامه این مقاله به ترتیب زیر است: در بخش ۲ به بررسی مدل های مختلف برونسپاری پرداخته میشود. در بخش ۳ ابتدا به بررسی روش تسهیم رمز شمیر پرداخته و سپس روش پیشنهادی بیان خواهد شد. در بخش ۴ روش پیشنهادی با روشهای مشابه مقایسه و بخش ۵ نیز به جمع بندی و ارائه کارهای آتی اختصاص دارد.
۳. مدلهای مختلف برونسپاری
دو مدل مختلف برای برونسپاری دادهها وجود دارد. در اولین مدل که SSO نام دارد، مالک داده، مشتری منحصر به فرد و یکتا است که دادههایش را به یک پایگاه داده خارجی سپرده است. در این مدل، مالک داده نگران محرمانگی دادههایش در برابر سرویس دهنده خارجی است. همچنین با توجه به اینکه سرویس دهنده خارجی ممکن است به درستی عمل نکند، مالک داده نگران تمامیت پرسوجوهایی که ارسال میکند نیز هست. به این معنی که مالک داده باید اطمینان یابد که دادههایش توسط سرویس دهنده دستکاری نشده است. شکل ۱ این مدل دسترسی را نشان میدهد.
در مدل دوم که SSCO نام دارد، مالک داده، دادههایش را برونسپاری می کند و از مشتریان برای دسترسی به دادهها و اطلاعات، هزینه دریافت می کند. این مدل، با توجه به مباحث امنیتی، پیچیدگی خاصی دارد. در این مدل، مالک نگران محرمانگی دادهها و مشتری نگران تامین محرمانگی و تمامیت پرسوجوهایش هم در مقابل مالک داده و هم در مقابل سرویس دهنده خارجی است. به علاوه، مالک داده نیز هنگامی که برای بهروزرسانی، به دادههای برون سپردهاش بر روی سرویس دهنده دسترسی پیدا می کند، نقش کاربر را ایفا می کند و در نتیجه، محرمانگی کاربر و تمامیت پرسوجوها نیز برای مالک داده اهمیت پیدا میکند. شکل ۲ این مدل دسترسی را نشان میدهد.
مدل مفروض در مقاله حاضر، مدل اول (SSO) است. همان طور که ذکر شد، در این مدل، مالک داده یا تنها مشتری موجود است، یا مشتریان همگی مورد اعتماد او هستند و در مورد نحوه برونسپاری دادهها اطلاعی به سرویس دهنده نخواهند داد، زیرا مالک داده همواره نگران محرمانگی دادهها و تمامیت پرسوجوها است.
۴. روش پیشنهادی
روش پیشنهادی، بر مبنای روش آگروال است. در این روش بر اساس رویکرد تسهیم داده ها، چند سرویس دهنده وجود دارد (بیش از ۲ عدد) و برای بازیابی اطلاعات باید حداقل به سه سرویس دهنده دسترسی داشت. این روش برای مدل SSO کاربرد دارد که در آن، مالک داده تمایل دارد دادههایش را به سرویس دهنده خارجی بسپارد و سپس پرسوجوها توسط خود یا کاربران مورد اعتمادش بر روی این سرویس دهنده به اجرا درآیند. همان طور که پیش تر ذکر شد، روش پیشنهادی، مبتنی بر تقسیم داده (یا رمز) به چند قسمت و توزیع قسمتها بر روی سرویس دهندههای مجزا است. در ادامه، ابتدا روش تسهیم رمز شمیر || ۵ او سپس روش تغییر یافته پیشنهادی بررسی خواهد شد.
۱-۴. روش تسهیم رمز شمیر
هدف، تقسیم داده D به چند قسمت است به نحوی که : ۱- با آگاهی از هر k عدد دلخواه از ;Diها، D بهراحتی قابل محاسبه باشد.
۲- با آگاهی از هر 1-k یا کمتر ,Di ،D کاملاً نامشخص بماند (به این معنا که تمامی مقادیر ممکن برای آن، دارای احتمال برابر باشند).
چنین طرحی، یک طرح آستانهای (k.n) نامیده میشود. طرح های آستانهای، برای کاربردهایی مناسب است که در آنها گروهی از کاربرانی که به هم اعتماد ندارند، قرار است با یکدیگر همکاری کنند.
طرح مورد نظر بر اساس درون یابی چندجمله ایهاست. با داشتن K نقطه در فضای دوبعدی به صورت
با مقادیر Xi متمایز، تنها یک چندجمله ای (q(X از درجه ا-K به قسمی که برای هر i وجود دارد، می باشد. بدون از دست دادن کلیت، می توان فرض کرد که داده D یک عدد است (یا میتواند به یک عدد تبدیل شود). برای تقسیم D به قطعات Diا، یک چندجمله ای از درجه 1-k انتخاب می شود )
که در ان و سایر ضرایب به صورت دلخواه انتخاب میشوند.
Diها به صورت محاسبه می شوند. در نتیجه با داشتن هر زیرمجموعه k تایی از این مقادیر Di، می توان ثوابت (q(x را با درون یابی محاسبه کرده و سپس مقدار را محاسبه کرد.
از سوی دیگر، حتی داشتن ا-k عدد از این مقادیر، برای محاسبه D کافی نیست. برای اینکه این ادعا دقیق تر بیان شود از محاسبات پیمانهای به جای محاسبات حقیقی استفاده می شود. مجموعه اعداد صحیح در پیمانه یک عدد اول، محدوده ای را تشکیل میدهد که درون یابی در آن امکانپذیر است.
با داشتن مقدار D، یک عدد اول p انتخاب میشود که از هر دو D و n بزرگتر باشد. ضرایب (q(X به صورت تصادفی از بین اعداد (p.0] انتخاب میشوند و به پیمانه p محاسبه می شوند.
فرض کنید مهاجمی به 1-k عدد از این n قطعه دست یافته باشد، برای هر مقدار کاندید D در (p.0) میتواند به طور دقیق یک چندجملهای (q(X از درجه 1-k به قسمی که در آن q(0)=D و q(i)=Di برای 1-k مقدار داده شده، بسازد. طبق تعریف، این P چندجملهای ممکن، دارای احتمال برابر میباشند و بنابراین، مهاجم در مورد مقدار واقعی D چیزی به دست نمی آورد. اگر مقدار D بزرگ باشد، می توان آن را به بلوکهای کوتاهتری (که به صورت مجزا پردازش می شوند) شکست تا از عملیات ریاضی پیچیده اجتناب شود. از آنجا که کوچکترین مقدار قابل استفاده برای p، ا+n است، این بلوکها نمیتوانند به مقدار دلخواه کوچک باشند.)
۲-۴. شیوه استفاده از تسهیم رمز در روش پیشنهادی، با داشتن ۳ نقطه در فضای دوبعدی، با مقادیر Xi متمایز، یک چندجمله ای (q(X از درجه ۲ به قسمی که برای هر i باشد، تشکیل داده می شود. برای تقسیم D به قطعات Di، یک چندجملهای درجه ۲ انتخاب کرده که در آن، a0 = D و Diها را همان گونه که در بالا ذکر شد به این صورت محاسبه می شود: . ,))D1 = q (1), ... , D2 = q(2. دقت شود که n پارامتر سیستم است و مقدار آن دلخواه (و البته بیش از ۲) است. با داشتن هر زیرمجموعه ۳ تایی از این مقادیر را با استفاده از روش لاگرانژ محاسبه میکنیم. نکته مهمی که باید در نظر گرفته شود این است که برای اجرای پرسوجوها، ضروری است که دادهها به ترتیب بر روی هر سرویس دهنده ذخیره شوند.
به طور دقیق تر، برای هر دو مقدار دلخواه در دامنه مورد نظر که باشد، میخواهیم برقرار باشد که در آن برقرار باشد. برای رعایت کردن این خاصیت، انتخاب مقادیر a و b اهمیت زیادی پیدا میکند. در ادامه، روش پیشنهادی برای انتخاب a و b ارائه و درستی آن اثبات می شود.
روش کار به این صورت است که هر داده Vi به دو قسمت تقسیم کرده و دو قسمت مزبور را به ترتیب به عنوان مقدار a و b در نظر گرفته می شود. (نماد تابع ریاضی کف را نشان میدهد).
لم:
در رابطه که در ان و کافی است مقادیر Xm بزرگتر یا مساوی ۶ باشد تا رابطه به ازای هر برقرار گردد.
اثبات
اگر ضریب همواره مثبت باشد، اطمینان داریم که عبارت فوق از نقطهای به بعد، صعودی خواهد بود. اما برای یافتن این نقطه، بدترین حالت ضرایب در نظر گرفته می شود. یعنی کمترین مقدار برای ضرایب با علامت مثبت و بیشترین مقدار برای ضرایب با علامت منفی، با توجه به نکته فوق، مقدار عبارت حداقل برابر ۱ است.