Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
новая книга-2.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
6.1 Mб
Скачать
    1. Шифрування

Ми приступаємо до розгляду криптографічних сервісів безпеки, точніше, до викладу елементарних відомостей, що допомагають скласти загальне уявлення про комп'ютерну криптографію і її місце в загальній архітектурі інформаційних систем.

Криптографія необхідна для реалізації, принаймні, трьох сервісів безпеки:

  • шифрування;

  • контроль цілісності;

  • аутентифікація (цей сервіс був розглянутий нами раніше).

Шифрування – найбільш потужний засіб забезпечення конфіденційності. У багатьох відносинах воно займає центральне місце серед програмно-технічних регуляторів безпеки, будучи основою реалізації багатьох з них, і в той же час останнім (а часом і єдиним) захисним рубежем. Наприклад, для портативних комп'ютерів тільки шифрування дозволяє забезпечити конфіденційність даних навіть у випадку крадіжки.

У більшості випадків і шифрування, і контроль цілісності відіграють глибоко інфраструктурну роль, залишаючись прозорими й для додатків, і для користувачів. Типове місце цих сервісів безпеки – на мережевому й транспортному рівнях реалізації стека мережевих протоколів.

Розрізняють два основних методи шифрування: симетричний й асиметричний. У першому з них той самий ключ ( що зберігається в секреті) використовується як для шифрування, так і для розшифрування даних. Розроблені досить ефективні (швидкі й надійні) методи симетричного шифрування.

Рис. 13.1 ілюструє використання симетричного шифрування. Для визначеності ми будемо вести мову про захист повідомлень, хоча події можуть розвиватися не тільки в просторі, але й у часі, коли зашифровуються й розшифровуються нікуди не переміщені файли.

Рис 13.1. Використання симетричного методу шифрування.

Основним недоліком симетричного шифрування є те, що секретний ключ повинен бути відомий і відправнику, і одержувачу. З одного боку, це створює нову проблему поширення ключів. З іншого боку, одержувач на підставі наявності зашифрованого й розшифрованого повідомлення не може довести, що він одержав це повідомлення від конкретного відправника, оскільки таке ж повідомлення він міг згенерувати самостійно.

В асиметричних методах використовуються два ключі. Один з них, несекретний (він може розміщуватися разом з іншими відкритими відомостями про користувача), застосовується для шифрування, інший (секретний відомий тільки одержувачу) – для розшифрування. Найпопулярнішим серед асиметричних є метод RSA (Райвест, Шамир, Алліман), заснований на операціях з більшими (скажемо, 100-значными) простими числами і їхніми добутками.

Проілюструємо використання асиметричного шифрування (див. рис.13.2).

Рис. 13.2. Використання асиметричного методу шифрування

Істотним недоліком асиметричних методів шифрування є їхня низька швидкодія, тому дані методи доводиться сполучати із симетричними (асиметричні методи на 3-4 порядки повільніші). Так, для рішення завдання ефективного шифрування з передачею секретного ключа, використаного відправником, повідомлення спочатку симетрично зашифровують випадковим ключем, потім цей ключ зашифровують відкритим асиметричним ключем одержувача, після чого повідомлення й ключ відправляються по мережі.

Рис.13.3. ілюструє ефективне шифрування, реалізоване шляхом сполучення симетричного й асиметричного методів.

На рис.13.4 показано розшифрування ефективно зашифрованого повідомлення.

Відзначимо, що асиметричні методи дозволили вирішити важливе завдання спільного вироблення секретних ключів (це істотно, якщо сторони не довіряють один одному), що обслуговують сеанс взаємодії, при споконвічній відсутності загальних секретів. Для цього використовується алгоритм Диффи-Хелмана.

Рис. 13.3. Ефективне шифрування повідомлення

Рис. 13.4. Розшуфрування ефективно зашифрованого повідомлення

Дещо розповсюдився різновид симетричного шифрування, заснований на використанні складених ключів. Ідея полягає в тому, що секретний ключ ділиться на дві частини, що зберігаються окремо. Кожна частина сама по собі не дозволяє виконати розшифрування. Якщо в правоохоронних органів з'являються підозри щодо особи, що використовує деякий ключ, вони можуть у встановленому порядку одержати половинки ключа й далі діяти звичайним для симетричного розшифрування чином.

Порядок роботи зі складеними ключами – вдалий приклад проходження принципу поділу обов'язків. Він дозволяє сполучати права на різного роду таємниці (персональну, комерційну) з можливістю ефективно стежити за порушниками закону, хоча, звичайно, тут дуже багато тонкостей і технічного, і юридичного плану.

Багато криптографічних алгоритмів у якості одного з параметрів вимагають псевдовипадкового значення, у випадку передбачення якого в алгоритмі з'являється уразливість (подібне уразливе місце було виявлено в деяких варіантах Web-навігаторів). Генерація псевдовипадкових послідовностей – важливий аспект криптографії, на якому ми, однак, зупинятися не будемо.

Більш докладну інформацію про комп'ютерну криптографію можна дізнатися зі статті Г. Семенова "Не тільки шифрування, або Огляд криптотехнологій" (Jet Info, 2001, 3).