پایگاه داده پیشرفته
Download
1 / 70

پایگاه داده پیشرفته امنیت Advance Database System Security جناب آقای دکتر محمد حسین ندیمی - PowerPoint PPT Presentation


  • 359 Views
  • Uploaded on

پایگاه داده پیشرفته امنیت Advance Database System Security جناب آقای دکتر محمد حسین ندیمی دانشکده مهندسی کامپیوتر دانشگاه آزاد اسلامی واحد نجف آباد. مسئله ی امنیت، جنبه های مختلفی دارد:.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' پایگاه داده پیشرفته امنیت Advance Database System Security جناب آقای دکتر محمد حسین ندیمی' - kendall


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

پایگاه داده پیشرفته

امنیت

Advance Database System

Security

جناب آقای دکتر محمد حسین ندیمی

دانشکده مهندسی کامپیوتر

دانشگاه آزاد اسلامی واحد نجف آباد

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


مسئله ی امنیت، جنبه های مختلفی دارد:

  • جنبه های قانونی، اجتماعی و اخلاقی ( برای مثال، آیا فردی که میزان اعتبار یک مشتری را درخواست می کند، مجاز هست چنین در خواستی را انجام دهد یا خیر؟)

  • کنترل های فیزیکی (برای مثال، آیا اتاق کامپیوتر یا پایانه (Terminal) قفل است یا به شکل دیگری حفظ می شود؟)

  • پرسش های سیاسی (برای مثال، چگونه شرکت مالک سیستم تصمیم می گیرد که چه کسی به چه چیزی دستیابی داشته باشد؟)

  • مسئله های عملیاتی (برای مثال، آیا از روش کلمه عبور استفاده می شود، خود کلمه های عبور چگونه حفظ می شوند، و هر چند وقت یکبار تغییر می یابند؟)

  • کنترل های سخت افزاری (برای مثال، آیا سرویس دهنده (Server) ویژگی های امنیتی، مثل کلید های حفاظت حافظه، یا حالت عملیات حفاظت شده را فراهم می سازد؟)

  • پشتیبانی سیستم عامل (برای مثال، آیا سیستم عامل محتویات حافظه اصلی و فایل های دیسک را پس از کار کردن با آن ها پاک می کند – و درباره کارنامه ترمیم (Recovery Log) چطور؟)

  • نکاتی که به خود سیستم بانک اطلاعاتی مربوط می شود (برای مثال، آیا سیستم دارای مفهوم مالکیت داده ها است؟)

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


تعریف امنیت در پایگاه داده دارد:؟؟؟

  • امنیت به معنای حفاظت از داده ها در مقابل کاربران غیر مجاز و دستیابی غیر مجاز است.

  • محافظت از تلاش های تبهکارانه برای سرقت، تغییر و یا تخریب داده های بانک اطلاعاتی

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

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


تهدیدات امنیتی پایگاه داده دارد:؟؟؟

  • عمدی که شامل تمام تهدیداتی است که نتیجه تخلف عمدی کاربران و یا برنامه ها است. این کاربران می توانند کاربران مجاز سیستم و یا کاربران خارجی (که می توانند به صورت غیر مجاز به سیستم و منابع آن دسترسی داشته باشند) باشند. برنامه ها نیز می توانند هر برنامه محلی و یا هر برنامه از راه دور (شامل ویروس ها یا اسب تراوا و ...)باشند.

  • غیرعمدی که شامل تهدیداتی است که بر اثر نا آگاهی یا عدم دقت و کوتاهی افراد و نارسائی و کیفیت پایین برنامه ها رخ می دهد.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


امنیت و جامعیت در اصل کاملا متفاوتند؟؟؟

  • امنیت داده ها معمولا به میزان جامعیت داده ها بررسی می شود؟!؟!

  • امنیت به معنای حفاظت از داده ها در مقابل کاربران غیر مجاز است.

  • جامعیت به معنای حفاظت داده ها در مقابل کاربرا ن مجاز است.

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

  • جامعیت به معنای این است که اطمینان حاصل شود که کارهایی که کاربران می خواهند انجام دهند، درست است.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


شباهت های بین امنیت و جامعیت متفاوتند؟؟؟

  • در هر دو مورد لازم است سیستم درباره قیدهایی(Constraint) که کاربران نباید آن ها را نقض کنند، اطلاع داشته باشند.

  • در هر دو مورد درباره قیدها باید به طور اعلانی (Declaratively) در زبان مناسبی مشخص شوند و در کاتولوگ سیستم نگهداری گردند.

  • و در هر دو مورد، سیستم باید عملیات کاربران را نظارت کند تا تضمین شود که قید های مورد نظر اعمال شدند.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


DBMS متفاوتند؟؟؟های مدرن از یک یا دو روش امنیت داده ها پشتیبانی می کنند

  • کنترل دسترسی محتاطانه Discretionary

  • کنترل دسترسی الزامی Mandatory

  • کنترل دسترسی مبتنی بر نقش Role-Based

  • در هر دو مورد واحد داده یا « شیء داده ای Data Object» که نیاز به حفاظت دارد، می تواند کل بانک اطلاعات، یا مولفه خاصی از یک چندتایی (Tuple) باشد.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


