Програмні засоби шифрування

"Все, що необхідно для забезпечення безпеки – це якісне шифрування". Це твердження можна почути повсюдно. Якщо інформація захищена шифруванням, ніхто не може її прочитати або змінити. Якщо ми використовуємо шифрування, знаємо, з ким маємо справу, тому шифрування можна інтерпретувати і як аутентифікацію.

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

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

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

1.ОСНОВНІ КОНЦЕПЦІЇ ШИФРУВАННЯ

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

За допомогою шифрування забезпечуються три стани безпеки інформації.

Терміни, пов'язані із шифруванням

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

  • Звичайний текст - це інформація у вихідному вигляді. Також називається відкритим текстом.
  • Шифрований текст - це інформація, піддана дії алгоритму шифрування.

  • Алгоритм - це метод, який використовується для перетворення відкритого тексту на шифрований текст.
  • Ключ - це вхідні дані, за допомогою яких за допомогою алгоритму відбувається перетворення відкритого тексту на шифрований або назад.
  • Шифрування - це процес перетворення відкритого тексту на шифр.
  • Дешифрування - процес перетворення шифру на відкритий текст.
  • Криптостійкість називається характеристика шифру, що визначає його стійкість до дешифрування. Зазвичай ця характеристика визначається періодом часу, необхідним дешифрування.
  • Криптографія – наука про приховування інформації за допомогою шифрування.
  • Криптограф – особа, яка займається криптографією.
  • Криптоаналіз - мистецтво аналізу криптографічних алгоритмів щодо наявності уразливостей.
  • Криптоаналітик – особа, яка використовує криптоаналіз для визначення та використання вразливостей у криптографічних алгоритмах.

Атаки на систему шифрування

Системи шифрування можуть атакуватися трьома такими способами:

  • Через слабкі місця у алгоритмі.
  • За допомогою атаки "грубою сили" по відношенню до ключа.
  • Через уразливості у навколишній системі.

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

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

Ще яскравішим прикладом уразливості є пакет шифрування, використовуваний багатьма користувачами. Цей пакет використовує потужні алгоритми шифрування для зашифрування електронної пошти та файлів. Атаки на таку систему не можна легко здійснити за допомогою алгоритмів чи атак "грубою сили". Тим не менш, ключ користувача знаходиться у файлі на комп'ютері. Файл захищений паролем. Зважаючи на те, що більшість користувачів не використовують у своїх паролях комбінації випадкових символів, набагато простіше вгадати пароль користувача або отримати його за допомогою атак "грубою сили", ніж отримати таким же способом ключ користувача.

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

Сучасні методи шифрування повинні відповідати таким вимогам:

  1. Стійкість шифру протистояти криптоаналізу повинна бути такою, щоб розтин його могло бути здійснено лише шляхом вирішення задачі повного перебору ключів.
  2. Криптостійкість забезпечується не секретністю алгоритму, а секретністю ключа.
  3. Шифртекст не повинен значно перевищувати за обсягом вихідну інформацію.
  4. Помилки, що виникають при шифруванні, не повинні призводити до спотворень та втрат інформації.
  5. Час шифрування не повинен бути більшим.
  6. Вартість шифрування повинна бути погоджена з вартістю інформації, що закривається.

2. КЛАСИФІКАЦІЯ МЕТОДІВ КРИПТОГРАФІЧНОГО ЗАКРИТТЯ ІНФОРМАЦІЇ

В даний час відома велика кількість методів криптографічного закриття інформації. Класифікація методівшифрування (криптоалгоритмів) може бути здійснена за такими ознаками:

  • за типом ключів: симетричні та асиметричні криптоалгоритми;
  • за розміром блоку інформації: потокові та блокові шифри;
  • характером впливів, вироблених над даними: метод заміни (перестановки), метод підстановки; аналітичні методи, адитивні методи (гамування), комбіновані методи.

Кодування може бути смислове, символьне, комбіноване.

Закриття інформації іншими способами може досягатися за допомогою стеганографії, стиснення/розширення, розсічення/рознесення.

Основи теорії К. Шеннона

Клод Шеннон розглянув модель (див. рис. 2), де джерело повідомлень породжує відкритий текст X . Джерело ключів генерує ключ Z.

Шифратор перетворює відкритий текст X за допомогою ключа Z в шифртекст Y: Y = TzX.

Дешифратор, отримавши зашифроване повідомлення Y виконує зворотну операцію: X = Tz (1) Y .

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

Шеннон розглянув питання теоретичної та практичної таємності. Для визначення теоретичної таємності Шеннон сформулював такі питання:

  1. Наскільки стійка система, якщо криптоаналітик противника не обмежений часом і має всі необхідні засоби для аналізу криптограм?
  2. Чи має криптограма єдине рішення?
  3. Який обсяг шифртексту потрібно перехопити криптоаналітику, щоб рішення стало єдиним?

Для відповіді ці питання Шеннон ввів поняття досконалої таємності з допомогою наступного умови: всім Y апостеріорні ймовірності рівні апріорним ймовірностям, тобто. перехоплення зашифрованогоповідомлення не дає криптоаналітики противника жодної інформації.

За теоремою Байєса

P y ( X ) = P ( X ) P x ( Y )/ P ( Y ),

де P ( X ) ¦ апріорна ймовірність повідомлення Х ; Р x ( Y ) ¦ умовна ймовірність криптограми Y за умови, що вибрано повідомлення X , тобто. сума ймовірностей всіх ключів, які переводять повідомлення X в криптограму Y ; P ( Y ) ¦ ймовірність отримання криптограми Y ; Р y ( Х ) ¦ апостеріорна ймовірність повідомлення X за умови, що перехоплена криптограма Y . Для досконалої секретності значення Р y ( Х ) і Р ( Х ) повинні дорівнювати всім X і Y .

Для протидії методам статистичного аналізу криптограм Шеннон запропонував використовувати два методи: розсіювання та перемішування.

3. ОСНОВНІ КРИПТОГРАФІЧНІ МОДЕЛІ ТА АЛГОРИТМИ ШИФРУВАННЯ

3.1. Симетричні методи шифрування

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

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

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

При використанні для шифруванняІнформації методів перестановки символи відкритого тексту переставляються відповідно до деяких правил.

Приклад. Відкритий текст: «ШИФРУВАННЯ_ПЕРЕСТАНІВКА». Ключ (правило перестановки): групи з 8 літер із порядковими номерами 1, 2, . 8 упорядкувати 3-8-1-5-2-7-6-4.

При шифруванні заміною (підстановкою) символи тексту, що шифрується, замінюються символами того ж або іншого алфавіту з заздалегідь встановленим правилом заміни.

Шифрування заміною існує вже близько 2500 років. Найпершим прикладом є шифр Атбаш. Він виник приблизно 600 року до н.е. та полягав у використанні єврейського алфавіту у зворотному порядку.

Юлій Цезар використовував шифр заміни, який і називався - шифр Цезаря. Цей шифр полягав у заміщенні кожної літери іншою літерою, яка розташована в алфавіті на три літери далі від шифрованої. Таким чином, буква A перетворювалася D, B перетворювалася в E, а Z перетворювалася C.

VENI VIDI VICI ( У ПЕРЕКЛАДІ українською «Прийшов, Побачив, Переміг»)

у зашифрованому вигляді: YHQL YLGL YLFL

Таблиця відповідності для шифрування методом Цезаря