کنترل دسترسی در سناریوی برون‌سپاری پایگاه داده

Report
‫لیال کریمی ‪90202194‬‬
‫درس امنیت پایگاه داده‬
‫بهار ‪1391‬‬
‫فهرست‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪2‬‬
‫سناریوی برونسپاری پایگاه داده‬
‫معماری ‪DAS‬‬
‫مسئله مورد نظر‬
‫نیازمندی مدل اعمال کنترل دسترسی‬
‫رویکردهای مدل کنترل دسترسی‬
‫واگذاری اعمال کنترل دسترسی به کارگزار‬
‫تکنیک رمزنگاری مجدد‬
‫ساختار انشقاق کلید‬
‫سناریوی برونسپاری پایگاه داده‬
‫‪ ‬با افزایش حجم دادههای سازمانها‪ ،‬برونسپاری پایگاه داده به یک‬
‫سرویس دهنده خارجی با استقبال روبرو شدهاست‪.‬‬
‫‪ ‬این استقبال تا جایی پیش رفتهاست که مفهوم پایگاه داده به عنوان سرویس‬
‫(‪ )Database As a Service : DAS‬مطرح شده است‪.‬‬
‫‪ ‬مزایای ‪:DAS‬‬
‫‪ ‬کاهش هزینه نگهداری دادهها‬
‫‪ ‬حفاظت مؤثرتر از دادهها‬
‫‪ ‬افزایش دسترسیپذیری دادهها‬
‫‪3‬‬
‫معماری ‪DAS‬‬
‫‪ ‬موجودیتها‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪4‬‬
‫مالک دادهها‪ :‬سازمانی که دادهها را تولید کرده و برای نگهداری در اختیار سرویسدهنده‬
‫قرار میدهد‪.‬‬
‫کاربر‪ :‬موجودیتی که درخواست پرسوجو را به سیستم ارسال میکند‪.‬‬
‫کارخواه‪ :‬موجودیتی که درخواست کاربر را به درخواست بر روی پایگاه داده نگهداری‬
‫شده بر روی سرویسدهنده تبدیل میکند‪.‬‬
‫کارگزار‪ :‬سرویسدهندهای که دادهها را از مالک آنها دریافت کرده و آنها را قابل دسترس‬
‫میسازد‪.‬‬
‫مسئله‬
‫‪ ‬در سناریوی برونسپاری پایگاه داده‪ ،‬دادههای حساس یک سازمان تحت‬
‫کنترل مستقیم مالک آنها نمیباشد‪.‬‬
‫‪ ‬بنابراین نیازمندیهای امنیتی زیر باید مورد توجه قرار گیرند‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫محرمانگی دادهها‬
‫حفظ حریم خصوصی کاربران‬
‫صحت دادهها‬
‫احراز هویت کاربران‬
‫اعمال کنترل دسترسی‬
‫و ‪...‬‬
‫‪ ‬در روشهای ارائه شده برای اعمال کنترل دسترسی در سناریوی‬
‫برونسپاری پایگاه داده فرض بر این است که سرویسدهنده‪ ،‬صادق اما‬
‫کنجکاو است‪.‬‬
‫‪5‬‬
‫مسئله(ادامه)‬
‫‪ ‬دادهها نهتنها باید از دسترسی غیرمجاز سرویسدهنده خارجی حفاظت‬
‫شوند‪ ،‬بلکه کنترل دسترسی کاربران سازمان به آنها نیز باید مدیریت‬
‫شود‪.‬‬
‫‪ ‬در روشهای پیش رو‪ ،‬سیاستهای کنترل دسترسی مالک دادهها توسط‬
‫یک ماتریس کنترل دسترسی مشخص میشود‪.‬‬
‫‪ ‬در این ماتریس سطرها نشاندهنده کاربران سیستم و ستونها نمایشدهنده‬
‫منابع سیستماند که در این سناریو همان تاپلهای پایگاه داده میباشند‪.‬‬
‫‪6‬‬
‫مسئله(ادامه)‬
‫‪ ‬در یک راهحل افراطی میتوان هر تاپل را با یک کلید رمز کرده و سپس این‬
‫کلید را در اختیار کلیه کاربرانی که مجوز دسترسی به آن تاپل را دارند‪ ،‬قرار‬
‫داد‪.‬‬
‫‪ ‬چالش ‪ :‬مدیریت کلیدها‬
‫‪ ‬از طرف دیگر میتوان کلیه کاربران را بر اساس یکسان بودن مجوزهای‬
‫دسترسیشان گروهبندی کرده و به هر گروه یک کلید اختصاص داد‪ .‬منابعی که‬
‫توسط اعضای یک گروه قابل دسترسیاند‪ ،‬توسط کلید آن گروه رمز میشوند‪.‬‬
‫‪ ‬چالش ‪ :‬تغییر سیاست‌های کنترل دسترسی‬
‫‪ ‬در پی تغییر سیاستهای کنترل دسترسی(به عنوان مثال حذف یک کاربر از‬
‫گروه)‪ ،‬اقدامات زیر توسط مالک دادهها باید صورت گیرد‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪7‬‬
‫کلید مختص این گروه تغییر یابد‪،‬‬
‫منابع قابل دسترس توسط اعضا گروه‪ ،‬از سرویس دهنده دریافت شوند‪،‬‬
‫منابع توسط کلید جدید رمز شوند‪،‬‬
‫منابع رمز شده مجددا برای سرویسدهنده ارسال شوند‪.‬‬
‫نیازمندیهای مدل اعمال کنترل دسترسی‬
‫‪ ‬مناسب بودن تعداد کلیدهایی که به طور متوسط هر کاربر ملزم به‬
‫نگهداری از آنهاست‪.‬‬
‫‪ ‬مناسب بودن حجم عملیاتی که مالک دادهها به هنگام تغییر سیاستهای‬
‫کنترل دسترسی ملزم به انجام آنهاست‪.‬‬
‫‪ ‬درستی مدل (‪)soundness‬‬
‫‪ ‬هیچ کاربری نتواند تاپلهایی را رمزگشایی کند که مجوز دسترسی به آنها‬
‫را ندارد‪.‬‬
‫‪ ‬کامل بودن مدل (‪)completment‬‬
‫‪ ‬هر کاربر بتواند کلیه تاپلهایی که مجوز دسترسی به آنها دارد را‪،‬‬
‫رمزگشایی کند‪.‬‬
‫‪8‬‬
‫رویکردهای مدلهای کنترل دسترسی‬
‫‪ ‬مدلهای اعمال کنترل دسترسی در سناریوی برونسپاری پایگاه داده را با‬
‫توجه به برآورده کردن نیازمندیها میتوان به شکل زیر دستهبندی کرد‪:‬‬
‫‪ ‬مدلهایی که در آنها مالک دادهها سیاستهای کنترل دسترسی را در اختیار‬
‫سرویسدهنده قرار داده و اعمال کنترل دسترسی را به وی واگذار میکند‪.‬‬
‫‪ ‬مدلهایی که با استفاده از تکنیک رمزنگاری مجدد‪ ،‬سعی در کاهش حجم‬
‫عملیات الزم در هنگام به روز رسانی سیاستهای کنترل دسترسی دارند‪.‬‬
‫‪ ‬مدلهایی که با استفاده از تکنیک انشقاق کلید‪ ،‬سعی در کاهش متوسط تعداد‬
‫کلیدهایی دارند که کاربران ملزم به نگهداری از آنها میباشند‪.‬‬
‫‪9‬‬
‫واگذاری اعمال کنترل دسترسی به‬
‫کارگزار‬
‫مدل‌مبتنی‌بر‌زیرساخت‌کلید‌عمومی‌]‪[DAI10‬‬
‫‪ ‬مالک تمامی تاپلها را توسط کلید ‪ K0‬رمزکرده و برای نگهداری به‬
‫سرویسدهنده ارسال میکند‪.‬‬
‫‪ ‬کلید ‪ K0‬در اختیار کلیه کابران قرار میگیرد‪.‬‬
‫‪ ‬مالک ماتریس کنترل دسترسی را در اختیار سرویسدهنده قرار میدهد‪.‬‬
‫‪ ‬کاربری که قصد اجرای یک پرسوجو را دارد‪ ،‬به همراه پرسوجوی‬
‫خود گواهی کلید عمومیاش را نیز برای سرویسدهنده ارسال میکند‪.‬‬
‫کارگزا‬
‫ر‬
‫‪ACM‬‬
‫کاربر‬
‫‪10‬‬
‫مالک‬
‫مدل مبتنی بر زیرساخت کلید عمومی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫سرویسدهنده با استفاده از گواهی کلید عمومی هویت کاربر را مورد بررسی‬
‫قرار میدهد‪.‬‬
‫سرویسدهنده با استفاده از ماتریس کنترل دسترسی مجوز دسترسی کاربر به‬
‫منبع درخواست شده را بررسی میکند‪.‬‬
‫چنانچه کاربر مجوز دسترسی به منابع درخواستی را داشته باشد‪ ،‬یک کلید‬
‫جلسه (‪ )Ks‬توسط سرویسدهنده تولید میشود‪.‬‬
‫کلید جلسه توسط کلید عمومی کاربر(‪ )Kpu‬رمز شده و برای وی ارسال میشود‪.‬‬
‫نتایج پرسوجو توسط کلید جلسه رمز شده و برای کاربر ارسال میشوند‪.‬‬
‫کارگزا‬
‫ر‬
‫‪11‬‬
‫کاربر‬
‫مدل مبتنی بر زیرساخت کلید‬
‫عمومی(ادامه)‬
‫‪ ‬کاربر با استفاده از کلید خصوصی خود کلید جلسه را رمزگشایی میکند و‬
‫با استفاده از کلید جلسه به نتایج جستجوی خود دست مییابد‪.‬‬
‫‪ ‬مزایا‪:‬‬
‫‪ ‬یک کاربر تنها ملزم به نگهداری از جفت کلید عمومی و خصوصی خود‬
‫است‪.‬‬
‫‪ ‬به هنگام به روز رسانی سیاستهای کنترل دسترسی تنها کافی است مالک‬
‫دادهها تغییرات ماتریس کنترل دسترسی را به سرویسدهنده اطالع دهد‪.‬‬
‫‪ ‬معایب‪:‬‬
‫‪ ‬در برخی کاربردها سیاستهای کنترل دسترسی نیز محرمانه بوده و‬
‫سرویسدهنده برای در اختیار داشتن آنها قابل اعتماد نیست‪.‬‬
‫‪12‬‬
‫تکنیک رمزنگاری مجدد‬
‫‪ ‬در مدلهای مبتنی بر رمزنگاری مجدد رمزگذاری دادهها‪ ،‬رمزگشایی‬
‫آنها و یا هر دو این موارد در دو الیه صورت میگیرد‪.‬‬
‫‪ ‬رمزنگاری در الیه اول توسط مالک دادهها و در الیه دوم توسط‬
‫سرویسدهنده انجام میشود‪.‬‬
‫‪ ‬مدل ]‪ [LAN07‬این تکنیک را با رمزگشایی دو الیهای دادهها مورد‬
‫استفاده قرار دادهاست‪.‬‬
‫‪13‬‬
‫مدل رمزگشایی دو الیه‬
‫‪ ‬در این مدل مالک برای هر گروه از کاربران یک کلید رمزگذاری (‪)Ke‬‬
‫و یک کلید رمزگشایی متناظر با آن (‪ )Kd‬را تولید میکند که این کلیدها‬
‫تنها در اختیار مالک دادهها میباشد‪.‬‬
‫‪ ‬کلیه تاپلهایی که اعضا گروه مجوز دسترسی به آن را دارند توسط ‪Ke‬‬
‫رمز میشوند‪.‬‬
‫‪ ‬با استفاده از کلید رمزگشایی ‪ Kd‬دو زیر کلید ‪ Kd1‬و ‪ Kd2‬به گونهای‬
‫انتخاب میشوند که ‪:‬‬
‫‪ ‬مالک زیرکلید ‪ Kd1‬را برای هر یک از اعضای گروه ارسال میکند‪.‬‬
‫‪ ‬مالک زیرکلید ‪ Kd2‬را به عنوان کلید رمز گروه مربوطه‪ ،‬برای‬
‫سرویسدهنده ارسال میکند‪.‬‬
‫‪14‬‬
‫مدل رمزگشایی دو‬
‫الیه(ادامه)‬
‫‪ ‬با هر پرسوجوی کاربر‪ ،‬نتایج جستجو ابتدا توسط سرویسدهنده و با‬
‫استفاده از زیرکلید گروه مربوطه (‪ )Kd2‬رمزگشایی میشوند و نتیجه‬
‫حاصل از رمزگشایی برای کاربر ارسال میگردد‪.‬‬
‫‪ ‬کاربر عبارت ارسال شده توسط سرویسدهنده را با استفاده از زیر کلید‬
‫‪ Kd1‬رمزگشایی کرده و به منبع مورد نظر دست مییابد‪.‬‬
‫‪15‬‬
‫مدل رمزگشایی دو‬
‫الیه(ادامه)‬
‫‪ ‬مزایا‬
‫‪ ‬در هنگام به روز رسانی سیاستهای کنترل دسترسی کافی است اقدامات‬
‫زیر توسط مالک صورت گیرد‪:‬‬
‫‪‬‬
‫‪‬‬
‫هنگام اضافه شدن یک کاربر به یک گروه‪ ،‬کافی است زیرکلید ‪ kd1‬برای وی‬
‫ارسال شود‪.‬‬
‫هنگام حذف شدن یک کاربر از یک گروه کافی است دو زیر کلید ‪ Kd1‬و ‪Kd2‬مجددا‬
‫تولید شده و زیرکلید ‪ kd1‬برای کاربران و زیرکلید ‪ Kd2‬برای سرویسدهنده ارسال‬
‫گردد‪.‬‬
‫‪ ‬معایب‬
‫‪ ‬در این مدل برای تعداد کلیدهایی که هر کاربر ملزم به نگهداری از آنهاست‬
‫و همچنین تعداد کلیدهایی که سرویسدهنده باید مدیریت کند‪ ،‬راهحلی در نظر‬
‫گرفته نشده است‪.‬‬
‫‪ ‬در به روزرسانیهای متوالی تعداد کلیدهایی که بای به کاربران ارسال شود‪،‬‬
‫سربار زیادی به مالک تحمیل میکند‪.‬‬
‫‪16‬‬
‫ساختار انشقاق کلید‬
‫‪ ‬در مدلهای مبتنی بر انشقاق کلید‪ ،‬کلیدها در یک سلسله مراتب نگهداری‬
‫میشوند‪.‬‬
‫‪ ‬کلیدهای سطوح پایینتر بر اساس کلیدهای سطوح باالتر قابل محاسبهاند‪.‬‬
‫‪ ‬یک کاربر با داشتن کلید سطح باالتر‪ ،‬میتواند کلیدهای مشتق شده از آن‬
‫در سطوح پایینتر را محاسبه کند‪.‬‬
‫‪ ‬در این مدلها با استفاده از ساختار انشقاق کلید‪ ،‬تعداد کلیدهای مرتبط با‬
‫هر کاربر کاهش چشمگیری مییابد‪.‬‬
‫‪ ‬یکی از توابعی که برای انشقاق میتواند مورد استفاده قرار گیرد‪ ،‬تابع‬
‫رمز نگاری است‪ ،‬به طوری که‪:‬‬
‫))‪ Ki = Ekj (name(nj‬‬
‫که در آن )‪ name(nj‬نام متناظر با گره ‪ nj‬را بر میگرداند‪.‬‬
‫‪17‬‬
‫مدیریت کلید با استفاده از ساختار انشقاق‬
‫‪ ‬مدل‌پیشنهادی‌در ]‪:[DAM05‬‬
‫‪ ‬در این مدل ابتدا یک گراف سلسله مراتب کاربران تولید میشود که در آن‬
‫گرهها تمام زیرمجموعههای مجموعه کاربران اند‪.‬‬
‫‪ ‬بین یک گره در سطح باالتر و گرهای در سطح پایینتر درصورتی یک یال‬
‫وجود دارد که مجموعه متناظر با گره اول زیر مجموعهی مجموعه متناظر با‬
‫گره دوم باشد‪.‬‬
‫‪18‬‬
‫مدیریت کلید با استفاده از ساختار‬
‫انشقاق(ادامه)‬
‫‪ ‬متناظر با هر گره گراف یک کلید در نظر گرفته میشود‪.‬‬
‫‪ ‬هر کاربر کلیدهای متناظر با گرههایی مانند ‪ v‬را دریافت میکند که‪:‬‬
‫‪ ‬هر تاپل توسط کلید گره متناظر با مجموعه لیست کنترل دسترسی آن رمز‬
‫میشود‪.‬‬
‫‪19‬‬
‫مدیریت کلید با استفاده از ساختار انشقاق‬
‫(ادامه)‬
‫‪ ‬مزایا‪:‬‬
‫‪ ‬در ساختار گراف انشقاق‪ ،‬یک کاربر تنها کافی است یک کلید را نگهداری‬
‫کند‪.‬‬
‫‪ ‬سایر کلیدهای مورد نیاز کاربر از طریق انشقاق به دست میآیند‪.‬‬
‫‪ ‬معایب‪:‬‬
‫‪ ‬با تغییر سیاستهای کنترل دسترسی‪ ،‬لیست کنترل دسترسی متناظر با یک یا‬
‫چند تاپل تغییر میکند‪.‬‬
‫‪ ‬این تاپلها باید توسط کلیدهای جدیدی رمز شوند‪.‬‬
‫‪ ‬مالک دادهها باید تاپلهای مذکور را از سرویسدهنده دریافت‪ ،‬رمزگشایی‬
‫کرده‪ ،‬آنها را توسط کلید جدید رمز و مجددا برای سرویسدهنده ارسال کند‪.‬‬
‫‪20‬‬
‫منابع‬
 J. Dai, “A PKI-based mechanism for secure and efficient access to outsourced data,”
Networking and Digital Society (ICNDS), 2010.
 A. Lanovenko, “Dynamic Group Key Management in Outsourced Databases,”
Proceedings of the World Congress on, 2007.
 E. Damiani, S. di Vimercati, S. Foresti, S. Jajodia, S. Paraboschi, and P. Samarati, “Key
management for multi-user encrypted databases,” in Proceedings of the 2005 ACM
workshop on Storage security and survivability, pp. 74–83, 2005.
 E. Damiani, S. De Capitani di Vimercati, S. Foresti, S. Jajodia, S. Paraboschi, and P.
Samarati, “Selective data encryption in outsourced dynamic environments,”
Electronic Notes in Theoretical Computer Science, vol. 168, pp. 127–142, 2007.
 S. D. Capitani, S. Foresti, D. T. I. Università, C. G. Mason, S. Paraboschi, and D.
Università, “Over-encryption : Management of Access Control Evolution on
Outsourced Data,” Access, pp. 123-134, 2007.
21

similar documents