TGViewer
10 минут до кода 10 минут до кода @ten_minutes_to_code · 228 subscribers
Post #143 260
Почему HTTPS не спасет ваши секреты

Замочек в адресной строке браузера — это мощное успокоительное для обывателя, но для инженера это лишь индикатор того, что данные не украдут прямо из кабеля.

Большинство считает: раз есть HTTPS, значит, информация в безопасности. Но это опасное заблуждение. Трафик действительно шифруется, но только в узком коридоре «клиент — сервер».

Иллюзия бронированного сейфа

Представьте, что вы отправляете сверхважное письмо в бронированном сейфе. Пока курьер везет его до почтового отделения, всё отлично — вскрыть его на ходу невозможно. Но как только посылка попадает на склад (наш сервер), сотрудники почты достают письмо из сейфа и кладут его на полку в открытом виде.

Под капотом HTTPS работает именно так: пакет данных зашифрован, пока летит по сети, но в конечной точке, на сервере, происходит терминация SSL/TLS. Сервер получает чистый текст, который затем улетает в базу данных или оседает в логах. Если админ или злоумышленник получит доступ к серверу, ваша «защита» превращается в тыкву.

Механика End-to-End: Исключаем посредника

Чтобы данные оставались приватными, мы должны убрать у сервера саму техническую возможность их прочитать. Здесь в игру вступает сквозное шифрование (E2E). Основная задача — сделать так, чтобы в цепочке не было третьей точки, способной расшифровать payload.

Логика строится на асимметричном шифровании и паре ключей:

1. Public Key (Публичный): Отдается миру. Нужен только для того, чтобы зашифровать сообщение для конкретного получателя.
2. Private Key (Приватный): Хранится строго на устройстве пользователя. Только он может расшифровать то, что было зашифрованно его публичным ключом.

В момент «рукопожатия» (инициации секретного чата) клиенты обмениваются публичными ключами. И когда вы пишете сообщение, ваше приложение шифрует его публичным ключом собеседника. Сервер же получает запертый сейф, к которому у него нет и не может быть отмычек. Поэтому роль бэкенда здесь сводится к примитивной пересылке зашифрованного байт-кода от клиента А к клиенту Б. И когда сообщение получит клиент Б, он сможет расшифровать его своим приватным ключом.

Инженерный профит: Безопасность через неведение

Для разработчика E2E — это лучший способ снять с себя ответственность за чужие данные. Если вы как провайдер физически не можете прочитать переписку, вы не станете источником утечки при взломе базы.

Правда, есть нюанс: если у пользователя утечет приватный ключ, вся история сообщений в базе (если вы её храните и она тоже утекла) мгновенно станет доступна злоумышленнику. Поэтому архитектура E2E часто подразумевает, что хранить зашифрованный мусор на сервере вообще нет смысла — разве что для синхронизации истории, но и это требует ювелирной работы с ключами.

Если хотите глубже разобраться в этой теме, то приглашаю вас в ВЕБМастер. Мы будем по косточкам разбирать реализацию таких систем в рамках проекта, который будем делать в Мае. Будем пилить мессенджер с групповыми чатами и полноценным E2E, чтобы на практике понять, как управлять ключами и не превратить архитектуру в решето. Подробнее про проект я расскажу совсем скоро 👌

Ставь 🔥, если не знал как работает E2E шифрование, а теперь все понятно

А если остались вопросы или что-то звучит слишком абстрактно — пиши в комменты, обязательно разберем!

10МДК | ВЕБМастер
  • 🔥 2
More from @ten_minutes_to_code
  1. May 28, 2026Первый сезон получился про путь “от пользователя к инженеру”. Именно эту картину мы весь с…
  2. May 28, 2026Когда я запускал этот канал, у меня была довольно простая идея: писать каждый день коротки…
  3. May 7, 2026Почему нормализация БД — это чистая логика, а не бюрократия На любом ongoing-проекте требо…
  4. May 3, 2026🤔 А где новые посты? Сори что вот так пропал без предупреждения, но я думал что справлюсь…
  5. Apr 28, 2026Целостность данных против иллюзии атомарности Начинающий разработчик видит базу данных как…
  6. Apr 26, 2026Почему «сделай за меня» убивает в тебе инженера Распространение LLM вскрыло глобальный баг…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →