a review on a database encryption paper

12
ﺑﺴﻢ اﷲ اﻟﺮﺣﻤﻦ اﻟﺮﺣﯿﻢ ﻣﺮور و ﻧﻘﺪ ﯾﮏ ﻣﻘﺎﻟﻪImplementing a database encryption solution: design and implementation issues ﻣﺤﻤﺪاﻣﯿﻦ ﺳﺎﻗﯽ زاده داﻧﺸﮕﺎه ﺻﻨﻌﺘﯽ ﻣﺎﻟﮏ اﺷﺘﺮ ﺗﺎﺑﺴﺘﺎن94

Upload: mohammad-amin-saghizadeh

Post on 15-Jan-2017

28 views

Category:

Software


3 download

TRANSCRIPT

Page 1: A Review on a Database Encryption Paper

الرحمن الرحیمبسم اهللا

یک مقاله مرور و نقدImplementing a database encryption solution: design and implementation issues

محمدامین ساقی زاده

دانشگاه صنعتی مالک اشتر

94تابستان

Page 2: A Review on a Database Encryption Paper

چکیده )1

است. هدف از این سند، بررسی نوآوري و ایده مطرح شده در این مقاله و مقایسه آن با راهکارهاي [1]این سند مروري بر مقاله

موجود از منظر نقات قوت و ضعف آن می باشد.

در مقاله مذکور، پنج رهیافت موجود در زمینه رمزنگاري پایگاه داده تحلیل و بررسی شده است. نشان داده شده که روش هاي

ارائه سطح امنیتی مطلوب، تاثیر قابل توجهی بر کارایی داشته یا اینکه به کارگیري آنها مستلزم اعمال تغییرات موجود علی رغم

عمده در برنامه هاي کاربردي موجودي است که از کارگزار پایگاه داده خدمات می گیرند. همچنین برخی از این روش از شفافیت

و کارایی قابل قبولی برخردارند، اما از آسیب پذیري ها و نقاط ضعف مختلفی نیز رنج ي) (نسبت به الیه کاربرد و برنامه هاي کاربرد

می برند.

) و در باالي DBMSروش جدید ارائه شده در این مقاله بر مبناي قرار دادن واحد رمزنگاري در درون نرم افزار مدیریت پایگاه داده (

) داده ها در Coordinatesنوآورانه رمزنگاري اطالعات با استفاده از مختصات (این سیستم، و یک روش ) Cacheحافظه نهان (

پایگاه داده می باشد. ادعا شده که این روش امنیت باالي داده و همچنین کارایی و شفافیت قابل قبولی را به ارمغان می آورد.

مقدمه )2

را متصور شده اند که در آن کاربر )client-serverاه (کارخو –جهت مشخص نمودن حیطه مسئله، نگارندگان یک سیستم کارگزار

ترکیبی از داده هاي حساس و غیر حساس را پایگاه داده مقیم در کارگزار ذخیره می کند. در این شرایط، سه نوع کلی آسیب

پذیري مرتبط با داده هاي کاربر در سیستم وجود دارد:

می توان یک کانال امن پیاده سازي نمود. در نتیجه در این کار به این SSLیا TLSبا استفاده از پروتکل داده هاي در حال انتقال.

مورد اشاره اي نمی شود.

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

مخاطره بیاندازد.

ه هاي اطالق می شود که به صورت غیر فعال در فایل هاي پایگاه داده ذخیره شده و درحال حاضر در به داد داده هاي ذخیره شده.

) حافظه نیستند.Residentحال پردازش یا مقیم (

راهکارهاي رمزنگاري پایگاه داده انتظار می رود که خواسته هاي متعددي از جمله محرمانگی داده ها، تشخیص تغییرات غیر از

ده ها و کارایی قابل قبول را برآورده کنند.مجاز در دا

چندین مورد در باب محرمانگی داده ها باید مد نظر قرار گیرد که از جمله آنها می توان به مدل مهاجم، حمالت فعال و مفهوم

ال را می توان ) اشاره کرد. تغییر غیرمجاز داده ها یا حمالت فعCryptographic Access Controlکنترل دسترسی بر پایه رمز (

) و حمالت تکرار Splicing Attacksحمالت مبتنی بر تغییر داده ها ()، Spoofing Attacks( تغییر هویتبه گروه هاي حمالت

)Reply Attacks.همچنین، یکی از ویژگی هاي مهم و جذاب در امر کنترل دسترسی پایگاه داده هاي چند ) دسته بندي کرد

