Presentation is loading. Please wait.

Presentation is loading. Please wait.

بررسی معماری های امن پایگاه داده از جنبه رمزنگاری

Similar presentations


Presentation on theme: "بررسی معماری های امن پایگاه داده از جنبه رمزنگاری"— Presentation transcript:

1 بررسی معماری های امن پایگاه داده از جنبه رمزنگاری
دانشگاه صنعتی شریف دانشکده مهندسی کامپیوتر ارائه درس امنیت پایگاه داده خرداد 1391 روح الله محفوظی محمد علی کارگر

2 مروری بر معماری CryptDB
نمای کلی مروری بر معماری CryptDB تهدیدات موجود لایه‌های رمزنگاری شماهای رمزنگاری مراجع مقدمه چالش‌های رمزنگاری پایگاه داده سطوح رمزنگاری مدیریت کلید استراتژی رمزنگاری معماری شرکت IBM

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

4 چالش های رمزنگاری پایگاه داده
انواع حمله حملات انفعالی – نشت آماری، نشت اتصالی حملات فعال – جعل، اتصال دادن، تکرار سربار رمزنگاری رمز اطلاعات حساس تنها اطلاعات مورد نیاز در هنگام اجرای یک پرسش رمز شوند. رمزگذاری بر روی اندیس بسته به کاربرد حجم اطلاعات رمز شده در مقایسه به اطلاعات اصلی

5 چالش های رمزنگاری پایگاه داده - ادامه
مدیریت کلید رمزنگاری کنترل دسترسی رمزنگاری- دسترسی به پایگاه داده توسط کاربرهای متفاوت و توسط کلیدهای متفاوت. حفظ کلید بصورت امن بازیابی کلید

6 سطوح رمزنگاری سطح فایل های سیستمی رمز کل داده های ذخیره شده
نیاز به تغییر لایه های بالاتر نیست عدم استراتژی مرتبط به حقوق کاربران

7 سطح سیستم مدیریت پایگاه داده
سطوح رمزنگاری سطح سیستم مدیریت پایگاه داده رمزنگاری در پایه جداول، سطر و ستون جلوگیری از حمله نشر آماری و نشر پیوندی

8 سطوح رمزنگاری سطح برنامه کاربردی
جداسازی کلیدهای رمزنگاری از داده های رمز شده در پایگاه داده عدم امکان اندیس گذاری

9 مدیریت کلید نحوه‌ی تولید کلید رمزنگاری و مدیریت آن در طول مدت عمرش

10 استراتژی رمزنگاری خارج DBMS داخل DBMS
جداسازی داده رمزشده و کلید رمزشده سربار ارتباطی باید سرورهای بیشتری را کنترل کند. کمترین تأثیر بر روی نرم افزار کاربردی نگهداری کلیدهای رمزنگاری در جدول پایگاه داده پایین آمدن کارایی برای جداکردن کلیدها یک سخت افزار دیگر مانند HSM مورد نیاز است.

11 معماری رمزنگاری شرکت IBM
کارگزار امنیتی EE عامل برون خطی امن EE عامل برخط فایل سیستمی امن EE اجزاء: IBM کاربران مجاز فایلهای پشتیبان مدیریت وب نرم افزار های کاربردی SSL x.509 Certificates ککک کارگزار DBMS عامل برون خط پایگاه داده عامل برخط فایل سیستمی https کارگزار EE شرکت IBM عاملهای EE برقراری ارتباط با کارگزار امنیتی برای اعمال سیاست رمزنگاری داده، کنترل کردن دسترسی فرستادن رخدادهای امنیتی به کارگزار کارگزار امنیتی مدیریت سیاست و کلید ثبت ممیزی متمرکز دسترس پذیری بالا ارتباط عامل تصدیق شده کلید، سیاست، مخزن ثبت ممیزی فایلهای برخط

12 مروری بر معماری CryptDB

13 CryptDB چیست؟ CryptDB یک سامانه واسط بین DBMS و کاربر است طراحی شده برای تأمین محرمانگی داده ها در برنامه هایی که از DBMS استفاده می کنند مبتنی بر رمزنگاری پایگاه داده پرس و جو ها به صورت رمز شده به پایگاه داده ارسال می شود

14 تهدید2: حمله بر روی کل کارگزارها
تهدیدات موجود تهدید2: حمله بر روی کل کارگزارها تهدید1: حمله بر روی DBMS DBA کاربر 1 کارگزار DB SQL کاربرد (App) کاربر 2 کاربر 3 مدیر پایگاه داده کنجکاو تلاش برای خواندن اطلاعات خصوصی مانند اطلاعات پزشکی افراد، قراردادهای مالی، و ... تبانی Application و DBMS حمله کننده دسترسی کامل به برنامه کاربردی و DBMS دارد

15 معماری کلی CryptDB تهدید 1 تهدید 2 Key Setup User1 Password1 DB Proxy
DBMS UDFs Application Key Setup User2 Password2 Active Keys: Password1 Annotated Schema Enc key Table Enc Data کاربران کارگزار Application CryptDB proxy server کارگزار DBMS

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

