Криптографічний примітивКриптографічні примітиви — це чітко визначені криптографічні алгоритми низького рівня, які часто використовуються для побудови криптографічних протоколів комп'ютерних систем безпеки. Стандартний примітив зазвичай включає в себе стійкі хеш-функції та функції шифрування. ОбґрунтуванняПри створенні криптографічних систем розробники використовують криптографічні примітиви як базові структурні елементи. Враховуючи це, криптографічні примітиви призначені для виконання конкретних завдань і характеризуються високою надійністю. Оскільки криптографічні примітиви використовуються в якості «будівельних блоків», вони повинні бути дуже надійними, тобто відповідати до цієї специфікації. Наприклад, якщо процедура шифрування передбачає розбиття комп'ютерних операцій на X частин, то при виконанні процедури зі значно меншим розбиттям X, криптографічний примітив повідомить про неможливість здійснення цієї операції. Якщо виявиться, що майже кожне виконання криптографічного примітиву дає збій, то протокол, який його використовує, стає вразливим. Оскільки створення криптографічних процедур є нелегкою задачею, тестування їх на надійність займає багато часу та практично ніколи не буде змісту розробляти новий криптографічний примітив, який відповідає потребам нової криптографічної системи. Причини включають в себе:
Криптографічні примітиви схожі в певному сенсі на мови програмування. Програміст рідко винаходить нову мову програмування для написання нової програми; замість цього, він використовує одну із вже сформованих мов програмування для вирішення задачі. Криптографічні примітиви є одним з структурних елементів будь-якої системи шифрування, наприклад, протоколів TLS, SSL, SSH і т. д. Розробники систем шифрування, які не можуть повністю забезпечити безпеку даних, мають використовувати безпечні криптографічні примітиви. Вибір найбільш надійного примітиву, який доступний для використання в протоколі, як правило, забезпечує найкращу безпеку даних. Однак, комбінації примітивів в будь-якій системі шифрування може призвести до недоліків і задача розробників уникнути їх. Часто використовувані примітиви
Комбінування криптографічних примітивівКриптографічні примітиви, самі по собі, досить обмежені. Вони не можуть бути розглянуті належним чином в рамках криптографічної системи. Наприклад, голий алгоритм шифрування немає ні механізму автентифікації, ні будь-якої явної перевірки повідомлення. Тільки при поєднанні протоколів шифрування можуть бути реалізовані декілька вимог безпеки. Наприклад, для того щоб передати повідомлення, яке не тільки зашифроване, але й захищене від взлому (тобто є конфіденційне і цілісне), процедури кодування, наприклад, DES, і звичайні хеш-функції, такі, як SHA-1 можуть використовуватися в комбінації. Якщо зловмисник не знає ключа шифрування, він не може модифікувати повідомлення, тобто значення цифр в повідомленні будуть дійсні. Поєднання криптографічних примітивів для створення протоколу безпеки саме по собі є цілою спеціалізацією. Більшість помилок, що використовувались (тобто ненадійність в криптографічних системах) обумовлені не конструктивними помилками примітивів (припускаючи, що вони завжди були обрані з обережністю), але й тим, як вони використовуються, наприклад, не правильна розробка протоколу та помилка або недостатньо ретельне виконання. Математичний аналіз протоколів, на момент написання цієї статті, не є повний. Є кілька основних властивостей, які можна перевірити за допомогою автоматичних методів, таких як БАН логіка. Існують навіть методи повної перевірки (наприклад, SPI обчислення), але вони є надзвичайно громіздкими та не можуть бути автоматизованими. Розробка протоколу — це мистецтво, що вимагає глибоких знань та практики; навіть тоді помилки є спільними. Ілюстративний приклад для реальної системи можна побачити на сторінці новин про вразливість OpenSSL тут [Архівовано 23 жовтня 2020 у Wayback Machine.]. Див. також
Посилання
|