تفاوت کنترل محتاطانه و کنترل الزامی

  • در کنترل محتاطانه، کاربر معمولا حقوق دستیابی (یا امتیازات) متفاوتی روی اشیای مختلف دارد؛ علاوه بر این، چندین محدودیت ارثی وجود دارد که، مشخص می کند کدام کاربران، چه مجوز هایی روی کدام اشیا دارند(مثلا کاربران U1 ممکن است بتوانند A را ببینند ولیB را نبینند، در حالی که کاربران u2 ممکن است قادر باشند B را ببینند ولی A را نبینند). طرح های محتاطانه، بسیار قابل انعطاف هستند.

  • در کنترل الزامی، هر شیء داده با یک سطح طبقه بندی(Classification Level)، برچسب گذاری می شود، و به هر کاربر یک سطح مجوز (Clearance Level) داده می شود. سپس یک شیء داده فقط می تواند توسط کاربرانی با مجوزهای خاص دستیابی شود. سیاست طرح های الزامی، ارثی است و در نتیجه، خیلی دقیق هستند (اگر کاربر U1 بتواند A را ببیند ولی نتواند B را ببیند، آنگاه طبقه B باید بالاتر از A باشد، ودر نتیجه کاربر U2 نمی تواند B را ببیند ولی A را نبیند).

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


اینکه کدام کاربران مجازند چه عملیاتی را روی اشیایی انجام دهند، تصمیمات سیاسی اند نه تکنیکی. بنابراین، خارج ار بحث DBMS هستند. DBMS می تواند این تصمیمات را اعمال کند.

نتیجه می شود که :نتایج آن تصمیمات سیاسی باید

الف) برای سیستم معلوم باشد (این کار با اعلان قید های امنیتی (Security Constraints) در زمان مناسب انجام می شود).

ب) باید توسط سیستم به یاد آورده شود (این کار با ذخیره آن قید ها در کاتالوگ انجام می شود).

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


Authorization subsystem
زیر سیستم احراز هویت عملیاتی را روی اشیایی انجام دهند، تصمیمات سیاسی اند نه تکنیکی. بنابراین، خارج ار بحث Authorization Subsystem

  • باید ابزارهایی برای بررسی درخواست های دستیابی در مقابل قید های قابل اعمال در کاتالوگ وجود داشته باشد. (منظور از درخواست های دستیابی، ترکیب عملیات درخواستی، به اضافه شیء درخواستی، به اضافه کاربر درخواست کننده است). این بررسی توسط زیر سیستم امنیتی(Security Subsystem) DBMS انجام می شود، که زیر سیستم احراز هویت (َAuthorization Subsystem) نامیده می شود.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


احراز هویت ؟؟؟ عملیاتی را روی اشیایی انجام دهند، تصمیمات سیاسی اند نه تکنیکی. بنابراین، خارج ار بحث

  • برای تعیین این که کدام قید ها به یک درخواست دستیابی قابل اعمال است، سیستم باید بتواند منبع(Source) آن درخواست را تشخیص دهد – یعنی باید کاربر درخواست کننده را تشخیص دهد. به همین دلیل وقتی کاربران وارد سیستم می شوند، باید ID کاربر و کلمه عبور را وارد کنند (ID کاربر مشخص می کند آن ها کی هستند و کلمه عبور اثبات می کند که ادعای آن ها درست است).

  • کلمه عبور را فقط سیستم و کاربران قانونی می دانند. فرآیند کنترل کلمه عبور – یعنی فرآیند شناسایی کاربر - احراز هویت نام دارد.

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

  • اثر انگشت خوان، اسکنر های شبکیه چشم، تصویرگرهای هندسی دست، اعتبار سنج های صوتی، تشخیص دهنده های امضاء و ...

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


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

  • به زبانی نیاز داریم تا قیدهای امنیت (محتاطانه) را تعریف کنیم.

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

  • مثال:

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


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

  • مجموعه ای از امتیازات که با بخش GRANT مشخص می شود.

  • Relvar که مجوز به آن اعمال می شود، به وسیله ی بخش ON مشخص می شود.

  • مجموعه ای از کاربران (یا به بیان دقیق تر، ID کاربران) که باید امتیازات خاصی روی relvar معینی به آن ها داده شود و توسط بخش TO مشخص گردد.

    ALL به معنای تمام کاربران شناخته شده اند.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


