Що таке SSL/TLS у протоколі HTTP і для чого воно потрібно?

Ви завантажюючи цю сторінку скористалися протоколом HTTP: ввели адресу сайту в бровзері, бровзер зробив запит на сервер і повернув вам вміст сторінки. У нашому конкретному випадку ви введи https://technoblogua.wordpress.com і скористалися HTTPS версіює протоколу HTTP. Це означає що всі запити/відповіді шифруються за допомогою технології SSL/TLS.

У чому різниця SSL і TLS? Це посуті одне і теж, але SSL це старіша технологія, яка вже своє віджила, має відомі вразливості відповідно і потрібно використовувати новішу її версію яка називається TLS. Найновіша рекомендована версія – TLS 1.2

Для чого потрібно використовувати SSL/TLS? Коли ви реєструєтеся на сайті, вводите свої логін/пароль і натискаєте відправити то дані відправляються на сервер у відкритому вигляді якщо технологія SSL/TLS не застосовується. Зловмисник який перебуває в мережі може перехопити ваші дані. З використанням шифрування така проблема вирішується.

Крім того використовуючи SSL/TLS ви можете бути впевнені що сайт на який ви зайшли дійсно є тим за кого він себе видає. На противагу, підробний сайт без SSL/TLS легко може видавати себе за  інший.

Використовуючи SSL/TLS навіть ваш інтернент провайдер (роботодавець, чи будь хто інший) не буде знати якою саме інформацією ви обмінуювалися в інтернеті. Максимум що зможе побачити провайдер, це сайти які ви відвідали.

Що таке Tor

Tor дає можливість користуватися інтернетом і при цьому зберігати анонімність. Сайти і сервіси якими ви користуєтеся через Tor не будуть бачити вашої реальної IP адреси і ім’я комп’ютера, так само як і ваш інтернет провайдер не буде знати які сайти ви відвідуєте і якою інформацією обмінюєтеся.

Tor обирає Tor-ноди (сервери на яких працює спеціальне програмне забезпечення) через які буде відбуватися з’єднання.

Приклад

Ваш комп’ютер -> Tor-node1 -> Tor->node2 ->Tor-node3->….Tor-nodeN -> сайт на який ви зайшли.

Вся інформація шифрується в кілька шарів (Принцип роботи як у цибулі – багато шарів. Кожен шар шифрується публічним ключем сервера-ноди на який відправляється запит і тільки сервер якому адресований запит може розшифрувати.). Коли запит приходить на node1 то він тільки знає що треба далі запит переслати на node2 і що інформація прийшла від вас. Далі коли доходить черга до node2, то цей node2 знає тільки що запит був з node1 і що потрібно передати запит на node3. Node2 не знає ні вмісту запиту (тобто адресу сайту яку ви ввели, ні деталей інформації якою ви обмінюєтеся з сервером чи іншими користувачами). Node2 лише знає звідки прийшло і куди передати. Запит іде далі і таким чином досягається анонімність.

Для роботи можна користуватися Tor Browser -ом https://www.torproject.org/download/download.html.en

Є версія для Андроїд https://play.google.com/store/apps/details?id=org.torproject.android&hl=uk + https://play.google.com/store/apps/details?id=info.guardianproject.browser&hl=uk

Доступно також на F-Droid https://f-droid.org/repository/browse/?fdfilter=orbot&fdid=org.torproject.android + https://f-droid.org/repository/browse/?fdfilter=orbot&fdid=info.guardianproject.browser

З Tor працює також програма меседжер ChatSecure https://play.google.com/store/apps/details?id=info.guardianproject.otr.app.im&hl=uk

Що таке Jabber/XMPP?

XMPP (Jabber) – це протокол обміну повідомленнями. Google Hangouts (google talk) побудований на осонові XMPP і сумісний із ним. Для прикладу ви можете користуватися будь яким клієнтом jabber для роботи з hangtous. Найвідоміші клієнти: Pidgin, Jitsi, ChatSecure та інші.

Можна скористатися як готовими сервісами, тобто зареєструватися на сайті який надає таку послугу, як от  DuckDuckGo або налаштувати свій власний сервер для прикладу OpenFire і повністю контролювати свої розмови.

Налаштування клієнта зазвичай дуже просте. Потрібно вказати imya_korystuvacha@imja_servera.com і пароль.

 

Хороша стаття про використання  Jabber/XMPP + OTR + TOR на Mac /  Linux / Windows / Android для безпечного і анонімного спілкування.

https://firstlook.org/theintercept/2015/07/14/communicating-secret-watched

Mail-in-a-box – власний e-mail сервер + сховище файлів owncloud + панель управління

Все що потрібно це реальний або віртуальний сервер з  Ubuntu 14.04

далі заходимо на машину і вводимо

curl -s https://mailinabox.email/bootstrap.sh | sudo bash

Система все налаштує автоматично.

Джерело: https://mailinabox.email

Ресурси для захисту приватності в інтернеті

Дуже рекомендую ось ці сайти. Вони дають змогу розібратися з технологіями шифрування та анонімізації в інтернеті. Більшість інформації на англійській мові.

Загальна інформація про такі інструменти безпеки, як анонімайзер TOR, шифрування з PGP, чат OTR, опереційна система TAILS

https://freedom.press/sites/default/files/encryption_works.pdf

 

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

https://prism-break.org/

 

Сайт з описом і базою безпечних додатків.

https://guardianproject.info/

 

Налаштування бровзера і рекомендації для захитсу в інтернеті

https://www.privacytools.io/

