Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Безпека GRID – технологій.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.5 Mб
Скачать

3.1.3. Авторизація порівняно з Аутентифікацією

Сплутати аутентифікацію і авторизацію дуже просто, не стільки, тому, що вони зв'язані (загалом, потрібно виконувати аутентифікацію користувача, щоб ухвалити авторизаційне рішення про цього користувача), а через те, що вони звучать однаково (auth...ation). Це частково погіршено фактом, що багато людей прагне скоротити обидва слова як “auth” (особливо в програмному коді). Хоч вони є відмінними поняттями їх досить часто зіставляють. І якщо є сумніви, важливо пам'ятати, що аутентифікація посилається на з'ясування достовірності чиєї-небудь особи (якщо вона дійсно та що потрібна) і що авторизація звертається до з'ясування того, хто авторизований виконувати певне завдання.

3.1.4. Введення в криптографію

Криптографія – “мистецтво запису в секретних символах”. Кодування – дія перекладу нормального повідомлення в повідомлення, записане з “секретними символами” (також відоме як кодоване повідомлення).

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

3.1.4.1. Алгоритми засновані на ключі

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

Алгоритм заснований на ключі використовує ключ кодування, щоб кодувати повідомлення. Це означає, що кодоване повідомлення генерується, використовуючи не тільки повідомлення, але і, використовуючи “ключ” (Рис.№3)

Рисунок 3. Кодування засноване на ключі

Одержувач може потім використовувати ключ розшифровки, щоб розшифрувати повідомлення. Знову-таки, це означає, що алгоритм розшифровки залежить не тільки від кодованого повідомлення. Також буде потрібно “ключ” (Рис.№4)

Рисунок 4. Розшифровка заснована на ключі

Деякі алгоритми використовують один ключ для кодування і розшифровки, а інші різні. Про різні ключі буде розказано нижче.

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

1 2 3 4 5 6 5 4 3 2 1

Виберемо ключ, який використовуватиметься для кодування повідомлення. Імовірно ключ буде “4232”. Щоб кодувати повідомлення потрібно буде повторювати ключ, стільки скільки необхідно, для “покриття” цілого повідомлення:

1 2 3 4 5 6 5 4 3 2 1

4 2 3 2 4 2 3 2 4 2 3

Кодування повідомлення з додаванням обох номерів:

1 2 3 4 5 6 5 4 3 2 1

+ 4 2 3 2 4 2 3 2 4 2 3

-----------------------

5 4 6 6 9 8 8 6 7 4 4

Результуюче повідомлення (54669886744) – закодоване повідомлення. Повідомлення може бути розшифровано слідуючи зворотному процесу: повторюючи ключ, стільки раз скільки потрібно, щоб покрити повідомлення, а потім відняти кожен з символів ключа:

5 4 6 6 9 8 8 6 7 4 4

- 4 2 3 2 4 2 3 2 4 2 3

-----------------------

1 2 3 4 5 6 5 4 3 2 1

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

Слід зазначити, що це дуже тривіальний приклад. Поточні алгоритми, засновані на ключі, набагато складніші (ключі набагато довші, і процес кодування не такий простий, як “додавання повідомлення і ключа”). Проте ці складні алгоритми засновані на тому ж основному принципі, показаному в нашому прикладі: ключ потрібний, щоб кодувати/розшифрувати повідомлення.