17 شمای رمزنگاری Scheme Construction Function RND AES in CBC none HOM
سطح امنیتی بیشتر Scheme Construction Function RND AES in CBC none HOM Paillier +, * e.g., sum SEARCH Song et al.,’00` word search restricted LIKE e.g., =, !=, IN, COUNT, GROUP BY, DISTINCT سطح امنیتی DET AES in CMC equality JOIN join new scheme Eliptic curves e.g., >, <, ORDER BY, SORT, MAX, MIN order OPE Boldyreva et al.’09

18 Randomized encryption Deterministic encryption
Application Randomized encryption Deterministic encryption SELECT * FROM emp WHERE salary = 100 table1/emp SELECT * FROM table1 WHERE col3 = x5a8c34 col1/rank col2/name col3/salary Proxy x934bc1 x4be219 60 x5a8c34 x95c623 100 x84a21c ? x5a8c34 x2ea887 800 x5a8c34 x17cea7 100

19 Deterministic encryption
Application Deterministic encryption OPE (order) encryption SELECT * FROM emp WHERE salary≥100 table1 (emp) SELECT * FROM table1 WHERE col3 ≥ x638e54 col1/rank col2/name col3/salary Proxy x638e54 x922eb4 x1eab81 x934bc1 60 x5a8c34 100 x84a21c 800 x5a8c34 x638e54 x922eb4 100

20 کلید یکسان برای تمام عناصر یک ستون در یک لایه
پیازهای رمزنگاری SEARCH text value RND RND Onion Search each valu`e DET OPE OR JOIN OPE-JOIN value value HOM int value Onion Equality Onion Order Onion Add کلید یکسان برای تمام عناصر یک ستون در یک لایه برقرار پایگاه داده با امن‌ترین شمای رمزنگاری

21 SELECT * FROM emp WHERE rank = ‘CEO’;
مثال emp: rank name salary ‘CEO’ ‘worker’ table 1: RND col1-OnionEq col1-OnionOrder col1-OnionSearch col2-OnionEq DET JOIN RND RND SEARCH RND ‘CEO’ RND RND SEARCH RND Onion Equality SELECT * FROM emp WHERE rank = ‘CEO’;

22 SELECT * FROM emp WHERE rank = ‘CEO’;
مثال (ادامه...) table 1 RND col1-OnionEq col1-OnionOrder col1-OnionSearch col2-OnionEq DET DET JOIN RND DET RND SEARCH RND ‘CEO’ DET RND RND SEARCH RND Onion Equality SELECT * FROM emp WHERE rank = ‘CEO’; UPDATE table1 SET col1-OnionEq = Decrypt_RND(key, col1-OnionEq); SELECT * FROM table1 WHERE col1-OnionEq = xda5c0407;

23 دور انداختن لایه‌های پیاز
تعدیل رمزنگاری دور انداختن لایه‌های پیاز Proxy با استفاده از (user defined function) UDF کلید را در اختیار کارگزار قرار می‌دهد. Proxy لایه‌ی پیاز برای هر ستون را نگه می‌دارد. لایه‌های رمزگذاری شده دیگر قابل اعتماد نیستند.

24 طراحی کلی CryptDB تهدید 1 تهدید 2 Key Setup User1 Password1 DB Proxy
DBMS UDFs Application Key Setup User2 Password2 Active Keys: Password1 Annotated Schema Enc key Table Enc Data کاربران کارگزار Application CryptDB proxy server کارگزار DBMS

25 حفاظت در مقابل تهدید دوم
حمله بر روی کل کارگزارها کاربر 1 تهدید اول Proxy کارگزار DB کاربرد کاربر 2 SQL کاربر 3 کلمه ی عبور کاربر اجازه ی دسترسی کاربر به داده ها بر اساس خط مشی کنترل دسترسی مجاز است را می دهد. در طول حمله از داده های کاربران خارج سیستم محافظت می شود

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

27 مراجع E. Shmueli, R. Vaisenberg, Y. Elovici, and C. Glezer, “Database encryption: an overview of contemporary challenges and design considerations,” ACM IGMOD Record, vol. 38, no. 3, pp. 29–34, 2010. R. A. Popa, N. Zeldovich, and H. Balakrishnan, “CryptDB: A practical encrypted relational DBMS,” Technical Report MIT-CSAIL-TR , MIT Computer Science and Artificial Intelligence Laboratory, Cambridge, MA, 2011. L. Bouganim and Y. Guo, “Database encryption,” 2009. B. Iyer, S. Mehrotra, E. Mykletun, G. Tsudik, and Y. Wu, “A framework for efficient storage security in RDBMS,” Advances in Database Technology- EDBT 2004, pp. 627–628, 2004.

28


Download ppt "بررسی معماری های امن پایگاه داده از جنبه رمزنگاری"

Similar presentations


Ads by Google