کاربره که از رمزنگاري داده ها پشتیبانی می کنند، این است که هر کاربر تنها قادر به دسترسی به (رمزگشایی) داده هاي مجاز و

Page 3: A Review on a Database Encryption Paper

ه رمزنگاري یاد می شود که اگر روشی این قابلیت را ارائه مربوط به خود باشد. از این مفهوم تحت عنوان کنترل دسترسی بر پای

.آمددهد، مزیت برجسته اي براي آن به شمار خواهد

مکانیزم هاي امنیتی غالبا سربار محاسباتی قابل توجهی به سیستم تحمیل می کنند. از آنجا که عملکرد سیستم مدیریت پایگاه

ارد، این سربار تحمیل شده ممکن است مشکالتی را در سیستم اطالعاتی که از داده ها تاثیر مستقیمی در کارایی کل سیستم د

کارگزار بانک اطالعاتی سرویس می گیرد، به بار آورد. درنتیجه، هنگام تصمیم گیري در مورد اتخاذ یک رهیافت رمزنگاري، باید این

اري بهتر است به گونه اي باشد که از مکانیزم هاي سربار ها را در نظر داشت. همچنین، انتخاب و پیاده سازي یک راهکار رمزنگ

بهینه سازي مهم پایگاه داده از جمله شاخص ها پشتیبانی کند.

از افزون بر این، مطلوب است که تنها داده هاي حساس رمزنگاري شده و با رها کردن داده هاي غیر حساس به صورت فاش،

د به کارگزار پایگاه داده ممانعت به عمل آورد. به عنوان مثال، اگر تنها یک محاسباتی یا ذخیره سازي بی مورسربار تحمیل شدن

خصوصیت از یک پرس و جو محرمانه باشد، رمزنگاري و رمزگشایی کل رکورد (هاي) نتایج پرس و جو سربار غیر مفیدي به

سیستم تحمیل می کند.

موجود رمزنگاري پایگاه داده به صورت اجمالی بیان می ، راهکارهاي 3ادامه این سند بدین سان بخش بندي شده که در بخش

، پیرامون ویژگی هاي روش جدید از جمله نقاط 5معرفی شده است. در فصل 4گردد. نوآوري و روش پیشنهادي مقاله در بخش

یان می کارایی روش پیشنهادي در مقایسه با روش هاي موجود به اختصار ب، 6قوت و ضعف آن بحث شده است. سپس در بخش

نتایج این سند را بازگو می نماید. 7شود. در نهایت، فصل

راهکارهاي موجود )3

راهکارهاي رمزنگاري پایگاه داده را می توان بر اساس میزان اعتماد به کارگزار پایگاه داده، سطح ریزدانگی رمزنگاري و الیه اي که

این ویژگی ها به طور خالصه بررسی شده و راهکارهاي موجود بر رمزنگاري در آن انجام می گردد، دسته بندي کرد. در این بخش

اساس آنها اجماال تحلیل و بررسی می گردد.

اعتماد به کارگزار پایگاه داده )3-1

