پرس و جو روی داده های رمز شده

57
MCI ده ش ز م های ر روی داده و ج رس و پ هادوی ی عل رداد خ88 ه داده گا ای پ# ت ی ن م درس ا

Upload: melita

Post on 12-Feb-2016

116 views

Category:

Documents


1 download

DESCRIPTION

پرس و جو روی داده های رمز شده. علی هادوی خرداد 88 درس امنیت پایگاه داده. مقدمه. روش‌هاي کنترل دسترسي برای محافظت از داده ها کافي نيستند سرقت رسانه محتوی داده عدم اعتماد به اعمال کننده خط مشی های کنترل دسترسی امکان دور زدن مکانیزم های کنترل دسترسی توسط مهاجمین - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: پرس و جو روی داده های رمز شده

MCI

پرس و جو روی داده های رمز شده

علی هادوی

88خرداد درس امنیت پایگاه داده

Page 2: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مقدمه

روش/ هاي کنترل دسترسي برای مح/افظت از داده ها •کافي نيستند

سرقت رسانه محتوی داده–عدم اعتماد به اعمال کننده خط مشی های کنترل دسترسی–امکان دور زدن مکانیزم های کنترل دسترسی توسط –

مهاجمین

و س/یستم های Database as A Serviceمطرح/ ش/دن ایده •کارگزار غیرقابل اعتماد

Page 3: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مدل پایگاه داه به عنوان خدمت

( به عنوان Database as A Serviceپایگاه داده به عنوا/ن خدمت )•رویکردی جدید در برون سپاری پایگاه داده ها

در دسترس بودن داده ها توسط کارگزا/ر تضمین می شود.•

کلیه اعمال مدیریت داده را کارگزار فراهم می کند. •

کارگزار از نظر نگهداري داده ها و عدم ارسال عمدي پاسخ •اشتباه مورد اعتماد است.

کارگزا/ر در مورد محرمانگي داده ها مورد اعتماد نيست. •

(.Honest but curiousکارگزار درستکار ولی کنجکاو ا/ست )–

Page 4: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مدل پایگاه داده به عنوان خدمت

چالش اصلی در این مدل تأمین امنیت داده های •برون سپاری شده است.

راه حل اولیه رمزنگاری داده های برون سپاری شده است.•

برای حفظ محرمانگی مالک داده، داده خود را رمز کرده و •آن را در پایگاه داده رمز شده در سمت کارگزار ذخیره می

کند.

ریزدانگی رمزنگاری به خط مشی های محیط برای سطح •دسترسی، امنیت و کارایی بستگی دارد.

بیشتر فعالیت ها ریزدانگی را در سطح چندتایی تعریف کرده اند. –

Page 5: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

DASعناصر مدل

مالک داده ها: فرد يا سازمان است که داده ها را ايجاد و 1.آن را برون سپاري مي کند.

کاربر: پرس وجو ها را به سيستم ارائه مي کند.2.

کارخواه: پرس وجوهاي کاربر را به پرس وجوهاي قابل 3.اجرا روي داده هاي رمزشده تبديل مي کند.

کارگزار: محل ذخيره ي داده هاي رمز شده است و 4.پرس وجوهاي ارسالي از سمت کارخواه را روي داده هاي رمزشده اجرا کرده و نتيجه را به کارخواه ارائه مي دهد.

Page 6: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

سناریوی پرس و جو در مدل DAS

از طریق B را با توجه به اسکیمای پایگاه داده ی رمز نشده Qکاربر پرس و جوی 1.کارخواه وارد می کند.

باشد. برون سپاری داده می تواند از دید کاربر شفاف–

پرس و جوی Qs تقسیم می کند. Qc و Qsکارخواه پرس و جوی کاربر را به دو بخش 2. پرس و جوی اعمال Qcاعمال شده بر روی داده های رمز شده در سمت کارگزار و

شده در سمت کارفرما بر روی داده های برگشتی از کارگزار به کارخواه است. کارخواه ساختار پایگاه داده عادی و رمز شده را می داند1.

