Криптографічні методи захисту інформації (работа 1)
КРИПТОГРАФІЧНІ МЕТОДИ ЗАХИСТУ ІНФОРМАЦІЇ
План
Основні положення та визначення криптографії
Характеристика алгоритмів шифрування
1. Основні положення та визначення криптографії
Проблемою захисту інформації шляхом її перетворення займається криптологія (kryptos - таємний, logos - повідомлення). Вона має два напрямки: криптографію і криптоаналіз. Цілі цих двох напрямків прямо протилежні.
Криптографія займається пошуком, дослідженням і розробкою математичних методів перетворення інформації, основою яких є шифрування, а криптоаналіз - дослідженням можливості розшифровки інформації.
Основні напрямки використання криптографічних методів - це передача конфіденційної інформації через канали зв'язку (наприклад, електронна пошта), встановлення дійсності переданих повідомлень, збереження інформації (документів, баз даних) на носіях у зашифрованому виді.
Сучасна криптографія вивчає і розвиває такі напрямки:
симетричні криптосистеми (із секретним ключем);
несиметричні криптосистеми (з відкритим ключем);
системи електронного підпису;
системи керування ключами.
Сучасні криптографічні системи забезпечують високу стійкість зашифрованих даних за рахунок підтримки режиму таємності криптографічного ключа. Однак, на практиці будь-який шифр, який використовується в тій або іншій криптосистемі, піддається розкриттю з визначеною трудомісткістю. У зв'язку з цим, виникає необхідність оцінки криптостійкості шифрів, які застосовуються, в алгоритмах криптоперетворення.
Допомагаючи зберегти зміст повідомлення в таємниці, криптографію можна використовувати для забезпечення:
аутентифікації;
цілісності;
незаперечності.
При аутентифікації одержувачеві повідомлення потрібно переконатися, що воно виходить від конкретного відправника. Зловмисник не може надіслати фальшиве повідомлення від будь-якого імені.
При визначенні цілісності одержувач повідомлення в змозі перевірити, чи були внесені які-небудь зміни в отримане повідомлення під час його передачі. Зловмисникові не дозволено замінювати дійсне повідомлення на фальшиве. Незаперечність необхідна для того, щоб відправник повідомлення не зміг згодом заперечувати, що він не є автором цього повідомлення.
В даний час аутентифікація, що здійснюється користувачем, забезпечується за допомогою:
смарт-карт;
засобів біометрії;
клавіатури комп'ютера;
криптографії з унікальними ключами для кожного користувача.
Основною областю застосування смарт-карт є ідентифікація користувачів мобільними телефонами.
Біометрія заснована на анатомічній унікальності кожної людини. Біометричні системи ідентифікації приведені на рис. 1.1.
Рис. 1.1 Біометричні системи ідентифікації
Цілісність інформації забезпечується за допомогою криптографічних контрольних сум і механізмів керування доступом і привілеями. У якості криптографічної контрольної суми для виявлення навмисної або випадкової модифікації даних використовується код аутентифікації повідомлення - MAC (Message Autentification Code).
Для виявлення несанкціонованих змін у переданих повідомленнях можна застосувати:
електронно-цифровий підпис (ЕЦП), заснований на криптографії з відкритим і закритим ключами;
програми виявлення вірусів;
призначення відповідних прав користувачам для керування доступом;
точне виконання прийнятого механізму привілеїв.
Незаперечність повідомлення підтверджується електронно-цифровим підписом.
2. Характеристика алгоритмів шифрування
В даний час спостерігається різке зростання об’ємів інформації (у тому числі і конфіденційної), яка передається по відкритих каналах зв'язку. Тому все більш актуальнішою стає проблема захисту переданої інформації. Незважаючи на те, що конкретні реалізації систем захисту інформації можуть істотно відрізнятися одна від одної через розходження методів і алгоритмів передачі даних, усі вони повинні забезпечувати рішення триєдиної задачі:
конфіденційність інформації (доступність її тільки для того, кому вона призначена);
цілісність інформації (її достовірність і точність, а також захищеність від навмисних і ненавмисних перекручувань);
готовність інформації (використання в будь-який момент, коли в ній виникає необхідність).
Успішне рішення перерахованих задач можливе як за рахунок використання організаційно-технічних заходів, так і за допомогою криптографічного захисту інформації.
Організаційно-технічні заходи містять у собі фізичну охорону об'єктів конфіденційної інформації, застосування спеціального адміністративного персоналу і цілий ряд інших дорогих технічних заходів для захисту важливих даних.
Криптографічний захист у більшості випадків є більш ефективним і дешевим. Конфіденційність інформації при цьому забезпечується шифруванням переданих документів або всього трафіка.
Процес криптографічного захисту даних може здійснюватися як програмно, так і апаратно. Апаратна реалізація відрізняється істотно більшою вартістю, однак їй властиві і переваги це - висока продуктивність, простота, захищеність і т.д. Програмна реалізація більш практична, допускає значну гнучкість у використанні. Перед сучасними криптографічними системами захисту інформації ставлять наступні вимоги:
зашифроване повідомлення повинне піддаватися читанню тільки при наявності ключа;
число операцій, необхідних для визначення використаного ключа шифрування по фрагменту шифрованого повідомлення і відповідного йому відкритого тексту, повинне бути не менше загального числа можливих ключів;
число операцій, необхідних для розшифровування інформації шляхом перебору ключів, повинно мати чітку нижню оцінку і виходити за межі можливостей сучасних комп'ютерів (з урахуванням можливості використання мережевих обчислень);
знання алгоритму шифрування не повинне впливати на надійність захисту;
незначна зміна ключа повинна приводити до істотної зміни виду зашифрованого повідомлення навіть при використанні того самого ключа;
структурні елементи алгоритму шифрування повинні бути незмінними;
додаткові біти, що вводяться в повідомлення в процесі шифрування, повинні бути цілком і надійно сховані в шифрованому тексті;
довжина шифрованого тексту повинна бути рівна довжині вихідного тексту;
не повинно бути простих (які легко встановлюються) залежностей між ключами, що послідовно використовуються в процесі шифрування;
будь-який ключ з безлічі можливих повинен забезпечувати надійний захист інформації;
алгоритм повинен допускати як програмну, так і апаратну реалізацію, при цьому зміна довжини ключа не повинна призводити до якісного погіршення алгоритму шифрування.
Сам по собі криптографічний алгоритм, названий алгоритмом шифрування, являє собою деяку математичну функцію, яка використовується для шифрування і розшифровки. Точніше таких функцій дві: одна застосовується для шифрування, а інша - для розшифрування.
Розрізняється шифрування двох типів:
симетричне (із секретним ключем);
несиметричне (з відкритим ключем).
При симетричному шифруванні (рис. 1.2) створюється ключ, файл разом з цим ключем пропускається через програму шифрування та отриманий результат пересилається адресатові, а сам ключ передається адресатові окремо, використовуючи інший (захищений або дуже надійний) канал зв'язку. Адресат, запустивши ту ж саму шифрувальну програму з отриманим ключем, зможе прочитати повідомлення. Симетричне шифрування не таке надійне, як несиметричне, оскільки ключ може бути перехоплений, але через високу швидкість обміну інформацією воно широко використовується, наприклад, в операціях електронної торгівлі.
Рис. 1.2 Симетричне шифрування
Несиметричне шифрування складніше, але і надійніше. Для його реалізації (рис. 1.3) потрібні два взаємозалежних ключі: відкритий і закритий. Одержувач повідомляє всім бажаючий свій відкритий ключ, що дозволяє шифрувати для нього повідомлення. Закритий ключ відомий тільки одержувачеві повідомлення. Коли комусь потрібно послати зашифроване повідомлення, він виконує шифрування, використовуючи відкритий ключ одержувача. Одержавши повідомлення, останній розшифровує його за допомогою свого закритого ключа. За підвищену надійність несиметричного шифрування приходиться платити: оскільки обчислення в цьому випадку складніше, то процедура розшифровки займає більше часу.
Коли надійність криптографічного алгоритму забезпечується за рахунок збереження в таємниці суті самого алгоритму, такий алгоритм шифрування називається обмеженим. Обмежені алгоритми становлять значний інтерес з погляду історії криптографії, однак зовсім непридатні при сучасних вимогах, які висуваються до шифрування. Адже, в цьому випадку, кожна група користувачів, які бажають обмінюватися секретними повідомленнями, повинна мати свої оригінальні алгоритми шифрування.
Рис. 1.3 Несиметричне шифрування
У сучасній криптографії зазначені вище проблеми вирішуються за допомогою використання ключа, який потрібно вибирати серед значень, що належать безлічі (ключовий простір). Функції шифрування і розшифровки залежать від цього ключа. Деякі алгоритми шифрування використовують різні ключі для шифрування і розшифровування. Це означає, що ключ шифрування відрізняється від ключа розшифровування.
Надійність алгоритму шифрування з використанням ключів досягається за рахунок їх належного вибору і наступного збереження в найсуворішому секреті. Це означає, що такий алгоритм не потрібно тримати в таємниці. Можна організувати масове виробництво криптографічних засобів, в основу функціонування яких покладений даний алгоритм. Навіть знаючи криптографічний алгоритм, зловмисник не зможе прочитати зашифровані повідомлення, оскільки він не знає секретний ключ, використаний для його зашифровування.
Симетричні алгоритми шифрування поділяються на:
потокові;
блокові.
Алгоритми, у яких відкритий текст обробляється побітно, називаються потоковими алгоритмами або потоковими шифрами. В інших алгоритмах відкритий текст розбивається на блоки, що складаються з декількох біт. Такі алгоритми називаються блоковими або блоковими шифрами. У сучасних комп'ютерних алгоритмах блокового шифрування довжина блоку звичайно складає 64 біта. Симетричні алгоритми при виявленні в них яких-небудь слабкостей можуть бути дороблені шляхом внесення невеликих змін, а для несиметричних - така можливість відсутня.
Симетричні алгоритми працюють значно швидше, ніж алгоритми з відкритим ключем. На практиці несиметричні алгоритми шифрування часто застосовуються в сукупності з симетричними алгоритмами: відкритий текст зашифровується симетричним алгоритмом, а секретний ключ цього симетричного алгоритму зашифровується на відкритому ключі несиметричного алгоритму. Такий механізм називають цифровим конвертом (digital envelope). Найширше в даний час застосовуються наступні алгоритми шифрування:
DES (Data Encryption Standard);
Blowfish;
IDEA (International Decryption-Encryption Algorithm);
ГОСТ 28147-89;
RSA (автори: Rivest, Shamir і Alderman);
PGP.
У симетричних криптоалгоритмах (DES, ДСТ, Blowfish, RC5, IDEA) для шифрування і розшифровки інформації використовується той самий секретний ключ. Перевагами таких алгоритмів є:
простота програмної та апаратної реалізації;
висока швидкість роботи в прямому і зворотному напрямках;
забезпечення необхідного рівня захисту інформації при використанні коротких ключів.
До основних недоліків цих криптоалгоритмів варто віднести збільшення витрат по забезпеченню додаткових заходів таємності при поширенні ключів, а також те, що алгоритм із секретним ключем виконує свою задачу тільки в умовах повної довіри кореспондентів один одному.
У несиметричних криптоалгоритмах (RSA, PGP, ECC) пряме і зворотне перетворення виконуються з використанням відкритого і секретного ключів, що не мають взаємозв'язку, що дозволяє по одному ключу обчислити інший. За допомогою відкритого ключа практично будь-який користувач може зашифрувати своє повідомлення або перевірити електронно-цифровий підпис. Розшифрувати таке повідомлення або поставити підпис може тільки власник секретного ключа. Такі алгоритми дозволяють реалізувати протоколи типу цифрового підпису, забезпечують відкрите поширення ключів і надійну аутентифікацію в мережі, стійку навіть до повного перехоплення трафіка.
Література
Соколов А.В., Степанюк О.М. Защита от компьютерного терроризма. Справочное пособие. – СПб.: БХВ – Петербург; Арлит 2002. – 496 с.;
Баранов В.М. и др. Защита информации в системах и средствах информатизации и связи. Учебное пособие. – СПб.: 1996. – 111 с.
Мельников В.В. Защита информации в компьютерных системах. М.: Финансы и статистика. – 1997. – 364 с.