تقسیم کرد. )full-mistrustمیزان اعتماد به کارگزار پایگاه داده را می توان به سه دسته اعتماد کامل، اعتماد جزئی و عدم اعتماد (

در شرایط اعتماد کامل، کارگزار پایگاه داده همه امور را در دست داشته و از این بابت تهدیدي براي سیستم وجود ندارد. در موارد

از آنجا که کارخواه حتی از بابت اجراي پرس و جو ها نیز به کارگزار اعتماد ندارد، پرس و جوي خود را به صورت رمز عدم اعتماد،

رسال کرده و کارگزار نیز پرس و جوي رمز شده را روي داده هاي رمز شده اعمال می کند. از این مورد تحت عنوان پایگاه شده ا

) یاد می شود که غالبا سربار محاسباتی و ارتباطی قابل توجی را به سیستم تحمیل می کند. در DaaSداده به عنوان سرویس (

گاه داده و حافظه آن اعتماد شده اما به حافظه ثانویه و دسترسی خارجی به آن اعتماد نمی شرایط اعتماد جزئی نیز به کارگزار پای

شود.

Page 4: A Review on a Database Encryption Paper

ریزدانگی رمزنگاري )3-2

).Table) و جدول (Page)، صفحه (Record)، سطر (Cellسطوح ریزدانگی رمزنگاري در پایگاه داده غالبا عبارت است از: سلول (

بت به ریزدانگی هاي بزرگ تر دارا می باشد:ریزدانگی هاي کوچک تر مزایاي زیر را نس

) امکان رمز کردن داده حساس و رها کردن داده غیر حساس به صورت فاش وجود دارد.1(

رمزگشایی می شود. / رياز در زمان اجراي پرس و جو رمزنگا) تنها داده هاي مورد نی2(

ارد (رمزنگاري داده ها با کلیدهاي مختلف).) قابلیت پیاده سازي کنترل دسترسی بر مبناي رمزنگاري وجود د3(

با این وجود، اگر رمزنگاري با ریزدانگی هاي کوچکتر به درستی پیاده سازي نشوند، نسبت به ریزدانگی هاي بزرگ تر آسیب پذیري

بیشتري نسبت به حمالت نشت اطالعات و تغییر غیرمجاز داده ها خواهند داشت.

الیه هاي رمزنگاري )3-3

) نشان داده شده، عملیات رمزنگاري را می توان در الیه هاي مختلفی از سیستم انجام داد.1در تصویر (مانند آنچه

الیه هاي رمزنگاري – 1تصویر

Page 5: A Review on a Database Encryption Paper

/ در حافظه ثانویه توسط سیستم عامل انجام می نوشتن داده ها از/ در این الیه عملیات رمزنگاري هنگام خواندن سیستم عامل.

مزیت اصلی رمزنگاري در این الیه، شفافیت کامل عملیات رمزنگاري نسبت به کارگزار پایگاه داده و برنامه هاي کاربردي .گردد

موجود است. افزون بر این، این روش مقاومت باالیی نسبت به حمالت نشت اطالعات و تغییر غیرمجاز داده ها دارد چراکه تعداد

واحد عملیات رمزنگاري، رمز می شود. اما این روش داراي مشکالت کاستی هاي مهمی است: زیادي از اشیاي پایگاه داده در یک

) از آنجا که سیستم عامل از ماهیت و مفهوم داده ها مطلع نیست و مقدار زیادي از داده ها باهم در یک مرحله رمز 1(

سازي کرد.می شود، نمی توان کنترل دسترسی بر مبناي رمزنگاري را در این روش پیاده

) امکان رمزنگاري انتخابی (تنها رمز کردن داده هاي حساس و رها کردن باقی داده ها به صورت فاش) وجود ندارد (یا 2(

اینکه بسیار محدود خواهد بود).

Page 6: A Review on a Database Encryption Paper

) مدیر پایگاه داده جهت انجام عملیات مدیریتی باید به کلیدهاي رمزنگاري دسترسی داشته باشد.3(

ه هاي موجود در حافظه اصلی رمزگشایی شده و به صورت فاش مقیم هستند، این راهکار نسبت به ) از آنجا که داد4(

حمالت مربوط به داده هاي در حال پردازش آسیب پذیر است.

ک نوشته یا از آن خوانده می شود.در دیس به صورت رمز شدهدر این الیه نیز همانند سیستم عامل، صفحات تور ذخیره سازي.وم

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

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

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

با وجود اینکه رمزنگاري در سطح ریزدانگی سلول داده هاي حساس مختلف ممکن است با کلیدهاي مختلفی رمز شود و اي امر می

ه به هنگام انتقال صفح تواند امکان پیاده سازي رمزنگاري انتخابی و کنترل دسترسی بر مبانی رمزنگاري را فراهم آورد، اما در اینجا

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

اطالعات رمز شده نباشد نیز رخ می دهد. افزون بر این، این مسئله باعث کاهش کارایی این رهیافت در مقایسه با روش مبتنی بر

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

از سوي دیگر، چون عملیات رمزنگاري در این الیه، پایین موتور اجراي پرس و جو واقع شده است، عملیات رمزنگاري در این الیه از

االي آن (از جمله الیه کاربرد و برنامه هاي کاربردي) شفاف است.نسبت به موتور اجراي پرس و جوي و الیه هاي ب

) و همچنین Predefined Stored Procedures. در الیه عملیات رمزنگاري به وسیله رویه هاي از پیش تعریف شده (SQLواسط

پیاده سازي کرد و از ضفافیت خوب و ) صورت می پذیرد. با اینکه این رهیافت را می توان به سادگی View) و دید (Triggerرهانا (

قابل قبولی نسبت به الیه کاربرد برخوردار است، اما نقاظ ضعف آن را نیز باید مد نظر قرار داد:

) از آنجا که عملیات رمزنگاري در باالي موتور اجراي پرس و جو انجام می شود، ممکن است برخی سازوکارهاي مهم 1(

خارجی و غیره) به درستی عمل نکند.پایگاه داده (جمله شاخص، کلید

و SQL) بین Context Switch) [ادعا شده که] استفاده از رویه هاي ذخیره شده باعث اعمال یک تعویض محتوا (2(

.1زبان رویه ذخیره شده گردیده که این امر غالبا تاثیر منفی قابل توجهی روي کارایی کارگزار پایگاه داده خواهد داشت

هاي مهمی که این روش به وسیله آنها پیاده سازي می شود (رویه هاي ذخیره شده، رهانا و دید) ممکن ) مکانیزم 3(

است توسط یک مدیر پایگاه داده بدخواه غیر فعال گردد.

در این روش، اطالعات حساس قبل از ذخیره شدن در پایگاه داده، در برنامه کاربردي رمز شده و سپس برنامه کاربردي (کاربرد).

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

) زمانی اتفاق می افتد که کاربر جاري بخواهد یک تراکنش را ServerSQLدر پایگاه داده ( )Execution Context Switchingتعویض محتواي اجر ( 1

در نتیجه آن ) دیگري انجام دهد. در این شرایط، کارگزار پایگاه داده یک تعویض محتواي موقت انجام می دهد کهLoginبه نیابت از کاربر یا عامل ورود (

ا اشیاي عامل نایب مبادله می شود. اینکه این عمل تاثیر منفی قابل توجهی بر روي کارایی دارد مجازشماري ها و سایر اشیاي مربوط به عامل فراخوانده شده ب

درست است، اما عمل تعویض محتوا همواره و در هر فراخوانی لزوما انجام نمی گردد.

Page 7: A Review on a Database Encryption Paper

این رهیافت حداکثر انعطاف ممکن در پیاده سازي قابلیت کنترل دسترسی بر مبناي رمزنگاري و رمزنگاري انتخابی را به ارمغان می

ار عبارتند از:آورد. نقاط ضعف این راهک

) تغییر و بروزرسانی برنامه هاي کاربردي موجود جهت پیاده سازي این راهکار ممکن است پرهزینه و زمان بر باشد.1(

) از آنجا که داده ها در باالي موتور اجراي پرس و جو رمز شده اند، برخی از سازوکارهاي پایگاه داده ممکن است به درستی کار 2(

.2را به گونه اي در خود برنامه کاربردي شبیه سازي کرد نکند و باید آنها

) عمل پیاده سازي این راهکار، در هر برنامه کاربردي جدید نیز باید پیاده سازي شود (تکرار مکررات).3(

. با اینکه این در این سطح، کارخواه اطالعات خود را رمز کرده و از طریق برنامه کاربردي در پایگاه داده ذخیره می کند کارخواه.

روش حداکثر امنیت در مسئله مورد نظر این مقاله را به همراه دارد، اما در سناریو هاي محدودي می تواند مفید واقع شود. دلیل

ل یکه در صورت اتخاذ این رهیافت، پایگاه داده عمال به انباره اي از داده هاي نا مفهوم (از نظر پایگاه داده) تبداین امر نیز این است

شده و مزیت قابل توجهی در اختیار کارخواه و برنامه کاربردي او نمی گذارد.

معماري باالي نهان گاه )4

روش جدید، مؤلفه رمزنگاري در درون نرم افزار مدیریت پایگاه داده و در باالي حافظه نهان آن واقع شده و عملیات رمزنگاري در در

سطح ریزدانگی سلول و با ترکیب مقدار داده سلول و مختصات آن در پایگاه داده انجام می گردد. با این کار بهره وري سیستم باال

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

سیستم عامل و موتور ذخیره سازي این مزیت وجود ندارد.

نسلول، آسیب پذیري بیشتري نسبت به حمالت نشت اطالعات و تغییر غیرمجاز داده ها دارد. بدیاما رمزنگاري در سطح ریزدانگی

منظور، در روش جدید رمزنگاري داده ها با ترکیب داده سلول و مختصات سلول انجام می شود. همچنین، روش جدید نسبت به

الیه هاي باالیی خود شفاف است.

در الیه باالي نهان گاه، داده در زمان دسترسی به حافظه نهان رمزنگاري و رمزگشایی می شود. در این مدل، صفحات موجود در

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

می شود، قابلیت کنترل دسترسی مبتنی بر رمزنگاري فراهم است و می توان داده هاي مختلف موجود در نهان گاه را با کلیدهاي

منگاري انتخابی نیز در این الیه پشتیبانی می شود چراکه رمزگشایی یک نوع خاص از داده متفاوتی رمز کرد. همچنین، قابلیت رز

هاي موجود در نهان گاه، مستلزم رمزگشایی سایر داده ها نیست. به عالوه، چون عملیات رمزنگاري درست در باالي حافظه نهان

، وظایف خود را به درستی انجام می دهند.انجام می گردد، سایر الیه هاي باالي نهان گاه بدون نیاز به تغییر

) مانند سیستم هاي بانکداري، برخی Transaction Heavyدر سامانه هاي وظیفه سنگین (. نباشدنقطه ضعف در برخی سناریو ها این مورد ممکن است 2

. نمی گیرد) عمدا و به دلیل کاهش بار محاسباتی پایگاه داده مورد استفاده قرار Constraintاز مکانیزم هاي پایگاه داده از جمله کلید خارجی و محدودیت (

غیر شاخص مطلوب باشد، مورد عنوان شده توسط نگارنده نقطه ضعف به حساب به عنوان مثال اگر در یک سیستم بانکداري، رمز کردن یک یا چند فیلد

د و از این سازوکارها در سطح. چراکه در سیستم مفروض از ابتدا مکانیزم هاي کلید خارجی و محدودیت، در برنامه کاربردي شبیه سازي می شونمی آید

.نمی شودپایگاه داده استفاده

Page 8: A Review on a Database Encryption Paper

استفاده از مختصات سلول )4-1

