HTTPS

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

HTTPS — схема URI, що синтаксично ідентична http: схемі, яка зазвичай використовується для доступу до ресурсів Інтернет. Використання https:URL вказує, що протокол HTTP має використовуватися, але з іншим портом за замовчуванням (443) і додатковим шаром шифрування/автентифікації між HTTP і TCP. Ця схема була винайдена у компанії Netscape Communications Corporation для забезпечення автентифікації та шифрування комунікацій і широко використовується в Інтернеті у програмному забезпеченні, в якому важлива безпека комунікацій, наприклад, у платіжних системах та корпоративних логінах.

Принцип роботи[ред.ред. код]

Власне кажучи, HTTPS це не окремий протокол, а звичайний HTTP через SSL або TLS. Це гарантує помірний захист від підслуховування та від нападу «людина посередині» (man-in-the-middle) (якщо це здійснюється належним чином і уповноважені на видачу сертифікатів верхнього рівня роблять свою роботу належним чином).

TCP портом за замовчуванням для HTTPS є 443 (для HTTP — 80).

Щоб підготувати веб-сервер для прийняття https транзакцій адміністратор повинен створити сертифікат з відкритим ключем для веб-сервера. Ці сертифікати можуть бути створені на UNIX сервері такими програмами, як наприклад OpenSSL. Цей сертифікат повинен бути підписаний уповноваженим на видачу сертифікатів (certificate authority), який засвідчує, що отримувач сертифікату — саме той, про кого йдеться у сертифікаті. Браузери розповсюджуються з сертифікатами уповноважених на видачу сертифікатів верхнього рівня організацій, таким чином браузери можуть перевірити сертифікати підписані ними.

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

Деякі сайти використовують самостійно підписані сертифікати. Їх використання забезпечує захист проти підслуховування, але є ризик нападу «людина-посередині». Для запобігання нападу необхідна перевірка сертифікату іншим методом (наприклад подзвонити власнику сертифіката задля перевірки контрольної суми сертифіката).

Система може також використовуватися для клієнтської автентифікації, щоб обмежити доступ до веб-сервера тільки зареєстрованими користувачами. Для цього адміністратор сайту створює сертифікати для кожного користувача, які завантажуються в їх браузер. Ці сертифікати звичайно містять ім'я і електронну пошту зареєстрованого користувача та автоматично перевіряються сервером при кожному повторному підключенні. Повторне введеня паролю не потрібне.

Обмеження[ред.ред. код]

Рівень захисту залежить від коректності запровадження браузерного і серверного програмного забезпечення та підтримуваних криптографічних алгоритмів.

Серед користувачів кредитних карток в Інтернеті існує помилкова думка, що HTTPS повністю захищає номер їхньої карти від злодіїв. Фактично шифроване підключення до веб-сервера тільки захищає номер кредитної картки при передаванні між комп'ютером користувача і сервером безпосередньо. Це не гарантує що сервер безпосередньо захищений — він навіть може бути зламаним.

Напади на веб-сервери, які зберігають дані клієнта, здійснити простіше, ніж намагатись перехопити дані при передачі. Вважається, що комерційні сайти негайно пересилають операції, що поступають до шлюзу оплати і зберігають тільки операційний номер, але вони часто зберігають номери карт в базі даних. Звичайно сервер і база даних є ціллю для нападу.

Посилання[ред.ред. код]