Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Выглядит довольно надёжно, но что если пользователь сам скомпрометирует хранилище сертификатов в своей системе, установив в доверенные сертификат злоумышленника.
Имхо, это достаточно смелое предположение.
Отдельный момент — это то, как многие приложения реализуют Pinning: пользователь получает максимально неинформативное сообщение о том, что приложение не работает (крайне мало компаний пишут хоть что-то о том, что сертификат может быть подменён), он пытается ещё раз, идёт искать "ApplicationName не работает", попадает на официальный сайт, где написано "Вышла новая версия приложения, старая вообще никак работать не будет, установите по ссылке новую, в ней дадим 100 рублей компенсации", а там уже ссылка на фишинговое приложение.
Имхо, это достаточно смелое предположение.
От митма спасут сами ОС которые не дадут установить контакт если сертификат не подходит/произошел даунгрейд, пытаются подменить.
Если ваше приложение захотят атаковать надо просто заменить файл сертификата и пересобарать приложение, на андроиде это делалось за пару минут.
А что вы собираетесь делать если истечет срок жизни сертификата, о таких вещах частенько забывают?
В полной мере от социальной инженерии невозможно защититься.
По поводу сертификата буду благодарен за сравнение кода с примером сертификата и кода сертификата как list, в том смысле насколько они разные/узнаваемые и тяжело ли будет их найти.
SSL pinning во Flutter