Нарушение целостности информации: как общаться в мессенджере и не быть прочитанным третьими лицами

Специальный корреспондент
Собака

Собака

Пресс-служба
Команда форума
Private Club
Регистрация
13/10/15
Сообщения
54.953
Репутация
62.740
Реакции
277.163
RUB
0
Наверное, все мы когда-нибудь слышали дискуссии о том, что наши мессенджеры читают, что WhatsApp набит бэкдорами, а Telegram прогнулся... Я уже не говорю о тех, чьи аккаунты взломали и вытащили самые откровенные переписки. Согласитесь, не очень хочется писать, когда боишься, что прочитает не тот, кто должен был.

Этот пост не о том, кто и как хранит нашу переписку и куда сливает. Здесь я хочу предложить вам идею разрыва целостности информации. Что же это такое?

Предположим, кто-то отжал у Вас телеграм и теперь читает всё подряд, в надежде найти логин и пароль от сервера, который Вы отправили другу неделю назад. Не пройдет и десяти минут, и сервер у Вас тоже отожмут взломают. Но злоумышленник не знал ни логина, ни пароля. А что если отправлять только пароль, а логин прислать где-то еще. Тогда чтобы взломать сервер, надо будет сперва украсть целых два аккаунта.

Это и есть нарушение целостности информации: Вы делите информацию на кусочки и отправляете разными каналами. Так эту информацию сложнее будет собирать.

Сервисы одноразовых записок​

Отправлять информацию разными каналами это, конечно, хорошо, но когда-нибудь к ним ко всем у злоумышленника появится доступ. А у спецслужб он мог быть и раньше. К тому же, собеседнику будет не очень удобно бегать по комнате и ловить ваши сообщения в каждом углу искать данные во всех чатах. Что же делать? Решение есть! В качестве второго канала можно использовать сервис одноразовых записок.

Как это работает?​

Вы заходите на нужный сайт, пишете свой пароль или какие-либо другие данные в поле для ввода и нажимаете "Создать записку". Вам выдают ссылку, которую Вы копируете и вставляете в мессенджер вместе с остальной информацией.

Ссылка на записку
Ссылка на записку

— Почему никто не сможет прочитать записку, кроме собеседника?​

Это одноразовая записка. После того, как Ваш друг прочитает послание оно навсегда удалится с сервера. Поэтому когда кто-то еще найдет у Вас эту ссылку и попытается узнать, что там было, то останется с носом ни с чем. А ежели за вами тотальная слежка и записку прочитает кто-то вперёд Вашего друга, то вы оба об этом узнаете, когда не сможете её открыть, и будете впредь общаться лично.

— А админы сайта не узнают мой пароль?​

Здесь самое интересное. При создании записки Ваш браузер генерирует случайный ключ и шифрует им записку. Зашифрованное содержание летит на сервер и ждёт Вашего друга, а ключ приписывается в конец ссылки как якорь, который никогда не отправляется на сервер ( , раздел 2.4.1). Когда друг открывает записку, он получает с сервера зашифрованное содержание записки, которая сразу же удалится, а его браузер расшифровывает её ключом из ссылки. Бадумс! Остаётся только сохранить себе все данные, а то второй раз записку уже не откроешь.

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

Private-Net.work Notes — что это и чем отличается от других​

— сервис одноразовых записок, созданный мной. Я постарался объединить всё лучшее, что когда-либо видел и что умею сам: минималистичный дизайн и понятный интерфейс сделают сайт удобным в использовании, шифрование AES защитит Вас от утечек, а отсутствие чего-либо лишнего сыграет на благо обоим пунктам. Кстати, насчёт лишнего.

— А пока я пишу записку, не будут ли на неё смотреть скрипты?​

Все необходимые для работы сайта библиотеки и javascript-скрипты хранятся . Не используется ничего, что хранится на других сайтах и CDN, чтобы быть уверенным, что всё, что используется, не собирает данные с нашего сайта, открытые в браузерах наших пользователей. На сайте , ни трекинговых скриптов. Тоже для того, чтобы расшифрованные записки никто не брал.

— Вы ведёте какую-то аналитику? Что собираете?​

Ничего не собираем. Что касается аналитики, то у меня есть : количество созданных записок и количество прочитанных. Всё.

— А Вы можете узнать, что я заходил на сайт? Ведь наверняка в логах есть ip адреса?​

Я стараюсь . Поэтому в своих основных журналах запросов к сайту хранится только часть хеша от ip-адреса, чтобы отличать разных посетителей, при поиске ошибок в работе сайта. Ещё хеш ip-адреса используеся в антиспам-системах для защиты от ботов и злоумышленников. Но пока всё работает как надо, никто и на хеш не смотрит.

— Что известно о записке и её авторе?​

Когда Вы создаёте записку, ни Вы, ни тот, кто её получит, . Из-за того, что велико количество записок, которые никто никогда не читает, пришлось установить период, в течении которого записки в любом случае удаляются. Чтобы нельзя было идентифицировать создателя записки по дате её написания, хранится только дата, к которой она должна быть удалена, предоставляя возможность пользователям самим выбирать, как долго она будет храниться. По умолчанию, записки удаляются через 7 дней.

Сейчас в базе данных каждой записке соответствуют 4 поля: её идентификатор, зашифрованное содержимое, дата, к которой она будет удалена, если её не прочитают до этого и счетчик (также необходимый для расшифровки). Вот так выглядит одна из тестовых записок в базе данных:

id
content
delete_date
counter
hHQ8eny​
4b4fd1a3​
2022-01-23 13:39:22.546147​
114186091782275​

Форматирование​

На своем сайте я сделал возможность . Так что если Вы кому-то отправите инструкцию к чему-то, не забудьте сделать это красиво)

Заключение​

Я надеюсь, что некоторым из вас удалось открыть для себя что-то новое, а те, кто и раньше был в теме, скажут в комментариях пару-тройку слов о моем сайте. Я точно не считаю себя профи в кибербезопасности и потому рассчитываю на конструктивную критику. Спасибо, что уделили время на чтение моего первого поста!









 
Сверху Снизу