حمله لایه گذاری اوراکل کیست؟ توضیح بده.
در رمزنگاری ، حمله لایه گذاری اوراکل یک حمله ایی است که از صحت لایه گذاری یک پیام رمزنگاری شده استفاده می‌کند ، تا متن رمزی را رمزگشایی کند.در رمزنگاری، معمولا پیام های با متن ساده و با طول متغیر باید فاصله گذاری شوند (بزرگ تر شوند) تا بتوانند با اصول رمزگذاری اولیه سازگار شوند. این حمله به یک "لایه گذاری اوراکل" وابسته است که بتواند آزادانه به رشته های درباره اینکه آیا متن به درستی فاصله گذاری (لایه گذاری) شده است یا نه، جواب بدهد. حملات Padding Oracle بیشتر با رمزگشایی حالت CBC که در رمزهای بلوکی استفاده می شود، مرتبط هستند.حالت های لایه گذاری (فاصله گذاری) برای الگوریتم های نامتقارن ,مانند OAEP هم ممکن است نسبت به این حملات آسیب پذیر باشند. رمزنگاری متقارن.در رمزنگاری متقارن، حمله اوراکل padding ("لایه گذاری اوراکل") را می‌توان در حالت عملیات CBC وارد کرد ، جایی که « اوراکل » (معمولاً یک سرور است) اطلاعات را در خصوص اینکه آیا فاصله گذاری (لایه‌بندی) یک متن رمزنگاری شده صحیح است یا نه نشر میکند. این اطلاعات می‌تواند به حمله کننده ها این امکان را بدهد که متن را از طریق اوراکل با استفاده کردن از کلید اوراکل رمزگشایی و حتی بعضی مواقع رمزگذاری کنند،حتی بدون دانستن کلید رمزگذاری.حمله "لایه گذاری اوراکل" بر روی رمزگذاری CBC.پیاده سازی مرسوم و معمول در رمزگشایی CBC در رمز های بلوکی این است که ، تمام بلوک های متن رمز شده را رمزگشایی کنیم ، فاصله گذاری (لایه گذاری) را تایید کنیم ، لایه گذاری (فاصله گذاری) PKCS7 را حذف کنیم و متن ساده پیام را برگردانیم. اگر سرور ارور " فاصله گذاری(لایه گذاری) نامعتبر " به جای یک ارور عمومی "رمزگشایی انجام نشد"(«invalid padding») داد ، حمله کننده می‌تواند از سرور به عنوان یک "لایه گذاری (فاصله گذاری) اوراکل" استفاده کند تا پیام را رمزگشایی یا حتی بعضی مواقع رمزگذاری کندفرمول ریاضی رمزگشایی CBC به صورت زیر است ːهمانطور که در بالا نشان داده شده است، رمزگشایی CBC هر بلوک متن ساده را با بلوک قبلی خودش XOR می کند.که در نتیجه، یک تغییر و تبدیل تک بایتی در بلوک formula_3 یک تغییر متناظر را به یک بایت در داخل formula_4 انجام خواهد داد .رمزگذاری پیام ها با حمله "لایه گذاری اوراکل" (CBC-R).CBC-R یک طرح اوراکل رمزگشایی را به یک اوراکل رمزگذاری تبدیل می‌کند و این در درجه اول در برابر "لایه گذاری اوراکل" نشان داده می‌شود.با استفاده از CBC-R, padding oracle attack می‌تواند یک بردار اولیه و یک بلوک متن رمزی را برای هر متن ساده ای را ایجاد کند:حمله CBC-R در مقابل یک نمونه طرح رمزگذاری که ، متن رمزی (با استفاده از پیام کد احراز هویت پیام () یا همانند ان) را پیش از رمزگشایی تصدیق می کند، کار نخواهد کرد.حملات با استفاده از لایه گذاری اوراکل.اولین حمله اصلی در سال 2002 توسط .منتشر شد. نمونه های دیگری از حمله بعدا در برابر SSL و IPSec شناخته شدند. این همچنین برای چند فریم شبکه, مانند JavaServer Faces ، Ruby on Rails و ASP ارائه شد. NET و نرم افزار های دیگر همچون، سرویس گیرنده بازی مشتری Steam . در سال 2012 نشان داده شد که این در برابر برخی از دستگاه های امنیتی سخت تر کارآمد است. درحالی که این حملات اولیه بیشتر توسط پیاده‌کننده‌های TLS پس از اعلام عمومی آن برطرف شد، یک گونه جدید به نام ، حمله سیزده خوش شانسی ، که در سال 2013 منتشر شد، که از یک زمانبندی کانال جانبی استفاده کرد تا دوباره نقاط آسیب پذیر را حتی در پیاده سازی هایی که قبلا درست شده بودند باز کند. در اوایل 2014, این حمله دیگر به عنوان یک خط جدی و مرگبار در کارهای واقعی بحساب نمی‌آید اگرچه هنوز در تئوری قابل اجراست( نسبت سیگنال به نویز را مطالعه کنید ) دربرابر دسته خاصی از ماشینها. فعال ترین حوزه توسعه دربرابر حمله به پروتکل (دستور عمل) رمزنگاری برای ایمن کردن ترافیک اینترنت حمله های حملات کاهش رتبه() ، مانند حملات Logjam و RSA/FREAK بودند که مشتری را فریب می دهند تا از دستورای رمزنگاری هایی استفاده کنند که برای سازگاری با مشتریان قدیمی ارائه شده است و ایمنی کمتری دارند ، درحالی که روش های ایمن تری نیز وجود دارند . یک حمله به اسم POODLE ( در اواخر 2014) هر دو حمله کاهش (down grade)(به SSL 3.0) را با یک حمله padding oracle باهم در پروتکل قدیمی و ناامن ترکیب می کند تا داده های ارسال شده را به خطر بیندازد. در اردیبهشت 2016 ،در CVE-2016-2107 معلوم شد که راه حل دربابر مشکل LUCKY THIRTEEN در openSQL , "لایه گذاری اوراکل" دیگری را معرفی کرد.