برونسپاری پایگاه داده چالشها و راهکارهای امنیتی
پایگاه داده به عنوان خدمت گسترش رایانش ابری کاهش هزینهها افزایش دسترسپذیری اشتراکگذاری .... DB Cloud Server کارگزار
امنیت برونسپاری افزودن ملاحظات امنیتی شفافیت از دید کاربر افزودن پیشکار (proxy) به عنوان واسط Server کارگزار Proxy پیشکار Cloud DB
چالشها انواع مدلهای کارگزار کاملا معتمد معتمد اما کنجکاو نا معتمد وفاداری به روال کار و پروتکل تعیین شده فقط نیاز به محرمانگی نا معتمد امکان تخطی از پروتکل حذف بخشی از جواب اعلام عدم وجود داده ... نیاز به محرمانگی و جامعیت(+ کنترل دسترسی و...) محرمانگی (confidentiality) جامعیت داده (data integrity) کنترل دسترسی (access control) ... واگذاری به کارگزار اعمال در سمت پیشکار ترکیب با روال رمزگذاری رمزگذاری ویژگیبنیاد مدیریت کلید
محرمانگی راهکارها و نقاط ضعف و قوت
سازوکارهای تامین محرمانگی رمزگذاری پردازش پیش از رمزگشایی توابع رمز خاصمنظوره فراداده رمزگشایی و پردازش در محیط امن در ابر در محیط کاربر چند پارگی (fragmentation) عمودی افقی مقادیر ترکیبی
رویکردهای تأمین محرمانگی سازوکارهای تامین محرمانگی رمزگذاری پردازش پیش از رمزگشایی توابع رمز خاصمنظوره فراداده رمزگشایی و پردازش در محیط امن در ابر در محیط کاربر چند پارگی (fragmentation) عمودی افقی مقادیر ترکیبی
فراداده تعریف: دادهای برای توصیف ویژگی(های) داده(های) دیگر شاخص (index): نوع خاصی فراداده افزایش سرعت بازیابی (عدم نیاز به جستجوی پویشی) افزایش هزینه درج و حذف مراحل ساخت شاخص (index) از روی داده آشکار رمزگذاری دادههای واقعی و قرار دادن در کارگزار قرار دادن شاخص در کنار داده رمزشده در کارگزار
فراداده (ادامه) SELECT Name FROM t1 WHERE Salary > 60000 انواع Id Name Salary 23 Tom 70000 860 Mary 60000 320 Tony 50000 875 Jerry 5600 انواع مبتنی بر بازهگذاری (bucket-based) مبتنی بر چکیدهسازی (hash-based) مبتنی بر درخت B+ ... Enc-tuple IdS NameS SalaryS 010011… 4 28 10 110010… 2 5 001110… 8 100011… 7 1 SELECT Name FROM t1 WHERE SalaryS = 10 OR SalaryS = 3 SELECT Name FROM t1 WHERE Salary > 60000
فراداده (ادامه) SELECT Name FROM t1 WHERE Salary > 65000 نقاط ضعف: نشت اطلاعات در مورد داده شاخصگذاری امن (secure indexing) امکان تولید سطر اضافی در جواب نیاز به پالایش پس از رمزگشایی محدودیت فقط جستجو، نه محاسبات Id Name Salary 23 Tom 70000 860 Mary 60000 320 Tony 50000 875 Jerry 5600 Enc-tuple IdS NameS SalaryS 010011… 4 28 10 110010… 2 5 001110… 8 100011… 7 1 SELECT Name FROM t1 WHERE SalaryS = 10 OR SalaryS = 3 SELECT Name FROM t1 WHERE Salary > 65000
رویکردهای تأمین محرمانگی سازوکارهای تامین محرمانگی رمزگذاری پردازش پیش از رمزگشایی توابع رمز خاصمنظوره فراداده رمزگشایی و پردازش در محیط امن در ابر در محیط کاربر چند پارگی (fragmentation) عمودی افقی مقادیر ترکیبی
E(A B) = E(A) E(B) ? A = B A < B E(A) < E(B) رمزگذاری داده رمزگذاری تمام همریخت (fully homomorphic) سربار زیاد و عدم کارایی در عمل رمزگذاریهای خاص منظوره قطعی حافظ ترتیب همریخت جزئی (partialhomomorphic) عملیات رشتهای (searchable encryption و...) رمزگذاری لایهای (پیازی) نیاز به مدیریت لایهها بسته به نوع پرسمان داده رمز حافظ ترتیب رمز قطعی رمز تصادفی E(A B) = E(A) E(B) A = B ? A < B E(A) < E(B) E(A B) = E(A) E(B) A >=< B ?
SELECT * FROM table1 WHERE A+B>C رمزگذاری داده A (OPE) A (HOM) B (HOM) C O(1) H(1) O(2) H(2) O(3) H(3) A B C 1 2 3 محدودیتها کندی رمزهای خاصمنظوره تنوع عملگرهای تعریف شده در رمز همریخت تبدیل انواع اعداد صحیح و اعشاری عملیات خاص منظوره LIKE اعمال مربوط به تاریخ ... تبدیل یک ستون به چندین ستون محدودتر شدن پرسمانهای مورد پشتیبانی ناگزیر به انجام پالایش اضافی پس از رمزگشایی SELECT city FROM table1 WHERE city LIKE %r_% SELECT * FROM table1 WHERE date BETWEEN 1/1/13 AND 2/2/14 SELECT * FROM table1 WHERE A+B>C
رمزگذاری داده راه حلها استفاده از رمزهای سریع در کنار رمزهای خاص منظوره مشابه شاخص (index) ولی با امنیت (و دقت) بالاتر تقسیمبندی عملیات و انجام حداکثر قسمتهای ممکن در سمت کارگزار A (AES) A (OPE) A (HOM) 335ABE2… O(1) H(1) A4B56E2… O(2) H(2) A (OPE) A (HOM) B (HOM) C O(1) H(1) O(2) H(2) O(3) H(3) A B x C 1 2 4 3 6 A (OPE) B x (HOM) C O(1) H(2) O(2) H(4) O(3) H(6) SELECT * FROM table1 WHERE A+B>C SELECT A,B,C FROM WHERE x>C (SELECT A,B,A+B AS x ,C FROM table1)
رمز جستجوپذیر Song و همکاران رمزگذاری متقارن دادهها در قالب چند فایل متنی رمزنگاری و بارگذاری در سمت کارگزار جستجوی کلمات ثابت (full word) درنظر گرفتن ملاحظات امنیتی امنیت اثباتپذیر (provable secrecy) انزوای پرسمان (query isolation) جستجوی کنترلشده (controlled searching) جستجوی پنهان (Hidden search) query isolation : the untrusted server cannot learn anything more about the plaintext than the search result. Controlled searching: the untrusted server cannot search for an arbitrary word without the user’s authorization. hidden queries: the user may ask the untrusted server to search for a secret word without revealing the word to the server
رمز جستجوپذیر Song و همکاران (ادامه) ایده اولیه جستجوی کنترلشده استخراج Ki از Wi و ارسال به کارگزار جستجوی پنهان روش نهایی ki = fk’(E(wi)) ki = fk’(Li) ki = fk’(wi) query isolation : the untrusted server cannot learn anything more about the plaintext than the search result. Controlled searching: the untrusted server cannot search for an arbitrary word without the user’s authorization. hidden queries: the user may ask the untrusted server to search for a secret word without revealing the word to the server
ایده اولیه طرح جنتری برای رمز تمام همریخت اهمیت ضرب و جمع متقارن انتخاب عدد اول بزرگ p به عنوان کلید محرمانه انتخاب عدد تصادفی کوچک r رمزگذاری بیتبهبیت 𝐸 𝑏 =𝑝𝑞+2𝑟+𝑏 𝐷 𝑒 = 𝑒 𝑚𝑜𝑑 𝑝 𝑚𝑜𝑑 2 2𝑟+𝑏<𝑝 2*r+b (noise) p 2p 3p -3p -2p -p
ایده اولیه طرح جنتری برای رمز تمام همریخت (ادامه) جمع و ضرب افزایش نویز Bootstrapping پرهزینه و غیر عملی c1+c2 = p(q1 + q2) + 2(r1+r2) + (b1+b2) c1c2 = p(c2q1+c1q2-q1q2) + 2(r1r2+r1b2+r2b1) + b1b2 Enc(b) b In reality we need Enc(Enc(b)) but we have considered it in the Decrypt circuit Decrypt Enc(Enc(b)) Enc(b) Enc(Secret key) Secret key
رمزهای حافظ ترتیب پنهانسازی توزیع مسطحسازی و تبدیل عدم وجود سطح امنیتی IND-CPA تعریف مدلهای جدید indistinguishability under ordered CPA attack (IND-OCPA) pseudo-random order preserving function under chosen ciphertext attack (POPF-CCA) … (Order Revealing Encryption) ORE
رمز همریخت RSA ElGemal Paillier 𝑐≡ 𝑚 𝑒 𝑚𝑜𝑑 𝑛 𝑐 1 × 𝑐 2 =𝐸( 𝑚 1 × 𝑚 2 ) 𝑐≡ 𝑚 𝑒 𝑚𝑜𝑑 𝑛 𝑐 1 × 𝑐 2 =𝐸( 𝑚 1 × 𝑚 2 ) ElGemal Paillier 𝑐= 𝑔 𝑚 . 𝑟 𝑛 𝑚𝑜𝑑 𝑛 2 𝐷 𝐸 𝑚 1 , 𝑟 1 ×𝐸 𝑚 2 , 𝑟 2 𝑚𝑜𝑑 𝑛 2 =( 𝑚 1 + 𝑚 2 ) 𝑚𝑜𝑑 𝑛
رمز همریخت (ادامه) روش هاسیگموس Hacigumus k = (p,q) و n=pq 𝐸 𝑘 𝑎 = 𝑎 𝑚𝑜𝑑 𝑝, 𝑎 𝑚𝑜𝑑 𝑞 𝐷 𝑘 𝑐 1 , 𝑐 2 = 𝑐 1 𝑚𝑜𝑑 𝑝 𝑞 𝑞 −1 + 𝑐 2 𝑚𝑜𝑑 𝑞 𝑝 𝑝 −1 (𝑚𝑜𝑑 𝑛) دارای قابلیت پشتیبانی از ضرب ولی نه تمام همریخت! نشت اطلاعات (جمع متوالی و ...) تصادفیسازی 𝐸 𝑘 𝑎 = 𝑎 𝑚𝑜𝑑 𝑝 +𝑅 𝑥 .𝑝 , 𝑎 𝑚𝑜𝑑 𝑞 +𝑅 𝑥 .𝑞
رویکردهای تأمین محرمانگی سازوکارهای تامین محرمانگی رمزگذاری پردازش پیش از رمزگشایی توابع رمز خاصمنظوره فراداده رمزگشایی و پردازش در محیط امن در ابر در محیط کاربر چند پارگی (fragmentation) عمودی افقی مقادیر ترکیبی
رمزگشایی و پردازش در محیط امن در ابر سختافزارهای ضد دستکاری (Tamper-proof hardware) سمت کاربر مبتنی بر پیشکار (proxy) DB Cloud proxy
رویکردهای تأمین محرمانگی سازوکارهای تامین محرمانگی رمزگذاری پردازش پیش از رمزگشایی توابع رمز خاصمنظوره فراداده رمزگشایی و پردازش در محیط امن در ابر در محیط کاربر چند پارگی (fragmentation) عمودی افقی مقادیر ترکیبی
چندپارگی داده (data fragmentation) تقسیم داده بین کارگزاران مختلف محرمانگی ارتباطات بین دادهها عدم فاش شدن کل دادهها در صورت نشت از یک کارگزار روشهای تسهیم راز (secret sharing) id name city 5 Ali Tehran 6 Naser Shiraz id name city 2 Al Teh 3 Nas Shi 1 Ram Tab Jav Ras Ahm Zab id name 5 Ali 6 Naser 9 Ramin 1 Javad 2 Ahmad id name city 5 Ali Tehran 6 Naser Shiraz 9 Ramin Tabriz 1 Javad Rasht 2 Ahmad Zabol city Tehran Shiraz Tabriz Rasht Zabol id name city 3 i Ran er Raz 8 in Riz 1 ad Ht ol id name city 9 Ramin Tabriz 1 Javad Rasht 2 Ahmad Zabol
جامعیت اهداف، تکنیکها و معیارها
نیازمندیهای کلی صحت (اصالت) کامل بودن تازگی Query Response Cloud Query Response DB Verification object Deterministic Probabilistic
معیارهای ارزیابی هزينه ساخت اوليه ذخيرهسازي كارگزار هزينه محاسباتي اجراي پرسوجو هزينه ارتباطات هزينه درستيسنجي هزينه بروزرساني
سازوکارهای بررسی جامعیت داده ساختار احراز اصالت درخت چکیدهساز مرکل زنجیره امضا افزونگی داده رمزگذاری افزونگی داده جعلی سختافزار ضددستکاری
سازوکارهای بررسی جامعیت داده ساختار احراز اصالت درخت چکیدهساز مرکل زنجیره امضا افزونگی داده رمزگذاری افزونگی داده جعلی سختافزار ضددستکاری
درخت مرکل مرتبسازی بر اساس صفت جستجوپذیر مرتبسازی بر اساس صفت جستجوپذیر امضای ریشه درخت توسط مالک داده ارسال دادههای مورد نیاز برای ساخت ریشه (علاوه بر پاسخ برگشتی) امکان بررسی صحت و کامل بودن بررسی بههنگام بودن در شرایط خاص
سناریوی نمونه SELECT Name FROM Table WHERE C3 < Salary< C5 R N5 Id Name Salary 1 Ali $5000 2 Ramin $3500 3 Saeed $9000 … 8 Hamid $4500 R N5 N6 N1 N2 N3 N4 R = H (N5 || N6) N5 = H (N1 || N2) N6 = H (N3 || N4) N1 = H (H (T1) || H (T2)) N2 = H (H (T3) || H (T4)) N3 = H (H (T5) || H (T6)) N4 = H (H (T7) || H (T8)) H(T1) H(T2) H(T3) H(T4) H(T5) H(T6) H(T7) H(T8) C1 C2 C3 C4 C5 C6 C7 C8 SELECT Name FROM Table WHERE C3 < Salary< C5
مزایا و معایب ساخت ساده شیء وارسی وارسی تازگی پاسخ شیء وارسی بزرگ بهنگامسازی داده وابستگی زمان وارسی به اندازه پایگاه داده
سازوکارهای بررسی جامعیت داده ساختار احراز اصالت درخت چکیدهساز مرکل زنجیره امضا افزونگی داده رمزگذاری افزونگی داده جعلی سختافزار ضددستکاری
وارسی مبتنی بر امضا ارسال امضا به همراه پاسخ ریزدانگی انتخابی Sign(H(Ali|5000)) Sign(H(Ramin|3500)) Sign(H(Hasan|9000)) Sign(H(Davood|6000)) Sign(H(-|-∞)) Sign(H(-|+∞)) ارسال امضا به همراه پاسخ ریزدانگی انتخابی ریزدانه: سربار محاسباتی درشتدانه: سربار ارتباطی امضا در سطح تاپل Name Salary Ali $5000 Ramin $3500 Hasan $9000 Davood $6000 SELECT Name FROM Employee WHERE Salary > 7000 (Hasan,9000)
زنجیرهسازی امضا به منظور افزودن قابلیت بررسی کامل بودن یک زنجیره به ازای هر صفت قابل جستجو وابستگی امضا به عناصر قبلی و/یا بعدی Sign(R5) = h(h(R5)||h(R6)||h(R2)||h(R7)) امضای یکپارچه (Aggregated Signature) برای کاهش سربار ارتباطی و محاسباتی Condensed RSA
مزایا و معایب تازگی کارایی در بهروزرسانی ساختار داده یکسان برای ابعاد مختلف
سازوکارهای بررسی جامعیت داده ساختار احراز اصالت درخت چکیدهساز مرکل زنجیره امضا افزونگی داده رمزگذاری افزونگی داده جعلی سختافزار ضددستکاری
تکرار تاپلهای رمزشده رمزگذاری بخشی از دادهها با دو کلید متفاوت رمزگذاری بخشی از دادهها با دو کلید متفاوت وارسی جامعیت از طریق بررسی میزان همپوشانی افزایش اطمینان از طریق افزایش همپوشانی حمله تناظر
سازوکارهای بررسی جامعیت داده ساختار احراز اصالت درخت چکیدهساز مرکل زنجیره امضا افزونگی داده رمزگذاری افزونگی داده جعلی سختافزار ضددستکاری
افزودن داده جعلی افزودن تاپلهای جعلی به پایگاه داده تمایزناپذیری تاپلهای جعلی نسبت به تاپلهای واقعی برای کارگزار بررسی پاسخ برگشتی تعداد تاپلهای جعلی موجود تعداد تاپلهای جعلی مورد انتظار در پاسخ بررسی کامل بودن پاسخ موازنه بین سربار ذخیرهسازی و پردازش با احتمال درستی پاسخ