Сигурна пусх обавештења: од теорије до праксе

Хеј Хабр!

Данас ћу говорити о томе шта моје колеге и ја радимо већ неколико месеци: пусх обавештења за мобилне инстант мессенгере. Као што сам већ рекао, у нашој апликацији главни нагласак је на безбедности. Стога смо сазнали да ли пусх обавештења имају „слабе тачке“ и, ако јесу, како их можемо изравнати како бисмо додали ову корисну опцију нашој услузи.

Објављујем превод нашег чланци из Медиум уз неке мале додатке од себе. Садржи резултате „истраге“ и причу о томе како је проблем решен.

Испитујемо материјал

У класичном моделу, пусх обавештења чине гласнике рањивим на МИТМ (Ман-ин-тхе-миддле) нападе. На пример, са Гоогле-ом, Мицрософт-ом и старом верзијом иМессаге-а, апликација шаље кључеве за шифровање Аппле серверима – на серверу се аутентификују корисници и дешифрује се заглавље поруке (или њен садржај).

Сигурна пусх обавештења: од теорије до праксе

Као резултат тога, постоји шанса да прочитате преписку тако што ћете добити приступ серверу пусх обавештења. То значи да је свако шифровање кореспонденције бескорисно: пусх обавештења ће и даље оставити могућност да их треће стране читају. Аутори чланка су детаљније разматрали ову могућност. „Шифруј исправно“ на Ксакер.ру, посвећен методама шифровања порука.

Ако мислите да су Аппле и Гоогле сервери 100% сигурни од цурења корисничких кључева за шифровање, узмите у обзир чињеницу да њихови запослени имају приступ њима. А запослени су људи.
Упркос свим рањивостима пусх обавештења, многи „безбедни“ инстант мессенгери, укључујући Сигнал и Телеграм, их користе. У супротном, корисници ће морати „ручно“ да прате нове поруке сталним пријављивањем у апликацију. Што је веома незгодно, а конкурентски гласници ће добити предност.

Параноја и здрав разум


У нашем пројекту смо се помно бавили овим питањем пре неколико месеци. Морали смо да додамо опцију пусх обавештења да бисмо били конкурентни. Али у исто време, немојте отварати безбедносну рупу, јер ће свако цурење података поткопати поверење у пројекат.

Међутим, већ имамо важну предност: наш месинџер је децентрализован (подаци се чувају на блокчејну), а запослени немају приступ налозима. Само корисници имају кључеве за шифровање, а јавни кључеви саговорника доступни су на блокчејну ради заштите од МИТМ напада.

У првој верзији пусх обавештења одлучили смо да будемо сигурни колико год је то могуће и да уопште не преносимо текст поруке. Пусх сервис није примио текст поруке од чвора, већ само сигнал о чињеници њеног пријема. Стога је корисник видео обавештење „Нова порука је стигла“. То је било могуће прочитати само у гласнику.

Сигурна пусх обавештења: од теорије до праксе
Како је функционисало: видео.

Након тога смо сазнали да Аппле-ова најновија верзија обавештења има нове безбедносне функције. Они пуштен УННотифицатионСервицеЕктенсион, који омогућава програмерима да шаљу потпуно шифроване податке обавештења преко АПНС-а. Апликација на уређају крајњег корисника затим врши дешифровање (или преузима додатне податке) и приказује обавештење. Узели смо то као основу за другу верзију пусх обавештења.

Сада смо развили другу верзију пусх обавештења за иОС, која вам омогућава да прикажете текст поруке без безбедносног ризика. У новом концепту, логика изгледа овако:

  • Пусх услуга шаље пусх обавештење са бројем трансакције (шифрована порука може бити веома велика, а величина обавештења је веома ограничена)
  • Када уређај прими обавештење, покреће нашу НотифицатионСервицеЕктенсион – микроапликацију која захтева трансакцију од чвора по ИД-у, дешифрује је користећи сачувану приступну фразу и шаље ново обавештење систему. Приступна фраза се чува у безбедном складишту.
  • Систем приказује обавештење са дешифрованом поруком или преводом.
  • Кључеви не иду никуда, баш као и обична текстуална порука. Пусх услуга нема начин да дешифрује поруку.

Сигурна пусх обавештења: од теорије до праксе

Прихватили смо ову верзију као функционалну и имплементирали је у најновије ажурирање иОС апликације.
Они који су заинтересовани за техничку страну могу погледати изворни код: гитхуб.цом/Адамант-им/адамант-нотифицатионСервице.

Извор: ввв.хабр.цом

Додај коментар