Signal въведе нова функция, наречена автоматично потвърждаване на ключове, предоставяйки на потребителите нов начин да потвърдят, че никой не се е намесил тайно в техните шифрирани чатове.
„Signal винаги е шифриран от край до край (end-to-end), а автоматичното потвърждаване на ключове предоставя допълнителен, оптимизиран начин за потвърждение, че няма неочаквана страна между вас и другия край на шифрираната сесия“, написа в публикация в блога инженерът от Signal Катрин Йен.
„Тя работи чрез система от проверки, извършвани от вас, вашите контакти в Signal и независими одитори, които заедно осигуряват същата сигурност, както ръчното потвърждаване на номерата за безопасност. За разлика от номерата за безопасност, тези проверки се извършват независимо и не изискват лична среща или вторичен канал за комуникация“, добави Йен.
Йен обясни, че системата помага да се гарантира, че телефонен номер или потребителско име остават свързани с постоянен шифроващ ключ в мрежата на Signal, предпазвайки от сценарий, при който атакуващ манипулира директорията с ключове на Signal и подменя ключа с друг без знанието на собственика на акаунта.
За автоматично потвърждаване на контакт потребителите могат да отворят профила на съответния човек, да натиснат „Преглед на номера за безопасност“ и след това да изберат „Автоматично потвърждаване“. Ако проверката е успешна, Signal показва зелена отметка до съобщението „Шифрирането е потвърдено“.
Функцията се базира на криптографска система, известна като прозрачност на ключовете (key transparency). Когато някой се регистрира, промени телефонния си номер или потребителското си име, или пресъздаде акаунта си, произтичащите промени се интегрират в системата за прозрачност на ключовете на Signal.
Две външни организации, Cloudflare и Trail of Bits, независимо одитират системата. Тяхното участие има за цел да направи откриваеми опитите за представяне на несъвместими версии на записите на ключовете пред различни потребители.
Информацията, достъпна за одиторите, е криптографски защитена, което означава, че те не получават телефонните номера или потребителските имена на потребителите в нешифриран вид.
Прозрачността на ключовете помага да се установи, че потребителите на Signal виждат съгласуван запис за това кои шифроващи ключове към кои акаунти принадлежат. Тя обаче не установява реалната самоличност на лицето, контролиращо даден акаунт, нито предпазва от някой, който напълно е компрометирал и превзел легитимен акаунт.
Освен това автоматичното потвърждаване в момента зависи от това дали Signal разполага с телефонния номер на контакта. Поради това то може да не е достъпно, когато разговорът е започнат само с потребителско име. Потребителите все още могат ръчно да потвърждават номерата за безопасност, когато автоматичното потвърждаване не е налично.
Тези, които не желаят да се доверяват на Signal и на независимите одитори, могат да деактивират автоматичното потвърждаване на ключове в настройките за поверителност на Signal (Privacy > Advanced) и да продължат да разчитат на ръчно потвърждаване на номера за безопасност.
Шифрирането от край до край на Signal зависи от това приложението да получи публичния ключ на получателя от сървърите на Signal, които действат като директория за мрежата.
Ако атакуващ получи контрол над тази директория или вътрешен потребител с привилегии злоупотреби с достъпа си, той би могъл да подмени ключа на целевия акаунт с различен и потенциално да се намеси в разговора незабелязано.
Signal представя това като малко вероятен сценарий, който би изисквал или компрометиране на голяма облачна инфраструктура, или умишлено насочване на привилегирован вътрешен човек срещу конкретен акаунт.
Напоследък Signal затяга сигурността около своето приложение. През май компанията добави нови защити за потребителите, след като руски държавно спонсорирани киберпрестъпници се насочиха към профили на високопоставени лица с фалшиви известия от „Поддръжка на Signal“.