https: що це таке?

У нас знову хвилинка корисностей: розповідаємо, як влаштований Інтернет “під капотом”. Сьогодні – про протоколи http і https. Ви зустрічаєтеся з ними кожен день, з цих абревіатур починаються адреси всіх сайтів, до яких ви звертаєтеся. А що це, власне, таке?

HyperText Transfer Protocol, http – як випливає з назви, це протокол передачі гіпертексту. Спочатку http, дійсно, використовувався для передачі тексту з гіперпосиланнями – але пізніше стало зрозуміло, що він підходить для обміну будь-якими даними. Фактично, http – основа сучасного інтернету.

При всій функціональності, у http є дуже вагомий недолік: він ніяк не захищає передані дані: по суті, будь-яка інформація передається у відкритому вигляді. Тому не варто вводити паролі на будь-яких сайтах, адреса яких починається з http (а не https!). Втім, браузер, швидше за все, сам попередить про небезпеку.

З іншого боку, https (HyperText Transfer Protocol Secure) – це розширення до протоколу http: дані передаються в зашифрованому вигляді. Безпеку передачі даних по протоколу https гарантують цифрові сертифікати SSL (Secure Sockets Layer) або TLS (Transport Layer Security). По суті, SSL/TLS-сертифікат – це своєрідне посвідчення сайту, яка підтверджує його справжність. Перед тим як встановити з’єднання по https-протоколу, браузер запитує сертифікат і перевіряє його достовірність. Якщо всі дані дійсні, браузер вважає цей сайт безпечним і починає обмін даними. Сертифікуюча сторона (це, як правило, сторонні організації, які надають SSL/TLS-сертифікати за окрему плату) грає тут роль незалежного зовнішнього арбітра, який засвідчує: так, це саме той сайт, куди ви прямували, ваші дані не потраплять до шахраїв, все під контролем.

Окрім того, що браузери навчилися розпізнавати “безпечні” і “небезпечні” сайти і попереджають користувачів, якщо з’єднання не захищене. Пошукові системи теж підтримують політику безпечної передачі даних-і в пошуковій видачі незмінно ставлять вище ті сайти, які підтримують передачу даних по https-протоколу. Тож якщо стоїть вибір, чи потрібен вашому сайту сертифікат, висновки робіть самі.

Питання із зірочкою: чи обов’язково платити центру сертифікації, якщо ми хочемо організувати безпечну передачу даних? Ви здивуєтеся, але взагалі-то ні, не обов’язково: можна придбати безкоштовний сертифікат в центрі сертифікації на обмежений термін, а можна створити т.зв. самопідписаний сертифікат – в цьому випадку сертифікуючою організацією, що засвідчує справжність домену, будете ви самі. Такі сертифікати можна використовувати у випадках, коли на проекті (сайті) ще немає клієнтів: наприклад, якщо продукт (веб-інтерфейс, додаток тощо) ще тільки знаходиться в процесі розробки.  У статті за посиланням досить докладно розказано, як це зробити.

А тут – ще трохи подробиць про роботу https, сертифікати, цифрові підписи і самопідписані сертифікати. Там ще всякі кумедні питання, наприклад, чи може кафе, до вайфаю якого ви підключилися, бачити, які саме дані ви передаєте, чи може ваша компанія відстежувати ваші дані і чому глава Lavabit здав Сноудена (так, це теж історія про https і безпечну передачу).

І на заняттях ми, звичайно, розповідаємо про все це докладніше.
Так, і не забудьте зберегти пост, щоб не втратити інформацію!

Поділитися:FacebookTwitter
Приєднуйся до дискусії!