Криптопротокол S-HTTP
Робота по протоколу S-HTTP
Клієнти і сервери S-HTTP допускають використання декількох стандартних форматів криптографічних повідомлень. Клієнти, що підтримують S-HTTP, можуть встановлювати зв’язок з серверами S-HTTP і навпаки, ці сервери можуть зв’язуватись з клієнтами S-HTTP, хоча у процесі подібних транзакцій функції безпеки S-HTTP використовуватися скоріше всього не будуть. S-HTTP не потребує від клієнта сертифікатів загальних ключів (чи самих загальних ключів), тому що цей протокол підтримує тільки операції з симетричними шифрувальними ключами. Хоча S-HTTP може користуватися перевагами глобальних сертифікаційних інфраструктур, дл його роботи такі структури не є обов’язковими.
Протокол S-HTTP підтримує безпечні наскрізні (end-to-end) транзакциї, що вигідно відрізняє його від базових механізмів ідентифікації HTTP, які потребують, щоб клієнт спробував отримати доступ і отримав відмову, а лише тоді включають механізм безпеки. Клієнти можуть бути настроєні таким чином, щоб будь-яка їх транзакція автоматично захищалась (звичайно за допомогою спеціальної мітки у заголовку повідомлення). Така настройка, наприклад, часто використовується для передачі заповнених бланків. Якщо використовувати протокол S-HTTP, то ніколи не прийдеться відправляти важливі дані по мережі в незахищеному вигляді..S-HTTP підтримує високий рівень гнучкості криптографічних алгоритмів, режимів і параметрів. Для того, щоб клієнти і сервери змогли вибрати єдиний режим транзакції (наприклад їм потрібно вирішити, чи буде запит тільки шифруватися чи тільки підписуватися, або і шифруватися, і підписуватися одночасно. Таке ж рішення потрібно прийняти і для їх відповідей), використовується механізм узгодження опцій, криптографічних алгоритмів (RSA чи Digital Signature Standard [DSA] для підпису, DES чи RC2 для шифрування і т.д.), і вибору сертифікатів. S-HTTP підтримує криптографію загальних ключів і функцію цифрового підпису і забезпечує конфіденційність даних.
S-HTTP (Secure HTTP - безпечний HTTP) – це схема, запропонована CommerceNet, об’єднанням організацій, які зацікавлені в розвитку Internet для комерційного використання. Це протокол більш високого рівня, який працює тільки з протоколом http.
Для роботи по протоколу HTTPS необхідно:
- серверна ОС;
- встановити на ній Сервер Сертифікатів;
- за допомогою сервера сертифікатів згенерувати запит на сертифікат;
- відправити запит на сертифікат на Verisign (чи іншій компанії, яка розробляє сертифікати) чи самому розробити його, наприклад, за допомогою програми openssl;
- отриманий сертифікат встановити на сервері;
- налаштувати iis на порт;
- встановити в настройках iis вимоги щодо встановлення безпечне з’єднання.
HTTPS-проксі
HTTPS-проксі – це фактично частина HTTP-проксі. S у назві означає “secure”, тобто безпечний. Незважаючи на те, що програмно це частина HTTP-проксі, звичайно HTTPS виділяють в окрему категорію (і є окреме поле для нього в настройці браузерів). Звичайно цей протокол – безпечний http – застосовують, коли потрібна передача секретної інформації, наприклад, номерів кредитних карт. При використанні звичайного HTTP-проксі всю інформацію, що передається можна перехватити засобами самого прноксі (тобто це під силу адміністратору ЛС) чи на більш низькому рівні, наприклад, tcpdump (тобто адміністратор провайдера і будь-якої проміжної сітки і взагалі будь-яка людина, що має фізичний доступ до маршрутів передачі ваших даних по мережі, може при великому бажанні взнати ваші секрети). Тому в таких випадках застосовують secure HTTP – все, що передається при цьому шифрується. Проксі-серверу при цьому дається тільки команда “з’єднатися з таким-то сервером”, і після з’єднання проксі передає в обидві сторонни шифрований трафік, не маючи можливості взнати подробиці (відповідно і багато засобів управління доступом – такі як фільтрація малюнків – не можуть бути реалізовані для HTTPS, бо проксі в даному випадку невідомо, що саме передається). Власне в процесі шифрації/дешифрації проксі також участь не приймає – це роблять клієнтська програма і цільовий сервер. Наявність команди “з’єднатися з таким-то сервером” в HTTPS-проксі призводить до цікавого і корисного побічного ефекта, яким все частіше користуються розробники клієнтських програм. Оскільки після з'єднання з вказаним сервером HTTPS-проксі лише пасивно передає дані в обидві сторони, не роблячи ніякої обробки цього потоку навіть до відключення клієнта чи сервера, це дозволяє використовувати проксі для передачі майже будь-якого TCP-протокола, а не тільки HTTP. Тобто HTTPS-проксі одночасно є і простим POP3-проксі, SMTP-проксі, IMAP-проксі, NNTP-проксі і т.п. – при умові, що відповідна клієнтська програма вміє так експлуатувати HTTPS-проксі (нажаль далеко не всі це вміють, але є допоміжні програми, що “завертають” трафік звичайних клієнтів через HTTPS-проксі).