RND - دانشگاه صنعتی شریف
Download
Report
Transcript RND - دانشگاه صنعتی شریف
بررس ی معماری های امن
پایگاه داده از جنبه رمزنگاری
دانشگاه صنعتی شریف
دانشکده مهندس ی کامپیوتر
ارائه درس امنیت پایگاه داده
روح هللا محفوظی
محمد علی کارگر
خرداد 1391
نمای کلی
2
مقدمه
چالشهای رمزنگاری پایگاه داده
سطوح رمزنگاری
مدیریت کلید
استراتژی رمزنگاری
معماری شرکت IBM
مروری بر معماری CryptDB
تهدیدات موجود
الیههای رمزنگاری
شماهای رمزنگاری
مراجع
مقدمه
3
هدف
استفاده از تکنیکهای رمزگذاری برای ناخوانا شدن و استخراج نکردن اطالعات مگر
برای کسانی که به کلید دسترس ی دارند.
اهمیت رمزگذاری پایگاه داده
چالش ها
حفاظت از داده در برابر تهدیدات داخلی و خارجی ،اطالعات محرمانه تجاری ،مشتریان
و مصرف کنندگان اطالعات ،اطالعات کارمندان
جدایی وظایف
صحت ،محرمانگی
و البته حفاظت از اطالعات حساس
سربار رمزنگاری ،مدیریت کلید ،حمله های موجود ،تنظیمات رمزگذاری ،ریزدانگی
رمزگذاری ،نگهداری کلید
چالش های رمزنگاری پایگاه داده
4
انواع حمله
حمالت انفعالی – نشت آماری ،نشت اتصالی
حمالت فعال – جعل ،اتصال دادن ،تکرار
سربار رمزنگاری
رمز اطالعات حساس
تنها اطالعات مورد نیاز در هنگام اجرای یک پرسش رمز شوند.
رمزگذاری بر روی اندیس بسته به کاربرد
حجم اطالعات رمز شده در مقایسه به اطالعات اصلی
چالش های رمزنگاری پایگاه داده -ادامه
5
مدیریت کلید رمزنگاری
کنترل دسترس ی رمزنگاری -دسترس ی به پایگاه داده توسط کاربرهای متفاوت و توسط
کلیدهای متفاوت.
حفظ کلید بصورت امن
بازیابی کلید
سطوح رمزنگاری
6
سطح فایل های سیستمی
رمز کل داده های ذخیره شده
نیاز به تغییر الیه های باالتر نیست
عدم استراتژی مرتبط به حقوق کاربران
سطوح رمزنگاری
7
سطح سیستم مدیریت پایگاه داده
رمزنگاری در پایه جداول ،سطر و ستون
جلوگیری از حمله نشر آماری و نشر پیوندی
سطوح رمزنگاری
8
سطح برنامه کاربردی
جداسازی کلیدهای رمزنگاری از داده های رمز شده در پایگاه داده
عدم امکان اندیس گذاری
مدیریت کلید
9
نحوهی تولید کلید رمزنگاری و مدیریت آن در طول مدت عمرش
استراتژی رمزنگاری
10
داخل DBMS
خارج DBMS
کمترین تأثیر بر روی نرم افزار کاربردی
نگهداری کلیدهای رمزنگاری در جدول پایگاه
داده
پایین آمدن کارایی
سربار ارتباطی
باید سرورهای بیشتری را کنترل کند.
برای جداکردن کلیدها یک سخت افزار دیگر
مانند HSMمورد نیاز است.
حذف سربار محاسباتی از DBMSو سرورهای
نرم افزار کاربردی
جداسازی داده رمزشده و کلید رمزشده
معماری رمزنگاری شرکت IBM
11
اجزاء:
•
•
•
IBM
کارگزار امنیتی EE
عامل برون خطی امن EE
عامل برخط فایل سیستمی امن EE
فایلهای پشتیبان
کاربران مجاز
SSL
x.509 Certificates
مدیریت وب
نرم افزار های کاربردی
عامل برخط
https
عامل برون
ککک خطکارگزار DBMS
پایگاه داده
فایل سیستمی
کارگزار EEشرکت IBM
کلید ،سیاست،
مخزن
ثبت ممیزی
کارگزار امنیتی
• مدیریت سیاست و کلید
عاملهای EE
• برقراری ارتباط با کارگزار امنیتی
برای اعمال سیاست
• ثبت ممیزی متمرکز
• رمزنگاری داده ،کنترل کردن
دسترس ی
• ارتباط عامل تصدیق شده
• فرستادن رخدادهای امنیتی به
کارگزار
• دسترس پذیری باال
فایلهای برخط
مروری بر معماری CryptDB
12
CryptDBچیست؟
13
CryptDBیک سامانه واسط بین DBMSو کاربر است
طراحی شده برای تأمین محرمانگی داده ها در برنامه هایی که از DBMS
استفاده می کنند
مبتنی بر رمزنگاری پایگاه داده
پرس و جو ها به صورت رمز شده به پایگاه داده ارسال می شود
تهدیدات موجود
14
تهدید :2حمله بر روی کل کارگزارها
DBA
کاربر 1
کاربر 2
کاربرد ()App
SQL
کاربر 3
مدیر پایگاه داده کنجکاو
تالش برای خواندن اطالعات خصوص ی
مانند اطالعات پزشکی افراد ،قراردادهای مالی ،و ...
تبانی Applicationو DBMS
حمله کننده دسترس ی کامل به برنامه کاربردی و DBMSدارد
تهدید :1حمله بر روی
DBMS
کارگزار DB
CryptDB معماری کلی
15
1 تهدید
2 تهدید
User1
Password1
DB Proxy
UDFs
DBMS
Application
Key Setup
User2
Password2
کاربران
Active Keys:
Password1
Application کارگزار
Annotated
Schema
CryptDB proxy server
Enc Data
Enc key Table
DBMS کارگزار
الیه های رمزنگاری
16
الیه های مختلف رمزنگاری در CryptDBبر روی دادههای ذخیره شده
اعمال میگردد
با توجه به نیاز کاربرد این الیهها ممکن است از رمز در بیایند
برای رمزگشایی هر الیه از کلید آن الیه و توابع UDFاستفاده میشود
به این ساختار الیه بندی در CryptDBپیاز اطالق میشود
شمای رمزنگاری
17
سطح امنیتی
بیشتر
Scheme
Construction
Function
RND
AES in CBC
none
HOM
Paillier
+, *
SEARCH
Song et al.,’00` word search
سطح امنیتی
DET
JOIN
OPE
AES in CMC
new scheme
Boldyreva et al.’09
equality
join
order
e.g., sum
restricted LIKE
e.g., =, !=, IN,
COUNT, GROUP BY,
DISTINCT
Eliptic curves
e.g., >, <, ORDER BY,
SORT, MAX, MIN
Application
Deterministic
Randomized
encryption
18
SELECT * FROM emp
WHERE salary = 100
table1/emp
Proxy
SELECT * FROM table1
WHERE col3 = x5a8c34
col1/rank col2/name
col3/salary
x934bc1
x4be219
60
x5a8c34
x95c623
100
x5a8c34
?
x84a21c
x2ea887
800
x5a8c34
x5a8c34
x17cea7
100
Application
Deterministic
OPE (order)
encryption
19
SELECT * FROM emp
WHERE salary≥100
Proxy
table1 (emp)
SELECT * FROM table1
WHERE col3 ≥ x638e54
x638e54
x922eb4
x638e54
col1/rank col2/name
col3/salary
x934bc1
x1eab81
60
x5a8c34
x638e54
100
x84a21c
x922eb4
800
x638e54
x5a8c34
100
پیازهای رمزنگاری
20
SEARCH
text value
each
valu`e
RND
DET
JOIN
RND
OPE
OPE-JOIN
value
value
Onion Search
OR
HOM
int value
Onion Equality
Onion Order
Onion Add
کلید یکسان برای تمام عناصر یک ستون در یک الیه
برقرار پایگاه داده با امنترین شمای رمزنگاری
مثال
emp:
21
rank
name
salary
‘CEO’
‘worker’
table 1:
RND
DET
JOIN
‘CEO’
col1OnionEq
col1OnionOrder
col1OnionSearch
RND
RND
SEARCH
RND
RND
RND
SEARCH
RND
Onion Equality
SELECT * FROM emp WHERE rank = ‘CEO’;
col2OnionEq
…
…
…
)...مثال (ادامه
22
table 1
RND
DET
DET
JOIN
‘CEO’
col1OnionEq
col1OnionOrder
col1OnionSearch
col2OnionEq
RND
DET
RND
SEARCH
RND
RND
DET
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 الیهی پیاز برای هر ستون را نگه میدارد.
الیههای رمزگذاری شده دیگر قابل اعتماد نیستند.
CryptDB طراحی کلی
24
1 تهدید
2 تهدید
User1
Password1
DB Proxy
UDFs
DBMS
Application
Key Setup
User2
Password2
کاربران
Active Keys:
Password1
Application کارگزار
Annotated
Schema
CryptDB proxy server
Enc Data
Enc key Table
DBMS کارگزار
حفاظت در مقابل تهدید دوم
25
حمله بر روی کل کارگزارها
کاربر 1
تهدید اول
کارگزار DB
SQL
Proxy
کاربرد
کاربر 2
کاربر 3
کلمه ی عبور کاربر اجازه ی دسترس ی کاربر به داده ها بر اساس خط مش ی
کنترل دسترس ی مجاز است را می دهد.
در طول حمله از داده های کاربران خارج سیستم محافظت می شود
خالصه CryptDB
26
محرمانگی دادهها
حفاظت در مقابل دو نوع تهدید اصلی در پایگاه داده
انعطاف پذیری برای کاربردهای مختلف
اضافه کردن مقداری افزونگی
در مقابل حمالت فعال آسیب پذیر است
نشت اطالعات افراد وارد شده به سیستم
مراجع
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-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 TechnologyEDBT 2004, pp. 627–628, 2004.
28