Що таке PGP (GPG) і як із ним працювати/шифрувати емейли на прикладі Mailvelope.

PGP (Pretty Good Privacy) програма/бібліотека для шифрування. Назва каже сама за себе. Кажуть за надійністю близька до стандартів армійського шифрування. Часто використовується для шифрування емейлів (що ми і розглянемо в цьому пості) але можна шифрувати і файли. Едвард Сноуден використовував саме PGP для спілкування з журналістами.

GPG або GNU Privacy Guard – відкрита версія стандарту PGP

Існує симетричне і асиметричне шифрування. GPG підтримує обидва способи. Що це таке?

Симетричне. Шифрування відбувається одним і тим же ключем. Тобто: зашифрували файлик ключиком ‘А’ а потім для розшифрування потрібен цей самий ключик ‘А’.

Уявіть собі скриньку із вбудованим замком. Туди ви кладете ваш лист. Закриваєте її на ключ і пересилаєте її вашому адресату. У адресата є копія цього ключа який зможе відкрити цю скриньку.

Інший приклад. Закрили важливі документи в сейфі і в таємному місці зберігаєте ключ до сейфа.

Асиметричне. Тут вже цікавіше. В такому випадку відбувається генерація пари – двох ключів: private key (секретний ключ, тільки для вас) і public key (публічний, загальнодоступний для всіх).

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

  • Замочок автоматично закривається (захлопується) без ключа.
  • На кожному замочку написано ім’я власника.
  • Всі замочки може відкрити один ключ. Цей ключ є тільки у власника.

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

gpgДля приватно спілкуватися Антон передає Вірі і Богдану свої замочки. Так само поступають Віра і Богдан. Всі вони обмінюються своїми замочками. Після цього для прикладу у Богдана крім своїх ключа і замочків є ще й замочки від Антона і Віри.

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

Тепер бажаючи відповісти Богдану вона пише листа. Кладе його у коробку і зверху вішає замочок Богдана на коробку і відсилає його Богданові. Тепер тільки Богдан зможе відкрити і прочитати те, що там написано.

’Замочок’ це public key

’Ключик’ це private key

Отже, Антон коли пише листа Богдану то зашифрує повідомлення за допомогою public key Богдана. Богдан після отримання  повідомлення від Антона розшифрує його своїм private key.

gpg2

Тепер трішки практики

Інструмент для роботи – Mailvelope

Качаємо для Firefox (рекомендовано), але є варіант і для Chrome.

https://addons.mozilla.org/en-US/firefox/addon/mailvelope/

Встановлюємо і натискаємо на значку(замочок і ключик) і тиснемо кнопку options

open_mailvelope

Генеруємо ключ.
Вводимо свої дані і придумаємо сильний пароль.

Screenshot from 2015-04-01 20:47:13

Заходимо Display Keys -> клікаємо на нашу згенеровану Пару ключів. (’Ключ’ + ’Замочок’)-> Export -> Public -> копіюємо цю всю абрукадабру або тиснемо Download і ця абракадабра збережеться для нас у файлику.
Це і є ’Замочок’ який ми повинні надіслати нашим контактам.
ТІЛЬКИ УВАЖНО. Це має бути PUBLIC !!!

Screenshot from 2015-04-01 20:53:38

І тепер навпаки. Коли вам хтось присилає свій “Замочок” (свій public key) його потрібно імпортувати до свого сховища.
І відповідно ви або копіюєте тест ключа (абрукадабру) або вибираєте файлик і його підвантажуєте у броузері.
Далі тисніть submit
Так ви приймете чийсь “Замочок” і ним зможете для цієї особи шифрувати листи.

Screenshot from 2015-04-01 21:01:46

Зараз напишемо листа, зашифруємо його і відішлемо його на прикладі пошти Gmail.

Створюємо новий лист в Gmail.
Пишемо адресу отримувача, тему (все як зазвичай), а в полі де писати повідомлення
натискаємо значок блокнотика з жовтим олівцем.

Screenshot from 2015-04-02 16:52:51

Вводимо повідомлення яке буде зашифроване. І натискаємо encrypt

Screenshot from 2015-04-02 16:53:20

Далі вибираємо зі списку людину якій адресується повідомлення.
Тобто ви вибираєте ’Замочок’ (public key) тієї людини якій ви адресуєте листа. (Перед тим ви б мали додати ці ’замочки’ в сховищі, як описано в попередніх кроках. Якщо ви цього не зробили, то в списку буде лише ваш ’замочок’ і зашифрувати ви зможете лише самі для себе.)
Коли вибрали то натисніть Add і потім OK

Screenshot from 2015-04-02 16:53:32

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

Screenshot from 2015-04-02 16:53:39

Ось тепер ваше зашифроване повідомлення готове до відправлення через gmail.
Відправляйте!

Screenshot from 2015-04-02 16:53:47

Коли вам хтось надішле таке повідомлення то ви наведіть мишкою на нього.
З’явиться конвертик і ключик. Клікніть по конвертику

Screenshot from 2015-04-02 17:11:19

Програма автоматично перевірить чи є у вас в сховищі ’Ключик’ (private key) до ’Замочка’ який висить на повідомленні яке до вас прийшло. Якщо так то запропонує  ввести пароль до нього.
(Згадайте, ви коли генерували ключі то вказували пароль)

Screenshot from 2015-04-02 17:12:25

Тиснете Ок і якщо все вірно то побачите зашифроване повідомлення

Screenshot from 2015-04-02 17:12:57

Дякую за увагу