ати якоюсь мережевий панацеєю. Але, на жаль, практика, показує що ідея це ще не рішення. Без відповідної практичної складової, ідея так і залишається ідеєю, а тому, користувачі безумовно, повинні пам'ятати, що символ замку, що з'являється в рядку стану їх Інтернет-браузерів, ще не гарантія того, що всі наші секрети і таємниці знаходяться під дійсно надійним захистом.
Обмін даними по протоколу SSL
Перевагою SSL є те, що він незалежний від прикладного протоколу. Протоколи програми, такі як HTTP, FTP, TELNET і т.д. можуть працювати поверх протоколу SSL абсолютно прозоро. Протокол SSL може погоджувати алгоритм шифрування і ключ сесії, а також аутентифікувати сервер до того як додаток прийме або передасть перший байт даних. Всі протокольні прикладні дані передаються зашифрованими з гарантією конфіденційності.
Спостерігати за діалогом між сервером і клієнтом можна за допомогою програми «EtherSnoop - Network Sniffer. Програма працює як звичайний пакетний сніффер. Який дозволяє фіксувати всі вихідні і вхідні пакети, в режимі реального часу. Програма має простий і зрозумілий інтерфейс з легкою навігацією у вигляді дерева, можливо переглядати вміст пакетів в hex і текстовому вигляді, а також застосування фільтрів на відображення даних. Всі дані можуть бути збережені у файл і завантажені в програму пізніше для більш докладного вивчення.
Рис. 3 - Інтерфейс програми EtherSnoop
Спробуємо увійти в захищений канал за адресою http://vkontakte. Як бачимо, на початку рядка у нас замість звичного «http», стоїть «https». Як видно, використовується 443 порт для відправки повідомлень один одному.
Рис. 4 - З'єднання з сервером
Протокол діалогу SSL
Протокол діалогу SSL має дві основні фази.
Перша фаза використовується для встановлення конфіденційного каналу комунікацій.
Друга - служить для аутентифікації клієнта.
Фаза 1
Перша фаза є фазою ініціалізації з'єднання, коли обидва партнери надсилають повідомлення «hello». Клієнт ініціює діалог посилкою повідомлення CLIENT-HELLO. Сервер отримує повідомлення CLIENT-HELLO, обробляє його і відгукується повідомленням SERVER-HELLO.
До цього моменту, як клієнт, так і сервер мають достатньо інформації, щоб знати, чи потрібен новий мастерний ключ. Коли новий мастерний ключ не потрібен, клієнт і сервер негайно переходять у фазу 2.
Коли потрібен новий мастерний ключ, повідомлення SERVER-HELLO буде містити достатньо даних, щоб клієнт міг сформувати такий ключ. Сюди входить підписаний сертифікат сервера, список базових шифрів (див. нижче), і ідентифікатор з'єднання (останній являє собою випадкове число, сформоване сервером і використовувана упродовж сесії). Клієнт гені?? Ирует мастерний ключ і посилає повідомлення CLIENT-MASTER-KEY (або повідомлення ERROR, якщо інформація сервера вказує, що клієнт і сервер не можуть узгодити базовий шифр).
Тут слід зауважити, що кожна крайова точка SSL використовує пару шифрів для кожного з'єднання (тобто всього 4 шифру). На кожній кінцевій точці, один шифр використовується для вихідних комунікацій і один - для вхідни...