Інструменти розробника · SHA калькулятор хешу
Подовжувачі довжини: Чому SHA-256(secret + повідомлення) Чи не є MAC
· Чому це питання
Опубліковано ToolAcre · Редакція журналу
шемале256 криптографія безпека

Перед закінченням секрету повідомлення і заслуховує його схожість, але SHA-256's структура дозволяє атакувати повідомлення, не знаючи секрету. Цей пост пояснює атаку і фіксацію.
Саморобний підпис запиту — хеш (секрет + тіло) і чому він відчуває себе безпечним
Розробник потребує автентифікації повідомлень, але не вистачає HMAC знання, щоб вони співпадали секрет з повідомленням і поспішають результат. Цей підхід виглядає безпечно в першу чергу: вихід - це фіксований розмір відбитків пальців, які повинні змінити, якщо хтось змінює повідомлення. Однак, SHA-256 має архітектурний недолік, що називається розширенням довжини, що дозволяє атакувати дані, що надходять до повідомлення, і не знаючи секрету. Про нас ToolAcre SHA hh калькулятор обчислює звичайні трави тільки, не ключів автентифікації, тому що ця відмінність стосується реальної безпеки.
Перед закінченням секрету перед подачею є інтуїтивно зрозуміле звернення, оскільки тільки секретний тримач може перенести хеш. Якщо зміни повідомлення теж змінюють хеш, то це виглядає як доказ автентичності. Анжела API може записати запити, які стосуються спільного секрету та органу запиту, а потім послухати результат і в тому числі, що має запит. Сервер отримує тіло, повертає хеш з його копіюванням секрету і перевіряє, чи відповідає він. Якщо атакуючий змінює тіло, хеш не буде відповідати, або так розробники думають.
Merkle-Damgård витікає його стан — фінальний дайджест — внутрішня держава, тому атакуючий може триматися з тих, де ви припинили
SHA-256 належить до сім'ї, що називається Merkle-Damgård хеш функції. Ці функції вводять в блоках фіксованого розміру, керуючись функцією стиснення, яка бере попередній стан і поточний блок і виводить новий стан. Функція стиснення є єдиною криптографічною примітивною всередині; стратегія ланцюгування і схема набивання роблять всю будівельну роботу. Остаточний дайджест просто кінцевий стан, надрукований в шістнадцятковому режимі. Це не випадково: вихід є внутрішньою державою. Будь-який, хто бачить дайджест, має точний стан, необхідний для продовження від цієї точки.
Щоб продовжити повідомлення, атакуючий починається з спостерігаючого засвоючення секрету + оригінального message і лікує його як змінна стану для нового виклику функції стиснення. Додайте дані, які вони хочуть додати, поставте його правильно для повної довжини повідомлення, і складіть травлення. Коли сервер діє цей кований дайджест, попередньо запустив власний секрет і заслуховування, розрахунок відбувається ідентично розрахунку нападника після початкового секрету було всмоктовано. Сервер складається з того ж перетравлення, і ковані повідомлення приймаються без атаки, що знає секрет.
Як працює розширення — застосування наповнювачів та додаткових даних для закріплення дійсного хешу для більш тривалого повідомлення
Різні алгоритми позначаються різним шляхом подовження довжини. SHA-1 вразливий: атакуючий може спостерігати SHA-1 перетравити і продовжити повідомлення. SHA-256 вкрай вразливий. SHA-512 також вразлива до атак розширення. SHA-384 опір подовженню довжини, оскільки він побудований як SHA-512 обрізається до 384 bits. Вихід функції стиснення більше, ніж опублікований дайджест, тому атакуючий не має достатньо інформації для продовження хешування. Конструкція губок використовується в SHA-3 не витікає внутрішнього стану.
Розуміння алгоритмів, які вразливі, потрібно знати щось про розмір функції стиснення, у порівнянні з опублікованим розміром травлення. SHA-256 публікації 256 bits і стан функції стиснення також 256 bits, так що травлення є цілою державою. Атака має все необхідне для продовження. SHA-384 публікації 384 bits, але основний стан функції стиснення є 512 bits з SHA-384 Будується зверху SHA-512. Засвоюється тільки травлення 384 тих, хто 512 bits, залишаючи 128 bits Невідома атака. Це навмисне оформлення майна SHA-384 що забезпечує цей опір.
Підтримувані SHA-1, SHA-256 і SHA-512 спорудження висаджують повну державу; SHA-384 truncation змінює ліміт розширення
Виправлення для автентифікації повідомлень з загальним секретом HMAC, вказаний код ідентифікації повідомлення. HMAC не препендувати секрет і хеш; замість того, він застосовує секрет в двох гніздованих хешах операціях з використанням специфічних схем, які називаються внутрішніми і зовнішніми колодками. Будівництво HMAC(секрет, повідомлення) = SHA256(secret XOR outer pad, SHA256(secret XOR inner pad, повідомлення) Цей непристойний підхід закриває проміжок тривалості, тому що навіть якщо нападник має перетравлення внутрішнього хешу, вони не можуть продовжувати хати без секрету.
Причина збереження травлення і HMAC операції окремо, щоб уникнути загальної помилки лікування двох взаємозамінних. Розробник, який дізнається про хешування через інструмент, який може забути, який він використовує, коли він записує код. Зберігати розрахунок засвоюється окремо, робить вибір явною та зміцнює навчання, що вимагає автентифікації HMAC або підписи. Про нас ToolAcre SHA мітки калькулятора міток звичайних перетравень, а документація пояснює, що HMAC є різною операцією.
HMAC як закріпити — підвісна конструкція, яка закриває проміжок і чому це стандартна відповідь
Концептуальний приклад подовження довжини працює на звичному тестовому векторі. Комп'ютери SHA-256 на ASCII текст abc виробляє травлення ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Припустимо, це травлення є результатом секрету + abc хеш з 5-ідеальний секрет, що дає загальну кількість 8 bytes введення. SHA-256 введення процесів в 64-байтні блоки, тому перший і єдиний блок був прокладений з довжиною повідомлення та іншими байтами. А атакуючий бачить перетравлення і хоче заглиблювати повідомлення, починаючи з abc з подальшим додатковими даними.
Вони не можуть безпосередньо додавати абс, тому що вони не знають точного наповнювача, який був доданий всередині хешу. Однак, вони можуть зрозуміти, що повне повідомлення, яке повинно бути: abc плюс необхідний наповнювач для 8-введення в вхід 64-блокування. Вони потім додають свої додаткові дані, складіть начинки для нової довжини, і поховавши комбінацію, лікуючи спостерігий травлення як початковий стан. Результат дійсний SHA-256 Засвоюється, що сервер буде прийматися, тому що він задає секрет і обчислює той же хеш.
Розроблений приклад — концептуальний покроковий прохід, що простягається, без живої мети
Щоб запобігти цій атакі в реальній системі розробник не повинен намагатися побудувати автентифікацію з простого хешу. HMAC - стандартна відповідь, і ToolAcre SHA Калькулятор є інструментом для обчислення звичайних трав для перевірки цілісності, зберігання контенту та аналогічних неоціночних цілей. Приклади безпечного використання рівнини SHA-256 Засвоюється перетравлення файлів, де атакуючий не може керувати як файл, так і засвоюється перетравлення; зберігання контенту, де хеш є ключ вигляду; так і цифрові підписи, поєднані з підписами, де підпис надає автентифікацію.
Повний обсяг цього номера включає в себе інші алгоритми, які забезпечує браузер. SHA-1 уразливий до подовження довжини і вже криптографічно зламаний до цього. Про нас ToolAcre калькулятор етикетки SHA-1 як legacy-only і пояснює атаки зіткнення, які зробили його непридатними для нових додатків. Для нових додатків SHA-256 – це нечутливий вибір для звичайних трав, і якщо потрібна автентиція, HMAC з SHA-256 – відповідь. SHA-384 і SHA-512 є одночасно вразливими, але SHA-384 охороняється стрункістю.
Що це не криється — ToolAcre калькулятор обчислює звичайні трави, не HMACПовідомляємо, чому це питання
При побудові психічної моделі хешових функцій, конструкція Merkle-Damgård і розширення довжини стають ключовими поняттями. Функція має обробляти довільні довжини введення і виробляти фіксований вихід. Таким чином, це відбувається шляхом створення блоку функції стиснення за допомогою блоку, а спосіб остаточний стан перетворюється на вихідні питання, що значною мірою. Якщо остаточний стан повністю виводиться, то що вихід містить всю необхідну інформацію для продовження хешування. Якщо остаточний стан обрізається, частина прихована.
Для читання розробника про атаки подовження довжини вперше, питання, як дізнатися, чи впливає на їх використання. Якщо вхід до хешу є громадською констанцією і хеш використовується в якості ключа пошуку або відбитка пальців, подовження довжини не є обов'язковим. Якщо хеш використовується для ідентифікації повідомлення, коли обидві сторони діляться секретом, розширення довжини є критичною вразливістю, і HMAC є фіксацією. Про нас ToolAcre SHA Калькулятор хешу відображає перетрави та байтові підрахунки, що робить зрозуміло, що це обчислювальні виходи, не автентифікаційні механізми.
Приймати: використовувати MAC для автентифікації — ToolAcre SHA Калькулятор хешу для засвоювань доброчесності; потреби автентифікації HMAC або підпис
Застосувати це на виробничі системи, принцип прямопередбачуваний: ніколи не використовуйте ледь для автентифікації, коли секрет бере участь. HMAC є стандартним будівництвом, що повністю закриває вектор з подовженням довжини. SHA-256 і SHA-384 є одночасно безпечними для своїх цілей при використанні правильно. Розуміння трьох ключових точок — Мерло-Дамгård розкриває її стан в травленні, що SHA-384 приховати частину держави, і що HMAC використовується підвісна конструкція для запобігання розширення.
Про нас ToolAcre SHA hh калькулятор втілює це навчання: він забезпечує регулярні трави для навчання і для законних неauthenticating використовує, він етикетки SHA-1 як спадщина, і це не вдається HMAC тому, що робота надходить в інший контекст. При досягненні розробника на звичайний калькулятор хешу для ідентифікації запиту, позиціонування інструменту та документації, направляючи їх до HMAC і підписи як відповідні інструменти. Про нас ToolAcre Інструментарій фокусується на тому, що веб-крипт браузера безпосередньо і пояснює межі, де кожен примітив підходить.