Вибір месенджерів Signal та WhatsApp для військових обумовлений рекомендаціями фахівців із безпеки. Командування затвердило ці платформи, оскільки, згідно з аналізом, вони є найкращими для потреб і завдань, що стоять перед військовослужбовцями. Щоб детальніше зрозуміти це рішення, необхідно розглянути основні критерії, які лягли в основу вибору.

Критерії вибору месенджерів для військових
По-перше, месенджер у військових потрібен для горизонтальних зв’язків. Від самого початку базової загальновійськової підготовки (БЗВП) і до курсів підвищення кваліфікації люди постійно комунікують і взаємодіють один з одним. Це і налагодження контактів, і обмін досвідом. Тому боротися з цим — не тільки шкідливо, а й немає жодного сенсу. Люди все одно будуть переписуватись і комунікувати між собою.
Тому одна з вимог до такого месенджера полягає в тому, що його має бути дуже просто встановити як з Google Play, так і з App Store. Також важливо, щоб не було великого “зоопарку” месенджерів, бо якщо для однієї групи якийсь спеціаліст з безпеки сказав використовувати один месенджер, для іншої — інший, то в результаті у людини буде їх декілька, і рано чи пізно вона просто знехтує правилами і почне писати в якомусь Viber чи Telegram.
Це як з паролями. В деяких компаній відділи безпеки вимагають, щоб паролі були з буквами, цифрами і спецсимволами. Ще кажуть, що пароль має змінюватись кожні три місяці, і ці паролі не можуть повторюватись. Ці заходи мають допомогти в захисті від злому. Але в реальності, якщо треба придумати складний пароль, який міняти кожні три місяці, він не може повторюватись і в принципі його неможливо запам’ятати, то в результаті пароль буде просто причеплений на стікер під монітор чи клавіатуру.
І оцей стікер — це не абстрактна вигадка. Конкретно так і відбуваються злами. Беручи це до уваги та витримуючи баланс між зручністю для користувача і певною ілюзією безпеки для більшості, такі наворочені месенджери, типу Threema, Element чи Session, відпадають. Значить, треба вибрати щось, що доволі популярне в принципі серед користувачів. Або якщо вибрати якийсь конкретний месенджер, який, можливо, і не найпопулярніший, треба дуже гарно аргументувати, чому саме він.
Аналіз популярних месенджерів: чому не Telegram та Viber?
Отож, що в нас в Україні найпопулярніше? Telegram. Telegram розроблений росіянами. За замовчуванням нічого не шифрує. Ну, в тому плані, що сервер самого Telegram бачить абсолютно всі переписки у відкритому вигляді і швидше за все ці переписки також читає і ФСБ. Тому він точно, прям абсолютно точно не може бути в списку рекомендованих. Навіть якщо читання ФСБ — це певна ймовірність, все рівно в таких чутливих моментах краще не ризикувати.
Далі Viber. Viber має повністю закритий код, тобто ми не можемо знати, що там всередині. Це такий чорний ящик. Також Viber сам стверджує, що використовує шифрування на базі Signal, але ніяких суттєвих пруфів не дає. Тому це не так небезпечно, як Telegram, але бути впевненим в тому, що відсутні бекдори, ми не можемо. Тим більше, Viber всю свою історію ніколи не позиціонував себе як якийсь захищений месенджер – шифрування було введено тоді, коли вже всі інші месенджери його використовували. Ну і стало якось несолідно без шифрування. Тому воно там швидше формальне, чисто для того, щоб могли на різноманітних рекламних банерах написати, що в нас також є шифрування.
WhatsApp. WhatsApp має шифрування від Signal і підтримується Facebook. Він постійно проходить різні криптографічні аудити, а також наскрізне шифрування в нього доступне у всіх чатах за замовчуванням. Тобто самі сервери WhatsApp не можуть читати, що ви пишете. Майже ідеальний варіант. Єдиний нюанс в тому, що він керується Facebook, а сам Facebook славиться тим, що старається витягнути по максимуму всю інфу для того, щоб продавати вам рекламу. Тому, якщо обирати щось популярного, що найкраще захищене, то під це підпадає WhatsApp.
Історія та довіра до Signal Protocol
Якщо подивитись на всі месенджери серед популярних, то усі, окрім Telegram, використовують Signal-протокол або якісь його варіації. Тому найкраще взяти замість адаптацій безпосередньо оригінал. Більше того, навіть супер наворочені анонімні месенджери, які використовують найкрутіші хакери, все рівно, швидше за все, будуть використовувати протоколи Signal. Ось чому спеціалісти з безпеки рекомендують використовувати WhatsApp або Signal. Але чому до самого шифрування така довіра? Що заважає застосувати якісь бекдори?
Щоб розібратись до кінця, треба піти з самого початку. В 2010 році амереканський дослідник кібербезпеки Моксі Марлінспайк, створює свій перший месенджер з наскрізним шифруванням TextSecure. Моксі Марлінспайк зараз — це просто культова особистість в світі кібербезпеки і криптографії. Він вчився в MIT, ну хто б сумнівався. Почав зі створення алгоритмів шифрування для TextSecure. Потім працював над програмами, які дозволяли шифрувати інші типи даних. Знаходив вразливості в SSL і допоміг їх успішно закрити. Це те, чим шифрують сайти для того, щоб між сервером і клієнтом ніхто не міг підмінити чи перехопити повідомлення. Він публічно виступає проти цензури і спостереження, тому час від часу в нього є конфлікти з певними корпораціями і спецслужбами.
Починаючи з 2010 року, він розвивав свою App TextSecure. Потім він удосконалив своє шифрування, яке дозволило працювати “на льоту”, і створив Redphone. Це дозволяло говорити чисто, як по звичайному телефону, але одночасно повністю зашифрувати увесь потік даних і розшифрувати зі сторони співрозмовника в режимі реального часу. У 2013 році компанія Twitter, власне, підшуковувала когось з кібербезпеки для того, щоб суттєво підсилити себе, тому що вони сильно розігналися, але в безпеці були дуже-дуже слабкі. Тому вони вирішили інвестувати в його компанію Open Whisper Systems для того, щоб сама компанія підвищила безпеку внутрішніх повідомлень Twitter і, в принципі, самої інфраструктури Twitter.
Ця організація на чолі з Моксі взяла за основу TextSecure і Redphone і на цьому всьому створила Signal-протокол. Це був доволі суттєвий крок, щоб комунікації ставали захищеними, бо питання конфіденційності вже в той момент починало ставати все гостріше і гостріше. У Twitter Моксі допомагав налагоджувати безпеку, а сам Twitter, як величезна корпорація з суттєвими ресурсами, популяризував його месенджер TextSecure. Тоді TextSecure і Redphone замість двох окремих App в певний момент об’єдналися і вийшов месенджер Signal.
Що важливо і було трохи в новинку — це те, що Twitter, як корпорація, дала інфраструктуру і ресурси для розвитку відкритого протоколу шифрування. Власне, відкритість і дозволила Signal стати певним еталоном серед месенджерів, тому що будь-хто зі спеціалістів кібербезпеки, в тому числі з великих компаній типу Microsoft, Skype та інших, могли зайти, подивитися, проаналізувати і використати, якщо їм це підходить. Відкритий код дозволив спільноті незалежно перевіряти безпеку, чим активно користувались, в тому числі і топові світові спеціалісти з кібербезпеки. Це були і просто якісь спеціалісти, які чисто з академічного інтересу цим займалися, а також і програмісти у величезних корпораціях. Вони знаходили і усували вразливості, а також взяли і адаптували цей протокол під різні платформи.
Така прозорість створила довіру і серед користувачів, і серед фахівців. Це стало дуже потужним фундаментом для зростання Signal як захищеного месенджера. А ще через відкритість самого протоколу багато корпорацій впровадили його до себе. І тому Signal Protocol почав використовуватись у Facebook Messenger, WhatsApp, Google Месенджері і багатьох-багатьох інших. А оскільки такі величезні гіганти, які між собою конкурують і точно мають ресурси на те, щоб зробити щось захищене в себе, але вибрали Signal-протокол, це стало своєрідним певним еталоном. Тому Signal-протокол вважається стандартом в світі безпеки.
Як працює шифрування Signal
Шифрування Signal настільки надійне, що йому довіряють величезні корпорації, які теоретично могли б створити щось самі, але бачать, що це зроблено вже дуже високому рівні. Але як працює це саме шифрування? Signal використовує end-to-end шифрування, але в плані безпеки пішов набагато далі.
Якщо простіше: ти хочеш передати комусь якусь інформацію, ти пишеш лист і надсилаєш його. Якщо листоноша дуже любить читати всякі плітки, він може відкрити твій лист, прочитати, або навіть гірше, він може відкрити твій лист і підмінити. Щоб цього не сталося, перед тим, як надіслати лист, ти можеш звернутись до компанії, яка помістить твій лист у броньований сейф. Одягне зверху замок і закриє на ключ. Тепер листоноша не зможе ніяк прочитати і підмінити твій лист. Будь-який листоноша, скільки б їх не було на цьому шляху. А от коли твій лист доставлять, тоді компанія, яка орендує сервери, відкриває замок, віддає тобі твій лист.
Так, наприклад, працюють чати в Telegram. Дані шифруються для того, щоб передати по дорозі, але на стороні Telegram вони повністю розшифровуються і сервер бачить все у відкритому вигляді. По суті, ми захистилися від того, що хтось може підмінити чи прочитати по дорозі, але маємо абсолютно довіряти сервісу, який дає нам в оренду оці броньовані сейфи. Якщо ти не хочеш, щоб власник самого сейфу міг прочитати, про що ви там переписуєтесь, то ти можеш орендувати сейф, але ключ зробити самому. Ти зробив свій замок і ключ, і прийшов орендувати сервери. Тепер ти кладеш лист і сам закриваєш свій замок. Більше ніхто крім тебе не зможе його відкрити. Тепер ніхто по дорозі не зможе подивитись, які хтивки ти надсилаєш. Також сам власник сейфів не зможе відкрити його і подивитись. Але стоп, тут є один нюанс, тому що і той, кому ти передав сейф, також не зможе його відкрити. Ключа ж в нього немає.
Ось для того, щоб, в принципі, це все могло працювати, перед пересилкою потрібно зробити ітерацію обміну ключами. Ти береш свій замок, ключ, вішаєш замок на сейф, закриваєш своїм ключем і передаєш сейф. Отримувачу приходить сейф з замком, який він відкрити не може. Він просто бере свій замок з своїм ключем і вішає біля твого. Далі сейф знову йде до тебе. Ти береш свій замок, відкриваєш і знімаєш, і пересилаєш назад. Відповідно, отримувач отримує сейф тільки з своїм замком, тому він без проблем може відкрити і подивитись, що там всередині сейфу. Це називається Extended Triple Diffie–Hellman. І так працює обмін ключами в Signal або в секретних чатах Telegram.
Серед цього всього пояснення зверни увагу, що це аналогія для того, щоб зрозуміти загальну схему. Signal не прямо так працює. Ми спробували описати аналогію з публічними і приватними ключами. Це як ти передаєш поштову скриньку, де потрібен публічний ключ для того, щоб її відкрити і кинути в шпаринку лист, а приватний ключ для того, щоб ззаду відкрити і мати можливість витягти, прочитати лист. Той, хто має публічний ключ, може тільки закинути лист, але він ніколи не зможе розшифрувати назад і прочитати. І ти, хто має приватний ключ, можеш ззаду відкрити і прочитати вже всі листи.
Але Signal і на цьому базовому рівні шифрування не зупинився. Вони йшли далі на кожному можливому моменті. Наприклад, вони міняють ключі під час кожної з відправок повідомлень. Тобто, якщо навіть хтось зможе перехопити ключ, десь його дістати і розшифрувати одне повідомлення, він не зможе далі розшифровувати всю переписку. Йому буде доступне тільки ось це одне повідомлення.
Окей. З вмістом самого сейфу чи листа розібралися. Там все зашифровано і надійно. Тепер пішли до найцікавішого — метаданих. Це те, що ви пишете на конверті і теоретично може прочитати будь-хто. Воно і створено для того, щоб читав його будь-хто. Наприклад, листоноша — це хто відправник і хто отримувач. Це називаються метадані і потрібні для того, щоб в принципі сам сервіс міг доставити повідомлення.
Telegram в цьому плані досить сильно зловживає і в самих метаданих відправляє дуже багато інформації, яка є необов’язковою для банальної доставки повідомлень. Навіть в секретних чатах він бачить, хто і з ким спілкується, коли і скільки повідомлень відправили, розмір цих повідомлень і з яких девайсів пишуть. На перший погляд, може здатись, ну, неможливо ж це приховати, тому що це потрібно сервісу для того, щоб банально працювати. Але Signal показав, що це можливо. Треба просто дійсно гарно заморочитись.
У Signal окремо розробили криптографічний протокол Sealed Sender. І по суті Signal бачить лише кому вони мають відправити повідомлення, бо без цього ніяк. Нічого іншого вони не бачать. Тобто це як створили лист, де написали кому відправити, але не написали від кого. Тому, коли вони доставляють повідомлення, сам Signal не знає, це він доставить від п’яти різних юзерів, чи це просто активна переписка з кимось одним. Він навіть не бачить сам розмір повідомлення, тому що спеціально алгоритм шифрування пакує в певні уніфіковані контейнери. І якщо повідомлення доволі маленьке, то цей контейнер заповнюється пустим місцем для того, щоб не можна було по вмісту зашифрованого повідомлення зрозуміти: ось тут написали багато тексту, ось тут мало тексту, а тут взагалі файл передали.
Це як контейнер для морських перевезень. Ти можеш орендувати контейнер, він ставиться, а всередині може бути весь забитий бананами, або там зберігається авто. Для зовнішнього спостерігача це все будуть просто контейнери, які виглядають однаково. І ще що цікаво, Signal не зберігає навіть дату і час відправки. Вся ця інформація міститься всередині зашифрованого контейнера. Тільки коли ваш девайс розшифрує повідомлення, аж тоді він побачить точну дату і час, коли воно було надіслане.
Конкретно цю особливість можна помітити, якщо ви “чатитесь” з людиною, в якої поганий інтернет, і тоді повідомлення можуть приходити в рандомному порядку. Тобто якесь дійшло швидше, якесь повільніше. І тому повідомлення можуть виглядати так: зверху “як справи?”, написано 8:10. Нижче “привіт”, написано 8:08. І тому Signal просто отримує паковани запакованих контейнерів тоді, коли вони змогли відправитись. Немає ніякого ланцюжка, який за яким контейнер має бути, тому що Signal навіть не уявляє, що це від однієї людини. А на девайсі вони відображаються в тому порядку, в якому прийшли, для того, щоб не вийшло ситуації, що якесь повідомлення, яке дійшло пізніше, вийде, зупиниться за екраном і ти просто його не побачиш.
І ось це все працює в звичайному Signal. Не треба відкривати ніяких секретних чатів чи робити якісь складні налаштування. Просто в базовому месенджері всі ці речі з безпеки вже активні і працюють.
Міфи та реальність: чому Signal не для всіх, історія Anom
Окей, якщо він такий крутий, надійний, класний, чому деякі спеціалісти з безпеки дуже люблять крутити носа від Signal? По-перше, для реєстрації Signal вимагає номер телефону, а це прям дуже серйозна деанонімізація, бо Signal позиціонує себе як захищений месенджер, який буде шифрувати ваші повідомлення, а не як анонімний месенджер, який заховає вас як особистість. По-друге, Signal має централізований сервер, через який проходять повідомлення. І хоч він збирає мінімум даних, але все ж таки весь трафік проходить через цей сервер і які-не-які, а метадані йому видні.
Ну і нарешті, чим популярніший месенджер серед всяких “плейбоїв” і “нормісів”, тим більше люди, які тільки-тільки почали розбиратись в кібербезпеці, хочуть показати себе такою елітою і не як всі, і починають ганьбити те, чим користуються всі, і користуватись якимось “ноунейм” месенджером, яким користуються дві-три людини. Ну, тому що не гоже еліті в кібербезпеці користуватись тим самим, що і дядя Валєра. До речі, не спеціалісти в кібербезпеці хочуть так само, тому що, ну, існує ілюзія, що те, що може установити будь-хто і користуватись будь-хто, не може бути настільки навороченим в плані безпеки. І насправді мають бути якісь супер-ексклюзивні месенджери, які будуть набагато крутіші і краще працювати.
На цьому, до речі, підловили одних продавців з наркотиками. Це зробили спецслужби Штатів і Австралії. Вони створили месенджер Anom. Цей месенджер продавали як максимально закритий, секюрний месенджер для своїх. На вигляд він був як калькулятор, в якому, коли набираєш певну комбінацію цифр, відкривається вже сам месенджер. Передавали його тільки з рук в руки, від своїх для своїх. Ну, як передавали — продавали, і то доволі дорого, тому що не можеш бути секюрний месенджер безкоштовним. І під виглядом ексклюзивності вони й створили в несильно підкованих у плані кібербезпеки користувачів ілюзію максимально захищеного месенджера. Але під “капотом” спецслужби бачили тупо всі переписки в режимі реального часу.
Причому спеціалісти з безпеки одразу казали, що це якийсь мутний месенджер. Немає ні вихідних кодів, ніяких аудитів по безпеці. Перевірити надійність шифрування неможливо. Ну, але хто буде тих задротів слухати?
Тому, якщо ви не розбираєтесь з шифруванням і ви не хочете з чимось колупатись, то Signal — ідеальний варіант, тому що для вас ззовні що якийсь Element, що якийсь Anom будуть виглядати максимально ідентично, а під “капотом” це абсолютно захищений і абсолютно незахищений месенджер. Саме тому в ЗСУ і обрали Signal і WhatsApp як основні месенджери. WhatsApp, тому що він найпопулярніший, Signal, тому що це оригінал. Людям не буде складно використовувати, навіть якщо вони не користувались до цього, в принципі, нічим. А ще різні групи будуть все одно знаходитись в одному месенджері, і тому людям не приходиться використовувати значну кількість різноманітного програмного забезпечення.