هر سلول در پایگاه داده را می توان با یک سه تایی منحصر به فرد که از شناسه هاي جدول، سطر و سلول تشکیل شده، شناسایی

در روش جدید، داده هر سلول به ) گفته می شود. Cell Coordinatesکرد. در این مقاله به سه تایی مذکور، مختصات سلول (

همراه مختصات آن سلول رمز می شود. اي کار به دو دلیل انجام می شود:

ي رمز کردن داده هاي ) جهت پوشاندن ارتباط بین مقادیر داده و معادل رمز شده آنها بدین منظور که در نیتجه1(

.نشودیکسان، مقادیر رمز شده یکسانی تولد

ر رمز شده به محل آنها در پایگاه داده و جلوگیري از حمالت جایگذاري داده ها.) مقید کردن مقادی2(

خوشبختانه در اغلب نرم افزار هاي عملکرد صحیح این روش نیازمند وجود ثبات در مقادیر شناسه هاي جدول، سطر و سلول است.

)، شناسه هاي مذکور را تغییر نمی DMLیر داده ها (مدیري پایگاه داده موجود، این امر در اکثر موارد رعایت شده و دستورات تغی

) پایگاه داده این ثبات را برهم زده و Import/Exportدهد. اما برخی از عملیات خاص مانند تغییر کلیدها یا وارد / صادر کردن (

مل مجددا رمزنگاري شود.کل داده هاي موجود در پایگاه داده، باید قبل از انجام آن عمل خاص رمزگشایی، و پس از انجام آن ع

رمزنگاري / رمزگشایی )4-2

