Пароль, отправленный в мессенджере, никуда не девается: он лежит в истории, в резервной копии, в облаке у получателя, и через три года его найдёт любой, кто получит доступ к любому из этих мест.
То же с файлом: отправили по почте, и он лежит на сервере почты в открытом виде, сколько бы вы ни удаляли письмо у себя. Ниже четыре способа передать секрет так, чтобы после передачи его не было нигде, кроме как у получателя. Все работают в браузере, ничего ставить не надо.
ГДЕ ОСЕДАЕТ СЕКРЕТ
мессенджер история, бэкап, облако
почта сервер отправителя и
сервер получателя
облако у сервиса, навсегда
└─ удалить у себя не значит
удалить везде
Способ 1: записка, которая сгорает
Для пароля, кода, номера карты, всего короткого. Напишите текст в сгорающую записку: он зашифруется прямо в браузере, вы получите ссылку, а после первого прочтения записка исчезнет. Не прочитают за час, сутки или неделю, сгорит сама.
Главное в этой конструкции: ключ живёт в самой ссылке, после знака #. Это фрагмент ссылки (часть адреса после решётки, браузер не отправляет её на сервер), так устроен сам протокол. На сервер приходит зашифрованная строка и её имя, которое тоже выведено из ключа. Расшифровать нам нечем, это не обещание, а отсутствие ключа.
Что стоит понимать заранее. Если ссылку откроет не тот человек, он и прочитает записку, а настоящий получатель увидит, что она уже сгорела. В этом есть польза: вы сразу узнаете, что ссылка ушла не туда. Но защищает записка не от перехвата ссылки, а от вечного хранения секрета в переписке. И превью в мессенджере записку не сжигает: чтение происходит по кнопке на странице, а не по заходу.
Способ 2: файл напрямую, минуя серверы
Для файла любого размера, который не должен нигде лежать. 404 Send передаёт его из вашего браузера в браузер получателя напрямую. На наших серверах файл не оказывается: мы передаём только зашифрованный конверт с описанием соединения, чтобы два браузера нашли друг друга. Ни файла, ни его имени, ни адресов сторон мы не видим.
Два ограничения, и оба честные. Первое: пока получатель не открыл ссылку и не нажал «Принять», файл лежит у вас на диске, и передача не началась. Поэтому вкладку закрывать нельзя, это не загрузка на сервер, а прямое соединение, и одна сторона без другой не работает. Ссылка живёт десять минут. Второе: размер ограничен памятью получателя, браузер собирает файл целиком, прежде чем сохранить.
Кому это подходит: двум людям, которые оба сейчас у экрана. Кому нет: если получатель откроет «когда-нибудь». Для этого способ 3.
Способ 3: зашифровать паролем и слать чем угодно
Для файла, который поедет почтой или облаком, потому что иначе неудобно. Зашифруйте файл паролем до отправки: пароль превращается в ключ, файл в набор байт, который без пароля не прочитать. Используется AES-256 (стандартный шифр, тот же, что в банках и мессенджерах) в режиме, который не только прячет содержимое, но и замечает, если файл по дороге подменили или испортили. Всё считается в браузере, файл никуда не загружается.
Для короткого текста то же самое делает шифрование текста: на выходе одна строка, которую можно вставить куда угодно.
Чем это лучше архива с паролем: ничего не надо ставить, и здесь заведомо современный алгоритм. У старых ZIP-архивов шифрование ломается за минуты, а какое именно внутри конкретного архива, по файлу не видно.
Одно правило, которое делает способ рабочим: пароль отправляйте другим каналом, не тем, которым идёт файл. Файл почтой, пароль голосом или в мессенджере, и наоборот. Смысл в разделении: если переписку прочитают, в ней не должно быть одновременно и файла, и ключа к нему. И второе: забытый пароль это потерянный файл. Мы не храним ни паролей, ни ключей, ни копий, восстановить нечего и некому.
ЧТО КУДА
пароль, код, номер сгорающая записка
файл, оба у экрана напрямую, Send
файл, получатель зашифровать паролем,
откроет потом слать чем угодно
постоянная переписка шифрование к адресату
└─ пароль от файла всегда
другим каналом
Способ 4: шифрование к адресату, без общего пароля
Если с человеком вы обмениваетесь секретами постоянно, каждый раз придумывать и передавать пароль надоедает. Тогда шифрование для адресата: получатель один раз публикует свой открытый ключ, вы шифруете на него, и расшифровать может только он своим закрытым ключом. Общего пароля нет, передавать нечего, перехватывать нечего. Это та же схема, на которой держится вся переписка со сквозным шифрованием, только без приложения.
Как я бы делал
Скажу прямо. Пароль от Wi-Fi гостю: записка на час. Договор бухгалтеру: зашифровать паролем, файл почтой, пароль голосом по телефону. Сто фотографий другу: Send, пока оба у экрана. Регулярный обмен с одним и тем же человеком: один раз обменяться ключами и забыть про пароли.
Чего я бы не делал: не слал бы пароль в том же чате, где лежит ссылка на записку. Записка защищает от хранения, не от того, кто читает этот чат прямо сейчас.
ПЕРЕД ОТПРАВКОЙ
[ ] секрет не остаётся в переписке
[ ] пароль от файла идёт другим каналом
[ ] ссылка на записку не рядом с паролем
[ ] получатель знает, что открыть можно
один раз
└─ четыре пункта, минута
Чего эти способы не делают
Они не защищают от того, кто уже читает ваш чат или почту в реальном времени: перехватит ссылку, откроет записку первым. От такого спасает только другой канал. Они не проверяют, что получатель тот, за кого себя выдаёт: если вы шлёте пароль мошеннику, зашифрованный пароль дойдёт до мошенника в лучшем виде. И они не имеют отношения к VPN: туннель прячет ваш адрес от сети, а секрет утекает не из сети, а из истории переписки. Что именно скрывает туннель, а что нет, разобрано в статье что такое VPN и как он работает.
Ещё одна вещь из той же серии: пароль, который вы передаёте, сам может быть уже в базах утечек. Проверить это, не отправляя его никуда, можно за секунду, как устроено, в статье проверить пароль на утечку.
Если непонятно, какой способ под вашу задачу, опишите её нейросети.
Помоги выбрать, как передать секрет.
Что передаю: (пароль / код / файл, какого
размера / много файлов).
Кому: (один раз / постоянно тому же человеку).
Получатель сейчас у экрана: (да / нет).
Каким каналом уже общаемся: (мессенджер / почта /
телефон).
Скажи, какой способ подходит, и каким вторым
каналом передать пароль, если он нужен.
Коротко
Секрет в мессенджере или почте остаётся там навсегда. Короткое: записка, которая сгорает после прочтения, ключ в ссылке, у нас его нет. Файл здесь и сейчас: напрямую между браузерами, минуя серверы. Файл на потом: зашифровать паролем и слать чем угодно, а пароль другим каналом. Постоянный обмен: шифрование к адресату без пароля вообще.