Privilege
هر عملیاتی را روی اشیایی انجام دهند، تصمیمات سیاسی اند نه تکنیکی. بنابراین، خارج ار بحث Privilege یکی از موارد زیر است

  • اگر لیست کامایی(Commalist) از صفات یا RETRIEVE مشخص شود، آنگاه امتیاز فقط به صفات مشخص شده اعمال می شود.

  • اگر کاربری سعی کند عملیاتی را روی شیءای انجام دهد که مجوز این کار را ندارد، چه اتفاقی می افتد؟؟؟

  • ساده ترین گزینه این است که از این کار جلوگیری شود (و پیغام خطای مناسبی صادر گردد)=> پیش فرض

  • در وضعیت های ویژه تر، می توان برنامه را خاتمه داد یا صفحه کلید کاربر را قفل کرد همچنین ممکن است ثبت این تلاش ها در کارنامه ای خاص (نظارت بر خطر)، برای تحلیل بعدی درباره نقض های امنیتی، و همچنین عبرت گرفتن از نفوذ غیر قانونی، مطلوب باشد.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


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

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

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


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

  • کاربران ذکر شده می توانند «زیر مجموعه عمودی» از متغییر ربطه ای پایه P را ببینند. مثالی از مجوز مستقل از مقدار Value- Independent

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


  • متغییر رابطه ای عملیاتی را روی اشیایی انجام دهند، تصمیمات سیاسی اند نه تکنیکی. بنابراین، خارج ار بحث LS برابر با دید «عرضه کنندگان لندن»

  • کاربران ذکر شده می توانند «زیر مجموعه افقی» از متغییر رابطه ای پایه S را ببینند.مثالی از مجوز وابسته به مقدار Value- Dependent.

  • همچنین توجه کنید گر چه این کاربران می توانند بعضی از چند تایی های عرضه کننده خاصی را حذف کنند (از طریق دید LS)، ولی نمی توانند آن ها را درج کنند و نمی توانند صفات S# و CITY را به هنگام کنند.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


  • نمونه ای دیگر از مثال وابسته به مقدار : کاربرGiovanniمی تواند اطلاعات عرضه کننده را بازیابی کند، اما فقط برای عرضه کنندگانی که قطعاتی را در Romeتولید می کنند.

  • کاربر Fidel می تواند کل کمیت های حمل را به ازای هر عرضه کننده ببیند، اما هر یک از کمیت های حمل را نمی تواند ببیند. بنابراین کاربر Fidel خلاصه آماری داده ی پایه مورد نظر را می بیند.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


  • در این مثال نحو( مقدار : کاربرSyntax) AUTHORITY را بسط می دهیم تا شامل بخش WHEN «کنترل های متن Context Control» را مشخص نماید.

  • مجوز EX5 تضمین می کند که مقادیر وضعیت عرضه کننده می تواند توسط کاربر Purchasing (یعنی هر کاربر موجود در اداره حسابداری)، فقط در روزی از هفته و در ساعات کاری تغییر یابد.

  • بنابراین این مثال نمونه ای از مجوز وابسته به متن است، زیرا یک دستیابی خاص وابسته به متن که در آن صادر شد، مجاز یا غیر مجاز است – در اینجا ترکیبی از روز هفته و زمانی از روز.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


  • مثال های دیگری از عملگرهای توکار( مقدار : کاربرBuilt-In) که احتمالا سیستم باید پشتیبانی کند و می تواند برای مجوز های وابسته به متن مفید باشد عبارتند از:

  • احتمالا از نظر مفهومی پی بردید که تمام مجوزها با هم OR می شوند.به عبارت دیگر، یک درخواست دستیابی خاص (یعنی ترکیب عملیات درخواستی به اضافه شیء درخواستی به اضافه کاربر درخواستی) قابل قبول است اگر و فقط اگر حداقل یکی از مجوزها، این اجازه را بدهد.

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

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


نتیجه گیری مقدار : کاربر

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

    اصلاح درخواست

  • هر درخواست QUEL قبل از اجرا به طور خودکار اصلاح می شود، به طوری که احتمالا نمی تواند قید های امنیتی را نقض کند.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


مثال: مقدار : کاربر

  • فرض کنید کاربر U اجازه دارد فقط قطعات ذخیره شده در لندن را بازیابی کند.

  • اکنون فرض کنید کاربر U درخواست QUEL را صادر می کند.

  • با استفاده از «اجازه ی» مشخص شده برای متغییر رابطه ای P و کاربر U، آن طوری که در کاتالوگ ذخیره شده است، سیستم به طور خودکار این درخواست را اصلاح می کند، به طوری که شبیه درخواست زیر است:

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


مزایا و امتیازات اصلاح درخواست مقدار : کاربر

  • این درخواست اصلاح شده احتمالا نمی تواند قید امنیتی را نقض کند.

  • فرآیند اصلاح «مخفی Silent» است: کاربر U خبر ندارد که سیستم در واقع دستوری را اجرا کرد که کمی متفاوت از درخواست اصلی اوست زیرا خود آن حقیقت ممکن است حساس باشد (ممکن است کاربر اجازه نداشته باشد که بداند قطعات غیر لندن وجود ندارند).

  • پیاده سازی آن آسان است زیرا اغلب کدهای مورد نیاز در سیستم موجود است.

  • کارآمد است زیرا تمام یا بخشی از سربار اعمال امنیت، به جای زمان اجرا، در زمان ترجمه وجود دارد.

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

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


معایب اصلاح درخواست مقدار : کاربر

  • در این روش ساده، تمام قیدهای امنیتی نمی توانند اداره شوند.

    مثال:فرض کنید کاربر U اصلا اجازه ندارد به متغییر رابطه ای P دستیابی داشته باشد. در این صورت، هیچ شکل «اصلاح شده ی» ساده ای از RETRIEVE اصلی نمی تواند این توهم Illusion(تصویر غلط) را حفظ کند که متغییر رابطه ای P وجود ندارد. درعوض، ممکن است لازم باشد پیام خطای صریح مثل «اجازه ندارید به این متغییر رابطه ای دستیابی داشته باشید»، صادر گردد. یا سیستم می توانست بگوید که «چنین متغییر رابطه ای» وجود ندارد. یا بهتر از این می توانست بگوید که «چنین متغییری وجود ندارد یا شما اجازه ندارید به آن دستیابی داشته باشید».

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