:باشد. تابع cو ستون r، سطر tداده موجود در جدول trcVفرض کنید ( * * )N N N N نیز یک مقدار منحصر به

تابع و غیره) است. AES, DESیک تابع رمزنگاري متقارن ( kEکلید رمزنگاري و K فرد بر اساس مقادیر شناسه ها تولید می کند.

kEnc ) تعریف شده است، داده یک سلول را براساس مختصات آن رمز می کند:1که با رابطه (

( ) ( ( , , )k trc k trcEnc V E t r c V (1)

) 2به صورت رابطه ( kDecباشد، تابع رمزگشایی kEتابع رمزگشایی متقارن معادل kDمقدار رمز شده فرض شده و xاگر

:تعریف می شود.

)2( ( ) ( , , ) ( )k trc k trc trcDec X t r c D X V

از آنجاکه هر داده سلول با مختصات همان سلول رمز شده است، تالش براي رمزگشایی یک مقدار رمز شده با مختصات نادرست

منجر به تولید داده نامعتبر و کشف حمله جایگذاري می شود. اما در مواردي که دامنه مقادیر مجاز سلول بسیار کوچک تر از دامنه

یا اینکه داه نامعتبر از داده معتبر قابل تمایز نباشد (داده هاي تصادفی مانند گذرواژه)، باید رمزنگاري ، نباشدمقادیر نوع داده اي آن

) انجام داد.3را به صورت تعریف شده در رابطه (

)3( ( ) ( ( , , ) || )k trc k rcEnc V E t r c V

Page 9: A Review on a Database Encryption Paper

تحمیل می کند که این امر، یک بده ) به سیستم 2) سربار ذخیره سازي قابل توجهی نسبت به رابطه (3پرواضح است که رابطه (

) بین امنیت بیشتر و حجم داده بیشتر است.Tradeoffبستان (

بحث و بررسی پیرامون روش جدید )5

در این بخش به تحلیل و بررسی اجمالی روش ارائه شده پرداخته می شود. موضوعات این بررسی عبارت از مزایا، معایب، سربار

سازوکارهاي مهم پایگاه داده می باشد.رمزنگاري و پشتیبانی از

مزایا )5-1