را روی داده رمز شده اجرا و نتایج )مجموعه ای از Qsکارگزار پرس و جوی •چندتایی های رمز شده( را به کارخواه بر میگرداند.

به نتایج Qcکارخواه نتایج را رمزگشایی کرده و چندتایی های اضافی را با اعمال •اولیه حذف می کند. نتایج نهایی به کاربر ارائه می شود.

Page 7: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

سناریوی پرس و جو در مدل DAS

DBK

`

DBK

1)

4)

2)

3)

Page 8: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مالحظات رمزنگاری در برون سپاری داده

Page 9: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مالحظات رمزنگاری در برون (2سپاری داده )

Page 10: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مالحظات رمزنگاری در برون (3سپاری داده )

پشتیبانی از انواع پرس و جو•پرس و جو روی داده های عددی–

پرس و جو با شرط تساوی •پرس و جوی بازه ای•

پرس و جو روی داده های رشته ای–پرس و جو با شرط تساوی•پرس و جو های تطبیق الگویی•

پرس و جوهای شامل توابع تجمعی –

Page 11: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

روش های جستجو روی داده های رمز شده

جستجوی مستقیم روی داده های رمز شده•جستجوی مبتنی بر شاخص•روش های مبتنی بر حفظ ترتیب•روش های مبتنی بر توابع همریخت اختفایی•

Page 12: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

جستجوی مستقیم روی داده های رمز شده

جستجو که داده به گونه ای رمز می/ شود •به دقیقاً روی همان داده رمز شده بتو/اند

ص/ورت مستقیم ص/ورت/ گیرد.

سانگ روشی/ را بر اساس/ این ایده برای •جستجو روی داده های رشته ای ارائه داده

است.

Page 13: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

- معرفیSongروش نیست(DB)تمرکز بر جستجوی کلمات روی اسناد رمز شده •

دریچهکاربرد مفهوم •

کارگزار می تواند با گرفتن اطالعات کوچکي در مورد هر کلمه •، جستجو را بدون اطالع از کلمات ديگر متن انجام دهد.(دريچه)

توابع مبتنی بر دریچه توابعی هستند که محاسبه ي معکوس آنها •بدون داشتن اطالعات خاصی به نام دریچه مشکل است.

در رمزنگاري مبتني بر دريچه، رمزگشايي با داشتن دريچه •است. امکان پذير

در اين روش ها، به همراه هر کلمه اي که کارخواه جستجوي آنرا •تقاضا کرده است، دريچه ي آن نيز ارسال مي شود. بدين شکل

کارگزار فقط مي تواند کلمه درخواست شده را رمزگشايي کند.

Page 14: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

- رمزگذاری Songروش

بیت( تقس/یم می n با طول یکس/ان )wمتن اصلی به تعدادی کلمه 1.شود.

اسناد اصلی پس/ از رمز/شدن به روش شر/ح داده شده، به سمت 2.کارگزار ارسال و/ در آنجا ذخیره می/ شوند.

کارگزار با دريافت دريچه اي از طرف کارخواه می تواند کلمه ی 3.مورد نظر کاربر را جستجو کند.

پارامترهای رمزنگاری •.1S مولد اعداد شبه تصادفی :.2Fو f توابع شبه تصادفی :.3K’ کلید تابع :f)برای تمام کلمات متن ثابت است( F: f k’(first n-m bits of Ek’’(wi))دریچه هر کلمه: کلید تابع 4.

Page 15: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

(2 – رمزگذاری)Songروش

رمزگذاری در دو سطح انجام می شود.•سطح اول: –

( رمز می شود. "kهر کلمه با یکی از الگوریتم های رمزنگاري متقارن و کلید )•

کارگزار در هنگام اجراي پرس وجو از کلمه ي درخواست شده کارخواه مطلع • نمی شود.

سطح دوم: – بیت به n-m با طول si، دنباله اي از اعداد شبه تصادفي Sمولد شبه تصادفي•

تعداد کلمات متن اصلي ايجاد مي کند. درهم سازي شده و Fبا استفاده از تابع siاعداد شبه تصادفی تولید شده •

بیتی تولید می شود. mخروجی و حاصل درهم سازی شده در si(( با ) Ek"(wi))رمزشده ي الیه ي اول هر کلمه )•

می شود. XORمرحله قبل(، امین کلمه ي متن رمزشده i به عنوان wiنتیجه ی الیه ي دوم رمزنگارِی کلمه ي •

(ci.در سند رمزشده قرار می گیرد )

15

Page 16: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

(3- رمزگذاری)Song روش

Page 17: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

- اعمال پرس و جوSongروش

( در اسناد رمزشده، معادل رمز شده ي الیه ي wکارخواه برای جستجوی یک کلمه )1.( را به کارگزار ارسال می کند. fk'(w)( به همراه دریچه ي آن )Ek"(w)اول کلمه )

می کند. XOR( کلمات تمام اسناد را با آن Ek"(w)کارگزار با دریافت )2.

باید XOR (Tp)ام سندی با کلمه ي درخواست شده برابر باشد، حاصل Pاگر کلمه ي 3. داشته باشد. برای بررسی وجود ساختار فوق <Sp, Ff (k’(w)) (sp)>ساختاری به شکل

به دست Tp بیت پرارزش n-m روی Fام متن رمزشده، حاصل تابع pبرای کلمه ي آورده می شود.

برابر باشد، ساختار برقرار بوده Tp بیت باقی مانده ي mاگر مقدار به دست آمده با 4.ام متن رمزشده به همراه سندی که به آن متعلق است در مجموعه ي Pو کلمه ي

جواب ارسالی به کارخواه قرار می گیرد.

یک تابع درهم ساز دارای برخورد است. بنابراین امکان وجود اشتباه مثبت Fتابع 5.در نتایج ارسالی به کارخواه وجود دارد.

در سمت کارخواه پس/ از رمزگشایی سند، مقدار اصلی کلمه ي پیدا شده با کلمه ي 1.درخواست شده ي کاربر مقایسه می شود تا نتایج درستی به کاربر برگردانده شود.

Page 18: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

- رمزگشاییSongروش

بیت n-m(، ابتدا ciاُم سند رمزشده )iبرای رمزگشایی کلمه ي • به Ek"(wi) بیت پر ارزش n-m می شود و si ، XOR باciپرارزش

دست می آید.

استفاده می شود. wiاز مقدار فوق برای ساختن دریچه ي •

بیت F، mبه تابع si بیت پر ارزش n-mاعمال دریچه بدست آمده و • بیت کم ci، m بیت کم ارزش m کردن با XORنتیجه دارد که با

به Ek"(wi) حاصل می شود. بدین ترتیب تمام بیت های Ek"(wi)ارزش دست می آیند.

•Ek"(wi) رمزگشایی شده تا مقدار اصلی wi .حاصل شود

18

Page 19: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

Songویژگی های روش

کارگزار نمی تواند در مورد متن اصلی تنها با استفاده از متن رمز •شده اطالعاتی بدست آورد.

سربار ذخیره سازی و ارتباطاتی آن کم است.•

در آ/ن ظاه/ر شده است Wنتیج/ه حاوی مکان های/ی از س/ند اس/ت ک/ه •و ممکن است دارای اشتباهات مثبت باشد.

مقدار • ب/ا مثب/ت با mاشتباهات اشتباه جواب ه/ر اس/ت. مرتب/ط کلمه انتظار lرخ م/ی دهد. بنابرای/ن برای س/ندی با طول 1/2mاحتمال

l/2m .جواب اشتباه وجود دارد

ب/ا توج/ه به • ب/ا طول مس/اوی شود ک/ه ب/ه کلمات/ی بای/د تقس/یم مت/ن ساختار زبان، روش مناسبی نیست.

Page 20: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

Song (2)ویژگی های روش

امکان جستجو با هر طول دلخواه وجود ندارد. فقط مي توان کلمات • بیت را جستجو کرد. nيا ضريبي از nبا طول

.گروه محدودي از الگو ها قابل جستجو است• قابل جستجو هستند؛ aba, abb, abc, …, abz با تبديل به "ab[a-z]"الگوهايي به شکل–

. زيرا تعداد رشته هاي توليدي اس/ت مشک/ل *”ab"جس/تجوي الگوهاي/ي ب/ه شک/ل –بسیار زياد خواهند شد.

در الگوريتم سانگ، براي يافتن هر کلمه بايد کل محتويات تمام •زمان جستجو نسبت به طول متن خطی است. اسناد جستجو شود.

بنابراین در قابل مقیاس بزرگ )مانند پایگاه داده( کارا نیست.یک روش افزایش سرعت بکارگیری شاخص های از پیش تعریف شده است.–

Page 21: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

جمع بندی - جستجوی مستقیم روی داده رمز شده

فضای ذخیره سازی نسبت به ذخیره سازی داده اصلی تفاوت زیادی ندارد.•معموالً احتمال اجرای حمالت فرکانسی نسبت به روش مبتنی بر شاخص کمتر است. •

در برخی روش ها کلمه ای که چندین بار بکار رفته، هر بار به شکل جدیدی رمز می شود –)بسته به جایگاه کلمه در متن(

بیشتر اجرای پرس و جو در سمت کارگزار است. تنها رمزنگاری کلمه مورد پرس و جو •در سمت کارخواه انجام می شود.

نسبت به روش های مبتنی بر شاخص دارای جواب اشتباه کمتری است. •پیچیدگی محاسباتی باالیی دارند و زمان جستجو در آن ها خطی است. بنابراین در •

مقیاس بزرگ قابل استفاده نیست. این روش ها بیشتر برای ابزارهایی با جستجوی در مقیاس کوچک )مانند تلفن همراه( •

مناسب است. پرس و جوهای با شرایط تطبیق دقیق را پاسخ می دهند. •پرس وجوی شامل شرایط بازه ای و جستجوی الگوها بر روی داده های رشته ای در •

این روش سخت است.پرس و جو شامل توابع تجمعی امکان پذیر نیست. •

Page 22: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

جستجوی مبتنی بر شاخص

اطالعاتی با نام شاخص همراه با داده رمز شده در سمت کارگزار •ذخیره می شود.

جستجوی د/اده با استفاده از شاخص ذخیره شده انجام می گیرد.•برای هر عنصر که بخواهد جستجو بر مبنای آن انجام شود، باید •

یک شاخص تعریف کرد. شاخص نباید اطالعاتی در مورد داده اصلی را فاش نماید.•روش های مختلف تولید شاخص باید از یک سو کارایی پرس و جو •

و از سوی دیگر عدم سوءاستفاده کارگزار از مقدار شاخص در استنتاج داده اصلی را در نظر بگیرند.

Page 23: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

جستجوی مبتنی بر شاخص•(Ai1, Ai2, …, Ain) Ri در پایگاه داده رم/ز نشده بهRk

i (Counter, Etuple, I1, I2, . . ., In) کلی/د اص/لی جدول رمز Counterدر پایگاه داده رم/ز شده نگاش/ت م/ی شود.

رمزنشده، Etupleشده، داده پایگاه در معادل چندتای/ی شده رم/ز I1 تا In هستند. Ain تا Ai1شاخص های متناظر با

Page 24: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

روش های اصلی مبتنی بر شاخص

•Bucket Based Index

•Hash Based Index

•B+ Tree Index

24

Page 25: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

- Bucketشاخص مبتنی بر معرفی

هاسيگموس و همکارانش مبتنی بر افزودن شاخص مبتنی بر •باکت، روشی برای پرس و جو روی داده رمز شده ارائه دادند.

رديف هاي هر جدول به طور جداگانه و به کمک يکي از الگوريتم هاي •رمزنگاري متقارن، رمز مي شوند.

به ازاي هر مشخصه که جستجو روي آن انجام مي شود، يک •مشخصه به نام شاخص به جدول اضافه مي گردد.

ID Title Author Year

123 Handbook of Applied Criptography Alfred J. Menezes 2001

Enc_Tuple IID IT IA IY

4%n+!~kl?7klm\||fcapkmvk380($% Σ Π Φ Ψ

Page 26: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

نحوه تعریف شاخص در روش Bucketبندی

براي ايجاد شاخص امن، بازه ي داده هاي هر مشخصه به تعدادي زيربازه 1.تقسيم مي شود.

بازه ها نباید اشتراک داشته باشند.– ايجاد ب/ازه ها مي تواند با استفاده از انواع روش هاي تقسيم بندي صورت 2.

گیرد.طول برابر–تعداد اعضاي برابر –

به هرکدام از بازه ها/ مقداري تعلق مي گيرد.3.می توان از یک تابع توليد اعداد شبه تصادفي استفاده کرد. –

به اين ترتيب به ازاي تمام داده ها/يي که در يک زيربازه قرار مي گيرند، •مقدار تعلق گرفته به زيربازه ی آنها در شاخص رمزشده قرار داده مي شود.

Page 27: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مثال – بازه بندی و اعطای شاخص

Page 28: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

پرس وجو در شاخص دهی مبتنی بر Bucket

پرس وجو در دو مرحله صورت مي گيرد: •کارگزار سعي مي کند تا آنجا که امکان دارد پاسخ درستي برگرداند1.

کارخواه نتيجه ي ارسالي کارگزار را رمزگشايي کرده و آنرا پردازش 2.مي کند.

یک پرس و جو می تو/اند با درخت هاي متفاوت که از SQLدر •نظر نتيجه يکسان هستند، نمايش داده شود.

هاسیگموس جداسازی پرس و جو را )بخشی در سمت •کارگزار و بخشی در سمت کارخواه( را با استفاده از درخت

پرس وجو انجام داده است.

Page 29: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

پرس و جو در شاخص دهی مبتنی Bucket (2)بر

در روش هاسيگموس، درخت نمايِش هر پرس و جو به دو قسمت •تقسيم مي شود.

بخش زیر عملگر رمزگشایی: کلیه اعمالی که می تواند در سمت کارگزار 1.انجام شود.

بخش باالی عملگر رمزگشایی: اعمالی که باید در سمت کارخواه انجام 2.شوند.

اَعمال جبر رابطه اي وقتي به زير عمل رمزگشايي برده •مي شوند، بايد به اَعمال جديدي که روي داده هاي رمزشده قابل

اجرا هستند، تبديل شوند. هاسيگموس جبر رابطه اي جديدي را براي اِعمال روي داده هاي –

رمزشده تعريف کرد.

29

Page 30: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

بهینه سازی اجرای پرس و جوSELECT name FROM books, keeper

WHERE keeper.ID = books.keeping AND Title = "Handbook of applied cryptography"

πname

Books.keeper = Keeper.id

σTitle = “Cryptography” D

KeeperSD

BooksS

فقط عملگر هایی که در زیر عملگر •رمزگشایی هستند قابل اجرا در سمت

کارگزار هستند

در این اجرا هیچ عملگری قابل اجرا •به روی کارگزار نیست.

سربار ارتباطي و محاسباتي در سمت •کارخواه باال است.

براي افزايش کارآيي بايد سعي کرد تا •حد امکان، عملگرهاي رابطه اي را به

زير عملگر رمزگشايي منتقل کرد.

Page 31: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

اجرای بهینه پرس و جو

اَعمال تا حد امکان باید در سمت •کارگزار انجام شود.

به Books روي جدول SELECTIONرابطه•زير عملگر رمزگشايي برده شده است.

برا/ي بردن اين عملگر به زير عملگر • که در sσرمزگشايي بايد آنرا تبديل به SELECTIONجبر جديد هاسيگموس براي

روي جداول رمزشده و مشخصه هاي شاخص تعريف شده است، تبديل کرد.

این اجرا از پرس وجو به دلیل اجرای •برخی از عملگرها در سمت کارگزار

اجرای کارایی است.

D

πname

σTitle = “Cryptography” Λ Books.keeper =

keeper.id

Bookss.keepers = Keepers.ids

KeeperS σsTitle = 0

BooksS

Page 32: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مزایا و معایب روش باکت بندی برای تولید شاخص

برای اجرای شروط تساوی مناسب هستند. Bucketروش های مبتنی بر •– Aij = v Ij = β

پرس و جوهای بازه ای نیز با کمی تغییر در این روش شاخص دهی •قابل اجرا است.

–(Ij = β1 or β2 or …or βk ) Aij< v مثال: •

در جدول صفحات قبل باید به شکل زیر تبدیل شود: Salary>50000شرط –Salarys=2 OR Salarys=10 OR Salarys=3

و ...SUM، MIN، MAX، Avgعدم امکان اجرای توابع تجمعی مانند •هاسيگموس اين روش را تعميم داد و با استفاده از يک تابع همريخت –

اختفائی اجراي توابعي مثل جمع و ضرب را فراهم کرد.

Page 33: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مزایا و معایب روش باکت بندی برای تولید (2شاخص )

وجود مقدار زیادی از داده های اضافی در نتایج کارگزار )به ویژه اگر •اعمالی مانند پیوند در پرس و جو وجود داشته باشد(

روش هايي براي بهبود و کاهش اشتباه هاي مثبت در روش هاسيگموس ارائه –شده است.

اين روش بيشتر براي داده هاي عددي کاربرد دارد و به کارگیری روش •براي داده هاي رشته اي يا متني که دامنه ي داده ها بزرگ است، چندان

مناسب نیست.در تعریف بازه برای داده های ر/شته ای، ممکن است تعداد زیادی داده در یک بازه –

قرار گیرد که این خود به معنای ارسال تعداد زیادی داده ي اضافی در پاسخ به يک پرس وجو و در نتیجه سربار/ ارتباطي و محاسباتي باال است.

اگر بازه ها طوری ساخته شوند که مثالً در هر بازه یک مقدار قرار بگیرد •امکان تحلیل فرکانسی وجود دارد.

33

Page 34: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

شاخص مبتنی بر توابع درهم ساز

از مفهوم توابع درهم ساز برای ساختن شاخص استفاده •می شود.

براي ساخِت شاخص در این روش، داده ها توسط یک تابع •درهم ساِز دارای تصادم دسته بندی می شوند.

مزيت این نوع شاخص دهی نسبت به روش باکت بندی این •است که دسته بندي روي داده هاي پشت سر هم انجام نمي شود که این مي تواند باعث افزايش امنيت گردد.

Page 35: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

شاخص مبتنی بر توابع درهم (2) ساز

rk و Ri(Ai1, Ai2, . . . , Ain)رابط/ه ای ب/ا اس/کیمای riاک/ر •i رابط/ه متناظر

ک/ه بخواهی/م برای آن Ri در Aijرم/ز شده آ/ن باش/د، برای ه/ر ص/فت تعریف h: Dij Bijشاخ/ص تعری/ف کنی/م، تاب/ع دره/م س/از ی/ک طرف/ه

است. Aij متناظر با Ij دامنه شاخص Bij و Aij دامنه Dijمی شود که

• for all x, y in Dij; if x = y then h(x)= h(y)

از دامنه آن کوچکتر است .hبرد •امکان برخورد وجود دارد.–

در y و xبرای هر دو مقدار تصادفی متفاوت ولی نزدیک به هم • یکنواخت است. h(x) − h(y)، توزیع احتمالی Dij (| x − y |< ε)دامنه

تابع درهم ساز ترتیب خصیصه در دامنه را حفظ نمی کند. –

Page 36: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

شاخص مبتنی بر توابع درهم ساز – ویژگی ها

اجرای پرس و جوهای تس/اوی )مانن/د روش های شاخ/ص ده/ی مبتنی •( ممکن است.bucketبر در جدول Aij شاخص متناظر/ با Ij، که Ij=h(v) به شرط Aij=vهر شرط –

رمز شده است/، تبدیل می/ ش/ود.

برخورد در تواب/ع دره/م س/از باع/ث ارس/ال چندتای/ی های اضاف/ی به •سمت کارخواه می شود.

تابع درهم ساز فاقد برخورد مشکل ارسال نتایج زیادی به کارخواه را –رفع می کند ولی احتمال تحلیل های فرکانسی را افزایش می دهد.

تواب/ع دره/م ساز • بر مشک/ل اص/لی روش های شاخ/ص ده/ی مبتن/ی عدم پشتیبانی از پرس و جوهای بازه ای است.

دامياني و همکارانش براي اضافه کردن قابليت انجام جستجوي بازه اي – در کنار این نوع شاخص +Bبه این روش/ از ش/اخص مبتنی بر درخت

دهی اس/تفاده/ کردند.

36

Page 37: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

+Bشاخص مبتنی بر درخت

. است +Bیکی از روش های شاخص دهی استفاده از ساختار داده ای درخت •

، گره های داخلی به طور مستقیم به چندتایی ها در پایگاه داده +Bدر درخت •اشاره نمی کنند بلکه به سایرگره ها در ساختار اشاره می نمایند.

گره های برگ مستقیماً به چندتایی هایی در پایگاه داده با مقادیر مشخص •برای صفت شاخص اشاره می کنند

که در شروط پرس و Ri در اس/کیمای Aij م/ی توان/د برای ه/ر ص/فت +Bدرخ/ت •جو ظاهر می شود، تعریف شود.

شاخ/ص توس/ط کارخواه روی مقادی/ر رم/ز نشده ص/فت س/اخته شده و سپس •روی کارگزار همراه با پایگاه داده رمز شده ذخیره می گردد.

ب/ه جدول/ی ب/ا دو ص/فت شناس/ه گره و محتوای گره تبدیل +Bس/اختار درخ/ت •می شود. این جدول برای هر گره یک ردیف دارد.

Page 38: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مثال

38

Page 39: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

در روش ارزیابی پرس و جو+Bدرخت

را درخواست A > vفرض کنيد، کارخواه اجراي پرس وجويي با شرط • ذخيره شده B يک مقدار ثابت است. کارخواه بايد درخت vکرده که

، پيمايش کند. vروي کارگزار را براي يافتن محل ريشه ي .) انجام مي دهدBدرخواستي براي دريافت ريشه ي درخت کارخواه –

اين رديف به کارخواه ارسال و در آنجا ( است.1درخت، رديِف با شماره ي رمزگشايي و پردازش مي شود.

، گره ي بعدي که بايد پيمايش شود انتخاب شده و vبا توجه به مقدار –درخواستی مبني بر ارسال آن گره به کارگزار فرستاده مي شود. اين روند

ادامه پيدا مي کند. vتا پيدا کردن برگ حاوي

، تمام برگ هاي بعد از آن به سمت کارخواه ارسال vپس از پيدا شدن –مي شوند. اين گره ها در سمت کارخواه رمزگشايي شده و شماره ي

رکورد هاي مورد نظر پيدا شده به سمت کارگزار ارسال مي شود.

Page 40: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

- +Bشاخص مبتنی بر درخت ویژگی ها

در پاسخ به پرس و جو، چندتایی اضافی به سمت +Bدرخت •کارخواه نمی فر/ستد.

هزینه ارزیابی شرایط پرس و جو برای کارخواه نسبت به روش •های مبتنی بر باکت و توابع درهم ساز بسیار بیشتر است.

را در کنار یکی از روش های شاخص +Bبه همین دلیل معموالً درخت – تنها +Bدهی مبتنی بر باکت یا توابع در هم ساز بکار برده و از درخت

در هنگام ارزیابی بازه ها در پرس و جو ها استفاده می نمایند.

در سمت کارگزار رمزنگاری +Bبا توج/ه به این که محتوای درخت •شده است، این روش در برابر حمالت استنتاجی نیز مقاوم است.

40

Page 41: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

جستجوی مبتنی بر شاخص در داده های رشته ای

روشی مبتنی بر شاخص برای پرس و جو روی داده های •(. 2004 ارائه شده است )Wangرشته ای توسط

با استفاده از روش وانگ، مي توان به جستجوي الگوهاي •دلخواه در داده هاي رمزشده پرداخت.

، در سطح فیلد است. Wangریزدانگی رمزنگاری در روش •

Page 42: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مراحل رمزنگاری

تشکيل شده است، c1c2…cn کاراکتر n که از Sبه هر رشته 1.بيت اختصاص داده مي شود. m مقدار شاخصی به طول

= siکه در آن S'= s1s2…s2n-2 به رشته ی S = c1c2…cnهر رشته ی 2.

cici+1 .است، بسط داده می شود

براي m تا0، مقداري بین hبا استفاده از تابع درهم ساز 3. ها به دست مي آيد. siهر کدام از

صورت بيت شماره باشد. در آنk برابر با h(si)اگر مقدار 4.k.ام در شاخص مربوطه برابر با يک مي شود

42

Page 43: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مثال

• S1= (abcehklst)

• m=16

را به عددی st، ...، و ab، bcتابعی در هم ساز دوتایی های • نگاشت می کند. 15 تا 0بین

•S2=Index(abcehklst)= (0010100010101001)2

S2 بیت یک در 6 تایی وجود دارد در حالیکه 2هشت رشته •دیده می شود. یعنی برخی از کاراکترهای دوتایی به یک

نگاشت می شوند. hمقدار توسط

43

Page 44: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

روش جستجو

بسط داده می شود ی رشته ای مورد پرس و جومقدار رشته ای موجود در الگو1. به هر دو حرف متوالی آن به دست hو مقادیر اختصاص داده شده توسط تابع

می آید. پرس و جو روی مقدار رشته ای به پرس و جو روی شاخص )رشته بیتی( تبدیل می –

شود.

باشند تا 1مقادیر به دست آمده، مکان بیت هایی از مقادیر شاخص را که باید 2.شر/ط پرس وجو ارضاء شود، مشخص می کند. این مقادیر به سمت کارگ/زار

ارسال می شوند.

کارگ/زار به ازای هر/ مقدار شاخص، مقادیر بیت های آن در مکان های ارسال 3. بودند، مقدار شاخص را به 1شده را بررسی می کند، اگ/ر همه دارای مقدار

. برمی گر/داندعنوان یکی از جواب ها به سمت کارخواه در جواب های ارسال شده ممکن است نتایج اضافی وجود داشته باشد که باید توسط –

کارخواه مجدداً پردازش شده تا جواب دقیق به دست آید.

Page 45: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

حالت های مختلف پرس و جوی رشته ای

تطبیق دقیق1. index = روی جدول رمز نشده تبدیل می شود به attribute=valueشرط ◦

(value) aS کهaS مقدار رمز شدهattribute .در سمت کارگزار است

تطبیق الگویی2. روی جدول رمز نشده:attribute LIKE valueشرط ◦

a like c0c1…ck => ((as)H(c0c1)=1 AND (as)H(c1c2)=1 AND … AND (as)H(ck-1ck)=1)

پرس و جوی با شرایط بولی•(attribute=value 1) OR (attribute=value 2), (attribute like value 1) AND (attribute like

value 2), (attribute like value 1) AND NOT (attribute like value 2)

از حالت اول و دوم قابل استنتاج است.–

Page 46: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مثال

select eid, age from employee where did like ‘chess’Transforms to

select * from employeeE where

(didsH(ch)=1) and (dids

H(he)=1) and (didsH(es)=1) and (dids

H(ss) =1)

46

Page 47: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

تحلیل روش

حمله بزرگ انتخاب شود/، mدر ای/ن روش، در ص/ورتي ک/ه طول • متن اصلی معلوم محتمل است.

و – یکتای/ی در شاخ/ص منتس/ب م/ی شوند ب/ه مقدار ه/ر زوج کاراکت/ر .امکان تحليل فرکانسي و شکستن شاخص وجود دارد

، تعداد زیادی داده اشتباه ب//ه س//مت mدر ص//ورت کوچ//ک بودن •کارخواه ارسال خواهد شد.

نظر • در بای/د شاخ/ص برای ای اضاف/ه فیل/د شده رم/ز جدول در ( وابسته است. mگرفته شود که حجم آن به اندازه شاخص )

فیل/د نیاز ب/ه رمز شدن داشته و طول شاخص ب/ه طور متوسط nدر صورتی که –m بیت باشد، میزان فضای اضافی مورد نیاز m*n .بیت برای شاخص است

47

Page 48: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

جمع بندی روش ها ی مبتنی بر شاخص

تحقیقات زیادی روی ای/ن گون/ه روش ه/ا ص/ورت گرفت/ه و دارای زمین/ه تئوریک قوی •می باشند. حتی دارای جبر رابطه ای مخصوص می باشند.

بیشتر فرایند اجرای پرس و جو بر روی کارگزار متمرکز است. •هزین/ه ذخیره س/ازی تقریباً دو برابر ذخیره س/ازی معمول/ی اس/ت. زیرا غیر از مقدار •

رمز شده ذخیره، مقدار شاخص نیز ذخیره می گردد.امکان اس/تنتاج و افشای اطالعات وجود دارد ک/ه میزان آ/ن وابس/ته ب/ه تعری/ف شاخص •

است. –Evdokimov و همکاران/ش/ اثبات کرده ان/د ک/ه تقریباً تمام روش های مبتن/ی بر شاخ/ص ذاتاً امن

نیس/تند. ب/ه ویژ/ه روشهای/ی ک/ه در پاس/خ ب/ه پرس وج/و چندتای/ی های اضاف/ی تولی/د نم/ی کنند، در معرض ته/دید افشای اطالعات قرار دارند.

پرس و جوهای شامل پیوند در این روش قابل اعمال است. •پرس و جوهای تساوی، و الگویی برای داده های عددی و رشته ای قابل انجام است.•امکان اجرای پرس و جوهای بازه ای بسته به تعریف شاخص دارد.•امکان اجرای پرس و جوهای شامل توابع تجمعی وجود ندارد.•ب/ا تغیی/ر توزی/ع داده ه/ا نیاز ب/ه دس/ته بندی مجدد داده ه/ا برای تعری/ف شاخص • چون

وجود دارد، این روش بیشتر برای داده های فقط خواندنی مناسب است.

Page 49: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

روش های مبتنی بر کاربرد توابع همریخت اختفایی

توابع همریخت اختفایی نوعی توابع برای رمزنگاری است.•

(، حاصل privacy homomorphismدر روش رمزنگاری همريخت اختفایی )•انجام يک عمل روي داده هاي رمزشده، معادل رمزشده حاصل عملي

ديگر روي داده هاي اصلي است.

• β(xE , yE) = (α(x,y))E

– E(x) . E(y) = E(x+y)

بوسيله ي توابع رمزنگاري همريخت اختفائی مي توان برخي از عمليات •مانند جمع و ضرب را به طور مستقيم روي داده هاي رمزشده انجام

داد.

فیلدهایی را که روی آنها پرس و جوی تجمعی اجرا می شود، با •استفاده از رمزنگاری همریخت رمز می کنند.

Page 50: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

روش هاسیگموس

هاسيگموس با استفاده از يک تابع رمزنگاري همريخت اختفائی •که دو خاصيت جمعي و ضربي را پشتیبانی می کند، توابع جمع

و ضرب را روي داده هاي رمزشده اجرا کرد.

خواص تابع رمزنگاری همومورفیسم استفاده شده:• به وسیله کاربر تعیین می شوند.q و p که K=(p, q)کلید رمزنگاری –

– n = p.q که به کارگزار داده می شود

– qq-1 =1 (mod p)

– pp-1 = 1 (mod q)

– Ek(a mod p, a mod q)

Page 51: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مثال

• p = 5 , q = 7• n = p.q = 35 k = (5, 7)

را جمع کنیمa2 = 12 و a1 = 8می خواهیم •• E(a1) = (3,1)

• E(a2) = (2,5)

• E (a1) + E (a2) = (3+2, 1+5) = (5, 6)• D (5, 6) = 5*qq-1 + 6*pp-1 (mod 35)

= (5*7*3 + 6*5*3) (mod 35) =195 (mod 35) = 20

Page 52: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مشکل استنتاج

استفاده از تابع رمزنگاري همريخت اختفائِی معرفي شده کامالً امن •نيست و کارگزار مي تواند مقدار اصلي برخي از مقادير رمزشده را

به دست آورد. z=x.y رمز/ شده اند. اگر (yp,yq) و (xp,xq) دو عدد باشند که به صورت y و xفرض/ کنيد، –

بين مقادير/ رمز/شده اين متغيرها وجود نيز (zp,zq(=)xp,xq(.)yp,yq)باشد، رابط/ه ي دارد. در چنين حالتی کارگزار مي تواند مقادير/ اص/لي اين متغير/ها را به دست/ آورد.

با خودش/ مي کند و اين کار را آنقدر ادامه (xp, xq)کارگزار شروع به جمع کردن است.y بر/ابر شود. تعداد اين جمع کردن ها برابر/ با عدد (zp, zq)مي دهد تا نتيجه آن با

هاسيگموس با اضافه کردن نويز تصادفي به مقادير رمزشده، مشکل • يک تابع شبه تصادفي است.R(x) را حل می کند.

نويز در هنگام رمزگشايي از داده ها حذف مي شود.•

Page 53: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

روش های رمزنگاری مبتنی بر حفظ ترتیب

( داده ه/ا به Order Preservingدر روش های رمزنگاری ب/ا حف/ظ ترتی/ب )•گون/ه ای رم/ز م/ی شون/د ک/ه ترتی/ب داده ه/ا پ/س از رم/ز شدن ب/ا ترتیب

داده های اصلی یکسان باشد.

این نوع رمزنگاری برای اجرای پرس و جو های بازه ای مناسب است. •

آگراوال برای رمزنگاری داده های عددی و اجرای پرس و جوهای بازه •ای روی آنها از این روش استفاده کرده است.

هستند. اين داده ها به Aفرض کنيد، داده هاي اصلي داراي توزيع اوليه •' Aنحوي رمز مي شوند، که عالوه بر حفظ ترتيب از توزيع دلخواه

تبعيت کنند. به توز/يع f نگاشت شده و سپس توزيع fابتدا داده ها به توزيع يکنواخت –

نگاشت مي شود. 'Aهدف

Page 54: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

مراحل رمزنگاری

•OPES.در سه مرحله کار مي کند (Order Preserving Encryption Scheme)مدل کردن: داده هاي اصلي به تعدادي دسته تقسيم مي شوند و توزيع 1.

داده هاي هر دسته مدل مي شود. روش هایی برای تعیین تعداد دسته ها و طول هر دسته وجود دارد.•

افزايش دسته ها منجر به افزايش هزينه هاي مدل مي شود.•

به قسمي تبديل F به داده های مسطح Pمسطح کردن: داده های اصلي 2.داراي توزيع يکنواخت/ باشند. Fشود که مقادير

هر M ايجاد مي شود. تابع Mدر مرحله ي مسطح کردن براي هر دسته، يک تابع نگاشت •دسته را به دسته اي با توزيع يکنواخت نگاشت مي کند.

دو مقدار متفاوت در داده های اصلي هميشه به دو مقدار متفاوت از فضاي مسطح •شده نگاشت شوند.

تبديل مي شود، به C به داده های رمزشده Fتغيير: داده های مسطح 3. داراي توزيع نهايي که براي داده/ هاي رمزشده در Cقسمي که مقادير

نظر گرفته شده بود، باشند.

Page 55: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

cB0

fB0

fkB 1

ckB 1

0B

1mB

fB0

fmB 1

Page 56: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

ویژگی های روش رمزنگاری با حفظ ترتیب

اجرای پرس و جوه/ا در ای/ن روش چندتای/ی های اضاف/ی به •سمت کارخواه ارسال نمی کند.

که • شود م//ی تامی//ن زمان//ی روش ای//ن در امنی//ت کارگزار/حمل/ه کننده اطالعات/ی در مورد پایگاه داده اصلی

و یا دامنه صفت ها نداشته باشد. این روش در مقابل حمله متن اصلی معلوم آسیب پذیر است.–

56

Page 57: پرس و جو روی داده های رمز شده

MCI

-87 درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 88

پایان

57