Define permit
نحو مقدار : کاربرDEFINE PERMIT

  • این دستور از نظر مفهومی «ادراکی» شبیه دستور AUTHORITY است، با این تفاوت که از بخش WHERE پشتیبانی می کند (بخش های AT ، FROM و ON توسط بخش WHEN جمع می شوند.

    مثال: توجه APPEND و REPLACE در QUEL به ترتیب متناظر با INSERT و UPDATE هستند.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


Audit trail
حسابرسی مقدار : کاربرAudit Trail

  • حسابرسی، اساسا یک فایل یا بانک اطلاعاتی خاصی است که سیستم به طور خودکار عملیات های انجام شده توسط کاربر بر روی داده ها را ذخیره می کند.

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

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

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

  • در هر حال کاربران باید بتوانند حسابری را با استفاده از زبان تقاضا، بررسی کنند (البته به شرطی که اجازه چنین کاری را داشته باشند).

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


نمونه ای از رکورد حسابرسی ممکن است شامل اطلاعات زیر باشد:

  • درخواست (متن اصلی یا متن منبع).

  • پایانه ای که عملیات از آن فراخوانی شد.

  • کاربری که عملیاتی را فراخوانی کرد.

  • تاریخ و زمان عملیات.

  • متغیرهای رابطه ای، چندتایی ها، و صفاتی که تحت تاثیر قرار گرفتند.

  • تصاویر قبلی (مقادیر قدیمی).

  • تصاویر بعدی (مقادیر جدید).

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

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


کنترل دستیابی الزامی است

  • به بانک های اطلاعاتی قابل اعمال است که در آن ها داده ها دارای ساختار طبقه بندی ایستا و دقیقی هستند، و در محیط های دولتی و نظامی چنین هستند.

  • ایده اصلی این است که هر شیء داده دارای یک سطح طبقه بندی است (مثل فوق سرّی، سرّی، محرمانه، و غیره)، و هر کاربر دارای یک سطح مجوز (با همان موارد مربوط به سطوح طبقه بندی) است.

  • فرض می شود که این سطوح، ترتیب دقیقی را ایجاد می کنند (مثل غیره< محرمانگی< سرّی< فوق سرّی)، سپس قوانین مربوط به Bell و La Padula، قابل اجرا هستند:

  • کاربر i فقط در صورتی می تواند شیءj را بازیابی کند که سطح مجوز i بزرگتر یا مساوی سطح طبقه بندی j باشد (خاصیت امنیتی ساده).

  • کاربر i در صورتی می تواند شیء j را به هنگام کند که سطح مجوز i برابر با سطح طبقه بندی j باشد (خاصیت ستاره).

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


توضیح قانون دوم است

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

  • چنین قانونی لازم است تا این که مثلا کاربری با طبقه بندی «سرّی» نتواند داده ها را در فایلی با طبقه بندی پایین تر کپی کند، زیرا در این صورت طرح طبقه بندی نقض می شود.

    توجه: از دیدگاه فقط عملیات «نوشتن» (INSERT) ، برای قانون دوم کافی است بگوییم کهسطح مجوز i باید کمتر یا مساوی سطح طبقه بندی j باشد، و این قانون در متون به همین صورت بیان می شود.

    اما، کاربران می توانند چیزهایی را بنویسند که نمی توانند بخوانند (یعنی افراد می توانند چیزهایی را بنویسند ولی نمی توانند آنها را بخوانند، احتمالا، شکل ضعیف تر، این قدر غیر واقعی نیست).

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


تاریخچه کنترل الزامی است

  • در دهه 1990 در دنیای بانک اطلاعاتی بسیار مورد توجه قرار گرفت، زیرا در آن زمان سازمان دفاع آمریکا می خواست هر سیستمی که می خرد از چنین کنترل هایی پشتیبانی کنند و در نتیجه فروشندگان DBMS، آن ها را پیاده سازی کردند.

  • کنترل های مورد نیاز در دو کتاب سازمان دفاع مستند سازی شدند: Orange Book و Lavender Book «تفسیری» از نیازمندی های TCB را برای سیستم های بانک اطلاعات تعریف کرد.

  • TCB (Trusted Computing Base)

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


Orange book lavender book
بیان خلاصه طرح طبقه بندی امنیتی کلی تعریف شده در دو کتاب Orange Book و Lavender Book

  • کلاس های امنیتی (رده های امنیتی) A، B، Cو D تعریف شدند.

  • کلاس D کمترین امنیت را دارد، کلاس C دارای حفاظت محتاطانه است، کلاس B دارای حفاظت الزامی است، و کلاس A دارای حفاظت وارسی (Verified Protection) شده است.

  • حفاظت محتاطانه: کلاس C به زیر کلاس C1 و C2 تقسیم می شود (که C1 نسبت به C2 امنیت کمتری دارد) هر دو از کنترل محتاطانه پشتیبانی می کنند، یعنی دستیابی در اختیار مالک داده ها قرار می گیرد.

  • کلاس C1 بین مالکیت و دستیابی تمایز قائل می شود – یعنی از مفهوم داده مشترک پشتیبانی می کند، در حالی که اجازه می دهد کاربران، داده های اختصاصی خودشان را داشته باشند.

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

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


حفاظت الزامی کلی تعریف شده در دو کتاب

  • کلاس B، کلاسی است که با کنترل های الزامی سروکار دارد. به کلاس های B1،B2وB3 تقسیم می شود (که B1 کمترین امنیت و B3 بیشترین امنیت را دارد):

  • کلاس B1 نیازمند «حفاظت امنیت برچسب دار» است (یعنی، در آن لازم است هر شیء داده، با برچسب طبقه بندی خود، مشخص شود. سرّی، محرمانه و غیره مشخص شود).علاوه بر این نیازمند حکم غیر رسمی درباره سیاست امنیتی است.

  • کلاس B2 به حکم رسمی نیز نیاز دارد. همچنین در آن لازم است کانال های مطلوب مشخص شده و حذف شده باشند. نمونه هایی از کانال های مطلوب عبارتنداز:

    الف) احتمال استنباط پاسخ به تقاضای غیر مجاز از پاسخ به تقاضای مجاز

    ب) احتمال استنتاج اطلاعات حساس، از زمانی که طول می کشد تا محاسبات مجازانجام شود.

    3. کلاس B3 علاوه بر سرپرست امنیت، نیازمند پشتیبانی حسابرسی و ترمیم است.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