نقاط قوت اصلی این روش نسبت به رهیافت هاي موجود در ادامه عنوان شده است:

ي قرار گرفتن واحد رمزنگاري در باالي نهانگاه و استفاده از ریزدانگی سلول، این روش کارایی بیشتري ) در نتیجه1(

در هر دسترسی به نهانگاه، تنها داده هاي مورد نیاز رمزگشایی می شود.نسبت به راهکارهاي موجود دارد چراکه

) قابلیت رمزنگاري انتخابی فراهم است و دلیل آن، ریزدانگی در سطح سلول و قرار گرفتن واحد رمزنگاري در باالي 2(

حافظه نهان است.

یت می کند. دلیل تین امر، فراهم بودن قابل) روش ارائه شده از قابلیت کنترل دسترسی مبتنی بر رمزنگاري پشتیبانی 3(

رمز کردن داده هاي مختلف با کلیدهاي مختلف است.

به دلیل قرار گرفتن الیه جدید درست در باالي حافظه نهان، این روش نسبت به الیه هاي باالتر از خود (موتور ) 4(

ون نیاز به تغییر به کار خود ادامه خواهند داد.اجراي پرس و جو و برنامه هاي کاربردي) شفاف است و الیه هاي مذکور بد

بدلیل استفاده از رمزنگاري ترکیب شده با مختصات سلول، مقادیر داده اي یکسان در سلول هاي مختلف متن رمز )5(

هاي رمز شده متفاوتی تولید کرده و راهکار پیشنهاد شده را نسبت به حمالت تغییر غیرمجاز داده ها مقاوم تر می کند.

معایب )5-2

