Page 189 - 4636
P. 189
Використання SSL додає до описаної моделі ще один прозорий рівень. Рівень SSL перебуває між
транспортним рівнем і рівнем додатків. Ця модель показана на рис.3. Перш ніж передати дані, що
надійшли від НТТР-додатка транспортному рівню для відправлення за місцем їх призначення, рівень
SSL змінює їх.
Рисунок 11.3 – SSL додає додатковий рівень до стеку протоколів, а також протоколи рівня
додатків для керування своїми діями
SSL може забезпечити середовище безпечної передачі й іншим протоколам, відмінним від HTTP.
Для інших протоколів рівень SSL прозорий, тобто він забезпечує такий самий інтерфейс протоколам
більш високих рівнів, як і розташований під ним транспортний рівень. Тому він прозоро забезпечує
квітирування, шифрування й дешифрування.
Коли веб-браузер з'єднується із захищеним веб-сервером по HTTP, необхідно скористатися
протоколом установки з'єднання (квітирування — handshaking - підтвердження прийому-передачі
структурної одиниці інформації. Вся інформація обміну між пристроями перевіряється
контрольованим кодом), що дозволяє домовитися про такі дії, як аутентификація й шифрування.
Послідовність квітирування містить у собі наступні кроки:
1 Браузер з'єднується із сервером, що підтримують SSL, і запитує в нього аутентификацію.
2 Сервер відправляє свій цифровий сертифікат.
3 Не обов'язково (іноді) сервер може запросити аутентификацію у браузера.
4 Браузер посилає список підтримуваних ним алгоритмів шифрування й хеширування. Сервер
вибирає найбільш надійне шифрування із числа підтримуваних
5 Браузер і сервер генерують ключі сеансу.
a) Браузер одержує відкритий ключ сервера з його цифрового сертифіката й використовує його
для шифрування випадкового числа.
b) Сервер відповідає відправленням відкритим текстом випадкових даних (якщо тільки за
запитом сервера браузер не вислав цифровий сертифікат - у цьому випадку сервер використовує
відкритий ключ браузера).
c) На основі цих випадкових даних за допомогою хеш-функцій генеруються ключі
шифрування для сеансу.
Генерування якісних випадкових даних, дешифрація цифрових сертифікатів, генерування ключів
і використання шифрування з відкритим ключем вимагає часу, тому процедура квітирування
виконується не миттєво.
Результати копіюються, тому, якщо тим же самим браузеру й серверу потрібно обмінятися
декількома шифрованими повідомленнями, процес квітирування й відповідна обробка виконуються
тільки один раз.
При пересиланні даних через SSL-з'єднання виконуються такі дії.
1 Дані розбиваються на керовані пакети.
2 Кожний пакет стискається (необов'язково).
3 Кожний пакет містить код аутентификації повідомлення (message authentication code — MAC),
обчислений за допомогою алгоритму хеширування.
4 МАС-Код і стислі дані об’єднуються й шифруються.
5 Зашифровані пакети об’єднуються з інформацією заголовків і пересилаються через мережі.
6 Увесь процес показаний на рис.11.4.
186