LINUX.ORG.RU
ФорумTalks

Криптованная переписка и индексы.

 , , ,


0

1

Предположим я хочу сделать супер-секурный чятик.

Предположим, что в этом чятике человек криптует отправляемые сообщения публичным ключом получателя (для простоты опустим вопрос обмена ключами).

Вопрос 1: как сохраниять собственную историю переписки ибо декриптовать отправленные сообщения уже не выйдет?

Вопрос 2: как искать сообщения на сервере ибо проиндексировать там ничего не выйдет?

Секурный чятик не выглядит как что-то удобное.

★★★★★

как сохраниять собственную историю переписки ибо декриптовать отправленные сообщения уже не выйдет?

шифровать ещё и своим ключом

как искать сообщения на сервере ибо проиндексировать там ничего не выйдет?

никак

Секурный чятик не выглядит как что-то удобное.

догадайся, почему их не используют в быту

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)

Вопрос 2: как искать сообщения на сервере ибо проиндексировать там ничего не выйдет?

А зачем хранить зашифрованную переписку на сервере ? Все равно всё зашифровано и доступны только метаданные

А так чего изобретать велосипед, берешь готовую библиотеку у Сигнала или Матрикса и прикручиваешь к своему чату

linuxoidspb
()
Ответ на: комментарий от linuxoidspb

А зачем хранить зашифрованную переписку на сервере ?

Чтобы не лишиться её при падении клиента в реку. // К.О.

t184256 ★★★★★
()
Ответ на: комментарий от linuxoidspb

берешь готовую библиотеку у Сигнала или Матрикса

А зачем писать что-то поверх библиотек, если есть тот же Jabber+GPG?

i_am_not_ai
()

индексируешь на клиентах, у которых есть доступ к нешифрованным сообщениям и отсылаешь зашифрованный индекс на сервер. клиенты вместе с сообщениями получают куски индекса, собирают у себя в цельный и ищут по нему.
фулл-серверлесс системс :)

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)

Вопрос 1: как сохраниять собственную историю переписки ибо декриптовать отправленные сообщения уже не выйдет?

Шифровать заново и сохранять. Как шифровать, вопрос десятый, но имеющиеся ключи тут ни причём. Тупо как отдельная задача.

Вопрос 2: как искать сообщения на сервере ибо проиндексировать там ничего не выйдет?

Никак. Тут, как всегда компромис, придётся выбирать, или безопасно или всё проиндексировано и ищется на сервере. Одно из двух.

CrX ★★★★★
()

супер-секурный чятик

и

искать сообщения на сервере

взаимоисключающие пункты.

как сохраниять собственную историю переписки

На клиенте на устройстве, секретные чатики не должны шарится между разными устройствами.

vvn_black ★★★★★
()

Хранить историю на клиенте. Можно хранить криптованную историю на сервере, но ключ знает только клиент (он ведь имеет доступ ко всем сообщениям как минимум, чтобы отрисовать историю в окне чата, значит вопрос решаемый). Весь поиск работает локально (это даже хорошо - меньше грузит твои сервера, а для клиента быстрее отклик).

KivApple ★★★★★
()

Использовать симметричное шифрование чатика, ключ от этого шифрования шифровать открытым ключом получателей. Посмотри, как это сделано в ssh, например.

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

Был ещё OTR-плагин для XMPP, там было ещё веселее - восстановить текст можно, но нельзя доказать, кто это писал. Погугли, если интересно.

Aceler ★★★★★
()

Чтобы 2 раза не вставать.

Выбираем файл на дцать МБ, например пакет из любимого дистра, сообщаем это на другую сторону, используем файл как one-time pad. Закончился файл, начинаем его читать со смещением, первый байт становится последним, повторить.

Есть ли какая-то доказанная математика, которая подобные вещи легко вскрывает? Ключи атакующему неизвестны, шифрованный трафик слушать можно.

yu-boot ★★★★★
()
Ответ на: комментарий от DumLemming

И теряется вместе с девайсом?

ya-betmen ★★★★★
() автор топика

Вопрос 2: как искать сообщения на сервере ибо проиндексировать там ничего не выйдет?

А зачем там индексировать? Пусть на «сервере» хранится шифрованный дамп с историей. Кто может загрузит дамп себе и расшифрует. Но это уже конечно не сервер а какой-то кеширующий node P2P-сети.

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 2)
Ответ на: комментарий от yu-boot

вся шифронаука исходит из предположения что алгоритм шифрации известен противнику. ему неизвестен только ключ.
т.е то, что ты повторно используешь one-time pad с каким-то сдвигом тоже. это уже не уан-тайм пад а чтото сильно прощееее

pfg ★★★★★
()

: как сохраниять собственную историю

как собственную историю. шифровать ее или нет это вопрос из другой оперы.

как искать сообщения на сервере

по хэшу

olelookoe ★★★
()

гомоморфное шифрование

foror ★★★★★
()

Шифровать сообщение так, как это делает S/MIME:

  • Генерирует случайный симметричный ключ (например, AES)
  • Шифрует им тело тообщения
  • Для отправителя и каждого получателя отдельно шифрует симметричный ключ его публичным ключом из сертификата
  • Складывает в S/MIME контейнер пары сертификат плюс зашифрованный симметричный ключ и зашифрованное тело сообщения

После этого отправитель и любой получатель сообщения может расшифровать симметричный ключ своим приватным ключом, и расшифровать тело расшифрованным симметричным ключом.

Секурный чатик на базе S/MIME уже написан, называется deltachat.

iliyap ★★★★★
()
Последнее исправление: iliyap (всего исправлений: 1)
Ответ на: комментарий от t184256

Тогда надо озаботиться сохранением ключа на своей флешке/в облаке в зашифрованном виде.

peregrine ★★★★★
()
Ответ на: комментарий от yu-boot

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

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)