حفاظت وارسی شده کلی تعریف شده در دو کتاب

  • کلاس A که بیشترین امنیت را دارد، نیازمند یک اثبات ریاضی است که مشخص کند یک راهکار امنیتی سازگار است و برای پشتیبانی از سیاست امنیتی مشخص شده، کافی است.

  • چندین محصول DBMS، از کنترل های الزامی در سطح B1 پشتیبانی می کنند. علاوه بر این، کنترل های محتاطانه را در سطح C2 فراهم می کنند.

  • DBMS هایی که از کنترل های الزامی پشتیبانی می کنند، سیستم های امن چند سطحی نامیده می شوند.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


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

  • با فرض اینکه واحد داده ای که می خواهیم دستیابی به آن را کنترل کنیم، یک چندتایی در آن متغییر رابطه ای باشد. لازم است هر چندتایی با سطح طبقه بندی خود برچسب گذاری شود (فوق سرّی = 4 ، سرّی = 3 ، محرمانه = 2 ،و غیره).

  • اکنون فرض کنید کاربران U3 و U2 به ترتیب دارای سطح مجوز 3(سرّی) و 2(محرمانه) هستند. آنگاه U3 و U2 متغییر S را متفاوت می بینند. اگر درخواست بازیابی تمام عرضه کنندگان، توسط U3 صادر شود، چهار چندتایی (برای S1،S2،S3وS5) را برمی گرداند، اما اگر این درخواست توسط U2 انجام شود،دو چند تایی (S1 و S3) برگردانده می شود. علاوه بر این هیچ کاربری ، چند تایی مربوط به S4 را نمی بیند.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


اصلاح درخواست کلی تعریف شده در دو کتاب

  • عرضه کنندگانی در لندن را بازیابی کنید.

  • درخواست بعد از اصلاح

  • همین ملاحظات درباره عملیات به هنگام سازی وجود دارند. برای مثال، کاربر U3 نمی داند که چندتایی برای S4 وجود دارد بنابر این برای آن کاربر INSERT زیر معقول به نظر می رسد.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


  • سیستم نباید این کلی تعریف شده در دو کتاب INSERT را رد کند، زیرا این کار به کاربر U3 می گوید که عرضه کننده S4 وجود دارد. لذا، آن را می پذیرد، ولی آن را به صورت زیر اصلاح می کند.

  • نکته: کلید اولیه برای عرضه کنندگان فقط {S#} نیست، بلکه ترکیب {S#,CLASS} است.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


  • متغییر رابطه ای عرضه کنندگان، مثالی از متغییر رابطه ای چندسطحی (Polyinstantiation) است.

  • این حقیقت که یک «داده» از نظر کاربران مختلف، متفاوت به نظر برسد، چند نمونه سازی نام دارد.با ردیابی INSERT که مورد بحث قرار گرفت.

    مثال:درخواست بازیابی عرضه کننده ی S4، یک نسخه را به کاربر U4 با مجوز فوق سرّی بر می گرداند، نتیجه دیگری را به کاربر U3 (با مجوز سرّی) بر می گرداند، و حتی نتیجه دیگری را به کاربر U2 (با مجوز محرمانه) بر می گرداند.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16)بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

5-16 ) رمز گذاری داده ها (Data Encryption)

مباحث قابل ارائه :

4-16 ) امکانات (SQL Facilities) SQL

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

بانک اطلاعاتی آماری ، یک بانک اطلاعات است که مجوزهای دسترسی به تقاضاهای درخواست شده از بانک می دهد

تعریف :

مجاز نیست

مجاز است

تقاضاهای اطلاعات انفرادی

مثال : حقوق شخصی برنامه نویس به نام احمد چقدر است

تقاضاهای اطلاعات تجمیعی

مانند مجموع – میانگین

مثال : میانگین حقوق برنامه نویسان چقدر است

مشکل اصلی این بانک ، این است که گاهی ممکن است با استنتاج(Deduction) از تقاضاهای مجاز ، پاسخ هایی غیر مجاز حدس زده شود. به این کار حدس زدن اطلاعات محمرمانه (Confidential) از طریق استنتاج می گویند.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

بیان مثالی از بانک های اطلاعات آماری:

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

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

  • فرض کنید کاربر U اجازه دارد فقط تقاضاهای آماری انجام دهد و هدفش این است که حقوق Alf را پیدا کند.

  • فرض کنید که کاربر U می داند که Alf یک مرد برنامه نویس است.

تقاضاهای زیرا در نظر بگیرد :

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

تقاضای (شماره 1) را در نظر بگیرید:

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

تقاضای (شماره 2) را در نظر بگیرید:

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

تقاضای (شماره 3) را در نظر بگیرید:

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

 کران بالا و پایین به صورت زیر بدست می آید:

کران پایین B=N/4: مقدار 2

کران بالا N-B : مقدار 8=2-10

  • بدیهی است که امنیت بانک اطلاعاتی به خطر خواهد افتاد ، گرچه کاربر U فقط تقاضای آماری صادر کرد.

  • همانطور که در مثال های بالا بیان شد ، اگر کاربر بتواند یک عبارت منطقی بیابد که فردی را مشخص نماید ، آنگاه اطلاعات مربوط به آن فرد ، دیگر امن نیست.

  • در تقاضای( شماره 1) این حقیقت را بیان می کند که سیستم نباید به تقاضایی پاسخ دهد که عدد اصلی بدست آمده از تقاضای درخواستی ، کمتر از کران پایین B باشد.

  •  در تقاضاهای(شماره 2و3) این حقیقت را بیان می کند که سیستم نباید به تقاضایی پاسخ دهد که عدد اصلی بدست آمده از تقاضای درخواستی بزرگتر از کران N-Bباشد. (N عدد اصلی رابطه ی در برگیرنده است ).

راه حل مشکل تقاضای (شماره 1) به صورت زیر است :

اگر مقدار اصلی را برابر با C در نظر بگیریم :

(C >= B)مقدار C باید از مقدار B بزرگتر باشد.

راه حل مشکل تقاضای (شماره 2و3) به صورت زیر است :

اگر مقدار اصلی را برابر با C در نظر بگیریم :

(C<=N-B)مقدار C باید از مقدار N-B کوچکتر باشد.

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