معایب اصلی راهکار پیشنهاد شده به قرار زیر است:

) با اینکه داده هاي موجود در کش به صورت رمز شده موجود است، اما ممکن است همین اطالعات به صورت فاش و رمزگشایی 1(

شده در حافظه اصلی مقیم باشد (پس از اجرا شدن پرس و جو).

یراتی در نرم افزار مدیریت پایگاه داده انجام شود.) براي پیاده سازي این روش، باید تغی2(

) پیش فرض بنیادي این روش، وجود اعتماد جزئی به کارگزار پایگاه داده است و این رهیافت در سیستم هاي پایگاه داده به 3(

بود. نخواهد) مفید و مؤثر SaaSعنوان سرویس (

ییر یافتن شناسه هاي جدول، سطر یا ستون می شود (مانند تغییر ) انجام برخی از عملیات خاص پایگاه داده که باعث تغ4(

است. کلیدهاو وارد / صادر کردن پایگاه داد) مستلزم رمزگشایی کل داده ها و رمزنگاري مجدد آنها پس از انجام عمل مذکور

Page 10: A Review on a Database Encryption Paper

µسربار ذخیره ساز تابع )5-3

، مقادیر متفاوتی را به ازاي مختصات متفاوت تولید خواهد کرد. این امر مقاوم بودن این طرح در µیک پیاده سازي ایده آل تابع

باید اعداد بزرگی تولید کند و این مسئله سربار µمقابل حمالت جایگذاري را تضمین می کند. اما جهت نیل به این هدف، تابع

راه عملی و مناسب براي برآوردن این امنیت این است که ابتدا ذخیره سازي قابل توجهی را به سیستم تحمیل خواهد کرد. یک

طول آن را )Cryptographic Hash Functionsعدد تصادفی را تولید کرده و سپس با استفاده از توابع درهم ساز رمزنگاري (

کاهش داد.

هاي غیر حساس بستگی دارد. به عنوان حجم سربار تحمیل شده به میزان داده هاي حساس در مقایسه با دادهدر روش ارائه شده،

) جهت رمزنگاري داده ها استفاده 1از رابطه ( داده ها حساس بوده و %20 اگرمثال (در مقاله اصلی به تفصیل بررسی شده است)

ین صورت ) جهت رمزنگاري داده ها استفاده شود، در ا3خواهد بود. اما اگر از رابطه ( %10، میزان سربار ذخیره سازي حدود شود

کل داده ها خواهد بود. %60حجم سربار تحمیل شده حدود

DBMSپشتیبانی از مکانیزم هاي مهم )5-4

در این بخش به بررسی شفافیت روش ارائه شده نسبت به سازوکارهاي مهم پایگاه داده پرداخته می شود. تمرکز این بحث به

است. مکانیزم هاي شاخص، رویدادنگاري و پشتیبان گیري معطوف شده

شاخص )5-4-1

در این رهیافت همانند راهکار مبتنی بر سیستم عامل می توان روي ستون هاي رمز شده شاخص تعریف کرد. دلیل این امر قرار

گرفتن واحد رمزنگاري در باالي نهانگاه است. همچنین از آنجا که تعریف کردن شاخص روي یک ستون مستلزم خواندن کل داده

خواندن داده ها به واسطه نهانگاه انجام خواهد گرفت، نتیجه امر کامال مانند این است که شاخص روي هاي آن ستون است و این

یک ستون فاش تعریف شده است (چراکه داده ها قبل از دریافت شدن از کش، رمزگشایی می شوند). به بیان دیگر، با اینکه

اده هاي فاش تعریف شده و به درستی عمل خواهد کرد.دادهاي ستون مورد نظر رمز شده است، اما شاخص در واقع روي د

رویدادنگاري، تراکنش و بازیابی )5-4-2

