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

Slides:



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

Querying Encrypted Data using Fully Homomorphic Encryption Murali Mani, UMFlint Talk given at CIDR, Jan 7,
SQL.1 CSE 4100 The SQL Database Grammar BNF Grammar for SQL /* The grammar rules that follow have been taken from */ /* "System R", Appendix II, M.M. Astrahan,
CryptDB: Protecting Confidentiality with Encrypted Query Processing by Raluca Ada Popa Catherine M. S. Redfield Nickolai Zeldovich Hari Balakrishnan MIT.
Sam Madden With a cast of many….
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.
91.309/310 Database I & II Prof. Cindy Chen. What is a database? A database is a very large, integrated collection of data. A database management system.
Securing Data Storage Protecting Data at Rest Advanced Systems Group Dell Computer Asia Ltd.
 Relational Cloud: A Database-as-a-Service for the Cloud Carlo Curino, Evan Jones, Raluca Ada Popa, Nirmesh Malaviya, Eugene Wu, Sam Madden, Hari Balakrishnan,
Database Application Security Models
Jolyon White GEC9, 4 th November 2010 Measurement Flow Architecture in OML.
Mohammad Ahmadian COP-6087 University of Central Florida.
Database Laboratory TaeHoon Kim. /25 Work Progress(Range Query) 2.
Eurotrace Hands-On The Eurotrace File System. 2 The Eurotrace file system Under MS ACCESS EUROTRACE generates several different files when you create.
Association of Computing Activities Computer Science and Engineering Indian Institute of Technology Kanpur.
Secure Cloud Database with Sense of Security. Introduction Cloud computing – IT as a service from third party service provider Security in cloud environment.
Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 5.1 © Copyright IBM Corporation 2008 DB2 9 Fundamentals.
Intro to SQL Management Studio. Please Be Sure!! Make sure that your access is read only. If it isn’t, you have the potential to change data within your.
SQL Server 2005 Implementation and Maintenance Chapter 3: Tables and Views.
Database Fundamental & Design by A.Surasit Samaisut Copyrights : All Rights Reserved.
Indexes and Views Unit 7.
Database Systems Lecture 1. In this Lecture Course Information Databases and Database Systems Some History The Relational Model.
1/18/00CSE 711 data mining1 What is SQL? Query language for structural databases (esp. RDB) Structured Query Language Originated from Sequel 2 by Chamberlin.
CryptDB: Protecting Confidentiality with Encrypted Query Processing
© 2008 Wipro Ltd - Confidential Grammar Test Framework DBMS-3 Leader : Harish Narayana / Minho Hwang Member : Sook-youn Kwon, Jong-hyeok Lim Yu-jin Bae,
Course title: Database-ii Chap No: 03 “Advanced SQL” Course instructor: ILTAF MEHDI.
© 2002 by Prentice Hall 1 Structured Query Language David M. Kroenke Database Concepts 1e Chapter 3 3.
SQL SATURDAY #444 – Kansas City, MO. A LOOK AT ALWAYS ENCRYPTED SQL SATURDAY #444 – KANSAS CITY, MO DAVE WALDEN PRINCIPAL SOLUTIONS ARCHITECT DB BEST.
1 Cloud Computing, CS Data in the Cloud: Data-as- a-Service for the Cloud.
Lecture 9 Using Structured Query Language (SQL) Jeffery S. Horsburgh Hydroinformatics Fall 2012 This work was funded by National Science Foundation Grant.
MPC Cloud Database with Sense of Security. Introduction Cloud computing – IT as a service from third party service provider Security in cloud environment.
Geographic Information Systems GIS Data Databases.
Data in the Cloud: Data-as-a-Service for the Cloud
Practical Private Range Search Revisited
Big Data Analytics over Encrypted Datasets with Seabed
Aga Private computer Institute Prepared by: Srwa Mohammad
Application Security Lecture 27 Aditya Akella.
CST221: Database Systems (II)
“Introduction To Database and SQL”
Principles of GIS Fundamental database concepts – II Shaowen Wang
An Introduction to database system
© The Author(s) Published by Science and Education Publishing.
DBMask: Fine-Grained access control on encrypted relational databases
PL/SQL LANGUAGE MULITPLE CHOICE QUESTION SET-1
The Database Exercises Fall, 2009.
Geographic Information Systems
The System Catalog Describing the Data Copyright © Curt Hill
Paul Jacobs The iSchool University of Maryland Thursday, Oct. 6, 2016
Using cryptography in databases and web applications
Always Encrypted in the Real World
SQL FUNDAMENTALS CDSE Days 2018.
“Introduction To Database and SQL”
برون‌سپاری پایگاه داده
Secure Database in cloud
אבטחת נתונים בסביבת SQL Data Security
The Relational Model Textbook /7/2018.
Chapter 7 Introduction to Structured Query Language (SQL)
Structured Query Language – The Fundamentals
Paul Jacobs The iSchool University of Maryland Thursday, Oct. 5, 2017
Authors:Debiao He, Sherali Zeadally, Neeraj Kumar and Wei Wu
Database Management Systems
CS 5412/Lecture 17 Leave No Trace Behind
SQL Server 2016 Security Features
Updating Databases With Open SQL
Lecture 1: Overview of CSCI 485 Notes: I presented parts of this lecture as a keynote at Educator’s Symposium of OOPSLA Shahram Ghandeharizadeh Director.
Data Independence Applications insulated from how data is structured and stored. Logical data independence: Protection from changes in logical structure.
Updating Databases With Open SQL
Geographic Information Systems
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

معماری کلی 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

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

شمای رمزنگاری 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

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

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

کلید یکسان برای تمام عناصر یک ستون در یک لایه پیازهای رمزنگاری 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 کلید یکسان برای تمام عناصر یک ستون در یک لایه برقرار پایگاه داده با امن‌ترین شمای رمزنگاری

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’;

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;

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

طراحی کلی 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

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

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

مراجع 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-2011-005, 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.