(8≥C≥2)(N-B≥C≥ (B

متاُسفانه ، به آسانی می توان نشان داد که محدود کردن تقاضاها به تقاضاهایی که برای آنها ، عدد اصلی C باید در بازه ی (N-B ≥ C ≥ (B باشد که به طور کلی برای اجتناب از به خطر افتادن بانک اطلاعات کافی نیست.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

مثالی از کران پایین :

با بیان رابطه دراسلاید قبل دیگر تقاضای زیر قابل قبول نخواهد شد.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

اما تقاضای زیر را در نظر بگیرید:

تقاضای شماره 7

تقاضای شماره 8

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

با توجه به تقاضاهای 7و8 ، کاربر U می تواند حدس بزند که دقیقا یک مرد برنامه نویس وجود دارد و در نتیجه باید Alf باشد(به دلیل اینکه کاربر U می داند که این توصیف متناسب با Alf است).

بنابراین می توان حقوق Alfرا به صورت زیر بدست آورد:

تقاضای شماره 10

تقاضای شماره 9

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

ردیاب فردی (IndividualTracker) :

اگر کاربر U عبارت بولی BE را بشناسد که فرد خاص I را مشخصکند.

مثال:عبارت بولی زیر

یک ردیاب فردی (individual tracker)برای Alf نامیده می شود ، زیرا به کاربر اجازه می دهد اطلاعات مربوط به خود Alf را ردیابی کند.

 حال اگر BE به صورتBE1ANDBE2 بیان شود مانند (تقاضاهای 1و2)

آنگاه عبارت بولی به صورتBE1ANDNOTBE2 ردیابی برای I است مانند ( تقاضاهای 7و8 - 9و10)

(به شرطی که هر دو عبارت قابل قبول باشند ، یعنی هر دو ، مجموعه های نتیجه با عدد اصلی C در بازه ی

(N-B≥C≥(Bرامشخص کنند .)

 با توضیحات فوق عبارت زیر بر قرار است:

{ X : BE } = {X : BE1 AND BE2 } = { X : BE1 } MINUS { X : BE1 AND NOT BE2 }

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

ردیاب کلی (GeneralTracker) :

  • ردیاب کلی (GeneralTracker) ، یک عبارت بولی است که می تواند برای یافتن پاسخ به هر تقاضای نامعتبر به کار رود(منظور تقاضای نامعتبر ، تقاضای حاوی عبارت نامعتبر است).

  • در حقیقت هر عبارتی که عدد اصلی C حاصل تقاضای مورد نظردر بازه ی

  • (N-2B ≥ C ≥ (2B

  • قرار دارد ، یک ردیاب کلی است (B باید کمتر از N/4 باشد).

  • توجه کنید که از تعریف فوق مشخص می شود که T ردیاب کلی است اگر و فقط اگر NOT ,Tنیز ردیابی کلی باشد.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

بیان مثال برای ردیاب کلی :

مرحله 1 : روی ردیاب T به صورت زیر حدس می زنیم :

مرحله 2 : تعداد کل افراد در بانک اطلاعات را تعیین می کنیم . این کار را با استفاده از عبارت T و NOT T انجام می دهیم :

به آسانی می توان دید که T یک ردیاب کلی است.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

مرحله 3: نتیجه ی جمع کردن (الف) تعداد افراد در بانک اطلاعاتی به اضافه (ب) تعداد افراد صدق کننده با عبارت نامعتبر BE به صورت BEORT وBEORNOTT بدست می آوریم :

مرحله 4: با توجه به نتایجی که تاکنون بدست آمد ، می دانیم که تعداد افراد صدق کننده در BE برابر یک است(نتیجه ی مرحله ی 3 منهای نتیجه مرحله 2) ، یعنی BE فرد Alf را به طور یکتا مشخص می کند..

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

مرحله 5 : کل حقوق افراد در بانک اطلاعات را با استفاده از عبارات T و NOT T بدست می آوریم :

مرحله 6 : مجموع حقوق Alf و کل حقوق را باستفاده از عبارات BE OR T و BE OR NOT T بدست می آوریم :

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) بانک های اطلاعات آماری مثالی از متغییر رابطه ای چندسطحی (STATISTICAL DATABASE

مرحله 7 : حقوق Alf را با تفریق کل حقوق (که در مرحله 5 محاسبه شد) از نتیجه ی مرحله 6 بد ست می آوریم :

778 – 728 = 50K

در کل ، ردیاب کلی از رابطه زیر بدست می آید :

نکته : اگر حدس اولیه غلط باشد T یک ردیاب کلی نیست.

نکته :امنیت در بانک اطلاعاتی آماری مسئله ی واقعی است ، بنابراین نیاز به راحل هایی داریم که بتوانیم امنیت این نوع بانک ها را پایدار نگه داریم ، مثال ارائه یک راه حل:

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

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


5-16 ) مثالی از متغییر رابطه ای چندسطحی (رمز گذاری داده ها (Data Encryption)

  • دلیل رمزنگاری اطلاعات در کامپیوتر:

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

  • برخی از اينگونه اطلاعات بشرح زير می باشند:

  • اطلاعات کارت اعتباری

  • شماره های عضويت در انجمن ها

  • اطلاعات خصوصی

  • جزئيات اطلاعات شخصی

  • اطلاعات حساس در يک سازمان

  • اطلاعات مربوط به حساب های بانکی

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


5-16 ) مثالی از متغییر رابطه ای چندسطحی (رمز گذاری داده ها (Data Encryption)

تعریف چندین اصطلاح درباره مفاهیم رمز گذاری داده ها :

  • رمز گذاري Encryption:• به پروسه ي تبديل يك متن ساده ((Plaintext به داده هايي كه كاملا تغيير يافته و بدون معني ( (ciphertextبه نظر مي رسند ، گفته مي شود.

  • رمزگشايي Decryption:• به پروسه ي تبديل متن رمزی (ciphertext)به متن ساده plaintext)) گفته مي شود.

  • الگوريتم هاي متقارن Symmetricalgorithms :• از يك كليد براي رمزگذاري و رمزگشايي استفاده مي كنند. مثال:DES (Data Encryption Standard)

  • الگوريتم هاي نامتقارن Asymmetricalgorithms :• از يك جفت كليد براي كدگذاري و رمزگشايي استفاده مي كنند. اين دو كليد با روابط رياضي به هم مربوط مي شوند اما توليد يكي از ديگري بسيار مشكل است. مثال : دیفی-هلمنوRSA

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


5-16 ) مثالی از متغییر رابطه ای چندسطحی (رمز گذاری داده ها (Data Encryption)

متنی که می خواهد رمز شود و کلید

(Plain Text And Key)

الگوریتم رمزنگاری

(Encryption Algoritm)

متن رمز شده

(Cipher Text)

1- جانشینی ( substitution )

2- جایگشت (Permutation)

3- روش DES (Data Encryption Standard)

با استفاده از ترکیب دو روش بالا

4- روش AES( Public Key)

با استفاده از الگوریتم RSA

روش های رمزنگاری

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


5-16 ) مثالی از متغییر رابطه ای چندسطحی (رمز گذاری داده ها (Data Encryption)

  • روش جاینشینی (substitution Method):

  • هر کاراکتر با استفاده از کلید رمز نگاری به رمز تبدیل شده و به جای آن کاراکتر دیگر قرار می گیرد.

مثال : فرض کنید متن ساده به صورت زیر باشد(برای سهولت فرض می کنیم که فقط با داده های کارکتری حروف بزرگ و فضای خالی کار می کنیم ).

فرض کنید کلید رمز نگاری به صورت زیر است:

  • فرض کنید الگوریتم رمز نگاری به صورت زیر است :

  • مرحله ی اول : متن ساده را به بلوک هایی با طول مساوی برابر با طول کلید رمز گذاری تنظیم می کنیم(فضای خالی ”+“ مشخص شده اند.)

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


5-16 ) مثالی از متغییر رابطه ای چندسطحی (رمز گذاری داده ها (Data Encryption)

  • مرحله دوم : به جای هر کاراکتر متن ساده ، یک مقدار صحیح در بازه ی 00 تا 26 قرار می دهیم (=00فضای خالی و A=01,…,Z=26 قرار می دهیم).

  • مرحله سوم : مرحله دوم را برای کلید رمز گذاری می کنیم.

  • مرحله چهارم : برای هر بلوک متن ساده ، به جای هر کاراکتر ، مجموع پیمانه 27 تمام کد گذاری صحیح و کد گذاری صحیح متناظر با کلید رمزی قرار می دهیم.

  • مرحله پنجم : به جای کد گذاری صحیح در نتیجه ی مرحله ی چهارم ، معادل کراکتر آن را قرار می دهیم.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


5-16 ) مثالی از متغییر رابطه ای چندسطحی (رمز گذاری داده ها (Data Encryption)

  • روش جایگشت (Permutation Method) :

  • رمزهاي جانشيني ترتيب کاراکتر های متن ساده را حفظ مي كنند ولي آنها را تغيير مي دهند. ولی رمز هاي جایگشتی ترتيب حروف را عوض مي كنند ولي آنها را تغيير نمي دهند.

مثال :

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


5-16 ) مثالی از متغییر رابطه ای چندسطحی (رمز گذاری داده ها (Data Encryption)

  • روشDES: این الگوریتم توسط IBM ایجاد شد و در سال 1977 توسط استاندارد فدرال امریکا پذیرفته شد.

  • تقسیم متن ساده به بلاک های 64 بیتی

  • تعیین کلیدهای 64 بیتی و هر کلید شامل

  • 56 بیت + 8 بیت به عنوان Parity که 256

    کلید وجود دارد.

  • بلوک با اعمال یک جایگشت به آن ، رمزنگاری می شود.

  • بلوک جایگشت شده در معرض دنباله ای از 16 مرحله جانشینی پیچیده قرار می گیرد.

  • جایگشت دیگری ، معکوس جایگشت اولیه ، در آخرین مرحله از نتیجه اعمال می شود.

  •  عیب این روش :

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

  • ممکن است کاملا امن نباشد.

خاصیت DES این است که ، الگوریتم رمز گشایی معادل الگوریتم رمز نگاری است ، با این تفاوت که Ki به ترتیب معکوس اعمال می شوند.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


5-16 ) مثالی از متغییر رابطه ای چندسطحی (رمز گذاری داده ها (Data Encryption)

  • روش AES (AdvancedEncryptionStandard):

  • در سال 2000 دولت آمریکا استاندارد جدیدی به نام استاندارد رمز نگاری پیشرفته (AES) را پذیرفت که مبتنی بر الگوریتم Rijndael است و از کلید های 128 و 192و یا 256 بیتی استفاده می کند.

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

  • کلید رمز گشایی نمی تواند از رمز نگاری حدس زده شود و لذا کسی که رمز نگاری اصلی را انجام می دهد نمی تواند رمز گشایی را انجام دهد.

  • طرح های عمومی شامل دو کلید هستند :

  • 1- رمز نگاری 2- رمز گشایی

  • ایده اصلی رمز نگاری کلید عمومی مربوط به Diffe و Hellman است.

  • ارائه یکی از بهترین طرح ها ، الگوریتم RSA (مربوط به Rivest,Shamir,Adleman) برای این روش است.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


5-16 ) مثالی از متغییر رابطه ای چندسطحی (رمز گذاری داده ها (Data Encryption)

شرح الگوریتم RSA :

  • مرحله 1 : به طور تصادفی دو عدد اول مجزای p و q را حدس می زنیم و حاصل ضرب r = p*q را محاسبه می کنیم.

  • مرحله پنجم : برای رمزنگاری بخشی از متن ساده p را با متن رمزی c جایگزین می کنیم ، که به صورت زیر محاسبه می شود. (

  • فرض کنید متن ساده ی p شامل مقادیر صحیح B باشد.

  • مرحله دوم : به طور تصادفی یک عدد e را حدس می زنیم که اولا نسبت به حاصل ضرب (p-1)*(q-1) اول است و ثانیا این عدد اول بزرگتر از (p-1),(q-1) است .

  • مرحله سوم : کلید رمز گشایی d را معکوس ضربی یکتای e به پیمانه (p-1)*(q-1) در نظر می گیریم.

  • مرحله ششم : برای رمز گشایی بخشی از متن رمزی c ، آن را با متن ساده ی pجایگزین می کنیم که به صورت زیر محاسبه می شود.

  • مرحله چهارم : مقادیر صحیح e,r را انتشار می دهیم ولی d را منتشر نمی کنیم.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) امکانات مثالی از متغییر رابطه ای چندسطحی ((SQL Facilities) SQL

  • SQL فقط از کنترل دستیابی محتاطانه پشتیبانی می کند.

  • دو ویژگی در SQL وجود دارند :

    • مکانیزم دید (View Mechanism):

    • که می تواند برای مخفی کردن داده های حساس از کاربران غیر مجاز به کار رود.

    • زیر سیستم احراز هویت (Authorization Subsystem) :

    • که به کاربران اجازه می دهد ، کاربرانی با امتیازات خاص بتوانند به طور انتخابی و پویا ، آن امتیازات را به کاربران دیگر واگذار کنندو یا آن امتیازات را پس بگیرند .

دیدها و امنیت ها (Views and Security) :

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

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) امکانات مثالی از متغییر رابطه ای چندسطحی ((SQL Facilities) SQL

دیدها و امنیت (Views and Security) :

این دید داده هایی را تعریف می کند که باید احراز هویت روی آن تعیین شودکه این کار توسط دستور GRANT انجام می شود.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) امکانات مثالی از متغییر رابطه ای چندسطحی ((SQL Facilities) SQL

دیدها و امنیت (Views and Security) :

SQL از چندین عملگر تو کار بدون عملوند پشتیبانی می کند CURRENT_USER,CUREENT_DATE,

CURRENT_TIME و ... ،که می توانند برای تعریف دیدهای وابسته به متن به کار روند.

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

مثال : ساختار یک برنامه کاربردی را در نظر بگیرید که اجازه دارد تمام قطعات لندن را پیمایش کند و نمایش دهد و همچنین اجازه دارد بعضی از آن ها را در حین پیمایش (مثلا قطعات قرمز رنگ) را به هنگام کند.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) امکانات مثالی از متغییر رابطه ای چندسطحی ((SQL Facilities) SQL

GRANT,REVOKE :

PRIVILEGE :

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

تمام امتیازاتی که برای یک شی ء تصور می شود ، به ایجاد کننده شیء داده می شود.

مثال : به ایجاد کننده ی جدول پایه T ، به طور خودکار امتیازات SELECT,INSERT,DELETE,UPDATE,REFRENCE,TRIGGER روی T داده می شود که علاوه بر این ، این امتیازات در هر مورد با مجوز واگذاری واگذار می شود(کاربر صاحب امتیاز می تواند آن را به دیگران واگذار کند.)

OBJECT :

OBJECTهای معتبر عبارتند ازTYPE<TYPE NAME>,

TABLE<TABLE NAME>

USER ID COMMALIST :

می تواند توسط کلمه کلیدی PUBLIC جایگزین شود (تمام کاربران توسط سیستم شناخته شده اند.)

یا نقش هایی که تعریف می کنیم و SQL از آن پیشتیبانی می کند (مانند ACCOUNTING افراد موجود در اداره ی حسابرسی.)

WITH GRANT OPTION :

به کاربران تعیین شده امتیازاتی روی شیء معین با مجوز گذاری داده می شود .

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) امکانات مثالی از متغییر رابطه ای چندسطحی ((SQL Facilities) SQL

REVOKE :

اگر کاربر A امتیازاتی را به کار به B واگذار نماید ، کاربرA می تواند آن را از کاربر B پس بگیرد. که پس گرفتن امتیازات به توسط دستور REVOKE انجام می گیرد.

GRANT OPTION FOR :

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

OPTION :

برابر RESTRICT,CASCADE می باشد.

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


4-16 ) امکانات مثالی از متغییر رابطه ای چندسطحی ((SQL Facilities) SQL

بررسی RESTRICT,CASCADE :

فرض کنید P امتیازی روی یک شیء باشد و کاربر A امتیاز P را به کاربر B واگذار می کند، که او نیز به نوبه ی خود این امتیاز را به کاربر C واگذار می کند.حال اگر A امتیاز P را از B پس بگیرد، چه اتفاقی برای امتیاز کاربر c می افتد.

؟

فرض کنید دستور REVOKE موفق شود آنگاه امتیازP که در اختیار کاربر C است می تواند لغو شود .

REVOKE منجر به امتیازات لغو شده می شود:

CASCADE : موجب می شود این امتیازات پس گرفته شود.

RESTRICT:اجتناب از امتیازات لغو شده است(موجب شکست دستور REVOKE می شود.)

Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


Advance Database System lectures, Dr. Mohammad مثالی از متغییر رابطه ای چندسطحی (HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University


ad