ACID) اطالعاتی در مورد تراکنش هاي اجرا شده در پایگاه داده را به منظور حفظ ویژگی هاي Transaction Logسابقه تراکنش (

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

دسترسی غیرمجاز حیاتی است و محرمانگی داده در آنجا نیز باید رعایت شود.

سابقه تراکنش غالبا به صورت یک فایل در دیسک (یا هر رسانه ذخیره سازي پایاي دیگر) ذخیره شده و حاوي سطرهایی می باشد.

فایل عبارت از شناسه سطر، شناسه سطر قبلی، شناسه تراکنش، نوع تراکنش و اطالعات اضافی است. در اطالعات هر سطر از این

)، نقطه Abort)، لغو (Commitایید ()، تCompensation)، جبران (Updateکل شش نوع تراکنش وجود دارد: بروزرسانی (

تراکنش، نوع بروزرسانی از اهمیت ویژه اي برخوردار است. ). از بین این شش نوع Completion) و تکمیل (Checkpointبررسی (

سطرهاي نوع بروزرسانی در فایل سابقه نشانگر یک تغییر در یک صفحه از پایگاه داده است و در بخش اطالعات اضافی شامل

شناسه فایل، شناسه صفحه، داده هاي قبل از تغییر (به صورت بایت) و داده هاي بعد از تغییر می باشد.

Page 11: A Review on a Database Encryption Paper

از آنجاکه داده هاي صفحات در حافظه نهان به صورت رمز شده نگهداري می شود، در نتیجه این رهیافت محرمانگی داده ها در

فایل ثبت سوایق تراکنش را نیز حفظ می کند. به عبارت دیگر، هنگام ساخت یک سطر بروزرسانی در فایل سوابق، داده هاي

نگاه خوانده می شود که این اطالعات به صورت رمز شده در حافظه نهان نگهداري می صفحات چه قبل و چه بعد از تغییر از نها

.شود. در نتیجه این داده ها نیز به صورت رمزشده در فایل ثبت سوابق نوشته می شود

پشتیبان گیري )5-4-3

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

در اعمال خاص ثابت باقی می ماند، می توان بدون نیاز به رمزگشایی و رمزنگاري مجدد داده ها عمل پشتیبان گیري را در این

روش انجام داد که این امر، بیان گر شفافیت راهکار ارائه شده نسبت به مکانیزم پشتیبان گیري پایگاه داده است.

نتیجه )6

سند به نقد و بررسی اجمالی یک راهکار جدید در زمینه رمزنگاري پایگاه داده پرداخته شده و مقاله مربوط به آن کار به در این

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

ی رغم ارائه سطح امنیتی مطلوب، تاثیر قابل توجهی بر کارایی داشته یا اینکه به کارگیري نشان داده شده که روش هاي موجود عل

آنها مستلزم اعمال تغییرات عمده در برنامه هاي کاربردي موجودي است که از کارگزار پایگاه داده خدمات می گیرند. همچنین

کاربردي) و کارایی قابل قبولی برخردارند، اما از آسیب پذیري ها برخی از این روش از شفافیت (نسبت به الیه کاربرد و برنامه هاي

و نقاط ضعف مختلفی نیز رنج می برند.

) و در باالي DBMSروش جدید ارائه شده در این مقاله بر مبناي قرار دادن واحد رمزنگاري در درون نرم افزار مدیریت پایگاه داده (

) داده ها در Coordinatesوآورانه رمزنگاري اطالعات با استفاده از مختصات () این سیستم، و یک روش نCacheحافظه نهان (

پایگاه داده می باشد. ادعا شده که این روش امنیت باالي داده و همچنین کارایی و شفافیت قابل قبولی را به ارمغان می آورد.

3و بررسی راهکارهاي موجود در بخش ، به معرفی2در این سند پس از بیان مقدمه و مشخص کردن حدود مسئله در بخش

که تمرکز اصلی این سند بر آن است، روش 5به صورت خالصه معرفی شد. در فصل 4پرداخته شد. سپس راهکار جدید در فصل

جدید ارائه شده در آن مقاله مورد بحث و نقد و بررسی از بابت مزایا، معایب و پشتیبانی از مکانیزم هاي مهم سیستم مدیریت

ایگاه داده قرار گرفت. پ

مراجع )7

[1] Shmueli, Erez, et al. "Implementing a database encryption solution, design and implementation

issues." Computers & security 44 (2014): 33-50.

Page 12: A Review on a Database Encryption Paper