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

Slides:



Advertisements
Similar presentations
Monomi: Practical Analytical Query Processing over Encrypted Data
Advertisements

SECURITY AND VERIFICATION
CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
 Cristina Onete || 25/09/2014 || 1 TD – Cryptography 25 Sept: Public Key Encryption + RSA 02 Oct: RSA Continued 09 Oct: NO TD 16 Oct: Digital Signatures.
Rennes, 23/10/2014 Cristina Onete Putting it all together: using multiple primitives together.
Introduction to Practical Cryptography Lecture 9 Searchable Encryption.
CryptDB: Protecting Confidentiality with Encrypted Query Processing
CryptDB: Confidentiality for Database Applications with Encrypted Query Processing Raluca Ada Popa, Catherine Redfield, Nickolai Zeldovich, and Hari Balakrishnan.
CryptDB: A Practical Encrypted Relational DBMS Raluca Ada Popa, Nickolai Zeldovich, and Hari Balakrishnan MIT CSAIL New England Database Summit 2011.
Practical Techniques for Searches on Encrypted Data Author: Dawn Xiaodong Song, David Wagner, Adrian Perrig Presenter: 紀銘偉.
A Designer’s Guide to KEMs Alex Dent
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
Practical Techniques for Searches on Encrypted Data Author:Dawn Xiaodong Song, David Wagner, Adrian Perrig Presenter: 紀汶承.
Computer Science Public Key Management Lecture 5.
CN8816: Network Security1 Confidentiality, Integrity & Authentication Confidentiality - Symmetric Key Encryption Data Integrity – MD-5, SHA and HMAC Public/Private.
Dan Boneh Authenticated Encryption Chosen ciphertext attacks Online Cryptography Course Dan Boneh.
Practical Techniques for Searches on Encrypted Data Yongdae Kim Written by Song, Wagner, Perrig.
Homomorphic Encryption: WHAT, WHY, and HOW
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Privacy Preserving Query Processing in Cloud Computing Wen Jie
Secure Cloud Database. Introduction Cloud computing – IT as a service from third party service provider Security in cloud environment – Adversary corrupts.
Secure Cloud Database using Multiparty Computation.
SEC835 Practical aspects of security implementation Part 1.
Wai Kit Wong, Ben Kao, David W. Cheung, Rongbin Li, Siu Ming Yiu.
Identity-Based Secure Distributed Data Storage Schemes.
1 Lect. 13 : Public Key Encryption RSA ElGamal. 2 Shamir Rivest Adleman RSA Public Key Systems  RSA is the first public key cryptosystem  Proposed in.
1 Information Security – Theory vs. Reality , Winter Lecture 10: Garbled circuits (cont.), fully homomorphic encryption Eran Tromer.
Secure Cloud Database with Sense of Security. Introduction Cloud computing – IT as a service from third party service provider Security in cloud environment.
Relational-Based Encryption for Efficient Data Sharing on Encrypted Cloud Relational Databases.
Background on security
CS555Spring 2012/Topic 111 Cryptography CS 555 Topic 11: Encryption Modes and CCA Security.
Secure Cloud Database. Introduction Cloud computing – IT as a service from third party service provider Security in cloud environment – Adversary corrupts.
Public Key Encryption with keyword Search Author: Dan Boneh Rafail Ostroversity Giovanni Di Crescenzo Giuseppe Persiano Presenter: 陳昱圻.
Secure Data Outsourcing. Outline  Motivation  Background  Research issues  Summary.
1 Common Secure Index for Conjunctive Keyword-Based Retrieval over Encrypted Data Peishun Wang, Huaxiong Wang, and Josef Pieprzyk: SDM LNCS, vol.
Secure Query Processing in an Untrusted (Cloud) Environment.
Secure Query Processing in an Untrusted (Cloud) Environment.
1 Information Security – Theory vs. Reality , Winter Lecture 11: Fully homomorphic encryption Lecturer: Eran Tromer Including presentation.
Keyword search on encrypted data. Keyword search problem  Linux utility: grep  Information retrieval Basic operation Advanced operations – relevance.
Fully Homomorphic Encryption (FHE) By: Matthew Eilertson.
Security. Security Needs Computers and data are used by the authorized persons Computers and their accessories, data, and information are available to.
MPC Cloud Database with Sense of Security. Introduction Cloud computing – IT as a service from third party service provider Security in cloud environment.
RSA Laboratories’ PKCS Series - a Tutorial
Big Data Analytics over Encrypted Datasets with Seabed
Data Security and Privacy Keke Chen
Application Security Lecture 27 Aditya Akella.
Searchable Encryption in Cloud
Privacy Preserving Similarity Evaluation of Time Series Data
Authenticated encryption
Group theory exercise.
Secrecy of (fixed-length) stream ciphers
based on slides by Debra Cook
Using cryptography in databases and web applications
Cryptography Lecture 26.
Topic 11: Authenticated Encryption + CCA-Security
پرس و جو روی داده های رمز شده
Semantic Security and Indistinguishability in the Quantum World
Cryptography Lecture 12.
Cryptography and Security Fall 2009 Steve Lai
Real-world Security of Public Key Crypto
Introduction to Symmetric-key and Public-key Cryptography
بررسی معماری های امن پایگاه داده از جنبه رمزنگاری
Secure How do you do it? Need to worry about sniffing, modifying, end-user masquerading, replaying. If sender and receiver have shared secret keys,
Cryptography Lecture 12.
Introduction to Cryptography (1)
CSC 774 Advanced Network Security
The power of Pairings towards standard model security
Cryptography Lecture 22.
Cryptography Lecture 11.
Cryptography Lecture 25.
Presentation transcript:

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

پایگاه داده به عنوان خدمت گسترش رایانش ابری کاهش هزینه‌ها افزایش دسترس‌پذیری اشتراک‌گذاری .... 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

مزایا و معایب تازگی کارایی در به‌روزرسانی ساختار داده یکسان برای ابعاد مختلف

سازوکار‌های بررسی جامعیت داده ساختار احراز اصالت درخت چکیده‌ساز مرکل زنجیره امضا افزونگی داده رمزگذاری افزونگی داده جعلی سخت‌افزار ضددستکاری

تکرار تاپل‌های رمزشده رمزگذاری بخشی از داده‌ها با دو کلید متفاوت رمزگذاری بخشی از داده‌ها با دو کلید متفاوت وارسی جامعیت از طریق بررسی میزان هم‌پوشانی افزایش اطمینان از طریق افزایش همپوشانی حمله تناظر

سازوکار‌های بررسی جامعیت داده ساختار احراز اصالت درخت چکیده‌ساز مرکل زنجیره امضا افزونگی داده رمزگذاری افزونگی داده جعلی سخت‌افزار ضددستکاری

افزودن داده جعلی افزودن تاپل‌های جعلی به پایگاه داده تمایزناپذیری تاپل‌های جعلی نسبت به تاپل‌های واقعی برای کارگزار بررسی پاسخ برگشتی تعداد تاپل‌های جعلی موجود تعداد تاپل‌های جعلی مورد انتظار در پاسخ بررسی کامل بودن پاسخ موازنه بین سربار ذخیره‌سازی و پردازش با احتمال درستی پاسخ